在执行功能之前需要检查单元格是否为空

时间:2019-07-12 17:31:38

标签: excel vba

我的问题是我正在用Excel进行图书库存,该图书通过ISBN搜索用Google Books API中的信息填充行。

我正在使用

提供的Excel

http://ramblings.mcpher.com/Home/excelquirks/books

那太好了,但并不完美。

Google图书上不存在某些图书,我自己填写数据,但是该函数仍会汇编字符串并向Google进行查询,并且它填充了查询的查询限制(每天1000个查询)天。由于我有很多书,这意味着每次我运行宏时,它将使查询限制饱和。 我需要它来检查“作者”单元格是否已填充或为空,如果它们为空,请运行查询。

我该怎么办?

我将链接正在使用的Excel

https://mega.nz/#!H5IAXYJZ!09jGmjrXWYz6PM_6dQoEmVdqrPxQ71aQhY4N9qO22Gs

我从ISBN的每个工作表中“清除”了原始Excel。 使用ISBN的功能的代码在VBA部分->模块-> isbnExample中。

编辑: 我尝试对B列进行检查以查看其是否为空或更少,并且如果该列中的单元格为空,请运行该函数。它可以正常工作,但是当函数运行时,它会提示我“错误91”,当我单击“调试”时,它会突出显示

.populateData wholeSheet("isbn"), , "isbn", , , , True

这是代码的一部分

Public Sub isbnExample()
    Dim dset As cDataSet
    ' get ISBN book data
    ' load to a dataset
    Set dset = New cDataSet
    Dim N As Long, i As Long
    N = Cells(rows.count, "A").End(xlUp).row
    For i = 2 To N
        If Len(Cells(i, "B")) = 0 Then
            With dset
            ' create a dataset from the isbn worksheet
            .populateData wholeSheet("isbn"), , "isbn", , , , True
            If .where Is Nothing Then
                MsgBox ("No data to process")
            Else
                'check we have the isbn column present
                If .headingRow.validate(True, cISBNColumnHeading) Then
                    ' if there were any updates then commit them
                    If processISBN(dset) > 0 Then
                        .bigCommit
                    End If
                End If
            End If
            End With
            Set dset = Nothing
        End If
    Next i
End Sub

0 个答案:

没有答案