Ermitteln der Position einer Teilefamilienzelle in VBA SolidWorks

Hallo

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,

Schönen Tag

Rub25

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 :!)

2 „Gefällt mir“

Hallo

Da Sie uns mitgeteilt haben, wonach Sie suchen, teilen Sie uns mit, welche Suchkriterien...

Hallo

In C# könnte es in etwa so aussehen:

sheet = workbook.ActiveSheet;
int i = 1;
while (sheet.Cells(i, "A").value != "D03.97 - 8.99")
{
    i++;
}
MessageBox.Show("Ligne n° :" + i);

Herzliche Grüße

Hallo

 

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:)

Vielen Dank an alle für eure Antworten!

In der Tat reicht eine einfache While-Schleife aus, um das zu tun, worum ich gebeten habe, danke.

2 „Gefällt mir“

In Excel gibt es die Funktionen SUCHEN, SUCHEN, NACHSCHLAGEN