[[20210127161026]] 『特定の文字列をある範囲のセル全てに追記したい』(ダム) ページの最後に飛ぶ

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

 

『特定の文字列をある範囲のセル全てに追記したい』(ダム)

宜しくお願い致します。
下のコードなのですが、

            If Not FoundCell.Offset(0, -5).Value Like "//*" Then
            'FoundCellから5個左のセルに「//」が含まれない場合(*は0文字以上の文字列)
                FoundCell.Offset(0, -5).Resize(6.1).Value = "//" & FoundCell.Offset(0, -5).Value
                'FoundCellから5個左のセルとそこを含む下6つの全セル内の文字列の前に「//」を追加する
            End If

FoundCellから5個左のセルとその下の6つのセルの文字列の先頭に
「//」を付け足したいのですが、コードの書き方が分からず困っております。
FoundCellから5個左のセルに関しては上のコードで行けるのですが、
FoundCellから5個左のセル+そこを含む下6つのセルの文字列に対して
「//」を追加するためにはどのような記載が必要でしょうか?

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


 >Resize(6.1 )
  Resize(6 , 1)
           ↑
          カンマ
(´・ω・`) 2021/01/27(水) 16:34

´・ω・`さん

ご指摘ありがとうございます、間違えておりました。
表題の件についても、もし分かりましたらご教授いただけると幸いです。
(ダム) 2021/01/27(水) 16:40


個々のセルを読み書きする方法と配列を使用した一括貼り付けです。

 Dim foundRange As Range
 Dim cel As Variant
 If Not FoundCell.Offset(0, -5).Value Like "//*" Then
 'FoundCellから5個左のセルに「//」が含まれない場合(*は0文字以上の文字列)
     Set foundRange = FoundCell.Offset(0, -5).Resize(6, 1)
     For Each cel In foundRange
         cel.Value = "//" & cel.Value
     Next cel
 'FoundCellから5個左のセルとそこを含む下6つの全セル内の文字列の前に「//」を追加する
 End If

 Dim foundArr As Variant
 Dim i As Long
 If Not FoundCell.Offset(0, -5).Value Like "//*" Then
 'FoundCellから5個左のセルに「//」が含まれない場合(*は0文字以上の文字列)
     Set foundArr = FoundCell.Offset(0, -5).Resize(6, 1).Value
     For i = LBound(foundArr, 1) To UBound(foundArr, 1)
         foundArr(i, 1) = "//" & foundArr(i, 1)
     Next i
     FoundCell.Offset(0, -5).Resize(6.1).Value = foundArr
 'FoundCellから5個左のセルとそこを含む下6つの全セル内の文字列の前に「//」を追加する

(tkit) 2021/01/27(水) 16:44


tkitさん

ご回答ありがとうございます!
全ての参照セルに対して「//」を付け足すことが出来ました!
今回記載いただいたコードを自分なりに調べて、内容を理解します。
本当に助かりました、ありがとうございます
(ダム) 2021/01/27(水) 17:03


コメント返信:

[ 一覧(最新更新順) ]


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