HERBERS Excel-Forum - die Beispiele

Thema: Sammeln von Monatsblatt-Werten in einer Zusammenfassung

Home

Gruppe

Allgemein

Problem

Die Werte aus Spalte A aus Monatsblättern sollen in das Tabellenblatt "Gesamt" in die entsprechende Monatsspalte eingetragen werden.

Lösung
Den nachstehenden Code in ein Standardmodul eingeben, einer Schaltfläche zuweisen und starten.
ClassModule: DieseArbeitsmappe

Private Sub Workbook_BeforeClose(Cancel As Boolean)
   With Application.CommandBars("Worksheet Menu Bar")
      On Error Resume Next
      .Controls("&Monate").Delete
      On Error GoTo 0
   End With
End Sub

Private Sub Workbook_Open()
   Dim objPopUp As CommandBarPopup
   Dim objBtn As CommandBarButton
   With Application.CommandBars("Worksheet Menu Bar")
      On Error Resume Next
      .Controls("&Monate").Delete
      On Error GoTo 0
      Set objPopUp = .Controls.Add( _
         Type:=msoControlPopup, _
         before:=.Controls.Count, _
         temporary:=True)
   End With
   objPopUp.Caption = "&Monate"
   Set objBtn = objPopUp.Controls.Add
   With objBtn
      .Caption = "&In Sammelblatt"
      .OnAction = "InSammelblatt"
      .Style = msoButtonCaption
   End With
   Set objBtn = objPopUp.Controls.Add
   With objBtn
      .Caption = "&Beenden"
      .OnAction = "EndeMonate"
      .Style = msoButtonCaption
   End With
End Sub

StandardModule: Modul1

Sub MonatAnlegen()
   Dim iMonth As Integer
   For iMonth = 1 To 12
      Worksheets.Add after:=Worksheets(iMonth)
      ActiveSheet.Name = Format(DateSerial(1, iMonth, 1), "mmmm")
   Next iMonth
   Worksheets(1).Select
End Sub

Sub EndeMonate()
   ThisWorkbook.Close
End Sub

Sub InSammelblatt()
   Dim rng As Range
   Dim iCol As Integer
   If ActiveSheet.Index > 12 Then
      Beep
      MsgBox "Sie müssen sich in einem Monatsblatt befinden!"
      Exit Sub
   End If
   Set rng = Range("A2:A" & WorksheetFunction.CountA(Columns(1)))
   With Worksheets(13)
      iCol = WorksheetFunction.Match(ActiveSheet.Name, .Rows(1), 0)
      .Range(.Cells(2, iCol), .Cells(Rows.Count, iCol)).ClearContents
      .Range(.Cells(2, iCol), .Cells(rng.Rows.Count + 1, iCol)).Value = rng.Value
   End With
End Sub

Beiträge aus dem Excel-Forum zu den Themen Allgemein und Liste

Wenn Feld leer, dann Auswahlliste EK Liste als eigene XLSX
verschiedene Maillisten je Auswahl aufrufen Todo-Liste sortieren
Namensliste 2 mit Formeln ableiten Anzeigename aus Outlook-Verteilerliste auslesen
Sonderzeichen auflisten Tabellenblätter nach Liste erstellen
Listen vergleichen Zelle färben wenn Wert in Liste vorkommt
e-Maladressen aus einer Liste daten lesen Doppelte Beiträge in Liste nur einmal auswählen
Zellen aus Liste in Spalten korrekt umsortieren Daten Auflisten
Gewicht in Speditionspreisliste finden Texte aus einer Liste sammeln
Abhängige Dropdown Listen mittels VBA Rangliste nach Altersklasse
Liste mit mehreren Einträgen ausfiltern Listenfeld in Userform Markierung aufheben
Doppelte anlisten Automatisch Liste erstellen
Datum in Listenfeld auswählen Liste (Gültigkeit,DropDown,etc) mehrere Kriterien
Auswahlliste AutoFilter-Auswahlliste per VBA auslesen
Liste automatisch neu erstellen und umsortieren Liste erstellen, aber wie ??
Top 10 Liste ausfiltern liste
Probleme mit Gültigkeitsliste Listen zusammenfassen - Daten verschwinden
Leerzeilen im Dropdown (Liste) - Menü Suche Makro: Zellenwert anh. Liste alle 15Sek.änd.
Anzeige eines Teilstrings in der Gültigkeitsliste Tabelle über Listenfeld füllen
Unterschiedliche Einträge herausfiltern+auflisten Verlassen von Auswahllisten
Eintrag in Liste finden Listen kombinieren, zusammenführen und erweitern
Werte aus Liste in x Blätter Nach Dateiumbenennung listet mein Zähler flasch
Daten von Listenfeld in Tabelle Auswahl aus Liste
VBA-Gesamtliste, gibt es so etwas? Frage an Renne,Diagramm mit mehrern Auswahllisten
Listenfeld laden, Mappe ohne speichern schliessen? Zwei Listen vergleichen
Stückliste Allgemeine Frage zur Fehlerbehandlung