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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2015, 23:32   #1
Sheogorath
 
Регистрация: 15.03.2015
Сообщений: 5
По умолчанию Перенос элементов одного массива в другой

Здравствуйте, уважаемые форумчане! Прошу Вашей помощи.
Есть такой код:
Код:
Public Sub test()
    Dim f(1 To 9, 1 To 9) As Byte
    
    f(1, 1) = 5
    Call testf(f)
    MsgBox "test = " + Str(f(1, 1))
End Sub

Public Sub testf(ByRef f As Variant)
    Dim b(1 To 9, 1 To 9) As Byte
    Dim i As Integer, j As Integer
    
    b(1, 1) = 10
    f = b
    MsgBox "testf = " + Str(f(1, 1))
End Sub
Почему testf = 10, а test = 0 ???
Sheogorath вне форума Ответить с цитированием
Старый 16.03.2015, 00:42   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

читайте в справке
Call Statement
там все написано

вот так:
Код:
    f(1) = 5
    testf (f)
    Debug.Print "test = " + Str(f(1))
test будет равно = 5 (как Вы, видимо, и расчитывали)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 16.03.2015, 02:28   #3
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Sheogorath, статические массивы не предназначены для присваивания "целиком". Объявите принимающий массив как динамический, и сразу станет хорошо.
Код:
ReDim f(1 To 9, 1 To 9) As Byte
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача нужных элементов из одного массива в другой по заданному условию vlad0off C# (си шарп) 0 30.03.2014 03:30
Перенос с одного листа на другой TemaZosin Microsoft Office Excel 1 04.10.2012 06:57
Си. перенос элементов одного массива в другой Денни Помощь студентам 7 07.02.2010 15:34
Перенос проги с одного ПК на другой Azef Помощь студентам 2 13.05.2008 18:07
Перенос из одного Image в другой Dimitriys Компоненты Delphi 5 14.07.2007 23:32