
B列がところどころ結合されているデータがあります。
※ 結合されていない行もあります。
例として、B1~B4(4行)が結合されていた場合、
1行目から4行目までの範囲で列検索を行ないたいと思っています。
Dim i As Long
If Cells(i, "B").MergeCells Then
一部分のみですみません。
行検索を行ない、B列が結合セルだったら、
Rows(i)(1~4行目)の、「列単位」で検索し(列はD列以降が検索対象)、
D列(D1~D4)に一箇所でも「○」が入力されていたら、D1に「○」と入力し、
E列以降の列にも同じ処理を繰り返したいです。
いろいろ試してみたのですがうまくいきませんでした。
検索方法を教えていただけたら幸いです。よろしくお願いします。
No.3ベストアンサー
- 回答日時:
質問を読み違えていました。
ユーザ定義関数ではできませんので、マクロでの実装です。Sub sample()
Dim I As Long
Dim J As Long
Dim M As Long
Dim R As Range
I = 1
Do While I <= Cells.SpecialCells(xlCellTypeLastCell).Row
If Cells(I, "B").MergeCells Then
M = Cells(I, "B").MergeArea.Rows.Count
For J = 4 To Cells.SpecialCells(xlCellTypeLastCell).Column
Set R = Range(Cells(I, J), Cells(I + M - 1, J))
If WorksheetFunction.CountIf(R, "○") > 0 Then
Cells(I, J).Value = "○"
End If
Next J
I = I + M
Else
I = I + 1
End If
Loop
End Sub
ママチャリさんいつもありがとうございます。
実行してみたところ、列用変数Jの開始番号が4だとうまくいかず
4→1に変更したところ、うまくいきました。
これであっているのか若干不安です。。
No.4
- 回答日時:
変数Jは、最初にD列を指すので、4で良いはずなのですが…。
ちなみに、どこで、どんなエラーがでましたか?
できました!4でOKでした。
(さっきはなぜうまくいかなかったのか‥)
セル検索は基礎の基礎なのに、
プロパティがなかなか使いこなせません。
コードを熟読して、もっと勉強します。
本当にありがとうございました。
これからもよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Visual Basic(VBA) VBA 検索と入力 Excel ブック ぶぶぶ シート ししし 列V 検索対象の列です 最終行は、お 6 2023/05/17 01:40
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Visual Basic(VBA) vba 重複データ合算 5 2023/07/05 18:55
- Visual Basic(VBA) VBAで重複した値のセルに色付けをしたい 1 2022/11/02 16:12
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Excel(エクセル) Excelの列から検索して該当する行を別シートに転記するVBA 2 2022/12/20 09:35
- Visual Basic(VBA) 改行ごとに行を追加し、数量を分割 4 2023/07/11 16:39
- Excel(エクセル) 指定文字列が該当するA列をアクティブセルにするには 3 2022/08/17 13:18
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
エクセル(勝手に太字になる)
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
エクセルで文字が混じった数字...
-
EXCELで 一桁の数値を二桁に
-
エクセルの並び変えで、空白セ...
-
「B列が日曜の場合」C列に/...
-
2つのエクセルのデータを同じよ...
-
エクセルの表示画面(シート)...
-
エクセルの表から正の数、負の...
-
Excel、市から登録している住所...
-
VBAでセル入力の数式に変数を用...
-
エクセル 文字数 多い順 並...
-
エクセル 同じ値を探して隣の...
-
Excelで半角の文字を含むセルを...
-
お店に入るために行列に並んで...
-
エクセルで一列おきに空白列を...
-
エクセルで、列の空欄に隣の列...
-
エクセルの項目軸を左寄せにしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
EXCELで 一桁の数値を二桁に
-
Excelで半角の文字を含むセルを...
-
2つのエクセルのデータを同じよ...
-
エクセル 文字数 多い順 並...
-
エクセルで文字が混じった数字...
-
エクセルで最初のスペースまで...
-
「B列が日曜の場合」C列に/...
-
エクセル(勝手に太字になる)
-
エクセルの項目軸を左寄せにしたい
-
Excel 文字列を結合するときに...
-
エクセルのセル内の文字の一部...
-
【VBA】特定列に文字が入ってい...
-
Excel、市から登録している住所...
-
文字列に数字を含むセルを調べたい
-
エクセルの表から正の数、負の...
-
VBAで文字列を数値に変換したい
-
エクセルで、列の空欄に隣の列...
-
オートフィルターをかけ、#N/A...
おすすめ情報
ユーザー定義関数でも大丈夫です。
できるだけシンプルな方が助かります。
よろしくお願いします。