Ir ao conteúdo
  • Cadastre-se

fcll

Membro Júnior
  • Posts

    7
  • Cadastrado em

  • Última visita

Reputação

1
  1. Bom dia, pessoal Para facilitar, caso alguém possa ajudar, em anexo o arquivo com o projeto montado. Observem a Aba Instruções antes. Grande abraço, Transferência de Lançamento.rar
  2. Bom dia, pessoal Estou precisando de ajuda para solucionar um problema no meu código. O caso é o seguinte, tenho um evento na worksheet que é executando toda vez que seleciono uma célula. Ele serve para destacar a linha da célula selecionada. É um luxo, de certa forma, mas ajuda muito na visualização o pessoal aqui no trabalho que mexe com grandes tabelas de dados. Além disso, tenho uma outra rotina que copia uma linha de dados de uma worksheet e copia nessa worksheet que tem o código de destaque da linha. Acontece que depois que coloquei o código de destaque a rotina de cópia começou a parar, pelo que entendi, ela para porque ao selecionar a worksheet de destino, a rotina de destaque anula o copypaste. Eu queria que ao executar a rotina de copia/cola, o evento de destaque da linha não fosse executado. Seria possível? Alguém poderia me ajudar, por favor? Desde já muito grato. Tenho o seguinte evento na minha worksheet (Livro Caixa): Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim LINHA As Long Dim AncAdress As Long LINHA = ActiveCell.Row If (LINHA > 1) Then If AncAdress <> 0 Then Rows(AncAdress).Borders(xlEdgeBottom).LineStyle = xlNone Rows(AncAdress).Borders(xlEdgeTop).LineStyle = xlNone End If Range("A" & LINHA, "S" & LINHA).Borders(xlEdgeBottom).LineStyle = xlDashDot Range("A" & LINHA, "S" & LINHA).Borders(xlEdgeBottom).ColorIndex = 3 AncAdress = Target.Row Else End If End Sub E um evento no FORM: Private Sub Baixar_Lançamentos() Selection.Copy Sheets("Livro Caixa").Select Range("A1").Select Do If Not (IsEmpty(ActiveCell)) Then ActiveCell.Offset(1, 0).Select End If Loop Until IsEmpty(ActiveCell) = True Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False Application.CutCopyMode = False End Sub
  3. Philipp Moreira, Amigo, que solução genial!! Eu demorei um pouco para entender todos os aspectos, mas agora está tudo claro para mim. Fico muito grato pelo apoio, esse assunto foi um grande desafio na minha ferramenta e estou feliz de ter contado com seu total apoio para superá-lo. Espero pode ajudar no futuro! Grande abraço,
  4. @T1000_2015 Não entendi bem sua pergunta. O "_" tem alguma função nesse caso? @Philipp Moreira As caixa tem uma quantidade fixa de itens, mas são muitas, na casa de 50 itens. Pessoal, estou enviando um arquivo modelo em anexo para explicar melhor o que desejo fazer. Basicamente, relembro que daria para usar um IF, mas como são muitos itens ficaria muito extenso, até mesmo porque, no arquivo original muitas outras informações são lançadas de forma parecida... ou seja, inviável. Agradeço as tentativas até agora e espero que o arquivo seja mais esclarecedor. Obrigado! Exemplo Lançamento.rar
  5. Boa tarde, pessoal Estou com um pequeno desafio no meu código, gostaria de saber se alguém pode me ajudar. Tenho uma situação em que no Formulário 01 são selecionados diversos itens para um lançamento de dados. Esses itens são armazenados em variáveis (PROD1, PROD2, PROD3) A dificuldade que tenho é saber se consigo atualizar o nome da variável (e seu resultado) conforme outra variável. No exemplo a seguir, o modelo que tentei e outras diversas variações não funcionaram. Seria fácil resolver com um IF, mas no meu projeto o número de vezes em que a variável vai mudar de nome é imprevisível e alto e não ficaria interessante nem possível fazer tantos IFs. Segue o código base: Option Explicit Public PROD1, PROD2, PROD3 as String Public CICLO as Integer FORM 01 Private Sub Carregar_Dados() If ckprod1.value = true and PROD1.value <> Empty then MsgBox "Selecione o Produto1!" Elseif ckprod2.value = true and PROD2.value <> Empty then MsgBox "Selecione o Produto2!" Elseif ckprod3.value = true and PROD3.value <> Empty then MsgBox "Selecione o Produto3!" End if PROD1 = txtprod1.value PROD2 = txtprod2.value PROD3 = txtprod3.value If PROD1.value <> Empty then CICLO = 1 Elseif PROD2.value <> Empty then CICLO = 2 Elseif PROD3.value <> Empty then CICLO = 3 End if End Sub FORM 02 Private Sub Carregar_Dados() Dim L As Integer Dim LINHA As Long 'Procurar a primeira célula vazia Worksheets("Lançamentos").Range("A1").Select Do If Not (IsEmpty(ActiveCell)) Then ActiveCell.Offset(1, 0).Select End If Loop Until IsEmpty(ActiveCell) = True LINHA = ActiveCell.Row 'Atribui um valor à variável For L = 1 To CICLO PRODUTO = "PROD" & L 'Carregar os dados digitados nas caixas de texto para a planilha ActiveCell.Offset((LINHA + L), 0).Value = VBA.Format(txtdata.Value, "mm/dd/yyyy") ActiveCell.Offset((LINHA + L), 1).Value = txtnumerodanota.Value ActiveCell.Offset((LINHA + L), 2).Value = PRODUTO Next L End Sub

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