Kann "Range" auch anderes Tabellenblatt zugreifen?

20/02/2016 - 09:26 von Bernd | Report spam
Ich lasse auf meinem Blatt in ausgewàhlten Zellen 10 Minuten abziehen.

'Zeitabzug um 10 Minuten
Dim myRng As Range, rngC As Range

Set myRng = Range("A71,C72,usw.")
For Each rngC In myRng
rngC = rngC - TimeSerial(0, 10, 0)
Next

Wenn ich in die Zeile <Set myRng> eine Zelle in der gleichen Mappe, aber auf einem anderen Tabellenblatt einfüge, (Blatt2!A4) klappt das nicht, z.B.:

Set myRng = Range("A71,C72,Blatt2!A4")

Geht Range nur auf dem aktuellen Blatt?

Vielen Dank im Voraus
 

Lesen sie die antworten

#1 Claus Busch
20/02/2016 - 09:47 | Warnen spam
Hallo Bernd,

Am Sat, 20 Feb 2016 00:26:23 -0800 (PST) schrieb Bernd:

Ich lasse auf meinem Blatt in ausgewàhlten Zellen 10 Minuten abziehen.

'Zeitabzug um 10 Minuten
Dim myRng As Range, rngC As Range

Set myRng = Range("A71,C72,usw.")
For Each rngC In myRng
rngC = rngC - TimeSerial(0, 10, 0)
Next

Wenn ich in die Zeile <Set myRng> eine Zelle in der gleichen Mappe, aber auf einem anderen Tabellenblatt einfüge, (Blatt2!A4) klappt das nicht, z.B.:

Set myRng = Range("A71,C72,Blatt2!A4")

Geht Range nur auf dem aktuellen Blatt?



Range geht auch auf einem anderen Blatt. Aber erstens ist deine
Schreibweise falsch, denn du benutzt die Blattschreibweise. In VBA
müsstest du Sheets("Blatt2").Range("A4") benutzen.
Aber es können auch nicht Ranges aus mehreren Blàttern zu einer Einheit
zusammengefasst werden.
Probiere es also mit einer Schleife über die Blàtter und darin die
Schleife über die Ranges:

Sub Test()
Dim r1 As Range, r2 As Range, rngC As Range
Dim varRng As Variant
Dim i As Long

Set r1 = Sheets("Tabelle1").Range("A71,C72")
Set r2 = Sheets("Tabelle2").Range("A4")
varRng = Array(r1, r2)

For i = LBound(varRng) To UBound(varRng)
For Each rngC In varRng(i)
rngC = rngC - TimeSerial(0, 10, 0)
Next
Next
End Sub



Mit freundlichen Grüßen
Claus
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional

Ähnliche fragen