0
我有兩個工作表,我正在使用長序列號作爲單元格值。一張工作表(工作表1)具有超鏈接到涉及該項目的網頁的每個單獨序列號的列表。該列表範圍從A1:A31。VBA將單元格複製到其他單元格具有相同值的工作表中
第二片材(Sheet 2中)具有相同的那些序列號的大量的列表,但在範圍G1:G102。區別在於這個列表沒有超鏈接,並且序列號有時會出現多次。也有一些區域的單元格是空白的,所以它會分割連續的數據列。
我基本上想寫一個宏,它將Sheet1中的第一個列表和每個單元格的它與Sheet2列中的每個單元格進行比較。然後,如果值匹配,我想複製超鏈接來自工作表1的單元格並將其粘貼到Sheet 2中具有相同值的單元格中。因此,Sheet2列G現在擁有完整填充的超鏈接序列號列表。
任何人都可以幫助我嗎?這是我迄今爲止...似乎並沒有工作:
Sub CopyHyperlinks()
Dim cell As Excel.Range
Dim myRange As Excel.Range
Dim newRange As Excel.Range
Set myRange = Excel.ThisWorkbook.Sheets("Contents").Range("A1:A31")
Set newRange = Excel.ThisWorkbook.Sheets("Sheet1").Range("G1:G102")
For Each cell In myRange
If myRange.Cells.Value = newRange.Cells.Value Then newRange.Cells.Value = myRange.Cells.Value
Next cell
End Sub'
是網址相同,除了序列號的區別嗎? (我在問,因爲只有在公式情況下才能做到這一點)。更好的是,請張貼兩個數據集的屏幕截圖。這將有很大幫助。 –
請檢查[HYPERLINK](https://support.office.com/en-US/article/HYPERLINK-function-333C7CE6-C5AE-4164-9C47-7DE9B76F577F)函數。它可能會做所有你正在尋找的 –
你正在使用'For Each cell in myRange',但卻從未真正使用'Cell'。不要將'Cells'與你的'cell'變量混淆。試試'如果.cel.value =',但是你需要修改'newRange.Cells.Value',以包含'cell'。你只是想看看'myRange'是否有一個單元在整個'newRange'表單中? – BruceWayne