附件中的文件有提取的代码了,但只能在同一个文件中使用,我想将这代码放到另一个文件运行。
就是说在同一个文件有两个文件,010为数据源,然后在这个目录新建一个叫数据提取的文件,将代码放到这个文件运行来提取010的数据
Sub xxx()
Application.Calculation = xlCalculationManual
Sheets("数据提取").Range("A2:K1000").ClearContents
Dim i As Worksheet
For Each i In ThisWorkbook.Sheets
If i.Name <> "中2库存" And i.Name <> "xts" Then
lr = i.Cells(65536, 3).End(xlUp).Row
For j = 5 To lr
If i.Cells(j, "M") <> "√" And i.Cells(j, "k") <> "A0" Then 'M列
b = Sheets("数据提取").Cells(65536, 3).End(xlUp).Row + 1
i.Range("A" & j & ":K" & j).Copy Sheets("数据提取").Cells(b, "A") 'C:L列
Sheets("数据提取").Cells(b, "B") = i.Name
End If
Next
End If
Next
Application.Calculation = xlCalculationAutomatic
End Sub
附件http://pan.baidu.com/s/1nt0Yu7Z
亲,有两个问题确认一下:
你这个代码貌似是将提取以后的数据,放到了“数据提取”这个Sheet工作表中。那么为什么循环的时候没有跳过这个表呢“i.name<>"数据提取"”? 你的代码:If i.Name <> "中2库存" And i.Name <> "xts"
你的意思是不是,现在提取出来的数据要放到新建的一个工作簿中,而不是本工作簿的“数据提取”工作表?
我的建议是:修改一下这段代码,专门放在一个工作簿中。这个工作簿只放程序,运行时打开源数据文件和数据提取文件进行操作。
1、对了,If i.Name "中2库存" And i.Name "xts" 这个是排除的工作表
2、是这个意思
3、就不能在另外的文件中进行提取吗
非常感谢你的回答
可以在另外的文件中提取呀。我再进一步说清楚:
一共需要3个文件:程序文件、原始数据文件、创建的提取数据文件。
我的意思是,代码只放在“程序文件”中,去打开原始数据文件(文件名可以用参数的方法指定),再打开提取数据文件,把数据放进去。
好的,就这样吧,帮我设置一下参数,已提高分数啦
追答亲,查收附件,代码如下。
原始文件、数据提取文件,都放在程序文件同一个文件夹下。
如下图,程序文件的黄色单元格,填写原始文件的文件名。
在原始文件、数据提取文件都关闭的情况下,点击运行按钮。
你好,效果还可以,能不能减少一个文件。在“数据提取源程序”的文件中新建一个叫“数据提取”的工作表,将提取的数据放到这里
当然不能我也选择你的答案,如果能改一下,我会加一下分的,给个回复好吗,谢谢!
OK,改好了。请重新查收附件。程序文件中的“数据提取”表不要删除,因为“原数据文件”中的新建表,其实就是把这个表复制过去的。
程序文件中的“数据提取”表不要删除?为什么这个表运行后是空白的,只能复制到“原数据文件”中的新建表吗,求解答
追答亲,分两种情况。
一种是原始数据文件中有“数据提取”这个工作表,就比如你的“010.xls”这个文件,本身自带一个,那么程序中就会优先使用这个工作表,清空、填充数据……
还有一种情况,如果你的原始数据文件中没有“数据提取”这个工作表,那么,按你的要求,需要用程序去“新建”,然后再往里面填数据。用程序去新建一个表,填写那么多文字,还要设置格式,太让人抓狂了……所以,程序文件中就带一个“数据提取”工作表的模板,当原始数据文件中没有这个表时,就复制过去,然后填充数据。
用VBA提取EXcel同一目录中另一个文件的内容
我的建议是:修改一下这段代码,专门放在一个工作簿中。这个工作簿只放程序,运行时打开源数据文件和数据提取文件进行操作。
excel里面我想 用VBA实现调用另一个工作簿中的数据怎么解决
1、点击Excel界面左下角的录制宏按钮录制宏。2、在【宏名】处输入一个有意义的名称,帮助以后识别该宏的功能。本例按照默认名称命名。选择将宏录制在【个人宏工作簿】并点击【确定】按钮。3、马上点击Excel界面左下角的停止录制宏按钮停止宏的录制。4、按Alt+F11打开VBE界面,如下图。5、在代码部分...
VB怎么通过一个EXCEL表中的内容读取另一个EXCEL表中的内容
如果你插入的是窗体控件,很简单的。(activex控件比较麻烦,得用vba代码)右键点车间(1)控件,设置格式,最后一个标签“控制”,单元格链接处点到比如sheet1的g1,确定。在sheet2的a1输入 =if(sheet1!g1,"车间(1)","车间(2)")就可以了。
vba读取另一个excel的信息
Private Sub Worksheet_Change(ByVal Target As Range)Dim wb As Workbook, sh, a, m, rIf Target.Column = 7 ThenSet wb = GetObject(ThisWorkbook.Path & "\\B.xlsx")Set sh = wb.Worksheets(1)a = Target.ValueSet m = sh.Range("D:D").Find(What:=a, LookAt:=xlWhole)If m Is...
如何用函数或VBA调用(引用)另外一个工作表的数据
1、首先,在Excel表格中输入如图内容,以方便在VBA中进行读取和处理操作。2、进入VBA环境,可以按键盘上的“Alt+F11”进入。右击“Microsoft Excel对象”,从其右键菜单中选择“插入”-“用户窗体”项。3、接着向窗体中拖动一个“标签”和一个“按钮”,右击“按钮”,从其扩展菜单中选择“属性”项。...
一个工作表提取另一个工作表格数据的VB编程?
在 Excel 中,您可以使用 VBA 编程来根据一个工作表的数据提取并汇总到另一个工作表。以下是一个简单的示例,从 Sheet1 汇总物料名称的数量,并将结果填入 Sheet2 中的对应日期和物料名称单元格:Sub SummarizeData()Dim ws1 As Worksheet, ws2 As Worksheet Dim lastRowWs1 As Long, lastRowWs2 ...
请问excel大神,如何批量获取指定路径下其他excel文件中数据?
如果只有两三个文件,可以使用公式实现:打开三个文件,在【总.xls】里面的需要的单元格输入等号=,然后点击别的工作簿、工作表、单元格,最后回车即可。如果文件数量很多,或者需要获取数据的范围很多,或者需要获取不确定的数据,那么就必须使用VBA编程,例如下面的代码:Option Explicit Sub 宏1()Dim st...
VBA汇总统一文件夹下的多个表格的数据?
实例:在一个文件夹下有若干个文件,如下图:我们现在,需要把上面的文件夹中除了“VBA与数据库操作”之外的各个文件的内容一次性汇总出来,这个VBA程序该如何写呢?代码如下:Sub mynzexcels_6()'第37讲,利用ADO,实现同一文件夹下EXCEL工作表数据的汇总 Dim cnADO As Object Dim strPath, strTable...
excel vba二个工作薄同时打开,读取另个工作薄内容
Function recompose_excel(a,b)Set objExcel = CreateObject("Excel.Application")objExcel.DisplayAlerts = False Set ExcelBook_S = objExcel.Workbooks.Open(b)objExcel.WorkSheets("Sheet1").select'选择Sheet1 objExcel.ActiveSheet.UsedRange.Copy'拷贝表格Sheet1当中的内容 objExcel.ActiveWorkBook....
通过VBA将一个EXCEL单元格的内容读取到另一个单元格?
YANG()Workbooks.Open ThisWorkbook.Path & "\\NIDA.xlsx"'打开同目录下文件 Sheets("②Count Table").Range("A5:KH1500").Copy Workbooks("NIDA.xlsm").Sheets("②Count Table").Range("A5:A5:KH1500")'拷贝数据 ActiveWorkbook.Close = True '关闭A.xlsx End Sub 里面的错误在 Range("A5:A5...