excel - macro - selection replace vba syntax
Rango. Reemplazo siempre es cierto para Chr(1) (3)
En este momento estoy confundido. Iba a crear una respuesta para esta pregunta .
Al realizar algunas pruebas noté que
ActiveSheet.Cells.Replace Chr(1), "", xlPart, , True, , False, False
Borra completamente la hoja. Tiene sentido para Chr(42)
que es *
pero ¿por qué Chr(1)
?
¿Alguien sabe el motivo? ¿Es algún tipo de segundo / marcador de posición oculto?
(No se pudo encontrar algo, pero probablemente se usaron los términos de búsqueda incorrectos)
ASCII 1 es ''SOH'' (Inicio del encabezado), y ASCII 2 ''STX'' significó el final del encabezado, el inicio del flujo de datos. (Esto le permite "ocultar" direcciones, notas, lo que sea, en un archivo anterior a los datos reales en el archivo). Parece que Excel está interpretando su comando para comenzar al principio del archivo e incluirlo todo.
ASCII 1, como lo identificaron muchas personas, lo interpretaron las aplicaciones como el inicio del encabezado de cada personaje. Sin embargo, los caracteres especiales pueden ser escapados por algunos otros caracteres (''~'' es el carácter de escape en Excel) verifique aquí
Creo que deberías evitar el reemplazo de chr (1) en tu código.
Creo que encontré la respuesta.
Cómo lo encontré.
Escribí "Alt + 1" (1 de num pad) y luego obtuve este "?" (signo de interrogación).
Ahora escribí debajo del código, que borra la hoja.
ActiveSheet.Cells.Replace "?", "", xlPart, , True, , False, False