Перемещение и копирование ячеек и их содержимого
Смотрите также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
Размер отфильтрованного диапазонаЕсть таблица с в переменную номер скопировать в другую обращаться.в группе сначала нажмите клавишуБуфер обмена
листе не отображается,
-
указатель на границу указанных ниже действий. оперативнее обеспечивать вас
-
Set wb = пользователя по очереди
-
каким дурацким путем c As Range Then _ If постоянно меняется. данными, есть столбцы
строки активной ячейки?{/post}{/quote} несвязанный диапазон ячеекМВТ
-
Буфер обмена ВВОД, чтобы завершить
-
щелкните стрелку под можно скопировать все выделенного фрагмента. КогдаЧтобы переместить ячейки, нажмите актуальными справочными материалами Workbooks.Add(1)
-
диапазоны копирования ипошел я сам. лишняя, можно удалить.
-
MsgBox(«Overwrite existing data?»,Спасибо. с месяцами 13И ещё вопрос: (построчно, но за: А как Вы
выполните одно из внесение изменений в кнопкой ячейки или только указатель примет форму кнопку
-
на вашем языке.Dim n As
-
вставки Set copyrngЧитайте предыдущие сообщения.Мур
-
vbQuestion + vbYesNo,Dima S года и следующие
Перемещение и копирование ячеек
-
как копировать не исключением некоторых столбцов)
этот диапазон выделяете?
-
указанных ниже действий. активную ячейку.Вставить видимые. Например, можно указателя перемещенияВырезать
-
Эта страница переведена Name = Application.InputBox(«Диапазон копирования», Вам тоже спасибо!
: Приветствую всех участников! _ «Copy Multiple: файл с примером.
-
столбцы с месяцами в буфер обмена,алгоритм вижу такой: justirus
Чтобы переместить ячейки, нажмитеПри вставке скопированных данныхи выберите вариант
-
-
скопировать только отображаемые, перетащите ячейку
. автоматически, поэтому ееFor Each n «Запрос», Type:=8) SetKuklPВопрос к макросоведам Selection») < >на пальцах никто 14 года. Делаем а в массив?
-
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 были одинакового размера извинился за свою с одного листа
-
area For i: извините, забыл прикрепить. скрываются. Получившийся результат
выглядит, поэтому даже
-
куда будем копироватьОтветил как понял,
-
Можно также нажать клавиши цвет текста или.Выделение ячеек и диапазонов указатель на границу кнопку статья была вам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.. уделить пару секундЕсли не ошибаюсь, «Диапазоны копирования и | Сообщение №должен быть скрыт.
Вставка скопированных и перемещенных ячеек между существующими ячейками
-
SelAreas(i).Row — TopRow: Не проверял код, в 14 год, из книги в
2. запрашиваем первую
-
вы имеете ввиду. кнопкупреобразовать формулы в ячейках переместить или скопировать.в группе Когда указатель примет
-
Сочетание клавиш и сообщить, помогла тогда еще и вставки разного размера!»,vbCritical
8.Подскажите где ошибка, ColOffset = SelAreas(i).Column
-
но работать должен. не снимая фильтра. книгу, листа на и последнюю строки
МотяКопировать в вычисленные значения
-
-
ПримечаниеРедактирование форму указателя копирования Можно также нажать сочетание ли она вам, названия листов должны Exit Sub EndУдачи!
пример прилагается. — LeftCol SelAreas(i).CopyOption Explicit Sub при стандартном копировании лист на форуме в книге откуда: !. без переопределения существующего По умолчанию можно редактировать
-
нажмите кнопку, перетащите ячейку клавиш CTRL+C. с помощью кнопок совпадать
If ‘переносим данныеВесьма распространенная ситуация, вопросЗаранее спасибо. PasteRange.Offset(RowOffset, ColOffset) Next CopyMultipleSelection() Dim SelAreas() данные вставляются и
Копирование только видимых ячеек
полно. будем копировать (напримерПокажите в файле:Сочетание клавиш форматирования; и выделять данныеНайти и выделить или диапазон ячеекВыделите левую верхнюю ячейку
-
внизу страницы. Дляroka
из одного диапазона
-
про которую мнеnilem i End Sub As Range Dim в спрятанные строки.Главная задача определить указывая ячейки D10 что — «есть» Можно также нажать сочетание
-
вставить только формулы (но непосредственно внутри ячейки,и выберите команду в новое расположение. области вставки. удобства также приводим: Это понятно, спасибо.
-
в другой только задают почти на: Избавляйтесь от SelectionВсе_просто PasteRange As Range Специальные вставки не начальную и конечную
и K16 в и что «надо». клавиш CTRL+C.
-
не вычисленные значения). дважды щелкнув ее,
Выделить группу ячеекПримечание:Совет: ссылку на оригиналсудя по коду, в видимые ячейки каждом тренинге. Есть200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub Макрос1(): У Уокенбаха в Dim UpperLeft As
-
помогают. Нужно чтобы строку диапазона (столбцы книге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 но лень искать.
Предотвращение замещения данных скопированными пустыми ячейками
-
As Integer, i соответствующие строки.
а потом копируем
-
и копируем строки, это:Совет: форматами или формулами, и в строкаВыбор существующие данные в
другой лист или содержимое ячейки сGIG_ant
-
In pasterng IfДанные — Фильтр
-
Мур Нашел на англоязычном As Integer DimНапример, есть строки: эти блоки в но не полностьюgrablik Чтобы переместить или скопировать которые нужно скопировать. формул.
-
щелкните элемент области вставки. в другую книгу,
Перемещение и копирование только содержимого ячейки
-
помощью: Категорически с вами cell.EntireRow.Hidden = False
) отобраны несколько строк.: nilem, большое спасибо! сайте. TopRow As Long,№ янв’13 фев’13 другую книгу… а по определённому: нужно перенести значения выделенный фрагмент на
-
Выделение ячеек и диапазоновВ ячейке выделите символы,Только видимые ячейки
При копировании ячеек ссылки
щелкните ярлычок другого
Вырезать
согласен )
Then cell.Value = Задача — вставитьРаботает замечательно. ИМакс LeftCol As Integer
янв’14 фев’14
Определить начало и формату, который прописываем размеров из первого другой лист илиНа вкладке которые нужно скопировать
и нажмите кнопку
на ячейки изменяются листа или выберите,Казанский copyrng.Cells(i).Value i = какие-либо нужные нам главное просто.: Я так и
-
Dim RowOffset As1 1,596 2,450 конец диапазона можно в макросе (например столбца во второй в другую книгу,
-
Главная или переместить.ОК автоматически. Но при
другую книгу иКопировать: Во прикол!
-
i + 1 значения именно вА тут мудрю, сначала понял, сам там
Long, ColOffset As 0000 0000 через InputBox
-
-
копируем только столбцыСергей щелкните ярлычок другогов группеВыделение символов в ячейке. перемещении ячеек ссылки
-
выделите левую верхнююиЕсли скопировать таким End If Next видимые отфильтрованные строки,200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sheets(«Ëèñò1»).Visible = True смотрел, код не
Integer Dim NonEmptyCellCount2 0000 3,784примерно так
-
1-5, 8-15, 20)
: в столбец С листа или выберитеБуфер обменаЧтобы выделить содержимое ячейкиНа вкладке не изменяются, и ячейку области вставки.Вставить образом имя, которое cell End Sub пропуская при этомперед Selection вписываю, подходит. Нужно чтобы As Integer ‘ 0000 0000
Копирование значений ячеек, форматов ячеек и только формул
On Error ResumeВ итоге получаем =ЕСЛИ(ЕЧИСЛО(A2);A2;B2) протягиваете копируете
-
другую книгу инажмите кнопкуВыполните следующие действияГлавная вместо содержимого этих
-
На вкладке. Или скопируйте определенного ссылается на несуществующийКак легко сообразить, макрос
-
скрытые. Обычное копирование-вставка затем после выполнения
-
макрос сам определял Exit if a3 0000 1,009 Next
что в книге1
-
вставляете как значения выделите левую верхнююКопироватьВ ячейкев группе ячеек и всех Главная
содержимого или атрибутов лист, имя создается, запрашивает у пользователя
-
при этом не кода наооборот эту область для range is not 0000 0000Set rngStartRange =
-
заполнены строки 5grablik ячейку области вставки..Дважды щелкните ячейку, аБуфер обмена ячеек, которые на в группе ячеек. Например скопируйте
-
но его значение, по очереди два сработает, т.к. данные вставятся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 «Select5 1,321 0000 _Вот и всё. что нужно, потомув группе клавиш CTRL+C. содержимое ячейки, которое
-
. В этом случае
Вставить
-
скопировать только формулу.Теперь, если создать проверяет, чтобы их в скрытые ячейки.Мур Selection.CurrentRegion.Select Selection.Copy Range(Selection,
-
the range to 0000 0000Title:=»», Type:=8) Спасибо за помощь.
что нужно будетБуфер обменаВыделите левую верхнюю ячейку
-
требуется выделить.Сочетание клавиш потребуется изменить ссылки .
Ячейки в Excel перемещаются лист с соотв. размеры совпадали, т.к.
-
-
Давайте посмотрим, как: О как наредактировал!
Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlToRight)).Select be copied. AОтфильтровали, получилосьIf rngStartRange Is Готового решения в удалить эти значениянажмите стрелку под области вставки илиВ строке формул Можно также нажать сочетание
-
вручную.Сочетание клавиш и копируются вместе именем, то имя разница в размерностях можно обойти этуМур Range(Selection, Selection.End(xlToRight)).Select Range(Selection, multiple selection is№ янв’13 фев’13
support.office.com
Как скопировать только видимые ячейки в Excel
Nothing Then MsgBox Интернете не нашёл. из первого столбца, кнопкой ту ячейку, куда
Щелкните ячейку, а затем клавиш CTRL+C.
Если выделенная область копирования Можно также нажать сочетание с формулами, итоговыми заработает ТОЛЬКО в
вызовет впоследствии ошибку проблему.: А если так:
- Selection.End(xlToRight)).Select End Sub allowed.» Exit Sub янв’14 фев’14
- «Выберите ячейку, аРоман так что ониВставить нужно вставить значение, протащите указатель мыши,Выделите левую верхнюю ячейку содержит скрытые ячейки,
- клавиш CTRL+V. значениями, форматом и VBA: можно использовать при вставке. ЗатемЕсли вам нужно вставитьnilem, большое спасибо!
- но макрос выделяет End If ‘1 1,596 2,450 то ни чего
- : файлы прикрепляю потеряюца и вои выберите пункт формат ячейки или чтобы охватить содержимое
области вставки.
строки или столбцы,Примечания:
примечаниями.
диапазон range(«имя») или
макрос перебирает все
office-guru.ru
Копирование несвязанных диапазонов
одни и теРаботает замечательно. И только диапазон с Store the areas 0000 0000 делать не буду»,Роман втором. Тут нужноСохранить ширину столбцов оригинала формулу. ячейки, которое требуетсяСовет: приложение Excel копирует В Excel ячейки можно
names(«имя»).RefersTorange или [имя], ячейки в диапазоне же значения во
главное просто. А по J, as separate Range3 0000 1,009 vbInformation, «НУ?!»
: К сожалению все скопировать без свзяи.На вкладке
выделить в строке Чтобы переместить или скопировать
их. Может понадобитьсяВ Excel вырезанные или перемещать путем перетаскивания
но его нельзя вставки и переносит все отфильтрованные строки
А тут мудрю, оставшийся не захватывает, objects NumAreas = 0000 0000
If Not rngStartRange столбцы должны бытьЮрий МПо умолчанию Excel копирует
Главная формул. выделенный фрагмент на временно отобразить данные, скопированные ячейки выделяются или с помощью выделить: [имя].select дает туда данные из списка, то все сначала даже при наличии
Selection.Areas.Count ReDim SelAreas(14 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 0000iNachRow = 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 = 11 1,596 2,450
в массив загонять…Guest
помочь с настройкой ячейки, выполните несколько
чтобы вставить только форматы
в группенажмите кнопкувыполните одно из щелкнуть стрелку подКогда указатель примет вид — как добиться
ThisWorkbook.ActiveSheet.Names нужное значение в
Мур быть какой-то критерий. To NumAreas If
1,596 2,450
Роман: А если не сортировки данных в простых действий: ячеек, выберите вариантБуфер обменаВставить
указанных ниже действий. кнопкой указателя перемещения
состояния, показанного наwebley первую ячейку и: И окончательный вариант
Если это возможно SelAreas(i).Row < TopRow3 0000 1,009: Спасибо. Потихоньку что-то «заморачиваться» несвязанными диапазонами? ячейке? готов обсудитьВыделите диапазонФорматированиевыполните одно из.Чтобы переместить выделенный фрагмент,
Вставить, перетащите ячейку рисунке: :)) Прикрепленные
: я так посмотрел, протягиваем (копируем за ответа (простите меня попробуйте через цикл
Then TopRow = 0000 1,009 начинает получаться.Сколько их? Постоянные условия
A1:A4; указанных ниже действий.Сочетание клавиш
нажмите кнопку
и выбрать нужный или диапазон ячеек файлы post_241538.png (10.16
наверное все таки
правый нижний угол
воюю с редактором):
провести все операции SelAreas(i).Row If SelAreas(i).Column4 8,957 1,123Только вот не
planetaexcel.ru
Копирование форматированных данных в несвязные диапазоны (Формулы)
— нет? МестоМВТ
.чтобы вставить только формулы,Чтобы переместить выделенный фрагмент, Можно также нажать клавишиВырезать вариант, например в другое место. КБ) надо смотреть ThisWorkbook.Names ячейки) вниз:nilem, большое спасибо! без методов типа < LeftCol Then 8,957 1,123 понял про то куда: постоянное -: grablik, сортировка данныхНа вкладке выберите вариант нажмите кнопку CTRL+V.
.
Специальная вставкаПеремещение ячеек с помощью
rokanerv
Умный 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»).SelectPublic 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 theSkyPro в 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, число перебивать руками, может,
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] = 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 ссылки в исходныхВставить пустые ячейки.
листа или выберитеснимите флажок. другую формулы с
в которую копируем брать их из другогоSheets(«Лист1»).[B1:D3].CopySheets(«Лист2»).[H9]: Маугли, там справа NonEmptyCellCount = 0 таблице установлен фильтр.Работа с буфером: А если не
переменных, но какИсточник: http://www.excel-easy.com/examples/copy-visible-cells-only.html формулах на относительные.Выделение ячеек и диапазонов другую книгу иОтображать кнопку параметров вставки
Выделите ячейку или диапазон применением имен диапазонов должна быть открыта диапазона. Тогда придется использоватьEnd Sub от таблицы пара For i = Необходимо при помощи — это уже «заморачиваться» несвязанными диапазонами? это все теперьПеревел: Антон Андронов
Способ 2. Макрос вставки любых значений
или абсолютные, аСочетание клавишНа вкладке выделите левую верхнюю при вставке содержимого ячеек. работают корректно.roka несложный макрос. НажмитеKuklP заполненных ячеек. Автору 1 To NumAreas макроса выделить два отдельная процедура (код)Сколько их? Постоянные в цикл записатьАвтор: Антон Андронов затем снова скопировать
Можно также нажать сочетаниеГлавная ячейку области вставки..Нажмите кнопкуКазанский: по моему это сочетание клавиш: Ну вот, невнимателен. не нужно, чтоб RowOffset = SelAreas(i).Row несвязанных диапазона - в ВБА. — нет? Место не знаю Subgrablik ячейки. клавиш 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
скопировать в другой соответствии с параметрами активной ячейки клавиши Можно также нажать сочетание
При вставке целых строк ячеек, которые требуется
переместить или скопировать.rokawebley
и скопируйте туда не устраивает в взорвется с этим
— 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
Выделение ячеек и диапазонов
Блог активной пенсионерки.
суббота, 23 августа 2014 г.
Microsoft Excel. Выделение ячеек. Связные и несвязные диапазоны ячеек.
Каждая ячейка в таблице имеет свой адрес. Он обозначается номером столбца и номером строки.
Столбцы в таблице обозначаются буквой С и цифрами.
Ряды — обозначаются буквой R и цифрами.
Например ячейка , расположенная в 5-м ряду, во втором столбце имеет адрес: R5C2.
Этот адрес показан в поле имени.
Чтобы выделить ячейку, нужно поставить курсор в ячейку и щелкнуть левой кнопкой мыши.
Ячейка становится активной и туда можно помещать информацию.
Чтобы выделить ряд, нужно щелкнуть на значении ряда.
Чтобы выделить столбец, нужно щелкнуть на значении столбца.
Выделенная совокупность ячеек называется диапазоном.
Диапазоны бывают связные и несвязные.
Связные диапазоны имеют одну выделенную границу. В правом нижнем углу связной ячейки находится маркер.
Несвязные – выделенные не смежные ячейки.
Щелкните левой кнопкой мыши на требуемой ячейке и не отпуская кнопки, протяните вправо и вниз. Отпустите кнопку.
Вы получите связный диапазон ячеек.
В обозначении диапазона указывается левая верхняя и правая нижняя ячейка, которые разделяются двоеточием.
В поле имени указывается адрес только левой верхней ячейки диапазона.
Чтобы создать несвязный диапазон, выделите группу ячеек, нажмите клавишу Ctrl , выделите следующую группу, и так далее.
Вы можете выделить несколько групп ячеек в разных местах таблицы.
Отпустите клавишу Ctrl. Вы получили несвязный диапазон.
Можно создать связный диапазон с помощью клавиши Shift и клавиши стрелка.
Поместите курсор в ячейку, нажмите клавишу Shift и несколько раз щелкните клавишей стрелка вправо и потом кнопкой стрелка вниз или наоборот.
Автоматически изменяемые диапазоны ячеек в Excel
В процессе работы с данными в Excel иногда заранее не известно, сколько данных будет собрано в той или иной таблице. Поэтому мы не всегда можем заранее знать какой диапазон должно охватывать имя. Ведь количество данных может изменяться. Для решения данной задачи следует автоматически изменить именованный диапазон используемых ячеек, в зависимости от количества введенных данных.
Как в Excel сделать автоматическое изменение диапазона
Допустим, у нас есть объект инвестирования, по которому мы хотим знать суммарную прибыль за весь период его использования. Заранее мы не можем определить период использования инвестиционного объекта. Но нам нужно постоянно следить за общим доходом, который приносит нам данный объект инвестирования.
Сформируйте отчет по доходности нашего объекта инвестирования, так как показано на рисунке:
Данную задачу можно было-бы решить путем суммирования целого столбца B и после появления в нем записей общая сумма изменялась бы автоматически. Но это некорректный способ решения задач в Excel. Во-первых, нам нельзя будет использовать ячейки столбца B для ввода других данных. Во-вторых, так функция суммирования будет нерационально потреблять больше памяти. Это может привести к серьезным проблемам при работе с документом. Самым рациональным решением является использование динамических имен.
- Выберите инструмент «Формулы»-«Определенные имена»-«Присвоить имя».
- Заполните поля диалогового окна «Создание имени» как на рисунке. Обратите внимание на то, что в поле «Диапазон:» мы используем функцию =СМЕЩ, а в одном из ее параметров используем функцию =СЧЕТ. Пример: =СМЕЩ(Лист1!$B$2;0;0;СЧЁТ(Лист1!$B:$B);1)
- Переместите курсор в ячейку D2 и введите функцию =СУММ с именем «доход» в ее параметрах.
Теперь постепенно заполняя ячейки в столбце B, мы можем проследить, как изменяется охват ячеек именем «доход».
Функция СМЕЩ в Excel
Разберем более детально функции, которые мы вводили в поле диапазон при создании динамического имени.
Функция =СМЕЩ определяет наш диапазон в зависимости от количества заполненных ячеек в столбце B. 5 параметров функции =СМЕЩ(начальная ячейка; смещение размера диапазона по строкам; смещение по столбцам; размер диапазона в высоту; размер диапазона в ширину):
- «Начальная ячейка» – указывает верхнюю левую ячейку, от которой будет динамически расширяться диапазон как вниз, так и вправо (при необходимости).
- «Смещение по строкам» – параметр определяет, на какое количество нужно смещать диапазон по вертикали от начальной ячейки (первого параметра). Значения могут быть нулевыми и отрицательными.
- «Смещение по столбцам» – параметр определяет, на какое количество нужно смещать по горизонтали от начальной ячейки. Значения могут быть даже нулевыми и отрицательными.
- «Размер диапазона в высоту» – количество ячеек, на которое нужно увеличить диапазон в высоту. По сути, название говорит само за себя.
- «Размер диапазона в ширину» – количество ячеек, на которое нужно увеличить в ширину от начальной ячейки.
Последние 2 параметра функции являются необязательными. Если их не заполнять, то диапазон будет состоять из 1-ой ячейки. Например: =СМЕЩ(A1;0;0) – это просто ячейка A1, а параметр =СМЕЩ(A1;2;0) ссылается на A3.
Теперь разберем функцию: =СЧЕТ, которую мы указывали в 4-ом параметре функции: =СМЕЩ.
Что определяет функция СЧЕТ
Функция =СЧЕТ($B:$B) автоматически считает количество заполненных ячеек в столбце B.
Таким образом, мы с помощью функции =СЧЕТ() и =СМЕЩ() автоматизируем процесс формирования диапазона для имени «доход», что делает его динамическим. Теперь еще раз посмотрим на нашу формулу, которой мы присвоили имя «доход»: =СМЕЩ(Лист1!$B$2;0;0;СЧЁТ(Лист1!$B:$B);1)
Читать данную формулу следует так: первый параметры указывает на то, что наш автоматически изменяемый диапазон начинается в ячейке B2. Следующие два параметра имеют значения 0;0 – это значит, что динамический диапазон не смещается относительно начальной ячейки B2. А увеличивается только его размер по вертикали, о чем свидетельствует 4-тый параметр. В нем находится функция СЧЕТ и она возвращает число равно количеству заполненных ячеек в столбце B. Соответственно количество ячеек по вертикали в диапазоне будет равно числу, которое нам даст функция СЧЕТ. А за ширину диапазона у нас отвечает последний 5-тый параметр, где находиться число 1.
Благодаря функции СЧЕТ мы рационально загружаем в память только заполненные ячейки из столбца B, а не весь столбец целиком. Данный факт исключает возможные ошибки связанные с памятью при работе с данным документом.
Динамические диаграммы в Excel
У нас есть динамическое имя, теперь создадим динамическую диаграмму для данного типа отчета:
- Выделите диапазон B2:B6 и выберите инструмент: «Вставка»-«Диаграммы»-«Гистограмма»-«Гистограмма с группировкой».
- Щелкните левой кнопкой мышки по любому столбцу гистограммы и в строке формул отобразится функция диаграммы: =РЯД().
- В строке формул измените параметры функции: =РЯД(Лист1!$B$1;;Лист1!$B$2:$B$7;1) на =РЯД(Лист1!$B$1;;Лист1!доход;1).
- В отчет добавьте новую запись в ячейки A8 — «июль», B8 — «77000» соответственно. И убедитесь, что на диаграмме автоматически добавился новый столбец.
Используя наше динамическое имя «доход» нам удалось создать автоматически изменяемую динамическую диаграмму, которая сама добавляет и отображает новые данные в отчете.
Именованный диапазон в Excel
При создании формул в Эксель мы пользуемся стандартной адресацией ячеек , однако мы можем присвоить свое собственное название любой ячейке, диапазону ячеек или таблице. Это позволит значительно упростить создание формул, а также облегчит анализ сложных формул, состоящих из множества функций.
Имя ячейки
Начнем с простого — присвоим имя ячейке. Для этого просто выделяем ее (1) и в поле имени (2) вместо адреса ячейки указываем произвольное название, которое легко запомнить.
Длина имени ограничена 255 символами, что более чем достаточно. Также в имени не должно быть пробелов, поэтому если оно состоит из нескольких слов, то их можно разделять знаком подчеркивания.
Если теперь на других листах книги нам нужно будет вывести данное значение или использовать его в дальнейших расчетах, то не обязательно переключаться на первый лист и указывать ячейку вручную. Достаточно просто ввести имя ячейки и ее значение будет подставлено.
Именованный диапазон
Аналогичным образом можно задать имя и для диапазона ячеек, то есть выделим диапазон (1) и в поле имени укажем его название (2):
Далее это название можно использовать в формулах, например, при вычислении суммы:
Также создать именованный диапазон можно с помощью вкладки Формулы , выбрав инструмент Задать имя .
Появится диалоговое окно, в котором нужно указать имя диапазона, выбрать область, на которую имя будет распространяться (то есть на всю книгу целиком или на отдельные ее листы), при необходимости заполнить примечание, а далее выбрать соответствующий диапазон на листе.
Для работы с существующими диапазонами на вкладке Формулы есть Диспетчер имен .
С его помощью можно удалять, изменять или добавлять новые имена ячейкам или диапазонам.
При этом важно понимать, что если вы используете именованные диапазоны в формулах, то удаление имени такого диапазона приведет к ошибкам.
Именованный диапазон из таблицы
Если же диапазон значений имеет заголовки или речь идет о таблице, то стоит воспользоваться инструментом Создать из выделенного . Как понятно из его названия, предварительно необходимо выделить диапазон или таблицу (1). Затем указываем место, в котором находятся заголовки (3).
В результате Эксель автоматически создаст диапазоны по заголовкам.
При этом, если заголовки будут состоять из нескольких слов, то Эксель автоматически подставит знак подчеркивания между словами.
Использование именованных диапазонов
Обратите внимание на то, что название диапазона появится в поле имени только в том случае, если он будет полностью выделен.
Если выделить одну ячейку диапазона или другой диапазон, включающий его ячейки, то имя отображаться не будет.
Если в одном документе используется множество именованных диапазонов или ячеек, то запомнить все названия становится сложно. В этом случае при создании формул удобно пользоваться специальным инструментом со вкладки Формулы — Использовать в формуле .
Здесь будут перечислены все имеющиеся названия диапазонов. Если имен слишком много, то можно открыть диалоговое окно Вставить имена и выбрать необходимый диапазон из него.
При этом обратите внимание, что при наличии двух и более диапазонов в диалоговом окне появляется кнопка Все имена . С ее помощью можно вставить список всех именованных диапазонов, то есть появится два столбца с данными — имя диапазона и его местоположение.
Эта информация будет весьма полезной при работе с большим количеством именованных диапазонов, когда нужно быстро вспомнить, какие имена закреплены за какими диапазонами.
Ну и более наглядно и подробно об именованных диапазонах смотрите в видео:
Связанные (зависимые) выпадающие списки
Способ 1. Функция ДВССЫЛ (INDIRECT)
Этот фокус основан на применении функции ДВССЫЛ (INDIRECT), которая умеет делать одну простую вещь — преобразовывать содержимое любой указанной ячейки в адрес диапазона, который понимает Excel. То есть, если в ячейке лежит текст «А1», то функция выдаст в результате ссылку на ячейку А1. Если в ячейке лежит слово «Маша», то функция выдаст ссылку на именованный диапазон с именем Маша и т.д. Такой, своего рода, «перевод стрелок» 😉
Возьмем, например, вот такой список моделей автомобилей Toyota, Ford и Nissan:
Выделим весь список моделей Тойоты (с ячейки А2 и вниз до конца списка) и дадим этому диапазону имя Toyota. В Excel 2003 и старше — это можно сделать в меню Вставка — Имя — Присвоить (Insert — Name — Define). В Excel 2007 и новее — на вкладке Формулы (Formulas) с помощью Диспетчера имен (Name Manager). Затем повторим то же самое со списками Форд и Ниссан, задав соответственно имена диапазонам Ford и Nissan.
При задании имен помните о том, что имена диапазонов в Excel не должны содержать пробелов, знаков препинания и начинаться обязательно с буквы. Поэтому если бы в одной из марок автомобилей присутствовал бы пробел (например Ssang Yong), то его пришлось бы заменить в ячейке и в имени диапазона на нижнее подчеркивание (т.е. Ssang_Yong).
Теперь создадим первый выпадающий список для выбора марки автомобиля. Выделите пустую ячейку и откройте меню Данные — Проверка (Data — Validation) или нажмите кнопку Проверка данных (Data Validation) на вкладке Данные (Data) если у вас Excel 2007 или новее. Затем из выпадающего списка Тип данных (Allow) выберите вариант Список (List) и в поле Источник (Source) выделите ячейки с названиями марок (желтые ячейки в нашем примере). После нажатия на ОК первый выпадающий список готов:
Теперь создадим второй выпадающий список, в котором будут отображаться модели выбранной в первом списке марки. Также как в предыдущем случае, откройте окно Проверки данных, но в поле Источник нужно будет ввести вот такую формулу:
где F3 — адрес ячейки с первым выпадающим списком (замените на свой).
Все. После нажатия на ОК содержимое второго списка будет выбираться по имени диапазона, выбранного в первом списке.
Минусы такого способа:
- В качестве вторичных (зависимых) диапазонов не могут выступать динамические диапазоны задаваемые формулами типа СМЕЩ (OFFSET). Для первичного (независимого) списка их использовать можно, а вот вторичный список должен быть определен жестко, без формул. Однако, это ограничение можно обойти, создав отсортированный список соответствий марка-модель (см. Способ 2).
- Имена вторичных диапазонов должны совпадать с элементами первичного выпадающего списка. Т.е. если в нем есть текст с пробелами, то придется их заменять на подчеркивания с помощью функции ПОДСТАВИТЬ (SUBSTITUTE), т.е. формула будет выглядеть как =ДВССЫЛ(ПОДСТАВИТЬ(F3;» «;»_»))
- Надо руками создавать много именованных диапазонов (если у нас много марок автомобилей).
Способ 2. Список соответствий и функции СМЕЩ (OFFSET) и ПОИСКПОЗ (MATCH)
Этот способ требует наличия отсортированного списка соответствий марка-модель вот такого вида:
Для создания первичного выпадающего списка можно марок можно воспользоваться обычным способом, описанным выше, т.е.
- дать имя диапазону D1:D3 (например Марки) с помощью Диспетчера имен (Name Manager) с вкладки Формулы (Formulas) или в старых версиях Excel — через меню Вставка — Имя — Присвоить (Insert — Name — Define)
- выбрать на вкладке Данные (Data) команду Проверка данных (Data validation)
- выбрать из выпадающего списка вариант проверки Список (List) и указать в качестве Источника (Source)=Марки или просто выделить ячейки D1:D3 (если они на том же листе, где список).
А вот для зависимого списка моделей придется создать именованный диапазон с функцией СМЕЩ (OFFSET), который будет динамически ссылаться только на ячейки моделей определенной марки. Для этого:
- Нажмите Ctrl+F3 или воспользуйтесь кнопкой Диспетчер имен (Name manager) на вкладке Формулы (Formulas). В версиях до 2003 это была команда меню Вставка — Имя — Присвоить (Insert — Name — Define)
- Создайте новый именованный диапазон с любым именем (например Модели) и в поле Ссылка (Reference) в нижней части окна введите руками следующую формулу:
Ссылки должны быть абсолютными (со знаками $). После нажатия Enter к формуле будут автоматически добавлены имена листов — не пугайтесь 🙂
Функция СМЕЩ (OFFSET) умеет выдавать ссылку на диапазон нужного размера, сдвинутый относительно исходной ячейки на заданное количество строк и столбцов. В более понятном варианте синтаксис этой функции таков:
=СМЕЩ(начальная_ячейка; сдвиг_вниз; сдвиг_вправо; размер_диапазона_в_строках; размер_диапазона_в_столбцах)
- начальная ячейка — берем первую ячейку нашего списка, т.е. А1
- сдвиг_вниз — нам считает функция ПОИСКПОЗ (MATCH), которая, попросту говоря, выдает порядковый номер ячейки с выбранной маркой (G7) в заданном диапазоне (столбце А)
- сдвиг_вправо = 1, т.к. мы хотим сослаться на модели в соседнем столбце (В)
- размер_диапазона_в_строках — вычисляем с помощью функции СЧЕТЕСЛИ (COUNTIF), которая умеет подсчитать количество встретившихся в списке (столбце А) нужных нам значений — марок авто (G7)
- размер_диапазона_в_столбцах = 1, т.к. нам нужен один столбец с моделями
В итоге должно получиться что-то вроде этого:
Осталось добавить выпадающий список на основе созданной формулы к ячейке G8. Для этого:
- выделяем ячейку G8
- выбираем на вкладке Данные (Data) команду Проверка данных (Data validation) или в меню Данные — Проверка (Data — Validation)
- из выпадающего списка выбираем вариант проверки Список (List) и вводим в качестве Источника (Source) знак равно и имя нашего диапазона, т.е. =Модели
Microsoft Excel
трюки • приёмы • решения
Как распечатать несмежные диапазоны таблицы Excel на одной странице
Excel позволяет вам указывать область печати, которая состоит из несмежных диапазонов ячеек.
Нажмите Ctrl во время выбора диапазонов для печати, а затем выберите Разметка страницы ► Параметры страницы ► Область печати ► Задать. После того как вы определили область печати, вы можете использовать команду Разметка страницы ► Параметры страницы ► Область печати ► Добавить в область печати для указания дополнительных диапазонов для печати.
Если вы задали несмежные области печати, Excel всегда начинает печать каждого диапазона на отдельном листе бумаги. В этом приеме описывается метод, позволяющий печатать различные диапазоны на одной странице. Данный метод предполагает создание связанного рисунка каждого из диапазонов, которые нужно распечатать, а затем размещение этих рисунков на отдельных листах. Рассмотрим один из способов создания связанного рисунка.
- Выберите диапазон.
- Нажмите Ctrl+C.
- Активизируйте другую ячейку.
- Выполните команду Главная ► Буфер обмена ► Вставить ► Связанный рисунок.
К счастью, в Excel есть гораздо более эффективный инструмент для такой задачи: Камера (который по некоторым причинам Microsoft держит довольно скрытым).
Использование инструмента Камера
Чтобы добавить инструмент Камера на панель быстрого доступа, выполните следующие действия.
- Щелкните правой кнопкой мыши на панели быстрого доступа и выберите Настройка панели быстрого доступа для открытия раздела Панель быстрого доступа окна Параметры Excel .
- В раскрывающемся списке слева выберите Команды не на ленте.
- Выберите Камера в списке.
- Нажмите кнопку Добавить, чтобы добавить инструмент на панель быстрого доступа.
- Нажмите кнопку ОК для закрытия диалогового окна Параметры Excel.
Инструмент Камера создает связанный рисунок диапазона ячеек. Поэтому если данные в связанном диапазоне изменяются, рисунок обновляется автоматически. На рис. 185.1 показан лист, с которого нужно напечатать два диапазона (А3:С10 и E13:G20) на отдельной странице.
Рис. 185.1. Обычно нет возможности распечатать диапазоны А3:С10 и E13:G20 на одной странице
Съемка камерой
Далее я расскажу вам, как использовать инструмент Камера для печати нескольких диапазонов на одном листе бумаги.
- Убедитесь, что инструмент Камера доступен на панели быстрого доступа. Выполните шаги из предыдущего подраздела, если это не так.
- Вставьте новый лист (Лист2), который будет содержать связанные рисунки.
- Выберите диапазон А3:С10 и щелкните на инструменте Камера.
- Активизируйте лист Лист2 и нажмите кнопку для вставки связанного рисунка.
- Вернитесь к предыдущему листу, выберите E13:G20 и нажмите кнопку инструмента Камера.
- Активизируйте Лист2 и вставьте связанный рисунок.
- Используйте мышь, чтобы разместить связанные рисунки так, как вам нужно.
Вы можете отключить отображение сетки на листе, который содержит связанные рисунки (рис. 185.2). Если данные листа Лист1 изменятся, то связанные рисунки также обновятся. При печати листа Лист2 оба диапазона окажутся на одной странице.
Рис. 185.2. Использование связанных рисунков позволяет печатать два диапазона ячеек на одной странице
grablik Пользователь Сообщений: 10 |
Подскажите как можно скопировать несвязанные диапазоны. В одном столбце множество ячеек со значениями, их нужно скопировать в другой столбец. Если нужно использовать макросы, то буду очень признателен за разъяснение как их применить. К сожалению с макросами не знаю как обращаться. |
МВТ Пользователь Сообщений: 1198 |
А как Вы этот диапазон выделяете? |
justirus Пользователь Сообщений: 295 |
Зажимаете Ctrl и выделяете нужные ячейки, потом копируете и вставляете куда нужно. |
Мотя Пользователь Сообщений: 3218 |
grablik
! |
The_Prist Пользователь Сообщений: 14183 Профессиональная разработка приложений для MS Office |
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
grablik Пользователь Сообщений: 10 |
нужно перенести значения размеров из первого столбца во второй |
Сергей Пользователь Сообщений: 11251 |
#7 19.11.2015 14:49:19 в столбец С
протягиваете копируете вставляете как значения Лень двигатель прогресса, доказано!!! |
||
grablik Пользователь Сообщений: 10 |
Сергей, спасибо, но это не то что нужно, потому что нужно будет удалить эти значения из первого столбца, так что они потеряюца и во втором. Тут нужно скопировать без свзяи |
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
#9 19.11.2015 21:19:06
Но Вы же просили КОПИРОВАНИЕ, а получается, что Вам нужен перенос. Но у тут есть выход: выделяем скопированное, правый клик — Специальная вставка — значения. |
||
grablik Пользователь Сообщений: 10 |
может кто нибудь помочь с настройкой сортировки данных в ячейке? готов обсудить условия |
МВТ Пользователь Сообщений: 1198 |
grablik, сортировка данных в ячейке? Наверное, в столбце? |
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
grablik, а какое отношение сортировка имеет к заявленной теме? |
Revenant Пользователь Сообщений: 28 |
У меня похожий вопрос. Выделяю с Ctrl желтые ячейки и пытаюсь их скопировать в другой столбец, чтобы они не задели ячейки без заливки. Приходится перебивать руками, может, этот вопрос как то можно упростить? Пример прикрепил. Изменено: Revenant — 09.01.2017 15:20:55 |
Revenant Пользователь Сообщений: 28 |
|
_Igor_61 Пользователь Сообщений: 3007 |
#15 09.01.2017 22:18:06 Записал макрорекордером и сделал имена для переменных, но как это все теперь в цикл записать не знаю
Прикрепленные файлы
Изменено: _Igor_61 — 09.01.2017 23:07:31 |
||
A range is a group or block of cells in a worksheet that are selected or highlighted. Also, a range can be a group or block of cell references that are entered as an argument for a function, used to create a graph, or used to bookmark data.
The information in this article applies to Excel versions 2019, 2016, 2013, 2010, Excel Online, and Excel for Mac.
Contiguous and Non-Contiguous Ranges
A contiguous range of cells is a group of highlighted cells that are adjacent to each other, such as the range C1 to C5 shown in the image above.
A non-contiguous range consists of two or more separate blocks of cells. These blocks can be separated by rows or columns as shown by the ranges A1 to A5 and C1 to C5.
Both contiguous and non-contiguous ranges can include hundreds or even thousands of cells and span worksheets and workbooks.
Range Names
Ranges are so important in Excel and Google Spreadsheets that names can be given to specific ranges to make them easier to work with and reuse when referencing them in charts and formulas.
Select a Range in a Worksheet
When cells have been selected, they are surrounded by an outline or border. By default, this outline or border surrounds only one cell in a worksheet at a time, which is known as the active cell. Changes to a worksheet, such as data editing or formatting, affect the active cell.
When a range of more than one cell is selected, changes to the worksheet, with certain exceptions such as data entry and editing, affect all cells in the selected range.
There a number of ways to select a range in a worksheet. These include using the mouse, the keyboard, the name box, or a combination of the three.
To create a range consisting of adjacent cells, drag with the mouse or use a combination of the Shift and four arrow keys on the keyboard. To create ranges consisting of non-adjacent cells, use the mouse and keyboard or just the keyboard.
Select a Range for Use in a Formula or Chart
When entering a range of cell references as an argument for a function or when creating a chart, in addition to typing in the range manually, the range can also be selected using pointing.
Ranges are identified by the cell references or addresses of the cells in the upper left and lower right corners of the range. These two references are separated by a colon. The colon tells Excel to include all the cells between these start and endpoints.
Range vs. Array
At times the terms range and array seem to be used interchangeably for Excel and Google Sheets since both terms are related to the use of multiple cells in a workbook or file.
To be precise, the difference is because a range refers to the selection or identification of multiple cells (such as A1:A5) and an array refers to the values located in those cells (such as {1;2;5;4;3}).
Some functions, such as SUMPRODUCT and INDEX, take arrays as arguments. Other functions, such as SUMIF and COUNTIF, accept only ranges for arguments.
That’s not to say that a range of cell references cannot be entered as arguments for SUMPRODUCT and INDEX. These functions extract the values from the range and translate them into an array.
For example, the following formulas both return a result of 69 as shown in cells E1 and E2 in the image.
=SUMPRODUCT(A1:A5,C1:C5)
=SUMPRODUCT({1;2;5;4;3},{1;4;8;2;4})
On the other hand, SUMIF and COUNTIF do not accept arrays as arguments. So, while the formula below returns an answer of 3 (see cell E3 in the image), the same formula with an array would not be accepted.
COUNTIF(A1:A5,"<4")
As a result, the program displays a message box listing possible problems and corrections.
Thanks for letting us know!
Get the Latest Tech News Delivered Every Day
Subscribe
Финансы в Excel
Суммирование несвязанных диапазонов
- Подробности
- Создано 27 Март 2011
sum_areas.xls | [Суммирование несвязанных диапазонов] | 37 kB |
При обработке больших таблиц иногда возникает потребность получить итоговые значения на основе данных, расположенных в диапазонах ячеек, не позволяющих применить функции консолидации с прямой адресацией, либо требующих дополнительных вычислений. В статье описывается несколько вариантов построения моделей на примере экономической задачи расчета валовой выручки.
Для простоты понимания все примеры формул будем рассматривать на основе простейшей экономической задачи: вычисление итоговой выручки при известных значениях объема и цен продажи по нескольким покупателям.
В задаче подразумевается, что количество покупателей и периодов не постоянно. Требуется получить итоговые значения по объемам продаж и выручке. Очевидно, что применить простую функцию суммы (СУММ) не получится даже для получения итогов по объемам. Аналогично и для вычисления выручки не годится применение функции СУММПРОИЗВ «в лоб», так как диапазоны ячеек-множителей не связаны между собой.
На практике решение подобных задач зачастую сводится к написанию «некопируемых» формул, либо требует преобразование итоговых формул после добавления данных (см. лист Пример1, ячейки C10,C11). Этот метод допустим только на небольших объемах данных и нарушает основные принципы оптимизации работы в электронных таблицах.
Второй стандартный метод решения проблемы – это создание дополнительных таблиц с промежуточными вычислениями.
Такой способ позволяет применить одинаковые (копируемые) формулы в итоговых ячейках, а также не требует изменения итоговых формул при добавлении строк или столбцов с данными. Эти два условия обеспечивают максимальную достоверность вычислений при развитии и эксплуатации экономической модели.
Обратите внимание, задача корректности формул итогов при добавлении строк решена за счет добавления пустой служебной строки перед строкой итогов (лист Пример2, строки 6 и 22). Без пустой строки при добавлении нового покупателя вниз массива функция СУММ не подхватывает новые данные автоматически. Служебные строки – это стандартный «безопасный» прием при работе с переменным количеством строк с данными. При желании их можно скрыть стандартными методами интерфейса Excel.
К недостаткам способа решения задачи через добавление промежуточных вычислений следует отнести:
- Дополнительное преобразования исходных данных, что зачастую сложно выполнимо на практике (представьте, что в исходном файле покупателей не 3, а 3000).
- Сложность добавления информации – нового покупателя требуется добавлять не в одну, а в три таблицы.
Попробуем все-таки решить задачу без использования промежуточных таблиц, но сохранив копируемость и корректность итоговых формул при добавлении покупателей и периодов.
Как уже отмечалось выше, формулы в ячейках C10:C11 решают задачу верно, но усложняют работу с моделью. Хочется только обратить внимание на применение функции СУММ с дополнительными вычислениями в ячейке C11.
Остальные формулы в диапазоне D10:E11 также верны и при этом полностью соответствуют требованиям задачи. Рассмотрим их поподробнее.
Итого объем, кг: D10
=SUMIF($B3:$B9;$B$3;D3:D9)
Формула очень простая и очевидная для понимания. Суммирование происходит по условию, закрепленному в ячейке $B$3. Вместо $B$3 можно было написать «объем, кг» непосредственно в функции. Это с одной стороны делает формулу более читаемой, с другой стороны, менее безопасно, так как при замене значения в ячейках заголовков, например с «объем, кг» на «объем, л» функция будет работать неверно.
Также необходимо заметить, что возможность применения СУММЕСЛИ часто бывает ограничена из-за допустимости проверки только по одному условию (только в Excel 2007, появилась функция СУММЕСЛИМН). В сложных случаях без формул с обработкой массивов не обойтись.
Итого объем, кг: E10
{=SUM(IF(MOD(ROW(E3:E9)-ROW(E2);2)=1;E3:E9))}
Идея формулы – посчитать сумму только в нечетных строках данных. Формула работает с массивом ячеек E3:E9 (признак – фигурные скобки). Нечетные строки здесь определяются как остаток равный 1 при делении порядкового номера строки диапазона на 2. Дополнительно для поддержания целостности номера отсчитываются от заголовка таблицы СТРОКА(E2). Это позволяет переносить данную таблицу целиком на другое место на текущем или другом листе модели.
Формулы обработки массивов применяются через нажатие Ctrl+Shift+Enter
Итого выручка, руб: D11
=SUMPRODUCT((D3:D9)*(D4:D10)*($B3:$B9=$B$3))
Одно из нестандартных применений функции СУММПРОИЗВ. Идея – перемножить три массива чисел. Первый массив – объемы, второй – цены, а третий является триггером, умножающим ненужные данные на ноль.
Преобразуем формулу через выделение текста в скобках и нажатие F9, получим:
=SUMPRODUCT({400;0,06;500;0,15;600;0,14;0}*{0,06;500;0,15;600;0,14;0;1500}*{TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;FALSE})
Представим в более понятном виде:
400 | 0,06 | ИСТИНА | =24 |
0,06 | 500 | ЛОЖЬ | =0 |
500 | 0,15 | ИСТИНА | 75 |
0,15 | 600 | ЛОЖЬ | =0 |
600 | 0,14 | ИСТИНА | 84 |
0,14 | 0 | ЛОЖЬ | =0 |
0 | 1500 | ЛОЖЬ | =0 |
При умножении массивов логическое значение ЛОЖЬ преобразуется в 0, а ИСТИНА в 1.
Итого выручка, руб: E11
{=SUM(IF(MOD(ROW(E3:E9)-ROW(E2);2)=1;(E3:E9)*(E4:E10)))}
Формула очень похожа на формулу вычисления итоговых объемов, находящуюся в ячейке E10 (см.выше), только происходит дополнительное умножение на диапазон со сдвигом вниз (E4:E10) – назовем его условно «диапазон цен», хотя это и не совсем верно по смыслу. При обработке массива, в тот момент когда условная функция определяет что строка содержит объемы, происходит дополнительное умножение на ячейку с тем же порядковым номером в своем массиве, но из диапазона цен. Следует заметить, что при применении в формуле нескольких массивов, они должны быть одинаковой размерности. Из-за этого диапазоны обработки в формулах «заезжают» на строку 10, что вообще-то не очень корректно. В нашем примере это не приводит к ошибкам, но в практической работе рекомендуется избегать таких ситуаций. Простейшим решением здесь может быть добавление еще одной пустой строки перед итогами.
Приведенные примеры формул показывают многовариантность решения одной и той же задачи. Наверняка найдется еще несколько способов, не менее эффективных, и возможно даже более простых. Универсальной рекомендации на все случаи жизни, какой способ выбрать при решении подобных задач, дать, пожалуй, не получится. Главное, стремиться не только изучать новые возможности, но и применять их на практике, следуя основным принципам оптимизации работы в электронных таблицах.
Смотри также
» Работа с ненормализированными данными
В приложении к статье файл с простой задачей суммирования диапазона по различным условиям. Как ни странно, подобные задачи…
» Простые формулы
В приложенном файле несколько примеров использования простых функций Excel нестандартным способом.
» Обработка больших объемов данных. Часть 1. Формулы
Одним из самых популярных методов использования электронных таблиц является обработка данных, полученных из учетных систем….
» Расчет расхода по спецификациям
Материальная составляющая производственного процесса в большинстве случаев описывается через вхождение компонентов в готовые…
» Универсальный период
Пример содержит формулы для формирования строк или столбцов загловков периодов различной длительности: год, квартал, месяц, неделя….
Excel предоставляет способ создания диапазонов имен для выбранных ячеек. Но иногда возникает острая необходимость в выборе несмежных ячеек данных, а не в выборе ячеек, которые находятся рядом друг с другом. Excel также позволяет вам выбирать ячейки, не являющиеся смежными (состоящие из двух или более диапазонов), чтобы дать им единый диапазон имен. Это явление также называют диапазоном имен для множественного выбора. Поэтому, если вы пытаетесь применить одно и то же форматирование к ячейкам, находящимся в разных местах, или применить формулу, используя другое расположение, то несмежный выбор может вам помочь. В этом посте мы попробуем выбрать несколько ячеек, чтобы дать им диапазон имен, и попытаемся показать, как это может быть продуктивно для вашей таблицы с простой иллюстрацией.
Запустите Excel 2010 и откройте таблицу, в которой вы хотите выбрать несмежные диапазоны. Например, мы включили таблицу, в которой хотим выбрать диапазоны (не содержащиеся в соседних ячейках).
Для начала нам нужно выбрать каждый курс из Курс поле. Мы хотим знать, сколько студентов изучали один и тот же курс, и сколько баллов получили студенты за один и тот же курс.
Как вы могли заметить, названия курсов разбросаны по Курс поля, они не соседствуют друг с другом. Поэтому нам нужно выбрать вхождение каждого названия курса в таблице и сделать его категорией, присвоив ему подходящий диапазон имен.
Начнем с темы Программная инженерия в Курс поле. Для множественного выбора нажмите клавишу Ctrl на клавиатуре и начните выбирать ячейки. Теперь дайте этому выделению имя, называемое диапазоном имен, введя имя в верхнем левом углу листа Excel, как показано на снимке экрана ниже. Мы указали диапазон имен программное обеспечение для выбора.
Теперь выполните ту же процедуру для остальных предметов, выберите их из нескольких строк и дайте им подходящее имя.
Для проверки диапазонов имен на Дом вкладку, щелкните Перейти к.
Это вызовет Перейти к В диалоговом окне мы создали диапазоны имен для субъектов и их соответствующие отметки. Мы проверим диапазон имен СУБД для Реляционная СУБД предмет в поле курса. Нажмите Ok продолжить.
При нажатии будут выбраны экземпляры реляционной СУБД вместе с отметками.
Теперь мы хотим использовать несмежное выделение гораздо более продуктивно. Создайте новую таблицу на том же листе, как показано на скриншоте ниже.
Мы будем извлекать данные из ячеек, используя диапазоны имен. В первом ряду Изучено поле, мы будем считать, сколько студентов прошли этот курс. Для этого нам нужно использовать функцию COUNT.
Как вы можете видеть на скриншоте ниже, мы добавляем формулу в первую строку столбца «Изучено», C2: C26 — это диапазон поля курса. Считаем элементы, которые программное обеспечение диапазон имен инкапсулирует.
Он позволит оценить, сколько студентов прошли этот курс.
Теперь примените его к полю, но измените диапазон имен, выбранный для каждого курса. Он покажет, сколько студентов изучали курсы.
Теперь мы будем оценивать сумму оценок, полученных студентами по заданному предмету. Для этого мы напишем простую формулу SUM с диапазоном имен в качестве параметра.
Примените его к полю, указав соответствующий диапазон имен предмета. Теперь посчитаем итоговые оценки. Для этого мы умножим значение ячейки в местоположении I2 (содержать Количество раз, когда он изучался студентами) с 100, так как каждый курс оценивается по 100 баллов.
Теперь нанесите его на Всего оценок в поле, перетащив знак плюса в конце ячейки в нижнюю часть поля, как показано на снимке экрана ниже.
Вы также можете ознакомиться с ранее рассмотренными руководствами по функции ГПР в Excel 2010 и функции СЧЁТЕСЛИ в Excel.
Несвязные диапазоны |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |