Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1560to1564
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

Variablenübergabe zw Sheet und Modul

Variablenübergabe zw Sheet und Modul
04.06.2017 16:24:03
Marcus
Nachdem beim vergangenen Mal sehr gute Hilfe kam, habe ich hier einmal mehr eine kleine Herausforderung:
Ich habe auf einem Arbeitsblatt eine Überwachung, wenn ein bestimmter Zellbereich ausgewählt _ wird.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("k2:k2000")) Is Nothing Then Call  _
ComboBoxenBedarfsweiseHinzufuegen
End Sub

Sobald dies geschieht, wird vom Arbeitsblatt aus ein Makro im Modul1 gestartet, was in der aktiven Zelle eine ActiveX Combobox erstellt. Deren Inhalt wird in die Nachbarzelle geschrieben.
Aus der Combobox kann der User - neben einem Mausklick - mit "Tab" oder "Enter" herauskommen. _ Auch dies wird über ein Makro auf dem Arbeitsblatt gesteuert:

Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyReturn Or KeyCode = vbKeyTab Then GeheZuZelle (gLetzteZellevorCombobox)
End Sub

Jetzt möchte ich aber beim Verlassen mit Tab oder Enter, dass als nächste Zelle, die Zelle ausgewählt wird, die rechts neben dem eben noch verwendeten Eingabefeld liegt.
Ich habe versucht eine globale Public Variable im Modul zu erstellen, doch auf die kann das Arbeitsblatt Makro nicht zugreifen. Eine Variable auf dem Arbeitsblatt kann zwar von meinem Makro mit der Combobox befüllt werden, ist dann aber beim Abruf durch das Makro wieder leer:
Public gLetzteZellevorCombobox As String
Dann habe ich versucht, das obige Makro zum Verlassen der Combobox ein neues Makro aufrufen zu lassen und diesem die Variable der letzten bekannten Zellenaddresse zu übergeben ...
Sub GeheZuZelle(letzteZelle As String)
ActiveSheet.Range("l" & letzteZelle).Select
End Sub
Doch im entscheidenden Moment ist die Variable leer ...
Was mache ich falsch und wie kann ich das Problem lösen?
Danke für eure Hilfe
Marcus

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
  • 04.06.2017 16:24:34
    Matthias
Anzeige
doppelt
04.06.2017 16:24:34
Matthias
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige