Notifications
Clear all

CAIXA DE TEXTO - IMPRESSÃO

17 Posts
3 Usuários
0 Reactions
2,721 Visualizações
(@denilsonsl)
Posts: 84
Trusted Member
Topic starter
 

Fala galera.

Estou com um problema.

preciso de um código, preciso usar uma caixa de texto ou checkbox, que quando selecionado ao apertar um botão seja feito uma impressão de uma planilha referenciado.

explicando melhor, tenho um planilha que tem vários relatórios, mas tenho uma planilha principal, la contem 10 caixas de texto para cada relatorio, quando clicar em um botão, será impresso somente o relatorio selecionado pela caixa de texto....

Alguem pode me ajudar nisso.

 
Postado : 12/12/2015 4:04 pm
(@suggos)
Posts: 111
Estimable Member
 

Olá. Se você puder anexar a planilha, fica mais fácil responder.
Saudações.

Não se esqueça de marcar o tópico como resolvido se a resposta for satisfatória.

 
Postado : 12/12/2015 6:58 pm
(@denilsonsl)
Posts: 84
Trusted Member
Topic starter
 

Segue a planilha para elaboração do código para caixa de texto

 
Postado : 14/12/2015 5:22 am
(@denilsonsl)
Posts: 84
Trusted Member
Topic starter
 

Bom dia Galera, quem puder me ajudar nesse tópico acima, fico muito grato.

O código que fiz não esta dando certo, quem obter um resultado melhor, fico muito grato.

 
Postado : 15/12/2015 4:52 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Uma possibildade

Private Sub mArray()
Dim nPlan() As String, nP As Integer, x As Integer
x = 0
ReDim nPlan(x)
Sheets("REMESSA E COBRANÇA").Activate

For Each sh In ActiveSheet.Shapes
    If sh.Name Like "*Check*" Then
        sh.Select
        If Selection.Value = xlOn Then
        
        nP = Right(Selection.Text, 2)
            'MsgBox Selection.Text & "_/_" & nP
        nPlan(x) = "COBRANCA (" & nP & ")"
        x = x + 1
        ReDim Preserve nPlan(x)
        End If
    End If
Next

For x = 0 To UBound(nPlan) - 1
Sheets(nPlan(x)).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
Next
Sheets("REMESSA E COBRANÇA").Activate
Range("D5").Select
End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 15/12/2015 8:19 am
(@denilsonsl)
Posts: 84
Trusted Member
Topic starter
 

Nesse caso, se simplificarmos, se fosse so para imprimir a mesma planilha.

Explico melhor.

Exemplo: Tenha 10 maquinas, preciso entregar o mesmo relatório para as 10, mas com a caixa de texto esta referenciada as maquinas em questão, das 10 caixas de texto eu somente escolha 5 e faço o clique no botão imprimir e somente faça a impressão das 5 caixas selecionadas, isto é, ao selecionar as 5 caixas de texto imprima somente 5 vezes o mesmo relatório, será que fica mais viável? ou mais fácil?

 
Postado : 15/12/2015 9:41 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Confesso que não entendi. Mas para imprimir + copias altere Copies:=1 para a qtde que deseja
Algo +/- assim Talvez:

Private Sub Impr()
Dim nCopia As Integer
Sheets("REMESSA E COBRANÇA").Activate
nCopia = Cells(4, "J").Value
Sheets("COBRANCA (1)").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=nCopia, Collate:=True, IgnorePrintAreas:=False
Sheets("REMESSA E COBRANÇA").Activate
Range("J4").Select
End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 15/12/2015 11:31 am
(@denilsonsl)
Posts: 84
Trusted Member
Topic starter
 

Perfeito Reinaldo, isso mesmo que precisava, dei uma melhorada aqui.

Muito obrigado pela ajuda.

Fico grato

 
Postado : 15/12/2015 12:26 pm
(@denilsonsl)
Posts: 84
Trusted Member
Topic starter
 

A minha duvida referente a caixa de texto:

estou tentando usar esse formato de codido para uma caixa de texto dentro do arquivo:

Private Sub Impr()

Application.ScreenUpdating = False

Dim NCopia As Integer 'varivel para referencia de impressão
Dim Ordem As Integer

Plan1.Activate

NCopia = Cells(2, "P").Value
NCopia = Cells(2, "R").Value
NCopia = Cells(2, "S").Value
NCopia = Cells(2, "Q").Value
NCopia = Cells(2, "T").Value

Plan2.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=NCopia, Collate:=True, IgnorePrintAreas:=False
Plan3.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=NCopia, Collate:=True, IgnorePrintAreas:=False
Plan5.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=NCopia, Collate:=True, IgnorePrintAreas:=False
Plan6.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=NCopia, Collate:=True, IgnorePrintAreas:=False
Plan8.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=NCopia, Collate:=True, IgnorePrintAreas:=False

If cx_olimpia.Value = True Then

Ordem = Plan1.Select
Plan1.Select = Plan1.PrintOut

End If

Plan1.Activate

Range("P2").Select

Application.ScreenUpdating = True

End Sub

A minha dificuldade é:

Não estou conseguindo referenciar a caixa de texto na planilha junto desse codigo, alguem pode me ajudar.

Detalhe, esse é uma macro e não um userform

 
Postado : 15/12/2015 12:59 pm
(@denilsonsl)
Posts: 84
Trusted Member
Topic starter
 

Boa noite galera.

explicando o post anterior.

o código abaixo não esta dando certo porque:

tenho 5 caixas de texto e mais um botão de impressão, o problema que não consegui referenciar as caixas no código, isso é:
Ao selecionar duas caixas, quando ao clicar no botão imprimir, faz a impressão da mesma planilha na mesma quantidade de caixas selecionadas.
cada caixa tem um nome de uma maquina e refere-se a mesma planilha.

seria assim: caixa de texto maquina x = plan1
caixa de texto maquina y = plan1

Preciso da ajuda dos mestres para melhorar o codigo abaixo:

sub ordem ()

Dim caixa As Integer

If cx_olimpia.Value = True Then

caixadetexto1= Plan1.Select
Plan1.Select = Plan1.PrintOut

End If

End Sub

 
Postado : 15/12/2015 6:45 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

A minha duvida referente a caixa de texto:
estou tentando usar esse formato de codido para uma caixa de texto dentro do arquivo:

Private Sub Impr()
Application.ScreenUpdating = False

Dim NCopia As Integer 'varivel para referencia de impressão
Dim Ordem As Integer

Plan1.Activate

NCopia = Cells(2, "P").Value
NCopia = Cells(2, "R").Value
NCopia = Cells(2, "S").Value
NCopia = Cells(2, "Q").Value
NCopia = Cells(2, "T").Value

A minha dificuldade é:
Não estou conseguindo referenciar a caixa de texto na planilha junto desse codigo, alguem pode me ajudar.
Detalhe, esse é uma macro e não um userform

Denilson, no trecho onde está armazenando os valores na Variável "NCopia", quando rodar a rotina o Valor armazenado será somente referente a última "NCopia = Cells(2, "T").Value", pelo fato de os nomes das Variáveis serem todos iguais, para ter os valores separados de acordo com as celulas que indicou, teria de definir com nomes diferentes, "NCopia, NCopia1, NCopia2, NCopia3, NCopia4".
No modelo que postou não encontrei nenhum controle "TextBox" inserido na mesma, mas para capturar o Valor em um TextBox na planilha utilize a instrução :

NCopia =Worksheets("Plan1").TextBox1.Text

Só ajuste os nomes dos TextBox que inserir.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 16/12/2015 5:57 am
(@denilsonsl)
Posts: 84
Trusted Member
Topic starter
 

Se alguem conseguir resolver essa questão acima, fico muito grato...

 
Postado : 16/12/2015 9:58 am
(@denilsonsl)
Posts: 84
Trusted Member
Topic starter
 

o que tu me indicou a fazer não esta dando certo, veja abaixo como montei o codigo:

Private Sub Impr()

Application.ScreenUpdating = False

Dim NCopia1 As Integer 'varivel para referencia de impressão
Dim NCopia2 As Integer 'varivel para referencia de impressão
Dim NCopia3 As Integer 'varivel para referencia de impressão
Dim NCopia4 As Integer 'varivel para referencia de impressão
Dim NCopia5 As Integer 'varivel para referencia de impressão

Dim NCopia6 As Integer

Plan1.Activate

NCopia1 = Cells(2, "P").Value
NCopia2 = Cells(2, "R").Value
NCopia3 = Cells(2, "S").Value
NCopia4 = Cells(2, "Q").Value
NCopia5 = Cells(2, "T").Value
NCopia6 = Worksheets("Plan1").Caixa_de_seleção_26542.Text

Plan2.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=NCopia1, Collate:=True, IgnorePrintAreas:=False
Plan3.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=NCopia2, Collate:=True, IgnorePrintAreas:=False
Plan5.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=NCopia3, Collate:=True, IgnorePrintAreas:=False
Plan6.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=NCopia4, Collate:=True, IgnorePrintAreas:=False
Plan8.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=NCopia5, Collate:=True, IgnorePrintAreas:=False
Plan1.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=NCopia6, Collate:=True, IgnorePrintAreas:=False

Plan1.Activate

Range("P2").Select

Application.ScreenUpdating = True

End Sub

 
Postado : 16/12/2015 10:24 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Denilson, primeiro você deveria dizer o que não está dando certo, só pela frase : "o que tu me indicou a fazer não esta dando certo" fica dificil, então vou por suposição.

Se prestar atenção no que coloquei :
NCopia =Worksheets("Plan1").TextBox1.Text
Só ajuste os nomes dos TextBox que inserir.

e olhando em sua Rotina você colocou :
NCopia6 = Worksheets("Plan1").Caixa_de_seleção_26542.Text

Ou seja, "Caixa_de_seleção" não é um controle do Tipo TEXTBOX e sim CHECKBOX, e no post anterior você se referiu a Caixa de Texto, o qual entendi TextBox, por isso questionei que não encontrei nenhum textbox em seu modelo conforme disse :
tenho 5 caixas de texto
A minha dificuldade é:
Não estou conseguindo referenciar a caixa de texto na planilha junto desse codigo

Então detalhe melhor e use os nomes corretos dos controles antes de ficar cobrando uma solução "Se alguem conseguir resolver essa questão acima, fico muito grato..", como se não tivesse ninguem tentando ajudar.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 16/12/2015 10:58 am
(@denilsonsl)
Posts: 84
Trusted Member
Topic starter
 

Ok Mauro Coutinho.

Obrigado pela força...

Sem mais.

 
Postado : 16/12/2015 11:13 am
Página 1 / 2