VBA Zellen mehrspaltig befüllen
#1
Hallo,



ich versuche mittels VBA mehrere Spalten zu befüllen, bin allerdings totaler Neuling auf dem Gebiet mit VBA.



Mittels Barcode-Scanner will ich zwei oder auch drei Spalten befüllen, konkret geht es um mehrere Geräte die mit Seriennummer, Inventarnummer, MAC-Adresse etc. erfasst werden und in einem Tabellenblatt niedergeschrieben werden sollen.
Prinzipiell macht der Barcode-Scanner nach jedem Eintrag ein [ENTER], welches ich mittels VBA abfange um den Wert ins Tabellenblatt zu pushen.



Im Tabellenblatt soll es dann so sein, dass pro Gerät eine Zeile existiert:

z.B.

A1= Gerät 1 (SN)

B1= Gerät 1 (InventarNr)

C1= Gerät 1 (MAC-Adresse)


## sprung in nächste Zeile zum nächsten Gerät (weil jedes Gerät nur 3 Werte hat)


A2= Gerät 2 (SN)

B2= Gerät 2 (InventarNr)

C2= Gerät 2 (MAC-Adresse)



etc...



Aktuell (nach nun mehreren Stunden) hab ich den Codeschnipsel mir zusammen kopiert, der schonmal halbwegs das macht was ich will - jedoch fügt er die ganzen eingaben nur in einer Spalte.



Kann mir jemand den Code entsprechend anpassen, damit A1, B1, C1 befüllt wird und dann entsprechend mit A2,B2,C2 fortgefahren wird?



Code:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

    Dim lngZeile As Long
    Dim intAnzahl As Integer
    Dim lngI As Long
   
    If KeyCode = vbKeyReturn Then
   
   Cells(Range("A65536").End(xlUp).Offset(1, 0).Row, 1) = TextBox1.Value
   
    End If

End Sub


Vielen Dank im voraus.

- dsca
Top
#2
Hallo dsca,

was trennt denn in Deinem Barcode die einzelnen Informationen?
Gib mal ein Beispiel, wie Dein Code aussieht, wenn er in die Zelle geschrieben wurde, und in welche Teile er getrennt werden soll.

Gruß,
Lutz
Top
#3
Hallo Lutz,

wie gesagt, der Barcode-Scanner fügt den Barcode als Text ein und sendet am Ende ein ENTER. Somit rutscht der Focus automatisch in die nächste Zeile oder Spalte. Je nachdem wie ich die Einstellung (siehe Anhang option.jpg) einstelle.
Mittels dem o.g. VBA-Code schaffe ich es jedoch nur die Spalte A untereinander zu befüllen - jedoch müsste sobald der Focus auf einer Zelle in der Spalte D liegt (weil nach 3 Barcodes ein neues Gerät erfasst wird), der Focus wieder zurück auf A springen um das nächste Gerät zu scannen.

Wie realisiere ich das am Besten?

Hab als Beispiel mal das sheet ge'screenshoted:
       
Top
#4
habs durch massives rumprobieren und bastelei nun hinbekommen :18: 

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("D1:D5000")) Is Nothing Then
       ActiveCell.Offset(1, -3).Select
End If
End Sub
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste