2016-01-21 2 views
0

У меня есть книга Excel с несколькими листами, я хочу сохранить только A-Z, 0-9 и «.». во всех ячейках на каждом листе книги.Сохранять только буквенно-цифровые значения из всех ячеек в книге

Я думал использовать следующее:

Function AlphaNumericOnly(strSource As String) As String 
    Dim i As Integer 
    Dim strResult As String 

    For i = 1 To Len(strSource) 
     Select Case Asc(Mid(strSource, i, 1)) 
      Case 48 To 57, 65 To 90, 97 To 122: 'include 32 if you want to include space 
       strResult = strResult & Mid(strSource, i, 1) 
     End Select 
    Next 
    AlphaNumericOnly = strResult 
End Function 

Но работает эта функция только дающий #NAME? in excel

Также я хочу, чтобы excel автоматически переходил на новые листы и делал то же самое, например, фиксированный диапазон данных.

Может ли кто-нибудь помочь мне здесь.

Заранее спасибо

P.S: использование Mac офис 2016, учебное пособие имеет 30 листов

ответ

2

Ошибка #NAME приходит из Excel будучи не в состоянии распознать пользовательскую функцию. Если вы уверены, что это не орфографическая ошибка, то следующая, скорее всего, проблема в том, что она была помещена в неправильном месте.

Пользовательская функция (как UDF) помещается в стандартный код модуля. Нажмите Alt + F11 и при открытии VBE, немедленно использовать выпадающее меню для Вставка ► Модуль (Alt + I, M). Вставьте код функции в новый код модуля, обозначенный как-то вроде Book1 - Module1 (Code). Нажмите Alt + Q, чтобы вернуться на рабочий лист (ы).

udf_placement

Смежные вопросы