Microsoft Excel

Herbers Excel/VBA-Archiv

Kein Worksheet.Range() möglich....


Betrifft: Kein Worksheet.Range() möglich.... von: JoNNy
Geschrieben am: 01.08.2018 15:15:45

Methode Range fpr das Objekt Worksheet ist fehlgeschlagen

Diese Meldung bekomme ich wenn ich auf eine Range in einem eigens definierten Worksheet zugreifen möchte in etwa so:

Set Artikelstamm = ThisWorkbook
Set WSArtikelstamm = Artikelstamm.Worksheets(1)

SpaltenStamm = Array(10, 15)
SpaltenVorrat = Array(1, 5)



For Each ZellenStamm In WSArtikelstamm.Range(Cells(2, SpaltenStamm(n)), Cells(LetzteZeile,  _
SpaltenStamm(n))).SpecialCells(xlCellTypeConstants)

hoffe das ist irgendwie möglich.

Gruß JoNNy

  

Betrifft: Fehler behoben von: JoNNy
Geschrieben am: 01.08.2018 15:40:47

Problem war das nicht definiert war in Welchem Blatt der "Cells" Zugriff stattfinden soll.
Lösung:

For Each ZellenStamm In WSArtikelstamm.Range(WSArtikelstamm.Cells(2, SpaltenStamm(n)), WSArtikelstamm.Cells(LetzteZeile, SpaltenStamm(n))).SpecialCells(xlCellTypeConstants)



  

Betrifft: AW: Kein Worksheet.Range() möglich.... von: Nepumuk
Geschrieben am: 01.08.2018 15:47:11

Hallo JoNNy,

im Prinzip so:

Public Sub Test()
    Dim Artikelstamm As Workbook, WSArtikelstamm As Worksheet
    Dim n As Long, LetzteZeile As Long
    Dim SpaltenStamm As Variant, SpaltenVorrat As Variant
    Dim ZellenStamm As Range
    
    Set Artikelstamm = ThisWorkbook
    Set WSArtikelstamm = Artikelstamm.Worksheets(1)
    
    SpaltenStamm = Array(10, 15)
    SpaltenVorrat = Array(1, 5)
    
    With WSArtikelstamm
        LetzteZeile=???????????????
        For n = 0 To 1
            For Each ZellenStamm In .Range(.Cells(2, SpaltenStamm(n)), .Cells(LetzteZeile, _
                    SpaltenStamm(n))).SpecialCells(xlCellTypeConstants)
                
            Next
        Next
    End With
End Sub

Gruß
Nepumuk


  

Betrifft: AW: Kein Worksheet.Range() möglich.... von: JoNNy
Geschrieben am: 01.08.2018 16:37:52

Hi Nepumuk,

danke ich hatte auch schon über ein With nachgedacht aber da hätte ich quasi zwei ineinander schachteln müssen da sich die nächste Zeile dann schon wieder auf das andere Blatt bezieht.
Trotzdem danke.

Gruß JoNNy