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

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

قام بنشر

مرحبا اريد ان تتكرر الكلمة اسفل العمود بمكان الارقام اسفلها وعندما تتنهي الكلمة تكون الكلمة التالية بعدها ايضا تحل محل الارقام اسفلها وهكذا هل هنالك كود لحل هذه الطريقة خاصة اذا كانت السجلات مئة الف سجل تقريبا

فهرس الكتب الورقية موضوعيا.rar

قام بنشر

جرب هذا الماكرو

Option Explicit

Sub test()
Dim Ro%, Rg As Range
Dim x%, t%, i%
With Sheets("ورقة1")
Ro = .Cells(Rows.Count, 1).End(3).Row
Set Rg = .Range("A1:A" & Ro).SpecialCells(2, 23)
     .Range("E1").Resize(Ro, 2).Clear
t = 1
For x = 1 To Rg.Areas.Count
     .Cells(t, "E").Resize(Rg.Areas(x).Rows.Count) = _
     Rg.Areas(x).Cells(1, 1)
     .Cells(t, "E").Interior.ColorIndex = 6
       For i = 2 To Rg.Areas(x).Rows.Count
           .Cells(t + 1, "F").Offset(i - 2) = _
           Rg.Areas(x).Cells(i).Offset(, 2)
       Next i
    t = t + Rg.Areas(x).Rows.Count + 1
Next x
    With .Range("E1").Resize(Ro, 2).SpecialCells(2, 23)
    .Borders.LineStyle = 1
    .Font.Bold = True
    .InsertIndent 1
    End With
End With
End Sub

الملف مرفق

Sakr_Khalige.xls

  • Like 3
قام بنشر

استبدل الى هذا الماكرو (عليك الانتطار قليلاً حوالي الدقيقة كي يكمل الماكرو عمله) بسبب كثرة الداتا

Option Explicit

Sub test()
Dim Ro As Long, Rg As Range
Dim x As Long, t As Long, i As Long
    With Application
    .ScreenUpdating = False
    .Calculation = xlCalculationManual
    End With
With Sheets("ورقة1")
Ro = .Cells(Rows.Count, 1).End(3).Row
Set Rg = .Range("A1:A" & Ro).SpecialCells(2, 23)
     .Range("E1").Resize(Ro, 2).Clear
t = 1
For x = 1 To Rg.Areas.Count
     .Cells(t, "E").Resize(Rg.Areas(x).Rows.Count) = _
     Rg.Areas(x).Cells(1, 1)
     .Cells(t, "E").Interior.ColorIndex = 6
       For i = 2 To Rg.Areas(x).Rows.Count
           .Cells(t + 1, "F").Offset(i - 2) = _
           Rg.Areas(x).Cells(i).Offset(, 2)
       Next i
    t = t + Rg.Areas(x).Rows.Count + 1
Next x
    With .Range("E1").Resize(Ro, 2).SpecialCells(2, 23)
    .Borders.LineStyle = 1
    .Font.Bold = True
    .InsertIndent 1
    End With
End With
 With Application
    .ScreenUpdating = True
    .Calculation = xlCalculationAutomatic
   End With
End Sub

الملف مرفق

Sk_Khalige.xlsm

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

ممتاز جدا ولكنني اود تحويل 6 اعمدة الى الجانب الاخر وليس فقط عمودين ممكن ذلك هذه الصورة مع المثال التوضيح وشكرا جزيلا يعني اريد تحويل اضافة الى المعالجة الحالية النصوص الموجودة في العمود المجلد والعنوان والناشر ورقم التصنيف 

 

 

الشرح .jpg

17 10 2020.rar

تم تعديل بواسطه صقر الخليج
  • تمت الإجابة
قام بنشر

ليس من الضروري رفع الملف بكامله (أكثر من 1000 صف) كان يكفي نبذة صغيرة عنه (حوالي 20 صف)

    لأن الماكرو الذي يعمل على صف واحد يمكنه العمل على الالوف

تم معالجة الأمر (مع التتغيير الى البيانات الضغيرة نسبياُ لمشاهذة عمل لماكرو بشكل جيد لأنه ليس من الضروري ان اقرأ اسم كل كتاب و مؤلفه
         و ما الى ذلك
يكفي ان الاجظ الاحرف  A / B/ C  ان كانت في مكانها الصحيح)

يمكنك نسخ الكود الى الملف عندك وتنقيذه مع مراعاة تغيير اسم الصفخة في الماكرو من  Salim   الى الاسم الذي عندك

Sub Salim_Test()
Dim Ro As Long, Rg As Range
Dim x As Long, t As Long, i As Long, k%
    With Application
    .ScreenUpdating = False
    .Calculation = xlCalculationManual
    End With
With Sheets("Salim")
Ro = .Cells(Rows.Count, 1).End(3).Row
Set Rg = .Range("A2:A" & Ro).SpecialCells(2, 23)
     .Range("H2").Resize(Ro, 6).Clear
t = 2
For x = 1 To Rg.Areas.Count
        .Cells(t, "H").Resize(Rg.Areas(x).Rows.Count) = _
        Rg.Areas(x).Cells(1, 1)
        .Cells(t, "H").Interior.ColorIndex = 6
        .Cells(t + 1, "I"). _
        Resize(Rg.Areas(x).Rows.Count - 1, 5).Value = _
        Rg.Areas(x).Cells(2).Offset(, 1). _
        Resize(Rg.Areas(x).Rows.Count - 1, 5).Value
    t = t + Rg.Areas(x).Rows.Count + 1
Next x
    With .Range("H2").Resize(Ro, 6).SpecialCells(2, 23)
    .Borders.LineStyle = 1
    .Font.Bold = True
    .InsertIndent 1
    .Columns.AutoFit
    End With
End With
  With Application
    .ScreenUpdating = True
    .Calculation = xlCalculationAutomatic
   End With

End Sub

 

Sk_Khalige_Six.xlsm

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

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

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

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

سجل حساب جديد

تسجيل دخول

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

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

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

Important Information