Just nu i M3-nätverket
Gå till innehåll
Tommy H

Fel typning av WS i Excel VBA?

Rekommendera Poster

Tommy H

Hej!

Jag får inte rätt ws av någon anledning som jag inte ser.

Anta att jag står i en och samma wb men på ett annat blad än ws1 eller ws2.

jag får inte koden att hamna på rätt blad.

Vad gör jag för fel?

    Dim Ws1, Ws2 As Worksheet
    Set Ws1 = Worksheets("SUMMERING")
    Set Ws2 = Worksheets("LAGERUTT STD")
    With Ws1
        Range("A10:A100") = ""
        Range("C4:F5") = ""
        Range("C6:E6") = ""
        Range("G6") = ""
        Range("G7") = ""
        Columns("H:H").ColumnWidth = 15
        PageSetup.PrintArea = "$A$1:$H$100"
    End With
    
    Ws2.Range("C3").Select

Här på sista raden så vill jag hamna vid körd kod, men det blir inte så!

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Mikael63

Åter ett svar från en som inte behärskar VBA:

Kan det vara mellanslaget LAGERUTT STD som ogillas?

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Mr Andersson
38 minuter sedan, skrev Tommy H:

Hej!

Jag får inte rätt ws av någon anledning som jag inte ser.

Anta att jag står i en och samma wb men på ett annat blad än ws1 eller ws2.

jag får inte koden att hamna på rätt blad.

Vad gör jag för fel?

    Dim Ws1, Ws2 As Worksheet
    Set Ws1 = Worksheets("SUMMERING")
    Set Ws2 = Worksheets("LAGERUTT STD")
    With Ws1
        Range("A10:A100") = ""
        Range("C4:F5") = ""
        Range("C6:E6") = ""
        Range("G6") = ""
        Range("G7") = ""
        Columns("H:H").ColumnWidth = 15
        PageSetup.PrintArea = "$A$1:$H$100"
    End With
    
    Ws2.Range("C3").Select

Här på sista raden så vill jag hamna vid körd kod, men det blir inte så!

Inne i en WITH-sats ska raderna börja med . (punkt), alltså .range("A10:A100") annars refererar range() till det aktuella bladet.

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Tommy H

Hmmm....

Jo, det förklarar ju inne i With-satsen, men lika förbaskat så ska jag ju hamna i cell C3 på LAGERUTT STD bladet då koden har snurrat genom!

Det känns inte som om raderna

    Set Ws1 = Worksheets("SUMMERING")
    Set Ws2 = Worksheets("LAGERUTT STD")

typas rätt utan dom ignoreras...

Har jag kommit åt någon inställning?

Har jag problem med att det finns flera olika makron i modulen som även dom innehåller ws1 & ws2?

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Automan
10 timmar sedan, skrev Tommy H:

Ws2.Range("C3").Select

Här på sista raden så vill jag hamna vid körd kod, men det blir inte så!

Har inget bra svar på varför det inte fungerar för dig, men du kan testa följande.

Spela in ett makro där du markerar ett område i bladet SUMMERING. Därefter byter du till bladet LAGERUTT STD där du sedan klickar i cellen C3.

 

Stoppa därefter inspelningen av makrot och kolla hur koden ser ut som genererats. Kanske går det att se något i den genererade koden som du kan applicera på din egen kod för att få cell C3 bli markerad i bladet LAGERUTT STD då du kör din egen kod.

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Automan

Hej!

Prova med följande kod

Dim Ws1, Ws2 As Worksheet
Set Ws1 = Worksheets("SUMMERING")
Set Ws2 = Worksheets("LAGERUTT STD")
With Ws1
	.Range("A10:A100") = ""
	.Range("C4:F5") = ""
	.Range("C6:E6") = ""
	.Range("G6") = ""
	.Range("G7") = ""
	.Columns("H:H").ColumnWidth = 15
	.PageSetup.PrintArea = "$A$1:$H$100"
End With

Ws2.Select
Range("C3").Select

Vet inte exakta orsaken, men kör jag din kod får jag felmeddelande på din rad med Ws2.Range("C3").Select

Bryter jag upp det i 2 rader fungerar det då jag testkör koden i Excel.

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Tommy H

Hmmm...

Ok, men det är väl lite konstigt!

Jag blir lite konfunderad dock när jag stegar koden, så kan man ju se med muspekaren vilka värden som kommer i koden, men det dyker inte upp några för Ws1 & Ws2.

Det kanske inte fungerar på den typen av variabler...

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...