[[20190607154146]] 『【マクロ】セルの置換』(ゼットマン) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『【マクロ】セルの置換』(ゼットマン)

恥ずかしいど素人です。

C列の記号")"をE列にある日付に置換するマクロの完成形がほしいです。

具体的な内容は下の内容となります。

C列:文字列"黒伝"から始まり、記号")"が連続で入力されています。")"の数は不規則ですが、先頭は必ず"黒伝"です。

・C列入力例
黒伝
)
)
)
黒伝
)
)

E列:yyyy/mm/dd形式で日付、商品名の順番ですが、商品名の数は不規則ですが、C列に"黒伝"がある行にだけ日付が入っています。

・E列入力例
2019/01/01
みかん
りんご
ぶどう
2019/01/06
バナナ
みかん

・現状
黒伝 2019/1/1
)     みかん
)     りんご
)     ぶどう
黒伝 2019/1/6
)     バナナ
)     みかん

・完成形 こうなるようにしたいです。

黒伝 2019/1/1
2019/1/1 みかん
2019/1/1 りんご
2019/1/1 ぶどう
黒伝 2019/1/6
2019/1/6 バナナ
2019/1/6 みかん

何卒、よろしくお願いしますm(__)m

< 使用 Excel:Excel2019、使用 OS:Windows10 >


 Sub test()
     Dim x, i As Long, LastR As Long, myDate
     LastR = [max(if(trim(c1:c20000)=")",row(1:2000)))]
     If LastR < 1 Then Exit Sub
     x = Filter([transpose(if(trim(c1:c20000)="黒伝",row(1:20000)))], False, 0)
     If UBound(x) > -1 Then
         ReDim Preserve x(UBound(x) + 1)
         x(UBound(x)) = LastR + 1
         For i = 0 To UBound(x) - 1
             myDate = Cells(x(i), "e").Text
             Range("c" & x(i) + 1, "c" & x(i + 1) - 1).Replace ")*", myDate, 1
         Next
     End If
 End Sub
(seiya) 2019/06/07(金) 17:21

seiya様、完璧です!!!!! すごい!!!!!!!!

もしかしたら、Excelじゃ出来ない質問だったのかな・・・と諦めかけていました・・・

seiya様、マジで尊敬します!!!!!!!!!

seiya様、ありがとうございました!!!!!!!!!!

seiya様、最高ーーーーーーーーーーーーッ!!!!!!!!!!!!!!!!!
(ゼットマン) 2019/06/07(金) 17:30


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.