大家好,谢谢您的宝贵时间,我的第一篇文章,我是一个新手。
我正在尝试过滤Access to XMLHttpRequest at 'http://myIP_ANd_Port/icrm_mobile_mar12/index.php/login_api' from origin 'http://localhost:8100' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.
列中的任何12位数字,以便以后将它们切成名为B
的另一张纸。
我该如何编写代码来做到这一点?在下面的示例中,此方法非常有效,但仅适用于PPE
。
我也提供了屏幕截图。
243080700547
答案 0 :(得分:4)
您使用的是通过CStr进行字符串转换的字符串,因此我假设C列中的值是真实数字。在这种情况下,简单的大于/小于就足够了。
从下到上工作,您可以避免修改增量。
with Worksheets("RAW DATA")
I = .cells(.rows.count, "C").end(xlup).row
For K = I To 1 step -1
If .cells(K, "C").value2 > 99999999999 And .cells(K, "C").value2 <= 999999999999 Then
J = J + 1
.rows(K).EntireRow.Copy Destination:=Worksheets("PPE").Range("A" & J)
.rows(K).EntireRow.delete
End If
Next K
end with
答案 1 :(得分:0)
代替您的第一次出现
If CStr(xRg(K).Value) = "243080700547" Then
您可以使用
If Len(CStr(xRg(K).Value)) = 12 Then
检查字符串的长度是否为12。
问题:为什么您要第二遍检查?您已经在同一(第一张)支票的If
区块中。
答案 2 :(得分:0)
您可以使用过滤器,而不是遍历整个日期,这可能比逐行复制要快得多,因为您可以一次复制所有内容。
这也适用于任何其他条件,只需调整.AutoFilter
。
Option Explicit
Public Sub FilterAndCopy()
Dim DestRow As Long 'find destination row
DestRow = Worksheets("PPE").Cells(Worksheets("PPE").Rows.Count, "A").End(xlUp).Row + 1
With Worksheets("RAW DATA").UsedRange
'filter
.AutoFilter Field:=3, Criteria1:=">=100000000000", Operator:=xlAnd, Criteria2:="<=999999999999"
'copy date (without headers)
.Resize(RowSize:=.Rows.Count - 1).Offset(RowOffset:=1).SpecialCells(xlCellTypeVisible).EntireRow.Copy Destination:=Worksheets("PPE").Cells(DestRow, "A")
'remove filter
.AutoFilter
End With
End Sub