Jak automaticky aktualizovat seřazený rozsah pomocí VBA v listu aplikace Excel

Sdílej nyní:

Vlastní řazení v aplikaci Excel je velmi užitečná funkce. V tomto článku budeme hovořit o tom, jak automaticky aktualizovat vlastní řazení v rozsahu pomocí aplikace Excel VBA.

Když použijete vlastní řazení, zjistíte, že se jedná o úžasnou funkci v aplikaci Excel. Pokud však tuto funkci používáte často, můžete také najít problém. Seřadíte v rozsahu s určitými údaji a informacemi. Když do rozsahu přidáte další data a informace, pořadí v rozsahu se automaticky nezmění. Obrázek níže ukazuje příklad takového stavu.Příklad

Když do rozsahu přidáte novou sadu dat, pořadí se automaticky nezmění. Pokud stále chcete řadit tento větší rozsah s novou sadou dat podle stejných kritérií, musíte provést proces vlastního řazení znovu. Vidíte, že je to velmi problematické, zvláště když potřebujete neustále aktualizovat data a informace v listu. Pokaždé, když do rozsahu přidáte nové informace, je třeba je znovu seřadit. Chcete-li tento problém vyřešit a rychle dokončit úkol, můžete pokračovat ve čtení tohoto článku.

Nahrát makro

Pokud jsou kritéria vlastního řazení velmi složitá, je obtížné psát kódy VBA přímo. Nyní tedy můžete nejprve zaznamenat makro. A kódy v tomto makru lze použít v jiných makrech. Proces nahrávání kódů je velmi snadný.

  1. Před zaznamenáním makra musíte na pás karet přidat kartu VBA. Zde klikněte pravým tlačítkem na libovolnou kartu na pásu karet.
  2. A poté v nabídce vyberte možnost „Přizpůsobit pás karet“.Přizpůsobte pásku
  3. Nyní v okně „Možnosti aplikace Excel“ zaškrtněte možnost „Vývojář“ v seznamu „Hlavní karty“.Vývojář
  4. Poté klikněte v okně na „OK“. Proto jste přidali kartu na pásu karet.
  5. Nyní se vrátíte k listu. Klikněte na kartu „Vývojář“, kterou jste přidali.
  6. Poté klikněte na panelu nástrojů na tlačítko „Zaznamenat makro“. Otevře se tedy okno „Record Macro“.Nahrát makro

Na druhou stranu můžete také kliknutím na malé tlačítko ve spodní části listu nahradit výše uvedených 6 kroků.Nahrát makro

  1. Nyní v okně „Záznam makra“ zadejte název do prvního textového pole. Pokud potřebujete, přiřaďte klávesovou zkratku. A poté přidejte popis podle svých potřeb.Nastavit makro
  2. Dále klikněte na „OK“. Makro tedy začne zaznamenávat každou operaci, kterou provedete.
  3. Vyberte rozsah, který chcete v listu seřadit.
  4. Klikněte na kartu „Domů“.
  5. Poté klikněte na pásu karet na tlačítko „Seřadit a filtrovat“.
  6. V rozevíracím seznamu vyberte možnost „Vlastní řazení“.Vlastní řazení
  7. V okně „Řazení“ nastavte kritéria podle svých potřeb. Všechny akce budou zaznamenány v makru.Typ

Když nahráváte makro, neprovádějte další kroky. Jinak budou tyto kroky také zaznamenány. A to způsobí potíže v následující části.

  1. Po dokončení nastavení v okně „Seřadit“ uložte nastavení kliknutím na „OK“.
  2. Nyní na pásu karet klikněte znovu na kartu „Vývojář“.
  3. Poté klikněte na tlačítko „Zastavit nahrávání“. Když je list ve stavu zaznamenávání maker, tlačítko se změní na „Zastavit záznam“.Zastavte nahrávání

Můžete také kliknout na tlačítko ve spodní části listu a zastavit nahrávání makra. Tím jste dokončili nahrávání. Všechna kritéria řazení byla uložena v Makru 1.

Použijte makra Excel VBA

V této části si ukážeme, jak používat makra VBA k aktualizaci vlastního řazení v listu. A také použijete zaznamenaná makra v této části.

  1. Na pásu karet klikněte na kartu Vývojář.
  2. A pak klikněte na tlačítko „Visual Basic“ na panelu nástrojů. Místo toho můžete také stisknout tlačítko „Alt + F11“ na klávesnici a nahradit tyto 2 kroky.Visual Basic
  3. V editoru jazyka dvakrát klikněte na list v oblasti „VBAProject“. V tomto listu musíte aktualizovat vlastní řazení. A ve skutečném souboru musíte dvakrát kliknout na odpovídající list.
  4. Nyní zadejte do oblasti následující kódy.
Private Sub Worksheet_Change(ByVal Target As Range)

End Sub
  1. A pak vložte následující kódy mezi výše uvedené dvě věty VBA.
Application.ScreenUpdating = False
If Not Intersect(Target, Range("A1:C13")) Is Nothing Then

End If

Zde se odhaduje dosah. Na objem prodeje bude 12 měsíců a společně s první řadou záhlaví zadáme rozsah „A1: C13“. Rozsah můžete také zadat do kódů podle aktuálního listu.

  1. V tomto kroku otevřete modul 1 v editoru. Kódy v tomto modulu jsou procesem vlastního řazení, které jste dříve vytvořili. Uvidíte, že používání funkce záznamu maker vám může ušetřit spoustu času.
  2. Nyní zkopírujte hlavní část v tomto modulu.Zkopírujte
  3. A potom dvakrát klikněte na tarzískejte list v části „VBAProject“.
  4. Poté vložte kódy do kódů IF-END IF.
  5. A poté upravte rozsah v kódech podle své potřeby. Zaznamenané makro je trochu komplikované a nadbytečné. Můžete jej také upravit podle svých potřeb. Proto budou úplné kódy VBA vypadat takto:
Private Sub Worksheet_Change(ByVal Target As Range)
  Application.ScreenUpdating = False
  If Not Intersect(Target, Range("A1:C13")) Is Nothing Then
    With ActiveWorkbook.Worksheets("Sheet1").Sort
      .SortFields.Clear
      .SortFields.Add Key:=Range("B2:B13"), _
         SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
      .SortFields.Add Key:=Range("C2:C13"), _
         SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    End With
 
    With ActiveWorkbook.Worksheets("Sheet1").Sort
      .SetRange Range("A1:C13")
      .Header = xlYes
      .MatchCase = False
      .Orientation = xlTopToBottom
      .SortMethod = xlPinYin
      .Apply
    End With
  End If
End Sub

Do kódů přidáme další WITH-END WITH. Bude tedy jasnější než výsledek záznamu. Pokud máte další požadavky, můžete je také upravit podle své skutečné potřeby. Při úpravě kódů musíte být opatrní. Jinak v listu vytvoříte nesprávný výsledek.

  1. Nyní jste v editoru dokončili kódy VBA. Můžete se vrátit k listu a otestovat výsledek. Když do rozsahu přidáte další měsíc a odpovídající čísla, vlastní řazení se automaticky obnoví.test

Proto nikdy nebudete muset ručně aktualizovat vlastní řazení pokaždé, když zadáte nové prvky do tardostat rozsah. Na druhou stranu musíte tento sešit uložit jako soubor aplikace Excel s povolenými makry. Jinak kódy ztratíte, pokud je uložíte jako běžný soubor.

Obětem aplikace Excel poskytneme pomoc obětem korupce

Všichni víme, že Excel je velmi výkonný a může vám pomoci rychle a snadno dokončit práci. Ale aplikace Excel ještě zdaleka není dokonalá. Někdy dojde k poškození aplikace Excel z mnoha různých důvodů. Jakmile aplikace Excel dojde k poškození, nebudete pomocí této aplikace moci své úkoly dokončit. Aby fungoval lépe, budete jej muset opravit co nejdříve.

Naše společnost pracuje na oblasti obnovy po mnoho let, zejména na obnově aplikace Excel. Proto se můžete obrátit o pomoc na naše technické pracovníky. Díky dlouholetým zkušenostem můžeme snadno zjistit důvod, který způsobuje poškození vašich souborů. A abychom vám pomohli lépe opravit poškození souboru Excel xlsx, vyvinuli jsme nástroj třetí strany. Manipulace s tímto nástrojem je velmi snadná a nemusíte si dělat starosti s problémem ochrany osobních údajů.

Úvod autora:

Anna Ma je ​​expertem na obnovu dat v DataNumen, Inc., která je světovým lídrem v oblasti technologií pro obnovu dat, včetně opravit chybu Word docx a výhledové softwarové produkty pro opravy. Pro více informací navštivte www.datanumen.com

Sdílej nyní:

Komentáře jsou uzavřeny.