Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1260to1264
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
Inhaltsverzeichnis

VBA Hilfe für Anfänger

VBA Hilfe für Anfänger
Micha
Hallo liebe Spezis,
ich habe hier im Forum den unten stehenden Code gefunden der ausgewählte Daten aus dem Tabellenblatt 1 in das Tabellenblatt 2 schreibt.
Das funktioniert soweit prima. Ich möchte allerdings dass die Daten in eine Externe Datei geschrieben werden. Speicherort der Externen Date wäre z.B. C:/ Anwender/Datenbank.xls
Kann mir jemand helfen? Wie sieht dann der korrekte Code aus?
Danke
Micha
Sub transfer()
Dim lgLast As Long
'erste freie Zeile finden
lgLast = Sheets(2).Range("A65536").End(xlUp).Row + 1
'Tabelle2 Zelle(Zeile, Spalte)=Tabelle1 Zelle Zeile, Spalte)
Sheets(2).Cells(lgLast, 1) = Sheets(1).Cells(5, 3)
Sheets(2).Cells(lgLast, 2) = Sheets(1).Cells(1, 1)
Sheets(2).Cells(lgLast, 3) = Sheets(1).Cells(1, 2)
End Sub

AW: VBA Hilfe für Anfänger
24.04.2012 10:30:17
Dieter
Hallo Micha,
wenn ich dein Problem richtig verstanden habe, dann kannst du das mit dem folgenden Code machen:
Sub transfer()
Dim lgLast As Long
Dim wbQ As Workbook  ' Quellmappe
Dim wbZ As Workbook  ' Zielmappe
Dim wsQ As Worksheet ' Quellblatt
Dim wsZ As Worksheet ' Zielblatt
Set wbQ = ThisWorkbook
Set wsQ = wbQ.Worksheets(1)
Set wbZ = Workbooks.Open(Filename:="C:\Anwender\Datenbank.xls")
Set wsZ = wbZ.Worksheets(2)
'erste freie Zeile im Zielblatt finden
lgLast = wsZ.Cells(wsZ.Rows.Count, "A").End(xlUp).Row + 1
'Tabelle2 Zelle(Zeile, Spalte)=Tabelle1 Zelle Zeile, Spalte)
wsZ.Cells(lgLast, 1) = wsQ.Cells(5, 3)
wsZ.Cells(lgLast, 2) = wsQ.Cells(1, 1)
wsZ.Cells(lgLast, 3) = wsQ.Cells(1, 2)
wbZ.Save
wbZ.Close
End Sub
Viele Grüße
Dieter
Anzeige
AW: VBA Hilfe für Anfänger
24.04.2012 10:53:25
Micha
JA SUPER DIETER!!!!
Genau so habe ich mir das vorgestellt.
Du hast mir den Tag gerettet :-)
Vielen lieben Dank dafür!
Gruß
Micha
AW: VBA Hilfe für Anfänger (noch eine Frage)
25.04.2012 12:29:03
Micha
Hallo, ich habe da doch noch eine Frage, oder Bitte:
Das Makro funktioniert Prima, allerdings nur wenn sich das Makro auch in der Quellmappe befindet.
Da es aber viele Quelldateien gibt, habe ich das Makro in der personl.xls abgespeichert.
Beim Ausführen des Makro wird nun nicht die "aktive Datei" als Quelldatei, sondern die personl.xls als Quelldatei verwendet.
Hoffentlich könnt Ihr mir noch einmal helfen?
Danke
Micha
Anzeige
AW: VBA Hilfe für Anfänger (noch eine Frage)
25.04.2012 12:49:04
Dieter
Hallo Micha.
das könnte z.B. so aussehen:
Sub Transfer()
Dim lgLast As Long
Dim wbZ As Workbook  ' Zielmappe
Dim wsQ As Worksheet ' Quellblatt
Dim wsZ As Worksheet ' Zielblatt
Set wsQ = ActiveSheet
Set wbZ = Workbooks.Open(Filename:="C:\Herber\Datenbank.xls")
Set wsZ = wbZ.Worksheets(2)
'erste freie Zeile im Zielblatt finden
lgLast = wsZ.Cells(wsZ.Rows.Count, "A").End(xlUp).Row + 1
'Tabelle2 Zelle(Zeile, Spalte)=Tabelle1 Zelle Zeile, Spalte)
wsZ.Cells(lgLast, 1) = wsQ.Cells(5, 3)
wsZ.Cells(lgLast, 2) = wsQ.Cells(1, 1)
wsZ.Cells(lgLast, 3) = wsQ.Cells(1, 2)
wbZ.Save
wbZ.Close
End Sub
Viele Grüße
Dieter
Anzeige
AW: VBA Hilfe für Anfänger (noch eine Frage)
25.04.2012 12:58:30
Micha
Hi Dieter.
PERFEKT, du bist genial :-)
1000 Dank für die super schnelle Hilfe.
Danke
Micha
AW: VBA Hilfe für Anfänger (noch eine Frage)
25.04.2012 16:18:11
Micha
Hallo Dieter,
ich traue mich gar nicht zu fragen, aber ich habe da noch eine weitere Bitte.
In der Quelldatei sollen zusätzlich auch aus dem 4. Tabellenblatt die Inhalte aus der Zelle B1 in die Datenbank geschrieben werden.
Ich bastel schon ewig an dem Code herum, bekomme das aber leider nicht hin :-(
LG
Micha
AW: VBA Hilfe für Anfänger (noch eine Frage)
25.04.2012 22:19:59
Dieter
Hallo Micha,
das könnte so aussehen:
Sub Transfer()
Dim lgLast As Long
Dim wbZ As Workbook  ' Zielmappe
Dim wsQ As Worksheet ' Quellblatt
Dim wsZ As Worksheet ' Zielblatt
Set wsQ = ActiveSheet
Set wbZ = Workbooks.Open(Filename:="C:\Herber\Datenbank.xls")
Set wsZ = wbZ.Worksheets(2)
'erste freie Zeile im Zielblatt finden
lgLast = wsZ.Cells(wsZ.Rows.Count, "A").End(xlUp).Row + 1
'Tabelle2 Zelle(Zeile, Spalte)=Tabelle1 Zelle Zeile, Spalte)
wsZ.Cells(lgLast, 1) = wsQ.Cells(5, 3)
wsZ.Cells(lgLast, 2) = wsQ.Cells(1, 1)
wsZ.Cells(lgLast, 3) = wsQ.Cells(1, 2)
Set wsQ = wsQ.Parent.Worksheets(4)
wsZ.Cells(lgLast, 4) = wsQ.Range("B1")
wbZ.Save
wbZ.Close
End Sub
Die Zielposition für den Inhalt von B1 musst du ggf. noch festlegen. Ich habe es jetzt in Spalte D geschrieben.
Viele Grüße
Dieter
Anzeige
AW: VBA Hilfe für Anfänger (noch eine Frage)
26.04.2012 09:52:12
Micha
Tja Dieter, wass soll ich sagen?
Natürlich wieder eine Punktlandung von Dir :-)
1.000 Dank und Gruß
Micha

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige