আমি আমার কাজের জন্য একটি দীর্ঘ দীর্ঘ ম্যাক্রোতে কাজ করছি এবং আমি প্রায় শেষ করছি, তবে এটিই শেষ অংশ এবং আমি যাই করুক না কেন, আমি ঠিক করতে পারি না। এই পিভটটেবলে, মানগুলি বিভাগে সারি হিসাবে "মানগুলি" সহ কলামগুলি এবং অন্যান্য সমস্ত কিছু (অর্থাত্ সমস্ত মাস) থাকা দরকার। চারদিকে ঝাঁকুনির পরে, দেখে মনে হচ্ছে যে সমস্ত ক্ষেত্র পিভটফিল্ডের পরিবর্তে কিউবফিল্ড হিসাবে নিবন্ধিত হয়েছে। আমি যখন এটি চালিয়ে যাচ্ছি সাথে সাথে। ওরিয়েন্টেশন = এক্সএলডাটাফিল্ড, এটি একটি "রান-টাইম ত্রুটি 5 ... অবৈধ পদ্ধতি কল বা যুক্তি নিক্ষেপ করে।" আমারও নিশ্চিত করতে হবে যে সেই ডেটাফিল্ডগুলি গড় এবং একটি নির্দিষ্ট সংখ্যার ফর্ম্যাটে রয়েছে। আমি কিছুই করি না এবং কোনও গাইডেন্স / ফিক্স / ওয়ার্কআরউন্ড প্রশংসিত হবে! নীচে টিঙ্কারিংয়ের জন্য ম্যাক্রো এবং ফাইলটির ডাউনলোড লিংক রয়েছে।
Dim pvtTable As PivotTable
Dim cubField As CubeField
Dim i As Long
Dim cubName As String
Set pvtTable = ActiveSheet.PivotTables(1)
For Each cubField In pvtTable.CubeFields
For i = 1 To pvtTable.CubeFields.Count
With pvtTable.CubeFields(i)
If .Name = "[effRent_perBed].[Manager]" Then
.Orientation = xlColumnField
Else:
.Orientation = xlDataField
'has to be averaged
'has to have number format of ##0.00
End If
End With
Next
Next
এটি এমন একটি সম্পাদন যা আমি ম্যাক্রো রেকর্ডারের ভিত্তিতে তৈরি করার চেষ্টা করেছি। এটি ক্ষেত্রটিকে মান ক্ষেত্রগুলিতে রাখে তবে এটিকে গড়ে তোলার কোনও উপায় নেই। এটি কেবলমাত্র সমস্ত মানকে "1" হিসাবে দেখায় (একটি চাক্ষুষের জন্য চিত্রটি পরীক্ষা করুন) ।
If Name = "[effRent_perBed].[Manager]" Then
.Orientation = xlColumnField
Else:
With ActiveSheet.PivotTables(1)
.AddDataField ActiveSheet.PivotTables(1) _
CubeFields(cubName), _
"Average of " & cubName
End With
With ActiveSheet.PivotTables(1).PivotFields(cubName)
.Caption = "Average of " & cubName
.Function = xlAverage
End With
আমি যখন ডেটাফিল্ডে কিছু যুক্ত করতে ম্যাক্রো রেকর্ডার ব্যবহার করি তখন আমি এটি পাই:
ActiveSheet.PivotTables("effRent_perBed_Pivot").CubeFields.GetMeasure _
"[effRent_perBed].[Jan-16]", xlSum, "Sum of Jan-16"
ActiveSheet.PivotTables("effRent_perBed_Pivot").AddDataField ActiveSheet. _
PivotTables("effRent_perBed_Pivot").CubeFields("[Measures].[Sum of Jan-16]"), _
"Sum of Jan-16"
With ActiveSheet.PivotTables("effRent_perBed_Pivot").PivotFields( _
"[Measures].[Sum of Jan-16]")
.Caption = "Average of Jan-16"
.Function = xlAverage
End With
এটি আমি যে ফাইলটিতে কাজ করছি তার একটি অনুলিপি। এটি কাঁচা পিভট টেবিল এবং তারপরে সমাপ্ত পণ্যটি দেখায়। আমাকে 3 টি শীটের জন্য এটি করতে হবে, তাই আমাকে প্রতিটি চক্রের মধ্যে চক্র করতে হবে। https://drive.google.com/uc?export=download&id=1NLGg8DVEMHnB2Ad7NAKWySevq8naqFjr
এটি অন্যান্য ফোরামেও পোস্ট করা হয়েছে (যত তাড়াতাড়ি সম্ভব আমার এটির পক্ষে আরও বেশি নজর পাওয়া দরকার) https://www.excelforum.com/excel-programming-vba-macros/1222588-unable-to-add-cubefield- pivotfield হিসাবে একটি-ডেটা-ক্ষেত্র-ইন-vba.html # post4856940