
FabianoCRZ
Membros-
Total de itens
44 -
Registro em
-
Última visita
Tudo que FabianoCRZ postou
-
valeu Renato, obrigado pela sua ajuda deu certinho aqui. Obrigado
-
Olá caros amigos: Estou com uma dúvida que vocês poderão até achar uma bobeira mas eu não consegui fazer rsrsrsrsrs Tenho 3 valores em reais cada valor em uma célula do Excel. Criei uma userform e coloquei 4 textbox, 3 dessas textbox mostram os valores que se encontram nas células e na quarta textbox eu gostaria que mostrasse a soma dos 3 valores. Fiz o seguinte : textbox4=textbox1+textbox2+textbox3 Só que dessa forma ao invéz de somar os valores os valores estão sendo concatenados. Como faço para que os valores sejam somados? Ex: R$30,00(textbox1) + R$10,00(textbox2) + R$10,00*(textbox3) = R$50,00(textbox4) Muito obrigado pela ajuda meus amigos.
-
Olá amigo bEbEr tudo bem Ufa tá dificil né? Mas agora fiz os testes com textos gigantescos rsrsrsrsrsrsrsr e aqui deu tudo certo. O comando é o seguinte Private Sub CommandButton1_Click() With Selection .HorizontalAlignment = xlLeft .VerticalAlignment = xlTop .WrapText = True .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = True .ReadingOrder = xlContext .MergeCells = False End With Range("A1").Value = TextBox1 Range("a1:f1").Select Selection.Merge End Sub Abraço
-
E ai Áurio beleza? Pelo que entendi você só precisa criar uma condição if, ou seja : Private Sub CommandButton1_Click() If TextBox1 <> "" Then Sheets("plan1").Range("a2").Value = TextBox1 Sheets("plan1").Range("b2").Value = TextBox2 Sheets("plan1").Range("c2").Value = TextBox3 End If If TextBox1 = "" Then MsgBox "Digite o nome a ser Cadastrado" TextBox1.SetFocus End If End Sub Veja se vai dar certo! Outra coisa, quando você quiser postar assunto relacionado a VBA você tem que postar no link abaixo: http://scriptbrasil.com.br/forum/index.php?showforum=71 Abraço Áurio: Usando o comando que o Quote postou ficaria assim : Private Sub CommandButton1_Click() If TextBox1.Text <> "10" Then Cancel = True MsgBox "Digite um valor", vbExclamation, "AVISO" Else Sheets("PLAN1").Range("A1").Value = TextBox1 End If End Sub Só que neste caso o valor a ser digitado na textbox1 tem uqe ser sempre, por exemplo, o valor 10 . Esse tipo de comando se aplica melhor em casos em que o valor a ser digitado na textbox sempre será o mesmo. Acho que para o que você quer fazer o melhor é o que postei anteriormente, ou seja, usando a condição IF. Abraço
-
Olá caro amigo bEbEr tudo bem? Cara desculpa a minha falta de atenção, estou te ajudando ao mesmo tempo que estou com serviço até o pescoço! rsrsrsrs Mas ai vai a rotina testada e aprovada : Private Sub CommandButton1_Click() Range("a1:f1").Select Selection.Merge With Selection .HorizontalAlignment = xlLeft .VerticalAlignment = xlTop .WrapText = True .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = True End With Range("A1").Value = TextBox1 End Sub Agora acho que vai atender suas necessidades!!! Abraço!
-
Como vai amigo bEbEr beleza? Para você fazer com que as células A1 até F1 fiquem mescladas faça o seguinte : Private Sub CommandButton1_Click() Range("A1").Select With Selection .HorizontalAlignment = xlLeft .VerticalAlignment = xlTop .WrapText = True .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With Range("a1:f1").Select Selection.Merge Range("A1").Value = TextBox1 End Sub Espero que agora dê tudo certo!!! Abraço!!!
-
Caro amigo bEbEr tudo bem : Para desabilitar o X de fechar janela de sua userform dê dois cliques na userform e cole essa rotina : Private Sub UserForm_QueryClose _ (Cancel As Integer, CloseMode As Integer) If CloseMode = vbFormControlMenu Then MsgBox "texto que você quer que apareça quando a pessoa tentar fechar a janela", vbCritical, "AVISO" Cancel = True End If End Sub No caso da mensagem se você não quiser que apareça nenhuma mensagem é só excluir a linha MsgBox "texto que você quer que apareça quando a pessoa tentar fechar a janela", vbCritical, "AVISO" Espero ter ajudado!!! Um grande abraço!!!
-
Como vai amigo Renato? Me desculpa por não organizar de forma correta o código, é que não sabia como fazer, mas agora que você deu a dica prometo que daqui para frente o negócio vai ficar organizadinho rsrsrsrsrsrsrsrs Valeu pela dica, muito obrigado!!!
-
Caros amigos tudo bem? Consegui fazer a bendita da rotina e estou postando aqui para compartilhar com vocês : Para testar crie uma userforma, 3 textbox e um botão. No botão cole essa linha de programação : TextBox3 = Format(TimeValue(TextBox1) - TimeValue(TextBox2), "hh:nn") Espero que minha dúvida e solução ajude a muito que também tinha essa curiosidade!!!! Um grande abraço a todos!!!
-
Fala amigo bEbEr beleza? Fiz os testes aqui e estou postando para você a forma correta: Private Sub CommandButton1_Click() Range("A1").Select With Selection .HorizontalAlignment = xlRight .VerticalAlignment = xlCenter .WrapText = True .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = True End With Range("A1").Value = TextBox1 End Sub Para testar crie uma useform, uma textbox e um botão. No botão cole essa rotina. Espero que de tudo certo ai!!!!! Abraço
-
Caro amigo bEbEr : Você fez quase tudo mas faltou o objeto. Veja como deve ficar : Private Sub CommandButton1_Click() Dim celula celula = Sheets("plan1").Range("A1").Select With celula celula = HorizontalAlignment = xlGeneral celula = VerticalAlignment = xlBottom celula = WrapText = True celula = Orientation = 0 celula = AddIndent = False celula = IndentLevel = 0 celula = ShrinkToFit = False celula = ReadingOrder = xlContext celula = MergeCells = False End With Sheets("plan1").Range("a1").Value = TextBox1 End Sub Espero ter ajudado!!!!
-
Olá caros amigos : :) Fiz uns textes com datas usando uma userform, 3 textbox(s) e um botão : Para fazer soma de horas fiz assim : Private Sub CommandButton1_Click() TextBox3 = TimeValue(TextBox1) + TimeValue(TextBox2) End Sub Nesse caso se colocarmos na textbox1 o valor 1:00 e na textbox2 o valor 0:30 o resultado é 01:30:00 Mas se trocarmos o sinal de + para - o resultado é 2,08333333333333E-02 O resultado deveria ser 0:30 Porque o resultado não está dando certo com a subtração? Mais uma vez muito obrigado!!!!
-
Caro amigo bEbEr : Tente o seguinte : DateValue(TextBox1) No lugar de textbox1 coloque o nome da textbox que está a data que será gravada na célula do excel. Espero que te ajude!!!
-
(Resolvido) Deletando Uma Sub Rotina Via Comando
pergunta respondeu ao FabianoCRZ de FabianoCRZ em VBA
Amigos Renato e amigos do Fórum: Usei como idéia principal a dica que o Renato me deu. Fiz o seguinte : ao iniciar o arquivo é executado o seguinte comando : Private Sub Workbook_Open() ActiveWindow.WindowState = xlMinimized ' Minimiza a planilha If Sheets("BD-FUNC").Range("IV65535").Value = "" Then Dim dataatual, a, b, c Sheets("BD-FUNC").Select ActiveSheet.Unprotect Password:="senha" ' Desprotege a planilha com senha Sheets("BD-FUNC").Range("IV65535").Value = Date ' Coloca na célula IV65535 a data em que se acessou a primeira vez o arquivo End If a = Sheets("BD-FUNC").Range("IV65536").Value b = Sheets("BD-FUNC").Range("IV65535").Value c = b + 30 'Soma mais 30 dias na data do primeiro acesso dataatual = Date If dataatual >= c Then Sheets("BD-FUNC").Select ActiveSheet.Unprotect Password:="senha" Sheets("BD-FUNC").Range("IV65536").Value = 1 ActiveSheet.Protect Password:="senha", DrawingObjects:=True, Contents:=True, Scenarios:=True ActiveWorkbook.Save MsgBox "A VALIDADE DESSA PLANILHA VENCEU" frmsenha2.Show ' Chama uma userform para ser digitado um código de ativação End If If a = 1 Then MsgBox "A VALIDADE DESSA PLANILHA VENCEU" frmsenha2.Show End If FrmSenha.Show Na userform para digitar o código de ativação fiz o seguinte : Programação da própria userform: Private Sub UserForm_QueryClose _ (Cancel As Integer, CloseMode As Integer) If CloseMode = vbFormControlMenu Then MsgBox "POR FAVOR DIGITE O CÓDIGO DE ATIVAÇÃO", vbCritical, "AVISO" Cancel = True End If End Sub Programação do botão : Private Sub CommandButton1_Click() Dim a a = "MKLPOI-FRTUJH-CCVFGF-F58FD8-54KLR" If TextBox1 <> a Then MsgBox "CÓDIGO DE ATIVAÇÃO INVÁLIDO", vbQuestion, "AVISO" TextBox1 = "" TextBox1.SetFocus Else Unload Me Sheets("BD-FUNC").Select ActiveSheet.Unprotect Password:="senha" Sheets("BD-FUNC").Range("IV65536").Value = 2 ActiveSheet.Protect Password:="senha", DrawingObjects:=True, Contents:=True, Scenarios:=True End If End Sub Com essa programação o que acontece é o seguinte: se a pessoa abrir a primeira vez o arquivo no dia 17/11/07, esta data é gravada automaticamente na céula IV65535 e o arquivo é salvo automaticamente, para que se a pessoa voltar a data no relógio do windows a tela de ativação continuará aparecendo. É somado mais 30 dias à data do primeiro acesso, ou seja, o valor é 17/12/2007. A condição para expirar o arquivo é se a data atual for maior ou igual a 17/11/2007 + 30 ( 17/12/2007) irá chamar a userform com o nome frmsenha2 . Se o código for o correto será gravado na célula IV65536 o valor 2. A condição para o arquivo se tonar "full" é o valor da célula IV65536 ser diferente de vazio ou diferente de 1. Se for 2 a tela de ativação não mais será exibida. Não sei se deu para entender, mas a idéia do Renato funcionou melhor que eu esperava. Por isso que eu sempre digo, duas cabeças pensam melhor que uma!!! Abraço a todos!!!! -
nesse caso deve funcionar com CDbl(). É isso ai amigo Kuroi: deu certinho o seguinte comando TextBox3 = CDbl(TextBox1) + CDbl(TextBox2) TextBox3 = CDbl(TextBox1) + CDbl(TextBox2) Dessa forma se for usado vírgula ao invés de ponto o resultado dá certinho!!!!! valeu......vivendo e sempre aprendendo!!!!!
-
Caro amigo Renato: Realmente não havia pensado nisso. Mas não sei se você notou, quando se coloca por exemplo 1.5 + 2 o resultado é 3,5 , mas se usamos uma vírgula ao invés de ponto o resultado é 3. Até agora não consegui uma alternativa para que a soma seja realizada usando vírgula. Abraço!!! :P
-
(Resolvido) Deletando Uma Sub Rotina Via Comando
pergunta respondeu ao FabianoCRZ de FabianoCRZ em VBA
Caro amigo Renato: Muito obrigado pela sua atenção, vou tentar fazer a dica que você me deu e postarei aqui o resultado. Muito obrigado!!! :) -
Caro amigo: Você deve ter feito o seguinte: criou uma userform, nela colocou 3 textbox e um botão, na textbox1 você irá colocar um valor ( 1 ) , na textbox2 você irá colocar outro valor (2 ) e na textbox 3 você quer que apareça a soma da textbox1 + textbox2 = 3 quando clicar no botão. O que está acontecendo com você é que ao invés de somar ela está concatenando. Para somar use o seguinte : Private Sub CommandButton1_Click() TextBox3 = Int(TextBox1) + Int(TextBox2) End Sub Abraço!!!
-
Caros amigos : Gostaria de saber como faço para criar uma sub rotina que delete outra. Tentei o seguinte mas não deu certo : Private Sub CommandButton2_Click() Dim a a = "teste" If TxtSenha <> a Then MsgBox "SENHA INVÁLIDA", vbQuestion, "AVISO" TxtSenha = "" TxtSenha.SetFocus Else Unload Me End If Clear workbook_open() Nesse exemplo eu criei uma userform que pede uma senha (teste), se a senha digitada na textbox (txtsenha) for igual eu gostaria que fosse apagado uma subrotina, nesse caso uma subrotina que inicia ao abrir a planilha ( workbook_open() ) Vou tentar ser um pouco mais claro para facilitar a ajuda de vocês: imaginemos que criei dois botões e uma textbox em uma userform. Em um dos botões fiz a seguinte programação : Private Sub CommandButton1_Click() Sheets("Plan1").Range("A1").Value = TextBox1.Text End Sub Agora eu gostaria de colocar um comando no outro botão que quando clicado apagasse toda a sub rotina criada acima, ou seja, seria deletado todo o comando de forma que não exista mais. Como faço isso meus amigos? :huh: Mais uma vez muito obrigado!!!