Dear, Terimakasih atas solusinya, Ini membantu pekerjaan saya. Untuk kodenya masih saya pelajari. Terimakasih ibu haps, Regards
Asror Safety is my responsibility Sent from Super Asror's BlackBerry® smartphone from Sinyal Bagus XL, Nyambung Teruuusss...! -----Original Message----- From: Haps <[email protected]> Sender: [email protected] Date: Mon, 14 Nov 2011 12:17:14 To: <[email protected]> Reply-To: [email protected] Subject: Re: [belajar-excel] Tanya switching angka Cara menukar data di dua cell / variable memang harus pakai perantara spt itu; ini sudah banyak penjelasannya di buku-buku teori pemrograman. Ibarat dua gelas fanta merah dan fanta hijau mau ditukar tempat, anda perlu gelas ke 3, jika tidak mau warna fantanya jadi tidak merah & tidak hijau lagi. Dalam kasus wadah data adalah Cell / Variable, malah salah satu datanya bisa hilang sebelum sempat ditukar dgn data lain ... Solusi dari Mr Kid: angka perantaranya = -10 atau (Bilangan Asal di negasikan) Tetapi jika nilai di cells lain juga ada yg sama dengan "negasi bilangan asal" itu; maka anda perlu mencari karakter LAIN yg tidak mungkin akan dipakai di dalam panel box tsb; hanya andalah yg tahu. Kita hanya bisa mengira-kira, misal *Char(174)* = tampak seperti huruf R kecil dlm lingkaran ® Berikut ini 2 prosedur, contoh makro switchValues, mudah mudahan tidak terlalu sama dengan tekni Mr Kid, agar masih ada sisi yg dapat dipelajar... Sub SwitchValues() ' coded by Indri Hapsari / Nov 12, 2011 ' teknik pencarian find&replace all ' waktu proses harusnya lebih singkat '-------------------------------------- Dim Panel As Range, V0 As String, V1, V2 Set Panel = Range("D5:AM48"): V0 = Chr(174) V0 = Chr(174): V1 = Range("AP6"): V2 = Range("AQ6") * Panel.Replace V1, V0, xlWhole, xlByRows, True* * Panel.Replace V2, V1, xlWhole, xlByRows, True* * Panel.Replace V0, V2, xlWhole, xlByRows, True* End Sub Atau cara lain menggunakan teknik Looping untuk menggantikan pencarian dengan method Replace Sub ValueSwitching() ' coded by Indri Hapsari / Nov 12, 2011 ' teknik pencarian dengan Looping ' waktu proses harusnya lebih lama '-------------------------------------- Dim Panel As Range, Box As Range Dim i As Long, V0 As String, V1, V2 Set Panel = Range("D5:AM48"): V0 = Chr(174) V1 = Range("AP6"): V2 = Range("AQ6") * For Each Box In Panel* * If Box = V1 Then Box = V0* * Next* * For Each Box In Panel* * If Box = V2 Then Box = V1* * Next* * For Each Box In Panel* * If Box = V0 Then Box = V2* * Next* End Sub '------------------- note sebaiknya selama runtime, mode calculation di MANUAL-kan 2011/11/12 Kid Mr. <[email protected]> > ** > > Akan ditukar tempatnya kan, tadinya ada 10 dan 20 di data, lalu 10 jadi 20 > dan 20 jadi 10. > Prinsip prosesnya dengan method replace milik object range. > Nah proses me-replace-nya yang disesuaikan dengan kebutuhan, > misal > 1. replace angka lama si 10 jadi -10 dulu (tinggal di negatifkan bukan) > 2. replace angka 20 jadi 10 > 3. replace angka -10 jadi 20 > Kid. > > 2011/11/12 Asror Al-Aliif's <[email protected]> > > > > Mr. Kid, > > Cara ini sudah di coba, tapi ketika di run, saya tidak bisa menswitch, > karena range("d5:am48").replace range("ap6").value , range("aq6").value , > xlwhole akan merubah angka di cell ap6 yang di range d5:am48 menjadi angka > yang di aq6, ini akan menjadikan anka kembar di cell d5:am48, maka di cell > d5:am48 akan ada angka yang sama. > > > > Dear rekan, mohon bantuannya kembali,.. > > > > Terimakasih. > > Asror >

