آموزش ماکرونویسی - برنامه نویسی در اکسل به روش من

از ماکرونویسی نهراسید! بسیار ساده است!

صفحه اصلي | آرشيو مطالب | تماس با من                    ali_fatehi@yahoo.com

آموزش  مشاورهداستان وبلاگ من

 

كتاب ماكرونويسي و برنامه نويسي كار بردي به زبان VBA در Excel

به نگارش اينجانب منتشر شد
مولف: علي فاتحي
ناشر: انتشارات سازمان بورس

 مراكز پخش

«نمايشگاه و فروشگاه انتشارات بورس»
شماره تماس:  88648192
(تهران - ميدان ونك - خ ملاصدرا- شماره 25)
اطلاعات كتاب و سفارش خريد آنلاين از انتشارات بورس

«انتشارات صانعي»

شماره تماس:  5385  6640
(
تهران- خ انقلاب- روبروي  دانشگاه تهران- پلاك 1290)
www.saneibook.com

 

.....در زماني كوتاه و به راحتي مي توانيد در اكسل برنامه و ماكرو بنويسيد؛ حتي اگر شما برنامه نويس نباشيد ماكرونويسي و برنامه نويسي ابزاري مناسب براي كاربراني است كه مي خواهند در Excel بهتر و پوياتر عمل كنند. زبان برنامه نويسي مورد استفاده در Excel بسيار شبيه زبانهاي محاوره اي است و VBA

 (Visual Basic for Applictions )
نام دارد.
......

20 صفحه اول كتاب را از اينجا برداريد.


اين كتاب براي كاربراني نوشته شده كه با برنامه‌نويسي و ماكرونويسي آشنايي نداشته يا آشنايي كمي دارند و مي‌خواهند در نرم‌افزار اكسل كارهاي بهتر و پوياتري انجام دهند و با زباني ساده و به دور از پيچيدگي مفاهيم اوليه و كاربردي را گام به گام ارايه نموده است. مثال‌ها متنوع و كاربردي‌اند. از برنامه‌هاي ساده  و "تابع تبديل عدد به حروف" گرفته تا "پياده‌سازي مفاهيم مهندسي مالي" در كتاب آموزش داده شده‌اند..

 

 

 

 

آخرين مطالب

در این بخش در نظر داریم مثالی کاملا کاربردی ارایه دهیم. این مثال میتواند با کمی تغییر کاربردهای گوناگون پیدا کند. حتی می توانید بخشهایی از آنرا در برنامه های خود استفاده کنید.

در این بخش در نظر داریم تا اطلاعاتی را از چندین فایل اکسل در یک فایل تجمیع کنیم. فرض کنید که اطلاعاتی که در ورک بوکها هستند ازیک الگو پیروی می کنند به عنوان مثال  در همه ورک بوکها اطلاعات در شیت1 و در ناحیه A1:A10 باشد. یک ورک جدید باز میکنیم و کدهای زیر را در یک ماژول می نویسیم.

در این برنامه از ماکرو IntegrateData استفاده می کنیم. این ماکرو نیز در داخل خود از ماکروهای PicFolder و getdata‌ استفاده می کند. تابع PicFolder نام فولدری را که فایلها در آن هست از کاربر میگیرد. تابع getdata‌ هم اطلاعات را از فایل جدا و در  فایل مقصد کپی میکند.

Dim AllAnswers
Dim PathName
Sub IntegrateData()
AllAnswers = ThisWorkbook.Name
 PathName = PicFolder()


    Application.ScreenUpdating = False
    Dim f, flist, fs As Object
    
    Worksheets.Add
    
 '''Getdata file by file

'این بخش همه فایلهای موجود در یک فولدر را مشخص و یکی یکی برای انجام عملیات 'گرد آوری و به تابع getdata میفرستد


    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(PathName)
    Set flist = f.Files
   
    m = 1
    For Each f In flist
        GetData f.Name, m
        m = m + 1
    Next f
''''''''''''''''''Close all workbooks else thisworkbook
For Each w In Workbooks
        If w.Name <> ThisWorkbook.Name Then
            w.Close savechanges:=False
        End If
    Next w
    
 '''''''''''''
     Cells(1, 1).Select

End Sub

''''''

'تابع زیر نام فایل را میگیرد و اطلاعات آنرا در ستون مورد نظر کپی می کند


Sub GetData(filename As String, i)
' This macro import data of a file into thisworkbook
    

    Workbooks.Open filename:=PathName & "\" & filename
    ansfile = ActiveWorkbook.Name
    
    '''''''''copy data
    Windows(ansfile).Activate

    Set Data = Sheets("Sheet1").Range("A1:A10")  

'address of data in workbook that must be collected

   Data.Copy

    Windows(AllAnswers).Activate
    
    Cells(1, i) = filename  'نام فایل را در سلول اول درج می کند
    Cells(3, i).Select          'اطلاعات از سلول سوم به بعد کپی می شود
    ActiveSheet.Paste
   
 '''''''''''''''''Copy Finished

 
Windows(ansfile).Activate
ActiveWorkbook.Close savechanges:=False         'close data file

End Sub

'''''''''''

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

Private Function PicFolder()
Dim lngCount As Long

    ' Open the file dialog
    With Application.FileDialog(msoFileDialogFolderPicker)
        .AllowMultiSelect = False
        .Show

        ' Display paths of each file selected
        For lngCount = 1 To .SelectedItems.Count
            PicFolder = .SelectedItems(lngCount)
        Next lngCount

    End With
PicFolder = PicFolder & "\"

End Function

.: Weblog Themes By Iran Skin :.

درباره وبلاگ

آرشيو مطالب
امکانات وب