Я попытался добавить функциональность к расширению надстройки excel, которая выравнивает ведущие пробелы в конце используемых ячеек и, возможно, даже анализирует текст. Причина, по которой мне нужно сделать это просто, чтобы превратить его в гиперссылку, которую я уже работаю, но частичные детали.Обрезать все ячейки в рабочей книге (VBA)
Это то, что я пытался до сих пор, у меня это обрезку active.worksheet
утра, на котором это хорошо, но я не могу понять, как:
- Обрезка Каждая ячейка используется по всей книге.
- А также разобрать текст, если это возможно
Это моя попытка Обрезка всю книгу, ее что-то простое, я просто знаю, я просто не могу понять это:
Sub DoTrim(Wb As Workbook)
Dim cell As Range
Dim str As String
Dim nAscii As Integer
Dim wsh As Worksheet
For Each wsh In Worksheets
With wsh.UsedRange
For Each cell In ActiveSheet.UsedRange
str = Trim(cell)
If Len(str) > 0 Then
nAscii = Asc(Left(str, 1))
If nAscii < 33 Or nAscii = 160 Then
If Len(str) > 1 Then
str = Right(str, Len(str) - 1)
Else
str = ""
End If
End If
End If
cell = str
Next cell
End With
Next wsh
End Sub
Любые советы был бы рад, что я довольно новичок в этом языке, поэтому извините, если я пою, как полный Newb!
TL; DR Обрезает ячейки только рабочий лист am on, нужно пробежать всю книгу. Я не могу понять, как перебирать ее по всему предмету.
EDIT: Это также более быстрый способ обрезки этих клеток, то электронные таблицы, созданные для которых я проектировании это массивны и занимает некоторое время, чтобы обрезать клетки временами
Birds View: 'ActiveSheet.UsedRange'? Возможно, вы имели в виду 'wsh.UsedRange'? Теперь смотрим на остальную часть кода ... –
Существуют ли формулы int eh worksheets или просто значения? –
Поскольку это будет надстройка, хорошая возможность для некоторых книг содержать формулы, я попытался использовать wsh.UsedRange, но получить ошибку: Object Variable или с переменной блока не установлен, но я не пробовал ниже метода, в настоящее время выполняется его сейчас – Studento919