Hallo Leute, ich nutze diesen VBA Code: Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address(False, False) = "D16" Then Range("E31").Activate If Target.Address(False, False) = "E31" Then Range("E32").Activate If Target.Address(False, False) = "E32" Then Range("F32").Activate If Target.Address(False, False) = "F32" Then Range("E18").Activate If Target.Address(False, False) = "E18" Then Range("M35").Activate If Target.Address(False, False) = "M35" Then Range("K36").Activate If Target.Address(False, False) = "K36" Then Range("M37").Activate If Target.Address(False, False) = "K37" Then Range("K38").Activate If Target.Address(False, False) = "K38" Then Range("L38").Activate If Target.Address(False, False) = "L38" Then Range("D16").Activate
End Sub es ist auch alles ok damit. Nun meine Frage, wenn in E32 schon die richtige Stadt drin steht z.B. Berlin, kann ich per Return nicht weiter zur nächsten Zelle springen, sondern muss Berlin neu reinschreiben, bestätigen dann wird die nächste Zelle angesprochen. Ist es möglich, wenn Zelle OK. dann Return zur nächsten Zelle. Ich habe bei Goggle nichts dergleichen gefunden. Danke Gruß Phoeni
schau dir einmal unter VBA das Select Case statement an.
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität. Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen." Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.
Private Sub Worksheet_Change(ByVal Target As Range) Dim sAdr As String
sAdr = Target.Address(0, 0) Select Case sAdr Case "D16": Range("E31").Activate Case "E31": Range("E32").Activate Case "E32": Range("F32").Activate Case "F32": Range("E18").Activate Case "E18": Range("M35").Activate Case "M35": Range("K36").Activate Case "K36": Range("M37").Activate Case "K37": Range("K38").Activate Case "K38": Range("L38").Activate Case "L38": Range("D16").Activate Case Else ' 'nix tun End Select End Sub
Hallo Luschi, DANKE für die Hilfe. Folgendes, wenn ich in D16 etwas eingebe, springt er auf E31, gebe ich in E31 nichts ein nur mit Return bestätige, springt er auf E32, heißt zwischen E31 und E32 funktioniert es. Gebe ich in E32 nichts ein, springt er nur zur darunterliegende Zelle E33.
Hallo, " wenn Du in E32 ewas eingibst, auch nix, solltest Du in F32 rauskommen" wenn ich in E31 nichts- oder etwas eingebe, springt er zu E32, das ist ok und auch so prima. Von E32 MUSS ich etwas eingeben und mit Return bestätigen dann springt er auf F32. Gebe ich in E32 nix ein geht er eine Zeile tiefer, so verhält es sich auch mit den anderen Zellen. Grüße Phoeni
18.08.2023, 19:44 (Dieser Beitrag wurde zuletzt bearbeitet: 18.08.2023, 19:44 von Phoeni.)
Ich gebe zuerst in 1 etwas ein, springt auf 2, in 2 steht jetzt aber schon die richtige Straße (Pyrmonter Straßer) drin, möchte ich nur mit Return bestätigen und in 3 landen, steht in 3 auch schon die richtige PLZ (30459 oder andere) möchte ich auuch ier nur mit Return bestätigen und in 4 landen, steht da schon die richtige Stadt drinn.... gehts wweiter. Ich denke mir, ich habe mich missverständlich ausgedrückt - sorry