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

أ / محمد صالح

أوفيسنا
  • Posts

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

  • Days Won

    198

كل منشورات العضو أ / محمد صالح

  1. هذا الخطأ له احتمالات كثيرة لذا يفضل عرض الكود كاملا والسطر موضع الخطأ حتى يمكننا مساعدتك بإذن الله
  2. المقصود واضح جدا وزيادة في التوضيح إضغط على الرابط في المشاركة السابقة لي سيفتح معك نتائج البحث في المنتدى زر جميع نتائج البحث تفهم الأكواد المستعملة طبق هذه الأكواد على ملفك هذا طريق من يريد التعلم الذاتي المستمر بالتوفيق
  3. ربما تقصد تثبيت الصفوف * يمكنك نقل هذه الخلايا جنب بعضها في الصف الأول * ثم من تبويب view / عرض اختر freeze panes / تجميد الألواح ثم اختر freeze top row تجميد صف المقدمة أرجو أن يكون هو المطلوب
  4. تفضل هذا الملف بعد تعديل بسيط تم حذف عمود الكمية الكلية وتمت قراءة البيانات من شيت البيانات الثابتة Test3.xls
  5. بالنسبة لموضوع إنشاء أكثر من صفحة فلا يمكن مع استعمال العلامات المرجعية 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 ودمجهم بالتوفيق
  6. شكرا أخي @أبو إبراهيم الغامديهذا الذي أفعله في برمجة الويب كتابة التنسيق بلغة html ووضع البيانات القادمة من الاستعلامات في أماكنها لكن طريقة العلامات المرجعية bookmarks المقترحة من صاحب السؤال هي التي فرضت علينا التعامل معها لحل مشكلته وإذا سمحت لي فالمشكلة في الكود في المرفق في هذه المشاركة Open Me.Groupx & ".mht" For Output As #1 وتغييره إلى Open CurrentProject.Path & "\" & Me.Groupx & ".doc" For Output As #1 ما أجمل الربط بين مهارات البرمجة في كل مجال
  7. يمكن تغيير الأسماء بأسماء افتراضية مثل محمد1 مع السحب المهم مثال يعمل الناس على المطلوب فيه لتقريب وجهات النظر
  8. يوجد معادلتان في الشيت الأولى تقوم بجمع المبالغ الموجودة في العمود D والثانية تقوم بعد هذه المبالغ وتعملان حتى الصف 1000 ويمكنك زيادة نهاية الصفوف في المعادلة إذا تجاوزت 1000 صف من المبالغ
  9. أخي الكريم يمكنك استعمال الدوال المستعملة في هذه النتائج وتنسيقها لتناسب رغباتك Showing results for 'تفقيط مساحة'. - أوفيسنا (officena.net) أو تعديل ملفك ليتناسب مع الأكواد فكلاهما صواب
  10. يمكنك استعمال هذه الحلقات التكرارية للتأكد من تساوي قيمة العمود 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 يمكنك وضعها بعد أمر الطباعة بالتوفيق
  11. فكرة السؤال هي نفس فكرة هذا الموضوع والحل بإذن الله تعديل كود الزر 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 للقائمة الخاصة بالمجموعات بالتوفيق
  12. ربما يكون هذا هو السبب في عدم عمل كود الطباعة كود الطباعة يعتمد على أنه بمجرد تغيير قيمة الخلية 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 لأن في كل صفحة شهادتين بالتوفيق
  13. يسأل عنها صاحب الكود ولكن ربما تكون هذه الطريقة Unviewable+ Best Way for VBA Code Protection — TheSpreadsheetGuru
  14. لماذا لا يمكن وضع كل الجداول في شيت واحد؟ هل يزيد عدد الصفوف فيها جميعا عن 1048576 (مليون و48 ألف و 576) وهو عدد الصفوف المسموح به في اكسل؟ عموما أخي الكريم الترحيل الذي يتبعه التحديث عند التعديل الأفضل فيه أن يكون معادلات
  15. لا أجد ملفا مرفقا من حضرتك حتى يمكن توضيح وجهة نظري فيه ولا أجد وقتا لعمل ملف يناسب احتياجات حضرتك
  16. شكرا لكلماتك الطيبة أنا شخصيا في مثل هذه الأمور اجعل جميع العمليات في شيت واحد وأيضا استعمل دالة الجمع المشروط sumif او sumifs بالتوفيق
  17. ثمانية مطلوبات !!!!!! ....... وكل واحد منهم يحتاج الكثير من العمل !!!!! الهدف الأساسي للمنتدى هو تبادل الخبرات ومساعدة كل منا للآخر فيما لا يستطيع عمله وليس في أن يصمم أحدنا للآخر برنامجا كاملا (فما مقابل الوقت والجهد المبذول في تصميم وبرمجة الملف؟؟!!) فالأفضل هو قراءة الموضوعات التي يتعلم منها الإنسان تصميم برنامجه بنفسه وإذا عجز عن نقطة أو اثنين على الأكثر يعرضها ساعتها سيجد الجميع يساعده
  18. هذه ليست مشكلة إنما هي رسالة تخبر أن مشروع الأكواد vba في الملف لا يمكن عرضه (إخدى وسائل حماية صاحب الكود لأكواده)
  19. بالتوفيق لا تنس اختيار أفضل إجابة والإعجاب بالمشاركات المفيدة لك
×
×
  • اضف...

Important Information