Haluan valita aktiiviselta sheetiltä solun A1.
Käsky
Cells(1,1).select
antaa virheilmoituksen "Select method of Range class failed". Mikä tässä voisi olla vikana?
VBA ongelma
6
313
Vastaukset
- VBAntero
Edellinen käsky makrossa aktivoi halutun sheetin, ja siihen asti kaikki toimii hienosti, eli kyseinen sheet aktivoituu. Mutta sitten tuon Cells(1,1).Select -käskyn kohdalla saan virheilmoituksen. Sama juttu jos koitan laittaa tilalle Range("A1").Select -käskyn. Oikeinkirjoitus on tarkistettu moneen kertaan. Manuaalisesti solun A1 valitseminen kyllä onnistuu ihan normaalisti, jos kuittaan VBA-virheilmoituksen end-painikkeella.
viittaisi siihen, että taulukko ei ole aktiivinen
tai taulukko on suojattu
tai solu lukittu.
Voisiko olla yhdistetty solu?
välttämättä koodissa ei tartte valita eikä aktivoida mitään jos tehdään esi. laskutoimituksia yms. soluille tai solualueelle
Mikä on edellinen koodi makrossa , joka aktivoi taulukon.?
Toimiiko ko. makro jossain toisessa työkirjassa - avaa uusi työkirja ja kokeile koodia.
Kyllä toi koodisi pitäisi toimia...
kokeile seuraavia variaatioita
Sheets("Sheet1"). Activate
Range("A1").Select
tai
Sheets("Sheet1"). Activate
Sheets("Sheet1").Range("A1").Select
tai
Application.GoTo Sheets("Sheet1").Range("A1")
toimiiko noilla?- ...
kunde kirjoitti:
viittaisi siihen, että taulukko ei ole aktiivinen
tai taulukko on suojattu
tai solu lukittu.
Voisiko olla yhdistetty solu?
välttämättä koodissa ei tartte valita eikä aktivoida mitään jos tehdään esi. laskutoimituksia yms. soluille tai solualueelle
Mikä on edellinen koodi makrossa , joka aktivoi taulukon.?
Toimiiko ko. makro jossain toisessa työkirjassa - avaa uusi työkirja ja kokeile koodia.
Kyllä toi koodisi pitäisi toimia...
kokeile seuraavia variaatioita
Sheets("Sheet1"). Activate
Range("A1").Select
tai
Sheets("Sheet1"). Activate
Sheets("Sheet1").Range("A1").Select
tai
Application.GoTo Sheets("Sheet1").Range("A1")
toimiiko noilla?Tuo Application.GoTo Sheets("Sheet1").Range("A1") toimi.
Miksi .select ei tässä yhteydessä toimi, sitä en kyllä vieläkään ymmärrä. Taulukko oli aktiivinen, ei suojattu, ei lukittu, ja kyseessä ei ollut yhdistetty solu. Mutta samapa tuo.
Solun valintaa käytin siksi, että saisin siihen liitettyä siihen toisesta workbookista kopioidun rivin, enkä ole yleensä saanut pastea toimimaan muuten kuin valinnan kautta. Miten se onnistuisi? Ei ainakaan näin:
wb1.sheets(1).rows(1).copy
wb2.sheets(1).rows(1).paste
eikä näin:
wb1.sheets(1).rows(1).copy
wb2.sheets(1).cells(1,1).paste
normaalisti tekisin näin, tällä kertaa vaan ei toiminut:
wb1.sheets(1).rows(1).copy
wb2.sheets(1).activate
cells(1,1).select '(tähän tökkäsi)
application.paste ... kirjoitti:
Tuo Application.GoTo Sheets("Sheet1").Range("A1") toimi.
Miksi .select ei tässä yhteydessä toimi, sitä en kyllä vieläkään ymmärrä. Taulukko oli aktiivinen, ei suojattu, ei lukittu, ja kyseessä ei ollut yhdistetty solu. Mutta samapa tuo.
Solun valintaa käytin siksi, että saisin siihen liitettyä siihen toisesta workbookista kopioidun rivin, enkä ole yleensä saanut pastea toimimaan muuten kuin valinnan kautta. Miten se onnistuisi? Ei ainakaan näin:
wb1.sheets(1).rows(1).copy
wb2.sheets(1).rows(1).paste
eikä näin:
wb1.sheets(1).rows(1).copy
wb2.sheets(1).cells(1,1).paste
normaalisti tekisin näin, tällä kertaa vaan ei toiminut:
wb1.sheets(1).rows(1).copy
wb2.sheets(1).activate
cells(1,1).select '(tähän tökkäsi)
application.pasteSub KopioiToisestaToiseen()
Workbooks("Koe1").Worksheets("Sheet1").Range("A1").Copy Workbooks("Koe2").Worksheets("Sheet1").Range("A1")
End Sub
Keep Excelling ;-)
@Kunde- ...
kunde kirjoitti:
Sub KopioiToisestaToiseen()
Workbooks("Koe1").Worksheets("Sheet1").Range("A1").Copy Workbooks("Koe2").Worksheets("Sheet1").Range("A1")
End Sub
Keep Excelling ;-)
@KundeEikö tuosta puutu jotain, eihän Workbooks("Koe2").Worksheets("Sheet1").Range("A1") kai yksinään mitään tee..? Ja tuo kopioi vain yhden solun, se kyllä onnistuu yleensä pelkällä paste-komennolla, mutta rivin tai muun usean solun alueen liittämistä en ole saanut toimimaan muuta kuin valitsemalla ensin yhden solun (ja sitten paste erikseen).
Anyhow, nyt törmäsin sitten toiseen ongelmaan. Koodi
wb1.Sheets("testi").Activate
testVar = Cells(1, 1).Value
antaa testVar -muuttujan arvoksi työkirjan wb1 ensimmäisen sheetin (joka ei suinkaan ole "testi") solun A1 arvon, eikä "test"-sheetin solun A1 arvoa. Vaikka ensimmäisen käskyn jälkeen tuo "testi" onkin aktiivisena. Tämä varmaan liittyy tuohon edelliseen ongelmaan, koska sama sheet on kyseessä. Ei ymmärrä... ... kirjoitti:
Eikö tuosta puutu jotain, eihän Workbooks("Koe2").Worksheets("Sheet1").Range("A1") kai yksinään mitään tee..? Ja tuo kopioi vain yhden solun, se kyllä onnistuu yleensä pelkällä paste-komennolla, mutta rivin tai muun usean solun alueen liittämistä en ole saanut toimimaan muuta kuin valitsemalla ensin yhden solun (ja sitten paste erikseen).
Anyhow, nyt törmäsin sitten toiseen ongelmaan. Koodi
wb1.Sheets("testi").Activate
testVar = Cells(1, 1).Value
antaa testVar -muuttujan arvoksi työkirjan wb1 ensimmäisen sheetin (joka ei suinkaan ole "testi") solun A1 arvon, eikä "test"-sheetin solun A1 arvoa. Vaikka ensimmäisen käskyn jälkeen tuo "testi" onkin aktiivisena. Tämä varmaan liittyy tuohon edelliseen ongelmaan, koska sama sheet on kyseessä. Ei ymmärrä...luulin, että osaat soveltaa...
koodi pitää olla samalla rivillä, nyt heittää se n tässä 2 riville...
Sub KopioiToisestaToiseen()
Workbooks("Koe1").Worksheets("Sheet1").Range("A1").EntireRow.Copy Workbooks("Koe2").Worksheets("Sheet1").Range("A1")
End Sub
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Useita puukotettu Tampereella
Mikäs homma tämä nyt taas on? "Useaa henkilöä on puukotettu Tampereen keskustassa kauppakeskus Ratinan lähistöllä." ht2394613Kuka rääkkää eläimiä Puolangalla?
Poliisi ampui toistakymmentä nälkiintynyttä eläintä Puolangalla Tilalta oli ollut karkuteillä lähes viisikymmentä nälkii763055- 472463
Meneeköhän sulla
oikeasti pinnan alla yhtä huonosti kuin mulla? Tai yhtä huonosti mutta jollain eri tyylillä? Ei olisi pitänyt jättää sua451767- 281703
- 791451
Lähetä terveisesi kaipaamallesi henkilölle
Vauva-palstalta tuttua kaipaamista uudessa ympäristössä. Kaipuu jatkukoon 💘851285PS uusimman gallupin rakettimainen nousija
https://yle.fi/a/74-20170641 Aivan ylivoimaisesti suurin kannatuksen nousu PS:lle. Nousu on alkanut ja jatkuu 2 vuoden143965- 69948
Sellainen tunne sydämessä
Että nainen olet kaivannut minua. Tai sanonko että oikeastaan koet sitä samaa nostalgiaa, kaipuuta ja mukavia muistoja,86894