Verschachtelter With-Block
02.11.2004 23:03:13
Fritz
Da ich das Selektieren noch immer nicht so richtig lassen kann, mache ich gerade ein paar Trockenübungen im Referenzieren. Zu diesem Behufe habe ich das nachfolgende Übungsmakro geschrieben, was funzt. Ich würde gern wissen, ob ich in den With-Block einen zweiten verschachteln kann, damit ich mir die Variable "Suchzeile" sparen kann, bzw. ob man das nicht eleganter lösen kann. Ich habe nämlich gemerkt, dass ein Projekt von mir zuhause zwar in ausreichender Geschwindigkeit läuft, aber man beim Speichern über unsere langsamen Datenleitungen im Büro fast einpennt (für 1,39 MB ca. 1:43 Min). Deshalb will ich versuchen, sparsamer mit Code umzugehen.
Hier derÜbungscode.
Sub Suchen()
'''Ohne das Tabellenblatt 2 zu aktivieren oder den Suchbereich zu selektieren.
Dim Blatt1 As Worksheet, Blatt2 As Worksheet
Dim Suchbegriff As Range, Suchzeile As Range, Suchbereich As Range
Dim Gefunden As Boolean
Set Blatt1 = Sheets("Tabelle1")
Set Blatt2 = Sheets("Tabelle2")
Set Suchbegriff = Blatt1.Range("A1")
Set Suchbereich = Blatt2.Range("A2:A200")
For Each Suchzeile In Suchbereich
If Suchbegriff = Suchzeile Then
Gefunden = True
End If
Exit For
Next Suchzeile
If Gefunden = True Then
With Suchbegriff
.Offset(0, 1) = Suchzeile.Offset(0, 0)
.Offset(1, 1) = Suchzeile.Offset(0, 3)
.Offset(2, 1) = Suchzeile.Offset(0, 4)
.Offset(3, 1) = CDate(Suchzeile.Offset(0, 6))
End With
'If Gefunden = True Then MsgBox Gefunden
End If
End Sub
Danke mal wieder für Euren Nachhilfeunterricht.
Grüße, Fritz