[問題] Excel VBA程式精簡?
(若是和其他不同軟體互動之問題 請記得一併填寫)
軟體:2007
版本:NA
Dear 大大們
小弟有個VBA的程序如下:
Sub macroexample()
Application.ScreenUpdating = False
'Clean sheet1 (Datas)'
ThisWorkbook.Sheets(1).Range("A6:LZ9999").Clear
'Files directory'
ChDir "C:\Documents and Settings\USER\桌面\test" 'MODIFY
Dim monfichier As String
Dim n As Long
monfichier = Dir("*.txt")
n = 11 'MODIFY
'Import CMM datas'
While monfichier <> "" 'while excel can open the TXT files one by one
'it opens one txt file
Workbooks.OpenText Filename:=monfichier _
, Origin:=936, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, _
Comma:=False, Space:=True, Other:=False, FieldInfo:=Array(Array(1, 1), _
Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _
Array(9, 1)), TrailingMinusNumbers:=True
'and copy and paste the data in the excel table
Workbooks(monfichier).Sheets(1).Range("A1").Copy Destination:=ThisWorkbook.Sheets(1).Range("C" & n) 'MODIFY
Workbooks(monfichier).Sheets(1).Range("B17").Copy Destination:=ThisWorkbook.Sheets(1).Range("D" & n) 'MODIFY
Workbooks(monfichier).Sheets(1).Range("B19").Copy Destination:=ThisWorkbook.Sheets(1).Range("D" & n) 'MODIFY
Workbooks(monfichier).Sheets(1).Range("B21").Copy Destination:=ThisWorkbook.Sheets(1).Range("D" & n) 'MODIFY
Workbooks(monfichier).Sheets(1).Range("B23").Copy Destination:=ThisWorkbook.Sheets(1).Range("D" & n) 'MODIFY
Workbooks(monfichier).Sheets(1).Range("B25").Copy Destination:=ThisWorkbook.Sheets(1).Range("D" & n) 'MODIFY
Workbooks(monfichier).Sheets(1).Range("B27").Copy Destination:=ThisWorkbook.Sheets(1).Range("D" & n) 'MODIFY
'next CMM report'
n = n + 1
monfichier = Dir()
ActiveWorkbook.Close
Wend
End Sub
其中在以下Range("B17")到("B27")是有規律性的增加兩列,小弟的程式要怎樣精簡呢
不然如果到("B57"),小弟就要一直複製貼上改數據到("B57")
Workbooks(monfichier).Sheets(1).Range("A1").Copy Destination:=ThisWorkbook.Sheets(1).Range("C" & n) 'MODIFY
Workbooks(monfichier).Sheets(1).Range("B17").Copy Destination:=ThisWorkbook.Sheets(1).Range("D" & n) 'MODIFY
Workbooks(monfichier).Sheets(1).Range("B19").Copy Destination:=ThisWorkbook.Sheets(1).Range("D" & n) 'MODIFY
Workbooks(monfichier).Sheets(1).Range("B21").Copy Destination:=ThisWorkbook.Sheets(1).Range("D" & n) 'MODIFY
Workbooks(monfichier).Sheets(1).Range("B23").Copy Destination:=ThisWorkbook.Sheets(1).Range("D" & n) 'MODIFY
Workbooks(monfichier).Sheets(1).Range("B25").Copy Destination:=ThisWorkbook.Sheets(1).Range("D" & n) 'MODIFY
Workbooks(monfichier).Sheets(1).Range("B27").Copy Destination:=ThisWorkbook.Sheets(1).Range("D" & n) 'MODIFY
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.47.220.185
→
09/15 13:58, , 1F
09/15 13:58, 1F
Office 近期熱門文章
PTT數位生活區 即時熱門文章