Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
#62021
onadir escreveu: 08 Fev 2021 às 01:17 ... mas no automático simplesmente não funciona.
Explique com exatidão o que você quer dizer com "no automático ... não funciona"

O código abaixo faz o que o seu supostamente faz.
Código: Selecionar todos
Sub ReplicaConteúdo()
 Sheets("Recibo").[H15] = ActiveCell.Value
End Sub
#62030
osvaldomp escreveu:
onadir escreveu: 08 Fev 2021 às 01:17 ... mas no automático simplesmente não funciona.
Explique com exatidão o que você quer dizer com "no automático ... não funciona"

O código abaixo faz o que o seu supostamente faz.
Código: Selecionar todos
Sub ReplicaConteúdo()
 Sheets("Recibo").[H15] = ActiveCell.Value
End Sub
No automático seria clicar na célula onde tem o valor e na planilha recibo entra o valor clicado sem precisar digitar.
#62034
onadir escreveu: 08 Fev 2021 às 15:00 No automático seria clicar na célula onde tem o valor e na planilha recibo entra o valor clicado sem precisar digitar.
Por "clicar na célula" você quer dizer "selecionar a célula", é isso ?

Se sim, então qualquer célula que for selecionada na planilha (são 17.179.869.184 células) o conteúdo dela será replicado em H15 da planilha Recibo.
É isso que você quer ?

Se sim, ao selecionar manualmente qualquer célula para inserir nela um valor, então antes de inserir, o valor anterior será replicado ... não vejo sentido.

Explique com exatidão o que você quer fazer.

E para disparar um código após efetuar manualmente algum evento na planilha (talvez isso que você chame de "automático") você deve colocar o código no módulo da própria planilha e não em um módulo comum (não no Módulo1, ou no Módulo2, ...).

No editor de VBA aplique duplo clique no nome da planilha de origem dos dados, em seguida clique na setinha da caixa (Geral) escolha Worksheet e em seguida clique na setinha da caixa à direita para ver os eventos disponíveis. Veja se algum deles pode fazer a operação desejada.

Retorne se precisar de ajuda.
#62049
Caro Osvaldo.
talvez eu não soube me expresar direito.
o que eu preciso: na planilha fornecedor tem um campo chamado nome, ao selecionar um nome , ele vá direto para a celula h15 do recibo. isso evita de digitar esse nome.
o código conforme relatado acima faz exatamente isso. ao selecionar um valor na plan fornec_cliente , automaticamente ele transportar para a celula h15 do recibo.
#62050
em continuidade: qual o problema se eu rodar o código através do F8, executa exatamente como eu quero. no entanto fecho o edito de vba e faço novamente através das plan. o código não executa. não estou entendo porque não executa, se através do F8 da certinho. tenho outras planilhas que fiz a mesma coisa e funciona perfeito. apenas nesse arquivo não está executando.
Abs
#62054
Coloque esta Sub dentro da Planilha2 (Fornec_cliente)
A rotina vai ser acionada com um duplo click em qualquer nome da Planilha2 (Fornec_cliente).
Código: Selecionar todos
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
        If Target.Column = 2 And Target.Value <> "" Then
            Sheets("Recibo").Range("H15") = Target              'NOME
            Sheets("Recibo").Range("N15") = Target.Offset(0, 1) 'CPF/CNPJ
            Sheets("Recibo").Range("H16") = Target.Offset(0, 2) 'ENDEREÇO
            Sheets("Recibo").Activate
        End If
End Sub
#62061
1. o seu código é uma Sub corretamente instalada em um módulo comum e por isso ele precisa de um comando do usuário para dispará-lo.
Esse comando pode ser de várias formas:
a) no editor de VBA via F8
b) via atalho de teclado (para atribuir um atalho a partir de qualquer planilha ativa clique Alt+F8 | Opções)
c) via um botão ou outra figura colocado em qualquer planilha e vinculado ao código
d) a partir de qualquer planilha ativa via Alt+F8 | Executar

e.1) outra opção é disparar o código "chamando-o" a partir de outro código, ex:
Sub ChamaMacro
MinhaMacro
End Sub


A Sub ChamaMacro deverá ser disparada por uma das vias citadas acima.

e.2) pode também ser "chamado" a partir de um código disparado por algum evento de planilha ou de arquivo, ex:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 2 Then MinhaMacro
End Sub


Neste último exemplo o código MinhaMacro será disparado ao ser selecionada, manualmente ou via macro, uma célula da coluna B da planilha em cujo módulo a Sub Worksheet_SelectionChange() estiver instalada.

2. com base na descrição do seu penúltimo post, me parece que o código abaixo irá fazer o que você quer .
Ele deve ser instalado no módulo da planilha Fornec_cliente (não é "dentro da planilha", pois não é possível colocar algo "dentro" de uma figura plana :o )
Para acessar o módulo clique na guia daquela planilha e escolha "Exibir Código", aí cole na janela vazia que irá se abrir.
Código: Selecionar todos
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If Target.Column = 2 Then Sheets("Recibo").[H15] = Target.Value
End Sub
#
funcionamento - ao selecionar uma célula na coluna B da planilha Fornec_cliente o conteúdo da célula selecionada será replicado em H15 da planilha Recibo.
AfonsoMira agradeceu por isso
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord