Excel Spalte einfügen, wenn "wenn-funktion" erfüllt?

3 Antworten

Du könntest z.B. mit der Funktion Monatsende arbeiten und ohne Leerzellen den Kalender ab 1.3. fortführen.

Bild zum Beitrag

 - (Computer, Formel, Microsoft Excel)

Mit EntireColumn.Insert fügst du eine Spalte ein. Für die Abfrage, ob ein Jahr ein Schaltjahr ist, reicht eine kleine Funktion.

Sub optimierer()
   Dim jahr As Integer
   jahr = Range("Jahr").Value
   If IsSchaltjahr(jahr) Then _
      ActiveCell.Offset(0, 1).EntireColumn.Insert
End Sub

Function IsSchaltjahr(jahr As Integer)
   IsSchaltjahr = jahr Mod 4 = 0 And (jahr Mod 100 <> 0 Or jahr Mod 400 = 0)
End Function

Akelie 
Beitragsersteller
 12.01.2022, 11:39

Das sieht schonmal vielversprechend aus, wo in dem Code kann ich denn einfügen wo die Spalte eingefügt werden soll. In meinem Beispiel wäre das zwischen Spalte BH und Bi.

Suboptimierer  12.01.2022, 11:42
@Akelie

Anstelle von ActiveCell kannst du den Ort beliebig wählen, an dem die Spalte eingefügt werden soll. In deinem Beispiel Range("BI1").EntireColumn.Insert

Akelie 
Beitragsersteller
 12.01.2022, 11:46
@Suboptimierer

Vielen vielen Dank. Super schnelle Antwort und funktioniert einwandfrei.

Das geht mit Formeln nicht. Dazu musst Du Makros verwenden. Kennst Du Dich damit aus?


Akelie 
Beitragsersteller
 12.01.2022, 10:59

Ja, habe bereits Makros eingefügt. Jedoch habe ich nichts im Internet gefunden wie man eine Spalte über einen Makro einfügt. Bin auch kein Experte in Makros.