Jump to content

Archived

This topic is now archived and is closed to further replies.

rogermv27

Crear archivo txt con contenido vació

Recommended Posts

Hola Amigos,

Si me pueden ayudar con este archivo al querer crear un archivo TXT y que su nombre del archivo se genere a partir de una celda y que su contenido del TXT sea de las celdas A3 hacia la derecha y abajo separado con este caracter "|" y lo he logrado hacer con los códigos siguientes pero el problema es cuando no halla información en las celdas y lo he probado sin datos y me genera los titulos con el separador "|" y como puedo hacer para que cree el archivo pero con contenido vacio (es decir en blanco).

Gracias.

Sub Prueba()

Const DELIMITER As String = "|"

Dim myRecord As Range

Dim myField As Range

Dim sOut As String

Open ("D:\" & "CAS" & Range("B1") & ".txt") For Output As #1

For Each myRecord In Range("A3:A" & _

Range("A" & Rows.Count).End(xlUp).Row)

With myRecord

For Each myField In Range(.Cells, _

Cells(.Row, Columns.Count).End(xlToLeft))

sOut = sOut & DELIMITER & myField.Text

Next myField

Print #1, Mid(sOut, 2)

sOut = Empty

End With

Next myRecord

Close #1

End Sub

Libro1.zip

Share this post


Link to post
Share on other sites
Sub Prueba()
Const DELIMITER As String = "|"
Dim myRecord As Range
Dim myField As Range
Dim sOut As String

Open ("D:\" & "CAS" & Range("B1") & ".txt") For Output As #1

dato = Range("A65500").End(xlUp).Row
If dato < 3 Then
GoTo Saltar
Else
For Each myRecord In Range("A3:A" & _
Range("A" & Rows.Count).End(xlUp).Row)
With myRecord
For Each myField In Range(.Cells, _
Cells(.Row, Columns.Count).End(xlToLeft))

sOut = sOut & DELIMITER & myField.Text
Next myField
Print #1, Mid(sOut, 2)
sOut = Empty
End With
Next myRecord
Saltar:
End If
Close #1
End Sub
[/CODE]

Share this post


Link to post
Share on other sites

Funciona bien amigo gracias por tu gentil apoyo pero quiero hacer unos cambios y como seria de esta manera y que cumpla la misma función:

Sub Prueba()

Const DELIMITER As String = "|"

Dim myRecord As Range

Dim myField As Range

Dim sOut As String

Sheets("TUTO").Activate

Open ("D:\" & "CAS" & Range("B1") & ".txt") For Output As #1

Sheets("DATO").Activate

dato = Range("A65500").End(xlUp).Row

If dato < 3 Then

GoTo Saltar

Else

For Each myRecord In Range("A2:A" & _

Range("A" & Rows.Count).End(xlUp).Row)

With myRecord

For Each myField In Range(.Cells, _

Cells(.Row, Columns.Count).End(xlToLeft))

sOut = sOut & DELIMITER & myField.Text

Next myField

Print #1, Mid(sOut, 2)

sOut = Empty

End With

Next myRecord

Saltar:

End If

Close #1

End Sub

Libro1.zip

Share this post


Link to post
Share on other sites
Sub Prueba()
Const DELIMITER As String = "|"
Dim myRecord As Range
Dim myField As Range
Dim sOut As String

Open ("D:\" & "CAS" & Sheets("TUTO").Range("B1") & ".txt") For Output As #1

dato = Sheets("DATO").Range("A65500").End(xlUp).Row
If dato < 2 Then
GoTo Saltar
Else
For Each myRecord In Sheets("DATO").Range("A2:A" & _
Sheets("DATO").Range("A" & Rows.Count).End(xlUp).Row)
With myRecord
For Each myField In Sheets("DATO").Range(.Cells, _
Sheets("DATO").Cells(.Row, Columns.Count).End(xlToLeft))

sOut = sOut & DELIMITER & myField.Text
Next myField
Print #1, Mid(sOut, 2)
sOut = Empty
End With
Next myRecord
Saltar:
End If
Close #1
End Sub
[/CODE]

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

INFORMACIÓN BÁSICA SOBRE PROTECCIÓN DE DATOS

Responsable: Sergio Andrés Celemín

Finalidad: Moderar y responder comentarios de usuarios. Recuerda que la información que facilites es pública, y los datos que incluyas los leerá cualquier visitante de esta web, así como el avatar que poseas.

Legitimación: Consentimiento del interesado.

Destinatarios: Hetzner Online GmbH.

Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso,
rectificación, supresión, oposición y demás derechos legalmente establecidos a
través del email sergio@ayudaexcel.com.

Información adicional: Encontrarás más información en la política de privacidad.




  • Posts

    • Generar PDF y guardar en la carpeta PDF si un usuario(M4 es la celda donde voy copiar el nombre de usuario) le vuelvan a generar un PDF en un rango de = 7 días atrás mande un mensaje: usuario ya fue generado copia y fecha cuando fue creado, eso es todo lo que necesito hacer y no esta contraseña mi proyecto vuelvo a adjuntarlo. Feedback Formal-MACRO-PDF-1.rar
    • Hola Luis, Gracias por tu tiempo. Tienes razon. Estoy intendando de automatizar un cuadrante de turnos que cubra los 3 turnos de mañana, tarde y noche en la cual la cuarta persona tendra descanso. En el documento adjunto hay 2 tablas. Una nombrada "automatica" y otra nombrada "manual". Trato de hacer una combinacion de letras en la cual el reparto seria por cada fila asi: Parto de la columna base que es la columna "E" y si la letra es: "F" (fiesta), las otras columnas deben de ser M; T; y N (se refiere a cubrir 3 turnos, mañana, tarde y noche). A partir de aqui se hace todas las combinaciones posibles entre las letras: M; T; N; F; P; V; B Ahora no se que en que medida este se puede aplicar viceversa la asignacion de letras entre las otras columnas, quiero decir de que si en un momento dado necesito cambiar la letra en la columna "G" por cualquier letra me haga el reparto entre las otras coulmnas. Te adjunto un pantallazo y el documento de nuevo Si te fijas en la tabla "AUTOMATICO" en la fila 7 y 8 cambian las reglas. Las corectas estan en la tabla "MANUAL". Gracias y perdona por las molestias. Saludos, FORMULA FUNCCION SI - 2.xlsx
    • prueba con esta macro cambiacontenidocelda.xlsm
    • Buenos días, tendrás que explicar realmente que es lo quieres, actualmente la formula simplemente pone otra letra en dependencia de la letra de la columna E, y eso funciona, pero solo tu sabes que letra tiene que salir...
    • Buenos días, prueba esto   Private Sub Worksheet_Change(ByVal Target As Range) datos = "a5:e28" If Not Application.Intersect(Target, Range(datos)) Is Nothing Then     If Range("E" & Target.Row) > 0 Then     Call Mensaje     End If End If End Sub
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy