2016-07-13 11 views
1

Im Moment habe ich diesen Code unten:Wie Farbe zu füllen in einer Zelle in Workbook_BeforeSave

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) 

ThisWorkbook.Sheets("Sheet1").Cells(1, 1).Select 

For i = 2 To 10 
    If ThisWorkbook.Sheets("Sheet1").Cells(i, 1).Value = "YES" Then 
     For j = 2 To 5 
      If ThisWorkbook.Sheets("Sheet1").Cells(i, j).Value = "" Then 
       **<insert format here>** 
      End If 
     Next j 
    End If 


    If ThisWorkbook.Sheets("Sheet1").Cells(i, 1).Value = "NO" Then 
     For j = 2 To 5 
      If ThisWorkbook.Sheets("Sheet1").Cells(i, j).Value = "" Then 
       **<insert format here>** 
      End If 
     Next j 
    End If 
Next i 

End Sub 

Jetzt. Ich habe versucht, den folgenden Code innerhalb der If-Anweisung hinzuzufügen, hat aber nicht funktioniert

ThisWorkbook.Sheets("Sheet1").Cells(i, j).Interior.ColorIndex = 3 

Wie können wir den Zellen Füllfarbe ohne Wert hinzufügen?

+2

Sie erkennen, dass Sie ANSI X12 überprüfen und Sheet1 hinzufügen? – Vityata

+0

Was war der Fehler? –

+0

@Vityata Ich habe den Code aktualisiert :) Sorry für den Tippfehler – PeterS

Antwort

1

mit diesem Versuchen (vor speichern):

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) 
    ThisWorkbook.Sheets("Tabelle1").Cells(1, 1).Select 

    For i = 2 To 10 
     If ThisWorkbook.Sheets("Tabelle1").Cells(i, 1).Value = "YES" Then 
      For j = 2 To 5 
       If ThisWorkbook.Sheets("Tabelle1").Cells(i, j).Value = "" Then 
        ThisWorkbook.Sheets("Tabelle1").Cells(i, j).Interior.ColorIndex = 3 
        '**<insert format here>** 
       End If 
      Next j 
     End If 


     If ThisWorkbook.Sheets("Tabelle1").Cells(i, 1).Value = "" Then 
      For j = 2 To 5 
       If ThisWorkbook.Sheets("Tabelle1").Cells(i, j).Value = "" Then 
        ThisWorkbook.Sheets("Tabelle1").Cells(i, j).Interior.ColorIndex = 3 
        '**<insert format here>** 
       End If 
      Next j 
     End If 
    Next i 

End Sub 
+0

immer noch der gleiche Fehler. – PeterS

+0

Auf welcher Zeile erhalten Sie den Fehler? – Vityata

+0

In dieser Zeile "ThisWorkbook.Sheets (" Sheet1 "). Zellen (i, j) .Interior.ColorIndex = 3" – PeterS

2

Interior.ColorIndex auf Bereich arbeiten müssen

vielleicht ist die Logik, die nicht als

versuchen diese

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) 
    Dim i As Long 

    With ThisWorkbook.Sheets("Sheet1") 
     For i = 2 To 10 
      Select Case .Cells(i, 1).value 
       Case "YES" 
        If WorksheetFunction.CountA(.Cells(i, 2).Resize(, 4)) < 4 Then .Cells(i, 2).Resize(, 4).SpecialCells(xlCellTypeBlanks).Interior.ColorIndex = 3 
       Case "NO" 
        If WorksheetFunction.CountA(.Cells(i, 2).Resize(, 4)) < 4 Then .Cells(i, 2).Resize(, 4).SpecialCells(xlCellTypeBlanks).Interior.ColorIndex = 2 
      End Select 
     Next i 
    End With 
End Sub 
erwartet funktioniert
+0

@PeterS, haben Sie es geschafft? – user3598756

+0

@ PeterS, es wäre nett von dir, Leuten, die versuchen dir zu helfen, ein Feedback zu geben – user3598756

+0

@PeterS, ich sehe, du fragst dich in SO nach, es ist in Ordnung, es ist in Ordnung, antwortest du auch k du. – user3598756

Verwandte Themen