Notifications
Clear all

Erro ao tentar selecionar a Range da Planilha

4 Posts
2 Usuários
0 Reactions
874 Visualizações
(@victorapda)
Posts: 27
Eminent Member
Topic starter
 

Olá amigos!

Estou criando uma macro para copiar uma determinada Range, e colá-la em outra planilha, porém está ocorrendo um erro que não consegui solucionar, se alguém puder me ajudar ficarei muito grato.

Private Sub CommandButton1_Click()
    
   Dim colunasDiasSemana(1 To 31) As Integer
   Dim pastasMeses(1 To 12) As String

    'Popula o vetor colunasDiasSemana
    colunasDiasSemana(1) = 4
    colunasDiasSemana(2) = 5
    colunasDiasSemana(3) = 6
    colunasDiasSemana(4) = 7
    colunasDiasSemana(5) = 8
    colunasDiasSemana(6) = 9
    colunasDiasSemana(7) = 10
    colunasDiasSemana(8) = 11
    colunasDiasSemana(9) = 12
    colunasDiasSemana(10) = 13
    colunasDiasSemana(11) = 14
    colunasDiasSemana(12) = 15
    colunasDiasSemana(13) = 16
    colunasDiasSemana(14) = 17
    colunasDiasSemana(15) = 18
    colunasDiasSemana(16) = 19
    colunasDiasSemana(17) = 20
    colunasDiasSemana(18) = 21
    colunasDiasSemana(19) = 22
    colunasDiasSemana(20) = 23
    colunasDiasSemana(21) = 24
    colunasDiasSemana(22) = 25
    colunasDiasSemana(23) = 26
    colunasDiasSemana(24) = 27
    colunasDiasSemana(25) = 28
    colunasDiasSemana(26) = 29
    colunasDiasSemana(27) = 30
    colunasDiasSemana(28) = 31
    colunasDiasSemana(29) = 32
    colunasDiasSemana(30) = 33
    colunasDiasSemana(31) = 34
    
    'Popula o vetor pastasMeses com o nome das pastas
    pastasMeses(1) = "01 JAN"
    pastasMeses(2) = "02 FEV"
    pastasMeses(3) = "03 MAR"
    pastasMeses(4) = "04 ABR"
    pastasMeses(5) = "05 MAI"
    pastasMeses(6) = "06 JUN"
    pastasMeses(7) = "07 JUL"
    pastasMeses(8) = "08 AGO"
    pastasMeses(9) = "09 SET"
    pastasMeses(10) = "10 OUT"
    pastasMeses(11) = "11 NOV"
    pastasMeses(12) = "12 DEZ"
    
    'pegar esse cara, subtrair por 7, e pegar o dia e mes dele
    dataHojeMenosSete = Date - 7
    
    
    caminho = "C:5 Relatório Diário" & Year(dataHojeMenosSete)
    
    If (Month(dataHojeMenosSete) <> Month(Date)) Then
        caminho = "C:5 Relatório Diário" & Year(dataHojeMenosSete) + "" + pastasMeses(Month(dataHojeMenosSete))
    End If

        
   Do While dataHojeMenosSete < Date
     
     'MONLEVADE
     sPath = caminho + "PRODUÇÃO TOTAL.xlsm"
     Workbooks.Open (sPath)
     Sheets("Monlevade").Select

     'AQUI ESTA O ERRO 
     Cells(7, colunasDiasSemana(Day(dataHojeMenosSete))).Select

     Selection.Copy
     
     dataHojeMenosSete = dataHojeMenosSete + 1
     
     Loop
     MsgBox dataHojeMenosSete
    
    
End Sub

Comentei o lugar do erro, eu preciso usar o Vetor que eu criei para pegar a coluna que eu quero, pois é mutável, porém já usei Cells, Range, e sempre acontece esse erro aqui

Desde já grato.

 
Postado : 12/05/2014 8:29 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Apenas com o trecho não é possível determinar/encontrar o erro.
Então vamos em suposições: o arquivo produção total existe no local determinado? nesse arquivo há a planilha "Monlevade".
Execute a rotina em depuração e acompanhe o passo a passo e verifique se executa conforme espera, ou disponibilize seus arquivos para uma analise mais detalhada.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 12/05/2014 9:06 am
(@victorapda)
Posts: 27
Eminent Member
Topic starter
 

Reinaldo, muito obrigado pela ajuda e disposição!

Estava tudo Ok sim, dei uma procurada no site da Microsoft e achei o seguinte comando:
ActiveSheet.Range("D7").Select

Troquei na minha macro e deu certinho, o porque eu não sei hehe

Muito obrigado ;)

 
Postado : 12/05/2014 11:24 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

victor, ok que tenha resolvido, mas se está se referindo a seguinte linha na sua rotina, pelo menos é a unica que está selecionando um Range :
Cells(7, colunasDiasSemana(Day(dataHojeMenosSete))).Select
trocar por :
ActiveSheet.Range("D7").Select
Poderá causar outros problemas mais a frente dependendo do que quer fazer, pois está trocando informações que veem de Variáveis por Range Fixo.
Só para constar.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 12/05/2014 11:39 am