„Excel“ - „Makro“, jei norite formatuoti ataskaitą

Problema

Tikiuosi, kad galiu ištarti tai, ko aš ieškau, tokiu būdu, kuris yra prasmingas visiems. Turiu kliento ataskaitą, kurią vykdau ir eksportuoja bjauriu būdu.

Tai atrodo taip:

 Adresas Suburb State Pašto kodas Pristatymo instrukcijos Telefono numeris Fakso numeris El. Pašto adresas 

Visa pirmiau pateikta informacija yra A stulpelyje, ir norėčiau sukurti makrokomandą, kuri turi informaciją stulpelyje AF, kad kiekviena antraštė turėtų naują stulpelį.

Galiu įrašyti tikrai pagrindines makrokomandas, todėl tikriausiai reikės ką nors parašyti man, kad galėčiau tiesiog nukopijuoti ir įklijuoti * atsiprašau *.

Tikimės, kad tai tikrai paprasta ir jie nori man padėti. Visi pasiūlymai / patarimai labai vertinami!

Sprendimas

Tikslas:

Jei norite suskirstyti eilutes, tai yra langelis ir kiekviena eilutė perkeliama į naują eilutę toje pačioje eilutėje.

Prielaidos:

1. Duomenys prasideda 2 eilutėje

2. Duomenys pateikiami A skiltyje

3. Stulpelis šalia A yra tas, kur reikia pateikti duomenis

4. Kiekviena duomenų langelių eilutė turėtų būti perkelta į naują langelį toje pačioje eilutėje

Žingsniai:

1. Perskaitykite prielaidas

2. Padarykite failo atsarginę kopiją

3. Paspauskite ALT + F11 ir įdėkite naują modulį

4. Įklijuokite kodą (po žingsnių)

5. Vykdykite kodą

Kodas:

 Sub spiltData () Dim lMaxRows As Long Dim lRowBeanCounter As Long Dim vPos Kaip Variantas Dim sHold As String Dim sTemp Kaip String Dim iCellCounter Kaip Integer Dim lStartAtRow As Long lStartAtRow = 1 lMaxRows = Ląstelės (eilutės.Skaičiuoti, "A"). xlUp) .Row for lRowBeanCounter = lStartAtRow Į lMaxRows sTemp = Ląstelės (lRowBeanCounter, "A") iCellCounter = 2 Atlikite, kol sTemp "" vPos = 0 vPos = InStr (1, sTemp, Chr (10)) Jei vPos> 0 Tada sHold = Kairė (sTemp, vPos - 1) sTemp = Trim (viduryje (sTemp, vPos + 1)) Else sHold = sTemp sTemp = "" pabaiga Jei iCellCounter = iCellCounter + 1 ląstelės (lRowBeanCounter, iCellCounter) = sHold Loop Kitas lRowBeanCounter End Sub 

Pastaba

Ačiū rizvisa1 už šį patarimą forume.

Ankstesnis Straipsnis Kitas Straipsnis

Geriausi Patarimai