0
ハイパーリンクを抽出するColumn "U"ユニット(1)とそのセルの反対側の列 "E"を見て、それを新しいシートに貼り付けますユニット)3つのハイパーリンクを検索し、それぞれを新しいシートに出力する
私はプログラムを作成しましたが、必要な結果は得られません。
私はあなたの過ちをしていると思うSub подготовительная()
Dim r As Range
Dim rng As Range
Dim book1 As Workbook
Dim str As String
Dim gbr As Range
Set book1 = Workbooks.Open("E:\...\Вопрос.xlsx")
'переходим в активную книгу на 1-ую страницу и выделяем диапозон
book1.Worksheets("7").Activate
Set rng = book1.Worksheets("7").Range("U33:U99")
'находим первую 1
Set r = rng.Find(What:="1")
'запоминаем 1-ый адресс
firstAddress = r.Address
'другая переменная
Set gbr = r.Offset(, -16)
'забираем гиперссылку
str = gbr.Hyperlinks.Item(1).Address
'вставляем в Лист1
book1.Worksheets("Лист1").Cells(1, 1).Value = str
'ищем вторую 1
book1.Worksheets("7").Activate
Set r = r.FindNext(r)
If r.Address <> firstAddress Then
Set gbr = r.Offset(, -16)
str = gbr.Hyperlinks.Item(1).Address
book1.Worksheets("Лист2").Cells(1, 1).Value = str
Else: Exit Sub
End If
'ищем третью 1
book1.Worksheets("7").Activate
Set r = r.FindNext(r)
If r.Address <> firstAddress Then
Set gbr = r.Offset(, -16)
str = gbr.Hyperlinks.Item(1).Address
book1.Worksheets("Лист3").Cells(1, 1).Value = str
Else: Exit Sub
End If
End Sub
を、それがいずれかを投げていますエラー?それとも出力されないのでしょうか?コードをデバッグしましたか?正確に何が起こっていますか? – Siva
あなたのコードは新しいシート上のそれぞれの範囲(E33:E99)から最初の3つの要素を出力しますが、範囲(U33:U99)の値(1) – maxim465
私は問題が何かを理解しました。列「U」には数式しかありません。この式の値は(0,0,0,1,0,1,0,0,0,0,1)です。 – maxim465