
いつもお世話になっています。
エクセルのVBAでフォームをつくり、フォーム上のテキストボックスに入力した文字でデータ変換をしようと考えています。たとえば「東京」を「東京都」という具合です。
メニューから実行すれば良いだけの話なのですが
業務上、より作業を簡素化したいためです。
下記のようにマクロを記述しましたが、うまく動作しないのでどうしてでしょうか?よろしくお願いします。
Sub 文字を置き換える()
Dim mae As String
Dim ato As String
Columns("H:H").Select
mae = UserForm1.TextBox2.Value
ato = UserForm1.TextBox3.Value
Selection.Replace What:=mae, Replacement:=ato, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
No.1ベストアンサー
- 回答日時:
こんにちは。
KenKen_SP です。コード自体は問題ないと思いますので、コードの呼び出し方法かと
思います。
ユーザーフォームにご提示のコードを書いた場合は、例えば、ボタン
を追加して、そのボタンをダブルクリックするとコードウインドウが
開きます。そこに以下のようなコードを追加します。
Private Sub CommandButton1_Click()
Call 文字を置き換える
End Sub
のようにします。これは、CommandButton1 という名のボタンを押す
とご提示のプログラム「文字を置き換える」を呼び出します(実行)。
CommandButton1 の数字 1 は配置したボタン名になりますので、この
例示のとおりとは限りません。
No.3
- 回答日時:
こんにちは
えーと、どうしてマクロでやりたいのかがよくわかりません。
都度検索文字列を置換文字列を入力するなら、手間数としては下記の方法でもあまり変わらないと思います。
その1:ctrl+H
その2:ユーザ設定で、ツールバーに「置換」を追加
No.2
- 回答日時:
こんばんは。
ユーザーフォームから行うのでしたら、CommmandButton のクリックイベントに、以下のようにコード自体を入れてしまってもよいでしょうね。それから、できれば、シート名を入れたほうがよいですね。
Private Sub CommandButton1_Click()
Dim mae As String
Dim ato As String
mae = UserForm1.TextBox2.Value
ato = UserForm1.TextBox3.Value
If mae = "" Then Exit Sub
Worksheets("Sheet1").Columns("H:H").Replace _
What:=mae, _
Replacement:=ato, _
LookAt:=xlPart, _
SearchOrder:=xlByColumns
End Sub
mae=""だけにしているのは、検索値はなくてはなりませんが、置換値はなくて、削除することもあるからです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBAで、実行時にsheet上...
-
Wordで貼り付け(ペースト)機能...
-
エクセルでツールバーに「縮小...
-
Powerpoint 2003 でのVBA UserF...
-
アクセスでファイルを開いたと...
-
VBAを一度起動するとずっと出て...
-
Windows10のクイックアクセスと...
-
excelファイルに使われているVB...
-
【マクロ】excelファイルを開く...
-
エクセルのマクロが急に動かな...
-
昨日まで動いていたエクセルの...
-
Excelが勝手にシート移動してし...
-
エクセルのマクロの保存先につ...
-
Excelマクロ ファイル名が変わ...
-
フォルダ内の全ブックのシート...
-
エクセルVBAでブックを開くと処...
-
EXCEL マクロ クリップボードク...
-
フォルダ内の全ブックのシート...
-
Word 2016のマクロを Word 2021...
-
マクロで自動保存を無効にしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAで、実行時にsheet上...
-
エラー内容が分かりません
-
オプションボタン
-
コモンダイアログエラー
-
エクセルVBAでmeに相当するもの...
-
キーボードでコマンドボタンを...
-
EXCEL VBA テキストボックスの...
-
エクセル2010のvbaとコマンドボ...
-
【エクセル2003】マクロ終了後...
-
ワードVBAで画像を挿入
-
Windows10のクイックアクセスと...
-
複数のデータ系列の線の太さを...
-
【マクロ】excelファイルを開く...
-
VBAを一度起動するとずっと出て...
-
エクセルでツールバーに「縮小...
-
昨日まで動いていたエクセルの...
-
excelファイルに使われているVB...
-
エクセル終了時の保存確認メッ...
-
Excelが勝手にシート移動してし...
-
コピーしたファイルのマクロを...
おすすめ情報