بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
-
Posts
4,444 -
تاريخ الانضمام
-
Days Won
192
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو أ / محمد صالح
-
تغيير حجم اليوزرفزرم ليتناسب مع حجم اي اشاشة تلقائياً
أ / محمد صالح replied to Alaaq3's topic in منتدى الاكسيل Excel
بعد إذن أخي الكريم @عبدالفتاح في بي اكسيل كانت لي محاولة في هذا الشأن منذ عام 2011 في الأكسس فقمت بتطويع الكود للعمل مع نماذج الاكسل فقط يتم تحديد أفضل عرض bestw وأفضل ارتفاع besth في الكود في حدث UserForm_Initialize وهما دقة الشاشة التي تم التصميم عليها بالتوفيق resizeform.xlsb -
للأسف لا يوجد طريقة نسخة الاكسل للموبايل محدودة الإمكانيات وتفتقد الكثير من المميزات من ضمنها بعض المعادلات وإضافة أكواد vba أو عناصر activeX لأن هذه الأشياء تعتمد على نظام التشغيل ويندوز وربما في المستقبل القريب يتم التوصل لمحاكي ومترجم لاكواد vb في الاندرويد بالتوفيق
-
جرب هذا الكود لزر الترحيل فقط Private Sub CommandButton3_Click() Dim rng1 As Range Dim str_search As String str_search = Txt2.Value Set rng1 = sheets("SHEET1").Range("E:E").Find(str_search, , xlValues, xlWhole) If Not rng1 Is Nothing Then Application.ScreenUpdating = False Dim row_number As Long row_number = rng1.Row lastColumn = IIf(Sheets("SHEET1").Range("t" & row_number) = "", 20, Sheets("SHEET1").Range("t" & row_number).End(xlToRight).Column + 1) sheets("SHEET1").Cells(row_number, lastColumn).Value = Txt4.Value sheets("SHEET1").Cells(row_number, lastColumn + 1).Value = Txt7.Value sheets("SHEET1").Select Cells(row_number, lastColumn).Select Me.Hide Application.ScreenUpdating = True End If MsgBox "تم ترحيل المبلغ والتاريخ" End Sub بالتوفيق
-
يمكنك اخفاء ورقة العمل بدون كود كلك يمين على اسم الشيت ثم اخفاء hide ولو بالكود Sheets("sheet name").visible = False مع تغيير اسم الشيت المطلوب مكان sheet name بالتوفيق
- 1 reply
-
- 2
-
المساعدة فى استدعاء بيانات قائمة الفصل بالكود
أ / محمد صالح replied to محمد قاسم 12's topic in منتدى الاكسيل Excel
يمكن ربط تشغيل الكود بتغيير الخلية D3 خلية الفصل لا يؤثر ذلك على الكود وهذا كود حدث عند التغيير في شيت قائة فصل Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$D$3" Then Call mas_getdata4 End Sub يمكنك أن تبدأ من دورة vba الموجودة في أول موضوع مثبت في منتدى الاكسل (دليل المواضيع المثبتة) وفقنا الله جميعا لكل خير -
هذا الموضوع يعتمد على ملفين dll وملف خط ttf لذلك فقد شروط طلبك بالتوفيق
-
هل كان الكود المستخدم من قبل الأستاذ حلمي فؤاد بدون مكتبات dll أو ocx ؟؟ لو يوجد واستعمل في الأكسس يمكن تطويعه للاستخدام في اكسل
-
المساعدة فى استدعاء بيانات قائمة الفصل بالكود
أ / محمد صالح replied to محمد قاسم 12's topic in منتدى الاكسيل Excel
تفضل ملفك بعد تعديل أرقام الأعمدة في الصف الأول وتعديل المسلسل في العمودين A & E وتعديل كود الاجراء mas_getdata4 واضافة عمودين لحساب النوع وعدد البنين والبنات للعلم بعض خلايا الرقم القومي ناقصة بالتوفيق قائمة فصل.xlsm -
صاحب السؤال يقول والشرح بالفيديو يستخدم google chart api مثلها مثل مكتبات dll & ocr & QR4Office فضلا عن أن هذه المكتبات لا تتطلب الاتصال بالنترنت مثل google chart api
-
يمكن استعمال المعادلة التالية في الخلية J17 من شيت المقسطون ='تسديد عميل'!C9 وهي لجلب قيمة عدد الأشهر المسددة مع وضع هذا الكود في حدث عند تغيير محتوى شيت المقسطون Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$D$3" Then Sheets("تسديد عميل").Range("b2").Value = Target.Value End Sub وهو يقوم بوضع رقم الملف المكتوب في شيت المقسطون في مكانه في شيت تسدسد عميل حتى يتم جلب الاشهر المسددة هناك أولا والمعادلة تجلبها هنا بالتوفيق
-
التاريخ في حقل تاريخ الميلاد نص وليس تاريخا تم تحوله إلى تاريخ باكواد vba وإعادة تنسيقه ووضع خلية بها تاريخ حساب السن ووضع معادلة السن باليوم والشهر والسنة بالتوفيق تنسيق رياض الاطفال - Copy.xlsx
-
أشك في وجود كود vba خالص لهذه العملية لابد من وجود مكتبات مساعدة dll او ocx بالتوفيق
-
نفعنا الله جميعا بما علمنا وعلمنا ما ينفعنا بالتوفيق
-
الحل من وجهة نظري هو حماية تركيب المصنف فلا يمكن للمستخدم تغيير اسماء الشيتات ولا ترتيبها Review ---> protect workbook ---> password ---> structure ---> OK وبالنسبة للتعبير عن الشيت فهناك 3 طرق أولها ترتيب الشيت sheets(1) وللشيت اسمان اسم ظاهر في التبويبات وهذا في الكود الذي يعبر عنه sheet1.name والاسم البرمجي وهو يظهر في مستكشف المشروع في شاشة vbe ويكون رمزه sheets("data").codename وهذا الاسم البرمجي codename هو الذي لا يتأثر بتغير ترتيب الشيت ولا تسميته ففي الصورة السابقة Name = Data Codename = Sheet1 index = 1 بالتوفيق
-
محتاج المساعدة من المتخصصين في الرسومات البيانية
أ / محمد صالح replied to عبد الله السعيد's topic in منتدى الاكسيل Excel
وفيكم بارك الله الرسم البياني للفرع كله فعلا اعتمادا على جدول البيانات المجاور للرسم البياني (الموظفين ونسب تحقيق الأهداف لجميع المنتجات) المتبقي يفهم من نسبة تحقيق الهدف مثلا المحقق 10٪ فالمتبقي 90٪ وإذا أضفتها سيتضاعف عدد الأعمدة 20 موظف ضرب 2 عمود ضرب 5 منتجات = 200 عمود (كثير جدا) لذا أنصح بعمود النسبة فقط والباقي هو ما يكمل المائة (معروفة) لا أدري ما المقصود بإجمالي المحقق للفرع كله؟ وإذا كنت تريد عملها فأعتقد في رسم بياني آخر مستقل تكون بياناته اجمالي المحقق للفروع كلها إجمالا او لكل منتج على حده بالتوفيق -
مطلوب التعديل في كود تعديل البيانات
أ / محمد صالح replied to نسورالجو's topic in منتدى الاكسيل Excel
الجزء الخاص بالتاريخ على افتراض انه في العمود D الذي يلي C بمقدار عمود 1 هو F.Offset(0, 1) = ComboBox2.Text ولتغييره للعمود A الذي يسبق C بمقدار 2 F.Offset(0, -2) = ComboBox2.Text لذلك جرب الكود كاملا Set ws = Sheets("اصناف") For Each F In ws.Range("c5:c5000") If F = ComboBox1.Text and F.Offset(0, -2) = ComboBox2.Text Then ws.Select F.Select Exit For End If Next F ActiveCell.Value = ComboBox1.Value ActiveCell.Offset(0, 4).Value = TextBox4 ActiveCell.Offset(0, 5).Value = TextBox5 ActiveCell.Offset(0, 6).Value = TextBox6 ActiveCell.Offset(0, 9).Value = TextBox7 ActiveCell.Offset(0, 10).Value = TextBox8 MsgBox "تم تعديل البيانات بنجاح" End Sub وكان ينبغي أن تتوصل لها وحدك بالتوفيق -
مطلوب التعديل في كود تعديل البيانات
أ / محمد صالح replied to نسورالجو's topic in منتدى الاكسيل Excel
كان ينبغي تحديد موضع عمود التاريخ على فرض ان اسم الصنف في العمود C والتاريخ في العمود D Set ws = Sheets("اصناف") For Each F In ws.Range("c5:c5000") If F = ComboBox1.Text and F.Offset(0, 1) = ComboBox2.Text Then ws.Select F.Select Exit For End If Next F ActiveCell.Value = ComboBox1.Value ActiveCell.Offset(0, 4).Value = TextBox4 ActiveCell.Offset(0, 5).Value = TextBox5 ActiveCell.Offset(0, 6).Value = TextBox6 ActiveCell.Offset(0, 9).Value = TextBox7 ActiveCell.Offset(0, 10).Value = TextBox8 MsgBox "تم تعديل البيانات بنجاح" End Sub بالتوفيق -
لا طبعا ليست بسهولة الفرز في الشيت تحتاج الى اكواد كثيرة
-
يمكنك تنفيذ هذا الكود ونفس الطريقة على الملف الآخر
-
لا أعتقد وجود معادلة تقوم بهذا الدور لذلك يمكنك استعمال اكواد vba مع ملاحظة ان اختيار الاسم في شيت A يجب ان يكون من قائمة الاسماء في شيت B لضمان المطابقة تم وضع معادلات للعد وكود لجلب أيام العياب مجمعة بالتوفيق دمج أيام الغياب في خلية واحدة.xlsb
-
جرب استعمال هذا الكود Sub masTar7eel() Application.ScreenUpdating = 0 Range("B2:B16").Copy Sheets("الشيت").Select lr = Cells(Rows.Count, 1).End(xlUp).Row + 1 Range("A" & lr).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True Application.CutCopyMode = 0 Range("A" & lr).Select Sheets("ادخال بيانات").Select Range("B2:B16").ClearContents Range("B2").Select Application.ScreenUpdating = 1 MsgBox "Done by mr-mas.com" End Sub وهو عبارة عن تسجيل ماكرو لنسخ الخلايا من الشيت الاول الى آخر صف في الشيت الثاني مع خيار اللصق transpose ولا تنس أن تحفظ الملف بامتداد يدعم الاكواد مثل xlsb بالتوفيق
- 1 reply
-
- 2
-
الكود يعمل بصورة جيدة بشرط ألا تكون بيانات العمود المطلوب فارغة في شيت البيانات الأساسية جرب أن تكتب مسافة فقط في اول خلية في عمود تاريخ العودة وعمود ملاحظات في شيت البيانات الأساسية وقم بالضغط على الزر لن تجد أي خطأ
- 1 reply
-
- 1