Hallo, ich habe folgendes Problem für das ich einen möglichst sinnvollen Ansatz suche.
Ich möchte eine art Master Liste erstellen auf die später eine andere Excelmappe zugreifen kann. Diese Liste soll monatlich aktualisiert werden. Hierfür wird aus einem anderen Programm eine Excel Tabelle ausgegeben. Diese Tabelle wird noch manuell um 2-3 Spalten erweitert (Kommentare, etc). Die Master-Mappe soll immer auf dem aktuellsten Stand sein. Jede Zeile ist über eine eindeutige ID in der ersten Spalte vergleichbar. Jedoch können sich Infos zu dieser ID in den folgespalten im nächsten Monat aktualisieren. Die Mastermappe soll immer den aktuelklsten Stand haben. Wie baue ich dies am besten auf? Ideen?
ich bin selbst leider noch echt weit weg vom Excel Profi [img] Dateiupload bitte im Forum! So geht es: Klick mich! ]
Ich möchte mal kurz ein paar Sätze zum Thema Crossposting rauslassen.
Gerade in einem Forum wie diesem, das ja nicht dazu da ist, sich mit schlauen Beiträgen wichtig zu machen, sollte man da etwas Milde walten lassen. Ich glaube niemand sitzt da und denkt sich Probleme aus, die er dann ins Forum schreibt. Vielmehr ist es doch so, daß man wie auf heißen Kohlen sitzt, und auf die Lösung seines Problems wartet um dann weiterprogrammieren zu können.
Klar, ist es nicht gerade die feine Art, zum gleichen Zeitpunkt, mit der gleichen Frage in verschiedenen Foren aufzutauchen, aber speziell, wenn die Antworten spärlich ausfallen, sollte man das Crossposting tolerieren.
Gruss
Folgende(r) 1 Nutzer sagt Danke an lapunta für diesen Beitrag:1 Nutzer sagt Danke an lapunta für diesen Beitrag 28 • SP-Creative
Moin, hättest du den ersten der beiden Links von Peter gelesen und verstanden, dann wäre deine Reaktion gewiss etwas anders ausgefallen. Da ist doch ganz deutlich beschrieben, dass es in erster Linie darum geht, auf das andere Forum zu verweisen. Und das ist doch wohl ein Minimum an Anstand, den ich von Fragestellern verlangen kann.
Wenn ich mich mit Beiträgen in einem Forum beteilige, dann bin ich dort Gast. Und als ein solcher habe ich die "Hausordnung", die Forenregeln zu akzeptieren. Punkt. Andere Foren sind in dieser Richtung viel stringenter; wobei ich einen speziellen "Dummschwätzer" H... mal ausnehmen will. Meine ganz persönliche Meinung kannst du hier nachlesen.
Beste Grüße Günther
Excel-ist-sexy.de …schau doch mal rein! Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
als Beispiel der Code, der zwischen 2 sheets updatet. Wenn man die Referenzierung auf Workbooks ändert, sollte es auch bei dir laufen. Die Codes sind für xl2003 und xl2016 getestet.
Code:
sub sDict() Sub myDict() 'wenn cells >>>>>> .value 'löschen Columns("F:I").Clear Dim WSDaten As Worksheet Dim WSUpdate As Worksheet Set WSDaten = Sheets("Daten") Set WSUpdate = Sheets("Update") lr1 = WSDaten.Cells(Rows.Count, 1).End(xlUp).Row lr2 = WSUpdate.Cells(Rows.Count, "A").End(xlUp).Row With CreateObject("scripting.dictionary") For i = 2 To lr1 ar = Application.Transpose(Application.Transpose(WSDaten.Range("b" & i & ":D" & i))) .Add WSDaten.Cells(i, "A").Value, Join(ar, "#") 'Debug.Print .keys()(i - 2), WSDaten.Cells(i, "A") Next i 'Debug.Print .Count For i = 2 To lr2 ar = Application.Transpose(Application.Transpose(WSUpdate.Range("b" & i & ":d" & i))) .Item(WSUpdate.Cells(i, "A").Value) = Join(ar, "#") Next i = 1 Debug.Print .Count For Each k In .keys i = i + 1 Cells(i, 6) = k Cells(i, 7) = .Item(k) Next
End With Columns("G:G").TextToColumns Destination:=Range("G1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _ :="#", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), _ TrailingMinusNumbers:=True WSDaten.Range("A1:D1").Copy WSDaten.Range("F1") End Sub
Anbei die Beispieldatei, an der der Code getestet wurde. Wenn der bekannten Risiken mit *xlsm, hier getrennt.
Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:1 Nutzer sagt Danke an Fennek für diesen Beitrag 28 • SP-Creative
das hat auch nichts mit Böses wollen zu tun. Ohne darauf hinzuweisen, wo die Frage noch gestellt wurde, nimmst du schlicht in Kauf, dass sich Helfer eventuell umsonst bemühen, deine Frage kostenlos zu beantworten, wenn im anderen Forum dies schon geschehen ist - Stichwort unnötige Doppelarbeit.