Herbers Excel-Forum - das Archiv
Befehl
- Befehl von Frank vom 30.11.2003 21:00:24
Betrifft: Befehl
von: Frank
Geschrieben am: 30.11.2003 21:00:24
Wie ist der Befehl WENN Inhalt Zelle(1,i) DANN Kopiere Zeile i
Nach Endtabelle.xls (is andere Datei)
wie macht man das
gruß
frank
Betrifft: AW: Befehl
von: PeterW
Geschrieben am: 30.11.2003 21:29:46
Hallo Frank,
das läßt sich mit einem Befehl nicht machen. Möglich wäre das mit VBA, dann müsste man allerdings wissen, ob die Zieldatei geöffnet ist, um welches Blatt in der Quelldatei es sich handelt, ob du vielleicht Zelle(i,1) meinst....
Gruß
Peter
Betrifft: AW: Befehl
von: Frank
Geschrieben am: 30.11.2003 23:20:02
Jo ich meinte das eigentlich mit vba,
die Zieldatei ist nicht geöffnet,
das Blatt der Quelldatei heißt "Sheet1"
nein mit zelle (1,i) meinte ich das ein index dann runter zählt und so alle zellen von Spalte A überprüft (den inhalt) bis ... was weiß ich .. 1000 vielleicht
könnte man da machen
Betrifft: AW: Befehl
von: GerdW
Geschrieben am: 30.11.2003 23:45:47
In eine geschlossene Datei kannst du nichts kopieren.
Gerd
Betrifft: AW: Befehl
von: Frank
Geschrieben am: 30.11.2003 23:49:20
Hmm ... dann öffnen wir sie einfach .. würde es dann gehen ??
bzw wie wäre der code
Betrifft: AW: Befehl
von: PeterW
Geschrieben am: 01.12.2003 17:43:23
Hallo Frank,
wenn beide Dateien offen sind probier das mal so (die Namen der MAppen und Blätter musst du natürlich anpassen):
Sub kopieren()
Dim wksQ As Worksheet
Dim wksZ As Worksheet
Dim lgRow As Long
Dim lgRowZiel As Long
Set wksQ = Workbooks("Quelldatei").Sheets("Sheet1")
Set wksZ = Workbooks("Zieldatei").Sheets("SheetName")
lgRowZiel = wksZ.Cells("A65536").End(xlUp).Row
For lgRow = 1 To wksQ.Range("A65536").End(xlUp).Row
If Not IsEmpty(wksQ.Cells(lgRow, 1)) Then
lgRowZiel = lgRowZiel + 1
wksZ.Cells(lgRowZiel, 1) = wksQ.Cells(lgRow, 1)
End If
Next
End Sub
Gruß
Peter