بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation on 03/20/16 in مشاركات
-
السلام عليكم ورحمة الله تعالى وبركاته اعرف مسبقا ان الموضوع فتح من قبل واكثر من مره وبعد البحث لم اجد موضوع متكامل فى هذا الشأن اعرف ان الكمال لله وحده سبحانه وتعالى ولكن فكرت بطريقة مختلفه فى طرح الموضوع بفكرة ورشة عمل ليكون شاملا وليجتمع فيه معظم الافكار لنخرج بمشروع متكامل باشتراك كل كل الاخوة الذين برغبون فى الاشتراك وكذلك تحت اشراف اساتذتنا الكرام بارك الله فيهم فيكون علم ينتفع به وصدقة جاريه فلنجدد النوايا ونبدا على بركة الله وضعت بذور البداية ووصلت لمرحلة لابأس بها ولكن احب ان اابدا بالقاعدة من البداية من تحت الصفر حتى نضع الاساس سويا يد بيد اولا نضع تصور وخطوط عريضه لالية سير منظومة حتى نستطيع وضع الاسس لقاعدة البيانات - الحضور من الساعه 7 صباحا - الانصراف فى الساعة 3 عصرا - السهر " ساعات العمل الاضافية " من الساعة 4 الى الساعة 6 - ايام العمل من الأحد الى الخميس - العطلات الاسبوعية يومى الجمعة والسبت - قد يكون هناك استدعاء للعمل ايام العطل الاسبوعية فيحتسب اجر اضافى - هناك بعض الافراد حسب موقع عملهم بصرف لهم علبة حليب - لكل عامل فى وقت السهر وجبه أو بدل وجبه لكل عامل حرية الاختيار - التأمين الطبى إما تابع للمؤسسة أو تأمين خارجى للعامل حرية اختيار احداهما - الاجازات حسب الدرجه وحسب سنين الخدمه4 points
-
وعليكم السلام ابي الغالي ابو يوسف مشكور على مرورك العطر بالموضوع .. بارك الله فيك والحمد لله أن جعلنا الله سبباً في تيسير الأمور ، فلكل واحد نصيب من اسمه أخي العزيز صلاح الحمد لله أن تم المطلوب على خير ..ومش عارف بقا المعلومة كانت تستاهل أسبوع بحث ومحدش يلاقيها ...عايزين نطور نفسنا في موضوع البحث ده عشان نلاقي الكنوز المدفونة ونستفيد منها ونحااول نسبق اللي سبقونا تقبل تحياتي3 points
-
السلام عليكم إخوتي وأبنائي الأحبة: رائع ما قدمتموه ...إذاًصار يمكننا استخراج الصور من ملف الإكسيل بكل يسر وسهولة يسّر الله عليكم جزاكم الله خيراً ...والسلام عليكم.3 points
-
كيف لا تجدي نفعاً مع الملف الذي يحتوي على ماكرو .. الملف المرفق في الموضوع الذي اختفى كان بامتداد xlsm .. ومطبقة عليه الطريقة ..حاول مرة أخرى لربما أخطأ في الخطوات فقط3 points
-
ياسر العربي .. أخوك أبو البراء بيحب الفيروسات هو كمان ومن فترة كنت عامل مزرعة فيروسات بختبر بها مدى قوة برامج الأنتي فيروس .. وفيها فيروسات مقولكش ..ملهاش حل مع أي أنتي فيروس .. بس للأسف المزرعة مش لاقيها .. عموماً ربنا يسهل وأعمل لك مزرعة بط بدل مزرعة الفيروسات أخي الكريم محمد ماهر أنصح بما نصحك به أخونا ياسر العربي وهو ما نصحتك به في البداية ..حل الفيروسات ويندوز جديد لا تفتح بعدها أي درايف .. نصب الأنتي فيروس من على فلاشة تكون متأكد إنها نصيفه أو نزل البرنامج من على الانترنت ونزله على سطح المكتب ونصبه ونضف .. والتنضيف يكون مرة أو اتنين للتأكد من خلو الجهاز من الفيروسات وبعدها ابدأ في التعامل بتنصيب باقي البرامج .. وإن شاء الله تتحل مشكلتك تقبلوا تحياتي3 points
-
أخي الحبيب صلاح أنا بقالي يومين بحاول أشوف الموضوع فين .. يظهر العفاريت عملوها فينا وأخفوا الموضوع عموماً كنت قد طلبت الطريقة ووجب علي أن أقدمها لك خصوصاً بعد انتظار أسبوع الموضوع والحل الذي لدي في قمة البساطة والسهولة .. وأنا خايف تشتم بعد ما تعرف الطريقة (فعايز وعد منك من غير شتيمة) الحل بدون أكواد على الإطلاق المصنف اللي فيه الصور المراد استخراجها غير امتداده من xlsm إلى zip .. وروح اعمل كليك يمين عليه واعمل Extract أي استخراج للملفات .. هيطلع لك من ضمن المستخرج مجلد اسمه Media ودا جواه الصور بنفس التنسيق ونفس الحجم تماماً وسلم لي على التروماي .. ومش عاااااااااااااايز شتيمة تقبل وافر تقديري واحترامي3 points
-
لا تخف اخي الغالي ما انصح به بشدة هو تنصيب نسخة ويندوز جديدة مع ازالة النسخة القديمة اي لا تعمل تحديث للنسخة فرمت وقم بتنصيب نسخة جديدة وبعدها لا تفتح اي دريف من الموجودين على الجهاز قم بتنزيل انتي فيرس من مكان اخر مضمون عن طريق فلاشة او سي دي وشغله وخليه يعمل اسكان على الجهاز او هناك اسطوانات صيانة مجهزة للاقلاع عند تشغيل الجهاز وتقوم بفحص الجهاز بدون فتح الويندوز ارفع احد الملفات اللي مش شغالة عندك على رابط خارجي وابعته لي برسالة وانا متحمل مسئولية الضرر لاني بحب الفيروسات ابعتو نشوف الموضوع دا3 points
-
السلام عليكم ورحمة الله تعالى وبركاته أحبائي وأساتذتي الأفاضل أقدم لك هذه التجميعية البسيطه ليستفيد بها المبتدئ والمحترف تجمعية تحت عنوان تغذية القائمة المنسدلة خاصة بالفورم (ComboBox) بمدى ديناميكي أولا: نقوم بإنشاء فورم وندرج به قائمة منسدلة (ComboBox1) ثانيا : نفتح محرر الاكواد View Code) ثالثا: من نافذه المحرر نختر حدث بداية التشغيل الفورم UserForm_Initialize Private Sub UserForm_Initialize() End Sub نقوم بوضع المتغير التالي الخاص بتحديد ورقة العمل وهم أمر مهم جدا Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select End Sub نأتي الأن إلى الأكواد الخاصة بتغذية القائمة المنسدلة ملاحظه جميع الأكواد الخاصة بالتغذية أنا إخترت العمود الأول وبداية التغذية من الخلية A2 ولكم حرية التغيير الكود رقم 1 Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Range("A2", Range("A" & Rows.Count).End(xlUp)).Name = "Dynamic" Me.ComboBox1.RowSource = "Dynamic" End Sub الكود رقم 2 Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Me.ComboBox1.RowSource = Range("B2", Range("B65536").End(xlUp)).Address End Sub الكود رقم 3 Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Me.ComboBox1.RowSource = ("A2:A") & ws.Cells(Rows.Count, "A").End(xlUp).Row End Sub الكود رقم 4 Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Me.ComboBox1.List = Range("A2:A" & Cells(Application.Rows.Count, 1).End(xlUp).Row).Value End Sub الكود رقم 5 Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Dim FR As Integer, LR As Integer With ws LR = .Range("A2").End(xlDown).Row For FR = 2 To LR Me.ComboBox1.AddItem .Range("A" & FR) Next FR End With End Sub الكود رقم 6 Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Dim R As Integer With ws For R = 2 To .Range("A" & .Rows.Count).End(xlUp).Row If .Range("A" & R) <> "" Then Me.ComboBox1.AddItem .Range("A" & R) End If Next R End With End Sub الكود رقم 7 Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Dim LR As Long LR = ws.Cells(Rows.Count, "A").End(xlUp).Row myList = ws.Range("A2:" & "A" & LR) Me.ComboBox1.List = myList End Sub الكود رقم 8 Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Dim LR As Long LR = ws.Range("A" & Rows.Count).End(xlUp).Row Set myList = ws.Range("A2:A" & LR) Me.ComboBox1.List = myList.Value End Sub الكود رقم 9 Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Dim LR As Long With ComboBox1 LR = ws.Cells(Rows.Count, 1).End(xlUp).Row .List = ws.Range(ws.Cells(2, 1), ws.Cells(LR, 1)).Value End With End Sub الكود رقم 10 Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Dim myList As Range For Each myList In ws.Range("A2").SpecialCells(xlConstants) With Me.ComboBox1 .AddItem myList.Value .List(.ListCount - 1, 1) = myList.Offset(0, 1).Value End With Next End Sub الكود رقم 11 Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Dim i As Integer, iMin As Integer, iMax As Integer iMin = 2: iMax = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row For i = iMin To iMax ComboBox1.List = Range(Cells(iMin, 1), Cells(iMax, 1)).Value Next i End Sub الكود رقم 12 من إدارة الأسماء نختر جديد الإسم انت حر فيما تختار أنا إخترت MyRange في خانة يشير إلى نقوم بوضع هذه المعادلة =OFFSET(Sheet1!$A$2;;;COUNTA(Sheet1!$A$2:$A$10000);1) في الفورم نقوم بوضع الكود التالي Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Me.ComboBox1.RowSource = "Myrange" End Sub الكود رقم 13 كود تغذية القائمة المنسدلة بدون فراغات Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Dim cell As Range With ws For Each cell In .Range("A2:A" & .Cells(Rows.Count, "A").End(xlUp).Row) If Not IsEmpty(cell) Then ComboBox1.AddItem cell.Value Next cell End With End Sub الكود رقم 14 كود تغذية القائمة المنسدلة بدون فراغات وبدون تكرار Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Dim I As Integer Dim Valeurs As Variant Dim sDic As Object Set sDic = CreateObject("Scripting.Dictionary") With ws Valeurs = .Range("A2:A100").Value For I = LBound(Valeurs) To UBound(Valeurs) If Not IsEmpty(Valeurs(I, 1)) Then sDic(Valeurs(I, 1)) = "" Next I End With If IsArray(Valeurs) Then Me.ComboBox1.List = sDic.keys End Sub وفي الأخير أتمنى هذه التجمعية المتواضعة أن تفيدكم أعرف أن أستاذي القدير حيزعل مني لأني لم أقم بوضع هذه الاكواد في تجمعية مكتبه المنتدى ووضعها في موضوع منفصل حتى يكون هذا الموضوع مرجعا لكل من يريد التعلم بأبسط الطرق أستاذي القدير وحقك عليا تقبلو تحياتي لا تنسونا بخالص دعائكم3 points
-
بالنسبة لطلبك الاول تفضل Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Dim I As Integer Dim Valeurs1, Valeurs2, Valeurs3 As Variant Dim sDic1, sDic2, sDic3 As Object Set sDic1 = CreateObject("Scripting.Dictionary") Set sDic2 = CreateObject("Scripting.Dictionary") Set sDic3 = CreateObject("Scripting.Dictionary") '=============================خاص بالكمبوبوكس3=============================== With ws Valeurs1 = .Range("A2:A1000").Value For I = LBound(Valeurs1) To UBound(Valeurs1) If Not IsEmpty(Valeurs1(I, 1)) Then sDic1(Valeurs1(I, 1)) = "" Next I End With If IsArray(Valeurs1) Then Me.ComboBox1.List = sDic1.keys '=============================خاص بالكمبوبوكس2=============================== With ws Valeurs2 = .Range("B2:B1000").Value For I = LBound(Valeurs2) To UBound(Valeurs2) If Not IsEmpty(Valeurs2(I, 1)) Then sDic2(Valeurs2(I, 1)) = "" Next I End With If IsArray(Valeurs2) Then Me.ComboBox2.List = sDic2.keys '=============================خاص بالكمبوبوكس3=============================== With ws Valeurs3 = .Range("C2:C1000").Value For I = LBound(Valeurs3) To UBound(Valeurs3) If Not IsEmpty(Valeurs3(I, 1)) Then sDic3(Valeurs3(I, 1)) = "" Next I End With If IsArray(Valeurs3) Then Me.ComboBox3.List = sDic3.keys End Sub3 points
-
السلام عليكم ورحمة الله وبركاته وجدت هذه الدالة اثناء تجولي وحبيت ان اضع عليها مثال هنا لمن قد يبحث عنها الدالة هي FILELEN وهذا ببساطة شكل الدالة FileLen( file_path ) الدالة تحضر حجم الملف بالبايت .. وبإمكاننا التحويل الى ما نريد بعد ذلك هنا طرق التحويل المعروفة للجيمع . 1 Byte = 8 Bit 1 Kilobyte = 1,024 Bytes 1 Megabyte = 1,048,576 Bytes 1 Gigabyte = 1,073,741,824 Bytes 1 Terabyte = 1,099,511,627,776 Bytes في المرفق انا حولت الى كيلوبايت .. اترككم مع المثال .. فك الضغط على الدرايف D للتجربة وبعدها بإمكانك النقل الى اي مكان كل ما عليك هو معرفة المسار والإمتداد بالتوفيق للجميع fileSizeDemo.rar2 points
-
لسّلام عليكم و رحمة الله و بركاته أخي الكريم " ياسر يا عربي " .. وخي " عبد العزيز البسكري "جزاكم الله خيرا دام الله عليكم الصحة والعافية وحفظكم الله ورعاكم وجعلكم من الناجون من هول يوم القيامة بارك الله فيكم2 points
-
بسم الله الرحمن الرحيم ارجوا من الاخوة والاساتذة الكرام تجربة هذا الملف واخباري بالنتيجة هل يعمل بدون مشاكل ام يوجد مشاكل بالملف البرنامج لمراقبة حركة الاصناف من صرف واستلام والرصيد النهائي لكل صنف مصمم بالفيجوال بيسك وقمت بتحويل المعادلات لتعمل مع الفيجوال طبعا شوية معادلات محدودة ليس الا كل ما احتاجه هو الالمام بمعظم دوال ومعادلات الاكسيل برمجيا حتى اتعامل بها مع الفيجوال بيسك طبعا للجماعه اللي بتقول الحماية علي معادلاتي وشغلي اظن كدا بقت محمية كويس ملف الاكسيل ليس الا قاعدة بيانات فقط وكل معادلاتنا داخل الملف التنفيذي للفيجوال اينعم اعرف بعض طرق لاعادة سورس كود البرنامج ولكن يوجد برامج تشفير كتيررررر لحماية الملف من هذه المواضيع ارجو ان يعمل البرنامج بنجاح معاكوا وميحرجنيش معاكو ارجو التقييم اخوكم ياسر العربي vb6-excel.rar2 points
-
وانا فى انتظار على احر من الجمر بس متنسناش علشان مبردش واخد انفلوسه و واعيط ههههههههه حبيبى يا ابواسيل جزاك الله كل خير حبيب قلبى2 points
-
حبيبي احمد باذن الله في اقرب فرصة اضع دروس جديدة وهي في النية باذن الله حبيبي عبد العزيز انت بقيت معلم في الحاجات دي مش محتاج لينا واخد بالك على العموم انت معانا ولو في جديد اديك هتستفاد مفيش اديك بتراجع2 points
-
2 points
-
بالنسبة لكود جلب الصورة اليك الكود التالي Private Sub CommandButton2_Click() Dim strFileName As String strFileName = Application.GetOpenFilename(filefilter:="Tiff Files(*.tif;*.tiff),*.tif;*.tiff,JPEG Files (*.jpg;*.jpeg;*.jfif;*.jpe),*.jpg;*.jpeg;*.jfif;*.jpe,Bitmap Files(*.bmp),*.bmp", FilterIndex:=2, Title:="Select a File", MultiSelect:=False) If strFileName = "False" Then MsgBox "File Not Selected!" Else Me.Image1.Picture = LoadPicture(strFileName) End If End Sub2 points
-
السلام عليكم انا على سفر ، وبعيد عن الكمبيوتر ، لهذا السبب انا بعيدا عن المنتدى عندي ملاحظة واحدة فقط ، وبحسب خبرتي في هذا الموضوع: الكمبيوتر يعطي أولوية تنفيذ أوامر CPU إلى برامج الوندوز ، ثم البرامج الاخرى ، مما قد يُؤخر تنفيذ أوامر برنامج الاكسس ثانية او اثنين ، إذًا ، عند تنفيذ الأمر التالي او أمر مثله: If rs!mish_time = Time() Then قد يكون CPU الكمبيوتر مشغولا ، وعند تنفيذ الامر ، الوقت لن يكون مطابقاً ، لأننا نقارن الوقت بالثواني ، وحينها ، فالمعادلة لن تُنفّذ !! لذلك ، ولتفادي هذه المشكلة ، اجعل مقارنة الوقت: إما بالساعة والدقيقة وبدون ثواني ، وإما اجعل المقارنة ">=" بدل "=" ، او شئ من هذا القبيل ، وإلا ، فقد يفوتك موعد ولن تعرف لماذا جعفر2 points
-
اخي الغالي ياسر ابو البراء اخي محمد ماهر لا تستهينوا بهذا الفيروس فهو من اخطر الفيروسات اطلاقا وهو ما يسمي بفيروس تشفير الملفات وطلب فدية مقابل فك تشفيرها مره اخرى ويتم عن طريق رسالة تظهر بعد الانتهاء من جميع تشفير ملفات الجهاز وتطلب منك دفع مبلغ 100 دولار مقابل استلام الاداة لفك تشفير الملفات وليس لها ضامن بحاول ادور على اداة ولكن لم يوفقني البحث حتى الان المهم حاول تحتويه كما قلنا سابقنا حتى نتمكن من معالجة جميع الملفات المشفرة وليست تالفه هي مشفرة هذه صورة توضح امتداد ملف اكسيل عادي وهذه صورة الملف الخاص بك اخي الغالي ولم يتعرف على امتداده الفيرس اسمه CryptoLocker ياريت الكل يحاول معانا لحل تشفير الملفات دا ان صح كلامي تقبلو تحياتي2 points
-
أخى الفاضل ابو البراء وهل أحد يشتم مثله الأعلى , بل أدعو لك بكل خير " حفظك الله ورضى عنك وأرضاك وزادك علماً نافعا " الفكره جميله ومبتكره , واثراء للموضوع الفكره لم تجدى نفعا مع ملف الاكسل المحتوى على ماكرو فلابد من حفظ الملف اولا بصيغة اكسل العاديه ثم تغيير الامتداد ZIP أو RAR ثم فك الضغط2 points
-
السلام عليكم الكوود التالي يلغي الطباعة من كل اوراق الملف Private Sub Workbook_BeforePrint(Cancel As Boolean) Cancel = True End Sub و يوضع في thisworkbook و الغاء الطباعة من ورقة محددة Private Sub Workbook_BeforePrint(Cancel As Boolean) If ActiveSheet.Name = ("Sheet1") Then Cancel = True End Sub2 points
-
حياك الله اخ مصطفى جوابك يفيد بأنك لم تقراء اي شئ عن الباركود .... تابع هذه الفيديوهات عل بها فائدة https://www.youtube.com/watch?v=qaxMC_D7gYE بالتوفيق2 points
-
السلام عليكم و رحمة الله وبركاته بسم الله الرحمن الرحيم و الصلاة و السلام على سيدنا محمد وآله وصحبه اجمعين هذ الموضوع هو الحاقا للموضوع السابق برنامج السكرتير الخاص الإصدار الأول / أحمد زمان http://www.officena.net/ib/index.php?showtopic=42018#entry239414 حيث مرة عدة سنوات عليه مما احتاج خلالها الى بعض الإضافات و بعض التحسينات مرفق ملف شرح اتمنى ان يكون به افائدة للجميع السبت، 19/3/2016م الموافق 10/6/1437هـ خصائص عامة بالملف: - حفظ الملف تلقائيا عند الإستخدام كل 10 عشرة دقائق - إخفاء ورقة الأرقام السرية - بعد الدخول إليها بـ 12 دقيقة - إمكانية استخدام التاريخين الهجري و الميلادي - المحافظة على صغر حجم الملف: حيث يتم زيادة 9 صفوف عند الدخول إلى أي ورقة تلقائيا 1- المواعيد يتم تسجيل كل المواعيد المهمة حسب التاريخ وتقبل خانه التاريخ أي تاريخ هجري أو ميلادي يتم ترتيب البيانات حسب التاريخ عن الدخول مره أخرى إلى الورقة أو بالضغط على زر المواعيد المواعيد المنتهية و المنجزه يتم التسجيل أمامها (منتهى) ولن تظهر أمامك إلا من خلال البحث يمكنك البحث عن اي معلومة في المواعيد من خلال الخلية الصفراء الموجودة في أعلى الورقة 2- دليل الهاتف * هو دليل يشمل عدة خانات من جوال وفاكس وهاتف و ايميل * يمكنك البحث في دليل الهاتف من الخلية الصفراء أعلى الصفحة * يمكنك البحث عن اي جزء من أي معلومة جزء من الاسم أو الرقم , مع تلوين النتائج بلون مميز 3- التقويم والتاريخ نظرا لما عانيته في استخراج التاريخ من الهجري إلى الميلادي ومن الميلادي إلى الهجري تم عمل هذه الورقة بحيث يتم إدخال التاريخ (هجري أو ميلادي) في ألخانه الصفراء أعلى الصفحة - ثم - تظهر لك النتائج للتواريخ متسلسلة لمدة 45 يوما قبل التاريخ المدخل ب 8 أيام مع تفاصيل تسجيل اسم الشهر الهجري واسم الشهر الميلادي واسم اليوم بالعربي والانجليزي ويوجد على يسار الورقة قائمه بأسماء الأشهر هجري و ميلادى مرتبه بالتسلسل 4- تجميع هي ورقه عاديه لتجميع الأرقام في الخانات 5- كلمه سر بسبب كثرة اسم المستخدم وكلمات المرور التي نستخدمها يوميا حيث كل موقع حكومي له اسم مستخدم وكلمة مرور وكل موقع بنك له كذالك وغير ذلك كثير, لذلك تم إنشاء هذه الورقة: * يتم الدخول إلى الورقة بكلمه سر وهى (22) * يتم وضع وصف للموقع وكلمه السر وكلمه المرور * يتم إخفاء هذه الورقة بعد 10 دقائق من استخدامها لسرية المعلومات التي بها * يتم البحث من الخلية الصفراء أعلى الورقة وتظهر لك النتائج المحددة في خانة البحث فقط مع تمييزها بلون مميز 6-وصول سريع بسبب كثرة الملفات التي نحتاجها باستمرار ولتسهيل الوصول إلى هذه الملفات وحيث أنني وجدت البحث في ويندوز الجديد صعب علي إنا. بالدخول إلى وصول سريع يتم ترتيب البيانات بالتسلسل الأبجدي تضع اسم مختصر للملف وشرح لعمل الملف ثم تضغط على زر (اضافه رابطlink) الموجود أعلى يسار الصفحة, من مربع الحوار تختار الملف المطلوب يتم وضع رابط للملف في خانة الموقع والوصول (ارتباط شعبي). البحث :- في قائمة البحث أعلى الصفحة تكتب أي أحرف من اسم الملف أو المجلد تظهر لك النتائج المطلوبة وبالضغط على موقع الوصول يتم فتح الملف المطلوب. السكرتيرالخاص1437.rar2 points
-
استاذنا القدير الله يقدرنا على طلبك رغم انني اعلم اني في عكليات الشرح ضعيف جدا جزاك الله خيرا اخي احمد وبارك الله فيك الله يسلمك اخي وليد اخي ابو ادهم بارك الله فيك وجزاك الله خيرا2 points
-
2 points
-
اهلا اخي سعيد .. جندبي .. لقب .. ممكن تناديني ابو محمد ليس سر والله .. وما اعتقد ان هناك اسرار في العمل في قواعد البيانات وبالاخص اكسيس ونحن نستفيد من بعض هنا .. واجبت على التساؤل مرتين انها للاحصاء فقط .. وكما رأيت عدد النماذج والتقارير والاستعلامات الضخمة عندي بالبرنامج فأحب ان اتابع هذه التفاصيل وأكون على اطلاع بها ..2 points
-
أخي العزيز طائع لا تعلم مدى فرحتي بمقدرتك على تكملة الحل بنفسك ... هكذا ستتعلم حاول وافشل ويكفيك شرف المحاولة دائماً نحاااااااااول ولا نستسلم بسهولة وإذا فشلنا فالمنتدى أمامك اطرح ما شئت من موضوعات لتجد الحل .. ولكن حاول أولاً .. واشترك في الموضوعات المختلفة في المنتدى فمن شأن ذلك أن يصقل الموهبة لديكم ويجعلكم قادرين على تقديم الحلول بعد فترة من الزمن تقبل تحياتي2 points
-
السلام عليكم ورحمة الله وبركاته أول ما شفت الموضوع قلت دا موضوع من زماااااااااااااان يا أحمد يا زماااااااااااااااااااان ..بس لما لاقيت مفيش رد بصيت للتوقيت الخاص بالموضوع لاقيته من 10 دقايق ..قلت يمكن أكون لسه ناااااااااايم وبحلم .. بارك الله فيك أخي الحبيب ومعلمي الكبير أحمد يعقوب ... والله زماااااااااااااااان يا أحمد يا زماااااااااااااااااااان ... ومشكورين على المجهود الكبير في تقديم الموضوع يا ماااااااااااااااااان تقبل وافر تقديري واحترامي2 points
-
التقويم السنوى يمكن من خلال المرفق طباعة التقويم السنوى وتقريبا انا عملته حتى عام 2044 يا مين يعيش التقويم السنوي.rar2 points
-
2 points
-
ذكرتني بمثال عندي يحسب حجم البيانات داخل قاعدة البيانات حجم البيانات في البرنامج.rar2 points
-
اخوانى الكرام سلام الله عليكم ورحمة الله وبركاته اسعد الله اوقاتكم الموضوع كان موجود لأخى الفاضل ياسر خليل " موضوع الاسبوع السابق " لكن يبدو ان الموضوع لبس طاقية الاخفى أرجو معرفة افضل طريقة بالاكواد لسحب الصور من الاكسل ولو كانت علامه مائيه1 point
-
السّلام عليكم و رحمة الله و بركاته لم أفهم بالضبط أخي الكريم " محمّد عبد السّلام " .. القصد ممّا تريد عمله .. مع ذلك جرّب أخي وضع هذا الكود ..لعل و عسى يفي بالغرض إحتراماتي Private Sub TextFind_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = vbKeyReturn Then ListFind.SetFocus End If End Sub1 point
-
فعلا كلامك مظبوط اخى ابو البراء المشكله كانت فى الملف الخاص بى لكن عند تجربة ملف آخر نجح الأمر1 point
-
يا سلاااااااااام عليك يا أخي سليم على أساس إنه مش هيقدر يفهم الكود ..نفس المشكلة ..حتى لو لم يقم بحذف الخلية XFD1 .. هيلغي سطر الطباعة وبس If Sheets("sheet1").Range("xfd1").Value = "D'ont print" Then Cancel = True لو شال دا ايه اللي هيحصل !! .. حتى لو لم يقترب من الخلية XFD1 .. أعتقد أن اي حل بالأكواد لن يحل المشكلة بشكل نهائي ..!! لأن الأكواد قابلة دائماً للكسر وللتدمير أو على الأقل قابلة لأن تكون غير قابلة للتنفيذ إذا لم يمكن الماكرو ..!1 point
-
اخي / ابو مصطفي مرفق لكم احدي الحلول البحث باسم الدواء او نوع الدواء او اسم الشركة في حقل واحد هناك طرق عديدة للبحث افتح النمودج (form2) وشوف هل الطريقة مناسبة لك ام لا برنامج الصيدلية - Copy.rar1 point
-
1 point
-
اخي محمد ممكن تحمل اخر اصدار من الاوفيس و تجرب تفتح ، قبل ده لازم تروح على خيارات المجلد و تعمل اظهار لخيارات الملفات المخفية و ملفات النظام ، حتى تتأكد من جميع ملفاتك ، في كمان برامج لاستعادة جميع ملفات الاكسل ، بس قبل ده لازم تجرب الخطوتين ، إظهار و تحميل ان شاء الله ترجع ملفاتك كاملة1 point
-
تأكد من امتداد ملفات الاكسيل كما فى الصورة 'My Computer'. Browse 'Tools >> Folder Options >> File Types' او جرب هذا البرنامج من هنا1 point
-
احذفه لوسمحت حتى لا يضر اح ياغالى ادخل على السى وباعدين ويندوز وباعدين على فولدر سيستم ٣٢ قم باءظهار الملفات المخفيه ستجد ملف حروفه غريبه ومالوش معنى ادخل عليه بكليك يمين كاكسبلور ان شاء الله تلاقى ملفاتك بالتوفيق متنساس تحذف مرفق الفيرس اللى انت حملته ده1 point
-
جزاك الله خيرا استاذنا تقبل تحياتى1 point
-
اشكرك استاذي الكريم سعيد .. كلها تعمل بشكل سليم الا مجموع الاستعلامات CurrentDb.QueryDefs.Count بحيث ان عندي في قاعدة البيانات استعلام واحد .. لكن يظهر في المجموع 267 ؟!! اضحك الله سنك لي غرض احصائي في برنامجي فاحتاج لمعرفة الاعداد بدون استخدام العد على الاصابع وحيث اني بحثت عن هذه المعلومة التي خطرت على بالي في المنتدى ولم أجد شخص قد تطرق لها وجدت الحل CurrentData.AllQueries.Count1 point
-
1 point
-
السلام عليكم عشنا أياماً جميلة استمتعنا واستفدنا من مصطبة أخينا الحبيب ياسر العربي فهل ستتكرر مثل هذه الأيام الجميلة أم أنها ولت إلى غير رجعة... حنين وشوق لأيام خلت...دياركم عامرة أخي الحبيب ياسر أبو أسيل وكذلك أخونا الحبيب الصقر الذي قلت مشاركاته بعد الترقية ثم الرجوع عنها ....سبحان الله والسلام عليكم1 point
-
1 point
-
السلام عليكم ورحمة الله وبركاته أخي الحبيب صلاح "أصلح الله بالك وجعلك من الصالحين المصلحين" آمين جزاكم الله خيراً على هذه المشاركة الطيبة التي أرجو أن تزيدنا من أمثالها فنحن نتشوّق ونتعطش لها راجين الله العلي القدير أن يصلح فساد قلوبنا وأن يجعلنا على المحجة البيضاء التي تركنا عليها سيدنا محمّد صلى الله عليه وسلم... والسلام عليكم ورحمة الله وبركاته.1 point
-
مثال رقم 3 :- فى المثال رقم 2 كان الشرح على نفس الصوره السابقه فورم فى مرحلة التصميم وصممت عليه Frame والفريم لا يوجد به اى عناصر تحكم تم تصميمها وكان المثال برقم 2 انى اعمل كود عند فتح الفورم يكون هناك عدد 10 صفوف من العناصر كل صف به ليبل وتكست بوكس وكمبوبوكس المثال بتاعنا اليومعايز اعرف ازاى اضيف عناصر تحكم اثناء فتح الفورم من شيت اكسيل وعدد الصفوف بالشيت غير معروف عددها فى زياده او نقصان شاهد الصوره هتعرف اكتر المثال بتاعنا بكل بساطه نفس الكود اللى بالمثال 2 مع تعديلات فنيه بسيطه جدا دا كان الكود اللى بالمثال 2 Private Sub UserForm_Initialize() Dim Top As Integer Dim i As Integer Top = 5 For i = 1 To 10 With Me.Frame1.Controls.Add("Forms.Combobox.1", "Combobox" & i) .Left = 20 .Top = Top .Height = 40 .Width = 150 .BackColor = &HFFFFC0 .TextAlign = fmTextAlignCenter .FontSize = 20 .Font.Bold = True Dim a As Variant a = Array("ناجح", "راسب") .List = a End With With Me.Frame1.Controls.Add("Forms.TextBox.1", "TextBox" & i) .Left = 180 .Top = Top .Height = 40 .Width = 150 .TextAlign = 2 .FontSize = 20 .Font.Bold = True .BackColor = &HC0FFFF End With With Me.Frame1.Controls.Add("Forms.Label.1", "Label" & i) .Left = 340 .Top = Top .Height = 40 .Width = 150 .SpecialEffect = fmSpecialEffectEtched .TextAlign = 2 .FontSize = 24 .Font.Bold = True .BackColor = 8454016 .Caption = "الصقر" & i End With Top = Top + 40 Next Me.Frame1.ScrollHeight = Top End Sub ايه المطلوب تعديله بالكود لكى يتناسب مع المطلوب بتاعنا رفع الخلايا من الشيت الى الفريم المثال كان على ان عدد الصفوف 10 لذالك استخدمنا الحلقه For next كالتالى For i = 1 To 10 فدلوقتى انا عايز اجيب الخلايا بالشيت رقم 1 النطاق من A2 الى اخر صف هيكون به اخر طالب اذن بداية الحلقه هى اول صف بالجدول وهو الخليه A2 ورقم الصف لها هو 2 اذن الحلقه هتبدأ من رقم 2 الى ؟ الى اخر صف به بيانات فى العمود A اذن لازم احدد اخر صف به بيانات من خلال السطر التالى واحنا شرحناه قبل كدا lr = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row عملت متغير واسمه Lr وتقدر تسميه اى اسم كيفما شئت وقلت ان المتغير Lr يساوى كتبت اسم الشيت المراد العمل عليه واستخدمت Cells لتحديد عدد الخلايا الممتلئه بالبيانات فى العمود 1 كدا انا عرفت الحلقه من اين تبدأ واين تنتهى ( تبدأ من الصف 2 الى اخر صف به بيانات ) For i = 2 To lr شاهد الكود بعد تعديل الحلقه For Private Sub UserForm_Initialize() Dim Top As Integer Dim i As Integer lr = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row Top = 5 For i = 2 To lr With Me.Frame1.Controls.Add("Forms.Combobox.1", "Combobox" & i) .Left = 20 .Top = Top .Height = 40 .Width = 150 .BackColor = &HFFFFC0 .TextAlign = fmTextAlignCenter .FontSize = 20 .Font.Bold = True Dim a As Variant a = Array("ناجح", "راسب") .List = a .Text = Sheet1.Cells(i, 3).Text End With With Me.Frame1.Controls.Add("Forms.TextBox.1", "TextBox" & i) .Left = 180 .Top = Top .Height = 40 .Width = 150 .TextAlign = 2 .FontSize = 20 .Font.Bold = True .BackColor = &HC0FFFF .Text = Sheet1.Cells(i, 2).Text End With With Me.Frame1.Controls.Add("Forms.Label.1", "Label" & i) .Left = 340 .Top = Top .Height = 40 .Width = 150 .SpecialEffect = fmSpecialEffectEtched .TextAlign = 2 .FontSize = 24 .Font.Bold = True .BackColor = 8454016 .Caption = Sheet1.Cells(i, 1).Text End With Top = Top + 40 Next Me.Frame1.ScrollHeight = Top End Sub اللى مركز معايا هيلاقى 1- تم تعديل بداية ونهاية الحلقه For 2- فى سطر تم اضافته فى خصائص كل عنصر فى عنصر الكمبوبوكس تم اضافه السطر التالى .Text = Sheet1.Cells(i, 3).Text قيمة الكمبوبوكس هى كتبت اسم الشيت وهو بمثالنا الشيت 1 ثم الخلية المطلوبه Cells عباره عن (رقم العمود, رقم الصف)Cells ( Cells( i , 3 i هنا هى رقم الصف اللى هيتغير كل مره بالحلقه For والعمود هو رقم 3 الخاص بالحاله --------------------------------- فى عنصر التكست بوكستم اضافه السطر التالى .Text = Sheet1.Cells(i, 2).Text نفس الكمبوبوكس ولكن تم تغيير رقم العمود هو 2 الخاص بالدرجه ---------------------------------- فى عنصر الليبل تم اضافه السطر التالى .Caption = Sheet1.Cells(i, 1).Text نفس الكمبوبوكس والتكست بوكس ولكن تم تغيير رقم العمود هو 1 الخاص باسم الطالب ----------------------------------------------------------------------------------------------------------------------- ملحوظه اخيره لمن يريد درجة الاحترافيه فى الكود لما كنا بنعمل خصائص العنصر كان الخاصيه Left & Top & Width& Height لكل عنصر كان بيتم كتابتهم بالشكل التالى كلا منهم على حد فى سطر مختلف على سبيل المثال خصائص التكست بوكس With Me.Frame1.Controls.Add("Forms.TextBox.1", "TextBox" & i) .Left = 180 .Top = Top .Height = 40 .Width = 150 .TextAlign = 2 .FontSize = 20 .Font.Bold = True .BackColor = &HC0FFFF .Text = Sheet1.Cells(i, 2).Text End With ممكن اكتب الاربع خصائص فى سطر واحد من خلال Move القاعدة الخاصه بــ Move Move Left, Top, Width, Height. ويكون شكل الكود كالتالى بالخصائص With Me.Frame1.Controls.Add("Forms.TextBox.1", "TextBox" & i) .Move 180, Top, 150, 40 .TextAlign = 2 .FontSize = 20 .Font.Bold = True .BackColor = &HC0FFFF .Text = Sheet1.Cells(i, 2).Text End With تم استبدال الاربع صفوف بسطر واحد من خلال Move -------------------------------------------------------------------------------------------------------- جرب الكود بنفسك هتثبت المعلومه اكتر الى لقاء اخر من حلقات سلسلة علمنى كيف اصطاد ان شاء الله هيكون عن كيفية التحكم فى العناصر الموجوده داخل الفريم سوء كانت مصممه اثناء عملية التصميم او تم انشائها بكود انتظرونا تقبلوا تحياتى1 point
-
الحلقة الثامنة *********** السلام عليكم ورحمة الله وبركاته أسعد الله أوقاتكم إخواني الكرام في الصرح العملاق هنتكلم النهاردة عن نافذة مهمة جدا ومهمشة في الشروحات إلى حد كبير .. النافذة اسمها (النافذة الفورية Immediate Window) ودي بتفكرني بالخميرة الفورية .. تلاقي ست البيت مستعجلة ع العجين ، ومعندهاش صبر ، كتر خيرها وراها فيس بوك مش فاضية للعجين ، تقوم تستخدم الخميرة الفورية عشان العجين يخمر بسرعة ..(واحد هيقولي إنت شكلك شغال في فرن) ! نفس الفكرة معانا بردو مع النافذة الفورية اللي هنتكلم عليها ، بمعنى لو فيه سطر معين من الأكواد عايز تشوف نتيجته بشكل فوري ، يبقا هو دا المكان المناسب عشان تحصل على النتيجة السريعة .. أولاً قبل ما ننسى وياخدنا الكلام ، إحنا بنظهر النافذة دي من قايمة View ثم Immediate Window ، واللي هيركز هيلاقي الاختصار الخاص بيها CTRL + G بتظهر النافذة دي أسفل المحرر ودي من ضمن هيكلة محرر الأكواد ، ممكن تتحكم في حجمها من خلال سهم بيظهر في المربع الأحمر في الصورة دي : المهم هي دي النافذة الفورية ، بصراحة أداة رائعة للي يفهمها كويس ، ممكن من خلالها تنفيذ الأكواد بشكل سريع ، وممكن تجاوبك على الأسئلة بشكل فوري وهنشوف الكلام ده بالأمثلة ، وبتستخدم لتصحيح الأخطاء البرمجية Debugging ، وكمان تستخدم لإظهار نتائج الكود .... الكلام النظري مش هيفيد زي العملي .. فلنبدأ الحلقة : أولا هنشتغل محققين (أخيرا الواحد ياخد وضعه - مش هنفضل كدا ملطشة دايما ، إحنا اللي دايما بنتسأل ) إحنا نسأل وهو يجاوب ، ومننساش الإجابة هتكون فورية ... طبعاً كل اللي ظاهر قدامنا مجرد مؤشر الماوس واقف في أول النافذة .. إحنا اتعودنا إن السؤال دايما بيكون آخره علامة الاستفهام ، هنا الوضع مختلف ، إحنا هنحط علامة الاستفهام في الأول عشان نخض النافذة كأننا بنقولها انتبهي هسألك ، وجاوبي في الحال : نكتب مثلاً السطر التالي (نكتبه يا كابتن حسام مش ننسخه) ?Rows.Count أو ? Rows.Count ممكن بعد علامة الاستفهام نترك مسافة أو لا نترك ، الأمر سيان ، وممكن مؤشر الماوس يكون في نهاية السطر أو في أي مكان داخل السطر ، الأمر سيان .. بعد ما نكتب نضغط Enter نلاقي الإجابة في التو وفي الحال (ونعم النافذة المطيعة) السطر اللي فات هيعد عدد الصفوف في ورقة العمل (1048576) .. الإجابة هتكون من غير أقواس ? Columns.Count عدد الأعدمة في ورقة العمل ، الإجابة (16384) محدش يجرب يعد الخلايا لأن دا هيسبب حاجة اسمها Overflow (جرب بنفسك هيطلع لك رسالة خطأ) نجرب نعد أوراق العمل ? Worksheets.Count أو ? Sheets.Count نجرب نفتح مصنفين مثلاً ونجرب السطر التالي ? Workbooks.Count السطر الأخير لعد المصنفات المفتوحة!! ناخد أمثلة تانية ، هو مفيش غير أسئلة العد دي .. لا طبعا الأسئلة كتير ، بس أنا بقول بالمرة نتعلم أسطر جديدة عشان نستفيد منها في التطبيق العملي طيب نخلي نافذة الإكسيل ونافذة المحرر جنب بعض زي ما اتعلمنا قبل كدا ، ونضع في الخلية B4 القيمة 100 ، وبعدين كليك يمين وتنسيق خلايا ، ونخلي تنسيق الخلية كعملة بالجنيه المصري مثلاً ، ونلونها باللون الأصفر بلاش الأحمر اللي الناس هتبدأ تتعقد منه ، ونخلينا واقفين في الخلية B4 بحيث تكون الخلية هي الخلية النشطة ActiveCell.. نرجع للفورية (النافذة الفورية إنتو لحقتو تنسوا !! ربنا يستر عليكم من الزهايمر) ، ونكتب السطر التالي لمعرفة قيمة الخلية B4 : ? Range("B4").Value ونجرب السطر التالي لمعرفة تنسيق الخلية B4 اللي هي الخلية النشطة : ? ActiveCell.NumberFormat ونكتب السطر التالي لمعرفة عرض العمود للخلية النشطة : ? ActiveCell.ColumnWidth ونكتب السطر التالي لمعرفة عنوان الخلية النشطة : ? ActiveCell.Address ونكتب السطر التالي لمعرفة رقم صف الخلية النشطة : ? ActiveCell.Row ونكتب السطر التالي لمعرفة رقم عمود الخلية النشطة : ? ActiveCell.Column ونكتب السطر التالي لمعرفة رقم اللون الداخلي للخلية النشطة (مش لون الخط Font ) : ? ActiveCell.Interior.Color ونكتب السطر التالي لمعرفة اسم ورقة العمل اللي موجودة فيه الخلية النشطة : ? ActiveCell.Parent.Name في السطر الأخير الكلمة Parent في اللغة الإنجليزية معناها (أحد الوالدين .. وأنا هترجمها الأم ؛ لأن الأم متوصي عليها 3 مرات) ، فالخلية النشطة جزء صغير من الحضن الكبير اللي هو ورقة العمل ، فبالتالي الخلية بمثابة الابن ، وورقة العمل بمثابة الأم ، ففي السطر اللي فات عايزين نعرف اسم الأم للخلية النشطة (واحد هيقولي النتيجة هتطلع كريمة مختار ..ما هي بتطلع بدور الأم دايما ) .. أنا بالفعل خليت اسم الشيت (كريمة مختار) فطلعت النتيجة (كريمة مختار) بس الاسم من غير أقواس .. أنا طولت في الجزئية اللي فاتت عشان نقدر نستفيد كمان من الأكواد المختلفة عشان نبدأ نتقدم في مرحلة التعلم بشكل أسرع (وعشان كمان عجباني شغلانة المحقق دي بصراحة ..أنا أسأل وهو يجاوب !!) ننتقل لجزئية تانية : النافذة دي ليها دور تاني غير اللي عملناه من شوية ، إننا نقدر من خلالها ننفذ الكود مباشرة ، بس بشرط يكون الكود سطر واحد ناخد مثال تطبيقي عملي ، ونكتب السطر التالي لتغيير لون التاب Tab (التبويبات المختلفة لأوراق العمل) - مننساش قبل ما نضغط إنتر نبص على لون التبويب لورقة العمل النشطة ActiveSheet : ActiveSheet.Tab.Color = vbRed لو معجبكش اللون خليه vbYellow ، ولا تزعل نفسك يا منير !! السطر ببساطة بيتعامل مع ورقة العمل النشطة (مش الخلية النشطة نخلي بالنا) وبعدين Tab للتعامل مع التبويبات لأوراق العمل ، وأخيراً Color لتحديد قيمة للون التاب ، ونخلي القيمة اللون اللي يناسبنا .. بكدا نعرف معلومة جديدة إننا ممكن ننفذ الكود من خلال النافذة الفورية ، ونشوف نتيجة تنفيذه في ورقة العمل مباشرةً.. نجرب السطر التالي لتنسيق عرض الأعمدة من A إلى D بمقدار 5 : Columns("A:D").ColumnWidth = 5 ونكتب السطر التالي لجعل ورقة العمل المسماة Sheet1 مخفية : Worksheets("Sheet1").Visible = False أو Sheets("Sheet1").Visible = False ولإظهارها بنغير القيمة False إلى القيمة True .. وممكن نستغنى عن القيمتين دول ، لو عايزين نتعلم الصح هنا .. هنتعلم من خلال الأسطر القادمة التعامل مع الخاصية Visible >> بالنسبة للخاصية Visible ممكن نحط لها قيمة من 3 قيم : -1 أو xlSheetVisible (لإظهار ورقة العمل ...) * القيمة 0 أو xlSheetHidden (لإخفاء ورقة العمل ..) * القيمة 2 أو xlSheetVeryHidden (لإخفاء ورقة العمل ..) محدش منتبه ليه ؟ شكلي كدا هبطل الحلقات بسبب عدم التركيز .. القيمة 0 والقيمة 2 للخاصية Visible نفس الوظيفة (طبعا ً لا .. طبعاً لأ) أمال ايه الموضوع ؟ ايه الفرق؟ القيمة 0 ، دا إخفاء عادي ، يعني ممكن لو أي مستخدم عنده خبرة وعمل كليك يمين على التاب الخاص بأسماء أوراق العمل ، هيلاقي الأمر Unhide ، هيضغط عليه هيلاقي الورقة المخفية ، فيقوم يظهرها .. أما القيمة 2 ، فدا الإخفاء السوبر (زي التطشيب السوبر لوكس) ، دا بقا يخلي المستخدم لو عمل كليك يمين في المكان اللي قلنا عليه ، هيلاقي الأمر Unhide مش أكتيف مش نشط ..! ولإظهار الورقة في هذه الحالة لابد من الدخول على محرر الأكواد ، ومن النافذة properties (ودي لو مش ظاهرة بنضغط F4 تقوم تطل علينا بطلعتها البهية ) ، هنحدد ورقة العمل المسماة Sheet1 ونشوف نافذة الـ Properties في آخرها هنلاقي الخاصية Visible نختار منها أول اختيار الخاص بإظهار ورقة العمل .. أو نستخدم الكود لإظهارها .. السطر اللي المفروض نكتبه هيكون بالشكل ده : Sheets("Sheet1").Visible = -1 خلاصة الجزئية اللي فاتت إننا ممكن ننفذ الأكواد عن طريق النافذة السحرية (أنا حر في تسميتها ..بلاش تعترض يا مدحت) ننتقل لجزئية جديدة ، مع اسستخدام جديد للنافذة العبقرية ، ألا وهي تصحيح الأخطاء البرمجية (ودا الاستخدام الشائع ليها) ودا بيطلق عليه Debugging .. الأخطاء البرمجية بيطلق عليه Bugs (بق : لأن البق حشرة ضارة ، زيها زي الخطأ البرمجي ضار بالكود) قبل ما نسرد في الشرح نتعرف على كائن اسمه Debug ودا بيستخدم في الأكواد عشان يطبع (بس مش على ورق ..أمال هيطبع على ايه ؟؟ هيطبع النتائج في النافذة الفورية) ، والخاصية المرتبطة بهذا الكائن الخرافي اسمها Print ، ونرجع تاني بالذاكرة عشان نتذكر المعلومة اللي ذكرناها عن الفعل Print إنه Method .. ناخد مثال عملي عشان نفهم إزاي نستخدم الكائن Debug ، أدرج موديول جديد ، وضع فيه هذا الإجراء الفرعي : Sub ErrorCode() MyRandomNumber = Rnd() / 0 End Sub فيه دالة بالإكسيل اسمها Rand لعمل أرقام عشوائية بين الصفر والواحد ، ولو حبينا تكون الأرقام العشوائية بين الصفر والعشرة مثلاً نضرب * 10 داخل ورقة العمل قم بتحديد مجموعة خلايا واكتب المعادلة التالية ثم اضغط Ctrl + Enter ، ولتجربة المعادلة اضغط F9 =RAND()*10 المقابل للدالة دي في محرر الأكواد Rnd ووراها قوسين ، يعني الاختلاف في حرف واحد زيادة في الدالة (يا عم بيل جيتس يعني فرقت معاك في الحرف ده ، ما كنت خلتها نفس الحروف !!) يرجع مرجعونا للكود : المتغير وضعنا له قيمة رقم عشوائي على صفر (وعارفين في الرياضيات أنه لا يمكن القسمة على صفر) يعني هذه القيمة تعتبر باطلة ننفذ الكود هنلاقي رسالة خطأ بتقول : Divison By Zero ، نضغط على إنهاء للخروج من نافذة الخطأ .. ممكن واحد مذاكر شوية يقول فيه جملة أنا حافظها عشان أتلاشى رسالة الخطأ : On Error Resume Next والجملة دي نحطها قبل السطر اللي فيه الخطأ البرمجي .. دلوقتي لو نفذنا الكود هنلاقي إن مفيش حاجة حصلت ، طيب نضيف سطر أخير زي كدا : Sub ErrorCode() On Error Resume Next MyRandomNumber = Rnd() / 0 Debug.Print Err.Description End Sub السطر الأخير بيتعامل مع النافذة الفورية ، ننفذ الكود وعنينا على النافذة الفورية .. نفذتوا الكود :: نلاحظ الجملة دي ظهرت في النافذة الفورية Division by zero ، ودي وصف للخطأ البرمجي الموجود داخل الكود .. كلمة Err دي اختصار لكلمة Error (خطأ) ، وبعدين نقطة فتظهر الخواص المرتبطة بكلمة Err ، هنلاقي كلمة Description ودي معناها وصف .. خلاصة لكلام وصف الخطأ . والناتج هيظهر لي في النافذة الفورية .. معلومة تانية ، ممكن ننفذ الكود من خلال النافذة الفورية عن طريق أمر اسمه Call وبعديه مسافة متبعة باسم الإجراء الفرعي أو الدالة بهذا الشكل Call ErrorCode() وممكن نكتب القوسين أو منكتبهمش الأمر سيان !! ناخد مثال تاني على دالة UDF دالة معرفة ، ودي اتكلمنا عليها الحلقة اللي فاتت .. هنعمل دالة بسيطة على السريع ، عشان نطبقها في النافذة الفورية : Function MyName() As String MyName = "YasserKhalil" End Function نكتب ايه في النافذة الفورية ؟؟ في حالة الإجراء الفرعي من شوية كتبنا الأمر Call متبوع بمسافة وبعدين اسم الإجراء الفرعي عشان أقدر أنفذ الكود داخل النافذة الفورية ، أما بالنسبة للدالة Function فبنستخدم علامة استفهام في البداية ? MyName جرب الأمر Call قبل MyName وجرب تشيله مرة ، هتلاقي مفيش نتيجة تظهر لك .. الشكل الصحيح في السطر اللي فات وبس يبقا نخلي بالنا في حالة استدعاء الإجراء الفرعي بنستخدم Call ، أما في حالة الدوال فبنستخدم علامة استفهام قبل اسم الدالة .. نرجع تاني للكائن Debug هل الكائن الخرافي ده مرتبط بالأخطاء فقط ؟؟ الإجابة لا ، هو بييجي وراه كلمة Print لطباعة أي نتائج .. وكمثال أخير عشان الحلقة طولت : Sub PrintX() For X = 1 To 5 Debug.Print X Next X End Sub في الكود الموجود يا عبد الودود فيه حاجة في الـ VBA اسمها الحلقة التكرارية ، ودي مش هشرحها ، لأن فيه موضوع في توقيعي خاص بالحلقة التكرارية For.. Next ، ومرفق بالموضوع ملف فيديو في المشاركات (يرجى الرجوع إليه ..) ما بين سطرين الحلقة التكرارية الأمر اللي بيقوم بطباعة قيمة المتغير X في النافذة الفورية .. ركز في النافذة السحرية هتلاقي النتايج الفورية ، على ما خلصت الحلقة ديا أنا طلعت عينيا .. يارب تكونوا استفدتوا بنسبة 100% ، وإلى لقاء مع حلقة مفيدة ومجدية ، أترككم في حفظ الله . مثال آخر : لمزيد من التوضيح (مثال بدون شرح) >> حلقة تكرارية لأوراق العمل الموجودة داخل المصنف << (الواجب تنفيذ الكود وشرحه) Sub List_Sheets() Dim WS As Worksheet For Each WS In Worksheets Debug.Print WS.Name Next WS End Sub كان معكم المحقق أبو البراء من نيابة أوفيسنا .. والسلام حسن الختام ...1 point
-
السلام عليكم ورحمة الله وبركاته أخي العزيز أبو عيد أنا عاجز عن شكرك فحضورك وتفاعلك معي في حد ذاته مثمن ومقدر ودعوت الله لك أن يبارك لك في علمك ومالك وذريتك وأن يغفر الله لوالدينا ووالديك آآآمين يارب .. جهد تشكر عليه ولكن ساوضح لك الفكرة التي عملت عليها هذا العمل .. الجدول تجارب هو الادخال للموظف واهدف من هذا الشيت أن يكون مدير العمل مطلع على حركة الموظف في شيت واحد فقط ويتعرف من خلاله على حضوره وغياباته وتأخراته واجازاته وكل ما يخصه في صفحة واحدة تساعده في اتخاذ قرار او توجه نحو ذلك الموظف. عملت الجدول ( تجارب ) واصبحت سابقا أعمل اضافة جدول لكل موظف واحيانا تصل ألى 40 موظف وأكثر وكان هناك ثلاثة ارتباطات في صفحة كل موظف لاجراءات الغياب والتاخر على برنامج word يتم كتابة اسم الموظف وبياناته وغيابه يدويا . في المرحلة الثانية عملت ( تجارب ) لتسجيل غياب وتأخرات وخروج وانواع اجازات كل موظف ولكن جعلت في هذا النموذج اربعة نماذج لاجراءات الغياب والتأخرات ولكنها هذه المرة كل نموذج مرتبط بشيت على الاكسل وتجدها برقم 1-2-3-4 . المشكلة التي وقعت بها نموذج ( تجارب) الذي ادون فيه كل شي للموظف سهل تكراره ووجعله باسم جديد لكل موظف احدثه .. لكن الاربعة النماذج الاخرى بحكم انها مرتبطة بنموذج تجارب وتغذي بمعلومات الموظف تلقائيا فهل هناك طريقة اجعلها لاتتكرر مع كل موظف لانها تفتح على الاكسل فلو ساعدتني في ذلك بحيث اكرر نموذج ( تجارب) لمحمود - وخالد - وعبدالصمد ولكن عند طلب اجراء لأي أحد منهم ينقلني على نموذج خاص بذلك الموظف .. أتمنى أنني وفقت في توضيح ما اريد ورحم الله والديك .. ستجد ملف مرفق جديد بآخر محاولاتي .. 999غياب الاخير 5-2- 1436.rar1 point
-
اخي العزيز hkh007 هل ممكن بعد ان تجرب هذه الاده تشرح لنا كيف يمكن استخدمها بمثل لاني مبتدائي ولااعرف كيف يمكن استخدام او التسجيل حتي يتم الاستفاده مع خلاص الشكر1 point