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.
Grüße Mario
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, 14:43
Hallo,
werd ich morgen gleich mal testen, aber erst mal Danke.
Grüße Mario
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, 18:31
(Dieser Beitrag wurde zuletzt bearbeitet: 26.06.2017, 18: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.
Grüße Mario
Registriert seit: 06.03.2017
Version(en): 2007
27.06.2017, 07:03
(Dieser Beitrag wurde zuletzt bearbeitet: 27.06.2017, 07: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.
Grüße Mario
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, 07:10
(Dieser Beitrag wurde zuletzt bearbeitet: 27.06.2017, 07: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.
Grüße Mario
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, 07:51
(Dieser Beitrag wurde zuletzt bearbeitet: 27.06.2017, 07: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.
Grüße Mario
|