استكمالا للمقال الأول والذى قدمنا فيه مجموعة من الأكواد الهامة والتى تساعد على العمل وكذلك التدريب فى VBA EXCEL، وهى عبارة عن 22 كود جاهز للتطبيق مع النتيجة المتوقعة من الكود يمكنكم الرجوع اليه بالضغط هنا.
سأقدم لك المزيد من أكواد VBA التي تغطي مهام مختلفة في Excel:
10 اكواد vba جاهزة
13. كود لإخفاء وإظهار أعمدة بناءً على قيمة خلية:
Sub HideShowColumns()
If Sheets("Sheet1").Range("A1").Value = "Hide" Then
Sheets("Sheet1").Columns("B").Hidden = True
Else
Sheets("Sheet1").Columns("B").Hidden = False
End If
End Sub
النتيجة المتوقعة: هذا الكود سيقوم بإخفاء العمود B في الورقة “Sheet1” إذا كانت قيمة الخلية A1 تساوي “Hide”، وسيظهر العمود إذا كانت القيمة مختلفة.
14. كود لإضافة تعليق إلى خلية:
Sub AddComment()
Dim ws As Worksheet
Set ws = Sheets("Sheet1")
With ws.Range("A1")
.ClearComments
.AddComment "هذا تعليق"
End With
End Sub
النتيجة المتوقعة: هذا الكود سيضيف تعليقًا “هذا تعليق” إلى الخلية A1 في الورقة “Sheet1”.
15. كود لإنشاء مخطط بياني:
Sub CreateChart()
Dim ws As Worksheet
Dim chartObj As ChartObject
Set ws = Sheets("Sheet1")
Set chartObj = ws.ChartObjects.Add(Left:=100, Width:=375, Top:=50, Height:=225)
With chartObj.Chart
.SetSourceData Source:=ws.Range("A1:B10")
.ChartType = xlLine
.HasTitle = True
.ChartTitle.Text = "المخطط البياني"
End With
End Sub
النتيجة المتوقعة: هذا الكود سيقوم بإنشاء مخطط بياني خطي يستند إلى البيانات في النطاق A1:B10 في الورقة “Sheet1” ويضيف عنوان “المخطط البياني”.
16. كود لحفظ ملف Excel باسم جديد:
Sub SaveAsNewFile()
Dim wb As Workbook
Set wb = ThisWorkbook
wb.SaveAs Filename:="C:\Path\NewFileName.xlsx"
End Sub
النتيجة المتوقعة: هذا الكود سيحفظ الملف الحالي باسم “NewFileName.xlsx” في المسار المحدد.
17. كود لإرسال صف محدد إلى ورقة أخرى:
Sub MoveRowToAnotherSheet()
Dim wsSource As Worksheet
Dim wsDest As Worksheet
Dim lastRow As Long
Set wsSource = Sheets("Sheet1")
Set wsDest = Sheets("Sheet2")
lastRow = wsDest.Cells(wsDest.Rows.Count, 1).End(xlUp).Row + 1
wsSource.Rows(2).Copy Destination:=wsDest.Rows(lastRow)
wsSource.Rows(2).Delete
End Sub
النتيجة المتوقعة: هذا الكود سينقل الصف الثاني من الورقة “Sheet1” إلى أول صف فارغ في الورقة “Sheet2″، ثم يحذف الصف الثاني من الورقة “Sheet1”.
18. كود لإعادة تسمية أوراق العمل بناءً على قيم الخلايا:
Sub RenameSheets()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.Range("A1").Value <> "" Then
ws.Name = ws.Range("A1").Value
End If
Next ws
End Sub
النتيجة المتوقعة: هذا الكود سيعيد تسمية كل ورقة في المصنف بناءً على قيمة الخلية A1 في كل ورقة، إذا لم تكن الخلية فارغة.
19. كود لفتح ملف محدد واستيراد بيانات:
Sub ImportDataFromAnotherFile()
Dim ws As Worksheet
Dim wbSource As Workbook
Dim wsSource As Worksheet
Set ws = Sheets("Sheet1")
Set wbSource = Workbooks.Open("C:\Path\SourceFile.xlsx")
Set wsSource = wbSource.Sheets("Sheet1")
wsSource.Range("A1:B10").Copy Destination:=ws.Range("A1")
wbSource.Close SaveChanges:=False
End Sub
النتيجة المتوقعة: هذا الكود سيقوم بفتح الملف “SourceFile.xlsx”، وينسخ البيانات من النطاق A1:B10 من الورقة “Sheet1” في الملف المصدر، ويلصقها في النطاق A1 في الورقة “Sheet1” في الملف الحالي.
20. كود لحماية ورقة عمل بكلمة مرور:
Sub ProtectSheet()
Sheets("Sheet1").Protect Password:="MyPassword", AllowFiltering:=True, AllowSorting:=True
End Sub
النتيجة المتوقعة: هذا الكود سيقوم بحماية الورقة “Sheet1” بكلمة المرور “MyPassword” مع السماح بفرز البيانات وتصفية الأعمدة.
21. كود لإنشاء قائمة منسدلة:
Sub CreateDropdownList()
Dim ws As Worksheet
Set ws = Sheets("Sheet1")
With ws.Range("B1").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="Option1,Option2,Option3"
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With
End Sub
النتيجة المتوقعة: هذا الكود سيقوم بإنشاء قائمة منسدلة في الخلية B1 في الورقة “Sheet1” تحتوي على الخيارات “Option1″، “Option2″، و”Option3”.
22. كود لتشغيل ماكرو آخر:
Sub RunAnotherMacro()
Call AnotherMacro
End Sub
Sub AnotherMacro()
MsgBox "تم تشغيل الماكرو الآخر!"
End Sub
النتيجة المتوقعة: هذا الكود سيقوم بتشغيل ماكرو آخر باسم “AnotherMacro”، والذي يعرض رسالة منبثقة “تم تشغيل الماكرو الآخر!”.
الى هنا نكون قد وصلنا إلى نهاية المقالة 10 اكواد vba جاهزة بمجموعة أكواد جديدة فى VBA.