Herbers Excel-Forum - das Archiv

Fehler beim kopieren mit Vba

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Fehler beim kopieren mit Vba
von: Thomas
Geschrieben am: 03.10.2003 14:16:19
Hallo Leute...

Habe ein Problem mit meinem VBA-Code...!
Beim Kopieren mit folgendem Code fügt er mir nicht alle Daten ein...

Sub Kopieren()
Dim neues_sheet As String
Dim laR As Long
Application.ScreenUpdating = False
neues_sheet = InputBox("Bitte Kennzeichen des Fahrzeuges eingeben und mit Eingabetaste bestätigen ! Datenbank wird aktualisiert !")
If neues_sheet = "" Then Exit Sub
laR = Sheets(neues_sheet).Cells(Rows.Count, 1).End(xlUp).Row
If laR < 4 Then laR = 2
Range("A4:F180").Copy
Sheets(neues_sheet).Range("A" & laR + 2).PasteSpecial Paste:=xlAll, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Application.ScreenUpdating = False
End Sub

Wenn ich allerdings anstatt Paste:=xlAll, Paste:=xlValues einsetze fügt er alle Daten ein, leider habe ich aber auch farblich formatierte Zellen dabei.Meine Frage: Wie kann ich xlAll ändern wenn ich xlValues und xlFormats benötige.

Bitte helft mir...

Gruß Thomas
Bild

Betrifft: AW: Fehler beim kopieren mit Vba
von: Panicman
Geschrieben am: 03.10.2003 14:38:27
Hallo Thomas,

2 mal "Einfügen". 1 mal Werte und 1 mal Formate
Sub Kopieren()
Dim neues_sheet As String
Dim laR As Long
Application.ScreenUpdating = False
neues_sheet = InputBox("Bitte Kennzeichen des Fahrzeuges eingeben und mit Eingabetaste bestätigen ! Datenbank wird aktualisiert !")
If neues_sheet = "" Then Exit Sub
laR = Sheets(neues_sheet).Cells(Rows.Count, 1).End(xlUp).Row
If laR < 4 Then laR = 2
Range("A4:F180").Copy
Sheets(neues_sheet).Range("A" & laR + 2).PasteSpecial Paste:=xlValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Sheets(neues_sheet).Range("A" & laR + 2).PasteSpecial Paste:=xlFormats, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Application.ScreenUpdating = False
End Sub


Gruß
Holger
Bild

Betrifft: AW: Fehler beim kopieren mit Vba
von: Thomas
Geschrieben am: 03.10.2003 14:47:14
Viele Dank...
Suuuuuuuuuuper...

Gruß Thomas
Bild

Betrifft: Bitteschön !!! o.T.
von: Panicman
Geschrieben am: 03.10.2003 15:01:46
Bild

Betrifft: AW: Bitteschön !!! o.T.
von: Thomas
Geschrieben am: 03.10.2003 16:06:13
Hätte da noch ein Problem... :-(

Habe in einer Tabelle folgende Formeln eingesetzt:
Zelle A30: =INDIREKT(ADRESSE(4;1;;;$A$16))

Zelle A31: =WENN(INDIREKT(ADRESSE(ZEILE()-26;1;;;$A$16))=0;"";INDIREKT(ADRESSE(ZEILE()-26;1;;;$A$16)))
u.s.w.

Durch diese Formeln bekomme ich ja Daten aus einer anderen Tabelle in deren Zellen angezeigt...
Nun möchte ich aber, daß nicht nur die Daten sondern auch die Farbe der Zeile angezeigt wird...

Oder kann ich da irgendetwas durch die bedingte Formatierung hinbekommen, da ich zwischen den beschriebenen Zellen immer eine Zeile frei habe, d.h. daß er immer bei der ersten beschriebene Zeile die ganze Zeile gelb einfärbt...
Allerdings dürfte das Ganze erst ab Zeile 30 aktiv werden...

Gruß Thomas
Bild

Betrifft: AW: Bitteschön !!! o.T.
von: Thomas
Geschrieben am: 03.10.2003 19:36:43
Hätte da noch ein Problem... :-(

Habe in einer Tabelle folgende Formeln eingesetzt:
Zelle A30: =INDIREKT(ADRESSE(4;1;;;$A$16))

Zelle A31: =WENN(INDIREKT(ADRESSE(ZEILE()-26;1;;;$A$16))=0;"";INDIREKT(ADRESSE(ZEILE()-26;1;;;$A$16)))
u.s.w.

Durch diese Formeln bekomme ich ja Daten aus einer anderen Tabelle in deren Zellen angezeigt...
Nun möchte ich aber, daß nicht nur die Daten sondern auch die Farbe der Zeile angezeigt wird...

Oder kann ich da irgendetwas durch die bedingte Formatierung hinbekommen, da ich zwischen den beschriebenen Zellen immer eine Zeile frei habe, d.h. daß er immer bei der ersten beschriebene Zeile die ganze Zeile gelb einfärbt...
Allerdings dürfte das Ganze erst ab Zeile 30 aktiv werden...

Gruß Thomas
Bild

Betrifft: Rückfrage !!!
von: Panicman
Geschrieben am: 03.10.2003 21:13:04
Hallo Thomas,

ich verstehe deine Frage nicht.
Soll ab Zeile 30 jede 2. Zeile gelb werden, wenn ein Wert über Indirekt() drin steht?
oder soll jede Zelle ab Zeile 30 gelb werden, wenn durch Indirekt() ein Wert drin steht.

Erklär mal genauer

Gruß
Holger
Bild

Betrifft: AW: Rückfrage !!!
von: Thomas
Geschrieben am: 03.10.2003 22:39:42
also, z.B.: in Zelle A30,B30,C30,D30,E30,F30
und in Zelle A31,B31,C31,D31,E31,F31 werden die Daten angezeigt...
dann wird erst wieder in Zelle A33,B33,C33 usw. Daten angezeigt...

Jetzt müsste praktisch A30,B30,C30,D30,E30,F30 gelb markiert werden und dann erst wieder Zelle A33,B33,C33 usw.

Das Problem ist aber, da sich dies ständig ändert,z.B.: von A30 bis F37 werden Daten angezeigt,dann kommt wieder eine Leerzeile...
Dann wieder Daten von z.B.: A39 bis F45

Dabei soll dann praktisch wieder nur A30 bis F30 gelb markiert werden und dann erst wieder A39 bis F39. Wie gesagt das ändert sich jedesmal.
Es müsste praktisch immer wieder die erste beschrieben Zeile ermittelt werden die dann Gelb formatiert wird...

Gruß Thomas
Bild

Betrifft: meinst du so ??
von: Panicman
Geschrieben am: 03.10.2003 23:56:04
Hallo Thomas,

schau dir mal die bedingte Formatierung an.
https://www.herber.de/bbs/user/1284.xls

Gruß
Holger
Bild

Betrifft: AW: meinst du so ??
von: Thomas
Geschrieben am: 04.10.2003 01:16:48
ja aber das Problem ist dann daß ich jede Zelle mit der bedingten formatierung bestücken muß...
und der zellbereich geht von A30 bis F5000...

Dann sind meine Finger wund...*ohgott*

Gibt es was einfacheres...?

Gruß Thomas
Bild

Betrifft: Ja, gibt es !!
von: Panicman
Geschrieben am: 04.10.2003 01:25:29
Hallo Thomas,

die Formel in der bedingten Formatierung um die 2 "$" ergänzen.
=UND($A30<>"";$A29="")
dann die Zelle A30 kopieren, dann den Bereich A30:F5000 markieren.
Menü/Bearbeiten/Inhalte einfügen FORMATE und OK.

dann hast du überall die gelben Zeilen, wenn die Zeile einen Wert hat
und die Zeile davor leer ("") ist.

Gute Nacht
Holger
Bild

Betrifft: AW: Ja, gibt es !!
von: Thomas
Geschrieben am: 04.10.2003 12:17:29
Suuuuuuuuuuuuuuuuper

Geht alles...
Vielen Dank nochmal...

Gruß Thomas
Bild

Betrifft: Bitteschön, hab gern geholfen !!! o.T.
von: Panicman
Geschrieben am: 04.10.2003 15:56:38
Bild

Betrifft: AW: Fehler beim kopieren mit Vba
von: Thomas
Geschrieben am: 03.10.2003 19:37:51
Hätte da noch ein Problem... :-(

Habe in einer Tabelle folgende Formeln eingesetzt:
Zelle A30: =INDIREKT(ADRESSE(4;1;;;$A$16))

Zelle A31: =WENN(INDIREKT(ADRESSE(ZEILE()-26;1;;;$A$16))=0;"";INDIREKT(ADRESSE(ZEILE()-26;1;;;$A$16)))
u.s.w.

Durch diese Formeln bekomme ich ja Daten aus einer anderen Tabelle in deren Zellen angezeigt...
Nun möchte ich aber, daß nicht nur die Daten sondern auch die Farbe der Zeile angezeigt wird...

Oder kann ich da irgendetwas durch die bedingte Formatierung hinbekommen, da ich zwischen den beschriebenen Zellen immer eine Zeile frei habe, d.h. daß er immer bei der ersten beschriebene Zeile die ganze Zeile gelb einfärbt...
Allerdings dürfte das Ganze erst ab Zeile 30 aktiv werden...

Gruß Thomas
 Bild
Excel-Beispiele zum Thema " Fehler beim kopieren mit Vba"
Fehlermeldung #NV ausblenden Fehlermeldung abfangen
Fehler in Workbook_Open-Prozedur abfangen Fehlermeldung #DIV/0! verhindern
Fehler entfernen Fehlermeldung abfangen und in sequentielle Datei schreiben
Fortlaufende Suche unter Vermeidung eines Laufzeitfehlers VBA-Fehlermeldungen auflisten
Alle Zellen mit der #BEZUG!-Fehlermeldung auswählen Zahlenstring mit Formel auslesen und Fehlermeldung verhindern