Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 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
Anzeige

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
Anzeige
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
Anzeige
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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige