Monday, October 27, 2014

Quran.

Bagi mengelakkan 2014 berlalu tanpa sebarang entri dalam blog cap Spiderman ini, maka aku pon menulis satu entri yang tak ikhlas di sini.

Aku dah jarang bukak Twitter. Terkesima bila mendapati banyak juga negativiti boleh dimuatkan dalam 140 aksara saja.

Selalu tulis dekat dinding Facebook saja. Kebarangkalian pendapat dibaca lebih tinggi.

Itulah itu.




Friday, December 27, 2013

Positif.

I'm not a fan of Prof Dr Muhaya nor any motivational speaker for that matter. I believe that if we need someone else to motivate us to do something good for ourselves then whatever we need to do will not really worth it for us. It might benefit us or someone else if we do it anyway but it is not sustainable.

I believe that we are responsible for our own motivation and destiny. I learnt this lesson a very long time ago - 19 years to be exact - in one of the modules of Kemahiran Hidup Bersepadu under Kemahiran Kendiri. You look in a ‘magical box’ where it will show you the most important person in your life. There’s a mirror in that box.

The thing is, we are fed with so much negativity and false information nowadays that even positive messages are viewed negatively. What Prof Dr Muhaya said, which has now become the subject of criticism from most rakyat - is actually very practical and might be the truth pill that we don't want to swallow. We prefer to react negatively – condemning and complaining – instead of taking positive actions by actually doing something to change the negative situation in a positive one.

If we listen carefully to what she actually said entirely instead of pick and choose what we only want to hear, what she said makes perfect sense.
“Orang yang bijak, dia menyelesaikan masalah. Sebelum berlaku dia dah prepare”
 “Betulkan diri sebelum betulkan orang”
“Orang yang berjaya buat pilihan. Orang yang tak berjaya mencari alasan”
Let’s talk politics in the context of these words.

We failed to change the government. We knew that it was not a level playing field back then, yet did we do something about the situation? Yes, demonstration here and there, Bersih and what not, but did that changes the situation? Slightly perhaps. What else can we do? More demo? Doing the same thing all over again? This is what Einstein said about crazy people. Doing same thing again and again but expecting different result.

We claimed the electoral role is not clean, gerrymandering etc. We complained and whined. Pointing out what is wrong but doing nothing effective to change the situation. Did we organize a team to help SPR to clean the role? Did we send more people to campaign at the ‘hardcore’ areas? No. It is not our job to do so. Again, excuses. The mechanism and process is there for us to use and for them to exploit. Unfortunately, we did not use and they did exploit. We lose, they win. What did we do afterward? More demo. Einstein pon geleng kepala.

Anyway, this thing is in the past but five years from now it will bound to happen again. So, are we doing something now? Or  should we wait again to demo and demo and demo with no result except bruising here and there, a bad reputation for the Country, negative effect to the fence-sitters and exploitation opportunity from the other side?

Yes, this Country is run by idiots. We already established that. Can we change it now? No. Can we do something to change it in the future? Yes. So, start doing it!

Now, back to our situation.

We are faced with this negative situation of increasing cost of living, increase fuel price, increase toll, increase electricity tariff etc. What we need to do now is take positive actions. How can we change the situation positively? Now, listen back to what Prof Dr Muhaya said and tell me if she’s wrong or are you going to start blaming others again?

Let me share this fomula which I learned in school: DUIT. I’ve enhanced it to DUITSS.

  • First thing, DOA. We need to do is change our mindsets, specifically, the victimized mindset. Be positive. Take charge. Praying is a good tool to reinforce positive mindset.
  • Second, USAHA. Take effective action. Do something productive. Put effort to it. 
  • Third, ISTIQAMAH. Be consistent and steadfast. If we want others to change, we first need to change. If the rules apply to others it should apply to us all. 
  • Fourth, TAWAKAL. Now that we’ve change our mindset, take effective action and become consistent and steadfast, we should leave the rest to Allah or to whichever God you believe if you are not a Muslim. To Nature or whatever if you are an atheist. There are things that we can control and there are things that we can’t. This is the fact that we need to accept in order to move forward.
  • Fifth, SABAR. Be patient if the things did not turn out the way we expected. If we are a Muslim, this is what Allah said: “Mintalah pertolongan dengan cara sabar dan solat” (Quran 2:45)
  • Sixth, SYUKUR. Be thankful for what we get and what we already have and also for the things we don't have yet as it will give us something to look forward to. “Sesungguhnya jika kamu bersyukur, pasti Kami akan menambah (nikmat) kepadamu” (Quran 14:7) 


Being positive doesn’t mean we accept the situation. Being positive is about changing a negative situation positively.  Look at problems as opportunities. I believe this is what all the people in power that we hate so much have been doing and look where it gets them. And we, the rakyat who complained and whined, what do we get? Yes, them.

So, instead of criticizing a person who is basically have more brain than most of us, who is basically correct in what she said, go look in a mirror. That is the person we should be criticizing instead for not doing enough.

Monday, September 30, 2013

Objek.

Just when I was rejoicing about the simple solutions I have discovered, I'm facing a new problem: a bug Microsoft did not fix since 2003 (or probably earlier than that) with Multipage control, which shows wrong Page content.

The Multipage's Tab and all other Controls on the Userform are referring to the Page I wanted, say PageMe but the content dispayed in the Multipage is from another page, say PageYou. This happens after a Multipage_Change event procedure which tell the Multipage to return to PageMe if user changes to PageYou but the condition in a TextBox, say TextMsg on PageMe is still not met.

Say PageMe index is 0 and PageYou index is 1, and the Multipage name is MultipageUs, the simple code is something like this:

Private Sub MultipageUs_Change()
     If TextMsg = "#" Then MultipageUs.Value = 0
End Sub

Since I cannot disclose much information about my actual project here, the problem is basically similar to the ones found in the following links:

http://www.ozgrid.com/forum/showthread.php?t=165876

http://dailydoseofexcel.com/archives/2004/07/20/bug-multipage-controls-on-2003/

I've tried the workarounds suggested using Application.OnTime, the Value = Value - 1 etc, but still the problem persist.

My only option here is to disable something that I really do not want to disable.

Although I'm not sure if there if there is anyone who read my post, I'm going to take my chances: Do you have any other possible solution or a workaround? If you have, please tell me and I will treat you with Sate Jalee if you ever come to Kerteh.

Thanks.

Sunday, September 29, 2013

Nakharom.

It is one of those "duh" situation.

I am working on a VBA project which links Excel with SAP FrontEnd.

Bla bla bla... I discovered a problem whereby I can't remove focus from a Userform Button after clicking on a Msgbox prompt or when another sub-Userform is loaded.

Yes, I tried using SetFocus to another Control, putting the whole object reference i.e. Userform1.Button1.SetFocus, setting a dirty Boolean to terminate, setting another event etc... yet it still didn't work. No error was thrown by VBA though, but there was a problem since there is another procedure to disable the darn Button after pressing 'No' in the Msgbox prompt or cancelling the sub-Userform. Basically, in the scenario I was testing, I end up with a disabled Button which has focus. Weird and everything else stuck except for the Esc key.

After two sleepless nights trying to figure a workaround, I was still unable to solve this issue.

Yes, I googled too... that is the first thing anyone will do when stuck with a problem isn't it? Anyway, if someone has discovered the solution out there, it will probably end up in page 2 or 3 (or further down...)

Finally just now, I discovered the solution: a Control property which is rarely mentioned in VBA books: TakeFocusOnClick.

I set it to False and voila! Problem solved!

I also I discovered how to reactivate Excel window after SAP CreateSession on an active GuiSession object. 

I tried AppActivate and even an API call procedure which I don't even understand but Excel icon will only blinks on the taskbar. Excel did not actually open back and I still see the ugly SAP interface. 

Solution was using GuiMainWindow.Iconify method. It minimizes the SAP GUI window and I got what I wanted.

Ah, two simple solutions for problem I was having for days.

Puas.

Wednesday, May 8, 2013

Maka.

Pasca Pilihan Raya Umum ke 13.

Aku marah.

Aku juga kecewa calon-calon yang aku pangkah tidak berjaya memenangi kerusi DUN atau Parlimen, dan parti mereka tidak berjaya membentuk kerajaan Negeri atau kerajaan Persekutuan.

Tapi aku tidak marah atau salahkan UMNO atau BN walaupun mereka tidak 'gentlemen' dan adil dari segi penggunaan 'mainstream media', menyalahgunakan platform dan kemudahan Kerajaan Malaysia untuk berkempen untuk parti mereka dan lain-lain. Dah kebanyakan mereka memang korup dan perlu ditukar, what do you expect?

Aku juga tidak marah atau menyalahkan SPR dari segi ketelusan proses mengundi. Berdasarkan peruntukan Perlembagaan, Undang-undang, Peraturan-peraturan serta Garis Panduan yang sedia ada berkenaan pilihan raya, aku rasa langkah-langkah mencegah penipuan atau saluran bantahan sudah mencukupi. Yang aku tak puas hati kepada SPR ialah isu dakwat kekal yang mudah luntur. SPR di sini bukan petugas-petugas sukarela atau kerani pilihanraya tapi Pihak Atasan/Pengurusan SPR.

Dalam perihal dakwat kekal yang mudah luntur, memang wajar SPR dipertanggungjawabkan. SPR perlu mendedahkan pihak mana yang telah membekalkan dakwat berkenaan. Jika pihak pembekal itu tidak dapat menjelaskan bagaimana dakwat itu luntur dengan mudah, maka haruslah pembekal itu didakwa kerana menipu. Jika SPR tidak mendedahkan siapa pembekal, maka SPR lah yang harus dipersoal dalam hal ini. Jika memang berlaku kecuaian dari pihak SPR, maka seseorang perlu menerima padah yang setimpal.

Dakwat kekal ini isu kewibawaan (integrity) SPR dalam mentadbir urus perkara-perkara berkaitan jual beli peralatan untuk kegunaan pilihan raya negara. Kalau perihal senarai pengundi berdaftar (electoral roll), SPR tidak patut dipersalahkan sepenuhnya, tapi isu dakwat ni memang salah SPR semata-mata. Goncang atau tak goncang.

Anyway, berbalik kepada isu kemarahan aku.

Aku marah kepada sikap kawan-kawan yang suka panggil orang lain 'macai' walhal tak sedar diri tu sendiri dah jadi 'barua' (sebut macam Cikgu Mehat Man sebut) jugak. Pandai cakap soal hudud, hukum agama tapi langsung tak rasa berdosa bila sebar berita yang tak betul, separuh betul, atau sekadar tuduhan-tuduhan tanpa bukti atau ada 'bukti' juga... 'bukti' yang meragukan.

Aku marah, bila saling tuduh menuduh tapi bila pihak lawan keluar 'bukti', laju je hangpa keluar statement ini 'superimpose', edit, berlakon, green screen, palsu dan sebagainya. Siap masing-masing jadi pakar itu ini. Kalau pihak sendiri confirm betullah... Kalau pihak orang lain confirm fitnah lah...

Hipokrit. Dua-dua belah sama.

Kebenaran tak boleh campur dengan kebatilan. Bila tang pihak lawan, tau jugak hangpa pakai ayat ni. Tapi kalau kat batang hidung sendiri, langsung tak nampak.

Kalau tak pasti tentang sesuatu, cari kepastian dulu. Tanya orang yang lebih ahli, yang tahu atau berada di tempat kejadian dan menyaksikan sendiri apa-apa yang patut disaksikan. Bukan adik ipar sebelah mak sedara tokwan dia yang nampak. Biar dia sendiri yang nampak.

Hangpa bila sembang hukum agama kencang, tapi bila sendiri buat dosa yang lebih teruk dari membunuh, rileks je. Oh, ini untuk perjuangan.

Bila ditegur, hang kata "dah depa buat lagi teruk, awat kami buat tak boleh?"

Dah tau depa teruk, hang nak jadi teruk macam depa jugak ka? Tu yang aku kata hang tu pon macai barua jugak. Marah betul aku la.

Paling aku kecewa bila golongan-golongan berpendidikan tinggi pun buat jugak perangai macam ni sebab dah fanatik dengan parti atau pemimpin masing-masing. Yang membawa imej Islam pon buat jugak perangai ni.

Aku rasa hangpa zalim kepada anugerah akal yang Allah bagi. Hangpa konon nak lawan kezaliman tapi hangpa sendiri zalim. Sampai bila-bila la hangpa rasa kezaliman tu selagi hangpa sendiri tak berubah.

Sepatutnya kita sebarkan mesej-mesej positif dan mengajak ke arah kebaikan, mengajak kita mencari ilmu atau mengajak kepada berfikir bagaimana untuk menyelesaikan masalah bersama. Bukannya sebarkan kebencian dan keraguan tak berasas.

Marah takpa, marah perkara yang betul, dengan cara yang betul.

Tak setuju takpa, beri cadangan lain dan sekiranya cadangan tak diterima, berlapang dada sebab yang buat keputusan itu mungkin tahu apa yang kita tak tahu dan dia yang akan dipersoalkan nanti.

Jangan emosi mendahului akal. Mempercayai tanpa mengkaji. Bercakap tanpa ilmu.

Kalau ada saluran yang sepatutnya untuk mengadu, gunakan. Tak payah nak berdalih-dalih kalau belum pakai saluran yang ada. Bak kata seorang calon dalam kempen beliau: "Nak seribu daya. Tak nak seribu dalih" tapi sayangnya bos dia sendiri tak buat gitu.

Toksah dok perkauman sangatlah. Kata satuuu..... apa??? Satuuuu.....

Dua tiga, do re mi...

Sekian.
p/s: Sori. Ngantuk tapi tak boleh tido selagi tak tulis mende ni.






Sunday, May 5, 2013

Lalai



Alhamdulillah.

Proses pembuangan undi telah pun tamat sekitar pukul 5.00 petang tadi. Masa untuk kita sama-sama menanti keputusan rakyat Malaysia tentang siapakah yang majoriti kita pilih untuk mewakili suara kita di Dewan Undangan Negeri dan Dewan Rakyat nanti.

Hari ini merupakan kali pertama aku mengundi walaupun aku telah layak mengundi sejak PRU 11 lagi. Kenapa baru sekarang? Sebab dulu malas. Haha.

Bukan, bukan.

Aku mula mengundi tahun ini kerana aku mulai yakin yang Malaysia telah dan sedang berubah. Sama ada melalui Transformasi atau Reformasi, perubahan itu memang berlaku.

Perubahan memerlukan segala sokongan dan dorongan yang diperlukan untuk memastikan arah tuju itu ke arah yang lebih baik. Satu (secara teknikalnya dua) undi daripada aku itu sebenarnya menyumbang kepada perubahan yang akan berlaku. Undi itu juga adalah salah satu tanggungjawab asas sebagai warganegara Malaysia yang perlu dan telah aku laksanakan. Tanggungjawab seterusnya ialah memastikan keputusan yang datang daripada undi kita ini - tidak kiralah memihak kepada pihak mana - benar-benar akan membawa perubahan dan jika tidak berlaku, maka kita perlu memastikan ia berlaku.

Dalam Pilihan Raya Umum ke 13 ini, aku telah mengambil langkah tidak menyebelahi Barisan Nasional (BN) atau Pakatan Rakyat (PR) atau ISMA atau mana-mana calon Bebas melainkan cap Ayam sebab aku ada t-shirt cap Ayam.. Maka aku mengumumkan aku seorang ahli KARIPAP supaya penyokong-penyokong tegar mana-mana parti tidak salah anggap aku menyokong pihak yang satu lagi sekiranya aku tidak bersetuju dengan mereka. Walau bagaimanapun pengumuman itu tidak berjaya juga menghakis tuduhan-tuduhan dan kecaman-kecaman daripada penyokong parti yang berkenaan terutamanya PR sebab ramai kawan-kawan media sosial aku cenderung kepada PR.

Pada pemerhatian aku, dari permulaan sampailah sekarang, aku dapati masing-masing tidak bersikap adil dan bersih terhadap orang lain dan diri mereka sendiri. Masing-masing menyembunyikan, memanipulasikan dan memainkan sentimen, maklumat, andaian dan spekulasi yang hanya menyebelahi pihak masing-masing dengan matlamat untuk menang pilihan raya dan bukannya untuk menegakkan kebenaran atau kesejahteraan rakyat. Semua tidak berkecuali dalam hal ini termasuklah PAS. Cuma PAS kurang sikit je daripada yang lain. Aku kengkadang sedikit kelakar bila penyokong PR yang mendakwa BN memperbodoh-bodohkan rakyat, turut memperbodoh-bodohkan rakyat juga dan diri mereka sendiri.

Tidak ramai rakyat Malaysia yang mengundi setelah membuat penilaian masak-masak. Ramai yang terdorong semangat kepartian atau perasaan ingin memberontak terutama yang masih muda macam aku ni. Kematangan politik itu masih jauh ketinggalan walaupun ada satu dua golongan yang mengambil pendekatan yang sama dengan aku iaitu menilai secara objektif dan membuat keputusan berdasarkan fakta yang ditapis sendiri dan bukan yang disuapkan oleh satu pihak saja.

Aku mengundi berdasarkan pemerhatian sekeliling dan apa yang aku rasa satu fakta dan bukan satu tuduhan, khabar angin atau semata-mata spekulasi.

Aku mengundi bukan berdasarkan video seks sapa goyang lagi kuat, spender siapa lagi besar, aiskrim mana lebih manis, sumpah siapa paling makbul kat Mekah ke kat dalam Masjid, junjung Quran ke tak, calon tu gay ke lesbian, ejen Yahudi ke tak... sebab semua ini adalah perkara yang tidak penting kerana ada perkara yang lebih besar yang harus difikirkan iaitu halatuju diri aku sendiri.

Kenapa aku cakap lebih besar? Sebab memang aku besar pon. Sebab untuk mengubah sesuatu, haruslah mengubah diri sendiri dulu. Halatuju diri sendiri dipengaruhi oleh dasar-dasar negara yang akan mempunyai kesan langsung kepada aku.

Maka aku pun membuat keputusan dengan memikirkan "Whats in it for me?"

Untuk DUN, keputusan itu agak mudah dilakukan berdasarkan apa yang berlaku sejak lima tahun aku tinggal di sini. Kemunculan calon ketiga (sayangnya bukan calon cap Ayam) membuatkan keputusan itu susah sikit tapi setelah menilai perihal calon itu, siapa yang patut aku pangkah agak jelas.

Untuk Parlimen, waktu tengah beratur nak undi sambil main Candy Crush Saga  pun aku masih belum betul-betul buat keputusan lagi.  Sebab tersekat dekat level 30 game tu.

Sebab calon yang menyandang kerusi itu adalah calon yang baik. Ada hubungan peribadi dengan seseorang yang aku kenal. Nampak hasil kerja yang dia usahakan sebagai penyandang kerusi. Dia memang orang sini.

Calon lagi sorang langsung aku tak kenal, Katanya dia orang daerah lain. Tak tahu apa pencapaian dia melainkan seorang yang setia kepada parti.

Walau bagaimanapun, setelah jari aku dicalit dengan dakwat kekal yang tak kekal tetapi halal walaupun digoncang, aku baru teringat kenapa aku mengundi kali ini.

Aku mengundi untuk perubahan.

Semoga undi aku membawa perubahan malam ini.

Amin.

p/s: Ini cubaan menulis ikut skema bahasa kebangsaan,



Sunday, April 28, 2013

Kerana.

Minggu depan Pilihan Raya Umum ke 13. Undilah betul-betul. Jangan buat undi rosak.

Saya selaku pengasas dan ahli Kelab Angkatan Rakyat Independen Pengundi Atas Pagar (KARIPAP) ingin menyeru agar anda memilih secara berhemah, gunakan akal bukan emosi, dan jangan terbawa-bawa dengan political fanatism sampai merugikan diri sendiri.

Berikut adalah panduan memutuskan undi ragu sebagai rujukan anda bagi mengelakkan undi anda ditolak oleh SPR.

Ini arahan kepada Pegawai Pengurus/Penolong Pegawai Pengurus/Ketua Tempat Mengundi:


Berikut merupakan contoh undi yang diterima:










Berikut contoh undi rosak:







Sekian, terima kasih.

Ini kalilah...bukan lain kali.



Friday, April 12, 2013

Jangan.

Baru saja selesai membaca email farewell Rafizi Ramli kenapa dia resign dari Kompeni walaupon dah empat tahun email tu ditulis. Sangat boleh relate dengan apa yang dia tulis dari awal sampai akhir.

Aku dah kerja dengan Kompeni nak masuk lapan tahun dah. Bermula dengan HR dan Admin dekat suasana korporat dalam business Exploration dan Production sehingga ke bahagian Maintenance dekat suasana kilang dalam business Gas dan Power. 

Permulaan kerja memang sangat mencabar. Satu, sebab aku tak buat bidang yang aku pelajari. Aku amik Engineering, tapi buat HR. Dua, diletakkan dalam jawatan yang sepatutnya dipegang oleh orang senior. Tapi sebab position tu tak graded waktu aku masuk, lepas job evaluation position description yang aku draf berdasarkan apa kerja yang aku buat, baru tau position tu E2. Aku seeding E1 je kot time tu.

Tapi, macam yang Rafizi tulis dalam email dia, walaupon susah dan stressful, tapi suasana kerja sangat condusive dan memberi kepuasan dengan bos-bos yang supportive, bagi guidance dan coaching serta colleagues, officemate yang best-best belaka. 

Memang budaya kerja Kompeni awal-awal aku kerja dulu aku  macam tu. Seronok bekerja. Walaupon ada juga bos yang teruk macam bos Rafizi sebelum dia resign tu, tapi bukan majoriti dan kewujudan mereka agak terpencil. Kira malang jugalah nasib Rafizi dapat immediate bos gitu.

Memang terdapat perubahan culture dalam Kompeni sejak tahun 2009. Memandangkan aku masih bekerja dalam Kompeni, tak dapatlah aku nak cerita panjang-panjang dekat sini. Masih ada dua tahun bond yang perlu dihabiskan dan aku kalau boleh tanaklah kena buang kerja sebelum habis tempoh bond tersebut.

Tunggulah, dua tahun lagi insyaAllah...

Eh, aku sebenarnya nak tulis pasal kejayaan memahami VBA-SAP scripting... lain kalilah.



Saturday, January 5, 2013

Itu

As expected, no one commented my last post. Never mind, I'm posting my solution anyway.

Be warned though, as a non-programmer who only started using Excel VBA less than a month ago, my codes are not really efficient.

Nevertheless, the trainer for VBA fundamental offer this advice before our session ended;
"As long as your code is working, who cares whether it is efficient or not? You are not a programmer. Even if your code is super efficient, PC nowadays are so fast the different will only be like a few seconds... or milliseconds. What important is you understand your codes and able to use it"
For those of you who never use VBA before, here's a quick guide to start:
1. Open MS Excel, press alt + F11 to open the VB Editor.
2. At the menu bar, Insert > Module. You write your codes in here.

Here's how I did it:

1. Use VBA Split function to create an array from the cell with the equipment list.

Sub BreakItUp()

Dim eqListCombined As String
Dim eqList As Variant
Dim eqListNo As Integer

eqListCombined = ActiveCell.Value

eqList = Split(eqListCombined, Chr(10))
For eqListNo = LBound(eqList) To UBound(eqList)
   ActiveCell.Offset(1, 0).Select
   Selection.EntireRow.Insert
   ActiveCell.Value = eqList(eqListNo)
Next eqListNo




2. Copy down everything on the left side of the initial cell.

Dim i As Integer
Dim KiraColumn As Integer

KiraColumn = ActiveCell.Column
ActiveCell.Offset(0 - eqListNo, 1 - KiraColumn).Resize(1, KiraColumn - 1).Copy
ActiveCell.Offset(0 - eqListNo, 1 - KiraColumn).Select
For i = 1 To eqListNo
    ActiveCell.Offset(1, 0).PasteSpecial xlPasteValues
Next i
Application.CutCopyMode = False


3. Copy down everything on the right side of the initial cell.

Dim KiraRange As Integer
Dim j As Integer

ActiveCell.Offset(0 - eqListNo, KiraColumn).Select
KiraRange = ActiveCell.CurrentRegion.Columns.Count - ActiveCell.Column + 1
ActiveCell.Resize(1, KiraRange).Copy
For j = 1 To eqListNo
    ActiveCell.Offset(1, 0).PasteSpecial xlPasteValues
Next j
Application.CutCopyMode = False


4. Calculate the manhour per equipment on the right side of the intial cell

Dim k As Integer
Dim m As Integer

ActiveCell.Offset(1 - eqListNo, 0).Select
For k = 1 To eqListNo
    For m = 1 To KiraRange
        If ActiveCell.Offset(0, m) <> "" And IsNumeric(ActiveCell.Offset(0, m).Value) Then
            ActiveCell.Offset(0, m) = ActiveCell.Offset(0, m) / eqListNo
        End If
    Next m
    ActiveCell.Offset(1, 0).Select
Next k


5. Go back to the 1st cell and delete the entire row then go to the next equipment list row to be processed.

ActiveCell.Offset(-1 - eqListNo, -1).Select
Selection.EntireRow.Delete

ActiveCell.offset(eqListNo,0).select

End Sub


Basically, the above codes should be able to do the things I described in my previous post. By assigning the macro to a letter, say 'b', I can just press 'ctrl + b' all the way to the last line.

Of course in my example, there are only six rows. In the real worksheets that I wanted to process, the row number ranges from just seven to 1,873 rows per sheet.

Boleh patah jari woo tekan 'ctrl + b' 1,873 kali! So...

6. Create a simple procedure to loop the above process until it reaches a blank cell.

Sub loopBreakItUp()
Do Until ActiveCell.Value = ""
    Call BreakItUp
Loop
End Sub 


Maka selamatlah jari kita dari kelenguhan.

In my module, I've entered some other codes to check whether the right cell is selected, to remove funny characters, to skip rows which do not require processing (i.e. the cell contains only one equipment). etc. But you probably wont need them anyway.

If you are a programmer or used VBA before, you probably noticed that my codes are not 'hard-coded'. This means you can probably use this code even if the format of your data is not as same as mine.

So, that's it. My first Excel 2010 VBA project. Did it to assist my colleague, Mek Yam with her tasks.

Thanks for going through it. Feedback and question are always appreciated.

p/s: You can use the above codes at your own risk. Please backup any file before you execute the VBA codes.

Friday, January 4, 2013

Haprak

So, let me just share something about my first VBA project in MS Excel 2010.

I have a database of Preventive Planned Maintenance (PPM) activities saved in Excel worksheets. The PPMs are organized in a roster, where each PPM takes one row of the worksheet. For each PPM, there is a list of equipment stored in one cell, and manhours stored in a few cells along with other information.

Here's a screenshot of the original data:


I want the equipment list to be separated into individual cells in a new row with its PPM data copied, and the manhours divided per equipment.

Basically, this is the result that I want:


Before I share my codes, how would you do it?

Erm... I'm asking like someone actually read my blog... but who knows...

Thursday, January 3, 2013

Gaya

I cant believe I only made one entry in 2012. Ha ha.

2012 was a rather tough year. After five years in HR, I finally moved out and became a maintenance system 'expert user' (a clueless 'expert' actually), and by default required to lead my division in a Group-wide system migration project which was finally rolled out a couple of days ago.

At the same time I was struggling with post-surgery sciatica and back pain which resulted in me to undergo one major surgery to screw two flexible metal support on my lumbar spine earlier last year, then a minor surgical procedure to 'clean-up' the area around the implant, just a couple of months ago.

Well, let just say due to the pain I was suffering, I was screwed, literally, as well as metaphorically.

That basically sum my 2012. Plus, I decided to go bald.

Anyway, less than a month ago I went for a training on Excel VBA Fundamental. Tired of using so many nested functions and formulas in cells to do what I want to do in Excel all this while, I decided to go for this training.

I regretted attending that training... 7 years too late. This is probably the most useful corporate-sponsored training I ever attended since I started working with this Company. I started using VBA right away after coming back from the training.

Well, for those of you out there whose job uses a lot of MS Excel, I would recommend that you go for this course, provided that you already know and used some of the more 'advance' feature of the software. If you do not know how to use the pivot table or even the vlookup function correctly, don't bother.

Actually, I wanted to share my first decent VBA 'project' in this blog so that others can comment or learn something from it but since getting back from office today, I was too occupied with house chores. The codes is not fully completed yet, although I've managed to get it to do the things I wanted it to do.

Wait, what did you say? Just copy + paste the codes?

Nope..

If one thing I learned from 2012 is this: try not to present half-cooked material to avoid you yourself from being cooked (or grilled) by your audience.

Good night.


Sunday, October 21, 2012

Faham

Semalam sebelum tidur aku bayangkan aku bangun pagi ni, segar, tak skit, solat, bersiap, siapkn Soleh dan Syifaak, hantar mereka ke taska dan tadika, lalu ke ofis, awal, untuk bekerja dengan penuh dedikasi...

Nampaknya dalam mimpi pun apa yang aku bayangkan tak menjadi.

Bangun dan kesakitan itu datang lagi. Tercapik-capik pergi solat. Mak yang siapkan budak-budak dan hantar ke taska. (Terima kasih Mak...)

Aku kembali terbaring. Cuba mengurangkan kesakitan dengan senaman regangan yang diajar waktu terapi fisio. Makin buat makin sakit. Dalam kepala tak berhenti berfikir kenapa dan kenapa.

...Dan di luar hujan turun menambahkan kedinginan pagi bumi Kerteh. Dan menambahkan denyut-denyut di pinggang dan kaki.

Dalam bilik ini juga tiba-tiba ada air yang menitis.

Wednesday, November 16, 2011

Engkau

Saya ingin berkongsi sedikit pengajaran (lesson learnt) daripada kejadian yang menimpa saya sekeluarga semalam supaya kita semua dapat mengambil langkah berjaga-jaga bagi mengelakkan kejadian yang sama daripada berlaku.

Apa yang berlaku:


  • Rumah saya di Bandar Baru Kerteh telah dipecah masuk semalam (15/11/2011) di antara pukul 2.00 – 6.00 pagi ketika kami sekeluarga berada di dalam rumah!

Barang yang dicuri:


  • Beg tangan isteri berisi dompet, satu set kunci rumah dan sebuah netbook. Dalam dompet tersebut ada wang tunai (beberapa ratus ringgit), kad kredit, kad ATM, KP sementara dan lesen memandu isteri.

Kerugian lain:


  • Gril belakang yang dipotong.

  • Kunci mangga yang perlu diganti.

  • Alat berkebun yang digunakan untuk mengumpil pintu rumah.
Bagaimana kejadian terjadi:


  • Penceroboh mengumpil kunci pintu dapur, memotong bahagian gril yang lemah (corak daun) dan masuk melalui bukaan sempit yang dihasilkan.

  • Menurut pihak polis, pencuri mungkin menggunakan seorang kanak-kanak untuk masuk melalui bukaan tersebut.

  • Penceroboh melarikan diri dengan membuka pintu menggunakan kunci rumah.




Tindakan yang telah diambil:


  • Melaporkan pada pihak polis.

  • Menelefon semua bank untuk block semua kad.

  • Menukar semua mangga kunci rumah memandangkan satu set kunci rumah turut hilang dalam kejadian.

Modus operandi Penceroboh:

“Lawatan Pertama”


  • Beberapa hari sebelum Hari Raya Haji dua orang lelaki datang ke rumah menawarkan khidmat potong rumput.

  • Salah seorang memperkenalkan diri sebagai ‘Din’ (suspek) dan memberi nombor telefon 09-8261433 bila diminta (panggilan tidak berjawab sejak pagi tadi)

  • Suspek agak ‘ramah’ dan bertanya pelbagai soalan berkenaan rumah dan diri saya termasuk kampung asal, berapa lama tinggal, berapa orang ahli keluarga, keadaan rumah dsb.

  • Suspek turut menawarkan perkhidmatan lain seperti pendawaian, menambak laman dan menanam rumput dan bertanya bila saya ada di rumah untuk membolehkan dia datang buat kerja.

  • Saya membenarkan suspek memotong rumput dengan upah RM20.

“Lawatan Kedua”


  • Beberapa hari selepas Hari Raya Haji, suspek tiba-tiba datang lagi sekitar Maghrib menawarkan pasir, kononnya ada lebihan dari kerja tempat lain. Saya menolak.

  • Suspek cuba mendesak dengan menawarkan untuk membersihkan halaman, membuang batu-batu dan menambak pasir dan bertanya sama ada saya ada di rumah atau tidak pada hari esoknya.

  • Setelah ditolak, suspek menawarkan pula ikan segar, kononnya dia baru pulang dari laut.

  • Saya bersetuju untuk beli sikit (2kg dgn harga RM10/sekilo) dengan niat untuk membantu dan supaya dia cepat beredar dari rumah saya.

  • Saya membayar dengan not RM50 memandangkan tiada duit kecil. Suspek menyatakan dia tiada duit kecil dan mahu ke stesen minyak berdekatan untuk menukar baki.

  • Suspek tidak kembali selepas itu.

Pengajaran/Langkah-langkah pencegahan:


  • Jangan terima/benarkan orang yang datang untuk potong rumput/bertukang/kerja-kerja lain dengan tiba-tiba walaupun upah yang diminta murah.

  • Sekiranya dia masih merayu/mendesak minta nama, nombor telefon, alamat dan tengok nombor plat kenderaan yang dinaiki oleh orang-orang berkenaan. Jika boleh, ambil gambar.

  • Jangan melayan perbualan ‘ramah’ orang yang tidak dikenali supaya tidak mendedahkan perkara-perkara yang membolehkan dia mengagak bila rumah tidak berpenghuni, jadual harian kita dsb.

  • Jangan tinggalkan kunci rumah dan barang berharga terutama wang tunai di ruang tamu, dalam kereta atau di tingkat bawah (sekiranya bilik tidur di tingkat atas).

  • Kalau terdengar bunyi yang pelik, jangan abaikan sebagai bunyi kucing, angin atau sebagainya. Periksa sambil membawa sesuatu yg boleh dijadikan senjata, just in case.

  • Sentiasa kunci pintu pagar rumah setelah masuk ke dalam rumah dan apabila keluar. Ketika “Lawatan Kedua”, suspek masuk terus sehingga pintu hadapan rumah ketika Maghrib.

  • Jangan tinggalkan alatan berkebun seperti cangkul, garfu tanah, rake dsb di luar rumah.

  • Sentiasa awasi dan selia kerja-kerja yang dilakukan oleh kontraktor/tukang walaupun di kawasan luar rumah.

  • Sentiasa berwaspada dengan orang yang tidak dikenali. Jangan mudah percayakan orang.

  • Simpan nombor balai polis berdekatan (Polis Kerteh: 09-8261222).

Langkah-langkah pencegahan lain (bergantung pada bajet/situasi)


  • Pasang sistem penggera atau CCTV.

  • Tukar gril kepada jenis palang biasa yang sukar dipotong atau dibengkokkan.

  • Pasang kunci jenis selak pada pintu kayu.

  • Menubuhkan rukun tetangga untuk kawasan perumahan.

Mujur…:


  • Barang-barang berharga lain kebanyakannya berada di tingkat atas rumah.

  • Penceroboh tidak naik ke tingkat atas rumah dan tidak mengapa-apakan anak-anak dan isteri.

Lain-lain:


  • Ini merupakan kejadian ketiga pecah rumah di kawasan rumah saya yang mensasarkan rumah lot tepi. Cara pecah masuk hampir sama (melalui pintu belakang, dan gril dipotong)

  • Penceroboh semakin berani kerana memecah masuk ketika ada orang di rumah. Kes-kes sebelum ini selalunya berlaku ketika tiada orang di rumah dan pada musim cuti.

  • Penceroboh selalunya mencuri wang tunai, atau barang-barang berharga yang senang dibawa dan dijual seperti barang kemas, laptop dan telefon bimbit.

  • Penceroboh berkemungkinan penagih dadah yang terdesak. Golongan sebegini adalah sangat berbahaya. Jangan ambil tindakan melulu sekiranya berhadapan dengan mereka.

Sekian, terima kasih.

p/s: Nota ini telah di email kepada rakan sekerja untuk tindakan bersama. This incident has left me traumatized and I hope it will not happen to anyone else, anywhere.

Tuesday, October 25, 2011

Dongeng

Adalah satu malapetaka bila 'opiniated people' diberi kaedah-kaedah menyuarakan pendapat masing-masing secara percuma tanpa risau soal tanggungjawab, kesan, kesahihan, integriti dan sebagainya melalui media-media tradisional dan baru.

Internet, adalah malapetaka besar ummat manusia. Dengan terciptanya blog, Facebook, Twitter dan konco-konconya, maka lengkaplah malapetaka ini.

Fitnah. Kepalsuan. Ketakutan. Menggadaikan maruah. Sehingga membawa kematian. Sehingga tertumbang sebuah kerajaan. Sehingga hancur sebuah negara.

Semuanya kerana Internet dan 'opiniated people.'

Dunia ini ramai 'opiniated people'. Aku salah seorang daripada yang ramai itu.

Sunday, September 25, 2011

Cerita

Dah dekat 2 bulan pasang oven, maka semalam aku merasmikan oven berkenaan dengan membuat pizza. Last time aku buat pizza, 14 tahun yang lalu. So agak nervous, tapi alhamdulillah, jadi gak pizza aku tu last-last.

Berikut adalah resipi membuat Pizza ala-Sayutaliano (sila baca dengan nada gema).

Bahan-bahan doh:

  • Tepung gandum setengah kilo (boleh buat 2 keping pizza besar ni)
  • Yis segera 1 paket (11 gram)
  • Air dalam satu hingga dua cawan
  • Marjerin sket
  • Susu penuh krim sket
  • Gula dan garam secukup rasa


Campurkan bahan-bahan dalam mangkuk adunan, pastu uli menggunakan tangan solar ala Azuma Kazuma Yakitate Japan sehingga menjadi doh yang mantop seperti di bawah.



Biarkan selama beberapa puluh minit untuk kembang sehingga 2 kali ganda saiz asal. Gunakan masa tersebut untuk menyediakan sos dan topping pizza.


Bahan-bahan Sos:
  • Tomato puree
  • Daging kisar
  • Bawang putih
  • Bawang merah
  • Minyak zaitun sket untuk menumis
  • Black pepper dan garam secukup rasa

Bahan-bahan Topping:

  • Bawang merah dipotong dadu
  • Capsicum dipotong dadu
  • Button mushroom dihiris nipis
  • Tomato dihiris nipis jugak
  • Sosej ayam dihiris tak berapa nipis sebab dah malas dan lapar
  • Nenas dalam tin sebab malas nak beli buah nenas (Air gula tu, buat minuman perisa nenas)
  • Oregano atau Italian herbs
  • Keju mozarella diparut






Sementara menanti doh tu kembang, panaskan kuali. Tuang sket minyak zaitun dan tumis bawang putih dan bawang merah sampai naik bau.

Campak daging kisar dan kacau kasik dia jangan berketul-ketul, sambil tuang tomato puree ke dalam kuali. Masak pakai api kecik. Tabur pepper dan garam secukup rasa. Kalu nak letak oregano pon boleh. Belasah je.



Lepas sos dah siap, tengok doh yang dah kembang semangkuk. Huhu...



Memandangkan aku takde pizza pan dan rolling pin, aku pakai tudung periuk je. Sapu minyak zaitun sket kat tudung periuk tu agar doh tak melekat. Pastu ratakan doh macam mamak ratakan roti canai sebelum dia tebar roti canai tu. Maka jadilah base pizza seperti di bawah.



Masukkan base ni ke dalam oven yang dah preheat ke 230°C selama 10 minit. Sementara menanti 10 minit berlalu, parut keju mozarella kalau keju mozarella itu seketul cam yang aku beli ni.



Lepas 10 minit, keluarkan base pizza dari oven. Cucuk-cucuk permukaan base pizza tu pakai garfu. Aku taktau apa motif dia tapi dulu aku tengok Ummi aku buat gitu. Huhu.

Tuang dan ratakan sos ke atas permukaan yang dah dicucuk-cucuk tadi. Pastu tabur bahan-bahan topping dan tabur keju mozarella atas topping tu. Renjis-renjis dengan Italian herbs atau oregano untuk membangkitkan rasa ke-Itali-an pizza berkenaan.

Kot-kot rasa cam nak masin-masin pedas, tabur garam dengan black pepper sket.



Masukkan balik dalam oven dan masak selama 20 minit lagi dalam suhu 230°C. Kalau nak extra crispy dan well-done, masak 25 minit.



Setelah 20 minit, maka siaplah pizza untuk dimakan sementara keju mozarella tu cair-cair leh jadi panjang cam dalam iklan Pizza Hut.

Presentation-wise agak failed sebab topping tebal sangat tapi rasa tu ok la.



Yang baki doh tu aku buat 2 pizza saiz kecik untuk kasik dekat Encik Dasuki dan Puan Mumtaz yang telah mengadakan rumah terbuka pada hari aku masak pizza ni.

Sekian, terima kasih.

Friday, September 9, 2011

Benci

Saya sebenarnya suka benar kalau ada penyakit ni. Apa taknya, nanti ada orang kesian. Lepas tu boleh MC tak payah pergi kerja. Kan best, duduk rumah rehat-rehat. Tak payah buat kerja berat-berat.

Heh.

Ini adalah coretan malas penuh sinis.

Terima kasih.

Sunday, September 4, 2011

Aku

Aku bukak blog baru. Sebab aku bukan lagi seorang 'HR Engineer'.

Entah nak update ke tak blog ni aku pon tatau. Huhuhu