註冊
登錄
首頁
論壇版規
禁止列表
說明
地圖
數位書香
私人消息 (0)
公共消息 (0)
論壇任務 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
麻辣家族討論版版
»
Excelㄧ般區
» VBA 運算後自動換行
返回列表
下一主題
上一主題
發帖
[發問]
VBA 運算後自動換行
PaulDing
發短消息
加為好友
PaulDing
當前離線
UID
32147
帖子
13
主題
2
精華
0
積分
15
金錢
15
點名
0
作業系統
win10
軟體版本
office2016
閱讀權限
10
性別
男
來自
台北
在線時間
2 小時
註冊時間
2018-8-12
最後登錄
2018-10-11
小學生
帖子
13
主題
2
精華
0
積分
15
點名
0
作業系統
win10
軟體版本
office2016
閱讀權限
10
性別
男
來自
台北
註冊時間
2018-8-12
最後登錄
2018-10-11
1
#
跳轉到
»
倒序看帖
打印
字體大小:
t
T
發表於 2018-8-12 21:18
|
只看該作者
[發問]
VBA 運算後自動換行
VBA
請教各位先進,小弟正在做模擬驗證,使用亂數產生器產生數據進行模擬驗證,
我在VBA上寫了一段程式產生了巨集按鈕可以在A1:A7產生一週的亂數,可是
我想要在每按一次巨集按鈕就再自動往下產生一週(A8:A14)的亂數該如何
編寫呢?
Sub Project1_Click()
Dim rTar As Range
Randomize
For Each rTar In Range("A1:A7")
rTar = Int((21 - 1) * Rnd + 1) * 0.01
Next
End Sub
收藏
分享
小丁
a5007185
發短消息
加為好友
a5007185
(阿佐)
當前離線
上班無聊打怪去
UID
29479
帖子
108
主題
1
精華
0
積分
113
金錢
113
點名
0
作業系統
Win 10
軟體版本
Office 2016
閱讀權限
20
性別
男
來自
臺灣
在線時間
71 小時
註冊時間
2017-9-7
最後登錄
2019-2-27
暱稱:
阿佐
頭銜:
上班無聊打怪去
中學生
帖子
108
主題
1
精華
0
積分
113
點名
0
作業系統
Win 10
軟體版本
Office 2016
閱讀權限
20
性別
男
來自
臺灣
註冊時間
2017-9-7
最後登錄
2019-2-27
2
#
發表於 2018-8-13 07:53
|
只看該作者
回復
1#
PaulDing
如果你要增加你的亂數範圍的話,
你可以修改For迴圈的範圍,
For Each rTar In Range("
A1:A7
")
For Each rTar In Range("A1:A14")
複製代碼
TOP
naruto018
發短消息
加為好友
naruto018
當前離線
UID
24668
帖子
91
主題
5
精華
0
積分
130
金錢
130
點名
2
作業系統
Win10
軟體版本
Office 2010
閱讀權限
20
性別
男
在線時間
300 小時
註冊時間
2016-5-14
最後登錄
2026-6-21
中學生
帖子
91
主題
5
精華
0
積分
130
點名
2
作業系統
Win10
軟體版本
Office 2010
閱讀權限
20
性別
男
註冊時間
2016-5-14
最後登錄
2026-6-21
3
#
發表於 2018-8-13 09:44
|
只看該作者
回復
1#
PaulDing
參考看看
Sub Project1_Click()
Dim rTar As Range
Randomize
For Each rTar In Range("A1:A7").Offset(IIf(Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row = 1, IIf(Cells(1, 1) = "", 0, 1), Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row))
rTar = Int((21 - 1) * Rnd + 1) * 0.01
Next
End Sub
複製代碼
TOP
准提部林
發短消息
加為好友
准提部林
當前離線
UID
13768
帖子
2848
主題
10
精華
0
積分
2903
金錢
2903
點名
0
作業系統
〔略〕
軟體版本
〔略〕
閱讀權限
100
性別
男
來自
〔略〕
在線時間
2122 小時
註冊時間
2013-5-13
最後登錄
2026-7-25
版主
帖子
2848
主題
10
精華
0
積分
2903
點名
0
作業系統
〔略〕
軟體版本
〔略〕
閱讀權限
100
性別
男
來自
〔略〕
註冊時間
2013-5-13
最後登錄
2026-7-25
4
#
發表於 2018-8-13 10:05
|
只看該作者
dim xEnd as range, xR as range
set xEnd=cells(rows.count,1).end(xlup)
if xEnd<>"" then set xEnd=xEnd(2)
for each xR in xEnd.resize(7)
xR=???
next
TOP
a5007185
發短消息
加為好友
a5007185
(阿佐)
當前離線
上班無聊打怪去
UID
29479
帖子
108
主題
1
精華
0
積分
113
金錢
113
點名
0
作業系統
Win 10
軟體版本
Office 2016
閱讀權限
20
性別
男
來自
臺灣
在線時間
71 小時
註冊時間
2017-9-7
最後登錄
2019-2-27
暱稱:
阿佐
頭銜:
上班無聊打怪去
中學生
帖子
108
主題
1
精華
0
積分
113
點名
0
作業系統
Win 10
軟體版本
Office 2016
閱讀權限
20
性別
男
來自
臺灣
註冊時間
2017-9-7
最後登錄
2019-2-27
5
#
發表於 2018-8-13 10:20
|
只看該作者
回復
4#
准提部林
請問這句語法的用意是什麼?
set xEnd=xEnd(2)
複製代碼
xEnd(2)的參數源自哪裡?
謝謝指教∼
TOP
ikboy
發短消息
加為好友
ikboy
當前離線
UID
21753
帖子
262
主題
8
精華
0
積分
280
金錢
280
點名
0
作業系統
xp
軟體版本
Office 2007
閱讀權限
20
性別
男
來自
HK
在線時間
576 小時
註冊時間
2015-8-11
最後登錄
2025-3-24
中學生
帖子
262
主題
8
精華
0
積分
280
點名
0
作業系統
xp
軟體版本
Office 2007
閱讀權限
20
性別
男
來自
HK
註冊時間
2015-8-11
最後登錄
2025-3-24
6
#
發表於 2018-8-13 11:32
|
只看該作者
Sub Project1_Click()
Dim rTar As Range, r&
r = Cells(Rows.Count, 1).End(3).Row
If Not r = 1 Then r = r + 1
Randomize
For Each rTar In Cells(r, 1).Resize(7)
rTar = Int((21 - 1) * Rnd + 1) * 0.01
Next
End Sub
複製代碼
TOP
准提部林
發短消息
加為好友
准提部林
當前離線
UID
13768
帖子
2848
主題
10
精華
0
積分
2903
金錢
2903
點名
0
作業系統
〔略〕
軟體版本
〔略〕
閱讀權限
100
性別
男
來自
〔略〕
在線時間
2122 小時
註冊時間
2013-5-13
最後登錄
2026-7-25
版主
帖子
2848
主題
10
精華
0
積分
2903
點名
0
作業系統
〔略〕
軟體版本
〔略〕
閱讀權限
100
性別
男
來自
〔略〕
註冊時間
2013-5-13
最後登錄
2026-7-25
7
#
發表於 2018-8-13 16:39
|
只看該作者
回復
5#
a5007185
如果最後一格非空, 往下移一格
set xEnd=xEnd.CELLS(2, 1) 與這個意思相同
也可以 set xEnd=xEnd(2, 1)
同欄, 所以可省略第二參數
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粉絲