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.
#38876
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
Por mprudencio
Posts
#38885
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
#38917
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 !
#38923
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
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