Život

Ako kopírovať riadok v Excel VBA

Ako kopírovať riadok v Excel VBA


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

Použitie programu VBA na programovanie programu Excel nie je také populárne, ako tomu bolo v minulosti. Stále však existuje veľa programátorov, ktorí dávajú prednosť pri práci s programom Excel. Ak ste jedným z týchto ľudí, tento článok je určený pre vás.

Kopírovanie riadku v programe Excel VBA je to, pre čo je program Excel VBA skutočne užitočný. Napríklad môžete chcieť mať jeden súbor všetkých vašich potvrdení s dátumom, účtom, kategóriou, poskytovateľom, produktom / službou a nákladmi zadaný naraz do jedného riadku, pretože sa vyskytujú - je to skôr prípad vývoja účtovníctva ako statického účtovníctva. Aby ste to mohli urobiť, musíte mať možnosť skopírovať riadok z jedného pracovného listu na druhý.

Vzorový program Excel VBA, ktorý skopíruje riadok z jedného pracovného hárka do druhého - na zjednodušenie obsahuje iba tri stĺpce:

  • Alfa stĺpec pre text
  • Číselný stĺpec - na cieľovom pracovnom hárku sa vytvorí automatický súčet
  • Stĺpec s dátumom - aktuálny dátum a čas sa vyplní automaticky

Úvahy o písaní kódu Excel VBA

Ak chcete spustiť udalosť, ktorá skopíruje riadok, choďte s ovládaním formulára štandardného tlačidla. V programe Excel kliknite na Vložiť na karte Vývojár. Potom vyberte ovládací prvok formulára tlačidla a nakreslite tlačidlo tam, kde chcete. Excel automaticky zobrazí dialógové okno, aby vám dal šancu vybrať makro vyvolané udalosťou kliknutia na tlačidlo alebo vytvoriť nové.

Existuje niekoľko spôsobov, ako nájsť posledný riadok v cieľovom pracovnom hárku, aby program mohol skopírovať riadok v dolnej časti. Tento príklad sa rozhodol zachovať číslo posledného riadku v pracovnom hárku. Ak chcete zachovať číslo posledného riadku, musíte toto číslo niekde uložiť. Môže to byť problém, pretože používateľ môže číslo zmeniť alebo odstrániť. Aby ste to obišli, vložte ju do bunky priamo pod tlačidlom formulára. Týmto spôsobom je to pre užívateľa neprístupné. (Najjednoduchšie je zadať hodnotu do bunky a potom na ňu presunúť tlačidlo.)

Kód na kopírovanie riadku pomocou Excel VBA

Sub Add_The_Line () Stlmiť currentRow ako celé listy ("Sheet1"). Vyberte currentRow = Range ("C2"). Hodnoty riadkov (7) .Vyberte výber.Copy Sheets ("Sheet2"). Vyberte riadky (currentRow) .Vyberte ActiveSheet. .Vložte Dim theDate as Date theDate = Now () Cells (currentRow, 4) .Value = CStr (theDate) Cells (currentRow + 1, 3) .Activate Dim rTotalCell As Set Range rTotalCell = _ Sheets ("Sheet2"). (Rows.Count, "C"). End (xlUp) .Offset (1, 0) rTotalCell = WorksheetFunction.Sum _ (Range ("C7", rTotalCell.Offset (-1, 0))) Sheets ("Sheet1" ) .Range ("C2"). Hodnota = currentRow + 1 End Sub

Tento kód používa xlUp, „magické číslo“ alebo technicky vymenovanú konštantu, ktorá je rozpoznaná metódou End. Ofset (1,0) sa jednoducho posunie o jeden riadok v tom istom stĺpci, takže čistým efektom je výber poslednej bunky v stĺpci C.

Slovami sa vo vyhlásení hovorí:

  • Prejdite na poslednú bunku v stĺpci C (zodpovedá End + šípka dole).
  • Potom sa vráťte späť k poslednej nepoužitej bunke (zodpovedá šípke End + Up).
  • Potom choďte o jednu bunku vyššie.

Posledný príkaz aktualizuje umiestnenie posledného riadku.

VBA je pravdepodobne ťažšia ako VB.NET, pretože musíte poznať objekty VB aj Excel VBA. Použitie xlUP je dobrým príkladom druhu špecializovaných vedomostí, ktoré sú rozhodujúce pre schopnosť písať makrá VBA bez toho, aby ste hľadali tri rôzne veci pre každé vyhlásenie, ktoré kódujete. Spoločnosť Microsoft urobila veľký pokrok v inovácii editora Visual Studio, ktorý vám pomôže zistiť správnu syntax, ale editor VBA sa príliš nezmenil.



Komentáre:

  1. Cus

    This gorgeous phrase will come in handy.

  2. Eagon

    What would we do without his admirable phrase

  3. Wambli-Waste

    Máte nesprávne údaje

  4. Billy

    analogues are found?

  5. Sutcliff

    In my opinion there is someone to cycle

  6. Kagabei

    Myslím, že sa robia chyby. Skúsme o tom diskutovať. Napíšte mi do PM, hovorte.

  7. Shakara

    I consider, that you are mistaken.

  8. Alessandro

    Ospravedlňujem sa, ale podľa môjho názoru sa mýlite. Poďme diskutovať. Napíš mi v PM, budeme hovoriť.

  9. Cassidy

    Willingly I accept. Podľa môjho názoru je to zaujímavá otázka, zúčastním sa diskusie.Spolu môžeme dospieť k správnej odpovedi. mám istotu.

  10. Verrill

    Well, well, it is not necessary to speak so.



Napíšte správu

Video, Sitemap-Video, Sitemap-Videos