Zeilenhöhe in Excel mit VBA kopieren und übertragen
Schritt-für-Schritt-Anleitung
Um die Zeilenhöhe in Excel mithilfe von VBA zu kopieren, kannst du folgende Schritte befolgen:
-
Öffne den VBA-Editor: Drücke ALT + F11
, um den Editor zu öffnen.
-
Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (deinDateiname)", wähle "Einfügen" und dann "Modul".
-
Kopiere den folgenden Code in das Modul:
Sub ZeilenhoeheKopieren()
Dim rngSource As Range, rngTarget As Range
Dim lngZeile As Long
' Quellbereich auswählen
Set rngSource = Selection
' Zielbereich festlegen (zum Beispiel: A1)
Set rngTarget = Application.InputBox("Wähle die Zielzelle:", Type:=8)
' Kopiere den Quellbereich
rngSource.Copy
rngTarget.PasteSpecial Paste:=xlFormats
Application.CutCopyMode = False
' Zeilenhöhe übertragen
For lngZeile = 1 To rngSource.Rows.Count
rngTarget.Cells(lngZeile, 1).RowHeight = rngSource.Rows(lngZeile).RowHeight
Next lngZeile
End Sub
-
Führe das Makro aus: Markiere den gewünschten Bereich in Excel, gehe zurück zum VBA-Editor und drücke F5
, um das Makro auszuführen. Wähle anschließend die Zielzelle aus.
Häufige Fehler und Lösungen
Alternative Methoden
Eine einfache Möglichkeit, die Zeilenhöhe zu kopieren, besteht darin, die Funktion "Format übertragen" in Excel zu verwenden. Wähle die Zeile mit der gewünschten Höhe aus, klicke auf das Pinsel-Symbol in der Symbolleiste und übertrage die Formatierung auf die Zielzeile. Dies funktioniert jedoch nicht in Kombination mit VBA.
Praktische Beispiele
Hier sind einige nützliche VBA-Skripte für verschiedene Szenarien:
-
Kopieren der Zeilenhöhe und -breite:
Sub ZeilenUndSpaltenKopieren()
Dim rngSource As Range, rngTarget As Range
Set rngSource = Selection
Set rngTarget = Application.InputBox("Wähle die Zielzelle:", Type:=8)
' Kopiere die Zeilenhöhe
For i = 1 To rngSource.Rows.Count
rngTarget.Rows(i).RowHeight = rngSource.Rows(i).RowHeight
Next i
' Kopiere die Spaltenbreite
For i = 1 To rngSource.Columns.Count
rngTarget.Columns(i).ColumnWidth = rngSource.Columns(i).ColumnWidth
Next i
End Sub
-
Kopieren der Zellengröße in ein anderes Blatt:
Sub ZellenGroeßeKopieren()
Dim rngSource As Range
Set rngSource = Selection
' Wechselt zu einem anderen Blatt
Sheets("ZielBlatt").Select
rngSource.Copy Destination:=Range("A1")
Application.CutCopyMode = False
End Sub
Tipps für Profis
- Nutze pasteSpecial VBA: Der Einsatz von
PasteSpecial
ermöglicht dir, nur die Formatierungen zu übertragen und die Zeilenhöhe beizubehalten.
- Variabilität einfügen: Passe den Zielbereich dynamisch an, indem du die
InputBox
-Funktion verwendest, um den Benutzer die Zielzelle auswählen zu lassen.
- Makros abspeichern: Speichere deine Makros in einer persönlichen Makroarbeitsmappe, um sie in allen Excel-Dateien nutzen zu können.
FAQ: Häufige Fragen
1. Wie kann ich die Zeilenhöhe in Excel übertragen, ohne VBA zu nutzen?
Du kannst die Funktion "Format übertragen" verwenden, um die Zeilenhöhe manuell zu kopieren.
2. Funktioniert dieser Code in Excel 365?
Ja, der VBA-Code ist mit Excel 365, Excel 2019 und älteren Versionen kompatibel. Achte darauf, dass Makros aktiviert sind.
3. Kann ich auch die Spaltenhöhe kopieren?
Ja, du kannst die Spaltenhöhe mit einer ähnlichen Vorgehensweise kopieren, indem du die ColumnWidth
-Eigenschaft anwendest.