2018年3月13日火曜日

【マクロ】置換

✦文字列の空白を消す
Range("A:A").Replace what:=" ", Replacement:="", lookat:=xlPart

------------------------------------------------------------------------------
 
✦空白に文字
 A列の空白セルにハイフンを入れる。

Range("A1", Cells(Rows.Count, 1).End(xlUp)).SpecialCells(xlCellTypeBlanks).Select
Selection.Value = "-"

------------------------------------------------------------------------------

✦セル参照置換
 シート1のA列の値をシート2の値で置換する。
 シート1A列に1→シート2のG1の値で
 シート1A列に2→シート2のG2の値で置換をする。

Dim s1, s2 As Worksheet
Set s1 = Worksheets("Sheet1")
Set s2 = Worksheets("Sheet2")
s1.Range("A:A").Select
With Selection
.Replace What:="1", Replacement:=s2.Range("G1").Value, LookAt:=xlWhole
.Replace What:="2", Replacement:=s2.Range("G2").Value, LookAt:=xlWhole
End With

------------------------------------------------------------------------------

✦一括置換

「Sheet2」に置換リストを作成し、「Sheet1」をマクロで一括変換
①Sheet2にあらかじめ置換リストを作成しておく

【例:Sheet2リスト】

A列    B列

置換前1  置換後1

置換前2  置換後2

置換前3  置換後3

置換前4  置換後4

置換前5  置換後5

【Sheet1】

Sub 置換()
Dim i As Long, wS1 As Worksheet, wS2 As Worksheet
Set wS1 = Worksheets(Sheet1)
Set wS2 = Worksheets(Sheet2)
For i = 2 To wS2.Cells(Rows.Count, A).End(xlUp).Row
wS1.Cells.Replace what=wS2.Cells(i, A), replacement=wS2.Cells(i, B), lookat=xlPart
Next i
End Sub


0 件のコメント:

コメントを投稿