VBA'da, bir diziyi bir türden diğerine nasıl dönüştürebilirim ?, benim durumumda "değişken" türüne "String" dizisini dönüştürmek istiyorum çünkü gereken bir işlev parametrem var Bu tür bir dizi. Burada VBA Diziyi dönüştür Tür
için "string"
ByRef arr() As String
ama "varyant" türünde bir dizi döndürür diğer fonksiyonlara sahip i parametre türünü değiştirebilirsiniz biliyoruz
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
bir örnek koddur ve
çok teşekkürler, bu fikrim vardı ama herhangi bir döngü olmadan bir çözüm olduğunu ümit ettim .. tekrar tekrar teşekkürler ve umarım sizden yeni şeyler öğrenirim –