Kalau di cells T1 ada isi teks berbunyi "1a2a3", maka jumlah angka di cells
a1 dengan formula                      Len( T1 ) - Len( Substitute( T1 ,
"a" , "" ) ) + 1
Kalau di VBA ada variabel bernama T berisi teks berbunyi "1a2a3", maka
jumlah angka di variabel T adalah Len( T  ) - Len( Replace(     T  , "a" ,
"" ) ) + 1

Kalau di VBA mau pakai Split, maka perlu diingat bahwa VBA menggunakan
array option base 0 by default. Artinya item ke-1 array memiliki index 0.
Contoh : Variabel T berisi teks "1a2a3"
Hasil Split( T , "a" ) adalah array 3 item, yaitu :
item index ke-0 berisi teks '1'
item index ke-1 berisi teks '2'
item index ke-2 berisi teks '3'

UBound adalah mengambil nomor index tertinggi dari suatu array.
UBound( T ) hasilnya 2 karena nilai index array hasil split tertinggi di
index ke-2

Jadi, pada kasus ini, kalau pakai UBound, bunyinya :
UBound( Split( T , "a" ) ) + 1

Nah.. ini dengan asumsi bahwa VBA by default menggunakan option base 0.
Kalau VBA nanti sudah pakai option base 1, dan script di atas sudah dipakai
secara masif diberbagai file, maka ketika ada pengubahan menjadi option
base 1, hasilnya salah semua.
Pada saat option base 1, hasil Split( T , "a" ) adalah :
item index ke-1 berisi teks '1'
item index ke-2 berisi teks '2'
item index ke-3 berisi teks '3'
Sehingga UBound( Split( T , "a" ) ) menghasilkan nilai 3 (nilai index
tertinggi hasil split adalah 3)
Jadi bunyi UBound( Split( T , "a" ) ) + 1 menghasilkan 4. Salah, karena
hasil yang diharapkan adalah 3.

Umumnya, yang aman begini :
UBound( Split( T , "a" ) ) - LBound( Split( T , "a" ) ) + 1

Berhubung ada proses split 2 kali, biasanya terus pakai variabel supaya
menjadi lebih cepat.
dim T as string, sArr() as string
T="1a2a3"
sArr=Split( T , "a" )
debug.print UBound( sArr ) - LBound( sArr ) + 1

Kalau proses di atas dimasukkan dalam sebuah loop, bisa jadi proses split
akan terasa lebih lambat dibanding pakai Len dan Replace


Regards,
Kid












2017-05-09 14:38 GMT+07:00 'Heru Safrudin'
[email protected] [belajar-excel] <
[email protected]>:

>
>
> Dear Mr. Kid
>
> Sayang sekali saya belum mudheng memakai substitute
>
> Akhirnya pakai cara lain yaitu:
>
>
>
> UBound(Split(TEKS, Chr(10)))
>
>
>
>
>
> Wassalam
>
> Heru Safrudin
>
>
>
> *From:* [email protected] [mailto:belajar-excel@
> yahoogroups.com]
> *Sent:* 09 Mei 2017 13:55
> *To:* [email protected]
> *Subject:* Re: [belajar-excel] Menghitung jumlah baris dalam variable
> berisi teks
>
>
>
>
>
> Hai Heru,
>
> Sama seperti pakai formula dalam cells,  cuma substitute diganti replace.
>
> Regards,
>
> Kid
> Sent from my smart enough phone
>
>
> On May 9, 2017, at 11:57, 'Heru Safrudin' fcprocessing.bisikediri@bisi.
> co.id [belajar-excel] <[email protected]> wrote:
>
>
>
> Dear B-Exceller,
>
>
>
> Bagaimanakah kode macro untuk menghitung jumlah baris dalam variable
> berisi teks, contoh:
>
> Teks=”A” & Chr(10) & “B” & Chr(10) & “C”
>
>
>
> Mohon pembelajarannya
>
>
>
>
>
> Wassalam
>
> Heru Safrudin
>
>
>
> 
>

Kirim email ke