Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1176to1180
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Format übertragen per Makro

Format übertragen per Makro
Wilhelm
Hallo,
ich erhalte täglich eine Textdatei mit Datensätzen, die ich über ein Query meiner Excel-Tabelle hinzufüge.
Die Anzahl der Datensätze variiert täglich (ca. zwischen 50 und 200).
In der Excel-Tabelle sind die bereits vorhandenen Datensätze formatiert (Rahmen etc.). Mit dem untenstehenden Makro übertrage ich das Format der Vorgängerzeile auf die neu eingespielten Datensätze, wobei ich leider die Anzahl nie so genau treffe, d.h. es ist Nacharbeit erforderlich.
Meine Frage: Wie müsste ich mein Makro verändern, dass nicht mehr und nicht weniger der neu eingespielten Zeilen (also alle neuen Datensätze unterhalb der formatgebenden Zeile) formatiert werden, also jeweils genau die richtige Anzahl neuer Datensätze?
Hier mein Makro:

Sub FormatÜbertragen()
ActiveCell.Offset(0, 0).Range("A1:K1").Select
Selection.Copy
ActiveCell.Offset(0, 0).Range("A2:K100").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End Sub

Vielen Dank für Eure Unterstützung!
Willi

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Format übertragen per Makro
13.09.2010 11:42:09
Backowe
Hi Willi,
Sub FormatÜbertragen()
Dim LZeile As Long
LZeile = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
Range("A1:K1").Copy
Range("A2:K" & LZeile).PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
End Sub
Gruß Jürgen
AW: Format übertragen per Makro
13.09.2010 12:18:45
Wilhelm
Hallo Jürgen,
vielen Dank für den Lösungsansatz - leider trifft es nicht ganz zu.
Ich habe im Makro einen relativen Bezug drin, daher ist Zelle A1 nicht "wörtlich" zu nehmen.
Vielmehr sind in den ersten 5 Zeilen (A1 bis K5) Tabellenüberschrift, Untertitel, 2 Leerzeilen und die Spaltenüberschriften enthalten.
Mit Deinem Lösungscode wird das Format demnach auf die neuen Datensätze PLUS 5 Zeilen übertragen.
Leider verstehe ich in Deinem Code die Zeile
"LZeile = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row"
auch nicht, so dass ich sie "zu meinen Gunsten" entsprechend verändern könnte.
Hast Du oder jemand anderes vielleicht noch Rat?
Willi
Anzeige
AW: Format übertragen per Makro
13.09.2010 12:23:21
Backowe
Hi,
mit "Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row" ermittele ich die letzte Zeile im Sheet. Dann ziehe einfach 5 ab von LZeile.
Gruß Jürgen
AW: Format übertragen per Makro
13.09.2010 12:42:24
Wilhelm
Hallo Jürgen,
das ist es leider nicht.
Nach meinen Tests überträgt Dein Lösungscode immer ausgehend vom absoluten Bezug A1 das Format, je nach Cursorposition teilweise auch in darüberliegende Zeilen. Das ist leider nicht gewollt.
Daher vielleicht noch mal etwas anders und evtl. verständlicher formuliert:
Ich habe den Cursor im letzten formatierten "alten" Datensatz stehen (z.B. A3250).
Darunter sind eine unbestimmte Anzahl neuer Datensätze - unformatiert.
Die neuen Datensätze sollen nun "per Klick" so formatiert werden wie der letzte "alte" Datensatz (also im Beispiel so wie Zeile A3250:K3250).
Danke für die Mühen!
Willi
Anzeige
Dann eben so!
13.09.2010 12:47:25
Backowe
Hi Willi,
Sub FormatÜbertragen()
Dim LZeile As Long
LZeile = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
Range("A" & ActiveCell.Row & ":K" & ActiveCell.Row).Copy
Range("A" & ActiveCell.Row + 1 & ":K" & LZeile).PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
End Sub
Gruß1
AW: Dann eben so!
13.09.2010 13:02:44
Wilhelm
Hi Jürgen,
ganz herzlichen Dank - das ist die Lösung meines Problems!
Viele Grüße,
Willi

14 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige