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

Вход

Регистрация

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

 

= Мир MS Excel/Передача листа в качестве аргумента в подпрограмму - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Передача листа в качестве аргумента в подпрограмму (Макросы/Sub)
Передача листа в качестве аргумента в подпрограмму
Sashagor1982 Дата: Суббота, 28.01.2023, 16:36 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 287
Репутация: -6 ±
Замечаний: 0% ±

Excel 2007
Добрый день, пытаюсь передать лист Excel в качестве аргумента, появляется ошибка несоответствие типов, подскажите решение
[vba]
Код
Sub Plan()
    Set NewBook = Workbooks.Add
    Set ws = NewBook.Worksheets(1)
        ws.Name = "План"
    Call Vid(ws)
End Sub
Private Sub Vid(ByRef ws As Worksheet)
    Dim shir
    shir = Array(8, 60, 20, 20, 20)
    With ws
        For i = 1 To 18
            .Columns(i).ColumnWidth = shir(i)
        'Cells(5, i) = i
        Next
    End With
End Sub
[/vba]
 
Ответить
СообщениеДобрый день, пытаюсь передать лист Excel в качестве аргумента, появляется ошибка несоответствие типов, подскажите решение
[vba]
Код
Sub Plan()
    Set NewBook = Workbooks.Add
    Set ws = NewBook.Worksheets(1)
        ws.Name = "План"
    Call Vid(ws)
End Sub
Private Sub Vid(ByRef ws As Worksheet)
    Dim shir
    shir = Array(8, 60, 20, 20, 20)
    With ws
        For i = 1 To 18
            .Columns(i).ColumnWidth = shir(i)
        'Cells(5, i) = i
        Next
    End With
End Sub
[/vba]

Автор - Sashagor1982
Дата добавления - 28.01.2023 в 16:36
Pelena Дата: Суббота, 28.01.2023, 18:34 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19176
Репутация: 4413 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
Вместо ByRef сделайте ByVal
И для массива shir из пяти элементов цикл от 1 до 18 явно перебор.
К тому же при таком определении массива индекс будет начинаться с нуля


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Вместо ByRef сделайте ByVal
И для массива shir из пяти элементов цикл от 1 до 18 явно перебор.
К тому же при таком определении массива индекс будет начинаться с нуля

Автор - Pelena
Дата добавления - 28.01.2023 в 18:34
Sashagor1982 Дата: Воскресенье, 29.01.2023, 18:06 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 287
Репутация: -6 ±
Замечаний: 0% ±

Excel 2007
Спасибо решение помогло
 
Ответить
СообщениеСпасибо решение помогло

Автор - Sashagor1982
Дата добавления - 29.01.2023 в 18:06
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Передача листа в качестве аргумента в подпрограмму (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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