Ich versuche, eine kleine Matrix von Daten aus einer Arbeitsmappe zu erhalten und sie in ThisWorkbook einzufügen, indem ich Offset von einer Zellreferenz verwende. Die Zellenreferenz ändert sich jedoch, wenn ich einen Bereich durchsuche, der nach Werten sucht. Die Variable, die ich 'WhereCell' genannt habe, enthält die Adresse des aktuell gehaltenen Wertes, und ich möchte von dem, was in WhereCell gehalten wird, abweichen. Es funktioniert, wenn ich eine Zellreferenz hart Code, zB Range ("A1"), aber mit dem Code wie es ist, bekomme ich eine 1004: Methode 'Bereich' des Objekts '_Global' fehlgeschlagen.VBA versucht, range.offset mit einer in einer benannten Variablen gehaltenen Zelladresse zu verwenden
Wie kann ich es in Offset von "WhereCell" ändern?
Sub GetFlows()
Dim rng As Range
Dim row As Range
Dim cell As Range
Dim dem1 As String
Dim WhereCell As Range
Dim valueRng As Range
Dim x As Long
Dim y As Long
Set rng = Range("A9:A200")
For x = 1 To rng.Rows.Count
dem1 = rng.Cells(x).Value
If dem1 <> "" Then
Set WhereCell = ThisWorkbook.ActiveSheet.Range("A9:A200").Find(dem1, lookat:=xlPart)
Windows("GetFilenames v2.xlsm").Activate
Worksheets(dem1).Range("A1").CurrentRegion.Copy
ThisWorkbook.ActiveSheet.Range(Range(WhereCell), Range(WhereCell).Offset(, 2)).PasteSpecial Paste:=xlPasteValues
'MsgBox dem1
'If Not WhereCell Is Nothing Then
'MsgBox WhereCell.Address
'End If
Else
ThisWorkbook.Activate
End If
Next x
End Sub
Whocell ist ein Bereich, den Sie bereits nicht in 'Range() umschließen' Siehe meine Antwort hier für weitere Erklärungen: https://stackoverflow.com/questions/46302871/relationship-between-cell-and-range -in-vba-with-activecell/46303014 # 46303014 –