Datos de variables a celdas

08/12/2007 - 05:01 por ElProfe | Informe spam
Amigos del grupo:

Debo capturar varios datos en una hoja de Excel;
-Unos datos son automáticos como la fecha [=hoy()]
-Algunos son introducidos directamente a una celda, como el valor ($$)
-Otros son capturados a unas variables VBA por medio de MsgBox (nombre
y # de identidad)
y despues debo trasladar todos los datos a unas celdas que están en
una sola fila, donde cada celda tiene un nombre, pero es justo allí
donde algo falla y no encuentro la razón.
El codigo es el siguiente:

'Ingreso el ID a una variable
NID = InputBox("Ingrese el ID", , 8000, 5000)

'-Intento- pasar el ID a la celda que se denomina _RNr1
[_RNr1] = NID
'Me reporta falla!

'lo intento de otras maneras...
[_RNr1] = (NID) ó [_RNr1] = "NID"
... y tambien falla!

La verdad es que no se com se hace y adivinando no creo lograrlo; por
eso acudo a ustedes,los que saben. Por favor me indican como se hace y
que estoy haciendo mal?

Gracias anticipadas y saludos a todos.

Cordialmente,

ElProfe

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
08/12/2007 - 05:59 | Informe spam
hola, Manuel !

el codigo que expones (bajo las condiciones que comentas) funciona como se espera (al menos para mi)
serviria si comentas algunos detalles adicionales (p.e.)

- cual es el error que obtienes (numero y texto del mensje)
- (probablemente) declaras y usas la variable en un procedimiento y en otro procedimiento tratas de hacer el "pase" ?
- revisa si tienes alguna referencia perdida en el proyecto de macros (menu: herramientas / referencias...)
- algo que se estuviera quedando en el tintero ?

saludos,
hector.

__ la consulta original __
Debo capturar varios datos en una hoja de Excel;
-Unos datos son automáticos como la fecha [=hoy()]
-Algunos son introducidos directamente a una celda, como el valor ($$)
-Otros son capturados a unas variables VBA por medio de MsgBox (nombre y # de identidad)
y despues debo trasladar todos los datos a unas celdas que estan en una sola fila
donde cada celda tiene un nombre, pero es justo alli donde algo falla y no encuentro la razon.
El codigo es el siguiente:
'Ingreso el ID a una variable
NID = InputBox("Ingrese el ID", , 8000, 5000)
'-Intento- pasar el ID a la celda que se denomina _RNr1
[_RNr1] = NID
'Me reporta falla!
'lo intento de otras maneras...
[_RNr1] = (NID) ó [_RNr1] = "NID"
... y tambien falla!
La verdad es que no se com se hace y adivinando no creo lograrlo... como se hace y que estoy haciendo mal?
Respuesta Responder a este mensaje
#2 ElProfe
08/12/2007 - 06:13 | Informe spam
Hola Héctor Miguel:

Según lo que comentas, reconozco tener varios errores:
1) No he declarado las variables (no sabría como declararlas, una
variable es para un valor en dinero y la otra es para el un nombre de
persona)
2) Uso la variable un un primer procedimiento Sub() Datos y trato de
hacer el pase en otro procedimiento Sub() Actualizar
3) Ambos procedimientos están en el mismo módulo.

No se Héctor si se requiera de alguna información mas para conocer mi
error.

Gracias por tu ayuda

Manuel


hola, Manuel !

el codigo que expones (bajo las condiciones que comentas) funciona como se espera (al menos para mi)
serviria si comentas algunos detalles adicionales (p.e.)

- cual es el error que obtienes (numero y texto del mensje)
- (probablemente) declaras y usas la variable en un procedimiento y en otro procedimiento tratas de hacer el "pase" ?
- revisa si tienes alguna referencia perdida en el proyecto de macros (menu: herramientas / referencias...)
- algo que se estuviera quedando en el tintero ?

saludos,
hector.
Respuesta Responder a este mensaje
#3 Héctor Miguel
08/12/2007 - 06:24 | Informe spam
hola, Manuel !

1) No he declarado las variables (no sabria como declararlas
una variable es para un valor en dinero y la otra es para el un nombre de persona)
2) Uso la variable un un primer procedimiento Sub() Datos y trato de hacer el pase en otro procedimiento Sub() Actualizar
3) Ambos procedimientos estan en el mismo modulo...



-> declara tus variables en la seccion de variables (la parte inicial) de todo modulo ANTES de cualquier procedimiento
asigna el tipo de datos segun el proposito de la variable (p.e.)

Dim MiVariableDeTexto As String, MiVariableDeDinero As Double

Sub Datos()
MiVariableDeTexto = Inpubox(.
End Sub

Sub Actualizar()
Rango("celda_para_texto") = MiVariableDeTexto
End Sub

saludos,
hector.

el codigo que expones (bajo las condiciones que comentas) funciona como se espera (al menos para mi)
serviria si comentas algunos detalles adicionales (p.e.)

- cual es el error que obtienes (numero y texto del mensje)
- (probablemente) declaras y usas la variable en un procedimiento y en otro procedimiento tratas de hacer el "pase" ?
- revisa si tienes alguna referencia perdida en el proyecto de macros (menu: herramientas / referencias...)
- algo que se estuviera quedando en el tintero ?
Respuesta Responder a este mensaje
#4 ElProfe
08/12/2007 - 06:53 | Informe spam
Hola Héctor Miguel:

Hice algunas correcciones pero no me funcionó; seguro algo está remal
en mi modesta lógica.

El código totoal es el siguiente:
Dim NChq As Double, NNit As Double, Benef As String
Sub Datos()
Range("_APag").Value = InputBox("Valor a pagar", "Ingrese el
valor a girar", , 8000, 5000)
Benef = UCase(InputBox("Ingrese nombre del beneficiario del
pago", "Beneficiario", , 8000, 5000))
NNit = InputBox("Ingrese el NIT ó RUT", , 8000, 5000)
NChq = InputBox("Ingrese número del cheque", "Número del cheque",
3, 8000, 5000)
Range("_Benef").Value = Benef & "*-* NIT *-*" & NNit
Range("_NEgre").Value = Range("_NEgre").Value + 1
[_Nit1] = NNit
[_Nit2] = NNit
[_Nit3] = NNit
[_Nit4] = NNit
[_Nit5] = NNit
[_Nit6] = NNit
Range("_TipEgr").Select
End Sub

Sub Actualizar()
'***Inicia registro***
[_RTcd1] = 2 'Tipo CD
[_Rfh1] = Date 'Fecha
[_Rpc1] = Range("B19") 'Puc y cuenta
[_Rcl1] = ("CE") 'Clase
[_Rdc1] = [_NEgre] '# Documento
[_RDet1] = Range("B17") 'Detalle
Rango("_RNr1") = NNit 'Nit ó Rut (**)
Rango("_RTr1") = Benef 'Nombre de tercero (**)
[_RCc11] = Range("F19") 'Centro de costo # 1
[_RCc21] = ("") 'Centro de costo # 2
[_RBs1] = Range("H19") 'Vr base para impuestos
[_RTf1] = Range("I19") 'Tarifa para impuestos
[_RDb1] = Range("H19") 'Vr Débito
[_RCr1] = "" 'Vr Crédito
End Sub

Los renglones marcados con (**) son los que no me "pasan" los datos.

Gracias Hétor por tu ayuda

Saludos,

Manuel
Respuesta Responder a este mensaje
#5 Héctor Miguel
08/12/2007 - 07:27 | Informe spam
hola, Manuel !

Hice algunas correcciones pero no me funciono; seguro algo esta remal en mi modesta logica...



del codigo que expones, las lines que no pasan...
Rango("_RNr1") = NNit 'Nit ó Rut (**)
Rango("_RTr1") = Benef 'Nombre de tercero (**)

se debe a que vba es US-Centric y no reconoce la palabra "clave" Rango sino -> Range (con "e" al final) :D
Range("_RNr1") = NNit 'Nit ó Rut (**)
Range("_RTr1") = Benef 'Nombre de tercero (**)

saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida