Tecnologia, programação e muito Visual FoxPro.

quarta-feira, 2 de fevereiro de 2011

Re: ]] XL-mania [[ Macro dari bawah ke atas...

 

makro ini mengcopy cell yg diselect (ke bawah ato ke atas)
tetapi jika cell yg dilewati ternyata berisi data; maka data di cell itulah
yang kemudian dicopy ke cell berikutnya... itulah gunanya variabel yg diberinama
CurrDat  (maksodnya = current data, gitu loch...)

mengcopy ke bawah ferlu kita beri batasan berapa baris yg akan diproses
agar kita tidak perlu secara sadistis menghentikan makro dengan Ctrl + Break
seperti contoh yg diajukan
(pembatasannya terpaksa TANYA DULU ke user melalui inputbox)

pertimbangannya: orang bermain data relatif di bagian atas worksheet
untuk ke bawahnya masih tersedia banyak baris, maka perlu dibatasi.

jika pun jumlah baris yg akan dilewati aksi pengkopyan data ternyata
menabrak dan masih akan melebihi baris terakhir (di excel 2003 = 65536)
saya kira kita lebih sopan kalau mengantisipasi dulu dengan trick kecil:
If i + n > Cells.Rows.Count Then n = Cells.Rows.Count - i

ekspresi Cells.Rows.Count  ini akan berbeda hasilnya jika diberlakukan di
XL 2007 vs di XL 2003 karena dia merujuk ke jumlah baris pada sebuah sheets.


sedangkan untuk mengkopy ke atas tidak perlu dibatasi; karena dimulainya
tentu di baris yg tidak terlalu jauh dari row 1
ya ndak ??

jika ternyata anda mengkopy ke atas tetapi mulainya dari baris terbawah,
ya maafkan diriku... atas "ke-belum-memberi-batasan-nya"..


'=================
Sub CopyKeAtas()

   ' siti Vi / 1 feb 2011
   ' sebelum makro dijalankan:
   ' cell-pointer ditempatkan di cell yg akan dicopy
   ' keyboard-short-cut = ctrl + shift + P
   '-------------------------------------------------
  
   Dim Currdat
   Dim r As Long, c As Integer
  
   Currdat = ActiveCell.Value
   c = ActiveCell.Column
     
   For r = ActiveCell.Row - 1 To 1 Step -1
      If Len(Cells(r, c)) = 0 Then
         Cells(r, c) = Currdat
      Else
         Currdat = Cells(r, c)
      End If
   Next
End Sub


Sub CopyKeBawah()
   ' siti Vi / 1 feb 2011
   ' sebelum makro dijalankan:
   ' cell-pointer ditempatkan di cell yg akan dicopy
   ' keyboard-short-cut = ctrl + shift + L
   '------------------------------------------------
   Dim Currdat
   Dim i As Long, n As Long, r As Long, c As Integer
  
   Currdat = ActiveCell.Value
   c = ActiveCell.Column
   i = ActiveCell.Row + 1
   n = Application.InputBox("Berapa baris copy yg diinginkan?", _
       "Mengcopy ke bawah", 200, , , , , 2) - 1

   If i + n > Cells.Rows.Count Then n = Cells.Rows.Count - i
      
   For r = i To i + n
      If Len(Cells(r, c)) = 0 Then
         Cells(r, c) = Currdat
      Else
         Currdat = Cells(r, c).Value
      End If
   Next

End Sub
'==============


2011/2/1 Dewanto Budiman <dewanto@falcon.co.id>
>  Dear Master exel....
>  Saya agak sedikit bingung nie bor/ sist....
>  biasanya    dalam   bekerja  saya  pakai  macro  exel  yang  ada  di
>  attachment
>  berikut untuk mengcopy tulisan dari atas ke bawah.
>  nah  sekarang  jika  copyannya  dari bawah ke atas menggunakan macro
>  berikut ada ga yah?
>  Terima kasih.
>  Mohon bantuannya yah master... :)
> Best regards,
>  Dewanto
> mailto:dewanto@falcon.co.id

__._,_.___
Recent Activity:
+-:: XL-mania ::::::::::::::::::::----------------------------------+
| "if you are the most valuable assets, you will show up on the     |
| balance sheet..." - oNo Wiqe                                      |
| 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