Inputbox folgt Index
#21
Hallo, jetzt funktioniert es für die Drei Zellen.
 Muß ich jetzt für jede Zelle in der das auch gehen soll den Code einzeln erweitern??

Wie schon geschrieben, es geht allein in dieser Tabelle um 10 Zeilen von F bis BB.

Sollte das hier doch so aufwendig werden, dann lasse ich das so wie es ist.

Auf jeden Fall schon mal Danke für die Bemühungen.
Top
#22
Hallo,

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Variablendeklaration - Range
Dim rngCell As Range, strCell As String, strSheet As String
'Wenn die Klickzelle M5. M6 oder M11 ist, dann

If Not Intersect(Target, Range("F5:BB76")) Is Nothing Then
If InStr(1, Target.Formula, "=INDEX") > 0 Then
'If Target.Address = "$M$5" Or Target.Address = "$M$6" Or Target.Address = "$M$11" Then
'Zelladresse anhand Formel ermitteln
strCell = Application.Evaluate("=ADDRESS(ROW(" & Replace(Range(Target.Address).Formula, "=", "") & "),COLUMN(" & Replace(Range(Target.Address).Formula, "=", "") & "))")
'Blattauwahl entsprechend gewaehlter Zeile
Select Case Target.row
   'Bei Zeile 5
   Case 5, 21, 38, 54, 70: strSheet = "Termineingabe"
   'Bei Zeile 6 und 11
   Case 6, 11, 22, 27, 39, 44, 55, 60, 71, 76: strSheet = "Lieferungen"
'Ende Blattauwahl entsprechend gewaehlter Zeile
End Select
'Zelle zuweisen
Set rngCell = Sheets(strSheet).Range(strCell)
'Meldung mit Adresse ausgeben
'Dim myValue As Variant
'myValue = InputBox("Give me some input")
'rngCell = myValue
MsgBox rngCell.Address 'hier die Inputbox
'Ende Wenn die Klickzelle M5. M6 oder M11 ist, dann
End If
End If
'Ende Eingabemodus
Cancel = True
End Sub
Gruß Stefan
Win 10 / Office 2016
Top
#23
Thumbs Up 
Hallo,

werd ich morgen gleich mal testen, aber erst mal Danke.
Top
#24
Hallo Mario,

ich nehme an, dass F5:BB76 der Bereich ist, auf den sich die Formel bezieht und selbige nach wie vor in Spalte M beheimatet ist Smile

Entsprechend musst Du am Code nichts ändern. Die Formel könnte in der Mappe auch ganz woanders hin gehen, wäre auch egal.
Der Code funktioniert jedoch nur bei INDEX-Formeln.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#25
Hallo Andre,

nein, F5-BBxx  sind zum Teil die Zellen die ich anklicken will, um daten in die Indexquelle einzugeben.
(Keine Ahnung ob man das in meiner kleinen Datei so sieht)

Zur Erklärung:

ich habe in der Tabelle in den Spalten F-BB sozusagen eine Terminübersicht die auch zur weiteren Berechnung benutzt wird( gelieferte Teile, Lagerbestand, Produktion),
Da ich die Tabelle nicht so lang haben wollte, bzw nicht ständig das Datum anpassen wollte, wird das Datum nur in dem bestimmten Bereich per Berechnung bzw Drehfeld gesteuert. Um aber eingetragene Werte zu Lieferung bzw Produktion immer passend zum eingegeben Datum zu behalten, mußte ich das per Hilfstabelle und Index machen. So laufen ja die zahlen mit dem Drehfeld mit. Die Eingabe erfolgt Momentan direkt in die Hilfstabelle über eine UF. Das funktioniert zwar, aber is doch manchmal etwas umständlich bzw unübersichtlich da die UF sehr oft umpositioniert werden muß.

Ich werd den Code morgen mal testen, und wie gesagt, der Zugriff auf die andere Tabelle(Termineingabe) is ehh überflüßig, da die nicht manuell bearbeitet wird. Weil diese sich auch Ihre Daten per Index aus anderen Einzeltabellen holt.
Top
#26
Guten Morgen,

ich habe den Code gerade getestet. Er funktioniert, auch die von mir eingebaute Inputbox geht.

Aber, kann ich unterdrücken das er auf die Zeilen reagiert die auf die Tabelle Termineingabe verweisen?
Habe versucht, den zugriff auf das Tabellenblatt durch eine Msg zu ersetzen die sagt das die Zeile tabu ist, kommt aber dennoch zum Fehler.

Und 2. wenn ich die Eingabe bei geöffneter Inputbox abbreche, löscht er den evtl vorhandenen Inhalt der Zelle, das ist auch suboptimal.
Top
#27
Hallo Mario,

kommentiere diese Codezeile aus

Code:
Case 5, 21, 38, 54, 70: strSheet = "Termineingabe"
Gruß Stefan
Win 10 / Office 2016
Top
#28
Hallo, habe ich versucht, bzw dann dort die Msg eingefügt, aber dann kommt hier der Fehler in beiden Fällen

Code:
Set rngCell = Sheets(strSheet).Range(strCell)

Habe auch versucht nen Errorhandler einzubauen, aber der springt jedes mal an.
Top
#29
Hallo,

ok, meine Letzte Antwort war ein Schnellschuß, der nicht geht. Versuchs mal so

Code:
Case 5, 21, 38, 54, 70: Exit Sub

natürlich wieder einkommentiert.
Gruß Stefan
Win 10 / Office 2016
Top
#30
Hallo, danke, da hätte ich auch alleine drauf kommen können^^

Eine kleine Frage hät ich aber noch, die Ansicht springt mir bei Doppelklick in diese Zellen in die andere Tabelle,

Direkte Zellbearbeitung in den Optionen habe ich probiert. 
Mit Haken kommt erst die Schreibschutzwarnung und dann springt ansicht
Ohne Haken springt Ansicht sofort.
Top


Gehe zu:


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