Bu Siti and Mr Kid...akhirnya setelah proses yang cukup melelahkan akhirnya
solusi dari milis ini saya utarakan ke assaser saya...dan tenyata
hasilnya......wow...dia puas........akhirnya tiada kata yang lebih pantas
untuk saya sampaikan kepada milis ini...kecuali terima kasih buanget.

 

Heru Wibowo

 

From: [email protected] [mailto:[email protected]]
On Behalf Of siti Vi
Sent: 16 Desember 2009 12:13
To: [email protected]
Subject: Re: [belajar-excel] Kemungkinan !

 

  

jalan memang buntu kalau keinginan tetap menjejalkan hasil dalam1 cell

dan tetap ingin bisa mengolah data yg jumlah karakternya di atas 9

mungkin harus ke bahasa pemrograman lain / selain VBA..

 

dengan 26 huruf:  26 pangkat 26 itu berapa ?? kan dapat dihitung

yaitu 6.156-an dengan 33 buah NOL di belakangnya

 

dengan memanfaatkan 1 data = 1 cell pun, kita masih kewalahan 

pada saat mengolah data dengan 9 karakter (ABCDEFGHI)

kita sudah memerlukan 387.420.489 cells,  sedangkan cells dlm worksheet

excel 2003 hanya 16 jutaan..

 

contoh program terlampir dapat dicoba coba

kemampuan mengolah: maximum hanya 8 karakter

 

'=====

Sub Counter_Basis_N()

 

   Dim H As Range, D() As String * 1
   Dim tXt As String, t As String, Ht As String
   Dim maxRow As Long
   Dim i As Byte, n As Byte
   Dim u1 As Byte, u2 As Byte, u3 As Byte, u4 As Byte, u5 As Byte
   Dim u6 As Byte, u7 As Byte, u8 As Byte, u9 As Byte
   Dim uR As Long, uC As Integer
   Dim StartTime, EndTime
   
   Range("B3").Activate
   tXt = WorksheetFunction.Substitute(ActiveCell.Text, " ", "")
   If Len(tXt) > 9 Then tXt = Left(tXt, 9)
   Range("B3") = tXt
   n = Len(tXt)
   Set H = ActiveCell.Offset(2, 2)
   ClearAreaHasil
   StartTime = Timer
   ReDim D(1 To n)
   For i = 1 To n
      D(i) = Mid(tXt, i, 1)
   Next i
   uR = 1: uC = 1
   If n = 1 Or n = 0 Then H = ActiveCell.Value: Exit Sub
   If n = 2 Then GoTo Loop_u2
   If n = 3 Then GoTo Loop_u3
   If n = 4 Then GoTo Loop_u4
   If n = 5 Then GoTo Loop_u5
   If n = 6 Then GoTo Loop_u6
   If n = 7 Then GoTo Loop_u7
   If n = 8 Then GoTo Loop_u8

 

   '----- program utama -----------
   For u9 = 1 To n
Loop_u8:
      For u8 = 1 To n
Loop_u7:
         For u7 = 1 To n
Loop_u6:
            For u6 = 1 To n
Loop_u5:
               For u5 = 1 To n
Loop_u4:
                  For u4 = 1 To n
Loop_u3:
                    For u3 = 1 To n
Loop_u2:
                        For u2 = 1 To n
                           For u1 = 1 To n
                              Select Case n
                                 Case 1
                                    Ht = D(u1)
                                    maxRow = 1
                                 Case 2
                                    Ht = D(u2) & D(u1)
                                    maxRow = n ^ (n - 1) + 1
                                 Case 3
                                    Ht = D(u3) & D(u2) & D(u1)
                                    maxRow = n ^ (n - 1) + 1
                                 Case 4
                                    Ht = D(u4) & D(u3) & D(u2) & D(u1)
                                    maxRow = n ^ (n - 1) + 1
                                 Case 5
                                    Ht = D(u5) & D(u4) & D(u3) & D(u2) &
D(u1)
                                    maxRow = n ^ (n - 1) + 1
                                 Case 6
                                    Ht = D(u6) & D(u5) & D(u4) & D(u3) &
D(u2) & D(u1)
                                    maxRow = n ^ (n - 1) + 1
                                 Case 7
                                    Ht = D(u7) & D(u6) & D(u5) & D(u4) &
D(u3) & D(u2) & D(u1)
                                    maxRow = n ^ (n - 2) + 1
                                 Case 8
                                    Ht = D(u8) & D(u7) & D(u6) & D(u5) &
D(u4) & D(u3) & D(u2) & D(u1)
                                    maxRow = n ^ (n - 3) + 1
                                 Case 9
                                    Ht = D(u9) & D(u8) & D(u7) & D(u6) &
D(u5) & D(u4) & D(u3) & D(u2) & D(u1)
                                    maxRow = n ^ (n - 4) + 1
                              End Select
   
                              H.Cells(uR, uC) = Ht
                              uR = uR + 1
                              If uR = maxRow Then
                                 uC = uC + 1:    uR = 1
                                 H.Cells(uR - 1, uC - 1) = uC - 1
                              End If
                           Next u1
                        Next u2
                        If n = 2 Then GoTo EndTimer
                     Next u3
                     If n = 3 Then GoTo EndTimer
                  Next u4
                  If n = 4 Then GoTo EndTimer
               Next u5
               If n = 5 Then GoTo EndTimer
            Next u6
            If n = 6 Then GoTo EndTimer
         Next u7
         If n = 7 Then GoTo EndTimer
      Next u8
      If n = 8 Then GoTo EndTimer
   Next u9
   
EndTimer:
   ' nilai detik saat program selesai, dicatat pada variabel EndTime
   EndTime = Timer
   ' Durasi didapat dari selisih EndTime - StarTime
   Dim ms As String
   ms = n & " karakter type : " & Range("B6") & vbCrLf
   MsgBox ms & "selesai dlm " & EndTime - StartTime & " detik." & vbCrLf & _
   "Kelamaan ya ?", vbInformation, "villager's tool.."
   ' tuliskan Durasi pada cell B8
   Range("B8") = EndTime - StartTime

 

End Sub
'=====

 

harapan sederhanaku hanyalah mendengar kabar, 

"sudah dicoba-kah & hasil percobaan-nya"

 

=ctv=

 

 


----- Original Message ----- 
From: Heru Wibowo 
To: [email protected] 
Sent: Tuesday, December 15, 2009 9:25 PM
Subject: RE: [belajar-excel] Kemungkinan !

Hik...hik...hik...kayaknya troble ini menemui jalan buntu ya bu Siti ?
 
Heru Wibowo
 
From: [email protected] [mailto:[email protected]]
On Behalf Of siti Vi
Sent: 12 Desember 2009 9:35
To: [email protected]
Subject: Re: [belajar-excel] Kemungkinan !

----- Original Message ----- 
From: siti Vi 
To: [email protected] 
Sent: Saturday, December 12, 2009 9:16 AM
Subject: Re: [belajar-excel] Kemungkinan !
 
Sekarang kehendaknya adalah  misal : ABC menjadi 
AAA, AAB. AAC
ABA, ABB, ABC
ACA, ACB, ACC
BAA, BAB, BAC
BBA, BBB. BBC
BCA, BCB, BCC
CAA, CAB, CAC
CBA, CBB, CBA
CCA, CCB, CCC
artinya setiap data boleh dimunculkan BANYAK kali, dgn maximum selebar data
yg dikehendaki.
Sistem seperti ini jumlah kemungkinannya memang N pangkat N.


 



No virus found in this incoming message.
Checked by AVG - www.avg.com
Version: 8.5.409 / Virus Database: 270.14.110/2568 - Release Date: 12/16/09
08:02:00

<<image001.jpg>>

<<image002.jpg>>

Kirim email ke