نجوم المشاركات
Popular Content
Showing content with the highest reputation on 09/17/25 in all areas
-
Private Sub txtserch_Change() Dim r As Long, lastRow As Long, txt As String, ColArr, i As Integer Dim tmps As Double, xPrice As Double, xPieces As Double If ComboBox1.Value = "" Or ComboBox2.Value = "" Or Trim(txtserch.Value) = "" Then ListBox1.Clear Exit Sub End If txt = UCase(Trim(txtserch.Value)) TextBox1 = "": TextBox2 = "": TextBox3 = "" ListBox1.Clear ColArr = Array("التاريخ", "اللون", "كيلو", "متر", "قطع", "العميل") With ListBox1 .AddItem ColArr(0) For i = 1 To UBound(ColArr) .list(.ListCount - 1, i) = ColArr(i) Next i End With lastRow = WS.Cells(WS.Rows.Count, "A").End(xlUp).Row For r = 2 To lastRow If UCase(Left(WS.Cells(r, criterion).Text, Len(txt))) = txt Then With ListBox1 .AddItem WS.Cells(r, "A").Text .list(.ListCount - 1, 1) = WS.Cells(r, "D").Text .list(.ListCount - 1, 2) = WS.Cells(r, "E").Value .list(.ListCount - 1, 3) = WS.Cells(r, "G").Value .list(.ListCount - 1, 4) = WS.Cells(r, "H").Value .list(.ListCount - 1, 5) = WS.Cells(r, "I").Text End With tmps = tmps + Val(WS.Cells(r, "E").Value) xPrice = xPrice + Val(WS.Cells(r, "G").Value) xPieces = xPieces + Val(WS.Cells(r, "H").Value) End If Next r TextBox1 = Format(tmps, "#,##0.00") TextBox2 = xPrice TextBox3 = Format(xPieces, "#,##0") End Sub mohamed1 V3 .xlsm2 points
-
أخواني وأساتذتي ومعلمينا ( دون استثناء ) بعد قراءتي لموضوع الأخ @mohammed farhat في هذا الموضوع :- ازالة لوحة المفاتيح العربية الزائدة الناتجة عن اعدادت اللغة لتشغيل الاكسيس تبادر لي استخراج فكرة من مشروعي السابق ( تغيير لغة النظام في Unicode ) ، بحيث كانت فعلاً مشكلة تؤرق مطوري ومبرمجي آكسيس . حيث كانت النتيجة من تعداد الملفات التي نقوم بتحميلها تؤدي إلى إضافة أكثر من لغة في لوحات المفاتيح في نسخة الويندوز الخاصة بالمطور . وهنا يجدر بي الذكر إلى أن أحد أهم الأسباب أن بعض ملفات قواعد البيانات التي نقوم بتحميلها تأتي مرفقة بإعدادات لغة أو تخطيط لوحة مفاتيح مخصصة حسب جهاز المصدر ، خاصة إذا تم إنشاؤها أو تعديلها على أنظمة تشغيل بلغات مختلفة . فعند تشغيل الملف ، قد يقوم النظام تلقائياً بإضافة تلك اللغات لتوافق التنسيق أو الترميز المستخدم . وهنا ذَهبَت بي الحلول بعد تعددها إلى إنشاء باتش يجبر الويندوز عند التشغيل لإستعادة لوحات المفاتيح التي تهم المطور وهي عادةً :- اللغة الإنجليزية + اللغة العربية الخاصة ببلده . وفي التالي صورة من الموضوع الأصلي لشكل لوحات المفاتيح الغير مرغوب بها :- وسيلاحظ المستخدم إنه سيضطر للضغط على مفاتيح التبديل بين لغات لوحة المفاتيح اكثر من مرة للوصول الى اللغة التي يريدها . ومن هنا خرجتُ بفكرة الباتش الذي ما علينا إلا تشغيله مرة واحدة فقط لا غير ، واختيار البلد الذي نرغب بتثبيت لغة لوحة مفاتيحها ، من خلال الواجهة التالية :- لاحظوا أنني قمت بإضافة الدول العربية فقط لا غير ( الفكرة قابلة للتطوير لاحقاً للغات أخرى ثابتة ) . فمثلاً ولنفترض أنني اريد تثبيت لوحة المفاتيح العربية للأردن ، فسنختار رقم 3 ( كمثال ) ثم مفتاح الإدخال Enter فقط . وسيتكفل الباتش بترتيب الأمور بحيث عند كل تشغيل للويندوز سيتم تثبيت فقط اللغة الانجليزية والعربية للأردن كما في المثال . الباتش يعمل بصمت من خلال الأكواد التالية ، وقد تم إضافة شرح بسيط لكل حدث تلافياً من الخوف من أي ملفات أو خطوات غامضة :- ::attrib +r "%~f0" @echo off @echo off mode con:cols=75 lines=35 setlocal enabledelayedexpansion for /f %%a in ('echo prompt $E^| cmd') do set "ESC=%%a" set "blue=%ESC%[1;34m" set "green=%ESC%[1;32m" set "cyan=%ESC%[1;36m" set "red=%ESC%[1;31m" set "yellow=%ESC%[1;33m" set "magenta=%ESC%[1;35m" set "reset=%ESC%[0m" echo. echo %blue%**********************************************%reset% echo %green%*** ***%reset% echo %cyan%*** %yellow%FFFFF%red%F %magenta%OOO %blue%KK KK %green%SSSS %cyan%HH HH %cyan%***%reset% echo %yellow%*** %red%FF %magenta%O O %blue%KK KK %green%SS %cyan%HH HH %yellow%***%reset% echo %red%*** %magenta%FFFFF %blue%O O %green%KKK %cyan%SS %yellow%HHHHHH %red%***%reset% echo %magenta%*** %blue%FF %green%O O %cyan%KK KK %yellow%SS %red%HH HH %magenta%***%reset% echo %blue%*** %green%FF %cyan%OOO %yellow%KK KK %red%SSSSS %magenta%HH HH %blue%***%reset% echo %green%*** ***%reset% echo %cyan%********************%yellow%2 %red%0 %magenta%2 %blue%5%cyan%*******************%reset% echo. :: باقي الكود يبقى كما هو... echo Select the Arabic country to add its keyboard layout: echo 1 - Egypt echo 2 - Saudi Arabia echo 3 - Jordan echo 4 - Iraq echo 5 - Morocco echo 6 - UAE echo 7 - Syria echo 8 - Lebanon echo 9 - Tunisia echo 10 - Algeria echo 11 - Kuwait echo 12 - Bahrain echo 13 - Oman echo 14 - Qatar echo 15 - Libya echo 16 - Sudan echo 17 - Yemen set /p choice=Enter the number of your choice (1-17) or 'X' to remove startup task: :: التحقق إذا كان المستخدم يريد إزالة المهمة if /i "%choice%"=="X" ( echo. echo Removing startup task... :: حذف المهمة المجدولة schtasks /Delete /TN "KeyboardShutdownFix" /F 2>nul :: حذف الملفات من مجلد Startup if exist "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\KeyboardFix.bat" ( del "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\KeyboardFix.bat" ) if exist "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\RunHidden.vbs" ( del "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\RunHidden.vbs" ) echo Startup task removed successfully! echo. echo Closing automatically in: timeout /t 1 /nobreak >nul & echo 3... timeout /t 1 /nobreak >nul & echo 2... timeout /t 1 /nobreak >nul & echo 1... exit /b ) set "localeID=" set "localeName=" if "%choice%"=="1" set localeID=00000C01& set localeName=ar-EG if "%choice%"=="2" set localeID=00000401& set localeName=ar-SA if "%choice%"=="3" set localeID=00002C01& set localeName=ar-JO if "%choice%"=="4" set localeID=00000801& set localeName=ar-IQ if "%choice%"=="5" set localeID=00001801& set localeName=ar-MA if "%choice%"=="6" set localeID=00003801& set localeName=ar-AE if "%choice%"=="7" set localeID=00002801& set localeName=ar-SY if "%choice%"=="8" set localeID=00003001& set localeName=ar-LB if "%choice%"=="9" set localeID=00001C01& set localeName=ar-TN if "%choice%"=="10" set localeID=00001401& set localeName=ar-DZ if "%choice%"=="11" set localeID=00003401& set localeName=ar-KW if "%choice%"=="12" set localeID=00003C01& set localeName=ar-BH if "%choice%"=="13" set localeID=00002001& set localeName=ar-OM if "%choice%"=="14" set localeID=00004001& set localeName=ar-QA if "%choice%"=="15" set localeID=00001001& set localeName=ar-LY if "%choice%"=="16" set localeID=00002C01& set localeName=ar-SD if "%choice%"=="17" set localeID=00002401& set localeName=ar-YE if not defined localeID ( echo. echo Invalid selection. Exiting... timeout /t 3 /nobreak >nul exit /b ) echo Applying keyboard settings immediately... reg delete "HKCU\Keyboard Layout\Preload" /f >nul 2>&1 reg delete "HKCU\Keyboard Layout\Substitutes" /f >nul 2>&1 reg add "HKCU\Keyboard Layout\Preload" /v 1 /t REG_SZ /d 00000409 /f reg add "HKCU\Keyboard Layout\Preload" /v 2 /t REG_SZ /d %localeID% /f reg add "HKCU\Keyboard Layout\Substitutes" /v %localeID% /t REG_SZ /d %localeID% /f set psFile=%TEMP%\UpdateLang.ps1 echo $langList = Get-WinUserLanguageList > "%psFile%" echo $langList.Clear() >> "%psFile%" echo $langList.Add("en-US") >> "%psFile%" echo $langList.Add("%localeName%") >> "%psFile%" echo Set-WinUserLanguageList $langList -Force >> "%psFile%" powershell -ExecutionPolicy Bypass -File "%psFile%" set "shutdownScript=%TEMP%\KeyboardShutdownFix.bat" echo @echo off > "%shutdownScript%" echo reg delete "HKCU\Keyboard Layout\Preload" /f >nul 2^>^&1 >> "%shutdownScript%" echo reg delete "HKCU\Keyboard Layout\Substitutes" /f >nul 2^>^&1 >> "%shutdownScript%" echo reg add "HKCU\Keyboard Layout\Preload" /v 1 /t REG_SZ /d 00000409 /f >> "%shutdownScript%" echo reg add "HKCU\Keyboard Layout\Preload" /v 2 /t REG_SZ /d %localeID% /f >> "%shutdownScript%" echo reg add "HKCU\Keyboard Layout\Substitutes" /v %localeID% /t REG_SZ /d %localeID% /f >> "%shutdownScript%" echo exit >> "%shutdownScript%" set "taskName=KeyboardShutdownFix" set "taskXml=%TEMP%\ShutdownTask.xml" echo ^<?xml version="1.0" encoding="UTF-16"?^> > "%taskXml%" echo ^<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"^> >> "%taskXml%" echo ^<RegistrationInfo^> >> "%taskXml%" echo ^<Description^>Fix keyboard layout before shutdown^</Description^> >> "%taskXml%" echo ^</RegistrationInfo^> >> "%taskXml%" echo ^<Triggers^> >> "%taskXml%" echo ^<SessionStateChangeTrigger^> >> "%taskXml%" echo ^<Enabled^>true^</Enabled^> >> "%taskXml%" echo ^<StateChange^>SessionLock^</StateChange^> >> "%taskXml%" echo ^</SessionStateChangeTrigger^> >> "%taskXml%" echo ^</Triggers^> >> "%taskXml%" echo ^<Principals^> >> "%taskXml%" echo ^<Principal id="Author"^> >> "%taskXml%" echo ^<UserId^>%USERDOMAIN%\%USERNAME%^</UserId^> >> "%taskXml%" echo ^<LogonType^>InteractiveToken^</LogonType^> >> "%taskXml%" echo ^<RunLevel^>HighestAvailable^</RunLevel^> >> "%taskXml%" echo ^</Principal^> >> "%taskXml%" echo ^</Principals^> >> "%taskXml%" echo ^<Settings^> >> "%taskXml%" echo ^<MultipleInstancesPolicy^>IgnoreNew^</MultipleInstancesPolicy^> >> "%taskXml%" echo ^<DisallowStartIfOnBatteries^>false^</DisallowStartIfOnBatteries^> >> "%taskXml%" echo ^<StopIfGoingOnBatteries^>false^</StopIfGoingOnBatteries^> >> "%taskXml%" echo ^<AllowHardTerminate^>true^</AllowHardTerminate^> >> "%taskXml%" echo ^<StartWhenAvailable^>false^</StartWhenAvailable^> >> "%taskXml%" echo ^<RunOnlyIfNetworkAvailable^>false^</RunOnlyIfNetworkAvailable^> >> "%taskXml%" echo ^<IdleSettings^> >> "%taskXml%" echo ^<StopOnIdleEnd^>true^</StopOnIdleEnd^> >> "%taskXml%" echo ^<RestartOnIdle^>false^</RestartOnIdle^> >> "%taskXml%" echo ^</IdleSettings^> >> "%taskXml%" echo ^<AllowStartOnDemand^>true^</AllowStartOnDemand^> >> "%taskXml%" echo ^<Enabled^>true^</Enabled^> >> "%taskXml%" echo ^<Hidden^>false^</Hidden^> >> "%taskXml%" echo ^<RunOnlyIfIdle^>false^</RunOnlyIfIdle^> >> "%taskXml%" echo ^<WakeToRun^>false^</WakeToRun^> >> "%taskXml%" echo ^<ExecutionTimeLimit^>PT5M^</ExecutionTimeLimit^> >> "%taskXml%" echo ^<Priority^>7^</Priority^> >> "%taskXml%" echo ^</Settings^> >> "%taskXml%" echo ^<Actions Context="Author"^> >> "%taskXml%" echo ^<Exec^> >> "%taskXml%" echo ^<Command^>"%shutdownScript%"^</Command^> >> "%taskXml%" echo ^</Exec^> >> "%taskXml%" echo ^</Actions^> >> "%taskXml%" echo ^</Task^> >> "%taskXml%" schtasks /Delete /TN "%taskName%" /F 2>nul schtasks /Create /TN "%taskName%" /XML "%taskXml%" /F set "startupBat=%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\KeyboardFix.bat" set "vbsFile=%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\RunHidden.vbs" echo @echo off > "%startupBat%" echo reg add "HKCU\Keyboard Layout\Preload" /v 1 /t REG_SZ /d 00000409 /f >> "%startupBat%" echo reg add "HKCU\Keyboard Layout\Preload" /v 2 /t REG_SZ /d %localeID% /f >> "%startupBat%" echo reg add "HKCU\Keyboard Layout\Substitutes" /v %localeID% /t REG_SZ /d %localeID% /f >> "%startupBat%" echo exit >> "%startupBat%" echo Set WshShell = CreateObject("WScript.Shell") > "%vbsFile%" echo WshShell.Run "cmd /c call ""%startupBat%""", 0, False >> "%vbsFile%" echo. echo Keyboard settings applied successfully! echo. echo English (US) set as default. echo Arabic layout for selected country added as secondary. echo. echo Note: The system will maintain these settings automatically echo on every startup (no window will be visible). echo. echo Closing automatically in: timeout /t 1 /nobreak >nul & echo 3... timeout /t 1 /nobreak >nul & echo 2.. timeout /t 1 /nobreak >nul & echo 1. النتيجة مرهونة بتجاربكم طبعاً 😊 . الباتش تمت تجربته على العديد من إصدارات ويندوز 10 فما فوق . أي لم يتم تجربته على الإصدارات الأقل من ويندوز 10 ❌ الفكرة غير موجودة في أي منتدى عربي أو غربي . وهذا ما يميز منتديات أوفيسنا 😎 Foksh Layout.zip1 point
-
معذرة خطأى فى نسخ بيانات Bad Rev Report لكن لاحظ أن عمود B أصبح معادلة فى ملف ALL Rev Report تفضل للتعديل وإضافة أية بيانات V2 Monthly Review Report.xls1 point
-
نعم الموقع يقوم بإرسال أشعار بالفعل إذا قمت أنت بتفعيل هذه الخاصية يوجد أسفل الموضوع زر اسمه ( نبهني بالردود) قم بتفعيله أي رد جديد سيرسل لك الموقع رسالة على بريدك الالكتروني =================== أخي الحبيب : من أول ما فتحت ملفك عرفت أن الاكسل يمكن أن يحل مشكلتك بسهولة ولكن حتى لا أقوم بالمخاولة والخطأ (لأنني لم افهم شغلك) ويطول الوقت فقد طلبت منك التوضيح ومن خلال خبرتي في هذا الموقع فمن الأفضل أن ترفع ملف فيه بعض الحسابات (فيه أرقام) أنت أرفقت ملفك أعلاه ولم يكن فيه إلا القليل من الحسابات التي لا تفي بالغرض الرجاء وضع أرقام في الخلايا لو أنت تريد فقط ترحيل أرقام من خلايا في ملف إلى ملف آخر فهذا بسيط ولكنك تريد أيضا حساب إجمالي العهد المصروفة المطلوب منك تساعد في تقريب المسألة حتى يتم حلها كيف يتم حساب إجمالي العهد المصروقة , لا أريدك أن تشرح لي ولكن في الجدول الموجود في الملف ضع رقما في العمود (إجمالي العهد المصروفة) وأنا سأتابع كيف تم حساب العهد المصروفة هذا الرقم الذي ستضعه لن يأتي عشوائيا ولكن سيأتي من مجموع عدة خلايا لن أطيل عليك أخي الكريم لذلك لم تجد التجاوب السريع من الأعضاء على مشاركتك لوجود الغموض الخلاصة : قم بتعبئة الملف بالبيانات ثم ارسله هنا حتى يتم متابعة المشكلة وحلها بإذن الله تقبل تحياتي1 point