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

Zeile aus Userform finden, bestimmte Zelle ändern

Zeile aus Userform finden, bestimmte Zelle ändern
01.10.2015 18:17:11
Patrick
Hallo zusammen,
bisher konnte ich wirklich jedes Problem mit genügend Recherche lösen. Jedoch hänge ich nun doch fest und weiß einfach nicht wo der Fehler liegt.
Ich habe eine Excel-Liste zur Lagerverwaltung. Da natürlich alles protokolliert werden sollte, gibt es eine Tabelle mit Warenein- und ausgang, und die Tabelle mit den ganzen Daten. Aktuell bin ich so weit, dass per Artikelnummer im Userform der Artikel ermittelt wird. Im Userform werden auch alle Daten zu dem Artikel angezeigt. Nun möchte ich z.B. einen Wareneingang festhalten. Ich suche den Artikel, dieser wird mir angezeigt. Über die Textform "Menge" gebe ich die gewünschte Menge ein, wähle ein Dropdown aus, welcher Lagerort betroffen ist und klicke auf den Button "Buchen". Nun sucht die VBA nach der Artikelnummer und soll die Menge zu einer bestimmten Spalte (in der gesuchten Zeile) addieren.
Die Spaltenauswahl habe ich mit If Bedingungen über das Dropdownmenü gemacht. Das funktioniert auch hervorragend. Jedoch wählt er immer die 2. Zeile aus. Nicht die Zeile, in der mein gesuchter Artikel steht.
Ich nutze ungefähr den selben Ablauf, um die Textfelder im Userform zu füllen, wenn ich mir einen Artikel raussuche.
Ich habe einfach das Gefühl, dass die Variable nicht richtig gespeichert wird oder ich verstehe die Variable bzw. den Code zum Suchen nicht. Egal was ich mache, es wird immer die 2. Zeile ausgewählt.
Zur VBA für die Befüllung des Warenprotokolls bin ich noch nicht gekommen. Da sehe ich auch kein Problem. Wollte nur den gesamten geplanten Ablauf schildern.
Anbei der Code vom Private Sub: Private Sub CommandBuchen_Click() Dim ssearchx As String Dim VarBestand As Integer Dim Zeile As Range Set Zeile = Columns("C:C").Find(What:=ssearchx, LookAt:=xlWhole, LookIn:=xlValues) If ComboLagerort = "" Then MsgBox "Lagerot auswählen!" Else If ComboLagerort = "Lager RA" Then VarBestand = Zeile.Offset(0, 4) Zeile.Offset(0, 4).Value = TextMenge.Text + VarBestand Else If ComboLagerort = "WT 6666" Then VarBestand = Zeile.Offset(0, 5) Zeile.Offset(0, 5).Value = TextMenge.Text + VarBestand Else If ComboLagerort = "WT 999" Then VarBestand = Zeile.Offset(0, 6) Zeile.Offset(0, 6).Value = TextMenge.Text + VarBestand End If End If End If End If End Sub
Ich hoffe ihr könnt mir hier helfen. Wenn das funktionieren sollte, bin ich einen großen Schritt weiter.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
kannst Du ein Bsp hochladen ?
01.10.2015 19:33:21
Matthias
Hallo
Hab keine Lust das Formular nachzubauen.
Statt Userform mit Textbox und Combobox usw.
hab ichs mal auf der Tabelle mit A1 gemacht
Bei mir klappt das ohne Probleme
Tabelle1

 ABCDEFGHI
1WT 999 Prod1      
2  Prod2      
3  Prod3      
4  Prod4      
5  Prod5      
6  Prod6      
7  Prod7      
8  Prod8      
9  Prod8      
10  Prod9      
11  Prod10      
12  Prod11      
13  Produktxyz   541
14  Prod12      
15  Prod13      
16  Prod14      
17  Prod15      
18  Prod16      
19  Prod17      
20  Prod18      
21  Prod19      
22  Prod20      

Datengültigkeit der Tabelle
ZelleZulassenDatenEingabe 1Eingabe 2
A1Liste Lager RA;WT 6666;WT 999 


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Mit diesem Code
Option Explicit
Private Sub CommandButton1_Click()
Dim ssearchx As String
Dim Zeile As Range
Dim VarBestand
ssearchx = "Produktxyz"
Set Zeile = Columns("C:C").Find(What:=ssearchx, LookAt:=xlWhole, LookIn:=xlValues)
Select Case Cells(1, 1)
Case Is = ""
MsgBox "Bitte Lagerort auswählen!"
Case Is = "Lager RA"
VarBestand = Zeile.Offset(0, 4)
Zeile.Offset(0, 4).Value = 1 + VarBestand
Case Is = "WT 6666"
VarBestand = Zeile.Offset(0, 5)
Zeile.Offset(0, 5).Value = 1 + VarBestand
Case Is = "WT 999"
VarBestand = Zeile.Offset(0, 6)
Zeile.Offset(0, 6).Value = 1 + VarBestand
End Select
End Sub
Gruß Matthias

Anzeige
ssearchx ist ja auch leer ...
01.10.2015 22:30:25
Matthias
Hallo
Private Sub CommandBuchen_Click()
Dim ssearchx As String
Dim VarBestand As Integer
Dim Zeile As Range
ssearchx = ComboArtikelnummer
Set Zeile = Columns("C:C").Find(What:=ssearchx, LookAt:=xlWhole, LookIn:=xlValues)
Select Case ComboLagerort
Case Is = ""
MsgBox "Lagerot auswählen!"
Case Is = "Lager RA"
VarBestand = Zeile.Offset(0, 4)
Zeile.Offset(0, 4).Value = TextMenge.Text + VarBestand
Case Is = "WT 6666"
VarBestand = Zeile.Offset(0, 5)
Zeile.Offset(0, 5).Value = TextMenge.Text + VarBestand
Case Is = "WT 999"
VarBestand = Zeile.Offset(0, 6)
Zeile.Offset(0, 6).Value = TextMenge.Text + VarBestand
End Select
End Sub

Anzeige
AW: ssearchx ist ja auch leer ...
01.10.2015 22:54:51
Patrick
Wie blind man manchmal sein kann...
Vielen lieben Dank. Es funktioniert!

319 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige