Как обрезать и почистить ячейку в VBA - PullRequest
0 голосов
/ 21 мая 2019

У меня есть код, который принимает имя столбца в качестве ввода от пользователя, а затем добавляет столбец с тем же именем столбца в конце листа. Проблема, с которой я сталкиваюсь, заключается в том, что мой код не выполняет строки, которые я набрал, чтобы обрезать и очистить только что добавленное имя столбца

Set sht = ThisWorkbook.Worksheets("Input")

LastColumn = sht.Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
'MsgBox LastColumn

ColumnName = InputBox("Name of column to be added")
'MsgBox ColumnName

sht.Cells(1, LastColumn + 1).Value = ColumnName

MsgBox sht.Cells(1, LastColumn + 1).Value

Trim (sht.Cells(1, LastColumn + 1).Value)
sht.Cells(1, LastColumn + 1).Value = Application.WorksheetFunction.Clean(sht.Cells(1, LastColumn + 1))
UCase (sht.Cells(1, LastColumn + 1).Value)

1 Ответ

0 голосов
/ 21 мая 2019

Вам нужно сохранить результат после Trim() либо в переменной,

Dim variableText As String

variableText = Trim(sht.Cells(1, LastColumn + 1).Value)
variableText = Application.WorksheetFunction.Clean(sht.Cells(1, LastColumn + 1))
variableText = UCase(sht.Cells(1, LastColumn + 1).Value)

или в самой ячейке:

sht.Cells(1, LastColumn + 1).Value = Trim(sht.Cells(1, LastColumn + 1).Value)
sht.Cells(1, LastColumn + 1).Value = Application.WorksheetFunction.Clean(sht.Cells(1, LastColumn + 1))
sht.Cells(1, LastColumn + 1).Value = UCase(sht.Cells(1, LastColumn + 1).Value)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...