In VBA, wie konvertiere ich ein Array von einem Typ zu einem anderen? In meinem Fall möchte ich ein Array vom Typ "String" in "Variante" konvertieren, weil ich einen Funktionsparameter habe ein Array dieses Typs.VBA Array konvertieren Typ
hier ist ein Beispiel-Code,
Sub test_highlighfind()
Dim Rng As Range: Set Rng = ThisDocument.Range.Paragraphs(6).Range
Dim arr() As String: arr = Split(Rng.Text)
Call highlightWordsUsingFind(arr, ThisDocument, 7)
End Sub
Sub highlightWordsUsingFind(ByRef arr() As Variant, ByRef doc As Document, _
Optional ByVal HighlightColor As Integer = 6)
Dim i As Long, SearchRange As Range
Set SearchRange = doc.Range
With SearchRange.Find
.Format = True
.MatchCase = False
.MatchWholeWord = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Forward = True
.Wrap = wdFindContinue
.ClearFormatting
For i = LBound(arr) To UBound(arr)
.Text = arr(i)
.Execute 'Execute// Runs the find operation. Returns True if the find operation is successful
SearchRange.HighlightColorIndex = HighlightColor
Next
End With
End Sub
ich weiß, ich den Typ-Parameter ändern können „string“ ByRef arr() As String
aber ich andere Funktionen haben, die ein Array vom Typ „Variante“ zurückkehren und ich brauche den Ausgang für die Funktion über
danke sehr, ich hatte diese idee aber ich hoffte irgendwie, dass es eine lösung ohne schleifen gab ... danke nochmal, und hoffentlich werde ich neue dinge von dir lernen –