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

Userform will nicht so recht

Userform will nicht so recht
02.07.2013 17:28:13
Hartmut
Hallo zusammen,
ich habe folgenden code in einer userform. nun möchte ich diese um ein feld erweitern in diesem fall '"tbDrum_Number". diesen nachstehenden code habe ich eingegeben, aber leider wird mir nicht in meiner userform die nummer der Trommel angezeigt. vielleicht kann mich ja jemand von euch mit der nase darauf stossen damit diese teil wieder funktioniert.
auf jeden fall ein danke an euch alle.
gruß
hartmut
Private Sub tbCable_Number_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim rngLast As Range, lngZ As Long, vTst
Dim lboFehler As Boolean
If tbCable_number.Text = "" Then lboFehler = True
If lboFehler = True Then
MsgBox "Es ist kein Eintrag vorhanden!!!"
Exit Sub
End If
With Sheets("Cable List")
Set rngLast = .Cells(.Rows.Count, 16).End(xlUp) ' letzter Eintrag Sp. 15
' Suche mit Match = VERGLEICH
vTst = 5 + Application.Match(tbCable_number, _
.Range(.Cells(6, 16), rngLast), 0)
If IsNumeric(vTst) Then                    ' wenn gefunden, ...
lngZ = vTst
tbCable_number = .Cells(lngZ, 16)            ' war schon gleich
tbCable_Type = .Cells(lngZ, 17)
tbEndjunction_from = .Cells(lngZ, 18)
tbLocation_from = .Cells(lngZ, 19)
tbEndjunction_to = .Cells(lngZ, 20)
tbLocation_to = .Cells(lngZ, 21)
'tbDrum_Number = .Cells(lngZ, 15)
End If
End With
End Sub
Private Sub CommandButton1_Click()
With Sheets("Cable List")
With .Cells(.Rows.Count, 15).End(xlUp).Offset(1)
.Offset(, 0).Value = tbDrum_Number
.Offset(, 1).Value = tbCable_number
.Offset(, 2).Value = tbCable_Type
.Offset(, 3).Value = tbEndjunction_from
.Offset(, 4).Value = tbLocation_from
.Offset(, 5).Value = tbEndjunction_to
.Offset(, 6).Value = tbLocation_to
End With
End With
tbDrum_Number = ""
tbCable_number = ""
tbCable_Type = ""
tbEndjunction_from = ""
tbLocation_from = ""
tbEndjunction_to = ""
tbLocation_to = ""
End Sub

25
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Liegts evtl. am Hochkomma ?
02.07.2013 17:32:20
Matthias
Hallo
'tbDrum_Number = .Cells(lngZ, 15)
Gruß Matthias

AW: Liegts evtl. am Hochkomma ?
02.07.2013 17:34:48
Hartmut
Hallo, nein es liegt nicht daran, das habe ich nur gemacht weil es sonst gar nicht funktioniert. vielleicht habe ich auch ein wenig zuviel experimentiert.
gruß
hartmut

hast Du mal gecheckt ...
02.07.2013 17:44:49
Matthias
Hallo
... was in .Cells(lngZ, 15) steht?
Ist die Zelle evtl. leer?
Eine Bsp.-Mappe wäre da sicher sinnvoll.
Gruß Matthias

AW: hast Du mal gecheckt ...
02.07.2013 19:45:15
hartmut
nein die zelle ist nicht leer, in der version ohne die drum geht es ja noch einwandfrei

Ok, Du willst also keine weitere Hilfe
02.07.2013 19:57:13
Matthias
Hallo
Eine Bsp.-Mappe wäre da sicher sinnvoll (hatte ich ja gepostet)
Wenn Du das nicht realisieren darfst/kannst/möchtet, so kann ich Dir leider nicht helfen.
Übrigens ein Hallo am Anfang und ein Gruß am Ende eines Beitrages gehören hier zum guten Ton.
Gruß Matthias

Anzeige
AW: Ok, Du willst also keine weitere Hilfe
03.07.2013 07:10:58
Hartmut
Hallo zusammen,
Ich habe hier eine Beispieldatei angehängt
https://www.herber.de/bbs/user/86176.xls
und es soll so sein das wenn ich eine Kabelnummer eingebe und ich auf Kabel einlesen klicke, dass die Werte sich in die Userformschreiben welche in der jeweiligen Zeile stehen.
Gruß
Hartmut

AW: Ok, Du willst also keine weitere Hilfe
03.07.2013 07:20:03
Hartmut
Sorry,
jetzt ohne Kennwort.

Die Datei https://www.herber.de/bbs/user/86177.xls wurde aus Datenschutzgründen gelöscht


Gruß Hartmut

Anzeige
mehrere Fehler ...
03.07.2013 08:24:13
Klaus
Hallo Hartmut,
dein Button "Kabel einlesen" hat gleich mehrere Probleme.
- er hat KEINERLEI Code! Oder anders ausgedrückt: Der vorhande Code läuft einwandfrei durch :-)
Anhand der vorherigen Postings nehme ich an, du willst den Code von
tbCable_Number_Exit
laufen haben, wenn der Button "Kabel einlesen" gedrückt wird. Der dort vorhandene Code sucht die "Cable Number" in Spalte 15 (das ist O wie Omega),
 vTst = 5 + Application.Match(tbCable_number, .Range(.Cells(6, 15), rngLast), 0)

deine CabelNummern stehen in deiner Musterdatei aber in Spalte 8 (H).
jetzt kann ich natürlich die 15 in eine 8 ändern (Achtung, auch bei rngLast!), den Code in den Button kopieren, dir die Datei wieder hochladen und das Lob kassieren ... will ich aber noch nicht denn:
- ich halte nichts davon, Spalten/Zeilen FIX zu vergeben. Dann wird der Code bei der kleinsten Tabellenänderung unbrauchbar, und das debuggen ist schmerzhaft anstrengend. Für sowas gibt es CONST-Variablen oberhalb des eigentlichen Code!
- der Code hat keinerlei Fehlerbehandlung, das heisst beim kleinsten Tippfehler schmiert dir VBA ab in den Debug-Modus
- der Code liegt zur Zeit auf einer Exit-Routine, ich will zunächst von DIR wissen wann er ausgeführt werden soll (Exit, Button oder jedesmal?)
- müsste ich mit dieser UserForm arbeiten würde ich verrückt werden ... eine vorhandene Liste aus Artikelnummern, und ich muss sie jedesmal händisch eingeben? Vorschlag: statt der CableNumber-Textbox lieber eine Listbox oder eine Combobox, aus der man auswählen kann!
- Warum überhaupt den Umweg über die Listbox gehen? Hast du einen bestimmten Grund, das die Form "modal" angezeigt wird - dH, willst du den User aktiv aus der Tabelle aussperren? Falls nein, würd ich die Form gerne auf "modeless" setzen und es so lösen: User clickt in Tabelle irgendwohin, die TextBoxen füllen sich automatisch mit den Werten der geclickten Zeile, optional: Die geclickte Zeile wird komplett selektiert (für die Optik am User).
Wenn du dich an Matthias Forderung hälst immer artig "Hallo" und "Gruß" zu schreiben, an meiner Lösungsoptimierung interesse hast und mir die paar offenen Fragen beantwortest, mach ich mich ans Coden!
Grüße,
Klaus M.vdT.

Anzeige
AW: mehrere Fehler ...
03.07.2013 08:57:03
Hartmut
hallo Klaus,
dann bin ich ab jetzt artig, aber nur soooo lange bis ich nicht mehr brav bin. :-)
Diese kleine Userform soll nur dazu dienen, falls eine Kabelnummer gesucht wird, das die anderen Werte sich in diese Box füllen und das wenn ich ein einzelnes Kabel von Hand einpflegen muss das ich dieses ebenfalls realisieren kann. Es ist einfach nur informativ, bzw. als kleine Hilfe für den Benutzer gedacht.
Gruß
Hartmut

Du hast keine ...
03.07.2013 09:09:20
Klaus
... einzige meiner Fragen beantwortet oder meiner Vorschläge kommentiert, Hartmut.
Grüße,
Klaus M.vdT.

AW: Du hast keine ...
03.07.2013 09:51:42
Hartmut
Hallo Klaus,
dieser Code bzw. Userform wird nur auf Anforderung ausgeführt und zwar wenn jemand auf den Button Kabelliste bearbeiten klickt. Dann öffnet sich ja die Userform und wenn jemand dort in das Feld Cablenumber eine vorh. Kabelnummer eingibt dann sollen sich bei klick auf einlesen die anderen Felder füllen. Damit ist gegeben das alle wichtigen Daten zu einer Kabelnummer eingeblendet werden ohne das man grossartig in der Liste suchen muss. Sind damit deine Fragen beantwortet, oder habe ich noch etwas vergessen?
Gruß
Hartmut

Anzeige
AW: Du hast keine ...
03.07.2013 09:56:06
Klaus
Hallo Hartmut:
Ich schrieb:
- ich halte nichts davon, Spalten/Zeilen FIX zu vergeben. Dann wird der Code bei der kleinsten  _
Tabellenänderung unbrauchbar, und das debuggen ist schmerzhaft anstrengend. Für sowas gibt es CONST-Variablen oberhalb des eigentlichen Code!
- der Code hat keinerlei Fehlerbehandlung, das heisst beim kleinsten Tippfehler schmiert dir  _
VBA ab in den Debug-Modus
- der Code liegt zur Zeit auf einer Exit-Routine, ich will zunächst von DIR wissen wann er  _
ausgeführt werden soll (Exit, Button oder jedesmal?)
- müsste ich mit dieser UserForm arbeiten würde ich verrückt werden ... eine vorhandene Liste  _
aus Artikelnummern, und ich muss sie jedesmal händisch eingeben? Vorschlag: statt der CableNumber-Textbox lieber eine Listbox oder eine Combobox, aus der man auswählen kann!
- Warum überhaupt den Umweg über die Listbox gehen? Hast du einen bestimmten Grund, das die Form "modal" angezeigt wird - dH, willst du den User aktiv aus der Tabelle aussperren? Falls nein, würd ich die Form gerne auf "modeless" setzen und es so lösen: User clickt in Tabelle irgendwohin, die TextBoxen füllen sich automatisch mit den Werten der geclickten Zeile, optional: Die geclickte Zeile wird komplett selektiert (für die Optik am User).
Grüße,
Klaus M.vdT.

Anzeige
AW: Du hast keine ...
03.07.2013 10:20:59
Hartmut
Hallo Klaus,
es sieht einmal mehr nach einer schwierigen geburt aus :-)
Für die Eingabe von Const. habe ich leider zu wenig VBA erfahrung um da mitzureden.
Aber in der Hinsicht vertraue ich dir einmal.
Exit Routine = der code soll ausgeführt werden wenn die userform geöffnet wird und der jeweilge button angestossen wird.
Für eine Fehlerbehandlung fehlt mir ein wenig die Erfahrung dafür.
Und die CableNumber Textbox kann natürlich auch eine Listbox mit der Kabelliste sein und bei Klick auf eine Nummer darauf gefüllt werden.
Und der User soll ja die Userform gerade als Hilfe nutzen um evtl. ein Kabel zu suchen und die Werte direkt zu betrachten und nicht einfach wahllos in die Liste klicken.
Ich hoffe einmal das es die gewünschten antworten waren. :-)
Gruß
Hartmut

Anzeige
dauert ein stündchen
03.07.2013 10:50:57
Klaus
Hallo Hartmut,
ich habe zwei gute Ideen, wie ich deine Userform umschreiben kann. Dauert aber ein stündchen oder zwei, da ich grad was anderes mache....
Grüße,
Klaus M.vdT.

AW: dauert ein stündchen
03.07.2013 11:06:47
Hartmut
Hallo Klaus,
erst einmal ein großes DANKE an dich.
Kein problem ausser Arbeiten habe ich nichts anderes zu tun. :-))
Gruß
Hartmut

Version 1 mit ListBox
03.07.2013 11:38:06
Klaus
Hi,
Version 1 mit ListBox, die als Life-Suche aktualisiert wird:
https://www.herber.de/bbs/user/86181.xls
Ich halte den Beitrag kurz, dafür habe ich umso mehr Kommentare in den Code geschrieben. Gibts einen tieferen Sinn dass du das als *.xls speicherst? Hast doch 2010, nimm xlsm!
Grüße,
Klaus M.vdT.

Anzeige
Version 2 hat sich grad beim testen ...
03.07.2013 11:50:11
Klaus
... als komplett ungeeignet herausgestellt. Komisch, in meinem Kopf sah die noch gut aus :-)
Ich ziehe mein Angebot hiermit zurück und stelle dir nur eine Alternative, die mit Listbox, zur Verfügung :-)
Grüße,
Klaus M.vdT.

AW: Version 1 mit ListBox
03.07.2013 12:20:18
Hartmut
Hallo Klaus,
Danke dir. Ich werde es so schnell wie möglich anwenden und mitteilung geben.
Und xls nur weil der Ursprung aus 2003 entstanden ist. Ich benutze 2010, bzw. ab 1.7. Office 365
Gruß
Hartmut

AW: Version 1 mit ListBox
03.07.2013 12:39:26
Hartmut
Hallo Klaus,
ich habe die Datei kurz ausprobiert. Sieht klasse aus. Wenn ich jetzt eine zusätzlich Abfrage in die Userform einfüge, was muss ich da beachten?
Die ausgeblendete Userform entferne ich dann aus dem Button.
Bis dahin.. und noch einmal Danke...(Wenn ich könnte, dann würde ich ja eine Flasche spendieren)
Gruß
Hartmut

Anzeige
Ich verstehe dich wieder nicht!
03.07.2013 12:55:08
Klaus
Hallo Hartmut,
ich weiss nicht was du mit "zusätzliche Abfrage" meinst! Den Code habe ich soweit duchkommentiert, dass du alles finden und hoffentlich verstehen dürftest. Fügst du eine weitere Textbox ein, musst du halt die entsprechenden Zeilen für "Textbox füllen" und "Texbox leeren" mit den entsprechenden Offsets einbauen.
Die ausgeblendete Userform entferne ich dann aus dem Button.
? Hab ich was übersehen?
(Wenn ich könnte, dann würde ich ja eine Flasche spendieren)
Wenn du das gerne möchtest, schlage ich folgendes vor: Spende X€ (den Preis für die Flasche) an
http://www.plan-deutschland.de/helfen-mit-plan/spenden/
oder eine ähnliche Organisation deiner Wahl, parralel gehe ich in den nächsten Markt und kaufe mir eine! So ist dann allen geholfen.
Grüße,
Klaus M.vdT.

Anzeige
AW: Ich verstehe dich wieder nicht!
03.07.2013 12:59:09
Hartmut
Hallo Klaus,
ich habe nur kurz in die Datei reingeschaut.
Sorry, ich meine den überflüssigen Button, der wird dann eliminiert.
Und dann mal Prost.
Die Sache geht heute ins rollen.
Danke noch einmal und grüße aus der Niederrheinischen Tiefebene Duisburg
Hartmut

DANKE DANKE owt
03.07.2013 13:00:09
Hartmut

Danke für die Rückmeldung! owT.
03.07.2013 13:03:27
Klaus
.

"gefordert" war aber a bissl übertrieben ...
03.07.2013 17:50:40
Matthias
Hallo Klaus
Den letzten Satz fand ich ganz nett, aber gefordert habe ich das dann definitiv nicht ;-)
Aber schön das er dann doch noch Hilfe angenommen hat. Hab gerade alles gelesen.
Gruß Matthias

Synonyme "gefordert"?
04.07.2013 09:02:29
Klaus
Hallo Matthias,
Setz halt ein passendes Synonym für "gefordert" :-) Ich war auch kurz davor auszusteigen (in meinem Beitrag "Du hast keine ...") aber Hartmut hat ja noch die Kurve bekommen!
Ist schon erstaunlich, wie schwer sich viele tuen sich helfen zu lassen - keine Musterdateien, Unverständniss über sauberen Tabellenaufbau, allergische Reaktion auf VBA, stunden bis tagelanges nichts auf Rückfragen ... aber naja, wir haben ja Spass dran!
Grüße,
Klaus M.vdT.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige