এক্সেল ভিবিএ - স্প্রেডশিটে ডেটা যুক্ত করার পরে সূত্র বিরতি


-1

[ কোড চলমান পরে ত্রুটি বার্তা

[ লাইন যেখানে কোড বিরতি

আমি আমার স্প্রেডশিটে 5 নং সংখ্যার যোগ না করা পর্যন্ত আমার সমস্ত কোড দুর্দান্ত কাজ করছিল। আমি ডেটা যুক্ত করার পরে, আমার COUNTIFS সূত্রটি আর সঠিক ফলাফল দেয় না।

সারি 5 এর জন্য, মাসের উইথভ্যালুগুলি 10 এর সমান হওয়া উচিত; যাইহোক, প্রতিবার এখন কোডটি চালানোর সময় এটি আমাকে একটি 0 দেয় I আমি স্টেপ ইন্টো, ব্রেক পয়েন্টস / টগল পয়েন্টস এবং ওয়াচ ব্যবহার করে এটি ডিবাগ করার চেষ্টা করেছি। প্রতিবার আমি কোডটি চালানোর সময়, এটি মাসসথওয়ালভ্যালুটির মান 0 বলে রাখে Help সহায়তা!

কোড:

For i = 5 To LastRow
MonthsWithValues = Excel.WorksheetFunction.CountIfs(.Range(("M" & i), ("X" & i)), "<>0", .Range(("M" & i), ("X" & i)), "<>""")
Next i

আপনার কোডটি আপনার বর্ণনার তুলনায় খুব দীর্ঘ বলে মনে হচ্ছে, দয়া করে কেবলমাত্র সেই অংশটি প্রাসঙ্গিক রাখুন। আপনি কি এটি ডিবাগ করার চেষ্টা করেছেন (আরও তথ্যের জন্য এখানে দেখুন: stackoverflow.com/docamentation/vba/802/intr Productions- to-vba/… )?
মাতা জুহাজ্ব

হ্যাঁ, আমি কোনও সাফল্য ছাড়াই এটি ডিবাগ করার চেষ্টা করেছি। প্রাসঙ্গিক কোডটি হ'ল: For i = 5 to LastRow MonthsWithValues = Excel.WorksheetFunction.CountIfs(.Range(("M" & i), ("X" & i)), "<>0", .Range(("M" & i), ("X" & i)), "<>""") Next i
হিদারডি

কোনও মন্তব্যে উত্তর দেওয়ার পরিবর্তে আপনার প্রশ্নটি সম্পাদনা করুন। "হ্যাঁ, আমি কোনও সাফল্য ছাড়াই এটি ডিবাগ করার চেষ্টা করেছি" - আপনি ঠিক কী চেষ্টা করেছেন?
মাতা জুহাজ 21

@ মাটিজুহেসস, আমি আমার প্রশ্নটি উপরের দিকে সম্পাদনা করেছি।
হিদারডে

এটি অন্যান্য সারিগুলির জন্য সঠিকভাবে কাজ করে? আপনি কিছু স্ক্রিনশট যোগ করতে পারেন?
মাতা জুহাজ 21

উত্তর:


0

তদন্তের তৃতীয় যুক্তি সরিয়ে চেষ্টা করুন:

MonthsWithValues = Excel.WorksheetFunction.CountIfs(.Range(("M" & i), ("X" & i)), "<>0", "<>""")

কাউন্টিফগুলিতে কেবল প্রথম যুক্তির ব্যাপ্তি হওয়া উচিত; অন্য সকলের মানদণ্ড হওয়া উচিত। আপনি মূলত একটি মানদণ্ড হিসাবে আপনার পরিসর দিচ্ছেন। এক্সেল এটি গ্রহণ করছে (কেন তা আমি নিশ্চিত নই তবে সম্ভবত এটি সীমাটির প্রথম মানের সাথে মানগুলির তুলনা করছে) তবে আপনি যে ফলাফল চান তার জন্য এটি সঠিক নয়।


@ J_foster পরামর্শের জন্য আপনাকে ধন্যবাদ, কিন্তু আমি যখন তৃতীয় যুক্তি সরিয়ে ফেললাম তখনও আমি একই ত্রুটি পেয়েছি।
হিদারডি

0

@ মুসলেমান, আপনি সঠিক ছিলেন। এটি আমাকে ত্রুটি দিচ্ছিল কারণ MonthsWithValuesএকটি সংখ্যার সাথে আরম্ভ করা হয়নি, তাই এটি 0 তে মূল্যায়ন করা হচ্ছে।

সঠিক কোডটি হ'ল:

Sub ReduceCost_Percentage()

With Worksheets("Analysis Worksheet")

Dim i As Long
Dim LastRow As Long
LastRow = Range("X" & Rows.Count).End(xlUp).Row
Dim Orig2016Total(68) As Long
Dim MonthsWithValues(68) As Long

For i = 5 To LastRow
Orig2016Total(i) = Excel.WorksheetFunction.Sum(.Range(("BC" & i), ("BN" & i)))
MonthsWithValues(i) = Excel.WorksheetFunction.CountIfs(.Range(("M" & i), ("X" & i)), "<>0", .Range(("M" & i), ("X" & i)), "<>""""")
Next i

এখন এটা কাজ করছে! সাহায্যের জন্য সকলকে ধন্যবাদ!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.