![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?5a7ff87)
お世話になります。
縦軸に
① 数値
② #NUM!
③ #VALUE!
④ 空白
があり、上から見ていって、①~④の結果に対して、別の列に
違う結果を書き込みたいです。(以下のように)
’①
If IsNumeric(Cells(jj, 22)) = True Then
Cells(jj, 20).FormulaR1C1 = "=WORKDAY.INTL(RC[1],1)"
End If
´②
If Cells(jj, 33) = 6 Then
Cells(jj, 20) = "○"
End If
’③
If Cells(jj, 33) = 3 Then
Cells(jj, 34) = "*"
End If
’④
If Cells(jj, 33) = "" Then
Cells(jj, 20) = ""
End If
※先に、
For p = 2 To k
Cells(p, 33).FormulaR1C1 = "=ERROR.TYPE(RC[-11])"
Next p
を入れて、エラータイプを数値化させています
ですが、②と③でエラーとなってしまいます。
なにか遠回りしている気もするのですが、判定をさせる事は
できませんでしょうか?
お手数かけますが、よろしくお願いします。
No.1ベストアンサー
- 回答日時:
こんにちは
cells(jj,22)の値が、ご質問の①~④のどれに当たるかを識別できれば良いものと理解しました。
他に必要がないのであれば、ERROR.TYPE()関数等を用いなくても、直接VBAから識別が可能です。
それぞれの場合に対する処理はよくわからないので、とりあえずCell(jj,20)にその場合分けを文字で記入する形としてあります。
なお、①~④に該当しない場合は何もしません。
(IsNumeric()はセル値がブランクでもTRUEを返すようなので、ブランクの判定を先に行う必要がありますね)
v = Cells(jj, 22).Value
Set r = Cells(jj, 20)
If IsEmpty(v) Then
r.Value = "④" ' ④の場合の処理
ElseIf IsNumeric(v) Then
r.Value = "①" ' ①の場合の処理
ElseIf IsError(v) Then
If v = CVErr(xlErrNum) Then
r.Value = "②" ' ②の場合の処理
ElseIf v = CVErr(xlErrValue) Then
r.Value = "③" ' ③の場合の処理
End If
End If
fujillinさん
さっそくの回答ありがとうございました。
できました!
まだまだ知らない事がたくさんあるんですね(^^;
またよろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) R列の1111/11/11以外、且つQ列の×の条件で該当行のAからAE列までオレンジに塗りつぶす 2 2022/07/02 10:18
- Visual Basic(VBA) excel VBA if文について 3 2022/03/27 17:42
- Visual Basic(VBA) 実行時エラー´5854´ 文字列型パラメーターが長すぎます。 3 2023/06/08 21:17
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- Excel(エクセル) マクロで最終行から上に検索を逆にしたい 1 2022/05/17 18:27
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
どう増強すべきか
-
ExcelのVBAで、選択したファイ...
-
private subモジュールを他のモ...
-
IF文に時間(何時から何時ま...
-
VBAで時刻の記述方法
-
SQLの条件式
-
特定の名前のオートシェイプの...
-
VBA マクロ 英語版WINDOWSで全...
-
【C#/Java?】try-catchでcatch...
-
【VBA】エラー処理で別プロシー...
-
VBAの進捗状況をリアルタイ...
-
マクロで、次のコードへ行く前...
-
特定のファイルを他のプロセス...
-
ドリブン??
-
数値データを書式毎に表示結果...
-
私には複雑すぎて困っています_...
-
リロード対策について困っています
-
Visual C++でのif文
-
Excelマクロ エラー判別
-
イベントの取りこぼしについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
IF文に時間(何時から何時ま...
-
private subモジュールを他のモ...
-
vbaのエラー対応(実行時エラー...
-
マクロで、次のコードへ行く前...
-
どう増強すべきか
-
特定の名前のオートシェイプの...
-
シグナル 6(SIGABRT)とは?
-
Excel VBA セルの名前があるか...
-
ExcelのVBAで、選択したファイ...
-
どうやってもFor文を抜けてしま...
-
シェルスクリプトでファイル内...
-
ドリブン??
-
特定のファイルを他のプロセス...
-
VB6にてネットワーク上にある共...
-
【VBA】エラー処理で別プロシー...
-
Functionで戻り値を複数返す方法
-
Word VBA。各マクロの間に待ち...
-
エクセル VBAで複数セル選択時...
-
VBA 複数の行を高速で削除する...
おすすめ情報