ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part59
https://mevius.5ch.net/test/read.cgi/tech/1549692750/
探検
Excel VBA 質問スレ Part60
■ このスレッドは過去ログ倉庫に格納されています
2019/03/16(土) 20:39:09.64ID:6HWXzj9o
2019/03/16(土) 20:39:59.29ID:6HWXzj9o
何で誰も立てないの
2019/03/16(土) 21:14:45.74ID:BICk2jMh
>>1乙だけどワッチョイ抜けてる…
2019/03/16(土) 21:48:42.20ID:dHb5YcPj
>>2
もう必要ないから
もう必要ないから
2019/03/16(土) 23:05:16.78ID:52o7PX0a
>>2
未回答の質問が特になかったから
未回答の質問が特になかったから
2019/03/17(日) 01:48:38.37ID:F3UCopkF
前スレの最後の方で承認欲求モンスター共がAccessの話でマウント合戦初めて、もうみんなこのスレ要らないやって思ってたんだぞ
2019/03/17(日) 08:15:42.60ID:L17xYYyd
次からAccessスレも含めて↓でいいんじゃないかな
ここ無くなって↓あるの初めて知った
最近outlookVBA使い始めたんだけど、もっと早く使うんだったと後悔
VBAなんでも質問スレ Part2 [転載禁止]©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1432173164/
ここ無くなって↓あるの初めて知った
最近outlookVBA使い始めたんだけど、もっと早く使うんだったと後悔
VBAなんでも質問スレ Part2 [転載禁止]©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1432173164/
2019/03/17(日) 08:40:24.61ID:n1sOdbaQ
やっと出来たか
前のExcel VBAのスレで、次スレ検索したら、Accessの
https://mevius.5ch.net/test/read.cgi/tech/1544620479/
が出てきたぞ
VBAは全部まとめていいんじゃねえか?
前のExcel VBAのスレで、次スレ検索したら、Accessの
https://mevius.5ch.net/test/read.cgi/tech/1544620479/
が出てきたぞ
VBAは全部まとめていいんじゃねえか?
2019/03/17(日) 09:42:14.71ID:168XCQuT
お願いします。
Sub teust()
n = Cells(Rows.Count, "b").End(xlUp).Row + 1
Range("b" & n).Select
ActiveCell.FormulaR1C1 = Sheets(2).Range("i4")
End Sub
a b c b …
ってやってるですがB列だけ9個下に表示されます。
考えられる原因はなんでしょうか(泣)
abcb…はコピペしてるので何故かB列だけ下に行きます
Sub teust()
n = Cells(Rows.Count, "b").End(xlUp).Row + 1
Range("b" & n).Select
ActiveCell.FormulaR1C1 = Sheets(2).Range("i4")
End Sub
a b c b …
ってやってるですがB列だけ9個下に表示されます。
考えられる原因はなんでしょうか(泣)
abcb…はコピペしてるので何故かB列だけ下に行きます
2019/03/17(日) 11:43:51.79ID:zQ1XyGkC
>>9
Cellsで参照してるアクティブシートのB列だけ、最終行であるべき行よりも9行下に余計な値の入ったセルがあるとかじゃない?
変な空白が入ってたり、表の欄外に他人が勝手にコメントつけてたりとかありそう
Cellsで参照してるアクティブシートのB列だけ、最終行であるべき行よりも9行下に余計な値の入ったセルがあるとかじゃない?
変な空白が入ってたり、表の欄外に他人が勝手にコメントつけてたりとかありそう
2019/03/17(日) 12:05:15.62ID:ZlmVE6mc
MsgBox Range("B" & n).Value
とか一度やってみて
同じような事が起きたことあるけど
会社のおっさん上司が白色の文字をそのセルに置いてたわ
とか一度やってみて
同じような事が起きたことあるけど
会社のおっさん上司が白色の文字をそのセルに置いてたわ
2019/03/17(日) 14:35:17.64ID:zQ1XyGkC
コンソールの使い方知ってるならDebug.Print n とかDebug.Print Range("B" & n).Value でも良し
2019/03/17(日) 16:19:59.54ID:5mJrF7aW
2019/03/17(日) 17:40:29.60ID:aVImaY3T
>>8
良いと思う
良いと思う
2019/03/17(日) 20:10:18.97ID:zQ1XyGkC
>>13
そういうコメントするなら一行コードを書いてあげるのが親切じゃね
そういうコメントするなら一行コードを書いてあげるのが親切じゃね
2019/03/17(日) 20:52:23.19ID:5mJrF7aW
>>15
sht.Cells(sht.Rows.Count,2).End(xlUp).Offset(1,0).FormulaR1C1=Sheet(2).Range("I4").Value
とかかな。
FormulaR1C1とかValueは適宜実際に併せて変えてくれ。
Sheet2のI4に式が入ってるとは思えないから両方Valueで良いような気がする。
sht.Cells(sht.Rows.Count,2).End(xlUp).Offset(1,0).FormulaR1C1=Sheet(2).Range("I4").Value
とかかな。
FormulaR1C1とかValueは適宜実際に併せて変えてくれ。
Sheet2のI4に式が入ってるとは思えないから両方Valueで良いような気がする。
2019/03/17(日) 21:43:54.03ID:aVImaY3T
>>16
実際書いちゃう人大好き
実際書いちゃう人大好き
2019/03/17(日) 23:17:32.63ID:5mJrF7aW
別に1行にすべきというわけじゃ無い。
.SelectとActiveCellが良くないということ。
あと、元の情報が無いのとスマホで書いたからブックは省略したけど、自分が組んでたら省略はしない。
.SelectとActiveCellが良くないということ。
あと、元の情報が無いのとスマホで書いたからブックは省略したけど、自分が組んでたら省略はしない。
2019/03/19(火) 02:31:46.42ID:vV4Rcm78
入力のあったセルの場所が分かったとしても、また同じ事が起きそう
入力させるセルと出力するセルはハッキリ分けた方がいいと思うよ
入力させるセルと出力するセルはハッキリ分けた方がいいと思うよ
2019/03/19(火) 06:29:25.90ID:4N2t7FIS
21675
2019/03/19(火) 12:34:39.62ID:ipysPyU9 確実に全セル入力されてる列があるならそれを基準に使う手もアリ(例えば項番の列とか)
2019/03/19(火) 12:37:36.01ID:cTNTzw16
新しくシートを作成するコードで、
シート名をInputboxで入力させるんだけど、
もし名前が被ったときに、エラーを回避して
Subを終わらせることってできる?
シートも結構いっぱいあるから
「名前が一致したとき」にExit Sub
ってのはやりたくないんだけど…
シート名をInputboxで入力させるんだけど、
もし名前が被ったときに、エラーを回避して
Subを終わらせることってできる?
シートも結構いっぱいあるから
「名前が一致したとき」にExit Sub
ってのはやりたくないんだけど…
2019/03/19(火) 13:02:44.27ID:ajcvehyS
>>22
For Eachで全シートの名前と比較して、同じのがあったら作らない
For Eachで全シートの名前と比較して、同じのがあったら作らない
2019/03/19(火) 13:09:43.79ID:B40U/hNg
>>23
最後の3行が無ければ俺も同じ事をレスしてた
最後の3行が無ければ俺も同じ事をレスしてた
2019/03/19(火) 13:19:11.43ID:SqXQzXb0
>>22
最初に名前があるかどうかの処理をかませばいいだけ
シート作ってから一緒に何かしようとするとややこしいしミスするからオススメできない
Sub foo()
希望シート名 = InputBox("シート名を入力")
For Each 既存シート In ThisWorkbook.Worksheets
'小文字半角に変換、統一して比較
If StrConv(希望シート名, 6) = StrConv(既存シート.Name, 6) Then
MsgBox ("既にあるシート名でした。終了します")
Exit Sub
End If
Next
Set 新シート = Worksheets.Add
新シート.Name = 希望シート名
'新シートで処理
End Sub
最初に名前があるかどうかの処理をかませばいいだけ
シート作ってから一緒に何かしようとするとややこしいしミスするからオススメできない
Sub foo()
希望シート名 = InputBox("シート名を入力")
For Each 既存シート In ThisWorkbook.Worksheets
'小文字半角に変換、統一して比較
If StrConv(希望シート名, 6) = StrConv(既存シート.Name, 6) Then
MsgBox ("既にあるシート名でした。終了します")
Exit Sub
End If
Next
Set 新シート = Worksheets.Add
新シート.Name = 希望シート名
'新シートで処理
End Sub
2019/03/19(火) 15:13:53.64ID:rooN1XdM
2019/03/19(火) 15:26:37.07ID:rooN1XdM
できたー!ありがとうございました!
まさにこれっすー!
まさにこれっすー!
2019/03/19(火) 19:23:19.44ID:kI5HhWJr
オレはループ回すの面倒(遅い?)から on errorでやるわ
2019/03/19(火) 19:31:40.14ID:gEDMHfls
on errorってエラーの決め打ちじゃなくて「このエラーが出るはず」という使い方だから、他の手段があるならあまり積極的には使わない方がいいと思う
2019/03/19(火) 19:59:00.27ID:G9/JqRut
tryか
2019/03/19(火) 22:17:46.56ID:fSzJr70Z
on errorの場合はworksheets.add.nameで作ってエラー時はActiveSheet.Deleteみたいな処理にすんのかな
不測の事態が起きそうで怖いけど
不測の事態が起きそうで怖いけど
2019/03/19(火) 22:26:38.38ID:4+n02oxf
シートに配置したフォームコントロールのボタンのクリックとマクロを関連付けています
この時、ボタンのテキストを取得する方法はありますか?
Application.Caller
だと名前は取得できるのですが
ボタンの名前をテキストと同じものに変更する、でも良いです
この時、ボタンのテキストを取得する方法はありますか?
Application.Caller
だと名前は取得できるのですが
ボタンの名前をテキストと同じものに変更する、でも良いです
33デフォルトの名無しさん
2019/03/19(火) 22:31:52.70ID:aHt3ijA4 >>16
ブック.シートをwithでくくりたい(´・ω・`)
ブック.シートをwithでくくりたい(´・ω・`)
2019/03/19(火) 22:49:35.77ID:gEDMHfls
>>32
ボタンのテキストはどうやって設定した?captionプロパティじゃないのか?
ボタンのテキストはどうやって設定した?captionプロパティじゃないのか?
2019/03/19(火) 23:00:11.13ID:4+n02oxf
>>34
手作業です
手作業です
2019/03/19(火) 23:02:44.80ID:gEDMHfls
>>35
ボタンに表示している文字の事を言ってるなら、手作業でもなんでもcaptionプロパティに入れてるはずだが
ボタンに表示している文字の事を言ってるなら、手作業でもなんでもcaptionプロパティに入れてるはずだが
2019/03/19(火) 23:07:48.99ID:8F1IYR8J
リストボックスのリストを更新した時クリックイベントが発生するのは何故?
2019/03/19(火) 23:14:34.15ID:4+n02oxf
>>36
そのcaptionプロパティを取る方法が分からないのです
https://i.imgur.com/Z5g9J0j.png
引数としてオブジェクトが渡されるわけでもないし、何か方法はあるのでしょうか
そのcaptionプロパティを取る方法が分からないのです
https://i.imgur.com/Z5g9J0j.png
引数としてオブジェクトが渡されるわけでもないし、何か方法はあるのでしょうか
2019/03/19(火) 23:21:08.44ID:gEDMHfls
>>38
ボタンのオブジェクト名.caption
ボタンのオブジェクト名.caption
2019/03/19(火) 23:22:51.25ID:gEDMHfls
ボタンに限らずプロパティの指定の仕方はみんな同じ
2019/03/19(火) 23:22:59.66ID:Ocf5WOX6
いろんなボタンにおんなじハンドラ割り当ててるんでしょ?
2019/03/19(火) 23:29:58.14ID:4+n02oxf
>>39
えぇ、それは分かるんですが
>>41
そうです
複数のボタンのclickイベントに同じマクロを登録し、
clickしたボタンのcaptionを取りたい
https://i.imgur.com/IWsgjEQ.png
えぇ、それは分かるんですが
>>41
そうです
複数のボタンのclickイベントに同じマクロを登録し、
clickしたボタンのcaptionを取りたい
https://i.imgur.com/IWsgjEQ.png
2019/03/19(火) 23:33:09.14ID:n4w5LXnr
>>42
マクロと言ってる時点で死ねよ
マクロと言ってる時点で死ねよ
2019/03/19(火) 23:34:33.07ID:vV4Rcm78
>>38
OLEオブジェクトのコレクションからnameプロパティの一致する物を探すとか
OLEオブジェクトのコレクションからnameプロパティの一致する物を探すとか
2019/03/19(火) 23:34:51.64ID:gEDMHfls
じゃあSheet1.buttons(application.caler).captionは?
2019/03/19(火) 23:38:15.01ID:vV4Rcm78
少々強引だが、apiのGetCursorPos関数でマウスポインタの場所のコントロールを取得って方法もある
2019/03/19(火) 23:52:25.41ID:oXoLOC/c
随分むごまっこっるた方法だな。
2019/03/20(水) 00:28:31.79ID:6ln9W50J
>>43
一見イベントハンドラですが、thisが使えない、オブジェクト渡さないイベントハンドラはハンドラと言えるのでしょうか
個人的には、ハンドラという方が逆に混乱すると思いますのであえて言っていません
>>45
うおおおおおおできましたああああああああすごい!!!!!
https://i.imgur.com/8q0Z3yb.png
>>44>>46
ありがとうございます!
一見イベントハンドラですが、thisが使えない、オブジェクト渡さないイベントハンドラはハンドラと言えるのでしょうか
個人的には、ハンドラという方が逆に混乱すると思いますのであえて言っていません
>>45
うおおおおおおできましたああああああああすごい!!!!!
https://i.imgur.com/8q0Z3yb.png
>>44>>46
ありがとうございます!
2019/03/20(水) 00:31:55.82ID:6ln9W50J
2019/03/20(水) 00:32:23.83ID:vmDq6MjZ
ActiveSheet.Buttons(Application.Caller).Characters.Text でいけないかな
試してないから駄目だったらごめん
試してないから駄目だったらごめん
2019/03/20(水) 00:47:38.18ID:vmDq6MjZ
>>49
インデックス番号は、同じ種類のシート間に付けられる番号で、左からのシート見出しの順に基づきます。
https://docs.microsoft.com/ja-jp/office/vba/excel/concepts/workbooks-and-worksheets/refer-to-sheets-by-index-number
シートオブジェクトの移動や削除を行ったときにダイナミックにインデックスが変更されるのか、ファイル保存等の更新イベントがあるのかという細かい部分は調べてないから分からない
デフォルトのシート名がSheet & シート追加時のインデックス値になるのは経験上知ってる
インデックス番号は、同じ種類のシート間に付けられる番号で、左からのシート見出しの順に基づきます。
https://docs.microsoft.com/ja-jp/office/vba/excel/concepts/workbooks-and-worksheets/refer-to-sheets-by-index-number
シートオブジェクトの移動や削除を行ったときにダイナミックにインデックスが変更されるのか、ファイル保存等の更新イベントがあるのかという細かい部分は調べてないから分からない
デフォルトのシート名がSheet & シート追加時のインデックス値になるのは経験上知ってる
2019/03/20(水) 00:58:10.12ID:+iQ33M/7
2019/03/20(水) 01:11:06.91ID:+iQ33M/7
2019/03/20(水) 01:39:18.38ID:6ln9W50J
>>50
行けそうでダメでした
何で〜?
https://i.imgur.com/kZaCjUg.png
https://dotup.org/uploda/dotup.org1801319.zip
>>51
>デフォルトのシート名がSheet & シート追加時のインデックス値
削除すると変わるので、これは違います
>>52
その仕様ってどこかに書いてないのでしょうか
行けそうでダメでした
何で〜?
https://i.imgur.com/kZaCjUg.png
https://dotup.org/uploda/dotup.org1801319.zip
>>51
>デフォルトのシート名がSheet & シート追加時のインデックス値
削除すると変わるので、これは違います
>>52
その仕様ってどこかに書いてないのでしょうか
2019/03/20(水) 02:22:30.37ID:+iQ33M/7
>>54
どこに書いてるかは知らないけど、ボタンもシートもブックもオブジェクトの指定の仕方は同じ
オブジェクト名
オブジェクトのコレクション(インデックス)
オブジェクトのコレクション("名前")
好きなのを使うがよい
どこに書いてるかは知らないけど、ボタンもシートもブックもオブジェクトの指定の仕方は同じ
オブジェクト名
オブジェクトのコレクション(インデックス)
オブジェクトのコレクション("名前")
好きなのを使うがよい
2019/03/20(水) 02:25:30.67ID:+iQ33M/7
MS公式でWorksheetオブジェクトに関する説明調べればどっかにあるかもねえ、知らんけど
57デフォルトの名無しさん
2019/03/20(水) 11:46:18.93ID:KyvcPrHu マクロを10時間ぶっ通しで走らせるのはよくないですか?途中で再起したほうがいいですか?
2019/03/20(水) 11:59:24.66ID:xEZ65DiY
2019/03/20(水) 12:06:20.76ID:6ln9W50J
60デフォルトの名無しさん
2019/03/20(水) 12:33:29.40ID:KyvcPrHu2019/03/20(水) 13:54:52.74ID:2xsXzlGP
>>57
応答なしにならないか?
応答なしにならないか?
2019/03/20(水) 15:56:43.40ID:1jasQYq3
だから、どういう状況で10時間ぶっとおしが必要なんだよwwwwww
マジでExcelを何に使ってるのか気になるわ。
マジでExcelを何に使ってるのか気になるわ。
2019/03/20(水) 16:27:03.42ID:xEZ65DiY
馬鹿の考えることをまともに相手をしてはいけない
2019/03/20(水) 20:36:03.66ID:nDF65YVh
結果セットは小さいけど重いDBクエリを繰り返すとかだったらわかる
2019/03/20(水) 20:53:54.94ID:EpI850Tv
10時間動かし続けるとなると思いつくのは
出勤時間中にwebサイトやフォルダ監視し続けて何かをキッカケに何かするみたいなのかな
出勤時間中にwebサイトやフォルダ監視し続けて何かをキッカケに何かするみたいなのかな
2019/03/20(水) 22:28:30.85ID:ad3N4bFR
エクセルでやることなんですかねそれ...
2019/03/20(水) 22:53:02.96ID:1jasQYq3
ExcelVBAでパワーポイント動かしたいんですけど、
とか言われても、もう驚かんわ。
とか言われても、もう驚かんわ。
2019/03/20(水) 23:11:09.25ID:7O8FfDv3
馬鹿はそこでマクロと言い出す
更には、「教えて」「助けて」で始まり
「急いでます」「作って」と要求する
更には、「教えて」「助けて」で始まり
「急いでます」「作って」と要求する
2019/03/20(水) 23:20:32.29ID:dyVQ1wUM
>>67
やろうと思えば出来んでもないのか
やろうと思えば出来んでもないのか
2019/03/20(水) 23:21:49.19ID:dyVQ1wUM
なんだお前ら、勿体無いな
10時間動かすなんて奇抜な事をしてくれるんだから、全力で応援するべきだろう
かなり貴重なサンプルが手に入る可能性があるのに、バカだの言って切り捨てるのはあまりに勿体無い
10時間動かすなんて奇抜な事をしてくれるんだから、全力で応援するべきだろう
かなり貴重なサンプルが手に入る可能性があるのに、バカだの言って切り捨てるのはあまりに勿体無い
2019/03/20(水) 23:38:22.03ID:9h7AJaIR
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【高市朗報】 日本政府「一昨年は1300億円。去年も防衛費が1100億円余ったw」 日本の防衛費は充分足りてる事が判明。増やす必要無し [485983549]
- 高市早苗「支持者の理解を得られないので台湾発言を撤回できない」 [931948549]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【速報】51歳まで自衛隊になれるように法改正ww [347751896]
