Tecnologia, programação e muito Visual FoxPro.

sábado, 28 de agosto de 2010

Re: ]] XL-mania [[ input di satu cell, hasilnya dapat lebih dari satu cell

 

Jawaban pada posting sebelumnya mungkin tidak terlalu sesuai dgn permintaan

(seharusnya: Input di A1; Output di Kolom C mulali C1 ke bawah)

Berikut ini jika seandainya dikehendaki:
Input    di SHEET1: Cell A1 
Output  di SHEET2: Cell C1 ke bawah

Private Sub Worksheet_Change(ByVal Target As Range)
   Dim Tujuan As Range
   Dim R As Long
   Set Tujuan = Sheet2.Cells(1, 3)
   If Target.Address = "$A$1" Then
      R = WorksheetFunction.CountA(Tujuan.EntireColumn) + 1
      Tujuan(R, 1) = Target.Value
   End If
End Sub


Dibandingkan dgn makro sebelumnya; disini R (=Row Index dari Cell Kosong Pertama)
di area OUTPUT tidak diCARI dengan Looping  DO - LOOP, tetapi cukup meminjam
fungsi COUNTA dari worksheet, makanya coding jadi memendek drastis.
Itu pun kalau mau berpanjang-panjang (agar coding masih mudah difahami untuk belajar)..

Percaya ndak percaya, coding 9 baris tsb masih dapat diringkas lagi menjadi hanya
3 baris (sudah termasuk Pembuka & Penutup Prosedur), seperti ini

Private Sub Worksheet_Change(ByVal Target As Range)
   If Target.Address = "$A$1" Then Sheet2.Range("C1") _
       (WorksheetFunction.CountA(Sheet2.Range("C:C")) + 1, 1) = Target.Value
End Sub


~siti~


2010/8/28 STDEV(i) <setiyowati.devi@gmail.com>
jelas bahwa di C2 (dan Cells di bawahnya) pasti bukan FORMULA  =C1
karena jika C1 di isi LAGI dengan data lain, C2 DILARANG merujuk seperti C1
padahal itulah BUNYI formulanya (kalau harus berisi Formula  "=C1")

menurutku kerjaan seperti ini seperti memperlakukan C1 sebagai FORM INPUT DATA
truss... C2 dan cells dibawahnya : walaupun hanya satu kolom boleh dikatakan sebagai 
TABEL penampung INPUT

so, biasanya "yg beginian" ini perlu dibantu makro kecil.. yg sebenarnya di milis 
sudah banyak contohnya.

Private Sub Worksheet_Change(ByVal C1 As Range)
   'siti Vi // 28 aug 2010 // for XL-mania
   Dim R As Long
   R = 2
   If C1.Cells.Count = 1 Then
      If C1.Address = Cells(1, 3).Address Then
         If Len(C1) > 0 Then
            Do While Len(Cells(R, 3).Value) > 0
               R = R + 1
            Loop
         Else
            Exit Sub
         End If
         Cells(R, 3) = C1
      End If
   End If
End Sub



2010/8/28 Ary <ary_12282@yahoo.com>
> Dear master excel yg budiman
> saya mempunyai kendala di excel..mohon untuk pencerahannya
> kasus :
> misal di kita input data di cell A1, adalah angka 10, kemudian hasil dari inputan tsb akan muncul di cell C1 ( angka 10 ), 
> tetapi saat kita input kembali di cell A1 angka 12 hasil inputan akan otomatis muncul di cell C2 ( angka 12 ), 
> tetapi angka 10 di cell C1 tidak berubah. dan bila kita input lagi di cell A1 angka 14 akan muncul angka 14, 
> dengan tidak merubah kondisi cell di atasnya.
> terima kasih atas bantuannya, dan mohon maaf atas kalimat yang membingungkan
> regards
> ary

__._,_.___
Recent Activity:
+-:: XL-mania ::::::::::::::::::::----------------------------------+
| oooppsss... 216 e-mails di folder sp4m kepencet [delete] :(       |
| http://www.facebook.com/group.php?gid=37671048001&ref=mf          |
+-------------------------------------------------------------------+
| DILARANG : MLM, money game, OOT, iklan tanpa izin, SARA, testing, |
| pembicaraan pribadi, one line message,  melecehkan,  tidak sopan. |
+-------------------------------------------------------------------+
| Buat subjek yang kreatif, jangan : "tanya", "help", "mohon bantu" |
| Usahakan besar attachment < 200 kb. Gunakan  winzip  jika  perlu. |
+-------------------------------------------------------------------+
| Ajak teman-teman Anda bergabung dengan mengirim e-mail kosong ke  |
| XL-mania-subscribe@yahoogroups.com atau kirimkan mereka file dari |
| http://groups.yahoo.com/group/XL-mania/files/Promotion/           |
+-------------------------------------------------------------------+
| Berikan testimoni di : http://www.friendster.com/xlmania atau...  |
| http://www.xl-mania.com/2008/06/testimoni-xl-mania.html           |
+-------------------------------------------------------------------+
| Message lama ada di :                                             |
| http://groups.yahoo.com/group/XL-mania/messages [perlu yahoo id]  |
| http://www.mail-archive.com/xl-mania@yahoogroups.com              |
+-------------------------------------------------------------------+
.

__,_._,___

Nenhum comentário:

Arquivo do blog