
No.3ベストアンサー
- 回答日時:
たびたびごめんなさい。
No.2のコードで無駄な行がありました。
↓のコードに変更してください。
Sub Sample3()
Dim i As Long, k As Long, str As String
For i = Cells(Rows.Count, "F").End(xlUp).Row To 2 Step -1
If InStr(Cells(i, "F"), "×") > 0 Then
Cells(i, "A").Resize(, 17).Interior.ColorIndex = 36
str = Replace(Cells(i, "F"), "×", "")
k = Len(Cells(i, "F")) - Len(str)
If k > 1 Then
Rows(i + 1 & ":" & i + k - 1).Insert
Cells(i, "A").Resize(, 17).Copy Cells(i + 1, "A").Resize(k - 1, 17)
End If
End If
Next i
End Sub
何度も失礼しました。m(_ _)m
tom04様、ありがとうございます!
今回もイメージ通りの完璧なマクロでした。
内容はなんとなくでしか理解できませんが、
これから頑張って精進します。
本当に助かりました!
No.2
- 回答日時:
No.1です。
>F列内に「×」が1つのみなら、該当行を色付けのみ
>「×」が2つなら、1行挿入で色付け、
>「×」が3つなら、2行挿入で色付け
「×」の個数より1行少なく挿入し、コピー&ペーストすればよい訳ですね?
該当行にも色がつくようにしています。
結局、「×」がある行はすべて色がついてしまいますが・・・
前回同様、1行目はタイトル行でデータは2行目以降にあるとします。
Sub Sample2()
Dim i As Long, k As Long, str As String
For i = Cells(Rows.Count, "F").End(xlUp).Row To 2 Step -1
If InStr(Cells(i, "F"), "×") > 0 Then
Cells(i, "A").Resize(, 17).Interior.ColorIndex = 36
str = Replace(Cells(i, "F"), "×", "")
k = Len(Cells(i, "F")) - Len(str)
If k > 1 Then
Rows(i + 1 & ":" & i + k - 1).Insert
Cells(i, "A").Resize(, 17).Copy Cells(i + 1, "A").Resize(k - 1, 17)
Range(Cells(i + 1, "A"), Cells(i + k - 1, "Q")).Interior.ColorIndex = 36
End If
End If
Next i
End Sub
こんな感じではどうでしょうか?m(_ _)m
No.1
- 回答日時:
こんばんは!
検索するのはF列だけで良いのですよね?
F列文字列のスペースの数だけ行を挿入・挿入した行を薄い黄色にしてみました。
Sub Sample1()
Dim i As Long, k As Long, str As String
For i = Cells(Rows.Count, "F").End(xlUp).Row To 2 Step -1
str = Replace(StrConv(Cells(i, "F"), vbNarrow), " ", "")
k = Len(Cells(i, "F")) - Len(str)
If k > 0 Then
Cells(i, "A").Resize(, 17).Interior.ColorIndex = 36 '←薄い黄色
Rows(i + 1 & ":" & i + k).Insert
Cells(i, "A").Resize(, 17).Copy Cells(i + 1, "A").Resize(k, 17)
End If
Next i
End Sub
※ 文字列の最初・途中・最後のスペースすべてが対象となります。
こんな感じをお望みだったのでしょうか?m(_ _)m
tom04様、早々にありがとうございます!
イメージ通りで完璧でした。
申し訳ないですが、
別のパターンで作成頂くことは可能でしょうか。
F列内に「×」が1つのみなら、該当行を色付けのみ
「×」が2つなら、1行挿入で色付け、
「×」が3つなら、2行挿入で色付け、
・・・最大「×」が5つで4行まで
作って頂いたもので出来ないか考えましたが、
私にはどうしても手に負えません。
何卒宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
特定の文字を条件に行挿入とそこからセルデータを追加するVBAについて
Visual Basic(VBA)
-
特定の条件の時に行を挿入したい
Excel(エクセル)
-
Excelで、あるセルの値に応じて行を自動挿入したい
Visual Basic(VBA)
-
-
4
エクセルVBA、特定条件で行を追加
Visual Basic(VBA)
-
5
VBAで条件が一致する行をコピーしその1つ下へ挿入
Excel(エクセル)
-
6
エクセル マクロで数値が変った時行挿入できますか
Excel(エクセル)
-
7
特定文字のある行の前に空白行を挿入したい
その他(Microsoft Office)
-
8
エクセルでセルの条件が一致したら、値を挿入したい
Excel(エクセル)
-
9
オートフィルタをかけた表に一行おきに行を入れる
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Worksheets メソッドは失敗しま...
-
Excelで、あるセルの値に応じて...
-
B列の最終行までA列をオート...
-
Cellsのかっこの中はどっちが行...
-
vba 2つの条件が一致したら...
-
IIF関数の使い方
-
【VBA】複数行あるカンマ区切り...
-
DataGridViewに空白がある場合...
-
VBAで、特定の文字より後を削除...
-
VBA 何かしら文字が入っていたら
-
URLのリンク切れをマクロを使っ...
-
エクセルで行を挿入し、小計、...
-
Changeイベントでの複数セルの...
-
C# dataGridViewの値だけクリア
-
VBAのFind関数で結合セルを検索...
-
VBAコンボボックスで選択した値...
-
targetをA列のセルに限定するに...
-
VBAを使って検索したセルをコピ...
-
■VBAで条件による行挿入方法
-
VBA キーと項目が重複する場合...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで、あるセルの値に応じて...
-
Worksheets メソッドは失敗しま...
-
Cellsのかっこの中はどっちが行...
-
vba 2つの条件が一致したら...
-
【VBA】2つのシートの値を比較...
-
B列の最終行までA列をオート...
-
IIF関数の使い方
-
URLのリンク切れをマクロを使っ...
-
VBAを使って検索したセルをコピ...
-
DataGridViewに空白がある場合...
-
VBA 何かしら文字が入っていたら
-
VBAのFind関数で結合セルを検索...
-
複数の列の値を結合して別の列...
-
VBAでのリスト不一致抽出について
-
データグリッドビューの一番最...
-
VBAで指定範囲内の空白セルを左...
-
rowsとcolsの意味
-
【Excel VBA】 B列に特定の文字...
-
VBAで、特定の文字より後を削除...
-
エクセル 2つの表の並べ替え
おすすめ情報