Note: The other languages of the website are Google-translated. Back to English

Jak wstawić określoną liczbę wierszy w ustalonych odstępach czasu w programie Excel?

W arkuszu programu Excel możesz wstawić pusty wiersz między istniejącymi wierszami za pomocą funkcji Wstaw. Ale jeśli masz duży zakres danych i musisz wstawić dwa puste wiersze po co trzecim drugim wierszu, jak możesz szybko i wygodnie zakończyć tę pracę?


Wstaw określoną liczbę pustych wierszy do zakresu danych w stałych odstępach czasu z kodem VBA

Poniższy kod VBA może pomóc wstawić określoną liczbę wierszy po każdym n-tym wierszu w istniejących danych. Wykonaj następujące czynności:

1. Przytrzymaj ALT + F11 klucze w programie Excel i otwiera plik Microsoft Visual Basic for Applications okno.

2, Kliknij wstawka > Modułi wklej następujący kod w Okno modułu.

Kod VBA: wstaw określoną liczbę wierszy do danych w stałych odstępach czasu

Sub InsertRowsAtIntervals()
'Updateby Extendoffice
Dim Rng As Range
Dim xInterval As Integer
Dim xRows As Integer
Dim xRowsCount As Integer
Dim xNum1 As Integer
Dim xNum2 As Integer
Dim WorkRng As Range
Dim xWs As Worksheet
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
xRowsCount = WorkRng.Rows.Count
xInterval = Application.InputBox("Enter row interval. ", xTitleId, 1, Type:=1)
xRows = Application.InputBox("How many rows to insert at each interval? ", xTitleId, 1, Type:=1)
xNum1 = WorkRng.Row + xInterval
xNum2 = xRows + xInterval
Set xWs = WorkRng.Parent
For i = 1 To Int(xRowsCount / xInterval)
    xWs.Range(xWs.Cells(xNum1, WorkRng.Column), xWs.Cells(xNum1 + xRows - 1, WorkRng.Column)).Select
    Application.Selection.EntireRow.Insert
    xNum1 = xNum1 + xNum2
Next
End Sub

3. Po wklejeniu tego kodu naciśnij F5 Aby uruchomić ten kod, pojawi się okienko zachęty przypominające o wyborze zakresu danych, do którego chcesz wstawić puste wiersze, patrz zrzut ekranu:

4, Kliknij OK przycisk, pojawi się kolejne okno zachęty, wprowadź liczbę odstępów między wierszami, patrz zrzut ekranu:

5. Kliknij dalej OK przycisk, w następnym wyskakującym okienku zachęty wprowadź liczbę pustych wierszy, które chcesz wstawić, patrz zrzut ekranu:

6. Następnie kliknij OK, a puste wiersze zostały wstawione do istniejących danych w regularnych odstępach czasu, patrz zrzuty ekranu:


Wstaw określoną liczbę pustych wierszy do zakresu danych na podstawie wartości komórek z kodem VBA

Czasami może być konieczne wstawienie pustych wierszy na podstawie listy wartości komórek, w tym przypadku poniższy kod VBA może wyświadczyć ci przysługę, wykonaj następujące czynności:

1. Przytrzymaj ALT + F11 klucze w programie Excel i otwiera plik Microsoft Visual Basic for Applications okno.

2, Kliknij wstawka > Modułi wklej następujący kod w Okno modułu.

Kod VBA: wstaw określoną liczbę pustych wierszy na podstawie listy liczb:

Sub Insertblankrowsbynumbers ()
'UpdatebyExtendoffice
Dim xRg As Range
Dim xAddress As String
Dim I, xNum, xLastRow, xFstRow, xCol, xCount As Long
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select the spefic number column to use(single column):", "Kutools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
xLastRow = xRg(1).End(xlDown).Row
xFstRow = xRg.Row
xCol = xRg.Column
xCount = xRg.Count
Set xRg = xRg(1)
For I = xLastRow To xFstRow Step -1
xNum = Cells(I, xCol)
If IsNumeric(xNum) And xNum > 0 Then
Rows(I + 1).Resize(xNum).Insert
xCount = xCount + xNum
End If
Next
xRg.Resize(xCount, 1).Select
Application.ScreenUpdating = True
End Sub

3. Po wklejeniu tego kodu naciśnij F5 Aby uruchomić ten kod, w wyskakującym oknie dialogowym wybierz listę liczb, na podstawie których chcesz wstawić puste wiersze, zobacz zrzut ekranu:

4. Następnie kliknij OK, a otrzymasz potrzebne wyniki, jak pokazano na poniższych zrzutach ekranu:


Wstaw określoną liczbę pustych wierszy do zakresu danych w stałych odstępach czasu z przydatną funkcją

Jeśli nie znasz powyższego kodu VBA, Kutools dla programu Excel też może ci pomóc, jego Wstaw puste wiersze i kolumny Funkcja może szybko i łatwo wstawiać określoną liczbę wierszy lub kolumn do istniejących danych w ustalonych odstępach czasu.

Uwaga:Aby to zastosować Wstaw puste wiersze i kolumny , po pierwsze, należy pobrać plik Kutools dla programu Excel, a następnie szybko i łatwo zastosuj tę funkcję.

Po zainstalowaniu Kutools dla programu Excelwykonaj następujące czynności:

1. Wybierz zakres danych, w którym chcesz wstawiać puste wiersze w odstępach czasu.

2, Kliknij Kutools > wstawka > Wstaw puste wiersze i kolumnyzobacz zrzut ekranu:

3, w Wstaw puste wiersze i kolumny okno dialogowe, wybierz Puste wiersze opcja z Wstaw typ, a następnie określ liczbę interwałów i pustych wierszy, których chcesz użyć, jak pokazano na poniższym zrzucie ekranu:

4. Następnie kliknij OK przycisk, a puste wiersze zostały wstawione do wybranego zakresu w określonych odstępach czasu, jak pokazano na poniższym zrzucie ekranu:

Pobierz i bezpłatną wersję próbną Kutools dla programu Excel teraz!


Kopiuj i wstawiaj wiersze wiele razy na podstawie określonych liczb z kodem VBA

Przypuśćmy, że masz zakres tada, a teraz chcesz skopiować każdy wiersz i wkleić je wiele razy do następnego wiersza na podstawie listy liczb, jak pokazano poniżej. Jak można rozwiązać to zadanie w arkuszu programu Excel?

Aby poradzić sobie z tą pracą, wprowadzę dla Ciebie przydatny kod, wykonaj następujące czynności:

1. Przytrzymaj ALT + F11 klucze w programie Excel i otwiera plik Microsoft Visual Basic for Applications okno.

2, Kliknij wstawka > Modułi wklej następujący kod w Okno modułu.

Kod VBA: Kopiuj i wstawiaj wiersze wiele razy na podstawie określonych liczb:

Sub CopyRows()
'UpdatebyExtendoffice
Dim xRg As Range
Dim xCRg As Range
Dim xFNum As Integer
Dim xRN As Integer
On Error Resume Next
SelectRange:
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select the list of numbers to copy the rows based on: ", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub

If xRg.Columns.Count > 1 Then
MsgBox "Please select single column!"
GoTo SelectRange
End If
Application.ScreenUpdating = False
For xFNum = xRg.Count To 1 Step -1
Set xCRg = xRg.Item(xFNum)
xRN = CInt(xCRg.Value)
With Rows(xCRg.Row)
.Copy
.Resize(xRN).Insert
End With
Next
Application.ScreenUpdating = True
End Sub

3. Po wklejeniu tego kodu naciśnij F5 klucz do uruchomienia tego kodu, w wyskakującym oknie dialogowym wybierz listę liczb, które chcesz skopiować i wstaw wiersze danych na podstawie, patrz zrzut ekranu:

4. Następnie kliknij OK przycisk, a określona liczba wierszy została skopiowana i wklejona pod każdym oryginalnym wierszem, patrz zrzuty ekranu:


Kopiuj i wstawiaj wiersze wiele razy na podstawie określonych liczb z niesamowitą funkcją

Jeśli masz Kutools dla programu Excel, Z siedzibą w Zduplikowane wiersze / kolumny na podstawie wartości komórki funkcja, możesz szybko i łatwo wstawiać wiersze lub kolumny na podstawie listy numerów.

Uwaga:Aby to zastosować Zduplikowane wiersze / kolumny na podstawie wartości komórki, po pierwsze, należy pobrać plik Kutools dla programu Excel, a następnie szybko i łatwo zastosuj tę funkcję.

Po zainstalowaniu Kutools dla programu Excelwykonaj następujące czynności:

1, Kliknij Kutools > wstawka > Zduplikowane wiersze / kolumny na podstawie wartości komórkizobacz zrzut ekranu:

2, w Skopiuj i wstaw wiersze i kolumny okno dialogowe, wybierz Skopiuj i wstaw wiersze opcja w Typ , a następnie wybierz zakres danych, który chcesz powielić, a następnie określ listę wartości, na podstawie których chcesz skopiować wiersze, zobacz zrzut ekranu:

4. Następnie kliknij Ok or Zastosuj przycisk, otrzymasz taki wynik, jak potrzebujesz:

Pobierz i bezpłatną wersję próbną Kutools dla programu Excel teraz!

Więcej artykułów względnych:

  • Kopiuj i wstaw wiersz wiele razy lub powiel wiersz X razy
  • Czy w swojej codziennej pracy próbowałeś kiedyś skopiować wiersz lub każdy wiersz, a następnie wstawić wiele razy poniżej bieżącego wiersza danych w arkuszu? Na przykład mam zakres komórek, teraz chcę skopiować każdy wiersz i wkleić je 3 razy do następnego wiersza, jak pokazano na zrzucie ekranu. Jak mógłbyś sobie poradzić z tą pracą w Excelu?
  • Wstaw puste wiersze po zmianie wartości w programie Excel
  • Przypuśćmy, że masz zakres danych, a teraz chcesz wstawić puste wiersze między danymi po zmianie wartości, abyś mógł oddzielić sekwencyjne te same wartości w jednej kolumnie, jak pokazano na poniższych zrzutach ekranu. W tym artykule omówię kilka sztuczek, które pomogą Ci rozwiązać ten problem.
  • Skopiuj wiersze z wielu arkuszy roboczych na podstawie kryteriów do nowego arkusza
  • Przypuśćmy, że masz skoroszyt z trzema arkuszami roboczymi, które mają takie samo formatowanie, jak pokazano na poniższym zrzucie ekranu. Teraz chcesz skopiować wszystkie wiersze z tych arkuszy, w których kolumna C zawiera tekst „Ukończono”, do nowego arkusza. Jak możesz szybko i łatwo rozwiązać ten problem bez kopiowania i wklejania ich ręcznie jeden po drugim?

Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
officetab dół
Sortuj komentarze według
Komentarze (39)
Znamionowy 5 z 5 · 2 oceny
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, używam twojego kodu (poniżej), czy możesz mi powiedzieć, jak wypełnić te wiersze niestandardowym tekstem. Użyłem twojego kodu, aby wprowadzić trzy wiersze, działał idealnie, ale teraz muszę wprowadzić tekst Row1 = Data Row2.= Lokalizacja Row3 = Numer telefonu Z góry dziękuję... "Sub InsertRowsAtIntervals() 'Updateby20150707 Dim Rng As Range Dim xInterval As Integer Dim xRows As Integer Dim xRowsCount As Integer Dim xNum1 As Integer Dim xNum2 As Integer Dim WorkRng As Range Dim xWs As Worksheet xTitleId = "KutoolsforExcel" Ustaw WorkRng = Application.Selection Set WorkRngT =" Application.Input. , WorkRng.Address, Type:=8) xRowsCount = WorkRng.Rows.Count xInterval = Application.InputBox("Wprowadź interwał wierszy. ", xTitleId, 1, Type:=1) xRows = Application.InputBox("Ile wierszy do wstawić w każdym przedziale? ", xTitleId, 1, Type:=1) xNum1 = WorkRng.Row + xInterval xNum2 = xRows + xInterval Set xWs = WorkRng.Parent For i = 1 To Int(xRowsCount / xInterval) xWs.Range(xWs .Cells(xNum1, WorkRng.Column), xWs.Cells(xNum1 + xRows - 1, WorkRng.Column)).Wybierz Application.Selection.EntireRow.Insert xNum1= xNum1 + xNum2 Następny koniec Sub"
Ten komentarz został zminimalizowany przez moderatora na stronie
Dziękuję bardzo!!!!! to jest niesamowite
Ten komentarz został zminimalizowany przez moderatora na stronie
Wielkie dzięki!!
Ten komentarz został zminimalizowany przez moderatora na stronie
Hi


Używam interwałowego kodu vba, który działa.. Ale kiedy używam powyżej 100000 wierszy, to nie działa.. uprzejmie zasugeruj, co powinienem zmienić, jeśli w ogóle.


Sub InsertRowsAtIntervals()
„Aktualizacja do 20150707”
Dim Rng jako zakres
Dim xInterval jako liczba całkowita
Dim xRows jako liczba całkowita
Dim xRowsCount jako liczba całkowita
Dim xNum1 jako liczba całkowita
Dim xNum2 jako liczba całkowita
Dim WorkRng jako zakres
Dim xWs jako arkusz roboczy
xTitleId = "Kutools for Excel"
Ustaw WorkRng = Application.Selection
Ustaw WorkRng = Application.InputBox("Zakres", xTitleId, WorkRng.Address, Type:=8)
xRowsCount = WorkRng.Rows.Count
xInterval = Application.InputBox("Wprowadź interwał wierszy. ", xTitleId, 1, Type:=1)
xRows = Application.InputBox("Ile wierszy wstawić w każdym przedziale? ", xTitleId, 1, Type:=1)
xNum1 = WorkRng.Row + xInterval
xLiczba2 = xwierszy + xinterwał
Ustaw xWs = WorkRng.Parent
For i = 1 To Int(xRowsCount / xInterval)
xWs.Range(xWs.Cells(xNum1, WorkRng.Column), xWs.Cells(xNum1 + xRows - 1, WorkRng.Column)). Wybierz
Application.Selection.EntireRow.Insert
xLiczba1 = xLiczba1 + xLiczba2
Dalej
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Fantastycznie - zaoszczędziłeś mi dużo bezmyślnego wprowadzania danych, bardzo dziękuję
Ten komentarz został zminimalizowany przez moderatora na stronie
cześć, jak mogę uzyskać kod do wstawiania określonej liczby kolumn do danych w ustalonych odstępach czasu?
Ten komentarz został zminimalizowany przez moderatora na stronie
Witam PK,
Aby wstawić puste kolumny do istniejących danych w określonych odstępach czasu, poniższy kod VBA może ci pomóc! Proszę spróbować.

Sub InsertColumnsAtoIntervals()
Dim Rng jako zakres
Dim xInterval jako liczba całkowita
Dim xCs jako liczba całkowita
Dim xCCount jako liczba całkowita
Dim xNum1 jako liczba całkowita
Dim xNum2 jako liczba całkowita
Dim WorkRng jako zakres
Dim xWs jako arkusz roboczy
xTitleId = "Kutools for Excel"
Ustaw WorkRng = Application.Selection
Ustaw WorkRng = Application.InputBox("Zakres", xTitleId, WorkRng.Address, Type:=8)
xCCount = WorkRng.Columns.Count
xInterval = Application.InputBox("Wprowadź interwał kolumny. ", xTitleId, 1, Type:=1)
xCs = Application.InputBox("Ile kolumn wstawić w każdym przedziale? ", xTitleId, 1, Type:=1)
xNum1 = WorkRng.Column + xInterval
xLiczba2 = xCs + xInterwał
Ustaw xWs = WorkRng.Parent
Dla I = 1 To Int(xCCount / xInterval)
xWs.Range(xWs.Cells(WorkRng.Row, xNum1 + xCs - 1), xWs.Cells(WorkRng.Row, xNum1)).Wybierz
Aplikacja.Wybór.CałaKolumna.Wstaw
xLiczba1 = xLiczba1 + xLiczba2
Dalej
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Jak dodać wiersze w danych programu Excel zgodnie ze wspomnianą liczbą w ostatniej komórce, powiedz w danych programu Excel, jeśli ostatnia komórka pokazuje liczbę jako 4 , w jaki sposób automatycznie dodać 4 wiersze. w innym wierszu numer to 72 itd.
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, SPGupta,
Aby wstawić puste wiersze na podstawie określonej listy numerów, zastosuj poniższy kod VBA.
Proszę spróbować, mam nadzieję, że może ci to pomóc!

Wstaw podrzędny()
„Aktualizuj do”Extendoffice
Dim xRg jako zakres
Dim xAddress jako ciąg
Dim I, xNum, xLastRow, xFstRow, xCol, xCount As Long
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Adres
Ustaw xRg = Application.InputBox("Wybierz konkretną kolumnę liczbową do użycia (pojedyncza kolumna):", "KuTools For Excel", xAddress, , , , , 8)
Jeśli xRg jest niczym, wyjdź z Sub
Application.ScreenUpdating = Fałsz
xLastRow = xRg(1).Koniec(xlDown).Row
xFstRow = xRg.Row
xCol = xRg.Kolumna
xLiczba = xRg.Liczba
Ustaw xRg = xRg(1)
Dla I = xLastRow do xFstRow Krok -1
xNum = Komórki(I, xCol)
Jeśli IsNumeric(xNum) i xNum > 0 Wtedy
Wiersze(I + 1).Resize(xNum).Insert
xLiczba = xLiczba + xLiczba
End If
Dalej
xRg.Resize(xCount, 1).Wybierz
Application.ScreenUpdating = True
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, czy mógłbyś mi pomóc, proszę? Jak mogę zmienić ten kod, aby reklama o jeden wiersz mniej niż liczba w komórce? Na przykład, jeśli liczba w komórce to 4, program doda 3 wiersze. Jeśli liczba w komórce to 1, wiersze nie są dodawane
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Nino,
Aby rozwiązać swoje zadanie, użyj poniższego kodu:

Wstaw podrzędny()
„Aktualizuj do”Extendoffice
Dim xRg jako zakres
Dim xAddress jako ciąg
Dim I, xNum, xLastRow, xFstRow, xCol, xCount As Long
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Adres
Ustaw xRg = Application.InputBox("Wybierz konkretną kolumnę liczbową do użycia (pojedyncza kolumna):", "KuTools For Excel", xAddress, , , , , 8)
Jeśli xRg jest niczym, wyjdź z Sub
Application.ScreenUpdating = Fałsz
xLastRow = xRg(1).Koniec(xlDown).Row
xFstRow = xRg.Row
xCol = xRg.Kolumna
xLiczba = xRg.Liczba
Ustaw xRg = xRg(1)
Dla I = xLastRow do xFstRow Krok -1
xNum = Komórki(I, xCol)
xLiczba = xLiczba - 1
Jeśli IsNumeric(xNum) i xNum > 0 Wtedy
Wiersze(I + 1).Resize(xNum).Insert
xLiczba = xLiczba + xLiczba
End If
Dalej
xRg.Resize(xCount, 1).Wybierz
Application.ScreenUpdating = True
End Sub


Proszę spróbować, mam nadzieję, że może ci to pomóc!
Ten komentarz został zminimalizowany przez moderatora na stronie
Działa idealnie, bardzo dziękuję!
Ten komentarz został zminimalizowany przez moderatora na stronie
To jest świetne. Zastanawiam się tylko... a mój angielski nie jest doskonały, więc mam nadzieję, że mnie zrozumiesz :) .....
Czy można wypełnić dodane puste wiersze wartościami z wiersza, w którym znajdował się ten numer parametryczny?
Ten komentarz został zminimalizowany przez moderatora na stronie
Witam, Władimir, czy masz na myśli wstawienie pustych wierszy na podstawie listy numerów w arkuszu? Jeśli tak, zastosuj poniższy kod:
Wstaw podrzędny()
„Aktualizuj do”Extendoffice
Dim xRg jako zakres
Dim xAddress jako ciąg
Dim I, xNum, xLastRow, xFstRow, xCol, xCount As Long
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Adres
Set xRg = Application.InputBox("Wybierz listę liczb, na podstawie których chcesz wstawić wiersze:", "KuTools For Excel", xAddress, , , , , 8)
Jeśli xRg jest niczym, wyjdź z Sub
Application.ScreenUpdating = Fałsz
xLastRow = xRg(1).Koniec(xlDown).Row
xFstRow = xRg.Row
xCol = xRg.Kolumna
xLiczba = xRg.Liczba
Ustaw xRg = xRg(1)
Dla I = xLastRow do xFstRow Krok -1
xNum = Komórki(I, xCol)
Jeśli IsNumeric(xNum) i xNum > 0 Wtedy
Wiersze(I + 1).Resize(xNum).Insert
xLiczba = xLiczba + xLiczba
End If
Dalej
xRg.Resize(xCount, 1).Wybierz
Application.ScreenUpdating = True
Koniec SubProszę spróbować, jeśli masz inne pytania, skomentuj tutaj.
Ten komentarz został zminimalizowany przez moderatora na stronie
Ten kod jest idealny do wstawiania wierszy....Sub Insert()
„Aktualizuj do”Extendoffice
Dim xRg jako zakres
Dim xAddress jako ciąg
Dim I, xNum, xLastRow, xFstRow, xCol, xCount As Long
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Adres
Ustaw xRg = Application.InputBox("Wybierz konkretną kolumnę liczbową do użycia (pojedyncza kolumna):", "KuTools For Excel", xAddress, , , , , 8)
Jeśli xRg jest niczym, wyjdź z Sub
Application.ScreenUpdating = Fałsz
xLastRow = xRg(1).Koniec(xlDown).Row
xFstRow = xRg.Row
xCol = xRg.Kolumna
xLiczba = xRg.Liczba
Ustaw xRg = xRg(1)
Dla I = xLastRow do xFstRow Krok -1
xNum = Komórki(I, xCol)
xLiczba = xLiczba - 1
Jeśli IsNumeric(xNum) i xNum > 0 Wtedy
Wiersze(I + 1).Resize(xNum).Insert
xLiczba = xLiczba + xLiczba
End If
Dalej
xRg.Resize(xCount, 1).Wybierz
Application.ScreenUpdating = True
End Sub

Ale czy to możliwe.... skopiować dane w tych pustych komórkach z wiersza, w którym był ten numer parametryczny? Czy mogę zamieścić tutaj zdjęcie? Może będzie łatwiej, jeśli pokażę Ci to, czego potrzebuję :)
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, Vladimir, Może poniższy kod VBA może ci pomóc, spróbuj. Sub CopyRow()
„Aktualizuj do”Extendoffice
Dim xRg jako zakres
Dim xCRg jako zakres
Dim xFNum jako liczba całkowita
Dim xRN jako liczba całkowita
On Error Resume Next
Wybierz zakres:
xTxt = ActiveWindow.RangeSelection.Adres
Ustaw xRg = Application.InputBox("Wybierz listę numerów", "Kutools for Excel", xTxt, , , , , 8)
Jeśli xRg jest niczym, wyjdź z Sub

Jeśli xRg.Columns.Count > 1 Wtedy
MsgBox "Proszę wybrać jedną kolumnę!"
Idź do Wybierz zakres
End If
Application.ScreenUpdating = Fałsz
Dla xFNum = xRg.Count do 1 Krok -1
Ustaw xCRg = xRg.Item(xFNum)
xRN = CInt(xCRg.Wartość)
Z wierszami (xCRg.Row)
.Kopiuj
.Zmień rozmiar(xRN).Wstaw
Kończyć z
Dalej
Application.ScreenUpdating = True
End Sub

Ten komentarz został zminimalizowany przez moderatora na stronie
Jesteśmy tak blisko :) Teraz potrzebuję tylko jednego wiersza mniej niż w poprzednim kodzie VBA, niż wartość liczby parametrycznej. Na przykład: Jeśli liczba to 8, musimy wstawić i skopiować 7 wierszy. Jak zrobiłeś dla Niny właśnie tym COPY
Tak więc, jeśli liczba wynosi 8, powinniśmy mieć łącznie 8 wstawionych i skopiowanych wierszy, a przy poprzednim kodzie VBA mamy 9.
tnx
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, W takim przypadku poniższy kod może ci pomóc, spróbuj: Sub CopyData()
„Aktualizuj do” Extendoffice
Dim xRow tak długo
Dim VInSertNum jako wariant
xwiersz = 1
Application.ScreenUpdating = Fałsz
Zrób podczas (Cells(xRow, "A") <> "")
VInSertNum = Cells(xRow, "B")
Jeśli ((VInSertNum > 1) And IsNumeric(VInSertNum)) Wtedy
Zakres(Cells(xRow, "A"), Cells(xRow, "B")).Kopiuj
Zakres(Cells(xRow + 1, "A"), Cells(xRow + VInSertNum - 1, "B")).Wybierz
Zaznaczenie.Wstaw przesunięcie:=xlDown
xRow = xRow + VInSertNum - 1
End If
xwiersz = xwiersz + 1
Pętla
Application.ScreenUpdating = Fałsz
Koniec SubNote: W powyższym kodzie litera A wskazuje początkową kolumnę zakresu danych i literę B to litera kolumny, na podstawie której chcesz powielić wiersze. Zmień je według swoich potrzeb.
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy masz moduł, który odlicza skopiowany numer o jeden?
Ten komentarz został zminimalizowany przez moderatora na stronie
Nie. Mam ten, ale potrzebuję go do odliczenia 1?
Sub CopyRow()
„Aktualizuj do”Extendoffice
Dim xRg jako zakres
Dim xCRg jako zakres
Dim xFNum jako liczba całkowita
Dim xRN jako liczba całkowita
On Error Resume Next
Wybierz zakres:
xTxt = ActiveWindow.RangeSelection.Adres
Ustaw xRg = Application.InputBox("Wybierz listę numerów", "Kutools for Excel", xTxt, , , , , 8)
Jeśli xRg jest niczym, wyjdź z Sub

Jeśli xRg.Columns.Count > 1 Wtedy
MsgBox "Proszę wybrać jedną kolumnę!"
Idź do Wybierz zakres
End If
Application.ScreenUpdating = Fałsz
Dla xFNum = xRg.Count do 1 Krok -1
Ustaw xCRg = xRg.Item(xFNum)
xRN = CInt(xCRg.Wartość)
Z wierszami (xCRg.Row)
.Kopiuj
.Zmień rozmiar(xRN).Wstaw
Kończyć z
Dalej
Application.ScreenUpdating = True
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
To, co próbuję zrobić, to tworzyć i drukować etykiety w programie Word z arkusza kalkulacyjnego z wieloma ilościami?
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy miałeś okazję się temu przyjrzeć?
Ten komentarz został zminimalizowany przez moderatora na stronie
Złoto cię błogosławi
Ten komentarz został zminimalizowany przez moderatora na stronie
Szukasz kodu do wygenerowania listy w programie Excel duplikującej się przez liczbę w komórce i odejmującej 1 dla oryginału?
Ten komentarz został zminimalizowany przez moderatora na stronie
Dziękuję autorze! Zasługujesz za to na najlepsze wyróżnienie! Ale czy możesz mi pomóc z kodem, aby umieścić stałą wartość we wszystkich pustych wierszach, które utworzyłem za pomocą powyższego kodu? Aby być bardziej przejrzystym, muszę wstawić stałą wartość do wszystkich pustych wierszy (to rozwiązane już w powyższym kodzie), a następnie muszę wstawić stałą wartość do wszystkich pustych wierszy (to jest mój problem). Dziękuję, ponieważ oczekuję życzliwej odpowiedzi.
Ten komentarz został zminimalizowany przez moderatora na stronie
Witam, Czy masz na myśli wypełnienie pustych wierszy określoną wartością? Jeśli tak, może ci pomóc poniższy artykuł:https://www.extendoffice.com/documents/excel/772-excel-fill-blank-cells-with-0-or-specific-value.html
Proszę spróbować.
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy mogę uzyskać kod VBA do usuwania wierszy na podstawie zduplikowanych wartości w wybranej kolumnie, zachowując wszystkie unikalne wartości?
Ten komentarz został zminimalizowany przez moderatora na stronie
Witaj Roy, jeśli chcesz usunąć wiersze na podstawie zduplikowanych wartości, zwykle możesz użyć Usuń duplikaty funkcja w programie Excel, aby usunąć wiersze. Oczywiście, jeśli potrzebujesz kodu VBA, użyj poniższego kodu: (Najpierw wybierz zakres danych, który chcesz usunąć, a następnie uruchom ten kod, wiersze oparte na zduplikowane wartości w pierwszej kolumnie wyboru zostaną natychmiast usunięte. ) Sub Usuń_duplikaty_rows()
Dim Rng jako zakres
Ustaw Rng = Wybór
Rng.RemoveDuplicates Columns:=Array(1), Header:=xlYes
Koniec SubProszę spróbować, mam nadzieję, że może ci to pomóc!
Ten komentarz został zminimalizowany przez moderatora na stronie
To jest takie fajne!! Wielkie dzięki
Ten komentarz został zminimalizowany przez moderatora na stronie
Muito obrigado, salvou meu trabalho, eu não tinha ideaa de como fazer. Muito obrigado mesmo!
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć,
Zapraszamy. Cieszę się, że to pomaga. Wszelkie pytania prosimy o kontakt. Miłego dnia.
Pozdrawiamy,
Mandy
Ten komentarz został zminimalizowany przez moderatora na stronie
czy możesz mi powiedzieć, jak wstawić kolumnę w ten sposób, jaki jest kod?
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć przyjacielu,
Możesz użyć tego kodu VBA:

Sub InsertColumnsAtIntervals()

'Updateby Extendoffice

Dim Rng As Range

Dim xInterval As Integer

Dim xColumns As Integer

Dim xColumnsCount As Integer

Dim xNum1 As Integer

Dim xNum2 As Integer

Dim WorkRng As Range

Dim xWs As Worksheet

xTitleId = "KutoolsforExcel"

Set WorkRng = Application.Selection

Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)

xColumnsCount = WorkRng.Columns.Count

xInterval = Application.InputBox("Enter column interval. ", xTitleId, 1, Type:=1)

xColumns = Application.InputBox("How many columns to insert at each interval? ", xTitleId, 1, Type:=1)

xNum1 = WorkRng.Column + xInterval

xNum2 = xColumns + xInterval

Set xWs = WorkRng.Parent

For i = 1 To Int(xColumnsCount / xInterval)

    xWs.Range(xWs.Cells(WorkRng.Row, xNum1), xWs.Cells(WorkRng.Row, xNum1 + xColumns - 1)).Select

    Application.Selection.EntireColumn.Insert

    xNum1 = xNum1 + xNum2

Next

End Sub


Pozdrawiamy,
Mandy
Ten komentarz został zminimalizowany przez moderatora na stronie
WSZYSTKIE TAKIE WSZYSTKICH!
Сидел, ломал голову как добавить строки по заданному количеству.
Ваш макрос мне очень помог.
Znamionowy 5 z 5
Ten komentarz został zminimalizowany przez moderatora na stronie
Imię i nazwisko E-mail Telefon Adres
0 Imię E-mail Telefon Adres
adres linia 2 Imię Telefon 0
Imię i nazwisko E-mail Telefon Adres
0 Imię E-mail Telefon Adres
wiersz adresu 2 0


Jak mogę to edytować, aby rozpocząć nowy wiersz przy każdej pustej wartości lub wartości 0 bez numerów telefonów z 0, aby rozpocząć nowy wiersz?
Ten komentarz został zminimalizowany przez moderatora na stronie
Witaj Jarrod

Przepraszamy, nie mogę jasno określić Twojego problemu.
Czy mógłbyś bardziej szczegółowo wyjaśnić swój problem? Możesz też wstawić zrzut ekranu lub plik tutaj.
Dziękuję Ci!
Ten komentarz został zminimalizowany przez moderatora na stronie
hola, hay algun codigo que me allowa copiar los datos, pero que en la primera columna que son fechas pueda ser consecutivo.

ejemplo

en vez de que quede asi

01 10-2022 Juan Ramirez
01 10-2022 Juan Ramirez
01 10-2022 Juan Ramirez

quede asi

01 10-2022 Juan Ramirez
02 10-2022 Juan Ramirez
03 10-2022 Juan Ramirez

dzięki
Ten komentarz został zminimalizowany przez moderatora na stronie
hola, hay algun codigo que me allowa copiar los datos, pero que en la primera columna que son fechas puedan ser consecutivas.

ejemplo

en vez de que quede asi

10 01-2022 Juan Ramirez
10 01-2022 Juan Ramirez
10 01-2022 Juan Ramirez

quede asi

10 01-2022 Juan Ramirez
11 01-2022 Juan Ramirez
12 01-2022 Juan Ramirez

dzięki
Ten komentarz został zminimalizowany przez moderatora na stronie
Cudowny skrypt vba!
Miałem ponad 5000 wierszy, do których muszę dodać nowe wiersze. Wszyscy inni przewodnicy powiedzieli mi, że gdybym stworzył kolumnę „pomocniczą”, zajęłoby mi to znaczną część życia, aby dodać 1,2 kopii wklejania w kółko, aby dodać nowe wiersze.
Dzięki za to!
Znamionowy 5 z 5
Nie ma tu jeszcze żadnych komentarzy
Zostaw swój komentarz
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL