プロが教えるわが家の防犯対策術!

VBA初心者のため、大変悩んでおります・・・。
1列の表から特定の文字を探し、探し出した文字の下にある値の隣列にコピーペーストを実行したいと思っております。
ペーストする列はB列、又はC列のみです。
どうかご教授いただけますようお願いいたします。

| A | B | C |
|文字A|   |   |
| 商品 |   |   |
| 商品 |   |   |
| 商品 |   |   |
|文字B|   |   |
| 商品 |   |   |
| 商品 |   |   |
| 商品 |   |   |

     ↓↓

| A | B | C |
|文字A|   |   |
| 商品 |文字A|   |
| 商品 |文字A|   |
| 商品 |文字A|   |
|文字B|   |   |
| 商品 |   |文字B|
| 商品 |   |文字B|
| 商品 |   |文字B|

A 回答 (1件)

質問の意味が分からなかったので、図を見て適当に作ってみました。


こんな感じでどうでしょう。

Sub sample()
Dim i As Long
Dim j As Long
Dim res As Variant
Dim moji As String
j = 1
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
If TokuteiMoji(Cells(i, "A")) Then
moji = Cells(i, "A")
j = j + 1
Else
Cells(i, j) = moji
End If
Next i
End Sub

Function TokuteiMoji(a As String) As Boolean
Dim res As Variant
On Error Resume Next
res = WorksheetFunction.Match(a, Array("文字A", "文字B"), 0)
If Err.Number = 0 Then TokuteiMoji = True
End Function
    • good
    • 0
この回答へのお礼

説明が下手で申し訳ありません・・・。
ですが、やりたいことが見えました!ありがとうございました!

お礼日時:2016/09/16 14:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!