VBA: для каждого элемента в цикле массива - PullRequest
0 голосов
/ 04 марта 2020

Что я делаю не так, я пытаюсь, чтобы каждый элемент в массиве проходил через функцию, но не представлял измененную строку ...

Sub Trm(Trimmed)
    Trimmed = Trim(Left(Trimmed, Len(Trimmed) - 4))
End Sub

Private Sub CommandButton1_Click()

Dim myarray As Variant
Dim cell As Variant

Cell1 = ActiveDocument.Tables(1).cell(1, 1).Range.Text
Cell2 = ActiveDocument.Tables(1).cell(1, 2).Range.Text

myarray = Array(Cell1, Cell2)

For Each cell In myarray
    Trm cell
Next

ActiveDocument.Tables(1).cell(2, 1).Range.Text = Cell1
ActiveDocument.Tables(1).cell(2, 2).Range.Text = Cell2

End Sub

1 Ответ

0 голосов
/ 04 марта 2020

Попробуйте изменить

Sub Trm(Trimmed)

в

Sub Trm(ByRef Trimmed As String)

Мой код отвечает на ваш вопрос как есть. Чтобы вы поняли разницу между ByVal (по умолчанию) и ByRef.

В противном случае ваша проблема может быть решена многими другими более эффективными способами ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...