Copiar nuevo libro con fechas que se vean fechas y no números

8 envíos / 0 nuevos
Último envío
JoaoM
Imagen de JoaoM
Offline
última acción: Hace 1 año 2 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 15/12/2011 - 23:46
Puntos: 3040
Copiar nuevo libro con fechas que se vean fechas y no números

En el libro Hoja1 esta mi solicitud explicita.

SOLO quiero que me ayuden co nel punto 2º que está en Verde.

Los números 3º y 4º pertenecen al 2º tambien

Se trata de que al copiar nuevo libro este se copie en que las fechas se vean como fechas y tambien los titulos en A1 y luego en A2 el contenido (datos copiados)

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 10 horas 38 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Bueno, para que no tengan que

Bueno, para que no tengan que descargar el archivo, pongo aquí tu pregunta:

"En Private Sub cbtCopia_Nuevo_Click(), que la fecha del ListBox, sea pegada en la hoja del nuevo libro, como fecha y no numero. Si tengo fecha 06-09-2014 que así mismo la copie y no numero. Tambien que copie ademas de los datos, los titulos a A1"

Sobre las fechas, el problema no es que lo copie mal, sino que no aplica el formato. Ese número es el valor con el que Excel guarda las fecha, lo que tendrías que hacer es aplicar a la celda o a la columna un formato de fecha.
 
Pero ¿por qué en vez de tomar los valores de la lista no los tomas del origen de la lista?, la hoja Filtro, en donde tienes  los encabezados, los formatos, ...
 

 

------
Ya sé Excel, pero necesito más.

JoaoM
Imagen de JoaoM
Offline
última acción: Hace 1 año 2 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 15/12/2011 - 23:46
Puntos: 3040
Asi fue que consegui la macro

Pregunto entonces, ¿porque sucede lo de la fecha en la linea 1 y no en la linea 2? como puedes darte cuenta

Cuanto a la copia

Asi fue que consegui la macro. No se como hacerlo. Talves cambiando el nombre de hoja?

 Esta Claro que mi idea es pisar el boton y ya, no tener que dar formato a celdas ni cosa parecida porque si a eso vamos, creo un nuevo libro, hago un copi/pega pero no es eso que pretendo pero, si n oes posible ac{a, pues ni modo.

Talvez lo tuyo sea solo una de tantas ocpiones que hay

Gracias por responder y tu interes por la solicitud mia

JoaoM
Imagen de JoaoM
Offline
última acción: Hace 1 año 2 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 15/12/2011 - 23:46
Puntos: 3040
Vuelvo co nalgo mas

Vuelvo co nalgo mas explñicito de l oque quiero agregar a la macro

La función es que esta macro copia todo el contenido del ListBox, sin que tenga que seleccionar nada, a nuevo libro SOLO 1 hoja ESTA PERFECTO para el fin que fue creado.

Quiero agregarle a esta misma macro, que copie en el nuevo libro, Hoja con el mismo ancho columnas y con el mismo título de la hoja origen.

También las fechas las copia (algunas) no como fechas si no como números. Quiero que me las copie como fechas sin tener que dar formato de celdas al nuevo libro (Hoja)
Si el nombre ya existe, me avisa y pregunta 2 veces si lo quiero reemplazar, Deberia hacerlo una sola ves

Cuanto a presentar en el nuevo libro (Hoja) #N/A no preocuapr, se el porque, por la cantidad de columnas en la propiedad del ListBox ue eta en 8 y solo son necesarias 7

Estas son las cosas que quisiera integrarle.

Dejo nuevamente libro, donde el form tien un icono de un libro, ese es el evento

AdjuntoTamaño
Package icon proyecto_ventas-foro.zip96.62 KB
pacomegia
Imagen de pacomegia
Offline
última acción: Hace 10 horas 38 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Me fijo que cuando pego la

Me fijo que cuando pego la fecha 3/2/2014 (3 de febrero), lo pega como 2 de marzo. Imagino qeu la notación americana de las fechas sale a relucir cuando pegas las fechas derectamente del listbox. el contenido del listbox es en definitiva un texto y Excel al pegarlo trata de interpretarlo, así qeu comprueba que esté pegando correctamente.

Sobre tu pregunta. Dos opciones, o creas una hoja en blanco que utilizas como plantilla y la copias a un nuevo libro, en vez de crear el libro en blanco.

Sheets("tuHojaModelo").Copy 'esto crea una copia de tu hoja modelo en un libro nuevo, que pasa aser el libro activo.

En el procedimiento de tu botón sería sustituir esto

Set l1 = Workbooks.Add

por algo como esto

Sheets("tuHojaModelo").Copy

Set l1 = Activeworkbook

 

Otra opción. copiar y pegar sólo formato. Para que copie el ancho de las columnas, tienes que seleccionarlo todo. (lo he llamado HojaOrigen y HojaDestino pero tendrás que poner lo que corresponda en tu caso) 

HojaOrigen.Cells.Copy

HojaDestino.Cells.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

 

 

------
Ya sé Excel, pero necesito más.

JoaoM
Imagen de JoaoM
Offline
última acción: Hace 1 año 2 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 15/12/2011 - 23:46
Puntos: 3040
Hola paco. gracias por aun

Hola paco. gracias por aun estar tratando de dar con esta cosa.

En el libro que subi, coloca esta macro en el evento

[CODE]Private Sub cbtCopia_Nuevo_Click()
    Set hc = HojaClientes 'Se establece la variable hc como la hoja origen
    Set l1 = Workbooks.Add 'Se crea un nueva libro y a la vez se establece el nuevo libro en la variable l1
    Set h1 = l1.ActiveSheet 'Se establece la nueva hoja del libro nuevo en la variable h1
    c = lista.ColumnCount 'Cuenta la cantidad columnas del ListBox
    f = lista.ListCount 'cuenta el numero de lineas del ListBox
    hc.Rows(1).Copy h1.Range("A1") 'Se copia la fila 1 de la hoja origen a la nueva hoja empezando en la celda A1
    hc.Columns("A:G").Copy ''Copia las columnas. Para poner el mismo ancho de columnas:

    h1.Range("A1").PasteSpecial Paste:=xlFormats 'Las pega pero con formato especial sólo formatos
'Recibe el rango de celdas el contenido del listbox, pero le resta 2 columnas para evitar el error _
#N/A, una por la columna que hace falta y otra por la fecha, ya que la fecha se pasa en otro momento.
    h1.Range(h1.Cells(2, 1), h1.Cells(f + 1, c - 2)) = lista.List
   
'Para poner el formato de fecha utilizo la siguiente instrucción para cada fecha que tienes almacenada en el listbox
    For i = 0 To lista.ListCount - 1
        h1.Cells(i + 2, "G") = Format(lista.List(i, 6), "mm/dd/yyyy") 'porque e ListBox es un control de Texto
    Next
'Las fechas están en la columna 6 del listbox y se pasan a la columna "G"
    Application.DisplayAlerts = False 'Para que solo pregunte 1 vez si  quier oreemplazar el existente
    With Application.FileDialog(msoFileDialogSaveAs)
        .Title = "Exportar Archivo a Nuevo Excel"
        .AllowMultiSelect = False
        .FilterIndex = 1
        If .Show Then
            march = .SelectedItems(1)
    Range("A2").Select 'quitar a seleccion
            h1.SaveAs Filename:=march, _
            FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
        End If

    End With
    l1.Close 'Cierra el nuevo libro
    MsgBox "Nuevo Libro Creado"
    Unload Me
End Sub[/CODE]

con la ayuda de un amigo, lo logre

 

La macro loque hace es crearte un nuevo libro (1 hoja) con TODOS  los datos que contenga el ListBox.

Si usas el buscador y te presenta 50 sobre la busqueda echa, 50 van al nuevo libro lo cual pedes darle el nombre que desees y SIN MACROS, muy bien esto.

Ya lo de la fecha esta resuelto en esta macro, pruebala y te dire quien me la completo

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 10 horas 38 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
me dejas con la duda ¿quién

me dejas con la duda ¿quién te ayudó?

 

------
Ya sé Excel, pero necesito más.

JoaoM
Imagen de JoaoM
Offline
última acción: Hace 1 año 2 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 15/12/2011 - 23:46
Puntos: 3040
¿Porque la duda?

¿Porque la duda? jejejejjejeje

Fue un tal Dante Amor de TodoExperos

 

Funciona muy pero muy bien