|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
excel中选择D列任意单元格时,点击控件按钮,复制该单元格内容,检查H列是否有非空单元格,如果有非空单元格,将复制的值粘贴到H列非空单元格中,如果没有非空单元格,提示“H列已满”,但如果选择的是其他非D列单元格,点击控件按钮则弹出提示“请先选择职责”。代码如下(文档见附件):
Sub CopyToH()
Dim selectedCell As Range
Dim cell As Range
Dim hRange As Range
' 获取当前选择的单元格
Set selectedCell = ActiveCell
' 如果选择的单元格不是D列则提示“请先选择职责”
If selectedCell.Column <> 4 Then
MsgBox "请先选择职责", vbExclamation
Exit Sub
End If
' 检查H列是否已满
Set hRange = Range("H1:H" & ActiveSheet.Cells(Rows.Count, "H").End(xlUp).Row)
If hRange.Cells.Count = Rows.Count - 1 Then
MsgBox "H列已满", vbExclamation
Exit Sub
End If
' 找到 H 列第一个空白单元格,将 D 列单元格的内容复制到此单元格
For Each cell In hRange
If cell.Value = "" Then
cell.Value = selectedCell.Value
Exit Sub
End If
Next cell
End Sub
插入控件点击运行,无反应也不报错,请教各位大神,是哪里有问题?
|
|