Tervehdys pitkästä aikaa! Toivottavasti nyt on kooditagit oikein :). Eli seuraavanlainen kysymys. Oheinen VBA Vlookup koodi toimii, mutta se lopettaa toimimisen kun haettavaa tietoa ei löydy. Do While pyörittää koodia niin kauan kunnes A sarake on tyhjä. Nyt kuitenkin jos sillä hetkellä haussa olevaa tietoa ei ole niin se lopettaa Vlookupin kokonaan. Tarkoitus olisi, että jos haettavaa tietoa ei ole niin sen laittaa vaikka 0 kyseisen nimen kohdalle ja jatkaa Vlookupin loppuun. Ohessa koodi!
Sub Vlookup() Dim i As Integer i = 1 Do While Range("A" & i).Value <> "" the_value = Worksheets("Asiakkaat").Range("A" & i + 1) Range("B" & i + 1)=Application.WorksheetFunction.Vlookup(the_value,Worksheets("Tammi").Range("A:F"), 6, False) i = i + 1 Loop End Sub
Mod. korjasi kooditagit pois tavallisesta tekstistä ja VBA-koodiin oikean kielen kooditagit. Mitä kummaa?!
Heglund kirjoitti:
Toivottavasti nyt on kooditagit oikein :).
Ei ole. Viestiä ei ole tarkoitus merkitä koodiksi ja VBA ei ole lähelläkään PHP:tä.
En kyllä ihan ymmärrä miksi haluat tehdä tuon VBA:lla, eikö se olisi helpompaa pistää vaan tuo vlookup funktio B-sarakkeeseen ja kopioida seuraaville riveille.
Mutta jos nyt väkisin haluaa tehdä VBA:lla niin vaikka
Sub Vlookup() Dim i As Integer i = 1 On Error Resume Next Do While Range("A" & i).Value <> "" the_value = Worksheets("Asiakkaat").Range("A" & i + 1) Range("B" & i + 1).Formula = 0 Range("B" & i + 1) = Application.WorksheetFunction.Vlookup(the_value, Worksheets("Tammi").Range("A:F"), 6, False) i = i + 1 Loop End Sub
Aihe on jo aika vanha, joten et voi enää vastata siihen.