Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1780to1784
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

VBA Spaltenvergleich und Kopie bestimmter Bereiche

VBA Spaltenvergleich und Kopie bestimmter Bereiche
07.09.2020 18:37:08
Natalia
Hallo liebe Forumsmitglieder,
ich habe erst vor ein paar Wochen mit VBA Programmierungen angefangen, da es auf der Arbeit plötzlich gewünscht war. Der Excel-Export einer Datenbank soll durch Makros in eine Übersichtstabelle umgewandelt werden. Allerdings werden nur gewissen Spalten und Angaben benötigt.
Sheet "Export": Excel.Export wird in Tabelle umgewandelt (Strg+T) + kopiert
Sheet "Zahlen": Kopie des Exports wird gefiltert, einzelne Spalten werden nach Sheet Überblick kopiert
Sheet "Überblick": Output am Ende, der nachher alle gewünschten Daten enthält
Soweit bin ich in meiner Programmierung schon (yayyy).
Jetzt gibt es noch ein Sheet "Beschreibung", hier werden alle Projekte aufgelistet, die es je gab. Und hier ist der Knackpunkt. Die erste Spalte der Tabelle aus dem Sheet "Beschreibung" soll mit der ersten Spalte aus dem Sheet "Überblick" verglichen werden (IDs der Projekte) um herauszufinden welche Projekte jetzt "aktiv" sind.
Link zur Excel Mappe zum besseren Verständnis (https://www.herber.de/bbs/user/140098.xlsx)

Sheet "Beschreibung" Spalte 1 enthält gleiche ID wie Sheet "Überblick" Spalte 1
Aus Sheet "Beschreibung" müssen dann Zellen aus Spalte C&D in der Zeile der ID kopiert werden.
- Kopie (ID,C) + (ID,D) + (ID,E)
- Kopie (ID,F)+ (ID,G)

Nach Sheet "Überblick" in Spalte F&G in die Zeile der gefundenen ID
- Einfügen bei (ID,F) + (ID,G)+ (ID,H)
- Einfügen bei (ID,K) + (ID,M)

Das ist mein bisheriger Code, ich wollte aus der Tabelle im Sheet "Beschreibung" ein variables, mehrdimensionales Array machen, um dann eigentlich die For Each Funktion zu nutzen, das hat aber leider gar nicht funktioniert:
'Def Variablen
Dim Beschreibung() As Long
Dim size_rows As Long, size_columns As Long
Dim i As Long, j As Long, n As Long
Dim LastRowÜberblick As Long
'Dynamisches Array, deshalb wird Anzahl der Zeilen und Spalten gezählt
With Sheets("Proj.Description")
size_rows = WorksheetFunction.CountA(Worksheets("Beschreibung").Columns(1))
size_columns = WorksheetFunction.CountA(Worksheets("Beschreibung").Rows(2)) 'im echten Sheet beginnt die Tabelle in Reihe 2
End With
'Neudefinierung des Arrays, das in Zelle A3 beginnt [Cells(3,1)]
'Alle Positionen des Arrays werden jetzt mit Werten gefüllt... hoffentlich
ReDim Beschreibung(1 To size_rows, 1 To size_columns)
For i = 3 To size_rows
For j = 1 To size_columns
ProjD(i, j) = Cells(i, j).Value
Next j
Next i
'Festlegen der letzten Zeilen in Sheet Überblick
LastRowÜberblick = Worksheets("Überblick").Cells(Rows.Count, 2).End(xlUp).Row
'Beginn Durchlauf bei Zeile 4
For i = 3 To size_rows
For n = 4 To LastRowÜberblick
If Beschreibung(i, 1) = Worksheets("Überblick").Cells(n, 2).Value Then
Set Worksheets("Überblick").Cells(n, 6) = ProjD(i, 3)
Set Worksheets("Überblick").Cells(n, 7) = ProjD(i, 4)
Set Worksheets("Überblick").Cells(n, 8) = ProjD(i, 5)
Set Worksheets("Überblick").Cells(n, 12) = ProjD(i, 8)
Set Worksheets("Überblick").Cells(n, 14) = ProjD(i, 6)
Set Worksheets("Überblick").Cells(n, 15) = ProjD(i, 7)
Set Worksheets("Überblick").Cells(n, 16) = ProjD(i, 9)
Set Worksheets("Überblick").Cells(n, 17) = ProjD(i, 10)
Set Worksheets("Überblick").Cells(n, 18) = ProjD(i, 11)
End If
Next n
Next i
Der Code läuft ohne Fehlermeldung durch, macht aber gar nichts. Und meine Kenntnisstand reicht nicht so weit um mir Sachen gekonnt zusammenzustückeln... Es wäre super lieb wenn mir jemand helfen könnte meinen Code das machen zu lassen was er eigentlich soll. Vielen Dank im Voraus.
Liebe Grüße, Natalia

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Spaltenvergleich und Kopie bestimmter Bereiche
07.09.2020 20:40:40
ralf_b
der code macht nichts, weil er nicht in deiner Datei ist. #malanmerk#
AW: VBA Spaltenvergleich und Kopie bestimmter Bereiche
07.09.2020 20:54:11
AlterDresdner
Hallo Natalja,
dass Du das Ganze auch ohne VBA erledigen kannst, ist schon klar?
Z.B. der Titel lässt sich mit =SVERWEIS(B4;Tabelle1;2;FALSCH) locker erfassen.
wenn es aber unbedingt VBA sein soll:
wie Dein Code 'ohne Fehlermeldung durchläuft', möcht ich gern wissen
(Deklaration Beschreibung(), ProjDProjID, ...).
Der Befehl Set ... setzt ein Objekt und füllt nicht eine Zelle...
Eine Möglichkeit findest Du unter
https://c.web.de/@337536775209621017/UWOWVfZWQXG5f_Ept24XVw
Gruß der AlteDresdner
Anzeige
AW: VBA Spaltenvergleich und Kopie bestimmter Bereiche
08.09.2020 21:25:33
Natalia
Vielen, vielen Dank!!! Es funktioniert. Wirklich klasse :D
AW: VBA Spaltenvergleich und Kopie bestimmter Bereiche
09.09.2020 16:58:17
AlterDresdner
Hallo Natalja,
wie schön und Danke für die Rückmeldung!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige