作者ljuber (美少妇与女儿同学的故事)
看板Office
标题[算表] vba回圈取代呼叫表格问题?
时间Wed Aug 21 14:01:21 2019
软体:excel
版本:任何版本
If (MsgBox("是否执行取代?", vbYesNo) = vbNo) Then Exit Sub
Application.ScreenUpdating = False '巨集执行时不更新萤幕
Dim openfile$, filepath$, thiswrkname$
Dim FileChosen As Integer
Dim ff As String
Dim MM
Dim diaFolder As FileDialog
thiswrkname = ThisWorkbook.Name
'开启资料夹
Set fd = Application.FileDialog(msoFileDialogFolderPicker)
fd.AllowMultiSelect = False
FileChosen = fd.Show
'没有选资料夹离开程式
If FileChosen <> -1 Then
MsgBox "你没有选择资料夹"
Exit Sub
Else
filepath = fd.SelectedItems(1) & "\"
End If
openfile = Dir(filepath & "*.xls*")
Application.DisplayAlerts = False
'资料夹没档案离开程式
If openfile = "" Then
MsgBox "资料夹内没有要处理档案,请确认"
Exit Sub
End If
====
主要是下面这段:
'----
Do While openfile <> ""
Workbooks.Open filepath & openfile
Workbooks(thiswrkname).Activate
Sheets("机构代号").Select
For i = 1 To 63
XX = Range("A" & i)
YY = Range("B" & i)
Workbooks(openfile).Activate
For j = 1 To 100
If Range("B" & j) = XX Then Range("C" & j) = YY
Next j
Next i
Workbooks(openfile).Save
Workbooks(openfile).Close
openfile = Dir
Workbooks(thiswrkname).Activate
Sheets("机构代号").Select
Loop
MsgBox "已经将机构名称改正确"
End Sub
====
大概就是有个表格 金融机构代号 要回传到另外很多档案去
我上面那样写都只有第一个会改到
不知道我那边逻辑想错...
档案跟范例档案在这边
https://drive.google.com/open?id=1Sm6oBuiakIprjdwnO-0sEFIdWad8OKiv
--
https://www.youtube.com/watch?v=jx-dxHXwFAM
https://www.youtube.com/watch?v=-ZGQxRIn-7o
http://a.imageshack.us/img195/2903/img5738m.jpg
豆起相思,其生南国,
花开堪折,莫待落蒂,
妹上心头,如获至宝。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 60.250.67.78 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1566367284.A.A79.html
1F:→ soyoso: 因为变数XX和YY在每个回圈於档名时才又activate有机构代号 08/21 14:15
2F:→ soyoso: 工作表的这个活页簿,因此会导致於i回圈於2起的变数XX和YY 08/21 14:16
3F:→ soyoso: 会是所开启活页簿里的资料,如XX取的是a栏来看,就会是空 08/21 14:16
4F:→ soyoso: 白储存格,判断上也就没有符合的 08/21 14:17
5F:→ soyoso: XX=workbooks(thiswrkname).activesheet.range("a" & i) 08/21 14:18
6F:→ soyoso: 的方式来取得资料,YY亦同 08/21 14:19
7F:→ ljuber: 谢谢S大!!解决了 08/21 16:27