قبلا در مطلبی در مورد روشهای استخراج دادهها از نمودارهای موجود در کتابها و مقالات توضیح داده شد. اما گاهی از اوقات ممکن است بخواهید دادههای یک نمودار اکسل را استخراج کنید. در واقع یک نمودار دارید که بوسیله اکسل رسم شده است، اما پس از کپی آن درون فایل ورد به دادههای اصلی آن دسترسی ندارید. در این حالت یا باید یک تصویر از نمودار تهیه کنید و بوسیله روش قبل دادهها را استخراج کنید یا اینکه با استفاده از روشی که در ادامه گفته شده است اینکار را انجام دهید.
روشی که میخواهیم از آن استفاده کنیم کدنویسی ماکرو در اکسل است. بدین منظور مراحل زیر را طی کنید:
۱- یک شیت جدید ایجاد کنید و نام آن را به ChartData تغییر دهید. مشابه تصویر زیر:
۲- سپس نمودار مورد نظر را انتخاب کنید و برای ساخت ماکرو کلیدهای Alt + F11 را فشار دهید تا پنجره Microsoft Visual Basic ظاهر شود. در این پنجره از تب Insert گزینه Module را انتخاب نمائید.
۳- در پنجره جدید باز شده کدهای زیر را کپی کنید.
Sub GetChartValues() 'pctarfand.ir & tarfandha.blog.ir' Dim xNum As Integer Dim xSeries As Object xCount = 2 xNum = UBound(Application.ActiveChart.SeriesCollection(1).Values) Application.Worksheets("ChartData").Cells(1, 1) = "X Values" With Application.Worksheets("ChartData") .Range(.Cells(2, 1), _ .Cells(xNum + 1, 1)) = _ Application.Transpose(ActiveChart.SeriesCollection(1).XValues) End With For Each xSeries In Application.ActiveChart.SeriesCollection Application.Worksheets("ChartData").Cells(1, xCount) = xSeries.Name With Application.Worksheets("ChartData") .Range(.Cells(2, xCount), _ .Cells(xNum + 1, xCount)) = _ Application.WorksheetFunction.Transpose(xSeries.Values) End With xCount = xCount + 1 Next End Sub
۴- سپس دکمه یا کلید F5 را فشار دهید تا کد اجرا شود.
در پایان خواهید دید که دادهها در شیت ChartData استخراج شدهاند.