Autor
|
Thema: Mit Makros Tabellen vergleichen und Ihnalt einfügen (4448 mal gelesen)
|
blueshark Mitglied
Beiträge: 6 Registriert: 02.12.2004
|
erstellt am: 18. Dez. 2004 21:01 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, habe mal wieder ein Makro Problem :-) Zum Download habe ich meine beiden Problemtabellen zur Verfügung gestellt, Tabelle1 und Tabelle2. Die Tabelle 1 (Workpackages) hat die Funktion, ein Basisstand (Drop-Downd Feld BS)auszuwählen und auswerten zu lassen. Nach der Auswertung erfolgt die Übergabe der benötigten Daten in einem neuen Tabellenblatt "Auswertung" unter der Überschrift "Standplanung". Als 2. Überschrift steht nun Changefile. Hier sollen die entsprechenden Daten aus Tabelle 2 nach Abfrage übernommen werden. Das ganze soll so funktionieren, dass in der Auswertung die Spalte Feature verglichen werden soll mit der Spalte Feature in Tabelle 2. 1.Fall: Wenn in der Tabelle 2 das Feature das bereits in der Auswertungs Tabelle steht vorkommt, soll es unter der Überschrift changefile mit entsprechenden Daten eingetragen werden. Die dazugehörigen Überschriften sollen ebenfalls mitübernommen werden. Siehe DEMO Tabelle. 2.Fall: Wenn das Feature nicht in der Auswertungs Tabelle steht, soll es unter der Überschrift Standplanung zu den bereits existierenden Features hinzugefügt werden. Die entsprechenden Daten sollen aber auch hier unter der Überschrift changefile stehen. 3.Fall: Wenn das Feature nicht in Tabelle 2 vorhanden ist, dann sollen die Spalten (logischerweise) unter der Überschrift changefile auch leer bleiben :-) Zur Verdeutlichung könnt ihr unter dem Tabellenbaltt "DEMO" sehen, wie das ganze aussehen soll. Der Butten "Datei auswählen auf der Auswertungs Tabelle ist im Moment nebensächlich. Hier soll später die zu vergleichende Tabelle auswählbar sein. Wäre super wenn mir jemand helfen könnte. Weiss absolut nicht mehr weiter :-( Danke blueshark Download: http://www.alex-low.com/Makro
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 19. Dez. 2004 18:15 <-- editieren / zitieren --> Unities abgeben: Nur für blueshark
Hi sharky, irgendwie komme ich mit deinen 'Feature-ID' nicht klar, die sind ja doppelt & dreifach. Hab' mal nen Ansatz gestrickt, aber wiegesagt, deine Struktur is mir nicht ganz klar, weswegen der etwas 'hakelt'. Möglicherweise kannste ja auch mal in den for-Schleifen ws1 und ws2 beim Vergleichen tauschen, aber am besten Du hangelst dich da mal selber durch ;-) Gruss Nancy --
Code:
Option Explicit Sub x() Dim ws1 As Worksheet, ws2 As Worksheet Dim cell As Range Dim a&, b&, i&, flag As Boolean Set ws1 = Workbooks("Tabelle1.xls").Sheets("Auswertung") Set ws2 = Workbooks("Tabelle2.xls").Sheets("EHB3_Changefile") a = ws1.Cells(Rows.Count, 1).End(xlUp).Row b = ws2.Cells(Rows.Count, 6).End(xlUp).Row For i = 3 To b For Each cell In ws1.Range(ws1.Cells(3, 1), ws1.Cells(a, 1)) If cell = ws2.Cells(i, 6) Then flag = True ws1.Cells(i, 7) = ws2.Cells(cell.Row, 1) ws1.Cells(i, 8) = ws2.Cells(cell.Row, 2) ws1.Cells(i, 9) = ws2.Cells(cell.Row, 4) Exit For End If Next If Not flag Then With ws1.Cells(Rows.Count, 1).End(xlUp) .Offset(1, 0) = ws2.Cells(i, 6) .Offset(1, 6) = ws2.Cells(i, 1) .Offset(1, 7) = ws2.Cells(i, 2) .Offset(1, 8) = ws2.Cells(i, 4) End With End If flag = False Next End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
blueshark Mitglied
Beiträge: 6 Registriert: 02.12.2004
|
erstellt am: 19. Dez. 2004 21:23 <-- editieren / zitieren --> Unities abgeben:
super, danke! Werd das mal ausprobieren. Das mit den Features kann ich dir leider nicht erklären. Ich kenn mich mit Makros wirklich nur wenig aus und hab dieses nette Teil aber als Aufgabe bekommen. Was da bisher drin steht, hab ich selbst kaum geschrieben. Ist halt schlecht wenn man Dinge vorgesetzt bekommt, die schon von anderen nur halb fertig gemacht wurden. Okay, danke nochmal. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|