Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Excel2010 - Daten aus Matrix auswählen und in neuen Zeilen einfügen
#1
Brick 
Hallo zusammen,

Ich habe ein Problem, an dem ich mir momentan die Zähne ausbeiße. Leider bin ich nicht sonderlich erfahren im Umgang mit VBA und hoffe, dass ihr vielleicht den einen oder anderen Tipp für mich habt.

Ich habe eine Liste (Angefügte EXCEL Datei – Tabellenblatt „Liste“). In diesem Blatt sind diverse Bauteile aufgeführt (Spalte D – MD (Drehstrommotor); MDR (Rollgangsmotor); BBB (Technologisches Messgerät 1); BBZ (Technologisches Messgerät 2)).

Ich möchte den Bauteilen automatisch Kabel und Leitungen zuordnen. Eine Kabelauswertung habe ich bereits fertiggestellt. Ich muss in die INPUT-Liste zusätzlichen Informationen einbringen, um diese im zweiten Schritt in meine Auswertung übertragen zu können. Dafür soll die Liste (Angefügte EXCEL Datei – Tabellenblatt „Liste“) mit Hilfe einer Matrix (Angefügte EXCEL Datei – Tabellenblatt „Matrix“) ergänzt werden.
Beispiel:
Input:
A B C D E F G H …
1 H 02 EA019 MD 113 … …

EXCEL soll den Wert aus Spalte D nehmen, diesen in der Datenbank (Matrix) suchen, und zusätzliche Werte unterhalb der Originalzeile ausgeben. Der gefundene Wert soll wieder in Spalte D stehen. die übrigen Zellen sollen aus der Originalzeile übernommen werden.

In dem Beispiel bedeutet das folgendes:

EXCEL findet in Spalte D das Bauteil „MD“. Dieses Bauteil findet EXCEL in der Matrix, prüft in der Matrix ob unterhalb noch zusätzliche Bauteile benötigt werden, und gibt diese in der Zeile / den Zeilen unterhalb der eingelesenen Zeile aus.

Im angegebenen Beispiel, sowie in der angefügten EXCEL Mappe, müsste EXCEL ein weiteres Bauteil (Kabel) mit der Bezeichnung „PE“ finden. Dieses soll eingefügt und der Rest der Liste entsprechend nach unten verschoben werden.

Stehe hier vor einem, für mich, riesigen Problem. Bin für Anregungen und Vorschläge wirklich dankbar.

Gruß Jens


Angehängte Dateien
.xlsx   Auswertung Bauteilliste.xlsx (Größe: 14,67 KB / Downloads: 3)
Antworten Top
#2
Hallo Jens

ich hoffe du hast einen guten Zahnarzt.  Vielleicht sollten wir die Aufgabe lösen, ist besser für die Zähne.
Vom Material her sind mir Drehstrommotote und Messgeraete bekannt, (die drehen sich um die eigene Achse)     Rheinischer Humor

In der Output Liste ist mir noch einiges unklar, weiss nicht ob das wirklich so richtig ist??  Frage lieber mal nach ...
Im Prinzip sehe ich das die grauen Zeilen bis auf Spalte D mit dem Text in den weissen Zellen 1:1 identisch sind.  Ist das so richtig??  Dann ist es ein einfaches Kopier Programm. Nur mit Unterschied eines anderen Textes in Spalte D

Andere Frage:  wo soll der Output hingeschrieben werden??  Denn wenn man ihn direkt unter Input schreibt überschreibt man sich ja mit den neuen Inputs irgendwann die eigenen Output Daten.  Gibt es dafür eine extra Tabelle, oder wie ist das gedacht??  Output daneben in Spalte L/M schreiben??

mfg  Gast 123
Antworten Top
#3
Hallo,

Danke für die Antwort!

"Im Prinzip sehe ich das die grauen Zeilen bis auf Spalte D mit dem Text in den weissen Zellen 1:1 identisch sind.  Ist das so richtig??  Dann ist es ein einfaches Kopier Programm. Nur mit Unterschied eines anderen Textes in Spalte D"

--> Das ist richtig. Die Zeile soll im Prinzip kopiert werden. In Spalte D soll die Info aus der Matrix ausgegeben werden (PE, CC oder DP).  

"Andere Frage:  wo soll der Output hingeschrieben werden??  Denn wenn man ihn direkt unter Input schreibt überschreibt man sich ja mit den neuen Inputs irgendwann die eigenen Output Daten.  Gibt es dafür eine extra Tabelle, oder wie ist das gedacht??  Output daneben in Spalte L/M schreiben??"

--> Die Zellen sollen in der gleichen Mappe eingefügt werden. Die darunterliegenden Zeilen sollen entsprechend nach unten geschoben werden.
Habe schon mal so etwas ähnliches geschafft, allerdings war da kein bezug zu einem anderen Tabellenblatt.

Mein Ansatz dafür ware sowas wie:

                Rows(i + 1).Select
                Selection.Insert shift:=xlDown
                Range(Cells(i, 1), Cells(i, 10)).Copy
                Cells(i + 1, 1).Select
                ActiveSheet.Paste
Antworten Top
#4
Hallo,

habe versucht mit konventionellen EXCEL Methoden der Sache Herr zu werden.... erfolgsfrei...

Hier muss wohl oder übel ein Makro her.

Leider sind meine VBA Erfahrungen dezent unterirdisch.

... aber aufgeben ist keine Option! :17:

Bin weiterhin für Hilfe dankbar, melde mich, wenn ich was ereicht habe.
Antworten Top
#5
Hallo Tret

Zitat:Leider sind meine VBA Erfahrungen dezent unterirdisch....   aber aufgeben ist keine Option!    Der zweite Satz gefaellt mir sehr!!

wer unterirdisch arbeitet sollte eine helle Lampe mitnehmen.  Vielleicht bringt mein Makro etwas Licht ins Dunkel!!??   Würde mich freuen.

Obwohl es eine xlsx Datei ist enthaelt sie "deaktivierte Makros"  Als Text in der Info Tabelle und im Modulblatt für Tabelle "Liste"  Dort siehst du das Makro mit vorgestelletem " '* " Zeichen. Dieses Zeichen einfach mit Suchen und Ersetzen durch Nichts = "" löschen. Damit ist das Makro wieder aktiv! Die " '* " Zeichen Kombi ist notwendig weil man das normale " ' " Zeichen vor einem Kommentar nicht weglöschen darf!!

Nach dem aktivieren des Makros einfach in die Liste eingeben und dort wo etwas eingefügt werden soll in Spalte "D" einen Doppelklick auf das Wort "BBZ" machen.  Sehen und staunen, den Rest macht das Makro.  Kein Button oder sonstige Klimmzüge.  Der Doppelklick ist nur in Spalte D aktiv!!

Ist das eine Lösung mit der du arbeiten kannst??

mfg Gast 123


Angehängte Dateien
.xlsx   Auswertung Bauteilliste F.xlsx (Größe: 17,38 KB / Downloads: 5)
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • Tret
Antworten Top
#6
Hallo Gast 123,

Vielen Dank für deine Hilfe! mit "Suchen und Ersetzen" hatte ich keinen Erfolg. Habe den Code im VBA-Editor eingefügt und zum laufen gebracht.

Deine Lösung, dass die eingefügten Zeilen unter dem Bauteil grau werden, und so nicht doppelt eingefügt werden können, ist super!

Hat mich einen großen Schritt weiter gebracht.

Danke!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste