Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Принудительная остановка надстройки "Поиск решения" через VBA, Эмуляция нажатия Esc не подходит
 
Цитата
Jack Famous написал:
OFF
Не совсем понял, что Вы имеете в виду.
Принудительная остановка надстройки "Поиск решения" через VBA, Эмуляция нажатия Esc не подходит
 
МатросНаЗебре,спасибо большое! Стыдно, что сам не допер) Действительно радикально, но мне сойдет.
Изменено: vainu - 05.12.2019 16:47:13
Принудительная остановка надстройки "Поиск решения" через VBA, Эмуляция нажатия Esc не подходит
 
Приветствую!
Подскажите пожалуйста, есть ли способ остановить через VBA запущенную надстройку "Поиск решения". Поиск в интернете ничего не дал.
К сожалению вариант решения через эмуляцию нажатия клавиши Esc не подходит. Может кто сталкивался с этим? Спасибо!
Параллельный запуск макросов в книгах, созданных в новых потоках, лак избежать окончания выполнения макроса перед запуском макроса в следующей книге
 
Спасибо тем, кто откликнулся!

bedvit,  По ссылке переходил.

Запуск через скрипты решил описываемую проблему, но создал новые))
Решил свою задачу путем вызова макроса при загрузке книги с задержкой в выполнении.  
Изменено: vainu - 05.12.2019 14:34:51
Параллельный запуск макросов в книгах, созданных в новых потоках, лак избежать окончания выполнения макроса перед запуском макроса в следующей книге
 
bedvit, Нет, когда запускаю руками, то все работает. Идет 100% загрузка ЦП.
Если мне удастся прервать ожидание выполнения макроса и запустить второй, то все будет работать. Но я не знаю, как прервать ожидание выполнения

То, что описано в коде, эквивалентно вызову этого окна: http://prntscr.com/q5sm5u


 
Изменено: vainu - 04.12.2019 00:50:09
Параллельный запуск макросов в книгах, созданных в новых потоках, лак избежать окончания выполнения макроса перед запуском макроса в следующей книге
 
Здравствуйте!
Ни как не могу наладить одновременный запуск макросов в книгах, которые открываются в новых потоках.

Сначала я создаю копию книги, затем, оставаясь в текущем экземпляре книги, открываю её копию в Новом Потоке  и хочу запустить выполнения долго расчета (Поиск решения). Но проблема в том, что при запуске макроса в первой книге   макрос во второй книге запустится только после выполнения в первой.

Если делать запуск не в цикле, а в единичном случае, то основная книга остается "висеть" до выполнения макроса в её копии.

Если запускать руками, то каждый файл запускается без проблем! (100% загрузка ЦП).

Могу ли я как-то после запуска макроса вернуть управление основной книге и дальше идти по циклу?  Или может хотя бы можно полностью остановить выполнение кода в основной книге (тогда смогу сделать 10 кнопок)?


Буду признателен за помощь, спасибо!

Код
Public newXLAppArr(1 To 10) As Variant


Public Sub creatNewVAR(ByVal varnum)
    FilePathh = ThisWorkbook.path &  "\VAR_" & varnum& ".xlsm"
    ThisWorkbook.SaveCopyAs filename:=FilePathh
    If Dir(FilePathh) <> "" Then
    
        Set newXLAppArr(varnum) = New Excel.Application
        With newXLAppArr(varnum)
            .Workbooks.Open FilePathh
            .WindowState = xlMaximized
            .Visible = True
        End With
        
        newXLAppArr(varnum).Application.Run "RunTestMacros"
        
    End If
End Sub

...

for i=1 to 10
 call creatNewVAR(i)
next 
Изменено: vainu - 04.12.2019 00:44:38
Поиск решения, Комбинаторная задача
 
Здравствуйте!
Может кто сможет подсказать, каким образом можно решить вот такую оптимизационную задачу:

Есть список из n артикулов(строки), которые необходимо сгруппировать на k групп. Сейчас я сделал поиск решения путем перебора чисел от 1 до k в каждой строке. Проблема в том, что, группы "I" из артикулов (a,b) / II (c,d) это тоже самое, что и "I" из артикулов (c,d) / II (a,b). Поставить ограничения "все разные" не получается. т.к. каждая группа будет содержать много артикулов. Есть ли какой-то хитрый способ исключить из подбора повторяющиеся комбинации?
Смена прокси в IE через InternetSetOption
 
Johny спасибо, но это не совсем то что мне нужно.
Я использую именно IE

Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.navigate ("https://2ip.ru")


и прокси мне нужно поменять именно для него. Есть вариант через реестр либо через функцию InternetSetOption.
Но как работать с этой функцией, ума не приложу(
Смена прокси в IE через InternetSetOption
 
Коллеги, добрый день!

Столкнулся с необходимость изменять прокси созданного объекта IE.
Поиск дал наводку на использование функции WinAPI - InternetSetOption
но реализовать смену прокси я так и не смог.
Возможно кто уже сталкивался с данной задачей и сможет подсказать как её решить.

Спасибо!
Изменение расположения макросов, Как изменить расположение макроса. (Применение только к текущей книге)
 
Всем большое спасибо!
Разобрался. Тему можно закрывать.
Изменение расположения макросов, Как изменить расположение макроса. (Применение только к текущей книге)
 
К сожалению выложить файл не могу.
Изменение расположения макросов, Как изменить расположение макроса. (Применение только к текущей книге)
 
Коллеги, добрый день.
Столкнулся со следующей проблемой:
На работе до меня создавали экселевский шаблон с кучей макросов. При создании все макросы были отмечены как применяемые ко всем открытым книгам.
Подскажите как можно исправить этот момент. Нужно что бы они работали только в текущей книге.
Нажимаю Alt+F8, выбираю "Находится в: Эта книга". Сохраняю, перезапускаю. Результат тот же.
Office 2010

Заранее огромное спасибо!
номер Listbox в качестве параметра
 
Здорово!
Спасибо большое
номер Listbox в качестве параметра
 
Здравствуйте!

Подскажите пожалуйста как можно реализовать обращение к элементу ActiveX по параметру.
Мне нужно что-то вроде этого:

Код
Select Case a
      Case 1
   p=1          
      Case 2
   p=2   
End Select

ListBox&p.additem("test")

Заранее огромно спасибо!
__
С уважением,
Веретенников Александр
Получение значений точек диаграммы
 
Конечная цель такова, чтобы иметь возможность работать со значениями всех существующих диаграмм в книге.
В процессе работы, формируется таблица по которой строится диаграмма. Значения в таблице постоянно меняются, для этого я и фиксирую значения.
Мне необходимо иметь возможность обращаться к  существующим диаграммам( а точнее к точкам коллекций) для дальнейшего анализа данных.



Получение значений точек диаграммы
 
Добрый день!
Подскажите пожалуйста, как мне получить значение конкретной точки, конкретной линии в диаграмме.
Так как диаграмм у меня много, то фиксирую их значения:
Код
Public Sub convert()
Dim aseries As Series
Dim achart As Chart

Set achart = ActiveSheet.ChartObjects(1).Chart
For Each aseries In achart.SeriesCollection
aseries.Values = aseries.Values
aseries.XValues = aseries.XValues
aseries.Name = aseries.Name
Next aseries
End Sub
Заранее спасибо!
__
С уважением,
Веретенников Александр
Изменено: vainu - 31.01.2014 15:51:02
Вставка значений из диапазона меньшего размера в болшьший
 
Хочется максимально упростить код, ибо подобная операция выполняется порядка 200 000 раз.
Вашу наводку понял, буду смотреть. Спасибо.
Вставка значений из диапазона меньшего размера в болшьший
 
Добрый вечер!
Подскажите пожалуйста есть ли простой способ скопировать значения из одного диапазона в другой.(размерность диапазонов разная)
к примеру на входе:
1 2 3
на выходе должно быть:
1
2
3
1
2
3
1

Хотелось бы обойтись без циклов и различных проверок. Может быть есть какой нибудь стандартный метод, о котором я не знаю(
Что нибудь вроде такого:
sh2.Range("A1:A7").Value = Application.Transpose(sh2.Range("B1:D1") .Value)

Заранее спасибо!
__
С уважением,
Веретенников Александр
Изменено: vainu - 31.12.2013 02:41:18
Чем заменить n вложенных циклов?
 
Спасибо большое за помощь! Задача выполнена)
Чем заменить n вложенных циклов?
 
>Сравнительно недавно была задача по всевозможным сочетаниям. По аналогии можно сделать и здесь.
>Вообще можно сделать универсальную формулу - сейчас там многие числа забиты напрямую, чтобы уменьшить количество операций.

Не могли бы вы поподробнее рассказать, как именно были вычислены значения в формуле. Мне жизненно необходимо вывести универсальную.
Чем заменить n вложенных циклов?
 
Спасибо за предложенный вариант. Ещё немного не понял его реализацию.
вы просили показать свой вариант расположения данных:
Чем заменить n вложенных циклов?
 
Добрый вечер господа. Прошу прощение за нубские вопросы, но может кто нибудь подскажет как лучше всего реализовать перебор всевозможных комбинаций.
Смысл в том, что у меня есть 6 интервалов и их границы. Мне нужно вывести всевозможные сочетания из этих интервалов.
Например:
инт1: 1-2
инт2: 5-7

На экране должно быть:
1 5
1 6
1 7
2 5
2 6
2 7
Самое простое что пришло в голову:
Код
For t1 = gran(1, 1) To gran(1, 2)
 For t2 = gran(2, 1) To gran(2, 2)
  For t3 = gran(3, 1) To gran(3, 2)
   For t4 = gran(4, 1) To gran(4, 2)
    For t5 = gran(5, 1) To gran(5, 2)
     For t6 = gran(6, 1) To gran(6, 2)
      posy = posy + 1
      sh1.Cells(posy, posx) = t1
      sh1.Cells(posy, posx + 1) = t2
      sh1.Cells(posy, posx + 2) = t3
      sh1.Cells(posy, posx + 3) = t4
      sh1.Cells(posy, posx + 4) = t5
      sh1.Cells(posy, posx + 5) = t6      
     Next t6
    Next t5
   Next t4
  Next t3
 Next t2
Next t1
Но мне необходимо иметь возможность изменять число интервалов. А если их будет 20, то столько вложенных циклов явно не дело.
Наверно это реализуется через рекурсию, но к сожалению я её так и не освоил((

Буду очень благодарен за помощь!
Спасибо.
Обращение к элементам ActiveX при открытии книги,
 
Спасибо всем большое за помощь! Вроде разобралсяю
Обращение к элементам ActiveX при открытии книги,
 
Добрый день!
Подскажите пожалуйста, как мне обратиться к элементам ActieveX при открытии формы или из модуля?
Такой подход не работает. Я явно что-то упускаю(


Private Sub Workbook_Open()
Set sh1 = ActiveWorkbook.Worksheets("Ëèñò1)
sh1.ComboBox1.Text = "test"
End Sub
Спасибо!
__
С уважением,
Александр
Страницы: 1
Наверх