Excel VBA 中的片假名到平假名

Katakana to Hiragana in Excel VBA

我有一个 excel 文件,我必须在其中将片假名字符更改为平假名。我已经使用 StrConv + vbHiragana 一段时间了,但是,它真的很慢,因为我在 1000 行的范围内使用它(两次)。四处搜索后,我发现了以下代码,这看起来是一种不同的方法,而且看起来非常快。我唯一的问题是,它只有在我 select 指定的行和列(例如来自 A1:A10)时才有效,然后如果我 运行 它,它就可以完美地完成工作。我需要对此进行调整,使其自动在一个范围内执行并在不同的 sheet 上显示结果。 (来自 A1:A1000 + D1:D1000) 像这样:

这是我找到的代码:

Sub Comm()
Dim i, gyos, retus, rwsu As Integer
Dim KATA, HIRA As String


gyos = ActiveCell.Row
retus = ActiveCell.Column
rwsu = Selection.Rows.Count - 1


For n = gyos To gyos + rwsu
KATA = Cells(n, retus)
HIRA = StrConv(KATA, 32)
Cells(n, retus) = HIRA
Next n


End Sub

有人知道解决这个问题的方法吗?

谢谢!

就像 findwindow 建议的那样,只需设置您自己的范围并在 for 循环中使用它:

Dim row as Integer

For row = 1 to 1000
    Worksheets("Sheet2").Range("B" & row).Value = StrConv(Worksheets("Sheet1").Range("B" & row).Value, 32)
    Worksheets("Sheet2").Range("D" & row).Value = StrConv(Worksheets("Sheet1").Range("D" & row).Value, 32)
Next row

试试这个,简单一点..

Sub Comm()
    Dim iRng As Range, uRng As Range

    Set uRng = Union(Range("A1:A1000"), Range("D1:D1000"))

    For Each iRng In uRng

        iRng = StrConv(iRng, vbHiragana)

    Next iRng

End Sub

干牌~