繁体   English   中英

How to clear contents of a range in a row, when a specific cell of that row is selected?

[英]How to clear contents of a range in a row, when a specific cell of that row is selected?

我有一个表格,范围从(“C22:Q26”),其中单元格(“R22”),(“R23”),(“R24”)到(“R26”)是要连续选择的单元格,清除内容。

I want to clear contents of a range("C22:Q22"), when cell ("R22") is selected.

Similarly clear contents of a range("C23:Q23"), when cell ("R23") is selected, and so on up to range("C26:Q26") when cell ("R26") is selected.

我写了这个,放在工作表代码中。

Sub clearcontents()
If Range("r22").Selected Then
   Range("R22").Offset(, -15).Resize(, 15).Select
   Range("R22").Offset(, -15).Resize(, 15).clearcontents
ElseIf Range("r23").Selected Then
   Range("R23").Offset(, -15).Resize(, 15).Select
   Range("R23").Offset(, -15).Resize(, 15).clearcontents
ElseIf Range("r24").Selected Then
   Range("R24").Offset(, -15).Resize(, 15).Select
   Range("R24").Offset(, -15).Resize(, 15).clearcontents
ElseIf Range("r25").Selected Then
   Range("R25").Offset(, -15).Resize(, 15).Select
   Range("R25").Offset(, -15).Resize(, 15).clearcontents
ElseIf Range("r26").Selected Then
   Range("R26").Offset(, -15).Resize(, 15).Select
   Range("R26").Offset(, -15).Resize(, 15).clearcontents
End If
End Sub

尝试使用Worksheet.SelectionChange事件。 将以下代码添加到工作表代码模块。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Target.CountLarge <> 1 Then Exit Sub

    If Not Intersect(Target, Me.Range("R22:R26")) Is Nothing Then
        Me.Range("C" & Target.Row & ":Q" & Target.Row).ClearContents
    End If

End Sub

如果您的代码在“Worksheet_SelectionChange”宏中并且没有触发,我会仔细检查您是否启用了事件。

在此处输入图像描述

否则这段代码应该做你想做的事,一些检查还需要选择一个单元格:

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Dim rColumn As Range
  Dim tTable As Range

  Set rColumn = Me.Range("R22:R26")
  Set tTable = Me.Range("C22:Q26")

  If Not Intersect(Target, rColumn) Is Nothing Then
    If Target.Count = 1 Then
      Intersect(Target.EntireRow, tTable).ClearContents
    End If
  End If

End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM