Hacer una macro para dar el valor de una celda activa de una hoja a una variable "casillapreciounitario", para después abrir un

Como Hacer una macro para dar el valor de una celda activa de una hoja a una variable "casillapreciounitario", para después abrir un formulario "frmporcentaje", en el cual tengo un cuadro de texto "TxtPRECIOUNITARIO" y poner el valor de la variable "casilla precio unitario".  Al principio de la macro he puesto "Set casillapreciounitario = ActiveCell.Offset(0, -2).Value" y después un msgbox "la variables es: " & casillapreciounitario, pero no sale nada.

1 Respuesta

Respuesta
1

H o l a:

¿Pero cuál es la celda?

Es mejor si haces referencia a la celda que a la celda seleccionada, sobre todo si estás en un formulario, ya que el formulario está encima de la hoja de excel y no te permite ver en dónde está la celda activa.

Cuando abras el formulario pones esta instrucción:

Private Sub UserForm_Activate()
    TxtPRECIOUNITARIO = Sheets("Hoja1").[D5]
End Sub

Cambia en el código "Hoja1" por el nombre de tu hoja y D5 por la celda que contiene el valor

O puedes ponerlo en una variable:

Private Sub UserForm_Activate()
    casillapreciounitario = Sheets("Hoja1").[D5]
    MsgBox "la variables es: " & casillapreciounitario
    TxtPRECIOUNITARIO = Sheets("Hoja1").[D5]
End Sub

Debes asegurarte que en la celda Sheets("Hoja1").[D5] tengas un valor.


No se si el proyecto es correcto, me explico:

Tengo una tabla con una columna "precio unitario" y otra columna "descuento", el precio unitario lo pongo yo, y al ponerme en lal misma fila en la columna descuento, que seria el cellactive, darle a un botón para abrir un formulario creado con 3 cuadros de texto, el primero TxtPRECIOUNITARIO, quiero que se rellene con la celda de la hoja donde están las columnas, a través de una variable "casillapreciounitario", al ejecutar la macro del botón"procentaje" le pido un msgbox con el valor de la variable "casillapreciounitario" y es correcto, pero no se como pasarlo al formulario al cuadro de texto "txtPRECIOUNITARIO" y que salte al siguiente cuadro de texto para rellenarlo. Gracias por tu comprensión y esfuerzo.

Un abrazo.

Alfredo

Disculpa, pero sigo sin entender lo que necesitas, podrías explicarlo con datos reales, con imágenes.

O envíame tu archivo y me explicas con datos reales, es importante que me expliques con ejemplo, entre mejor explicado tengas el ejemplo más sencillo será realizar la macro.

H o l a:

Te anexo el código para realizar lo que exactamente quieres y te cito:

"el primero TxtPRECIOUNITARIO, quiero que se rellene con la celda de la hoja donde están las columnas, a través de una variable "casillapreciounitario""

Para eso tienes que poner en tu botón lo siguiente:

frmporcentaje.TxtPRECIOUNITARIO = casillapreciounitario

Tu macro quedaría así:

Sub BOTONPORCENTAJE()
    Dim casillapreciounitario As Integer
    casillapreciounitario = ActiveCell.Offset(0, -2)
    MsgBox "el valor de casillapreciounitario es: " & casillapreciounitario
    Load frmporcentaje
    frmporcentaje.TxtPRECIOUNITARIO = casillapreciounitario
    frmporcentaje.Show
    MsgBox "porcentaje= " & porcentaje
    ActiveCell.Offset(0, 0) = porcentaje
End Sub

El siguiente punto que pides es: 

"y que salte al siguiente cuadro de texto para rellenarlo"

Para esto tienes que poner el siguiente evento dentro de tu formulario:

Private Sub UserForm_Activate()
    TxtPRECIOFINALVENTA.SetFocus
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas