Share it

Algoritma Membuat Telur Dadar

1. Mulai
2. Beli telur auam
3. Nyalakan kompor
4. Masukkan minyak goreng dalam wajan
5. Letakkan wajan di atas kompor
6. Apakah minyak telah panas ?

  • Bila belum tunggu sampai panas
  • Bila sudah pergi ke langkah berikut
7. Pecah telur dan masukkan dalam mangkok
8. Kocok Telur
9. Apakah telur sudah tercampur
  • Bila sudah pergi ke langkah berikutnya
  • Bila belum kembali ke langkah 8
10. Masukkan telur dalam wajan
11. Apakah sudah matang ?
  • Bila belum, tunggu
  • Bila Sudah, ke langkah 12
12. Angkat Telur dari wajan
13. Matikan Kompor
14. Selesai

Have Your Excel a Ticking Timer

This is the way you have your Excel with macro can have timer and ticking


the code is
Dim ToStop As Variant

Sub ticking()
If ToStop <> "" Then GoTo ToExit
alertTime = Now + TimeValue("00:00:01")
Application.OnTime alertTime, "thisworkbook.ticking2"

Range("A1").Value = Now
ToExit:
End Sub

Sub ticking2()
If ToStop <> "" Then GoTo ToExit
alertTime = Now + TimeValue("00:00:01")
Application.OnTime alertTime, "thisworkbook.ticking"

Range("A1").Value = Now
ToExit:
End Sub

Sub StartTick()
ToStop = ""
ticking
End Sub


You can download the sample file

Converting Numbers to Says in Word of Text

Some time we need numbers says in word in a excel cell.

We can use excel function to convert it.


In that function there are several part of calculation :
1. Difinition of words to be used in arrays
2. Looping of three series of numbers.
3. Defining hundreds and teens.



Function SaysInText(Snumber As Double) As String
Dim a, b

'part 1. Definition of words to be used.
a = Array("", "One ", "Two ", "Three ", "Four ", "Five ", "Six ", "Seven ", "Eight ", "Nine ")
b = Array("", "Ten ", "Twenty ", "Thirty ", "Forty ", "Fifty ", "Sixty ", "Seventy ", "Eighty ", "Ninety ", "Hundred ")
c = Array("", "Thousand ", "Million ", "Billion ")
d = Array("", "Eleven ", "Twelve ", "Thirteen ", "Fourteen ", "Fifteen ", "Sixteen ", "Seventeen ", "Eighteen ", "Nineteen ")

tempor = Snumber

'Part 2. Looping for each three series of numbers.
i = 0
While tempor > 0

'part 3. Check the teens
If (Int(tempor / 10) Mod 10) = 1 And (tempor Mod 10) <> 0 Then
p1 = d(tempor Mod 10)
Else
P2 = b(Int(tempor / 10) Mod 10)
p1 = a(tempor Mod 10)
End If

'Part 4. Check the hundreds
If (Int(tempor / 100) Mod 10) = 0 Then
p3 = ""
Else
p3 = a(Int(tempor / 100) Mod 10) & "Hundred "
End If

SaysInText = p3 & P2 & p1 & c(i) & SaysInText

tempor = Int(tempor / 1000)
i = i + 1
Wend

End Function



You can find the sample file in the right Box

Converting entered date list to Status

Usually, if we want to convert entered date in the row list to become remark of status we use "IF" formula, like example below.







But actually we can use function in VBA to convert it. Just insert a module in the VBA project and copy paste herebelow
function .


Public Function StatusRem(dated As Range)

For i = dated.Columns.Count To 1 Step -1

If dated.Cells(1, i).Value <> "" Then

StatusRem = Cells(1, dated.Column + i - 1).Value

Exit Function

End If

Next i

StatusRem = ""

End Function




Now we can use that function as formula as example below :



This formula will return a text value of column header no matter how may column are in the list.

Excel as Database with Form

We can use Excel as a database, but some time we need a form for entering and updating data.
You may download the sample file i.e "FormDatabase.xls", for your reference.

in ID:

Kita bisa menggunakan Excel sebagai basis data, akan tetapi terkadang kita memerlukan sebuah form untuk pengisian dan pengubahan data. File contoh "FormDatabase.xls" dapat di-download sebagai referensi.

Controlling Execution - GoTo Statements

The most straightforward way to change the flow of a program is to use a GoTo statement. The statement simply transfers program execution to other line instruction, which must be preceded by a label (a text string followed by a colon, or a number with no colon). In the example below, the execution program firstly showing message box "Step 1" and after that jump to label Step3 and showing message box "Step 3" without executing message box "Step 2"


In ID :

Yang memiliki cara langsung untuk mengubah aliran program ialah menggunakan pernyataan GoTo. Pernyataan ini dengan simpel memindahkan aliran eksekusi program ke pernyataan pada baris yang lain, dilakukan dengan cara memberikan sebuah label. (sebuah teks string diikuti oleh tanda : atau sebuah angka tanpa tanda :).

Pada contoh di bawah, eksekusi program mula-mula menampilkan pesan "Step 1", kemudian akan melompat ke label Step3 untuk menampilkan pesan "Step 3" tanpa mengeksekusi penampilan pesan "Step 2".


Example :


Sub Coba()
Msgbox "Step 1"
GoTo Step3

Msgbox "Step 2"

Step3:
Msgbox "Step 3"

End Sub

Controlling Execution of VBA on Macro Excel

Some VBA procedures star at the top and progress line by line to the bottom. Most of recorded Macros work in this fashion. Sometime it needed to control the flow of routines by skipping over some statements, executing some statements multiple times and testing conditions to determine what the routine does next.

We can use i.e.

  • GoTo statements
  • If-Then construcs
  • Select Case constructs
  • Fo-Next loops
  • Do While loops
  • Do Until loops

In ID :

Beberapa Prosedur VBA memulai eksekusi perintah-perintah dari atas dan berlanjut baris per baris sampai di baris terakhir. Macro yang terekam sebagian besar berlaku seperti hal tersebut. Akan tetapi suatu saat diperlukan untuk mengkontrol aliran dari rutinitas yang ada dengan melompati beberapa pernyataan, mengeksekusi pernyataan beberapa kali dan melakukan pemeriksaan kondisi untuk menentukan rutinitas apa yang akan dilakukan kemudian.

Untuk melakukan hal tersebut dapat digunakan pernyataan-pernyataan tesebut di atas.

Running Macro Excel / Menjalankan Macro Excel

To run Macro Excel the security Level of Excel should not too high. There are ways to run Macro Excel.

  1. Thrugh Shortcut Key which has been defined during recording Macro using Macro Recorder.
  2. Save Macro with macro name = Auto_Open, so anytime the document is opened the macro will automatically run.
  3. In Macros dialog box,from Main Menu - > Tools ->Macro -> Macros. In Macro name box choose macro and click Run.

Untuk menjalankan Macro Excel, security level Excel tidak boleh terlalu tinggi. Bila terlalu tinggi macro, hanya macro yang secara digital telah ditandatangani atau yang telah disimpan di tempat yang terpercaya saja yang bisa dijalankan.
Ada beberapa cara untuk menjalankan Macro Excel baik yang dibuat melalui Macro Recorder atau melalui VBA code.

  1. Melalui Shortcut Key yang telah ditentukan pada saat memulai Macro Recorder.
  2. Menyimpan Macro dengan nama (Macro name) = Auto_Open, sehingga pada saat dokumen dibuka, Macro Excel tersebut langsung dijalankan.
  3. Melalui kotak dialog Macros, Di Menu Utama Tools ->Macro -> Macros. Pada kotak Macro name pilih Macro yang ingin dijalankan dan klik Run.

Recording a Macro Excel / Merekam Sebuah Macro Excel

Macro Recorder is a tool to change actions in Excel (like Copy, Paste etc) to become Visual Basic for Applications (VBA) code. Just select from Main menu Tools-> Macro->Record New Macro to show "Record Macro" dioalog box


Macro Recorder adalah sebuah bantuan yang mengubah aksi-aksi Excel (seperti Copy, Paste, buat Formula, mengubah lebar kolom dll) menjadi kode-kode program Visual Basic for Applications (VBA).
Caranya, dari Menu Utama, pilih Tools->Macro->Record New Macro untuk menampilkan dialog “Record Macro”.





  1. Pada box "Macro Name", masukkan nama Macro
  2. Pada box "Description", edit deskripsi Macro yang diperlukan.
  3. Shortcut Key, digunakan untuk menentukan tombol jalan pintas yang dapat digunakan untuk menjalankan Macro yang telah terekam. Contohnya bila ditentukan "Ctrl+K". Pada saat menggunakan dokumen excel yang bersangkutan, apabila tombol tersebut ditekan maka akan langsung menjalankan Macro yang telah terekam.
  4. Store Macro in, digunakan untuk menentukan dimana macro yang terekam akan disimpan.
    • This Workbook, artinya Macro akan direkam dan hanya dapat dijalankan pada dokumen yang bersangkutan. sehingga dokumen Excel lainnya tidak dapat menjalankan Macro yang tersebut.

    • Personal Macro Workbook, bila diinginkan Macro tersebut ada dan dapat dijalankan oleh setiap dokumen Excel yang sedang dibuka.

    • New Workbook, bila diinginkan merekam Macro di sebuah dokumen Excel lain yang baru.

  5. Untuk memulai merekam aksi-aksi ke dalam Macro, tekan OK.

  6. Mulai melakukan aksi-aksi yang Anda inginkan untuk dapat direkam dalam Macro.

  7. Bila selesai, pilih menu Tools->Macro->Stop Recording.



Untuk diketahui beberapa poin :



  1. Macro Recorder hanya cocok untuk Macro yang mudah atau merekam bagian kecil dari Macro yang lebih kompleks.

  2. Macro Recorder tidak dapat menggenerasi kode yang melakukan pengulangan, menentukan variabel, mengeksekusi perintah secara kondisi atau menampilkan kotak dialog.

  3. Kode yang dibangkitkan tergantung setting yang telah ditentukan.

  4. Akan sering dibutuhkan untuk membersihkan kode-kode yang tidak diperlukan.


Bekerja dengan menggunakan Macro Excel

Macro adalah deretan instruksi yang memperbolehkan Anda membuat Excel melakukan perintah-perintah atau aksi-aksi untuk Anda. Macro sangat berguna untuk tugas-tugas yang kompleks dan berulang-ulang dan dilakukan secara regular.
Macro tidak harus disertai dengan aktifitas pemrograman. Cara paling gampang untuk membuat Macro baru adalah meminta Excel untuk merekam aksi-aksi dan menyimpan aksi-aksi tersebut dalam bentuk Macro. Aksi-aksi dapat merupakan kombinasi dari beberapa perintah Excel.
Macro sangat fleksibel karena dapat dijalankan berulang dan dimodifikasi kapan saja.