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.

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.
Grüße Mario  Angel
Antworten 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
Antworten Top
#23
Thumbs Up 
Hallo,

werd ich morgen gleich mal testen, aber erst mal Danke.
Grüße Mario  Angel
Antworten 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)
Antworten 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.
Grüße Mario  Angel
Antworten 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.
Grüße Mario  Angel
Antworten Top
#27
Hallo Mario,

kommentiere diese Codezeile aus

Code:
Case 5, 21, 38, 54, 70: strSheet = "Termineingabe"
Gruß Stefan
Win 10 / Office 2016
Antworten 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.
Grüße Mario  Angel
Antworten 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
Antworten 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.
Grüße Mario  Angel
Antworten Top


Gehe zu:


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