' Set xlbook = Nothing
' Set xlapp = Nothing
End Sub
爬文找了很久..只找到很多雷同上面一段..
還請大大指點一下….
[attach]30217[/attach][attach]30218[/attach][attach]30219[/attach]作者: zheng211016 時間: 2019-3-12 22:51
請教GBKEE大大:
剛看了幾個小時在一行一行測試..
有幾個地方不太明白
1.
For Each E In Rng
'大於5 寫上D欄的值
If E > 5 Then AR = AR & "," & E.Range("d1") <===E.Range("d1") 為何是用E?而不是用Ap.Workbooks("c").Sheets(1)...這段看不大明白
Next
Set Rng = Ap.Workbooks("1").Sheets(1).Range("C:C") '
Rng = ""
If AR <> "" Then '有資料 <====AR最上面不是已經清空為0了??
AR = Split(Mid(AR, 2), ",") '分割
Rng(1).Resize(UBound(AR)) = Application.WorksheetFunction.Transpose(AR)
'B檔-->'大於5 寫上D欄的值 **寫在A檔C欄
End If
Sub Ex_newexce2()
Dim AR As Variant, Rng(1 To 2) As Range, E As Range
With Workbooks("a").Sheets(1)
Set Rng(1) = .Range(“A1”, .Range(“A1”).End(xlDown)) ‘同excel.exe 可以成功
Set Rng(2) = Workbooks(“a”).Sheets(1).Range(“c1”) ‘A檔A欄copy A檔C欄
Rng(1).Copy Rng(2)
End With
End Sub
Sub Ex_newexce3()
Dim AR As Variant, Rng(1 To 2) As Range, E As Range
With Workbooks("a").Sheets(1)
Set Rng(1) = .Range(“A1”, .Range(“A1”).End(xlDown)) ‘不同excel.exe 會失敗
Set Rng(2) = Ap.Workbooks(“c”).Sheets(1).Range(“c1”) ‘‘A檔A欄copy C檔C欄
Rng(1).Copy Rng(2)
End With
[attach]30229[/attach]
End Sub
你疑惑<===E.Range("d1") 為何是用E?而不是用Ap.Workbooks("c").Sheets(1)
A的資料 不是要貼上C 的A欄 嗎?
Set Rng = Ap.Workbooks(1).Sheets(1).Range("A1") '指名C檔下
篩選[A欄]>5 取的 C 的D欄 的資料 >>不就 E.Range("d1")
你疑惑 If AR <> "" Then '有資料 <====AR最上面不是已經清空為0了??
這裡啊******
For Each E In Rng
'大於5 寫上D欄的值 **有
If E > 5 Then AR = AR & "," & E.Range("d1")
Next
***********
xApp.App.Quit 或 Ap.Quit 都可
dim 改 public,像 gbkee #16 那像寫,就可以把關閉放到另一個sub
Public app1 As Object, book1 As Excel.Workbook作者: adrian_9832 時間: 2019-3-18 22:22
Sub readData()
'数据读取
'----------------------------------------------
Dim dataExcel, Workbook, sheet
Dim totalRow As Integer
Set dataExcel = CreateObject("Excel.Application")
Set Workbook = dataExcel.Workbooks.Open("E:\要读取数据的源文件.xlsx")
Set sheet = Workbook.Worksheets(1) '读取第一个sheet页的数据
totalRow = sheet.UsedRange.Find(what:="*", searchorder:=xlByRows, searchdirection:=xlPrevious).Row
For i = 2 To totalRow
Sheets("sheet1").Cells(i, 3) = sheet.Cells(i, 4)
Next i
Workbook.Close
MsgBox "读取成功!", vbSystemModal '读取完后弹框提醒
'----------------------------------------------
End Sub作者: 502243 時間: 2019-3-19 10:50