اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
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

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