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

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

قام بنشر

السلام عليكم 

اريد كود  يرحل البيانات  فاتورة من ورقة  لاخرى  بشرط  تجاهل  الصفوف  الفارغة  التي  تبدا  من A22 : A42  في حالة ان  هذه الخلايا فارغة  

1‬.xlsx

قام بنشر

استبدل اسماء الشيتات (لسهولة نسخ الكود ولصقه الافضل استعمال اللغة الاجنبية في تسمية الصفحات)

شيت المصدر الى SOURCE_SH

شيت الهدف الى TARGET_SH

ونفذ هذا الكود

Option Explicit
Sub tranfere_data()
Dim S As Worksheet, T As Worksheet
Dim RGG5S As Range, RGB11S As Range, RGAS As Range
Dim r%, x1%, x2%
Set S = Sheets("SOURCE_SH"): Set T = Sheets("TARGET_SH")
Set RGG5S = S.Range("G5").Resize(5)
Set RGB11S = S.Range("B11").Resize(4)
 With T
  .Range("G6").Resize(5).ClearContents
  .Range("B12").Resize(4).ClearContents
  .Range("a18").Resize(18, 7).ClearContents
 End With
x1 = Application.CountA(RGG5S)
x2 = Application.CountA(RGB11S)

If x1 + x2 <> 9 Then
    MsgBox "Insufficient data in SOURCE_SH" & Chr(10) & _
    RGG5S.Address & Chr(10) & "OR" & Chr(10) & _
    RGB11S.Address
Exit Sub
End If
Set RGAS = S.Range("A21").CurrentRegion.Columns(1)
r = Application.CountA(RGAS)
If r = 1 Then
 MsgBox "No data in SOURCE_SH to transfere"
Exit Sub
End If
Set RGAS = S.Range("a22").Resize(r - 1, 7)
 With T
 .Range("G6").Resize(5).Value = RGG5S.Value
 .Range("B12").Resize(4).Value = RGB11S.Value
 .Range("A18").Resize(RGAS.Rows.Count, RGAS.Columns.Count).Value = RGAS.Value
 End With

End Sub

الملف مرفق

 

Transfer_data_.xlsm

  • تمت الإجابة
قام بنشر

تم التعديل على الماكرو كما تريد

Option Explicit
Sub tranfere_data()
Dim S As Worksheet, T As Worksheet
Dim RGG5S As Range, RGB11S As Range, RGAS As Range
Dim r%, x1%, x2%
Set S = Sheets("SOURCE_SH"): Set T = Sheets("TARGET_SH")
Set RGG5S = S.Range("G5").Resize(5)
Set RGB11S = S.Range("B11").Resize(4)
 With T
  .Range("G6").Resize(5).ClearContents
  .Range("B12").Resize(4).ClearContents
  .Range("a18").Resize(18, 7).ClearContents
  .Rows.Hidden = False
 End With
x1 = Application.CountA(RGG5S)
x2 = Application.CountA(RGB11S)

If x1 + x2 <> 9 Then
    MsgBox "Insufficient data in SOURCE_SH" & Chr(10) & _
    RGG5S.Address & Chr(10) & "OR" & Chr(10) & _
    RGB11S.Address
Exit Sub
End If
Set RGAS = S.Range("A21").CurrentRegion.Columns(1)
r = Application.CountA(RGAS)
If r = 1 Then
 MsgBox "No data in SOURCE_SH to transfere"
Exit Sub
End If
Set RGAS = S.Range("a22").Resize(r - 1, 7)
 With T
 .Range("G6").Resize(5).Value = RGG5S.Value
 .Range("B12").Resize(4).Value = RGB11S.Value
 .Range("A18").Resize(RGAS.Rows.Count, RGAS.Columns.Count).Value = RGAS.Value
 .Range("A18:A35").SpecialCells(4).EntireRow.Hidden = True
 End With

End Sub

 

  • Like 1

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

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

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

Important Information