|
▼Blue さん:
>▼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
おはようございます。昨日はありがとうございました。
上手くいきました。説明もとてもわかりやすかったです。
|
|