Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Excel VBA (часть 3)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

mcdie



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Код:
 
*/
  Dim DayOfW As Integer
  DayOfW = Weekday(Now, vbMonday)
  Dim I, J, D As Integer
  Dim ArrB(1 To 3, 1 To 7) As String
  Dim ArrA(1 To 21) As String
  Dim ArrS(1 To 21) As Boolean
  Dim ACount As Integer
  Dim ARND As Integer
  'сохранение во временные массивы
  For J = 1 To 21
    ArrA(J) = Sheets("Лист1").Cells(J, 1)
    ArrS(J) = False
  Next J
  For D = 1 To 7
    For I = 1 To 3
      ArrB(I, D) = Sheets("Лист2").Cells(I + 1, D)
    Next I
  Next D
  ACount = 0
  'расчёт повторяющихся значений
  For J = 1 To 21
    For D = 1 To 21
      A1 = (D - 1) Mod 3 + 1
      A2 = (D - 1) \ 3 + 1
      If ArrA(J) = ArrB(A1, A2) Then
        ArrS(J) = True
        ACount = ACount + 1
        Exit For
      End If
    Next D
  Next J
  ACount = 21 - ACount
  'расчёт случайного значения по дню недели
  For J = 1 To 3
    S = ""
    ARND = Int((ACount * Rnd) + 1)
    For I = 1 To 21
      If ArrS(I) = True Then
        ARND = ARND + 1
      ElseIf ARND = I Then
        S = ArrA(I)
        ArrS(I) = True
        ACount = ACount - 1
      End If
    Next I
    ArrB(J, DayOfW) = S
  Next J
  'вставка расчётных значений на Лист2
  For D = 1 To 7
    For I = 1 To 3
      Sheets("Лист2").Cells(I + 1, D) = ArrB(I, D)
    Next I
  Next D
' + сохранение можно добавить чтобы данные о выполненном макросе сохранялись на Листе
 ActiveWorkbook.Save
*/
 


Всего записей: 145 | Зарегистр. 03-05-2006 | Отправлено: 18:02 28-12-2010 | Исправлено: mcdie, 18:15 28-12-2010
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Excel VBA (часть 3)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru