Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Friedrichroda /
Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.

Bei Problemen mit der Erreichbarkeit der Foren bitte den Link / Favoriten prüfen und ersetzen. Dazu über die Startseite ins gewünschte Forum wechseln und zu den Favoriten hinzufügen. Excel ist derzeit z.B. unter http://www.clever-excel-forum.de/forum-2.html zu erreichen.


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. Sad

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

Grüße Mike
to 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. Wink

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
to 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-2016)
to 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. Smile

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

Aber erst muss ich was einkaufen gehen.

Gruß Mike
to 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 7 / Office 2007
to 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
to 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 7 / Office 2007
to 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
to 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 7 / Office 2007
to top
#10
Hallo Stefan,


OK.....ich kann mich ja auch besser ausdrücken....das muss ich noch lernen. Wink
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
to top


Gehe zu:


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