Thema Datum  Von Nutzer Rating
Antwort
Rot Spalte nach gleichen Einträgen durchsuchen und Summe anderer Spalte addieren
12.03.2021 14:56:38 frichri
NotSolved

Ansicht des Beitrags:
Von:
frichri
Datum:
12.03.2021 14:56:38
Views:
1220
Rating: Antwort:
  Ja
Thema:
Spalte nach gleichen Einträgen durchsuchen und Summe anderer Spalte addieren

Werte Spezialisten. Habe folgendes Problem:
Ich habe einen VBA code der genau das tut was ich will, nur die Spalten sollen anders aufgeteilt werden und ich bekomme das nicht hin.

Tabelle 1 = In Spalte A verschiedene Artnr. die immer wieder mal auch doppelt vorkommen können (Zeile 1 trägt Überschrift der Spalten). In Spalte B die Bezeichnung der Artikel, die natürlich dann auch immer wieder mal doppelt vorkommen und in Spalte E die Stückzahl auf Lager. 

Tabelle 2 = Ausgabe: der code schreibt nun in Spalte A die Artikelnummer (nur einmal), in Spalte B die Bezeichnung und in Spalte E die Summer der addierten Stück aus Spalte E der Tabelle 1.

Alles Bestens.

Ich brauche jetzt aber eine andere Spaltenaufteilung und das bekomme ich nicht hin.

Spalte A sollte Spalte S werden; Spalte B sollte Spalte L werden und Spalte E sollte Spalte I werden. 
Bitte um eure Hilfe, vielen Dank!!

hier der Code:

Option Explicit

Sub Summe_Datenbereich()
Dim ArreayData()
Dim oDicBezeichnung As Object, oDicSumme As Object
Dim A&

Set oDicBezeichnung = CreateObject("Scripting.Dictionary")
Set oDicSumme = CreateObject("Scripting.Dictionary")

With Tabelle1
    oDicBezeichnung(.Range("A1")) = .Range("B1")
    oDicSumme(.Range("A1")) = .Range("E1")
    ArreayData = .Range("A2", .Cells(.Rows.Count, 1).End(xlUp)).Resize(, 5).Value2
End With

For A = 1 To UBound(ArreayData)
    If oDicBezeichnung.exists(ArreayData(A, 1)) Then
        oDicSumme(ArreayData(A, 1)) = oDicSumme(ArreayData(A, 1)) + ArreayData(A, 5)
    Else
        oDicBezeichnung(ArreayData(A, 1)) = ArreayData(A, 2)
        oDicSumme(ArreayData(A, 1)) = ArreayData(A, 5)
    End If
Next A

With Tabelle2
    .Range("A1:E1").EntireColumn.Clear
    .Range("A1").Resize(oDicSumme.Count) = Application.Transpose(oDicBezeichnung.keys)
    .Range("B1").Resize(oDicSumme.Count) = Application.Transpose(oDicBezeichnung.items)
    .Range("E1").Resize(oDicSumme.Count) = Application.Transpose(oDicSumme.items)
    .Rows(1).Font.Bold = True
    .Range("A1:E1").EntireColumn.AutoFit
    .Activate
End With

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 Spalte nach gleichen Einträgen durchsuchen und Summe anderer Spalte addieren
12.03.2021 14:56:38 frichri
NotSolved