!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ
ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ
※前スレ
Excel VBA 質問スレ Part70
https://mevius.5ch.net/test/read.cgi/tech/1616072923/
Excel VBA 質問スレ Part71
https://mevius.5ch.net/test/read.cgi/tech/1621914481/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
Excel VBA 質問スレ Part73
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (ワッチョイ 4668-xJJl)
2021/09/13(月) 07:29:59.47ID:GNx0xRRz02デフォルトの名無しさん (テテンテンテン MM3e-h3Yj)
2021/09/13(月) 08:13:09.52ID:tEaVHPxwM >>1 乙
3デフォルトの名無しさん (ワッチョイ a58e-tqgi)
2021/09/13(月) 19:11:08.29ID:Pa7+I2w50 いつものあいつの釣りとあまりに馬鹿過ぎる質問はお断りです
また、Excelの使い方すらわからない人はお帰りください
また、Excelの使い方すらわからない人はお帰りください
4デフォルトの名無しさん (ワッチョイ a6da-dGLa)
2021/09/13(月) 21:24:22.31ID:dfMVUW3H0 それでも来たらスルーでいいんじゃね
5デフォルトの名無しさん (ワッチョイ e6bb-gYTk)
2021/09/14(火) 16:24:06.98ID:QWQM37es0 A列の全行のセルの値を配列に突っ込む時、オートフィルターが複数列でかかっていると、
表示されてるやつだけ配列に入ってしまうの、なんとかならない?
配列をA列に縦方向に貼り付ける時も、オートフィルターが既にかかってると、適切に元の行に貼り付け戻せない。
仕様なのかな
表示されてるやつだけ配列に入ってしまうの、なんとかならない?
配列をA列に縦方向に貼り付ける時も、オートフィルターが既にかかってると、適切に元の行に貼り付け戻せない。
仕様なのかな
65 (ワッチョイ e6bb-gYTk)
2021/09/14(火) 16:26:32.34ID:QWQM37es0 2万行あるから、なるべく最初にa列の内容を全部配列に入れてから、それぞれを操作して、
それからまた修正済みの配列の中身をa列に上書き貼り付けしたい。
でも、オートフィルターがかかっているとまずい。
複数列でオートフィルターがかかっているととても難しい
それからまた修正済みの配列の中身をa列に上書き貼り付けしたい。
でも、オートフィルターがかかっているとまずい。
複数列でオートフィルターがかかっているととても難しい
7デフォルトの名無しさん (アウアウウー Sa21-DZpR)
2021/09/14(火) 16:40:04.06ID:dOl/0XMua フィルタ全解除する処理を前に置けばいいじゃない
85 (ワッチョイ e6bb-gYTk)
2021/09/14(火) 17:37:49.57ID:QWQM37es0 全解除して処理を行う、というのはできたけど、ユーザーのためにフィルタした状態ってのはそのままに戻したい。
フィルタしてる列が単体ならなんとかそれはできた。
だけど、複数列でフィルタした状態を、いったん全解除して、そんであとでまた元のフィルタ選択状態に戻すのが出来なさそうなのよね。
フィルタしてる列が単体ならなんとかそれはできた。
だけど、複数列でフィルタした状態を、いったん全解除して、そんであとでまた元のフィルタ選択状態に戻すのが出来なさそうなのよね。
9デフォルトの名無しさん (ワッチョイ a95f-+10e)
2021/09/14(火) 19:45:59.21ID:dPBji9ks0 テーブルの見出しはvalueじゃ取り出せないんだな
勉強になったわ
勉強になったわ
10デフォルトの名無しさん (ワッチョイ 5e68-gxqX)
2021/09/14(火) 20:24:42.51ID:Tksl7xa90 フィルタは全解除するのが一番手っ取り早い
横に伸ばすのは異常に難易度高い
横に伸ばすのは異常に難易度高い
11デフォルトの名無しさん (ワッチョイ 5e68-gxqX)
2021/09/14(火) 20:25:17.71ID:Tksl7xa90 列の増加が多いなら最初から大量にフィルタ列を用意シておいたほうが良い
12デフォルトの名無しさん (アウアウウー Sa21-DZpR)
2021/09/14(火) 21:12:31.57ID:u7isybhPa >>8
フィルタの条件って色々指定できる(色とか日付とか特定の文字列を含むとか)から、全部に対応しようとするとすごくめんどくさい
https://excel-ubara.com/vba_class/VBA_CLASS_08.html
割り切りとして「このマクロを使ったらフィルタは解除されますが情報は最新化されます」くらいにしとくのが無難かと
フィルタの条件って色々指定できる(色とか日付とか特定の文字列を含むとか)から、全部に対応しようとするとすごくめんどくさい
https://excel-ubara.com/vba_class/VBA_CLASS_08.html
割り切りとして「このマクロを使ったらフィルタは解除されますが情報は最新化されます」くらいにしとくのが無難かと
13デフォルトの名無しさん (JP 0Hc9-dGLa)
2021/09/14(火) 21:57:16.30ID:zgsbOTDxH 作業シートにコピペしてから処理すれば?
14デフォルトの名無しさん (ワッチョイ 2a05-0MLo)
2021/09/14(火) 23:44:27.27ID:UJ1BwW9y0 コマンドボタンを押してユーザーフォームを開くときに、
TopとLeftの位置をセルC5のTopとLeftの位置に合わせるべく、
以下のようにコードを記述したのですがうまく合ってくれません。
※セルC5のLeftやTop位置より大分左や上に表示されてしまう。
何か記述的におかしいのでしょうか?
Sub UserFormOpenSet()
Dim varTop, varLeft
With Sheets("説明シート").Range("C5")
varTop = .Top
varLeft = .Left
End With
With UserForm
.Show
.Top = varTop
.Left = varLeft
.Label1.Caption = "コメント内容"
・
・
・
End With
End Sub
TopとLeftの位置をセルC5のTopとLeftの位置に合わせるべく、
以下のようにコードを記述したのですがうまく合ってくれません。
※セルC5のLeftやTop位置より大分左や上に表示されてしまう。
何か記述的におかしいのでしょうか?
Sub UserFormOpenSet()
Dim varTop, varLeft
With Sheets("説明シート").Range("C5")
varTop = .Top
varLeft = .Left
End With
With UserForm
.Show
.Top = varTop
.Left = varLeft
.Label1.Caption = "コメント内容"
・
・
・
End With
End Sub
15デフォルトの名無しさん (ワッチョイ a95f-DZpR)
2021/09/14(火) 23:56:12.55ID:OBquwEh60 >>14
UserForm top left でググッたらこんなページがhttps://www.officepro.jp/excelvbaform/form_form/index4.html
検証してないけど試してみたらどうですかね
UserForm top left でググッたらこんなページがhttps://www.officepro.jp/excelvbaform/form_form/index4.html
検証してないけど試してみたらどうですかね
16デフォルトの名無しさん (ワッチョイ 2a05-0MLo)
2021/09/15(水) 00:23:15.17ID:8Tg1g6H4017デフォルトの名無しさん (ワッチョイ 7990-xJJl)
2021/09/15(水) 00:48:53.61ID:YsJqQLCb0 どーでも良い質問なんだが、VBAからエクセルのセルに値を入れるときの表現について
意見が割れてるので、みんながどー表現してるか知りたい
例えばVBAで A1セルに 123 という値を入れるとき、
A1セルに 123 を出力するという表現を使うか、A1セルに 123 を入力するという表現を使うか、どっち?
仕様書で人によって同じことしてるのに出力となってたり入力となってたりで色々バラバラすぎる
意見が割れてるので、みんながどー表現してるか知りたい
例えばVBAで A1セルに 123 という値を入れるとき、
A1セルに 123 を出力するという表現を使うか、A1セルに 123 を入力するという表現を使うか、どっち?
仕様書で人によって同じことしてるのに出力となってたり入力となってたりで色々バラバラすぎる
18デフォルトの名無しさん (スフッ Sd0a-dGLa)
2021/09/15(水) 01:03:00.63ID:gZeM1+Z6d19デフォルトの名無しさん (ワッチョイ 5e68-gxqX)
2021/09/15(水) 07:18:17.38ID:zmLKkAKu020デフォルトの名無しさん (ワッチョイ 39e6-oWuh)
2021/09/15(水) 07:51:35.00ID:qRxK7g6Y0 VBAの関数、メソッドとしてそのデータが入力値なのか出力値なのかは明白なのでは?
21デフォルトの名無しさん (ワッチョイ a668-dGLa)
2021/09/15(水) 10:54:35.14ID:LR7HEnPp022デフォルトの名無しさん (ブーイモ MM3e-Eik0)
2021/09/15(水) 12:02:19.64ID:K+waubxMM お知恵をお貸し下さい
String型の変数に文章を代入しています
その変数が「は」を助詞として使用しているかを検出し、その「は」が何文字目に記載されているかを抽出したいです
判定式はどの様に組むのが良いでしょうか
String型の変数に文章を代入しています
その変数が「は」を助詞として使用しているかを検出し、その「は」が何文字目に記載されているかを抽出したいです
判定式はどの様に組むのが良いでしょうか
23デフォルトの名無しさん (ワッチョイ 11da-k7k8)
2021/09/15(水) 12:16:58.05ID:ggl3y/Wm024デフォルトの名無しさん (ワッチョイ 11da-k7k8)
2021/09/15(水) 12:26:39.15ID:ggl3y/Wm0 こちらの下の方に具体的に品詞の判定方法がある。
http://www.excel.studio-kazu.jp/kw/20201108202429.html
http://www.excel.studio-kazu.jp/kw/20201108202429.html
25デフォルトの名無しさん (ワッチョイ ea4f-Eqy2)
2021/09/15(水) 14:02:58.42ID:XT7xZlnV0 是非とも
「はははははは、ははのはははははははと笑う」で
挙動確認を行なって欲しい案件だな
「はははははは、ははのはははははははと笑う」で
挙動確認を行なって欲しい案件だな
26デフォルトの名無しさん (テテンテンテン MM3e-h3Yj)
2021/09/15(水) 16:06:38.48ID:5d7y3fL1M >>17
> A1セルに 123 を出力するという表現を使うか、A1セルに 123 を入力するという表現を使うか、どっち?
俺なら「A1セルに 123 を書き込む」かな
シートはストレージみたいなものなのと思ってるので出力とか入力って言うのはなんか違和感ある
> A1セルに 123 を出力するという表現を使うか、A1セルに 123 を入力するという表現を使うか、どっち?
俺なら「A1セルに 123 を書き込む」かな
シートはストレージみたいなものなのと思ってるので出力とか入力って言うのはなんか違和感ある
27デフォルトの名無しさん (ワッチョイ 3a2f-0MLo)
2021/09/15(水) 16:59:13.14ID:3TKYe9Fz0 VBA側を主体に書いているなら(シートに)出力
シート側を主体にかいてるなら(VBAから)入力
だな
VBAの仕様書でVBA側を主体にしないのはどうかと思うが
(マクロ付き)エクセルの仕様書だと考えればまあ入力でもいいのかも
シート側を主体にかいてるなら(VBAから)入力
だな
VBAの仕様書でVBA側を主体にしないのはどうかと思うが
(マクロ付き)エクセルの仕様書だと考えればまあ入力でもいいのかも
28デフォルトの名無しさん (ワッチョイ a6ba-WYzC)
2021/09/15(水) 23:30:54.86ID:IO2bkDAL0 985なのですが、
ttps://whois.nic.ad.jp/cgi-bin/whois_gw?key=182.22.16.251
から
b. [ネットワーク名] YAHOO-NET
をVBAで抽出するいい方法はあるでしょうか?
ttps://whois.nic.ad.jp/cgi-bin/whois_gw?key=182.22.16.251
から
b. [ネットワーク名] YAHOO-NET
をVBAで抽出するいい方法はあるでしょうか?
29デフォルトの名無しさん (JP 0Hc9-dGLa)
2021/09/16(木) 00:13:25.85ID:/erdykE4H >>28
Sub ネットワーク名取得()
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", "https://whois.nic.ad.jp/cgi-bin/whois_gw?key=182.22.16.251", False
.Send
For Each s In Split(.responseText, vbLf)
If InStr(s, "ネットワーク名") Then Debug.Print s
Next
End With
End Sub
Sub ネットワーク名取得()
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", "https://whois.nic.ad.jp/cgi-bin/whois_gw?key=182.22.16.251", False
.Send
For Each s In Split(.responseText, vbLf)
If InStr(s, "ネットワーク名") Then Debug.Print s
Next
End With
End Sub
30デフォルトの名無しさん (ワッチョイ a95f-+10e)
2021/09/16(木) 00:59:42.68ID:5Hx4RpZ/0 一生使うことのなさそうなCreateObjectだな
31デフォルトの名無しさん (ワッチョイ 662c-0MLo)
2021/09/16(木) 01:49:26.07ID:tvb8xhvB0 >>28
shift-jis の古いサーバーっぽい。
Ruby で作った
require 'open-uri'
require 'nokogiri'
url = "ここへURL"
doc = Nokogiri::HTML( open( url ) )
elements = doc.css( "pre" )
text = elements.first.content # 1つ目のpreの内容
result = "エラー! 該当なし"
text.each_line( chomp: true ) do | line | # 改行を除去して、各行を処理する
if line.start_with? "b. [ネットワーク名]" # 行頭が何々で始まっていれば
result = line
break
end
end
puts result
出力
b. [ネットワーク名] YAHOO-NET
shift-jis の古いサーバーっぽい。
Ruby で作った
require 'open-uri'
require 'nokogiri'
url = "ここへURL"
doc = Nokogiri::HTML( open( url ) )
elements = doc.css( "pre" )
text = elements.first.content # 1つ目のpreの内容
result = "エラー! 該当なし"
text.each_line( chomp: true ) do | line | # 改行を除去して、各行を処理する
if line.start_with? "b. [ネットワーク名]" # 行頭が何々で始まっていれば
result = line
break
end
end
puts result
出力
b. [ネットワーク名] YAHOO-NET
32デフォルトの名無しさん (ブーイモ MM8e-FDYl)
2021/09/16(木) 01:51:47.59ID:YFUf0QLVM なぜRuby
33デフォルトの名無しさん (スップ Sd0a-GwBl)
2021/09/16(木) 02:01:13.02ID:FMosLWBbd スレタイも質問も読めないRubyバカ
34デフォルトの名無しさん (ワッチョイ 5e68-gxqX)
2021/09/16(木) 06:38:12.58ID:COWrCKXD0 利用者数激減の言語
それがruby
それがruby
35デフォルトの名無しさん (テテンテンテン MM3e-h3Yj)
2021/09/16(木) 08:25:21.24ID:J7QCCEb9M >>32-34
相手すんなよ…
相手すんなよ…
36デフォルトの名無しさん (ワッチョイ ea4f-Eqy2)
2021/09/16(木) 08:25:49.50ID:3isIfw030 >>17
なるほど仕様書の問題か
ならば現場内で紛らわしくないような記載のルールを作ればいいかな。
例えばユーザーが手打ちで設定する場合は「入力」
VBAで書き込む場合は「出力」または「設定」
コード上では「取得」と「設定」とかに分かれるからあまり問題ないだろうけど、仕様書の記載はまた別のセンスが必要になるからね。
一見して分かりやすく曲解のない仕様書を作るときって日本語の難しさを痛感することあるよね。
そういう時は大まかな流れ図みたいなもの書いて添付して紛らわしさを回避するのも一つの手だよ。
なるほど仕様書の問題か
ならば現場内で紛らわしくないような記載のルールを作ればいいかな。
例えばユーザーが手打ちで設定する場合は「入力」
VBAで書き込む場合は「出力」または「設定」
コード上では「取得」と「設定」とかに分かれるからあまり問題ないだろうけど、仕様書の記載はまた別のセンスが必要になるからね。
一見して分かりやすく曲解のない仕様書を作るときって日本語の難しさを痛感することあるよね。
そういう時は大まかな流れ図みたいなもの書いて添付して紛らわしさを回避するのも一つの手だよ。
37デフォルトの名無しさん (ワッチョイ 7990-H7Ir)
2021/09/16(木) 11:33:48.95ID:0wHWe9CF0 質問への回答ありがとう
>>17の質問者です
個人的には「人が入力」、「VBAから出力」というとらえ方がしっくりきました
紛らわしくない書き方のルールを作るというのは本当にその通りで、
これは実践したい
日本語は改めて考えると主体が曖昧で難しい…
>>17の質問者です
個人的には「人が入力」、「VBAから出力」というとらえ方がしっくりきました
紛らわしくない書き方のルールを作るというのは本当にその通りで、
これは実践したい
日本語は改めて考えると主体が曖昧で難しい…
38デフォルトの名無しさん (JP 0Hc9-dGLa)
2021/09/16(木) 12:13:09.55ID:/erdykE4H >>37
日本語の文章ってのは、主語が存在しなくても成立する性質があるんだよ
おかげでどっち視点かわからなくなる現象が起きやすい
逆に英文法では主語がほぼ省略できない
だから単語を置き換えただけの翻訳は不自然な文章になる
日本語の文章ってのは、主語が存在しなくても成立する性質があるんだよ
おかげでどっち視点かわからなくなる現象が起きやすい
逆に英文法では主語がほぼ省略できない
だから単語を置き換えただけの翻訳は不自然な文章になる
39デフォルトの名無しさん (アウアウウー Sa21-lpFL)
2021/09/16(木) 13:11:41.46ID:3+DQoJa1a グッジョブ!俺
40デフォルトの名無しさん (ワッチョイ 668e-ZlXV)
2021/09/16(木) 14:54:30.21ID:QuckXkbq0 >>38
馬鹿の典型例
馬鹿の典型例
41デフォルトの名無しさん (ワッチョイ b501-lR9W)
2021/09/16(木) 17:31:50.83ID:Z23LNYuB0 質問させてください。
ウェブサイトから特定の場所の情報を抽出するのはこちらのVBAを使用するということで間違いないでしょうか?
またこれはExcelを購入することによって使用できるもので、WindowsでもMacでも使用できるのでしょうか?
現在Macを使用しておりまして、具体的に申し上げるとyahooファイナンスなどの個別銘柄ページから配当利回りなどの情報をまとめて抽出したいと考えております。
スレ違いでしたら申し訳ございませんが、検索してもよく分からなかったので、書き込み数が多いこちらで質問させていただきました。
よろしくお願い申し上げます。
ウェブサイトから特定の場所の情報を抽出するのはこちらのVBAを使用するということで間違いないでしょうか?
またこれはExcelを購入することによって使用できるもので、WindowsでもMacでも使用できるのでしょうか?
現在Macを使用しておりまして、具体的に申し上げるとyahooファイナンスなどの個別銘柄ページから配当利回りなどの情報をまとめて抽出したいと考えております。
スレ違いでしたら申し訳ございませんが、検索してもよく分からなかったので、書き込み数が多いこちらで質問させていただきました。
よろしくお願い申し上げます。
42デフォルトの名無しさん (ブーイモ MMc9-Eik0)
2021/09/16(木) 17:42:26.31ID:3abSZdzaM 俺が馬鹿なだけかもしれねぇけど何をしたいのかがさっぱり分からない
43デフォルトの名無しさん (ブーイモ MM8e-FDYl)
2021/09/16(木) 18:02:43.18ID:nCqRUFyPM スクレイピングしたいんだろ
そのデータをどう扱うかによるわな
そのデータをどう扱うかによるわな
44デフォルトの名無しさん (ワッチョイ 3a2f-0MLo)
2021/09/16(木) 18:31:48.90ID:sOgFGA/J0 というかMAC版のEXCELってVBA使えるの?
あとスクレイピング用のコンポーネントも
あとスクレイピング用のコンポーネントも
45デフォルトの名無しさん (ラクッペペ MM3e-oWuh)
2021/09/16(木) 18:41:42.01ID:EvK5hxPzM 他のツールでデータを集めて
結果をExcelにするのが良いよ
csvでもいいんじゃね?
結果をExcelにするのが良いよ
csvでもいいんじゃね?
46デフォルトの名無しさん (ワッチョイ 66da-dGLa)
2021/09/16(木) 19:07:04.50ID:Az+Wn1Ze0 >>41
htmlから簡単なスクレイピングならPower Queryがとっつきやすいかと。
URLのリンク先がcsvやExcelファイル、pdfファイル、
GitHubにあるJSONなんかもこれで結構いける。
CSS構造や、
画面上で検索指定やボタンを押させるような対話型を必要とする
複雑なhtmlなら、Pythonとか。
その先の処理でVBAを組み合わせることはある。
クエリーエラーを避けるため、一つずつシーケンシャルに更新させたいとか、
同時にファイルをDLして保存したいとか。
htmlから簡単なスクレイピングならPower Queryがとっつきやすいかと。
URLのリンク先がcsvやExcelファイル、pdfファイル、
GitHubにあるJSONなんかもこれで結構いける。
CSS構造や、
画面上で検索指定やボタンを押させるような対話型を必要とする
複雑なhtmlなら、Pythonとか。
その先の処理でVBAを組み合わせることはある。
クエリーエラーを避けるため、一つずつシーケンシャルに更新させたいとか、
同時にファイルをDLして保存したいとか。
47デフォルトの名無しさん (ワッチョイ 5e68-gxqX)
2021/09/16(木) 19:33:58.44ID:COWrCKXD0 >>41
chrome 拡張機能 スクレイピング
で検索すると良い
ちなみにyahooなんかはスクレイピング対策として、短時間で大量にアクセスすると一発で垢一時停止になるぞ
一番いいのはyahoo APIなどのAPIを使う事
chrome 拡張機能 スクレイピング
で検索すると良い
ちなみにyahooなんかはスクレイピング対策として、短時間で大量にアクセスすると一発で垢一時停止になるぞ
一番いいのはyahoo APIなどのAPIを使う事
48デフォルトの名無しさん (ワッチョイ ea4f-Eqy2)
2021/09/16(木) 20:21:31.16ID:3isIfw030 MacのOfficeソフトとRubyには期待するなって
死んだばあちゃんが言ってた
死んだばあちゃんが言ってた
49デフォルトの名無しさん (ワッチョイ 9e8c-xZL4)
2021/09/16(木) 20:24:24.60ID:MqGeVsp10 Macには無料で今流行りのPythonがついているそうなので
スクレイピンクはそっちの方が遥かに簡単じゃないかな
ExcelVBA経験がないのなら
スクレイピンクはそっちの方が遥かに簡単じゃないかな
ExcelVBA経験がないのなら
50デフォルトの名無しさん (ワッチョイ 6a42-7gNx)
2021/09/16(木) 20:45:30.18ID:B6OYbZSR0 >>48
ばあちゃんハイカラやな
ばあちゃんハイカラやな
51デフォルトの名無しさん (ワッチョイ ff2c-QiSa)
2021/09/17(金) 03:52:03.83ID:O1PoA15N0 Rubyist は、たいていMac
スクレイピングは、Ruby, Selenium Webdriver, Nokogiri だけど、
無断で、大量のスクレイピングすると、営業妨害で逮捕される
スクレイピングする際、そのサイトのrobots.txt を遵守しないといけない。
取得したデータは、CSV, JSON、データベースなどに保存する
今は、どの本でも、無断でスクレイピングする事は推奨しないと書いてある。
相手のサイトと契約して、API を使わしてもらうべき!
YouTube API とか、Google Maps API とか、
株式相場などもそう
スクレイピングは、Ruby, Selenium Webdriver, Nokogiri だけど、
無断で、大量のスクレイピングすると、営業妨害で逮捕される
スクレイピングする際、そのサイトのrobots.txt を遵守しないといけない。
取得したデータは、CSV, JSON、データベースなどに保存する
今は、どの本でも、無断でスクレイピングする事は推奨しないと書いてある。
相手のサイトと契約して、API を使わしてもらうべき!
YouTube API とか、Google Maps API とか、
株式相場などもそう
52デフォルトの名無しさん (ワッチョイ ffda-qDHA)
2021/09/17(金) 11:36:45.56ID:D2cYhIKk053デフォルトの名無しさん (ワッチョイ ffb0-nVhm)
2021/09/17(金) 12:01:52.56ID:Y3MPn8p/0 できないことをやらないと
いつまでたっても何もできないのだが、、、
いつまでたっても何もできないのだが、、、
54デフォルトの名無しさん (ワッチョイ ffba-fv4A)
2021/09/17(金) 18:44:11.62ID:xtR/7aZz0 >>29, 31
ありがとうございました。
ありがとうございました。
55デフォルトの名無しさん (ワッチョイ ff10-dWRi)
2021/09/17(金) 20:27:29.50ID:ZtM+Yv2y0 見えないものを見ようとして望遠鏡を覗き込んだら捕まった事例
56デフォルトの名無しさん (アウアウウー Sa5b-4fkB)
2021/09/17(金) 20:40:10.73ID:7ovEcO6ia >>53
おまえが出来ないのは自業自得
おまえが出来ないのは自業自得
57デフォルトの名無しさん (ワッチョイ b7cc-W1il)
2021/09/17(金) 22:49:29.45ID:DaER+3fZ0 前の定義で移動できるセルを登録したいのですが、アプリケーションの定義エラーがでます。
範囲は101カ所登録したいのですが、どうやらstr*を3個くらい抜くと動くのですが、名前の定義に制限があるのでしょうか?
str*はどこを抜いても同じです。
Dim stra As String, strb As String, strc As String, strd As String, stre As String, strf As String, strg As String
stra = "=sh1!$H$3:$K$3,sh1!$N$3:$O$3,sh1!$R$3:$S$3," & _
"sh1!$E$6:$N$6,sh1!$O$6:$AC$6,sh1!$AD$6:$BG$6,sh1!$BH$6:$BR$6," & _
"sh1!$BS$6:$CG$6,sh1!$CH$6:$CQ$6,sh1!$CV$6:$DB$6,sh1!$DC$6:DR6," & _
"sh1!$DS$6:$EH$6,sh1!$EI$6:$ER$6,sh1!$ES$6:$FA$6,sh1!$FB$6:$FD$6," & _
"sh1!$FE$6:$FF$6,sh1!$FG$6:$FH$6,"
範囲は101カ所登録したいのですが、どうやらstr*を3個くらい抜くと動くのですが、名前の定義に制限があるのでしょうか?
str*はどこを抜いても同じです。
Dim stra As String, strb As String, strc As String, strd As String, stre As String, strf As String, strg As String
stra = "=sh1!$H$3:$K$3,sh1!$N$3:$O$3,sh1!$R$3:$S$3," & _
"sh1!$E$6:$N$6,sh1!$O$6:$AC$6,sh1!$AD$6:$BG$6,sh1!$BH$6:$BR$6," & _
"sh1!$BS$6:$CG$6,sh1!$CH$6:$CQ$6,sh1!$CV$6:$DB$6,sh1!$DC$6:DR6," & _
"sh1!$DS$6:$EH$6,sh1!$EI$6:$ER$6,sh1!$ES$6:$FA$6,sh1!$FB$6:$FD$6," & _
"sh1!$FE$6:$FF$6,sh1!$FG$6:$FH$6,"
5857 (ワッチョイ b7cc-W1il)
2021/09/17(金) 22:50:14.26ID:DaER+3fZ0 続き
strb = "sh1!$E$7:$N$7,sh1!$O$7:$AC$7,sh1!$AD$7:$BG$7,sh1!$BH$7:$BR$7," & _
"sh1!$BS$7:$CG$7,sh1!$CH$7:$CQ$7,sh1!$CV$7:$DB$7,sh1!$DC$7:DR7," & _
"sh1!$DS$7:$EH$7,sh1!$EI$7:$ER$7,sh1!$ES$7:$FA$7,sh1!$FB$7:$FD$7," & _
"sh1!$FE$7:$FF$7,sh1!$FG$7:$FH$7,"
strc = "sh1!$E$8:$N$8,sh1!$O$8:$AC$8,sh1!$AD$8:$BG$8,sh1!$BH$8:$BR$8," & _
"sh1!$BS$8:$CG$8,sh1!$CH$8:$CQ$8,sh1!$CV$8:$DB$8,sh1!$DC$8:DR8," & _
"sh1!$DS$8:$EH$8,sh1!$EI$8:$ER$8,sh1!$ES$8:$FA$8,sh1!$FB$8:$FD$8," & _
"sh1!$FE$8:$FF$8,sh1!$FG$8:$FH$8,"
strd = "sh1!$E$9:$N$9,sh1!$O$9:$AC$9,sh1!$AD$9:$BG$9,sh1!$BH$9:$BR$9," & _
"sh1!$BS$9:$CG$9,sh1!$CH$9:$CQ$9,sh1!$CV$9:$DB$9,sh1!$DC$9:DR9," & _
"sh1!$DS$9:$EH$9,sh1!$EI$9:$ER$9,sh1!$ES$9:$FA$9,sh1!$FB$9:$FD$9," & _
"sh1!$FE$9:$FF$9,sh1!$FG$9:$FH$9,"
stre = "sh1!$E$10:$N$10,sh1!$O$10:$AC$10,sh1!$AD$10:$BG$10,sh1!$BH$10:$BR$10," & _
"sh1!$BS$10:$CG$10,sh1!$CH$10:$CQ$10,sh1!$CV$10:$DB$10,sh1!$DC$10:DR10," & _
"sh1!$DS$10:$EH$10,sh1!$EI$10:$ER$10,sh1!$ES$10:$FA$10,sh1!$FB$10:$FD$10," & _
"sh1!$FE$10:$FF$10,sh1!$FG$10:$FH$10,"
strb = "sh1!$E$7:$N$7,sh1!$O$7:$AC$7,sh1!$AD$7:$BG$7,sh1!$BH$7:$BR$7," & _
"sh1!$BS$7:$CG$7,sh1!$CH$7:$CQ$7,sh1!$CV$7:$DB$7,sh1!$DC$7:DR7," & _
"sh1!$DS$7:$EH$7,sh1!$EI$7:$ER$7,sh1!$ES$7:$FA$7,sh1!$FB$7:$FD$7," & _
"sh1!$FE$7:$FF$7,sh1!$FG$7:$FH$7,"
strc = "sh1!$E$8:$N$8,sh1!$O$8:$AC$8,sh1!$AD$8:$BG$8,sh1!$BH$8:$BR$8," & _
"sh1!$BS$8:$CG$8,sh1!$CH$8:$CQ$8,sh1!$CV$8:$DB$8,sh1!$DC$8:DR8," & _
"sh1!$DS$8:$EH$8,sh1!$EI$8:$ER$8,sh1!$ES$8:$FA$8,sh1!$FB$8:$FD$8," & _
"sh1!$FE$8:$FF$8,sh1!$FG$8:$FH$8,"
strd = "sh1!$E$9:$N$9,sh1!$O$9:$AC$9,sh1!$AD$9:$BG$9,sh1!$BH$9:$BR$9," & _
"sh1!$BS$9:$CG$9,sh1!$CH$9:$CQ$9,sh1!$CV$9:$DB$9,sh1!$DC$9:DR9," & _
"sh1!$DS$9:$EH$9,sh1!$EI$9:$ER$9,sh1!$ES$9:$FA$9,sh1!$FB$9:$FD$9," & _
"sh1!$FE$9:$FF$9,sh1!$FG$9:$FH$9,"
stre = "sh1!$E$10:$N$10,sh1!$O$10:$AC$10,sh1!$AD$10:$BG$10,sh1!$BH$10:$BR$10," & _
"sh1!$BS$10:$CG$10,sh1!$CH$10:$CQ$10,sh1!$CV$10:$DB$10,sh1!$DC$10:DR10," & _
"sh1!$DS$10:$EH$10,sh1!$EI$10:$ER$10,sh1!$ES$10:$FA$10,sh1!$FB$10:$FD$10," & _
"sh1!$FE$10:$FF$10,sh1!$FG$10:$FH$10,"
59デフォルトの名無しさん (ワッチョイ b7cc-W1il)
2021/09/17(金) 22:50:45.98ID:DaER+3fZ0 続き
strf = "sh1!$E$11:$N$11,sh1!$O$11:$AC$11,sh1!$AD$11:$BG$11,sh1!$BH$11:$BR$11," & _
"sh1!$BS$11:$CG$11,sh1!$CH$11:$CQ$11,sh1!$CV$11:$DB$11,sh1!$DC$11:DR11," & _
"sh1!$DS$11:$EH$11,sh1!$EI$11:$ER$11,sh1!$ES$11:$FA$11,sh1!$FB$11:$FD$11," & _
"sh1!$FE$11:$FF$11,sh1!$FG$11:$FH$11,"
strg = "sh1!$E$12:$N$12,sh1!$O$12:$AC$12,sh1!$AD$12:$BG$12,sh1!$BH$12:$BR$12," & _
"sh1!$BS$12:$CG$12,sh1!$CH$12:$CQ$12,sh1!$CV$12:$DB$12,sh1!$DC$12:DR12," & _
"sh1!$DS$12:$EH$12,sh1!$EI$12:$ER$12,sh1!$ES$12:$FA$12,sh1!$FB$12:$FD$12," & _
"sh1!$FE$12:$FF$12,sh1!$FG$12:$FH$12"
ActiveWorkbook.Names.Add Name:="Nyuryoku2", RefersToLocal:=stra & strb & strc & strd & stre & strf & strg
strf = "sh1!$E$11:$N$11,sh1!$O$11:$AC$11,sh1!$AD$11:$BG$11,sh1!$BH$11:$BR$11," & _
"sh1!$BS$11:$CG$11,sh1!$CH$11:$CQ$11,sh1!$CV$11:$DB$11,sh1!$DC$11:DR11," & _
"sh1!$DS$11:$EH$11,sh1!$EI$11:$ER$11,sh1!$ES$11:$FA$11,sh1!$FB$11:$FD$11," & _
"sh1!$FE$11:$FF$11,sh1!$FG$11:$FH$11,"
strg = "sh1!$E$12:$N$12,sh1!$O$12:$AC$12,sh1!$AD$12:$BG$12,sh1!$BH$12:$BR$12," & _
"sh1!$BS$12:$CG$12,sh1!$CH$12:$CQ$12,sh1!$CV$12:$DB$12,sh1!$DC$12:DR12," & _
"sh1!$DS$12:$EH$12,sh1!$EI$12:$ER$12,sh1!$ES$12:$FA$12,sh1!$FB$12:$FD$12," & _
"sh1!$FE$12:$FF$12,sh1!$FG$12:$FH$12"
ActiveWorkbook.Names.Add Name:="Nyuryoku2", RefersToLocal:=stra & strb & strc & strd & stre & strf & strg
60デフォルトの名無しさん (ワッチョイ bf8c-V+sB)
2021/09/17(金) 23:08:43.51ID:VKkEr3i80 255文字
61デフォルトの名無しさん (JP 0Hfb-qDHA)
2021/09/17(金) 23:31:47.79ID:4pHWHBC6H >>57
1274文字まで
質問のために加工したんでなければ、その範囲はもっとシンプルにまとめられるぞ
"=$H$3:$K$3,$N$3:$O$3,$R$3:$S$3,$E$6:$CQ$12,$CV$6:$FH$12"
1274文字まで
質問のために加工したんでなければ、その範囲はもっとシンプルにまとめられるぞ
"=$H$3:$K$3,$N$3:$O$3,$R$3:$S$3,$E$6:$CQ$12,$CV$6:$FH$12"
63デフォルトの名無しさん (アウアウウー Sa5b-CdTX)
2021/09/18(土) 09:39:13.68ID:iFpkyoTBa64デフォルトの名無しさん (JP 0Hfb-qDHA)
2021/09/18(土) 10:16:04.89ID:jMbZYEP4H >>63
引数はRangeじゃなくてStringなんよ
引数はRangeじゃなくてStringなんよ
65デフォルトの名無しさん (ワッチョイ bf8c-V+sB)
2021/09/18(土) 12:10:53.45ID:vNZ9H73d0 名前定義ってRangeオブジェクトからでもできるのか 知らなかった
Range("B1:G10").Name = "Nyuuryoku2"
Range("B1:G10").Name = "Nyuuryoku2"
66デフォルトの名無しさん (ワッチョイ 775f-FvVG)
2021/09/18(土) 12:26:09.80ID:FfOi19ZE0 便利だけどExcelの名前の定義ウインドウは使いにくすぎる
67デフォルトの名無しさん (ワッチョイ 775f-FvVG)
2021/09/18(土) 12:26:47.71ID:FfOi19ZE0 つまりたくさん定義すると管理しにくいんだよな
68デフォルトの名無しさん (ワッチョイ bf8c-V+sB)
2021/09/18(土) 16:41:01.37ID:vNZ9H73d0 名前の管理を簡単にする便利なアドインって誰か作ってないの?
(とおねだり)
(とおねだり)
69デフォルトの名無しさん (ラクッペペ MM8f-muDX)
2021/09/18(土) 18:23:53.93ID:B91oASHcM 簡単の意味を定義してくれれば俺が作ってやるよ。
70デフォルトの名無しさん (ワッチョイ 775f-CdTX)
2021/09/18(土) 18:33:26.51ID:y+KnaSW50 表形式ならテーブルでOK
名前の定義使わなくても
名前の定義使わなくても
71デフォルトの名無しさん (テテンテンテン MM8f-vJdV)
2021/09/18(土) 18:45:25.50ID:+/kaLHzEM72デフォルトの名無しさん (ワッチョイ 775f-FvVG)
2021/09/18(土) 18:49:07.44ID:FfOi19ZE0 ちょっとぐぐったけど
NamesコレクションをForEachで回してユーザーフォームにでも表示させれば作れそうだな
NamesコレクションをForEachで回してユーザーフォームにでも表示させれば作れそうだな
73デフォルトの名無しさん (ワッチョイ b7da-muDX)
2021/09/19(日) 00:12:03.29ID:zQBxj3q40 >>71
めちゃくちゃ簡単だな。任せとけ。
めちゃくちゃ簡単だな。任せとけ。
74デフォルトの名無しさん (テテンテンテン MM8f-vJdV)
2021/09/19(日) 05:13:48.14ID:AGA6cOjvM おう、頼んだぞ
75デフォルトの名無しさん (ワッチョイ 9701-IhC7)
2021/09/19(日) 10:09:24.37ID:IfToBfi40 Internet Explorer_Serverのハンドルから取得したIHTMLDocumentオブジェクトではそのページ内での操作はできましたが
Navigate実行時にメソッドをサポートしていないというエラーになります
別のURLへ移動する方法ありますか?
Navigate実行時にメソッドをサポートしていないというエラーになります
別のURLへ移動する方法ありますか?
76デフォルトの名無しさん (JP 0Hfb-qDHA)
2021/09/19(日) 12:24:27.96ID:jno0wMDOH77デフォルトの名無しさん (アウアウウー Sa5b-hED7)
2021/09/19(日) 12:45:26.42ID:/yxUr6Cya IEのオプションでcssの設定を変える
78デフォルトの名無しさん (ワッチョイ 9701-IhC7)
2021/09/19(日) 14:05:15.93ID:IfToBfi40 >>76
検証中のためハンドルも直接入力してますし
コードも他のサイトの転用したものだったりかなり端折ってますが
何か解りましたらよろしくお願いします
Private Declare PtrSafe Function CLSIDFromString Lib "ole32" (ByVal pString As LongPtr, ByRef pCLSID As Currency) As Long
Private Declare PtrSafe Function RegisterWindowMessageW Lib "user32" (ByVal lpString As LongPtr) As Long
Private Declare PtrSafe Function SendMessageTimeoutW Lib "user32" (ByVal hWnd As LongPtr, ByVal msg As Long, ByVal wParam As LongPtr, ByRef lParam As LongPtr, ByVal fuFlags As Long, ByVal uTimeout As Long, ByRef lpdwResult As Long) As LongPtr
Private Declare PtrSafe Function ObjectFromLresult Lib "oleacc" (ByVal lResult As Long, ByRef riid As Currency, ByVal wParam As LongPtr, ppvObject As Any) As Long
Private Enum SMTO
NORMAL = 0
BLOCK = 1
ABORTIFHUNG = 2
NOTIMEOUTIFNOTHUNG = 8
End Enum
Sub test()
Dim hWnd As Long
hWnd = 136698
Set objDoc = GetHtmlDocument(hWnd)
'objDoc.Navigate ("https://www.google.co.jp/")
'Googleの検索窓に入力
objDoc.getElementsByName("q")(0).Value = "test"
End Sub
検証中のためハンドルも直接入力してますし
コードも他のサイトの転用したものだったりかなり端折ってますが
何か解りましたらよろしくお願いします
Private Declare PtrSafe Function CLSIDFromString Lib "ole32" (ByVal pString As LongPtr, ByRef pCLSID As Currency) As Long
Private Declare PtrSafe Function RegisterWindowMessageW Lib "user32" (ByVal lpString As LongPtr) As Long
Private Declare PtrSafe Function SendMessageTimeoutW Lib "user32" (ByVal hWnd As LongPtr, ByVal msg As Long, ByVal wParam As LongPtr, ByRef lParam As LongPtr, ByVal fuFlags As Long, ByVal uTimeout As Long, ByRef lpdwResult As Long) As LongPtr
Private Declare PtrSafe Function ObjectFromLresult Lib "oleacc" (ByVal lResult As Long, ByRef riid As Currency, ByVal wParam As LongPtr, ppvObject As Any) As Long
Private Enum SMTO
NORMAL = 0
BLOCK = 1
ABORTIFHUNG = 2
NOTIMEOUTIFNOTHUNG = 8
End Enum
Sub test()
Dim hWnd As Long
hWnd = 136698
Set objDoc = GetHtmlDocument(hWnd)
'objDoc.Navigate ("https://www.google.co.jp/")
'Googleの検索窓に入力
objDoc.getElementsByName("q")(0).Value = "test"
End Sub
79デフォルトの名無しさん (ワッチョイ 9701-IhC7)
2021/09/19(日) 14:06:52.91ID:IfToBfi40 続き
Public Function GetHtmlDocument(ByVal hWnd_InternetExplorer_Server As LongPtr, Optional ByVal uTimeout As Long = 1000, Optional ByVal documentVersion As Integer = 1) As Object ' As MSHTML.IHTMLDocument
Set GetHtmlDocument = Nothing
If documentVersion <= 0 Then
documentVersion = 1
ElseIf documentVersion >= 8 Then
documentVersion = 8
End If
Dim IID_IHTMLDocumentX As String
IID_IHTMLDocumentX = Split(",{626FC520-A41E-11cf-A731-00A0C9082637},{332c4425-26cb-11d0-b483-00c04fd90119},{3050f485-98b5-11cf-bb82-00aa00bdce0b},{3050f69a-98b5-11cf-bb82-00aa00bdce0b},{3050f80c-98b5-11cf-bb82-00aa00bdce0b},{30510417-98b5-11cf-bb82-00aa00bdce0b},{305104b8-98b5-11cf-bb82-00aa00bdce0b},{305107d0-98b5-11cf-bb82-00aa00bdce0b}", ",")(documentVersion - 1)
Dim InterfaceId(1) As Currency
Call CLSIDFromString(StrPtr(IID_IHTMLDocumentX), InterfaceId(0))
Dim lngMsg As Long
lngMsg = RegisterWindowMessageW(StrPtr("WM_HTML_GETOBJECT"))
If lngMsg <> 0 Then
Dim lpdwResult As Long
If SendMessageTimeoutW(hWnd_InternetExplorer_Server, lngMsg, 0, 0, SMTO.ABORTIFHUNG, uTimeout, lpdwResult) <> 0 Then
Dim hResult As Long
hResult = ObjectFromLresult(lpdwResult, InterfaceId(0), 0, GetHtmlDocument)
If hResult <> 0 Then
Err.Raise hResult
End If
End If
End If
End Function
Public Function GetHtmlDocument(ByVal hWnd_InternetExplorer_Server As LongPtr, Optional ByVal uTimeout As Long = 1000, Optional ByVal documentVersion As Integer = 1) As Object ' As MSHTML.IHTMLDocument
Set GetHtmlDocument = Nothing
If documentVersion <= 0 Then
documentVersion = 1
ElseIf documentVersion >= 8 Then
documentVersion = 8
End If
Dim IID_IHTMLDocumentX As String
IID_IHTMLDocumentX = Split(",{626FC520-A41E-11cf-A731-00A0C9082637},{332c4425-26cb-11d0-b483-00c04fd90119},{3050f485-98b5-11cf-bb82-00aa00bdce0b},{3050f69a-98b5-11cf-bb82-00aa00bdce0b},{3050f80c-98b5-11cf-bb82-00aa00bdce0b},{30510417-98b5-11cf-bb82-00aa00bdce0b},{305104b8-98b5-11cf-bb82-00aa00bdce0b},{305107d0-98b5-11cf-bb82-00aa00bdce0b}", ",")(documentVersion - 1)
Dim InterfaceId(1) As Currency
Call CLSIDFromString(StrPtr(IID_IHTMLDocumentX), InterfaceId(0))
Dim lngMsg As Long
lngMsg = RegisterWindowMessageW(StrPtr("WM_HTML_GETOBJECT"))
If lngMsg <> 0 Then
Dim lpdwResult As Long
If SendMessageTimeoutW(hWnd_InternetExplorer_Server, lngMsg, 0, 0, SMTO.ABORTIFHUNG, uTimeout, lpdwResult) <> 0 Then
Dim hResult As Long
hResult = ObjectFromLresult(lpdwResult, InterfaceId(0), 0, GetHtmlDocument)
If hResult <> 0 Then
Err.Raise hResult
End If
End If
End If
End Function
80デフォルトの名無しさん (ブーイモ MMbf-nVhm)
2021/09/19(日) 14:13:18.62ID:qcTxghfBM gethtmldocumentにnavigateあるのか?
81デフォルトの名無しさん (ワッチョイ bf8c-xsW+)
2021/09/19(日) 21:14:40.95ID:+Er1+t3H0 navigateじゃなくてcreateDocumentFromUrlじゃないの?
知らんけど
知らんけど
82デフォルトの名無しさん (ワッチョイ 9f6b-W1il)
2021/09/20(月) 00:12:39.27ID:wP8fgZ+m0 A1からA10000にデータが有って検索したい文字列があったとする。
この場合,範囲をdictionaryで調べるのと配列で調べるのは速度は同じぐらい??
この場合,範囲をdictionaryで調べるのと配列で調べるのは速度は同じぐらい??
83デフォルトの名無しさん (ワッチョイ 57da-nVhm)
2021/09/20(月) 00:16:46.79ID:GQS+gMma0 なぜ自分で試さないのか
84デフォルトの名無しさん (JP 0Hfb-qDHA)
2021/09/20(月) 02:45:51.50ID:KDTpyD+cH >>82
データがセルに入ってるならワークシート関数使った方が速い
データがセルに入ってるならワークシート関数使った方が速い
85デフォルトの名無しさん (ワッチョイ 9f6b-W1il)
2021/09/20(月) 10:43:06.46ID:wP8fgZ+m0 えっ?そうなの??
86デフォルトの名無しさん (ワッチョイ 9f6b-W1il)
2021/09/20(月) 10:44:41.60ID:wP8fgZ+m0 試しましたが、
コードはdictionaryのほうがすっきりした。
体感速度はあまり変わりませんでした。
コードはdictionaryのほうがすっきりした。
体感速度はあまり変わりませんでした。
87デフォルトの名無しさん (ワッチョイ 775f-FvVG)
2021/09/20(月) 10:54:05.02ID:9E+2eMtE0 かまってちゃんかよ
天気いいから散歩でもしてこいよ
天気いいから散歩でもしてこいよ
88デフォルトの名無しさん (ワッチョイ bf8c-xsW+)
2021/09/20(月) 11:55:16.12ID:djFT0hLf0 コード醸せよ
89デフォルトの名無しさん (スップ Sd3f-qDHA)
2021/09/20(月) 12:03:32.94ID:DYg0tonqd A・オリゼー
90デフォルトの名無しさん (ワッチョイ bf68-I2En)
2021/09/20(月) 12:27:59.43ID:lHEjG93V0 xxとyyどっちが早い、というのは本当に試した方が早い
バージョンアップで最適化されて、すげー早くなってる事がある
バージョンアップで最適化されて、すげー早くなってる事がある
91デフォルトの名無しさん (ワッチョイ b7da-muDX)
2021/09/20(月) 12:51:40.86ID:3QXihmxB0 >>87
別にかまってちゃんじゃなくて、回答に信頼性がないから自分で試したんだろう。誰かが信頼できそうな回答をくれたんだったら試さないと思うぞ。
別にかまってちゃんじゃなくて、回答に信頼性がないから自分で試したんだろう。誰かが信頼できそうな回答をくれたんだったら試さないと思うぞ。
92デフォルトの名無しさん (ブーイモ MMfb-nVhm)
2021/09/20(月) 13:12:45.31ID:26+LHXKYM ちゃんと結果まで書き込んでるんだから
質問だけしていなくなるやつもいる中で、優秀だと思うよ
質問だけしていなくなるやつもいる中で、優秀だと思うよ
93デフォルトの名無しさん (ラクッペペ MM8f-kX9c)
2021/09/20(月) 15:29:06.41ID:Ijs9yUmJM94デフォルトの名無しさん (ワッチョイ b7da-muDX)
2021/09/20(月) 15:32:05.91ID:3QXihmxB0 >>93
お前何代表者みたいな顔して怒ってんだよ、とチャチャを入れてみる(笑)
お前何代表者みたいな顔して怒ってんだよ、とチャチャを入れてみる(笑)
95デフォルトの名無しさん (アウアウウー Sa5b-ONKb)
2021/09/20(月) 16:38:36.67ID:my+lQwjla96デフォルトの名無しさん (ワッチョイ bf8c-xsW+)
2021/09/20(月) 16:58:36.07ID:djFT0hLf0 スルー力がない奴もセットて消えろ
97デフォルトの名無しさん (ワッチョイ b7da-muDX)
2021/09/20(月) 17:03:04.82ID:3QXihmxB0 >>96
お前もスルーしないと
お前もスルーしないと
98デフォルトの名無しさん (ワッチョイ ff68-qDHA)
2021/09/20(月) 17:07:29.03ID:FEM4xU2r0 子供か
99デフォルトの名無しさん (ワッチョイ b7da-muDX)
2021/09/20(月) 17:16:52.36ID:3QXihmxB0100デフォルトの名無しさん (ワッチョイ 775f-FvVG)
2021/09/20(月) 17:48:58.56ID:9E+2eMtE0 一番スルーしてない人が言うと説得力ある!
101デフォルトの名無しさん (オッペケ Srcb-KXEG)
2021/09/20(月) 18:05:45.62ID:Mz1RekPdr モジュールとボタンを別のブックにコピーしたくてできたと思ったんだけど
ボタンに登録されるマクロがコピー元のマクロになっちゃってとうすりゃええのか分からん
.OnAction=Thisbook&”マクロ名”とかじゃ動かないのね
ボタンに登録されるマクロがコピー元のマクロになっちゃってとうすりゃええのか分からん
.OnAction=Thisbook&”マクロ名”とかじゃ動かないのね
102デフォルトの名無しさん (アウアウウー Sa5b-ONKb)
2021/09/20(月) 18:30:41.29ID:aa1o0gq5a それコピーじゃなくてインポートしろよ
103デフォルトの名無しさん (ワッチョイ ff68-qDHA)
2021/09/20(月) 18:40:40.67ID:FEM4xU2r0 >>99
寂しいのか?
寂しいのか?
104デフォルトの名無しさん (ワッチョイ bf8c-xsW+)
2021/09/20(月) 21:44:55.52ID:djFT0hLf0 ボタンをインポート?
これも楽な方法があったらいいのにね
これも楽な方法があったらいいのにね
105デフォルトの名無しさん (ワッチョイ bf68-I2En)
2021/09/20(月) 21:51:19.19ID:lHEjG93V0 シート上のフォームコントロールを消す時って
・右クリックで選択
・コンテキストメニューをESCで消す
・切り取り、もしくは「deleteキー」
で合ってますか?
選択する時はF5キーのオブジェクトでもいいんですけど、
どちらにしろ右クリックで選択というのが何か気持ち悪い
・右クリックで選択
・コンテキストメニューをESCで消す
・切り取り、もしくは「deleteキー」
で合ってますか?
選択する時はF5キーのオブジェクトでもいいんですけど、
どちらにしろ右クリックで選択というのが何か気持ち悪い
106デフォルトの名無しさん (ワッチョイ bf68-I2En)
2021/09/20(月) 21:58:02.93ID:lHEjG93V0107デフォルトの名無しさん (ワッチョイ bf8c-xsW+)
2021/09/20(月) 21:58:44.81ID:djFT0hLf0 Ctrl+クリック
Delete
でいいんじゃない
Delete
でいいんじゃない
108デフォルトの名無しさん (ワッチョイ bf68-I2En)
2021/09/20(月) 22:10:20.73ID:lHEjG93V0 >>107
短縮できました、ありがとうございました
短縮できました、ありがとうございました
109デフォルトの名無しさん (アウアウアー Sa4f-1CsF)
2021/09/21(火) 16:59:19.72ID:6V+SG26ea private subのどのプロシージャーからでも、グローバル変数に入った値を取り出す方法として、
たとえばenvという標準モジュールを作り、そのなかで
public dim grobal_a as string
sub hoge
global_a = "aaaa"
end sub
とやっておき、
エクセルのブック起動と同時にこの初期値を入れておきたいので
thisWorkbookにcall hoge
ってやるの、普通?
たとえばenvという標準モジュールを作り、そのなかで
public dim grobal_a as string
sub hoge
global_a = "aaaa"
end sub
とやっておき、
エクセルのブック起動と同時にこの初期値を入れておきたいので
thisWorkbookにcall hoge
ってやるの、普通?
110デフォルトの名無しさん (ワッチョイ f732-KXEG)
2021/09/21(火) 18:19:02.19ID:Qqw1uu/Y0 >>106
標準モジュールのマクロですー…
標準モジュールのマクロですー…
111デフォルトの名無しさん (アウアウウー Sa5b-CdTX)
2021/09/21(火) 19:19:53.65ID:Bwxe0pHra >>110
シートに標準モジュールのやつを呼び出すSubを書いて、それをボタンから呼び出せばいい
シートに標準モジュールのやつを呼び出すSubを書いて、それをボタンから呼び出せばいい
112デフォルトの名無しさん (ワッチョイ d75f-EMRP)
2021/09/21(火) 20:47:40.27ID:bgKjXBpU0 >>109
まず変数のスコープ覚えようね
まず変数のスコープ覚えようね
113デフォルトの名無しさん (ワッチョイ ffda-qDHA)
2021/09/21(火) 21:06:44.82ID:0m2xZsmF0 >>109
普通は grobal_a と global_a の二つを一つにまとめると思う
普通は grobal_a と global_a の二つを一つにまとめると思う
114デフォルトの名無しさん (ワッチョイ bf68-I2En)
2021/09/21(火) 21:13:59.43ID:pV6hI0Vx0 >>110
全シートを選択してカットペーストでいけるだろ、と思ったら無理だった
VBEをVBAで動かすしか無いと思う。
https://jizilog.com/vba-modadd
http://officetanaka.net/excel/vba/vbe/07.htm
全シートを選択してカットペーストでいけるだろ、と思ったら無理だった
VBEをVBAで動かすしか無いと思う。
https://jizilog.com/vba-modadd
http://officetanaka.net/excel/vba/vbe/07.htm
115デフォルトの名無しさん (ワッチョイ bf68-I2En)
2021/09/21(火) 21:29:23.86ID:pV6hI0Vx0116デフォルトの名無しさん (ワッチョイ 9f4f-CwtL)
2021/09/22(水) 07:59:00.83ID:ucS/NBRX0 >>109
普通か普通ではないか、と言われれば普通ではないかなぁ。
ではどこが、と言われるとまずモジュール変数をグローバル指定しているところはPrivateにして外部から呼び出す用のプロパティに組み込む。これでどこかで値が変更されてもブレイクポイント仕掛けてどこで呼び出されて値が変更されたかを確認出来るようになる。
あと、初期化用の関数はPublic指定にしておかないと別のモジュールから呼び出せないよ。ThisWorkbookから呼び出すんでしょ?
普通か普通ではないか、と言われれば普通ではないかなぁ。
ではどこが、と言われるとまずモジュール変数をグローバル指定しているところはPrivateにして外部から呼び出す用のプロパティに組み込む。これでどこかで値が変更されてもブレイクポイント仕掛けてどこで呼び出されて値が変更されたかを確認出来るようになる。
あと、初期化用の関数はPublic指定にしておかないと別のモジュールから呼び出せないよ。ThisWorkbookから呼び出すんでしょ?
117デフォルトの名無しさん (アウアウクー MMcb-1CsF)
2021/09/22(水) 08:55:25.77ID:h9k7055fM ありがとうございます
118デフォルトの名無しさん (アウアウクー MMcb-1CsF)
2021/09/22(水) 08:56:23.60ID:h9k7055fM constやってみます
119デフォルトの名無しさん (アウアウウー Sa5b-JqwS)
2021/09/22(水) 11:22:09.41ID:QukUYkwCa120デフォルトの名無しさん (ワッチョイ f72f-fBlf)
2021/09/22(水) 15:13:16.34ID:XBxd6ZoY0 書籍「イヤンもう!最初からそう教えてくれればいいのに!ExcelVBAのプログラミングのツボとコツがゼッタイにわかる本」の評判はどうですか?買うか検討中なのですが。
121デフォルトの名無しさん (アウアウウー Sa5b-ONKb)
2021/09/22(水) 19:17:45.16ID:igHuaWyKa >>120
ゼッタイにわかる本系の口語調文章に抵抗がないラノベ好きには良いんじゃない?
ゼッタイにわかる本系の口語調文章に抵抗がないラノベ好きには良いんじゃない?
122デフォルトの名無しさん (アウアウウー Sa5b-ONKb)
2021/09/22(水) 19:18:09.88ID:igHuaWyKa >>120
ゼッタイにわかる本系の口語調文章に抵抗がない人には良いんじゃない?
ゼッタイにわかる本系の口語調文章に抵抗がない人には良いんじゃない?
123デフォルトの名無しさん (アウアウウー Sa5b-ONKb)
2021/09/22(水) 19:19:18.20ID:igHuaWyKa なにこのエラー去勢された
124デフォルトの名無しさん (JP 0Hfb-qDHA)
2021/09/22(水) 19:35:51.24ID:wAf2i/6rH >>120
人それぞれ印象が違うから、参考書は最初の2、3ページ立ち読みして自分で決めるのがいいよ
人それぞれ印象が違うから、参考書は最初の2、3ページ立ち読みして自分で決めるのがいいよ
125デフォルトの名無しさん (ワッチョイ bf68-I2En)
2021/09/22(水) 20:05:10.79ID:anCt84pS0 イヤンもう
って言うから検索したら特にそんな単語ついてないじゃないですか
って言うから検索したら特にそんな単語ついてないじゃないですか
126デフォルトの名無しさん (スフッ Sdbf-qDHA)
2021/09/22(水) 21:46:48.06ID:Th7N/2yOd127デフォルトの名無しさん (ワッチョイ bf68-I2En)
2021/09/22(水) 22:05:18.59ID:anCt84pS0 若い子が水着姿で教えるVBAの本なら簡単に死ぬほど売れるのでは?と思った
128デフォルトの名無しさん (ワッチョイ 775f-CdTX)
2021/09/22(水) 22:14:11.23ID:ER/2UqvV0 そもそもVBA自体がオッサン臭い言語
129デフォルトの名無しさん (ブーイモ MMdb-eTB/)
2021/09/22(水) 22:16:41.63ID:cVN8rRFZM そもそも5ch自体がオッサン臭い場所
130デフォルトの名無しさん (ブーイモ MMcf-nVhm)
2021/09/22(水) 22:21:20.29ID:RvuuvfBjM そもそもオッサンしかいない
131デフォルトの名無しさん (ワッチョイ d710-Lkdu)
2021/09/22(水) 23:01:12.21ID:LAnicbtO0 VBAとか作業記録してそれループするなり可変したりするなりちょっと直せば誰でも作れるからな
132デフォルトの名無しさん (アウアウウー Sa5b-ONKb)
2021/09/22(水) 23:14:36.78ID:jBUNeyMwa 「はたらくプログラミング 」
「高校生からはじめる プログラミング」
「メイクロックマン 史上最大のプログラミング」
「独学プログラマー Python言語の基本から仕事のやり方まで」
のようなアニメやゲームキャラやイケメンを
採用して若い子にアピールするとか
「乙女チック4Gamer」第267回:
「推しと学べるプログラミング」
初心者も学べるプログラミング学習ゲーム
とか
美少女×プログラミング学習×ソーシャルゲーム『コードガールこれくしょん』
とかゲームで呼び込み
恋のプログラミング~ダメ男の見分け方~ DVD-BOX2
のようなDVDを付録に付けてみたりとか
とかとにかくVBAもなんとか頑張って欲しい
「高校生からはじめる プログラミング」
「メイクロックマン 史上最大のプログラミング」
「独学プログラマー Python言語の基本から仕事のやり方まで」
のようなアニメやゲームキャラやイケメンを
採用して若い子にアピールするとか
「乙女チック4Gamer」第267回:
「推しと学べるプログラミング」
初心者も学べるプログラミング学習ゲーム
とか
美少女×プログラミング学習×ソーシャルゲーム『コードガールこれくしょん』
とかゲームで呼び込み
恋のプログラミング~ダメ男の見分け方~ DVD-BOX2
のようなDVDを付録に付けてみたりとか
とかとにかくVBAもなんとか頑張って欲しい
133デフォルトの名無しさん (ワッチョイ ff10-dWRi)
2021/09/22(水) 23:55:17.87ID:ToEmXEKY0 オレも1冊3000円くらいのVBAの本買ったわ
その本をキーボードの下奥に置くと角度が良い感じになるんだわ
手首が疲れないし、職場でもなんか「やってる」感がかもし出せるし、本当に買って良かったと思える1冊だったな
その本をキーボードの下奥に置くと角度が良い感じになるんだわ
手首が疲れないし、職場でもなんか「やってる」感がかもし出せるし、本当に買って良かったと思える1冊だったな
134デフォルトの名無しさん (アウアウウー Sa5b-hED7)
2021/09/23(木) 00:25:56.19ID:1QHTb9H7a 全国フェミニスト議員連盟が半泣き←いまここ
https://www.tokyo-np.co.jp/article/132305
https://www.tokyo-np.co.jp/article/132305
135デフォルトの名無しさん (ワッチョイ 9f4f-CwtL)
2021/09/23(木) 00:27:06.21ID:4aFmMHLK0 >>132
ん。
昔、EXCELVBAゲーム大作戦とかいう本が出てたよ。まぁVBAも昔からあるからゲーム作るのも先駆者がいたんだね。
けど、結局難しいというか、お仕事で覚えることとベクトルが違うんだよ。1/60秒単位で押されているキーの値読み取って、キャラクターや地形描いてその当たり判定行なったりね。
まぁ暇でそういうの作ってみたいというのにはいいかもだけど、お仕事でVBA使うのの興味を持つために、というのにはちょっと重いかもね。
ん。
昔、EXCELVBAゲーム大作戦とかいう本が出てたよ。まぁVBAも昔からあるからゲーム作るのも先駆者がいたんだね。
けど、結局難しいというか、お仕事で覚えることとベクトルが違うんだよ。1/60秒単位で押されているキーの値読み取って、キャラクターや地形描いてその当たり判定行なったりね。
まぁ暇でそういうの作ってみたいというのにはいいかもだけど、お仕事でVBA使うのの興味を持つために、というのにはちょっと重いかもね。
136デフォルトの名無しさん (ワッチョイ bf68-I2En)
2021/09/23(木) 00:56:08.87ID:O9y54sVl0137デフォルトの名無しさん (ワッチョイ bf68-I2En)
2021/09/23(木) 00:59:12.19ID:O9y54sVl0 vbaでゲームは基本的にかなりめんどくさい
メインのループ処理がキツイ
定期的に処理をエクセルに返してあげないと色々と不具合が起きる
曲芸でなければvbaで作るのは絶対に避けたほうが良い
メインのループ処理がキツイ
定期的に処理をエクセルに返してあげないと色々と不具合が起きる
曲芸でなければvbaで作るのは絶対に避けたほうが良い
138デフォルトの名無しさん (ワッチョイ 9fad-qDHA)
2021/09/23(木) 09:34:39.93ID:MTBJM7920 2つあるフレームの位置を調整していたら、
フレームAをフレームBの中にドラッグしてしまったらしく、
2つのフレームが一緒になってしまいました。
プロパティウィンドウを見ると、フレームAはまだ存在するのですが、
画面上にはフレームBしか表示されていないため、Aを選択することができず、
AをBから分離することができません。
AのLeftやTopを変更してみましたが、画面上に変化はありませんでした。
何かいい解決法があれば教えてください。
フレームAをフレームBの中にドラッグしてしまったらしく、
2つのフレームが一緒になってしまいました。
プロパティウィンドウを見ると、フレームAはまだ存在するのですが、
画面上にはフレームBしか表示されていないため、Aを選択することができず、
AをBから分離することができません。
AのLeftやTopを変更してみましたが、画面上に変化はありませんでした。
何かいい解決法があれば教えてください。
139デフォルトの名無しさん (ワッチョイ 9fad-qDHA)
2021/09/23(木) 09:39:09.54ID:MTBJM7920 自己解決しました。
@プロパティウィンドウでプルダウンからフレームAを選択する。
ACtrl+[A]で全選択した後、Ctrl+[X]で切り取り状態にする。
BフレームBのエリア外にマウスカーソルを持っていき、Ctrl+[V]で貼り付ける。
@プロパティウィンドウでプルダウンからフレームAを選択する。
ACtrl+[A]で全選択した後、Ctrl+[X]で切り取り状態にする。
BフレームBのエリア外にマウスカーソルを持っていき、Ctrl+[V]で貼り付ける。
140デフォルトの名無しさん (ワッチョイ bf68-I2En)
2021/09/23(木) 11:52:58.11ID:O9y54sVl0 おめ〜^^
141デフォルトの名無しさん (アウアウウー Sa5b-ONKb)
2021/09/23(木) 13:11:17.06ID:cmFu96z6a >>139
たった5分も考える事が出来んのか
たった5分も考える事が出来んのか
142デフォルトの名無しさん (テテンテンテン MM8f-vJdV)
2021/09/23(木) 13:48:48.21ID:tEWlRRfOM せっかく解決策書いてくれてるのにイチャモンつけるバカって何を考えてるんだろ…
143デフォルトの名無しさん (ワッチョイ ff68-qDHA)
2021/09/23(木) 13:53:17.23ID:DsLS3pBM0 ただの寂しがり屋の暇つぶしとか
144デフォルトの名無しさん (ブーイモ MMfb-nVhm)
2021/09/23(木) 13:59:57.49ID:5gST2jZHM 黙って去るやつよりよっぽどいいんだが
145デフォルトの名無しさん (オッペケ Srcb-C0eV)
2021/09/23(木) 14:03:41.04ID:F4JAOFkVr 配列からグラフを書いたときってデータ数の上限はありますか?
その場合どのように対処すれば良いですか?
その場合どのように対処すれば良いですか?
146デフォルトの名無しさん (ワッチョイ 9f02-IhC7)
2021/09/23(木) 14:08:33.29ID:KMctW7zL0147デフォルトの名無しさん (ブーイモ MMbf-nVhm)
2021/09/23(木) 14:45:47.29ID:gN04ENXIM >>145
その場合はデータをコンパクトにまとめるしかなくね
その場合はデータをコンパクトにまとめるしかなくね
148デフォルトの名無しさん (テテンテンテン MM8f-vJdV)
2021/09/23(木) 14:47:47.80ID:dUOklB1+M149デフォルトの名無しさん (ワッチョイ bf8c-xsW+)
2021/09/23(木) 15:12:01.32ID:AtVLca4O0 系列数に上限がいかにもありそう 255とか
150デフォルトの名無しさん (ワッチョイ bf8c-xsW+)
2021/09/23(木) 15:22:04.38ID:AtVLca4O0151デフォルトの名無しさん (ワッチョイ ffda-qDHA)
2021/09/23(木) 18:38:01.80ID:rxtBh7Jj0152デフォルトの名無しさん (オッペケ Srcb-C0eV)
2021/09/23(木) 18:52:18.65ID:c0lh6Lzfr ごめんなさい
セルからではなく配列から直接グラフを読み込むときの話です。
自分の場合配列から散布図書いてて
データ数が15000?あたりから表示されなくなったので
セルからではなく配列から直接グラフを読み込むときの話です。
自分の場合配列から散布図書いてて
データ数が15000?あたりから表示されなくなったので
153デフォルトの名無しさん (ワッチョイ ffda-qDHA)
2021/09/23(木) 20:46:47.80ID:rxtBh7Jj0 だからメモリ少ないんじゃね
154デフォルトの名無しさん (ワッチョイ c23d-4IKK)
2021/09/24(金) 16:28:38.47ID:GLO6/yx90 VBAで、リボンを常に表示させるてことできるんですか?
ググると
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", True)"
ていうのが出てくるんですが、
”タブとコマンドの表示”ていう状態にしたい。
ググると
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", True)"
ていうのが出てくるんですが、
”タブとコマンドの表示”ていう状態にしたい。
155デフォルトの名無しさん (ワッチョイ 175f-n+Jo)
2021/09/24(金) 18:53:45.39ID:towOKsyE0 If Application.CommandBars.GetPressedMso("MinimizeRibbon") = True Then
Application.CommandBars.ExecuteMso "MinimizeRibbon"
End If
Application.CommandBars.ExecuteMso "MinimizeRibbon"
End If
156デフォルトの名無しさん (ワッチョイ c23d-4IKK)
2021/09/25(土) 02:37:13.36ID:p3qnNTxE0157デフォルトの名無しさん (ワッチョイ 7f7c-q3+A)
2021/09/25(土) 06:01:58.81ID:A2HuAdJq0 なんでだと思う?
158デフォルトの名無しさん (ワッチョイ 1e68-wYsx)
2021/09/25(土) 07:24:00.70ID:i7f0lbxJ0 しっかりと自分で考える事が大事!向上心をもって勉強しよう!
159デフォルトの名無しさん (ワッチョイ b35f-8sCx)
2021/09/25(土) 07:50:31.86ID:xUBmE3KO0 ひろゆきのクラスモジュールの説明は的確で分かりやすかった
160デフォルトの名無しさん (ワッチョイ b35f-8sCx)
2021/09/25(土) 07:51:02.02ID:xUBmE3KO0 クラスモジュールというよりはオブジェクト指向か
161デフォルトの名無しさん (ササクッテロラ Sp47-WaYq)
2021/09/25(土) 13:59:25.45ID:QZokVoY5p このスレにはクラスとかオブジェクト指向とかいうと、ファビョって「マウント取りに来たー!!」とか騒ぐじじいがいるから気をつけた方がいいぞ
162デフォルトの名無しさん (ブーイモ MM0e-ml4o)
2021/09/25(土) 14:23:54.16ID:ADwaIx4kM 5chはじじいの巣窟ですよ。
子供は他所で遊んだ方が良いですよ。
子供は他所で遊んだ方が良いですよ。
163デフォルトの名無しさん (アウアウキー Saef-nXzz)
2021/09/25(土) 15:09:26.96ID:kjOWSdg4a >>161
聞く方もじじいだし
聞く方もじじいだし
164デフォルトの名無しさん (ササクッテロレ Sp47-2mxq)
2021/09/25(土) 22:54:03.42ID:/8ShLWKPp エクセル詳しい方にご質問。
保護シートの「オートフィルター使用」にチェックつけてる状態で、
Range(Cells(1,1),Cells(1,5)).AutoFilterを実行すると保護解除しろと言われるのですが、原因わかりますか?
Rangeで指定しているセル範囲の保護を外しても言われる始末。
オートフィルターの使用を許可すりゃ通るもんだと思ってました。
見えない仕組みとか、基本的な仕様を見逃してるんかなぁ…
保護シートの「オートフィルター使用」にチェックつけてる状態で、
Range(Cells(1,1),Cells(1,5)).AutoFilterを実行すると保護解除しろと言われるのですが、原因わかりますか?
Rangeで指定しているセル範囲の保護を外しても言われる始末。
オートフィルターの使用を許可すりゃ通るもんだと思ってました。
見えない仕組みとか、基本的な仕様を見逃してるんかなぁ…
165デフォルトの名無しさん (ワッチョイ e32f-6iP1)
2021/09/25(土) 23:52:15.96ID:wPvtJ2EG0 >>164
オートフィルターのオンオフはできないのが仕様だな
https://support.microsoft.com/ja-jp/office/%e3%83%af%e3%83%bc%e3%82%af%e3%82%b7%e3%83%bc%e3%83%88%e3%82%92%e4%bf%9d%e8%ad%b7%e3%81%99%e3%82%8b-3179efdb-1285-4d49-a9c3-f4ca36276de6?ns=excel&version=90&syslcid=1041&uilcid=1041&appver=zxl900&helpid=21290&ui=ja-jp&rs=ja-jp&ad=jp
注: ユーザーは、この設定に関係なく、保護されたワークシートでオートフィルターを適用または削除できません。
オートフィルターのオンオフはできないのが仕様だな
https://support.microsoft.com/ja-jp/office/%e3%83%af%e3%83%bc%e3%82%af%e3%82%b7%e3%83%bc%e3%83%88%e3%82%92%e4%bf%9d%e8%ad%b7%e3%81%99%e3%82%8b-3179efdb-1285-4d49-a9c3-f4ca36276de6?ns=excel&version=90&syslcid=1041&uilcid=1041&appver=zxl900&helpid=21290&ui=ja-jp&rs=ja-jp&ad=jp
注: ユーザーは、この設定に関係なく、保護されたワークシートでオートフィルターを適用または削除できません。
166デフォルトの名無しさん (ワッチョイ 12ad-zD50)
2021/09/26(日) 00:17:38.53ID:BPwZjS350 とあるフォルダへのショートカットを作成する方法を調べたところ、
コーディング前に、
>参照設定は、VBA画面→ツールメニュー→参照設定で「Windows Script Host Object Model」を選択します。
>これでWshShellクラスとWshShortcutクラスを利用できるようになります。
という記述がありました。
それで作れそうですが、
作った.xlsmファイルを他人に渡した場合、
その相手が上記の参照設定をしていない環境だったとしても、ショートカットの作成は行えますか?
コーディング前に、
>参照設定は、VBA画面→ツールメニュー→参照設定で「Windows Script Host Object Model」を選択します。
>これでWshShellクラスとWshShortcutクラスを利用できるようになります。
という記述がありました。
それで作れそうですが、
作った.xlsmファイルを他人に渡した場合、
その相手が上記の参照設定をしていない環境だったとしても、ショートカットの作成は行えますか?
167デフォルトの名無しさん (ササクッテロレ Sp47-2mxq)
2021/09/26(日) 00:44:49.64ID:vU9Y5LAHp >>165
ご回答頂きありがとうございます。
こういう基本的な説明くらい最初から見とけって話でしたね。
しかし、シートの保護とAutoFilterを両立できないとは、痒いところに手が届かない仕様ですな。
ご回答頂きありがとうございます。
こういう基本的な説明くらい最初から見とけって話でしたね。
しかし、シートの保護とAutoFilterを両立できないとは、痒いところに手が届かない仕様ですな。
168デフォルトの名無しさん (ワッチョイ 175f-MM2B)
2021/09/26(日) 01:37:23.16ID:O844yIU50 >>167
オートフィルターON/OFFと同時にシートの保護/解除も書いてしまえばいいんでないの?
オートフィルターON/OFFと同時にシートの保護/解除も書いてしまえばいいんでないの?
169デフォルトの名無しさん (ワッチョイ 12ad-zD50)
2021/09/26(日) 01:39:32.52ID:BPwZjS350 >>166
自己解決しました。
参照設定を変更しなくてもショートカットの作成は可能でした。
そちらの方法にします。
https://excel-ubara.com/excelvba4/EXCEL293.html
自己解決しました。
参照設定を変更しなくてもショートカットの作成は可能でした。
そちらの方法にします。
https://excel-ubara.com/excelvba4/EXCEL293.html
170デフォルトの名無しさん (ワッチョイ 12ad-zD50)
2021/09/26(日) 01:46:25.94ID:BPwZjS350 ちなみに、
@参照設定で「Windows Script Host Object Model」をONにする。
AWshShellクラスとWshShortcutクラスを利用してコーディングする。
Bプログラムを実行する。
Cショートカットの作成に成功する。
D参照設定で「Windows Script Host Object Model」をOFFにする。
Eプログラムを実行する。
Fショートカットの作成に失敗する。(Aの中の定義について「ユーザ定義型は定義されていません」のエラー)
となったので、
>>166については、相手にも参照設定をしてもらわないとショートカットの作成は行えない、ということだと思います。
@参照設定で「Windows Script Host Object Model」をONにする。
AWshShellクラスとWshShortcutクラスを利用してコーディングする。
Bプログラムを実行する。
Cショートカットの作成に成功する。
D参照設定で「Windows Script Host Object Model」をOFFにする。
Eプログラムを実行する。
Fショートカットの作成に失敗する。(Aの中の定義について「ユーザ定義型は定義されていません」のエラー)
となったので、
>>166については、相手にも参照設定をしてもらわないとショートカットの作成は行えない、ということだと思います。
171デフォルトの名無しさん (ササクッテロレ Sp47-2mxq)
2021/09/26(日) 01:51:41.55ID:vU9Y5LAHp172デフォルトの名無しさん (ワッチョイ e32f-pveB)
2021/09/26(日) 15:56:59.18ID:ynzNBMLj0173デフォルトの名無しさん (アウアウクー MM87-b517)
2021/09/26(日) 18:28:19.91ID:6z2Q/VJPM 二次元配列の第三カラムが重複していたらレコードまるごと排除して、かつ排除された分のレコードを別シートに転記することってできます?
連想配列に入れておけば重複してたらわかるようになるけど、そういう方法ってまとも?
連想配列に入れておけば重複してたらわかるようになるけど、そういう方法ってまとも?
174デフォルトの名無しさん (ワッチョイ 3710-Lx95)
2021/09/26(日) 18:29:58.19ID:Fsa0c3oL0 第三限定なの?
175デフォルトの名無しさん (ワッチョイ d6da-zD50)
2021/09/26(日) 19:28:17.19ID:HYuUGx6O0 できるかどうかではなく、そういう処理を作りたいんじゃないの?
176デフォルトの名無しさん (ブーイモ MM0e-MTek)
2021/09/26(日) 21:42:42.58ID:hcQxkCQHM 配列とレコードとシートの区別ない人だね
177デフォルトの名無しさん (ワッチョイ 0349-PXWQ)
2021/09/26(日) 23:35:14.87ID:ISHRJ32V0 そういう方法で重複チェックをしたことはあるけど
それがまともかと聞かれるとわからんなぁ
それがまともかと聞かれるとわからんなぁ
178デフォルトの名無しさん (ワッチョイ e32f-pveB)
2021/09/27(月) 17:52:26.41ID:wG/2iXK70 配列は要素数が増減するものには向いてない
が、まあいろいろ頑張ればできる
連想配列でわかるのは、入れようとしたときに重複するかどうかで、そもそも重複したものは入っていないだろ
が、まあいろいろ頑張ればできる
連想配列でわかるのは、入れようとしたときに重複するかどうかで、そもそも重複したものは入っていないだろ
179デフォルトの名無しさん (ワッチョイ 1e68-wYsx)
2021/09/27(月) 21:07:52.71ID:9JOCRyj50 >配列は要素数が増減するものには向いてない
「vbaの」配列な
他の言語にはpushとか色々便利なものがあるんやで
「vbaの」配列な
他の言語にはpushとか色々便利なものがあるんやで
180デフォルトの名無しさん (ワッチョイ b35f-AXm8)
2021/09/27(月) 21:09:45.06ID:1fIlBTl00 Excelにはセルっていう使いやすい2次元配列があるからな
速度はご愛嬌
速度はご愛嬌
181デフォルトの名無しさん (ワッチョイ 1e68-wYsx)
2021/09/27(月) 23:17:35.36ID:9JOCRyj50 シート入れれば三次元やぞ
182デフォルトの名無しさん (ドコグロ MM33-c1VD)
2021/09/28(火) 06:06:35.41ID:NhFpYAOsM >>179
> 他の言語にはpushとか色々便利なものがあるんやで
スクリプト言語とかだろそれ
言語自体の機能として配列のサイズを変えられる言語はそんなに多くないよ
そもそもVBAはその多くない言語に含まれるし
> 他の言語にはpushとか色々便利なものがあるんやで
スクリプト言語とかだろそれ
言語自体の機能として配列のサイズを変えられる言語はそんなに多くないよ
そもそもVBAはその多くない言語に含まれるし
183デフォルトの名無しさん (ワッチョイ 124f-WaYq)
2021/09/28(火) 11:35:58.86ID:mkxQja700 無いものねだりしてもしょうがない
そもそも他言語やっててVBAやった場合
ない機能をどうやって実装するか考えるのが
醍醐味なんだから
そもそも他言語やっててVBAやった場合
ない機能をどうやって実装するか考えるのが
醍醐味なんだから
184デフォルトの名無しさん (ワッチョイ 92ad-mV7G)
2021/09/28(火) 12:14:47.38ID:fFhZgLlN0185デフォルトの名無しさん (ドコグロ MM33-c1VD)
2021/09/28(火) 13:45:05.92ID:T/P4fEdFM186デフォルトの名無しさん (ブーイモ MMde-MTek)
2021/09/28(火) 15:11:07.44ID:8+n9QyO8M 今の時代、メモリなんてたくさん確保しておけばよくね
187デフォルトの名無しさん (ワッチョイ 6f8e-emG0)
2021/09/28(火) 15:43:04.78ID:ZLV/p08A0 「たくさん」と言ったってワークステーションやサーバ系のハードウェアでない限りせいぜい64GBか128GBが上限では?
188デフォルトの名無しさん (ブーイモ MM0e-MTek)
2021/09/28(火) 15:46:57.39ID:9IVurO/LM お、おう
189デフォルトの名無しさん (ワッチョイ 4be5-XWMK)
2021/09/28(火) 16:43:48.67ID:yyyanN8B0 64KBまでだよ
190デフォルトの名無しさん (ワッチョイ 4fac-ewuB)
2021/09/28(火) 16:48:32.26ID:vws8rDV40 VBA(Excel)にそんなメモリ使わせたらヒヤヒヤしちゃう
191デフォルトの名無しさん (ワッチョイ 96bb-PL4X)
2021/09/28(火) 17:35:37.46ID:Fgmzo9M90 long配列の下位16ビットにデータ格納されている
long[0],[1]の下位16ビットを結合するとsingleの値となる
(要はsingleが16ビット分割されてlong型に格納されている)
こんなデータが大量に格納されるんですが、上手く結合して型変換する方法がわかりません。。
val("&H" & hex(long(1)) & hex(long(0)))
で32ビット結合はできましたが、その後の暗黙的な変換なしでsingleに変更するにはどうするのが良いでしょうか?
long[0],[1]の下位16ビットを結合するとsingleの値となる
(要はsingleが16ビット分割されてlong型に格納されている)
こんなデータが大量に格納されるんですが、上手く結合して型変換する方法がわかりません。。
val("&H" & hex(long(1)) & hex(long(0)))
で32ビット結合はできましたが、その後の暗黙的な変換なしでsingleに変更するにはどうするのが良いでしょうか?
192デフォルトの名無しさん (ワッチョイ 0349-PXWQ)
2021/09/28(火) 18:37:14.39ID:nfdxFkKa0 リアルタイムにやる必要が無いならバイナリでファイルに書いて
Singleで読むとか出来そうな気がする。
同じ考え方でADODB.stremも使えそう。
Singleで読むとか出来そうな気がする。
同じ考え方でADODB.stremも使えそう。
193デフォルトの名無しさん (スップ Sd32-zD50)
2021/09/28(火) 20:20:03.83ID:chK2kmIxd >>191
禁じ手だけどユーザー定義型とLSetで変数の中身を型変換せずに直接コピーできる
LongをSingleにコピーする例
Type TypeLong
varLong As Long
End Type
Type TypeSingle
varSingle As Single
End Type
Sub Long2Single()
Dim myLong As TypeLong
Dim mySingle As TypeSingle
LSet mySingle = myLong
End Sub
禁じ手だけどユーザー定義型とLSetで変数の中身を型変換せずに直接コピーできる
LongをSingleにコピーする例
Type TypeLong
varLong As Long
End Type
Type TypeSingle
varSingle As Single
End Type
Sub Long2Single()
Dim myLong As TypeLong
Dim mySingle As TypeSingle
LSet mySingle = myLong
End Sub
194デフォルトの名無しさん (ワッチョイ 124f-E55q)
2021/09/28(火) 21:06:13.76ID:mkxQja700 >>191
ん?
今一つよく分からんけど、CSng使って明示的に変換すればいいんじゃないの?
Sub Convert()
Dim originalValue(1) As Long
Dim convertSingle As Single
originalValue(0) = 1
originalValue(1) = 3
convertSingle = CSng(CDbl(originalValue(0) And 65535)) * 65536 + (originalValue(1) And 65535)
Debug.Print convertSingle
End Sub
こんな感じに。
オーバーフローして表示しきれなくなった分は知らんけど。
ん?
今一つよく分からんけど、CSng使って明示的に変換すればいいんじゃないの?
Sub Convert()
Dim originalValue(1) As Long
Dim convertSingle As Single
originalValue(0) = 1
originalValue(1) = 3
convertSingle = CSng(CDbl(originalValue(0) And 65535)) * 65536 + (originalValue(1) And 65535)
Debug.Print convertSingle
End Sub
こんな感じに。
オーバーフローして表示しきれなくなった分は知らんけど。
195デフォルトの名無しさん (ワッチョイ 124f-E55q)
2021/09/28(火) 21:56:37.27ID:mkxQja700 おっと、すまんこ
括弧の位置間違えてた
Option Explicit
Sub Convert()
Dim originalValue(1) As Long
Dim convertSingle As Single
originalValue(0) = 7
originalValue(1) = 15
convertSingle = CSng(CDbl(originalValue(0) And 65535) * 65536 + (originalValue(1) And 65535))
Debug.Print convertSingle
End Sub
こうかな。
因みにビット扱っているなら説明すると失礼に当たるかもだけど、
65535は16進で&HFFFF、65536は16進で&H10000ね。
ANDは論理演算子ではなくてビット演算子。
括弧の位置間違えてた
Option Explicit
Sub Convert()
Dim originalValue(1) As Long
Dim convertSingle As Single
originalValue(0) = 7
originalValue(1) = 15
convertSingle = CSng(CDbl(originalValue(0) And 65535) * 65536 + (originalValue(1) And 65535))
Debug.Print convertSingle
End Sub
こうかな。
因みにビット扱っているなら説明すると失礼に当たるかもだけど、
65535は16進で&HFFFF、65536は16進で&H10000ね。
ANDは論理演算子ではなくてビット演算子。
196デフォルトの名無しさん (ワッチョイ e32f-pveB)
2021/09/29(水) 02:45:23.84ID:DNRsGaHg0197デフォルトの名無しさん (ワッチョイ e32f-pveB)
2021/09/29(水) 02:50:45.14ID:DNRsGaHg0 とりあえず作ってみた
エンディアンの呪いがかかってても知らんw
Type TypeQByte
varByte1 As Byte
varByte2 As Byte
varByte3 As Byte
varByte4 As Byte
End Type
Type TypeLong
varLong As Long
End Type
Type TypeSingle
varSingle As Single
End Type
Function WLong2Single(ByVal long1 As Long, ByVal long2 As Long) As Single
Dim myLong1 As TypeLong
Dim myLong2 As TypeLong
Dim myQByte As TypeQByte
Dim tmpQByte As TypeQByte
Dim mySingle As TypeSingle
myLong1.varLong = long1
myLong2.varLong = long2
LSet tmpQByte = myLong1
myQByte.varByte1 = tmpQByte.varByte3
myQByte.varByte2 = tmpQByte.varByte4
LSet tmpQByte = myLong2
myQByte.varByte3 = tmpQByte.varByte3
myQByte.varByte4 = tmpQByte.varByte4
LSet mySingle = myQByte
WLong2Single = mySingle.varSingle
End Function
エンディアンの呪いがかかってても知らんw
Type TypeQByte
varByte1 As Byte
varByte2 As Byte
varByte3 As Byte
varByte4 As Byte
End Type
Type TypeLong
varLong As Long
End Type
Type TypeSingle
varSingle As Single
End Type
Function WLong2Single(ByVal long1 As Long, ByVal long2 As Long) As Single
Dim myLong1 As TypeLong
Dim myLong2 As TypeLong
Dim myQByte As TypeQByte
Dim tmpQByte As TypeQByte
Dim mySingle As TypeSingle
myLong1.varLong = long1
myLong2.varLong = long2
LSet tmpQByte = myLong1
myQByte.varByte1 = tmpQByte.varByte3
myQByte.varByte2 = tmpQByte.varByte4
LSet tmpQByte = myLong2
myQByte.varByte3 = tmpQByte.varByte3
myQByte.varByte4 = tmpQByte.varByte4
LSet mySingle = myQByte
WLong2Single = mySingle.varSingle
End Function
198デフォルトの名無しさん (スップ Sd52-zD50)
2021/09/29(水) 03:32:54.18ID:hT//j47fd VBAには共用体もポインタもないから、
LSetでメモリの内容をコピー
バイナリファイル経由
IEEEの内部フォーマットに合わせてゴリゴリ計算
ぐらいしか思い付かん
この中ではLsetが一番シンプルだし高速
上位、下位の順番が分からんから適当に書くけど、基本的にはこんな感じ
MyLong = Long0 * &h10000 + Long1
Lset MySingle = MyLong
C#とか使えばもっと簡単にできるんで、そもそもこの作業はVBAに向いてない
LSetでメモリの内容をコピー
バイナリファイル経由
IEEEの内部フォーマットに合わせてゴリゴリ計算
ぐらいしか思い付かん
この中ではLsetが一番シンプルだし高速
上位、下位の順番が分からんから適当に書くけど、基本的にはこんな感じ
MyLong = Long0 * &h10000 + Long1
Lset MySingle = MyLong
C#とか使えばもっと簡単にできるんで、そもそもこの作業はVBAに向いてない
199デフォルトの名無しさん (ワッチョイ e32f-pveB)
2021/09/29(水) 04:17:58.49ID:DNRsGaHg0200デフォルトの名無しさん (スプッッ Sdea-zD50)
2021/09/29(水) 05:23:25.92ID:HULqg2bxd 符号ビット対策
64bit限定ならLongLong型を経由すればもっと簡単になるのか?どう書けばいいのかわからんけど
Dim MSB As Long
MSB = (Long0 And &H8000) And &H80000000
MyLong = MSB Or ((Long0 And &H7FFF) * &H10000 + Long1)
64bit限定ならLongLong型を経由すればもっと簡単になるのか?どう書けばいいのかわからんけど
Dim MSB As Long
MSB = (Long0 And &H8000) And &H80000000
MyLong = MSB Or ((Long0 And &H7FFF) * &H10000 + Long1)
201デフォルトの名無しさん (スフッ Sd32-zD50)
2021/09/29(水) 05:43:02.15ID:ia9ebpqvd 訂正
MSB = ((Long0 And &H8000) <> 0) And &H80000000
MSB = ((Long0 And &H8000) <> 0) And &H80000000
202デフォルトの名無しさん (ワッチョイ 124f-WaYq)
2021/09/29(水) 08:25:13.60ID:slA14A+y0 >>201
いや、Longの中に入っている時点でマイナスなら* -1してやればいいだけだけど、だったらもっと範囲の広い型で後ろ2バイト以外クリアする方が分岐もなくスッキリするだろう
いや、Longの中に入っている時点でマイナスなら* -1してやればいいだけだけど、だったらもっと範囲の広い型で後ろ2バイト以外クリアする方が分岐もなくスッキリするだろう
203デフォルトの名無しさん (スフッ Sd32-zD50)
2021/09/29(水) 08:41:09.05ID:+gGxbszWd >>202
元データの上位2バイトが00で埋まってた場合、論理シフトで符号が変わる場合があるでしょ
VBAには論理シフトがないから、何か別の方法で再現する必要があると思うんだけど
具体的に、動くコード書いてみて
元データの上位2バイトが00で埋まってた場合、論理シフトで符号が変わる場合があるでしょ
VBAには論理シフトがないから、何か別の方法で再現する必要があると思うんだけど
具体的に、動くコード書いてみて
204デフォルトの名無しさん (ブーイモ MM0e-PL4X)
2021/09/29(水) 09:29:57.66ID:ilMiUA0BM Byte型からLSetが単純で一番速いと思う
定義(追加部分のみ)
Type tyByte
Byte0 As Byte
Byte1 As Byte
Byte2 As Byte
Byte3 As Byte
End Type
代入処理はこんな感じ
データの格納順序は知らんから適当
myByte.Byte0 = long0 And &HFF&
myByte.Byte1 = (long0 And &HFF00&) \ &H100&
myByte.Byte2 = long1 And &HFF&
myByte.Byte3 = (long1 And &HFF00&) \ &H100&
LSet mySingle = myByte
定義(追加部分のみ)
Type tyByte
Byte0 As Byte
Byte1 As Byte
Byte2 As Byte
Byte3 As Byte
End Type
代入処理はこんな感じ
データの格納順序は知らんから適当
myByte.Byte0 = long0 And &HFF&
myByte.Byte1 = (long0 And &HFF00&) \ &H100&
myByte.Byte2 = long1 And &HFF&
myByte.Byte3 = (long1 And &HFF00&) \ &H100&
LSet mySingle = myByte
205デフォルトの名無しさん (スプッッ Sdea-zD50)
2021/09/29(水) 09:40:16.79ID:f5tfMzLod206デフォルトの名無しさん (ワッチョイ 124f-WaYq)
2021/09/29(水) 12:56:20.18ID:slA14A+y0 >>203
ちょっと何を言ってるか分かりませんね。
まずシフトの話はどこから出てきたの?
Long型ならマイナスであれば常にトップビットは
立っているよね?
だからプラスに変換するってことだけど?
トップビットが立っていなければプラスなんで変換する必要はない。
もちろん、最初の設定値のLong型の下位2バイトでマイナスを表現するならそれぞれ*-1してやらなきゃいけないけど>>191を見た限りではそのような扱いでもないしね。
途中でマイナスをもつような型の変数に入れるなら
その後始末をしないといけないというだけ。
そもそもトップビットがなぜ符号なのかというところから理解しないとね。
トップビットを単純に0にすればプラスの値に置き換わるというものでもないし。
例えば、1バイトの変数で言えば、-1はFFhだよね。
これのトップビットを倒すと、7Fhになる。
つまり、1にはならずに127になるよね。
ちょっと何を言ってるか分かりませんね。
まずシフトの話はどこから出てきたの?
Long型ならマイナスであれば常にトップビットは
立っているよね?
だからプラスに変換するってことだけど?
トップビットが立っていなければプラスなんで変換する必要はない。
もちろん、最初の設定値のLong型の下位2バイトでマイナスを表現するならそれぞれ*-1してやらなきゃいけないけど>>191を見た限りではそのような扱いでもないしね。
途中でマイナスをもつような型の変数に入れるなら
その後始末をしないといけないというだけ。
そもそもトップビットがなぜ符号なのかというところから理解しないとね。
トップビットを単純に0にすればプラスの値に置き換わるというものでもないし。
例えば、1バイトの変数で言えば、-1はFFhだよね。
これのトップビットを倒すと、7Fhになる。
つまり、1にはならずに127になるよね。
207デフォルトの名無しさん (ワッチョイ b35f-8sCx)
2021/09/29(水) 19:09:56.88ID:UXZ9zF/70 VBAのウインドウの固定で行を選択するとA列に移動してしまうのはどうにかならない?
手動だとそのまま列でウインドウの固定になるから違いがよくわからん
手動だとそのまま列でウインドウの固定になるから違いがよくわからん
208デフォルトの名無しさん (スフッ Sd32-zD50)
2021/09/29(水) 21:29:48.02ID:7Q67NENAd >>206
元の質問と、そこに付いてるレスをよく読んで
元の質問と、そこに付いてるレスをよく読んで
209デフォルトの名無しさん (ドコグロ MMde-c1VD)
2021/09/29(水) 22:06:13.36ID:bAaW5g7mM210デフォルトの名無しさん (ワッチョイ 124f-WaYq)
2021/09/29(水) 22:10:21.46ID:slA14A+y0211デフォルトの名無しさん (スフッ Sd32-PL4X)
2021/09/29(水) 22:32:44.25ID:helTTC1Td 図解するとこういうことじゃないの?俺の理解が間違ってる?
https://i.imgur.com/z48adB1.jpg
https://i.imgur.com/z48adB1.jpg
212デフォルトの名無しさん (ワッチョイ 124f-E55q)
2021/09/29(水) 22:47:00.69ID:slA14A+y0 >>211
うん。それであってるよ。
ただ、.Netみたいにアンサインな型の変数が無いから
それをどうしようか、という話。
Longで普通に計算すると上位2バイトに65535(&HFFFF)辺りが入れば
例えば&HFFFF00000が入ったとして、4294901760が欲しいのに
普通にLong型だと-65536が取れちゃったりするよね。
うん。それであってるよ。
ただ、.Netみたいにアンサインな型の変数が無いから
それをどうしようか、という話。
Longで普通に計算すると上位2バイトに65535(&HFFFF)辺りが入れば
例えば&HFFFF00000が入ったとして、4294901760が欲しいのに
普通にLong型だと-65536が取れちゃったりするよね。
213デフォルトの名無しさん (ワッチョイ 124f-WaYq)
2021/09/29(水) 23:33:48.06ID:slA14A+y0 あ、でも*-1する方法じゃダメか。
これはあくまでマイナスをプラスにする方法であって、トップビットが立っていてもプラスとみなす方法じゃないからね。
そう考えるとやっぱりもう少し幅の広い変数持っといて計算する方法が楽かな。
だからみんなByte型とか使ってたのかー。
なんか勉強になったわ。
これはあくまでマイナスをプラスにする方法であって、トップビットが立っていてもプラスとみなす方法じゃないからね。
そう考えるとやっぱりもう少し幅の広い変数持っといて計算する方法が楽かな。
だからみんなByte型とか使ってたのかー。
なんか勉強になったわ。
214デフォルトの名無しさん (スプッッ Sdea-zD50)
2021/09/29(水) 23:39:44.93ID:+/PybBD+d 一つの例として、
Long[0]=&h00000000
Long[1]=&h00003E20
の時、得られるSingle値は0.15625になる
正しく計算できてるかどうか試してみればいい
>>191
Hexの戻り値は4桁とは限らないから、それでは正しく結合できないよ
Long[0]=&h00000000
Long[1]=&h00003E20
の時、得られるSingle値は0.15625になる
正しく計算できてるかどうか試してみればいい
>>191
Hexの戻り値は4桁とは限らないから、それでは正しく結合できないよ
215デフォルトの名無しさん (スプッッ Sdea-zD50)
2021/09/29(水) 23:43:02.21ID:+/PybBD+d あまんり綺麗なコードじゃないけど、一応動くと思う
Option Explicit
Type tySingle
varSingle As Single
End Type
Type ty4Byte
Byte0 As Byte
Byte1 As Byte
Byte2 As Byte
Byte3 As Byte
End Type
Sub Long2Single()
Dim mySingle As tySingle
Dim my4byte As ty4Byte
Dim long0 As Long, long1 As Long
long0 = &H0&
long1 = &H3E20&
my4byte.Byte0 = long0 And &HFF&
my4byte.Byte1 = (long0 And &HFF00&) \ &H100&
my4byte.Byte2 = long1 And &HFF&
my4byte.Byte3 = (long1 And &HFF00&) \ &H100&
LSet mySingle = my4byte
Debug.Print mySingle.varSingle
End Sub
Option Explicit
Type tySingle
varSingle As Single
End Type
Type ty4Byte
Byte0 As Byte
Byte1 As Byte
Byte2 As Byte
Byte3 As Byte
End Type
Sub Long2Single()
Dim mySingle As tySingle
Dim my4byte As ty4Byte
Dim long0 As Long, long1 As Long
long0 = &H0&
long1 = &H3E20&
my4byte.Byte0 = long0 And &HFF&
my4byte.Byte1 = (long0 And &HFF00&) \ &H100&
my4byte.Byte2 = long1 And &HFF&
my4byte.Byte3 = (long1 And &HFF00&) \ &H100&
LSet mySingle = my4byte
Debug.Print mySingle.varSingle
End Sub
216デフォルトの名無しさん (ワッチョイ 0349-PXWQ)
2021/09/30(木) 00:24:00.39ID:PZiEyg+B0 Option Explicit
Private Type TPLong
long0 As Long: long1 As Long
End Type
Private Type TPByte
byte0 As Byte: byte1 As Byte: byte2 As Byte: byte3 As Byte
byte4 As Byte: byte5 As Byte: byte6 As Byte: byte7 As Byte
End Type
Private Type TPSingle
single0 As Single: single1 As Single
End Type
Private Sub test()
Dim L As TPLong
Dim B As TPByte
Dim S As TPSingle
L.long0 = &H0
L.long1 = &H3E20&
LSet B = L
B.byte2 = B.byte4
B.byte3 = B.byte5
LSet S = B
Debug.Print S.single0
End Sub
動いた。改行多すぎって言われたので詰めて書いてる。
Private Type TPLong
long0 As Long: long1 As Long
End Type
Private Type TPByte
byte0 As Byte: byte1 As Byte: byte2 As Byte: byte3 As Byte
byte4 As Byte: byte5 As Byte: byte6 As Byte: byte7 As Byte
End Type
Private Type TPSingle
single0 As Single: single1 As Single
End Type
Private Sub test()
Dim L As TPLong
Dim B As TPByte
Dim S As TPSingle
L.long0 = &H0
L.long1 = &H3E20&
LSet B = L
B.byte2 = B.byte4
B.byte3 = B.byte5
LSet S = B
Debug.Print S.single0
End Sub
動いた。改行多すぎって言われたので詰めて書いてる。
217デフォルトの名無しさん (ワッチョイ e32f-pveB)
2021/09/30(木) 00:49:27.70ID:pCEIeulu0218デフォルトの名無しさん (ドコグロ MMde-c1VD)
2021/09/30(木) 05:21:02.09ID:0qBy1lQqM >>210
それツッコミないのはあまりにもレベル低いからだぞ…
それツッコミないのはあまりにもレベル低いからだぞ…
219デフォルトの名無しさん (スフッ Sd32-zD50)
2021/09/30(木) 06:14:58.44ID:gM2Bcn3cd >>217
質問者が単純にHex関数の連結だけでOKだったと書いてるから、それぞれ下位16bitを使ってて、Long[0]が下位、Long[1]が上位側と読み取れる
まあ逆だったとしても簡単に修正できるし
質問者が単純にHex関数の連結だけでOKだったと書いてるから、それぞれ下位16bitを使ってて、Long[0]が下位、Long[1]が上位側と読み取れる
まあ逆だったとしても簡単に修正できるし
220デフォルトの名無しさん (アウアウキー Saef-nXzz)
2021/09/30(木) 08:01:56.59ID:R3l1DBbza 質問する前に良く考えれば自力でできたんじゃね
221デフォルトの名無しさん (ワッチョイ c23d-4IKK)
2021/09/30(木) 09:52:07.40ID:Vb95uiyM0 VBAで標準モジュールを削除するコードを書いてるんだけど、消えない場合がなくね?
removeしてもそれがすぐに反映されない。
commitするようなコマンドてある?
removeしてもそれがすぐに反映されない。
commitするようなコマンドてある?
222デフォルトの名無しさん (ラクッペペ MMde-XWMK)
2021/09/30(木) 10:02:50.98ID:R1d8oRoFM ないならいいじゃん
223デフォルトの名無しさん (ブーイモ MM0e-/zTl)
2021/09/30(木) 10:06:49.68ID:XH3u7BFNM 「場合がなくね?」を「場合がない」と読むのは流石に揚げ足取りが過ぎる
224デフォルトの名無しさん (ブーイモ MM0e-MTek)
2021/09/30(木) 10:16:54.23ID:eFhgF698M なくね?
→なくない?
ないよね?
言語仕様による違いかな
→なくない?
ないよね?
言語仕様による違いかな
225デフォルトの名無しさん (スプッッ Sdea-zD50)
2021/09/30(木) 10:20:26.49ID:+bzcSAlDd 文脈から言い間違いだと気づけないのはアスペだそうですよ
226デフォルトの名無しさん (ワッチョイ d668-zD50)
2021/09/30(木) 10:58:49.96ID:SEX1vFKW0 > commitするようなコマンドてある?
→commitが欲しい
→なくね?は間違い
脳仕様による違いかな
→commitが欲しい
→なくね?は間違い
脳仕様による違いかな
227デフォルトの名無しさん (ワッチョイ c23d-4IKK)
2021/09/30(木) 12:35:11.89ID:Vb95uiyM0 調べるとこういうことが起こってるみたいだな。
https://try2explore.com/questions/jp/11366816
VBComponents.Remove呼び出しは、VBAの実行が停止した場合にのみ実際に有効になる場合があります。
つまり、すべてのステートメントが終了するまで、またはコードがブレークポイントに達してデバッグを停止するまで、
削除操作は有効になりません。
これは、新しいモジュールをインポートするか、既存のモジュールのコードを新しいモジュールに置き換えるための次のコードが原因で問題になります。
https://try2explore.com/questions/jp/11366816
VBComponents.Remove呼び出しは、VBAの実行が停止した場合にのみ実際に有効になる場合があります。
つまり、すべてのステートメントが終了するまで、またはコードがブレークポイントに達してデバッグを停止するまで、
削除操作は有効になりません。
これは、新しいモジュールをインポートするか、既存のモジュールのコードを新しいモジュールに置き換えるための次のコードが原因で問題になります。
228デフォルトの名無しさん (ワッチョイ d6da-zD50)
2021/09/30(木) 13:00:34.16ID:aMauK9B30 もう起こったぞ
229デフォルトの名無しさん (ワッチョイ 9242-d6h8)
2021/09/30(木) 19:03:25.50ID:gc4CAj+A0 クリリンのことかー
230デフォルトの名無しさん (ワッチョイ 2701-CiRx)
2021/09/30(木) 19:31:20.50ID:4/dpkDC70231デフォルトの名無しさん (ワッチョイ d6da-zD50)
2021/09/30(木) 20:06:00.47ID:aMauK9B30 バイナリならByte型でやればいいのにね
232デフォルトの名無しさん (ワッチョイ 12ad-zD50)
2021/09/30(木) 22:38:31.79ID:tyeheD170 for i=0 to 10
if AAA(i) then Range("A1").offset(i,0)="OK"
next
↑こんな感じのfor文を書いたら普通に動いていたんだけど、
for i=0 to 10
debug.print i, AAA(i)
if AAA(i) then Range("A1").offset(i,0)="OK"
next
↑for文の中にdebug.printを入れたら、iが10になっても止まらず、
イミディエイトウィンドウ上に、「i, AAA(i)」の部分がずっとループして止まらなくなった。
こんなことってありえますか?
if AAA(i) then Range("A1").offset(i,0)="OK"
next
↑こんな感じのfor文を書いたら普通に動いていたんだけど、
for i=0 to 10
debug.print i, AAA(i)
if AAA(i) then Range("A1").offset(i,0)="OK"
next
↑for文の中にdebug.printを入れたら、iが10になっても止まらず、
イミディエイトウィンドウ上に、「i, AAA(i)」の部分がずっとループして止まらなくなった。
こんなことってありえますか?
233デフォルトの名無しさん (ワッチョイ de8c-ysz4)
2021/09/30(木) 23:00:52.63ID:sFWbYEj80 AAA(i) って中身はなんだ
234デフォルトの名無しさん (ワッチョイ 1e68-wYsx)
2021/09/30(木) 23:03:17.67ID:50MfSZL40 >232
i=i-1
や
i=3
みたいにiが永久に10を超えない動作が入るとそうなる
i=i-1
や
i=3
みたいにiが永久に10を超えない動作が入るとそうなる
235デフォルトの名無しさん (ワッチョイ 0349-PXWQ)
2021/09/30(木) 23:04:37.72ID:Vp0fi7DV0 普通に動いていると思っていただけで元々普通に動いてなかったとかはある
こんな感じのって言ってるから、そのソースそのまま受け取るわけには
いかんのだろうなって思った
こんな感じのって言ってるから、そのソースそのまま受け取るわけには
いかんのだろうなって思った
236デフォルトの名無しさん (アウアウウー Sa43-E/Tk)
2021/09/30(木) 23:16:32.92ID:VHGvetdVa 初心者の頃は手動でセル入力してた方が早く終わってしまうのが、もどかしくもあるけど
それでもvbaは覚えるべきだと思っていろいろ頑張ってます
それでもvbaは覚えるべきだと思っていろいろ頑張ってます
237デフォルトの名無しさん (ワッチョイ de8c-ysz4)
2021/09/30(木) 23:22:00.84ID:sFWbYEj80238232 (ワッチョイ ffad-2jfQ)
2021/10/01(金) 00:46:48.32ID:85aYXoDy0 AAAはリストボックスです。
わかりにくかったので、listAとします。
中身はTRUEかFALSEです。
listA.list(0)がTRUEなら、A1セルにOKを入力
listA.list(1)がFALSEなら何もしない。
listA.list(2)がTRUEなら、A3セルにOKを入力
…
という処理でした。
debug.printを入れる前に動かした時は、画面が固まることもなく正常に終了しました。
debug.printを入れた後に動かしたらループが止まらなくなりました。
debug.printで出力されたiは、0→1→…→9→10→0→1→…というループではなくて、
0→1→…→9→10→6→7→8→9→10→6→…→10→6→…というループでした。
「debug.print i」がiの値に影響を与える、ということはないですもんね。
他の部分を明日あらためて確認してみます。
ありがとうございました。
わかりにくかったので、listAとします。
中身はTRUEかFALSEです。
listA.list(0)がTRUEなら、A1セルにOKを入力
listA.list(1)がFALSEなら何もしない。
listA.list(2)がTRUEなら、A3セルにOKを入力
…
という処理でした。
debug.printを入れる前に動かした時は、画面が固まることもなく正常に終了しました。
debug.printを入れた後に動かしたらループが止まらなくなりました。
debug.printで出力されたiは、0→1→…→9→10→0→1→…というループではなくて、
0→1→…→9→10→6→7→8→9→10→6→…→10→6→…というループでした。
「debug.print i」がiの値に影響を与える、ということはないですもんね。
他の部分を明日あらためて確認してみます。
ありがとうございました。
239デフォルトの名無しさん (アウアウアー Saff-gIpp)
2021/10/01(金) 17:55:16.70ID:fQjrPzOfa クラスを使うメリットってなに?
240デフォルトの名無しさん (ワッチョイ ff42-Q9Gn)
2021/10/01(金) 19:26:10.62ID:aPfKzK/z0 見た目が美しい
241デフォルトの名無しさん (ワッチョイ cf68-2jfQ)
2021/10/01(金) 19:29:13.73ID:AYkrwA2S0 自己満足
242デフォルトの名無しさん (ワッチョイ 6f68-UmxQ)
2021/10/01(金) 19:45:19.68ID:3/37uweO0243デフォルトの名無しさん (ワッチョイ 8301-8myK)
2021/10/01(金) 19:47:27.08ID:4jCtmjal0 >>239
色々あるが、VBAのクラス機能はゴミなのでマジで自己満が多いと思う
解説サイトで玄人の技・隠し機能みたいなノリで紹介されてるので、使えるとプロっぽく見える。
@イベントやデフォルトメンバーみたいなオブジェクトモジュール専用の機能が使える
イベントをまとめたいとかで、仕方なしに、これ目的で使ってる人が多いと思う
A変数に値を入れて、その変数を色んな関数の引数にするっていう事が多々あるけど、
そういう「変数と関数」が常にペアになっているなら纏めた方が分かりやすい
B標準モジュールではモジュールレベルで宣言した変数は実行中保存される。
なので、ある関数でモジュールレベルの変数に値を保存して、別の関数で再利用みたいな使い方が出来る。
でも標準モジュールだと当然その変数に保存できる値は一つなので使い勝手が悪い。
クラスモジュールならインスタンスごとに別の値を保存できる
色々あるが、VBAのクラス機能はゴミなのでマジで自己満が多いと思う
解説サイトで玄人の技・隠し機能みたいなノリで紹介されてるので、使えるとプロっぽく見える。
@イベントやデフォルトメンバーみたいなオブジェクトモジュール専用の機能が使える
イベントをまとめたいとかで、仕方なしに、これ目的で使ってる人が多いと思う
A変数に値を入れて、その変数を色んな関数の引数にするっていう事が多々あるけど、
そういう「変数と関数」が常にペアになっているなら纏めた方が分かりやすい
B標準モジュールではモジュールレベルで宣言した変数は実行中保存される。
なので、ある関数でモジュールレベルの変数に値を保存して、別の関数で再利用みたいな使い方が出来る。
でも標準モジュールだと当然その変数に保存できる値は一つなので使い勝手が悪い。
クラスモジュールならインスタンスごとに別の値を保存できる
244デフォルトの名無しさん (ワッチョイ 8301-8myK)
2021/10/01(金) 19:51:30.36ID:4jCtmjal0 この手の話題には「お前らは使いこなしてないからメリットを把握できてないが、俺は使いこなせてる」おじさんが来る
245デフォルトの名無しさん (ワッチョイ f35f-1D0T)
2021/10/01(金) 19:59:58.89ID:jrcl2rEY0 処理高速化するクラスくらいは単純だし使いまわせるし使ってもいいんじゃない
246デフォルトの名無しさん (ワッチョイ f35f-ZUrU)
2021/10/01(金) 20:12:23.33ID:HK8CLsAI0 ただ単にすっきりして可読性がよい
クラスにしてると他人のコード化したときに何をしてるかもう一度把握するのが容易
自分でメソッドやプロパティを作るとファイルシステムオブジェクトやコレクションを扱い易くなる
クラスにしてると他人のコード化したときに何をしてるかもう一度把握するのが容易
自分でメソッドやプロパティを作るとファイルシステムオブジェクトやコレクションを扱い易くなる
247デフォルトの名無しさん (ワッチョイ 8301-8myK)
2021/10/01(金) 20:33:12.85ID:4jCtmjal0 JSとかと違ってモジュール内に構文で記述できない(単体のモジュールファイルとしてしか書けない)から、
クラスモジュールを書くこと自体が億劫に感じて余り印象よくないわ
プロジェクト内だとどこからでも呼び出せるから、どこでどう使われてるのかサッパリだし
イベント機能とか状態保存を有効に使いたい、コレクションを自作したい、
みたいな特別な理由がない限り使わない方がいいんじゃないかなぁと思ってる
クラスモジュールを書くこと自体が億劫に感じて余り印象よくないわ
プロジェクト内だとどこからでも呼び出せるから、どこでどう使われてるのかサッパリだし
イベント機能とか状態保存を有効に使いたい、コレクションを自作したい、
みたいな特別な理由がない限り使わない方がいいんじゃないかなぁと思ってる
248デフォルトの名無しさん (ドコグロ MMa7-E/uf)
2021/10/01(金) 20:46:27.80ID:g1N/sLwpM 継承までは望まないとしてもせめてInitializeに引数を持てるようにして欲しかった
249デフォルトの名無しさん (ワッチョイ 8301-8myK)
2021/10/01(金) 20:53:23.76ID:4jCtmjal0 >>248
Initializeはコンストラクタじゃなくてイベントだから、
仮に引数があってもオブジェクトモジュール内じゃないと使えない上に、
インスタンスごとにイベントハンドラ用のモジュールレベル変数が必要になって面倒だと思う
Initializeはコンストラクタじゃなくてイベントだから、
仮に引数があってもオブジェクトモジュール内じゃないと使えない上に、
インスタンスごとにイベントハンドラ用のモジュールレベル変数が必要になって面倒だと思う
250デフォルトの名無しさん (ドコグロ MMa7-E/uf)
2021/10/01(金) 21:49:30.27ID:j+Pc2S4XM イベントに引数渡せる言語はいくらでもあるのに何を言ってるんだ?w
251デフォルトの名無しさん (ワッチョイ 8301-8myK)
2021/10/01(金) 22:01:08.86ID:4jCtmjal0252デフォルトの名無しさん (ドコグロ MMa7-E/uf)
2021/10/01(金) 22:07:37.29ID:CXdVtwXkM253デフォルトの名無しさん (ワッチョイ cfda-2jfQ)
2021/10/01(金) 22:11:26.60ID:CmFZe7Ct0 質問者の環境や能力を無視すんなよ
254デフォルトの名無しさん (ワッチョイ 8301-8myK)
2021/10/01(金) 22:24:35.99ID:4jCtmjal0 >>252
何をどう解釈したのか言ってくれれば対応できるけど、最早返答が意味不明過ぎるんだわ
何に対して「イベントに引数渡せる言語はいくらでもあるのに何を言ってるんだ?w」と疑問が沸いたのか説明して?
何をどう解釈したのか言ってくれれば対応できるけど、最早返答が意味不明過ぎるんだわ
何に対して「イベントに引数渡せる言語はいくらでもあるのに何を言ってるんだ?w」と疑問が沸いたのか説明して?
255デフォルトの名無しさん (ワッチョイ 8301-8myK)
2021/10/01(金) 22:34:31.13ID:4jCtmjal0 >>252
あと、VBAのクラスに「引数が付いたコンストラクタが欲しいな」っていう希望から
「Initializeに引数を持てるようにして欲しかった」っていう要望が出たのは明白だろう
で、イベントに引数を渡すのは面倒だよねって話をしたら「コンストラクタにすればいい」ってのもよくわからん。
だったらイベント関係なしに、初めから使いやすいコンストラクタ相当の言語機能が定義されてた方がいいだろう
あと、VBAのクラスに「引数が付いたコンストラクタが欲しいな」っていう希望から
「Initializeに引数を持てるようにして欲しかった」っていう要望が出たのは明白だろう
で、イベントに引数を渡すのは面倒だよねって話をしたら「コンストラクタにすればいい」ってのもよくわからん。
だったらイベント関係なしに、初めから使いやすいコンストラクタ相当の言語機能が定義されてた方がいいだろう
256デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/01(金) 22:55:44.73ID:f1R1MoFX0 一般のObject指向言語で言うところの継承が使えないとか色々あるから普通にデザインパターンを考慮して作ろうとするとそこそこ制限受けるよね。
例えば継承が使えないからテンプレートメソッドパターンが使えないとか、
VB.Netで言うSharedが使えないからキチンとシングルトンパターン使おうとすると結構厄介だったりとか。
インターフェースが使えるから継承の代わりにストラテジーパターンでも使って組もうとか考えても限界あるし。
あ?コンストラクタに引数?
そんなのは初期化用のメソッド作って呼びゃいいだろうと俺は思うけどね。
まあでもそういうのに頭使って組むからVBAは面白いんだと思うよ。
他のObject指向言語やってる人って結構インターフェースの概念を疎かにしたりするしね。
例えば継承が使えないからテンプレートメソッドパターンが使えないとか、
VB.Netで言うSharedが使えないからキチンとシングルトンパターン使おうとすると結構厄介だったりとか。
インターフェースが使えるから継承の代わりにストラテジーパターンでも使って組もうとか考えても限界あるし。
あ?コンストラクタに引数?
そんなのは初期化用のメソッド作って呼びゃいいだろうと俺は思うけどね。
まあでもそういうのに頭使って組むからVBAは面白いんだと思うよ。
他のObject指向言語やってる人って結構インターフェースの概念を疎かにしたりするしね。
257デフォルトの名無しさん (ワッチョイ b32f-/JM3)
2021/10/02(土) 02:59:35.03ID:xagjL2JO0 イベントに引数渡す(というか受け取る)のは別に面倒でもなんでないから
コンストラクタの引数をInitializeイベントに渡せたらまあそれもいいんだが
VBAだとInitializeイベントがオーバーロードできないからなぁ
まあもともとのVBがオブジェクト指向でもなんでもなかったとこからスタートしてるからな
俺はVBAのクラスは自作イベント使いたいときに使うものと思ってる
コンストラクタの引数をInitializeイベントに渡せたらまあそれもいいんだが
VBAだとInitializeイベントがオーバーロードできないからなぁ
まあもともとのVBがオブジェクト指向でもなんでもなかったとこからスタートしてるからな
俺はVBAのクラスは自作イベント使いたいときに使うものと思ってる
258デフォルトの名無しさん (ドコグロ MMa7-E/uf)
2021/10/02(土) 06:05:15.61ID:g1EUYVpxM259デフォルトの名無しさん (ドコグロ MMa7-E/uf)
2021/10/02(土) 06:08:02.24ID:g1EUYVpxM >>256
> あ?コンストラクタに引数?
> そんなのは初期化用のメソッド作って呼びゃいいだろうと俺は思うけどね。
> まあでもそういうのに頭使って組むからVBAは面白いんだと思うよ。
そういうのは頭使うとは言わない
単に面倒(かつバグの元)なだけ
無い物ねだりすんなと言うならわかるけど
> あ?コンストラクタに引数?
> そんなのは初期化用のメソッド作って呼びゃいいだろうと俺は思うけどね。
> まあでもそういうのに頭使って組むからVBAは面白いんだと思うよ。
そういうのは頭使うとは言わない
単に面倒(かつバグの元)なだけ
無い物ねだりすんなと言うならわかるけど
260デフォルトの名無しさん (ワッチョイ b3e6-SE+q)
2021/10/02(土) 07:21:09.62ID:f83gGEH/0 VB7を待て!
261デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/02(土) 07:44:35.99ID:PmOXqFk20262デフォルトの名無しさん (ワッチョイ 6f68-UmxQ)
2021/10/02(土) 07:49:32.43ID:i6pQYLUQ0 それ言い出すとどんな言語でも「だけ」になるぞ
263デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/02(土) 07:52:52.17ID:PmOXqFk20 それにポリモーフィズムを理解している奴ならむしろバグやUTケースを減らせるコードが書ける。
でなければObject指向なんてここまで浸透しなかっただろうよ。
でなければObject指向なんてここまで浸透しなかっただろうよ。
264デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/02(土) 07:53:44.67ID:PmOXqFk20 >>262
例えば?
例えば?
265デフォルトの名無しさん (ドコグロ MMa7-E/uf)
2021/10/02(土) 08:50:27.63ID:7sXji/t3M むしろ>>263の方に例えば?って言いたいわw
266デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/02(土) 09:59:20.90ID:PmOXqFk20267デフォルトの名無しさん (ドコグロ MMa7-E/uf)
2021/10/02(土) 10:26:50.08ID:SSNRs28sM268デフォルトの名無しさん (ワッチョイ cf10-P/uO)
2021/10/02(土) 10:45:25.61ID:l9bGJwl90269デフォルトの名無しさん (ドコグロ MMa7-E/uf)
2021/10/02(土) 11:55:15.97ID:SSNRs28sM 勉強?
からかわれてることぐらいは理解した方がいいぞw
からかわれてることぐらいは理解した方がいいぞw
270デフォルトの名無しさん (ワッチョイ d3da-4VCj)
2021/10/02(土) 11:56:22.57ID:h3OHY9Ln0 まあまあ、通りがかりの者だけど、お前ら仲良くやれや
271デフォルトの名無しさん (ササクッテロラ Sp47-P/uO)
2021/10/02(土) 12:17:57.73ID:4Bm9Y75Jp まったく最近のじじいは
マウントどうのとかほざくくせに
負けず嫌いで困る
マウントどうのとかほざくくせに
負けず嫌いで困る
272デフォルトの名無しさん (ブーイモ MMe7-JsPX)
2021/10/02(土) 12:26:19.80ID:s0PycLWJM 5chはじじいの巣窟ですよ。
子供は他所で遊んだ方が良いですよ。
子供は他所で遊んだ方が良いですよ。
273デフォルトの名無しさん (ワッチョイ 6f68-UmxQ)
2021/10/02(土) 17:44:59.50ID:i6pQYLUQ0 >>264
クラスにコンストラクタがない
→newの後にメソッドなりで中身かえればいい「だけ」
それを言い出すとクラスそのものもなくてもどうにでもできるだろって話になる
そうじゃなくて、そんなめんどくさいことを「今更」したくないって話なんだ
それが苦にならないor自分で既にそれらを自動化するライブラリがある!ってなら問題ないと思うよ
君の言ってる事は間違いではない。単に感覚の違いだ
ただ、俺はやだなぁ
ついでに言うとarrayにpushはマジで欲しい
クラスにコンストラクタがない
→newの後にメソッドなりで中身かえればいい「だけ」
それを言い出すとクラスそのものもなくてもどうにでもできるだろって話になる
そうじゃなくて、そんなめんどくさいことを「今更」したくないって話なんだ
それが苦にならないor自分で既にそれらを自動化するライブラリがある!ってなら問題ないと思うよ
君の言ってる事は間違いではない。単に感覚の違いだ
ただ、俺はやだなぁ
ついでに言うとarrayにpushはマジで欲しい
274デフォルトの名無しさん (ワッチョイ cfb0-k9+P)
2021/10/02(土) 17:50:29.29ID:ffSwt3TR0 >>273
したくないのは自由だが、いまさらVBAが更新されることはないから、諦めて他の言語に行ってくれ
したくないのは自由だが、いまさらVBAが更新されることはないから、諦めて他の言語に行ってくれ
275デフォルトの名無しさん (ワッチョイ b32f-slNU)
2021/10/02(土) 18:23:04.84ID:xagjL2JO0 >>263
ちゃんとしたオブジェクト指向言語使えば減らせるってならともかく
VBAでオブジェクト指向でやってUTケース減らせると思えんが
ちょっとVBA関係ない話になるが
お前の思うポリモーフィズムと引数付きコンストラクタの使いどころ教えてくれ
ちゃんとしたオブジェクト指向言語使えば減らせるってならともかく
VBAでオブジェクト指向でやってUTケース減らせると思えんが
ちょっとVBA関係ない話になるが
お前の思うポリモーフィズムと引数付きコンストラクタの使いどころ教えてくれ
276デフォルトの名無しさん (ドコグロ MMa7-E/uf)
2021/10/02(土) 18:24:23.99ID:yfSowQXWM277デフォルトの名無しさん (ワッチョイ cfb0-k9+P)
2021/10/02(土) 18:35:12.83ID:ffSwt3TR0278デフォルトの名無しさん (ドコグロ MMa7-E/uf)
2021/10/02(土) 19:02:41.91ID:/B20gKTEM ああ確かにそうだな
そりゃすまん
そりゃすまん
279デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/02(土) 21:28:02.67ID:PmOXqFk20 >>275
そうだな、ちょっとその前に
例えば一つの例としてゲームを作ったとしよう。
それは簡単なシューティングゲームだったとして、
キャラクターの中に自機、弾、敵、ヒットマークがあったとする。
キャラクター数の上限は考えないものとし、敵は幾つか種類がいるものとして、ひとつは地形判定を行う、一つは弾を打つ、等の違いがあった場合、
君ならどう作るか聞いてもいいかな?
質問を質問で返すようなことするなと言っておいて悪いが最初に認識を合わせるために聞いておきたい。
そうだな、ちょっとその前に
例えば一つの例としてゲームを作ったとしよう。
それは簡単なシューティングゲームだったとして、
キャラクターの中に自機、弾、敵、ヒットマークがあったとする。
キャラクター数の上限は考えないものとし、敵は幾つか種類がいるものとして、ひとつは地形判定を行う、一つは弾を打つ、等の違いがあった場合、
君ならどう作るか聞いてもいいかな?
質問を質問で返すようなことするなと言っておいて悪いが最初に認識を合わせるために聞いておきたい。
280デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/02(土) 21:48:51.07ID:PmOXqFk20 >>273
そもそも論として、クラスを使わなければ何か出来ないことがあるかと言われれば、それはあまり思い付かない。
ただ、VBAでクラスのコンストラクタに引数を持ってないという程度であればそれで代用が効くだろうという話。
それも面倒だというのであれば、クラスを生成して初期化するメソッドを作ってそれに引数を持たせるようにして呼び出せばいくつそういう場所があっても一回書いておけばいいということになる。
そもそも論として、クラスを使わなければ何か出来ないことがあるかと言われれば、それはあまり思い付かない。
ただ、VBAでクラスのコンストラクタに引数を持ってないという程度であればそれで代用が効くだろうという話。
それも面倒だというのであれば、クラスを生成して初期化するメソッドを作ってそれに引数を持たせるようにして呼び出せばいくつそういう場所があっても一回書いておけばいいということになる。
281デフォルトの名無しさん (ワッチョイ b32f-slNU)
2021/10/03(日) 05:20:08.91ID:fyf/YlYy0 >>279
認識あわせの例がシューティングゲームとかその時点でお前とは合わんわ
シューティングゲームとか作らんし、その想定でどう作るとか言われてもな
まあ一から全部作ることはないし、何らかのフレームワークに従って作るんじゃね
そんな細かい実装的な話を聞きたいんじゃないんだよ
認識あわせの例がシューティングゲームとかその時点でお前とは合わんわ
シューティングゲームとか作らんし、その想定でどう作るとか言われてもな
まあ一から全部作ることはないし、何らかのフレームワークに従って作るんじゃね
そんな細かい実装的な話を聞きたいんじゃないんだよ
282デフォルトの名無しさん (ササクッテロ Sp47-P/uO)
2021/10/03(日) 07:39:28.72ID:8uofczFap283デフォルトの名無しさん (ワッチョイ 6f8c-GArm)
2021/10/03(日) 11:58:59.58ID:Lx3l1CXP0 ガンダムで例えてくれ
284デフォルトの名無しさん (ワッチョイ cfda-vizG)
2021/10/03(日) 12:18:23.19ID:PztuncMq0 坊やだからさ
285デフォルトの名無しさん (アウアウウー Sa27-jOtc)
2021/10/03(日) 12:51:23.55ID:oCTMWA/sa excel+vbaでマインスイーパーは造れますか?
どこかにソースありますか?
どこかにソースありますか?
286デフォルトの名無しさん (ブーイモ MMff-Ig7M)
2021/10/03(日) 12:54:45.72ID:cPfMe0TfM287デフォルトの名無しさん (ドコグロ MMa7-E/uf)
2021/10/03(日) 13:18:38.78ID:PZL9KPgcM vba minesweeper code でググれ
288デフォルトの名無しさん (ワッチョイ e301-QRk2)
2021/10/03(日) 22:35:03.42ID:x8fdTISD0 教えて下さい
ガンチャート形式の日程表で
日付の色塗りだけじゃなくて
タスク表示(その日の予定)もさせたいんだけど
どう関数組んだらいい?
ガンチャート形式の日程表で
日付の色塗りだけじゃなくて
タスク表示(その日の予定)もさせたいんだけど
どう関数組んだらいい?
289デフォルトの名無しさん (ワッチョイ f35f-1D0T)
2021/10/03(日) 23:22:18.21ID:VDfIFkhd0 >>288
ガントチャート形式の日程表とやらの構成はどうなっている?
日付の色塗りとは、何を指している?
タスク表示とは、タスク名?をどこに表示させることを言っている?
このへん予め提示しないと解決が長引くよ
ガントチャート形式の日程表とやらの構成はどうなっている?
日付の色塗りとは、何を指している?
タスク表示とは、タスク名?をどこに表示させることを言っている?
このへん予め提示しないと解決が長引くよ
290デフォルトの名無しさん (ワッチョイ 435f-JGFc)
2021/10/04(月) 00:04:37.41ID:j9cfwAH/0 >>288
セルサイズを大きくしてタスクを入力すればいい
セルサイズを大きくしてタスクを入力すればいい
291デフォルトの名無しさん (ワッチョイ 6f8c-GArm)
2021/10/04(月) 01:17:19.95ID:BaE5qGe00 excel ガントチャート フリーで検索
292デフォルトの名無しさん (ワッチョイ 435f-P/uO)
2021/10/04(月) 09:25:56.63ID:dlhTdODc0 質問失礼します
タイマーで二つのマクロを順番に実行したいのですが
ひとつめのマクロ実行が長引いてしまい
マクロ実行中にApplication.OnTimeのcallで次のマクロが動くとエラーになってしまいます
Application.OnTimeの時間になっても前のマクロが終わるまで待つやぶつからなくする方法はあるでしょうか?
タイマーで二つのマクロを順番に実行したいのですが
ひとつめのマクロ実行が長引いてしまい
マクロ実行中にApplication.OnTimeのcallで次のマクロが動くとエラーになってしまいます
Application.OnTimeの時間になっても前のマクロが終わるまで待つやぶつからなくする方法はあるでしょうか?
293デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/04(月) 09:37:56.41ID:X/RNGavO0294292 (ワッチョイ 435f-P/uO)
2021/10/04(月) 10:15:29.97ID:dlhTdODc0295デフォルトの名無しさん (ブーイモ MMe7-Ig7M)
2021/10/04(月) 10:57:06.41ID:JQlH+vDNM ontimeの第3引数も調べてね
296デフォルトの名無しさん (アウアウアー Saff-3pxB)
2021/10/04(月) 12:27:18.56ID:kyO84GtQa 関数に引数が七つも八つもあるとわかりにくくなるから、それならクラスにしておけば、可読性が良くなるのかな
297デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/04(月) 12:54:51.17ID:X/RNGavO0 >>296
そうね。
ただVBAのクラスは1クラス1モジュール使ってしまうのと、クラスが格納されているフォルダが一階層しか使えないからネーミングに気を付けて後でそれがそういう意味を持つクラスだって分かるようにしておかないとね。
後、あれやこれやと引数のクラス作らなくても、引数として格納する変数が一意でいい場合は標準モジュールでも同じように作れば使えるよ。
ただしこの場合は引数として渡すんじゃなくてその標準モジュール側に作ったプロパティを直接読みに行くことになるけどね。まぁ使い分けだね。
そうね。
ただVBAのクラスは1クラス1モジュール使ってしまうのと、クラスが格納されているフォルダが一階層しか使えないからネーミングに気を付けて後でそれがそういう意味を持つクラスだって分かるようにしておかないとね。
後、あれやこれやと引数のクラス作らなくても、引数として格納する変数が一意でいい場合は標準モジュールでも同じように作れば使えるよ。
ただしこの場合は引数として渡すんじゃなくてその標準モジュール側に作ったプロパティを直接読みに行くことになるけどね。まぁ使い分けだね。
298デフォルトの名無しさん (ワッチョイ bf3d-kB/c)
2021/10/04(月) 13:39:00.82ID:1MgeDxIh0 マクロを実行させると、Excelが落ちてしまい、
ステップ実行させるとマクロが正常終了orExcelが落ちない
ていう事になってるんだが、
どこで異常終了してるか調べる方法ある?
ステップ実行させるとマクロが正常終了orExcelが落ちない
ていう事になってるんだが、
どこで異常終了してるか調べる方法ある?
299デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/04(月) 13:41:09.43ID:X/RNGavO0300デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/04(月) 13:54:27.50ID:X/RNGavO0 上記のやり方が大変だというのであれば
Logをどこかのtxtファイルにはく、という手もある。
Logをどこかのtxtファイルにはく、という手もある。
301デフォルトの名無しさん (ワッチョイ bf3d-kB/c)
2021/10/04(月) 14:13:00.80ID:1MgeDxIh0 >>299,300
ブレイクポイントを貼ると落ちない。
なんとなくやばい場所は分かってるんだけど、on errorでもcatchできないんだよな。
やってることは、 uiautomationを使ってコンボボックス叩く(Expand)てことやってるんだが、
おそらくその行で落ちるんだが、
落ちずに成功する場合もあるんだよな。
ブレイクポイントを貼ると落ちない。
なんとなくやばい場所は分かってるんだけど、on errorでもcatchできないんだよな。
やってることは、 uiautomationを使ってコンボボックス叩く(Expand)てことやってるんだが、
おそらくその行で落ちるんだが、
落ちずに成功する場合もあるんだよな。
302デフォルトの名無しさん (ワッチョイ cf68-2jfQ)
2021/10/04(月) 14:34:03.70ID:AbV0YbaI0 >>301
WinAPIで似たような事があった
本来待ち時間が必要な処理を待たずに次へ行くからブレイクポイント無しだと落ちるってケースね
怪しい所にSleep関数使って500ミリ秒待たせたら落ちなくなった事があるよ
WinAPIで似たような事があった
本来待ち時間が必要な処理を待たずに次へ行くからブレイクポイント無しだと落ちるってケースね
怪しい所にSleep関数使って500ミリ秒待たせたら落ちなくなった事があるよ
303デフォルトの名無しさん (ワッチョイ bf3d-kB/c)
2021/10/04(月) 15:02:49.67ID:1MgeDxIh0 298です。
いろいろ試してみると、マクロを実行じゃなくてステップインボタン押してF5で実行させると落ちない事がわかった。
ならば、待ち時間の問題かと思って、sleepとかDoEventsを入れてみても、落ちる。
今の所唯一の回避策がステップイン+F5だな。
ググるとステップインだとうまくいくていう記事は散見されるが、合理的な説明はない。
いろいろ試してみると、マクロを実行じゃなくてステップインボタン押してF5で実行させると落ちない事がわかった。
ならば、待ち時間の問題かと思って、sleepとかDoEventsを入れてみても、落ちる。
今の所唯一の回避策がステップイン+F5だな。
ググるとステップインだとうまくいくていう記事は散見されるが、合理的な説明はない。
304デフォルトの名無しさん (ブーイモ MMff-Ig7M)
2021/10/04(月) 15:29:55.92ID:NBSFfuMDM コンボボックスって表示したときにはテータは入ってなくて
クリックされたときにデータを読みに行くとかじゃなかったかな
クリックされたときにデータを読みに行くとかじゃなかったかな
305デフォルトの名無しさん (ワッチョイ cfda-2jfQ)
2021/10/04(月) 18:42:56.09ID:CJXp4LD30 タイマーの間隔が短すぎなんじゃね
306デフォルトの名無しさん (アウアウウー Sa27-1D0T)
2021/10/04(月) 19:42:11.08ID:2sXWsmVMa ワークブック開きすぎ(それも容量やシートが多すぎ)や、複数アプリケーション開きながらマクロ動かすと遅くなるからそういうところからも気をつけるといいかもしれない事例
307デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/04(月) 20:35:24.21ID:X/RNGavO0 >>303
当たりをつけるというフィジカルな部分ももちろん大事だけれど、本当に自分が当たりをつけたところが原因なのか切り分けを行った方がいいね。
その為にもどこで落ちているかを確定するのが一番先にやることだよね。やっぱりLogをtxtファイルか何かに出力するのが遠回りになるようで一番近道かもしれないよ。
箇所箇所で吐き出すロジック組み込んで、毎回書き込んでセーブしておけばどこで途切れたかで分かると思うからそれで絞り込んでどの命令で落ちたかを確定出来れば儲けもの。
もっとも、都度落ちる箇所が違う場合もあるかもだろうけど、そうなったらそうなったでそれから当たりをつけて調べればいいのであって、まず落ちている箇所が特定出来れば原因もある程度絞れるよね。
当たりをつけるというフィジカルな部分ももちろん大事だけれど、本当に自分が当たりをつけたところが原因なのか切り分けを行った方がいいね。
その為にもどこで落ちているかを確定するのが一番先にやることだよね。やっぱりLogをtxtファイルか何かに出力するのが遠回りになるようで一番近道かもしれないよ。
箇所箇所で吐き出すロジック組み込んで、毎回書き込んでセーブしておけばどこで途切れたかで分かると思うからそれで絞り込んでどの命令で落ちたかを確定出来れば儲けもの。
もっとも、都度落ちる箇所が違う場合もあるかもだろうけど、そうなったらそうなったでそれから当たりをつけて調べればいいのであって、まず落ちている箇所が特定出来れば原因もある程度絞れるよね。
308デフォルトの名無しさん (ドコグロ MMa7-E/uf)
2021/10/04(月) 20:43:05.82ID:TWw1hYLnM >>296
たいていはユーザー定義型で十分
たいていはユーザー定義型で十分
309デフォルトの名無しさん (ワッチョイ 3349-rn75)
2021/10/04(月) 22:16:21.62ID:YLhov1R00 For i = 1 to 10
Call Sleep(200)
DoEvents
Next i
Call Sleep(200)
DoEvents
Next i
310デフォルトの名無しさん (ワッチョイ e38e-6V0L)
2021/10/05(火) 00:51:53.00ID:AqVIusQn0 >>296
お前の知能が足りなくてアウアウしてるだけだろ
お前の知能が足りなくてアウアウしてるだけだろ
311デフォルトの名無しさん (アウアウキー Sa87-Kp1k)
2021/10/05(火) 15:40:04.36ID:dJ3N05Swa ちょっと教えてください
コントロール上にマルチページ「Multipage1」があるとき、下を実行するとエラーが出るんですが、何故か分からんのです
Private Sub UserForm_Initialize()
Dim buf As String
buf = "D3"
Set MP = MultiPage1
MP.Pages.Add
MP.Pages("Page3").Name = buf
MP.Pages(buf).Name = "X3" ←ここ。「13:型が一致しません」
End Sub
コントロール上にマルチページ「Multipage1」があるとき、下を実行するとエラーが出るんですが、何故か分からんのです
Private Sub UserForm_Initialize()
Dim buf As String
buf = "D3"
Set MP = MultiPage1
MP.Pages.Add
MP.Pages("Page3").Name = buf
MP.Pages(buf).Name = "X3" ←ここ。「13:型が一致しません」
End Sub
312デフォルトの名無しさん (アウアウキー Sa87-Kp1k)
2021/10/05(火) 15:45:39.37ID:dJ3N05Swa 補足ながら>>311はMPもマルチページとして宣言するか該当箇所をMP.Pages("D3").Name = "X3"に書き換えれば期待通り動くんですよね
どういう仕組みなのか
どういう仕組みなのか
313デフォルトの名無しさん (オッペケ Sr47-Ug22)
2021/10/05(火) 15:56:25.07ID:hS5WuwV9r worksheetfunctionの引数に配列入れるときって数に上限があるな
警告も出さないしほんまクソ
警告も出さないしほんまクソ
314デフォルトの名無しさん (オッペケ Sr47-PY+R)
2021/10/05(火) 15:56:31.46ID:hS5WuwV9r worksheetfunctionの引数に配列入れるときって数に上限があるな
警告も出さないしほんまクソ
警告も出さないしほんまクソ
315デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/05(火) 16:15:51.73ID:2oqKIsmm0316デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/05(火) 16:19:44.73ID:2oqKIsmm0 あ、でもこっちはOption Explicit 付けてたから
MPはキチンと型宣言してたな。
でもそこはあまり関係ないよね?
MPはキチンと型宣言してたな。
でもそこはあまり関係ないよね?
317デフォルトの名無しさん (アウアウキー Sa87-Kp1k)
2021/10/05(火) 16:21:29.24ID:dJ3N05Swa318デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/05(火) 16:29:34.84ID:2oqKIsmm0319デフォルトの名無しさん (アウアウキー Sa87-Kp1k)
2021/10/05(火) 16:32:02.05ID:dJ3N05Swa variant/object/multipageでした
320デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/05(火) 16:36:45.31ID:2oqKIsmm0321デフォルトの名無しさん (アウアウキー Sa87-Kp1k)
2021/10/05(火) 16:39:04.47ID:dJ3N05Swa そうですね、とりあえず急ぎとか困りではないので一旦これで…
ご回答ありがとうございました
ご回答ありがとうございました
322デフォルトの名無しさん (ブーイモ MM1f-Ig7M)
2021/10/05(火) 18:26:27.16ID:jAVyPZWcM 型推論するのに失敗してるんじゃね
323デフォルトの名無しさん (ワッチョイ b32f-slNU)
2021/10/05(火) 21:37:47.06ID:LdUtAYwX0 Pagesの引数に変数渡すと数字として解釈しようとしてるっぽいな
buf = "2" とかにするとIndex=2のページを参照してるようだ
文字列リテラルならちゃんと名称として解釈してるっぽい
ちな365の64ビット
これ以上はサポートにでも問い合わせるしかねぇんじゃね
buf = "2" とかにするとIndex=2のページを参照してるようだ
文字列リテラルならちゃんと名称として解釈してるっぽい
ちな365の64ビット
これ以上はサポートにでも問い合わせるしかねぇんじゃね
324デフォルトの名無しさん (アウアウウー Sa27-4HLA)
2021/10/07(木) 18:28:58.89ID:p9itA/YXa マクロの記録機能使ってマクロの作成したいんだがピボットテーブルのプルダウンから任意の値だけを抜き出すのってどうやってやればいいの?
毎回モジュール見直すとvisible farceになってて要するに抜き出したいもの以外を表示しないようにしてる構文て事だよね?
こうなると仮に次回このマクロを使う時にvisible farceになってない値が新しく出てくるとそれも表示されちゃうって事だよね?
じゃなくていくら値が増えても決められた値だけを抜き出すように作りたいんだ
どなたか教えて下さい
毎回モジュール見直すとvisible farceになってて要するに抜き出したいもの以外を表示しないようにしてる構文て事だよね?
こうなると仮に次回このマクロを使う時にvisible farceになってない値が新しく出てくるとそれも表示されちゃうって事だよね?
じゃなくていくら値が増えても決められた値だけを抜き出すように作りたいんだ
どなたか教えて下さい
325デフォルトの名無しさん (ワッチョイ c310-eIP4)
2021/10/07(木) 20:11:24.24ID:70iiidwq0 >>324
記録してみてどうなってるか見てみれば分かるじゃん
記録してみてどうなってるか見てみれば分かるじゃん
326デフォルトの名無しさん (ワッチョイ f35f-1D0T)
2021/10/07(木) 21:05:39.19ID:D5dO/oMJ0327デフォルトの名無しさん (ワッチョイ 435f-nDZW)
2021/10/07(木) 21:29:48.70ID:AykPZAFh0 ActiveSheet.PivotTables("ぴぼっとてーぶる").PivotFields("ふぃーるど").ClearAllFilters
ActiveSheet.PivotTables("ぴぼっとてーぶる").PivotFields("ふぃーるど").PivotFilters.Add Type:=xlCaptionEquals, Value1:="表示したいもの"
ActiveSheet.PivotTables("ぴぼっとてーぶる").PivotFields("ふぃーるど").PivotFilters.Add Type:=xlCaptionEquals, Value1:="表示したいもの"
328デフォルトの名無しさん (ワッチョイ e301-RzFA)
2021/10/07(木) 23:55:42.12ID:P9pCLiyt0 VBAで最適化したら仕事増やされた話ってよく聞くけど
そいつが辞めたらそいつに回されてた膨大な仕事はどうなるん
そいつが辞めたらそいつに回されてた膨大な仕事はどうなるん
329デフォルトの名無しさん (アウアウキー Sacb-h0Ad)
2021/10/08(金) 00:17:45.54ID:sJT5Ti/qa うちの職場は適当にvbaでつくったやつをちゃんとしたアプリに置き換えてるよ
330デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/08(金) 00:31:33.80ID:GXvDbP/z0 アプリだろうがvbaだろうが作った人間がやめたらメンテできなくて終わるんじゃないの
開発者が大勢いるようなレアな職場ならともかく
vba使ってるところなんてたいてい事務で
エクセル職人が少数いるだけだろ
開発者が大勢いるようなレアな職場ならともかく
vba使ってるところなんてたいてい事務で
エクセル職人が少数いるだけだろ
331デフォルトの名無しさん (テテンテンテン MM86-Rkqs)
2021/10/08(金) 00:37:30.31ID:d3eTt0zpM 実際にはそういうときには業務そのものが消滅するケースも多いよ
そもそもVBAで簡単に自動化できるような業務はもともと無意味であるものが多いからな
そもそもVBAで簡単に自動化できるような業務はもともと無意味であるものが多いからな
332デフォルトの名無しさん (ワッチョイ 9eda-JSxF)
2021/10/08(金) 02:32:08.41ID:KEaimES90 人がやめた後に職場がどうなるかはその職場の責任者が決めるんじゃね
下っ端が気にすることじゃない
下っ端が気にすることじゃない
333デフォルトの名無しさん (スフッ Sdea-JSxF)
2021/10/08(金) 04:11:36.40ID:vcejz6/Ud 市販アプリでも、天才的な開発者が辞めて、会社もろともアプリもダメになって終わったパターンをいくつも見てきた
334デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/08(金) 07:11:46.26ID:GXvDbP/z0335デフォルトの名無しさん (アウアウウー Sa2f-YkK2)
2021/10/08(金) 08:09:49.53ID:Am1Ugnvua336デフォルトの名無しさん (ワッチョイ 8a05-GJBa)
2021/10/08(金) 09:40:27.58ID:JQJjKarL0 CPU使用率が大きかったのでダメもとで開いて修復を実行したら
かなり軽くなるのな、知らんかった
これ定期的にやったほうがいいのか?
VBAのコードを一旦退避させるのが面倒だが...
かなり軽くなるのな、知らんかった
これ定期的にやったほうがいいのか?
VBAのコードを一旦退避させるのが面倒だが...
337デフォルトの名無しさん (ワッチョイ 5f2f-GJBa)
2021/10/08(金) 17:00:42.44ID:EVmjGNOc0 >>336
詳しく
詳しく
338デフォルトの名無しさん (ワッチョイ de10-J+i2)
2021/10/08(金) 22:11:41.59ID:x7uCSItJ0 属人的にならない仕組みで効率化できればいいんだが、頭の中が古き良きな方々が幅を利かせる日本ではなかなか難しい
339デフォルトの名無しさん (ワッチョイ b301-A6QN)
2021/10/09(土) 01:49:50.17ID:98oBjVW70 自分が初めてVBAを使って解決した時点で、他にVBAを使う人がいないんだから属人化しないわけがないと思うけどな
しかもVBAってプログラミング言語の中では非常に初心者向けなわけで、
誰もVBAで組めない=プログラミングに全員疎いのはほぼ決定なんだから尚更さ
VBAを共通知識にしたいっていうのは、
最初にプログラミングっていう一般的には取っ付き難い物に興味を持たせるっていう途轍もなく大きなハードルを超える必要があって、
それは「興味がある生徒に教える」プログラミング講師以上に難しいと思う
相当な根気が必要だと思うよ
しかもVBAってプログラミング言語の中では非常に初心者向けなわけで、
誰もVBAで組めない=プログラミングに全員疎いのはほぼ決定なんだから尚更さ
VBAを共通知識にしたいっていうのは、
最初にプログラミングっていう一般的には取っ付き難い物に興味を持たせるっていう途轍もなく大きなハードルを超える必要があって、
それは「興味がある生徒に教える」プログラミング講師以上に難しいと思う
相当な根気が必要だと思うよ
340デフォルトの名無しさん (ワッチョイ 5f2f-GJBa)
2021/10/09(土) 02:16:01.12ID:2HXwYm4Z0 そもそも人に仕事が割り振られた段階で属人化されてるわけで
たんに次の人が困って終わりだよ
たんに次の人が困って終わりだよ
341デフォルトの名無しさん (ワッチョイ b301-A6QN)
2021/10/09(土) 02:30:43.66ID:98oBjVW70 確かに。
レス漁ってみたが、
ここでいう「属人化で困る」は「他の人にはできないVBAというテクニックを持つオレスゲー」を単にオブラートに包んだだけっぽい感じがするな
レス漁ってみたが、
ここでいう「属人化で困る」は「他の人にはできないVBAというテクニックを持つオレスゲー」を単にオブラートに包んだだけっぽい感じがするな
342デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/09(土) 02:49:32.47ID:0Qsp0NFP0 マクロの効率化ガン無視で社員の手が開いた分だけ仕事を割り振る上司がいるらしいけど
その時点である意味属人化してるよね
その仕事引き継ぐやつ
まずさばき切れないだろ
その時点である意味属人化してるよね
その仕事引き継ぐやつ
まずさばき切れないだろ
343デフォルトの名無しさん (ワッチョイ 9eda-JSxF)
2021/10/09(土) 04:49:21.33ID:UCXjyRPA0 うちの職場ではほとんどの人がマクロできるけど、新人に自信持たせるためにわざわざ気を使って
「君マクロできるなんて凄いね〜」っておだててるのに同調するのが正直めんどくさい
「君マクロできるなんて凄いね〜」っておだててるのに同調するのが正直めんどくさい
344デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/09(土) 04:50:24.64ID:0Qsp0NFP0 そういうとこは給料高そうで羨ましい
345デフォルトの名無しさん (ワッチョイ 9eda-JSxF)
2021/10/09(土) 05:01:41.26ID:UCXjyRPA0 >>344
給料は個人の能力に比例します
給料は個人の能力に比例します
346デフォルトの名無しさん (スプッッ Sd02-JSxF)
2021/10/09(土) 08:10:48.77ID:KDe6uexsd 新人の育成は面倒だけど将来的に必要なことだからなあ
褒めた方が上達が早いってのも科学的に証明されつつあるし、そういうもんだからあきらめろ
褒めた方が上達が早いってのも科学的に証明されつつあるし、そういうもんだからあきらめろ
347デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/09(土) 08:19:40.75ID:0Qsp0NFP0 全員VBAできるとか絶対給料高いとこだろ
うちのところなんて一人しかいないよ
しかも残りは関数すらまともにあつない
うちのところなんて一人しかいないよ
しかも残りは関数すらまともにあつない
348デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/09(土) 08:21:07.29ID:0Qsp0NFP0 おかげで効率がすげー悪い
基本は専用ソフト扱うからエクセルは必須ではないとはいえ
それでもエクセルやVBAやれるのとやれないのとでは効率が雲泥の差
基本は専用ソフト扱うからエクセルは必須ではないとはいえ
それでもエクセルやVBAやれるのとやれないのとでは効率が雲泥の差
349デフォルトの名無しさん (ラクッペペ MM86-65Sl)
2021/10/09(土) 08:31:06.39ID:HlWFX8NcM 選民思想ここに極まれり
350デフォルトの名無しさん (ワッチョイ 1bda-JSxF)
2021/10/09(土) 08:33:14.89ID:qDyUb0P50 研修とか外部の自宅学習プログラムでもやったら?
費用は会社持ち、報奨金も少しは付けて
費用は会社持ち、報奨金も少しは付けて
351デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/09(土) 08:37:41.66ID:0Qsp0NFP0 そんな金あったら給料上げてレベルの高い人材雇うか
もうちょっとマシな専用ソフト使ってる
金をケチったせいでオンボロ専用ソフト使わせれて
専用ソフトじゃフォローしきれないのでエクセル活用しないと行けない羽目になってる
もうちょっとマシな専用ソフト使ってる
金をケチったせいでオンボロ専用ソフト使わせれて
専用ソフトじゃフォローしきれないのでエクセル活用しないと行けない羽目になってる
352デフォルトの名無しさん (スフッ Sdea-JSxF)
2021/10/09(土) 08:57:09.18ID:g5OHjBNSd 会社は社員に楽させたいと思ってるわけじゃない、という大前提
人材なんて時間いっぱい、めいっぱい働かせてナンボ
安いアプリを買って、あとは社員にやらせて、それで回ってるなら何も問題ないんだよ
人材なんて時間いっぱい、めいっぱい働かせてナンボ
安いアプリを買って、あとは社員にやらせて、それで回ってるなら何も問題ないんだよ
353デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/09(土) 09:27:27.16ID:0Qsp0NFP0 高い金出して高価な専用ソフト使うくらいなら
多少残業代だしてもいいからボロソフト使ったほうが安上がりだからな
多少残業代だしてもいいからボロソフト使ったほうが安上がりだからな
354デフォルトの名無しさん (ワッチョイ 4a42-sdlf)
2021/10/09(土) 09:42:15.79ID:58+qPlR+0 エクセルはマス目状に文章を入力できるソフトぐらいにしか思ってない人もいるしなあ
355デフォルトの名無しさん (スププ Sdea-J+i2)
2021/10/09(土) 15:35:55.10ID:8vFa8kgUd356デフォルトの名無しさん (アウアウエー Sac2-U6Q3)
2021/10/09(土) 20:10:49.92ID:J89rndhPa セル結合せずにせめて広げろや、とは思う
357デフォルトの名無しさん (ブーイモ MM86-ir1/)
2021/10/09(土) 20:26:49.65ID:XLSjDb/pM セル結合とvlookupをディスってようやくエクセル使いとして一人前
358デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/09(土) 20:30:33.16ID:0Qsp0NFP0 べつにvlookupは悪くないだろ俺は使いたくないけど
359デフォルトの名無しさん (ブーイモ MM4f-ir1/)
2021/10/09(土) 20:58:23.98ID:ZXG2HktNM >俺は使いたくないけど
さりげないアピール
さりげないアピール
360デフォルトの名無しさん (ブーイモ MM4f-ir1/)
2021/10/09(土) 20:59:19.46ID:ZXG2HktNM >俺は使いたくないけど
さりげなさを装ったアピール
さりげなさを装ったアピール
361デフォルトの名無しさん (ドコグロ MMdf-sB7P)
2021/10/09(土) 21:05:39.47ID:LYlfiTybM VLOOKUPディスってるのは情弱だろ
2016からめっちゃ高速化されてるから数万行ぐらいなら普通に使える
2016からめっちゃ高速化されてるから数万行ぐらいなら普通に使える
362デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/09(土) 21:11:18.66ID:0Qsp0NFP0 高速化とかどうでも良い
左端しかデータが使えないのが不便
無駄な検索用データが全部左端に固まる
左端しかデータが使えないのが不便
無駄な検索用データが全部左端に固まる
363デフォルトの名無しさん (ササクッテロレ Sp03-+BSw)
2021/10/10(日) 06:43:03.77ID:LB6rENWtp 個人的に使いたい使いたくないは仕方がない
適材適所で最適解を出す手段に自ら縛りを掛けているだけだから
それで他の人に迷惑掛けている訳でなければとやかく言う筋合いでも無いしな
適材適所で最適解を出す手段に自ら縛りを掛けているだけだから
それで他の人に迷惑掛けている訳でなければとやかく言う筋合いでも無いしな
364デフォルトの名無しさん (ドコグロ MMdf-sB7P)
2021/10/10(日) 08:15:02.57ID:AQQzB40DM365デフォルトの名無しさん (ワッチョイ 9e68-JSxF)
2021/10/10(日) 10:34:27.64ID:iKRuQHQv0 index matchでええやん
366デフォルトの名無しさん (ブーイモ MM4f-Wbmm)
2021/10/10(日) 15:09:30.75ID:2USb7I2AM MATCHはいちいちIFERROR組み込まなきゃいけないから式が冗長になりがちであんまり好きくない
367デフォルトの名無しさん (スフッ Sdea-JSxF)
2021/10/10(日) 15:39:33.06ID:wqZqaK12d そもそもスピードは求めてない
元データを1日に何回もアップデートするわけじゃないし
元データを1日に何回もアップデートするわけじゃないし
368デフォルトの名無しさん (ワッチョイ 9e68-JSxF)
2021/10/10(日) 15:46:10.06ID:iKRuQHQv0 >>366は何使ってんの?
369デフォルトの名無しさん (ブーイモ MM4f-Wbmm)
2021/10/10(日) 16:04:08.10ID:2USb7I2AM >>368
あんまり関数でデータベース検索かけたくないけどかけなきゃいけないならXLOOKUP、自分以外が使う可能性があるならVLOOKUPかHLOOKUPかなぁ
状況に合わないならMATCHも使うけど使用優先度は低め
VBAにやらせる時も中に確実に存在する場合でなければRange型にFind使って放り込む事が多いかも
Is Nothingで見つからない場合でも処理が止まらずに弾けるし
あんまり関数でデータベース検索かけたくないけどかけなきゃいけないならXLOOKUP、自分以外が使う可能性があるならVLOOKUPかHLOOKUPかなぁ
状況に合わないならMATCHも使うけど使用優先度は低め
VBAにやらせる時も中に確実に存在する場合でなければRange型にFind使って放り込む事が多いかも
Is Nothingで見つからない場合でも処理が止まらずに弾けるし
370デフォルトの名無しさん (ワッチョイ 9e68-JSxF)
2021/10/10(日) 16:23:38.63ID:iKRuQHQv0371デフォルトの名無しさん (ドコグロ MMdf-sB7P)
2021/10/10(日) 16:30:18.62ID:6uQRu7X1M372デフォルトの名無しさん (ワッチョイ 67da-JSxF)
2021/10/10(日) 16:51:12.87ID:JSJMRLhD0 ある行を内容の変更は自由にできるけど削除できないようにすることはできますか?
373デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/10(日) 17:26:53.27ID:rp73utgy0 それ、ここでする質問?
374デフォルトの名無しさん (ワッチョイ 0668-Mxyx)
2021/10/10(日) 17:53:50.05ID:19DRUExW0375デフォルトの名無しさん (ワッチョイ 0310-1otZ)
2021/10/10(日) 18:04:32.90ID:u+pPz2Uo0 ゴミみたいな回答ばかり
376デフォルトの名無しさん (ワッチョイ 9eda-h0Ad)
2021/10/10(日) 19:05:42.11ID:eL4HRu610 じゃあ、ゴミじゃない回答よろ
377デフォルトの名無しさん (ワッチョイ 03d0-Oubo)
2021/10/10(日) 19:35:34.55ID:rFwRYXWV0 「削除できないように」というのが:
・「セルや行の削除をできないようにしたい」→シートの保護で対処
・「値の変更はできるが消去(空欄に)できないようにしたい」→入力規則で対処
・「セルや行の削除をできないようにしたい」→シートの保護で対処
・「値の変更はできるが消去(空欄に)できないようにしたい」→入力規則で対処
378デフォルトの名無しさん (ワッチョイ 9eda-JSxF)
2021/10/10(日) 20:12:04.54ID:eL4HRu610 対処の方法がわからないのかと思ったら、対処する方法があるのかどうかの質問だったのかw
379372 (ワッチョイ 67da-JSxF)
2021/10/11(月) 00:26:21.39ID:Z2LLk70Q0380デフォルトの名無しさん (ワッチョイ 635f-hK1x)
2021/10/11(月) 14:09:59.80ID:7nZn8gcC0381デフォルトの名無しさん (ワッチョイ 67da-jfFw)
2021/10/11(月) 14:59:32.76ID:Z2LLk70Q0382デフォルトの名無しさん (アウアウクー MM43-tvk4)
2021/10/11(月) 18:57:29.54ID:nQqo0+vnM 空白に編集する場合とかどう取り扱うつもりなんだろう
383デフォルトの名無しさん (ワッチョイ de10-J+i2)
2021/10/11(月) 20:49:58.25ID:SLAXBehE0 クビか配置転換したほうがよいかと
384デフォルトの名無しさん (ワッチョイ 0b8e-o/se)
2021/10/11(月) 21:18:23.92ID:oro4FUng0 馬鹿でもある程度作れてしまうからダメなんだよな
385デフォルトの名無しさん (ワッチョイ 9eda-JSxF)
2021/10/12(火) 18:51:44.09ID:F8L1eENx0 それを求める環境が悪い
386デフォルトの名無しさん (ワッチョイ 9eda-JSxF)
2021/10/14(木) 18:44:35.26ID:FbYeSmKT0 空白は削除じゃないんじゃね
387デフォルトの名無しさん (オッペケ Sr03-iuVz)
2021/10/14(木) 19:05:30.78ID:DEjpZ/5cr メーカー開発設計だけど実験データ処理とかで
なれないながら頑張ってvba使ってるけど
試行錯誤で調べながらだからあんまりシート使ってるときと比べて効率化できてる気がしない…
でもシートでチマチマするよりは知的労働してる気がするし
いつかのペイオフを期待するわ
なれないながら頑張ってvba使ってるけど
試行錯誤で調べながらだからあんまりシート使ってるときと比べて効率化できてる気がしない…
でもシートでチマチマするよりは知的労働してる気がするし
いつかのペイオフを期待するわ
388デフォルトの名無しさん (ワッチョイ 0310-1otZ)
2021/10/14(木) 20:42:17.77ID:BHqqoV+20 あるレベルを超えると突然やりたいことはこうやりゃいいじゃんってなってバリバリ書けるようになる
389デフォルトの名無しさん (ワッチョイ 0668-Mxyx)
2021/10/14(木) 22:26:04.22ID:FxTzsGq40 set覚えてオブジェクトの概念覚えてイベントを理解してしばらくするとほぼ全ての場面で対応できるようになる
390デフォルトの名無しさん (ワッチョイ 6b01-18WC)
2021/10/15(金) 06:17:54.01ID:YCIon6in0 色々覚えて余計な知識が付いてきて、
これはもっと綺麗に書けるんじゃないか?っていう欲が出て進まなくなる事が増えたんだけどどうすりゃいいのか
今までは明らかに冗長で読みづらいコードが多かったけど、生産性で見れば高かったように思う
特にプログラミング自体に興味が出てきて他の言語の記事も見るようになって、
そこで得た知識をVBAで無理に再現しようとしてドツボに嵌る事態も多いように感じる
これはもっと綺麗に書けるんじゃないか?っていう欲が出て進まなくなる事が増えたんだけどどうすりゃいいのか
今までは明らかに冗長で読みづらいコードが多かったけど、生産性で見れば高かったように思う
特にプログラミング自体に興味が出てきて他の言語の記事も見るようになって、
そこで得た知識をVBAで無理に再現しようとしてドツボに嵌る事態も多いように感じる
391デフォルトの名無しさん (ワッチョイ 9f4f-/GGz)
2021/10/15(金) 07:30:19.61ID:xvvRRo/+0 >>390
まず単一責任原則に沿って作るといいよ。
つらつらとコードを一直線に書くんじゃなくて、
役割に合わせてメソッドや関数を作って
それを部品として組み立てて行くイメージ。
後、他言語をやっていてクラスや
インターフェースの概念を理解しているなら
行き当たりばったりで最初からコードを
書くんじゃなくてどういう構成で組むかを
一度図に書いてイメージしてから作るといいよ。
そのためにもUMLとかもかじっておくと
いいんじゃないかな。
後は暇なときにデザインパターンの本でも
読んでおいて使えそうなのだけ
使えばいいんじゃないかな。
ただ、VBAでは自分一人で使うんであれば
それでいいけど、後々人が見たり手を入れたり
することを考えると、やり過ぎると
そもそもその辺の概念を理解していない
人が多いからね。自分以外誰も触れない
オナニーコードの完成だよ。
その辺は気を付けないとね。
まず単一責任原則に沿って作るといいよ。
つらつらとコードを一直線に書くんじゃなくて、
役割に合わせてメソッドや関数を作って
それを部品として組み立てて行くイメージ。
後、他言語をやっていてクラスや
インターフェースの概念を理解しているなら
行き当たりばったりで最初からコードを
書くんじゃなくてどういう構成で組むかを
一度図に書いてイメージしてから作るといいよ。
そのためにもUMLとかもかじっておくと
いいんじゃないかな。
後は暇なときにデザインパターンの本でも
読んでおいて使えそうなのだけ
使えばいいんじゃないかな。
ただ、VBAでは自分一人で使うんであれば
それでいいけど、後々人が見たり手を入れたり
することを考えると、やり過ぎると
そもそもその辺の概念を理解していない
人が多いからね。自分以外誰も触れない
オナニーコードの完成だよ。
その辺は気を付けないとね。
392デフォルトの名無しさん (ワッチョイ ef68-VjlT)
2021/10/15(金) 07:53:52.36ID:i1GdH9Fr0393デフォルトの名無しさん (ゲマー MM3f-/SeR)
2021/10/15(金) 08:56:32.98ID:Ob8xTIA6M メソッドが3つ以上にできそうなときはクラスを検討する
394デフォルトの名無しさん (ラクッペペ MM7f-xEoX)
2021/10/15(金) 09:22:10.96ID:Y66b/sjXM 美しさより速さだよ
最初の頃は両立するが(無駄なSelectなど)
次第によ醜くなっていく
最初の頃は両立するが(無駄なSelectなど)
次第によ醜くなっていく
395デフォルトの名無しさん (エムゾネ FFbf-mxW8)
2021/10/15(金) 10:10:42.08ID:Sjupi756F もう3年くらいExcel使ってないけど全然困らないωωω
396デフォルトの名無しさん (ワッチョイ 2b10-c8v8)
2021/10/15(金) 11:34:26.87ID:r1bpZsgJ0 ふーん
397デフォルトの名無しさん (ブーイモ MM4f-gSog)
2021/10/15(金) 20:36:17.72ID:WLz9ti2OM >>395
なんでこのスレに居るの?
なんでこのスレに居るの?
398デフォルトの名無しさん (ワッチョイ 6b01-18WC)
2021/10/15(金) 21:42:47.27ID:YCIon6in0 >>391,392
ありがとう
分けた方がスッキリするんだけど、
分けすぎると逆に関数があっちこっちに分散してどれが何に使われているのか分かり辛くなる
そういう時に「どこまで分けるか」っていう塩梅はどういう基準で決めてる?
ありがとう
分けた方がスッキリするんだけど、
分けすぎると逆に関数があっちこっちに分散してどれが何に使われているのか分かり辛くなる
そういう時に「どこまで分けるか」っていう塩梅はどういう基準で決めてる?
399デフォルトの名無しさん (ワッチョイ 9f4f-/GGz)
2021/10/15(金) 22:02:32.86ID:xvvRRo/+0 >>398
役割。
モジュールもメソッドも全てに役割分担を持たせてキチンと仕舞うべき場所に仕舞っておく。
だからその役割を行う為なら100行になろうが1000行になろうがそのメソッドに記載する。
何を持ってしてひとつの役割とするかは作る人のセンスに掛かってくるから場数をこなして慣れるしかないかな。
役割。
モジュールもメソッドも全てに役割分担を持たせてキチンと仕舞うべき場所に仕舞っておく。
だからその役割を行う為なら100行になろうが1000行になろうがそのメソッドに記載する。
何を持ってしてひとつの役割とするかは作る人のセンスに掛かってくるから場数をこなして慣れるしかないかな。
400デフォルトの名無しさん (ワッチョイ 0fda-ZO17)
2021/10/15(金) 22:06:51.27ID:xdjJa8Ad0401デフォルトの名無しさん (ワッチョイ ab5f-UsRe)
2021/10/16(土) 13:55:14.29ID:Hx8OP0An0 >>398
> 分けすぎると逆に関数があっちこっちに分散してどれが何に使われているのか分かり辛くなる
関数にカーソル合わせて「Shift+F2」で定義箇所に飛べるよ
https://www.wordvbalab.com/code/2925/
まあ言語自体も開発環境も貧弱すぎるからまとめたくなっちゃう感覚はわかるけど
> 分けすぎると逆に関数があっちこっちに分散してどれが何に使われているのか分かり辛くなる
関数にカーソル合わせて「Shift+F2」で定義箇所に飛べるよ
https://www.wordvbalab.com/code/2925/
まあ言語自体も開発環境も貧弱すぎるからまとめたくなっちゃう感覚はわかるけど
402デフォルトの名無しさん (ワッチョイ 6b01-Avck)
2021/10/16(土) 16:39:05.71ID:EZGI4ZK10 調べてもわからないのでお聞きしたいです
下の処理でtest3まで処理は正常に行われるんですが
mainに戻ったときに型の不一致でエラーが出て止まってしまいます。
Dim WS As Worksheet
Sub main()
Call test3(TEMP_SHEET)
End Sub
Function TEMP_SHEET() As Worksheet
Set TEMP_SHEET = ThisWorkbook.Worksheets("temp")
Set WS = TEMP_SHEET
End Function
Function test3() As Variant
With WS
.Select
.Cells(1, 1) = "test"
End With
End Function
下の処理でtest3まで処理は正常に行われるんですが
mainに戻ったときに型の不一致でエラーが出て止まってしまいます。
Dim WS As Worksheet
Sub main()
Call test3(TEMP_SHEET)
End Sub
Function TEMP_SHEET() As Worksheet
Set TEMP_SHEET = ThisWorkbook.Worksheets("temp")
Set WS = TEMP_SHEET
End Function
Function test3() As Variant
With WS
.Select
.Cells(1, 1) = "test"
End With
End Function
403デフォルトの名無しさん (ワッチョイ 4b68-ZO17)
2021/10/16(土) 16:51:56.90ID:a6cW1Kja0 test3()なのにcallで引数渡そうとしてる
404デフォルトの名無しさん (ワッチョイ fbe6-twAR)
2021/10/16(土) 17:03:21.91ID:cq/EQnSr0 VariantにはArrayとかも入るから ()付けても書式エラーにはならないのかな
405デフォルトの名無しさん (ワッチョイ 5bda-ir6K)
2021/10/16(土) 17:06:32.68ID:eJomN4xc0406デフォルトの名無しさん (ワッチョイ fbe6-twAR)
2021/10/16(土) 17:09:51.40ID:cq/EQnSr0 test3の実行後にエラーになるのがこの質問のミソだと思うよ
407デフォルトの名無しさん (ブーイモ MM4f-ZO17)
2021/10/16(土) 17:43:21.23ID:nAOL9IkjM >>402
そもそも「test3までは正常」というのが間違い
これではまったく動かない
とりあえず動くようにするなら、たとえばこう書けばいい
ほかにも色々なパターンが考えられるけど、何がやりたいのかよくわからないので
Dim WS As Worksheet
Sub main()
Call TEMP_SHEET
Call test3
End Sub
Sub TEMP_SHEET()
Set WS = ThisWorkbook.Worksheets("temp")
End Sub
Sub test3()
With WS
.Select
.Cells(1, 1) = "test"
End With
End Sub
そもそも「test3までは正常」というのが間違い
これではまったく動かない
とりあえず動くようにするなら、たとえばこう書けばいい
ほかにも色々なパターンが考えられるけど、何がやりたいのかよくわからないので
Dim WS As Worksheet
Sub main()
Call TEMP_SHEET
Call test3
End Sub
Sub TEMP_SHEET()
Set WS = ThisWorkbook.Worksheets("temp")
End Sub
Sub test3()
With WS
.Select
.Cells(1, 1) = "test"
End With
End Sub
408デフォルトの名無しさん (ワッチョイ 2b10-c8v8)
2021/10/16(土) 18:35:14.73ID:Pp6vdwK70 確かにこれではtest3は動かない
409デフォルトの名無しさん (ワッチョイ 0fda-ZO17)
2021/10/16(土) 18:36:14.79ID:njPM+lzE0 >>402
test3まで処理が正常に行われたなら気にしなくていいんじゃね
test3まで処理が正常に行われたなら気にしなくていいんじゃね
410デフォルトの名無しさん (ワッチョイ fb2f-4HJo)
2021/10/16(土) 18:46:34.14ID:m1u7MgLp0 ステップ実行させたら確かにtest3実行するな
こんなのコンパイルエラーで良いと思うんだが、なかなか興味深い
こんなのコンパイルエラーで良いと思うんだが、なかなか興味深い
411デフォルトの名無しさん (ワッチョイ 6b01-Avck)
2021/10/16(土) 18:57:45.79ID:EZGI4ZK10 ありがとうございます!
test3はsubでよかったんですね。
参考にしながらいろいろ試したらできました。
すごく助かりました。
test3はsubでよかったんですね。
参考にしながらいろいろ試したらできました。
すごく助かりました。
412デフォルトの名無しさん (ワッチョイ fb2f-4HJo)
2021/10/16(土) 19:30:00.02ID:m1u7MgLp0 いや、問題はSubかFunctionかじゃないんだが
FunctionをCallしても、戻り値が捨てられるだけで別に問題はないぞ
名前の付け方がまあアレだが
Dim WS As Worksheet の行消して
Function TEMP_SHEET() As Worksheet
Set TEMP_SHEET = ThisWorkbook.Worksheets("temp")
End Function
Function test3(WS As Worksheet) As Variant
With WS
.Select
.Cells(1, 1) = "test"
End With
End Function
とかで動くだろ
FunctionをCallしても、戻り値が捨てられるだけで別に問題はないぞ
名前の付け方がまあアレだが
Dim WS As Worksheet の行消して
Function TEMP_SHEET() As Worksheet
Set TEMP_SHEET = ThisWorkbook.Worksheets("temp")
End Function
Function test3(WS As Worksheet) As Variant
With WS
.Select
.Cells(1, 1) = "test"
End With
End Function
とかで動くだろ
413デフォルトの名無しさん (ワッチョイ 6b01-Avck)
2021/10/16(土) 20:00:16.92ID:EZGI4ZK10 >>412
ありがとうございます。すごく勉強になりました。
ありがとうございます。すごく勉強になりました。
414デフォルトの名無しさん (アウアウエー Sa3f-qeGn)
2021/10/16(土) 21:23:47.08ID:aQ5UbG+6a 最終の答え得るためにいくつの関数に分けるか、というのはどうやったら身につくんでしょうか
415デフォルトの名無しさん (ワッチョイ 4b68-ZO17)
2021/10/16(土) 21:32:26.89ID:a6cW1Kja0 分けたくなったら分ければいい
・朝起きる
・トイレ
・歯磨き
・食事
・デンタルフロス
・着替え
・家出る
寝起きのルーチンとしてトイレ歯磨きをセットとするとか
無い時もある食事デンタルフロスをセットとするとか
歯磨きが先なのは寝起きで飲み食いが嫌で個人的な事だから異論はあると思う
・朝起きる
・トイレ
・歯磨き
・食事
・デンタルフロス
・着替え
・家出る
寝起きのルーチンとしてトイレ歯磨きをセットとするとか
無い時もある食事デンタルフロスをセットとするとか
歯磨きが先なのは寝起きで飲み食いが嫌で個人的な事だから異論はあると思う
416デフォルトの名無しさん (ワッチョイ 0fb0-TpuX)
2021/10/16(土) 21:49:34.88ID:CDLajE+o0417デフォルトの名無しさん (アウアウエー Sa3f-qeGn)
2021/10/17(日) 09:01:15.98ID:MVHP31+Wa418デフォルトの名無しさん (ワッチョイ 2bb1-SdPo)
2021/10/17(日) 11:37:36.37ID:LVwZEVKT0 別スレから来ました
A1 会社名 B1仕事の項目 C1整理番号
B1の項目に従って規定のExcelファイルを開いてA1の会社名とC1の整理番号を合体して名前をつけて保存っていう操作をしたいんだけど、これはVBAで出来ますか?
別件ですがVBAでオススメの書籍があれば教えてください
A1 会社名 B1仕事の項目 C1整理番号
B1の項目に従って規定のExcelファイルを開いてA1の会社名とC1の整理番号を合体して名前をつけて保存っていう操作をしたいんだけど、これはVBAで出来ますか?
別件ですがVBAでオススメの書籍があれば教えてください
419デフォルトの名無しさん (ワッチョイ 8b01-UJka)
2021/10/17(日) 11:41:00.73ID:Vlp9RG+s0 余裕で可能
420デフォルトの名無しさん (ワッチョイ 2b10-8HLh)
2021/10/17(日) 11:47:00.68ID:rQoWwir60421デフォルトの名無しさん (ワッチョイ 9f4f-/GGz)
2021/10/17(日) 12:11:29.02ID:ZLWKnlAP0422デフォルトの名無しさん (ワッチョイ 2b10-8HLh)
2021/10/17(日) 12:14:56.83ID:rQoWwir60 なんでExcelファイル操作するのにRubyスレから来るんだよ
423デフォルトの名無しさん (ワッチョイ 2bb1-SdPo)
2021/10/17(日) 12:16:45.71ID:LVwZEVKT0 別スレから来ました
A1 会社名 B1仕事の項目 C1整理番号
B1の項目に従って規定のExcelファイルを開いてA1の会社名とC1の整理番号を合体して名前をつけて保存っていう操作をしたいんだけど、これはVBAで出来ますか?
別件ですがVBAでオススメの書籍があれば教えてください
A1 会社名 B1仕事の項目 C1整理番号
B1の項目に従って規定のExcelファイルを開いてA1の会社名とC1の整理番号を合体して名前をつけて保存っていう操作をしたいんだけど、これはVBAで出来ますか?
別件ですがVBAでオススメの書籍があれば教えてください
424デフォルトの名無しさん (ワッチョイ 2b10-8HLh)
2021/10/17(日) 12:18:39.23ID:rQoWwir60 頭おかしくなったのか?
425デフォルトの名無しさん (ワッチョイ 2bb1-SdPo)
2021/10/17(日) 12:19:45.69ID:LVwZEVKT0 ブラウザバックしたら投稿した
すまない
Excel質問スレから来た
>>420
名前をつけて保存の前にいろいろやろうとは思ってるけど、VBA素人だからとりあえず名前をつけて保存までにしようと
VBAで出来ることはわかったのでダイマでもステマでもいいのでオススメの書籍を教えてください
すまない
Excel質問スレから来た
>>420
名前をつけて保存の前にいろいろやろうとは思ってるけど、VBA素人だからとりあえず名前をつけて保存までにしようと
VBAで出来ることはわかったのでダイマでもステマでもいいのでオススメの書籍を教えてください
426デフォルトの名無しさん (ワッチョイ 8b01-UJka)
2021/10/17(日) 12:22:55.44ID:Vlp9RG+s0 だってルビースレから来た時点で質問が目的じゃなくて
最終的にルビーコード貼り付けてどやーするのが目的の人だし
最終的にルビーコード貼り付けてどやーするのが目的の人だし
427デフォルトの名無しさん (ワッチョイ 2bb1-SdPo)
2021/10/17(日) 13:08:15.77ID:LVwZEVKT0 ルビースレってそもそもなんなのかって状態なんだが…
この板はブラウザバックで二重投稿した程度で中傷くらったりするのか?
エクセルのVBAについて質問してるのに全然違う答え返ってくるし
この板はブラウザバックで二重投稿した程度で中傷くらったりするのか?
エクセルのVBAについて質問してるのに全然違う答え返ってくるし
428デフォルトの名無しさん (ブーイモ MM4f-gSog)
2021/10/17(日) 13:55:19.97ID:l76d9bPwM ニヤニヤ
429デフォルトの名無しさん (ワッチョイ 0fda-ZO17)
2021/10/17(日) 14:58:05.05ID:OE8yqt320 >>425
自分で本屋に行って内容を確認しようとは思わないのか?
自分で本屋に行って内容を確認しようとは思わないのか?
430デフォルトの名無しさん (ワッチョイ 2b10-8HLh)
2021/10/17(日) 15:24:33.87ID:rQoWwir60 >>425
B1の項目に従ってというのが謎なので気を利かせて絶対パスで指定のファイルを開くようにしたよ。
ちなみに5ちゃんに書くとファイルパスの¥マーク書けないから半角に直してね。
思ってた動きと違うと言うなら自分の質問200回音読してから書いてね。
動作が不足してるならちゃんと質問のここが出来てないって書いてね。
使い方
・データを打ち込んでるブックで、処理させたいデータの行のどの列でもいいから選択しておく
・マクロ実行
・指定したファイルに選択した行のA列+C列のデータの名前で名前をつけて保存される
─────────────────────
Sub test()
Gyo = Selection.Row
Data0 = Cells(Gyo, 1).Value
Data1 = Format(Cells(Gyo, 3), "000")
Namae0 = ThisWorkbook.Path & "¥" & Data0 & Data1 & ".xlsx"
Namae1 = Data0 & Data1 & ".xlsx"
Workbooks.Open "C:\Users\*****.xlsx"
Workbooks("*****.xlsx").SaveAs Filename:=Namae0
Workbooks(Namae1).Close
End Sub
B1の項目に従ってというのが謎なので気を利かせて絶対パスで指定のファイルを開くようにしたよ。
ちなみに5ちゃんに書くとファイルパスの¥マーク書けないから半角に直してね。
思ってた動きと違うと言うなら自分の質問200回音読してから書いてね。
動作が不足してるならちゃんと質問のここが出来てないって書いてね。
使い方
・データを打ち込んでるブックで、処理させたいデータの行のどの列でもいいから選択しておく
・マクロ実行
・指定したファイルに選択した行のA列+C列のデータの名前で名前をつけて保存される
─────────────────────
Sub test()
Gyo = Selection.Row
Data0 = Cells(Gyo, 1).Value
Data1 = Format(Cells(Gyo, 3), "000")
Namae0 = ThisWorkbook.Path & "¥" & Data0 & Data1 & ".xlsx"
Namae1 = Data0 & Data1 & ".xlsx"
Workbooks.Open "C:\Users\*****.xlsx"
Workbooks("*****.xlsx").SaveAs Filename:=Namae0
Workbooks(Namae1).Close
End Sub
431デフォルトの名無しさん (ワッチョイ 8b01-UJka)
2021/10/17(日) 15:26:59.96ID:Vlp9RG+s0 あーあルビーキチガイに無駄なエネルギー使ってる
432デフォルトの名無しさん (ワッチョイ bb5f-n10C)
2021/10/17(日) 15:28:04.20ID:XdTFVkom0 ツンデレで草
433デフォルトの名無しさん (ドコグロ MMcf-ORg4)
2021/10/17(日) 16:11:59.85ID:lULOB+dMM >>430
> Workbooks.Open "C:\Users\*****.xlsx"
> Workbooks("*****.xlsx").SaveAs Filename:=Namae0
> Workbooks(Namae1).Close
こんなふうに書く人いるけどなんで
Dim Book As Workbook
Set Book = Workbooks.Open("C:\Users\*****.xlsx")
Book.SaveAs Filename:=Namae0
Book.Close
って書かないのか不思議だ
> Workbooks.Open "C:\Users\*****.xlsx"
> Workbooks("*****.xlsx").SaveAs Filename:=Namae0
> Workbooks(Namae1).Close
こんなふうに書く人いるけどなんで
Dim Book As Workbook
Set Book = Workbooks.Open("C:\Users\*****.xlsx")
Book.SaveAs Filename:=Namae0
Book.Close
って書かないのか不思議だ
434デフォルトの名無しさん (ワッチョイ ef68-VjlT)
2021/10/17(日) 19:08:06.14ID:F19IWtWk0435デフォルトの名無しさん (ドコグロ MMcf-ORg4)
2021/10/17(日) 19:23:15.59ID:6d2YQk+QM なるほど、結構基本的なことだと思ってたけどそうでもないんかな
シートでも Worksheets("sheet1").~ って書いてる人をよく見る
シートでも Worksheets("sheet1").~ って書いてる人をよく見る
436デフォルトの名無しさん (ワッチョイ 2b10-8HLh)
2021/10/17(日) 19:27:41.57ID:rQoWwir60437デフォルトの名無しさん (スップ Sdbf-4axQ)
2021/10/17(日) 19:29:03.49ID:QrrwaG0ad 後続の処理でworkbookオブジェクトを使わないならWithで纏めちゃうな
With Workbooks.Open("C:\Users\*****.xlsx")
.SaveAs Filename:=Namae0
.Close
End With
こんな感じで
With Workbooks.Open("C:\Users\*****.xlsx")
.SaveAs Filename:=Namae0
.Close
End With
こんな感じで
438デフォルトの名無しさん (ワッチョイ 2b10-8HLh)
2021/10/17(日) 19:31:49.54ID:rQoWwir60 >>437
一行ごとに処理書いてる感なくてスマートでええな。
一行ごとに処理書いてる感なくてスマートでええな。
439デフォルトの名無しさん (ワッチョイ bb5f-sb4T)
2021/10/17(日) 21:41:34.16ID:TEYo+ExJ0 Withは便利だけど積極的には使わない派
後で見返す時にわけわからなくなるから
後で見返す時にわけわからなくなるから
440デフォルトの名無しさん (ワッチョイ fb63-73Qd)
2021/10/17(日) 21:43:33.55ID:80TNtCCb0 ネストしたwithを見たらエディタ閉じるわ
441デフォルトの名無しさん (スップ Sdbf-ZO17)
2021/10/17(日) 21:48:12.01ID:eFAt1kMMd442デフォルトの名無しさん (ドコグロ MMcf-ORg4)
2021/10/17(日) 21:51:58.87ID:W9ZcRzM1M 扱うオブジェクトが1つならいいけど複数あったりサブルーチンに渡したりする時もあるから
443デフォルトの名無しさん (ワッチョイ ef68-VjlT)
2021/10/17(日) 22:22:04.64ID:F19IWtWk0444デフォルトの名無しさん (ワッチョイ 9f4f-/GGz)
2021/10/18(月) 00:37:42.11ID:48un5MBo0 以前VB6スレでもWith Newを使ってる人がいて論議になったことがあったね。
俺はこの方法は有りだと思う。
ひとつしか使えないけど関数やメソッドの中で唯一ひと階層下のスコープを設定出来る方法だからそれを意識した使い方なら。
ただこの方法であまり長いロジックを組むのは確かに可読性に宜しくないのも同意。
だから使いどころに気をつけながら使う方法だと思うよ。
俺はこの方法は有りだと思う。
ひとつしか使えないけど関数やメソッドの中で唯一ひと階層下のスコープを設定出来る方法だからそれを意識した使い方なら。
ただこの方法であまり長いロジックを組むのは確かに可読性に宜しくないのも同意。
だから使いどころに気をつけながら使う方法だと思うよ。
445デフォルトの名無しさん (スプッッ Sd3f-ZO17)
2021/10/18(月) 00:52:44.24ID:5AqMk2S7d オブジェクトを抱えるWithはSubやFunctionとセットで使うんだよ
1つのSubには一つのWith
それ以上になる時は機能を詰め込みすぎだから分割すべき
1つのSubには一つのWith
それ以上になる時は機能を詰め込みすぎだから分割すべき
446デフォルトの名無しさん (ワッチョイ 0fda-ZO17)
2021/10/18(月) 01:37:56.48ID:Zxhiy8zv0447デフォルトの名無しさん (ワッチョイ 9fad-gFAa)
2021/10/18(月) 07:58:42.77ID:Xmojsja+0 複数のファイルじゃなくて複数のフォルダを選択する方法はありますか?
448デフォルトの名無しさん (ドコグロ MMcf-ORg4)
2021/10/18(月) 08:17:54.78ID:iA8avgoCM449デフォルトの名無しさん (アウアウウー Sacf-8a12)
2021/10/19(火) 05:36:51.83ID:s00hPK6/a クリックする
450デフォルトの名無しさん (オッペケ Sr0f-gFAa)
2021/10/19(火) 13:51:25.65ID:DDPhMqNbr パワポもvbaで操作している人はいますか?
また手っ取り早く時短できる部分はありますか?
また手っ取り早く時短できる部分はありますか?
451デフォルトの名無しさん (ドコグロ MMcf-ORg4)
2021/10/19(火) 14:28:41.78ID:P0vvwNoGM >>450
Excel のデータを50枚ぐらいにスライドに整形して表示するって言うのをVBAでやったよ
Excel のデータを50枚ぐらいにスライドに整形して表示するって言うのをVBAでやったよ
452デフォルトの名無しさん (オッペケ Sr0f-gFAa)
2021/10/19(火) 16:06:34.91ID:DDPhMqNbr453デフォルトの名無しさん (ワッチョイ 9f4f-PJ2o)
2021/10/19(火) 16:21:20.09ID:4aO6vjST0 >>452
横槍だけどリンク先ちゃんと下まで読んだ?
横槍だけどリンク先ちゃんと下まで読んだ?
454デフォルトの名無しさん (ワッチョイ 9fe6-HhMZ)
2021/10/19(火) 16:32:01.94ID:wN2ah2c70 全くの初心者です
元エクセルファイルを、そのファイル内の特定のシートの特定のセルないの文字(名前)でフォルダを作成し(作成階層は元エクセルファイルがある場所)、そのフォルダ内にフォルダと同じ名前で元エクセルファイルを出力したいです
検索してみてそれっぽいコードを実行してみましたが上手く行かないか1004のエラーが出てしまうので、できれば教えていただきたいです
元エクセルファイルを、そのファイル内の特定のシートの特定のセルないの文字(名前)でフォルダを作成し(作成階層は元エクセルファイルがある場所)、そのフォルダ内にフォルダと同じ名前で元エクセルファイルを出力したいです
検索してみてそれっぽいコードを実行してみましたが上手く行かないか1004のエラーが出てしまうので、できれば教えていただきたいです
455デフォルトの名無しさん (ブーイモ MM7f-ZO17)
2021/10/19(火) 17:37:09.15ID:4z76YikWM >>454
まずは自分で作ったプログラムをここに貼って
まずは自分で作ったプログラムをここに貼って
456デフォルトの名無しさん (ブーイモ MM7f-W6vP)
2021/10/19(火) 17:40:33.12ID:mCqSTcWyM >>454
流石にエスパーじゃないからそれだけの情報じゃなんとも言えんが、
ファイルの指定が間違ってる可能性がありそう
エラーが出たときにデバッグってボタン押したらどんな命令文の背景が変わってる?
省略しないでその文を一字一句違わず書いてみ?
流石にエスパーじゃないからそれだけの情報じゃなんとも言えんが、
ファイルの指定が間違ってる可能性がありそう
エラーが出たときにデバッグってボタン押したらどんな命令文の背景が変わってる?
省略しないでその文を一字一句違わず書いてみ?
457デフォルトの名無しさん (ワッチョイ 2b8e-ToKj)
2021/10/19(火) 18:02:38.90ID:ukSaGu280 実行してるファイルと同じ名前はダメだろ
458デフォルトの名無しさん (ワッチョイ 5bda-ir6K)
2021/10/19(火) 20:26:31.01ID:DOUatBbL0 >>457
元のファイルがあるフォルダーのサブフォルダーに格納されるんで同じ名前でも大丈夫だよ。
元のファイルがあるフォルダーのサブフォルダーに格納されるんで同じ名前でも大丈夫だよ。
459デフォルトの名無しさん (アウアウウー Sacf-8a12)
2021/10/20(水) 00:29:04.94ID:P5tYW80ga 質問者の勘違いとエスパーしたんじゃね
460デフォルトの名無しさん (スフッ Sdbf-ZO17)
2021/10/20(水) 00:47:36.84ID:Xbyc9Pekd わたしは、エスパー
今、質問者の脳内に、直接、回答を送っています
わたしは、エスパー
今、質問者の脳内に、直接、回答を送っています
わたしは、エスパー
461デフォルトの名無しさん (スフッ Sdbf-ZO17)
2021/10/20(水) 00:49:43.99ID:Xbyc9Pekd 残念です
夜中なので、質問者は、寝てました
残念です
夜中なので、質問者は、寝てました
残念です
462デフォルトの名無しさん (ワッチョイ 9f02-Avck)
2021/10/20(水) 00:53:24.04ID:VLQwVQRS0 なぜプログラム板でExcelVBAのスレが活発なのよ?
日本終わってんな
日本終わってんな
463デフォルトの名無しさん (ワッチョイ 2b10-8HLh)
2021/10/20(水) 03:43:52.55ID:gq1XFNWx0 労働者の多くがExcel使ってんだから需要からしたら普通だろ
464デフォルトの名無しさん (ワッチョイ 9f4f-PJ2o)
2021/10/20(水) 06:13:11.55ID:RXqG14DY0 まぁ年収ランキングとしてもそこそこ高い位置にいるし当然と言えば当然だな
https://xtech.nikkei.com/atcl/nxt/column/18/01068/111100004/
https://xtech.nikkei.com/atcl/nxt/column/18/01068/111100004/
465デフォルトの名無しさん (ワッチョイ 0fda-ZO17)
2021/10/20(水) 10:35:33.40ID:Nii7YXA70 >>462
なんでRubyスレにいかないの?
なんでRubyスレにいかないの?
466デフォルトの名無しさん (スップ Sdbf-ZO17)
2021/10/20(水) 10:37:34.01ID:cqpH7rMEd プログラマーじゃない人もたくさん使ってるから
人が増えるのは必然
人が増えるのは必然
467デフォルトの名無しさん (ワッチョイ 9fe6-HhMZ)
2021/10/20(水) 17:58:56.42ID:DdoeWcxm0 >>456
https://lilia-study.com/excel/vba-sample/cellvalue-save/
Sub hozon()
Dim wb As Workbook
Dim ws As Worksheet
Dim hozonPath As String
Dim FolName As String
Dim FilName As String
Set wb = ThisWorkbook
Set ws = ActiveSheet
hozonPath = “K:\”
FolName = ws.Range(“A1”).Value
FilName = ws.Range(“A2”).Value
wb.SaveAs Filename:=hozonPath & FolName & “\” & FilName
End Sub
このvbaで
A1=A2にして、hozonPathをThisWorkbook.Pathにしたりすればできるかな?と思ったのですが上手く行かずです…
https://lilia-study.com/excel/vba-sample/cellvalue-save/
Sub hozon()
Dim wb As Workbook
Dim ws As Worksheet
Dim hozonPath As String
Dim FolName As String
Dim FilName As String
Set wb = ThisWorkbook
Set ws = ActiveSheet
hozonPath = “K:\”
FolName = ws.Range(“A1”).Value
FilName = ws.Range(“A2”).Value
wb.SaveAs Filename:=hozonPath & FolName & “\” & FilName
End Sub
このvbaで
A1=A2にして、hozonPathをThisWorkbook.Pathにしたりすればできるかな?と思ったのですが上手く行かずです…
468デフォルトの名無しさん (ブーイモ MMcf-W6vP)
2021/10/20(水) 18:30:57.52ID:3UsBchoVM ThisWorkbook.Pathにはケツの¥が付いてないから
ThisWorkbook.Path & ”¥” & FolName & “\” & FilName
に書き換えてみ
ThisWorkbook.Path & ”¥” & FolName & “\” & FilName
に書き換えてみ
469デフォルトの名無しさん (ワッチョイ 4b68-ZO17)
2021/10/20(水) 18:49:10.89ID:YqKlvam70 \
"
半角にしてね
"
半角にしてね
470デフォルトの名無しさん (ワッチョイ fb2f-4HJo)
2021/10/20(水) 20:45:15.20ID:Es2OjjC60 >>467
お前のPCにK:ドライブは存在するのか?
とりあえず
wb.SaveAs のまえに、
MsgBox hozonPath & FolName & “\” & FilName
いれて、表示された内容をかけ
個人名とか入ってたら適当に隠せよ
お前のPCにK:ドライブは存在するのか?
とりあえず
wb.SaveAs のまえに、
MsgBox hozonPath & FolName & “\” & FilName
いれて、表示された内容をかけ
個人名とか入ってたら適当に隠せよ
471デフォルトの名無しさん (ワッチョイ efda-KUiw)
2021/10/20(水) 22:22:06.11ID:mCILNp7G0 超初心者です
以下の対応をさせたいです
@シートを支店分だけ増やす
Aシート名をそれぞれ「支店一覧」A2〜A18の支店名にする
B作成したシートのB5に支店名を入れる
C作成したシートの表のA列が"0"になっている行を削除する
D作成したシートのオートフィルタを解除する
以下のものではエラーになりますが、どこが悪いのでしょうか
Sub シート作成
Dim 支店名 As Range
For Each 名前 In Worksheets("支店一覧").Range("A2:A18")
Worksheets("原本").Copy After:=Worksheets(Worksheets.Count)
With ActiveSheet
.Name = 支店名.Value
.Range("B5") = 支店名.Value
End With
Range("B3").AutoFilter 1, "0"
With Range("B3").CurrentRegion.Offset(1, 0)
.Resize(.Rows.Count - 1).EntireRow.Delete
Range("B3").AutoFilter
End With
Next 支店名
End Sub
以下の対応をさせたいです
@シートを支店分だけ増やす
Aシート名をそれぞれ「支店一覧」A2〜A18の支店名にする
B作成したシートのB5に支店名を入れる
C作成したシートの表のA列が"0"になっている行を削除する
D作成したシートのオートフィルタを解除する
以下のものではエラーになりますが、どこが悪いのでしょうか
Sub シート作成
Dim 支店名 As Range
For Each 名前 In Worksheets("支店一覧").Range("A2:A18")
Worksheets("原本").Copy After:=Worksheets(Worksheets.Count)
With ActiveSheet
.Name = 支店名.Value
.Range("B5") = 支店名.Value
End With
Range("B3").AutoFilter 1, "0"
With Range("B3").CurrentRegion.Offset(1, 0)
.Resize(.Rows.Count - 1).EntireRow.Delete
Range("B3").AutoFilter
End With
Next 支店名
End Sub
472471 (ワッチョイ efda-KUiw)
2021/10/20(水) 22:24:48.55ID:mCILNp7G0 Cは「B列が"0"になっている行を削除する」の誤りでした
473デフォルトの名無しさん (ワッチョイ ef68-KUiw)
2021/10/20(水) 22:37:03.53ID:SCNNHF4n0 とりあえずここだと思う
下の方はサンプル作ってくれれば試すけど、手元にないからよくわkらん
Sub シート作成()
For Each 支店名 In Worksheets("支店一覧").Range("A2:A18")
下の方はサンプル作ってくれれば試すけど、手元にないからよくわkらん
Sub シート作成()
For Each 支店名 In Worksheets("支店一覧").Range("A2:A18")
474471 (ワッチョイ efda-KUiw)
2021/10/20(水) 22:41:41.27ID:mCILNp7G0 >>473
大変失礼いたしました
あるページからコードをコピーしてきたときに修正し忘れました
実際は名前→支店名にしていましたが、エラーとなっていました
エラーの内容の詳細が必要でしたら、明日投稿します
(現在手元にExcelファイルがなく、すみません)
大変失礼いたしました
あるページからコードをコピーしてきたときに修正し忘れました
実際は名前→支店名にしていましたが、エラーとなっていました
エラーの内容の詳細が必要でしたら、明日投稿します
(現在手元にExcelファイルがなく、すみません)
475デフォルトの名無しさん (ワッチョイ 9f42-zMsf)
2021/10/20(水) 23:13:32.77ID:dYcbK4WK0 安心して
手元にエクセルファイルが無いのに記憶だけでそこまで書ければ超初心者じゃないよ
手元にエクセルファイルが無いのに記憶だけでそこまで書ければ超初心者じゃないよ
476デフォルトの名無しさん (ドコグロ MMcf-ORg4)
2021/10/21(木) 05:25:42.24ID:wIUVM+qQM477デフォルトの名無しさん (ワッチョイ ef68-KUiw)
2021/10/21(木) 06:18:01.89ID:8cr/BFDG0478デフォルトの名無しさん (テテンテンテン MM7f-zMsf)
2021/10/21(木) 06:54:51.77ID:MLEFHfinM Select Caseにbreakがないのは何故なんでしょうか
beakがないから最初に一致した条件以降のCaseも
実行されると勘違いしやすい
仕事で大きなトラブルを起こしてしまった…
beakがないから最初に一致した条件以降のCaseも
実行されると勘違いしやすい
仕事で大きなトラブルを起こしてしまった…
479デフォルトの名無しさん (ブーイモ MM7f-W6vP)
2021/10/21(木) 07:06:17.27ID:mcI3miqCM Select Caseって上から順に見て真っ先に当てはまったCaseのみ実行じゃなかった?違うんだっけ?
480デフォルトの名無しさん (ドコグロ MMcf-ORg4)
2021/10/21(木) 07:46:09.23ID:Ue09v+2oM >>478
> Select Caseにbreakがないのは何故なんでしょうか
そういう仕様だから
Pascal とかと同じ
> beakがないから最初に一致した条件以降のCaseも実行されると勘違いしやすい
むしろCとかでbreak忘れてトラブる奴の方が多いだろ
なのでC# はコンパイルエラーにするぐらいだし
> 仕事で大きなトラブルを起こしてしまった…
仕事で使うならちゃんとテストしろよ…
> Select Caseにbreakがないのは何故なんでしょうか
そういう仕様だから
Pascal とかと同じ
> beakがないから最初に一致した条件以降のCaseも実行されると勘違いしやすい
むしろCとかでbreak忘れてトラブる奴の方が多いだろ
なのでC# はコンパイルエラーにするぐらいだし
> 仕事で大きなトラブルを起こしてしまった…
仕事で使うならちゃんとテストしろよ…
481デフォルトの名無しさん (ワッチョイ 9f4f-PJ2o)
2021/10/21(木) 11:01:11.45ID:kxdLHT3P0482デフォルトの名無しさん (ワッチョイ 9f4f-PJ2o)
2021/10/21(木) 11:14:41.56ID:kxdLHT3P0483デフォルトの名無しさん (ワッチョイ 0fda-ZO17)
2021/10/21(木) 12:11:34.23ID:8w0PnAXQ0 select case 普通に動作するんだが、どうやったらトラブル起こせるんだ?
484デフォルトの名無しさん (ワッチョイ 9fe6-HhMZ)
2021/10/21(木) 17:55:34.88ID:88nPUo+s0485デフォルトの名無しさん (ブーイモ MM7f-W6vP)
2021/10/21(木) 18:43:47.31ID:mcI3miqCM だからhozonPathとFoINameの間に¥を入れろって
486デフォルトの名無しさん (ワッチョイ 2b8e-g8Px)
2021/10/21(木) 21:55:14.75ID:fbrP1i9b0 >>484
お前みたいな馬鹿にはVBAは無理だと思うよ
お前みたいな馬鹿にはVBAは無理だと思うよ
487デフォルトの名無しさん (ワッチョイ ef68-KUiw)
2021/10/21(木) 22:14:08.48ID:8cr/BFDG0 >>484
最強料理はケバブ
最強料理はケバブ
488デフォルトの名無しさん (ワッチョイ ef68-KUiw)
2021/10/21(木) 22:16:16.48ID:8cr/BFDG0 コピペ間違えた
>>484
wb.SaveAs Filename:=hozonPath & "\" & FolName & “\” & FilName
で
あと
FolderName
を無理に
FolName
と変に略すと、あとで何書いてるかわからなくなるぞ。
>>484
wb.SaveAs Filename:=hozonPath & "\" & FolName & “\” & FilName
で
あと
FolderName
を無理に
FolName
と変に略すと、あとで何書いてるかわからなくなるぞ。
489デフォルトの名無しさん (ワッチョイ 0f2c-4HJo)
2021/10/21(木) 23:15:26.60ID:5CobycYg0 パス区切りに、/ は使えないの?
例えば、Ruby なら、
glob_pattern = "C:/Users/Owner/Documents/*.txt"
p Dir.glob( glob_pattern )
出力
[ "C:/Users/Owner/Documents/a.txt",
"C:/Users/Owner/Documents/b.txt" ]
例えば、Ruby なら、
glob_pattern = "C:/Users/Owner/Documents/*.txt"
p Dir.glob( glob_pattern )
出力
[ "C:/Users/Owner/Documents/a.txt",
"C:/Users/Owner/Documents/b.txt" ]
490デフォルトの名無しさん (アウアウウー Sa45-/pkb)
2021/10/22(金) 00:34:42.64ID:2cM8PEAKa やってみればわかるんじゃないの?
491デフォルトの名無しさん (ワッチョイ e98e-Ti9O)
2021/10/22(金) 00:44:00.08ID:1RQkewhE0 あまりに馬鹿過ぎると思ったらやっぱりruby馬鹿か
492デフォルトの名無しさん (ワッチョイ e9d0-F3qf)
2021/10/22(金) 00:46:54.73ID:5YslU4UB0 >>484
何をやりたいのかよくわからんけど、連続して2回以上実行すると、実行回数分のネストしたフォルダが必要になるのでエラー吐く。
あと、コピー先のフォルダ/ファイル名はActiveSheetを参照しているので、複数ブック開いていたりするとおかしなことになる。
何をやりたいのかよくわからんけど、連続して2回以上実行すると、実行回数分のネストしたフォルダが必要になるのでエラー吐く。
あと、コピー先のフォルダ/ファイル名はActiveSheetを参照しているので、複数ブック開いていたりするとおかしなことになる。
493デフォルトの名無しさん (ワッチョイ 3901-zxp6)
2021/10/22(金) 01:17:15.93ID:MBOrFbAX0 >>484
保存先のフォルダがないとそのエラーになるから、wb.SaveAsの直前にその確認を入れる
↓で動いたの確認した
'※hozonPathはあるのか
Dim ExistHozonPath As Boolean
ExistHozonPath = Len(Dir(hozonPath, vbDirectory))
If Not ExistHozonPath Then MsgBox hozonPath & "ドライブは存在しません。"
'※FolNameはあるのか
Dim FolFullName As String, ExistFol As Boolean
FolFullName = hozonPath & FolName
ExistFol = Len(Dir(FolFullName, vbDirectory))
If Not ExistFol Then
Dim Question As String
Question = "「" & FolFullName & "」フォルダが存在しません。作成しますか?"
Select Case MsgBox(Question, vbYesNo)
Case vbYes 'はい→作る
MkDir FolFullName
Case vbNo 'いいえ→終了
Exit Sub
End Select
End If
wb.SaveAs Filename:=hozonPath & FolName & "\" & FilName
保存先のフォルダがないとそのエラーになるから、wb.SaveAsの直前にその確認を入れる
↓で動いたの確認した
'※hozonPathはあるのか
Dim ExistHozonPath As Boolean
ExistHozonPath = Len(Dir(hozonPath, vbDirectory))
If Not ExistHozonPath Then MsgBox hozonPath & "ドライブは存在しません。"
'※FolNameはあるのか
Dim FolFullName As String, ExistFol As Boolean
FolFullName = hozonPath & FolName
ExistFol = Len(Dir(FolFullName, vbDirectory))
If Not ExistFol Then
Dim Question As String
Question = "「" & FolFullName & "」フォルダが存在しません。作成しますか?"
Select Case MsgBox(Question, vbYesNo)
Case vbYes 'はい→作る
MkDir FolFullName
Case vbNo 'いいえ→終了
Exit Sub
End Select
End If
wb.SaveAs Filename:=hozonPath & FolName & "\" & FilName
494デフォルトの名無しさん (ワッチョイ 3901-zxp6)
2021/10/22(金) 01:25:21.34ID:MBOrFbAX0 >>493
ドライブない時に終了させるの忘れてた
ドライブない時に終了させるの忘れてた
495デフォルトの名無しさん (アウアウウー Sa45-JHou)
2021/10/22(金) 07:57:46.72ID:uyzrt+dja ユーザーフォーム自体(コードではなくてボタンとかが表示されている方)を印刷する時、
デフォルトで用紙が縦になるんですが、横に出力する方法はないでしょうか?
デフォルトで用紙が縦になるんですが、横に出力する方法はないでしょうか?
496デフォルトの名無しさん (ワッチョイ 05e5-NSZO)
2021/10/22(金) 09:34:10.25ID:EjatPKif0 >>495
Windowsの設定(コンパネ)のプリンタで用紙設定しておく
Windowsの設定(コンパネ)のプリンタで用紙設定しておく
497デフォルトの名無しさん (アウアウウー Sa45-JHou)
2021/10/22(金) 12:17:25.64ID:uyzrt+dja あー、あの縦か横かをオプションボタンで選ぶ画面ですね。
VBA以前の問題でした。失礼しました。
帰宅したら試します。
VBA以前の問題でした。失礼しました。
帰宅したら試します。
498デフォルトの名無しさん (アウアウウー Sa45-Iznz)
2021/10/22(金) 19:20:10.02ID:eWxCtPi7a 横1列に並んだセルを
A B C D E F
1 あああ いいい ううう 阿嗚呼 伊井伊 雨右鵜
2 かかか ききき くくく 可化歌 機器機 久々九
3
↓
A B C
1 あああ いいい ううう
2 阿嗚呼 伊井伊 雨右鵜
3 かかか ききき くくく
4 可化歌 機器機 久々九
のように1行飛びに成形するにはどうしたら良いですか?
A B C D E F
1 あああ いいい ううう 阿嗚呼 伊井伊 雨右鵜
2 かかか ききき くくく 可化歌 機器機 久々九
3
↓
A B C
1 あああ いいい ううう
2 阿嗚呼 伊井伊 雨右鵜
3 かかか ききき くくく
4 可化歌 機器機 久々九
のように1行飛びに成形するにはどうしたら良いですか?
499デフォルトの名無しさん (ワッチョイ e910-pyCU)
2021/10/22(金) 19:23:55.44ID:mTcFiW+U0 頑張ってコピペしろ
500デフォルトの名無しさん (ワッチョイ 42d9-5ORS)
2021/10/22(金) 19:26:54.87ID:cisRZQTm0501デフォルトの名無しさん (ワッチョイ 2eda-WU2P)
2021/10/22(金) 20:37:51.08ID:pZfGL40n0 こういうの自力でできないようじゃ教わってもしょうがないんじゃね
502デフォルトの名無しさん (ワッチョイ 82e6-bdTT)
2021/10/22(金) 20:47:03.46ID:Fa1Ohywp0 >>493
ありがとうございます。満足いく挙動になりました!
ありがとうございます。満足いく挙動になりました!
503>>498 (アウアウウー Sa45-Iznz)
2021/10/22(金) 22:34:54.56ID:0NScRLlYa504デフォルトの名無しさん (ワッチョイ 895f-UBLL)
2021/10/22(金) 22:59:58.93ID:4e59Jt0n0 関数でできる
Sheet1のデータをSheet2に出力するとして、Sheet2のA1に次の式を入力してコピペ
「Sheet1!$A$1:$F$999」は範囲なので適当に直して
=INDEX(Sheet1!$A$1:$F$999,ROUNDUP(ROW()/2,0),IF(MOD(ROW(),2)=1,COLUMN(),COLUMN()+3))
Sheet1のデータをSheet2に出力するとして、Sheet2のA1に次の式を入力してコピペ
「Sheet1!$A$1:$F$999」は範囲なので適当に直して
=INDEX(Sheet1!$A$1:$F$999,ROUNDUP(ROW()/2,0),IF(MOD(ROW(),2)=1,COLUMN(),COLUMN()+3))
505デフォルトの名無しさん (ワッチョイ 824f-iBLV)
2021/10/22(金) 23:08:32.12ID:Jvo+jO0O0 >>498
'標準モジュール側
Sub hoge()
Dim list As New Collection
Dim entity As Class1
Dim i As Integer
Dim j As Integer
For i = 1 To 3
For j = 1 To 4 Step 3
Set entity = New Class1
entity.value1 = Cells(i, j)
entity.value2 = Cells(i, j + 1)
entity.value3 = Cells(i, j + 1)
Call list.Add(entity)
Next
Next
Range("A1:F3").ClearContents
For i = 1 To 6
Cells(i, 1) = list(i).value1
Cells(i, 2) = list(i).value2
Cells(i, 3) = list(i).value3
Next
End Sub
'クラスモジュール側(Class1)
Public value1 As String
Public value2 As String
Public value3 As String
'標準モジュール側
Sub hoge()
Dim list As New Collection
Dim entity As Class1
Dim i As Integer
Dim j As Integer
For i = 1 To 3
For j = 1 To 4 Step 3
Set entity = New Class1
entity.value1 = Cells(i, j)
entity.value2 = Cells(i, j + 1)
entity.value3 = Cells(i, j + 1)
Call list.Add(entity)
Next
Next
Range("A1:F3").ClearContents
For i = 1 To 6
Cells(i, 1) = list(i).value1
Cells(i, 2) = list(i).value2
Cells(i, 3) = list(i).value3
Next
End Sub
'クラスモジュール側(Class1)
Public value1 As String
Public value2 As String
Public value3 As String
506デフォルトの名無しさん (ワッチョイ 824f-Jlrn)
2021/10/22(金) 23:11:35.60ID:Jvo+jO0O0 おっと
ちょい間違い
どこ間違ってるか探してみて
ちょい間違い
どこ間違ってるか探してみて
507デフォルトの名無しさん (ワッチョイ 3901-zxp6)
2021/10/22(金) 23:21:55.85ID:MBOrFbAX0 >>503
というか、普通に手作業でやってる手順をVBAで書き下せばいいだけだよ
コピペ元の範囲の場所を示す
dim srcRow as long
dim srcCol as long
と、
コピペ先の範囲を示す
dim dstRow as long
dim dstCol as long
を作って、
1〜3列目は同じ列、4〜6列目は次の行にコピペ
っていう作業を繰り返せばいい。
ペアになる変数はユーザー定義型を使うと見易くなる
type MatrixIndex
Row as long
Col as long
end type
dim src as MatrixIndex,dst as MatrixIndex
というか、普通に手作業でやってる手順をVBAで書き下せばいいだけだよ
コピペ元の範囲の場所を示す
dim srcRow as long
dim srcCol as long
と、
コピペ先の範囲を示す
dim dstRow as long
dim dstCol as long
を作って、
1〜3列目は同じ列、4〜6列目は次の行にコピペ
っていう作業を繰り返せばいい。
ペアになる変数はユーザー定義型を使うと見易くなる
type MatrixIndex
Row as long
Col as long
end type
dim src as MatrixIndex,dst as MatrixIndex
508デフォルトの名無しさん (アウアウウー Sa45-Iznz)
2021/10/22(金) 23:34:57.82ID:MCKX1YxAa509デフォルトの名無しさん (アウアウウー Sa45-Iznz)
2021/10/22(金) 23:40:58.45ID:rmoybpwYa510デフォルトの名無しさん (ワッチョイ e98e-Ti9O)
2021/10/23(土) 02:07:03.33ID:3lNDidpi0 いつものあいつ
511デフォルトの名無しさん (ワッチョイ 068c-fL9+)
2021/10/24(日) 01:40:51.53ID:BvAAjUlj0 >>498
G列に上から1,2と入れて、さらに下方のデータの無いG列に1,2とコピペする
表全体を選択してフィルターを適用。G列でソートする
以上で一行ごとに空行が挿入される
つづいてD1:F2を選択、コピー
A2に形式を選択して貼り付け(空白を無視する)
出来上がり
G列に上から1,2と入れて、さらに下方のデータの無いG列に1,2とコピペする
表全体を選択してフィルターを適用。G列でソートする
以上で一行ごとに空行が挿入される
つづいてD1:F2を選択、コピー
A2に形式を選択して貼り付け(空白を無視する)
出来上がり
512デフォルトの名無しさん (アウアウウー Sa45-Iznz)
2021/10/24(日) 02:32:09.51ID:k5qcq0CGa513デフォルトの名無しさん (ワッチョイ 05da-WU2P)
2021/10/24(日) 10:50:30.38ID:m64p+skw0 VBAで作ったプロシジャーにショートカットキーを割当てたのですがうまくいきません。
議論用に下のような簡単なプロシジャーをつくり(実際はもっと複雑です)
testShortCutKeyにはCtr+Shift+I
testShortCutKey02にはCtr+Shift+F
を割り当てました。
エクセルのウインドウをアクティブにした状態で
Ctr+Shift+Fを押すと別のアプリのEverNoteがアクティブになり
Ctr+Shift+Iを押すと別のアプリがアクティブになります。
ワードのVBAでも同じくショートカットキーを正しく設定しているのに使えません。
少なくとも今年前半はこんなことはなかったのですが…。
対策はあるでしょうか?
Sub testShortCutKey()
Stop
End Sub
Sub testShortCutKey02()
Stop
End Sub
https://imgur.com/S9WxsoT
議論用に下のような簡単なプロシジャーをつくり(実際はもっと複雑です)
testShortCutKeyにはCtr+Shift+I
testShortCutKey02にはCtr+Shift+F
を割り当てました。
エクセルのウインドウをアクティブにした状態で
Ctr+Shift+Fを押すと別のアプリのEverNoteがアクティブになり
Ctr+Shift+Iを押すと別のアプリがアクティブになります。
ワードのVBAでも同じくショートカットキーを正しく設定しているのに使えません。
少なくとも今年前半はこんなことはなかったのですが…。
対策はあるでしょうか?
Sub testShortCutKey()
Stop
End Sub
Sub testShortCutKey02()
Stop
End Sub
https://imgur.com/S9WxsoT
514デフォルトの名無しさん (ワッチョイ 05da-WU2P)
2021/10/24(日) 10:52:43.48ID:m64p+skw0515デフォルトの名無しさん (ワッチョイ 02a5-iXiw)
2021/10/24(日) 12:20:50.22ID:LZG5kY/b0 普段よく使う色んな独自マクロ機能を右クリックメニューに登録して、
どんな時にも使えるようアドインファイル(.xlam)化して
XLSTARTフォルダにおいて使っています。
ThisWorkbookに下記コードで、登録と終了時の処理を書いているのですが、
Excelを起動終了するたびに、Excel15.xlbのファイルサイズが肥大化していく
現象で困っています。
Sub Workbook_Open()
Call AddRightClickMenu '右クリックメニュー追加
End Sub
Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("Cell").Controls("xxxxx").Delete
End Sub
BeforeCloseの中にExcel15.xlbの強制削除を入れても、勝手にサイズUPした
ファイルが作成されてしまいます。
これを解決する方法があれば、教えてください。
どんな時にも使えるようアドインファイル(.xlam)化して
XLSTARTフォルダにおいて使っています。
ThisWorkbookに下記コードで、登録と終了時の処理を書いているのですが、
Excelを起動終了するたびに、Excel15.xlbのファイルサイズが肥大化していく
現象で困っています。
Sub Workbook_Open()
Call AddRightClickMenu '右クリックメニュー追加
End Sub
Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("Cell").Controls("xxxxx").Delete
End Sub
BeforeCloseの中にExcel15.xlbの強制削除を入れても、勝手にサイズUPした
ファイルが作成されてしまいます。
これを解決する方法があれば、教えてください。
516デフォルトの名無しさん (ワッチョイ 02ad-XhOm)
2021/10/24(日) 14:29:28.09ID:phaY1aKk0 ひとつのシートボタンだけ
まとめたほうが楽じゃないの?
まとめたほうが楽じゃないの?
517デフォルトの名無しさん (ワッチョイ c668-OyHA)
2021/10/24(日) 14:39:49.48ID:DK1tlC+k0518デフォルトの名無しさん (ワッチョイ c668-OyHA)
2021/10/24(日) 14:40:27.40ID:DK1tlC+k0519デフォルトの名無しさん (ワッチョイ 05da-WU2P)
2021/10/25(月) 13:04:03.44ID:wahm2g0s0 >>517,518
有難うございました。
Ctr+Shift+Uは干渉しませんでした。
Ctr+Shift+FとCtr+Shift+Iが他のアプリに割り振られているようです。
Ctr+Shift+Fはそのアプリの設定を外すことができました。
Ctr+Shift+Iは外す方法が見つかりませんので別の組み合わせに変更します。
有難うございました。
Ctr+Shift+Uは干渉しませんでした。
Ctr+Shift+FとCtr+Shift+Iが他のアプリに割り振られているようです。
Ctr+Shift+Fはそのアプリの設定を外すことができました。
Ctr+Shift+Iは外す方法が見つかりませんので別の組み合わせに変更します。
520デフォルトの名無しさん (ワッチョイ 02ad-XhOm)
2021/10/25(月) 21:49:13.26ID:YikV54AJ0 ショートカットに拘るのが
わからん
わからん
521471 (ワッチョイ 2eda-OyHA)
2021/10/26(火) 13:17:41.14ID:NeMLM07o0 >>471,472,474です。
間があいてしまい、申し訳ございません。
マクロを実施すると、「支店一覧」A2:A18のA2,A3,A4のシートまでは対応が完了するのですが、
その後A5名のシートが作成されず、「原本(2)」というシートが作成されたあと、以下エラーとなります。
「実行時エラー'1004':
この名前は既に使用されています。別の名前を入力してください。」
.Name = 支店名.Value
の部分が黄色くなっています。
こちらで「支店一覧」をみるかぎりではおかしなところはみあたりません
(もちろんA2:A18に重複もありません)
間があいてしまい、申し訳ございません。
マクロを実施すると、「支店一覧」A2:A18のA2,A3,A4のシートまでは対応が完了するのですが、
その後A5名のシートが作成されず、「原本(2)」というシートが作成されたあと、以下エラーとなります。
「実行時エラー'1004':
この名前は既に使用されています。別の名前を入力してください。」
.Name = 支店名.Value
の部分が黄色くなっています。
こちらで「支店一覧」をみるかぎりではおかしなところはみあたりません
(もちろんA2:A18に重複もありません)
522デフォルトの名無しさん (ワッチョイ 895f-UBLL)
2021/10/26(火) 14:40:57.52ID:geAm6QgM0 「この名前は既に使用されています。」って言ってんだからそのシートが存在するんでしょ。見当たらないなら非表示になってるか
523デフォルトの名無しさん (スプッッ Sda2-zvUI)
2021/10/26(火) 15:44:08.87ID:W8WFYMpad 以下の処理について質問です
「条件→A列に1行目から文字列が多数行入力されていて、文字列にはa、b、cのアルファベットのどれか一つのみが必ず含まれている。(例 ”15あうa” 例"7c8-of")
やりたいこと→B列に連番を振りたい。aを含む文字列だけで1,2,3,4... bを含む文字列だけで1,2,3,4...のような感じで振りたい。」
一応自分で次のようにやってみたら出来ました
セルC1 C2 C3に a b cと入力して、for eachでC1~C3を括る?
さらにfor eachでA列を括る。
そしてA列にて上のセルから順番にaを含むかif文で判断して連番を入力させる。
b,cについても同様に行うと
for とか ifしか使えないためこのようなやり方をしたのですが、もっと適切な方法があれば教えて頂きたいです。
「条件→A列に1行目から文字列が多数行入力されていて、文字列にはa、b、cのアルファベットのどれか一つのみが必ず含まれている。(例 ”15あうa” 例"7c8-of")
やりたいこと→B列に連番を振りたい。aを含む文字列だけで1,2,3,4... bを含む文字列だけで1,2,3,4...のような感じで振りたい。」
一応自分で次のようにやってみたら出来ました
セルC1 C2 C3に a b cと入力して、for eachでC1~C3を括る?
さらにfor eachでA列を括る。
そしてA列にて上のセルから順番にaを含むかif文で判断して連番を入力させる。
b,cについても同様に行うと
for とか ifしか使えないためこのようなやり方をしたのですが、もっと適切な方法があれば教えて頂きたいです。
524471 (ワッチョイ 2eda-OyHA)
2021/10/26(火) 15:50:27.98ID:NeMLM07o0 >>522
非表示でもないです
そもそも「原本(2)」という名前のシートがなぜ作成されるかも謎なんです
(「原本」があるので、「原本(2)」が作成されるときに記載のエラーになるのでは
と推測しています)
非表示でもないです
そもそも「原本(2)」という名前のシートがなぜ作成されるかも謎なんです
(「原本」があるので、「原本(2)」が作成されるときに記載のエラーになるのでは
と推測しています)
525デフォルトの名無しさん (ワッチョイ 05da-QUY7)
2021/10/26(火) 16:18:01.43ID:Uox0HVAS0526デフォルトの名無しさん (ワッチョイ 0242-UBqA)
2021/10/26(火) 16:35:47.94ID:cmR9o8NP0 そりゃ原本ってシートをコピーしたんだから原本(2)って名前のシートができるだろ
527デフォルトの名無しさん (ワッチョイ 895f-UBLL)
2021/10/26(火) 17:04:12.98ID:geAm6QgM0 >>523
連番をカウントする変数を3つ作ればいい
連番をカウントする変数を3つ作ればいい
528471 (ワッチョイ 2eda-OyHA)
2021/10/26(火) 17:28:50.64ID:NeMLM07o0 ほんとバカですみません、、、
自分が嫌になります
それなのにみなさま返信有難うございます
追加ですみません
支店名シートのA2:A18の中で、★が支店名に含まれているものは
シートを作成しなくてよいという条件を組み込むことはできますか?
あと、各シートを作成したあとに、シートの数式をすべて値にしたいですが
できますか?
Sub シート作成
Dim 支店名 As Range
For Each 名前 In Worksheets("支店名").Range("A2:A18")
Worksheets("原本").Copy After:=Worksheets(Worksheets.Count)
With ActiveSheet
.Name = 支店名.Value
.Range("B5") = 支店名.Value
End With
Range("B3").AutoFilter 1, "0"
With Range("B3").CurrentRegion.Offset(1, 0)
.Resize(.Rows.Count - 1).EntireRow.Delete
Range("B3").AutoFilter
End With
Next 支店名
End Sub
自分が嫌になります
それなのにみなさま返信有難うございます
追加ですみません
支店名シートのA2:A18の中で、★が支店名に含まれているものは
シートを作成しなくてよいという条件を組み込むことはできますか?
あと、各シートを作成したあとに、シートの数式をすべて値にしたいですが
できますか?
Sub シート作成
Dim 支店名 As Range
For Each 名前 In Worksheets("支店名").Range("A2:A18")
Worksheets("原本").Copy After:=Worksheets(Worksheets.Count)
With ActiveSheet
.Name = 支店名.Value
.Range("B5") = 支店名.Value
End With
Range("B3").AutoFilter 1, "0"
With Range("B3").CurrentRegion.Offset(1, 0)
.Resize(.Rows.Count - 1).EntireRow.Delete
Range("B3").AutoFilter
End With
Next 支店名
End Sub
529デフォルトの名無しさん (スプッッ Sda2-zvUI)
2021/10/26(火) 17:29:10.65ID:W8WFYMpad >>527
分かりませんでした!もう少し詳しく教えていただけないでしょうか!
分かりませんでした!もう少し詳しく教えていただけないでしょうか!
530デフォルトの名無しさん (ワッチョイ 895f-UBLL)
2021/10/26(火) 17:39:37.61ID:geAm6QgM0 a=1:b=1:c=1
for i=1 to 最後の行
if instr(cells(i,1),"a")>0 then
cells(i,2)=a
a=a+1
elseif instr(cells(i,1),"b")>0 then
cells(i,2)=b
b=b+1
:
end if
next i
みたいな
for i=1 to 最後の行
if instr(cells(i,1),"a")>0 then
cells(i,2)=a
a=a+1
elseif instr(cells(i,1),"b")>0 then
cells(i,2)=b
b=b+1
:
end if
next i
みたいな
531デフォルトの名無しさん (ワッチョイ 0d68-OyHA)
2021/10/26(火) 22:18:39.74ID:GuH7IxvP0 >>523
ここまでせんでもって思うけど
https://i.imgur.com/RQpkaWZ.png
Sub foo()
'準備
myarray = Array("aa", "bb", "cc")
'初期化
Set myDic = CreateObject("Scripting.Dictionary")
For Each x In myarray
myDic.Add x, 0
Next
'本体
最終行 = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To 最終行
For Each x In myarray
If InStr(Cells(i, 1), x) <> 0 Then
myDic(x) = myDic(x) + 1
Cells(i, 2).Value = myDic(x)
End If
Next
Next
End Sub
ここまでせんでもって思うけど
https://i.imgur.com/RQpkaWZ.png
Sub foo()
'準備
myarray = Array("aa", "bb", "cc")
'初期化
Set myDic = CreateObject("Scripting.Dictionary")
For Each x In myarray
myDic.Add x, 0
Next
'本体
最終行 = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To 最終行
For Each x In myarray
If InStr(Cells(i, 1), x) <> 0 Then
myDic(x) = myDic(x) + 1
Cells(i, 2).Value = myDic(x)
End If
Next
Next
End Sub
532デフォルトの名無しさん (ワッチョイ 0d68-OyHA)
2021/10/26(火) 22:19:38.61ID:GuH7IxvP0 暇だから書いたけど、実際やるなら>>530みたいなので済ます戸思う
533デフォルトの名無しさん (ワッチョイ 895f-/pkb)
2021/10/26(火) 23:37:03.27ID:HhcOopAn0 D列のセルに文字を入力するとJ列のセルが塗りつぶされる処理をしたいのだがどうしたら良いものか
Sub Macro1()
If InStr(Range("D1").Value, "") > 0 Then
Range("D1").Offset(0,6).Interior.ColorIndex = 16
Else
Range("D1").Offset(0, 6).ClearFormats
End If
End Sub
Sub Macro1()
If InStr(Range("D1").Value, "") > 0 Then
Range("D1").Offset(0,6).Interior.ColorIndex = 16
Else
Range("D1").Offset(0, 6).ClearFormats
End If
End Sub
534デフォルトの名無しさん (ワッチョイ 0242-UBqA)
2021/10/27(水) 00:02:27.06ID:d3yRZmnd0 条件付き書式でいいんじゃね
535デフォルトの名無しさん (ワッチョイ fd5f-CCVl)
2021/10/27(水) 00:17:15.91ID:PN2o+9fe0 条件付き書式でいいが、どうせVBAでやるなら入力のたびに書式をクリアしてから再設定する方がいいよね
536デフォルトの名無しさん (ワッチョイ 0d68-OyHA)
2021/10/27(水) 19:45:59.71ID:DgEx7n5q0 条件付き書式がいいんじゃないかなぁ
537デフォルトの名無しさん (ワッチョイ fd5f-aAV6)
2021/10/27(水) 20:46:04.85ID:Pols7qyl0538デフォルトの名無しさん (ワッチョイ 82ad-WU2P)
2021/10/28(木) 11:45:30.63ID:WDBBEMQR0 コードを一括エクスポートするアドインでおすすめのってないですか?
Windows10のMicrosoft 365を使っていますが、下記は動作しませんでした。
https://moondoldo.com/DoldoWorkz/?Excel%E3%83%9E%E3%82%AF%E3%83%AD/VBA%E3%83%9E%E3%82%AF%E3%83%AD%E3%81%AE%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%82%92%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88
ExcelVBAExport2007_xlam_20100321.ZIP → ExcelVBAExport2007.xlam
Windows10のMicrosoft 365を使っていますが、下記は動作しませんでした。
https://moondoldo.com/DoldoWorkz/?Excel%E3%83%9E%E3%82%AF%E3%83%AD/VBA%E3%83%9E%E3%82%AF%E3%83%AD%E3%81%AE%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%82%92%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88
ExcelVBAExport2007_xlam_20100321.ZIP → ExcelVBAExport2007.xlam
539デフォルトの名無しさん (ワッチョイ 82ad-WU2P)
2021/10/28(木) 11:50:21.99ID:WDBBEMQR0 >>538
できた!これから手順を書いていく。
できた!これから手順を書いていく。
540デフォルトの名無しさん (ワッチョイ 82ad-WU2P)
2021/10/28(木) 12:12:13.13ID:WDBBEMQR0 >>538
上記サイトに記載されているとおり、
アドインフォルダに.xlamファイルをコピーし、アドイン登録を済ませて、
[Visual Basic プロジェクトへのアクセスを信頼する]のチェックボックスをオンにした状態でも、
[開発]タブに[エクスポート][選択エクスポート]が表示されなかったので、
最新のExcelでは使えないと勘違いしていたが、下記の手順で使えるようになった。
@エクスポート対象のxlsmファイルを開く。
A[開発]-[Excelアドイン]をクリックする。
B有効なアドイン一覧に、既に登録済みのExcelvbaexport2007がある。
C既にチェックボックスはオンになっているが、そのまま[参照]ボタンを押す。
Dアドインフォルダ(〜Roaming\Microsoft\AddIns)が開く。その中のExcelVBAExport2007.xlamを選択する。
E「この場所に'〜Roaming\Microsoft\AddIns\ExcelVBAExport2007.xlam'という名前のファイルが既にあります。置き換えますか?」と聞かれる。
F[はい]を選択する。
G[OK]ボタンを押してアドインウィンドウを閉じる。
[開発]タブ内の右端に[エクスポート][選択エクスポート]が現れる。
上記サイトに記載されているとおり、
アドインフォルダに.xlamファイルをコピーし、アドイン登録を済ませて、
[Visual Basic プロジェクトへのアクセスを信頼する]のチェックボックスをオンにした状態でも、
[開発]タブに[エクスポート][選択エクスポート]が表示されなかったので、
最新のExcelでは使えないと勘違いしていたが、下記の手順で使えるようになった。
@エクスポート対象のxlsmファイルを開く。
A[開発]-[Excelアドイン]をクリックする。
B有効なアドイン一覧に、既に登録済みのExcelvbaexport2007がある。
C既にチェックボックスはオンになっているが、そのまま[参照]ボタンを押す。
Dアドインフォルダ(〜Roaming\Microsoft\AddIns)が開く。その中のExcelVBAExport2007.xlamを選択する。
E「この場所に'〜Roaming\Microsoft\AddIns\ExcelVBAExport2007.xlam'という名前のファイルが既にあります。置き換えますか?」と聞かれる。
F[はい]を選択する。
G[OK]ボタンを押してアドインウィンドウを閉じる。
[開発]タブ内の右端に[エクスポート][選択エクスポート]が現れる。
541デフォルトの名無しさん (ワッチョイ 0605-/PVD)
2021/10/28(木) 16:45:24.43ID:IU5+Uq0S0 Excel 2019
「オプション」−「詳細設定」の「グラフィックアクセラレータを無効にする」のチェックを
VBAで設定するにはどうすればいいでしょうか?
AccessだとApplicationのSetOptionやGetOptionでできるんだけど、
Excelには見当たらないのでよろしくお願いします。
「オプション」−「詳細設定」の「グラフィックアクセラレータを無効にする」のチェックを
VBAで設定するにはどうすればいいでしょうか?
AccessだとApplicationのSetOptionやGetOptionでできるんだけど、
Excelには見当たらないのでよろしくお願いします。
542デフォルトの名無しさん (アウアウウー Sa45-iXiw)
2021/10/28(木) 19:13:26.37ID:t5V0CZ4Da https://ja.play-and-more.com/4226-turn-off-hardware-graphics-acceleration-office-2013
ハードウェア アクセラレータ―の設定については、
Excel と Word の設定が連動しているので、
Excel のオプションから設定を変更することで
Word 側にも設定を反映することはできます。
ハードウェア アクセラレータ―の設定については、
Excel と Word の設定が連動しているので、
Excel のオプションから設定を変更することで
Word 側にも設定を反映することはできます。
543デフォルトの名無しさん (スプッッ Sd02-zvUI)
2021/10/28(木) 20:43:34.51ID:rkEXdrl2d544デフォルトの名無しさん (ワッチョイ c1da-BvZE)
2021/10/29(金) 13:13:50.85ID:A+QIge6G0 同じpersonal..xlsbを複数の端末で使いたいので xlstart フォルダーから同期フォルダーに移動し
xlstart フォルダーではかわりに同期フォルダー内のpersonal.xlsb へのショートカットを置きました。
期待通り起動時にpersonal.xlsbを読み込みますが毎回マクロの実行許可を求めるので面倒です。
マクロ有効ファイル一般の仕様であることは理解しておりますが、特定のマクロファイルのみ確認を省略するか、
またはxlstart内にpersonal..xlsbにおいたまま同期する方法はないでしょうか。
xlstartフォルダー自身を同期フォルダーに設定することも検討しましたが、
googlドライブの場合は同期フォルダーは全てGドライブに移動するので
xlstartフォルダ自体が自動実行できなくこと、またpersonal.xlsb起動時にマクロを有効にするか確認
がはいり解決になりません。
xlstart フォルダーではかわりに同期フォルダー内のpersonal.xlsb へのショートカットを置きました。
期待通り起動時にpersonal.xlsbを読み込みますが毎回マクロの実行許可を求めるので面倒です。
マクロ有効ファイル一般の仕様であることは理解しておりますが、特定のマクロファイルのみ確認を省略するか、
またはxlstart内にpersonal..xlsbにおいたまま同期する方法はないでしょうか。
xlstartフォルダー自身を同期フォルダーに設定することも検討しましたが、
googlドライブの場合は同期フォルダーは全てGドライブに移動するので
xlstartフォルダ自体が自動実行できなくこと、またpersonal.xlsb起動時にマクロを有効にするか確認
がはいり解決になりません。
545デフォルトの名無しさん (ワッチョイ 912f-hcYH)
2021/10/30(土) 12:52:49.36ID:MclRPTdP0 >544
信頼できる場所に追加するとか、デジタル署名付けるとかしたら行けるんじゃ?
しらんけど
信頼できる場所に追加するとか、デジタル署名付けるとかしたら行けるんじゃ?
しらんけど
546デフォルトの名無しさん (ワッチョイ c1da-ziuY)
2021/10/30(土) 15:59:41.68ID:jbS9woJL0 >>545
知らんのかい
知らんのかい
547546 (ワッチョイ c1da-BvZE)
2021/10/30(土) 16:14:32.06ID:jbS9woJL0548デフォルトの名無しさん (アウアウキー Sa55-Jw6B)
2021/10/30(土) 16:52:18.20ID:u+oDsXHga ゆるさん、打ち首じゃ
549デフォルトの名無しさん (ワッチョイ c1da-ziuY)
2021/10/30(土) 18:39:08.12ID:jbS9woJL0 めんご
550デフォルトの名無しさん (ワッチョイ f15f-SH4q)
2021/10/30(土) 18:39:42.42ID:q+2005If0 りんご
551デフォルトの名無しさん (ワッチョイ 6910-dBrc)
2021/10/30(土) 18:44:01.08ID:8M2WunKL0 マンゴ
552デフォルトの名無しさん (ワッチョイ 81ce-BvZE)
2021/10/30(土) 22:30:09.59ID:hcWJ/Uj70 三兄弟
553デフォルトの名無しさん (ワッチョイ 9190-7alp)
2021/11/04(木) 12:18:24.94ID:onPWkBOz0 for i = 1 to 100 step 1
'最終行は処理中に変動するため栗けしの都度最終行を取得する
Worksheets(OutputSheetName).Cells(1000, 1).Select
Selection.End(xlUp).Select
iRastrow = Selection.Row
for j =2 to iLastrow step 1
何らかの処理
next j
next i
上記のようなプログラムがあったとして j=2、iLastrow=1のように最初から子ループの終了条件を満たしているようなケースで
子ループの j が 2でクリアされず親ループの繰り返しの都度 3,4...と加算されていくケースがあるんだけどさ
最初からループの終了条件を満たしている場合は、for j=2 … の部分の変数値のクリアはされないものなの?
終了条件を満たしているか満たしていないかに限らず、この行にきたら j=2 でクリアしてくれると思ってたんだが…
'最終行は処理中に変動するため栗けしの都度最終行を取得する
Worksheets(OutputSheetName).Cells(1000, 1).Select
Selection.End(xlUp).Select
iRastrow = Selection.Row
for j =2 to iLastrow step 1
何らかの処理
next j
next i
上記のようなプログラムがあったとして j=2、iLastrow=1のように最初から子ループの終了条件を満たしているようなケースで
子ループの j が 2でクリアされず親ループの繰り返しの都度 3,4...と加算されていくケースがあるんだけどさ
最初からループの終了条件を満たしている場合は、for j=2 … の部分の変数値のクリアはされないものなの?
終了条件を満たしているか満たしていないかに限らず、この行にきたら j=2 でクリアしてくれると思ってたんだが…
554デフォルトの名無しさん (アウアウキー Sa55-Jw6B)
2021/11/04(木) 12:30:43.13ID:h43gOvN2a LとRはいいの?
555デフォルトの名無しさん (ワッチョイ 9190-7alp)
2021/11/04(木) 12:43:19.95ID:onPWkBOz0 ごめん、そこは単なる書き間違い
実際のコードはLで統一されとります
実際のコードはLで統一されとります
556デフォルトの名無しさん (スフッ Sd33-ZpU0)
2021/11/04(木) 13:10:37.18ID:5T7tzysMd --ここから読む--
557デフォルトの名無しさん (ワッチョイ 8b01-c+0N)
2021/11/04(木) 16:49:49.42ID:or1HotUn0 コボル、フォートラン、LISP、VBA、、、
558デフォルトの名無しさん (ワッチョイ c1da-ziuY)
2021/11/04(木) 19:17:22.94ID:hoh+rIGN0 >>557
色々行ったけど一つとしてものにならなかった…?
色々行ったけど一つとしてものにならなかった…?
559デフォルトの名無しさん (ワッチョイ 1901-tWn2)
2021/11/04(木) 19:43:59.36ID:ipFD2P4r0 エクセルでチェック表作った
職員に入力してもらって月一で提出してもらってrpaツールに流し込んで専用ソフトに入力してるけど
バージョンアップしたファイル渡したのに
無視して古いファイル使ってきたり
様式ぶち壊してめちゃくちゃなファイルを提出してきて
まともなデータに成形するのに死ぬほど苦労した
ゴミ職員にたいしてブチ切れそうなんだけど
どうしたらいいですか
職員に入力してもらって月一で提出してもらってrpaツールに流し込んで専用ソフトに入力してるけど
バージョンアップしたファイル渡したのに
無視して古いファイル使ってきたり
様式ぶち壊してめちゃくちゃなファイルを提出してきて
まともなデータに成形するのに死ぬほど苦労した
ゴミ職員にたいしてブチ切れそうなんだけど
どうしたらいいですか
560デフォルトの名無しさん (ワッチョイ 7968-BvZE)
2021/11/04(木) 19:49:57.71ID:q8Oivabh0 新しいファイル以外の提出は受け付けなければいい
561デフォルトの名無しさん (ワッチョイ 1901-tWn2)
2021/11/04(木) 19:53:35.21ID:ipFD2P4r0 なるほどありがとう
このゴミ職員エクセルを魔法か何かと勘違いしてるわ
あまりに適当な仕事に腸煮えくり返る
このゴミ職員エクセルを魔法か何かと勘違いしてるわ
あまりに適当な仕事に腸煮えくり返る
562デフォルトの名無しさん (ワッチョイ 912f-25Cr)
2021/11/04(木) 20:01:42.86ID:Ghcai/Mm0 >>553
jの値はどこでどうやって確認したんだ?
jの値はどこでどうやって確認したんだ?
563デフォルトの名無しさん (ワッチョイ 698e-YpcQ)
2021/11/04(木) 20:21:03.55ID:BJCJqERO0 >>561
お前みたいな馬鹿が作っているからそうなる
お前みたいな馬鹿が作っているからそうなる
564デフォルトの名無しさん (ワッチョイ 1901-tWn2)
2021/11/04(木) 20:33:51.75ID:ipFD2P4r0 どういう状況のファイルかもわからんで煽るバカに言われてもな
565デフォルトの名無しさん (ワッチョイ 698e-YpcQ)
2021/11/04(木) 20:44:25.67ID:BJCJqERO0 >>564
壊されるような造りになってるのが馬鹿の証だぞ
壊されるような造りになってるのが馬鹿の証だぞ
566デフォルトの名無しさん (ワッチョイ 7968-BvZE)
2021/11/04(木) 20:47:33.02ID:q8Oivabh0567デフォルトの名無しさん (ワッチョイ 1901-tWn2)
2021/11/04(木) 20:49:27.77ID:ipFD2P4r0 仕方ないね。元は別の人が勝手に作った表で
おれのはその表をコピーして○がつけられるようにしたものだから
人のファイルを保護かけてガチガチに固めて私物化するわけにも行かないし
お前みたいな後先考えられないバカは
他所のファイルをガチガチに固めて属人化して批判されるんだろうけど
おれのはその表をコピーして○がつけられるようにしたものだから
人のファイルを保護かけてガチガチに固めて私物化するわけにも行かないし
お前みたいな後先考えられないバカは
他所のファイルをガチガチに固めて属人化して批判されるんだろうけど
568デフォルトの名無しさん (ワッチョイ 698e-YpcQ)
2021/11/04(木) 20:51:12.58ID:BJCJqERO0 >>567
典型的な馬鹿の言い訳
典型的な馬鹿の言い訳
569デフォルトの名無しさん (ワッチョイ 1901-tWn2)
2021/11/04(木) 20:53:21.15ID:ipFD2P4r0 もう反論終わって罵倒で誤魔化すタイムか
知能指数低すぎるわ
知能指数低すぎるわ
570デフォルトの名無しさん (ブーイモ MM8d-Ny7V)
2021/11/04(木) 20:58:17.15ID:xnqGDt6JM と、バカが申しております。
571デフォルトの名無しさん (ワッチョイ 8101-HYPS)
2021/11/05(金) 05:16:46.04ID:UB8UVAT80 >>553
そもそも
>> 子ループの j が 2でクリアされず親ループの繰り返しの都度 3,4...と加算されていくケースがある
が起きてるとどうやって判断したのかが分からない。
例えば実行できるコードにdebug.printを挿入しておいて、
「これを実行するとこんな出力されます、実際にはこうなって欲しいです」
みたいな具体的な質問してくれた方がいいと思う。
そういう分かりやすい質問文書くと、その過程で自己解決できたりするし。
そもそも
>> 子ループの j が 2でクリアされず親ループの繰り返しの都度 3,4...と加算されていくケースがある
が起きてるとどうやって判断したのかが分からない。
例えば実行できるコードにdebug.printを挿入しておいて、
「これを実行するとこんな出力されます、実際にはこうなって欲しいです」
みたいな具体的な質問してくれた方がいいと思う。
そういう分かりやすい質問文書くと、その過程で自己解決できたりするし。
572デフォルトの名無しさん (ワッチョイ 924f-Z5zA)
2021/11/05(金) 06:16:51.41ID:7Ov3I8ut0 >>567
とは言え上でも言われている通り
違うフォーマットのものは受け付けないようにするか
触られたくないところは保護掛けるくらいしか現実的な解決策はないだろうね
形式の違うもの送られて来たからこちらで手で直す、というのは基本的に違う気がする。
フォーマットチェックを行うツールを作ってそのゴミ職員とやらに「これでOKとならないものは受け付けません」とやる手もあるけど、そのツール作るのにも工数は掛かるからね。
とは言え上でも言われている通り
違うフォーマットのものは受け付けないようにするか
触られたくないところは保護掛けるくらいしか現実的な解決策はないだろうね
形式の違うもの送られて来たからこちらで手で直す、というのは基本的に違う気がする。
フォーマットチェックを行うツールを作ってそのゴミ職員とやらに「これでOKとならないものは受け付けません」とやる手もあるけど、そのツール作るのにも工数は掛かるからね。
573デフォルトの名無しさん (ワッチョイ 8101-HYPS)
2021/11/05(金) 06:56:51.17ID:UB8UVAT80 >>559
>無視して古いファイル使ってきたり
1,共有サーバーに置いてショートカットから起動させる
2,実際の処理はサーバーにやらせる。
3,VBA諦めてWebアプリにする
>様式ぶち壊してめちゃくちゃなファイルを提出してきて
そういうのは警告メッセージだして拒否するもの。
これまで未対応の様式のファイルも修正するおせっかいをしておきながら、
「めんどくさい」と突然キレるのは最悪。
やるならやりきる、やらないなら最初からやらない。中途半端は一番ダメだからね。
もしくはVBA諦めてテキスト関連のライブラリ豊富な使いやすい言語にする。
>無視して古いファイル使ってきたり
1,共有サーバーに置いてショートカットから起動させる
2,実際の処理はサーバーにやらせる。
3,VBA諦めてWebアプリにする
>様式ぶち壊してめちゃくちゃなファイルを提出してきて
そういうのは警告メッセージだして拒否するもの。
これまで未対応の様式のファイルも修正するおせっかいをしておきながら、
「めんどくさい」と突然キレるのは最悪。
やるならやりきる、やらないなら最初からやらない。中途半端は一番ダメだからね。
もしくはVBA諦めてテキスト関連のライブラリ豊富な使いやすい言語にする。
574デフォルトの名無しさん (スフッ Sdb2-slLX)
2021/11/05(金) 08:36:41.38ID:KTVj1H8Jd575デフォルトの名無しさん (ワッチョイ 0dce-H2rd)
2021/11/05(金) 08:42:12.18ID:zTls7LAZ0 話を聞かない、説明を読まない、世の中の大多数はアホばかり
まあこのことに気付かないで文句ばっか言ってるのもたいがい間抜けなんだけど
現実を受け入れて、バカにも使える仕様を考えるのが仕事ってもんだ
まあこのことに気付かないで文句ばっか言ってるのもたいがい間抜けなんだけど
現実を受け入れて、バカにも使える仕様を考えるのが仕事ってもんだ
576デフォルトの名無しさん (スフッ Sdb2-slLX)
2021/11/05(金) 09:17:23.17ID:KTVj1H8Jd それはまあそうなんだけど資料を揃えておけば
ひとまず相手側のせいにできるからそれを根拠に文句は言いやすいわ
ひとまず相手側のせいにできるからそれを根拠に文句は言いやすいわ
577デフォルトの名無しさん (アウアウキー Sab1-jU0I)
2021/11/05(金) 10:08:06.00ID:X0+Pa++fa 現場で変更するのはもとファイルが使いにくいからじゃないのか
578デフォルトの名無しさん (ワッチョイ b110-CiAA)
2021/11/05(金) 10:16:00.53ID:ccfSCjSv0 確かにチェックつけるだけなのになぜ改変されるのか謎
579デフォルトの名無しさん (ワッチョイ 8101-HYPS)
2021/11/05(金) 10:22:26.73ID:UB8UVAT80 よく見たら提出って言ってるな。
フォーマットに整形させたファイルをマクロつかって登録させる仕組みじゃないのか。
もしかしてVBAの話ですらない?
フォーマットに整形させたファイルをマクロつかって登録させる仕組みじゃないのか。
もしかしてVBAの話ですらない?
580デフォルトの名無しさん (ワッチョイ 9201-a1M3)
2021/11/05(金) 10:25:07.86ID:7p6i3Z7i0 >>553
step 1 が気持ち悪い
てか、まずこういうの作って実験してみればいいじゃん
挙動がわからなければ、めんどくさがらず小さなプログラム書いてどう動くか実験
そういうことやる癖つけないと厳しいよ
Option Explicit
Sub TestSub()
Dim i As Integer
Dim j As Integer
Dim lastRow As Integer
lastRow = 1
For i = 1 To 10
For j = 2 To lastRow
Debug.Print "aa"
Next j
Next i
End Sub
まぁ、普通に考えれば、どう見てもiRastrowが1ではなく別のもっと大きな値をとっている可能性が果てしなくでかいわ
step 1 が気持ち悪い
てか、まずこういうの作って実験してみればいいじゃん
挙動がわからなければ、めんどくさがらず小さなプログラム書いてどう動くか実験
そういうことやる癖つけないと厳しいよ
Option Explicit
Sub TestSub()
Dim i As Integer
Dim j As Integer
Dim lastRow As Integer
lastRow = 1
For i = 1 To 10
For j = 2 To lastRow
Debug.Print "aa"
Next j
Next i
End Sub
まぁ、普通に考えれば、どう見てもiRastrowが1ではなく別のもっと大きな値をとっている可能性が果てしなくでかいわ
581デフォルトの名無しさん (スフッ Sdb2-slLX)
2021/11/05(金) 10:52:29.16ID:KTVj1H8Jd デバッグで値確認していけばいいだけの話
582デフォルトの名無しさん (ラクッペペ MM96-sHbI)
2021/11/05(金) 12:18:28.52ID:gSvscUzNM 確認した結果、言語に致命的な問題があったという研究報告だろ
異論があるなら論文で提出しろや
異論があるなら論文で提出しろや
583デフォルトの名無しさん (ワッチョイ b145-9ETr)
2021/11/05(金) 12:19:13.47ID:WyPtUDby0 文系プログラマにデバッガ使えは酷
584デフォルトの名無しさん (ワッチョイ b145-9ETr)
2021/11/05(金) 12:24:56.88ID:WyPtUDby0 研究報告は5chで
585デフォルトの名無しさん (ブーイモ MMa6-H2rd)
2021/11/05(金) 13:48:49.56ID:5gsLg44lM586デフォルトの名無しさん (アウアウキー Sab1-jU0I)
2021/11/05(金) 17:15:34.16ID:T1OvPNHaa 作業ルールの変更は職場長の許可もらってやれよ
勝手に変なシート作ってフォーマット変えるなとか言われてもね
勝手に変なシート作ってフォーマット変えるなとか言われてもね
587デフォルトの名無しさん (ワッチョイ 924f-Z5zA)
2021/11/06(土) 09:43:33.18ID:GqSttEtV0 年末調整面倒くさい
何故に毎回フォーマットを変えるのか
いや、分かるよ、控除や税金計算が変わってるんだから仕方ないけどさ、
国には毎年キチンと高い税金納めているんだからEXCELで自動計算してくれて、それ印刷して提出すればいいくらいのもの作ってくれないのかなぁ
何故に毎回フォーマットを変えるのか
いや、分かるよ、控除や税金計算が変わってるんだから仕方ないけどさ、
国には毎年キチンと高い税金納めているんだからEXCELで自動計算してくれて、それ印刷して提出すればいいくらいのもの作ってくれないのかなぁ
588デフォルトの名無しさん (テテンテンテン MM96-w3Om)
2021/11/06(土) 09:54:07.39ID:tOYszMkkM589デフォルトの名無しさん (ワッチョイ 9201-+aG2)
2021/11/06(土) 11:02:12.05ID:I7EssLBv0590デフォルトの名無しさん (ワッチョイ 655f-fXKT)
2021/11/06(土) 11:40:54.21ID:FYF0HF0H0 ちょっと思いて調べたらユーザー定義関数でもスピルできるんだな
今度実験してみるか
今度実験してみるか
591デフォルトの名無しさん (ワッチョイ 0dce-H2rd)
2021/11/06(土) 13:59:19.77ID:hCRiIaw50 >>587
高額納税者なら会計士にたのめばええ
控除とか支給金とか、毎年新しい制度まできちんとチェックして、うちで使えるやつを教えてくれる
家族構成まで考慮して節税のアドバイスもくれるし、確実に手数料以上のメリットがある
高額納税者なら会計士にたのめばええ
控除とか支給金とか、毎年新しい制度まできちんとチェックして、うちで使えるやつを教えてくれる
家族構成まで考慮して節税のアドバイスもくれるし、確実に手数料以上のメリットがある
592デフォルトの名無しさん (ワッチョイ 9eda-H2rd)
2021/11/06(土) 19:50:35.22ID:uGoYMeGG0 >>589
扶養に入っていていてもメルカリ等で得た利益を合計すると扶養から外れることがあるからな
扶養に入っていていてもメルカリ等で得た利益を合計すると扶養から外れることがあるからな
593デフォルトの名無しさん (ワッチョイ 9201-a1M3)
2021/11/07(日) 03:10:59.12ID:4qrovYD50 税理士のことを会計士って呼ぶやつはかなりの高齢だって聴いたことがあるわ
594デフォルトの名無しさん (ワッチョイ f568-w3Om)
2021/11/07(日) 06:37:50.24ID:so93UNIl0 んな奴おらん
会計士は公認会計士の事
会計士は公認会計士の事
595デフォルトの名無しさん (ワッチョイ 9eda-jU0I)
2021/11/07(日) 22:57:31.69ID:XNg8pwBQ0 オランダはオラんだ
596デフォルトの名無しさん (ワッチョイ b110-7Toe)
2021/11/07(日) 23:38:18.06ID:V/DqJR+40 シンガポールの芯がポール
597デフォルトの名無しさん (テテンテンテン MM96-m7YD)
2021/11/08(月) 08:49:01.66ID:3W+jmNKxM タイ米でタイ飯を炊く
598デフォルトの名無しさん (アウアウキー Sab1-4u4U)
2021/11/08(月) 12:53:20.11ID:TKWun27Sa そびえ立つソビエト
599デフォルトの名無しさん (ワッチョイ a23d-qqEe)
2021/11/08(月) 13:31:29.26ID:/zBQ/QG70 VBAの構造体で
Type Book
title As String
author As String
price As Long
End Type
桁数を予め指定しておくことてできないんですか?
こんなような感じで
Type Book
title As String (10)
author As String (10)
price As Long (5)
End Type
Type Book
title As String
author As String
price As Long
End Type
桁数を予め指定しておくことてできないんですか?
こんなような感じで
Type Book
title As String (10)
author As String (10)
price As Long (5)
End Type
600デフォルトの名無しさん (ワッチョイ 0d49-fsSc)
2021/11/08(月) 14:09:40.47ID:syf9kZiP0 StringならString * 10 とかでできる。
Longは大きさ決まってるから指定できないはず。
Longは大きさ決まってるから指定できないはず。
601デフォルトの名無しさん (オイコラミネオ MM1d-66UU)
2021/11/08(月) 16:24:53.09ID:UsmHmtDwM >>587
前半は分かるけど、なんでそこでエクセルが出てくるんだよ
前半は分かるけど、なんでそこでエクセルが出てくるんだよ
602デフォルトの名無しさん (ワッチョイ 9eda-H2rd)
2021/11/08(月) 20:42:50.40ID:66GUt1hW0 >>599
クラスつくってプロパティの代入時にチェックいれればいいんじゃね
クラスつくってプロパティの代入時にチェックいれればいいんじゃね
603デフォルトの名無しさん (ワッチョイ 924f-Z5zA)
2021/11/08(月) 20:52:16.35ID:bylJ/Cyl0 >>601
数式だけでちゃちゃっと出来そうじゃん
そんなんで本格的なWebサイト作ってアクティブレポートとかではくより
このEXCELファイルダウンロードして必要なところに入力してねで終わらせた方が安上がりだし
むしろここ、EXCELVBAのスレだからEXCELにすらかすってないこと書くのってなんか気が引けるじゃん
数式だけでちゃちゃっと出来そうじゃん
そんなんで本格的なWebサイト作ってアクティブレポートとかではくより
このEXCELファイルダウンロードして必要なところに入力してねで終わらせた方が安上がりだし
むしろここ、EXCELVBAのスレだからEXCELにすらかすってないこと書くのってなんか気が引けるじゃん
604デフォルトの名無しさん (ワッチョイ ad49-A8Ax)
2021/11/09(火) 09:52:46.91ID:cbbOFy6t0 というか、最悪Webフォームやらにして、番号言えば参照してもらえるって感じでいいとおもうけどね
印刷とかしてもってくのめんどいし
本人確認で行くのはしゃあないとして
ま、スレ違い
印刷とかしてもってくのめんどいし
本人確認で行くのはしゃあないとして
ま、スレ違い
605デフォルトの名無しさん (ワッチョイ a23d-qqEe)
2021/11/09(火) 15:30:51.99ID:SzXGWqe30606デフォルトの名無しさん (ワッチョイ 9eda-H2rd)
2021/11/10(水) 22:53:12.24ID:lHaNkZWD0 >>605
それ普通じゃん
それ普通じゃん
607デフォルトの名無しさん (ワッチョイ 5eb0-ZlXc)
2021/11/10(水) 23:10:54.65ID:n4nrpIYq0 >>605
正規表現で一括置換すればいいだけだな。
正規表現で一括置換すればいいだけだな。
608デフォルトの名無しさん (ワッチョイ 9eda-H2rd)
2021/11/11(木) 22:25:28.82ID:4U2+Csw00 問題を解決するやり方が複数ある場合は作る人のセンスがでる
速度重視なのか汎用性やメンテナンス、あるいはただ動けばいいとか
速度重視なのか汎用性やメンテナンス、あるいはただ動けばいいとか
609デフォルトの名無しさん (スプッッ Sd93-+QSJ)
2021/11/12(金) 07:19:28.68ID:7noZI+XHd 単に技術・経験の差が大きい
610デフォルトの名無しさん (ワッチョイ 7501-3yk9)
2021/11/12(金) 16:46:18.75ID:xE6WDQNQ0 VBAっていうかエクセルの話題かもしれないけど、
ユーザーに入力させたテーブルがあってそれを校正するとき、
「間違っている部分」と「そこの入力形式の説明と記入例」をどうやって表示したら分かりやすいと思う?
イメージとしては「入力形式を確認する」ボタンをクリックすると
間違い場所が何らかの方法で説明されて、
ユーザーがそれを見ながら修正する感じです。
ユーザーに入力させたテーブルがあってそれを校正するとき、
「間違っている部分」と「そこの入力形式の説明と記入例」をどうやって表示したら分かりやすいと思う?
イメージとしては「入力形式を確認する」ボタンをクリックすると
間違い場所が何らかの方法で説明されて、
ユーザーがそれを見ながら修正する感じです。
611デフォルトの名無しさん (ブーイモ MM6b-H7L4)
2021/11/12(金) 17:12:52.04ID:qAk4Oa1rM612デフォルトの名無しさん (ワッチョイ 7501-3yk9)
2021/11/12(金) 18:11:45.18ID:xE6WDQNQ0 >>611
複雑な形式(5〜10文字の英数+アンダースコア+5文字の英数の繰り返し用のような)も多数あるのですが、可能でしょうか。
GoogleスプレッドシートならSplit関数があるので捏ね繰り回せばパース出来なくはないですが・・・
ユーザー定義関数で入力規則が設定できるのかとも思ったのですが、
「指定した範囲の名前は見つかりません」と出てしまい、
そもそも関数として認識されませんでした。
複雑な形式(5〜10文字の英数+アンダースコア+5文字の英数の繰り返し用のような)も多数あるのですが、可能でしょうか。
GoogleスプレッドシートならSplit関数があるので捏ね繰り回せばパース出来なくはないですが・・・
ユーザー定義関数で入力規則が設定できるのかとも思ったのですが、
「指定した範囲の名前は見つかりません」と出てしまい、
そもそも関数として認識されませんでした。
613デフォルトの名無しさん (ワッチョイ 23e6-aqCv)
2021/11/12(金) 18:36:55.58ID:grozR+8R0 以下のようなマクロが組みたいです。
ファイル(以下A)が保存されているフォルダ内を検索して、特定の名前が含まれる別のエクセルファイル(以下B)を開いて、Bの各シートをシート名を指定した名前に書き換えつつAの指定の位置にシートを追加する。開いたBは閉じる。
ファイル(以下A)が保存されているフォルダ内を検索して、特定の名前が含まれる別のエクセルファイル(以下B)を開いて、Bの各シートをシート名を指定した名前に書き換えつつAの指定の位置にシートを追加する。開いたBは閉じる。
614デフォルトの名無しさん (ワッチョイ 158e-OVKX)
2021/11/12(金) 18:40:57.40ID:KziMfQdv0615デフォルトの名無しさん (ワッチョイ a501-tBZP)
2021/11/12(金) 19:09:57.81ID:P++os05D0 ルビー先生の自演ですね
616デフォルトの名無しさん (ワッチョイ 2301-AQUW)
2021/11/12(金) 19:19:22.94ID:a3j0d+bF0 >>610
> 「間違っている部分」
そこにフォーカス当てるとか色を付けるとか
> 「そこの入力形式の説明と記入例」
メッセージ表示ればいいけど修整箇所がたくさんあるとウザくなるからそういうことが予想されるケースでは俺ならエラーセルに色付けしてそこが選択されたらステータスバーに表示するとかするかな
> 「間違っている部分」
そこにフォーカス当てるとか色を付けるとか
> 「そこの入力形式の説明と記入例」
メッセージ表示ればいいけど修整箇所がたくさんあるとウザくなるからそういうことが予想されるケースでは俺ならエラーセルに色付けしてそこが選択されたらステータスバーに表示するとかするかな
617デフォルトの名無しさん (ワッチョイ ed5f-GSYX)
2021/11/12(金) 19:56:06.94ID:1Dl5hXGo0 >>612
正規表現だろうな
正規表現だろうな
618デフォルトの名無しさん (ワッチョイ 2342-EULM)
2021/11/12(金) 19:59:42.26ID:USYnrtRo0 正規表現って言うと卑猥なことを言ってるような気がして口では説明しにくい
619デフォルトの名無しさん (ブーイモ MM69-FiwM)
2021/11/12(金) 20:24:37.20ID:Ncd0depJM 可愛い女子後輩が「せいきひょうげん教えて下さい!」なんて言ってきたらそれだけで射精してしまうよな
620デフォルトの名無しさん (ワッチョイ cbda-wd7R)
2021/11/12(金) 21:37:44.97ID:Bm/JCeux0 え?何の表現?
621デフォルトの名無しさん (ワッチョイ 2301-AQUW)
2021/11/12(金) 22:29:48.65ID:a3j0d+bF0 ここでぬいたでーたをこのせいきひょうげんでちゅうしゅつしてそこへそうにゅうしといて…
622デフォルトの名無しさん (ワッチョイ 7501-3yk9)
2021/11/13(土) 00:19:30.49ID:IngrJLwZ0623デフォルトの名無しさん (ワッチョイ 234f-0LCi)
2021/11/13(土) 04:21:00.05ID:9Z7Y7eKB0 >>610
色んなやり方があると思うけど
例えば小さなテーブルならOK、NGやなにがどう間違っているかの列を数式で出る欄を設けておいて
全ての行がOKならOK、そうで無ければNGと表示するセルをひとつ作って
それがNGであればなんかのボタン押したときに「入力値に誤りが有ります」的なメッセージを出す方法を使ってるところのが分かりやすかったかな。
ただこの方式だとユーザー定義関数使うとマクロ無効にされてる状態では正しく反応しないのが難点だけど。
色んなやり方があると思うけど
例えば小さなテーブルならOK、NGやなにがどう間違っているかの列を数式で出る欄を設けておいて
全ての行がOKならOK、そうで無ければNGと表示するセルをひとつ作って
それがNGであればなんかのボタン押したときに「入力値に誤りが有ります」的なメッセージを出す方法を使ってるところのが分かりやすかったかな。
ただこの方式だとユーザー定義関数使うとマクロ無効にされてる状態では正しく反応しないのが難点だけど。
624デフォルトの名無しさん (ワッチョイ 2301-AQUW)
2021/11/13(土) 05:16:16.94ID:x1CN7sQN0625デフォルトの名無しさん (ワッチョイ 1dce-wd7R)
2021/11/13(土) 06:02:35.99ID:HLrAQBx/0 どこに書いてあっても絶対に読まない民が43%いるから(当社調べ)
覚悟しとけよ
覚悟しとけよ
626デフォルトの名無しさん (ワッチョイ a3d9-5Pg7)
2021/11/13(土) 15:19:02.92ID:ANEVI8Gn0627デフォルトの名無しさん (ワッチョイ 45da-wd7R)
2021/11/13(土) 17:00:36.35ID:HusEpJk10 >>613
クエリでフォルダ指定すると、ファイル名一覧を取得出来るから
キーワードで絞込む。
で、インデックス列と希望する書き換えファイル名の列作ってリストにしといて、
あとはVBAで、IF FOR構文とSaveAsあたり使えば
出来るんでね?
クエリでフォルダ指定すると、ファイル名一覧を取得出来るから
キーワードで絞込む。
で、インデックス列と希望する書き換えファイル名の列作ってリストにしといて、
あとはVBAで、IF FOR構文とSaveAsあたり使えば
出来るんでね?
628デフォルトの名無しさん (ワッチョイ 158e-OVKX)
2021/11/13(土) 17:14:33.96ID:bgvplZUP0629デフォルトの名無しさん (ワッチョイ dd49-4vRU)
2021/11/15(月) 11:13:54.86ID:wYO/ump40 お金が稼げるVBAを組みたいです!
630デフォルトの名無しさん (ラクッペペ MM4b-wt4Y)
2021/11/15(月) 11:56:57.23ID:xIS0g/4FM ハロワ行け
631デフォルトの名無しさん (ワッチョイ cd68-M2S/)
2021/11/15(月) 19:07:44.02ID:UtsmVGsD0632デフォルトの名無しさん (アウアウウー Saa9-3S+0)
2021/11/15(月) 20:28:22.57ID:UvM84Y/0a 将来の希望としての発言なら
まず稼げる力をつけてからそういう会社に就職したらいいんじゃね
あとYoutuberとかなら勝手にやればいい
まず稼げる力をつけてからそういう会社に就職したらいいんじゃね
あとYoutuberとかなら勝手にやればいい
633デフォルトの名無しさん (スップ Sd03-70T7)
2021/11/15(月) 21:07:01.94ID:nN/tXQswd 裸エプロンで胸を机に乗せた状態でプログラムする様子をYouTubeに上げれば稼げるかもしれんぞ
634デフォルトの名無しさん (ワッチョイ cd68-M2S/)
2021/11/15(月) 23:28:31.25ID:UtsmVGsD0 やったけど微妙だったわ
635デフォルトの名無しさん (ワッチョイ 4b2c-FDGb)
2021/11/15(月) 23:32:21.10ID:OfX77+Sf0 >>613
例えば、Ruby で、glob を使って、
拡張子がcsv で、ファイル名に13 を含む、ファイルのフルパスを求めると
# 絶対パスのディレクトリ名の後ろに、* を付けること!
# . で始まる、隠し directory, file を除く
glob_pattern = "C:/Users/Owner/Documents/*.csv"
filename_substr = "13"
p Dir.glob( glob_pattern )
.select { |full_path| File.file?( full_path ) } # ファイルのみを取り出す
.select { |full_path|
# ファイル名だけを取り出して、指定の語句を含む、ファイル名を含むものだけを抽出する
File.basename( full_path ).include?( filename_substr )
}
出力
[ "C:/Users/Owner/Documents/input113_2.csv",
"C:/Users/Owner/Documents/input13-3.csv" ]
例えば、Ruby で、glob を使って、
拡張子がcsv で、ファイル名に13 を含む、ファイルのフルパスを求めると
# 絶対パスのディレクトリ名の後ろに、* を付けること!
# . で始まる、隠し directory, file を除く
glob_pattern = "C:/Users/Owner/Documents/*.csv"
filename_substr = "13"
p Dir.glob( glob_pattern )
.select { |full_path| File.file?( full_path ) } # ファイルのみを取り出す
.select { |full_path|
# ファイル名だけを取り出して、指定の語句を含む、ファイル名を含むものだけを抽出する
File.basename( full_path ).include?( filename_substr )
}
出力
[ "C:/Users/Owner/Documents/input113_2.csv",
"C:/Users/Owner/Documents/input13-3.csv" ]
636デフォルトの名無しさん (ワッチョイ cbda-wd7R)
2021/11/16(火) 03:08:02.41ID:FNimwzj70637デフォルトの名無しさん (エムゾネ FF43-09aj)
2021/11/16(火) 16:09:29.51ID:5D9mKY7bF638デフォルトの名無しさん (アウアウウー Saa9-+2u6)
2021/11/17(水) 14:18:28.93ID:ziCKlq68a 標準モジュールで、シートAから文字列拾ってシートBに転記しようとしたら、
望まぬ形でBのWorksheet_Changeを踏んだのでCaseで分けて素通りさせたんですが、
どうにもBのValueが1004エラーで書き換わっていないのにWorksheet_Changeが発動しているらしく、
なんの変哲もない「Worksheets("B").Range("XX").Value = str」が実行されません。
F8で(Changeしてないのに)Worksheet_Changeの中身だけ進む事ができますが、それが終わると元の位置に戻って再びエラーになります。
どうしたらValueを拾って貰えるんでしょうか。
望まぬ形でBのWorksheet_Changeを踏んだのでCaseで分けて素通りさせたんですが、
どうにもBのValueが1004エラーで書き換わっていないのにWorksheet_Changeが発動しているらしく、
なんの変哲もない「Worksheets("B").Range("XX").Value = str」が実行されません。
F8で(Changeしてないのに)Worksheet_Changeの中身だけ進む事ができますが、それが終わると元の位置に戻って再びエラーになります。
どうしたらValueを拾って貰えるんでしょうか。
639デフォルトの名無しさん (ゲマー MM93-+Iim)
2021/11/17(水) 14:26:30.65ID:vBkg6J9AM イベント無効化しろよ
640デフォルトの名無しさん (アウアウウー Saa9-+2u6)
2021/11/17(水) 17:56:35.51ID:3zD8SsO+a641デフォルトの名無しさん (オイコラミネオ MM49-jJpm)
2021/11/18(木) 11:22:25.43ID:Q3OFtjIpM642デフォルトの名無しさん (ワッチョイ 234f-e/Fb)
2021/11/18(木) 12:48:11.85ID:A7YSZCxr0 読解力って大事だよね
643デフォルトの名無しさん (スプッッ Sd7a-egtl)
2021/11/19(金) 07:29:58.87ID:HahswZdrd vba歴15年だがイベント無効化今知ったわ
644デフォルトの名無しさん (オイコラミネオ MM67-kfcM)
2021/11/19(金) 07:42:51.24ID:tUazBZuEM それ絶対ウソだわ
645デフォルトの名無しさん (ブーイモ MM13-+VBe)
2021/11/19(金) 14:43:03.48ID:0h6/N7AxM そういうのって必要になった時に調べるもんだし
今まで一度も使わなかった機能なんて色々あるだろ
今まで一度も使わなかった機能なんて色々あるだろ
646デフォルトの名無しさん (ワッチョイ 5701-kfcM)
2021/11/19(金) 21:00:40.42ID:o1Oq/T8x0 しかしだな
15年もいじってりゃエナブルイベントのせいで無限ループになることくらいあるんじゃないの
15年もいじってりゃエナブルイベントのせいで無限ループになることくらいあるんじゃないの
647デフォルトの名無しさん (ワッチョイ c6da-+VBe)
2021/11/20(土) 15:14:52.68ID:jiw0H+C10 失われた15年
648デフォルトの名無しさん (ワッチョイ 6210-9IQd)
2021/11/20(土) 20:08:41.79ID:TxFL/ZXr0 2013でSharePointに接続する方法ない?
2019ならADOで出来るんだけど
2019ならADOで出来るんだけど
649デフォルトの名無しさん (ワッチョイ 1b2f-IS5D)
2021/11/20(土) 21:06:56.40ID:4VXr5Xxs0 2021ならAHOで出来るよ
650デフォルトの名無しさん (ワッチョイ 5701-kfcM)
2021/11/20(土) 23:15:05.65ID:MzgsRNiS0 作る前に様式はこれでいいよねって事前に確認したのに、作ったあとに
やっぱりああでもないこうでもないと注文つける
簡単なコードすらまともに書けないゴミの後出し地獄にムカついてくる
じゃあてめえが作れと
やっぱりああでもないこうでもないと注文つける
簡単なコードすらまともに書けないゴミの後出し地獄にムカついてくる
じゃあてめえが作れと
651デフォルトの名無しさん (ワッチョイ ef8e-1fs8)
2021/11/21(日) 00:12:13.26ID:VeOo+GZo0 たかがVBAを少し書けるだけで他人をゴミ呼ばわりする馬鹿
こいつみたいな勘違いの思い上がり馬鹿はよく見かける
こいつみたいな勘違いの思い上がり馬鹿はよく見かける
652デフォルトの名無しさん (ワッチョイ 5701-kfcM)
2021/11/21(日) 00:20:55.86ID:9y2yNJe30 わざわざ作業やり直したくないから様式を事前に確認したのに後出しで人の作業増やすやつをゴミ呼ばわりして何が悪いのかな
お前も後出しで人の作業量増やしそう
自分でやるなら好きなだけ後出ししていいけどな。できないでしょ
お前も後出しで人の作業量増やしそう
自分でやるなら好きなだけ後出ししていいけどな。できないでしょ
653デフォルトの名無しさん (ワッチョイ ef8e-1fs8)
2021/11/21(日) 01:55:02.67ID:VeOo+GZo0 相手の要求を理解して指摘される前に用意しとくものだろ
馬鹿は言われたことしかできないから馬鹿だっての
馬鹿は言われたことしかできないから馬鹿だっての
654デフォルトの名無しさん (ワッチョイ 5701-kfcM)
2021/11/21(日) 02:07:24.62ID:9y2yNJe30 提示した仕様に対してOKが出てるのに
勝手に仕様追加しとけって?キチガイですかね
勝手に仕様追加しとけって?キチガイですかね
655デフォルトの名無しさん (ワッチョイ ef8e-1fs8)
2021/11/21(日) 02:12:33.23ID:VeOo+GZo0 相手のレベルに合わせて打ち合わせできないから馬鹿だっての
656デフォルトの名無しさん (ワッチョイ 5701-kfcM)
2021/11/21(日) 02:16:27.01ID:9y2yNJe30 様式見せてるのに相手のレベルもクソもないんだがねキチガイくん
657デフォルトの名無しさん (ワッチョイ ef8e-1fs8)
2021/11/21(日) 02:17:32.02ID:VeOo+GZo0 馬鹿は相手が理解しているかどうかすらわからないから馬鹿だっての
658デフォルトの名無しさん (ワッチョイ 5701-kfcM)
2021/11/21(日) 02:19:43.87ID:9y2yNJe30 相手は様式を理解した上で後出しの思いつきで仕様変更要求してきたんだよ
馬鹿なお前にはこんな簡単な日本語すら理解できないんだろうけど
馬鹿なお前にはこんな簡単な日本語すら理解できないんだろうけど
659デフォルトの名無しさん (ラクッペペ MM8e-SVVE)
2021/11/21(日) 04:43:02.55ID:YN582lotM 議事録なり議事メモなりで決定会議や打ち合わせの記録を残しておかないと後で後悔する
660デフォルトの名無しさん (ワッチョイ c3ce-+VBe)
2021/11/21(日) 05:13:42.45ID:V2WgyX4h0 議事録だろうが録音だろうが無駄
レベルの低いやつってのは、簡単に前言を撤回して主張を変えてくる
レベルの低いやつってのは、簡単に前言を撤回して主張を変えてくる
661デフォルトの名無しさん (ワッチョイ a3da-hfdc)
2021/11/21(日) 06:09:13.16ID:CsAuHtPC0 つまり契約概念を理解しない客なわけだ。そんな客は契約は契約ですかと突っぱねて二度と相手にしないことだ。
662デフォルトの名無しさん (ワッチョイ 9bfd-YPKb)
2021/11/21(日) 06:13:44.85ID:8rSjcXEU0 VBAでなくてもクライアントからの急な仕様変更なんて日常茶飯事だから諦めろん
ある程度の仕様変更なら少ない手間で対応できる作りにするのも腕の見せ所だぞ
まぁ言うてその仕様にすんなら全部1から作り直しやんけって仕様変更もなくはないのがツラいところ
ある程度の仕様変更なら少ない手間で対応できる作りにするのも腕の見せ所だぞ
まぁ言うてその仕様にすんなら全部1から作り直しやんけって仕様変更もなくはないのがツラいところ
663デフォルトの名無しさん (ワッチョイ c3ce-+VBe)
2021/11/21(日) 08:27:37.33ID:V2WgyX4h0 だからメンテナンス性とかモジュール化とかクラスが大切になってくるんだよ
経験を積んで仕様書に書かれてない部分も適切に作り込んでおいて、仕様変更のコストを下げるのも腕の見せ所
もちろん、表向きは大変だと言って渋って見せたり高額なメンテ費用を請求する駆け引きも必要
経験を積んで仕様書に書かれてない部分も適切に作り込んでおいて、仕様変更のコストを下げるのも腕の見せ所
もちろん、表向きは大変だと言って渋って見せたり高額なメンテ費用を請求する駆け引きも必要
664デフォルトの名無しさん (ワッチョイ 4b5f-qQod)
2021/11/21(日) 08:36:08.55ID:4M98L2BP0 勝手にやってやると調子に乗るだろ
665デフォルトの名無しさん (アウアウウー Sa3b-Z5oZ)
2021/11/21(日) 10:03:03.00ID:zwWMSsz4a 仕様変更っていっも動作確認あわせて1時間もかからんだろ
ここで愚痴る前にさっさと直せよ
ここで愚痴る前にさっさと直せよ
666デフォルトの名無しさん (ワッチョイ ef8e-1fs8)
2021/11/21(日) 12:48:58.97ID:VeOo+GZo0 馬鹿だから修正に手間が掛かるようなプログラムしか作れないのだろ
667デフォルトの名無しさん (ワッチョイ a3da-hfdc)
2021/11/21(日) 14:30:08.25ID:CsAuHtPC0 仕様確認を反故にする ユーザーに怒っている人をディスってる奴らが数人いるけど、こいつらは他人をディスってストレスを発散する病んだ人たちなんだろうな。
668デフォルトの名無しさん (ワッチョイ ef10-ILss)
2021/11/21(日) 15:03:48.31ID:j1X7Mg5t0 プログラム的なものをやってると後出し仕様変更おしさんにはほぼ100%遭遇するからな
669デフォルトの名無しさん (スッップ Sd02-7UeL)
2021/11/21(日) 17:22:27.75ID:lG7wwdbAd >>665
テストやリリースまでのドキュメント作成で実際はその何倍もかかるよね
テストやリリースまでのドキュメント作成で実際はその何倍もかかるよね
670デフォルトの名無しさん (ワッチョイ 4b5f-Okd2)
2021/11/21(日) 17:48:21.28ID:RHabNs0q0 列挙型使ってればデータ収集くらいなら大体は対応できる
671デフォルトの名無しさん (ワッチョイ fb2f-C1KD)
2021/11/21(日) 17:56:13.83ID:Cim/yDW60 後出して仕様変更されても、その分の納期と金額を保証してくれるならまあ許せる
そういうやつらは大概は、元の金額のままで同じ納期でやれっていうからな
そういうやつらは大概は、元の金額のままで同じ納期でやれっていうからな
672デフォルトの名無しさん (ワッチョイ c6da-Z5oZ)
2021/11/21(日) 18:04:49.83ID:rJQke0fG0 >>669
それでもここで愚痴るほど暇な訳だが
それでもここで愚痴るほど暇な訳だが
673デフォルトの名無しさん (ワッチョイ c6da-+VBe)
2021/11/21(日) 19:36:02.92ID:rJQke0fG0674デフォルトの名無しさん (ワッチョイ ef8e-1fs8)
2021/11/21(日) 19:50:30.82ID:VeOo+GZo0 エンドユーザーに仕様なんて伝えても理解できないことも織り込めない素人に毛が生えただけのVBAプログラマーがこぼしているだけだからな
675デフォルトの名無しさん (ワッチョイ a3da-hfdc)
2021/11/21(日) 22:53:28.70ID:CsAuHtPC0 >>674
こいつはきっと趣味のプログラマーだな。
こいつはきっと趣味のプログラマーだな。
676デフォルトの名無しさん (ワッチョイ ef8e-1fs8)
2021/11/21(日) 23:12:50.46ID:VeOo+GZo0 悔しかったか?
どんな仕事でも言われたこと(それも自分が理解できる範囲だけ)しかできない無能に限って、少しプログラムできると天狗になって自分が偉いと思い込む
どんな仕事でも言われたこと(それも自分が理解できる範囲だけ)しかできない無能に限って、少しプログラムできると天狗になって自分が偉いと思い込む
677デフォルトの名無しさん (ワッチョイ a3da-+VBe)
2021/11/21(日) 23:17:45.36ID:CsAuHtPC0678デフォルトの名無しさん (ワッチョイ 9bfd-YPKb)
2021/11/22(月) 02:02:52.47ID:C2iFLgVU0 人を下に見られる程精通してる人って正直羨ましいわ
知れば知るほどまだまだ知らない事が沢山あるなぁと勉強不足を実感してしまう
知れば知るほどまだまだ知らない事が沢山あるなぁと勉強不足を実感してしまう
679デフォルトの名無しさん (スフッ Sd02-egtl)
2021/11/22(月) 07:01:15.65ID:slGF1Oi+d 知らないから人をバカに出来るんだよなー
680デフォルトの名無しさん (スッップ Sd02-Pizy)
2021/11/22(月) 08:46:35.28ID:Pvc6brgHd >>675
いや、エンドユーザーだよ
いや、エンドユーザーだよ
681デフォルトの名無しさん (ワッチョイ a768-+VBe)
2021/11/22(月) 09:28:02.25ID:GKja75Bt0 むしろ人を下にみないと精神状態が不安定なんでしょ
682デフォルトの名無しさん (アウアウウー Sa3b-Z5oZ)
2021/11/22(月) 11:55:26.38ID:L9slPYHUa 15年もやればそうなるんじゃね
683デフォルトの名無しさん (スッップ Sd02-+VBe)
2021/11/22(月) 23:06:20.51ID:08E8qmHLd 顔が見えない相手にしか愚痴れないんだろ
我慢してやろうぜ
我慢してやろうぜ
684デフォルトの名無しさん (ワッチョイ e24f-hD6c)
2021/11/23(火) 00:04:23.39ID:HyKB94hG0685デフォルトの名無しさん (ワッチョイ c6da-+VBe)
2021/11/23(火) 06:17:53.07ID:Xen9jxSh0 生徒が先生に対して自分は下に見られているとかいうのは違うんだけどね
686デフォルトの名無しさん (ワッチョイ a768-+VBe)
2021/11/23(火) 10:30:00.53ID:Uhpscs260 その例えがそもそも違うんだけどね
687デフォルトの名無しさん (ササクッテロラ Spdf-hD6c)
2021/11/23(火) 11:28:47.36ID:Kq5e1ZWqp 天は
人の上に人を作らず
人の下に人を作らず
人の上に人を作らず
人の下に人を作らず
688デフォルトの名無しさん (ワッチョイ a3da-+VBe)
2021/11/23(火) 11:46:02.03ID:glM4yG/J0 古い話になるがエクセル2003くらいのことにはブック固有のツールバーとそのツールバーにマクロボタンを登録できた.
そのブックをオープンすると固有のツールバーが表示されてブック固有のマクロを簡単に実行できた.
エクセル2013を使っているけどこういう機能はなくなったのかな.
VBAでもツールバーを作れるけど,commandbarオブジェクトにaddしてボタンをaddしてなど面倒すぎるし,なにより全てのブックで表示されるとか,特定のブックだけで表示させたかったらそれ用のマクロをイベントと関連付けて切り替えるなど面倒.
昔のような機能を復活させる方法はないでしょうか?
そのブックをオープンすると固有のツールバーが表示されてブック固有のマクロを簡単に実行できた.
エクセル2013を使っているけどこういう機能はなくなったのかな.
VBAでもツールバーを作れるけど,commandbarオブジェクトにaddしてボタンをaddしてなど面倒すぎるし,なにより全てのブックで表示されるとか,特定のブックだけで表示させたかったらそれ用のマクロをイベントと関連付けて切り替えるなど面倒.
昔のような機能を復活させる方法はないでしょうか?
689デフォルトの名無しさん (アウアウキー Sac7-Z5oZ)
2021/11/23(火) 12:15:05.23ID:2bUUy2X7a 2003インストールしたらできるんじゃないかな
690デフォルトの名無しさん (ワッチョイ a3da-hfdc)
2021/11/23(火) 12:19:08.48ID:glM4yG/J0 >>689
お前はお笑い芸人か
お前はお笑い芸人か
691デフォルトの名無しさん (ワッチョイ efb1-c4tl)
2021/11/23(火) 12:58:36.46ID:CIHUE1VX0693デフォルトの名無しさん (アウアウウー Sa3b-PW+6)
2021/11/23(火) 15:21:24.36ID:/4Q7KTnxa 職場にVBAバカにする人が多くて辛いです。
どうしたら見返せますか?
どうしたら見返せますか?
694デフォルトの名無しさん (スップ Sd22-94TO)
2021/11/23(火) 15:31:34.69ID:RPYITf6Hd >>693
他の言語やればいい
他の言語やればいい
695デフォルトの名無しさん (アウアウキー Sac7-Z5oZ)
2021/11/23(火) 15:46:47.44ID:vnr7FnzGa >>693
VBAのソースを頭から読み返せばいい
VBAのソースを頭から読み返せばいい
696デフォルトの名無しさん (ワッチョイ a3da-hfdc)
2021/11/23(火) 16:56:40.89ID:glM4yG/J0 >>693
VBA と言わなきゃいいんじゃない。どうせ VBA と C の違いもそいつはわかんないだろう。
VBA と言わなきゃいいんじゃない。どうせ VBA と C の違いもそいつはわかんないだろう。
697デフォルトの名無しさん (ワッチョイ fb68-Tu2U)
2021/11/23(火) 16:58:43.07ID:azQICWGX0698デフォルトの名無しさん (ワッチョイ c3ce-YZaJ)
2021/11/23(火) 17:07:40.89ID:pTXgLOiP0 プロシージャモジュールを作ってます
699デフォルトの名無しさん (ワッチョイ c6da-+VBe)
2021/11/23(火) 19:22:11.55ID:Xen9jxSh0 マジレスすると、VBAだから馬鹿にされているんじゃなくて内容がチープだからじゃね
とりあえずセンスのあるグラフとか作ればそれなりに見えると思う
とりあえずセンスのあるグラフとか作ればそれなりに見えると思う
700デフォルトの名無しさん (ワッチョイ 12bd-o9g6)
2021/11/23(火) 21:29:31.50ID:h2kETaBe0 Excelでセンスのあるグラフって描けるの?
701デフォルトの名無しさん (ワッチョイ 5f01-iUmB)
2021/11/23(火) 21:42:34.64ID:VKZug2mU0 その件はペンディングでお願いします。
702デフォルトの名無しさん (ワッチョイ 6242-Rrxe)
2021/11/23(火) 22:13:21.88ID:d9zk2oza0 高度な処理をするより見た目派手なことするほうが関心されるってのはあるわな
703デフォルトの名無しさん (ワッチョイ a768-+VBe)
2021/11/23(火) 22:18:57.11ID:Uhpscs260 そら見た目の印象で判断してるからな
実際どんな事やってるのか踏み込む人には効果無し
実際どんな事やってるのか踏み込む人には効果無し
704デフォルトの名無しさん (オイコラミネオ MMfa-Mq0r)
2021/11/24(水) 17:35:27.48ID:l0nIbD9FM 動いてる感じを演出して見た目を楽しませるの結構大事だよ
書き込んだところをselectするようにしたら、嬉しそうにセルに書き込まれてる様子眺めてた
書き込んだところをselectするようにしたら、嬉しそうにセルに書き込まれてる様子眺めてた
705デフォルトの名無しさん (ワッチョイ a768-+VBe)
2021/11/24(水) 18:46:24.44ID:M33cGNY60 リアルタイムの進捗状況見れるしな
そういうの好きな人は懐かしのデフラグも好きそう
そういうの好きな人は懐かしのデフラグも好きそう
706デフォルトの名無しさん (ワッチョイ 6256-n9sk)
2021/11/24(水) 21:02:30.81ID:zoTAHfV40707デフォルトの名無しさん (ワッチョイ fb68-Tu2U)
2021/11/24(水) 21:45:28.54ID:KGMrLahJ0708デフォルトの名無しさん (ワッチョイ e24f-hD6c)
2021/11/25(木) 19:13:08.61ID:pDjO55r30 >>706
VBAにはインターフェースあるよ
VBAにはインターフェースあるよ
709デフォルトの名無しさん (ワッチョイ 6256-n9sk)
2021/11/25(木) 23:19:56.43ID:WSSTsN1M0710デフォルトの名無しさん (ワッチョイ a3da-+VBe)
2021/11/25(木) 23:31:25.24ID:OcubR2wD0711デフォルトの名無しさん (ワッチョイ e263-C1KD)
2021/11/25(木) 23:41:58.44ID:1AcsgpK30 Open/Nameで開く/リネームするファイルの名前に
全角括弧や中黒、半角ピリオドが入っていると
実行時に「エラー53 ファイルが見つかりません」
が出ます。
ファイル名が長すぎるのかと思い短くしたが変わらず、
実行前に上記のような文字を削除しておくとと無事処理が終了します。
しかし手作業で削除するのが面倒なのでそれ以外の対処を知りたいです。
先生方ご教示ください。
全角括弧や中黒、半角ピリオドが入っていると
実行時に「エラー53 ファイルが見つかりません」
が出ます。
ファイル名が長すぎるのかと思い短くしたが変わらず、
実行前に上記のような文字を削除しておくとと無事処理が終了します。
しかし手作業で削除するのが面倒なのでそれ以外の対処を知りたいです。
先生方ご教示ください。
712デフォルトの名無しさん (ワッチョイ f7fd-DHDw)
2021/11/26(金) 00:05:14.55ID:fWkXgzm/0 うろ覚えだから動かなかったらごめんね
こんな感じにやるといけたかもしれない
Replace(対象のファイル名, "・", Chr(Code("・")))
こんな感じにやるといけたかもしれない
Replace(対象のファイル名, "・", Chr(Code("・")))
713デフォルトの名無しさん (ワッチョイ 9f49-0CXU)
2021/11/26(金) 17:57:21.05ID:e3tyzrS40 質問です
所定の形式のシートAからデータを取り出し、数値の操作を行ったあと別の形式のシートBに記入すると言うマクロと逆にシートBからシートAに記入するマクロを作りたい場合に楽をする方法はないでしょうか?
今まではA→BとB→Aで2つマクロを作ってたのですが見るところが同じなのでまとめれるように感じたのです
プログラムについて詳しくないので無茶なことを言っているかもしれませんがよろしくおねがいします
所定の形式のシートAからデータを取り出し、数値の操作を行ったあと別の形式のシートBに記入すると言うマクロと逆にシートBからシートAに記入するマクロを作りたい場合に楽をする方法はないでしょうか?
今まではA→BとB→Aで2つマクロを作ってたのですが見るところが同じなのでまとめれるように感じたのです
プログラムについて詳しくないので無茶なことを言っているかもしれませんがよろしくおねがいします
714デフォルトの名無しさん (ワッチョイ ff8e-/YRy)
2021/11/26(金) 18:18:33.57ID:6S+lbrca0 またRuby馬鹿か
715デフォルトの名無しさん (ワッチョイ ffda-D8AZ)
2021/11/26(金) 19:32:54.64ID:y13IYOoN0 >>713
自分で考えないで他人に作らせるのが一番楽じゃないかな
自分で考えないで他人に作らせるのが一番楽じゃないかな
716デフォルトの名無しさん (ワッチョイ f768-uF9W)
2021/11/26(金) 20:39:32.12ID:Jy5iToKI0 >>713
Cを作ってそれで操作
Cを作ってそれで操作
717デフォルトの名無しさん (ワッチョイ 9f42-3yxj)
2021/11/26(金) 20:40:23.50ID:90E5eyRt0 >>715
まさに今やってるのがそれだな
まさに今やってるのがそれだな
718デフォルトの名無しさん (ワッチョイ 775f-s4eX)
2021/11/26(金) 21:24:20.33ID:wVBXN9pL0719デフォルトの名無しさん (ワッチョイ 9f4f-OZPX)
2021/11/26(金) 21:29:44.76ID:l5KPHXyn0 もうRubyは飽きたから
VBAで書かないならせめて
今流行りのPythonとか
新たに注目されてるRustとか
いずれWebのExcelで必要になるJavascriptとか
VBAやってる人が次に進みやすい
VB.NetとかC#とかその辺で書けばいいのに
Rubyとかで書いて来るセンスないバカは
死ねばいいと思う
VBAで書かないならせめて
今流行りのPythonとか
新たに注目されてるRustとか
いずれWebのExcelで必要になるJavascriptとか
VBAやってる人が次に進みやすい
VB.NetとかC#とかその辺で書けばいいのに
Rubyとかで書いて来るセンスないバカは
死ねばいいと思う
720デフォルトの名無しさん (ワッチョイ 9f56-m/w5)
2021/11/26(金) 21:57:57.19ID:sYQtOY9h0 …落ち着けよ
721デフォルトの名無しさん (ワッチョイ f768-uF9W)
2021/11/26(金) 23:05:04.12ID:Jy5iToKI0 >719
一応マジレスする
rubyにはとんでもないキチガイがいて、そいつが嵐回っている
そのおかげでrubyは総スカン、言語に影響するレベルで貶めされるようになった
キチガイ一人で言語一個潰せたのは割とマジですごいと思う
一応マジレスする
rubyにはとんでもないキチガイがいて、そいつが嵐回っている
そのおかげでrubyは総スカン、言語に影響するレベルで貶めされるようになった
キチガイ一人で言語一個潰せたのは割とマジですごいと思う
722デフォルトの名無しさん (ワッチョイ 5701-+aRL)
2021/11/26(金) 23:29:32.65ID:YCQQxNQi0 あわしろ氏が言ってたけど、ベンダーロックインされるから、特定企業の言語は使わないほうが良いよ。
723デフォルトの名無しさん (ワッチョイ 9f4f-OZPX)
2021/11/27(土) 07:12:17.07ID:/aLCz2Bk0724デフォルトの名無しさん (ワッチョイ 9f4f-OZPX)
2021/11/27(土) 07:20:09.69ID:/aLCz2Bk0 あのあわしろ氏とかいうのはアホだから
今はLinuxでさえExcelと似たようなソフトがあってそれでもVBAが動くことか考慮していないのだろう
Cなんか組込系はハードによってすらコードが左右されるのに、必要なときに必要な勉強をすればいいだけなのに変な固定概念を持っててそれを人に押し付けてる
今はLinuxでさえExcelと似たようなソフトがあってそれでもVBAが動くことか考慮していないのだろう
Cなんか組込系はハードによってすらコードが左右されるのに、必要なときに必要な勉強をすればいいだけなのに変な固定概念を持っててそれを人に押し付けてる
725デフォルトの名無しさん (ドコグロ MM4f-7Kcm)
2021/11/27(土) 08:52:39.21ID:OaX0N5DnM >>713
取り出すシートと書き込むシートを引数で渡せばいいだけかと
Sub Hoge(取り出すシート As Worksheet, 書き込むシート As Worksheet)
Dim 値 As Variant
値 = 取り出すシート.Range(取り出す場所).Value
' なんかの処理
書き込むシート.Range(書き込む場所).Value = 値
End Sub
Dim SheetA As Worksheet, SheetB As Worksheet
Set SheetA = ActiveWorkbook.Worksheets("A")
Set SheetB = ActiveWorkbook.Worksheets("B")
' A ⇒ B
Hoge SheetA, SheetB
' B ⇒ A
Hoge SheetB, SheetA
取り出すシートと書き込むシートを引数で渡せばいいだけかと
Sub Hoge(取り出すシート As Worksheet, 書き込むシート As Worksheet)
Dim 値 As Variant
値 = 取り出すシート.Range(取り出す場所).Value
' なんかの処理
書き込むシート.Range(書き込む場所).Value = 値
End Sub
Dim SheetA As Worksheet, SheetB As Worksheet
Set SheetA = ActiveWorkbook.Worksheets("A")
Set SheetB = ActiveWorkbook.Worksheets("B")
' A ⇒ B
Hoge SheetA, SheetB
' B ⇒ A
Hoge SheetB, SheetA
726デフォルトの名無しさん (ゲマー MMdf-W8cC)
2021/11/29(月) 11:44:05.96ID:7iqP84qYM やっと多態性の概要が分かってきた
727713 (ドコグロ MM4f-0CXU)
2021/11/29(月) 11:52:31.66ID:mgylUf/ZM 範囲を別のところに書いたり引数指定でやればいいんですね
遅くなってしまいましたが色々なご意見ありがとうございます
遅くなってしまいましたが色々なご意見ありがとうございます
728デフォルトの名無しさん (ワッチョイ 9f56-m/w5)
2021/11/30(火) 12:14:18.10ID:i6pa9Q1E0729デフォルトの名無しさん (ワッチョイ 9f56-m/w5)
2021/11/30(火) 12:24:36.07ID:i6pa9Q1E0 ああ。CallByNameとかを使えば擬似的にできるんだ。へえ。
しかし、クラスイニシャライザと継承を普通に実装してくれれば
…くれないんだろうな、もう。
しかし、クラスイニシャライザと継承を普通に実装してくれれば
…くれないんだろうな、もう。
730デフォルトの名無しさん (ワッチョイ f723-ZQOw)
2021/11/30(火) 13:25:55.62ID:xmFPZymv0 すいません質問させてください。
特定のエラーウィンドウが出たら実行するマクロを作りたいのですが
実行条件の指定の仕方がわかりません。
具体的には「データの入力規制」のエラーメッセージタブで指定した
ウィンドウの「はい(Y)」を自動で押したのちにマクロを実行させたいです。
ご教授お願いいたします。
特定のエラーウィンドウが出たら実行するマクロを作りたいのですが
実行条件の指定の仕方がわかりません。
具体的には「データの入力規制」のエラーメッセージタブで指定した
ウィンドウの「はい(Y)」を自動で押したのちにマクロを実行させたいです。
ご教授お願いいたします。
731デフォルトの名無しさん (ワッチョイ ffb0-qo/V)
2021/11/30(火) 16:33:24.70ID:yU0uPSMf0 え、そんなことできるの!?
732デフォルトの名無しさん (ワッチョイ b7da-Si4p)
2021/11/30(火) 17:17:34.47ID:EuUrWRYz0 >>731
エラーハンドラーでできないの?
エラーハンドラーでできないの?
733デフォルトの名無しさん (ワッチョイ ffda-D8AZ)
2021/11/30(火) 18:33:56.15ID:Nxhl39nB0 できないから質問したんじゃないの?
734デフォルトの名無しさん (ワッチョイ 17ea-DTN1)
2021/11/30(火) 18:53:53.22ID:gFsrJhmJ0 730です。
vba内?で出たエラーを条件にした処理は探せたんですが、エクセルが出したエラーをトリガーにしたものが探せなくて質問させていただきました。もしあるならば知りたいなと思った次第です。
vba内?で出たエラーを条件にした処理は探せたんですが、エクセルが出したエラーをトリガーにしたものが探せなくて質問させていただきました。もしあるならば知りたいなと思った次第です。
735デフォルトの名無しさん (ワッチョイ 775f-s4eX)
2021/11/30(火) 19:41:38.94ID:C0MmFQGd0 その入力規制をVBAにしたほうが手っ取り早い
736デフォルトの名無しさん (ワッチョイ 17ea-DTN1)
2021/12/01(水) 04:06:37.80ID:RALKNP3F0 なるほど、確かにそうかもしれません。
ありがとうございました。
ありがとうございました。
737デフォルトの名無しさん (アウアウウー Sa5b-Pymr)
2021/12/01(水) 09:01:08.50ID:k/wjCDWPa Excelスレに書き込んだ後にVBAスレがあることに気付きました。
VBAでA1セルに入っている文字列を使ってA2セルに文字列を入れたいと考えています。
↓のように作ったときA1が数字だけかアルファベットだけならうまく入るんですが数字とアルファベットを組み合わせた文字列(例えば4A02とか)だと1004エラーとしてアプリケーション定義かオブジェクト定義のエラーがあると怒られてしまいます。
解決方法あるものでしょうか?
Range("A2").value = "=(1,2,3," & Range ("A1").value & ",5,6,7,8,9,""abc"",0)"
VBAでA1セルに入っている文字列を使ってA2セルに文字列を入れたいと考えています。
↓のように作ったときA1が数字だけかアルファベットだけならうまく入るんですが数字とアルファベットを組み合わせた文字列(例えば4A02とか)だと1004エラーとしてアプリケーション定義かオブジェクト定義のエラーがあると怒られてしまいます。
解決方法あるものでしょうか?
Range("A2").value = "=(1,2,3," & Range ("A1").value & ",5,6,7,8,9,""abc"",0)"
738デフォルトの名無しさん (ワッチョイ d710-DHhq)
2021/12/01(水) 09:26:46.14ID:+HkH87nC0 ありません
739デフォルトの名無しさん (ワッチョイ b7ce-HfRa)
2021/12/01(水) 09:26:59.16ID:D4hpf6JM0 >>737
数式を変えるか、セルの書式を文字列にする
Range("A2").Value = "'=(1,2,3," & Range ("A1").Value & ",5,6,7,8,9,""abc"",0)"
数式を変えるか、セルの書式を文字列にする
Range("A2").Value = "'=(1,2,3," & Range ("A1").Value & ",5,6,7,8,9,""abc"",0)"
740デフォルトの名無しさん (ワッチョイ 9f4f-OZPX)
2021/12/01(水) 11:09:46.49ID:3lXUqEaB0 >>729
クラスのコンストラクタ自体はあるよ。引数が使えないだけで。
VBAの場合は一般的に言う継承は使えないけども移譲が使えるのでクラスで多態性を持たせる場合は
テンプレートメソッドパターンを使うのではなくストラテジーパターンを使う。
クラスのコンストラクタ自体はあるよ。引数が使えないだけで。
VBAの場合は一般的に言う継承は使えないけども移譲が使えるのでクラスで多態性を持たせる場合は
テンプレートメソッドパターンを使うのではなくストラテジーパターンを使う。
741デフォルトの名無しさん (ワッチョイ 9ff2-BhQk)
2021/12/01(水) 11:40:27.26ID:QKQZx/r30 ユーザーフォーム上でのハイパーリンクに関して教えて欲しいです。
エクセルで下記のようなデータがあり、各レコードをユーザーフォームで
表示できるようにしています。
レコード 氏名 駅 地図(URL)
1 山田 新宿 https://map.yahoo.co.jp/search?q=新宿
2 鈴木 渋谷 https://map.yahoo.co.jp/search?q=渋谷
3 木村 池袋 https://map.yahoo.co.jp/search?q=池袋
・
・
その際、「地図(URL)」のテキストボックスを使ってハイパーリンクの設定を、あるいは
「地図(URL)」のラベルを使ってリンクを開くをお教えていただけないでしょうか。
エクセルで下記のようなデータがあり、各レコードをユーザーフォームで
表示できるようにしています。
レコード 氏名 駅 地図(URL)
1 山田 新宿 https://map.yahoo.co.jp/search?q=新宿
2 鈴木 渋谷 https://map.yahoo.co.jp/search?q=渋谷
3 木村 池袋 https://map.yahoo.co.jp/search?q=池袋
・
・
その際、「地図(URL)」のテキストボックスを使ってハイパーリンクの設定を、あるいは
「地図(URL)」のラベルを使ってリンクを開くをお教えていただけないでしょうか。
742デフォルトの名無しさん (ワッチョイ 9f4f-OZPX)
2021/12/01(水) 11:45:54.74ID:3lXUqEaB0743デフォルトの名無しさん (ワッチョイ 9f4f-OZPX)
2021/12/01(水) 11:51:59.83ID:3lXUqEaB0 まぁその前にExcelのユーザーフォームは
スプレッドシートやグリッドビューや
HTMLでいうTableタグのようなものが無いので
擬似的に一覧を作る方法を考える方が
先だと思うけど。
スプレッドシートやグリッドビューや
HTMLでいうTableタグのようなものが無いので
擬似的に一覧を作る方法を考える方が
先だと思うけど。
744デフォルトの名無しさん (ワッチョイ 9ff2-BhQk)
2021/12/01(水) 11:57:47.33ID:QKQZx/r30 Private Sub ラベル地図_Click()
Dim a
a = 地図.Text
ユーザーフォーム.FollowHyperlinks Address:="a"
End Sub
なんとなくこんな感じなかとやってみたのですが、エラーでした。
宜しくお願いいたします。
Dim a
a = 地図.Text
ユーザーフォーム.FollowHyperlinks Address:="a"
End Sub
なんとなくこんな感じなかとやってみたのですが、エラーでした。
宜しくお願いいたします。
745デフォルトの名無しさん (スプッッ Sd3f-y/uX)
2021/12/01(水) 11:59:07.74ID:JKRXUH4pd VBAって初学者はどうやって勉強すればいいんですか?
746デフォルトの名無しさん (ゲマー MM4f-W8cC)
2021/12/01(水) 12:03:16.45ID:G1NuLHw5M747デフォルトの名無しさん (ブーイモ MMbf-DHDw)
2021/12/01(水) 12:12:34.05ID:KAm88z78M >>745
変数の定義、ループ文の書き方、条件分岐の書き方が分かれば大体の言語はなんとかなる
あとは自分が何をやりたいかによってこんな動作はできるか?あんな動作は可能か?って一つ一つ調べていけばいい
処理速度が遅いと感じ始めたら最適化とかに手を出したり、シークバーを表示することで体感速度を早めたりっていう事を覚えていけば最低限はなんとかなるんじゃない?知らんけど
変数の定義、ループ文の書き方、条件分岐の書き方が分かれば大体の言語はなんとかなる
あとは自分が何をやりたいかによってこんな動作はできるか?あんな動作は可能か?って一つ一つ調べていけばいい
処理速度が遅いと感じ始めたら最適化とかに手を出したり、シークバーを表示することで体感速度を早めたりっていう事を覚えていけば最低限はなんとかなるんじゃない?知らんけど
748デフォルトの名無しさん (ワッチョイ 9f4f-OZPX)
2021/12/01(水) 12:23:56.22ID:3lXUqEaB0749デフォルトの名無しさん (ワッチョイ 9f4f-OZPX)
2021/12/01(水) 12:31:06.77ID:3lXUqEaB0750デフォルトの名無しさん (ワッチョイ 9f4f-OZPX)
2021/12/01(水) 12:33:40.85ID:3lXUqEaB0 ごめん誤表記
頭×
値◯
頭×
値◯
751デフォルトの名無しさん (アウアウウー Sa5b-Pymr)
2021/12/01(水) 12:42:23.19ID:k/wjCDWPa752デフォルトの名無しさん (ワッチョイ 9ff2-BhQk)
2021/12/01(水) 13:31:12.78ID:QKQZx/r30 Range ってテキストボックス内の文字列(アドレス)指定できたでしょうか??
テキストボックスのオブジェクト名を間違ってた・・・
Private Sub ラベル地図_Click()
Dim a
a = "txt地図" ’テキストボックス(txt地図)内表示の文字列
ユーザーフォーム.FollowHyperlinks Address:=”a"
End Sub
・・・またエラーだ・・・。
「a」「”a”」ともに・・・。
.FollowHyperlinks がダメなのかなぁ。
安易に質問してすみませんでした。
勉強しなおします。
他いろいろ試してまた分からなかったら来ます。
テキストボックスのオブジェクト名を間違ってた・・・
Private Sub ラベル地図_Click()
Dim a
a = "txt地図" ’テキストボックス(txt地図)内表示の文字列
ユーザーフォーム.FollowHyperlinks Address:=”a"
End Sub
・・・またエラーだ・・・。
「a」「”a”」ともに・・・。
.FollowHyperlinks がダメなのかなぁ。
安易に質問してすみませんでした。
勉強しなおします。
他いろいろ試してまた分からなかったら来ます。
753デフォルトの名無しさん (ワッチョイ 9ff2-BhQk)
2021/12/01(水) 13:36:58.56ID:QKQZx/r30754デフォルトの名無しさん (ラクッペペ MM8f-aw+H)
2021/12/01(水) 13:40:49.74ID:RRRUPRTbM フォームオブジェクトには.FollowHyperlinksというメソッドは無いね
WorkbookかApplicationのを使うとよろし
WorkbookかApplicationのを使うとよろし
755デフォルトの名無しさん (ワッチョイ 5701-hL2Y)
2021/12/01(水) 14:39:09.38ID:8YNSD3Np0 Sub マクロ保存したまま拡張子変換()
Dim bk As Workbook
Dim f As Variant
Dim gf , hf
Dim fro As Object
MsgBox (“変換するフォルダを選択して下さい”)
Set fso = CreateObject(“Scripting.FilesystemObject”)
With Application.FileDialog(msoFileDialogFolderPicker)
.show
gf = .SelectedItems(1)
MsgBox (“保存するフォルダを選択してください。”)
FileDialog(msoFileDialogFolderPicker)
. Show
hf = . SelectedItems(1)
End with
Set = fso.GetFolder(gf).Files
For Each f in fso.GetFolder(gf).Files
If LCase(fso. GetExtensionName(f.name)) =“xlsm” Then
Application.DisplayAlerts = False
Set bk = Workbooks.Open(gf & “\” & f.Name)
bk.SaveAs gf & “\”fso.GetBasename(f.Name) & “.xlsx” , 51
bk.Close
set bk = Nothing
End if
Next
fso.MoveFile “gf & \ *.xlsm,_ “hf”
set gf = Nothing
set hf = Nothing
set fso = Nothing
MsgBox “ finished”
End sub
元のマクロデータ結果が消えるのと、フォルダ移管がうまくいきません。誰かたーすーけーてー。
Dim bk As Workbook
Dim f As Variant
Dim gf , hf
Dim fro As Object
MsgBox (“変換するフォルダを選択して下さい”)
Set fso = CreateObject(“Scripting.FilesystemObject”)
With Application.FileDialog(msoFileDialogFolderPicker)
.show
gf = .SelectedItems(1)
MsgBox (“保存するフォルダを選択してください。”)
FileDialog(msoFileDialogFolderPicker)
. Show
hf = . SelectedItems(1)
End with
Set = fso.GetFolder(gf).Files
For Each f in fso.GetFolder(gf).Files
If LCase(fso. GetExtensionName(f.name)) =“xlsm” Then
Application.DisplayAlerts = False
Set bk = Workbooks.Open(gf & “\” & f.Name)
bk.SaveAs gf & “\”fso.GetBasename(f.Name) & “.xlsx” , 51
bk.Close
set bk = Nothing
End if
Next
fso.MoveFile “gf & \ *.xlsm,_ “hf”
set gf = Nothing
set hf = Nothing
set fso = Nothing
MsgBox “ finished”
End sub
元のマクロデータ結果が消えるのと、フォルダ移管がうまくいきません。誰かたーすーけーてー。
757デフォルトの名無しさん (ラクッペペ MM8f-aw+H)
2021/12/01(水) 15:27:28.95ID:RRRUPRTbM 今日び小学生でも拡張子変更なんぞせんぞ
758デフォルトの名無しさん (ワッチョイ d710-OF20)
2021/12/01(水) 15:29:25.99ID:+HkH87nC0 へぇー
759デフォルトの名無しさん (ブーイモ MMcf-HfRa)
2021/12/01(水) 15:37:37.70ID:Jx6PEbk5M 拡張子なんてずっと前から非表示がデフォルト設定だもんな
表示してるのはIT技術者とマニアぐらい
表示してるのはIT技術者とマニアぐらい
760デフォルトの名無しさん (オイコラミネオ MM4f-6l0J)
2021/12/01(水) 17:45:16.35ID:j0FzcgCOM >>745
解説本読んだら、やりたい事 vbaでググる
解説本読んだら、やりたい事 vbaでググる
761デフォルトの名無しさん (ゲマー MM4f-W8cC)
2021/12/01(水) 17:45:55.82ID:G1NuLHw5M >>755
さっきの人もそうだけど、とりあえず変数を""で囲うのやーめーてー
さっきの人もそうだけど、とりあえず変数を""で囲うのやーめーてー
762デフォルトの名無しさん (ワッチョイ 1768-D8AZ)
2021/12/01(水) 18:55:24.01ID:mU2lRylq0763デフォルトの名無しさん (ワッチョイ b7ce-HfRa)
2021/12/01(水) 20:04:07.09ID:D4hpf6JM0 スマホ使いにそんなこと言ってもしゃーないで
764デフォルトの名無しさん (ワッチョイ 1768-D8AZ)
2021/12/01(水) 20:12:27.50ID:mU2lRylq0 PCやけど
765デフォルトの名無しさん (ラクッペペ MM8f-aw+H)
2021/12/01(水) 20:28:25.20ID:FnvfENRiM ExcelスレにはPCからアクセス出来ないからと
全部手打ちのお客さんが稀に良く来るんだよ
いつものひとって呼ばれているけど個体ではなく群体かもしれないね
全部手打ちのお客さんが稀に良く来るんだよ
いつものひとって呼ばれているけど個体ではなく群体かもしれないね
766デフォルトの名無しさん (ワッチョイ 9f42-3yxj)
2021/12/01(水) 21:12:48.54ID:s3di+kE80 なにそれ怖い
767デフォルトの名無しさん (ワッチョイ bf68-uF9W)
2021/12/01(水) 21:14:41.21ID:qDEAEYAb0 >>745
今やってる手作業を全部マクロで書いてみる
とにかくひたすら、
「入力を最低限に」
「出力を正確に」
を考えると、実用十分な面で腕が上がる
あとはオブジェクト、setなどを覚えると更に快適になるけど
まぁそこまで覚えなくてもいいことがほとんど
今やってる手作業を全部マクロで書いてみる
とにかくひたすら、
「入力を最低限に」
「出力を正確に」
を考えると、実用十分な面で腕が上がる
あとはオブジェクト、setなどを覚えると更に快適になるけど
まぁそこまで覚えなくてもいいことがほとんど
768デフォルトの名無しさん (ワッチョイ ff8e-/YRy)
2021/12/01(水) 21:25:33.13ID:fkQJutja0 「助けて」と質問を書くのは馬鹿ばっか
769デフォルトの名無しさん (ワッチョイ d710-OF20)
2021/12/01(水) 21:42:33.27ID:+HkH87nC0 タスケテ…
770デフォルトの名無しさん (ワッチョイ bf68-uF9W)
2021/12/01(水) 22:01:16.26ID:qDEAEYAb0 コロシテ…
771デフォルトの名無しさん (スフッ Sdbf-f7fV)
2021/12/01(水) 22:12:07.13ID:8hr1PHBLd オコシテ…
772デフォルトの名無しさん (ワッチョイ 5701-+BwI)
2021/12/01(水) 22:19:52.19ID:jZirIxvE0 excel vnaでパス区切りが入りません。
\マークの前に、変な文字が入ってしまいます。
a=“c:\tmp\”
が
a=“c: \tmp \”
みたいになります。
解決策をご存知の方いませんか?
\マークの前に、変な文字が入ってしまいます。
a=“c:\tmp\”
が
a=“c: \tmp \”
みたいになります。
解決策をご存知の方いませんか?
773デフォルトの名無しさん (ワッチョイ d710-OF20)
2021/12/01(水) 22:22:18.62ID:+HkH87nC0 >>772
どの時点で入るのか
どの時点で入るのか
774デフォルトの名無しさん (ワッチョイ 775f-s4eX)
2021/12/01(水) 22:22:56.56ID:juM9jQJh0 VNAじゃ無理だな
775デフォルトの名無しさん (ワッチョイ 5701-+BwI)
2021/12/01(水) 22:28:54.98ID:jZirIxvE0776デフォルトの名無しさん (ワッチョイ d710-OF20)
2021/12/01(水) 22:31:48.27ID:+HkH87nC0 >>775
実行時なのか書いてるときなのかってこと
実行時なのか書いてるときなのかってこと
777デフォルトの名無しさん (ワッチョイ 5701-+BwI)
2021/12/01(水) 22:37:04.57ID:jZirIxvE0778デフォルトの名無しさん (ワッチョイ ff2c-mgIj)
2021/12/01(水) 23:27:22.80ID:J8+WBzZ00 Ruby の文字列には、こういうメソッドがある
chomp は、文字列の末尾に改行コードがあった場合に、文字列の末尾の改行コードを削除します。
strip は、文字列の前後のホワイトスペース(空白類?)をすべて削除します
chomp は、文字列の末尾に改行コードがあった場合に、文字列の末尾の改行コードを削除します。
strip は、文字列の前後のホワイトスペース(空白類?)をすべて削除します
779デフォルトの名無しさん (ワッチョイ bf68-uF9W)
2021/12/01(水) 23:37:48.12ID:qDEAEYAb0 使用者の低下率ナンバーワンのrubyか
780デフォルトの名無しさん (ワッチョイ 9f28-/2fo)
2021/12/01(水) 23:47:40.21ID:dyETJfYa0 とりあえず、半角スペース?をRelaceしてその場は乗り切ればいいんじゃない
根本的な解決じゃないだろうけどVBAなんだからその場しのぎで十分
根本的な解決じゃないだろうけどVBAなんだからその場しのぎで十分
781デフォルトの名無しさん (ワッチョイ ff8e-/YRy)
2021/12/02(木) 02:56:08.75ID:dh8YZ99S0 >>780
Ruby馬鹿に引っ掛かる馬鹿
Ruby馬鹿に引っ掛かる馬鹿
782デフォルトの名無しさん (ワッチョイ 5701-+BwI)
2021/12/02(木) 05:50:03.53ID:TBtFTtDf0783デフォルトの名無しさん (ワッチョイ b7ce-HfRa)
2021/12/02(木) 09:23:36.17ID:QiUejsWg0 絶対別のどこかにバグがあるパターンやな
ステップ実行しながら変数の中身をチェックしてみ
ステップ実行しながら変数の中身をチェックしてみ
784デフォルトの名無しさん (ワッチョイ ffda-D8AZ)
2021/12/02(木) 15:07:50.32ID:25yj5vFO0 全角空白、CR、LF、ESC文字、TABコード、00H、のどれかに10ガバチョ
不明文字の文字コード調べればすぐわかるのになぜしないのか?
不明文字の文字コード調べればすぐわかるのになぜしないのか?
785デフォルトの名無しさん (ワッチョイ 9f56-m/w5)
2021/12/02(木) 19:13:44.99ID:Q4ipSZlu0786デフォルトの名無しさん (ブーイモ MMbf-NwPx)
2021/12/02(木) 19:16:51.76ID:YGzDOnnRM 基本を押さえれば何が出来るかとかどう調べればいいか分かるって言う話なのになんでそれオンリーで戦おうとするん
787デフォルトの名無しさん (ワッチョイ 1768-D8AZ)
2021/12/02(木) 19:34:11.48ID:vBr1OiF/0 縛りプレイ?
788デフォルトの名無しさん (ワッチョイ 9f56-m/w5)
2021/12/02(木) 20:00:04.69ID:Q4ipSZlu0 ああ、なるほど。すまんかった
789デフォルトの名無しさん (ブーイモ MMfb-E4/j)
2021/12/02(木) 20:17:25.75ID:i+BC+GFiM それがこのスレに集う人達のクォリティ
790デフォルトの名無しさん (ワッチョイ bf68-uF9W)
2021/12/02(木) 21:25:27.56ID:8cWBX7d10 知らんけどって最後につけてるからセーフ
791デフォルトの名無しさん (ワッチョイ d710-OF20)
2021/12/02(木) 22:03:16.66ID:gXiV7p3O0 知らんがな
792デフォルトの名無しさん (ワッチョイ c0e6-4ess)
2021/12/03(金) 04:54:46.81ID:a7s6mUHw0 >>775
csvがユニコードだったのではなかろうかもう解決したみたいなのでどっちでもいいけど
自分の場合は、ウェブからコピペしたセル上の文字列がユニコードなのにそれをvbaで扱おうとしたらちょっと嵌まったまあなんとかうまく処理できたけど
vbaのエディタはユニコードに対応してないそうだから困っちゃうね
csvがユニコードだったのではなかろうかもう解決したみたいなのでどっちでもいいけど
自分の場合は、ウェブからコピペしたセル上の文字列がユニコードなのにそれをvbaで扱おうとしたらちょっと嵌まったまあなんとかうまく処理できたけど
vbaのエディタはユニコードに対応してないそうだから困っちゃうね
793デフォルトの名無しさん (ワッチョイ b701-edV9)
2021/12/03(金) 05:26:40.56ID:6JzCupcO0 >>792
これ全く再現できないんだよな
っていうか質問者自身が
「\の前に文字が混入するバグ」であるとか、
原因が「a=“c:\tmp\”」や「file = wsh.specialfolder(“Desktop”) & “\test.csv”」にあると勝手に判断してて、
それがミスリードになってる気がする。
余計な文字が入った個所が偶々\マークの近くだっただけだったり、
実は後々変数を弄っていてそこで混入している可能性もある。
質問者は素直にコードを一部始終書いて、
「ここでこうなるようにしたい」とそれだけ書けばいいのにと常々思う。
これ全く再現できないんだよな
っていうか質問者自身が
「\の前に文字が混入するバグ」であるとか、
原因が「a=“c:\tmp\”」や「file = wsh.specialfolder(“Desktop”) & “\test.csv”」にあると勝手に判断してて、
それがミスリードになってる気がする。
余計な文字が入った個所が偶々\マークの近くだっただけだったり、
実は後々変数を弄っていてそこで混入している可能性もある。
質問者は素直にコードを一部始終書いて、
「ここでこうなるようにしたい」とそれだけ書けばいいのにと常々思う。
794デフォルトの名無しさん (ワッチョイ 3e68-dJk+)
2021/12/03(金) 07:05:37.24ID:8nMwCozS0 >「ここでこうなるようにしたい」とそれだけ書けばいいのにと常々思う。
禿げ上がるほど同意
禿げ上がるほど同意
795デフォルトの名無しさん (ワッチョイ bcfd-4ssN)
2021/12/03(金) 08:32:26.43ID:5OfA8a2a0 また髪の話してる(´・ω・`)
796デフォルトの名無しさん (アウアウウー Sab5-XqrI)
2021/12/03(金) 11:57:05.48ID:9DdfYS8Sa IE操作をしてとあるページまで辿り着いて、そこのBASIC認証のポップアップにユーザー名とパスワードを入力した後、OKをクリックする、ということをやりたいです
詳しくないのですが、普通にリンクを辿っていく感じではなく、div要素にJavaScriptが埋め込まれていて、VBAでIdやClassを指定してクリックしてもページ遷移しません
BASIC認証を求められるページの先にあるデータが目的なのですが、そこへ直接行くURLは分かっていても、当然ながら先にログインしてないとデータが閲覧できないようになっています
直接URL先へ飛んでもBASIC認証のポップアップが出ないため、初めから順にページ遷移していって、BASIC認証を求められる特定の場所まで辿り着きたいのです
そのBASIC認証を求められるページのURLが分からないので、遠回りでもそういう方法しか自分には思い浮かびません
URLにユーザー名とパスワードを埋め込む方法はもうできないそうなので、どうにかJavaScriptによるページ遷移をVBAによるIE操作でやりたいです
必要な情報がなにかも分からないのですが、具体的にどうすればdiv要素に埋め込まれたJavaScriptを動かせますか?
詳しくないのですが、普通にリンクを辿っていく感じではなく、div要素にJavaScriptが埋め込まれていて、VBAでIdやClassを指定してクリックしてもページ遷移しません
BASIC認証を求められるページの先にあるデータが目的なのですが、そこへ直接行くURLは分かっていても、当然ながら先にログインしてないとデータが閲覧できないようになっています
直接URL先へ飛んでもBASIC認証のポップアップが出ないため、初めから順にページ遷移していって、BASIC認証を求められる特定の場所まで辿り着きたいのです
そのBASIC認証を求められるページのURLが分からないので、遠回りでもそういう方法しか自分には思い浮かびません
URLにユーザー名とパスワードを埋め込む方法はもうできないそうなので、どうにかJavaScriptによるページ遷移をVBAによるIE操作でやりたいです
必要な情報がなにかも分からないのですが、具体的にどうすればdiv要素に埋め込まれたJavaScriptを動かせますか?
797デフォルトの名無しさん (ワッチョイ f64f-HF+D)
2021/12/03(金) 12:53:21.83ID:zxa5p7EY0 >>796
認証している画面(ログイン画面)は分かりますか?
そもそもですが、一度ログインした情報をクライアントサイドで持ち回っているとは限りませんよ。
Webにはサーバー側でセッションというものがあり、セキュリティ上の関係で、ログイン画面で打ち込んだ、あるいはログイン出来た、という情報をそれで持ち回る手段も一般的に使われます。
クッキーやクエリストリングで持ち回る場合も有りますが、一般公開されているサイトであれば望み薄でしょう。
直接入るようにするのであれば、そのサイトも社内環境のような場所にあるのであれば、そういう口を作って貰うのが一番手っ取り早いでしょう。
そんなに簡単に入れるのなら内部の情報抜きたい放題ですよね?
だから認証というものがある訳です。
認証している画面(ログイン画面)は分かりますか?
そもそもですが、一度ログインした情報をクライアントサイドで持ち回っているとは限りませんよ。
Webにはサーバー側でセッションというものがあり、セキュリティ上の関係で、ログイン画面で打ち込んだ、あるいはログイン出来た、という情報をそれで持ち回る手段も一般的に使われます。
クッキーやクエリストリングで持ち回る場合も有りますが、一般公開されているサイトであれば望み薄でしょう。
直接入るようにするのであれば、そのサイトも社内環境のような場所にあるのであれば、そういう口を作って貰うのが一番手っ取り早いでしょう。
そんなに簡単に入れるのなら内部の情報抜きたい放題ですよね?
だから認証というものがある訳です。
798デフォルトの名無しさん (ワッチョイ acce-cP/Y)
2021/12/03(金) 13:12:32.34ID:ssU1VLQS0 >>796
鯖によって使えるかどうか変わるけど、URLにIDとパスワードを埋め込んで認証させてしまうという方法がある
あとJavascriptでのページ遷移もURLにスクリプトを埋め込む方法で飛べてしまうケースがけっこうある
これ以上は具体的にそこのサイトを教えてもらわないと、何が使えるとかアドバイスは難しい
鯖によって使えるかどうか変わるけど、URLにIDとパスワードを埋め込んで認証させてしまうという方法がある
あとJavascriptでのページ遷移もURLにスクリプトを埋め込む方法で飛べてしまうケースがけっこうある
これ以上は具体的にそこのサイトを教えてもらわないと、何が使えるとかアドバイスは難しい
799デフォルトの名無しさん (ワッチョイ acce-cP/Y)
2021/12/03(金) 13:19:32.02ID:ssU1VLQS0 >>796
URLなんてパケットキャプチャすればすぐわかる
ただしURLにワンタイムキーが含まれてる場合はURLがわかってても直接飛ぶのは不可能
ポップアップウィンドウに文字列を入力する最終手段としてSendKeysというのもあるけど、安定動作させるのが難しすぎるのであまりおすすめしない
URLなんてパケットキャプチャすればすぐわかる
ただしURLにワンタイムキーが含まれてる場合はURLがわかってても直接飛ぶのは不可能
ポップアップウィンドウに文字列を入力する最終手段としてSendKeysというのもあるけど、安定動作させるのが難しすぎるのであまりおすすめしない
800デフォルトの名無しさん (ワッチョイ 2cda-Z6Z9)
2021/12/03(金) 13:54:04.52ID:flES33au0 >>796
他のアプリ操作してネットワークにアクセスするのをVBAで作るのはやめなされ
他のアプリ操作してネットワークにアクセスするのをVBAで作るのはやめなされ
801デフォルトの名無しさん (アウアウウー Sab5-XqrI)
2021/12/03(金) 14:27:04.84ID:SW8VES6Na >>797
詳細は分からないのですが、一度ログインした後ならば、その先のURLへ直接飛んでも閲覧できるんです
なので、とりあえず一度でもどうにかログインさえすれば、なんとかなるかなと思っています
>>798
外部サイトではないので直接見ていただくことはできないのです
URLに埋め込む方法を試しては見たのですが上手くいきませんでした
欲しいデータのある場所は、URLにパラメータを渡してなんとか飛べることはできたので、BASIC認証が求められるページもそうやって行けるのが一番なんですが、ソースを見ても分からなくてお手上げ状態です
BASIC認証を呼び出してるであろうそれっぽい場所は見つけたんですが、そこからどうも上手くいかなくて・・・
>>799
なるほど
パケットキャプチャ調べてみます
とにかくポップアップさえ表示できれば、最悪SendKeysでEnterしてやろうと思ってました
>>800
あまり良くないであろうことは分かってるんですが、できればすでにあるVBAコードの中に組み込みたいんです・・・
詳細は分からないのですが、一度ログインした後ならば、その先のURLへ直接飛んでも閲覧できるんです
なので、とりあえず一度でもどうにかログインさえすれば、なんとかなるかなと思っています
>>798
外部サイトではないので直接見ていただくことはできないのです
URLに埋め込む方法を試しては見たのですが上手くいきませんでした
欲しいデータのある場所は、URLにパラメータを渡してなんとか飛べることはできたので、BASIC認証が求められるページもそうやって行けるのが一番なんですが、ソースを見ても分からなくてお手上げ状態です
BASIC認証を呼び出してるであろうそれっぽい場所は見つけたんですが、そこからどうも上手くいかなくて・・・
>>799
なるほど
パケットキャプチャ調べてみます
とにかくポップアップさえ表示できれば、最悪SendKeysでEnterしてやろうと思ってました
>>800
あまり良くないであろうことは分かってるんですが、できればすでにあるVBAコードの中に組み込みたいんです・・・
802デフォルトの名無しさん (ラクッペペ MM34-QcgA)
2021/12/03(金) 14:43:51.51ID:0Pem6RYZM Authorizationヘッダを追加する方法は試したの?
803デフォルトの名無しさん (アウアウウー Sab5-XqrI)
2021/12/03(金) 15:07:12.35ID:HI4Cro1ra804デフォルトの名無しさん (ワッチョイ f64f-HF+D)
2021/12/03(金) 15:24:32.70ID:zxa5p7EY0805デフォルトの名無しさん (アウアウウー Sab5-XqrI)
2021/12/03(金) 15:52:30.54ID:vV4ZoTXpa >>804
IdやClassNameでは.Clickでも駄目でした
ページ遷移という書き方をしてしまいましたが、正確にはdiv要素がstyleで画像になっていて、それをマウスクリックするとそのページ内でメニューがポップアップします
そのメニューにも同様にボタン画像があって、いくつかクリックして潜っていった先の一つをクリックすると、今度はBASIC認証のウィンドウが出てきます
IdやClassNameでは.Clickでも駄目でした
ページ遷移という書き方をしてしまいましたが、正確にはdiv要素がstyleで画像になっていて、それをマウスクリックするとそのページ内でメニューがポップアップします
そのメニューにも同様にボタン画像があって、いくつかクリックして潜っていった先の一つをクリックすると、今度はBASIC認証のウィンドウが出てきます
806デフォルトの名無しさん (アウアウウー Sa3a-j3Ye)
2021/12/03(金) 18:05:37.11ID:n8IJVD8na web側で認証しなくていいように直せよ
807デフォルトの名無しさん (ワッチョイ d02c-lkzs)
2021/12/03(金) 20:39:08.05ID:XIVj35HM0 >>805
で書いてある通りに、やっていけば?
Ruby on Rails の統合テストのCapybara は、そういう感じでやっていく
漏れは、Ruby, Selenium Webdriver でブラウザの自動操作して、
yahoo にログインしている
Seleniumでは、要素が出現するまで待ってくれるので、操作しやすい。
この機能がない場合は、適度にsleep して待てば良い
で書いてある通りに、やっていけば?
Ruby on Rails の統合テストのCapybara は、そういう感じでやっていく
漏れは、Ruby, Selenium Webdriver でブラウザの自動操作して、
yahoo にログインしている
Seleniumでは、要素が出現するまで待ってくれるので、操作しやすい。
この機能がない場合は、適度にsleep して待てば良い
808デフォルトの名無しさん (ワッチョイ 3e68-dJk+)
2021/12/03(金) 21:16:21.68ID:8nMwCozS0809デフォルトの名無しさん (ワッチョイ 0a8e-9fbA)
2021/12/03(金) 22:10:47.69ID:j3L0Seq20 またRuby馬鹿の釣りに引っ掛かった馬鹿ども
810デフォルトの名無しさん (ブーイモ MM5e-znFK)
2021/12/03(金) 22:14:21.75ID:SLFpaNjyM と、馬鹿が申しております。
811デフォルトの名無しさん (ワッチョイ b701-edV9)
2021/12/03(金) 23:03:37.81ID:6JzCupcO0 >>796
Basic認証の情報はホスト名毎に自動的に送信されるはずだから、
事前に認証後に遷移するURLへAuthorizationヘッダに認証情報を追加した状態でNavigateメソッドを実行しておけばどうかな。
そのあと通常通り辿ってBasic認証が求められるページに行ったらどうなる?
Basic認証の情報はホスト名毎に自動的に送信されるはずだから、
事前に認証後に遷移するURLへAuthorizationヘッダに認証情報を追加した状態でNavigateメソッドを実行しておけばどうかな。
そのあと通常通り辿ってBasic認証が求められるページに行ったらどうなる?
812デフォルトの名無しさん (ドナドナー MM34-r5iX)
2021/12/04(土) 02:28:53.31ID:DkK1m4G2M813デフォルトの名無しさん (アウアウエー Sa66-6Nwx)
2021/12/04(土) 14:10:39.93ID:6zlbLfe7a 根本的な質問で恐縮ですが。EOMonth関数でシリアル値が取れるのはわかっていますが、そこからMonthのみ取り出したらその「月数」のデータ型も日付シリアル値の一部のままと考えていいでしょうか。
それともただのint型やstr型などになってしまうのでしょうか。
それともただのint型やstr型などになってしまうのでしょうか。
814デフォルトの名無しさん (ワッチョイ 6ee6-QcgA)
2021/12/04(土) 14:42:38.47ID:o3TwiRqy0815デフォルトの名無しさん (ゲマー MM6e-xTEC)
2021/12/04(土) 14:59:32.05ID:cNOnihHeM >>813
月を取り出したらDateserialで好きな日付のシリアル値を作ればいいアル
月を取り出したらDateserialで好きな日付のシリアル値を作ればいいアル
816デフォルトの名無しさん (アウアウエー Sa66-6Nwx)
2021/12/04(土) 16:20:58.44ID:6zlbLfe7a817デフォルトの名無しさん (アウアウエー Sa66-6Nwx)
2021/12/04(土) 16:21:36.10ID:6zlbLfe7a818デフォルトの名無しさん (ワッチョイ 7936-AGux)
2021/12/04(土) 20:10:40.70ID:cgBQWMPD0 1.A列にシートごとに不特定多数(X)のセルがある
2.セルの個数にしたがってを4等分する(小数点以下切り上げ)
3.等分したデータをBCDへ移動する
これをやりたいんだけ2をどう表現すればいいのかわからない
X / 4ってどうやったら表現できますか?
データの最終行の取得方法はわかったけど使い方がわからない…
2.セルの個数にしたがってを4等分する(小数点以下切り上げ)
3.等分したデータをBCDへ移動する
これをやりたいんだけ2をどう表現すればいいのかわからない
X / 4ってどうやったら表現できますか?
データの最終行の取得方法はわかったけど使い方がわからない…
819デフォルトの名無しさん (ワッチョイ 8710-B9Go)
2021/12/04(土) 20:21:19.59ID:2gyaMYwu0820デフォルトの名無しさん (ワッチョイ 8710-B9Go)
2021/12/04(土) 20:26:20.12ID:2gyaMYwu0821デフォルトの名無しさん (ワッチョイ 7936-AGux)
2021/12/04(土) 20:27:45.56ID:cgBQWMPD0822デフォルトの名無しさん (ワッチョイ 7936-AGux)
2021/12/04(土) 21:22:26.78ID:cgBQWMPD0 これが構文エラーになっちゃうのはなんででしようか?
https://i.imgur.com/uZw8aRE.jpg
https://i.imgur.com/uZw8aRE.jpg
823デフォルトの名無しさん (ドコグロ MM08-fTy5)
2021/12/04(土) 21:40:43.97ID:26JgLixHM >>818
> 2.セルの個数にしたがってを4等分する(小数点以下切り上げ)
[1] A, B, C 列の個数 = WorksheetFunction.RoundUp(A列の個数, 0)
[2] D列の個数 = 元のA列の個数 - 3 * ([1]で求めた個数)
> 2.セルの個数にしたがってを4等分する(小数点以下切り上げ)
[1] A, B, C 列の個数 = WorksheetFunction.RoundUp(A列の個数, 0)
[2] D列の個数 = 元のA列の個数 - 3 * ([1]で求めた個数)
824デフォルトの名無しさん (ドコグロ MM08-fTy5)
2021/12/04(土) 21:44:29.23ID:26JgLixHM >>822
なんかに代入してないから
なんかに代入してないから
825デフォルトの名無しさん (ササクッテロ Sp88-E+rw)
2021/12/05(日) 05:50:33.57ID:LmHUo9b4p >>793
mac版で編集、保存したファイルでなった事あるよ。
winで作ったxlsmをmacで編集、保存する。
後phpexcelなどのライブラリーを使ってwebからダウンロードさせたファイルでも同様の現象になることがあったなぁ。
mac版で編集、保存したファイルでなった事あるよ。
winで作ったxlsmをmacで編集、保存する。
後phpexcelなどのライブラリーを使ってwebからダウンロードさせたファイルでも同様の現象になることがあったなぁ。
826デフォルトの名無しさん (ワッチョイ f64f-HF+D)
2021/12/05(日) 07:36:04.48ID:pHE92v1E0 MacのExcel VBAは使い物にならないからやめとけとあれほど
827デフォルトの名無しさん (ワッチョイ acce-cP/Y)
2021/12/05(日) 07:48:10.10ID:qeQQs+3u0 >>822
Sub Macro1()
A列 = 1234 '全体の個数
分割 = WorksheetFunction.RoundUp(A列 / 4, 0) '分割後の個数
Cells(分割 * 1 + 1, "A").Resize(分割, 1).Cut Destination:=Cells(1, "B") 'コピペ2列目
Cells(分割 * 2 + 1, "A").Resize(分割, 1).Cut Destination:=Cells(1, "C") '3列目
Cells(分割 * 3 + 1, "A").Resize(分割, 1).Cut Destination:=Cells(1, "D") '4列目
End Sub
Sub Macro1()
A列 = 1234 '全体の個数
分割 = WorksheetFunction.RoundUp(A列 / 4, 0) '分割後の個数
Cells(分割 * 1 + 1, "A").Resize(分割, 1).Cut Destination:=Cells(1, "B") 'コピペ2列目
Cells(分割 * 2 + 1, "A").Resize(分割, 1).Cut Destination:=Cells(1, "C") '3列目
Cells(分割 * 3 + 1, "A").Resize(分割, 1).Cut Destination:=Cells(1, "D") '4列目
End Sub
828デフォルトの名無しさん (ワッチョイ 7936-AGux)
2021/12/05(日) 11:29:11.55ID:PoobQwg20 数値をバーコード化するマクロ使うと、かなりの確率でWorksheet クラスの Paste メソッドが失敗しました。が起きるのはなぜでしょうか
貼り付けコマンド直後にDoEventやると少し緩和されます
貼り付けコマンド直後にDoEventやると少し緩和されます
829デフォルトの名無しさん (ワッチョイ acce-cP/Y)
2021/12/05(日) 11:45:46.53ID:qeQQs+3u0830デフォルトの名無しさん (ワッチョイ 3e68-dJk+)
2021/12/05(日) 13:12:32.58ID:AJKte2/X0 >>828
バーコードフォントってのがあるから、そっち使ったほうがいいと思う
バーコードフォントってのがあるから、そっち使ったほうがいいと思う
831デフォルトの名無しさん (ワッチョイ 2cda-Z6Z9)
2021/12/05(日) 16:00:44.92ID:2zMPQ80f0 |
| 彡⌒ミ
\ (´・ω・`)また髪の話してる
(| |)::::
(γ /:::::::
し \:::
\
| 彡⌒ミ
\ (´・ω・`)また髪の話してる
(| |)::::
(γ /:::::::
し \:::
\
832デフォルトの名無しさん (ワッチョイ 632f-0sOk)
2021/12/05(日) 16:26:53.62ID:njmkqf+T0 >>831
このハゲ!
このハゲ!
833デフォルトの名無しさん (スッップ Sd70-6a6v)
2021/12/05(日) 17:47:50.87ID:VQoGm9OLd バーコードフォント使う方法ってダウンロードしないとダメじゃね
現場でこそこそやってる俺はOLEオブジェクトだったか使う王道でやるしかなかったわ
ぐぐるとこの方法がトップに出てくるわけなんだけど
もし>>828がこの方法を使っているとして
何の目的でpasteメソッドを使ってるんだろうね
普通にバーコード作成するだけだと、たぶんだけどpasteメソッドは出てこない
現場でこそこそやってる俺はOLEオブジェクトだったか使う王道でやるしかなかったわ
ぐぐるとこの方法がトップに出てくるわけなんだけど
もし>>828がこの方法を使っているとして
何の目的でpasteメソッドを使ってるんだろうね
普通にバーコード作成するだけだと、たぶんだけどpasteメソッドは出てこない
834デフォルトの名無しさん (アウアウウー Sa6b-vGAJ)
2021/12/10(金) 18:22:43.48ID:y+vFgULga 質問つか愚痴だけども…
閑散期にやってるアピールで始めたVBA、
入れ過ぎた塩を中和するのに砂糖を入れ、
入れ過ぎた砂糖を中和するのに塩を入れるのを繰り返した
ヘタクソ料理みたいなコーディングの果てに繁忙期に食い込んで上司の視線が痛い…
依然としてどっか直したらどっかが狂う…
業務改善を謳いながら結果的に仕事と混乱をもたらしただけだった…
閑散期にやってるアピールで始めたVBA、
入れ過ぎた塩を中和するのに砂糖を入れ、
入れ過ぎた砂糖を中和するのに塩を入れるのを繰り返した
ヘタクソ料理みたいなコーディングの果てに繁忙期に食い込んで上司の視線が痛い…
依然としてどっか直したらどっかが狂う…
業務改善を謳いながら結果的に仕事と混乱をもたらしただけだった…
835デフォルトの名無しさん (ワッチョイ 4768-PFkU)
2021/12/10(金) 19:14:12.64ID:8RSWuNFi0 >>834
典型的な初心者で草
俺も最初は随分と苦労したけど、
そうなったら最初から書き直したほうが絶対に早いし、腕も上がる
糞みたいなコードを読み直す時間は無駄
せっかく書いたのに・・・って思う気持ちは窓から投げ捨てろ
典型的な初心者で草
俺も最初は随分と苦労したけど、
そうなったら最初から書き直したほうが絶対に早いし、腕も上がる
糞みたいなコードを読み直す時間は無駄
せっかく書いたのに・・・って思う気持ちは窓から投げ捨てろ
836デフォルトの名無しさん (テテンテンテン MM8f-xN2F)
2021/12/10(金) 21:34:03.94ID:JOaKTDE2M いやいや
失敗は成功の母
一度始めたことは苦しくても頑張れよ
出来の悪いコードを苦労して改良して動くようにしたとき、
人はレベルが一段上がる
失敗は成功の母
一度始めたことは苦しくても頑張れよ
出来の悪いコードを苦労して改良して動くようにしたとき、
人はレベルが一段上がる
837デフォルトの名無しさん (ワッチョイ 87ce-xLgN)
2021/12/10(金) 21:53:28.84ID:RVt2OdWb0 一般的にデバッグはコーディングの10倍ぐらい経験や知識が必要な作業だから初心者には荷が重い
まずは最初から書き直してちゃんと動く物を作り上げた方がいいと思うよ
まずは最初から書き直してちゃんと動く物を作り上げた方がいいと思うよ
838デフォルトの名無しさん (ワッチョイ 5f7d-Khk1)
2021/12/10(金) 21:57:39.03ID:xjUFmHBZ0 書き直しって一からベタ打ちするんじゃなくてコピペがほとんどですよね?
839デフォルトの名無しさん (ドナドナー MM8f-9uXO)
2021/12/11(土) 00:08:42.46ID:0TmKxSpwM それは、なにをするコードかにかかってる
840デフォルトの名無しさん (ワッチョイ 87ce-xLgN)
2021/12/11(土) 00:13:00.70ID:8HGqQjXT0 誰でも最初はコピペから始めるもんだ
841デフォルトの名無しさん (ワッチョイ 6710-EBch)
2021/12/11(土) 00:15:09.63ID:emzd9j2L0 거피&베!
842デフォルトの名無しさん (ワッチョイ 4768-PFkU)
2021/12/11(土) 00:15:37.34ID:8/VOYP4o0 >>838
その辺は慣れ。今からほしいコードが、「書く」「コピペ」、どっちが早いかによる。
ほとんどは自分でベタ書きだけど、個人的にこの辺はマクロの記録を修正するか、ネットからのコピペで済ます
・背景色や罫線を変更する時
・グラフをvbaで制御したい時
その辺は慣れ。今からほしいコードが、「書く」「コピペ」、どっちが早いかによる。
ほとんどは自分でベタ書きだけど、個人的にこの辺はマクロの記録を修正するか、ネットからのコピペで済ます
・背景色や罫線を変更する時
・グラフをvbaで制御したい時
843デフォルトの名無しさん (ワッチョイ 87ce-xLgN)
2021/12/11(土) 08:59:51.92ID:8HGqQjXT0 引数の意味がうろ覚えの時、ヘルプを読むより動くコードをコピペした方が早いことも
844デフォルトの名無しさん (アウアウキー Safb-ODP2)
2021/12/11(土) 10:04:25.41ID:U2WGKbTGa 早さじゃなく内容を優先しないから
つぎはぎだらけになるんじゃね
つぎはぎだらけになるんじゃね
845デフォルトの名無しさん (ワッチョイ 2768-xLgN)
2021/12/11(土) 10:37:22.38ID:FFb1xkQN0 行き当たりばったりで建築開始しました
バランスが悪くなって一部倒壊しました
もう更地にして立て直した方がいい事もあるよね
バランスが悪くなって一部倒壊しました
もう更地にして立て直した方がいい事もあるよね
846デフォルトの名無しさん (ワッチョイ 4768-PFkU)
2021/12/11(土) 10:40:37.38ID:8/VOYP4o0 >>>843
それはたまによくある
それはたまによくある
847デフォルトの名無しさん (ワッチョイ 87ce-xLgN)
2021/12/11(土) 13:51:55.04ID:8HGqQjXT0 今は早さが最優先される時代だからね
民生アプリやゲームなんてバグだらけでもとにかくリリースして、オンラインでどんどんパッチを当ててく方式が主流になってる
民生アプリやゲームなんてバグだらけでもとにかくリリースして、オンラインでどんどんパッチを当ててく方式が主流になってる
848デフォルトの名無しさん (スッップ Sdff-sCeO)
2021/12/11(土) 15:19:06.66ID:yDTfTX/Yd 馬鹿が作って混乱を引き起こすのがVBAです
849デフォルトの名無しさん (ワッチョイ 2768-xLgN)
2021/12/11(土) 16:03:15.75ID:FFb1xkQN0 VBAテロか
850デフォルトの名無しさん (スッップ Sdff-7FOg)
2021/12/11(土) 17:49:58.93ID:XHSDYDCld 職場なんかで作ってたらろくなもんできないわ
VBAなんか普通はビール飲みながら自宅でつくるもんだ
そうしないと集中できないだろ
VBAなんか普通はビール飲みながら自宅でつくるもんだ
そうしないと集中できないだろ
851デフォルトの名無しさん (ゲマー MM4f-+L6E)
2021/12/11(土) 18:00:38.81ID:xLCFjTgsM よっぽどじゃないと他人向けのマクロは作らない方がいいよなあ
独学だから、頼まれた機能を実現するために仕方なく作った時は気を使った
独学だから、頼まれた機能を実現するために仕方なく作った時は気を使った
852デフォルトの名無しさん (ワッチョイ df4f-Xngn)
2021/12/11(土) 18:49:44.86ID:phdlt8Qf0853デフォルトの名無しさん (ワッチョイ 4763-kNbH)
2021/12/11(土) 18:53:20.61ID:PtEkn1n00 ジャンプ命令の後の命令が実行されてからジャンプするような意味不明な設計でそんなこと無理だ
854デフォルトの名無しさん (ワッチョイ 2768-xLgN)
2021/12/11(土) 19:01:24.21ID:FFb1xkQN0 PS2のデバッグで出会ったわそれ
Mipsだったかで
Mipsだったかで
855デフォルトの名無しさん (ドコグロ MM9f-JVtf)
2021/12/11(土) 20:11:09.89ID:JZyyoC8MM 遅延スロット知ってる俺すげー君が現れた!
856デフォルトの名無しさん (ワッチョイ 2768-xLgN)
2021/12/11(土) 20:15:06.16ID:FFb1xkQN0 遅延スロットって言うのかあれ
知っててすごいね
知っててすごいね
857デフォルトの名無しさん (ワッチョイ e701-p36F)
2021/12/11(土) 20:26:38.51ID:EpvuxOsQ0 一気に形勢逆転。
858デフォルトの名無しさん (ワッチョイ a72d-xLgN)
2021/12/12(日) 12:00:32.32ID:fOYhEkbg0 数年前までVBAで結構組んでたんだけどちょっと必要があって使ってみたらセーブに10分くらいかかる
調べてみると
調べてみると
859デフォルトの名無しさん (ワッチョイ a72d-xLgN)
2021/12/12(日) 12:04:50.97ID:fOYhEkbg0 ごめんなさい途中でかきこんでしまいました
VBAのコードが長いとセーブに時間がかかるとあったのでモジュールを削除してみましたが変化なし
そこで新規にbookを作ってコピペでVBAのコード他すべての要素をコピペしたら普通にセーブできたのですが
これはどういった原因が考えられるでしょうか?
ちなみに別のPCで使ってみたら普通にセーブできました
VBAのコードが長いとセーブに時間がかかるとあったのでモジュールを削除してみましたが変化なし
そこで新規にbookを作ってコピペでVBAのコード他すべての要素をコピペしたら普通にセーブできたのですが
これはどういった原因が考えられるでしょうか?
ちなみに別のPCで使ってみたら普通にセーブできました
860デフォルトの名無しさん (ワッチョイ 87ce-xLgN)
2021/12/12(日) 13:09:25.29ID:ir+yquaT0 マクロ付きブックの保存なんて普通は1秒で終わる
10分なんてあきらかに異常だし、たとえ10秒でもおかしい
HDDの故障やウィルスをまず疑うレベル
10分なんてあきらかに異常だし、たとえ10秒でもおかしい
HDDの故障やウィルスをまず疑うレベル
861デフォルトの名無しさん (ワッチョイ a72d-xLgN)
2021/12/12(日) 13:16:29.89ID:fOYhEkbg0 そんなことは分かってるから質問してるんですが日本語読めてますか?w
862デフォルトの名無しさん (ワッチョイ 4768-PFkU)
2021/12/12(日) 13:52:38.61ID:Q+i1BsMe0863デフォルトの名無しさん (ワッチョイ a72d-xLgN)
2021/12/12(日) 14:16:03.78ID:fOYhEkbg0864デフォルトの名無しさん (ワッチョイ 7fda-8/hI)
2021/12/12(日) 18:58:52.97ID:xrQmO7Ym0 消えてほしいゴミはまだいるのにね
865デフォルトの名無しさん (ワッチョイ 675f-gXCE)
2021/12/12(日) 21:54:20.78ID:6bVn9kYk0 >>861
死ねよ
死ねよ
866デフォルトの名無しさん (ワッチョイ 7f56-kNbH)
2021/12/12(日) 21:54:32.69ID:2LaGAq5q0 >>837
> 一般的にデバッグはコーディングの10倍ぐらい経験や知識が必要な作業だから初心者には荷が重い
ものすごい納得がいく。プログラムの力のかなりな部分を
設計力とデバッグ力が占めてる気がする。
> 一般的にデバッグはコーディングの10倍ぐらい経験や知識が必要な作業だから初心者には荷が重い
ものすごい納得がいく。プログラムの力のかなりな部分を
設計力とデバッグ力が占めてる気がする。
867デフォルトの名無しさん (ワッチョイ 7f56-kNbH)
2021/12/12(日) 21:59:03.19ID:2LaGAq5q0868デフォルトの名無しさん (ワッチョイ a72d-xLgN)
2021/12/12(日) 22:11:14.12ID:fOYhEkbg0 >>865
日本語まともに理解できないからしょうがないんだよなw
日本語まともに理解できないからしょうがないんだよなw
869デフォルトの名無しさん (ワッチョイ 675f-p36F)
2021/12/12(日) 23:18:50.35ID:8ki8W4LJ0 超初心者です。
10個のブックで、それぞれのブックに同じ名前の4種類のシートがあり、
各シートのE10〜D12に入力されている値を抽出したいんですが、
1つのセルを指定するやり方しかわからず…
できれば10個のブックから一括で抜き取りたいんですけど、どう書けばいいでしょうか。
現時点でできたのはダイアログでファイルを選択して、指定のシートから1つだけ抜き出してくる方法です。
これを複数のセルを抜き出したい(可能なら複数のブック指定して抜き出したい)です。
10個のブックで、それぞれのブックに同じ名前の4種類のシートがあり、
各シートのE10〜D12に入力されている値を抽出したいんですが、
1つのセルを指定するやり方しかわからず…
できれば10個のブックから一括で抜き取りたいんですけど、どう書けばいいでしょうか。
現時点でできたのはダイアログでファイルを選択して、指定のシートから1つだけ抜き出してくる方法です。
これを複数のセルを抜き出したい(可能なら複数のブック指定して抜き出したい)です。
871デフォルトの名無しさん (ワッチョイ 7fb0-ULLt)
2021/12/13(月) 03:17:35.02ID:XU8Ge+oP0872デフォルトの名無しさん (ワッチョイ 87ce-xLgN)
2021/12/13(月) 03:32:37.10ID:fuRJ2q4u0 >>869
こんな感じで二重ループにする
ブック名やシート名は必要に応じて配列に入れておく
For Bok = 1 To 10
For Sht = 1 To 4
Range(" ") = Workbooks("ブック" & Bok).Worksheets("シート" & Sht).Range("D10:E12").Value
Next
Next
こんな感じで二重ループにする
ブック名やシート名は必要に応じて配列に入れておく
For Bok = 1 To 10
For Sht = 1 To 4
Range(" ") = Workbooks("ブック" & Bok).Worksheets("シート" & Sht).Range("D10:E12").Value
Next
Next
873デフォルトの名無しさん (ワッチョイ 67e6-zKou)
2021/12/13(月) 22:01:16.80ID:r5ZevJAL0 もう解決したかもしれんが
保存にやたら時間がかかるエクセルファイルとは自分の経験だと
非表示にされたシートに画像が貼られまくってたって事があったなvba開いてみたらシートが異常に多くて気づいた
パソコンリテラシーない人はこういうファイルを平気でメールで送ろうとするよねw
保存にやたら時間がかかるエクセルファイルとは自分の経験だと
非表示にされたシートに画像が貼られまくってたって事があったなvba開いてみたらシートが異常に多くて気づいた
パソコンリテラシーない人はこういうファイルを平気でメールで送ろうとするよねw
874デフォルトの名無しさん (ワッチョイ dfe6-MdYA)
2021/12/13(月) 22:22:28.96ID:WFQjB74Q0 知らんけどxlsm形式だと社内メールは送れんわうちじゃ
875デフォルトの名無しさん (ドナドナー MM8f-9uXO)
2021/12/13(月) 22:45:39.93ID:kcZqxtmKM ボタンのあるシートを
ボタン削除しないままシート削除して
新たにシートを作るっていうコードにしてたら
無茶苦茶ゴミが溜まってファイルが肥大化した挙げ句、
最終的にボタンを貼り付けられなくなった
ボタン削除しないままシート削除して
新たにシートを作るっていうコードにしてたら
無茶苦茶ゴミが溜まってファイルが肥大化した挙げ句、
最終的にボタンを貼り付けられなくなった
876デフォルトの名無しさん (ワッチョイ 4768-PFkU)
2021/12/14(火) 00:01:39.40ID:if1wU8ee0877デフォルトの名無しさん (ワッチョイ df4f-Xngn)
2021/12/14(火) 03:42:43.93ID:5RVk9rj00878デフォルトの名無しさん (ゲマー MM9f-+L6E)
2021/12/14(火) 17:45:50.47ID:24fsqNZFM >>875
ボタン消えないのかよ怖いな
ボタン消えないのかよ怖いな
879デフォルトの名無しさん (ワッチョイ 7fda-ODP2)
2021/12/14(火) 18:25:23.35ID:xWxoPM4l0 ひとつに見えていても2つのボタンが重なっていることもあるぞ
880デフォルトの名無しさん (ワッチョイ dff0-8/hI)
2021/12/15(水) 21:10:32.00ID:L38lsqXF0 VBAのchengeイベントで
セルB1に12、セルC1に3、と入力されたら
D1に12/3と日付が自動で出力され
かつ
C1が空白ならD1も空白
C1が文字ならD1も文字になるようにできるでしょうか?
初心者じみた質問で申し訳ありません
セルB1に12、セルC1に3、と入力されたら
D1に12/3と日付が自動で出力され
かつ
C1が空白ならD1も空白
C1が文字ならD1も文字になるようにできるでしょうか?
初心者じみた質問で申し訳ありません
881デフォルトの名無しさん (ワッチョイ 47fd-LZWr)
2021/12/15(水) 21:18:56.86ID:LajuVBw/0 >>880
出来る
出来る
882デフォルトの名無しさん (ワッチョイ 4768-PFkU)
2021/12/15(水) 21:20:45.35ID:1EtKKquC0 >>880
数式でも良い?
数式でも良い?
883デフォルトの名無しさん (ワッチョイ dff0-8/hI)
2021/12/15(水) 21:24:32.70ID:L38lsqXF0884デフォルトの名無しさん (ワッチョイ 4768-PFkU)
2021/12/15(水) 22:08:43.53ID:1EtKKquC0885デフォルトの名無しさん (ドナドナー MM8f-9uXO)
2021/12/16(木) 01:23:52.85ID:ZFKVIzjFM 日付と言ってるけど単に文字列で良さそうな感じ
886デフォルトの名無しさん (ワッチョイ 4768-PFkU)
2021/12/16(木) 01:36:42.92ID:B/UsaEnq0 >>883
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo finalty
'無限ループ回避
Application.EnableEvents = False
'C1セルが空白は終了処理へ
If Cells(1, 3) = "" Then GoTo finalty
'C1セルが文字列の場合は、そのまま放り込む。それ意外は日付
If WorksheetFunction.IsText(Cells(1, 3)) Then
Cells(1, 4).Value = Cells(1, 3).Value
Else
Cells(1, 4).Value = DateSerial(Year(Now()), Cells(1, 2), Cells(1, 3))
End If
'終了処理
finalty:
Application.EnableEvents = True
End Sub
とりあえず作ったけど、B1が文字列、c1が数字の時にエラーになるな
B1とC1で日付判定したほうがよかったのだろうか
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo finalty
'無限ループ回避
Application.EnableEvents = False
'C1セルが空白は終了処理へ
If Cells(1, 3) = "" Then GoTo finalty
'C1セルが文字列の場合は、そのまま放り込む。それ意外は日付
If WorksheetFunction.IsText(Cells(1, 3)) Then
Cells(1, 4).Value = Cells(1, 3).Value
Else
Cells(1, 4).Value = DateSerial(Year(Now()), Cells(1, 2), Cells(1, 3))
End If
'終了処理
finalty:
Application.EnableEvents = True
End Sub
とりあえず作ったけど、B1が文字列、c1が数字の時にエラーになるな
B1とC1で日付判定したほうがよかったのだろうか
887デフォルトの名無しさん (ワッチョイ 7f8e-sCeO)
2021/12/16(木) 05:45:18.34ID:1S4Jwj7Q0 >>886
「できるでしょうか?」と聞かれているだけなのに引っ掛かる馬鹿
「できるでしょうか?」と聞かれているだけなのに引っ掛かる馬鹿
888デフォルトの名無しさん (スプッッ Sd9f-cjp2)
2021/12/16(木) 07:14:30.10ID:P8FnY0OCd >>887
何か嫌なことがあったのか?
何か嫌なことがあったのか?
889デフォルトの名無しさん (ブーイモ MMcf-LZWr)
2021/12/16(木) 07:16:48.24ID:2N+hKbkuM 全く内容が同じ投稿を何度も目にしている気がする
その度に丁寧な回答を貰ってるけど
その処理流行ってるの?
その度に丁寧な回答を貰ってるけど
その処理流行ってるの?
890デフォルトの名無しさん (ワッチョイ 4768-PFkU)
2021/12/16(木) 07:34:41.45ID:B/UsaEnq0891デフォルトの名無しさん (ブーイモ MM8f-LZWr)
2021/12/16(木) 07:46:05.41ID:oEqQwjzjM そっか
>>886 だけど空白なら終了よりも空白の時は出力先も空白って条件があるから出力先にClearContentsかけた方が良さそう
その後にB1とC1をそれぞれIsNumericでTrueならB1 & "/" & C1をDatevalueで日付データにして出力先へ
あとはElseで文字列として結合して出力とかどうだろう?
>>886 だけど空白なら終了よりも空白の時は出力先も空白って条件があるから出力先にClearContentsかけた方が良さそう
その後にB1とC1をそれぞれIsNumericでTrueならB1 & "/" & C1をDatevalueで日付データにして出力先へ
あとはElseで文字列として結合して出力とかどうだろう?
892デフォルトの名無しさん (ワッチョイ df01-JVtf)
2021/12/16(木) 08:42:17.59ID:Ymr34XoE0 >>886
・「C1が空白ならD1も空白」にしないといけないのにやってない
・B1, C1 以外のセルが変更された場合でも無駄な処理が走る
・Cells( ) と Cells( ).Value とバラバラ
・finalty という単語はない
・「C1が空白ならD1も空白」にしないといけないのにやってない
・B1, C1 以外のセルが変更された場合でも無駄な処理が走る
・Cells( ) と Cells( ).Value とバラバラ
・finalty という単語はない
893デフォルトの名無しさん (ワッチョイ a701-4A0X)
2021/12/16(木) 09:06:16.32ID:80W3ywqF0894デフォルトの名無しさん (ワッチョイ 2768-xLgN)
2021/12/16(木) 10:21:23.91ID:afXMTOuR0 揚げ足が好物な人に引っかかる優しさ?
895デフォルトの名無しさん (スプッッ Sd7f-5T9c)
2021/12/16(木) 10:48:42.97ID:ueoAX3Xed896デフォルトの名無しさん (アウアウキー Safb-ODP2)
2021/12/16(木) 12:11:49.85ID:CWgWh06Ba 足フェチ
897デフォルトの名無しさん (ワントンキン MMbf-gXCE)
2021/12/16(木) 12:59:03.22ID:stMzJW8vM >>886
Go Toとか草
Go Toとか草
898デフォルトの名無しさん (ワッチョイ e701-w2+9)
2021/12/16(木) 20:27:23.55ID:Y2CVy/MB0 Gotoトラベル。
899デフォルトの名無しさん (ワッチョイ 87ce-xLgN)
2021/12/16(木) 20:37:59.11ID:6VquwdhR0 GoSub Return
900デフォルトの名無しさん (ワッチョイ df4f-Xngn)
2021/12/16(木) 21:57:52.03ID:jTOt4wzg0 VB.Netでもgotoとかgosubとかremとか残ってるんだよなぁ
いつになったらこんな負の遺産使えなくするのやら
variantとか早々に消したくせに
先にVB.Netの方が消えてしまいそうだ
いつになったらこんな負の遺産使えなくするのやら
variantとか早々に消したくせに
先にVB.Netの方が消えてしまいそうだ
901デフォルトの名無しさん (スプッッ Sd9f-xLgN)
2021/12/16(木) 22:01:35.50ID:z6vE3S6bd902デフォルトの名無しさん (ワッチョイ dfe6-DXiY)
2021/12/16(木) 22:40:48.14ID:mHaEbFg60 https://sugoikaizen.com/excel_list/vba-macro-01/
超初心者です。上のサイトを参考に非表示のシートを全表示にするようにしたいのですが、実際に使ってみるとアクティブシート?が切り替わって切り替わってチカチカしてしまいます。
その切り替わりのチカチカ、アクティブを切り替えないでシートを表示させることってできますか
超初心者です。上のサイトを参考に非表示のシートを全表示にするようにしたいのですが、実際に使ってみるとアクティブシート?が切り替わって切り替わってチカチカしてしまいます。
その切り替わりのチカチカ、アクティブを切り替えないでシートを表示させることってできますか
903デフォルトの名無しさん (ワッチョイ 47fd-LZWr)
2021/12/16(木) 23:12:56.50ID:gXiWyVoW0 application.screenupdating=false
処理
application.screenupdating=true
処理
application.screenupdating=true
904デフォルトの名無しさん (ワッチョイ 4768-PFkU)
2021/12/16(木) 23:49:36.74ID:B/UsaEnq0905デフォルトの名無しさん (ワッチョイ df7c-gQtf)
2021/12/16(木) 23:54:07.68ID:yQf1medY0906デフォルトの名無しさん (ラクッペペ MMe6-HGpq)
2021/12/17(金) 00:50:02.02ID:6ayQmUSdM 行番号はDOS自体が登場する以前のROM BASIC全盛の頃の話
Microsoft BASICの独自拡張版を各メーカーが移植して搭載してた
FDD普及後も暫くはN88 BASICなどは生き残っていたけどDOS登場後は急速に廃れていった
Microsoft BASICの独自拡張版を各メーカーが移植して搭載してた
FDD普及後も暫くはN88 BASICなどは生き残っていたけどDOS登場後は急速に廃れていった
907デフォルトの名無しさん (ワッチョイ ea7c-1N4l)
2021/12/17(金) 01:11:17.61ID:mgcQuSa30 >>906
信長の野望はBASICで作ってあったな
信長の野望はBASICで作ってあったな
908デフォルトの名無しさん (スプッッ Sd22-diOO)
2021/12/17(金) 07:15:41.68ID:yydeurUcd >>905
DOS版のVB使っていたぞ
DOS版のVB使っていたぞ
909デフォルトの名無しさん (テテンテンテン MMe6-CICS)
2021/12/17(金) 07:48:55.45ID:nHDcKfC1M シートのデータを
文字コードutf-8、改行コードLFでファイルに書き出す方法教えてください
文字コードutf-8、改行コードLFでファイルに書き出す方法教えてください
910デフォルトの名無しさん (ワッチョイ ea7c-1N4l)
2021/12/17(金) 07:56:20.87ID:mgcQuSa30 >>908
うわ本当だ知らんかった、すまんす
うわ本当だ知らんかった、すまんす
911デフォルトの名無しさん (ワッチョイ 37ce-kSWT)
2021/12/17(金) 08:43:20.41ID:Q9tRMs+C0912デフォルトの名無しさん (ワッチョイ be2c-TeJl)
2021/12/17(金) 12:43:48.01ID:tWB5K5S10 UTF-8 でも、BOM の有無で2種類ある。
先頭3バイトが「0xEF 0xBB 0xBF」なら、BOM有り
BOM有りUTF-8
BOM無しUTF-8(UTF-8N)
Windows だけはBOM有りだけど、
一般的に、Linux などのウェブではBOM無し
最近のWindowsでは、BOM無しも使えるかも知れない
先頭3バイトが「0xEF 0xBB 0xBF」なら、BOM有り
BOM有りUTF-8
BOM無しUTF-8(UTF-8N)
Windows だけはBOM有りだけど、
一般的に、Linux などのウェブではBOM無し
最近のWindowsでは、BOM無しも使えるかも知れない
913デフォルトの名無しさん (ワッチョイ 4af0-g56a)
2021/12/17(金) 16:33:33.43ID:ggdkHu5b0 >>904
先日教えていただいた構文は間違いですか?
今、試したら自分のイメージに近い動作はするような感じです
後は自分で試行錯誤してみたいです
また質問してしまうかもしれませんが
自力でやってみます
先日教えていただいた構文は間違いですか?
今、試したら自分のイメージに近い動作はするような感じです
後は自分で試行錯誤してみたいです
また質問してしまうかもしれませんが
自力でやってみます
914デフォルトの名無しさん (ワッチョイ 268c-HHCY)
2021/12/17(金) 20:46:33.62ID:XfO8F9WV0 空白でないセルの末尾に「様」という文字列を一括追加するマクロを教えてください
置換処理も組み込んで一括で処理したいのでマクロでやりたいです
出来ればコピペで使えるとありがたいです
環境はWin10でExcel2016です
よろしくお願いします
置換処理も組み込んで一括で処理したいのでマクロでやりたいです
出来ればコピペで使えるとありがたいです
環境はWin10でExcel2016です
よろしくお願いします
915デフォルトの名無しさん (ワッチョイ 2ffd-v8OD)
2021/12/17(金) 20:53:35.71ID:csKw8MZR0 置換も末尾に様を付けるのも関数式で行けるがオートフィルでぶわぁーっとやるんじゃアカンのか?
マクロでやっても処理内容的にはあまり変わらんぞ?
マクロでやっても処理内容的にはあまり変わらんぞ?
916デフォルトの名無しさん (ワッチョイ 268c-HHCY)
2021/12/17(金) 20:58:45.17ID:XfO8F9WV0 この先をずっと繰り返す作業なので、複数の置換と文字列付加を1つのマクロにまとめたいのです
917デフォルトの名無しさん (ワッチョイ be8e-qezp)
2021/12/17(金) 21:12:38.32ID:ptO1GC2n0 いつものあいつの釣りとあまりに馬鹿過ぎる質問はお断りです
また、Excelの使い方すらわからない人はお帰りください
また、Excelの使い方すらわからない人はお帰りください
918デフォルトの名無しさん (ワッチョイ 4f68-FJAE)
2021/12/17(金) 22:36:33.99ID:V6YMPjTu0919デフォルトの名無しさん (ワッチョイ 7eda-g56a)
2021/12/17(金) 22:44:20.69ID:/MGmp6un0 何回もマクロ動かして 山田様様 ってなってわけわからんようになる
920デフォルトの名無しさん (ワッチョイ 4f68-FJAE)
2021/12/17(金) 22:48:52.62ID:V6YMPjTu0 >>919
まぁこれは直接書き換える案件じゃないんだよな
名前列 & (”様”|"御中")が良い
このやり方だと、最後が「様」で終わる名字があるとバグるんだよな。昔、「羽様」って顧客からクレームがあって「いいんですけどね・・・」って感じだった
まぁ、珍しい名前だしいいと思う
まぁこれは直接書き換える案件じゃないんだよな
名前列 & (”様”|"御中")が良い
このやり方だと、最後が「様」で終わる名字があるとバグるんだよな。昔、「羽様」って顧客からクレームがあって「いいんですけどね・・・」って感じだった
まぁ、珍しい名前だしいいと思う
921デフォルトの名無しさん (ワッチョイ 4f68-FJAE)
2021/12/17(金) 23:07:41.06ID:V6YMPjTu0 >>913
致命傷は一点
・「C1が空白ならD1も空白」にしないといけないのにやってない
以下のコードで直した
・B1, C1 以外のセルが変更された場合でも無駄な処理が走る
重い処理じゃない。どうせ入力箇所増える
重いなら>>904の内容で修正するか再度聞けば良い
・Cells( ) と Cells( ).Value とバラバラ
どうでもいい
Cells( )はCells( ).Valueに解釈される
暇なら統一すれば良い。特に意味はない
・finalty という単語はない
どうでもいい
もちろんfinalityの打ち間違えは認める
変数名なんてなんでもいい
自己弁護でもないが、そのためにも関数やクラスは影響が最小限に済むように、短くまとめる必要がある
致命傷は一点
・「C1が空白ならD1も空白」にしないといけないのにやってない
以下のコードで直した
・B1, C1 以外のセルが変更された場合でも無駄な処理が走る
重い処理じゃない。どうせ入力箇所増える
重いなら>>904の内容で修正するか再度聞けば良い
・Cells( ) と Cells( ).Value とバラバラ
どうでもいい
Cells( )はCells( ).Valueに解釈される
暇なら統一すれば良い。特に意味はない
・finalty という単語はない
どうでもいい
もちろんfinalityの打ち間違えは認める
変数名なんてなんでもいい
自己弁護でもないが、そのためにも関数やクラスは影響が最小限に済むように、短くまとめる必要がある
922デフォルトの名無しさん (ワッチョイ 6a01-zVPI)
2021/12/17(金) 23:37:41.46ID:+tVxxheq0923デフォルトの名無しさん (ワッチョイ 4f68-FJAE)
2021/12/17(金) 23:55:47.33ID:V6YMPjTu0 >>922
東京か埼玉、もしくは神奈川。そもそも「羽様」様、以外にも最後が「様」になる名字はそれなりにいるぞ
東京か埼玉、もしくは神奈川。そもそも「羽様」様、以外にも最後が「様」になる名字はそれなりにいるぞ
924デフォルトの名無しさん (ワッチョイ 4f68-FJAE)
2021/12/18(土) 00:00:59.23ID:K0Bjo2m80 >>921
のコード書き忘れてたわ
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo finalty
'無限ループ回避
Application.EnableEvents = False
'C1セルが空白は終了処理へ
If Cells(1, 3) = "" Then
Cells(1, 4) = ""
GoTo finalty
End If
'C1セルが文字列の場合は、そのまま放り込む。それ意外は日付
If WorksheetFunction.IsText(Cells(1, 3)) Then
Cells(1, 4).Value = Cells(1, 3).Value
Else
Cells(1, 4).Value = DateSerial(Year(Now()), Cells(1, 2), Cells(1, 3))
End If
'終了処理
finalty:
Application.EnableEvents = True
End Sub
のコード書き忘れてたわ
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo finalty
'無限ループ回避
Application.EnableEvents = False
'C1セルが空白は終了処理へ
If Cells(1, 3) = "" Then
Cells(1, 4) = ""
GoTo finalty
End If
'C1セルが文字列の場合は、そのまま放り込む。それ意外は日付
If WorksheetFunction.IsText(Cells(1, 3)) Then
Cells(1, 4).Value = Cells(1, 3).Value
Else
Cells(1, 4).Value = DateSerial(Year(Now()), Cells(1, 2), Cells(1, 3))
End If
'終了処理
finalty:
Application.EnableEvents = True
End Sub
925デフォルトの名無しさん (ワンミングク MMda-+zQR)
2021/12/18(土) 00:34:19.89ID:fI0CXnXAM またいつものあいつに引っ掛かる馬鹿ども
926デフォルトの名無しさん (ワッチョイ 6a4f-j66Y)
2021/12/18(土) 03:53:23.76ID:RSZ8HegY0 >>914
Sub hoge()
Dim targetRange As Range
Dim targetCell As Range
Set targetRange = ThisWorkbook.Sheets(Sheet1.Name).Range("A1:J10")
For Each targetCell In targetRange.Cells
If targetCell.Value <> vbNullString Then
If Right(targetCell.Value, 1) <> "様" Then
targetCell.Value = targetCell.Value & "様"
End If
End If
Next
End Sub
対象シートを変えるならSheets(Sheet1.Name)のSheet1の部分を変えてくれ
シート名じゃなくてシートのオブジェクト名であることに注意な。
今はA1から下10セル、右10セルの範囲に絞っているが、変えたければ
Range("A1:J10")の部分を変えてくれ。
Sub hoge()
Dim targetRange As Range
Dim targetCell As Range
Set targetRange = ThisWorkbook.Sheets(Sheet1.Name).Range("A1:J10")
For Each targetCell In targetRange.Cells
If targetCell.Value <> vbNullString Then
If Right(targetCell.Value, 1) <> "様" Then
targetCell.Value = targetCell.Value & "様"
End If
End If
Next
End Sub
対象シートを変えるならSheets(Sheet1.Name)のSheet1の部分を変えてくれ
シート名じゃなくてシートのオブジェクト名であることに注意な。
今はA1から下10セル、右10セルの範囲に絞っているが、変えたければ
Range("A1:J10")の部分を変えてくれ。
927デフォルトの名無しさん (ワッチョイ 4af0-g56a)
2021/12/18(土) 04:03:51.98ID:ghw9tbZ70928デフォルトの名無しさん (ワッチョイ 3b01-jbri)
2021/12/18(土) 09:44:05.03ID:jhUX4QL/0929デフォルトの名無しさん (ドナドナー MMe6-WIuU)
2021/12/18(土) 09:58:59.51ID:KOqLJ1bdM 条件付き書式で様と御中を使い分けるとか
930デフォルトの名無しさん (ワッチョイ 1f5f-/fOn)
2021/12/18(土) 10:09:57.53ID:NazcNFuF0 条件付き書式は値に関与できたっけ?
931デフォルトの名無しさん (ワッチョイ 4f68-FJAE)
2021/12/18(土) 10:20:06.80ID:MnOybqtX0932デフォルトの名無しさん (ドナドナー MMe6-WIuU)
2021/12/18(土) 10:21:15.96ID:mp+R0tauM >>931
基本は様でフラグ立てたところだけ御中とか
基本は様でフラグ立てたところだけ御中とか
933デフォルトの名無しさん (ワッチョイ ea42-pg3T)
2021/12/18(土) 10:29:07.67ID:bbhq+5c10 つーか普通敬称つけるのは印刷するときだけじゃね
エクセルのデータに組み込む必要ないような
エクセルのデータに組み込む必要ないような
934デフォルトの名無しさん (ワッチョイ a301-izju)
2021/12/18(土) 10:30:58.78ID:S/VVluSn0 量子の世界では1未満は確率的に存在するんだよ。
935デフォルトの名無しさん (ワッチョイ 7eda-g56a)
2021/12/18(土) 10:47:16.76ID:S7ay6emt0 王さんに様付けると王様だな
936デフォルトの名無しさん (ワッチョイ ea7c-1N4l)
2021/12/18(土) 13:06:35.91ID:SgR4ReUM0937デフォルトの名無しさん (ワッチョイ ea7c-1N4l)
2021/12/18(土) 13:09:17.63ID:SgR4ReUM0 >>934
量子の世界でも1か0しかないだろ
量子の世界でも1か0しかないだろ
938デフォルトの名無しさん (ワッチョイ ea7c-1N4l)
2021/12/18(土) 13:11:12.98ID:SgR4ReUM0 銀行の「行」を消して「御中」に直してた画像あったな
939デフォルトの名無しさん (ワッチョイ a301-izju)
2021/12/18(土) 14:28:51.14ID:S/VVluSn0 だいえーだいえーいえぃいえぃいえぃいえぃ。
だいえーとってもいえぃいえぃいえぃいえぃ。
↓続き。
だいえーとってもいえぃいえぃいえぃいえぃ。
↓続き。
940デフォルトの名無しさん (ワッチョイ 0f2f-j66Y)
2021/12/18(土) 14:43:23.05ID:yfxR8FS90 >空白でないセルの末尾に「様」という文字列を一括追加
これ、今「様」がついてたらつけるなっていう要件じゃないんじゃね
そうじゃないなら、羽様が、羽さん様なのか羽様さんなのか区別できるデータじゃないと不可能だぜ
普通に考えて名称と敬称と分けてもつだろ
これ、今「様」がついてたらつけるなっていう要件じゃないんじゃね
そうじゃないなら、羽様が、羽さん様なのか羽様さんなのか区別できるデータじゃないと不可能だぜ
普通に考えて名称と敬称と分けてもつだろ
941デフォルトの名無しさん (ワッチョイ 6a01-zVPI)
2021/12/18(土) 15:31:29.53ID:XqEkP9jw0 おじいさん、もうその話終わってますよ
942デフォルトの名無しさん (ブーイモ MMe6-U1kc)
2021/12/18(土) 17:00:19.27ID:T6quYshAM 5chはおじいさんの巣窟ですよ。
子供は他所で遊んだ方が良いですよ。
子供は他所で遊んだ方が良いですよ。
943デフォルトの名無しさん (ワッチョイ 6ae6-mkDa)
2021/12/18(土) 17:14:29.79ID:nevTsbMb0 >>938
直せてねえ…
直せてねえ…
944デフォルトの名無しさん (ワッチョイ a301-izju)
2021/12/18(土) 19:06:22.48ID:S/VVluSn0 もしかしてお前らダイエー知らないの?
945デフォルトの名無しさん (ワッチョイ 7eda-g56a)
2021/12/18(土) 19:52:58.88ID:S7ay6emt0 野球の漫画だっけ
946デフォルトの名無しさん (ワッチョイ a301-izju)
2021/12/18(土) 20:24:25.92ID:S/VVluSn0 それはダイエーじゃなくて地獄甲子園。
947デフォルトの名無しさん (ワッチョイ 6a01-zVPI)
2021/12/18(土) 21:06:03.74ID:XqEkP9jw0 もう25年前に近くのダイエーなくなってダイクマになった(もうそれもなくなってマンションになってるけど)
一駅先にグルメシティの形で残ってるけどほとんど行かない
一駅先にグルメシティの形で残ってるけどほとんど行かない
948デフォルトの名無しさん (ワッチョイ a301-izju)
2021/12/18(土) 21:30:26.72ID:S/VVluSn0 ヒントもう無いの?
949デフォルトの名無しさん (ワッチョイ a301-izju)
2021/12/18(土) 21:39:28.14ID:S/VVluSn0 ここまでの情報で、神奈川県秦野市ではないか?と自作AIがはじき出しましたが。
あってる?
あってる?
950デフォルトの名無しさん (ワッチョイ 6a01-zVPI)
2021/12/18(土) 21:44:58.76ID:XqEkP9jw0951デフォルトの名無しさん (ワッチョイ a301-izju)
2021/12/18(土) 21:45:33.86ID:S/VVluSn0 おおおお!!
あってた!!
あってた!!
952デフォルトの名無しさん (スフッ Sd8a-kSWT)
2021/12/18(土) 21:47:56.30ID:ruUAvqsCd 神奈川県秦野市の東海大学前のグルメシティは、元は忠実屋というスーパーだった
ダイエーに買収された後グルメシティに変わった
ステッカーの下には今でも忠実屋のロゴマークが残ってる
店の床に小さい段差があるのは増築した痕跡
ダイエーに買収された後グルメシティに変わった
ステッカーの下には今でも忠実屋のロゴマークが残ってる
店の床に小さい段差があるのは増築した痕跡
953デフォルトの名無しさん (ドナドナー MMe6-WIuU)
2021/12/19(日) 00:46:13.19ID:1w97E/wVM ほんとおまいら、昔話が大好物だな
954デフォルトの名無しさん (ワッチョイ f3b0-gTtA)
2021/12/19(日) 01:41:02.09ID:SLVervUs0 ジジイしかいないスレ
VBAなんていまだにやってるのは、ジジイくらいしかいないか
VBAなんていまだにやってるのは、ジジイくらいしかいないか
955デフォルトの名無しさん (ワッチョイ 2ffd-v8OD)
2021/12/19(日) 01:45:35.49ID:F1jZtUeQ0 二十歳こえたらみんなジジイだよ
956デフォルトの名無しさん (アウアウキー Safb-fxsa)
2021/12/19(日) 02:09:49.49ID:WKKxXwhHa 左様でござるか
957デフォルトの名無しさん (ワッチョイ 6a4f-7LcG)
2021/12/19(日) 05:36:03.45ID:9cYlynLW0 ダイクマって
あの「ダイナミックダイクマ〜!!」の
ダイクマ?
あの「ダイナミックダイクマ〜!!」の
ダイクマ?
958デフォルトの名無しさん (ワッチョイ 4af0-g56a)
2021/12/19(日) 07:00:08.37ID:LtRjW0Zk0 A1に月、B1に最初の日、B2に最後の日を入力したら
C列に最初の日から最後の日まで書き出され
D列には月/日が書き出されるようにしたいのですが
例えば
A B C D
12 19 19 12/19
22 20 12/20
21 12/21
22 12/22
上記のように各セルがチェンジイベントで動作してくれればと
それと文字などがB2に入力された場合は文字をC2、D2に反映したいです
A B C D
12 19 19 12/19
h h h
ここで色々お教えいただきそれらの構文を自分なりに組み合わせてみたのですが
初心者の私にはレベルが高すぎるようで・・・
今までご親切にお教えいただいた構文を生かしてなく申し訳ありません。
C列に最初の日から最後の日まで書き出され
D列には月/日が書き出されるようにしたいのですが
例えば
A B C D
12 19 19 12/19
22 20 12/20
21 12/21
22 12/22
上記のように各セルがチェンジイベントで動作してくれればと
それと文字などがB2に入力された場合は文字をC2、D2に反映したいです
A B C D
12 19 19 12/19
h h h
ここで色々お教えいただきそれらの構文を自分なりに組み合わせてみたのですが
初心者の私にはレベルが高すぎるようで・・・
今までご親切にお教えいただいた構文を生かしてなく申し訳ありません。
959デフォルトの名無しさん (ワッチョイ 4af0-g56a)
2021/12/19(日) 07:01:14.70ID:LtRjW0Zk0 >>958
> A1に月、B1に最初の日、B2に最後の日を入力したら
> C列に最初の日から最後の日まで書き出され
> D列には月/日が書き出されるようにしたいのですが
>
> 例えば
> A B C D
> 12 19 19 12/19
> 22 20 12/20
> 21 12/21
> 22 12/22
>
>
> 上記のように各セルがチェンジイベントで動作してくれればと
>
> それと文字などがB2に入力された場合は文字をC2、D2に反映したいです
>
>
> A B C D
> 12 19 19 12/19
> h h h
>
> ここで色々お教えいただきそれらの構文を自分なりに組み合わせてみたのですが
> 初心者の私にはレベルが高すぎるようで・・・
>
> 今までご親切にお教えいただいた構文を生かしてなく申し訳ありません。
> A1に月、B1に最初の日、B2に最後の日を入力したら
> C列に最初の日から最後の日まで書き出され
> D列には月/日が書き出されるようにしたいのですが
>
> 例えば
> A B C D
> 12 19 19 12/19
> 22 20 12/20
> 21 12/21
> 22 12/22
>
>
> 上記のように各セルがチェンジイベントで動作してくれればと
>
> それと文字などがB2に入力された場合は文字をC2、D2に反映したいです
>
>
> A B C D
> 12 19 19 12/19
> h h h
>
> ここで色々お教えいただきそれらの構文を自分なりに組み合わせてみたのですが
> 初心者の私にはレベルが高すぎるようで・・・
>
> 今までご親切にお教えいただいた構文を生かしてなく申し訳ありません。
960デフォルトの名無しさん (ワッチョイ 4af0-g56a)
2021/12/19(日) 07:03:44.45ID:LtRjW0Zk0 間違えがありましたので連続投稿になってしまいましたが
ご教授ください
ご教授ください
961デフォルトの名無しさん (ワッチョイ 4af0-g56a)
2021/12/19(日) 07:04:33.84ID:LtRjW0Zk0 >>959
> >>958
> > A1に月、B1に最初の日、B2に最後の日を入力したら
> > C列に最初の日から最後の日まで書き出され
> > D列には月/日が書き出されるようにしたいのですが
> >
> > 例えば
> > A B C D
> > 12 19 19 12/19
> > 22 20 12/20
> > 21 12/21
> > 22 12/22
> >
> >
> > 上記のように各セルがチェンジイベントで動作してくれればと
> >
> > それと文字などがB2に入力された場合は文字をC2、D2に反映したいです
> >
> >
> > A B C D
> > 12 19 19 12/19
> > h h h
> >
> > ここで色々お教えいただきそれらの構文を自分なりに組み合わせてみたのですが
> > 初心者の私にはレベルが高すぎるようで・・・
> >
> > 今までご親切にお教えいただいた構文を生かしてなく申し訳ありません。
> >>958
> > A1に月、B1に最初の日、B2に最後の日を入力したら
> > C列に最初の日から最後の日まで書き出され
> > D列には月/日が書き出されるようにしたいのですが
> >
> > 例えば
> > A B C D
> > 12 19 19 12/19
> > 22 20 12/20
> > 21 12/21
> > 22 12/22
> >
> >
> > 上記のように各セルがチェンジイベントで動作してくれればと
> >
> > それと文字などがB2に入力された場合は文字をC2、D2に反映したいです
> >
> >
> > A B C D
> > 12 19 19 12/19
> > h h h
> >
> > ここで色々お教えいただきそれらの構文を自分なりに組み合わせてみたのですが
> > 初心者の私にはレベルが高すぎるようで・・・
> >
> > 今までご親切にお教えいただいた構文を生かしてなく申し訳ありません。
962デフォルトの名無しさん (ワッチョイ 4af0-g56a)
2021/12/19(日) 07:05:30.07ID:LtRjW0Zk0 hの位置がずれていました
朝から連続投稿すいません!
朝から連続投稿すいません!
963デフォルトの名無しさん (ワッチョイ 2ffd-v8OD)
2021/12/19(日) 07:40:00.27ID:F1jZtUeQ0 必要な仕様が足りない
・B2よりB1が大きい場合は動作しない?それとも翌月のその日までを記載?
・B1,B2に入力された数値が日付として有り得ない場合はどうする?動作しないだけでよいのか?
・年の判定はどうする?現在の年を使用してよいのか?
・B2よりB1が大きい場合は動作しない?それとも翌月のその日までを記載?
・B1,B2に入力された数値が日付として有り得ない場合はどうする?動作しないだけでよいのか?
・年の判定はどうする?現在の年を使用してよいのか?
964デフォルトの名無しさん (ワッチョイ 1a68-kSWT)
2021/12/19(日) 08:34:48.49ID:J5v8c1sd0965デフォルトの名無しさん (ワッチョイ 1a68-kSWT)
2021/12/19(日) 08:38:14.07ID:J5v8c1sd0966デフォルトの名無しさん (ワッチョイ 4af0-g56a)
2021/12/19(日) 15:48:07.81ID:LtRjW0Zk0 >>963
> 必要な仕様が足りない
失礼しました
> ・B2よりB1が大きい場合は動作しない?それとも翌月のその日までを記載?
B1の方が大きければ空白になってくれればいいのですが
エラー表示がセルに表示されてもエラーはエクセルの設定で空白にできるので大丈夫かと思っています
月をまたぐことはありません
> ・B1,B2に入力された数値が日付として有り得ない場合はどうする?動作しないだけでよいのか?
122/111や12/35と表示されてもかまいません
文字が入力されてもそのまま表示したいです
> ・年の判定はどうする?現在の年を使用してよいのか?
年は考慮しなくても大丈夫です
長くて一週間の予定だけでしか使用しません
説明下手ですいません (汗
> 必要な仕様が足りない
失礼しました
> ・B2よりB1が大きい場合は動作しない?それとも翌月のその日までを記載?
B1の方が大きければ空白になってくれればいいのですが
エラー表示がセルに表示されてもエラーはエクセルの設定で空白にできるので大丈夫かと思っています
月をまたぐことはありません
> ・B1,B2に入力された数値が日付として有り得ない場合はどうする?動作しないだけでよいのか?
122/111や12/35と表示されてもかまいません
文字が入力されてもそのまま表示したいです
> ・年の判定はどうする?現在の年を使用してよいのか?
年は考慮しなくても大丈夫です
長くて一週間の予定だけでしか使用しません
説明下手ですいません (汗
967デフォルトの名無しさん (ワッチョイ be01-P5d1)
2021/12/19(日) 17:22:51.01ID:6V5J9+AZ0 Dim a(10,20)
a(1,2)=3
上で2行目の1や2の数字のことを何て言うのでしょうか
初歩の質問で申し訳ありません。
a(1,2)=3
上で2行目の1や2の数字のことを何て言うのでしょうか
初歩の質問で申し訳ありません。
968デフォルトの名無しさん (ワッチョイ f310-u1yJ)
2021/12/19(日) 17:50:26.31ID:XeEcFWJL0 ひきすう?
969デフォルトの名無しさん (テテンテンテン MMe6-CICS)
2021/12/19(日) 17:53:41.03ID:KHFMKFNKM >>967
添え字かな
添え字かな
970デフォルトの名無しさん (ワッチョイ dabd-6dU9)
2021/12/19(日) 18:27:21.36ID:pq+sPc2G0 あるソフトウェアが出力する
ログファイル(テキストファイルで行数は不定)をスペース区切りで文字列として読み込むコードを書いているのですが
ログファイルの先頭行のスペースの数が一定ではなく
単純に読み込むと先頭の数値が
A列目に入ったりB列目、C列目に入ったりして困っております
連続するスペースを一つのデリミタとして扱うか
(そうすればA列だけが空白になる)
もしくは先頭に連続して入っているスペースを無視する方法を探しているのですが見当たりません
皆様のお力添えをお願い致します
ログファイル(テキストファイルで行数は不定)をスペース区切りで文字列として読み込むコードを書いているのですが
ログファイルの先頭行のスペースの数が一定ではなく
単純に読み込むと先頭の数値が
A列目に入ったりB列目、C列目に入ったりして困っております
連続するスペースを一つのデリミタとして扱うか
(そうすればA列だけが空白になる)
もしくは先頭に連続して入っているスペースを無視する方法を探しているのですが見当たりません
皆様のお力添えをお願い致します
971デフォルトの名無しさん (ワッチョイ dabd-6dU9)
2021/12/19(日) 18:43:59.87ID:pq+sPc2G0 >>970
自己レス
> 連続するスペースを一つのデリミタとして扱うか
> (そうすればA列だけが空白になる)
この方法は使えない事に気づきました
ログファイルの先頭(左端)
に数値が入っている場合もあるので
スペースが一つでも入っている場合では、入力される列が
A列とB列に変わってしまいます
先頭(左端)に連続して入っているスペースを無視する方法しか
無いかもしれません
自己レス
> 連続するスペースを一つのデリミタとして扱うか
> (そうすればA列だけが空白になる)
この方法は使えない事に気づきました
ログファイルの先頭(左端)
に数値が入っている場合もあるので
スペースが一つでも入っている場合では、入力される列が
A列とB列に変わってしまいます
先頭(左端)に連続して入っているスペースを無視する方法しか
無いかもしれません
972デフォルトの名無しさん (ワッチョイ 6a01-zVPI)
2021/12/19(日) 18:56:32.68ID:RC6G9Zkh0 何をしたいのかよくわからんけどちゃちゃっとやるなら正規表現使え
https://codezine.jp/article/detail/1655
https://codezine.jp/article/detail/1655
973デフォルトの名無しさん (ワッチョイ be8e-qezp)
2021/12/19(日) 19:02:03.97ID:oG6IuvVy0 ルビー基地外だぞ
974デフォルトの名無しさん (ワッチョイ 6a4f-7LcG)
2021/12/19(日) 19:04:40.91ID:9cYlynLW0 >>971
LTrimでググれ
LTrimでググれ
975デフォルトの名無しさん (ワッチョイ dabd-6dU9)
2021/12/19(日) 19:08:52.05ID:pq+sPc2G0 連続レス申し訳ありません
必要な処理はもうちょっと複雑でした
GetOpenFilenameで開いたファイルを
Workbooks.Open(FileN,Format:=3,ReadOnly:=True)
で処理しているのですが
ログファイルの行中に連続して入っているスペースも一つずつカウントして空白列を作ってしまいます
必要な処理は
1) 連続したスペースを一つのデリミタとして区切り
2) 行先頭にスペースが入っていた場合は最初の文字が始まるまで削除もしくは無視する
といったものになると思います
何卒ご助力お願い致します
必要な処理はもうちょっと複雑でした
GetOpenFilenameで開いたファイルを
Workbooks.Open(FileN,Format:=3,ReadOnly:=True)
で処理しているのですが
ログファイルの行中に連続して入っているスペースも一つずつカウントして空白列を作ってしまいます
必要な処理は
1) 連続したスペースを一つのデリミタとして区切り
2) 行先頭にスペースが入っていた場合は最初の文字が始まるまで削除もしくは無視する
といったものになると思います
何卒ご助力お願い致します
976デフォルトの名無しさん (ワッチョイ 4f68-FJAE)
2021/12/19(日) 19:46:59.93ID:sZ+QwmZV0977デフォルトの名無しさん (ワッチョイ dabd-6dU9)
2021/12/19(日) 20:17:13.17ID:pq+sPc2G0978デフォルトの名無しさん (ワッチョイ 3b01-jbri)
2021/12/19(日) 20:33:08.86ID:Ax4UFlXX0 >>975
1行ずつ読み込んで事前処理するのがいいんじゃね
------------------------
行=1
列=1
Open filename for Input as #1
Do until EOF(1)
Line Input #1, str '一行ずつ読み込み
str=Trim(str) '両端の空白除去
arr=Split(str," ") '空白で分割し配列に格納
for i=1 to arr.Ubound(arr) 'セルに書き込み
Cells(行,列+i).Value=arr[i]
next i
行=行+1
Loop
close #1
-----------------------------
1行ずつ読み込んで事前処理するのがいいんじゃね
------------------------
行=1
列=1
Open filename for Input as #1
Do until EOF(1)
Line Input #1, str '一行ずつ読み込み
str=Trim(str) '両端の空白除去
arr=Split(str," ") '空白で分割し配列に格納
for i=1 to arr.Ubound(arr) 'セルに書き込み
Cells(行,列+i).Value=arr[i]
next i
行=行+1
Loop
close #1
-----------------------------
979デフォルトの名無しさん (ワッチョイ be01-P5d1)
2021/12/19(日) 20:40:17.69ID:6V5J9+AZ0 >>968-969
ご回答ありがとうございました
ご回答ありがとうございました
980デフォルトの名無しさん (ワッチョイ 2ffd-izju)
2021/12/19(日) 20:44:00.34ID:F1jZtUeQ0 >>966
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Target, Union(Me.Range("A1"), Me.Range("B1"), Me.Range("B2"))) Is Nothing Then
If Me.Range("A1").Value <> "" And Me.Range("B1").Value <> "" And Me.Range("B2").Value <> "" Then
Me.Columns(3).ClearContents
If Me.Columns(3).NumberFormatLocal <> "@" Then Me.Columns(3).NumberFormatLocal = "@"
If IsNumeric(Me.Range("A1").Value) And IsNumeric(Me.Range("B1").Value) And IsNumeric(Me.Range("B2").Value) And Me.Range("B1").Value <= Me.Range("B2").Value Then
Dim OutAry() As String
ReDim OutAry(Me.Range("B1").Value To Me.Range("B2").Value)
Dim RowCnt As Long
For RowCnt = LBound(OutAry) To UBound(OutAry)
OutAry(RowCnt) = Me.Range("A1") & "/" & RowCnt
Next RowCnt
Range(Me.Cells(1, 3), Me.Cells(UBound(OutAry) - LBound(OutAry) + 1, 3)).Value = WorksheetFunction.Transpose(OutAry)
End If
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Target, Union(Me.Range("A1"), Me.Range("B1"), Me.Range("B2"))) Is Nothing Then
If Me.Range("A1").Value <> "" And Me.Range("B1").Value <> "" And Me.Range("B2").Value <> "" Then
Me.Columns(3).ClearContents
If Me.Columns(3).NumberFormatLocal <> "@" Then Me.Columns(3).NumberFormatLocal = "@"
If IsNumeric(Me.Range("A1").Value) And IsNumeric(Me.Range("B1").Value) And IsNumeric(Me.Range("B2").Value) And Me.Range("B1").Value <= Me.Range("B2").Value Then
Dim OutAry() As String
ReDim OutAry(Me.Range("B1").Value To Me.Range("B2").Value)
Dim RowCnt As Long
For RowCnt = LBound(OutAry) To UBound(OutAry)
OutAry(RowCnt) = Me.Range("A1") & "/" & RowCnt
Next RowCnt
Range(Me.Cells(1, 3), Me.Cells(UBound(OutAry) - LBound(OutAry) + 1, 3)).Value = WorksheetFunction.Transpose(OutAry)
End If
End If
End If
Application.EnableEvents = True
End Sub
981デフォルトの名無しさん (ワッチョイ dabd-6dU9)
2021/12/19(日) 20:57:27.62ID:pq+sPc2G0 >>978
ありがとうございます
私も一行ずつ処理するべきなのかと思い始めました
その際
----------------
arr=Split(str," ") '空白で分割し配列に格納
----------------
だとデータ行中に空白が連続している場合
例えば
a b c d
のような場合でも
A列→a
B列→b
C列→c
D列→d
のように入力可能でしょうか?
ありがとうございます
私も一行ずつ処理するべきなのかと思い始めました
その際
----------------
arr=Split(str," ") '空白で分割し配列に格納
----------------
だとデータ行中に空白が連続している場合
例えば
a b c d
のような場合でも
A列→a
B列→b
C列→c
D列→d
のように入力可能でしょうか?
982デフォルトの名無しさん (ワッチョイ 4af0-g56a)
2021/12/19(日) 21:13:00.94ID:LtRjW0Zk0983デフォルトの名無しさん (ブーイモ MMe6-jY/M)
2021/12/19(日) 21:22:20.20ID:o7hmg8oNM >>981
そんなもんマクロの記録で連続する区切り文字は1文字として扱うオプション使えばいいでしょ
そんなもんマクロの記録で連続する区切り文字は1文字として扱うオプション使えばいいでしょ
984デフォルトの名無しさん (ワッチョイ be2c-j66Y)
2021/12/19(日) 21:39:11.49ID:EkrjUmtA0 Ruby なら、abc の前後・間に、複数の連続した空白類があっても、分割できる
Ruby で,文字列を空白文字類や「.」などを区切りとして切り出す
https://www.kkaneko.jp/pro/ruby/tokenize.html
str = " a b c "
p str.split( nil )
p str.strip.split( /\s+/ )
p str.strip.split( /[ |\t|\r|\n|\f]+/ )
これらはすべて、["a", "b", "c"] となる
空白類・\s は、[ |\t|\r|\n|\f] の5種類の空白を含む。
strip は、文字列の先頭・末尾から、連続した空白類を除去する
Ruby で,文字列を空白文字類や「.」などを区切りとして切り出す
https://www.kkaneko.jp/pro/ruby/tokenize.html
str = " a b c "
p str.split( nil )
p str.strip.split( /\s+/ )
p str.strip.split( /[ |\t|\r|\n|\f]+/ )
これらはすべて、["a", "b", "c"] となる
空白類・\s は、[ |\t|\r|\n|\f] の5種類の空白を含む。
strip は、文字列の先頭・末尾から、連続した空白類を除去する
985デフォルトの名無しさん (ワッチョイ a301-h5UB)
2021/12/19(日) 21:42:45.37ID:tlLDAcl00 今時、rubyとか使ってんじゃねーよ
986デフォルトの名無しさん (ワッチョイ 4af0-g56a)
2021/12/19(日) 21:51:18.70ID:LtRjW0Zk0 >>980
すみません
今試してみました
C列には期間の日が表示され
D列には機関の月日が表示され
仮にB2に文字が入力されたら
C2とD2には文字が表示され
C1とD1には日と月日が表示したいです
私にはなにをどうしたらいいのかまったくわかりませんでした
技術的にむずかしいでしょうか?
ググってみましたが出来そうにないです
すみません
今試してみました
C列には期間の日が表示され
D列には機関の月日が表示され
仮にB2に文字が入力されたら
C2とD2には文字が表示され
C1とD1には日と月日が表示したいです
私にはなにをどうしたらいいのかまったくわかりませんでした
技術的にむずかしいでしょうか?
ググってみましたが出来そうにないです
987デフォルトの名無しさん (ワッチョイ 3b01-jbri)
2021/12/19(日) 22:12:20.36ID:Ax4UFlXX0 >>981
その場合はtrim, splitの替わりに正規表現使うのがいいかと
dim reg as new regexp
reg.global=true
reg.pattern="(\S+)" '空白以外
set mc=reg.execute(str)
for i to mc.count-1
set m=mc.item(i)
cells(1,i).value=m.value
next i
その場合はtrim, splitの替わりに正規表現使うのがいいかと
dim reg as new regexp
reg.global=true
reg.pattern="(\S+)" '空白以外
set mc=reg.execute(str)
for i to mc.count-1
set m=mc.item(i)
cells(1,i).value=m.value
next i
988デフォルトの名無しさん (ワッチョイ 7b7c-44a5)
2021/12/19(日) 23:20:35.00ID:2A/aI1dD0989デフォルトの名無しさん (ワッチョイ be8e-qezp)
2021/12/19(日) 23:23:16.74ID:oG6IuvVy0 相変わらずRuby基地外に引っ掛かる馬鹿ども
990デフォルトの名無しさん (ワッチョイ dabd-6dU9)
2021/12/19(日) 23:33:22.46ID:pq+sPc2G0991デフォルトの名無しさん (ワッチョイ dabd-6dU9)
2021/12/19(日) 23:36:15.57ID:pq+sPc2G0992デフォルトの名無しさん (ワッチョイ bee6-eGgJ)
2021/12/19(日) 23:41:22.83ID:kIFouMiR0 ファイルを開いてVBAで処理する系は
VBAのエディタがアップデート放棄しててユニコードに対応しないらしいのでやめた方がいいかも
Regexpでユニコード文字列を置き換える処理をこさえたりすればなんとかなるかもしれないが
VBAのエディタがアップデート放棄しててユニコードに対応しないらしいのでやめた方がいいかも
Regexpでユニコード文字列を置き換える処理をこさえたりすればなんとかなるかもしれないが
993デフォルトの名無しさん (ワッチョイ dabd-6dU9)
2021/12/19(日) 23:51:29.72ID:pq+sPc2G0994デフォルトの名無しさん (ドナドナー MMe6-WIuU)
2021/12/20(月) 01:25:47.26ID:x5N85HfoM replace(hoge," "," ")
995デフォルトの名無しさん (ワッチョイ 2ffd-v8OD)
2021/12/20(月) 01:39:15.08ID:jnlr9GaR0 >>986
ごめん
ちょっと何を言っているのか分からないからもう少し整理してから言葉にして
文字列や日付として破綻しているものでも可なのにその期間を出力せよっていうのはどういう意味?
仕様がちぐはぐで何をしたいのかが分からない
出力列を増やすのはのは対して手間は変わらないから自分でアレンジして
分からないならもっと基礎の部分を勉強するか諦めて関数式書いた方が早いよ
ごめん
ちょっと何を言っているのか分からないからもう少し整理してから言葉にして
文字列や日付として破綻しているものでも可なのにその期間を出力せよっていうのはどういう意味?
仕様がちぐはぐで何をしたいのかが分からない
出力列を増やすのはのは対して手間は変わらないから自分でアレンジして
分からないならもっと基礎の部分を勉強するか諦めて関数式書いた方が早いよ
996デフォルトの名無しさん (ワッチョイ 2ffd-v8OD)
2021/12/20(月) 01:41:34.12ID:jnlr9GaR0997デフォルトの名無しさん (ワッチョイ 6a4f-7LcG)
2021/12/20(月) 07:39:37.83ID:sc4Jjnxw0 >>996
乙
乙
998デフォルトの名無しさん (ワッチョイ 6668-kSWT)
2021/12/20(月) 10:40:58.57ID:2126b9QK0 >>995
前スレ見たらわかるけどそいつ後出し後出しで
しかも前スレで得た知識も抜きで再質問してる
https://mevius.5ch.net/test/read.cgi/tech/1626565335/782,829
>>996
乙!
前スレ見たらわかるけどそいつ後出し後出しで
しかも前スレで得た知識も抜きで再質問してる
https://mevius.5ch.net/test/read.cgi/tech/1626565335/782,829
>>996
乙!
999デフォルトの名無しさん (ワッチョイ 4af0-g56a)
2021/12/20(月) 21:13:06.47ID:1VhmJElm0 >>995
すいません
関数を使ってみたいとおもいます
これか自分で勉強しレベルを上げていきたいと思います
あなたのおっしゃるとおりだと思います
今までお教えいただいたことを参考に
勉強していきたいと思います
ここの先生たちには本当に感謝しています
すいません
関数を使ってみたいとおもいます
これか自分で勉強しレベルを上げていきたいと思います
あなたのおっしゃるとおりだと思います
今までお教えいただいたことを参考に
勉強していきたいと思います
ここの先生たちには本当に感謝しています
1000デフォルトの名無しさん (スッップ Sd8a-qezp)
2021/12/20(月) 21:21:42.29ID:XrZMAyhid いつものあいつ
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 98日 13時間 51分 43秒
新しいスレッドを立ててください。
life time: 98日 13時間 51分 43秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 石破首相、「就職氷河期世代」で今も不安定な仕事に就いている人に農業、建設業、物流業へ就労拡大指示 ★4 [お断り★]
- 石破首相、「就職氷河期世代」で今も不安定な仕事に就いている人に農業、建設業、物流業へ就労拡大指示 ★3 [お断り★]
- 一人暮らしの学生 約4人に1人が食費月1万円以下で生活 日本冷凍食品協会が調査 [少考さん★]
- 【洋菓子】「ジャンポケ」斉藤慎二被告 群馬でバウムクーヘン販売 行列ができるほどの大盛況 [ニーニーφ★]
- 「日本に来るために100万円以上の借金」増加するベトナム人犯罪 在留資格失ない不法残留状態は1万人以上…技能実習生はなぜ失踪するのか [ぐれ★]
- 自閉症の息子、痴漢扱いで通報されショック ヘルプマークあったのに 発達障害の特性、誤認されるケースも [少考さん★]
- 万博オタクの外人、ブチギレ「大阪万博は、すべての可能性を全否定。無駄のお手本、マジイライラする。退屈でくそつまんねえ裏切られた」 [434776867]
- 【実況】博衣こよりのえちえちクロノクロス🧪★5
- 【悲報】チー牛、終わる。「セックスよりレイプがしたい。そっちのが気持ち良さそう」という発言を顔名前会社セットで拡散されたため石破 [517791167]
- ▶天音かなたちゃんの身体の部位で一番ぺろぺろしたいところは?
- 【急募】アニメ大国の日本人に「アニメランド」がない理由 [705549419]
- 女犯したい犯したい犯したい犯したい犯したい女犯す犯す犯す犯す犯す犯す犯す犯す犯す犯し尽くす犯しつくす犯しつくす!!!!!!!!! [497633817]