Excel - kopējiet datus blakus šūnai un ielīmējiet to tālāk
Izdevums
Man ir šādi dati:
šūnas | A | B | C ------------------------------------------------- --- 1 | Sveiki | Sveiki | Rīts 2 | Palīdzība Lūdzu, 3 | Paldies Jūs redzēsiet Bye
man ir nepieciešams, lai šie dati kļūtu par šo formātu
šūnas | A | B | C ------------------------------------------------- - 1 | Sveiki | Sveiki | Rīts 2 | | Rīts | ---------------------------------------------- 3 | Palīdzība Lūdzu, ---------------------------------------------- 4 | Paldies Jūs redzēsiet Bye 5 | | Bye | ----------------------------------------------
Es saprotu, ka dažos apstākļos jāņem vērā:
Lai pārbaudītu, vai C1 satur datus, vai ne,
- 1) ja jā, kopējiet datus šūnā B2 (šūna relatīvi pa kreisi un zem C1)
Pēc tam nepārtraukti pasvītrojiet zem B2 šūnas
- 2) ja nē, pasvītrojiet un turpiniet ar nākamo rindu
- 3) turpināt līdz pēdējai šūnai, kurā ir dati
Risinājums
- Vispirms kopējiet datus lapā2.
- Tad mēģiniet makro "testu"
Sub tests () Dim j Kā Integer, k Kā Integer darblapas ("sheet1") Aktivizēt j = Range ("A1"). Beigas (xlDown). Rinda k = j uz 1 Step -1 Ja šūnas (k, " C ")" "Tad, ja k = 1 Tad šūnas (k + 1, " A "). EntireRow.Insert šūnas (k, " c "). Izgrieztās šūnas (k + 1, " B ") šūnas (k + 2, "A"). EntireRow.FormulaArray = "'-----------------" Iziet Sub End Ja šūnas (k, "A"). EntireRow.Insert Cells (k + 1, "C"). Izgrieztās šūnas (k + 2, "B") Šūnas (k + 3, "A"). EntireRow.FormulaArray = "'--------------- - "Else Cells (k, " A "). EntireRow.Insert Cells (k + 2, " a "). EntireRow.FormulaArray =" '----------------- "Beigt, ja nākamais k Beigt sub Subdo undo () darblapas (" sheet1 "). Cells.Clear darblapas (" sheet2 "). Cells.Copy darblapas (" sheet1 "). Range (" A1 ") beigas
Pieraksti to
Pateicoties venkat1926 par šo padomu forumā.