Vba excel сохранение переменной

 

kill547

Пользователь

Сообщений: 6
Регистрация: 27.03.2014

Всем Доброго времени суток, прошу сильно не ругать, не знаю в какую ветку писать.
Помогите пожалуйста разобраться…
Возможно ли вообще такое? нужно чтобы простая переменная сохраняла своё значечие даже при сохранении файла и его закрытии,
Вариант хранить переменную на листах или где-то вне — не подходит, нужно именно в макросе
простыми словами хочу сделать этакий «счётчик»

p.s. Файл после выполнения макроса будет сохраняться…вариант макросом изменить макрос тоже подошёл бы, только нигде не найду..

 

Юрий М

Модератор

Сообщений: 60575
Регистрация: 14.09.2012

Контакты см. в профиле

#2

28.11.2014 21:21:04

Ещё варианты: в реестре, в именах, во внешнем файле…
А вот это

Цитата
нужно именно в макросе

Не понял — в самом коде?

 

kill547

Пользователь

Сообщений: 6
Регистрация: 27.03.2014

нужно именно в макросе, именно внутри макроса,(если конечно возможно такое)
или в любом другом макросе, но чтобы можно было вызвать в момент открытия…
или даже в любом месте проекта vba, который находиться под паролем

в имени файла непойдёт,
в реестреможно, но тоже неоч, можно файл перекинуть на другой комп…
во внешнем файле тоже непойдёт,

поэтому и неподходит всё что нашёл в нете…

Изменено: kill54728.11.2014 21:33:06

 

gling

Пользователь

Сообщений: 4024
Регистрация: 01.01.1970

#4

28.11.2014 21:42:56

Интересно Девки пляшут, а если ни где не записывать, кто должен помнить? Как буквы могут что то запомнить? Конечно нужно где то записать. Это мое мнение. А сохранять можно на листе который скрыт макросом

Код
Sheets("Имя").Visible = 2 

Пока не откроешь проект VBA лист не отобразить.

 

Юрий М

Модератор

Сообщений: 60575
Регистрация: 14.09.2012

Контакты см. в профиле

#5

28.11.2014 21:45:23

Цитата
kill547 пишет: в имени файла непойдёт

А я разве предлагал в имени ФАЙЛА?

 

B.Key

Пользователь

Сообщений: 633
Регистрация: 26.02.2014

создайте имя, сделайте невидимым  и используйте.
Из опыта:Лучше ни чего программно в код не дописывать,
достаточно будет закрыть доступ к объектной модели и все, Ваш счетчик на смарку.

 

B.Key

Пользователь

Сообщений: 633
Регистрация: 26.02.2014

#7

28.11.2014 21:51:46

Цитата
gling пишет: Пока не откроешь проект VBA лист не отобразить.

Из любой книги, при активной запароленой, выполнить:

Код
for i=1 to activeworkbook.sheets.count
activeworkbook.sheets(i).visible=true
next

лист открывается на ура   :)

 

gling

Пользователь

Сообщений: 4024
Регистрация: 01.01.1970

#8

28.11.2014 22:05:56

Цитата
лист открывается на ура

Вы для кого делаете? Для хакеров или для пользователей? Против первых защиты нет (вопрос во времени), для вторых предложенное мной, выше крыши.

Изменено: gling28.11.2014 22:08:26

 

B.Key

Пользователь

Сообщений: 633
Регистрация: 26.02.2014

#9

28.11.2014 22:12:38

Согласен на 100%  :)  
———-
с именами:

Код
Sub AddHideName()
On Error Resume Next
ThisWorkbook.Names("cnt").Delete
ThisWorkbook.Names.Add "cnt", "1", False
End Sub
Sub test()
Set h = ThisWorkbook.Names("cnt")
n = Mid(h.Value, 2)
n = Val(n) + 1
h.Value = n
MsgBox Mid(h.Value, 2)
End Sub

счетчик можно и на формулы привязать

Изменено: B.Key28.11.2014 22:13:54

 

kill547

Пользователь

Сообщений: 6
Регистрация: 27.03.2014

#10

28.11.2014 22:23:31

Цитата
gling пишет: Вы для кого делаете?

для пользователей не очень обычных

Цитата
А сохранять можно на листе который скрыт макросом
Цитата
B.Key пишет: счетчик можно и на формулы привязать

я думаю эти варианты очень даже подойдут., буду пробовать….Спасибо огромное!!!

 

Johny

Пользователь

Сообщений: 2737
Регистрация: 21.12.2012

#11

28.11.2014 23:36:19

Можно использовать Names:

Код
Sub AddName()
    Dim x As Integer
    x = 5
    Names.Add Name:="MyVar", RefersTo:=x, Visible:=False
End Sub

Function GetName() As Integer
    GetName = Evaluate("MyVar")
End Function 

Изменено: Johny29.11.2014 12:01:43
(Спасибо С.М. за корректировку :) )

There is no knowledge that is not power

 

С.М.

Пользователь

Сообщений: 936
Регистрация: 22.12.2012

#12

29.11.2014 02:14:21

Покороче:

Код
Function GetName()
    GetName = Evaluate("MyVar")
End Function
 

Содержание

  1. Метод Workbook.SaveAs (Excel)
  2. Синтаксис
  3. Параметры
  4. Замечания
  5. Пример
  6. Поддержка и обратная связь
  7. Vba excel сохранить переменную
  8. Хранение значений при завершении макроса
  9. Переменные документа
  10. Замечания
  11. Свойства документов
  12. Элементы автотекста
  13. Файлы параметров
  14. Реестр Windows
  15. Поддержка и обратная связь

Метод Workbook.SaveAs (Excel)

Сохраняет изменения в книге в другом файле.

Хотите создавать решения, которые расширяют возможности Office на разнообразных платформах? Ознакомьтесь с новой моделью надстроек Office. Надстройки Office занимают меньше места по сравнению с надстройками и решениями VSTO, и вы можете создавать их, используя практически любую технологию веб-программирования, например HTML5, JavaScript, CSS3 и XML.

Синтаксис

expression. SaveAs (FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local)

Выражение Переменная, представляющая объект Workbook .

Параметры

Имя Обязательный или необязательный Тип данных Описание
FileName Необязательный Variant Строка, указывающая имя сохраняемого файла. Можно включить полный путь; В противном случае Microsoft Excel сохранит файл в текущей папке.
FileFormat Необязательный Variant Формат файла, используемый при сохранении файла. Список допустимых вариантов см. в перечислении XlFileFormat . Для существующего файла форматом по умолчанию является последний указанный формат файла; Для нового файла по умолчанию используется формат используемой версии Excel.
Password Необязательный Variant Строка с учетом регистра (не более 15 символов), указывающая пароль защиты, который будет присвоен файлу.
WriteResPassword Необязательный Variant Строка, указывающая пароль резервирования записи для этого файла. Если файл сохраняется с паролем и пароль не предоставляется при открытии файла, он открывается только для чтения.
ReadOnlyRecommended Необязательный Variant Значение true для отображения сообщения при открытии файла, в котором рекомендуется открыть файл только для чтения.
CreateBackup Необязательный Variant Значение True для создания файла резервной копии.
AccessMode Необязательный XlSaveAsAccessMode Режим доступа к книге.
ConflictResolution Необязательный XlSaveConflictResolution Значение XlSaveConflictResolution , определяющее, как метод разрешает конфликт при сохранении книги. Если задано значение xlUserResolution, отображается диалоговое окно разрешения конфликтов.

Если задано значение xlLocalSessionChanges, изменения локального пользователя принимаются автоматически.

Если задано значение xlOtherSessionChanges, изменения из других сеансов автоматически принимаются вместо изменений локального пользователя.

Если этот аргумент опущен, отобразится диалоговое окно разрешения конфликтов. AddToMru Необязательный Variant Значение true , чтобы добавить эту книгу в список недавно использовавшихся файлов. Значение по умолчанию — False. TextCodepage Необязательный Variant Игнорируется для всех языков в Microsoft Excel.

ПРИМЕЧАНИЕ. Когда Excel сохраняет книгу в одном из форматов CSV или текста, указанных с помощью параметра FileFormat , он использует кодовую страницу, соответствующую языку системного языкового стандарта, используемого на текущем компьютере. Этот системный параметр доступен на вкладке панель управления>Регион и расположение языка> в разделе Текущее расположение. TextVisualLayout Необязательный Variant Игнорируется для всех языков в Microsoft Excel.

ПРИМЕЧАНИЕ. Когда Excel сохраняет книгу в одном из форматов CSV или текста, указанных с помощью параметра FileFormat , эти форматы сохраняются в логическом макете. Если текст слева направо (LTR) внедрен в текст справа налево (RTL) в файле или наоборот, логическая разметка сохраняет содержимое файла в правильном порядке чтения для всех языков в файле без учета направления. Когда приложение открывает файл, каждый запуск символов LTR или RTL отображается в правильном направлении в соответствии с диапазонами значений символов на кодовой странице (если только приложение, предназначенное для отображения точного макета памяти файла, например отладчик или редактор, не используется для открытия файла). Local Необязательный Variant Значение True сохраняет файлы на языке Microsoft Excel (включая параметры панели управления). Значение False (по умолчанию) сохраняет файлы на языке Visual Basic для приложений (VBA) (как правило, на английском языке США, если проект VBA, из которого выполняется Workbooks.Open, не является старым проектом VBA с интернационализацией XL5/95).

Замечания

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

  • Надежный пароль: Y6dh!et5
  • Ненадежный пароль: House27

Используйте надежный пароль, который можно запомнить, чтобы не пришлось его записывать.

Пример

В этом примере создается новая книга, запрашивается имя файла, а затем она сохраняется.

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

Vba excel сохранить переменную

День добрый всем.

Скажите, можно ли сделать так, чтобы один раз объявив переменную и загрузив в нее какое-то значение, оно там оставалось, пока не закрыта книга..
Может есть какие-то «глобальные» переменные, которые можно объявить вне процедур?

Или может это через классы делается
*С классами еще ни разу не работал..

==
Основная задача такая — для генерации документов word использую закладки. Все работает, документы создаются, но процедура создания самих шаблонов довольно утомительная. Полей много, (>200) и неудобно вставлять их имена в шаблон. Думал сделать макрос для word, который позволяет по горячей клавише показать выпадающий список с поиском Данные в этот список загружаются из excel файла..

Так вот, можно ли не открывать каждый раз файл и не загружать данные о полях из него?

День добрый всем.

Скажите, можно ли сделать так, чтобы один раз объявив переменную и загрузив в нее какое-то значение, оно там оставалось, пока не закрыта книга..
Может есть какие-то «глобальные» переменные, которые можно объявить вне процедур?

Или может это через классы делается
*С классами еще ни разу не работал..

==
Основная задача такая — для генерации документов word использую закладки. Все работает, документы создаются, но процедура создания самих шаблонов довольно утомительная. Полей много, (>200) и неудобно вставлять их имена в шаблон. Думал сделать макрос для word, который позволяет по горячей клавише показать выпадающий список с поиском Данные в этот список загружаются из excel файла..

Так вот, можно ли не открывать каждый раз файл и не загружать данные о полях из него? PATRI0T

Сообщение День добрый всем.

Скажите, можно ли сделать так, чтобы один раз объявив переменную и загрузив в нее какое-то значение, оно там оставалось, пока не закрыта книга..
Может есть какие-то «глобальные» переменные, которые можно объявить вне процедур?

Или может это через классы делается
*С классами еще ни разу не работал..

==
Основная задача такая — для генерации документов word использую закладки. Все работает, документы создаются, но процедура создания самих шаблонов довольно утомительная. Полей много, (>200) и неудобно вставлять их имена в шаблон. Думал сделать макрос для word, который позволяет по горячей клавише показать выпадающий список с поиском Данные в этот список загружаются из excel файла..

Так вот, можно ли не открывать каждый раз файл и не загружать данные о полях из него? Автор — PATRI0T
Дата добавления — 25.01.2017 в 19:16

Источник

Хранение значений при завершении макроса

Когда макрос заканчивается, значения, хранящиеся в его переменных, не сохраняются на диск автоматически. Если макрос должен сохранить значение, он должен сохранить это значение вне себя до завершения выполнения макроса. В этом разделе описываются пять расположений, в которых можно легко хранить и извлекать значения макросов.

Переменные документа

Переменные документа позволяют хранить значения как часть документа или шаблона. Например, значения макросов можно хранить в документе или шаблоне, где находится макрос. Переменные можно добавить в документ или шаблон с помощью метода Add коллекции Variables . В следующем примере переменная документа сохраняется в том же расположении, что и макрос, выполняющийся (документ или шаблон), с помощью свойства ActiveDocument .

В следующем примере свойство Value с объектом Variable используется для возврата значения переменной документа.

Замечания

Используйте поле DOCVARIABLE для вставки переменной документа в документ.

Свойства документов

Как и переменные документа, свойства документа позволяют хранить значения как часть документа или шаблона. Свойства документа можно просмотреть в диалоговом окне Свойства .

Объектная модель Word разбивает свойства документа на две группы: встроенные и пользовательские. Настраиваемые свойства документа включают свойства, отображаемые на вкладке Настраиваемые в диалоговом окне Свойства . Встроенные свойства документа включают свойства на всех вкладках в диалоговом окне Свойства , за исключением вкладки Настраиваемая .

Чтобы получить доступ к встроенным свойствам, используйте свойство BuiltInDocumentProperties , чтобы вернуть коллекцию DocumentProperties , которая включает встроенные свойства документа. Используйте свойство CustomDocumentProperties объекта Document или Template , чтобы вернуть коллекцию DocumentProperties , включающую настраиваемые свойства документа. В следующем примере создается пользовательское свойство документа с именем YourName в том же расположении, что и запущенный макрос (документ или шаблон).

Встроенные свойства документа нельзя добавить в коллекцию DocumentProperties , возвращаемую свойством BuiltInDocumentProperties объекта Document или Template . Однако можно получить содержимое встроенного свойства документа или изменить значение встроенного свойства документа для чтения и записи.

Используйте поле DOCPROPERTY для вставки свойств документа в документ.

Элементы автотекста

Записи автотекста можно использовать для хранения сведений в шаблоне. В отличие от переменной документа или свойства, записи автотекста могут включать элементы за пределами переменных макросов, такие как форматированный текст или рисунок. Используйте метод Add с коллекцией AutoTextEntries , чтобы создать новую запись автотекста. В следующем примере создается запись автотекста с именем MyText, которая содержит содержимое выделенного фрагмента. Если следующая инструкция является частью макроса шаблона, новая запись автотекста сохраняется в шаблоне, в противном случае запись автотекста хранится в шаблоне, присоединенном к документу, в котором находится инструкция.

Используйте свойство Value с объектом AutoTextEntry , чтобы получить содержимое объекта записи AutoText.

Файлы параметров

Вы можете задать и извлечь сведения из файла параметров с помощью свойства PrivateProfileString объекта System . Структура файла параметров Windows аналогична WIN.INI-файлу Windows 3.1. В следующем примере ключу DocNum присваивается значение 1 в разделе DocTracker в файле Macro.ini.

После выполнения приведенной выше инструкции файл Macro.ini содержит следующий текст.

Свойство PrivateProfileString содержит три аргумента: FileName, Section и Key. Аргумент FileName используется для указания пути к файлу параметров и имени файла. Аргумент Section указывает имя раздела, которое отображается между квадратными скобками перед связанными ключами (не включайте скобки с именем раздела). Аргумент Key указывает имя ключа, за которым следует знак равенства (=) и параметр .

Используйте то же свойство PrivateProfileString для получения параметра из файла параметров. В следующем примере извлекается параметр DocNum в разделе DocTracker в файле Macro.ini.

Реестр Windows

Вы можете задать и получить сведения из реестра Windows с помощью свойства PrivateProfileString . В следующем примере извлекается каталог программы Word 2007 из реестра Windows.

Свойство PrivateProfileString содержит три аргумента: FileName, Section и Key. Чтобы вернуть или задать значение для записи реестра, укажите пустую строку («») для аргумента FileName . Аргумент Section должен быть полным путем к подразделу реестра. АргументОм Key должно быть имя записи в подразделе, указанном в разделе Section.

Вы также можете задать сведения в реестре Windows, используя следующий синтаксис PrivateProfileString .

Значение System.PrivateProfileString(FileName, Section, Key) =

В следующем примере запись DOC-PATH задается как «C:My Documents» в подразделе Options для Office Word 2007 в реестре Windows.

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

0 / 0 / 0

Регистрация: 06.07.2021

Сообщений: 12

1

Как сохранить переменную после закрытия файла

08.07.2021, 23:52. Показов 2027. Ответов 15


Студворк — интернет-сервис помощи студентам

Здравствуйте, дорогие прогеры! У меня встал вопрос сохранения переменной после закрытия файла- для того, чтобы она сохраняла свое значение и при нажатии кнопки дальше продолжала увеличиваться, например



0



2630 / 1636 / 744

Регистрация: 23.03.2015

Сообщений: 5,141

09.07.2021, 00:24

2

Если эксель, то в ячейке можно…



0



0 / 0 / 0

Регистрация: 06.07.2021

Сообщений: 12

09.07.2021, 00:27

 [ТС]

3

Цитата
Сообщение от Narimanych
Посмотреть сообщение

Если эксель, то в ячейке можно…

Если можно, пожалуйста поподробнее объясните -мой макрос увеличивает значение на 1 при каждом щелчке мыши и вот хочется чтобы после закрытия excel последнее значение сохранялось



0



297 / 157 / 86

Регистрация: 01.04.2020

Сообщений: 436

09.07.2021, 01:09

4

Цитата
Сообщение от mishapelevin
Посмотреть сообщение

Если можно, пожалуйста поподробнее объясните

Если эксель, то почитайте про Событие Workbook.BeforeClose



0



0 / 0 / 0

Регистрация: 06.07.2021

Сообщений: 12

09.07.2021, 07:34

 [ТС]

5

Цитата
Сообщение от elixi
Посмотреть сообщение

Если эксель, то почитайте про Событие Workbook.BeforeClose

То есть перед закрытием написать, чтобы ячейка была равна моей переменной?



0



bite

3699 / 3131 / 694

Регистрация: 13.04.2015

Сообщений: 7,323

09.07.2021, 07:55

6

mishapelevin, а между запусками макроса переменная должна сохранять своё значение?



0



0 / 0 / 0

Регистрация: 06.07.2021

Сообщений: 12

09.07.2021, 07:56

 [ТС]

7

Да, переменная сохраняет свое значение до тех пор, пока не закрыт файл excel



0



I can

bite

3699 / 3131 / 694

Регистрация: 13.04.2015

Сообщений: 7,323

09.07.2021, 08:01

8

тогда проще

Visual Basic
1
2
3
a = Val(ThisWorkbook.Sheets(1).Cells(100, 100))
    a = a + 1
    ThisWorkbook.Sheets(1).Cells(100, 100) = a

До увеличения переменной читаем её значение из ячейки, а после увеличения записываем обратно.



0



OLEGOFF

1062 / 506 / 137

Регистрация: 27.02.2013

Сообщений: 1,451

09.07.2021, 09:21

9

mishapelevin, можно применить вместо Value значение ячейки Font.Color или Borders.Color для сохранения переменной.
Тогда можно использовать любую удобную ячейку,даже если она занята какими либо данными.И в одной ячейке сохранить до 8 переменных.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Public N As Integer
 
Private Sub Workbook_Open()
N = Sheets("Лист1").Cells(1, 1).Font.Color
End Sub
 
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheets("Лист1").Cells(1, 1).Font.Color = N
End Sub
 
Sub Макрос1()
 N = N + 1
End Sub



0



810 / 465 / 180

Регистрация: 09.03.2009

Сообщений: 1,577

09.07.2021, 09:51

10

Еще можно в свойства файла писать.



0



0 / 0 / 0

Регистрация: 06.07.2021

Сообщений: 12

09.07.2021, 10:28

 [ТС]

11

Ок, я понял, спасибо большое, дорогие форумчане!



0



6875 / 2807 / 533

Регистрация: 19.10.2012

Сообщений: 8,562

09.07.2021, 11:22

12

В CustomDocumentProperties.
А ещё можно в реестр писать, если только для себя.



1



mishapelevin

0 / 0 / 0

Регистрация: 06.07.2021

Сообщений: 12

09.07.2021, 16:09

 [ТС]

13

Цитата
Сообщение от OLEGOFF
Посмотреть сообщение

mishapelevin, можно применить вместо Value значение ячейки Font.Color или Borders.Color для сохранения переменной.
Тогда можно использовать любую удобную ячейку,даже если она занята какими либо данными.И в одной ячейке сохранить до 8 переменных.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Public N As Integer
 
Private Sub Workbook_Open()
N = Sheets("Лист1").Cells(1, 1).Font.Color
End Sub
 
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheets("Лист1").Cells(1, 1).Font.Color = N
End Sub
 
Sub Макрос1()
 N = N + 1
End Sub

Извините, но почему то при компиляции выдает ошибку 9- out of range



0



1062 / 506 / 137

Регистрация: 27.02.2013

Сообщений: 1,451

09.07.2021, 17:30

14

mishapelevin, у меня все работает.



0



bite

3699 / 3131 / 694

Регистрация: 13.04.2015

Сообщений: 7,323

09.07.2021, 18:13

15

Цитата
Сообщение от mishapelevin
Посмотреть сообщение

ошибку 9- out of range

У тебя нет листа «Лист1»



0



0 / 0 / 0

Регистрация: 06.07.2021

Сообщений: 12

09.07.2021, 21:31

 [ТС]

16

Спасибо, ребята! Все пошло!



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

09.07.2021, 21:31

Помогаю со студенческими работами здесь

Как сохранить состояние кнопки (цвет) после закрытия программы?
на форме накидано несколько кнопок, при нажатии на кнопку она выделяется цветом, как сделать так,…

Как сохранить свойство Text элемента TextBox после закрытия программы?
Собственно. Ну то ест программа работает, текст правится вручную. Программу закрываем, текст…

Как создать переменную, которая будет сохранять свое значение , даже после закрытия приложения?
Собственно вопрос. Нужно создать переменную, которая будет получать данные и сохранять их в себе…

Как сохранить содержимое выбранного файла в переменную?
char txt;cin>>txt;
ofstream fout(txt);как сохранить содержание выбранного файла в переменную???

Как сохранить переменную или объект после авторизации в приложении
Здравствуйте! Заранее прошу прощения, если некорректно выражусь. Подскажите, пожалуйста, как…

Сохранить backgroundImage после закрытия проги
Люди добрые подскажите, пожалуйста, как сохранить в settings или в xml очень надо!!!!
То есть…

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

Или воспользуйтесь поиском по форуму:

16

���������� � ��������� �������� ���������� � Excel, PowerPoint � Project

���������� � ��������� �������� ���������� � Excel, PowerPoint � Project

���������������� �������� ���������� ������������� ������� ���� ��� ������������ ��� ��������� �������� ��� ����������� ���������� Office. �� ������ ������������ VBA ��� �������� ���������������� ������� ����������, ���������� �� �������, � ����� ��������� ���� ������ ��� ������ �������������. ��� �������� �������� ����� ������������ ������ ���������, � ������� ��� �������, ��� �� �������� ������������ � ���������� ������� � ��������� ����� — ��� ������������� ����������� ������ � ����������.

��� �������� ������ �������� ��������� � Excel, PowerPoint ��� Project (� Word ���� ��� ������������� ����� ��������������� �������� �������) �������� ����� Add �� ��������� ������� CustomDocuraent Properties ����� ���������. ����������� ���� ������ ����������� � Excel, ��� ������ ActiveWorkbook �������� �������� ������� ����� �� ����� ���������� ��������� (� Word � PowerPoint ��� ������� ActiveDocument � Active Presentation ��������������):

ActiveWorkbook.CustomDocumentProperties.Add_

Name:= "Button Count", Li nkToCont ent:=False,_

Type:= msoPropertyTypeNumber, Value:=0

�������� LinkToContent ������ ����� �������� False, ���� �� ���������� �������� ���������� � ���� ����������������� �������� ��������� (��� ������� ��������� ����� ��������� �������� True, ���� �� ������, ����� �������� �������� ���� ������� � ���������� ������ Excel ��� ��������� Word). �������� ���� ���������� ��� ������ ��� ��������; � �������� �������� ��������� ������������� ����� ��������, ��� msoPropertyTypeNumber, msoPropertyTypeBoolean, msoPropertyTypeDate, msoPropertyTypeFloat ��� msoPropertyTypeString.

��� ���������� ��� ��������� ����������, ���������� � ���� �������� ���������, ������������ �������� Value ������� Property. �����������, ��� �� ����������� ����� �������� ���������, ��� ButtonCount, ��� ���������� ���������� ������� ����� �� ������ ����� �� ���� ���������. ����������� ���� �������� ���� ��������� � ��������� �������� �������� ����� ������� ������ �� ������:

With ActiveWorkbook._

CustomDocument Properties("ButtonCount")

.Value = .Value + 1

End With

����������� ���� ������ ������������ ���������� ��������� ������������ ������. � ���� ������ ������������ ����� ��������� � ���, ��� �� ������� �� ������ ������ ������������� ���������� ���, ���� � ��� ������, ���� ����� �������� �������� ������������ ���������� � ���������� ������. �����������, ��� �������� ��������� cint Cut Of fValue ������ ������ ������ ������������ ���������� �������, ����� ���������� �������� ��������� ������������ �� ������ � ������ ���.

With

ActiveWorkbook.CustomDocumentProperties("ButtonCount")

' ��������� ������������ �������� ��������

intCurrentCount = .Value

' ����������� ��������� ��� ���������� �������

If intCurrentCount > cintCutOffValue Then

MsgBox "�� �������� �� ������ " _

& " ������ " & cintCutOffValue _

& " ���."

End If

' ���������� �������� ��������

.Value == intCurrentCount + 1

End With

intCurrentCount = ActiveWorkbook_

.CustomDocumentProperties("ButtonCount").Value

� Access � Excel ����� ������ ��������� ������, ����������� ��� ������ VBA ���������, ����� � ��������� — � �������� ���� ������ (Access) ��� ������� ����� ������� ����� (Excel). ������������ ��������, ��������� � �������� ��������, ������� � ���, ��� ������ ����� ������������� � �� ����� ��������, ���� ������ �� �� ����������� ��������������� ��������.

��� ��������� ��������� ������� ��� ���������� ������ �� ����� ��������� � ����� ����������, �������������� VBA. �� ������ ��������� �������� � ������� Window (� ���� ��������� �� ������), ��������� ���������� Save Setting � Get Setting, � ����� ��������� ������ � ��������� �����. ��� ��� ������� ����������� � ����� 20.

сохранение начальной переменной

Asretyq

Дата: Четверг, 01.11.2018, 23:29 |
Сообщение № 1

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 200


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

Доброй ночи
как можно сохранить начальную переменную i = 1, но у меня она равна 11, и понятно почему
в качестве примера создал простую ситуацию, описанную в файле
хочется чтобы выводилось сообщение со значением 1))

К сообщению приложен файл:

1090297.xlsm
(16.0 Kb)

 

Ответить

sboy

Дата: Пятница, 02.11.2018, 09:07 |
Сообщение № 2

Группа: Друзья

Ранг: Участник клуба

Сообщений: 2566


Репутация:

724

±

Замечаний:
0% ±


Excel 2010

Добрый день.
Очень странный пример. Назовите переменную в счетчике по другому или начальную по другому, или присвойте i=1 перед выводом сообщения, или еще куча всяких вариантов. Пример совсем не информативен.

К сообщению приложен файл:

4798788.xlsm
(15.2 Kb)


Яндекс: 410016850021169

 

Ответить

_Boroda_

Дата: Пятница, 02.11.2018, 09:19 |
Сообщение № 3

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

Или создайте 2 переменных
Кстати, чтобы через ячейку прыгать, в For есть такая штука, как шаг Step
[vba]

Код

Sub tt()
    i = 1
    j = i
    For i = 1 To 10 Step 2
        Cells(i, 1).Value = i
    Next i
    MsgBox j
End Sub

[/vba]

*А почто в предыдущем своем вопросе не отписыветесь?


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

Головастик

Дата: Пятница, 02.11.2018, 09:26 |
Сообщение № 4

Группа: Заблокированные

Ранг: Прохожий

Сообщений: 6


Репутация:

0

±

Замечаний:
20% ±


Excel 2016

sboy, да, к сожалению так получилось
_Boroda_, спасибо вам огромное, что многим помогаете, но мне надо именно с 1 переменной. С функцией Step я знаком, это условный пример ))
Или вообще есть такая такая команда, которая отвечает за занесение команды в память?? и в нужный момент выполнить эту команду? Это думаю бы мне помогло

 

Ответить

китин

Дата: Пятница, 02.11.2018, 09:28 |
Сообщение № 5

Группа: Модераторы

Ранг: Экселист

Сообщений: 6973


Репутация:

1063

±

Замечаний:
0% ±


Excel 2007;2010;2016

Пардон, а Asretyq, и Головастик, это одно и тоже лицо?


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852

 

Ответить

Головастик

Дата: Пятница, 02.11.2018, 09:32 |
Сообщение № 6

Группа: Заблокированные

Ранг: Прохожий

Сообщений: 6


Репутация:

0

±

Замечаний:
20% ±


Excel 2016

_Boroda_, Кстати я не вижу в списке предыдущий вопрос, я думал удалили его за несоответствие оформления, не могли бы кинуть ссылку? Я его не вижу, ни в одном из форумов.

 

Ответить

_Boroda_

Дата: Пятница, 02.11.2018, 09:38 |
Сообщение № 7

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

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

И да, я тоже не понял

а Asretyq, и Головастик, это одно и тоже лицо?

IP одинаковые. ЧитайтеПравила форума, п. 5n

Головастика тогда убиваем, оставляем Asretyq?


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

Головастик

Дата: Пятница, 02.11.2018, 09:41 |
Сообщение № 8

Группа: Заблокированные

Ранг: Прохожий

Сообщений: 6


Репутация:

0

±

Замечаний:
20% ±


Excel 2016

китин, да это рабочий комп, Asretyq пароль потерял ( с домашнего компа сохранилось). Ну как-то так)))

 

Ответить

Головастик

Дата: Пятница, 02.11.2018, 09:42 |
Сообщение № 9

Группа: Заблокированные

Ранг: Прохожий

Сообщений: 6


Репутация:

0

±

Замечаний:
20% ±


Excel 2016

_Boroda_, не как раз IP разные))) извиняюсь что так получилось, и почту я тоже не помню. Я понял, я буду писать только с одного аккаунта. Есть вариант еще узнать почту, если найду этот акк можно удалить, сегодня вечером отпишусь

_Boroda_, нашел пароль от почты, можно удалить Головастика
Спасибо большое вам за помощь, да работает отлично, учусь потихоньку благодаря вашему сайту ))
для себя многому уже научился, к сожалению времени и знаний нет другим людям помогать пока

Сообщение отредактировал ГоловастикПятница, 02.11.2018, 09:48

 

Ответить

Понравилась статья? Поделить с друзьями:
  • Vba excel сортировка ячейки
  • Vba excel сортировка строки
  • Vba excel сортировка столбца по возрастанию
  • Vba excel сортировка примеры
  • Vba excel сортировка по убыванию