Hai Archi,

Di area input kan ada formulanya. Nah... cell yang diisi formula itu kan
udah gak blank lagi. Formula yang hasilnya "" artinya menulis NULLSTRING.
Tetap saja si cell sudah ndak blank.

Jadi ketika di-copy ke database, cell yang begituan (berisi "" hasil
formula) memang akan tampak blank bagi manusia. Tapi buat komputer itu gak
blank. Akhirnya manusia melihatnya diproses input berikutnya ada lompatan.
Padahal ndak ada yang melompat-lompat didatabase. Script untuk proses
penulisannya ke database juga berjalan dengan baik.

Kalo yang dipengenken adalah di database ndak ada baris yang kelihatan
seperti blank itu, ada beberapa kondisi cara input yang sepertinya pantas
untuk diperhatikan. Kira-kira gini :
1. kalau inputnya pasti urut terus alias gak bakal lompat baris
    berarti yang diper halus adalah bagian yang bertugas memilih baris yang
akan di-copy. Dalam script yang ada, baris ini berbunyi :
         Range("B10:J18").Select
    bisa diubah menjadi :
         'di kolom D dari B10:B18, pilih cell yang berisi formula dan
menghasilkan tipe data numeric, lalu diperluas jadi 9 kolom, di-select
         'kalo manual di worksheetnya, blok B10:B18, CTRL G, Special, pilih
Formulas, hilangkan centang kecuali Numbers, OK,
         'tekan tombol SHIFT terus menerus lalu klik kolom J di baris
terakhir yang terblok di kolom B nya.

range("b10:b18").specialcells(xlcelltypeformulas,xlnumbers).resize(,9).select

2. kalau inputnya boleh lompat baris sesukanya
    berarti :
       cara1 : bisa pakai loop untuk kolom B nya yang ada isinya saja yang
disalin ke database
                    berarti semua baris script kecuali baris
Range("B10:J18").Select dimasukkan ke blok loop menjadi :
                     dim rng as range
                     for each rng in range("b10:b18")
                              if len(rng.value)<>0 then
                                    rng.resize(1,9).select
                                   Selection.Copy
                                   Sheets("Database").Select
                                   Range("A2").Select
                                    Selection.End(xlDown).Select
                                    ActiveCell.Offset(1,
0).Range("A1").Select
                                    Selection.PasteSpecial
Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                                                      :=False,
Transpose:=False
                                    Range("A2").Select
                            end if
                     next rng

         cara2 : proses input apa adanya, tapi di database (usai paste
special) ada acara bersih-bersih dari yang terkesan blank di kolom A nya
                    jadi setelah baris paste special sebelum select range
A2 diberi kode :
                         on error resume next

activecell.resize(100,1).specialcells(xlcelltypeconstants,xltextvalues).entirerow.delete
                         err.clear
                         on error goto 0

Script hasil record macro bisa disederhanakan.

Wassalam,
Kid.




2013/10/4 <[email protected]>

> **
>
>
> hiii para guru excel,
>
> saya sangat senang bias ikut gabung group belajar exel ini,
>
> dengan group ini saya sangat terbantu dalam menyelesaikan masalah dalam
> excel.
>
> ada yang ingin saya tanyakan
>
>
>
> rumus macro yang saya buat
>
>
>
> Macro6 macro
>
>
>
> Range("B10:J18").Select
>     Selection.Copy
>     Sheets("Database").Select
>     Range("A2").Select
>     Selection.End(xlDown).Select
>     ActiveCell.Offset(1, 0).Range("A1").Select
>     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
> SkipBlanks _
>         :=False, Transpose:=False
>     Range("A2").Select
>
> end sub
>
>
>
> permasalahan yang keluar,
>
> saat saya menginput data selantjutnya
>
> di sheet "database" pada kolom A (tgl) terbaca filter blank
>
> sedangkan yang saya inginkan ada dibawah tgl terakhir yang ada data.
>
> apakah ada solusinya.
>
>
>
>
>
> thanks
>
>
>
>  
>

Kirim email ke