البرمجة

نقل الكلمات التي تبدأ بـ Acc في Excel VBA

لتحقيق هذه الوظيفة في VBA، يمكنك استخدام الكود التالي:

vba
Sub CopyWordsStartingWithAcc() Dim ws As Worksheet Dim lastRow As Long, i As Long, j As Long ' Set the worksheet Set ws = ThisWorkbook.Sheets("Sheet1") ' تأكد من استبدال "Sheet1" باسم ورقة العمل الصحيحة ' Find the last row with data in column A lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' Initialize j to start copying into column B j = 2 ' Loop through each row in column A For i = 2 To lastRow ' Check if the cell in column A starts with "Acc" If Left(ws.Cells(i, 1).Value, 3) = "Acc" Then ' Copy the value to column B ws.Cells(j, 2).Value = ws.Cells(i, 1).Value j = j + 1 ' Check if the next row does not start with "Acc" If Left(ws.Cells(i + 1, 1).Value, 3) <> "Acc" Then ' Copy the value above ws.Cells(j, 2).Value = ws.Cells(j - 1, 2).Value j = j + 1 End If End If Next i End Sub

يرجى ملاحظة أن هذا الكود يفترض أن البيانات تبدأ من الصف الثاني والعملية تتوقف عندما يكون الخلية في العمود A فارغة. كما يجب استبدال “Sheet1” بالاسم الصحيح لورقة العمل التي تعمل عليها.

المزيد من المعلومات

بالطبع، هنا بعض المعلومات الإضافية حول الكود:

  1. الكود يستخدم الدالة Left لفحص ما إذا كانت الكلمة التي تبدأ في الخلية في العمود A تبدأ بـ “Acc”.
  2. إذا وجدت كلمة تبدأ بـ “Acc” في الخلية في العمود A، يتم نقل هذه الكلمة إلى العمود B في الصف المحدد بمتغير j.
  3. إذا كانت الكلمة التالية في الصف التالي لا تبدأ بـ “Acc”، يتم نسخ الكلمة الموجودة في الخلية السابقة في العمود B إلى الصف التالي.
  4. تستمر هذه العملية حتى يتم الوصول إلى خلية فارغة في العمود A.

يرجى تعديل اسم الورقة (Sheet1) إذا كان اسم الورقة الذي تعمل عليها مختلفًا.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر