2016-06-15 322 views
0

我有一个包含值O和G的表的Excel文件,我想用一个宏替换O用橙色图标和G用绿色图标Excel中,用另一个值替换单元格值(如果条件满足)

我不知道如何读取值为O和G的每个单元格,并用它们各自的图像替换它们。

私人小组CommandButton1_Click()

For Each c In Worksheets("Summary (2)").Range("A1:D10") 
If c.Value = 0 Then 
c.Value = Orange 
ElseIf c.Value = G Then 
    c.Value = "Green" 
    Else 
     c.Value = "" 
End If 
Next c 
End Sub 

enter image description here

+0

你有没有考虑使用条件格式?您可以将数字1,2,3分配给O,G,R,并在条件格式中使用“图标集”。 – Sun

+0

不,我没有必须通过VBA来实现这个 –

+0

因为你的循环看起来没问题,它必须是插入图像,这会使你出现问题...... 如果是这种情况,你应该真的重新考虑你的问题,并且请具体问一下。也有一些这样的问题上的答案 - > http://stackoverflow.com/questions/12936646/how-to-insert-a-picture-into-excel-at-a-specified-cell-position-with- vba –

回答

0

这是你怎么做,

Private Sub CommandButton1_Click() 

Application.CopyObjectsWithCells = True 
For Each c In Worksheets("Sector Summary (2)").Range("A1:H100") 
If c.Value = "O" Then 
    Sheets("master").Cells(1, 2).Copy 
    c.Select 
    ActiveSheet.Paste 

ElseIf c.Value = "G" Then 
    Sheets("master").Cells(2, 2).Copy 
    c.Select 
    ActiveSheet.Paste 

ElseIf c.Value = "R" Then 
    Sheets("master").Cells(3, 2).Copy 
    c.Select 
    ActiveSheet.Paste 
Else 
     c.Value = c.Value 
End If 
Next c 
End Sub 
相关问题