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.

If-Then-Loop
#1
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
Antworten Top
#2
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?
Gruß
Michael
Antworten Top
#3
Das dann -----> übersehen :)

Ist das denn dann kein if-Then-Loop? Bin in VBA sehr unbegabt :/


Angehängte Dateien
.xlsm   testteil.xlsm (Größe: 57,95 KB / Downloads: 6)
Antworten Top
#4
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.
Gruß
Michael
[-] Folgende(r) 1 Nutzer sagt Danke an Der Steuerfuzzi für diesen Beitrag:
  • Klaus_die_Laus
Antworten Top
#5
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.
Gruß
Michael
[-] Folgende(r) 1 Nutzer sagt Danke an Der Steuerfuzzi für diesen Beitrag:
  • Klaus_die_Laus
Antworten Top
#6
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"
Antworten Top
#7
(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
Gruß
Michael
[-] Folgende(r) 1 Nutzer sagt Danke an Der Steuerfuzzi für diesen Beitrag:
  • Klaus_die_Laus
Antworten Top
#8
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
Antworten Top


Gehe zu:


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