Bruninha - Neo
-
Posts
8 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por Bruninha - Neo
-
-
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.
-
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 SubPreciso 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???
-
Funcionou perfeitamente!!!
Muito obrigada!
-
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 SubPorém, não funciona. Se alguém puder dar uma mão, agradeço.
valeu
-
Noooossaa!! desculpa!! funcionou sim!!!perfeito!!!
Muuito obrigada!!!
-
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!
-
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
Loop em células do excel com vba - sem macro
em Microsoft Office e similares
Postado
Está aparecendo o seguinte erro:
Erro em tempo de execução 1004
O método "Range" do objeto "_Worksheet" falhou.