Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
984to988
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
984to988
984to988
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro 12 Monatseinträge erzeugen

Makro 12 Monatseinträge erzeugen
19.06.2008 20:04:00
MarkusL
Hallo,
ich suche ein VBA Lösung die nachfolgende Problemstellung bearbeitet.
Ich habe ein Tabellenblatt in dem verschiedene Sätze (jeweils in einer Zeile) mit einem gültig ab Monat erfaßt sind. Ich suche nun eine VBA Möglichkeit die enstsprechend des ab Monats in einem neuen Tabellenblatt jeweils einen Monatseintrag, ab gültig ab Monat bis Monats 12 erzeugt. Dies soll heißen bei einem ab Monat 2 werden 11 einzelne Zeilen/Sätze mit dem gleichen Zeileninhalt aus dem Basistabellenblatt erzeugt. Es soll so eine Datenbank mit monatlichen Einzelsätzten erzeugt werden (... wie z.B. bei einem Lohnkonto).
Danke für die Hilfe
Markus

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro 12 Monatseinträge erzeugen
20.06.2008 07:09:00
fcs
Hallo Markus,
hier das Grundgerüst für ein solches Makro, das du an deine Bedürfnisse anpasen muss.
Gruß
Franz

Sub DatenSaetzeEinfuegen()
'Datensätze ab Monat aus Monat einfügen
'Im Basisblatt sind 12 Zeilen für die Monate Januar bis Dezember vorhanden
Dim wksBasis As Worksheet, wksListe As Worksheet, wksZiel As Worksheet
Dim intMonat As Integer, lngZeileZiel As Long, lngZeileListe
Const lngBasisJanuar = 5 ' Zeile mit Daten für Januar im Basisblatt
Const lngZielStart = 1 'Startzeile im neuen Blatt
Set wksListe = Worksheets("Liste")
Set wksBasis = Worksheets("Basis")
'Neues Tabellenblatt als Zieltabelle anlegen
Worksheets.Add before:=Sheets(1)
Set wksZiel = ActiveSheet
lngZeileZiel = lngZielStart
With wksListe
'Zeilen im Blatt Liste abarbeiten bis zum letzten Eintrag in SPalte 1 (A)
For lngZeileListe = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
'Nummer des Monats aus Spalte 2 (B) auslesen
intMonat = .Cells(lngZeileListe, 2)
If intMonat  12 Then
MsgBox intMonat & " ist eine unzulässige Eingabe für Monat in Zeile " & lngZeileListe
Else
'Zeilen für Monate aus Basistabelle kopieren
With wksBasis
.Range(.Rows(lngBasisJanuar + intMonat - 1), _
.Rows(lngBasisJanuar + 11)).Copy Destination:=wksZiel.Cells(lngZeileZiel, 1)
End With
'Nächste Einfügezeile berechnen
lngZeileZiel = lngZeileZiel + 12 - intMonat + 1
End If
Next
End With
End Sub


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige