excel2000です。
あるセル範囲の中から、数値の入っているセルを探し出し、
「計」の字のあるセルの前までその数値を繰り返す・・・という表を
作りたいのですが、どうしたらいいのかわかりません。
例)
A3に「1」、B6に「計」が入っています。
A1からA5の範囲から数値の入っているセル(=A3)を探し出し、
C1:C5に「1」を並べる。
続いてA8に「2」、B11に「計」が入っていて、
C7:C10まで「2」を並べる。
という感じです。
A列の範囲は毎回変わり、B列の「計」の次の行から、
次の「計」の手前までの範囲です。
数値が入っている場所(A3やA8)も毎回変わります。
本当に困っています。
お力を貸してください。よろしくお願いします。
No.1ベストアンサー
- 回答日時:
参考にVBAを書いてみました。
処理を行いたいB列の範囲(連続範囲)を選択して実行します。計と計の間のA列の行には数値は1つのみあるとしています。
ツール→マクロ→Visual Basic Editor でVBE画面に移り、挿入→標準モジュールで標準モジュールを挿入し、そこに貼り付けます。
Public Sub Kensaku_Nyuryoku()
Dim startRow, endRow As Long '開始行,最終行
Dim findRow As Long '『計』があった行
Dim ATAI As Long 'A列の値
Dim rw, rwC As Long '行カウンタ,行カウンタ(C列)
With Selection '検索範囲を特定する。Excel97のため split関数がない!
startRow = Range((Left(.Address, InStr(.Address, ":") - 1))).Row
endRow = startRow + .Rows.Count - 1
End With
rw = startRow '検索開始行
While rw <= endRow
While Range("B" & rw) <> "計" '『計』を探す
rw = rw + 1: If endRow < rw Then Exit Sub
Wend
findRow = rw
'A列の値を特定する
ATAI = WorksheetFunction.Max(Range("A" & startRow & ":" & "A" & findRow - 1))
'C列に書き込む
For rwC = startRow To findRow - 1
Range("C" & rwC) = ATAI
Next
startRow = findRow + 1 '新たな検索開始位置
rw = rw + 1 '次の行
Wend
End Sub
ありがとうございます!バッチリできました!
前回に引き続きまたしてもnishi6さんに助けていただきましたね。
本当にありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの数式について ブック内の別シートの値の含まれたセルの個数を集計したい 全シート一覧のシート 1 2022/07/21 19:28
- Excel(エクセル) Excelについて A1からA12まで、1月〜12月と入力し、 B1からB12の範囲に、C1とD1に 4 2022/05/26 22:48
- Excel(エクセル) エクセル 条件に合う日付に入力された時間数の合計したい 4 2022/06/17 22:18
- Excel(エクセル) 条件に合った数値の合計を表示させたい関数と条件指定の方法 3 2023/05/13 16:07
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- Excel(エクセル) エクセルの複写について 4 2022/04/10 01:02
- Excel(エクセル) エクセルの関数式を教えてください。 2 2022/11/29 21:09
- Excel(エクセル) マクロ セルの選択 5 2022/08/12 22:47
- Excel(エクセル) エクセルでSUMIFS関数で条件範囲の部分が#valueになる。 4 2023/04/28 12:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル 指定した文字列を含...
-
エクセルで同じ名前ごとの合計...
-
エクセル VLOOKUPが反映されない
-
エクセルVBA Unionはなぜ遅い?
-
桁数が混在する並び替えの方法
-
エクセルで一部除外した数字を...
-
エクセル 並び替え
-
エクセルvba 一つ上の行を指定...
-
Excelで自動的に並べ替えなんて...
-
オートフィルについて(急ぎ!)
-
EXCEL VBA 指定範囲内で特定の...
-
Excelで1列の数字の内、ある行...
-
エクセルマクロでA欄に値があ...
-
EXCEL 指定した曜日に番号を振...
-
Excelで数値→文字列変換で指数...
-
テキストボックス内の文字のふ...
-
Excelで行ごとコピー、同じ行を...
-
PDFの一部を切り取って別のシー...
-
エクセル
-
【Excel】貼り付けた画像がいつ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル 指定した文字列を含...
-
エクセルで同じ名前ごとの合計...
-
エクセルの関数SUBSTITUTEを、...
-
エクセルVBA Unionはなぜ遅い?
-
桁数が混在する並び替えの方法
-
EXCEL VBA 指定範囲内で特定の...
-
エクセルで一部除外した数字を...
-
エクセルで列内の同じIDの商品...
-
Excelで自動的に並べ替えなんて...
-
エクセル マクロで列を連続し...
-
エクセルvba 一つ上の行を指定...
-
EXCELである列を上から順にチェ...
-
EXCEL 指定した曜日に番号を振...
-
エクセルで2列を検索し2列とも...
-
エクセル 並び替え
-
ExcelVBA:列方向の並び替え O...
-
アクティブセルのある行の任意...
-
エクセル VLOOKUPが反映されない
-
オートフィルについて(急ぎ!)
-
VBA マクロの組み方
おすすめ情報