Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
616to620
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
616to620
616to620
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeile in andere Datei verschieben

Zeile in andere Datei verschieben
02.06.2005 13:00:41
Alex
Hallo liebes Forum,
ich weiss das dies sicher schon tausendmal im Forum geklaert wurde. Aber so richtig gefunden habe ich trotz stundenlangen suchens nicht, was mir wirklich weiterhilft.
Ich habe eine Datei A,
Im Tabellenblatt1 (viele Zeilen) steht in Spalte P entweder Delete oder Not delete,
ich moechte nun die komplette Zeile ausschneiden (wenn delete da steht) und in einer Datei B in Tabellenblatt 5 wieder einfuegen.
Das ganze geschieht jedesmal wenn ein User auf den Refresh Button drueckt. Bisher wurden die Zeilen komplett geloescht. Ich moechte sie aber jetzt verschieben, da ich die Daten in Zukunft auswerten will. Der Refresh Button wird einmal taeglich gedrueckt, also muss beim einfuegen in Datei B darauf geachtet werden, dass nichts ueberschrieben wird und immer ans Ende angefuegt wird.
Vielen Dank fuer Hilfe
Alex

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile in andere Datei verschieben
02.06.2005 13:22:48
u_
Hallo,

Sub verschieben()
Dim wbkA As Workbook, wbkB As Workbook, i As Long, wshB As Worksheet
Set wbkA = ThisWorkbook
On Error Resume Next
Set wbkB = Workbooks("B.xls") 'anpassen
On Error GoTo 0
If wbkB Is Nothing Then ' B ist nicht geöffnet
Set wbkB = Workbooks.Open("c:\temp\b.xls")  'anpassen
End If
Set wshB = wbkB.Sheets(5)
With wbkA.Sheets(1) 'anpassen
For i = .Range("P65536").End(xlUp).Row To 2 Step -1
If .Cells(i, 16) = "delete" Then
.Rows(i).Copy wshB.Range("A65536").End(xlUp).Offset(1, 0)
.Rows(i).EntireRow.Delete
End If
Next i
End With
wbkB.Close True
End Sub
Gruß
Geist ist geil!
Anzeige
AW: Zeile in andere Datei verschieben
02.06.2005 15:42:41
Alexander
Hallo Geist ist Geil,
davon brauch ich noch etwas mehr besonders was VBA angeht ;-) Also es funktioniert, allerdings habe ich jetzt das naechste voellig unerwartete Problem. Die Tablle die ich auslesesteckt voller Formeln und IF Bedingungen. Wie schaffe ich es das er nur die Werte uebernimmt anstatt der Formeln?
Vielen Dank fuer deine Hilfe, du hast meinen Tag wenigstens noch etwas gerettet.
Alex
der aktuelle Code. Ehrlich gesagt verstehe ich nicht warum das funktioniert, weil wir ja in der Schleife ueberall mit einem Punkt starten. Ich dachte bis jetzt da muss immer was davor.
Dim wbkA As Workbook, wbkB As Workbook, i As Long, wshB As Worksheet
Set wbkA = ThisWorkbook
On Error Resume Next
Set wbkB = Workbooks("p:\temp\alexander\Sales Status List.xls") 'anpassen
On Error GoTo 0
If wbkB Is Nothing Then ' B ist nicht geöffnet
Set wbkB = Workbooks.Open("p:\temp\alexander\Sales Status List.xls") 'anpassen
End If
Set wshB = wbkB.Sheets(5)
With wbkA.Sheets(1) 'anpassen
For i = .Range("P65536").End(xlUp).Row To 2 Step -1
If .Cells(i, 16) = "DELETE" Then
.Rows(i).Copy wshB.Range("A65536").End(xlUp).Offset(1, 0)
.Rows(i).EntireRow.Delete
End If
Next i
End With
wbkB.Close True
Anzeige
AW: Zeile in andere Datei verschieben
02.06.2005 16:13:45
u_
Hallo,
gut, dann so:
If .Cells(i, 16) = "DELETE" Then
.Rows(i).Copy
wshB.Range("A65536").End(xlUp).Offset(1, 0).pastespecial paste:=xlvalues
.Rows(i).EntireRow.Delete
End If
Es steht doch was davor. Nämlich With wbkA.Sheets(1). Dann wird quasi automatisch .Range(...) zu wbkA.Sheets(1).Range(...)
Gruß
Geist ist geil!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige