1

У меня есть файл Excel, который содержит много текста, который я только что обнаружил, содержит символы нулевой ширины, которые обычно не отображаются.

Я делаю сравнения строк, и они вызывают проблемы.

Потратил почти час, пытаясь найти способ их удалить, но так и не нашел.

Команды терминала Linux и JavaScript заменяют функции, которые я нашел, но они не относятся к моему случаю.

Я пытался использовать функцию замены в Excel, но он говорит, что не нашел ничего заменить. Однако, если я использую Find only и вставляю символ нулевой ширины, он находит их в тексте. Заменить не работает, хотя.

2 ответа2

0

Попробуйте этот макрос:

Sub deleteNothing()
    Dim rLook As Range
    Dim wf As WorksheetFunction
    Set wf = Application.WorksheetFunction
    For Each r In ActiveSheet.UsedRange
        If Len(r.Value) = 0 And wf.CountA(r) = 1 Then
            If rLook Is Nothing Then
                Set rLook = r
            Else
                Set rLook = Union(rLook, r)
            End If
        End If
    Next r

    If rLook Is Nothing Then
    Else
        rLook.Clear
    End If
End Sub
0

Нашел глупую, но легко исправить.

  1. Выберите весь столбец в Excel, который содержит данные, которые имеют этот символ.
  2. Скопируйте выбор. Оставьте выбор ВКЛ. Не отменяйте пока.
  3. Вставьте данные в Блокнот.
  4. Используйте функцию «Заменить блокнот», чтобы удалить все символы нулевой ширины.
  5. Выделите весь текст в блокноте (CTRL + A) и скопируйте его.
  6. Вставьте его обратно в Excel, поверх выбранного ранее.

Легко ! Надеюсь, это поможет другим :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .