Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA Nachfrage - Erweiterung
#1
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
Antworten Top
#2
Hallo 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.





Antworten Top
#3
Hallo

Du könntest 1x F2 drücken und dann Return


UweD
Antworten Top
#4
Danke für Eure Hilfe, jedoch ist mit F2 nicht das was ich gesucht habe und mit VBA Select kenn ich mich nun gar nicht aus.
Trotzdem Danke
Antworten Top
#5
Hallo Phoeni,

hier mal Ego's Vorschlag in die Praxis umgesetzt:
Testseite für VBA-Umsetzung nach HTML
[Cc]


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

viele Grüße von
L u s c h i  aus klein-Paris
Antworten Top
#6
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.

Wo oder wie kann ich das ändern?
Gruß Phoeni
Antworten Top
#7
Hallöchen,

wenn Du in E32 ewas eingibst, auch nix, solltest Du in F32 rauskommen.

Case "E32": Range("F32").Activate

Wenn Du jedoch nicht etwas eingibst, dann kommst Du in der im Excel eingestellten Richtung weiter.

Wenn Du E33 überhaupt nicht benötigst, kannst Du generell beim Wechsel nach E33 per Code nach F32 gehen.

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$E$33" Then Range("F32").Activate
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#8
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
Antworten Top
#9
... sag ich doch ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#10
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


Angehängte Dateien Thumbnail(s)
   
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste