Noe
New member
Se fosse a ti mudava o nome da sheet no VBA, para por exemplo ws_nomedasheetSe bem percebi o que queres, altera essas três linhas de código para:
depois usa ws_nomedasheet.range("b1").value = "blablabla"
ou entao se utilizares varias vezes um range (mau porque a leitura / escrita para ranges e MUITO lenta),
dim rng_omeurange as range: set rng_omeurange = ws_nomedasheet.range("b1").
dpois e so fazer rng_omeurange.value = "blabla"
Se comecares a fazer coisas mais complicadas, da muito jeito e acaba por eliminar possibilidades de erros. O que eu faco e por exemplo dou um nome a cada coluna (na folha de excel). Depois podes referir-te a ela como range("nomedacoluna")
depois para escrever no row X dessa coluna basta referir-te a ele como rng_omeurange(x) (que e um atalho para rng_omeurange.item(x))
DESACONSELHO fortemente o uso de cells() ou range sem estar ligado a uma worksheet (ou ate workbook se forem operacoes com varios ficheiros) pois pode dar cagada da seria com a minima modificacao da spreadsheet, ou mesmo sem modificacao, mas ao correr da sheet errada.