excel 双击单元格 内容切换问题

如下图1所示,当双击B2,或者C2单元格时,B2,C2里的文本自动消失,同时,在B10,C10生成相同内容文本,如图2所示
图1
图2

可以使用VBA进行操作。

复制如下代码到所要运行的的sheet代码中,可适当修改。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$B$2" Then
Range("B10") = Range("B2")
Range("C10") = Range("C2")
Range("B2:C2").ClearContents
End If

End Sub追问

假如B10B11已经有文本存在,如果想实现双击B2,内容自动转换到B11的下一行-B12,需要怎么做

追答

该列在B11后还有没有数据了?如果没有,可以用cells(65536,2).end(xlup).row+1定位该行。

追问

你Q多少, 我直接上面问你吧

追答Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$B$2" Then
Dim myRow As Single
myRow = Cells(65536, 2).End(xlUp).Row
Range("B" & myRow + 1) = Range("B2")
Range("B" & myRow + 1) = Range("C2")
Range("B2:C2").ClearContents
End If
 
End Sub追问

就是这个意思,可是最初目标又不能实现了,现在双击B2,只有B2单元格的内容转换下去,C2的内容却没有,还有,我想把B2,到B10设置同样的模式,怎么一次性全设置,另外,如果我想实现,双击B11.....B19,效果同上,又会转到B20...B28,需要怎么弄。VBA这块我一大白板 求教了

追答Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Row = 2 Then
Dim myRow As Single
myRow = Cells(65536, 2).End(xlUp).Row
Range("B" & myRow + 1) = Range("B2")
Range("B" & myRow + 1) = Range("C2")
Range("B2:C2").ClearContents
End If
  
End Sub追问

不对,请你看好再发上来,连发的两个都是错的,上个追问又提出了要求,帮我一块弄好吧,谢了

追答Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Row = 2 Then
Dim myRow As Single
myRow = Cells(65536, 2).End(xlUp).Row
Range("B" & myRow + 1) = Range("B2")
Range("C" & myRow + 1) = Range("C2")
Range("B2:C2").ClearContents
End If
   
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-27
这个要VBA编程才行