Página 1 de 1

Contador alimentado a cada impressão

Enviado: 29 Nov 2018 às 16:16
por DouglasCalsavara
Boa tarde!
Estou com um grande problema no trabalho e se alguém puder me ajudar.
Temos uma planilha no Excel e preciso manter um contador em uma célula, apos impressão, preciso que esse valor seja aumentado e que a célula não permita edição a não ser pela macro.
O exemplo abaixo funciona em partes. Consigo imprimir e contar +1, porem, a impressão é feita de acordo com valores solicitados ao usuário. Preciso que esse numero não seja solicitado.
O documento tem que imprimir aumentar o contador sem possibilidade do usuário imprimir outro documento com o mesmo numero.
código da macro que estou usando:

Sub JI()
'desprotege a planilha ativa
ActiveSheet.Unprotect Password:="Senha"
num_ini = InputBox("Valor inicial: ")
num_fin = InputBox("Valor final: ")

For Count = num_ini To num_fin Step 1
With ActiveSheet.Shapes("a_caixa").TextFrame
.Characters.Text = CStr(Count)
Range("AM7").Value = Now()
End With
ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
Next Count
'protege a planilha novamente
ActiveSheet.Protect Password:="Senha"
End Sub

Contador alimentado a cada impressão

Enviado: 29 Nov 2018 às 20:23
por mprudencio
Experimente este!

Sub JI()


Dim W As Worksheet
Dim Contador As Long

Set W = Sheets("Planilha1") 'Troque pelo nome da planilha a ser impressa
Contador = W.Range("A1").Value 'Troque pela celula onde deve ficar o numero do contador
With W
'desprotege a planilha
.Unprotect Password:="Senha"
.Shapes("a_caixa").TextFrame.Characters.Text = CStr(Contador)
.Range("AM7").Value = Now()
'Imprime a Planilha
.PrintOut
'Incrementa o Contador
Contador = Contador + 1
'Registra o novo numero do contador
.Range("A1").Value = Contador ' Nao esqueça de alterar aqui tb
'protege a planilha novamente
.Protect Password:="Senha"

End With


End Sub

Re: Contador alimentado a cada impressão

Enviado: 30 Nov 2018 às 12:37
por DouglasCalsavara
Perfeito mprudencio :shock: , muuito obrigado, vou reduzir demais o custo inventários aqui, exatamente o que precisava :) ...

Agora um Bonus, consigo salvar essa impressão em pdf em um caminho especifico?
tipo, clico pra imprimir, o excel pede um nome para salvar o arquivo, ai já deixa um local especifico e salva o arquivo com o nome informado?
Sabe de algum material para que eu possa estudar sobre isso?


Valew demais amigo :D !

Re: Contador alimentado a cada impressão

Enviado: 30 Nov 2018 às 14:09
por DouglasCalsavara
Consegui fazer aqui meu amigo!
Obrigado pelo pontapé ;)
Mas se quiser indicar material ainda aceito :D

Veja como ficou:

Sub JI()
Dim W As Worksheet
Dim Contador As Long
Dim CaminhoDoArquivo As String
Dim NomeDoArquivo As Long


Set W = Sheets("Novo Formulario") 'Troque pelo nome da planilha a ser impressa
Contador = W.Range("An2").Value 'Troque pela celula onde deve ficar o numero do contador
CaminhoDoArquivo = "\\Deposito 19\teste FERRO LIGAS\Relatorio salvando o PDF no G\"

With W
'solicita o caminho a ser salvo
NomeDoArquivo = Contador
'Salva o pdf
ThisWorkbook.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=CaminhoDoArquivo & NomeDoArquivo, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
'desprotege a planilha
.Unprotect Password:="Senha"
.Range("AM7").Value = Now()
'Imprime a Planilha
.PrintOut
'Incrementa o Contador
Contador = Contador + 1
'Registra o novo numero do contador
.Range("An2").Value = Contador ' Nao esqueça de alterar aqui tb
'protege a planilha novamente
.Protect Password:="Senha"

End With

End Sub