मैं एक चर को उस श्रेणी में सेट करने का प्रयास कर रहा हूं जिसे दो अन्य चरों का उपयोग करके परिभाषित किया गया है।

उपयोगकर्ता प्रपत्र में दर्ज दिनांक, Mnum और Shift के आधार पर SchRow और SchCol भिन्न होते हैं। मुझे रन-टाइम त्रुटि '1004' मिलती रहती है: एप्लिकेशन-परिभाषित या ऑब्जेक्ट-डिफ़ाइंड त्रुटि और मैं यह नहीं समझ सकता कि सभी चर परिभाषित क्यों हैं। मैंने कॉलम संख्या परिणाम को SchCol से एक पत्र में बदलने की भी कोशिश की और वह भी काम नहीं किया। किसी भी मदद की सराहना की जाती है, अग्रिम धन्यवाद!

    'Define variables to search for scheduled up time
    Dim SchDate As Range
    Dim FDate As String
    Dim SchTime As String
    Dim SchRow As String
    Dim SchCol As String

    FDate = .Range("A" & FirstEmptyRow).Value

    'Search the schedule tab to find the scheduled up time
    With Sheets("Schedule")

        Set SchDate = Sheets("Schedule").Range("C3:W57").Find(FDate, LookIn:=xlValues)
        'MsgBox (SchDate.Address)
        If SchDate Is Nothing Then

            MsgBox ("Date Not Found, re-enter data with correct date")
            GoTo Terminate

            Else

            SchRow = SchDate.Row + MNum
            'MsgBox (SchRow)
            SchCol = SchDate.Column + Shift - 1
            'MsgBox (SchCol)
            SchTime = .Range(SchCol & SchRow).Value * 60
            'This is where I get the Run time error '1004':
                MsgBox (SchTime)

        End If

    End With

SchRow और SchCol अपेक्षित के रूप में सही संख्याएँ लौटाते हैं, लेकिन SchTime त्रुटियाँ बाहर हो जाती हैं। मैं SchRow और SchCol का उपयोग करके परिभाषित स्थान में सेल से मूल्य प्राप्त करना चाहता हूं।

0
Philip 26 अगस्त 2019, 22:28

1 उत्तर

सबसे बढ़िया उत्तर

SchCol एक संख्या है न कि एक अक्षर और Range() एक अक्षर की अपेक्षा करता है। चरों को Long में बदलें और Cells() का उपयोग करें

'Define variables to search for scheduled up time
Dim SchDate As Range
Dim FDate As String
Dim SchTime As String
Dim SchRow As Long
Dim SchCol As Long

FDate = .Range("A" & FirstEmptyRow).Value

'Search the schedule tab to find the scheduled up time
With Sheets("Schedule")

    Set SchDate = Sheets("Schedule").Range("C3:W57").Find(FDate, LookIn:=xlValues)
    'MsgBox (SchDate.Address)
    If SchDate Is Nothing Then

        MsgBox ("Date Not Found, re-enter data with correct date")
        GoTo Terminate

        Else

        SchRow = SchDate.Row + MNum
        'MsgBox (SchRow)
        SchCol = SchDate.Column + Shift - 1
        'MsgBox (SchCol)
        SchTime = .Cells(SchRow, SchCol).Value * 60
        'This is where I get the Run time error '1004':
            MsgBox (SchTime)

    End If

End With
1
Scott Craner 26 अगस्त 2019, 19:31