|
takashi さん、こんにちわ。
>現在下記コードをユーザーフォーム上で利用しているのですが
>B列をたとえばD列あるいはG列というように[書式の都合で変更したい]
>ユーザーフォームにテキストボックスを置き簡単に列変更できませんか。?
>テキストボックスでいいのか悪いのかその辺もわかりません。
>ご指導お願いできますか。
オプションボタン風リストボックスで分岐するならこんな感じ。
フォームにリストボックスをひとつ(ListBox1)追加しておいてください。
列分岐のリストボックスを追加します
Private Sub UserForm_Initialize()
'OptionGroupのようなリストボックスを作成
Dim ldat(1 To 3, 1 To 2) As Variant
'組みあわせを間違えないように気をつけて
ldat(1, 1) = "B": ldat(1, 2) = 2
ldat(2, 1) = "D": ldat(2, 2) = 4
ldat(3, 1) = "G": ldat(3, 2) = 7
'ldat(4, 1) = "AA": ldat(4, 2) = 27 という展開も可能
'リストボックス設定
With ListBox1
.MultiSelect = fmMultiSelectSingle
.ListStyle = fmListStyleOption
.List = ldat
.BoundColumn = 2
.ListIndex = 0 'デフォはB
End With
End Sub
Private Sub CommandButton1_Click()
Dim rc1 As String '列情報:文字
Dim rc2 As Integer '列情報:番号
rc1 = ListBox1.Text
rc2 = ListBox1.Value
'
<<以下略>>
以下、
Bとしていたところを変数rc1に、
例: Cells(r, 2).Value = "=sum(" & rc1 & i + 1 & ":" & rc1 & r - 1 & ")"
2としていたところを変数rc2に訂正して試してみてください。
例: If .Column <> rc2 Or .Value <> "" Then
|
|