আমার এক্সেল ফাইলের মুদ্রণ অঞ্চলে আকারগুলি রাখার জন্য আমার কাছে একটি ম্যাক্রো রয়েছে have ব্রিফলি, এটি করার জন্য আমি নির্বাচিত আকারগুলির প্রস্থ ( Application.Selection
) ব্যবহার করি এবং মুদ্রণ ক্ষেত্রের প্রস্থ থেকে এটি সরিয়ে রাখি তারপরে এটি মোট নির্বাচিত আকারগুলিতে বিভক্ত করব।
এটি সময়ের 97% কাজ করে। 3% এটি কাজ করে না কারণ এক্সেলটি মনে হয় সঠিক আকারের ডাইমসনটি পাওয়া যায় না। প্রস্থটি ≈50% দ্বারা বন্ধ রয়েছে।
সুতরাং আমি ভাবছি কীভাবে এবং কেন এটি ঘটে? এটি এলোমেলো মনে হয় যদিও এটি ঘটে তবে এটি তখনই ঘটে যখন একাধিক আকৃতি নির্বাচন করা হয়। যদি আমি স্ক্রিপ্টটি শুধুমাত্র সমস্যাযুক্ত আকার নির্বাচন করে চালিত করি তবে মাত্রা ঠিক আছে।
এটি অন্য কারও সাথে কী ঘটেছিল এবং কীভাবে এটি সংশোধন করা যায়?
- এখানে এক্সেলের আকারের আকার রয়েছে:
এই মাত্রাগুলি থেকে এবং জেনে রাখা যে এক্সেল ভিবিএর আকারগুলি পয়েন্টগুলিতে রয়েছে তারা উচ্চতা ≈ 92.41 এবং প্রস্থ 191.91 এ অনুবাদ করবে।
- দুটি আকার নির্বাচন করা হলে (সংগ্রহের মধ্যে সংরক্ষণ করা হয় collShp
) আমি ভিবিএ থেকে যে আকারটি পেয়েছি তা এখানে :
- কেবলমাত্র সমস্যাযুক্ত আকারগুলি নির্বাচন করা হলে এখানে:
+++ কিছু কোড যুক্ত করতে সম্পাদিত: +++ আকারগুলির সাথে বিশৃঙ্খলাবদ্ধ কোডটির অংশ এখানে। দেখে মনে হচ্ছে এটি এলোমেলো কারণ আমি কেবল একই ফাইলটি খুললাম এবং মাপগুলি এখন ঠিক আছে ... আকারগুলি সরল স্ক্রিন শট যা "প্রিন্টস্ক্রিনড" এর মতো এবং সরাসরি এক্সেল ফাইলটিতে আটকানো হয়।
Sub centerShapeCompressed()
If VarType(Application.Selection) <> 9 Then Exit Sub 'Type "9" is type "Object"
Dim shp As Object
Dim xlapp As Application
Set xlapp = Excel.Application
On Error Resume Next
Debug.Print Application.Selection.Count 'if "Selection" contains less than 2 -> throws an error
If Err.Number = 0 Then 'If Selection.Count > 1
On Error GoTo 0
Dim collShp As Collection
Set collShp = New Collection
For Each shp In Application.Selection
collShp.Add shp, shp.Name
Next shp
Else
Set shp = Application.Selection
End If
End Sub