
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
Sub test01()
For Each cl In Range("g:I")
MsgBox cl.Address
Next
End Sub
実行すると、範囲内の全セルを横向きに処理することがわかる。
色つきのセルが見つかった段階で次の行の探索に移るコードがやや
面倒。
それであれば色つきのセルが見つかった段階で行をコピーし貼り付け
しループを抜ける(Exit For)ほうが簡単な書き方になるので、下記がよかろう
ーー
質問例はG列~R列だがG-I列に変えた。なるべくA列に近い例にせよ。
>G列~R列内
下辺行というものが有るだろう。列指定でなく範囲指定のほうが具体的。それで10行目までの例にした。プログラムで最終行を探す手も有るが。
コピー先の列が質問に書いてない。同じ列からとしたが、質問には心配りせよ。
以上は下記のコードを、質問者の要修正点でもある。
多分1番コード行数が少ないのではないかな。
ーーーー
Sub test02()
Dim sh1, sh2 As Worksheet
Set sh1 = Worksheets("sheet1")
Set sh2 = Worksheets("sheet2")
For i = 1 To 10
For j = 7 To 9 'G-I列の例
If sh1.Cells(i, j).Interior.ColorIndex <> xlNone Then
MsgBox sh1.Cells(i, j).Address
d = sh2.Range("i65536").End(xlUp).Row
sh1.Range("G" & i & ":I" & i).Copy sh2.Cells(d + 1, 7) 'I列から
Exit For
End If
Next j
Next i
End Sub
No.2
- 回答日時:
例えば、
データシートが、Sheet1
転記のシートが、Sheet2
というようにシート名が決まっている場合のコードは書けるのでしょうか。
もし、それも書けないということであれば、
>次のシートにコピーしたい
これは次の段階のような気もしますが。。。
(別に難しいと言ってるわけではありませんが)
ま、それは置いといて、
質問の文言どおりに
アクティブシートのG~R列で色付きセルがあったら
その行を
アクティブシートの「次の」シートへコピーする場合
'------------------------------------------
Sub test()
Dim R As Long
Dim Clm As Long
Dim Cnt As Long
Dim NextSheet As Worksheet
Set NextSheet = Worksheets(ActiveSheet.Index + 1)
NextSheet.Cells.Clear
For R = 1 To Cells(Rows.Count, "G").End(xlUp).Row
For Clm = 7 To 18
If Cells(R, Clm).Interior.ColorIndex <> xlNone Then
Cnt = Cnt + 1
Rows(R).Copy NextSheet.Cells(Cnt, "A")
Exit For
End If
Next Clm
Next R
End Sub
'---------------------------------------------
なお、G列で最終行を取得していますので
データの最終行のG列には何らかのデータがないといけません。
以上、ここまで。
No.1
- 回答日時:
単純に1行ずつ処理をするものを、ループさせればできると思います。
おおむねこんな感じ(他にも方法はあると思います)
1)準備として、「次のシート」へ記録する行のインデックス変数(あるいは
Rangeでもよい)を用意しておきます。
2)対象範囲を確定するために、G~R列の(データの入っている)最大行
を取得する。(1行目?からこの行まで処理をすればよいことになる。)
3)これ以降について(3~5)↑で取得した行までループで繰り返す
対象とする1行で、G~R列までの各セルに色がついているか調べる。
4)色がついていたら
その行を、「次のシート」のインデックス変数が示す行へコピーし、
インデックス変数を1進めておく。(次にペーストする行を示すため)
5)色がついていない場合は、何もせずに次の行へ
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/07/05 09:30
- Visual Basic(VBA) VBA 最終行まで数式をコピーする 3 2023/01/03 15:44
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 11:55
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Visual Basic(VBA) VBAマクロでシートコピーした新シートにコピー元シートとの計算式の入れ方を教えて下さい。 5 2022/11/20 09:48
- Visual Basic(VBA) エクセルVBAで『A列』に新規で数値を入力し『B列』から右方向の空白セルにその値を貼り付ける方法 4 2022/11/05 08:37
このQ&Aを見た人はこんなQ&Aも見ています
-
excelのデータで色つき行の抽出方について教えてください
Excel(エクセル)
-
セルに背景色がある行を別シートにコピー
その他(Microsoft Office)
-
エクセルでマクロにてセル色と文字を他シートのセルへコピーしたい
その他(コンピューター・テクノロジー)
-
-
4
VBAで色の付いているセルの行削除
Excel(エクセル)
-
5
複数シートの色付きセルがある行を別シートに抽出
Excel(エクセル)
-
6
Excel VBA で色付きのセルの値を取得する
Excel(エクセル)
-
7
Excelのセルの色を変えた行(すべてのシート)を別シートに抽出したい
Excel(エクセル)
-
8
EXCEL VBA 文中の書式ごと複写するには
Visual Basic(VBA)
-
9
エクセル 別シートへのコピーを,セルの色や太字斜体までやりたい。
Excel(エクセル)
-
10
【VBA】特定の条件でセルをコピー
Visual Basic(VBA)
-
11
複数シートに色付きセル(条件つき書式で設定済み)の行を別シートに抽出
Visual Basic(VBA)
-
12
エクセルで行の一番上にセルに移動させるVBA
Excel(エクセル)
-
13
エクセルvbaで、別シートの最下行にデータを取り込むコードを教えてください。
Visual Basic(VBA)
-
14
VBAで別のブックにシートをコピーするとセルの色が変わってしまう
Visual Basic(VBA)
-
15
VBA実行後に元のセルに戻りたい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで、あるセルの値に応じて...
-
Worksheets メソッドは失敗しま...
-
B列の最終行までA列をオート...
-
URLのリンク切れをマクロを使っ...
-
Cellsのかっこの中はどっちが行...
-
vba 2つの条件が一致したら...
-
VBAで重複データを確認したい
-
VBAを使って検索したセルをコピ...
-
IIF関数の使い方
-
DataGridViewにリンク列の追加...
-
マクロについて。S列の途中から...
-
【VBA】2つのシートの値を比較...
-
データグリッドビューの一番最...
-
DataGridViewに空白がある場合...
-
rowsとcolsの意味
-
配列の並び替え
-
条件によりカウントしない iif...
-
C# dataGridViewの値だけクリア
-
二つのリストを比べて部分一致...
-
excel2000マクロ記述
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで、あるセルの値に応じて...
-
vba 2つの条件が一致したら...
-
Worksheets メソッドは失敗しま...
-
B列の最終行までA列をオート...
-
Cellsのかっこの中はどっちが行...
-
IIF関数の使い方
-
Changeイベントでの複数セルの...
-
【VBA】2つのシートの値を比較...
-
VBA 何かしら文字が入っていたら
-
URLのリンク切れをマクロを使っ...
-
VBAのFind関数で結合セルを検索...
-
DataGridViewに空白がある場合...
-
VBAを使って検索したセルをコピ...
-
文字列の結合を空白行まで実行
-
データグリッドビューの一番最...
-
VBAでのリスト不一致抽出について
-
エクセル 2つの表の並べ替え
-
rowsとcolsの意味
-
【Excel VBA】 B列に特定の文字...
-
VBA 列が空白なら別のマクロへ...
おすすめ情報