gpt4 book ai didi

VBA 选择案例运行时错误 13

转载 作者:行者123 更新时间:2023-12-04 20:40:49 25 4
gpt4 key购买 nike

我正在尝试运行选择案例,以便在输入特定文本时在范围内更改单元格以运行宏。我为“F50”的单个单元格(以及后面的代码)工作,但是当我在几行之后尝试使用相同样式的代码时,它不起作用。

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("F50")) Is Nothing Then
Select Case Range("F50")
Case "MPR-9A": Resize9
Case "MPR-8A": Resize8
Case "MPR-6A": Resize6
Case "MPR-3A": Resize3
End Select
End If

If Not Intersect(Target, Range("F4:F45")) Is Nothing Then
Select Case Range("F4:F45")
Case "M-20A": M20A
Case "M-2X20A": M2X20A
Case "M-20A-SP": M20ASP
End Select
End If

End Sub

当我在 F4:F45 范围内的某处放置一个新值时,我试图让这段代码运行。当输入该值时,case 检查要运行的宏。
宏复制另一个工作表上的范围并将其粘贴到刚刚触发宏的单元格(其中还包括右侧和下方的几个单元格),当我手动触发它们时,这些宏运行良好。

我选择了复制/粘贴路线,因为我放弃了计划 A,该计划试图将刚刚收到新值的单元格与其下方的 1 或 3 合并,然后在右侧的单元格中输入文本。如果我应该重新尝试那条路线,我很乐意尝试避免复制和粘贴。

最佳答案

如果您只想检查这些字符串是否存在,请将其用于您的第二个 block :

If Not Intersect(Target, Range("F4:F45")) Is Nothing Then
tempStr = Join([TRANSPOSE[F4:F45)]," ")
Select Case True
Case InStr("M-20A", tempStr): M20A
Case InStr("M-2X20A", tempStr): M2X20A
Case InStr("M-20A-SP", tempStr): M20ASP
End Select
End If

如果要单独检查每个单元格,则必须遍历该范围:
If Not Intersect(Target, Range("F4:F45")) Is Nothing Then
For Each cell In Range("F4:F45").Cells
Select Case cell.Value
Case "M-20A": M20A
Case "M-2X20A": M2X20A
Case "M-20A-SP": M20ASP
End Select
Next
End If

关于VBA 选择案例运行时错误 13,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34002069/

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