Waarde uit een tabel halen

  • Onderwerp starter Onderwerp starter gst
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

gst

Gebruiker
Lid geworden
5 jan 2010
Berichten
125
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

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.
 
Het is de bedoeling dat het geprogrammeerd wordt in VBA.
Programmeren om het programmeren? Dan heb je zeker een hele berg tijd over?
 
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
 
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

Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan