Microsoft Excel

Herbers Excel/VBA-Archiv

VBA - Buchhaltungsformat mit kopieren

Betrifft: VBA - Buchhaltungsformat mit kopieren von: jones
Geschrieben am: 24.09.2014 12:45:31

Hallo,

ich habe eine Frage an Euch, es geht um folgenden code, der aus einem Tabellenblatt bestimmte Zellen per Knopfdruck in das Tabellenblatt "Datenbank" kopieren soll. Soweit so gut, nur dass Zelle K43 und K40 im Buchhaltungsformat sind und der Betrag (Euro) nicht mit kopiert wird. Auch mit dem Zusatz:

PasteSpecial Paste:=xlPasteFormats

funktioniert das nicht. Es erscheint dann "Fehler beim Kompilieren, Anweisungsende erwartet"

Sub kopieren()
Dim wsKopie As Worksheet, iLetzte&
Set wsKopie = Sheets("Datenbank")
With ActiveSheet
    iLetzte = wsKopie.Cells(wsKopie.Rows.Count, 1).End(xlUp).Row + 1
    .Range("D5").Copy Destination:=Sheets("Datenbank").Range("A" & iLetzte)
    .Range("D6").Copy Destination:=Sheets("Datenbank").Range("B" & iLetzte)
    .Range("D9").Copy Destination:=Sheets("Datenbank").Range("C" & iLetzte)
    .Range("D7").Copy Destination:=Sheets("Datenbank").Range("D" & iLetzte)
    .Range("D8").Copy Destination:=Sheets("Datenbank").Range("E" & iLetzte)
    .Range("A12").Copy Destination:=Sheets("Datenbank").Range("F" & iLetzte)
    .Range("A14").Copy Destination:=Sheets("Datenbank").Range("G" & iLetzte)
    .Range("A15").Copy Destination:=Sheets("Datenbank").Range("H" & iLetzte)
    .Range("K43").Copy Destination:=Sheets("Datenbank").Range("J" & iLetzte)
    .Range("K40").Copy Destination:=Sheets("Datenbank").Range("K" & iLetzte)
End With

End Sub
Und noch eine Frage: In der Tabelle die somit durch das Makro gefüttert wird, soll man die Spalten jederzeit sortieren können, ohne das sich das Makro daran stört. Funktioniert das mit dieser Vorgehensweise?

Danke & Gruß

  

Betrifft: AW: VBA - Buchhaltungsformat mit kopieren von: yummi
Geschrieben am: 24.09.2014 13:15:40

Hallo Jones,

paste special musst du in 2 Zeilen benutzen und nicht in der selben codezeile.
z.B.

With Worksheets("Sheet1") 
 .Range("C1:C5").Copy 
 .Range("D1:D5").PasteSpecial _ 
 Operation:=xlPasteSpecialOperationAdd 
End With
Gruß
yummi


  

Betrifft: AW: VBA - Buchhaltungsformat mit kopieren von: jones
Geschrieben am: 24.09.2014 13:40:45

Hallo Yummi,

danke für die schnelle Antwort. Leider klappt es immer noch nicht.
Wie füge ich den Code denn bei meinem Beispiel richtig ein?

    .Range("K43").Copy Destination:=Sheets("Datenbank").Range("J" & iLetzte).PasteSpecial_
    Operation:=xlPasteSpecialOperationAdd
Habe einige Varianten durchprobiert, aber so funktioniert es nicht (Syntaxfehler).
Wo liegt der Fehler?

Gruß
Jones


  

Betrifft: AW: VBA - Buchhaltungsformat mit kopieren von: yummi
Geschrieben am: 24.09.2014 13:46:42

Hallo Jones,

wie gesagt 2 Zeilen

.Range("K43").Copy
Sheets("Datenbank").Range("J" & iLetzte).PasteSpecial_
    Operation:=xlPasteSpecialOperationAdd
Gruß
yummi


  

Betrifft: AW: VBA - Buchhaltungsformat mit kopieren von: Jones
Geschrieben am: 24.09.2014 14:09:38

Hallo yummi,

ich weiß nicht was ich falsch mache, auch wenn der Code in 2 Zeilen ist erscheint ein Syntaxfehler:

Sub kopieren()

Dim wsKopie As Worksheet, iLetzte&
Set wsKopie = Sheets("Datenbank")
With ActiveSheet
    iLetzte = wsKopie.Cells(wsKopie.Rows.Count, 1).End(xlUp).Row + 1
    .Range("K43").Copy
    Sheets("Datenbank").Range("J" & iLetzte).PasteSpecial_
        Operation:=xlPasteSpecialOperationAdd
End With

End Sub
VBA ist noch nicht ganz meine Welt...:)

Gruß
jones


  

Betrifft: AW: VBA - Buchhaltungsformat mit kopieren von: yummi
Geschrieben am: 24.09.2014 14:14:37

Hallo Jones,

mach mal hinter dein Pastespecial ein Leerzeichen ;-)

Gruß
yummi


  

Betrifft: AW: VBA - Buchhaltungsformat mit kopieren von: jones
Geschrieben am: 24.09.2014 15:47:11

oh man, danke!:)
jetzt funktioniert es!
Ich benötige aber 2 Anweisungen, eine um den Wert rüber zu kopieren und eine für das Format. Liege ich damit richtig, oder gibt es einen Befehl der beides in einem Schritt mitnimmt?

    .Range("K40").Copy
    Sheets("Datenbank").Range("K" & iLetzte).PasteSpecial _
        Paste:=xlValues
    Sheets("Datenbank").Range("K" & iLetzte).PasteSpecial _
        Paste:=xlFormats
VG
jones


  

Betrifft: AW: VBA - Buchhaltungsformat mit kopieren von: yummi
Geschrieben am: 25.09.2014 09:05:58

Hallo Jones,

ja entweder so wie du schon geschrieben hast oder mit PasteSpecial = xlPasteAll aber dann kopiert er auch Formeln und alles andere was in der Zelle hinterlegt ist.

Gruß
yummi


  

Betrifft: AW: VBA - Buchhaltungsformat mit kopieren von: jones
Geschrieben am: 25.09.2014 18:33:27

Super Danke!!!
Gruß


 

Beiträge aus den Excel-Beispielen zum Thema "VBA - Buchhaltungsformat mit kopieren"