Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1632to1636
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Frage zu Collections

Frage zu Collections
04.07.2018 20:47:17
masl
Hallo Zusammen,
ich stehe grade etwas auf dem Schlauch.
Folgendes Szenario:
Datei A.xlsx ist geöffnet und soll per vba mit Daten aus Datei B.xlsx, aktuell noch geschlossen, gefüllt werden. Das ist ja noch simpel allerdings würde ich gerne einige Infos aus Datei B.xlsx in eine Collection schreiben und dann, nach schließen von Datei B.xlsx, in Datei A.xls weiterverwenden.
Hier mal der Codeabschnitt der Probleme macht:
dim col_latest as new collection
dim r_row as integer
r_row = 2
'Datei öffnen
Workbooks.open filename:=variable, local:=true
for i = 1 to active sheet.cells(rows.count, 1).end(xlup).row
if activesheet.cells(r_row, 18).value <> "Inventory" then goto ncr
----> Hier kommt die collection
col_latest.add activesheet.cells(r_row, 18)
ncr:
r_row = r_row + 1
next i
'Datei wieder schließen
workbooks("b.xlsx").close
---> wenn ich jetzt versuche auf die collection "col_latest" zuzugreifen, existiert diese nicht mehr. Liegt das daran, dass diese in der anderen Arbeitsmappe erzeugt und gespeichert wurde oder bin ich einfach zu doof die richtig anzusprechen :D
Danke schon mal und schöne Grüße
Masl

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Frage zu Collections
04.07.2018 22:07:09
Mullit
Hallo,
oder bin ich einfach zu doof die richtig anzusprechen :D

das sollte als 'Profi-gut' nicht vorkommen oder..?
Zeig mal Deine gesamte Subprozedur, die Collection muß natürlich in Deiner Datei A.xls erstellt und gefüllt werden, in B.xlsx wäre sie nicht mehr vorhanden und wenn Du in anderen Procs darauf zugreifen willst, mußt Du sie global deklarieren, aber mehr kann man zu den Code-Bruchstücken nicht sagen...ach ja raus mit den GOTO's...;-)
[edit] ich seh grad, das könnte ein Referenzierungsprob. sein....
Dim objWorkbook As Workbook
'....
'Datei öffnen
Set objWorkbook = Workbooks.Open(Filename:=variable, Local:=True)
With objWorkbook
For i = 1 To .ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
    If .ActiveSheet.Cells(r_row, 18).Value <> "Inventory" Then GoTo ncr
    
    '''----> Hier kommt die collection
    
    col_latest.Add .ActiveSheet.Cells(r_row, 18)
    
ncr:
    
    r_row = r_row + 1
Next i
End With
'...
Set objWorkbook = Nothing
Gruß, Mullit
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige