VBAについてです。該当しない時は"0"と表記したいのですが、どうやってもうまくいきません。。
Sub Sample()
Dim nCount, nActSheet, nName, nSheet
Dim sTargetName
nActSheet = ActiveSheet.Index
nCount = Worksheets.Count
If nCount <= nActSheet Then Exit Sub '右にシートが無ければ終了
'アクティブシートのB列の値を検査「名前」とする
For nName = 1 To Cells(Rows.Count, 2).End(xlUp).Row
sTargetName = Sheets(nActSheet).Range("B" & nName)
'右側のシートを1シートづつ検査対象シートとする
For nSheet = (nActSheet + 1) To nCount
'検査対象シートのB列に検査「名前」があるか確認
If Application.WorksheetFunction.CountIf(Worksheets(nSheet).Range("B5:B60"), sTargetName) > 0 Then
'「名前」があればN、P列の値をアクティブシートのK、M列に入れる
With Worksheets(nSheet)
nRow = Application.WorksheetFunction.Match(sTargetName, .Range("B:B"), 0)
Range("K" & nName) = .Range("N" & nRow)
Range("M" & nName) = .Range("P" & nRow)
End With
Exit For '1つ見つかったらその「名前」の検査は終了
End If
Next nSheet
Next nName
End Sub
B5~B34までのキーを元に他のシートを検索して、KとMにデータを取得するというものです。
今は該当するものがなければ空白になってますが、それを「0」と表記したいのです。
私がそれらしい構文を入れたら関係のない所まで「0」と変換されてしまいました。
データを入力したい範囲はK列とM列の5行目~34行目までです。
上の構文のどの部分に何を付け加えたら良いのでしょうか・・?
教えてください。
No.2ベストアンサー
- 回答日時:
最初に0入れちゃえばいいと思います。
'アクティブシートのB列の値を検査「名前」とする
For nName = 1 To Cells(Rows.Count, 2).End(xlUp).Row
sTargetName = Sheets(nActSheet).Range("B" & nName)
'(先に0を入れておく)
Range("K" & nName) = 0
Range("M" & nName) = 0
'右側のシートを1シートづつ検査対象シートとする
For nSheet = (nActSheet + 1) To nCount
No.3
- 回答日時:
こんにちは、参考に
Sub Test()
Dim c As Range
Dim ws As Worksheet
Dim meR As Variant
If ActiveSheet.Index = Worksheets.Count Then Exit Sub
For Each c In Range("B1", Cells(Rows.Count, "B").End(xlUp))
Cells(c.Row, "K").Value = 0
Cells(c.Row, "M").Value = 0
For Each ws In Worksheets
If ActiveSheet.Index < ws.Index Then
myR = Application.Match(c.Value, ws.Range("B5:B60"), 0)
If Not IsError(myR) Then
Cells(c.Row, "K").Value = ws.Cells(myR + 4, "N").Value
Cells(c.Row, "M").Value = ws.Cells(myR + 4, "P").Value
Exit For
End If
End If
Next
Next
End Sub
回答ありがとうございました。
そのままコピペしても思ったとおり実行できました(o^-^o)
それにしても、こんなのをサクサクっと作れちゃうってスゴイですね。
私ももっと勉強します!!
No.1
- 回答日時:
多分ご質問の最も簡単な解決手順としては,
1.先に全部に(初期値としての)ゼロを埋めておく
2.現行のマクロで,該当データはゼロから所定の値に書き換えさせる
で十分と思われます。
その上で,ご自分でももっとマクロを勉強してみたいというお話なら。
基本的な制御構造は
If 名前があったら
探して転記する
Else
無かったのでゼロを入れる
End If
のようになりそうです。
つまり…
<抜粋>
'検査対象シートのB列に検査「名前」があるか確認
If Application.WorksheetFunction.CountIf(Worksheets(nSheet).Range("B5:B60"), sTargetName) > 0 Then
'---『「名前」があればN、P列の値をアクティブシートのK、M列に入れる』---
Exit For '1つ見つかったらその「名前」の検査は終了
’↓ここから追加
Else
’---『「名前」が無かったので,どこかの列のどこかの行のセルにゼロを入れる』---
’このタイミングでどこにゼロを入れたいのか,ご説明ではまだ不明です
’「K列とM列の5行目~34行目まで」にゼロを入れるのでは無さそうです。
’↑ここまで
End If
もう少し検討してみてください。
回答有難うございました。
If 名前があったら
探して転記する
Else
無かったのでゼロを入れる
End If
このタイミングで私もやってみてたんですが、出来なかったので、何で!?でした。
多分「無かったのでゼロを入れる」って命令文が変だったんでしょうね(⌒_⌒;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 他のシートからコピーする下記マクロで貼付け位置をWorksheets(1).Range("A3")の 8 2023/01/30 18:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
至急!尿検査前日にオナニーし...
-
首吊りどこ締めるの
-
尿検査の前日は自慰控えたほう...
-
尿検査前日に自慰行為した時の...
-
1日前の検尿
-
今朝、毎朝の習慣でオナニーし...
-
変な話しになります。尿検査で...
-
射精をして1週間以内に尿検査を...
-
検便についてです。 便は取れた...
-
腕を見たら黄色くなってる部分...
-
2つの数値のうち、数値が小さい...
-
彼女のことが好きすぎて彼女の...
-
EXCELで条件付き書式で空白セル...
-
口の中に黒い血の塊
-
値が入っているときだけ計算結...
-
男です。昨日の午後3時くらいに...
-
白血球が多いとどんな心配があ...
-
Excelで""で囲む方法
-
リンク先のファイルを開かなく...
-
小数点以下を繰り上げたものを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
中出しをするとお腹が痛い・・・。
-
麻疹風疹の抗体検査結果につい...
-
エクセルでエラーが出て困って...
-
白血球が多いとどんな心配があ...
-
彼女のことが好きすぎて彼女の...
-
検便についてです。 便は取れた...
-
勃起する時って痛いんですか? ...
-
至急!尿検査前日にオナニーし...
-
納豆食べた後の尿の納豆臭は何故?
-
これって喉仏ですか? 私は女性...
-
EXCELで条件付き書式で空白セル...
-
精子が黄色?
-
小数点以下を繰り上げたものを...
-
値が入っているときだけ計算結...
-
口の中に黒い血の塊
-
健否~書類の書き方~
-
甲状腺が腫れているが血液検査...
-
はしかの抗体検査は何科の病院...
-
テスターで断線を調べる方法教...
おすすめ情報