Oh. Menyemak kod saya sebelum ini. Dianggarkan ia mungkin disebabkan oleh ralat dalam iserror dan hasil carian anda! ! !
Kerana terdapat formula di sebalik penjanaan vlookup, dan parameter yang diberikan kepada iserror adalah salah.
Saya pada asalnya menukarnya ke dalam format berangka, dan kemudian menggunakan iserror, dan kemudian semuanya ok.
Kod saya adalah seperti berikut:
Untuk i = 2 Kepada modul_nombor - 1
Julat("C"& i).Pilih: ActiveCell.Value = ActiveCell.Value: If IsError(ActiveCell.Value) Kemudian ActiveCell.Value = 0: Module_wrong = 1: iublink = Cells(ActiveCell.ExRow, 1): Sub
Seterusnya
Jadi, anda hanya perlu membahagikan kod dan menukarnya kepada nilai berangka.
Selamat datang ke Kumpulan If Software Changes Life, mari kita bekerjasama untuk meningkatkan kecekapan kerja.
Sub Awam aaaa()
Malapkan x Sebagai Rentetan, w Sebagai Rentetan
Malapkan z Selagi
x = "Y"
w = "N"
Untuk z = 2 Hingga 10000
Jika Sel(z, 1) "" Kemudian
Sel(z, 2).FormulaR1C1 = "=IF(ISNUMBER(VLOOKUP(RC[-1],C[1],1,0)),"""" & x & """",""" " & w & """")"
Sel(z, 2).Nilai = Sel(z, 2).Nilai
Tamat Jika
Seterusnya
Tamat Sub
----------------
vlookup akan mengembalikan nilai ralat apabila ia tidak dapat mencari data, jadi ia tidak boleh digunakan secara langsung
Jika anda mesti menggunakan vlookup, sila lihat kod berikut:
------------------------
Sub Awam dsadsa()
Malapkan x Sebagai Rentetan, w Sebagai Rentetan
Malapkan z Selagi, u Sebagai Varian
Malapkan o Sebagai Julat: Set o = Lembaran Kerja("Helaian1"). Julat("c:c")
x = "Y"
w = "N"
Untuk z = 2 Hingga 6
Jika Sel(z, 1) "" Kemudian
Pada Ralat Sambung semula Seterusnya
u = Application.WorksheetFunction.VLookup(Helaian("sheet1").Sel(z, 1), o, 1, False)
Jika Err.Nombor = 0 Maka
Sel(z, 2) = x
Lain
Sel(z, 2) = w
Tamat Jika
Err.Jelas
Tamat Jika
Seterusnya
Tamat Sub
Atas ialah kandungan terperinci Gelung VBA Excel melalui lajur. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!