Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
Por DanielCostta97
#23960
Boa noite,

Tenho uma pasta de trabalho com 32 planilhas sendo que 31 são dos respectivos dias do mês e uma com o resultado consolidado, cada planilha possui 13 abas, ou seja uma planilhas com 13 sub-planilhas, "aba" , eu gostaria de implementar uma estrutura de repetição que abriria planilha por planilha depois iri na "aba2" da mesma e extraíste as informações da cell 9, depois fecharia a planilha e partiria para a outra implementado o mesmo procedimento, sendo que colará na última célula para que as informações fiquem alinhadas uma em baixo da outra, no final depois de ter aberto as 31 planilhas de dias extraído as informações da "aba2" cell 13 colado na planilha consolidado mês na "aba2" cell 13 , o código implementasse uma MsgBox com Transferência realizada com Sucesso !

Se possível estou estudando meios para implementar este código na minha planilha mas não consigo achar uma estrutura de repetição, loop ?

Desde já agradeço !
Por osvaldomp
#23963
Se os nomes dos arquivos seguem um modelo do tipo "MeuArq1", "meuArq2", "MeuArq3", ... é possível colocar o nome do arquivo no próprio código e criar um Loop incrementando o número que está no final do nome.
Algo assim:
Código: Selecionar todos
For i = 1 To 31
 nomeArq = "MeuArq" & i
 'código para abrir o arquivo
Next i
Mas se os nomes não seguem um modelo que possa ser tratado dessa forma, os nomes completos dos arquivos deverão ser escritos ou no código, em forma de matriz, ou em um intervalo da planilha.

Sugiro que você grave uma macro com a operação desejada para um dos arquivos e depois coloque o código aqui para ajustes.

Por meio de fórmulas também é possível obter dados de outros arquivos.
Por DanielCostta97
#23967
Olá,

Meu amigo eu implementei o seguinte código mas estou tendo um probleminha com erro

Sub Atualizar_2()

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False

For i = 1 To 31

[T.IACUMULADO = T.i 1 & i] & "O erro está aqui !"

caminho = Sheets("ACOMP").Range("n4").Value
ControleTI = Sheets("ACOMP").Range("n3").Value

Workbooks.Open Filename:= _
caminho & "/T.I 1.xlsm"

Range("I2:I2598").Select
Selection.Copy
Windows(ControleTI & ".xlsm").Activate
Sheets("ACOMP").Select
Range("i2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, skipBlanks _
:=False, Transpose:=False

Windows("T.I 1.xlsm").Activate
ActiveWindow.Close

Next i

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False

MsgBox "Transferência realizada com Sucesso!", vbOKOnly, "Transferência"

End Sub
Por osvaldomp
#23971
DanielCostta97 escreveu:
[T.IACUMULADO = T.i 1 & i] & "O erro está aqui !"
Explique cada termo dessa expressão, o que significa/qual a sua finalidade.
T, IACUMULADO, T.i, , o ponto após o T


ControleTI = Sheets("ACOMP").Range("n3").Value
Explique o que é "ControleTI "

dica:
Application.DisplayAlerts = False
Application.EnableEvents = False
Os comandos acima me parece que são desnecessários. Notadamente evite o uso do segundo nesse seu código.

sugestão - Crie o hábito de sempre declarar as variáveis.

Por osvaldomp
#23991
Código: Selecionar todos
Sub Teste1()
 Dim nomeArq As String, i As Long, caminho As String
  caminho = Sheets("ACOMP").Range("N4").Value
   For i = 1 To 31
    nomeArq = "T.I" & i
    Workbooks.Open Filename:=caminho & nomeArq & ".xlsm"
   Next i
End Sub
Código: Selecionar todos
Sub Teste2()
 Dim i As Long, caminho As String
  caminho = Sheets("ACOMP").Range("N4").Value
   For i = 1 To 31
    Workbooks.Open Filename:=caminho & "T.I" & i & ".xlsm"
   Next i
End Sub
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord