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.

Artikel Sebelumnya Artikel Seterusnya

Tip-Tip Utama