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
| "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:
Postar um comentário