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.

Excel Netzplan die 2.: Reihenfolge der Eingabezellen festlegen
#1
Hallo,

da ich dank eurer Hilfe die Netzplan AOB hinbekommen habe, ist die Übung fast perfekt.

Da ich aber leider ein pingeliger Perfektionist bin, habe ich noch eine letzte Frage und hoffe ihr könnt mir auch hier helfen.

Ich würde gerne die Reihenfolge der Eingabezellen vorgeben.

Also wenn z.B. in Zelle B16 ein Wert eingegeben wurde und der User Enter drückt, würde als nächstes ja automatsich die Zelle B17 ausgewählt um dort die nächste Eingabe zu tätigen.

Kann man das so ändern, dass der nach Eingabe in B16 und Enter zu C16 anstatt zu B17 springt?

Zelle B17 zu sperren ist keine Option, da in B17 später noch eine Eingabe getätigt werden muss.

Ich habe hier mal einen Screenshot erstellt, wie die Reihenfolge aussehen soll.
Ignoriert bitte die blauen und schwarzen Pfeile. Die gehören zum Netzplan.
Die roten Pfeile zeigen den Hinweg (von B16 zu T15 zeigen) und die grünen Pfeile zeigen den Rückweg (von T17 zu B17)

   

Gibt es da eine Möglichkeit die Reihenfolge festzulegen?

Viel Grüße,
Mark
Antworten Top
#2
Hallo Mark,

Zitat:Kann man das so ändern, dass der nach Eingabe in B16 und Enter zu C16 anstatt zu B17 springt?

klar ginge das. ... mit Makros.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#3
Deine Mappe muss mit Makros gespeichert werden. Xlsm
In der Mappe Alt + F11 drücken und links die Tabelle wählen.

Wie du siehst musst du auch fragen wie es geht :D
Ich versuche es mal ausm Kopf, also wenn es nicht geht einfach melden,
dann bin ich vielleicht auch schon wach xD


Code:
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

   If Target.Address = "$B$16" Then Range("C16").Select

End Sub
Antworten Top
#4
Hallo Mark,

hier eine Variante, bei der man sich mit den üblichen Tasten(kombinationen) in den vorgegebenen Zellen vor und zurück bewegen kann:



' **************************************************************
'  Modul:  DieseArbeitsmappe  Typ = Element der Mappe(Sheet, Workbook, ...)
' **************************************************************


Option Explicit

Private Sub Workbook_Activate()
 'Application.DisplayFullScreen = True
 If ActiveSheet.CodeName = "Tabelle1" Then '<< TabellenCodename anpassen
   TabsteuerungEin
 End If
End Sub

Private Sub Workbook_Deactivate()
 'Application.DisplayFullScreen = False
 If ActiveSheet.CodeName = "Tabelle1" Then '<< TabellenCodename anpassen
   TabsteuerungAus
 End If
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
 If Sh.CodeName = "Tabelle1" Then '<< TabellenCodename anpassen
   TabsteuerungEin
 Else
   TabsteuerungAus
 End If
End Sub



' **************************************************************
'  Modul:  mTabsteuerung  Typ = Allgemeines Modul
' **************************************************************


Option Explicit

Dim bolR As Boolean

Public Sub TabsteuerungAus()
 Application.OnKey "{RIGHT}"   'NACH-RECHTS-TASTE
 Application.OnKey "{TAB}"     'TAB
 Application.OnKey "{ENTER}"   'EINGABETASTE (Zehnertastatur)
 Application.OnKey "{RETURN}"  'EINGABETASTE
 Application.OnKey "{LEFT}"    'NACH-LINKS-TASTE
 Application.OnKey "{BS}"      'RÜCKTASTE
 Application.OnKey "+{TAB}"    'UMSCHALT+TAB
 Application.OnKey "+{ENTER}"  'UMSCHALT+EINGABETASTE (Zehnertastatur)
 Application.OnKey "+{RETURN}" 'UMSCHALT+EINGABETASTE
 'MsgBox "Tabsteuerung ist ausgeschaltet", vbInformation, "Tabsteuerung"
End Sub

Public Sub TabsteuerungEin()
 Application.OnKey "{RIGHT}", "TabV"
 Application.OnKey "{TAB}", "TabV"
 Application.OnKey "{ENTER}", "TabV"
 Application.OnKey "{RETURN}", "TabV"
 Application.OnKey "{LEFT}", "TabZ"
 Application.OnKey "{BS}", "TabZ"
 Application.OnKey "+{TAB}", "TabZ"
 Application.OnKey "+{ENTER}", "TabZ"
 Application.OnKey "+{RETURN}", "TabZ"
 'MsgBox "Tabsteuerung ist eingeschaltet", vbInformation, "Tabsteuerung"
End Sub

Private Sub TabV()
 bolR = False
 Navigieren
End Sub

Private Sub TabZ()
 bolR = True
 Navigieren
End Sub

Private Sub Navigieren()
 Dim i As Long, j As Long
 Static strZ As String
 Dim varA As Variant
 'Die Reihenfolge der Zellen entspricht der Vorwärtsrichtung
 varA = Array("B16", "C16", "D16", "H7", "I7", "J7", "M7", "N7", "O7", "H28", "I28", "J28", _
              "M28", "N28", "O28", "R15", "S15", "T15", "T16", "S16", "R16", "O8", "N8", "M8", _
              "J8", "I8", "H8", "O29", "N29", "M29", "J29", "I29", "H29", "D17", "C17", "B17")
 For i = 0 To UBound(varA) - 1
   If varA(i) = ActiveCell.Address(0, 0) Then
     j = 1
     Exit For
   End If
 Next i
 If j = 1 Then
   strZ = ActiveCell.Address(0, 0)
   j = 0
 Else
   For i = 0 To UBound(varA) - 1
     If varA(i) = strZ Then Exit For
   Next i
 End If
 If bolR Then
   If i = 0 Then
     strZ = varA(UBound(varA) - j)
   Else
     strZ = varA(i - j - 1)
   End If
 Else
   strZ = varA((i + j + 1) Mod (UBound(varA) + 1))
 End If
 Range(strZ).Select
End Sub

Code eingefügt mit: Excel Code Jeanie

Gruß Uwe


Angehängte Dateien
.xlsm   Excel Netzplan Reihenfolge der Eingabezellen festlegen.xlsm (Größe: 19,6 KB / Downloads: 8)
[-] Folgende(r) 2 Nutzer sagen Danke an Kuwer für diesen Beitrag:
  • Rabe, Krause-r-h
Antworten Top
#5
Hallo zusammen,

vielen Dank für die ausführlichen Antworten.

Da ich von Makros 0 Ahnung habe, habe ich mich erstmal ein bisschen damit beschäftigt.

Leider funktioniert das nicht bei mir. Ich schätze, ich übersehe etwas was ich dabei noch ändern muss.

Ich habe den Tabellennamen angepasst, jedoch tut sich bei mir nichts, und er wechselt weiterhin von B16 zu B17 zu C16 zu C17...

Poste heute Abend mal das Makro, evtl. fällt euch auf, was ich übersehe.

Vielen Dank für die Unterstützung und viele Grüße,
Mark
Antworten Top
#6
Hallo Mark,

da "heute Abend" schon vorgestern war eine Frage - Hast Du den Fehler inzwischen gefunden?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#7
Moin,

... und ich würde übermorgen anfangen, eine Userform zu bauen. Das sollte dem Gedanken der Perfektion am nächsten kommen.
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Antworten Top


Gehe zu:


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