Helou,
kyselin täällä aiemmin hyperlinkin koodaamisesta ja sain sen toimimaan. Tämä dynaaminen muuttuja tuottaa kuitenkin edelleen vaikeuksia, ja nyt pitäisi saada sheetin 1 soluun tieto sheet 2:sta, joista jälkimmäinen on siis määritelty dynaamiseksi. Alla olevassa makrossa alin rivi tuottaa siis ongelmia, makro toimii kyllä mutta soluun A3 tulee teksti #REF!
Dim UusiAsiakas As String
UusiAsiakas = Worksheets("Add New Customer").Range("A1")
Sheets("Sheet 1").Select
Range("A3").Select
ActiveCell.FormulaR1C1 = "=UusiAsiakas!C9"
kyselin täällä aiemmin hyperlinkin koodaamisesta ja sain sen toimimaan. Tämä dynaaminen muuttuja tuottaa kuitenkin edelleen vaikeuksia, ja nyt pitäisi saada sheetin 1 soluun tieto sheet 2:sta, joista jälkimmäinen on siis määritelty dynaamiseksi. Alla olevassa makrossa alin rivi tuottaa siis ongelmia, makro toimii kyllä mutta soluun A3 tulee teksti #REF!
Dim UusiAsiakas As String
UusiAsiakas = Worksheets("Add New Customer").Range("A1")
Sheets("Sheet 1").Select
Range("A3").Select
ActiveCell.FormulaR1C1 = "=UusiAsiakas!C9"
Vastaukset 4
Vanhimmat
jolloin myös solun kaavakirjoitus on dynaaminen:
ActiveCell.Formula = "=" & UusiAsiakas & "!C9"
Suurkiitokset avusta!
Koodi alkaa olla muuten valmis mutta vielä kyselisin seuraavasta ongelmasta: dynaaminen muuttuja toimii vain silloin, kun UusiAsiakas sisältää vain yhden sanan. Jos asiakkaan nimessä on enemmän kuin kaksi sanaa, muuttuja ei toimi. Tämä johtaa mm. siihen, että hyperlinkki kyllä muodostuu mutta viittaa seuraavaan (=Uusi asiakas!A1) kun pitäisi olla (='Uusi asiakas'!A1). Jos muuttujana on vain yksi sana, silloinhan hipsuongelmaa ei ole.
Muuttuja on määritelty seuraavasti:
Dim UusiAsiakas As String
UusiAsiakas = Sheets("Add New Customer").Range("A1")
Pitäisikö esim. String tai Range -kohdissa olla jotain muuta?
lisäät kaavakirjoitukseen hipsut mukaan eli näin:
ActiveCell.Formula = "='" & UusiAsiakas & "'!C9"
.. ja kumarran!
Koodi toimii ja valmis. Kesätyöt tehty :)