我有一个excel文件,我必须将片假名字符改为平假名。我已经使用StrConv
+ vbHiragana
一段时间了,但是,由于我在1000行(两次)的范围内使用它,因此它非常慢。在搜索之后,我发现了以下代码,这看起来像是一种不同的方法,看起来非常快。我唯一的问题是,只有当我选择指定的行和列(例如来自A1:A10
),然后如果我运行它,它才能完美地完成工作。我需要调整它,以便它自动在一个范围内完成并在不同的工作表上显示结果。 (来自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
任何人都知道解决这个问题吗?
谢谢!
答案 0 :(得分:0)
与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
答案 1 :(得分:0)
试试这个,更简单一点..
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
干杯〜