Excel - Copiar datos de una celda de Excel a un txt del bloc de notas

 
Vista:
sin imagen de perfil

Copiar datos de una celda de Excel a un txt del bloc de notas

Publicado por anonymous (8 intervenciones) el 04/01/2021 18:04:07
Buenas tardes.

Estoy intentando crear un procedimiento en VBA que me permita copiar directamente el contenido de una celda más dos saltos de línea antes a un txt del bloc de notas, sin necesidad de abrir este último.

Esto es lo que tengo:

1
2
3
4
5
6
7
8
9
10
11
12
Sub CopiarPregunta()
    If Range("M4") = "" Then
        MsgBox "No has puesto cuál es la respuesta correcta.", vbInformation, "Convertir tests"
        Range("M4").Select
        Exit Sub
    Else
        Open "D:\Bandeja de entrada\Test.txt" For Append As #1
        Write #1, vbCrLf & vbCrLf & vbCrLf & Range("A13").Value
        Close #1
        CreateObject("wscript.shell").Popup "Texto copiado", 1, "Convertir tests"
    End If
End Sub

Este código me pega el contenido de la celda más dos saltos de línea antes del contenido, pero tiene dos problemas:

1. Con respecto al contenido que pega, me añade unas comillas al principio, y una línea al final.

2. Me desaparecen todas las tildes.

Adjunto captura de pantalla para que veas lo que te digo.

He buscado información en la red, incluido la propia ayuda de Office, pero no me resuelve nada al respecto, por lo que acudo a este foro a ver si alguien me puede ayudar.

Muchas gracias.

Un saludo.
ScreenShot001
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Copiar datos de una celda de Excel a un txt del bloc de notas

Publicado por Antoni Masana (2485 intervenciones) el 05/01/2021 17:19:48
El problema de las comillas es simple cambia Write por Print.

El de las tildes es un poquito más complejo.
La tabla de caracteres que utiliza Excel y El Block de Notas es diferente, es decir no es el mismo código ASCII la á en Excel que en el Block de Notas y tienes que hacer una conversión antes de Grabar.
¿Qué quiere decir esto? recorrer el texto y cambiar aquellos caracteres que dan problemas.

En este ejemplo solo estan las vocales pero seguro que falta algún carácter más:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Sub CopiarPregunta()
    Dim Orig As String, Dest As String, a As Integer, _
        Txt_EXCEL As String, Posi As Integer, _
        Txt_MSDOS As String, Char As String
 
    Txt_EXCEL = "áéíóúÁÉÍÓÚ"
    Txt_MSDOS = Chr(160) + Chr(130) + Chr(161) + Chr(162) + Chr(163) + _
                Chr(181) + Chr(144) + Chr(214) + Chr(224) + Chr(233)
 
    If Range("M4") = "" Then
        MsgBox "No has puesto cuál es la respuesta correcta.", vbInformation, "Convertir tests"
        Range("M4").Select
        Exit Sub
    Else
        Orig = Range("A13").Value
        Dest = ""
        For a = 1 To Len(Orig)
            Char = Mid$(Orig, a, 1)
            Posi = InStr(Txt_EXCEL, Char)
            If Posi > 0 Then
               Dest = Dest + Mid$(Txt_MSDOS, Posi, 1)
            Else
               Dest = Dest + Char
            End If
        Next
        Open "D:\Bandeja de entrada\Test.txt" For Append As #1
        Print #1, vbCrLf & vbCrLf & vbCrLf & Dest
        Close #1
        CreateObject("wscript.shell").Popup "Texto copiado", 1, "Convertir tests"
    End If
End Sub

¿Y como consigo esos códigos?

En el Block de notas escribes todos los caracteres raros. Por ejemplo: áéíóúÁÉÍÓÚ y lo guardas en un fichero por ejemplo C:\Tmp\Letras.txt

Y ejecutas esta macro en Excel:

1
2
3
4
5
6
7
8
9
10
Sub Leer_Letras()
    Dim txt As String, a As Integer
 
    Open "C:\Tmp\Letras.txt" For Input As #1
    Line Input #1, txt
    For a = 1 To Len(txt)
        Cells(a, "A") = Asc(Mid$(txt, a, 1))
        Cells(a, "B") = Mid$(txt, a, 1)
    Next
End Sub

Y en la columna A ya tienes los códigos para convertir, la á de Excel se convierte en el carácter Chr(160) del Block de Notas

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Copiar datos de una celda de Excel a un txt del bloc de notas

Publicado por anonymous (8 intervenciones) el 05/01/2021 17:58:31
Muchas gracias.

Lo de las comillas lo he solucionado. Sin embargo, me sale una línea adicional al final, como señalaba en la captura que adjunté en el primer comentario, que sigue apareciendo.

Ahora, el tema de los caracteres.

He copiado la macro que propones, y hay dos problemas:

Por un lado, no sustituye los caracteres raros por el que corresponda del bloc de notas. Creo que es porque los caracteres que has puesto en la macro no son realmente los suyos. Me explico. He probado a crear el txt Letras.txt y aplicar la macro, y, para la á, me salen el 195 y el 161, no el 160 que pones en la macro. Además, he creado un txt Letras.txt, y he copiado los caracteres áéíóúÁÉÍÓÚ y, al ejecutar la macro en Excel, me ha aparecido 20 filas para 10 caracteres. ¿Cómo añado eso a la macro?, porque no sé cuál corresponde a cual. Tendría que ir uno a uno. Vamos, esto es lo que menos me preocupa, porque lo puedo ir haciendo.

El problema más gordo es que esa macro que pones solo sustituye los caracteres raros del texto que quiero incluir en el txt, pero ¿y el resto del contenido del txt? Es que ese contenido me lo cambia, y habría que sustituirlo cada vez que guarde el txt, ¿no?

¡Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Copiar datos de una celda de Excel a un txt del bloc de notas

Publicado por anonymous (8 intervenciones) el 05/01/2021 19:21:22
Acabo de estar probando, y he descubierto esto:

En el txt, lo que son tildes y ñ lo sustituye por dos caracteres. Por ejemplo, reclamación, donde la ó la sustituye por ó. Esto no se refleja en VBA y por eso no funciona. He probado a poner Txt_MSDOS = Chr(195) & Chr(161) + Chr(195) & Chr(169) + Chr(161) + Chr(195) & Chr(179) + Chr(163) + _, y Dest = Dest + Mid$(Txt_MSDOS, Posi, 2), pero no lo soluciona.

Y luego, las otras dos dudas que te comentaba:

La línea al final del txt, a ver si hay manera de quitarla.

Y lo de que sustituye todos las tildes y ñ del txt que estaban de antes. Supongo que la solución será pasar todo el texto del txt por la función Leer_Letras, a menos que me digas otra cosa.

¡Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Copiar datos de una celda de Excel a un txt del bloc de notas

Publicado por Antoni Masana (2485 intervenciones) el 06/01/2021 00:30:19
Lo de la línea adicional se soluciona con un ; al final del comando:

1
Print #1, vbCrLf & vbCrLf & vbCrLf & Dest ; 

Los caracteres que he puesto son los que se ven en la ventana de MS-DOS (cmd.exe) y eran a modo de ejemplo y probablemente no sean los mismos que el Block de Notas.

Ahora es tarde y me voy a dormir y mañana lo miro con un poco más de tiempo.

Tengo algunas preguntas:

- ¿Quién genera el fichero TXT?
- ¿Ya hay fichero creado y hay que convertir los caracteres?
- ¿Qué caracteres además de las vocales que he puesto en el ejemplo y la ñ y la Ñ dan problemas? En castellano creo que solo son estos pero por ejemplo en catalán hay unos cuantos más y de letras no domino mucho.

Si me puedes contestar a estas preguntas y enviar unos ficheros de ejemplo ayuda mucho.

Mañana tendrás la solución para que se lea igual en Excel que en el Block de Notas. He hecho un juego de palabras.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Copiar datos de una celda de Excel a un txt del bloc de notas

Publicado por anonymous (8 intervenciones) el 06/01/2021 01:14:23
Sí, por supuesto.

El fichero txt es uno que yo cree hace tiempo para guardar preguntas tipo test estandarizados para ser leído por una app para crear tests personalizados en Android. Así que lo que he hecho, para no equivocarme a la hora de dar formato a la pregunta y que luego me salte el error en la app y no saber dónde está el error, ha sido crear un Excel donde copio la pregunta y, mediante una función de VBA, obtengo en una celda la pregunta con el formato adecuado para la app, poniendo antes la respuesta, claro.

Así es que el objetivo que busco es ir añadiendo a ese txt creado las nuevas preguntas.

Creo que estas líneas te responden a las dos primeras preguntas.

Con respecto a la tercera, por lo que he visto en el txt solo habría que añadir ¿. De todas formas, sabiendo cómo es, podría añadir yo las que me faltara.

Por último, ejemplos. Te adjunto tanto el Excel (hay dos hojas: la buena es la primera que abre, mientras que la otra es para sacar los códigos nada más); y dos txt: el original y el que está con los caracteres raros. Como verás en el Excel, hay dos botones para copiar: uno de ellos lo único que hace es copiar en la memoria; y un segundo botón que es el que utilizo para hacer pruebas en el txt que pone copia.

Creo que con esta información y los ficheros adjuntos te servirá. Si necesitas algo más, intentaré responderte mañana, porque trabajo por la mañana.

Muchas gracias.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Copiar datos de una celda de Excel a un txt del bloc de notas

Publicado por Antoni Masana (2485 intervenciones) el 06/01/2021 13:42:21
Con el texto que me has enviado he identificado 17 caracteres que se representan de forma diferente según donde estés, bueno no es exactamente representan es el código ASCII con que lo trata internamente.

Esta es la macro para hacer la conversión:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Sub CopiarPregunta()
    Dim Orig As String, Dest As String, a As Integer, _
        Txt_EXCEL As String, Posi As Integer, _
        Txt_BLOCK(17) As String, Char As String
 
    Txt_EXCEL = "áéíóúñÁÉÍÓÚÑ¿" & Chr(133) & Chr(171) & Chr(187) & Chr(252)
 
    Txt_BLOCK(1) = Chr(195) + Chr(161)
    Txt_BLOCK(2) = Chr(195) + Chr(169)
    Txt_BLOCK(3) = Chr(195) + Chr(173)
    Txt_BLOCK(4) = Chr(195) + Chr(179)
    Txt_BLOCK(5) = Chr(195) + Chr(186)
    Txt_BLOCK(6) = Chr(195) + Chr(177)
    Txt_BLOCK(7) = Chr(195) + Chr(129)
    Txt_BLOCK(8) = Chr(195) + Chr(137)
    Txt_BLOCK(9) = Chr(195) + Chr(141)
    Txt_BLOCK(10) = Chr(195) + Chr(147)
    Txt_BLOCK(11) = Chr(195) + Chr(154)
    Txt_BLOCK(12) = Chr(195) + Chr(145)
    Txt_BLOCK(13) = Chr(194) + Chr(191)
    Txt_BLOCK(14) = Chr(226) + Chr(128) + Chr(166)
    Txt_BLOCK(15) = Chr(194) + Chr(171)
    Txt_BLOCK(16) = Chr(194) + Chr(187)
    Txt_BLOCK(17) = Chr(195) + Chr(188)
 
    If Range("M4") = "" Then
        MsgBox "No has puesto cuál es la respuesta correcta.", vbInformation, "Convertir tests"
        Range("M4").Select
        Exit Sub
    Else
        Orig = Range("A13").Value
        Dest = ""
        For a = 1 To Len(Orig)
            Char = Mid$(Orig, a, 1)
            Posi = InStr(Txt_EXCEL, Char)
            If Posi > 0 Then
               Dest = Dest & Txt_Block(Posi)
            Else
               Dest = Dest + Char
            End If
        Next
        Open "D:\Bandeja de entrada\Test.txt" For Append As #1
        Print #1, vbCrLf & vbCrLf & vbCrLf & Dest;
        Close #1
        CreateObject("wscript.shell").Popup "Texto copiado", 1, "Convertir tests"
    End If
End Sub

El 133 es …
El 171 es «
El 187 es »
El 252 es ü

Si sale alguno más ya hablaremos.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Copiar datos de una celda de Excel a un txt del bloc de notas

Publicado por anonymous (8 intervenciones) el 06/01/2021 19:08:32
Muchas gracias. Funciona a la perfección.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Copiar datos de una celda de Excel a un txt del bloc de notas

Publicado por Antoni Masana (2485 intervenciones) el 06/01/2021 22:43:53
Un detalle que no he comentar es como he sacado las tabla de conversión.
No es complicado y te puede servir en otra ocasión o si salen nuevos caracteres raros.
Es un poco largo de explicar, si te interesa mañana lo publico.

Saludos.
\\//
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Copiar datos de una celda de Excel a un txt del bloc de notas

Publicado por anonymous (8 intervenciones) el 06/01/2021 22:45:57
Hola, pues sería la guinda del pastel. Muchas gracias por el detalle.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Copiar datos de una celda de Excel a un txt del bloc de notas

Publicado por Antoni Masana (2485 intervenciones) el 07/01/2021 13:18:30
Los pasos seguidos para hacer la conversión de texto.

Los pasos que he seguido no son la única forma de hacerlo, yo lo he seguido los siguientes:

PASO - 1

- He tomado uno de los ficheros de texto, por ejemplo Test de la AGE-1.txt que se lee correctamente en el block de notas.
- Lo he abierto con el Block de Notas, he seleccionado todo el texto y lo he pegado en una hoja de Excel (Hoja1).
- Curiosamente las tildes y los caracteres especiales se conservan.
- Ahora tengo el Excel de cada tres filas una con texto y dos vacías, tengo que quitar las vacías
- He añadido una columna vacía en la A, el texto lo tengo ahora en la columna B.
- Numero la columna A del 1 hasta el final en incremento de 1.
- Ordeno la columna B y ahora tengo todas las filas vacías agrupadas.
- Elimino las filas que no tienen texto.
- Ordeno por la columna A y la elimino.

Ahora ya tengo en Excel todas las líneas de texto juntas y en el orden original.

PASO – 2

Creo una nueva hoja y en la celda A1 pongo el nombre del fichero anterior. Para simplificar lo renombre como AGE-1.txt y en la celda C2 el nombre de un nuevo fichero que se va a llamar AGE-2.txt

Con esta macro tratamos el fichero AGE-1.txt y ponemos en la columna A el código ASCII del carácter y en la columna B el carácter propiamente dicho.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub Leer_AGE_1()
    Dim a As Byte, b As Integer, Reg As String
 
    Sheets("Hoja2").Select
 
    Open "C:\Download\LWP-Diego\AGE-1.txt" For Binary As #1
    Reg = Space(LOF(1))
    Get #1, , Reg
    For b = 1 To Len(Reg)
        Cells(b + 1, "A") = Asc(Mid(Reg, b, 1))
        If Asc(Mid(Reg, b, 1)) > 32 Then
            Cells(b + 1, "B") = Mid(Reg, b, 1)
        Else
            Cells(b + 1, "B") = " "
        End If
    Next
    Close #1
    MsgBox "Fin"
End Sub

PASO – 3

El siguiente paso es crear el fichero AGE-2.txt con la macro de Excel partiendo del texto de la hoja 1 para que sea igual al AGE-1.txt.

Con esta macro vamos a crear el fichero:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Sub Crear_AGE_2()
    Dim Orig As String, Dest As String, a As Integer, b As Integer, _
        Txt_EXCEL As String, Posi As Integer, _
        Txt_BLOCK(17) As String, Char As String
 
    Txt_EXCEL = ""
 
    Sheets("Hoja1").Select
 
    Open "C:\Download\LWP-Diego\AGE-2.txt" For Output As #1
    For b = 1 To 83
        Orig = Range("A" & b).Value
        Dest = ""
        For a = 1 To Len(Orig)
            Char = Mid$(Orig, a, 1)
            Posi = InStr(Txt_EXCEL, Char)
            If Posi > 0 Then
                Dest = Dest & Txt_BLOCK(Posi)
            Else
                Dest = Dest + Char
            End If
        Next
        If b = 1 Then
           Print #1, Dest;
        Else
            Print #1, vbCrLf & vbCrLf & vbCrLf & Dest;
        End If
    Next
    Close #1
    MsgBox "Fin"
End Sub

En la primera revisión Txt_Excel está vacía.
Una vez ejecutada esta macro ejecutamos esta otra:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sub Leer_AGE_2()
    Dim a As Byte, b As Integer, Reg As String
 
    Sheets("Hoja2").Select
 
    Open "C:\Download\LWP-Diego\AGE-2.txt" For Binary As #1
    Reg = Space(LOF(1))
    Get #1, , Reg
    For b = 1 To Len(Reg)
        Cells(b + 1, "C") = Asc(Mid(Reg, b, 1))
        If Asc(Mid(Reg, b, 1)) > 32 Then
            Cells(b + 1, "D") = Mid(Reg, b, 1)
        Else
            Cells(b + 1, "D") = " "
        End If
        Cells(b + 1, "E").FormulaR1C1 = "=RC[-4]=RC[-2]"
    Next
    Close #1
    MsgBox "Fin"
End Sub

Ahora tiene tienes es la columna A el código de los caracteres del fichero que es capaz de leer el Block de Notas y mostrar las tildes y en la columna C tal cual lo escribe el Excel. Para ver las diferencias vamos a utilizar la columna E para poner una fórmula que compare A y C, la fórmula es:

1
=A2=C2

para la primera fila.

Si son iguales debe poner VERDADERO y si son diferentes FALSO
Ahora es cuestión de buscar el primer FALSO y veremos que la á se representa con dos caracteres 195 y 161.
Modificamos la macro

1
2
3
4
5
6
7
8
9
Sub Crear_AGE_2()
    Dim Orig As String, Dest As String, a As Integer, b As Integer, _
        Txt_EXCEL As String, Posi As Integer, _
        Txt_BLOCK(17) As String, Char As String
 
    Txt_EXCEL = "á"
    Txt_BLOCK(1) = Chr(195) + Chr(161)
End Sub

Volvemos al Paso-3, ejecutar la macro Crear_AGE_2 y la macro Leer_AGE1_2 y revisar hasta que no salgan más FALSO.

Adjunto libro de trabajo.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Copiar datos de una celda de Excel a un txt del bloc de notas

Publicado por anonymous (8 intervenciones) el 07/01/2021 15:13:24
Madre mía, muchas gracias. Una duda que me ha surgido leyendo cómo lo has hecho: si quisiera copiar el texto del txt a Excel, para cambiar las carácteres erróneos, tendría que emplear esta función:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Sub AñadirAlTxt()
 
    Dim Orig As String, Dest As String, a As Integer, _
    Txt_EXCEL As String, Posi As Integer, _
    Txt_BLOCK(17) As String, Char As String
 
    Txt_EXCEL = "áéíóúñÁÉÍÓÚÑ¿" & Chr(133) & Chr(171) & Chr(187) & Chr(252)
 
    Txt_BLOCK(1) = Chr(195) + Chr(161)
    Txt_BLOCK(2) = Chr(195) + Chr(169)
    Txt_BLOCK(3) = Chr(195) + Chr(173)
    Txt_BLOCK(4) = Chr(195) + Chr(179)
    Txt_BLOCK(5) = Chr(195) + Chr(186)
    Txt_BLOCK(6) = Chr(195) + Chr(177)
    Txt_BLOCK(7) = Chr(195) + Chr(129)
    Txt_BLOCK(8) = Chr(195) + Chr(137)
    Txt_BLOCK(9) = Chr(195) + Chr(141)
    Txt_BLOCK(10) = Chr(195) + Chr(147)
    Txt_BLOCK(11) = Chr(195) + Chr(154)
    Txt_BLOCK(12) = Chr(195) + Chr(145)
    Txt_BLOCK(13) = Chr(194) + Chr(191)
    Txt_BLOCK(14) = Chr(226) + Chr(128) + Chr(166)
    Txt_BLOCK(15) = Chr(194) + Chr(171)
    Txt_BLOCK(16) = Chr(194) + Chr(187)
    Txt_BLOCK(17) = Chr(195) + Chr(188)
 
    If Range("M4") = "" Then
        MsgBox "No has puesto cuál es la respuesta correcta.", vbInformation, "Convertir tests"
        Range("M4").Select
        Exit Sub
    Else
        Orig = Range("A13").Value
        Dest = ""
        For a = 1 To Len(Orig)
            Char = Mid$(Orig, a, 1)
            Posi = InStr(Txt_EXCEL, Char)
            If Posi > 0 Then
                Dest = Dest & Txt_BLOCK(Posi)
            Else
                Dest = Dest + Char
            End If
        Next

pero dando la vuelta al for next, ¿verdad? Es decir, así:

1
2
3
4
5
6
7
8
9
For a = 1 To Len(Orig)
            Char = Mid$(Orig, a, 1)
            Posi = InStr(Txt_BLOCK, Char)
            If Posi > 0 Then
                Dest = Dest & Txt_EXCEL(Posi)
            Else
                Dest = Dest + Char
            End If
        Next

y ¿qué debería poner aquí?

1
Orig = Range("A13").Value

¡Muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Copiar datos de una celda de Excel a un txt del bloc de notas

Publicado por Antoni Masana (2485 intervenciones) el 07/01/2021 16:09:15
Curiosamente hacer un COPY+PASTE del Bolck de Notas al Excel y viceversa no hace falta hacer ningún cambio.
Es en el momento de guardarlo en un fichero cuando salen los problemas.
Excel ruede reconocer el formato al abrir el fichero pero se de indicar el formato el mejor es el UTF-8.
El Bloc de notas es capaz de guardar en 5 formatos diferentes pero solo es capaz de 'reconocer' uno al abrir el fichero y me refiero a reconocer a que lo que lee se vea igual a lo que graba.

Escribir y leer con macros ya es otra historia.
Las macros trabajan a nivel de 8 bits y no de 16 o 24 como hace Windows.
Con 8 bits tenemos 256 caracteres, con 16 bits podemos representar 65.536 caracteres y con 24 podemos representar 16.777.216 caracteres.
Windows es capaz de tratar en un mismo documento en latín, el Hebreo, el Chino, el Coreano y otros muchos con 256 caracteres no 'futem res' y ahí es cuando las macros se complican.
Vale que en castellano tenemos suficientes pero el Latín incluye la ñ que no esta en otros idioma, el catalán con los acentos abiertos y cerrados y la Ç que compartimos con los franceses y creo que por Europa tenemos unos cuantos caracteres raros.

Creo que con esto contesto a tu pregunta.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Copiar datos de una celda de Excel a un txt del bloc de notas

Publicado por anonymous (8 intervenciones) el 07/01/2021 16:30:56
Ok, muchas gracias por la info. Me es de ayuda. Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar