Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Spalte einfügen und Monat hinterlegen

Spalte einfügen und Monat hinterlegen
Markus
Hallo zusammen,
ich brauche Eure Hilfe!
Ich habe folgende Tabelle.
https://www.herber.de/bbs/user/76983.xls
Der erste Reiter - so sieht es aus.
Der zweite Reiter - so soll es aussehen. Per Makro würde ich ab Zeile 3 eine neue Spalte A einfügen.
Was ich aber nicht hinkriege. Wie kann ich per VBA-Code genau die einzelnen Monate - wie dargestellt - clustern. Im Beispiel habe ich das für Januar, Februar und März manuell gemacht.
Viele Grüße
Markus
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Spalte einfügen und Monat hinterlegen
13.10.2011 11:54:03
Markus
Noch zur Ergänzung.
Der Kalender wird per Makro erstellt. Daher wäre es super, wenn der letzte Schritt (Spalte und Monat clustern) auch mit einem VBA-Code funktionieren könnte.
AW: Spalte einfügen und Monat hinterlegen
13.10.2011 13:16:42
Tino
Hallo,
kannst mal testen, Tabelle im Code noch anpassen.

Sub Start()
Dim rngAnfang As Range, rngEnde As Range, rngBereich As Range
Dim n&

With Application
    .ScreenUpdating = False
    .DisplayAlerts = False
    .EnableEvents = False

    With Tabelle1 'Tabelle anpassen <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 
        Set rngBereich = .Range("A3", .Cells(.Rows.Count, 1).End(xlUp))
        rngBereich.Insert Shift:=xlToRight
        Set rngBereich = rngBereich.Offset(0, -1)
        With rngBereich
            .FormulaR1C1 = "=IF(RC[1]<>"""",MONTH(RC[1]),"""")"
            .Value = .Value
            For n = 1 To 12
                Set rngAnfang = .Find(What:=n, After:=.Cells(.Rows.Count, 1), LookIn:=xlValues, LookAt:= _
                                 xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext)
                Set rngEnde = .Find(What:=n, SearchDirection:=xlPrevious)

                If Not rngAnfang Is Nothing Then
                    If Not rngEnde Is Nothing Then
                        With Range(rngAnfang, rngEnde)
                            .MergeCells = True
                            .HorizontalAlignment = xlCenter
                            .VerticalAlignment = xlCenter
                            .Orientation = xlVertical
                            .Value = MonthName(n, False)
                            
                            With .Font
                                .FontStyle = "Fett"
                                .Size = 15
                            End With
                        End With
                    End If 'rngEnde 
                End If 'rngAnfang 
                Set rngAnfang = Nothing: Set rngEnde = Nothing
            Next n
        End With
    End With

    .ScreenUpdating = True
    .DisplayAlerts = True
    .EnableEvents = True
End With
End Sub
Gruß Tino
Anzeige
AW: Spalte einfügen und Monat hinterlegen
13.10.2011 19:12:31
Markus
Hallo Tino,
das Makro meckert an folgender Stelle:
Set rngBereich = .Range("A3", .Cells(.Rows.Count, 1).End(xlUp))
Laufzeitfehler 424
Objekt erforderlich
Klappt
13.10.2011 19:15:36
Markus
Hallo Tino,
funktioniert perfekt. Ich hatte einen Fehler beim Reiternamen.
Besten Dank!
Viele Grüße
Markus
Anzeige
@ Tino : HELP!
15.10.2011 12:16:01
Markus
Hallo Tino,
wie müsste der Code geändert werden, wenn ich die Spalte A ab Zeile 3 bereits für diesen Code vorgesehen habe. Also ohne einfügen dieses Bereiches.
Ich kriege es nicht hin. :-(
Danke!
Viele Grüße
Markus
AW: @ Tino : HELP!
15.10.2011 13:44:14
Tino
Hallo,
was meinst Du damit?
Ist dieser Bereich bereits als Name definiert?

Set rngBereich = Range("Mein Name für diesen Bereich")

Ist dieser Bereich bereits als Range- Objekt in einer Variablen festgelegt?

Set rngBereich = rngMainRangeObject
In beiden fällen kannst Du das With Tabelle1 u. das dazugehörige End With weglassen,
wenn der Code sich in einem allgemeinen Modul befindet.
Gruß Tino
Anzeige
AW: @ Tino : HELP!
15.10.2011 14:40:28
Tino
Hallo,
ach so die Spalte ist schon vorhanden.
Kannst mal testen.
https://www.herber.de/bbs/user/77022.xls
Gruß Tino
Anzeige
Perfekt, danke schön!
15.10.2011 14:53:58
Markus
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige