今回は事務作業でよく使うであろうメソッド(操作)を5つピックアップします電球

 

① Delete

② Copy Destination:=(Range)

③ Copy + Insert

④ Copy + PasteSpecial

⑤ Replace

 

 

 

① Delete

行や列を削除する時に使います。 

 

   例:Columns (2).Delete

 

 

 

② Copy Destination:=(Range)

指定された範囲のセルをコピーした後、

貼付け先(左上端にあたる) のセルをDestinationで指定します。

 

  例:Range("A1:E6").Copy Destination:=Range("A7")

 

 

 

③Copy + Insert

Insert単独では空白の行・列等の挿入となり、

Copy後のInsertでは「コピーしたセルの挿入」ができます。

 

  例:Columns(3).Insert

 

  例:Columns(1).Copy
        Columns(5).Insert

 

 

 

④ Copy + PasteSpecial

いわゆる 「形式を選択して貼り付け」です。 

指定された範囲のセルをコピーした後、

数式、 値、 書式など、 Pasteで何を貼り付けるか指定します。

 

 例:Range("A1:D1").Copy

   Range("A4").PasteSpecial Paste:=xlPasteFormulas  ’数式の貼付け

   Range("A5").PasteSpecial Paste:=xlPasteValues   ’値の貼付け

※図では、数式と定数が分かりやすいように、あらかじめ「数式の表示」をしています。

 

 

 

⑤ Replace

指定された範囲のセルの文字列を置換します。 

青字部分だけでも実行できますが、 引数を省略すると前回置換した時の条件が引き継がれるので、 指定した方が無難でしょう。

 

LookAtは完全一致か (xlWhole) 部分一致か (xlPart) 選びます。

MatchCaseは大文字と小文字を区別するか(True)、 区別しないか(False)選びます。

MatchByteは全角と半角を区別するか(True)、区別しないか(False)選びます。

 

(Range).Replace What:="置換前", Replacement:="置換後", LookAt:=xlPart, MatchCase:=True, MatchByte:=True

 

  例:Range("A1:A4").Replace What:="ABC", Replacement:="XXX",     LookAt:=xlWhole, MatchCase:=True, MatchByte:=False

 

 

以上、5つのメソッドでした。

今後の回でも出てくると思いますので、使いながら覚えていきましょう。

 

::::::::::::::::::::::::::::::::::::::

 

 

例題①

上記メソッド①~④を使って、左の表から右の表へ変更するようマクロを作ってみましょう。

A列の王林の位置を変えました。ふじは2つになってますね。

D列は数式から数値に変わっています。

 

(図では数式と数値どちらか分かりやすいように「数式の表示」をしていますが、わざわざ変える必要はありません。)

 

 

 

 

例題②

上記メソッド⑤を使って、左の表から右の表へ変更するようマクロを作ってみましょう。

A列は「ほん」が「かん」になり、B列はスペースがなくなってます。

 

 
 
::::::::::::::::::::::::::::::::::::::
 
回答例
 
 
Sub 例題①()

    Rows(3).Copy    ’「王林」コピーしたセルを貼付け
    Rows(5).Insert
    Rows(3).Delete

    Rows(4).Insert    ’「ふじ」を挿入
    Rows(2).Copy Destination:=Rows(4)

    Columns(4).Copy   ’「金額」列を値の貼付け
    Columns(4).PasteSpecial Paste:=xlPasteValues
    
End Sub



Sub 例題②()

    Columns(1).Replace what:="ほん", Replacement:="かん", LookAt:=xlPart, MatchCase:=True, MatchByte:=True
 ’「ほん」→「かん」置換

    Columns(2).Replace what:=" ", Replacement:="", LookAt:=xlPart, MatchCase:=True, MatchByte:=False
 ’スペースを置換

End Sub
 
 
::::::::::::::::::::::::::::::::::::::