註冊
登錄
首頁
論壇版規
禁止列表
說明
地圖
數位書香
私人消息 (0)
公共消息 (0)
論壇任務 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
麻辣家族討論版版
»
Excel程式區
» 請教由巨集錄制的公式如何轉換為VBA公式,並且儲存格可以是變數
返回列表
下一主題
上一主題
發帖
請教由巨集錄制的公式如何轉換為VBA公式,並且儲存格可以是變數
GBKEE
發短消息
加為好友
GBKEE
當前離線
UID
16
帖子
5923
主題
13
精華
1
積分
5986
金錢
5986
點名
0
作業系統
win10
軟體版本
Office 2010
閱讀權限
150
性別
男
來自
台灣基隆
在線時間
4811 小時
註冊時間
2010-5-1
最後登錄
2022-1-23
超級版主
帖子
5923
主題
13
精華
1
積分
5986
點名
0
作業系統
win10
軟體版本
Office 2010
閱讀權限
150
性別
男
來自
台灣基隆
註冊時間
2010-5-1
最後登錄
2022-1-23
1
#
跳轉到
»
發表於 2011-11-24 11:53
|
顯示全部帖子
回復
8#
luffyzoro
Option Explicit
Sub Ex()
Dim hubopf As String, AR
hubopf = Application.GetOpenFilename("Excel Files (*.xls), *.xls")
If hubopf = "False" Then MsgBox "請選取檔案": Exit Sub
AR = Split(hubopf, "\")
hubopf = AR(UBound(AR)) 'hubopf = "B.xls"隨著開啟檔名不同也可能是"C.xls"
Workbooks.Open hubopf 'Workbooks( hubopf )
End Sub
複製代碼
TOP
GBKEE
發短消息
加為好友
GBKEE
當前離線
UID
16
帖子
5923
主題
13
精華
1
積分
5986
金錢
5986
點名
0
作業系統
win10
軟體版本
Office 2010
閱讀權限
150
性別
男
來自
台灣基隆
在線時間
4811 小時
註冊時間
2010-5-1
最後登錄
2022-1-23
超級版主
帖子
5923
主題
13
精華
1
積分
5986
點名
0
作業系統
win10
軟體版本
Office 2010
閱讀權限
150
性別
男
來自
台灣基隆
註冊時間
2010-5-1
最後登錄
2022-1-23
2
#
發表於 2011-11-24 15:56
|
顯示全部帖子
本帖最後由 GBKEE 於 2011-11-24 16:00 編輯
回復
10#
luffyzoro
改成ActiveCell.FormulaR1C1 = _
"=IF(AND(RC[-1]=[" & hubopf & "]AC8E!R" & hubcn & "C2,[" & hubopf & "]AC8E!R" & hubcn & "C72>0,[" & hubopf & "]
AC8E!R" & hubcn & "C72-SUM(R" & mycarw & "C11:RC[5])>0),[" & hubopf& "]AC8E!R" & hubcn & "C9)"
ActiveCell.FormulaR1C1 = _
"=IF(AND(RC[-1]=[hubopf]AC8E!R" & hubcn & "C2,[hubopf]AC8E!R" &
hubcn
& "C72>0,[hubopf]AC8E!R" &
hubcn
& "C72-SUM(R" & mycarw & "C11:RC[5])>0),[hubopf]AC8E!R" &
hubcn
& "C9)"
你知道
hubcn
是變數要如此的加入變數
&
hubcn
&
同理
hubopf
是變數 也要如此做的
TOP
GBKEE
發短消息
加為好友
GBKEE
當前離線
UID
16
帖子
5923
主題
13
精華
1
積分
5986
金錢
5986
點名
0
作業系統
win10
軟體版本
Office 2010
閱讀權限
150
性別
男
來自
台灣基隆
在線時間
4811 小時
註冊時間
2010-5-1
最後登錄
2022-1-23
超級版主
帖子
5923
主題
13
精華
1
積分
5986
點名
0
作業系統
win10
軟體版本
Office 2010
閱讀權限
150
性別
男
來自
台灣基隆
註冊時間
2010-5-1
最後登錄
2022-1-23
3
#
發表於 2011-11-24 16:55
|
顯示全部帖子
本帖最後由 GBKEE 於 2011-11-25 16:30 編輯
回復
13#
luffyzoro
8樓: 假設我的巨集是寫在A.xls , 用A.xls開啟B.xls , 照版大的方式我的hubopf會得到
"D:\C資料夾\F資料夾\B.xls"
hubopf ="
B.xls"
[" &
hubopf
& "]
如目前磁碟機的路徑不是
D:\C資料夾\F資料夾
Excel會找不到檔案的
請你在適當的地方加入 ChDir "
D:\C資料夾\F資料夾"
移動目前磁碟機的路徑
TOP
GBKEE
發短消息
加為好友
GBKEE
當前離線
UID
16
帖子
5923
主題
13
精華
1
積分
5986
金錢
5986
點名
0
作業系統
win10
軟體版本
Office 2010
閱讀權限
150
性別
男
來自
台灣基隆
在線時間
4811 小時
註冊時間
2010-5-1
最後登錄
2022-1-23
超級版主
帖子
5923
主題
13
精華
1
積分
5986
點名
0
作業系統
win10
軟體版本
Office 2010
閱讀權限
150
性別
男
來自
台灣基隆
註冊時間
2010-5-1
最後登錄
2022-1-23
4
#
發表於 2011-11-24 20:24
|
顯示全部帖子
回復
15#
luffyzoro
9樓的錯誤 這裡會跳出對話框要求我選擇開啟檔案, ChDir "H:\My documents\專案\工作量專案" 後9樓的錯誤消失了
15樓錯誤訊息 執行階段錯誤'1004':應用程式或物件定義上的錯誤
這程式碼 我代入變數 hubopf , hubcn, 沒有錯誤, 請檢查每一 Workbooks (hubopf) 中是否 有工作表名稱"AC8E"
ActiveCell.FormulaR1C1 = _
"=IF(AND(RC[-1]=[" & hubopf & "]AC8E!R" & hubcn & "C2,[" & hubopf & "]AC8E!R" & hubcn & "C72>0,[" & hubopf & "]AC8E!R" & hubcn & "C72-SUM(R" & mycarw & "C11:RC[5])>0),[" & hubopf & "]AC8E!R" & hubcn & "C9)"
TOP
GBKEE
發短消息
加為好友
GBKEE
當前離線
UID
16
帖子
5923
主題
13
精華
1
積分
5986
金錢
5986
點名
0
作業系統
win10
軟體版本
Office 2010
閱讀權限
150
性別
男
來自
台灣基隆
在線時間
4811 小時
註冊時間
2010-5-1
最後登錄
2022-1-23
超級版主
帖子
5923
主題
13
精華
1
積分
5986
點名
0
作業系統
win10
軟體版本
Office 2010
閱讀權限
150
性別
男
來自
台灣基隆
註冊時間
2010-5-1
最後登錄
2022-1-23
5
#
發表於 2011-11-25 07:35
|
顯示全部帖子
回復
17#
luffyzoro
請檢查每一 Workbooks (hubopf) 中是否 有工作表名稱"AC8E"
=[" & hubopf & "]
AC8E
!R" & hubcn & "C2
這公式 hubopf 會是 "b.xls" ."c.xls" "d.xls" 不一定的檔案 ,
AC8E
需是這些檔案中一定有的工作表名稱
TOP
GBKEE
發短消息
加為好友
GBKEE
當前離線
UID
16
帖子
5923
主題
13
精華
1
積分
5986
金錢
5986
點名
0
作業系統
win10
軟體版本
Office 2010
閱讀權限
150
性別
男
來自
台灣基隆
在線時間
4811 小時
註冊時間
2010-5-1
最後登錄
2022-1-23
超級版主
帖子
5923
主題
13
精華
1
積分
5986
點名
0
作業系統
win10
軟體版本
Office 2010
閱讀權限
150
性別
男
來自
台灣基隆
註冊時間
2010-5-1
最後登錄
2022-1-23
6
#
發表於 2011-11-25 12:23
|
顯示全部帖子
回復
19#
luffyzoro
導致公式並沒在我要的儲存格內?
你這意思是
ActiveCell
的位置不對!
我註解你看看
Cells(ActiveSheet.Rows.Count, 6).End(xlUp).Select 'F欄裡最後一個資料的Cells
Selection.Offset(1, 0).Select
F欄裡最後一個資料的Cells的下一列的Cells 這就是 ActiveCell 對不對!
TOP
GBKEE
發短消息
加為好友
GBKEE
當前離線
UID
16
帖子
5923
主題
13
精華
1
積分
5986
金錢
5986
點名
0
作業系統
win10
軟體版本
Office 2010
閱讀權限
150
性別
男
來自
台灣基隆
在線時間
4811 小時
註冊時間
2010-5-1
最後登錄
2022-1-23
超級版主
帖子
5923
主題
13
精華
1
積分
5986
點名
0
作業系統
win10
軟體版本
Office 2010
閱讀權限
150
性別
男
來自
台灣基隆
註冊時間
2010-5-1
最後登錄
2022-1-23
7
#
發表於 2011-11-25 13:50
|
顯示全部帖子
回復
19#
luffyzoro
9# 是不是我哪邊寫錯了,
導致公式並沒在我要的儲存格內
?
你要的是有公式, 不要只是值 對嗎?
Selection.Value = Selection.Value
'這裡 公式被值取代 了
ActiveCell.Offset(1).Select
TOP
GBKEE
發短消息
加為好友
GBKEE
當前離線
UID
16
帖子
5923
主題
13
精華
1
積分
5986
金錢
5986
點名
0
作業系統
win10
軟體版本
Office 2010
閱讀權限
150
性別
男
來自
台灣基隆
在線時間
4811 小時
註冊時間
2010-5-1
最後登錄
2022-1-23
超級版主
帖子
5923
主題
13
精華
1
積分
5986
點名
0
作業系統
win10
軟體版本
Office 2010
閱讀權限
150
性別
男
來自
台灣基隆
註冊時間
2010-5-1
最後登錄
2022-1-23
8
#
發表於 2011-11-25 15:13
|
顯示全部帖子
回復
23#
luffyzoro
而且逐行執行是到公式那一列就錯誤了
請問Workbooks(
hubopf
)中有
AC8E
這工作表嗎?
ActiveCell.FormulaR1C1 = _
"=IF(AND(RC[-1]=[" & hubopf & "]
AC8E
!R" & hubcn & "C2,[" & hubopf & "]
AC8E
!R" & hubcn & "C72>0,[" & hubopf & "]
AC8E
!R" & hubcn & "C72-SUM(R" & mycarw & "C11:RC[5])>0),[" & hubopf & "]
AC8E
!R" & hubcn & "C9)"
TOP
GBKEE
發短消息
加為好友
GBKEE
當前離線
UID
16
帖子
5923
主題
13
精華
1
積分
5986
金錢
5986
點名
0
作業系統
win10
軟體版本
Office 2010
閱讀權限
150
性別
男
來自
台灣基隆
在線時間
4811 小時
註冊時間
2010-5-1
最後登錄
2022-1-23
超級版主
帖子
5923
主題
13
精華
1
積分
5986
點名
0
作業系統
win10
軟體版本
Office 2010
閱讀權限
150
性別
男
來自
台灣基隆
註冊時間
2010-5-1
最後登錄
2022-1-23
9
#
發表於 2011-11-25 20:14
|
顯示全部帖子
回復
19#
luffyzoro
版大願意的話,我可以將檔案寄給版大幫忙看一下
請在你個人資料 留下 Mail
TOP
靜思自在 :
有多少力量就做多少事,不要心存等待,等待才會落空。
返回列表
下一主題
上一主題
Excelㄧ般區
生活與感動
EXCEL專屬討論區
Excelㄧ般區
Excel程式區
進階應用專區
OFFICE 系列
Word
PowerPoint
Access
Office不分區
程式語言
VB 與 VB.Net
C 與 C#
Java 與 J#
程式設計不分區
資料庫
ORACLE
My SQL
MS SQL
網頁設計
ASP 與 ASP.NET
PHP
PHP+MySQL 入門實作
JavaScript
FLASH / ActionScript
HTM/ HTML/ CSS
網頁設計不分區
電腦與作業系統
電腦各種硬體討論
一般電腦軟體討論
論壇事務
管理公告
投訴反映
新手測試
愛 • 生活
公益佈告欄
生活與感動
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]
申請友情鏈接
Facebook粉絲