Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1476to1480
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

Datenimport in Variable

Datenimport in Variable
01.03.2016 22:39:49
Klaus
Hallo zusammen,
ich verzweifele gerade an einem Problem, zu dem ich auch mit der Suchefunktion keine Lösung finden kann.
Ich möchte aus einer Exceldatei Daten importieren, ohne sie in die Zieldatei schreiben zu müssen.
Dazu habe ich
- die Variable "Bereich" als Range dimensioniert
- die Quelldatei geöffnet
- der Variablen mit Set den Zellbereich A1:C10 der Quelldatei zugeordnet
--- Bisher alles Prima; "msgbox bereich.cells(2,2)" zeigt das richtige Ergebnis ---
- jetzt wird die Quelldatei geschlossen
- "msgbox bereich.cells(2,2)" ergibt jetzt einen Fehler, da die Variable nun leer ist!?
Wie kann ich die Varaible "Bereich" dazu überreden die Daten auch nach Schließen der Quelldatei zu behalten? Oder bin ich jetzt auf dem völlig falschen Dampfer?
Ich habe den genauen Code leider im Moment nicht parat. Hoffentlich kann jemand von euch mit meiner Beschreibung etwas anfangen.
Schon mal ein Danke für eure Mühen.
Gruß und einen schönen Abend noch
Klaus

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenimport in Variable
01.03.2016 23:20:38
Oberschlumpf
Hi Klaus
Hier mal, auf die Schnelle (eigtl muss ich ins Bett! :-) )
Sub sbArray()
Dim Bereich(9, 2), lloRow As Long
'hier deine Datei öffnen
For lloRow = 1 To 10
Bereich(lloRow - 1, 0) = Cells(lloRow, 1).Text 'hinter = deine Wertzuweisungen
Bereich(lloRow - 1, 1) = Cells(lloRow, 2).Text
Bereich(lloRow - 1, 2) = Cells(lloRow, 3).Text
Next
'hier deine Datei schließen
Stop 'dieses Stop-Signal nur, damit du dir - jetzt - den Inhalt von Bereich angucken kannst
End Sub

Hilfts?
Ciao
Thorsten

bereich.cells(2,2) ist eine ObjektReferenz, ...
01.03.2016 23:56:54
Luc:-?
…die natürlich nach Schließen des übergeordneten Objekts nicht mehr fktionieren kann, Klaus;
du musst also den Wert der Zelle in die Variable übernehmen, weshalb sie nicht As Range, sondern nach dem Datentyp ihres Inhalts oder als Variant deklariert wdn sollte. Der weist du dann diesen Zellwert zu, was auch über deine ursprünglich gesetzte BereichsReferenz geschehen kann. Die Wert-Variable sollte aber global (außerhalb einer Prozedur am ModulAnfang deklariert) und ggf Public oder zumindest Static (dauerhaft innerhalb einer Prozedur) sein. Dann hält sie, falls kein schwerer Fehler auftritt, der zu einem Verlust der Inhalte auch dieser Variablen führt, solange die Mappe mit der Variablen geöffnet ist.
Übrigens ist ein benannter Verweis auf die andere Datei unter den definierten Namen der aktuellen Mappe hierfür nicht hilfreich, denn er fktioniert nur per ZellFml, nicht in VBA!
Feedback erwünscht! Gruß, Luc :-?
Besser informiert mit …

Anzeige
AW: Datenimport in Variable
02.03.2016 12:31:14
snb
z.B.
sub M_snb()
with getobject("G:\OF\beispiel.xlsx")
sn=.sheets(1).cells(1).currentregion.resize(2,2)
.close 0
end with
msgbox sn(1,1) & vbtab & sn(1,2) & vblf & sn(2,1) & sn(2,2)
End sub

AW: Datenimport in Variable
02.03.2016 20:35:23
Klaus
Hallo Thorsten, Luc und Snb
@Thorsten: Danke für die Verkürzung deiner Nachtruhe! Deinen Code konnte ich gut verwenden.
@Luc: Da zeigt sich, dass nur "learning by doing" irgendwann ein Ende hat, wenn einem nicht ab und zu jemand hilft, der es wohl richtig gelernt hat und ihm die Hintergründe erklärt. Deine Erklärung war für mich sehr hilfreich! Danke dir dafür!
@Snb: Deinen Code konnte ich bisher nicht testen. Das schaffe ich erst morgen.
Von euren Antworten lebt das Forum! Klasse! Danke!
Schönen Abend noch,
Klaus
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige