[[20241029114901]] 『全角英数を半角に』(4649) ページの最後に飛ぶ

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

 

『全角英数を半角に』(4649)

カナ、ひらがなはそのままで全角英数を半角に変換したい

< 使用 Excel:Microsoft365、使用 OS:Windows10 >


意気込みがすばらしい。
がんばれ!

(830) 2024/10/29(火) 12:18:19


(830)下らん返信いらんねん
気持ち悪い
(4649) 2024/10/29(火) 12:40:16

質問するなら、もっと丁寧にお願いするとかした方がいいんじゃない?
それに言葉が下品だし。

(通りすがり) 2024/10/29(火) 12:50:15


掲示板の向こう側で人間が回答してるとおもってリスペクトできないならAIに聞いとけ

こんな回答もらえるんで

Excelのマクロを使って全角英数字を半角に変換することができます。このマクロは、カナやひらがなには影響を与えずに、全角英数字だけを半角に変換します。

Excelを開いて、Alt + F11キーを押してVBAエディタを開く

挿入 > モジュールをクリックして、新しいモジュールを追加する

以下のコードをコピーして、モジュールに貼り付ける

 Function ConvertToHalfWidth(str As String) As String
    Dim i As Integer
    Dim c As String
    Dim halfWidthStr As String
    halfWidthStr = ""

    For i = 1 To Len(str)
        c = Mid(str, i, 1)
        Select Case AscW(c)
            Case 65281 To 65374 ' 全角英数字の範囲
                halfWidthStr = halfWidthStr & ChrW(AscW(c) - 65248)
            Case Else
                halfWidthStr = halfWidthStr & c
        End Select
    Next i

    ConvertToHalfWidth = halfWidthStr
 End Function

 Sub ConvertRangeToHalfWidth()
    Dim cell As Range
    For Each cell In Selection
        If Not IsEmpty(cell.Value) Then
            cell.Value = ConvertToHalfWidth(cell.Value)
        End If
    Next cell
 End Sub
VBAエディタを閉じて、Excelに戻る

変換したい範囲を選択して、Alt + F8キーを押して「ConvertRangeToHalfWidth」というマクロを実行する

これで、選択した範囲内の全角英数字が半角に変換されます。
(こぱいろっと) 2024/10/29(火) 13:08:36


 Functionをもう少し「謎の呪文」っぽくアレンジして遊んでみる ^^;

    Function To_HalfWidth(StrUTF As String) As String
        If Len(StrUTF) = 0 Then Exit Function
        Dim b() As Byte, i As Long
        b = StrUTF
        For i = 0 To UBound(b) Step 2
            If b(i + 1) = &HFF& And b(i) >= &H1& And b(i) <= &H5E& Then
                b(i) = b(i) + &H20&
                b(i + 1) = 0
            End If
        Next
        To_HalfWidth = b
    End Function

 ちなみにAscWの戻り値はInteger型なので
 Function AscW(String As String) As Integer

 はたして、ConvertToHalfWidthはホントにちゃんと動くのか疑問な気もする。

(白茶) 2024/10/29(火) 14:02:17


(こぱいろっと)(白茶)さん

記載してもらったのは動きませんでしたが、aiで処理出来ました。
ありがとうございました。
(4649) 2024/10/29(火) 14:24:59


コメント返信:

[ 一覧(最新更新順) ]


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