اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

طلب تعديل على كود ترحيل بيانات


wissamkh

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

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

لدي هذا الكود لترحيل بيانات من خلية الى خلية اخرى

وأستعمله لعدة خلايا

أريد تعديل الكود أنه بحال كانت خلية من الخلايا المرحلة فارغة يتم تعبئتها تلقائيا بأي نص

حتى لا تتداخل بيانات الاسطر في الترحيل التالي.

يوجد ملف مرفق لشرح المقصود

وشكرا لكم 

 

Book1.xlsm

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

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

استخدم هذا الكود بدلا من الكود المدرج بالملف

Sub settle2()
Dim LR As Long
LR = Sheets("Sheet1").Range("C" & Rows.Count).End(xlUp).Row
Range("K6:P6").Copy
Sheets("Sheet1").Range("C" & LR + 1).PasteSpecial xlPasteValues
Application.CutCopyMode = False
End Sub

 

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

الكود طويل جداً و يحتوي على أكثر من مـرة SELECT & COPY & PASTE  هذا الاوامر ترهق الاكسل ولا لزوم لاستعمالها الا عند الضرورة

اليك هذا الكود البسبط

 

Option Explicit
Sub copy_data()
If ActiveSheet.Name <> "Sheet1" Then Exit Sub

 Dim R%, R1%
 R = Cells(Rows.Count, 3).End(3).Row + 1
 R1 = Range("K5", Range("K4").End(4)).Resize(, 6).Rows.Count
 
 Cells(R, 3).Resize(R1, 6).Value = _
 Range("K5", Range("K4").End(4)).Resize(, 6).Value
 Cells(R, 3).Resize(R1, 6).SpecialCells(4) = "EMPTY CELL"

End Sub

الملف مرفق

فقط اضغط الزر للتنفيذ

 

 

Samer Book.xlsm

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

شكرا لكم أخواني الاعزاء على المساعدة.

لاحظت في الملف المرفق أخي سليم أن الكود هو يبدأ من خلية و بعدها 6 خلايا متتالية.

أنا الملف الذي أعمل عليه، الخلاية المخصصة للترحيل ليست متتالية، يعني مثلا ممكن أن تكون الخلايا هكذا (c4,d12,e5,k16)

هل يمكن تحديد الشرط لكل خلية على حدة.

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

الملف الذي أرسلته معقد جداً

لذا قمت بوضع ملف جديد مشابه لما تريد

البيانات في الشيت 1 و النتيجة في الشيت2

الكود

Option Explicit

Sub eXtract_Data()
Dim s_rg As Range
Dim first$
Dim r%, c%, x
r = 1: c = 1
Sheets("Sheet2").Range("a1").CurrentRegion.ClearContents
Set s_rg = Sheets("Sheet1").Range("My_Rg").Find("*", _
after:=Sheets("Sheet1").Range("My_Rg").Cells(1, 1))
 If Not s_rg Is Nothing Then
  first = s_rg.Address
  
  Do
    Sheet2.Cells(r, c) = s_rg.Value
    c = c + 1
    If c = 9 Then
     r = r + 1: c = 1
     End If
     Set s_rg = Sheets("Sheet1").Range("My_Rg").FindNext(s_rg)
     If s_rg.Address = first Then Exit Do
   Loop

End If

End Sub

الملف مرفق

 

saerch_and_copy.xlsm

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

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