Вопрос по excel, vba – Копирование элементов с одной страницы на другую в многостраничном режиме с помощью VBA в Excel

5

У меня есть многостраничный в пользовательской форме. Во время выполнения пользователь может выбрать добавление x количества страниц в любое время. Элементы каждой страницы будут одинаковыми. Мне интересно, есть ли способ дублировать эти элементы, или мне нужно заново создавать эти же элементы для каждой новой страницы? Если да, то как мне указать места на странице, где должен быть размещен элемент?

enter image description here

Вы можете дублировать их, копируя и вставляя или создавая с нуля. Siddharth Rout

Ваш Ответ

2   ответа
7

чтобы поместить все элементы управления в рамку на 1-й странице, а затем все остальное становится легким :)

Этот код скопирует элементы управления изPage1 вPage2 после созданияPage2 и выровняйте их соответственно.

Option Explicit

Private Sub CommandButton2_Click()
    Dim l As Double, r As Double
    Dim ctl As Control

    MultiPage1.Pages.Add

    MultiPage1.Pages(0).Controls.Copy
    MultiPage1.Pages(1).Paste

     For Each ctl In MultiPage1.Pages(0).Controls
        If TypeOf ctl Is MSForms.Frame Then
            l = ctl.Left
            r = ctl.Top
            Exit For
        End If
    Next

    For Each ctl In MultiPage1.Pages(1).Controls
        If TypeOf ctl Is MSForms.Frame Then
            ctl.Left = l
            ctl.Top = r
            Exit For
        End If
    Next
End Sub

SNAPSHOT

enter image description here

Когда я запускаю приведенный выше код, я получаю «Ошибка во время выполнения» -2147417949 (80010108) »: ошибка автоматизации объекта, вызванного как отсоединенного от его клиентов.» Ehudz
Genius! Спасибо! Ehudz
Это странно. Можете ли вы загрузить файл, который вы только что создали, и загрузить его, скажем, на wikisend.com, а затем поделиться ссылкой здесь.
если я закомментирую все и оставлю толькоMultiPage1.Pages.Add это дает мне ошибку Ehudz
какая строка дает вам ошибку? Я только что проверил это снова, и это работает.
0

«Ошибка времени выполнения» -2147417949 (80010108) »; может быть вызвано наличием фрейма где-то еще в форме..

Похожие вопросы