مایکل میتواند برخی از سلولها را در یک کاربرگ انتخاب کند و نوار وظیفه (در پایین کاربرگ) تجزیه و تحلیل سلولهای انتخابشده را نشان میدهد - چیزهایی مانند مجموع یا میانگین سلولها. مایکل به این فکر می کند که آیا راهی برای کپی کردن یک مقدار از نوار وظیفه در کلیپ بورد وجود دارد تا بتواند آن مقدار را در جای دیگری از کاربرگ جایگذاری کند.
پاسخ کوتاه منفی است، هیچ راهی برای دسترسی به اطلاعات موجود در نوار وظیفه وجود ندارد. همانطور که گفته شد، چند روش وجود دارد که می توانید از آنها برای ایجاد مجدد اطلاعات استفاده کنید تا بتوانید به آنها دسترسی داشته باشید.
اولین راه حل شامل استفاده از ماکرو نیست، اما ممکن است آن را کمی بیش از حد در نظر بگیرید. (چه کسی گفته است که نمی توانید با بازوکا در اکسل به یک پشه شلیک کنید؟) این رویکرد شامل استفاده از ابزار تجزیه و تحلیل داده ها است. این ابزار با استفاده از یک افزونه پیاده سازی می شود. شما می توانید با نگاه کردن به برگه Data روبان که در سمت راست ابزار تجزیه و تحلیل داده ها را مشاهده کنید، متوجه شوید که آیا آن بر روی سیستم شما فعال است یا خیر. اگر آن را نمی بینید، این مراحل را دنبال کنید:

شکل 1. کادر محاوره ای Add-Ins.
- کادر محاوره ای Excel Options را نمایش دهید. (در اکسل 2007 روی دکمه آفیس کلیک کنید و سپس روی گزینههای Excel کلیک کنید. در اکسل 2010 و نسخههای بعدی، تب File را در نوار نمایش داده و سپس روی گزینهها کلیک کنید.)
- در سمت چپ کادر گفتگو روی Add-Ins کلیک کنید.
- در پایین کادر محاوره ای از لیست کشویی Manage برای انتخاب افزونه های Excel استفاده کنید.
- روی دکمه Go کلیک کنید. اکسل کادر محاوره ای Add-Ins را نمایش می دهد. (شکل 1 را ببینید.)
- کادر کنار Analysis ToolPak را انتخاب کنید.
- روی OK کلیک کنید.
با فعال شدن افزونه Data Analysis، سلول هایی را که می خواهید تجزیه و تحلیل کنید انتخاب کنید. طبق معمول باید آمار خود را در نوار وظیفه مشاهده کنید. حالا تب Data روبان را نمایش داده و بر روی ابزار Data Analysis کلیک کنید. اکسل کادر محاوره ای تجزیه و تحلیل داده را نمایش می دهد. (شکل 2 را ببینید.)

شکل 2. کادر محاوره ای تجزیه و تحلیل داده ها.
این کادر محاورهای کاری انجام نمیدهد به جز فهرست کردن تعداد زیادی تحلیل مختلف که میتوانید انجام دهید. می خواهید گزینه Descriptive Statistics را انتخاب کنید و سپس روی OK کلیک کنید. سپس اکسل کادر محاوره ای Descriptive Statistics را نمایش می دهد. (شکل 3 را ببینید.)

شکل 3. کادر محاوره ای آمار توصیفی.
اگر سلولهایی که میخواهید آنالیز کنید قبلاً در کادر Input Range ذکر نشدهاند، یک بار در آن کادر کلیک کنید و سپس سلولهای کاربرگ را انتخاب کنید. سپس، در نزدیکی پایین کادر محاورهای، روی کادر چک خلاصه آمار کلیک کنید. وقتی روی OK کلیک میکنید، اکسل یک کاربرگ جدید ایجاد میکند که حاوی تمام آمار (و بیشتر) است که ممکن است در نوار وظیفه نمایش داده شود. سپس می توانید هر یک از اینها را به دلخواه در کاربرگ خود کپی کنید و پس از اتمام کار کاربرگ اضافه شده را حذف کنید.
(ببینید - من به شما گفتم که ممکن است بیش از حد باشد.)
اگر مشکلی برای استفاده از ماکرو ندارید، می توانید یک تابع تعریف شده توسط کاربر ایجاد کنید که اطلاعات مورد نظر را بازگرداند. موارد زیر قابل استفاده است:
Function Stats(R As Range, Op As String) As Long
Dim sTemp As String
Dim c As Range
Dim sOp As String
Stats = 0
On Error GoTo Done
sOp = UCASE(Op)
Select Case sOp
Case "AVG"
Stats = WorksheetFunction.Average(R)
Case "CNT"
For Each c In R
If Not IsEmpty(c.Value) Then Stats = Stats + 1
Next c
Case "MIN"
Stats = WorksheetFunction.Min(R)
Case "MAX"
Stats = WorksheetFunction.Max(R)
Case "SUM"
Stats = WorksheetFunction.Sum(R)
Case Else
sTemp = "This function requires two parameters. "
sTemp = sTemp & "The first is the cells you want evaulated. "
sTemp = sTemp & "The second is the operation you want "
sTemp = sTemp & "performed. You can use the following "
sTemp = sTemp & "operations:" & vbCrLf & vbCrLf
sTemp = sTemp & " * AVG (average)" & vbCrLf
sTemp = sTemp & " * CNT (count of cells with values)" & vbCrLf
sTemp = sTemp & " * MIN (minimum)" & vbCrLf
sTemp = sTemp & " * MAX (maximum)" & vbCrLf
sTemp = sTemp & " * SUM (sum)" & vbCrLf
MsgBox sTemp
End Select
Done:
End Function
برای استفاده از تابع، کافی است چیزی شبیه به زیر را در یک سلول وارد کنید:
=Stats(B3:B7, "Min")
با نگاه کردن به ماکرو می توانید کدهای عملیاتی مختلفی را که می توان از طریق پارامتر دوم به تابع منتقل کرد، کشف کرد. عملکرد تعریف شده توسط کاربر، در نوع خود، کمی بیش از حد به نظر می رسد. چرا؟ زیرا می توانید به سادگی از فرمول های معمولی برای به دست آوردن اطلاعات مورد نظر استفاده کنید:
=MIN(B3:B7)
در عوض، ممکن است بخواهید یک ماکرو ایجاد کنید که به یک کلید میانبر گره خورده است. سپس میتوان از آن با هر سلولی که انتخاب شده است استفاده کرد تا اطلاعات مورد نظر را در کلیپ بورد قرار دهد:
Sub StatClip()
Dim sTemp As String
Dim R As Range
Dim f As Variant
Dim obj As New DataObject
Set R = Selection
Set f = Application.WorksheetFunction
sTemp = "Address:" & vbTab & R.Address & vbCrLf
sTemp = sTemp & "Average:" & vbTab & f.Average(R) & vbCrLf
sTemp = sTemp & "Count: " & vbTab & f.Count(R) & vbCrLf
sTemp = sTemp & "Min: " & vbTab & f.Min(R) & vbCrLf
sTemp = sTemp & "Max: " & vbTab & f.Max(R) & vbCrLf
sTemp = sTemp & "Sum: " & vbTab & f.Sum(R) & vbCrLF
obj.SetText sTemp
obj.PutInClipboard
End Sub
به یاد داشته باشید که می خواهید این ماکرو را به یک میانبر صفحه کلید اختصاص دهید. به این ترتیب می توانید آن را فراخوانی کنید (با استفاده از میانبر) در حالی که تعدادی سلول در کاربرگ خود انتخاب کرده اید. اگر هنگام اجرای ماکرو با خطا مواجه شدید، بدون شک کتابخانه شیء Microsoft Forms 2.0 را برای پروژه خود فعال نکرده اید. شما می خواهید در ویرایشگر VBA، Tools | را انتخاب کنید مراجع برای فعال کردن کتابخانه مورد نیاز.
وقتی ماکرو را فراخوانی میکنید، به نظر میرسد که هیچ اتفاقی نمیافتد. این طبیعی است؛ به یاد داشته باشید که اطلاعات در کلیپ بورد قرار می گیرد. پس از اجرای ماکرو، باید سلول دیگری را انتخاب کنید و سپس Ctrl+V را فشار دهید تا آن محتویات Clipboard در کاربرگ خود جایگذاری شود.