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.