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

Ali Mohamed Ali

المشرفين السابقين
  • Posts

    11,634
  • تاريخ الانضمام

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

  • Days Won

    289

كل منشورات العضو Ali Mohamed Ali

  1. جزاك الله كل خير استاذ سليم وانا من قام بتغيير أفضل اجابة لك انت فمعادلتك هى الأفضل فى كل الإجابات المقدمة
  2. وعليكم السلام -ولإثراء الموضوع وبعد اذن الأساتذة يمكنك استخدام هذه المعادلة =IFERROR(VLOOKUP($A2&"المجموع",القوائم!$A$2:$D$132,4,0),"") جمع القوائم تلقائيا1.xlsx
  3. أحسنت استاذ مجدى عمل ممتاز بارك الله فيك وزادك الله من فضله وحمد الله على السلامة
  4. بعد اذن اخى عبد الفتاح ,على الرغم اننا نبهنا كثيراً انه لابد من رفع ملف مدعوم بشرح كافى عن المطلوب فى كل مشاركة وذلك تجنباً لعدم اهدار وقت الأساتذة ولأنه لا يمكن العمل على التخمين ..فيمكنك استخدام هذا الكود Sub MergeExcelFiles() Dim fnameList, fnameCurFile As Variant Dim countFiles, countSheets As Integer Dim wksCurSheet As Worksheet Dim wbkCurBook, wbkSrcBook As Workbook fnameList = Application.GetOpenFilename(FileFilter:="Microsoft Excel Workbooks (*.xls;*.xlsx;*.xlsm),*.xls;*.xlsx;*.xlsm", Title:="Choose Excel files to merge", MultiSelect:=True) If (vbBoolean <> VarType(fnameList)) Then If (UBound(fnameList) > 0) Then countFiles = 0 countSheets = 0 Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Set wbkCurBook = ActiveWorkbook For Each fnameCurFile In fnameList countFiles = countFiles + 1 Set wbkSrcBook = Workbooks.Open(Filename:=fnameCurFile) For Each wksCurSheet In wbkSrcBook.Sheets countSheets = countSheets + 1 wksCurSheet.Copy after:=wbkCurBook.Sheets(wbkCurBook.Sheets.Count) Next wbkSrcBook.Close SaveChanges:=False Next Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic MsgBox "Processed " & countFiles & " files" & vbCrLf & "Merged " & countSheets & " worksheets", Title:="Merge Excel files" End If Else MsgBox "No files selected", Title:="Merge Excel files" End If End Sub كما يمكنك الإستعانة بهذا الفيديو COMBINE Multiple Excel WORKBOOKS into One | ExcelJunction.com كما يمكنك استخدام هذا الكود أيضاً Sub ConslidateWorkbooks() 'Created by Sumit Bansal from https://trumpexcel.com Dim FolderPath As String Dim Filename As String Dim Sheet As Worksheet Application.ScreenUpdating = False FolderPath = Environ("userprofile") & "DesktopTest" Filename = Dir(FolderPath & "*.xls*") Do While Filename <> "" Workbooks.Open Filename:=FolderPath & Filename, ReadOnly:=True For Each Sheet In ActiveWorkbook.Sheets Sheet.Copy After:=ThisWorkbook.Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop Application.ScreenUpdating = True End Sub وهذا أيضاً كود ثالث لطلبك Sub mergeFiles() 'Merges all files in a folder to a main file. 'Define variables: Dim numberOfFilesChosen, i As Integer Dim tempFileDialog As fileDialog Dim mainWorkbook, sourceWorkbook As Workbook Dim tempWorkSheet As Worksheet Set mainWorkbook = Application.ActiveWorkbook Set tempFileDialog = Application.fileDialog(msoFileDialogFilePicker) 'Allow the user to select multiple workbooks tempFileDialog.AllowMultiSelect = True numberOfFilesChosen = tempFileDialog.Show 'Loop through all selected workbooks For i = 1 To tempFileDialog.SelectedItems.Count 'Open each workbook Workbooks.Open tempFileDialog.SelectedItems(i) Set sourceWorkbook = ActiveWorkbook 'Copy each worksheet to the end of the main workbook For Each tempWorkSheet In sourceWorkbook.Worksheets tempWorkSheet.Copy after:=mainWorkbook.Sheets(mainWorkbook.Worksheets.Count) Next tempWorkSheet 'Close the source workbook sourceWorkbook.Close Next i End Sub وفى هذا الرابط ايضاً عدة أكواد ستفيدك فى طلبك How to combine multiple workbooks into one master workbook in Excel?
  5. اهلا بك فى المنتدى , يمكنك هذا بالدالة المعرفة ConvertDate ... بوضع هذه المعادلة بالخلية D5 سحباً للأسفل وهذا هو كود الدالة Option Explicit Function ConvertDate(ByRef StringIn As String) As String Dim savedCal As Integer Dim d As Date Dim s As String savedCal = Calendar Calendar = 1 d = CDate(StringIn) Calendar = 0 s = CStr(d) ConvertDate = Format(s, "dd/mm/yyyy") Calendar = savedCal End Function المصنف1.xlsm
  6. أحسنت استاذ منير دائما وابداً عليك التحلى بالصبر فهذا العمل انما تقوم به لوجه الله لا تنتظر النتيجة من احد فبناءا على شرحك بالفيديو اتضح ان البرنامج ممتاز وليس به اية ملاحظات .. بس ياريت لو يكون هناك امكانية لإضافية جميع دول العالم وليس دول قارة أفريقيا فقط جزاك الله خير الثواب , والروابط والفيديو ايضا بعد التعديل يعملوا تمام وبكل كفاءة
  7. وعليكم السلام-يمكنك استخدام هذه المعادلة =INDEX($P$6:$P$20,MATCH("مؤكد",$F$7:$F$21,0)) الحالات المؤكدة1.xlsx
  8. وعليكم السلام-يمكنك استخدام هذه المعادلة =COUNTIF($C$7:$C$12,E$6) تواتي 221.xlsx
  9. يمكنك استخدام هذه المعادلة للغيابات الصباحية أما بالنسبة للمسائية فقط عليك استبدال حرف ص وتغييره الى مـ ملحوظة : يمكنك تغيير ايضاً التواريخ التى تريد حساب الغيابات من خلالها وذلك من الخليتين F1 & G1 بصفحة Info =SUMPRODUCT((maroc[[#Headers],[01/06/2020]:[10/06/2020]]>=$F$1)*(maroc[[#Headers],[01/06/2020]:[10/06/2020]]<=$G$1)*(maroc[nom]=$A2)*(maroc[[01/06/2020]:[10/06/2020]]="ص")) anas2021.xlsx
  10. بعد اذن استاذ سليم ولإثراء الموضوع Tawati2.xlsm
  11. وعليكم السلام-يمكنك فقط استخدام هذه المعادلة =IFERROR(VLOOKUP(G3,$A$3:$C$200,3),"") قائمة تسديد 1TEST.xlsx
  12. وعليكم السلام -اجعل المعادلة هكذا =IFERROR(E12-E13,"") معادلة1.xlsx
  13. اجعل الأرقام فى المعادلة داخل علامة التنصيص "" =IF(I1="1","القاهرة",IF(I1="2","الإسكندرية",IF(I1="3","بورسعيد",IF(I1="4","السويس",IF(I1="11","دمياط",IF(I1="12","الدقهلية",IF(I1="13","الشرقية",IF(I1="14","القليوبية",IF(I1="15","كفر الشيخ",IF(I1="16","الغربية",IF(I1="17","المنوفية",IF(I1="18","البحيرة",IF(I1="19","الاسماعيلية",IF(I1="21","الجيزة",IF(I1="22","بنى سويف",IF(I1="23","الفيوم",IF(I1="24","المنيا",IF(I1="25","اسيوط",IF(I1="26","سوهاج",IF(I1="27","قنا",IF(I1="28","أسوان",IF(I1="29","الأقصر",IF(I1="31","البحر الاحمر",IF(I1="32","الوادى الجديد",IF(I1="33","مطروح",IF(I1="34","شمال سيناء",IF(I1="35","جنوب سيناء",IF(I1="88","خارج الجمهورية","0")))))))))))))))))))))))))))) الرقم القومى.xlsx
  14. تفضل هذا بحث اخر بالإسم ولا يمكن ان يكون هناك اكثر من بند للبحث فى وقت واحد Search by Name.xlsx
  15. بعد اذن استاذ سليم -تفضل تم عمل قائمة منسدلة لعمود ID حتى لا يكون هناك امكانية للخطأ عند كتابة الرقم وبالتالى يتم جلب البيانات بصورة صحيحة , ويمكنك استخدام هذه المعادلة =IFERROR(VLOOKUP($A5,Sheet1!$A$2:$K$1700,MATCH(B$4,Sheet1!$A$1:$K$1,0),0),"") Vlookup.xlsx
  16. تفضل تم عمل المطلوب اضافة الى عمل كود لتكست بوكس1 ليتم كتابة السريال تلقائى دون تدخل منك rr1.xlsm
  17. وعليكم السلام-جرب الملف هكذا Amr2.xlsx
  18. وعليكم السلام-يمكنك استخدام المعادلة بهذه الطريقة =SUMIFS('1'!$C:$C,'1'!$A:$A,$A3,'1'!$B:$B,$B3) دالة sumifs 1مع الفلترة.xlsx
  19. اخى الكريم ما هو سبب غضبك ؟!!! اليس هذا ما تريد .... فقط اجعل التنسيق هكذا [$-2000000]#,##0
  20. وعليكم السلام-تفضل ............ وهذه الصورة توضح كيفية عمل قائمة منسدلة TEST-STORE1.xlsx
  21. بعد اذن استاذنا سليم ولإثراء الموضوع ,,فهذا حل ايضا بمعادلة المصفوفة =IFERROR(INDEX(ورقة1!$C:$C,SMALL(IF(ورقة1!$B:$B=A$2,ROW(A$2:A$5000)-ROW(A$2)+1),ROWS($A$5:A5))),"") المشاريع1.xlsx
  22. منا ومنكم سائر الأعمال ان شاء الله يمكنك هذا بمعادلة المصفوفة =IFERROR(INDEX(Data!$A:$A,SMALL(IF(Data!$C:$C=$C$1,ROW(A$2:A$5000)-ROW(A$2)+1),ROWS($A$3:A3))),"") Data_HR2.xls
  23. ولإثراء الموضوع فهذا كود من اعمال الأستاذ الكبير سليم حاصبيا له منا كل المحبة والإحترام Option Explicit Sub creat_shett() Dim i%, t, m% Dim x%: x = Application.CountA(Sheets("اسماء الصفحات").Range("A:A")) + 1 For i = 3 To x t = Sheets("اسماء الصفحات").Range("a" & i) On Error Resume Next m = Len(Sheets(t).Name) On Error GoTo 0 If m = 0 Then '===========================================================' Sheets("Home").Copy After:=Sheets(Sheets.Count) With ActiveSheet .Name = Sheets("اسماء الصفحات").Range("a" & i) .Range("a1") = .Name End With '===========================================================' End If m = 0 Next Sheets("اسماء الصفحات").Select End Sub Sheets List.xlsm
  24. يمكنك استخدام هذا الكود لذلك Sub SelectPrintArea() Dim PrintThis As Range ActiveSheet.PageSetup.PrintArea = "" Set PrintThis = Application.InputBox _ (Prompt:="Select the Print Range", Title:="Select", Type:=8) PrintThis.Select Selection.Name = "NewPrint" ActiveSheet.PageSetup.PrintArea = "NewPrint" ActiveSheet.PrintOut End Sub Print.xls
  25. شوفت ان الملف مهم ازاى هذه الخلايا كان تنسيقها نص وليس عام او رقم فتم تعديل تنسيق الخلايا الى عام-تفضل 55 (2).xlsx
×
×
  • اضف...

Important Information