If matchFound Then
results = results & row.Cells(1, 1).Value & " | " & _
row.Cells(1, 2).Value & " | " & _
row.Cells(1, 3).Value & " | " & _
"se" & row.Cells(1, 4).Value & " | " & _
"ep" & row.Cells(1, 5).Value & " | " & _
row.Cells(1, 6).Value & " | " & _
row.Cells(1, 7).Value & " | " & _
row.Cells(1, 8).Value & " | " & _
row.Cells(1, 9).Value & vbCrLf & String(284, "-") & vbCrLf
resultCount = resultCount + 1
End If
提供搜索的结果,并在每个参数之间放置一个条(|)。该代码效果很好,但是当长度不同的结果有十几个结果时,它可能会令人困惑,而且很难破译。
我的想法是突出显示每个替代参数,以便可以清楚地看到标题,艺术家或年份等。
我尝试添加“”和“ 0”,但是最终要做的是在结果框中包括字符。
我正在使用一个Inkedit盒子,因为至少对我来说,RichTextbox似乎不再可用。 Inkedit框使我滚动和格式化功能,而不是简单的文本框。
我不想重新创建代码作为不同的东西,我只想将大胆或突出显示在替代文本中。那将在细胞(1,1),(1,3),(1,5),(1,7)和(1,9)中。
我知道“单元格(1,1).font.bold = true”,但我不确定我可以在哪里适应而不会发生任何错误。
there是使用填充和固定宽的字体来创建具有对齐值的纯文本表的一个非常基本的示例:
Private Sub UserForm_Activate()
Dim txt As String
txt = RangeToTable(ActiveSheet.Range("A1:H20"))
Me.InkEdit1.Text = txt
Me.InkEdit1.Font = "Courier"
End Sub
Private Function RangeToTable(rng As Range) As String
Dim txt As String, r As Long, c As Long, v, i As Long
Dim arr, nC As Long, nR As Long, maxLens() As Long
arr = rng.Value
nR = UBound(arr, 1) '# of rows
nC = UBound(arr, 2) '# of columns
ReDim maxLens(1 To nC) 'for max. length in each column
For c = 1 To nC 'start by finding max length value for each column
For r = 1 To nR
v = Len(arr(r, c))
If v > maxLens(c) Then maxLens(c) = v
Next r
Next c
txt = ""
For r = 1 To nR 'build the text with the appropriate space padding
txt = txt & "|"
For c = 1 To nC
v = arr(r, c)
i = maxLens(c) + 1 'add a little padding
txt = txt & Left(v & String(i, " "), i) & "|"
Next c
txt = txt & vbLf
Next r
RangeToTable = txt
End Function