Minggu, 18 Desember 2011

[belajar-excel] Digest Number 1442

Messages In This Digest (8 Messages)

Messages

1a.

Re: kode macro untuk mengcopy range berfomula ke kolom di kanan cell

Posted by: "Haps" hapsari.stlizbeth@gmail.com   liz_indri_haps

Sat Dec 17, 2011 5:17 am (PST)



wa'alaikum salam

mudah mudahan berikut ini tidak terlau jauh dari yg dimaksud pak ghozi

Sub Cara_Satu()
Dim r As Long, n As Long
' cara ini masih berorientasi formula di sheet
' metoda mensecel dan mengcopy range itu
' memerlukan waktu yg lebih lama (lamban)

' mengkopy formula (cara kalkulasinya)
' etapi diterapkan ke baris lain
' hasilnya is cell berupa formula
Range("B1:D1").Copy
' mengulang pengcopyan selama di A (mulai A10 ada datanya)
r = 1
Do While Len(Range("A10").Cells(r, 1)) > 0
Range("B10").Cells(r, 1).PasteSpecial Paste:=xlPasteFormulas
r = r + 1
Loop

' mengkonversi formula hasil copyan menjadi konstanta
Range("B10:D10").Resize(r, 3).Copy
Range("B10").PasteSpecial Paste:=xlPasteValues

' menghilangkan memory range yg dicopy
Application.CutCopyMode = False

End Sub

*Sub Cara_Dua()*

' cara ini harus mengetahui dulu
' logika dan kalkuasi yg ada di baris contoh
' kemudian langsung menerapkan kalkulasi dan logika ke cell
' Kalkulasi dilakukan di VBA
' hasil kalkulasi ditulis di cells

Dim RefRg As Range, r As Long

Set RefRg = Range(Range("A10"), Range("A10").End(xlDown))

' mengulang pekerjaan pada tiap baris mulai A10
For r = 1 To RefRg.Rows.Count
RefRg(r, 2) = Mid(RefRg(r, 1), 1, 2)
RefRg(r, 3) = Mid(RefRg(r, 1), 3, 2)
RefRg(r, 4) = Mid(RefRg(r, 1), 5, 2)
Next
End Sub

menjalankam makro tekan Alt + F8, pilih nama makro > RUN

2011/12/17 ghozi alkatiri <ghozialkatiri@yahoo.co.id>

> **
> Assalaamu alaikum,
> to the point saja.
> saya ingin mengcopy range bernama yang berisi formula ke kolom (range ) di
> kanan cell input.
> setelah tercopy pada range target,hasilnya di range target di paste
> special value . jadi yang ada tinggal nilai hasilnya saja tanpa formula.
> bagaimana code macronya.
> ilustrasi ada di attachment.
> terima kasih sebelumnya.
>
> wassalam
>
> Ghozi Alkatiri
>
>
>
1b.

Bls: [belajar-excel] kode macro untuk mengcopy range berfomula ke ko

Posted by: "ghozi alkatiri" ghozialkatiri@yahoo.co.id   ghozialkatiri

Sat Dec 17, 2011 5:34 am (PST)



terima kasih atas tanggapan dari mr kid dan mbak haps, semuanya akan saya simpan sebagai referensi dan akan saya pelajari lebih lanjut.
khusus mengenai tanggapan dari mbak haps sudah mendekati yang saya inginkan .
cuma yang saya inginkan adalah proses satu demi satu  tidak secara keseluruhan seperti yang dicontohkan mbak haps.
jelasnya begini
misalkan saya menginput nilai ABCDEF di A10 maka ketika saya enter akan terjadi proses pengcopyan dari range formula yang sudah disiapkan. dan meninggalkan nilai valuenya saja di  AB,CD dan EF di cell C10, D10 dan  E10
demikian juga ketika saya lanjutkan dengan  baris berikutnya. proses pengcopian akan terjadi sesaat setelah saya menekan enter. tanpa harus menekan run macro atau klik tombol.

wassalam

Ghozi Alkatiri

________________________________
Dari: Haps <hapsari.stlizbeth@gmail.com>
Kepada: belajar-excel@yahoogroups.com
Dikirim: Sabtu, 17 Desember 2011 20:17
Judul: Re: [belajar-excel] kode macro untuk mengcopy range berfomula ke kolom di kanan cell input


 
wa'alaikum salam

mudah mudahan berikut ini tidak terlau jauh dari yg dimaksud pak ghozi

Sub Cara_Satu()
   Dim r As Long, n As Long
   ' cara ini masih berorientasi formula di sheet
   ' metoda mensecel dan mengcopy range itu
   ' memerlukan waktu yg lebih lama (lamban)
   
   ' mengkopy formula (cara kalkulasinya)
   ' etapi diterapkan ke baris lain
   ' hasilnya is cell berupa formula
   Range("B1:D1").Copy
   ' mengulang pengcopyan selama di A (mulai A10 ada datanya)
   r = 1
   Do While Len(Range("A10").Cells(r, 1)) > 0
      Range("B10").Cells(r, 1).PasteSpecial Paste:=xlPasteFormulas
      r = r + 1
   Loop
   
   ' mengkonversi formula hasil copyan menjadi konstanta
    Range("B10:D10").Resize(r, 3).Copy
    Range("B10").PasteSpecial Paste:=xlPasteValues
      
   ' menghilangkan memory range yg dicopy
   Application.CutCopyMode = False

End Sub

Sub Cara_Dua()

   ' cara ini harus mengetahui dulu
   ' logika dan kalkuasi yg ada di baris contoh
   ' kemudian langsung menerapkan kalkulasi dan logika ke cell
   ' Kalkulasi dilakukan di VBA
   ' hasil kalkulasi ditulis di cells
   
   Dim RefRg As Range, r As Long
   
   Set RefRg = Range(Range("A10"), Range("A10").End(xlDown))
   
  ' mengulang pekerjaan pada tiap baris mulai A10
   For r = 1 To RefRg.Rows.Count
      RefRg(r, 2) = Mid(RefRg(r, 1), 1, 2)
      RefRg(r, 3) = Mid(RefRg(r, 1), 3, 2)
      RefRg(r, 4) = Mid(RefRg(r, 1), 5, 2)
   Next
End Sub

menjalankam makro  tekan Alt + F8, pilih nama makro > RUN

2011/12/17 ghozi alkatiri <ghozialkatiri@yahoo.co.id>

>Assalaamu alaikum,
>to the point saja.
>saya ingin mengcopy range bernama yang berisi formula ke kolom (range ) di kanan cell input.
>setelah tercopy pada range target,hasilnya di range target di paste special value . jadi yang ada tinggal nilai hasilnya saja tanpa formula.
>bagaimana code macronya.
>ilustrasi ada di attachment.
>terima kasih sebelumnya.
>
>
>wassalam
>
>
>Ghozi Alkatiri
>
>
1c.

Re: kode macro untuk mengcopy range berfomula ke kolom di kanan cell

Posted by: "Edy Wiyono" edy.wiyono@yahoo.co.id   wedhi2002

Sun Dec 18, 2011 4:57 am (PST)



Waalaikumsalam, Pak Ghozi
Saya menggunakan vba untuk file contohnya.
Mudah-mudahan bisa membantu.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Sheets("sheet1").Activate Then
If ActiveCell.Column = 1 Then
If Len(Cells((ActiveCell.Row - 1), ActiveCell.Column)) >= 6 Then
a = ActiveCell.Row
b = ActiveCell.Column

If a = Cells(1, 100) And b = Cells(1, 101) Then
Exit Sub
End If

Range("formula").Select
Selection.Copy
Cells(a - 1, b + 1).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Cells(1, 100) = a
Cells(1, 101) = b
Cells(a, b).Select
Application.CutCopyMode = False
ActiveWorkbook.Save

End If
End If
End If
End Sub

From: belajar-excel@yahoogroups.com
On Behalf Of ghozi alkatiri
Sent: Saturday, December 17, 2011 8:34 PM

terima kasih atas tanggapan dari mr kid dan mbak haps, semuanya akan saya simpan sebagai referensi dan akan saya pelajari lebih lanjut.

khusus mengenai tanggapan dari mbak haps sudah mendekati yang saya inginkan .

cuma yang saya inginkan adalah proses satu demi satu tidak secara keseluruhan seperti yang dicontohkan mbak haps.

jelasnya begini

misalkan saya menginput nilai ABCDEF di A10 maka ketika saya enter akan terjadi proses pengcopyan dari range formula yang sudah disiapkan. dan meninggalkan nilai valuenya saja di AB,CD dan EF di cell C10, D10 dan E10

demikian juga ketika saya lanjutkan dengan baris berikutnya. proses pengcopian akan terjadi sesaat setelah saya menekan enter. tanpa harus menekan run macro atau klik tombol.

wassalam

Ghozi Alkatiri

_____

Dari: Haps <hapsari.stlizbeth@gmail.com>
Dikirim: Sabtu, 17 Desember 2011 20:17
Sub Cara_Satu()
Sub Cara_Dua()
2a.

Memindah Data

Posted by: "Sugeng Subagio" sugsuek96@gmail.com

Sat Dec 17, 2011 12:19 pm (PST)



Dear,

Salam kenal semuanya.

Saya mendapat kesultitan untuk memindahkan data (terlampir data).
Seca manual mungkin bisa karena datanya sedikit, namun kalau banyak tentunya akan merepotkan.
Mohon kiranya bantuan dari teman-teman.

Terima kasih atas bantuannya.

regard's
Sugeng

===================================================
MODs NOTE:
Subject Asli: "Salam Kenal" kami edit, agar sesuai
dengan Peraturan Milis ( "Bab LAIN-LAIN Pasal (a))
===================================================
2b.

Re: Memindah Data

Posted by: "Kid Mr." mr.nmkid@gmail.com   nmkid.family@ymail.com

Sat Dec 17, 2011 12:57 pm (PST)



Salam kenal Pak Sugeng,

File terlampir mencoba dengan 2 cara, yaitu formula dan pivot table.
Untuk data yang sangat banyak, sepertinya pivot table lebih menguntungkan.

Cara dengan formula adalah menggunakan formula :
=INDEX($B$3:$C$21,CEILING(ROW(1:1)/*2*,1),MOD(ROW(1:1)-1,*2*)+1)
lalu copy ke bawah sampai 2 kali jumlah baris data.
Jika data yang akan ditampilkan ada N kolom, maka ganti angka *2* (yang di *
biru*) dengan nilai N.

Wassalamualaikum Wr. Wb.
Kid.

2011/12/18 Sugeng Subagio <sugsuek96@gmail.com>

> **
>
>
> Dear,
>
> Salam kenal semuanya.
>
> Saya mendapat kesultitan untuk memindahkan data (terlampir data).
> Seca manual mungkin bisa karena datanya sedikit, namun kalau banyak
> tentunya akan merepotkan.
> Mohon kiranya bantuan dari teman-teman.
>
> Terima kasih atas bantuannya.
>
> regard's
> Sugeng
>
> ===================================================
> MODs NOTE:
> Subject Asli: "Salam Kenal" kami edit, agar sesuai
> dengan Peraturan Milis ( "Bab LAIN-LAIN Pasal (a))
> ===================================================
>
>
>
2c.

Re: Memindah Data

Posted by: "o' Seno" ontoseno84@gmail.com   ontoseno84@ymail.com

Sat Dec 17, 2011 3:29 pm (PST)



Dengan kata "MEMINDAH", "terminologi"nya adalah : benda yg sudah dipindah
harus LENYAP dari tempat semula tapi ADA /MUNCUL di tempat baru !! Apa
seperti itu yg dikehendaki pak Sugeng ?

Jika benda hanya muncul di tempat baru tapi di tempat lama dia masih
nongkrong sambil 'ngupi' maka benda yg ada di tempat baru bukanlah hasil
pindahan tetapi COPYan, he he..

Jika benar tetap ingin mempertahankan penggunaan istilah MEMINDAH maka
rumus tidak dapat digunakan;
Sebab: ketika rumus sudah berhasil menyusun tabel baru dengan susunan
seperti yg dikehendaki Pak Sugeng, Tabel_Referensi (Tabel Rujukan-nya)
HARUS DIHAPUS ! ( = untuk memenuhi pengertian 'pindah' )

Ketika Tabl_Ref dihapusss,.. Apa yg kemudian terjadi anda sudah dapat
membayangkan !!
RUMUS penysunan tabel baru yg merujuk Tabel Referensi itu akan menjadi
ERROR atau menghasilkan hasil yg tidak sesuai keinginan..! ( kecuali: jika
sebelum Tabel referensi dihapus, *formula penyusunan tabel
baru*dikonverisi menjadi
VALUES, bisanya anak-anak sini pakai copy pasatespecial > Values )

Ada yang bilang : Istilah itu GAK PENTING
Tetapi bagiku sangat penting, karena ISTILAH yg digunakan dlm berdiskusi
(tanya jawab seperti ini), harus sama / tidak jauh berbeda dengan
pengertiannya bagi tiap peserta diskusi.

berikut ini ada 2 sheets
*sheet pertama*
jawaban berupa formula, tetap seperti formula dari Mr Kid, hanya diberi
formula bantu dengan maksud mendetilkan penjelasannya (formula dapat
dilihat langsung di TKP)

*sheet kedua*
penyelesaian dengan maxro
( jumlah data pada tabel rujukan tiap barisnya tidak hanya dibatasi 2 kolom
tetapi "terserah" kolom
selama masih dalam rentang nilai bilangan type *short integer*)

Sub *SusunSisip()*
'---- code: o'Seno / 18 Dec 2011 ---------------
' (meniru yg pernah dibuat oleh 'Dik' indri Haps)
' susun sisip bekerja seperti ranspose per baris
' dari keadaan data melintang menjadi membujur
' tiap baris diulang-proses di baris kosong di bawahnya
'-----------------------------------------------
Dim *BlokData* As Range, *Result* As Range
Dim n As Long, r As Long, c As Integer

Set BlokData = Range("A2").CurrentRegion
Set Result = BlokData(2, BlokData.Columns.Count + 3)

For n = 2 To BlokData.Rows.Count
' nilai c (kolom) dimulai dari *2* karena ada kolom
' (=kolom 1 ) yg tidak dikehendaki ikut diproses
For c = *2* To (BlokData.Columns.Count)
r = r + 1
Result(r, 1) = BlokData(n, c)
Next c
Next n

End Sub

2011/12/18 Sugeng Subagio <sugsuek96@gmail.com>

> **
>
> Dear,
> Salam kenal semuanya.
> Saya mendapat kesultitan untuk memindahkan data (terlampir data).
> Seca manual mungkin bisa karena datanya sedikit, namun kalau banyak
> tentunya akan merepotkan.
> Mohon kiranya bantuan dari teman-teman.
> Terima kasih atas bantuannya.
> regard's
> Sugeng
>
> ===================================================
> MODs NOTE:
> Subject Asli: "Salam Kenal" kami edit, agar sesuai
> dengan Peraturan Milis ( "Bab LAIN-LAIN Pasal (a))
> ===================================================
>
2d.

Re: Memindah Data

Posted by: "Sugeng Subagio" sugsuek96@gmail.com

Sat Dec 17, 2011 11:19 pm (PST)



Mas Seno,
Terima kasih atas bantuan yang diberikan. Bantuan yang diberikan sangat
berguna sekali dalam menyelesaikan permasalahan yang dihadapi. Terima kasih
juga buat kawan-kawan yang tergabung dalam milis ini juga buat moderator.

regard's
Sugeng

2011/12/18 o' Seno <ontoseno84@gmail.com>

> **
>
>
> Dengan kata "MEMINDAH", "terminologi"nya adalah : benda yg sudah dipindah
> harus LENYAP dari tempat semula tapi ADA /MUNCUL di tempat baru !! Apa
> seperti itu yg dikehendaki pak Sugeng ?
>
> Jika benda hanya muncul di tempat baru tapi di tempat lama dia masih
> nongkrong sambil 'ngupi' maka benda yg ada di tempat baru bukanlah hasil
> pindahan tetapi COPYan, he he..
>
> Jika benar tetap ingin mempertahankan penggunaan istilah MEMINDAH maka
> rumus tidak dapat digunakan;
> Sebab: ketika rumus sudah berhasil menyusun tabel baru dengan susunan
> seperti yg dikehendaki Pak Sugeng, Tabel_Referensi (Tabel Rujukan-nya)
> HARUS DIHAPUS ! ( = untuk memenuhi pengertian 'pindah' )
>
> Ketika Tabl_Ref dihapusss,.. Apa yg kemudian terjadi anda sudah dapat
> membayangkan !!
> RUMUS penysunan tabel baru yg merujuk Tabel Referensi itu akan menjadi
> ERROR atau menghasilkan hasil yg tidak sesuai keinginan..! ( kecuali:
> jika sebelum Tabel referensi dihapus, *formula penyusunan tabel baru*dikonverisi menjadi
> VALUES, bisanya anak-anak sini pakai copy pasatespecial > Values )
>
> Ada yang bilang : Istilah itu GAK PENTING
> Tetapi bagiku sangat penting, karena ISTILAH yg digunakan dlm berdiskusi
> (tanya jawab seperti ini), harus sama / tidak jauh berbeda dengan
> pengertiannya bagi tiap peserta diskusi.
>
> berikut ini ada 2 sheets
> *sheet pertama*
> jawaban berupa formula, tetap seperti formula dari Mr Kid, hanya diberi
> formula bantu dengan maksud mendetilkan penjelasannya (formula dapat
> dilihat langsung di TKP)
>
> *sheet kedua*
> penyelesaian dengan maxro
> ( jumlah data pada tabel rujukan tiap barisnya tidak hanya dibatasi 2
> kolom tetapi "terserah" kolom
> selama masih dalam rentang nilai bilangan type *short integer*)
>
>
> Sub *SusunSisip()*
> '---- code: o'Seno / 18 Dec 2011 ---------------
> ' (meniru yg pernah dibuat oleh 'Dik' indri Haps)
> ' susun sisip bekerja seperti ranspose per baris
> ' dari keadaan data melintang menjadi membujur
> ' tiap baris diulang-proses di baris kosong di bawahnya
> '-----------------------------------------------
> Dim *BlokData* As Range, *Result* As Range
> Dim n As Long, r As Long, c As Integer
>
> Set BlokData = Range("A2").CurrentRegion
> Set Result = BlokData(2, BlokData.Columns.Count + 3)
>
> For n = 2 To BlokData.Rows.Count
> ' nilai c (kolom) dimulai dari *2* karena ada kolom
> ' (=kolom 1 ) yg tidak dikehendaki ikut diproses
> For c = *2* To (BlokData.Columns.Count)
> r = r + 1
> Result(r, 1) = BlokData(n, c)
> Next c
> Next n
>
> End Sub
>
>
>
>
> 2011/12/18 Sugeng Subagio <sugsuek96@gmail.com>
>
>> **
>>
>> Dear,
>> Salam kenal semuanya.
>> Saya mendapat kesultitan untuk memindahkan data (terlampir data).
>> Seca manual mungkin bisa karena datanya sedikit, namun kalau banyak
>> tentunya akan merepotkan.
>> Mohon kiranya bantuan dari teman-teman.
>> Terima kasih atas bantuannya.
>> regard's
>> Sugeng
>>
>> ===================================================
>> MODs NOTE:
>> Subject Asli: "Salam Kenal" kami edit, agar sesuai
>> dengan Peraturan Milis ( "Bab LAIN-LAIN Pasal (a))
>> ===================================================
>>
>
>
3a.

Re: Code undo vba

Posted by: "o' Seno" ontoseno84@gmail.com   ontoseno84@ymail.com

Sat Dec 17, 2011 4:46 pm (PST)



Application.Undo

Tetapi barangkali itu tidak "cucok" dengan kemauan anda,
Minimnya info keinginan yg anda sampaikan dlm email, membuat kami sulit
menduganya.
Karena yg dimaksud dengan Undo dlm hubungannya dengan MAKRO bisa luas sekali

*** beberapa waktu yg lalu di MILIS ini ada diskusi; *mengUNDO Last
Selection pada*
* MULTIPLE-Selection*; cukup seru juga. Anda ke mana waktu itu ??

Dlm hubungannya dengan exce-makro-vba programming; Paling tidak kita
melihat
ada 3 masalah:

(1) UNDO terhadap perubahan (langkah terakhir) yg anda lakukan secara
manual di Sheet
("memencet tombol undo" ingin ditulis makronya), lihat baris pertama
email ini.

(2) Undo terhadap perubahan yg disebabkan oleh Sebuah PROSEDUR SUB
padahal prosedur bisa memuat ribuan bahkan jutaan TINDAKAN....

(3) Undo terhadap perubahan step by step DALAM PROSEDUR SUB

Dari 3 hal itu mana yg anda maksud ?

Sbg tambahan info: perubahan yg ditimbulkan oleh makro tidak dicatat
UNDOnya oleh
excel (harus dibuat sendiri oleh pembuat Prosedur Sub ya)

Berikut ini contoh yg terkenal dari pak walkenbach belum pernah ketemu ya ??
http://j-walk.com/ss/excel/tips/tip23.htm

di tempat lain ada:
http://msdn.microsoft.com/en-us/library/aa213604(v=office.11).aspx
http://vbadud.blogspot.com/2009/01/how-to-undo-last-action-using-excel-vba.html
http://www.jkp-ads.com/Articles/UndoWithVBA00.asp
http://www.vbforums.com/archive/index.php/t-288722.html
http://bytes.com/topic/visual-basic/answers/14316-how-undo-vba-macro

Penggila makro tidak akan merasa capppek menelusuri & cari info mengenai
keingnannya di internet, kalau perlu gak usah tidur selama 1 windu gak pa
pa...

Wassalamualaikum Wr Wb
o'Seno

2011/12/16 <mail4muja@yahoo.co.id>

> Salam para pakar XL,
> Langsung aja ya, maaf sebelumnya kalo tidak disertakan filenya..
> Mau tanya neh bagaimana ya code untuk meng-UNDO dalam suatu perintan dalam
> form excel vba???
> Demikian disampaikan terima kasih
Recent Activity
Visit Your Group
Dog Groups

on Yahoo! Groups

discuss everything

related to dogs.

Yahoo! Groups

Mental Health Zone

Schizophrenia groups

Find support

Yahoo! Finance

It's Now Personal

Guides, news,

advice & more.

Need to Reply?

Click one of the "Reply" links to respond to a specific message in the Daily Digest.

Create New Topic | Visit Your Group on the Web
---------------------------------------------------------------------
bergabung ke milis (subscribe), kirim mail kosong ke:
belajar-excel-subscribe@yahoogroups.com

posting ke milis, kirimkan ke:
belajar-excel@yahoogroups.com

berkunjung ke web milis
http://tech.groups.yahoo.com/group/belajar-excel/messages

melihat file archive / mendownload lampiran
http://www.mail-archive.com/belajar-excel@yahoogroups.com/
atau (sejak 25-Apr-2011) bisa juga di :
http://milis-belajar-excel.1048464.n5.nabble.com/

menghubungi moderators & owners: belajar-excel-owner@yahoogroups.com

keluar dari membership milis (UnSubscribe):
kirim mail kosong ke  belajar-excel-unsubscribe@yahoogroups.com
---------------------------------------------------------------------
MARKETPLACE

Stay on top of your group activity without leaving the page you're on - Get the Yahoo! Toolbar now.

Tidak ada komentar:

Posting Komentar