Ich bin wieder bei einem Makro und ändere meine Technik ein wenig, also hätte ich gerne Ihre Hilfe. Bitte bitten Sie uns um Ihre Hilfe.
Ich habe eine CAD-Datei mit einer Familie von Teilen mit etwa 30 Konfigurationen, deren Namen über eine For-Schleife in eine Liste geladen werden, damit der Benutzer die gewünschte Konfigurationen auswählen kann. Jede Konfiguration repräsentiert Durchmesserbereiche des gleichen Teils: Config 1 = Teil A mit Ø0,1 - 1,0, Config 2 = Teil A mit Ø 1,01 - 3,0, Config 3 = Teil A mit Ø3,01 - 10,0 usw. Mit den von mir erstellten UserFroms kann der Benutzer den Durchmesser in dem von ihm ausgewählten Bereich eingeben (da es sich um einen Parameter handelt). Dann möchte ich, dass der Wert, der in das entsprechende Textfeld geschrieben wird, in die Zelle der Teilefamilie geht, deren Zeile die der gewählten Konfiguration ist, und in die Spalte, die dem Parameter diameter entspricht. Dazu muss ich die Position der Konfigurationszelle finden, in Wirklichkeit reicht mir die Zeile, weil ich weiß, dass sie in Spalte A ist, und dann nach rechts verschieben, bis ich die richtige Spalte finde.
Erklärung in Bildern:
Ich würde gerne die Zeilennummer der roten Zelle wissen, damit ich den Wert des Ø in die grüne Zelle schreiben kann.
All dies, um zu sagen, dass ich bitte die Position einer Zelle im VBA-Code finden möchte. Ich hoffe, ich habe mich klar ausgedrückt und danke Ihnen für Ihre Antworten,
Da es ohne Testen nur in meinem Kopf ist, würde ich alle Zeilen schleifen und sobald Ihr zuvor gewählter Wert übereinstimmt, führen Sie Ihren Code aus (ich bin kein großer Fan von Excel-Suchfunktionen :!)
Auf diese Weise, sehr schnell und ohne überprüfen zu können, scheint es mir, dass es so etwas geben würde:
Diameter = InputBox("Welcher Durchmesser ?", "Wahl des Durchmessers", Durchmesser) 'Eingabefeld
set found = columns("c"). Find(what:=Diameter, lookat:=xlWhole) 'Finde den 'Diameter'-Wert als exakten Wert (lookAt:=xlWhole) in Spalte C Wenn gefunden nichts ist, dann" Wenn Wert nicht gefunden wird
Msgbox "Durchmesser existiert nicht"
Oder Row = Find.Row ' Gibt die Zeilennummer zurück
Ende, wenn
ActiveSheet.cells(Zeile;"A") = aktive Zellen
Wahrscheinlich zum Basteln ein bisschen, aber es sollte dir sehr helfen:)