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
干牌~
我有一个 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
干牌~