Екцел - Један макро за више редова

  • Питање
  • Решење
  • Белешка

Питање

Имам две одвојене радне свеске које треба да упоредим. Задатак при руци је да пронађем одређени текст у радној књизи 2 (цол А) и једном нађем - онда морам да копирам следеће две ћелије / редове (цол Б и Ц) и залијепим га у вкбоок 1 (цол Б и Ц) за сваки појединачни ред за пронађени текст. Они који нису пронађени могу се оставити сами или празни.

Решење

Можете користити ово:

 Дим миСеарцхТект Ас Стринг Дим вб1, вб2 Ас Воркбоок Дим сх1, сх2 Ас Схеетс Сет вб1 = Воркбоокс ("Боок1") Сет вб2 = Воркбоокс ("Боок2") До Труе Труе МиСеарцхТект = ИнпутБок ("Унесите текст у Сеарцх фор. за затварање операције. ", " Тражи за ") Иф (миСеарцхТект =" ") Затим изађите из вб2.Ацтивате вб2БРов = Ћелије (65536, 2). Енд (клУп) .Ров вб2ЦРов = Ћелије (65536, 3). Енд ( клУп) .Ров Иф (вб2БРов> вб2ЦРов) Затим вб2ров = вб2БРов Елсе вб2ров = вб2ЦРов Крај Ако Ако вб2ров = 1 Затим вб2ров = 2 вб1.Ацтивате На Грешка Настави Следећи Ако АцтивеСхеет.АутоФилтерМоде Затим Целлс.Селецт Селецтион.АутоФилтер Крај Ако АцтивеСхеет .АутоФилтерМоде = Фалсе онда Ровс (1) .Селецт Селецтион.АутоФилтер Енд Иф Он Грешка ГоТо 0 Селецтион.АутоФилтер Фиелд: = 1, Цритериа1: = "=" & миСеарцхТект, Оператор: = клАнд Дим ластРов Ас Лонг ластРов = Целлс (65536), 1) .Енд (клУп) .Ров Иф (ластРов> 1) Затим Ранге (Целлс (2, 2), Целлс (ластРов, 3)) Изаберите Селецтион.Цопи вб2.Ацтивате Целлс (вб2ров, 2). .ПастеСпециал вб2БРов = Ћелије (65536, 2). Енд (клУп) .Ров вб2ЦРов = Ћелије (65536, 3). Енд (клУп) .Ров Иф (вб2БРов> вб2ЦРов) Затим вб2ров = вб2БРов Елсе вб2ров = вб2ЦРов Крај Ако вб2ров = вб2ров + 1 Енд Иф Лооп 

Белешка

Хвала ризвиса1 за овај тип на форуму.

Претходни Чланак Sledeći Чланак

Топ Савети