Anzeige
Archiv - Navigation
776to780
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
776to780
776to780
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Daten in Array bereithalten solange Mappe geöffnet

Daten in Array bereithalten solange Mappe geöffnet
26.06.2006 12:07:32
stephan
Ich möchte beim Start einer Mappe Daten aus einer anderen Excel Liste in ein Array laden und dann solange im Speicher bereitstellen wie diese Mappe geöffnet ist.
Aus der gelandenen Liste kann der User über einen Button in der Symbolleiste einzelne Zeilen auswählen und damit weiterarbeiten.
Das Laden funktioniert schon einwandfrei, aber leider ist das Array immer wieder "Out of Context" sobald ich die Sub verlasse, und ich müsste es bei jedem Click auf den Button nachladen.
Das geht doch sicher besser...
Vielen Dank für alle Tipps.
Stephan

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten in Array bereithalten solange Mappe geöffnet
26.06.2006 12:44:41
Heiko
Hallo Stephan,
da dein Codebeispiel sehr aufschlußreich ist habe ich nur den Tipp das Array global in einem allgemeinen Modul als Public zu deklarieren. Dann wird das Array solange die Mappe offen (die in der das Array deklariert wurde) ist auch zur Verfügung stehen und du kannst darauf zugreifen.
Wenn das nicht hilft wäre etwas mehr Codebeispiel schon hilfreich um zu sehen wie du das ganze angehst oder besser noch ne Beispielmappe.
Gruß Heiko
PS: Rückmeldung wäre nett !
AW: Daten in Array bereithalten solange Mappe geöffnet
26.06.2006 14:03:55
stephan
Hallo Heiko,
sorry die einfache Public Definition hat nicht ausgereicht.
Hier mal das Beispiel.
Public SelData As Variant

Sub ReadData()
ActiveWorkbook.Sheets(1).Range("A1").Select
Range("A1", Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
SelData = Selection.Rows
End Sub


Sub mnuStartSel()
MsgBox "Test"
'Hier sollten die Daten in SelData zur Verfügung stehen.
End Sub

Mit ReadData werden die Daten eingelesen, dann soll der Anwender arbeiten können und per Knopfdruck in die mnuStartSel kommen und dort dann aus den Daten auswählen. Leider geht das aber nicht, da die Variable "Out of Context" ist.
Anzeige
AW: Daten in Array bereithalten solange Mappe geöffnet
26.06.2006 14:42:08
Heiko
Hallo Stephan,
ich werde aus deinem Beispiel nicht wirklich schlau, viel zuviel select !!!
Und SelData = Selection.Rows schreibt die Anzahl der selektierten Zeilen in die Variable aber nicht den Inhalt des selektierten Bereichs.
Habe mal eine Beispielmappe gemacht mit deinem beiden Makros.
Also z.B. in Tabelle Quelle eine Bereich markieren und ihn dann in Tabelle Ziel zu kopieren ist möglich solange die Tabelle auf ist.
https://www.herber.de/bbs/user/34642.xls
Gruß Heiko
PS: Rückmeldung wäre nett !
AW: Daten in Array bereithalten solange Mappe geöffnet
26.06.2006 15:00:58
stephan
Vielen Dank für das Beispiel.
Im Endeffekt ziemlich das gleich Beispiel nur kürzer.
Das beispiel funktioniert gut. Interessanterweise bin ich wohl einem Feature im VBA Editor aufgesessen.
Wenn du den "arrDaten" in die Überwachung aufnimmst ist diese Variable zur Laufzeit des Makros (ReadData) gefüllt und beim zweiten Makro (mnuStartSel) als "Out of Context" angezeigt.
Es funktioniert aber trozdem.
Also vielen Dank
Stephan
Anzeige
AW: Daten in Array bereithalten solange Mappe geöffnet
26.06.2006 14:42:36
IngGi
Hallo Stephan,
du musst das Datenfeld mit Klammernpaar deklarieren und diese Deklaration muss natürlich vor der ersten Prozedur in dem Modul stehen.
Public SelData() As Variant
Wie ich das verstehe, willst du dem Datenfeld jeweils alle Spalten der markierten Zeilen zuweisen? Dann versuch das mal so:
SelData() = Range(Cells(Selection.Row, 1), Cells(Selection.Row + Selection.Rows.Count - 1, 256))
Gruß Ingolf

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige