gpt4 book ai didi

excel - 在 vba 中,我得到一个未设置的对象变量(错误 91)

转载 作者:行者123 更新时间:2023-12-04 22:34:00 25 4
gpt4 key购买 nike

这是我的基本错误或缺乏理解。我在这里搜索了许多问题,但似乎没有任何问题。

这是代码

Option Explicit

Public Function ReturnedBackGroundColor(rnge As Range) As Integer
ReturnedBackGroundColor = rnge.Offset(0, 0).Interior.ColorIndex
End Function

Public Function SetBackGroundColorGreen()
ActiveCell.Offset(0, 0).Interior.ColorIndex = vbGreen
End Function

Public Function CountBackGroundColorGreen(rnge As Range) As Integer
Dim vCell As Range

CountBackGroundColorGreen = 0

For Each vCell In rnge.Cells
With vCell
If ReturnedBackGroundColor(vCell) = 14 Then
CountBackGroundColorGreen = CountBackGroundColorGreen + 1
End If
End With
Next
End Function

Public Function GetBackgroundColor() As Integer
Dim rnge As Range

GetBackgroundColor = 3
rnge = InputBox("Enter Cell to get Background color", "Get Cell Background Color")

GetBackgroundColor = ReturnedBackGroundColor(rnge)
End Function

我正在添加最后一个函数,并且在此之前其他一切都在工作,并且在该函数的第一条语句上出现错误。

对于该错误,可能的修复方法之一是添加对正确库的引用。我不知道要引用的正确库是什么,也找不到 InputBox 包含的库。它是一个 activeX 控件,但我在 tools->reference 下拉菜单中看不到它。我确实检查了 microsoft forms 2.0。

我尝试了各种 set 语句,但我认为我添加的唯一对象是输入框。

有什么建议么?

谢谢。

最佳答案

使用application.inputbox ,将类型添加为范围并设置返回的范围对象。

Option Explicit

Sub main()
Debug.Print GetBackgroundColor()
End Sub

Public Function GetBackgroundColor() As Integer
Dim rnge As Range
Set rnge = Application.InputBox(prompt:="Enter Cell to get Background color", _
Title:="Get Cell Background Color", _
Type:=8)
GetBackgroundColor = ReturnedBackGroundColor(rnge)
End Function

Public Function ReturnedBackGroundColor(rnge As Range) As Integer
ReturnedBackGroundColor = rnge.Offset(0, 0).Interior.ColorIndex
End Function

关于excel - 在 vba 中,我得到一个未设置的对象变量(错误 91),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50769193/

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