Zeilen und Spalten vervollständigen

VBA und Makros
Codeschnipsel
Arbeitsblatt
Tabellen
Vervollständigung
Zeilen und Spalten
Excel

Ausgangslage - Was tut dieser Code-Schnipsel?

Vielleicht kennen Sie diese Situation auch: Sie haben eine Tabelle und in einer Zeile oder Spalte fehlen Einträge, die Sie automatisch vervollständigen wollen.
Hier ein visualisiertes Beispiel:

  A B C D E
 1  Beispiel A                                            
 2           
 3           
 4  Beispiel B        
 5           
 6           
 7           
 8  Beispiel C        
 9           
 10           

Und das Ergebnis nach dem Vervollständigungsmakro sollte so aussehen:

  A B C D E
 1  Beispiel A                                            
 2  Beispiel A        
 3  Beispiel A         
 4  Beispiel B        
 5  Beispiel B         
 6  Beispiel B         
 7  Beispiel B         
 8  Beispiel C        
 9  Beispiel C         
 10  Beispiel C         

Für diese Vervollständigungsarbeit finden Sie folgend zwei Makros: Einmal für Spalten- und einmal für Zeilen-Vervollständigung. Markieren Sie die zu vervollständigende Zeile/Spalte und starten Sie das Makro.

Der Quelltext

Option Explicit
' Original-Quelltext unter: https://www.online-vba.de/zeilen-und-spalten-vervollstaendigen
' Express-Hilfe für VBA unter https://www.online-vba.de/vba-expresshilfe
' Es gelten die Nutzungsbedingungen von Online-VBA.de

Public Sub OVBAde_ZeilenNachUntenVervollstaendigen()
  Dim oRow As Object
    
    For Each oRow In Selection.Rows
        If Trim(CStr(Cells(oRow.Row, Selection.Column).Value)) = "" And oRow.Row <> Selection.Row Then
            Cells(oRow.Row, Selection.Column).Value = Cells(oRow.Row - 1, Selection.Column).Value
        End If
    Next oRow
    
    Set oRow = Nothing
End Sub

Public Sub OVBAde_SpaltenNachRechtsVervollstaendigen()
  Dim oCol As Object
    
    For Each oCol In Selection.Columns
        If Trim(CStr(Cells(Selection.Row, oCol.Column).Value)) = "" _
          And
oCol.Column <> Selection.Column Then
            Cells(Selection.Row, oCol.Column).Value = Cells(Selection.Row, oCol.Column - 1).Value
        End If
    Next oCol
    
    Set oCol = Nothing
End Sub

Anmerkungen und Hinweise

Dieser Codeschnipsel wurde geschrieben von Marc Wershoven im Jahr 2013.
Die Nutzung erfolgt auf eigene Gefahr. Bitte denken Sie immer zuerst an eine ausreichende Datensicherung. Wir können keinen kostenlosen Support anbieten. Es gelten unsere Nutzungs­bedingungen.


So einfach läuft unsere VBA-Expresshilfe ab

1
Senden Sie uns Ihre Office-Datei oder Ihren VBA-Code (gerne anonymisiert) mit einer kurzen Problembeschreibung oder Ihrem Erweiterungswunsch per E-Mail.
2
Wir analysieren Ihr Anliegen schnell und schicken Ihnen umgehend (tagsüber meist innerhalb von 1-2 Stunden) ein Festpreis-Angebot.
3
Nach Ihrer Zustimmung lösen wir Ihr Problem (meist noch am gleichen Tag) oder setzen Ihre Erweiterung zuverlässig um – inklusive verständlicher Dokumentation der durchgeführten Maßnahmen.

Jetzt kontaktieren!







Mit einem * gekennzeichnete Eingabefelder sind Pflichtfelder.
Datenschutzhinweise zum Kontaktformular: Die von Ihnen im Kontaktformular bereitgestellten Daten werden ausschließlich zur Bearbeitung Ihrer Anfrage verwendet und nicht ohne Ihre Zustimmung an Dritte weitergegeben. Ihre Daten werden nur für den Zeitraum gespeichert, der zur Bearbeitung Ihrer Anfrage erforderlich ist. Weitere Hinweise zum Datenschutz finden Sie in unserer Datenschutzerklärung.
Hinweis: Für die vollständige Funktion dieser Website ist JavaScript erforderlich.
Bitte aktivieren Sie JavaScript in Ihrem Browser, um alle Inhalte und interaktiven Funktionen nutzen zu können.