वहाँ एक क्यों है
ऑब्जेक्ट वेरिएबल या विथ-बॉक वेरिएबल गुम है
अगर मुझे इंटरनेट में कुछ भी मिला तो मैं पहले ही गूगल कर चुका हूं, लेकिन मैंने नहीं किया
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 जवाब
आपका
FieldRange
Range
प्रकार का है और इसलिए यह एक वस्तु है, और वस्तुओं कोSet
का उपयोग करने की आवश्यकता है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
कुछ सामान्य नियम:
सुनिश्चित करें कि आपके कोड में वह कार्यपुस्तिका और कार्यपत्रक शामिल है जिसका आप उपयोग करना चाहते हैं। यह एक
With Statement
का उपयोग करके प्राप्त किया जा सकता हैWith ThisWorkbook.Worksheets("Sheet1") End With
ActiveCell
से बचें और सेल एड्रेस का उपयोग करके सेल देखें।FieldRange
का उपयोग करने से पहले यह सुनिश्चित कर लें कि आपने यह जांच लिया है कि यहNothing
है या नहीं।If FieldRange Is Nothing Then Debug.Print "Value was not found." Else Debug.Print "Value found in :" & FieldRange.Address End If
एक
Do … While
संरचनाDo While i < 5 i = i + 1 MsgBox "The value of i is : " & i Loop
संबंधित सवाल
नए सवाल
excel
केवल एक्सेल ऑब्जेक्ट्स या फ़ाइलों, या जटिल फॉर्मूला विकास के खिलाफ प्रोग्रामिंग पर प्रश्नों के लिए। यदि आप लागू हो तो आप Excel टैग को VBA, VSTO, C #, VB.NET, PowerShell, OLE स्वचालन और अन्य प्रोग्रामिंग संबंधी टैग और प्रश्नों के साथ जोड़ सकते हैं। सुपर उपयोगकर्ता पर एकल कार्यपत्रक कार्यों के लिए एमएस एक्सेल के बारे में सामान्य सहायता उपलब्ध है।