我在粗线上收到有关类型不匹配的错误。 Case语句引用的单元格值只能看到,但我不确定Case语句是否能够读取按可见性排序的单元格的值。
该功能是对单元格进行排序以匹配CHART ID
,并在搜索匹配时插入与其关联的数据集,如果它不是代码将检查单元格是否&# #39; s是空的。
如果单元格不为空,则代码将通过将k递增1来移动到下一个单元格并继续尝试通过将n减去1来插入数据,以便它通过下一个单元格运行数据。
这是循环的,直到变量中的所有计数(例如Wet_etch
)被插入到图表中,然后继续EXPOSE
和PI_CURE
(我已经这样做了)尚未编码直到我完成了WET_Etch
。
请问我是否必须验证运行代码时获得的值。
Function SetData(WET_ETCH, EXPOSE, PI_CURE As Long)
Dim n, k As Integer
Set ws = Sheets("Sheet2")
Set sh(1) = Sheets("Data_Wet Etch")
Set sh(2) = Sheets("Data_EXPOSE")
Set sh(3) = Sheets("Data_PI CURE")
ws.Activate
'Clear filter
If ActiveSheet.AutoFilterMode Then ActiveSheet.ShowAllData
On Error Resume Next
ActiveSheet.ShowAllData
On Error GoTo 0
ActiveSheet.Range("$A$1:$J$63") _
.AutoFilter Field:=8, Criteria1:=RGB(255, 0 _
, 0), Operator:=xlFilterFontColor
ActiveSheet.Range("$A$1:$J$63") _
.AutoFilter Field:=2, Criteria1:="WET ETCH", Operator:=xlFilterValues
'Loop through count of Wet_Etch
For n = 1 To WET_ETCH
'To loop through available data columns for input
k = 1
If k <= 7 Then
'Check cells for chart ID to set data or insert new data
'Code to set case as only visible rows on sheet
Select Case ws.Range("D" & n + 1).SpecialCells(xlCellTypeVisible)
***Case Is = sh(1).Range("B" & 84 + k)***
'Set PPK value
sh(1).Range("T" & 84 + k) = _
ws.Range("H" & n + 1).SpecialCells(xlCellTypeVisible)
'Check for empty line and inserts chart title
Case Is = ws.Range("B" & 83 + k) = ""
'Set PPK value
sh(1).Range("T" & 83 + k) = _
ws.Range("H" & n + 1).SpecialCells(xlCellTypeVisible)
'Set Chart ID
sh(1).Range("B" & 83 + k) = _
ws.Range("D" & n + 1).SpecialCells(xlCellTypeVisible)
Case Else
k = k + 1
n = n - 1
End Select
End If
Next n
'Clear filter
If ActiveSheet.AutoFilterMode Then ActiveSheet.ShowAllData
On Error Resume Next
ActiveSheet.ShowAllData
On Error GoTo 0
End Function