Hola @RubenDario
Faltaría que en cada línea dentro del With le pongas un punto al inicio
With Hoja1
.Range("B6:B18,F6:F18,J6:J18").Select
.Range("J6").Activate
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
.Selection.ClearContents
.Range("A1").Select
End With
Sin embargo, lo que yo haría (si fuese mi proyecto)... te ofrezco varias soluciones.
No asignarlo a una combinación de teclas, mejor ponerlo en una forma o botón.
Modificar tu libro con la app Custom UI Editor o similar y adicionar un botón en el Ribbon, estará visible solo cuando el libro esté activo.
Al principio de tu código pondría algo como: If Thisworkbook.Name <> ActiveWorkbook.Name Then Exit sub
Por
DiegoPC, · publicado
tengo una hoja en la cual necesito seleccionar un rango aleatoriamente, me explico:
columna "A linea 1 a la 10 con datos" capturados manualmente
columna "B linea 1 a la 10 con datos" capturados manualmente
columna "C linea 1 a la 5 con datos" capturados automaticamente
quiero seleccionar de la "C6:C10" y a cada una de las celdas que les falta datos intoducir un dato en forma automatica
mi rutina es la siguiente
Dim celda As range
range("c1").Select 'columna con datos automaticos
ActiveCell.End(xlDown).Activate 'para saber hasta donde tengo datos
ActiveCell.Offset(1, -1).Select 'para saber que datos me faltan en la columna c
r1 = ActiveCell.Address 'establezco el inicio del rango (en este caso sera "B6")
ActiveCell.End(xlDown).Activate 'hasta el ultimo registro escrito
r2 = ActiveCell.Address 'establezco el fin del rango (en este caso sera "B10")
rango = r1 & ":" & r2 'este seria mi rango pero no me lo acepta ("B6:B10")
ActiveCell.Offset(0, 1).Select 'paso el curso a la columna c
For Each celda In Selection.Cells 'bucle, celda que seria la columna c y le falta el dato
ActiveCell.End(xlUp).Activate 'ultimo dato de la columna
ActiveCell.Offset(1, -1).Select 'me paso a la columna b para saber si tiene datos
If ActiveCell <> " " Then 'comparo si la columna "B#" tiene datos
ActiveCell.Offset(0, 1).Select 'me paso a la columna "C#"
ActiveCell = "Julian" 'y copio la informacion faltante
End If 'termino la condicion
Next 'y continuo con el siguiente registo que seria en este caso la C7 si no,,, termino
End Sub
pero solo me lo hace en el primer registro como si el rango solo tuviera un registro no continua con el siguiente