Messages In This Digest (25 Messages)
- 1a.
- Re: Mari berlatih membuat Macro From: Siti Nurhikmah
- 1b.
- Re: Mari berlatih membuat Macro From: hendrik karnadi
- 1c.
- Fw: [belajar-excel] Mari berlatih membuat Macro From: hendrik karnadi
- 2a.
- Re: Belajar buat history waktu From: lapendosol opik
- 3a.
- Memodifikasi CODE VBA From: guru muda
- 3b.
- Re: Memodifikasi CODE VBA From: Kid Mr.
- 3c.
- Re: Memodifikasi CODE VBA From: Kid Mr.
- 4.
- User Form yang terinput ke database secara horizontal & vertikal From: Teuku Hakim
- 5a.
- Membuat tombol notifikasi/peringatan From: lapendosol opik
- 5b.
- Re: Membuat tombol notifikasi/peringatan From: Rara Wilis
- 6a.
- Re: help sepertinya ada yg salah dengan code ku From: Rara Wilis
- 7a.
- Re: Form Login From: Rara Wilis
- 7b.
- Bls: [belajar-excel] Form Login From: Flow Nanank
- 7c.
- Re: Form Login From: Kid Mr.
- 7d.
- Bls: [belajar-excel] Form Login From: Flow Nanank
- 7e.
- Re: Form Login From: Kid Mr.
- 8a.
- Multiple CopySheets dengan VBA Macro From: yusajing_ehm@yahoo.com
- 8b.
- Re: Multiple CopySheets dengan VBA Macro From: Kid Mr.
- 8c.
- Re: Multiple CopySheets dengan VBA Macro From: yusajing_ehm@yahoo.com
- 8d.
- Re: Multiple CopySheets dengan VBA Macro From: Kid Mr.
- 8e.
- Re: Multiple CopySheets dengan VBA Macro From: hendrik karnadi
- 8f.
- Re: Multiple CopySheets dengan VBA Macro From: yusajing_ehm@yahoo.com
- 9a.
- Calculate Manual From: yusajing_ehm@yahoo.com
- 9b.
- Re: Calculate Manual From: Kid Mr.
- 10a.
- Re: sort data From: hendrik karnadi
Messages
- 1a.
-
Re: Mari berlatih membuat Macro
Posted by: "Siti Nurhikmah" admaw1@arwina.com
Sat Jun 23, 2012 1:01 am (PDT)
Pengen banget Pak Hendrik, tapi blank gak tau sama sekali....hiks hiks
On 20/06/2012 13:22, hendrik karnadi wrote:
> Setelah sekian lama kita cukup disibukkan dengan formula, marilah kita
> coba berlatih Macro, dengan sedikit meluangkan waktu untuk menjawab
> pertanyaan ini :
>
> Jarak dari Timur ke Barat 100 Km
>
>
> A berangkat dari arah Timur ke Barat dengan kecepatan 80 km/jam
> B berangkat dari arah Barat ke Timur dengan kecepatan 40 km/jam
>
>
>
>
>
>
>
> Pertanyaannya:
>
>
>
>
> Coba buat Macronya untuk menjawab beberapa pertanyaan berikut :
> 1. Pada menit ke berapa mereka akan bertemu ?
>
> 2. Berapa jarak yang telah ditempuh oleh A pada saat bertemu dengan B?
> 3. Berapa jarak yang telah ditempuh oleh B pada saat bertemu dengan A?
>
>
> Selamat mecoba..
>
> Salam,
> Hendrik Karnadi
>
--
Siti Nurhikmah
PT Artria Widya
Kawasan Industri Sentul Jalan Lintang Raya Kav E-2 Bogor 16810
T : 021-87914812
F : 021-87914822
- 1b.
-
Re: Mari berlatih membuat Macro
Posted by: "hendrik karnadi" hendrikkarnadi@yahoo.com hendrikkarnadi
Sat Jun 23, 2012 8:32 am (PDT)
Perhitungan manualnya + seperti ini :
j (jarak)= 100
a (kecepatan A) = 80
b (kecepatan B) = 40
m adalah menit saat A dan B bertemu, yaitu jarak dibagi kecepatan (total), sehingga m = j/(a+b)
Pada saat bertemu,
Jarak yang telah ditempuh oleh A (ja) pada saat bertemu B, ja = m/60 * 80
Jarak yang telah ditempuh oleh B (jb) pada saat bertemu A, jb = m/60 * 40
Coba tulis Variable di atas pada module VBA (kalau bisa pakai DIM...), kemudian tampilkan m,ja danjb dengan MsgBox
Selamat mencoba lagi, anda pasti bisa ....
Salam,
Hendrik Karnadi
_____________________ _________ __
From: Siti Nurhikmah <admaw1@arwina.com >
To: belajar-excel@yahoogroups. com
Sent: Wednesday, 2 January 2002, 22:30
Subject: Re: [belajar-excel] Mari berlatih membuat Macro
Pengen banget Pak Hendrik, tapi blank gak tau sama sekali....hiks hiks
On 20/06/2012 13:22, hendrik karnadi wrote:
>Setelah sekian lama kita cukup disibukkan dengan formula, marilah kita coba berlatih Macro, dengan sedikit meluangkan waktu untuk menjawab pertanyaan ini :
>
>
>Jarak dari Timur ke Barat 100 Km
>
>
>
>A berangkat dari arah Timur ke Barat dengan kecepatan 80 km/jam
>B berangkat dari arah Barat ke Timur dengan kecepatan 40 km/jam
>
>
>
>
>
>
>
>
>Pertanyaannya:
>
>
>
>
>
>Coba buat Macronya untuk menjawab beberapa pertanyaan berikut :
>1. Pada menit ke berapa mereka akan bertemu ?
>
>
>2. Berapa jarak yang telah ditempuh oleh A pada saat bertemu dengan B?
>3. Berapa jarak yang telah ditempuh oleh B pada saat bertemu dengan A?
>
>Selamat mecoba..
>
>
>Salam,
>Hendrik Karnadi
--
Siti Nurhikmah
PT Artria Widya
Kawasan Industri Sentul Jalan Lintang Raya Kav E-2 Bogor 16810
T : 021-87914812
F : 021-87914822
- 1c.
-
Fw: [belajar-excel] Mari berlatih membuat Macro
Posted by: "hendrik karnadi" hendrikkarnadi@yahoo.com hendrikkarnadi
Sat Jun 23, 2012 8:51 am (PDT)
maaf, ada kekeliruan teknis (warna merah)
----- Forwarded Message -----
From: hendrik karnadi <hendrikkarnadi@yahoo.com >
To: "belajar-excel@yahoogroups. " <belajar-excel@com yahoogroups. >com
Sent: Saturday, 23 June 2012, 22:32
Subject: Re: [belajar-excel] Mari berlatih membuat Macro
Perhitungan manualnya + seperti ini :
j (jarak)= 100
a (kecepatan A) = 80
b (kecepatan B) = 40
m adalah menit saat A dan B bertemu, yaitu jarak dibagi kecepatan (total), sehingga m = j/(a+b) * 60
Pada saat bertemu,
Jarak yang telah ditempuh oleh A (ja) pada saat bertemu B, ja = m/60 * 80
Jarak yang telah ditempuh oleh B (jb) pada saat bertemu A, jb = m/60 * 40
Coba tulis Variable di atas pada module VBA (kalau bisa pakai DIM...), kemudian tampilkan m,ja danjb dengan MsgBox
Selamat mencoba lagi, anda pasti bisa ....
Salam,
Hendrik Karnadi
_____________________ _________ __
From: Siti Nurhikmah <admaw1@arwina.com >
To: belajar-excel@yahoogroups. com
Sent: Wednesday, 2 January 2002, 22:30
Subject: Re: [belajar-excel] Mari berlatih membuat Macro
Pengen banget Pak Hendrik, tapi blank gak tau sama sekali....hiks hiks
On 20/06/2012 13:22, hendrik karnadi wrote:
>Setelah sekian lama kita cukup disibukkan dengan formula, marilah kita coba berlatih Macro, dengan sedikit meluangkan waktu untuk menjawab pertanyaan ini :
>
>
>Jarak dari Timur ke Barat 100 Km
>
>
>
>A berangkat dari arah Timur ke Barat dengan kecepatan 80 km/jam
>B berangkat dari arah Barat ke Timur dengan kecepatan 40 km/jam
>
>
>
>
>
>
>
>
>Pertanyaannya:
>
>
>
>
>
>Coba buat Macronya untuk menjawab beberapa pertanyaan berikut :
>1. Pada menit ke berapa mereka akan bertemu ?
>
>
>2. Berapa jarak yang telah ditempuh oleh A pada saat bertemu dengan B?
>3. Berapa jarak yang telah ditempuh oleh B pada saat bertemu dengan A?
>
>Selamat mecoba..
>
>
>Salam,
>Hendrik Karnadi
--
Siti Nurhikmah
PT Artria Widya
Kawasan Industri Sentul Jalan Lintang Raya Kav E-2 Bogor 16810
T : 021-87914812
F : 021-87914822
- 2a.
-
Re: Belajar buat history waktu
Posted by: "lapendosol opik" lapendosol@yahoo.com lapendosol
Sat Jun 23, 2012 1:02 am (PDT)
Nuhun suwun mbak markonah, berhasil :*
nge termasuk awalan, awalan gaul tapi ga masuk dalam kamus :D
_____________________ _________ __
From: Markonah <markonatul@gmail.com >
To: belajar-excel@yahoogroups. com
Sent: Saturday, June 23, 2012 12:46 AM
Subject: Re: [belajar-excel] Belajar buat history waktu
Private Sub cmdSaveDatabase_Click()
'-------------------- --------- -----
' ModifiedBy: Markonah, Jun 23 2012
'-------------------- --------- -----
Dim lRowsDB As Long
If LenB(Me.Range("A2").Value) > 0 Then
' buat ngesave (saya belum tahu: "nge" itu "termasuk awalan Ya ?)
Me.Range("E2").Value = Now
Me.Range("E2").NumberFormat = "dd-mmm-yyyy hh:mm:ss"
lRowsDB = Sheet2.Range("a1").CurrentReg ion.Rows. Count
Me.Range("A2:E2").Copy
Sheet2.Range("a1").Offset( lRowsDB). PasteSpecial 12
Me.Range("A2:E2").ClearConten ts
MsgBox "Sip sip sip", vbInformation
End If
End Sub
'-------------------- --
2012/6/23 lapendosol opik <lapendosol@yahoo.com >
>Mohon bantuannya para master excel
>Saya mau buat history waktu, ketika saya pencet tombol simpan, maka akan tercatat waktu saat pencet tombol kedalam sebuah cell. File terlampir untuk penjelasan dari pertanyaan saya. Trimakasih sebelumnya
>
>
- 3a.
-
Memodifikasi CODE VBA
Posted by: "guru muda" mudaguru@yahoo.com mudaguru
Sat Jun 23, 2012 1:40 am (PDT)
VBA Code yang ada saat ini dapat mengkopi
secara otomatis dari isi dari baris /row
1 di Sheet1 ke cell baris 1 di Sheet2, setelah menekan tombol
enter/tab/penunjuk panah pada keyboard. Bahkan di sepanjang kolom A di Sheet1,
apabila kita memasukkan/mengetikkan huruf/angka maka akan masuk ke cell A1 di Sheet2 -Ini yang paling tidak saya
suka dan mohon fungsi ini dihilangkan saja.
Selengkapnya lihat lampiran
- 3b.
-
Re: Memodifikasi CODE VBA
Posted by: "Kid Mr." mr.nmkid@gmail.com nmkid.family@ymail.com
Sat Jun 23, 2012 2:16 am (PDT)
Isi script dalam sheet sheet1 Anda adalah :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Cells.Count = 1 Then
Target.EntireRow.Copy Destination: =Sheets(2) .Cells(Rows. Count,
1).End(xlUp).Offset(0, 0)
End If
End Sub
Kira-kira Anda paham gak dengan script ini, sehingga bisa memutuskan suka
atau tidak suka.
Bukankah Anda suka dengan gaji ke-13 bahkan sampai ke-15 karena sudah paham
kegunaan dari gaji itu ?
Bunyi script di atas :
'jika nilai suatu cell dalam worksheet berubah (worksheet_change) maka
jalankan prosedur ini,
'dan ingat-ingatlah semua range yang berubah tersebut (target as range)
Private Sub Worksheet_Change(ByVal Target As Range)
'jika yang berubah adalah range di kolom ke (target.column) 1 (berarti
kolom A) dan (AND) jumlah cell yang berubah nilai (target.cells.count)
adalah 1 bijik,
'maka lakukanlah semua perintah dalam blok tersebut
If Target.Column = 1 And Target.Cells.Count = 1 Then
'berikut perintah dalam blok kondisi di atas ketika range
yang berubah di kolom ke-1 dan jumlah cell yang berubah hanya 1 :
'pada seluruh range yang berubah nilainya (Target), blok
seluruh barisnya (EntireRow) kemudian lakukan copy ke clipboard (Copy)
'diikuti mem-paste ke sheet ke-2 (bukan sheet bernama 2)
[Sheets(2)] pada cell (ingat cell dalam sheet ke-2) di baris terakhir
sheets (rows.count)
'pada kolom ke-1, kemudian pindah keatas hingga bertemu
cell yang tidak kosong (ingat, masih di kolom 1) [ End(xlup) ]
'dan dilanjutkan dengan proses lompat (offset) sebanyak 0
baris dan 0 kolom *(bagian merah sepertinya harus 1 kolom dan bukan 0 kolom)
*
Target.EntireRow.Copy
Destination:=Sheets(2) .Cells(Rows. Count, 1).End(xlUp) .Offset(0, *0*)
'blok kondisi berakhir disini
End If
'akhir pekerjaan dalam prosedur yang dijalankan karena adanya cell yang
berubah nilai
End Sub
Sampai disini, biasanya akan mulai paham kenapa dan mengapa semua hal
terjadi.
kira-kira apa yang harus diubah untuk memenuhi kebutuhan Anda ?
>> Tidak suka (mulai wajar setelah mulai memahami penyebab kejadian) kalau
sebuah cell berubah di kolom A maka proses dijalankan ? Maka hapus bagian
yang terkait tentang hal itu
>> Ingin meng-copy 1 cell saja (tidak semua baris), maka hapus bagian blok
seluruh baris
>> sheet tujuan paste berbeda, maka ganti penunjukan ke sheet ke-2 dengan
sheet tujuan Anda dinomor berapa
>> lokasi hasil copy tidak pada kolom yang sama dan berurutan dengan yang
diinput ? Maka susun kondisi baru berdasar nomor kolom
seperti : (kalau yang di copy itu di kolom 1, maka paste ke kolom itu juga
tapi di sheet dengan nomor tujuan anda (bisa 2, 3, dst)
IF target.column=1 then
target.copy destination:=sheets(nomor tujuan Anda).cells( target.row ,
target.column )
endif
'bisa jadi ada kondisi lain, kalau yang di copy kolom 7, maka paste ke
sheet tujuan di kolom 23
IF target.column=7 then
target.copy destination:=sheets(nomor tujuan Anda).cells( target.row ,
23 )
endif
Silakan mencoba mengubah sendiri agar bisa lebih memahami sebuah dunia baru
tersebut pantas atau tidak pantas untuk disukai atau tidak disukai.
Wassalam,
Kid.
2012/6/23 guru muda <mudaguru@yahoo.com >
> **
>
>
> VBA Code yang ada saat ini dapat mengkopi secara otomatis dari isi dari baris
> /row 1 di Sheet1 ke cell baris 1 di Sheet2, setelah menekan tombol
> enter/tab/penunjuk panah pada keyboard. Bahkan di sepanjang kolom A di
> Sheet1, apabila kita memasukkan/mengetikkan huruf/angka maka akan masuk
> ke cell A1 di Sheet2 -Ini yang paling tidak saya suka dan mohon fungsi
> ini dihilangkan saja.
>
>
> Selengkapnya lihat lampiran
>
>
>
- 3c.
-
Re: Memodifikasi CODE VBA
Posted by: "Kid Mr." mr.nmkid@gmail.com nmkid.family@ymail.com
Sat Jun 23, 2012 2:52 am (PDT)
ralat :
harusnya :
'dan dilanjutkan dengan proses lompat (offset) sebanyak 0 baris dan 0
kolom *(bagian merah sepertinya harus 1 baris dan bukan 0 baris)*
Target.EntireRow.Copy Destination: =Sheets(2) .Cells(Rows. Count,
1).End(xlUp).Offset(0, *0*)
dan bukan
'dan dilanjutkan dengan proses lompat (offset) sebanyak 0
baris dan 0 kolom *(bagian merah sepertinya harus 1 kolom dan bukan 0 kolom)
*
Target.EntireRow.Copy
Destination:=Sheets(2) .Cells(Rows. Count, 1).End(xlUp) .Offset(0, *0*)
Kid.
2012/6/23 Kid Mr. <mr.nmkid@gmail.com >
> Isi script dalam sheet sheet1 Anda adalah :
> Private Sub Worksheet_Change(ByVal Target As Range)
> If Target.Column = 1 And Target.Cells.Count = 1 Then
> Target.EntireRow.Copy Destination: =Sheets(2) .Cells(Rows. Count,
> 1).End(xlUp).Offset(0, 0)
> End If
> End Sub
>
> Kira-kira Anda paham gak dengan script ini, sehingga bisa memutuskan suka
> atau tidak suka.
> Bukankah Anda suka dengan gaji ke-13 bahkan sampai ke-15 karena sudah
> paham kegunaan dari gaji itu ?
>
> Bunyi script di atas :
>
> 'jika nilai suatu cell dalam worksheet berubah (worksheet_change) maka
> jalankan prosedur ini,
> 'dan ingat-ingatlah semua range yang berubah tersebut (target as range)
> Private Sub Worksheet_Change(ByVal Target As Range)
>
> 'jika yang berubah adalah range di kolom ke (target.column) 1 (berarti
> kolom A) dan (AND) jumlah cell yang berubah nilai (target.cells.count)
> adalah 1 bijik,
> 'maka lakukanlah semua perintah dalam blok tersebut
> If Target.Column = 1 And Target.Cells.Count = 1 Then
>
> 'berikut perintah dalam blok kondisi di atas ketika
> range yang berubah di kolom ke-1 dan jumlah cell yang berubah hanya 1 :
> 'pada seluruh range yang berubah nilainya (Target), blok
> seluruh barisnya (EntireRow) kemudian lakukan copy ke clipboard (Copy)
> 'diikuti mem-paste ke sheet ke-2 (bukan sheet bernama 2)
> [Sheets(2)] pada cell (ingat cell dalam sheet ke-2) di baris terakhir
> sheets (rows.count)
> 'pada kolom ke-1, kemudian pindah keatas hingga bertemu
> cell yang tidak kosong (ingat, masih di kolom 1) [ End(xlup) ]
> 'dan dilanjutkan dengan proses lompat (offset) sebanyak
> 0 baris dan 0 kolom *(bagian merah sepertinya harus 1 baris dan bukan 0
> baris)*
> Target.EntireRow.Copy
> Destination:=Sheets(2) .Cells(Rows. Count, 1).End(xlUp) .Offset(0, *0*)
>
> 'blok kondisi berakhir disini
> End If
>
> 'akhir pekerjaan dalam prosedur yang dijalankan karena adanya cell yang
> berubah nilai
> End Sub
>
> Sampai disini, biasanya akan mulai paham kenapa dan mengapa semua hal
> terjadi.
> kira-kira apa yang harus diubah untuk memenuhi kebutuhan Anda ?
> >> Tidak suka (mulai wajar setelah mulai memahami penyebab kejadian) kalau
> sebuah cell berubah di kolom A maka proses dijalankan ? Maka hapus bagian
> yang terkait tentang hal itu
> >> Ingin meng-copy 1 cell saja (tidak semua baris), maka hapus bagian blok
> seluruh baris
> >> sheet tujuan paste berbeda, maka ganti penunjukan ke sheet ke-2 dengan
> sheet tujuan Anda dinomor berapa
> >> lokasi hasil copy tidak pada kolom yang sama dan berurutan dengan yang
> diinput ? Maka susun kondisi baru berdasar nomor kolom
> seperti : (kalau yang di copy itu di kolom 1, maka paste ke kolom itu juga
> tapi di sheet dengan nomor tujuan anda (bisa 2, 3, dst)
> IF target.column=1 then
> target.copy destination:=sheets(nomor tujuan Anda).cells( target.row
> , target.column )
> endif
>
> 'bisa jadi ada kondisi lain, kalau yang di copy kolom 7, maka paste ke
> sheet tujuan di kolom 23
> IF target.column=7 then
> target.copy destination:=sheets(nomor tujuan Anda).cells( target.row
> , 23 )
> endif
>
> Silakan mencoba mengubah sendiri agar bisa lebih memahami sebuah dunia
> baru tersebut pantas atau tidak pantas untuk disukai atau tidak disukai.
>
> Wassalam,
> Kid.
>
> 2012/6/23 guru muda <mudaguru@yahoo.com >
>
>> **
>>
>>
>> VBA Code yang ada saat ini dapat mengkopi secara otomatis dari isi dari baris
>> /row 1 di Sheet1 ke cell baris 1 di Sheet2, setelah menekan tombol
>> enter/tab/penunjuk panah pada keyboard. Bahkan di sepanjang kolom A di
>> Sheet1, apabila kita memasukkan/mengetikkan huruf/angka maka akan masuk
>> ke cell A1 di Sheet2 -Ini yang paling tidak saya suka dan mohon fungsi
>> ini dihilangkan saja.
>>
>>
>> Selengkapnya lihat lampiran
>>
>>
>>
>
>
- 4.
-
User Form yang terinput ke database secara horizontal & vertikal
Posted by: "Teuku Hakim" kinderstone@yahoo.com teukuhakim
Sat Jun 23, 2012 1:45 am (PDT)
Dear Para Pakar Bexceller,
Mohon bantuannya saat ini saya sedang ingin membuat suatu form dengan tiga tombol bantu yaitu SAVE,TRACE & EDIT. Dimana data di sheet form akan terinput ke sheet database namun datanya tidak hanya horizontal,namun juga vertikal sehingga akan membentuk suatu range tertentu di sheet database sesuai dengan yang diinputkan oleh user di form.
Saya masih bingung untuk membuat kode programnya macronya. mungkin dari forum ini semoga saya dapat titik terang. Untuk lebih jelasnya saya lampirkan contoh file excelnya. Terima Kasih.
Salam,
Hakim
--- Mods ---
Coba search dimilis lebih dulu. Banyak thread tentang input form disana.
Cobalah meniru dan menerapkannya. Ketika ada error, sampaikan ke milis. Biasanya akan lebih banyak yang bersedia urun rembug daripada minta tolong dibuatkan sebuah aplikasi.
Banyak thread dimilis yang kesannya ingin dibuatkan aplikasi dan sangat sedikit yang mendapat tanggapan. Tampaknya, usaha penanya termasuk salah satu hal yang bisa menarik minat BeExceler yang ingin menanggapi.
------------
- 5a.
-
Membuat tombol notifikasi/peringatan
Posted by: "lapendosol opik" lapendosol@yahoo.com lapendosol
Sat Jun 23, 2012 2:16 am (PDT)
Dibawah adalah tombol untuk menyimpan data ke database. Saya ingin buat tombol tambahan semacam notifikasi/peringatan dimana setelah klik cmdSaveDatabase muncul peringatan "Apakah anda yakin untuk menyimpan data ini?" OK untuk melanjutkan, Cancel untuk membatalkan.
Kira2 begitu, tolong bantuan para master2 suhu excel sekali lagi. Trimakasih sebelumnya
_____________________ _________ _________ _________ _______
Private Sub cmdSaveDatabase_Click()
'-------------------- --------- -----
' ModifiedBy: Markonah, Jun 23 2012
'-------------------- --------- -----
Dim lRowsDB As Long
If LenB(Me.Range("A2").Value) > 0 Then
' buat ngesave (saya belum tahu: "nge" itu "termasuk awalan Ya ?)
Me.Range("E2").Value = Now
Me.Range("E2").NumberFormat = "dd-mmm-yyyy hh:mm:ss"
lRowsDB = Sheet2.Range("a1").CurrentReg ion.Rows. Count
Me.Range("A2:E2").Copy
Sheet2.Range("a1").Offset( lRowsDB). PasteSpecial 12
Me.Range("A2:E2").ClearConten ts
MsgBox "Sip sip sip", vbInformation
End If
End Sub
--------------------- --------- -----
- 5b.
-
Re: Membuat tombol notifikasi/peringatan
Posted by: "Rara Wilis" ra2wilis@gmail.com rr_wilis
Sat Jun 23, 2012 2:54 am (PDT)
sebetulnya kalau gak males lihat-lihat posting lama (mengenai entri
data); contoh seperti yg ditanyakan sudah banyak.....
Private Sub cmdSaveDatabase_Click()
'-------------------- --------- -----
' ModifiedBy: Markonah, Jun 23 2012
' ModifiedBy: ~Rara, Jun 23 2012
'-------------------- --------- -----
Dim lRowsDB As Long, Responz, t As String
If LenB(Me.Range("A2").Value) > 0 Then
'buat ngesave
Me.Range("E2").Value = Now
Me.Range("E2").NumberFormat = "dd-mmm-yyyy hh:mm:ss"
lRowsDB = Sheet2.Range("a1").CurrentReg ion.Rows. Count
t = "Apakah anda yakin untuk menyimpan data ini?" & vbCrLf & vbCrLf
t = t + "OK untuk melanjutkan, Cancel untuk membatalkan"
Responz = MsgBox(t, vbOKCancel + vbQuestion, "Entry Data")
If Responz = vbOK Then
Me.Range("A2:E2").Copy
Sheet2.Range("a1").Offset( lRowsDB). PasteSpecial 12
Me.Range("A2:E2").ClearConten ts
End If
End If
End Sub
~Rr
2012/6/23 lapendosol opik <lapendosol@yahoo.com >
>
> Dibawah adalah tombol untuk menyimpan data ke database. Saya ingin buat
> tombol tambahan semacam notifikasi/peringatan dimana setelah klik
> cmdSaveDatabase muncul peringatan "Apakah anda yakin untuk menyimpan data
> ini?" OK untuk melanjutkan, Cancel untuk membatalkan.
> Kira2 begitu, tolong bantuan para master2 suhu excel sekali lagi.
> Trimakasih sebelumnya
> _____________________ _________ _________ _________ _______
>
> Private Sub cmdSaveDatabase_Click()
> '-------------------- --------- -----
> ' ModifiedBy: Markonah, Jun 23 2012
> '-------------------- --------- -----
> Dim lRowsDB As Long
> If LenB(Me.Range("A2").Value) > 0 Then
> ' buat ngesave (saya belum tahu: *"nge"* itu "termasuk awalan Ya ?)
> Me.Range("E2").Value = Now
> Me.Range("E2").NumberFormat = "dd-mmm-yyyy hh:mm:ss"
> lRowsDB = Sheet2.Range("a1").CurrentReg ion.Rows. Count
> Me.Range("A2:E2").Copy
> Sheet2.Range("a1").Offset( lRowsDB). PasteSpecial 12
> Me.Range("A2:E2").ClearConten ts
> MsgBox "Sip sip sip", vbInformation
> End If
> End Sub
> --------------------- --------- -----
>
- 6a.
-
Re: help sepertinya ada yg salah dengan code ku
Posted by: "Rara Wilis" ra2wilis@gmail.com rr_wilis
Sat Jun 23, 2012 2:30 am (PDT)
Berhubung mbak Connie sedang tidak online, saya ingin mewakilinya
Alkisah dlm cerita makro "AMBIL_DATA", bu Harumi menyiapkan
(mendeklarasikan) 3 variable: *NAMA, NIS, KELAS*
Dengan perjuangan suci, gigih dan tak kenal menyerah, 3 variable itu diisi
dengan data hasil dari dioperasikannya *struktur "Selec Case"*. Akhirnya
perjuangan mendebarkan itu berhasil mengisi 3 variable itu dengan 3 data,
misal *Bambang, 12345, 3C*
Tiga data ini menurut RENCANA-nya akan di tampilkan di 3 cells pada sheet
'Form' yaitu cell *B5, B6 dan B7 *(atau dlm bhs VBA-Excel dapat disebut
pula Cells(5,2), Cells(6,2), Cells(7,2)
*Variable* adalah sejumput MEMORY di RAM, dapat diberi NAMA, diisi DATA,
datanya dapat diganti dgn data lain kapan pun, termasuk dikosongkan, kapan
saja, selama prosedur bejalan. VARIABLE istilah lengkapnya adalah MEMORY
VARIABLE
Pengisian/edit nya harus melalui pemrograman.
*Cell*, secara teknis-komputer, juga berupa Memory Variable, hanya oleh
excel dilengkapi dengan penampilan visualnya di suatu SHEET berupa kotak
segi empat, sifatnya tidak jauh berbeda dengan Variable, dapat diisi tanpa
pemrograman, langsung pada mode excel interaktif, dapat juga di isi/edit
melalui pemrograman (VBA)
Sekarang (perjuangan suci berikutnya) adalah *bgmana caranya agar isi/ data
didalam 3 variable* (NAMA. NIS, KELAS) dipindahkan/dicopy ke 3 cell B5,
B6 dan B7
(1) Apakah value/data di 3 CELL itu *dimasukkan/diisikan ke *3 Variable ??
Cell(r,c).Value = NamaVariable
(2) Ataukah 3 VARIABLE itu *diisi dengan* data yg ada di 3 CELL ??
(lha tadi kan sudah diperjuangan untuk diisi hasil Select Case. kok mau
diubah sebelum digunakan)
NamaVariable = Cell(r,c).Value
Nah Teman2 dapat menjawab sendiri bukan ?
Catatan Gak Penting:
Dlm VBA, tanda/operator *"="* bisa bertindak sbg salah satu OPERATOR
sesuai jenis data/object yg dioperasikan; misal
** Sebagai *operator Penugasan / assignment *(gampangnya mengisikan data ke
suatu tempat/memory ataupun cell
Nama = "Asanti" , artinya variable Nama diberi nilai text "Asanti"
** Sebagai *operator Pembanding* (equal to) : x = 4=3 lebih mudah
dipahami x = (4=3)
"=" yg bertama = assignment, "=" yg kedua : pembanding
hasilnya x = False
Mungkin perbedaan tugas "=" inilah yg sering membuat pemula belajar VB /
VBA sering agak bingung (karena belum membaca penjelasannya yg harusnya ada
di buku yg dipegangnya)
Mudah-mudahan dapat difahami & CMIIW
~Rara.
*2012/6/22 Harumi Wanasita <hwanasita@yahoo.com >
> oh begitu ya mbak...
> jdi berbeda yah dengan menuliskan dulu
> nama =.cells(5,2).value
> dengan
> .cells(5,2).value = nama
> jadi seperti sy bikin rumus baru di worksheet form dan tidak tehubung
dengan worksheet bantuan gitu kah mbak?
> trims...
>*
> _____________________ _________ __
> Dari: Markonah <markonatul@gmail.com >
> Dikirim: Jumat, 22 Juni 2012 14:48
>
> coba dibandingkan makro asli dari mbak Harum -VS
> makro yg telah kami coba perbaiki ini
> kesalahan hanya pengisian cell terbalik
>
> harusnya cell diisi dengan variables hasil select case
> yg mbak Harum lakukan Variables diisi dengan cell di FORM
>
> Sub GetData()
> Dim nama, kelas As String
> Dim nim As Long
> With Worksheets("Bantuan")
> nama = .Cells(1, 5).Value
> Select Case nama
> Case "Budi"
> nis = .Cells(2, 2).Value: kelas = .Cells(2, 3).Value
> Case "Bambang"
> nis = .Cells(3, 2).Value: kelas = .Cells(3, 3).Value
> Case "Wati"
> nis = .Cells(4, 2).Value: kelas = .Cells(4, 3).Value
> Case "Iwan"
> nis = .Cells(5, 2).Value: kelas = .Cells(5, 3).Value
> End Select
>
> Cells(1, 4).ClearContents
> End With
>
> With Worksheets("Form")
> .Cells(5, 2).Value = nama
> .Cells(6, 2).Value = nis
> .Cells(7, 2).Value = kelas
> End With
> End Sub
- 7a.
-
Re: Form Login
Posted by: "Rara Wilis" ra2wilis@gmail.com rr_wilis
Sat Jun 23, 2012 3:04 am (PDT)
mbak siti lagi bobok manis, proses recovery, semoga lekas sehat kembali...
Kita usahakan menjawab:
Prinsipnya karena boss punya *status ALL*
Kemudian ada pencabangan (dengan IF)
*IF Status = "ALL" Then*
* '--- unhide semua sheets*
*ELSE*
*'--- unhide sheet khusus si Loger*
*END IF*
begitulah kira-kira... Rara..ra
2012/6/23 Flow Nanank <flow.nanank@yahoo.co. >id
> **
> BeExcel mhon bantuannya ,khususnya kepada mbak "ctv"...
> kemarin saya download file Form Login ctv_Login_v2.xls,
> yg saya mau tanyakan jika user yg Login adalah "boss" kenapa semua Sheets
> bisa tampil,,,??
> yg ingin saya tau dimana letak kode yg membuat hak akses tersebut???
> coba saya cari2 kog tidak ketemu,,
> mohon bantuannnya,,,
>
>
- 7b.
-
Bls: [belajar-excel] Form Login
Posted by: "Flow Nanank" flow.nanank@yahoo.co.id flow.nanank
Sat Jun 23, 2012 11:55 am (PDT)
Trimakasih mbak Rara,,,
maksud saya code yg berada didalam form login yg di buat mbak Siti,,,
code yg menentukan user boss bisa melihat semua Sheets, saya coba cari2 kog tidak ketemu,,
saya mencoba menulis kembali code tsb karna ada penambahan2 lagi,,,
_____________________ _________ __
Dari: Rara Wilis <ra2wilis@gmail.com >
Kepada: belajar-excel@yahoogroups. com
Dikirim: Sabtu, 23 Juni 2012 17:03
Judul: Re: [belajar-excel] Form Login
mbak siti lagi bobok manis, proses recovery, semoga lekas sehat kembali...
Kita usahakan menjawab:
Prinsipnya karena boss punya status ALL
Kemudian ada pencabangan (dengan IF)
IF Status = "ALL" Then
'--- unhide semua sheets
ELSE
'--- unhide sheet khusus si Loger
END IF
begitulah kira-kira... Rara..ra
2012/6/23 Flow Nanank <flow.nanank@yahoo.co. >id
>BeExcel mhon bantuannya ,khususnya kepada mbak "ctv"...
>kemarin saya download file Form Login ctv_Login_v2.xls,
>yg saya mau tanyakan jika user yg Login adalah "boss" kenapa semua Sheets bisa tampil,,,??
>yg ingin saya tau dimana letak kode yg membuat hak akses tersebut???
>coba saya cari2 kog tidak ketemu,,
>mohon bantuannnya,,,
>
>
>
- 7c.
-
Re: Form Login
Posted by: "Kid Mr." mr.nmkid@gmail.com nmkid.family@ymail.com
Sat Jun 23, 2012 11:57 am (PDT)
Coba lihat di sheet User. Disana ada daftar user beserta hak aksesnya. Ada
user bernama boss disana.
Kid.
2012/6/24 Flow Nanank <flow.nanank@yahoo.co. >id
> **
>
>
> Trimakasih mbak Rara,,,
> maksud saya code yg berada didalam form login yg di buat mbak Siti,,,
> code yg menentukan user boss bisa melihat semua Sheets, saya coba cari2
> kog tidak ketemu,,
> saya mencoba menulis kembali code tsb karna ada penambahan2 lagi,,,
>
> --------------------- ---------
> *Dari:* Rara Wilis <ra2wilis@gmail.com >
> *Kepada:* belajar-excel@yahoogroups. com
> *Dikirim:* Sabtu, 23 Juni 2012 17:03
> *Judul:* Re: [belajar-excel] Form Login
>
>
> mbak siti lagi bobok manis, proses recovery, semoga lekas sehat kembali...
>
> Kita usahakan menjawab:
> Prinsipnya karena boss punya *status ALL*
> Kemudian ada pencabangan (dengan IF)
>
> *IF Status = "ALL" Then*
> * '--- unhide semua sheets*
> *ELSE*
> *'--- unhide sheet khusus si Loger*
> *END IF*
>
> begitulah kira-kira... Rara..ra
>
>
>
> 2012/6/23 Flow Nanank <flow.nanank@yahoo.co. >id
>
> **
> BeExcel mhon bantuannya ,khususnya kepada mbak "ctv"...
> kemarin saya download file Form Login ctv_Login_v2.xls,
> yg saya mau tanyakan jika user yg Login adalah "boss" kenapa semua Sheets
> bisa tampil,,,??
> yg ingin saya tau dimana letak kode yg membuat hak akses tersebut???
> coba saya cari2 kog tidak ketemu,,
> mohon bantuannnya,,,
>
>
>
>
>
- 7d.
-
Bls: [belajar-excel] Form Login
Posted by: "Flow Nanank" flow.nanank@yahoo.co.id flow.nanank
Sat Jun 23, 2012 1:45 pm (PDT)
Thank'z Om Kid,
iya disana emang ada daftar user beserta hak aksesnya,,
tp di enkrip smua Om,,,
saya coba membuat User baru dg Hak Akses All tp malah user baru itu dibuatkan Sheets baru dg nama ALL,,,
yg saya maksud codingnya om,,
_____________________ _________ __
Dari: Kid Mr. <mr.nmkid@gmail.com >
Kepada: belajar-excel@yahoogroups. com
Dikirim: Minggu, 24 Juni 2012 1:57
Judul: Re: [belajar-excel] Form Login
Coba lihat di sheet User. Disana ada daftar user beserta hak aksesnya. Ada user bernama boss disana.
Kid.
2012/6/24 Flow Nanank <flow.nanank@yahoo.co. >id
>
>Trimakasih mbak Rara,,,
>maksud saya code yg berada didalam form login yg di buat mbak Siti,,,
>code yg menentukan user boss bisa melihat semua Sheets, saya coba cari2 kog tidak ketemu,,
>saya mencoba menulis kembali code tsb karna ada penambahan2 lagi,,,
>
>
>
>____________________ _________ ___
> Dari: Rara Wilis <ra2wilis@gmail.com >
>Kepada: belajar-excel@yahoogroups. com
>Dikirim: Sabtu, 23 Juni 2012 17:03
>Judul: Re: [belajar-excel] Form Login
>
>
>
>
>mbak siti lagi bobok manis, proses recovery, semoga lekas sehat kembali...
>
>
>Kita usahakan menjawab:
>Prinsipnya karena boss punya status ALL
>Kemudian ada pencabangan (dengan IF)
>
>
>IF Status = "ALL" Then
> '--- unhide semua sheets
>ELSE
>'--- unhide sheet khusus si Loger
>END IF
>
>
>begitulah kira-kira... Rara..ra
>
>
>
>
>
>
>2012/6/23 Flow Nanank <flow.nanank@yahoo.co. >id
>
>
>>BeExcel mhon bantuannya ,khususnya kepada mbak "ctv"...
>>kemarin saya download file Form Login ctv_Login_v2.xls,
>>yg saya mau tanyakan jika user yg Login adalah "boss" kenapa semua Sheets bisa tampil,,,??
>>yg ingin saya tau dimana letak kode yg membuat hak akses tersebut???
>>coba saya cari2 kog tidak ketemu,,
>>mohon bantuannnya,,,
>>
>>
>>
>
>
- 7e.
-
Re: Form Login
Posted by: "Kid Mr." mr.nmkid@gmail.com nmkid.family@ymail.com
Sat Jun 23, 2012 1:53 pm (PDT)
Disana ada fungsi Krip.
Coba gunakan di worksheet layaknya menyusun formula.
=Krip( teks , true ) untuk enkripsi
ganti true jadi false untuk dekripsi.
Kid.
2012/6/24 Flow Nanank <flow.nanank@yahoo.co. >id
> **
>
>
> Thank'z Om Kid,
> iya disana emang ada daftar user beserta hak aksesnya,,
> tp di enkrip smua Om,,,
> saya coba membuat User baru dg Hak Akses All tp malah user baru itu
> dibuatkan Sheets baru dg nama ALL,,,
> yg saya maksud codingnya om,,
>
> --------------------- ---------
> *Dari:* Kid Mr. <mr.nmkid@gmail.com >
> *Kepada:* belajar-excel@yahoogroups. com
> *Dikirim:* Minggu, 24 Juni 2012 1:57
>
> *Judul:* Re: [belajar-excel] Form Login
>
>
> Coba lihat di sheet User. Disana ada daftar user beserta hak aksesnya. Ada
> user bernama boss disana.
>
> Kid.
>
> 2012/6/24 Flow Nanank <flow.nanank@yahoo.co. >id
>
> **
>
> Trimakasih mbak Rara,,,
> maksud saya code yg berada didalam form login yg di buat mbak Siti,,,
> code yg menentukan user boss bisa melihat semua Sheets, saya coba cari2
> kog tidak ketemu,,
> saya mencoba menulis kembali code tsb karna ada penambahan2 lagi,,,
>
> --------------------- ---------
> *Dari:* Rara Wilis <ra2wilis@gmail.com >
> *Kepada:* belajar-excel@yahoogroups. com
> *Dikirim:* Sabtu, 23 Juni 2012 17:03
> *Judul:* Re: [belajar-excel] Form Login
>
>
> mbak siti lagi bobok manis, proses recovery, semoga lekas sehat kembali...
>
> Kita usahakan menjawab:
> Prinsipnya karena boss punya *status ALL*
> Kemudian ada pencabangan (dengan IF)
>
> *IF Status = "ALL" Then*
> * '--- unhide semua sheets*
> *ELSE*
> *'--- unhide sheet khusus si Loger*
> *END IF*
>
> begitulah kira-kira... Rara..ra
>
>
>
> 2012/6/23 Flow Nanank <flow.nanank@yahoo.co. >id
>
> **
> BeExcel mhon bantuannya ,khususnya kepada mbak "ctv"...
> kemarin saya download file Form Login ctv_Login_v2.xls,
> yg saya mau tanyakan jika user yg Login adalah "boss" kenapa semua Sheets
> bisa tampil,,,??
> yg ingin saya tau dimana letak kode yg membuat hak akses tersebut???
> coba saya cari2 kog tidak ketemu,,
> mohon bantuannnya,,,
>
>
>
>
>
>
>
>
- 8a.
-
Multiple CopySheets dengan VBA Macro
Posted by: "yusajing_ehm@yahoo.com" yusajing_ehm@yahoo.com yusajing_ehm
Sat Jun 23, 2012 4:57 am (PDT)
Dear All Pakar Excel,
Saya sedang membuat coding macro, akan tetapi saya menemukan kesulitan ketika harus meng copy lebih dari 1 sheet secara bersamaan. Ketika saya rekam macro hasilnya keluar seperti berikut :
Sheets(array("Sheet1", "Sheet2", "Sheet3") ).copy
Masalahnya adalah jumlah sheets yg ingin saya copy jumlah dan namanya tidak tetap akan tetapi indexnya yang sama yaitu sheets dengan index 5 sampai sheets terakhir. Saya coba dengan menggunakan index dngn coding sebagai berikut
Sheets(array(1,2,3)).copy
Ternyata bisa jika diganti index.
Jd saya buat codingnya seperti berikut :
For x=5 to sheets.count
Array ????
Next
Sheets(array???).copy
End sub
Pertanyaan saya adalah, bagaimana membuat arraynya agar flexibel ?
Mohon pencerahannya.
Terimakasih
Best regards
Powered by Telkomsel BlackBerry� - 8b.
-
Re: Multiple CopySheets dengan VBA Macro
Posted by: "Kid Mr." mr.nmkid@gmail.com nmkid.family@ymail.com
Sat Jun 23, 2012 5:24 am (PDT)
Coba simak dongeng dalam prosedur berikut :
Public Sub CobaSusunArrayNamaSheet()
Dim sht As Worksheet
Dim sShtName() As String
Dim lShtIdx As Long
Dim lCalc As Long
lCalc = Application.Calculation 'simpan setting
kalkulasi excel yang sedang digunakan
Application.Calculation = xlCalculationManual 'contoh set
kalkulasi excel dalam mode manual
ReDim sShtName(1 To Sheets.Count) As String
'dengan loop per object sheet memanfaatkan for each
lShtIdx = 0
For Each sht In ThisWorkbook.Worksheets
lShtIdx = lShtIdx + 1
sShtName(lShtIdx) = sht.Name 'masukkan nama sheet ke array
shtname
'sht.Copy 'copy sheet yang sedang diproses
(silakan tentukan kemana akan di-paste)
Next sht
'tes multiple select semua sheet, ganti select dengan copy jika akan
copy langsung semua sheet dalam array
'meskipun sebenarnya copy sheet bisa dilakukan saat loop semua sheet
untuk menyusun array nama sheet
Sheets(sShtName()).Select
'contoh pemakaian methods calculate
Application.Calculate 'perintahkan excel untuk
mengkalkulasi aplikasi
Sheets(1).Calculate 'perintahkan untuk kalkulasi
sheet dengan index 1 saja
Sheets(1).Range("a2:g78,k34: m34").Calculate 'perintahkan untuk
kalkulasi range tertentu di sheet berindex 1
'kembali ke array sheet
'susun array nama sheet dengan loop per object sheet memanfaatkan for
terhadap index sheet
For lShtIdx = 1 To Sheets.Count
sShtName(lShtIdx) = Sheets(lShtIdx).Name 'masukkan nama
sheet ke array shtname
'sht.Copy 'copy sheet yang sedang diproses (silakan
tentukan kemana akan di-paste)
Next lShtIdx
'tes multiple select semua sheet, ganti select dengan copy jika akan
copy langsung semua sheet dalam array
'meskipun sebenarnya copy sheet bisa dilakukan saat loop semua sheet
untuk menyusun array nama sheet
Sheets(sShtName()).Select
Application.Calculation = xlCalculationAutoma tic 'pasksa mode
kalkulasi excel jadi automatic
'kayanya lebih enak dikembalikan ke selera user saat sebelum proses ini
dijalankan
'jadi kembalikan mode kalkulasi ke mode yang disimpan dalam variabel
lcalc tadi
Application.Calculation = lCalc
End Sub
Wassalam,
Kid.
2012/6/23 <yusajing_ehm@yahoo.com >
> Dear All Pakar Excel,
>
> Saya sedang membuat coding macro, akan tetapi saya menemukan kesulitan
> ketika harus meng copy lebih dari 1 sheet secara bersamaan. Ketika saya
> rekam macro hasilnya keluar seperti berikut :
>
> Sheets(array("Sheet1", "Sheet2", "Sheet3") ).copy
>
> Masalahnya adalah jumlah sheets yg ingin saya copy jumlah dan namanya
> tidak tetap akan tetapi indexnya yang sama yaitu sheets dengan index 5
> sampai sheets terakhir. Saya coba dengan menggunakan index dngn coding
> sebagai berikut
>
> Sheets(array(1,2,3)).copy
>
> Ternyata bisa jika diganti index.
> Jd saya buat codingnya seperti berikut :
>
> For x=5 to sheets.count
>
> Array ????
>
> Next
>
> Sheets(array???).copy
>
> End sub
>
> Pertanyaan saya adalah, bagaimana membuat arraynya agar flexibel ?
>
> Mohon pencerahannya.
>
> Terimakasih
>
> Best regards
> Powered by Telkomsel BlackBerry®
>
> --------------------- --------- ------
>
> --------------------- --------- --------- --------- --------- -
> 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@yahoogroup s.com
>
> keluar dari membership milis (UnSubscribe):
> kirim mail kosong ke belajar-excel-unsubscribe@ yahoogroups. com
> --------------------- --------- --------- --------- --------- -Yahoo!
> Groups Links
>
>
>
>
- 8c.
-
Re: Multiple CopySheets dengan VBA Macro
Posted by: "yusajing_ehm@yahoo.com" yusajing_ehm@yahoo.com yusajing_ehm
Sat Jun 23, 2012 9:00 am (PDT)
Wow, excelence Mr. Kid,
Thank you very much,
But I have one more question Mr.Kid..
Saya membuat coding macro utk menyimpan seperti berikut :
Activeworkbook.Save
Dan dengan coding seperti ini macro akan langsung save di mydocument. Kondisi yang diinginkan adalah seperti halnya ketika kita men-save workbook akan memilih lokasi penyimpanan dngn memunculkan suatu exploredialog.
Ini agar user dapat memilih lokasi penyimpanannya sendiri.
Bagaimana ya ?
Mohon Pencerahannya..
Powered by Telkomsel BlackBerry�
-----Original Message-----
From: "Kid Mr." <mr.nmkid@gmail.com >
Sender: belajar-excel@yahoogroups. com
Date: Sat, 23 Jun 2012 19:23:51
To: <belajar-excel@yahoogroups. >com
Reply-To: belajar-excel@yahoogroups. com
Subject: Re: [belajar-excel] Multiple CopySheets dengan VBA Macro
Coba simak dongeng dalam prosedur berikut :
Public Sub CobaSusunArrayNamaSheet()
Dim sht As Worksheet
Dim sShtName() As String
Dim lShtIdx As Long
Dim lCalc As Long
lCalc = Application.Calculation 'simpan setting
kalkulasi excel yang sedang digunakan
Application.Calculation = xlCalculationManual 'contoh set
kalkulasi excel dalam mode manual
ReDim sShtName(1 To Sheets.Count) As String
'dengan loop per object sheet memanfaatkan for each
lShtIdx = 0
For Each sht In ThisWorkbook.Worksheets
lShtIdx = lShtIdx + 1
sShtName(lShtIdx) = sht.Name 'masukkan nama sheet ke array
shtname
'sht.Copy 'copy sheet yang sedang diproses
(silakan tentukan kemana akan di-paste)
Next sht
'tes multiple select semua sheet, ganti select dengan copy jika akan
copy langsung semua sheet dalam array
'meskipun sebenarnya copy sheet bisa dilakukan saat loop semua sheet
untuk menyusun array nama sheet
Sheets(sShtName()).Select
'contoh pemakaian methods calculate
Application.Calculate 'perintahkan excel untuk
mengkalkulasi aplikasi
Sheets(1).Calculate 'perintahkan untuk kalkulasi
sheet dengan index 1 saja
Sheets(1).Range("a2:g78,k34: m34").Calculate 'perintahkan untuk
kalkulasi range tertentu di sheet berindex 1
'kembali ke array sheet
'susun array nama sheet dengan loop per object sheet memanfaatkan for
terhadap index sheet
For lShtIdx = 1 To Sheets.Count
sShtName(lShtIdx) = Sheets(lShtIdx).Name 'masukkan nama
sheet ke array shtname
'sht.Copy 'copy sheet yang sedang diproses (silakan
tentukan kemana akan di-paste)
Next lShtIdx
'tes multiple select semua sheet, ganti select dengan copy jika akan
copy langsung semua sheet dalam array
'meskipun sebenarnya copy sheet bisa dilakukan saat loop semua sheet
untuk menyusun array nama sheet
Sheets(sShtName()).Select
Application.Calculation = xlCalculationAutoma tic 'pasksa mode
kalkulasi excel jadi automatic
'kayanya lebih enak dikembalikan ke selera user saat sebelum proses ini
dijalankan
'jadi kembalikan mode kalkulasi ke mode yang disimpan dalam variabel
lcalc tadi
Application.Calculation = lCalc
End Sub
Wassalam,
Kid.
2012/6/23 <yusajing_ehm@yahoo.com >
> Dear All Pakar Excel,
>
> Saya sedang membuat coding macro, akan tetapi saya menemukan kesulitan
> ketika harus meng copy lebih dari 1 sheet secara bersamaan. Ketika saya
> rekam macro hasilnya keluar seperti berikut :
>
> Sheets(array("Sheet1", "Sheet2", "Sheet3") ).copy
>
> Masalahnya adalah jumlah sheets yg ingin saya copy jumlah dan namanya
> tidak tetap akan tetapi indexnya yang sama yaitu sheets dengan index 5
> sampai sheets terakhir. Saya coba dengan menggunakan index dngn coding
> sebagai berikut
>
> Sheets(array(1,2,3)).copy
>
> Ternyata bisa jika diganti index.
> Jd saya buat codingnya seperti berikut :
>
> For x=5 to sheets.count
>
> Array ????
>
> Next
>
> Sheets(array???).copy
>
> End sub
>
> Pertanyaan saya adalah, bagaimana membuat arraynya agar flexibel ?
>
> Mohon pencerahannya.
>
> Terimakasih
>
> Best regards
> Powered by Telkomsel BlackBerry�
>
> --------------------- --------- ------
>
> --------------------- --------- --------- --------- --------- -
> 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@yahoogroup s.com
>
> keluar dari membership milis (UnSubscribe):
> kirim mail kosong ke belajar-excel-unsubscribe@ yahoogroups. com
> --------------------- --------- --------- --------- --------- -Yahoo!
> Groups Links
>
>
>
>
- 8d.
-
Re: Multiple CopySheets dengan VBA Macro
Posted by: "Kid Mr." mr.nmkid@gmail.com nmkid.family@ymail.com
Sat Jun 23, 2012 10:07 am (PDT)
Yang ini dongeng tengah malam supaya mimpi indah...
Hati-hati dalam menghayati isi ceritanya, kalau salah tangkap, cerita indah
ini bisa jadi cerita yang menyeramkan... iiiih ngeri...
Public Sub BeberapaCaraSavePilihLokasi( )
Dim bSaveAs As Boolean
Dim sFile As String
*'untuk mencoba prosedur ini, pastikan menunjuk folder yang sama
disetiap dialog**
'dan beri nama khusus setiap dialog yang muncul*
'kegiatan pertama dengan dialog pertama
Application.Dialogs(xlDialog SaveAs).Show 'akan langsung save begitu
di ok dan ada nama file
'kegiatan kedua dengan dialog kedua
'untuk beri pesan tentang file tersave atau tidak, simpan return value
dari dialog
If Application.Dialogs(xlDialog SaveAs).Show Then
MsgBox "Saved"
Else
MsgBox "Cancel"
End If
'kegiatan ketiga tanpa dialog
'simpan dan sudah tahu nama tujuan
'tidak muncul dialog dan nama file adalah salinan.xlsm
ThisWorkbook.SaveAs ThisWorkbook. Path & "\salinan.xlsm"
'kegiatan keempat tanpa dialog
'tidak muncul dialog dan nama file adalah salinan_no_vba.xlsx
ThisWorkbook.SaveCopyAs ThisWorkbook. Path & "\salinan_no_ vba.xlsx"
'kegiatan kelima dengan dialog ketiga
'mode buat salinan dengan minta inputan nama filenya dan file aktif
tetap aktif
'(kegiatan dengan method workbook savecopyas)
'minta inputan nama file dengan method getsaveasfilename
'hasil inputan : fullfilename [ada inputan dan tekan save] atau teks
'False' [cancel]
'karena buat salinan, maka hati-hati dengan file filter
'misal dari xlsm jadi xlsx berarti file salinan tidak ada vba dan
format mungkin agak berbeda
'btw, cara susun multi ekstensi dalam 1 kriteria (yaitu kriteria 'xl
salinan') seperti contoh berikut
sFile = Application.GetSaveAsFilenam e(filefilter: ="xl salinan (*.xlsx;
*.xls),*.xlsx;*.xls")
If sFile <> "False" Then
ThisWorkbook.SaveCopyAs sFile
MsgBox "Data dalam file telah disalin ke :" & vbCrLf & sFile
Else
MsgBox "Cancel"
End If
'kegiatan keenam dengan dialog keempat
'mode save jadi nama lain dan hasil save tersebut yang aktif (kegiatan
dengan method workbook save as)
'tetap minta inputan dengan getsaveasfilename
'cara susun filter multi kriteria (umumnya untuk save, 1 ekstensi
setiap 1 kriteria) seperti contoh
sFile = Application.GetSaveAsFilenam e( _
filefilter:="xl with vba (*.xlsm),*.xlsm, xl binary
(*.xlsb),*.xlsb,xl 2003 kebawah (*.xls),*.xls" _
)
Select Case Right$(sFile, 1)
Case "m"
ThisWorkbook.SaveAs sFile, 52 'file format Excel12
Case "b"
ThisWorkbook.SaveAs sFile, 50 'file format MacroEnable
Case "s"
ThisWorkbook.SaveAs sFile, 56 'file format Excel8
Case Else
MsgBox "Cancel"
Exit Sub
End Select
MsgBox "Save As :" & vbCrLf & sFile
'fyi
'fungsi minta inputan file untuk open (GetOpenFilename)
'filter file bisa multi kriteria yang masing-masing kriteria berisi
multi ekstensi
'coba lihat perbedaan antara menu File -> Open dengan menu File -> Save
As
End Sub
Wassalam,
Kid.
2012/6/23 <yusajing_ehm@yahoo.com >
> **
>
>
> ** Wow, excelence Mr. Kid,
> Thank you very much,
>
> But I have one more question Mr.Kid..
>
> Saya membuat coding macro utk menyimpan seperti berikut :
>
> Activeworkbook.Save
>
> Dan dengan coding seperti ini macro akan langsung save di mydocument.
> Kondisi yang diinginkan adalah seperti halnya ketika kita men-save workbook
> akan memilih lokasi penyimpanan dngn memunculkan suatu exploredialog.
>
> Ini agar user dapat memilih lokasi penyimpanannya sendiri.
>
> Bagaimana ya ?
> Mohon Pencerahannya..
> Powered by Telkomsel BlackBerry�
> --------------------- ---------
> *From: * "Kid Mr." <mr.nmkid@gmail.com >
> *Sender: * belajar-excel@yahoogroups. com
> *Date: *Sat, 23 Jun 2012 19:23:51 +0700
> *To: *<belajar-excel@yahoogroups. >com
> *ReplyTo: * belajar-excel@yahoogroups. com
> *Subject: *Re: [belajar-excel] Multiple CopySheets dengan VBA Macro
>
>
>
> Coba simak dongeng dalam prosedur berikut :
>
> Public Sub CobaSusunArrayNamaSheet()
> Dim sht As Worksheet
> Dim sShtName() As String
> Dim lShtIdx As Long
> Dim lCalc As Long
>
> lCalc = Application.Calculation 'simpan setting
> kalkulasi excel yang sedang digunakan
> Application.Calculation = xlCalculationManual 'contoh
> set kalkulasi excel dalam mode manual
>
> ReDim sShtName(1 To Sheets.Count) As String
>
> 'dengan loop per object sheet memanfaatkan for each
> lShtIdx = 0
> For Each sht In ThisWorkbook.Worksheets
> lShtIdx = lShtIdx + 1
> sShtName(lShtIdx) = sht.Name 'masukkan nama sheet ke array
> shtname
>
> 'sht.Copy 'copy sheet yang sedang diproses
> (silakan tentukan kemana akan di-paste)
> Next sht
>
> 'tes multiple select semua sheet, ganti select dengan copy jika akan
> copy langsung semua sheet dalam array
> 'meskipun sebenarnya copy sheet bisa dilakukan saat loop semua sheet
> untuk menyusun array nama sheet
> Sheets(sShtName()).Select
>
> 'contoh pemakaian methods calculate
> Application.Calculate 'perintahkan excel untuk
> mengkalkulasi aplikasi
> Sheets(1).Calculate 'perintahkan untuk kalkulasi
> sheet dengan index 1 saja
> Sheets(1).Range("a2:g78,k34: m34").Calculate 'perintahkan untuk
> kalkulasi range tertentu di sheet berindex 1
>
> 'kembali ke array sheet
> 'susun array nama sheet dengan loop per object sheet memanfaatkan for
> terhadap index sheet
> For lShtIdx = 1 To Sheets.Count
> sShtName(lShtIdx) = Sheets(lShtIdx).Name 'masukkan nama
> sheet ke array shtname
>
> 'sht.Copy 'copy sheet yang sedang diproses
> (silakan tentukan kemana akan di-paste)
> Next lShtIdx
>
> 'tes multiple select semua sheet, ganti select dengan copy jika akan
> copy langsung semua sheet dalam array
> 'meskipun sebenarnya copy sheet bisa dilakukan saat loop semua sheet
> untuk menyusun array nama sheet
> Sheets(sShtName()).Select
>
> Application.Calculation = xlCalculationAutoma tic 'pasksa mode
> kalkulasi excel jadi automatic
>
> 'kayanya lebih enak dikembalikan ke selera user saat sebelum proses
> ini dijalankan
> 'jadi kembalikan mode kalkulasi ke mode yang disimpan dalam variabel
> lcalc tadi
> Application.Calculation = lCalc
> End Sub
>
> Wassalam,
> Kid.
>
> 2012/6/23 <yusajing_ehm@yahoo.com >
>
>> Dear All Pakar Excel,
>>
>> Saya sedang membuat coding macro, akan tetapi saya menemukan kesulitan
>> ketika harus meng copy lebih dari 1 sheet secara bersamaan. Ketika saya
>> rekam macro hasilnya keluar seperti berikut :
>>
>> Sheets(array("Sheet1", "Sheet2", "Sheet3") ).copy
>>
>> Masalahnya adalah jumlah sheets yg ingin saya copy jumlah dan namanya
>> tidak tetap akan tetapi indexnya yang sama yaitu sheets dengan index 5
>> sampai sheets terakhir. Saya coba dengan menggunakan index dngn coding
>> sebagai berikut
>>
>> Sheets(array(1,2,3)).copy
>>
>> Ternyata bisa jika diganti index.
>> Jd saya buat codingnya seperti berikut :
>>
>> For x=5 to sheets.count
>>
>> Array ????
>>
>> Next
>>
>> Sheets(array???).copy
>>
>> End sub
>>
>> Pertanyaan saya adalah, bagaimana membuat arraynya agar flexibel ?
>>
>> Mohon pencerahannya.
>>
>> Terimakasih
>>
>> Best regards
>> Powered by Telkomsel BlackBerry�
>>
>> --------------------- --------- ------
>>
>> --------------------- --------- --------- --------- --------- -
>> 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@yahoogroup s.com
>>
>> keluar dari membership milis (UnSubscribe):
>> kirim mail kosong ke belajar-excel-unsubscribe@ yahoogroups. com
>> --------------------- --------- --------- --------- --------- -Yahoo!
>> Groups Links
>>
>>
>>
>>
>
>
- 8e.
-
Re: Multiple CopySheets dengan VBA Macro
Posted by: "hendrik karnadi" hendrikkarnadi@yahoo.com hendrikkarnadi
Sat Jun 23, 2012 10:20 am (PDT)
Sambil menunngu Mr. Kid, barangkali code ini bisa membantu:Sub tesSimpan()
On Error GoTo Pesan
DirSimpan = InputBox("Masukkan Dir\SubDir\ Anda", "DIREKTORI - AKHIRI dengan TANDA \")
If Right(DirSimpan, 1) <> "\" Then GoTo Pesan
ActiveWorkbook.SaveAs DirSimpan & ActiveWorkbook. Name
Exit Sub
Pesan:
MsgBox "DIREKTORY " & DirSimpan & " TIDAK BENAR", vbCritical, "PESAN KESALAHAN"
End Sub
Selamat mencoba.
Salam,
Hendrik Karnadi
_____________________ _________ __
From: "yusajing_ehm@yahoo.com " <yusajing_ehm@yahoo.com >
To: Belajar Excel Grups <belajar-excel@yahoogroups. >com
Sent: Saturday, 23 June 2012, 21:48
Subject: Re: [belajar-excel] Multiple CopySheets dengan VBA Macro
Wow, excelence Mr. Kid,
Thank you very much,
But I have one more question Mr.Kid..
Saya membuat coding macro utk menyimpan seperti berikut :
Activeworkbook.Save
Dan dengan coding seperti ini macro akan langsung save di mydocument. Kondisi yang diinginkan adalah seperti halnya ketika kita men-save workbook akan memilih lokasi penyimpanan dngn memunculkan suatu exploredialog.
Ini agar user dapat memilih lokasi penyimpanannya sendiri.
Bagaimana ya ?
Mohon Pencerahannya..
Powered by Telkomsel BlackBerry®
_____________________ _________ __
From: "Kid Mr." <mr.nmkid@gmail.com >
Sender: belajar-excel@yahoogroups. com
Date: Sat, 23 Jun 2012 19:23:51 +0700
To: <belajar-excel@yahoogroups. >com
ReplyTo: belajar-excel@yahoogroups. com
Subject: Re: [belajar-excel] Multiple CopySheets dengan VBA Macro
Coba simak dongeng dalam prosedur berikut :
Public Sub CobaSusunArrayNamaSheet()
Dim sht As Worksheet
Dim sShtName() As String
Dim lShtIdx As Long
Dim lCalc As Long
lCalc = Application.Calculation 'simpan setting kalkulasi excel yang sedang digunakan
Application.Calculation = xlCalculationManual 'contoh set kalkulasi excel dalam mode manual
ReDim sShtName(1 To Sheets.Count) As String
'dengan loop per object sheet memanfaatkan for each
lShtIdx = 0
For Each sht In ThisWorkbook.Worksheets
lShtIdx = lShtIdx + 1
sShtName(lShtIdx) = sht.Name 'masukkan nama sheet ke array shtname
'sht.Copy 'copy sheet yang sedang diproses (silakan tentukan kemana akan di-paste)
Next sht
'tes multiple select semua sheet, ganti select dengan copy jika akan copy langsung semua sheet dalam array
'meskipun sebenarnya copy sheet bisa dilakukan saat loop semua sheet untuk menyusun array nama sheet
Sheets(sShtName()).Select
'contoh pemakaian methods calculate
Application.Calculate 'perintahkan excel untuk mengkalkulasi aplikasi
Sheets(1).Calculate 'perintahkan untuk kalkulasi sheet dengan index 1 saja
Sheets(1).Range("a2:g78,k34: m34").Calculate 'perintahkan untuk kalkulasi range tertentu di sheet berindex 1
'kembali ke array sheet
'susun array nama sheet dengan loop per object sheet memanfaatkan for terhadap index sheet
For lShtIdx = 1 To Sheets.Count
sShtName(lShtIdx) = Sheets(lShtIdx).Name 'masukkan nama sheet ke array shtname
'sht.Copy 'copy sheet yang sedang diproses (silakan tentukan kemana akan di-paste)
Next lShtIdx
'tes multiple select semua sheet, ganti select dengan copy jika akan copy langsung semua sheet dalam array
'meskipun sebenarnya copy sheet bisa dilakukan saat loop semua sheet untuk menyusun array nama sheet
Sheets(sShtName()).Select
Application.Calculation = xlCalculationAutoma tic 'pasksa mode kalkulasi excel jadi automatic
'kayanya lebih enak dikembalikan ke selera user saat sebelum proses ini dijalankan
'jadi kembalikan mode kalkulasi ke mode yang disimpan dalam variabel lcalc tadi
Application.Calculation = lCalc
End Sub
Wassalam,
Kid.
2012/6/23 <yusajing_ehm@yahoo.com >
Dear All Pakar Excel,
>
>Saya sedang membuat coding macro, akan tetapi saya menemukan kesulitan ketika harus meng copy lebih dari 1 sheet secara bersamaan. Ketika saya rekam macro hasilnya keluar seperti berikut :
>
>Sheets(array("Sheet1", "Sheet2", "Sheet3") ).copy
>
>Masalahnya adalah jumlah sheets yg ingin saya copy jumlah dan namanya tidak tetap akan tetapi indexnya yang sama yaitu sheets dengan index 5 sampai sheets terakhir. Saya coba dengan menggunakan index dngn coding sebagai berikut
>
>Sheets(array(1,2,3)).copy
>
>Ternyata bisa jika diganti index.
>Jd saya buat codingnya seperti berikut :
>
>For x=5 to sheets.count
>
>Array ????
>
>Next
>
>Sheets(array???).copy
>
>End sub
>
>Pertanyaan saya adalah, bagaimana membuat arraynya agar flexibel ?
>
>Mohon pencerahannya.
>
>Terimakasih
>
>Best regards
>Powered by Telkomsel BlackBerry®
>
>-------------------- --------- -------
>
>-------------------- --------- --------- --------- --------- --
>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@yahoogroup s.com
>
>keluar dari membership milis (UnSubscribe):
>kirim mail kosong ke belajar-excel-unsubscribe@ yahoogroups. com
>-------------------- --------- --------- --------- --------- --Yahoo! Groups Links
>
>
>
>
- 8f.
-
Re: Multiple CopySheets dengan VBA Macro
Posted by: "yusajing_ehm@yahoo.com" yusajing_ehm@yahoo.com yusajing_ehm
Sat Jun 23, 2012 11:10 am (PDT)
Wahh.. Thx yaa Mr.Kid..
Powered by Telkomsel BlackBerry�
-----Original Message-----
From: "Kid Mr." <mr.nmkid@gmail.com >
Sender: belajar-excel@yahoogroups. com
Date: Sun, 24 Jun 2012 00:07:09
To: <belajar-excel@yahoogroups. >com
Reply-To: belajar-excel@yahoogroups. com
Subject: Re: [belajar-excel] Multiple CopySheets dengan VBA Macro
Yang ini dongeng tengah malam supaya mimpi indah...
Hati-hati dalam menghayati isi ceritanya, kalau salah tangkap, cerita indah
ini bisa jadi cerita yang menyeramkan... iiiih ngeri...
Public Sub BeberapaCaraSavePilihLokasi( )
Dim bSaveAs As Boolean
Dim sFile As String
*'untuk mencoba prosedur ini, pastikan menunjuk folder yang sama
disetiap dialog**
'dan beri nama khusus setiap dialog yang muncul*
'kegiatan pertama dengan dialog pertama
Application.Dialogs(xlDialog SaveAs).Show 'akan langsung save begitu
di ok dan ada nama file
'kegiatan kedua dengan dialog kedua
'untuk beri pesan tentang file tersave atau tidak, simpan return value
dari dialog
If Application.Dialogs(xlDialog SaveAs).Show Then
MsgBox "Saved"
Else
MsgBox "Cancel"
End If
'kegiatan ketiga tanpa dialog
'simpan dan sudah tahu nama tujuan
'tidak muncul dialog dan nama file adalah salinan.xlsm
ThisWorkbook.SaveAs ThisWorkbook. Path & "\salinan.xlsm"
'kegiatan keempat tanpa dialog
'tidak muncul dialog dan nama file adalah salinan_no_vba.xlsx
ThisWorkbook.SaveCopyAs ThisWorkbook. Path & "\salinan_no_ vba.xlsx"
'kegiatan kelima dengan dialog ketiga
'mode buat salinan dengan minta inputan nama filenya dan file aktif
tetap aktif
'(kegiatan dengan method workbook savecopyas)
'minta inputan nama file dengan method getsaveasfilename
'hasil inputan : fullfilename [ada inputan dan tekan save] atau teks
'False' [cancel]
'karena buat salinan, maka hati-hati dengan file filter
'misal dari xlsm jadi xlsx berarti file salinan tidak ada vba dan
format mungkin agak berbeda
'btw, cara susun multi ekstensi dalam 1 kriteria (yaitu kriteria 'xl
salinan') seperti contoh berikut
sFile = Application.GetSaveAsFilenam e(filefilter: ="xl salinan (*.xlsx;
*.xls),*.xlsx;*.xls")
If sFile <> "False" Then
ThisWorkbook.SaveCopyAs sFile
MsgBox "Data dalam file telah disalin ke :" & vbCrLf & sFile
Else
MsgBox "Cancel"
End If
'kegiatan keenam dengan dialog keempat
'mode save jadi nama lain dan hasil save tersebut yang aktif (kegiatan
dengan method workbook save as)
'tetap minta inputan dengan getsaveasfilename
'cara susun filter multi kriteria (umumnya untuk save, 1 ekstensi
setiap 1 kriteria) seperti contoh
sFile = Application.GetSaveAsFilenam e( _
filefilter:="xl with vba (*.xlsm),*.xlsm, xl binary
(*.xlsb),*.xlsb,xl 2003 kebawah (*.xls),*.xls" _
)
Select Case Right$(sFile, 1)
Case "m"
ThisWorkbook.SaveAs sFile, 52 'file format Excel12
Case "b"
ThisWorkbook.SaveAs sFile, 50 'file format MacroEnable
Case "s"
ThisWorkbook.SaveAs sFile, 56 'file format Excel8
Case Else
MsgBox "Cancel"
Exit Sub
End Select
MsgBox "Save As :" & vbCrLf & sFile
'fyi
'fungsi minta inputan file untuk open (GetOpenFilename)
'filter file bisa multi kriteria yang masing-masing kriteria berisi
multi ekstensi
'coba lihat perbedaan antara menu File -> Open dengan menu File -> Save
As
End Sub
Wassalam,
Kid.
2012/6/23 <yusajing_ehm@yahoo.com >
> **
>
>
> ** Wow, excelence Mr. Kid,
> Thank you very much,
>
> But I have one more question Mr.Kid..
>
> Saya membuat coding macro utk menyimpan seperti berikut :
>
> Activeworkbook.Save
>
> Dan dengan coding seperti ini macro akan langsung save di mydocument.
> Kondisi yang diinginkan adalah seperti halnya ketika kita men-save workbook
> akan memilih lokasi penyimpanan dngn memunculkan suatu exploredialog.
>
> Ini agar user dapat memilih lokasi penyimpanannya sendiri.
>
> Bagaimana ya ?
> Mohon Pencerahannya..
> Powered by Telkomsel BlackBerry�
> --------------------- ---------
> *From: * "Kid Mr." <mr.nmkid@gmail.com >
> *Sender: * belajar-excel@yahoogroups. com
> *Date: *Sat, 23 Jun 2012 19:23:51 +0700
> *To: *<belajar-excel@yahoogroups. >com
> *ReplyTo: * belajar-excel@yahoogroups. com
> *Subject: *Re: [belajar-excel] Multiple CopySheets dengan VBA Macro
>
>
>
> Coba simak dongeng dalam prosedur berikut :
>
> Public Sub CobaSusunArrayNamaSheet()
> Dim sht As Worksheet
> Dim sShtName() As String
> Dim lShtIdx As Long
> Dim lCalc As Long
>
> lCalc = Application.Calculation 'simpan setting
> kalkulasi excel yang sedang digunakan
> Application.Calculation = xlCalculationManual 'contoh
> set kalkulasi excel dalam mode manual
>
> ReDim sShtName(1 To Sheets.Count) As String
>
> 'dengan loop per object sheet memanfaatkan for each
> lShtIdx = 0
> For Each sht In ThisWorkbook.Worksheets
> lShtIdx = lShtIdx + 1
> sShtName(lShtIdx) = sht.Name 'masukkan nama sheet ke array
> shtname
>
> 'sht.Copy 'copy sheet yang sedang diproses
> (silakan tentukan kemana akan di-paste)
> Next sht
>
> 'tes multiple select semua sheet, ganti select dengan copy jika akan
> copy langsung semua sheet dalam array
> 'meskipun sebenarnya copy sheet bisa dilakukan saat loop semua sheet
> untuk menyusun array nama sheet
> Sheets(sShtName()).Select
>
> 'contoh pemakaian methods calculate
> Application.Calculate 'perintahkan excel untuk
> mengkalkulasi aplikasi
> Sheets(1).Calculate 'perintahkan untuk kalkulasi
> sheet dengan index 1 saja
> Sheets(1).Range("a2:g78,k34: m34").Calculate 'perintahkan untuk
> kalkulasi range tertentu di sheet berindex 1
>
> 'kembali ke array sheet
> 'susun array nama sheet dengan loop per object sheet memanfaatkan for
> terhadap index sheet
> For lShtIdx = 1 To Sheets.Count
> sShtName(lShtIdx) = Sheets(lShtIdx).Name 'masukkan nama
> sheet ke array shtname
>
> 'sht.Copy 'copy sheet yang sedang diproses
> (silakan tentukan kemana akan di-paste)
> Next lShtIdx
>
> 'tes multiple select semua sheet, ganti select dengan copy jika akan
> copy langsung semua sheet dalam array
> 'meskipun sebenarnya copy sheet bisa dilakukan saat loop semua sheet
> untuk menyusun array nama sheet
> Sheets(sShtName()).Select
>
> Application.Calculation = xlCalculationAutoma tic 'pasksa mode
> kalkulasi excel jadi automatic
>
> 'kayanya lebih enak dikembalikan ke selera user saat sebelum proses
> ini dijalankan
> 'jadi kembalikan mode kalkulasi ke mode yang disimpan dalam variabel
> lcalc tadi
> Application.Calculation = lCalc
> End Sub
>
> Wassalam,
> Kid.
>
> 2012/6/23 <yusajing_ehm@yahoo.com >
>
>> Dear All Pakar Excel,
>>
>> Saya sedang membuat coding macro, akan tetapi saya menemukan kesulitan
>> ketika harus meng copy lebih dari 1 sheet secara bersamaan. Ketika saya
>> rekam macro hasilnya keluar seperti berikut :
>>
>> Sheets(array("Sheet1", "Sheet2", "Sheet3") ).copy
>>
>> Masalahnya adalah jumlah sheets yg ingin saya copy jumlah dan namanya
>> tidak tetap akan tetapi indexnya yang sama yaitu sheets dengan index 5
>> sampai sheets terakhir. Saya coba dengan menggunakan index dngn coding
>> sebagai berikut
>>
>> Sheets(array(1,2,3)).copy
>>
>> Ternyata bisa jika diganti index.
>> Jd saya buat codingnya seperti berikut :
>>
>> For x=5 to sheets.count
>>
>> Array ????
>>
>> Next
>>
>> Sheets(array???).copy
>>
>> End sub
>>
>> Pertanyaan saya adalah, bagaimana membuat arraynya agar flexibel ?
>>
>> Mohon pencerahannya.
>>
>> Terimakasih
>>
>> Best regards
>> Powered by Telkomsel BlackBerry�
>>
>> --------------------- --------- ------
>>
>> --------------------- --------- --------- --------- --------- -
>> 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@yahoogroup s.com
>>
>> keluar dari membership milis (UnSubscribe):
>> kirim mail kosong ke belajar-excel-unsubscribe@ yahoogroups. com
>> --------------------- --------- --------- --------- --------- -Yahoo!
>> Groups Links
>>
>>
>>
>>
>
>
- 9a.
-
Calculate Manual
Posted by: "yusajing_ehm@yahoo.com" yusajing_ehm@yahoo.com yusajing_ehm
Sat Jun 23, 2012 5:00 am (PDT)
Dear All Pakar Excel,
Saya sedang membuat coding macro dan saya menggunakan event workbook_open dan event workbook_beforeclose
Saya ingin ketika workbook di buka calculationnya jadi manual sehingga saya menggunakan coding berikut :
Application.calculate = xlmanual
Dan ketika tertutup menjadi otomatis kembali :
Application.calculate = xlautomatic
Akan tetapi tidak bisa, permasalahannya ada "calculate" tidak tersedia fungsi trsebut, padahal hasil rekam saya keluarnya itu..
Mohon Pencerahannya,
Terimakasih.
Powered by Telkomsel BlackBerry� - 9b.
-
Re: Calculate Manual
Posted by: "Kid Mr." mr.nmkid@gmail.com nmkid.family@ymail.com
Sat Jun 23, 2012 5:08 am (PDT)
Dari arti kata dalam bahasa inggeris, calculate adalah kata kerja. Di VBA,
calculate adalah sebuah method (fungsi) untuk melakukan sesuai yaotu
melakukan kalkulasi. Icon dalam intellisense yang muncul ketika mengetik
karakter titik setelah application.
Andai yang dimaksud adalah menge-set suatu keadaan agar proses kalkulasi
dilakukan secara manual, maka yang dibutuhkan adalah sebuah properti (bukan
method). Dalam bahasa inggeris, keadaan calculate biasanya diungkapkan
dengan calculation. Di VBA ada properti calculation.
Coba :
Application.calculation = xlcalculationmanual
Kid.
2012/6/23 <yusajing_ehm@yahoo.com >
> Dear All Pakar Excel,
>
> Saya sedang membuat coding macro dan saya menggunakan event workbook_open
> dan event workbook_beforeclose
>
> Saya ingin ketika workbook di buka calculationnya jadi manual sehingga
> saya menggunakan coding berikut :
>
> Application.calculate = xlmanual
>
> Dan ketika tertutup menjadi otomatis kembali :
>
> Application.calculate = xlautomatic
>
> Akan tetapi tidak bisa, permasalahannya ada "calculate" tidak tersedia
> fungsi trsebut, padahal hasil rekam saya keluarnya itu..
>
> Mohon Pencerahannya,
>
> Terimakasih.
> Powered by Telkomsel BlackBerry®
>
> --------------------- --------- ------
>
> --------------------- --------- --------- --------- --------- -
> 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@yahoogroup s.com
>
> keluar dari membership milis (UnSubscribe):
> kirim mail kosong ke belajar-excel-unsubscribe@ yahoogroups. com
> --------------------- --------- --------- --------- --------- -Yahoo!
> Groups Links
>
>
>
>
- 10a.
-
Re: sort data
Posted by: "hendrik karnadi" hendrikkarnadi@yahoo.com hendrikkarnadi
Sat Jun 23, 2012 10:45 am (PDT)
Gunakan Event WorkSheet_Change pada kolom kedua.
Tulis Code ini pada VBA Project Sheet1(Akun) pada bagian (tempat) menulis Code Macro
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range
If Target.Column = 2 And Target.Count = 1 Then
Set Rng = Range("A1").CurrentRegion
Rng.Sort Key1:=Range("A1"), Order1:=xlAscending , Header:=xlYes
End If
End Sub
Contoh file terlampir.
Salam,
Hendrik Karnadi
_____________________ _________ __
From: Purnomo Sidi <pysa_2605@yahoo.com >
To: belajar Excel <belajar-excel@yahoogroups. >com
Sent: Saturday, 23 June 2012, 8:14
Subject: [belajar-excel] Re: sort data
BeExcel mohon bantuannya nih
saya memiliki data yang data tersebut dapat bertambah. saya mohon bantuannya bagaimana caranya agar data yang saya entry tersebut dapat ter-Sort secara otomatis (berurutan sesuai dengan nomornya). untuk lebih jelasnya saya lampirkan data tersebut
terima kasih
PYSA_2605
Need to Reply?
Click one of the "Reply" links to respond to a specific message in the Daily Digest.
---------------------------------------------------------------------
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
---------------------------------------------------------------------
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
---------------------------------------------------------------------
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Individual | Switch format to Traditional
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe
Tidak ada komentar:
Posting Komentar