エクセルのマクロでA1の値が1ならばB1にaを、2・3・4ならばbを、5ならばCを、それ以外は「該当無し」と入れたいのですが下のマクロではうまく行きません。ぜひご指導ください。
Sub
If Left(Cells(1, 1).Value, 1) = 1 Then Cells(2,1).Text = "a"
ElseIf Left(Cells(1,1).Value, 1) = 2 Or _
Left(Cells(1,1).Value, 1) = 3 Or _
Left(Cells(1,1).Value, 1) = 4 Then Cells(2,1).Text = "b"
ElseIf Left(Cells(z, 37).Value, 1) = 5 Then Cells(2,1).Text = "c"
Else: Cells(z, 40).Text = "該当無し"
End If
End Sub
No.2ベストアンサー
- 回答日時:
入力ミスなのか、いくつもエラーがあります。
>A1の値が1ならばB1にaを、2・3・4ならばbを、5ならばCを、
ということの作業であれば Select Case文を勉強してみてください。
Sub Macro1()
Select Case Left(Cells(1, 1).Value, 1)
Case 1
Cells(2, 1).Value = "a"
Case 2, 3, 4
Cells(2, 1).Value = "b"
Case 5
Cells(2, 1).Value = "c"
Case Else
Cells(2, 1).Value = "該当無し"
End Select
End Sub
といった具合にシンプルになります。
No.3
- 回答日時:
VBのElseIfの勉強でなければ、
VBAの上達度は、私の持論では、IF文をどれだけ減らせたかにあると思っている。
コードか簡潔になる。
見通しがよくなる。
エラーが少なくなる。
(VBでなく)VBAを生かせる。
などのメリットがある。
そのためにはエクセルそのものの機能の勉強が先だが。
ーー
本件は、Case文もあるが
F1:G5に
1a
2b
3b
4b
5c
を作って
コード例として
Sub test05()
On Error GoTo err1
For i = 1 To 5
Cells(i, "B") = WorksheetFunction.VLookup(Cells(i, "A"), Range("F1:G5"), 2, False)
Next i
Exit Sub
err1:
Cells(i, "B") = "該当なし"
Resume Next
End Sub
なんてのもある。
>質問コードのLeftは文字列の一部を判別するのか?無視したが。
ーー
対応表をプログラムのコードの中に持つ手もある。
この回答への補足
>質問コードのLeftは文字列の一部を判別するのか?無視したが。
説明部位側でした。申し訳ありません。そうです。
A1のセルの文字の一番最初の文字を判別しようとしていました。
No.1
- 回答日時:
Sub TEST()
Select Case Cells(1, 1)
Case 1
Cells(1, 2) = "a"
Case 2, 3, 4
Cells(1, 2) = "b"
Case 5
Cells(1, 2) = "c"
Case Else
Cells(1, 2) = "該当なし"
End Select
End Sub
-------------------------------
で、どうでしょう
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) ローマ字、ハイフン付きの並び替え ローマ字抽出方法 Excelマクロ 4 2022/04/01 14:10
- Excel(エクセル) VBA 同日で2回目(午後)の体温を登録するときのコード 3 2022/08/28 20:29
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- Visual Basic(VBA) A列B列C列 3 2023/04/26 18:11
- Visual Basic(VBA) このマクロの説明文を教えてほしいです。 1 2023/01/12 09:17
- Visual Basic(VBA) VBA チェックボックスで 5 2023/05/31 17:10
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) ユーザーフォームの書き出しで追加のご相談 ユーザーフォームの値をシートに書き出す際、コードが表示され 2 2022/08/05 10:58
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
EXCELでB1に指定文字が入った場合、A1に”1”という数字を返すには
Excel(エクセル)
-
エクセルについて、A1が1ならばJ1に1を表示、さらにB1が2ならJ1は12、またC1が3ならばJ1
Excel(エクセル)
-
-
4
エクセルで、あるセルに入力されたらこのセルを参照する…
Excel(エクセル)
-
5
エクセルでデータが入力されているセルのみを選択してコピーするマクロを教えてください。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
白血球が多いとどんな心配があ...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
勃起する時って痛いんですか? ...
-
EXCELで条件付き書式で空白セル...
-
【Excelで「正弦波」のグラフを...
-
至急!尿検査前日にオナニーし...
-
腕を見たら黄色くなってる部分...
-
口の中に黒い血の塊
-
精子が黄色?
-
舌の裏の痛みのないプツプツの...
-
これって喉仏ですか? 私は女性...
-
小数点以下を繰り上げたものを...
-
2つの数値のうち、数値が小さい...
-
尿検査前日に自慰行為した時の...
-
エクセルでθを求めたい。
-
足がまだら模様になります。ど...
-
納豆食べた後の尿の納豆臭は何故?
-
MIN関数で空白セルを無視したい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
至急!尿検査前日にオナニーし...
-
首吊りどこ締めるの
-
尿検査の前日は自慰控えたほう...
-
尿検査前日に自慰行為した時の...
-
検便についてです。 便は取れた...
-
白血球が多いとどんな心配があ...
-
中出しをするとお腹が痛い・・・。
-
射精をして1週間以内に尿検査を...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
変な話しになります。尿検査で...
-
これって喉仏ですか? 私は女性...
-
EXCELで条件付き書式で空白セル...
-
男です。昨日の午後3時くらいに...
-
今朝、毎朝の習慣でオナニーし...
-
納豆食べた後の尿の納豆臭は何故?
-
1日前の検尿
-
値が入っているときだけ計算結...
-
精子が黄色?
おすすめ情報