Cómo hacer para que un valor de cuadro de texto sea reconocido por el objeto Range

De manera atenta quisiera solicitarles el favor de decirme qué puedo hacer para que el objeto Range reconozca un valor que el usuario digita en un cuadro de texto en un formulario. El código se resume de la siguiente manera:

Valor=Userform1. Textbox1.value (o .text, también lo he intentado)

Rango_fórmula=Worksheets("Hoja1").Range(Cells(1,1),Cells(10,Valor))

El problema se presenta cuando se coloca el parámetro Valor en el rango Rango_Fórmula, situación a la que no le encuentro sentido pues la sintaxis aparentemente es correcta.

De antemano agradezco su atención a la presente y alguna orientación que me puedan dar al respecto.

1 Respuesta

Respuesta
1

H o l a: Según entiendo en el textbox vas a poner el número de columna para completar el rango desde la celda(1,1) hasta la celda (10, valor). Si es así, entonces quedaría así:

    valor = Val(UserForm1.TextBox1.Value)
    If valor = "" Or Not IsNumeric(valor) Or valor < 1 Then
        MsgBox "Introduce un valor en el textbox"
        Exit Sub
    End If
    '
    'establecer la hoja en el objeto h
    Set h = Worksheets("Hoja1")
    'establecer el rango en el objeto rango_formula
    Set rango_formula = h.Range(h.Cells(1, 1), h.Cells(10, valor))
    '
    'por ejemplo, obtener el rango
    rango = rango_formula.Address
    'por ejemplo, obtener la hoja
    hoja = rango_formula.Worksheet.Name
    'por ejemplo, obtener el libro
    libro = rango_formula.Worksheet.Parent.Name
    '
    MsgBox libro & " " & hoja & " " & rango

En el rango range(cells(), cells()) tienes también que poner a cuál hoja pertenece cada celda, entonces quedaría así: h.Range(h.Cells(1, 1), h.Cells(10, valor))

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Mil gracias Dante Amor por este significativo aporte, me ha sido de mucha utilidad y he comprendido el motivo del error. Muchos éxitos y saludos.

Atentamente

Luz

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas