Daten übertragen MIT bedingter Formatierung
#1
Moin.
Ich habe gerade schwierigkeiten mit VBA
In Tabelle1 habe ich ein Formular, welches ausgefüllt wird und mittels Button werden die ausgefüllten Zellen nach Tabelle2 kopiert.
Darauf hin ist das Formular in Tabelle1 wieder leer und kann erneut ausgefüllt und übertragen werden.
Das funktioniert alles einwandfrei, Problem ist nur, dass die bedingte Fomatierung nicht mitkopiert wird.
Die brauche ich aber unbedingt. Kann mir da jemand helfen?
Hier mein VBA-Code:

Code:
Sub Kopieren()
With Worksheets("Tabelle2")
  Worksheets("Tabelle1").Range("A1:H50").Copy _
  Destination:=.Cells(.Cells(Rows.Count, 1).End(xlUp).Row + 2, 1)
End With
MsgBox "Daten wurden Übertragen", 10
Worksheets("Tabelle1").Range("A3:H50").ClearContents
End Sub

Vielen Dank
Top
#2
Hi,

warum speicherst du dein Formular nicht als Excel-Vorlage [.xltx (normal) oder .xltm (mit Makros)]. Dann kannst du dir die ganzen Verrenkungen mit dem Kopieren sparen.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#3
Und wieso bekommt man grundsätlich anstatt einer klaren Antwort auf eine Klare frage, eine Gebenfrage?

Was soll das bringen, wenn ich es als Vorlage speichere?

In Sheet1 ist das Formular, nach dem Ausfüllen fließt der Inhalt in Sheet2
Nun ist das Formular in Sheet1 wieder leer.

Jetzt wird es erneut ausgefüllt und übertragen und landet dann direkt unter dem letzten Eintrag in Sheet2.
Das heißt je öfter das Formular ausgefüllt wird, desto voller wird Sheet2.
Sheet 2 ist lediglich eine Zusammenfassungen bzw, Datensammlung aus allen Eingaben in Sheet1.
Top
#4
nicht über

.Copy Destination

sondern

.Copy
.PasteSpecial (bitte mittels Aufzeichnung mit Inhalte Einfügen bedF die Parameter hinzutun)
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Top
#5
Ich hatte gestern schonmal etwas über PasteSpecial gelesen, wusste aber nicht, wie ich das in meinen Code integrieren kann.
Also tausche ich "Destination" nur mit "PasteSpecial".

Ich probiere mich mal aus, Aber ich arbeite nicht täglich mit VBA.
Danke

Ich glaub, ich habs.
Kann da nochmal jemand drüberschauen?

Code:
Sub Kopieren()
With Worksheets("Tabelle2")
  Worksheets("Tabelle1").Range("A1:H50").Copy
  .Cells(.Cells(Rows.Count, 1).End(xlUp).Row + 2, 1).PasteSpecial Paste:=xlPasteAllMergingConditionalFormats
End With
MsgBox "Daten wurden Übertragen", 10
Worksheets("Tabelle1").Range("A3:H50").ClearContents
End Sub
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste