Supportnet / Forum / Tabellenkalkulation
Excel Worksheet - Daten importieren
Frage
Hallo,
habe folgendes Problem: muss in ein Worksheet (Abrechnung) Daten aus einem anderen Worksheet (Anmeldung)importieren. Diese Daten sind im Worksheet (Anmeldung) immer an der gleichen Stelle, z.B. D17, D19, D34, E34, C46, C47 und sollen in das Worksheet (Abrechnung) in die Zellen A, G, C, D, H eingefuegt werden, aber immer in die naechste freie Zeile.
Kann mir jemand mit einem Makro helfen?
Vielen Dank im Voraus.
Antwort 1 von coros
Hi wasinet,
welcher Zellinhalt soll in welche Zelle im Blatt "Abrechnung" kopiert werden. Das geht aus Deiner Frage nicht hervor. Du hast 6 Zellen, die aber in 5 Spalten kopiert werden sollen. Meines Erachtens fehlt da eine Spalte.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
welcher Zellinhalt soll in welche Zelle im Blatt "Abrechnung" kopiert werden. Das geht aus Deiner Frage nicht hervor. Du hast 6 Zellen, die aber in 5 Spalten kopiert werden sollen. Meines Erachtens fehlt da eine Spalte.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von wasinet
Hi, coros,
der zelleninhalt von D17, D19, D34, E34+F34 (eine zellenuebergreifende zahl), C46 und C47 soll in die spalten der jeweils naechsten freien zeile von A, G, C, D, H und H der darunterliegenden zeile kopiert werden.
sorry ist ein wenig kompliziert zu erklaeren! hoffentlich ist das einigermassen verstaendlich.
mfg,
wasinet
der zelleninhalt von D17, D19, D34, E34+F34 (eine zellenuebergreifende zahl), C46 und C47 soll in die spalten der jeweils naechsten freien zeile von A, G, C, D, H und H der darunterliegenden zeile kopiert werden.
sorry ist ein wenig kompliziert zu erklaeren! hoffentlich ist das einigermassen verstaendlich.
mfg,
wasinet
Antwort 3 von coros
Hi wasinet,
nee, ist es nicht. Nun sind es auf einmal 7 Zellen, die in 6 Spalten kopiert werden sollen. Schreib doch einfach mal, die Zelle D17 soll in Spalte xx, die Zelle D19 soll in Spalte yy usw.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
nee, ist es nicht. Nun sind es auf einmal 7 Zellen, die in 6 Spalten kopiert werden sollen. Schreib doch einfach mal, die Zelle D17 soll in Spalte xx, die Zelle D19 soll in Spalte yy usw.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 4 von wasinet
ok coros,
also
zelle D17 aus worksheet anmeldung soll in zelle Axx in worksheet abrechnung
zelle D19 aus worksheet anmeldung soll in zelle Gxx in worksheet abrechnung
zelle D34 aus worksheet anmeldung soll in zelle Cxx in worksheet abrechnung
zelle E34 aus worksheet anmeldung soll in zelle Dxx in worksheet abrechnung
zelle C46 aus worksheet anmeldung soll in zelle Hxx in worksheet abrechnung
das "xx" bedeutet, die naechste freie zeile im worksheet abrechnung.
danke
also
zelle D17 aus worksheet anmeldung soll in zelle Axx in worksheet abrechnung
zelle D19 aus worksheet anmeldung soll in zelle Gxx in worksheet abrechnung
zelle D34 aus worksheet anmeldung soll in zelle Cxx in worksheet abrechnung
zelle E34 aus worksheet anmeldung soll in zelle Dxx in worksheet abrechnung
zelle C46 aus worksheet anmeldung soll in zelle Hxx in worksheet abrechnung
das "xx" bedeutet, die naechste freie zeile im worksheet abrechnung.
danke
Antwort 5 von coros
Hi wasinet,
na bitte, damit kann man doch schon was anfangen. Nachfolgenden Code koiere in ein Standardmodul.
Der Code kopiert aus den einzellnen Zellen die Inhalte und fügt die Werte (ohne Formate) in das 2. Blatt in die erste freie Zeile ein.
Da ich nicht weiß, ob Du Dich mit VBA (Visual Basic) auskennst, kommt hier eine kurze Anweisung, wie Du den Code in Deine Tabelle bekommst.
1. Markiere die Anweisung aus diesem Beitrag und Kopiere (Strg c) diesen.
2. Klicke in Deiner Exceldatei in der Menüleiste nacheinander auf Extras => Makro => Visual Basic Editor oder drücke die Tastenkombination Alt F11
3. In dem neu geöffneten Fenster suche auf der linken Seite nach dem Eintrag VBA Projekt(Hier der Name Deiner Tabelle) und klicke doppelt auf diesen Eintrag
4. Klicke danach nacheinander in der Menüleiste auf Einfügen => Modul.
5. Füge nun die vorher kopierte Anweisung in das rechte leere Fenster ein.
Damit das Makro ausgeführt werden kann, muss es durch eine Schaltfläche aufgerufen werden. Da ich nicht weiß, ob Du weißt, wie man eine Befehlsschaltfläche in ein Tabellenblatt einfügst, kommt hier eine kurze Anweisung.
1. Gehe in der Menüleiste auf Ansicht => Symbolleiste => Steuerelement-Toolbox
2. Klicke auf die 6.Schaltfläche von links (Schaltflächenkommentar: Befehlsschaltfläche)
3. Positioniere die Schaltfläche in Deinem Tabellenblatt und passe gegebenenfalls die Größe an.
4. Klicke in der Symbolleiste auf die 3.Schaltfläche von links (Schaltflächenkommentar: Code anzeigen).
5. In das geöffnete Fenster schreibst Du zwischen die Texte “Private Sub CommandButton1_Click()“ und “End Sub“ in die Leerzeile Call Makroname oder nur der Makroname.
6. Klicke in der Symbolleiste auf die erste Schaltfläche von links um den Entwurfmodus zu beenden (Schaltflächenkommentar: Entwurfmodus beenden).
Wenn Du alles richtig gemacht hast, sollte das Makro, nachdem Du die Schaltfläche betätigt hast, abgearbeitet werden.
Du solltest zum Abschluss noch die Sicherheitseinstellung, die beim Öffnen der Datei abgefragt wird, kontrollieren. Klicke dazu nacheinander in der Menüleiste wieder auf Extras => Makro und dann auf Sicherheit.... Gehe, falls nicht schon angezeigt, auf die Registerkarte Sicherheitsstufe und schaue dort nach, ob die Einstellung Mittel aktiviert ist. Wenn nicht, aktiviere diese Einstellung, da sonst der Code nicht ausgeführt werden kann. Beim nächsten Öffnen Deiner Datei kommt eine Abfrage, ob Makros aktiviert oder deaktiviert werden sollen. Klicke auf aktivieren und der Code wird ausgeführt.
Ich hoffe, Du kommst mit der Anleitung klar. Bei Fragen melde Dich wieder.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
na bitte, damit kann man doch schon was anfangen. Nachfolgenden Code koiere in ein Standardmodul.
Sub Daten_kopieren()
Dim Zeile As Long
'--------------------------------------------------------------------------
'1. leere Zeile in Blatt Abrechnung wird ermittelt
'--------------------------------------------------------------------------
Zeile = Worksheets("Abrechnung").Range("A65536").End(xlUp).Offset(1, 0).Row
'--------------------------------------------------------------------------
'Inhalt aus Zelle D17 wird kopiert und in Blatt Abrechnung in der ersten
'freien Zeile in Spalte A eingefügt
'--------------------------------------------------------------------------
Worksheets("Anmeldung").Range("D17").Copy
Worksheets("Abrechnung").Range("A" & Zeile).PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'--------------------------------------------------------------------------
'Inhalt aus Zelle D19 wird kopiert und in Blatt Abrechnung in der ersten
'freien Zeile in Spalte G eingefügt
'--------------------------------------------------------------------------
Worksheets("Anmeldung").Range("D19").Copy
Worksheets("Abrechnung").Range("G" & Zeile).PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'--------------------------------------------------------------------------
'Inhalt aus Zelle D34 wird kopiert und in Blatt Abrechnung in der ersten
'freien Zeile in Spalte C eingefügt
'--------------------------------------------------------------------------
Worksheets("Anmeldung").Range("D34").Copy
Worksheets("Abrechnung").Range("C" & Zeile).PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'--------------------------------------------------------------------------
'Inhalt aus Zelle E34 wird kopiert und in Blatt Abrechnung in der ersten
'freien Zeile in Spalte D eingefügt
'--------------------------------------------------------------------------
Worksheets("Anmeldung").Range("E34").Copy
Worksheets("Abrechnung").Range("D" & Zeile).PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'--------------------------------------------------------------------------
'Inhalt aus Zelle C46 wird kopiert und in Blatt Abrechnung in der ersten
'freien Zeile in Spalte H eingefügt
'--------------------------------------------------------------------------
Worksheets("Anmeldung").Range("C46").Copy
Worksheets("Abrechnung").Range("H" & Zeile).PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End SubDer Code kopiert aus den einzellnen Zellen die Inhalte und fügt die Werte (ohne Formate) in das 2. Blatt in die erste freie Zeile ein.
Da ich nicht weiß, ob Du Dich mit VBA (Visual Basic) auskennst, kommt hier eine kurze Anweisung, wie Du den Code in Deine Tabelle bekommst.
1. Markiere die Anweisung aus diesem Beitrag und Kopiere (Strg c) diesen.
2. Klicke in Deiner Exceldatei in der Menüleiste nacheinander auf Extras => Makro => Visual Basic Editor oder drücke die Tastenkombination Alt F11
3. In dem neu geöffneten Fenster suche auf der linken Seite nach dem Eintrag VBA Projekt(Hier der Name Deiner Tabelle) und klicke doppelt auf diesen Eintrag
4. Klicke danach nacheinander in der Menüleiste auf Einfügen => Modul.
5. Füge nun die vorher kopierte Anweisung in das rechte leere Fenster ein.
Damit das Makro ausgeführt werden kann, muss es durch eine Schaltfläche aufgerufen werden. Da ich nicht weiß, ob Du weißt, wie man eine Befehlsschaltfläche in ein Tabellenblatt einfügst, kommt hier eine kurze Anweisung.
1. Gehe in der Menüleiste auf Ansicht => Symbolleiste => Steuerelement-Toolbox
2. Klicke auf die 6.Schaltfläche von links (Schaltflächenkommentar: Befehlsschaltfläche)
3. Positioniere die Schaltfläche in Deinem Tabellenblatt und passe gegebenenfalls die Größe an.
4. Klicke in der Symbolleiste auf die 3.Schaltfläche von links (Schaltflächenkommentar: Code anzeigen).
5. In das geöffnete Fenster schreibst Du zwischen die Texte “Private Sub CommandButton1_Click()“ und “End Sub“ in die Leerzeile Call Makroname oder nur der Makroname.
6. Klicke in der Symbolleiste auf die erste Schaltfläche von links um den Entwurfmodus zu beenden (Schaltflächenkommentar: Entwurfmodus beenden).
Wenn Du alles richtig gemacht hast, sollte das Makro, nachdem Du die Schaltfläche betätigt hast, abgearbeitet werden.
Du solltest zum Abschluss noch die Sicherheitseinstellung, die beim Öffnen der Datei abgefragt wird, kontrollieren. Klicke dazu nacheinander in der Menüleiste wieder auf Extras => Makro und dann auf Sicherheit.... Gehe, falls nicht schon angezeigt, auf die Registerkarte Sicherheitsstufe und schaue dort nach, ob die Einstellung Mittel aktiviert ist. Wenn nicht, aktiviere diese Einstellung, da sonst der Code nicht ausgeführt werden kann. Beim nächsten Öffnen Deiner Datei kommt eine Abfrage, ob Makros aktiviert oder deaktiviert werden sollen. Klicke auf aktivieren und der Code wird ausgeführt.
Ich hoffe, Du kommst mit der Anleitung klar. Bei Fragen melde Dich wieder.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 6 von wasinet
hi, coros,
danke fuer deine rasche hilfe.
leider habe ich eine fehlermeldung. die zeile
Zeile = Worksheets("Abrechnung").Range("A65536").End(xlUp).Offset(1, 0).Row
wird gelb angezeigt.
?????
lg,
wasinet
danke fuer deine rasche hilfe.
leider habe ich eine fehlermeldung. die zeile
Zeile = Worksheets("Abrechnung").Range("A65536").End(xlUp).Offset(1, 0).Row
wird gelb angezeigt.
?????
lg,
wasinet
Antwort 7 von coros
Hi wasinet,
kontrolliere mal den Namen des Blattes, in dem die Daten eingefügt werden sollen. Der muss genau übereinstimmen wie in der Zeile, die Dir gelb angezeigt wird. Wenn der Blattname anders lautet, musst Du in der Zeile den Blattnamen ändern. Der Name muss dann aber auch in dem gesamten Code geändert werden. Also überall wo der Name "Abrechnung" auftaucht, muss der Blattname dann geändert werden.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
kontrolliere mal den Namen des Blattes, in dem die Daten eingefügt werden sollen. Der muss genau übereinstimmen wie in der Zeile, die Dir gelb angezeigt wird. Wenn der Blattname anders lautet, musst Du in der Zeile den Blattnamen ändern. Der Name muss dann aber auch in dem gesamten Code geändert werden. Also überall wo der Name "Abrechnung" auftaucht, muss der Blattname dann geändert werden.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 8 von wasinet
hallo,
ja das problem war, dass ich 2 verschiedene workbooks habe. jetzt funktioniert's
vielen dank fuer deine hilfe.
noch einen schoenen tag.
ja das problem war, dass ich 2 verschiedene workbooks habe. jetzt funktioniert's
vielen dank fuer deine hilfe.
noch einen schoenen tag.

