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

الردود الموصى بها

قام بنشر

اخي وحبيبي ابو حنين اثابك الله واطال في عمرك انت وحنين لي طلب هل يمكن كتابة التاريخ في خانة من الشهر والسنة فقط بغض النظر عن اليوم مثلا الزبون محمد 1 من تاريخ 4-2013 الى تاريخ 7-2013 بغض النظر عن اليوم انا في الانتظار

قام بنشر

اخي وحبيبي ابو حنين اثابك الله واطال في عمرك انت وحنين
لي طلب هل يمكن كتابة التاريخ في خانة من الشهر والسنة فقط بغض النظر عن اليوم
مثلا
الزبون محمد 1
من تاريخ 4-2013  الى تاريخ 7-2013
بغض النظر عن اليوم
انا في الانتظار
 

قام بنشر

الاستاذ الكبير ابو حنين

اعمالك دائماً علامه من علامات المنتدى جعلها الله فى ميزان حسناتك

هل يمكن جعل اسم الزبون ياتى من قائمة منسدلة بدل الكتابة ويكون مصدرها العمود الاول

تقبل تحياتى واحترامى

قام بنشر

اخى ابو حنين

بارك الله فيك

ولكن هل يمكن عمل زر للطباعه الفورم

بمعنى

انه يتم طباعه الفورم

ولكن اذا كانت الليست بوكس بها بيانات كثيره يتم طباعه

الهيدر(الاسم-التاريخ من-التاريخ الى)

مع الليست بوكس فى الصفحه الاولى

ثم باقى الليست بوكس فى الصفحه الثانيه مع المبلغ

قام بنشر (معدل)

تسلم الايادي بارك الله فيكم الاخ عادل والاخ الرائع ابو حنين

تم تعديل بواسطه rahekk
قام بنشر

الاستاذ الفاضل ابو حنين

نتعلم منك ونتعلم ومن حلاوة علمك نريد ان نستزيد

بعد اذنك اؤيد طلب الاستاذ ابراهيم ابو ليله فى عمل امر لطباعة الفورم بعد اختيار الزبون وتحديد الفترةواستخلاص النتيجة

قام بنشر

الاستاذ الفاضل ابو حنين

يعجز الكلام عن التعبير على شكرى لشخصكم الكريم على استجابتكم لطلباتنا واعجابنا باعمالكم المميزة

واسمح لى ان اطلب منكم شرح كود الطباعة انه يعتبر كودين فى كود الجزء الاول استخلاص البيانات ( ترحيلها ) ثم طباعتها

تقبل منى كل الشكر والدعاء بدام الصحة والستر والعافية

قام بنشر

هذا شرح مبسط لعمل الكود

'************************************************************
' هذا الجزئ خاص بتعيين ورقة الطباعة
Set sh = Sheets("ورقة2")
With sh
.Activate
'************************************************************


'************************************************************
' هذا السطر خاص بتحديد آخر خلية تحتوي على بيانات
LsRow = .Cells(Rows.Count, "B").End(xlUp).Row + 1
'************************************************************



'************************************************************
' عند حدوث خطأ ما أكمل
On Error Resume Next
'************************************************************


'************************************************************
' حلقة تكرار تقوم بحساب عدد صفوف اللستبوكس
For AA = 0 To ListBox1.ListCount
'************************************************************


' نقل البيانات الموجودة في العمود الاول من اللستبوكس الى العمود الثاني في ورقة الطباعة
.Cells(AA + LsRow, 2) = ListBox1.Column(0, AA)
'************************************************************


'************************************************************
' نقل البيانات الموجودة في العمود الثاني من اللستبوكس الى العمود الثالث في ورقة الطباعة
.Cells(AA + LsRow, 3) = ListBox1.Column(1, AA)
'************************************************************

' نقل البيانات الموجودة في العمود الثالث من اللستبوكس الى العمود الرابع في ورقة الطباعة
.Cells(AA + LsRow, 4) = ListBox1.Column(2, AA)
'************************************************************

' رسم جدول يحتوي البيانات الموجودة في ورقة الطباعة
.Range(.Cells(9, 2), .Cells(LsRow + AA - 1, 4)).Borders.LineStyle = xlContinuous
' الى هنا ينتهي كود نقل البيانات من اللستبوكس الى ورقة الطباعة
'--------------------------------------------------------------------------------------------
Next

' من هنا يبتدأ كود  الطباعة
LR = .Cells(Rows.Count, "d").End(xlUp).Row + 1
.Cells(LR + 1, 4) = TextBox4.Value
.Cells(LR + 1, 3) = "المجموع :"
.Cells(LR + 1, 4).Borders.LineStyle = xlContinuous
.Cells(LR + 1, 3).Borders.LineStyle = xlContinuous
End With
    Unload Me
    
'********************************************************************
' للمعاينة نكتب
    ورقة2.PrintPreview
'********************************************************************
   
    
 '********************************************************************
' للطباعة نكتب بدل الجملة السابقة الجملة التالية
    ورقة2.PrintOut
'********************************************************************


قام بنشر

الاستاذ القدير الجليل ابو حنين

انار الله عقلك وقلبك كما انارت عقولنا فبالشرح الجميل المقدم من شخصكم الكبير انارت العقول بمصباح مفتاحه فى ايدينا جعلها الله صدقة جارية فى ميزان حسناتك وتقبلها منك ان شاء الله

من اعماق قلبى ارسل لك اجمل الكلمات والتحية

قام بنشر (معدل)

الاستاذ الفاضل ابو حنين

احب ان اهنئك والاسره الكريمه بعيد الفطر المبارك اعاده الله عليكم وعلى الامه الاسلامية باليمن والبركات

اسمح لى ان اعرض عليكم هذا السؤال وارجو ان تستوعب عطشى من التعلم من شخصكم الكريم

احب ان اعرف معنى الحدث التالى الموجود فى كود الفورم وشرح سطوره(اوامره) .

Private Sub UserForm_Initialize()

Set sh = Sheets("æÑÞÉ1")

With sh

'.Activate

LsRow = .Cells(Rows.Count, "A").End(xlUp).Row

On Error Resume Next

ListBox1.Clear: For A = 2 To LsRow

ListBox1.AddItem .Cells(A, 1): ListBox1.List(C, 1) = Format(.Cells(A, 2), "dd-mm-yyyy")

ListBox1.List(C, 2) = .Cells(A, 3)

C = C + 1

Next

For j = 0 To ListBox1.ListCount - 1

TextBox4 = Val(TextBox4) + Val(ListBox1.Column(2, j))

Next

On Error Resume Next

Dim MyValue As Collection, Cl As Range

Set MyValue = New Collection

For Each Cl In .Range("a2:a" & LsRow)

MyValue.Add Cl.Value, Cl.Text

Next Cl

For i = 1 To MyValue.Count

Me.ComboBox1.AddItem MyValue(i)

Next i

End With

End Sub

رغم تكرار معظم اوامره فى حدث

Private Sub ComboBox1_Change()

وكل عام وانتم بخير

تم تعديل بواسطه عادل ابوزيد
قام بنشر

السلام عليكم

هذا شرح مختصر للكود


' هذا السطر هو تنفيذ الكود في حالة فتح الفورم دون الضغط على اي زر
Private Sub UserForm_Initialize()

'**********************************************************************************************
' هذا السطر هو تحديد الورقة التي تحتوي على البيانات
Set sh = Sheets("ورقة1")
'**********************************************************************************************

'**********************************************************************************************
' قمنا بتسميتها sh
With sh
'**********************************************************************************************


'**********************************************************************************************
' هنا يتم تحديد آخر خلية من العمود الأول تحتوي على بيانات
LsRow = .Cells(Rows.Count, "A").End(xlUp).Row
'**********************************************************************************************


On Error Resume Next


'**********************************************************************************************
' يجب مسح اللستبوكس قبل ملئها
ListBox1.Clear
'**********************************************************************************************

'**********************************************************************************************
' حلقة تكرار للخلايا التي تحتوي على بيانات
For A = 2 To LsRow
'**********************************************************************************************


'**********************************************************************************************
' اضافة البيانات الموجودة في العمود الأول من ورقة البيانات الى العمود الأول في اللستبوكس
ListBox1.AddItem .Cells(A, 1)
'**********************************************************************************************

'**********************************************************************************************
' اضافة البيانات الموجودة في العمود الثاني من ورقة البيانات الى العمود الثاني في اللستبوكس بتنسيق التاريخ
ListBox1.List(C, 1) = Format(.Cells(A, 2), "dd-mm-yyyy")
'**********************************************************************************************


'**********************************************************************************************
' اضافة البيانات الموجودة في العمود الثالث من ورقة البيانات الى العمود الثالث في اللستبوكس
ListBox1.List(C, 2) = .Cells(A, 3)
'**********************************************************************************************


'**********************************************************************************************
' لكي تنتقل الكتابة من الصف الاول في اللستبوكس الى الصف الذي يليه
C = C + 1
'**********************************************************************************************

Next


'**********************************************************************************************
' حلقة تكرار لحساب عد الصفوف في اللستبوكس
For j = 0 To ListBox1.ListCount - 1
'**********************************************************************************************


'**********************************************************************************************
'جمع القيم الموجودة في العمود الثالث في اللستبوكس و وضعها في مربع النص
TextBox4 = Val(TextBox4) + Val(ListBox1.Column(2, j))
'**********************************************************************************************


Next
On Error Resume Next

'**********************************************************************************************
' الكود التالي خاص بتعبئة الكمبوبكس دون فراغات و دون تكرار الأسماء
    Dim MyValue As Collection, Cl As Range
        Set MyValue = New Collection
            For Each Cl In .Range("a2:a" & LsRow)
                MyValue.Add Cl.Value, Cl.Text
            Next Cl
        For i = 1 To MyValue.Count
    Me.ComboBox1.AddItem MyValue(i)
  Next i
End With
'**********************************************************************************************

End Sub

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information