Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Anpassung Variablen - in VBA?

Anpassung Variablen - in VBA?
21.09.2017 08:50:30
Christian
Hallo Forumsfreunde,
Kann mir jemand sagen, wie ich das beigefügte Script anpassen kann?
Ich kriegs nicht hin....
Die Quellspalten liegen anstatt:
A bei K
B bei I
und C bei J
Beginnend ab Zeile 2
Die Zielausgabe liegt anstatt in Spalte:
A bei C
B bei D
und C bei G
Beginnend ab Zeile 2
------------------------------------------------
Sub Start_Beispiel()
Dim oDic(1 To 3) As Object
Dim meAr()
Dim A&, LRow&
Dim tmpText$
For A = 1 To 3
Set oDic(A) = CreateObject("Scripting.Dictionary")
Next A
With Tabelle1
meAr = .Range("A2", .Cells(.Rows.Count, 1).End(xlUp)).Resize(, 3)
End With
For A = 1 To UBound(meAr)
tmpText = meAr(A, 1) & meAr(A, 2)
If oDic(1).Exists(tmpText) Then
oDic(3)(tmpText) = oDic(3)(tmpText) + meAr(A, 3)
Else
oDic(1)(tmpText) = meAr(A, 1)
oDic(2)(tmpText) = meAr(A, 2)
oDic(3)(tmpText) = meAr(A, 3)
End If
Next A
With Tabelle2
LRow = .UsedRange.Rows(.UsedRange.Rows.Count).Row
If LRow > 2 Then
.Range("A2:C2").Resize(LRow - 1).Clear
End If
.Range("A1").Resize(oDic(1).Count) = WorksheetFunction.Transpose(oDic(1).Items)
.Range("B1").Resize(oDic(2).Count) = WorksheetFunction.Transpose(oDic(2).Items)
.Range("C1").Resize(oDic(3).Count) = WorksheetFunction.Transpose(oDic(3).Items)
.Select
End With
End Sub

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anpassung Variablen - in VBA?
21.09.2017 08:56:14
Peter(silie)
Hallo,
so vielleicht:
Sub Start_Beispiel()
Dim oDic(1 To 3) As Object
Dim meAr()
Dim K&, LRow&
Dim tmpText$
For K = 1 To 3
Set oDic(K) = CreateObject("Scripting.Dictionary")
Next K
With Tabelle1
meAr = .Range("K2", .Cells(.Rows.Count, 11).End(xlUp)).Resize(, 3)
End With
For K = 1 To UBound(meAr)
tmpText = meAr(K, 1) & meAr(K, 2)
If oDic(1).Exists(tmpText) Then
oDic(3)(tmpText) = oDic(3)(tmpText) + meAr(K, 3)
Else
oDic(1)(tmpText) = meAr(K, 1)
oDic(2)(tmpText) = meAr(K, 2)
oDic(3)(tmpText) = meAr(K, 3)
End If
Next K
With Tabelle2
LRow = .UsedRange.Rows(.UsedRange.Rows.Count).Row
If LRow > 2 Then
.Range("K2:M2").Resize(LRow - 1).Clear
End If
.Range("K1").Resize(oDic(1).Count) = WorksheetFunction.Transpose(oDic(1).Items)
.Range("I1").Resize(oDic(2).Count) = WorksheetFunction.Transpose(oDic(2).Items)
.Range("J1").Resize(oDic(3).Count) = WorksheetFunction.Transpose(oDic(3).Items)
.Select
End With
End Sub
Stelle bei sowas bitte eine Beispiel Mappe mit rein,
keiner will um sowas zu testen, extra eine Mappe erstellen...
Anzeige
AW: Anpassung Variablen - in VBA?
21.09.2017 11:04:27
Christian
Hallo Peter,
läuft leider nicht :-(
Anbei mal die Tabelle.....
Das Makro schreibt irgendwo irgendwas hin....die Kostenstelle wird zwar geschrieben, aber in das falsche Feld. Summen gar nicht....
Anbei die Mustermappe:
https://www.herber.de/bbs/user/116414.xlsm
Anzeige
AW: Anpassung Variablen - in VBA?
21.09.2017 12:23:41
Peter(silie)
Meinst du so?
Sub Start_Beispiel()
Dim oDic(1 To 3) As Object
Dim meAr()
Dim A&, LRow&
Dim tmpText$
For A = 1 To 3
Set oDic(A) = CreateObject("Scripting.Dictionary")
Next A
With Tabelle9
meAr = .Range(.Cells(.Rows.Count, 9).End(xlUp), "I2").Resize(, 3)
End With
For A = 1 To UBound(meAr)
tmpText = meAr(A, 1) & meAr(A, 2)
If oDic(1).Exists(tmpText) Then
oDic(3)(tmpText) = oDic(3)(tmpText) + meAr(A, 3)
Else
oDic(1)(tmpText) = meAr(A, 1)
oDic(2)(tmpText) = meAr(A, 2)
oDic(3)(tmpText) = meAr(A, 3)
End If
Next A
With Tabelle8
LRow = .UsedRange.Rows(.UsedRange.Rows.Count).Row
If LRow > 2 Then
.Range("A2:C2").Resize(LRow - 1).Clear
End If
.Range("G2").Resize(oDic(1).Count) = WorksheetFunction.Transpose(oDic(1).Items)
.Range("D2").Resize(oDic(2).Count) = WorksheetFunction.Transpose(oDic(2).Items)
.Range("C2").Resize(oDic(3).Count) = WorksheetFunction.Transpose(oDic(3).Items)
.Select
End With
End Sub

Anzeige
AW: Anpassung Variablen - in VBA?
21.09.2017 13:21:30
Christian
Hallo Peter,
Es kommt dem ganzen näher, aber...
Es wird nicht mehr die Kostenstelle summiert. Das ging vorher schon mal. jetzt habe ich wieder jede Kostenstelle mehrfach, wo eigentlich eine Summe je Kostenstelle ausgewiesen werden sollte.
Vielen lieben Dank aber schon mal.....für deine Hilfe!!!
Gruß
Christian
Anzeige
AW: Anpassung Variablen - in VBA?
21.09.2017 15:56:43
Christian
Alles gelöst...danke...
eine neue Frage stellt sich, aber die stelle ich neu.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige