註冊
登錄
首頁
論壇版規
禁止列表
說明
地圖
數位書香
私人消息 (0)
公共消息 (0)
論壇任務 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
麻辣家族討論版版
»
VB 與 VB.Net
» 關於VBA 用於VB按鈕問題。
返回列表
下一主題
上一主題
發帖
[發問]
關於VBA 用於VB按鈕問題。
stephenlee
發短消息
加為好友
stephenlee
當前離線
UID
31962
帖子
63
主題
32
精華
0
積分
125
金錢
125
點名
0
作業系統
WIn10
軟體版本
OFFICE2013
閱讀權限
20
在線時間
7 小時
註冊時間
2018-7-19
最後登錄
2022-8-11
中學生
帖子
63
主題
32
精華
0
積分
125
點名
0
作業系統
WIn10
軟體版本
OFFICE2013
閱讀權限
20
註冊時間
2018-7-19
最後登錄
2022-8-11
1
#
跳轉到
»
倒序看帖
打印
字體大小:
t
T
發表於 2018-10-4 09:41
|
只看該作者
[發問]
關於VBA 用於VB按鈕問題。
想請教大家如何將VBA的源碼搬進VB的按鈕內,當我按下VB的按鈕後他會執行相關的
動作,想請教以下兩大段VBA 源碼應如何修改至VB內,感謝。
Sub Job_No()
Dim a As Integer
Dim b As Integer
Dim rowNum As Integer
Dim Book As Integer
Dim BookName As String
BookNum = Workbooks.Count
'MsgBox BookNum
For a = 1 To BookNum
BookName = Workbooks(a).Name
Workbooks(BookName).Activate
Range("V:AE").Select
Selection.Delete Shift:=xlToLeft
x = 0
Range("b5").Select
Do
If ActiveCell.Value <> "" Then
x = 0
ActiveCell.Offset(1, 0).Select
Else
Selection.EntireRow.Delete
x = x + 1
End If
Loop Until x > 300
Range("A1").Select
Range("U4") = "#"
Range("U5").Formula = "=LEFT(G1,5)&U4&MID(G1,6,6)"
Range("U5").Select
Selection.Copy
Range("U5").PasteSpecial xlPasteValuesAndNumberFormats
[U5].Copy
With Range("U6:U" & [A65536].End(xlUp).Row)
.PasteSpecial xlPasteFormulas
.Value = .Value
End With
Next a
End Sub
Sub unite_data()
Dim BookNum As Integer, rowNum As Integer, currentRow As Integer
Dim i As Integer
Dim j As Integer
Dim BookName As String
currentRow = 2
BookNum = Workbooks.Count
'MsgBox BookNum
For i = 1 To BookNum
BookName = Workbooks(i).Name
If BookName <> "Data.xlsx" Then
For j = 1 To 1
Workbooks(BookName).Activate
rowNum = Workbooks(BookName).Worksheets("result").UsedRange.Rows.Count
'MsgBox rowNum
If (rowNum - 1 >= 1 And Workbooks(BookName).Worksheets("result").Cells(5, 1).Value <> "") Then
Workbooks(BookName).Worksheets("result").Rows("5:" & rowNum).Select
Selection.Copy
Windows("Data.xlsx").Activate
Rows(currentRow).Select
ActiveSheet.Paste
currentRow = currentRow + (rowNum - 4)
Windows(BookName).Activate
End If
Next j
End If
Next i
Windows("Data.xlsx").Activate
Range("V2:V500").Value = "1"
Range("W2").Formula = "=P2"
[W2].Copy
With Range("W3:W" & [A65536].End(xlUp).Row).PasteSpecial
Range("X2").Formula = "=P2"
[X2].Copy
With Range("X3:X" & [A65536].End(xlUp).Row).PasteSpecial
Range("Y2").Formula = "=U2"
[Y2].Copy
With Range("Y3:Y" & [A65536].End(xlUp).Row).PasteSpecial
Range("V2:V500").Select
With Selection.font
.Size = 15
Range("X2:X500").Select
With Selection.font
.Size = 15
Range("V2:V500").Select
With Selection.font
.Size = 15
Range("W2:W500").Select
With Selection.font
.Size = 15
Range("Y2:Y500").Select
With Selection.font
.Size = 15
End With
End With
End With
End With
End With
End With
End With
End With
End Sub
樓主熱帖
簡單組合問題。
Excel 篩選後複製。
資料複製貼上問題。
資料分拆問題。
Excel 合併對應資料
驗證欄位名稱問題。
數量分拆隔行問題。
用VBA 做Sumif 問題
多個條件數量分拆及隔行。
取字串等問題。
收藏
分享
faye59
發短消息
加為好友
faye59
(温奇)
當前離線
議論者
UID
30039
帖子
104
主題
5
精華
0
積分
110
金錢
110
點名
0
作業系統
win7
軟體版本
Office2007
閱讀權限
20
性別
男
在線時間
116 小時
註冊時間
2017-11-14
最後登錄
2019-4-30
暱稱:
温奇
頭銜:
議論者
中學生
帖子
104
主題
5
精華
0
積分
110
點名
0
作業系統
win7
軟體版本
Office2007
閱讀權限
20
性別
男
註冊時間
2017-11-14
最後登錄
2019-4-30
2
#
發表於 2018-10-4 21:47
|
只看該作者
回復
1#
stephenlee
大致上並無差異,
Ranger我會用Cells來寫,
VB.net去算Excel的儲存格位置,
在位置上的變化性高又簡單計算。
不能執行的部分應該是
End(xlUp)
在VB.net中要在Form特別宣告Excel計算值,
只要在最上面加入這個就跟VBA算法一樣了。
Const xlUp = -4162
Const xlDown = -4121
複製代碼
一分努力,一分收穫。
發問題前可以先搜索內文是否有相關範例。
TOP
靜思自在 :
道德是提昇自我的明燈,不該是呵斥別人的鞭子。
返回列表
下一主題
上一主題
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粉絲