Excel - Makro, lai formatētu ziņojumu

Izdevums

Cerams, ka varu izteikt to, ko es meklēju, tādā veidā, kas ir saprātīgs ikvienam. Man ir klienta ziņojums, kuru es vadu un eksportē neglīts veidā.

Tas izskatās šādi:

 Adrese Suburb State Pasta indekss Piegādes norādījumi Tālruņa numurs Faksa numurs E-pasta adrese 

Visa iepriekš minētā informācija ir A slejā, un es vēlos izveidot makro, kurā ir informācija slejā AF, lai katrai pozīcijai būtu jauna sleja.

Es varu ierakstīt patiešām pamata makro, tāpēc, visticamāk, man būs nepieciešams kāds, lai uzrakstītu vienu man, lai es varētu vienkārši kopēt un ielīmēt * sorry *.

Cerams, ka tas ir īsti vienkāršs, un viņi ir gatavi man palīdzēt. Jebkuri ieteikumi / ieteikumi ir ļoti novērtēti!

Risinājums

Mērķis:

Lai sadalītu līnijas, ir šūna un katra rinda tiek pārvietota uz jaunu šūnu tajā pašā rindā.

Pieņēmumi:

1. Dati sākas 2. rindā

2. Dati ir A slejā

3. Kolonna blakus A ir vieta, kur dati ir jāapdzīvo

4. Katra rinda datu šūnās jāpārvieto uz jaunu šūnu tajā pašā rindā

Darbības:

1. Izlasiet pieņēmumus

2. Izveidojiet faila dublējumu

3. Nospiediet ALT + F11 un ievietojiet jaunu moduli

4. Ielīmējiet kodu (pēc soļiem)

5. Izpildiet kodu

Kods:

 Sub SpiltData () Dim lMaxRows As Long Dim lRowBeanCounter As Long Dim vPos Kā variants Dim sHold As String Dim sTemp kā String Dim iCellCounter Kā Integer Dim lStartAtRow As Long lStartAtRow = 1 lMaxRows = Šūnas (rindas.Count, "A"). xlUp) .Row for lRowBeanCounter = lStartAtRow Lai lMaxRows sTemp = Šūnas (lRowBeanCounter, "A") iCellCounter = 2 Vai kamēr sTemp "" vPos = 0 vPos = InStr (1, sTemp, Chr (10)) Ja vPos> 0 Tad sHold = Pa kreisi (sTemp, vPos - 1) sTemp = Trim (vidus (sTemp, vPos + 1)) Else sHold = sTemp sTemp = "" Beigas Ja iCellCounter = iCellCounter + 1 šūnas (lRowBeanCounter, iCellCounter) = sHold Loop Nākamais lRowBeanCounter Beigas Sub 

Piezīme

Paldies rizvisa1 par šo padomu forumā.

Iepriekšējais Raksts Nākamais Raksts

Top Padomi