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

inputbox enter durch tab ersetzen

inputbox enter durch tab ersetzen
29.04.2016 12:23:13
Mike
hallo!
habe ein kleines problem: ich würde gern in einer inputbox einen barcode lesen und mit TAB bestätigen, anstelle der enter taste.
ist das irgendwie möglich?
zur info: die lesepistole ist mit terminator TAB programmiert, weil das andere programme so verlangen, daher kann ich das nicht einfach ändern.
besten dank im voraus!
mike

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Was für eine InputBox ?
29.04.2016 12:45:55
EtoPHG
Hallo Mike,
Wie sieht dein Code aus?
Was ist das für ein Typ von Steuerelement?
In was für eine Codeklasse befindet es sich?
Bitte etwas genauer, oder noch besser Beispielmappe!
Gruess Hansueli

AW: Was für eine InputBox ?
29.04.2016 12:49:38
Mike
hallo!
ist ein activex button.
hier ist der code:
Private Sub LETTURA_Click()
Dim str1 As String
Dim c As Range
With Worksheets("Lieferschein")
Do
str1 = InputBox("Lettura articolo", "L E T T U R A", Default:=str1)
If str1 = "" Then Exit Do 'Abbrechen wurde gewählt
Set c = .Columns(1).Find(str1, LookIn:=xlValues, lookat:=xlWhole)
If IsEmpty(.Cells(1, 1)) Then
.Cells(1, 1).Value = str1
Else
.Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).Value = str1
End If
Loop
End With
End Sub
danke!

Anzeige
AW: Was für eine InputBox ?
29.04.2016 13:45:22
EtoPHG
Hallo Mike,
Du kannst weder die InputBox-Funktion, noch das Application.InputBox Objekt per VBA so beeinflussen, dass ein TAB die Enter-Taste ersetzt.
Hingegen kannst du das mit einer Userform, auf der du a) eine TextBox und b) mind. ein 2tes Steuerelement (z.B. CommandButton) platzierst. Ein Tab in der TextBox veranlasst dann den Fokuswechsel auf das 2te Steuerelement.
Gruess Hansueli

Code für den Button auf der UF
29.04.2016 13:59:35
EtoPHG
Hallo Mike,
Wenn du meinem Vorschlag von oben folgst, kopierst du diesen Code für den CommandButton auf der Userform! in
Private Sub CommandButton1_Enter()
Dim str1 As String
With Worksheets("Lieferschein")
If TextBox1 = "" Then
Unload Me
Else
If IsEmpty(.Cells(1, 1)) Then
.Cells(1, 1).Value = TextBox1
Else
.Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).Value = TextBox1
End If
TextBox1 = ""
TextBox1.SetFocus
End If
End With
End Sub

Den Code im Tabellenblatt mit deinem LETTURA-Button änderst du auf:
Private Sub LETTURA_Click()
UserForm1.Show
End Sub

Dann sollte das so wie du es wünschst funktionieren.
Gruess Hansueli

Anzeige
AW: Code für den Button auf der UF
29.04.2016 14:21:31
Mike
hallo hansueli,
danke für deine hilfe.
habe das jetzt so gemacht, allerdings ist das problem das gleiche. sobald ich in die textbox etwas reinscanne und mit tab das feld verlasse, springt der fokus auf den commandbutton und das wars.
habe ich etwas falsch gemacht?
sorry und danke!
mike

Bitte eine Beispielmappe! (owT)
29.04.2016 15:46:05
EtoPHG

Code vermutlich nicht 1:1 kopiert!
29.04.2016 15:59:18
EtoPHG
Hallo Mike,
Ich vermute stark, du hast meinen Code nicht 1:1 in die Userform kopiert, sondern den inneren Teil dem CommandButton1_Click Ereignis zugeordnet und dann passiert natürlich nichts, wenn du den Button nicht klickst.
Nimmst du hingegen das CommandButton1_Enter Ereignis, müsste es tatsächlich funktionieren.
Gruess Hansueli

Anzeige
AW: Code vermutlich nicht 1:1 kopiert!
29.04.2016 17:27:36
Mike
hallo hansueli,
sorry, funktioniert jetzt auch mit fokus. alles genau so, wie es sein soll, danke dir vielmals für deine hilfe!!!!
mike

AW: Code für den Button auf der UF
29.04.2016 16:06:05
Mike
hallo hansueli,
du hast recht, mein fehler. jetzt geht's tatsächlich.
wenn der fokus nach jedem scan noch in die textbox zurückspringen würde, wäre das weltklasse.
danke!
mike

Nur mit Userform oder ActiveX-Textbox
29.04.2016 13:28:31
Daniel
HI
ich vermute mal, dass das mit der Inputbox nicht funktioniert.
da müsstest du eine Userform mit Textfeld oder ggf direkt ein ActiveX-Textfeld verwenden.
diese kannst du so programmieren, dass bei TAB das Textfeld verlassen und zum nächsten Steuerelement gesprungen wird. Das löst dann entsprechende Eventmakros aus (Exit, AfterUpdate, LostFocus) welche du dann verwenden kannst, um den weitern Ablauf zu starten.
mit der Inputbox hast du diese Möglichkeiten nicht, da springt bei TAB höchstens der Focus auf die OK-Taste, aber mehr passiert da nicht.
du hast bei der Inputbox keine Möglichkeiten, während der eingabe in den Ablauf einzugreifen.
Gruß Daniel

Anzeige
AW: inputbox enter durch tab ersetzen
29.04.2016 14:15:28
UweD
Hallo
so wie ich das sehe, müsste es auch ohne inputbox gehen. Einfach eine Zelle überwachen...
- Rechtsclick auf den Tabellenblattreiter
- Code anzeigen
- Diesen Code dort reinkopieren

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fehler
If Not Intersect(Range("D1"), Target) Is Nothing And Target.Count = 1 Then
If Target  "" Then
Dim str1 As String
Dim c As Range
Application.EnableEvents = False
If WorksheetFunction.CountIf(Columns(1), Target) > 0 Then
Cells(1, 1).Value = Target.Value
Else
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = Target.Value
End If
Application.EnableEvents = True
End If
Target.Select
End If
Fehler:
Application.EnableEvents = True
If Err.Number  0 Then MsgBox "Fehler: " & _
Err.Number & vbLf & Err.Description: Err.Clear
End Sub
markiere eine unbenutzte Zelle (hier D1) und scanne ein...
Gruß UweD
Über Rückmeldungen würde ich mich freuen

Anzeige
AW: inputbox enter durch tab ersetzen
29.04.2016 15:38:40
Mike
hallo uwe,
danke erstmal für deine bemühungen!
die lösung über eine userform wäre zwar schöner, dein code funktioniert allerdings bis jetzt am besten. das einzige ist, wenn der selbe barcode 2 mal gescannt wird, wird der wert in A1 geschrieben und beim nächsten passiert gar nix. sofern alle barcode unterschiedlich sind, funktioniert das klasse.
grüße
mike

AW: inputbox enter durch tab ersetzen
29.04.2016 15:44:28
UweD
Hi
doch, es passiert schon was.
Der Code wird gefunden (und zwar in A1) und dann wird er wieder in A1 eingetragen.
Was soll denn in so einem Fall geschehen?
LG UweD

AW: inputbox enter durch tab ersetzen
29.04.2016 16:00:40
Mike
hallo!
aha, ok.
es soll eigentlich ab A22 fortlaufend in die nächste zelle geschrieben werden.
scannen -- in zelle A22 schreiben
scannen -- in zelle A23 schreiben
scannen -- in zelle A24 schreiben
usw.
unabhängig ob es den code schon mal gab oder nicht.
wie gesagt, sofern der code immer verschieden ist, klappt das hervorragend.
mike

Anzeige
AW: inputbox enter durch tab ersetzen
29.04.2016 16:14:19
UweD
Hi
dann brauchst du ja auch nicht das find bzw bei mir das countif...
Ich hab es jetzt mal abgeändert, und das IF..EndIf dringelassen, so dass wenigstens ein Hinweis kommt.

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fehler
If Not Intersect(Range("D1"), Target) Is Nothing And Target.Count = 1 Then
If Target  "" Then
Dim str1 As String
Dim Tmp As Range
Dim LR As Double
Set Tmp = Target
LR = WorksheetFunction.Max(21, Cells(Rows.Count, 1).End(xlUp)) + 1 'Ab Zeile 22
Application.EnableEvents = False
If WorksheetFunction.CountIf(Columns(1), Target) > 0 Then
Cells(1, 1).Value = Target
MsgBox Target & ": Doppelt"
End If
Cells(LR, 1) = Target
Tmp.ClearContents
Application.EnableEvents = True
End If
Tmp.Select
End If
Fehler:
Application.EnableEvents = True
If Err.Number  0 Then MsgBox "Fehler: " & _
Err.Number & vbLf & Err.Description: Err.Clear
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige