彰化一整天的論壇

 找回密碼
 立即註冊
樓主: z22344566

Excel 如何去抓取機台每天自動產生的資料

[複製鏈接]
發表於 2017-4-19 11:26:09 | 顯示全部樓層
本帖最後由 imingho 於 2017-4-19 11:27 編輯
z22344566 發表於 2017-4-19 10:56
老師好
請問一下
Dim strYear As String

dim(宣告) strYear(變數) as(是) String(字串)
可以參考
http://blog.bestdaylong.com/2016/01/excel-vba_27.html
寫Excel VBA注意事項-使用完整寫法
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-4-19 12:05:54 | 顯示全部樓層
本帖最後由 z22344566 於 2017-4-19 13:15 編輯

老師好
我的意思是說

Sub 巨集1()
      Dim strYear As String
      strPath = Excel.ActiveWorkbook.Path & "\" & Format(Date, "yyyy")
      Filename = Format(Date, "yyyymmdd")
      fday = Day(Date) ' 天數
      For i = 1 To 4
           For j = 1 To 5
                ' fday +1 是因為你的儲存格位置, 是從 B 開始
                ' chr(65) 是 A, 因為要從 B 開始, 所以 +1
               Cells(j, fday + i) = "=vlookup(" & Chr(65 + i) & j & ",'" & strPath & "\[" & Filename & ".xlsx]工作表1'!$A$2E$6,5,FALSE)"
           Next j
     Next i



End Sub
這段程式碼裡面
為什麼要有這段宣告 Dim strYear As String
刪除後程式也可以執行也沒看到strYear這個變數
想請問老師
為何要寫這句呢

謝謝
回復 支持 反對

使用道具 舉報

發表於 2017-4-19 15:16:40 | 顯示全部樓層
z22344566 發表於 2017-4-19 12:05
老師好
我的意思是說

您看底下文章有說明.
http://blog.bestdaylong.com/2016/01/excel-vba_27.html
寫Excel VBA注意事項-使用完整寫法
裡面有提到沒有使用變數時會發生的錯誤

http://wordpress.bestdaylong.com/blog/archives/2134
Excel VBA 工作表的使用技巧
工作表可以使用索引及名稱,您若沒有宣告型別,就會不知道要以那一個為主
回復 支持 反對

使用道具 舉報

發表於 2017-4-19 15:49:02 | 顯示全部樓層
imingho 發表於 2017-4-19 15:16
您看底下文章有說明.
http://blog.bestdaylong.com/2016/01/excel-vba_27.html
寫Excel VBA注意事項-使用 ...

幫您寫一篇教學,您看完就會懂的.
ExcelVBA變數有沒有宣告有差嗎?
http://discuz.bestdaylong.com/fo ... 37686&fromuid=2
(出處: 彰化一整天的論壇)
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-4-19 16:14:03 | 顯示全部樓層
imingho 發表於 2017-4-19 15:49
幫您寫一篇教學,您看完就會懂的.
ExcelVBA變數有沒有宣告有差嗎?
http://discuz.bestdaylong.com/forum.p ...

謝謝指導

受教了
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-4-26 10:23:21 | 顯示全部樓層
本帖最後由 z22344566 於 2017-4-26 10:37 編輯
  1. Sub Getvalue0()
  2.    
  3.     Dim strYear As String
  4.     Dim nSeq As String
  5.             
  6.     Filename = Format(Date, "yymmdd")
  7.     strPath = Excel.ActiveWorkbook.Path & "\" & Format(Date, "yyyy") & "\" & Format(Date, "mm") & "\" & Format(Date, "dd")
  8.    
  9.     bRun = True     '用以提前結束迴圈
  10.     nSeq = 0           '檔案序號
  11.     For i = 2 To 2
  12.         If bRun = False Then
  13.            Exit For
  14.         End If
  15.         For j = 2 To 2
  16.             If bRun = False Then
  17.                Exit For
  18.             End If
  19.             
  20.             nSeq = nSeq + 1
  21.             sCheck = Excel.ActiveWorkbook.Path & "\" & Format(Date, "yyyy") & "\" & Format(Date, "mm") & "\" & Format(Date, "dd") & "\" & Filename & Format(nSeq, "0000") & ".csv"
  22.            ' MsgBox "[" & sCheck & "]", vbInformation '看檔名是否正確
  23.         
  24.            If Len(Dir(sCheck)) <> 0 Then '檔案存在, 進行檢查
  25.                Cells(j, i) = "=vlookup(A2,'" & strPath & "\[" & Filename & Format(nSeq, "0000") & ".csv]1704260001'!$A$2:$E$6,5,FALSE)"
  26.             Else                        '檔案不存在,收工
  27.               bRun = False
  28.             End If
  29.         Next j
  30.     Next i
  31.    
  32.    
  33.     End Sub
複製代碼




老師好 在第25行1704260001他是sheet的名稱
我該如何修改讓他能夠跟檔案名稱一樣
我也有將1704260001換成Filename & Format(nSeq, "0000")
Filename & Format(nSeq, "0000")在前面定義成變數
把1704260001換成變數
一樣都不能執行
麻煩請老師指導
謝謝
回復 支持 反對

使用道具 舉報

發表於 2017-4-26 11:35:59 | 顯示全部樓層
本帖最後由 imingho 於 2017-4-26 11:37 編輯
z22344566 發表於 2017-4-26 10:23
老師好 在第25行1704260001他是sheet的名稱
我該如何修改讓他能夠跟檔案名稱一樣
我也有將1704260001換 ...

您好,
    您可以用成一個小的例子(附檔案),有檔案我才有辦法偵錯找問題,或是您把等號拿掉,直接在儲存格,看公式有沒有錯.
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-4-26 14:42:44 | 顯示全部樓層
老師好

Book1 - 複製
為主要檔案
抓取當天日期的資料

問題點是
抓取後檔案值為
#N/A
可是如果去開啟被抓的那個檔案之後
#N/A值就會變成數值了
請幫我看看 謝謝

程式.rar

17.47 KB, 下載次數: 12

回復 支持 反對

使用道具 舉報

發表於 2017-4-26 18:28:09 | 顯示全部樓層
本帖最後由 imingho 於 2017-4-26 18:32 編輯
z22344566 發表於 2017-4-26 14:42
老師好

Book1 - 複製

我試了.若是vlookup那個檔案您沒開啟過,就會要您開檔案一次,下次不用再開就會正常,我也不知道為什麼excel會有這種狀況.
excel_extra_file_vlookup_00.jpg

1.出現的警告畫面

回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-4-26 21:09:04 | 顯示全部樓層
imingho 發表於 2017-4-26 18:28
我試了.若是vlookup那個檔案您沒開啟過,就會要您開檔案一次,下次不用再開就會正常,我也不知道為什麼excel ...

挖...........
那我這程式就不能用了

苦惱
回復 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

 ㄚ母滴雞湯
 員林香純滴雞精

Archiver|手機版|小黑屋|彰化一整天的論壇(Excel,Office)  |网站地图

GMT+8, 2019-9-22 20:01 , Processed in 0.132442 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表