0 / 0 / 0
Регистрация: 07.10.2013
Сообщений: 11
1

Копирование только формул

11.02.2015, 12:51. Показов 3442. Ответов 6
Метки нет (Все метки)

Добрый день!
Помогите, пожалуйста!
Часто приходится сталкиваться со след.проблемой:
1. Необходимо скопировать ТОЛЬКО(!) формулы из столбца D в столбец E, пропуская значения.
В столбце D на самом деле очень много формул.
2. Вторая задача обратная:
Необходимо вставить значения из столбца J в столбец D, не портя формул в столбце D, т.е. вставить значения, пропуская ячейки с формулами.
Вложения
Тип файла: xlsx Пример1.xlsx (9.7 Кб, 13 просмотров)
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.02.2015, 12:51
Ответы с готовыми решениями:

Копирование формул из Книги в Книгу
Имеется условный файл Книга1.xls и Лист1 в нём. 1 3 2 4 3 5 =СУММ(A1:A3) =СУММ(B1:B3) ...

Копирование формул из ячеек по правилу
Можно ли копировать формулы из ячеек по правилам? Пример такой-файл во вложении: Есть таблица...

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

Автоматическое копирование формул при добавлении строки
В таблицу часто вносятся данные путём добавления строк (зачастую в хаотичном порядке то в середину...

6
5747 / 3014 / 640
Регистрация: 23.11.2010
Сообщений: 10,046
11.02.2015, 13:26 2
AlbinaIs, возможно не по теме, но судя по файлу, может не стоит так заморачиваться с формулами, а использовать промежуточные итоги
0
0 / 0 / 0
Регистрация: 07.10.2013
Сообщений: 11
11.02.2015, 13:52  [ТС] 3
Fairuza, Промежуточные итоги не подойдут, в столбце формул очень много.
Задача в том, чтобы оставить те формулы, которые уже есть, т.е. ячейки с формулами менять нельзя.
0
2 / 2 / 1
Регистрация: 09.02.2015
Сообщений: 9
11.02.2015, 15:00 4
файл прикреплен
а вот текст макроса:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Sub zzz()
    
i = 2
j = 0
 
Do While (Cells(i + j, 4)) <> ""
    
If Cells(i + j, 4).HasFormula = True Then
    Cells(i + j, 4).Select
    Selection.Copy
    Cells(i + j, 5).Select
    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
End If
    
If Cells(i + j, 10) <> "" Then
    Cells(i + j, 10).Select
    Selection.Copy
    Cells(i + j, 5).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
End If
    
 
Application.CutCopyMode = False
    
j = j + 1
 
Loop
 
End Sub
0
2 / 2 / 1
Регистрация: 09.02.2015
Сообщений: 9
11.02.2015, 15:46 5
вот он файл
Вложения
Тип файла: zip Пример1_.zip (14.3 Кб, 7 просмотров)
0
0 / 0 / 0
Регистрация: 07.10.2013
Сообщений: 11
17.02.2015, 14:20  [ТС] 6
Спасибо за ответы!BigDaddy5514, Fairuza,
С макросами, к сожалению, не работала(
самостоятельно, я думаю, не разберусь.
0
15038 / 6362 / 1726
Регистрация: 24.09.2011
Сообщений: 9,971
17.02.2015, 14:44 7
Да чего тут сложного Макрос по 1 задаче на самом деле в одну строку:
Visual Basic
1
for each a in selection.specialcells(xlcelltypeformulas).areas:a.copy a.offset(,1):next
Скопируйте ее, потом выделите столбец, из которого копируются формулы, Alt+F11, Ctrl+G, Ctrl+V, Enter.
Формулы скопированы в соседний столбец.

2. Без макроса!
Выделить столбец (в примере J), копировать.
Выделить 1-ю ячейку столбца, куда вставлять (D1), правый клик - специальная вставка, вставить: значения, галка "пропускать пустые ячейки" - ОК.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.02.2015, 14:44

Копирование листов со ссылками формул на предыдущую страницу
Всем доброго времени суток. Время 6 утра, а я так и не могу решить проблему. Есть отчет, в котором...

Копирование Range методами Copy Paste без формул
Копирую ячейку из одной книги в другую обычными метода Copy Paste, текст которой имеет...

Копирование отфильтрованного диапазона с защищенного листа книги, с удалением формул и защиты на копии
Добрый день! Подскажите, пожалуйста. Есть данный макрос: Sub CopyFilter() Dim sh As Worksheet ...

Пересчет формул только для 1 листа
Подскажите, пож. Ситуация: программный пересчет объемных данных на листе 1; генерируются...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.