Registriert seit: 06.03.2017
Version(en): 2007
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.
Registriert seit: 11.04.2014
Version(en): Office 2007
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
Registriert seit: 06.03.2017
Version(en): 2007
26.06.2017, 15:43
Hallo,
werd ich morgen gleich mal testen, aber erst mal Danke.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
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 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)
Registriert seit: 06.03.2017
Version(en): 2007
26.06.2017, 19:31
(Dieser Beitrag wurde zuletzt bearbeitet: 26.06.2017, 19:31 von M.Wichmann.)
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.
Registriert seit: 06.03.2017
Version(en): 2007
27.06.2017, 08:03
(Dieser Beitrag wurde zuletzt bearbeitet: 27.06.2017, 08:03 von M.Wichmann.)
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.
Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo Mario, kommentiere diese Codezeile aus Code: Case 5, 21, 38, 54, 70: strSheet = "Termineingabe"
Gruß Stefan Win 10 / Office 2016
Registriert seit: 06.03.2017
Version(en): 2007
27.06.2017, 08:10
(Dieser Beitrag wurde zuletzt bearbeitet: 27.06.2017, 08:10 von M.Wichmann.)
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.
Registriert seit: 11.04.2014
Version(en): Office 2007
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
Registriert seit: 06.03.2017
Version(en): 2007
27.06.2017, 08:51
(Dieser Beitrag wurde zuletzt bearbeitet: 27.06.2017, 08:57 von M.Wichmann.)
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.
|