Thema Datum  Von Nutzer Rating
Antwort
Rot Lagerverwaltung
31.03.2023 22:31:46 Tom
NotSolved
01.04.2023 03:08:31 Gast854
NotSolved
01.04.2023 20:42:52 Gast76357
NotSolved
03.04.2023 00:28:14 Gast13623
**
NotSolved
02.04.2023 12:02:32 Gast74990
*
NotSolved

Ansicht des Beitrags:
Von:
Tom
Datum:
31.03.2023 22:31:46
Views:
684
Rating: Antwort:
  Ja
Thema:
Lagerverwaltung

Hallo liebe Gemeinde,

ich habe mir an Hand mehrere Youtube Videos eun bisschen programmieren beigebracht.

https://www.youtube.com/watch?v=UnZ-rFhn-gg

Das ist das Video um das es geht.

 

Ich habe meine Tabelle etwas verändert es funktioniert auch soweit gut. Ich habe sie wirklich selbst geschrieben und verstehen auch etwas alles besser als vorher.

Zu meiner Frage, Ich möchte sowie er am Ende des Videos fast ist ist das die Menge die ich Buche auch in der Produkttabelle mit dazu bzw. abgerechtnet wird. Ich möchte also beim Buchen sagen ich verkaufe diese Platte und dann soll im Produktblatt unter IST der Wert niedrieger bzw. höher werden wenn es gekauft wird.

 

 

Ich habe bei mir statt Bestand halt Bestand/ Soll in der Nächste Spalte dann E-Mail und in der Nächsten Spalte dann Bestand /Ist.

Mein Gedanke war halt ich Buche einen Artickel aus dem Sortiment und er soll bei Bestand/ Ist diesen Wert veriegern bzw. erhöhen.

Bei Bestand /Soll soll halt ein bestimmter fester Wert stehen damit man dann sehen kann von dem Schuh habe ich nur 300 und ich brauche aber mindestens 500.

 

Bitte helft mir!

 

 

Ich hoffe ihr könnt mir helfen!

LG bin erst 15 Jahre alt aber versuche mein Bestes!

 

Das steht bei Buchungen drin!!

Const ws_DB As String = "Buchungen"
Const ws_Eingabe As String = "Buchungen_Change"

Sub Buchungenanlegen_DBEingabe()

Call ws_Unprotect(ws_DB, ws_Eingabe)

'Tabelle einlesen
Dim tbl As ListObject
Set tbl = Worksheets(ws_DB).ListObjects(1)

With Worksheets(ws_Eingabe)

    'Spalte K und Q Leeren
    .Columns("K").ClearContents
    .Columns("Q").ClearContents
    
    
    'Buchungsnummer eintragen
    .Range("K12").Value = tbl.DataBodyRange(tbl.DataBodyRange.Rows.Count, 1).Value + 1
    
    'Tabelleblatt navigieren
    Call Sheetswitch(ws_Eingabe)
    
    
    'Datum eintragen
    .Range("K18").Value = Date
    
    
    
    'Zelle auswählen
    
    .Range("K20").Select
  
End With

Call ws_Protect(ws_DB, ws_Eingabe)

End Sub
Sub BuchungenAnlegen_EingabeDB()

Call ws_Unprotect("Produkte", ws_Eingabe, ws_DB)


Dim tbl As ListObject
Dim header As Variant
Dim Spalte As Long
Spalte = 1
Dim Zeile As Long
Dim rng As Range


With Worksheets(ws_DB)

    'Tabelle einlesen
    Set tbl = .ListObjects(1)
    
    
    
        'Zeile hinzufügen
        tbl.ListRows.Add
        
        'Zeile definieren
        Zeile = tbl.DataBodyRange.Rows.Count
    
    
        'Zeilenhöhe anpassen
        .Rows(Zeile + tbl.HeaderRowRange.Row).RowHeight = .Rows(tbl.HeaderRowRange.Row + 1).RowHeight
    
    
    
    
End With

With Worksheets(ws_Eingabe)

    'Schleife über alle Tabellenheader
    For Each header In tbl.HeaderRowRange
        
        
tbl.DataBodyRange(Zeile, Spalte).Value = _
.Range(.Cells.Find(What:=header, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 1).Address).Value
        
If header = "Menge" Then

'Bestand zu Produkt-ID suchen

Set rng = ThisWorkbook.Worksheets("Produkte").Columns("D").Find(What:=.Range("K24").Value, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 4)

If .Range("K20").Value = "Kauf" Then
    rng.Value = rng.Value + .Range("Q20")
    
Else
    rng.Value = rng.Value - .Range("Q20")
End If

End If
        
        Spalte = Spalte + 1
        
        
Next header

End With

'Tabellenblatt Buchungen auswählen und in Zeile springen
Call Nav_Buchungen
tbl.DataBodyRange(Zeile, 1).Select
ActiveWindow.ScrollRow = Zeile + tbl.HeaderRowRange.Row

Call ws_Protect("Produkte", ws_Eingabe, ws_DB)

End Sub

 

 

Das steht bei Produkte drin.

Const ws_DB As String = "Produkte"
Const ws_Eingabe As String = "Produkte_Change"

Sub ProduktBearbeiten_DBEingabe()

Call ws_Unprotect(ws_DB, ws_Eingabe)


Dim header As Variant
Dim Spalte As Long
Spalte = 1

'Tabelle einlesen
Dim tbl As ListObject
Set tbl = Worksheets(ws_DB).ListObjects(1)

With Worksheets(ws_Eingabe)

    'Spalte P Leeren
    .Columns("P").ClearContents
    
        'Schleife über alle Tabellenheader
    For Each header In tbl.HeaderRowRange
        
        'If header = "Bestand/ Soll" Then
        
                 
    'Else
       .Range(.Cells.Find(What:=header, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 1).Address).Value = _
        tbl.DataBodyRange(ActiveCell.Row - tbl.HeaderRowRange.Row, Spalte).Value
         
        
     '   End If
         
         Spalte = Spalte + 1
         
Next header
    
    
    'Tabelleblatt navigieren
    .Shapes.Range(Array("img_Anlegen", "txt_Anlegen")).Visible = False
    .Shapes.Range(Array("img_Bearbeiten", "txt_Bearbeiten")).Visible = True
    
    Call Sheetswitch(ws_Eingabe)
    
    'Zelle auswählen
    
    .Range("P18").Select
  
End With

Call ws_Protect(ws_DB, ws_Eingabe)

End Sub

Sub ProduktAnlegen_DBEingabe()


Call ws_Unprotect(ws_DB, ws_Eingabe)

'Tabelle einlesen
Dim tbl As ListObject
Set tbl = Worksheets(ws_DB).ListObjects(1)

With Worksheets(ws_Eingabe)

    'Spalte P Leeren
    .Columns("P").ClearContents
    
    
    'Produkt-ID eintragen
    .Range("P12").Value = tbl.DataBodyRange(tbl.DataBodyRange.Rows.Count, 1).Value + 1
    
    'Tabelleblatt navigieren
  
    .Shapes.Range(Array("img_Anlegen", "txt_Anlegen")).Visible = True
    .Shapes.Range(Array("img_Bearbeiten", "txt_Bearbeiten")).Visible = False
    
    Call Sheetswitch(ws_Eingabe)
    
    'Zelle auswählen
    
    .Range("P18").Select
  
End With


Call ws_Protect(ws_DB, ws_Eingabe)

End Sub
Sub ProduktAnlegen_EingabeDB()

Call ws_Unprotect(ws_Eingabe, ws_DB)

Dim tbl As ListObject
Dim header As Variant
Dim Spalte As Long
Spalte = 1
Dim Zeile As Long


With Worksheets(ws_DB)

    'Tabelle einlesen
    Set tbl = .ListObjects(1)
    
    'Produkt anlegen?
    If Worksheets(ws_Eingabe).Shapes("img_anlegen").Visible = True Then
    
    
        'Zeile hinzufügen
        tbl.ListRows.Add
        
        'Zeile definieren
        Zeile = tbl.DataBodyRange.Rows.Count
    
    
        'Zeilenhöhe anpassen
        .Rows(Zeile + tbl.HeaderRowRange.Row).RowHeight = .Rows(tbl.HeaderRowRange.Row + 1).RowHeight
    
    
    'Produkt bearbeiten?
    Else
    
        Zeile = Worksheets(ws_Eingabe).Range(Worksheets(ws_Eingabe).Cells.Find(What:="Produkt-ID", LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 1).Address).Value
    
    End If
    
End With

With Worksheets(ws_Eingabe)

    'Schleife über alle Tabellenheader
    For Each header In tbl.HeaderRowRange
        
        'If header = "Bestand/ Soll" Then
         tbl.DataBodyRange(Zeile, Spalte).Value = 0
    'Else
    tbl.DataBodyRange(Zeile, Spalte).Value = _
    .Range(.Cells.Find(What:=header, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 1).Address).Value
        
        
        'End If
        
    Spalte = Spalte + 1
     
Next header

End With

'Tabellenblatt Produkte auswählen und in Zeile springen
Call Nav_Produkte
tbl.DataBodyRange(Zeile, 1).Select
ActiveWindow.ScrollRow = Zeile + tbl.HeaderRowRange.Row

Call ws_Protect(ws_Eingabe, ws_DB)
End Sub
 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Lagerverwaltung
31.03.2023 22:31:46 Tom
NotSolved
01.04.2023 03:08:31 Gast854
NotSolved
01.04.2023 20:42:52 Gast76357
NotSolved
03.04.2023 00:28:14 Gast13623
**
NotSolved
02.04.2023 12:02:32 Gast74990
*
NotSolved