cari kata dari combine kolom

  1. 4 tahun lalu

    Siang All,

    misal di file1 kolom A1 isi cellnya N01001-01-01 10101-00521 nah pada

    file2

    A B C D E
    N01001 01 01 10101-00521 100

    pertanyaanya bagaimana mengambil nilai E pada file2 berdasar string dari file1

    trims

  2. Pakai rumus left, setelah jadi, pindah opsi formula menjadi R1C1, copy kan ke vba script range("e2").formulaR1C1 = " "
    Rumus left dalam bentuk r1c1 tadi copykan di antara tanda petik

  3. maaf saya ralat pertanyaanya

    saya lampirkan file1 dan file2 nya

    jadi sy ingin mendapatkan data qty sesuai dengan yg ada di file2 tetapi data yg harus di cari itu berdasar 2 kolom pada file1.

    apa ada yang tahu code VBA nya..

  4. @ddtopgun

    bisa dibantu dengan memberikan contoh hasil yang diinginkan?

    sy agak bingung soalnya di kolom keterangannya ada yg panjang ada yg pendek, terus bagian yg di merge maksudnya apa, apakah itu artinya semua nilainya sama? kalo nilainya sama berarti kan subtotalnya salah.

    ditambah lagi deh penjelasannya

  5. @manweljs_

    betul di kolom keterangan memang ada yang panjang dan yang pendek
    jika keterangan yang panjang pada file1 maka di file2 itu penggabungan kolom B,C,D,E baru di dapatkan qty itu berdasarkan kolom proses pada file1 dan header proses di file2.

    iy jika ada bagian di merge nilai qty nya sama..subtotalnya jangan di lihat dulu

    dan unutk store delivery pada file1 itu merupakan sum before packing sampe store FG

    berikut saya attach file berikut contoh hasilnya

  6. @ddtopgun

    coba cek file terlampir

    Note :
    1. ada beberapa nama kolom yg saya sesuaikan dengan file 1 karena nama kolomnya tidak sama, jadi biasakan untuk memastikan nama kolomnya persis sama

    2. mengenai Store Delivery sy kurang paham, saran sy buat sj kolom store delivery di file 2

  7. @manweljs_

    untuk no .1akan saya cek lagi.
    dan no.2 mengenai store delivery akan saya coba bikin 1 kolom lagi akan tetapi jika tanpa ada kolom tambahan, maka store delivery itu merupakan jumlah dari beberapa kolom dimulai dari kolom U - AA

    gmn utk menjumlahkan beberapa kolom tersebut

  8. @ddtopgun

    ...akan tetapi jika tanpa ada kolom tambahan, maka store delivery itu merupakan jumlah dari beberapa kolom dimulai dari kolom U - AA

    gmn utk menjumlahkan beberapa kolom tersebut

    ya di SUM donk :)

    Option Explicit
    Sub TesAmbilData()
    Dim file1 As Workbook
    Dim file2 As Workbook
    Dim ket As Range, rTarget As Range, yTarget As Range
    Dim sel As Range, xsel As Range, x As String
    Dim r As Long, c As Long
    Set file1 = ThisWorkbook
    'note : sesuaikan sj cara ambil file2 nya
    Set file2 = Workbooks.Open(ThisWorkbook.Path & "\file2.xlsx")
    Set ket = file1.Sheets("Tes").Range("D2:D20")
    Application.ScreenUpdating = False
    On Error Resume Next
    
    For Each sel In ket
        'jika keterangan pendek
        x = sel.Offset(0, -1)
        If Len(sel) = 6 Then
            With file2.Worksheets("Sheet1")
                Set rTarget = .Range("B3:B" & .Range("B" & Rows.Count).End(xlUp).Row)
                Set yTarget = .Range("H1:AA1")
                'periksa baris kolom B pada file2
                For Each xsel In rTarget
                    If xsel = sel Then
                    r = xsel.Row
                        'jika store delivery
                        If x = "Store Delivery" Then
                            sel.Offset(0, -2) = WorksheetFunction.Sum(.Range("U" & r & ":AA" & r))
                            GoTo berikut
                        Else
                        'cari kolom nama proses pada file2
                            c = .Cells.Find(x, LookAt:=xlWhole).Column
                            If Err = 0 Then sel.Offset(0, -2) = .Cells(r, c)
                            GoTo berikut
                        End If
                    End If
                Next
            End With
        Else
        'jika keterangan panjang
            With file2.Worksheets("Sheet1")
                Set rTarget = .Range("A3:A" & .Range("B" & Rows.Count).End(xlUp).Row)
                Set yTarget = .Range("H1:AA1")
                'periksa baris kolom A pada file2
                For Each xsel In rTarget
                    If xsel = sel Then
                    r = xsel.Row
                        'jika store delivery
                        If x = "Store Delivery" Then
                            sel.Offset(0, -2) = WorksheetFunction.Sum(.Range("U" & r & ":AA" & r))
                            GoTo berikut
                        Else
                        'cari kolom nama proses pada file2
                            c = .Cells.Find(x, LookIn:=xlValues, LookAt:=xlWhole).Column
                            If Err = 0 Then sel.Offset(0, -2) = .Cells(r, c)
                            GoTo berikut
                        End If
                    End If
                Next
            End With
        End If
        
    berikut:
    Next
    Err.Clear: file2.Close: Application.ScreenUpdating = True
    End Sub

  9. terima kasih atas bantuannya ..nanti boleh tanya2 lagi ya..:)

 

atau Mendaftar untuk ikut berdiskusi!