旅店数据的描述
2. Data file in excel with macro and sheets
表1中的1. [表格和宏]显示没有应用宏的主表。
宏的工作原理如下:One选择要应用宏的范围,然后使用NA值所在的列中的上一个(上面)数值更改NA值。
通过选择范围B3:D11并运行宏生成表3(即在显示的图片中,宏应用于以下范围,然后向右移动)
通过选择范围B4:D11并运行宏生成表2(即在显示的图片中,宏应用于以下范围,然后向右移动)
我尝试了什么
问题
答案 0 :(得分:1)
而不是使用Selection
运行代码。
将程序名称更改为Sub FixData(rng As Range)
将代码中的Selection
更改为rng
。
编写另一个过程以将范围传递给过程:
Public Sub Test()
With ThisWorkbook
FixData .WorkSheets("Sheet1").Range("B3:D11")
FixData .WorkSheets("Sheet2").Range("B4:D11")
End With
End Sub
将所有代码放在普通模块中。
要在工作簿中的所有工作表上运行代码,请使用以下代码。要排除某些工作表,请使用标有'**
的行。
Public Sub FixOnAllSheets()
Dim wrkSht As Worksheet
For Each wrkSht In ThisWorkbook.Worksheets
Select Case wrkSht.Name '**
Case "Sheet1", "Sheet2" '**
'Do nothing or do something else.
Case Else '**
FixData wrkSht.Range("B3:D11")
End Select '**
Next wrkSht
End Sub