2011-04-28 33 views
2

我想找到一些VBA代码,当我在工作表的单元格中单击鼠标时,它会将单元格更改为黄色。然后让我们说我不希望细胞变黄,我可以点击右键,它会改变回来。我不确定是否可能。Excel - 通过单击更改单元格的图案

回答

4

下面是工作代码:

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)  
    Call ChangeCellColor(Target, 6)  
End Sub 

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, _ 
             Cancel As Boolean) 
    Call ChangeCellColor(Target, xlNone)  
End Sub 

Private Sub ChangeCellColor(Target As Range, CLR As Integer)  
    Selection.Interior.ColorIndex = CLR  
End Sub 
+0

@Lance:谢谢你的工作,有没有办法将它限制在一定范围内的单元格? – Mike 2011-04-28 18:18:59

+0

接下来您将在IF语句中调用IF IF Intersect(Target,Range(_whatever_))为Nothing。 – 2011-04-28 18:30:13

+0

@Lance:我实际上有六种不同的范围,即变化单元格式。它们是:B7:F11 - H7:L11 - N7:R11 - B16:F20 - H16:L20 - N16:R20我不知道如何将其写入代码。 – Mike 2011-04-28 19:09:39

2

这里是当我不知道VBA把我的头顶部,这将改变模式(这是条纹灰色)

With Selection.Interior 
    .Pattern = xlLightUp 
    .PatternColorIndex = xlAutomatic 
    .ThemeColor = xlThemeColorDark1 
    .TintAndShade = -4.99893185216834E-02 
    .PatternTintAndShade = 0 
End With 

的代码,我去到Excel,浏览,宏记录新的宏..

然后,我在Excel中进行更改,我想要的,然后我回去并关闭宏。最后,我去看看这个宏..和巴姆!我寻找的代码是在那里为我生成的。

+0

使用“录制宏”是一个axcellent建议 - 但这个答案就是为什么你应该把它作为一种学习工具一个很好的例子,并_almost_从未实际上可以使用录制的宏。记录器设置它认为有意义的所有属性,无论它们是否正在改变。您的生产代码只应触摸正在更改的属性,以及值_matters_。 – RolandTumble 2011-04-29 18:21:35

相关问题