আমি এক্সেল 2010 ব্যবহার করছি।
আমার কাছে XY স্ক্যাটার চার্টটি আমার পছন্দ মতো তৈরি এবং ফর্ম্যাট করা আছে। আমি এই চার্টটিকে অনেকবার পুনঃব্যবহার করেছি, তাই আমি কেবল চার্টটি অনুলিপি করে নতুন কার্যপত্রকটিতে নতুন ডেটা যা প্লট করতে চাই তাতে আটকান। নতুন কার্যপত্রকটিতে চার্টটি আটকানোর পরে, আমি নতুন ডেটা দিয়ে চার্টটি আপডেট করতে নিম্নলিখিত ম্যাক্রো ব্যবহার করি:
Sub DasyLabOilFDa()
Dim SeriesName As Range
Dim FirstSeriesValues As Range
Dim ElapsedTime As Range
'find cell addresses of elapsed time column
Range("C1").Select 'pick cell above the elapsed time column
Selection.End(xlDown).Select 'pick the elapsed time column header
ActiveCell.Offset(1, 0).Select 'selects first data value in Elapsed Time column
Set ElapsedTime = Range(Selection, Selection.End(xlDown)) 'set ElapsedTime variable to the range of data
'find cell addresses for FirstSeries in the top chart
Range("D1").Select 'pick cell above the first series column
Selection.End(xlDown).Select 'pick the first series column header
Set SeriesName = ActiveCell 'set SeriesName variable to the name of the data column's header
ActiveCell.Offset(1, 0).Select 'selects first data value in data column
Set FirstSeriesValues = Range(Selection, Selection.End(xlDown)) 'set FirstSeriesValues variable to the range of data
ActiveSheet.ChartObjects("TopFDa").Select
ActiveChart.SeriesCollection(1).Name = SeriesName
ActiveChart.SeriesCollection(1).Values = FirstSeriesValues
ActiveChart.SeriesCollection(1).XValues = ElapsedTime
End Sub
আমি প্লট করছি এমন একাধিক ডেটা সিরিজ রয়েছে তবে উপরেরগুলিতে আমি কার্যপত্রকের ডেটা সহ নতুন ওয়ার্কশিটে আটকানো চার্টটি কীভাবে তৈরি করতে ম্যাক্রো পাচ্ছি তা দেখানোর জন্য যথেষ্ট কোড রয়েছে।
ম্যাক্রো চলার পরে চার্টটি সঠিকভাবে সিরিজটির নামকরণ করবে 'কিংবদন্তি হিসাবে দেখা হয়েছে (সিরিজটি' নামটি ডেটা কলামের শিরোনাম দ্বারা নির্ধারিত হয়েছিল)
বিষয়টি হ'ল সিরিজের নামটি সেল ঠিকানাটি উল্লেখ করছে না। আমি যখন সিরিজটি সম্পাদনা করতে দেখছি তখন সিরিজের নাম ইনপুট বাক্সটি ফাঁকা।
আমি কীভাবে আমার কোডটি পরিবর্তন করতে পারি যাতে ফলস্বরূপ চার্টটি কলামের শিরোনামের সেল ঠিকানাটিকে সিরিজের নাম হিসাবে উল্লেখ করে?
Series.Name = TheRange.Address(, , , True)
যেখানে চতুর্থ আর্গুমেন্টে যথাযথ বিরামচিহ্নযুক্ত কার্যপত্রকের নাম সহ উপসর্গ সরবরাহ করে।