Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Daten aus Zellen mit Button einfügen





Frage

Hallo kann mir jemand bitte helfen? Ich möchte gerne Daten aus verschiedenen Zellen und Spalten in eine andere Mappe per Button kopieren. Neue Rechnung Rechnungs Nr. H7 Kunden Nr. H9 Name B8 Betrag aus H45 ( in Zelle H45 steht Zelle Wo Betrag) Nun solle die Daten per Button eingefügt werden in eine andere Arbeitsmappe Stammdaten XLS Rechnungen A Rechnung B Kunden Nr. C Name D Betrag Letzter Eintrag ist in A16-D16, also müßte der nächste Eintrag in A17-D17 sein. Habe eine Musterrechnung angelegt die ich per Button mit Name abspeichere(hab ich bei euch schon rausgelesen..gg) Wenn ich die Musterrechnung nicht abspeichere, schreibt es mir dann die Daten trotzdem in die nächste Zeile? Wär nett wenn ihr mir helfen würdet Astrid

Antwort 1 von schnallgonz

N´abend Astrid,

Deine Frage ist dieselbe wie diese:

https://supportnet.de/threads/987000

Coros hat dort ein Listing gepostet und erläutert, das Dein Problem löst.
Du mußt nur mehrmals die Kopieraktion reinschreiben und dabei
"Cells(Zeile, Spalte)" ändern und für das Ziel in
Range("A65536").End(xlUp).Offset(1, 0).Row die Spalte ändern.
Das funzt mit dem dortigen Listing so, dass vor dem Speichern kopiert wird, kann man auch anders regeln.
Tausche

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)


z.B. gegen

Sub RgKopinski()


und schreib das Listing als Modul.

Alles klar?
Falls Du mit VBA noch nichts am Hut hattest, ist das eine echte Aufgabe, aber Coros ist VBA-Meister und Erklärmeister (bitte alle anderen VBA und Erklärmeister nicht übel nehmen, ihr seid alle supi, ehrlich).

Bevor Du aber die Nerven verlieren solltest, melde Dich nochmal, dann stricke ich das Ding um.

Mfg
schnallgonz

Antwort 2 von amidala9

Hallo,
jessas ich bin aber auch sowas von doof..gg ich hab noch ein Problem...
habe den Code wie folgt geändert, es zeigt mir aber immer Fehler an...Was muss ich beim Button für einen Code eingeben?

Sub RgKopinski()
Dim Zeile As Long
Application.ScreenUpdating = False
Zeile = Sheets("Rechnungen"). _
"Cells(7, 8, 9, 8 8, 2 )"
Range("E65536").End(xlUp).Offset(1, 1).Row
Application.Goto Reference:="ZelleWoBetrag"
Selection.Copy
Sheets("Rechnungen").Cells(Zeile, 1, 2, 3, 4).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End Sub

Danke schonmal für die Hilfe..ihr seid ja supi

Astrid

Antwort 3 von schnallgonz

Hi Astrid,

so wird das leider nix.
Ich habe Coros Vorlage für Dich umgestrickt.

Einfach nachfolgenden Code in ein Modul kopieren.
Funzt nur, wenn sich die Zell-Positionen in Deiner Vorlage nicht verändern.
Wenn das nicht sicher ist, vergibst Du für alle zu kopierenden Zellen Namen und setzt entsprechend
Application.Goto Reference:="ZelleWoBetrag"
Selection.Copy  

jeweils für
Cells(n, n).Copy

(erste n = ZeilenNr, zweite n = SpaltenNr)
"ZelleWoBetrag" ist nur Bsp für den Zellennamen <> Zelleninhalt; individuell anpassen

"RgVorlage" ist Blattname Deines RGVordrucks
"Kundendatei" ist Blattname Deiner Datensammlung
So, hier jetzt der Code:

Sub RgKopinski()
Dim ZeileA As Long
Dim ZeileB As Long
Dim ZeileC As Long
Dim ZeileD As Long
´Application.ScreenUpdating = False
´RgNr aus H7 nach Spalte A in Kundendatei
Sheets("RgVorlage").Activate
ZeileA = Sheets("Kundendatei"). _
Range("A65536").End(xlUp).Offset(1, 0).Row
Cells(7, 8).Copy
Sheets("Kundendatei").Cells(ZeileA, 1).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
´KundenNr aus H9 nach Spalte B in Kundendatei
Sheets("RgVorlage").Activate
ZeileB = Sheets("Kundendatei"). _
Range("B65536").End(xlUp).Offset(1, 0).Row
Cells(9, 8).Copy
Sheets("Kundendatei").Cells(ZeileB, 2).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
´Name aus B8 nach Spalte C in Kundendatei
Sheets("RgVorlage").Activate
ZeileC = Sheets("Kundendatei"). _
Range("C65536").End(xlUp).Offset(1, 0).Row
Cells(8, 2).Copy
Sheets("Kundendatei").Cells(ZeileC, 3).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
´Betrag aus H45 nach Spalte D in Kundendatei
Sheets("RgVorlage").Activate
ZeileD = Sheets("Kundendatei"). _
Range("D65536").End(xlUp).Offset(1, 0).Row
Cells(45, 8).Copy
Sheets("Kundendatei").Cells(ZeileD, 4).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End Sub


Zum Schluss zum Button:

Rechter Mausklick in Symbolleiste,
Steuerelementtoolbox einblenden
Button anklicken und in Deiner RgVorlage
eine Schaltfläche ziehen;
Doppelklick auf das neue Teil = Wechsel in VBA-Umgebung
dort sollte es so aussehen:

Privat Sub CommandButton1_Klick()
RgKopinski
End Sub

Dann im, linken unteren Fenster "CommandButton Eigenschaften" kannst Du neben CAPTION eine andere Buttonbeschriftung eingeben, z.B. "DatenKopieren"
Zurück in RgVordruck, Steuerelementtoolbox Entwurfsmodus beenden und ausblenden, speichern der Datei nicht vergessen um das Makro zu sichern.

Fertig, wenn alles richtig ist, kannst Du jetzt munter Rechnungen sichern und hast Zeit für ´ne Rückmeldung.
Schönes Wochenende

MfG
schnallgonz

Antwort 4 von primut

Hi Astrid,

ich steck nicht wirklich in deinem Problem, aber in deinem Code ist ein ganz offensichtlicher Fehler:
Das Cells - Objekt kennzeichnet meines Wissens nur eine bestimme Zelle durch Zeilen und Spaltennummer.

Cells(Zeilennummer,Spaltennummer)


Willst du dagegen einen Zellbereich ansprechen, kannst du das Range - Objekt verwenden

Range("Anfangszelle:Endzelle")


Zellen im Buchstaben/Zahl Format mit Anfang linksoben und Ende rechts unten.

Gruß Primut

Antwort 5 von primut

@schnallgonz,

Glückwunsch, warst schneller und besser

bis denn

Primut

Antwort 6 von schnallgonz

@Primut

Danke, war vorher ja schon mehr im Problem drin.

Deine Erklärung ist dafür gelungen.
Coros hat sich auch schon erklärend in´s Zeug gelegt,
aber alles zusammen ist wahrscheinlich schwere Kost für VBA-Neulinge.

Bis neulich

schnallgonz

Antwort 7 von schnallgonz

@Astrid

kleine Korrektur:
entferne bitte aus

´Application.ScreenUpdating = False


das Hochkomma, sonst funzt diese Zeile nicht (Bildschirmaktualisierung abklemmen).

Und ganz am Ende vor
End Sub
schreibst Du rein:

Application.ScreenUpdating = True


= Bildschirmaktualisierung wieder an

Gruß
schnallgonz

Antwort 8 von amidala9

Hallo


ich habe nun alles gemacht wie wie angegeben aber wenn ich auf den Button drücke zeigt es mir einen Fehler an

´RgNr aus H7 nach Spalte A in Kundendatei
Syntaxfehler an

Habe meine Blätter umbenant wie angegeben
RgVorlage" ist Blattname Deines RGVordrucks
"Kundendatei" ist Blattname Deiner Datensammlung

Sub RgKopinski()
Dim ZeileA As Long
Dim ZeileB As Long
Dim ZeileC As Long
Dim ZeileD As Long
Application.ScreenUpdating = False
´RgNr aus H7 nach Spalte A in Kundendatei
Sheets("RgVorlage").Activate
ZeileA = Sheets("Kundendatei"). _
Range("A65536").End(xlUp).Offset(1, 0).Row
Cells(7, 8).Copy
Sheets("Kundendatei").Cells(ZeileA, 1).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
´KundenNr aus H9 nach Spalte B in Kundendatei
Sheets("RgVorlage").Activate
ZeileB = Sheets("Kundendatei"). _
Range("B65536").End(xlUp).Offset(1, 0).Row
Cells(9, 8).Copy
Sheets("Kundendatei").Cells(ZeileB, 2).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
´Name aus B8 nach Spalte C in Kundendatei
Sheets("RgVorlage").Activate
ZeileC = Sheets("Kundendatei"). _
Range("C65536").End(xlUp).Offset(1, 0).Row
Cells(8, 2).Copy
Sheets("Kundendatei").Cells(ZeileC, 3).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
´Betrag aus H45 nach Spalte D in Kundendatei
Sheets("RgVorlage").Activate
ZeileD = Sheets("Kundendatei"). _
Range("D65536").End(xlUp).Offset(1, 0).Row
Application.Goto Reference:="ZelleWoBetrag"
Selection.Copy
Sheets("Kundendatei").Cells(ZeileD, 4).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Application.ScreenUpdating = True

End Sub
irgendwas hab ich wohl falsch gemacht...

Gruß Astrid

Antwort 9 von schnallgonz

Beim Kopieren in das SN-Format wird das Hochkomma wohl falsch gesetzt.
Sieht bei Dir nach Accent aus.
Was für´ne Fehlermeldung kommt denn?
Gruß
schnallgonz

Antwort 10 von schnallgonz

Ich nochmal

das wird doch vor dem Wochenende noch funzen...

alle schrägen Hochkommas mußt Du durch ein normales Hochkomma ersetzen, also 4 mal
das Hochkomma leitet nur Erläuterungen ein

MfG
schnallgonz

Antwort 11 von amidala9

Hallo

habe die Hochkommas geändert beim ändern kam
jedesmal

Fehler beim Kompiliren:
Erwartet: Zeilennummer oder Sprungmarke oder Anweisung oder Anweisungende.
hier der gänderte code

Sub RgKopinski()
Dim ZeileA As Long
Dim ZeileB As Long
Dim ZeileC As Long
Dim ZeileD As Long
Application.ScreenUpdating = False
,RgNr aus H7 nach Spalte A in Kundendatei
Sheets("RgVorlage").Activate
ZeileA = Sheets("Kundendatei"). _
Range("A65536").End(xlUp).Offset(1, 0).Row
Cells(7, 8).Copy
Sheets("Kundendatei").Cells(ZeileA, 1).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
,KundenNr aus H9 nach Spalte B in Kundendatei
Sheets("RgVorlage").Activate
ZeileB = Sheets("Kundendatei"). _
Range("B65536").End(xlUp).Offset(1, 0).Row
Cells(9, 8).Copy
Sheets("Kundendatei").Cells(ZeileB, 2).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
,Name aus B8 nach Spalte C in Kundendatei
Sheets("RgVorlage").Activate
ZeileC = Sheets("Kundendatei"). _
Range("C65536").End(xlUp).Offset(1, 0).Row
Cells(8, 2).Copy
Sheets("Kundendatei").Cells(ZeileC, 3).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
,Betrag aus H45 nach Spalte D in Kundendatei
Sheets("RgVorlage").Activate
ZeileD = Sheets("Kundendatei"). _
Range("D65536").End(xlUp).Offset(1, 0).Row
Application.Goto Reference:="ZelleWoBetrag"
Selection.Copy
Sheets("Kundendatei").Cells(ZeileD, 4).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Application.ScreenUpdating = True

End Sub

Gruß astrid

Antwort 12 von amidala9

Hallo

Habe aus versehen das schräge Hochkomma durch ein normales ersetzt mein Fehler!!!!
Finde aber auf der Tastatur kein normales Hochkomma

Antwort 13 von schnallgonz

Salve,

oha, auf der Zielgeraden abgefangen....
aber ich meine: Gefahr erkannt, Gefahr gebannt ;-)

Das Problem wird jedenfalls nicht an der Tastatur scheitern !

guckst Du rechts über Shift = Hochstelltaste neben dem Ä;
da isses mit einem # darunter ;

wenn dem nicht so sein sollte, kannst Du
  • die Kommentarzeilen löschen oder
  • an den Zeilenanfang ein "REM" setzen (ohne Anführungszeichen).

    Letzteres hat denselben Effekt wie das Hochkomma.Dahinter kann auch ein normales Komma stehen.

    So, ich bin gespannt, wie die Geschichte zu Ende geht.
    Wenn Du mir jetzt nicht den Ausgang erzählst, ist das wie ein aufgenommenes Video, bei dem kurz vor Schluss das Band zu Ende ist.
    Bis später
    Gruß
    schnallgonz

  • Antwort 14 von amidala9

    Ave

    Hallo schnallgonz das Hochkomma sieht bei mir auf der Tastatur aus wie ein Schrägkomma, habe alles wieder gändert aber leider haut es bei mir nicht hin habe wieder eine Fehler meldung.

    Laufzeitfehler ´9´:
    Index auserhalb des gültigen Bereichs

    ZeileA = Sheets("Kundendatei"). _
    Range("A65536").End(xlUp).Offset(1, 0).Row

    Tut mir leid für die schlechte Nachricht, aber du wirst das schon in den griff bekommen
    code wie folgt

    Sub RgKopinski()
    Dim ZeileA As Long
    Dim ZeileB As Long
    Dim ZeileC As Long
    Dim ZeileD As Long
    Application.ScreenUpdating = False
    ´RgNr aus H7 nach Spalte A in Kundendatei
    Sheets("RgVorlage").Activate
    ZeileA = Sheets("Kundendatei"). _
    Range("A65536").End(xlUp).Offset(1, 0).Row
    Cells(7, 8).Copy
    Sheets("Kundendatei").Cells(ZeileA, 1).PasteSpecial Paste:=xlPasteValues, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    ´KundenNr aus H9 nach Spalte B in Kundendatei
    Sheets("RgVorlage").Activate
    ZeileB = Sheets("Kundendatei"). _
    Range("B65536").End(xlUp).Offset(1, 0).Row
    Cells(9, 8).Copy
    Sheets("Kundendatei").Cells(ZeileB, 2).PasteSpecial Paste:=xlPasteValues, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    ´Name aus B8 nach Spalte C in Kundendatei
    Sheets("RgVorlage").Activate
    ZeileC = Sheets("Kundendatei"). _
    Range("C65536").End(xlUp).Offset(1, 0).Row
    Cells(8, 2).Copy
    Sheets("Kundendatei").Cells(ZeileC, 3).PasteSpecial Paste:=xlPasteValues, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    ´Betrag aus H45 nach Spalte D in Kundendatei
    Sheets("RgVorlage").Activate
    ZeileD = Sheets("Kundendatei"). _
    Range("D65536").End(xlUp).Offset(1, 0).Row
    Application.Goto Reference:="ZelleWoBetrag"
    Selection.Copy
    Sheets("Kundendatei").Cells(ZeileD, 4).PasteSpecial Paste:=xlPasteValues, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Application.ScreenUpdating = True

    End Sub

    Gruß Astrid

    Antwort 15 von amidala9

    Hallo

    Nachtrag
    Diese Zeilen waren Gelb hinterlegt

    ZeileA = Sheets("Kundendatei"). _
    Range("A65536").End(xlUp).Offset(1, 0).Row

    Gruß Astrid

    Antwort 16 von amidala9

    Hallo
    Habe die Kommentarzeilen gelöscht kommt gleiche fehlermeldung
    Astrid

    Antwort 17 von amidala9

    Hallo schnallgonz
    code wie folgt geändert gleiche fehlermeldung

    Sub RgKopinski()
    Dim ZeileA As Long
    Dim ZeileB As Long
    Dim ZeileC As Long
    Dim ZeileD As Long
    Application.ScreenUpdating = False
    Rem,RgNr aus H7 nach Spalte A in Kundendatei
    Sheets("RgVorlage").Activate
    ZeileA = Sheets("Kundendatei"). _
    Range("A65536").End(xlUp).Offset(1, 0).Row
    Cells(7, 8).Copy
    Sheets("Kundendatei").Cells(ZeileA, 1).PasteSpecial Paste:=xlPasteValues, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Rem,KundenNr aus H9 nach Spalte B in Kundendatei
    Sheets("RgVorlage").Activate
    ZeileB = Sheets("Kundendatei"). _
    Range("B65536").End(xlUp).Offset(1, 0).Row
    Cells(9, 8).Copy
    Sheets("Kundendatei").Cells(ZeileB, 2).PasteSpecial Paste:=xlPasteValues, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Rem,Name aus B8 nach Spalte C in Kundendatei
    Sheets("RgVorlage").Activate
    ZeileC = Sheets("Kundendatei"). _
    Range("C65536").End(xlUp).Offset(1, 0).Row
    Cells(8, 2).Copy
    Sheets("Kundendatei").Cells(ZeileC, 3).PasteSpecial Paste:=xlPasteValues, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Rem,Betrag aus H45 nach Spalte D in Kundendatei
    Sheets("RgVorlage").Activate
    ZeileD = Sheets("Kundendatei"). _
    Range("D65536").End(xlUp).Offset(1, 0).Row
    Application.Goto Reference:="ZelleWoBetrag"
    Selection.Copy
    Sheets("Kundendatei").Cells(ZeileD, 4).PasteSpecial Paste:=xlPasteValues, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Application.ScreenUpdating = True

    End Sub
    Ich hoffe ich geh dir nicht auf die Geist
    Gruß Astrid

    Antwort 18 von schnallgonz

    Moin Astrid,

    tausch´ ma die Reihenfolge der Programmzeilen wie folgt
    (Beispiel für erste zu kopierende Zelle):

    ´RgNr aus H7 nach Spalte A in Kundendatei
    Sheets("RgVorlage").Activate
    Cells(7, 8).Copy
    ZeileA = Sheets("Kundendatei"). _
    Range("A65536").End(xlUp).Offset(1, 0).Row
    Sheets("Kundendatei").Cells(ZeileA, 1).PasteSpecial Paste:=xlPasteValues, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False


    Das für alle 4 Aktionen, mal sehen, ob´s dann funzt.
    MfG
    schnallgonz

    Antwort 19 von schnallgonz

    Noch besser ohne ActivateBremse:
    
    ´RgNr aus H7 nach Spalte A in Kundendatei
    Sheets("RgVorlage").Cells(7, 8).Copy
    ZeileA = Sheets("Kundendatei"). _
    Range("A65536").End(xlUp).Offset(1, 0).Row
    Sheets("Kundendatei").Cells(ZeileA, 1).PasteSpecial Paste:=xlPasteValues, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False


    Gruß
    schnallgonz

    Antwort 20 von amidala9

    Hallo schnallgonz

    war unterwegs kann jezt erst antworten

    Habe die drei anderen auch rein kopiert und die Zelle und Spalten geändert.
    habe alles gemacht kommt aber wieder Syntaxfehler

    Sub RgKopinski()
    Dim ZeileA As Long
    Dim ZeileB As Long
    Dim ZeileC As Long
    Dim ZeileD As Long
    Application.ScreenUpdating = False
    ´RgNr aus H7 nach Spalte A in Kundendatei
    Sheets("RgVorlage").Cells(7, 8).Copy
    ZeileA = Sheets("Kundendatei"). _
    Range("A65536").End(xlUp).Offset(1, 0).Row
    Sheets("Kundendatei").Cells(ZeileA, 1).PasteSpecial Paste:=xlPasteValues, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    ´RgNr aus H9 nach Spalte B in Kundendatei
    Sheets("RgVorlage").Cells(9, 8).Copy
    ZeileA = Sheets("Kundendatei"). _
    Range("A65536").End(xlUp).Offset(1, 0).Row
    Sheets("Kundendatei").Cells(ZeileA, 1).PasteSpecial Paste:=xlPasteValues, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    ´RgNr aus B8 nach Spalte C in Kundendatei
    Sheets("RgVorlage").Cells(8, 2).Copy
    ZeileA = Sheets("Kundendatei"). _
    Range("A65536").End(xlUp).Offset(1, 0).Row
    Sheets("Kundendatei").Cells(ZeileA, 1).PasteSpecial Paste:=xlPasteValues, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    ´RgNr aus H45 nach Spalte D in Kundendatei
    Sheets("RgVorlage").Activate
    ZeileD = Sheets("Kundendatei"). _
    Range("D65536").End(xlUp).Offset(1, 0).Row
    Application.Goto Reference:="ZelleWoBetrag"
    Selection.Copy
    ZeileA = Sheets("Kundendatei"). _
    Range("A65536").End(xlUp).Offset(1, 0).Row
    Sheets("Kundendatei").Cells(ZeileA, 1).PasteSpecial Paste:=xlPasteValues, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Application.ScreenUpdating = True

    End Sub

    Gruß Astrid

    Antwort 21 von schnallgonz

    Hallo Astrid,

    is´ wohl doch ´ne schwere Geburt, die sich Richtung Kaiserschnitt entwickelt.
    Ich habe Deinen letzten Beitrag kopiert und ausprobiert.
    Einziger Fehler wie bisher die falschen Hochkommata und durch Dein Spaltenändern werden die Werte jetzt untereinander geschrieben.
    Ich poste deshalb nochmal das komplette korrekte Listing ohne Hochkommata.
    Wenn Du dieses Teil komplett in Dein Modul kopierst, sollte es eigentlich funzen, ohne dass Änderungen erforderlich sind.

    Sub RgKopinski()
    Rem Makro29.01.05 Sichern von Rg-Werten
    Dim ZeileA As Long
    Dim ZeileB As Long
    Dim ZeileC As Long
    Dim ZeileD As Long
    Application.ScreenUpdating = False
    Rem RgNr aus H7 nach Spalte A in Kundendatei
    Sheets("RgVorlage").Cells(7, 8).Copy
    ZeileA = Sheets("Kundendatei"). _
    Range("A65536").End(xlUp).Offset(1, 0).Row
    Sheets("Kundendatei").Cells(ZeileA, 1).PasteSpecial Paste:=xlPasteValues, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Rem KundenNr aus H9 nach Spalte B in Kundendatei
    Sheets("RgVorlage").Cells(9, 8).Copy
    ZeileB = Sheets("Kundendatei"). _
    Range("B65536").End(xlUp).Offset(1, 0).Row
    Sheets("Kundendatei").Cells(ZeileB, 2).PasteSpecial Paste:=xlPasteValues, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Rem Name aus B8 nach Spalte C in Kundendatei
    Sheets("RgVorlage").Cells(8, 2).Copy
    ZeileC = Sheets("Kundendatei"). _
    Range("C65536").End(xlUp).Offset(1, 0).Row
    Sheets("Kundendatei").Cells(ZeileC, 3).PasteSpecial Paste:=xlPasteValues, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Rem Betrag aus H45 nach Spalte D in Kundendatei
    Application.Goto Reference:="ZelleWoBetrag"
    Selection.Copy
    ZeileD = Sheets("Kundendatei"). _
    Range("D65536").End(xlUp).Offset(1, 0).Row
    Sheets("Kundendatei").Cells(ZeileD, 4).PasteSpecial Paste:=xlPasteValues, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
    End Sub
    


    Wenn das wider Erwarten immer noch haken sollte, schreib nochmal genau, in welcher Zeile welche Meldung kommt und welche Excel-Version Du einsetzt.
    So, viel Glück
    Gruß
    schnallgonz

    Antwort 22 von amidala9

    hallo schallgonz

    habe alles genauso gemacht wie beschrieben das gleiche in grün fehlermeldung!!!

    Sende dir genaue beschreibung

    Die Daten aus
    D:Firma 2005RechnungNeue Rechnung.xlsRGVorlage(Zeile 7 Spalte H
    kommt In
    D:Firma 2005Stammdaten.xlsKundendatei(Zelle A17

    Kurzbeschreibung der restlichen daten

    RGVorlage (Bereich H9) in Kundendatei( Bereich B17)
    RGVorlage (Bereich B8) in Kundendatei(Bereich C17)
    GGVorlage (in Bereich H45 steht ZelleWoBetrag) in Kundendatei(Bereich D17)

    Meine Version:
    Microsoft Office XP Producktversion 10.0.6501

    Ich hoffe es hilft dir

    MFG Astrid

    Antwort 23 von amidala9

    Hallo
    Berichtigung

    Die Daten aus
    D:/Firma 2005/Rechnung/Neue Rechnung.xls/RGVorlage(Zeile 7 Spalte H
    kommt In
    D:/Firma 2005/Stammdaten.xls/Kundendatei(Zelle A17

    Kurzbeschreibung der restlichen daten

    RGVorlage (Bereich H9) in Kundendatei( Bereich B17)
    RGVorlage (Bereich B8) in Kundendatei(Bereich C17)
    GGVorlage (in Bereich H45 steht ZelleWoBetrag) in Kundendatei(Bereich D17)

    Antwort 24 von schnallgonz

    N´abend,

    Asche auf mein Haupt!
    Du hast bereits im ersten Posting geschrieben, dass die Werte in eine andere Mappe kopiert werden sollen, ich hab´s nur für ein anderes Arbeitsblatt in derselben Mappe geschrieben!
    Das muß Herrn Excel natürlich gesagt werden, wo er was suchen soll.
    Schreibe also bitte vor alle Sheetsaufrufe die Arbeitsmappe nach folgendem Muster:

    Workbooks("Neue Rechnung.xls").Sheets("RgVorlage")
    bzw
    Workbooks("Stammdaten.xls").Sheets("Kundendatei")


    Mühsam ernährt sich das Eichhörnchem....
    Bis zum nächsten Fehler?


    MfG
    schnallgonz

    Signatur und Textformatierungen wurden mit SNTool V1.1.12 erstellt

    Antwort 25 von amidala9

    Hellau Schnallgonz

    Bin grad nach ner langen Faschingsnacht erst aus dem Bett gekrabbelt und noch ned ganz bei Sinnen. Vielen Dank für deine Bemühung...werdd aber erst morgen weiterbasteln wenn mein Kopp wieder klar ist..gg..


    Bis morgen

    Astrid

    Antwort 26 von schnallgonz

    Hi,
    Danke für den Zwischenbescheid.
    Entweder, Dein Kopp ist gar nicht so trübe oder Dich läßt das Problem auch im Faschingsrausch nicht los.
    Jedenfalls gut Besserung
    Gruß
    schnallgonz

    Antwort 27 von amidala9

    Hallo

    Es funzt!!!
    Super!
    Vielen Dank für die HIlfe..hätte da wohl nen Jahrlang dazu gebraucht des auszutüffteln...gg
    Ein Problem hätte ich aber noch.
    Eins hab ich übersehen..bzw. vergessen zu erwähnen. Das Datum befindet sich in Spalte D und der Betrag in E, in der Kundendatei. Habe es nun selbst umgeschrieben, für das Datum einen Code kopiert und eingefügt. Nun schreibt es mir das DAtum schon in die Spalte wo es hingehört aber verstetzt sich eine Zeile darunter...Beim Betrag das selbe, richtige Spalte nur noch eine Zeile tiefer..quasi versetzt.


    Sub RgKopinski()
    Rem Makro29.01.05 Sichern von Rg-Werten
    Dim ZeileA As Long
    Dim ZeileB As Long
    Dim ZeileC As Long
    Dim ZeileD As Long
    Application.ScreenUpdating = False
    Rem RgNr aus H7 nach Spalte A in Kundendatei
    Workbooks("Neue Rechnung.xls").Sheets("RgVorlage").Cells(7, 8).Copy
    ZeileA = Workbooks("Stammdaten.xls").Sheets("Kundendatei"). _
    Range("A65536").End(xlUp).Offset(1, 0).Row
    Workbooks("Stammdaten.xls").Sheets("Kundendatei").Cells(ZeileA, 1).PasteSpecial Paste:=xlPasteValues, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Rem KundenNr aus H9 nach Spalte B in Kundendatei
    Workbooks("Neue Rechnung.xls").Sheets("RgVorlage").Cells(9, 8).Copy
    ZeileB = Workbooks("Stammdaten.xls").Sheets("Kundendatei"). _
    Range("B65536").End(xlUp).Offset(1, 0).Row
    Workbooks("Stammdaten.xls").Sheets("Kundendatei").Cells(ZeileB, 2).PasteSpecial Paste:=xlPasteValues, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Rem Name aus B8 nach Spalte C in Kundendatei
    Workbooks("Neue Rechnung.xls").Sheets("RgVorlage").Cells(8, 2).Copy
    ZeileC = Workbooks("Stammdaten.xls").Sheets("Kundendatei"). _
    Range("C65536").End(xlUp).Offset(1, 0).Row
    Workbooks("Stammdaten.xls").Sheets("Kundendatei").Cells(ZeileC, 3).PasteSpecial Paste:=xlPasteValues, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Rem Datum aus H8 nach Spalte D in Kundendatei
    Workbooks("Neue Rechnung.xls").Sheets("RgVorlage").Cells(8, 8).Copy
    ZeileD = Workbooks("Stammdaten.xls").Sheets("Kundendatei"). _
    Range("C65536").End(xlUp).Offset(1, 0).Row
    Workbooks("Stammdaten.xls").Sheets("Kundendatei").Cells(ZeileD, 4).PasteSpecial Paste:=xlPasteValues, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Rem Betrag aus H45 nach Spalte E in Kundendatei
    Application.Goto Reference:="ZelleWoBetrag"
    Selection.Copy
    ZeileE = Workbooks("Stammdaten.xls").Sheets("Kundendatei"). _
    Range("D65536").End(xlUp).Offset(1, 0).Row
    Workbooks("Stammdaten.xls").Sheets("Kundendatei").Cells(ZeileE, 5).PasteSpecial Paste:=xlPasteValues, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
    End Sub

    Wär nett wenn du dir das anguggst und mir wieder weiterhilfst. Zur Not heirat ich dich dann kannst mir das fertigbasteln..gg

    Astrid

    Antwort 28 von schnallgonz

    Tagchen Astrid,
    Zitat:
    Es funzt!!!
    Super!

    Schön das zu lesen, Danke.
    Jetzt dachte ich, "die biste los", aber zu früh gefreut....;-)

    Bei Deiner Änderung mußt Du nur eine Sache nachholen:

    ZeileD = Workbooks("Stammdaten.xls").Sheets("Kundendatei"). _
    Range("C65536").End(xlUp).Offset(1, 0).Row


    sucht die erste freie Zelle in diesem Fall in Spalte C, obwohl Spalte D gewünscht ist, deshalb eine Zeile zu tief gelandet, weil hier schon ein Wert eingefügt wurde.

    Ändere also Range("C65536") in Range("D65536")

    dasselbe für Spalte E

    ZeileE = Workbooks("Stammdaten.xls").Sheets("Kundendatei"). _
    Range("D65536").End(xlUp).Offset(1, 0).Row


    hier also E65536 anstatt D65536

    So, fertiggebastelt auch ohne Notheirat
    Viel Spaß

    MfG
    schnallgonz

    Ein Erfahrener ist besser als 10 Gelehrte.
    Signatur und Textformatierungen wurden mit SNTool V1.1.12 erstellt


    Antwort 29 von schnallgonz

    @Astrid
    Habe ich ganz vergessen:

    VBA scheint bei Dir nach einer Faschingsnacht + trüben Kopp besser zu funzen als mit klarem Kopp...
    Allerdings leidet darunter offensichtlich Deine Hemmschwelle
    (Notheirat für ´nen kleinen VBA-Code) ;-)

    Dann sicher mal die Datei mit Makro ordentlich, damit Du ´ne Notheirat für wichtigere Sachen in Reserve hast.........

    MfG
    schnallgonz

    Antwort 30 von amidala9

    Es klappt!!! Einfach super!!!
    Vielen vielen Dank. Nu biste mich vorerst los...betonung liegt auf vorerst..gg
    Es klappt einfach wunderbar..so macht nun Rechnungschreiben noch mehr Spaß.
    Wenn ich mal wieder eine Frage habe werde ich wieder zu euch ins Forum hüppen..ohne nochmal so Drohungen wie Hochzeit auszusprechen(war wohl der Restalk schuld)
    Also nochmal Dankeschön

    Astrid