1 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 20:39:09.64 ID:6HWXzj9o.net] ExcelのVBAに関する質問スレです コード書き込みや作成依頼もOK ※前スレ Excel VBA 質問スレ Part59 https://mevius.5ch.net/test/read.cgi/tech/1549692750/
2 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 20:39:59.29 ID:6HWXzj9o.net] 何で誰も立てないの
3 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 21:14:45.74 ID:BICk2jMh.net] >>1 乙だけどワッチョイ抜けてる…
4 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 21:48:42.20 ID:dHb5YcPj.net] >>2 もう必要ないから
5 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 23:05:16.78 ID:52o7PX0a.net] >>2 未回答の質問が特になかったから
6 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 01:48:38.37 ID:F3UCopkF.net] 前スレの最後の方で承認欲求モンスター共がAccessの話でマウント合戦初めて、もうみんなこのスレ要らないやって思ってたんだぞ
7 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 08:15:42.60 ID:L17xYYyd.net] 次からAccessスレも含めて↓でいいんじゃないかな ここ無くなって↓あるの初めて知った 最近outlookVBA使い始めたんだけど、もっと早く使うんだったと後悔 VBAなんでも質問スレ Part2 [転載禁止]©2ch.net https://mevius.5ch.net/test/read.cgi/tech/1432173164/
8 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 08:40:24.61 ID:n1sOdbaQ.net] やっと出来たか 前のExcel VBAのスレで、次スレ検索したら、Accessの https://mevius.5ch.net/test/read.cgi/tech/1544620479/ が出てきたぞ VBAは全部まとめていいんじゃねえか?
9 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 09:42:14.71 ID:168XCQuT.net] お願いします。 Sub teust() n = Cells(Rows.Count, "b").End(xlUp).Row + 1 Range("b" & n).Select ActiveCell.FormulaR1C1 = Sheets(2).Range("i4") End Sub a b c b … ってやってるですがB列だけ9個下に表示されます。 考えられる原因はなんでしょうか(泣) abcb…はコピペしてるので何故かB列だけ下に行きます
10 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 11:43:51.79 ID:zQ1XyGkC.net] >>9 Cellsで参照してるアクティブシートのB列だけ、最終行であるべき行よりも9行下に余計な値の入ったセルがあるとかじゃない? 変な空白が入ってたり、表の欄外に他人が勝手にコメントつけてたりとかありそう
11 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 12:05:15.62 ID:ZlmVE6mc.net] MsgBox Range("B" & n).Value とか一度やってみて 同じような事が起きたことあるけど 会社のおっさん上司が白色の文字をそのセルに置いてたわ
12 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 14:35:17.64 ID:zQ1XyGkC.net] コンソールの使い方知ってるならDebug.Print n とかDebug.Print Range("B" & n).Value でも良し
13 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 16:19:59.54 ID:5mJrF7aW.net] >>9 正直、コードが微妙に感じる。 1行で済むだろ。 それと、ブックとかシートは余程のことが無い限り省略しない方が良い。
14 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 17:40:29.60 ID:aVImaY3T.net] >>8 良いと思う
15 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 20:10:18.97 ID:zQ1XyGkC.net] >>13 そういうコメントするなら一行コードを書いてあげるのが親切じゃね
16 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 20:52:23.19 ID:5mJrF7aW.net] >>15 sht.Cells(sht.Rows.Count,2).End(xlUp).Offset(1,0).FormulaR1C1=Sheet(2).Range("I4").Value とかかな。 FormulaR1C1とかValueは適宜実際に併せて変えてくれ。 Sheet2のI4に式が入ってるとは思えないから両方Valueで良いような気がする。
17 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 21:43:54.03 ID:aVImaY3T.net] >>16 実際書いちゃう人大好き
18 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 23:17:32.63 ID:5mJrF7aW.net] 別に1行にすべきというわけじゃ無い。 .SelectとActiveCellが良くないということ。 あと、元の情報が無いのとスマホで書いたからブックは省略したけど、自分が組んでたら省略はしない。
19 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 02:31:46.42 ID:vV4Rcm78.net] 入力のあったセルの場所が分かったとしても、また同じ事が起きそう 入力させるセルと出力するセルはハッキリ分けた方がいいと思うよ
20 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 06:29:25.90 ID:4N2t7FIS.net] みんなこっちにいるよ https://mevius.5ch.net/test/read.cgi/tech/1432173164/
21 名前:675 mailto:sage [2019/03/19(火) 12:34:39.62 ID:ipysPyU9.net] 確実に全セル入力されてる列があるならそれを基準に使う手もアリ(例えば項番の列とか)
22 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 12:37:36.01 ID:cTNTzw16.net] 新しくシートを作成するコードで、 シート名をInputboxで入力させるんだけど、 もし名前が被ったときに、エラーを回避して Subを終わらせることってできる? シートも結構いっぱいあるから 「名前が一致したとき」にExit Sub ってのはやりたくないんだけど…
23 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 13:02:44.27 ID:ajcvehyS.net] >>22 For Eachで全シートの名前と比較して、同じのがあったら作らない
24 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 13:09:43.79 ID:B40U/hNg.net] >>23 最後の3行が無ければ俺も同じ事をレスしてた
25 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 13:19:11.43 ID:SqXQzXb0.net] >>22 最初に名前があるかどうかの処理をかませばいいだけ シート作ってから一緒に何かしようとするとややこしいしミスするからオススメできない Sub foo() 希望シート名 = InputBox("シート名を入力") For Each 既存シート In ThisWorkbook.Worksheets '小文字半角に変換、統一して比較 If StrConv(希望シート名, 6) = StrConv(既存シート.Name, 6) Then MsgBox ("既にあるシート名でした。終
26 名前:了します") Exit Sub End If Next Set 新シート = Worksheets.Add 新シート.Name = 希望シート名 '新シートで処理 End Sub [] [ここ壊れてます]
27 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 15:13:53.64 ID:rooN1XdM.net] >>23 >>24 >>25 ありがとう! 試してみますわ
28 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 15:26:37.07 ID:rooN1XdM.net] できたー!ありがとうございました! まさにこれっすー!
29 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 19:23:19.44 ID:kI5HhWJr.net] オレはループ回すの面倒(遅い?)から on errorでやるわ
30 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 19:31:40.14 ID:gEDMHfls.net] on errorってエラーの決め打ちじゃなくて「このエラーが出るはず」という使い方だから、他の手段があるならあまり積極的には使わない方がいいと思う
31 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 19:59:00.27 ID:G9/JqRut.net] tryか
32 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 22:17:46.56 ID:fSzJr70Z.net] on errorの場合はworksheets.add.nameで作ってエラー時はActiveSheet.Deleteみたいな処理にすんのかな 不測の事態が起きそうで怖いけど
33 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 22:26:38.38 ID:4+n02oxf.net] シートに配置したフォームコントロールのボタンのクリックとマクロを関連付けています この時、ボタンのテキストを取得する方法はありますか? Application.Caller だと名前は取得できるのですが ボタンの名前をテキストと同じものに変更する、でも良いです
34 名前:デフォルトの名無しさん [2019/03/19(火) 22:31:52.70 ID:aHt3ijA4.net] >>16 ブック.シートをwithでくくりたい(´・ω・`)
35 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 22:49:35.77 ID:gEDMHfls.net] >>32 ボタンのテキストはどうやって設定した?captionプロパティじゃないのか?
36 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 23:00:11.13 ID:4+n02oxf.net] >>34 手作業です
37 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 23:02:44.80 ID:gEDMHfls.net] >>35 ボタンに表示している文字の事を言ってるなら、手作業でもなんでもcaptionプロパティに入れてるはずだが
38 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 23:07:48.99 ID:8F1IYR8J.net] リストボックスのリストを更新した時クリックイベントが発生するのは何故?
39 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 23:14:34.15 ID:4+n02oxf.net] >>36 そのcaptionプロパティを取る方法が分からないのです https://i.imgur.com/Z5g9J0j.png 引数としてオブジェクトが渡されるわけでもないし、何か方法はあるのでしょうか
40 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 23:21:08.44 ID:gEDMHfls.net] >>38 ボタンのオブジェクト名.caption
41 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 23:22:51.25 ID:gEDMHfls.net] ボタンに限らずプロパティの指定の仕方はみんな同じ
42 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 23:22:59.66 ID:Ocf5WOX6.net] いろんなボタンにおんなじハンドラ割り当ててるんでしょ?
43 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 23:29:58.14 ID:4+n02oxf.net] >>39 えぇ、それは
44 名前:分かるんですが >>41 そうです 複数のボタンのclickイベントに同じマクロを登録し、 clickしたボタンのcaptionを取りたい https://i.imgur.com/IWsgjEQ.png [] [ここ壊れてます]
45 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 23:33:09.14 ID:n4w5LXnr.net] >>42 マクロと言ってる時点で死ねよ
46 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 23:34:33.07 ID:vV4Rcm78.net] >>38 OLEオブジェクトのコレクションからnameプロパティの一致する物を探すとか
47 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 23:34:51.64 ID:gEDMHfls.net] じゃあSheet1.buttons(application.caler).captionは?
48 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 23:38:15.01 ID:vV4Rcm78.net] 少々強引だが、apiのGetCursorPos関数でマウスポインタの場所のコントロールを取得って方法もある
49 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 23:52:25.41 ID:oXoLOC/c.net] 随分むごまっこっるた方法だな。
50 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 00:28:31.79 ID:6ln9W50J.net] >>43 一見イベントハンドラですが、thisが使えない、オブジェクト渡さないイベントハンドラはハンドラと言えるのでしょうか 個人的には、ハンドラという方が逆に混乱すると思いますのであえて言っていません >>45 うおおおおおおできましたああああああああすごい!!!!! https://i.imgur.com/8q0Z3yb.png >>44 >>46 ありがとうございます!
51 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 00:31:55.82 ID:6ln9W50J.net] あと、>>45 さんの Sheet1 というオブジェクトも気になります sheet(1) のエイリアスが自動的に生成されてると思いますが、MSDNでどのように調べると良いでしょうか?
52 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 00:32:23.83 ID:vmDq6MjZ.net] ActiveSheet.Buttons(Application.Caller).Characters.Text でいけないかな 試してないから駄目だったらごめん
53 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 00:47:38.18 ID:vmDq6MjZ.net] >>49 インデックス番号は、同じ種類のシート間に付けられる番号で、左からのシート見出しの順に基づきます。 https://docs.microsoft.com/ja-jp/office/vba/excel/concepts/workbooks-and-worksheets/refer-to-sheets-by-index-number シートオブジェクトの移動や削除を行ったときにダイナミックにインデックスが変更されるのか、ファイル保存等の更新イベントがあるのかという細かい部分は調べてないから分からない デフォルトのシート名がSheet & シート追加時のインデックス値になるのは経験上知ってる
54 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 00:58:10.12 ID:+iQ33M/7.net] >>49 画像のボタンがSheet1に貼ってあったからそれに合わせて書いただけ "Sheet1"っていう名前のシートのオブジェクト名がSheet1になってるっしょ
55 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 01:11:06.91 ID:+iQ33M/7.net] >>51 シートのインデックスは常に左からの連番 シートの追加削除等あればもちろん都度変わる
56 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 01:39:18.38 ID:6ln9W50J.net] >>50 行けそうでダメでした 何で〜? https://i.imgur.com/kZaCjUg.png https://dotup.org/uploda/dotup.org1801319.zip >>51 >デフォルトのシート名がSheet & シート追加時のインデックス値 削除すると変わるので、これは違います >>52 その仕様ってどこかに書いてないのでしょうか
57 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 02:22:30.37 ID:+iQ33M/7.net] >>54 どこに書いてるかは知らないけど、ボタンもシートもブックもオブジェクトの指定の仕方は同じ オブジェクト名 オブジェクトのコレクション(インデックス) オブジェクトのコレクション("名前") 好きなのを使うがよい
58 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 02:25:30.67 ID:+iQ33M/7.net] MS公式でWorksheetオブジェクトに関する説明調べればどっかにあるかもねえ、知らんけど
59 名前:デフォルトの名無しさん [2019/03/20(水) 11:46:18.93 ID:KyvcPrHu.net] マクロを10時間ぶっ通しで走らせるのはよくないですか?途中で再起したほうがいいですか?
60 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 11:59:24.66 ID:xEZ65DiY.net] >>57 また馬鹿が来た 死ねよ
61 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 12:06:20.76 ID:6ln9W50J.net] >>55 >>56 ありがとうございました もう少し調べたかったけど、疲れたので断念します >>57 とりあえず動かして、エラーが起きなければ何も問題はない ただ、セルを触る物を10時間も動かすとメモリエラーが起こるかも知れない >>58 笑った
62 名前:デフォルトの名無しさん [2019/03/20(水) 12:33:29.40 ID:KyvcPrHu.net] >>59 ありがとうございます。 メモリの心配はありますが、ぶっ通しでやってみます。
63 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 13:54:52.74 ID:2xsXzlGP.net] >>57 応答なしにならないか?
64 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 15:56:43.40 ID:1jasQYq3.net] だから、どういう状況で10時間ぶっとおしが必要なんだよwwwwww マジでExcelを何に使ってるのか気になるわ。
65 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 16:27:03.42 ID:xEZ65DiY.net] 馬鹿の考えることをまともに相手をしてはいけない
66 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 20:36:03.66 ID:nDF65YVh.net] 結果セットは小さいけど重いDBクエリを繰り返すとかだったらわかる
67 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 20:53:54.94 ID:EpI850Tv.net] 10時間動かし続けるとなると思いつくのは 出勤時間中にwebサイトやフォルダ監視し続けて何かをキッカケに何かするみたいなのかな
68 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 22:28:30.85 ID:ad3N4bFR.net] エクセルでやることなんですかねそれ...
69 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 22:53:02.96 ID:1jasQYq3.net] ExcelVBAでパワーポイント動かしたいんですけど、 とか言われても、もう驚かんわ。
70 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 23:11:09.25 ID:7O8FfDv3.net] 馬鹿はそこでマクロと言い出す 更には、「教えて」「助けて」で始まり 「急いでます」「作って」と要求する
71 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 23:20:32.29 ID:dyVQ1wUM.net] >>67 やろうと思えば出来んでもないのか
72 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 23:21:49.19 ID:dyVQ1wUM.net] なんだお前ら、勿体無いな 10時間動かすなんて奇抜な事をしてくれるんだから、全力で応援するべきだろう かなり貴重なサンプルが手に入る可能性があるのに、バカだの言って切り捨てるのはあまりに勿体無い
73 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 23:38:22.03 ID:9h7AJaIR.net] >>70 まともな報告がある可能性は殆どない。 報告が役に立つ可能性はもっとない
74 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 23:45:57.48 ID:dyVQ1wUM.net] >>71 この辺は感性の違いかな 面白い物が見れそうな時はどんどん投資してしまう
75 名前:デフォルトの名無しさん [2019/03/21(木) 02:02:16.06 ID:+l8n8fiW.net] 肛門に穴があいたんですけど、 とか言われても、もう驚かんわ。
76 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 06:33:27.17 ID:LeqqYBVH.net] >>73 痔瘻でつか?
77 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 07:23:06.55 ID:u3u8nbsq.net] >>69 むしろ楽勝の方だろ ちょっと前にシートの内容をスライドに埋め込むとかはやったことがある やったのはPowerShellだったけどCOM経由なら似たようなもんだし
78 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 10:02:44.62 ID:TiVPJMex.net] パワーポイントでVBAって何すんの? パワーポイントって発表用のアプリだろ。 それでVBAって需要なんてあまりあるとは思えんが
79 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 10:04:16.17 ID:XMapNPTs.net] シートの内容をスライドに埋め込むとか
80 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 10:26:55.37 ID:VaVZDR1N.net] プレゼンが定例業務としてある会社もあるんじゃね
81 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 10:29:58.00 ID:epreAi+X.net] 例えば、気象庁のホームページからクエーリーでデータを取得し パワポにデーター貼り付けながら、加工してそれをアニメーションで かっこよく表示していくとか、考えれば応用はいくらでもあるだろう
82 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 10:37:01.43 ID:epreAi+X.net] 言葉が足りなかった、プレゼン用ではなく、情報表示モニター用にな いくらでも機能はつけられる
83 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 11:18:23.86 ID:TiVPJMex.net] なんかどれも一般個人には無縁のものばかりだな
84 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 11:20:14.60 ID:TiVPJMex.net] まあパワーポイント自身、個人で使うことなんてないのか でも企業でも極一部の部署しか使わないものばかりじゃん
85 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 11:39:33.97 ID:cL16VMj6.net] パワポVBAで何か作ってみたいという逆需要で、発表後喋ってる間にスターウォーズのエンドロールみたいなのを流すのを昔作ったことあるなw それ以降、私の開発現場では(個人的にも)パワポVBAは全く需要なし WordVBAも、補助ツールとして数年に一回作るくらいかな
86 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 11:42:12.40 ID:XMapNPTs.net] スライドシェアとか見てもかったるいだけだからな 大昔の改行しまくりのテキストサイト思い出す
87 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 11:45:36.88 ID:epreAi+X.net] なんか、ExcelのVBAでパワポを操作するのと、パワポのVBAを同一で語ってるやついるか? ちなみにWordのVBAはいくつか作って今も使ってるけど、まあ対比で言えばExcelの 100分の1程度だな
88 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 12:40:04.02 ID:epreAi+X.net] >>84 >スライドシェア 何だよ、かったるいのしか見たことないんだろ >テキストサイト 何もわからんバカなのね(笑)
89 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 12:46:45.76 ID:epreAi+X.net] >>84 まあ、言葉もわからんカスが書き込みするスレだよな
90 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 12:51:57.24 ID:VaVZDR1N.net] >>86 カッコイイパワポを見てみたいんだが、どこかにある? 俺は見たことない
91 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 12:55:25.94 ID:epreAi+X.net] >>88 そうか、じゃあそのままでいいよ 検索もできないカスのお前に見せる必要ないからな
92 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 13:01:18.94 ID:epreAi+X.net] 自分では何もできないくせに、人の作ったものは全力で否定するカスいるな 生きてる必要あるんか?・・ってかどうなの?(笑)
93 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 16:10:00.98 ID:rariafKZ.net] >>83 単に、バカじゃん(大笑)
94 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 18:21:43.40 ID:AEHjc1Fb.net] >>82 accessよりは使ってる
95 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 18:38:57.53 ID:jb0c41ul.net] >>75 そういう問題か? PowerPointなのにPowerPointVBAを使わずにExcelVBAという所が驚きの対象なんじゃないの?
96 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 18:40:52.37 ID:UMX0gRc1.net] 起点がExcelってのがポイントだよな
97 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 18:59:32.81 ID:susRoq6I.net] >>67 の冗談が起点なのになんで真剣に語っているんだ
98 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 19:40:57.90 ID:u3u8nbsq.net] >>93 Excel VBAで扱うのとPowerPoint VBAで扱うのはたいして変わらんよ どっちから制御するかだけの問題
99 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 21:02:50.21 ID:UMX0gRc1.net] 他アプリから制御するのはいちいちアプリケーションインスタンスを起動しなきゃならんのが糞面倒 パワポだけで済むならパワポにする
100 名前:デフォルトの名無しさん [2019/03/21(木) 21:15:08.25 ID:HmxAO54P.net] VBAを使ってる人って御老人のイメージだけど合ってる?
101 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 21:48:16.24 ID:7ESjhGWi.net] ナウでヤングな人は何使うん
102 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 22:10:39.42 ID:susRoq6I.net] そろばん
103 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 08:13:43.08 ID:s6oj+Xdm.net] >>96 PowerShellなんて言い出す奴だからわからないんだろうな。 大して変わらんのなんて当たり前だろ。 PowerPointVBAからExcel.Application使って、そのExcelオブジェクトからPowerPoint.Application使ってを10回繰り返した所で変わらんけどアホ丸出しなのが分からんのかね。
104 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 08:17:26.70 ID:wT5mo1++.net] >>101 で? 例がアホすぎて何を主張したいのかさっぱりわからんw
105 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 09:00:55.13 ID:7FUJ+LGH.net] パワーポイントVBAって色々と勝手が違って面倒臭かった記憶があるけどな そもそもエクセルやワードと違って空のアプリケーションインスタンス作れないんじゃなかったっけか ファイル実行時に読み取りパスワードを指定するときもファイル名と連結する必要があるし
106 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 09:13:17.49 ID:s6oj+Xdm.net] >>102 バカにはわからない。 というか例がアホ過ぎる所がミソなんだがw そんなアホなことをするのかというのが驚きの対象であって、大して変わらんかどうかなんて頓珍漢な話はどうでもいい。
107 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 09:35:36.14 ID:wT5mo1++.net] いや、当たり前なんてみんな知ってる(>>93 を除くw)のに今更何を言いたいんだってこと バカの上塗り?
108 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 10:34:34.64 ID:1snpMqV+.net] 結局、ワッチョイ抜きにするから荒れるんだろ 誰がどう主張したいのかわからなくなる ワッチョイが嫌な奴がこのスレ建てたんだろうな、立て直すか?
109 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 10:58:31.28 ID:f/f2Qmpp.net] >>101 それ面白いw
110 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 12:26:36.58 ID:s6oj+Xdm.net] >>105 プッ 当たり前なのは>>93 を含めてみんな知っている。 今更何を言いたいのかは>>102 を除いてみんな知っているw
111 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 12:41:30.27 ID:VWKP5DOZ.net] で、結局>>101 は当たり前の事をほざいてただけ? やっぱりバカの上塗りじゃねーか w
112 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 13:05:17.10 ID:xmRgZnoh.net] OLEアプリケーション連携の話になると途端に荒れるのやべーな 前も下らんAccessの話でクッソ揉めてたし 他アプリ連携のスキルをプライドの拠り所にしてる人が結構いるのかな 凄いことやってる風に見てもらえるときあるし分からんでもないけどさ
113 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 13:46:53.89 ID:CAtaruvO.net] こっちに移動しる https://mevius.5ch.net/test/read.cgi/tech/1432173164/
114 名前:デフォルトの名無しさん [2019/03/22(金) 14:07:54.62 ID:DJ7JSKt5.net] こっちに移動しろ https://mevius.5ch.net/test/read.cgi/tech/1432173164/ 日本語は正確に
115 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 14:18:45.03 ID:CAtaruvO.net] こいつ、知ってて言ってるのか知らないのか
116 名前:デフォルトの名無しさん [2019/03/22(金) 17:56:53.75 ID:DJ7JSKt5.net] 会社でブラウザの検索結果のページで いっぱいURLのリンク先が表示されるのですが そのたくさんのURLのそれぞれを開いたページ(毎回違うけど50ページくらいある)のデータを取得するVBAのコードを考えています。 IEの定番のCreateObject("InternetExplorer.Application")とDOMツリーの方法で実現できてはいるのですが 1つ1つページを開いて取得して閉じる、という作業がネットワークの遅さで異常に時間がかかります。 この複数のページを同時で取得する方法ってないでしょうか?よく知らないけどJavaでいうスレッドみたいな?
117 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 18:05:28.43 ID:wNvbYX88.net] いまどきマルチポストに眉をしかめるような時代遅れの人間なんていないよ、ね?
118 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 18:13:30.85 ID:f/f2Qmpp.net] >>114 IEオブジェクト作らずに通信すると早くなる気がするけど早くならないかもしれない 試してみて Sub foo() Set httpReq = CreateObject("MSXML2.XMLHTTP") httpReq.Open "GET", "https://www.nicovideo.jp/watch/sm31763534" httpReq.Send Do While httpReq.readyState < 4 DoEvents Loop str2 = httpReq.responseText End Sub
119 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 18:19:28.87 ID:wCnCSK0y.net] >>114 どっかのサーバーでPHPなどで書けば
120 名前: 一度に取得を投げて戻ったイベントで処理を書く ネットワークに依存しないし負荷はサーバー 詳しくはPHPなどの質問スレッドでしろ [] [ここ壊れてます]
121 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 18:37:45.64 ID:wCnCSK0y.net] >>116 VBAでは書いたことないけど リクエストを配列にして一度に投げ 戻った奴から処理する 普通はイベントで受ける
122 名前:デフォルトの名無しさん [2019/03/22(金) 19:06:06.24 ID:DJ7JSKt5.net] >>116 そのCreateObject("MSXML2.XMLHTTP")はなんでしょうか? str2にはたしかに入ってますが"https://www.yahoo.co.jp/"にしたら空欄になってしまいます。 HTMLページは膨大なソースなのでDOMツリーで必要なものだけを取り出したいのですが、それはできますか? >>117 PHPって知らないのですが簡単に学習できるのですか? >>118 VBAでイベントってどうやって受けるのですか
123 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 19:30:29.78 ID:s6oj+Xdm.net] >>109 まだ分かんねーのかよw
124 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 19:31:45.60 ID:f/f2Qmpp.net] >>120 すまん無能、ちょっと静かにしてくれ
125 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 19:35:09.00 ID:wCnCSK0y.net] >>119 PHPをおけるサーバーの契約まあ無料のところも有るだろ 学習は無料でツールをダウンロード出来る 比較的簡単な言語でいろいろソースもあるが VBAは超簡単な方だからな VBAは特定のイベントしか受けられんのかな 普通VBやc++やPHP などでコーディングするときは イベントで受ける
126 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 19:35:18.99 ID:wT5mo1++.net] アホの考えなんてわからんしわかりたくもないわw
127 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 19:37:24.46 ID:s6oj+Xdm.net] >>119 出来る。 ResponseTextをDOMに入れる。
128 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 19:37:49.10 ID:f/f2Qmpp.net] >>118 jsで言うPromise? 非同期がvbaにあるんか、と思って調べたら一応あったけどかなりしんどいな https://system-engineerlife.com/vba/multithread/ >>119 >CreateObject("MSXML2.XMLHTTP") http通信するだけのもの。DOM構築しないから軽いはず
129 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 19:46:10.91 ID:s6oj+Xdm.net] >>125 これ、マルチプロセスだけどな。 別にしんどくない。 ExcelVBAでマルチプロセスやるときはExcel.Applicationを複数作ってやるのが普通だと思うけどね。 最終的に速度どうにもならないときはマルチプロセスにする。
130 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 19:51:03.17 ID:s6oj+Xdm.net] >>123 10時間ぶっ通しのVBAのようにアホ丸出しの例としてExcelVBAからPowerPoint動かすって話だろ。 >>75 のような当たり前の話じゃないんじゃないの? という問い掛けが>>93 だろ。
131 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 19:58:09.82 ID:s6oj+Xdm.net] >>125 ちなみにマルチスレッドはこっちにあるやり方 https://needtec.exblog.jp/18893727/ 場合によっては使える(自分で表示したメッセージボックスのボタンをクリックとか)と言いたいところだが止めとくべきだね。
132 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 20:11:29.06 ID:f/f2Qmpp.net] >>119 Sub foo() Set httpReq = CreateObject("MSXML2.XMLHTTP") httpReq.Open "GET", "https://www.yahoo.co.jp/", False httpReq.Send Do While httpReq.readyState < 4 DoEvents Loop Set HTML = CreateObject("htmlfile") HTML.write httpReq.responsetext End Sub これでHTMLがdomになる ちなみにphpなら二行で終わる サーバー借りなくてもxamppっての使えばPCだけで行けるけど、 どっちにしても学習コスト高い気がする ついでにHP作ってみると良いかも知れない >>126 >>128 excelかVBSインスタンスをスレッドの分作って文字列作ってevalみたいにして実行か もうここまで来るとVBAでやるのはなぁ VBAしかないなら頑張れるけど、他言語だと瞬殺と思うとやる気が削がれる
133 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 20:17:17.71 ID:PU7qmvYu.net] >>127 > 10時間ぶっ通しのVBAのようにアホ丸出しの例としてExcelVBAからPowerPoint動かすって話だろ。 その例がアホって話だろw
134 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 20:59:52.84 ID:EWPhTEeI.net] >>116 httpReqを配列にしてreadyStateが4より小さいものから処理すれば良いだけだろ
135 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 22:37:39.98 ID:kGxcTvNs.net] もうExcelの変な使い方スレでいいよ、ここ。
136 名前:デフォルトの名無しさん [2019/03/22(金) 22:41:13.31 ID:DJ7JSKt5.net] レスありがとうございます。 >>122 なるほどそうですかありがとうございます。 いまの直近の問題が解決したらあとで勉強してみます。 >>124-125 , >>129 DOMができたとして 50個くらいある複数のURLの1つ1つに Do While httpReq.readyState < 4 DoEvents Loop で時間待ちするのが問題なんです。 1つあたり1分近くかかるから。 一気に全部同時にやれないかなと。
137 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 22:51:56.07 ID:tgov+uRX.net] PowerShellでやった方が絶対に速い
138 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 22:54:22.06 ID:CAtaruvO.net] >>134 PowerShellのプログラミングってめっちゃめんどくさい タイプ量が半端なく多くなる。 大嫌い
139 名前:デフォルトの名無しさん [2019/03/22(金) 23:08:19.23 ID:E2ofkEmJ.net] まとめてダウンロードしてファイルに保存 その後一つずつ解析するべき domなんて使わなくても正規表現で何とかするべき
140 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 23:19:11.20 ID:tgov+uRX.net] でもpowershellなら.NETのWorkflowが手軽に使えるよね
141 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 23:23:39.28 ID:tgov+uRX.net] Runspaceも使えるし
142 名前:デフォルトの名無しさん mailto:sage [2019/03/22(金) 23:36:27.88 ID:f/f2Qmpp.net] >>133 すまん、無理だった 他の人頼む arrayでurl設定して、class使ってforeachだろうけど vbaのclassを覚える気力がもう内 とりあえず2つだとこんな感じ Sub foo() Set httpReq = CreateObject("MSXML2.XMLHTTP") httpReq.Open "GET", "https://www.yahoo.co.jp/", False httpReq.Send Set httpReq2 = CreateObject("MSXML2.XMLHTTP") httpReq2.Open "GET", "https://urasunday.com/", False httpReq2.Send Do flg = False If httpReq.readyState < 4 Then flg = True If httpReq2.readyState < 4 Then flg = True DoEvents Loop While flg Set HTML = CreateObject("htmlfile") HTML.write httpReq.responsetext Set HTML2 = CreateObject("htmlfile") HTML2.write httpReq.responsetext End Sub
143 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 00:08:10.78 ID:GJYnZjvR.net] If httpReq.readyState < 4 Then flg = True If httpReq2.readyState < 4 Then flg = True 片方で抜ける 配列ぐらい使えよ
144 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 00:23:31.53 ID:GJYnZjvR.net] 読み込めた物から処理するんだよ
145 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 00:41:36.68 ID:sBAP9hOD.net] >>140 ・普通に逆だった、スマン ・pushくれ。redimしなくていい素直なpush ・なんかテキトーにやってもうまいことやってくれる非同期欲しい ・eachで自動生成されるindexくれ ・インクリメントくれ ってことでうんこコードになったわ、すまん >>141 それは分かるし書きたいんだけど documrnt.ready(function(){}〜 的な奴が分からなかった
146 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 00:42:04.83 ID:sBAP9hOD.net] >>133 Sub foo() Const max_count = 1000 '1000で決め打ち url_arr = Array( _ "https://www.yahoo.co.jp/", _ "https://urasunday.com/" _ ) Dim httpReq(max_count) index_httpReq = 0 For Each url_foo In url_arr Set httpReq(index_httpReq) = CreateObject("MSXML2.XMLHTTP") httpReq(index_httpReq).Open "GET", url_foo, False httpReq(index_httpReq).Send index_httpReq = index_httpReq + 1 Next
147 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 00:42:09.03 ID:sBAP9hOD.net] Do flg = False For Each url_foo In url_arr ' どれかがまだ If httpReq(index_foo).readyState < 4 Then flg = True Next DoEvents Loop While flg Dim html(max_count) index_html = 0 For Each url_foo In url_arr Set html(index_html) = CreateObject("htmlfile") html(index_html).write httpReq(index_html).responsetext Cells(index_html + 1, 1).Value = httpReq(index_html).responsetext 'テスト。A列に出力する index_html = index_html + 1 Next End Sub
148 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 00:45:06.99 ID:sBAP9hOD.net] >>143 までは問題ないと思う >>144 でグダグダになった。 パフォーマンス的にはそんなに変わらんだろう。大量にあるとメモリにも影響してきそうだけど
149 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 01:11:21.36 ID:GJYnZjvR.net] If httpReq(index_foo).readyState < 4 Then flg = True コレじゃ1つでも読み込めたらループから抜ける set したのはリリースする 処理がおもいのは html(index_html).write httpReq(index_html).responsetext これだろ
150 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 01:15:54.12 ID:GJYnZjvR.net] 同じ個数配列で使うものはTypeを使って構造体にしろよ 構造体を配列で取る redimぐらい使えよ
151 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 01:39:28.59 ID:sBAP9hOD.net] >>144 Do flg = False For Each url_foo In url_arr ' どれかがまだ If httpReq(index_foo).readyState < 4 Then flg = True Next DoEvents Loop While flg ↓ For Each url_foo In url_arr ' どれかがまだ Do flg = False If httpReq(index_foo).readyState < 4 Then flg = True DoEvents Loop While flg Next >>146 >コレじゃ1つでも読み込めたらループから抜ける 入れ子逆だった、スマン >set したのはリリースする httpReq is nothingがエラーになる vbaって配列 is nothing出来ないのか >処理がおもいのは 相対的に重いけど体感上重くは無いと思う >>147 vbaのclassは正直もう無理や
152 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 02:18:04.14 ID:GJYnZjvR.net] 構造体を使うのは処理を分かりやすくするため リリースは Set オブジェクト変数 = Nothing 感覚的に難しいかな
153 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 04:53:32.37 ID:4V4ijAbJ.net] >>142 普通は以下のように、自分で状態を調べたりしない。 If httpReq.readyState < 4 Then flg = True これは、Node.js などの低レベルな書き方で、普通はこれらの状態をラップして、 簡潔に書ける方法が、ライブラリ・フレームワークに用意されている 例えば以下は、JavaScript, jQuery の非同期処理の書き方。 ready になったら、引数で定義した、callback 関数を呼んでもらう。 document.ready(function(){}〜 非同期処理には、promise, deffered, async/await の書き方もある Ruby で、Selenium WebDriver なら、非同期処理を考えなくても、普通に同期的に書ける。 非同期処理の書き方のすべてが、ラップされているから。 Timeout 設定時間までに、状態が満たさなければ、Timeout Error になるだけ
154 名前:150 mailto:sage [2019/03/23(土) 05:31:12.29 ID:4V4ijAbJ.net] 漏れなら、Ruby で、Selenium WebDriver で、 url.txt には、行区切りでURL を書いておく。 script.rb には、Selenium WebDriver での処理を書いておく main.rb には、以下を書いておいて、このファイルを、ruby main.rb で実行する File.foreach( "url.txt" ) do |line| `ruby script.rb #{ line }` end url.txtを、1行ずつ処理して、各URLを取得して、それを引数にして、 ruby script.rb URL の別プロセスを呼び出す。 ただし、Selenium WebDriverでの処理が、URLだけが異なって、他は同じ事が条件 つまり、マルチプロセス これをマルチスレッドにすると、排他処理などが面倒。 それに同一プロセス内の処理になるので、1つのエラーで、すべての処理が止まるし、やってられない!
155 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 05:42:27.10 ID:GJYnZjvR.net] VBA以外の構造化言語で書けば綺麗に書ける まあ出来るだけ近いように書くのがよいが まあ所詮俺もこんな処理ではJavaかPHPでしか書かない まあ
156 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 07:22:22.14 ID:4ZM/hDcb.net] >>148 > vbaのclassは正直もう無理や TypeとClassは関係ないぞ Typeは単に複数の値を纏めるだけ
157 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 08:17:41.71 ID:Rd0MSm4a.net] たぶん、構造体 = Type = 型 = クラス っていうアナロジーで考えてたんだろうね
158 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 09:27:10.21 ID:GJYnZjvR.net] まあ、コードも間違ってるし書き方も良くない 配列すら得意でないようなので・・・ あと、せっかくExcelを使ってるんだから Url等の情報はセルから読み込むよな
159 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 11:00:19.04 ID:tmlWK/3A.net] >>151 seleniumってまだ使えんの?もう機能しなくなったと思ってた
160 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 11:18:14.30 ID:sBAP9hOD.net] あぁvbaってclassと構造体両方あったのか >>155 コールバックの部分だけはマジで分からんかった どうやって書くんだ >>150 クソ言語乙
161 名前:fusianasan mailto:sage [2019/03/23(土) 11:19:15.45 ID:j1qksDnK.net] Debug.Print("test")
162 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 11:39:13.69 ID:uLwnX5A6.net] >>130 だから、お前が真面目に出来るとか言ってるのは、真面目な話じゃ無くてアホな話だろと言ってるんだが。 アホな例を出さなかったらそれこそアホだろw
163 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 11:47:22.03 ID:4ZM/hDcb.net] >>159 はあ? >>67 が > やろうと思えば出来んでもないのか って書いてるからやること自体は難しくないって書いてるだけだぞ そもそもExcel VBAでPowerPointを操作するのがアホとか言ってるわけじゃないことも理解できてないのかよw
164 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 11:52:28.25 ID:/daUWZWt.net] >>157 Excelでコールバックで受けたいって言っても、やったことないな 所詮そんなにクリティカルなルーチンを書く環境じゃないだろ そんなことしなくても、ステータスが読み込めた物から処理して 全ての配列が処理出来たら終わればいいぐらいのコーディングだな 自分で書かなきゃ意味ないぞ
165 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 12:03:01.48 ID:jhd39dfA.net] >>160 無能の相手はほどほどで >>161 やっぱり難しいよな >全ての配列が処理出来たら終わればいいぐらいのコーディングだな これで書いたよ DOM部分はどうせ瞬殺だからまとめて良い
166 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 12:12:55.71 ID:/daUWZWt.net] >>162 他の言語で簡単にかけるって言っても 所詮その言語で提供されたルーチンを使うだけだから 適した言語で書けば比較的簡単にかけることは確か コーディングに関しては直感で書いたからもう少し読んでみよう
167 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 12:16:35.94 ID:/daUWZWt.net] まあ、所詮夜勤から帰って書き込みしてるから 午後は、お酒が進むんでまあ気にするな
168 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 12:44:05.74 ID:4ZM/hDcb.net] >>157 > コールバックの部分だけはマジで分からんかった > どうやって書くんだ コールバックなんていらんだろ 素直にreadyStateが4になったら処理すればいいだけ スマホから打ってるからデバッグしてないけどこんな感じ Type Request Session As Object Done As Boolean End Type url_arr = Array("https://www.yahoo.co.jp/", "https://urasunday.com/") Dim Requests() ReDim Requests(LBound(url_arr) To UBound(url_arr)) Dim Index As Integer For Index = LBound(url_arr) To UBound(url_arr) With Requests(Index) Set .Session = CreateObject("MSXML2.XMLHTTP") .Session.Open "GET", url_arr(Index), False .Session.Send .Done = False End With Next ' 続く…
169 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 12:44:29.37 ID:4ZM/hDcb.net] ' 続き Dim AllDone As Boolean Do AllDone = True For Index = LBound(url_arr) To UBound(url_arr) With Requests(Index) If Not .Done Then If .Session.readyState < 4 Then AllDone = False Else Cells(Index + 1, 1).Value = .responseText .Done = True End If End If End With Next DoEvents Until AllDone
170 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 14:51:45.33 ID:uLwnX5A6.net] >>160 いや、だから... それに>>67 じゃなくて>>69 だろ。 やろうと思えば出来るけど、驚いてるのはそこじゃ無いだろという指摘が理解できなかったから>>96 みたいな頓珍漢なことを言ったんだろ。 じゃなかったら>>96 みたいに噛み合わない発言にならない。
171 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 14:57:22.48 ID:jhd39dfA.net] >>165 俺も使わなくてもいいと思うが 上でコールバックコールバック言ってたからな >>167 お前に何の能力もないのは分かったから落ち着け
172 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 15:09:34.24 ID:4ZM/hDcb.net] >>167 お前はアンカーもまともに見れないのかよw
173 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 19:02:03.41 ID:4V4ijAbJ.net] 157デフォルトの名無しさん2019/03/23(土) 11:18:14.30ID:sBAP9hOD >>150 クソ言語乙 142デフォルトの名無しさん2019/03/23(土) 00:41:36.68ID:sBAP9hOD こいつは荒らしじゃね? 相手しない方がよい
174 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 19:19:07.38 ID:tumCHHdc.net] >>170 ここはVBAのスレだよ。 そこにRubyとか持ってきたからじゃねえのw
175 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 20:10:53.10 ID:VsaUG60l.net] >>170 そのruby信者が荒らしだぞ あらゆるスレで「rubyなら〜」と言ってrubyを貶めしている pythonスレではスレタイにruby禁止とまで入る始末
176 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 22:49:02.19 ID:XxYiFSG+.net] コールバックって何? ググると、関数の引数に渡す関数って出てくるけど、 それって、複数の処理を、 ↓こうやって横着して1行に書くのと何が違うのかわからん。 a = Replace(Replace("あいうえお", "あい", ""), "えお", "")
177 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 22:57:17.29 ID:VsaUG60l.net] >>173 a関数の処理が終わった場合、a関数の引数を受け取ってb関数を自動的に開始する・・・という処理 非同期、特にスクレイピングが多重で続くような場合は非常に強力 https://www.sejuku.net/blog/67743 使う場面が分からないのは、使う必要が無いと思って良い jsだと死ぬほど使うが、EXCELで使う事はまずない
178 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 23:43:32.78 ID:vBZJiXyX.net] VBAでコールバックを実装しようとしたら、 Application.Runを使うかクラスモジュールでメソッド書いてCallByName関数で呼び出すようにするかって感じになるんかね
179 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 23:54:56.46 ID:49H4PHbP.net] >>175 AddressOf
180 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 23:57:25.89 ID:49H4PHbP.net] >>175 ごめんVBAでコールバックを「実装」か。 VBAの関数をコールバックするにはどうするかという問題と勘違いした
181 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 00:19:26.62 ID:lQI3nZvh.net] >>177 そう、外部プログラムにVBA側の関数ポインタを渡す話じゃなくて、受けとる側の処理の書き方
182 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 00:40:55.67 ID:MjUvfGmD.net] クラスのメソッドとしてコールバック関数を実装してinterfaceか遅延バインディング使えばいい
183 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 07:46:43.58 ID:myNgr9GS.net] >>173 > a = Replace(Replace("あいうえお", "あい", ""), "えお", "") これは外側のReplace()に内側のReplace()の「結果」を渡してる コールバック関数は内部で呼ぶ関数を変えたい時に使う 例えば図形を描くルーチンがあったとして出力先を色々切り替えたいとかだと出力する関数を自体を渡す やり方はこの辺りを参考にして https://qiita.com/rai_suta/items/c07b22130b302682b729
184 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 11:58:57.43 ID:DVu1xjKe.net] >>179 やっぱりAddressOfの値を受け取ってそれをAPI経由で実行するのがいいんじゃないか ただしシグネチャは一定とする
185 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 12:25:58.30 ID:3NyLxN/m.net] https://i.imgur.com/nvGsYOy.jpg エクセルあればワードもパワポもアクセスもいらない
186 名前:デフォルトの名無しさん [2019/03/24(日) 12:32:32.58 ID:4ve/ST91.net] そんな事をエクセルVBAでやる意味って何? 何が何でもVBAって馬鹿のひとつ覚えって言うんだよ
187 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 12:35:25.20 ID:aL5blMH8.net] >>183 他言語を覚えなくて良いのは大きなメリット 環境構築、記述方法、言語仕様 この辺全部覚えなくて良いのはデカイ 特にvbaはプログラマーじゃなく事務員が使ってる場合も多いので、環境構築が苦手な事が多々ある
188 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 13:44:54.25 ID:PQbtijKV.net] ノコギリで刺身切ろうとして包丁使えよって言われて包丁の使い方覚えなくていいのはメリットって言ってる構図
189 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 13:53:08.65 ID:aL5blMH8.net] >>185 例え下手でわらった
190 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 13:54:25.82 ID:PQbtijKV.net] >>186 お前は仕事下手だよな
191 名前:デフォルトの名無しさん [2019/03/24(日) 14:07:22.16 ID:OZ1kvGmt.net] 他言語を覚えなくて良いって発想がどうかと思う 適材適所で効率良くするのも仕事だし 死にゆく言語の代表がVBA
192 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 14:08:05.28 ID:myNgr9GS.net] >>185 流石に頓珍漢すぎ 出刃包丁で刺し身切ろうとしたら刺身包丁買ってこいって
193 名前:ゴネてる奴がいるだけ [] [ここ壊れてます]
194 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 14:30:37.07 ID:aL5blMH8.net] >>187 根拠もなく、何を見てそう思ったの? >>188 >他言語を覚えなくて良いって発想がどうかと思う >適材適所で効率良くするのも仕事だし これは同意 俺も効率化のためにphpとjsはある程度覚えてるわ ただ、人に勧めるのは現実的に厳しい面がある たまーに出てくるスクレイピングのためにphp覚えろって言うのはなかなか酷 時間がかかって良いならウンコみたいなコードでも処理できるしな ここの人でもサーバー=レンタルサーバーって発想した人いるけど、 スクレイピングのためにphp動かすならxamppで良い >死にゆく言語の代表がVBA ずっと言われてるけど全然死なないので俺も困っている。せめてバージョンアップして
195 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 14:34:03.77 ID:dT6Xb8jy.net] 既に公式にはJavaScriptに置き換わってるのに今更バージョンアップもクソも
196 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 14:35:01.83 ID:aL5blMH8.net] >>191 JavaScriptに置き換わってるって言ってもアドインだけでしょ
197 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 14:43:19.68 ID:dT6Xb8jy.net] >>192 だけもクソも、現在推奨されているExcelのプログラミングインターフェイスはアドインのみだよ VBAは廃止予定のレガシーな機能であり、使用は推奨されない
198 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 14:53:50.44 ID:aL5blMH8.net] >>193 それは知りませんでした、申し訳無い そのソースってどこかにありますか? vbaがやっと進化するのか
199 名前:デフォルトの名無しさん [2019/03/24(日) 15:03:11.84 ID:A9z4XFqj.net] 自分の現在分かる範囲で創意工夫してやろうとするのは良いことで出来ちゃってるんだろうけどこの先ずっと出来るかは不明 新しいのを取り入れないとダメ 特にエクセルVBAでやる必要のないのがあるなら勉強のチャンスなのに古いのでやろうとするから進歩しない
200 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 15:10:13.55 ID:gZMjxNOF.net] xampp入れてPHP一から覚えるぐらいなら、VB.NET覚える方がはるかにマシだわ
201 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 15:19:49.80 ID:Mw3X0nZC.net] >>191 エクセルのマクロもVBAじゃなくてjavascriptになるのか? てか、もうなってるの? ボタンと押したときの動作とかもすでにjavascriptで書くようになってる?
202 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 15:23:45.60 ID:aL5blMH8.net] >>197 アドインがjsで書けるように鳴ったんだよ
203 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 15:39:49.96 ID:y9CSgW5G.net] ここは言語スレじゃなくてExcel VBAスレなんだが バイクやチャリの板で日本縦断の準備とか注意点についての質問レスに対して飛行機使えよ馬鹿とレスしてるやつ居たらアホだろ
204 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 15:47:43.47 ID:aL5blMH8.net] >>199 何回やっても例え下手やなw もっとやっていいぞ
205 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 15:54:11.30 ID:Mw3X0nZC.net] >>198 マクロは関係ないのね。 VBAが無くなるとは考えられん
206 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 16:01:00.66 ID:dT6Xb8jy.net] >>201 マクロは単純に廃止だろうね 知らないかもしれないが、昔はVSなどMS製品には大抵VBAマクロが入ってたんだよ どんどん廃止されて、今や残ってるのはOfficeだけ
207 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 16:08:12.38 ID:Mw3X0nZC.net] >>202 ん? マクロ自身が廃止になるのか? マクロは残るがVBAじゃなくてjavascriptになるのか、って聞いたんだが
208 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 16:19:40.92 ID:aL5blMH8.net] >マクロ自身が廃止 上でそう言ってたけどソースが見つからない ただの噂かも >VBAじゃなくてjavascriptになるのか 現状はjsでもアドインを作れるようになっただけ 俺もvbaは廃止しないと思う
209 名前:デフォルトの名無しさん [2019/03/24(日) 16:19:49.86 ID:rXU7uH3v.net] だってVBAってセキュリティ的にヤバいし エクセルファイルに偽装してマルウェア的なかなりの事までやれちゃうから廃止で良いよ
210 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 16:23:34.70 ID:Mw3X0nZC.net] >>204 >俺もvbaは廃止しない 絶対あり得んよね。 今までの過去の資産がどれだけあるか それを作ってるのは理系のプログラマじゃなくて文系の経理の女の子も相当いるからな
211 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 16:46:14.04 ID:cASdygc2.net] 全くバカばっかりだ。 その場で最適なのを選択すりゃ良いんだよ。 レガシーとか言ってるバカは救いようがない。 VBAで簡潔出来るならその方が良いんだよ。 VBScriptでファイル選択ダイアログを使う時にExcel.Application使うなんてのは本当はやりたくないけど他にうまい方法が無いから仕方ない。 このやりたくないというか筋が悪いと感じることが出来ない奴は結局駄目だね。 レガシーなのはその通りだが、それで別言語使って筋悪プログラミングしてたら意味が無い。
212 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 17:13:35.45 ID:cASdygc2.net] “Office アドインはVBAやVSTOを置き換えるものではないので(現時点では)、「何でこんな簡単なこともできないの!?」とイライラしてはいけない”だとさ。
213 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 17:17:26.83 ID:iA9UpJgV.net] Officeアドインとかいうの忌み子になりそうだよな
214 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 17:43:12.27 ID:bibhGphx.net] とりまIEが消えればVBAでスクレイピングは消える OS依存の負債を作りかねない機能はどんどん省いて欲しいね
215 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 17:58:19.82 ID:XiACCcaf.net] セルの中に、そのセルが存在するシート名を抜き出す関数の定義ってどんなのがある? シンプルで分かり易い、エクセルの版に依存しないのが良いな。
216 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 18:00:03.79 ID:XiACCcaf.net] ここはVBAのスレだから、セル内で使う計算式の質問はスレ違か。
217 名前:デフォルトの名無しさん [2019/03/24(日) 18:03:25.87 ID:APHXkx0k.net] 言ってみ
218 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 18:10:28.59 ID:aL5blMH8.net] >>210 IEが無くてもhttp通信できるぞ >>211 cell関数 https://kokodane.com/kan54.htm シンプルじゃないけどこれぐらいしか
219 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 18:26:04.21 ID:bibhGphx.net] >>214 http通信でスクレイピングか 是非頑張ってくれ
220 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 19:01:26.26 ID:eoRp1F4j.net] >>214 ありです。 残念なことに、CELL関数は Excel Online の excel では動かないんですね。
221 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 20:51:56.44 ID:IVIO7oct.net] というか、IE消えても出来るぞ。Winsockとか知らんか?
222 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 21:58:17.14 ID:aL5blMH8.net] >>216 onlineか、無いっぽい https://answers.microsoft.com/ja-jp/msoffice/forum/msoffice_excel-mso_other/excelonline%E3%81%A7%E3%83%95%E3%82%A1%E3%82%A4/5d3f3344-87e7-4977-80c5-600013790290?auth=1 SHEET()ってのもあるみたいでどうにかすれば行けそうな気もしたけどやっぱり無理だった
223 名前:デフォルトの名無しさん [2019/03/24(日) 23:27:39.47 ID:APHXkx0k.net] スクレイピングならJSで良いと思うけど何が何でもVBAなの? 何か幼少期に家庭的な問題でお父さんから虐待されてたとか?
224 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 23:39:48.89 ID:3fqiTHWE.net] pythonスレのスレタイに、ruby禁止と入れて、スレ立てしている奴は荒らしだよ lodash 禁止とか、jQuery 禁止とか、ライブラリの話は禁止とか書いて、 テンプレを勝手に改変して、スレ立てしている奴は荒らし 色々なスレを荒らしてる 相手をすると居つくから、相手をするな!
225 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 23:41:24.84 ID:dT6Xb8jy.net] 次スレはここもRuby禁止をスレタイに入れよう
226 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 23:46:49.32 ID:3fqiTHWE.net] スクレイピングのために、xampp, PHP を学ぶのはキツイ。 Ruby, Nokogiri, Selenium WebDriver で良い。 JavaScript, jQuery も呼び出せるし VBScript のスレ主のピッコロ大魔王のように、 VBScript, PowerShell で、.NET のライブラリを使って、5ch をスクレイピングする猛者もいるけど、これもキツイ 書きやすいのは、やっぱりRuby!
227 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 23:52:43.94 ID:aL5blMH8.net] という荒らしがいるのでruby禁止をスレタイに入れるのは賛成だ
228 名前:デフォルトの名無しさん [2019/03/25(月) 00:01:34.20 ID:PcSty2cw.net] スクレイピングってその分野なら必須なのでVBAなんて低速非効率でするなんて馬鹿げてる
229 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 00:18:14.82 ID:QHkTeEIZ.net] エクセル方眼紙で出来ることの限界に挑む
230 名前:デフォルトの名無しさん [2019/03/25(月) 00:44:08.18 ID:hbWmkRbh.net] 極めると魔法使いになれる
231 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 12:33:19.91 ID:O3TyiYmg.net] バカだよなあ。 どんな言語でも出来るがVBAでやるのが最適な場合の質問だろ。 VBAのスレなんだから。 スクレイピングのためにxampp,PHPを学ぶんだよ。 それが最適なら。 Rubyが最適ならRubyでやれ。 でもここではVBAが最適という前提。 オマエの能力が低くてVBAで答えられんことなんか知らん。
232 名前:222 [2019/03/25(月) 23:50:42.64 ID:mW0SiMKO.net] スクレイピングのために、Apache, MySQL, PHP を学ぶのは、難しすぎる Ruby なら、PowerShell から、1-liner で、 Rubyで作られた遅いウェブサーバー、WEBrick が起動する ruby -run -e httpd . -p 8080 そのフォルダに、index.html があれば、 何も考えなくても、これでブラウザからアクセスできる localhost:8080 DB は、sqlite3 で良い。 sqlite3.exe なら、外部プロセスとして起動できるし、 sqlite3.dll なら、Rubyプロセス内に、DLLを読み込めばよい それに多くのブラウザは、内部で、sqlite3 を使っている。 MySQL は大げさ そもそも単に、CSV・テキストファイルに、保存しちゃダメなのか?
233 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 00:19:09.71 ID:oh514UWC.net] ruby禁止
234 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 01:15:56.88 ID:H+8MTdhM.net] いつからスクレイピングとはWEBサーバを立てる事になったんだ
235 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 01:19:51.23 ID:LqY+kMaC.net] スクレイピングの速度を上げすぎるとDoSと勘違いされない? pythonとかならちゃんと犯罪にならないレベルで収まるよう対策されてるの?
236 名前:222 mailto:sage [2019/03/26(火) 02:40:19.99 ID:gZH84WWp.net] wget が、再帰的クローラーのコマンドだけど、オプションでwait 時間も設定できる。 wgetの方が、curl よりも高機能 xampp には、Apache が含まれているから、web サーバーも立てたいのかなと思って
237 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 08:11:44.77 ID:uoYW3oSf.net] 次からruby禁止をスレタイに入れよう
238 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 09:52:19.15 ID:6lKUP98X.net] バカは自分の無能を言い訳に相手の望まない案を提案する。 誰もRubyでやってくれなんて言ってないんだが。
239 名前:デフォルトの名無しさん [2019/03/26(火) 09:56:34.73 ID:YksIzQQu.net] VBAを覚えても馬鹿にされるだけだしVBA程度でプログラミング出来ますって言えないし 本当に辛いよな
240 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 10:13:52.38 ID:uoYW3oSf.net] >>235 >VBAを覚えても馬鹿にされるだけ どこで? これぐらいは基本スキルと思う >VBA程度でプログラミング出来ますって言えない 誰に大して言うの? vbaは一般事務や営業が楽するためのツールだよ vbaプログラマーなんて滅多にいない
241 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 11:33:39.48 ID:HkFlKNPk.net] 昔は同時接続5つくらいまでみたいなマナーのようなのがあったが、今はどうなの?
242 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 11:43:27.57 ID:v6BkG2hM.net] >>236 そりゃそうだ ところで他言語連携って、A言語で作ったライブラリをB言語から呼び出すパターンと、 時間的同期を意識しなくていいバッチ的なももの組み合わせみたいなものしかイメージないんだけど、 イベント連携しながら運用するようなパターンもよくあるの?
243 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 12:18:27.89 ID:uoYW3oSf.net] >>237 図書館のサーバーに大してかなり気を使ってスクレイピングしたにも関わらず、電子計算機損壊になった例もある どこまでokとかは言えない
244 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 12:32:19.25 ID:6lKUP98X.net] >>235 いや、普通に言うけどね。 C、C++、Java、VBAとかって。 それに、VBAを使うべきじゃないと言う時もある。 でも、ここで他言語のことを言う奴ってVBAの方が完全に良い場合に他のが良いとか言う無能が多いからなあ。
245 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 12:32:53.04 ID:6lKUP98X.net] >>239 普通は相手に許可を取るもんだけどな。
246 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 12:34:55.56 ID:ke9zWH00.net] >>240 シートにデータ張るくらいの簡単なものなら インタフェースできてるからVBAが一番楽。
247 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 12:35:47.09 ID:uoYW3oSf.net] >>241 取らないよwww
248 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 12:43:36.07 ID:6lKUP98X.net] >>243 遊びでやってるならどうぞw 事務でも仕事なら取るべきだ。
249 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 12:46:04.30 ID:uoYW3oSf.net] 許可は取らないけおd、API作ってくれとは連絡するかな
250 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 12:55:18.22 ID:DPMd1MEr.net] VBAのエディターにはVSみたく行番号を表示する機能は標準では備わっていないのでしょうか?
251 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 13:06:52.15 ID:LqY+kMaC.net] >>246 ない フリーウェアの助けが必要
252 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 13:14:58.60 ID:uoYW3oSf.net] 昔使ってたな https://qiita.com/ynakayama/items/ef35966f1e456392ec93 たまに欲しいけど、別に無くてもいいかなって
253 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 13:16:03.76 ID:DPMd1MEr.net] >>247 サンクス VSと比べていろいろと中途半端ですね。 C#でこれまではずっと開発してましたが Excel台帳ベースのシステムを組む事になったので 今回は、VBAで開発してます。 大体のことはVBAでできるけど、本格的な開発はやはりVS使わないとダメですね。
254 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 16:55:11.90 ID:LqY+kMaC.net] >>249 ワークシートなどを含むExcelオブジェクトはVSからでも普通に読み書き操作できるぞ 使っていいんならVSで開発すればいい
255 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 17:24:40.03 ID:DPMd1MEr.net] >>250 ちょっとした文字列操作とかスクレイピングだから VBAの方が楽かな〜と思って今回数年ぶりにVBAいじってます。
256 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 18:32:26.11 ID:1ujvGqyy.net] ちょっとした文字列操作とスクレイピングってVBAが一番苦手なやつでは
257 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 18:42:15.15 ID:uoYW3oSf.net] ・スクレイピングは深夜にcron+phpで行ってサーバー上に保存 ・vbaはその結果を取得 の二段構えが楽と思うけどな 文字列操作はどんな言語でもなんとかなるやろ EXCELに入れるとunicode周りが死ぬけど
258 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 18:53:14.39 ID:1ujvGqyy.net] cron使える環境ならphpなんて大層なもん入れなくてもcurlとかwgetでよくね
259 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 18:57:02.87 ID:uoYW3oSf.net] どうなんだろうな 俺はもうスクレイピングなんかに多言語勉強したくないから、cronからphp叩いてどうのこうのしている vbaはもう完全に後始末で、骨拾うだけ
260 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 20:15:40.62 ID:OL2Ik/OA.net] スクレイピングの主役は通信じゃない winsockでもwgetでもbitsadminでも良いから取ってきたファイルをどうするか教えてくれよ
261 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 21:08:44.89 ID:DPMd1MEr.net] >>253 ログインしないと見えないデータなんだよ なのでクライアントでの取得必須
262 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 21:16:14.33 ID:IZpVJLyd.net] んなもん2段階認証とかじゃなければセッションなりクッキー投げるだけやん 取ってきたファイルはパーサーに食わせるなり正規表現でゴリゴリするなりだけど そのどちらもVBAはとても苦手な分野やで
263 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 21:25:26.00 ID:/NHGfRej.net] 認証とかhtmlパーサとかJSエンジンとか 大抵はその辺をIE操作で賄うモノだと思ってたけど自分の認識が違ったらしい
264 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 21:25:56.25 ID:DPMd1MEr.net] >>258 あんちゃん詳しいな〜 そーいうのやったことが無い。 試しにやってみようかな。
265 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 22:18:57.15 ID:uoYW3oSf.net] basic認証なんかは瞬殺だけど、 セッションとかクッキーになると、諸々含めてphpにした方が良い。というかchrome拡張が一番楽 httpsやらUA絡みだすと小生無理!ってなる。
266 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 22:19:38.30 ID:uoYW3oSf.net] vbaはwebに向いてないってことだけは覚えておいて欲しい それだけなんだ
267 名前:222 mailto:sage [2019/03/26(火) 22:45:37.41 ID:gZH84WWp.net] ログインするなら、Ruby, Selenium WebDriver で、ブラウザを自動操作すべき。 iMacros でも良いけどさ >>222 に書いてある通り
268 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 23:07:10.89 ID:DPMd1MEr.net] >>261 年齢を重ねると新しい技術を学ぶのが億劫になるんじゃよ
269 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 23:28:35.45 ID:Q3YSvizA.net] Excelマクロについて全くの無知でみなさんにお伺いしたいのですが、マクロで画像のような操作は可能でしょうか?会社の書類作成事務の効率を上げたく… スレ違いでしたらすみません。https://i.imgur.com/xF5hatf.jpg
270 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 23:38:24.00 ID:WFGn9NdD.net] >>265 VLOOKUPで余裕でしょ マクロなんか要らん
271 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 23:41:30.56 ID:oc5f3itp.net] >263 rubyがゴミ言語って事はよくわかった
272 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 23:53:51.99 ID:DPMd1MEr.net] 今更ではあるけれど、C#やVB.netで開発しなくても だいたいVBAでできるな〜 結局データの保存先がDBなどではなく Excelとかだから最初からVBAで開発しておけばよかったと若干公開
273 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 23:55:07.78 ID:KxwbGcFA.net] みんながExcelを起動しているとき、 俺の画面だけJexcelだったら格好いいのに・・・。
274 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 00:00:46.69 ID:b6YT5YdE.net] >>265 大体こういうこととは思うが https://dotup.org/uploda/dotup.org1806820.zip.html もう少し詳しく伝えてもらわんとなんここっちゃわからん とりあえずvbaは不要で、 vlookup、indek+matchの合わせ技になる
275 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 06:10:59.97 ID:6zpqUxeP.net] >>267 >>270 ご親切にありがとうございます!やってみます!
276 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 07:18:37.18 ID:g4NvvqYE.net] >>244 YahooやGoogleなどの検索エンジンはいちいち許可とってるのか?
277 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 08:05:19.82 ID:qB5RyyD6.net] >>239 もし岡崎図書館のことを言ってるんなら、一度は逮捕されたけど結果は不起訴で、逆にシステム管理者側が謝罪までしてるんだけど
278 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 08:22:43.90 ID:VuG/f/aB.net] 馬鹿が設計した糞検索システム
279 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 08:30:41.26 ID:/DQA1U1P.net] >>245 >>272 コミュニケーションが取れない人なのか、知ったかなのか、それとも趣味でやってるだけなのか知らないが、そもそも図書館事件と言えば岡崎市の事件のことだろ。 本当に事件のこと知ってるのか? 図書館側のシステムに問題があったとしても、了解を求めることなくこういうことをするのが問題なのはマナー上当然のことだろうに。 そもそも、ここで言われてるのが岡崎市の事件と全く同じようにアクセスするわけでないのは当然だから、大量アクセスを否定した話にすらなっていない。 こちらの行為について迷惑だと判定するのが向こう側なのに、こっちの勝手な判断に従って了解を求めることすらしないじゃ趣味といわれても仕方ない。 >>239 に対して許可を取るのが普通という発言を受けて「API作ってくれ」と連絡するってのが、全く意味が分からん。 コミュニケーションって分かる? 相手にこちらが何をしたいかも伝えずにAPIの話をするんかねw
280 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 08:32:19.22 ID:/DQA1U1P.net] >>273 有名な事件だから顛末はすべて分かってるけど、これ以降、連絡するのはマナー上当然という流れになってると思うが。
281 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 08:33:13.53 ID:g4NvvqYE.net] >>275 お前、何いってんの? 図書館の問題なんか関係ないわ。そんな話はしていない びっくりしたわ コミュニケーションが取れない人ってお前自身じゃね
282 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 08:50:55.41 ID:qyHdViw9.net] コミニュケーションつかマウント取りたいだけ。 マウント取るため勝手に論点ずらし、話題変更。
283 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 08:51:51.44 ID:g4NvvqYE.net] NGIDでもしとくか
284 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 09:05:24.83 ID:/DQA1U1P.net] >>277 それまでのやり取り見てから言えよ。 お前は>244に対して発言してるんだろ。 >>244 の話の起点は>>239 なんだよ。 そんなことも分からないからコミュニケーションが取れないと言われるわけだw
285 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 09:09:47.26 ID:/DQA1U1P.net] >>277 それと、誤解を与えたと思うが、そもそもの知ったかとかコミュニケーションとかは>>245 に対して言ってたつもり。 たまたま、タイミング良く>>272 の発言があったから、一緒にアンカーつけたけどな。
286 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 09:18:24.88 ID:/DQA1U1P.net] >>275 は >>237 、>>239 、>>241 ときて>>245 の意味が全く分からなくての発言だ。 岡崎事件を挙げて、どこまでokとかは言えないと言っておきながら無断でスクレイピングすると言ってる。 全く意味が分からねえ。
287 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 09:29:20.58 ID:7IO5xMdH.net] スクレイピングで許可がいるってどういう時だ? そもそもスクレイピングってブラウザの手動操作を経由しないGetリクエストが全部該当しちゃうの?
288 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 09:46:33.15 ID:tQ4XPcUj.net] 頻度の問題なんだよ 秒間一回のリクエストで逝くゴミサイトだろうが、それで迷惑がかかるなら業務妨害になる可能性がある 検索エンジンは特定のサイトに頻繁にポーリングかけたりはしない
289 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 10:07:46.17 ID:1/Djbd0f.net] マナーとかいう自分ルールでマウント取ってるだけだから無視でいいよ
290 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 10:38:41.64 ID:SENvFn41.net] >>283 ループコードでブラクラといってくる 無能警察(兵庫県警)がいるからそこだけ問題
291 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 10:46:27.13 ID:7IO5xMdH.net] >>284 スクレイピングで検索しても頻度のことは言っておらずループで回すこととも結びつかない解説が多いんだよね。 だから「ボタン押す都度なんかやる」ってだけのプログラムも対象になりうるんじゃないかと心配になる。
292 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 11:09:17.76 ID:g4NvvqYE.net] なんか左の番号に抜けがたくさんあるんだが、発狂でもしてんの?w
293 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 11:15:22.00 ID:1/Djbd0f.net] そういうあぼん報告が一番ダサいし荒らしと同程度に邪魔
294 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 11:20:36.67 ID:g4NvvqYE.net] そうかい、悪かったなw
295 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 12:16:26.49 ID:qB5RyyD6.net] 無能な警察が存在するのは事実なんだから、その対策もエンジニアは考えておくべきだな 対策せずに逮捕されても自業自得
296 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 14:45:35.60 ID:SENvFn41.net] 兵庫県警の無能さを舐めたら逮捕されるで https://trendy15.info/29563/
297 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 18:22:44.74 ID:/DQA1U1P.net] >>285 >>237 で始まったマナーの話なのに自分ルールにされる
298 名前:フは如何なものか。 [] [ここ壊れてます]
299 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 18:25:48.12 ID:1/Djbd0f.net] だから無視しろって言ってんだろ
300 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 18:40:43.91 ID:/DQA1U1P.net] >>294 ん、俺を無視しろと言ったんじゃ無いのか?
301 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 18:51:37.49 ID:5WFP8xQ3.net] 図書館の奴は ddosでも無いのに拘留期間が長かったのが問題だと自分は思ったな当時
302 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 19:45:35.45 ID:BAe8z9/n.net] IT分野に関しては日本はシナにも劣る土人国。 winny潰しも酷かったな。
303 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 23:33:40.70 ID:SENvFn41.net] コインヘイブの件しかり日本警察のIT力は 世界最下位
304 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 04:24:21.91 ID:Wtvk2F5L.net] スクレイピングは、1日1回までなら大丈夫。 検索エンジンは、そうしてる 相手のrobot.txt に書いてある 何回もリロードすれば、手動でも、営業妨害で逮捕される。 だからテストでも、他人のサイトには、絶対にアクセスしない とにかく、相手の業務を妨害したら、逮捕されるだけ
305 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 08:57:55.98 ID:5jfiWKtJ.net] >>299 適当すぎる 図書館の件は何も分かって無い警察の見せしめ逮捕だよ 罪状も計算既損化い
306 名前:トレード神 mailto:sage [2019/03/28(木) 09:14:56.43 ID:iot7Ha6W.net] >>300 兵庫県警がそもそもバカだから それが問題 1日1回とか遠慮しすぎ
307 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 09:53:33.46 ID:KGU9QSs8.net] 兵庫の件は馬鹿が権力を持つとどうなるかの良い見本
308 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 10:53:27.70 ID:l7H13VPO.net] スクレイピングは違法?3つの法律問題と対応策を弁護士が5分で解説 https://topcourt-law.com/internet_security/scraping-illegal 以下、抜粋 3.スクレイピングと著作権 コンピュータによって情報を解析することが目的である場合には、例外的に著作権者の同意を得ることなく、 スクレイピングによって取得した他社情報などを記録媒体に記録したり翻案することができます 4.スクレイピングと利用規約 ユーザーが利用規約(スクレイピングを禁止する内容が含まれているもの)に同意していることが必要になります。 ユーザーが利用規約に同意することにより、ユーザーは「スクレイピングをしない」義務を負うことになる 5.スクレイピングとサーバ負荷 偽計業務妨害罪が成立するかどうかは、スクレイピング行為によって相手方の「業務を妨害したか否か」が 判断基準になるところ、スクレイピングによって何回アクセスしたら違法で、反対に何回までなら合法です、 といった基準はありません ただ、Librahack事件は一つの目安になると思われます。この事件では、 逮捕された者が1秒に1回の頻度で1日2000回のスクレイピングを試みた点について、 サーバに負荷をかけたとまではいえないとの見方もあります。 この判断は、まだ合法とのお墨付きを与えるものではありませんが、仮にスクレイピングをするとしても 「自然検索の範囲内」で対応するのがベターかもしれません
309 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 11:10:36.15 ID:BrBnWuaI.net] させたくない側が、されない・させないための対応・対策に参考になります
310 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 11:35:08.61 ID:TXhBN1cl.net] 岡崎図書館の時に、IT
311 名前:ニ界の識者が集まって講演会をやったんだけど、 専門用語を使わずに素人にも理解できるように説明する能力がプログラマーにも求められる、みたいな意見も出てた そうしないと自衛もできない [] [ここ壊れてます]
312 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 11:54:05.51 ID:HLZueckG.net] >>303 そのページ見たけど「スクレイピング」も「クローラ」も曖昧にしか定義されてないね。 ループでぐるぐる回してるかどうかなんて観点は全くなさそうだ。 HTTPリクエストはプログラムだけどブラウザはプログラムじゃないと思ってるんだろう。
313 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 12:31:01.04 ID:wSbwELs4.net] 単に合法かどうかばかり論じてるけど、相手に連絡とって、こういうことをしたいって言ってれば捕まることも無かったろうさ。 無断にやったのが問題なんだ。
314 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 12:39:14.95 ID:yd30y0n6.net] >>306 > ループでぐるぐる回してるかどうかなんて観点は全くなさそうだ。 サーバーにはそんな観点は関係ないから当たり前 人海戦術でも業務に妨害を与えることは可能
315 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 12:40:48.59 ID:yd30y0n6.net] >>307 だからそれを突き詰めたらWebページにアクセスする前に許可取れってことになる
316 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 12:50:17.63 ID:wSbwELs4.net] >>309 取れば良いじゃん。
317 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 13:06:23.97 ID:YnObyfLa.net] おまえ5chに許可取ってないだろ
318 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 13:58:01.74 ID:HLZueckG.net] >>308 ならブラウザだって同じ事じゃないか? スクレイピングだけ取り立てて許可だ規制だってなんの恨みでもあるのか
319 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 14:26:42.73 ID:iot7Ha6W.net] まとめサイトは取り締まらない無能な兵庫県警 そここそ5chコピーサイトなんて、スクレイピングしまくりだろ
320 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 15:13:29.76 ID:yd30y0n6.net] >>310 まあ、頑張れw >>312 だからスクレイピングだけ云々はおかしいって話をしてるんだが…
321 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 16:56:38.72 ID:HLZueckG.net] >>314 どうも君のスタンスがよくわからんな スクレイピングもブラウザもサーバ側から見ると機能に違いはない。 だからスクレイピングだけ云々はおかしい。 ただしスクレイピングは一人でも超高頻度のクエリー投げることができて、そういう運用については制約が必要だ。 よってスクレイピングについての記事は頻度についての言及をすべきだろう。 ↑ 俺のスタンスはざっとこんなもんだが違うのか?
322 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 18:19:07.66 ID:vLmtjJZv.net] >>315 > ただしスクレイピングは一人でも超高頻度のクエリー投げることができて、そういう運用については制約が必要だ。 一人かどうかとかも関係ない 1,000,000人集めて人手なら業務妨害に当たらないとか無いだろ
323 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 18:29:37.80 ID:HLZueckG.net] >>316 同じなのは業務妨害になるという結果だけだ。 人手でも業務妨害になるという主張をするなら「多人数集めて一斉にやったら」という但し書きが必要だろ? スクレイピングについても「高頻度にやったら」という但し書きが必要なのは当然だ。 そういう条件を付けないと、リテラシーの低いやつがルールを機械的に適用するぞ。
324 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 18:38:56.13 ID:4sDP5yAV.net] 中学生がF5連打して逮捕されるやつ
325 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 18:39:42.93 ID:su6DvUn3.net] 図書館の話は迷惑行為であるが刑事犯罪になんかならないよ 業務妨害とか言ってる奴はそれを笠に着て自分が然も凄いが如く言いたいだけの奴
326 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 19:12:07.44 ID:vLmtjJZv.net] >>317 > 人手でも業務妨害になるという主張をするなら「多人数集めて一斉にやったら」という但し書きが必要だろ? > スクレイピングについても「高頻度にやったら」という但し書きが必要なのは当然だ。 プログラマーに向いてないね そんな但書は要らん サーバーに対するリクエスト数を制限するだけでいい
327 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 19:28:34.20 ID:5jfiWKtJ.net] >>313 誰も被害届出してないから
328 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 19:37:20.19 ID:zggdcEf4.net] >>320 >>303 にあるような記事は一般人向けのものであり、一般人はそれを読んでスクレイピングの 定義を知った気になってしまうのだ。
329 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 19:46:13.69 ID:iot7Ha6W.net] 無能兵庫県警をなめたら逮捕されるぜ
330 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 19:51:14.41 ID:xFQ00KNs.net] リクエストだけの問題じゃない WEB鯖の場合、セッションを確保したままにするとアクセスしなくてもリソースをどんどん食い潰してくという厄介な仕様があってだな
331 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 19:56:49.67 ID:fRHhg+J8.net] >>324 そんなものはサーバー側の設定でなんとでもなるだろ
332 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 20:04:40.58 ID:O79akzCM.net] レンサバやと無理やで
333 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 20:36:18.92 ID:A3r+RL12.net] この前はDBだかSQLだかの話を何日も延々と 今度はスクレイピングの話を延々と 別スレでもたててそこでやれよ
334 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 20:52:55.75 ID:GAoTTZZk.net] スタンスにゴン
335 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 21:04:10.10 ID:O79akzCM.net] 技術的な知識も現実的な場数も足りてないから頓珍漢な議論しか出来ず しかも煽り会っているから永遠に終わらないのだ
336 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 21:04:30.98 ID:GfRjulTl.net] >>326 むしろレンサバだと提供者がそういう設定してるだろ
337 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 21:05:00.71 ID:GfRjulTl.net] >>329 自己紹介かよw
338 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 21:35:58.12 ID:O79akzCM.net] >>331 ところで何のために煽ってるの?何か得するかいい気分になるの? そこまで生産性の無い事をする気持ちが良く分からない
339 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 22:00:45.02 ID:fRHhg+J8.net] > ところで何のために煽ってるの?何か得するかいい気分になるの? > そこまで生産性の無い事をする気持ちが良く分からない >>329 みたいなこと書く奴が何を言ってるんだよ…
340 名前:デフォルトの名無しさん mailto:sage [2019/03/28(木) 22:06:21.95 ID:RWzvd4oq.net] もはやVBAとは何の関係も無い
341 名前:デフォルトの名無しさん mailto:sage [2019/03/29(金) 08:21:18.11 ID:FHKNInbw.net] 捕まるとかそういう話に終始してるのがアホらしい。 トラブルになった時点で負けだろう。 スクレイピングでのトラブルは探せば色々見つかるだろう。 時間割アプリの問題とかLinkedInとか。 殆どがコンタクトを取っていれば防げた問題。 もっとも中には許可されないことが分かってて確信犯的に無断でする場合もあるが。
342 名前:デフォルトの名無しさん mailto:sage [2019/03/29(金) 13:03:28.66 ID:HmBCV24x.net] 【速報】金券500円分タダでもらえる https://pbs.twimg.com/media/D2y3uRaUkAAt6d9.jpg @タイムバンクをインストール iOS: https://itunes.apple.com/jp/app/%E3%82%BF%E3%82%A4%E3%83%A0%E3%83%90%E3%83%B3%E3%82%AF/id1253351424?mt=8 Android: https://play.google.com/store/apps/details?id=jp.timebank A会員登録 Bマイページへ移動する。 C招待コード→招待コードを入力する [RirzTu] コードを入力した方に600円もらえます 今なら更に500円ギフト券を貰った残高からただで買えます。 貰ったギフティプレモはAmazonギフト券(チャージタイプ)に交換できます(電子マネー払いにて) 数分で出来るので是非ご利用下さい
343 名前:デフォルトの名無しさん mailto:sage [2019/03/29(金) 17:02:06.83 ID:Ozum7hk2.net] >>334 関係ないのに永遠に続けるバカっているよな
344 名前:デフォルトの名無しさん [2019/03/29(金) 18:38:03.39 ID:NYOzkE7a.net] >>336 残高マジで増えたwww
345 名前:デフォルトの名無しさん mailto:sage [2019/03/29(金) 18:58:02.78 ID:Ozum7hk2.net] >>336 これを自分の招待コードに差し替えて拡散すれば勝手にポイントガッポガッポやで
346 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 00:05:18.82 ID:K763EDhF.net] Cells(1, 1).Value = "〒111-222" & vbCrLf & "東京都新宿区XXXマンション" & vbCrLf & "西村ひろぽん" のコードでセルに改行コード crlf 入りの文字列を入力し Excelのセルの値をメモ帳に張り付けるとこんな感じになってました。 〒111-222 東京都新宿区XXXマンション 西村ひろぽん crが余計に1つ多くvbcrlfの前に入ってしまいます。 コードでは入れていないのですが、なぜでしょうか?何か対策はありますか?
347 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 00:46:09.75 ID:Bc/A+ZhT.net] >>340 コードの時点ではvbLfにすればいい
348 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 01:05:53.94 ID:BYxrD6lc.net] >>340 再現しなかった vbcrが2つ入ってたらそうなるけど、ハテ
349 名前:デフォルトの名無しさん [2019/03/30(土) 02:01:07.03 ID:GNmeMRzR.net] VBAなんて全くできないんだけど エンジニアってこれよりずっと難しいことやってるんでしょ?
350 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 02:21:31.67 ID:BYxrD6lc.net] >>343 このスレは基本的に一般事務・経理・営業が、現在のルーチンを補助するためのツール作成がメイン エンジニアはEXCEL自体を作るようなイメージ でもvbaエンジニアもいたりするし、こういうツールを作る事を生業にしている業者もある
351 名前:デフォルトの名無しさん [2019/03/30(土) 03:03:59.52 ID:Lscb2BBn.net] >>340 Cells(1, 1).Value = "〒111-222" & vbLf & "東京都新宿区XXXマンション" & vbLf & "西村ひろぽん" セル内改行はLFのみだよ
352 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 03:59:45.09 ID:x88rhneO.net] >>339 スパム拡散させようとすんなカス
353 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 07:57:38.98 ID:K763EDhF.net] >>341 はい、確かにVBAで挿入する時には それでうまくいきました。 セルの値をコピーすると 文字列lf →文字列crlf に置き換わってました。 なぜだろう。 >>342 いや、再現しますよ。 >>345 サンクス。 とりあえずVBAではおまじないと覚えておきます。
354 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 08:04:35.59 ID:MmqNwO70.net] 素直に Cells(1, 1).Value = "〒111-222" Cells(2, 1).Value = "東京都新宿区XXXマンション" Cells(3, 1).Value = "西村ひろぽん" じゃダメだったのかい!
355 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 08:43:12.88 ID:Bc/A+ZhT.net] >>347 試してみたら CR → CRLF LF → CRLF となった。 つまりCRもLFも別個にCRLFに変換されてしまうようだ。
356 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 09:05:05.65 ID:sUXpnQB5.net] >>349 それOS依存だろ OSに合わせて変換だと思った
357 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 09:13:46.28 ID:FTZFsy98.net] vbNewLineが颯爽と登場
358 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 09:55:31.40 ID:rKCbbHqC.net] お母さんからvbNewLineを使いなさいって言われてるから初心者の俺も使ってるわ
359 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 10:59:51.98 ID:rKRPcC1u.net] crとlfを意識して使い分けたいから、newlineはあえて使わないな
360 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 11:00:14.19 ID:Fw0ogXHz.net] android版はVBA使えないしMacなんか使わないからvbCrLfで困らない
361 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 11:38:26.16 ID:BYxrD6lc.net] 本日の戦い vbNewLineでよくね派 vs vbNewLine使うと余計に混乱してしまう派
362 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 12:05:31.96 ID:Bc/A+ZhT.net] >>352 vbNewLineてテキストの改行だろう セル内改行とは違うじゃんか
363 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 12:07:01.20 ID:sUXpnQB5.net] >>355 初心者を扱うの大変なんだよな だから混乱が起きた
364 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 12:08:46.76 ID:sUXpnQB5.net] >>356 どうでもいいよ どうせ
365 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 12:42:55.38 ID:MmqNwO70.net] そもそも何でCRとLF、2つも作ったんだろ。 見えないのもうざいから、ワードみたいに | | ←┘ こういうの入れとけよな。
366 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 12:51:14.77 ID:K763EDhF.net] >>348 ダメ >>349 >>350 変な仕様だよね
367 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 13:21:22.36 ID:BYxrD6lc.net] >>35
368 名前:9 歴史ってとこ https://ja.wikipedia.org/wiki/%E6%94%B9%E8%A1%8C%E3%82%B3%E3%83%BC%E3%83%89 統一規格の概念が希薄だった時代にみんな好き勝手作って、それがずっと続いてる 最悪 [] [ここ壊れてます]
369 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 13:34:00.20 ID:HZnZWzso.net] タイプライターとかMulticsとかの時代にさかのぼる負の遺産だからね
370 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 13:43:10.56 ID:lnhNxPid.net] >>359 > そもそも何でCRとLF、2つも作ったんだろ。 その話をするとタイプライターの時代まで遡るからとりあえずそう言うもんだと覚えておけばいいよ
371 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 13:47:06.57 ID:glDBW/eM.net] >>340 Excelは何も置き換えてない Excelがセル内改行として扱うのはLFだけ CRLFを突っ込んでもCR部分はただの見えない文字として存在してるだけで改行しない セルの文字列をコピペした時CRLFのうちLFがCRLFに置き換わってCR CRLF状態になる(Windowsの場合。他は知らん) それをCRを改行として扱うテキストエディタとかに貼ると両方改行して6行になる 俺の使ってるメモ帳はCRとLFは改行として扱われず見えない文字になるが、バージョンによるのか
372 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 22:50:12.86 ID:uS2atdcl.net] こんなの見つけた tooljp.com/windows/chigai/html/Windows/vbCrLf-vbLf-vbCr-vbnewline-chigai.html
373 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 22:52:52.36 ID:uS2atdcl.net] 続き ここに、こんなの書いてある 秀丸エディタでは、改行が chr[10]でもchar[13]+char[10]でも自動で判定して表示するようです。 一方でWindows標準のメモ帳では改行はchar[13]+char[10]固定であるため、linux などchr[13]を改行とした テキストファイルを表示すると改行せずに表示されます。
374 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 22:55:39.71 ID:uS2atdcl.net] つまり、メモ帳は、CrLfセットでないとダメだって
375 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 23:04:27.71 ID:glDBW/eM.net] >>367 というかWindows標準がCRLF 秀丸やサクラエディタが融通を効かせてくれてるだけ
376 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 01:25:13.65 ID:QUGB5Esi.net] プログラミングやると文字コード鬱陶しいよな
377 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 02:24:23.24 ID:DMnS82C2.net] webの文字コードは更にキツイ 最近大分マシになったけど
378 名前:デフォルトの名無しさん [2019/03/31(日) 04:23:05.94 ID:8cbdf+T7.net] 秀丸エディタとか今でも使ってる人なんているの? 久しぶりに名前を聞いた
379 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 07:02:58.77 ID:m7bBr8R/.net] >>371 お前はなにを使ってるの?
380 名前:デフォルトの名無しさん [2019/03/31(日) 09:25:24.80 ID:rZDtkSri.net] 新バージョンの 禿丸ツルピカなら使ってる
381 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 09:32:08.99 ID:mUt6la4P.net] TeraPad でも、改行コードを指定できる ただし、TeraPadは、新しめの文字が?? になってしまう 中国の地名の「深圳」とか
382 名前:デフォルトの名無しさん [2019/03/31(日) 09:43:08.67 ID:S96NH+nt.net] >>372 VS
383 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 11:13:47.65 ID:7pZaUVM7.net] MacはCr、Unix/LinuxはLf、WinはCrLf
384 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 14:47:15.91 ID:p4bbm5us.net] >>359 元はテレタイプのコードだからね テレタイプではCRでカーソルを行頭に復帰 LFでカーソルを行送りとなり合わせて改行になる CRだけではカーソルが行頭に復帰するだけで行は変わらない LFだけではカーソルが次の行に送られるだけで桁位置は変わらない こういう仕様だった
385 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 16:38:53.91 ID:7pZaUVM7.net] 文字コードといえばワード・パワポもエクセル連携の観点では曲者 段落区切りの改行がCR、段落内改行がVTになるからな 単純な文字列貼付でいけると思ってると見事にハマる
386 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 16:59:27.49 ID:m7bBr8R/.net] Windowsは、CrLfセットで改行なのに、>>340 みたいになるっておかしいだろ
387 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 17:05:24.30 ID:x94da/wE.net] >>379 CrLfだからそうなる Excelの改行とWindows標準改行の扱いの違い
388 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 18:57:30.32 ID:2QHIj7Qu.net] >>359 キャリッジリターン、ラインフィードの2つの単語を覚えておこう。 どういう意味かは自分で調べてね。
389 名前:デフォルトの名無しさん [2019/03/31(日) 19:02:18.98 .net] >>336 今日までか 貰ってアプリは消した
390 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 22:08:25.87 ID:cn1K3c+R.net] ラインフィード →ラインがご飯を与える
391 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 01:45:18.74 ID:nOieNnAu.net] キャリッジ・リターン 復帰 ライン・フィード 改行 CR+LF 復改
392 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 01:50:34.29 ID:9/xHbeRR.net] 知識自慢
393 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 09:33:56.36 ID:MjMweJle.net] >>385 昔はプリンタで普通に使ってたぞ
394 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 09:34:13.23 ID:MjMweJle.net] >>385 昔はプリンタで普通に使ってたぞ
395 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 09:34:33.41 ID:MjMweJle.net] >>385 昔はプリンタで普通に使ってたぞ
396 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 10:54:00.54 ID:egjDjXMe.net] 爺さんの常識は今の非常識
397 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 11:14:26.77 ID:kXJ+CJ6I.net] よくこんな話題で何日も盛り上がれるな マウント取るにしても内容の程度が低すぎるでしょ
398 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 11:17:49.51 ID:9/xHbeRR.net] 別の話題 VBAのエディタしょぼくね? VSの方がよっぽど開発効率がいい
399 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 11:40:46.78 ID:kgDolq/Y.net] >>391 そりゃ作られたの20年前でレガシーもいいとこだからな だいぶ昔からdeprecatedフェーズだからどれだけ要望があろうと改善されることもない
400 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 14:11:47.96 ID:9/xHbeRR.net] >>392 Exce2010の時と比べても VBAエディタな〜〜んも機能改善されてねー
401 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 15:12:27.18 ID:no59bRT+.net] >>393 そもそもレガシーでありMS的には使ってほしくない機能なんだから、 不便すぎてユーザーが減っていくことがまさに「改善」なんだよ 気に入らないのはわかるが古いものを新しくしていくっていうのはそういうもの
402 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 16:18:15.03 ID:FTeB9oqU.net] 企業が年寄の使用を嫌うのと同じかw
403 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 21:40:54.00 ID:gJhvzDut.net] それでも利益的には無視できないだろう もし切るならとっくに切ってる 別に移行するにも何にどう移行するのか? lotusも無くなったからそんなに恐れる必要も無いけど free系officeも敵ではないだろうし 狙いはcloud系か何かなんだろうけど 開発の人はどうにでもなるだろうけど excelvbaは素人系だからなぁ
404 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 21:53:42.68 ID:IAvZX1Rk.net] 古いExcelを令和対応させるVBA作ってください!!
405 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 22:28:03.19 ID:StNYHPUb.net] If Cells(1 ,1) > 43585 Then wstrGengo = "令和"
406 名前:デフォルトの名無しさん mailto:sage [2019/04/02(火) 00:18:55.85 ID:rWuIv4od.net] >>397 マイクロソフトがパッチだすのまて
407 名前:デフォルトの名無しさん mailto:sage [2019/04/02(火) 00:31:35.68 ID:g8jutNiy.net] まぁ日付形式で書いてりゃいずれ対応するべ
408 名前:デフォルトの名無しさん mailto:sage [2019/04/02(火) 02:17:49.89 ID:GCjhH3yn.net] VBAで簡単な入金管理作った 経験あるんだけど VBAでちょこちょこ するだけでいい仕事って就けるもん?
409 名前:デフォルトの名無しさん mailto:sage [2019/04/02(火) 02:32:45.56 ID:CMqenrji.net] >>401 面接でそういえばいい
410 名前:デフォルトの名無しさん mailto:sage [2019/04/02(火) 08:35:03.23 ID:5I+lN+ly.net] VBA 求人 東京 で調べたら月給50万とか80万とか 出てくるけどほんまなん?
411 名前:デフォルトの名無しさん mailto:sage [2019/04/02(火) 09:24:24.65 ID:g8jutNiy.net] >>403 本当だけど それガッツリとしたVBAエンジニアだよ 多分gitかTortoiseSVN辺り使うはず 【フリーランス】Excel/Access-VBA | 開発知見がある方!システムサポート業務 仕事内容 基幹システム/部門個別システム支援(運用、問合せ、J-SOX対応等) 部門内インフラ管理支援、エンドユーザIT支援、業務用ツール開発 給与
412 名前:デフォルトの名無しさん mailto:sage [2019/04/02(火) 21:44:59.43 ID:ZGIlr/GY.net] >>403 別にVBAでも普通ある。 けど、面接して採用される奴は他にもスキルがあるか、それなりに出来る奴だろうな。 gitや、SVNについては必ずしもってところだろう。 もっとも、VBAのコードを管理するためにgitやSVN用のツールをVBAで組む程度はやれる或いはやってるだろう。
413 名前:デフォルトの名無しさん mailto:sage [2019/04/02(火) 23:38:38.44 ID:z8xG+23/.net] 1989/1/7 → 昭和64年1月7日 1989/1/8 → 平成1年1月8日 2099/1/1 → 平成111年1月1日 3000/1/1 → 平成1012年1月1日 試してみたらこうなった。 令和がまだ入ってないのは分かるが、 1000年後も普通に平成だとは思わなかったわ。
414 名前:デフォルトの名無しさん mailto:sage [2019/04/02(火) 23:44:03.27 ID:dGnjjG+S.net] >>406 どうせならOSとEXCELのバージョンかけや
415 名前:デフォルトの名無しさん [2019/04/02(火) 23:45:56.37 ID:PBWFMMP7.net] >>406 https://dotup.org/uploda/dotup.org1812346.jpg
416 名前:デフォルトの名無しさん mailto:sage [2019/04/02(火) 23:47:51.13 ID:z8xG+23/.net] >>407 どちらか片方ならわかるが、何で両方? 組み合わせで変わるもんじゃないだろう。
417 名前:デフォルトの名無しさん mailto:sage [2019/04/03(水) 01:37:48.37 ID:HquWe5hb.net] >>409 MSはそんな思い込みが通用するほど甘い相手じゃない
418 名前:デフォルトの名無しさん mailto:sage [2019/04/03(水) 02:13:34.41 ID:T6JhjkrS.net] >>406 江戸もでないし
419 名前:デフォルトの名無しさん mailto:sage [2019/04/03(水) 03:03:58.76 ID:SETc7Ceb.net] こういう思い込みをする奴が新年号対応に莫大な人工が掛かる糞システムを作るのである
420 名前:デフォルトの名無しさん mailto:sage [2019/04/03(水) 03:14:27.06 ID:HquWe5hb.net] >>411 シリアル値は1900年から 明治までしか対応できない
421 名前:デフォルトの名無しさん mailto:sage [2019/04/03(水) 07:43:03.53 ID:4XO/CSdW.net] Windows 10・WSL・Ubuntu 16.04 の設定ファイルでは、 +:2:1990/01/01:+*:平成:%EC%Ey年 +:1:1989/01/08:1989/12/31:平成:%EC元年 +:2:1927/01/01:1989/01/07:昭和:%EC%Ey年 +:1:1926/12/25:1926/12/31:昭和:%EC元年 +:2:1913/01/01:1926/12/24:大正:%EC%Ey年 +:2:1912/07/30:1912/12/31:大正:%EC元年 +:6:1873/01/01:1912/07/29:明治:%EC%Ey年 +:1:0001/01/01:1872/12/31:西暦:%EC%Ey年 +:1:-0001/12/31:-*:紀元前:%EC%Ey年
422 名前:414 mailto:sage [2019/04/03(水) 07:55:00.58 ID:4XO/CSdW.net] 明治6年(1873)から正しい それ以前は太陰太陽暦(旧暦)だから、西暦とは異なるから、日本の暦は使えない
423 名前:デフォルトの名無しさん mailto:sage [2019/04/03(水) 12:14:49.07 ID:RhgPGi2C.net] Excel2013以降ならこれで行けると思う Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras] "2019 05 01"="令和_令_Reiwa_R"
424 名前:デフォルトの名無しさん mailto:sage [2019/04/03(水) 20:18:32.12 ID:XzL94EYi.net] 2013ってOSどこからサポートしてたっけ
425 名前:デフォルトの名無しさん mailto:sage [2019/04/03(水) 20:25:25.63 ID:LAo899n+.net] そんなのググったらすぐ出るだろう…
426 名前:デフォルトの名無しさん [2019/04/04(木) 00:26:33.22 ID:2+ZabFqB.net] 新元号は「安平」であります。 https://dotup.org/uploda/dotup.org18123
427 名前:20.jpg [] [ここ壊れてます]
428 名前:デフォルトの名無しさん [2019/04/04(木) 02:37:49.53 ID:2+ZabFqB.net] あ ほ
429 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 09:42:49.96 ID:8+vU6A6d.net] >>416 これは、Office各バージョンで共通で使えるしExcel・Word等でも使えるね 他のアプリでも使えるんじゃない
430 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 10:15:48.02 ID:8+vU6A6d.net] >>416 これは、Windowsのカレンダーに対して日本用の設定を追加してるだけだから Windowsの標準コントロールのカレンダーを使用して正しくコーディングしていれば この設定をするだけで対応できるだろ これを「令和登録.reg」のファイルにして管理者モードで実行するだけだね --下記-- Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras] "2019 05 01"="令和_令_Reiwa_R"
431 名前:デフォルトの名無しさん [2019/04/04(木) 10:47:09.88 ID:2+ZabFqB.net] VBAでfor nextで回しているときにworksheetfunction.vlookupを使っているのですが 値が存在しないときにエラーが出て止まってしまいます。 こんなとき存在しない時は処理を回避するにはどうしたらいいですか? On error resume nextにすると、エラーのときにも処理をしてしまいます。
432 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 10:56:05.80 ID:uGh4IPkF.net] application.vlookup
433 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 11:06:48.53 ID:8+vU6A6d.net] >>423 On error resume next はエラーを無視して続ける On error go to XXXX でえあらーが出たらそっち行け
434 名前:デフォルトの名無しさん [2019/04/04(木) 11:17:40.01 ID:2+ZabFqB.net] >>425 vlookupで見つかったらA処理、見つからなかったらB処理、をそれぞれさせる場合 どうするの?
435 名前:デフォルトの名無しさん [2019/04/04(木) 11:18:13.34 ID:2+ZabFqB.net] そっち行けのあと、ちゃんとfor nextループに復帰しないといけない。
436 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 11:27:09.76 ID:uGh4IPkF.net] 値が存在するか確認してからvlookupでもOK
437 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 12:16:12.36 ID:8+vU6A6d.net] >>427 基本的にgo toの 行先はループ内だな で、正常の場合はそのルーチン内で飛ばす、また共通で使用できる部分はそのまま使う それぞれ複雑になる場合は、外部呼出しで処理
438 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 12:40:19.97 ID:aPtbQ2yh.net] 簡易だけどこんな風でよろしいか。 On Error Resume Next For i=0 To lngRW varValue=WorksheetFunction.Vlookup(〜) If Err.Number=(見つからない) Then 'B処理 Err.Clear ElseIf Err.Number=0 Then 'A処理 Else Debug.Print "想定外:" & vbCrLf & Err.Description EndIf Next i On Error Goto 0
439 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 13:14:42.92 ID:iClvVPMc.net] こうじゃないの On Error Goto err For i=0 To lngRW varValue=WorksheetFunction.Vlookup(〜) '処理 err: Next i
440 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 13:23:37.46 ID:8+vU6A6d.net] >>431 一般的に書くと以下だけど、処理は複雑なら外部ファンクションで On Error Goto err For i=0 To lngRW varValue=WorksheetFunction.Vlookup(〜) [正常処理] Goto 共通 err: [err処理] 共通: [共通の処理] Next i
441 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 13:50:38.20 ID:iClvVPMc.net] >>432 あぁそうか、その形だスマン エラー番号を見たり外したりで分岐させる方法が合ったと思うけど、 あれってどうなのかな
442 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 14:26:57.06 ID:omgcYFOR.net] Dim Rc As Variant For I = 1 To 10 Rc = Application.VLookup(〜) If IsError(Rc) Then 'B処理 Debug.Print "Err" Else 'A処理 Debug.Print Rc End If Next
443 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 16:38:45.71 ID:wsHiflUt.net] If Err = *** Then
444 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 16:56:03.91 ID:iClvVPMc.net] このエラーって何が返ってきてるの? Rc = Application.VLookup(1, Range("a1:b2"), 2, 0) Rcには「エラー2042」 variant/error となっている エラーオブジェクト?
445 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 17:24:54.95 ID:w4m8dn6a.net] Debug.Print WorksheetFunction.IsNA(Rc)
446 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 17:32:46.09 ID:omgcYFOR.net] >>436 VBA CVErr 関数 https://www.tipsfound.com/vba/05cverr 2042 #N/A
447 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 18:04:33.36 ID:iClvVPMc.net] >>437 ? >>438 errorってオブジェクト? なんでsetせずに代入できるんだ?
448 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 19:42:12.58 ID:l+wxMf4P.net] on error使うのあまり良くない vlookupの前にcountやfindで存在チェックするのをおすすめするよ 裏技的な方法だとAppllication.Vlooiup
449 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 19:42:34.71 ID:l+wxMf4P.net] Application.Vlookup
450 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 19:50:28.21 ID:iClvVPMc.net] それが彼の最後の言葉だった
451 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 03:50:15.90 ID:+zVmy7gp.net] >>439 宣言済みのグローバルオブジェクトだから
452 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 08:49:34.62 ID:zlWiWORW.net] >>443 ありがとう!そんなんあったのか
453 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 09:38:24.06 ID:8QX00BOt.net] なんでマクロを表から実行する機能がボタンしかないんですか! ボタンだけ画像で気持ち悪い
454 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 09:43:10.12 ID:zlWiWORW.net] >>445 alt+f8
455 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 10:33:41.98 ID:wkkyQZMO.net] >>445 セルのクリックで選択が変わったイベントを取るとか 他にもできるけど、単に知らないだけだろ
456 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 10:44:09.79 ID:wkkyQZMO.net] >>442 悪い奴じゃなさそうだが、残念だったな 所詮、何でも道具なんだから目的に合わせて 臨機応変に対応しないとな
457 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 10:53:42.85 ID:wkkyQZMO.net] >>445 そういえば、聞き漏らしたけど >ボタンだけ画像で気持ち悪い これ意味が分からない 例えば表に更新ボタンがあるのが気持ち悪いか?
458 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 11:15:00.27 ID:sYZm3T+e.net] >>445 セル内に任意の Sub を走らせるコマンドを書きたいということかな?
459 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 11:16:44.20 ID:zNcs0aE9.net] ボタンを透明にして、セルをクリックしたように見せかければいい
460 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 11:28:07.60 ID:sYZm3T+e.net] >>451 それは見方によっては罠なのでは?
461 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 11:31:39.64 ID:wkkyQZMO.net] >>451 例えば以下でいい、透明なボタンなんてメンテナンスしにくい Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = "$A$1" Then 「セルA1を選択された時の処理」 End If End Sub
462 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 12:16:59.99 ID:VsjxKRtT.net] >>445 何を言ってるんだ? 標準モジュールに以下を書いて、 セル内に=FuncNibai(2)と入れてみろ。 Public Function FuncNibai(lngNum As Long) As Long FuncNibai=2*lngNum End Function
463 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 12:20:44.27 ID:sYZm3T+e.net] >>454 それでは基本的にシートに対する副作用のない動作しかできないよ
464 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 12:31:55.05 ID:VsjxKRtT.net] >>455 ボタンから実行していないだろ。 表を変えたいというなら、入力したセルと無関係のセルの値を変更する処理も書ける。 そんなことする奴はおらんだろうが。 そもそも>>455 がどうしたいのかが無いから、どうにもならん。 個人的には、リボンから実行するように作ることが多いけど。
465 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 12:42:46.47 ID:wkkyQZMO.net] >>456 落ち着けよ、445の釣りかもしれんし
466 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 12:51:21.11 ID:wkkyQZMO.net] >>456 基本的に、新規関数の定義だから それ以外のことをするのは、混乱の元だよね
467 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 13:41:00.30 ID:8QX00BOt.net] イベントでマクロ起動できるようになりました。ありがとうございます! ハイパーリンクのイベント使いました。 でも イベントはシート単位でマクロ側で呼び出し元特定する仕組みで 間違えるの怖いしシート全体でマクロ走るし ハイパーリンクは自分のセル位置変わっちゃうし 余計気持ち悪くなりました ハイパーリンクに直接マクロ指定したりとか もっとスパッと間違えない仕組みがないものでしょうか
468 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 13:44:20.23 ID:zlWiWORW.net] >>459 何がしたいのかもう少し具体的に言ってくれれば誰かがマクロ書くと思う >シート全体でマクロ走るし これも以下のような形で、特定のセルだけマクロが走るように制御することも可能 Private Sub Worksheet_Change(ByVal Target As Range) 行 = Target.Row 列 = Target.Column If 行 < 4 And 行 > 2 And 列 = 2 Then '処理 End If End Sub
469 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 13:58:27.50 ID:Rd0uwYXo.net] >>459 スレタイ読めない馬鹿は死ね
470 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 14:03:08.75 ID:wkkyQZMO.net] >>459 そんなの選択したセルがハイパーリンクか判断すればいいだけ 要求を書かないから特定のセルで動くマクロを提示しただけ その前に >ボタンだけ画像で気持ち悪い これ意味が分からない
471 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 14:40:23.82 ID:8QX00BOt.net] ボタンはクリックしただけで手が滑って意図せずずれちゃったり 配置した後ろにカーソルが隠れちゃったりするから なんか異物感があります
472 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 15:16:00.65 ID:wkkyQZMO.net] >>463 そうか、理由はよくわからんがハイパーリンク化は selection.hyperlinks.count または Range.hyperlinks.count で取れるんでないの試してない
473 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 16:03:40.10 ID:3Irv2J+y.net] >>459 >ハイパーリンクに直接マクロ指定したりとか ハイパーリンクのクリックでマクロを実行する www.excel-wing.com/study/jitumu/941
474 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 16:21:20.23 ID:wkkyQZMO.net] >>465 俺もこのほうが良いと思う確認してないけど
475 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 16:25:16.09 ID:wkkyQZMO.net] まあ、どうやっても出来ないと書き込むんじゃなくて 何をどうしたいけど方法を聞けよ、できるだけ自分の求めることを 詳しく
476 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 16:38:12.77 ID:33lL/zae.net] スライサーのボタンクリックをイベントとしてマクロを実行させたいんだけど、 ググっても探し方が悪いのか、「スライサーを作成するVBA」ばかりになってしまう。 どこか事例を解説しているWebページを紹介してもらえませんか?
477 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 16:41:10.23 ID:ANboNrW/.net] >>468 スレタイ読めない馬鹿は死ね
478 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 16:50:23.23 ID:n8EBNbBD.net] ピボットテーブルのスライサーの事じゃないの? 別にスレチでもなんでもないと思うけど
479 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 17:16:27.60 ID:33lL/zae.net] >>470 はい、そうです。
480 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 17:26:04.18 ID:n8EBNbBD.net] >>471 スライサーにイベントハンドルかます事はできないっぽい 以下2つのどっちかになると思う Private Sub Worksheet_PivotTableChangeSync(ByVal Target As PivotTable) Debug.Print Cells(4, 1) End Sub Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable) Debug.Print Cells(4, 1) End Sub https://docs.microsoft.com/ja-jp/office/vba/api/excel.worksheet.pivottablechangesync https://docs.microsoft.com/ja-jp/office/vba/api/excel.worksheet.pivottableupdate
481 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 17:41:45.84 ID:33lL/zae.net] >>472 ありがとうございます。 ピボットテーブル本体まで戻れば 変更イベントハンドルがあるのですね。 この方向でやってみます。
482 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 18:17:05.73 ID:sYZm3T+e.net] >>456 えっ? 副作用のある操作もできるのか??
483 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 20:04:21.22 ID:USfI2aKm.net] >>459 特定のセルクリックしたらマクロ実行とか
484 名前:459 mailto:sage [2019/04/05(金) 20:52:19.13 ID:CiB89diH.net] いろいろやってみましたが 表をいじって位置が変わっちゃうと動かなくなったり、 変なリンクできたりするので ボタンでやります… ボタンをセルに合わせて自動調整されるようにプロパティ設定したら ちょっと気持ちがおちつきました ありがとうございます
485 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 21:55:09.13 ID:XQoFwJNv.net] ♪かけ違えたボタンがある〜
486 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 22:38:48.78 ID:XcJw5BB8.net] >>474
487 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 02:33:50.43 ID:lkbCtinH.net] 主作用でなければ副作用だが
488 名前:デフォルトの名無しさん [2019/04/06(土) 05:07:20.11 ID:yAC/mUJI.net] ヒポリットテーブルってややこしい。 理解するこつあはありますか?
489 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 09:18:19.10 ID:9IkbKopt.net] >>480 ピボットテーブルな 繰り返し使うしか無い 後は元データもちゃんとしたものじゃないとピボットがうまく機能しない
490 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 09:43:33.17 ID:LrM+2CU8.net] >>480 色々できて楽しいと思いながら 新しい使い方を検索しながら使いな
491 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 11:28:05.41 ID:QwecXQyr.net] >>454 の関数で値を計算して返すついでにどこか別のセルの値を設定しようと Range("A1") = 1 としたって通らないだろ そんな制約があったんじゃ>>445 に対する答えにはならんね
492 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 12:56:33.17 ID:aPksILYp.net] マイクに話しかけたら実行されるようにすりゃいいんじゃないの?
493 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 13:12:45.38 ID:cYL1/vjQ.net] >>480 いろいろやってみると面白いし、 元データをテーブルにして組み合わせると、 計算速度も速いような? 融通が利かない部分もあるけど。 4〜3月の月次推移グラフで、 ピボットテーブルには年度合計を出せるのに、 この合計もグラフに反映させる方法あるのか、ないのか・・・ 日時時間フィルターのタイムラインは、使い勝手がイマイチ、 とか。 あと、縦横クロス集計のピボットテーブルを 一発でリスト表(3Dマップに使える)に変換する隠れ機能があったり。
494 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 23:19:03.44 ID:+F6584OT.net] まずスレタイぐらい理解できるようになろう
495 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 11:38:35.77 ID:J7v3B2LO.net] シート内にマクロを設定した ボタンを1つと、複数の画像があります。 ボタンをクリックしたら以下コードを実行し画像の一括削除を行っています。 しかし、問題があってボタンまで消失してしまいます。 そこでボタンの場合には削除はしない という風に制御を入れたいのですが、ボタンの名称はどうやって調べればよいでしょうか? 'シート無いの画像をすべて削除する。 For Each img In ActiveSheet.Shapes img.Delete Next
496 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 11:59:22.40 ID:SzIL1mww.net] >>487 ボタンに特定の名前を付けてそれをハードコーディングすりゃいいと思うがそれじゃ不満なのかな?
497 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 12:06:51.57 ID:oR5kGK9/.net] >>487 img.Nameで名前を調べることができます If img.Name <> "ボタンの名称" Then img.Delete End If みたいに書けば、特定の画像の消去をスキップできます
498 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 12:40:05.22 ID:z5f8NySY.net] >>489 名前なんて変化するのでコーディングするのはない プロパティで有るだろ、調べてないが常識的に
499 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 13:13:42.16 ID:dLz2IshG.net] 削除対象の画像を予めShapeRangeにまとめるなり、削除対象の画像の名前をシートに書き出すなりしてボタンマクロで一括削除させる設計にする方が検索効率や保守効率が良いと思う ボタン名やコントロール名でハードコーディングするのは下策 ボタンの数やコントロールの種類が増えたときにいちいち手直しする必要が出てくる
500 名前:デフォルトの名無しさん [2019/04/07(日) 13:22:52.48 ID:UhqEDEIh.net] 動的にコントロールを追加するプログラムを作ってないの? 毎回追加で書いてるの? それは面倒で下衆だわ
501 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 13:30:07.71 ID:HG+SSO0q.net] >動的にコントロールを追加するプログラム 昔作ったわ EXCELでこの設計は止めたほうが良い。エラー頻発する
502 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 14:02:19.38 ID:lv61T0oy.net] >>487 For Each work in Shapes If work.type = 消したいオブジェクトタイプ Then 消す Next
503 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 15:13:26.49 ID:zM3BxSpj.net] >>474 >>478 >>483 スマンな。 >>456 の時点では勘違いしてた。 でも、たぶん出来るだろうなと思ってやってみたら出来るな。 それどころか入力セルに対しても出来る。
504 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 15:19:02.23 ID:1196mB+r.net] >>487 は差のマクロが登録されたあるひとつのボタンだけを対象に「消したくない」と言っているように思えるのだが
505 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 15:26:28.77 ID:zM3BxSpj.net] >>491 別にボタン名とかコントロール名でやっても良いと思うよ。 増えようが、名前付けル−ルがデタラメなんてこと無いだろう。 画像ならimgが先頭に付くとか、ボタンならbtnが付くとか、普通そうしてるはずだろ。 >>492 それは、この質問だけ見ただけじゃ何とも言えない。 消えなければ追加する等という作業は最初から必要無い。 動的に追加するような状況とも思えないな。 >>493 それはその組み方が良くないだけだろ。
506 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 18:49:28.94 ID:wMtd4Rq1.net] まあ、その時目の前の問題だけクリアーするのは筋が悪い 目的を汎用化し使い易くメンテナンスし易いように組むな普通
507 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 19:51:51.79 ID:Eip3w86o.net] VBAスレで何言ってんの そういうことを言い出すとVBAなんか使うなという結論にしかならんよ
508 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 19:54:51.59 ID:9t5fZjJB.net] EXCEL前提ならそりゃVBAになる
509 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 20:30:11.80 ID:J7v3B2LO.net] >>488 ボタンに名前をつけるにはどうすればいいんですか?
510 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 21:10:44.99 ID:dLz2IshG.net] >>497 名前比較で実現出来るかどうかという実現可能性の話をしてるわけではない あくまで効率性の話をしてるんだが 特定のボタンを消さないようにするという目的だけのためにShapesコレクションをなめてアイテムのNameプロパティを逐一調べるという処理は筋が悪い ワークシート上に存在する画像や図形、テキストボックス、コントロール等の数だけ名前比較することになるからな 削除対象になる画像をワークシートに追加するタイミングでShapeRangeコレクションに入れ、ボタン押下でDeleteメソッドで一括削除というやり方の方が絶対に速い
511 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 21:18:21.02 ID:lv61T0oy.net] >>501 Nameプロパティ
512 名前:デフォルトの名無しさん [2019/04/07(日) 21:22:19.79 ID:6gqi5pp/.net] 一つも目的だけの為に作り込むのが良いのか汎用性を持たせて使い回せるようにした方が良いのかって事で俺は汎用性がある方が長持ちして良いと思う派
513 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 21:27:32.10 ID:zM3BxSpj.net] >>502 あのさあ、わざわざそんなことするほどの処理かね? 俺だったら名前ではやらんと思うけど、こんなのは何でも良い話だろ。 普通に考えて、ボタン1つに後は画像だけなんじゃね―の? 正直、こんなので効率も糞も無いと思うね。
514 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 21:45:02.84 ID:SzIL1mww.net] マクロに「Sub なんちゃら」って名前を付けるんだから、それを呼び出すボタンに固有の名前を付けるのは全く自然だ
515 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 22:33:14.85 ID:dLz2IshG.net] >>505 コレクションの総なめや文字列比較での処理分岐は処理速度の問題に直結するだろ それにマクロで処理しなければならないくらい画像を張り付けてあるシートに対する操作なら尚更処理が重くなる可能性が高い 数百個くらい画像が貼ってあるかもしれないし 割と現実的な設計の話だと思うんだが、まぁ君が効率も糞もないと思うなら仕方ない
516 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 22:37:25.36 ID:Dac9mVAO.net] 質問者そっちのけ。
517 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 22:38:12.36 ID:AvqFg232.net] >>502 > 削除対象になる画像をワークシートに追加するタイミングでShapeRangeコレクションに入れ とか言うけど、その画像がプログラムで追加されるとは限らんよ 人が適当に描画した図形を単にクリアするボタンかも知れんし
518 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 22:43:02.40 ID:dLz2IshG.net] >>509 それならShapes.SelectallでShapeRangeコレクションに突っ込んで、マクロ呼び出し用のボタンだけShapeRangeから除外して一括削除だね とにかくShapesの中でループを回す必要がない
519 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 22:50:29.75 ID:IY2XTri8.net] >>507 それは数百個貼るような状況の場合の話。 そういう場合なら、その時考える話だ。 例えば、それなりに組める奴ならScreenUpdatingなんかを使っても速度が速くなることは無いだろう。 俺の場合も当然そうだ。 だからと言って、普段そんなに速度を重視して組んでいる訳じゃ無い。 しかしだ、状況により速さが必要になったら当然それ用に変わるだろう。 いつも速度を重視して組んでいるならご苦労なこった。
520 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 22:54:24.63 ID:AvqFg232.net] >>510 > マクロ呼び出し用のボタンだけShapeRangeから除外して どうやってやるつもり?
521 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 02:30:49.49 ID:OEfF6P+m.net] オブジェクトを直接比較すれば済む話じゃね なんでわざわざ.Name呼び出して文字列比較するのかわからん オブジェクトの比較なら何千あっても大して遅くならんし 馬鹿ばっかかよ
522 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 02:33:33.22 ID:OEfF6P+m.net] そもそもshaperangeコレクションにアイテムをremoveするメソッドがあれば済む話なのにな やっぱVBAって糞だわ
523 名前:デフォルトの名無しさん [2019/04/08(月) 06:39:30.33 ID:2IBrjRoX.net] やっと気付いた?
524 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 08:39:44.42 ID:HwCnDiL+.net] 20年進歩なければな
525 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 09:10:46.62 ID:5f7aEGaE.net] >>503 ありがとう!
526 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 10:38:02.22 ID:20rc9alP.net] >>513 オブジェクトを直接比較の何を比較するんだよ 全てのオブジェクトは代入で使ってるもの以外 違うんだけど
527 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 10:40:14.98 ID:qrhOu38P.net] vbaは===がない上にisで比較できないパターンがあったはず ユニークな名前で比較するやり方は正解
528 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 10:59:09.00 ID:f4XbMpJ6.net] >>518 オブジェクトの参照を比較するに決まってんだろ素人か? >>519 このユースケースで試してからほざけ
529 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 11:00:40.34 ID:20rc9alP.net] >>519 名前なんて好きに変えられるだろ そんなもんでユニークって言っても筋悪いって言われるんだよ
530 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 11:02:06.10 ID:20rc9alP.net] >>520 素人でございます、具体的に提示してください
531 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 11:06:10.01 ID:r5MC5DWh.net] うむ
532 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 11:28:59.16 ID:cNRL9eDF.net] Application.Caller と比較するのかな?
533 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 11:34:02.89 ID:20rc9alP.net] >>524 これは、プロフェッショナルな>>520 様が明快なお答えを出してくれるので 黙っておけよ
534 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 11:44:28.64 ID:f4XbMpJ6.net] ObjPtr、ポインタ、参照渡しあたりでググれカス 煽りが下手すぎて説明する気にもならん
535 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 11:44:45.29 ID:qrhOu38P.net] >>487 Sub foo() For Each img In ActiveSheet.Shapes If img.Type <> 8 Then img.Delete End If Next End Sub ここ数日見てなかったけど何やってるんだお前ら プロパティ比較すればいいだけだろう、一体何日かかってるんだ https://i.imgur.com/B5lcGn9.png >>520 無能の頂天っすね
536 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 11:45:39.84 ID:20rc9alP.net] >>526 具体的に提示できないのですか(笑) 必死で
537 名前:ググったか(笑) [] [ここ壊れてます]
538 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 11:49:55.04 ID:f4XbMpJ6.net] >>528 捨て台詞も下手くそだな
539 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 11:51:20.33 ID:qrhOu38P.net] >>528-529 俺から見ればお前ら両方雑魚やぞ
540 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 11:54:16.26 ID:f4XbMpJ6.net] >>530 >>494 で示されてることをかなり遅れてドヤ顔で書き込んだ奴がいるらしい 無能かな?
541 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 11:56:32.80 ID:20rc9alP.net] >>530 ボタンはフォームコントロールとActiveXコントロールがあるけど 大丈夫か? 酒飲みながら茶化してるんですまんな
542 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 11:57:35.69 ID:qrhOu38P.net] >>531 終わってんのかよwww知るかwwwwじゃあ何の話してるんだよwwww
543 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 11:58:24.09 ID:20rc9alP.net] >>529 でも、お前(笑)
544 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 12:01:13.75 ID:20rc9alP.net] >>533 茶飲み話に決まってるだろ・・酒か・・
545 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 12:04:25.33 ID:cNRL9eDF.net] ObjPtrだろうがなんだろうが「消しちゃいけないこのオブジェクト」を最初にどうやって指定するのかと
546 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 12:04:58.54 ID:f4XbMpJ6.net] 酒飲んでるから!本気じゃないから! はいノーダメ! 思考がテンプレすぎる
547 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 12:07:53.61 ID:20rc9alP.net] >>537 いやいや、具体的にかけない君が何言っても 笑い話
548 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 12:24:06.89 ID:KL9iMO+X.net] >>526 そこじゃないと思うぞw 比較するためにはボタンをオブジェクトとして取得しなきゃならん。 どうやって取得する? >>527 俺もこのやり方をするだろうね。 でも名前でも全く問題無いと思うぞ。
549 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 12:35:47.16 ID:20rc9alP.net] >>537 結局、ググってもそんなコード内から泣いてるのか? 思いつきで、引きこもりのカスが書き込むよなこのスレも
550 名前:480 [2019/04/08(月) 13:06:22.74 ID:cVIHdDyE.net] >>481 名前などどうでもいいではないか。 https://pds.exblog.jp/pds/1/200808/06/80/b0003180_19511656.jpg
551 名前:480 [2019/04/08(月) 13:11:52.02 ID:cVIHdDyE.net] >>481 >>482 >>485 理解するコツを聞いているのに いろいろ使ってみろ、みたいな回答はおかしくないか? そんなこと承知の上で、理解するコツ、つまり心がけることやこんなことに注目したら理解がスイスイスーダラダッタスラスラスイスイスイっとできるかを聞いているのですが。
552 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 13:17:44.71 ID:20rc9alP.net] >>537 まあ、引きこもりのカスだからノーダメ・・全ダメ(笑)
553 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 14:13:07.53 ID:qrhOu38P.net] >>535 納得した 話題のループやグダグダ言う点は確かに酒の関の会話レベル シラフで話してる奴はすげぇわ >>539 thisかMe無いんだよな callerでオブジェクトの取得するには、 名前を取得してforeachで名前と一致するオブジェクトを探して・・・ になると思う。超面倒くさい >>542 ピボットに限らずEXCELは使わない機能が膨大にある やりたいことを決めて、機能を使いこなすのが一番早い
554 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 14:58:52.26 ID:9sVYCwmO.net] 質問者はShapesコレクションのFor Eachで消えるボタンだって言ってますよ
555 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 16:07:16.94 ID:20rc9alP.net] >>542 >理解するコツ それこそ、マニュアルを読めよまたはググれよ 例えば以下でもいいけど、他にもいっぱいある https://www.becoolusers.com/excel/pivottable.html だけど、頭の構造によって読んでも分かんない奴も多いからな 必要な時に使うんじゃわからんバカには無理って言ってるんだよ 普段から使えよ
556 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 16:21:30.00 ID:20rc9alP.net] >>544 お前「caller」の意味わかって書いてる? 今回の場合に使うべきかもわからんのか?
557 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 16:32:09.53 ID:qrhOu38P.net] >>547 そう真剣になるなよ、本題についてはもうとっくに>>494 で終わってる で、 >ボタンをオブジェクトとして取得 これについて俺も知りたい callerは他言語で言うthisみたいなもんで、通常はオブジェクトで飛んでくる。もうちょい正確に言うとオブジェクトの参照だな これがオブジェクトで飛んでこないからめちゃくちゃ使い勝手が悪い オブジェクトで取得する楽な方法あるの?
558 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 16:59:10.82 ID:eHXY0QFN.net] お前らもしかしてわざと無能演じてんの? だったらすげえや全然気づかなかった set b = ActiveSeet.Shapes(Application.Caller) For Each x in ActiveSeet.Shapes If Not x Is b Then x.Delete Next
559 名前:デフォルトの名無しさん [2019/04/08(月) 17:02:54.81 ID:cVIHdDyE.net] >>546 「いろいろ使ってみろ」とか「マニュアル読め」じゃないんだよ。 自分の言葉で説明してほしいということ。 具体的にはこれはデータベースを扱っているのだから 「フィールド」とか「グループ化」とか「集計」とかそういう具体的な用語を使ってだ。
560 名前:デフォルトの名無しさん [2019/04/08(月) 17:08:22.50 ID:9eoJzmPe.net] VBAの特徴 内部抗争が酷いが外敵には一致団結して退治する
561 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:08:40.67 ID:lpvwS4NY.net] >>550 それこそスレチだわ 初心者質問スレでも池よ
562 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:12:22.10 ID:qrhOu38P.net] >>551 仲良く喧嘩してるんだよwwww
563 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:15:00.42 ID:lpvwS4NY.net] >>549 確認してないが、それ複数ボタンで動くか? フォームコントロールとActiveXコントロール有るけど
564 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:20:52.07 ID:ccKDHzfP.net] >>542 他人に期待しすぎ。 それが出来たら今頃は、サイト立ち上げたり、本出したり、どこかで講師やっとるがな。 MSからも含め、VBAよりもピボットテーブルの情報は少ないし、 パーツ、パーツで区切れるVBAよりも、 広範囲で漠然とした「自分のやりたいこと」に使えるかどうか、 試行してみないとなんとも言えない。
565 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:26:33.08 ID:eHXY0QFN.net] >>554 押されたボタン以外は消える ボタン1つと画像複数っていう質問なので削除ボタン以外のShapeを一括削除する仕様だと勝手に読み取った 少なくともNameで比較はありえねーよカスというサンプル
566 名前:デフォルトの名無しさん [2019/04/08(月) 17:28:02.25 ID:cVIHdDyE.net] こんなとき図星の決まり文句言わなきゃなんないのかぁ。 「 み ん な 理 解 で き て い な い 。」 理解できてる人なら竹を割ったようにスッキリと解説できるはず。 使いまくれとか、サイト見ろとか、試行してみないとなんとも言えないとか、全部言ってる人がピポットテーブルの本質を理解できていない決定的な証拠じゃないか。
567 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:39:46.71 ID:qrhOu38P.net] >>557 当たってるよ。理解する必要ないからね ピボットで作るデータの9割ぐらいは基本機能で瞬殺だから「使って覚えろ」としか言えない 複雑な事をしたければ作業列でパーっと作った方が早い、深く理解して得るものが少なすぎる そもそも大事なことは目標の設定の仕方だから、このスレでどうこう言えない
568 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:52:36.06 ID:TKIMwKN2.net] >>549 ShapeRangeコレクションにRemoveメソッドがない以上これが最適解だな
569 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 19:14:24.14 ID:P0CHcdLi.net] >>556 なんでName で比較しないの?
570 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 19:33:54.35 ID:V7WRm0mr.net] foreach列挙中に対象コレクションから要素消すなよ
571 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 20:31:30.66 ID:r03ED/xX.net] VBAの演算子で一方だけ評価するのってありますか i < 100 OR data[i] = x みたいに境界超えてないか先にチェックしたい
572 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 20:33:46.80 ID:r03ED/xX.net] i < 100 AND data[i] = x 逆でし
573 名前:ス [] [ここ壊れてます]
574 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 20:45:56.01 ID:lSCOP8uB.net] >>562-563 > VBAの演算子で一方だけ評価するのってありますか ない If i < 100 Then If data(i) = x Then ... ってやるしかない
575 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 21:11:16.19 ID:KL9iMO+X.net] >>549 ??? それって、固定の名前でやるのに比べてどの程度メリットが有るの? 固定の名前でやる方がまだましだと思うんだが。
576 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 21:11:26.99 ID:AlMdksUV.net] >>560 文字列型プロパティの比較判定は重い処理だし、オブジェクト命名の運用に処理結果が依存してしまう 組み込みの列挙定数やオブジェクトポインタで比較判定した方が安全なのは事実
577 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 21:13:41.55 ID:ARCkkcA0.net] ・プログラムとして危険 vs ・vbaだしどうでも良くね ファイッ
578 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 21:15:36.62 ID:KL9iMO+X.net] >>566 ほう。 画像が100個あった場合、 文字列で比較と比べてどれくらい速くなるの? まったくアホらしいと思うんだが。
579 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 21:40:37.98 ID:besmAe1s.net] なんでわざわざ名前で比較したがるの?
580 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 21:48:14.01 ID:r03ED/xX.net] >>564 ありがとうございます 発狂する
581 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 21:48:31.68 ID:besmAe1s.net] ぶっちゃけ1000回比較しても体感できる差は無いけど ならどちらがいいかは完全にセンスの問題になるわけで オブジェクトを比較したい場面でオブジェクトそのものを比較できるのにわざわざ名前みながら比べるとか 頭の中どうなってるの
582 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 22:07:24.49 ID:4iOzxu9L.net] >>569 >>571 別に、名前で比較したいわけじゃ無い。 俺は最初から、こんなのどれでやっても良いだろ派だ。 最初からパフォ−マンスに大きな差が出ないと思ってたし、センスの問題はかなり気にする方だが、今回の問題ではどれでやってもセンスが悪いとも思わない。
583 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 22:17:03.71 ID:besmAe1s.net] >>572 Is知らなかったからって取り繕わなくてもいいよ
584 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 22:26:49.07 ID:4iOzxu9L.net] >>573 ハァ? そんな初心者のわけねえだろ。 それに、 >>549 って俺に言わせると名前でやってることになるんだがw >>539 で、「どうやって取得する?」って書いたのは、結局名前で取得することになるんじゃね?って意味で、名前でってのはApplication.Callerみたいに名前を取得したら結局同じじゃね?って意味なんだがw
585 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 22:36:44.56 ID:lpvwS4NY.net] >>573 だから、それは対象のボタンオブジェクトが分かってる場合だろ 最初のお題と違ってボタンがいくつあるかも分からん条件で効率よくってはなし 俺はNameプロパティは変更出来るだろ だからTypeプロパティだろって言っているだけ
586 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 23:06:03.11 ID:AlMdksUV.net] 質問者そっちのけ
587 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 00:18:47.52 ID:8HUOoxmg.net] >>549 はデバッグ時に疲れからかモジュールにカーソルをあわせてF5を押してしまう
588 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 00:44:23.79 ID:cuTyECFJ.net] この中で一番重いのはShapes.Delete それ以外をどんだけ工夫しても、逆にどんなタコなコーディングしても、体感できる差は出ないから
589 名前:デフォルトの名無しさん [2019/04/09(火) 01:51:44.81 ID:flshAmjZ.net] 【12日まで】500円を貰える春のばらまきキャンペーン開催中です @ スマホのApp Storeから「プリン(pring)」をインストールする A 会員登録を済ませる B 下図の通りに進む https://pbs.twimg.com/media/D3pRtQiUwAQLMUR.jpg C コードを登録 [5gAYSz] これで五百円を貰えます スマホでセブンATMからお金を下ろせたり(キャッシュカード不要)便利なアプリですのでよろし
590 名前:ければご利用下さい [] [ここ壊れてます]
591 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 06:47:19.14 ID:WguqqX2K.net] >>576 >>488-489 で解決してるからいいんじゃん あとはよくあるチンケな知識でのマウント合戦だからスルーでオケ
592 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 08:39:46.28 ID:mg+oftxD.net] マウントやめたら色々な方法見れて役に立つんだけどな 何故一番になりたがるのだろう
593 名前:デフォルトの名無しさん [2019/04/09(火) 08:43:42.22 ID:sTjNwrNP.net] そうさぼくらは世界にひとつだけの花
594 名前:デフォルトの名無しさん [2019/04/09(火) 08:45:37.14 ID:sTjNwrNP.net] 小さい花や大きな花 ひとつとして同じものはないから No1にならなくてもいい もともと特別なonly one
595 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 11:49:39.06 ID:4ZugEZRH.net] まあ、なんだな久しぶりに実際に使ってみた ルーチンの仕様 1.フォームコントロールとActiveXコントロールで作成したShapeオブジェクトは全て残す 2.それ以外のShapeオブジェクトは全て消す 3.対象ShapeオブジェクトはActiveSheetのみ 3.フォームコントロールとActiveXコントロールどちらでも動作する Public Sub コントロール以外のイメージ削除() Dim shape1 As Shape For Each shape1 In ActiveSheet.Shapes 'MsgBox (shape1.Name & ":" & shape1.Type) 'これは確認用です・・・コメントアウト If shape1.Type <> msoOLEControlObject And shape1.Type <> msoFormControl Then shape1.Delete End If Next End Sub 実際に作成してみて感じたこと Nameプロパティは全て違うものが振られていく・・追番が付く フォームコント―ロールを使ってる人がやっぱいるんだ・・俺はActiveXコントロールしか 普段は使わない
596 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 13:45:14.72 ID:4ZugEZRH.net] 追記しておくけど 目的・仕様をハッキリさせなきゃどんなルーチンも価値評価が難しいな 定義済み定数は定義名を使えよ普通に、ウォッチ式で確認できるから >For Each x in ActiveSeet.Shapes 誤記スンナ ×ActiveSeet ○ActiveSheet
597 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 16:00:23.87 ID:v/sKiq9O.net] >>480 俺がどうしてもexcel捨てられない理由が唯一 ピボットテーブルがあることなんだけどな (その他のオフィス製品にも近ごろは 載っているようだが VBAからの操作に慣れきってると なかなか乗り換えきれない) 手放せなくなるまで使ってみてください
598 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 22:54:10.35 ID:SAQnN0sI.net] >>569 hashCodeがないから
599 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 10:58:53.58 ID:6J3r6J/I.net] 全部プロシージャで集計と報告系のマクロ書いてるけどグラフ出力とか一部は指定サイトの結果取得とか機能増えすぎて9モジュール1800行とかになってる なんちゃってプログラマの俺にはもうお辛い…
600 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 11:28:22.21 ID:UESsnIOi.net] 動きゃいいよ 要件がリッチになりすぎたなら、それはもう技術的に何とかしようとするより外部のSaaSを導入することを検討すべき
601 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 11:37:22.82 ID:Y1e0LUUu.net] >>588 スマンが君の書いてる機能はマクロを使わずにできるものだが >集計と報告系のマクロ書いてるけどグラフ出力とか一部は指定サイトの結果取得 集計と報告系・・・当然簡単だろ、場合によってはワードも利用する >グラフ出力 ピボット使えよ、何が不足してるんだ? >一部は指定サイトの結果取得 こんなのクエーリーの標準機で、起動時に読み込むとか、一定時間おきに読み込めよ 面白がってVBAにしないで、標準の機能で出来ることはExcel様に任せるよ
602 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 12:02:10.37 ID:P1T0QVnr.net] そこまで作り込む能力があるなら素直にPS, Python, Ruby, node.jsあたり学んだほうが幸せになれるぞ
603 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 12:06:33.25 ID:UESsnIOi.net] SIerすらメンテできないようなものを作ると後々自分の首を締めることになるよ ずっとお守りに時間を奪われて出世は閉ざされ、そのうちシステム刷新でクビよ
604 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 12:13:08.23 ID:Y1e0LUUu.net] ってか、Excelの標準機能も満足に使えないのに無理やりVBAを使うのは やめた方が良い、標準機のでできることはコードにしないな
605 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 12:26:08.65 ID:HiznTzOg.net] >>588 別に多くも無いだろ。 普通の量だよ。
606 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 12:36:37.12 ID:UESsnIOi.net] 規模的にスケールするような作り方を理解した上でなら全然大した量ではないけど、 なんちゃってプログラマのアドホックなコーディングはだいたい1000行を超えたあたりで限界が来る 俺は絶対お守りしたくない
607 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 12:43:15.27 ID:HiznTzOg.net] >>595 そういうののお守りもしたことあるよ。 いやー大変だった。 基本、デバック実行で、何の処理をしているのかを類推することになる。
608 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 12:54:25.06 ID:Y1e0LUUu.net] >>596 それ、楽しいだろ?
609 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 13:43:17.52 ID:Fi06WKE0.net] >>593 そうなのか? 自分はほぼOffice共有マクロでやっていてExcel固有の機能とかは最低限しか使ってないな
610 名前:デフォルトの名無しさん [2019/04/10(水) 13:45:51.76 ID:ZITKsaEc.net] >>592 開発者ならそうだろうけど 開発者じゃなくて業務をしてるだけ みたいな人がついでに使うのがexcelvbaって感じだから その人が首になる事はないんじゃないかなぁ? それにそんな本格的なシステムを組むほど予算が無い みたいな会社規模だとどのみちどうしようもないし そういう界隈用って有る様で無いし 表計算 という点では予想外の使われ方だとは思うけど なんかそういう小零細向けのアプリが有った気がしたけど
611 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 13:54:38.83 ID:Y1e0LUUu.net] >>598 それが、組織内での共通認識ならいいんでないの マクロは俺は基本的に避けるが、好みだよ でも、「Excel固有の機能とかは最低限」じゃあExcel使う意味あるの?
612 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 14:02:44.70 ID:Y1e0LUUu.net] まあ、勘違いするバカ多いんだよな プログラムは自分で作ってるとか、俺が考えたとか(笑)
613 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 14:16:50.81 ID:sSiaigIF.net] 俺が育てた AA略
614 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 16:17:57.40 ID:Fi06WKE0.net] >>600 ExcelはUIとしては優れていると思うよ。 操作するユーザーとのデータのやりとりとかグラフ出力とかね。 でもSQLでやるようなクエリーはもちろん不向きだし、途中段階のデータ加工処理にも不向きだと思うんだがね。
615 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 16:30:55.55 ID:Y1e0LUUu.net] >>603 でも、そんなの君の好みだろ 不向き気なら使う必要ないな ってか使えるとこだけうまく使うんだろ なのに文句だけいゆうのな
616 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 16:34:40.21 ID:Y1e0LUUu.net] まあ、何も使いこなせない奴って文句しかないんだよな
617 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 16:43:58.33 ID:Y1e0LUUu.net] >>603 まぬけは返事も出来んか?
618 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 18:36:25.41 ID:Fi06WKE0.net] >>604 文句なんか言ってないだろ?単に不向きなことはExcelにやらせてないというだけのことじゃないか そもそも>>593 がそっちの趣味主観から始まっているわけだしな
619 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 18:38:22.55 ID:Fi06WKE0.net] >>606 そっちこそ俺の書いた 「SQLでやるようなクエリーはもちろん不向きだし、途中段階のデータ加工処理にも不向きだと思う」 に具体的な反論があるなら言ってみてはどうなのか
620 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 20:18:31.42 ID:+T6khn6s.net] >>608 PowerPivotとPowerQuery使えば楽勝だぞ
621 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 22:29:11.86 ID:Y1e0LUUu.net] >>608 >「SQLでやるようなクエリーはもちろん不向きだし、途中段階のデータ加工処理にも不向きだと思う」 >に具体的な反論 お前は不向きの内容も具体的に書き込んでないのにどのようなアドバイスが欲しいのかな? 処理速度かな?
622 名前:デフォルトの名無しさん mailto:sage [2019/04/11(木) 00:47:10.88 ID:tqqNlMCs.net] 問題点がなにかも自覚しないから不満なだけで止まるんだよな で、自分ではなくツールのせいにする楽なこった
623 名前:デフォルトの名無しさん mailto:sage [2019/04/11(木) 00:55:46.53 ID:7m5ZQ9KZ.net] 老害的な様相を呈してる
624 名前:デフォルトの名無しさん mailto:sage [2019/04/11(木) 12:26:22.18 ID:flnPu98l.net] >>610 言いたかないが、それはレベルが低いだろ。 普通に考えれば分かることだ。
625 名前:デフォルトの名無しさん mailto:sage [2019/04/11(木) 15:17:56.46 ID:t6ZqSbU2.net] >>603 >でもSQLでやるようなクエリーはもちろん不向きだし、途中段階のデータ加工処理にも不向きだと思うんだがね。 工夫次第で普通にできる。別に不向きじゃないと思う そういうのはAccessのほうが向いてると言われればその通りだと思うが
626 名前:デフォルトの名無しさん mailto:sage [2019/04/11(木) 17:36:19.55 ID:PzEny+LO.net] また不毛なマウントの取り合いしてる…
627 名前:デフォルトの名無しさん mailto:sage [2019/04/11(木) 18:18:36.48 ID:ekNCzMbf.net] 不毛で悪いか
628 名前:デフォルトの名無しさん mailto:sage [2019/04/11(木) 18:23:33.78 ID:e8i1eyfO.net] また髪…
629 名前:デフォルトの名無しさん mailto:sage [2019/04/11(木) 18:50:46.18 ID:Vn+FQLol.net] やめろ
630 名前:デフォルトの名無しさん [2019/04/11(木) 20:16:57.24 ID:v9KwxSkL.net] 同時接続数の超えられない壁
631 名前:デフォルトの名無しさん mailto:sage [2019/04/11(木) 20:48:03.35 ID:flnPu98l.net] >>614 元々のVBAを使わずにExcelの機能を使うっていう話の観点で言えば、データが多くなるとExcel関数ではどうにもならないくらい遅くなるということがある。 銀行のデータ整合性チェックをしたことが有るんだが、10万以上のデータでSUMPRODUCTとか全くのアホなことやってたな。 その時はSQLじゃ無いけどVBAで組んだら一瞬になったけど。 今の仕事でも50カラムぐらいで40万件ぐらいのレコードをExcelに吐き出してるのを扱ってるがVBA使わずに関数とか正気の沙汰とは思えない。
632 名前:デフォルトの名無しさん mailto:sage [2019/04/11(木) 21:06:30.96 ID:JHOkJdt/.net] 10万くらいなら関数でも楽勝だろ 自動計算切れば普通に動く
633 名前:デフォルトの名無しさん mailto:sage [2019/04/11(木) 21:12:19.70 ID:2g6t5Llw.net] 数値だけなら楽勝だけど文字列のfindとかは結構キツイ >10万以上のデータでSUMPRODUCT これ列全体指定してたら多分計算終わらん
634 名前:デフォルトの名無しさん mailto:sage [2019/04/11(木) 21:33:34.25 ID:7m5ZQ9KZ.net] ワークシート関数は使い捨てならいいんだけど残して運用し続けるのはつらい
635 名前:デフォルトの名無しさん mailto:sage [2019/04/11(木) 22:23:07.59 ID:+qS75l5K.net] データベース的に使ってるエクセルテーブルで関数従属関係をワークシート関数で実現するのやめてほしいよな
636 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 01:26:49.44 ID:L59U/aC1.net] Excelっていうか表計算ソフトは ゼロから設計し直したほうが良いと思う セルごとに個別の計算式が入っていて どれか一つが間違っていても 簡単に気づくことが出来ないとか 一つのセルだけ修正し忘れとか メンテナンス性が悪すぎる
637 名前:731 mailto:sage [2019/04/12(金) 01:40:03.71 ID:7vLuIMdD.net] >>625 え? 少なくとも後者は教えてくれるぞ? 前者は数式表示モードにするか、横にformulatextで表示しとけば?
638 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 05:49:04.40 ID:V1CbV9zt.net] OpenTextFileとCreateTextFiledeのメソッドが返すTextStreamには双方でなにか違いがあるのでしょうか? ファイルの書き出しにはTextStreamのWriteLineメソッドを利用しています。 FileSystemObjectを使ってテキストファイル(拡張子無し)を作成して、 書き込みを行う処理を実装したいのですが、 CreateTextFileを使うとError 5 となりファイルは作成されるのですが書き込みができないことがたまにあります。 発生頻度が少なすぎて原因を抑えられず、 自力ではここまでが限界のため、何か思い当たることがあればご意見を頂けますと助かります。 OpenTextFileのほうでは少なくとも確認できる限りではエラーが発生しませんでした。 CreateTextFile https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/createtextfile-method OpenTextFile https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/opentextfile-method
639 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 06:48:58.09 ID:jwc5+7Nd.net] >>625 その意見を支持する
640 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 08:12:24.74 ID:cAaoTUDS.net] >>621 SUMPRODUCT知らないか、10万のデータでどういう使い方するのか想像出来ない奴は黙ってろ。
641 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 08:24:36.34 ID:LhXUTlO1.net] >>629 SUMPRODUCTは所詮O(N)だから実質的な計算量はたかが知れてる 遅けりゃSUMPRODUCT使わないで一時セル使った単純な式に展開してもいい
642 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 08:49:24.60 ID:wLs4Sov9.net] >所詮O(N)だから実質的な計算量はたかが知れてる O(n2)以上だよ めちゃくちゃ多い
643 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 09:00:04.80 ID:xRzutCJ1.net] >>631 O(N^2)となる根拠は? 実装がヘボいのかもしれないけど、仮に手計算でやったとしたら基本的に計算量は行数に比例するだろう それなら一時セル使えば確実にO(N)で済むよ
644 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 10:26:44.15 ID:39D1tbGN.net] >>620 そりゃSUMPRODUCTとか使われたら話は違ってくるわな >>630 にあるように工夫すればいいってこと
645 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 10:47:24.57 ID:cY6WK7UC.net] 絶対参照の範囲と相対参照の範囲をSUMOTODUCTする場合は平気でO(n^2)になるよ Excelでシミュレーションとかしてるとよく出てくる
646 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 11:44:00.15 ID:LhXUTlO1.net] >>634 それこそ一時セル使えば済む話だろう
647 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 11:48:22.60 ID:cY6WK7UC.net] >>635 済まないんだよ 想像力足りてないぞ
648 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 12:22:33.93 ID:cAaoTUDS.net] 元々無理矢理VBA使うのはって話から始まってるが、もはや無理矢理関数使うことになってる件w
649 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 13:20:22.74 ID:L59U/aC1.net] >>625 > 前者は数式表示モードにするか、横にformulatextで表示しとけば? それぞれが微妙に違ってる(セル座標のこと)画面からはみ出るぐらいの 長い数式が何十個も表示されていて、それがワークシートを コピーするたびに量産されていくという状態で 全部見て間違いがないことを確認できるわけ無いだろ
650 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 13:41:42.81 ID:cY6WK7UC.net] >>638 全然本質的な解決にはならないけどR1C1形式にすればセル参照含め同じ数式になって多少は見やすいぞ
651 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 19:58:52.20 ID:BpmudOIO.net] >>638 その考え方が間違いだろ フォーマットは統一しろよ みて確認なんかしない
652 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 20:04:10.53 ID:kdt5VzkQ.net] >>640 何を言ってるんだ? 一見してフォーマットが統一されているように見えていながら 誰かがミスして数式が壊れたり、修正が必要な時に漏れたりするから 問題だって言ってるんだろ。 フォーマットを統一するのに「人間がミスをしなければ」という 不可能な条件があるから、だめなんだよ
653 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 20:21:45.21 ID:BpmudOIO.net] >>641 個別に修正なんかしない そんな事するからミスをする
654 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 20:22:49.28 ID:kdt5VzkQ.net] > 個別に修正なんかしない シートにデータ入れる時点で修正するんだが?
655 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金)
] [ここ壊れてます]
656 名前:20:24:13.41 ID:kdt5VzkQ.net mailto: そうそう。エクセルというか表計算は データと処理(セルに入れる関数)と見た目(色等)が 一つに結合してしまっているという大きな欠点があったな。 分離されてないので、何かを修正する時に 別の何かまで変更してしまって、それに気づかない。 [] [ここ壊れてます]
657 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 20:27:00.42 ID:BpmudOIO.net] 行でデータを作ったら 列には必ず同じ数式しか入れない バカなことしてたら何時までも進歩しない
658 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 20:29:31.50 ID:kdt5VzkQ.net] > 列には必ず同じ数式しか入れない 列には同じ数式入れるとかアホやろwww DRYじゃない。同じ物は一つだけでいい
659 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 20:30:26.99 ID:kdt5VzkQ.net] あ、DRYっていうのは同じことを何度も繰り返すなってことねw わかりやすく言えば、コピペするなってこと。
660 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 20:31:21.74 ID:BpmudOIO.net] バカに入力させるなら 式はロックしとけよ
661 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 20:39:29.55 ID:kdt5VzkQ.net] 「式をロック」したいだけなのに そうすると今度はセルの幅などが変えられなくなる。 細かく設定すれば可能だが、面倒くさい。 メンテナンスする人はいちいち解除しないといけない そして、どのセルがロックされているかわからない 頑張ればできるが・・・ どんどん無駄な頑張りが必要になる。
662 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 21:28:36.09 ID:gNUIO5L9.net] accessや.netで作るとメンテナンスもっと面倒だよ
663 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 21:41:38.90 ID:bJr/2B+h.net] >>627 そのエラーが出る部分のコードは?
664 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 11:19:08.13 ID:D8o23bai.net] >>649 それ、単に考えが雑なだけだろなんにしても 計画性もなく適当に増殖させるから自分でも制御できなくなる
665 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 11:37:11.36 ID:R4ZFT5Jg.net] セルロックは色々面倒くさくなるのは同意。ほぼ変更なしまで完成されてれば別だが。 なので、自分用とか、可能であれば、式セルに薄い色つけてる。
666 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 11:40:20.37 ID:D8o23bai.net] まあ、ある程度データが大きくなったら、データーはテーブル&数式で処理して 表示、印刷はピボットを使うかフォーマットを定義したシートでまとめろよ 目的も、機能も行き当たりばったりってExcelのシートもVBAも負担なだけ
667 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 11:50:25.55 ID:D8o23bai.net] >>653 コメント入れればいいんだよ、印刷しなければ問題ない 面倒くさいって、管理できればそんな必要はないけどな
668 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 12:09:21.02 ID:6byp94bf.net] その管理が面倒くさいって話 修正でシート変更したとして、 今度から新しいシート使ってくださいとか言っても 間違えて古いシート使ってきて、でも見た上違いわかんねとかさ エクセルファイルをコピーした分だけ プログラム(セルに入れる関数のこと)が複製されるから管理不能。 一つのエクセルファイルを共有して使うとか 何人も人がいればやらんだろ? それぞれ個別のエクセルファイル修正して提出とかだろ?
669 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 12:41:36.98 ID:DFBgdaK8.net] 削除や挿入でセルがずれない設定があればねぇ 今のところindirectしかない。indirect使うと数式が読みづらくて死ぬ
670 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 13:09:48.18 ID:3yfR9cCP.net] offsetで大体逝ける 始点がずれるのはむしろ使いやすい
671 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 18:07:35.12 ID:U599Z1h6.net] offsetか、滅多に使わないけどindirectよりは楽そうだ
672 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 09:28:16.57 ID:WyY+5dun.net] >>657 わかりやすい名前を付けてそれを使えばズレないだろし分かりやすい
673 名前:デフォルトの名無しさん [2019/04/14(日) 09:40:00.62 ID:C6oAesku.net] VBAの一番の欠点は情報が圧倒的に少ない 多言語の1億分の一くらいの情報量 質問してもアンサーが遅い
674 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 09:47:43.05 ID:Q3MA08tK.net] Webで有用な情報を発信できるレベルの人間ならそもそもVBAなんて使いたがらないからね
675 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 11:20:06.68 ID:CXJ+kocl.net] えー 少なくともの本後の情報は十分だろー
676 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 11:20:38.15 ID:CXJ+kocl.net] の本後→日本語
677 名前:デフォルトの名無しさん [2019/04/14(日) 11:25:05.41 ID:C6oAesku.net] 少しはみ出した使い方とかも出ないし想定内の情報のみ
678 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 11:29:14.13 ID:CXJ+kocl.net] まあね、最近のスマホの使い方みたいに 「見ればわかるよ」ってのが長々と書いてあるね
679 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 12:01:54.76 ID:8k8FRXsi.net] ツイッターでVBA検索しても出てくるだろ
680 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 12:23:51.23 ID:TZDtV4Z3.net] Excel VBAは玉石混淆だけどまぁまぁ情報はネット上に転がってる Access、OutlookのVBAも最低限の情報ならば探せる これがPowerPoint、Word、Publisherとかになると途端に情報量が減る
681 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 13:00:23.72 ID:XgRuwrtZ.net] >>661 は釣りだぞ 検索力低いですね^^;って返すとこまでがテンプレ
682 名前:デフォルトの名無しさん [2019/04/14(日) 15:06:27.05 ID:v38VY+Mw.net] 検索力の問題とかじゃなくて情報量が圧倒的に少ないのは事実 VBAプレイヤーの絶対人数が違うんだから当然だけど天才的な人もいない
683 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 15:09:37.61 ID:dD4X90o9.net] 天才的な人がVBAなんか使うわけないだろ
684 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 15:11:39.40 ID:XgRuwrtZ.net] VBAの情報量と言われても、EXCEL操作できればそれでいいんだからそれ以上何かいるんけ?
685 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 20:42:13.83 ID:ta3d6Ir8.net] 単純なExcel操作の範疇ならそこそこ有能そうな人の記事もあるよね 能力の低い人ほどそれ以上のことをVBAでやろうとするからな
686 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 08:13:02.92 ID:ZEg6Csuk.net] VBAしか見ないから少ないと感じる。 普通のExcel操作なんて皆知ってることばかりだろう。
687 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 08:13:28.72 ID:ZEg6Csuk.net] VBAしか見ないから少ないと感じる。 普通のExcel操作なんて皆知ってることばかりだろう。
688 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 09:47:45.91 ID:HgdD6hHz.net] パワーポイントとワードは同じVBAでしょはよ作ってね たかがvbaだし期間なんて要らないよねよろしくー みたいなん多くてうげーてなる
689 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 11:01:10.68 ID:OAOOS1Vr.net] >>676 すまないが、日本語で書き直してくれ
690 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 11:24:35.03 ID:K9PTdoK0.net] わかるけど...
691 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 12:40:48.29 ID:Es8LFln/.net] >>677 こういうことだろ 上司A 「パワーポイントとワードは同じVBAでしょ、はよ作ってね」 同僚B 「たかがvbaだし期間なんて要らないよね、よろしくー」 俺 「うげー」
692 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 17:13:58.76 ID:IzRYxIuW.net] 恥を忍んできくが WordのVBAって、なんか使い道あんの? オレは全角半角統一とか 余白ほかレイアウト調整とか 定型文挿入とか そんな簡単なのは自作して使ってるけど 「高度な使い方」ってのが思いつかない 文章中心のデータに 定型処理って需要があんのかね
693 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 17:23:54.84 ID:Es8LFln/.net] >>680 そんだけ活用できてれば十分じゃん 言語仕様を制限する方が余計な手間がかかるから、そのままなんでも使えるようにしてあるだけだろ 高度かどうかは置いといて、Word VBAの使いみちとしては、印刷物の寸法をちゃんと合わせたいとき Word文書にVBAで罫線なりシェイプを書き込めばいいんじゃない?
694 名前:デフォルトの名無しさん [2019/04/15(月) 17:36:56.85 ID:OAOOS1Vr.net] >>679 すごいな、読む気がなかったかもしれん >>680 俺は、使ってっるリストボックスで選択した文字で 文書を変更して印刷している 高度である必要あるの?便利であればいいんでないの
695 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 17:41:14.99 ID:UiI6zhV3.net] >>681 >>682 ああなんか救われた気がする スレチ気味の質問だったが ありがとう 素朴でも便利な小道具つくって行くわ
696 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 17:41:23.11 ID:Es8LFln/.net] 【1 OSの種類 .】 Windows10 Pro 64bit 【2 Excelのバージョン 】 Excel 2019 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 Visual Studio Community 2019を入れたら、Excelの設定があちこち勝手に書き換わってしまいました そのうちの一つとしてVBEでスニペットが表示されなくなったのですが、直し方を教えてください
697 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 17:49:48.06 ID:RSa+mOrL.net] >>680 スレタイ読めない馬鹿は死ね
698 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 19:14:26.59 ID:32DOVlq8.net] >>680 昔作って、超低頻度だが役に立ってるのが、Windows乗り換えたときに全フォントのサンプル表示と印刷。 各種プログラムソースに色付け、A3縦二段組印刷。(最近はイチから解析しなくなったな〜…)
699 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 19:20:00.80 ID:+NR2IFvh.net] >全フォントのサンプル表示と印刷。 これ面白いな
700 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 19:35:47.06 ID:ZEg6Csuk.net] >>680 ExcelVBAのソースコードを自動で色付けするのに使ってる。
701 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 19:39:30.60 ID:ZEg6Csuk.net] >>686 VBAのキ−ワードの色付けは誰かがやってたからそれを貰って、コメントの色付けを追加して使ってる。
702 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 22:51:44.23 ID:bKeRxbfM.net] >>680 >WordのVBAって、なんか使い道あんの? ファミコンのエミュレーターとか。
703 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 23:20:36.68 ID:cJmtAKHt.net] >>684 VSCodeでVBAを書け 以上
704 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 23:37:02.12 ID:NJLxUmAX.net] Word VBAでVisualStudio作ろうぜ!
705 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 06:55:26.74 ID:297VTHLy.net] >>690 は想像もつかないが ほかは参考にさせてもらうわ ありがとう
706 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 07:45:09.88 ID:BVl9qEwk.net] WordのVBAはWord文書をgrepするときに使うくらい
707 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 18:45:28.10 ID:e8yfqTUa.net] フォルダ内に存在するファイルが以下のように構成されています 2019-1-1 2019-1-2 2019-1-2修正1 2019-1-3 2019-1-4修正1 2019-1-4修正2 この時、それぞれの日のファイルのうち最も新しい物から値を吸い上げたいです そこでまずはdir(ファイル1*)とdir()で更新日を比較、大きなものと次を比較...とやろうとしたのですがその場合日付が1桁表記であるため1-1と1-11の比較となり1-11が採用されてしまいます この問題を解決するにはどのようなアプローチで行えばよろしいでしょうか? なお、日付の次は必ずしも「修正」ではなく別のコメントの場合もあります ヒントなど頂けますと幸いです
708 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 18:48:04.20 ID:e8yfqTUa.net] すみません訂正です 1-1と1-1*で比較をしようとすると、狙いとしては”1-1修正”がある場合その比較だったのですが1-1と1-11の比較、1-11と1-12の比較...1-19(あるいはその修正版)が選ばれてしまいます
709 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 19:02:23.87 ID:g+D3y3HH.net] >>695 "修正"の文字列が凶悪過ぎて無理だな "修正"がなければsplit()で分けて、日付データにしてしまうのが一番手っ取り早いんだけど 2019-1-2-修正1 なんてあったらお手上げ
710 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 20:00:26.84 ID:dymnkria.net] >>695 ファイル名ではなくファイル自体の更新日で比較は? 可能ならファイル名の付け方を考え直した方がいいと思うが
711 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 20:24:24.92 ID:dymnkria.net] すまん>>696 読んでなかった Dir("1-1*")で"1-1修正"も読み込まれるはず ファイル名が"1-1 修正"になってるってことはないか? それとDirはファイル名昇順で返すから比較せず最後に読み込んだファイル名を使えばいいと思う
712 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 20:48:56.77 ID:akR/dKKk.net] >>699 1-1修正 1-1最新 なんてのがあると、タイムスタンプ無視して修正が最後になるぞ コメントが不定なら、数字とそれ以外の文字を判定して切り分けるしかない
713 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 20:53:51.23 ID:g+D3y3HH.net] 1-1修正 1-12回めの修正(「1-1 2回めの修正」のつもり) ってパターンもあってもうこれ絶対にヤバイ処理
714 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 21:09:05.64 ID:dymnkria.net] >>696 すまん更に勘違いしてた "1-1修正"が出て来ず他のが出てくると言ってるのかと勘違いしてた >>698 が無理ならファイル名をsplitで"-"で切って、3つ目の文字列から左2文字のうち数字だけ取得する ただし>>701 の言うようにコメントの最初に数字が来ることがあるならどうしようもない
715 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 21:16:48.22 ID:nc1CJru4.net] postfix扱いの「コメント」に規則性がないのならそもそも最新版を特定する術がない 運用の方を変えるべきだろう
716 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 21:43:33.41 ID:g+D3y3HH.net] 最新版以外はoldフォルダ作ってそこにほおりこんでおく そうすれば超簡単に出来る
717 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 22:27:43.62 ID:XA2NKST4.net] >>それぞれの日のファイルのうち最も新しい物 新しいとする基準は何? ファイル名で修正1修正2ってあったら修正2が最も新しい? 日付部分のyyyy-mm-dd(ただしmmとddは一桁もあり得る)が固定なら 毎回癖のあるdirとワイルドカードなんて使わないでファイルリストすべて取得してから処理したら?
718 名前:デフォルトの名無しさん [2019/04/17(水) 05:30:44.38 ID:pTGno1t2.net] 新たにVBAライブラリを作ったりする人が全く出ないのが取り残された言語の欠点 他の言語は次から次へとライブラリが追加されてより便利に快適にそして簡単になるのに 終わってるVBAには将来性も可能性もないから仕方ないけどね
719 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 05:35:40.84 ID:JxFBTN19.net] Sub macro1() ChDir "指定フォルダ" 指定日 = "2019-1-1" f = Dir(指定日 & "*.*") Do While f <> "" t = timestamp(指定日, f) If t > 最新t Then 最新f = f 最新t = t End If f = Dir() Loop MsgBox "日付が" & 指定日 & "のうち最新の物は" & vbCrLf & _ "ファイル名 " & 最新f & vbCrLf & _ "日時 " & Format(最新t, "yyyy/mm/dd hh:mm") End Sub 'ファイル名の日の桁数をチェックして、一致したらタイムスタンプを返す '一致しなかったら0を返す Function timestamp(s, f) w = Mid(f, Len(s) + 1, 1) If "0" <= w And w <= "9" Then timestamp = 0 Else timestamp = FileDateTime(f) End If End Function
720 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 07:27:27.84 ID:Hz/wxCvM.net] >>706 確かに聞かないな 最新ライブラリで10年前とかの世界だ
721 名前:デフォルトの名無しさん [2019/04/17(水) 08:09:13.25 ID:pTGno1t2.net] フォームにしてももう少しグラフィカルだったりアニメーションだったりするだけでイメージが全然違うんだけど 頭の良い誰がライブラリを作ってくれんかね
722 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 08:31:50.49 ID:WtvpNXmt.net] 多くの人にとって有用なライブラリを作れるほどの能力のある人なら、 VBAを便利にすることはVBAの延命や利用人口の増加を招き、それは
723 名前:即ち社会正義に反する行為であると理解しているからね [] [ここ壊れてます]
724 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 08:45:03.90 ID:H1v/4DiF.net] >>706 vbaにライブラリって何か必要? 中途半端なの出てきてもそれ覚えるの面倒なんだよね jQueryぐら便利で誰もが使ってるようなのならいいんだけど
725 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 08:46:34.13 ID:H1v/4DiF.net] >>710 まぁそういう事でもある
726 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 08:50:05.84 ID:W5uIlXM9.net] VBAのライブラリ作るよりCOMにしちまうんじゃないの? VBA以外にも使えるし。 そしてCOMのライブラリなんて腐る程有るんだが何を言ってるんだ?
727 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 08:50:52.58 ID:W5uIlXM9.net] 実際、俺はVBA用にC#でライブラリ作ったりしてる。
728 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 09:15:11.32 ID:YsMOLNBK.net] >>714 二つ質問 それってCreateObject でインスタンス作って使うの? どういうジャンル/用途のもの?
729 名前:デフォルトの名無しさん [2019/04/17(水) 09:30:09.47 ID:vaRlkwxk.net] フォームUIのライブラリを希望
730 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 11:17:15.83 ID:SIKwKn9k.net] >>711 > vbaにライブラリって何か必要? こういう文脈のライブラリなら アルゴリズム系のライブラリだろ? ソートとか配列に対する処理(合計求める)とか VBAの言語の範囲内で実装できるアルゴリズム あと大きめのやつならCSV読み書きとか テンプレートエンジンとか
731 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 11:18:11.01 ID:SIKwKn9k.net] >>711 > 中途半端なの出てきてもそれ覚えるの面倒なんだよね ライブラリの関数名はどの言語にも有るような名前にするので 一般的なプログラマなら覚えるまでもない
732 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 11:27:39.85 ID:YsMOLNBK.net] >>717 一般アルゴリズム系とかCSVならいっぱいあるでしょ テンプレートエンジンってなに?
733 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 11:36:17.09 ID:H1v/4DiF.net] CSVの読み込みほしいな 住所の番地"1-1-1"を読み込むと日付になって超めんどい 幾つか試したけどどれやっても日付型になってしまった 今思えば頭にピリオドでも付ければ良かったのかもしれん
734 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 11:59:21.48 ID:o6t++Kqu.net] >>695-707 Ruby では以下。 ただし、Date オブジェクトに変換して比較しているから、同じ日付の順序付けは、不明 require 'date' filenames = %w(abc 2019-1-11さらに修正1 2019-1-11修正2 2019-1-11修正1 2019-1-11 2019-1-1 2019-01-01) re = /^(\d[\d-]+)/ # 数字で始まり、数字かハイフンだけが続く # マッチしたものだけを集めて、ソートする。md[ 1 ] は、capture 部分 p results = filenames.select { | fn | fn.match( re ) } .sort_by { | fn | md = fn.match( re ); Date.parse( md[ 1 ] ) } p results.first 結果 ["2019-1-1", "2019-01-01", "2019-1-11", "2019-1-11修正1", "2019-1-11修正2", "2019-1-11さらに修正1"] 先頭 "2019-1-1"
735 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 12:02:53.03 ID:H1v/4DiF.net] >>721 もうすぐ無くなる言語の話なんてやめようよ
736 名前:デフォルトの名無しさん [2019/04/17(水) 12:23:13.47 ID:vaRlkwxk.net] ルビーバカシネ
737 名前:デフォルトの名無しさん [2019/04/17(水) 12:27:00.37 ID:MK1B34x/.net] ライブラリで有効なのは作るのが面倒なUIだろ グラフィク系にこそライブラリの有り難みがある
738 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 12:39:27.60 ID:epFgj98z.net] そもそもVBAに固執するのは他のものを覚えたくないからであって、 いくら便利なものがあろうと誰もそれを探そうとしないし覚えようともしない それができる人ならとっくにVBAなんか卒業してるよ
739 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 12:41:31.12 ID:H1v/4DiF.net] >>725 卒業てw適材適所だよ。EXCEL関連の時はvba、webはphp+js、ゲームはC# これぐらい使い分けときゃだいたいok
740 名前: [] [ここ壊れてます]
741 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 12:44:56.01 ID:epFgj98z.net] >>726 VBA使う人には他のものが使えないから使ってる人と単に選択肢の一つとして使ってる人がいて、君は後者であるというだけだ 大多数は前者なわけだし、後者の人はVBAでやりづらいことを無理にVBAでやろうとはしないからライブラリ云々は問題にならないだろう
742 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 13:11:34.01 ID:bcLxo1zC.net] >他のものが使えない は他のものを覚えたくないだけでなく 他のものを使わせてもらえないというのもある
743 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 13:16:11.24 ID:epFgj98z.net] >>728 仕事を選べないor技術的裁量を持てない立場に甘んじているならその程度の能力ってことだ 本質的には大差ない
744 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 14:04:48.27 ID:bcLxo1zC.net] 使わせてもらえないのはごく一部の相手なんですけどね ほかは普通にいろいろ使ってる
745 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 17:43:39.08 ID:yZ8b1h33.net] アドインはどうよ?
746 名前:デフォルトの名無しさん [2019/04/17(水) 18:24:57.64 ID:nv4avm/j.net] 自治体だと、テキストエディタすらウインドウズ標準のものしか使えない。インターネットから切り離されてる不自由な環境なので、VBAとかVBSは重宝される、らしい。
747 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 18:30:47.49 ID:SIKwKn9k.net] >>732 そういう馬鹿なところのために、 マイク・スピーカー端子経由でデータのやりとりをする ツール作ったら便利なのだろうかね?
748 名前:デフォルトの名無しさん [2019/04/17(水) 18:35:35.55 ID:nv4avm/j.net] >>733 頼む、作ってくれ!、とのこと
749 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 18:36:55.93 ID:W5uIlXM9.net] 個人的には申請出せば色々使えるけど、それが面倒くさいというのもある。 どうせ、VBAでどうとでもなる。 よっぽどどうにもならない場合は申請出すけど。 最近流行りのRPAとか全く必要無い。 簡単にソース作成する個人ライブラリが既にある。
750 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 22:16:54.35 ID:JxFBTN19.net] PC-8001ではカセットテープにプログラムを保存したんだよな それを最近のPCで録音して、音声ファイルからプログラムデータを復元するWindowsアプリがフリーで公開されてる
751 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 22:20:25.13 ID:WIrsZtM7.net] FAXみたいな原理だな
752 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 23:42:32.81 ID:yDlOAXUg.net] 下手なの作ってフリーズしたり過去のデータが消えたら責任とれるの?って話になるからな
753 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 00:51:43.65 ID:247lpqF0.net] ITに戦略がないとそうなる
754 名前:デフォルトの名無しさん [2019/04/18(木) 05:33:25.25 ID:nRTUz+FV.net] ライプラリってそんな知る人ぞ知るってマイナーな使い方じゃなく簡単に情報入手出来るようになって価値があるよね 汎用性があり改変もしやすくオープンなのが増えると良い。 そんなのVBAじゃなくともって言う人もいるけどそれでもVBAが存在して使用されてるんだから有用なライプラリはあった方が良い
755 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 07:22:37.37 ID:hrv1qdCF.net] GithubでVBAっていれて検索すると3000以上のリポリトジがあるけど、 どうすれば有用なものが見つけられるか まるでわからん
756 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 07:34:41.63 ID:z0cRqxOE.net] VBAが有用じゃないし
757 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 09:32:20.75 ID:bMzi6GVd.net] なんとなくvba利用しているような運用職なんですがモノは良いのでもっと横展開出来て再利用性高いものが作れたら作って欲しいと言われました 再利用性が高いとはつまりどういうことでしょうか… モジュールをそのままコピペして全く別のものでも動くように…?
758 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 09:40:51.83 ID:Mwr+qk/V.net] >>743 決め打ちとしてない? データ全部を処理する時にfor i = 1 tto 100000とかテキトーな数値にしたり そうじゃなく、最終行をちゃんと取るとか
759 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 09:44:43.23 ID:PeuY0IP9.net] >>743 言ってるやつに聞け。 まあどうせ無理だろ? どうせそいつが言ってるのは、他の部署でも使えるようにしろってことだろうから 業務内容を統一したものに "変更" しないと無理ですとか言っとけw
760 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 09:47:38.84 ID:PeuY0IP9.net] > 横展開出来て再利用性高いものが作れたら作って ↑これ無理なんだよ。 今あるものを再利用性が高いものにすることはできない。 ただし「再利用性が高いもの」を使うことはできる。 どういうことかというと「今あるもの」は再利用できるものと 再利用できないものが合体してる形。 そこから再利用できるものを分離することはできるが どうしても再利用できないものは残る。
761 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 10:15:32.81 ID:66UDqgKZ.net] そうやって責務を分離して再利用性の高いライブラリを構築することは可能。 しかし使いこなすのが難しくなる。 依存関係や凝集度をちゃんと考えた良質なライブラリは玄人受けはするだろうけど、 機能が細分化し抽象性も増すから一般人には豚に真珠状態。
762 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 11:53:10.58 ID:sbpDgPak.net] まずはモジュール化 その会社の業務内容に合わせて、部署が違っても共通で使える部分をライブラリとして整備する まあ言うのは簡単だけど、実際に作るのは死ぬほど大変なんで、理想の高さに比例した地獄が待ってるんだけどな
763 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 13:21:10.78 ID:PeuY0IP9.net] > その会社の「業務内容」に合わせて、「部署が違っても共通で使える部分」 そんなものは存在しない。 業務内容から生み出されている時点で、業務にべったり依存してる。 再利用性の高いライブラリっていうのは、業務内容を切り離している。 業務内容と関係ないから、共通で使える。
764 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 13:36:25.79 ID:/sUch5Kf.net] 自分の理解で合ってるか確認したいんだけど再利用性高いてのは決め打ち無くして例えば引数とかで使えるようにしてモジュールなりを使い回せる状態 だけども再利用性ない部分(呼び出し元?main?)を作らないといけない限りこれ1つあればどの業務、案件でも使える!てことにはならない ライブラリ化?とか再利用性を高めることは出来るけど中々難しく初心者には険しい て感じでおけ?
765 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 15:07:10.61 ID:66UDqgKZ.net] >>750 ライブラリと業務寄りアプリの難しさは別種のもので初心者にはどっちも難しい。 とはいえライブラリは小さな便利ツールをピンポイントで一個一個作っていくことができる点で ハードルが低い面はある。
766 名前:デフォルトの名無しさん [2019/04/18(木) 15:19:41.42 ID:YY/ze1GU.net] 無理だと言うやつには無理のんだろう 汎用性の高いのは別に問題ないのでは?エクセル自体はどの部署でも使ってるんだから追加でどこまで機能を絞るか縛りを緩くするかの問題でしょ
767 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 16:05:19.35 ID:FYzqO+ri.net] プログラム板の他スレじゃ相手にされない半端者がここならドヤ顔で語れるだろうって調子に乗ってて草
768 名前:デフォルトの名無しさん [2019/04/18(木) 17:34:24.27 ID:Mwk0+ScA.net] 他プログラムはサンプルや情報が多いからVBAより簡単に現象を獲得できる
769 名前:デフォルトの名無しさん [2019/04/18(木) 17:41:24.05 ID:Mwk0+ScA.net] そもそも他言語はシンプルだしVSならガッツリとインテリセンスが効くから簡単に書けて工数も少なくて済む 文法もVBAは難しい部類
770 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 21:55:37.18 ID:CoHPfDW+.net] 難しいというか不合理なんだよな 内包表記やヌル安全やモナドみたいに別に難しい概念があるわけでは無い
771 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 22:12:05.40 ID:sbpDgPak.net] 完全な言語なんて存在しないし作るのも不可能
772 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 22:18:06.03 ID:rY75T8tq.net] >>757 小学生みたいな発想スね
773 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 22:25:43.62 ID:NyxG62A4.net] 漠然とした話からは何も産まれない
774 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 23:02:30.65 ID:ZviCYbcp.net] マクロでブック開くと、データ量が多いブックの場合開き終わるまで拘束されてしまう。 開き終わってセルに書き込みできるまでに他の処理をさせたい if application.Ready=False then (その間にやる処理) endif こんな感じに、開くまでの間になにか処理をさせたいのです。 なにかできる方法があったら教えてください その重いブックは自分で作ったものじゃなくてすぐに改善はできない状況です よろしくお願いします
775 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 23:26:59.03 ID:1fisAtwZ.net] 一瞬、マクロを実行するファイルそのものを開く時の待ち時間かと思ったわ。 VBAじゃなくて、VBSで開かせるなら出来なくもなさそうだけど。
776 名前:デフォルトの名無しさん [2019/04/18(木) 23:32:51.10 ID:RfIDmYfE.net] VBAやUWSCのプログラムちょっとできる程度なんだが組み込みのソフトウェア部に転身しろと先輩から言われる。 ちなみに今は製造部の使えないやつ扱いをうけている模様。 これは辞めろってことか
777 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 23:38:14.35 ID:rY75T8tq.net] >>762 現場が分かるシステムが欲しいんだろう かなり必要とされてるように見える。行ってみたら良いだろう いずれ製造なんて自動化でなくなる部門何だしている
778 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 23:39:24.29 ID:ycswSyUn.net] >>760 他の処理ってのがExcel操作だったら無理 ExcelはSTAのCOMなので複数のスレッドからアクセスしても常にタスクを直列にシリアライズして逐次処理する 一個の処理で詰まると後が渋滞するだけ Officeの他のアプリのVBAとかPowerShellとかJSとかVBSとか、別の言語のプログラムをキックして他のエンジンで処理を実行させることは可能 後でウィンドウなりファイルなりにアクセスすれば処理結果も取れるし
779 名前:デフォルトの名無しさん [2019/04/18(木) 23:42:06.58 ID:RfIDmYfE.net] >>763 ありがとう。 その自動化するための機械作ってるのがうちの会社なんだよね。 機械のソフトウェアだからCとかパイソンになるのかな? 一応情報卒なんだけど自信ないよ
780 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 23:47:17.30 ID:NyxG62A4.net] >>765 何で遅いか調べないの? 外部リンクとか、シート間参照が多いとか
781 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 23:47:45.92 ID:rY75T8tq.net] >>765 そうなのか 言語は多分C辺り、pythonは無いと思う 一度面談受けたら?分からない事がさすがに多すぎる
782 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 23:50:56.85 ID:NyxG62A4.net] >>766 すまんアンカー間違えた
783 名前:デフォルトの名無しさん [2019/04/18(木) 23:51:11.62 ID:RfIDmYfE.net] >>767 Cだよなぁ、ポインタで挫折しちゃったけいけんがあるんだよなぁ。数字の羅列はやってても楽しくないんだよなぁ。グラフィックに実行結果出ないとつまらないんだよなぁ。 でも一生製造で終わりたくはないし…話ししてみようかなサンクス
784 名前:デフォルトの名無しさん [2019/04/18(木) 23:51:26.61 ID:RfIDmYfE.net] >>768 ええんやで
785 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 23:59:44.00 ID:tULlneIt.net] >>764 Excel.Application複数起動してもダメなの?
786 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 05:04:11.19 ID:F+IfR3tb.net] accessのテーブルに接続するデータテーブルをVBAでrefreshallした時に、 読み込み完了前に次の処理に進むのを止めることできますか? stopで一時的に止めればいけるけれど、読み込み完了後に次処理に自動的に 進めたいです。
787 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 08:11:56.05 ID:WxAK0tT/.net] >>771 たぶんできる。 >>764 は思慮が足らないと思う。
788 名前:デフォルトの名無しさん [2019/04/19(金) 10:27:04.15 ID:L5evqwYE.net] >>773 Excel2010までは簡単だったがExcel2013から複数インスタンスの起動は難しくなったようだな ただ、所詮重い処理をそのままにして複数起動してももっと重くなるよな そもそも、重い原因を確認しないと、自動計算を止めれば早くなる可能性もあるが それをやっていいかもわからん
789 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 11:03:21.04 ID:Bg8kiXU6.net] 正直、余計なことをせずに静観しておいたほうが良い気はする
790 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 11:49:18.40 ID:tnpUi0yI.net] これもそうだな 漠然とした話からは何も産まれない
791 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 13:51:24.35 ID:ZnDHFpRl.net] けどこのスレの人間って、無駄話で罵り合いするの好きだよね w
792 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 14:22:48.38 ID:L5evqwYE.net] 漠然とした話から連想ゲームして、自分語りを始める で、好きな事違うから無駄な話が続くんでない
793 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 15:58:50.09 ID:k3MrA8ng.net] VBA界には有名人がいないから、いじる対象がないってのもある 他言語だとコミュニティの顔みたいな存在がちらほらいるけどVBAは活動自体ないからな
794 名前:デフォルトの名無しさん [2019/04/19(金) 18:35:20.89 ID:bifIXaiQ.net] ないねぇ オープンマインドじゃないし自分の考えが正論だと信じ込んでるから新しい発想は受け入れないもん 全部排除
795 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 19:33:45.34 ID:F+IfR3tb.net] >>772 解決しました
796 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 21:09:28.46 ID:+TCHgQUv.net] 書道家にWord使ったほうが早いのにとか言っても仕方ないだろ? VBAは伝統芸能なんだよ
797 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 21:28:42.21 ID:hMAGCQp2.net] 書道家だってWordくらい使うだろ
798 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 21:31:43.30 ID:GnXLTXUb.net] しょれはどうか? しょどうか?
799 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 22:09:23.17 ID:muLZwW/F.net] >>780 オープンマインドってなんですか?
800 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 00:10:38.45 ID:xcWVlBQQ.net] 昇順で並べたデータ(日付など)の変わり目に一行挿入を繰り返すマクロは作れるかな? セルの差分の列を作って0でないところに行挿入を考えてるんだが、他に何かないでしょうか先生方
801 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 00:19:14.02 ID:qwsd80fG.net] >>786 上下のセルの内容が同じじゃなかったら挿入
802 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 00:30:38.72 ID:xcWVlBQQ.net] >>787 これは早速素晴らしい案をありがとう!よほどシンプルに行けるわ
803 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 00:41:38.87 ID:lNRl64h3.net] >>788 念の為、 for i 最終行 to 2 step -1 で回すんだぞ
804 名前:デフォルトの名無しさん [2019/04/20(土) 01:43:17.46 ID:ojpyozsg.net] このスレだとプログラマではないひとの質問が書かれるか。
805 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 02:10:30.65 ID:SAylvlqW.net] >>789 行がずれるから逆から回すということかな、助かりますありがとう!
806 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 02:37:10.84 ID:lNRl64h3.net] >>790 そりゃそうだろう vba使う層って事務のにーちゃんねーちゃん+できる営業マンが片手間に使うぐらい
807 名前:デフォルトの名無しさん [2019/04/20(土) 06:25:29.61 ID:X4+f+v7V.net] VBAをプログラムだと思ってる人はいない
808 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 07:10:53.95 ID:ZcIJD8m+.net] きみの勝手な思い込みだよ、 と思われたくないなら客観的な根拠をあげた方がいいね
809 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 08:13:49.91 ID:tWWHyzwg.net] エクセルの画面が右上に飛んで行って、 画面に「どこいくね〜ん!」って表示させるのはどうでしょう?
810 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 08:27:11.00 ID:9HZyCDJw.net] >>779 居るだろ。 君が知らないだけじゃね? パッと10人くらいは思いつく。
811 名前:デフォルトの名無しさん [2019/04/20(土) 09:01:22.69 ID:Khb9Fcy
] [ここ壊れてます]
812 名前:X.net mailto: >>796 例えば誰? [] [ここ壊れてます]
813 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 10:40:51.92 ID:50ElbllH.net] >>797 聞いちゃいけない事ってあるだろ、ニタニタで我慢しろよ
814 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 11:00:20.54 ID:hWWI2xiJ.net] どうせtwitterのキーワード検索にVBAって入れて出てきたやつとt.tanakaぐらいだろうよ
815 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 11:38:03.85 ID:9HZyCDJw.net] Office田中さんはその内の1人だね。 あとはA○○○さん、k○○○○○○さん、魔○○○○○○さん、じ○○○○○○さん、熊○○○さん、K○○さん、き○○○さん、s○○○○さん、y○○○○○○さん、Y○○○○○○さんとか。 き○○○さんは今も活躍されてるけど今は見かけなくなった人が多いけどね。 .netの方へ移動された人もいるし。 ここ数年でVBAやりはじめた人じゃ知らないのも無理無いが。
816 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 11:40:06.78 ID:9HZyCDJw.net] ああ、A○○○さんはA○○○○さんだった。 今はA○○○○○さんかな。
817 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 11:47:01.11 ID:hWWI2xiJ.net] >>800 T○○○さんもI○○○○さんもいないじゃないか
818 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 11:49:12.54 ID:lNRl64h3.net] 名前は覚えてないな サイト見たら大体思い出す
819 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 11:50:13.86 ID:lNRl64h3.net] Office田中はサイトの修正点を送っても反映してくれないのがネック 後続のためにも直してくれ〜
820 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 12:06:15.09 ID:hWWI2xiJ.net] 解説系とライブラリ提供系に分けられるがそれなりに有用 しかしコミュニティを形成してるかと言うとちょっと
821 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 12:20:16.39 ID:9HZyCDJw.net] >>802 I○○○○さんは想像つく。 けど、俺がいた所じゃ見かけたことが無い。 そういやtwitterで発言されてるらしいけど、俺VBA関連はtwitter見て無いんでな。 T○○○さんは想像つかないな。 田中さんは有名人だけどあの人のサイトでは教わることは無いな。 基本的に全て知ってることだから。 でも>>800 で挙げた人達は全員俺よりかなりレベルが上だ。
822 名前:デフォルトの名無しさん [2019/04/20(土) 12:22:08.90 ID:n0GthIX7.net] VBAのworksheetfunction.vlookup関数で 該当の値がないときエラーを回避してそこの処理は無視させるにはどんなコードを書けばいいですか? 該当なしだと問答無用でエラーが出て止まってしまう。
823 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 12:27:26.17 ID:9HZyCDJw.net] >>807 >>423 からの流れを読んでね。
824 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 12:29:15.35 ID:lNRl64h3.net] >>807 'forなどで回す時はラベル付けて飛ばす Sub foo() On Error GoTo err For i = 1 To 5 bar = WorksheetFunction.VLookup(1, Range("a1"), 1, 0) 'エラーじゃない時の処理 err: '共通の処理。無ければ何も書かない Next End Sub '使い捨てプログラムならonerrorで囲んでしまうという手もあるが、あまりオススメできない Sub foo() On Error Resume Next 'エラーを無視 bar = WorksheetFunction.VLookup(1, Range("a1"), 1, 0) On Error GoTo 0 '無視を無効化 End Sub
825 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 12:43:34.58 ID:50ElbllH.net] >>809 お前ね何度書けば・・・ Sub foo() On Error GoTo err For i = 1 To 5 bar = WorksheetFunction.VLookup(1, Range("a1"), 1, 0) 'エラーじゃない時の処理 goto 共通 err: ERR時の処理 共通: '共通の処理。無ければ何も書かない Next End Sub
826 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 13:02:36.97 ID:lNRl64h3.net] >>810 ちゅまん
827 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 13:23:10.42 ID:50ElbllH.net] >>811 てか、WorksheetFunction.VLookup(1, Range("a1"), 1, 0) 見過ごしたけど、これ何?
828 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 14:04:44.42 ID:lNRl64h3.net] >>812 引数を適当に入れただけ
829 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 14:36:59.58 ID:tWWHyzwg.net] >>807 Trueならエラー起きないんじゃない?
830 名前:807 [2019/04/20(土) 15:39:14.34 ID:J0kjNxAu.net] on errorはセンスがないように感じるのですが。 わたしのセンスがon errorを使うことを許しません。 どうしたらいいですか? こんなとき定番のような方法はないですか?
831 名前:デフォルトの名無しさん [2019/04/20(土) 15:49:30.44 ID:Khb9FcyX.net] on errorで問題ないならそれで
832 名前:良いじゃん そんな瑣末な事に時間を使わずにもっと生産性のある事に時間を使って組織や社会に貢献して下さい [] [ここ壊れてます]
833 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 15:56:13.97 ID:9HZyCDJw.net] On Errorを使うのがセンス無い? 何処の初心者だ? 想定された動作なのに一緒くたにするのが嫌というならOn Errorの使い方を知らないだけだろ。
834 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 15:56:41.52 ID:tgvbScEy.net] >>815 センスとか気になるならVBAに関わるのは止めた方が良いよ
835 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 15:58:32.36 ID:tgvbScEy.net] >>815 ID:9HZyCDJwのキチガイが起こってるぞw
836 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 16:10:16.59 ID:9HZyCDJw.net] >>819 センスの無いお前には言われたくね―なw
837 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 16:44:47.04 ID:lNRl64h3.net] vbaにtrycatchが無い以上、onerrorで分岐するしかない ただ今回に限って言えば、ワークシートにvlookup()を入れてその結果で分岐させることは可能
838 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 17:45:57.42 ID:V7SrR6WW.net] こんな方法もある Range("Z1") = WorksheetFunction.VLookup( 略 ) 結果をどこか空いてるセルに入れてしまえば、エラーでも止まらずに結果を判定することができる もうひとつ、試したことはないけど WorksheetFunction.Iferror( WorksheetFunction.Vlookup ( 略 みたいな方法でもエラーで停止するのを回避できそうな気がするけど、Vlookupで止まるかなあ
839 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 17:53:15.47 ID:V7SrR6WW.net] >>822 間違えた こうだった Range("Z1") = Application.VLookup( 略 )
840 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 17:58:05.16 ID:yRp1LpZz.net] ちゃんとエラー番号調べて処理すりゃ良いだろ
841 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 18:00:15.98 ID:KuIF036/.net] >>823 なんでセル 変数でいいじゃん
842 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 19:12:25.83 ID:tWWHyzwg.net] じゃあLeft Outer Joinで。
843 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 19:43:05.64 ID:qwsd80fG.net] >>807 ・VlookupじゃなくてFindを使う ・事前にcountifとかエラー値が返らないもので存在確認してから使う ・worksheetfunctionの代わりにApplication.VLookupを使うと見つからなかった場合N/Aが返るが、旧バージョンの命令だからあまりおすすめしない
844 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 10:03:39.80 ID:fPscZosh.net] 質問者は、もっと具体的に書くべきだな、対応方法は多種多様にあるから 質問に対するベストな回答が、質問者の意図するベストの回答とは限らん
845 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 15:50:42.83 ID:4kO5c1T5.net] もうね、On Error Resume Nextが嫌とか、宗教だと思うんですよ。
846 名前:デフォルトの名無しさん [2019/04/21(日) 15:59:22.44 ID:IGJB+uLA.net] んて訳の分からん面倒なコードを書くとかキチってるよね
847 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 16:03:59.70 ID:h3OWzsvU.net] >>829 でも配列の次元すらOn Error 使わないと求められないってひどくないですか?
848 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 16:50:25.73 ID:7jtZEDKn.net] >>831 何も分かってないんだから大人しく使いなよ
849 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 17:30:52.05 ID:fXlSQHRa.net] >>832 ほう、じゃやり方を教えてくれよ
850 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 17:35:25.49 ID:7jtZEDKn.net] >>833 ? だから文句言わずにonerrorを使えば良いだけなんだが
851 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 17:37:30.55 ID:VJZKP3mE.net] >>831 お前の言ってることは結局、コ−ド書かないと動かないって酷くないですかってのと同じ。
852 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 17:51:22.14 ID:fXlSQHRa.net] >>834 アスペか? 配列の次元を取得するのにOn Errorを使うなどという事自体は酷い。これは事実だ。 それに対して「何も分かってない」とdisる以上、On Errorを使わない真っ当な方法があると解釈するのが当然のこと。
853 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:06:20.94 ID:jEVddS48.net] そこじゃないよ vbaの酷い点はtrycatchが無い事
854 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:15:35.13 ID:VJZKP3mE.net] >>836 酷い?なぜ? と言ってるんだろう。
855 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:15:57.22 ID:hbj2KyMO.net] 客見ずにマウント取り合いってツルッパゲのする事 産毛すら無い
856 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:16:48.81 ID:blm05+38.net] >>835 流石にそれはないわ VB.NETやC#は普通にプロパティあるし
857 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:17:02.42 ID:VJZKP3mE.net] >>837 書き方の問題じゃね? 実質同じことが出来るんじゃないの?
858 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:19:22.95 ID:VJZKP3mE.net] >>840 それはVBAに無いものをあげつらっているだけ。 VB.netやC#に無いものをあげつらうことも出来るだろ。 そもそも何が酷いのかサッパリ分からん。
859 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:26:29.16 ID:fXlSQHRa.net] On Error とか例外機構っていうのは、メモリ不足とかファイルの不在なんかのソフトウェア的には想定しづらい 例外的な事象に使うものなんだよ。 例えば「関数引数に対する事前条件がもし守られていなかったら」なんていう ソフトウェア的に想定できるような事には例外を使うのべきじゃない。 ましてや配列の次元の取得なんてことに使うのは「ひどい」としか言いようがない。 それはセンスとかの問題じゃなくて常識だと思うよ。
860 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:33:13.89 ID:VJZKP3mE.net] >>843 で? 何が酷いの?
861 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:33:17.05 ID:uW2zy1zl.net] >>842 > そもそも何が酷いのかサッパリ分からん。 まじで言ってるの?
862 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:35:05.76 ID:KjSHT9nF.net] もともと有る機能を組み合わせて 目的の動作をするように作るしかない
863 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:42:35.76 ID:vxMMLTMP.net] >>845 そういう返しじゃなくて、教えてやれば
864 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:47:06.02 ID:VJZKP3mE.net] 例えば昔仕事で扱ったWin32APIのGetPrinterでは取得するPinterInfo2構造体のサイズを0にして渡して敢えて失敗させることによって正しい構造体のサイズを取得するなんてのがある。 再度正しいサイズで実行するやり方が想定されていて、そして失敗時はdllエラーも当然発生するなんてのが有るわけなんだが。 確かDevmode構造体を取得するする時に使うDocumentPropertiesも同じような使い方してたと思う。
865 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:48:35.29 ID:VJZKP3mE.net] >>845 結局取得できる。 何も問題無い。 お前のオナニー以外は。
866 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:48:56.55 ID:fXlSQHRa.net] >>844 まず次元の取得方が標準で用意されていない点が少しひどい。 さらにそのワークアラウンドがOn Error利用である点が一層酷い。 わかる? これでキミもバッチリだ。
867 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:50:13.13 ID:VJZKP3mE.net] >>847 >>832 じゃねーから何も考えておらん。
868 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:51:26.42 ID:VJZKP3mE.net] >>850 だからそれは無いものをあげつらっているだけ。 どんな言語にもあることだ。
869 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 19:11:57.22 ID:jEVddS48.net] >>841 実質同じ事って言い出すと何でもアリになってしまう onerrorしかないと可読性が大きく下がる ところでEXCELで次元数を取得する機会って一度も無いんだけど、 よく使う計算なのか
870 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 19:15:35.07 ID:sGJaU8ZR.net] >>853 可読性が下がる??? 書き方が悪いんじゃ無いの? そんなこと感じたことも無い。
871 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 19:17:57.47 ID:sGJaU8ZR.net] >>853 多分、配列を初期化したかしてないかの話じゃないかと思うね。 UBoundでエラーが出る話だろう。 で、Sgnが嫌なんだろう。
872 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 19:35:22.79 ID:uW2zy1zl.net] >>848 それはちゃんとドキュメント化されてるだろ On Errorで次元を取得するのとはレベルが違うよ 動けばいいと言うレベルのコーダーならいいのかも知れないけど
873 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 19:54:31.81 ID:sGJaU8ZR.net] >>856 何言ってるの? On Errorしかないのが正式なら同じだし、 On Error以外に正式なものがあれば問題ないし、 同じことじゃねーかw しかも後出ジャンケンかよw 結局言い掛かりもいいところだ。
874 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 20:04:00.06 ID:fXlSQHRa.net] On Error 以外に配列の次元取得方法がないと決まった訳じゃなくて、よく知られてる方法がOn Error利用だってだけだが、 割り切ってAPIを呼んでいる人もいる。
875 名前:デフォルトの名無しさん [2019/04/21(日) 20:08:00.46 ID:x8017e7/.net] >>749 え、お前の会社って稟議書や経費精算の業務って全部署共通じゃないの? その会社固有の業務だけど、部署間で使い回しの効く部分のことを言ってるんでしょ?
876 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 20:13:12.66 ID:xKbBXXRb.net] >>843 とりあえず構造化例外処理すらない時代の言語にいってもしょうがない話 常識は時代で変わるんだよ 結局はVBAは古い時代の言語ってだけ あと、配列の次元が知りたいとか設計が悪いとしか思えん
877 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 20:17:21.38 ID:uW2zy1zl.net] >>857 はあ? 正式な方法がないって話だぞ 日本語理解できてないの?w
878 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 20:28:15.67 ID:uW2zy1zl.net] >>860 > あと、配列の次元が知りたいとか設計が悪いとしか思えん 君には不要というだけの話 他の言語では普通に多次元配列用のライブラリとかある
879 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 20:32:45.02 ID:f/u4okxX.net] 次元数をライブラリに渡せばいいじゃん
880 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 21:03:13.26 ID:fXlSQHRa.net] >>863 それさ... 平気で言うやつがいるけどさ... ありえなくない?
881 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 21:04:52.40 ID:uW2zy1zl.net] >>863 そうだよ 面倒かつバグの元だけどね
882 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 21:27:51.81 ID:4kO5c1T5.net] じゃあどうしてもOn Errorが嫌だとして、 他の方法が幾つか出てるんだから、それ試しなよ。
883 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 21:47:12.89 ID:jEVddS48.net] trycatheなら関数に封じ込める事ができるけど、 onerrrorはグローバルだから全体に影響してしまうのが最高に糞なんだ 正直、グローバルじゃなければ別にonerrorだろうとなんだろうと構わんのだよ
884 名前:デフォルトの名無しさん [2019/04/21(日) 22:30:28.20 ID:lDsGwf3y.net] on errror が糞とかどうとかお前の趣味に合わせて出来てる訳じゃ無いんだよアホウ
885 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 22:32:03.89 ID:fXlSQHRa.net] >>866 君の言う通りだ 反発を受けてるのは「文句言わずにonerror使え」とか言い出した奴ですよ ただ次元数をライブラリに渡せっていうのはナシだ
886 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 22:38:29.04 ID:obRIwOLX.net] うまく作れない奴が他人のせいにしたところで問題は解決しないのにな
887 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 22:57:54.67 ID:sGJaU8ZR.net] >>861 大いなる自己矛盾の中にいることに気付かないとはね。 論理的思考能力が無いならプログラムを組むのなんか辞めることだな。
888 名前:デフォルトの名無しさん [2019/04/21(日) 23:18:19.59 ID:FIa/C0XL.net] ついに公務員の副業が解禁される時代が到来した https://hybridstyle.net/side-job065/ フリーランス市場規模が20兆円を突破 -副業は8兆円- https://hybridstyle.net/work-style020/ 時代は週休3日制へ【週休3日制導入企業まとめ】 https://hybridstyle.net/work-style016/ 会社員の副業が急増、副業フリーランス4年で3倍、経済規模は約8兆円??副業収入は平均74万円 https://www.businessinsider.jp/post-165077#cxrecs_s 本業のストレス解消、副業で月70万、転職のお試し…会社に内緒で副業する人たちの本音 https://www.businessinsider.jp/post-176835#cxrecs_s どんな仕事でいくら稼いでいる? 副業をしている13人に聞いたそのリアル https://www.businessinsider.jp/post-180772#cxrecs_s 会社が個人を縛り付ける時代は終わった。これからは、個人が仕事を求めて、チャンネルのように会社を切り替えていく。 https://www.wantedly.com/companies/newpeace/post_articles/65530 誰も教えてくれなかった「フリーランスは厳しい」ではなく「甘い」という真実。 https://www.wantedly.com/companies/newpeace/post_articles/54124 【特集】年収1000万円以上「フリーランスの流儀」vol.2 https://tabi-labo.com/286733/journey-six-figure-freelance-nathan 「排出物ゼロ、廃棄物ゼロ、貧困ゼロ」究極のエコ・リゾートがフィリピンに https://tabi-labo.com/284193/nautilus-eco-resort 仕事は9割外注すれば売り上げが爆増する https://headlines.yahoo.co.jp/article?a=20190416-00028392-president-bus_all
889 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 04:52:26.38 ID:PMsDbBhF.net] >>871 何を言いたいのさっぱりかわからんw 低能が反論できずに有耶無耶にしたいときによくやる方法だな
890 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 08:27:33.91 ID:5Mb1x8/S.net] >>867 on local error … って書くだけじゃん。アホか。
891 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 08:55:19.16 ID:aI1C8h9/.net] >>867 ,.874 onlocalerrorってなんだ、初めて聞いたわ そもそもon errorはグローバルじゃないぞ Sub foo() Call bar a = 1 / 0 'ここでエラーになる End Sub Sub bar() On Error Resume Next a = 1 / 0 'エラーにならない End Sub
892 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 09:24:57.57 ID:J7q/uljF.net] >>873 やっぱり分からんかw お前はドキュメント化されていれば正式だと言ってる。 しかしそれは結局MSの判断ということだ。 お前はOn Errorが正式では無いという回答そ貰ったのか? そうでなければお前の「正式な方法がないって話だぞ」というのはお前の決め付けだ。 結局お前の中には矛盾した2通りの正式が存在することになる。
893 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 11:15:47.81 ID:5Mb1x8/S.net] local付けると局所だと思ってたけど、配下に有効みたい。 つまり、付けても動作に変わりはない(?、詳細は試してない)
894 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 11:20:03.08 ID:5Mb1x8/S.net] 昔試したときに、local有無で動作違ってたはずなんだけどな… まあ、配下に有効だから、goto 0で無効にしてから callすれば局所化は可能かと
895 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 11:24:44.90 ID:aI1C8h9/.net] >>877 呼び出し先で親要素のon erroの状態が有効なのはもともとなので、使ってもあまり意味は無い気がする on local もう廃止されたっぽい?MSDNにも無い https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/on-error-statement#see-also 互換性のためにあるってブログ記事見つけたけど、かなり古い https://www.papy.in/bbs/vb2/200401/04010015.html なんやろね
896 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 12:01:35.50 ID:16RvV/Xe.net] 俺も On error Goto でtry Catchと同程度のことができると思ってた 要するに書き方かなと思ったが1回目のエラーはいいがそれ以降が使えないじゃん? ネストするにも無理があるな、複数の場所(例えば2重ループで)でのやり方があるかもしれんが 無理じゃない? 俺は「On error Goto」で出来ると思ってた、やり方があれば申し訳ないが教えてほしい
897 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 12:11:57.97 ID:iJf9Bl/o.net] エクセルで、複数ブックの特定文字列だけ一気に変えるマクロってどこかで紹介されてますか? 例えば2018年4月21
898 名前:ィ2019年4月23日に変える感じです 日付が入力されているセルがそれぞれのブックでバラバラなので、セル指定置換はできないようです [] [ここ壊れてます]
899 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 12:22:36.94 ID:CZHT0AcU.net] >>876 よほど多用されてるとかでない限りいちいち〇〇は正式じゃないなんて言う回答なんてするわけ無いだろ レスが馬鹿すぎるw
900 名前:880 mailto:sage [2019/04/22(月) 12:24:36.91 ID:16RvV/Xe.net] 例えば Private Sub CommandButton1_Click() Dim ShNM For i = 1 To 6 Sheets(1).Activate ShNM = Range("A" & i).Value On Error Resume Next Sheets(ShNM).Activate GoTo Kyoutuu Nosheet: Kyoutuu: Next i End Sub この式は最初のシートを「Z」としそのA列の行1〜6に例えば「A」〜「F」まで書いて シートを「Z」以外にシート名を「A」〜「F」までの内3つしか作ってないと、「.Activate」で2回エラーになるが1回目は意図した動作だが 2回目のエラーでメッセージボックスが出る 回避方法を教えてほしい
901 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 12:30:37.21 ID:16RvV/Xe.net] 赤っ恥 On Error Resume Next はこれなら大丈夫だが On Error GoTo Nosheet はNGって話です でもそれじゃあ書いてる意味がないので 結局 On Error Resume Next で次を考えるなかななの、一番使いたくないんだが
902 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 12:39:43.58 ID:aI1C8h9/.net] On Errorは全体に作用しすぎるから、isError的な感じでfunction分けた方が良いんじゃないか
903 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 14:10:46.51 ID:5Mb1x8/S.net] >>884 onerrorgotoをメインの処理の流れ制御には使わない方がいいと思う。 On Error Resume Nextは、次行にエラーがあると想定されるときに使い、If Err.Numberで判定して、その値によって処理を変える。 On Error GoTo は、どちらかというと、一つの処理(subやfunct…)の頭で宣言し、想定外のエラーを検知してエラーを出すのに使う。
904 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 15:22:43.51 ID:16RvV/Xe.net] >>886 ありがとう、他の言語も使ってるから勘違いしていた 対応することはもちろんできるし、Excelの環境を利用しながらの プログラムは有効なので、仕方ないのであれば考えるは 考えてなかったのが、お恥ずかしい
905 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 15:50:34.25 ID:NGsjV6Cl.net] なんかアプデ来てからwebクエリのバグが起こって実行エラー 1004で読み込めないんだけど 俺だけ?
906 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 16:12:16.31 ID:V9RXP3az.net] >>888 エラーの意味ぐらい調べて書くよな
907 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 16:30:51.55 ID:NGsjV6Cl.net] >>889 「Webクエリによって返されるデータがありません」とか言われるけど 読み込み先のWebページみても仕様の変更とかURLの変更とか見られないし明らかにExcelアプデが原因っぽいんよなー
908 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 19:03:03.55 ID:V9RXP3az.net] >>890 もう一度、クエーリーを作成してもダメ?
909 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 20:01:03.78 ID:L+SCE9UU.net] >>881 どこで紹介されてるかは知らないが、1ファイルずつ中身検索して変更すればいい
910 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 20:20:53.32 ID:TdnLJYYl.net] >>883 シートの存在チェックをしないままActivateメソッドをコールしてるからエラーになるんだろ Private Sub CommandButton1_Click() Dim ShNM As String For i = 1 To 6 Sheets(1).Activate ShNM = Range("A" & i).Value If SheetExists Then Sheets(ShNM).Activate Else 'Nosheetのラベルの箇所に書いていた処理 End If 'Kyoutuuの所に書いていた処理 Next i End Sub Function SheetExists(ByVal name As String) As Boolean Dim sh As Worksheet For Each sh In Sheets If sh.name = name Then SheetExists = True Exit Function End If Next SheetExists = False End Function
911 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 20:57:12.59 ID:J7q/uljF.net] >>88
912 名前:2 何言ってんの? 回答するかしないかはどうでもいい。 お前が回答を貰って無い以上、不明ということだ。 つまり、「正式な方法が無い」などという発言は明らかに矛盾している。 もはや、「正式」という言葉をどう解釈するかという問題になって全くアホらしいが 、MSに方法が無いのかと問えば、何らかの回答をするだろう。 それを正式な方法と考えれば、日本語の解釈に固執するバカ以外は問題無いわけだ。 [] [ここ壊れてます]
913 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 21:03:25.39 ID:J7q/uljF.net] >>886 基本的に同じ考え。 1つ付け加えると、On Error Resume Nextはエラー処理終わったらエラーをクリアしてすぐにOn Error Goto 〜とかに戻す。
914 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 21:10:24.20 ID:aI1C8h9/.net] >>895 vbaでエラー処理の状態って取得できる? 目視確認無しで、エラー処理の方法てすぐに戻せる? よく考えたらこれ出来ない気がする
915 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 21:15:19.55 ID:CZHT0AcU.net] >>894 正式な方法があると言うなら出せよw 出せない時点でお前のレスは意味がない
916 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 22:31:50.06 ID:GK5T9akg.net] >>896 Err.Numberで良ければ。
917 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 23:02:19.09 ID:aI1C8h9/.net] >>898 あぁ、それは知ってるんだ・・・すまぬ resume nextとgoto 0って判別できるんだろうか
918 名前:デフォルトの名無しさん [2019/04/23(火) 02:07:57.42 ID:0gP7mQx4.net] Excel VBAの例外をあてにしたロジックは危険だよな。
919 名前:デフォルトの名無しさん [2019/04/23(火) 02:16:09.43 ID:0gP7mQx4.net] On Error Resume Next ↑この構文そのものがわかりにくいんだよ。
920 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 02:16:11.14 ID:qFaB3ONr.net] 一般論でね
921 名前:デフォルトの名無しさん [2019/04/23(火) 02:22:13.18 ID:0gP7mQx4.net] オブジェクト操作でなんだかわからないがエラーが発生しても処理を続行するというのは独特。いかにもVBAの適当さが出ている。
922 名前:デフォルトの名無しさん [2019/04/23(火) 02:26:37.40 ID:0gP7mQx4.net] VBAと関係ないがT-SQLも例外の事前定義がないから、トライ、キャッチ構文が役に立たない。
923 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 03:09:34.52 ID:EzLBs57R.net] >>903 Excel VBAのOn Errorは、これから出るエラーの種類や原因がわかった上で使う場合がほとんどだと思うぞ 事前に回避する処理を書くより、事後にエラー処理をした方が簡単な場合があるから
924 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 03:53:37.76 ID:u9ChJCBc.net] こんな時間まで残業か?
925 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 08:14:21.83 ID:5pALgJfd.net] >>897 完全に論理崩壊w どうしてこんなバカがここにいるんだ? 正式な方法が無いなどと決めつけてるんだからお前がその根拠を示すべきだろ。 俺は何らかの正式な方法がある「だろう」と言ってる。 MSが出来ないなんて回答する筈が無いからな。 実際少なくともOn Error使って出来るわけだ。 MSが出来ないと回答しなければそれが正式な方法だ。
926 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 08:21:09.21 ID:fXkN/03K.net] >>895 便乗で付け加えると、局所的に onerrorgoto使って、エラーリカバリーしてresumeで処理継続できる。 これ知ったときめちゃ便利やんと思ったし、出番もあったはずだが、ほとんど使ったことない。
927 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 12:25:16.87 ID:on29KSlM.net] >>907 そんなこと言うならPinterInfo2構造体のサイズを取得するのはGetPrinter()しかないことをMSに確認したのか? って>>848 に言ってやれよw
928 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 12:34:34.45 ID:5pALgJfd.net] >>909 ??? エラーを起こすことを想定した処理をMS自身が提示していて、しかも一般的に普通に使われていて(俺のまわり And Web等)、それに対して問題だなどと思わんから確認する必要など全く無いわけだが。 論理って知ってますかw
929 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 14:31:53.86 ID:on29KSlM.net] >>910 もっといい方法があるかもよ? 向上心がないんだなw
930 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 14:40:46.46 ID:fLrj/T67.net] MS自身が提示している方法ではないそれこそ正式じゃないよな
931 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 15:08:
] [ここ壊れてます]
932 名前:34.48 ID:boxB5do4.net mailto: >>911 すまない、恥をかいてお願いする もっといい方法や、向上心のある方法を教えてくれ [] [ここ壊れてます]
933 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 15:13:06.76 ID:hEv4vVm+.net] 聞いたところでどうせVBA以外の環境を使えとしか言えないんだろ
934 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 15:25:33.99 ID:TO9xpynT.net] 明日からVBAエキスパートの試験が変わるっていうから、今日駆け込みで受けてきた ……資格スレどこ行ったんですか?
935 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 15:26:45.52 ID:mws1yUQf.net] なんだかよくわからんがPinterInfo2構造体とやらのサイズ取得にエラーを利用する方法をMSがサンプルとして(?)あげているけど 配列の次元取得に対してはそういうものがないって話なのか? で、どうした?
936 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 16:17:47.24 ID:wF2jTWiQ.net] >>891 もう一度最初から新しいクエリを作成したらいけた んー原因不明のまま更新するの怖いなー
937 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 16:54:40.88 ID:on29KSlM.net] >>913 MSに確認すればいいんだろw
938 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 17:38:22.83 ID:bpSzJrYS.net] >>911 かもよ ってことならいくらでも書ける
939 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 17:42:29.14 ID:bpSzJrYS.net] 質問スレで聞けば教えてくれるかもよ? MSにきけば教えてくれるかもよ? 何もしなくても問題ないかもよ?
940 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 17:57:47.79 ID:on29KSlM.net] On Errorでやるのが正式かもよ? ってかw
941 名前:デフォルトの名無しさん [2019/04/23(火) 18:23:31.46 ID:y9L+A8C2.net] 結果が同じなら中身なんて気にするな そんなに突き詰める程の言語じゃないだろ サッサと次の仕事しろ
942 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 20:31:07.64 ID:5pALgJfd.net] >>911 論理が分からないからそういう反応するわけだw あのね、俺はOn Error使って問題無いの。 A1セルに1を入れるのにRange("A1").Value=1よりもっと良い方法があるかMSに確認するバカとは違う。
943 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 21:09:25.94 ID:on29KSlM.net] >>923 向上心がないとバカのままだよ?w もう手遅れかもしれないけど…
944 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 21:11:15.50 ID:N4h0Xljy.net] 人それぞれ行きたい方角というものがあるんだ
945 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 21:12:44.73 ID:WJhFrHSS.net] 自分はバカじゃないと思ってる?
946 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 21:15:33.87 ID:N4h0Xljy.net] 怪しげな自己啓発のセールストークみたいな問答しやがって 死ね
947 名前:デフォルトの名無しさん [2019/04/23(火) 21:41:15.46 ID:0gP7mQx4.net] Excel VBAには定義エラーが明示されていないから仕方ないね。 仕様が明確に公表されていないから、全体としてはエラーハンドリングは何かエラーが発生したら、止めるような方針になってしまうのはあたりまえ。
948 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 22:04:24.18 ID:zhMneqp1.net] お前らまだOn Error Goto と On Error Resume Next で争ってるのかよ? 俺が昔、あれだけ説明してやったのにw どちらも Goto とは全く関係ないもので使用して良い On Error Gotoはtry-catchと違ってネストができないので使いづらくは有るが、 try-catchとOn Error Gotoは本質的に同じもの 例外が発生したら後半部分(catch相当)にジャンプする On Error Resume Next は 例外が発生したときにジャンプするのではなく 次の行に行くことで例外を使わない戻り値によるエラーと似たような書き方ができるもの 書き方が違うだけでどちらも大差ない On Error Goto も On Error Resume Next も基本は 例外が発生したら、Err.Numberなどで判定してリカバリ処理を行う そんだけだろうが
949 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 08:06:50.84 ID:XjMFaq8o.net] >>924 俺はそんな暇人じゃ無いんでね。 もっと有意義な探求をしてる。 お前は一生Range("A1").Value=1よりもっと良い方法を探求してくれwww
950 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 08:15:59.12 ID:fPgUISCk.net] >>930 > 俺はそんな暇人じゃ無いんでね。 そうなんだ、5chでバカを晒す暇はあるのにねw > お前は一生Range("A1").Value=1よりもっと良い方法を探求してくれwww まさかと思うけど > もっといい方法があるかもよ? が皮肉だと言うことに気づいてないのか?
951 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 08:40:38.65 ID:XjMFaq8o.net] >>931 ほう、お前はコード書く以外のことはしないというわけかw 俺は完全に手遅れを晒すバカとは違う。 皮肉? 日本語も分からないようだw
952 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 08:43:32.78 ID:jAXSwib1.net] vbaに向上心も何もないだろう EXCELの追加機能なんだから全体のルーチン見直したほうがよほど生産性たかまる
953 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 08:45:38.52 ID:fPgUISCk.net] >>932 > ほう、お前はコード書く以外のことはしないというわけかw お前は一日中コードしか書かないバカコーダーかよw > 日本語も分からないようだw 皮肉すらわかってないのか… 向上心がないとこうなるんだな、ちょっと可哀想
954 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 08:49:07.09 ID:XjMFaq8o.net] 自己矛盾という指摘に対して反論出来なくて悔しいのかもしれんが、本論からずれた発言を繰り返してもバカを晒すだけだぞw
955 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 08:51:56.98 ID:XjMFaq8o.net] >>934 www そうだねえw つまりアホな探求する程暇人じゃ無いけど5chに書き込む暇はあるよねえ。 バカ以外はそんなこと最初から分かる筈なんだがw
956 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 08:59:28.69 ID:4FmAPp0L.net] 「 ほう、お前はコード書く以外のことはしないというわけかw」 ←こういうのが皮肉なんだがw
957 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 09:10:27.69 ID:4FmAPp0L.net] しかし>>932 に対しての>>934 の返しw 論理性皆無だなw どうして俺が1日中コード書く人間になるのかね。
958 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 09:18:52.68 ID:2kOBrVmZ.net] 本人が何を言おうと草が多いほど知能が低いってみんな知ってるんだよねwwwww 行末wはNG設定しとけwwwwwww
959 名前:デフォルトの名無しさん [2019/04/24(水) 10:54:38.05 ID:xjn5dw9t.net] >>929 そんな事は当然知っとるわ 今更そんな当たり前の事を知ったかで出しゃばるな ダセー奴だな
960 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 12:24:55.92 ID:AiHhhuXg.net] >>935 > 反論出来なくて悔しいのかもしれんが、本論からずれた発言を繰り返してもバカを晒すだけだぞw なんだ自分のことはよくわかってるじゃないかw あと一日中コード書くとか言い出したアホは>>932 な 皮肉とか言い出してるけど、皮肉にしても頓珍漢すぎる
961 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 12:48:12.72 ID:4FmAPp0L.net] >>941 悪かったわw 論理が分からないアホには丁寧に説明しなきゃならんのだな。 俺は1日中コードを書く人じゃないんで 5chに書き込む時間は有るけど、>>930 を受けて「5chでバカを晒す暇はあるのにねw」等と書く君は俺が5chに書き込む時間があると想像すらできないような人、つまり君自身は1日中コードを書いているような人なのかい?という問い掛けが>>932 なわけだがw >>932 でどうして君じゃなくて俺が1日中コードを書く人になるのか全く理解に苦しむねw
962 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 12:49:32.77 ID:4FmAPp0L.net] 「すげえなあ、君は1日中コード書くような人なんだね。」という皮肉w
963 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 12:55:05.70 ID:Hk6Djwjj.net] 一日中コード? 書けばいいじゃない
964 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 15:35:02.84 ID:AiHhhuXg.net] そもそもドキュメントとか仕様についてMSに確認する話がいつの間にか一日中コード書くとかの話になってる って言うのが頓珍漢だって言うのに>>942 みたいな的外れの解説を必死にされてもどんだけ暇なんだよ? としか思わんよww
965 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 15:37:00.60 ID:4mp6v/QI.net] コード書く仕事したいがどこも雇ってくれん。 国立の数学の院卒でもね。 歳喰ってから出たやつは価値なしとか。 同期の若い奴らは日立、富士通…のSE待遇で雇用。
966 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 15:41:10.26 ID:WpJ9G5Zs.net] >>946 そりゃおめぇ、vbaのスレなんかにおったらアカンで
967 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 16:05:56.23 ID:7SMJ1lAg.net] >>946 院まで出てコード書きたいのが優先というのがまずおかしい 院出て SEなんて、せっかくの知識を活かせるとこは殆どないと思う
968 名前:(たまたま数学を活かせるとこ担当するかもだが) 日立なら中央研究所(今呼び方違うかもしれん)に行け。内容によっては実証コードも書く 数学の知識使って、世の中にないものを生み出せ [] [ここ壊れてます]
969 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 17:26:40.04 ID:Hk6Djwjj.net] エリートがコードを書くようにならないといけないと思うよ ただし受託開発じゃダメだけど
970 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 19:17:49.34 ID:AiHhhuXg.net] >>946 > …のSE待遇で雇用。 羨むべきかかなり微妙じゃね?
971 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 20:16:13.05 ID:qtAM+Ue+.net] そもそもexcel vba スレでいうことじゃない
972 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 20:20:45.69 ID:4FmAPp0L.net] >>945 ??? MSに確認する話は>>923 に対して君が反論出来ない状態にあるから、もう終わったものという認識だが。 君にとっては君の主張である「On Errorは正式では無い」はMSに確認していないから不明ということで自己矛盾。 俺にとってはOn Errorが正式なものでは無いとしても、どっちにしろ正式な方法はあるだろうだろうから「VBAには正式な方法が無い」という君の主張は根拠がないという俺の主張は何ら覆されていない。 そして、俺にとってはOn Errorが正式なものだろうがそうで無かろうが問題とは思っていないのでMSに確認する必要は全く無い。 しかし、君にとっては自らの主張を通すためには君がMSに確認して、しかも「方法は無い。」という回答を引き出す必要がある。
973 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 20:56:08.64 ID:AiHhhuXg.net] まだやるのかよw ならお前はまず >>857 > On Errorしかないのが正式なら同じだし、 > On Error以外に正式なものがあれば問題ないし、 のいずれかが正しいこと示せ もちろんMSの正式な回答付きでな
974 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 21:04:13.97 ID:4FmAPp0L.net] >>953 www ここまでバカかよ。 俺は示す必要無いの。 確認する必要もない。 君は示す必要が有るの。 確認する必要もある。 主張する立場の違いと、対偶と逆は違うということを勉強しておいでw
975 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 21:12:12.35 ID:4FmAPp0L.net] ついでに言っとくと、君の「正式な方法が無い」なんて主張には全く説得力が無いが、エラーを想定した処理を例に挙げたのもそうだし、どう見てもバグとしか思えない挙動を仕様とするMSが「方法が無い」などと回答するとは思えないというのは、説得力が有ると思うがねw
976 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 21:13:28.54 ID:gVrMWpFh.net] >>954 なら>>857 の主張は取り下げるのね あと、対偶とか関係ないからw
977 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 21:16:05.71 ID:gVrMWpFh.net] >>955 何を言いたいのか意味不明 追い詰められて饒舌になるのは低能によくある行動だけどな
978 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 21:48:10.11 ID:4FmAPp0L.net] ああ、バカはやっぱりバカなんだなあw 今の議論は以下の図式と同じなんだよw 君「これからサイコロをふると必ず6が出る」 俺「君の主張はおかしい」 君は必ず6が出るということを理論的に示さない限り君の主張は通らない。 一方、俺は仮に必ず6が出るということが理論的に示されても問題ない。 理論的に示せていない君の最初の主張をおかしいと言っているのだから。 君がMSから「方法は無い」という回答を勝ち取っても君が自己矛盾に陥っていたという事実は変わらん。 が、そのときはVBAには正式な方法が無いというのを認めてやろう。 これが1点目。 2点目は、確かに俺は少なくとも何らかの方法があるだろうと言っている。 しかし「だろう」だし、その根拠も示している。 それに対して君は何ら反論出来ない状態だ。 つまり、君は反論するための行動を取る必要がある。 俺は君の反論待ちだ。
979 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 21:52:08.42 ID:4FmAPp0L.net] 相手の主張を否定する立場は、自らの何かを正しいとか調べる必要は無い。 相手の主張の問題点を指摘するだけで良いんだね。 これが主張する立場の違いだ。
980 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 22:33:24.12 ID:T4E+V4Ad.net] そろそろスレタイ読め
981 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 22:42:50.19 ID:X5cQ+cuT.net] VBAマウンティングスレ
982 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 22:48:06.43 ID:fyMS/8EK.net] >>950 だよね〜。 日本企業のSEなんて、羨むような仕事にありつけることは稀だと思うし、何十年もやりたいことを続けられることは
983 名前:ワずない 実力あるなら、googleとかも候補だよね。MSは微妙か… 英語いけるなら [] [ここ壊れてます]
984 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 23:02:08.32 ID:gVrMWpFh.net] >>959 人に主張の根拠を要求するならお前も指摘の根拠を出せって話な 否定だからいいとか頭湧いてるのかよw
985 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 00:13:02.93 ID:Pdp8IhI8.net] 今どっちが優勢?
986 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 06:43:25.12 ID:pQMWPhoY.net] 劣勢の奴は長文かつ連投することが多い
987 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 08:07:17.87 ID:dOIT7JQu.net] >>963 だから根拠は出してるし、君の反論待ちなんだがw 根拠は2つも出してるぞ。
988 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 08:08:30.25 ID:dOIT7JQu.net] >>963 君の主張の問題点を指摘し、君が反論出来ないんだから仕方無いだろw
989 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 08:11:46.50 ID:pQMWPhoY.net] >>966 > だから根拠は出してるし、君の反論待ちなんだがw > 根拠は2つも出してるぞ。 具体的にレス番示して引用してみw >>967 言ったはなから連投ww
990 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 08:19:58.06 ID:dOIT7JQu.net] >>968 何でバカにそんな親切なことをしなきゃならんのか分からねえが、以下2つが根拠だ。 >>848 >>894 これに対してのお前の反論は全く意味の無い反論だ。
991 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 08:21:47.33 ID:dOIT7JQu.net] あと、お前が自己矛盾に陥っている点についても、お前の反論待ちなw 確定してないのに根拠もなく正式な方法が無いなどと言ってたんだからなw
992 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 09:31:53.90 ID:pQMWPhoY.net] >>969 なんの根拠を書いてるんだよ… お前が書くのは > On Errorしかないのが正式なら同じだし、 > On Error以外に正式なものがあれば問題ないし、 のいずれかが正しいことの根拠な >>848 は次元数の取得の話じゃないし>>894 に至ってはお前の妄想じゃねーかw 念の為にもう一度書いとく >> 人に主張の根拠を要求するならお前も指摘の根拠を出せって話な できないなら黙っとけ >>970 確定してないという根拠を出せよw
993 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 12:41:24.32 ID:puUPLNP6.net] うるせえ、他所でやれ
994 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 12:42:06.81 ID:dOIT7JQu.net] >>971 バーカw 問題が分かってねーみたいだから君の自己矛盾の話からいこう。 君は「正式な方法が無い」と言っているが確認していないので実際は正式な方法があるか無いか分からないという状態だ。 従って「正式な方法が無い」は間違い。 つまり確認するまでもなく君は間違ってる。 俺の主張は君の理論には間違いがあるというものだから確認する必要はない。 自己矛盾の話においては俺は正式な方法が有るなどとさえ言っていない。 自己矛盾の話とは別に「正式な方法が有るだろう」とは言ってるが、まずは自己矛盾の話を解決してからだ。 本当は一度に解決したいがアホが問題点をきちんと把握してないからしようがない。
995 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 12:50:41.21 ID:dOIT7JQu.net] 確定してないという根拠w 確定した根拠を示さなければ確定してないということだろw 何言ってんだ? 逆の立場だったらどうなる? 「On Errorが正式な方法だ」 「その根拠は?」 「正式ではない根拠は?」 これでOn Errorが正式な方法だという結論になると思ってるなら笑えるわw
996 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 12:54:24.13 ID:QfWIraMG.net] ifで#N/Aのエラーが入っていなければ処理したいのですが、どう書いたらいいですか?
997 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 12:58:06.37 ID:ziGJbyMZ.net] >>975 >>810
998 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 15:23:40.14 ID:LEVSkzzI.net] 質問です。 あるセルに表示は日付設定で日付を入力すると その範囲でSQLを呼んでデータを抽出するのですが 一台の端末だけ日付を例えば2019/04/25と入れると 値が2019/04/25(木)と変換されてしまいます。 50台以上ある端末で1台だけの現象ですが原因がわかりません。どのような原因がありえますか?
999 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 15:35:21.42 ID:ziGJbyMZ.net] >>977 最初からセルの書式設定が入力されている。全体ではなく一行目だけどかも見たほうが夜い ロケールも影響するかもしれない
1000 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 16:33:36.86 ID:pQMWPhoY.net] >>973-974 何をごちゃごちゃ言ってるんだよw 人に根拠を要求するなら>>857 の根拠出せよって話 簡単なんだろ? 早くしろよw
1001 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 16:36:57.29 ID:JQUg69I8.net] どこで簡単だって言ってる?
1002 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 18:46:43.13 ID:vKKospK1.net] >>977 一般的に、表示(書式)に影響されてはいけない 値を取得して、都合いいように変換して使う Text(だっけ?)ではなくValueを使う
1003 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 19:13:09.24 ID:pQMWPhoY.net] >>980 言ってないよ、俺の想像 てかまだそういうツッコミしかできないのか?w
1004 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 19:45:00.57 ID:rni/4bMj.net] >>982 まだっておれに言うな
1005 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 19:53:55.34 ID:pQMWPhoY.net] >>983 お前が誰か知らんけどここまでの流れ見てて「まだ」>>980 みたいなこと言ってる奴もちょっとおかしいだろw
1006 名前:デフォルトの名無しさん [2019/04/25(木) 21:12:34.41 ID:jFTtrwgp.net] >>977 そのPCのExcelの設定だろうな。 何を考えてやっているか知らないけど、Excelのセルの書式は文字列にしておいた方が無難。 だいたい見た目を気にしている理由を聞きたい。
1007 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 21:20:54.83 ID:8JRUryOU.net] >Excelのセルの書式は文字列にしておいた方が無難。 さすがにそれはないw 標準で良い
1008 名前:デフォルトの名無しさん [2019/04/25(木) 21:29:32.34 ID:jFTtrwgp.net] >>986 それはあなたが想定している使い方の場合でしょ。 質問しているひとはSQLにも触れている。Excelを中心に考えると面倒なことになるよ。
1009 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 21:30:23.12 ID:d4EHBTwA.net] >>975 If 調べたいやつ = cvErr(xlErrNA) then
1010 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 21:45:13.02 ID:dOIT7JQu.net] >>979 ごちゃごちゃwwwwwwwwwwwwwww ワロタwww 反論出来なくて顔真っ赤ってか? お前が根拠を示せないことが俺の根拠なんだよw
1011 名前: mailto:sage [2019/04/25(木) 21:50:10.00 ID:6xUIrXDu.net] on error goto とか N-BASIC にもあったくらいだし、何をいまさら、という感じがします
1012 名前:デフォルトの名無しさん [2019/04/25(木) 21:59:43.27 ID:jqthfa4A.net] >>990 そのエラーがなんなのかチェックせずに、ひとくくりにして処理を続行させる構文が存在するから議論になっている。
1013 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 22:00:36.61 ID:9BEcl4fV.net] SQLのBETWEEN句に日付を渡すんだったらセルの書式設定なんて関係ないでしょう >>981 の言う通り
1014 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 22:09:01.00 ID:dOIT7JQu.net] >>991 違うよ。 そのエラーが何なのか調べないなんて論外。 だけどエラー処理を通常処理に使うのはダメだっつう主張だったからMSだって正式な処理としてやってる話を突っ込んだら、おかしなことを言い出して、ここまで続いてる。
1015 名前:デフォルトの名無しさん [2019/04/25(木) 22:15:06.85 ID:jqthfa4A.net] >>993 それは違う。マイクロソフトの説明では特定の操作時はこのエラーしか発生しないと決めつてエラー構文を使えと言ってしまっている。
1016 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 22:17:18.85 ID:JpEf0ZAX.net] >>987 具体的なことが書いてなくてよくわからない >あなたが想定している使い方 どんな使い方だと考えてる? SQLで使うとき、標準ではなく文字列にする理由は? >面倒なことになる どんな面倒なことになるのでしょう?
1017 名前:デフォルトの名無しさん [2019/04/25(木) 22:19:53.24 ID:jqthfa4A.net] Excel VBAのスレでは話が噛み合わないと思う。
1018 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 23:00:39.46 ID:TOmG9Zzp.net] アホくさいけど、エラーが出ないようにVLOOKUPする簡単なやり方がある。 最初に、検索値をそのまま検索される方のシートにコピペしちゃうの。 本当にアホ臭いけど。
1019 名前:デフォルトの名無しさん [2019/04/25(木) 23:15:13.01 ID:AISkc2sG.net] >>997 おっさん、それじゃ値が二つできてしまう
1020 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 23:18:18.99 ID:jZ4+eHeJ.net] >>989 で、 > 人に根拠を要求するなら>>857 の根拠出せよって話 には触れないのか?w
1021 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 23:21:34.08 ID:jZ4+eHeJ.net] >>993 もう論点無茶苦茶じゃんw
1022 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 40日 2時間 42分 25秒
1023 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています