Anzeige
Archiv - Navigation
1528to1532
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
VBA Daten aus Userform übernehmen und im Modul
27.12.2016 10:16:20
Jenny
Hallo zusammen,
Möchte Daten aus einem Userform übernehmen und im Modul nacheinander abarbeiten:
Die einzelnen Zahlen müssen nacheinander in Tabelle2 geschrieben werden und einzeln als PDF exportiert werden, wenn ich das ganze mit For intRow = 1 To 246 für alle mache läuft es gut, nun wie bringe ich die Userform Daten hinein.
Sub Auswahl()
Dim intRow As Integer
'Die Daten werden aus dem Formular "lbxTo" übergeben
For intRow = UserForm1.lbxTo To UserForm1.lbxTo "läuft nicht!"
Tabelle2.Range("D1").Value = intRow
Tabelle2.Range("$A$9:$H$91").AutoFilter Field:=1
Tabelle2.Range("$A$9:$H$91").AutoFilter Field:=1, Criteria1:=">0"
Tabelle2.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & Tabelle2.Range("H2").Value & Format(Date, "YYYYMMDD") & ".pdf",  _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Next intRow
End Sub
Besten Dank für Eure Hilfe. Lg J

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Daten aus Userform übernehmen und im Modul
27.12.2016 10:47:01
Beverly
Hi,
was ist lbxTo und weshalb soll die Schleife von lbxTo bis lbxTo laufen? Das sind doch anscheinend irgendwie dieselben Werte.


AW: VBA Daten aus Userform übernehmen und im Modul
27.12.2016 10:58:12
Jenny
Hallo Karin
Hatte mir ein Userform gebaut, mit Werten von 1 bis 246 die ich von lbxfrom nach lbxto verschiebe. Danach steht zb. 1/5/9 in lbxto um einzeln abgearbeitet zu werden. Als ich die intRow geschrieben hatte verlange es ein TO, wie kann ich dies umgehen. Besten Dank und Lg Jenny
AW: VBA Daten aus Userform übernehmen und im Modul
27.12.2016 15:32:33
Beverly
Hi Jenny,
versuche es nach diesem Prinzip:
For intRow = 0 To UserForm1.lbxTo.ListCount
MsgBox UserForm1.lbxTo.List(intRow)
Next intRow



Anzeige
AW: VBA Daten aus Userform übernehmen und im Modul
27.12.2016 16:06:32
Jenny
Hallo Karin
Danke für den Input, kann es bis zur msgbox ausführen, danach erhalte ich eine Fehlermeldung "Laufzeitfehler13" Typenunverträglich bei Abschnitt "FETT".
Tabelle2.Range("D1").Value = intRow
Tabelle2.Range("$A$9:$H$91").AutoFilter Field:=1
Tabelle2.Range("$A$9:$H$91").AutoFilter Field:=1, Criteria1:=">0"
Tabelle2.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & Tabelle2.Range("H2").Value & Format(Date, "YYYYMMDD") & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False

Next intRow
End Sub Habe ich hier bereits Zahlen eingelesn oder nicht?
Sub ShowDialog()
Dim i As Long
UserForm1.lbxFrom.RowSource = ""
'   Dem Listenfeld Einträge hinzufügen
With UserForm1.lbxFrom
.RowSource = ""
For i = 1 To 246
.AddItem Format(i, 0)
Next i
End With
'Erstes Element auswählen
UserForm1.lbxFrom.ListIndex = 0
UserForm1.Show
End Sub
Sorry drehe mich gerade im Kreis. Danke im Voraus für weiter Inputs. Lg Jenny
Anzeige
AW: VBA Daten aus Userform übernehmen und im Modul
27.12.2016 18:51:54
Beverly
Hi Jenny,
also m.E. müsste es so heißen:
Tabelle2.Range("D1").Value = ListBox1.List(intRow)
und nicht
Tabelle2.Range("D1").Value = intRow



AW: VBA Daten aus Userform übernehmen und im Modul
28.12.2016 08:17:25
Jenny
Hallo Karin
Habe die Anpassungen vorgenommen, bin kurz vor dem Ziel, die PDF´s werden hergestellt habe aber noch einen Laufzeitfehler"381" Eigenschaft List konnte nicht abgerufen werden. Index des Eigenschaftenfelds ungültig.
Sub Auswahl()
Dim intRow As Integer
'Die Daten werden aus dem Formular "lbxTo" übergeben
For intRow = 0 To UserForm1.lbxTo.ListCount
'MsgBox UserForm1.lbxTo.List(intRow)
Tabelle2.Range("D1").Value = UserForm1.lbxTo.List(intRow)
Tabelle2.Range("$A$9:$H$91").AutoFilter Field:=1
Tabelle2.Range("$A$9:$H$91").AutoFilter Field:=1, Criteria1:=">0"
Tabelle2.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & Tabelle2.Range("H2").Value & Format(Date, "YYYYMMDD") & ".pdf",  _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Next intRow
End Sub

Besten Dank und Lg Jenny
Anzeige
AW: VBA Daten aus Userform übernehmen und im Modul
28.12.2016 09:02:52
Beverly
Hi Jenny,
ändere diese Zeile:
For intRow = 0 To UserForm1.lbxTo.ListCount - 1



AW: VBA Daten aus Userform übernehmen und im Modul
28.12.2016 09:32:52
Jenny
Hallo Karin,
Es läuft super. Besten Dank und wünsche noch einen guten Rutsch. Lg Jenny
AW: VBA Daten aus Userform übernehmen und im Modul
27.12.2016 10:50:38
Christian
hallo Jenny,
wie trägst du denn die Daten in das Userform(ular) ein?
in TextBoxes, ComboBoxes, ...?
  • Dein verwendetes Typ-Kürzel "lb..." lässt auf Label schließen. In einem Label kann aber vom Anwender kein Eintrag erfolgen, denn das ist ein reines "Beschriftungsfeld".

  • Bei der For-Schleife brauchst du Zahlen (Long, Integer) für die Grenzen. Text funktioniert nicht. Wenn die Einträge des Userforms zB. in TextBoxes erfolgen, musst du diese in Zahlen umwandeln (zB. mit "Clng").

  • Außerdem hast du bei der For-Schleife den gleichen Start- und Endwert genutzt. Dann bräuchtest du die Schleife ja nicht, da diese nur einmal durchlaufen wird.

  • Grüße
    Christian
    Anzeige
    AW: VBA Daten aus Userform übernehmen und im Modul
    27.12.2016 13:47:43
    Jenny
    Hallo Christian,
    Habe ein Userformular, was ich wie folgt fülle:
    Sub ShowDialog()
    Dim i As Long
    UserForm1.lbxFrom.RowSource = ""
    '   Dem Listenfeld Einträge hinzufügen
    With UserForm1.lbxFrom
    .RowSource = ""
    For i = 1 To 246
    .AddItem Format(i, "0")
    Next i
    End With
    'Erstes Element auswählen
    UserForm1.lbxFrom.ListIndex = 0
    UserForm1.Show
    End Sub
    
    Und danach schiebe ich die ausgewählen Werte in lbxto (ListBox) und nun möchte ich alle Zahlen aus lbxto nacheinander einzeln abarbeiten.
    Sub Auswahl()
    Dim intRow As Integer
    'Die Daten werden aus dem Formular "lbxTo" übergeben
    For intRow = "DIESER TEIL FEHLT"
    Tabelle2.Range("D1").Value = intRow
    Tabelle2.Range("$A$9:$H$91").AutoFilter Field:=1
    Tabelle2.Range("$A$9:$H$91").AutoFilter Field:=1, Criteria1:=">0"
    Tabelle2.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    ThisWorkbook.Path & "\" & Tabelle2.Range("H2").Value & Format(Date, "YYYYMMDD") & ".pdf",  _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
    False
    Next intRow
    End Sub
    
    Besten Dank im Voraus für Eure Hilfe. Lg Jenny
    Anzeige

    301 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige