Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Daten aus UserForm mit Listbox in ein Excelblatt
17.02.2016 07:08:25
Christian
Hallo zusammen,
ich habe eine Exceldatei mit der ich Daten mit Hilfe einer UserForm in mehrere Excelblätter schreibe. Die Excelblätter werden dann als PDF gespeicher und dann wieder gelöscht.
Ich möchte jetzt gerne, dass die Daten nicht mehr in unterschiedliche Excelblätter geschrieben werden. Sie sollen nur noch in eins und zwar unter einander geschrieben werden. Jenachdem wieviel Positionen ich in die UserForm1 schreibe, soll auch das Excelblatt (Packauftrag2) nach unten wachsen. Nachdem alles in den Packauftrag2 geschrieben worden ist, soll dieser einmal gedruckt werden und einmal als PDF gespeichert werden, das mache ich jetzt schon mit den PackauftragALT.
In der Anlage habe ich eine Musterdatei. Es werden nicht alle Code funktionieren. Ich habe nur die UserForm1 und das ALTE und das NEUE Excelblatt gelassen.
Ich gehe davon aus, dass sich nach Ansicht der Datei noch Fragen ergeben. Diese können und dürfen gerne gestellt werden.
Vielen Dank

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten aus UserForm mit Listbox in ein Excelblatt
18.02.2016 09:22:34
Christian
Hat niemand eine Idee oder eine Hilfe für mich?

AW: Daten aus UserForm mit Listbox in ein Excelblatt
18.02.2016 23:28:54
Piet
Hallo Christian
die vorliegende Beispieldatei laesst sich nicht einsehen, Passwort geschützt
Drücke ich neuer Auftrag erscheint der Hinweis Artikelmerkmale fehlt, danach
Laufzeitfehler: Objekt Variable oder With Klammer nicht definiert.
Die UserForm kann ich nicht sehen. Wenn ich es richtig verstanden habe sollen
die Daten aus der UserForm in Packauftrag (2) immer unten angehangen werden?
Ich nehme an das soll das neue Makro erledigen? Wie sieht das alte Makro aus?
Sollen alle überprüft werden. Ist mir noch unklar.
mfg Piet

Anzeige
AW: Daten aus UserForm mit Listbox in ein Excelblatt
19.02.2016 06:26:26
Christian
Hallo Piet.
Das Passwort für VBA ist: 25767
Su hast recht. Es fehlt dort eine Datei. Die ist aber für mein jetziges Projekt nicht wichtig, wohl aber für die Ausführung.
Ich kann in meiner UserForm Positionen anlegen, die in eine Listbox geschrieben werden. Wenn ich jetzt die Postionen in mein Excelblatt schreibe, wird für jede Position ein neues Blatt geöffnet - das Blatt wird dann als PDF gespeichert und wieder gelöscht. Ich möchte jetzt aber, dass die Positionen untereinander in nur ein Excelblatt geschrieben werden.
Ich habe mal eine andere Beispieldatei angefügt. Die ist etwas einfacher.
Bitte nicht durch die Benennung der Felder täuschen lassen - die sind willkürlich.
https://www.herber.de/bbs/user/103693.xlsm

Anzeige
AW: Daten aus UserForm mit Listbox in ein Excelblatt
22.02.2016 01:22:54
Piet
Hallo Christian
ich bin noch nicht fertig, kann auch nicht alles bearbeiten.
Anbei ein kleine Beispieldatei wie weit ich bin. Bitte testen und wenn
der Teil wenigstens funktioniert die Makros in die UserForm übernehmen.
Ich habe sie unfertig ins Forum gestellt, weil dieser Thread bald
automatisch gelöscht wird. So hast du wenigstens ein Teilergebnis.
Wenn der Thread gelöscht wird noch mal neu reinstellen. Es sind ja noch
weitere Aufgaben offen. Durch meine Vorarbeit hast du die Chance das ein
echter Profi die offenen Sachen weiter bearbeitet. Drücke die Daumen.
https://www.herber.de/bbs/user/103763.xls
mfg Piet

Anzeige
AW: Daten aus UserForm mit Listbox in ein Excelblatt
22.02.2016 09:18:20
Christian
Hallo Piet.
Vielen Dank für deine Arbeit. Sieht so weit ja echt cool aus. Leider habe ich es noch nicht so ganz verstanden.
Die Daten sind ja schon von dir belegt worden. Wie kann ich denn meine Datensätze einpflegen?

AW: Daten aus UserForm mit Listbox in ein Excelblatt
22.02.2016 10:36:41
Piet
Hallo Christian
Das vorbelegen habe ich nur gemacht um die Daten nachher aus der ListBox ins Tabellenblatt zu lesen. Ich habe sie anfangs jedesmal neu eingegeben. Das war mir auf Dauer zu laestig! Den Befehl dazu findest du im Code der Telefonliste. Da findest
du am Ende den Call Aufruf zum vorladen. Lösche diese Zeile einfach, oder setze ein " ' " davor.
Private Sub UserForm_Activate
.List(.ListCount - 1, 0) = "Pos"
.List(.ListCount - 1, 1) = "Name"
'** nur zur Test-Demo, nachher bitte löschen
Call UserForm_Demo_Daten_vorladen 'Demo Daten
Die Daten aus der ListBox auslesen und die Druckliste kopieren funktioniert noch nicht richtig, da arbeite ich dran.
Ich erstelle für "Fertig" ein Hauptprogramm, indem man nachfolgende Module für PDF Datei und drucken einbauen
kann, indem man nachfolgende Makros in ein neues Modulblatt laedt und sie per einfach per Call Befehl aufruft.
Dann interessiert andere Helfer mein Programm nicht, sie fügen ihr Modul in das Hauptprogramm mit ein.
Diese Woche bekomme ich Besuch den ich nur 1x im Jahr sehe, und muss noch renovieren.
Da habe ich nicht viel Zeit fürs Forum (vielleicht abends, mal sehen)
mfg Piet

Anzeige
AW: Daten aus UserForm mit Listbox in ein Excelblatt
22.02.2016 10:49:54
Christian
Vielen Dank.
Genieße den Besuch.
Der Thread bleibt dann so lange Online oder was muss ich machen?

AW: Daten aus UserForm mit Listbox in ein Excelblatt
22.02.2016 13:04:02
Piet
Hallo Christian
ich habe einen Fehler gefunden, erinnere mich das andere das gleiche Problem hatten.
Offenbar kann man die ListBox nicht in -verbundene Zellen- auslesen. Das wurde schon
einmal im Forum angefragt. Erinnere mich nicht ob es dafür eine Lösung gab?
Ich habe den Code ein wenig geandert, bitte in Modul1 kopieren und austesten.
Im Druckblatt die verbunden Zellen in B:C und E:F auf normale Zelle setzen.
Dann müsste es klappen. Wenn es funktioniert, kannst du damit leben?
Zum Thred selbst: nach meinem Wissen fliegt er automatisch raus, weil neue
nachgeschoben werden. Das ist im PC System des Admin so festgelegt, darauf
haben wir keinen Einfluss. Auch wenn du ihn offen stellst wird er gelöscht.
Dann einfach neu reinstellen mit Vermerk das ich noch daran arbeite.
Die andere Sache mit Speichern, Drucker einrichten und PDF Datei erstellen
ist nicht mein Ding. Dazu fehlt mir wirklich das Fachwissen. Ich begnüge mich
im Forum mit einfacheren Sachen, wie Daten suchen, von A nach B kopieren etc.
Ich denke wenn aber schon eine brauchbar Lösung vorliegt helfen andere weiter.
Wenn ich fertig bin sende ich eine neue Beispieldatei, wo andere mein "Fertig"
Programm mit den offenen Sachen ergaenzen können. Das will ich vorbereiten.
mfg Piet
Sub ListBox2_komplett_auslesen()
Dim dlg As Object
'On Error GoTo Feh
Set dlg = Telefonliste.ListBox2
lfc = Telefonliste.ListBox2.ListCount
'keine Ausführung wenn ListBox2 leer ist !!
'If lfc = 0 Then PgFlag = "No Duck-List": _
MsgBox "kein Eintrag in ListBox2": Exit Sub
With ThisWorkbook.Sheets("Liste 2")
'alte Druckliste löschen
Range("B7:B500") = Empty
Range("E7:G500") = Empty
dc = 11
MsgBox lfc
On Error Resume Next
For j = 0 To dc - 1 'dc=Druckzaehler über DMax
Range("A7").Cells(j * 4 + 1, 6) = dlg.List(j, 0)
Range("A7").Cells(j * 4 + 1, 2) = dlg.List(j, 1)
Range("A7").Cells(j * 4 + 2, 2) = dlg.List(j, 2)
Range("A7").Cells(j * 4 + 3, 2) = dlg.List(j, 3)
Range("A7").Cells(j * 4 + 1, 5) = dlg.List(j, 4)
Range("A7").Cells(j * 4 + 2, 5) = dlg.List(j, 5)
Range("A7").Cells(j * 4 + 3, 5) = dlg.List(j, 6)
Next j
'  Next k
End With
On Error GoTo 0: Exit Sub
Feh: MsgBox "Fehler bei:  ListBox2_auslesen"
End Sub

Anzeige
AW: Daten aus UserForm mit Listbox in ein Excelblatt
22.02.2016 13:14:59
Piet
Nachtrag
wenn die Zellen verbunden sein müssen kann man sie nach dem befüllen der Liste per Makro wieder verbinden.
Die Frage ist, ob es erforderlich ist. Der PDF Datei wird das egal sein. Wenn es nicht nötig ist erspare ich mir die Arbeit.
mfg Piet

AW: Daten aus UserForm mit Listbox in ein Excelblatt
22.02.2016 13:22:54
Christian
Vielen Dank.
Ich muss nochmal fragen wofür du die Liste 2 gemacht hast.
Das mit dem Drucken und PDF usw. kann ich, denke ich, selbst. Zur Not halt im Forum fragen.

AW: Daten aus UserForm mit Listbox in ein Excelblatt
22.02.2016 21:12:47
Piet
Hallo Christian
anbei eine funktionierende Beispieldatei, soweit ich es machen konnte.
Für die weiteren Aufgaben müssen dir andere helfen. Ich hoffe meine Arbeit ist gut.
Die verbundenen Zellen sind auch kein Thema, ich verbinde sie wieder.
mfg Piet
https://www.herber.de/bbs/user/103788.xls

Anzeige
AW: Daten aus UserForm mit Listbox in ein Excelblatt
22.02.2016 21:18:56
Piet
Nachtrag
die Liste2 war für mich nur eine Demo Liste zum ListBox2 vorladen.
Es war mir zu umstaendlich alles jedesmla neu einzutippen.
Massgeblich ist die "Liste", wie man im neuen Beispiel sehen kann
mfg Piet

AW: Daten aus UserForm mit Listbox in ein Excelblatt
23.02.2016 06:13:46
Christian
Moin Piet.
Der kurze Test hat ergeben, dass es funktioniert. Baue jetzt noch speichern als PDF und drucken ein.
Falls ich fragen habe melde ich mich.
Du hast den "Kopf" auch auf die zweite und dritte usw Seit übernommen. Das war eigentlich sehr gut, nur leider nimmt mir das zu viel Platz weg. Könntest du das noch entfernen?
Danke

Anzeige
AW: Daten aus UserForm mit Listbox in ein Excelblatt
23.02.2016 12:50:38
Piet
Hallo Christian
habe es noch gelesen, der Thread ist aber zu Ende, fliegt raus.
Ich kümmere mich noch darum. Melde mich.
mfg Piet

AW: Daten aus UserForm mit Listbox in ein Excelblatt
23.02.2016 15:23:33
Piet
Hallo Christian
hier ein neues Makro für die Druckliste ohne Überschrifts Zeile
mfg Piet
Option Explicit
'neue Lösung -ohne Überschrift- in jedem Blatt
'letzte Anfrage von Christian - 23.2.2016
Dim Wb As Object
Dim Edr As String
Dim ok As Variant
Sub Leeren_Druckbereich_kopieren_Neu()
Dim bc, dc, hfc, lfc, lz, x, y
Dim Edr As String, k, j, n
'LineFeed Zaehler, hfc Hilfszaehler
lfc = Telefonliste.ListBox2.ListCount
ProFlag = Empty  'Prüfflag Haupt Progr.
'keine Ausführung wenn ListBox2 leer ist !!
If lfc = 0 Then ProFlag = "No ListBox Liste": _
MsgBox "kein Eintrag in ListBox2": Exit Sub
On Error GoTo Feh
Application.ScreenUpdating = False
With ThisWorkbook.Sheets("Liste")
'alte Druckliste löschen
.Range("A11:F1000").Clear
'Druckbereich löschen
.PageSetup.PrintArea = ""
'1.Druckfeld Namen löschen
.Range("B7:C9").ClearContents
.Range("E7:F9").ClearContents
'1.Druckfeld Clr verbundene Zellen
.Range("B7:C9").MergeCells = False
.Range("E7:F9").MergeCells = False
'Schleife zum einfügen der Druckfelder  (ohne Überschrift)
.Range("A7:F9").Copy   '1.Datenfeld kopieren
For j = 0 To lfc - 1   'Druckzaehler über ListCount
.Range("A7").Offset(j * 4, 0).PasteSpecial xlAll
Next j
Application.CutCopyMode = False
Edr = .Range("A7").Offset(j * 4 + bc - 2, 5).Address
.PageSetup.PrintArea = CStr("A3:" & Edr)
ProFlag = "ok"  'Prüfflag Haupt Progr.
End With
Exit Sub
Feh:  MsgBox "Fehler in:  Leeren_Druckbereich_kopieren"
End Sub

Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige