Excel VBA質問箱 IV

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

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


10562 / 76734 ←次へ | 前へ→

【71718】Re:考えたように動きません
発言  UO3  - 12/4/2(月) 12:39 -

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

このコードがやっていることは

入力が「A1」の時のみ実行する。(「B1」への入力時は何もしない)
で、「A1」が"H"なら C列の「未出力セル」に、「B1」の値をセット
「A1」が"L"なら D列の「未出力セル」に、「B1」の値をセット

ですので、B1 にいれる前に A1 にいれても、入力のないB1を相手に処理されるだけ。
その後、B1に何をいれても、処理されません。

もし、「B1」に入力した時に、「A1」の値によって、「B1」の値を
C列またはD列にセットするなら以下ですね。
もし、「A1」に入力した時も、「B1」に入力した時も、その時点でのA1やB1の値を相手に
処理するなら、また別のコードになります。

それと、C10000 といった、固定セル名は使わないほうがいいですね。

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim S As String

  If Target.Address(0, 0) <> "B1" Then Exit Sub
  S = Target.Offset(, -1).Value 'A1の値
  
  Select Case S
    Case "H": Range("C" & Rows.Count).End(xlUp).Offset(1).Value = Target.Value
    Case "L": Range("D" & Rows.Count).End(xlUp).Offset(1).Value = Target.Value
  End Select

End Sub
3 hits

【71717】考えたように動きません 12/4/2(月) 11:55 質問
【71718】Re:考えたように動きません UO3 12/4/2(月) 12:39 発言
【71719】Re:考えたように動きません 12/4/2(月) 13:03 お礼

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