|
▼koku さん:
>1桁前後のずれならかまわないのですが状況しだいでは最後は3桁程度もずれてしまい非常に見づらいです。
については、ねむり猫さんのアドバイスのとおり、固定ピッチフォントの使用で
解決ですね (^^
あと、指定カラムに文字列を整列させていく方法ですが、
Midステートメントを使うと速いです。
Sub 例1()
Dim mySht As Worksheet
Dim data
Dim TextBox1 As Shape
Dim i&, j&, m&, n&, ss$(), s$
Dim 段数 As Long, 列数 As Long
列数 = 8
Set mySht = ActiveSheet
data = mySht.[Y2:Z2].Resize(列数).Value
段数 = UBound(data, 2)
ReDim ss(1 To 段数)
For i = 1 To 段数
ss(i) = Space$(10 * 列数)
For j = 1 To 列数
s = data(j, i)
n = Len(s)
m = (j - 1) * 10 + 11 - n
Mid$(ss(i), m, n) = s
Next
Next
With mySht.Range("B6").Resize(段数 + 1, 列数 + 3)
Set TextBox1 = mySht.Shapes.AddShape _
(msoShapeFoldedCorner, .Left, .Top, .Width, .Height)
End With
With TextBox1.TextFrame.Characters
.Font.Name = "MS ゴシック"
.Font.Size = 12
.Text = Join(ss, vbCrLf)
.Parent.HorizontalAlignment = xlHAlignLeft
End With
End Sub
|
|