문제

범위의 셀의 처음 3자가 다른 범위의 내용과 같으면 열을 숨기는 코드를 작성하려고합니다. 범위의 셀이 비어있는 경우 열을 숨기기위한 코드가 있습니다.

Private Sub Worksheet_Change(ByVal Target As Range)

Dim r As Range, cell As Range
On Error GoTo ErrHandler
Set r = Me.Range("C8:R8")
Application.ScreenUpdating = False
Application.EnableEvents = False

For Each cell In r
    If cell.Value = "" Then
    cell.EntireColumn.Hidden = True
    Else
    cell.EntireColumn.Hidden = False

    End If

    Next

ErrHandler:
Application.ScreenUpdating = True
Application.EnableEvents = True

End Sub

그리고 셀의 처음 3 개의 숯을 식별하기위한 코드;-

Dim LResult As String

LResult = Left ("Alphabet",3)

그러나 "알파벳"대신 특정 셀을 참조하여 두 가지를 어떻게 결합합니까?

이것을 작동시킬 수 없습니다 - 어떤 제안도?

Private Sub Worksheet_Change(ByVal Target As Range)

Dim r As Range, cell As Range

On Error GoTo ErrHandler
Set r = Me.Range("B7:CG7")

Application.ScreenUpdating = False
Application.EnableEvents = False

Row = 1
col = 1

For Each cell In r
  If cell.Value = "" And Left(cell.Value, 3) = cell(Row, col).Value Then
    cell.EntireColumn.Hidden = True
  Else
    cell.EntireColumn.Hidden = False

End If


Next
ErrHandler:
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub

건배

도움이 되었습니까?

해결책

거의 작동 코드가 있습니다. 셀을 비교하고 빈 문자열과 비교하고 있습니다. 이제 왼쪽에 적용하십시오.

LResult = Left (cell.Value,3)

편집하다:

row = 20
col = 30

For Each cell In r
  If cell.Value = "" and  Left (cell.Value,3) = Cell(row, col).Value Then
    cell.EntireColumn.Hidden = True
  Else
    cell.EntireColumn.Hidden = False

End If

Row and Col에서 셀의 데이터를 원하는 곳 (예로 20, 30을 사용했습니다)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top