![]() |
| |||||||
| Registrarse | Preguntas Frecuentes | Lista de Foreros | Calendario | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
| | LinkBack | Herramientas | Desplegado |
| |||
| 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 |
| | ||||
| ||||
| |
| |||
| 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? |
| |||
| 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 seespera (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. |
| |||
| 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 ? |
| |||
| 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 |
| |||
| 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) ![]() Range("_RNr1") = NNit 'Nit ó Rut (**) Range("_RTr1") = Benef 'Nombre de tercero (**) saludos, hector. |
| |||
| Hola Héctor Miguel: Que torpe fui! Justo en esas dos lineas olvidé escribir "Range". Como siempre, tu orientación hizo que el código funcionara muy bien; ya lo probé y cumple el propósito. De nuevo gracias por tu ayuda y perdona mi "chispoteada" (creo que fue el cansancio de la madrugada) Saludos, ElProfe Manuel |
| |
| |
![]() |
| Herramientas | |
| Desplegado | |
| |
Temas Similares | ||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Validación de datos de celdas con fórmulas | asquipe | Newsgroup microsoft.public.es.excel | 6 | 03-03-2008 20:28:02 |
| ¿Validacion de celdas al pegar datos? | Daniel DomÃnguez | Newsgroup microsoft.public.es.excel | 1 | 20-02-2008 03:47:03 |
| Datos Variables | Plextor | Newsgroup es.comp.lenguajes.c | 12 | 11-04-2007 08:46:52 |
| Pasar datos de un DataView a unas variables | Armando Ballesteros S. | Newsgroup microsoft.public.es.desarrollo | 16 | 07-07-2005 11:37:10 |
| Obtener datos históricos de variables macroeconómicas | David | Newsgroup es.charla.economia.misc | 14 | 30-10-2004 21:11:46 |