Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/как изменить макрос для переноса значения а не формулы - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » как изменить макрос для переноса значения а не формулы (Макросы/Sub)
как изменить макрос для переноса значения а не формулы
Zoor Дата: Понедельник, 21.11.2016, 20:34 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Здравствуйте.
Имеется макрос который должен копировать и переносить данные в отдельный файлик, только копирует и формулу.
пробовал добавить value, но моя не писатель поэтому прошу совета здесь
и еще как бы добавить условие чтоб удалялись строки с отрицательным значением

[vba]
Код
Sub Copy2File() ' срабатывает при нажатии одной из кнопок в подменю
On Error Resume Next
ПутьКФайлу = Application.CommandBars.ActionControl.Tag
'MsgBox "Параметр макроса = """ & ПутьКФайлу & """", vbInformation, "Запущен макрос из подменю"
Application.ScreenUpdating = False
Dim ro As Range: Set ro = Intersect(Selection.EntireColumn, Selection.EntireColumn, ActiveSheet.UsedRange)
Dim pi As New ProgressIndicator
pi.Show "Перенос выделенных строк в файл"
pi.StartNewAction , 30, "Открытие файла ...", "Файл: " & ПутьКФайлу
Dim wb As Workbook: Set wb = GetObject(ПутьКФайлу)
pi.StartNewAction 30, 50, "Запись данных ...", " "
Dim cell As Range: Set cell = wb.Worksheets(1).Range("a" & wb.Worksheets(1).Rows.Count).End(xlUp).Offset(1)
ro.Copy cell
wb.Windows(1).Visible = True
pi.StartNewAction 50, 100, "Сохранение файла ...", "Файл: " & ПутьКФайлу
wb.Close True
pi.Hide
End Sub
[/vba]


Сообщение отредактировал Zoor - Вторник, 22.11.2016, 17:36
 
Ответить
СообщениеЗдравствуйте.
Имеется макрос который должен копировать и переносить данные в отдельный файлик, только копирует и формулу.
пробовал добавить value, но моя не писатель поэтому прошу совета здесь
и еще как бы добавить условие чтоб удалялись строки с отрицательным значением

[vba]
Код
Sub Copy2File() ' срабатывает при нажатии одной из кнопок в подменю
On Error Resume Next
ПутьКФайлу = Application.CommandBars.ActionControl.Tag
'MsgBox "Параметр макроса = """ & ПутьКФайлу & """", vbInformation, "Запущен макрос из подменю"
Application.ScreenUpdating = False
Dim ro As Range: Set ro = Intersect(Selection.EntireColumn, Selection.EntireColumn, ActiveSheet.UsedRange)
Dim pi As New ProgressIndicator
pi.Show "Перенос выделенных строк в файл"
pi.StartNewAction , 30, "Открытие файла ...", "Файл: " & ПутьКФайлу
Dim wb As Workbook: Set wb = GetObject(ПутьКФайлу)
pi.StartNewAction 30, 50, "Запись данных ...", " "
Dim cell As Range: Set cell = wb.Worksheets(1).Range("a" & wb.Worksheets(1).Rows.Count).End(xlUp).Offset(1)
ro.Copy cell
wb.Windows(1).Visible = True
pi.StartNewAction 50, 100, "Сохранение файла ...", "Файл: " & ПутьКФайлу
wb.Close True
pi.Hide
End Sub
[/vba]

Автор - Zoor
Дата добавления - 21.11.2016 в 20:34
Zoor Дата: Вторник, 22.11.2016, 17:39 | Сообщение № 2
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
надеюсь этот тег ооочень поможет подсказать куда тут вставлять value или еще что.
 
Ответить
Сообщениенадеюсь этот тег ооочень поможет подсказать куда тут вставлять value или еще что.

Автор - Zoor
Дата добавления - 22.11.2016 в 17:39
SLAVICK Дата: Вторник, 22.11.2016, 17:41 | Сообщение № 3
Группа: Модераторы
Ранг: Старожил
Сообщений: 1834
Репутация: 613 ±
Замечаний: 0% ±

2007,2010,2013,2016
Попробуйте добавить вместо строки:
[vba]
Код
ro.Copy cell
[/vba]
написать:
[vba]
Код
ro.Copy
cell.PasteSpecial xlPasteValues: cell.PasteSpecial xlPasteFormats
[/vba]..
[offtop]
Я поправил Вам тег.
Нужно было просто выделить код и нажать кнопку #[/offtop]


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеПопробуйте добавить вместо строки:
[vba]
Код
ro.Copy cell
[/vba]
написать:
[vba]
Код
ro.Copy
cell.PasteSpecial xlPasteValues: cell.PasteSpecial xlPasteFormats
[/vba]..
[offtop]
Я поправил Вам тег.
Нужно было просто выделить код и нажать кнопку #[/offtop]

Автор - SLAVICK
Дата добавления - 22.11.2016 в 17:41
Zoor Дата: Вторник, 22.11.2016, 17:46 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
пробовал. данные просто не переносятся в нужный файл
пс. нашел свою ошибку. работает.
огромное спасибо


Сообщение отредактировал Zoor - Вторник, 22.11.2016, 17:52
 
Ответить
Сообщениепробовал. данные просто не переносятся в нужный файл
пс. нашел свою ошибку. работает.
огромное спасибо

Автор - Zoor
Дата добавления - 22.11.2016 в 17:46
Zoor Дата: Вторник, 22.11.2016, 20:23 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
и еще такой вопросик. данные почему-то копируются со 2й строки. как бы это исправить?
 
Ответить
Сообщениеи еще такой вопросик. данные почему-то копируются со 2й строки. как бы это исправить?

Автор - Zoor
Дата добавления - 22.11.2016 в 20:23
krosav4ig Дата: Среда, 23.11.2016, 00:32 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1338
Репутация: 533 ±
Замечаний: 0% ±

Excel 2007, 2013
данные почему-то копируются со 2й строки
наверно, потому, чтопробуйте так[vba]
Код
With wb.Worksheets(1)
        With .Range("a" & .Rows.Count).End(xlUp)
            Set cell = IIf(IsEmpty(.Value), .Cells, .Offset(1))
        End With
    End With
[/vba]


(_)Õvõ(_)
 
Ответить
Сообщение
данные почему-то копируются со 2й строки
наверно, потому, чтопробуйте так[vba]
Код
With wb.Worksheets(1)
        With .Range("a" & .Rows.Count).End(xlUp)
            Set cell = IIf(IsEmpty(.Value), .Cells, .Offset(1))
        End With
    End With
[/vba]

Автор - krosav4ig
Дата добавления - 23.11.2016 в 00:32
Zoor Дата: Четверг, 24.11.2016, 20:01 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
спасибо за за поправку. все работает.
 
Ответить
Сообщениеспасибо за за поправку. все работает.

Автор - Zoor
Дата добавления - 24.11.2016 в 20:01
Мир MS Excel » Вопросы и решения » Вопросы по VBA » как изменить макрос для переноса значения а не формулы (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!