Herbers Excel-Forum - das Archiv

Range auswählen??

Bild

Betrifft: Range auswählen??
von: Erich M.
Geschrieben am: 04.10.2003 08:36:05
Hallo zusammen,

ich habe mit dem Makrorecorder einen Code erstellt,
der auch funktioniert:

Sub Makro2()
' Makro2 Makro
' Makro am 04.10.2003 von Me aufgezeichnet
Workbooks.Open Filename:="D:\EXCEL-Makros\test.xls"
Sheets("Filialen").Select
Range("A1:G18").Select
Selection.Copy
Windows("Datenimport.xls").Activate
Range("A1").Select
ActiveSheet.Paste
Range("B1").Select
Windows("test.xls").Activate
Range("A1").Select
Application.CutCopyMode = False
ActiveWorkbook.Close
ActiveWorkbook.Save
End Sub


Nun müsste ich folgendes erreichen:
1. Die Range "A1:G18" soll variabel sein
2. Beginn der Kopie in der Zelle der Spalte A, in der "Test" steht
(das ist entweder A1, A2 oder A3)
3. In der Spalte G soll die letzte belegte Zelle gesucht werden.

Beispiel: Test in A2, letzte Zelle g = G225
dann Range: A2:G225

Besten Dank für eine Hilfe!

mfg
Erich
Bild

Betrifft: AW: Range auswählen??
von: Christoph
Geschrieben am: 04.10.2003 09:08:54
Hi Erich,
so etwa?

Sub Test()
LRowA = Cells(Rows.Count, 1).End(xlUp).Row
LRowG = Cells(Rows.Count, 7).End(xlUp).Row
For i = 1 To LRowA
If Cells(i, 1).Value = "Test" Then
rgAnf = Cells(i, 1)
Exit For
End If
Next i
Range(Cells(i, 1), Cells(LRowG, 7)).Copy
'....wohin auch immer
End Sub


Gruß
Christoph
Bild

Betrifft: DANKE - Christoph: funktioniert perfekt!! o.T.
von: Erich M.
Geschrieben am: 04.10.2003 10:20:22
.
Bild

Betrifft: Danke für die Rückmeldung
von: Christoph
Geschrieben am: 04.10.2003 10:45:33
Hi Erich,
die Zeile: rgAnf = Cells(i,1) kannst du löschen...da hatte ich zunächst eine andere Idee, und nachher nicht bereinigt.
Ebenso kannst du auf 95% deiner Select-Anweisungen verzichten. Das macht nur alles langsamer. Bsp: statt
Range(...).Select
Selection.Copy
gleich:
Range(...).Copy
Der Makrorecorder nimmt eben jedes Select auf, was soll er auch sonst machen.

Gruß
Christoph
 Bild