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

Wenn Zelle nicht leer, dann springe zu Zelle...

Wenn Zelle nicht leer, dann springe zu Zelle...
26.01.2024 08:24:55
Patrick-S
Hallo Leute, ich versuche wirklich mit den vorhandenen Infos aus dem Netz klar zu kommen, immer wenn ich einen vermeintlich passenden Code finde und ihn an meine Bedürfnisse anpasse, erhalte ich Fehlermeldungen.

Ich möchte einfach nur:
Sub Modul1()


'Wenn Zelle C21 nicht leer, dann springe zu Zelle A15.

Application.OnTime Now() + TimeValue("00:00:05"), "Modul2"
End Sub

Ich würde dies gern als Modul1 und Modul2 anlegen um eine Dauerschleife zwischen den Beiden zu erzeugen.
Sub Modul2()

Dim Adresse As String
Application.Goto Reference:=Range("A7"), Scroll:=True

Application.OnTime Now() + TimeValue("00:00:05"), "Modul1"
End Sub

Kann mir noch geholfen werden? :-)

Vielen Dank,
Patrick

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

Betreff
Datum
Anwender
Anzeige
AW: Wenn Zelle nicht leer, dann springe zu Zelle...
30.01.2024 21:04:46
GerdL
Hallo Patrick,

ins Modul des Tabellenblattes kopieren.
Private Sub Worksheet_Change(ByVal Target As Range)


If Target.CountLarge = 1 Then
If Target.Address = "$C$21" Then
Application.EnableEvents = False
If Not IsEmpty(Target) Then Range("A15").Select
Application.EnableEvents = True
End If
End If

End Sub


Gruß Gerd
AW: Wenn Zelle nicht leer, dann springe zu Zelle...
31.01.2024 07:22:37
Patrick-S
Hallo Gerd, vielen Dank für Deine Antwort.

Das löst aber nur die Sache in der Überschrift. Ich versuche einen Automatismus zu generieren, der mir die Zellen im definierten Sekundentakt (z.B. 5 sec) hin und her schaltet.

Dazu müsste ich aber, soviel ich mittlerweile begreife, Deinen Code in mein Modul1 packen. Ein Private Sub lässt sich aber offenbar nicht im Modul sondern nur im Tabellenblatt ausführen (wie Du auch geschrieben hast) und damit auch nicht durch mein Modul2 erneut ansprechen. Oder??
Sub Modul1()


'Dein Code (Wenn Zelle C21 nicht leer, dann springe zu Zelle A15).

Application.OnTime Now() + TimeValue("00:00:05"), "Modul2"
End Sub

Sub Modul2()

Dim Adresse As String
Application.Goto Reference:=Range("A7"), Scroll:=True

Application.OnTime Now() + TimeValue("00:00:05"), "Modul1"
End Sub

Viele Grüße
Patrick
Anzeige
AW: Wenn Zelle nicht leer, dann springe zu Zelle...
01.02.2024 14:21:30
Pappawinni
Was heisst hin und her...
Wohin soll denn dein Modul1 schalten wenn C21 leer ist?
Modul1 und Modul2 sollten deine Subs auch nicht heissen...
Also sowas macht jedenfalls was:


'in Modul1
Sub unit1()
If IsEmpty(Range("C21")) Then
Application.Goto Reference:=Range("C21"), Scroll:=True
Else
Application.Goto Reference:=Range("A15"), Scroll:=True
End If
Application.OnTime Now() + TimeValue("00:00:05"), "Unit2"
End Sub
Sub unit2()
Dim Adresse As String
Application.Goto Reference:=Range("A7"), Scroll:=True

Application.OnTime Now() + TimeValue("00:00:05"), "Unit1"
End Sub

Anzeige
AW: Wenn Zelle nicht leer, dann springe zu Zelle...
01.02.2024 14:42:44
Patrick-S
Danke Pappawinni,

"hin und her" heißt, dass je nach eingestellter Zeit immer der andere Sub aufgerufen werden soll. (Dauerschleife wenn C21 nicht leer).

Wenn C21 leer ist, soll die Zelle A7 angewählt werden und nicht weiter springen, solange bis C21 wieder befüllt wird. Lässt sich das auch integrieren?

Die Sub-Namen Modul1 und Modul2 habe ich nur als Beispiel angegeben, da sich bei mir das eine Sub in Modul1 und das Andere in Modul2 befand.

Viele Grüße
Patrick
AW: Wenn Zelle nicht leer, dann springe zu Zelle...
01.02.2024 15:38:55
Pappawinni
Naja, also du verstehst von dem Code wohl Null.

'in Modul1

Sub unit1()
' wenn C21 leer ist, machen wir mal nichts... aber wenn NICHT dann springen wir auf A15
If Not IsEmpty(Range("C21")) Then Application.Goto Reference:=Range("A15"), Scroll:=True

Application.OnTime Now() + TimeValue("00:00:05"), "Unit2"
End Sub

Sub unit2()
Dim Adresse As String
Application.Goto Reference:=Range("A7"), Scroll:=True

Application.OnTime Now() + TimeValue("00:00:05"), "Unit1"
End Sub
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige