[belajar-excel] array list file #N/A di kondisikan kosong ( Tidak ada )

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

[belajar-excel] array list file #N/A di kondisikan kosong ( Tidak ada )

dayatshogun46
Mohon bantuan exceler untuk masalah array

Macro List file yang saya gunakan seperti dibawah ini.
Public Function GetFileList( _

>        Optional sPath As String = vbNullString, _
>        Optional sKriteria As String = vbNullString, _
>        Optional lResultAsArray As Long = 0) As Variant


> Dim sFile As String, sFilePath As String, sCari As String
> Dim sList As String, sResult() As String
> Application.Volatile
> If LenB(sPath) = 0 Then
>   sFilePath = ThisWorkbook.Path & "\"


> Else
>   sFilePath = sPath
>   If Right$(sPath, 1) <> "\" Then
>     sFilePath = sFilePath & "\"
>   End If
> End If
> If LenB(sKriteria) = 0 Then


>   sCari = "*"
> Else
>   sCari = sKriteria
> End If
> Application.DisplayAlerts = False
> sFile = Dir$(sFilePath & sCari)
> Do While LenB(sFile) <> 0
>   sList = sList & sFile & "|"


>   sFile = Dir$
> Loop
> If Right$(sList, 1) = "|" Then
>   sList = Left(sList, Len(sList) - 1)
> End If
> If lResultAsArray <> 0 Then
>   GetFileList = WorksheetFunction.Transpose(Split(sList, "|"))


> Else
>   GetFileList = sList
> End If
> Application.DisplayAlerts = True
> End Function

Namun hasil bila tidak ada file = #N/A, yang saya inginkan bagai mana jika array #N/A dikondisikian kosong seperti data sel yang belum terisi.
Reply | Threaded
Open this post in threaded view
|

Re: [belajar-excel] array list file #N/A di kondisikan kosong ( Tidak ada )

Ki_Semprul
Dibuat sbg *prosedur Sub* saja, jangan prosedur Fungsi.
Jadi penulisannya ke range selalu PAS dengan jumlah temuan


On Sat, Feb 25, 2012 at 7:36 AM, nor hidayat <[hidden email]>
wrote:

> Mohon bantuan exceler untuk masalah array
>
> Macro List file yang saya gunakan seperti dibawah ini.
> > Public Function GetFileList( _
> >        Optional sPath As String = vbNullString, _
> >        Optional sKriteria As String = vbNullString, _
> >        Optional lResultAsArray As Long = 0) As Variant
> > -----------
> > End Function
>
> Namun hasil bila tidak ada file = #N/A, yang saya inginkan bagai mana
jika array #N/A dikondisikian kosong seperti data sel yang belum terisi.
Reply | Threaded
Open this post in threaded view
|

Re: [belajar-excel] array list file #N/A di kondisikan kosong ( Tidak ada )

iHaps
1.
Benar kata Ki Ageng Semprul...  "dibuat *PROSEDUR SUB*" saja !
Kalau keperluannya HANYA untuk mengisi Combobox, kita tidak perlu makro UDF
(Prosedur Function)
* > and then: UDF ditulis di Sheet sbg array formula (yang kalau cell
terpakai lebih banyak dari array yg didapat mendatangkan err Value #N/A)
* > and then: list yg terjadi di sheet (karena formula berbantuan UDF itu)
dipakai sebagai ROW-SOURCE bagi si Combo
Muter seperti gasingan, salah salah malah bisa 'cenat-cenut' sendiri lho
rèk..

2.
Agak herannya, sudah ditunggu-tunggu, tapi pak nor hidayat, tidak berkenan
untuk menyebutkan sumber makronya dan tidak pula menyertakan lampiran
workbooknya.
Sedangkan kalau bicara soal makro di excel, jika Lahan/"Area bermainnya
makro" (biasanya sheet + cellsnya) tidak di tunjukkan, para calon penanggap
biasanya menurun niat membantu-nya; karena tentu 'ogah' kalau harus
mengarang sendiri segala macam data, form dsb.
(idealnya 'kan sebelum VBA-code dilempar ke JalUm, harus sudah di test di
LAHAN & AREA bermainnya makro yg sesuai) agar tidak terlalu banyak
kesalahan yg menundang pertanyaan baru..

3.
Terlampir file terkompress berisi sebuah folder yg didalamnya berisi file 1
XLSM dan beberapa contoh Image-File
(berhubung filesize nya 538KB (berisi banyak *jpg) file dapat anda unduh
sendiri di sini
http://www.box.com/s/aglpxtqyqyjj3nia1stl

Di sheet 1; jika tombol X di ceklik, akan dimunculkan Userform1
Tetapi sesaat sebelum dimunculkan (yaitu ketika terjadi event ititialize)
sebuah Combobox di dalam userform tsb di isi items yg berupa text nama-nama
file, ASAL BUKAN file excel berisi makro pengendalinya (ThisWorkbook.Name)
Di makro ini diberi BONUS : FileList (yg diumpankan ke Combobox) juga
ditulis di Kolom G, hanya untuk pajangan saja!, agar penonton tidak kecewa..

Setelah Userform Aktif, jika Combobox di pilih salah satu ITEMnya / diganti
VALUE-nya  (=terjadi event Change) , maka file gambar yg "KEBETULAN"
namanya terpampang di Combobox di panggil untuk di LOAD ke object Image yg
ada di UserForm itu juga.

Cuma begitu kan ?!

Yg perlu di catat adalah: setiap Userform di LOAD, Items di dalam si Combo
selalu di refresh isinya (dengan TEXT nama semua file yg seFolder dengan
ThisWorkbook, selain nama ThisWorkbook itu sendiri).
Keadaan ini mengakibatkan: jika anda menambah atau mengurangi cacah files
dalam "seFolder" itu ataupun me-RENAME beberapa nama files; maka Combobox
(dan juga daftar di kolom G) akan selalu SESUAI dengan daftar file yg ada
di "SeFolder" tsb.

Mudah-mudahan seperti itu yg diinginkan oleh pak nor hidayat..

[image: Inline image 1]

Private *Sub* GetFileList( _

        Optional sPath As String = vbNullString, _

        Optional sKriteria As String = vbNullString)

    ' modifikasi: iHapsari / smg, 25 Feb 2012

   '------------------------------

   Dim sFile As String, sCari As String



   If LenB(sPath) = 0 Then

      sPath = ThisWorkbook.Path & "\"

   Else

      If Right$(sPath, 1) <> "\" Then sPath = ThisWorkbook.Path & "\"

   End If

   sCari = IIf(LenB(sKriteria) = 0, "*", sKriteria)



   Application.DisplayAlerts = False

   Application.EnableEvents = False


   ' Loop langsung mengisi Combobox

   sFile = Dir$(sPath & sCari)

   Do While LenB(sFile) <> 0

      If Not sFile = ThisWorkbook.Name Then

         CboName.AddItem sFile

         ' 2 baris di bawah ini hanya untuk HIBURAN Anda saja

         ' (= mengisi nama file ke Sheet1 kolom G) / boleh dihapus.

         i = i + 1: Range("G" & i) = sFile

      End If

      sFile = Dir$

   Loop



   Application.EnableEvents = True

   Application.DisplayAlerts = True

 End Sub

'--------


Unduh Lampiran: http://www.box.com/s/aglpxtqyqyjj3nia1stl


maarweg - 5000 koln / 26 feb 2012
- i -



2012/2/25 Ki Semprul <[hidden email]>

> **
> Dibuat sbg prosedur Sub saja, jangan prosedur Fungsi.
> Jadi penulisannya ke range selalu PAS dengan jumlah temuan
>
> On Sat, Feb 25, 2012 at 7:36 AM, nor hidayat <[hidden email]>
> wrote:
> > Mohon bantuan exceler untuk masalah array
> >
> > Macro List file yang saya gunakan seperti dibawah ini.
> > > Public Function GetFileList( _
> > >        Optional sPath As String = vbNullString, _
> > >        Optional sKriteria As String = vbNullString, _
> > >        Optional lResultAsArray As Long = 0) As Variant
> > > '   ---bla bla bla ----
> > > End Function
> >
> > Namun hasil bila tidak ada file = #N/A, yang saya inginkan bagai mana
> jika array #N/A
>
> dikondisikian kosong seperti data sel yang belum terisi.
>
>
>

pict in form.GIF (58K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

[belajar-excel] Re: array list file #N/A di kondisikan kosong ( Tidak ada )

dayatshogun46
Dear master exceler
Menyambung cerita lama untuk list file
Mohon pencerahannya tambahan macronya, karena saya sudah mengikuti prosedur yanG di sarankan namun terkendala ketika mengetikkan manual didalam combolistnya jika jawaban tidak ada dalam daftar file yang dituju maka macronya error, trus nama file yang muncul di combobooknya ber extention .jpg, apakah extention bisa di hilangkan sehingga hanya nama file saja yang akan diprosess. Trims

Regard's
Nor Hidayat
--- In [hidden email], i Haps <hapsari.stlizbeth@...> wrote:

>
> 1.
> Benar kata Ki Ageng Semprul...  "dibuat *PROSEDUR SUB*" saja !
> Kalau keperluannya HANYA untuk mengisi Combobox, kita tidak perlu makro UDF
> (Prosedur Function)
> * > and then: UDF ditulis di Sheet sbg array formula (yang kalau cell
> terpakai lebih banyak dari array yg didapat mendatangkan err Value #N/A)
> * > and then: list yg terjadi di sheet (karena formula berbantuan UDF itu)
> dipakai sebagai ROW-SOURCE bagi si Combo
> Muter seperti gasingan, salah salah malah bisa 'cenat-cenut' sendiri lho
> rèk..
>
> 2.
> Agak herannya, sudah ditunggu-tunggu, tapi pak nor hidayat, tidak berkenan
> untuk menyebutkan sumber makronya dan tidak pula menyertakan lampiran
> workbooknya.
> Sedangkan kalau bicara soal makro di excel, jika Lahan/"Area bermainnya
> makro" (biasanya sheet + cellsnya) tidak di tunjukkan, para calon penanggap
> biasanya menurun niat membantu-nya; karena tentu 'ogah' kalau harus
> mengarang sendiri segala macam data, form dsb.
> (idealnya 'kan sebelum VBA-code dilempar ke JalUm, harus sudah di test di
> LAHAN & AREA bermainnya makro yg sesuai) agar tidak terlalu banyak
> kesalahan yg menundang pertanyaan baru..
>
> 3.
> Terlampir file terkompress berisi sebuah folder yg didalamnya berisi file 1
> XLSM dan beberapa contoh Image-File
> (berhubung filesize nya 538KB (berisi banyak *jpg) file dapat anda unduh
> sendiri di sini
> http://www.box.com/s/aglpxtqyqyjj3nia1stl
>
> Di sheet 1; jika tombol X di ceklik, akan dimunculkan Userform1
> Tetapi sesaat sebelum dimunculkan (yaitu ketika terjadi event ititialize)
> sebuah Combobox di dalam userform tsb di isi items yg berupa text nama-nama
> file, ASAL BUKAN file excel berisi makro pengendalinya (ThisWorkbook.Name)
> Di makro ini diberi BONUS : FileList (yg diumpankan ke Combobox) juga
> ditulis di Kolom G, hanya untuk pajangan saja!, agar penonton tidak kecewa..
>
> Setelah Userform Aktif, jika Combobox di pilih salah satu ITEMnya / diganti
> VALUE-nya  (=terjadi event Change) , maka file gambar yg "KEBETULAN"
> namanya terpampang di Combobox di panggil untuk di LOAD ke object Image yg
> ada di UserForm itu juga.
>
> Cuma begitu kan ?!
>
> Yg perlu di catat adalah: setiap Userform di LOAD, Items di dalam si Combo
> selalu di refresh isinya (dengan TEXT nama semua file yg seFolder dengan
> ThisWorkbook, selain nama ThisWorkbook itu sendiri).
> Keadaan ini mengakibatkan: jika anda menambah atau mengurangi cacah files
> dalam "seFolder" itu ataupun me-RENAME beberapa nama files; maka Combobox
> (dan juga daftar di kolom G) akan selalu SESUAI dengan daftar file yg ada
> di "SeFolder" tsb.
>
> Mudah-mudahan seperti itu yg diinginkan oleh pak nor hidayat..
>
> [image: Inline image 1]
>
> Private *Sub* GetFileList( _
>
>         Optional sPath As String = vbNullString, _
>
>         Optional sKriteria As String = vbNullString)
>
>     ' modifikasi: iHapsari / smg, 25 Feb 2012
>
>    '------------------------------
>
>    Dim sFile As String, sCari As String
>
>
>
>    If LenB(sPath) = 0 Then
>
>       sPath = ThisWorkbook.Path & "\"
>
>    Else
>
>       If Right$(sPath, 1) <> "\" Then sPath = ThisWorkbook.Path & "\"
>
>    End If
>
>    sCari = IIf(LenB(sKriteria) = 0, "*", sKriteria)
>
>
>
>    Application.DisplayAlerts = False
>
>    Application.EnableEvents = False
>
>
>    ' Loop langsung mengisi Combobox
>
>    sFile = Dir$(sPath & sCari)
>
>    Do While LenB(sFile) <> 0
>
>       If Not sFile = ThisWorkbook.Name Then
>
>          CboName.AddItem sFile
>
>          ' 2 baris di bawah ini hanya untuk HIBURAN Anda saja
>
>          ' (= mengisi nama file ke Sheet1 kolom G) / boleh dihapus.
>
>          i = i + 1: Range("G" & i) = sFile
>
>       End If
>
>       sFile = Dir$
>
>    Loop
>
>
>
>    Application.EnableEvents = True
>
>    Application.DisplayAlerts = True
>
>  End Sub
>
> '--------
>
>
> Unduh Lampiran: http://www.box.com/s/aglpxtqyqyjj3nia1stl
>
>
> maarweg - 5000 koln / 26 feb 2012
> - i -
>
>
>
> 2012/2/25 Ki Semprul <semprul.ki@...>
>
> > **
> > Dibuat sbg prosedur Sub saja, jangan prosedur Fungsi.
> > Jadi penulisannya ke range selalu PAS dengan jumlah temuan
> >
> > On Sat, Feb 25, 2012 at 7:36 AM, nor hidayat <dayatshogun46@...>
> > wrote:
> > > Mohon bantuan exceler untuk masalah array
> > >
> > > Macro List file yang saya gunakan seperti dibawah ini.
> > > > Public Function GetFileList( _
> > > >        Optional sPath As String = vbNullString, _
> > > >        Optional sKriteria As String = vbNullString, _
> > > >        Optional lResultAsArray As Long = 0) As Variant
> > > > '   ---bla bla bla ----
> > > > End Function
> > >
> > > Namun hasil bila tidak ada file = #N/A, yang saya inginkan bagai mana
> > jika array #N/A
> >
> > dikondisikian kosong seperti data sel yang belum terisi.
> >
> >
> >
>


Reply | Threaded
Open this post in threaded view
|

Re: [belajar-excel] Re: array list file #N/A di kondisikan kosong ( Tidak ada )

Ki_Semprul
Ysh Bapak Dayat Shogun...

Bapak datang sbg pendekar bertangan kosong, tak selembar data pun
diajukan sbg contoh
(misal "oret-oretan yg KATANYA sudah mengikuti prosedur yg
disarankan", seperti apa ?)

- padahal kasus yg Bapak ajukan adalah kasus yg sudah lewat 1 bulan y.l
  (  http://tech.groups.yahoo.com/group/belajar-excel/message/15978  )

- sebulan yg lalu ketika diberikan 1 FILE jawaban ( *rar berisi
kompresi 1 folder / 43 files
  sebesar 696 KB; /  (banyaknya file contoh gambar menunjukkan
seriusnya pemberi solusi)
  tetapi sejak diberikan sampai saat ini:  tidak pernah Bapak kabarkan
apakah sudah diunduh
  & dicoba atau belum) ??
  Saya juga sangat yakin bahwa tanggapan ini pun tidak akan anda tanggapi..

Lalu... Dengan "cara & perila..(maaf)" seperti itu, Apakah yg masih
Bapak harapkan ?
Apakah kira-kira ada orang yg masih tertarik (termasuk si pemberi
solusi sebelumnya) ?

Baik kita lupakan saja hal-2 diatas karena itu sudah menjadi urusan
QOLBU kita masing2

(jawaban A)
Combobox itu ketika muncul selau berisi items pilihan: nama-2 file yg
memang ADA
di dalan folder (jika tidak ada = tidak akan didaftar sebagai item
pada Combobox)
Jadi mengapa Bapak masih mengetikkan manual di combo List ? (padahal ada cara
menentukan nama file, hanya dengan MEMILIH salah satu item yg ada di List ??

(jawaban B)
Text Nama file yg akhirnya muncul lengkap dengan *.JPG nya; Kalau
semua extensi file
gambar pasati = *JPG dengan mudah dapat dihilangkan *.JPG (extensi) nya

Lihat di dalam Loop Do While

CboName.AddItem sFile
i = i + 1
Range("G" & i).Value = sFile

diganti dengan
CboName.AddItem Replace(ucase(sFile), ".JPG")
i = i + 1
Range("G" & i).Value = Replace(ucase(sFile), ".JPG")

Ketika saatnya dipanggil codenya juga harus disesuaikan, (lihat
Event-Prosedur Cbo_Name_Change)
ImgCL.Picture = LoadPicture(IIf(CboName = "", "", pfName))

diganti dengan
ImgCL.Picture = LoadPicture(IIf(CboName = "", "", pfName & ".JPG"))

Tricky dikit ndak pa pa kok Pak...dari pada diam-diam error
Tidak ada lampiran di posting ini, tetapi tetap merujuk ke link yg
telah diberikan neng iHaps sebulan.y.l.

Semprul..Ki!
( as requested by Neng iHaps asli ( he he..), karena sedang tak-ada
koneksi i'net )





2012/3/28 Dayat <[hidden email]>

>
> Menyambung cerita lama untuk list file
> Mohon pencerahannya tambahan macronya, karena saya sudah mengikuti prosedur yanG di sarankan namun terkendala ketika mengetikkan manual didalam combolistnya jika jawaban tidak ada dalam daftar file yang dituju maka macronya error, trus nama file yang muncul di combobooknya ber extention .jpg, apakah extention bisa di hilangkan sehingga hanya nama file saja yang akan diprosess. Trims
>
> Regard's
> Nor Hidayat
>
> --- In [hidden email], i Haps <hapsari.stlizbeth@...> wrote:
> >
> > 1.
> > Benar kata Ki Ageng Semprul... "dibuat *PROSEDUR SUB*" saja !
>
> > Kalau keperluannya HANYA untuk mengisi Combobox, kita tidak perlu makro UDF
> > (Prosedur Function)
> > * > and then: UDF ditulis di Sheet sbg array formula (yang kalau cell
> > terpakai lebih banyak dari array yg didapat mendatangkan err Value #N/A)
> > * > and then: list yg terjadi di sheet (karena formula berbantuan UDF itu)
> > dipakai sebagai ROW-SOURCE bagi si Combo
> > Muter seperti gasingan, salah salah malah bisa 'cenat-cenut' sendiri lho
> >
> > 2.
> > Agak herannya, sudah ditunggu-tunggu, tapi pak nor hidayat, tidak berkenan
> > untuk menyebutkan sumber makronya dan tidak pula menyertakan lampiran
> > workbooknya.
> > Sedangkan kalau bicara soal makro di excel, jika Lahan/"Area bermainnya
> > makro" (biasanya sheet + cellsnya) tidak di tunjukkan, para calon penanggap
> > biasanya menurun niat membantu-nya; karena tentu 'ogah' kalau harus
> > mengarang sendiri segala macam data, form dsb.
> > (idealnya 'kan sebelum VBA-code dilempar ke JalUm, harus sudah di test di
> > LAHAN & AREA bermainnya makro yg sesuai) agar tidak terlalu banyak
> > kesalahan yg menundang pertanyaan baru..
> >
> > 3.
> > Terlampir file terkompress berisi sebuah folder yg didalamnya berisi file 1
> > XLSM dan beberapa contoh Image-File
> > (berhubung filesize nya 538KB (berisi banyak *jpg) file dapat anda unduh
> > sendiri di sini
> >
> > Di sheet 1; jika tombol X di ceklik, akan dimunculkan Userform1
> > Tetapi sesaat sebelum dimunculkan (yaitu ketika terjadi event ititialize)
> > sebuah Combobox di dalam userform tsb di isi items yg berupa text nama-nama
> > file, ASAL BUKAN file excel berisi makro pengendalinya (ThisWorkbook.Name)
> > Di makro ini diberi BONUS : FileList (yg diumpankan ke Combobox) juga
> > ditulis di Kolom G, hanya untuk pajangan saja!, agar penonton tidak kecewa..
> >
> > Setelah Userform Aktif, jika Combobox di pilih salah satu ITEMnya / diganti
> > VALUE-nya (=terjadi event Change) , maka file gambar yg "KEBETULAN"
> > namanya terpampang di Combobox di panggil untuk di LOAD ke object Image yg
> > ada di UserForm itu juga.
> > Cuma begitu kan ?!
> >
> > Yg perlu di catat adalah: setiap Userform di LOAD, Items di dalam si Combo
> > selalu di refresh isinya (dengan TEXT nama semua file yg seFolder dengan
> > ThisWorkbook, selain nama ThisWorkbook itu sendiri).
> > Keadaan ini mengakibatkan: jika anda menambah atau mengurangi cacah files
> > dalam "seFolder" itu ataupun me-RENAME beberapa nama files; maka Combobox
> > (dan juga daftar di kolom G) akan selalu SESUAI dengan daftar file yg ada
> > di "SeFolder" tsb.
> >
> > Mudah-mudahan seperti itu yg diinginkan oleh pak nor hidayat..
> > [ text code VBA - cut -- ]
> > iHaps
> > maarweg - 5000 koln / 26 feb 2012
Reply | Threaded
Open this post in threaded view
|

Re: [belajar-excel] Re: array list file #N/A di kondisikan kosong ( Tidak ada )

dayatshogun46
Selamat pagi
Salam untuk semua para exceler

Terimakasih atas wejangan dari Ki Semprul, memang seharusnya dalam suatu pembahasan harus ada repons dari si pelempar soal, dan saya sebagai penanya mungkin agak kurang response atau mungkin dikarenakan BBM naik maka jatah untuk ngenet modem berkurang mengikuti situasi saat ini, hihihi ( Modem Sakaratul Maut ), saya memaklumi hal itu dan sangatlah wajar bila terjadi, untuk itu kembali saya mengucapkan terimakasih atas semuanya, dan terimakasih untuk Ki Semprul yang sudah menjawab, saya akan coba saran yang Ki Sempul berikan. untuk file tersebut sudah saya unduh dan mulai mencoba, namun mengingat file terlalu besar sepertinya sulit untuk di lampirkan.

Salam 
Nor Hidayat

==============================================
Mods Note:
Sekalian menambahkan: ada titipan sms dari Ki Semprul,
memberitahu ada salah tulis pada kiat menghilangkan ".JPG"
pada tiap file Gambar type *.JPG

Range("G" & i).Value = Replace(ucase(sFile), ".JPG")

seharusnya
Range("G" & i).Value = Replace(uCase(sFile), ".JPG", "")

Jadi Fungsi Replace milik VBA adalah padanan fungsi
SUBSTITUTE milik Worksheet, percayalah !
==============================================


--- Pada Kam, 29/3/12, Ki Semprul <[hidden email]> menulis:
Dari: Ki Semprul <[hidden email]>
Kepada: [hidden email]
Tanggal: Kamis, 29 Maret, 2012, 12:45 AM

Ysh Bapak Dayat Shogun...
Bapak datang sbg pendekar bertangan kosong, tak selembar data pun
diajukan sbg contoh
(misal "oret-oretan yg KATANYA sudah mengikuti prosedur yg
disarankan", seperti apa ?)
- padahal kasus yg Bapak ajukan adalah kasus yg sudah lewat 1 bulan y.l
  (  http://tech.groups.yahoo.com/group/belajar-excel/message/15978  )
- sebulan yg lalu ketika diberikan 1 FILE jawaban ( *rar berisi
kompresi 1 folder / 43 files
  sebesar 696 KB; /  (banyaknya file contoh gambar menunjukkan
seriusnya pemberi solusi)
  tetapi sejak diberikan sampai saat ini:  tidak pernah Bapak kabarkan
apakah sudah diunduh
  & dicoba atau belum) ??
  Saya juga sangat yakin bahwa tanggapan ini pun tidak akan anda tanggapi..

Lalu... Dengan "cara & perila..(maaf)" seperti itu, Apakah yg masih
Bapak harapkan ?
Apakah kira-kira ada orang yg masih tertarik (termasuk si pemberi
solusi sebelumnya) ?

Baik kita lupakan saja hal-2 diatas karena itu sudah menjadi urusan
QOLBU kita masing2



(jawaban A)
Combobox itu ketika muncul selau berisi items pilihan: nama-2 file yg
memang ADA
di dalan folder (jika tidak ada = tidak akan didaftar sebagai item
pada Combobox)
Jadi mengapa Bapak masih mengetikkan manual di combo List ? (padahal ada cara
menentukan nama file, hanya dengan MEMILIH salah satu item yg ada di List ??

(jawaban B)
Text Nama file yg akhirnya muncul lengkap dengan *.JPG nya; Kalau
semua extensi file
gambar pasati = *JPG dengan mudah dapat dihilangkan *.JPG (extensi) nya

Lihat di dalam Loop Do While

CboName.AddItem sFile
i = i + 1
Range("G" & i).Value = sFile

diganti dengan
CboName.AddItem Replace(ucase(sFile), ".JPG")
i = i + 1
Range("G" & i).Value = Replace(ucase(sFile), ".JPG")

Ketika saatnya dipanggil codenya juga harus disesuaikan, (lihat
Event-Prosedur Cbo_Name_Change)
ImgCL.Picture = LoadPicture(IIf(CboName = "", "", pfName))

diganti dengan
ImgCL.Picture = LoadPicture(IIf(CboName = "", "", pfName & ".JPG"))

Tricky dikit ndak pa pa kok Pak...dari pada diam-diam error
Tidak ada lampiran di posting ini, tetapi tetap merujuk ke link yg
telah diberikan neng iHaps sebulan.y.l.

Semprul..Ki!
( as requested by Neng iHaps asli ( he he..), karena sedang tak-ada
koneksi i'net )
Reply | Threaded
Open this post in threaded view
|

Re: [belajar-excel] Re: array list file #N/A di kondisikan kosong ( Tidak ada )

dayatshogun46
Selamat siang
setelah dalam tahap uji coba formula dari Ki Semprul

   ImgCL.Picture = LoadPicture(IIf(CboName = "", "", pfName & ".jpg"))

maka al hasil masih belum bisa, yang terjadi run time error '53' (file not Found)
sedikit gambaran extention yang inginkan adalah cboname hanya menampilkan nama file tidak disertai extention.
contoh
 


dengan formula

Option Explicit

Dim i As Long

Private Sub CboName_Change()
   ' ex ctv / modified: iHaps 25Feb2012
   Dim pfName As String
   'file img harus se-Folder dgn xls tempat makro ditulis
   pfName = ThisWorkbook.Path & "\" & CboName.Value
   ImgCL.Picture = LoadPicture(IIf(CboName = "", "", pfName & ".jpg"))
End Sub

Private Sub UserForm_Initialize()
   ' ex ctv / modified: iHaps 25Feb2012
  
   CboName.Clear
   Range("G1").CurrentRegion.ClearContents
   Call GetFileList
  
End Sub

Private Sub GetFileList( _
        Optional sPath As String = vbNullString, _
        Optional sKriteria As String = vbNullString)
       
   Dim sFile As String, sCari As String
  
   If LenB(sPath) = 0 Then
      sPath = ThisWorkbook.Path & "\"
   Else
      If Right$(sPath, 1) <> "\" Then sPath = ThisWorkbook.Path & "\"
   End If
   sCari = IIf(LenB(sKriteria) = 0, "*", sKriteria)
  
   Application.DisplayAlerts = False
   Application.EnableEvents = False
  
   sFile = Dir$(sPath & sCari)
   Do While LenB(sFile) <> 0
      If Not sFile = ThisWorkbook.Name Then
         CboName.AddItem sFile
         ' 2 baris di bawah ini hanya untuk HIBURAN Anda saja
         ' (= mengisi nama file ke Sheet1 kolom G)/ boleh dihapus.
         i = i + 1: Range("G" & i) = sFile
    Columns("G:G").Select
    Selection.Replace What:=".jpg", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Sheet1.Cells(1, 1).Select
      End If
      sFile = Dir$
   Loop
   Application.EnableEvents = True
   Application.DisplayAlerts = True

End Sub

Mohon disesuaikan dengan rumus yang saya tuliskan.


--- Pada Kam, 29/3/12, nor hidayat <[hidden email]> menulis:

Dari: nor hidayat <[hidden email]>
Tanggal: Kamis, 29 Maret, 2012, 7:04 AM

      Selamat pagi
Salam untuk semua para exceler
Terimakasih atas wejangan dari Ki Semprul, memang seharusnya dalam suatu pembahasan harus ada repons dari si pelempar soal, dan saya sebagai penanya mungkin agak kurang response atau mungkin dikarenakan BBM naik maka jatah untuk ngenet modem berkurang mengikuti situasi saat ini, hihihi ( Modem Sakaratul Maut ), saya memaklumi hal itu dan sangatlah wajar bila terjadi, untuk itu kembali saya mengucapkan terimakasih atas semuanya, dan terimakasih untuk Ki Semprul yang sudah menjawab, saya akan coba saran yang Ki Sempul berikan. untuk file tersebut sudah saya unduh dan mulai mencoba, namun mengingat file terlalu besar sepertinya sulit untuk di lampirkan.

Salam 
Nor Hidayat

==============================================
Mods Note:
Sekalian menambahkan: ada titipan sms dari Ki Semprul,
memberitahu ada salah tulis pada kiat menghilangkan ".JPG"
pada tiap file Gambar type *.JPG
Range("G" & i).Value = Replace(ucase(sFile), ".JPG")
seharusnya
Range("G" & i).Value = Replace(uCase(sFile), ".JPG", "")
Jadi Fungsi Replace milik VBA adalah padanan fungsi
SUBSTITUTE milik Worksheet, percayalah !
==============================================
Reply | Threaded
Open this post in threaded view
|

Re: [belajar-excel] Re: array list file #N/A di kondisikan kosong ( Tidak ada )

Ki_Semprul
Seharusnya begini, hanya ditulis pada prosedur ( BUKAN FORMULA !! ) yg
diperbaiki saja

Dim i As Long '<< deklarasi di level Module
'------------------------
Private Sub CboName_Change()
  ' ex ctv / modified: iHaps 25Feb2012
   Dim pfName As String
  'file img harus se-Folder dgn xls tempat makro ditulis
  pfName = ThisWorkbook.Path & "\" & CboName.Value
   ImgCL.Picture = LoadPicture(IIf(CboName = "", "", *pfName & ".JPG")*)
End Sub

'-------------------------

Private Sub GetFileList( _
        Optional sPath As String = vbNullString, _
       Optional sKriteria As String = vbNullString)
  Dim sFile As String, sCari As String

  If LenB(sPath) = 0 Then
     sPath = ThisWorkbook.Path & "\"
  Else
     If Right$(sPath, 1) <> "\" Then sPath = ThisWorkbook.Path & "\"
   End If
  sCari = IIf(LenB(sKriteria) = 0, "*", sKriteria)

  Application.DisplayAlerts = False
   Application.EnableEvents = False

  sFile = Dir$(sPath & sCari)
  Do While LenB(sFile) <> 0
      If Not sFile = ThisWorkbook.Name Then
        CboName.AddItem *Replace(UCase(sFile), ".JPG", "")*
         i = i + 1:
     *   Range("G" & i) = Replace(UCase(sFile), ".JPG", "")*
      End If
     sFile = Dir$
  Loop
  Application.EnableEvents = True
  Application.DisplayAlerts = True
End Sub
'----------------------

NOTE: mengenai bagian yg diBlok dengan MerahMuda (di posting pak dayat)

pak Dayat memilih jalan yg tidak praktis, *(=METHOD Raplace)*
padahal ada cara yg praktis  * (=FUNGTION Replace)* tadi sudah dicontohkan

Pemilihan *cara lain* = bukan masalah asal hasilnya benar, dan diketahui
maksudnya.

Untuk mengetahui penyebabnya, jalankan makro dan diberi Break-Point
Sebelumnya dibuka dulu Jendela LOCAL (VBE: menu View > Local Window)
Di Jendela Local, akan kelihatan nilai nilai setiap variable...

[image: Inline image 1]

Semprul..Ki!



'-----------------------------------
2012/3/29 nor hidayat <[hidden email]>
>
> Selamat siang
> setelah dalam tahap uji coba formula dari Ki Semprul
>
>    ImgCL.Picture = LoadPicture(IIf(CboName = "", "", pfName & ".jpg"))
>
> maka al hasil masih belum bisa, yang terjadi run time error '53' (file
not Found)
> sedikit gambaran extention yang inginkan adalah cboname hanya menampilkan
nama file tidak disertai extention.

> contoh
>
> dengan formula
>
> Option Explicit
> Dim i As Long
> Private Sub CboName_Change()
>    ' ex ctv / modified: iHaps 25Feb2012
>    Dim pfName As String
>    'file img harus se-Folder dgn xls tempat makro ditulis
>    pfName = ThisWorkbook.Path & "\" & CboName.Value
>    ImgCL.Picture = LoadPicture(IIf(CboName = "", "", pfName & ".jpg"))
> End Sub
>
> Private Sub UserForm_Initialize()
>    ' ex ctv / modified: iHaps 25Feb2012
>    CboName.Clear
>    Range("G1").CurrentRegion.ClearContents
>    Call GetFileList
> End Sub
>
> Private Sub GetFileList( _
>           Optional sPath As String = vbNullString, _
>           Optional sKriteria As String = vbNullString)
>    Dim sFile As String, sCari As String
>
>    If LenB(sPath) = 0 Then
>       sPath = ThisWorkbook.Path & "\"
>    Else
>       If Right$(sPath, 1) <> "\" Then sPath = ThisWorkbook.Path & "\"
>    End If
>    sCari = IIf(LenB(sKriteria) = 0, "*", sKriteria)
>
>    Application.DisplayAlerts = False
>    Application.EnableEvents = False
>
>    sFile = Dir$(sPath & sCari)
>    Do While LenB(sFile) <> 0
>       If Not sFile = ThisWorkbook.Name Then
*>          CboName.AddItem sFile*

>          ' 2 baris di bawah ini hanya untuk HIBURAN Anda saja
>          ' (= mengisi nama file ke Sheet1 kolom G)/ boleh dihapus.
>          i = i + 1: Range("G" & i) = sFile
>     Columns("G:G").Select
>     Selection.Replace What:=".jpg", Replacement:="", LookAt:=xlPart, _
>         SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
>         ReplaceFormat:=False
>     Sheet1.Cells(1, 1).Select
>
>       End If
>       sFile = Dir$
>    Loop
>    Application.EnableEvents = True
>    Application.DisplayAlerts = True
> End Sub
>
> Mohon disesuaikan dengan rumus yang saya tuliskan.
>

replace FUNCTION is praktis gitu lockh.PNG (37K) Download Attachment
Kid
Reply | Threaded
Open this post in threaded view
|

Re: [belajar-excel] Re: array list file #N/A di kondisikan kosong ( Tidak ada )

Kid
Administrator
In reply to this post by dayatshogun46
Coba bagian :
   pfName = ThisWorkbook.Path & "\" & CboName.Value
   ImgCL.Picture = LoadPicture(IIf(CboName = "", "", pfName & ".jpg"))

Diganti menjadi :
    pfName = ThisWorkbook.Path & "\" & CboName.Value & ".jpg"
   if lenb(dir$(pfname))<>0 then
        ImgCL.Picture = LoadPicture(pfName)
    endif

Wassalam.
Kid.

On Thu, Mar 29, 2012 at 08:17, nor hidayat <[hidden email]>wrote:

> pfName = ThisWorkbook.Path & "\" & CboName.Value
>    ImgCL.Picture = LoadPicture(IIf(CboName = "", "", pfName & ".jpg"))
>