
No.8ベストアンサー
- 回答日時:
こんにちは!
VBAになりますが一例です。
すべてのエラーセル(#N/Aや#DIV/0!など)が「0」になります。
Sub Sample1()
Dim myRng As Range
Set myRng = ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas, xlErrors)
If Not myRng Is Nothing Then
myRng = 0
End If
End Sub
※ #N/A のエラーだけを「0」にしたい場合は↓のコードにしてみてください。
Sub Sample2()
Dim c As Range, myRng As Range
Set myRng = ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas, xlErrors)
If Not myRng Is Nothing Then
For Each c In myRng
If c = CVErr(xlErrNA) Then
c = 0
End If
Next c
End If
End Sub
こんな感じではどうでしょうか?m(_ _)m
No.9
- 回答日時:
No.8です。
VBAでほとんどのコトは可能ですが、いくらVBAだとしても
「Aさん」のセル、「Bさん」のセルの区別が必要です。
単純に1行目から数値が羅列してあってもExcel的にはどこからどこまでが「Aさん」で、
どこからどこまでが「Bさん」なのか?は判断できません。
そこで↓の画像のように同じ列に何らかの区切りが判断できるものがあれば可能です。
あくまで↓の画像の配置の場合のVBAです。(合計の行は空白のままでマクロを実行します)
Sub Sample3()
Dim i As Long, myVal As Variant
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
If Cells(i, "A") <> "合計" Then
myVal = myVal + Cells(i, "B")
Else
Cells(i, "B") = myVal
myVal = 0
End If
Next i
End Sub
※ 画像では補足どおりにB列に「時間」を表示させていますが、
実際の表ではもっと右側の列になるのが普通だと思います。m(_ _)m

No.7
- 回答日時:
こんにちは
#N/Aで検索は可能なので、数が少なければ、「次を検索」と0のキー入力で処理することも可能ですが、箇所数が多いとそうもいきませんね。
>該当したセルを一括で、置換して0に変換できる方法はないでしょうか?
『セルの値が#N/Aなら無条件で0に置き換える』ということで良ければ、マクロで可能です。
※ 標準モジュールにコピペして実行。
※ アクティブなシートに対して処理されます。
Sub sample()
Dim c As Range, n As Long
n = 0
For Each c In ActiveSheet.UsedRange
If IsError(c.Value) Then
If c.Value = CVErr(xlErrNA) Then
c.Value = 0
n = n + 1
End If
End If
Next c
MsgBox "合計" & n & "ヶ所を置き換えました。"
End Sub
>VLLOKUP関数の数式内の検索値と列番号がそれぞれ違う場合、
>検索して置換する方法はありませうでしょうか?
ご質問の意味がわかりませんが、式そのものを検索したり置換することも、以下の手順で可能です。
1)セルの表示を数式が表示されるようにします。
(数式タブのワークシート分析-数式の表示)
2)上記の表示状態で、通常の検索・置換ダイアログで文字等を入力すれば
関数式などに対しても、通常の文字と同様に検索・置換が可能です。
No.6
- 回答日時:
数式から値に変えたいセルを選択する→
コピー を選択してクリックする。→(何も変わらない!)が、次に、
右クリックから、形式を選択して貼り付け をクリック→
式を数値にする または、値 のタグをクリックしてチェックを付ける!→OK
すれば、かわっている!
または、ロータス123では、範囲→範囲のプロパティー→ # →文字列をクリックしてok
→ダブルクリックすれば変わるので、同じく
数式から値に変えたいセルを選択後、文字列の所をクリック後、ダブルクリックすればいい
違いは、上の方法は、1回限りで、セルを消去したら、元どうり!でも
下の方法は、消去しても、文字列のままです!数式は入力できません!
No.5
- 回答日時:
数式の返り値を置換することはできません。
ですから、式自体を変更する案を出されているのです。
VLOOKUP関数をお使いですから、1列方向でデータが入っているならオートフィルタで「#N/A」データだけ抽出し、上から下まで選択→0を入力しCtrl+Enterでは如何でしょうか?
No.2
- 回答日時:
=IF(ISERROR(A1),0,A1)
は、A1セルが、エラーであれば、0、エラーでなければA1を内容をそのまま返す関数です。
これで、エラーの値のものは、0に変換されて結果を出します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 数式の置換がうまく行かない 6 2022/05/04 15:51
- 工学 疑似乱数生成器 3 2023/01/05 02:06
- その他(Microsoft Office) EXCEL VLOOKUPに関する質問 5 2023/02/08 11:38
- Access(アクセス) Accessで、『"A"以外の場合"--"に置き換える』という作業をしたいのですが、良い方法はありま 1 2022/06/07 19:30
- Excel(エクセル) Excel 参照元の値を参照したい 1 2022/08/20 18:58
- Excel(エクセル) Excelの複数置換はSUBSTITUTEを重ねるしかない? 9 2022/05/08 11:25
- デスクトップパソコン 40年間の悩み キーボードにおいて初期値として漢字ローマ字変換に設定する方法 8 2023/05/08 14:50
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- Visual Basic(VBA) VBA 検索と入力 Excel ブック ぶぶぶ シート ししし 列V 検索対象の列です 最終行は、お 6 2023/05/17 01:40
- その他(コンピューター・テクノロジー) 正規表現の置換で一部の文字列をそのまま残したい 2 2022/05/03 19:19
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのVBAで集計をしたい
-
【関数】同じ関数なのに、エラ...
-
【画像あり】オートフィルター...
-
【マクロ】元データと同じお客...
-
【マクロ】数式を入力したい。...
-
【マクロ】【配列】3つのシー...
-
Office2021のエクセルで米国株...
-
vba テキストボックスとリフト...
-
【マクロ】【相談】Excelブック...
-
【マクロ】実行時エラー '424':...
-
【マクロ】列を折りたたみ非表...
-
他のシートの検索
-
ページが変なふうに切れる
-
【マクロ】オートフィルターの...
-
【条件付き書式】シートの中で...
-
特定のセルだけ結果がおかしい...
-
【マクロ】左のブックと右のブ...
-
エクセル ドロップダウンリスト...
-
Excelに貼ったXのURLのリンク...
-
【マクロ】アクティブセルの時...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報
やってみたのですが、『置換対象のデータが見つかりません。検索対象のデータ書式と条件が適切に指定されていることを確認してください。このブックに一致するデータがあることがあらかじめ分かっている場合は、シートが保護されていないことを確認してください。保護されたシートのデータは置換できません』とメッセージが表示されます。
4000近く該当したセルを一括で、置換して0に変換できる方法はないでしょうか?
該当したセルは、VLOOLUP関数で表示させた数値です。
たとえば全てA1セルというわけではありません。
VLLOKUP関数の数式内の検索値と列番号がそれぞれ違う場合、検索して置換する方法はありませうでしょうか?
下の方で、対応できました!
もう一つ質問させていただきたいのですが、
A1~A12までAさんの勤務時間の月合計が入っていて、A13にその年の合計勤務時間を表示したいとして、A14からはBさんが始まり、それが12ヶ月でなく、5ヶ月の期間でA20にBさんの合計勤務時間を出したい場合(A21からもずーっと名前が連なります)マクロで対応できますでしょうか?