Excel формула копирование диапазона ячеек

Skip to content

Как использовать функцию ДВССЫЛ – примеры формул

В этой статье объясняется синтаксис функции ДВССЫЛ, основные способы ее использования и приводится ряд примеров формул, демонстрирующих использование ДВССЫЛ в Excel.

В Microsoft Excel существует множество функций, некоторые из которых просты для понимания, другие требуют длительного обучения. При этом первые используются чаще, чем вторые. И тем не менее, функция Excel ДВССЫЛ  (INDIRECT на английском) является единственной в своем роде. Эта функция Excel не выполняет никаких вычислений, не оценивает никаких условий не ищет значения.

Итак, что такое функция ДВССЫЛ (INDIRECT) в Excel и для чего ее можно использовать? Это очень хороший вопрос, и, надеюсь, вы получите исчерпывающий ответ через несколько минут, когда закончите чтение.

Функция ДВССЫЛ в Excel — синтаксис и основные способы использования

ДВССЫЛ используется для создания косвенных ссылок на ячейки, диапазоны, другие листы или книги. Другими словами, она получает нужный адрес и позволяет вам при помощи формулы создать из него динамическую ссылку на ячейку или диапазон вместо их прямого указания. В результате вы можете изменить ссылку в формуле, не изменяя саму формулу. Более того, эти косвенные ссылки не изменятся при вставке на лист новых строк или столбцов или при удалении уже существующих.

Все это может быть проще понять на примере. Однако чтобы написать формулу, пусть даже самую простую, нужно знать аргументы функции, верно? Итак, давайте сначала кратко рассмотрим синтаксис Excel ДВССЫЛ.

Функция ДВССЫЛ в Excel возвращает ссылку на ячейку, используя текстовую строку. Она имеет два аргумента, первый является обязательным, а второй – нет:

ДВССЫЛ(ссылка_на_ячейку; [a1])

ссылка_на_ячейку – это адрес нужной ячейки в виде текстовой строки, либо названия именованного диапазона.

a1 — логическое значение, указывающее, какой тип ссылки содержится в первом аргументе:

  • Если значение ИСТИНА или опущено, то используется ссылка на ячейку в стиле A1.
  • Если ЛОЖЬ, то возвращается ссылка в виде R1C1.

Таким образом, ДВССЫЛ возвращает либо ссылку на ячейку, либо ссылку на диапазон.

Хотя тип ссылки R1C1 может быть полезен в определенных ситуациях, вам, вероятно, удобнее использовать привычные ссылки типа A1. В любом случае, почти все формулы в этом руководстве будут использовать ссылки A1, и поэтому мы будем просто опускать второй аргумент в функции.

Как работает функция ДВССЫЛ

Чтобы получить представление о работе функции, давайте создадим простую формулу, которая демонстрирует, как можно применить ДВССЫЛ в Excel.

Предположим, у вас есть число 5 в ячейке A1 и текст «A1» в ячейке C1. Теперь поместите формулу =ДВССЫЛ(C1) в любую другую ячейку и посмотрите, что произойдет:

  • Функция ДВССЫЛ обращается к значению в ячейке C1. Там в виде текстовой строки записан адрес «A1».
  • Функция ДВССЫЛ направляется по этому адресу в ячейку A1, откуда извлекает записанное в ней значение, то есть число 555.

Итак, в этом примере функция ДВССЫЛ преобразует текстовую строку в ссылку на ячейку.

Аналогичным образом можно получить ссылку на диапазон. Для этого просто нужно функции ДВССЫЛ указать два адреса – начальный и конечный. Вы видите это на скриншоте ниже.

Формула   ДВССЫЛ(C1&»:»&C2) извлекает адреса из указанных ячеек и превращается в =ДВССЫЛ(«A1:A5»).

В итоге мы получаем ссылку =A1:A5

Если вы считаете, что это все еще имеет очень мало практического смысла, пожалуйста, читайте дальше, и я продемонстрирую вам еще несколько примеров, которые раскрывают реальную силу функции Excel ДВССЫЛ и более подробно показывают, как она работает.

Как использовать ДВССЫЛ в Excel — примеры формул

Как показано в приведенном выше примере, вы можете использовать функцию ДВССЫЛ, чтобы записать адрес ячейки как обычную текстовую строку и получить в результате значение этой ячейки. Однако этот простой пример — не более чем намек на возможности ДВССЫЛ.

При работе с реальными данными мы можем превратить любой текст в ссылку, включая очень сложные комбинации, которые вы создаете, используя значения других ячеек и результаты, возвращаемые другими формулами Excel. Но не будем торопиться и пойдем от простого к сложному.

Создание косвенных ссылок из значений ячеек

Как вы помните, функция ДВССЫЛ в Excel позволяет использовать стили ссылок A1 и R1C1. Обычно вы не можете использовать оба стиля на одном листе одновременно. Вы можете переключаться между двумя типами ссылок только с помощью опции «Файл» > «Параметры» > «Формулы» > R1C1 . По этой причине пользователи Excel редко рассматривают использование R1C1 в качестве альтернативного подхода к созданию ссылок.

В формуле ДВССЫЛ вы можете использовать любой тип ссылки на одном и том же листе, если хотите. Прежде чем мы двинемся дальше, давайте более подробно рассмотрим разницу между стилями ссылок A1 и R1C1.

Стиль A1 — это обычный и привычный всем нам тип адресации в Excel, который указывает сначала столбец, за которым следует номер строки. Например, B2 обозначает ячейку на пересечении столбца B и строки 2.

Стиль R1C1 является обозначает координаты ячейки наоборот – за строками следуют столбцы, и к этому нужно привыкнуть:) Например, R5C1 относится к ячейке A5, которая находится в строке 5, столбце 1 на листе. Если после буквы не следует какая-либо цифра, значит, вы имеете в виду ту же строку или столбец, в которых записана сама формула.

А теперь давайте сравним на простом примере, как функция ДВССЫЛ обрабатывает адреса вида A1 и R1C1:

Как вы видите на скриншоте выше, две разные формулы возвращают один и тот же результат. Вы уже поняли, почему? 

  • Формула в ячейке D1:   =ДВССЫЛ(C1)

Это самый простой вариант. Формула обращается к ячейке C1, извлекает ее значение — текстовую строку «A2» , преобразует ее в ссылку на ячейку, переходит к ячейке A2 и возвращает ее значение, равное 456.

  • Формула в ячейке D3:  =ДВССЫЛ(C3;ЛОЖЬ)

ЛОЖЬ во втором аргументе указывает, что указанное значение (C3) следует рассматривать как ссылку на ячейку в формате R1C1, т. е. сначала идет номер строки, за которым следует номер столбца. Таким образом, наша формула ДВССЫЛ интерпретирует значение в ячейке C3 (R2C1) как ссылку на ячейку на пересечении строки 2 и столбца 1, которая как раз и является ячейкой A2.

Создание ссылок из значений ячеек и текста

Аналогично тому, как мы создавали ссылки из значений ячеек , вы можете комбинировать текстовую строку и ссылку на ячейку с адресом прямо в формуле ДВССЫЛ, соединив их вместе при помощи оператора конкатенации (&).

В следующем примере формула =ДВССЫЛ(«А»&C1) возвращает значение из ячейки А1 на основе следующей логической цепочки:

Функция ДВССЫЛ объединяет элементы в первом аргументе ссылка_на_ячейку — текст «А» и значение из ячейки C1. Значение в C1 – это число 1, что в результате формирует адрес А1. Формула переходит к ячейке А1 и возвращает ее значение – 555.

Использование функции ДВССЫЛ с именованными диапазонами

Помимо создания ссылок на ячейки из текстовых строк, вы можете заставить функцию Excel ДВССЫЛ создавать ссылки на именованные диапазоны.

Предположим, у вас есть следующие именованные диапазоны на вашем листе:

  • Яблоки – С2:E2
  • Лимоны — C3: E3
  • Апельсины – C4:E4 и так далее по каждому товару.

Чтобы создать динамическую ссылку Excel на любой из указанных выше диапазонов с цифрами продаж, просто запишите его имя, скажем, в H1, и обратитесь к этой ячейке при помощи формулы =ДВССЫЛ(H1).

А теперь вы можете сделать еще один шаг и вложить эту формулу в другие функции Excel. Например, попробуем вычислить сумму и среднее значений в заданном именованном диапазоне или найти максимальную и минимальную сумму продаж в нём, как это сделано на скриншоте ниже:

  • =СУММ(ДВССЫЛ (H1))
  • =СРЗНАЧ(ДВССЫЛ (H1))
  • =МАКС(ДВССЫЛ (H1))
  • =МИН(ДВССЫЛ (H1))

Теперь, когда вы получили общее представление о том, как работает функция ДВССЫЛ в Excel, мы можем поэкспериментировать с более серьёзными формулами.

ДВССЫЛ для ссылки на другой рабочий лист

Полезность функции Excel ДВССЫЛ не ограничивается созданием «динамических» ссылок на ячейки. Вы также можете использовать ее для формирования ссылки на другие листы.

Предположим, у вас есть важные данные на листе 1, и вы хотите получить эти данные на листе 2. На скриншоте ниже показано, как можно справиться с этой задачей.

Нам поможет формула:

=ДВССЫЛ(«‘»&A2&»‘!»&B2&C2)

Давайте разбираться, как работает эта формула.

Как вы знаете, обычным способом сослаться на другой лист в Excel является указание имени этого листа, за которым следуют восклицательный знак и ссылка на ячейку или диапазон, например Лист1!A1:С10. Так как имя листа часто содержит пробелы, вам лучше заключить его (имя, а не пробел :) в одинарные кавычки, чтобы предотвратить возможную ошибку, например,

‘Лист 1!’$A$1 или для диапазона – ‘Лист 1!’$A$1:$С$10 .

Наша задача – сформировать нужный текст и передать его функции ДВССЫЛ. Все, что вам нужно сделать, это:

  • записать имя листа в одну ячейку,
  • букву столбца – в другую,
  • номер строки – в третью,  
  • объединить всё это в одну текстовую строку,
  • передать этот адрес функции ДВССЫЛ. 

Помните, что в текстовой строке вы должны заключать каждый элемент, кроме номера строки, в двойные кавычки и затем связать все элементы в единое целое с помощью оператора объединения (&).

С учетом вышеизложенного получаем шаблон ДВССЫЛ для создания ссылки на другой лист:

ДВССЫЛ («‘» & имялиста & «‘!» & имя столбца нужной ячейки & номер строки нужной ячейки )

Возвращаясь к нашему примеру, вы помещаете имя листа в ячейку A2 и вводите адреса столбца и строки в B2 и С2, как показано на скриншоте выше. В результате вы получите следующую формулу:

ДВССЫЛ(«‘»&A2&»‘!»&B2&C2)

Кроме того, обратите внимание, что если вы копируете формулу в несколько ячеек, вам необходимо зафиксировать ссылку на имя листа, используя абсолютные ссылки на ячейки, например $A$2.

Замечание.

  • Если какая-либо из ячеек, содержащих имя листа и адреса ячеек (A2, B2 и c2 в приведенной выше формуле), будет пуста, ваша формула вернет ошибку. Чтобы предотвратить это, вы можете обернуть функцию ДВССЫЛ в функцию ЕСЛИ :

ЕСЛИ(ИЛИ(A2=»»;B2=»»;C2-“”); «»; ДВССЫЛ(«‘»&A2&»‘!»&B2&C2)

  • Чтобы формула ДВССЫЛ, ссылающаяся на другой лист, работала правильно, указанный лист должен быть открыт в Экселе, иначе формула вернет ошибку #ССЫЛКА. Чтобы не видеть сообщение об ошибке, которое может портить вид вашей таблицы, вы можете использовать функцию ЕСЛИОШИБКА, которая будет отображать пустую строку при любой возникшей ошибке:

ЕСЛИОШИБКА(ДВССЫЛ(«‘»&A2&»‘!»&B2&C2); «»)

Формула ДВССЫЛ для ссылки на другую книгу Excel

Формула, которая создает ссылку на другую книгу Excel, основана на том же подходе, что и обычная ссылка на другую электронную таблицу. Вам просто нужно указать имя книги дополнительно к имени листа и адресу ячейки.

Чтобы упростить задачу, давайте начнем с создания ссылки на другую книгу обычным способом (апострофы добавляются, если имена вашей книги и/или листа содержат пробелы):
‘[Имя_книги.xlsx]Имя_листа’!Арес_ячейки

Но, чтобы формула была универсальной, лучше апострофы добавлять всегда – лишними не будут .

Предполагая, что название книги находится в ячейке A2, имя листа — в B2, а адрес ячейки — в C2 и D2, мы получаем следующую формулу:

=ДВССЫЛ(«‘[«&$A$2&».xlsx]»&$B$2&»‘!»&C2&D2)

Поскольку вы не хотите, чтобы ячейки, содержащие имена книг и листов, изменялись при копировании формулы в другие ячейки, вы можете зафиксировать их, используя абсолютные ссылки на ячейки – $A$2 и $B$2 соответственно.

Если адреса ячеек заменить их значениями, то мы получим такой промежуточный результат:

=ДВССЫЛ(«‘[INDIRECT.xlsx]Продажи’!D3»)

Ну а итоговый результат вы видите на скриншоте ниже.

Hbc6

И теперь вы можете легко создать собственную динамическую ссылку на другую книгу Excel, используя следующий шаблон:

=ДВССЫЛ(«‘[» & Название книги & «]» & Имя листа & «‘!» & Адрес ячейки )

Примечание. Рабочая книга, на которую ссылается ваша формула, всегда должна быть открыта, иначе функция ДВССЫЛ выдаст ошибку #ССЫЛКА. Как обычно, функция ЕСЛИОШИБКА может помочь вам избежать этого:

=ЕСЛИОШИБКА(ДВССЫЛ(«‘[«&$A$2&».xlsx]»&$B$2&»‘!»&C2&D2); «»)

Использование функции Excel ДВССЫЛ чтобы зафиксировать ссылку на ячейку

Обычно Microsoft Excel автоматически изменяет ссылки на ячейки при вставке новых или удалении существующих строк или столбцов на листе. Чтобы этого не произошло, вы можете использовать функцию ДВССЫЛ для работы с конкретными адресами ячеек, которые в любом случае должны оставаться неизменными.

Чтобы проиллюстрировать разницу, сделайте следующее:

  1. Введите любое значение в любую ячейку, например, число 555 в ячейку A1.
  2. Обратитесь к A1 из двух других ячеек тремя различными способами: =A1, =ДВССЫЛ(«A1») и ДВССЫЛ(С1), где в С1 записан адрес «А1».
  3. Вставьте новую строку над строкой 1.

Видите, что происходит? Ячейка с логическим оператором =А1 по-прежнему возвращает 555, потому что ее формула была автоматически изменена на =A2 после вставки строки. Ячейки с формулой ДВССЫЛ теперь возвращают нули, потому что формулы в них не изменились при вставке новой строки и они по-прежнему ссылаются на ячейку A1, которая в настоящее время пуста:

После этой демонстрации у вас может сложиться впечатление, что функция ДВССЫЛ больше мешает, чем помогает. Ладно, попробуем по-другому.

Предположим, вы хотите просуммировать значения в ячейках A2:A5, и вы можете легко сделать это с помощью функции СУММ:

=СУММ(A2:A5)

Однако вы хотите, чтобы формула оставалась неизменной, независимо от того, сколько строк было удалено или вставлено. Самое очевидное решение — использование абсолютных ссылок — не поможет. Чтобы убедиться, введите формулу =СУММ($A$2:$A$5) в какую-нибудь ячейку, вставьте новую строку, скажем, в строку 3, и увидите формулу, преобразованную в =СУММ($A$2:$A$6).

Конечно, такая любезность Microsoft Excel в большинстве случаев будет работать нормально. Тем не менее, могут быть сценарии, когда вы не хотите, чтобы формула менялась автоматически. Например, нам нужна сумма только первых четырех значений из таблицы.

Решение состоит в использовании функции ДВССЫЛ, например:

=СУММ(ДВССЫЛ(«A2:A5»))

Поскольку Excel воспринимает «A1: A5» как простую текстовую строку, а не как ссылку на диапазон, он не будет вносить никаких изменений при вставке или удалении строки (строк), а также при их сортировке.

Использование ДВССЫЛ с другими функциями Excel

Помимо СУММ, ДВССЫЛ часто используется с другими функциями Excel, такими как СТРОКА, СТОЛБEЦ, АДРЕС, ВПР, СУММЕСЛИ и т. д.

Пример 1. Функции ДВССЫЛ и СТРОКА

Довольно часто функция СТРОКА используется в Excel для возврата массива значений. Например, вы можете использовать следующую формулу массива (помните, что для этого нужно нажать Ctrl + Shift + Enter), чтобы вернуть среднее значение трех наименьших чисел в диапазоне B2:B13

{=СРЗНАЧ(НАИМЕНЬШИЙ(B2:B13;СТРОКА(1:3)))}

Однако, если вы вставите новую строку в свой рабочий лист где-нибудь между строками 1 и 3, диапазон в функции СТРОКА изменится на СТРОКА(1:4), и формула вернет среднее значение четырёх наименьших чисел вместо трёх.

Чтобы этого не произошло, вставьте ДВССЫЛ в функцию СТРОКА, и ваша формула массива всегда будет оставаться правильной, независимо от того, сколько строк будет вставлено или удалено:

={СРЗНАЧ(НАИМЕНЬШИЙ(B2:B13;СТРОКА(ДВССЫЛ(«1:3»))))}

Аналогично, если нам нужно найти сумму трёх наибольших значений, можно использовать ДВССЫЛ вместе с функцией СУММПРОИЗВ.

Вот пример:

={СУММПРОИЗВ(НАИБОЛЬШИЙ(B2:B13;СТРОКА(ДВССЫЛ(«1:3»))))}

А чтобы указать переменное количество значений, которое мы хотим сосчитать, можно это число вынести в отдельную ячейку. К примеру, в С1 запишем цифру 3. Тогда формулу можно изменить таким образом:

={СУММПРОИЗВ(НАИБОЛЬШИЙ(B2:B13;СТРОКА(ДВССЫЛ(«1:»&C1))))}

Согласитесь, что получается достаточно гибкий расчёт.

Пример 2. Функции ДВССЫЛ и АДРЕС

Вы можете использовать Excel ДВССЫЛ вместе с функцией АДРЕС, чтобы получить значение в определенной ячейке на лету.

Как вы помните, функция АДРЕС используется в Excel для получения адреса ячейки по номерам строк и столбцов. Например, формула =АДРЕС(1;3) возвращает текстовую строку «$C$1», поскольку C1 — это ячейка на пересечении 1-й строки и 3-го столбца.

Чтобы создать ссылку на ячейку, вы просто встраиваете функцию АДРЕС в формулу ДВССЫЛ, например:

=ДВССЫЛ(АДРЕС(1;3))

Конечно, эта несложная формула лишь демонстрирует технику. Более сложные примеры использования функций ДВССЫЛ И АДРЕС в Excel см. в статье Как преобразовать строки в столбцы в Excel .

И вот еще несколько примеров формул в которых используется функция ДВССЫЛ, и которые могут оказаться полезными:

  • ВПР и ДВССЫЛ — как динамически извлекать данные из разных таблиц (см. пример 2).
  • Excel ДВССЫЛ и СЧЁТЕСЛИ — как использовать функцию СЧЁТЕСЛИ в несмежном диапазоне или нескольких выбранных ячейках.

Использование ДВССЫЛ для создания выпадающих списков

Вы можете использовать функцию Excel ДВССЫЛ с инструментом проверки данных для создания каскадных выпадающих списков. Они показывают различные варианты выбора в зависимости от того, какое значение пользователь указал в предыдущем выпадающем списке.

Простой зависимый раскрывающийся список сделать очень просто. Все, что требуется, — это несколько именованных диапазонов для хранения элементов раскрывающегося списка.

В ячейке А1 вы создаете простой выпадающий список с названиями имеющихся именованных диапазонов. Для второго зависимого выпадающего списка в ячейке В2 вы используете простую формулу  =ДВССЫЛ(A1), где A1 — это ячейка, в которой выбрано имя нужного именованного диапазона.

К примеру, выбрав в первом списке второй квартал, во втором списке мы видим месяцы этого квартала.

Рис9

Чтобы сделать более сложные трехуровневые меню или раскрывающиеся списки с многоуровневыми записями, вам понадобится немного более сложная формула ДВССЫЛ в сочетании с вложенной функцией ПОДСТАВИТЬ.

Подробное пошаговое руководство по использованию ДВССЫЛ с проверкой данных Excel смотрите в этом руководстве: Как создать зависимый раскрывающийся список в Excel.

Функция ДВССЫЛ Excel — возможные ошибки и проблемы

Как показано в приведенных выше примерах, функция ДВССЫЛ весьма полезна при работе со ссылками на ячейки и диапазоны. Однако не все пользователи Excel охотно принимают этот подход, в основном потому, что постоянное использование ДВССЫЛ приводит к отсутствию прозрачности формул Excel и несколько затрудняет их понимание. Функцию ДВССЫЛ сложно просмотреть и проанализировать ее работу, поскольку ячейка, на которую она ссылается, не является конечным местоположением значения, используемого в формуле. Это действительно довольно запутанно, особенно при работе с большими сложными формулами.

В дополнение к сказанному выше, как и любая другая функция Excel, ДВССЫЛ может вызвать ошибку, если вы неправильно используете аргументы функции. Вот список наиболее типичных ошибок и проблем:

Ошибка #ССЫЛКА! 

Чаще всего функция ДВССЫЛ возвращает ошибку #ССЫЛКА!  в следующих случаях:

  1. Аргумент ссылка_на_ячейку не является допустимой ссылкой Excel. Если вы пытаетесь передать функции текст, который не может обозначать ссылку на ячейку (например, «A1B0»), то формула приведет к ошибке #ССЫЛКА!. Во избежание возможных проблем проверьте аргументы функции ДВССЫЛ .
  2. Превышен предел размера диапазона. Если аргумент ссылка_на_ячейку вашей формулы ДВССЫЛ ссылается на диапазон ячеек за пределами строки  1 048 576 или столбца  16 384, вы также получите ошибку #ССЫЛКА в Excel 2007 и новее. Более ранние версии Excel игнорируют превышение этого лимита и действительно возвращают некоторое значение, хотя часто не то, что вы ожидаете.
  3. Используемый в формуле лист или рабочая книга закрыты.Если ваша формула с ДВССЫЛ адресуется на другую книгу или лист Excel, то эта другая книга или электронная таблица должны быть открыты, иначе ДВССЫЛ возвращает ошибку #ССЫЛКА! . Впрочем, это требование характерно для всех формул, которые ссылаются на другие рабочие книги Excel.

Ошибка #ИМЯ? 

Это самый очевидный случай, подразумевающий, что в названии функции есть какая-то ошибка.

Ошибка из-за несовпадения региональных настроек.

Также распространенная проблема заключается не в названии функции ДВССЫЛ, а в различных региональных настройках для разделителя списка

В европейских странах запятая зарезервирована как десятичный символ, а в качестве разделителя списка используется точка с запятой.

В стандартной конфигурации Windows для Северной Америки и некоторых других стран разделителем списка по умолчанию является запятая. 

В результате при копировании формулы между двумя разными языковыми стандартами Excel вы можете получить сообщение об ошибке « Мы обнаружили проблему с этой формулой… », поскольку разделитель списка, используемый в формуле, отличается от того, что установлен на вашем компьютере. Если вы столкнулись с этой ошибкой при копировании какой-либо НЕПРЯМОЙ формулы из этого руководства в Excel, просто замените все запятые (,) точками с запятой (;) (либо наоборот). В обычных формулах Excel эта проблема, естественно, не возникнет. Там Excel сам поменяет разделители исходя из ваших текущих региональных настроек.

Чтобы проверить, какие разделитель списка и десятичный знак установлены на вашем компьютере, откройте панель управления и перейдите в раздел «Регион и язык» > «Дополнительные настройки».

Надеемся, что это руководство пролило свет для вас на использование ДВССЫЛ в Excel. Теперь, когда вы знаете ее сильные стороны и ограничения, пришло время попробовать и посмотреть, как функция ДВССЫЛ может упростить ваши задачи в Excel. Спасибо за чтение!

Вот еще несколько статей по той же теме:

Как удалить сразу несколько гиперссылок В этой короткой статье я покажу вам, как можно быстро удалить сразу все нежелательные гиперссылки с рабочего листа Excel и предотвратить их появление в будущем. Решение работает во всех версиях Excel,…
Как использовать функцию ГИПЕРССЫЛКА В статье объясняются основы функции ГИПЕРССЫЛКА в Excel и приводятся несколько советов и примеров формул для ее наиболее эффективного использования. Существует множество способов создать гиперссылку в Excel. Чтобы сделать ссылку на…
Гиперссылка в Excel: как сделать, изменить, удалить В статье разъясняется, как сделать гиперссылку в Excel, используя 3 разных метода. Вы узнаете, как вставлять, изменять и удалять гиперссылки на рабочих листах, а также исправлять неработающие ссылки. Гиперссылки широко используются…
Как сделать зависимый выпадающий список в Excel? Одной из наиболее полезных функций проверки данных является возможность создания выпадающего списка, который позволяет выбирать значение из предварительно определенного перечня. Но как только вы начнете применять это в своих таблицах,…

Перемещение и копирование ячеек и их содержимого

​Смотрите также​​Sub qwert()​ Dim cell As​ Николая я уже​ надо.​ not empty, warn​ моем примере нужно​Ju_Lets​ не очень​требуется из одной​ сожалению с макросами​На вкладке​ со стрелками переместиться​Главная​Если часть ячеек, строк​Для перемещения ячейки или​Буфер обмена​Примечание:​Dim wb As​ Range, i As​ поблагодарил.​

​KuklP​ user If NonEmptyCellCount​ выделить диапазон А358:Q444​​: Добрый день!​​Вопрос: как передать​​ книги выбрать и​​ не знаю как​​Главная​​ в другую ячейку,​в группе​ или столбцов на​ диапазона ячеек поместите​выполните одно из​ Мы стараемся как можно​

​ Workbook​ Long ‘запрашиваем у​Просто напоследок выложил​: Там переменная ,​ < > 0​

​Размер отфильтрованного диапазона​Есть таблица с​ в переменную номер​ скопировать в другую​​ обращаться.​​в группе​​ сначала нажмите клавишу​​Буфер обмена​

​ листе не отображается,​

  1. ​ указатель на границу​ указанных ниже действий.​ оперативнее обеспечивать вас​

  2. ​Set wb =​ пользователя по очереди​

  3. ​ каким дурацким путем​ c As Range​Указатель перемещения​ Then _ If​ постоянно меняется.​ данными, есть столбцы​

​ строки активной ячейки?{/post}{/quote}​ несвязанный диапазон ячеек​МВТ​

  1. ​Буфер обмена​ ВВОД, чтобы завершить​

  2. ​щелкните стрелку под​​ можно скопировать все​​ выделенного фрагмента. Когда​​Чтобы переместить ячейки, нажмите​ Вырезать​ актуальными справочными материалами​ Workbooks.Add(1)​

  3. ​ диапазоны копирования и​пошел я сам.​ лишняя, можно удалить.​

  4. ​ MsgBox(«Overwrite existing data?»,​​Спасибо.​​ с месяцами 13​​И ещё вопрос:​ Вставить​ (построчно, но за​: А как Вы​

​выполните одно из​ внесение изменений в​​ кнопкой​​ ячейки или только​​ указатель примет форму​​ кнопку​

  1. ​ на вашем языке.​Dim n As​

  2. ​ вставки Set copyrng​​Читайте предыдущие сообщения.​​Мур​

  3. ​ vbQuestion + vbYesNo,​​Dima S​​ года и следующие​

Перемещение и копирование ячеек

  1. ​ как копировать не​ исключением некоторых столбцов)​

    ​ этот диапазон выделяете?​

  2. ​ указанных ниже действий.​​ активную ячейку.​​Вставить​​ видимые. Например, можно​​ указателя перемещения​Вырезать​

    Изображение ленты Excel

    • ​ Эта страница переведена​ Name​​ = Application.InputBox(«Диапазон копирования»,​ Изображение кнопки​Вам тоже спасибо!​

      ​: Приветствую всех участников!​​ _ «Copy Multiple​: файл с примером.​

    • ​ столбцы с месяцами​ в буфер обмена,​​алгоритм вижу такой:​ Значок кнопки​justirus​

      ​Чтобы переместить ячейки, нажмите​​При вставке скопированных данных​и выберите вариант​

  3. ​ скопировать только отображаемые​, перетащите ячейку​

    ​.​​ автоматически, поэтому ее​For Each n​ «Запрос», Type:=8) Set​KuklP​Вопрос к макросоведам​ Selection») < >​на пальцах никто​ 14 года. Делаем​ а в массив?​

  4. ​1. просим выделить​​: Зажимаете Ctrl и​​ кнопку​​ можно выполнить любое​​Специальная вставка​​ итоговые данные на​ Изображение кнопки​ или диапазон ячеек​

    ​Сочетание клавиш​​ текст может содержать​ In ThisWorkbook.Names​

​ pasterng = Application.InputBox(«Диапазон​​: Здравствуйте, Мур. И​

  • ​ или просто знающим​ vbYes Then Exit​ не сделает (разве​ отбор по нужным​Igor67​ ячейку в строке​

  • ​ выделяете нужные ячейки,​Вырезать​ из следующих действий:​.​ листе со структурой.​

  • ​ в новое расположение.​     Можно также нажать клавиши​ неточности и грамматические​wb.Names.Add Name:=n.Name, RefersTo:=Replace(n.RefersTo,​​ вставки», «Запрос», Type:=8)​ Изображение кнопки​ Вам спасибо за​ ребятам.​​ Sub ‘ Copy​​ очень уж помогливые)​​ критериям и соответственно​​: Ваша задача как​

  • ​ (с которой начнём​ потом копируете и​.​​вставить только параметры форматирования​​Установите флажок​Выделите ячейки, которые вы​Чтобы скопировать ячейки или​ CTRL+X.​​ ошибки. Для нас​​ ThisWorkbook.Sheets(1).Name, wb.Sheets(1).Name)​ ‘проверяем, чтобы они​ аккуратность. Я уже​Необходимо скопировать диапазон​ and paste each​​Макс​​ ненужные нам строки​​ то не понятно​​ вставку) в книге​​ вставляете куда нужно.​​Сочетание клавиш​​ ячейки, такие как​​пропускать пустые ячейки​​ хотите скопировать.​ диапазон ячеек, поместите​​Чтобы скопировать ячейки, нажмите​

Перемещение и копирование ячеек с помощью мыши

​ важно, чтобы эта​Next​ были одинакового размера​ извинился за свою​ с одного листа​

  1. ​ area For i​: извините, забыл прикрепить.​ скрываются. Получившийся результат​

    ​ выглядит, поэтому даже​

  2. ​ куда будем копировать​Ответил как понял,​

    • ​     Можно также нажать клавиши​ цвет текста или​.​Выделение ячеек и диапазонов​ указатель на границу​ кнопку​Указатель перемещения Excel​ статья была вам​End Sub​ If pasterng.SpecialCells(xlCellTypeVisible).Cells.Count <>​

    • ​ невнимательнось от Дата:​ на другой, при​ = 1 To​ Вот.​ из 13 года​ не буду ввязываться…​ (например ячейка G5​Указатель копирования​ без примера не​ CTRL+X.​ цвет заливки (но​

​Дважды щелкните ячейку с​​На вкладке​ выделенного фрагмента, удерживая​Копировать​ полезна. Просим вас​

​To GIG_ant​ copyrng.Cells.Count Then MsgBox​ Понедельник, Сегодня, 04:34​ этом исходный лист​ NumAreas RowOffset =​Все_просто​ нам нужно скопировать​Макросов копирования данных​ в книге1)​ понятно, что именно​Чтобы скопировать ячейки, нажмите​ не содержимое ячеек);​ данными, которые нужно​

​Главная​ нажатой клавишу CTRL.​.​ уделить пару секунд​Если не ошибаюсь,​ «Диапазоны копирования и​ | Сообщение №​должен быть скрыт.​

Вставка скопированных и перемещенных ячеек между существующими ячейками

  1. ​ SelAreas(i).Row — TopRow​: Не проверял код,​ в 14 год,​ из книги в​

    ​2. запрашиваем первую​

  2. ​ вы имеете ввиду.​​ кнопку​​преобразовать формулы в ячейках​​ переместить или скопировать.​​в группе​ Когда указатель примет​

    Изображение ленты Excel

    • ​Сочетание клавиш​ и сообщить, помогла​​ тогда еще и​ Изображение кнопки​ вставки разного размера!»,vbCritical​

      ​ 8.​​Подскажите где ошибка,​ ColOffset = SelAreas(i).Column​

    • ​ но работать должен.​ не снимая фильтра.​​ книгу, листа на​ Значок кнопки​ и последнюю строки​

      ​Мотя​​Копировать​ в вычисленные значения​

  3. ​Примечание​Редактирование​ форму указателя копирования​     Можно также нажать сочетание​​ ли она вам,​​ названия листов должны​​ Exit Sub End​​Удачи!​

    ​ пример прилагается.​​ — LeftCol SelAreas(i).Copy​Option Explicit Sub​ при стандартном копировании​ лист на форуме​ в книге откуда​: !​.​ без переопределения существующего​    По умолчанию можно редактировать​

  4. ​нажмите кнопку​​, перетащите ячейку​​ клавиш CTRL+C.​ с помощью кнопок​ совпадать​

​ If ‘переносим данные​​Весьма распространенная ситуация, вопрос​Заранее спасибо.​ PasteRange.Offset(RowOffset, ColOffset) Next​ CopyMultipleSelection() Dim SelAreas()​ данные вставляются и​

Копирование только видимых ячеек

​ полно.​ будем копировать (например​Покажите в файле:​Сочетание клавиш​ форматирования;​ и выделять данные​Найти и выделить​ или диапазон ячеек​Выделите левую верхнюю ячейку​

  1. ​ внизу страницы. Для​roka​

    ​ из одного диапазона​

  2. ​ про которую мне​​nilem​​ i End Sub​​ As Range Dim​​ в спрятанные строки.​​Главная задача определить​​ указывая ячейки D10​​ что — «есть»​​     Можно также нажать сочетание​

    Изображение ленты Excel

  3. ​вставить только формулы (но​​ непосредственно внутри ячейки,​​и выберите команду​​ в новое расположение.​​ области вставки.​​ удобства также приводим​​: Это понятно, спасибо.​

  4. ​ в другой только​​ задают почти на​​: Избавляйтесь от Selection​​Все_просто​​ PasteRange As Range​​ Специальные вставки не​ Значок кнопки​ начальную и конечную​

    Изображение ленты Excel

    ​ и K16 в​​ и что «надо».​ клавиш CTRL+C.​

  5. ​ не вычисленные значения).​ дважды щелкнув ее,​

    ​Выделить группу ячеек​​Примечание:​Совет:​ ссылку на оригинал​судя по коду,​ в видимые ячейки​ каждом тренинге. Есть​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub Макрос1()​: У Уокенбаха в​ Dim UpperLeft As​

  6. ​ помогают. Нужно чтобы​​ строку диапазона (столбцы​​ книге2)​​The_Prist​​Выделите левую верхнюю ячейку​​Выделите ячейку или диапазон​ Изображение кнопки​ но можно редактировать​

    ​.​​ При перемещении ячеек в​ Чтобы переместить или скопировать​

  • ​ (на английском языке).​ похоже то что​​ i = 1​ Изображение кнопки​ таблица, в которой​Sheets(«Лист1»).Range(«B1:D3»).Copy Sheets(«Лист2»).Range(«H9»)​ книге такое было,​ Range Dim NumAreas​

​ данные вошли в​ фиксированы как понял),​3. нажимаем кнопку​: Может имеется ввиду​ области вставки.​ ячеек со значениями,​ и выделять данные​В группе​ приложении Excel замещаются​

​ выделенный фрагмент на​Чтобы переместить или скопировать​ надо.​ For Each cell​ Фильтром (​End Sub​ но лень искать.​

Предотвращение замещения данных скопированными пустыми ячейками

  1. ​ As Integer, i​ соответствующие строки.​

    ​ а потом копируем​

  2. ​ и копируем строки,​​ это:​​Совет:​​ форматами или формулами,​​ и в строка​​Выбор​ Значок кнопки​ существующие данные в​

    Изображение ленты Excel

    ​ другой лист или​​ содержимое ячейки с​GIG_ant​

  3. ​ In pasterng If​Данные — Фильтр​

  4. ​Мур​​ Нашел на англоязычном​​ As Integer Dim​​Например, есть строки:​​ эти блоки в​ но не полностью​​grablik​ Изображение кнопки​ Чтобы переместить или скопировать​​ которые нужно скопировать.​​ формул.​

  5. ​щелкните элемент​​ области вставки.​​ в другую книгу,​

Перемещение и копирование только содержимого ячейки

  1. ​ помощью​: Категорически с вами​ cell.EntireRow.Hidden = False​

    ​) отобраны несколько строк.​​: nilem, большое спасибо!​ сайте.​ TopRow As Long,​№ янв’13 фев’13​ другую книгу…​ а по определённому​: нужно перенести значения​ выделенный фрагмент на​

  2. ​Выделение ячеек и диапазонов​В ячейке выделите символы,​Только видимые ячейки​

    ​При копировании ячеек ссылки​

    ​ щелкните ярлычок другого​

    ​Вырезать​

    ​ согласен )​

    ​ Then cell.Value =​ Задача — вставить​Работает замечательно. И​Макс​ LeftCol As Integer​

    ​ янв’14 фев’14​

    Изображение кнопки

    ​Определить начало и​ формату, который прописываем​ размеров из первого​ другой лист или​На вкладке​ которые нужно скопировать​

    ​и нажмите кнопку​

    ​ на ячейки изменяются​ листа или выберите​,​Казанский​ copyrng.Cells(i).Value i =​ какие-либо нужные нам​ главное просто.​: Я так и​

  3. ​ Dim RowOffset As​​1 1,596 2,450​​ конец диапазона можно​​ в макросе (например​​ столбца во второй​ в другую книгу,​

    Изображение ленты Excel

    • ​Главная​ или переместить.​​ОК​ Изображение кнопки​ автоматически. Но при​

      ​ другую книгу и​​Копировать​: Во прикол!​

    • ​ i + 1​ значения именно в​​А тут мудрю, сначала​ Значок кнопки​ понял, сам там​

      ​ Long, ColOffset As​​ 0000 0000​ через InputBox​

  4. ​ копируем только столбцы​Сергей​ щелкните ярлычок другого​в группе​Выделение символов в ячейке​.​ перемещении ячеек ссылки​

  5. ​ выделите левую верхнюю​​и​​Если скопировать таким​​ End If Next​​ видимые отфильтрованные строки,​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sheets(«Ëèñò1»).Visible = True​ Изображение кнопки​ смотрел, код не​

    ​ Integer Dim NonEmptyCellCount​​2 0000 3,784​примерно так​

  6. ​ 1-5, 8-15, 20)​

    ​: в столбец С​​ листа или выберите​Буфер обмена​Чтобы выделить содержимое ячейки​На вкладке​ не изменяются, и​ ячейку области вставки.​Вставить​ образом имя, которое​ cell End Sub​ пропуская при этом​перед Selection вписываю,​ подходит. Нужно чтобы​ As Integer ‘​ 0000 0000​

Копирование значений ячеек, форматов ячеек и только формул

​On Error Resume​В итоге получаем​ =ЕСЛИ(ЕЧИСЛО(A2);A2;B2) протягиваете копируете​

  • ​ другую книгу и​нажмите кнопку​Выполните следующие действия​Главная​ вместо содержимого этих​

  • ​На вкладке​. Или скопируйте определенного​ ссылается на несуществующий​Как легко сообразить, макрос​

  • ​ скрытые. Обычное копирование-вставка​ затем после выполнения​

  • ​ макрос сам определял​ Exit if a​3 0000 1,009​ Next​

    ​ что в книге1​

  • ​ вставляете как значения​​ выделите левую верхнюю​​Копировать​​В ячейке​​в группе​​ ячеек и всех​ Значок кнопки​Главная​

    Изображение ленты Excel

    ​ содержимого или атрибутов​​ лист, имя создается,​ запрашивает у пользователя​

  • ​ при этом не​ кода наооборот​ эту область для​ range is not​ 0000 0000​Set rngStartRange =​

  • ​ заполнены строки 5​​grablik​​ ячейку области вставки.​​.​​Дважды щелкните ячейку, а​Буфер обмена​​ ячеек, которые на​ Изображение кнопки​в группе​ ячеек. Например скопируйте​

    • ​ но его значение,​ по очереди два​​ сработает, т.к. данные вставятся​​Sheets(«Ëèñò1»).Select​

    • ​ выделения.​ selected If TypeName(Selection)​​4 8,957 1,123​​ Application.InputBox _​

    • ​ — 11 столбцы​: Сергей, спасибо, но​​На вкладке​​Сочетание клавиш​

      ​ затем протащите указатель​​нажмите кнопку​ них ссылаются, может​Буфер обмена​ результатом формулы без​ ессно, равно ошибке​ диапазона — копирования​ не только в​ActiveWindow.SelectedSheets.Visible = False​Пробовал так​ < > «Range»​ 0000 0000​(Prompt:=»Выделите начальную ячейку»,​ 1-5, 8-15, 20​ это не то​Главная​     Можно также нажать сочетание​ мыши, чтобы охватить​Копировать​ отображаться ошибка адресации.​нажмите кнопку​ копирования формулы или​ #ЗНАЧ!​ и вставки. Затем​ видимые, но и​Еще раз спасибо!​Sub tyu() Cells.Select​

Копирование параметров ширины ячеек

​ Then MsgBox «Select​5 1,321 0000​ _​Вот и всё.​ что нужно, потому​в группе​ клавиш CTRL+C.​ содержимое ячейки, которое​

  1. ​.​ В этом случае​

    ​Вставить​

  2. ​ скопировать только формулу.​​Теперь, если создать​​ проверяет, чтобы их​​ в скрытые ячейки.​​Мур​ Selection.CurrentRegion.Select Selection.Copy Range(Selection,​

    Изображение ленты Excel

    • ​ the range to​ 0000 0000​​Title:=»», Type:=8)​ Изображение кнопки​Спасибо за помощь.​

      ​ что нужно будет​​Буфер обмена​Выделите левую верхнюю ячейку​

    • ​ требуется выделить.​Сочетание клавиш​​ потребуется изменить ссылки​ Значок кнопки​.​

      ​Ячейки в Excel перемещаются​​ лист с соотв.​ размеры совпадали, т.к.​

  3. ​ Давайте посмотрим, как​: О как наредактировал!​

    ​ Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlToRight)).Select​​ be copied. A​Отфильтровали, получилось​If rngStartRange Is​ Готового решения в​ удалить эти значения​нажмите стрелку под​ области вставки или​В строке формул​     Можно также нажать сочетание​

  4. ​ вручную.​​Сочетание клавиш​​ и копируются вместе​​ именем, то имя​​ разница в размерностях​ можно обойти эту​​Мур​ Изображение кнопки​ Range(Selection, Selection.End(xlToRight)).Select Range(Selection,​​ multiple selection is​​№ янв’13 фев’13​

support.office.com

Как скопировать только видимые ячейки в Excel

​ Nothing Then MsgBox​ Интернете не нашёл.​ из первого столбца,​ кнопкой​ ту ячейку, куда​

​Щелкните ячейку, а затем​ клавиш CTRL+C.​

Копируем видимые ячейки в Excel

​Если выделенная область копирования​     Можно также нажать сочетание​ с формулами, итоговыми​ заработает ТОЛЬКО в​

Копируем видимые ячейки в Excel

​ вызовет впоследствии ошибку​ проблему.​: А если так:​

  1. ​ Selection.End(xlToRight)).Select End Sub​​ allowed.» Exit Sub​​ янв’14 фев’14​
  2. ​ «Выберите ячейку, а​​Роман​​ так что они​​Вставить​​ нужно вставить значение,​ протащите указатель мыши,​​Выделите левую верхнюю ячейку​​ содержит скрытые ячейки,​Копируем видимые ячейки в Excel
  3. ​ клавиш CTRL+V.​​ значениями, форматом и​​ VBA: можно использовать​ при вставке. Затем​​Если вам нужно вставить​​nilem, большое спасибо!​Копируем видимые ячейки в Excel
  4. ​но макрос выделяет​ End If ‘​​1 1,596 2,450​​ то ни чего​
  5. ​: файлы прикрепляю​​ потеряюца и во​​и выберите пункт​​ формат ячейки или​​ чтобы охватить содержимое​

​ области вставки.​

Копируем видимые ячейки в Excel

​ строки или столбцы,​Примечания:​
​ примечаниями.​
​ диапазон range(«имя») или​

​ макрос перебирает все​

office-guru.ru

Копирование несвязанных диапазонов

​ одни и те​​Работает замечательно. И​ только диапазон с​ Store the areas​ 0000 0000​ делать не буду»,​Роман​ втором. Тут нужно​Сохранить ширину столбцов оригинала​ формулу.​ ячейки, которое требуется​Совет:​ приложение Excel копирует​ ​В Excel ячейки можно​

​ names(«имя»).RefersTorange или [имя],​​ ячейки в диапазоне​ же значения во​

​ главное просто.​​ А по J,​ as separate Range​3 0000 1,009​ vbInformation, «НУ?!»​
​: К сожалению все​ скопировать без свзяи​.​На вкладке​

​ выделить в строке​​ Чтобы переместить или скопировать​
​ их. Может понадобиться​В Excel вырезанные или​ перемещать путем перетаскивания​:)

​ но его нельзя​​ вставки и переносит​ все отфильтрованные строки​

​А тут мудрю,​​ оставшийся не захватывает,​ objects NumAreas =​ 0000 0000​

​If Not rngStartRange​​ столбцы должны быть​Юрий М​По умолчанию Excel копирует​

​Главная​​ формул.​ выделенный фрагмент на​ временно отобразить данные,​ скопированные ячейки выделяются​ или с помощью​ выделить: [имя].select дает​ туда данные из​ списка, то все​ сначала​ даже при наличии​

​ Selection.Areas.Count ReDim SelAreas(1​​4 8,957 1,123​ Is Nothing Then​ открыты и требуется​: Но Вы же​ как видимые, так​в группе​С помощью клавиатуры​ другой лист или​ которые не нужно​

​ анимированной пунктирной рамкой.​​ команд​ ошибку.​ диапазона копирования, если​ просто. Предположим, что​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sheets(«Ëèñò2»).Select​

​ Range(Selection, Selection.End(xlToRight)).Select​​ To NumAreas) For​ 0000 0000​iNachRow = rngStartRange.row​

​ скопировать несвязанные диапазоны​​ просили КОПИРОВАНИЕ, а​ и скрытые ячейки.​Буфер обмена​

​Нажмите клавишу F2, чтобы​​ в другую книгу,​ копировать.​ Чтобы снять это​Вырезать​И на листе​ строка видима (т.е.​ у нас есть​Sheets(«Ëèñò1»).Visible = True​Все_просто​ i = 1​теперь из 13​:)​ ‘начальная строка блока​:)

​ формат которых заранее​​ получается, что Вам​ Однако можно скопировать​

​щелкните стрелку под​​ изменить ячейку. С​ щелкните ярлычок другого​Выделите ячейку или диапазон​ выделение, нажмите клавишу​и​ использование этого имени​ не отфильтрована).​ вот такой список​Sheets(«Ëèñò1»).Select​: Какой-то странный код​ To NumAreas Set​ года копируем данные​ данных​ известне (это столбцы​

planetaexcel.ru

выбор несвязанного диапазона ячеек из одной книги и их копирование в другую

​ нужен перенос. Но​​ только видимые ячейки.​
​ кнопкой​
​ помощью клавиш со​ листа или выберите​ ячеек с данными,​ ESC.​Вставить​ приводит к ошибке.​

​roka​
​ сделок:​Range(«B1:D3»).Select​ в 6 посте.​ SelAreas(i) = Selection.Areas(i)​ и вставляем их​—-​ 1-5, 8-15, 20​
​ у тут есть​В этом примере строка​Вставить​ стрелками поместите курсор​ другую книгу и​ которые нужно переместить​При перемещении ячеек путем​
​.​При выборе имени​: Подскажите, плиз, есть​… и в нем нужно поставить​Selection.Copy​ Может я что-то​ Next ‘ Determine​ в ячейки вместо​
​Потом конечную строку,​ в примере)​ выход: выделяем скопированное,​ 2 скрыта:​и выполните одно​
​ в нужное место,​
​ выделите левую верхнюю​ или скопировать.​ вырезания и вставки​

​Перемещение ячеек путем перетаскивания​​ в Диспетчере имен​

​ ли возможность скопировать​​ фиксированную скидку в​Sheets(«Ëèñò2»).Select​ не понимаю?​ the upper left​ тире в 14​ проверку больше меньше,​Роман​ правый клик -​

​Если просто скопировать, а​​ из следующих действий:​ а затем выделите​ ячейку области вставки.​
​Выделение ячеек и диапазонов​

​ в приложении Excel​​Выделите ячейки или диапазон​ диапазон даже выделяется​
​ имена диапазонов из​ 1000 рублей каждому​Range(«H9»).Select​Если не хотите​
​ cell in the​ год​ а потом просто​

​: до сих пор​​ Специальная вставка -​ затем вставить этот​
​чтобы вставить только значения,​ содержимое, удерживая нажатой​На вкладке​На вкладке​
​ замещаются существующие данные​ ячеек, которые требуется​ на листе, но​

​ одной книги в​ «Ашану».​ActiveSheet.Paste​ выбирать вручную нужные​
​ multiple selection TopRow​должно быть так:​ копируем заданные диапазоны…​
​ ничего сделать не​ значения.​ диапазон, результат получается​

​ выберите вариант​​ клавишу SHIFT.​Главная​
​Главная​ в области вставки.​ переместить или скопировать.​ ошибка не пропадает.​
​ другую.​Фильтруем наш список Автофильтром,​Sheets(«Ëèñò1»).Select​

​ области, пропишите соответствующую​ = ActiveSheet.Rows.Count LeftCol​№ янв’13 фев’13​ И не надо​
​ могу​grablik​ следующим:​
​значения​На вкладке​в группе​

​в группе​Чтобы воспользоваться специальными вариантами​Наведите указатель мыши на​Теперь можете загадывать​

​Понимаю что копать​​ оставляя на экране​ActiveWindow.SelectedSheets.Visible = False​ область вместо объекта​ = ActiveSheet.Columns.Count For​
​ янв’14 фев’14​ в буфер или​прошу помощи​: может кто нибудь​Чтобы скопировать только видимые​
​;​Главная​Буфер обмена​Буфер обмена​ вставки ячеек, можно​ границу выделенной области.​ загадку знатокам Excel​
​ надо где-то здесь​ только «Ашаны». Вводим​Еще раз большое спасибо!​
​ инпутбокс. Должен же​
​ i = 1​1 1,596 2,450​
​ в массив загонять…​Guest​
​ помочь с настройкой​ ячейки, выполните несколько​
​чтобы вставить только форматы​
​в группе​нажмите кнопку​выполните одно из​ щелкнуть стрелку под​Когда указатель примет вид​ — как добиться​

​ ThisWorkbook.ActiveSheet.Names​ нужное значение в​
​Мур​ быть какой-то критерий.​ To NumAreas If​
​ 1,596 2,450​
​Роман​: А если не​ сортировки данных в​ простых действий:​ ячеек, выберите вариант​Буфер обмена​Вставить​

​ указанных ниже действий.​​ кнопкой​ указателя перемещения​
​ состояния, показанного на​webley​ первую ячейку и​: И окончательный вариант​

​Если это возможно​​ SelAreas(i).Row < TopRow​3 0000 1,009​: Спасибо. Потихоньку что-то​ «заморачиваться» несвязанными диапазонами?​ ячейке? готов обсудить​Выделите диапазон​Форматирование​выполните одно из​.​Чтобы переместить выделенный фрагмент,​
​Вставить​, перетащите ячейку​ рисунке: :)) Прикрепленные​
​: я так посмотрел,​ протягиваем (копируем за​ ответа (простите меня​ попробуйте через цикл​
​ Then TopRow =​ 0000 1,009​ начинает получаться.​Сколько их? Постоянные​ условия​
​A1:A4​;​ указанных ниже действий.​Сочетание клавиш​
​ нажмите кнопку​

​и выбрать нужный​​ или диапазон ячеек​ файлы post_241538.png (10.16​
​ наверное все таки​

​ правый нижний угол​
​ воюю с редактором):​

​ провести все операции​​ SelAreas(i).Row If SelAreas(i).Column​4 8,957 1,123​Только вот не​

planetaexcel.ru

Копирование форматированных данных в несвязные диапазоны (Формулы)

​ — нет? Место​​МВТ​
​.​чтобы вставить только формулы,​Чтобы переместить выделенный фрагмент,​     Можно также нажать клавиши​Вырезать​ вариант, например​ в другое место.​ КБ)​ надо смотреть ThisWorkbook.Names​ ячейки) вниз:​nilem, большое спасибо!​ без методов типа​ < LeftCol Then​ 8,957 1,123​ понял про то​ куда: постоянное -​: grablik, сортировка данных​На вкладке​ выберите вариант​ нажмите кнопку​ CTRL+V.​
​.​
​Специальная вставка​Перемещение ячеек с помощью​
​roka​nerv​
​Умный Excel в данном​Работает замечательно. И​
​ .copy, .cut, пр.​ LeftCol = SelAreas(i).Column​
​но получается что​ как копировать не​
​ нет?​ в ячейке? Наверное,​
​Home​
​формулы​Вырезать​
​Если нажать стрелку под​Сочетание клавиш​
​или​ команд «Вырезать» и​
​: что я делаю​: На мой взгляд​
​ случае понимает, что​ главное просто.​KuklP​ Next Set UpperLeft​ третья строка прячется​ загоняя в буфер?​
​Дать имена… Поставить​
​ в столбце?​(Главная) нажмите кнопку​
​.​.​
​ командой​     Можно также нажать клавиши​
​Рисунок​ «Вставить»​
​ не так?​ вопрос сформулирован странно:​ вы хотите ввести​А я тут​: Жуть какая-то с​
​ = Cells(TopRow, LeftCol)​
​ во вторую, а​Guest​ в очередь на​

​Юрий М​​Find & Select​Примечание:​Сочетание клавиш​

excelworld.ru

Копирование несмежных диапазонов (VBA)

​Вставить​​ CTRL+X.​.​
​Выделите ячейку или диапазон​Workbooks(nname).Add Name:=n.Name, RefersToR1C1:=n.RefersToR1C1​ зачем копировать имена​ значения именно в​ мудрю:​ этим форумом. Намучаешься,​
​ ‘ Get the​ чевертая оказывается в​: Вы найдите файл​ копирование и… вперед!(?)​: grablik, а какое​(Найти и выделить)​ Если копируемые формулы содержат​     Можно также нажать клавиши​, можно выбрать​Чтобы скопировать выделенный фрагмент,​По умолчанию в приложении​ ячеек.​на этом месте​ именованных диапазонов? Другое​ отфильтрованные ячейки и​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub Макрос1()​ пока сообщение напишешь.​ paste address On​ третьей.​ по клчевым словам​
​Роман​ отношение сортировка имеет​
​ и кликните по​

​ относительные ссылки на​​ CTRL+X.​
​ параметры вставки, которые​ нажмите кнопку​ Excel на листе​

​На вкладке​​ ругается, что объект​ дело, если, к​

​ делает то, что​​Sheets(«Лист2»).Select​Public Sub www()​
​ Error Resume Next​Как это сделать?​ = Анюточка Pavel55​: А если не​ к заявленной теме?​Go To Special​ ячейки, Excel настраивает​Чтобы скопировать выделенный фрагмент,​ следует применить к​Копировать​ отображается кнопка​Главная​ не поддерживает данное​ примеру, имя привязано​ нужно:​Sheets(«Лист1»).Visible = True​ Dim r As​ Set PasteRange =​Тема закрыта. Причина:​ =. Там как​ «заморачиваться» несвязанными диапазонами?​Revenant​(Выделить группу ячеек).​ ссылки (и относительные​ нажмите кнопку​ выделенному диапазону.​.​Параметры вставки​нажмите кнопку​ свойство или метод​ к группе ячеек​Такой способ подойдет и​Sheets(«Лист1»).Select​ Range, lr&, lc&,​ Application.InputBox _ (Prompt:=»Specify​ Нарушение правил пп​ раз есть копирование​Сколько их? Постоянные​: У меня похожий​Выберите опцию​ части смешанных ссылок)​Копировать​При копировании значения последовательно​Сочетание клавиш​, которая позволяет получить​Вырезать​Юрий М​ и требуется перенести​ для ввода значений​Range(«B1:D3»).Select​ c As Range​ the upper left​ 3 и 5g​ из многих книг​ — нет? Место​ вопрос. Выделяю с​Visible cells only​ в скопированных формулах.​.​ вставляются в строки​     Можно также нажать сочетание​ доступ к специальным​или нажмите клавиши​: Я тоже не​ их…​ и для ввода​Selection.Copy​ lc = Rows(1).Find(«ОбщСтатусДвиженияМтр»,​ cell for the​SkyPro​ в 1. Где​ куда: постоянное -​ Ctrl желтые ячейки​(Только видимые ячейки)​ Допустим, ячейка B8​Сочетание клавиш​ и столбцы. Если​ клавиш CTRL+C.​ вариантам вставки ячеек,​ CTRL+X.​ понимаю: зачем копировать​GIG_ant​ формул. Например, если​Sheets(«Лист2″).Select​ lookat:=xlPart).Column ‘Cells(1, Columns.Count).End(xlToLeft).Column​ paste range:», _​: Зачем такой размер​ много (книг) КОД​ нет?​ и пытаюсь их​ и нажмите​ содержит формулу =СУММ(B1:B7).​     Можно также нажать сочетание​ область вставки содержит​Щелкните правой кнопкой мыши​ например​Выделите ячейку, в которую​ ИМЕНА. Другое дело​: Попробуйте так:​ скидка для «Ашанов»​Range(«H9″).Select​ lr = Cells(Rows.Count,​ Title:=»Copy Mutliple Selection»,​

​ шрифта и где​​ ОБРЕЖЕТЕ И ДАЛЬШЕ​Дать имена… Поставить​ скопировать в другой​OK​ Если скопировать эту​

​ клавиш CTRL+C.​​ скрытые строки или​ левую верхнюю ячейку​Сохранить исходное форматирование​ вы хотите переместить​ — копировать именованный​Sub CopyNames()​ не фиксированная, а​
​ActiveSheet.Paste​
​ 1).End(xlUp).Row Set r​ _ Type:=8) On​ файл?​ все просто.​ в очередь на​
​ столбец, чтобы они​.​ формулу в ячейку​Щелкните в том месте​ столбцы, возможно, потребуется​ области вставки, а​

​. Если не нужно​​ данные.​ диапазон…​Dim n As​ составляет 10% от​
​Sheets(«Лист1»).Select​ = Range([a1], Cells(lr,​ Error GoTo 0​Макс​Копирование с активного​ копирование и… вперед!(?){/post}{/quote}​
​ не задели ячейки​Excel выделит видимые ячейки.​ C8, новая формула​ ячейки, куда нужно​ отобразить их, чтобы​

​ затем выберите пункт​​ отображать эту кнопку​На вкладке​webley​:(
​ Name​ суммы сделки, то​ActiveWindow.SelectedSheets.Visible = False​ lc)).SpecialCells(12) r.Copy Sheets(2).[a1]​ ‘ Exit if​: Уважаемые знатоки VBA,​ листа как -​Диапазонов много -​ без заливки. Приходится​ Теперь нажмите сочетание​ будет ссылаться на​

​ вставить символы, или​​ увидеть все скопированные​Вставить вырезанные ячейки​ при каждой вставке​Главная​: Может так?​For Each n​ в первую отфильтрованную строку​

​End Sub​​ End Sub​ canceled If TypeName(PasteRange)​ приветствую Вас.​ то так​ порядка 40, число​ перебивать руками, может,​:D

​Ctrl+C​​ соответствующие ячейки этого​ дважды щелкните другую​ данные.​или​ ячеек, ее можно​
​нажмите кнопку​Workbooks(nname).NAMES.Add Name:=n.Name, RefersToR1C1:=n.RefersToR1C1​:)​ In ThisWorkbook.Names​ можно ввести не​

​И вроде работает,​​Маугли​ < > «Range»​Помогите пожалуйтса, видел​

planetaexcel.ru

Копирование диапазона (Отладка макроса)

​Range(«A» & iStartRow​​ строк разное, место​
​ этот вопрос как​, чтобы скопировать диапазон.​ столбца: =СУММ(C1:C7). Если​
​ ячейку для перемещения​При копировании и вставке​Вставить скопированные ячейки​ отключить. Откройте вкладку​
​Вставить​
​roka​ИмяКниги.Names.Add Name:=n.Name, RefersToR1C1:=n.RefersToR1C1​
​ константу (1000), а​

​ но как-то чересчур​​: Может так.. Sub​
​ Then Exit Sub​
​ на форуме много​
​ & ":" &​

​ тоже разное​​ то можно упростить?​
​Выберите ячейку​ копируемые формулы содержат​

​ или копирования в​​ скрытых или отфильтрованных​
​.​Файл​или нажмите клавиши​
​: аааааааааа, спасибо, проглядел​
​Next n​

​ формулу (=C2*10%) и также скопировать вниз.​

​ сложно все.​​ tt() Dim Rng​

​ ‘ Make sure​​ подобных тем, но​
​ «F» & iLastRow).copy​
​Пробую написать макрос,​Пример прикрепил.​
​A6​ абсолютные ссылки на​
​ нее данных.​
​ данных в другое​
​Совет​
​и выберите команду​
​ CTRL+V.​
​roka​
​End Sub​
​Другое дело, если вам​
​А Вам, еще раз​
​ As Range With​

​ only the upper​

​ мой случай не​​ destination:=Workbook(«…»).worksheet(«…»).Range(«A» & iRow)​ пока выходит, но​Revenant​
​и нажмите​
​ ячейки, ссылки в​На вкладке​
​ приложение или в​    Чтобы переместить или скопировать​
​Параметры​
​Копируйте ячейки на листе​
​: Всем спасибо, все​
​где ИмяКниги -​
​ необходимо вставить в​
​ большое спасибо!​
​ Sheets(1) Set Rng​
​ left cell is​
​ подходит ни под​
​Это если нет​
​ не очень​
​: Никто не знает​

​Ctrl+V​ скопированных формулах не​Главная​

​ другой экземпляр приложения​ выделенный фрагмент на​

​. В категории​​ с помощью команд​ что мне надо​
​ имя книги в​
​ отфильтрованные ячейки не​
​KuklP​

​ = .UsedRange.SpecialCells(12) End​​ used Set PasteRange​ один из них.​ формул, если есть​Вопрос: как передать​ чтоли?(​, чтобы вставить диапазон.​
​ меняются. Если вы​в группе​ Excel будут скопированы​

​ другой лист или​​Дополнительно​
​Копировать​ было, получилось. В​ которую копируем имена.​
​ одинаковые значения или​: Да уж, перебор.​
​ With Rng.Copy Sheets(2).[A1]​wacko​ = PasteRange.Range(«A1») ‘​

​Есть лист, на​

​ и надо перенести​​ в переменную номер​_Igor_61​Результат:​ не получили ожидаемого​Буфер обмена​ только видимые ячейки.​ в другую книгу,​в разделе​
​и​

excelworld.ru

Вставка в отфильтрованные строки

​ результате полистного копирования​GIG_ant​ формулы, а разные,​ Смотрим:​ End Sub​ Check paste range​​ нем размещена таблица​​ значения/форматы/ и т.д.​ строки активной ячейки?​: Записал макрорекордером и​Урок подготовлен для Вас​ результата, попробуйте изменить​нажмите кнопку​Выделите диапазон ячеек, содержащий​ щелкните ярлычок другого​Вырезание, копирование и вставка​Вставить​ одной книги в​: При этом книга​ да еще и​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub Макрос1()​KuklP​

Способ 1. Вставка одинаковых значений или формул

​ for existing data​ с данными, в​ используем специальную вставку…​Роман​ сделал имена для​ командой сайта office-guru.ru​ ссылки в исходных​Вставить​ пустые ячейки.​

Как вȎxcel скопировать несвязанные диапазоны

​ листа или выберите​снимите флажок​.​ другую формулы с​

​ в которую копируем​ брать их из другого​Sheets(«Лист1»).[B1:D3].CopySheets(«Лист2»).[H9]​: Маугли, там справа​ NonEmptyCellCount = 0​ таблице установлен фильтр.​Работа с буфером​: А если не​

Как вȎxcel скопировать несвязанные диапазоны

​ переменных, но как​Источник: http://www.excel-easy.com/examples/copy-visible-cells-only.html​ формулах на относительные​.​Выделение ячеек и диапазонов​ другую книгу и​Отображать кнопку параметров вставки​

Как вȎxcel скопировать несвязанные диапазоны

​Выделите ячейку или диапазон​ применением имен диапазонов​ должна быть открыта​ диапазона. Тогда придется использовать​End Sub​ от таблицы пара​ For i =​ Необходимо при помощи​ — это уже​ «заморачиваться» несвязанными диапазонами?​ это все теперь​Перевел: Антон Андронов​

Способ 2. Макрос вставки любых значений

​ или абсолютные, а​Сочетание клавиш​На вкладке​ выделите левую верхнюю​ при вставке содержимого​ ячеек.​ работают корректно.​roka​ несложный макрос. Нажмите​KuklP​​ заполненных ячеек. Автору​​ 1 To NumAreas​ макроса выделить два​ отдельная процедура (код)​Сколько их? Постоянные​​ в цикл записать​​Автор: Антон Андронов​ затем снова скопировать​

​     Можно также нажать сочетание​Главная​ ячейку области вставки.​.​Нажмите кнопку​Казанский​: по моему это​ сочетание клавиш​: Ну вот, невнимателен.​ не нужно, чтоб​ RowOffset = SelAreas(i).Row​ несвязанных диапазона -​ в ВБА.​ — нет? Место​ не знаю Sub​grablik​ ячейки.​ клавиш CTRL+V.​в группе​В диалоговом окне​По умолчанию режим перетаскивания​Копировать​: Если все же​ одно и тоже.​Alt+F11​ Николай раньше ответил​ они попали под​ — TopRow ColOffset​ с А по​Игорь67​ куда: постоянное -​ Перенос() Dim iStart,​: Подскажите как можно​

​При вставке скопированных данных​Нажмите клавишу ВВОД.​Буфер обмена​Вставка скопированных ячеек​ включен, поэтому можно​или клавиши CTRL+C.​ захотите копировать не​ Ну допустим есть​, в открывшемся окне​ то же от:​ раздачу​ = SelAreas(i).Column -​ Q и скопировать​слэн​ нет?​ iCoda, iSumma iStart​ скопировать несвязанные диапазоны.​

planetaexcel.ru

копирование именованных диапазонов

​ к ним применяются​​Примечание:​нажмите кнопку​выберите направление, в​ перемещать и копировать​Нажмите кнопку​
​ только имена, но​ имена, привязанные к​ Visual Basic вставьте​

​ nilem Дата: Суббота,​​Макс​ LeftCol NonEmptyCellCount =​ их. Проблема заключается​

​: если копировать только​​Дать имена… Поставить​ = Range(«E1») iCoda​ В одном столбце​ параметры ширины целевых​ При двойном щелчке ячейки​Копировать​ котором нужно сдвинуть​ ячейки с помощью​Вставить​

​ и диапазоны, на​​ группе ячеек, вот​

​ новый пустой модуль​
​ 16.04.2011, 12:01 |​: , спасибо огромнейшее,​
​ NonEmptyCellCount + _​ в том, что​
​ значения:​
​ в очередь на​
​ = Range(«F1») iSumma​

​ множество ячеек со​ ячеек. Чтобы изменить​ или нажатии клавиши​

​.​​ окружающие ячейки.​ мыши.​или клавиши CTRL+V.​

​ которые ссылаются эти​​ их и надо​ через меню​ Сообщение № 2.​ я думал у​ Application.CountA(Range(PasteRange.Offset(RowOffset, ColOffset), _​ в данном диапазоне​[b1:b6] = [a1:a6].Value​

​ копирование и… вперед!(?){/post}{/quote}​​ = Range(«H1») Range(iStart).Select​ значениями, их нужно​ ширину ячеек в​ F2 для редактирования​

​Сочетание клавиш​
​Примечание​Выделите ячейки или диапазон​
​Выделите ячейки, которые нужно​ имена, посмотрите тут:​
​ перенести.​Insert — Module​
​Мур, что Вас​ меня сейчас мозг​
​ PasteRange.Offset(RowOffset + SelAreas(i).Rows.Count​ прямо посередине есть​
​если все:​
​Диапазонов много -​

​ Selection.Copy Range(iCoda).Select ActiveSheet.Paste​
​ скопировать в другой​ соответствии с параметрами​ активной ячейки клавиши​     Можно также нажать сочетание​

​    При вставке целых строк​​ ячеек, которые требуется​
​ переместить или скопировать.​roka​webley​

​и скопируйте туда​​ не устраивает в​ взорвется с этим​

​ — 1, _​​ пустые столбцы -​
​[a1:a6].copy [b1:b6]​ порядка 40, число​ Range(iStart).Select Selection.ClearContents End​ столбец. Если нужно​ исходных ячеек, выполните​ со стрелками будут​ клавиш CTRL+C.​
​ или столбцов окружающие​ переместить или скопировать.​Выделение ячеек и диапазонов​: Спасибо, посмотрю.​: Можно вот так​ этот код:​ ответе Николая?​ выделением.​ ColOffset + SelAreas(i).Columns.Count​ с К по​
​Роман​ строк разное, место​ Sub​
​ использовать макросы, то​ указанные ниже действия.​ работать только внутри​Выделите левую верхнюю ячейку​ строки и столбцы​

​Выделение ячеек и диапазонов​На вкладке​Так то, у​ попробовать (для простоты​Sub PasteToVisible() Dim​Мур​Спасибо большое еще​

​ — 1))) Next​​ Р, их тоже​: Всем спасибо, далее​
​ тоже разное​
​Роман​ буду очень признателен​Выделите ячейки, которые нужно​ данной ячейки. Чтобы​

​ области вставки.​​ сдвигаются соответственно вниз​Выполните одно из указанных​Главная​ меня все скопировано,​ в исходной книге​

​ copyrng As Range,​​: Здравствуйте! KuklP.​
​ раз.​

​ i ‘ If​​ нужно включать в​

​ буду самостоятельно работать​​Пробую написать макрос,​: Добрый день!​ за разъяснение как​ переместить или скопировать.​ с помощью клавиш​На вкладке​ и влево.​ ниже действий.​

​в группе​​ не хватало имен.​ только один лист)​ pasterng As Range​Меня всё устраивает.​Макрос работает как​ paste range is​

​ выделение. Т.е. в​​ над темой.​
​ пока выходит, но​проблема выглядит так:​ их применить. К​

planetaexcel.ru

​Выделение ячеек и диапазонов​

Тонкое оперирование расчетами, при помощи различных вариантов ссылок, это одна из основных «фишек» табличного процессора Excel, благодаря которой и становится возможной работа с массивами данных. Достаточно единожды ввести формулу, а потом, при помощи автозаполнения, «умный» Excel уже сам напишет формулы для остальных вычисляемых ячеек.

Однако, бывают случаи, когда нет необходимости в автоматическом изменении адресов ячеек, другими словами, нужно точно скопировать диапазон с формулами. Если этот диапазон состоит сугубо из абсолютных ссылок, то проблем не возникнет, но использование в формуле сугубо абсолютных ссылок явление редкое, как правило абсолютны ссылки в формуле встречаются вперемешку с относительными, а при их копировании и будут возникать проблемы.

Все дело в том, что при простом копировании диапазона формул в другое место на листе, относительные ссылки поменяют свои адреса. В большинстве случаев, это именно то чего добивается пользователь, но есть ситуации, когда нужно скопировать диапазон с относительными ссылками точно так как он введен. Рассмотрим возможные варианты такого копирования.

Вариант первый. Копировать не ячейку, а данные в ячейке.

Если необходимо скопировать одну формулу, то достаточно копировать не ячейку с формулой, а текст в ячейке, т.е. поставить курсор в строку формул и там выделить всю формулу, а потом уже вставить в новое место.

Точное копирование одной формулы в Excel

Хороший вариант, но такое копирование возможно только по одной формуле, конечно можно по очереди скопировать две, три, пять формул, но если формул десятки или даже сотни, то лучше присмотреться к следующим вариантам.

Вариант второй. С использованием программы-посредника.

Для этого случая понадобиться любой простой текстовый редактор, например, «Блокнот», а также переключение листа Excel в режим отображения формул (сочетание клавиш «Ctr+`(тильда)«, или вкладка «Формулы«, группа «Зависимости формул«, команда «Показать формулы«).

После этого просто выделяется диапазон с формулами, вставляется в окно текстового редактора, затем из текстового редактора опять копируется данный диапазон и вставляется в место назначения на листе Excel.
Точное копирование диапазона формул в Excel

Еще возможные варианты. Просто для ознакомления

На самом деле, существуют еще способы, но они уступают представленным выше.

Например, можно предварительно удалить из формулы знак равенства, а после копирования добавить знак равенства. Этот способ, как и первый вариант, подойдет только для копирования единичных формул, но по трудозатратам уступает первому. Можно преобразовать относительные ссылки в абсолютные в формуле и скопировать, но так лучше не делать, т.к. формула может содержать разные типы ссылок и такие манипуляции могут повлиять на правильность расчетов (в случае некорректного обратного преобразования).

Можно еще сделать макрос, но это случай, если вы ежедневно занимаетесь таким переносом.

А можно предложить свой вариант в комментариях.


Загрузить PDF


Загрузить PDF

В Excel можно быстро скопировать формулу во множество ячеек одной строки или одного столбца, но результат не всегда будет таким, какой планировался. Если вы не добились желаемого результата или в ячейках появились сообщения #REF и /DIV0, почитайте, что такое абсолютные и относительные адреса ячеек, чтобы выяснить причину ошибки. Помните, что вносить изменения во всех ячейках таблицы, которая состоит из 5000 строк, не придется — для этого есть методы, которые позволяют автоматически обновить формулу в определенной ячейке или скопировать ее без изменения значений.

  1. Изображение с названием 579572 1 1

    1

    Введите формулу в одной ячейке. Сначала введите знак равенства (=), а затем введите нужную функцию или математическую операцию. Например, вам нужно сложить значения столбцов A и B:

    Таблица

    Столбец A Столбец B Столбец C
    строка 1 10 9 =A1+B1
    строка 2 20 8
    строка 3 30 7
    строка 4 40 6
  2. Изображение с названием 579572 2 1

    2

    Нажмите клавишу «Enter», чтобы вычислить результат по введенной формуле. В ячейке, где вы ввели формулу, отобразится результат (в нашем примере вычисленная сумма 19), но формула будет храниться в электронной таблице.

    Таблица

    Столбец A Столбец B Столбец C
    строка 1 10 9 19
    строка 2 20 8
    строка 3 30 7
    строка 4 40 6
  3. Изображение с названием 579572 3 1

    3

    Нажмите на маркер в нижнем правом углу ячейки. Переместите указатель в правый нижний угол ячейки с формулой; указатель превратится в символ «+». [1]

  4. Изображение с названием 579572 4 1

    4

    Удерживайте значок «+» и перетащите его по нужным ячейкам столбца или строки.
    Удерживайте кнопку мыши нажатой, а затем перетащите символ «+» вниз по столбцу или вправо по строке, чтобы выделить нужные ячейки. Введенная формула будет автоматически скопирована в выделенные ячейки. Так как здесь присутствует относительный адрес ячейки, адреса ячеек (в скопированных формулах) соответственно изменятся. В нашем примере (показаны формулы, которые автоматически поменялись, и вычисленные значения):

    Таблица

    Столбец A Столбец B Столбец C
    строка 1 10 9 =A1+B1
    строка 2 20 8 =A2+B2
    строка 3 30 7 =A3+B3
    строка 4 40 6 =A4+B4

    Таблица

    Столбец A Столбец B Столбец C
    строка 1 10 9 19
    строка 2 20 8 28
    строка 3 30 7 37
    строка 4 40 6 46
  5. Изображение с названием 579572 5 1

    5

    Дважды щелкните по «+», чтобы скопировать формулу во все ячейки столбца.
    Вместо того, чтобы перетаскивать символ «+», переместите указатель мыши в правый нижний угол ячейки с формулой и дважды щелкните по появившемуся значку «+». Формула скопируется во все ячейки столбца.
    [2]

    • Если в столбце есть пустые ячейки, автоматическое копирование формулы прекратится, как только будет достигнута первая пустая ячейка. В этом случае повторите описанные действия, чтобы скопировать формулу в ячейки, которые расположены под пустой ячейкой.

    Реклама

  1. Изображение с названием 579572 1 1

    1

    Введите формулу в одной ячейке. Сначала введите знак равенства (=), а затем введите нужную функцию или математическую операцию. Например, вам нужно сложить значения столбцов A и B:

    Таблица

    Столбец A Столбец B Столбец C
    строка 1 10 9 =A1+B1
    строка 2 20 8
    строка 3 30 7
    строка 4 40 6
  2. Изображение с названием 579572 2 1

    2

    Нажмите клавишу «Enter», чтобы вычислить результат по введенной формуле. В ячейке, где вы ввели формулу, отобразится результат (в нашем примере вычисленная сумма 19), но формула будет храниться в электронной таблице.

    Таблица

    Столбец A Столбец B Столбец C
    строка 1 10 9 19
    строка 2 20 8
    строка 3 30 7
    строка 4 40 6
  3. 3

    Щелкните по ячейке с формулой, а затем нажмите CTRL+C, чтобы скопировать ее.

  4. 4

    Выделите ячейки, в которые будет скопирована формула. Нажмите на одну из ячеек, удерживайте кнопку мыши и проведите указателем по нужным ячейкам. Также можно удерживать клавишу «Ctrl» и щелкнуть по несмежным нужным ячейкам.

  5. 5

    Вставьте формулу в выделенные ячейки. Для этого нажмите CTRL+V.

    Реклама

  1. Изображение с названием 579572 6 1

    1

    Воспользуйтесь этим методом, чтобы скопировать формулу без изменения адресов ячеек, которые входят в нее. Иногда таблица полна формул, и их нужно точно скопировать (то есть без изменений). Если менять относительные адреса ячеек на абсолютные адреса во всех формулах, можно потратить уйму времени (это тем более не приемлемо, если в будущем вам придется опять менять адреса). Этот метод подразумевает копирование формулы с относительными адресами ячеек в другие ячейки так, что формула не изменится. [3]
    Например, скопируем все содержимое столбца C в столбец D:

    Таблица

    Столбец A Столбец B Столбец C Столбец D
    строка 1 944 Лягушки =A1/2
    строка 2 636 Жабы =A2/2
    строка 3 712 Тритоны =A3/2
    строка 4 690 Змеи =A4/2
    • Если вы хотите скопировать просто одну формулу, перейдите к шагу «Воспользуйтесь альтернативным методом» этого раздела.
  2. Изображение с названием 579572 7 1

    2

    Откройте окно «Найти». В большинстве версий Excel щелкните по вкладке Главная в верхней части окна Excel, а затем щелкните по Найти и выбрать в разделе «Редактирование».[4]
    Также можно нажать клавиши CTRL+F.

  3. Изображение с названием 579572 8 1

    3

    Найдите и замените знак равенства (=) на другой символ. Введите «=», щелкните по «Найти все», а затем в поле «Заменить» введите любой другой символ. В этом случае все ячейки с формулами (в начале которых стоит знак равенства) автоматически превратятся в текстовые ячейки, которые начинаются с других символов. Обратите внимание, что нужно ввести символ, которого нет в ячейках таблицы. Например, замените знак равенства на символ # или &; также «=» можно заменить на несколько символов, например, на ##&.

    Таблица

    Столбец A Столбец B Столбец C Столбец D
    строка 1 944 Лягушки ##&A1/2
    строка 2 636 Жабы ##&A2/2
    строка 3 712 Тритоны ##&A3/2
    строка 4 690 Змеи ##&A4/2
    • Не используйте символы * или ?, чтобы не столкнуться с проблемами в дальнейшем.
  4. Изображение с названием 579572 9 1

    4

    Скопируйте и вставьте ячейки. Выделите ячейки, которые хотите скопировать, и вставьте их в другие ячейки. Так как выделенные ячейки сейчас являются текстовыми ячейками, а не ячейками с формулами, последние будут скопированы без изменений.

    Таблица

    Столбец A Столбец B Столбец C Столбец D
    строка 1 944 Лягушки ##&A1/2 ##&A1/2
    строка 2 636 Жабы ##&A2/2 ##&A2/2
    строка 3 712 Тритоны ##&A3/2 ##&A3/2
    строка 4 690 Змеи ##&A4/2 ##&A4/2
  5. Изображение с названием 579572 10 1

    5

    Используйте функции «Найти» и «Заменить» еще раз, чтобы вернуться к прежним формулам. Скопировав формулы как текст, воспользуйтесь функциями «Найти все» и «Заменить на», чтобы вернуться к прежним формулам. В нашем примере найдем все символы ##& и заменим их на знак равенства (=), чтобы в ячейках появились формулы.

    Таблица

    Столбец A Столбец B Столбец C Столбец D
    строка 1 944 Лягушки =A1/2 =A1/2
    строка 2 636 Жабы =A2/2 =A2/2
    строка 3 712 Тритоны =A3/2 =A3/2
    строка 4 690 Змеи =A4/2 =A4/2
  6. Изображение с названием 579572 11 1

    6

    Воспользуйтесь альтернативным методом. Если описанный здесь метод не привел к успеху или вы не хотите пользоваться им, чтобы случайно не поменять символы в других ячейках, примените другие способы:

    • Чтобы точно скопировать одну формулу, выделите ячейку с формулой, а затем скопируйте формулу, которая отображается в строке формул (а не в ячейке) в верхней части окна. Нажмите esc, чтобы закрыть строку формул, а затем вставьте формулу в нужные ячейки.[5]
    • Нажмите Ctrl` (обычно этот символ находится на клавише с символом ~), чтобы перейти в режим просмотра формул. Скопируйте формулы, а затем вставьте их в простейший текстовый редактор, такой как Блокнот или TextEdit. Скопируйте формулы из текстового редактора и вставьте их в нужные ячейки электронной таблицы.[6]
      Еще раз нажмите Ctrl`, чтобы вернуться в обычный режим работы с таблицей.

    Реклама

  1. Изображение с названием 579572 12 1

    1

    Используйте в формуле относительный адрес ячейки. Для этого введите адрес вручную или щелкните по нужной ячейке, когда будете вводить формулу. Например, в этой таблице есть формула с адресом ячейки A2:

    Относительные адреса ячеек

    Столбец A Столбец B Столбец C
    строка 2 50 7 =A2*2
    строка 3 100
    строка 4 200
    строка 5 400
  2. Изображение с названием 579572 13 1

    2

    Запомните, что такое относительный адрес ячейки. В формуле такой адрес указывает на относительную позицию ячейки. Например, если в ячейке С2 есть формула «=A2», эта формула указывает на значение, которое находится двумя столбцами левее. Если скопировать формулу в ячейку С4, эта формула опять укажет на значение, которое находится двумя столбцами левее — то есть в ячейке С4 отобразится формула «= A4».

    Относительные адреса ячеек

    Столбец A Столбец B Столбец C
    строка 2 50 7 =A2*2
    строка 3 100
    строка 4 200 =A4*2
    строка 5 400
    • Этот принцип распространяется на ячейки в разных строках и столбцах. Например, если скопировать ту же формулу из ячейки C1 в ячейку D6 (не показана), в формуле появится адрес ячейки, которая расположена одним столбцом правее (C → D) и пятью строками ниже (2 → 7), а именно адрес «B7».
  3. Изображение с названием 579572 14 1

    3

    Используйте в формуле абсолютный адрес ячейки. Сделайте это, чтобы формула не менялась автоматически. Чтобы относительный адрес превратить в абсолютный, введите символ $ перед буквой столбца или номером строки, которые не должны измениться.[7]
    Далее приведены примеры (исходная формулы выделена жирным шрифтом; также показана эта формула, скопированная в другие ячейки):

    Относительный столбец, Абсолютная строка (B$3):
    В формуле присутствует абсолютная строка «3», то есть формула будет всегда ссылаться на третью строку.

    Столбец A Столбец B Столбец C
    строка 1 50 7 =B$3
    строка 2 100 =A$3 =B$3
    строка 3 200 =A$3 =B$3
    строка 4 400 =A$3 =B$3

    Абсолютный столбец, Относительная строка ($B1):
    В формуле присутствует абсолютный столбец «В», то есть формула будет всегда ссылаться на столбец «В».

    Столбец A Столбец B Столбец C
    строка 1 50 7 =$B1
    строка 2 100 =$B2 =$B2
    строка 3 200 =$B3 =$B3
    строка 4 400 =$B4 =$B4

    Абсолютные столбец и строка ($B$1):
    В формуле присутствует абсолютный столбец «В» и абсолютная строка «1», то есть формула будет всегда ссылаться на столбец «В» и первую строку.

    Столбец A Столбец B Столбец C
    строка 1 50 7 =$B$1
    строка 2 100 $B$1 $B$1
    строка 3 200 $B$1 $B$1
    строка 4 400 $B$1 $B$1
  4. Изображение с названием 579572 15 1

    4

    Используйте клавишу F4, чтобы относительный адрес превратить в абсолютный. В формуле выделите адрес ячейки, щелкнув по ней, а затем нажмите клавишу F4, чтобы ввести или удалить символ(ы) $. Нажимайте F4 до тех пор, пока не создадите нужный абсолютный адрес, а затем нажмите Enter.[8]

    Реклама

Советы

  • Если при копировании формулы в ячейке отобразился значок в виде зеленого треугольника, Excel обнаружил ошибку. Внимательно посмотрите на формулу, чтобы выяснить, что пошло не так.[9]
  • Если при точном копировании формулы вы случайно заменили знак равенства (=) на символ ? или *, поиск этих символов ничего не даст. В этом случае ищите символы ~? или ~*.[10]
  • Щелкните по ячейке и нажмите Ctrl (апостроф), чтобы скопировать в нее формулу из ячейки, которая находится над выбранной ячейкой.[11]

Реклама

Предупреждения

  • Возможно, у вашей версии Excel немного другой интерфейс, чем тот, который показан на скриншотах в этой статье.

Реклама

Об этой статье

Эту страницу просматривали 131 980 раз.

Была ли эта статья полезной?


Download Article

Easy methods to repeat a value in Excel on PC or mobile


Download Article

This wikiHow teaches how to copy one value to an entire range of cells in Microsoft Excel. If the cells you want to copy to are in a single row or column, you can use Excel’s Fill feature to fill the row or column with the same value. If you want the value to appear in a wider range of cells, such as multiple contiguous or non-connected (desktop-only) rows and columns, you can easily paste the value into a selected range.

  1. Image titled Add the Same Value to Multiple Cells in Excel Step 1

    1

    Type the value into an empty cell. For example, if you want the word «wikiHow» to appear in multiple cells, type wikiHow into any empty cell now. Use this method if you want the same value to appear in an entire range.

  2. Image titled Add the Same Value to Multiple Cells in Excel Step 2

    2

    Right-click the cell containing the value and select Copy. This copies the value to your clipboard.

    Advertisement

  3. Image titled Add the Same Value to Multiple Cells in Excel Step 3

    3

    Select the range of cells in which you want to paste the value. To do this, click and drag the mouse over every cell where the value should appear. This highlights the range.

    • The range you select doesn’t have to be continuous. If you want to select cells and/or ranges that aren’t connected, hold down the Control key (PC) or Command key (Mac) as you highlight each range.
  4. Image titled Add the Same Value to Multiple Cells in Excel Step 4

    4

    Right-click the highlighted range and click Paste. Every cell in the selected range now contains the same value.

  5. Advertisement

  1. Image titled Add the Same Value to Multiple Cells in Excel Step 5

    1

    Type the value into an empty cell. For example, if you want the word «wikiHow» to appear in multiple cells, type wikiHow into an empty cell above (if applying to a column) or beside (if applying to a row) the cells you want to fill.

  2. Image titled Add the Same Value to Multiple Cells in Excel Step 6

    2

    Tap the cell once to select it. This highlights the cell.

  3. Image titled Add the Same Value to Multiple Cells in Excel Step 7

    3

    Tap the highlighted cell once more. This opens the Edit menu.

  4. Image titled Add the Same Value to Multiple Cells in Excel Step 8

    4

    Tap Copy on the menu. Now that the value is copied to your clipboard, you’ll be able to paste it into a series of other cells.

  5. Image titled Add the Same Value to Multiple Cells in Excel Step 9

    5

    Select the range of cells in which you want the selected value to appear. To do so, tap the first cell where you want the copied value to appear, and then drag the dot at its bottom-right corner to select the entire range.

    • There is no way to select multiple non-touching ranges at once. If you need to copy the value into another non-adjacent range, repeat this step and the next step for the next range after pasting into this one.
  6. Image titled Add the Same Value to Multiple Cells in Excel Step 10

    6

    Tap the selected range and tap Paste. This copies the selected value into every cell in the range.

  7. Advertisement

  1. Image titled Add the Same Value to Multiple Cells in Excel Step 11

    1

    Type the value into an empty cell. For example, if you want the word «wikiHow» to appear in multiple cells, type wikiHow into an empty cell above (if applying to a column) or beside (if applying to a row) the cells you want to fill.

  2. Image titled Add the Same Value to Multiple Cells in Excel Step 12

    2

    Hover the mouse cursor over the bottom-right corner of the cell. The cursor will turn to crosshairs (+).

  3. Image titled Add the Same Value to Multiple Cells in Excel Step 13

    3

    Click and drag down the column or across the row to fill all cells. As long as Excel does not detect a pattern, all selected cells will be filled with the same value.

    • If the filled cells show up as a pattern, such as a series of increasing numbers, click the icon with a plus sign at the bottom of the selected cells, then select Copy cells.
  4. Advertisement

  1. Image titled Add the Same Value to Multiple Cells in Excel Step 14

    1

    Type the value into an empty cell. For example, if you want the word «wikiHow» to appear in multiple cells, type wikiHow into an empty cell above (if applying to a column) or beside (if applying to a row) the cells you want to fill.

  2. Image titled Add the Same Value to Multiple Cells in Excel Step 15

    2

    Tap the cell once to select it. This highlights the cell.[1]

  3. Image titled Add the Same Value to Multiple Cells in Excel Step 16

    3

    Tap the highlighted cell once more. This opens the Edit menu.

  4. Image titled Add the Same Value to Multiple Cells in Excel Step 17

    4

    Tap Fill on the menu. You will then see some arrow icons.

  5. Image titled Add the Same Value to Multiple Cells in Excel Step 18

    5

    Tap and drag the Fill arrow across the cells you want to fill. If you want to fill a row, tap the arrow pointing to the right and drag it until you’re finished filling all of the cells. If you’re filling a column, tap the arrow pointing downward, and then drag it down to fill the desired amount of cells.

  6. Advertisement

Ask a Question

200 characters left

Include your email address to get a message when this question is answered.

Submit

Advertisement

Thanks for submitting a tip for review!

References

About This Article

Article SummaryX

1. Enter the value into a blank cell.
2. Right-click the cell and click Copy.
3. Highlight the cells you want to paste into.
4. Right-click the highlighted area and select Paste.

Did this summary help you?

Thanks to all authors for creating a page that has been read 37,773 times.

Is this article up to date?

Понравилась статья? Поделить с друзьями:
  • Excel формула количество ячеек по цвету
  • Excel формула количество строк в таблице
  • Excel формула количество слагаемых
  • Excel формула количество символов после запятой
  • Excel формула количество символов в строке