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
>

Kirim email ke