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

Вход

Регистрация

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

 

= Мир MS Excel/Массив, Цикл - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Массив, Цикл
ABC Дата: Четверг, 02.08.2012, 19:02 | Сообщение № 1
Группа: Друзья
Ранг: Обитатель
Сообщений: 397
Репутация: 112 ±
Замечаний: 0% ±

Excel 2007
Здравствуйте!
как можно заменить B1 на B2, B2 на B3...B9 на B10 при каждом цикле i
[vba]
Code
Sub www()
B1 = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1)
B2 = Array(2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2)
B3 = Array(3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3)
B4 = Array(4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4)
B5 = Array(5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5)
B6 = Array(6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6)
B7 = Array(7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7)
B8 = Array(8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8)
B9 = Array(9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9)
B10 = Array(10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
s = 0
For i = 1 To 10
For dd = 1 To 11
     g = Mid(Selection.Value, dd, 1) * B1(dd - 1) 'B2,B3,B4...B10
     s = s + g
Next
w = s - Int(s / 11) * 11
'If w < 10 Then Exit For
Next
MsgBox "_" & w
End Sub
[/vba]


MS Excel 2007 and 2010...
-------------------------------
С Уважением, Даулет
 
Ответить
СообщениеЗдравствуйте!
как можно заменить B1 на B2, B2 на B3...B9 на B10 при каждом цикле i
[vba]
Code
Sub www()
B1 = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1)
B2 = Array(2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2)
B3 = Array(3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3)
B4 = Array(4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4)
B5 = Array(5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5)
B6 = Array(6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6)
B7 = Array(7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7)
B8 = Array(8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8)
B9 = Array(9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9)
B10 = Array(10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
s = 0
For i = 1 To 10
For dd = 1 To 11
     g = Mid(Selection.Value, dd, 1) * B1(dd - 1) 'B2,B3,B4...B10
     s = s + g
Next
w = s - Int(s / 11) * 11
'If w < 10 Then Exit For
Next
MsgBox "_" & w
End Sub
[/vba]

Автор - ABC
Дата добавления - 02.08.2012 в 19:02
Формуляр Дата: Четверг, 02.08.2012, 20:31 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Здравствуйте, ABC.
Смысл задачи как-то непонятен.
Зачем вообще городить матрицу, значения которой легко вычисляются формулой?

[vba]
Code
B(i, j) = ((i + j - 1) Mod 10) + 1
[/vba]


Excel 2003 EN, 2013 EN

Сообщение отредактировал Формуляр - Четверг, 02.08.2012, 20:32
 
Ответить
СообщениеЗдравствуйте, ABC.
Смысл задачи как-то непонятен.
Зачем вообще городить матрицу, значения которой легко вычисляются формулой?

[vba]
Code
B(i, j) = ((i + j - 1) Mod 10) + 1
[/vba]

Автор - Формуляр
Дата добавления - 02.08.2012 в 20:31
nilem Дата: Четверг, 02.08.2012, 20:55 | Сообщение № 3
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Может без +1, типа
[vba]
Code
Sub www()
Dim i&, j&, t& '...
'B1 = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1)
'B2 = Array(2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2)
'B3 = Array(3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3)
'B4 = Array(4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4)
'B5 = Array(5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5)
'B6 = Array(6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6)
'B7 = Array(7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7)
'B8 = Array(8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8)
'B9 = Array(9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9)
'B10 = Array(10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
's = 0
For i = 1 To 10
     For j = 1 To 11
         t = (i + j - 1) Mod 10: If t = 0 Then t = 10
         s = s + Mid(Selection.Value, j, 1) * t
     Next
     w = s - Int(s / 11) * 11
     If w < 10 Then Exit For
Next
MsgBox "_" & w
End Sub
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеМожет без +1, типа
[vba]
Code
Sub www()
Dim i&, j&, t& '...
'B1 = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1)
'B2 = Array(2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2)
'B3 = Array(3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3)
'B4 = Array(4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4)
'B5 = Array(5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5)
'B6 = Array(6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6)
'B7 = Array(7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7)
'B8 = Array(8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8)
'B9 = Array(9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9)
'B10 = Array(10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
's = 0
For i = 1 To 10
     For j = 1 To 11
         t = (i + j - 1) Mod 10: If t = 0 Then t = 10
         s = s + Mid(Selection.Value, j, 1) * t
     Next
     w = s - Int(s / 11) * 11
     If w < 10 Then Exit For
Next
MsgBox "_" & w
End Sub
[/vba]

Автор - nilem
Дата добавления - 02.08.2012 в 20:55
ABC Дата: Четверг, 02.08.2012, 21:42 | Сообщение № 4
Группа: Друзья
Ранг: Обитатель
Сообщений: 397
Репутация: 112 ±
Замечаний: 0% ±

Excel 2007
Спасибо Вам, nilem, Формуляр


MS Excel 2007 and 2010...
-------------------------------
С Уважением, Даулет
 
Ответить
СообщениеСпасибо Вам, nilem, Формуляр

Автор - ABC
Дата добавления - 02.08.2012 в 21:42
  • Страница 1 из 1
  • 1
Поиск:

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