Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1644to1648
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
Excell Tabellenblätter mit Userform erstellen
21.09.2018 13:21:40
M.Steiner
Guten Tag
Ich habe eine Excell Datei die ich per Userform zeile um Zeile fülle. Für jede zeile wird ein seperates Tabellenblatt erstellt. Soweit so gut. Das Problem ist, ab dem Tabellenblatt 56 wird kein tabellenblatt mehr hinzugefügt. Wo kann das Problem liegen?
In einer leeren Exceldatei kann ich mehr als 56 Tabellenblätter hinzufügen. Gibt es irgendwelche lösungsvorschläge?
Vielen Dank für die Hilfe
M.steiner

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excell Tabellenblätter mit Userform erstellen
21.09.2018 14:09:14
Werner
Hallo,
ich schätze mal an deinem Code, den aber außer dir niemand kennt.
Gruß Werner
AW: Excell Tabellenblätter mit Userform erstellen
21.09.2018 15:19:09
M.Steiner
Guten Tag Werner
Vielen Dank für die schnelle Antwort
Hier mein Code:
Private Sub CommandButton1_Click()
'F?gt eingetragene Werte in die n?chste leere Zeile und schliesst das Fenster
Dim intErsteLeereZeile As Long
'Dim i As Integer
ActiveSheet.Unprotect ("***")
intErsteLeereZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
intletztezeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Select
ActiveCell.Offset(1, 0) = ActiveCell + 1 'f?gt numerierung ein
With Sheets("Kellerbuch")
.Cells(intErsteLeereZeile, 4).Value = Me.txtErntedatum.Value
.Cells(intErsteLeereZeile, 3).Value = ListBox1.Value
.Cells(intErsteLeereZeile, 2).Value = Me.cboLieferant.Value + " " + Txtaddresse2.Value + _
", " + txtaddresse4 + " " + txtaddresse5
.Cells(intErsteLeereZeile, 6).Value = Me.cboSorten.Value
.Cells(intErsteLeereZeile, 7).Value = Me.ListBox2.Value
.Cells(intErsteLeereZeile, 12).Value = Me.txtOechsle.Value
.Cells(intErsteLeereZeile, 11).Value = Me.txtKilo.Value
.Cells(intErsteLeereZeile, 18).Value = Me.txtAnmerkungen.Value
.Cells(intErsteLeereZeile, 5).Value = Me.CboWeinname.Value
.Cells(intErsteLeereZeile, 8).Value = Me.cbotraubenherkunft.Value
.Cells(intErsteLeereZeile, 10).Value = Me.txtbarrique.Value
.Cells(intErsteLeereZeile, 15).FormulaR1C1 = "=RC[-1]/RC[-4]" 'formel ausbeute ohne  _
verschnitte
.Cells(intErsteLeereZeile, 13).FormulaR1C1 = "=RC[-2]*R5C13" 'formel theoretiesche  _
ausbeute
.Cells(intErsteLeereZeile, 14).FormulaR1C1 = "=INDIRECT(""'""&RC[-13]&""'!F34"")"
.Cells(intErsteLeereZeile, 16).FormulaR1C1 = "=INDIRECT(""'""&RC[-15]&""'!F6"")"
.Cells(intErsteLeereZeile, 17).FormulaR1C1 = "=INDIRECT(""'""&RC[-16]&""'!F7"")"
.Cells(intErsteLeereZeile, 19).FormulaR1C1 = "=YEAR(RC[-15])"
.Cells(intErsteLeereZeile, 9).Value = Me.cboWeinart.Value
.Cells(intErsteLeereZeile, 20).Value = Me.cboLieferant.Value
End With
'f?gt tabellenblatt pro Wein ein
Dim LastRow As Long
Dim i As Long
Dim BoVorhanden As Boolean
Dim Ws As Worksheet
Dim Blattname As String
Application.ScreenUpdating = False
With Sheets("Kellerbuch")
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
For i = 8 To LastRow
Blattname = .Cells(i, 1).Value
On Error Resume Next
Sheets(Blattname).Select
If Err.Number = 9 Then
Sheets("Weinbuchvorlage").Copy after:=Sheets(Sheets.Count)
With ActiveSheet
.Name = Sheets("Kellerbuch").Range("A" & i)
.Range("B5") = Sheets("Kellerbuch").Range("B" & i)
.Range("B6") = Sheets("Kellerbuch").Range("H" & i)
.Range("F8") = Sheets("Kellerbuch").Range("A" & i)
.Range("B8") = Sheets("Kellerbuch").Range("F" & i)
.Range("B7") = Sheets("Kellerbuch").Range("E" & i)
.Range("D7") = Sheets("Kellerbuch").Range("C" & i)
.Range("B9") = Sheets("Kellerbuch").Range("D" & i)
.Range("F5") = Sheets("Kellerbuch").Range("G" & i)
.Range("D9") = Sheets("Kellerbuch").Range("I" & i)
.Range("F9") = Sheets("Kellerbuch").Range("J" & i)
.Range("D8") = Sheets("Kellerbuch").Range("K" & i)
.Range("D6") = Sheets("Kellerbuch").Range("L" & i)
End With
Else
'nix machen
End If
On Error GoTo 0
Next
End With
Sheets("Kellerbuch").Select
Application.ScreenUpdating = True
Dim r As Long
r = Range("A65536").End(xlUp)
MsgBox ("Die Weinnr. ist ") & r
ActiveSheet.Protect ("***")
ActiveWorkbook.Save
Unload Me
End Sub

Vielen Dank
M.Steiner
Anzeige
AW: Excell Tabellenblätter mit Userform erstellen
22.09.2018 10:15:16
M.Steiner
Guten Tag
Vielen Dank für die schnelle Antwort
Ich habe gestern schon geantwortet jedoch vergessen den haken zu setzen das der Beitrag nicht für mich nicht beantwortet ist
Also hier nochmals mein Code:
Private Sub CommandButton1_Click()
'F?gt eingetragene Werte in die n?chste leere Zeile und schliesst das Fenster
Dim intErsteLeereZeile As Long
'Dim i As Integer
ActiveSheet.Unprotect ("***")
intErsteLeereZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
intletztezeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Select
ActiveCell.Offset(1, 0) = ActiveCell + 1 'f?gt numerierung ein
With Sheets("Kellerbuch")
.Cells(intErsteLeereZeile, 4).Value = Me.txtErntedatum.Value
.Cells(intErsteLeereZeile, 3).Value = ListBox1.Value
.Cells(intErsteLeereZeile, 2).Value = Me.cboLieferant.Value + " " + Txtaddresse2.Value + _
", " + txtaddresse4 + " " + txtaddresse5
.Cells(intErsteLeereZeile, 6).Value = Me.cboSorten.Value
.Cells(intErsteLeereZeile, 7).Value = Me.ListBox2.Value
.Cells(intErsteLeereZeile, 12).Value = Me.txtOechsle.Value
.Cells(intErsteLeereZeile, 11).Value = Me.txtKilo.Value
.Cells(intErsteLeereZeile, 18).Value = Me.txtAnmerkungen.Value
.Cells(intErsteLeereZeile, 5).Value = Me.CboWeinname.Value
.Cells(intErsteLeereZeile, 8).Value = Me.cbotraubenherkunft.Value
.Cells(intErsteLeereZeile, 10).Value = Me.txtbarrique.Value
.Cells(intErsteLeereZeile, 15).FormulaR1C1 = "=RC[-1]/RC[-4]" 'formel ausbeute ohne  _
verschnitte
.Cells(intErsteLeereZeile, 13).FormulaR1C1 = "=RC[-2]*R5C13" 'formel theoretiesche  _
ausbeute
.Cells(intErsteLeereZeile, 14).FormulaR1C1 = "=INDIRECT(""'""&RC[-13]&""'!F34"")"
.Cells(intErsteLeereZeile, 16).FormulaR1C1 = "=INDIRECT(""'""&RC[-15]&""'!F6"")"
.Cells(intErsteLeereZeile, 17).FormulaR1C1 = "=INDIRECT(""'""&RC[-16]&""'!F7"")"
.Cells(intErsteLeereZeile, 19).FormulaR1C1 = "=YEAR(RC[-15])"
.Cells(intErsteLeereZeile, 9).Value = Me.cboWeinart.Value
.Cells(intErsteLeereZeile, 20).Value = Me.cboLieferant.Value
End With
'f?gt tabellenblatt pro Wein ein
Dim LastRow As Long
Dim i As Long
Dim BoVorhanden As Boolean
Dim Ws As Worksheet
Dim Blattname As String
Application.ScreenUpdating = False
With Sheets("Kellerbuch")
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
For i = 8 To LastRow
Blattname = .Cells(i, 1).Value
On Error Resume Next
Sheets(Blattname).Select
If Err.Number = 9 Then
Sheets("Weinbuchvorlage").Copy after:=Sheets(Sheets.Count)
With ActiveSheet
.Name = Sheets("Kellerbuch").Range("A" & i)
.Range("B5") = Sheets("Kellerbuch").Range("B" & i)
.Range("B6") = Sheets("Kellerbuch").Range("H" & i)
.Range("F8") = Sheets("Kellerbuch").Range("A" & i)
.Range("B8") = Sheets("Kellerbuch").Range("F" & i)
.Range("B7") = Sheets("Kellerbuch").Range("E" & i)
.Range("D7") = Sheets("Kellerbuch").Range("C" & i)
.Range("B9") = Sheets("Kellerbuch").Range("D" & i)
.Range("F5") = Sheets("Kellerbuch").Range("G" & i)
.Range("D9") = Sheets("Kellerbuch").Range("I" & i)
.Range("F9") = Sheets("Kellerbuch").Range("J" & i)
.Range("D8") = Sheets("Kellerbuch").Range("K" & i)
.Range("D6") = Sheets("Kellerbuch").Range("L" & i)
End With
Else
'nix machen
End If
On Error GoTo 0
Next
End With
Sheets("Kellerbuch").Select
Application.ScreenUpdating = True
Dim r As Long
r = Range("A65536").End(xlUp)
MsgBox ("Die Weinnr. ist ") & r
ActiveSheet.Protect ("***")
ActiveWorkbook.Save
Unload Me
End Sub

Hoffentlich findet jemand den fehler
Vielen Dank
M.Steiner
Anzeige
AW: Excell Tabellenblätter mit Userform erstellen
22.09.2018 10:20:43
M.Steiner
.
AW: Excell Tabellenblätter mit Userform erstellen
22.09.2018 14:36:20
Werner
Hallo,
welchen Wert hat denn deine Variable LastRow?
Gruß Werner
AW: Excell Tabellenblätter mit Userform erstellen
22.09.2018 15:16:35
M.Steiner
Hallo Werner,
Vielen Dank das du dir Zeit nimmst.
Ich weiss ehrlich gesagt nicht genau was du meinst. (Bin VBA Anfänger) Schlussendlich nimmt "LastRow" die letzte beschriebene Zeile (Wurde im ersten Teil des Codes hinzugefügt).
Vielen Dank
Gruss
M.Steiner
AW: Excell Tabellenblätter mit Userform erstellen
22.09.2018 15:26:51
Werner
Hallo,
z.B. indem du hier eine Messagebox einbaust:
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
MsgBox LastRow
Ansonsten lad doch mal deine Mappe hier hoch. Aber bitte als normale .xlsx ohne Makros, sonst kann ich mir die im Moment nicht herunterladen.
Gruß Werner
Anzeige
AW: Excell Tabellenblätter mit Userform erstellen
22.09.2018 16:23:53
M.Steiner
Hallo Werner,
Diese Msgbox gibt mir die Zeilennr. zurück, von der Zeile die noch beschrieben wird. Ich kann dir heute Abend die Exceldatei hochladen falls nötig.
Vielen Dank
M.Steiner
AW: Excell Tabellenblätter mit Userform erstellen
22.09.2018 17:25:16
Werner
Hallo,
und was bitte soll ich mit dieser Aussage jetzt anfangen? Das weiß ich auch, dass du da eine Zeilennummer ausgegeben bekommst.
Und die Zeilennummer wäre?
Gruß Werner
AW: Excell Tabellenblätter mit Userform erstellen
22.09.2018 18:30:11
M.Steiner
Hallo Werner
Sorry. Die Zeilennr, ist die 70, aufgehört zu funktionieren hat es ab der Zeile 58.
Gruss Michael
AW: Excell Tabellenblätter mit Userform erstellen
24.09.2018 18:22:23
Werner
Hallo,
dann liegt es schon mal nicht an einer falschen "Befüllung" der Variablen.
Lade mal deine Mappe hoch.
Gruß Werner
Anzeige
Aufgegeben? Interesse verloren? Gelöst? o.w.T.
27.09.2018 01:23:20
Werner
AW: Excell Tabellenblätter mit Userform erstellen
22.09.2018 16:27:01
M.Steiner
Hallo Werner
Das komische finde ich, das auch ein manuelles hinzufügen (über das + zeichen) nicht möglich ist.
Gruss
M.Steiner

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige