سلام!
برای پیدا کردن فردی که بیشترین نمره در درس فیزیک را دارد و همچنین نمایش دیگر نمرات آن، میتوانید از ماکرو در نرمافزار اکسل استفاده کنید. در ادامه مراحل لازم را برای نوشتن کد ماکرو توضیح میدهم:
مراحل نوشتن ماکرو
باز کردن ویرایشگر ماکرو:
- به تب "Developer" (توسعه دهنده) بروید. اگر این تب نمایش داده نمیشود، میتوانید آن را از تنظیمات فعال کنید.
- روی "Visual Basic" کلیک کنید.
ایجاد یک ماژول جدید:
- در ویرایشگر Visual Basic، روی "Insert" کلیک کنید و سپس "Module" را انتخاب کنید.
نوشتن کد ماکرو:
- در ماژول جدید، کد زیر را وارد کنید:
`
vba
Sub FindMaxPhysicsScore()
Dim ws As Worksheet
Dim maxScore As Double
Dim i As Long
Dim resultRow As Long
Dim found As Boolean
Dim outputSheet As Worksheet
Set ws = ThisWorkbook.Sheets("نام شیت شما") ' نام شیت اصلی را جایگزین کنید
Set outputSheet = ThisWorkbook.Sheets.Add ' ایجاد یک شیت جدید برای نتایج
outputSheet.Name = "نتایج"
maxScore = Application.WorksheetFunction.Max(ws.Range("B:B")) ' فرض بر این است که نمرات فیزیک در ستون B هستند
resultRow = 2 ' شروع از ردیف دوم برای نتایج
outputSheet.Cells(1, 1).Value = "نام"
outputSheet.Cells(1, 2).Value = "نام خانوادگی"
outputSheet.Cells(1, 3).Value = "نمره فیزیک"
outputSheet.Cells(1, 4).Value = "نمرات دیگر" ' برای نمرات دیگر میتوانید ستونهای مختلف اضافه کنید
found = False
For i = 2 To ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
If ws.Cells(i, 2).Value = maxScore Then ' بررسی نمره بیشینه فیزیک
outputSheet.Cells(resultRow, 1).Value = ws.Cells(i, 1).Value ' نام
outputSheet.Cells(resultRow, 2).Value = ws.Cells(i, 2).Value ' نام خانوادگی
outputSheet.Cells(resultRow, 3).Value = maxScore ' نمره فیزیک
outputSheet.Cells(resultRow, 4).Value = ws.Cells(i, 3).Value ' فرض بر این است که نمرات دیگر در ستونهای بعد قرار دارند
resultRow = resultRow + 1
found = True
End If
Next i
If Not found Then
MsgBox "هیچ نمره ای با این شدت پیدا نشد!"
End If
End Sub
`
اجرا کردن ماکرو:
- بعد از نوشتن کد، بر روی دکمه "Run" در نوار ابزار کلیک کنید یا از کلید F5 استفاده کنید.
نکات مهم:
- نام شیت حاوی نمرات را در قسمت
Set ws = ThisWorkbook.Sheets("نام شیت شما")
وارد کنید.
- به جای
Columns("B:B")
میتوانید ستونهایی که نمرات دیگر در آن قرار دارند را نیز تغییر دهید.
نتیجهگیری:
بعد از اجرای ماکرو، یک شیت جدید ایجاد میشود که نام و نام خانوادگی افرادی که بیشترین نمره فیزیک را دارند به همراه نمرات دیگر آنها در آن ثبت شده است.