Комбинујте 2 ВБА кода

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

Питање

Како да их упишем у кодове у један код?

Цоде1)

 Публиц Суб Ворксхеет_БефореДоублеЦлицк (БиВал Таргет Ас Ранге, Цанцел Ас Боолеан) Дим МиРанге Ас Ранге Дим ИнтерсецтРанге Ас Ранге Сет МиРанге = Ранге ("д9: е38") Сет ИнтерсецтРанге = Интерсецт (Таргет, МиРанге) Он Еррор ГоТо СкипИт Екит Суб Елсе АцтивеСхеет.Унпротецт Апплицатион.СцреенУпдатинг = Фалсе Таргет = Формат (Сада, "ттттт") АцтивеСхеет.Протецт ДравингОбјецтс: = Труе, Садржај: = Труе, Сценарији: = Труе АцтивеСхеет.ЕнаблеСелецтион = кллоцкедЦеллс Енд Иф АцтивеСхеет.Унпротецт Ровс ( "1: 3") Изаберите опсег ("1: 3, А4: Е65536"). Изаберите опсег ("1: 3, А4: Е65536, Г4: ИВ65536") Изаберите Селецтион.Лоцкед = Фалсе Селецтион.ФормулаХидден = Фалсе АцтивеСхеет.Протецт ДравингОбјецтс: = Фалсе, Садржај: = Труе, Сценарији: = _ Фалсе АцтивеЦелл.Оффсет (, 1) .Селецт СкипИт: Екит Суб Енд Суб 

Код 2)

 Публиц Суб Ворксхеет_БефореДоублеЦлицк (БиВал Таргет Ас Ранге, Цанцел Ас Боолеан) Цонст ВС_РАНГЕ Ас Стринг = "А9: А39" '<== промена у складу са грешком ГоТо вс_екит Апплицатион.ЕнаблеЕвентс = Фалсе ако није пресек (Таргет, Ме.Ранге (ВС_РАНГЕ) )) Је ли ништа онда са Таргет Ме.Унпротецт Таргет.Валуе = Формат (Сада, "ддддд") Ме.Протецт ДравингОбјецтс: = Труе, Садржај: = Труе, Сценарији: = Труе Ме.ЕнаблеСелецтион = кллоцкедЦеллс Цанцел = Труе Енд Витх Енд Ако је вс_екит: Апплицатион.ЕнаблеЕвен Енд Суб 

Решење

Пробајте ово:

 Публиц Суб Ворксхеет_БефореДоублеЦлицк (БиВал Таргет Ас Ранге, Цанцел Ас Боолеан) Цонст ВС_РАНГЕ Ас Стринг = "А9: А39" Дим МиРанге Ас Ранге Дим ИнтерсецтРанге Ас Ранге Сет МиРанге = Ранге ("д9: е38") Сет ИнтерсецтРанге = Интерсецт (Таргет, МиРанге) ) На грешци ГоТо СкипИт Ако није пресечена (Таргет, Ме.Ранге (ВС_РАНГЕ)) није ништа онда са Таргет Ме.Унпротецт Таргет.Валуе = Формат (Сада, "ддддд") Ме.Протецт ДравингОбјецтс: = Труе, Садржај: = Труе, Сценарији: = Труе Ме.ЕнаблеСелецтион = кллоцкедЦеллс Откажи = Истинити Крај Са Другим Ако ИнтерсецтРанге Ниста Онда Излаз Суб Елсе АцтивеСхеет.Унпротецт Апплицатион.СцреенУпдатинг = Фалсе Таргет = Формат (Сада, "ттттт") АцтивеСхеет.Протецт ДравингОбјецтс: = Труе, Садржај: = Труе, Сценарији: = Истина АцтивеСхеет.ЕнаблеСелецтион = кллоцкедЦеллс Крај Ако је АцтивеСхеет.Унпротецт Ровс ("1: 3"). Изаберите Ранге ("1: 3, А4: Е65536"). Изаберите Ранге ("1: 3, А4: Е65536, Г4: ИВ65536 ") Селецт Селецтион.Лоцкед = Фалсе Селецтион.ФормулаХидден = Фалсе АцтивеСхеет.Протецт ДравингОбјецтс: = Фалсе, Цонтентс: = Тру е, Сценарији: = Фалсе АцтивеЦелл.Оффсет (, 1) .Одаберите Енд Иф СкипИт: Апплицатион.ЕнаблеЕвентс = Труе Екит Суб Енд Суб 

Белешка

Хвала Екцелгуру-у за овај савјет на форуму.

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

Топ Савети