oosta Excel اوستا اکسل

فاز یک --> فلوچارت

oosta Excel اوستا اکسل

فاز یک --> فلوچارت

oosta Excel اوستا اکسل

در این سایت ما سعی داریم همه چیز درباره برنامه سازی و کار با محیط های مختلف اکسل داشته باشیم
ما از آموزش فلوچارت شروع کردیم که مبنا و مبانی اولیه است.

فلوچارت ها معمولا با جواب هستند
در مسایل و فلوچارت هایی که جواب ندارند می توانید مشارکت نمایید.

از شهریور ماه 1400 یکسری پروژه های کاربردی در قالب برنامه بفروش میرسد

۱۲ مطلب با موضوع «برنامه نویسی :: مثال ها و تمرین های برنامه نویسی» ثبت شده است


برنامه شیت ها را براساس تعداد مراجعه به آن ها مرتب می کند و در دسترس قرار دهد 

اگر تعداد شیت ها زیاد باشد این خیلی کمک می کند

و برای آمار و گزارش گیری مراجعات بسیار کمک می کند

براساس تصویر فوق دو منطقه برای نمایش وجود دارد

آخرین بازدیدها در سمت راست

و بقیه براساس تعداد بازدید در قسمت چپ قرار می گیرند

اولویت ها همیشه از راست به چپ هستند

شیت هایی که مورد استفاده قرار می گیرند در سمت راست قرار میگیرند و خود بخود شیت هایی که استفاده نمی شوند در سمت چپ قرار می گیرند

و می توانیم بعد از مدتی برای حذف شیت هایی که مورد استفاده قرار نمی گیرند، شیت های سمت چپ را در اولویت قرار دهیم.

 

دریافت
عنوان: اولویت دهی به شیت در اکسل
حجم: 874 کیلوبایت
توضیحات: اولویت دهی به شیت در اکسل
 

 

جلیل عباسی سیوکی
۲۱ فروردين ۹۹ ، ۱۵:۵۱ ۰ نظر

برای تبدیل عدد به نام ستون در اکسل می توانید از برنامه زیر استفاده نمایید

این برنامه تا 702 ستون اول در اکسل نوشته شده است.

برای سفارش کامل با آیدی تیم اوستا اکسل با نام

 @Jalil_Abbasi 

در تلگرام تماس بگیرید.


Function charCol(num As Integer) As String

    ' one char  A_Z

    If num <= 26 Then

        charCol = Chr(64 + num)

    Else

        ' two char AA_ZZ

        If num <= 26 Then

            charCol = IIf(num Mod 26 = 0, _

            Chr(Int(64 + (num / 26) - 1)), _

            Chr(Int(64 + num / 26))) & _

            IIf(num Mod 26 = 0, Chr(64 + 26), _

            Chr(64 + num Mod 26))

        End If

    End If

End Function

جلیل عباسی سیوکی
۲۲ خرداد ۹۷ ، ۲۰:۰۱ ۰ نظر

این تمرین که فقط یک عدد دورقمی را نمایش دهد قبلا حل شده و اینجا جواب موجود است


ولی اعدادی که بیشترین بخش پذیری را دارند بیشتر از یک عدد هستند، حال ما می خواهیم این اعداد را نمایش دهیم. این تمرین با استفاده از از حلقه های for  و آرایه انجام شده که به زودی روی سایت قرار می گیرد.

شما هم می توانید جواب های خود را به اینجا  ارسال کنید.

جلیل عباسی سیوکی
۳۰ بهمن ۹۶ ، ۱۲:۰۴ ۰ نظر

TabasTel

شروع پروژه: 29 بهمن 1395 مشهد


طبس تل

در این پست سعی می کنیم یک دفترچه تماس با قابلیت های جدید بگذاریم. دو تا از قابلیت های جدید در این برنامه به شرح زیر است. امیدواریم بتوانیم در نسخه های جدیدتر این برنامه آن را بهینه تر نماییم.


     1- هر ورودی تماس اعتبار داشته باشد و بعد از مدت اعتبار سیستم بصورت اتومات حذف نماید. 

          (مثلاً خیلی از افراد می خواهند شماره پیک را تا مدت زمانی خاص داشته باشند ولی وقتی غذا یا وسیله را از پیک دریافت نمودند، آن شماره و مشخصات ثبت شده را لازم ندارند!)

     2- بتوان به تعداد دلخواه شماره تماس برای یک شخص ثبت کرد.

          (محدودیت ثبت تعداد تماس نداشته باشد)

. به یاری پروردگار بزودی اولین نسخه را آپلود می کنیم.


جلیل عباسی سیوکی
۲۹ بهمن ۹۵ ، ۱۸:۵۳ ۱ نظر

نرم افزار محاسبه کیلومتراژ مأمورین راه آهن جمهوری اسلامی ایران توسط اکسل و با برنامه نویسی VBA ساخته شده است.


شروع پروژه:1387

ساخت برنامه ساده اولیه: 1387

بهره برداری اولیه در ناحیه راه آهن طبس: 1387

طراحی و ساخت برنامه تحت شبکه: 1394

بهره برداری برنامه چند کاربره تحت شبکه در ناحیه راه آهن طبس: بهار 1395

معرفی به معاونت راه آهن در تهران: فروردین 1395 (در حال بررسی، امیدواریم این زحمات چندساله به ثمر بنشیند)



کیلومتراژ مامورین راه آهن


بخش ها: 

  • مأمورین
  • کارنامه ها
  • مأموریت ها
  • پیک و پیک ویژه
  • گزارشات
  • پارامترها
  • پشتیبان گیری
  • بروزرسانی

خصوصیات:

  • ورودی انواع مأموریت ها (باری، مسافری، مسافری ویژه، رزرو، کشیک و ...)
  • محاسبه تمام اتومات کیلومتراژ کارنامه
  • محاسبه فراخوان زیر استراحت
  • محاسبه اتومات خوابگاه و استراحت
  • محاسبه اتومات پیک و پیک ویژه
  • محاسبه کیلومتراژ از مبدأ تا مقصد بصورت اتومات براساس فاصله و گراف
  • تغییر تمام محاسبات بعد از حذف یا تغییر
  • گزارش های ویژه محاسبه ساعت مفید و غیر مفید
  • امکان تغییر مبناهای کیلومتر مثلاً کیلومتر امداد
  • نصب تحت شبکه و در صورت درخواست با مقداری تغییر بصورت آنلاین و در شبکه اینترنت
  • امکان تعریف و تغییر دسترسی های هر کاربر
  • و بسیاری از امکانات دیگر که لازمه محاسبه کیلومتراژ مأمورین قطار می باشد.

توسط اوستا اکسل

جلیل عباسی سیوکی
۲۸ ارديبهشت ۹۵ ، ۱۹:۳۸ ۱ نظر

اکسل به سادگی می تواند به پایگاه داده MySQL دسترسی داشته و عملیات های مختلف را برای خواندن، ایجاد، تغییر و حذف داده ها انجام دهد.

بدین منظور لازم است که ابتدا برنامه به پایگاه داده متصل شود و دستورات تراکنشی برای دسترسی و ویرایش اطلاعات ارسال شود.


Public cn As ADODB.Connection

Public rs As ADODB.Recordset

Public strSql As String

'Connection module:

Public Function connectDB()

    Dim strServer_Name As String

    Dim strDB_Name As String

    Dim strUser_ID As String

    Dim strPassword As String

    With Sheet2

        strServer_Name = .Range("B2").Value

        strDB_Name = .Range("B3").Value

        strUser_ID = .Range("B4").Value

        strPassword = .Range("B5").Value

    End With

    Set cn = New ADODB.Connection

    Set rs = CreateObject("ADODB.Recordset") 'EBGen-Daily

    Server_Name = strServer_Name

    Database_Name = strDB_Name ' Name of database

    User_ID = strUser_ID 'id user or username

    Password = strPassword 'Password

    Port = "3306"

    conStr = "DRIVER={MySQL ODBC 5.2 Unicode Driver};SERVER=" & _

            Server_Name & ";PORT=" & Port & ";DATABASE=" & Database_Name & _

            ";UID=" & User_ID & "; PWD=" & Password & "; Option=3"

    cn.Open conStr

End Function


'

'Sub module():

خواندن از دیتابیس

Sub request()

    Dim fTimeEnd As Date

    Dim fTimeStart As Date

    Call connectDB

    fTimeStart = Timer

    strSql = "SELECT * FROM tb1"  ' tb1 نام جدول

    Set rs = New ADODB.Recordset

    rs.Open strSql, cn, adOpenDynamic

    With Sheet1.Range("A1")

        .ClearContents

        .CopyFromRecordset rs

    End With

    fTimeEnd = Timer

    Sheet1.Cells(1, 3) = Format$((fTimeEnd - fTimeStart) * 100!, "0.00 "" Centiseconds Elapsed""")

    cn.Close

    Set cn = Nothing

End Sub

سروری که از آن استفاده می کنید لازم است پورت 3306 باز باشد

و اجازه دسترسی ریموت به دیتابیس را در پنل هاست بدهید

ابتدا درایور اتصال به MySQL را بر روی ویندوز نصب نمایید 

 درایور X64 را از دریافت کنید

عنوان: درایور اتصال به mysql
حجم: 4.21 مگابایت
توضیحات: درایور اتصال به mysql 

لطفا سوالات خود را ارسال نمایید تا پاسخ لازم را بفرستیم

در مثال فوق زمان خواندن را هم محاسبه می کند تا بتوانید با مقایسه سرورهای مختلف، بهترین انتخاب را داشته باشید.

سرور پیشنهادی ما که پورت 3306 باز دارد، mashhadhost.com  می باشد.

جلیل عباسی سیوکی
۰۸ اسفند ۹۴ ، ۱۹:۲۱ ۰ نظر
بهتره از حلقه for برای پیمایش یک شیت استفاده نکنید بدلیل اینکه در حجم بالای اطلاعات سرعت کار را پایین می آورد.
روش خود اکسل برای جستجو را آورده ایم تا مورد استفاده علاقمندان قرار گیرد.


val  مقدار عددی که بدنبال آن می گردد
ws نام sheet
col ستونی که بدنبال مقدار می گردد مانند "A"
firstCellAsCol  اگر ستون عنوان داشته باشد و یا بخواهید از سطر خاصی شروع کند شماره اولین سطر را وارد نمایید


نتیجه یک مقدار منطقی است

Public Function searchValueIsExist(val As Long, ws As Worksheet, col As String, firstCellAsCol As Integer) As Boolean
    Dim boolVal As Boolean
    boolVal = False
    Dim lrow As Long
    lrow = ws.Cells(ws.Rows.Count, col).End(xlUp).row
    Dim c As Range
    Dim str1 As String
    str1 = col & firstCellAsCol & ":" & col & lrow
    With ws.Range(str1)
        Set c = .Find(val, LookIn:=xlValues, lookat:=xlWhole)
        If Not c Is Nothing Then
            boolVal = True
        End If
    End With
    searchValueIsExist = boolVal
End Function

موفق باشید

اوستا اکسل

جلیل عباسی سیوکی
۱۱ بهمن ۹۴ ، ۲۰:۵۹ ۰ نظر

کپی یک TextBox در یک شیت

Sub copy_textboxInSheet(row1 As Integer, col1 As Integer)
    Sheet2.Shapes("TextBox 1").Copy
    Application.Goto Reference:=Worksheets("Sheet2").Cells(row1, col1), Scroll:=True
    Sheet2.Paste
End Sub

سطر و ستون را بصورت عددی به این تابع بدهید تا در مکان مورد نظر textBox 1 را کپی نماید.

نکته: بین کلمه TextBox و عدد 1 که هر دو مربوط به نام TextBox می باشد یک فاصله قرار دارد و اگر آن را بچرخانید نقطه موس و بالا را در نظر می گیرد.

حذف همه TextBox ها از یک شیت بجز TextBox 1

Sub del_textboxInSheet()
Dim tb As Object
    For Each tb In ActiveSheet.TextBoxes
        If tb.Name <> "TextBox 1" Then
            tb.Delete
        End If
    Next
End Sub

نکته: این تابع غیر از TextBox 1 بقیه را حذف می نماید.


حذف همه TextBox ها از یک شیت

Sub del_textboxInSheet()
Dim tb As Object
    For Each tb In ActiveSheet.TextBoxes
            tb.Delete
    Next
End Sub


جلیل عباسی سیوکی
۲۰ آذر ۹۴ ، ۱۲:۵۸ ۰ نظر

تمرین های فلوچارت پیشرفته بهمراه جواب
شما هم می توانید جواب تمرین های بی پاسخ را بفرستید تا با نام خودتان در این پست قرار گیرد.


1- فلوچارتی رسم کنید که برای اعداد اولی که بین عدد 0 تا 999 قرار دارند، نمایش دهد در کدام دسته 100 تایی عدد اول بیشتری قرار دارد. (دسته ها 0 تا 99، 100 تا 199، 200 تا 299، ...، 900 تا 999)


جلیل عباسی سیوکی
۱۹ تیر ۹۴ ، ۱۰:۱۷ ۰ نظر

تمرین های فلوچارت مقدماتی بهمراه جواب
شما هم می توانید جواب تمرین های بی پاسخ را بفرستید تا با نام خودتان در این پست قرار گیرد.



1- فلوچارتی رسم کنید که پنج عدد از ورودی دریافت کرده و میانگین آن ها را نمایش دهد. (دریافت pdf فلوچارت مدل 1 حجم: 158 کیلوبایت-  دریافت pdf فلوچارت مدل 2 حجم: 222 کیلوبایت)

2- فلوچارتی رسم کنید که مقسوم های یک عدد ورودی را نمایش دهد. (دریافت فایل PDF فلوچارت حجم: 229 کیلوبایت- دریافت pdf فلوچارت حجم: 214 کیلوبایت)

جلیل عباسی سیوکی
۱۹ تیر ۹۴ ، ۱۰:۰۳ ۰ نظر