ਵਿਸ਼ਾ - ਸੂਚੀ
ਜਿਵੇਂ ਕਿ ਤੁਸੀਂ ਪਹਿਲਾਂ ਹੀ ਜਾਣਦੇ ਹੋ ਕਿ UDFs ਕਿਵੇਂ ਬਣਾਉਣੇ ਹਨ (ਅਤੇ, ਮੈਨੂੰ ਉਮੀਦ ਹੈ, ਤੁਸੀਂ ਉਹਨਾਂ ਨੂੰ ਆਪਣੇ ਐਕਸਲ ਵਿੱਚ ਲਾਗੂ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਵੀ ਕੀਤੀ ਹੈ), ਆਓ ਥੋੜਾ ਡੂੰਘਾਈ ਵਿੱਚ ਖੋਦਾਈ ਕਰੀਏ ਅਤੇ ਵੇਖੀਏ ਕਿ ਜੇਕਰ ਤੁਹਾਡਾ ਉਪਭੋਗਤਾ ਪਰਿਭਾਸ਼ਿਤ ਫੰਕਸ਼ਨ ਕੰਮ ਨਹੀਂ ਕਰ ਰਿਹਾ ਹੈ ਤਾਂ ਕੀ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਕਸਟਮ ਫੰਕਸ਼ਨ ਬਣਾਉਂਦੇ ਸਮੇਂ ਕੁਝ ਮੁੱਦਿਆਂ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਸੰਭਾਵਤ ਤੌਰ 'ਤੇ ਇੱਕ ਡੀਬੱਗ ਚਲਾਉਣ ਦੀ ਲੋੜ ਪਵੇਗੀ। ਫਿਰ ਤੁਸੀਂ ਨਿਸ਼ਚਤ ਹੋ ਸਕਦੇ ਹੋ ਕਿ ਫੰਕਸ਼ਨ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਕਰ ਰਿਹਾ ਹੈ।
ਅਸੀਂ ਹੇਠਾਂ ਦਿੱਤੀਆਂ ਡੀਬੱਗਿੰਗ ਤਕਨੀਕਾਂ ਦੀ ਪੜਚੋਲ ਕਰਾਂਗੇ:
ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ ਕਸਟਮ ਫੰਕਸ਼ਨ ਬਣਾਉਂਦੇ ਹੋ, ਤਾਂ ਹਮੇਸ਼ਾ ਇੱਕ ਸੰਭਾਵਨਾ ਹੁੰਦੀ ਹੈ ਕਿ ਤੁਸੀਂ ਇੱਕ ਗਲਤੀ ਕਰੋਗੇ। ਕਸਟਮ ਫੰਕਸ਼ਨ ਆਮ ਤੌਰ 'ਤੇ ਕਾਫ਼ੀ ਗੁੰਝਲਦਾਰ ਹੁੰਦੇ ਹਨ। ਅਤੇ ਉਹ ਹਮੇਸ਼ਾ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਕਰਨਾ ਸ਼ੁਰੂ ਨਹੀਂ ਕਰਦੇ। ਫਾਰਮੂਲਾ ਇੱਕ ਗਲਤ ਨਤੀਜਾ ਜਾਂ #VALUE! ਗਲਤੀ ਸਟੈਂਡਰਡ ਐਕਸਲ ਫੰਕਸ਼ਨਾਂ ਦੇ ਉਲਟ, ਤੁਸੀਂ ਕੋਈ ਹੋਰ ਸੁਨੇਹੇ ਨਹੀਂ ਦੇਖ ਸਕੋਗੇ।
ਕੀ ਕੋਈ ਕਸਟਮ ਫੰਕਸ਼ਨ ਪੜਾਅ ਦਰ ਕਦਮ ਇਹ ਜਾਂਚਣ ਦਾ ਕੋਈ ਤਰੀਕਾ ਹੈ ਕਿ ਇਸਦੇ ਹਰੇਕ ਸਟੇਟਮੈਂਟ ਕਿਵੇਂ ਕੰਮ ਕਰਦੇ ਹਨ? ਯਕੀਨਨ! ਇਸਦੇ ਲਈ ਡੀਬਗਿੰਗ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
ਮੈਂ ਤੁਹਾਨੂੰ ਤੁਹਾਡੇ ਕਸਟਮ ਫੰਕਸ਼ਨ ਨੂੰ ਡੀਬੱਗ ਕਰਨ ਦੇ ਕਈ ਤਰੀਕਿਆਂ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਾਂਗਾ ਤਾਂ ਜੋ ਤੁਸੀਂ ਉਸ ਨੂੰ ਚੁਣ ਸਕੋ ਜੋ ਤੁਹਾਡੇ ਲਈ ਕੰਮ ਕਰੇ।
ਉਦਾਹਰਣ ਵਜੋਂ, ਅਸੀਂ ਕਸਟਮ ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਾਂ GetMaxBetween ਸਾਡੇ ਪਿਛਲੇ ਲੇਖਾਂ ਵਿੱਚੋਂ ਇੱਕ ਤੋਂ ਜੋ ਮੁੱਲਾਂ ਦੀ ਨਿਰਧਾਰਤ ਰੇਂਜ ਵਿੱਚ ਅਧਿਕਤਮ ਸੰਖਿਆ ਦੀ ਗਣਨਾ ਕਰਦਾ ਹੈ:
ਫੰਕਸ਼ਨ GetMaxBetween(rngCells As Range, MinNum, MaxNum) Dim NumRange as Range Dim vMax Dim arrNums() ਮੱਧਮ i rngCells vMax = ਵਿੱਚ ਹਰੇਕ ਨੰਬਰ ਰੇਂਜ ਲਈ ਪੂਰਨ ਅੰਕ ReDim arrNums(rngCells.Count) ਦੇ ਰੂਪ ਵਿੱਚਨੰਬਰ ਰੇਂਜ ਸਿਲੈਕਟ ਕੇਸ vMax ਕੇਸ MinNum + 0.01 ਤੋਂ MaxNum - 0.01 arrNums(i) = vMax i = i + 1 ਕੇਸ ਬਾਕੀ GetMaxBetween = 0 End ਚੁਣੋ ਅਗਲਾ NumRange GetMaxBetween = WorksheetFunction.Max(arrNums> ਫੰਕਸ਼ਨ ਹਨ <0. ਸੈੱਲਾਂ ਦੀ ਰੇਂਜ ਜਿੱਥੇ ਨੰਬਰ ਲਿਖੇ ਗਏ ਹਨ, ਨਾਲ ਹੀ ਮੁੱਲਾਂ ਦੀ ਉਪਰਲੀ ਅਤੇ ਹੇਠਲੀ ਸੀਮਾ।ਮਹੱਤਵਪੂਰਣ ਸਥਾਨਾਂ ਵਿੱਚ MsgBox ਫੰਕਸ਼ਨ ਨੂੰ ਰੱਖੋ
ਗਣਨਾ ਦੇ ਅਮਲ ਦੀ ਨਿਗਰਾਨੀ ਕਰਨ ਲਈ, ਤੁਸੀਂ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰ ਸਕਦੇ ਹੋ ਸਹੀ ਥਾਵਾਂ 'ਤੇ ਸਕ੍ਰੀਨ 'ਤੇ ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਵੇਰੀਏਬਲਾਂ ਦੇ ਮੁੱਲ। ਇਹ ਪੌਪ-ਅੱਪ ਡਾਇਲਾਗ ਬਾਕਸ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
MsgBox ਇੱਕ ਡਾਇਲਾਗ ਬਾਕਸ ਹੈ ਜਿਸਦੀ ਵਰਤੋਂ ਤੁਸੀਂ ਉਪਭੋਗਤਾ ਨੂੰ ਕਿਸੇ ਕਿਸਮ ਦਾ ਸੁਨੇਹਾ ਦਿਖਾਉਣ ਲਈ ਕਰ ਸਕਦੇ ਹੋ।
MsgBox ਦਾ ਸੰਟੈਕਸ ਹੋਰ VBA ਫੰਕਸ਼ਨਾਂ ਦੇ ਸਮਾਨ ਹੈ:
MsgBox(prompt [, buttons] [, title] [, helpfile, context])prompt ਇੱਕ ਲੋੜੀਂਦਾ ਆਰਗੂਮੈਂਟ ਹੈ। ਇਸ ਵਿੱਚ ਉਹ ਸੁਨੇਹਾ ਹੁੰਦਾ ਹੈ ਜੋ ਤੁਸੀਂ ਡਾਇਲਾਗ ਬਾਕਸ ਵਿੱਚ ਦੇਖਦੇ ਹੋ। ਇਸਦੀ ਵਰਤੋਂ ਵਿਅਕਤੀਗਤ ਵੇਰੀਏਬਲਾਂ ਦੇ ਮੁੱਲਾਂ ਨੂੰ ਦਿਖਾਉਣ ਲਈ ਵੀ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ।
ਹੋਰ ਸਾਰੀਆਂ ਆਰਗੂਮੈਂਟਾਂ ਵਿਕਲਪਿਕ ਹਨ।
[ ਬਟਨ ] - ਇਹ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਕਿਹੜੇ ਬਟਨ ਅਤੇ ਆਈਕਨ ਹਨ MsgBox ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਅਸੀਂ ਵਿਕਲਪ vbOkOnly ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਾਂ, ਤਾਂ ਸਿਰਫ਼ OK ਬਟਨ ਹੀ ਦਿਖਾਈ ਦੇਵੇਗਾ। ਭਾਵੇਂ ਤੁਸੀਂ ਇਸ ਆਰਗੂਮੈਂਟ ਤੋਂ ਖੁੰਝ ਗਏ ਹੋ, ਇਹ ਬਟਨ ਮੂਲ ਰੂਪ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।
[ ਸਿਰਲੇਖ ] - ਇੱਥੇ ਤੁਸੀਂ ਸੁਨੇਹਾ ਬਾਕਸ ਦਾ ਸਿਰਲੇਖ ਨਿਰਧਾਰਤ ਕਰ ਸਕਦੇ ਹੋ।
ਆਓ ਇਸ ਤੋਂ ਬਦਲੀਏ। ਅਭਿਆਸ ਕਰਨ ਅਤੇ ਡੀਬੱਗਿੰਗ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਸ਼ਬਦ। ਨੂੰ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਨ ਲਈਸੁਨੇਹਾ, ਕੇਸ ਐਲਸ ਆਪਰੇਟਰ ਤੋਂ ਪਹਿਲਾਂ GetMaxBetween ਉਪਭੋਗਤਾ ਦੁਆਰਾ ਪਰਿਭਾਸ਼ਿਤ ਫੰਕਸ਼ਨ ਦੇ ਕੋਡ ਵਿੱਚ ਹੇਠ ਦਿੱਤੀ ਲਾਈਨ ਜੋੜੋ:
MsgBox vMax, "Count -" & iਇੱਥੇ ਸਾਨੂੰ ਨਤੀਜੇ ਵਿੱਚ ਕੀ ਮਿਲੇਗਾ:
ਫੰਕਸ਼ਨ GetMaxBetween(rngCells as Range, MinNum, MaxNum) Dim NumRange as Range Dim vMax Dim arrNums() Dim i As Integer ReDim arrNums(rngCells.Count) rngCells vMax = NumRange ਵਿੱਚ ਹਰੇਕ ਨੰਬਰ ਰੇਂਜ ਲਈ ਕੇਸ vMax ਕੇਸ MinNum + 0.01 ਤੋਂ MaxNum - 0.01 arrNums(i) = vMax i = i + 1 MsgBox vMax, "Count -" & i Case Else GetMaxBetween = 0 End Select Next NumRange GetMaxBetween = WorksheetFunction.Max(arrNums) ਐਂਡ ਫੰਕਸ਼ਨਡਾਇਲਾਗ ਬਾਕਸ ਵਿੱਚ vMax ਵੇਰੀਏਬਲ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਅਸੀਂ ਦੇਖਾਂਗੇ ਕਿ ਕਿਹੜੇ ਨੰਬਰ ਚੋਣ ਦੇ ਮਾਪਦੰਡ ਨੂੰ ਪੂਰਾ ਕਰਦੇ ਹਨ, ਇਸ ਲਈ ਕਿ ਅਸੀਂ ਉਹਨਾਂ ਵਿੱਚੋਂ ਸਭ ਤੋਂ ਵੱਡੇ ਨੂੰ ਚੁਣ ਸਕਦੇ ਹਾਂ। ਸਮੀਕਰਨ ਦੇ ਨਾਲ "ਗਿਣਤੀ -" & I ਸਿਰਲੇਖ ਪੱਟੀ ਵਿੱਚ, ਅਸੀਂ ਇਹ ਦਰਸਾਉਂਦੇ ਹਾਂ ਕਿ ਵੱਧ ਤੋਂ ਵੱਧ ਮੁੱਲ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਅਸੀਂ ਪਹਿਲਾਂ ਹੀ ਕਿੰਨੇ ਨੰਬਰ ਚੁਣੇ ਹਨ। ਹਰੇਕ ਨਵੇਂ ਮੁੱਲ ਦੇ ਨਾਲ ਕਾਊਂਟਰ ਵਧਾਇਆ ਜਾਵੇਗਾ।
ਇੱਕ ਵਾਰ ਜਦੋਂ ਸਾਡੇ ਕੋਲ UDF ਸੈੱਟ ਹੋ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਅਸੀਂ ਹੇਠਾਂ ਦਿੱਤੇ ਫਾਰਮੂਲੇ ਨੂੰ ਮਿਤੀ ਰੇਂਜ ਵਿੱਚ ਲਾਗੂ ਕਰਦੇ ਹਾਂ:
= GetMaxBetween (A1:A6,10,50)
ਐਂਟਰ ਬਟਨ ਤੋਂ ਬਾਅਦ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ, ਤੁਸੀਂ ਹੇਠਾਂ ਦਿੱਤੇ ਸਕ੍ਰੀਨਸ਼ੌਟ ਵਿੱਚ ਇੱਕ ਸੁਨੇਹਾ ਵੇਖੋਗੇ:
ਇਹ ਰੇਂਜ A1: A6 ਵਿੱਚ ਪਹਿਲਾ ਨੰਬਰ ਹੈ ਜੋ ਮਾਪਦੰਡ ਨੂੰ ਪੂਰਾ ਕਰਦਾ ਹੈ: 10 ਤੋਂ ਵੱਧ ਪਰ ਘੱਟ 50 ਤੋਂ ਵੱਧ।
ਤੁਹਾਡੇ ਵੱਲੋਂ ਠੀਕ 'ਤੇ ਕਲਿੱਕ ਕਰਨ ਤੋਂ ਬਾਅਦ, 14 ਨੰਬਰ ਦੇ ਨਾਲ ਇੱਕ ਦੂਜਾ ਸੁਨੇਹਾ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ। ਬਾਕੀ ਦੇ ਨੰਬਰ ਚੋਣ ਨਾਲ ਮੇਲ ਨਹੀਂ ਖਾਂਦੇ।ਮਾਪਦੰਡ ਇਸਲਈ, ਫੰਕਸ਼ਨ ਦੋ ਵੈਲਯੂਜ਼ ਵਿੱਚੋਂ ਸਭ ਤੋਂ ਵੱਡੇ ਨੂੰ ਬਾਹਰ ਕੱਢਦਾ ਹੈ ਅਤੇ ਵਾਪਸ ਕਰਦਾ ਹੈ, 17.
MsgBox ਫੰਕਸ਼ਨ ਨੂੰ ਤੁਹਾਡੇ ਕਸਟਮ ਫੰਕਸ਼ਨ ਵਿੱਚ ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਸਥਾਨਾਂ ਵਿੱਚ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ ਤਾਂ ਕਿ ਮੁੱਲਾਂ ਨੂੰ ਕਿਵੇਂ ਕੰਟਰੋਲ ਕੀਤਾ ਜਾ ਸਕੇ। ਵਿਅਕਤੀਗਤ ਵੇਰੀਏਬਲ ਬਦਲਦੇ ਹਨ। ਮੈਸੇਜ ਬਾਕਸ ਬਹੁਤ ਉਪਯੋਗੀ ਹੋ ਸਕਦੇ ਹਨ ਜਦੋਂ ਤੁਹਾਡੇ ਕੋਲ ਇੱਕ ਵੱਡਾ ਫੰਕਸ਼ਨ ਅਤੇ ਬਹੁਤ ਸਾਰੀ ਗਣਨਾ ਹੁੰਦੀ ਹੈ। ਇਸ ਸਥਿਤੀ ਵਿੱਚ, ਤੁਹਾਡੇ ਲਈ ਇਹ ਨਿਰਧਾਰਤ ਕਰਨਾ ਆਸਾਨ ਹੋਵੇਗਾ ਕਿ ਕੋਡ ਦੇ ਕਿਹੜੇ ਹਿੱਸੇ ਵਿੱਚ ਗਲਤੀ ਹੁੰਦੀ ਹੈ।
ਸਟਾਪਿੰਗ ਪੁਆਇੰਟਸ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰੋ ਅਤੇ ਕਦਮ ਦਰ ਕਦਮ ਪ੍ਰਦਰਸ਼ਨ ਕਰੋ
ਤੁਸੀਂ ਕੋਡ ਵਿੱਚ ਬ੍ਰੇਕਪੁਆਇੰਟ ਜੋੜ ਸਕਦੇ ਹੋ ਤੁਹਾਡਾ ਫੰਕਸ਼ਨ ਜਿੱਥੇ ਕੋਡ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਬੰਦ ਹੋ ਜਾਵੇਗਾ। ਇਸ ਲਈ ਤੁਸੀਂ ਗਣਨਾ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਕਦਮ ਦਰ ਕਦਮ ਦੀ ਪਾਲਣਾ ਕਰ ਸਕਦੇ ਹੋ. ਅਜਿਹਾ ਕਰਨ ਨਾਲ, ਤੁਸੀਂ ਦੇਖ ਸਕਦੇ ਹੋ ਕਿ ਵੇਰੀਏਬਲ ਦੇ ਮੁੱਲ ਕਿਵੇਂ ਬਦਲਦੇ ਹਨ।
ਇੱਕ ਬ੍ਰੇਕਪੁਆਇੰਟ ਜੋੜਨ ਲਈ, ਕਰਸਰ ਨੂੰ ਸਟੇਟਮੈਂਟ ਵਾਲੀ ਲਾਈਨ 'ਤੇ ਰੱਖੋ ਜਿੱਥੇ ਤੁਸੀਂ ਰੁਕਣਾ ਚੁਣਦੇ ਹੋ। ਫਿਰ ਸੱਜਾ-ਕਲਿੱਕ ਕਰੋ ਅਤੇ ਡੀਬੱਗ -> ਬ੍ਰੇਕਪੁਆਇੰਟ ਨੂੰ ਟੌਗਲ ਕਰੋ ਜਾਂ ਸਿਰਫ਼ F9 ਦਬਾਓ। ਤੁਸੀਂ ਫੰਕਸ਼ਨ ਕੋਡ ਦੇ ਖੱਬੇ ਪਾਸੇ ਵਰਟੀਕਲ ਸਲੇਟੀ ਖੇਤਰ 'ਤੇ ਲੋੜੀਂਦੇ ਸਥਾਨ 'ਤੇ ਵੀ ਕਲਿੱਕ ਕਰ ਸਕਦੇ ਹੋ।
ਇੱਕ ਲਾਲ ਚੱਕਰ ਦਿਖਾਈ ਦੇਵੇਗਾ, ਜਿਵੇਂ ਕਿ ਤੁਸੀਂ ਹੇਠਾਂ ਦਿੱਤੇ ਸਕ੍ਰੀਨਸ਼ੌਟ ਵਿੱਚ ਦੇਖ ਸਕਦੇ ਹੋ। ਕੋਡ ਦੀ ਲਾਈਨ ਜਿੱਥੇ ਗਣਨਾ ਨੂੰ ਰੋਕਿਆ ਜਾਵੇਗਾ, ਲਾਲ ਰੰਗ ਵਿੱਚ ਉਜਾਗਰ ਕੀਤਾ ਗਿਆ ਹੈ।
ਹੁਣ, ਜਦੋਂ ਫੰਕਸ਼ਨ ਚੱਲ ਰਿਹਾ ਹੈ ਤਾਂ VBA ਸੰਪਾਦਕ ਵਿੰਡੋ ਖੁੱਲ੍ਹ ਜਾਵੇਗੀ। ਕਰਸਰ ਨੂੰ ਉਸ ਬਿੰਦੂ 'ਤੇ ਰੱਖਿਆ ਜਾਵੇਗਾ ਜਿੱਥੇ ਤੁਸੀਂ ਰੁਕਿਆ ਸੀ।
ਜੇਕਰ ਤੁਸੀਂ ਫੰਕਸ਼ਨ ਕੋਡ ਵਿੱਚ ਕਿਸੇ ਵੀ ਵੇਰੀਏਬਲ ਉੱਤੇ ਆਪਣੇ ਮਾਊਸ ਕਰਸਰ ਨੂੰ ਹੋਵਰ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਉਹਨਾਂ ਦਾ ਵਰਤਮਾਨ ਦੇਖ ਸਕਦੇ ਹੋਮੁੱਲ:
ਗਣਨਾ ਜਾਰੀ ਰੱਖਣ ਲਈ F5 ਦਬਾਓ।
ਨੋਟ। ਬ੍ਰੇਕਪੁਆਇੰਟ ਤੋਂ ਬਾਅਦ, ਤੁਸੀਂ ਗਣਨਾਵਾਂ ਦੀ ਪ੍ਰਗਤੀ ਨੂੰ ਕਦਮ-ਦਰ-ਕਦਮ ਟਰੈਕ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰ ਸਕਦੇ ਹੋ। ਜੇਕਰ ਤੁਸੀਂ F8 ਬਟਨ ਦਬਾਉਂਦੇ ਹੋ, ਤਾਂ VBA ਕੋਡ ਦੀ ਸਿਰਫ਼ ਇੱਕ ਅਗਲੀ ਲਾਈਨ ਨੂੰ ਚਲਾਇਆ ਜਾਵੇਗਾ। ਤੀਰ ਵਾਲੀ ਪੀਲੀ ਲਾਈਨ ਵੀ ਆਖਰੀ ਐਗਜ਼ੀਕਿਊਟ ਕੀਤੀ ਕੋਡ ਸਥਿਤੀ 'ਤੇ ਚਲੀ ਜਾਵੇਗੀ।
ਕਿਉਂਕਿ ਫੰਕਸ਼ਨ ਦੇ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਨੂੰ ਦੁਬਾਰਾ ਰੋਕ ਦਿੱਤਾ ਗਿਆ ਹੈ, ਤੁਸੀਂ ਮਾਊਸ ਕਰਸਰ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਫੰਕਸ਼ਨ ਦੇ ਸਾਰੇ ਵੇਰੀਏਬਲਾਂ ਦੇ ਮੌਜੂਦਾ ਮੁੱਲਾਂ ਨੂੰ ਦੇਖ ਸਕਦੇ ਹੋ।
F8 ਦੀ ਅਗਲੀ ਪ੍ਰੈਸ ਸਾਨੂੰ ਇੱਕ ਕਦਮ ਅੱਗੇ ਲੈ ਜਾਵੇਗੀ। . ਇਸ ਲਈ ਤੁਸੀਂ ਗਣਨਾ ਦੇ ਅੰਤ ਤੱਕ F8 ਦਬਾ ਸਕਦੇ ਹੋ। ਜਾਂ ਅਗਲੇ ਬ੍ਰੇਕਪੁਆਇੰਟ ਤੱਕ ਗਣਨਾ ਜਾਰੀ ਰੱਖਣ ਲਈ F5 ਦਬਾਓ।
ਜੇਕਰ ਕੋਈ ਗਲਤੀ ਆਉਂਦੀ ਹੈ, ਤਾਂ ਕਰਸਰ ਨੂੰ ਕੋਡ ਦੇ ਉਸ ਬਿੰਦੂ 'ਤੇ ਰੋਕ ਦਿੱਤਾ ਜਾਵੇਗਾ ਜਿੱਥੇ ਗਲਤੀ ਆਈ ਹੈ। ਅਤੇ ਤੁਸੀਂ ਇੱਕ ਪੌਪ-ਅੱਪ ਗਲਤੀ ਸੁਨੇਹਾ ਵੀ ਦੇਖੋਗੇ। ਇਸ ਨਾਲ ਸਮੱਸਿਆ ਦੇ ਕਾਰਨ ਦਾ ਪਤਾ ਲਗਾਉਣਾ ਆਸਾਨ ਹੋ ਜਾਂਦਾ ਹੈ।
ਤੁਹਾਡੇ ਵੱਲੋਂ ਦਰਸਾਏ ਗਏ ਬ੍ਰੇਕਪੁਆਇੰਟ ਉਦੋਂ ਤੱਕ ਲਾਗੂ ਕੀਤੇ ਜਾਣਗੇ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਫ਼ਾਈਲ ਨੂੰ ਬੰਦ ਨਹੀਂ ਕਰਦੇ। ਜਦੋਂ ਤੁਸੀਂ ਇਸਨੂੰ ਦੁਬਾਰਾ ਖੋਲ੍ਹਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਉਹਨਾਂ ਨੂੰ ਦੁਬਾਰਾ ਸੈੱਟ ਕਰਨ ਦੀ ਲੋੜ ਹੋਵੇਗੀ। ਸਭ ਤੋਂ ਸੁਵਿਧਾਜਨਕ ਤਰੀਕਾ ਨਹੀਂ, ਕੀ ਤੁਸੀਂ ਨਹੀਂ ਸੋਚਦੇ?
ਹਾਲਾਂਕਿ, ਇਸ ਸਮੱਸਿਆ ਨੂੰ ਹੱਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਲੋੜੀਂਦੇ ਬਿੰਦੂਆਂ 'ਤੇ ਫੰਕਸ਼ਨ ਕੋਡ ਵਿੱਚ ਇੱਕ ਸਟਾਪ ਸਟੇਟਮੈਂਟ ਪਾਓ, ਅਤੇ ਤੁਸੀਂ ਪ੍ਰੋਗਰਾਮ ਦੇ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਨੂੰ ਉਸੇ ਤਰ੍ਹਾਂ ਰੋਕ ਸਕਦੇ ਹੋ ਜਿਵੇਂ ਬਰੇਕਪੁਆਇੰਟਸ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਸਮੇਂ।
ਜਦੋਂ VBA ਇੱਕ Stop ਸਟੇਟਮੈਂਟ ਦਾ ਸਾਹਮਣਾ ਕਰਦਾ ਹੈ, ਤਾਂ ਇਹ ਪ੍ਰੋਗਰਾਮ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਨੂੰ ਰੋਕ ਦੇਵੇਗਾ ਅਤੇ ਤੁਹਾਡੀ ਕਾਰਵਾਈ ਦੀ ਉਡੀਕ ਕਰੇਗਾ। ਵੇਰੀਏਬਲ ਦੇ ਮੁੱਲਾਂ ਦੀ ਜਾਂਚ ਕਰੋ, ਫਿਰਜਾਰੀ ਰੱਖਣ ਲਈ F5 ਦਬਾਓ।
ਜਾਂ ਉੱਪਰ ਦੱਸੇ ਅਨੁਸਾਰ ਫੰਕਸ਼ਨ ਨੂੰ ਕਦਮ-ਦਰ-ਕਦਮ ਪੂਰਾ ਕਰਨ ਲਈ F8 ਦਬਾਓ।
ਸਟਾਪ ਸਟੇਟਮੈਂਟ ਪ੍ਰੋਗਰਾਮ ਦਾ ਹਿੱਸਾ ਹੈ ਅਤੇ ਇਸ ਲਈ ਮਿਟਾਇਆ ਨਹੀਂ ਗਿਆ, ਜਿਵੇਂ ਕਿ ਬਰੇਕਪੁਆਇੰਟ ਨਾਲ ਹੁੰਦਾ ਹੈ। ਜਦੋਂ ਤੁਸੀਂ ਡੀਬੱਗਿੰਗ ਪੂਰੀ ਕਰ ਲੈਂਦੇ ਹੋ, ਤਾਂ ਇਸਨੂੰ ਆਪਣੇ ਆਪ ਹਟਾਓ। ਜਾਂ ਇਸ ਨੂੰ ਇੱਕ ਇੱਕਲੇ ਹਵਾਲੇ (') ਦੇ ਨਾਲ ਅੱਗੇ ਲਗਾ ਕੇ ਇੱਕ ਟਿੱਪਣੀ ਵਿੱਚ ਬਦਲੋ।
ਡੀਬੱਗ.ਪ੍ਰਿੰਟ ਓਪਰੇਟਰ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਡੀਬੱਗ ਕਰਨਾ
ਤੁਸੀਂ ਡੀਬੱਗ.ਪ੍ਰਿੰਟ ਵਿੱਚ ਰੱਖ ਸਕਦੇ ਹੋ। ਸਹੀ ਜਗ੍ਹਾ 'ਤੇ ਫੰਕਸ਼ਨ ਕੋਡ. ਇਹ ਉਹਨਾਂ ਵੇਰੀਏਬਲਾਂ ਦੇ ਮੁੱਲਾਂ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਲਾਭਦਾਇਕ ਹੈ ਜੋ ਚੱਕਰੀ ਤੌਰ 'ਤੇ ਬਦਲ ਰਹੇ ਹਨ।
ਤੁਸੀਂ ਹੇਠਾਂ ਦਿੱਤੇ ਸਕ੍ਰੀਨਸ਼ਾਟ 'ਤੇ ਡੀਬੱਗ.ਪ੍ਰਿੰਟ ਦੀ ਕਾਰਗੁਜ਼ਾਰੀ ਦੀ ਇੱਕ ਉਦਾਹਰਣ ਦੇਖ ਸਕਦੇ ਹੋ।
ਸਟੇਟਮੈਂਟ ਡੀਬੱਗ.ਪ੍ਰਿੰਟ i, vMax ਮੁੱਲ ਅਤੇ ਉਹਨਾਂ ਦੇ ਆਰਡੀਨਲ ਨੰਬਰਾਂ ਨੂੰ ਪ੍ਰਿੰਟ ਕਰਦਾ ਹੈ।
ਤਤਕਾਲ ਵਿੰਡੋ ਵਿੱਚ ਤੁਸੀਂ ਚੁਣੀ ਹੋਈ ਰੇਂਜ ਵਿੱਚੋਂ ਦੋ ਨੰਬਰ (17 ਅਤੇ 14) ਦੇਖਦੇ ਹੋ, ਜੋ ਕਿ ਸੀਮਾਵਾਂ ਨਿਰਧਾਰਤ ਕਰੋ ਅਤੇ ਜਿਨ੍ਹਾਂ ਵਿੱਚੋਂ ਵੱਧ ਤੋਂ ਵੱਧ ਚੁਣਿਆ ਜਾਵੇਗਾ। ਅੰਕ 1 ਅਤੇ 2 ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਫੰਕਸ਼ਨ ਨੇ 2 ਚੱਕਰ ਪੂਰੇ ਕਰ ਲਏ ਹਨ ਜਿਸ ਵਿੱਚ ਨੰਬਰ ਚੁਣੇ ਗਏ ਸਨ। ਅਸੀਂ ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਵੇਰੀਏਬਲ ਦੇ ਮੁੱਲ ਦੇਖਦੇ ਹਾਂ, ਜਿਵੇਂ ਕਿ ਅਸੀਂ ਪਹਿਲਾਂ MsgBox ਨਾਲ ਕੀਤਾ ਸੀ। ਪਰ ਇਸ ਨਾਲ ਫੰਕਸ਼ਨ ਬੰਦ ਨਹੀਂ ਹੋਇਆ।
ਕਿਸੇ ਵਿਧੀ ਤੋਂ ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰੋ
ਤੁਸੀਂ ਵਰਕਸ਼ੀਟ ਵਿੱਚ ਕਿਸੇ ਸੈੱਲ ਤੋਂ ਨਹੀਂ, ਸਗੋਂ ਇੱਕ ਵਿਧੀ ਤੋਂ ਇੱਕ ਉਪਭੋਗਤਾ ਪਰਿਭਾਸ਼ਿਤ ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰ ਸਕਦੇ ਹੋ। ਇਸ ਸਥਿਤੀ ਵਿੱਚ, ਸਾਰੀਆਂ ਤਰੁੱਟੀਆਂ ਵਿਜ਼ੂਅਲ ਬੇਸਿਕ ਐਡੀਟਰ ਵਿੰਡੋ ਵਿੱਚ ਦਿਖਾਈਆਂ ਜਾਣਗੀਆਂ।
ਇੱਥੇ ਤੁਸੀਂ ਉਪਭੋਗਤਾ ਦੁਆਰਾ ਪਰਿਭਾਸ਼ਿਤ ਫੰਕਸ਼ਨ GetMaxBerween ਨੂੰ ਇੱਕ ਤੋਂ ਕਿਵੇਂ ਕਾਲ ਕਰ ਸਕਦੇ ਹੋ।ਵਿਧੀ:
ਸਬ ਟੈਸਟ() ਡਿਮ x x = GetMaxBetween(ਰੇਂਜ ( "A1:A6" ), 10, 50) MsgBox(x) End Subਕਰਸਰ ਨੂੰ ਕੋਡ ਵਿੱਚ ਕਿਤੇ ਵੀ ਰੱਖੋ ਅਤੇ F5 ਦਬਾਓ। ਜੇਕਰ ਫੰਕਸ਼ਨ ਵਿੱਚ ਕੋਈ ਗਲਤੀ ਨਹੀਂ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਗਣਨਾ ਦੇ ਨਤੀਜੇ ਦੇ ਨਾਲ ਇੱਕ ਪੌਪ-ਅੱਪ ਵਿੰਡੋ ਵੇਖੋਗੇ।
ਇੱਕ ਤਰੁੱਟੀ ਦੀ ਸਥਿਤੀ ਵਿੱਚ, ਤੁਸੀਂ VBA ਸੰਪਾਦਕ ਵਿੱਚ ਇੱਕ ਸੰਬੰਧਿਤ ਸੁਨੇਹਾ ਵੇਖੋਗੇ। ਗਣਨਾ ਨੂੰ ਰੋਕ ਦਿੱਤਾ ਜਾਵੇਗਾ ਅਤੇ ਕੋਡ ਦੀ ਲਾਈਨ ਜਿਸ ਵਿੱਚ ਗਲਤੀ ਆਈ ਹੈ, ਨੂੰ ਪੀਲੇ ਰੰਗ ਵਿੱਚ ਉਜਾਗਰ ਕੀਤਾ ਜਾਵੇਗਾ। ਤੁਸੀਂ ਆਸਾਨੀ ਨਾਲ ਪਛਾਣ ਕਰ ਸਕਦੇ ਹੋ ਕਿ ਗਲਤੀ ਕਿੱਥੇ ਅਤੇ ਕਿਉਂ ਹੋਈ ਹੈ।
ਬਸ ਬਸ। ਹੁਣ ਤੁਸੀਂ ਆਪਣਾ ਐਡ-ਇਨ ਬਣਾਇਆ ਹੈ, ਇਸਨੂੰ ਐਕਸਲ ਵਿੱਚ ਜੋੜਿਆ ਹੈ ਅਤੇ ਤੁਸੀਂ ਇਸ ਵਿੱਚ UDF ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ। ਜੇਕਰ ਤੁਸੀਂ ਹੋਰ UDFs ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ VBA ਸੰਪਾਦਕ ਵਿੱਚ ਐਡ-ਇਨ ਮੋਡੀਊਲ ਵਿੱਚ ਕੋਡ ਲਿਖੋ ਅਤੇ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰੋ।
ਅੱਜ ਲਈ ਇਹ ਹੀ ਹੈ। ਅਸੀਂ ਕਸਟਮ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਡੀਬੱਗ ਕਰਨ ਦੇ ਵੱਖ-ਵੱਖ ਤਰੀਕਿਆਂ ਨੂੰ ਕਵਰ ਕੀਤਾ ਹੈ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਤੁਹਾਡੀ ਵਰਕਬੁੱਕ ਵਿੱਚ ਕਿਵੇਂ ਵਰਤਣਾ ਹੈ ਬਾਰੇ ਸਿੱਖਿਆ ਹੈ। ਅਸੀਂ ਸੱਚਮੁੱਚ ਉਮੀਦ ਕਰਦੇ ਹਾਂ ਕਿ ਤੁਹਾਨੂੰ ਇਹ ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼ ਮਦਦਗਾਰ ਲੱਗੇ। ਜੇਕਰ ਤੁਹਾਡੇ ਕੋਈ ਸਵਾਲ ਹਨ, ਤਾਂ ਇਸ ਲੇਖ ਦੀਆਂ ਟਿੱਪਣੀਆਂ ਵਿੱਚ ਲਿਖੋ।