VBA perkėlimas (žingsnis po žingsnio) 2 populiariausi VBA perkėlimo metodai
Mes matėme perkėlimo funkciją „Excel“ darbalapyje, kai įklijuojame bet kurią duomenų lentelę į darbalapį. Perkėlimas reiškia, kad jis keičia eilučių ir stulpelių padėtį, ty eilutės tampa stulpeliais, o stulpeliai tampa duomenų lentelės eilutėmis, nes dabar tai yra darbalapis funkciją VBA, mes ją naudojame su VBA taikomuoju metodu Application.worksheet.
Kaip perkelti į VBA?
Eilučių ir stulpelių perjungimas yra vienas iš manipuliavimo duomenimis metodų, kuriuos beveik visi vartotojai naudojasi „Excel“. Procesas, kai horizontalūs duomenys konvertuojami į vertikalius ir vertikalius į horizontalius, „Excel“ programoje vadinamas „Transponuoti“. Esu įsitikinęs, kad jūs turite būti susipažinę su perkėlimu įprastame darbalapyje, šiame straipsnyje mes jums parodysime, kaip naudoti perkėlimo metodą VBA koduojant.
Perkelti į VBA galime dviem būdais.
- Perkelkite naudodami „TRANSPOSE“ formulę.
- Perkelkite naudodami specialųjį įklijavimo metodą.
Perkeldami eilutes keičiame stulpelius ir stulpelius į eiles. Pavyzdžiui, jei duomenys yra 4 X 3 masyve, jie tampa 3 X 4 masyvais.
Pažiūrėkime keletą pavyzdžių, kaip perkelti stulpelius į eilutes VBA.
# 1 - VBA perkėlimas naudojant TRANSPOSE formulę
Panašiai kaip tai, kaip „Excel“ naudojame TRANSPOSE, taip pat galime naudoti TRANSPOSE formulę ir VBA. VBA neturime TRANSPOSE formulės, todėl turime naudoti pagal Worksheet Function klasę.
Pavyzdžiui, pažiūrėkite į toliau pateiktą duomenų vaizdą.
Pabandysime perkelti šią vertybių masyvą. Norėdami perkelti duomenis, atlikite toliau nurodytus veiksmus.
1 veiksmas: pradėkite antrinę procedūrą
Kodas:
Sub Transpose_Pavyzdys1 () End Sub
2 žingsnis: Pirmiausia turime nuspręsti, kur perkelsime duomenis. Tuo pasirinkau perkelti iš ląstelės D1 į H2. Taigi įveskite VBA kodą kaip diapazoną („D1: H2“). Reikšmė =
Kodas:
Sub Transpose_Example1 () Range ("D1: H2"). Reikšmė = End Sub
3 žingsnis: Dabar aukščiau minėtame diapazone mums reikia nuo A1 iki B5 vertės. Norėdami patekti į šią atvirą „Darbalapio funkcijų“ klasę ir pasirinkti formulę „Perkelti“.
4 žingsnis: Iš Arg 1 tiekimas duomenys šaltinio diapazonas, ty intervalas ( "A1: D5") .
Kodas:
Sub Transpose_Example1 () Range ("D1: H2"). Reikšmė = WorksheetFunction.Transpose (Range ("A1: D5")) Pabaiga Sub
Gerai, mes baigėme TRANSPOSE formulių kodavimą. Dabar paleiskite kodą, kad pamatytumėte rezultatą D1 – H2 ląstelių diapazone.
Kaip matėme aukščiau esantį vaizdą, jis pavertė langelių diapazoną nuo stulpelių iki eilučių.
# 2 - VBA perkėlimas naudojant specialųjį pastos metodą
Mes taip pat galime perkelti naudodami „Paste Special“ metodą. Apsvarstykite tuos pačius duomenis ir šiame pavyzdyje.
Pirmas dalykas, kurį turime padaryti perkeldami duomenis, yra duomenų kopijavimas. Taigi parašykite kodą kaip diapazoną („A1: B5“). Nukopijuokite
Kodas:
Sub Transpose_Example2 () Range ("A1: B5"). Kopijuoti pabaigos antrinę kopiją
Kitas dalykas, mes turime nuspręsti, kur mes įklijuosime duomenis. Šiuo atveju norimą paskirties langelį pasirinkau D1.
Kodas:
Sub Transpose_Example2 () Range ("A1: B5"). Kopijavimo diapazonas ("D1"). Pabaigos sub
Pasirinkę norimą paskirties langelį, turime pasirinkti „Įklijuoti specialųjį metodą“.
Naudodami specialųjį įklijavimą, darbalapyje galime atlikti visus veiksmus, kuriuos turime naudodami įprastus specialius įklijavimo metodus.
Nepaisykite visų parametrų ir pasirinkite paskutinį parametrą, ty Perkelkite ir padarykite tai TRUE.
Kodas:
Sub Transpose_Example2 () Range ("A1: B5"). Kopijavimo diapazonas ("D1"). PasteSpecial Transpose: = True End Sub
Tai taip pat perkels duomenis, kaip ir ankstesnį metodą.
Panašiai mes galime naudoti TRANSPOSE formulę arba specialųjį įklijavimo metodą duomenims perkelti, kad eilutės būtų pakeistos į stulpelius, o stulpeliai - į eilutes.
Ką reikia atsiminti
- Jei naudojame TRANSPOSE darbalapio funkciją, norint perkelti duomenis, būtina apskaičiuoti eilučių ir stulpelių skaičių. Jei mes turime 5 eilutes ir 3 stulpelius, tada, kai perkelsime, jis taps 3 eilutėmis ir 5 stulpeliais.
- Jei norite to paties formato, kai naudojate specialųjį įklijavimą, turite naudoti argumentą „Įklijuoti tipą“ kaip „xlPasteFormats“
Šį „VBA Transpose Excel“ šabloną galite atsisiųsti iš čia - „VBA Transpose Excel“ šablonas