Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1500to1504
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

Daten aus listbox in txb e. anderen UF übertragen

Daten aus listbox in txb e. anderen UF übertragen
06.07.2016 11:46:54
Krupa
Hallo,
am 24.06.2016 habe ich mein Problem bereits geschildert, durch andere Forumsteilnehmer habe ich eine große Unterstützung bekommen.
Dem Beitrag liegt auch eine Excel-Makrodatei bei.
Folgendes Problem
Innerhalb eines UF habe ich eine Textbox, in die ich den Suchbegriff (Nachnamen) eingebe und unmittelbar darunter befindet sich die Schaltfläche "suchen". Per Klick wird die dem Programm zugrunde liegende Excel-Tabelle nach dem Suchbegriff durchsucht. Falls Treffer, werden die gefundenen Datensätze in einer Listbox aufgelistet. Falls kein Treffer, fragt eine msgbox ob ein neues Kundenprofil angelegt werden soll.
Folgendes Problem
Die Einträge aus der Listbox sollen in ein anderes Userform übertragen werden. Die Übertragung wird bewirkt entweder per Doppelklick auf den gewählten Eintrag in der Listbox oder per Schaltfläche "Kundenprofil" anzeigen.
Beides funktioniert nicht. In der Fehlermeldung steht: Laufzeitfehler 424, Objekt erforderlich. Diese Fehlermeldung erscheint an der Stelle, an der die Übertragung in das neue Userform erfolgen sollte.
Hinzufügen möchte ich noch, dass in der angehängten Datei das Makro in die Excel-Datei selbst integriert ist. Bei mir auf der Arbeit (MS 2010) lege ich alle Makros in der persönlichen Arbeitsmappe ab !!! Das Makro funktioniert nicht.
Zu Hause (MS 2007) funktioniert das Makro einwandfrei (auch mit persönlicher Arbeitsmappe).
Hat jemand eine Idee ?
https://www.herber.de/bbs/user/106793.xlsm
Viele Grüße
Tomasz

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten aus listbox in txb e. anderen UF übertragen
06.07.2016 11:49:52
Krupa
Achso, mir fällt gerade auf, dass das Makro der angehängten Datei auf eine Datei namens "Verwaltung..." zugreift. Das müsste natürlich vor Erprobung angepasst werden.
Gruß
Tomasz

Daten aus listbox in txb e. anderen UF übertragen
06.07.2016 12:25:48
baschti007
Beim mir geht es so ?
Kleine Änderungen

Private Sub cmdDatenverwaltung_Click()
Dim Zeile As Integer
'zeile mit ausgewähltem Kunden suchen
'Zeile = ZeileGesucht
'die Zeilennr. der Tabelle steht in der 5. Spalte der Listbox
Zeile = Me.ListBox1.List(Me.ListBox1.ListIndex, 5)
'MsgBox Zeile
'Daten des Kunden in neue UserForm übertragen
With frmMKKundenVerwaltung
.txtVorname3.Text = Cells(Zeile, 4).Value
.txtNachname3.Text = Cells(Zeile, 3).Value
.txtGeburtsdatum3.Text = Cells(Zeile, 5).Value
.txtStraße1.Text = Cells(Zeile, 7).Value
.txtPLZ1.Text = Cells(Zeile, 8).Value
.txtStraßeFirma2.Text = Cells(Zeile, 9).Value
.txtPLZFirma2.Text = Cells(Zeile, 10).Value
.Show
End With
End Sub
Private Sub cmdSchließen_Click()
Unload frmMKSuche
End Sub
Private Sub Suchen()
Dim lng As Long
Dim i As Integer
Dim q As Integer
Application.ScreenUpdating = False
'liste füllen
'Zeilemax = ActiveSheet.UsedRange.Rows.Count
With frmMKSuche
.ListBox1.Clear
Workbooks(ActiveWorkbook.Name).Worksheets("Kunden").Activate
i = 0
For lng = 3 To ActiveSheet.UsedRange.Rows.Count
If .txtNachname.Value = "" Then Exit Sub
If Cells(lng, 3).Value Like ("*" & .txtNachname.Value & "*") Then '------ Hier mit Like  _
aber dann muss du die Groß und klein schreibung beachten =)
.ListBox1.AddItem Cells(lng, 3).Value
.ListBox1.Column(1, i) = Cells(lng, 4).Value
.ListBox1.Column(2, i) = Cells(lng, 7).Value
.ListBox1.Column(3, i) = Cells(lng, 8).Value
.ListBox1.Column(4, i) = Cells(lng, 9).Value
.ListBox1.Column(5, i) = lng
i = i + 1
'Exit Sub
Else
End If
Next lng
If Me.ListBox1.ListCount = 0 Then
q = MsgBox("Das Kundenprofil konnte nicht gefunden werden." & vbCrLf & _
"Soll ein neuer Kunde angelegt werden", vbYesNo + vbQuestion)
If q = vbYes Then
frmMKKundenAnlegen.Show
Else
Me.txtNachname.SetFocus
End If
End If
End With
Application.ScreenUpdating = True
End Sub
Private Sub cmdSucheListeFuellen_Click()
Suchen
End Sub
Public Function ZeileGesucht() As Integer
Dim Zeile As Integer
'zugehörige Tabelle aktivieren
Workbooks("Verwaltung.xlsm").Worksheets("Kunden").Activate
'Zeile mit ausgewähltem Kunden suchen
Zeile = 3
Do While Cells(Zeile, 3).Value  ""
If Cells(Zeile, 3).Value = frmMKSuche.txtNachname.Text Then
Exit Do
End If
Zeile = Zeile + 1
Loop
'gesuchte Zeile
ZeileGesucht = Zeile
End Function
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim Zeile As Integer
'zeile mit ausgewähltem Kunden suchen
'Zeile = ZeileGesucht
'die Zeilennr. der Tabelle steht in der 5. Spalte der Listbox
Zeile = Me.ListBox1.List(Me.ListBox1.ListIndex, 5)
'MsgBox Zeile
'Daten des Kunden in neue UserForm übertragen
With frmMKKundenVerwaltung
.txtVorname3.Text = Cells(Zeile, 4).Value
.txtNachname3.Text = Cells(Zeile, 3).Value
.txtGeburtsdatum3.Text = Cells(Zeile, 5).Value
.txtStraße1.Text = Cells(Zeile, 7).Value
.txtPLZ1.Text = Cells(Zeile, 8).Value
.txtStraßeFirma2.Text = Cells(Zeile, 9).Value
.txtPLZFirma2.Text = Cells(Zeile, 10).Value
.Show
End With
End Sub
Private Sub UserForm_Initialize()
txtNachname.SetFocus
End Sub

Anzeige
AW: Daten aus listbox in txb e. anderen UF übertragen
06.07.2016 12:44:30
Krupa
Hi Basi,
wo sind die Änderungen? Meinst du die Änderung mit "like" ?
Das Problem lag eigentlich an der Übertragung der Listbox-Werte in das andere UF, somit also in dem nachstehenden Code

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim Zeile As Integer
'zeile mit ausgewähltem Kunden suchen
'Zeile = ZeileGesucht
'die Zeilennr. der Tabelle steht in der 5. Spalte der Listbox
Zeile = Me.ListBox1.List(Me.ListBox1.ListIndex, 5)
'MsgBox Zeile
'Daten des Kunden in neue UserForm übertragen
With frmMKKundenVerwaltung
.txtVorname3.Text = Cells(Zeile, 4).Value
.txtNachname3.Text = Cells(Zeile, 3).Value
.txtGeburtsdatum3.Text = Cells(Zeile, 5).Value
.txtStraße1.Text = Cells(Zeile, 7).Value
.txtPLZ1.Text = Cells(Zeile, 8).Value
.txtStraßeFirma2.Text = Cells(Zeile, 9).Value
.txtPLZFirma2.Text = Cells(Zeile, 10).Value
.Show
End With
End Sub
Private Sub UserForm_Initialize()
txtNachname.SetFocus
End Sub

An der im Code fettmarkieten Zeile tritt der Fehler auf.
Unabhängig davon werde ich deinen Vorschlag ausprobieren.
Danke und Gruß
Tomasz

Anzeige
Daten aus listbox in txb e. anderen UF übertragen
06.07.2016 13:13:01
baschti007
Bei mir geht der Code so aber wie Rudi sagt ziemliches durcheinander ;)
Ja an der Stelle mit like habe ich was geändert.

AW: Daten aus listbox in txb e. anderen UF übertragen
06.07.2016 13:14:06
Krupa
Ok. Danke Dir
Gruß

AW: Daten aus listbox in txb e. anderen UF übertragen
06.07.2016 12:53:32
Krupa
Außerdem soll die Groß- und Kleinschreibung aus Gründen der Anwenderfreundlichkeit keine Rolle spielen.
Viele Grüße
Tomasz

Daten aus listbox in txb e. anderen UF übertragen
06.07.2016 12:59:31
Rudi
Hallo,
Bei mir auf der Arbeit (MS 2010) lege ich alle Makros in der persönlichen Arbeitsmappe ab !!!
warum das? Was soll der Quatsch?
Speziell auf eine Mappe zugeschnittene Codes gehören auch da rein.
Der Fehler ist nicht nachvollziehbar.
Gruß
Rudi

Anzeige
AW: Daten aus listbox in txb e. anderen UF übertragen
06.07.2016 13:04:29
Krupa
Hallo Rudi,
tja, das haben mir ältere Kollegen einfach so angeraten. Hintergrund ist, dass sich die Makros so besser verwalten lassen, wenn sie in einer - eben persönlichen - Excel-Arbeitsmappe abgelegt sind.
Inwiefern ist der Fehler nicht nachvollziehbar? Fehlermeldung: Objekt erforderlich.
Gruß
Tomasz

AW: Daten aus listbox in txb e. ...
06.07.2016 14:16:38
Herbert
Hallo,
Bei mir auf der Arbeit (MS 2010) lege ich alle Makros in der persönlichen Arbeitsmappe ab!
Das ist so falsch auch wieder nicht. Doch in Bezug auf "alle" ist es nicht OK.
Makros, die sich nur auf eine bestimmte Arbeitsmappe beziehen, sollten auch NUR in dieser abgelegt werden.
In der PERSONAL.XLSB solltest Du alle Makros ablegen, die nicht in einer AM spezifisch Anwendung finden.
Servus

Anzeige
AW: Daten aus listbox in txb e. ...
06.07.2016 14:33:11
Krupa
Hallo Herbert,
danke für dein Feedback.
Nun habe ich die Formulare und die Makros in die Excel-Arbeitsmappe, um die es geht, übertragen und diese Arbeitsmappe als .xlsm gespeichert.
Nun kann ich nicht mal mein erstes Formular (Kunden suchen) aufrufen, excel verweist hier auf die persönl. arbeitsmappe, aus der ich nun die Formulare und codes gelöscht habe. Die Löschung war auch erforderlich, da ansonsten immer auf die persönl. Arbeitsmappe zurückgegriffen wird.
Ist ja nicht normal. Ich weiß nicht mehr weiter.
Gruß
Tomasz

AW: Daten aus listbox in txb e. ...
06.07.2016 14:39:09
Herbert
Hallo,
keine Panik, das geht schon! Gehe zu "Ansicht/Makros/Makros anzeigen".
Unten, bei "Makros in:" wählst Du "Diese Arbeitsmappe" und Doppelklick auf das gewünschte Makro.
Dann klappts auch mit den AM-Makros! ;o)=)
Servus

Anzeige
AW: Daten aus listbox in txb e. ...
06.07.2016 14:51:09
Krupa
Ok. geschafft.
Es wundert mich trotzdem, warum die Aktion nicht von der persönlichen Excel-Arbeitsmappe heraus gestartet werden kann.
Ich bedanke mich bei allen.
Viele Grüße
Tomasz

AW: Daten aus listbox in txb e. ...
06.07.2016 14:59:21
Herbert
Hallo Tomasz,
grundsätzlich sollte das schon gehen. Wer hat gesagt, dass das nicht geht? Im Gegenteil! Wenn Du z. B. willst, dass das Makro nur Du ausführen kannst und z. B. Deine Kollegen nicht, dann macht es Sinn, das Makro aus dieser AM in die Pers... zu verschieben. Auf Deinem PC müsste das dann immer funktionieren.
Servus

AW: Daten aus listbox in txb e. ...
06.07.2016 14:41:08
Herbert
Ach so, Du kannst natürlich in diesem Falle auch die Makros, die Du von der Personal.xlsb in die AM übertragen hast, in der Personal.xlsb löschen. Dann kannst Du Dir die erste Prozedur sparen!
Anzeige

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige