Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1460to1464
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

Erstellen eines Deckblattes aus Datensatz

Erstellen eines Deckblattes aus Datensatz
01.12.2015 15:02:13
Meike

Hallo,
vielen Dank an Bernd und ludicla für die schnellen Antworten :-)
Ich möchte gerne im Tabellenblatt 1 zeilenweise Daten eingeben und diese sollen dann in den vorgesehenen Feldern im Tabellenblatt 2 erscheinen.
Nach jeder Zeile wird das Deckblatt gedruckt, so dass es sich mit der Eingabe in der nächsten Zeile (in Tabelle1) wieder neu befüllen soll.
Hat jemand eine Idee, wie ich das umsetzen könnte? Leider habe ich keine Erfahrung mit VBA/ Makros.
https://www.herber.de/bbs/user/101938.xlsx
Vielen Dank & freundliche Grüße
Meike

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Erstellen eines Deckblattes aus Datensatz
01.12.2015 16:26:28
UweD
Hallo
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fehler
Dim Z As Double, TB1, TB2
If Not Intersect(Target, Columns(7)) Is Nothing Then
Set TB1 = ActiveSheet
Set TB2 = Sheets("Tabelle2")
Z = Target.Row
If WorksheetFunction.CountA(Range(Cells(Z, 1), Cells(Z, 7))) <> 7 Then
MsgBox " Alle Spalten der Reihe Ausfüllen"
Exit Sub
Else
With TB2
.Cells(2, 2) = TB1.Cells(Z, 2) ' Firma
.Cells(2, 6) = TB1.Cells(Z, 3)  ' int. Re-Nr.
'.Cells(10, 2) = TB1.Cells(Z, ??) ' ext. Re-Nr.
.Cells(10, 6) = TB1.Cells(Z, 5) ' Abteilung.
.Cells(12, 2) = TB1.Cells(Z, 1) ' Eingang
.Cells(14, 2) = TB1.Cells(Z, 7) ' Fälligkeit.
.Cells(16, 2) = TB1.Cells(Z, 6) & " zus. Text" ' Skonto.
.Cells(16, 6) = TB1.Cells(Z, 4) ' Betrag.
.PrintOut
TB1.Cells(Z, 9) = "gedruckt"
End With
End If
End If
Err.Clear
Fehler:
If Err.Number <> 0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err. _
Clear
End Sub
- Rechtsclick auf den Tabellenblattreiter von Tabelle1
- Code anzeigen
- Das Makro dort reinkopieren
Wenn du in Spalte 1 anfängst und dich nach hinten durcharbeitest, wird, wenn du Spalte 7 verlässt
geprüft, ob alle Spalten gefüllt sind.
Dann werden die Daten übertragen und ausgedruckt
OK??
Gruß UweD

Anzeige
AW: Erstellen eines Deckblattes aus Datensatz
02.12.2015 08:25:17
Meike
Hallo UweD,
VIELEN DANK!!! Das ging ja schnell. Es funktioniert super.
Nur eine Frage habe ich noch. Sobald die Reiter in der Arbeitsmappe umbenannt werden, müsste ich ja auch das Makro anpassen oder?
Sprich, üblicherweise sind die Tabellenblätter nach den einzelnen Monaten benannt.
VIELEN DANK noch einmal!!
VG
Meike

AW: Erstellen eines Deckblattes aus Datensatz
02.12.2015 09:55:14
UweD
Hallo Meike
Das Ausgabeblatt gibt es ja nur 1 x, den Namen kannst du hier abändern
      Set TB2 = Sheets("Tabelle2") ' z.B. "Ausgabe"
Der Name des Blattes, in dem du die Daten erfasst, ist egal,
      Set TB1 = ActiveSheet

da das Makro im Blatt selbst zugeordnet ist.
Aber!, wenn du die Monate in der Datei "archivieren" möchtest, also neue Monate hinzufügst, dann muss das Makro mit in das neue Blatt kopiert werden.
Das kopieren kann aber auch automatisiert werden.
- In ein normales Modul einfügen..
- Aus einem Datenerfassungsblatt ausführen
- (Druckblatt habe ich in "Ausgabe" umbenannt)
Sub Neuer_Monat()
On Error GoTo Fehler
Dim TB1, TB2, JaNein
Dim LR&
Set TB1 = ActiveSheet
If TB1.Name = "Ausgabe" Then
MsgBox "Kopie von diesem Blatt nicht möglich"
Exit Sub
End If
JaNein = MsgBox("Neues Monatsblatt anlegen", vbYesNo + vbQuestion, "Blatt kopieren")
If JaNein = vbYes Then
LR = TB1.Cells(Rows.Count, 1).End(xlUp).Row ' letzte Zeile der Spalte 1
TB1.Copy After:=Sheets(Sheets.Count - 1) 'vor das Letzte
Set TB2 = ActiveSheet
TB2.Name = Format(Date, "MM.YYYY") ' Benennung Monat.Jahr
Application.EnableEvents = False
TB2.Rows("3:" & LR).Delete Shift:=xlUp ' Löschen
TB2.Cells(3, 1).Select
End If
Err.Clear
Fehler:
If Err.Number <> 0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
Application.EnableEvents = True
End Sub
Gruß UweD

Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige