Het vinden van de positie van een deel familie cel in Vba SolidWorks

Hallo

Ik ben terug op een macro en ik ben het veranderen van mijn techniek een beetje, dus ik zou graag uw hulp alstublieft.

Ik heb een CAD-bestand met een familie van onderdelen van ongeveer 30 configuraties waarvan de namen via een For-lus in een lijst worden geladen, zodat de gebruiker degene kan kiezen die hij nodig heeft.
Elke configuratie vertegenwoordigt diameterbereiken van hetzelfde onderdeel: Configuratie 1 = Deel A met Ø0,1 - 1,0, Configuratie 2 = Deel A  met Ø 1,01 - 3,0, Configuratie 3 = Deel A met Ø3,01 - 10,0 enz. Met behulp van de UserFroms die ik heb gemaakt, kan de gebruiker de diameter invullen in het bereik dat hij heeft geselecteerd (zijnde een parameter). Dan zou ik willen dat de waarde die in het speciale tekstvak wordt geschreven, naar de cel van de onderdeelfamilie gaat, waarvan de rij die van de gekozen configuratie is en de kolom die overeenkomt met de diameterparameter.
Om dit te doen, moet ik de positie van de configuratiecel vinden, in werkelijkheid is de rij genoeg voor mij omdat ik weet dat deze in kolom A staat en dan naar rechts verschuif totdat ik de juiste kolom vind.

Uitleg in foto's:

Ik wil graag het regelnummer van de rode cel weten, zodat ik de waarde van de Ø in de groene cel kan schrijven.

Dit alles om te zeggen dat ik graag de positie van een cel in VBA-code zou willen vinden.
Ik hoop dat ik duidelijk ben geweest en dank u voor uw antwoorden,

Fijne dag

WRIJF 25

Omdat het zonder testen alleen in mijn hoofd is, zou ik op alle lijnen herhalen en zodra je eerder gekozen waarde overeenkomt, voer je je code uit (ik ben geen grote fan van Excel-zoekfuncties :!)

2 likes

Hallo

Aangezien je ons hebt verteld wat je zoekt, vertel ons welke zoekcriteria(n) je hebt...

Hallo

In c# zou het er ongeveer zo uit kunnen zien:

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

Vriendelijke groeten

Hallo

 

Op die manier,  heel snel en zonder te kunnen controleren, lijkt het mij dat het zoiets als dit zou geven:

 

Diameter = InputBox ("Welke diameter ?", "Keuze van diameter", Diameter) 'Invoervak 

set gevonden = kolommen("c"). Find(what:=Diameter, lookat:=xlWhole) 'Zoek de 'Diameter' waarde als een exacte waarde (lookAt:=xlWhole) in kolom C
Als gevonden is niets' als waarde niet wordt gevonden

Msgbox "Diameter bestaat niet"

Anders
   Rij = Zoeken.Rij ' Geeft als resultaat het regelnummer

Einde als

ActiveSheet.cells(rij,"A") = actieve cellen

 

Waarschijnlijk om een beetje aan te sleutelen, maar het zou je veel moeten helpen:)

Dank u allen voor uw antwoorden!

Inderdaad, een eenvoudige While lus is genoeg om te doen wat ik vroeg, dank je.

2 likes

In Excel zijn er de functies ZOEKEN, ZOEKEN, OPZOEKEN