با سلام خدمت همراهان عزیز سایت آی تی سواد
در این مقاله قصد داریم نحوه ایجاد فرم جستجو در اکسل، برای یافتن و چاپ از طریق VBA را یاد بگیریم. راه های متعددی برای استفاده آسانتر از نرم افزارهای مختلف وجود دارد و نرم افزار اکسل یکی از پرکاربردترین آنها است که اغلب کسب و کارها از آن استفاده می کنند. معمولا اطلاعات زیادی وارد اکسل می شود که درج هرکدام و جستجوی آنها می تواند زمانبر باشد و یا حتی با احتمال خطا صورت گیرد.
زبان برنامه نویسی vba در اکسل این امکان را به کاربر می دهد تا برخی از کارها را بصورت خودکار انجام دهد. به این ترتیب شما می توانید در کمترین زمان و با بیشترین دقت اطلاعات لازم را وارد کرده و همزمان آنها را چاپ کنید.
ما در شیت۱ داده هایی داریم که شامل ستون A کد شناسایی ، ستون B حاوی نام ، ستون C آدرس ، ستون D شهر ، ستون E منطقه ، ستون F کشور و ستون G شامل کد پستی است.
در شیت دوم می خواهیم فرم جستجو را مانند تصویر زیر ایجاد کنیم.
ایجاد فرم جستجو در اکسل
۱. کلیدهای Alt + F11 را فشار دهید تا پنجره Microsoft Visual Basic for Applications باز شود .
۲. در پنجره Microsoft Visual Basic for Applications بر رویInsert > Module کلیک کنید و سپس از زیر کد VBA را کپی و در درون پنجره ماژول قراردهید .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Sub Searchdata() Dim Lastrow As Long Dim count As Integer Lastrow = Sheets("Data").Cells(Rows.count, 1).End(xlUp).Row Sheet1.Range("A11") = "" Sheet1.Range("B11") = "" Sheet1.Range("C11") = "" Sheet1.Range("d11") = "" For X = 2 To Lastrow If Sheets("Data").Cells(X, 1) = Sheet1.Range("B3") Then Sheet1.Range("A11") = Sheets("Data").Cells(X, 1) Sheet1.Range("B11") = Sheets("Data").Cells(X, 2) Sheet1.Range("C11") = Sheets("Data").Cells(X, 3) & " " & Sheets("data").Cells(X, 4) _ & " " & Sheets("data").Cells(X, 5) & " " & Sheets("Data").Cells(X, 6) Sheet1.Range("D11") = Sheets("Data").Cells(X, 7) End If Next X End Sub |
- روی دکمه جستجو راست کلیک کنید.
- روی Assign Macro کلیک کنید.
- روی searchdata کلیک کرده و سپس بر روی OK کلیک کنید.
برای اجرای ماکرو، بر روی دکمه جستجو کلیک کنید.
اگر کدشناسایی در آنجا باشد ، جزئیات به روز می شوند ، در غیر این صورت چیزی ظاهر نمی شوند.
برای چاپ گرفتن نتیجه جستجو کد زیر را در ماکرو جدید قرار دهید.
1 2 3 4 |
Sub PrintOut() Sheet1.Range("A1:D12").PrintPreview Sheet1.Range("A1:D12").PrintOut End Sub |
سپس مراحل زیر را انجام دهید.
- روی دکمه چاپ راست کلیک کنید.
- روی Assign Macro کلیک کنید.
- روی PrintOut کلیک کرده و سپس بر روی OK کلیک کنید.
ترجمه شده از سایت www.extendoffice.com