Die Kombination mit links, wenn sonst zu verbergen Spalten
-
06-07-2019 - |
Frage
Ich versuche, einige Code zu schreiben Spalten ausblenden, wenn die ersten drei Zeichen von Zellen in einem Bereich, den Inhalt eines anderen gleich. Ich habe den Code für Spalten, wenn Zellen in einem Bereich versteckt, da dies sind leer; -
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
Und der Code für den ersten 3 charcters einer Zelle identifizierende; -
Dim LResult As String
LResult = Left ("Alphabet",3)
Aber wie kombiniere ich die beiden, eine bestimmte Zelle verweisen, anstatt „Alphabet“?
Cant bekommen dies funktioniert - irgendwelche Vorschläge
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
Prost
Lösung
Sie haben fast den Arbeitscode. Sie vergleichen cell.Value auf einen leeren String - jetzt nur um es links gelten
LResult = Left (cell.Value,3)
Edit:
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
, wo Sie die Daten aus der Zelle in Zeile und Spalte wollen (ich habe 20, 30 als Beispiel)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow