我正试图在A1:E5中接听每个电话,以便在3个工作表中自我识别。所以每个都会如此列出(例子:) Sheet1:$ A $ 3 Sheet1:$ A $ 4 Sheet12:$ B $ 2
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim intRowIndex, intColumnIndex, intDimIndex As Integer
'Change Colors/Fonts and Resize
Range("A1:A" & Rows.Count).Columns.AutoFit
Columns("A:E").AutoFit
For intDimIndex = 1 To 3
For intRowIndex = 1 To 5
For intColumnIndex = 1 To 5
Worksheets(intDimIndex).Cells(intRowIndex, Chr(64 + intColumnIndex)).Value = Sheets(intDimIndex).Cells(intRowIndex, Chr(intColumnIndex + 64)).Value = _
Sheets(intDimIndex).Name & ":$" & Chr(intColumnIndex + 64) & "$" _
& Str(intRowIndex)
Next intColumnIndex
Next intRowIndex
Next intDimIndex
然而,Boxes只是填写为“FALSE”
答案 0 :(得分:0)
将代码缩减为伪值表示您实际上正在分配布尔值。
Cell1.Value = Cell2.Value = Cell3.Value
很奇怪你会在Worksheet_SelectionChange中执行此操作。
拥有描述性名称是件好事,但是,如果名称太长,则会影响代码的可读性。如果您必须向上或向下或从右向左滚动,您可能需要考虑重构代码。
作为一项规则,我使用x,x1,x2 ...迭代行,y,y1,y2 ...迭代列。因为我对此一致,所以这些都是非常具有描述性的名称。每当你看到我使用x和x1时,我会迭代两组行。第一个循环是变量是x,第二个循环是x1。
这里声明三个变量intRowIndex是intColumnIndex变量类型,intDimIndex是Integer。
Dim intRowIndex, intColumnIndex, intDimIndex As Integer
当您声明一个变量并且它不跟随As
和DataType时,那么该变量就是一个变量。您最好将所有行变量声明为long。即使Integer会这样做,我也会声明列变量。
Dim x as long, y as long, w As Integer
'Change Colors/Fonts and Resize
Range("A1:A" & Rows.Count).Columns.AutoFit
Columns("A:E").AutoFit
For w = 1 To 3
For x = 1 To 5
For y = 1 To 5
With Worksheets(w)
.Cells(x, y).Value = .Cells(x, y).Address(RowAbsolute:=True, ColumnAbsolute:=True)
End With
Next y
Next x
Next w