(1)EXCELファイルでマクロを作成しました。
(実際はここである人の知恵をお借りして作ったものですが…)
しかし、(2)EXCELファイルで(1)EXCEL作成マクロが実行できません。
どのような処理をすれば、どのPCでも、どのファイルでも実行できるようなマクロに出来るのでしょうか??
以下にそのマクロを示します。
↓↓↓
Sub 文字置換()
'半角カタカナを全角に、全角英数を半角にするマクロ (Excel編)
Dim rng As Range
Dim Re As Object
Dim myPat As String
Dim c As Range
Dim Matches As Object
Dim Match As Object
Dim Str1 As String
Dim Str2 As String
Dim buf As String
Dim t As Long
On Error Resume Next
Set rng = ActiveSheet.UsedRange.SpecialCells _
(xlCellTypeConstants, xlTextValues)
On Error GoTo 0
If rng Is Nothing Then
MsgBox "変換する対象が見当たりません。", 48
Exit Sub
End If
'全角側 --- 半角側 (!-/ を加えれば記号も半角)
myPat = "([\uFF66-\uFF9F]*)([!-}]*)" '正規表現のパターン
Set Re = CreateObject("VBScript.RegExp")
Application.ScreenUpdating = False
With Re
.Global = True
.IgnoreCase = True
.Pattern = myPat
For Each c In rng.Cells
Set Matches = .Execute(c.Value)
If Matches.Count > 0 Then
buf = c.Value
For Each Match In Matches
If Len(Match.Value) > 0 Then
Str1 = StrConv(Match.SubMatches(0), vbWide)
If Str1 <> "" Then
'0 =vbBinaryCompare
buf = Replace(buf, Match.SubMatches(0), Str1, , , 0)
End If
Str2 = StrConv(Match.SubMatches(1), vbNarrow)
If Str2 <> "" Then
buf = Replace(buf, Match.SubMatches(1), Str2, , , 0)
End If
End If
Str1 = "": Str2 = ""
Next Match
If buf <> c.Value Then
c.Value = buf
t = t + 1
End If
End If
Next c
End With
Set Re = Nothing
Application.ScreenUpdating = True
If t > 0 Then
MsgBox t & "個のセルを変換しました。", 64
End If
End Sub
出来れば、置換した文字数をメッセージBOXに表示したいです。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
> 質問ですが、個人用のマクロブックとはなんでしょうか?
マクロを記録するときマクロ名の下にマクロの保存先の選択が出来ます
そのとき個人用のマクロブックとすると、記録するマクロは作業中のブックではなく PERSONAL.XLS と言う名前で作成されます。
このブックはExcelを実行すると自動的に読み込まれブックが違っても記録したマクロが実行できるようになります。
ただ、PERSONAL.XLS と言う名前で保存されるだけで実際は XLSTART に保存されているブックはExcel起動時に自動で呼び出されます。
なので、自分で作成したマクロブックをこの中に入れておくだけでマクロが使用できるようになるわけです。
しかし非表示にしていないと自動で呼び出されたブックも見えるようになります。
PERSONAL.XLSも非表示にしていますが、ウィンドウで再表示を選択すれば個人用のマクロブックも見えるようになります
No.2
- 回答日時:
作成したマクロブックを個人用マクロブック(PERSONAL.XLS)が保存される
C:\Documents and Settings\[ユーザー名]\Application Data\Microsoft\Excel\XLSTART\
に複写しておくとExcel起動時に自動的に呼出されます。
非表示にして保存しておくと個人用マクロブックと同様に開かれてても見えなくなります。
ユーザーツールバーを新規作成してマクロブックに添付しておくとマクロ起動も便利です。(添付は新規作成ボタンがある画面の一番したの添付ボタンで出来ます)
構文は自分でも少しやってみてください。
全構文載せて、したいなんて丸投げに等しいですよぉ~。
ガンバレ!
No.1
- 回答日時:
ExcelのマクロはExcelファイルの中か、個人用マクロブックの中にしか保存できません。
どのPCでも、どのファイルでも実行できるというのはちょっと無理ですね。
マクロを全てのファイルに組み込むか、個人用マクロブックを全てのPCにコピーするとかで対処するしかないと思います。
置換した文字数表示については面倒なのでパス。
Replace関数には置換した文字数を返す機能は無かったと思うので、やろうとすると修正が大変かな、と。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Visual Basic(VBA) Excel VBAの解読について質問があります。 概要は、マクロでチェックボックスにチェックすると日 1 2023/02/10 07:50
- Excel(エクセル) エクセルシート中の全角英数字を半角に変換したい 4 2022/07/07 13:14
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】エラーが発生⇒実行時...
-
コピーしたファイルのマクロを...
-
エクセルマクロにてパワーポイ...
-
別のパソコンでエクセルのマク...
-
excel2013でマクロを複数独立し...
-
エラー表示になってしまいます。
-
アクセスでファイルを開いたと...
-
マクロで自動保存を無効にしたい
-
VBA マクロ実行時エラー’1004Ra...
-
Excelマクロ ファイル名が変わ...
-
エクセルのマクロについて教え...
-
Excel>マクロを使っていないは...
-
excelが別プロセスで起動してし...
-
エクセルでマクロを別のPCで利...
-
添付ファイルのみを自動印刷し...
-
クイックアクセスツールバーに...
-
作ったマクロが増えてきて、ど...
-
マクロでマクロを削除する
-
エクセルのマクロについて教え...
-
win7 マクロを有効化するとファ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル終了時の保存確認メッ...
-
VBA マクロ実行時エラー’1004Ra...
-
VBAを一度起動するとずっと出て...
-
別のパソコンでエクセルのマク...
-
コピーしたファイルのマクロを...
-
マクロを消すマクロは不可能?
-
昨日まで動いていたエクセルの...
-
エクセルファイルを自身のファ...
-
エクセル2013vbaで、見えない名...
-
Excelマクロ ファイル名が変わ...
-
エクセルマクロ実行中に別ファ...
-
excelファイルに使われているVB...
-
Excelが勝手にシート移動してし...
-
Word用のマクロが急に働かなく...
-
EXCEL マクロ クリップボードク...
-
【マクロ】エラーが発生⇒実行時...
-
excelが別プロセスで起動してし...
-
エクセルマクロを有効にしない...
-
アクセスでファイルを開いたと...
-
excelでpersonal.xlsを常に開く...
おすすめ情報