Record Auto

  1. 2 bulan yang lalu
    Di sunting 2 bulan yang lalu oleh Chris212

    Selamat Pagi master BE semua

    Private Sub Worksheet_Activate()
      With ActiveSheet.ListObjects(1)
        If .ListRows.Count Then .DataBodyRange.Delete
        For Each sh In Sheets(Array("FE 202", "FD 202", "FT 202"))
          ar = sh.Cells(1).CurrentRegion
          If UBound(ar) > 1 Then
            .ListRows.Add.Range.Resize(UBound(ar) - 1, 7) = Application.Index(ar, Evaluate("Row(2:" & UBound(ar) & ")"), Array(1, 2, 3, 6, 8, 9, 10))
          Dim lastrow As Long
        lastrow = Cells(Rows.Count, 2).End(xlUp).Row
        Range("A1:G" & lastrow).Sort key1:=Range("A1:A" & lastrow), order1:=xlAscending, Header:=xlYes
                Worksheets("RECORD").Cells(1, 1).Select
          End If
           Next sh
             .Range.Sort .Range.Columns(1), , , , , , , xlYes
      End With
    End Sub

    saya melakukan perubahan posisi Header ( DATE LOCATION CODE HM SHARED HM FUEL CODE FUEL USED ACTIVITIES RESULTS INFORMATION ) ke baris 5 maka terjadi erorr
    jika header di posisi Baris 1 maka script normal

    Pertanyaa saya
    With ActiveSheet.ListObjects(1)

      If UBound(ar) > 1 Then

     .ListRows.Add.Range.Resize(UBound(ar) - 1, 7) = Application.Index(ar, Evaluate("Row(2:" & UBound(ar) & ")"), Array(1, 2, 3, 6, 8, 9, 10))


    script tersebut dirubah manjadi apa ? ( menurut saya error terjadi disini ) dan saya masih belum paham fungsinya ^^;
    Mohon Bantuanya , terima kasih
    Note : Script tidak buat sendiri , saya dapat dari ambil script orang :D

  2. Masdad

    Sep 25 Terverifikasi Demak + 2.030 Poin

    Tujuannya buat ya? Apa untuk sortir data di tiap sheet?

  3. @Masdad
    iya
    Sheet Raw ( FE , FD , FT 202 )
    jika Header di Kolom A1 ( ke kanan ) maka data tercopy otomatis ke Sht Record dan tersort otomatis ( script berjalan lancar )
    tapi setelah saya rubah posisi header ke kolom A5 ( ke kanan ) terjadi error ..
    saya harus melakukan perubahan di bagian script mana , begitu :D

     With ActiveSheet.ListObjects(1)
    
      If UBound(ar) > 1 Then
    
     .ListRows.Add.Range.Resize(UBound(ar) - 1, 7) = Application.Index(ar, Evaluate("Row(2:" & UBound(ar) & ")"), Array(1, 2, 3, 6, 8, 9, 10))


    Menurut saya sih dibagian ini , tapi bingung akan perubahannya + fungsi dari scrpt tsb

  4. SOLVED :D

    ar = sh.Cells(1).CurrentRegion

    Menjadi

    ar = sh.Cells(6.1).CurrentRegion

 

atau Mendaftar untuk ikut berdiskusi!