برنامه نويسي در محيط ويژوال بيسيك كاربرد در اكسل(VB)


+ جلسه چهارم- متغیرها در ویژوال بیسیک

جلسه چهارم:

 

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

اطلاعاتی را در یک شیت اکسل وارد می کنیم

روش اول بدین صورت است که می توان یک ماکرو برای آن نوشت و بر روی سل نوشته شده راست کلیک کرده و گزینه clear contact را انتخاب نمود.

روش دوم بدین صورت است که از فرمول زیر استفاده نمود:

 

Range("B6:D14").ClearContents

 

متغیرها(Variables)

گاهی اوقات در فرمول نویسی در اکسل نیاز به متغیر می شود

 

عددی حروفی تاریخ متغیرهای منطقی

انواع متغیر:

Stringحروفی

Integer عددی

Date

منطقی(boolean)  که مقادیر True یا  False را می گیرد.

نام متغیر:

 

اسم متغیر حداکثر 256 کرکتر باید باشد و در ابتدای آن عدد نباید باشد و از . –  و فاصله نمیتوان در نام عنوان متغیر استفاده نمود.

معرفی متغیر:

برای معرفی متغیر به شکل زیر عمل می کنیم:

Dim  نام متغیر As نوع متغیر

Dim password As String, birthday As Date

متغیر های تاریخ9 در داخل #  # و متغیرهای حروفی در داخل "   " گذارده می شود.

مثال :فرض کنیم سه شیت داریم که در هر سه شیت اطلاعات داریم. می خواهیم اطلاعات شیت یک را پاک کرده و شیت دو را در شیت یک قرار داده و اطلاعات شیت سوم را از انتهای شیت دوم بنویسد:

برای این منظور ابتدا ماکرویی را ایجاد می کنیم و ایده های اصلی را به بهره گیری از کدهای این ماکرو می گیریم و برای نوشتن برنامه استفاده می نماییم.

توضیح و یا دآوری:

فرومول (COUNT(A:A)= در اکسل تعداد ردیفهای پرشده در درستون a را می دهد.

پس از نوشتن ماکرو وارد محیطVBA  می شویم و می بینیم که اطلاعات زیر نوشته شده است:

Sub dll()

 

dll Macro

Macro recorded 2009/12/20 by hamed.beirami

' Keyboard Shortcut: Ctrl+g

    Range("A1:A32").Select

    Selection.ClearContents

    Sheets("Sheet2").Select

    Range("A1:A30").Select

    Selection.Copy

    Sheets("Sheet1").Select

    Range("A1").Select

    ActiveSheet.Paste

    Sheets("Sheet3").Select

    ActiveWindow.SmallScroll Down:=-54

    Range("A1:A70").Select

    Application.CutCopyMode = False

    Selection.Copy

    Sheets("Sheet1").Select

    Range("A31").Select

    ActiveSheet.Paste

End Sub

مساله موجود این است که در انتهای اطلاعات وارد شده در شیت اول(پس از دلیت کردن) اطلاعات شیت سوم را وارد نماید.برای این منظور باید تغییراتی در ماکرو نوشته شده در اکسل ایجاد کرد و با استفاده از اطلاعات ستون c  و تعریف دو متغیر  x1 ,x2 و اضافه نمودن در سطرهای برنامه نوشته شده به این هدف رسید. بخش اصلی برای حل این مساله استفاده از روش آدرس دهی مختصاتی برای معرفی ناحیه ها است . زیرا نواحی که انتخاب می شوند تغییر میکنند و می بایست از دستور ‍ٍ‍ٍ cells(i,j)  استفاده کنیم 

Sub rep()

    Range("A:a").Select

    Selection.ClearContents

    Sheets("Sheet2").Select

      Dim x1, x2, x3

    (x1 = Cells(1, 3

    Range("A1", Cells(x1, 1)).Select

    Selection.Copy

    Sheets("Sheet1").Select

    Range("A1").Select

    ActiveSheet.Paste

    Sheets("Sheet3").Select

   ( x2 = Cells(1, 3

    Range("A1", Cells(x2, 1)).Select

    Application.CutCopyMode = False

    Selection.Copy

    Sheets("Sheet1").Select

    x3 = x1 + 1

    Cells(x3, 1).Select

    ActiveSheet.Paste

    ActiveWindow.SmallScroll Down:=-3

    Range("B1").Select

End Sub

نویسنده : حامد بیرامی ; ساعت ۱۱:٢۳ ‎ق.ظ ; ۱۳۸۸/۱٠/٢۱
تگ ها:
comment نظرات () لینک