Ayuda en Visual Basic con excel para programar

Hola como esta, lo que necesito es que en excel utilizando visual basic mediante un control de evento si yo escribo algo en la celda A1 de la hoja1 se escriba lo mismo en la Hoja A1 de la hoja2, lo que necesito es conectar varias columnas y celdas de diferentes hojas a una hoja final este es el código que estoy usando, lo que hace es conectar las celdas de una por una.Lo que quiero saber es si se puede hacer lo mismo pero por rangos por ejemplo conectar de la celda A1 a la A100 de la B1 a la B100 y no una por una como lo estoy haciendo ahorita. Porque el problema que tengo es que después de conectar varias celdas me lanza el mensaje de error de que la compilación es muy larga y no puede procesarla.
Private Sub Worksheet_Change(ByVal CeldaEditada As Range)
Dim RangoCeldaEditada As String
RangoCeldaEditada = Replace(CeldaEditada.Address, "$", "")
If RangoCeldaEditada = "A1" Then
HojaActual = ActiveSheet.Name
Sheets("Hoja2").Range("A1").Value = CeldaEditada.Value
End If
End Sub
Y en la Hoja 2:
Private Sub Worksheet_Change(ByVal CeldaEditada As Range)
Dim RangoCeldaEditada As String
RangoCeldaEditada = Replace(CeldaEditada.Address, "$", "")
If RangoCeldaEditada = "A1" Then
HojaActual = ActiveSheet.Name
Sheets("Hoja1").Range("A1").Value = CeldaEditada.Value
End If
End Sub
{"Lat":9.43822439134335,"Lng":-83.759765625}

1 Respuesta

Respuesta
1
Prueba este código:
Private Sub Worksheet_Change(ByVal Target As Range)
 Dim FilaIni, FilaFin, col As Integer
 FilaIni = 1
 FilaFin = 100
 col = 1
 If Target.Column = col And (Target.Row >= FilaIni And Target.Row <= FilaFin) Then
  Hoja2.Cells(Target.Row, Target.Column).Value = Cells(Target.Row, Target.Column).Value
 End If
End Sub
Funciona para el rango a1:a100.
Ya me contarás cómo te fue.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas