Jumat, 09 Desember 2011

[belajar-excel] Digest Number 1431

Messages In This Digest (4 Messages)

Messages

1a.

Re: Nama workbook dalam 1 folder list ke range

Posted by: "Kid Mr." mr.nmkid@gmail.com   nmkid.family@ymail.com

Fri Dec 9, 2011 2:22 am (PST)



eh iya, kurang karakter ampersand
coba ubah baris itu jadi :
sFile = Dir$(ThisWorkbook.Path & "\*.xls*" )

Kid.

2011/12/9 Irwan didi <irwan_didi@yahoo.com>

> **
>
>
> Dear Mr. Kid
>
> kok ketika saya jalannkan error ya, sintax error dan yg di highlight kode
> ini sFile = Dir$(ThisWorkbook.Path "\*.xls*" )
>
>
> ------------------------------
> *From:* Kid Mr. <mr.nmkid@gmail.com>
> *To:* belajar-excel@yahoogroups.com
> *Sent:* Friday, December 9, 2011 4:31 AM
> *Subject:* Re: [belajar-excel] Nama workbook dalam 1 folder list ke range
>
>
> Dear Irwan,
>
> Coba langkah berikut :
> 1. Buat workbook baru, lalu save as .xlsm (macro enable) jika di xl2007 ke
> atas, atau .xls untuk xl2003 ke bawah
> 2. tekan Alt F11 (menuju ke VBE)
> 3. menu Insert -> Module
> 4. Pada lembar kosong, tulis nama prosedur (tanpa spasi) contohnya, tulis :
> Public Sub DaftarFileExcelku()
>
> 5. akan muncul baris bertuliskan End Sub maka pindahkan cursor ke baris di
> antara tulisan Public Sub (awal blok prosedur) dengan baris End Sub (akhir
> blok)
>
> 6. Copy paste baris-baris script berikut :
>
> Dim sFile As String
> Dim lPos As Long
>
> Application.DisplayAlerts = False
> sFile = Dir$(ThisWorkbook.Path "\*.xls*" )
> Do While LenB(sFile) <> 0
> Range("a1").Offset(lPos).Value = sFile
> sFile = Dir$
> lPos = lPos + 1
> Loop
> Application.DisplayAlerts = True
>
> 7. tekan Alt F11 (supaya kembali ke worksheet)
> 8. insert sebuah shape rectangle
> 9. klik kanan shape tersebut -> pilih assign macro
> 10. pilih nama prosedur tadi (contoh ini tadi namanya :
> DaftarFileExcelku ) lalu tekan OK
> 11. Save workbook
> 12. klik shape
>
> Kalau mau ubah kriteria file, ubah bagian :
> "\*.xls*" dengan kriteria file yang dibutuhkan.
>
> Kalau mau ubah lokasi foldernya, ubah bagian :
> ThisWorkbook.Path dengan nama folder yang dimaksud tanpa diakhiri karakter
> '\'
> contoh diubah jadi :
> "C:\MyData\Kerjaan Tiada Akhir\Pulang saja ah\Udah pagi"
>
> Regards,
> Kid.
>
> 2011/12/8 Irwan <irwan_didi@yahoo.com>
>
> **
>
> dear pakar-pakar.
>
> mohon bantuannya, misal saya punya workbook banyak dalam 1 folder, saya
> ingin list nama masing-masing workbook tsb dalam 1 worksheet bagaimana ya
> caranya...??
>
> misal :
>
> Folder Belajar
> - workbook a
> -workbook b
>
> bisa di list dan hiperlink di range A1,A2 dst
>
> terima kasih n mohon ma'af mungkin bahasa saya kurang bisa dipahami mohon
> maklum soale pemula heheheh
>
> terima kasih
> wan
>
>
>
>
>
>
>
2a.

Re: SISTEM INFORMASI SURAT

Posted by: "Haps" hapsari.stlizbeth@gmail.com   liz_indri_haps

Fri Dec 9, 2011 2:51 am (PST)



1
Bisa diganti pak ; yang diganti adalah EVENTS - nya
Event biasanya terkandung dalam NAMA PROSEDUR

Private Sub txtTglCatat_*DblClick*(ByVal Cancel As MSForms.ReturnBoolean)
'--- perintah-perintah makro ---
End Sub

di-Ubah menjadi
Private Sub txtTglCatat_*Enter*()
'--- perintah-perintah makro ---
End Sub

2.
Agar nama sheet dapat di ubah-ubah tanpa harus mengubah MAKRONYA ??
*Bisa*

Penjelasan singkatnya kira kira seperti ini
Di dalam bahasa VBA Excel, Sheet itu punya 3 cara memanggil (mungkin malah
lebih)
(1) dengan NAMA nya (property *Name *)
(2) dengan CodeNamenya (property *CodeName* )
(3) dengan nomor Index nya (property *Index*)

Name itu sebenarnya TAB NAME (nama yg tertera pada Tab nya), bisa kita
lihat dari sheet
Sedangkan CodeName adalah nama aslinya (hanya dapat dilihat di VBE)

Jika di makro dlm merujuk sheets kita gunakan CODENAME nya maka nama sheet
yg
ada di TAB dapat di-ubah² tanpa mempengaruhi pengenalan makro terhadap
object-sheets-nya.

Tapi tentu tetap mengandung risiko lain: yaitu jika makro dicopy CODEnya
saja dan dipasang
di workbook baru, maka CODENAME nya kemungkinan besar = tidak sesuai; yg
berarti
harus ada editing (terhadap makronnya ataupun mengubah CodeName nya )
Code name tidak dapat dimanipulasi melalui pemrograman seperti halnya Name,
dia hanya
bisa diubah secara manual di kotak property Sheet ybs

[image: sheet CODENAME.PNG]

Terlampir: workbook *(V2)* yg sudah diubah makronya sesuai kedua hal tsb
di atas
1. memunculkan KalenderForm melali* Klik-Tunggal pada textbox*
2. Nama Sheet (TabSheet) dapat diubah tanpa mempengaruhi makro, karena
makro merujuk CodeName-nya

Perubahan dan menambahannya seperti apa, mohon pak Danan dan teman-teman di
sini
memeriksanya di module-module pada workbook terlampir...

Selamat bekerja sambil bergembira dengan berExcel-ria

best regards
iHaps

Note
oiya ada penjelasan yg lupa
property INDEX untuk object sheet, adalah NOMOR urut sheet dlm workbook;
yaitu urutannya
dalam jajaran Tab Sheet di bagian bawah / di atas StatusBar, dan sejajar
dengan Horisontal ScrollBar
Jadi Index tsb akan berubah kalau kita mengubah letak urutan Tabsheet tsb
Kita tidak menggunakan Index untuk mengindentifikasi Sheet; karena lebih
rentan "salah panggil"
[image: sheet index.PNG]

2011/12/9 Rahagung Dananjoyo <danank_01@yahoo.com>

> **
> Mbak Haps, file nya udah sy download.
> Tadi saya coba input pake data2 dikantor
> Dan sampau skrg saya masih coba input, sementara ini blm ada masalah.
> Namun ada bbrp hal yang mungkin mbak haps bisa kasih saran
> 1. di input tanggal itu harus double click utk munculkan kalendernya
> kalo misal dibuat pakai satu klik saja bisa tidak ya, mungkin macro nya
> jadi beda ya,
> 2. kalo nama sheet diganti berarti harus ganti coding macro nya jg ya? krn
> hanya utk memudahkan operator
> Kalo dari tampilan udah ok banget
>
> terima kasih
>
>
> On Dec 9, 2011, at 8:16 AM, Haps <hapsari.stlizbeth@gmail.com> wrote:
>
> di pc pak sony tidak terdapat file pendukung Object CalendarControl
> (MSCAL.ocx)
> atau sudah ada tetapi tidak pada folder yg tepat, atau belum diregister.
>
> File MSCAL.ocx untuk berbagai versi excel, dapat anda unduh di
> folder yu siti, sini
> <http://www.box.com/s/zd02z36h7h2pvli9mdrm>
> http://www.box.com/s/zd02z36h7h2pvli9mdrm
>
> -iHaps-
>
>
3a.

Re: Selisih Menit DTPicker tidak bulat

Posted by: "Kid Mr." mr.nmkid@gmail.com   nmkid.family@ymail.com

Fri Dec 9, 2011 5:37 am (PST)



Pinjam script dari posting pak Seno,
Mungkin alternatif ini bisa digunakan (semoga gak ada errornya)

Private Sub DTPicker2_Change()
IF DTPicker1.Value then
IF DTPicker2.Value then
'durasi respon layanan (dalam menit)
TextBox2.Value = DateDiff( "n" , DTPicker1.Value , DTPicker2.Value
)
endif
endif
End Sub

Private Sub *DTPicker3_Change*()
IF DTPicker1.Value then
IF DTPicker3.Value then
'durasi penanganan (dalam menit)
TextBox3.Value = DateDiff( "n" , DTPicker1.Value , DTPicker3.Value
)

'penanganan (jam) x jumlah terganggu
TextBox4 = DateDiff( "h" , DTPicker1.Value , DTPicker3.Value )
* ( 0 & trim$(*TextBox1.Value*) )
endif
endif
End Sub

Private Sub UserForm_Initialize()
'biarkan kosong saja
End Sub

Karena textbox1 harus berisi angka positif, maka event change dari textbox1
bisa disusun :
private sub TextBox1_Change()
dim lChar as long
dim sTeks as string

'validasi input
lchar=1
steks=textbox1.text
do while lchar<=len(steks)
if instr("012345789", mid$( steks , lchar , 1) <>0 then
lchar=lchar+1
else
steks= replace$( steks , mid$( steks , lchar , 1) ,
vbnullstring )
endif
loop

'perbarui isi textbox1
application.enableevents=false
textbox1.text=steks
application.enableevents=true

'karena pengubahan nilai textbox1 mempengaruhi hasil di textbox4 akibat
proses di *DTPicker3_Change*
'jalankan prosedur *DTPicker3_Change*
*DTPicker3_Change*
end sub

Wassalamualaikum Wr. Wb.
Kid.

2011/12/9 o' Seno <ontoseno84@gmail.com>

> **
>
>
> textbox itu bukan cell
> apapun yg ditampilkan di situ (walau pun ex data datetime ) tetap menjadi
> data text
> maka kalau mau di aritmatikkan harus diurus dulu konversinya
>
> Private Sub DTPicker2_Change()
> Dim status1 As Date
> If DTPicker2.Enabled Then
> 'durasi respon layanan
> status1 = DTPicker2.Value - DTPicker1.Value
> TextBox2.Value = Format(status1 * 60 * 24, "0")
> End If
> End Sub
>
> Private Sub DTPicker3_Change()
> Dim status2 As Date, status3 As Date
> If DTPicker1.Enabled And DTPicker3.Enabled Then
> ' durasi penanganan
> status2 = DTPicker3.Value - DTPicker1.Value
> TextBox3.Value = Format(status2 * 60 * 24, "0")
> End If
> status3 = (CDate(TextBox3.Value) * CLng(TextBox1.Value)) / 60
> TextBox4 = Format(CDbl(status3), "#,##0.00")
> End Sub
>
> Private Sub UserForm_Initialize()
> ' jumlah pelanggan diberi nilai awal 1
> ' untuk menjcegah error bila lupa mengisi
> ' tapi sudah mengisi dtpickers
> TextBox1 = 1
> End Sub
>
>
> 2011/12/9 muja <mail4muja@yahoo.co.id>
>
>> **
>>
>>
>> Salam Para Jawara XL,
>>
>> Terlampir dikirimkan File lampiran namun belum betul, Mohon para Jawara
>> XL sudi kiranya turun tangan untuk memberekkannya. :D.
>>
>> Sekilas isi file :
>> # Input userform terdiri dari 1 textbox dan 3 DTPicker. dan 3 textbox
>> dibawahnya sebagai hasil yang otomatis bernilai jika data entri dirubah,
>>
>> # Merubah jam dan menit saya tidak diketik manual tetapi paku keyboard up
>> & down
>> #Hasil 3 textbox terbawah merupakan selisih waktu yang dikali kan dengan
>> 60 (menit)
>>
>> Masalahnya :
>>
>> 1. Mengapa hasil Selisih dan perkaliannya angkanya tidak bulat, Bagaimana
>> supaya hasilnya bulat..??
>> 2. bagaimana caranya ketika mengetik jumlah pelanggan terganggu, data
>> Hasil 3 textbox terbawah juga otomatis ikut berubah?
>> 3. Oh ya bagai mana ya merubah tampilan Workbook pada Field kolom A B C
>> dst menjadi 1 2 3 dst ? dan balikin lagi ke A B C gemana ya?
>>
>> Demikian saja, Mohon kiranya para jawara bisa membantu mengatasinya...
>>
>> Salam
>> Mas Muja
>>
>
>
>
4a.

Re: copy dan rename file

Posted by: "Kid Mr." mr.nmkid@gmail.com   nmkid.family@ymail.com

Fri Dec 9, 2011 6:53 am (PST)



Wa alaikumussalam Wr. Wb.

Moga2 hal ini dimaksudkan untuk proses otomasi yang diawali dengan
menyiapkan data dengan nama file yang tetap sebagai bahan koneksi data.
0. pada sheet pertama (misal sheet1), aktifkan mode design
1. buat object combobox nya (pilih dari activex combo box -- blok bawah
dari insert object nya)
2. klik kanan si object combo tadi, pilih properties (kalau gak ada
properties, berarti objectnya bukan activex, jadi ganti objectnya dengan
combo jenis satunya lagi)
3. properti Name diganti menjadi cboFile
4. tulis di cell z1 : file1
5. buat nama range di z1 itu, dengan
nama : myFile
refers to diisi :
=offset( $z$1,0,0,counta( $z:$z ) )

6. tekan OK

7. ke VBE

8. buat prosedur event open pada workbook
isinya :

BuatDaftarFile

9. Insert module dan copas prosedur BuatDaftarFile berikut :
'asumsi : sheet tempat daftar file ada di sheet pertama [ sheets(1) ]
rangenya di kolom z
public sub BuatDaftarFile()
Dim sFile As String
Dim lPos As Long
Dim shtAktif as worksheet

set shtaktif=activesheet
sheets(1).activate

with activesheet
'hapus daftar yang lama
.cbofile.listfillrange=vbnullstring
.range("z1").currentregion.clearcontents

'buat list file yang baru
'bagian ini bisa dipindah ke module general menjadi sebuah prosedur
ber-scope public dan diberi beberapa input parameter supaya re-useable
Application.DisplayAlerts = False
lpos=0
sFile = Dir$("C:\COBA\DATA\*.csv" )
Do While LenB(sFile) <> 0
.Range("z1").Offset(lPos).Value = sFile
sFile = Dir$
lPos = lPos + 1
Loop
Application.DisplayAlerts = True

'pasang daftar baru
.calculate
.cbofile.listfillrange="myFile"
end with
shtaktif.activate
end sub

10. kembali ke worksheet (tekan Alt F11)
11. buat object activex commandbutton, bila perlu ganti namanya menjadi
cmdOK
12. double click si commandbutton, dan isi prosedur event yang terbentuk
dengan :

if cbofile.listindex>-1 then
on error resume next
application.displayalerts=false
kill "C:\COBA\DATA.csv"
filecopy "C:\COBA\DATA\" & cbofile.text , "C:\COBA\DATA.csv"
err.clear
on error goto 0
application.displayalerts=true
endif

13. kembali ke worksheet (Alt F11), dan matikan mode design
14. save file sebagai .xlsm atau .xls
15. tutup file
16. buka file lagi

Wassalamualaikum Wr. Wb.
Kid.

2011/12/9 him mah <himmah.mlg@gmail.com>

> **
>
>
> Assalamu'alaikum Wr. Wb.
> mau tanya (karena internetnya lambat maaf kalau belum sempat search di
> arsip milis)
>
> kita punya beberapa file (dalam hal ini csv) yang ada di folder
> C:\COBA\DATA
> Misal nama file tersebut:
> 1. A.csv
> 2. B.csv
> 3. C.csv
> 4. D.csv
>
> kemudian daftar file tersebut akan masuk ke list yang ada di combobox
> (form control toolbox)
> setelah kita pilih file tersebut dari combobox, misal file B.csv
>
> maka file B.csv yang ada di folder C:\COBA\DATA akan di copy dan di
> paste ke folder C:\COBA dengan nama DATA.csv (rename)
>
> jika di folder C:\COBA sebelumnya sudah ada file DATA.csv maka file
> yang kita paste tadi akan mereplace file sebelumnya
>
> terima kasih
>
>
>
Recent Activity
Visit Your Group
Yahoo! Finance

It's Now Personal

Guides, news,

advice & more.

Yahoo! Groups

Small Business Group

Improve your business

by community exchange

Yahoo! Groups

Parenting Zone

Family and home

Tips for mom

Need to Reply?

Click one of the "Reply" links to respond to a specific message in the Daily Digest.

Create New Topic | Visit Your Group on the Web
---------------------------------------------------------------------
bergabung ke milis (subscribe), kirim mail kosong ke:
belajar-excel-subscribe@yahoogroups.com

posting ke milis, kirimkan ke:
belajar-excel@yahoogroups.com

berkunjung ke web milis
http://tech.groups.yahoo.com/group/belajar-excel/messages

melihat file archive / mendownload lampiran
http://www.mail-archive.com/belajar-excel@yahoogroups.com/
atau (sejak 25-Apr-2011) bisa juga di :
http://milis-belajar-excel.1048464.n5.nabble.com/

menghubungi moderators & owners: belajar-excel-owner@yahoogroups.com

keluar dari membership milis (UnSubscribe):
kirim mail kosong ke  belajar-excel-unsubscribe@yahoogroups.com
---------------------------------------------------------------------
MARKETPLACE

Stay on top of your group activity without leaving the page you're on - Get the Yahoo! Toolbar now.

Tidak ada komentar:

Posting Komentar