gpt4 book ai didi

excel - 如何替换单词lookAt :=xlWhole including japanese comma in excel macro

转载 作者:行者123 更新时间:2023-12-04 21:36:27 28 4
gpt4 key购买 nike

必须替换excel单元格中的单词。
使用喜欢

Sub test()
Dim a_row As String
Dim b_row As String
Dim row_counter As Integer
For row_counter = 1 To 600
a_row = "A" & row_counter
b_row = "B" & row_counter
Dim Findtext As String
Dim Replacetext As String
Findtext = Sheets("sheet1").Range(a_row).Value
Replacetext = Sheets("sheet1").Range(b_row).Value
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
If ws.Name <> ActiveWorkbook.Worksheets(1).Name Then
ws.Cells.Replace What:=Findtext, Replacement:=Replacetext, LookAt:= _
xlWhole, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End If
Next ws

Next row_counter
End Sub

sheet1 中有两个列。第 1 列显示日语单词。第二列显示英文单词。
公園  park
夏 summer
緑 Green
青空 blue Sky
男の人 man

在第二张表中显示在 col A
    column A
公園、夏、青空、緑、男の人

上面的代码替换了日语单词。

如果 LookAt:= _xlPart,替换后显示如下

公园, 夏天, 青天, 绿色, 男人の人

如果 LookAt:= _xlWhole ,它不会替换单词

在第二张表中显示在单独的列中
 A    B    C     D     E
公園 夏 青空 緑 男の人

如果 LookAt:= _xlWhole 然后

它工作得很好。

我想要做

在第二张表中显示以逗号分隔的单列 A 中的值
column A
公園、夏、青空、緑、男の人

需要像这样的输出
公园, 夏季, 蓝天, 绿色, 人

请给出一些想法..谢谢

最佳答案

相反,在内存中执行它,使用数组更快、更容易。如果我了解您的数据的排列方式 - 以下应该适用于您的查找/替换表位于 sheet1 上的 A:B 列中并且要替换的值位于 sheet2 中并且在单元格 A1 中以逗号分隔的情况下:

Sub MM_Foo()

Dim findArray As Variant
Dim replaceArray As Variant
Dim matchPosition As Long

With Sheets(1)
findArray = .Range("A1:B" & .Cells(.Rows.Count, 2).End(xlUp).Row).Value
End With

On Error GoTo checkErr:

For j = 1 To Sheets(2).Cells(Sheets(2).Rows.Count, 1).End(xlUp).Row

replaceArray = Split(Sheets(2).Cells(j, 1).Value, ",")

With Application
For i = LBound(replaceArray) To UBound(replaceArray)

matchPosition = .Match(replaceArray(i), .Index(findArray, , 1), 0)
replaceArray(i) = findArray(matchPosition, 2)

skipReplace:

Next
End With

Sheets(2).Cells(j, 1).Value = Join$(replaceArray, ",")

Next

On Error GoTo 0

Exit Sub

checkErr:
If Err.Number = 13 Then
Err.Clear
GoTo skipReplace:
Else
MsgBox Err.Description & " (" & Err.Number & ")", vbExclamation, "Error"
Err.Clear
On Error GoTo 0
Exit Sub
End If

End Sub

关于excel - 如何替换单词lookAt :=xlWhole including japanese comma in excel macro,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36470317/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com