[[20141021130021]] 『全てを半角』(半角マニア) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『全てを半角』(半角マニア)

ace関数を別セルでするのに時間がかかり申し訳ないのですが
ドラックした範囲内のセル全て半角にする魔法のようなマクロないでしょうか

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 このようなものか?
 標準モジュールに記述後、範囲を選択して実行してみてくれ。

 Sub Test()
     Dim WK_RANGE    As Range
     For Each WK_RANGE In Selection
         WK_RANGE.Value = StrConv(WK_RANGE.Value, vbNarrow)
     Next
 End Sub

(ねむねむ) 2014/10/21(火) 13:14


 横から失礼します。

 >ace関数

 「ASC関数」の間違い?

 始めは「Replace関数」か「Replaceメソッド」の間違いか?と思ったけどねむねむさんご提示の
 通りStrConvだしな〜。

[[20141021060845]] 『A列に全角で英数を入力したセルの値をB列に半角』(正ちゃん)

 ↑を参考に?無理やりASC関数を使った方法です。全くお勧めしません・・・。遊びマクロです。

 Sub test()
  Dim ra As Range
  Dim rb As Range
  Dim wsA As Worksheet
  Dim wsB As Worksheet
   Set wsA = ActiveSheet
   Set ra = Selection
   Worksheets.Add after:=Worksheets(Worksheets.Count)
   Set wsB = ActiveSheet
   wsB.Cells(1, 1).Formula = "=ASC(" & wsA.Name & "!" & ra.Resize(1, 1).Address(0, 0) & ")"
   Set rb = wsB.Cells(1, 1).Resize(ra.Rows.Count, ra.Columns.Count)
   wsB.Cells(1, 1).Copy rb
   'rb.Value = rb.Value
   ra.Value = rb.Value
   Application.DisplayAlerts = False
   Worksheets(Worksheets.Count).Delete
   Application.DisplayAlerts = True
   Application.CutCopyMode = False
   Set wsA = Nothing
   Set wsB = Nothing
   Set ra = Nothing
   Set rb = Nothing
 End Sub
(カリーニン) 2014/10/21(火) 20:46

 ASCなら こんなのもよく使いますね

    With Selection
        .Value = Application.Asc(.Cells)
    End With

(kanabun) 2014/10/21(火) 20:57


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.