Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1752to1756
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

Spalten organisieren

Spalten organisieren
28.04.2020 17:49:11
Hunter0816
Hallo Experten,
Habe in einem anderen Thread bereits das sortieren und auszeigen von Unterschieden in Zellen zweier Tabellen angefragt. Dies ist aber der zweite Schritt. Der erste wäre es die Tabelle2 so umzugestalten, dass die Spalten identisch zur Tabelle 1 sind. Habe mich versucht durch die Suchfunktion zu wühlen, habe aber diesen Anwendungsfall nicht gefunden.
Ich stelle mir das wie folgt vor:
Datei 1; Blatt 1: Spalte A (Kunde) ; Spalte B (Betreff); Spalte C (Summe)
Datei 2; Blatt 1: Spalte A (Kunde) ; Spalte B (Summe); Spalte C (Betreff)
Den Ablageort der Datei 2 und den Namen des Blattes würde ich gerne per Eingabefenster einlesen.
Ein Makro checkt die Zeile A1 in Datei 1, Blatt 1 (Kunde). Dann durchläuft es in Datei 2, Blatt 1 die Zeile 1 bis der übereinstimmende Wert (Kunde) identifiziert ist, Kopiert die gesamte Zeile und Fügt sie in der ersten freien Zeile in Datei 1; Blatt 2 ein.
Nachher:
Datei 1; Blatt 1: Spalte A (Kunde) ; Spalte B (Betreff); Spalte C (Summe)
Datei 1; Blatt 2: Spalte A (Kunde) ; Spalte B (Betreff); Spalte C (Summe)
Kann mir hier einer von Euch helfen oder hat evtl. einen passenden Code?
Danke & Gruß Hunter

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

Betreff
Datum
Anwender
Anzeige
AW: Spalten organisieren
28.04.2020 19:17:25
Barbara
hallo hunter
Die Kunden sind in Spalte A und dann soll das Makro Zeile 1 nach übereinstimmende Werte durchsuchen? Du meinst wohl Spalte A, oder?
Wenn man Dein Nachher betrachtet, steht in Blatt1 und Blatt2 dasselbe.
"Den Ablageort der Datei 2 und den Namen des Blattes würde ich gerne per Eingabefenster einlesen." ignoriert das Makro. Du musst den Dateinamen im Makro eintragen.
Sub Kopieren()
Dim shBlatt As Object
Dim sDatei2 As String
Dim rFund As Range
sDatei2 = "C:\Users\anwender 1\Documents\VBA Lösungen\Test.xlsm"  'Anpassen
With ActiveWorkbook
Set shBlatt = Workbooks.Open(sDatei2, ReadOnly:=True).Sheets(1)
Set rFund = shBlatt.Columns("A").Find(.Sheets(1).Range("A1").Text, lookat:=xlWhole)
With .Sheets(2).Range("A9999")
.End(xlUp) = rFund
.End(xlUp).Offset(, 1) = rFund(, 2)
.End(xlUp).Offset(, 2) = rFund(, 3)
End With
End With
End Sub
Die Aufgabe war ohne Musterdatei zu lösen. Hoffe, es funktioniert.
LGB
Anzeige
AW: Spalten organisieren
29.04.2020 11:29:38
Hunter0816
Guten Morgen Barbara,
danke für Deine Lösung. Leider hat es nicht geklappt. Es wird nur der Inhalt der ersten drei Zellen übertragen.
Evtl. hilft etwas mehr Hintergrund: Ich kriege regelmäßig eine Liste vom Controlling, deren Inhalt alle Buchungen zu meinem Projekt sind. Diese Tabelle enthält immer die gleichen Daten mit monatlich mehr Buchungen, aber die Spalten sind leider immer unterschiedlich angeordnet.
Das Marko sollte also aus Datei1; Blatt1 Zelle A1 den Wert kopieren, in Datei2, Blatt2 springen und dort die Zeile A durchlaufen, bis der Wert gefunden ist. Dann diese komplette Spalte kopieren und in Datei1: Blatt1 SpalteA einfügen. Danach das gleiche mit Spalte B, C.. (36x insgesamt)
Für den Fall, dass einmal eine Spalte wirklich nicht identisch ist würde an der Stelle gerne einfach nur die gesuchten Überschrift einfügen und mit der nächsten Spalte weitermachen.
In einem 2. Makro vergleiche ich dann die Zeilen Zelle für Zelle und lasse mir die Unterschiede zur alten Version in der neuen Datei Markieren.
Ich hänge mal die beiden Beisieldatien an:
Datei1: https://www.herber.de/bbs/user/137110.xlsm
Datei2: Kommt im nächsten Post
Lässt sich meine Idee umsetzen?
Danke & Gruß
Hunter
Anzeige
AW: Spalten organisieren
01.05.2020 10:29:17
Klaus
Hi Hunter, Du schreibst:
"Leider hat es nicht geklappt. Es wird nur der Inhalt der ersten drei Zellen übertragen."
Ich denke schon, dass es geklappt hat. Habe ich was übersehen? Oder ist es Deine Formuliereung, die nicht geklappt hat?
Du schreibst weiter:
"Das Marko sollte also aus Datei1; Blatt1 Zelle A1 den Wert kopieren, "
OK, in Datei1; Blatt1 Zelle A1 steht "Kunde".
Oder meinst Du Zelle A2?
"in Datei2, Blatt2 springen "
Datei2 hat nur ein Blatt. Oder meinst Du Datei 1?
"und dort die Zeile A durchlaufen"
Meinst Du Spalte A? Oder die Zeile, in der der Kunde gedunden wurde?
Wenn das so ist, dann kannst Du ja das Makro von oben verwenden. hat Du mail? Eine genaue Anpassung kann ich dir gerne direkt zukommen lassen. Falls noch Interesse besteht. LGB
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige