Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


35559 / 76738 ←次へ | 前へ→

【46377】Re:ユーザーフォーム上で列変更
回答  りん@とおりすがり  - 07/2/1(木) 11:12 -

引用なし
パスワード
   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
0 hits

【46369】ユーザーフォーム上で列変更 takashi 07/2/1(木) 1:51 質問
【46376】Re:ユーザーフォーム上で列変更 へっぽこ 07/2/1(木) 11:09 発言
【46377】Re:ユーザーフォーム上で列変更 りん@とおりすがり 07/2/1(木) 11:12 回答
【46385】Re:ユーザーフォーム上で列変更 takashi 07/2/1(木) 14:12 発言
【46390】Re:ユーザーフォーム上で列変更 りん@とおりすがり 07/2/1(木) 16:46 回答
【46396】Re:ユーザーフォーム上で列変更 takashi 07/2/1(木) 18:37 お礼

35559 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free