اذهب الي المحتوي
أوفيسنا

الذهاب الي اول خلية فارغة في عمود


الردود الموصى بها

وعليكم السلام ورحمة الله وبركاته ...

Sub FindFirstEmpty()

Application.ScreenUpdating = False
Cells.Select
  
  myrows = Selection.Rows.Count
  mycols = Selection.Columns.Count
  
  myrows = 1501
  mycols = 1
  
  origraw = myrows
  
ActiveCell.Select
For i = 5 To myrows - 1
   For j = 0 To mycols - 1
     If ActiveCell.Offset(i, j).FormulaR1C1 <> "" Then
       GoTo newrow
     End If
      
     
   Next
    MsgBox "Done  "
       ActiveCell.Offset(i, j).Activate
       ActiveCell.EntireRow.Select
    Exit Sub
       
       
' ActiveCell.Offset(1, 0).Activate
    '  myrows = myrows - 1
newrow:

   Application.StatusBar = " checking ...." & _
   Format(i / origraw, "0.0%") & "       Please Wait......."
   
Next i

    Application.ScreenUpdating = True
    Application.StatusBar = False
End Sub

والله الموفق :fff:

رابط هذا التعليق
شارك

السلام عليكم ,,

لدي ملاحظات علي الكود السابق وهي :

1- الكود يعمل بحث فقط في العمود الاول A والمطلوب هو عدم تقيدة بعمود او صف معين , بل تحديد العمود ثم تشغيل الماكرو .

2- يقوم الكود بتظليل كامل الصف , والمطلوب هو تحديد الخلية فقط ,

3- ظهور رالسة العداد في اسفل شريط المكتوب فيها " Please Wait

ارجو حذفها ,

وشكرا لك ,,

تم تعديل بواسطه ماجدجلال
رابط هذا التعليق
شارك

شكرا استاذ محمد علي تعليقك ,

الكود هو الخطوة الاولي في بناء ماكرو يقوم يكتابة نص في خلية فارغة في عمود , ولانني لا اعرف صيغة هذا الكود فمن اجل ذلك وضعت هذا السؤال ,

المطلوب هو تحديد عمود ثم تشغيل ماكرو يذهب الي اول خلية فارغة في ذلك العمود ويضع فية عبارة ( المجموع الكلي ) حيث ان هذة الاعمدة تمثل محموعة ارقام واريد النصوص ان تكون هي خاتمة لتلك الارقام ,

واذا كنت استطيع القيام بذلك يدويا , فهل بنفس الطريقة السابقة ان اسجل ماكرو يقوم بنقر علي الزر Ctrl + السهم السفل لاحصل علي نفس النتيجة

وشكرا ,

رابط هذا التعليق
شارك

السلام عليكم ...

توجد هذه الطريقة (تستطيع الاستفادة منها عن طريق تسجيل مايكرو) .

و توجد طريقة أخرى و هي فعالة ، و لكن مشكلتها أنها تخبرك بآخر سطر موجدة في الجدول بأكمله (و ليس بعامود منه) .

إذا كانت الطريقة الثانية تنفعك فأخبرني لأشرحها لك .

رابط هذا التعليق
شارك

السلام عليكم ...

الطريقة تعتمد على الأسلوب CurrentRegion ، و هذا الأسلوب يرجع مجال الخلايا المتصلة .

جرب الكود التالي :

Sub MoveDown()
    ActiveSheet.Cells(ActiveCell.CurrentRegion.Rows.Count + 1, ActiveCell.Column).Select
End Sub

الكود السابق يقوم بتحديد الخلية الموجودة في نهاية كتلة البيانات المتصلة و في عامود الخلية النشطة .

يمكنك تحديد كتلة البيانات المرغوبة عن طريق تنشيط خلية ضمن هذه الكتلة .

تم تعديل بواسطه محمد حجازي
رابط هذا التعليق
شارك

السلام عليكم ...

الطريقة تعتمد على الأسلوب CurrentRegion ، و هذا الأسلوب يرجع مجال الخلايا المتصلة .

جرب الكود التالي :

Sub MoveDown()<!--QuoteEBegin-->    ActiveSheet.Cells(ActiveCell.CurrentRegion.Rows.Count + 1, ActiveCell.Column).Select<!--QuoteEBegin-->End Sub

الكود السابق يقوم بتحديد الخلية الموجودة في نهاية كتلة البيانات المتصلة و في عامود الخلية النشطة .

يمكنك تحديد كتلة البيانات المرغوبة عن طريق تنشيط خلية ضمن هذه الكتلة .

<{POST_SNAPBACK}>

شكرا لك جدا أستاذ حجازي على هذه المعلومة

وجزاء الله كل خير

رابط هذا التعليق
شارك

زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information