Ir ao conteúdo
  • Cadastre-se

Excel Executar função com CheckBox VBA


Posts recomendados

Tenho que imprimir umas planilhas e como são várias planilhas pensei em usar CheckBox para selecionar pelas CheckBox quais planilhas desejo imprimir, porém sou bem leigo em VBA.

Eu fiz um código para fazer essas impressões mas ele faz a impressão de todas as planilhas, o código está grande pois eu precisava de colunas específicas para imprimir e foi a maneira que achei para executar essa função.

Nesse código abaixo tem 3 planilhas para imprimir, mas acontece o que foi dito, ele imprime as 3 abas mesmo não selecionando nenhuma CheckBox

Private Sub imprimirtth_Click()
        
        If AUSTENIT.Value = True Then 'Valor que teóricamente iria executar o código abaixo caso a CheckBox estivesse selecionada'
        
            Sheets("FORNO TT - 161009").Select
        
            For coluna = 15 To 67
            Columns(coluna).Hidden = True
            Next
        
        If TextBox1.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next
     
        
        ElseIf TextBox1.Text > 13 & TextBox1.Text < 53 Then
            
            For coluna = TextBox1.Text + 1 To TextBox1.Text + 1
            Columns(coluna).Hidden = False
            Next
        
        End If
        
        If TextBox2.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next
     
        
        ElseIf TextBox2.Text > 13 & TextBox2.Text < 53 Then
        
            For coluna = TextBox2.Text + 1 To TextBox2.Text + 1
            Columns(coluna).Hidden = False
            Next
        
        End If
        
        If TextBox3.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next
        
        
        ElseIf TextBox3.Text > 13 & TextBox3.Text < 53 Then
        
            For coluna = TextBox3.Text + 1 To TextBox3.Text + 1
            Columns(coluna).Hidden = False
            Next
        
        End If
        
        If TextBox4.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next
     
 
        ElseIf TextBox4.Text > 13 & TextBox4.Text < 53 Then
        
            For coluna = TextBox4.Text + 1 To TextBox4.Text + 1
            Columns(coluna).Hidden = False
            Next
        
        End If
        
        If TextBox5.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next

        
        ElseIf TextBox5.Text > 13 & TextBox5.Text < 53 Then
        
            For coluna = TextBox5.Text + 1 To TextBox5.Text + 1
            Columns(coluna).Hidden = False
            Next
        
        End If
    
        
        If TextBox1.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next
     
        
        ElseIf TextBox1.Text >= 1 & TextBox1.Text <= 13 Then
            
            For coluna = TextBox1.Text + 53 To TextBox1.Text + 53
            Columns(coluna).Hidden = False
            Next
        
        End If
        
        
        If TextBox2.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next
     
        
        ElseIf TextBox2.Text >= 1 & TextBox2.Text <= 13 Then
        
            For coluna = TextBox2.Text + 53 To TextBox2.Text + 53
            Columns(coluna).Hidden = False
            Next
        
        End If
        
        If TextBox3.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next
     
        
        ElseIf TextBox3.Text >= 1 & TextBox3.Text <= 13 Then
        
            For coluna = TextBox3.Text + 53 To TextBox3.Text + 53
            Columns(coluna).Hidden = False
            Next
        
        End If
        
        If TextBox4.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next
 
 
        ElseIf TextBox4.Text >= 1 & TextBox4.Text <= 13 Then
        
            For coluna = TextBox4.Text + 53 To TextBox4.Text + 53
            Columns(coluna).Hidden = False
            Next
        
        End If
        
        If TextBox5.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next

        
        ElseIf TextBox5.Text >= 1 & TextBox5.Text <= 13 Then
        
            For coluna = TextBox5.Text + 53 To TextBox5.Text + 53
            Columns(coluna).Hidden = False
            Next
         
        End If
        End If
        
        ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
'-----------------------------------------------------------------------------------------------------------------------------'
        
        
        If REVENIMENTO.Value = True Then
        
            Sheets("REVENIMENTO TT - 161009").Select
        
            For coluna = 15 To 67
            Columns(coluna).Hidden = True
            Next
        
        If TextBox1.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next
     
        
        ElseIf TextBox1.Text > 13 & TextBox1.Text < 53 Then
            
            For coluna = TextBox1.Text + 1 To TextBox1.Text + 1
            Columns(coluna).Hidden = False
            Next
        
        End If
        
        If TextBox2.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next
     
        
        ElseIf TextBox2.Text > 13 & TextBox2.Text < 53 Then
        
            For coluna = TextBox2.Text + 1 To TextBox2.Text + 1
            Columns(coluna).Hidden = False
            Next
        
        End If
        
        If TextBox3.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next
        
        
        ElseIf TextBox3.Text > 13 & TextBox3.Text < 53 Then
        
            For coluna = TextBox3.Text + 1 To TextBox3.Text + 1
            Columns(coluna).Hidden = False
            Next
        
        End If
        
        If TextBox4.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next
     
 
        ElseIf TextBox4.Text > 13 & TextBox4.Text < 53 Then
        
            For coluna = TextBox4.Text + 1 To TextBox4.Text + 1
            Columns(coluna).Hidden = False
            Next
        
        End If
        
        If TextBox5.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next

        
        ElseIf TextBox5.Text > 13 & TextBox5.Text < 53 Then
        
            For coluna = TextBox5.Text + 1 To TextBox5.Text + 1
            Columns(coluna).Hidden = False
            Next
        
        End If
    
        
        If TextBox1.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next
     
        
        ElseIf TextBox1.Text >= 1 & TextBox1.Text <= 13 Then
            
            For coluna = TextBox1.Text + 53 To TextBox1.Text + 53
            Columns(coluna).Hidden = False
            Next
        
        End If
        
        
        If TextBox2.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next
     
        
        ElseIf TextBox2.Text >= 1 & TextBox2.Text <= 13 Then
        
            For coluna = TextBox2.Text + 53 To TextBox2.Text + 53
            Columns(coluna).Hidden = False
            Next
        
        End If
        
        If TextBox3.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next
     
        
        ElseIf TextBox3.Text >= 1 & TextBox3.Text <= 13 Then
        
            For coluna = TextBox3.Text + 53 To TextBox3.Text + 53
            Columns(coluna).Hidden = False
            Next
        
        End If
        
        If TextBox4.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next
 
 
        ElseIf TextBox4.Text >= 1 & TextBox4.Text <= 13 Then
        
            For coluna = TextBox4.Text + 53 To TextBox4.Text + 53
            Columns(coluna).Hidden = False
            Next
        
        End If
        
        If TextBox5.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next

        
        ElseIf TextBox5.Text >= 1 & TextBox5.Text <= 13 Then
        
            For coluna = TextBox5.Text + 53 To TextBox5.Text + 53
            Columns(coluna).Hidden = False
            Next
         
        End If
        End If
        
        ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
            
'-----------------------------------------------------------------------------------------------------------------------------'


        If LAVADORA.Value = True Then
        
            Sheets("LAVADORA TT - 161009").Select
        
            For coluna = 15 To 67
            Columns(coluna).Hidden = True
            Next
        
        If TextBox1.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next
     
        
        ElseIf TextBox1.Text > 13 & TextBox1.Text < 53 Then
            
            For coluna = TextBox1.Text + 1 To TextBox1.Text + 1
            Columns(coluna).Hidden = False
            Next
        
        End If
        
        If TextBox2.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next
     
        
        ElseIf TextBox2.Text > 13 & TextBox2.Text < 53 Then
        
            For coluna = TextBox2.Text + 1 To TextBox2.Text + 1
            Columns(coluna).Hidden = False
            Next
        
        End If
        
        If TextBox3.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next
        
        
        ElseIf TextBox3.Text > 13 & TextBox3.Text < 53 Then
        
            For coluna = TextBox3.Text + 1 To TextBox3.Text + 1
            Columns(coluna).Hidden = False
            Next
        
        End If
        
        If TextBox4.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next
     
 
        ElseIf TextBox4.Text > 13 & TextBox4.Text < 53 Then
        
            For coluna = TextBox4.Text + 1 To TextBox4.Text + 1
            Columns(coluna).Hidden = False
            Next
        
        End If
        
        If TextBox5.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next

        
        ElseIf TextBox5.Text > 13 & TextBox5.Text < 53 Then
        
            For coluna = TextBox5.Text + 1 To TextBox5.Text + 1
            Columns(coluna).Hidden = False
            Next
        
        End If
    
        
        If TextBox1.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next
     
        
        ElseIf TextBox1.Text >= 1 & TextBox1.Text <= 13 Then
            
            For coluna = TextBox1.Text + 53 To TextBox1.Text + 53
            Columns(coluna).Hidden = False
            Next
        
        End If
        
        
        If TextBox2.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next
     
        
        ElseIf TextBox2.Text >= 1 & TextBox2.Text <= 13 Then
        
            For coluna = TextBox2.Text + 53 To TextBox2.Text + 53
            Columns(coluna).Hidden = False
            Next
        
        End If
        
        If TextBox3.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next
     
        
        ElseIf TextBox3.Text >= 1 & TextBox3.Text <= 13 Then
        
            For coluna = TextBox3.Text + 53 To TextBox3.Text + 53
            Columns(coluna).Hidden = False
            Next
        
        End If
        
        If TextBox4.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next
 
 
        ElseIf TextBox4.Text >= 1 & TextBox4.Text <= 13 Then
        
            For coluna = TextBox4.Text + 53 To TextBox4.Text + 53
            Columns(coluna).Hidden = False
            Next
        
        End If
        
        If TextBox5.Text = "" Then
        
            For coluna = 1 To 14
            Columns(coluna).Hidden = False
            Next

        
        ElseIf TextBox5.Text >= 1 & TextBox5.Text <= 13 Then
        
            For coluna = TextBox5.Text + 53 To TextBox5.Text + 53
            Columns(coluna).Hidden = False
            Next
         
        End If
        End If
        
        ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
        
        Unload Me
        
End Sub

s que estão ali independente da CheckBox estar selecionada ou não. 

Link para o comentário
Compartilhar em outros sites

Sugestão: disponibilize uma amostra do seu arquivo Excel compactado (se contiver macros).

 

Na planilha que contém as CheckBooxes informe o que você quer imprimir de cada planilha se o CheckBox correspondente estiver marcado.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...