Jump to content

Alex_edm

Members
  • Content Count

    7
  • Joined

  • Last visited

About Alex_edm

  • Rank
    Newbie

Converted

  • Campos Array
  1. He conseguido solucionarlo, dejo el código por si alguien le pudiera interesar. Private Sub GENERAR_ARCHIVO_BAAN_Click() Application.ScreenUpdating = False Dim ruta As String Dim Directorio As FileDialog Dim nombre As String Dim NombreHoja As String 'Seleccionar la Hoja de la que se cogen los datos para baan NombreHoja = Worksheets(3).Name Set Directorio = Application.FileDialog(msoFileDialogFolderPicker) With Directorio .AllowMultiSelect = False .InitialFileName = ThisWorkbook.Path .Title = "Seleccione la Carpeta para Guardar el .txt" If .Show = 0 Then Exit Sub ruta = .SelectedItems(1) End With nombre = InputBox("Indica el nombre del archivo") If nombre = "" Then MsgBox "No has indicado el nombre del archivo, el proceso terminará" Exit Sub End If Open ruta & "\" & nombre & ".txt" For Output As #1 Worksheets(NombreHoja).Activate Worksheets(NombreHoja).Range("A1").Select Do While ActiveCell.Offset(0, 1).Value <> "" Ubica = ActiveCell.Address Do While ActiveCell.Column < 19 If ActiveCell.Value <> "" Then Lista = Lista & "|" & ActiveCell.Value End If ActiveCell.Offset(0, 1).Select Loop Lista = Mid(Lista, 2, Len(Lista) - 1) Print #1, Lista Lista = "" Worksheets(NombreHoja).Range(Ubica).Offset(1, 0).Select Loop Close #1 MsgBox "Se ha creado el archivo .txt exportable para baan con nombre " & nombre Application.ScreenUpdating = True End Sub
  2. Hola Isidrod: Muchas gracias por tus aportación, me ha servido y de hecho consigo que me genere el archivo tal y como quiero. El tema está en que necesito que me genere el .txt al pulsar el botón Active X de la primera página, pero me da error 1004 al empezar a leer la celda A1. Alguna idea de por que podría ser? Muchas Gracias. Un saludo. Private Sub GENERAR_ARCHIVO_BAAN_Click() Application.ScreenUpdating = False Dim ruta As String Dim Directorio As FileDialog Dim nombre As String Dim NombreHoja As String NombreHoja = Worksheets(3).Name 'NombreHoja = "baan" Set Directorio = Application.FileDialog(msoFileDialogFolderPicker) With Directorio .AllowMultiSelect = False .InitialFileName = ThisWorkbook.Path .Title = "Seleccione la Carpeta para Guardar el TXT" If .Show = 0 Then Exit Sub ruta = .SelectedItems(1) End With nombre = InputBox("Indique el nombre del archivo") If nombre = "" Then MsgBox "No has indicado el nombre del archivo, el proceso terminará" Exit Sub End If Open ruta & "\" & nombre & ".txt" For Output As #1 Worksheets(NombreHoja).Activate Range("A1").Select (ERROR 1004) Do While ActiveCell.Offset(0, 1).Value <> "" Ubica = ActiveCell.Address Do While ActiveCell.Column < 19 If ActiveCell.Value <> "" Then Lista = Lista & "|" & ActiveCell.Value End If ActiveCell.Offset(0, 1).Select Loop Lista = Mid(Lista, 2, Len(Lista) - 1) Print #1, Lista Lista = "" Range(Ubica).Offset(1, 0).Select Loop Close #1 MsgBox "Se ha creado el archivo txt con nombre " & nombre Application.ScreenUpdating = True 'End Sub End Sub Prueba_Foro1.rar
  3. Hola: No soy muy experto en Excel, y estoy volviéndome loco para intentanr generar un archivo .txt de una de las hojas de un libro. Lo que intento hacer es lo siguiente: Ejecutar la macro al pulsar le Botón de la primera página (Generar Archivo para Baan), es decir que solo con pulsar se genere el .txt. Generar un archivo .txt que contenga los campos de una página concreta (en mi caso BAAN), pero separados por |. Ejemplo: TH317115R01|150|1|A1120122|170119|0|0.00 En la página de la que quiero generar el .txt tengo formulas condicionales en las celdas, pero en archivo de salida me gustaría sacar solo las que estén rellenas con valor (es decir hayan cumplido la condición) Guardar ese .txt en la misma ubicación del Libro Excel. Os adjunto el archivo con lo que he podido hacer pero no me funciona. Gracias de antemano. Private Sub GENERAR_ARCHIVO_BAAN_Click() Sheets("tarjetas").Select LibroActual = ActiveWorkbook.Name ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\tarjetas.txt", _ FileFormat:=xlCSV, CreateBackup:=False Workbooks.Open ThisWorkbook.Path & "\" & LibroActual End Sub Prueba_Foro.rar
  4. Hola: Esto intentando leer las propiedades de un libro Excel y escribirlas en una celda concreta. Las propiedades que me interesan son el Autor, Fecha de la Ultima Modificación y el Estado. Escribo hasta donde he llegado, solo he conseguido leer la Fecha pero me aparece la hora también y eso no me interesa. También me gustaría saber como hacer que el código se ejecute automáticamente cada vez que se abra el libro sin necesidad de hacerlo manualmente. Sub ConsultaLibro() Dim Version As Integer Dim Autor As String Dim FechaUltimaModif As Date Version = ActiveWorkbook.BuiltinDocumentProperties("Revision Number") Autor = ActiveWorkbook.BuiltinDocumentProperties("Author") FechaUltimaModif = ActiveWorkbook.BuiltinDocumentProperties("Last Save Date") Range("J26").Value = FechaUltimaModif Range("J27").Value = Version Range("J28").Value = Autor End Sub Muchas gracias. Un saludo.
  5. Hola Haplox: Gracias por responder. Las celdas si que están como porcentaje. En el botón pongo en el código: Private Sub ComboBox5_Change() ComboBox5.Value = Format(ComboBox5.Value, "0.00%") End Sub Pero al ejecutar la macro me da el siguiente mensaje de error: ________________________________________________________________ Se ha producido el mensaje de error 380 en tiempo de ejecución: El valor de la propiedad no es válido ________________________________________________________________ Adjunto el documento por si sirve de ayuda. El ComboBox que quiero modificar es el ComboBox5 de las Hoja Datos A y Datos B. Muchas gracias y un saludo. 20180226 .xlsm
  6. Hola: He creado una lista desplegable con un Combobox. El rango de datos viene de otra hoja del mismo documento y los leo en ListFillRange en las propiedades del ComboBox. El dato leído lo paso en Propiedades LinkedCell a la celda definitiva. En el Combobox cuando se me despliega si que me aparece con el formato porcentaje que quiero El problema lo tengo en que los datos que leo son porcentajes en celdas definidas como porcentaje y en el origen me aparecen en ese formato (5% , 10% ...) pero en el destino que indico en LinkedCell me aparecen en el tipo 0.05, 0.1...(en el Combobox cuando despliego si que me aparece con el formato porcentaje que quiero) He hecho todas las pruebas que aparecen en este tema y no lo he conseguido No se si alguien tiene idea de como puedo hacer de forma sencilla ese conversión en la visualización en la celda donde se coloca definitivamente el dato para vero en el tipo 10%, 50%... Muchas gracias de antemano.
×
×
  • Create New...

Important Information

Privacy Policy

Ayuda Excel - Madrid, Madrid, ES - Valorada por 6254 personas - Aprender Excel - Total: 4.7 / 5