下記のマクロはC列5行目から文字の入っている最後の行までの範囲で
セル内に蜜柑や林檎、苺の文字が入っていたら同一行のA列にも蜜、林、苺
の文字を入れるというマクロなのですが・・・
たとえばC列12行目が
『蜜柑林檎苺』
となっていた場合、A列に入る言葉は『苺』となり『蜜』『林』という言葉が
消えてしまいます。
そこでこのマクロを少し改造して、
C列が『蜜柑林檎苺』や『蜜柑苺』となっている場合
A列に入る言葉は『蜜林苺』ないし『蜜苺』という風に積み重ねていくように改造はできないでしょうか?
↓この部分を改造すればできるようになりますか?
Cells(i, 2).Offset(0, -1).Value = "蜜"
Sub 蜜柑林檎苺()
Dim i As Long
With ActiveSheet
For i = 5 To .Cells(Rows.count, "C").End(xlUp).Row
If InStr(.Cells(i, "C"), "蜜柑") > 0 Then
MsgBox i & "行目アウト!"
Cells(i, 2).Offset(0, -1).Value = "蜜"
End If
If InStr(.Cells(i, "C"), "林檎") > 0 Then
MsgBox i & "行目アウト!"
Cells(i, 2).Offset(0, -1).Value = "林"
End If
If InStr(.Cells(i, "C"), "苺") > 0 Then
MsgBox i & "行目アウト!"
Cells(i, 2).Offset(0, -1).Value = "苺"
End If
Next i
End With
End Sub
No.1ベストアンサー
- 回答日時:
式の一部ですが...
Cells(i, 2).Offset(0, -1).Value = "林"
↓
Cells(i, 2).Offset(0, -1).Value = Cells(i, 2).Offset(0, -1).Value & "林"
Cells(i, 2).Offset(0, -1).Value = "苺"
↓
Cells(i, 2).Offset(0, -1).Value = Cells(i, 2).Offset(0, -1).Value & "苺"
でいいのでは?
No.2
- 回答日時:
Sub test()
Dim Reg As Object
Dim st As String
Dim v As Variant, i As Long
Dim match As Variant, matches As Variant
Set Reg = CreateObject("VBScript.RegExp")
Reg.Pattern = "蜜柑|林檎|苺"
Reg.Global = True
v = Range("C5", Cells(Rows.Count, 3).End(xlUp)).Value
For i = 1 To UBound(v, 1)
st = ""
If Reg.test(v(i, 1)) Then
Set matches = Reg.Execute(v(i, 1))
For Each match In matches
st = st & Left(match.Value, 1)
Next
End If
Range("A" & i + 4).Value = st
Next
Set Reg = Nothing
Erase v
End Sub
例えばこうゆう感じの事ですか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) A列B列C列 3 2023/04/26 18:11
- Visual Basic(VBA) エラーコード1004 6 2022/06/09 14:12
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
- Excel(エクセル) マクロで最終行から上に検索を逆にしたい 1 2022/05/17 18:27
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Visual Basic(VBA) マクロ実行時、自動で背景色を変えたい。 C列にあるチェックボックスをチェックするとB列に「TRUE」 4 2022/11/08 11:14
- Excel(エクセル) R列の1111/11/11以外、且つQ列の×の条件で該当行のAからAE列までオレンジに塗りつぶす 2 2022/07/02 10:18
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたい 6 2023/01/23 12:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル初心者です 関数の入れ...
-
【関数】先頭だけにある、半角...
-
エクセル 白黒印刷で白線を印刷...
-
Excelのチェックボックスの使い...
-
【関数】適切な文字数の数字を...
-
Excelのpivotについて質問です
-
Excel ピボットテーブルで日付...
-
LOOKUP関数を使えばいいのでし...
-
エクセル関数を教えてください
-
エクセルのセルに同じ大きさの...
-
UNIQUE関数が使えないバージョ...
-
excelの不要な行の削除ができな...
-
エクセルで「-0.0」と表示さ...
-
時間によってファイル名が変わ...
-
WPS OFFICEでの縦書きについて
-
エクセルの関数について教えて...
-
Aというブックの1というシート...
-
【マクロ】シート名を取得する...
-
VBA Private Sub Worksheet_Cha...
-
VBA、Excelのworkbook.open に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報