Вставка в Excel ActiveX ComboBox - PullRequest
0 голосов
/ 23 марта 2020

Я пытаюсь скопировать данные из одной рабочей книги в другую рабочую книгу, созданную как опрос.

В форме опроса мы используем элементы управления ActiveX для полей со списком и флажков. Я оставил два примера способов, которые я попробовал (и потерпел неудачу).

Sub TransferData()

Set Source = Workbooks.Open("FromHere.xlsm")
Set qstnr = Workbooks.Open("ToHere.xlsx")

' Banner Form Classification
    Source.Activate
    Cells(8, 2).Copy
    qstnr.Activate
    Set Cbo_Classification = qstnr.OLEObjects("Cbo_Classification")
    With Cbo_Classification.Object
     .Text = "Not sure what to do here"
    End With

' Reporting Organization
    Source.Activate
    Cells(9, 2).Copy
    qstnr.Activate
    'ActiveSheet.OLEObjects("Cbo_RptOrg").PasteSpecial Paste:=xlPasteValues

End Sub

РЕДАКТИРОВАТЬ: я смог получить объект для вставки при работе в той же книге с копией ниже. Я не понимаю, почему это не удается при работе вне документа.

Sub TransferObjects()

Dim wbk As Workbook: Set wbk = Workbooks.Open("CopyFrom.xlsm")
Dim tmplt As Workbook: Set tmplt = Workbooks.Open("CopyTo.xlsx")
Dim qstnr As Worksheet

Set qstnr = tmplt.Sheets("Sheet1")

qstnr.OLEObjects("Cbo_RptOrg").Object.Value = Range("K12").Value

End Sub

1 Ответ

0 голосов
/ 26 марта 2020
    ' Reporting Organization
    Source.Activate
    Dim Cbo_RptOrg As Variant
    Cbo_RptOrg = Cells(2, 9).Value
    qstnr.OLEObjects("Cbo_RptOrg").Object.Value = Cbo_RptOrg

Это сработало. Использование переменной как предложено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...