Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Fomat nur für erste neu hinzugefügte Zeile kopiere


Betrifft: Fomat nur für erste neu hinzugefügte Zeile kopiere von: Christian Scheler
Geschrieben am: 15.01.2018 09:56:28

Hallo,

mein erster Beitrag hier.
Habe schon viel mitgelesen und mir oft gute Tips holen können.

Jetzt habe ich aber ein Problem, welches sich nicht so einfach lösen lässt und ich habe auch nichts dazu gefunden.

Ich habe einen Code erstellt, welcher aus einem Tabellenblatt namens "Katalog" anhand einer zuvor getroffenen Auswahl über Checkboxen, gewisse Teile (dynamisch) aus dem Katalog in ein anderes Tabellenblatt kopiert. Es wird immer bei der nächsen freien Zeile begonnen.

Die erste Zeile einer Kategorie im Katalog ist immer mit "verbinden und zentrieren" formatiert. Dies wird aber leider nicht mit kopiert.

Das sollte noch passieren, aber wie kann ich das in meinen Code noch mit einbinden?

Vielen Dank im Voraus für Eure Hilfe.

Code:

If ActiveSheet.CheckBoxes("Check Box F1").Value = 1 Then
Set myRange = Worksheets("Katalog").Columns(1).Find(What:="1", After:=Worksheets("Katalog").Cells(Rows.Count, 1), LookAt:=xlWhole)
If Not myRange Is Nothing Then
strAddress = myRange.Address
Do
lngCounter = lngCounter + 1
With Worksheets("FMEA_DE")
.Range(.Cells(.Cells(Rows.Count, 1).End(xlUp).Row + 1, 1), .Cells(.Cells(Rows.Count, 1).End(xlUp).Row + 1, 256)) = Worksheets("Katalog").Range(Worksheets("Katalog").Cells(myRange.Row, 1), Worksheets("Katalog").Cells(myRange.Row, 256)).Value
End With
Set myRange = Worksheets("Katalog").Columns(1).FindNext(myRange)
Loop While Not myRange Is Nothing And myRange.Address <> strAddress
'MsgBox CStr(lngCounter) & " Zeilen kopiert.", 64, "Information"
Else
MsgBox "Keine Daten zum kopieren gefunden.", 48, "Hinweis"
End If
End If

Katalog sieht ungefähr so aus:

1 Kategorie 1
1 01 Zeile 1 Text ABC ...
1 02 Zeile 2 Text ABC ...
1 03 Zeile 3 Text ABC...
2 Kategorie 2
2 01 Zeile 1 Text ABC...
2 02 Zeile 2 Text ABC...
2 03 Zeile 3 Text ABC...
.
.
.

Es soll also, wenn ich CheckBox F1 anwähle, alles was vorn eine "1" hat, kopiert werden (geht bereits), aber bei der ersten Zeile von z.B. Kategorie 1 soll die Formatierung mit kopiert werden.
Ebenso dann wenn ich die "2er", "3er" .... kopieren will.

  

Betrifft: AW: Fomat nur für erste neu hinzugefügte Zeile kopiere von: Werner
Geschrieben am: 15.01.2018 11:42:54

Hallo Christian,

schon mal mit copy und paste versucht und die Formate dann auch noch mit kopieren?
Wobei ich dir nicht sagen kann, ob verbundene Zellen tatsächlich dann auch mit dem Format mit übernommen werden.
Aber auf verbundene Zellen würde ich lieber verzichten, die machen sowieso nur Probleme.

With Worksheets("FMEA_DE")
    Worksheets("Katalog").Range(Worksheets("Katalog").Cells(myRange.Row, 1), _
    Worksheets("Katalog").Cells(myRange.Row, 256)).Copy
    .Range(.Cells(.Cells(Rows.Count, 1).End(xlUp).Row + 1, 1), _
    .Cells(.Cells(Rows.Count, 1).End(xlUp).Row + 1, 256)).PasteSpecial Paste:=xlValues
    .Range(.Cells(.Cells(Rows.Count, 1).End(xlUp).Row + 1, 1), _
    .Cells(.Cells(Rows.Count, 1).End(xlUp).Row + 1, 256)).PasteSpecial Paste:=xlFormats
    Application.CutCopyMode = False
End With
Gruß Werner


Beiträge aus dem Excel-Forum zum Thema "Fomat nur für erste neu hinzugefügte Zeile kopiere"