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

Forumthread: 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
Anzeige

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
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige