Elikkä ois tarkoitus poimia solun arvo seuraavasti:
excel taulussa on listattuna numeroarvoja alekkain ja niiden vieressä on tekstiä. Tämä teksti pitäis saada poimittua numeroarvon perusteella.
esim.
293 jotain tekstiä
344 jotain muuta
354 vielä jotain
. .
. .
. .
Olen saanut kyllä poimittua numeroarvoa vastaavan solun osoitteen alla olevalla koodilla, mutta mitä pitää lisätä, että se osaa hakea viereisen solun tekstin.
With Worksheets(1).Range("g4:h147")
Set c = .Find(solun_numeroarvo, LookIn:=xlValues)
If Not c Is Nothing Then
numerosolun_osoite = c.Address
End If
End With
excel taulussa on listattuna numeroarvoja alekkain ja niiden vieressä on tekstiä. Tämä teksti pitäis saada poimittua numeroarvon perusteella.
esim.
293 jotain tekstiä
344 jotain muuta
354 vielä jotain
. .
. .
. .
Olen saanut kyllä poimittua numeroarvoa vastaavan solun osoitteen alla olevalla koodilla, mutta mitä pitää lisätä, että se osaa hakea viereisen solun tekstin.
With Worksheets(1).Range("g4:h147")
Set c = .Find(solun_numeroarvo, LookIn:=xlValues)
If Not c Is Nothing Then
numerosolun_osoite = c.Address
End If
End With
Vastaukset 4
Vanhimmat
Sub Makro1()
Cells.Find(InputBox("anna luku"), [H4], xlValues, , xlByColumns).Activate
MsgBox (ActiveCell.Offset(0, 1))
End Sub
Kiitos!
Mitä tarkoittaa tuo [H4]?
[H4] tai yleensäkin solun osoite hakasoluissa on Application objektin Evaluate metodin lyhennetty muoto. Vastaa siis Range metodin normaalia soluviittausta, mutta on lyhyempi.Sopiva käytettäessä absoluuttisia soluviittauksia.
[H4] on siis sama kuin Range("H4").
Ainoa haittapuoli sen käytössä on se ,ettei se voi käsitellä muuttujia syötttö argumentteinä merkkijono tai objekti viittauksina.
siis esim.
Sub koe()
Dim x As String
x = ActiveCell.Address
[x] = 100
End Sub
ei toimi mutta seuraava toimii
Sub koe()
Dim x As String
x = ActiveCell.Address
Range(x) = 100
End Sub