Tut's aber nicht immer. Sobald in H31 etwas eingetragen ist, kann man H31 verlassen.
Hm, seltsam. Bei mir springt er jedes Mal wieder sofort in die Zelle zurück. Dabei ist es auch völlig egal, ob ich aus der Dropdown-Liste einen Eintrag auswähle oder ob ich es händisch eintrage.
Es handelt sich übrigens um eine verbundene Zelle (H30-I31). Vielleicht liegt es daran? Das schöne ist dabei allerdings, trage ich im Makro H30 ein, passiert gar nichts, ich kann mich frei im Formular bewegen. Trage ich H31 ein, habe ich genanntes Problem.
17.07.2018, 08:23 (Dieser Beitrag wurde zuletzt bearbeitet: 17.07.2018, 08:31 von BoskoBiati.)
Hi,
in den genannten verbundenen Zellen kannst Du H31 überhaupt nicht anwählen. Trägst Du im Makro H31 ein, dann wird die Zelle H31 der zaehler. wenn in H31 aber nichts eingetragen werden kann, ist Zaehler immer leer. Also springt das Makro immer wieder in den Bereich, weil Deine Bedingung es so verlangt:
Code:
If zaehler = "" Then zaehler.Select Exit For End If
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr! Über Rückmeldungen würde ich mich freuen.
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) With Range("H31").MergeArea.Cells(1) If .Value = "" Then On Error Resume Next Application.EnableEvents = False .Select Application.EnableEvents = True On Error GoTo 0 End If End With End Sub
17.07.2018, 09:42 (Dieser Beitrag wurde zuletzt bearbeitet: 17.07.2018, 09:43 von Pirmi.)
Sorry, das klappt auch nicht.
Ich hänge euch nochmal die Mappe an. Ist wahrscheinlich einfacher.
Wenn ich den ersten Code einfüge, friert er sozusagen die Zelle ein, egal ob ich H31, I30 oder I31 im Code eintrage. Bei H30 kann ich mich frei bewegen. Beim zweiten Code kann ich ändern was ich will, ich kann mich immer frei bewegen. Habe den sowohl unter "Arbeitsmappe" als auch "Tabelle1" eingetragen. Selbes Ergebnis.
PS: Nur für den Fall: Bei "Kunde auswählen" ist eine Liste hinterlegt, die funktioniert in dieser Version nicht, aber im Original, das könnt ihr ignorieren
17.07.2018, 10:14 (Dieser Beitrag wurde zuletzt bearbeitet: 17.07.2018, 10:31 von Pirmi.)
(17.07.2018, 09:46)BoskoBiati schrieb: Hi,
meine Antwort dazu hast Du ja hoffentlich gelesen. Du kannst Dich auch dann nur frei bewegen, wenn Du in H30 etwas eingetragen hast.
Gelesen habe ich es schon. Solange die Zellen H30 bis I31 verbunden sind, klappt das Makro aber wie gesagt nicht.
Ich habe gerade mal die Zellverbindung gelöscht und den Code von mir getestet (mit H30). Da macht er grundsätzlich das, was er soll. Ist die Zelle leer, bleibt er in der Zelle. Wenn etwas aus der Liste ausgewählt wird, gibt er alles frei. So weit so gut. Aaaaaber: In der Vorlage soll in H30 beim Öffnen schon "Sachbearbeiter auswählen..." stehen. Das müsste also irgendwie noch in den Code rein. Nur, wenn die Zelle mit "Sachbearbeiter auswählen..." gefüllt ist, soll die Zelle nicht verlassen werden dürfen.
Edit: Die Zellverbindung wäre trotzdem schön, wenn die beibehalten werden könnte.
(17.07.2018, 09:42)Pirmi schrieb: Beim zweiten Code kann ich ändern was ich will, ich kann mich immer frei bewegen. Habe den sowohl unter "Arbeitsmappe" als auch "Tabelle1" eingetragen. Selbes Ergebnis.
PS: Nur für den Fall: Bei "Kunde auswählen" ist eine Liste hinterlegt, die funktioniert in dieser Version nicht, aber im Original, das könnt ihr ignorieren
Wenn mein Code (nur) im Codemodul des Tabellenblattes Tabelle1 steht, funktioniert das, auch mit der Liste.
17.07.2018, 10:44 (Dieser Beitrag wurde zuletzt bearbeitet: 17.07.2018, 10:44 von Pirmi.)
(17.07.2018, 10:30)Kuwer schrieb: Wenn mein Code (nur) im Codemodul des Tabellenblattes Tabelle1 steht, funktioniert das, auch mit der Liste.
Gruß Uwe
Da lag der Fehler...sorry, ich hab absolut keinen Plan von VBA :20: Wenn ich H30 eintrage, kann ich jedenfalls auch die Verbindung behalten.
Jetzt bleibe ich in der Zelle hängen, wenn diese komplett leer ist. Wie oben schon geschrieben, soll diese Zelle aber niemals leer sein. Es sind 4 Mitarbeiter in der hinterlegten Liste plus als "Standardauswahl" für diese Zelle halt noch "Sachbearbeiter auswählen...", sprich 5 Listeneinträge.
Wie müsste ich den Code abwandeln, damit er das, was er jetzt bei leerer Zelle macht, nur bei dem Eintrag "Sachbearbeiter auswählen..." macht?
(17.07.2018, 10:39)Pirmi schrieb: Wie müsste ich den Code abwandeln, damit er das, was er jetzt bei leerer Zelle macht, nur bei dem Eintrag "Sachbearbeiter auswählen..." macht?