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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » как изменить макрос для переноса значения а не формулы (Макросы/Sub)
как изменить макрос для переноса значения а не формулы
Zoor Дата: Понедельник, 21.11.2016, 20:34 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация: 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
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация: 0 ±
Замечаний: 0% ±

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

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

2019
Попробуйте добавить вместо строки:
[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
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация: 0 ±
Замечаний: 0% ±

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


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

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

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

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

Excel 2007,2010,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]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
данные почему-то копируются со 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
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация: 0 ±
Замечаний: 0% ±

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

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

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