Лина Пользователь Сообщений: 223 |
Доброго времени суток уважаемые! Возникла потребность копирования значений макросом без формул. Прошу помощи в решении вопроса. Прикрепленные файлы
Изменено: Лина — 31.03.2017 20:24:10 |
kuklp Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
Приведите код в порядок, невозможно же читать. И пример не помешает. Хотя.. на форуме миллион примеров копирования значений. Поиском не пробовали? Я сам — дурнее всякого примера! … |
Лина Пользователь Сообщений: 223 |
Есть похожие вопросы но у меня макрос отличается от тех что я нашла в сети. |
Sanja Пользователь Сообщений: 14838 |
#4 31.03.2017 20:30:59
Было бы удивительно если бы в сети Вы нашли именно свой макрос. Допилите под себя найденое Согласие есть продукт при полном непротивлении сторон. |
||
kuklp Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
#5 31.03.2017 20:31:10 Так код лучше смотрится? Пробуйте:
Изменено: kuklp — 31.03.2017 20:42:30 Я сам — дурнее всякого примера! … |
||
Лина Пользователь Сообщений: 223 |
|
kuklp Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
Запись адреса диапазона-источника тоже можно упростить, исправил, см. выше. Я сам — дурнее всякого примера! … |
Михаил С. Пользователь Сообщений: 10514 |
#8 01.04.2017 10:23:28 А если так попробовать?
|
||
Writing macro for the first time, I have to copy only cell values to another and which I got it working, however, I am not sure, how to copy entire column without specifying range since range may be different every time. Here, I am trying with a range which is working, but I want it to check values of cell for that column and until it finds a value copy/paste to the another column.
Here is the code I have so far:
Sub CopyingCellValues()
Range("E2:E7").Copy
Range("C2:C7").PasteSpecial xlPasteValues
End Sub
Thanks.
asked Jan 10, 2016 at 5:52
Simple Columns copy will be…
Sheets("Sheet Name").Columns(1).Copy Destination:=Sheets("Sheet Name").Columns(2)
Helpful info at MSDN on Getting Started with VBA in Excel 2010
Edit:
With out the formula, Try
Sub CopyingCellValues()
Range("E:E").Value = _
Range("C:C").Value
End Sub
Sub ValueToValue()
[E:E].Value = [C:C].Value
End Sub
answered Jan 10, 2016 at 6:01
0m3r0m3r
12.2k15 gold badges33 silver badges70 bronze badges
2
0 / 0 / 0 Регистрация: 01.09.2012 Сообщений: 10 |
|
1 |
|
Копирование значения ячейки, а не формулы07.09.2012, 10:53. Показов 18368. Ответов 12
Проблема в следующем, что надо сделать с ячейкой excel чтоб при копировании копировалось значение а не формула и наоборот. Специальная вставка не поможет!! Копирование происходит по нажатию кнопки из одного документа в другой, в ячейке прописано «=сегодня()» при копировании мне нужно только чистую дату но не формулу. А так как этот вопрос я видел уже много раз то хотелось бы узнать как сделать и наоборот.
0 |
Казанский 15136 / 6410 / 1730 Регистрация: 24.09.2011 Сообщений: 9,999 |
||||
07.09.2012, 11:41 |
2 |
|||
Специальная вставка не поможет!! Поможет. Но проще присвоить значение:
1 |
dapengt6000 0 / 0 / 0 Регистрация: 01.09.2012 Сообщений: 10 |
||||
07.09.2012, 15:10 [ТС] |
3 |
|||
это мой код копирования в другой документ, куда вписать то что мне порекомендовали я не понимаю.
0 |
Busine2012 1300 / 402 / 22 Регистрация: 21.10.2011 Сообщений: 1,285 |
||||
07.09.2012, 16:18 |
4 |
|||
0 |
Казанский 15136 / 6410 / 1730 Регистрация: 24.09.2011 Сообщений: 9,999 |
||||
07.09.2012, 17:00 |
5 |
|||
Попробуйте
1 |
0 / 0 / 0 Регистрация: 01.09.2012 Сообщений: 10 |
|
07.09.2012, 18:03 [ТС] |
6 |
этот код работает нормально, но при копировании даты она получается формата 39697, а не 07,09,12 и когда я меняю ячейку на дата то получается 06.09.2008 как теперь с этим бороться?
0 |
Catstail Модератор 34708 / 19229 / 4040 Регистрация: 12.02.2012 Сообщений: 32,197 Записей в блоге: 13 |
||||
07.09.2012, 18:27 |
7 |
|||
Чтобы Excel не преобразовывал дату неподобающим образом, пиши:
1 |
Казанский 15136 / 6410 / 1730 Регистрация: 24.09.2011 Сообщений: 9,999 |
||||
07.09.2012, 18:46 |
8 |
|||
этот код работает нормально, но при копировании даты она получается формата 39697, а не 07,09,12 и когда я меняю ячейку на дата то получается 06.09.2008 как теперь с этим бороться?
2 |
693 / 99 / 10 Регистрация: 25.06.2011 Сообщений: 718 |
|
08.09.2012, 00:52 |
9 |
‘ приклей в начало апостроф (он не войдет в значение) а что именно апостроф даст?
0 |
Модератор 34708 / 19229 / 4040 Регистрация: 12.02.2012 Сообщений: 32,197 Записей в блоге: 13 |
|
08.09.2012, 01:04 |
10 |
Отменяет автоформатирование. Попробуй ввести в ячейку «01.01» — получишь 01 янв. А если вводить «‘01.01» — то замены не будет.
1 |
0 / 0 / 0 Регистрация: 01.09.2012 Сообщений: 10 |
|
08.09.2012, 15:33 [ТС] |
11 |
если я ставлю апостроф то формула не работает Добавлено через 13 минут
0 |
Казанский |
08.09.2012, 19:19
|
Не по теме: dapengt6000, сообщение #8 видели?
1 |
0 / 0 / 0 Регистрация: 01.09.2012 Сообщений: 10 |
|
10.09.2012, 09:41 [ТС] |
13 |
решил проблему изменив формулу даты =СЕГОДНЯ()+1462 при копировании по коду КАЗАНСКОГО получается сегодняшний день. большое всем спасибо!
0 |
Копирование только значений, без формул |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Копировать и вставить значения, а не формулы
Вопрос:
Написание макроса в первый раз, мне нужно скопировать только значения ячеек в другой, и я получил его работу, однако я не уверен, как скопировать весь столбец без указания диапазона, поскольку диапазон может быть различным каждый раз. Здесь я пытаюсь работать с диапазоном, но я хочу, чтобы он проверял значения ячейки для этого столбца и пока не нашел значение copy/paste в другой столбец.
Вот код, который у меня есть до сих пор:
Sub CopyingCellValues()
Range("E2:E7").Copy
Range("C2:C7").PasteSpecial xlPasteValues
End Sub
Спасибо.
Лучший ответ:
Простая копия столбцов будет…
Sheets("Sheet Name").Columns(1).Copy Destination:=Sheets("Sheet Name").Columns(2)
Полезная информация в MSDN по Начало работы с VBA в Excel 2010
Edit:
Из формулы, Try
Sub CopyingCellValues()
Range("E:E").Value = _
Range("C:C").Value
End Sub
Sub ValueToValue()
[E:E].Value = [C:C].Value
End Sub
Формулировка задачи:
Проблема в следующем, что надо сделать с ячейкой excel чтоб при копировании копировалось значение а не формула и наоборот. Специальная вставка не поможет!! Копирование происходит по нажатию кнопки из одного документа в другой, в ячейке прописано «=сегодня()» при копировании мне нужно только чистую дату но не формулу. А так как этот вопрос я видел уже много раз то хотелось бы узнать как сделать и наоборот.
Код к задаче: «Копирование значения ячейки, а не формулы»
textual
.pastespecial xlPasteValuesAndNumberFormats
Полезно ли:
9 голосов , оценка 4.333 из 5