Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
380to384
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
380to384
380to384
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datenbabfrage

Datenbabfrage
13.02.2004 15:43:16
Günni
Hallo liebe Excel Spezialisten,
habe folgendes Problem / Aufgabe:
Ich möchte aus einer umfangreichen Excel Datenbank (ca. 3500 Datensätze, mir einzelne Datensätze in eine neue Datei, in bestimmter Anordnung holen.
Basis:
Die Datenbank (Adresspool) ist eine Adress-Datenbank, in der Firmen-Adressen mit Ansprechpartnern stehen. Einige Firmen haben mehrere Ansprechpartner, also haben diese Firmen auch mehrere Datensätze, je einen pro Ansprechpartner.
Ziel:
Mit wenig Aufwand, die benötigten Daten in eine andere Datei (Auswahl) holen, aber nur die Daten aus den benötigten Spalten und in einer neuen Anordnung. Die "Grund-Daten" Firma, Sraße, PLZ, Ort, Tel, Fax sollen untereinander stehen, wie in einem Anschriftenfeld. Die Daten der Ansprechpartner zu dieser Firma sollen in Zeilen darunter stehen, mit den Spalten-Bez. z. B. Anrede, Vorname, Name, Abteilung, Funktion, Durchwahl etc.

Meine bisherigen Gedanken für die Auswahl-Datei:
Mit einer Pivot Tabelle (Alle meine Versuche sind fehl geschlagen, da ich nichts berechnen will) habe zu wenig Erfahrung damit.
Meine Fast-Lösung:
SVERWEIS und ein Makro aufzeichen.
SVERWEIS: Hiermit hole ich mir die Grund-Daten aus dem Adresspool, da jeder Kunde eine Kunden-Nr. hat, kein Problem.
Dann habe ich ein Makro aufgezeichnet, mit dem ich mir die Ansprechpartner in die Auswahl-Datei holen will. Die einzelnen Schritte:
Makro aufzeichnen; Namen vergeben; Tastenkombination gewählt
1.)In der Auswahl-Datei habe ich mit Strg+C die Kunden_Nr. kopiert
2.)In der Datei Adresspool habe ich einen Autofilter gesetzt,in der Spalte Kunden-Nr: Benutzerdefiniert gewählt, dann "Kunden-Nr entspricht" Strg+V die aus der Zwischenablage gespeicherte Nr. übergeben.
3.)Alles markiert und Strg+C
4.)In Datei Auswahl: Bearbeiten; Inhalte einfügen; Werte; Leerzellen überspringen und mit OK bestätigt.
5.) Aufzeinung beendet.
Klappt prima, jedoch wenn ich das Makro starte, mit einer anderen Kunden-Nr, gibt er mir die die Ansprechpartner wieder, die ich bei der Makro-Aufzeichnung gewählt habe. Das kann man auch im Makro "Schritt" nachlesen.
Wie kann ich das Makro beeinflussen, das die Info aus der Zwischenablage eingefügt wird?
Für jede Lösung bin ich dankbar!
Achtung ich habe NULL KOMMA NULL Ahnung von VBA!
Danke und schönes Wochenende

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

Betreff
Datum
Anwender
Anzeige
AW: Datenbabfrage
13.02.2004 17:21:02
andre
hallo günni,
dann hole mal dein makro her, da will bestimmt keiner von vorn anfangen wenn du schon fast fertig bist. und beschreibe mal die spalten, also firma in a ...
gruss andre
AW: Datenbabfrage
13.02.2004 19:18:49
Günni
Hallo Andre,
danke für die schnelle Reaktion.
Ich hoffe Du kannst mit dem aufgezeineten Makro etwas anfangen:

Sub Ansprechpartner_übernehmen()
' Ansprechpartner_übernehmen Makro
' Makro am 13.02.2004 von Günter aufgezeichnet
' Tastenkombination: Strg+a
Range("A2").Select
Selection.Copy
Windows("KundenAP.xls").Activate
Selection.AutoFilter Field:=1, Criteria1:="=50001", Operator:=xlAnd
ActiveWindow.Panes(1).Activate
Cells.Select
Application.CutCopyMode = False
Selection.Copy
Windows("Auswahl.xls").Activate
Range("A12").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
True, Transpose:=False
End Sub

Das Problem liegt in dieser Zeile:
Selection.AutoFilter Field:=1, Criteria1:="=50001", Operator:=xlAnd
ActiveWindow.Panes(1).Activate
Die 50001 ist die von mir kopierte Kunden-Nr,während der Makro-Aufzeichnung. Aus meiner Sicht soltte hier stehen "Aus Zwischenablage einfügen" oder ähnlich.
Es ist nicht so leicht es jemandem zu erklären. Ich bin das erste Mal in einem Forum und habe noch keine Erfahrung, sorry!
Gruß
Günni
Anzeige
AW: Datenbabfrage
13.02.2004 20:24:27
andre
hallo günni,
ich nehme an, dass du den wert aus a2 statt der 50001 haben willst?

Sub Ansprechpartner_übernehmen()
' Ansprechpartner_übernehmen Makro
' Makro am 13.02.2004 von Günter aufgezeichnet
' Tastenkombination: Strg+a
waswillich=Range("A2") 'wo bist du hier ?? auf KundenAP ??
Windows("KundenAP.xls").Activate 'wenn schon da dann nicht noch mal
'was ist hier selectiert? wenn seit ...A2.. auf diesem blatt dann statt
'selection.Auto... Range("A2").Auto...
Selection.AutoFilter Field:=1, Criteria1:=waswillich, Operator:=xlAnd
ActiveWindow.Panes(1).Activate
Cells.Copy
Windows("Auswahl.xls").Activate
Range("A12").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
True, Transpose:=False
End Sub

gruss andre
Anzeige
AW: Datenbabfrage
14.02.2004 14:49:13
Günni
Hallo Andre,
Supie, grandios!
Ganz, ganz toll, ich habe das Makro minimal nach deinen Vorgaben angepaast und es funktioniert auf anhieb. Mein abgewandeltes Makro füge ich hier bei. So ganz verstehen tue ich es allerdings nicht. Hauptsache es funktioniert. Falls es dich interessiert: Ich arbeite mit zwei Dateien: 1.) KundenAP.xls hier sind alle Daten gespeichert, aus denen ich eine Selektion machen will.
2.) Auswahl.xls hier sollen die gewünschten Daten aus KundenAP.xls übernommen werden.
Beide Dateien sind geöffnet.
In Auswahl.XLS gebe ich die gewünschte Kunden-Nr in A2 ein. In B2 bis B9 habe ich einen SVERWEIS (=SVERWEIS(A2;[KundenAP.xls]Ansprechpartner!$A:$S;2;0). Hiermit hole ich mir die Grunddaten aus KundenAP.xls in Auswahl.xls.
Jetzt starte ich das Makro.
Das Markro fügt mir nun in Auswahl.xls (A12) die gewünschten Ansprechpartner mit deren spezifischen Daten aus KundenAP.xls ein.

Sub Ansprechpartner_übernehmen()
' Ansprechpartner_übernehmen Makro
' Makro am 13.02.2004 von Günter  aufgezeichnet
' Tastenkombination: Strg+a
waswillich = Range("A2")
Selection.Copy
Windows("KundenAP.xls").Activate
Selection.AutoFilter Field:=1, Criteria1:=waswillich, Operator:=xlAnd
ActiveWindow.Panes(1).Activate
Cells.Select
Application.CutCopyMode = False
Selection.Copy
Windows("Auswahl.xls").Activate
Range("A12").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
True, Transpose:=False
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige