Thema Datum  Von Nutzer Rating
Antwort
26.01.2016 10:39:23 Philipp
NotSolved
27.01.2016 01:58:37 Gast17858
NotSolved
27.01.2016 12:39:10 Gast22317
NotSolved
27.01.2016 19:22:41 Gast72096
NotSolved
02.02.2016 07:30:07 Philipp
NotSolved
02.02.2016 07:30:07 Philipp
NotSolved
02.02.2016 08:08:47 Philipp
NotSolved
02.02.2016 10:10:32 Gast58314
NotSolved
02.02.2016 12:02:11 Gast51537
NotSolved
03.02.2016 10:00:02 Philipp
NotSolved
03.02.2016 16:56:39 Philipp
NotSolved
03.02.2016 18:24:57 Gast40628
NotSolved
04.02.2016 11:30:55 Philipp
NotSolved
04.02.2016 12:05:16 Philipp
NotSolved
04.02.2016 12:12:42 Philipp
NotSolved
04.02.2016 12:48:45 BigBen
NotSolved
Rot Artikelbestände berechnen
04.02.2016 20:10:22 Gast37548
NotSolved
05.02.2016 06:21:11 Gast91368
NotSolved
05.02.2016 10:19:48 Gast13363
NotSolved
05.02.2016 12:39:15 Gast13112
NotSolved
08.02.2016 07:25:17 Philipp
NotSolved
08.02.2016 10:45:04 Philipp
NotSolved
08.02.2016 18:02:16 Gast47204
Solved
09.02.2016 08:02:20 Philipp
NotSolved

Ansicht des Beitrags:
Von:
Gast37548
Datum:
04.02.2016 20:10:22
Views:
1595
Rating: Antwort:
  Ja
Thema:
Artikelbestände berechnen

Hallo!

Der Code unten rechnet immer neu und lässt die alten Werte unberücksichtigt. Dachte nur, dass für das Lager auch der alten Bestand von Relevanz ist. Habe deshalt den alten Wert immer dazu addieren lassen. VG

 

Option Explicit
     
Sub vergleichen()
Dim eins As Object
Dim zwei As Object
Dim drei As Object
Dim vier As Object
Dim ende1 As Long
Dim ende2 As Long
Dim ende3 As Long
Dim ende4 As Long
Dim artikel()
Dim i As Long
Dim j As Long
Dim k As Long
Dim zusammensetzung()
    
Application.ScreenUpdating = False
     
Set eins = Worksheets(1)
Set zwei = Worksheets(2)
Set drei = Worksheets(3)
Set vier = Worksheets(4)
     
ende1 = eins.Cells(Rows.Count, 1).End(xlUp).Row 'belegte Zellen in Blatt 1
  
ReDim artikel(2, ende1)
  
For i = 2 To ende1
    If eins.Cells(i, 1) <> "" Then
        artikel(1, i - 1) = eins.Cells(i, 1)
        artikel(2, i - 1) = 0
    End If
Next i
  
ende2 = zwei.Cells(Rows.Count, 1).End(xlUp).Row
  
ReDim zusammensetzung(ende2, ende1)
  
For j = 1 To ende1
    For i = 2 To ende2
        If zwei.Cells(i, 1) <> "" Then
            If j = 1 Then
            zusammensetzung(i, 0) = zwei.Cells(i, 1)
            Else
                If artikel(1, j - 1) <> "" Then zusammensetzung(i, j - 1) = Application.WorksheetFunction.CountIf(zwei.Range(zwei.Cells(i, 2), zwei.Cells(i, 10)), artikel(1, j - 1))
            End If
        End If
    Next i
Next j
  
ende3 = drei.Cells(Rows.Count, 1).End(xlUp).Row
  
For i = 2 To ende3
    For j = 2 To ende1
        If drei.Cells(i, 1) = artikel(1, j - 1) Then
            artikel(2, j - 1) = artikel(2, j - 1) + Application.WorksheetFunction.Sum(drei.Range("B:BB").Rows(i))
        End If
    Next j
Next i
  
ende4 = vier.Cells(Rows.Count, 1).End(xlUp).Row
  
For i = 2 To ende4
    For j = 1 To ende2
        If vier.Cells(i, 1) = zusammensetzung(j, 0) Then
            For k = 1 To ende1
                artikel(2, k) = artikel(2, k) - (Application.WorksheetFunction.Sum(vier.Range("B:BB").Rows(i)) * zusammensetzung(j, k))
            Next k
        End If
    Next j
Next i
  
'Werte wieder eintragen
j = 1
For i = 1 To ende1
    If eins.Cells(i, 1) = artikel(1, j) Then
      
        eins.Cells(i, 2) = artikel(2, j)
        j = j + 1
    End If
Next i
  
Set eins = Nothing
Set zwei = Nothing
Set drei = Nothing
Set vier = Nothing
  
Application.ScreenUpdating = True
 
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
26.01.2016 10:39:23 Philipp
NotSolved
27.01.2016 01:58:37 Gast17858
NotSolved
27.01.2016 12:39:10 Gast22317
NotSolved
27.01.2016 19:22:41 Gast72096
NotSolved
02.02.2016 07:30:07 Philipp
NotSolved
02.02.2016 07:30:07 Philipp
NotSolved
02.02.2016 08:08:47 Philipp
NotSolved
02.02.2016 10:10:32 Gast58314
NotSolved
02.02.2016 12:02:11 Gast51537
NotSolved
03.02.2016 10:00:02 Philipp
NotSolved
03.02.2016 16:56:39 Philipp
NotSolved
03.02.2016 18:24:57 Gast40628
NotSolved
04.02.2016 11:30:55 Philipp
NotSolved
04.02.2016 12:05:16 Philipp
NotSolved
04.02.2016 12:12:42 Philipp
NotSolved
04.02.2016 12:48:45 BigBen
NotSolved
Rot Artikelbestände berechnen
04.02.2016 20:10:22 Gast37548
NotSolved
05.02.2016 06:21:11 Gast91368
NotSolved
05.02.2016 10:19:48 Gast13363
NotSolved
05.02.2016 12:39:15 Gast13112
NotSolved
08.02.2016 07:25:17 Philipp
NotSolved
08.02.2016 10:45:04 Philipp
NotSolved
08.02.2016 18:02:16 Gast47204
Solved
09.02.2016 08:02:20 Philipp
NotSolved