hmmm...

Mungkin sedang liburan...

Misal : Proses mengolah nilai x dari 1 sampai 10.
Prosesnya menggunakan loop for next misalnya, maka akan berbentuk seperti
ini :

dim x as long
for x=1 to 10
     'disini proses yang dilakukan pada setiap nilai x, yang jelas, x akan
dimulai dari 1, lalu ke-2, dst sampai ke-10
next x

Kasus prosesnya :
1. Hanya ingin memproses x dari 5 sampai 10 saja
Cara 1 : loop langsung mulai dari 5
     dim x as long
     for x=5 to 10
            'proses mengolah x diletakkan disini
     next x

Cara 2 : loop tetap mulai dari 1 sampai 10 karena rentang ini tetap
    dim x as long
    for x=1 to 10
          if x>=5 then    'kalau x lebih dari atau sama dengan 5 maka
                  'proses mengolah x bernilai 5,6,7,8,9,10 bergantian
          endif
    next x
*** Tidak perlu pakai else, karena memang prosesnya hanya akan mengolah
yang 5 sampai 10

2. Hanya ingin memproses x dari 1 sampai 4 saja
Cara 1 : seperti cara 1 di atas, tapi pakai for x=1 to 4
Cara 2 : seperti cara 2 di atas, tapi if-nya berbunyi if x<=4 then
*** Tidak perlu pakai else, karena memang prosesnya hanya akan mengolah
yang 1 sampai 4

3. Memproses 1 sampai 4 dengan proses 'a' dan untuk 5 sampai 10 dengan
proses 'b'
Yang ini pakai cara 2 :
   dim x as long, y as long
   for x=1 to 10
         if x>=5 then   'jika x sebesar 5 atau lebih
            'proses 'b' diletakkan disini, misalnya proses membuat nilai y
menjadi sebesar nilai x
             y=x
         else      'selainnya, yaitu jika x kurang dari 5 (bahasa lainnya,
jika x mulai dari 1 sampai 4 pada proses loop itu)
             'proses 'a' diletakkan disini, misalnya proses membuat nilai y
menjadi bernilai pasti 5
             y=5
         endif
   next x

4. Memproses 1 sampai 3 dengan proses 'c', 4 sampai 8 dengan proses 'd',
nilai 9 dan 10 diproses 'e'
   dim x as long, y as long
   for x=1 to 10
           if x>=9 then
               'proses 'e'
           elseif x>=4 then
               'proses 'd'
           else
              'proses 'c'
           endif
   next x

Bagaimana kalau proses 'e' adalah diprosedur bernama ProsesBernamaE, dan
proses 'd' di prosedur bernama ProsesBernamaD, dan proses 'c' adalah
membuat y pasti bernilai 0 ?
   dim x as long, y as long
   for x=1 to 10
           if x>=9 then
               'proses 'e', yaitu panggil prosedur bernama ProsesBernamaE.
               'Kalau sudah selesai menjalankan proses 'e', maka proses
kembali lagi ke sini dan siap ke x selanjutnya
               ProsesBernamaE
           elseif x>=4 then
               'proses 'd', yaitu panggil prosedur bernama ProsesBernamaD
               'Kalau sudah selesai menjalankan proses 'd', maka proses
kembali lagi ke sini dan siap ke x selanjutnya
               ProsesBernamaD
           else
              'proses 'c', membuat y bernilai 0, dan setelah itu, siap ke x
selanjutnya
              y=0
           endif
   next x

Dengan begitu, proses bisa bercabang kemana-mana bukan ?
Cara di atas, yaitu meletakkan proses yang panjang disuatu prosedur
terpisah, lebih dianjurkan dibanding menulis proses panjang itu di dalam
blok IF atau meletakkannya dibagian lain dalam prosedur yang sama dengan
memanfaatkan GoSub return atau memanfaatkan Goto.


Yang perlu diingat, blok IF itu syntaxnya :
*** yang merah dan diapit [ dan ] bersifat optional alias jika dibutuhkan,
***
*** yang biru adalah required ***
*** yang latar kuning [ ... ] adalah bentuk elseif untuk kondisi3, 4, dst
sampai n-1 yang juga bersifat optional (karena diapit [ dan ]) ***
IF kondisi1 then
       'proses kondisi1
[elseif kondisi2 then
       'proses kondisi2
]
[.
.
.]
[elseif kondisiN then
        'proses kondisiN
]
[else
        'proses selain kondisi yang ada
]
End IF


Regards,
Kid




2017-04-13 14:19 GMT+07:00 Mr. Kid <[email protected]>:

> Hai Heru,
>
> Bisa lebih diperjelas ?
> Dari x=1 sampai 10 itu, pengennya di x=1 proses apa, x=2 proses apa dst
> gitu..
>
>
>
>
>
> 2017-04-13 8:18 GMT+07:00 'Heru Safrudin' fcprocessing.bisikediri@bisi.
> co.id [belajar-excel] <[email protected]>:
>
>>
>>
>> Yth. B-Exceller,
>>
>>
>>
>> Bagaimanakah caranya melewati/melanjutkan loop jika melewati kondisi
>> tertentu ?
>>
>> Misal:
>>
>>
>>
>> For x=1 to 10
>>
>>    If x<5 then
>>
>> Harus melewati Next   <----- Bagaimana biar bisa melewati “Next”
>>
>>    Else
>>
>>      NILAI = x
>>
>>    End If
>>
>> Next
>>
>>
>>
>> Mohon bimbingannya
>>
>>
>>
>> Terima kasih
>>
>>
>>
>> Heru Safrudin
>>
>> 
>>
>
>

Kirim email ke