我选择一个文字并改变它的颜色,它告诉我这个
Range("A7").Select
With Selection.Font
.ThemeColor = xlThemeColorAccent2
.TintAndShade = -1
End With
但是当我运行此代码时,TintAndShade
无效。单元格中文本的亮度不能由vba指定。有没有其他方法可以改变文字的亮度?或者我如何让TintAndShade
工作?
答案 0 :(得分:8)
我相信您使用的是Excel 2010.不幸的是,这是Excel 2010中的一个错误。不确定它是否已在Excel 2013中得到纠正。
这是另一种选择。创建一个新工作簿并将此代码粘贴到模块中。
逻辑:.TintAndShade
适用于单元格.Interior
,因此我们将使用该代码而不是.TintAndShade
作为单元格的字体。
<强>代码强>:
Sub Sample()
Dim ws As Worksheet
Dim i As Long
Set ws = ThisWorkbook.Sheets("Sheet1")
With ws
.Range("B1:B256").Value = "Blah Blah"
For i = 1 To 256
.Range("A" & i).Interior.ThemeColor = xlThemeColorAccent2
.Range("A" & i).Interior.TintAndShade = (i * 2 - 256) / 256
.Range("B" & i).Font.Color = .Range("A" & i).Interior.Color
Next i
End With
End Sub
<强>截图强>:
运行此功能时,您将看到字体亮度的变化,如下面的屏幕截图所示。 :)
注意强>:
对于实时场景,创建临时表并在任何单元格中设置它为.Interior.TintAndShade
然后使用它来设置相关单元格的字体亮度,一旦完成,只需删除临时表。
答案 1 :(得分:1)
另一种解决方案是使用if(isset($_GET['info'])){
$password = "mykey"
$base64Encrypted = 'AwEEeG/CU0VHXVGvuRcm805DvvVQi32NPjmlQxoaniIL9ngCjNY1Su4jEb2IfCILBvhKIdjl1znysm6SMiFmRZi2St8wCcWCmnImdwAPLysB/g==';
$cryptor = new \RNCryptor\Decryptor();
$plaintext = $cryptor->decrypt($base64Encrypted, $password);
echo $plaintext;//=> this code block return the original value of cipher
}else{
echo 'not have info params';
}
代替.color
。从Excel中的主页选项卡和字体类别中找到所需的颜色和色调。然后记录一个宏,将单元格的字体颜色更改为您想要的颜色。然后使用&#34;更多颜色选项&#34;然后轻轻地向上或向下滑动较暗/较浅的条。这将在您录制的excel宏中为您提供.interior.TintSndShade
属性。
答案 2 :(得分:0)
我还找到了另一个解决方案,可能有点棘手......我创建了一个具有所需字体颜色但没有文字的单元格,并将此单元格复制到我需要颜色的位置。
Dim texxt As String
texxt = Range(N_Range).Value
Range("R3").Copy 'this is my preset cell
Range(N_Range).Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = texxt