PDA

Vollständige Version anzeigen : Tabellenübergreifende INPUTBOX


mcbacon
13.07.2006, 07:25
Hallo zusammen,

ich würde gerne wissen, wie ich eine Inputbox (Application.inputbox) dazubringen kann, nach dem Befehl .show Daten aus einer anderen als der momentan aktiven Tabelle herauszulesen.

Bsp.

Set start_cell = Application.InputBox("Startzell OP-MM anklicken!", "Startzelle", Type:=8)

Tabelle 1 ist aktiv beim Aufruf des Codes. Die anzuwählende Zelle befindet sich aber auf Tabelle 2.

Momentan kann ich nach Aufruf der Inputbox nur Zellen innerhalb des aktiven Sheet anklicken.

Gibt's da eine Möglichkeit?

Vielen Dank für die Hilfe

Gruß an alle MOFler

Christoph

Hajo_Zi
13.07.2006, 07:56
Hallo Christoph,

in Deinem Code wird keine Zelle angesprochen, oder habe ich da was übersehen.

<img src="http://home.media-n.de/ziplies/images/grusz1.gif" align="middle" height="30" alt="Grußformel"><a href="http://home.media-n.de/ziplies/" target="_blank"><img border="0" src="http://home.media-n.de/ziplies/images/logo_hajo.gif" align="middle" height="30" alt="Homepage"></a>

myfake
13.07.2006, 07:59
Hallo Christoph,

ich habe es gerade einmal hiermit getestet:

<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Sub</span> Auswahl()
&nbsp;
<span class="TOKEN">Dim</span> Ziel <span class="TOKEN">As</span> Range
&nbsp;
<span class="TOKEN">Set</span> Ziel = Application.InputBox(prompt:=&quot;Zielzelle anklicken&quot;, Type:=8)
&nbsp;
MsgBox Ziel.Value
&nbsp;
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span></pre></div>
Code eingefügt mit dem MOF Code Converter (http://www.ms-office-forum.net/forum/codeconverter.php)

Hier kannst Du einfach mit der Maus auf das andere Sheet wechseln und dort die gewünschte Zelle auswählen. Der Inhalt wird dann weiterverwendet.

cu
myfake

mcbacon
18.07.2006, 07:52
Hallo,

danke für die Hilfe.

Allerdings gibt es immer noch ein Problem.

Ich möchte nicht nur auf andere Sheets zugreifen (das geht!), sonder auch auf andere Workbooks.

Und das ist mir bis dahin verwehrt geblieben.

Irgend eine Idee?

Gruß

Christoph

nicht registriert
18.07.2006, 12:15
Hallo, Christoph,

entweder den Wechsel auf die Mappen vor dem Aufruf der Prozedur durchführen oder den Weg über eine UserForm mit Kontrollanzeigen für Arbeitsmappen, Tabellen und Zellen gehen.

myfake:
Drück mal Abbrechen bei Deinem Code ;) Der dann entstehende Laufzeitfehler wird nicht abgefangen.

HTH,
Holger

myfake
18.07.2006, 12:24
Hallo Christoph,

das klappt mit dem Code auch.

Wenn Du die Inputbox offen hast kannst Du über "Fenster" in die andere Mappe wechseln und dort die gewünschte Zelle auswählen.

cu
myfake

nicht registriert
18.07.2006, 13:08
Option Explicit

Sub Auswahl()
Dim Ziel As Range
On Error Resume Next
Set Ziel = Application.InputBox(prompt:="Zielzelle anklicken", Type:=8)
If Ziel = False Then Exit Sub
MsgBox "Mappe: " & Ziel.Parent.Parent.Name & vbCrLf & _
"Tabelle: " & Ziel.Parent.Name & vbCrLf & _
"Adresse: " & Ziel.Address & vbCrLf & _
"Wert: " & Ziel.Value
Set Ziel = Nothing
End Sub

Dann "klappt" der Code auch bei Abbrechen.

HTH
Holger

mcbacon
18.07.2006, 13:59
Hat wunderbar funktionert.

Warum ich das andere WB nicht über die Startleiste anwählen kann, ist mir allerdings immer noch ein Rätsel.

Danke.

Gruß

Christoph