12月以降13月で表示されているセルを1月に変換したいのですが
下記のようにセルM4にデータがあれば13月が入るので1月
また来月になると2月分が14月として入るのでElseif以下にしたいのですが
実行されません。valueを"13月"としてみたが同じでした。
ちなみに1月~14月までは文字列にしたのですが、これが原因なのでしょうか?
何かアドバイスがあればお願い致します。
If Range("M4") = value Then
Range("M4") = "1月"
Elseif Range("M4:N4") = value Then
Range("M4") = "1月"
Range("N4") = "2月"
End If
No.5ベストアンサー
- 回答日時:
疑問なのですが、なぜ13月とか14月が出てくるのでしょうか?
マクロか関数で入力されているのでしょうか?
仮に関数で入力されているなら、次のような方法はダメでしょうか
A1に2008/12/1が入力されているとします
B1へ次の式を入力してみてください
=DATE(YEAR(A1),MONTH(A1)+1,1)
表示形式を m"月" とすれば12月の次は1月となります
マクロの場合ですが、同じくA1に2008/12/1が入力されているとします
次のマクロを実行してみてください
Sub test()
Range("B1").Value = DateAdd("m", 1, Range("A1").Value)
End Sub
A1の日付を1ヶ月加算するマクロです(詳しくはヘルプを参照してください)
表示形式を m"月" とすれば12月の次は1月となります
一例を示しましたが、このように入力の時点で適正な値が入力されれば
エラー処理も多少省けるのではと思います
外していたら、飛ばしてください
この回答への補足
hige_082さん
返信ありがとうございます。
>疑問なのですが、なぜ13月とか14月が出てくるのでしょうか?
>マクロか関数で入力されているのでしょうか?
こちらマクロでの結果が12月以降が13月・14月となっています。
>Range("B1").Value = DateAdd("m", 1, Range("A1").Value)
ですがマクロに組み込んでみましたがだめでした。。
ちなみに念の為マクロを組み込んでいない更のBOOKに
今まで回答をもらった通りにマクロを記述したら実行されました。
この違いは何なのでしょうか?
No.3
- 回答日時:
No2です。
下段のほうを、タイプミスしてました。
If Range("M4") <> "13月" Then Range("M4") = "1月"
↓
If Range("M4") = "13月" Then Range("M4") = "1月"
この回答への補足
fujillinさん merlionXXさん
返信ありがとうございます。
> If Range("M4") = value Then ???
値が入っていたら。。としたかったのですが
空白でなければと同じなのでIf Range("M4") <> "" Then でしたね。
失礼しました。
しかしIf Range("M4") = "13月" Then Range("M4") = "1月"
では実行されませんでした。
ブレイクポイント+F8で実行させてみたのですがEnd ifに飛んでしまいます。
No.2
- 回答日時:
質問文だけでは、よくわかんないけど…
こういうこと?
If Range("M4") <> "" Then Range("M4") = "1月"
If Range("N4") <> "" Then Range("N4") = "2月"
あるいは
If Range("M4") <> "13月" Then Range("M4") = "1月"
というようなことかな?
No.1
- 回答日時:
> If Range("M4") = value Then ???
このvalueってなんですか?
話が見えないのですが・・・・。
ひょっとして、M4が空白でなければ1月、N4が空白でなければ2月とすればいいんでしょうか?
If Range("M4") <> "" Then
Range("M4") = "1月"
End If
If Range("N4") <> "" Then
Range("N4") = "2月"
End If
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Excel(エクセル) VBA EOMonthについて 5 2023/02/10 11:51
- Visual Basic(VBA) VBAで列を削除 3 2023/02/01 11:00
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Visual Basic(VBA) Sheet2からオートフィルターで売上日を抽出した件数をカウントし、その件数をSheet1のセルB1 2 2023/01/12 12:24
- Visual Basic(VBA) エラーコード1004 6 2022/06/09 14:12
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- Visual Basic(VBA) 他のシートからコピーする下記マクロで貼付け位置をWorksheets(1).Range("A3")の 8 2023/01/30 18:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
ExcelのVBA。public変数の値が...
-
メッセージボックスのOKボタ...
-
2つのマクロでチェックボックス...
-
エクセルのマクロについて教え...
-
Excel2013 VBA マクロ実行中に...
-
エクセルのマクロについて教え...
-
VBA初心者 Ctrl+での操作、ボタ...
-
エクセルで別のセルにあるふり...
-
エクセルのマクロについて教え...
-
Excelマクロを引数付で起動
-
「マクロ」の語源
-
エクセルのマクロについて教え...
-
レポートで空データ時に印刷しない
-
ユーザーフォームを起動しなが...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
エクセルで別のセルにあるふり...
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
ExcelVBAでPDFを閉じるソース
-
EXCELのVBAでRange("A1:C4")を...
-
Excel VBAからAccessマクロを実...
-
TERA TERMを隠す方法
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
マクロ実行時、ユーザーフォー...
-
Excelのマクロについて教えてく...
-
ソース内の行末に\\
おすすめ情報