【问题标题】:VBA recognizing more than one cell is highlighted识别多个单元格的 VBA 突出显示
【发布时间】:2017-08-01 02:22:57
【问题描述】:

我有以下 VBA 脚本:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Application.ScreenUpdating = False

    If Not Application.Intersect(Target, Range("calendar")) Is Nothing Then
       [selectedCell1] = ActiveCell.Value

Application.ScreenUpdating = True

    End If
End Sub

目前,它只识别一个单元格被突出显示并将其返回到名为 selectedCell1 的特定单元格中。

这是我的例子:

如果我选择包含日期“03/08/2017”的单元格 N25,它会将“03/08/2017”返回到另一个名为“selectedCell1”的工作表单元格中。

但我想要它做的是意识到我已经选择了整个星期,然后在单元格“selectedCell1”中返回整个星期范围。看:

然后在单元格“selecetedCell1”中返回 01/08/2017 - 05/08/2017(整个范围)。

不确定如何调整此 VBA 脚本。帮助将不胜感激。谢谢。

【问题讨论】:

  • [selectedCell1].Resize(Target.Rows.Count, Target.Columns.Count) = Target.Value 不要使用 ActiveCell :)

标签: vba excel


【解决方案1】:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Application.ScreenUpdating = False

    If Not Application.Intersect(Target, Range("calendar")) Is Nothing Then
        If Target.Cells.Count = 1 Then
            [selectedCell1] = Target.Value
        Else
            [selectedCell1] = Format(Application.WorksheetFunction.Min(Target), "dd/mm/yyyy") & " - " & Format(Application.WorksheetFunction.Max(Target), "dd/mm/yyyy")
        End If

Application.ScreenUpdating = True

End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-18
    相关资源
    最近更新 更多