کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

به اشتراک گذاری اطلاعات کسب شده در اکسس از سایت آفیس و سایت های تخصصی خارجی
کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

به اشتراک گذاری اطلاعات کسب شده در اکسس از سایت آفیس و سایت های تخصصی خارجی

UserControl در اکسل ... کد نویسی


منبع زیر از سایت خارجی است  و طبق نگاه اجمالی و کدنویسی VBA باید درست باشد.




درتابع زیر چنانچه در اولین کنترل که editstudent1 است اینتر زده شود تابع Findit فایرشده و مقدارآن در متغیر تعریف شده ی  Search  را در رنج A پیدا میکند ( متد Find ) ، اگر پیداشد با لوپ زدن در کنترل ها که شروع آن  از 2  است  و به 13 ختم میشود ( منظور نام  کنترلها در UserForm از editstudent1 شروع شده تا editstudent13 )  مقدار کالمن ها در ردیف پیداشده در شیت را ( با متد Cells ) به آن کنترل ها انتقال میدهد.

Private Sub editstudent1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) 
    If KeyCode=vbKeyReturn Then 
        Findit 
    End If 
End Sub


Private Sub Findit() 'Find and populate the records with Excel VBA
Dim fnd As Range
Dim Search As String
Dim sh As Worksheet
Dim i As Integer
  Set sh=Sheet2
Search=editstudent1.Text
(Set fnd=sh.Columns("A:A").Find(Search, , , xlWhole
    If fnd Is Nothing Then
        MsgBox "No Person Found", , "Error"
        editstudent1.Text=""
        frmeditrecord.Hide
    Else
        For i=2 To 13 'There are 13 items in the userform.
            frmeditrecord.Controls("editstudent" & i).Text=sh.Cells(fnd.Row, i).Value
        Next i
    End If
End Sub


Private Sub cmdUpdate_Click() 'Push data back to the tab with Excel VBA
Dim fnd As Range
Dim Search As String
Dim sh As Worksheet
Dim i As Integer
Dim ctl As Object Set sh=Sheet2
Search=editstudent1.Text

(Set fnd=sh.Columns("A:A").Find(Search, , , xlWhole
      For i=2 To 13
         sh.Cells(fnd.Row, i).Value=frmeditrecord.Controls("editstudent" & i).Text
    Next i
حذف کردن محتویات ادیت باکس کنترل های تیپ تکست باکس در UserForm.

    'Clear Form controls
    For Each ctl In Me.Controls
       If TypeName(ctl)="TextBox" Then ctl.Value=Null
    Next ctl
End Sub


(Range.Find method (Excel


مثال زیر که از متد بالا نشات گرفته محتویات رنج تعریف شده اگر 2 بود را به 5 تغییر میدهد.



This example selects cell A154 on Sheet1 and then scrolls through the worksheet to display the range


Application.Goto Reference:=Worksheets("Sheet1").Range("A154"),     scroll:=True 

Jump

("Set ws2=Sheets("Sheet2
ws2.Range("A" & RowNum).Select


نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد