Help!! Index-Match disertai Penjumlahan + Perkalian + Pembagian

  1. ‹ Older
  2. 7 minggu lalu

    @manweljs_
    Terima kasih master , saya mulai paham fungsi Iflen .. nya dan untuk kenapa T.hasil harga saya tidak bisa terjumlah karena ada salah penempatan script ( heehehehe )

  3. @manweljs_
    master mau tanya , agar script berjalan sesui urutan bagaimana ya ?
    saya jalankan muncul error " Runtime error 11 - division by zero "
    Sub .....()

    Dim a As Long, b As Long, r As Long, aSh As Worksheet, bSh As Worksheet
    Set aSh = Worksheets("HARGA_KONTRAK")
    Set bSh = Worksheets("KEMAJUAN")

    a = aSh.Cells(Rows.Count, "B").End(xlUp).Row
    b = bSh.Cells(Rows.Count, "I").End(xlUp).Row

    With bSh
    For Each sel In .Range("I2:I" & b)
    i = sel.Row
    r = aSh.Range("B3:B" & a).Find(sel, , xlValues, xlWhole).Row
    .Cells(i, 11) = aSh.Cells(r, 8)
    .Cells(i, 12) = aSh.Cells(r, 9)
    .Cells(i, 13) = aSh.Cells(r, 4)
    Next
    For Each sel In .Range("B2:B" & b)
    i = sel.Row
    .Cells(i, 17) = aSh.Cells(r, 13)
    'total target harga
    .Cells(i, 18) = .Cells(i, 17) * .Cells(i, 6)

    Next
    'dropdown tuslah
    If .Range("N1") = "TUSLAH Rp.0" Then
    .Cells(i, 14) = aSh.Cells(r, 5)
    ElseIf .Range("N1") = "TUSLAH Rp.10.000" Then
    .Cells(i, 14) = aSh.Cells(r, 6)
    Else
    .Cells(i, 14) = aSh.Cells(r, 7)
    End If
    'hasil harga
    .Cells(i, 15) = (.Cells(i, 13) + .Cells(i, 14)) * .Cells(i, 10)
    'total hasil harga
    .Cells(i, 16) = totalharga(i, b)
    If Len(.Cells(i, 15)) And Len(.Cells(i, 16)) Then
    .Cells(i, 19) = .Cells(i, 16) / .Cells(i, 18)
    End If
    'total harga + rasio
    For Each sel In .Range("B2:B" & b)
    i = sel.Row
    .Cells(i, 16) = totalharga(i, b)
    If Len(.Cells(i, 15)) And Len(.Cells(i, 16)) Then
    .Cells(i, 19) = .Cells(i, 16) / .Cells(i, 18)
    Else
    .Cells(i, 19) = ""
    End If
    Next
    End With
    End Sub

  4. manweljs_

    Agu 7 Terverifikasi + 11.070 Poin
    Di sunting 7 minggu lalu oleh manweljs_

    @Chris212 ...saya jalankan muncul error " Runtime error 11 - division by zero ...

    Error tersebut kemungkinan besar terjadi pada baris :

    .Cells(i, 19) = .Cells(i, 16) / .Cells(i, 18)


    dugaan saya karena pada .Cells(i, 18) nilainya 0 (nol) atau string atau null string. di excel nilai berapapun jika anda bagi (/) dengan 0 atau string atau null string hasilnya pasti error

    tapi itu cuma dugaan saja, sebaiknya lampirkan filenya biar bisa dipelajari.

  5. Di sunting 7 minggu lalu oleh Chris212

    @manweljs_
    Sudah ketemu masalahnya kenapa terjadi errorr , ternyata setelah saya ceg ulang dan merapikan urutan scriptnya ternyata bisa ( heheeeheh )
    tapi setelah saya rapikan ada hasil yg tidak sesui di bagian " target rental "
    apakah ada salah di script atau memang harus ada penulisan scrip ditempat baru ?

    # Sudah ketemu , heheheeh ^^

  6. manweljs_

    Agu 7 Terverifikasi + 11.070 Poin
    Di sunting 7 minggu lalu oleh manweljs_

    @Chris212 tapi setelah saya rapikan ada hasil yg tidak sesui di bagian " target rental "

    pada baris

    .Cells(i, 17) = .Cells(r, 13)


    edit menjadi

    .Cells(i, 17) = aSh.Cells(r, 13)


    .Cells(r, 13) merujuk pada sheet Kemajuan baris r kolom ke 13 karena .Cells(r, 13) masih masuk dalam lingkup With bSh (Sheet Kemajuan).
    sedangkan aSh.Cells(r, 13) merujuk pada Sheet Harga Kontrak baris r kolom ke 13

    demikian

  7. @manweljs_
    Siapp
    saat unit & kegiatan kosong muncul error , supaya tidak menjadi error dan ada pesan " Unit / Kegiatan - Harus di isi "
    apkah ada scriptnya ?

  8. manweljs_

    Agu 7 Terverifikasi + 11.070 Poin

    @Chris212 ...supaya tidak menjadi error dan ada pesan " Unit / Kegiatan - Harus di isi "
    apkah ada scriptnya ?

    iya ada

  9. @manweljs_

  10. manweljs_

    Agu 7 Terverifikasi + 11.070 Poin
    Di sunting 7 minggu lalu oleh manweljs_

    @Chris212

    setelah with bSh tambahkan :

    ...
            For Each sel In .Range("I2:I" & b)
                If sel = "" Or Range("b" & sel.Row) = "" Then
                    MsgBox "semua baris di kolom unit dan kolom kegiatan harus diisi"
                    Exit Sub
                End If
            Next
    ...

  11. @manweljs_
    master untuk hasil harga bisakah di script untuk rasionya
    tapi dalam kondisi hasil harga yang di script itu yang tidak terjumlah oleh hasil harga lainya ( hasil harga terjumlah itu = total hasil harga )

  12. manweljs_

    Agu 7 Terverifikasi + 11.070 Poin
    Di sunting 7 minggu lalu oleh manweljs_

    @Chris212

    coba cek lampiran

  13. Di sunting 7 minggu lalu oleh Chris212

    @manweljs_
    setelah saya lihat
    saya masih bingung untuk script ini + itu berfungsi untuk apa ?
    apakah mungkin bisa menggunakan angka 2 / 2 keatas misalkan 3 , 4 dan seterusnya ?
    maaf jika pertanyaan saya mungkin aneh , karena saya ingin tau script yg digunakan berfungsi untuk apa ( heheeheh )

    o = WorksheetFunction.CountIfs(rngA, Range("A" & i), rngB, Range("B" & i))
    p = WorksheetFunction.CountIfs(Range("A2:A" & b), Range("A" & i), Range("B2:B" & b), Range("B" & i))
    If o > 1 And o = p Then
    rasio = WorksheetFunction.SumIfs(rngO, rngA, Range("A" & i), rngB, Range("B" & i)) / Range("r" & i)
    ElseIf o = 1 And p = 1 Then
    rasio = Range("O" & i) / Range("R" & i)
    End If

    If Err.Number Then rasio = ""
    Err.Clear
    End Function

  14. manweljs_

    Agu 8 Terverifikasi + 11.070 Poin

    @Chris212

    saya jelaskan pakai formula aja ya. cek kolom AA sampai AC, fungsi Rasio tersebut prosesnya sama dengan formula yang saya gunakan di file terlampir

  15. Di sunting 7 minggu lalu oleh Chris212

    @manweljs_
    setelah saya coba coba , saya mulai paham dari script > 1

    saat saya menambahkan script untuk kolom T-W
    berjalan normal , pertanyaan saya

    1. script yg saya tambahkan di T-W apkah script itu sudah benar ? jika dilihat dari @manweljs_ ( atau mungkin ada script yg tidak perlu)
    2. saat saya memilih tuslah ( saya buat mode list ) macro saya jalan otomatis padhal belum saya klik run

    , apakah ini efek dari script
    Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Range("N1"), Target) Is Nothing Then Call Bbse 'tuslah If Not Intersect(Range("S1"), Target) Is Nothing Then Call Bbse ' rasio End Sub

  16. manweljs_

    Agu 8 Terverifikasi + 11.070 Poin

    @Chris212

    setelah saya coba coba , saya mulai paham dari script > 1

    kalo > 1 artinya ada alat yang sama pada tanggal yang sama, gitu doank

    ...script yg saya tambahkan di T-W apkah script itu sudah benar ?...

    kalo menurut anda hasilnya sudah benar berarti sudah benar

    @Chris212 ...saat saya memilih tuslah ( saya buat mode list ) macro saya jalan otomatis padhal belum saya klik run, apakah ini efek dari script...

    betul, event Worksheet_Change tersebut di hapus aja kalo anda ingin makronya jalan setelah klik tombol run.

  17. @manweljs_

    sipp , master
    Terima kasih sudah dibantu selama ini
    Terima Kaish banyak

  18. 6 minggu lalu
    Di sunting 6 minggu lalu oleh Chris212

    @manweljs_
    Mau tanya lagi , heheehe

    Sub SBLE()
    
    Dim a As Long, b As Long, r As Long, aSh As Worksheet, bSh As Worksheet
    Set aSh = Worksheets("HARGA_KONTRAK")
    Set bSh = Worksheets("KEMAJUAN_SBLE")
    
        a = aSh.Cells(Rows.Count, "B").End(xlUp).Row
        b = bSh.Cells(Rows.Count, "I").End(xlUp).Row
        
        With bSh
        For Each sel In .Range("A2:A" & b)
            If sel = "" Then
                    MsgBox "TANGGAL TIDAK BOLEH KOSONG"
            Exit Sub
            End If
        Next
        For Each sel In .Range("B2:B" & b)
            If sel = "" Then
                    MsgBox "UNIT TIDAK BOLEH KOSONG"
            Exit Sub
            End If
        Next
            For Each sel In .Range("I2:I" & b)
                i = sel.Row
                r = aSh.Range("B3:B" & a).Find(sel, , xlValues, xlWhole).Row
                .Cells(i, 11) = aSh.Cells(r, 8)
                .Cells(i, 12) = aSh.Cells(r, 9)
                .Cells(i, 13) = aSh.Cells(r, 4)

    runtime error 91 object variable or with block variable not set
    itu kenapa ya ?
    di r = aSh.Range("B3:B" & a).Find(sel, , xlValues, xlWhole).Row

  19. @Chris212 runtime error 91 object variable or with block variable not set
    itu kenapa ya ?
    di r = aSh.Range("B3:B" & a).Find(sel, , xlValues, xlWhole).Row

    mungkin nilai sel yang dicari tidak ditemukan sehingga nilai r jadi tidak ada

  20. @manweljs_
    jika dalam kasus seperti ini
    saya ada 2 workbook dengan posisi data sama
    book 1 sudah dengan rumus yg benar + berjalan normal
    saya copas ke ke book 2
    saat di jalankan dia error , kemungkinan yg salah ada dimana ?
    semua sudah disesuaikan ( yg diganti hanya nama sub ... () ) yg book 1 sble dan book 2 stwa
    data dalam posisi sama yg bada hnya jumlah sheet ( sumber data )

  21. @Chris212 saat di jalankan dia error , kemungkinan yg salah ada dimana ?

    tanpa melihat sendiri filenya, saya gak tau salahnya ada dimana. yang jelas untuk error diatas penyebabnya adalah nilai r tidak ada karena nilai sel tidak ditemukan

 

atau Mendaftar untuk ikut berdiskusi!