[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『記述をまとめたい』(aki)
いつも勉強させていただきありがとうございます。
教えて下さい。 全角数字を半角数字にしたいと思い、以下のように自動作成しました。 これを簡略化することって可能でしょうか? 恐らくWith?を使用することになると思うのですが、、、
Sub 全角数字を半角数字に()
Selection.Replace What:="0", Replacement:="0", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.Replace What:="1", Replacement:="1", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.Replace What:="2", Replacement:="2", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.Replace What:="3", Replacement:="3", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.Replace What:="4", Replacement:="4", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.Replace What:="5", Replacement:="5", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.Replace What:="6", Replacement:="6", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.Replace What:="7", Replacement:="7", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.Replace What:="8", Replacement:="8", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.Replace What:="9", Replacement:="9", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.Replace What:="(", Replacement:="(", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.Replace What:=")", Replacement:=")", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.Replace What:="「", Replacement:="「", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.Replace What:="」", Replacement:="」", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.Replace What:=":", Replacement:=":", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False
End Sub
< 使用 Excel:Excel2003、使用 OS:WindowsXP >
Sub 全角→半角()
Dim CELL_OBJECT As Object For Each CELL_OBJECT In Selection CELL_OBJECT.Value = StrConv(CELL_OBJECT.Value, vbNarrow) Next End Sub
(康平) 2014/01/08(水) 10:59
Sub 置換()
Dim i As Long
For i = 0 To 9 Selection.Replace What:=StrConv(i, vbWide), Replacement:=StrConv(i, vbNarrow) Next
End Sub
でもいいのかな?
※追記 11:32 数字だけでなくアルファベットも半角になっていいのなら康平さんのコードの方が適しています。 (se_9) 2014/01/08(水) 11:11
下記のマクロをモジュールシートに貼り付けます。 半角にする場合は、対象の範囲を選択し、全角から半角を実行します。 全角にする場合は、対象の範囲を選択し、半角から全角を実行します。
Option Explicit
Sub 全角から半角() ChangeByte vbNarrow End Sub
Sub 半角から全角() ChangeByte vbWide End Sub
Sub ChangeByte(conversion As Integer) Dim rng1 As Range, r As Range
If TypeName(Selection) <> "Range" Then Exit Sub Set rng1 = Application.Intersect( _ ActiveSheet.UsedRange, Selection) If rng1 Is Nothing Then Exit Sub rng1.Select For Each r In Selection.Cells
If Not IsEmpty(r.Value) Then If Not r.HasFormula Then r.Value = StrConv(r.Value, conversion) End If End If Next End Sub (ニート) 2014/01/09(木) 02:10
Sub test() With Selection .Value = Evaluate("if(" & .Address & "<>"""",asc(" & .Address & "),"""")") End With End Sub (seiya) 2014/01/09(木) 11:58
Sub henkan() Dim r As Range For Each r In Selection r.Value = Application.Asc(r) Next End Sub (G999) 2014/01/09(木) 13:20
みなさま本当にありがとうございます。 こんなにも沢山の書き込みありがとうございます。 色々な方法があるんですね。 御礼が遅くなり大変申し訳ありませんでした。 一つ一つ確認させていただきます。 お世話になりました。
(aki) 2014/01/09(木) 17:36
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.