|
おはようございます。
ちゃっぴさんがよりよりコードを提示してくださっていますが、
一応、momoさんのやり方を修正してみました。
これで当方では動いているようです。
Sub test()
Dim 変換対象列 As Integer ’string型だとエラーになるのでIntergerで
Dim 略語リスト As Integer
Dim 変換対象列範囲 As String
Dim 略語 As String
Dim 正式名 As String
Dim i As Integer
変換対象列 = ActiveCell.Column
略語リスト = 1
'Columns(数値)の形の方が良いと思いますので
’以下の一文は必要ないです。
'以下の形でしようとおもったら、「ActiveCell.Column」で取得した
’数値から、対応するアルファベットを割り出さないとダメなんだと思います。
'''' 変換対象列範囲 = 変換対象列 & ":" & 変換対象列
'この↓行は何をしているのかわからないけど、必要ないのでは?
'''Cells(1, "I").Value = 変換対象列
'''Cells(2, "I").Value = 変換対象列範囲
i = 1
Do Until Cells(i, 略語リスト).Value = ""
略語 = Cells(i, 略語リスト).Value
正式名 = Cells(i, 略語リスト + 1).Value
’↓Selectしなくても直接出来ます。
Columns(変換対象列).Replace What:=略語, Replacement:=正式名, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
i = i + 1
Loop
End Sub
ところで、「Cells(1, "I").Value」みたいな書き方あるんですね。
MsgBox Cells(2, "I").Address
ってしたら、ちゃんと「$I$2」が返ってきました(^^;
|
|