Bruninha - Neo
Membro Júnior-
Posts
8 -
Cadastrado em
-
Última visita
Reputação
0-
Loop em células do excel com vba - sem macro
Bruninha - Neo respondeu ao tópico de Bruninha - Neo em Microsoft Office e similares
Está aparecendo o seguinte erro: Erro em tempo de execução 1004 O método "Range" do objeto "_Worksheet" falhou. Private Sub Worksheet_Change(ByVal Target As Range) ActiveSheet.Unprotect ("123") Dim ColunasC As Range Set ColunasC = Range("C2:C20000") If Not Application.Intersect(ColunasC, Range(Target.Address)) Is Nothing Then linha = Target.Row Range("i" & linha).Value = DateTime.Now End If Range("i" & linha).Select [B]---->>>Aparece erro nesta linha<<<-----[/B] Selection.Locked = True ActiveSheet.Protect ("123"), DrawingObjects:=True, Contents:=True, Scenarios:=True -
Loop em células do excel com vba - sem macro
Bruninha - Neo respondeu ao tópico de Bruninha - Neo em Microsoft Office e similares
O caso é que eu preciso bloquear somente a célula onde a data for colocada por isso eu tentei repetir a linha abaixo: Range("i" & linha).Locked = True mas não funcionou... porque qd a planilha for aberta ela estará desbloqueada, só que apos ser preenchida a data, não pode haver alteração manual na data que foi colocada... se você puder ajudar, agradeço. -
Loop em células do excel com vba - sem macro
Bruninha - Neo respondeu ao tópico de Bruninha - Neo em Microsoft Office e similares
Tenho a seguinte fórmula em excel no editor do visual basic: Private Sub Worksheet_Change(ByVal Target As Range) Dim ColunasC As Range Set ColunasC = Range("C2:C20000") If Not Application.Intersect(ColunasC, Range(Target.Address)) Is Nothing Then linha = Target.Row Range("i" & linha).Value = DateTime.Now End If End Sub Preciso então, que ao ser preenchida a linha correpondente na coluna i, a mesma seja bloqueada... tentei colocar a instrução abaixo, mas não funcionou. Range("i" & linha).Locked = True Então, como posso fazer isso??? -
Loop em células do excel com vba - sem macro
Bruninha - Neo respondeu ao tópico de Bruninha - Neo em Microsoft Office e similares
Funcionou perfeitamente!!! Muito obrigada! -
Loop em células do excel com vba - sem macro
Bruninha - Neo respondeu ao tópico de Bruninha - Neo em Microsoft Office e similares
Bom, seguindo a mesma lógica mencionada acima, eu preciso agora que ao invés de colocar a data seja colocado o nome do computador que o usuário que alterar a planilha estiver... Então seguindo a lógica fornecida pelo Flávio Soares tentei fazer da seguinte forma: Private Function GetComputerName(ByVal sBuffer As String, lSize As Long) As Long Dim NameSize As Long Dim X As Long MachineName = Space$(16) NameSize = Len(MachineName) X = GetComputerName(MachineName, NameSize) End Function Private Sub Worksheet_Change(ByVal Target As Range) Dim Colunas As Range Set Colunas = Range("C1:C20000") If Not Application.Intersect(Colunas, Range(Target.Address)) Is Nothing Then linha = Target.Row Range("k" & linha).Value = GetComputerName End If End Sub Porém, não funciona. Se alguém puder dar uma mão, agradeço. valeu -
Loop em células do excel com vba - sem macro
Bruninha - Neo respondeu ao tópico de Bruninha - Neo em Microsoft Office e similares
Noooossaa!! desculpa!! funcionou sim!!!perfeito!!! Muuito obrigada!!! -
Loop em células do excel com vba - sem macro
Bruninha - Neo respondeu ao tópico de Bruninha - Neo em Microsoft Office e similares
Tentei fazer como você falou... mas não está funcionando... segue uma imagem da planilha na qual estou tentado fazer esta fórmula....se puder dar uma olhada, eu agradeço! (tentei enviar a planilha mas o arquivo não foi...) OBS: a digitar na coluna c, aparece a hora do sistema na coluna i... só que eu usar a função Agora() do excel, quando a hora do sistema mudar, muda a hora que foi colocada na coluna também... então montamos o código acima, so que ele só executa a primeira linha da tabela....coloquei o seu código mas não acontece nada e ele fica pedindo pra eu dar um nome para a macro, só que não pode ser uma macro porque o usuário teria que habilitar ela toda hora e mandar executar...tem que ser automatico.. valeu! -
Loop em células do excel com vba - sem macro
Bruninha - Neo postou um tópico em Microsoft Office e similares
Olá, procurei no fórum algum código para esta solução mas não encontrei. O que precisamos é o seguinte: Quando for digitado um número na célula C5, aparece automaticamente na célula i5 a data e a hora do sistema. Porém, eu preciso que em cada célula da coluna c e da coluna i isso aconteça, ou pelo menos até a célula 300... rsrsr. Pra que eu não precise fazer fórmula por fórmula acho q teria q desenvolver um loop, mas todos os códigos que eu tentei falharam... loop next... next célula.... o que eu posso fazer? segue abaixo o código da data que eu mencionei acima: Private Sub Worksheet_Change(ByVal Target As Range) If ((Target.Row = Range("C5").Row And Target.Column = Range("C5").Column)) Then Range("i5").Value = DateTime.Now End If If ((Target.Row = Range("m5").Row And Target.Column = Range("m5").Column)) Then Range("l5").Value = DateTime.Now End If If ((Target.Row = Range("o5").Row And Target.Column = Range("o5").Column)) Then Range("n5").Value = DateTime.Now End If If ((Target.Row = Range("s5").Row And Target.Column = Range("s5").Column)) Then Range("r5").Value = DateTime.Now End If If ((Target.Row = Range("u5").Row And Target.Column = Range("u5").Column)) Then Range("t5").Value = DateTime.Now End If 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