Ir ao conteúdo

Basole

Membro Pleno
  • Posts

    2.009
  • Cadastrado em

Tudo que Basole postou

  1. Bom se tratando de relatório, o Excel é a melhor opção para o tratamento e análise de dados, que eu conheço. E independente do formato, em PDF, TXT, CSV, etc, dependendo dá formatação pode ser importado pelo Excel, separado por colunas.
  2. Isso que voce quer fazer colega, atraves do ip, não é consistente, pois o ip é variavel. Minha sugestão é, fazer uma função que obtenha o numero serial do volume do PC, e atraves desse numero voce cria uma chave, para liberar somente nesta maquina. .
  3. Acho que você não precisa criar um software para fazer isso, pelo que entendi o que quer, o próprio Excel, por exemplo, já tem o recurso de macros que pode automatizar está tarefa. Pesquise sobre Excel e VBA, vai encontrar bastante material para iniciar os estudos. Veja este link tem uma apostila para iniciantes: Apostila para download. Se precisar de ajuda de imediato, envie mais detalhes do que está querendo fazer, para que o pessoal possa lhe ajudar.
  4. A resposta é sim pode também automatizar este processo. Através de uma macro varrendo toda as lista de servidores e imprimindo ou salvando em pdf o livro de ponto de cada servidor.
  5. Sim. Mas a minha sugestão é usar a formatação condicional para destacar (colorir) as linhas dos sabados e dos domingos do respect. mês,utilizando a formula: OU(DIA.DA.SEMANA($A14&$Q$8&$R$8;2)=6;DIA.DA.SEMANA($A14&$Q$8&$R$8;2)=7) E para formatação condicional para os feriados utilizei a esta udf (funcao definida pelo usuario) -> Mostrar feriados Ficando assim: =VerificaSeFeriado(VALOR(TEXTO($A14;"dd")&TEXTO($Q$8;"mm")& TEXTO($R$8;"aaaa"))) LIVRO PONTO MJ - ADMINISTRATIVO.zip
  6. Segue exemplo que faz você precisa: Sub BordasACada2Linhas() Dim LR As Long Dim i As Long LR = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row For i = 2 To LR + 1 Step 2 With ActiveSheet.Range("A" & i, "L" & i) .Borders(xlEdgeBottom).Weight = xlThin End With Next i End Sub
  7. Vendo seus codigos eu não entendi, qual as condiçoes a ser atendida
  8. Pelo que entendi, após os "seus" preenchimentos, voce imprime a folha no inicio do mes, por exemplo e o servidor preenche manualmente os horarios e no final do dia ele assina. Ou seja o maior problema maior, é o preencimento de cada folha para cada servidor e imprimir uma a uma. Veja se esta sugestão lhe atende, no campo Nome do servidor eu coloquei uma lista de validação de dados que busca os nomes na aba ADMINISTRATIVO, basta voce selecionar um nome e os demais dados se alteram. E a formula procv, para procurar dados dos campos Função, Cargo, Area/Setor e Carga Horaria. Abaixo o resultado, apos selecao do servidor: LIVRO PONTO MJ - ADMINISTRATIVO.xlsx
  9. Não entendi, a forma como voce utiliza esta folha de ponto, o proprio servidor digita os horarios de entrada e saida, nas respectivas celulas, ou voce imprime a folha para o servidor preencher manualmente?
  10. Tem outras formas de fazer isso dinamicamente, mas como voce disse que esta iniciando no vba, é aconselhavel fazer desta forma: And Not sheet.Name = E.Name ou utilizando <> (diferente) And sheet.Name <> E.Name
  11. Não tem como chamar a funcao Bloquear por exemplo, atraves da forma e da formula, que esta fazendo. Veja no exemplo do post do @Patropi ele usou o evento da planilha chamado Worksheet_Change, que age conforme alguma celula é alterada na respect aba. Outro detalhe as funções que serão usadas em todas as abas, devem ficar em um modulo padrão e não no modulo de EstaPasta_de_trabalho, como voce colocou. Veja as alteraçoes no anexo. exemplo chamar macro_1.zip
  12. Bom vamos la, 1º voce já mudou o enunciado do seu primeiro post, era a partir da plan3 e agora a exceção para 4 abas, ou seja, já esta diferente do que voce colocou. 2º É sempre aconselhável enviar um exemplo com alguns dados do que imagens do arquivo, para que possamos entender e analisar melhor. 3º Analisando através das imagens, chego a conclusão que voce não declarou as variáveis A,B,C,D e ainda referenciou-as erradamente na condição. Vamos as alterações.... Dim A As Worksheet Dim B As Worksheet Dim C As Worksheet Dim D As Worksheet Set A = Plan2 Set B = Plan6 Set C = Plan7 Set D = Plan229 For Each sheet In ThisWorkbook.Worksheets ' Exceções para respect. abas: If Not sheet.Name = A.Name And Not sheet.Name = B.Name And _ Not sheet.Name = C.Name And Not sheet.Name = D.Name Then 'cria uma nova pasta de trabalho: Set newBook = Application.Workbooks.Add 'copia a planilha sheet.Copy Before:=newBook.Sheets(1) 'remove as outras For i = 2 To newBook.Worksheets.Count newBook.Worksheets(2).Delete Next i 'salva o arquivo newBook.SaveAs Replace(ThisWorkbook.FullName, ThisWorkbook.Name, vbNullString) & sheet.Name & ".xlsx" newBook.Close End If Next sheet
  13. Veja se essas alterações lhe ajuda... Sub Macro4() ' Macro4 Macro Dim wb As Workbook, strPathFile As String strPathFile = "C:\Users\brspgma\Desktop\New folder\teste.xlsx" Range("A4:H4").Select Selection.Copy Set wb = Excel.Application.Workbooks.Open(strPathFile) Windows("teste.xlsx").Activate Range("A4").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Rows("4:4").Select Excel.Application.CutCopyMode = False Excel.Application.CutCopyMode = False Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrBelow Range("A4").Select If Not wb Is Nothing Then wb.Close SaveChanges:=True End If Excel.ThisWorkbook.Activate Range("A4").Select End Sub
  14. Coloque uma condição, antes da linha que cria uma nova pasta de trabalho: Ex.: If Not sheet.Name = Sheets(" * nome da sua Plan1").Name And Not sheet.Name = Sheets(" * nome da sua Plan2").Name Then
  15. No excel voce tem varios caminhos pra chegar o mesmo destino. Outra coisa, evite usar o select, pois dependendo do tamanho da sua macro pode deixa-la lenta.
  16. Referencie a coluna A juntamente com a linha selecionada ActiveCell.Row Ex.: ActiveSheet.Range("A" & ActiveCell.row).Activate ou ActiveSheet.Cells(ActiveCell.row, 1).Activate
  17. Neste topico eu fiz um exemplo de planilha com código de barras, basta adaptar e alterar os dados e colocar os dados do paciente. Baixe o exemplo no link indicado:
  18. Ao alterar uma celula no intervalo C6:N9 na aba Geral, A macro verifica se estão vazias e oculta se verdadeiro, as linhas do intervalo A11:L14, das abas que voce citou. Veja se é isso... FOR-21 - Planejamento anual dos requisitos do SGQ por unidade Rev04 Dez16 Corrigindo.zip
  19. O que seria "módulo da pasta pessoal" ?
  20. O ideal seria voce postar um exemplo com alguns dados, de qualquer forma veja se com essa alteração resolve o seu problema. Sub Consolidar() Dim ws As Worksheet Dim LRo As Long Dim LRd As Long LRo = Sheets("Consolidado").Cells(Rows.Count, 1).End(xlUp).Row Sheets("Consolidado").Range("A2:E" & LRo).ClearContents For Each ws In ThisWorkbook.Worksheets If ws.Name <> "Consolidado" Then LRo = ws.Cells(Rows.Count, 1).End(xlUp).Row LRo = VBA.IIf(LRo <= 1, 2, LRo) With Sheets("Consolidado") LRd = .Cells(Rows.Count, 1).End(xlUp).Row .Cells(LRd + 1, 1).Resize(LRo - 1, 5).Value = ws.Range("A2:E" & LRo).Value End With End If Next ws End Sub
  21. Dê uma olhada, este programa permite com apenas um PC ate 6 usuarios ao mesmo tempo: http://www.ibik.ru/
  22. Declare a variavel: Public endServer As String, em um modulo padrão. E use o evento initialize do userform: Ex.: Private Sub UserForm_Initialize() endServer = ("\\tev-arq1\Seguranca_Trabalho\Manuais_APR_NR-12") End Sub
  23. voce tem que concatenar sua variavel com o caminho do arquivo: Private Sub bProcurar_Click() Dim procurar As Workbook Dim nProcurado As Integer nProcurado = Me.fCracha.Text Set procurar = Workbook.Open("\\tev-arq1\Seguranca_Trabalho\Manuais_APR_NR-12\ControleHoras\ControleDeHorasGeral\MesCorrente\" & nProcurado & ".xlsx") End Sub
  24. Não estou entendendo o que quer disser com "os dados sejam salvos em segundo plano enquanto utilizo o computador para outras tarefas"

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!