Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Слишком большое количество элементов в массиве / 10 сообщений из 10, страница 1 из 1
17.05.2018, 11:05
    #39645953
maxim863
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком большое количество элементов в массиве
Программа работает хорошо ,когда количество элементов в массиве равно 109 . Но мне нужно 174 . Когда я записываю 174 эл-та строка

Код: vbnet
1.
F = Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "100", "101", "102", "103", "104", "105", "106", "107", "108", "109", "110", "111", "112", "113")

становится красной и выдает ошибку Syntax Error . Как быть в такой ситуации ?

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
Sub óäàëèòü()
 Dim book1 As Workbook
 Dim B As String
 Dim v As Long
 Dim e As Long
 Dim F
 Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    Application.EnableEvents = False
    
F = Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "100", "101", "102", "103", "104", "105", "106", "107", "108", "109")

 
 
For t = 61 To 88
     Set book1 = Workbooks.Open("E:\Super M\Ïðîåêò ñòàâêè\Ïîèñê ðåøåíèÿ\Óñîâ 7\âñïîìîãàòåëüíûå ïðîãðàììû\3 ñåçîíà\áîëâàíêà\" & F(t) & ".xlsm")
   For v = 1 To 14

        book1.Worksheets("Ëèñò" & v).Cells(34, 1).Resize(200, 6).ClearContents
          
   Next v
    book1.Save
    book1.Close
Next t
  
  Application.ScreenUpdating = True
  Application.Calculation = xlCalculationAutomatic
  Application.EnableEvents = True
     
   End Sub
   


...
Рейтинг: 0 / 0
17.05.2018, 11:07
    #39645957
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком большое количество элементов в массиве
maxim863,

Попробуйте разбить строку на несколько:
Код: vbnet
1.
2.
3.
f = Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "21", _
 "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62",  _
"63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "100", "101", "102", "103", "104", "105", "106", "107", "108", "109", "110", "111", "112", "113")
...
Рейтинг: 0 / 0
17.05.2018, 11:08
    #39645959
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком большое количество элементов в массиве
но куда проще было бы записать эти номера на лист в ячейки и оттуда считывать.
...
Рейтинг: 0 / 0
17.05.2018, 11:10
    #39645961
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком большое количество элементов в массиве
Да заполнить в цикле, ё моё...
...
Рейтинг: 0 / 0
17.05.2018, 11:16
    #39645968
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком большое количество элементов в массиве
А зачем вообще массив нужен, если известно, что F(t)=t+1?
Код: plaintext
1.
2.
3.
 [code=vbnet]
For t = 61 To 88
     Set book1 = Workbooks.Open("E:\что-то там\" & t+1 & ".xlsm")

...
Рейтинг: 0 / 0
18.05.2018, 09:03
    #39646516
maxim863
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком большое количество элементов в массиве
Казанский,
Спасибо . Так проще
...
Рейтинг: 0 / 0
18.05.2018, 13:37
    #39646704
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком большое количество элементов в массиве
Код: c#
1.
Enumerable.Range(1, 128).Select(p=>p.ToString()).ToArray()
...
Рейтинг: 0 / 0
18.05.2018, 19:07
    #39646866
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком большое количество элементов в массиве
maxim863,

Код: vbnet
1.
2.
3.
4.
5.
Dim arSrc As Variant, arRes As Variant
    Range("A1").Value = 1
    Range("A1").DataSeries Rowcol:=xlColumns, Type:=xlLinear, Step:=1, Stop:=174
    arSrc = Range("A1:A174").Value
    arRes = Application.Transpose(Application.WorksheetFunction.Index(arSrc, 0, 0))
...
Рейтинг: 0 / 0
19.05.2018, 22:57
    #39647157
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком большое количество элементов в массиве
big-duke,
не надо трогать лист :)
Код: vbnet
1.
arRes = [TRANSPOSE(ROW(1:174))]

Правда, это работает только при стиле ссылок А1. Для любого стиля ссылок
Код: vbnet
1.
If Application.ReferenceStyle = xlA1 Then arRes = [TRANSPOSE(ROW(1:174))] Else arRes = [TRANSPOSE(ROW(R1:R174))]
...
Рейтинг: 0 / 0
20.05.2018, 11:29
    #39647206
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком большое количество элементов в массиве
Казанский,

[TRANSPONSE] это вызов Application.Transpose ?
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Слишком большое количество элементов в массиве / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]