Moro
tietääkö kukaan miten Vba:ssa voi lukea muutujan arvoja muistiin?
Eli mitä tarkoitan:
Toisessa excel taulukossa on esim souluissa A1-a10 vaikkapa kolmen kirjaimen yhdistelmiä.
Haluasin lukea nämä kolmen kirjaimen yhdistelmät muistiin ja sitten purkaa näiden solujen arvot toisessa taulukossa. liekö tämmöinen mahdollista vba:lla.
voinhan tietysti tehdä niin, että luen yhden solun arvon ja käyn sitten esim toiseessa excel työkirjassa kirjaamassa sen ja sama niin kauan kuin työ on tehty, mutta tuo toinen tapa olisi kätevämpi...
t kysyjä
tietääkö kukaan miten Vba:ssa voi lukea muutujan arvoja muistiin?
Eli mitä tarkoitan:
Toisessa excel taulukossa on esim souluissa A1-a10 vaikkapa kolmen kirjaimen yhdistelmiä.
Haluasin lukea nämä kolmen kirjaimen yhdistelmät muistiin ja sitten purkaa näiden solujen arvot toisessa taulukossa. liekö tämmöinen mahdollista vba:lla.
voinhan tietysti tehdä niin, että luen yhden solun arvon ja käyn sitten esim toiseessa excel työkirjassa kirjaamassa sen ja sama niin kauan kuin työ on tehty, mutta tuo toinen tapa olisi kätevämpi...
t kysyjä
Vastaukset 1
Vanhimmat
Tapoja tuon hoitoon on monta, poimi tarkoitukseen sopivin
1. Voit tehdä ihan normaalin makron, joka kopioi alueen leikepöydälle ja liittää sen toiseen paikkaan. Nauhoita vaikka niin onnistuu, esim:
Sheets("ekataulu").Select
Range("B3:B5").Select
Selection.Copy
Sheets("Tokataulu").Select
Range("B3:B5").Select
ActiveSheet.Paste
Application.CutCopyMode = False
2. Voit lukea tosiaan ne yksitelleen muuttujiin ja sijoittaa sitten muuttujasta haluamaasi paikkaan. tai käytä tuohon tarkoitukseen koodissa olevaa taulukkoa, toistolauseella ei pitäsi tulla kovin pitkäkään koodi, esim:
Sub luetiedot()
'
' esitellään muuttujat
Dim iEkasolu As Integer
Dim iTokasolu As Integer
Dim iKolasolu As Integer
'
' Luetaan tiedot taulukosta muuttujiin
Sheets("ekataulu").Select
iEkasolu = Range("B3").Value
iTokasolu = Range("B4").Value
iKolasolu = Range("B5").Value
'
' Kirjoitetaan tiedot muuttujista toiseen taulukkoon
Sheets("tokataulu").Select
Range("B3").Value = iEkasolu
Range("B4").Value = iTokasolu
Range("B5").Value = iKolasolu
End Sub
3. Voit antaa suoraan koodissakin viittauksen toisen taulukon soluun, esim:
Range("B3").Select
ActiveCell.FormulaR1C1 = "=ekataulu!RC"
Range("B3").Select
Selection.AutoFill Destination:=Range("B3:B5"), Type:=xlFillDefault
Range("B3:B5").Select
Range("C6").Select
Toivottavasti jelppasi...