Namig: drugi jeziki so prevedeni v Google. Lahko obiščete English različico te povezave.
Vpiši se
x
or
x
x
Registracija
x

or

Kako prenesti stolpce v vrstice in vstaviti nove vrstice, da izpolnite podatke v Excelu?

V tem članku uvajam kodo VBA za prenos stolpcev v vrstice in vstavljanje novih vrstic, da izpolnite podatke, kot je prikazano na sliki spodaj, če vas zanimajo te operacije, prosimo, pojdite spodaj za več podrobnosti.
doc transpose vstavite vrstice 1

Prenesite in vstavite vrstice z VBA


puščica modra desno mehurček Prenesite in vstavite vrstice z VBA


Ni neposrednega načina za prenos obsega in vstavljanje vrstic za izpolnjevanje istih podatkov, vendar tukaj lahko vnesem kodo VBA, da hitro rešite to nalogo.

1. Pritisnite Alt + F11 tipke za odpiranje Microsoft Visual Basic za aplikacije okno.

2. klik Vstavi > Moduliin prilepite pod kodo VBA v okno Modul. Prikaz slike:

VBA: prenesti in vstaviti vrstice.

 Sub TransposeInsertRows()
'UpdatebyExtendoffice20161125
    Dim xRg As Range
    Dim i As Long, j As Long, k As Long
    Dim x As Long, y As Long
    Set xRg = Application.InputBox _
    (Prompt:="Range Selection...", _
    Title:="Kutools For Excel", Type:=8)
    Application.ScreenUpdating = False
    x = xRg(1, 1).Column + 2
    y = xRg(1, xRg.Columns.Count).Column
    For i = xRg(xRg.Rows.Count, 1).Row To xRg(1, 1).Row Step -1
        If Cells(i, x) <> "" And Cells(i, x + 1) <> "" Then
            k = Cells(i, x - 2).End(xlToRight).Column
            If k > y Then k = y
            For j = k To x + 1 Step -1
                Cells(i + 1, 1).EntireRow.Insert
                With Cells(i + 1, x - 2)
                    .Value = .Offset(-1, 0)
                    .Offset(0, 1) = .Offset(-1, 1)
                    .Offset(0, 2) = Cells(i, j)
                End With
                Cells(i, j).ClearContents
            Next j
        End If
    Next i
    Application.ScreenUpdating = True
End Sub

doc transpose vstavite vrstice 2

3. Pritisnite F5 ključ za zagon kode in nato izberite obseg podatkov, ki ga želite prenesti, in vstavite vrstice v pogovorno okno popping. Prikaz slike:
doc transpose vstavite vrstice 3

4. klik OK. Izbrani obseg je bil pretvorjen kot prikazano spodaj.
doc transpose vstavite vrstice 4

Opombe: pred zagonom kode je bolje shraniti kopijo izvirnih podatkov.

Nasvet.Če želite hitro prestaviti navzkrižno tabelo v tabelo s seznami ali obratno, poskusite uporabiti Kutools for Excel Prenos mize tabele kot je prikazano na naslednji sliki. Polna funkcija je brez omejitev v 60 dnevih, prosim, prenesite in zdaj imate brezplačen poskus.

doc spremeni na seznam

Priporočena orodja za produktivnost za Excel

zavihek kte 201905

Kutools za Excel vam pomaga, da vedno končate delo pred časom in izstopite iz množice

  • Več kot zmogljive napredne funkcije 300, zasnovane za 1500 delovne scenarije, ki povečujejo produktivnost z 70%, vam dajejo več časa za skrb za družino in uživanje v življenju.
  • Ne potrebujete več pomnilniških formul in VBA kod, od zdaj naprej pa dajate svojim možganom počitek.
  • Postanite strokovnjak za Excel v minutah 3, zapletene in ponavljajoče se operacije lahko opravite v nekaj sekundah,
  • Vsak dan zmanjšajte število operacij tipkovnice in miške, zdaj se poslovite od poklicnih bolezni.
  • 110,000 visoko učinkovite ljudi in 300 + svetovno priznanih podjetij izbiro.
  • Brezplačna preizkusna različica 60 dneva. 60-dnevno jamstvo vračila denarja. 2 let brezplačne nadgradnje in podpore.

Prinaša kartično brskanje in urejanje za Microsoft Office, veliko močnejši od zavihkov brskalnika

  • Office Tab je namenjen za Word, Excel, PowerPoint in druge Office aplikacije: Založnik, Dostop, Visio in Projekt.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Z 50% poveča vašo produktivnost in vsak dan zmanjša na stotine klikov z miško!
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Val · 1 years ago
    how would i change the VBA code so that it will keep more of the columns the same? for example instead of the first two columns staying the same it will be the first 4?
    • To post as a guest, your comment is unpublished.
      Sunny · 1 years ago
      I am not sure, may be you can try to change x = xRg(1, 1).Column + 2 to x = xRg(1, 1).Column + 4.
  • To post as a guest, your comment is unpublished.
    Chasles · 1 years ago
    If my cross table's informations come from formulas, those formulas don't always follow when the macro is applied. How could I fix this to make sure that the formulas are kept in the cells?
    • To post as a guest, your comment is unpublished.
      Sunny · 1 years ago
      Hi, thank u for ur message. For solving your problem, you can apply Kutools' Convert Formula to Text before you running the macro, then after transposing thetable, apply Kutools' Convert Text to Formula. Please Let me know if it works. Thank u.