Excel マクロ 超初心者です。
a.xls というファイルの「A列に存在する条件付きのセル(条件1参照)」で、その値を b.xls というファイルで検索し、同じ値のセルがあればそのセルを赤色にする。
条件1: 「A列に存在する条件付きのセル(条件1参照)」とは、 同じ行のB列のセルの値が0で、且つ同じ行のC列のセルの値が0でない時のみ対象とするものとする。
というマクロを仕事用に作りたいのですが、色々と調べて試してみてもうまく回ってくれません。
どなたかご教示いただけますととても嬉しいです。
どうかよろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんなのは、いかがでしょう。
a.xlsmに下記のマクロを登録します。
a.xlsmとb.xlsxの両方のブックを開き、a.xlsmの条件が入力されているシートをアクティブにした状態で、マクロを実行してください。
ちなみに、このマクロは、b.xlsxのSheet1に条件付き書式を設定します。
Sub sample()
Dim i As Long
With Workbooks("b.xlsx").Sheets("Sheet1").Cells.FormatConditions
.Delete
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
If Cells(i, "B").Value = 0 And Cells(i, "C").Value <> 0 Then
.Add Type:=xlCellValue, Operator:=xlEqual, _
Formula1:=Cells(i, "A").Value
With .Item(.Count).Interior
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
End With
End If
Next i
End With
End Sub
No.1
- 回答日時:
こんにちは。
最初に質問とは関係がありませんが、この質問に対して、得意な人もいるはずですが、手間が掛かるので敬遠されがちです。こういう場合、画像を見せイメージを与えると人は回答しようという方が出てくることが多いです。
'-----------
任意のセルに検索値を置いてください。
もう一つのブックを調べて検索します。開いてなくても、自動的に検索するようには出来ていますが、若干誤動作のような、検索してくれないことがあるので、最初に開いておいたほうがよいです。
条件については、下のコードを読んでみてください。
若干、修正が必要な部分があるかもしれません。
'//標準モジュール
Sub SearchValwithCondi()
Dim wb As Workbook
Dim c As Range
Dim sh As Worksheet
Dim msg As String
Dim myS_txt As Variant
Dim cnt As Long
Dim FirstAddress As String
With ThisWorkbook.ActiveSheet
myS_txt = ActiveCell.Value
If myS_txt = "" Then
MsgBox "検索データの所にカーソルを置いてください。", vbExclamation
Exit Sub
End If
End With
On Error GoTo ErrHandler
Set wb = Workbooks("b.xls")
For Each sh In wb.Worksheets
With sh.UsedRange.Columns(1)
Set c = .Find( _
What:=myS_txt, _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByColumns)
If Not c Is Nothing Then
FirstAddress = c.Address & sh.Name
Do
'条件設定
''c.Interior.ColorIndex = xlColorIndexNone '最初に色付きのセルを消す時
If c.Offset(, 1).Text = 0 And c.Offset(, 2).Value <> 0 Then
c.Interior.ColorIndex = 3
If msg = "" Then
msg = sh.Name & "!" & c.Address(0, 0)
Else
msg = msg & vbCrLf & sh.Name & "!" & c.Address(0, 0)
End If
cnt = cnt + 1
End If
Set c = .FindNext(c) '
Loop While Not c Is Nothing And c.Address & sh.Name <> FirstAddress
End If
End With
FirstAddress = ""
Next
If cnt > 0 Then
MsgBox cnt & "個見つかりました" & vbCrLf & msg, vbInformation
Else
MsgBox "見つかりませんでした", vbExclamation
End If
Exit Sub
ErrHandler:
Workbooks.Open ThisWorkbook.Path & "\b.xls"
Set wb = Workbooks("b.xls")
Resume Next
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) 指定値をマクロで検索&シート移動 2 2022/04/27 23:29
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2022/08/04 13:56
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/20 10:00
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- Visual Basic(VBA) Excel(VBA) 特定の条件に該当する行の値、書式を同じセルにコピ&ペーストしたいです 1 2022/05/21 18:18
- Excel(エクセル) マクロVBA別Excelブックにデータ転記 2 2022/07/10 23:35
- Excel(エクセル) ワードのマクロについて教えてください。 1 2023/03/11 13:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
至急!尿検査前日にオナニーし...
-
尿検査前日に自慰行為した時の...
-
白血球が多いとどんな心配があ...
-
尿検査の前日は自慰控えたほう...
-
検便についてです。 便は取れた...
-
納豆食べた後の尿の納豆臭は何故?
-
腕を見たら黄色くなってる部分...
-
彼女のことが好きすぎて彼女の...
-
EXCELで条件付き書式で空白セル...
-
2つの数値のうち、数値が小さい...
-
精子が黄色?
-
変な話しになります。尿検査で...
-
勃起する時って痛いんですか? ...
-
エクセル指定した範囲からラン...
-
小数点以下を繰り上げたものを...
-
excelでsin二乗のやり方を教え...
-
エクセルのラベルの値(文字列...
-
リンク先のファイルを開かなく...
-
1日前の検尿
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
至急!尿検査前日にオナニーし...
-
首吊りどこ締めるの
-
尿検査の前日は自慰控えたほう...
-
尿検査前日に自慰行為した時の...
-
検便についてです。 便は取れた...
-
白血球が多いとどんな心配があ...
-
中出しをするとお腹が痛い・・・。
-
射精をして1週間以内に尿検査を...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
変な話しになります。尿検査で...
-
これって喉仏ですか? 私は女性...
-
EXCELで条件付き書式で空白セル...
-
男です。昨日の午後3時くらいに...
-
今朝、毎朝の習慣でオナニーし...
-
納豆食べた後の尿の納豆臭は何故?
-
1日前の検尿
-
値が入っているときだけ計算結...
-
精子が黄色?
おすすめ情報