如图,左边有7行7列,通过点击4个链接实现自动调整列宽和行高,参数也和系统完全一致。
问题是,调整列宽时行高会同步自动调整,反之亦然。如果把代码下半即行高调整部分删除,那么行高不能自动调整了,但是点击I2和J2的行高调整链接还是会调整列宽,反之亦然。
如果代码不变,把I2和J2的行高调整链接删除,点击I1和J1的链接不会连带调整行高。
这个问题困扰我很久了,问了几个AI都是上面加变量存储数值,但是发过来修改后的代码还是一样的问题。
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Application.ScreenUpdating = False
If ActiveCell = Range("I1") And Columns("A").ColumnWidth > 1 Then '列宽减小
Columns("A:G").ColumnWidth = Columns("A").ColumnWidth - 0.125
Range("H1") = "列宽" & Columns("A").ColumnWidth & "字 " & Round(Columns("A").ColumnWidth * 8 + 5) & "px"
End If
If ActiveCell = Range("J1") And Columns("A").ColumnWidth < 5 Then '列宽加大
Columns("A:G").ColumnWidth = Columns("A").ColumnWidth + 0.125
Range("H1") = "列宽" & Columns("A").ColumnWidth & "字 " & Round(Columns("A").ColumnWidth * 8 + 5) & "px"
End If
If ActiveCell = Range("I2") And Rows("1").RowHeight > 10 Then '行高减小
Rows("1:7").RowHeight = Rows("1").RowHeight - 0.75
Range("H2") = "行高" & Rows("1").RowHeight & "磅 " & Round(Rows("1").RowHeight * 4 / 3) & "px"
End If
If ActiveCell = Range("J2") And Rows("1").RowHeight < 50 Then '行高加大
Rows("1:7").RowHeight = Rows("1").RowHeight + 0.75
Range("H2") = "行高" & Rows("1").RowHeight & "磅 " & Round(Rows("1").RowHeight * 4 / 3) & "px"
End If
Application.ScreenUpdating = True
End Sub
问题是,调整列宽时行高会同步自动调整,反之亦然。如果把代码下半即行高调整部分删除,那么行高不能自动调整了,但是点击I2和J2的行高调整链接还是会调整列宽,反之亦然。
如果代码不变,把I2和J2的行高调整链接删除,点击I1和J1的链接不会连带调整行高。
这个问题困扰我很久了,问了几个AI都是上面加变量存储数值,但是发过来修改后的代码还是一样的问题。
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Application.ScreenUpdating = False
If ActiveCell = Range("I1") And Columns("A").ColumnWidth > 1 Then '列宽减小
Columns("A:G").ColumnWidth = Columns("A").ColumnWidth - 0.125
Range("H1") = "列宽" & Columns("A").ColumnWidth & "字 " & Round(Columns("A").ColumnWidth * 8 + 5) & "px"
End If
If ActiveCell = Range("J1") And Columns("A").ColumnWidth < 5 Then '列宽加大
Columns("A:G").ColumnWidth = Columns("A").ColumnWidth + 0.125
Range("H1") = "列宽" & Columns("A").ColumnWidth & "字 " & Round(Columns("A").ColumnWidth * 8 + 5) & "px"
End If
If ActiveCell = Range("I2") And Rows("1").RowHeight > 10 Then '行高减小
Rows("1:7").RowHeight = Rows("1").RowHeight - 0.75
Range("H2") = "行高" & Rows("1").RowHeight & "磅 " & Round(Rows("1").RowHeight * 4 / 3) & "px"
End If
If ActiveCell = Range("J2") And Rows("1").RowHeight < 50 Then '行高加大
Rows("1:7").RowHeight = Rows("1").RowHeight + 0.75
Range("H2") = "行高" & Rows("1").RowHeight & "磅 " & Round(Rows("1").RowHeight * 4 / 3) & "px"
End If
Application.ScreenUpdating = True
End Sub