Sebagai upgrade dari posting sebelumnya, kali ini saya akan menambahkan trik utk membuka proteksi workbook excel anda tanpa mematikan fungsi dan link data dalam file
Mohon diperhatikan bahwa trik ini adalah utk membuka file anda sendiri dan ingat konsekuensi yg mungkin anda dapatkan bila menggunakan trik ini utk kepentingan selain membuka password sheet excel file anda yg terlupa.
Caranya adalah sbb:
Pertama-tama
Buatlah kode berikut dalam module visual basic dalam file excel anda:
Sub Open_Password()
Const DBLSPACE As String = vbNewLine & vbNewLine
Const AUTHORS As String = DBLSPACE & vbNewLine
Const HEADER As String = "AllInternalPasswords User Message"
Const VERSION As String = DBLSPACE & "Version 1.0 8 Sep 2012"
Const REPBACK As String = DBLSPACE & "Please report failure to alfi.sahri1983@gmail.com "
Const ALLCLEAR As String = DBLSPACE & "The workbook should be cleared"
Const MSGNOPWORDS1 As String = "There were no passwords on " & AUTHORS & VERSION
Const MSGNOPWORDS2 As String = "There was no protection to " & "workbook structure or windows." & DBLSPACE
Const MSGTAKETIME As String = "After pressing OK button this " & "will take some time." & DBLSPACE & "Amount of time " & "depends on how many different passwords, the "
Const MSGPWORDFOUND1 As String = "You had a Worksheet " & "Structure or Windows Password set." & DBLSPACE & "The password found was: " & DBLSPACE & "$$" & DBLSPACE & "Note it down for potential future use in other workbooks by " & "the same person who set this password." & DBLSPACE & "Now to check and clear other passwords." & AUTHORS & VERSION
Const MSGPWORDFOUND2 As String = "You had a Worksheet " & "password set." & DBLSPACE & "The password found was: " & DBLSPACE & "$$" & DBLSPACE & "Note it down for potential " & "future use in other workbooks by same person who " & "set this password." & DBLSPACE & "Now to check and clear " & "other passwords." & AUTHORS & VERSION
Const MSGONLYONE As String = "Only structure / windows " & "protected with the password that was just found." & ALLCLEAR & AUTHORS & VERSION & REPBACK
Dim w1 As Worksheet, w2 As Worksheet
Dim i As Integer, j As Integer, k As Integer, l As Integer
Dim m As Integer, n As Integer, i1 As Integer, i2 As Integer
Dim i3 As Integer, i4 As Integer, i5 As Integer, i6 As Integer
Dim PWord1 As String
Dim ShTag As Boolean, WinTag As Boolean
Application.ScreenUpdating = False
With ActiveWorkbook
WinTag = .ProtectStructure Or .ProtectWindows
End With
ShTag = False
For Each w1 In Worksheets
ShTag = ShTag Or w1.ProtectContents
Next w1
If Not ShTag And Not WinTag Then
MsgBox MSGNOPWORDS1, vbInformation, HEADER
Exit Sub
End If
MsgBox MSGTAKETIME, vbInformation, HEADER
If Not WinTag Then
MsgBox MSGNOPWORDS2, vbInformation, HEADER
Else
On Error Resume Next
Do 'dummy do loop
For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
With ActiveWorkbook
.Unprotect Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
If .ProtectStructure = False And .ProtectWindows = False Then
PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
MsgBox Application.Substitute(MSGPWORDFOUND1, "$$", PWord1), vbInformation, HEADER
Exit Do 'Bypass all for...nexts
End If
End With
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
Loop Until True
On Error GoTo 0
End If
If WinTag And Not ShTag Then
MsgBox MSGONLYONE, vbInformation, HEADER
Exit Sub
End If
On Error Resume Next
For Each w1 In Worksheets
'Attempt clearance with PWord1
w1.Unprotect PWord1
Next w1
On Error GoTo 0
ShTag = False
For Each w1 In Worksheets
'Checks for all clear ShTag triggered to 1 if not.
ShTag = ShTag Or w1.ProtectContents
Next w1
If ShTag Then
For Each w1 In Worksheets
With w1
If .ProtectContents Then
On Error Resume Next
Do 'Dummy do loop
For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
.Unprotect Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
If Not .ProtectContents Then
PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
MsgBox Application.Substitute(MSGPWORDFOUND2, "$$", PWord1), vbInformation, HEADER
'leverage finding Pword by trying on other sheets
For Each w2 In Worksheets
w2.Unprotect PWord1
Next w2
Exit Do 'Bypass all for...nexts
End If
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
Loop Until True
On Error GoTo 0
End If
End With
Next w1
End If
MsgBox ALLCLEAR & AUTHORS & VERSION & REPBACK, vbInformation, HEADER
'
End Sub
Setelah itu anda bisa jalankan makro excel anda dan lihat hasilnya.
Semoga membantu.
Terima kasih
Alfi
Home | Sitemap | Excel Tips and Tricks | Technology | Cerita Unik
Welcome to My Blog
Banyak pengguna excel menggunakan salah satu software spreadsheet canggih microsoft ini hanya sebagai alat bantu hitung. Padahal sebenarnya banyak sekali fitur-fitur excel yang sangat bermanfaat apabila kita mengetahuinya. Melalui Blog ini saya ingin berbagi beberapa fitur hebat lain excel pada anda. Selamat Mencoba!
Welcome to My Blog
Banyak pengguna excel menggunakan salah satu software spreadsheet canggih microsoft ini hanya sebagai alat bantu hitung. Padahal sebenarnya banyak sekali fitur-fitur excel yang sangat bermanfaat apabila kita mengetahuinya. Melalui Blog ini saya ingin berbagi beberapa fitur hebat lain excel pada anda. Selamat Mencoba!
Senin, 31 Desember 2012
Sabtu, 24 November 2012
Countif Lebih Dari Satu Kriteria Dengan Kriteria Content Cell
Para Pembaca,
Kali ini saya akan share satu trik yg bisa digunakan utk melakukan perhitungan countif tetapi dengan menggunakan beberapa kriteria dimana salah satu atau lebih kriteria yg di akan ditentukan adalah part/bagian dari content (Isi) cell pada suatu range.
Contohnya adalah sebagai berikut:
Buatlah sebuah worksheet dengan menggunakan data dan formula seperti pada contoh dibawah ini,
pada contoh ini; saya misalkan criteria data yg akan dihitung countif nya adalah: criteria 1 = Cust A, Criteria 2 = "Damage", Criteria 3 = Cell yg memiliki content "BGA" didalamnya.
Utk memudahkah perhitungan, buatlah satu formula di column E dengan contoh spt gambar diatas.
Tujuannya adalah utk menentukan ada tidaknya content "BGA" pada data di kolom D atau criteria3. Apabila terdapat content BGA maka nilai di cell D3 maka value pada kolom E adalah 1, dan jika tidak maka isi cell tsb adalah 0.:
Kemudian buat sebuah formula pada cell E13 utk menentukan hasil countif, contoh sebagai berikut
Setelah itu cek hasilnya, hasil count data yg benar = 2.
Mudah-mudahan bermanfaat.
Terima kasih,
Alfi
Kali ini saya akan share satu trik yg bisa digunakan utk melakukan perhitungan countif tetapi dengan menggunakan beberapa kriteria dimana salah satu atau lebih kriteria yg di akan ditentukan adalah part/bagian dari content (Isi) cell pada suatu range.
Contohnya adalah sebagai berikut:
Buatlah sebuah worksheet dengan menggunakan data dan formula seperti pada contoh dibawah ini,
pada contoh ini; saya misalkan criteria data yg akan dihitung countif nya adalah: criteria 1 = Cust A, Criteria 2 = "Damage", Criteria 3 = Cell yg memiliki content "BGA" didalamnya.
Utk memudahkah perhitungan, buatlah satu formula di column E dengan contoh spt gambar diatas.
Tujuannya adalah utk menentukan ada tidaknya content "BGA" pada data di kolom D atau criteria3. Apabila terdapat content BGA maka nilai di cell D3 maka value pada kolom E adalah 1, dan jika tidak maka isi cell tsb adalah 0.:
Kemudian buat sebuah formula pada cell E13 utk menentukan hasil countif, contoh sebagai berikut
Setelah itu cek hasilnya, hasil count data yg benar = 2.
Mudah-mudahan bermanfaat.
Terima kasih,
Alfi
Sabtu, 04 Agustus 2012
Memfilter Data Unik Dengan Formula
Berikut akan saya jelaskan mengenai cara yg bisa kita gunakan untuk memfilter sejumlah data berdasarkan data unik (Unique Record) dengan menggunakan formula.
Kelebihannya adalah, bila data yang menjadi acuan adalah data dinamis yg bisa selalu berubah, maka data unik yg kita filter pun bisa menjadi data yang dinamis tanpa perlu berulang kali menggunakan menu advance filter atau tanpa perlu melakukan pivoting.
Stepnya adalah sebagai berikut:
Coba buatlah data pada cell B2:B15 pada worksheet excel anda, berikut sebagai contoh;
kemudian pada cell D2 anda ketikkan formula sebagai berikut:
=INDEX( $B$2:$B$15,MATCH(0,COUNTIF($D$1:D1,$B$2:$15),0))
ini adalah CSE formula jadi tekan Control+Shift+Enter saat anda selesai menuliskan formula di atas.
kemudian tarik (Drag) formula tersebut ke cell D3:D15
anda bisa melihat bahwa data unik dari cell B2:B15 sudah terekstrak.
Silahkan tinggalkan comment apabila pertanyaan;
Terima kasih,
Alfi
Kelebihannya adalah, bila data yang menjadi acuan adalah data dinamis yg bisa selalu berubah, maka data unik yg kita filter pun bisa menjadi data yang dinamis tanpa perlu berulang kali menggunakan menu advance filter atau tanpa perlu melakukan pivoting.
Stepnya adalah sebagai berikut:
Coba buatlah data pada cell B2:B15 pada worksheet excel anda, berikut sebagai contoh;
kemudian pada cell D2 anda ketikkan formula sebagai berikut:
=INDEX( $B$2:$B$15,MATCH(0,COUNTIF($D$1:D1,$B$2:$15),0))
ini adalah CSE formula jadi tekan Control+Shift+Enter saat anda selesai menuliskan formula di atas.
kemudian tarik (Drag) formula tersebut ke cell D3:D15
anda bisa melihat bahwa data unik dari cell B2:B15 sudah terekstrak.
Silahkan tinggalkan comment apabila pertanyaan;
Terima kasih,
Alfi
Minggu, 10 Juni 2012
Menjumlah Berdasarkan Warna
Ada satu trik yg saya sukai, yaitu menjumlakan suatu data berdasarkan warna latar pada cellnya.
Berikut cara yang bisa digunakan.
Pertama bukalah worksheet anda dan buat data seperti gambar di sebelah.
Kemudian berilah warna latar sesuai kriteria data anda, misalkan data A menggunakan warna kuning (yellow), data B menggunakan warna merah (Red).
Setelah itu pada menu pilih insert -> name -> define.
Pada menu define name -> names in workbook: ketikkan "NomorWarna" tanpa tanda kutip.
pada menu yg sama di "refers to" ketikkan =GET.CELL(38,C4) dan enter.
Pada worksheet anda letakkan kursor pada cell B4 dan ketikkan =NomorWarna
Kemudian copy kan ke bawah sesuai banyaknya data.
Setelah itu akan muncul nomor sesuai warna yg berikan pada cell data.
Untuk menjumlahkan data anda bisa menggunakan fungsi sumif biasa.
Pada cell H4 tuliskan =SUMIF(B4:B9,F4,D4:D9)
tetapi sebelumnya masukkan =NomorWarna pada cell F4 sebagai criteria sumif.
Demikian selamat mencoba.
Terima kasih
Alfi
Membuka Proteksi Worksheet Excel Dengan Macro
Beberapa waktu yang lalu, ada seseorang teman yang terlihat cukup stress karena lupa password proteksi file excel nya sendiri sehingga dia tidak bisa menyelesaikan laporan yg sudah dead line.
Saya coba berikan solusi untuk membantunya membuka proteksi file excelnya dengan sedikit bantuan macro,
caranya adalah sebagai berikut:
ketikkan script berikut pada visual basic editor pada file excel yg akan dibuka proteksinya.
Sub InternalPasswords()
Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
Dim i1 As Integer, i2 As Integer, i3 As Integer
Dim i4 As Integer, i5 As Integer, i6 As Integer
On Error Resume Next
For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
ActiveWorkbook.Unprotect Chr(i) & Chr(j) & Chr(k) & _
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) _
& Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) _
& Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
If ActiveWorkbook.ProtectStructure = False Then
If ActiveWorkbook.ProtectWindows = False Then
If ActiveSheet.ProtectContents = False Then
Exit Sub
End If
End If
End If
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
End Sub
Selanjutnya, buka worksheet yg akan dibuka proteksinya lalu jalankan macro pada menu tools -> Macro
kemudian tekan alt+F11 untuk kembali bekerja pada worksheet anda yang telah terbuka proteksinya.
Salam.
Saya coba berikan solusi untuk membantunya membuka proteksi file excelnya dengan sedikit bantuan macro,
caranya adalah sebagai berikut:
ketikkan script berikut pada visual basic editor pada file excel yg akan dibuka proteksinya.
Sub InternalPasswords()
Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
Dim i1 As Integer, i2 As Integer, i3 As Integer
Dim i4 As Integer, i5 As Integer, i6 As Integer
On Error Resume Next
For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
ActiveWorkbook.Unprotect Chr(i) & Chr(j) & Chr(k) & _
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) _
& Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) _
& Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
If ActiveWorkbook.ProtectStructure = False Then
If ActiveWorkbook.ProtectWindows = False Then
If ActiveSheet.ProtectContents = False Then
Exit Sub
End If
End If
End If
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
End Sub
Selanjutnya, buka worksheet yg akan dibuka proteksinya lalu jalankan macro pada menu tools -> Macro
kemudian tekan alt+F11 untuk kembali bekerja pada worksheet anda yang telah terbuka proteksinya.
Salam.
Sabtu, 25 Februari 2012
Fungsi Excel ; Mengetahui Jumlah Data Unik
Formula berikut digunakan untuk mengetahui apakah data merupakan data unik, kelebihannya juga adalah dengan fungsi ini kita akan mengetahui berapa jumlah data pada kolom yang merupakan data unik.
Untuk mencobanya pertama-tama buatlah sebuah worksheet dengan beberapa data dalam satu kolom, misalnya kolom B mulai dari row (baris) 1 sampai dengan 10.
Kemudian pada C2 ketikan formula sebagai berikut:
=IF(COUNTIF($B$2:$B$10,B2)=1,"Data Unik",COUNTIF($B$2:$B$10,B2)&" Data Kembar")
kemudian copy rumusnya sampai ke baris terakhir.
Akan muncul pada kolom C apabila data di kolom b merupakan data unik maka tertulis "Data Unik" tetapi apabila terdapat data yang sama pada kolom tersebut pada cell akan tertulis jumlah data yang sama atau kembar.
bagaimana tidak terlalu sulit kan?
Selamat mencoba..!
Alfi
Untuk mencobanya pertama-tama buatlah sebuah worksheet dengan beberapa data dalam satu kolom, misalnya kolom B mulai dari row (baris) 1 sampai dengan 10.
Kemudian pada C2 ketikan formula sebagai berikut:
=IF(COUNTIF($B$2:$B$10,B2)=1,"Data Unik",COUNTIF($B$2:$B$10,B2)&" Data Kembar")
kemudian copy rumusnya sampai ke baris terakhir.
Akan muncul pada kolom C apabila data di kolom b merupakan data unik maka tertulis "Data Unik" tetapi apabila terdapat data yang sama pada kolom tersebut pada cell akan tertulis jumlah data yang sama atau kembar.
bagaimana tidak terlalu sulit kan?
Selamat mencoba..!
Alfi
Kamis, 16 Februari 2012
Fungsi Excel ; Average If
Sudah lama nggak posting,
nggak tau kenapa hari ini suasana hati mampu menggerakkan kedua jari untuk menulis.
Beberapa waktu lalu seorang rekan di kantor bertanya ada nggak formula average tetapi dengan kriteria.
Kali ini saya akan mencoba membagikan jawabannya..
Fungsi average if digunakan untuk mengetahui nilai rata dari suatu range dengan kriteria yang telah kita tentukan
Langkahnya adalah sebagai berikut:
bukalah visual basic editor pada microsoft excel anda dan ketiklah module berikut:
Function averageif(range, kriteria, ave_range)
iconditioncolno = range.Column
inumbercolno = ave_range.Column
For lrowno = 1 To range.Rows.Count
vcellvalue = range.Parent.Cells(range.Row + lrowno - 1, inumberscolno.Value)
If IsNumeric(vcellvalue) = True Then
If (range.Parent.Cells(range.Row + lrowno - 1, iconditioncolno).Value = kriteria) Then
lmatch = lmatch + 1
sngaverage = sngaverage + range.Parent.Cells(range.Row + lrowno - 1, inumbercolno).Value
End If
End If
If sngaverage <> 0 And IsEmpty(vcellvalue) = True Then Exit For
End If
Next lrowno
averageif = sngaverage / lmatch
End Function
Save file excel dan kembalilah ke worksheet anda
anda sudah bisa menggunkan fungsi =averageif pada worksheet anda.
Selamat mencoba...
Langganan:
Postingan (Atom)