Assalamu'alaikum...
mohon bantuannya..saya ingin merubah data dalam bentuk horizontal menjadi vertikal dalam satu kolom dengan kode tertentu
Terjawab oleh Caton
Lihat Jawaban terkait@fredi ...
Pertama, pada contoh script yang saya berikan, temukan baris script berikut :
... For lZ = 1 To UBound(xDataRow, 1) lCol = (lMaxC * (lY - 1) + 1) + (lX - 1) Sheet3.Cells(lRow, "B").Value2 = lRow - 4 Sheet3.Cells(lRow, "C").Value2 = UCase$(xDataRow(lZ, 1)) Sheet3.Cells(lRow, "D").Value2 = UCase$(sCode) Sheet3.Cells(lRow, "E").Value2 = xDataVal(lZ, lCol) lRow = lRow + 1 Next ...
[1]. Kemudian, jika yang mas maksud adalah jika ada baris kosong pada kolom B (range B8:B17) seperti gambar berikut,
[attachment:5de48589e4b55]
maka ubah baris script di atas dengan menambahkan blok IF seperti berikut ini :
... For lZ = 1 To UBound(xDataRow, 1) '+-- Tambahkan kondisional ini. If Len(xDataRow(lZ, 1)) Then lCol = (lMaxC * (lY - 1) + 1) + (lX - 1) Sheet3.Cells(lRow, "B").Value2 = lRow - 4 Sheet3.Cells(lRow, "C").Value2 = UCase$(xDataRow(lZ, 1)) Sheet3.Cells(lRow, "D").Value2 = UCase$(sCode) Sheet3.Cells(lRow, "E").Value2 = xDataVal(lZ, lCol) lRow = lRow + 1 End If Next ...
[2]. Atau, kalau yang dimaksud adalah ada baris data (nilai) yang kosong pada range C8:Q17 seperti gambar berikut,
[attachment:5de4875f5bfcd]
maka ubah baris script di atas dengan menambahkan blok IF menjadi seperti berikut ini :
... For lZ = 1 To UBound(xDataRow, 1) '+-- Tambahkan kondisional ini. If Len(xDataVal(lZ, lCol)) Then lCol = (lMaxC * (lY - 1) + 1) + (lX - 1) Sheet3.Cells(lRow, "B").Value2 = lRow - 4 Sheet3.Cells(lRow, "C").Value2 = UCase$(xDataRow(lZ, 1)) Sheet3.Cells(lRow, "D").Value2 = UCase$(sCode) Sheet3.Cells(lRow, "E").Value2 = xDataVal(lZ, lCol) lRow = lRow + 1 End If Next ...
[3]. Atau, jika kondisi yang akan dihindari adalah seperti poin 1 dan poin 2 di atas, maka tambahkan saja bolk IF seperti berikut ini :
... For lZ = 1 To UBound(xDataRow, 1) '+-- Tambahkan kondisional ini. If Len(xDataRow(lZ, 1)) Then If Len(xDataVal(lZ, lCol)) Then lCol = (lMaxC * (lY - 1) + 1) + (lX - 1) Sheet3.Cells(lRow, "B").Value2 = lRow - 4 Sheet3.Cells(lRow, "C").Value2 = UCase$(xDataRow(lZ, 1)) Sheet3.Cells(lRow, "D").Value2 = UCase$(sCode) Sheet3.Cells(lRow, "E").Value2 = xDataVal(lZ, lCol) lRow = lRow + 1 End If End If Next ...
Demikian.
· fredi menyukai ini.