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.

Listen und Tabellen vergleichen und zusammenführen
#1
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!
]

Viele Grüße und vielen Dank schon mal!!
Stefan
Antworten Top
#2
Hallo,

du bist anscheinend auch in den Gebräuchen von Foren noch kein Profi:

http://www.clever-excel-forum.de/Thread-Crossposting

Hier wird auch darüber diskutiert:

http://www.office-loesung.de/p/viewtopic.php?f=166&t=716959
Gruß
Peter
[-] Folgende(r) 1 Nutzer sagt Danke an Peter für diesen Beitrag:
  • Storax
Antworten Top
#3
Hallo,

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:
  • SP-Creative
Antworten Top
#4
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!
Antworten Top
#5
Hallo Creativer,

Vermutlich kann deine Aufgabe in vba mit 'scripting-dictionary' gelöst werden.

Wäre das eine Möglichkeit für dich? Es gibt sicher eine Reihe von Alternativen.

Mfg
[-] Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:
  • SP-Creative
Antworten Top
#6
Hallo nocheinmal,

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.


Angehängte Dateien
.xlsx   myDict-Test.xlsx (Größe: 10 KB / Downloads: 2)
[-] Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:
  • SP-Creative
Antworten Top
#7
Vielen Dank für die Antworten! Die Codes werde ich mal ausprobieren. Könnte nur vermutlich etwas dauer dort durchzusteigen.

Zum Thema Crossposting (bis eben noch nie gehört): Stimme lapunta dort völlig zu. Man will damit doch niemandem etwas böses.
Antworten Top
#8
Hola,

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.

Gruß,
steve1da
Antworten Top


Gehe zu:


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