Board logo

標題: 從A EXCEL 檔將資料寫至 B EXCEL檔中 [打印本頁]

作者: ooctiger    時間: 2015-5-7 11:22     標題: 從A EXCEL 檔將資料寫至 B EXCEL檔中

各位前輩,

請教各位前輩
要將 A.XLS中 的 "店名" 工作表 內的 A2:An ,  n 表示不知道會有幾間店
寫入B.XLS中的 "業績統計" 工作表 的 A3 : An+1 內
不知道 EXCEL VBA 要如何撰寫? (VBA程式寫在 B.XLS 中)

這裡面我的困難點在
1、不同EXCEL檔案的資料讀取運作方式?
2、要如何算 A.XLS 共有幾家店 ?
3、進階問題,如果A有重複店名,要如何判斷?(因為B.XLS 店名不可重複)

先謝謝前輩
作者: GBKEE    時間: 2015-5-7 14:04

回復 1# ooctiger

A,B 已開啟下的程式碼
  1. Option Explicit
  2. Sub Ex()
  3.     Dim D As Object, i As Integer
  4.     Set D = CreateObject("SCRIPTING.DICTIONARY") '字典物件
  5.     '1、不同EXCEL檔案的資料讀取運作方式?
  6.     With Workbooks("a.xls").Sheets("店名")
  7.         i = 2
  8.         Do While .Cells(i, "a") <> ""
  9.             D(.Cells(i, "a").Value) = ""
  10.             '3、進階問題,如果A有重複店名,要如何判斷?(因為B.XLS 店名不可重複)
  11.             '如果A有重複店名,字典物件只取最後的店名
  12.             i = i + 1
  13.         Loop
  14.         MsgBox i - 2 '2、要如何算 A.XLS 共有幾家店 ?
  15.     End With
  16.     With Workbooks("B.xls").Sheets("業績統計").Range("A3")
  17.         .Resize(D.Count) = Application.WorksheetFunction.Transpose(D.KEYS)
  18.     End With
  19. End Sub
複製代碼

作者: ooctiger    時間: 2015-5-7 16:12

本帖最後由 ooctiger 於 2015-5-7 16:15 編輯

回復 2# GBKEE

如果A.xls 是 '未開啟' 的情況下,程式要如何修改
假設 A.xls 是放在 C:\temp 下

另外程式碼第17行
    .Resize(D.Count) = Application.WorksheetFunction.Transpose(D.KEYS)
,可否請GBKEE稍作解釋,並提供可以查詢到的網頁。

實在是新手. 連要怎麼去搜尋都還是問題   
謝謝
作者: GBKEE    時間: 2015-5-7 16:43

回復 3# ooctiger

討論區的回文多看一些
作者: stillfish00    時間: 2015-5-7 20:03

本帖最後由 stillfish00 於 2015-5-7 20:23 編輯

回復 3# ooctiger
GOOGLE搜尋 transpose  , 用site指定本論壇 , 如下
https://www.google.com.tw/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=transpose+site:forum.twbts.com
作者: PKKO    時間: 2015-5-7 20:17

回復 5# stillfish00


    stillfish00 大大真是太酷了,還有這種方式,從您身上真的學到很多東西呢!居然還可以指定網站搜尋




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)