Terima kasih pak De.

Salam,
HK


Sent from Samsung MobileDe Premor <[email protected]> wrote:Bukan Pak HK, new 
collection itu ya buat nyimpen2 koleksi ajah, nah enaknya si koleksi ini, dia 
tidak mau diisi nilai key yang sama, kalau sudah ada dia akan error, makanya 
diatasnya diberi bumbu On Error Resume Next

Disitu saya langsung declare menggunakan tag "New" biar nga usah repot2 nanti 
dibawahnya ngeset lagi menjadi New Collection, karena toh keperluannya cuman 
sekali itu doank penggunaannya.

On 02-10-2013 23:45, hendrik karnadi wrote:
 
Terima kasih Pak De atas codesnya yang begitu singkat dan jelas. 

Ada 2 kombinasi yang "sangat indah":
- On Error Resume Next ..... dan
- cKode.Add Trim(Rng), CStr(Rng)

Ada yang ingin saya tanyakan mengenai Dim cKode As New Collection.
Apakah New Collection merupakan Array untuk numbers ?

Salam,
HK


From: De Premor <[email protected]>
To: [email protected] 
Sent: Wednesday, 2 October 2013, 22:37
Subject: Re: [belajar-excel] Langsung masuk ke sheet yang diinginkan

 
Ikutan urun rembug :D

Sub Masukin()
    Dim SrcData As Range, Rng As Range
    Dim cKode As New Collection
    Dim LRow As Long

    Application.ScreenUpdating = False 
    Set SrcData = Sheet1.Range("D3", Sheet1.Range("D3").End(xlDown))
    
    On Error Resume Next
    For Each Rng In SrcData
        cKode.Add Trim(Rng), CStr(Rng)
    Next
    
    For LRow = 1 To cKode.Count
        Set Rng = SrcData.CurrentRegion.Offset(1, 1).Resize(SrcData.Rows.Count 
- 1, 2)
        SrcData.CurrentRegion.AutoFilter Field:=4, Criteria1:=cKode.Item(LRow)
        Rng.SpecialCells(xlCellTypeVisible).Copy 
Sheets(cKode.Item(LRow)).Range("B3")
        SrcData.CurrentRegion.AutoFilter
    Next
    Application.ScreenUpdating =                                         True
End Sub

On 02-10-2013 17:27, hendrik karnadi wrote:
 
Jawaban terlampir menggunakan macro warisan si Mbah dengan modifikasi sana sini.
Angka2 (kelompok) 1,2,3,4,5 yang ada pada data maupun nama sheet terpaksa saya 
ganti menjadi jenis biaya yang ada pada Range("A1") masing2 sheet.

Hal tersebut saya lakukan karena fungsi Instr yang dipakai untuk membuat Array 
Unique Values membutuhkan data string bukan angka

Macronya adalah spt ini:
Sub splittable()
    ' siti Vi (updated by Hendrik)
    ' declarations of variables
    Dim RefTbl As Range
    Dim sNames As String, ArrNames
    Dim r As Long, n As Long, i As Long
    
    ' turn off dialoque
    ' freezing the screen
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    
    ' setting data reference
    Set RefTbl = Sheets("Sheet1").Range("B3", Range("B3").End(xlDown))
    Set RefTbl = RefTbl.Resize(RefTbl.Rows.Count - 1, 3)
    
    ' creating unique list of Names
    For r = 1 To RefTbl.Rows.Count
       If InStr(1, sNames, RefTbl(r, 3) & "|") = 0 Then
          sNames = sNames &                                           RefTbl(r, 
3) & "|"
       End If
    Next
    ArrNames = Split(sNames, "|")
         
    ' split the data
    For i = LBound(ArrNames) To UBound(ArrNames) - 1
       Sheets(ArrNames(i)).Select
       n = 2
       For r = 1 To RefTbl.Rows.Count
          If RefTbl(r, 3) = ArrNames(i) Then
             n = n + 1
             RefTbl(r, 1).Resize(1, 2).Copy
             Cells(n, 2).PasteSpecial xlPasteValuesAndNumberFormats
          End If
       Next r
       Application.CutCopyMode = False
    Next i
    
    ' turn on dialoque
    ' unfreezing the screen
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub

Pertanyaannya;
Bagaimanakah penulisan macro untuk mendapatkan Array Unique Values yang berupa 
angka ?

Terima kasih.

Salam,
HK



From: Topenk Baday <[email protected]>
To: [email protected] 
Sent: Wednesday, 2 October 2013, 10:10
Subject: [belajar-excel] Langsung masuk ke sheet yang                           
                    diinginkan [1 Attachment]

 
Dimohon bantuannya,
Kami lampirkan contoh permasalahan, 
Mohon "rumus excel atau                                                         
  makro"-nya supaya data yang diinginkan dapat masuk langsung sesuai dengan 
kode yang diinginkan.
Terima kasih sebelumnya.










Kirim email ke