前两天写的面试用的,run macro-> select file->processing
登录 | 论坛导航 -> 华新鲜事 -> 求学狮城 | 本帖共有 5 楼,分 1 页, 当前显示第 1 页 : 本帖树形列表 : 刷新 : 返回上一页
<<始页  [1]  末页>>
作者:nus_card (等级:2 - 初出茅庐,发帖:148) 发表:2009-03-31 23:38:35  楼主  关注此帖评分:
Excel Macro expert please come ini'm new to macro. is it possible to write a macro which can read data from another excel file? say macro is in file1.xls, i need to read data from file2.xls many thanks.
前两天写的面试用的,run macro-> select file->processing
Public BoolOpenSuccess As Boolean


Private Sub start_Click()

Dim Value As String

Call OpenFile(StrFileName, BoolOpenSuccess)
Application.ScreenUpdating = False
If BoolOpenSuccess = False Then
Exit Sub
End If

'open file for input
Open StrFileName For Input As #5
Do While Not EOF(5)
On Error Resume Next
Line Input #5, strLine

'Get stepsize info
If BoolGetWidth = False Then
If InStr(1, strLine, "Pulse width:") > 0 Then
BoolGetWidth = True

If InStr(1, strLine, "ns") > 0 Then
'Pulse width
'Format: Pulse width:100ns
pos1 = InStr(1, strLine, ":")
pos2 = InStr(pos1, strLine, "s")
Value = Mid(strLine, pos1 + 1, pos2)
'store value in sheet
Worksheets("Result").Range("C10") = Value
Exit Do
End If

End If
End If

Loop

'close file
Close #5
End Sub

Sub OpenFile(strTemp, BoolOpenSuccess)

strTemp = Application.GetOpenFilename("All Files (*.*), *.*)")
If strTemp = False Then 'user chooses cancel
MsgBox "File Open Failed, Exit"
BoolOpenSuccess = False
Exit Sub
Else
BoolOpenSuccess = True
End If
End Sub


工作了,很少去学校。我可以提供进货渠道及100多个客户号码给想在NUS卖卡的朋友
Photobucket
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
作者:nus_card (等级:2 - 初出茅庐,发帖:148) 发表:2009-03-31 23:42:01  2楼 评分:
前两天写的面试用的,run macro-> select file->processingPublic BoolOpenSuccess As Boolean Private Sub start_Click() Dim Value As String Call OpenFile(StrFileName, BoolOpenSuccess) Application.ScreenUpdating = False If BoolOpenSuccess = False Then Exit Sub End If 'open file for input Open StrFileName For Input As #5 Do While Not EOF(5) On Error Resume Next Line Input #5, strLine 'Get stepsize info If BoolGetWidth = False Then If InStr(1, strLine, "Pulse width:") > 0 Then BoolGetWidth = True If InStr(1, strLine, "ns") > 0 Then 'Pulse width 'Format: Pulse width:100ns pos1 = InStr(1, strLine, ":") pos2 = InStr(pos1, strLine, "s") Value = Mid(strLine, pos1 + 1, pos2) 'store value in sheet Worksheets("Result").Range("C10") = Value Exit (more...)
如果你的file1位置固定,可以用以下的code
'get product and tech from user input
Location = Worksheets("control").Range("B34")
PartID = Worksheets("control").Range("G9")
Dim FilePath As String
FilePath = Location & "\" & PartID & "\"

If BoolManualXML = False Then
StrFileName = FilePath & ArrFileName(1)
Else

Call OpenFile(StrFileName, BoolOpenSuccess)
Application.ScreenUpdating = False
If BoolOpenSuccess = False Then
Exit Sub
End If
End If
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
作者:nus_card (等级:2 - 初出茅庐,发帖:148) 发表:2009-03-31 23:44:50  3楼
如果你的file1位置固定,可以用以下的code 'get product and tech from user input Location = Worksheets("control").Range("B34") PartID = Worksheets("control").Range("G9") Dim FilePath As String FilePath = Location & "\" & PartID & "\" If BoolManualXML = False Then StrFileName = FilePath & ArrFileName(1) Else Call OpenFile(StrFileName, BoolOpenSuccess) Application.ScreenUpdating = False If BoolOpenSuccess = False Then Exit Sub End If End If
学这个东西要先研究别人是怎样写的
很容易上手的,加油
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
作者:nus_card (等级:2 - 初出茅庐,发帖:148) 发表:2009-03-31 23:45:43  4楼
如果你的file1位置固定,可以用以下的code 'get product and tech from user input Location = Worksheets("control").Range("B34") PartID = Worksheets("control").Range("G9") Dim FilePath As String FilePath = Location & "\" & PartID & "\" If BoolManualXML = False Then StrFileName = FilePath & ArrFileName(1) Else Call OpenFile(StrFileName, BoolOpenSuccess) Application.ScreenUpdating = False If BoolOpenSuccess = False Then Exit Sub End If End If
上面的code用前要做些相应的修改:)
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
作者:nus_card (等级:2 - 初出茅庐,发帖:148) 发表:2009-04-02 13:40:19  5楼
厉害~~那里去看别人写的呀?
我当时是实习,老板就把前辈的程序让我看
Macro另外一个好处是可以record macro。这样你就能知道怎样写程序重复你刚才的动作,比如选中某个区域,改变背景颜色等
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
论坛导航 -> 华新鲜事 -> 求学狮城 | 返回上一页 | 本主题共有 5 篇文章,分 1 页, 当前显示第 1 页 | 回到顶部
<<始页  [1]  末页>>

请登录后回复:帐号   密码