Tekstas į stulpelius naudojant VBA - „Excel“ patarimai

Turinys

Travisas klausia:

Bandau formatuoti tekstą į atskirus stulpelius. Viename stulpelyje tekstas yra toks:

A
Įmonės pavadinimas A
PO dėžutė 1
„NEWARK NJ 07101“
Įmonės pavadinimas B
PO LANGELIS 2
1400 SANS SOUCI PARKWAY
WILKES-BARRE PA 18703
Įmonės pavadinimas C
PO 3 LANGELIS
CHICAGO IL 60694
Įmonės pavadinimas D
PO 4 LANGELIS
CLEARFIELD UT 84015
Įmonės pavadinimas E
PO DĖŽUTĖ 5
OGDEN UT 84401
Įmonės pavadinimas F
PO 6 LANGELIS
BALTIMORE MD 21264-4351

Kai suformatavau testą, kad galėčiau tobulėti, padariau šį stulpelį, kaip parodyta aukščiau. Norėčiau sužinoti apie formulę, pagal kurią įmonės duomenys galėtų būti rodomi vienoje eilutėje, o ne keliose eilutėse. Formulė turėtų atsirasti, jei man tai pateiktų vienoje eilutėje, bet skirtinguose stulpeliuose:

Visi toje pačioje eilėje

A B C
Įmonės pavadinimas A PO dėžutė 1 „NEWARK NJ 07101“

Aš naudoju „vlookups“, „hlookups“ ir „pivot“ lenteles, bet negaliu suprasti, kaip gauti datą, jei eilės tvarka.

Man pavyko pasiekti, kad įmonių pavadinimai būtų rodomi eilėje po eilutę viename stulpelyje rūšiuojant ir supratau, kad galėčiau naudoti „vlookup“ ir „hlookup“ derinį, kad gautų rezultatus, kurių ieškojau, bet aš nežinau tinkama formulė lizdui ieškoti eteryje. Aš taip pat išbandžiau kai kurias DSUM funkcijas, bet nė viena man netinka? Taigi praneškite man, ką ar kaip išspręsti.

Manau, kad tai galima lengvai pasiekti naudojant makrokomandą. Pabandyk šitą.

Sub CopyAcross() Dim i As Long Dim NRow As Long Dim LastRow As Long NRow = 2 'First Row TO COPY, change this if you want i = 2 'First Row where the data appears, I assumed it started in A2 LastRow = Range("A65536").End(xlUp).Row While i <= LastRow Range(Cells(i, 1), Cells(i, 1).End(xlDown)).Copy Cells(NRow, 2).PasteSpecial Transpose:=True 'In here, I'm copying to Column 2, Next availabe Row. You can change the 2 if you want. NRow = NRow + 1 i = Cells(i, 1).End(xlDown).End(xlDown).Row Wend End Sub

Įdomios straipsniai...