Очистите числа от текста и вставьте как значения из внешней книги - PullRequest
0 голосов
/ 05 февраля 2019

Я ищу решение моего проекта.У меня есть исходные данные workbook_src и пункт назначения worbook_destworkbook_src указаны числа в формате ="123456789".Моя цель - открыть workbook_src только для чтения, скопировать строку с числами в память, очистить их только от цифр и вставить специальное значение в workbook_dest в качестве значения.

Открыть workbook_src в качестве только для чтения

Dim src As Workbook
Set src = Workbooks.Open("C:\xxx.xlsx", True, True)
ThisWorkbook.Activate

Функция для очистки чисел

Function GetNumeric(CellRef As String)
    Dim StringLength As Integer
    StringLength = Len(CellRef)
    For i = 1 To StringLength
        If IsNumeric(Mid(CellRef, i, 1)) Then Result = Result & Mid(CellRef, i, 1)
    Next i 
    GetNumeric = Result
End Function

Но у меня проблема с получением этой функции для всей строки

1 Ответ

0 голосов
/ 05 февраля 2019

Найденное решение

Function cleanString(str As String) As String
    Dim ch, bytes() As Byte: bytes = str
    For Each ch In bytes
        If Chr(ch) Like "[A-Z.a-z 0-9]" Then cleanString = cleanString & Chr(ch)
    Next ch
End Function

Sub btn_CleanAll()
    Dim rng As Range

    For Each rng In Sheets("Sheet1").Range("A2:A30000").Cells
    rng.Value = cleanString(rng.Value)
    Next
    MsgBox "Done"
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...