Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


62229 / 76732 ←次へ | 前へ→

【19111】Re:略語リストから一括置換
質問  momo  - 04/10/21(木) 22:26 -

引用なし
パスワード
   つんさま

切り貼りしたので変な書き方をしてました。すいません。

やりたいことは、F列にある略語で入力されたデータを
A列とB列に並んだ略語対応表から正式名称に置換です。

 A  B     ...  F    F
 y 焼肉定食  ...  y    焼肉定食
 o 親子丼   ...  o を  親子丼   に置換したいです。 
 g  牛丼   ...  o    親子丼
 .   .     ...  g    牛丼
 .   .    ...  y    焼肉定食

アドバイスを参考にしつつ下記のように書き直しました。

ただ新たに問題が発生しました。
columns(変換対象列範囲).Select '変換対象の範囲を指定して略語を正式名に置換
↑のところでcolumnsのところをRowsにするとちゃんとその“行”が
置換されます。でもcolumnsだとエラーが出てしまいます。

また、
 Dim 変換対象列範囲 As String
 変換対象列範囲 = 変換対象列 & ":" & 変換対象列
↑この部分変数を設定せず
columns(変換対象列:変換対象列).Select
としてもコンパイルエラーになりました。
columnsをrowsに変えてもコンパイルエラーでした。
変数“変換対象列範囲”と同じ表記方法だと思うのですが。


**************************************************
Dim 変換対象列 As String
 変換対象列 = ActiveCell.Column
Dim 略語リスト As Integer
 略語リスト = 1

Dim 変換対象列範囲 As String
 変換対象列範囲 = 変換対象列 & ":" & 変換対象列

Cells(1, "I").Value = 変換対象列
Cells(2, "I").Value = 変換対象列範囲
Dim i As Integer
 i = 2

Do Until Cells(i, 略語リスト).Value = ""
   Dim 略語 As String
   略語 = Cells(i, 略語リスト).Value
   Dim 正式名 As String
   正式名 = Cells(i, 略語リスト + 1).Value
   columns(変換対象列範囲).Select   '変換対象の範囲を指定して略語を正式名に置換
     Selection.Replace What:=略語, Replacement:=正式名, LookAt:=xlPart, _
     SearchOrder:=xlByRows, MatchCase:=False
   i = i + 1
Loop

End Sub

0 hits

【19098】略語リストから一括置換 momo 04/10/21(木) 15:37 質問
【19100】Re:略語リストから一括置換 つん 04/10/21(木) 16:11 発言
【19111】Re:略語リストから一括置換 momo 04/10/21(木) 22:26 質問
【19117】Re:略語リストから一括置換 つん 04/10/21(木) 23:48 回答
【19118】Re:略語リストから一括置換 ちゃっぴ 04/10/22(金) 1:09 発言
【19121】Re:略語リストから一括置換 つん 04/10/22(金) 9:43 発言
【19123】Re:略語リストから一括置換 momo 04/10/22(金) 11:44 お礼

62229 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free