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

Вход

Регистрация

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

 

= Мир MS Excel/Защитить столбец от записи макросом - Мир MS Excel

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

Добрый вечер.
В приложении файл с макросом, возвращающим строки из файла-базы данных.
Как сделать, чтобы при этом процессе столбец с количеством не изменялся в исходном файле с макросом?
Спасибо.
К сообщению приложен файл: 0458585.xls(38Kb)
 
Ответить
СообщениеДобрый вечер.
В приложении файл с макросом, возвращающим строки из файла-базы данных.
Как сделать, чтобы при этом процессе столбец с количеством не изменялся в исходном файле с макросом?
Спасибо.

Автор - Voh
Дата добавления - 19.01.2016 в 17:46
Serge_007 Дата: Вторник, 19.01.2016, 19:59 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 13150
Репутация: ±
Замечаний: ±

Excel 2010
Voh, здравствуйте

В приложенном файле нет макросов...


Яндекс-деньги:41001419691823 | WMR:126292472390
 
Ответить
СообщениеVoh, здравствуйте

В приложенном файле нет макросов...

Автор - Serge_007
Дата добавления - 19.01.2016 в 19:59
Voh Дата: Среда, 20.01.2016, 12:13 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 20% ±

Прикрепил файл с макросом и базу.
К сообщению приложен файл: 123.xls(56Kb) · 1017064.xls(38Kb)
 
Ответить
СообщениеПрикрепил файл с макросом и базу.

Автор - Voh
Дата добавления - 20.01.2016 в 12:13
Wasilich Дата: Среда, 20.01.2016, 14:16 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1195
Репутация: 316 ±
Замечаний: 0% ±

2003
Да, копируются строки из другого файла, а там столбец "Количество" пустой. Вот и заменяет на пустое. А вот, чтобы оставить этот столбец, копирование строки надо сделать частями. Только зачем тогда эта процедура копирования?
К сообщению приложен файл: _123.xls(60Kb)
 
Ответить
СообщениеДа, копируются строки из другого файла, а там столбец "Количество" пустой. Вот и заменяет на пустое. А вот, чтобы оставить этот столбец, копирование строки надо сделать частями. Только зачем тогда эта процедура копирования?

Автор - Wasilich
Дата добавления - 20.01.2016 в 14:16
Voh Дата: Среда, 20.01.2016, 15:10 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 20% ±

Wasilic, это нужно для автоматизации создания сметы из выгруженной из автокада спецификации, в которой есть количество, но нет цен, формул и т.п...
 
Ответить
СообщениеWasilic, это нужно для автоматизации создания сметы из выгруженной из автокада спецификации, в которой есть количество, но нет цен, формул и т.п...

Автор - Voh
Дата добавления - 20.01.2016 в 15:10
Voh Дата: Среда, 20.01.2016, 15:11 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 20% ±

Ваш прикрепленный файл _123.xls не загружает файл "база.xls":(
 
Ответить
СообщениеВаш прикрепленный файл _123.xls не загружает файл "база.xls":(

Автор - Voh
Дата добавления - 20.01.2016 в 15:11
Wasilich Дата: Среда, 20.01.2016, 15:39 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1195
Репутация: 316 ±
Замечаний: 0% ±

2003
Ваш прикрепленный файл _123.xls не загружает файл "база.xls"
:) Это не мой файл. Это Ваш. И все что я сделал, из двух строчек копирования сделал две по частям.
Посмотрите код, старую строку я закомментировал а рядом две новые:
[vba]
Код
.ActiveSheet.Range("A" & j & ":B" & j).Copy wb.ActiveSheet.Cells(i, 1)
.ActiveSheet.Range("D" & j & ":F" & j).Copy wb.ActiveSheet.Cells(i, 4)
[/vba]Никакого отношения к загрузке они не имеют.
Попробуйте их вставить в свой рабочий файл, а ту строку закомментируйте.
 
Ответить
Сообщение
Ваш прикрепленный файл _123.xls не загружает файл "база.xls"
:) Это не мой файл. Это Ваш. И все что я сделал, из двух строчек копирования сделал две по частям.
Посмотрите код, старую строку я закомментировал а рядом две новые:
[vba]
Код
.ActiveSheet.Range("A" & j & ":B" & j).Copy wb.ActiveSheet.Cells(i, 1)
.ActiveSheet.Range("D" & j & ":F" & j).Copy wb.ActiveSheet.Cells(i, 4)
[/vba]Никакого отношения к загрузке они не имеют.
Попробуйте их вставить в свой рабочий файл, а ту строку закомментируйте.

Автор - Wasilich
Дата добавления - 20.01.2016 в 15:39
Voh Дата: Среда, 20.01.2016, 17:36 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 20% ±

Идея с разбивкой в общем рабочая, но к сожалению для моего файла нужно, чтобы строки копировались не по диапазонам а целиком (до бесконечности), иначе вставка происходит некорректно.
 
Ответить
СообщениеИдея с разбивкой в общем рабочая, но к сожалению для моего файла нужно, чтобы строки копировались не по диапазонам а целиком (до бесконечности), иначе вставка происходит некорректно.

Автор - Voh
Дата добавления - 20.01.2016 в 17:36
RAN Дата: Среда, 20.01.2016, 19:31 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4544
Репутация: 920 ±
Замечаний: 0% ±

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


Как сделать, чтобы при этом процессе столбец с количеством не изменялся


Вы уж определитесь, что нужно.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
для моего файла нужно, чтобы строки копировались не по диапазонам а целиком


Как сделать, чтобы при этом процессе столбец с количеством не изменялся


Вы уж определитесь, что нужно.

Автор - RAN
Дата добавления - 20.01.2016 в 19:31
Voh Дата: Четверг, 21.01.2016, 11:12 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 20% ±

Если "для того, чтобы оставить этот столбец, копирование строки надо сделать частями" - это единственный способ решить мою проблему, то, как я уже сказал, к сожалению такой вариант мне не подходит. Просто я надеялся, что есть какой-то вариант защитить ячейки от вставки, с тем, чтобы макрос их игнорировал, и вставлять строку целиком, без разбивки на диапазоны.., или что-то в этом духе.. Но все равно спасибо за идею с разбивкой:)
 
Ответить
СообщениеЕсли "для того, чтобы оставить этот столбец, копирование строки надо сделать частями" - это единственный способ решить мою проблему, то, как я уже сказал, к сожалению такой вариант мне не подходит. Просто я надеялся, что есть какой-то вариант защитить ячейки от вставки, с тем, чтобы макрос их игнорировал, и вставлять строку целиком, без разбивки на диапазоны.., или что-то в этом духе.. Но все равно спасибо за идею с разбивкой:)

Автор - Voh
Дата добавления - 21.01.2016 в 11:12
RAN Дата: Четверг, 21.01.2016, 19:05 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4544
Репутация: 920 ±
Замечаний: 0% ±

2010
такой вариант мне не подходит

Почему? Никак придумать не могу. Поделитесь секретом.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
такой вариант мне не подходит

Почему? Никак придумать не могу. Поделитесь секретом.

Автор - RAN
Дата добавления - 21.01.2016 в 19:05
Voh Дата: Пятница, 22.01.2016, 11:15 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 20% ±

Цитата
для моего файла нужно, чтобы строки копировались не по диапазонам а целиком (до бесконечности), иначе вставка происходит некорректно.
 
Ответить
Сообщение
Цитата
для моего файла нужно, чтобы строки копировались не по диапазонам а целиком (до бесконечности), иначе вставка происходит некорректно.

Автор - Voh
Дата добавления - 22.01.2016 в 11:15
Wasilich Дата: Пятница, 22.01.2016, 11:58 | Сообщение № 13
Группа: Друзья
Ранг: Старожил
Сообщений: 1195
Репутация: 316 ±
Замечаний: 0% ±

2003
чтобы строки копировались не по диапазонам а целиком (до бесконечности)
Говорят, бесконечность только в космосе. А в экселе таки есть последний столбец. вот и замените столбец F в этой строке макроса
[vba]
Код
.ActiveSheet.Range("D" & j & ":F" & j).Copy wb.ActiveSheet.Cells(i, 4)
[/vba]на свой бесконечный столбец. И будет все как надо.
 
Ответить
Сообщение
чтобы строки копировались не по диапазонам а целиком (до бесконечности)
Говорят, бесконечность только в космосе. А в экселе таки есть последний столбец. вот и замените столбец F в этой строке макроса
[vba]
Код
.ActiveSheet.Range("D" & j & ":F" & j).Copy wb.ActiveSheet.Cells(i, 4)
[/vba]на свой бесконечный столбец. И будет все как надо.

Автор - Wasilich
Дата добавления - 22.01.2016 в 11:58
Voh Дата: Пятница, 22.01.2016, 14:22 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 20% ±

Хорошо, спасибо большое, Wasilic.
 
Ответить
СообщениеХорошо, спасибо большое, Wasilic.

Автор - Voh
Дата добавления - 22.01.2016 в 14:22
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Защитить столбец от записи макросом (Формулы/Formulas)
Страница 1 из 11
Поиск:

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