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

محي الدين ابو البشر

الخبراء
  • Posts

    878
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    6

كل منشورات العضو محي الدين ابو البشر

  1. بالاذن الأمر بسيط Private Sub Worksheet_Change(ByVal Target As Range)
  2. تفضل Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Dim a Dim i&, r& Dim ws As Worksheet, sh As Worksheet Set ws = Sheet1: Set sh = Sheet2 With ws a = .Range(.Range("A10:G10"), .Range("A10:G10").End(xlDown)) End With If Target.Address = "$F$8" Then r = Sheet1.Cells.Find(Target, , , 1).Column With CreateObject("scripting.dictionary") For i = 1 To UBound(a) If a(i, 1) = sh.Cells(8, 5) Then If Not .exists(a(i, 1)) Then .Add a(i, 1), a(i, r) Else .Item(a(i, 1)) = .Item(a(i, 1)) & "|" & a(i, r) End If: End If Next a = Split(.items()(0), "|") With sh.Cells(10, 6) .Resize(Rows.Count - .Row + 1).ClearContents .Resize(UBound(a) + 1) = Application.Transpose(a) End End With End With End If End Sub رزان2.xlsm
  3. تفضل أخي الكريم ربما؟ Sub test2() Dim ws As Worksheet: Set ws = Sheets("التقرير") Dim sh As Worksheet: Set sh = Sheets("كشف الطباعة") Dim a, b, w Dim i&, c&, ii&, kk& Dim r As Range Dim f As String a = ws.Range(ws.Cells(6, 1), ws.Cells(6, 4).End(xlDown)) b = ws.Range(ws.Cells(6, 6), ws.Cells(6, 7).End(xlDown)) With CreateObject("scripting.dictionary") For i = 1 To UBound(a) If Not .exists(a(i, 4)) Then .Add a(i, 4), Array(a(i, 1), a(i, 2), a(i, 3)) Else w = Application.Transpose(.Item(a(i, 4))) ReDim Preserve w(1 To UBound(w), 1 To UBound(w, 2) + 1) w = Application.Transpose(w) For ii = 1 To 3 w(UBound(w), ii) = a(i, ii) Next .Item(a(i, 4)) = w End If Next Set r = sh.Columns("a").Find("م", , , 1) If Not r Is Nothing Then f = r.Address: i = 1 Do w = .Item(.Keys()(kk)) 1 [r].Offset(1).Resize(25, 3).ClearContents [r].Offset(1).Resize(b(i, 2), 3) = Application.IfError(Application.Index(w, _ Evaluate("Row(" & 1 + c & ":" & c + b(i, 2) & ")"), [{1, 2,3}]), "") If i = UBound(b) Then Exit Sub If b(i, 1) = b(i + 1, 1) Then Set r = sh.Columns("a").FindNext(r) c = c + b(i, 2): i = i + 1 GoTo 1 Else: GoTo 2 End If 2 kk = kk + 1: i = i + 1: c = 0 Set r = sh.Columns("a").FindNext(r) Loop Until r.Address = f End If End With End Sub ترحيل أسماء.xlsm
  4. عليكم السلام ربما Private Sub CommandButton3_Click() Dim c&, i& For i = 0 To ListBox1.ListCount - 1 With Sheets("ورقة1") .Range("g6").Offset(c).Value = ListBox1.List(i, 0) .Range("h6").Offset(c).Value = ListBox1.List(i, 1) .Range("i6").Offset(c).Value = ListBox1.List(i, 2) c = c + 1 End With Next i End Sub
  5. هي (عدد أعمدة) وليس range او cells!!!!!
  6. وعليكم السلام والرحمة كود: Sub test() Dim a Dim x&, i&, c& Dim r As Range Dim firstaddress As String With Sheets("التقرير") a = .Range(.Cells(6, 1), .Cells(6, 3).End(xlDown)) x = .Cells(2, 6) End With With Sheets("كشف الطباعة") Set r = .Columns("a").Find("م", , , 1) If Not r Is Nothing Then firstaddress = r.Address Do [r].Offset(1).Resize(x, UBound(a, 2)) = Application.IfError(Application.Index(a, _ Evaluate("Row(" & c + 1 & ":" & x + c & ")"), [{1, 2,3}]), "") Set r = .Columns("a").FindNext(r) c = c + x Loop Until r.Address = firstaddress End If End With End Sub ترحيل الاسماء.xlsm
  7. عليكم السلام ورحمة الله وبركاته تفضل أخي الكريم Sub test() With Sheets("يومية الحضور والإنصراف").Range("B4:C" & Sheets("يومية الحضور والإنصراف").Cells(Rows.Count, 1).End(xlUp).Row) .Formula = "=IFERROR(VLOOKUP($A:$A,Table9,COLUMN(),0),"""")" .Value = .Value End With With Sheets("رصيد الأجازات").Range("B3:D" & Sheets("رصيد الأجازات").Cells(Rows.Count, 2).End(xlUp).Row) .Formula = "=IFERROR(VLOOKUP($A:$A,Table9,COLUMN(),0),"""")" .Offset(, 3).Resize(, 1).Formula = "=IFERROR(IF(DATEDIF([@[تاريخ التعيين]],$D$1,""D"")/30>3.1,""يستحق"",""""),"""")" .Offset(, 5).Resize(, 1).Formula = "=IF([@[معادلة الرصيد]]=""يستحق"",$O$1+[@[معالجة الرصيد]],0)" .Offset(, 6).Resize(, 1).Formula = "=[@[الرصيد المرحل]]+[@[رصيد 2023]]" .Offset(, 7).Resize(, 1).Formula = "=(COUNTIFS('يومية الحضور والإنصراف'!$A:$A,$A3,'يومية الحضور والإنصراف'!$H:$H,""أجازة"")+(COUNTIFS('يومية الحضور والإنصراف'!$A:$A,$A3,'يومية الحضور والإنصراف'!$H:$H,""أجازة مجمعة"")))" .Offset(, 8).Resize(, 1).Formula = "=(COUNTIFS('يومية الحضور والإنصراف'!$A:$A,$A4,'يومية الحضور والإنصراف'!$H:$H,""أجازة عارضة""))" .Offset(, 9).Resize(, 1).Formula = "=IF(E3=""يستحق"",$N$1-[@[ عارضة]],0)" .Offset(, 10).Resize(, 1).Formula = "=(([@[إجمالي الرصيد المستحق]]-([@[ سنوي]]+[@[ عارضة]]+[@[تسوية نقدي]])))-[@[باقي رصيد العارضة]]" .Offset(, 11).Resize(, 1).Formula = "=([@[باقي رصيد السنوي ]]+[@[باقي رصيد العارضة]])" With .Resize(, 12) .Value = .Value End With End With End Sub
  8. E2=IF(OR(A2<>"",B2<>""),IF(AND(A2<>"",B2=""),"قبض","صرف"),"") ربما ادرج نوع العملية تلقائي.xlsx
  9. يدوياً؟ قم باختيار الجدول ( ليس من الخلايا وإنما كامل الأسطر) بمعني اضغط على الرقم 1 بجانب الخلية A1 نزولا حتى آخر الجدول) ثم CTR+ Copy ثم right click على أول خلية تريد النسخ فيها وقم باختيار (Insert Copied cells) ويمكن عمل ذلك بماكرو إذا أحببت
  10. السلام عليكم بالأذن من الجميع ممكن تجربة؟ برمجة حساب راتب (1).xlsm
  11. جرب هذا Sub Oval1_Click() Dim xDir As String Dim xFile As String Dim xRow As Long With Application.FileDialog(msoFileDialogFilePicker) .AllowMultiSelect = True .Title = "Please select the files" .Filters.Clear .Filters.Add "All supported files", "*.*" If .Show = -1 Then xDir = .SelectedItems(1) xFile = Dir(xDir & Application.PathSeparator & "*.docx") Do Until xFile = "" xRow = 0 On Error Resume Next xRow = Application.Match(xFile, Range("A:A"), 0) If xRow > 0 Then Name xDir & Application.PathSeparator & xFile As _ xDir & Application.PathSeparator & Cells(xRow, "B").Value End If xFile = Dir Loop End If End With End Sub
  12. عليكم السلام وارحمة وكل عام وأنتم بألف خير أخي الكريم في كود الترحيل .Cells(x + 1, 15) = mat وفي كود المسح myArea(28, 15) = "" ولك تحياتي
  13. بسيطة Sub protect_sh() Dim i& Dim p As String p = InputBox("ÃÏÎá ßáãÉ ÇáÓÑ") For i = 1 To Sheets.Count Sheets(i).Protect p Next End Sub Sub unprotectsh() Dim i& Dim p As String p = InputBox("ÃÏÎá ßáãÉ ÇáÓÑ") For i = 1 To Sheets.Count Sheets(i).Unprotect p Next End Sub
  14. عليكم السلام تقضل أخي الكريم عسى المطلوب طلب ترحيل بالاسم والتاريخ.xlsm
  15. الحمد لله ولك مثل ما دعوت وأكثر
  16. أه الآن دارت الفكرة آسف لم استوعب الفكرة عذراً منك جرب هذا واعتذر مرة أخرى عن سوء الفهم kutub20-23 -222.xlsm
  17. ممكن Sub protect_sh() Dim i For i = 1 To Sheets.Count Sheets(i).protect "ggg" '<<< كلمة السر Next End Sub Sub unprotectsh() Dim i For i = 1 To Sheets.Count Sheets(i).unprotect "ggg" '<<< كلمة السر Next End Sub
×
×
  • اضف...

Important Information