gpt4 book ai didi

excel - 运行时错误 '13' : Type Mismatch when I clear cell contents

转载 作者:行者123 更新时间:2023-12-04 20:28:56 24 4
gpt4 key购买 nike

我对 VBA 很陌生,但到目前为止,我已经能够自己完成我需要的一切。但是,我似乎无法解决这个问题。从技术上讲,我有 2 个不同的私有(private)潜艇(Worksheet_Change),但如果我将它们结合起来,我只能让它们工作。第一个将 B 列中具有相同内容的单元格的数量限制为 3 个。

第二个清除范围 G:I,如果 H = 100,则复制范围 A:F。当我清除某些内容时,“Macro1”给了我这个运行时错误(运行时错误'13':类型不匹配)原因。显然,“Macro2”是在清除内容,所以我真的在和自己作对。

Private Sub Worksheet_Change(ByVal Target As Range)

'First Macro. (The issue is in this Macro)

If WorksheetFunction.CountIf(Range("B4:B350"), Target) > 3 Then

msgbox "This team member has the maximum number of open projects.", vbCritical, "Overburdened"
Target.Value = ""
Target.Select

End If

'Second Macro

Dim rngStart As Range

Set rngStart = ActiveCell

A = Worksheets("Project Tracking").Cells(Rows.Count, 1).End(xlUp).Row


For i = 4 To A

If Worksheets("Project Tracking").Cells(i, 8).Value = 100 Then

Worksheets("Project Tracking").Range(Cells(i, 7), Cells(i, 9)).ClearContents
Worksheets("Project Tracking").Range(Cells(i, 1), Cells(i, 6)).Copy
Worksheets("Completed Projects").Activate
B = Worksheets("Completed Projects").Cells(Rows.Count, 1).End(xlUp).Row
Worksheets("Completed Projects").Cells(B + 1, 1).Select
ActiveSheet.Paste
Worksheets("Project Tracking").Activate
Worksheets("Project Tracking").Range(Cells(i, 1), Cells(i, 6)).ClearContents

Call Reset_List

Call Macro3

End If

Next

Application.CutCopyMode = False

ThisWorkbook.Worksheets("Project Tracking").Cells(1, 1).Select

rngStart.Select


End Sub

最佳答案

你在这条线上得到一个类型不匹配......

If WorksheetFunction.CountIf(Range("B4:B350"), Target) > 3 Then



...因为您正在调用 Target 的默认成员(即 .Value ),然后将其传递给 CountIf .问题是因为你在 Worksheet_Change事件处理程序, Target 不必是单个单元格 .如果不是单个单元格, Target.Value包含一个数组,如果您尝试将其传递给 CountIf,则会抛出该数组。 .如果您只对单个单元格更改感兴趣,请将保护子句放在 Sub 的顶部。 :
If Target.Cells.Count <> 1 Then Exit Sub
此外,正如评论中所述,由于您正在更改单元格(尽管尚不清楚这是在哪个工作表中),因此您应该在开始进行可能导致重新输入的更改之前禁用事件 - Application.EnableEvents = False .完成后不要忘记重新启用它。

关于excel - 运行时错误 '13' : Type Mismatch when I clear cell contents,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53565019/

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