Přejít na hlavní obsah

Excel makro kopírování řádků na jiný list - podrobný návod s příklady / vědecké články o programování na ITZone

Microsoft Excel je jedním z nejpopulárnějších softwarových produktů pro práci s tabulkami. Jeho funkce umožňuje automatizovat mnoho úkolů, včetně kopírování řádků z jednoho listu na druhý. K tomu Excel používá makra-automatizované skripty zapsané v jazyce VBA (Visual Basic for Applications).

Kopírování řádků na jiný list pomocí Maker může být užitečné při zpracování velkého množství dat, když je nutné rychle přenést určité řádky z jednoho listu na druhý. Můžete například zkopírovat všechny řádky obsahující určitou hodnotu ve sloupci na samostatný list pro další práci nebo analýzu.

Chcete-li vytvořit makro kopírování řádků na jiný list, musíte v Excelu otevřít Visual Basic Editor. V nabídce vývojář vyberte "Visual Basic". V okně, které se otevře, vyberte "Vložit" - "Modul" pro vytvoření nového modulu. Do okna, které se otevře, vložte následující kód:

'Zadejte název původního listu a listu pro kopírování

Dim SourceSheet As Worksheet

Dim TargetSheet As Worksheet

Set SourceSheet = ThisWorkbook.Sheets ("původní list")

Set TargetSheet = ThisWorkbook.Tabulky ("list pro kopírování")

'Zadejte sloupec a hodnotu pro Filtrování řádků

Dim FilterColumn As Integer

Dim FilterValue As Variant

FilterColumn = 2 ' například sloupec B

FilterValue = "hodnota pro filtrování"

'Přejdeme všechny řádky a zkopírujeme požadované na jiný list

Dim i As Long

For i = 1 To SourceSheet.Cells(Rows.Count, FilterColumn).End(xlUp).Row

If SourceSheet.Cells(i, FilterColumn).Value = FilterValue Then

SourceSheet.Rows(i).Copy Destination:=TargetSheet.Cells(TargetSheet.Cells(Rows.Count, FilterColumn).End(xlUp).Row + 1, 1)

End If

Next i

'Voláme zprávu o dokončení kopírování

MsgBox " kopírování řádků dokončeno!", vbInformation

End Sub

Příklady použití makra aplikace Excel ke kopírování řádků na jiný list

Příklad 1:

Řekněme, že máte list "Původní list", obsahující informace o zboží: artikl, název, množství a cena. Chcete zkopírovat všechny řádky, ve kterých je množství položky větší než 10, na nový list "Nový list".

1. Otevřete kartu "Zpracovatel" v nabídce Excel a vyberte "Vizuální základní editor".

2. V okně editoru, které se otevře, vložte následující kód:

Sub CopyRows()Dim SourceSheet As WorksheetDim NewSheet As WorksheetDim i As Long, LastRow As LongSet SourceSheet = ThisWorkbook.Sheets("Исходный лист")Set NewSheet = ThisWorkbook.Sheets("Новый лист")LastRow = SourceSheet.Cells(Rows.Count, 1).End(xlUp).RowFor i = 2 To LastRowIf SourceSheet.Cells(i, 3).Value > 10 ThenSourceSheet.Rows(i).Copy Destination:=NewSheet.Rows(i - 1)End IfNext iMsgBox "Копирование завершено!"End Sub

3. Změňte názvy listů "Původní list" a "Nový list" na své.

4. Stiskněte F5 nebo vyberte Spustit-Spustit podprogram.

5. Řádky, kde je množství zboží větší než 10, budou zkopírovány na list "Nový list".

Příklad 2:

Vaše společnost zaznamenává prodej a vrácení zboží v souboru Excel. Máte list "Prodeje", kde je uvedeno datum, jméno výrobku, počet prodaných kusů a cena. Chcete zkopírovat všechny řádky s vrácením zboží, tj. kde je číslo záporné, na nový list "Vrácení".

1. Otevřete kartu "Zpracovatel" v nabídce Excel a vyberte "Vizuální základní editor".

2. V okně editoru, které se otevře, vložte následující kód:

Sub CopyReturns()Dim SalesSheet As WorksheetDim ReturnsSheet As WorksheetDim i As Long, LastRow As LongSet SalesSheet = ThisWorkbook.Sheets("Продажи")Set ReturnsSheet = ThisWorkbook.Sheets("Возвраты")LastRow = SalesSheet.Cells(Rows.Count, 1).End(xlUp).RowFor i = 2 To LastRowIf SalesSheet.Cells(i, 3).Value < 0 ThenSalesSheet.Rows(i).Copy Destination:=ReturnsSheet.Rows(ReturnsSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1)End IfNext iMsgBox "Копирование завершено!"End Sub

3. Změňte názvy listů "Prodeje" a "Vrácení" na své.

4. Stiskněte F5 nebo vyberte Spustit-Spustit podprogram.

5. Řádky s vrácením zboží budou zkopírovány na list "Vrácení".

Stručný popis makra Excelu a jeho účelu

Makro v Excelu je zaznamenaná sada akcí, které lze provádět a opakovat automaticky. Umožňuje automatizovat rutinní úkoly, zjednodušit práci se složitými vzorci a manipulací s daty.

Hlavním účelem makra Excelu je zjednodušení práce s daty, zpracování a analýza informací, vytváření sestav a tabulek. Dokáže provádět jednoduché akce i složité operace, včetně třídění, filtrování, kopírování, formátování a dalších.

Vytváření maker v Excelu vám umožňuje výrazně urychlit práci, minimalizovat možnost chyb a zvýšit výkon. Makra lze spouštět jak tlačítkem, tak je spojovat s určitými událostmi, jako je změna hodnoty buňky nebo otevření dokumentu.

Kromě toho mohou být makra v Excelu užitečná nejen pro jednotlivého uživatele, ale také pro tým, což vám umožní automatizovat úkoly a zkrátit dobu provádění projektů.

Příklady pracovních sad Maker v Excelu:

  1. Automatické filtrování a třídění dat v tabulce.
  2. Vytvoření sady sestav na základě dostupných dat.
  3. Zjednodušení práce se složitými vzorci a funkcemi.
  4. Automatické formátování a stylizace tabulek a dokumentů.
  5. Kopírování dat z jednoho listu na druhý.

Makra aplikace Excel nabízejí mnoho možností, jak optimalizovat práci s daty. Umožňují ušetřit čas a zdroje a také snížit možnost chyb. Bez ohledu na úroveň zkušeností s používáním Maker a VBA poskytuje Excel široké možnosti pro vytváření a automatizaci úkolů, což uživatelům na jakékoli úrovni usnadňuje práci.

Kroky k vytvoření a použití makra

Kroky k vytvoření a použití makra v Excelu:

Krok 1: Otevřete soubor Excel a přejděte na kartu Vývojář. Pokud tato karta chybí, musíte ji přidat. Chcete-li to provést, vyberte Soubor, poté Možnosti, přejděte na kartu Možnosti pásu karet a zaškrtněte políčko vedle vývojáře. Klepnutím na OK uložíte změny.

Krok 2: Přejděte na kartu Vývojář a klikněte na tlačítko" Vypálit makro". Zadejte název makra a vyberte místo, kde bude uloženo (například "Excel Book" nebo "externí book"). Kliknutím na OK zahájíte nahrávání makra.

Krok 3: Postupujte podle nezbytných kroků, které musí vaše makro provést. Můžete například vybrat buňky, zkopírovat je a vložit na jiný list. Můžete také provádět další operace, jako je formátování nebo třídění dat.

Krok 4: Po provedení všech nezbytných kroků klikněte na tlačítko" Zastavit nahrávání makra "na kartě Vývojář.+

Krok 5: Nyní, chcete-li provést makro, přejděte na kartu Vývojář, vyberte název makra a klikněte na tlačítko Spustit. Všechny akce, které jste zaznamenali v makru, budou automaticky provedeny.

Zde je jednoduchý příklad makra, které kopíruje řádky z jednoho listu na druhý:

Sub CopyRows()Dim i As IntegerDim LastRow As Integer'Определение последней заполненной строки на первом листеLastRow = Sheets("Лист1").Cells(Rows.Count, 1).End(xlUp).Row'Копирование строк с первого листа на второйFor i = 2 To LastRowSheets("Лист1").Rows(i).Copy Destination:=Sheets("Лист2").Rows(i)Next iEnd Sub

Toto makro zkopíruje všechny řádky, počínaje druhým řádkem, z listu List1 na List2. Názvy listů můžete změnit na své vlastní podle vašich potřeb.

Poznámka: Chcete-li použít makra v souboru Excel, ujistěte se, že jej uložíte s příponou."xlsm "nebo".xlsb". To vám umožní uložit makra spolu s vaším souborem.