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

Вход

Регистрация

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

 

= Мир MS Excel/Изменить код модуля макросом - Страница 2 - Мир MS Excel

Старая форма входа
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: китин  
Мир MS Excel » Работа и общение » Мозговой штурм » Изменить код модуля макросом (Мозговой штурм для программистов)
Изменить код модуля макросом
ikki Дата: Воскресенье, 03.02.2013, 15:09 | Сообщение № 21
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
мда, я немного сам себе усложнил задачу smile

Богдан, твой макрос можно впихнуть в меньшее количество букаф (не меняя сути)
[vba]
Код
    s = "MsgBox ""No :("""
      x = "MsgBox ""Yes :)"""
      With ThisWorkbook.VBProject.VBComponents("tt").CodeModule
          n = .ProcBodyLine("test", 0)
          For i = n To .ProcCountLines("test", 0) + n - 1
              If .Lines(i, 1) = s Then .ReplaceLine i, x
          Next
      End With
[/vba]

кстати, у тебя одна логическая ошибка - обрабатывается одна лишняя строка (которой может и не быть).
пс. почему-то у меня "сокращенный" вариант VBComponents("tt") вместо VBComponents.Item("tt") даже запускаться не соглашается sad


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki


Сообщение отредактировал ikki - Воскресенье, 03.02.2013, 15:10
 
Ответить
Сообщениемда, я немного сам себе усложнил задачу smile

Богдан, твой макрос можно впихнуть в меньшее количество букаф (не меняя сути)
[vba]
Код
    s = "MsgBox ""No :("""
      x = "MsgBox ""Yes :)"""
      With ThisWorkbook.VBProject.VBComponents("tt").CodeModule
          n = .ProcBodyLine("test", 0)
          For i = n To .ProcCountLines("test", 0) + n - 1
              If .Lines(i, 1) = s Then .ReplaceLine i, x
          Next
      End With
[/vba]

кстати, у тебя одна логическая ошибка - обрабатывается одна лишняя строка (которой может и не быть).
пс. почему-то у меня "сокращенный" вариант VBComponents("tt") вместо VBComponents.Item("tt") даже запускаться не соглашается sad

Автор - ikki
Дата добавления - 03.02.2013 в 15:09
AlexM Дата: Воскресенье, 03.02.2013, 15:21 | Сообщение № 22
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4448
Репутация: 1094 ±
Замечаний: 0% ±

Excel 2003
Цитата (ikki)
почему "некий"?

Ну хорошо
В одном модуле "tt" макрос "test", у которого есть строка MsgBox "No :("
Цитата (ikki)
Цитата (AlexM)
А во втором модуле
а откуда это следует?

Можно и в том же. В модуле "tt"
[vba]
Код
Sub Macros()
With ThisWorkbook.VBProject.VBComponents.Item("tt").CodeModule
For i = 1 To .CountOfLines
If .Lines(i, 1) = "MsgBox ""No :(""" Then .ReplaceLine i, "MsgBox ""Yes :)"""
Next
End With
End Sub

Sub test()
MsgBox "No :("
End Sub
[/vba]



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
Сообщение
Цитата (ikki)
почему "некий"?

Ну хорошо
В одном модуле "tt" макрос "test", у которого есть строка MsgBox "No :("
Цитата (ikki)
Цитата (AlexM)
А во втором модуле
а откуда это следует?

Можно и в том же. В модуле "tt"
[vba]
Код
Sub Macros()
With ThisWorkbook.VBProject.VBComponents.Item("tt").CodeModule
For i = 1 To .CountOfLines
If .Lines(i, 1) = "MsgBox ""No :(""" Then .ReplaceLine i, "MsgBox ""Yes :)"""
Next
End With
End Sub

Sub test()
MsgBox "No :("
End Sub
[/vba]

Автор - AlexM
Дата добавления - 03.02.2013 в 15:21
LightZ Дата: Воскресенье, 03.02.2013, 15:26 | Сообщение № 23
Группа: Авторы
Ранг: Форумчанин
Сообщений: 120
Репутация: 48 ±
Замечаний: 0% ±

AlexM, суть та, но если попадется еще какой-то макрос с такой же строкой - тогда и она заменится
Не зря ведь я написал именно макрос "test" smile
Цитата (ikki)
пс. почему-то у меня "сокращенный" вариант VBComponents("tt") вместо VBComponents.Item("tt") даже запускаться не соглашается

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


E-mail: overseerpower@gmail.com
Skype: Bogdan_Rud
WMR: R166238237296
 
Ответить
СообщениеAlexM, суть та, но если попадется еще какой-то макрос с такой же строкой - тогда и она заменится
Не зря ведь я написал именно макрос "test" smile
Цитата (ikki)
пс. почему-то у меня "сокращенный" вариант VBComponents("tt") вместо VBComponents.Item("tt") даже запускаться не соглашается

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

Автор - LightZ
Дата добавления - 03.02.2013 в 15:26
ikki Дата: Воскресенье, 03.02.2013, 15:26 | Сообщение № 24
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
Цитата (AlexM)
Ну хорошо

не вижу ничего хорошего smile
Ваш макрос поменяет строки во всех макросах модуля tt, а не только в макросе test.

кроме того, оба макроса (кроме моего) не учитывают возможные отступы в коде tongue
правда, такой задачи и не было.


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщение
Цитата (AlexM)
Ну хорошо

не вижу ничего хорошего smile
Ваш макрос поменяет строки во всех макросах модуля tt, а не только в макросе test.

кроме того, оба макроса (кроме моего) не учитывают возможные отступы в коде tongue
правда, такой задачи и не было.

Автор - ikki
Дата добавления - 03.02.2013 в 15:26
LightZ Дата: Воскресенье, 03.02.2013, 15:28 | Сообщение № 25
Группа: Авторы
Ранг: Форумчанин
Сообщений: 120
Репутация: 48 ±
Замечаний: 0% ±

Саша, а если в модуле "tt" больше одного макроса - тогда твой код меняет местами макросы tongue


E-mail: overseerpower@gmail.com
Skype: Bogdan_Rud
WMR: R166238237296
 
Ответить
СообщениеСаша, а если в модуле "tt" больше одного макроса - тогда твой код меняет местами макросы tongue

Автор - LightZ
Дата добавления - 03.02.2013 в 15:28
LightZ Дата: Воскресенье, 03.02.2013, 15:30 | Сообщение № 26
Группа: Авторы
Ранг: Форумчанин
Сообщений: 120
Репутация: 48 ±
Замечаний: 0% ±

а отступы можно спокойно убить с помощью application.trim smile


E-mail: overseerpower@gmail.com
Skype: Bogdan_Rud
WMR: R166238237296
 
Ответить
Сообщениеа отступы можно спокойно убить с помощью application.trim smile

Автор - LightZ
Дата добавления - 03.02.2013 в 15:30
AlexM Дата: Воскресенье, 03.02.2013, 15:33 | Сообщение № 27
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4448
Репутация: 1094 ±
Замечаний: 0% ±

Excel 2003
Сообщение № 10
Хотя, условие задачи можно дополнить, правилами не запрещено. smile



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеСообщение № 10
Хотя, условие задачи можно дополнить, правилами не запрещено. smile

Автор - AlexM
Дата добавления - 03.02.2013 в 15:33
ikki Дата: Воскресенье, 03.02.2013, 15:34 | Сообщение № 28
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
Цитата (LightZ)
тогда твой код меняет местами макросы

да, я знаю. это противоречит каким-либо условиям?
на работоспособность модуля это не влияет никак.


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщение
Цитата (LightZ)
тогда твой код меняет местами макросы

да, я знаю. это противоречит каким-либо условиям?
на работоспособность модуля это не влияет никак.

Автор - ikki
Дата добавления - 03.02.2013 в 15:34
AlexM Дата: Воскресенье, 03.02.2013, 15:39 | Сообщение № 29
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4448
Репутация: 1094 ±
Замечаний: 0% ±

Excel 2003
Добавим Trim +6 символов =183
[vba]
Код
If Trim(.Lines(i, 1)) = "MsgBox ""No :(""" Then .ReplaceLine i, "MsgBox ""Yes :)"""
[/vba]
но после замены отступа не будет. Но в условии не было сохранить отступы smile



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеДобавим Trim +6 символов =183
[vba]
Код
If Trim(.Lines(i, 1)) = "MsgBox ""No :(""" Then .ReplaceLine i, "MsgBox ""Yes :)"""
[/vba]
но после замены отступа не будет. Но в условии не было сохранить отступы smile

Автор - AlexM
Дата добавления - 03.02.2013 в 15:39
LightZ Дата: Воскресенье, 03.02.2013, 15:48 | Сообщение № 30
Группа: Авторы
Ранг: Форумчанин
Сообщений: 120
Репутация: 48 ±
Замечаний: 0% ±

Цитата (ikki)
это противоречит каким-либо условиям?

Нет, просто не красиво )


E-mail: overseerpower@gmail.com
Skype: Bogdan_Rud
WMR: R166238237296
 
Ответить
Сообщение
Цитата (ikki)
это противоречит каким-либо условиям?

Нет, просто не красиво )

Автор - LightZ
Дата добавления - 03.02.2013 в 15:48
AlexM Дата: Воскресенье, 03.02.2013, 19:50 | Сообщение № 31
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4448
Репутация: 1094 ±
Замечаний: 0% ±

Excel 2003
208 символов
[vba]
Код
Sub Macros()
With ThisWorkbook.VBProject.VBComponents.Item("tt").CodeModule
For i = 1 To .CountOfLines
If InStr(.Lines(i, 1), "MsgBox ""No :(""") > 0 Then .ReplaceLine i, Replace(.Lines(i, 1), "No :(", "Yes :)")
Next
End With
End Sub
[/vba]
Учитывает отступы, другие операторы и комментарии в строке с MsgBox "No :(". Заменяется только содержимое MsgBox



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Воскресенье, 03.02.2013, 19:50
 
Ответить
Сообщение208 символов
[vba]
Код
Sub Macros()
With ThisWorkbook.VBProject.VBComponents.Item("tt").CodeModule
For i = 1 To .CountOfLines
If InStr(.Lines(i, 1), "MsgBox ""No :(""") > 0 Then .ReplaceLine i, Replace(.Lines(i, 1), "No :(", "Yes :)")
Next
End With
End Sub
[/vba]
Учитывает отступы, другие операторы и комментарии в строке с MsgBox "No :(". Заменяется только содержимое MsgBox

Автор - AlexM
Дата добавления - 03.02.2013 в 19:50
ikki Дата: Воскресенье, 03.02.2013, 20:33 | Сообщение № 32
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
Цитата (AlexM)
Учитывает отступы, другие операторы и комментарии в строке с MsgBox "No :(". Заменяется только содержимое MsgBox

нет, не учитывает.
нет, не только.

[vba]
Код
s="No :(": If i>5 Then MsgBox "No :(" ' комментарий с No :(
[/vba]


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщение
Цитата (AlexM)
Учитывает отступы, другие операторы и комментарии в строке с MsgBox "No :(". Заменяется только содержимое MsgBox

нет, не учитывает.
нет, не только.

[vba]
Код
s="No :(": If i>5 Then MsgBox "No :(" ' комментарий с No :(
[/vba]

Автор - ikki
Дата добавления - 03.02.2013 в 20:33
AlexM Дата: Воскресенье, 03.02.2013, 20:45 | Сообщение № 33
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4448
Репутация: 1094 ±
Замечаний: 0% ±

Excel 2003
А так 230. smile
[vba]
Код
If InStr(.Lines(i, 1), "MsgBox ""No :(""") > 0 Then .ReplaceLine i, Replace(.Lines(i, 1), "MsgBox ""No :(""", "MsgBox ""Yes :)""")
[/vba]
Думал сократить на "MsgBox " не вышло.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеА так 230. smile
[vba]
Код
If InStr(.Lines(i, 1), "MsgBox ""No :(""") > 0 Then .ReplaceLine i, Replace(.Lines(i, 1), "MsgBox ""No :(""", "MsgBox ""Yes :)""")
[/vba]
Думал сократить на "MsgBox " не вышло.

Автор - AlexM
Дата добавления - 03.02.2013 в 20:45
LightZ Дата: Воскресенье, 03.02.2013, 20:56 | Сообщение № 34
Группа: Авторы
Ранг: Форумчанин
Сообщений: 120
Репутация: 48 ±
Замечаний: 0% ±

Цитата (LightZ)
AlexM, суть та, но если попадется еще какой-то макрос с такой же строкой - тогда и она заменится Не зря ведь я написал именно макрос "test"



E-mail: overseerpower@gmail.com
Skype: Bogdan_Rud
WMR: R166238237296
 
Ответить
Сообщение
Цитата (LightZ)
AlexM, суть та, но если попадется еще какой-то макрос с такой же строкой - тогда и она заменится Не зря ведь я написал именно макрос "test"


Автор - LightZ
Дата добавления - 03.02.2013 в 20:56
ikki Дата: Воскресенье, 03.02.2013, 21:00 | Сообщение № 35
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
AlexM, почти.
не считая, что в тексте кода теоретически могут быть комментарии, полностью совпадающие с указанной командой, а также присвоение переменной строки, полностью содержащей интересующую нас строку.
но это чрезвычайно маловероятно, конечно wink

всё же, согласись, сокращать за счет потери точности - бессмысленно и чревато smile
сократить код можно, присвоив строку переменной.
да и .Lines(i, 1) тоже можно присвоить - другой переменной.
на сокращение времени работы это вряд ли существенно скажется.


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki


Сообщение отредактировал ikki - Воскресенье, 03.02.2013, 21:01
 
Ответить
СообщениеAlexM, почти.
не считая, что в тексте кода теоретически могут быть комментарии, полностью совпадающие с указанной командой, а также присвоение переменной строки, полностью содержащей интересующую нас строку.
но это чрезвычайно маловероятно, конечно wink

всё же, согласись, сокращать за счет потери точности - бессмысленно и чревато smile
сократить код можно, присвоив строку переменной.
да и .Lines(i, 1) тоже можно присвоить - другой переменной.
на сокращение времени работы это вряд ли существенно скажется.

Автор - ikki
Дата добавления - 03.02.2013 в 21:00
AlexM Дата: Воскресенье, 03.02.2013, 21:14 | Сообщение № 36
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4448
Репутация: 1094 ±
Замечаний: 0% ±

Excel 2003
Цитата (ikki)
всё же, согласись

Ок. 100% правы.
Если учесть все. Чтобы замена была только в макросе "test", не реагировала на MsgBox "No :(" в комментариях и все что уже учитывает, то код получается большой.
В любом случае задача оказалась полезной. Ранее макросы макросами не правил. Теперь знаю как с такими задачами справляться. smile



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
Сообщение
Цитата (ikki)
всё же, согласись

Ок. 100% правы.
Если учесть все. Чтобы замена была только в макросе "test", не реагировала на MsgBox "No :(" в комментариях и все что уже учитывает, то код получается большой.
В любом случае задача оказалась полезной. Ранее макросы макросами не правил. Теперь знаю как с такими задачами справляться. smile

Автор - AlexM
Дата добавления - 03.02.2013 в 21:14
LightZ Дата: Понедельник, 04.02.2013, 17:38 | Сообщение № 37
Группа: Авторы
Ранг: Форумчанин
Сообщений: 120
Репутация: 48 ±
Замечаний: 0% ±

[offtop]
Эх, что-то вдохновила меня эта тема, решил вот чуток поиграться с VBProject'ом
На 100% не уверен, что до меня этого никто не делал (возможно просто не попадалось на глаза), так что строго не судите smile

1. addToReferences - включаем "доверять доступ к объектной модели проектов VBA" (на всякий случай) и добавляем в References 4 библиотеки: Scripting, RegExp, ADODB, WScript.Shell.
Добавил себе в Personal на Workbook_Open.
Возможно в скором добавляю проверку на версии библиотек.

[vba]
Код
Private Sub addToReferences()
On Error Resume Next
     Dim strVal As String
     Dim objWs As Object
      
     Set objWs = CreateObject("WScript.Shell")
     strVal = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & Application.Version & "\Excel\Security\AccessVBOM"
     objWs.RegWrite Name:=strVal, Value:=1, Type:="REG_DWORD"  
      
     With ActiveWorkbook.VBProject.References
         .AddFromGuid "{420B2830-E718-11CF-893D-00A0C9054228}", 1, 0 'Scripting
         .AddFromGuid "{3F4DACA7-160D-11D2-A8E9-00104B365C9F}", 5, 5 'VBScript_RegExp_55
         .AddFromGuid "{B691E011-1797-432E-907A-4D8C69339129}", 6, 1 'ADODB
         .AddFromGuid "{F935DC20-1CF0-11D0-ADB9-00C04FD58A0B}", 1, 0 'IWshRuntimeLibrary
     End With
End Sub
[/vba]

2. addCommToModules - добавляется в каждый модуль активной книги описание вверху кода (после Option Explicit): название модуля, дата и время, имя пользователя.
Добавил себе на панель быстрого доступа.

[vba]
Код
Sub addCommToModules()
On Error Resume Next
     Dim i As Long
         With ActiveWorkbook.VBProject.VBComponents
             For i = 1 To .Count
                 If .item(i).Type = 1 Then '1 тип = модуль
                     .item(i).CodeModule.AddFromString (addText(.item(i).Name, Now, Application.UserName))
                 End If
             Next
         End With
     MsgBox "Описание модулей добавлено", vbInformation, "Information"
End Sub

Private Function addText(sItem1$, sItem2$, sItem3$) As String
     addText = Chr(39) & "-------------------------------------" & vbCrLf _
             & Chr(39) & "Module    : " & sItem1 & vbCrLf _
             & Chr(39) & "DateTime  : " & sItem2 & vbCrLf _
             & Chr(39) & "Developer : " & sItem3 & vbCrLf _
             & Chr(39) & "-------------------------------------"
End Function
[/vba]
К сообщению приложен файл: add.xls (32.0 Kb)


E-mail: overseerpower@gmail.com
Skype: Bogdan_Rud
WMR: R166238237296
 
Ответить
Сообщение[offtop]
Эх, что-то вдохновила меня эта тема, решил вот чуток поиграться с VBProject'ом
На 100% не уверен, что до меня этого никто не делал (возможно просто не попадалось на глаза), так что строго не судите smile

1. addToReferences - включаем "доверять доступ к объектной модели проектов VBA" (на всякий случай) и добавляем в References 4 библиотеки: Scripting, RegExp, ADODB, WScript.Shell.
Добавил себе в Personal на Workbook_Open.
Возможно в скором добавляю проверку на версии библиотек.

[vba]
Код
Private Sub addToReferences()
On Error Resume Next
     Dim strVal As String
     Dim objWs As Object
      
     Set objWs = CreateObject("WScript.Shell")
     strVal = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & Application.Version & "\Excel\Security\AccessVBOM"
     objWs.RegWrite Name:=strVal, Value:=1, Type:="REG_DWORD"  
      
     With ActiveWorkbook.VBProject.References
         .AddFromGuid "{420B2830-E718-11CF-893D-00A0C9054228}", 1, 0 'Scripting
         .AddFromGuid "{3F4DACA7-160D-11D2-A8E9-00104B365C9F}", 5, 5 'VBScript_RegExp_55
         .AddFromGuid "{B691E011-1797-432E-907A-4D8C69339129}", 6, 1 'ADODB
         .AddFromGuid "{F935DC20-1CF0-11D0-ADB9-00C04FD58A0B}", 1, 0 'IWshRuntimeLibrary
     End With
End Sub
[/vba]

2. addCommToModules - добавляется в каждый модуль активной книги описание вверху кода (после Option Explicit): название модуля, дата и время, имя пользователя.
Добавил себе на панель быстрого доступа.

[vba]
Код
Sub addCommToModules()
On Error Resume Next
     Dim i As Long
         With ActiveWorkbook.VBProject.VBComponents
             For i = 1 To .Count
                 If .item(i).Type = 1 Then '1 тип = модуль
                     .item(i).CodeModule.AddFromString (addText(.item(i).Name, Now, Application.UserName))
                 End If
             Next
         End With
     MsgBox "Описание модулей добавлено", vbInformation, "Information"
End Sub

Private Function addText(sItem1$, sItem2$, sItem3$) As String
     addText = Chr(39) & "-------------------------------------" & vbCrLf _
             & Chr(39) & "Module    : " & sItem1 & vbCrLf _
             & Chr(39) & "DateTime  : " & sItem2 & vbCrLf _
             & Chr(39) & "Developer : " & sItem3 & vbCrLf _
             & Chr(39) & "-------------------------------------"
End Function
[/vba]

Автор - LightZ
Дата добавления - 04.02.2013 в 17:38
RAN Дата: Понедельник, 04.02.2013, 19:30 | Сообщение № 38
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010


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

Автор - RAN
Дата добавления - 04.02.2013 в 19:30
nerv Дата: Воскресенье, 10.02.2013, 18:48 | Сообщение № 39
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Репутация: 193 ±
Замечаний: 0% ±

LightZ, +


Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


YM 41001156540584 / WM WMR R21924176233

https://github.com/nervgh/vba
 
Ответить
СообщениеLightZ, +

Автор - nerv
Дата добавления - 10.02.2013 в 18:48
visak Дата: Четверг, 06.03.2014, 16:59 | Сообщение № 40
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
А как сделать, чтобы при помощи выбора в в комбобоксе определённого значения, в модуле менялось значение. Например
Код
col = sdate(Date - 3)
. В комбобоксе я выбираю цифру 1, в модуле он менял
Код
col = sdate(Date - 1)
, выбираю цифру 6, он менял
Код
col = sdate(Date - 6)
.
 
Ответить
СообщениеА как сделать, чтобы при помощи выбора в в комбобоксе определённого значения, в модуле менялось значение. Например
Код
col = sdate(Date - 3)
. В комбобоксе я выбираю цифру 1, в модуле он менял
Код
col = sdate(Date - 1)
, выбираю цифру 6, он менял
Код
col = sdate(Date - 6)
.

Автор - visak
Дата добавления - 06.03.2014 в 16:59
Мир MS Excel » Работа и общение » Мозговой штурм » Изменить код модуля макросом (Мозговой штурм для программистов)
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск:

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