Вопрос по excel, vba – Удалить пробелы в VBA Excel

2

У меня есть код для перемещения текста из ячейки в ячейку

Dim startIndex As Integer
Dim toIndex As Integer
Dim f As String
Dim g As String

For startIndex = 50 To 60 Step 2
toIndex = Str(startIndex + 1)
f = "F" & Str(toIndex)
g = "G" & Str(startIndex)
Range(f).Value = Range(g).Value
Range(g).Value = ""
Next startIndex

Но переменная f имеет «F 51»; значение вместо "F51".

Как решить эту проблему? постскриптум Это мой первый код на VBA.

Ваш Ответ

2   ответа
7

TRIM() toIndex или жеREPLACE пробелы в конечном результате, т.е.

Replace ("alphabet", "a", "e")  'would return "elphebet"

Пример, взятый отсюда:http://www.techonthenet.com/excel/formulas/replace.php

Так...

f = Replace (f, " ", "")
13

Вы должны использовать
CStr
не
Str

Тогда не требуется обходной путь для удаления ненужного пространства

т.е.

 f = "F" & CStr(toIndex)
 g = "G" & CStr(startIndex)  

Из справки Excel дляStr

When numbers are converted to strings, a leading space is always reserved for the sign of number.

Error: User Rate Limit ExceededtoIndex = startIndex + 1Error: User Rate Limit ExceededtoIndexError: User Rate Limit Exceededf = "F" & CStr(startIndex + 1)

Похожие вопросы