首页 > 解决方案 > 用于选择单词表a列中第一个空单元格的vb代码

问题描述

我一直在尝试获取一些代码来自动选择单词表的 A 列中的第一个空单元格我曾尝试使用先前问题的示例,但并非所有问题都可以,其他问题只是给出行和列的消息框答案。我有将数据输入表中的宏,然后在 A 列中向下分割下一行。但是如果我的光标不在正确的位置,即 A 列和下一个空单元格,那么数据将按列写出对齐方式和通常是明智的。一个宏在光标所在的单元格中插入时间。. 我想选择 A 列中的第一个空单元格,然后输入时间宏。

Selection.InsertDateTime DateTimeFormat:="HH:mm", InsertAsField:=False, _
        DateLanguage:=wdEnglishUK, CalendarType:=wdCalendarWestern, _
        InsertAsFullWidth:=False

提前谢谢你问候 jrfmps

标签: vbaselectms-wordcell

解决方案


我可能是错的,但没有直接的方法可以在单词表的特定列中找到第一个空单元格您将必须循环如下所示。

代码:

Option Explicit

Sub Sample()
    Dim tbl As Table
    Dim aCell As Cell
    Dim aCol As Column
    
    '~~> Set this to the relevant table
    Set tbl = ActiveDocument.Tables(1)
    
    '~~> This is set for Col 1 (A)
    Set aCol = tbl.Columns(1)
    
    '~~> loop through cell in Col 1
    For Each aCell In aCol.Cells
        If aCell.Range.Text = Chr(13) & Chr(7) Then
            MsgBox "Cells (" & aCell.RowIndex & "," & aCell.ColumnIndex & ") is empty"
            Exit For
        End If
    Next aCell
End Sub

截屏

在此处输入图像描述

避免使用Selection. 直接使用对象。以下是如何使您的代码适应上述代码...

Option Explicit

Sub Sample()
    Dim tbl As Table
    Dim aCell As Cell
    Dim aCol As Column
    Dim rng As Range
    
    '~~> Set this to the relevant table
    Set tbl = ActiveDocument.Tables(1)
    
    '~~> This is set for Col 1 (A)
    Set aCol = tbl.Columns(1)
    
    '~~> loop through cell in Col 1
    For Each aCell In aCol.Cells
        If aCell.Range.Text = Chr(13) & Chr(7) Then
            MsgBox "Cells (" & aCell.RowIndex & "," & aCell.ColumnIndex & ") is empty"
            
            Set rng = tbl.Cell(aCell.RowIndex, aCell.ColumnIndex).Range
            
            rng.Collapse wdCollapseStart
            
            rng.InsertDateTime DateTimeFormat:="HH:mm", _
                               InsertAsField:=False, _
                               DateLanguage:=wdEnglishUK, _
                               CalendarType:=wdCalendarWestern, _
                               InsertAsFullWidth:=False
            Exit For
        End If
    Next aCell
End Sub

推荐阅读