Excel2016です。
既定のワードアートの スタイルのサンプルをシート上に配置したいと思います。
ところが
Sub test01()
For i = 1 To 40
Set wa = ActiveSheet.Shapes.AddTextEffect(msoTextEffect23, "TEST/TEST", "メイリオ", 40, _
msoTrue, msoFalse, 10, 40 * i)
wa.Name = "WA" & i
Next i
End Sub
とした場合、上記のmsoTextEffect23 であれば23の部分をどう変数iにすればよいのかわかりません。ご教示いただければ幸いです。
済みません。「サンプルをシート上に配置したい」を見落としていました。
こういう事ですね。
Option Explicit
'
Sub test01()
Dim I As Integer
Dim Wa As Object
'
For I = 1 To 40
Set Wa = ActiveSheet.Shapes.AddTextEffect(I - 1, _
"TEST/TEST", "メイリオ", 40, msoTrue, msoFalse, 10, 40 * I)
Wa.Name = "WA" & I
Next I
End Sub
前の回答を消したい。
無理ですね。msoTextEffect23全体を変数にするなら、
Option Explicit
'
Sub test01()
Dim PresetTextEffect As Integer
'
PresetTextEffect = msoTextEffect23
'
For i = 1 To 40
Set wa = ActiveSheet.Shapes.AddTextEffect(PresetTextEffect, _
"TEST/TEST", "メイリオ", 40, msoTrue, msoFalse, 10, 40 * i)
wa.Name = "WA" & i
Next i
End Sub
Integer で指定していることから解るように、msoTextEffect23は数字です。
PresetTextEffect = 22
でもいいです。
https://docs.microsoft.com/ja-jp/office/vba/api/office.msopresettexteffect
を参考にして下さい。
お礼
ありがとうございます。 おかげさまでやりたいことができました! 助かりました!!