Excel - Macro untuk memformat laporan
Isu
Mudah-mudahan saya boleh kata apa yang saya cari dengan cara yang masuk akal kepada semua orang. Saya mempunyai laporan pelanggan yang saya jalankan dan ia mengeksport dengan cara yang hodoh.
Ia kelihatan seperti ini:
Alamat Suburb Negeri Poskod Arahan Penghantaran Nombor Telefon Nombor Faks Alamat E-mel
Semua maklumat di atas berada dalam lajur A, dan saya ingin mencipta makro yang mempunyai maklumat dalam lajur AF supaya setiap tajuk mempunyai lajur baru.
Saya boleh merakam makro benar-benar asas, jadi saya mungkin memerlukan seseorang menulis satu untuk saya jadi saya boleh menyalin dan paste * maaf *.
Mudah-mudahan ini sangat mudah untuk seseorang dan mereka sanggup membantu saya. Sebarang saran / nasihat amat dihargai!
Penyelesaian
Objektif:
Untuk memecah garisan adalah sel dan memindahkan setiap baris ke sel baru pada baris yang sama.
Andaian:
1. Data bermula pada ROW 2
2. Data berada dalam lajur A
3. Lajur bersebelahan A adalah di mana data perlu dihuni
4. Setiap baris dalam sel data harus dipindahkan ke sel baru dalam baris yang sama
Langkah-langkah:
1. Baca andaian
2. Buat sandaran fail
3. Tekan ALT + F11 dan masukkan modul baru
4. Tampalkan kod (selepas langkah)
5. Laksanakan kod tersebut
Kod:
Sub SpiltData () Dim lMaxRows Sebagai Long Dim lRowBeanCounter Sebagai Long Dim vPos Sebagai Variant Dim sHold Sebagai String Dim sTemp Sebagai String Dim iCellCounter Sebagai Integer Dim lStartAtRow Sebagai Long lStartAtRow = 1 lMaxRows = Sel (Rows.Count, "A"). xlUp). Row For lRowBeanCounter = lStartAtRow To lMaxRows sTemp = Cells (lRowBeanCounter, "A") iCellCounter = 2 Do While sTemp "" vPos = 0 vPos = InStr (1, sTemp, Chr (10)) If vPos> 0 Then sHold = Left (sTemp, vPos - 1) sTemp = Trim (Mid (sTemp, vPos + 1)) Else sHold = sTemp sTemp = "" Akhir Jika iCellCounter = iCellCounter + 1 Sel (lRowBeanCounter, iCellCounter)
Catatan
Terima kasih kepada rizvisa1 untuk tip ini di forum.