no urut dengan kreteria

  1. 6 tahun lalu

    mohon pencerahannya mengenai rumus VBA berikut

    Sub newrecord()
    
    ' Customer_number Macro
    ' newe number for new record
       
        Sheets("COBA").Select
        Range("c23").Select
        ActiveCell.FormulaR1C1 = "=MAX(COUNTIF{'DATABASE'!c[-2]})+1" 
        Range("c2").Select
        Selection.Copy
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        ActiveSheet.Paste
        Application.CutCopyMode = False
        Sheets("INPUT").Select
        Sheets("COBA").Select
        Range("c2").Select
        Selection.Copy
        Sheets("INPUT").Select
        Range("A2").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        
    End Sub

    masalahnya rumus ini ==> ActiveCell.FormulaR1C1 = "=MAX(COUNTIF{'DATABASE'!c[-2]})+1" tidak bisa bekerja.
    rumus asal seperti berikut =MAX(COUNTIF(DATABASE!B:B;C2))+1

    terimakasih bantuannya

  2. ada file excelnya kah? silahkan diupload .

    1. klo secara penjelasan,kesalahan ada pada "=MAX(COUNTIF{'DATABASE'!c[-2]})+1"
    disini jelas jelas, countif harus dengan kriteria ,sedangkan disitu tdk ada . klo ingin menggunakan array ,..gukanan activecell.FormulaArray( .

    2. Jika dibandingkan rumus dg hasil record. Sangat berbeda ...
    jika disini

    Range("c23").Select
    ActiveCell.FormulaR1C1 = "=MAX(COUNTIF{'DATABASE'!c[-2]})+1" 


    coba disini agan baca.. jika range C23 yg aktif ,..lalu rumus agan sperti itu .. berarti hasil rumusnya :

    =MAX(COUNTIF(DATABASE!A:A))+1


    dan itu akan invalid karna tdk ada kriteria

    range C23 : kolomnya adalah C ... jika C[-2] yg ada dirumus...brarti offset kekiri sebanyak 2x yaitu kolom [A]
    maka berarti bisa disimpulkan keduanya tdk saling berkaitan atau tdk sesuai keinginan.

    sbg catatan itu semua hanyalah asumsi dan pendapat saya . Akan berbeda mungkin jika data sudah diupload

  3. Terima kasih, akhirnya ketemu. dgn formula sebagai berikut

    Sub newrecord()
    
    ' Customer_number Macro
    ' newe number for new record
       
        Sheets("COBA").Select
        Range("c2").Select
        ActiveCell.FormulaR1C1 = "=MAX(COUNTIF(database!r2c2:r500c2,input!r2c1)+1)"
        Range("c2").Select
        Selection.Copy
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        ActiveSheet.Paste
        Application.CutCopyMode = False
        Sheets("input").Select
        Sheets("coba").Select
        Range("c2").Select
        Selection.Copy
        Sheets("input").Select
        Range("e2").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
    End Sub

  4. ok congrats ... nextnya..diupload data terkait untuk mempermudah persoalan ...

    salam

 

atau Mendaftar untuk ikut berdiskusi!