0

Array配列に追加されたときにスペースが追加される値に大きな問題があります。したがって、このようなスペースを削除する方法はありますか?それ以外の場合は、すべての計算でTrim使用する必要があります。Trimしたがって、?内でそのようなスペースを一度削除するためのより迅速なプロセスはありcodeますか?

Dim VMHArray
VMHArray = Array("VMH All Fields Review - Add Supplier  Emergency", _
                 "VMH All Fields Review  (Req. Provides Supplier Details) - Update/Enable Supplier", _
                 "VMH Triggered Final Sourcing Review - Add Address_Direct", _
                 "Activate / Create supplier in business system - Add Address", _
                 "Activate / Create supplier in Business System - Add Supplier")
4

3 に答える 3

3

値が配列に挿入されるときに値をトリムします。または、代わりに、配列をループし、各要素をトリムして、トリムされた要素を配列に再挿入します。

于 2012-12-29T20:17:48.720 に答える
2

次のように、初期化後に配列をクリーンアップできませんか。

Sub test()
   Dim a(2) As String
   a(0) = "t1"
   a(1) = "t2  "
    a(2) = "test3 "
    Dim i As Integer

    Dim trimmed As Variant

    trimmed = TrimArray(a)

     For i = 0 To UBound(trimmed)
         Debug.Print trimmed(i) + "|"
     Next

End Sub

Function TrimArray(ByRef a() As String) As Variant
    For i = 0 To UBound(a)
     a(i) = Trim(a(i))
    Next

    TrimArray = a
End Function
于 2012-12-29T20:18:31.180 に答える
1

私の VBE は、配列内の 350 エントリを受け入れませんでした。

ただし、VBA の場合、以下のコードは縮小されたセットで機能します。

Sub main()

Dim VMHArray As Variant

VMHArray = Array("VMH All Fields Review - Add Supplier  Emergency", _
"VMH All Fields Review (Req. Provides Supplier Details) - Update/Enable Supplier", _
"VMH Triggered Final Sourcing Review - Add Address_Direct", _
"Activate - / Create supplier in business system - Add Address", _
"Activate /Create supplier in Business System - Add Supplier", _
"Activate / Create supplier in Business System -Add Supplier Emergency")

VMHArray = TrimArrayElements(VMHArray)

End Sub

Function TrimArrayElements(InputArray As Variant) As Variant

  Dim arr_element As Variant

  For Each arr_element In InputArray
    arr_element = Trim(arr_element)
  Next

End Function
于 2012-12-29T23:00:03.557 に答える