Excel VBA質問箱 IV

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

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


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

【63576】Ifで選択されたシートを表示するには かづ 09/11/18(水) 18:35 質問[未読]
【63577】Re:Ifで選択されたシートを表示するには マクロ 09/11/18(水) 19:55 発言[未読]
【63589】Re:Ifで選択されたシートを表示するには かづ 09/11/19(木) 15:49 お礼[未読]
【63586】Re:Ifで選択されたシートを表示するには ひげくま 09/11/19(木) 10:29 回答[未読]
【63590】Re:Ifで選択されたシートを表示するには かづ 09/11/19(木) 15:50 お礼[未読]

【63576】Ifで選択されたシートを表示するには
質問  かづ  - 09/11/18(水) 18:35 -

引用なし
パスワード
   こんにちは。VBA初心者です。

sheet1〜sheet4まで、sheetが4枚あり、sheet1にカーソルがあります。
sheet1のA1セルに"A"と入っていれば、sheet2を表示
sheet1のA1セルに"B"と入っていれば、sheet3を表示
それ以外の文字であれば、sheet4を表示したいのですが、
セルに"A"と入力しても、"B"と入力しても、sheet4が表示されてしまいます。

以下のように書いたのですが、どのように直せばよろしいでしょうか。

Sub Macro1()

  If ("A1") = "A" Then
    Sheets("sheet2").Select
  ElseIf ("A1") = "B" Then
    Sheets("sheet3").Select
  Else
    Sheets("sheet4").Select
  
  End If
  
End Sub

過去ログを検索しましたが、わかりませんでしたので、よろしくお願い致します。

【63577】Re:Ifで選択されたシートを表示するには
発言  マクロ  - 09/11/18(水) 19:55 -

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

こんな感じでいかがですか。
Sub Macro1()

  Dim bunki As String
  bunki = Sheets(1).Range("A1").Value
  Select Case bunki
  Case Is = "A"
    Sheets(2).Select
  Case Is = "B"
    Sheets(3).Select
  Case Else
    Sheets(4).Select
  End Select
End Sub

【63586】Re:Ifで選択されたシートを表示するには
回答  ひげくま  - 09/11/19(木) 10:29 -

引用なし
パスワード
   ("A1") というのは、A1という文字 という意味でしかありません。

なので、
>  If ("A1") = "A" Then
これだと、A1 という文字が A という文字だったら、という意味になります。

A1セルの値は、Range("A1").Value と書きます。

【63589】Re:Ifで選択されたシートを表示するには
お礼  かづ  - 09/11/19(木) 15:49 -

引用なし
パスワード
   マクロ様

素早く的確な対応ありがとうございました。
上手くいきました!

【63590】Re:Ifで選択されたシートを表示するには
お礼  かづ  - 09/11/19(木) 15:50 -

引用なし
パスワード
   ひげくま様

解説ありがとうございました。
そういう意味だったんですね。
もっと自分で勉強して、VBAを使えるようになりたいと思います。

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