|
如下图:英文点号视觉占位并非一个空格位。为了保证有个完美的行高,我用了微软雅黑字体。
三列数据通过空格补位连接成字符串通过ListBox显示,
不要说用ListView,这个我知道,好用,但复杂难写,针对不同客户机环境经常出问题。
很多时候,简单原始的最好用。
我的补位代码如下:
Dim Res_Data()
Res_Data = ThisWorkbook.Sheets("会计科目").UsedRange.Value
Dim List_Data(), Find_Num As Long
Dim L1 As Long, L2 As Long
For I = 3 To UBound(Res_Data)
If InStr(Res_Data(I, 1), TB_Lookup) > 0 Or InStr(Res_Data(I, 2), TB_Lookup) > 0 Then
Find_Num = Find_Num + 1
ReDim Preserve List_Data(1 To Find_Num)
L1 = Len(Res_Data(I, 1))
L2 = Len(Res_Data(I, 2))
List_Data(Find_Num) = Res_Data(I, 1) & String(14 - L1, " ") & Res_Data(I, 2) & String(20 - L2, " ") & Res_Data(I, 3)
End If
Next
If Find_Num = 0 Then
MsgBox "找不到任何包含关键字的有效数据!" & Chr(13) & Chr(13) & _
"请尝试减少关键字符数或重新输入。", vbInformation, "乐天工作室:温馨提示!"
TB_Lookup.SetFocus
Else
ListBox1.List = List_Data
End If
哪位鬼才有没有完美的对齐解决方案?
还望赐教!
|
|