Ich habe eine benannte Tabelle als Bereich (list object) und ich muss die Rand oben Randfarbe einer Zelle ändern, aber der Code funktioniert nicht, ich brauche etwas Hilfe. Hier ist ein Teil des Codes:Ändern der Rahmenfarbe einer einzelnen Zelle in einer Tabelle
With ws
.Unprotect Password:="pAtRiCiA"
For Each ctrl In Me.Controls
If Left(ctrl.Name, 5) = "texto" Then
If ultimafila - 1 <> 8 Then
If ctrl.Name = "textoCausas" Then
If Not IsError(Application.Match(Me.textoCausas.Value, ws.ListObjects(ActiveSheet.Name).ListColumns(1).DataBodyRange, 0)) Then
.Cells(ultimafila, ctrl.TabIndex) = ""
.ListObjects(ActiveSheet.Name).ListColumns(1).DataBodyRange(ultimafila, 1).Borders(xlEdgeTop).LineStyle = xlContinuous
.ListObjects(ActiveSheet.Name).ListColumns(1).DataBodyRange(ultimafila, 1).Borders(xlEdgeTop).ColorIndex = 3
.ListObjects(ActiveSheet.Name).ListColumns(1).DataBodyRange(ultimafila, 1).Borders(xlEdgeTop).Weight = xlThick
Else
.Cells(ultimafila, ctrl.TabIndex) = ctrl.Value
End If
Else
.Cells(ultimafila, ctrl.TabIndex) = ctrl.Value
End If
Else
.Cells(ultimafila, ctrl.TabIndex) = ctrl.Value
End If
End If
Next ctrl
.Cells(ultimafila, 2) = txtControles.Value
.Rows(ultimafila).AutoFit
.Rows(ultimafila).RowHeight = .Cells(ultimafila, 1).Height + 12
.Protect Password:="pAtRiCiA", DrawingObjects:=True, Contents:=True, Scenarios:=True
End With
"funktioniert nicht" ist keine sehr nützliche Beschreibung Ihres Problems. Was passiert, wenn Sie Ihren Code ausführen? –
.Border-Eigenschaften werden nicht angewendet. Die Randfarbe der oberen Kante der Zelle wird nach dem Abspielen des Makros nicht geändert. –
Ihre Rahmenformatierungslinien funktionieren für mich. Bist du sicher, dass sie ausgeführt werden? Wenn Sie eine Pause auf einer dieser Zeilen machen, hört der Code dort auf? –