Извуците податке из затворене радне свеске

Anonim

Издвајање података из затворене датотеке у другу радну свеску уобичајен је захтев већине екцел корисника. Желе да извуку или консолидују податке из затворених датотека; међутим, то није могуће. Постоји решење које помаже у решавању овог проблема. Решење је коришћење макро кода.

Питање: Свакодневно проводим време у копирању података из једне датотеке у другу. Постоје две датотеке „Опен.клс“ и „Цлосед.клс“. Желим да копирам податке из „Цлосед.клс“ у „Опен.клс“ путем ВБА кода.

Кључне ствари које треба знати:

  • Прва ствар је да бисмо требали знати „Коришћени опсег“ затворене радне свеске, тј. „Затворени.клс“ унутар отворене радне свеске за нпр. „Опен.клс“
  • Можемо користити функцију ИФ у Уседранге -у радне свеске „Цлосед.клс“ у радној свесци „Опен.клс“ и она ће издвојити податке из радне свеске „Цлосед.клс“
  • Ако је референтна ћелија празна, ставља се #Н/А. Помоћу методе специалцеллс можете избрисати све грешке #Н/А и променити формулу у вредности

За почетак ћемо сачувати две екцел датотеке 1) Опен.клс 2) Цлосед.клс у путањи „Д: \ Тест Фолдер“

Следи снимак радне свеске „Цлосед.клс“:

Да бисмо аутоматски сачували податке из датотеке „Цлосед.клс“ у датотеку „Опен.клс“, морамо да следимо доње кораке за покретање ВБ уређивача

  • Кликните на картицу Девелопер
  • Из групе кодова изаберите Висуал Басиц

  • Копирајте доњи код у ову радну књигу (Затворено.клс)
 Привате Суб Воркбоок_БефореСаве (БиВал СавеАсУИ Као Боолеан, _ Цанцел Ас Боолеан) 'Ставите адресу УседРанге на Схеет1 Цлосед.клс (ова радна свеска)' --- Лист са коментарима2.Целлс (1, 1) = Схеет1.УседРанге.Аддресс Енд Суб 

  • Да бисте повукли податке у „Опен.клс“, копирајте следећи код у стандардни модул
 Под Импортдата () Дим АреаАддресс Ас Стринг Схеет1.УседРанге.Цлеар Схеет1.Целлс (1, 1) = "= 'Д: \ Тест Фолдер \" & "[Цлосед.клс] Схеет2'! РЦ" АреаАддресс = Схеет1.Целлс ( 1, 1) Са Схеет1.Ранге (АреаАддресс) .ФормулаР1Ц1 = "= ИФ ('Д: \ Тест Фолдер \" & "[Цлосед.клс] Схеет1'! РЦ =" "" ", НА (), 'Д: \ Тест Фолдер \ "& _" [Цлосед.клс] Схеет1 '! РЦ) "Он Еррор Ресуме Нект .СпециалЦеллс (клЦеллТипеФормулас, клЕррорс) .Очисти грешку ГоТо 0 .Валуе = .Валуе Енд Витх Енд Суб 

  • Копирајте следећи код у ову радну књигу (Опен.клс)
 Привате Суб Воркбоок_Опен () Покрените „Импортдата“ Енд Суб 

Сада су ВБА кодови спремни; све што треба да урадимо је да отворимо назив датотеке „Опен.клс“. Следи снимак датотеке „Опен.клс“:

Код није ограничен на ћелијску копију из А1.уседранге; код ће изабрати почетни опсег и радиће савршено добро. Датотеке су доступне за преузимање и препоручујемо вам да кренете.

Закључак: Помоћу ВБА кода можемо аутоматизовати задатак издвајања података без отварања одредишне радне свеске и штедимо се од ручног копирања и лепљења.

Ако вам се допадају наши блогови, поделите их са пријатељима на Фацебооку. Такође нас можете пратити на Твиттер -у и Фацебоок -у.

Волели бисмо да чујемо од вас, реците нам како можемо побољшати, допунити или иновирати наш рад и учинити га бољим за вас. Пишите нам на веб локацији е -поште