VBA - EXCEL
pessoal eu programa em ASP com VB a um tempo, agora estou querendo começar a mexer com VBA, então pensei em fazer uma brincadeira aqui, mais não estou conseguindo o resultado esperado.
alguem pode me falar como eu faço para guardar o valor da ultima celula selecionada.
axemplo
celula "A1" = 1
ao me direcionar para a celula "A2" ou "B1" pelas teclas de meu teclado ou não.. pelo mouse mesmo, não muda.
como eu posso quardar o valor de "A1" para que eu utilize na proxima celula selecionada.
alguem pode me falar como eu faço para guardar o valor da ultima celula selecionada.
axemplo
celula "A1" = 1
ao me direcionar para a celula "A2" ou "B1" pelas teclas de meu teclado ou não.. pelo mouse mesmo, não muda.
como eu posso quardar o valor de "A1" para que eu utilize na proxima celula selecionada.
BOM
COLOCA ISSO NO OBJECT WORKBOOK
NESTA PASTA DE TRABALHO
Public var_nvalorCell As String
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Column = 1 And Target.Row = 1 Then
var_nvalorCell = Target.Value
ElseIf Target.Column = 2 And Target.Row = 1 Then
Cells(1, 1).Select
ElseIf Target.Column = 1 And Target.Row = 2 Then
Cells(1, 1).Select
Else
Target.Font.Color = RGB(Rnd() * 255, Rnd() * 255, Rnd() * 255)
Target.Value = var_nvalorCell
End If
End Sub
ESPERO TER AJUDADO
COLOCA ISSO NO OBJECT WORKBOOK
NESTA PASTA DE TRABALHO
Public var_nvalorCell As String
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Column = 1 And Target.Row = 1 Then
var_nvalorCell = Target.Value
ElseIf Target.Column = 2 And Target.Row = 1 Then
Cells(1, 1).Select
ElseIf Target.Column = 1 And Target.Row = 2 Then
Cells(1, 1).Select
Else
Target.Font.Color = RGB(Rnd() * 255, Rnd() * 255, Rnd() * 255)
Target.Value = var_nvalorCell
End If
End Sub
ESPERO TER AJUDADO
Citação:FABIO ALEXANDRE escreveu:
BOM
COLOCA ISSO NO OBJECT WORKBOOK
NESTA PASTA DE TRABALHO
Public var_nvalorCell As String
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Column = 1 And Target.Row = 1 Then
var_nvalorCell = Target.Value
ElseIf Target.Column = 2 And Target.Row = 1 Then
Cells(1, 1).Select
ElseIf Target.Column = 1 And Target.Row = 2 Then
Cells(1, 1).Select
Else
Target.Font.Color = RGB(Rnd() * 255, Rnd() * 255, Rnd() * 255)
Target.Value = var_nvalorCell
End If
End Sub
ESPERO TER AJUDADO
bem e como eu faço para q issu seje dinamico...
a ideia da minha brincadeira seria marcar os "passos" que fiz com a seleção.. então eu pegaria o valor anterior e somaria um assim todo "passo" que eu desse faria a rota na planilha.
é do mesmo jeito que o amigo fábio postou veja:
Tenha um bom dia,
Germanir
Public var_nvalorCell As Integer
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim foi As Boolean
If Target.Column = 1 And Target.Row = 1 And foi = False Then
If IsNumeric(Target.Value) = False Then Exit Sub
var_nvalorCell = Target.Value
foi = True
ElseIf Target.Column = 2 And Target.Row = 1 Then
Cells(1, 1).Select
ElseIf Target.Column = 1 And Target.Row = 2 Then
Cells(1, 1).Select
Else
var_nvalorCell = var_nvalorCell + 1
Target.Font.Color = RGB(Rnd() * 255, Rnd() * 255, Rnd() * 255)
Target.Value = var_nvalorCell
End If
End SubTenha um bom dia,
Germanir
Tópico encerrado , respostas não são mais permitidas