Excel - Sustituir valores en Google Sheets AppScript

 
Vista:
Imágen de perfil de Miguel

Sustituir valores en Google Sheets AppScript

Publicado por Miguel (14 intervenciones) el 20/10/2022 19:33:50
Buenas tardes estimados/as:

En esta ocasión tengo una planilla en Google Sheets, en la cual en la columna "A", los usuarios estarán ingresando su documento de identidad. Lo ideal es que se ingresen valores númericos o alfanúmericos en caso de ser documentos extranjeros. Pero, muchas veces estos usuarios pegan los datos de otras planillas, por lo cual puede que vengan con caracteres especiales ("." ;","; "-"; "_"). La idea es que cuando el usuario ingrese un datos se corra una macro, la cual quite el formato de toda esa columna, lo limpie y que elimine esos caracteres especiales, solo dejando números y letras de haber.

El paso fácil es hacerlo con una fórmula en una columna contigua, la fórmula es REGEXREPLACE(), pero ya el documento se vuelve mas pesado y tal. Por eso quería usar la opción de la macro, ya que estaría actuando sobre el mismo valor de la celda y reduciendolo en muchos casos.

Todavía no tengo conocimiento de Appscript y he estado buscando en Youtube / Stackoverflow, pero no encontré nada.

Podrían ayudarme a crear esta macro?

Les agradezco mucho de ser así!!!

Miguel.-
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

Sustituir valores en Google Sheets AppScript

Publicado por Antoni Masana (2477 intervenciones) el 20/10/2022 20:07:33
Esta macro la pones en la hoja de los datos y cada vez que se introduzca un valor en la columna A solo deja números y letras en mayúscula.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Option Explicit
 
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Texto_Orig As String, Ch As String, _
        Texto_Dest As String, a As Integer
 
    If Target.Column = 1 Then
        Texto_Orig = UCase(Target.Text)
        Texto_Dest = ""
        For a = 1 To Len(Target.Text)
            Ch = Mid$(Texto_Orig, a, 1)
            If (Ch >= "0" And Ch <= "9") Or (Ch >= "A" And Ch <= "Z") Then
                Texto_Dest = Texto_Dest + Ch
            End If
         Next
         Application.EnableEvents = False
         Range(Target.Address) = Texto_Dest
         Application.EnableEvents = True
    End If
End Sub

Saludos.
\\//_
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 Miguel

Sustituir valores en Google Sheets AppScript

Publicado por Miguel (14 intervenciones) el 20/10/2022 20:12:51
Estimado:

Agradezco la respuesta, pero me temo que este código es para VBA y en Google Sheets no me funciona, ya que por lo que veo funciona más con un lenguaje parecido a Javascript (Appscript).
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