Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1556to1560
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Hilfe neues Quartal/Spalte in VBA

Hilfe neues Quartal/Spalte in VBA
22.05.2017 14:31:01
JonnyBank
Hallo Freunde
Ich habe folgendes Problem ich möchte in meiner Beispieldatei ein neues Quartal per Buttonklick hinzufügen.
das Makro müsste also folgendes können:
1. die letzte Spalte ermitteln (Vorquartal) um zu wissen wo das neue Quartal hinzugefügt werden soll
2. neue Spalte einfügen
2. nur Formeln (mit entsprechender Formatierung) sollen übernommen bzw. weitergezogen werden( nice to have : zum Jahresende 31.12 können sich die Formeln unterscheiden somit die Formel aus dem Vorjahr nehmen)
3. Werte sollen nicht übernommen werden, da diese monatlich ermittelt werden und nachgetragen werden.
Ich muss im Moment jede einzelne Zeile anpassen was bei über 1000 Zeilen schon etwas dauert.
wäre super wenn mir jemand helfen könnte.
Danke euer Jonny
Link zum Beispiel
https://www.herber.de/bbs/user/113727.xlsx

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe neues Quartal/Spalte in VBA
22.05.2017 15:40:04
UweD
Hallo Jonny
so?
Private Sub QQQ()
    On Error GoTo Fehler
    Dim TB, SP As Integer, LR As Double, LC As Integer
    Dim EZ As Integer, LastQ As Date, RNG, OF As Integer
    
    Set TB = Sheets("Tabelle1")
    SP = 2 'Spalte B 
    EZ = 3 'ab Zeile 
    
    With TB
        LR = .Cells(.Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte 
        LC = .Cells(EZ, .Columns.Count).End(xlToLeft).Column 'letzte Spalte einer Zeile 
        LastQ = .Cells(EZ, LC) 'letztes Quartalsende 
        
        Set RNG = .Range(.Cells(EZ + 1, LC + 1), .Cells(LR, LC + 1))
        
        OF = IIf(Month(LastQ) = 9, 4, 1)
        
        RNG.Offset(0, -OF).Copy RNG
        
        On Error Resume Next
        RNG.SpecialCells(xlCellTypeConstants, 23).ClearContents 'konstante Werte löschen 
        On Error GoTo Fehler
    
        .Cells(EZ, LC + 1).Value = DateSerial(Year(LastQ), Month(LastQ) + 4, 0)
        
    End With
    '*** Fehlerbehandlung 
    Err.Clear
Fehler:
    If Err.Number <> 0 Then MsgBox "Fehler: " & _
        Err.Number & vbLf & Err.Description: Err.Clear
End Sub

LG UweD
Anzeige
AW: Hilfe neues Quartal/Spalte in VBA
23.05.2017 10:22:38
JonnyBank
Danke UweD
Es dein Makro funktioniert sehr gut in der Beispiel Dateien ich versuche es mal auf die eigentliche Datei anzuwenden.
mfg Jonny
AW: Hilfe neues Quartal/Spalte in VBA
23.05.2017 10:40:44
JonnyBank
Also erst mal das Makro ist der Knaller!
kleines Problem besteht aber noch. Vielleicht kannst du mir da auch noch helfen..
ich habe nach dem aktuellen Quartal noch eine Spalte die unter anderem die Schaltfläche zum starten des Makros beinhaltet könnte diese dann nach aktivieren eins weiter nach rechts rutschen da sonst die Schaltfläche nicht weiter nach rechts springt und das Format danach überschrieben wird ...
mfg Jonny
AW: Hilfe neues Quartal/Spalte in VBA
23.05.2017 11:35:45
UweD
Hallo
ok. dann eine Zeile ergänzen.
        LastQ = .Cells(EZ, LC) 'letztes Quartalsende 
        .Columns(LC + 1).Insert ' neu hinzu 
        Set RNG = .Range(.Cells(EZ + 1, LC + 1), .Cells(LR, LC + 1))

LG UweD
Anzeige
AW: Hilfe neues Quartal/Spalte in VBA
23.05.2017 13:30:25
JonnyBank
Perfekt!
Danke dir!
mfg Jonny
AW: gern geschehen owt
23.05.2017 13:37:35
UweD

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige