Escribir datos en un archivo de texto usando Excel VBA

Hola, mi nombre es Miguel y esta vez os traigo un nuevo artículo.

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

Localización:

Escriba datos en un archivo de texto en Excel VBA

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. Aquí usamos una variable Variant porque una variable Variant puede contener cualquier tipo de valor.

Oscuro mi archivo Cómo La cadena, rng Cómo Rango, valor de celda Cómo Variante, me Cómo Entero, j Cómo Entero

2. Necesitamos especificar la ruta completa y el nombre 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 rng range con el rango seleccionado.

Colocar rng = Selección

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

Abierto mi archivo Para salida como # 1

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

5. Inicie un ciclo doble.

Para i = 1 Para rng.Rows.Count
Para j = 1 Para rng.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.

j = rng.Columns.Count Entonces

Escribir # 1, CellValue
Otra cosa

Escribir # 1, CellValue,
Aleta

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

8. No olvide cerrar ambos bucles.

Entonces j
Entonces me

9. Cierre el archivo.

Cerrar # 1

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

Resultado:

Escribe datos en el resultado del archivo de texto.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Esta página utiliza Cookies. Más info