Access 导出中的 Excel 单元格看起来是空的,但不是 (=isblank=FALSE)

标签 excel ms-access export-to-excel is-empty vba

我的问题是 Excel 电子表格(从 Access 导出为 .xls)的单元格看起来是空的,但实际上不是。这弄乱了我的计算和导航快捷方式。

单元格中没有公式或内容(已在此主题上发布的答案不能解决我的问题)。我附上了我的问题的图片(见底部)

故障排除显示:

  • 如果我测试这些细胞,例如=isblank(a1) ,它是 .
  • 单元格长度为 0,根据 =LEN(a1)
  • 如果我尝试“转到(特殊)突出显示“空白”(或任何其他转到特殊组合,如公式/文本、数字等),它将不会突出显示这些看起来很空的单元格
  • 然而,如果我过滤列,我可以从过滤器列表中选择这些非空的“空白”(这是迄今为止我发现的这些棘手的单元格的唯一方法)-

  • 所以我的专栏在一些单元格中有条目,“空白”非空单元格。我只想要带有条目的单元格,其余的我需要清除。这也令人讨厌地意味着跳到下一个空或非空单元格的快捷方式将不起作用(它全部读取为非空白) - 使得导航大型数据集非常痛苦。

    一旦我在单个“非空”空白单元格中单击并按 Enter 键,这似乎会清除单元格内容(“=isblank”公式中的“FALSE”现在切换为“TRUE”) - 这是不可行的不过,在如此大的数据集中修复单个单元格。

    任何人都可以帮忙吗?!

    我找到了 2 个基本的解决方法来解决这个问题,但我真的很想知道这种情况是如何发生的,为什么会发生,以及将来如何避免它。

    解决方法 1
    在 excel 中,过滤列,仅显示“空白”,然后突出显示过滤后的列并按删除。取消过滤列表并解决问题。
    解决方法 2
    从“file.xlsx”保存 excel 电子表格并另存为“.csv”。
    全部关闭,打开 csv 似乎非空空白单元格已修复,显示 =isblank= TRUE & 现在可以使用 [CNTL 箭头键] 快捷键跳过。

    这太令人沮丧了,我还没有看到任何类似的问题或答案来说明为什么会这样?

    为什么会发生这种情况?还有其他解决方法吗?
    感谢 hive 思维!
    excel sheet shows non-blank empty cells - working

    最佳答案

    有时将 ctrl+up/down 停在数据集的边缘会很好,但有时则不然;这是我用来清除所选范围的“空白”单元格的宏:

    'clears cells with error or empty string values
    Public Sub clearJunk()
        Dim scrn As Boolean: scrn = Application.ScreenUpdating: Application.ScreenUpdating = False
    
        Dim i As Long, rowCount As Long, FirstRow As Long
        Dim col As Range
    
        rowCount = Selection.Columns(1).Cells.count
        FirstRow = Selection.Cells(1).Row - 1
        For Each col In Selection.Columns
            For i = 1 To rowCount
                If IsEmpty(col.Cells(i)) Then i = col.Cells(i).End(xlDown).Row - FirstRow
                If i > rowCount Then Exit For
                If IsError(col.Cells(i).Value) Then
                    col.Cells(i).ClearContents
                ElseIf col.Cells(i).Value = "" Then
                    col.Cells(i).ClearContents
                ElseIf Trim(col.Cells(i).Value) = "" Then
                    col.Cells(i).ClearContents
                End If
            Next i
        Next col
    
        Application.ScreenUpdating = scrn
    End Sub
    

    此外,如果您从 MS-Access 复制和粘贴,您可能会发现这个也很有用:
    Public Sub UnWrapText(): Selection.WrapText = False: End Sub
    

    我已经将两个按钮都绑定(bind)到了我的功能区/QAT 上,这让我的生活更加轻松。

    关于Access 导出中的 Excel 单元格看起来是空的,但不是 (=isblank=FALSE),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45728183/

    相关文章:

    android - 如何从assets文件夹中打开一个excel文件

    vba - 子表单不会随着动态添加的新数据而更新

    ms-access - Access 2003 组合框就像被锁定一样,但实际上并非如此

    c# - 导出到 excel 在服务器上不起作用

    xml - 加载 XML 不工作 : Invalid at the top level of the document

    excel - 如果 VLookUp 为 TRUE(如果该值出现在单独工作表的列表中),则从 Sheet1 中删除整行

    Excel:如果在另一列中找到匹配项,则删除部分文本字符串

    sql - 在 ms-access 中获取表的外键约束列表?

    javascript - 导出 excel 文件中的对象数组 (JavaScript)

    java - apache POI - 获取生成的 excel 文件的大小