Numero almacenado como texto

17/08/2006 - 15:36 por Mango | Informe spam
Buenos dias, estoy haciendo un programa en excel para la realizar la
produccion de mi empresa, el programa contiene macros, los cuales
simplemente son para poner cuanto se quiere producir y el me devuelve
cuanto hay que agragar de cada materia prima, al programa le agregue la
opcion que cuando me haga la formulacion me de la opcion de guardar en
un hoja de calculo los resultados e ingresar el numero del lote que se
va a producir, pero cuando le doy en aceptar el pasa todo a la hoja de
calculo como lo desee, pero todo queda como si fuera formato de texto y
en realidad son numeros, asi que no puedo sumar la tatalidad de
produccion sin antes darle click en cada celda y convertir en numero,
quisiera saber que puedo hacer para corregir este error, excel me da la
opcion de escojer el rango y multiplicarlo por 1, pero entre mas grande
se vuelve la base de datos mas lento se pone macro para transformar lo
requerido en numeros y ciertas celdas que contien formulas son
remplazadas por el valor y borran la formula

hay algun comando en los macros para que el directamente lo tome como
valor numerico y no texto. el programa tiene varias partes y es muy
extenso asi que solo pondre el codigo de como guardo los datos.

'Accion que es ejecuta el dar Click En Formular

Private Sub Guardar_Click()

Dim iRow As Long
Dim ws As Worksheet

'FMC

If Worksheets("Referencias").Cells(2, 3) = 1 Then
Set ws = Worksheets("Informe FMC")
'Comando Para Encontrar La Primera Fila Vacia en la Base de Datos
iRow = ws.Cells(Rows.Count, 1) _
.End(xlUp).Offset(1, 0).Row

If Worksheets("Referencias").Cells(2, 2) = 1 = True Then

ws.Cells(iRow, 1).Value = Formular.txtDate.Value
ws.Cells(iRow, 2).Value = Formular.Reactor.Value
ws.Cells(iRow, 3).Value = Formular.Reaccion.Value

ws.Cells(iRow, 4).Value = Worksheets("FMC").Range("C7").Value
ws.Cells(iRow, 6).Value = Worksheets("FMC").Range("C14").Value
ws.Cells(iRow, 7).Value = Worksheets("FMC").Range("C8").Value


Else

ws.Cells(iRow, 1).Value = Formular.txtDate.Value
ws.Cells(iRow, 2).Value = Formular.Reactor.Value
ws.Cells(iRow, 3).Value = Formular.Reaccion.Value

ws.Cells(iRow, 4).Value = Worksheets("FMC").Range("G7").Value
ws.Cells(iRow, 6).Value = Worksheets("FMC").Range("G14").Value
ws.Cells(iRow, 7).Value = Worksheets("FMC").Range("G8").Value

End If
End If

Formular.Hide
Inicio.Show
Unload Me

End Sub


Nota: lo unico que me queda en formato numerico es cuando ingreso la
opcion de numero de lote.

Preguntas similare

Leer las respuestas

#1 AnSanVal
17/08/2006 - 17:02 | Informe spam
CONVERTIR "NÚMEROS TEXTO" A NÚMEROS ORDINARIOS.
1. En una celda vacía, escribe el número 1.
2. Selecciona la celda y en el menú Edición, haz clic en Copiar.
3. Selecciona el rango de números almacenados como texto que deseas
convertir a números.
4. En el menú Edición, haz clic en Pegado especial.
5. En Operación, haz clic en Multiplicar.
6. Haz clic en Aceptar.
7. Elimina el contenido de la celda introducido en el primer paso.

Saludos desde Tenerife (España).
********************************

"Mango" escribió en el mensaje
news:
Buenos dias, estoy haciendo un programa en excel para la realizar la
produccion de mi empresa, el programa contiene macros, los cuales
simplemente son para poner cuanto se quiere producir y el me devuelve
cuanto hay que agragar de cada materia prima, al programa le agregue la
opcion que cuando me haga la formulacion me de la opcion de guardar en
un hoja de calculo los resultados e ingresar el numero del lote que se
va a producir, pero cuando le doy en aceptar el pasa todo a la hoja de
calculo como lo desee, pero todo queda como si fuera formato de texto y
en realidad son numeros, asi que no puedo sumar la tatalidad de
produccion sin antes darle click en cada celda y convertir en numero,
quisiera saber que puedo hacer para corregir este error, excel me da la
opcion de escojer el rango y multiplicarlo por 1, pero entre mas grande
se vuelve la base de datos mas lento se pone macro para transformar lo
requerido en numeros y ciertas celdas que contien formulas son
remplazadas por el valor y borran la formula

hay algun comando en los macros para que el directamente lo tome como
valor numerico y no texto. el programa tiene varias partes y es muy
extenso asi que solo pondre el codigo de como guardo los datos.

'Accion que es ejecuta el dar Click En Formular

Private Sub Guardar_Click()

Dim iRow As Long
Dim ws As Worksheet

'FMC

If Worksheets("Referencias").Cells(2, 3) = 1 Then
Set ws = Worksheets("Informe FMC")
'Comando Para Encontrar La Primera Fila Vacia en la Base de Datos
iRow = ws.Cells(Rows.Count, 1) _
.End(xlUp).Offset(1, 0).Row

If Worksheets("Referencias").Cells(2, 2) = 1 = True Then

ws.Cells(iRow, 1).Value = Formular.txtDate.Value
ws.Cells(iRow, 2).Value = Formular.Reactor.Value
ws.Cells(iRow, 3).Value = Formular.Reaccion.Value

ws.Cells(iRow, 4).Value = Worksheets("FMC").Range("C7").Value
ws.Cells(iRow, 6).Value = Worksheets("FMC").Range("C14").Value
ws.Cells(iRow, 7).Value = Worksheets("FMC").Range("C8").Value


Else

ws.Cells(iRow, 1).Value = Formular.txtDate.Value
ws.Cells(iRow, 2).Value = Formular.Reactor.Value
ws.Cells(iRow, 3).Value = Formular.Reaccion.Value

ws.Cells(iRow, 4).Value = Worksheets("FMC").Range("G7").Value
ws.Cells(iRow, 6).Value = Worksheets("FMC").Range("G14").Value
ws.Cells(iRow, 7).Value = Worksheets("FMC").Range("G8").Value

End If
End If

Formular.Hide
Inicio.Show
Unload Me

End Sub


Nota: lo unico que me queda en formato numerico es cuando ingreso la
opcion de numero de lote.

Respuesta Responder a este mensaje
#2 Mango
17/08/2006 - 23:43 | Informe spam
AnSanVal ha escrito:

CONVERTIR "NÚMEROS TEXTO" A NÚMEROS ORDINARIOS.
1. En una celda vacía, escribe el número 1.
2. Selecciona la celda y en el menú Edición, haz clic en Copiar.
3. Selecciona el rango de números almacenados como texto que deseas
convertir a números.
4. En el menú Edición, haz clic en Pegado especial.
5. En Operación, haz clic en Multiplicar.
6. Haz clic en Aceptar.
7. Elimina el contenido de la celda introducido en el primer paso.




eso lo intente y si me funciono, pero es una operacion que tengo que
hacer manualmente, ya que lo introduje en un macro que lo hiciera justo
despues de ingresar los datos y sigue igual en formato texto, me
explico, doy click en aceptar el guarda los datos en la hoja de datos y
luego selecciona la ultima fila y la multiplica por *1 pero cuando sale
del macro vuelve a estar igual!!!, por eso deseo saber si hay alguna
forma de hacer que quede como numero, como en value se pueda poner algo
asi como numericvalue o algo por el estilo?? sera que se puede? por que
el programa es para dejar en la planta y los operarios hagan la
produccion y esto me dje todo guardado en la hajo de calculo
Respuesta Responder a este mensaje
#3 DBE
18/08/2006 - 00:27 | Informe spam
y si utlizas en la macro la funcion de conversion de tipo algo asi:

ws.Cells(iRow, 1).Value = CInt(Formular.txtDate.Value)
ws.Cells(iRow, 2).Value = CLng(Formular.Reactor.Value)
ws.Cells(iRow, 3).Value = CDate(Formular.Reaccion.Value)

Ejemplo de la función CLng
En este ejemplo se utiliza la función CLng para convertir un valor a un tipo
de datos Long.

Dim MiValor1, MiValor2, MiLargo1, MiLargo2
MiValor1 = 25427.45: MiValor2 = 25427.55 ' MiValor1, MiValor2 son
Doubles.
MiLargo1 = CLng(MiValor1) ' MiLargo1 contiene 25427.
MiLargo2 = CLng(MiValor2) ' MiLargo2 contiene 25428.tambien existe una
funcion para cada tipo que
necesitesCBool(expresión)CByte(expresión)CCur(expresión)CDate(expresión)CDbl(expresión)CDec(expresión)CInt(expresión)CLng(expresión)CSng(expresión)CStr(expresión)CVar(expresión)"Mango"
escribió en el mensaje
news:

AnSanVal ha escrito:

CONVERTIR "NÚMEROS TEXTO" A NÚMEROS ORDINARIOS.
1. En una celda vacía, escribe el número 1.
2. Selecciona la celda y en el menú Edición, haz clic en Copiar.
3. Selecciona el rango de números almacenados como texto que deseas
convertir a números.
4. En el menú Edición, haz clic en Pegado especial.
5. En Operación, haz clic en Multiplicar.
6. Haz clic en Aceptar.
7. Elimina el contenido de la celda introducido en el primer paso.




eso lo intente y si me funciono, pero es una operacion que tengo que
hacer manualmente, ya que lo introduje en un macro que lo hiciera justo
despues de ingresar los datos y sigue igual en formato texto, me
explico, doy click en aceptar el guarda los datos en la hoja de datos y
luego selecciona la ultima fila y la multiplica por *1 pero cuando sale
del macro vuelve a estar igual!!!, por eso deseo saber si hay alguna
forma de hacer que quede como numero, como en value se pueda poner algo
asi como numericvalue o algo por el estilo?? sera que se puede? por que
el programa es para dejar en la planta y los operarios hagan la
produccion y esto me dje todo guardado en la hajo de calculo
Respuesta Responder a este mensaje
#4 AnSanVal
18/08/2006 - 14:48 | Informe spam
Prueba esto:

Sub TextoAnumero()
Dim miDir$
Dim prop$
Dim Dest%
On Error GoTo salir ' controla si no es dirección de celda.
If Cells(1, 1) <> "" Then prop = Cells(1, 1).CurrentRegion.Address ' rango
propuesto.
dir:
miDir = InputBox("RANGO DE ""númerosTexto"" A CONVERTIR." & vbCr & vbCr &
_
"(Si el rango contiene texto no numérico," & vbCr & "p.e.: ""Mario
Díaz"", " _
& " ¡ SERÁ BORRADO ! )", "AnSanVal", prop)
If miDir = "" Then Exit Sub ' Cancelar o cadena vacia.
Range(miDir).Select ' si miDir no es una dirección válida, da error.
miDir = ActiveCell.Address ' primera celda de la selección
Dest = 257 - Selection.Columns.Count
Selection.Copy
Cells(1, Dest).PasteSpecial Paste:=xlPasteAll, Operation:=xlAdd ' valor +
0 (cero)
Selection.Cut ' borra (corta) para dejar la columna en blanco.
Range(miDir).Select ' Pega los datos ya
ActiveSheet.Paste ' convertidos en el
ActiveCell.Select ' rango de origen.
Application.CutCopyMode = False
salir:
If Error = "Error en el método 'Range' de objeto '_Global'" Then _
MsgBox "Error en la dirección escrita.", 16, "AnSanVal"
End Sub ' TextoAnumero

Saludos desde Tenerife (España).
**********************************
"Mango" escribió en el mensaje
news:

AnSanVal ha escrito:

CONVERTIR "NÚMEROS TEXTO" A NÚMEROS ORDINARIOS.
1. En una celda vacía, escribe el número 1.
2. Selecciona la celda y en el menú Edición, haz clic en Copiar.
3. Selecciona el rango de números almacenados como texto que deseas
convertir a números.
4. En el menú Edición, haz clic en Pegado especial.
5. En Operación, haz clic en Multiplicar.
6. Haz clic en Aceptar.
7. Elimina el contenido de la celda introducido en el primer paso.




eso lo intente y si me funciono, pero es una operacion que tengo que
hacer manualmente, ya que lo introduje en un macro que lo hiciera justo
despues de ingresar los datos y sigue igual en formato texto, me
explico, doy click en aceptar el guarda los datos en la hoja de datos y
luego selecciona la ultima fila y la multiplica por *1 pero cuando sale
del macro vuelve a estar igual!!!, por eso deseo saber si hay alguna
forma de hacer que quede como numero, como en value se pueda poner algo
asi como numericvalue o algo por el estilo?? sera que se puede? por que
el programa es para dejar en la planta y los operarios hagan la
produccion y esto me dje todo guardado en la hajo de calculo
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida