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.
  • Avatar do usuário
#35731
Entendidos de plantão,

Após pesquisar e não encontrar solução para a situação que lhes apresento, decidi inscrever-me neste fórum para tentar obter aqui uma dica que resolva o seguinte problema:

Tenho uma planilha do Excel com quase 3 mil linhas e, numa certa coluna, preciso inserir em todas as células um determinado conteúdo sem apagar o já existente. O novo conteúdo só precisa "empurrar" o já existente para a direita e inserir-se no início.

Tentei gravar uma macro para isso, mas não consegui fazer com que ela *NÃO* substituísse todo o conteúdo da célula seguinte pelo da anterior.

Agradeço qualquer luz. :)
#35732
Bom dia.
Sugiro postar um modelo de sua planilha (com dados fictícios mas mesma estrutura)
Poste um modelo em excel (não uma imagem) de preferencia com uma demonstração manual do resultado pretendido.
Para anexar o arquivo, clique em +Resposta e localize a opção abaixo da janela de digitação de mensagens.
#35734
Amigo.
Veja se o que fiz te ajuda.
*Resposta útil ? Clique em "Obrigado"
**Sua dúvida foi sanada? Marque o tópico como "Resolvido"
Você não está autorizado a ver ou baixar esse anexo.
#35735
gfranco, ajuda sim, muito obrigado.

O detalhe é que, na planilha onde a adição de conteúdo deve ser efetuada, a macro está agindo na coluna errada (uma antes).

Dei uma olhada no código VBScript e encontrei a seguinte linha:

ul = w.Cells(w.Rows.Count, "B").End(3).Row

Imaginei que o "B" fosse a coluna onde o código está agindo (porque no modelo que lhe mandei era a B) e troquei por "C", que seria a coluna correta. Mesmo assim, ele continua efetuando a adição na coluna errada.

Imaginei que, se eu eliminasse todas as outras colunas da planilha e deixasse só aquela em que preciso da adição de conteúdo (depois seria fácil copiar/colar o resultado na planilha definitiva), a macro seria forçada a atuar só nela. Mas ao rodá-la nessas circunstâncias ela não faz nada.

Como não entendo de VBScript, não descobri onde estaria o parâmetro que determina a coluna onde a adição deve ser realizada. Pode me dar um toque?

Muito obrigado!
#35736
gfranco escreveu:Bom dia.
Sugiro postar um modelo de sua planilha (com dados fictícios mas mesma estrutura)
Poste um modelo em excel (não uma imagem) de preferencia com uma demonstração manual do resultado pretendido.
Para anexar o arquivo, clique em +Resposta e localize a opção abaixo da janela de digitação de mensagens.
Observe a menção que eu fiz sobre mesma estrutura

Substitua o código anterior por este:
Código: Selecionar todos
Sub main()
    Dim ul As Long
    Dim palavraParaAcrescentar As String
    Dim w As Worksheet
    Dim i As Long
    Dim anterior As String
    
    Set w = Planilha1
    
    ul = w.Cells(w.Rows.Count, "c").End(3).Row
    
    If ul < 3 Then Exit Sub
    
        If w.ProtectContents = True Then
            MsgBox "Impossível executar em planilha protegida"
            Exit Sub
        End If
    
    If w.AutoFilterMode Then w.AutoFilterMode = False
    
    palavraParaAcrescentar = "[ABC]"
    
        For i = 3 To ul
        
        anterior = VBA.CStr(w.Cells(i, 3))
        
        w.Cells(i, 3) = palavraParaAcrescentar & " " & anterior
        
        Next i
    
    Set w = Nothing


End Sub
#35737
Experimente:
Código: Selecionar todos
Sub InsereString()
 Dim c As Range
  Application.ScreenUpdating = False
   For Each c In Range("C3:C" & Cells(Rows.Count, 3).End(3).Row)
    c.Value = "[ABC] " & c.Value
   Next c
  Application.ScreenUpdating = True
End Sub
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