300 Ejemplos

Escribir datos en un archivo de texto

Write Data Text File

A continuación veremos un programa en Excel VBA ese escribe un rango de Excel en un archivo de texto CSV (valores separados por comas) .

Situación:



Escribir datos en un archivo de texto en Excel VBA

cómo extraer el mes desde la fecha en Excel

Coloque un Botón de comando en su hoja de trabajo y agregue las siguientes líneas de código:

1. Primero, declaramos una variable llamada myFile de tipo String, un objeto llamado rng de tipo Range, una variable llamada cellValue de tipo Variant, una variable llamada i de tipo Integer y una variable llamada j de tipo Integer. Usamos una variable Variant aquí porque una variable Variant puede contener cualquier tipo de valor.

Ningunomi archivoComo Cuerda, rngComoRango, cellValueComo Variante, IComo Entero, jComo Entero

2. Necesitamos especificar la ruta completa y el nombre de archivo del archivo.

myFile = Application.DefaultFilePath & ' sales.csv'

Nota: la propiedad DefaultFilePath devuelve la ruta de archivo predeterminada. Para cambiar la ubicación predeterminada del archivo, en la pestaña Archivo, haga clic en Opciones, Guardar.

3. Inicializamos el objeto de rango rng con el rango seleccionado.

Colocarrng = Selección

4. Agregue la siguiente línea de código:

Abiertomi archivoPara salida como#1

Nota: esta declaración permite escribir en el archivo. Podemos referirnos al archivo como # 1 durante el resto de nuestro código. Si el archivo ya existe, se eliminará y se creará un nuevo archivo con el mismo nombre.

convertir el número a horas y minutos

5. Inicie una Doble circuito .

Parai = 1Arng.Rows.Count
Paraj = 1Arng.Columns.Count

Nota: rng.Rows.Count devuelve el número de filas (17 en este ejemplo) y rng.Columns.Count devuelve el número de columnas (4 en este ejemplo).

6. Excel VBA escribe el valor de una celda en la variable cellValue.

cellValue = rng.Cells (i, j) .Value

7. Agregue las siguientes líneas de código para escribir el valor de cellValue en el archivo de texto.

Sij = rng.Columns.CountEntonces
Escribir# 1, cellValue
Demás
Escribir# 1, cellValue,
Fin Si

Explicación: debido a la declaración If Then Else, Excel VBA solo comienza una nueva línea (Write # 1, cellValue) cuando j es igual al número de columnas (último valor en una fila). Para separar los valores con una coma, use Write # 1, cellValue, (con una coma).

cómo formatear el gráfico en Excel

8. No olvide cerrar ambos bucles.

Próximoj
PróximoI

9. Cierre el archivo.

Cerrar#1

10. Seleccione los datos y haga clic en el botón de comando en la hoja.

Resultado:

Escribir datos en el resultado del archivo de texto

4/4 Completado! Obtenga más información sobre el objeto de aplicación>
Ir al capítulo siguiente: Controles ActiveX



^