これは私の側の基本的なエラーまたは理解の欠如です。ここでいくつかの質問を検索しましたが、何も当てはまらないようです。
これがコードです
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
最後の関数を追加していましたが、それ以前は他のすべてが機能していて、その関数の最初のステートメントでエラーが発生していました。
エラーの場合、考えられる修正の1つは、適切なライブラリへの参照を追加することです。参照する適切なライブラリがわからず、InputBoxに含まれているライブラリが見つかりません。これはActiveXコントロールですが、ツール->リファレンスプルダウンに表示されません。Microsoftフォーム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
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加