我希望你能帮我解决我在Excel VBA中遇到的这个挑战。 我不确定如何解释这一点,但我会尽我所能。
我想"隐藏"两列如果,两列在两个单元格中包含相同的文本" D4"和细胞" E4"。
列中的文字并不总是相同。有时它是fx" TEST"在他们两个" D4" &安培; " E4",有时文字是" NOTEST"在两个单元格中,有时候它们可能只有两个单元格中的一个文本,这意味着该列不应该被隐藏。
如果解释是弱的,请告诉我,我会尝试以不同的方式解释。
提前致谢!
答案 0 :(得分:2)
尝试一下:
Sub HiddenTreasure()
If Range("D4") = Range("E4") Then
Range("C:D").EntireColumn.Hidden = True
Else
Range("C:D").EntireColumn.Hidden = False
End If
End Sub
答案 1 :(得分:1)
您可以使用以下子。
Sub ShowColumns()
Dim firstCaseToCheck As String
Dim secondCaseToCheck As String
Dim nameOfYourSheet As String
firstCaseToCheck = "D4"
secondCaseToCheck = "E4"
nameOfYourSheet = "Name Of Your Sheet"
With ThisWorkbook.Sheets(nameOfYourSheet)
If (.range(firstCaseToCheck) = .range(secondCaseToCheck)) Then
.range(Split(Cells(1, .range(firstCaseToCheck).Column).Address(True, False), "$")(0) & ":" & _
Split(Cells(1, .range(secondCaseToCheck).Column).Address(True, False), "$")(0)).EntireColumn.Hidden = True
Else
.range(Split(Cells(1, .range(firstCaseToCheck).Column).Address(True, False), "$")(0) & ":" & _
Split(Cells(1, .range(secondCaseToCheck).Column).Address(True, False), "$")(0)).EntireColumn.Hidden = False
End If
End With
End Sub
您可以在 firstCaseToCheck 和 secondCaseToCheck 中选择两个单元格,然后选择包含 nameOfYourSheet 的工作表。这样你就可以毫无问题地改变这一切。