Re: [belajar-excel] Re: tanya coding pindah data?????

2017-09-22 Terurut Topik shenly_excelma...@yahoo.co.id [belajar-excel]
hahahahaha, mr.kid ini pintar bercanda ya, ampe ketawa2 sendiri saya.  

 terima kasih banyak jawabannya mr.kid. 
 

 salam
 Shenly ^,^*
 



Re: [belajar-excel] Re: tanya coding pindah data?????

2017-09-19 Terurut Topik 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]
Hai Shenly,

*Tentang :*

>  ada satu argumen yg susah untuk di masukn ke coding tersebut, seperti :
>
>   Sheets("Form").Select
> Rows("23:1500").Select
> Selection.Delete Shift:=xlUp
> Lebih baik :
> Sheets("form").range("a23:a1500").entirerow.delete xlshiftup
>
>  Rows("23:1500") tidak bisa ganti menjadi range("a23:a1500")
>

> Kalau mau delete seluruh baris, bisa dengan :
Sheets("form")*.rows("23:1500")*.delete xlshiftup
atau
Sheets("form")*.range("a23:a1500").entirerow*.delete xlshiftup
yang di-*bold* itu sama bendanya, jadi pasti kalau salah satu baris kode
bisa bekerja, maka baris kode yang satunya lagi juga bisa bekerja.
Dua baris kode di atas lebih baik dibanding :
Sheets("Form").Select
Rows("23:1500").Select
Selection.Delete Shift:=xlUp

Penggunaan *.range("a23:a1500").entirerow* bisa lebih fleksibel.
Contoh, ada range tabel yang diketahui header di A22 terus mau delete
seluruh area record-nya (header tetap utuh).
Bagaimana membuatnya menjadi *.Rows("blabla:blublu")*   ?
Lebih mudah dengan *.range("a21").currentregion.offset(1).entirerow*

Jadi, penggunaan object range lebih luwes dibanding object rows.


*Tentang :*

> karena saya menggunakan "Table"
>

> mungkin maksudnya object Excel Table ya...


*Tentang :*

> jadi ketika saya menggunakan range("a23:a1500") , otomatis excel tidak
> bisa mendelet, karena "Tabel" dan cell yg bukan termasuk kedalam tabel ikut
> ke range
>

> Ada sebuah Excel table (misal sampai baris Excel 300
> Yang ini : (sebut saja cara 1)
Sheets("Form").Select
Rows("23:1500").Select
Selection.Delete Shift:=xlUp
lebih buruk dari yang ini : (sebut saja cara 2)
Sheets("form")*.rows("23:1500")*.delete xlshiftup

> nah... yang ini : (yaitu cara 2)
   Sheets("form")*.rows("23:1500")*.delete xlshiftup
lebih kaku dibanding yang ini : (sebut saja cara 3)
   Sheets("form")*.range("a23:a1500").entirerow*.delete xlshiftup

> jadi, Cara 1 lebih baik ditinggalkan, pilihlah cara 2, tapi nanggung
banget kalau pakai cara 2, jadi sekalian pakai cara 3 sajah...

> Ketika bekerja dengan Object Excel Table, misal saja nama Excel Table-nya
adalah 'tblKid', dengan header mulai di A22 (artinya record pertama mulai
di A23)
untuk mengosongkan Excel Table bernama 'tblKid' tersebut bisa dengan
salah satu cara berikut :
sheets("form").range("tblKid").delete xlshiftup
atau
sheets("form").range("a23").currentregion.delete xlshiftup
atau
sheets("form").range("data").entirerow.delete xlshiftup  'yang
cara ini terlalu berlebihan, karena sebenarnya tidak perlu delete seluruh
baris Excel
atau
sheets("form").range("a23").currentregion.entirerow.delete
xlshiftup'jadi kelihatan bagian yang berlebihannya bukan ?
*** katanya : banyak jalan menuju roma


> Kalau delete area records dari object Excel Table, perlu mewaspadai
kondisi Excel Table yang sudah kosong
   Misal, Excel Table bernama 'tblKid' dalam keadaan kosong,
   maka *cara delete berikut ini SEMUANYA akan error* :
   Sheets("Form").Select
   Rows("23:1500").Select
   Selection.Delete Shift:=xlUp

atau
Sheets("form")*.rows("23:1500")*.delete xlshiftup

atau
   Sheets("form")*.range("a23:a1500").entirerow*.delete xlshiftup

atau
sheets("form").range("tblKid").delete xlshiftup

atau
sheets("form").range("a23").currentregion.delete xlshiftup

> Trus gimana dong ?
Kalau mau mengosongkan, isi saja dulu record pertama kolom pertama
dengan suatu nilai, baru di-delete, seperti :
 sheets("form").range("a23").value=0
 sheets("form").range("tblKid").delete xlshiftup

> Jadi, saya beneran gak mudeng dengan kalimat ini : 'otomatis excel tidak
bisa mendelet'
kalau Rows("23:1500")  diganti langsung dengan bunyi Range("a23:a1500")
tanpa diberi .entirerow, ya jelas gak bisa, karena dua barang itu berbeda.
kalau Rows("23:1500")  diganti dengan bunyi
Range("a23:a1500").entirerow pasti bisa kalau salah satunya bisa, karena
dua barang itu adalah sama.


*Tentang :*

> dikarenakan jumlah table bisa berubah-ubah, jadi sya kuci sampai rows
> 1500, karena data yg akan di input dalam "Table" ini tidak akan melebihi
> sampai row 1500
>

> Sila diatur sajah...
> Tapi
dengan :
sheets("form").range("tblKid").delete xlshiftup
atau
sheets("form").range("a23").currentregion.delete xlshiftup
sepertinya bisa ndak perlu repot-repot ngunci jumlah baris deh...
biarkan saja si user menggunakan baris Excel sesukanya...
toh sudah diikat dalam satu object Excel table bukan ?

> tapi ini cuma pendapat saya saja loh, karena saya males banget ngurusin
bates-batesan... emoh repot..
   dengan gak pakai bates-batesan baris, malah justru bisa kelihatan kaya
expert kan, user boleh sesukanya, script yang ada akan membereskannya...
   wakakaka...
   padahal script nya malah lebih sederhana dan gak usah banyak mikir dan
tidak bisa mewakili ke-expert-an
   ;)


*Tentang :*

> dan sebagai penjelasan tambahan.

[belajar-excel] Re: tanya coding pindah data????? [1 Attachment]

2017-09-19 Terurut Topik shenly_excelma...@yahoo.co.id [belajar-excel]
terimakasih Mr.kid , sangat menolong sekali, tapi ada satu argumen yg susah 
untuk di masukn ke coding tersebut, seperti : 
 

   Sheets("Form").Select
 Rows("23:1500").Select
 Selection.Delete Shift:=xlUp
 Lebih baik :
 Sheets("form").range("a23:a1500").entirerow.delete xlshiftup
 

  Rows("23:1500") tidak bisa ganti menjadi range("a23:a1500")
 

 karena saya menggunakan "Table" , dan "Table" ini ada hubungannya dengan 
pertanyaan sya, yg berjudul "Auto add&dell table" , dikarenakan jumlah table 
bisa berubah-ubah, jadi sya kuci sampai rows 1500, karena data yg akan di input 
dalam "Table" ini tidak akan melebihi sampai row 1500, 
 jadi ketika saya menggunakan range("a23:a1500") , otomatis excel tidak bisa 
mendelet, karena "Tabel" dan cell yg bukan termasuk kedalam tabel ikut ke range
 

 dan untuk posisi Sheet "form" dan Sheet "data"
 Sheet Form =  posisi dimana coding input ditempatkan
 Sheet Data =  sheet database, untuk menyimpan data yang di input
 

 jadi alurnya, sya mau memindahkan data dari TableForm yg disimpan di sheet 
"form" Ke sheet "data" .
 

 dan sebagai penjelasan tambahan.
 disini saya akan membuat file untuk input & penyimpanan data, tapi dengan Form 
yang berbentuk Table, dan Tabel ini bisa berubah ubah size nya. tergantung 
berpa byk data yg akan di input, 
 mungkin master pasti bertanya, 
 "kenapa tidak membuat [form] input saja?" 
  saya tidak membuat [form] input, karena sya belum mahir dalam penggunaan VBA 
, dan kasus lainnya, user terbiasa dengan cara input lgs pada Tabel database 
dan jika saya ganti cara inputnya dengan [form] maka ini akan menjadi kendala 
user , untuk menyesuaikan kembali cara dia input data, dan sya juga tidak bisa 
melakukan hal itu, dikarenakan transaksi di perusahaan sya lumayan byk. Jadi 
skrg sya mau merapikan cara mereka input, tapi tidak menghambat kinerja user.
 

 file sudah sya lampir kan mas hendrik. tpi skrg udah oke sih, 
 tapi jika mas hendrik ada tambahan. dengan senang hati sya terima 
 

 salam, shenly ^.^*
 



expl57.xlsm
Description: application/vnd.ms-excel.sheet.macroenabled.12