Anzeige
Archiv - Navigation
1580to1584
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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
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
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.

319 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige