maaf pak adhiyos,
ini kayaknya skoring untuk WorldCup nanti ? bukan
ya ?
saya menduga :
pemindahan data tsb akan terjadi tidak
hanya satu kali, tetapi mungkin 3 kali,
karena di tabel rekap tersedia 3 rows.
jadi, masih dugaan pula,
setiap akan memindahkan data kita harus tahu dulu, dituliskannya pada tabelRekap di Row nomor berapa ?
Jangan sampai menimpa data yg sudah ada,
bukan?
Untuk itu kita perlu memeriksa di
tabelRekap, khususnya cell W6, W7 dan W8 tempat akan dipindahkannya data kolom 1.
Kalau W6 kosong, disitulah data mulai ditulis,
Kalau W6 ada datanya, pemeriksaan dilanjutkan ke
W7
Kalau W7 kosong, disitulah data mulai dituliskan,
Kalau W7 ada datanya,
pemeriksaan dilanjutkan ke W8
kalau W8 ternyata sudah ada datanya, seharusnya,
maksud pemindahan
dibatalkan.
Pekerjaan ini, di macro dapat ditulis dengan suatu
Looping, misalnya dengan statement For-Next
dengan penghitung 1 s/d 3 Sedangkan di dalam
Looping di ajukan logical test : If
ActiveCell = ""
Pada saat pemeriksaan cell berakhir, maka
cellPointer akan berhenti pada cell kosong.
Cell yg sedang ditempati cell-Pointer disebut
sebagai ActiveCell.
Jadi untuk memindahkan data di Tabel-1 / cell
P9:S9, kita tuliskan saja data tsb pada
ActiveCell, pada kolom relatif 0, 1, 2 dan 3 (4
kolom).
Makro lengkapnya kira-kira akan seperti
ini:
Sub pindah()
Dim i As Integer Sheet1.Select Range("W6").Select For i = 1 To 3 If ActiveCell = "" Then Exit For End If ActiveCell.Offset(1, 0).Select Next i If i = 4 Then Exit Sub ActiveCell.Offset(0, 0) = Sheet1.Range("P9") ActiveCell.Offset(0, 1) = Sheet1.Range("Q9") ActiveCell.Offset(0, 2) = Sheet1.Range("R9") ActiveCell.Offset(0, 3) = Sheet1.Range("S9") End Sub catatan: kalau i sampai bernilai
4, berarti pemeriksaan di W8 tidak mampu menghentikan
macro,
yg dapat kita artikan: W8 bukan cell
kosong.
best regards,
siti Vi
|
Adhiyos_MacroPindah.xls
Description: MS-Excel spreadsheet