Excel Makro VBA | Zellenbereich erweitern und nach rechts verschieben?


28.01.2021, 11:39
Sub aufdroeseln()
   Dim Zelle As Range
   Columns("C7:C14").Insert Shift:=xlToRight
   For Each Zelle In Range("C7:C14" & Range("C65536").End(xlUp).Row)
      If Zelle.Font.Bold = True Then
         Zelle.Offset(0, 1).Value = Zelle
         Zelle.ClearContents
      End If
   Next
   Columns("C7:C14").Font.Bold = False
End Sub




2 Antworten

Wenn ich G6:G20 markiere und dann Start → Zellen → Einfügen → Zellen einfügen... → Zellen nach rechts verschieben → OK ausführe, dann wird eine Spalte für die markierten Zeilen in der markierten Spalte eingefügt.

Geht es dir um die Formatierung, die dann nicht stimmt?

Woher ich das weiß:Berufserfahrung – Programmierer

Warum denn eine "Spalte" einfügen.
Einfach die Inhalte von G6:G20 nach Rechts verschieben/kopieren.
Was bereits dort steht wird überschrieben und die Zellen G6:G20 werden geleert.

""Verschieben" der Zellen eins nach Rechts
Const SpaltenAnfang = 7
Const SpaltenEnde = 100 'Wenn es irgendwann über die 100 Spalten hinaus geht, dann diese Zahl erhöhen.

Worksheets("blabla").Range(Worksheets("blabla").Cells(6,SpaltenAnfang+1),Worksheets("blabla").Cells(2,SpaltenEnde+1)) = _
Worksheets("blabla").Range(Worksheets("blabla").Cells(6,SpaltenAnfang),Worksheets("blabla").Cells(6,SpaltenEnde))

Löschen der Inhalte Spalte G6->20
Worksheets("blabla").Range("G6:G20").DeleteContents
======
Generell glaube ich aber du solltest deine Daten anders strukturieren, um am Schluss wirklich übersichtlich zu sein. (Beschäftige dich mit PIVOT)


xXThreeGamerXx 
Beitragsersteller
 28.01.2021, 17:04

Was muss ich hier denn noch alles anpassen?

1