Ir ao conteúdo

Excel VBA - Resultado de Fórmula em "Texto" na celula


Ir à solução Resolvido por Wendell Menezes,

Posts recomendados

Postado

Clique com o botão direito do mouse no nome da aba (ex: Plan1), depois exibir código. Cole o script abaixo e feche a janela.

 

Private Sub Worksheet_Change(ByVal Target As Range)
    
    Dim Cell As Range
    
    For Each Cell In Target
        With Cell
            If .Column = 183 Then 'Número da coluna GA
                Range("GB" & .Row).NumberFormat = "@"
                Range("GB" & .Row) = Range("GA" & .Row)
            End If
        End With
    Next
    
End Sub

 

Toda vez que alterar alguma coisa na coluna GA (ex: arrastando / inserindo fórmulas) o valor dela será colado como texto na coluna GB.

 

 

Agora se quiser que isso funcione APENAS na célula GA5:

 

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Address(False, False) = "GA5" Then
        [GB5].NumberFormat = "@": [GB5] = [GA5]
    End If

End Sub

 

Postado
14 horas atrás, jcgmcs disse:

É possível fazer resultado de uma Fórmula de "GA5" ser colada como "Texto" em "GB5" ??

2 horas atrás, jcgmcs disse:

é esta...

=se(éerros(proc(2;1/localizar("23";fo5:fz5)));"";direita(fu$2;4))

 

A sua fórmula retorna vazio ou texto, então basta colocar em GB5 >>> =GA5. Não precisa de mais nada.

Postado

Se você quer o valor e não a fórmula, então cole o código abaixo no módulo da planilha que contém a fórmula.

 

Private Sub Worksheet_Calculate()
 [GB5].NumberFormat = "@": [GB5] = [GA5]
End Sub

 

Postado

Eu confesso que não entendi porque o Dropdown não está sendo carregado pelo fato do ano ser resultado de uma fórmula. Qual é o código que você está usando para carregar ele?

 

Veja esse exemplo, A1 é uma fórmula:

 

image.png.ae3289a23da7c3dd04eb127ccc586c42.png

 

O código que carrega ele é:

 

Private Sub ComboBox1_DropButtonClick()

ComboBox1.Clear
ComboBox1.AddItem Range("A2").Value

End Sub

 

Postado

Wendell bom dia!!

Então, carregamento não é no Dropdown e sim na ListView, ela éq não carregando o que está em Fórmulas tndeu...

Já fiz testes aqui alterando com colunas só em texto, funciona mas quando volto pra colunas q tem fórmulas não funciona, não faz carregamentos. 😞

Postado

Midori boa tde amigo... beleza

Fico feliz de seu retorno mas então infelizmente, minha planilha e códigos é de uma extensão enorme e pra postar aqui eu teria q refazê-la toda de novo pra te mandar apenas essa parte da Print q postei tdeu...

Mas a base é essae da print, eu só queria me livrar dessas fórmulas q estão na coluna "GA" ou então mantê-las mas que na "GB" sejem colocados os "anos" em texto...

OBs: O preenchimento de anos nas linhas e colunas de "FO" até "FZ" é manual e se dá a partir da linha 5 tdeu!

No aguardo e obrigado!

Postado

Independente de ser ComboBox ou ListView, é possível adicionar novos items a partir de células que são resultados de fórmulas, por isso acredito que o problema seja o código que você está utilizando para inserir novos items. Veja um exemplo que funciona mesmo com fórmulas nas células A1 e A2:

 

image.thumb.png.1941efd93994c758e6fff332298049b7.png

Postado

Wendell boa noite!

 

Se ajudar, segue parte do código que utilizo... 

Tudo funcionandp diretinho mas quando troco "BP" por "GA" ListView não encontra a busca da Combo...

'ComboBox1 Lista "Onde Procurar"

Sub ConfigurarListaDeCampos()

Dim arrPesquisarNasPlanilhas As Variant
Dim i As Integer
    
    With ComboBox1
        .Style = fmStyleDropDownList
        
        .AddItem "Toda Planilha"
        .AddItem "Empresa / Cliente"
        .AddItem "Bairro"
        .AddItem "Observações"
        .AddItem "Ramo / Atividades"
        .AddItem "Status ZAP ON"
        .AddItem "Status S/RET ON"
        .AddItem "Status ZAP INDEF."
        .AddItem "Status ZAP OFF"
        .AddItem "Status S/ZAP HIST"
        .AddItem "Status ZAP ON/OFF"
        .AddItem "Status S/RET ON/OFF"
        .AddItem "Status ZAP ON/HIST"
        .AddItem "Status SEM ZAP"
        .AddItem "Status ZAP OFF/HIST"
        .AddItem "Contatos Mês/Ano"
        .AddItem "Contatos Ano"
        .AddItem "Retornos Ano"
        .AddItem "Retornos Mês/Ano"
        .AddItem "Pret. Compra Ano Ativ/Inat"
        .AddItem "Pret. Compra Mês/Ano Ativ/Inat"
        .AddItem "Vendas Mês/Ano"
        .AddItem "Vendas Ano"
        .AddItem "Ltodos"
        
        
        .ListIndex = 0
    End With
    
    With Combo_OndeSalvar
        'Recupera as Planilhas que são base de dados
        arrPesquisarNasPlanilhas = ConfigPlanilhasBase
    
        .Style = fmStyleDropDownList
        
        For i = 0 To UBound(arrPesquisarNasPlanilhas)
            .AddItem arrPesquisarNasPlanilhas(i)
        Next i
        
        .ListIndex = 0
    End With
    
End Sub

'Especifica Colunas "Onde Procurar - ComboBox1"

Function ConfigColunas(ByVal sNomeCampo As String) As String

    Select Case sNomeCampo
        Case "x"
            ConfigColunas = "A"
            
        Case "Cód"
            ConfigColunas = "B"
            
        Case "Empresa / Cliente"
            ConfigColunas = "C" 'Em baixo
            
        Case "Teste4"
            ConfigColunas = "D"
            
        Case "Teste5"
            ConfigColunas = "E"
            
        Case "Teste6"
            ConfigColunas = "F"
         
        Case "Teste7"
            ConfigColunas = "G"
            
        Case "Teste8"
            ConfigColunas = "H"
            
        Case "Teste9"
            ConfigColunas = "I"
            
        Case "Cont.Dia"
            ConfigColunas = "J"
            
        Case "Observações"
            ConfigColunas = "K"
            
        Case "Teste12"
            ConfigColunas = "L"
            
        Case "Teste13"
            ConfigColunas = "M"
            
        Case "Teste14"
            ConfigColunas = "N"
            
        Case "Teste15"
            ConfigColunas = "O"
            
        Case "Teste16"
            ConfigColunas = "P"
            
        Case "Teste17"
            ConfigColunas = "Q"
            
        Case "Teste18"
            ConfigColunas = "R"
            
        Case "Teste19"
            ConfigColunas = "S"
            
        Case "Pret. Compra Ano Ativ/Inat"
            ConfigColunas = "T"
            
        Case "Pret. Compra Mês/Ano Ativ/Inat"
            ConfigColunas = "R"
            
        Case "Ramo / Atividades"
            ConfigColunas = "U"
            
        Case "Teste22"
            ConfigColunas = "V"
            
        Case "Ltodos"
            ConfigColunas = "W"
            
        Case "Status ZAP ON"
            ConfigColunas = "AN" '40
            
        Case "Status S/RET ON"
            ConfigColunas = "AO" '41
            
        Case "Status S/RET ON/OFF"
            ConfigColunas = "AP" '42
            
        Case "Status ZAP OFF"
            ConfigColunas = "AQ" '43
            
        Case "Status ZAP INDEF."
            ConfigColunas = "AR" '44
            
        Case "Status S/ZAP HIST"
            ConfigColunas = "AS" '45
            
        Case "Status ZAP ON/HIST"
            ConfigColunas = "AT" '46
            
        Case "Status ZAP ON/OFF"
            ConfigColunas = "AU" '47
            
        Case "Status SEM ZAP"
            ConfigColunas = "AV" '48
            
        Case "Status ZAP OFF/HIST"
            ConfigColunas = "AW" '49
            
        Case "Contatos Mês/Ano"
            ConfigColunas = "AH"
            
        Case "Contatos Ano"
            ConfigColunas = "AF"
            
        Case "Retornos Ano"
            ConfigColunas = "AI"
            
        Case "Retornos Mês/Ano"
            ConfigColunas = "AJ"
            
        Case "Vendas Ano"
            ConfigColunas = "BP"
            
        Case "Vendas Mês/Ano"
            ConfigColunas = "BQ"
                               
        Case Else
            ConfigColunas = ""
            
    End Select
    
End Function

 

Postado

Wendell boa noite!

O problema deste seu código...

Private Sub Worksheet_Change(ByVal Target As Range) Dim Cell As Range For Each Cell In Target With Cell If .Column = 183 Then 'Número da coluna GA Range("GB" & .Row).NumberFormat = "@" Range("GB" & .Row) = Range("GA" & .Row) End If End With Next End Sub

 

É que está pra tudo q for digitado na "GA" ele joga pra "GB" corretamente, até ae seu código funciona...

Mas o caso éq na "GA" já estão as fórmulas. Seu eu digito de "FO" à "FZ" em qualquer linha a "GA" cápta o valor e seu código não reconhecendo porque na "GA" estão as formulas tndeu!

Por gentileza, você poderia dar essa revisada..? 🙂

 

  • Solução
Postado

Seria isso?

 

Private Sub Worksheet_Change(ByVal Target As Range)
    
    Dim Cell As Range
    
    For Each Cell In Target
        With Cell
            If .Column >= 171 And .Column <= 182 Then 'FO - FZ
                Range("GB" & .Row).NumberFormat = "@"
                Range("GB" & .Row) = Range("GA" & .Row)
            End If
        End With
    Next
    
End Sub

 

Postado

Perfeito Wendell... funcionando direitinho!! obrigado!! rsrs

 

Utilizando-se desse código...

Sub EnterCell()

'Sub atualizar()

Application.EnableEvents = True
UltimaLinha = Plan1.Rows.Count

For X = 5 To Plan1.Range("FO" & UltimaLinha).End(xlUp).Row
    Plan1.Cells(X, 171).Select
    Plan1.Cells(X, 171).Value = Plan1.Cells(X, 171).Value
Next

MsgBox "Concluído! ", vbOKOnly + vbInformation, ""

End Sub

 

É possível fazer ele atualizar as colunas de "FO" à "FZ" até a linha 5000 de uma só vez...?

Éq agora tenho q fazer isso e são 8 Blocos de 12 colunas cada....?  😞

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!