Excel VBA質問箱 IV

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

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


4200 / 13644 ツリー ←次へ | 前へ→

【57916】連続入力 ぴぐぴぐ 08/9/20(土) 23:47 質問[未読]
【57920】Re:連続入力 りん 08/9/21(日) 9:02 発言[未読]
【57924】Re:連続入力 ぴぐぴぐ 08/9/21(日) 13:37 お礼[未読]

【57916】連続入力
質問  ぴぐぴぐ  - 08/9/20(土) 23:47 -

引用なし
パスワード
   一覧表作成で困っています。アドバイスをお願いします。

フォームで入力した値をシートへ転記するのですが、
「1B・2B」の行にそれぞれ共通項目を転記していきます。

Option Explicit
Dim 下

If Form入力.Option1B.Value = True Then
下 = Range("C4").End(xlDown).Row
Range(Cells(下 + 1, 3), Cells(下 + 1, 3)) = Form入力.共通1.Text
Range(Cells(下 + 1, 4), Cells(下 + 1, 4)) = Form入力.共通1.Text
Range(Cells(下 + 1, 5), Cells(下 + 1, 5)) = Form入力.共通1.Text

Elseif Form入力.Option2B.Value = True Then
下 = Range("I4").End(xlDown).Row
Range(Cells(下 + 1, 3), Cells(下 + 1, 3)) = Form入力.共通1.Text
Range(Cells(下 + 1, 4), Cells(下 + 1, 4)) = Form入力.共通1.Text
Range(Cells(下 + 1, 5), Cells(下 + 1, 5)) = Form入力.共通1.Text

End If

こうすると、オプションボタンで2Bを選び入力すると1Bのエリアに2つの
データが入力されてしまいます。

オプションで選んだところに共通項目を転記していきたいのですが・・・

これでセルを選択させて「ActiveCell.End(xlDown).Row」にするエラーになります
↓↓↓
Sub 選択()
 If Form入力.Option1B.Value = True Then
      Sheets("一覧").Range("C5").Select
    
    ElseIf Form入力.Option2B.Value = True Then
      Sheets("一覧").Range("I5").Select
  End If

【57920】Re:連続入力
発言  りん E-MAIL  - 08/9/21(日) 9:02 -

引用なし
パスワード
   ぴぐぴぐ さん、おはようございます。

>フォームで入力した値をシートへ転記するのですが、
>「1B・2B」の行にそれぞれ共通項目を転記していきます。
>
>If Form入力.Option1B.Value = True Then
> 下 = Range("C4").End(xlDown).Row
> Range(Cells(下 + 1, 3), Cells(下 + 1, 3)) = Form入力.共通1.Text
> Range(Cells(下 + 1, 4), Cells(下 + 1, 4)) = Form入力.共通1.Text
> Range(Cells(下 + 1, 5), Cells(下 + 1, 5)) = Form入力.共通1.Text
>Elseif Form入力.Option2B.Value = True Then
> 下 = Range("I4").End(xlDown).Row
> Range(Cells(下 + 1, 3), Cells(下 + 1, 3)) = Form入力.共通1.Text
> Range(Cells(下 + 1, 4), Cells(下 + 1, 4)) = Form入力.共通1.Text
> Range(Cells(下 + 1, 5), Cells(下 + 1, 5)) = Form入力.共通1.Text
>End If
>こうすると、オプションボタンで2Bを選び入力すると1Bのエリアに2つの
データが入力されてしまいます。

整理すると、

>If Form入力.Option1B.Value = True Then
>  下 = Range("C4").End(xlDown).Row
>  Cells(下 + 1, 3).Value = Form入力.共通1.Text
>  Cells(下 + 1, 4).Value = Form入力.共通1.Text
>  Cells(下 + 1, 5).Value = Form入力.共通1.Text
>ElseIf Form入力.Option2B.Value = True Then
>  Cells(下 + 1, 3).Value = Form入力.共通1.Text
>  Cells(下 + 1, 4).Value = Form入力.共通1.Text
>  Cells(下 + 1, 5).Value = Form入力.共通1.Text
>End If

1Bも2Bも、3から5列目→C,D,E列に転記するようになっていますので、どっちを選んでも1Bのエリアに入ります。

2BではI,J,Kに入れたいのであれば、
 Cells(下 + 1, 9).Value = Form入力.共通1.Text
 Cells(下 + 1, 10).Value = Form入力.共通1.Text
 Cells(下 + 1, 11).Value = Form入力.共通1.Text
です。

今回の場合は3,4,5列目に全部同じ値がはいっているようなので、
If Form入力.Option1B.Value = True Then
  下 = Range("C4").End(xlDown).Row
 Range(Cells(下 + 1, 3), Cells(下 + 1, 5)).Value = Form入力.共通1.Text
Elseif Form入力.Option2B.Value = True Then
  下 = Range("I4").End(xlDown).Row
 Range(Cells(下 + 1, 9), Cells(下 + 1, 11)).Value = Form入力.共通1.Text
End If

【57924】Re:連続入力
お礼  ぴぐぴぐ  - 08/9/21(日) 13:37 -

引用なし
パスワード
   ▼りん さん:

おはようございます。

アドバイス的確でした、ありがとうございます。
セルの下端をさがすのはなかなか理解できなくて困っていました。

どうもありがとうございます。

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