!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑2行に減ってるけど、同じ内容を3行に増やして貼り付けること
ExcelのVBAに関する質問スレ
コード書き込みや作成依頼もOK
次スレは>>980が立てること
無理なら細かく安価指定
※前スレ
Excel VBA 質問スレ Part75
https://mevius.5ch.net/test/read.cgi/tech/1644384272/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
Excel VBA 質問スレ Part76
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ブーイモ MMff-XZ6m)
2022/05/01(日) 02:23:41.78ID:2t63WK/jM2デフォルトの名無しさん (ワッチョイ 27da-l/ZD)
2022/05/01(日) 10:10:19.02ID:Pk0oKD+E0 2げろ
3デフォルトの名無しさん (スップ Sd7f-TUas)
2022/05/01(日) 14:46:30.73ID:q0kLnjNbd Excel使い方すらわからない人はお断りです
Excel VBAが何かもわからない人もお断りです
Excel VBAが何かもわからない人もお断りです
4デフォルトの名無しさん (ブーイモ MMcb-LnX+)
2022/05/01(日) 16:08:24.73ID:CXxh8/QkM 我々の承認欲求を満たしてくれる質問お待ちしてます
5デフォルトの名無しさん (ワッチョイ df4f-bbcD)
2022/05/01(日) 17:04:11.22ID:PgWgEC/y0 向こうのスレ消化してから書き込めカス共
6デフォルトの名無しさん (ワッチョイ 7fda-Nh0L)
2022/05/01(日) 19:54:56.03ID:Om3L9uk+0 前スレ終わってないのに立てる >>1 が悪い
7デフォルトの名無しさん (ワッチョイ 6793-ow/s)
2022/05/01(日) 21:27:37.77ID:geOevaoi08デフォルトの名無しさん (ワッチョイ df01-nj6J)
2022/05/01(日) 21:39:32.49ID:Rd1MW2220 レス古事記の相手すんなよ...
9デフォルトの名無しさん (ワッチョイ 27da-l/ZD)
2022/05/02(月) 19:28:34.96ID:MoQSVCv50 過去にもしばらくスレ立て放置プレイされた事あったぜ
10デフォルトの名無しさん (ワッチョイ 0702-Nh0L)
2022/05/02(月) 23:18:57.97ID:X95f3WhM0 よろしくお願いします。以下の日本語で書いた部分に相当するような
繰り返し文ってありますでしょうか。
イメージしているのはwhile read line do done < test.txt
みたいなものです。
テキストファイルの変わりに「とある列の値が尽きるまで(空欄が見つかるまで)」、
繰り返し文内の処理を繰り返すような文です。
Range("B1").Select
繰り返し A列の値 = 空欄のセルが見つかるまで
ActiveCell.Offset(0, -1).Range("A1").Select
Selection.Copy
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Range("A1").Select
繰り返し完了
繰り返し文ってありますでしょうか。
イメージしているのはwhile read line do done < test.txt
みたいなものです。
テキストファイルの変わりに「とある列の値が尽きるまで(空欄が見つかるまで)」、
繰り返し文内の処理を繰り返すような文です。
Range("B1").Select
繰り返し A列の値 = 空欄のセルが見つかるまで
ActiveCell.Offset(0, -1).Range("A1").Select
Selection.Copy
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Range("A1").Select
繰り返し完了
11デフォルトの名無しさん (ワッチョイ 7fbb-sZ5+)
2022/05/02(月) 23:38:34.90ID:hdDLukhc0 >>10
すげーざっくりだけどやりたいことはこんな感じ?
やりたいことがあってるならもう少しちゃんとしたコードにはするけど
SelectとかCopy、Pasteは基本VBAで使わないので
Dim WS As WorkSheet
Set WS=ActiveSheet
Dim RngA1 As Range
Set RngA1=WS.Cells(1,1)
Dim i As Long
For i = 1 to 16384
If WS.Cells(i,1).Value="" Then
Exit For
Else
WS.Cells(i, 1).Value=WS.Cells(i, 2).Value
End If
Next
すげーざっくりだけどやりたいことはこんな感じ?
やりたいことがあってるならもう少しちゃんとしたコードにはするけど
SelectとかCopy、Pasteは基本VBAで使わないので
Dim WS As WorkSheet
Set WS=ActiveSheet
Dim RngA1 As Range
Set RngA1=WS.Cells(1,1)
Dim i As Long
For i = 1 to 16384
If WS.Cells(i,1).Value="" Then
Exit For
Else
WS.Cells(i, 1).Value=WS.Cells(i, 2).Value
End If
Next
12デフォルトの名無しさん (ワッチョイ a763-PwpY)
2022/05/03(火) 10:09:18.61ID:F3b8ltuB0 先生方教えて!
エクセルを1枚1枚開いてvbaによって加工したい場合、
マクロの表示からそのvbaを選ぶのが一般的なんでしょうか。
FileDialogをつかって複数エクセルを一気に加工するほうが
自分は楽なんですが契約社員にはわかりづらいそうで。。
エクセルを1枚1枚開いてvbaによって加工したい場合、
マクロの表示からそのvbaを選ぶのが一般的なんでしょうか。
FileDialogをつかって複数エクセルを一気に加工するほうが
自分は楽なんですが契約社員にはわかりづらいそうで。。
13デフォルトの名無しさん (ワッチョイ df4f-bbcD)
2022/05/03(火) 10:15:31.86ID:MA4dMZuw0 一般的かどうかは分からんけど
ファイルダイアログを開いて
設定したパスをどこかのセルに設定しておいて
実行ボタンでそのセルを読みに行くほうが
複数のブックを読みに行く場合には親切
ファイルダイアログを開いて
設定したパスをどこかのセルに設定しておいて
実行ボタンでそのセルを読みに行くほうが
複数のブックを読みに行く場合には親切
14デフォルトの名無しさん (ワッチョイ bf8c-pWxw)
2022/05/03(火) 13:25:25.46ID:xaGln49G0 理解が十分でない契約社員には直感的にわかりやすい上記の方法
そのうち慣れて面倒になってきたら下記の方法(バッチ)
2つのアプローチを用意するのがいいかもしれませんね
コンピュータになれていなかったり入れ替わりが多い契約社員というところがポイントですね
私もVBAを他人に提供することが多いから参考になるわー
そのうち慣れて面倒になってきたら下記の方法(バッチ)
2つのアプローチを用意するのがいいかもしれませんね
コンピュータになれていなかったり入れ替わりが多い契約社員というところがポイントですね
私もVBAを他人に提供することが多いから参考になるわー
15デフォルトの名無しさん (ワッチョイ 27da-l/ZD)
2022/05/03(火) 13:57:26.99ID:nOtJseDM0 Nextじゃなくて、Next iって書かなきゃあかんと言われたよ
16デフォルトの名無しさん (アウアウウー Saab-wueb)
2022/05/03(火) 14:12:22.20ID:utR4VoxQa iが足りなかったからか
17デフォルトの名無しさん (ワッチョイ 2701-XZ6m)
2022/05/04(水) 14:54:21.99ID:Bmz10qTz0 前スレ987で質問した者です。
アドバイスありがとうございます。
2019に変わる際にPCがwin7からwin10に変わり性能もアップしたのでVBA処理も早くなるかと思っていたのですがそのようなバグが出るようになりました。
自分1人で使ってる範囲では良いのですが複数が利用しているため質問させて頂きました。
PC性能があがりEXCELがついてこれてない可能性もありますね。
アドバイスありがとうございます。
2019に変わる際にPCがwin7からwin10に変わり性能もアップしたのでVBA処理も早くなるかと思っていたのですがそのようなバグが出るようになりました。
自分1人で使ってる範囲では良いのですが複数が利用しているため質問させて頂きました。
PC性能があがりEXCELがついてこれてない可能性もありますね。
18デフォルトの名無しさん (ワッチョイ 27da-l/ZD)
2022/05/04(水) 16:13:00.23ID:waxP/JpN0 Excel板なら人間の性能を上げろって揶揄されるからな
19デフォルトの名無しさん (ワッチョイ 7fda-Nh0L)
2022/05/04(水) 19:42:48.21ID:3VW2nuLk0 win7がwin10になったのとPCの性能は別だからな
古いPCのOSだけ変えたのかもしれんし
古いPCのOSだけ変えたのかもしれんし
20デフォルトの名無しさん (ワッチョイ 2701-XZ6m)
2022/05/04(水) 20:57:36.39ID:Bmz10qTz0 説明不足で申し訳ないです。
win7からwin10でPC変わってます。
個人的に所有しているPCではないので具体的なスペックはわかりません。
win7からwin10でPC変わってます。
個人的に所有しているPCではないので具体的なスペックはわかりません。
21デフォルトの名無しさん (ワンミングク MMbf-+wkU)
2022/05/04(水) 21:05:48.55ID:hxvZ+FeqM >>20
所有権の問題ではなく馬鹿だからわからないだけでは?
所有権の問題ではなく馬鹿だからわからないだけでは?
22デフォルトの名無しさん (ワッチョイ 2701-XZ6m)
2022/05/04(水) 21:14:48.05ID:Bmz10qTz0 申し訳ありません、具体的なスペックが提示できないようではアドバイスも難しいですもんね。
これまで頂いたアドバイスでもう少し試行錯誤してみたいと思います。ありがとうございました。
これまで頂いたアドバイスでもう少し試行錯誤してみたいと思います。ありがとうございました。
23デフォルトの名無しさん (ワッチョイ dfda-Nh0L)
2022/05/04(水) 22:17:07.14ID:hNQ/TBre0 数秒待たせればエラーに成らないなら、原因判明するまでは待たせる方式で
或いは
最終的に鳥瞰図が欲しいなら、数値データをDXFとして出力してjw-cadとかで描画とか
https://www.hakko.co.jp/javascript/soft011.htm 作者に問い合わせしながら検討とかも
https://www.apptec.co.jp/technical_report/pdf/vol24/treport_vol_24-06.pdf
https://movies.woxikon.co.nz/excel-%E3%81%A7-cad-%E5%9B%B3%E9%9D%A2-%E4%BD%9C%E6%88%90
https://www.tipsfound.com/excel/05038
https://www.nichibun-g.co.jp/data/education/ict-education/archive/31/02.php
この辺は既にご承知かも ぜんぶちゃんと目を通した訳では無いから抜粋ということで
グラフ機能を応用して鳥瞰図(風)にしてるってことかな
或いは
最終的に鳥瞰図が欲しいなら、数値データをDXFとして出力してjw-cadとかで描画とか
https://www.hakko.co.jp/javascript/soft011.htm 作者に問い合わせしながら検討とかも
https://www.apptec.co.jp/technical_report/pdf/vol24/treport_vol_24-06.pdf
https://movies.woxikon.co.nz/excel-%E3%81%A7-cad-%E5%9B%B3%E9%9D%A2-%E4%BD%9C%E6%88%90
https://www.tipsfound.com/excel/05038
https://www.nichibun-g.co.jp/data/education/ict-education/archive/31/02.php
この辺は既にご承知かも ぜんぶちゃんと目を通した訳では無いから抜粋ということで
グラフ機能を応用して鳥瞰図(風)にしてるってことかな
24デフォルトの名無しさん (ワッチョイ 2701-XZ6m)
2022/05/04(水) 23:12:41.36ID:Bmz10qTz0 >>23
ありがとうございます。勉強になります。
今のところはエラーが出た際バッファーの時間を調整して対応しています。
とりあえずは動いているので良いのですが書き方としてどうなのだろうと思いまして…
もっとスマートに解決方法があればと思い質問させて頂きました。
アドバイス頂きありがとうございます。アドバイスを元に検討してみたいと思います。
ありがとうございます。勉強になります。
今のところはエラーが出た際バッファーの時間を調整して対応しています。
とりあえずは動いているので良いのですが書き方としてどうなのだろうと思いまして…
もっとスマートに解決方法があればと思い質問させて頂きました。
アドバイス頂きありがとうございます。アドバイスを元に検討してみたいと思います。
25デフォルトの名無しさん (ワッチョイ 2701-I+xZ)
2022/05/04(水) 23:54:17.61ID:4EN2kx2R0 >>24
むかしファイルメーカーから画像を取り出してExcelに貼り付けるマクロ書いたことあるわ。
クリップボードからExcelに貼るときにちょいちょいエラーが出て苦労した。
最終的にはエラーが出たところからリランできるようにして人力で最後まで走り切った。
継続的に長い期間使うマクロではなかったんでね。
クリップボードって入れ終わるタイミングが掴めないから処理が難しいね。
オレが調べた限りでは完全に技術的に解決する方法は見つけられなかった。
完全自動化は一旦棚に上げておいて、人間の補助も込みで運用を考えた方が現実的かも。
むかしファイルメーカーから画像を取り出してExcelに貼り付けるマクロ書いたことあるわ。
クリップボードからExcelに貼るときにちょいちょいエラーが出て苦労した。
最終的にはエラーが出たところからリランできるようにして人力で最後まで走り切った。
継続的に長い期間使うマクロではなかったんでね。
クリップボードって入れ終わるタイミングが掴めないから処理が難しいね。
オレが調べた限りでは完全に技術的に解決する方法は見つけられなかった。
完全自動化は一旦棚に上げておいて、人間の補助も込みで運用を考えた方が現実的かも。
26デフォルトの名無しさん (ワッチョイ 67da-bwV9)
2022/05/05(木) 00:43:02.91ID:vV+xUHQR0 IEとセッション共有するにはどうすればいい?
27デフォルトの名無しさん (スププ Sdff-hviI)
2022/05/05(木) 08:37:44.29ID:GOdKeYkud28デフォルトの名無しさん (ワッチョイ df4f-bbcD)
2022/05/05(木) 09:37:07.07ID:yaYLZP+d0 >>26
まずIEはセッションなど持っていない。
そして今IE は使えないだろう?
強制的にEdgeにされるはずだ。
そしてそのEdge も当然セッションなど持っていない。
EdgeもIEもクライアントサイドのものだからだ。
セッションはサーバーサイドの概念だからな。
そしてサーバーサイドをEXCELのVBA で制御するとか意味分からん。
大人しくAsp.NetでもやっておくかせめてVBS で制御しとけ。
まずIEはセッションなど持っていない。
そして今IE は使えないだろう?
強制的にEdgeにされるはずだ。
そしてそのEdge も当然セッションなど持っていない。
EdgeもIEもクライアントサイドのものだからだ。
セッションはサーバーサイドの概念だからな。
そしてサーバーサイドをEXCELのVBA で制御するとか意味分からん。
大人しくAsp.NetでもやっておくかせめてVBS で制御しとけ。
29デフォルトの名無しさん (ワッチョイ 67da-bwV9)
2022/05/05(木) 11:18:53.52ID:vV+xUHQR0 わざとだろうけど、EdgeでもCookieでもいいよ。
30デフォルトの名無しさん (ワッチョイ 0702-Nh0L)
2022/05/05(木) 11:27:47.75ID:BSjK1PJD0 >>11
ありがとうございます。
ありがとうございます。
31デフォルトの名無しさん (ワッチョイ 8701-6zUF)
2022/05/05(木) 16:06:00.40ID:FeY8iOM40 【ひろゆき】テレビ見る奴はバカ!?正論論破!
「テレビ見てる奴バカすぎだろ!!マジでバカしかいない!!」聞けば納得の正論!!
【ひろゆき】みなさん要注意です…テレビ見ると頭悪くなります
⇒テレビが馬鹿向けに作られてる衝撃の理由がヤバ過ぎる…
【ひろゆき】マジで「ざまあみろ」って思いましたね。
●●する奴にテレビ業界は破壊されました…ひろゆきがテレビがオワコン化した理由を話す
【ひろゆき】芸能界の闇!松本人志とか東野幸治はエクセルすら使えないんだよ?
ワイドナショーで言ってたw【教えて!ひろゆき先生/切り抜き】
【ひろゆき】なぜテレビは面白くなくなったのか?
その理由をひろゆきとひげおやじが分析する【切り抜き/論破/TV】
「テレビ見てる奴バカすぎだろ!!マジでバカしかいない!!」聞けば納得の正論!!
【ひろゆき】みなさん要注意です…テレビ見ると頭悪くなります
⇒テレビが馬鹿向けに作られてる衝撃の理由がヤバ過ぎる…
【ひろゆき】マジで「ざまあみろ」って思いましたね。
●●する奴にテレビ業界は破壊されました…ひろゆきがテレビがオワコン化した理由を話す
【ひろゆき】芸能界の闇!松本人志とか東野幸治はエクセルすら使えないんだよ?
ワイドナショーで言ってたw【教えて!ひろゆき先生/切り抜き】
【ひろゆき】なぜテレビは面白くなくなったのか?
その理由をひろゆきとひげおやじが分析する【切り抜き/論破/TV】
32デフォルトの名無しさん (ワッチョイ 9f02-PvPk)
2022/05/07(土) 10:41:14.26ID:NJT6jW780 Sub test()
Dim high As Long
Dim str As String
Dim num As Integer
'a
str = "転"
str = Asc(str)
str = Hex(str)
a = str
'b
str = "転"
str = Hex(Asc(str))
b = str
'c
str = "転"
num = Asc(str)
str = Hex(num)
c = str
End Sub
a=FFFFFFFFFFFF935D b =935D c=935D
aとbで結果が異なる理由が分かりません。
cはぼんやりと型の違いなのかと思いテストしたところ、bと同じ結果になりました。
しかし、aもbもstring型のstrに納めているので、「どうして結果が違うのか」とより
謎を強めてしまいました。なぜ、aとbで結果が異なるのか教えてください。
Dim high As Long
Dim str As String
Dim num As Integer
'a
str = "転"
str = Asc(str)
str = Hex(str)
a = str
'b
str = "転"
str = Hex(Asc(str))
b = str
'c
str = "転"
num = Asc(str)
str = Hex(num)
c = str
End Sub
a=FFFFFFFFFFFF935D b =935D c=935D
aとbで結果が異なる理由が分かりません。
cはぼんやりと型の違いなのかと思いテストしたところ、bと同じ結果になりました。
しかし、aもbもstring型のstrに納めているので、「どうして結果が違うのか」とより
謎を強めてしまいました。なぜ、aとbで結果が異なるのか教えてください。
33デフォルトの名無しさん (アウアウウー Sa1f-oKCf)
2022/05/07(土) 11:01:22.01ID:QtF4T6fHa ascの結果をstringに変換しないで入れたからかな
出先なので試せないが
出先なので試せないが
34デフォルトの名無しさん (アウアウウー Sa1f-cwrN)
2022/05/07(土) 11:52:42.37ID:/qcwjpRWa 'a
str = "転"
str = Asc(str)
Debug.Print str
str = Hex(str)
Debug.Print str
a = str
ってやってみて自分の思った通りになってるか確認してみそ
str = "転"
str = Asc(str)
Debug.Print str
str = Hex(str)
Debug.Print str
a = str
ってやってみて自分の思った通りになってるか確認してみそ
35デフォルトの名無しさん (ワッチョイ b7ce-PvPk)
2022/05/07(土) 11:59:35.71ID:WpJq4eDb036デフォルトの名無しさん (ワッチョイ b7ce-PvPk)
2022/05/07(土) 12:05:46.33ID:WpJq4eDb0 公式ドキュメントには、Hex関数の返り値は8桁以下の文字列と書いてあるのに16桁返ってくるな
どういうことだ?
https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/hex-function
どういうことだ?
https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/hex-function
37デフォルトの名無しさん (ワッチョイ b7ce-PvPk)
2022/05/07(土) 12:10:46.75ID:WpJq4eDb0 暗黙の型変換は必要最小限の型に変換されるってルールだったはずで、そのロジックに何か問題がある気がする
文字コード(-27811)はIntegerになるはずがLongLongに変換されてしまっていて、さらにHex関数がなぜかエラーを返さない
文字コード(-27811)はIntegerになるはずがLongLongに変換されてしまっていて、さらにHex関数がなぜかエラーを返さない
38デフォルトの名無しさん (ワッチョイ b7ce-PvPk)
2022/05/07(土) 13:00:38.34ID:WpJq4eDb0 うーん、これはちょっと想定外の結果、かなあ
知らないでいるとハマりそうだわ
Sub test2()
s = "&H8"
For i = 1 To 15
s = s & "0"
Debug.Print Hex(s)
Next
End Sub
知らないでいるとハマりそうだわ
Sub test2()
s = "&H8"
For i = 1 To 15
s = s & "0"
Debug.Print Hex(s)
Next
End Sub
39デフォルトの名無しさん (ワッチョイ 17da-zDU0)
2022/05/07(土) 15:18:31.97ID:QipuKWLV0 >>32
strは文字列型だからaの場合str = Asc("転")でやっていることは実質的にstr = cstr(Asc("転")).
だからa,b,cはそれぞれ,hex(cstr(Asc("転"))),hex(Asc("転")),hex(Asc"転"))となりaだけ途中で数字ではなくて文字列にかわっているので
対応するhexの値が異なるのは当然.
strは文字列型だからaの場合str = Asc("転")でやっていることは実質的にstr = cstr(Asc("転")).
だからa,b,cはそれぞれ,hex(cstr(Asc("転"))),hex(Asc("転")),hex(Asc"転"))となりaだけ途中で数字ではなくて文字列にかわっているので
対応するhexの値が異なるのは当然.
40デフォルトの名無しさん (スップ Sd2a-414f)
2022/05/07(土) 15:39:23.00ID:Be/sY8NCd 型を意識しないで作るVBAerによくある勘違いというだけ
41デフォルトの名無しさん (アウアウウー Sa1f-oKCf)
2022/05/07(土) 16:06:22.67ID:7L5Eu3N/a >>38
型宣言しないタイプ?
型宣言しないタイプ?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【熊本】園児に強制性交か 保育所勤務の男を逮捕「性的な欲望が我慢できなかった」警察は余罪を調べる [七波羅探題★]
- 【前橋市】小川晶前市長とラブホテルで打ち合わせをした54歳男性職員を停職処分 今月末で依願退職するという [シャチ★]
- 【サッカー】元日本代表DF冨安がオランダ1部アヤックスと大筋合意か 現地メディア報じる [久太郎★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★]
- 【未成年NISA】つみたて枠、18歳未満は600万円上限 12歳で引き出し可能 [蚤の市★]
- 【埼玉】「無免許で高速道路で事故」トラックの追突事故で10代男性死亡 無免許過失運転致死の疑いでトルコ国籍の男(22)逮捕 戸田市 [ぐれ★]
- 高市早苗「竹島は日本領土」 [834922174]
- 中国の日本向けレアアースの輸出止まる、高市のせいで日本終了のお知らせ [931948549]
- あくたんのおまんこって甘そうだよな🤤
- e安倍晋三vs山上徹也にありがちなこと [452056903]
- 暖房やめて湯たぼんにしようと思ってる
- 🏡
