Excel VBA質問箱 IV

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

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


35545 / 76732 ←次へ | 前へ→

【46385】Re:ユーザーフォーム上で列変更
発言  takashi  - 07/2/1(木) 14:12 -

引用なし
パスワード
   ▼りん@とおりすがり さん:
ありがとうございます。
Private Sub CommandButton1_Click()はバッチリなのですが

Private Sub CommandButton2_Click()の下記の部分がうまくいきません
  Else
    Cells(r, rc2).Value = "=sumif(A" & i + 1 & ":" & rc1 & r - 1 & _
      ",""小計"",rc1" & i + 1 & ":" & rc1 & r - 1 & ")"
       ~~~~~~~~~~~~~~~~~~~
    Cells(r, 1).Value = "合計"
問題ありますか?
 =SUMIF(A4:G5,"小計",'rc14':G5)のセルの値になってます
>
>>現在下記コードをユーザーフォーム上で利用しているのですが
>>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) = "K": ldat(3, 2) = 11
            ~~~~~~~~~ 3 ,2はどういう数値を
いれればよいでしょうか
この数値の入れ方教授ください。例Jの場合 Lの場合???

Private Sub CommandButton2_Click()
  Dim rc1 As String '列情報:文字
  Dim rc2 As Integer '列情報:番号
  rc1 = ListBox1.Text
  rc2 = ListBox1.Value
 
With ActiveCell
    If .Column <> rc2 Or .Value <> "" Then
      MsgBox "セルの場所が不適切です"
      Exit Sub
    End If
End With

Dim i As Long
Dim r As Long
Dim myRes As Variant

r = ActiveCell.Row

myRes = MsgBox("合計を出します", vbYesNo)

For i = r - 1 To 1 Step -1
  If Cells(i, 1).Value = "合計" Or Cells(i, 1).Value = "品    名" Then
  If i = r - 1 Then
    MsgBox ("計算する行がありません")
  Else
    Cells(r, rc2).Value = "=sumif(A" & i + 1 & ":" & rc1 & r - 1 & _
      ",""小計"",rc1" & i + 1 & ":" & rc1 & r - 1 & ")"
    Cells(r, 1).Value = "合計"
  End If
    i = 1
  End If
 Next
End Sub
>  '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 お礼

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