Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.08.2013, 17:40   #1
KaSS
Пользователь
 
Аватар для KaSS
 
Регистрация: 30.07.2013
Сообщений: 46
По умолчанию Публичный массив

Почему вот так :
Код:
Public arrTest(10) As String


Public Sub fnArrIn()
arrTest(1) = "100"
arrTest(2) = "200"
Cells(1, 1) = arrTest(1)
End Sub
Работает, а так:
Код:
Public MasCountPercentPremium() As String
Public str_count_percent As String
Public str_book As String
Public num_row As Integer, num_col As Integer
Public i As Integer, j As Integer

Public Sub RecordMas()
str_book = ActiveWorkbook.Name
str_book = Left(str_book, InStrRev(str_book, ".") - 1)
'
str_count_percent = "Расчет % премии"
num_row = Workbooks(str_book).Sheets(str_count_percent).Cells.SpecialCells(xlLastCell).Row
num_col = Workbooks(str_book).Sheets(str_count_percent).Cells(3, Columns.Count).End(xlToLeft).Column
'
ReDim MasCountPercentPremium(3 To num_row, 1 To num_col)
'
For i = 3 To num_row
    For j = 1 To num_col
        MasCountPercentPremium(i, j) = Workbooks(str_book).Sheets(str_count_percent).Cells(i, j)
    Next j
Next i

End Sub
Пишет ошибку, вроде как массив не может быть публичным?
perseverance overcomes all things
KaSS вне форума Ответить с цитированием
Старый 05.08.2013, 20:13   #2
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Может код расположен в модуле листа? в модулях листов только нельзя Public константы и переменные объявлять. Максимум переменные уровня модуля.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 06.08.2013, 09:03   #3
KaSS
Пользователь
 
Аватар для KaSS
 
Регистрация: 30.07.2013
Сообщений: 46
По умолчанию

Цитата:
Сообщение от The_Prist Посмотреть сообщение
Может код расположен в модуле листа? в модулях листов только нельзя Public константы и переменные объявлять. Максимум переменные уровня модуля.
Спасибо, да, он там и расположен. Переделаю. Спасибо
perseverance overcomes all things
KaSS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан одномерный массив, сформировать новый массив по заданному правилу {Delphi} Nickolai47 Помощь студентам 5 16.12.2012 14:51
С# задан массив 5х5. сформировать массивы А и В. в массив А поместить элементы с четными индексами, в массив В с нечетны Koksa Помощь студентам 0 10.10.2011 11:26
Массив - Нужно написать массив и распечатать на экран с конца в начало(язык С++) econ Помощь студентам 1 29.05.2011 22:02
Как объявить глобальный/публичный вектор huzik Общие вопросы C/C++ 1 13.11.2009 23:02
Публичный массив neugadal Microsoft Office Excel 2 27.07.2008 12:19