hehehe.....

jadi ketika user klik tombol InputData adalah :

> 1. ketika di masukan periode peramalan, misal 10 maka yg terisi di kolom
> penjualan 10,
> maka x otomatis terisi juga dari 0 - 9
> trs isian ini semua otomatis tercopy di 3 sheets.
> tambhan u/ di sheet yg kedua ada input otomatis X^2
>
> Jadi yg terisi kolom d9,e9 di 3 sheets
> Dan f9 khusus di satu sheet
>
> 2. di form yg berbeda ada proses perhitungan forecast, dan errornya
>


(prosedur yang Anda kirim tempo lalu adalah event click meilik tombol
activex command button bernama InputData loh)

> Private Sub InputData_Click()



hmmm...
ya sudahlah... yuk kita coba buat.... eh yuk saya coba buatkan... lah kliru
lagi... yuk saya ketikkan Anda copas ken
1. user klik tombol inputdata
2. proses dimulai dengan cek, apakah user sudah mengisi periode peramalan
('1. ketika di masukan periode peramalan blabla..')
    > butuh variabel penyimpan nilai yang dimasukkan user dalam TxtPeriode
          dim sPrd as string
    > ambil nilai isian user dalam TxtPeriode
          sprd=TxtPeriode.text
    > cek :
          a. apakah ada isinya (bisa dihitung jumlah karakternya) ?
          b. isinya angka atau bukan ?
          c. kalau angka, lebih dari 0 gak ?
       ** kalau sampai 1 bijik saja dari syarat a,b,c itu kejadian, mending
gak usah kerja aja...
          if lenb( sprd ) = 0 then         'cek a.  -> loh... kok gak ngisi
apa-apa seh...
                  'user gak ngisi apa-apa, langsung keluar
                  exit sub
          elseif not isnumeric( sprd ) then     'cek b. -> e ladalah...
bukan angka to...
                  exit sub
          elseif clng( sprd ) < 1 then          'cek c   -> iki piye to...
jumlah record data kok gak nyampe 1 bijik loh...
                 exit sub
          endif           'selesai cek... siapa saja yang tidak kena
jebakan betmen di atas, berarti masih waras ngisi txtperiode nya

3. tulis isinya txtperiode di 3 sheet pada range a1 nya. Nama masing-masing
sheetnya adalah :
       a. Forecast Linier
       b. Forecast Eksponensial
       c. Forecast Kuadrat
     ** tahunya dari sini :

>          Sheets("Forecast Linier").Range("A1").Resize(lRow, 1).Copy
> Sheets("Forecast Kuadrat").Range("A1")
>
>       Sheets("Forecast Linier").Range("A1").Resize(lRow, 1).Copy
> Sheets("Forecast Eksponensial").Range("A1")
>

      > yang disimpan adalah nilai bertipe numerik bilangan bulat dari
txtperiode yang tersimpan dalam variabel sprd
            Sheets("Forecast Linier").Range("A1").value =clng(sprd)
            Sheets("Forecast Eksponensial").Range("A1").value =clng(sprd)
            Sheets("Forecast Kuadrat").Range("A1").value =clng(sprd)

4. bersihkan area data di 3 sheet tersebut, mulai baris ke-9 (seluruh
baris)
** tahunya dari sini :

>             outRow = 5
>
>                  ' Membersihkan bagian output pada worksheet
>
>                 Rows(outRow + 4 & ":" & outRow + 30).Select
>                 Selection.Clear
>                 Selection.ClearContents
>
** dan data tabel dimulai sejak range C9
>
>                    Cells(outRow + rowNum + 3, 3).Value = rowNum

            > hapus seluruh baris mulai C9
                   Sheets("Forecast Linier").Range("c9").resize( rows.count
-9).entirerow.clearcontents
                   Sheets("Forecast Eksponensial").Range("c9").resize(
rows.count -9).entirerow.clearcontents
                   Sheets("Forecast Kuadrat").Range("c9").resize(
rows.count -9).entirerow.clearcontents

5. tanyakan ke user nilai setiap periode peramalan. Kalau isi perode
peramalan N kali, maka tanyakan sebanyak N kali. Tulis ke 3 sheet beserta
nilai lain di kolom lainnya. Pada sheet 'Forecast Kuadrat', ada proses isi
tambahan 1 kolom lagi
         > butuh proses loop, misal pakai for next, berarti butuh variabel
untuk loop
                dim lPrd as long
         > loop mulai dari periode ke-1 sampai jumlah periode peramalan
(sPrd yang menyimpan periode peramalan)
                for lPrd=1 to clng( sprd )
                        'isi proses loopnya diletakkan disini
                        'ketikan bunyi kodenya dibawah sana dan copas
kesini ya
                next lprd

         > proses ke-1 yang diletakkan dalam loop : tanya ke user dan
simpan nilai dari user ke variabel sprd (ganti isinya yang lama)
                sprd=InputBox("masukkan nilai")

         > cek lagi isian user :
             a. apakah ada isinya (bisa dihitung jumlah karakternya) ?
                        * kalau tidak ada isinya, hapus jumlah periode
peramalan di a1
             b. isinya angka atau bukan ?
                        * kalau bukan angka, tanyakan lagi ke user (betah
betahan sama user dah)
           # berarti butuh marker alias label dalam script untuk bisa
dirujuk kembali ke proses menanyakan user pakai inputbox
           # jadi, sebelum baris :
                     sprd=InputBox("masukkan nilai")
              diberi label misalnya TANYALAGI:         (ada titik dua nya)
              sehingga susunannya menjadi :
                    TANYALAGI:
                           sprd=InputBox("masukkan nilai")

          # baru deh mulai cek
                           if lenb(sprd)=0 then      'cek a.
                                'hapus jumlah periode peramalan di a1
                                    Sheets("Forecast
Linier").Range("A1").value =0
                                    Sheets("Forecast
Eksponensial").Range("A1").value =0
                                    Sheets("Forecast
Kuadrat").Range("A1").value =0
                               'kasih pesen
                                    Msgbox "Batal... pulang
ah....",vbexclamation,"Input Data"
                               'keluar
                                    Exit sub
                           elseif not isnumeric(sprd) then      'cek b.
                                'tanyakan lagi ke user (betah betahan sama
user dah)
                                 goto tanyalagi
                           endif            'kalau tidak terjebak, berarti
isiannya bener dan bisa dipakai

            > tulis data ke 3 sheet dibaris dan kolom yang sesuai, termasuk
isian user
                    a. periode peramalan (berarti nilai lPrd) di kolom ke-3
(kolom C), mulai dari baris 9 (saat lprd=1, jadi 9 = lprd+8)
                         Sheets("Forecast Linier").cells( 8 + lprd , 3
).value = lprd
                         Sheets("Forecast Eksponensial").cells( 8 + lprd ,
3 ).value = lprd
                         Sheets("Forecast Kuadrat").cells( 8 + lprd , 3
).value = lprd

                    b. nilai inputannya user di kolom ke-4 (kolom D)
                         Sheets("Forecast Linier").cells( 8 + lprd , 4
).value = cdbl( sprd )
                         Sheets("Forecast Eksponensial").cells( 8 + lprd ,
4 ).value = cdbl( sprd )
                         Sheets("Forecast Kuadrat").cells( 8 + lprd , 4
).value = cdbl( sprd )

                    c. nilai di kolom ke-5, mungkin known'x dalam forecast
yang mulai dari 0 untuk periode peramalan 1 alias lprd-1
                         Sheets("Forecast Linier").cells( 8 + lprd , 5
).value = lprd - 1
                         Sheets("Forecast Eksponensial").cells( 8 + lprd ,
5 ).value = lprd - 1
                         Sheets("Forecast Kuadrat").cells( 8 + lprd , 5
).value = lprd - 1

                    d. khusus 'Forecast Kuadrat', kolom ke-6 diisi known'x
kuadrat, berarti (lprd - 1) kuadrat
                         Sheets("Forecast Kuadrat").cells( 8 + lprd , 6
).value = ( lprd - 1 ) ^ 2

6. selesai proses input data, pesen ke user
           MsgBox " Data yang anda masukkan sudah terpenuhi",
vbinformation , "Input Data"

7. buka userform lainnya
          Peramalan.Show

8. Selesai dah....


Nomor 1 sampai 8 adalah alur prosesnya. Yang seluruh barisnya di-biru
adalah script yang dibuat berdasar bunyi alur prosesnya. Jadi, karena ada
nomor 1 sampai 8, maka bisa disusun yang baris biru.
Proses nomor 1 sampai 8 sebaiknya ditulis di kertas atau notepad atau
semacamnya. ndak usah pakai cara canggih dengan memanfaatkan imajinasi.
mbesok kalau sudah mulai jarang bingung, barulah mulai pakai imajinasi....

so,
kalau nanti semua dah di copas dan masih error, jadilah topik baru tentang
errornya...

;)
tetap semangat belajar ya...

Wassalam,
Kid



2015-06-12 19:08 GMT+10:00 Nisa Khairunnisa [email protected]
[belajar-excel] <[email protected]>:

>
>
> Iya mr.kid
>
>
> 1. ketika di masukan periode peramalan, misal 10 maka yg terisi di kolom
> penjualan 10,
> maka x otomatis terisi juga dari 0 - 9
> trs isian ini semua otomatis tercopy di 3 sheets.
> tambhan u/ di sheet yg kedua ada input otomatis X^2
>
> Jadi yg terisi kolom d9,e9 di 3 sheets
> Dan f9 khusus di satu sheet
>
> 2. di form yg berbeda ada proses perhitungan forecast, dan errornya
>
> Dikirim dari Yahoo Mail pada Android
> <https://overview.mail.yahoo.com/mobile/?.src=Android>
> ------------------------------
>   *Dari*:"'Mr. Kid' [email protected] [belajar-excel]" <
> [email protected]>
> *Tanggal*:Jum, 12 Jun 2015 pada 7:42
> *Judul*:Re: [belajar-excel] Copy data range antar sheet VBA Excel
>
>
>
> hehehe....
>
> mbak Nisa punya gak catatan urutan prosesnya seperti apa ? Di shared
> dimari dong urutan proses tersebut... (kalo boleh n mau)
> Contoh catatan urutan proses :
> 1. hapus area input data di sheet A, sheet B, dan sheet C
> 2. tulis isian user tentang nilai sesuatu ke range beralamat di A1 di
> masing-masing sheet, yaitu sheet A, B, C
> 3. dst
> 4. dst
>
> Supaya jadi mudah gitu...
>
>
> Wassalam,
> Kid
>
>
>
>
> On Fri, Jun 12, 2015 at 5:32 AM, Nisa Khairunnisa [email protected]
> [belajar-excel] <[email protected]> wrote:
>
>>
>>
>> Mohon bantuannya, seharian utak atik masih belum ketemu errornya kenapa.
>> Kadang yang tercopy hanya sebagian kadang sama sekali tidak tercopy, itu
>> kenapa ya ?? :(
>>
>>
>>
>> Private Sub InputData_Click()
>>
>>                 outRow = 5
>>
>>                  ' Membersihkan bagian output pada worksheet
>>
>>                 Rows(outRow + 4 & ":" & outRow + 30).Select
>>                 Selection.Clear
>>                 Selection.ClearContents
>>
>>                 outSheet = "Forecast Linier"
>>                 Worksheets(outSheet).Activate
>>
>>                     lRow = Cells(1, 1)
>>
>>
>>
>>                     Cells(1, 1) = TxtPeriode.Text
>>
>>
>>        Sheets("Forecast Linier").Range("A1").Resize(lRow, 1).Copy
>> Sheets("Forecast Kuadrat").Range("A1")
>>
>>       Sheets("Forecast Linier").Range("A1").Resize(lRow, 1).Copy
>> Sheets("Forecast Eksponensial").Range("A1")
>>
>>
>>           For rowNum = 1 To Cells(1, 1).Value
>>
>>
>>
>>            Cells(outRow + rowNum + 3, 3).Value = rowNum
>>
>>       Sheets("Forecast Linier").Range("c9").Resize(lRow, 1).Copy
>> Sheets("Forecast Kuadrat").Range("c9")
>>
>>
>>        Sheets("Forecast Linier").Range("c9").Resize(lRow, 1).Copy
>> Sheets("Forecast Eksponensial").Range("c9")
>>
>>
>>                         Cells(8 + rowNum, 4) = InputBox("masukkan nilai")
>>                         Cells(8 + rowNum, 4).Select
>>
>>
>>        Sheets("Forecast Linier").Range("D9").Resize(lRow, 1).Copy
>> Sheets("Forecast Kuadrat").Range("D9")
>>
>>
>>    Sheets("Forecast Linier").Range("D9").Resize(lRow, 1).Copy
>> Sheets("Forecast Eksponensial").Range("D9")
>>
>>
>>
>>
>>                         X = rowNum - 1
>>                         Cells(outRow + rowNum + 3, 5).Value = X
>>
>>
>>   Sheets("Forecast Linier").Range("e9").Resize(lRow, 1).Copy
>> Sheets("Forecast Eksponensial").Range("e9")
>>
>>
>>
>>   Sheets("Forecast Linier").Range("e9").Resize(lRow, 1).Copy
>> Sheets("Forecast Kuadrat").Range("e9")
>>
>>
>>   Sheets("Forecast Kuadrat").Cells(outRow + rowNum + 3, 6).Value = X ^ 2
>>
>>
>>                     Next rowNum
>>
>>
>>                          MsgBox " Data yang anda masukkan sudah
>> terpenuhi", vbOKOnly
>>                          Peramalan.Show
>>
>>
>> End Sub
>>
>>
>>
>     
>

Kirim email ke