0
私は、その列にある値に基づいて列を非表示にするために使用したコードを持っています。その列のすべてのセルを、そこに値がある場合はそれを表示し続け、そうでなければそれを隠すでしょう。複数の行の値に基づいて列を非表示にするVBAコードを変更する
これで、特定の行の値に基づいて物を非表示にする必要があります。
Sub HideCols()
Dim LC As Integer, j As Integer
Dim LR As Integer, curCnt As Integer
Dim k As Integer
Dim Data As Variant
Application.ScreenUpdating = False
LC = Cells(3, Columns.Count).End(xlToLeft).Column
For j = 6 To LC
LR = Cells(Rows.Count, j).End(xlUp).Row
curCnt = 0
Data = Range(Cells(1, 1), Cells(LR, LC))
For k = 3 To LR
If Rows(k).Hidden = False And Data(k, j) <> "" Then _
curCnt = curCnt + 1
Next k
Columns(j).Hidden = curCnt < 2
Next j
Application.ScreenUpdating = True
End Sub
私が追加しようとした:これはコードです。これは、以下に追加されました
Dim i As Long
Dim c As Variant
Dim l As Integer
For i = 6 To j
For Each c In ActiveSheet.Cells(2, i)
If Columns(i).Hidden and c.Value Like "Tri-Annual" Then
ActiveSheet.Columns(i).Hidden = False
Else
ActiveSheet.Columns(i).Hidden = True
End If
Next c
Next i
を、その希望は、それが唯一の最初のマクロによって隠されていなかったの列を見てということでした行2のその列に「Tri-Annual」も含まれていないすべての列を非表示にします。タスクは完了しますが、2回実行する必要があります。これを行う簡単な方法はありますか?
これはうまく動作します。おかげさまで、私はそれをはっきりと思っていました。 –