Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Auf Inhalt aus anderer Excel Tabelle zugreifen

Auf Inhalt aus anderer Excel Tabelle zugreifen
06.07.2017 13:42:16
Christopher
Servus Leute, ich stehe vor einem neuen Problem.
Also ich habe eine Excel Tabelle in der Namen und Stunden stehen.
Diese bin ich mit Hilfe eines Makros durchlaufen und habe mir ein Objekt erzeugt indem ich jeweils den Namen mit der dazugehörigen Stundenzahl eingespeichert habe:
Der code dazu:
Public Sub CSVtoArray()
Dim members As Object
Set members = CreateObject("Scripting.Dictionary")
Dim row As Long
Dim maxRow As Long
Dim sheet As Worksheet
Set sheet = ActiveWorkbook.Worksheets(1)
maxRow = sheet.Cells(sheet.Rows.Count, "A").End(xlUp).row
Dim curName As String
Dim curHour As String
curName = sheet.Cells(row, 1)
curHour = sheet.Cells(row, 7)
If Not members.Exists(curName) Then
Call members.Add(curName, curHour)
Else
members.Item(curName) = Val(members.Item(curName)) + Val(curHour)
End If
End Sub
Das funktioniert soweit auch ganz ordentlich.
Nun habe ich eine zweite Excel Tabelle in der die Selben Namen stehen aber andere Informationen wie z.B. eine Adresse.
Ich möchte jetzt also für jedes Memberpaar in meinem Array überprüfen ob der Name auch in der anderen Excel Tabelle enthalten ist und wenn ja möchte ich den Array Eintrag z.B. um die Stadt erweitern.
Die Spalte in der die Stadt steht ist immer gleich.
Ich stehe total auf dem Schlauch und hoffe mir kann jemand weiterhelfen.
Liebe Grüße

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Auf Inhalt aus anderer Excel Tabelle zugreifen
06.07.2017 15:14:46
mmat
Hallo,
ich hab zwar keine Ahnung von Skripting Dicktionary und vermute auch, das man das mit VBA-Bordmitteln lösen kann, aber:
Dem Objekt "members" müsstetst du doch irgendwie mal sagen, wo denn die Daten stehen. Auf was soll members.Exists denn zugreifen ?
vg, MM
AW: Auf Inhalt aus anderer Excel Tabelle zugreifen
06.07.2017 16:02:14
Christian
Hallo,
ein Dictionary (assoziatives Array) besteht immer aus Name-Werte-Paaren. Du kannst als Wert aber auch ein Array übergeben.
Bsp:
Option Explicit
Sub TestIt()
Dim objDic As Object
Dim i As Long
Dim strName As String
Dim dblHour As Double
Dim vntTmp
Set objDic = CreateObject("Scripting.Dictionary")
With Sheets("Tabelle1")
For i = 1 To 10
strName = .Cells(i, 1).Value
dblHour = .Cells(i, 2).Value
If Not objDic.Exists(strName) Then
objDic(strName) = Array(dblHour, "")
Else
vntTmp = objDic(strName)
vntTmp(0) = vntTmp(0) + dblHour
objDic(strName) = vntTmp
End If
Next
End With
With Sheets("Tabelle2")
For i = 1 To 5
strName = .Cells(i, 1).Value
If objDic.Exists(strName) Then
vntTmp = objDic(strName)
vntTmp(1) = .Cells(i, 2).Value
objDic(strName) = vntTmp
End If
Next
End With
i = 1
With Sheets("Tabelle3")
For Each vntTmp In objDic.Keys
.Cells(i, 1) = vntTmp
.Cells(i, 2).Resize(, 2) = objDic(vntTmp)
i = i + 1
Next
End With
End Sub
Gruß
Christian
Anzeige
AW: Auf Inhalt aus anderer Excel Tabelle zugreifen
06.07.2017 16:42:40
mmat
Aha.
Du liest also alle Zeilen aus sheet in das Dings ein. Mehr macht der (vom Anfang) Code nicht. Learned what ...
Danach willst du in der 2. Liste nach Einträgen suchen.
Ist es wirklich erforderlich, die erste Liste permanent vollständig im Speicher zu halten ?
Gehe ich recht in der Annahme, das du nach einen zusammengesetzten Wert aus Name und Hour suchst?
Oder nur nach dem Namen?
vg, MM

339 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige