-
Posts
4,444 -
تاريخ الانضمام
-
Days Won
192
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو أ / محمد صالح
-
كيف هي طريقة الجمع التراكمي لجدول بيانات كوكل في الاكسل
أ / محمد صالح replied to حربي العنزي's topic in منتدى الاكسيل Excel
تفضل هذا الملف بعد تعديل بسيط تم حذف عمود الكمية الكلية وتمت قراءة البيانات من شيت البيانات الثابتة Test3.xls -
طلب تعديل على كود تصدير حقول إلى الوورد
أ / محمد صالح replied to حامل المسك's topic in قسم الأكسيس Access
بالنسبة لموضوع إنشاء أكثر من صفحة فلا يمكن مع استعمال العلامات المرجعية bookmarks ولكن يمكننا التحايل على الأمر بدمج الملفات التي يتم إنشاؤها بالكود في ملف واحد باسم المجموعة ويتم تخزينه في مجلد باسم (المجموعات) يجب إنشاؤه في نفس مجلد البرنامج وهذا هو الكود بعد التعديل Private Sub أمر11_Click() Dim X As Object Dim objWord As Object Set X = CreateObject("Word.Application") While Me.CurrentRecord < Me.Recordset.RecordCount If Me.Groupx = Me.grooup Then X.Documents.Open CurrentProject.Path & "\asdf.docx" X.Visible = True X.ActiveDocument.Bookmarks("asx").Select X.Selection.InsertAfter NewNamee Dim rs As DAO.Recordset, NewName As String, noobBB As String, NewNamex As String Set rs = CurrentDb.OpenRecordset("SELECT WAdecisA.NewNamee, WBRation.NewName FROM WAdecisA INNER JOIN WBRation ON WAdecisA.noa = WBRation.noob WHERE WAdecisA.noa= " & noa & ";", dbOpenSnapshot) With rs .MoveLast .MoveFirst For i = 1 To .RecordCount NewName = NewName & IIf(NewName = "", "", vbCrLf) & Nz(rs.Fields(1).Value, "") .MoveNext Next i End With X.ActiveDocument.Bookmarks("bc").Select X.Selection.InsertAfter NewName NewName = "" Set rs = CurrentDb.OpenRecordset("SELECT WAdecisA.NewNamee, WCdecisQ.noobBB , WCdecisQ.NewNamex FROM WAdecisA INNER JOIN WCdecisQ ON WAdecisA.noa = WCdecisQ.nooc WHERE WAdecisA.noa= " & noa & ";", dbOpenSnapshot) With rs .MoveLast .MoveFirst For i = 1 To .RecordCount noobBB = noobBB & IIf(noobBB = "", "", vbCrLf) & Nz(rs.Fields(1).Value, "") NewNamex = NewNamex & IIf(NewNamex = "", "", vbCrLf) & Nz(rs.Fields(2).Value, "") .MoveNext Next i End With X.ActiveDocument.Bookmarks("bzd").Select X.Selection.InsertAfter NewNamex NewNamex = "" X.ActiveDocument.saveas2 CurrentProject.Path & "\" & noa & "_" & Format(Now(), "dd_mm_yyyy_hh_mm_AM/PM") & ".docx" X.ActiveDocument.Close SaveChanges:=0 End If DoCmd.GoToRecord Record:=acNext Wend DoCmd.GoToRecord Record:=acFirst strFile = Dir(CurrentProject.Path & "\*.docx", vbNormal) Set objNewDoc = X.Documents.Add While strFile <> "" And strFile <> "asdf.docx" Set objDoc = X.Documents.Open(FileName:=CurrentProject.Path & "\" & strFile) objDoc.Range.Copy objNewDoc.Activate X.Selection.Paste objDoc.Close SaveChanges:=0 Kill CurrentProject.Path & "\" & strFile strFile = Dir() If strFile <> "" And strFile <> "asdf.docx" Then X.Selection.InsertBreak Type:=1 End If Wend X.ActiveDocument.saveas2 CurrentProject.Path & "\المجموعات\" & grooup & "_" & Format(Now(), "dd_mm_yyyy_hh_mm_AM/PM") & ".docx" X.Quit Set X = Nothing MsgBox "done" End Sub فكرة الكود هي البحث عن جميع الملفات بامتداد docx في نفس المجلد غير asdf.docx ودمجهم بالتوفيق -
كيف هي طريقة الجمع التراكمي لجدول بيانات كوكل في الاكسل
أ / محمد صالح replied to حربي العنزي's topic in منتدى الاكسيل Excel
حسب فهمي للمطلوب يمكنك تجربة هذا الملف Test3.xls -
طلب تعديل على كود تصدير حقول إلى الوورد
أ / محمد صالح replied to حامل المسك's topic in قسم الأكسيس Access
شكرا أخي @أبو إبراهيم الغامديهذا الذي أفعله في برمجة الويب كتابة التنسيق بلغة html ووضع البيانات القادمة من الاستعلامات في أماكنها لكن طريقة العلامات المرجعية bookmarks المقترحة من صاحب السؤال هي التي فرضت علينا التعامل معها لحل مشكلته وإذا سمحت لي فالمشكلة في الكود في المرفق في هذه المشاركة Open Me.Groupx & ".mht" For Output As #1 وتغييره إلى Open CurrentProject.Path & "\" & Me.Groupx & ".doc" For Output As #1 ما أجمل الربط بين مهارات البرمجة في كل مجال -
كيف هي طريقة الجمع التراكمي لجدول بيانات كوكل في الاكسل
أ / محمد صالح replied to حربي العنزي's topic in منتدى الاكسيل Excel
يمكن تغيير الأسماء بأسماء افتراضية مثل محمد1 مع السحب المهم مثال يعمل الناس على المطلوب فيه لتقريب وجهات النظر -
اظهار القيمه عند اضافة مبلغ جديد
أ / محمد صالح replied to hamada rizk's topic in منتدى الاكسيل Excel
يوجد معادلتان في الشيت الأولى تقوم بجمع المبالغ الموجودة في العمود D والثانية تقوم بعد هذه المبالغ وتعملان حتى الصف 1000 ويمكنك زيادة نهاية الصفوف في المعادلة إذا تجاوزت 1000 صف من المبالغ -
أخي الكريم يمكنك استعمال الدوال المستعملة في هذه النتائج وتنسيقها لتناسب رغباتك Showing results for 'تفقيط مساحة'. - أوفيسنا (officena.net) أو تعديل ملفك ليتناسب مع الأكواد فكلاهما صواب
-
عند الضغط على زر طبع يتلون الصف
أ / محمد صالح replied to عبدالله صباح's topic in منتدى الاكسيل Excel
يمكنك استعمال هذه الحلقات التكرارية للتأكد من تساوي قيمة العمود a في شهر3 مع العمود a في استعلام ثم تلوين النطاق من a إلى r lr = Sheets("شهر3").Cells(Rows.Count, 1).End(xlUp).Row Debug.Print lr For n = 2 To lr lr2 = Sheets("استعلام").Cells(Rows.Count, 1).End(xlUp).Row Debug.Print lr2 For m = 9 To lr2 If Sheets("شهر3").Range("A" & n) = Sheets("استعلام").Range("A" & m) Then Sheets("شهر3").Range("A" & n & ":R" & n).Interior.Color = 10213316 End If Next m Next n يمكنك وضعها بعد أمر الطباعة بالتوفيق -
طلب تعديل على كود تصدير حقول إلى الوورد
أ / محمد صالح replied to حامل المسك's topic in قسم الأكسيس Access
فكرة السؤال هي نفس فكرة هذا الموضوع والحل بإذن الله تعديل كود الزر 11 إلى: Private Sub أمر11_Click() Dim X As Object Dim objWord As Object Set X = CreateObject("Word.Application") While Me.CurrentRecord < Me.Recordset.RecordCount If Me.Groupx = Me.grooup Then X.Documents.Open CurrentProject.Path & "\asdf.docx" X.Visible = True X.ActiveDocument.Bookmarks("asx").Select X.selection.InsertAfter NewNamee Dim rs As DAO.Recordset, NewName As String, noobBB As String, NewNamex As String Set rs = CurrentDb.OpenRecordset("SELECT WAdecisA.NewNamee, WBRation.NewName FROM WAdecisA INNER JOIN WBRation ON WAdecisA.noa = WBRation.noob WHERE WAdecisA.noa= " & noa & ";", dbOpenSnapshot) With rs .MoveLast .MoveFirst For i = 1 To .RecordCount NewName = NewName & IIf(NewName = "", "", vbCrLf) & Nz(rs.Fields(1).Value, "") .MoveNext Next i End With X.ActiveDocument.Bookmarks("bc").Select X.selection.InsertAfter NewName NewName = "" Set rs = CurrentDb.OpenRecordset("SELECT WAdecisA.NewNamee, WCdecisQ.noobBB , WCdecisQ.NewNamex FROM WAdecisA INNER JOIN WCdecisQ ON WAdecisA.noa = WCdecisQ.nooc WHERE WAdecisA.noa= " & noa & ";", dbOpenSnapshot) With rs .MoveLast .MoveFirst For i = 1 To .RecordCount noobBB = noobBB & IIf(noobBB = "", "", vbCrLf) & Nz(rs.Fields(1).Value, "") NewNamex = NewNamex & IIf(NewNamex = "", "", vbCrLf) & Nz(rs.Fields(2).Value, "") .MoveNext Next i End With X.ActiveDocument.Bookmarks("bzd").Select X.selection.InsertAfter NewNamex NewNamex = "" X.ActiveDocument.saveas2 CurrentProject.Path & "\" & noa & "_" & Format(Now(), "dd_mm_yyyy_hh_mm_AM/PM") & ".docx" X.ActiveDocument.Close savechanges:=0 End If DoCmd.GoToRecord Record:=acNext Wend DoCmd.GoToRecord Record:=acFirst X.Quit Set X = Nothing MsgBox "done" End Sub لاحظ أمر حفظ الملف باسم جديد هو رقم القرار وتاريخ ووقت التصدير وتفريغ المتغيرات التي تحتوي على سجلا النموذج الفرعي شرط اختبار المجموعة في السجل الحالي وأنصح بوضع كلمة الأولى مثلا كقيمة افتراضية default value للقائمة الخاصة بالمجموعات بالتوفيق -
الشكر لله بالتوفيق
-
ربما يكون هذا هو السبب في عدم عمل كود الطباعة كود الطباعة يعتمد على أنه بمجرد تغيير قيمة الخلية v7 يتم جلب البيانات الخاصة بالشهادة وبعدها يعطي أمر طباعة الحالية وللدمج بين الكودين يمكنك اتباع الآتي: * جعل الخلية المرتبطة في spinner1 هي الخلية v7 وليست v1 * تغيير v1 إلى v7 في هذين السطرين في كود الإجراء Shehada x = (Ws.Range("V7") - 1) * 2 + 1 y = Ws.Range("V7") * 2 تغيير كود إجراء طباعة الكل إلى ما يلي: Sub printall() ActiveSheet.Select Range("w7") = Range("w7") / 2 For i = Range("v7") To Range("w7") Range("v7") = i Shehada If i <= Range("v7") Then ActiveWindow.SelectedSheets.PrintOut , Copies:=1, preview:=False, Collate:=True End If Next i ActiveSheet.Select End Sub لطباعة الشهادات من 1 إلى 8 نكتب بصورة طبيعية 1 في الخلية v7 ونكتب 8 في الخلية w7 سيحولها الكود من 1 الى 4 لأن في كل صفحة شهادتين بالتوفيق
-
مشكلة عند فتح وحدات المكروا ( VBA )
أ / محمد صالح replied to ashraf helmy's topic in منتدى الاكسيل Excel
يسأل عنها صاحب الكود ولكن ربما تكون هذه الطريقة Unviewable+ Best Way for VBA Code Protection — TheSpreadsheetGuru -
لماذا لا يمكن وضع كل الجداول في شيت واحد؟ هل يزيد عدد الصفوف فيها جميعا عن 1048576 (مليون و48 ألف و 576) وهو عدد الصفوف المسموح به في اكسل؟ عموما أخي الكريم الترحيل الذي يتبعه التحديث عند التعديل الأفضل فيه أن يكون معادلات
-
عمل دالة sumifs في السنين والأيام والمدة
أ / محمد صالح replied to الموسطي's topic in منتدى الاكسيل Excel
شكرا لكلماتك الطيبة بالتوفيق -
كيف هي طريقة الجمع التراكمي لجدول بيانات كوكل في الاكسل
أ / محمد صالح replied to حربي العنزي's topic in منتدى الاكسيل Excel
لا أجد ملفا مرفقا من حضرتك حتى يمكن توضيح وجهة نظري فيه ولا أجد وقتا لعمل ملف يناسب احتياجات حضرتك -
كيف هي طريقة الجمع التراكمي لجدول بيانات كوكل في الاكسل
أ / محمد صالح replied to حربي العنزي's topic in منتدى الاكسيل Excel
شكرا لكلماتك الطيبة أنا شخصيا في مثل هذه الأمور اجعل جميع العمليات في شيت واحد وأيضا استعمل دالة الجمع المشروط sumif او sumifs بالتوفيق -
ثمانية مطلوبات !!!!!! ....... وكل واحد منهم يحتاج الكثير من العمل !!!!! الهدف الأساسي للمنتدى هو تبادل الخبرات ومساعدة كل منا للآخر فيما لا يستطيع عمله وليس في أن يصمم أحدنا للآخر برنامجا كاملا (فما مقابل الوقت والجهد المبذول في تصميم وبرمجة الملف؟؟!!) فالأفضل هو قراءة الموضوعات التي يتعلم منها الإنسان تصميم برنامجه بنفسه وإذا عجز عن نقطة أو اثنين على الأكثر يعرضها ساعتها سيجد الجميع يساعده
-
كيف هي طريقة الجمع التراكمي لجدول بيانات كوكل في الاكسل
أ / محمد صالح replied to حربي العنزي's topic in منتدى الاكسيل Excel
يمكنك استعمال دالة sumif أو sumifs -
مشكلة عند فتح وحدات المكروا ( VBA )
أ / محمد صالح replied to ashraf helmy's topic in منتدى الاكسيل Excel
هذه ليست مشكلة إنما هي رسالة تخبر أن مشروع الأكواد vba في الملف لا يمكن عرضه (إخدى وسائل حماية صاحب الكود لأكواده) -
مطلوب كود اعادة تفعيل مشاركة الملف
أ / محمد صالح replied to خالد القدس's topic in منتدى الاكسيل Excel
بالتوفيق لا تنس اختيار أفضل إجابة والإعجاب بالمشاركات المفيدة لك -
اريد كود ظهور رقم الصف فى الليست بوكس
أ / محمد صالح replied to مصطفى احمد سلطان's topic in منتدى الاكسيل Excel
السؤال نظري فبالتالي الإجابة نظرية ولو كان في السؤال كود لعدلته لك -
هذا بالضبط الذي يقوم الكود الموجود في الطباعة printall حلقة تكرارية من v7 إلى w7 ثم يكتب في v7 رقم الصفحة ثم يقوم بطباعة الحالية وهكذا حتى تنتهي الصفحات
-
هل المقصود أنك إذا كتبت مثلا في الخلية V1 الرقم 1 يطبع شهادة واحدة فقط ولا تظهر الثانية بالأسفل وإذا كتبت 2 تظهر الشهادتان ؟؟
-
ما دام الترحيل تلقائيا والتعديل تلقائيا فيمكنك استعمال المعادلات فهي يتم تحديثها حسب المصدر وأبسط طريقة لجلب بيانات من شيت إلى آخر هو استعمال المعادلة التالية ='sheet name'!a1 وتعني إحضار قيمة الخلية a1 من الشيت المسمى sheet name وهكذا