Clever-Excel-Forum

Normale Version: If-Then-Loop
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Excel-Gemeinde,

Seit freitag plagt mich ein Problem bei dem ich nicht weiter komme. Ich würde gerne in einer Datei den Lagerbestand erfassen und Automatisch mitloggen wer etwas entnimmt. Nun habe ich es soweit das alles funktioniert, nur dass protokoliert wird was entnommen wurde bekomme ich nicht hin.

Die Tabelle habe ich angehängt.

Ansich soll folgendes passieren:
In Tabelle2 wenn auf OK geklickt wird soll immer wenn Reihe C nicht leer ist in dieser Zeile der wert auf Reihe A und C in Tabelle 3 in die erste freie Zeile in Reihe B und C geschrieben werden.

Leider bekomme ich das nicht hin. In meinem besten versuch wurde zwar in die Tabelle geschrieben, aber in die erste Zeile, und dann überschrieben und auf Blatt1 tauchte in reihe 11 eine Zahl auf :/

Ich hoffe ihr könnt mir dabei helfen :)

Grob gesagt, wenn Tabelle2 Reihe nicht leer kopiere Wert von spalte A und C in Tabelle 3, erste freie Zeile.

Grüße

Klaus_die_Laus
Hallo Klaus,

(30.06.2020, 07:50)Klaus_die_Laus schrieb: [ -> ]Die Tabelle habe ich angehängt.
Ich sehe keine Datei Wink

Der Betreff passt irgendwie nicht zum Thema, oder?
Das dann -----> übersehen :)

Ist das denn dann kein if-Then-Loop? Bin in VBA sehr unbegabt :/
An Deinem bisherigen Code kann man sehen, dass Du Dich tatsächlich mit VBA nicht so gut auskennst.

Es ist natürlich immer schwierig, soetwas umsetzen, wenn nicht einmal Basiswissen vorherrscht. Ich würde Dir empfehlen, Dir erstmal wenigstens die Grundlagen anzueignen. Tutorials, Bücher, Videos etc. gibt es genügend (teilweise sogar kostenlos).

Es bringt ja nichts, wenn Dir hier einer die Funktion programmiert und Du es bei einer Änderung nicht anpassen kannst. Zudem käme das ja schon fast einer Auftragsprogrammierung gleich, was eigebntlich nicht Sinn und Zweck eines Forums ist.
Hier mal ein Vorschlag:

Ich würde auf der Ersten Seite bei der Benutzereingabe nicht gleich den Namen in Tabelle3 eintragen. Und ich würde auch die Textbox nicht leeren, sondern den Namen von dort dann auslesen.
Code für Button in Tabelle1:
Code:
Sub Cmdbtn1_Click()
    If TextBox1.Text = "" Then
        MsgBox ("Bitte geben Sie einen Namen ein!")
    Else
        Sheets("Tabelle2").Select
    End If
End Sub

Code für Button in Tabelle2:
Code:
Private Sub kalkuliere_Click()
    Dim arrBereich As Variant
    Dim i As Long
    Dim lngLetzteZeile As Long
    Dim strBearbeiter As String
    
    arrBereich = Range("A2:C11").Value
    
    lngLetzteZeile = Tabelle3.Cells(Tabelle3.Rows.Count, 2).End(xlUp).Row
    strBearbeiter = Tabelle1.TextBox1.Text
    For i = 1 To UBound(arrBereich)
        If arrBereich(i, 3) <> 0 Then
            lngLetzteZeile = lngLetzteZeile + 1
            Tabelle3.Cells(lngLetzteZeile, 1) = strBearbeiter
            Tabelle3.Cells(lngLetzteZeile, 2) = arrBereich(i, 1)
            Tabelle3.Cells(lngLetzteZeile, 3) = arrBereich(i, 3)
            
        End If
    Next
    
        Range("C2:C11").ClearContents
End Sub
Das ist jetzt nur auf die Schnelle zusammengeschrieben. Da gibt es sicher noch weiteren Anpassungs- und Verbesserungsbedarf.
Danke, ich schaue mir das von dir heute mal an :)
 
Ich hoffe nach dieser Liste von Excel und VBA erlöst zu sein und mich wieder um andere Sachen zu kümmern :)
Es muss nur Funktionieren und für Benutzer einfach sein. Das macht es für mich kompliziert... :( ich arbeite da nach dem Motto "If you bodge things together and they work and only have to work for you, its fine"
(30.06.2020, 09:29)Klaus_die_Laus schrieb: [ -> ]ich arbeite da nach dem Motto "If you bodge things together and they work and only have to work for you, its fine"
Und deshalb musst Du ja auch immer den Namen eingeben, weil nur Du die Datei verwendest? Huh
SCNR
Ja :)

Der User sieht das Chaos dahinter nicht und soll es auch garnicht. Solange es funktioniert und ich es mit relativ wenig aufwand erweitern kann, passt das. Die einzige hürde die ich da sehe ist der Code im Button auf der zweiten Seite, der die Daten kopiert für die Kalkulation.

Ich habs eben getestet, es funktioniert. Vielen Dank. Ich übertrage das Codechaos jetzt nur noch in eine Finale Datei und muss die Inventur abschließen und die Daten eintragen.

edit: eines hab ich sogar noch vergessen, das bekomm ich aber hin. Wenn der Button in der Zweiten Tabelle gedrückt wird soll sich die Datei speichern und schließen.

Grüße

Klaus_die_Laus