Dalam Excel vlookup sering di gunakan untuk menampilkan isian dari cell yang menjadi id (kolom B)
Misalkan data seperti ini,
pada sheet lain, terdapat id siswa tidak urut yang menjadi id, dan untuk baris selanjut nya dari id siswa dapat langsung terisi nama siswa, nomor ijazah dan nilai seperti gambar:

Untuk mengisinya satu2 di perlukan waktu...
berikut cara macro menyelesaikannya
1. beri nama pada cell B3:B10 pada data di sheet pertama dengan id_siswa
selanjutnya Klik New dan diberi nama id_siswa klik ok
selanjutnya klik new dan beri nama id_siswa klik ok
2. tuliskan dalam module di
tekan alt+f11 di excel anda,, makan akan muncul jendela visual basic
pilih menu insert module, dan
ketik function berikut,(bikin fungsi sendiri, gantiin vlook up dan index)
Misalkan data seperti ini,
pada sheet lain, terdapat id siswa tidak urut yang menjadi id, dan untuk baris selanjut nya dari id siswa dapat langsung terisi nama siswa, nomor ijazah dan nilai seperti gambar:
Untuk mengisinya satu2 di perlukan waktu...
berikut cara macro menyelesaikannya
1. beri nama pada cell B3:B10 pada data di sheet pertama dengan id_siswa
selanjutnya Klik New dan diberi nama id_siswa klik ok
selanjutnya klik new dan beri nama id_siswa klik ok
2. tuliskan dalam module di
tekan alt+f11 di excel anda,, makan akan muncul jendela visual basic
pilih menu insert module, dan
ketik function berikut,(bikin fungsi sendiri, gantiin vlook up dan index)
Function Siswa(ByVal NIS, Order)
Check = WorksheetFunction.CountIf(Range("id_siswa"), NIS)
If Check = 0 Then
Siswa = "Tidak ada"
ElseIf Check = 1 Then
With Range("id_siswa")
Siswa = .Find(What:=NIS, LookIn:=xlValues, LookAt:=xlWhole, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Offset(0, Order)
End With
Else: Siswa = "Data lebih dari satu"
End If
End Function
Check = WorksheetFunction.CountIf(Range("id_siswa"), NIS)
If Check = 0 Then
Siswa = "Tidak ada"
ElseIf Check = 1 Then
With Range("id_siswa")
Siswa = .Find(What:=NIS, LookIn:=xlValues, LookAt:=xlWhole, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Offset(0, Order)
End With
Else: Siswa = "Data lebih dari satu"
End If
End Function
No comments:
Post a Comment