Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Интеррресная тема, советую посмотреть

528
17 ноября 2003 года
olegnet
154 / / 17.11.2003
Каким образом, в Excel, написать макрос – что бы он выполнял следующие действия:
Предположим, что у нас имеется некоторый набор символов (a,b,c,d,e), пишем макрос м назначаем к нему кнопку…при нажатии на кнопку должно происходить следующие выполнение в строке А в каждой ячейки: в первой ячейки а, во второй ячейки ав, в третьей – авс, и так далее,,,…все варианты комбинаций.
Далее код макроса должен производит следующее: как известно, на одном листе Excel в каждом из столбцов имеется по 65536 ячеек, так вот если количество комбинаций превысит данный предел, то нужно автоматически переходить на следующий столбец и так далии, пока все столбцы не будут заполнены,…затем проблема встаёт с листами (предположим, что у нас уже имеется 5 листов Excel) так вот как только 1 лист заполнен полностью, должен осуществляться переход на другой лист, и производится продолжение вставления комбинаций в ячейки…

Я так понимаю, что саму “матрицу” символов следует вносить в код, а не указывать форму или отдельный лист, но было бы удобней, если у нас символы находились на отдельном листе, откуда они и будут браться в дальнейшем для вариантов группировок и комбинаций…

Кто, чем может помочь???
если нет возможности ответить тут, то пишите на почту: [email]dyh@email.ru[/email] , только в теме укажите - VBA
267
17 ноября 2003 года
Cutty Sark
1.2K / / 17.10.2002
И чего интересного? Обычная рутинная задача...

Могу помочь, только ты внятно объясни, какие комбинации тебе надо получить.
Возьмем три символа для простоты а,в,с
Напиши сюда ВСЕ комбинации, которые ты хотел бы получать от этой программы.
528
17 ноября 2003 года
olegnet
154 / / 17.11.2003
речь идёт о том, что бы в код ввнести минимальный и максимальный размер (число) для дольнейших коамбинаций - к примеру от одного символа (а) и до 16 символов с повторами естественно (аааbbbbccabcbacb)...можно такое сделать,...???...
267
18 ноября 2003 года
Cutty Sark
1.2K / / 17.10.2002
Цитата:
Originally posted by olegnet
речь идёт о том, что бы в код ввнести минимальный и максимальный размер (число) для дольнейших коамбинаций - к примеру от одного символа (а) и до 16 символов с повторами естественно (аааbbbbccabcbacb)...можно такое сделать,...???...



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

258
18 ноября 2003 года
SergeySV
1.5K / / 19.03.2003
Цитата:
Originally posted by Cutty Sark


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



Кстати, интересно посмотреть на этот тетрис, а то я только слышал о нем, но ни разу не видел.:roll:

267
18 ноября 2003 года
Cutty Sark
1.2K / / 17.10.2002
Цитата:
Originally posted by SergeySV


Кстати, интересно посмотреть на этот тетрис, а то я только слышал о нем, но ни разу не видел.:roll:



Да нет проблем: вот тебе тетрис:

267
18 ноября 2003 года
Cutty Sark
1.2K / / 17.10.2002
Цитата:
Originally posted by Cutty Sark


Да нет проблем: вот тебе тетрис:




А вот змейка. Она мне больше нравится - классно сделана.

258
18 ноября 2003 года
SergeySV
1.5K / / 19.03.2003
Цитата:
Originally posted by Cutty Sark



А вот змейка. Она мне больше нравится - классно сделана.



Да, змейка, прикол, особенно кнопка БОСС :D

267
18 ноября 2003 года
Cutty Sark
1.2K / / 17.10.2002
Olegnet, получай программу.

Не забудь только перед зачетом разобраться, как она устроена, а то засыпят нафиг, мне обидно будет, что зря старался. ;)
528
19 ноября 2003 года
olegnet
154 / / 17.11.2003
да она мне не для зачёта,...я сам тут для себя...
а так спасибо,...сеёчас посмотрю...:angel:
528
19 ноября 2003 года
olegnet
154 / / 17.11.2003
Cutty Sark
--- очиень хорошо,..просто замечательно,...пасибо...
можиет те что-ниеБуть нужно...пиши, можно на мыло...
....
****
второй вопрос - каким образом изменить первый символ в ячейке - к примеру,
[COLOR=blue]A[/COLOR]qqq заменить на [COLOR=red]a[/COLOR] qqq и естественно применить это весь столбецъ,...мона такое сделать...
528
20 ноября 2003 года
olegnet
154 / / 17.11.2003
Cutty Sark...
послушай, а каким образом можно сделать так, что бы после перебора (и формирования)каждого столбцА, его результат прописывался бы (или вставлялся бы) к примеру в txt файл - и так каждый (но всё в один файл),...
267
20 ноября 2003 года
Cutty Sark
1.2K / / 17.10.2002
Цитата:
Originally posted by olegnet
Cutty Sark...
послушай, а каким образом можно сделать так, что бы после перебора (и формирования)каждого столбцА, его результат прописывался бы (или вставлялся бы) к примеру в txt файл - и так каждый (но всё в один файл),...



По поводу текстового файла - вот добавь три строчки в программку:

Код:
Sub Main()
Dim i As Integer
   
    Set ws = ThisWorkbook.Worksheets("Start")
    AllSymbols = ws.Range("B2").Value
    DigMax = Len(AllSymbols)
    MinLength = ws.Range("B3").Value
    MaxLength = ws.Range("B4").Value
    If MinLength > MaxLength Then Exit Sub
   
    Application.ScreenUpdating = False
    [COLOR=red]Open ThisWorkbook.Path & "\result.txt" For Output As #1[/COLOR]
   
    iRow = MaxRow 'Это для того, чтобы сразу воспользоваться функцией NextCell
    iCol = MaxCol
    Set w = ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)

    ReDim Letters(0 To MaxLength)  'Для чего "+1" станет ясно ниже
   
    For i = 0 To MaxLength - MinLength 'Начинаем с числа вида 00011111
        Letters(i) = 0
    Next i
    For i = MaxLength - MinLength + 1 To MaxLength
        Letters(i) = 1
    Next i
   
    While Letters(0) = 0 '0-й разряд специально сделан лишним, чтобы следить за "переполнением"
       
        Call NextCell 'Переходим к следующей ячейке
        w.Cells(iRow, iCol).Value = CurrentString() 'Записывем очередное слово
        Application.StatusBar = w.Name & ":" & iCol & ":" & iRow & "=" & w.Cells(iRow, iCol).Value
        [COLOR=red]Print #1, w.Cells(iRow, iCol).Value[/COLOR]
        Call NextArray
       
    Wend
   
    [COLOR=red]Close #1[/COLOR]
    Application.StatusBar = False
    Application.ScreenUpdating = True
   
End Sub


По поводу замены - нажми Ctrl+H ("аш", а не "эн"). Там разберешься...
528
20 ноября 2003 года
olegnet
154 / / 17.11.2003
пасибо...
на счёт того, как замену произвести - я немного код доработал, путём обыкновенной запииссси макроса:

Private Sub CommandButton1_Click()
Dim Rng As Range
For Each Rng In ActiveWindow.Selection
Rng.Value = Replace(Rng.Text, Left(Rng.Text, 1), LCase(Left(Rng.Text, 1)), 1, 1)
Next
End Sub

и в принципе усё,...прописываем в ячеёке символы, и если есть большая буква (к примеру) - первая,,,то мы её заменяем на маленькую...
---вот о чём я спрашивал,,,...но встроенная функция тоже пригодна...
***
теперь к нашиб "вопросам": при работе, если выйти из сианса произоАйдей остановка всего процеса преоАбразования и если в дальнейшем запустить - то усё СНОАчало начнётся,,,каким образом кнопку паузы приделать - у меня получается только что то с подключёнными библиотеками проблемы - так как я не знаю, коакая библиотека за какой клас отвечает - как доаработать тот код, коаторый ты мне прислал...?...
267
20 ноября 2003 года
Cutty Sark
1.2K / / 17.10.2002
Цитата:
Originally posted by olegnet
пасибо...
на счёт того, как замену произвести - я немного код доработал, путём обыкновенной запииссси макроса:

Private Sub CommandButton1_Click()
Dim Rng As Range
For Each Rng In ActiveWindow.Selection
Rng.Value = Replace(Rng.Text, Left(Rng.Text, 1), LCase(Left(Rng.Text, 1)), 1, 1)
Next
End Sub

и в принципе усё,...прописываем в ячеёке символы, и если есть большая буква (к примеру) - первая,,,то мы её заменяем на маленькую...
---вот о чём я спрашивал,,,...но встроенная функция тоже пригодна...
***
теперь к нашиб "вопросам": при работе, если выйти из сианса произоАйдей остановка всего процеса преоАбразования и если в дальнейшем запустить - то усё СНОАчало начнётся,,,каким образом кнопку паузы приделать - у меня получается только что то с подключёнными библиотеками проблемы - так как я не знаю, коакая библиотека за какой клас отвечает - как доаработать тот код, коаторый ты мне прислал...?...



Пауза? Эка ты хватил... Ладно, попробую тебе сделать паузу...

267
20 ноября 2003 года
Cutty Sark
1.2K / / 17.10.2002
Цитата:
Originally posted by Cutty Sark


Пауза? Эка ты хватил... Ладно, попробую тебе сделать паузу...



Кстати, если тебе нужно с маленькой буквы - так это можно сразу так делать.

Вставь вот эту строчку в функцию CurrentString перед самым EndFunction:
Mid(CurrentString, 1, 1) = LCase(Mid(CurrentString, 1, 1))

528
20 ноября 2003 года
olegnet
154 / / 17.11.2003
Cutty Sark
---
слушай, а ты случайно не занимаешься JAvoi,...в частн6ости меня интерресссует шаблоны для инет-магазина (примерно такая-же тежнология, как и на народе, когда мона там сайт сделать)...
я просто PHP и перловку только начал учить, а на Jave что-то не получается...
528
20 ноября 2003 года
olegnet
154 / / 17.11.2003
Cutty Sark
---
у тя электронный адрес - какой,...у мня [email]dyh@email.ru[/email]...
пришли поТДДверждение,,,есть о чём поговорить,...
просто некотороая направленность не для форума...
267
24 ноября 2003 года
Cutty Sark
1.2K / / 17.10.2002
Цитата:
Originally posted by olegnet
Cutty Sark
---
у тя электронный адрес - какой,...у мня [email]dyh@email.ru[/email]...
пришли поТДДверждение,,,есть о чём поговорить,...
просто некотороая направленность не для форума...



Вот, на тебе с паузами. Еще в пятницу сделал, но забыл положить...
Сам понимаешь, никаких защит от дурака я не делал. Если ты во время паузы изменишь параметры, а потом запустишь продолжение, результат будет непредсказуем. А так всё работает вроде...

239
24 ноября 2003 года
Dolonet
1.7K / / 20.05.2000
Цитата:
Originally posted by olegnet
в частности меня интерресссует шаблоны для инет-магазина (примерно такая-же тежнология, как и на народе, когда мона там сайт сделать)...
я просто PHP и перловку только начал учить, а на Jave что-то не получается...



Дык тут вообще проблем нет - в нете если покопаится можно кучу интернет-магазинов найти в скриптах... правда, конечно, их переделывать надо будет... %/

528
25 ноября 2003 года
olegnet
154 / / 17.11.2003
ну да, проблем нет - если бы так усё просто было --- моЖиет поможиешь...
528
25 ноября 2003 года
olegnet
154 / / 17.11.2003
Cutty Sark
---пасибо, пОапробую...как жизнь то?...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог