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

Neue Blätter nach Liste generieren

Neue Blätter nach Liste generieren
20.11.2014 10:49:24
Juri
Heyo Leute! Hab da eine kleine Frage:
Ich versuche mit VBA Blätter aus einer Liste zu generieren, sollten den Aufbau eines anderen Blattes haben und der Inhalt dieses Blattes greift in einigen Zellen auf die Liste zurück (dem entsprechend der Reihe des Namens zu geordnet)
Also im Klartext:
1. Aus Liste wird alles was in A ist nach dem Namen generiert
dafür habe ich diesen

Sub schon *Siehe unten*
Nun komme ich nicht weiter:
Ich brauche einen oder mehrere Subs, wo der Inhalt aus einem anderen Blatt in alle erstellten  _
Blätter eingefügt wird. Da aber sind zwischendurch Zellen, die auf Zellen in der Liste zugreifen
und dort Werte rausholen z.B. "Liste!I4"
Diese Befehle variieren sich natürlich bei jeder Rechnung und so muss sich das auch ändern :/  _
Vielen Dank schon mal für die Hilfe! :)
Liebe Grüße,
Juri
Das Beispiel
https://www.herber.de/bbs/user/93904.xls


Sub FuegeBlaetterMitNamenEin()
Dim Bereich As String
Dim Zelle As Range
Dim Tabelle As Worksheet
Bereich = "a5:a30"
With ActiveWorkbook
For Each Zelle In ActiveSheet.Range(Bereich).Cells
Set Tabelle = .Sheets.Add(after:=.Sheets(Sheets.Count))
Tabelle.Name = Zelle.Text
Next Zelle
End With
End Sub


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

Betreff
Datum
Anwender
Anzeige
AW: Neue Blätter nach Liste generieren
20.11.2014 14:29:26
fcs
Hallo Juri,
verwende in dem Blatt in das die Daten übernommen werden sollen, außer für die Rechnungsnummer, Formeln mit der Funktion SVERWEIS.
z.B. in Zelle A13: =SVERWEIS($B$26;Liste!$A:$O;4;FALSCH)
Dann musst du im Makro nur in Zelle B26 die Formel anpassen bzw. die Rechnungs-Nr. eintragen lassen.
Benenne das 2. Blatt in deiner Datei um in "Muster".
Mit den folgenden Anpassungen im Makro funktioniert es dann das Einfügen der Blätter und die Anpassung der Formel in B26 der eingefügten Blätter.
Das Musterblatt kann man auf Wunsch wieder ausblenden.
Gruß
Franz
Sub FuegeBlaetterMitNamenEin()
Dim Bereich As Range
Dim Zelle As Range
Dim Tabelle As Worksheet
With ActiveWorkbook.Worksheets("Liste") 'ActiveSheet
'Bereich mit Rechnungs-Nr. in Spalte A : A4:Axxx
Set Bereich = .Range(.Cells(4, 1), .Cells(.Rows.Count, 1).End(xlUp))
End With
Application.ScreenUpdating = False
With ActiveWorkbook.Worksheets("Muster")
If .Visible  xlSheetVisible Then .Visible = xlSheetVisible
End With
With ActiveWorkbook
For Each Zelle In Bereich.Cells
'Muster-Tabelle kopieren und am Ende anfügen
.Sheets("Muster").Copy after:=.Sheets(Sheets.Count)
Set Tabelle = ActiveSheet
'Tabelle umbenennen
Tabelle.Name = Zelle.Text
'Rechnungs-Nr. eintragen bzw. Formel eintragen
'      Tabelle.Range("B26").Value = Zelle.Text
Tabelle.Range("B26").FormulaR1C1 = "='" & Zelle.Parent.Name & "'!R" & Zelle.Row & "C1"
Next Zelle
Application.ScreenUpdating = True
If MsgBox("Musterblatt wieder ausblenden?", vbQuestion + vbOKCancel + vbDefaultButton2, _
"Musterblatt ausblenden") = vbOK Then
ActiveWorkbook.Worksheets("Muster").Visible = xlSheetHidden
End If
End With
End Sub

Anzeige
AW: Neue Blätter nach Liste generieren
21.11.2014 10:34:33
Juri
Eine Frage zu dem Sverweis... Also ich verstehe den Aufbau des Befehls irgendwie gar nicht, aber das ist nicht so schlimm. Ich denke, dass ich mich da schon schlau lesen kann.. Meine jetzige Frage wäre da: Wenn ich jeden Sverweisbefehl in die zugehörige Zelle schreibe und dann die neuen Blätter generiere, ist das dann so, dass das immer zur richtigen Zeile von der Liste runter gesprungen wird. Sprich als Beispiel die R-Nr. wird dann zu dem Bereich der Reihe 100 oder so zugeteilt und dort stehen dann nur die Werte der Reihe 100 drin. Das wäre das wichtigste.

AW: Neue Blätter nach Liste generieren
21.11.2014 13:51:20
fcs
Hallo Juri,
ja die SVERWEIS-Funktion arbeitet ganau so.
Beispiel: =SVERWEIS($B$26;Liste!$A:$O;4;FALSCH)
Fie Funktion sucht den Wert in Zelle $B$26 in der 1. Spalte des angegebenen Bereiches Liste!$A:$O, hier also in Spalte A, und gibt als Ergebnis aus der gefundenen Zeile den Wert in der 4. Spalte des Bereiches zurück, hier dann aus Spalte D. Der 4. Parameter gibt Wert bei FALSCH an, das in der 1. Spalte nach genauer Übereinstimmung gesucht werden soll.
weiteres findest du unter Hilfe zu dieser Funktion.
Gruß
Franz
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige