Excel: horizontales AutoAusfüllen

Ein senkrechtes AutoAusfüllen ist mit einem Doppelklick auf die richtige Stelle erledigt. Aber wie geht dasselbe auch horizontal?

von Gaby Salvisberg 05.06.2018

Fürs senkrechte AutoAusfüllen kennt Excel einen einfachen Trick: Man tippt die Formel ins oberste Feld und doppelklickt aufs kleine Viereck der Zellmarkierung. Schon füllt Excel die darunter liegenden Zellen automatisch aus. Aber für horizontales Ausfüllen gibt es keinen solchen Trick. Es sei denn, man greift zu einem Makro.

Für horizontales AutoAusfüllen bietet Excel keinen Doppelklick Für horizontales AutoAusfüllen bietet Excel keinen Doppelklick © pctipp.ch

In der Tat bietet Excel den erwähnten einfachen Trick nur fürs AutoAusfüllen untereinander liegender Zellen. Es gibt aber keinen Shortcut, um eine Formel in weitere nebeneinander liegende Zellen zu kopieren, hier etwa die Formel aus B5 nach C5 bis K5. Natürlich werden Sie das manuell machen: Das kleine grüne Anfasserviereck in B5 per Maus schnappen und nach rechts ziehen.

Lösung: Wer sehr häufig Formeln nach rechts ausfüllen muss und hierbei mit vielen Spalten arbeitet, dürfte sich über etwas Makrounterstützung für diese Aufgabe freuen.

Rufen Sie mit Alt+F11 den VBA-Editor auf den Plan. Doppelklicken Sie in der linken Spalte auf jene Arbeitsmappe, in der Sie Ihre Makros verwalten. Das ist üblicherweise Personal.xlsb und liegt in einem Vorlagenordner. Fügen Sie den Makrocode ein.

So sieht das Makro im VBA-Editor aus So sieht das Makro im VBA-Editor aus © pctipp.ch

Falls Sie ihn nicht abtippen mögen, kopieren Sie ihn aus dem grauen Makro-Feld und fügen ihn in Ihren VBA-Bereich ein.

Sub HorizontalAusfuellen()

Dim ze As Long, zeDrüber As Long, zeDrunter As Long
Dim sp As Long, maxSp As Long

With ActiveCell
ze = .Row
sp = .Column
zeDrüber = WorksheetFunction.Max(ze - 1, 1)
zeDrunter = WorksheetFunction.Min(ze + 1, Rows.Count)
maxSp = Cells(zeDrüber, Columns.Count).End(xlToLeft).Column
maxSp = WorksheetFunction.Max(maxSp, Cells(zeDrunter, Columns.Count).End(xlToLeft).Column)
.AutoFill Destination:=Range(Cells(ze, sp), Cells(ze, maxSp))
End With

End Sub

Klicken Sie aufs Speichern-Symbol und bauen Sie das Makro z.B. in Ihre Schnellzugriffsleiste ein. Von nun an geht es so: Tippen Sie die Formel in der gewünschten Zelle der ersten Spalte ein und drücken Sie Enter. Bleiben Sie auf der Zelle und starten Sie das Makro. Die Formel wird in alle benutzten Spalten rechts davon weiterkopiert. (PCtipp-Forum)