Өмір

Excel VBA-де жолды қалай көшіруге болады

Excel VBA-де жолды қалай көшіруге болады

VBA бағдарламасын Excel бағдарламалау үшін қолдану бұрынғыдай танымал емес. Дегенмен, әлі де Excel бағдарламасымен жұмыс істеуді қалайтын бағдарламашылар көп. Егер сіз сол адамдардың бірі болсаңыз, онда бұл мақала сізге арналған.

Excel VBA-да жолды көшіру - бұл Excel VBA үшін өте пайдалы нәрсе. Мысалы, сізде барлық түсімдердің күні, шоты, санаты, провайдері, өнімі / қызметі және құны көрсетілген бір файл болуы керек, себебі олар пайда болуы мүмкін - статистикалық есепке емес, дамып келе жатқан бухгалтерлік есеп үлгісі. Ол үшін бір жұмыс парағынан екінші параққа жолды көшіру мүмкіндігі болуы керек.

Бір жұмыс парағынан екіншісіне жолды көшіретін Excel VBA үлгісі - қарапайымдылығы бар үш бағанды ​​ғана қолданады:

  • Мәтінге арналған альфа баған
  • Сандық баған - мақсатты жұмыс парағында автоматты сома жасалады
  • Күндер бағанында - ағымдағы күн мен уақыт автоматты түрде толтырылады

Excel VBA кодын жазуды қарастыру

Жолды көшіретін оқиғаны бастау үшін стандартты-Button пішінін басқарумен өтіңіз. Excel бағдарламасында «Жасақтаушы» қойындысындағы «Кірістіру» пәрменін таңдаңыз. Содан кейін, Түймешік формасын басқаруды таңдап, қажетті жерге батырманы салыңыз. Excel бағдарламасы автоматты түрде батырманың басу оқиғасынан басталған макросты таңдауға немесе жаңасын жасауға мүмкіндік беретін диалогты көрсетеді.

Мақсатты жұмыс парағында соңғы жолды табудың бірнеше жолы бар, сондықтан бағдарлама жолды төменгі жағына көшіре алады. Бұл мысал жұмыс парағындағы соңғы жолдың санын сақтауды таңдайды. Соңғы жолдың нөмірін сақтау үшін сіз оны бір жерде сақтауыңыз керек. Бұл мәселе болуы мүмкін, себебі пайдаланушы нөмірді өзгерте немесе жоя алады. Мұны білу үшін оны пішін батырмасының астындағы ұяшыққа салыңыз. Осылайша, пайдаланушыға қол жетімді емес. (Жасаудың ең оңай жолы - ұяшыққа мән енгізіп, батырманы үстіне жылжытыңыз.)

Excel VBA көмегімен жолды көшіруге арналған код

Add_The_Line () Өлшемді ағымдық жол ретінде («Парақ1») ағымдық жолды таңдаңыз («Парақ1»). Ағымдағы жолды таңдаңыз («C2»). Мән жолдарын (7) таңдаңыз. Таңдауды таңдаңыз.Копи парақтарды («Парақ2») таңдаңыз. Жолдар (ағымдық жол) таңдаңыз. .Күнді күні ретінде салыңыз theDate = Now () Ұяшықтар (ағымдық жол, 4) .Value = CStr (theDate) Ұяшықтар (ағым-қатар + 1, 3) .DT raseTellCell ауқымын rTotalCell = _ парақтар ретінде белсендіріңіз («Sheet2»). Ұяшықтар (Жолдар. Санау, «C»). Аяқталу (xlUp) .Offset (1, 0) rTotalCell = Жұмыс парағының функциясы.Sum _ (ауқым («C7», rTotalCell.Offset (-1, 0))) Парақтар («Парақ1» ). «Ауыстыру» («C2»). Мән = ағымдық жол + 1 Аяқтау ішкі

Бұл кодта xlUp, «сиқырлы сан» немесе одан да көп техникалық тұрғыдан, End әдісімен танылған, саналып көрсетілген тұрақты қолданылады. Офсет (1,0) сол бағандағы бір жолды жоғары жылжытады, сондықтан таза эффект С бағанындағы соңғы ұяшықты таңдау болып табылады.

Бір сөзбен айтқанда, мәлімдемеде:

  • C бағанындағы соңғы ұяшыққа өтіңіз (Аяқтау + Төмен көрсеткісі бар).
  • Содан кейін, соңғы пайдаланылмаған ұяшыққа оралыңыз (Аяқтау + Жоғары көрсеткі).
  • Содан кейін тағы бір ұяшыққа барыңыз.

Соңғы нұсқа соңғы жолдың орнын жаңартады.

VBA VB.NET-тен гөрі қиынырақ, өйткені VB және Excel VBA нысандарын білу керек. XlUP-ті қолдану - кодталған әр мәлімдеме үшін үш түрлі затты іздемей, VBA макростарын жазу үшін өте маңызды мамандандырылған білімнің жақсы мысалы. Microsoft сізге дұрыс синтаксисті анықтауға көмектесу үшін Visual Studio редакторын жаңартуда үлкен жетістіктерге жетті, бірақ VBA редакторы онша өзгерген жоқ.


Video, Sitemap-Video, Sitemap-Videos