Hi Marcus,
willkommen in Excel VBA. =)
Zu deinem Anliegen:
Dim wks As Excel.Worksheet
Dim r1 As Excel.Range
Dim r2 As Excel.Range
Set wks = ThisWorkbook.Worksheets(1)
'so kann man es angehen (Spalte B und D)
Set r1 = wks.Range("B:B,D:D") 'natürlich ist auch sowas möglich >> B:Z ... Spalte B bis Z
'das gleiche macht ebenso folgende Zeile (Spalte B und D)
Set r2 = Union(wks.Range("B:B"), wks.Range("D:D"))
'bzw. auch so
Set r2 = Union(wks.Columns("B"), wks.Columns("D"))
'das hier geht leider nicht (Laufzeitfehler!)
Set r2 = wks.Columns("B,D")
Wenn du daraus nur bestimmte Zeilen haben möchtest, kann man dies in Verbindung mit Intersect erreichen.
Dim wks As Excel.Worksheet
Dim r1 As Excel.Range
Set wks = ThisWorkbook.Worksheets(1)
Set r1 = wks.Range("B:B,D:D")
Set r1 = Intersect(r1, wks.Range("1:10")) 'ergibt die Bereiche B1:B10 und D1:D10
Damit dürfte nun klar sein, das Excel-VBA leider nicht die "Einfachheit" von Matlab besitzt, aber man kann sich vieles davon auch selbst "zurechtbasteln" (z.B. in Hilfsfunktionen, wenn man so möchte).
Gruß
|