Как вставить указанные c данные из группы ячеек в зависимости от выбранной ячейки @VBA - PullRequest
1 голос
/ 10 февраля 2020

Я действительно любитель кодирования, и это моя первая попытка. Я хочу создать макрос, который в зависимости от выбранной ячейки (например, A1) откроет ie, вставит данные для входа из столбцов B и C и введите сайт. После некоторого поиска я закончил большую часть этого, но я не могу указать строку, с которой я хочу работать. Мне нужен макрос для получения информации из столбцов логина и пароля соответственно в зависимости от выбранной ячейки (например, я выбираю A1, макрос вставляет данные из B1 и C1. Или я выбираю A2, он идет из B2, C2 et c ). Вот код, который мне удалось написать до сих пор

Dim HTMLDoc As HTMLDocument
Dim MyBrowser As InternetExplorer
Sub Test()

Dim MyHTML_Element As IHTMLElement
Dim MyURL As String
On Error GoTo Err_Clear
MyURL = "my site"
Set MyBrowser = New InternetExplorer
MyBrowser.Silent = True
MyBrowser.navigate MyURL
MyBrowser.Visible = True
Do
Loop Until MyBrowser.readyState = READYSTATE_COMPLETE
Set HTMLDoc = MyBrowser.document
HTMLDoc.all.UserName.Value = Range("A1")
HTMLDoc.all.Password.Value = Range("B1")
Application.SendKeys (ENTER)

End Sub

Спасибо за ваше время.

1 Ответ

0 голосов
/ 10 февраля 2020

Вы можете сделать это:

With Selection.Cells(1).EntireRow
    HTMLDoc.all.UserName.Value = .Cells(2).value
    HTMLDoc.all.Password.Value = .Cells(3).value
End With

.Cells(1) на Selection предназначен для управления случаем, когда пользователь мог выбрать несколько ячеек. Возможно, было бы безопаснее проверить это, прежде чем продолжить: в случае, если Selection.Cells.Count > 1 вы можете открыть окно сообщения и выйти.

Например:

If TypeName(Selection) <> "Range" Then 
   Msgbox "Select a cell first!"
   Exit Sub
End if

If Selection.Rows.Count > 1 then
    MsgBox "Select a single row!"
    Exit sub
End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...