Meu caros! Tenho um desafio a ser cumprido. Eu já tinha essa macro feita, porém era bem extensa e cheias de copy paste porém a perdi em um backup mal feito. Gostaria da ajuda dos senhores para tentar resolver o meu problema.
Em um documento tenho 3 planilhas, Menu, Agenda_Semanal e Dados
Eu preciso preencher a planilha a partir das informações da planilha dados na planilha agenda semanal por empreiteiro. A listagem de empreiteiros está a partir da celúla B3 da planilha Menu. Estas mesmas empreiteiras se encontra em ordem aleatória na coluna K da planilha dados. Além disso, eu preciso somente das atividades que não estão em negrito na planilha Dados para que sejam inseridas nas coluna B a partir da linha 10 da agenda semanal.
Espero que tenha sido claro e conto com a ajuda dos senhores. Eu tenho pronto até aqui, está errado uma parte.
Ah... a parte de salvar a planilha está correto já.
Sub Gerar_Relatorios()
'Coleta nomes de sites
Sheets("Menu").Select
colunaComDados = 2 'B
If Range("P13") = "" Then
MsgBox "FAVOR INSERIR A DATA DE INÍCIO DOS RELATÓRIOS"
GoTo 2
End If
If Range("r13") = "" Then
MsgBox "FAVOR INSERIR A DATA DE FIM DOS RELATÓRIOS"
GoTo 2
End If
StrIni = Range("T13").Value
StrFim = Range("V13").Value
StrDatarelatorio = Range("S15").Value
linhaINI = 13
linha = linhaINI
Do Until Cells(linha, colunaComDados) = ""
linha = linha + 1
Loop
ReDim sites(linha - linhaINI, 1 To 2) 'Alterado 20071214
For itemSel = 1 To UBound(sites)
sites(itemSel, 1) = Cells(itemSel + linhaINI - 1, colunaComDados) 'linhas da coluna B 'Alterado 20071214
sites(itemSel, 2) = CStr(Cells(itemSel + linhaINI - 1, 4)) 'linhas da coluna D - fase de expansao 'Alterado 20071214
Next itemSel
numSitesSelec = UBound(sites)
str_Path_Relat = Range("I9")
If (str_Path_Relat = "") Then
MsgBox "Arquivos faltando. Favor preencher todos os campos"
Exit Sub
End If
str_WinMacro = ActiveWorkbook.Name
'Linha de Status Bar:-----------------------
str_StatusINI = Application.StatusBar
Application.ScreenUpdating = False
For itemSel = 1 To numSitesSelec
'Abre o modelo e gera relatórios dados
'Preencher os dados
empID = sites(itemSel, 1) 'Determina qual é a empresa que irá ser analisado o relatório
'Inserindo dados do Cabeçalho do Relatório
Sheets("AGENDA_SEMANAL").Select
Range("b3") = empID
Range("F4") = StrIni
Range("F5") = StrFim
Range("L5") = StrDatarelatorio
'Seleciona a planilha que serão localizados os dados
Sheets("DADOS").Select
Final = Cells(65536, 1).End(xlUp).Row
For i = 6 To Final
If Cells(i, 1).Font.Bold = True Then
GoTo 1
End If
If Cells(i, 11) <> empID Then
GoTo 1
End If
SrtTarefa = Cells(i, 2).Value
SrtPavimento = Cells(i, 3).Value
SrtInicio = Cells(i, 3).Value
SrtFinal = Cells(i, 3).Value
Sheets("AGENDA_SEMANAL").Select
linhafinal = Cells(157, 2).End(xlUp).Row + 1
Range("b" & j) = StrTarefa
Range("F" & j) = StrPavimento
Range("N" & j) = SrtInicio
Range("O" & j) = SrtFinal
'Next j
1
Next i
'str_Arq_modelo = ActiveWorkbook.Name
Sheets("AGENDA_SEMANAL").Select
Sheets("AGENDA_SEMANAL").Copy
ActiveWorkbook.SaveAs str_Path_Relat & " " & empID & ".xls"
relatWinTitle = ActiveWorkbook.Name
Next itemSel
'Linha de Status Bar:----------------------------------
Application.StatusBar = str_StatusINI
Application.ScreenUpdating = True
'Fecha o arquivo de dados
' Workbooks(str_Arq_Dados).Close SaveChanges:=False
2
End Sub
Postado : 28/11/2013 6:32 am