
No.5ベストアンサー
- 回答日時:
問題は解決済みと思いますが、数字のみ全角→半角にするマクロです。
ご参考まで。Sub MacroR()
Dim idx As Integer, trg As Range
Set trg = ActiveSheet.Cells.SpecialCells(xlCellTypeConstants, xlTextValues)
For idx = 0 To 9
trg.Replace What:=Right(StrConv(str(idx), vbWide), 1), _
Replacement:=Right(str(idx), 1)
Next
End Sub
マクロはALT+F11でVBE画面を開き、「VBAProjectエクスプローラのシート名右クリック」→「挿入」→「標準モジュール」で表示される画面にペーストして下さい。実行はALT+F8を押して、マクロ名を選択します。
ご回答ありがとうございます!
表の修正にはまだ手をつけておりませんでしたので、
早速試してみました。
“マクロアレルギー”で、パッと見ただけで一瞬くらくらしてひるんでしまいましたが、
ご説明のとおりに冷静にひとつずつ作業していったら、
無事、「数字のみを半角にする」という課題が解決しました!
すごいですね~~!!
おぉ~~~~みるみるうちに変換されていくでわありませんかっ!!
カンドーしましたっ!!!(涙)
エクセルっておもしろいですね。もっと勉強したいと思いました。
ホントにホントに、ありがとうございました。
No.4
- 回答日時:
こんばんは。
お聞きになる前に、ここのカテゴリを検索しても良かったと思います。
同じような質問は、何度もありますね。いろんな人が回答しています。
以下の私の場合は、以下のようなものがあります。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=2301108
(http://okwave.jp/kotaeru.php3?q=2301108)
SpecialCells で、セルを取得すればよいと思いますが、少し手直ししました。あまりきちんと調べてはいませんが、大丈夫のような気がします。
'標準モジュール
Sub HenkanMcr()
Dim r As Range
Dim c As Range
Const MPATTERN As String = "([0-9]+)[^0-9]*"
On Error Resume Next
Set r = ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants)
On Error GoTo 0
If Not r Is Nothing Then
For Each c In r.Cells
If StrConv(c.Value, vbNarrow) Like "*#*" Then
c.Value = myRegExp2(c.Value, MPATTERN)
End If
Next c
End If
Set r = Nothing
End Sub
Private Function myRegExp2(str As Variant, STRPATTERN As String)
Dim Matches As Object 'MatchCollection
Dim Match As Object 'as Match
Dim buf As String
Dim buf2 As String
Dim rep As String
With CreateObject("VBScript.RegExp")
.Pattern = STRPATTERN
.IgnoreCase = False
.Global = True
If .test(str) Then
Set Matches = .Execute(str)
buf2 = str
For Each Match In Matches
rep = .Replace(Match.Value, "$1")
buf = StrConv(rep, vbNarrow)
buf2 = Replace(buf2, rep, buf)
Next
myRegExp2 = buf2
Set Matches = Nothing
Else
myRegExp2 = str
End If
End With
End Function
ご回答ありがとうございます!
せっかく詳細なお答えをいただいたのにもかかわらず、
私の知識ではよく理解することができませんでした。。
ごめんなさい。もっと勉強します。
No.3
- 回答日時:
有料ですが下記のサイトのアドインを使うのが便利ですね。
仕事を加速する!Excel魔法のボタンコレクション」1,580円
http://www.freeformat.co.jp/AddInIndex.htm
へぇ~こんなのがあるんですね。
大変興味深いです。
まず、「仕事を加速する!」というキャッチコピーにやられました(笑)。かなりそそられますね!
使ったことありますか?大活躍ですか?
どれくらいエクセルやる人が使った方がいいのでしょう??
最近、データ入力・グラフ作成など、エクセルを使う機会が多くなってきましたので、
やっとエクセルのことを勉強し始めたしだいです。
と、言っても「こんなことできないだろうか」という疑問が生じたときに、調べてやってみるというようなカンジですが。
私が知らないだけで、世の中にはいろいろ便利なものがあるんだろうに、なかなか手を出せずじまいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
先着1,000名様に1,000円分もらえる!
教えて!gooから感謝をこめて電子書籍1,000円分プレゼント
-
関数を使わずに一括で全角を半角にする方法
Excel(エクセル)
-
エクセルでひらがな・漢字はそのままでカタカナを全角・英数字を半角にする方法
Excel(エクセル)
-
Excel2010英数字のみ半角にする方法
その他(Microsoft Office)
-
4
Excel。英数字カタカナ混ぜこぜのセルで、カタカナのみ全角にする方法は?
Windows 95・98
-
5
Excel : 正規表現を利用して2文字の全角数字を半角数字に変換するには?
Excel(エクセル)
-
6
Excelで全角の数字を半角に置換する方法
Excel(エクセル)
-
7
Excelで全角ハイフンを半角ハイフンに変換したい
Word(ワード)
-
8
Excel 文字列の中から数字だけを削除したい
その他(Microsoft Office)
-
9
エクセル、マクロで「末尾を1文字削除」したいのですが
Windows Vista・XP
-
10
エクセル 全角英文字のみを半角に!
Excel(エクセル)
-
11
EXCEL あるセルに数字が入力されれば既存マクロ実行させたい
Excel(エクセル)
-
12
VBA 実行時エラー1004 rangeメソッドは失敗しました。globalオブジェクトのエラー
Excel(エクセル)
-
13
Excelの文字(全角/半角)の統一
Excel(エクセル)
-
14
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
15
Excelで住所を2つ(町名迄と番地以降)に分けるには?
Excel(エクセル)
-
16
Excelで数式内の文字色を一部だけ変更したい
Excel(エクセル)
-
17
Excel VBA:特定の文字列以降(あるいは以前)のテキストをすべて取得する方法
Visual Basic(VBA)
-
18
VBAで文字列を数値に変換したい
Excel(エクセル)
-
19
別のシートから値を取得するとき
Visual Basic(VBA)
-
20
VBAで複数の数式セルを最終行までコピーするには?
Excel(エクセル)
関連するQ&A
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
半角の『°(単位の度)』
-
5
Excel セル内の文字と数字をわ...
-
6
ダブルクォーテーション・マー...
-
7
アッパーバー
-
8
Excel 文字列の中から数字だけ...
-
9
ビジネスの文書における、数字...
-
10
WEBでのエントリーで半角?
-
11
ネームランドで二桁数字を打つには
-
12
テプラは半角数字が使えますか?
-
13
EXCELの文字列操作で文字数不足...
-
14
半角スペース
-
15
℃の半角表示
-
16
URLなどで出てくる、上線は...
-
17
ギリシャ文字 μの出し方
-
18
2ちゃんねるでアンカーのつけ方
-
19
『×』の半角は・・・
-
20
半角英数で♭の入力
おすすめ情報