Mohon bantuannya

  1. 5 tahun lalu

    All bantu ada makro apabila data kosong proses tetap di lanjutkan

    Sub getfilename2()

    Dim dir As Variant

    Dim xfilename As Object, xfso As Object

    Dim xfolder As Object, xfiles As Object

    dir = "d:\" & Sheet1.[D10] & "\"

    Set xfso = CreateObject("scripting.filesystemobject")

    Set xfolder = xfso.getfolder(dir)

    Set xfiles = xfolder.Files

    i = 2

    For Each xfilename In xfiles

    Sheet1.Cells(i, 3) = xfilename.Name

    i = i + 1

    Next

    End Sub

  2. Caton

    9 Nov 2018 Terverifikasi Indonesia + 20.101 Poin
    Di sunting 5 tahun lalu oleh Caton

    @Gumay ... apabila data kosong proses tetap di lanjutkan ...

    Data kosong atau file tidak ada? Kalau yang dimaksud adalah jika file tidak ada, maka pada dasarnya saat proses mengeksekusi baris script berikut:

    ...
    For Each xfilename In xfiles
       Sheet1.Cells(i, 3) = xfilename.Name 
       i = i + 1
    Next
    ...

    maka proses tidak akan mengeksekusi script di dalam blok FOR EACH ... NEXT tersebut. Artinya, proses akan dilanjutkan ke baris script selanjutnya, yakni END SUB dan prosedur selesai diproses.

    Jika maksudnya benar-benar jika data kosong, data yang mana yang dimaksud? Atau mungkin maksud mas @Gumay seperti contoh yang saya berikan pada diskusi di sini? Kalau bukan juga, saya cuma mau menyarankan kembali, jangan terlalu singkat menjelaskan inti masalahnya ...!

    Demikian.

  3. Di sunting 5 tahun lalu oleh manweljs_

    @Caton jangan terlalu singkat menjelaskan inti masalahnya ...!

    kalo menurut saya penjelasan mas @Gumay cukup panjang, kalo ditotal ada 15 baris, sedangkan punya mas @Caton cuma 14 baris

    :P

    btw id @Gumay ini kayaknya cloningan @MUSA deh, pola pertanyaannya mirip. hanya saja @MUSA masih agak rajin ngetiknya :)

    buat mas @MUSA sorry yak udah bawa2 ID nya. Cheers!

  4. Caton

    9 Nov 2018 Terverifikasi Indonesia + 20.101 Poin

    @manweljs_ ... kalo menurut saya penjelasan mas @Gumay cukup panjang, kalo ditotal ada 15 baris, sedangkan punya mas @Caton cuma 14 baris ...

    Tadinya saya malah mau menjawab lebih singkat,

    Silahkan baca penjelasan poin ke-2 pada diskusi di sini ...

    Hanya satu baris saja khan ... :)

    @manweljs_ ... btw id @Gumay ini kayaknya cloningan @MUSA deh, pola pertanyaannya mirip. hanya saja @MUSA masih agak rajin ngetiknya :) ...

    IDK ... Setahu saya, mas @Musa masih lebih baik dalam bertanya. Setidaknya, scriptnya juga sudah mulai menggunakan tag [code] sehingga lebih enak dibaca ... (^_^)/

  5. Maaf mas klo bahasa saya kurang pas
    Saya udh coba klo data kosong jd eror not path

  6. Caton

    9 Nov 2018 Terverifikasi Indonesia + 20.101 Poin
    Di sunting 5 tahun lalu oleh Caton

    @Gumay ... Maaf mas klo bahasa saya kurang pas ...

    Tidak masalah mas. Yang penting inti pertanyaan yang diberikan jelas ...

    @Gumay ... Saya udh coba klo data kosong jd eror not path ...

    Saya tanya kembali kepada mas @Gumay agar clear:

    [1]. Yang dicoba script yang mana? Kalau script punya mas @Gumay di atas khan sudah saya jelaskan, kalau tidak ada file pada folder sumber, maka proses akan langsung selesai (END SUB). Jadi proses apa yang akan dilanjutkan?
    [2]. Yang dimaksud data kosong itu yang bagaimana? Tidak ada filenya atau data pada range tidak ada? Kasih contoh dong mas bro ...

    Demikian ... :)

  7. O ya mas ntr Senin ya ane shared makro yg ane buat
    Mslhnya kerjaannya d komputer kantor
    Ane Sabtu Minggu libur????

  8. Caton

    9 Nov 2018 Terverifikasi Indonesia + 20.101 Poin

    @Gumay ... O ya mas ntr Senin ya ane shared makro yg ane buat ...

    Silahkan ... :)

  9. Ini om ane shared renamenya ane
    Knp d Cell c klo datanya kosong jd eror

  10. Caton

    12 Nov 2018 Terverifikasi Indonesia + 20.101 Poin

    @Gumay ... Knp d Cell c klo datanya kosong jd eror ...

    Maksudnya, mengapa macronya error jika tidak ada data pada sel C? Begitu khan? Saya coba komentari sedikit script dari file tersebut. Pada dasarnya, baris script:

    ...
    dir = "d:\" & Sheet1.[D8] & ""
    
    Set xFSO = CreateObject("scripting.filesystemobject")
    Set xfolder = xFSO.GetFolder(dir)
    ...

    otomatis akan menghasilkan kesalahan jika:

    — nilai sel D8 pada Sheet1 tidak ada (sel kosong), atau ...
    — nama folder pada sel D8 secara fisik tidak ada pada hard drive.

    Sederhana saja bukan? Seperti yang sudah pernah saya sampaikan, sebelum bekerja dengan folder atau filenya, uji dahulu apakah folder atau filenya ada, misalkan:

    ...
    '+-- Periksa apakah sel D8 ada isinya!
    If Len(Sheet1.[D8]) Then
        dir = "d:\" & Sheet1.[D8] & ""
        
        Set xFSO = CreateObject("scripting.filesystemobject")
        With xFSO
            '+-- Periksa apakah folder ada!
            If .FolderExists(dir) Then
                Set xFolder = xFSO.GetFolder(dir)
                '+-- Periksa apakah ada file pada folder tersebut!
                If xFolder.Files.Count > 1 Then
                    i = 2
                    '+-- Jika ada, ambil data filenya!
                    Set xFiles = xFolder.Files
                    For Each xFilename In xFiles
                        Sheet1.Cells(i, 1) = xFilename.Name
                        i = i + 1
                    Next
                End If
            End If
        End With
    End If
    ...

    Demikian.

  11. Caton

    12 Nov 2018 Terverifikasi Indonesia + 20.101 Poin
    Di sunting 5 tahun lalu oleh Caton

    @Gumay ... apabila data kosong proses tetap di lanjutkan ...

    Saya masih belum yakin dengan pertanyaan yang dimaksud, namun melihat lampiran yang di atas, mungkin maksud mas @Gumay ± seperti berikut ini:

    Sub GetFileName()
    Dim xFSO As Object, xFolder As Object, xFile As Object, xFiles As Object
    Dim lRow As Long, lCol As Long
    Dim sFolder As String
    Dim xlCell As Range
    
        lCol = 1
        Set xFSO = CreateObject("Scripting.FileSystemObject")
        For Each xlCell In Sheet1.Range("D8:D10")
            If Len(xlCell) Then
                sFolder = "D:\" & xlCell & "\"
                
                With xFSO
                    If .FolderExists(sFolder) Then
                        Set xFolder = xFSO.GetFolder(sFolder)
                        If xFolder.Files.Count > 1 Then
                            lRow = 2
                            Set xFiles = xFolder.Files
                            For Each xFile In xFiles
                                Sheet1.Cells(lRow, lCol) = xFile.Name
                                lRow = lRow + 1
                            Next
                        End If
                    End If
                End With
            End If
            lCol = lCol + 1
        Next
        Set xFSO = Nothing
        Call vlokup7
    End Sub

    Demikian.

  12. Mas caton klo ane jalanin
    Klo datanya kosong di Cell c data tetap memproses
    Tetapi data di Cell a dan b juga koq gak salin padahal datanya ada

  13. Caton

    12 Nov 2018 Terverifikasi Indonesia + 20.101 Poin
    Di sunting 5 tahun lalu oleh Caton

    @Gumay ... Klo datanya kosong di Cell c data tetap memproses ...

    Memang, karena alur proses bukan berdasarkan kolom C, tapi kolom D:

    ...
    For Each xlCell In Sheet1.Range("D8:D10")
    ...

    Saya lihat rujukan pada scriptnya adalah kolom D bukan kolom C. Jika maunya berdasarkan kolom C, tinggal diubah saja. Improvisasi dong mas. Untuk pertanyaan:

    @Gumay ... Tetapi data di Cell a dan b juga koq gak salin padahal datanya ada ...

    saya gak paham maksudnya gimana. Sori ...

    Demikian.

  14. Kolom d8 sampai d 10 adalah direktori tempat datanya

    Sedangkan di Cell a b dan c tempat nama file
    Klo di d10 datanya kosong harusnya data di d8 dan d9
    Datanya ke create nama filenya di Cell a dan b
    Tp d Cell a dan b malah gak create a dan b

  15. mas @Caton

    maaf sebelumnya, saya cuman mau izin kasih saran aja buat mas @Caton. mungkin mas @Gumay bisa lebih cepat mengerti jika nama variabel menggunakan kata-kata yang lebih memasyarakat :D

    misalnya sFolder menjadi FolderSumber, xFile menjadi FileDalamFolder dan lain-lain, silahkan mas

  16. Caton

    12 Nov 2018 Terverifikasi Indonesia + 20.101 Poin
    Di sunting 5 tahun lalu oleh Caton

    @Gumay ... Tp d Cell a dan b malah gak create a dan b ...

    Saya coba hasilnya begini:

    Test-Files.png

    Satu hal lagi, coba periksa kembali script di sini, karena ada revisi sedikit.

    Demikian.

  17. Caton

    12 Nov 2018 Terverifikasi Indonesia + 20.101 Poin
    Di sunting 5 tahun lalu oleh Caton

    @manweljs_ ... saya cuman mau izin kasih saran aja buat mas @Caton. mungkin mas @Gumay bisa lebih cepat mengerti jika nama variabel menggunakan kata-kata yang lebih memasyarakat ...

    Mungkin saja.

    Tapi saya yakin mas @Gumay ini cenderung belum paham logika pemrograman. Ini terlihat dari beberapa diskusi yang ada pada dasarnya sudah dibahas dan pola script yang disusun oleh yang bersangkutan sendiri. Seharusnya, yang bersangkutan mencoba untuk memahami alur proses dahulu ...

  18. Atau mungkin saja penjelasan mas @Caton perlu di rubah misalnya menjadi :

    ... Sy lht rujkn pd scrpny adl kolom d bkn kolom c. Jk mauny brdasarkn kolom c, tgl dubh sj....

    semangat ya mas ;)

 

atau Mendaftar untuk ikut berdiskusi!