【发布时间】:2018-08-01 01:06:24
【问题描述】:
因此,我开发了一种算法,该算法根据单词中字母出现的某些规则将单词分解为多个部分。我已经设法调试了整个算法,现在为了方便用户,我尝试将其放入 Worksheet_Change 方法中,如下所示:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim arr() As String
Dim i As Byte
Dim j As Byte
If (Target.Column = 1) Then
If (Target.Value <> "") Then
arr() = BreakupWord("perform")
For i = 1 To 10
Cells(Target.Row, i + 1) = arr(i)
Next i
ElseIf (Target.Value = "") Then
For j = 1 To 10
Cells(Target.Row, i + 1) = ""
Next j
End If
End If
End Sub
基本上,变量 arr() 将单词“Target”的分解组件存储在其数组中,并通过 For 循环我尝试将内容打印到工作表上的单元格中 考虑到用户仅根据条件对工作表的 A 列进行了更改
现在,问题是这样的:我一行一行地测试了多个单词,代码运行流畅。但是,如果我转到 A 列 中已输入的单词并通过 Backspace 或 Delete 将其删除,我的代码似乎进入了一个无限循环并且 Excel 崩溃了。可能是什么问题,我该如何避免?
【问题讨论】:
-
这是Worksheet_Change的一个很好的参考