Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

¿Cómo definir formato de celda en Excel desde VB 6.0?

Estas en el tema de ¿Cómo definir formato de celda en Excel desde VB 6.0? en el foro de Visual Basic clásico en Foros del Web. Hola: Tengo que pasar datos de un archivo de texto a EXCEL, y de aquí cogí el ejemplo que me funciona correctamente: http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/188-csv-a-excel.htm pero me ...
  #1 (permalink)  
Antiguo 11/04/2008, 09:35
 
Fecha de Ingreso: abril-2008
Mensajes: 3
Antigüedad: 16 años
Puntos: 0
Pregunta ¿Cómo definir formato de celda en Excel desde VB 6.0?

Hola:

Tengo que pasar datos de un archivo de texto a EXCEL, y de aquí cogí el ejemplo que me funciona correctamente:

http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/188-csv-a-excel.htm

pero me surge un problema:

Me coge los campos númericos como número y no como texto.

Si hago una importación desde el EXECL, al ir definiendo los campos le puedes indicar qué tipo de formato es: texto, número, fecha, etc.

¿Sabe alguien si desde la aplicación en VB se le puede definir el tipo de formato que tendrá la columna?.

En el archivo de texto le mando campos numéricos como el código de barras, que no debe tratar como número (8,431212+E12), sino como texto.


Gracias y un saludo.
  #2 (permalink)  
Antiguo 11/04/2008, 10:35
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Re: ¿Cómo definir formato de celda en Excel desde VB 6.0?

Con la propiedad NumberFormat. Supongamos que la columna que quieres formatear es la 5:

Código:
objetoExcel.Columns(5).Select
objetoExcel.selection.NumberFormat = "#,##0.00"
Un saludo

Ah, olvidé decirte que el formato de texto en Excel es la arroba:

objetoExcel.Selection.NumberFormat = "@"

Última edición por Avellaneda; 11/04/2008 a las 11:20
  #3 (permalink)  
Antiguo 11/04/2008, 12:56
 
Fecha de Ingreso: abril-2008
Mensajes: 3
Antigüedad: 16 años
Puntos: 0
Re: ¿Cómo definir formato de celda en Excel desde VB 6.0?

Muchísimas gracias. Es que por más que he buscado por Internet no he encontrado nada que hiciera referencia.

  #4 (permalink)  
Antiguo 21/04/2008, 07:14
 
Fecha de Ingreso: abril-2008
Mensajes: 2
Antigüedad: 16 años
Puntos: 0
Re: ¿Cómo definir formato de celda en Excel desde VB 6.0?

buenas, tengo una pregunta relacionada con esto mismo


como se hace para definir el background color, tamaño de letra, etc de una celda desde aca desde visual?

gracias d antemano
  #5 (permalink)  
Antiguo 21/04/2008, 08:02
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Re: ¿Cómo definir formato de celda en Excel desde VB 6.0?

Buenas,

Código:
 Dim oExcel As Excel.Application
    Dim oWBook As Excel.Workbook
    Dim oSheet As Excel.Worksheet

    Set oExcel = New Excel.Application  ' abrimos un Objeto Excel
    Set oWBook = oExcel.Workbooks.Add   ' le añadimos un libro
    Set oSheet = oWBook.Worksheets(1)   ' seleccionamos la Hoja1
    With oSheet.Cells(1, 1) ' seleccionamos la 1ª celda
        .Interior.ColorIndex = 41   ' Color fondo = azul
        .Font.Size = 14             ' tamaño de letra
        .Font.Bold = True           ' Fuente en negrita
        .Font.ColorIndex = 2        ' Color fuente = blanco
    End With
Te aconsejo que abras una hoja Excel y generes una macro con lo que quieres hacer y después copies el código a VB (excepto en escasas ocasiones, es igual).

Un saludo
  #6 (permalink)  
Antiguo 22/04/2008, 10:23
 
Fecha de Ingreso: abril-2008
Mensajes: 2
Antigüedad: 16 años
Puntos: 0
Re: ¿Cómo definir formato de celda en Excel desde VB 6.0?

Cita:
Iniciado por Avellaneda Ver Mensaje
Buenas,

Código:
 Dim oExcel As Excel.Application
    Dim oWBook As Excel.Workbook
    Dim oSheet As Excel.Worksheet

    Set oExcel = New Excel.Application  ' abrimos un Objeto Excel
    Set oWBook = oExcel.Workbooks.Add   ' le añadimos un libro
    Set oSheet = oWBook.Worksheets(1)   ' seleccionamos la Hoja1
    With oSheet.Cells(1, 1) ' seleccionamos la 1ª celda
        .Interior.ColorIndex = 41   ' Color fondo = azul
        .Font.Size = 14             ' tamaño de letra
        .Font.Bold = True           ' Fuente en negrita
        .Font.ColorIndex = 2        ' Color fuente = blanco
    End With
Te aconsejo que abras una hoja Excel y generes una macro con lo que quieres hacer y después copies el código a VB (excepto en escasas ocasiones, es igual).

Un saludo

muchas gracias amigo, se te agradece
  #7 (permalink)  
Antiguo 11/08/2008, 16:54
 
Fecha de Ingreso: agosto-2008
Mensajes: 1
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: ¿Cómo definir formato de celda en Excel desde VB 6.0?

hola tengo el mismo problema, pero con formato de fecha... si me pueden ayudar


Cita:
Iniciado por Nandu_ros Ver Mensaje
Hola:

Tengo que pasar datos de un archivo de texto a EXCEL, y de aquí cogí el ejemplo que me funciona correctamente:

http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/188-csv-a-excel.htm

pero me surge un problema:

Me coge los campos númericos como número y no como texto.

Si hago una importación desde el EXECL, al ir definiendo los campos le puedes indicar qué tipo de formato es: texto, número, fecha, etc.

¿Sabe alguien si desde la aplicación en VB se le puede definir el tipo de formato que tendrá la columna?.

En el archivo de texto le mando campos numéricos como el código de barras, que no debe tratar como número (8,431212+E12), sino como texto.


Gracias y un saludo.
  #8 (permalink)  
Antiguo 12/08/2008, 00:21
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: ¿Cómo definir formato de celda en Excel desde VB 6.0?

Cita:
Iniciado por aljequima Ver Mensaje
hola tengo el mismo problema, pero con formato de fecha... si me pueden ayudar
Hola, siguiendo con el ejemplo del mensaje #2, sería así:

objetoExcel.Columns(5).Select
objetoExcel.selection.NumberFormat = "dd/MM/yyyy"


  #9 (permalink)  
Antiguo 10/09/2008, 15:12
 
Fecha de Ingreso: diciembre-2007
Mensajes: 6
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: ¿Cómo definir formato de celda en Excel desde VB 6.0?

para que se rompen la cabeza tanto, teniendo la instruccion str con esta fucion tu puedes convertir los numeros a texto, y hay otra que es cint y masomenos funcionan asi

dim numeroString as string
dim numeroEntero as int

numeroString= cstr("5")
numeroEntero=cint(numerostring)

en caso de que no te funcione asi, lo que yo utilize fue concatenarle un espacio en blanco

ejemplo
hoja_act.Cells(8 + I, J + 1) = CStr("005") & " "

para que si por alguna razon el cstr no funciona, al pasarle el espacio en blanco entonces ya lo tomara como cadena de caracteres

Última edición por coldplay; 11/09/2008 a las 14:39
  #10 (permalink)  
Antiguo 10/09/2008, 15:14
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: ¿Cómo definir formato de celda en Excel desde VB 6.0?

Bienvenido, coldplay.

Aunque debo decirte que no concuerdo con la solución que propones, la pregunta no era cómo darle formato en Visual Basic, la pregunta es cómo darle formato a un dato que se encuentra en una celda de Excel, por lo que tu solución no es válida para ese caso.

De todos modos, el tema ya está resuelto.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 22/07/2009, 09:41
 
Fecha de Ingreso: julio-2009
Mensajes: 1
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: ¿Cómo definir formato de celda en Excel desde VB 6.0?

Yo tengo la misma duda pero con porcentajes ..
hice esta programacion
Range("D5:D11").Select
Selection.NumberFormat = "0.00%"
pero en la celda de excel no me da un porcentaje
  #12 (permalink)  
Antiguo 09/03/2010, 09:34
 
Fecha de Ingreso: febrero-2010
Mensajes: 16
Antigüedad: 14 años, 2 meses
Puntos: 0
Pregunta Respuesta: ¿Cómo definir formato de celda en Excel desde VB 6.0?

Me podrian decir como puedo saber el color de una celda, me refiero a capturar en una variable el color (codigo de numeros que representa un color).
Para luego mostrarlo en una celda con
range("a1").formular1c1 = variable

Y otro casilla es decirme que esta mal en este codigo

If Selection.Interior.ColorIndex = RGB(255, 255, 255) Then
Range("a8").FormulaR1C1 = "bbb"
End If

Lo que pretendo es que si la casilla esta coloreada escriba un texto en la celda a8.

Gracias
  #13 (permalink)  
Antiguo 09/03/2010, 10:28
 
Fecha de Ingreso: febrero-2010
Mensajes: 16
Antigüedad: 14 años, 2 meses
Puntos: 0
De acuerdo Respuesta: ¿Cómo definir formato de celda en Excel desde VB 6.0?

Encontre la solucion, gracias de todos modos



Sheets("sheet1").Range("a10").Select
colorin = "0"

Do
colorin = colorin + 1
If Selection.Interior.ColorIndex = colorin Then
Range("a8").FormulaR1C1 = colorin
End If
Range("a1").FormulaR1C1 = colorin
Loop While Selection.Interior.ColorIndex <> colorin
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 4 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 07:21.