Excel VBA質問箱 IV

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

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


5462 / 13646 ツリー ←次へ | 前へ→

【50597】コマンドボタンについて とむ 07/8/3(金) 17:00 質問[未読]
【50598】Re:コマンドボタンについて Mariko 07/8/3(金) 21:42 回答[未読]
【50599】Re:コマンドボタンについて ponpon 07/8/3(金) 23:53 発言[未読]
【50649】Re:コマンドボタンについて とむ 07/8/7(火) 10:21 発言[未読]
【50650】Re:コマンドボタンについて tmm 07/8/7(火) 11:07 発言[未読]

【50597】コマンドボタンについて
質問  とむ  - 07/8/3(金) 17:00 -

引用なし
パスワード
   コマンドボタンをシートに直接2つ貼っています。

コマンド1を押すと「1」と、
コマンド2を押すと「2」とシートに反映させたいのですが、
E列が空白以外の場合にのみ反映させたいのです。
しかもE9からE320までで。

Private Sub コマンド1_Click()
  Range("H9").Select
  ActiveCell.FormulaR1C1 = "1"
End Sub

これではどうしようもありませんでしたので、
何かヒントを頂けませんでしょうか?

【50598】Re:コマンドボタンについて
回答  Mariko  - 07/8/3(金) 21:42 -

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

今晩は・・・Mariです
こんな感じでしょうか

Private Sub CommandButton1_Click()
Dim R As Range, MyR As Range, Isect As Range

 Set MyR = Range("E5:E230")
  For Each R In MyR
    If R.Value = "" Then Exit Sub
  Next
 Set Isect = Intersect(Columns(5), MyR)
  If Not Isect Is Nothing Then
     MsgBox "1"
  End If
End Sub


ボタン2は同じ要領で作成して下さい。

【50599】Re:コマンドボタンについて
発言  ponpon  - 07/8/3(金) 23:53 -

引用なし
パスワード
   ▼とむ さん:
>コマンドボタンをシートに直接2つ貼っています。
>
>コマンド1を押すと「1」と、
>コマンド2を押すと「2」とシートに反映させたいのですが、
>E列が空白以外の場合にのみ反映させたいのです。
>しかもE9からE320までで。
>
意味を取り違えているかもしれませんが、
>コマンド1を押すと、
 E列のE9からE320までが空白でなければ、H列に「1」を入れたいということですか?
 意味が違ったらごめんなさい。

Private Sub CommandButton1_Click()
  Dim r As Range
  
  For Each r In Range("E9:E320")
    If Not IsEmpty(r.Value) Then
      r.Offset(, 3).Value = 1
    End If
  Next
End Sub

【50649】Re:コマンドボタンについて
発言  とむ  - 07/8/7(火) 10:21 -

引用なし
パスワード
   >ponpon さん
はい、そうです。
コマンド1を押した時に、
E9が空欄ならH9も空欄。E10に何か入っていたらH10には「1」。
コマンド2を押した時に、
E9に何か入っていたらH9には「2」、E10が空欄ならH10も空欄。
という感じです。

されど、ponponさんのでは動かなかったのはなぜでしょう。


>▼とむ さん:
>>コマンドボタンをシートに直接2つ貼っています。
>>
>>コマンド1を押すと「1」と、
>>コマンド2を押すと「2」とシートに反映させたいのですが、
>>E列が空白以外の場合にのみ反映させたいのです。
>>しかもE9からE320までで。
>>
>意味を取り違えているかもしれませんが、
>>コマンド1を押すと、
> E列のE9からE320までが空白でなければ、H列に「1」を入れたいということですか?
> 意味が違ったらごめんなさい。
>
>Private Sub CommandButton1_Click()
>  Dim r As Range
>  
>  For Each r In Range("E9:E320")
>    If Not IsEmpty(r.Value) Then
>      r.Offset(, 3).Value = 1
>    End If
>  Next
>End Sub

【50650】Re:コマンドボタンについて
発言  tmm  - 07/8/7(火) 11:07 -

引用なし
パスワード
   ▼とむ さん:
こんにちわ
これでどうでしょう
Private Sub CommandButton1_Click()
  Dim r As Range
 
  For Each r In Range("E9:E320")
    If Not IsEmpty(r.Value) Then Exit Sub

      r.Offset(, 3).Value = 1
  Next
End Sub

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