
Sub 拆分()
Dim I As Long, N As Long
Dim C As Long, Sh As Worksheet
ApplicationScreenUpdating = False
C = Val(InputBox("请输入每个表格的行数"))
If C = 0 Then Exit Sub
Set Sh = ThisWorkbookWorksheets(1) '要拆分的表
For I = 1 To ThisWorkbookWorksheets(1)UsedRangeRowsCount Step C
With ThisWorkbookWorksheetsAdd(after:=Worksheets(ThisWorkbookWorksheetsCount))
ShRows(I)Resize(C)Copy Range("A1")
N = N + 1
Name = N
End With
Next
ApplicationScreenUpdating = True
MsgBox "共拆分出 " & N & "个工作表"
End Sub
注意修改要拆分的表名。
这个问题很有意思。首先目前好像还没有数据库有存储1000列的,还有这种比较是无意思的。因为实际中不可能发生,但从应用层面讲,数据库表的字段不能太多,如此在调用时会极大地影响效率,因为数据表的列数达到一定程度后,在大记录数的情况下,使用查询语句或数据检索时会使整个系统的资源被极大地占用,查询或检索的效率急剧下降。而得到其平衡,是数据库管理系统和其管理员应该考虑和实践的问题,其最能体现数据库管理员水平的地方之一。
你所说的这个需求可以先将这些数据通过查询语句提取出来,将其保存到数组里啊,然后在对数据进行 *** 作,如果也都是在内存中运行的,可以保证速度的。
首先就是你这一列的数据在一起,比如a列,
然后再在b1输入:
=IF(10>A1,IF(A1>1,A1,"排除"),"排除")
然后把b1一只向下拉到最后,你就可以发现大于1小于10的数据的右边的单元格都显示“排除”
然后选中这两列,按照b列排序,然后把b列中有“排除”的都删除,就可以了
祝你顺利
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)