Ptivate Sub Change() error Subscript Out Of Range

  1. 3 tahun lalu

    Mau tanya ,
    penulisan code untuk mendeklarkan sheet yg benar bagaimana ya ?
    saya pakai code ini " Set target = ActiveWorkbook.Sheets(CMBUNIT.Value) " muncul error

    Private Sub CMBUNIT_Change()
        Dim target As Worksheet
        Set target = ActiveWorkbook.Sheets(CMBUNIT.Value)
        With target
        TXTHMAWAL.Text = .Range("F" & .Rows.Count).End(xlUp).Value
        End With
    End Sub

    Tujuan script saya , mengambil data terakhir dan ditampilan di Tetxbox UserForm saat memilih unit ,.

  2. @Chris212 harusnya tidak ada masalah dengan skrip nya. errornya mungkin karena tidak ditemukan nama sheet yang cocok dengan value di CMBUNIT

  3. Di sunting 3 tahun lalu oleh Chris212

    @manweljs_
    apakah karena ini

    Private Sub CMDSAVE_Click()
        On Error Resume Next
        Dim target As Worksheet, LR As Long
        Dim shtBBM As Worksheet, LRBBM As Long
        Set shtBBM = Worksheets("BBM")
        Set target = ActiveWorkbook.Sheets(CMBUNIT.Value)
        LR = target.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row
        LRBBM = shtBBM.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row



    " Set target = ActiveWorkbook.Sheets(CMBUNIT.Value) " sudah ada di CMDSAVE_Click()
    saat saya meletakan

    With target
        TXTHMAWAL.Text = .Range("F" & .Rows.Count).End(xlUp).Value
        End With


    di CMDsave , kode berjalan tapi saat saya klik save ,
    yang saya cari saat pilih unit kode berjalan

  4. manweljs_

    12 Jan 2021 Terverifikasi Jawaban Terpilih + 11.321 Poin

    @Chris212

    coba edit menjadi :

    Private Sub CMBUNIT_Change()
    On Error Resume Next
        Dim target As Worksheet
        Set target = ActiveWorkbook.Sheets(CMBUNIT.Value)
        With target
        TXTHMAWAL.Text = .Range("F" & .Rows.Count).End(xlUp).Value
        End With
    Err.Clear
    End Sub

    proses error awalnya ada pada Userform_Initialize. disitu anda melakukan perintah2 yang berpengaruh pada CMBUNIT

  5. Di sunting 3 tahun lalu oleh Chris212

    @manweljs_
    OOT
    saya masih bingung perbedaan antara .text dengan .value
    saat saya terapakan di code saya tidak terjadi error jika digunakaan kedua nya
    contoh yg saya gunakan,

    Private Sub TXTTANGGAL_AfterUpdate()
    If IsDate(Me.TXTTANGGAL.Text) Then
    Me.TXTTANGGAL.Text = Format(Me.TXTTANGGAL.Text, "DD-MMM-YYYY")
    End If
    End Sub
    
    Private Sub TXTHMAWAL_AfterUpdate()
    If IsNumeric(Me.TXTHMAWAL.Text) Then
    Me.TXTHMAWAL.Text = Format(Me.TXTHMAWAL.Text, "0.0")
    End If
    End Sub

    apakah itu akan mengalami suatu maslah saat kedepanya ? lebih baik gunakan .text / .value ?

  6. @Chris212

    agar mudah dipahami coba cek aja file terlampir

  7. @manweljs_
    Siap , terima kasih ^_^

 

atau Mendaftar untuk ikut berdiskusi!