Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Dringend Hilfe bei einem VBA-Code
#1
Hallo zusammen,

hänge hier bei einem Code fest, der für einige sicherlich sehr einfach ist.

Dieser Code steckt in der Mappe, die ich hier beigefügt habe.

.xlsm   Packmengen.xlsm (Größe: 161,79 KB / Downloads: 5)


Ich habe hier im Forum diesen für eine andere Maske bekommen und dachte mir, ich kann ihn etwas umbauen, für meine neue Maske.
Aber ich begreife dieses VBA immer noch nicht.

In meiner Mappe sind 2 Blätter aus meiner Ursprungmaske.

Im ersten rufe ich die Maske "Menge auf Palette" auf.
Mit dieser Maske möchte ich in der Combobox einen Artikel auswählen und nach dem auswählen sollen mir die TextBoxen gefüllt werden.
Wenn alles gefüllt und sichtbar ist, möchte ich auch die Möglichkeit haben, Eintragungen in den TextBoxen zu machen und diese dann im Blatt "Artikelmenge_Palette" auch abspeichern können.
Ich habe im Blatt  "Artikelmenge_Palette"  ein paar Einträge zur Ansicht gemacht. Ein paar Zellen sind nur leer.

Im Code für die Maske habe ich es bis jetzt noch nicht geschafft, mir überhaut schon einmal in der Combobox die Artikel anzeigen zu lassen. :(

Vielleicht kann mir jemand Schritt für Schritt erklären, wie ich das machen muss?

Grüße Mike
Antworten Top
#2
Hallo,

ich habe noch ein wenig ausprobiert.
Bekomme jetzt endlich die Combobox in der Maske gefüllt, bin mir aber nicht sicher, ob das alles so richtig ist, was ich dort zusammengestrickt habe. ;)

Vielleicht schaut sich jemand das an und kann mir sagen, ob ich den Code so lassen kann?

Das gute ist, das ich in der Combobox sogar die erste Zahl oder Buchstaben eingeben kann und er springt schon ziemlich nah dabei zum gewünschten Artikel.

Anbei noch einmal meine Mappe mit meinem Code-Versuch.

.xlsm   Packmengen.xlsm (Größe: 162,83 KB / Downloads: 4)
Grüße an alle Interessierte.

Mike
Antworten Top
#3
Hallo Mike,

das sieht erst mal ok aus.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#4
(24.04.2015, 17:54)schauan schrieb: Hallo Mike,

das sieht erst mal ok aus.

Hallo Schauan,

danke....da bin ich beruhigt.
Habe schon einiges ausprobiert und eben endlich mal etwas hinbekommen. :)

Jetzt muss ich nur noch die Listboxen gefüllt kriegen. ;)

Aber erst muss ich was einkaufen gehen.

Gruß Mike
Antworten Top
#5
Hallo Mike,

Code noch ziemlich fehlerbehafter aber teste mal

Code:
Private Sub ComboBox1_Change()
   Dim lngC As Long
  
   If ComboBox1.ListIndex = 0 Then Exit Sub
   lngC = ComboBox1.ListIndex + 1
   With Worksheets("Artikelmenge_Palette")
      TextBox1.Value = .Cells(lngC, 2).Value
      TextBox2.Value = .Cells(lngC, 3).Value
      TextBox3.Value = .Cells(lngC, 4).Value
      TextBox4.Value = .Cells(lngC, 5).Value
      TextBox5.Value = .Cells(lngC, 6).Value
   End With
End Sub

Private Sub CommandButton1_Click()
   Dim lngC As Long
  
   lngC = ComboBox1.ListIndex + 1
   With Worksheets("Artikelmenge_Palette")
      .Cells(lngC, 2).Value = TextBox1.Value
      If IsNumeric(TextBox2.Value) Then .Cells(lngC, 3).Value = CDbl(TextBox2.Value)
      If IsNumeric(TextBox3.Value) Then .Cells(lngC, 4).Value = CInt(TextBox3.Value)
      If IsNumeric(TextBox4.Value) Then .Cells(lngC, 5).Value = CDbl(TextBox4.Value)
      If IsNumeric(TextBox5.Value) Then .Cells(lngC, 6).Value = CDbl(TextBox5.Value)
   End With
End Sub
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#6
Artikelmenge_Palette
Hallo Steffl,

habe deinen Code eingefügt.
TextBoxen werden gefüllt doch abspeichern, da fehlt im Blatt "Artikelmenge_Palette" immer die Spalte E, das Palettenmaß.

Der erste Zeile von A2 bis F2 hat er vollständig gefüllt beim drücken in der Maske auf speichern,
alle neuen Zeilen, lässt er die Spalte E leer.

Habe mir deinen Code angesehen.
Diese Zeile fehlte bei dir, diese habe ich eingefügt, doch damit ging es auch nicht.

If IsNumeric(TextBox1.Value) Then .Cells(lngC, 2).Value = CDbl(TextBox1.Value)

Grüße Mike

Code:
Private Sub ComboBox1_Change()
  Dim lngC As Long
 
  If ComboBox1.ListIndex = 0 Then Exit Sub
  lngC = ComboBox1.ListIndex + 1
  With Worksheets("Artikelmenge_Palette")
     TextBox1.Value = .Cells(lngC, 2).Value
     TextBox2.Value = .Cells(lngC, 3).Value
     TextBox3.Value = .Cells(lngC, 4).Value
     TextBox4.Value = .Cells(lngC, 5).Value
     TextBox5.Value = .Cells(lngC, 6).Value
  End With
End Sub

Private Sub CommandButton1_Click()
  Dim lngC As Long
 
  lngC = ComboBox1.ListIndex + 1
  With Worksheets("Artikelmenge_Palette")
     .Cells(lngC, 2).Value = TextBox1.Value
     If IsNumeric(TextBox1.Value) Then .Cells(lngC, 2).Value = CDbl(TextBox1.Value)
     If IsNumeric(TextBox2.Value) Then .Cells(lngC, 3).Value = CDbl(TextBox2.Value)
     If IsNumeric(TextBox3.Value) Then .Cells(lngC, 4).Value = CInt(TextBox3.Value)
     If IsNumeric(TextBox4.Value) Then .Cells(lngC, 5).Value = CDbl(TextBox4.Value)
     If IsNumeric(TextBox5.Value) Then .Cells(lngC, 6).Value = CDbl(TextBox5.Value)
  End With
End Sub
Antworten Top
#7
Hallo Mike,

ich habe jetzt keine Zeit mehr, ich konnte aber nicht feststellen das die Spalte E nicht gefüllt wird. Deine Ergänzung kann nicht gehen, weil nach einem numerischen Wert geprüft wird und Text ist das eindeutig nicht.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#8
Ok.

dann kann die Zeile ja wieder raus.

Aber ich habe es jetzt  20mal ausprobiert.....in Spalte E wird nichts übernmmen?


.xlsm   Packmengen.xlsm (Größe: 163,09 KB / Downloads: 4)

Gruß Mike
Antworten Top
#9
Hallo Mike,

Arbeitsblatt mit dem Namen 'Artikelmenge_Palette'
 ABCDEF
1Artikel-Nr.Abmessungen Karton Länge - Breite - HöheGewicht KartonMenge auf PalettePalettenmaßGesamtgewicht in Kg
22804.103252 x 17 x 13cm1,21121,21 x 1,01 x 0,15cm34,50
32804.1032-140 x 40 x 60cm3,5045 200,00
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg

da habe ich mich durch deine Beispieldatei vom Freitag verwirren lassen und gedacht in Spalte E kommen nur Zahlen vor. Falls beides gehen soll, kannst Du es mal so versuchen.

Code:
If IsNumeric(TextBox4.Value) Then .Cells(lngC, 5).Value = CDbl(TextBox4.Value) Else .Cells(lngC, 5).Value = TextBox4.Value
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#10
Hallo Stefan,


OK.....ich kann mich ja auch besser ausdrücken....das muss ich noch lernen. ;)
Ich probiere die Zeile aus, sobald ich zu Hause bin.

Wenn es gehen sollte, brauch e ich nur noch den Code, für den Neu-Button, da ich die Liste ja mit Artikeln auch mal erweitern möchte.

Grüße Mike
Antworten Top


Gehe zu:


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