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

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

قام بنشر (معدل)

السلام عليكم

هذا الملف لاخونا العزيز عبدالله باقشير

يحتوى على كود ترحيل الى صفحات عده 

لكنه يرحل الى اخر صف به بيانات فى اى صفحه 

المطلوب ان يقوم الكود بحذف البيانات من الصفحه المرحل اليها

وترحيل البيانات من جديد المسجله فى صفحة ترحيل

ترحيل الى عدة صفحات 2.rar

تم تعديل بواسطه احمد حبيبه
قام بنشر

حرب هذا الكود

Option Explicit
Sub give_data()
If ActiveSheet.Name <> "الترحيل" Then GoTo Exit_Me
    With Application
     .ScreenUpdating = False
     .Calculation = xlCalculationManual
    End With
    Dim T_sh As Worksheet
    Dim My_Table As Range: Set My_Table = sheets("الترحيل").Range("c4").CurrentRegion
For Each T_sh In Worksheets
  If T_sh.Name <> "الترحيل" Then
    With T_sh
       .Range("b4").CurrentRegion.Clear
       .Range("h1") = "اسم الحساب"
       .Range("h2") = .Name
        My_Table.AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=.Range("H1:H2"), _
        CopyToRange:=.Range("B4:f4")
        .Columns("b:f").AutoFit
       .Range("H1:H2").Clear
    End With
  End If
Next
Exit_Me:
With Application
     .ScreenUpdating = True
     .Calculation = xlCalculationAutomatic
    End With
End Sub

ولا ادري ما سبب ضخامة هذا الملف (حوالي 3 ميغا)

الملف مرفق

ترحيلsalim11.rar

قام بنشر

ربما يكون هذا الكود

   تم اضافة الكود   verification   للتأكد من وجود الشيت

Option Explicit
Dim x%, t As Boolean
'========================================
Sub give_data_old_code()
If ActiveSheet.Name <> "الترحيل" Then GoTo Exit_Me
    With Application
     .ScreenUpdating = False
     .Calculation = xlCalculationManual
    End With
    Dim my_sht As Worksheet
    Dim my_str$
    Dim Source_Sheet As Worksheet: Set Source_Sheet = Sheets("الترحيل")
    Dim T_sh As Worksheet
    Dim My_Table As Range: Set My_Table = Source_Sheet.Range("c4").CurrentRegion
    Dim nRow%: nRow = My_Table.Rows.Count + 3
    Dim I%, laste_row%
    
    For Each T_sh In Worksheets
     If T_sh.Name <> Source_Sheet.Name Then
          Range(T_sh.Range("b5"), T_sh.Range("b4").End(xlDown)).Resize(, 5).ClearContents
     End If
Next
 For I = 5 To nRow
  my_str = Source_Sheet.Range("c" & I)
  Call verfication(my_str)
  If Not t Then GoTo 1
  Set my_sht = Sheets(Source_Sheet.Range("c" & I) & "")
 laste_row = my_sht.Cells(Rows.Count, 2).End(3).Row + 1
 my_sht.Range("B" & laste_row).Resize(, 6).Value = Source_Sheet.Range("c" & I).Resize(, 6).Value

1:
  Next
Exit_Me:
With Application
     .ScreenUpdating = True
     .Calculation = xlCalculationAutomatic
    End With
End Sub
'=====================================
Sub verfication(sh_name)
On Error Resume Next
 t = False
 x = Len(Sheets(sh_name).Name)
 If x Then t = True
 On Error GoTo 0
End Sub

 

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