Thema Datum  Von Nutzer Rating
Antwort
30.03.2017 16:26:04 Paul
NotSolved
03.04.2017 05:32:25 Kai
NotSolved
03.04.2017 05:32:43 Kai
NotSolved
Blau Excel VBA Spalten Vergleichen und Addieren
04.04.2017 07:15:35 GraFri
NotSolved

Ansicht des Beitrags:
Von:
GraFri
Datum:
04.04.2017 07:15:35
Views:
746
Rating: Antwort:
  Ja
Thema:
Excel VBA Spalten Vergleichen und Addieren

Hallo Paul

Eine Möglichkeit mit Array's.

Angenommen wurde, das die Daten in beiden Tabellen mit A2 beginnen.

' in ein Modul
Option Explicit

Sub Bestand()
Dim lzBest As Long, lzBewe As Long, n As Long, x As Long
Dim wksBest As Worksheet, wksBewe As Worksheet
Dim arrBest() As Variant, arrBewe() As Variant
Dim objRng As Range


Set wksBest = ThisWorkbook.Worksheets("Bestand")
Set wksBewe = ThisWorkbook.Worksheets("Bewegung")

' Daten aus Bestand
With wksBest
    ' letzte Datenzeile Spalte A, Tabelle Bestand
    lzBest = .Cells(.Rows.Count, 1).End(xlUp).Row
    'Zellbereich mit Daten welche ins Array müssen, entspricht Bereich A2 bis C und letzter Datenzeile
    Set objRng = .Range(.Cells(2, 1), .Cells(lzBest, 3))
    'Werte der Zellen in das Array schreiben
    arrBest = objRng.Value
End With

' Daten aus Bewegung
With wksBewe
    lzBewe = .Cells(.Rows.Count, 1).End(xlUp).Row
    Set objRng = .Range(.Cells(2, 1), .Cells(lzBewe, 3))
    arrBewe = objRng.Value
End With

' Berechnung
' Alle Artikelnummern der Bewegung werden mit den Artikelnummern verglichen. Bei Fund wird der
' Wert im Array 'arrBest' aktualisiert(plus/minus) und im Array 'arrBewe' auf 0 gesetzt.
For n = 1 To UBound(arrBewe)
    For x = 1 To UBound(arrBest)
        If arrBewe(n, 1) = arrBest(x, 1) Then
            arrBest(x, 3) = arrBest(x, 3) + arrBewe(n, 3)
            arrBewe(n, 3) = 0   ' oder auch = ""
            Exit For
        End If
    Next x
Next n

' Daten im Bestand und Bewegung überschreiben
wksBest.Cells(2, 1).Resize(UBound(arrBest, 1), UBound(arrBest, 2)).Value = arrBest
wksBewe.Cells(2, 1).Resize(UBound(arrBewe, 1), UBound(arrBewe, 2)).Value = arrBewe


End Sub

mfg, GraFri


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
30.03.2017 16:26:04 Paul
NotSolved
03.04.2017 05:32:25 Kai
NotSolved
03.04.2017 05:32:43 Kai
NotSolved
Blau Excel VBA Spalten Vergleichen und Addieren
04.04.2017 07:15:35 GraFri
NotSolved