Excel VBA Verweise auf bestimmte Mappen

tobias_2

Cadet 4th Year
Registriert
Nov. 2009
Beiträge
84
Guten Morgen,

ich schreibe gerade ein Tool, welches zuerst aus einer Excel-Mappe Zelleninhalte/werte ausliest und diese dann in eine zweite Excel-Mappe überträgt. Die Mappen werden nacheinander über zwei Filebrowser geöffnet.

Um die Zellen aus der richtigen Mappe anzusprechen verwende ich folgende Syntax (vereinfacht dargestellt)
Code:
Set mappe1 = ActiveSheet        'wird als erstes per Filebrowser geöffnet

'dann wird per zweiten Filebrowser die 2.Mappe geöffnet => aus dieser werden die Daten eingelesen

a = Cells(1, 1)
mappe1.cells(1,1) = a            'einfügen in Mappe1

Nun möchte ich, dass auch wieder die 1. Mappe im Hintergrund der UserForm angezeigt wird.

Ich dachte da an sowas wie
Code:
books(wbmaschine).Open 'oder .Show oder sowas?!?!

Desweiteren wollte ich fragen, ob das mit dem "Set mappe1 = ActiveSheet" so der übliche Weg ist, oder ob man das noch eleganter lösen kann?

Vielen Dank
 
Hi,

also deine vereinfachte Darstellung sollte ja problemlos funktionieren.

Aber was meinst du mit "im Hintergrund der UserForm angezeigt"?
Welche UserForm? Ich seh da weit und breit keine UserForm?

Ich versteh das Problem nicht ganz...

Gruß
 
Ich habe 2 Button. Beim Klick des ersten öffnet man eine im Explorer ausgewählte Datei, in der man die Daten schreibt (Filebrowser).
Beim Klick des 2. wählt man zuerst die Datei aus, aus der man die Daten ausliest, diese Befindet sich ja dann im Hintergrund der UserForm.

Mit dem Verweis:
Code:
mappe1.cells(1,1) = a
werden die Daten in die andere (zuerst geöffnete Mappe) übertragen.

Nun möchte ich diese auch wieder im Hintergrund der UserForm angezeigt bekommen.

Der Code funktioniert wunderbar, nur suche ich noch eine zusätzliche Methode, damit man nicht erst switchen muss um die neue Eintragung in der 1. Mappe zu sehen.
 
Hey,

also ich weiß zwar nicht was du mit UserForm meinst, aber du solltest das mal googlen bevor du den Begriff weiter benutzt, denn ich hab null Plan was du meinst. Mein einziger vorschlag wäre jetzt auch das was toucher gepostet hat.
 
also ich weiß zwar nicht was du mit UserForm meinst
Kennst du dich überhaupt mit VBA aus? :D
Eine UserForm ist eine sog. GUI (Graphical User Interface) die man neben Modulen in VBA erzeugen kann.

sieht dann ungefähr so aus (das ist ein anderes Tool von mir):
UserForm_Bsp.png

Kennt denn einer noch eine andere Möglichkeit wie diese um die richtige Mappe anzusprechen? Finde die etwas unelegant, denn wenn der User im Hintergrund eine andere Mappe anklickt, hat man prompt die falsche Zuweisung.
Code:
Set mappe1 = ActiveSheet
 
Ich kenne mich sehr gut mit VBA aus, aber in deinem ersten Post und vor allem in dem "Code" kam niemals ne UserForm vor, deswegen frag ich die ganze Zeit was du damit willst.

Anscheinend kennst du dich weniger mit VBA aus, denn ActiveSheet ist das aktive Blatt, was du suchst ist ActiveWorkbook.
Wenn du den Dateinamen brauchst dann "mappe1 = Activeworkbook.name"

Und sorry, ich hab immer noch keine wirkliche Ahnung wie dein Code und "Tool" eigentlich aussieht, bzw. was du eigentlich willst!
 
Und sorry, ich hab immer noch keine wirkliche Ahnung wie dein Code und "Tool" eigentlich aussieht, bzw. was du eigentlich willst!
Ja ich poste hier auch bestimmt nicht den ganzen Code, da dieser recht umfassend ist und Firmeninternes erhält, zumal ich ja nur die eine Funktion brauchte (mappe1.activate an dieser Stelle thx an hd-toucher) und der andere Quellcode (mein Gedankentum) ohnehin funktioniert.
Ich habe lediglich vereinfacht beschrieben, was das Tool macht, damit man zumindest den Grundgedanken dahinter versteht.

Aber mir ist eh schon geholfen.

Verstehe nicht was daran nicht zu verstehen ist:
Nun möchte ich, dass auch wieder die 1. Mappe im Hintergrund der UserForm angezeigt wird.
Wie soll man das anders beschreiben :D
 
Zurück
Oben