صباح الخيرات ع الجميع ..
انا طلبت مساعدة من المنتدى في ترحيل او استدعاء البيانات من Sheet إلى آخر .
ورفعت ملف كمثال .. فجاء الأستاذ الفاضبل المحترم النبيل الشهم ( سليم حاصبيا )
وقدّم لي المساعدة .. فشكرته ودعيت له بالزيادة في العلم ..
ولكن اكتشفت أنّ ضمن الكود VBa الذي ساعدني به ..
أمر يمسح كل ما بعد آخر عمود من البيانات المستدعاة ..
كل شئ من محتويات بياناتي ومعادلاتي
وبعد عدة محاولات اكتشفت حل بسيط .. هو أن أضيف عمود فارغ بعد آخر عمود من البيانات المستدعاة
ولكني قررت أن أدرس أوامر الكود الذي ساعدني به .. كلمةً كلمةً وسطرًا سطرًا ..
وقضيت يوم الخميس وليلته في ذلك .. إلى أن اكتشفت مالذي كان يمسح بياناتي ومعادلاتي ..
وهو الجزء الأخير (.ClearContents) آخر السطر السابع ..
وقمت بحذفه هو والعمود الفارغ الذي اضفته سابقًا لتفادي المشكلة ..
وأكملت عملي بعدها بإضافة بياناتي ومعادلاتي وبعض الدوال ..
وأكملت عمل الملف ... وقدّمته لمديري قبل أقل من ساعة ..
فشكرني وأثنى عليّ .. ولله الحمد والفضل والمنـّـة
و هذا هو الكود الذي ساعدني به :
Sub Get_data()
Application.ScreenUpdating = False
Dim s_rg As Range
Dim Cret As Range
Set s_rg = Sheets("Source").Range("A1").CurrentRegion
Set Cret = Sheets("Salim").Range("H1")
Sheets("Salim").Range("A3").CurrentRegion.ClearContents
s_rg.AutoFilter 2, Cret
s_rg.SpecialCells(12).Copy
Sheets("Salim").Range("A3").PasteSpecial
If Sheets("Source").AutoFilterMode Then
Sheets("Source").Range("A1").AutoFilter
End If
With Sheets("Salim").Range("A3").CurrentRegion
.Value = .Value
.Cells(1, 1).Select
End With
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
شكرا مرة أخرى يا أستاذنا الفاضل ( سليم حاصبيا )..
واسأل الله أن يرزقك على مقدار نيـّـتك ..
فعلى نيـّاتكم تـُرزقون ، تأكيدًا لقوله صلى الله عليه وسلم: «نيّة المؤمن أبلغ من عمله».