For Each cell In Selection
count = count + 1
Next cell
MsgBox count & " item(s) selected"
End Sub
您可以将此程序指定给一个命令按钮,这样,当您单击该按钮时,将显示所选项的数量。
使用 Saved 属性确定工作簿是否已发生更改
可以通过检查工作簿的 Saved 属性来确定工作簿是否已发生更改。根据工作簿是否发生了更改,Saved 属性将返回 True 或 False 值。
注意:用户除了可以通过“事件”设置 Saved 属性外,还可以通过代码将其设置为 True 或 False。本节包含的示例宏说明了如何在这两种情况下使用 Saved 属性。
工作表中的各种情况(例如存在可变函数)都可能会影响 Saved 属性。可变函数是指工作表中每次发生更改时都会重新计算的函数,而不管发生的更改是否影响到这些函数。某些常见的可变函数包括 RAND()、NOW()、TODAY() 和 OFFSET()。
如果活动工作簿包含未保存的更改,第一个宏将显示如下消息:
Sub TestForUnsavedChanges()
If ActiveWorkbook.Saved = False Then
MsgBox "This workbook contains unsaved changes."
End If
End Sub
下一个宏将关闭包含示例代码的工作簿并放弃对工作簿所做的所有更改:
Sub CloseWithoutChanges()
ThisWorkbook.Saved = True
ThisWorkbook.Close
End Sub
下面的示例宏也将关闭工作簿并放弃更改:
Sub CloseWithoutChanges()
ThisWorkbook.Close SaveChanges:=False
End Sub
合并数据列
在 Excel 中,可以使用宏合并两个相邻列中的数据并在包含数据的右侧列中显示结果,完全不需要手动设置公式。本节包含的示例宏就可以实现此功能。
Sub ConcatColumns()
Do While ActiveCell <> "" ' 一直循环,直到活动单元格为空。
ActiveCell.Offset(0, 1).FormulaR1C1 = _
ActiveCell.Offset(0, -1) & " " & ActiveCell.Offset(0, 0)
ActiveCell.Offset(1, 0).Select
Loop
End Sub