Halo Mr. Kid

Untuk masalah no.1 saya yakin code berikut ini, yg saya buat salah

Public ICRT As Long, IPCS As Long

Public Function NILAITOTAL() As Long
  Set ICRT = 0
  Set IPCS = 0
  Do Until LISTVIEW1.ListItems.Count = 0
  LISTVIEW1.ListItems.Item.Text
  LISTVIEW1.ListItems.Item.SubItems (1)
  LISTVIEW1.ListItems.Item.SubItems (2)
  LISTVIEW1.ListItems.Item.SubItems (3)
  LISTVIEW1.ListItems.Item.SubItems (4)
  LISTVIEW1.ListItems.Item.SubItems (5)
ICRT = Sum(LISTVIEW1.ListItems.Item.SubItems(4).Value)
IPCS = Sum(LISTVIEW1.ListItems.Item.SubItems(4).Value)

Loop

yang no.2 masih bingung masalah loop dan penerapan code nya

Mohon pencerahannya, dibuatkan code contoh agar saya bisa memahai dan 
menerapakannya..
Terima kasih.

Ratri Risyanto

From: Mr. Kid
Sent: Thursday, March 06, 2014 4:42 AM
To: BeExcel
Subject: Re: [belajar-excel] Re: Mods: Menyimpan data ListView ke Excel



Hai Ratri,

1. di Excel, pakai formula Sum yang dimulai dari baris header sampai 1 baris 
sebelum baris total. Baris terakhir sebelum baris total dikorbankan sebagai 
dummy baris kosong.

>> coba pada excel worksheet bernama sj cell E14 diberi formula berbunyi =Sum( 
>> e8:e13 )

>> copy formula itu ke kolom F.

>> pastikan bahwa baris 13 adalah baris dummy agar Anda bisa melakukan insert 
>> baris baru pada baris 13, tetapi jangan pernah melakukan delete row di baris 
>> 13.


di VBA.

> buat variabel berscope public untuk total CRT bernama lCRT bertype Long 
> karena berasumsi CRT bilangan bulat dan maksimal 9 digit

> berarti deklarasi variabel diletakkan di area general declaration.

> lebih lengkap tentang datatype dan penulisan code di VBA bisa dilihat mulai 
> dari sini sampai disini.  (tidak ada dan belum menemukan adalah dua hal 
> berbeda)

> prosedur komputasi nilai total akan membuat variabel lCRT berisi nilai total.

> prosedur tersebut dipanggil setiap kali ada perubahan item dalam listview, 
> seperti ketika ada penambahan data (berarti pada akhir proses klik tombol 
> tambahkan ada proses penghitungan nilai total dan penulisan ke textbox 
> terkait), edit data, hapus data, dan pembukaan userform


2. jadi, pengisian item pilihan combobox dilakukan dengan cara me-loop seluruh 
data referensi yang didalamnya ada pemeriksaan kode atau nama si suplier. Jika 
sama dengan yang di-input, barulah dilakukan add item.


5. jika ingin insert baris,
> a. blok sebuah baris excel (ada disini). Misal dengan sheets("nama 
> sheet").range("a13").entirerow

> b. perluas (ada disini) jumlah baris sejumlah jumlah baris yang akan 
> di-insert. misal akan insert 17 baris, maka setelah entirerow diberi 
> .resize(17)

> c. lakukan insert alias menfaatkan methods Insert yang dimiliki object range. 
> Berarti menambahkan .Insert setelah .resize(17)

Angka 17 bisa diganti dengan variabel yang menunjukkan jumlah baris yang akan 
di-insert.


Dongengan tentang VBA ada di blog milis mulai dari sini.


Wassalam,

Kid.





2014-03-05 9:03 GMT+07:00 Ratri Risyanto <[email protected]>:


  Halo Mr. Kid

  Saya masih tidak faham jawaban no.1, 2, dan 4
  yang no.1 , apakah pakai datatype? kalau pakai itu di vba ms. excel kok tidak 
ada? dan penempatan variabel apakah saat crt / pcs change?
  yamg no.2 sudah browsing tapi masih tidak faham, soalnya kasusnya agak 
berbeda.
  yang no.5 jg tidak faham.
  terutama no.1 itu yang paling susah faham, Mohon maklum masih beginner....

  Terima kasih.


  Ratri Risyanto
  From: Mr. Kid
  Sent: Monday, March 03, 2014 3:03 PM
  To: BeExcel
  Subject: Re: [belajar-excel] Re: Mods: Menyimpan data ListView ke Excel


  Hai Ratri,


  gugur satu tumbuh seribu ya...

  1. di Excel, pakai formula Sum yang dimulai dari baris header sampai 1 baris 
sebelum baris total. Baris terakhir sebelum baris total dikorbankan sebagai 
dummy baris kosong.


  di UserForm, berikut alurnya :
  i. buat variabel (jumlah variabel disesuaikan dengan kebutuhan) berscope 
public sebagai penyimpan nilai total.

  ii. buat sebuah prosedur penghitung total yang didalamnya berisi proses :

      > a. set variabel total dengan 0

      > b. loop per item dalam listview jika ada item dalam listview

      > c. isi variabel total dengan penambahan nilai yang ada pada item 
listview yang sedang aktif ditunjuk oleh loop

      > d. selesai loop, tulis isi variabel total ke textbox yang membutuhkan



  2. coba jalan-jalan bertemu combobox yang ada disini.


  3. sebelum proses hapus, lakukan cek jumlah item dalam listview. Jika 
listview tidak ada itemnya, maka keluar dari prosedur. Properti yang dapat 
digunakan adalah ListItems. Properti listitems memiliki properti Count yang 
menunjukkan jumlah item dalam listview.


  4. buat alur proses pengubahan nilai di listview, mulai mengambil data dari 
item yang terpilih ke controls diluar listview. Kemudian siapkan tombol untuk 
simpan ke listview (menulis nilai hasil edit ke listview). Proses diakhiri 
dengan menjalankan event click milik simpan ke excel yang dibuat tempo lalu.


  5. alurnya adalah blok mulai 1 baris diatas baris total, perluas menjadi 
sebanyak baris tambahan yang dibutuhkan, lakukan insert row


  6. pada prosedur sub event click tombol print beri baris kode berikut :

  nama_object_userform_anda.hide

  sheets("nama sheetnya").range("area range yang akan diprint").printout    
'ganti printout jadi printpreview jika ingin preview dulu

  nama_object_userform_anda.show


  Wassalam,

  Kid.








  2014-03-03 1:01 GMT+07:00 Ratri Risyanto <[email protected]>:


    Dh,

    Terima kasih banyak tanggapan dan jawabannya Mr. Kid atas pertanyaan saya 
(yang banyak sekali..!!!)
    Sangat membantu sekali dan sudah saya terapkan, dan berhasil...!!!
    Kali ini saya mau tanya banyak lagi.. sbb:
    1. Bagaimana caranya memunculkan total CRT dan PCS (di tabel excel) secara 
otomatis saat penginputan, juga pada form, di textbox tot crt, dan tot pcs
    2.Bila saya merubah sistem input (yg mulanya dari prdcd) ke label cmbsup 
(nama supplier) dan mau saya ganti jd combobox (txsupco dan cmbsup
    bagaimana caranya agar saat saya input di cmbsup (sdh jd combobox) di 
cmbprdcd hanya muncul nama barang dari supplier tsb. (sesuai data di sheet 
prodmast)?
    3. Saat saya klik tombol “Hapus” pada saat listview kosong, muncul pesan 
error. bagaimana caranya agar tdk terjadi “pesan error” tsb? dan bisa 
memunculkan msgbox “data sudah kosong”
    4. Bila sistem input saya rubah lagi, bagaimana saat input data di listview 
tersimpan, data di excel juga bisa tersimpan? dan saat edit data di listview, 
data diexcel pun ter-edit juga?
    5. (baik pakai sistem input no.4 atau yg sudah ada) misal table input di 
sheet “SJ” dibuat minimal 5 row input (sesuai file attach) tapi saya mau input  
       lebih, misal 10  row, apa bisa table tsb bisa menambahkan row otomatis 
untuk kekurangannya, tanpa menghapus / menindih (replace) “total”, “pengirim”, 
dan “penerima”?
    6. terakhir... bagaimana cara memunculkan form print (ctrl+p) saat diklik 
tombol “print”.

    (file attachment)

    Demikian pertanyaan saya, mohon maaf bila pertanyaannya terlalu banyak, 
Saya tunggu tanggapan dan jawabanya, bila Mr. Kid atau para Master lainnya 
berkenan..
    Terima kasih banyak sekali lagi.. Salam para Master semuanya.

    Hs,

    Ratri Risyanto


    From: Mr. Kid
    Sent: Sunday, March 02, 2014 6:16 PM
    To: BeExcel
    Subject: Re: [belajar-excel] Re: Mods: Menyimpan data ListView ke Excel


    Hai Ratri,

    1. bagaimana membuat textbox no (textbox1) bisa memunculkan nomor urut 
otomatis saat penginputan

    >> pindahkan baris pengesetan textbox1 yang melalui event activate milik 
userform ke event initialize milik userform

    >> tambahkan pada event click tombol penyimpan ke listview dengan :

    textbox1.text=nama_listviewnya.listitems.count+1


    2. bagaimana caranya data di listview tersimpan di range ini, dengan 
menggunakan tombol "simpan  ke excel"?

    >> pada event click si tombol penyimpan beri baris kode :

    dim rng as range, lIdx as long, lCol as long

    set rng = sheets("nama sheetnya").range("alamat cell pertama penulisan")

    for lidx=1 to nama_listviewnya.listitems.count

       rng.cells(lidx,1).value=nama_listviewnya.listitems(lidx).text

       for lcol=1 to nama_listviewnya.listitems(lidx).listsubitems.count

           
rng.cells(lidx,lcol+1).value=nama_listviewnya.listitems(lidx).listsubitems(lcol)

       next lcol

    next lidx


    3. bagaimana bisa menghapus data (clear contents) di range biru otomatis 
tanpa menghapus range ungu

    >> letakkan baris kode berikut dalam prosedur yang membutuhkan

    dim lRec as long, rng as range, lCol as long


    set rng=sheets("nama sheetnya").range("alamat cell penulisan nomor pertama")

    lcol= 27 'ganti 27 dengan jumlah kolom dari area range yang akan dibersihkan

    lrec=application.worksheetfunction.count( rng.entirecolumn )

    if lrec>0 then

       rng.resize( lrec , lcol ).clearcontents

    endif


    Wassalam,
    Kid.





    On Sat, Mar 1, 2014 at 1:29 AM, Ratri Risyanto <[email protected]> wrote:




      From: Ratri Risyanto
      Sent: Friday, February 28, 2014 1:31 PM
      To: EXCEL GROUP
      Subject: SIMPAN DATA LISTVIEW KE EXCEL?

      Yth: All Masters Excel

      Bagaimana caranya menyimpan data listview ke excel? file terlampir...
      Mohon bantuannya...
      Terima kasih.

      Hk,

      Ratri Risyanto



Kirim email ke