Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1780to1784
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

lagertool

lagertool
07.09.2020 12:52:09
Henrique
liebe VBA-Meister,
ich habe die dankbare Aufgabe bekoomen ein Tool zu programmieren das den aktuellen bestand einer unserer Lager zeigen soll. dabei stoße ich aktuell auf ein Problem ich bekomme es nicht hin das bei einem Artikel das bereits im Lager ist die Stückzahl über die userform dazu addiert wird :/ ich pack euch mal den Code mit rein vilt bin ich auf einem Holzweg... Konstruktive Kritik ist gerne willkommen ich beschäftige mich erst seit 3 Wochen mit vba :)
Public Sub StoreFormDataTransfer()
Dim letztesFeld As Long
Dim letztesFeld2 As Long
Dim letztesFeld3 As Long
Dim letztesFeld4 As Long
Dim letztesFeld5 As Long
Dim letztesFeld7 As Long
Dim x As Integer
Dim y As String
Dim z As Integer
Dim i As Integer
Dim temp As Integer
z = Datenblatt.UsedRange.Rows.Count
x = StoreForm.TextBoxArtNr
y = StoreForm.TextBoxLagOrt
If Datenblatt.Cells(i, 1).Value = x And Cells(i, 5).Text = y Then
Datenblatt.Cells(i, 6) = Cells(i, 6) + StoreForm.TextBoxAnzahl
For i = 8 To z
Datenblatt.Cells(i, 1) = StoreForm.TextBoxArtNr
Datenblatt.Cells(i, 2) = StoreForm.ComboBoxBez
Datenblatt.Cells(i, 3) = StoreForm.ComboBoxKat
Datenblatt.Cells(i, 5) = StoreForm.TextBoxLagOrt
Next i
Else
With Datenblatt
letztesFeld = .Cells(.Rows.Count, 1).End(xlUp).Row
.Cells(letztesFeld + 1, 2).Value = StoreForm.ComboBoxBez.Value
letztesFeld2 = .Cells(.Rows.Count, 3).End(xlUp).Row
.Cells(letztesFeld2 + 1, 3).Value = StoreForm.ComboBoxHer.Value
letztesFeld3 = .Cells(.Rows.Count, 4).End(xlUp).Row
.Cells(letztesFeld3 + 1, 4).Value = StoreForm.ComboBoxKat.Value
letztesFeld4 = .Cells(.Rows.Count, 5).End(xlUp).Row
.Cells(letztesFeld + 1, 5).Value = StoreForm.TextBoxLagOrt.Value
letztesFeld5 = .Cells(.Rows.Count, 6).End(xlUp).Row
.Cells(letztesFeld + 1, 6).Value = StoreForm.TextBoxAnzahl.Value
letztesFeld7 = .Cells(.Rows.Count, 1).End(xlUp).Row
.Cells(letztesFeld + 1, 1).Value = StoreForm.TextBoxArtNr.Value
End With
End If
Unload StoreForm

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: lagertool
07.09.2020 12:57:06
Werner
Hallo,
versuch mal:
Datenblatt.Cells(i, 6) = Cells(i, 6) + CLng(StoreForm.TextBoxAnzahl)

In einer Textbox steht, wie der Name schon sagt, Text.
Gruß Werner
AW: lagertool
07.09.2020 13:09:17
Henrique
Hallo Werner, danke für den Hinweis!
ich bekomme nun eine Fehlermeldung an der stelle:
If Datenblatt.Cells(i, 1).Value = x And Cells(i, 5).Text = y Then
AW: lagertool
07.09.2020 18:33:41
onur
Wie wäre es, wenn du endlich mal die Datei posten würdest?
Nur DU weisst, was in Datenblatt.Cells(i, 1) und in Cells(i, 5) stehen.
AW: lagertool
08.09.2020 08:34:42
Henrique
https://www.herber.de/bbs/user/140110.xlsm
hier ist die Tabelle. ich wollte jetzt eventuell mit einer IF schleife verhindern das ein Artikel mit der selben Artikel-Nr.; und identischem Lagerort in einer neuen spalte hinzugefügt wird und statt dessen die Anzahl an bestehenden Artikel zu den neuen dazu gerechnet wird
vielen dank vorab Henrique
Anzeige
AW: lagertool
08.09.2020 10:11:50
Werner
Hallo,
ich gehe mal davon aus, dass deine Artikelnummern Texte sind und keine Zahlen wie im Beispiel.
Public Sub StoreFormDataTransfer()
Dim letztesFeld As Long, raFund As Range
Dim x As Integer, y As String
x = StoreForm.TextBoxArtNr
y = StoreForm.TextBoxLagOrt
If StoreForm.ComboBoxBez.ListIndex > -1 Then
Set raFund = Columns("A").Find(what:=StoreForm.TextBoxArtNr, LookIn:=xlValues, lookat:= _
xlWhole)
If Not raFund Is Nothing Then
If Datenblatt.Cells(raFund.Row, 1).Value = x And Cells(raFund.Row, 5).Text = y Then
Datenblatt.Cells(raFund.Row, 6) = Cells(raFund.Row, 6) + CLng(StoreForm. _
TextBoxAnzahl)
Datenblatt.Cells(raFund.Row, 1) = StoreForm.TextBoxArtNr
Datenblatt.Cells(raFund.Row, 2) = StoreForm.ComboBoxBez
Datenblatt.Cells(raFund.Row, 3) = StoreForm.ComboBoxKat
Datenblatt.Cells(raFund.Row, 5) = StoreForm.TextBoxLagOrt
End If
End If
Else
With Datenblatt
letztesFeld = .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Row
.Cells(letztesFeld, 2).Value = StoreForm.ComboBoxBez.Value
.Cells(letztesFeld, 3).Value = StoreForm.ComboBoxHer.Value
.Cells(letztesFeld, 4).Value = StoreForm.ComboBoxKat.Value
.Cells(letztesFeld, 5).Value = StoreForm.TextBoxLagOrt.Value
.Cells(letztesFeld, 6).Value = StoreForm.TextBoxAnzahl.Value
.Cells(letztesFeld, 1).Value = StoreForm.TextBoxArtNr.Value
End With
End If
Set raFund = Nothing
Unload StoreForm
End Sub
Gruß Werner
Anzeige
AW: lagertool
08.09.2020 10:56:24
Henrique
vielen dank Werner :) wäre alleine niemals darauf gekommen
Gerne u. Danke für die Rückmeldung. o.w.T.
08.09.2020 10:58:20
Werner
AW: Gerne u. Danke für die Rückmeldung. o.w.T.
08.09.2020 13:46:44
Henrique
ich hoffe ich nerve nicht ich stoße wieder auf ein Macro bzw. Funktion die ich Implementieren möchte mir aber komplett der Ansatz fehlt :)
ich schildere mal die Idee:
Ich will in einem Separaten Tabellenblatt eine Historie automatisch erfassen(d.h. Nachverfolgen können welcher Nt-User etwas eingelagert bzw ausgelagert hat und mit einem Zeit Stempel idealerweise wird geschaut ob der User schon vermerkt ist und falls nicht eine Userform gestartet in der er sein NT-Username Vor und Nachname einträgt.
ist das überhaupt so realisierbar und könnt ihr mir vilt etwas verlinken das mir weiterhilft
immernoch die selbe Tabelle die ich hier verlinke:
https://www.herber.de/bbs/user/140124.xlsm
ich bin über jeden Ratschlag dankbar :)
Anzeige
AW: Gerne u. Danke für die Rückmeldung. o.w.T.
08.09.2020 14:58:52
Werner
Hallo,
1. .xlsm Datei ohne irgendwelche Makros dabei - sehr sinnvoll.
2. weder ein Archivblatt, noch ein Blatt mit einer Liste von Usern dabei. Verwechselst du das hier mit Auftragsprgrammierung?
3. Schreibst du mich zu diesem Thema an, um dann eine gute halbe Stunde später einen neuen Beitrag zum Thema zu eröffnen - auch schön.
Ich bin dann raus.
Gruß Werner

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige