वहाँ एक क्यों है

ऑब्जेक्ट वेरिएबल या विथ-बॉक वेरिएबल गुम है

In the Picture is the Problem (in German) and the Code

अगर मुझे इंटरनेट में कुछ भी मिला तो मैं पहले ही गूगल कर चुका हूं, लेकिन मैंने नहीं किया

Sub One_Find()
    Dim FieldRange As Range
    Dim FirstAddress As String
    FieldRange = Cells.Find(What:=ActiveCell.Value, LookIn:=xlValues, LookAt:=xlWhole)
    FirstAddress = FieldRange.Address

    Do
        FieldRange = Cells.FindNext(FieldRange)
    Loop While FieldRange.Address <> FirstAddress

    FieldRange.Value = "WORKS"
End Sub
-2
Darth Vader 31 जुलाई 2019, 11:32

2 जवाब

सबसे बढ़िया उत्तर
  1. आपका FieldRange Range प्रकार का है और इसलिए यह एक वस्तु है, और वस्तुओं को Set का उपयोग करने की आवश्यकता है

  2. Range.Find method इस्तेमाल करने के बाद आप परीक्षण करना चाहिए कि क्या यह Nothing के लिए परीक्षण करके सफल हुआ था

तो आप अंत…

Option Explicit

Public Sub One_Find()
    Dim FieldRange As Range
    Set FieldRange = Cells.Find(What:=ActiveCell.Value, LookIn:=xlValues, LookAt:=xlWhole)

    If FieldRange Is Nothing
        MsgBox "Find failed"
        Exit Sub
    End If

    Dim FirstAddress As String
    FirstAddress = FieldRange.Address

    Do
        FieldRange = Cells.FindNext(FieldRange)
    Loop While FieldRange.Address <> FirstAddress

    FieldRange.Value = "WORKS"
End Sub
0
Pᴇʜ 31 जुलाई 2019, 12:25

कुछ सामान्य नियम:

  1. सुनिश्चित करें कि आपके कोड में वह कार्यपुस्तिका और कार्यपत्रक शामिल है जिसका आप उपयोग करना चाहते हैं। यह एक With Statement का उपयोग करके प्राप्त किया जा सकता है

    With ThisWorkbook.Worksheets("Sheet1")
    End With
    
  2. ActiveCell से बचें और सेल एड्रेस का उपयोग करके सेल देखें।

  3. FieldRange का उपयोग करने से पहले यह सुनिश्चित कर लें कि आपने यह जांच लिया है कि यह Nothing है या नहीं।

    If FieldRange Is Nothing Then
        Debug.Print "Value was not found."
    Else
        Debug.Print "Value found in :" & FieldRange.Address
    End If
    
  4. एक Do … While संरचना

    Do While i < 5
        i = i + 1
        MsgBox "The value of i is : " & i
    Loop
    
2
Pᴇʜ 31 जुलाई 2019, 12:26