Tuesday, March 3, 2015

Mengatasi Error "Too Many Different Cell Formats"

Pesan Error "Too Many Different Cell Format" mulai sering saya jumpai beberapa tahun lalu ketika saya harus merekap data excel dari beberapa unit kerja. Ketika data dikumpulkan menjadi 1 file excel dengan cara copy paste, tiba-tiba muncul pesan error seperti ini.


Pesan Error Too Many Different Cell Formats

Pesan error tersebut muncul jika file dibuka/diedit menggunakan komputer perusahaan yang masih menggunakan Office 2003. Jika file tersebut dibuka di komputer pribadi yang menggunakan excel 2007, pesan error tidak muncul dan pekerjaan dapat dilanjutkan. Sayangnya ketika file tersebut dibuka kembali menggunakan excel 2003, error kembali muncul dan otomatis komputer melakukan proses recovery, dan hasilnya : file rusak, semua formatnya cell-nya hilang. :-(

Hal ini cukup memusingkan kepala dan karena ketidaktahuan saya, dulu saya mengira ini adalah akibat ulah virus. Mungkin ada orang yang iseng membuat virus cara merusak file excel dan menyampaikan pesan too many different cell formats setiap kali akan menambahkan format baru. Itu fikiran jelek saya, tapi itu dulu... :-)

Dan kasihan Si Virus jadi tertuduh, padahal ia sama sekali tidak berdosa atas masalah ini :-). Ada juga teman yang mengatakan, wah ini karena terlalu kebanyakan rumus ...! Atau kebanyakan link..!

Penyebab  "To Many Different Cell Format"

Usut punya usut, setelah browsing di internet dan bertanya pada halaman bantuan excel, ternyata penyebabnya sangat jelas dan sesuai pesan error dari excel. Yaitu "Too Many Different Cell Formats", artinya "Terlalu Banyak Format Sel Yang Berbeda".  Sebelumnya kok enggak geh ya dengan arti pesan error tersebut??

Dan ternyata untuk kasus yang saya alami, masalahnya terletak pada versi Excel yang digunakan. Microsoft Excel 2003 hanya dapat menampung 4000 cell style yang berbeda/unik. Cell style atau cell format adalah kombinasi pengaturan format sell termasuk number, alignment, font, border, fill dan protection. Jika satu property saja dari format cell yang berbeda, maka dapat dikatakan bahwa cell tersebut memiliki style yang berbeda. Hal ini dapat diilustrasikan sebagai berikut:
format sel yang berbeda
Format Cell yang Berbeda
Gambar diatas mengilustrasikan format cell yang berbeda-beda, meskipun berisi text yang sama terdiri satu karakter huruf A, namun masing-masing cell memiliki format yang berbeda dan unik satu sama lainnya. Karena kreatifitas user, biasanya tanpa disadari semakin banyak format cell yang berbeda-beda dan pada akhirnya akan mencapai batas 4000 format cell yang berbeda.

Microsoft excel 2007, dapat menampung lebih banyak format cell yang berbeda yaitu sebanyak 64.000. Sehingga jika jika file excel 2003 yang sudah over format dibuka menggunakan excel 2007, maka pesan error tidak akan muncul. Namun celakanya jika file tersebut kembali dibuka menggunakan versi 2003, maka excelnya pun menjadi "mabuk" format.

Pantesan saja, masalah ini sering muncul, setelah munculnya excel-excel versi yang baru yang lebih canggih dan mampu menampung format yang lebih banyak. Teman-teman yang menggunakan laptop atau komputer pribadi sudah menggunakan versi excel yang lebih tinggi biar tidak ketinggalan zaman.

"Karena loyalitas yang sangat tinggi, banyak teman-teman menggunakan komputer pribadi, untuk menyelesaikan pekerjaan admin kantor. Sangat  Salut ... dan Hebat lah :-) "


Bagaimana Cara Mengatasinya.
  • Jika kita bekerja dalam tim sebaiknya dibuat kesepakatan untuk menggunakan 1 versi excel saja untuk keperluan pengolahan data. Apalagi jika petugas yang mengumpulkan data final masih menggunakan excel jadul 2003, sementara data unit menggunakan excel mutakhir seperti versi 2007, 2010 maupun 2013. Sudah dapat dipastikan bahwa problem to many different cell format akan terjadi.
  • Gunakan jenis font yang sama untuk semua data, dan hindari penggunaan size font yang bervariasi.
  • Jangan terlalu banyak variasi dalam warna, alignment, border
  • Dan lain-lain pokoknya jangan terlalu banyak variasi format dech... Memang cukup menggangu kreatifitas, tapi pilih mana? tampilan bagus dan ngejreng tapi error dan file rusak? atau tampilan sederhana tapi aman dan nyaman?
  • Jika terlanjur error, buka file yang error tersebut menggunakan OpenOffice dan save sebagai excel 2000. Cara ini bisa sedikit membantu terutama jika kerusakan file belum begitu kompleks.
  • Atau jika ada cukup waktu clear semua format dan ganti menjadi format yang lebih sederhana dan konsisten.
  • Usulkan ke Bos Anda supaya dapat disetujui budget IT berupa instalasi program microsoft excel yang paling mutakhir di semua komputer perusahaan / instansi dimana anda bekerja... Nah kalau yang ini mungkin agak sulit...
Demikian semoga bermanfaat :-)
 


Monday, March 2, 2015

Waspadalah! : Macro Excel Dapat Merusak Data Anda

virus macro vba excel
Dengan kemampuannya yang luar biasa untuk meningkatkan efisiensi dan efektifitas kerja microsoft excel, macro/vba juga membuka peluang untuk orang yang tidak bertanggung jawab untuk menyisipkan script berbahaya yang dapat merusak data excel, dan bahkan menghilangkannya sama sekali.

Hal ini harus benar-benar diwaspadai karena karena saking mudahnya, orang yang baru belajar makro pun dapat membuat script yang merusak ini. Cukup dengan record macro, maka code vba yang bersifat merusak data dapat dibuat.

Sebagai contoh yang sangat sederhana adalah sbb:
  • Kebanyakan pengguna excel, termasuk saya lebih suka menggunakan tombol shortcut "CTR + S" pada saat menyimpan hasil perubahan/edit pada file excel. Shortcut "CTR + S" ini berfungsi untuk memerintahkan komputer untuk menyimpan hasil akhir atas perubahan yang kita lakukan pada file excel tersebut. Kalau kita lakukan record macro atas proses ini, maka script yang kita peroleh adalah sbb: 
Sub Macro1()
    ActiveWorkbook.Save
End Sub
  • Jika kita kembali melakukan record macro untuk proses sbb:  select All (tekan "Ctr + A") ---> Delete (Tekan tombol Delete)--> Save (tekan "Ctr + S"), maka script macro/vba yang kita peroleh adalah sbb: 
Sub Macro2()
    Cells.Select
    Range("A1").Activate
    Selection.ClearContents
    ActiveWorkbook.Save
End Sub
  • Jika untuk Macro2 tersebut kemudian kita buat shortcut  "Ctr + S", walhasil pada saat kita tekan "Ctr +S",  maka komputer akan menjalankan Macro2, yaitu menyeleksi semua cell dalam activesheet (select all), kemudian menghapus semua datanya (clear contents) dan dilanjutkan dengan proses save file. Data yang sudah terhapus tidak dapat dikembalikan karena file sudah di-save (proses terakhir)
  • Meskipun script macronya tersimpan di file lain, asalkan file tersebut dibuka dan macro enable, maka proses macro2  juga dapat merusak file excel lainnya yang akan di-save menggunakan short cut "Ctr+S".
Jadi apakah makro berbahaya?
Bisa dikatakan iya jika kita tidak berhati-hati.

Bagaimana supaya terhindar dari bahaya macro?
Pastikan dulu code macro aman sebelum dijalankan.

Demikian semoga bermanfaat, dan lebih waspada...:-)

Mengatur Target Hyperlink Pada Posisi Yang Tepat

Masih membahas perihal hyperlink pada microsoft Excel. Ketika kita membuat hyperlink dengan target hyperlinknya adalah area data dalam file yang sama dengan sel yang di-hyperlink-kan (anchor area). Bagaimana caranya supaya target hyperlink akan terbuka pada posisi yang tepat ketika hyperlink di click (follow hyperlink).

Cara berikut mudah-mudahan bermanfaat.

1. Cara 1: Buat Target Hyperlik Pada Range Row
  • Klik kanan pada sel yang akan dibuat hyperlink
  • Klik Hyperlink...
  • Pilih : Place In This Document
  • Select : Worksheet yang akan menjadi target hyperlink
  • Pada text box "type cell reference" biasanya sudah terisi "A1" secara default.
  • Ganti "A1" sesuai target hyperlink yang kita inginkan, misalnya jika fokus hyperlink kita adalah sel B100, maka text box diisi dengan "A100:A200" tanpa tanda kutip.   Jika target kita adalah sel G150, maka text box diisi dengan "A150:A250" tanpa tanda kutip.  
  • Hide Kolom A Pada worksheet yang menjadi target hyperlink, Hal ini berguna supaya tidak nampak selected range pada saat follow hyperlink.
  • Dengan metode ini maka target hyperlik akan diposisikan tepat pada bagian atas layar ketika hyperlink di-klick (follow hyperlink)
  • nb: kelemahan cara ini adalah mungkin target hyperlink akan bergeser jika melakukan  insert row pada   worksheet yang menjadi target hyperlink.

2. Cara 2: Buat Target Hyperlink Pada Nama Range

  • Buat Nama Range yang akan menjadi referensi target hyperlink. Misalnya jika fokus target hyperlink-nya adalah sel B100,  maka range yang harus diberinama adalah  range  A100:200. misalnya namanya  adalah "targetHyperlink" tanpa tanda kutip  (cara membuat nama range dapat dilihat di artikel Memberi Nama Cell dan Range Pada Microsoft Excel Menggunakan Name Box)
  • Klik kanan pada sel yang akan dibuat hyperlink
  • Klik Hyperlink...
  • Pilih : Place In This Document
  • dari dropdown define name pilih nama range yg sudah dibuat sebagai target hyperlink.  Ok
  • Hide Kolom A Pada worksheet yang menjadi target hypgterlink, Hal ini berguna supaya tidak nampak selected range pada saat follow hyperlink.
  • Dengan metode ini maka target hyperlik akan diposisikan tepat pada bagian atas layar ketika hyperlink di-klick (follow hyperlink)
  • nb: dengan cara ini target hyperlink tidak akan bergeser meskipun kita melakukan  insert row pada   worksheet yang menjadi target hyperlink.
Semoga bermanfaat...:-)
Salam

Sunday, March 1, 2015

Macro untuk Menghapus Hyperlink Tanpa Merubah Format

Pada postingan sebelumnya kita sudah belajar bagaimana caranya untuk Menghapus Hyperlink Tanpa Merubah Format pada Microsoft Excel. Proses tersebut dibuat secara manual dengan cara menghapus seluruh data yang ada hyperlinks-nya (clear contents), dilanjutkan dengan mengembalikan data tersebut dari data backup dengan cara copy paste formula.

Proses tersebut  sebenarnya dapat dibuat lebih praktis dengan menggunakan macro/vba. Berikut adalah contoh script-nya.

'----------------------------------------------------
Sub clearHyperlinkWithoutFormat()
'je270215-remove hyperlinks tanpa merubah format
Dim sel As Range, tempFormula As String
Application.ScreenUpdating = False
For Each sel In Selection
    If sel.Hyperlinks.Count > 0 Then
        tempFormula = sel.Formula
        sel.ClearContents
        sel.Formula = tempFormula
    End If
Next
End Sub
'----------------------------------------------------

Cara menggunakan macro tersebut sebagai berikut:
  • copy script di atas ke module standar dan buatkan shortcutnya
  • Sorot/Seleksi range excel yang hyperlink-nya akan di hapus
  • Jalankan macro tadi (clearHyperlinkWithoutFormat)

Semoga bermanfaat... :-)


PANDUAN LENGKAP PENJUMLAHAN DI EXCEL

Fungsi SUM dan Rumus Penjumlahan Pada Excel

Penjelasan Lengkap Rumus Penjumlahan Pada Excel Ada banyak cara untuk melakukan penjumlahan pada Microsoft Excel. Cara yang paling sederhan...