Excel - Macro: Una variable dentro de range

 
Vista:

Macro: Una variable dentro de range

Publicado por Jorge (5 intervenciones) el 10/08/2012 21:37:10
Se puede declarar una variable y luego utilizarla dentro de range(). Para aclarar estoy intentando seleccionar una cierta cantidad de filas y que son todas pares. Para esto se me había ocurrido hacerlo utilizando for, pero no estoy seguro si se puede hacer algo como escribir Range(lavariabledeclarada).select
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Macro: Una variable dentro de range

Publicado por Hocal (3 intervenciones) el 10/08/2012 22:28:42
Hola,

Puedes utilizar la siguiente expresión:
1
Worksheets("Hoja1").Range(Cells(1, 1), Cells(10, 10)).Select

Debes personalizar el nombre de la Hoja (Hoja 1 en mi caso) donde quieras seleccionar este rango.
Dentro de la función rango, debes seleccionar la celda superior izquierda (Cells(1,1)) y la celda inferior derecha (Cells(10,10)) del rango que deseas seleccionar.

Puedes parametrizar esta función por ejemplo 4 estas cuatros variables: fila_inicio, rango_filas, columna_inicio y rango_columnas

Entonces la expresión sería:
1
Worksheets("Hoja1").Range(Cells(fila_inicio, columna_inicio), Cells(fila_inicio + rango_filas, columna_inicio + rango_columnas)).Select


¡Espero que la respuesta te sea de utilidad!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JuanC

Macro: Una variable dentro de range

Publicado por JuanC (1237 intervenciones) el 11/08/2012 13:05:25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Sub Select2()
Dim A As Range
Dim C As Range, ws As Worksheet, aws As Worksheet
With Application
 .DisplayAlerts = False
 .ScreenUpdating = False
 .EnableEvents = False
 .Calculation = xlCalculationManual
End With
Set aws = ActiveSheet
Set A = Range("A1:A20")
Set ws = Worksheets.Add
For Each C In A
   With C
    If (.Row Mod 2) = 0 Then
       ws.Range(.Address(0, 0)).Value = 1
    End If
   End With
Next
ws.Range("A:A").SpecialCells(xlCellTypeConstants).Select
aws.Select 0
ws.Delete
With Application
 .DisplayAlerts = True
 .ScreenUpdating = True
 .EnableEvents = True
 .Calculation = xlCalculationAutomatic
End With
Set A = Nothing
Set C = Nothing
Set ws = Nothing
Set aws = Nothing
End Sub


Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Macro: Una variable dentro de range

Publicado por Andres Hernandez (1 intervención) el 19/11/2013 17:38:52
1
2
3
4
5
6
7
8
9
Y = 1
Do While Range("A" & Y) <> Empty
    Y = Y + 1
Loop
.....
 
Range("B2:G2").Select
    Selection.AutoFill Destination:=Range("B2:G" & Y)
    Range("B3:G" & Y).Select
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Macro: Una variable dentro de range

Publicado por Samuel (1 intervención) el 15/06/2018 22:06:01
Justo esto estaba necesitando me hice una idea pero no lo habia hecho bien. Mas de 6 horas intentando lograrlo y asi lo hice solo que no necesite el ciclo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Macro: Una variable dentro de range

Publicado por Arley (1 intervención) el 20/11/2019 16:33:39
Hola, aquí un novato.

he querido introducir la variable dentro del objeto y me lanza un error

1
2
3
4
Case Is = 3
    Sheets("lote 3").Cells("18, 1") = Sheets("inventario").Range("A" & i)
    Sheets("lote 3").Cells("18, 2") = Sheets("inventario").Cells(i & ", 2")
    Sheets("lote 3").Cells("18, 3") = Sheets("inventario").Cells("i, 3")

no sé como más intentarlo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andres Leonardo
Val: 3.136
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Macro: Una variable dentro de range

Publicado por Andres Leonardo (1583 intervenciones) el 20/11/2019 18:44:09
Intenta asi

1
2
3
4
5
Case Is = 3
'te falta decir que le quieres dar de una celda a otra .,. si es el valor o formato etc ....
    Sheets("lote 3").Cells("18, 1").value = Sheets("inventario").Range("A" & i).value
    Sheets("lote 3").Cells("18, 2").value = Sheets("inventario").Cells(i & ", 2").value
    Sheets("lote 3").Cells("18, 3").value = Sheets("inventario").Cells("i, 3").value
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alfredo
Val: 363
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Macro: Una variable dentro de range

Publicado por Alfredo (120 intervenciones) el 21/11/2019 01:37:22
Hola Arley

Ya te fijaste que estas escribiendo las referencias como cadenas de texto.

Cuando deseas referenciar usando RANGE se escribe como cadena y para CELLS es numérico, P.ej:

Sheets("Lote3").Range("B18")
Sheets("Lote3").Cells(18, 2)
Los dos ejemplos anteriores apunta a la misma celda (B18)

En tu ejemplo debería ser:

1
2
3
4
5
Sheets("lote 3").Cells(18, 1) = Sheets("inventario").Range("A" &  i)
 
Sheets("lote 3").Cells(18, 2) = Sheets("inventario").Cells( i , 2)
 
Sheets("lote 3").Cells(18, 3) = Sheets("inventario").Cells( i, 3)

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar