No.1ベストアンサー
- 回答日時:
スマートじゃないけど、こんな感じかな。
Sub Test()
Dim tws As Worksheet, ws As Worksheet
Dim r As Range, ro As Range, LRow As Long
Set tws = ActiveSheet
Set r = tws.Range("P2") :Set ro = r.Offset(1, 0)
Do While r.Value <> ""
Do While r.Value = ro.Value
Set ro = ro.Offset(1, 0)
Loop
Set ws = Worksheets.Add(after:=Worksheets(Worksheets.Count))
On Error Resume Next
ws.Name = r.Value
tws.Rows(1).Copy Destination:=ws.Rows(1)
tws.Range(r, ro.Offset(-1, 0)).EntireRow.Copy _
Destination:=ws.Rows(2)
LRow = ws.Range("P1").End(xlDown).Row + 1
ws.Range("AA" & LRow).Resize(1, 19) = _
"=SUM(AA2:AA" & LRow - 1 & ")"
Set r = ro
Loop
End Sub
この回答へのお礼
お礼日時:2005/06/01 18:28
ありがとうございます。
ばっちりでした。
最後にひとつ教えてください。
tws.Range(r, ro.Offset(-1, 0)).EntireRow.Copy _
Destination:=ws.Rows(2)
これはどういう意味でしょうか?
No.2
- 回答日時:
> tws.Range(r, ro.Offset(-1, 0)).EntireRow.Copy _
> Destination:=ws.Rows(2)
>
> これはどういう意味でしょうか?
tws はP列を調べたいシート
r がセルP3 、ループ終了時のroがセルP7だとしたら、P3からの同一データはP6までになります。
ro.Offset(-1,0) は P7 を P6に変える処理です。
そうすると、tws.Range(r, ro.Offset(-1, 0)) は tws.Range("P3","P6") と同意になります。
EntireRow はセル範囲を行全体にしてくれます。Rows("3:6") に変換するようなイメージです。
Copy はコピー
Destination はコピーの転送先で、必ず新規シートの2行目になりますので ws.Rows(2) です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで、シート間の転記するコードをFOR~NEXTで教えてください。 9 2023/04/30 20:04
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- Visual Basic(VBA) 重複データをまとめて合計を合算する 4 2022/10/25 20:25
- Excel(エクセル) アウトラインの小計のやり方 1 2023/03/20 11:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel VBA】CSV取込時、数字...
-
Word2016でExcelデータを差込し...
-
エクセルで電話番号にハイフン...
-
EXCEL2007で2つのシートのどっ...
-
EXCELの列の幅
-
VBAで他のシートの特定の列を検...
-
エクセルVBAで複数列データを1...
-
エクセルで前年同日・前月同日...
-
エクセルVBAで検索して内容をコ...
-
Excel 表の必要箇所だけを抜き...
-
エクセルで2列以上のものを同時...
-
エクセルシートの選択範囲をコ...
-
セル入力文字が、「右のセルに...
-
ワードの文章囲み枠(?)を消...
-
パワポの複数ページにまたがる...
-
エクセルでセルの中の文字が削...
-
エクセル、ページをまたがった...
-
ワードの表の行が広がってしまう
-
パワーポイントの表
-
ワードで表を作ってセル内で改...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Word2016でExcelデータを差込し...
-
【Excel VBA】CSV取込時、数字...
-
EXCELで2つのシートから一致し...
-
Excel 表の必要箇所だけを抜き...
-
EXCELの列の幅
-
エクセルでページ毎の計をつけ...
-
エクセルで前年同日・前月同日...
-
excelの列がいっぱいになり列を...
-
EXCEL2007で2つのシートのどっ...
-
エクセルで電話番号にハイフン...
-
EXCELで不良率を出そうと思って...
-
エクセルVBAで複数列データを1...
-
ExcelのIF関数について
-
順位表において先週と今週の数...
-
エクセルで2列以上のものを同時...
-
ピボットテーブル作成後、重複...
-
エクセルの余白を0にしても列...
-
(形式直し)Sheetの表のサイズ...
-
エクセルで縦線のいっぱい入っ...
-
SUMPRODUCT関数で複数条件適用...
おすすめ情報