Excel VBA: Membuat Hyperlink Ketidakcocokan Jenis

0

Saya telah membuat fungsi untuk membuat hyperlink referensi silang di buku kerja di antara lembar kerja. Untuk beberapa alasan saya mendapatkan Galat 13: Ketik galat ketidakcocokan saat mencoba membuat hyperlink.

Berikut adalah fungsi untuk membuat hyperlink:

Pencarian Fungsi PublikAndLink (txtTicketNum As String, shtFromedheet As Worksheet, rngFromCell As Range, txtFromText As String, shtToSheet As Worksheet, txtToText As String, numFrom As Integer, numToOff As Integer) Sebagai Boolean

Dim rngToCell As Range

Set rngToCell = shtToSheet.Cells.Find (Apa: = txtTicketNum)

If Not rngToCell Is nothing Then
    Lembar (shtFromSheet) .Hyperlinks.Add jangkar: = rngFromCell.Offset (0, numFromOff), Alamat: = "", SubAddress: = _
        "'" & Lembar (shtToSheet) .Nama & "'!" & rngToCell.Address, TextToDisplay: = txtFromText

    Lembar (shtToSheet) .Hyperlinks.Add jangkar: = rngToCell.Offset (0, numToOff), Alamat: = "", SubAddress: = _
        "'" & Lembar (shtFromSheet) .Nama & "'!" & rngFromCell.Address, TextToDisplay: = txtToText

    rngToCell.EntireRow.Interior.ColorIndex = -4142
    rngToCell.EntireRow.Font.Name = "Calibri"
    rngToCell.EntireRow.Font.Size = 11

    SearchAndLink = Benar
Lain
    SearchAndLink = Salah
Berakhir jika

Fungsi Akhir

Dan di sinilah saya membuat variabel dan memanggil fungsi:

Sub Sub Referensi Umum ()
Dim strRORA As String
Dim rngslider As Range
Redup boolFound Sebagai Boolean

'Tetapkan variabel untuk memeriksa RO versus tiket terbuka
Set rngslider = Lembar ("Pesanan Sumber Daya"). Rentang ("A4")

Do While rngslider "" 'melanjutkan sementara kolom nama memiliki data

    'atur variabel untuk memeriksa tiket terbuka
    strRORA = UCase (rngslider.Offset (0, 10) .Nilai)

    boolFound = SearchAndLink (strRORA, Sheets ("Pemesanan Sumber Daya"), rngslider, strRORA, Sheets ("Tiket Terbuka"), "RO", 10, 78)

Saya telah mencoba memasukkan sheet dan range secara manual untuk menemukan kesalahan, tetapi saya selalu mendapatkan error tipe mismatch. Apakah saya menggunakan variabel dalam fungsi yang salah? Bantuan apa pun akan sangat dihargai.

SolarGlare
sumber
Baris apa yang Anda dapatkan kesalahannya?
Raystafarian
PADA kode hyperlinks.add, selalu ada kesalahan ketik mismatch.
SolarGlare
Anda sepertinya tidak menggunakan metode ini dengan benar
Raystafarian

Jawaban:

0

Saya menemukan apa masalahnya. Saya meneruskan objek lembar kerja ke fungsi, tetapi metode untuk hyperlink membutuhkan indeks untuk lembar kerja. Saya mengubah fungsi untuk lulus indeks lembar kerja yang sedang saya kerjakan, dan itu menciptakan hyperlink.

Inilah pemanggilan fungsi baru:

 boolFound = SearchAndLink (strRORA, Sheets ("Resource Orders"). Indeks, rngslider, "Closed", Sheets ("Tiket Pemadam Kebakaran Tertutup"). Indeks, "RO", 11, 28)

Inilah fungsi baru:

Pencarian Fungsi PublikAndLink (txtTicketNum As String, numFromSheet As Integer, rngFromCell As Range, txtFromText As String, numToSheet As Integer, txtToText As String, numFromOff As Integer, numToOff As Integer) Sebagai Boolean

Dan ini adalah kode hyperlink yang benar:

Lembar (numFromSheet) .Hyperlinks.Add jangkar: = rngFromCell.Offset (0, numFromOff), Alamat: = "", _
        SubAddress: = "'" & Sheets (numToSheet) .Nama & "'!" & rngToCell.Address, TextToDisplay: = txtFromText

Terima kasih!

SolarGlare
sumber