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

استفسار عن سطر الكود الذى يحدد أول خلية فارغة فى عمود ( عنوان معدل )


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

تحية طيبة وبعد

في موضعو إدخال البيانات عن طريق فورم ورد هذا السطر في أحد دروسكم الكريمة لتحديد أخر سطر فارغ من الشيت لإدخال البيانات الجديدة إليه ورغم شرحكم الوافي إلا أنى لم أستطع فهم هذا السطر

iRow = ws.Cells(Rows.Count, 1) _

  .End(xlUp).Offset(1, 0).Row

فمثلا معنى Rows.Count ومعنى End(xlUp) ومعنى Offset ومعن كتابة Row بأخر السطر ولماذا تم قسمة السطر وهل يمكن كتابة السطر كامل وفي هذه الحالة نحذف الأتدر سكور؟

هل في طريقة أخري تعادل هذا السطر قي العمل؟

أكرر شكرى لكم على حلمكم وسعة صدركم

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

استاذى الحبيب 

السطر المذكور غير واضح لا بد من ارفاق الملف حتى يتثنى لنا شرح ما تريد

ولكن على حسب ما فهمت من سؤالك 

Dim lr As Range
set lr= Sheet1.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)

مثال أنا عندى بيانات ممتلئه بالخلايا A1:A5  وعايز البيانات الجديده تنزل فى الخلية a6  فلازم اعرف اخر سطر به بيانات وهو a5  ثم اضيف له 1 لنصل الى A6 

هنا LR  هى متغير وقلنا انه يساوى (Sheet1.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0  (وذالك حتى يتم كتابة LR فىما بعد بالكود بدلا من الجمله دى كلها (Sheet1.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0

اول جزئية وهى 

(Cells(Rows.Count, 1

cells   تعنى الخليه واى خلية عند قرائتها لابد من اسم العمود ورقم الصف 

مثلا A1   تعنى الخلية اللى موجوده بالعمود A  والصف 1 

فى الكود انا عايز اشير الى اخر خليه بها بيانات  فتنسيق كتابة الخليه كالتالى (العمود,الصف) Cells لذالك كتبنا (Cells(Rows.Count, 1

هنا رقم الصف غير معروف فقلنا بالكود Rows.Count اى عمل احصاء لعدد الخلايا الممتلئه بالبيانات فى العمود  وطبعا العدد هيكون 5 

 

العمود هو رقم 1 وممكن يكتب هكذا "A"  اسم العمود داخل علامات تنصيص  ( اذن هناك خيارين كتابة رقم العمود مثل 1 أو كتابة اسم العمود مثل "A" )

النتيجة طبقا للسابق هى (5,1) Cells  ( يعنى الخلية الموجوده بالصف 5 والعمود 1 ) وهى A5 

طيب انا بلف دا كله علشان اوصل الى الخلية A5 ليه علشان اقول له هى اخر خليه بها بيانات فنقوم باضافه (End(xlUp.

Cells(Rows.Count, 1).End(xlUp)

طيب دلوقتى الكود فهم ان اخر خليه بها بيانات هى A5   أنا بقى عايز انزل البيانات الجديده بالخلية A6   فبقوم بأضافه (Offset(1, 0.

(Offset(1, 0. يعنى من الخلية A5  تحرك بمقدار صف واحد ونفس العمود وهو بمثالنا A   وبكدا الكود هيوصل الى الخلية A6 

 

 السطر هيكون كدا

Dim lr As Range
set lr= Sheet1.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)

اتمنى اكون وفقت بالشرح وهى استفسار انا تحت امرك

تقبل تحياتى

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

متألق كعادتك دائماً أخي في الله حسام عيسى

لا أرى لك الكثير من المشاركات ولكن أرى إبداعات في المشاركة الواحدة

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

أخي العزيز الصقر،

سعدت جدا بردك جزاك الله كل خير ووقد أسعدني وجود أخي وصديقى أبو البراء فقد نور الصفحة وبالصدفة أنا أقرأ موضوع له أسمه"افتح الباب واخل ... " وهو موضوع أكثر من رائع وأتمنى أن أرى موضوع مماثل لأخى الصقر الذي أرجو أن يسمح لى بصاقته

أخيرا الشكر لا يكفى ولكن الجزاء من الله :smile: 

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

استاذى الحبيب ابو البراء هذا ما تعلمته منكم وما العبد الا قطره فى بحر علمكم جزاكم الله خيرا واكون ممنون لك باى اضافه 

استاذى الحبيب رؤوف يشرفنى صداقتك واسعد بها  وبخصوص موضوعات الشرح ارى ان الاخ والحبيب الغالى ياسر مش مقصر بصراحه فيديوهات تلاقى كتابة تلاقى 

تقبلوا تحياتى  :fff:  :fff:  :fff: 

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information