Excel VBA質問箱 IV

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

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


42804 / 76732 ←次へ | 前へ→

【38990】Re:初心者ですがよろしくお願いします
発言  Blue  - 06/6/15(木) 17:02 -

引用なし
パスワード
   ▼taka さん:
>ありがとうございます どうしても上手くうごきません・・・・。
うまく動かないとは具体的にどうなってしまうのでしょうか?


Jakaさんのコードにコメント+エラー出力を入れました。
これで理解してみてください。

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim st As String
  ' 対象となるセルは"A1"だけ
  If Target.Address(0, 0) = "A1" Then
     ' セルの値が数字である場合
     If IsNumeric(Target.Value) Then
       ' セルの値が 1〜50 の場合
       If Target.Value > "0" And Target.Value <= "50" Then
         ' セルの値を取得
         st = Target.Value
         ' B1を変更するのでChangeイベントを起こさないようにする
         Application.EnableEvents = False

         On Error Resume Next
         ' B1に A1 の値をシート名に持つシートの B1 の値を入れる
         Range("B1").Value = Sheets(st).Range("B1").Value
        
        If Err.Number <> 0 Then
           MsgBox "'" & st & "'ってシートないやんけ。"
        End If

         On Error GoTo 0
         ' Changeイベントのイベントを抑制したのを元に戻す
         Application.EnableEvents = True
       Else
         MsgBox "1〜50の値じゃないやん。"
       End If
     Else
       MsgBox "数字じゃないやん。"
     End If
  End If
End Sub

0 hits

【38974】初心者ですがよろしくお願いします taka 06/6/15(木) 15:59 質問
【38977】Re:初心者ですがよろしくお願いします Blue 06/6/15(木) 16:23 質問
【38978】Re:初心者ですがよろしくお願いします taka 06/6/15(木) 16:28 質問
【38979】Re:初心者ですがよろしくお願いします Jaka 06/6/15(木) 16:31 発言
【38982】Re:初心者ですがよろしくお願いします taka 06/6/15(木) 16:37 質問
【38983】Re:初心者ですがよろしくお願いします Blue 06/6/15(木) 16:38 発言
【38988】Re:初心者ですがよろしくお願いします taka 06/6/15(木) 16:49 質問
【38990】Re:初心者ですがよろしくお願いします Blue 06/6/15(木) 17:02 発言
【39017】Re:初心者ですがよろしくお願いします taka 06/6/16(金) 9:22 お礼
【39018】Re:初心者ですがよろしくお願いします Blue 06/6/16(金) 9:25 質問
【39019】Re:初心者ですがよろしくお願いします taka 06/6/16(金) 9:30 質問
【39020】Re:初心者ですがよろしくお願いします Blue 06/6/16(金) 9:36 発言

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