Waarde uit een tabel halen

Status
Niet open voor verdere reacties.

gst

Gebruiker
Lid geworden
5 jan 2010
Berichten
121
Besturingssysteem
64-bits besturingssysteem, x64-processor
Office versie
Microsoft Office LTSC Professional Plus 2021
Geacht forum,

In een kolom staan een aantal diameter waarden.
Hierbij wil ik uit een tabel van een andere sheet de bijbehorende inch waarde zoeken.

Ik heb een poging gedaan maar kom er niet helemaal uit (zie bijlage)

Heeft iemand voor mij een suggestie om de code af te maken?
 

Bijlagen

  • TabelWaardeZoeken.xlsm
    24,3 KB · Weergaven: 27
Volgens mij heb je voldoende aan dit in B2 en dan doortrekken naar beneden:
=VERT.ZOEKEN(A2;S2_Tabel!$D$3:$E$31;2)
 
Laatst bewerkt:
Wat mankeert er aan deze formule?
Code:
=VERT.ZOEKEN(A2;S2_Tabel!$D$3:$E$31;2)
 
Het is de bedoeling dat het geprogrammeerd wordt in VBA.
Hierin staat al een begin alleen weet ik niet hoe ik de kolom van sheet 2 de selectie kan maken naast de gevonden diameter.
De bijlage is maar een voorbeeld voor mijn definitief gebruik.
 
Sory OctaFish, ik begrip je antwoord niet...
 
Functies zitten niet voor niets in het pakket... Als je iets op een bloedsimpele manier kan oplossen, waarom zou je het dan willen programmeren?
 
De bijlage is maar een voorbeeld voor een grotere toepassing waarbij de gebruiker, via een input van een steeds varierende lijst aan diameters, inbrengt wat de input is.
Deze wordt vervolgens voor een andere toepassing gebruikt waarbij het noodzakelijk is dat de inch waarde wordt toegevoegd.
Omdat dit alles zich afspeelt in een productie omgeving, bouw ik liever geen formules in de cellen. Dus vandaar dat ik het liever via een druk op de knop regel via VBA.
 
Zet dit dan maar eens achter die knop, waarbij ik met opzet zo min mogelijk variabelen heb gebruikt:
Code:
Private Sub cmdOmzetten_Click()
    Dim i As Long
    Dim x As Long
    
    For i = 2 To Sheets("S1_Diameter").Range("A2").CurrentRegion.Rows.Count
        For x = 3 To 31
            If Sheets("S2_Tabel").Cells(x, 4) = Sheets("S1_Diameter").Cells(i, 1) Then
                Sheets("S1_Diameter").Cells(i, 2) = Sheets("S2_Tabel").Cells(x, 5)
                Exit For
            End If
        Next x
    Next i
End Sub
 
Laatst bewerkt:
edmoor,

Dit is precies wat ik zoek!
Soms loop ik even vast in het vinden van de juiste oplossing.
Mijn kennis van vba is beperkt maar pas het graag toe daar waar nodig.

Opnieuw (zoals al vaker) weer bedankt voor je meedenken!

gst
 
Graag gedaan :)
 
Code:
Sub M_snb()
   sn = Sheet1.Cells(1).CurrentRegion
   
   For j = 2 To UBound(sn)
    sn(j, 2) = Application.Convert(sn(j, 1) / 10 ^ 2, "m", "in")
   Next
   
   Sheet1.Cells(1).CurrentRegion.Offset(, 10) = sn
End Sub
 
Of deze.
Code:
Private Sub cmdOmzetten_Click()
   sn = S1.Cells(1).CurrentRegion
   
   For j = 2 To UBound(sn)
        sn(j, 2) = "(" & Round(sn(j, 1) * 0.0393700787, 0) & ChrW(&H2033) & ")"
    Next
   
   S1.Cells(1).CurrentRegion.Resize(, 2) = sn

End Sub

Nog enkel mogelijkheden in bestand.
 

Bijlagen

  • TabelWaardeZoeken.xlsm
    28,7 KB · Weergaven: 28
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan