运行时错误'1004:对象“内部”的方法“颜色”失败 [英] Run-time error '1004: Method 'Color' of object 'Interior' failed
问题描述
我遇到运行时错误1004:当我包含代码时,对象内部失败的方法颜色错误
I am encountering a "Run-time error '1004: Method 'Color' of object 'Interior' failed" error when I include the code,
Worksheet.Protect UserInterfaceOnly := True
在我的代码中。
我的目标是保护我的工作表中的某些单元格,同时允许用户修改数据输入必不可少的其他单元格。我比较新的VBA编码。任何有经验的程序员可能会提供的洞察力将非常非常感激。
My goal is to protect certain cells within my worksheet, while allowing users to modify other cells essential for data input. I am relatively new to VBA coding. Any insight a more experienced programmer might provide would be very, very appreciated.
我使用的代码粘贴在下面。我收到1004错误的第一行是:
The code I am using is pasted below. The first line on which I receive the 1004 error is:
Asheet.Range("a4").Interior.Color = RGB(204, 204, 255)
非常感谢!
我的代码
Sub BowelHelathMacro()
'Declaring Variables
Dim Asheet As Worksheet
Dim Dsheet As Worksheet
Set Asheet = Sheets("Analysis")
Set Dsheet = Sheets("Data")
'Locking Cells/Spreadsheet(s)
'Unprotect Cells:
Dsheet.Range("c3:e13").locked = False
Dsheet.Range("c3:e13").FormulaHidden = False
Asheet.Range("g5:h15").locked = False
Asheet.Range("g5:h15").FormulaHidden = False
' 'Protect Sheets:
Dsheet.Protect UserInterfaceOnly:=True
Asheet.Protect UserInterfaceOnly:=True
'Clear Previous Day's Spreadsheet
Asheet.Range("a1:o15").Clear
'Insert Headers
'**CONSIDER ADDING "thisworkbook.sheets..." in order to prevent overwriting
Asheet.Range("a4") = "Date"
Asheet.Range("b4") = "Caution?"
Asheet.Range("c4") = "Last"
Asheet.Range("d4") = "First"
Asheet.Range("e4") = "Last Bowel Movement"
Asheet.Range("f4") = "Prune Juice Administered Last Night?"
Asheet.Range("g4") = "Action Steps"
Asheet.Range("h4") = "Comments"
Asheet.Select
Asheet.Range("a4:h4").Select
Selection.Font.Bold = True
'Color Interior of Analysis Headers
Asheet.Range("a4").Interior.Color = RGB(204, 204, 255)
Asheet.Range("b4").Interior.Color = RGB(300, 75, 75)
Asheet.Range("c4").Interior.Color = RGB(204, 204, 255)
Asheet.Range("d4").Interior.Color = RGB(204, 204, 255)
Asheet.Range("e4").Interior.Color = RGB(255, 255, 100)
Asheet.Range("f4").Interior.Color = RGB(255, 255, 100)
Asheet.Range("g4").Interior.Color = RGB(300, 75, 75)
Asheet.Range("h4").Interior.Color = RGB(204, 204, 255)
'Insert Key for Colors: Orange & Blue
Asheet.Range("a1").Interior.Color = RGB(255, 153, 0)
Asheet.Range("a2").Interior.Color = RGB(153, 204, 255)
Asheet.Range("b1") = "Caution: Potential Bowel Health Complications"
Asheet.Range("b2") = "Bowel Movement within Healthy Parameters"
Asheet.Range("a1:a2").Select
Application.CutCopyMode = False
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
'Insert Updated Date Range (2 weeks back) into Data Tab
Dsheet.Select
Range("i3") = Date - 14
Range("i4") = Date - 13
Range("i5") = Date - 12
Range("i6") = Date - 11
Range("i7") = Date - 10
Range("i8") = Date - 9
Range("i9") = Date - 8
Range("i10") = Date - 7
Range("i11") = Date - 6
Range("i12") = Date - 5
Range("i13") = Date - 4
Range("i14") = Date - 3
Range("i15") = Date - 2
Range("i16") = Date - 1
Range("i17") = Date
'Copy & Paste Current Individual Names from "Data" Tab
Dsheet.Select
Range("A3:B13").Select
Selection.Copy
Asheet.Select
Range("c5").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
'Insert Today's Date
For x = 5 To 15
Cells(x, 1) = Date
Next x
'ANALYSIS: (1) Caution or Non-Caution Analysis; (2) Last Bowel Movement Analysis
'Individual Position 01
If Dsheet.Range("c3") < Dsheet.Range("i15") Then
Asheet.Range("b5").Interior.Color = RGB(255, 153, 0)
Asheet.Range("e5") = "Last bowel movement on " & Dsheet.Range("m3") & ", MORE than two days ago."
End If
If Dsheet.Range("c3") >= Dsheet.Range("i15") Then
Asheet.Range("b5").Interior.Color = RGB(153, 204, 255)
Asheet.Range("e5") = "Last bowel movement on " & Dsheet.Range("m3") & "." & " Within healthy tolerance levels."
End If
'Individual Position 02
If Dsheet.Range("c4") < Dsheet.Range("i15") Then
Asheet.Range("b6").Interior.Color = RGB(255, 153, 0)
Asheet.Range("e6") = "Last bowel movement on " & Dsheet.Range("m4") & ", MORE than two days ago."
End If
If Dsheet.Range("c4") >= Dsheet.Range("i15") Then
Asheet.Range("b6").Interior.Color = RGB(153, 204, 255)
Asheet.Range("e6") = "Last bowel movement on " & Dsheet.Range("m4") & "." & " Within healthy tolerance levels."
End If
'Individual Position 03
If Dsheet.Range("c5") < Dsheet.Range("i15") Then
Asheet.Range("b7").Interior.Color = RGB(255, 153, 0)
Asheet.Range("e7") = "Last bowel movement on " & Dsheet.Range("m5") & ", MORE than two days ago."
End If
If Dsheet.Range("c5") >= Dsheet.Range("i15") Then
Asheet.Range("b7").Interior.Color = RGB(153, 204, 255)
Asheet.Range("e7") = "Last bowel movement on " & Dsheet.Range("m5") & "." & " Within healthy tolerance levels."
End If
'Individual Position 04
If Dsheet.Range("c6") < Dsheet.Range("i15") Then
Asheet.Range("b8").Interior.Color = RGB(255, 153, 0)
Asheet.Range("e8") = "Last bowel movement on " & Dsheet.Range("m6") & ", MORE than two days ago."
End If
If Dsheet.Range("c6") >= Dsheet.Range("i15") Then
Asheet.Range("b8").Interior.Color = RGB(153, 204, 255)
Asheet.Range("e8") = "Last bowel movement on " & Dsheet.Range("m6") & "." & " Within healthy tolerance levels."
End If
'Individual Position 05
If Dsheet.Range("c7") < Dsheet.Range("i15") Then
Asheet.Range("b9").Interior.Color = RGB(255, 153, 0)
Asheet.Range("e9") = "Last bowel movement on " & Dsheet.Range("m7") & ", MORE than two days ago."
End If
If Dsheet.Range("c7") >= Dsheet.Range("i15") Then
Asheet.Range("b9").Interior.Color = RGB(153, 204, 255)
Asheet.Range("e9") = "Last bowel movement on " & Dsheet.Range("m7") & "." & " Within healthy tolerance levels."
End If
'Individual Position 06
If Dsheet.Range("c8") < Dsheet.Range("i15") Then
Asheet.Range("b10").Interior.Color = RGB(255, 153, 0)
Asheet.Range("e10") = "Last bowel movement on " & Dsheet.Range("m8") & ", MORE than two days ago."
End If
If Dsheet.Range("c8") >= Dsheet.Range("i15") Then
Asheet.Range("b10").Interior.Color = RGB(153, 204, 255)
Asheet.Range("e10") = "Last bowel movement on " & Dsheet.Range("m8") & "." & " Within healthy tolerance levels."
End If
'Individual Position 07
If Dsheet.Range("c9") < Dsheet.Range("i15") Then
Asheet.Range("b11").Interior.Color = RGB(255, 153, 0)
Asheet.Range("e11") = "Last bowel movement on " & Dsheet.Range("m9") & ", MORE than two days ago."
End If
If Dsheet.Range("c9") >= Dsheet.Range("i15") Then
Asheet.Range("b11").Interior.Color = RGB(153, 204, 255)
Asheet.Range("e11") = "Last bowel movement on " & Dsheet.Range("m9") & "." & " Within healthy tolerance levels."
End If
'Individual Position 08
If Dsheet.Range("c10") < Dsheet.Range("i15") Then
Asheet.Range("b12").Interior.Color = RGB(255, 153, 0)
Asheet.Range("e12") = "Last bowel movement on " & Dsheet.Range("m10") & ", MORE than two days ago."
End If
If Dsheet.Range("c10") >= Dsheet.Range("i15") Then
Asheet.Range("b12").Interior.Color = RGB(153, 204, 255)
Asheet.Range("e12") = "Last bowel movement on " & Dsheet.Range("m10") & "." & " Within healthy tolerance levels."
End If
'Individual Position 09
If Dsheet.Range("c11") < Dsheet.Range("i15") Then
Asheet.Range("b13").Interior.Color = RGB(255, 153, 0)
Asheet.Range("e13") = "Last bowel movement on " & Dsheet.Range("m11") & ", MORE than two days ago."
End If
If Dsheet.Range("c11") >= Dsheet.Range("i15") Then
Asheet.Range("b13").Interior.Color = RGB(153, 204, 255)
Asheet.Range("e13") = "Last bowel movement on " & Dsheet.Range("m11") & "." & " Within healthy tolerance levels."
End If
'Individual Position 10
If Dsheet.Range("c12") < Dsheet.Range("i15") Then
Asheet.Range("b14").Interior.Color = RGB(255, 153, 0)
Asheet.Range("e14") = "Last bowel movement on " & Dsheet.Range("m12") & ", MORE than two days ago."
End If
If Dsheet.Range("c12") >= Dsheet.Range("i15") Then
Asheet.Range("b14").Interior.Color = RGB(153, 204, 255)
Asheet.Range("e14") = "Last bowel movement on " & Dsheet.Range("m12") & "." & " Within healthy tolerance levels."
End If
'Individual Position 11
If Dsheet.Range("c13") < Dsheet.Range("i15") Then
Asheet.Range("b15").Interior.Color = RGB(255, 153, 0)
Asheet.Range("e15") = "Last bowel movement on " & Dsheet.Range("m13") & ", MORE than two days ago."
End If
If Dsheet.Range("c13") >= Dsheet.Range("i15") Then
Asheet.Range("b15").Interior.Color = RGB(153, 204, 255)
Asheet.Range("e15") = "Last bowel movement on " & Dsheet.Range("m13") & "." & " Within healthy tolerance levels."
End If
'ANALYSIS: Prune Juice Administration
'Individual 01
Asheet.Range("f5") = Dsheet.Range("e3") & "."
'Individual 02
Asheet.Range("f6") = Dsheet.Range("e4") & "."
'Individual 03
Asheet.Range("f7") = Dsheet.Range("e5") & "."
'Individual 04
Asheet.Range("f8") = Dsheet.Range("e6") & "."
'Individual 05
Asheet.Range("f9") = Dsheet.Range("e7") & "."
'Individual 06
Asheet.Range("f10") = Dsheet.Range("e8") & "."
'Individual 07
Asheet.Range("f11") = Dsheet.Range("e9") & "."
'Individual 08
Asheet.Range("f12") = Dsheet.Range("e10") & "."
'Individual 08
Asheet.Range("f13") = Dsheet.Range("e11") & "."
'Individual 09
Asheet.Range("f14") = Dsheet.Range("e12") & "."
'Individual 10
Asheet.Range("f15") = Dsheet.Range("e13") & "."
'Individual 11
Asheet.Range("f16") = Dsheet.Range("e14") & "."
'ANALYSIS: Action Steps
'Individual 01
'If Orange:
If Asheet.Range("b5").Interior.Color = RGB(255, 153, 0) Then
Asheet.Range("g5") = "Notify RN, LPN, & Management of POTENTIAL HEALTH HAZARD!"
Asheet.Range("g5").Select
Selection.Font.Bold = True
End If
'If Blue & PJ = "Yes":
If Asheet.Range("b5").Interior.Color = RGB(153, 204, 255) And Dsheet.Range("e3") = "Yes" Then
Asheet.Range("g5") = "None."
End If
'If Blue & PJ = "No":
If Asheet.Range("b5").Interior.Color = RGB(153, 204, 255) And Dsheet.Range("e3") = "No" Then
Asheet.Range("g5") = "Notify RN, LPN, & Managment that prune juice has not been administered."
End If
'Individual 02
'If Orange:
If Asheet.Range("b6").Interior.Color = RGB(255, 153, 0) Then
Asheet.Range("g6") = "Notify RN, LPN, & Management of POTENTIAL HEALTH HAZARD!"
Asheet.Range("g6").Select
Selection.Font.Bold = True
End If
'If Blue & PJ = "Yes":
If Asheet.Range("b6").Interior.Color = RGB(153, 204, 255) And Dsheet.Range("e4") = "Yes" Then
Asheet.Range("g6") = "None."
End If
'If Blue & PJ = "No":
If Asheet.Range("b6").Interior.Color = RGB(153, 204, 255) And Dsheet.Range("e4") = "No" Then
Asheet.Range("g6") = "Notify RN, LPN, & Managment that prune juice has not been administered."
End If
'Individual 03
'If Orange:
If Asheet.Range("b7").Interior.Color = RGB(255, 153, 0) Then
Asheet.Range("g7") = "Notify RN, LPN, & Management of POTENTIAL HEALTH HAZARD!"
Asheet.Range("g7").Select
Selection.Font.Bold = True
End If
'If Blue & PJ = "Yes":
If Asheet.Range("b7").Interior.Color = RGB(153, 204, 255) And Dsheet.Range("e5") = "Yes" Then
Asheet.Range("g7") = "None."
End If
'If Blue & PJ = "No":
If Asheet.Range("b7").Interior.Color = RGB(153, 204, 255) And Dsheet.Range("e5") = "No" Then
Asheet.Range("g7") = "Notify RN, LPN, & Managment that prune juice has not been administered."
End If
'Individual 04
'If Orange:
If Asheet.Range("b8").Interior.Color = RGB(255, 153, 0) Then
Asheet.Range("g8") = "Notify RN, LPN, & Management of POTENTIAL HEALTH HAZARD!"
Asheet.Range("g8").Select
Selection.Font.Bold = True
End If
'If Blue & PJ = "Yes":
If Asheet.Range("b8").Interior.Color = RGB(153, 204, 255) And Dsheet.Range("e6") = "Yes" Then
Asheet.Range("g8") = "None."
End If
'If Blue & PJ = "No":
If Asheet.Range("b8").Interior.Color = RGB(153, 204, 255) And Dsheet.Range("e6") = "No" Then
Asheet.Range("g8") = "Notify RN, LPN, & Managment that prune juice has not been administered."
End If
'Individual 05
'If Orange:
If Asheet.Range("b9").Interior.Color = RGB(255, 153, 0) Then
Asheet.Range("g9") = "Notify RN, LPN, & Management of POTENTIAL HEALTH HAZARD!"
Asheet.Range("g9").Select
Selection.Font.Bold = True
End If
'If Blue & PJ = "Yes":
If Asheet.Range("b9").Interior.Color = RGB(153, 204, 255) And Dsheet.Range("e7") = "Yes" Then
Asheet.Range("g9") = "None."
End If
'If Blue & PJ = "No":
If Asheet.Range("b9").Interior.Color = RGB(153, 204, 255) And Dsheet.Range("e7") = "No" Then
Asheet.Range("g9") = "Notify RN, LPN, & Managment that prune juice has not been administered."
End If
'Individual 06
'If Orange:
If Asheet.Range("b10").Interior.Color = RGB(255, 153, 0) Then
Asheet.Range("g10") = "Notify RN, LPN, & Management of POTENTIAL HEALTH HAZARD!"
Asheet.Range("g10").Select
Selection.Font.Bold = True
End If
'If Blue & PJ = "Yes":
If Asheet.Range("b10").Interior.Color = RGB(153, 204, 255) And Dsheet.Range("e8") = "Yes" Then
Asheet.Range("g10") = "None."
End If
'If Blue & PJ = "No":
If Asheet.Range("b10").Interior.Color = RGB(153, 204, 255) And Dsheet.Range("e8") = "No" Then
Asheet.Range("g10") = "Notify RN, LPN, & Managment that prune juice has not been administered."
End If
'Individual 07
'If Orange:
If Asheet.Range("b11").Interior.Color = RGB(255, 153, 0) Then
Asheet.Range("g11") = "Notify RN, LPN, & Management of POTENTIAL HEALTH HAZARD!"
Asheet.Range("g11").Select
Selection.Font.Bold = True
End If
'If Blue & PJ = "Yes":
If Asheet.Range("b11").Interior.Color = RGB(153, 204, 255) And Dsheet.Range("e9") = "Yes" Then
Asheet.Range("g11") = "None."
End If
'If Blue & PJ = "No":
If Asheet.Range("b11").Interior.Color = RGB(153, 204, 255) And Dsheet.Range("e9") = "No" Then
Asheet.Range("g11") = "Notify RN, LPN, & Managment that prune juice has not been administered."
End If
'Individual 08
'If Orange:
If Asheet.Range("b12").Interior.Color = RGB(255, 153, 0) Then
Asheet.Range("g12") = "Notify RN, LPN, & Management of POTENTIAL HEALTH HAZARD!"
Asheet.Range("g12").Select
Selection.Font.Bold = True
End If
'If Blue & PJ = "Yes":
If Asheet.Range("b12").Interior.Color = RGB(153, 204, 255) And Dsheet.Range("e10") = "Yes" Then
Asheet.Range("g12") = "None."
End If
'If Blue & PJ = "No":
If Asheet.Range("b12").Interior.Color = RGB(153, 204, 255) And Dsheet.Range("e10") = "No" Then
Asheet.Range("g12") = "Notify RN, LPN, & Managment that prune juice has not been administered."
End If
'Individual 09
'If Orange:
If Asheet.Range("b13").Interior.Color = RGB(255, 153, 0) Then
Asheet.Range("g13") = "Notify RN, LPN, & Management of POTENTIAL HEALTH HAZARD!"
Asheet.Range("g13").Select
Selection.Font.Bold = True
End If
'If Blue & PJ = "Yes":
If Asheet.Range("b13").Interior.Color = RGB(153, 204, 255) And Dsheet.Range("e11") = "Yes" Then
Asheet.Range("g13") = "None."
End If
'If Blue & PJ = "No":
If Asheet.Range("b13").Interior.Color = RGB(153, 204, 255) And Dsheet.Range("e11") = "No" Then
Asheet.Range("g13") = "Notify RN, LPN, & Managment that prune juice has not been administered."
End If
'Individual 10
'If Orange:
If Asheet.Range("b14").Interior.Color = RGB(255, 153, 0) Then
Asheet.Range("g14") = "Notify RN, LPN, & Management of POTENTIAL HEALTH HAZARD!"
Asheet.Range("g14").Select
Selection.Font.Bold = True
End If
'If Blue & PJ = "Yes":
If Asheet.Range("b14").Interior.Color = RGB(153, 204, 255) And Dsheet.Range("e12") = "Yes" Then
Asheet.Range("g14") = "None."
End If
'If Blue & PJ = "No":
If Asheet.Range("b14").Interior.Color = RGB(153, 204, 255) And Dsheet.Range("e12") = "No" Then
Asheet.Range("g14") = "Notify RN, LPN, & Managment that prune juice has not been administered."
End If
'Individual 11
'If Orange:
If Asheet.Range("b15").Interior.Color = RGB(255, 153, 0) Then
Asheet.Range("g15") = "Notify RN, LPN, & Management of POTENTIAL HEALTH HAZARD!"
Asheet.Range("g15").Select
Selection.Font.Bold = True
End If
'If Blue & PJ = "Yes":
If Asheet.Range("b15").Interior.Color = RGB(153, 204, 255) And Dsheet.Range("e13") = "Yes" Then
Asheet.Range("g15") = "None."
End If
'If Blue & PJ = "No":
If Asheet.Range("b15").Interior.Color = RGB(153, 204, 255) And Dsheet.Range("e13") = "No" Then
Asheet.Range("g15") = "Notify RN, LPN, & Managment that prune juice has not been administered."
End If
'Data Validation for "Action Steps" Column
'Input Data Validation Criteria
Asheet.Range("o4") = "Action Steps Data Validation"
Asheet.Range("o5") = "Notify RN, LPN, & Managment that prune juice has not been administered."
Asheet.Range("o6") = "None."
Asheet.Range("o7") = "Notify RN, LPN, & Management of POTENTIAL HEALTH HAZARD!"
Asheet.Range("o8") = "See Comments Column."
'Data Validation
Range("g5:g15").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=$O$5:$O$8"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
'Applying Borders to "Analysis" Tab
Asheet.Range("A4:h15").Select
Application.CutCopyMode = False
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
'Format Range e:5,h:15 as Wrapped Text
Asheet.Range("E4:h15").Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.wraptext = True
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
End Sub
推荐答案
我收到此错误消息,但只有将文档取回IOS(Apple mac mini)之后。这可能是原因吗?如果是这样,可以做些什么来纠正语言障碍?
I am getting this error message but only after taking the document over to IOS (Apple mac mini). Could this be the reason? If so, what can be done to correct the language barrier?
这篇关于运行时错误'1004:对象“内部”的方法“颜色”失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!