我是vbs的新手,需要知道如何在列中搜索某些条件,然后将符合该条件的所有行复制到新的电子表格中。我有几个类别的数据,我从一个电子表格中提取所有数据,但它需要大量“过滤此列,过滤此列,在另一列中针对此条件的眼球,如果匹配则将副本复制并粘贴到适当的类别'。我基本上想要采取所有这些手动工作并自动化它。
我的第二个问题是,在某些列中搜索我有日期时,我需要找到符合“21天或更接近当前日期”标准的行。如何指定脚本以查看日期并复制并粘贴距离当前日期不超过21天的所有行?
提前致谢!
答案 0 :(得分:1)
有两种方法可以自动操作电子表格(Excel?)数据:两种方法都以用普通/自然语言指定您的任务开始(例如,'复制所有行,其中?? - 日期大于等于21天/ less / small等于当前日期从sheet ??(row / col?)到sheet ??(row / col?)'然后
第一种或第二种方式对你来说是否更好取决于你的知识和技能。
答案 1 :(得分:0)
您是否有兴趣使用VBS创建自定义宏?在Development / Visual Basic下添加VB文件,您可以处理行和列。
Sub CountX(pRowStart As Integer, pRowStop As Integer, pColStart As Integer, pColStop As Integer, pObjGrp As String)
Dim x As Integer
Dim xRow As Integer
Dim xCol As Integer
Dim wSht As Worksheet
x = 0
'**** create object reference to worksheet object.
Set wSht = Worksheets("Sheet1")
'**** set cell control values
xRow = 1
xCol = 3
Do While xRow < pRowStop + 1
Do While xCol < pColStop + 1
If UCase(ActiveSheet.Cells(xRow, xCol)) = "X" Then
x = x + 1
End If
xCol = xCol + 1
Loop
xCol = pColStart
xRow = xRow + 1
Loop
End Sub
您也可以将其添加到代码中以激活另一个工作表并将值设置为第1行第3列
Sheets(psSheetName).Activate
ActiveSheet.Cells(1, 3).Value = "value"