1 名前:デフォルトの名無しさん [2017/05/16(火) 08:24:45.78 ID:iIGA/64l0.net] !extend:checked:vvvvv:1000:512 スレ立ての際は一行目に !extend:checked:vvvvv:1000:512 と入れてスレ立てして下さい ExcelのVBAに関する質問スレです コード書き込みや作成依頼もOK ※前スレ Excel VBA 質問スレ Part47 [無断転載禁止]©2ch.net echo.2ch.net/test/read.cgi/tech/1489557874/ ※関連スレ VBAなんでも質問スレ Part2 echo.2ch.net/test/read.cgi/tech/1432173164/ Access VBA 質問スレ Part1 echo.2ch.net/test/read.cgi/tech/1328536426/ Excel総合相談所 125 echo.2ch.net/test/read.cgi/bsoft/1481369538/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 10:48:12.64 ID:Gxqu5M/Va.net] 前スレでScreenUpdating=Falseしない派いる?ってのがあったけど、コード書いてる時は基本しない。 あれで速くなったっていうのは基本コードが悪いだろ。
3 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 11:05:20.21 ID:J7MMoyEGd.net] >>2 ScreebUpdating =False : 警告Off ScreebUpdating =True : 警告On
4 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 11:06:03.77 ID:J7MMoyEGd.net] 連続typo失礼
5 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 11:08:01.35 ID:l+zZTb7Y0.net] ScreenUpdatingの有無で速度が左右されるのは、セルに値を入れる等して描画に影響する操作をする場合だけだから、 結果を吐き出す際に一度だけしかセルにアクセスしないとかなら要らないね。
6 名前:デフォルトの名無しさん [2017/05/16(火) 12:41:08.19 ID:6Q26Nvh7r.net] >>5
7 名前:\示の更新してんなら要るわ あとエクセルでセルに値を書き込むことを「吐き出す」と言うのは 素人が玄人の真似して訳もわからずそれっぽい言葉使ってみました感が強すぎる 分かる人が見ればコイツ馬鹿だなってバレバレだからやめた方がいいぞ [] [ここ壊れてます]
8 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 12:57:55.01 ID:fevd2QwgM.net] 自称玄人 w
9 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 13:01:13.42 ID:J7MMoyEGd.net] つまり量によるわけだな。
10 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 13:03:31.49 ID:J7MMoyEGd.net] つまり量によるわけだな。 ScreenUpdating = False しないと辛くなってきたら、それは ワークシートで管理するデータや式が多くなりすぎたという警告とみなすスタイルが成り立つ。
11 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 14:23:33.68 ID:Gxqu5M/Va.net] >>6 えっ? 素人玄人関係なく使うでしょ。 そんなの意識したこと無いぞ。 >>9 量なのかなあ。 そりゃいい加減にコード書くことも有るけど、そういう場合で遅く感じたらちゃんとしたコードに変更するだけだろ。 どうしても描画が何回か走ってチラつきを防止するために最後に追加するぐらいだな。
12 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 14:27:59.56 ID:J7MMoyEGd.net] >>10 ちゃんとしたコードとは? コードの問題ではなくてデータの問題だ、というのが俺の主張
13 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 14:53:18.62 ID:Ilchk1CoH.net] 不毛
14 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 14:57:07.86 ID:l+zZTb7Y0.net] >>9 ワークシートから値を取り込んだり、値をワークシートに書き出したりっていう処理は、 Rangeを使えば一括して行うことが出来るので、データ量はそこまで問題にならない。 どちらかというと罫線、色、数式みたいな一括処理しづらいものが問題で、 ScreenUpdating次第で処理に大きく差が出る。 こういったものは保守も面倒なので手作業で代替出来ないかとか考えるといいかもね。
15 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 15:11:19.05 ID:tw+4NZDm0.net] オートフィルタかけた後のデータの、特定の1列だけを配列に格納したいのですが、何かいい方法はないでしょうか
16 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 16:37:32.48 ID:l+zZTb7Y0.net] >>14 SpecialCells(xlCellTypeVisible)で可視状態にあるセルだけを取り出せる。
17 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 19:14:29.63 ID:iIGA/64l0.net] クラスモジュールって使いますか? 大抵のことはfornext、foreachで済んでしまうのですが、vbaでクラスを使ったほうが便利なのでしょうか
18 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 19:31:35.09 ID:qhacRso4p.net] >>16 必要かどうかってことなら必要ない でも大がかりなの作るなら使って整理したほうがやりやすいんじゃないのかな for文と比較する感覚がいまいち伝わってないから的はずれならごめんなさい 関数とか配列とかと比較するならわからなくもないんだけれど
19 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 19:45:30.76 ID:iIGA/64l0.net] >>17 私が使うのは事務処理で、表を作ったり、リネームする時にマクロを使う程度なのです クラスはあんまり必要無さそうですね、ありがとうございました
20 名前:デフォルトの名無しさん [2017/05/16(火) 19:48:36.06 ID:YL1OfOAE0.net] >>10 悪いけど素人しか使わんわそんな恥ずかしい言い方w
21 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 19:53:23.03 ID:Y/+V2TLHM.net] 言い方はどーだっていいんだよ 伝われば
22 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 20:28:49.31 ID:rEbfD8DUa.net] >>13 うん、罫線とかはしようが無いね。 でも罫線もマクロ記録のままの酷いコード書く人もいる。 データについては1つ1つのセルに値を入れるなんてことはすべきじゃない。 普通は1つの表で一括入力でしょ。 どうしても速度を出したい時は汚くなるけどシート内データ全部を一括入力にする。 あとは、使える場面が限定されるけどマルチプロセスにするとか。 >>18 クラスを使う場面ってのは慣れてれば感覚的にぴったりくる。 オブジェクト指向的にぴったりくる場合。 でも、他のメンバーが慣れて無いと却って良くない場合もあるね。
23 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 21:04:28.77 ID:ORpNRMoi0.net] Dim スコーン As New Class ↑このスコーン自体を引数に使うことは出来ますか? スコーン.Name =
24 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 21:05:07.95 ID:ORpNRMoi0.net] スコーン.Name = "スコーン" とか書きたんくないですんけど。
25 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 21:12:00.81 ID:qp8pXuJpx.net] >>22 出来るよ。 そうしたい目的はなに?
26 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 21:38:51.33 ID:ORpNRMoi0.net] >>24 >>23 だと、スコーンの名前はスコーンとか言ってるようなものじゃないですか。 何か変なので、どうにかしたほうがいいなと。
27 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 21:44:47.11 ID:FLRqiZ6lx.net] >>25 引数にしたいことと nameに代入することの関係性が分からない。 まぁ宣言をお菓子にしとけばいいんでない。
28 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 21:48:13.03 ID:iIGA/64l0.net] PHPならget_class()なんてそのまんまなものがあるんだけどね vbaには無いっぽいな
29 名前:デフォルトの名無しさん [2017/05/16(火) 21:54:30.99 ID:YL1OfOAE0.net] >>25 あーあ、やっちゃったね 質問するにもマナーってものがあるんだよ スレを荒ららない為にもこの際覚えておけ 「目的を聞くやつにレスを返してはいけない」
30 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 21:59:56.08 ID:wnIq1TKW0.net] そんな法則は聞かないな
31 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 22:19:15.46 ID:FLRqiZ6lx.net] >>28 いつかそのマナー広まるといいね! 影でこっそり応援してぬわ。
32 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 22:30:24.74 ID:H5+sVhHM0.net] なんで目的を聞くやつにレスを返してはいけないの? 質問の意図を汲もうとしているかもよ?
33 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 22:33:38.25 ID:FLRqiZ6lx.net] >>31 その聞き方だと件の>>28 は返事出来ないよ。 理由は察してあげて
34 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 22:35:06.66 ID:iIGA/64l0.net] >>26 クラス名で分岐させたいパターンがある ゲームプログラムだとclass名で敵か味方か判別する、というのは見たことがあるな せめて継承でもできればその辺共通化できるんだけど、そこはvba。めんどくさい しかしエクセルだとどういう状況か思い浮かばない >>30 してなくて草
35 名前:デフォルトの名無しさん [2017/05/16(火) 22:44:02.80 ID:YL1OfOAE0.net] >>31 質問の意図が分からん奴は質問に答えられない 目的を聞いても質問者の意図を引きだす事はできない 簡単な事だ
36 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 22:49:11.64 ID:FLRqiZ6lx.net] >>34 なるほど。 素晴らしいね。 がんばれー
37 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 00:01:38.90 ID:qRwApybV0.net] >>33 制御の向きが逆だよなあ
38 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 00:23:20.25 ID:sfPoWe8nx.net] TypeName関数で自作クラス名って取り出せないんだっけ?
39 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 00:32:2
] [ここ壊れてます]
40 名前:2.34 ID:9uxtifvV0.net mailto: >>37 それはできるけど、Meがない Meがあればなんとでもできる 標準モジュール Sub foo() Set c = New Class1 'これはできる Debug.Print TypeName(c) End Sub 'クラスモジュール Private Sub Class_Initialize() 'これができない Debug.Print Me.TypeName End Sub [] [ここ壊れてます]
41 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 00:39:06.93 ID:dws00LGS0.net] クラス内部で つかうんなら これじゃいかんのか? Debug.Print TypeName(Me)
42 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 00:45:43.01 ID:9uxtifvV0.net] >>39 すまん、いけた 解決! 標準モジュール Sub foo() Set bar = New Class1 Debug.Print bar.get_name() End Sub 'クラスモジュール Public name Private Sub Class_Initialize() name = TypeName(Me) End Sub Function get_name() Debug.Print Me.name End Function
43 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 00:51:22.92 ID:sfPoWe8nx.net] 解決やな
44 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 17:27:48.02 ID:mwqvXh9q0.net] >>39 >>40 ありがとうございます。 それで名前があるものに名前を付けなくて済みます。
45 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 17:53:56.84 ID:GJ9WSlKVH.net] >>40 そのコード、 Sub foo() Set bar = New Class1 Debug.Print TypeName(bar) End Sub と同じじゃないの? >>33 > せめて継承でもできればその辺共通化できるんだけど、そこはvba。めんどくさい VBEのオブジェクトコンボボックスとプロシージャコンボボックスを選択すれば、 コードを自動生成してくれるから、全然めんどくさくないよ。
46 名前:デフォルトの名無しさん [2017/05/17(水) 20:29:29.04 ID:G7cUCqPy0.net] 俺は今重要な判断を下した お前らは事務のねーちゃんよりスキルが低い 少なくともうちの事務のねーちゃんより低い事は確実だ
47 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 21:05:07.82 ID:9uxtifvV0.net] >>44 お前、レスもらうのめっちゃうまいなw 思わず反論しそうになった 2chでレスをもらう能力、俺は敬意を表するよ もしよければ、年齢と性別、職業を教えてほしい。どんな人か本気で気になる
48 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 06:43:55.44 ID:PgOUGGac0.net] 24歳 女 マイクロソフトジャパン勤務
49 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 08:36:51.83 ID:7Fv0UmYNx.net] >>46 悪くないよ。 なんつーかコウウン
50 名前:デフォルトの名無しさん [2017/05/18(木) 14:52:51.70 ID:5nCvEgDF0.net] Private Sub Worksheet_Change(ByVal Target As Range) Select Case Target.Address Case "$A$1" If Not IsNumeric(Target.Value) Or Target.Value = "" Then Exit Sub Range("B1:B9").Copy Range("B2") Range("B1").Value = Range("A1").Value Target.Select End Select End Sub このコードの意味教えてくださいー
51 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 15:34:33.70 ID:ZtOQ2Qac0.net] まずは実行してみたらどうだ
52 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 17:11:10.34 ID:d+oDyp660.net] Private Sub Worksheet_Change(ByVal Target As Range) ここに、Subの処理を定義する End Sub Select Case Target.Address ここに、Caseの処理を定義する End Select Select Case Target.Address // Target.Address が、"$A$1"なら Case "$A$1" // Target.Value が数値ではない、または、空文字列なら、Subを抜ける If Not IsNumeric(Target.Value) Or Target.Value = "" Then Exit Sub // copy Range("B1:B9").Copy Range("B2") // 代入 Range("B1").Value = Range("A1").Value // 選択? Target.Select End Select
53 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 19:06:48.56 ID:hKe3x/Mw0.net] >>48 ugokanai kedo A1セルの中身が数字に変わった場合、 B1:B9をB2:B10にコピーペースト B1をA1の内容にする
54 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 19:21:07.71 ID:f5T5khCgr.net] >>51 A1を選択 が抜けてる
55 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 22:27:14.87 ID:EwzTzSyyM.net] マウスポインターの移動量かマウスのスクロール量を検知って出来ますか?
56 名前:デフォルトの名無しさん mailto:sage [2017/05/1
] [ここ壊れてます]
57 名前:8(木) 23:31:41.56 ID:fbyfCIXE0.net mailto: form上の話ならMouseMoveイベント使えばなんとかなるんじゃね? form以外でならwin32api(GetCursorPosとか)を駆使すれば [] [ここ壊れてます]
58 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 12:10:12.11 ID:Hh88K1uA0.net] 最新版のExcelで、ファイルを開いた直後にだけコンパイルエラーが出るようになったから絶対更新しないほうがいいぞ エラーが出るのは Function ProcName(cel As Range) As Double とか、パラメータにAs Rangeを持つところみたいで 一応As Objectに変えてしまえば通るけど、治すの大変だ・・・
59 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 12:26:18.38 ID:Hh88K1uA0.net] 関連してそうな情報を発見 https://blogs.msdn.microsoft.com/office_client_development_support_blog/2017/05/17/ とうとう本気で.xls形式を殺しに来たか
60 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 12:27:06.53 ID:OupscBB+0.net] >>55 なんていうか、まあ頑張れ
61 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 12:49:41.54 ID:P+QgsC3b0.net] 俺のInsider slow バージョン 1704(ビルド8067.2115)では >>55 の情報だけを たよりにやって みたけど 問題ない (xls,xlsm 両方) とだけ言っておく
62 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 13:13:31.21 ID:Hh88K1uA0.net] >>58 すまない。新規ブックでは検証していなかった。 問題無いことを確認 14.0.718.5000 16.0.7927.1024 コンパイルエラーを確認 15.0.4927.1002 16.0.8067.2115 なので、>>58 の環境でも発生すると思う。 新規ブックで、 Module1に Function ProcName(cel As Range) As Double ProcName = cel.Value End Function Sub btn_Click() MsgBox "click" End Sub を書いて、ブック上のシェイプのマクロにbtn_Click()を割り当てるとファイルを開いた瞬間にだけコンパイルエラーが起こるよ 上記URLによれば、モジュール範囲の定義なら起こるらしいので Private 変数 As Workbook Sub btn_Click() MsgBox "click" End Sub でもダメぽ 解決策はAs Objectとするか、モジュールを切り分けるしかない。
63 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 13:33:37.37 ID:P+QgsC3b0.net] >>59 なるほどね 少なくとも 俺の環境下では >>59 の条件で xls のみだな その現象が発生するのは xlsmは 問題ない つかもう excel2003までのexcel形式(xls)使うのやめたら? と思うのだけど?
64 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 13:52:53.66 ID:Hh88K1uA0.net] >>60 全くもって仰る通り。 以前から.xlsmへの切り替えを勧めているが、なかなか全てを切り替えられなくてね。 各個人に持たせているファイルを差し替えろって言ってもメール無視されるし。 あと単純に.xlsmに変えてしまうと ・他のシステムが対応していないせいでxlsしか使えない。 ・表の最大値が大きくなったお陰で、既存のマクロだと末端の列列まで処理するループが混ざっていて永久に処理が終わらない。 (そのくらいマクロ直せよ・・) ・ブックのリンクが貼ってあるせいで過去のエクセルファイル全てのリンクを修復しないといけない。 (作ったやつ誰だよ・・) ・データサイズの大きい「共有ブック」をxlsmに変えるととてつもなく重くなる。 (データとマクロ分離しろよ・・) とか様々な理由があって切り替えが終わってない。 ツッコミどころ満載やで。
65 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 13:56:26.64 ID:P+QgsC3b0.net] いい 切り替えの機会じゃん xlsは もうまともに 使えません(キリッ ・・・・と言えたらいいねw
66 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 22:44:50.72 ID:ELP3hVnQ0.net] 変数宣言を一番上に書くと、 確認する時、スクロールで戻るのが面倒なんですが、 Excelなのに、上の方の画面を固定出来るという発想は無かったのでしょうか。 Excelなのに。
67 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:07:15.86 ID:HsQ+il8a0.net] そんなことより行番号表示かと。
68 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:10:43.79 ID:1s7BLiGf0.net] グローバルで別のモジュールに書いてウィンドウを並べるとか
69 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:27:00.50 ID:vYjNISl1x.net] Excel VBAしかやったことない人が何だか勘違いしてるようだがそもそもVBEはExcelの機能ではないぞ
70 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:34:30.47 ID:vnM/uOfn0.net] >>63 > 変数宣言を一番上に書くと、 必要な所に書けばいいやん って言うかスクロールが面倒なほどでかい関数とか書くなよ
71 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:42:30.09 ID:FnbaGtrQ0.net] >>63 確認する時って 変数の何を確認するの?
72 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:49:13.07 ID:ELP3hVnQ0.net] >>68 poって何の変数だっけ? みたいな。
73 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:52:43.48 ID:FnbaGtrQ0.net] >>69 何の変数ってのがよく分からんのだけど、 Dim Example As Long: Example = 1 みたいに宣言と代入を上の方でしてるって話? ローカルウインドウとかその他機能でなんとかならんの?
74 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:54:11.19 ID:1s7BLiGf0.net] 中身のわからない変数名を付けるからそんなアホな事をせにゃならんようになるんだ 似たような変数名が多すぎてややこしいならfunctionに分ける等、予め余計な手間が発生しないようにするんだ
75 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:59:18.39 ID:dZkjjWfrx.net] >>63 書かなきゃよい
76 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 00:21:30.52 ID:foz/Iffu0.net] ネタだよな コードウィンドウ分割するだけじゃねえのって思っちゃったけど i.imgur.com/jnQLIFk.png
77 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 08:57:37.77 ID:k9L+DwNA0.net] >>63 は赤の他人が書いたクソ長いコードを解析させられている気の毒な人だ と好意的に解釈しておこう
78 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 09:20:18.91 ID:5sPtJFYn0.net] hoge param1:=xxx, param2:=yyy みたいな書き方に慣れないんですが dummy = hoge(xxx, yyy) とかではダメな理由ってあるんでしょうか?
79 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 09:33:47.65 ID:TX7Bd0Me0.net] >>75 別にどっちでもいい。好み ファイルの保存なんかもこの方が見やすいと思う 例えば保存時で比べる ファイル形式を定数で打つと分かり辛い Thisworkbook.SaveAs("C:\foo",43) こう書けばフォーマットなんだな、ということが見てすぐにわかると思う Thisworkbook.SaveAs Filename:="C:\foo",FileFormat:="43" 本当はこの方が良いけどね Thisworkbook.SaveAs Filename:="C:\foo",FileFormat:="xlExcel9795" 他にも引数が大量にあるときやパラメータが複雑な時にわかりやすい。以下は見辛い dummy = hoge(xxx, , , yyy, , ,zzz) 逆にsum()を sum arg1:=xxx, arg2:=yyy なんてすると読みづらいだけになる と言ってる俺も保存の時ぐらいにしか使わないけどね
80 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 09:53:58.83 ID:5sPtJFYn0.net] ありがとうございます 事務仕事でExcelVBAをいじる必要があったんだけど 大昔の非構造化BASICやFORTRAN、Cなどの印象しかないので最近の言語は抽象的すぎて分かりにくい
81 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 10:13:55.47 ID:I6OViHCS0.net] >>75 その名前じゃあまりメリットないけど引数の名前をちゃんとつけてたら分かりやすい あと引数がたくさんある場合に後ろの方の引数を指定したい時とか Workbook.Open FileName:="test.xlsx", AddToMru:=True
82 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 10:29:20.36 ID:0mLljkpvd.net] >>77 大昔のCって関数と最初の { の間に変数宣言するようなやつ?
83 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 10:44:25.75 ID:5sPtJFYn0.net] >>79 そんなやつ、カーニハンとリッチーの第1版、白いカバーの表紙のやつ
84 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 10:50:27.63 ID:5sPtJFYn0.net] 変数を宣言しただけでは領域が確保されず 値を代入しただけでプログラムが暴走するんだけど原因に思い当たらず3日間悩んだ挙句に挫折した
85 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 10:54:07.27 ID:TX7Bd0Me0.net] >>81 上で見たけど、vbaは内部的にかなり変な挙動をしている newの時点ではメモリ領域は確保されず、初めてプロパティやメソッドにアクセスした段階でメモリ領域が確保される また、 set foo = thisworkbook set bar = thisworkbook は、foo == barに「ならない」 fooとbarは常に違う参照が生成されるので、別扱いとなる そのコードを教えてくれれば問題解決できると思う というか後学のためにも見てみたい
86 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 10:54:21.25 ID:TX7Bd0Me0.net] newじゃないや、setか
87 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 11:19:48.33 ID:nyexelOB0.net] 日本語も変数として使えるからわかりやすい名前つければいい
88 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 11:57:41.20 ID:w41RCx9Yp.net] 日本語は好き嫌い分かれるからなあ 俺は日本語が見易いけどさ
89 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 11:59:34.10 ID:TX7Bd0Me0.net] google翻訳しながら英語変数使うぐらいなら、日本語使ったほうが絶対に良い
90 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 13:11:22.41 ID:DWQm6waj0.net] Visual Basic Edtor って、単体じゃ入手できないよな? しかもExcelのバージョン違えば使い物にならんヶ所出てくるし ThisWorkbook だって、どの?に成るだろうし Microsoft Script Editer じゃあるまいし、どう考えてもExcelの付属品っつー立ち位置だろ Excelの「おまけ」機能に決定 Word とか Outlook とかバリエーションは在るにしても
91 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 13:21:20.46 ID:9VI8goCbM.net] 根本的に勘違いしててワロタw
92 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 15:37:38.60 ID:VKPh1Lah0.net] >>73 >>63 じゃないけど、これ知らんかったわ
93 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 18:04:39.38 ID:yKxdvQKVr.net] 無知って凄いね 感心した
94 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 18:24:24.01 ID:KHEwJCpd0.net] >>63 C#とかVB.netでアドイン作ればOK。 VBAでもセキュリティに問題出るけど作ることは可能。
95 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 18:58:10.02 ID:E4Y
] [ここ壊れてます]
96 名前:2PkRr0.net mailto: Excel VBA で Access と連携する業務システムって、ここの人達的にざっくりどう思いますか。社内システムの改良にアサインされてしまった。 [] [ここ壊れてます]
97 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 19:08:49.87 ID:KHEwJCpd0.net] >>92 どう思うって、どういう意味? 別に何とも思わんが。
98 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 19:16:24.30 ID:E4Y2PkRr0.net] >>93 前スレ478さんが、VBAでSQLは鬼門って書き込みしてるのを覚えてたもんで、苦労するシステム構成なのかなぁと Excel VBAの質問じゃないからスレチでしたかね、すんません
99 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 19:18:51.52 ID:bcgPDffLp.net] >>92 良いんじゃね
100 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 19:51:15.58 ID:nuBqrdCz0.net]
101 名前:苦労するかどうか、VBA以外にもSQL知っておかないといけないような気もするけど… [] [ここ壊れてます]
102 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 20:11:15.06 ID:SOOWfvsE0.net] なんでVBAでSQLが鬼門なのか、理由とかあるの?
103 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 21:48:00.24 ID:ZQ24XbJz0.net] Accessと連携なら、問題ないんじゃ…。 単体だと、更新処理系が面倒。 参照だけなら大差ないと思う。
104 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 22:03:15.15 ID:SOOWfvsE0.net] ExcelVBAとAccessVBAでSQLの構文に違いがあると言いたいの??
105 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 22:25:58.77 ID:TX7Bd0Me0.net] >>97 やったらわかる phpでsqlは黄金パターンでうまくいく。db設計もいつも通り。文字コードはutf8 エラー処理も死ぬほどある 、 C#やVBはかなりめんどくさい、というよりもそもそも使う必要がかったので、前任者の引き継ぎが非常にだるい つまずく場面としては、具体的には文字コード。shift-jisだと最悪。また、db設計が適当 db接続も何かうまくいかない
106 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 23:25:01.03 ID:SOOWfvsE0.net] >>100 要するにお前のスキルが低すぎてVBA程度もロクに使いこなせない、としか理解できない内容だな
107 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 23:32:49.13 ID:RVvLdbs7x.net] >>100 その差が大きいとは思えないけど。 vbaでもutf8扱えるよ。 接続はodbcで繋がる。
108 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 23:35:59.38 ID:S4VyllBW0.net] ODBC=おでぶちゃん
109 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 00:10:42.76 ID:iEpK3Njn0.net] >>99 SQLのUpdate、Delete、Replaceが駄目。 Excel側のRows().Deleteとか、Replace使えばいいだろって? 遅くないですか、それ。
110 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 00:16:44.29 ID:o4hB34de0.net] それはVBAじゃなくてオラクルの問題なんじゃないのか?
111 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 00:22:22.71 ID:o4hB34de0.net] >>105 どこからオラクルが出てきた!?
112 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 03:17:25.81 ID:GlMb9Muz0.net] >>100 君なあ、能力の問題なのか性格の問題なのか分からんが説明が足らんのだよ。 ExcelからDAOを使うかADOを使うかによって変わるのは当然のことだし、ExcelとAccessでどうとか言われてもどういう観点の話か分からんだろ。
113 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 03:20:01.97 ID:GlMb9Muz0.net] というか、文字コードの話が出てくるってことはODBCとかドライバの話まで出てくるじゃねーか。 それじゃあ違って当然だ。
114 名前:デフォルトの名無しさん [2017/05/21(日) 07:08:05.80 ID:S79+g3VB0.net] 質問させてください。 excelからoutlook起動させてメールを作成するマクロ作ってます。 数パターン用意したテンプレートに任意の文言を置換・挿入してoutlookに渡す?感じです。 動作自体はうまくいってるんですが、なぜかoutlookに渡した本文の文字サイズが12ptになってしまいます。 outlookのデフォルトの文字サイズは10ptだし、12ptになる理由が全く想像つきません... 漠然とした質問で申し訳ないですが、outlook側で設定したデフォルトの文字サイズでメールを作成するようにできないでしょうか? 初心者なので、的はずれなこと言ってたらごめんなさい。
115 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 07:40:39.09 ID:DM2pkhyK0.net] >>109 とりあえずぱっと思いつく原因は、エクセル側が12ptなのでそれがoutlook側に渡っている気がする テキストだけ渡すようにするか、エクセル側を一時的に10ptにしてメール作成後に12ptに戻すとかで対処できるかもしれない 全然違うかもしれない。コードを見せてもらえたら試してみるよ
116 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 08:14:42.08 ID:1Ubd4ETn0.net] >>97 >>104 とかの話でシートを SQL で操作する話を言ってるんだろ あと >>100 は単にディスりたいだけ PHP だといつも通りの DB 設計が
117 名前: VB/C# だと DB の設計が適当とか C# に挫折した底辺 PHPer の煽りだろ [] [ここ壊れてます]
118 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 09:34:47.94 ID:bvqoufgo0.net] しかしなんで今どきAccessなんか使うんだろ。 SQL Server簡単だよ。Management Studio使いやすいし。
119 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 09:46:01.40 ID:76EOq35R0.net] 事務的な作業ならAccessで十分だからだろうな。 というかローカルで使えるDBソフトってAccess以外にあんのかな。
120 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 10:23:28.85 ID:1Ubd4ETn0.net] >>112 DBMS だけじゃなくてレポート機能とかが欲しいんだろ >>113 localhost で使えばどんなデータベースもローカルで使えるけど? サーバーを立てたくないと言うなら sqlite とか SQL-Server Compact Edition が見捨てられつつあるのが残念
121 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 11:05:17.83 ID:DM2pkhyK0.net] 使える人が多いってのは会社では非常に大きなメリット 桐ってソフトを使ってたけど、使える人が少なすぎてaccessに変えることになった そしてword、てめーはダメだ
122 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 11:48:21.26 ID:S79+g3VB0.net] >>110 レスありがとうございます。 excel側の文字サイズは10ptなので、ご指摘の原因ではなさそうです。 恥ずかしいですが、ファイルをアップロードしました。 ダウンロードキーは「excel」です。 https://www.axfc.net/u/3807959 実行ボタンを押すと、outlookが起動されてメールが作成されます。 ご確認お願いします。
123 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 14:13:30.87 ID:/uUqSVmCx.net] >>113 発想が貧困過ぎて草
124 名前:デフォルトの名無しさん [2017/05/21(日) 14:33:37.38 ID:DM2pkhyK0.net] >>116 さっぱり分からん。なんか挙動がバグくさい エクセルvbaからメールを作るとフォルトで12pxになるようだ。これは仕様と捉えていいと思う で、解決方法としてはこう <body>タグにインラインcssを設定する Sub msg2olapp() '''Outlookでメール作成 Set mail_item = olapp.CreateItem(0) mail_item.To = toadd 'To mail_item.Cc = ccadd 'Cc mail_item.subject = mailsub '件名 mail_item.body = mailbody '本文 mail_item.htmlbody = Replace(mail_item.htmlbody, "<BODY>", "<body style=""font-size:13px"">") mail_item.Display '表示 End Sub インラインcssで設定したフォントサイズは何故か3/4になる。理由も意味もわからんが、ゲイツの趣味かなんかだろう 深く考えずに10pxの4/3、つまり13pxでインラインcssを指定する。こうすれば10pxのフォントサイズになる
125 名前:デフォルトの名無しさん [2017/05/21(日) 17:02:34.86 ID:S79+g3VB0.net] >>118 ありがとうございます。 望み通りの動作しました。 ちなみに、自分の環境では13pxだと6.5ptになってしまいました。(1/2になる?) あと、>>116 で作成したメールのタグを見てみたんですが、「p.MsoNormal...」ってとこのfont-sizeが12ptになっていて、そこを10ptに変更するとうまく表示されるようになるようです。
126 名前:デフォルトの名無しさん [2017/05/21(日) 18:41:32.83 ID:Ox0ZLs5T0.net] いまだにptとpx違いがわからない人っているんだね勉強になる
127 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 18:46:19.26 ID:DM2pkhyK0.net] >>120 ありがとう本当に気づかなかった web触ってるとptって単位は記憶から抹消されるわ
128 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 23:02:22.04 ID:+shsKnP00.net] データベースとの接続処理で一つ教えてください Sub test() Dim wkR As New ADODB.Recordset S_RecordsetClose (wkR) End Sub レコードセットのcloseとnothingの処理を一つにまとめようとしたんですが、 型が一致しません と S_RecordsetClose (wkR) のところでエラーになります Debug.Print TypeName(wkR) で見たら当然(だと思うんですが)Recordsetに なってるんで、なんでこれで型の不一致になるんです? ちなみに S_RecordsetClose に書いた処理は↓です Sub S_RecordsetClose(ByVal rec As Recordset) rec.Close Set rec = Nothing End Sub
129 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 23:12:50.81 ID:bvqoufgo0.net] >>122 テキトーに答えるけどByValで受け取った変数に Set rec = Nothing しても意味ないと思う
130 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 23:25:21.22 ID:aKuhNyUq0.net] >>122 型の不一致の根本原因は (wkR) だと思われ S_RecordsetClose wkR か Call S_RecordsetClose(wkR) にしる
131 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 23:26:47.02 ID:+shsKnP00.net] >>123 あ、、、、言われたらそうだ^^;。 それは確かにその通りで、この処理自体の問題だとは思うのですが、引数を受け取る段階で型が一致しないのはどうして? ちなみにByRefでも同じなんですが。
132 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 23:34:14.77 ID:+shsKnP00.net] >>124 リロってなかった Call S_RecordsetClose(wkR) でかつByRefにしました。 ありがとです。 動作についていまいちよく判ってないっす^^;
133 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 00:57:19.08 ID:MyMt2epv0.net] >>122 ADODB.Recordsetと、Recordsetの違いじゃないの? Recordsetって複数あるから省略しちゃうとどれ指してるか分からなくなるぞ。
134 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 12:17:47.19 ID:0dv64TbrM.net] 質問ですがVBAのプロパティやメソッドの扱い方について詳しい入門書はありませんか? 会社でマクロ使うため超入門(マクロの記録からつかうやつ)と学校で教わったプログラム知識(basicとc++)でなんとかやってるんですがやはりVBAの命令の扱い方が怪しく… 予算は2〜3千円程度でお願いします
135 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 12:26:52.79 ID:csbpN2HFr.net] >>128 ExcelとAccessのVBAの本なら腐るほどあるからここで聞かなくてもググれば良い Word、Outlook、PowerPointのVBAとなると日本語ではかなり少なくなるので教えるまでもなくググれば出てくる ググって出てこないなら英語書籍やネットブログを漁るか、MSDNを直接参照することになるね
136 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 12:56:42.47 ID:AKn80VTzp.net] >>128 vbeでF2キー
137 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 13:29:08.29 ID:o9BH+SoNH.net] >>128 メソッドやプロパティの方から網羅的に学習するのはきついので、やりたいことの方から網羅的に 説明してる本の方がいいと思う。 たとえば、 『Excel VBA逆引き辞典パーフェクト』 www.shoeisha.co.jp/book/detail/9784798146584 似たような『○○700』みたいなのがいくつかあるから、どれか選んで流し見するのがいいと思う。
138 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 14:44:41.19 ID:nSxPTPKq0.net] 本なんて必要か? 多少の英語カがあればインテリセンスの中からそれっぽいもの選んで実験+Web検索で十分だろ。 あとは、インタフェースへのセンス(絶対この場合だったらこんなプロパティがある筈という嗅覚)とかね。 初心者だったら以下に気を付けてコード書くと良い。 ・マクロ記録したらコードの中で必要無い部分をとことん削るのが常識と考えよう。 ・それで動作確認して問題無いことを確めよう。 ・削って問題無いと思っても、その場では問題無くても場合により問題出ることあるから削って残った部分をWeb検索で皆はどうしてるのかを確認しておこう。 ・英語的にそのコードの意味を考えよう。 'A1を選択 Range("A1").Select '選択したものの値を1にする Selection.Value=1 だったら当然 'A1の値を1にする Range("A1").Value=1 ということになる。
139 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 15:17:01.68 ID:o9BH+SoNH.net] >>132 そんな無駄な試行錯誤や調査を、たかだか2,3000円の本を読むだけで省略できるんだが。 入門書とか馬鹿にする人いるけど、たいてい>>132 みたいな感じだね。
140 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 15:42:03.39 ID:W5+S3ypfM.net] >>132 デジタルに調べる良さとアナログに調べる良さは別物だよ アナログだと「調べるつもりもなかったけどたまたま見かけて使ってみたらいい感じになった」ってことはアナログならでは
141 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 15:47:18.44 ID:0dv64TbrM.net] 色々意見ありがとうございます うちの会社ネット禁止なので本に頼るしかない事情があるのです… ネット可ならネット検索でやりたいのが本音です
142 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 16:20:04.11 ID:yUPIrMPGd.net] >>135 開発環境だけでなくどこからもネットに繋がらないというなら会社に文句をいうべき 煽りではなく
143 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 18:00:49.91 ID:AKn80VTzp.net] >>133 その試行錯誤が無駄かどうか長期的に考えれば分からない
144 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 18:15:29.31 ID:MyMt2epv0.net] 業務なのか自主的なのかで話が変わってくると思うけど、 VBAいじるのにネット無しは辛いなぁ。
145 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 18:29:46.83 ID:o9BH+SoNH.net] >>137 書籍で基本的な知識を学んだ後でも、試行錯誤はするでしょ。 その試行錯誤には意味がなく、>>132 のような試行錯誤には意味があるという主張? だとしたら、それは自分で勝手にやってくださいと言うしか。
146 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 18:56:05.69 ID:pWkjNq5k0.net] おおむかしは、FAXでMicrosoftから資料を引き出していたものじゃ 先ず、目次を引っ張れるFAX番号に掛けて、延々何十枚もの目次をげっと その目次から欲しい機能を探し出し、今度は欲しい機能のFAX番号へ掛けて これまた延々と資料を文字通り引きずり出しておったわ よく覚えてないけど、そんなかんじ その頃のFAXはB4の感光紙で、うっかり陽の当たるところに置きっぱで 外出したりすると、帰社した時には真っ黒くろすけで愕然と膝から頽れたり
147 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 19:18:46.60 ID:g3oHLvAy0.net] >>135 検索できるPCを用意してもらったほうが良い。もしくは自分で用意するか ネットでその都度検索できないとあまりに効率が悪い
148 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 19:45:17.11 ID:ewHRkUXfd.net] >>136 金融じゃ普通だぞ いちいちググらないとコード書けないやつはお呼びじゃない
149 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 20:10:34.61 ID:3QNKGHFQ0.net] >>142 金融案件みたいなデスマーチの温床に言われてもww
150 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 20:13:17.75 ID:g3oHLvAy0.net] >>142 金融業界にvbaでセコセコやってるやつなんでいねーよwww 帳票システムは全部外注、ボタンひとつで出るようになってるんだよwww しかもエクセルよりアクセスの方が使用頻度が高い 岡三証券とかは知らんけど
151 名前:デフォルトの名無しさん [2017/05/22(月) 20:44:19.38 ID:rXkCxzW60.net] なんかさあ…もう少しオープンに自分の無知をさらけ出そうぜ 無知ってそんなに悪いもんじゃないぜ?
152 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 21:21:30.49 ID:yUPIrMPGd.net] >>142 金融でもいわゆるOA環境は与えられててネットは見れるだろ
153 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 23:25:21.82 ID:KgZfg/yx0.net] >>139 どっちの試行錯誤も意味があるんじゃね 試行錯誤が無駄といったのはそっち
154 名前:デフォルトの名無しさん [2017/05/22(月) 23:36:28.18 ID:fGR6ky/u0.net] 空白と重複をなくしたドロップダウンリストを作成したいんだけど、作業列つくらないと厳しいですか? A列に重複がたくさんあるものから、重複を削除したリストをB2に追加したいですが、VBAでは厳しいですか?
155 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 23:39:29.41 ID:W5+S3ypfM.net] >>148 繰り返しとifでいける
156 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 23:41:44.53 ID:EzxM7okx0.net] vba使い始めた頃はヘルプに結構お世話になったけどなあ 最近のバージョンだとオフラインのヘルプが入ってないからきついよね >>128 のバージョンもダメなやつなのかな
157 名前:デフォルトの名無しさん [2017/05/22(月) 23:43:11.76 ID:fGR6ky/u0.net] >>149 ループでリストってできるんですか!!知りませんでした。 例えば1〜"A1に入力された数字"までのリストとかも可能ですか?? A1に20とあった場合、1・2・3・4・5・6・・・・20といった感じで。
158 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 23:49:46.04 ID:g3oHLvAy0.net] >>151 Sub Macro1() arr = "" For tmp = 1 To Cells(1, 1).Value arr = arr & "," & tmp Next Cells(1, 1).Validation.Delete Cells(1, 1).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:=arr End Sub >>148 vbaでもできるけど作業列作ったほうが早いと思う 俺なら作業列を使う
159 名前:デフォルトの名無しさん [2017/05/22(月) 23:57:33.95 ID:fGR6ky/u0.net] >>152 完璧すぎて鼻水でました ありがとうございます
160 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 23:58:56.03 ID:EzxM7okx0.net] 俺も作業列勧めるな 直値で入れると文字数の制限があるだろ
161 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 00:12:52.19 ID:fMtQNmiV0.net] >>149 If 俺 = "イケメン" Then 俺 = 俺 & 彼女 End If
162 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 00:30:37.63 ID:bLVWAbWWM.net] >>155 イケメンだったらおまえが消えて新しい命に書き換えられてしまうな
163 名前:デフォルトの名無しさん [2017/05/23(火) 01:06:28.10 ID:G9caL/WXp.net] >>155 実行時エラー 型が一致しません。
164 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 01:16:03.77 ID:aBKdrymv0.net] >>157 酷過ぎワロタwww
165 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 02:03:21.06 ID:3SYK1IcP0.net] >>139 省略する人は試行錯誤を大してやらないよ。 答えを求める奴は結局身にならない。 昔、高校受験用に行ってた塾にいた天才共は英語の辞書を丸暗記してたが俺は天才じゃ無いので英語の使い方(しくみ)を勉強した。 プログラミングもしくみが重要で個々の単語は都度調べれば良い。 本は必要無いと思うけど有っても良いとは思うし、自分もかなり買う方だ。 でも自分が本を買うのは興味からだな。 あ、自分は今はVBAの本を買うことはありません。 初心者なら読んでおもしろそうだったら買ってみれば良いんじゃない?
166 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 06:24:30.98 ID:2tE3UxZ+0.net] 多分その天才どもは英語の仕組みは既に把握したうえで、 上積みとして単語を丸暗記してるんじゃないか? 仕組みがエンジン、単語がガソリンと考えたら、 エンジンだけでもガソリンだけでも走れない。 効率の良いエンジンは少しのガソリンでも遠くまで走れるし、 沢山ガソリン積めれば少々お粗末なエンジンでもやっぱり遠くまで走れる。 どっちが大事じゃなくて両方大事。
167 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 06:30:19.51 ID:DZlqaxyP0.net] 試行錯誤する事で答えが判らない事を解決するスキルが身につく このスキルはVBAにとどまらない 他のことにも応用できる
168 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 06:50:44.94 ID:3FTCY8r/r.net] 本は嘘が書かれてたりするから厄介 想定読者の知識レベルに合わせる理由でいろんな説明を端折ってミスリーディングな表現になってしまってたりするし、著者の知識が根本から間違ってるときもある
169 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 07:27:49.86 ID:pxpR
] [ここ壊れてます]
170 名前:UDcgM.net mailto: 結局身に付かないから自分で調べろとかw ここで聞くってことは理解したいんじゃなくて答えが知りたいだけなんだよ 教える気がないなら黙ってろ [] [ここ壊れてます]
171 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 07:34:02.08 ID:Y2XmHkKh0.net] >>163 勉強の仕方の話だよ 回答はする
172 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 10:12:46.48 ID:3SYK1IcP0.net] >>163 ほら、これが弊害だ。 きちんとアンカー追っていけば初心者がどうやって勉強すれば良いかの話から来てるのがわかる筈。 直近のレスだけ見るような手っ取り早さを求めるような奴には教えても無駄になるだけだ。
173 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 10:34:38.44 ID:BzWPCBXiH.net] >>159 一生、 > Range("A1").Select > Selection.Value=1 > Range("A1").Value=1 みたいなレベルを手探りで探し出すようなことやってろよ。誰にも迷惑かからないし。 だが、人には勧めるな。
174 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 11:06:55.30 ID:3CTg7HpXa.net] >>166 それが分からないようじゃレベルがうかがいしれるねw というか、あれを書いた俺がそんなレベルに無いことなんて想像も出来ないのか? 多少出来る奴なら誰でもマクロ記録のままのゴミコードを否定するだろうよ。
175 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 11:58:25.09 ID:IihgumLkM.net] >>167 時間が無駄だってことだと思う お前の技術レベルの話じゃない 物事には期日があるんだからそんなどうでもいいことに時間使うんなら本買った方がいい
176 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 12:01:49.66 ID:ZBpIQRDpM.net] >>167 コミュ障技術者にありがちなバランス感覚の無さだな VBAを理解する事が目的じゃないんだよ
177 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 12:06:29.03 ID:TeKp5Ts0d.net] Validationて何だ? と思うくらいExcelのオブジェクトのことを知らない。 VBAばっかりだからなあ
178 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 13:08:14.56 ID:BzWPCBXiH.net] >>167 > というか、あれを書いた俺がそんなレベルに無いことなんて想像も出来ないのか? お前のレベルなんか知ったこっちゃない。 > 多少出来る奴なら誰でもマクロ記録のままのゴミコードを否定するだろうよ。 ケースバイケースだし、議論する価値ない話題だね。
179 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 13:09:17.49 ID:TeKp5Ts0d.net] 友達じゃあるまいしな
180 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 13:19:37.53 ID:DZlqaxyP0.net] >>168 それは答えが判ってる事にしか使えない 仕事では誰にも答えが判らない事を解決する事も多い 答え合わせができる問題で訓練した方が良い
181 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 13:26:08.31 ID:DZlqaxyP0.net] 答えが判ってることを効率的に片付けるには 答えを聞いたり調べれば良いけど 答えが判っていない新しいことを実現するには その方法は使えない 自分で考えずに答えを求める事が 日本でイノベーションとかが比較的少ない原因かもな
182 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 13:29:05.48 ID:BzWPCBXiH.net] 新しい何かを始めるにあたって、入門書を読むとこから始めるのが「答えを求めること」なのか
183 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 13:36:08.12 ID:S9zv8N7Q0.net] そして、答えはひとつだけでは無い
184 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 13:40:08.67 ID:DZlqaxyP0.net] >>176 答えは一つじゃないから 入門書にこだわる必要はないな 入門書は何のために読むの? 小説か何か? 自分が判らないことの答えを知るためじゃないのか?
185 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 13:47:15.75 ID:OJ3bnrAra.net] >>168 >>169 >>171 >一生、...みたいなレベルを手探りで探し出すようなことやってろよ。 に対してのレスだからコミュ障はオマエラだよ。 そもそもの話のはじまりは>>128 だから具体的な案件で期日が既にあるという話じゃない。 コミュニケーションの取れない奴はこれだから困る。
186 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 13:56:20.46 ID:BzWPCBXiH.net] >>178 この流れのそもそもの始まりは、>>128 に対して>>132 みたいなレスをしたからだ。 そもそも>>128 は、おすすめの入門書を聞いてるんだよ。 それを本なんか不要とするからこうなった。
187 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 14:43:29.82 ID:YXklfP5tx.net] お勧めの本は知りません をやたら回りくどくやるのなw
188 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 15:12:36.24 ID:zqdwD1uL0.net] >>180 マは性格捻くれたクソ野郎が多いからw
189 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 16:36:03.71 ID:ZjKWQBEz0.net] たしかに>>132 はクソレスだな 質問スレなんだから、素直におすす目入門書を挙げれば済む事
190 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 18:13:36.59 ID:PCM7pP9za.net] 横レスだけど128の質問も少し違和感がある。 "詳しい入門書"というのはなかなかないんじゃないか。 128は少なくとも全然vbaが分からないわけでわなくプロパティやメソッドの使い方が難しいと言ってるわけだから求めてるのはもはや入門レベルとは思えない。 感覚としては優しく丁寧に書いてある、という意味かもしれないが。
191 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 18:22:11.37 ID:IihgumLkM.net] >>173 それは設計の話だな 実装からスタートする案件だとしたら話は変わってくるけど、、、
192 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 18:45:32.25 ID:YXklfP5tx.net] 早く教えて挙げて
193 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 18:53:06.25 ID:IihgumLkM.net] >>131
194 名前:デフォルトの名無しさん [2017/05/23(火) 20:04:53.74 ID:vE+85AhN0.net] 逆引き系の本てやりたい事がズバリ書いてある事ってどんだけあるの? 本当に使えるのかいまいち信用できん
195 名前:デフォルトの名無しさん [2017/05/23(火) 20:24:44.89 ID:4WGZqsHw0.net] 星君の業務改善でいいじゃん
196 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 20:25:40.01 ID:Y2XmHkKh0.net] 逆引きは、逆引きがいらない事に気づかせてくれるありがたい本だよ
197 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 20:59:03.89 ID:mDga4JbQ0.net] そう、誰も、 本を 読んでいないのである・・・
198 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 21:24:06.93 ID:PaLG7AjU0.net] 勤務表を作りたいと考えています A1からの各セルにA1勤務開始時間、A2勤務終了時間、A3休憩時間と入れたら A4からの各セルにA4割増無の勤務時間、A58時間以上の勤務時間、A6休日労働時間、A7深夜労働時間 とVBAを使用して入れたいのですがA7に入れる深夜労働時間の求め方が思い浮かびません 深夜勤務は22:00〜5:00の間なのですが21:00〜4:00、18:00〜6:00みたいな勤務の場合どうやって深夜労働時間を求めればいいのでしょうか?
199 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 21:35:35.13 ID:z+zsvOR8p.net] >>191 就業規則をよめ
200 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 21:41:04.89 ID:Y2XmHkKh0.net] 昔作ったなぁ まず概念として、 0-5,5-22,22-29,29-46 と4つの区分に分ける。0-5と22-29を分けるのが味噌。一緒にするとややこしくなる 俺は甲時間 乙時間 丙時間 丁時間と名付けていた 入力は3項目じゃなく6項目。 出勤、退勤、甲乙丙丁それぞれいつ休み時間を取ったかわかるようにする 残業代は労働時間の合計-8時間になり、 休日は休日フラグを作り、勤務時間*割増分を別枠で付ける。 で、 21:00〜4:00の場合の考え方は 開始時間が5:00以前なら5:00△開始時間が甲時間(仮)。終了時間が5:00以前なら更に5:00△終了時間を甲時間(仮)から引く。これが甲時間。今回は0 乙時間も似たような感じで、開始時間が5:00~22:00なら22:00△開始時間が乙時間(仮)。終了時間が22:00以前なら更に22:00△終了時間を乙時間(仮)から引く。これが乙時間。今回は1:00 あとは丙時間、丁時間も同じように求める 個人的には関数の方が修正しやすい、見通しも良いで作りやすいと思う >>192 無能の自己紹介はいらないよぉ
201 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 21:41:20.14 ID:Y2XmHkKh0.net] >>193 は>>191 へのレスね
202 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 22:01:45.26 ID:ADqqpGm90.net] 以前、ここでシフト表を作りたいって人がいて、んで別スレまで出来てあれこれ皆が頑張っていたけど、途中で多分本人がやる気なくしてw アボンだったな
203 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 22:07:18.85 ID:z+zsvOR8p.net] >>193 残業代(金額)が、労働時間-8時間(時間) とかw 好意的に解釈して残業代じゃなくて残業時間だとしても -8時間かどうかは就業規則を読まないと判らないだろ
204 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 22:34:24.97 ID:D2f+EUmlM.net] >>191 timevalue関数はご存知かな? 日時の時間部分だけをDate型に変換してくれるけど、Date型の値は24時間(=1日)を1とした数値として扱える。 以下、日付を跨ぐ値は1(=24時間)を足してます。 深夜開始 = TimeValue("22:00:00") 深夜終了1 = TimeValue("5:00:00") 深夜終了2 = TimeValue("5:00:00") + 1 出勤 = TimeValue(Range("A1").Value) 退勤 = TimeValue(Range("A2").Value) If 出勤 > 退勤 Then 退勤 = 退勤 + 1 休憩 = TimeValue(Range("A3").Value) 労働時間 = 退勤 - 出勤 - 休憩 深夜労働時間 = IIf(出勤 < 深夜終了1, 深夜終了1 - 出勤, 0) If 出勤 < 深夜終了2 And 退勤 > 深夜開始 Then 深夜労働時間 = 深夜労働時間 + IIf(退勤 < 深夜終了2, 退勤, 深夜終了2) - IIf(出勤 > 深夜開始, 出勤, 深夜開始) End If たぶんこんな感じ。 出勤表なんて作ったことないからテキトーですw おかしかったら誰か直して〜
205 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 22:55:16.52 ID:Y2XmHkKh0.net] ?cells(1,1).Address で絶対参照の$A$1は取得できますが、 行のみ相対参照の$A1を取得する方法はありますか?
206 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 22:59:09.40 ID:p/2ZNHs9p.net] それくらいヘルプ見れ https://msdn.microsoft.com/ja-jp/library/office/ff837625.aspx
207 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 23:08:02.98 ID:Y2XmHkKh0.net] >199 ありがとうございます、解決しました
208 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 23:10:34.50 ID:Y2XmHkKh0.net] Range.Address プロパティ (Excel)について質問です AddressはRangeオブジェクト内の関数ですが、vbaだと、値を取得する場合はプロパティと呼ぶのでしょうか? 引数があってもプロパティと呼ぶのですか? 他言語ではオブジェクトのメンバを直接取得したり値を設定するのがプロパティ、式がメソッドと思っていたのですが、 vbaが特別なのでしょうか。それとも他にこういう区分けの言語はあるのでしょうか piyo-js.com/01/keyword.html
209 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 23:39:33.41 ID:kSdgf1uK0.net] プログレスバー使ったら値更新するたびにフォーカス奪うようになって別ウィンドウで文字入力とかスクロールしてると邪魔される せっかくの長い処理中に別作業できるメリットが損なわれるようになってしまって困ってるんだけど何か解決策ないでしょか…? プログレスバーないと処理中不安になって長く感じるのでできれば使いたいです ちなみにWindows7上で使ってるExcel 2010です
210 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 23:44:33.10 ID:CFQVOeJer.net] >>201 Addressは要はgetterですよね Rangeクラス内部から見ればメソッドのように見え、クラス利用側から見るとメンバ変数のように振る舞いますが、 実態はString型の変数を返すメソッドでふ メソッドがパラメーターを持つのは普通のことじゃないですかね
211 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 23:47:22.57 ID:CFQVOeJer.net] でふって何だよ馬鹿かよ俺
212 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 23:52:40.77 ID:Y2XmHkKh0.net] >>191 暇だから作った www.dotup.org/uploda/www.dotup.org1258917.xlsx.html >>203 そうそう、そうなんです で、vbaではそれをプロパティと呼ぶの?という質問なんです このリンク先ではaddressをプロパティと言っています https://msdn.microsoft.com/ja-jp/library/office/ff837625.aspx
213 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 23:55:26.87 ID:CFQVOeJer.net] >>201 引数つきのgetter/setter(プロパティへのアクセサ)を作れるかどうかは言語仕様によります。 VBでは作れる、というだけの話
214 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 00:16:59.54 ID:jVvBcvpG0.net] 今日飲んだビール.TopValue
215 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 01:48:09.41 ID:nPuq94IW0.net] >>205 自作クラスで言うと、 property get/set/let で定義するのがプロパティ、 sub/function で定義するのがメソッド。 range.addressみたく、getだけ定義されているプロパティとfunctionは外から見たら同じようなものだし、気にする意味がないと思う。
216 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 07:02:03.86 ID:NmLbt9VS0.net] >>206 >>208 なるほど、ありがとうございました 色々な考え方があるのですね >>207 韓国産でしたっけ?危険ですのでやめたほうが良いと思います お金のために健康を捨てるのはもったいないです
217 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 10:47:49.12 ID:ktSIKEk8H.net] >>202 ステータスバーに進捗状況を表示するようにしたら?
218 名前:デフォルトの名無しさん [2017/05/24(水) 14:14:59.56 ID:9bsixbB10.net] VBA勉強中の初心者です。 最終的にやりたいのはテキストエディタから一部データを抜き出すのをしたいんですが抜き出し方がわかりません。 メモ帳にログが取り込まれてそこから必要なデータを取り除きたいです。 コンビニのレシートがデータしてるものと考えてください。 それでそのレジの最後の一台当たりの発売金額がわかるんですけど発売金額を抜き出したいのですが何をどうしたらいいのでしょうか? まだ変数と制御構文くらいしか理解していません。
219 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 14:38:10.49 ID:ktSIKEk8H.net] >>211 正規表現(RegExp)を使うと、指定したパターンに適合する文字列を抜き出せる。 以下は、"発売金額 \1,000"という文字列から"1,000"を抜き出すコード。 Sub foo() Set regex = CreateObject("VBScript.RegExp") regex.Pattern = "発売金額 \\([\d,]+)" Set res = regex.Execute("aaa発売金額 \1,000 bbb") If res.Count > 0 Then Set res2 = res(0).SubMatches Debug.Print res2(0) End If End Sub
220 名前:デフォルトの名無しさん [2017/05/24(水) 14:44:53.85 ID:9bsixbB10.net] おお!ありがとうございます。 これを元に一つ一つググりながら理解していこうと思います。
221 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 14:53:05.51 ID:9OGm2Cju0.net] >>211 VBAからADO使ってログファイル読み込みその際にSQL使って絞り込み >>212 fooを使うんじゃねえhg
222 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 18:37:48.65 ID:NmLbt9VS0.net] なんでfoo使うのダメなの?
223 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 18:45:27.67 ID:BVqzNkwop.net] >>214 何でテキストファイルを読み込むのにSQLとかADO使うの?
224 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 18:52:32.09 ID:qKRKK3Glx.net] >>216 適材適所
225 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 19:02:38.69 ID:LTICL+DVa.net] HYPERLINK関数(mailto:)を使って、メールを送信するシートを作成しました。 B2からB30セルまで、ハイパーリンクが設定されている状態です。 この、B列に並んだハイパーリンクを全てクリックして自動で実行したいのですが、どのようなコードを使えばよいのか分かりません。 Hyperlink.Followメソッドでは、関数によるハイパーリンクを開けないことは分かったのですが、何か代替手段はあるでしょうか?
226 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 19:18:29.39 ID:NmLbt9VS0.net] >>218 マクロ4.0でいけるっぽい https://oshiete.goo.ne.jp/qa/7192323.html
227 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 20:09:08.13 ID:YRGsLxEEr.net] >>218 なぜハイパーリンクしてるの? VBAでセルの文字列データを取得して、それを使ってふつうにメールアイテムを作成して送信すれば良さそうだが
228 名前:デフォルトの名無しさん [2017/05/24(水) 20:17:47.99 ID:WW1YGaoR0.net] >>220 それはあらゆる場面において最低の解法 なぜかは自分で考えてね
229 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 20:48:39.32 ID:42FTyawn0.net] だから、ちゃんと教える気がないなら黙ってろと
230 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 20:49:24.31 ID:NmLbt9VS0.net] >>221 横からだけどさっぱり分からない 教えてください
231 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 21:12:42.89 ID:9OGm2Cju0.net] >>216 >>211 見てなんで使わないと思ったの?
232 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 21:23:52.71 ID:YRGsLxEEr.net] >>221 あらゆる場面で、というのは随分と強い主張だな シートのUI上でハイパーリンクを設定すべきかどうか、コード側でメールアイテム作成を制御すべきかどうかは設計次第だろ
233 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 23:00:58.40 ID:LLuwxDnS0.net] >>193 >>205 ありがとうございます。入力フォーマットが既に決まっていて変更できず休憩時間を手入力させるのは難しいです 21:00〜6:00の場合、22:00〜5:00の時間が何時間含まれているかわかればいいんですがいいロジックが思い浮かびません 今思い浮かんだのは1ヶ月間を0〜744時と考えて、24(n-1)を足せば求められるんではと考えてしまいます あと今日VBAでSQLのクエリ文を作っていたのですがString型って文字数制限があるんですか? それにに引っかかったみたいで途中クエリが消えてしまい原因がわからずかなり苦戦しました
234 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 23:03:01.52 ID:BVqzNkwop.net] >>224 何でテキストをsqlで読もうとするの?
235 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 23:06:50.11 ID:NmLbt9VS0.net] >>226 数式読みなよ、全部書いてる www.dotup.org/uploda/www.dotup.org1258917.xlsx.html あとstringに制限は事実上ない 一旦varchar(255)辺りに入れてない?テーブルの制限に引っかかってる気がする
236 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 00:02:05.58 ID:rwwycwh80.net] >>227 >>211 見てなんで使わないと思ったの?
237 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 00:54:27.96 ID:UDUA6Pg7p.net] >>229 sqlって何する為のものか知ってる?
238 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 01:14:28.72 ID:+tui60Va0.net] SQLはOracleに代表されるようなDBMSを制御するための言語 ExcelでもDMMSを相手にして使えるがそれはDBMSあってのこと
239 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 01:15:33.62 ID:+tui60Va0.net] ×DMMSを相手に ○DBMSを相手に
240 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 04:05:21.88 ID:VTDAVdX70.net] 別にADOは便利なツールとしても使えるだろ。 けど、俺もテキストエディタだったらもっと単純にゴリゴリしたの考えるな。 LeftとかMidとかRightとかInstrとかInstrRevとかを使ったようなの。
241 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 04:15:26.23 ID:VTDAVdX70.net] あっ、テキストエディタ作りたいんじゃ無くて、テキストからデータ取り出したいだけ? だったら、やっぱりMidとかInstrとか基本的な関数で十分な気がするね。 >>211 発売金額はテキストの中でどんな風に位置してるの? 例えば10行目の20文字目から10桁みたいな感じ?
242 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 04:18:03.03 ID:VTDAVdX70.net] >>211 あと、何でメモ帳使いたいのかな? 別にメモ帳上でいろいろ操作することも出来るけど、少しだけ高度になるんだよね。
243 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 08:42:10.69 ID:QSuakdFza.net] >>219 ありがとうございます! リンク先に記載のコードを試してみたのですが、残念ながら「指定されたファイルを開くことができません」のエラーが出てしまいました。 普通にセルをクリックするとメールが立ち上がるのですが、vbaを使うと、このようになってしまいます… >>220 大変レベルが低い話なのですが、 滅多に触ることのない超初心者のため、作る労力とメンテナンスのことを考えて、できることは関数ですませ、vbaは最低限にしている次第です。
244 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 08:53:36.25 ID:MawhMErZ0.net] >>236 「ハイパーリンクをクリック」 逆に難易度が上がってるぞ
245 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 12:02:32.06 ID:KGZHRfFH0.net] >>236 >>219 の方法でやるなら HYPERLINK関数の 第二引数を省略した形で Evaluate しないとだめよん よって ・元々の HYPERLINK関数で 第二引数を省略してしまう ・VBAで HYPERLINK関数の第二引数をカットしてからの Evaluate のどっちかにするしかない がんばってね
246 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 12:10:08.17 ID:slr5zzcza.net] >>238 第二引数を省略したら、無事にメール作成できました! 今の自分のレベルでは、仕組みが理解できていませんが、本当に助かりました。 ありがとうございます! >>237 こちらの方がレベルが高かったのですか… そういったことの判断すらできず、vbaでノーツメールを直接作るコードを調べてみて、複雑そうなので、諦めてしまっていました。 もう少し勉強しようと思います。
247 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 12:33:52.09 ID:6krMH9aUr.net] >>239 クリック等のイベントをトラップしようとすると、既定オブジェクトのモジュールやクラスモジュール等にコードを書いてハードコーディングしなきゃならなくやる イベントの発生タイミングを考えてエラー回避の制御なども追加しなきゃならない イベントはコードディングと保守の難易度を上げる、と認識すると良いよ メーラーアプリのオブジェクトインスタンスを作成して操作するやり方は一見複雑そうだけど、やってることはエクセルの既定オブジェクトの操作と一緒 基本的には標準モジュール一個でコードが収まるから楽だよ
248 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 16:27:17.14 ID:BhGEKkNfa.net] >>240 別にそんなにハードル上がってるわけじゃないでしょ。 こういう場合、自分はまずメールを作るプロシージャを作る。 それはメールに必要な宛先、タイトル、本文等の引数を元にしたプロシージャとなるだろう。 そして当然汎用的なものだから標準モジュールに書くことになるだろう。 後はそれをどのようによび出すかを考えれば良い。 B2からB30までのアドレスを元にメールを作るのだからメニュー(コマンドバー)から呼び出すとかシートに貼り付けたボタンから呼び出すとかが考えられる。 呼び出す処理ではB2からB30までのループ処理の中で標準モジュールに作ったメール作成プロシージャを呼び出すようにすれば良い。 尚、この場合ハイパーリンクはプログラムと関係が無い。 個別に開くために設定しても良いし、設定しなくても良い。 単純に空のメールを一度に複数開きたいだけならハイパーリンク使う方が簡単な気もするけど、そんな需要で完結するとは思えない。 だから自分だったら両方作って片方をコメントアウトしとくだろうな。
249 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 16:42:30.82 ID:yXnULsJhH.net] 俺語りうぜぇ
250 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 16:44:23.96 ID:9Akggys5x.net] >>242 お前の感想は もっと要らない
251 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 16:58:40.94 ID:yXnULsJhH.net] >>229 > >>211 見てなんで使わないと思ったの? なんでって普通使わないから。
252 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 17:43:48.64 ID:6krMH9aUr.net] >>241 メールアイテム作成が複雑そうと言ってるのは質問者なので、そこは間違えないでね
253 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 17:58:07.99 ID:yS9f0RVc0.net] VBAに滅多に触ることのない超初心者になに難しいこと語っちゃってんだよw
254 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 18:04:11.11 ID:yX9RoGiCa.net] データの取り出し方とか質問するならせめてデータ構造の例ぐらい出しておかないと返事のしようがないような
255 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 18:13:41.54 ID:DyEVqbiqd.net] テキストファイルをSQLで扱うときってどのドライバを使うもんなの?
256 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 18:18:45.36 ID:yXnULsJhH.net] >>248 > テキストファイルをSQLで扱うときってどのドライバを使うもんなの? だから、普通はしないってば。 相手がCSVならかろうじてする場合もあるかもレベル。
257 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 19:08:00.44 ID:BhGEKkNfa.net] いや、だから便利にADO使う場合もあるってば。 例えばUTF8の読み書きとか。 他にも
258 名前:色々利用できるものがある。 [] [ここ壊れてます]
259 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 19:19:07.99 ID:IjFnSfL20.net] >>250 色々って例えば何?
260 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 19:35:14.21 ID:eYj1KCTuM.net] 曖昧だなぁ
261 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 20:12:54.49 ID:MawhMErZ0.net] テキストファイルにSQL使える事に驚き
262 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 21:35:50.77 ID:Prbt/S0pa.net] >>251 例えばネットからファイルをダウンロードする場合、普通はURLDownloadToFileを使うと思うが認証付きの場合はADOが使える場合がある。
263 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 22:27:40.96 ID:bN5MkpLw0.net] 名前の判別でRかLのはいったやつを分けるマクロが書きたいんですがRとLは,かスペースに挟まれてるか最後一文字です ただし最後一文字ならその前にスペースが入ってます こういう場合スマートな判別ってどうしますか?
264 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 22:47:25.62 ID:o/KEVGaTr.net] >>255 正規表現で解決じゃね
265 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:08:23.52 ID:rwwycwh80.net] >>247 まぁそうだけど大体ログと言えば規則的に並んでいると推測できるよね 視野が狭い人多い そもそも>>211 と>>216 をよく読んで理解せずに発言してる人多過ぎ
266 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:14:32.15 ID:Priyoi2O0.net] 煽ってるわけじゃないが、>>211 は全力で意味を理解しようと思って読んでも どういう状態を説明しているのか、よく分からなかった(特に後半) みんなスゴイね(まじで)
267 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:23:44.35 ID:rwwycwh80.net] >>255 >>212 のように正規表現がいいけど 細かい話をするとスマートが何を指しているのか 早さとかコードの見た目とかね >>258 ド素人の言い回しって大体わかるじゃん?たまにぶっとんでるのいるけど だいたいこういうのは、CSVで出力されたPOSデータの計行のみ抽出したいってぱとぅーん だから>>214 、もちろんその後でMIDとか使う必要はあると思う
268 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:24:53.01 ID:rwwycwh80.net] >>258 分かってない奴の事を分かっていないで理解しようとしないから タイヤブランコみたいなのが出来ちゃうんだよww
269 名前:デフォルトの名無しさん [2017/05/25(木) 23:29:21.59 ID:trQS6AD+0.net] >>259 正規表現は何がスマートなのか 早さ?がスマートな例は コードの見た目がスマートな例は たった3種類なんだから答えてあげれば?
270 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:31:18.48 ID:rwwycwh80.net] >>261 そういうのいいからw仲良くやろうぜ
271 名前:デフォルトの名無しさん [2017/05/25(木) 23:33:20.64 ID:trQS6AD+0.net] >>262 お前がいじわるなつっこみするから俺もいじわるしただけだ
272 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:35:49.43 ID:MawhMErZ0.net] この件で言えばスマートなのはどう考えても正規表現だろう ifやmidで無理矢理解決するのは力技ではなく、単に勉強不足だ
273 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:36:09.55 ID:rwwycwh80.net] マにありがちな意地悪なw 突っ込まれたいとか>>263 ホモ警報w
274 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:37:26.93 ID:rwwycwh80.net] >>255 は多分釣り 分かってて書いてる感
275 名前:デフォルトの名無しさん [2017/05/25(木) 23:40:28.47 ID:trQS6AD+0.net] >>265 あ?調子に乗りすぎだお前
276 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:43:35.70 ID:rwwycwh80.net] >>267 255の正規表現を誰かが書くと、とたんに俺が書いた正規表現の方がスマートだ合戦開始の流れだよなw
277 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:45:17.90 ID:o/KEVGaTr.net] midとかifだと、検索対象文字列のパターンが変更されたらいちいち検索処理の制御構造を変えなきゃならないかもしれない 正規表現だったら大抵RegExpオブジェクトのプロパティの設定値を変えるだけで修正が終わる
278 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:49:52.88 ID:2PvZEflm0.net] 俺なら正規表現とか難しいのわかんないからこれで済ませちゃうな スマートさのかけらもないけど Function isRL(str) As Boolean isRL = str Like "*[, ][RL][, ]*" Or str Like "* [RL]" End Function
279 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:53:17.40 ID:rwwycwh80.net] >>270 それだと ,R_ みたいなのも反応しちゃうような _はスペースね これも全角半角スペース区別とか不明だからまあ
280 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:57:37.38 ID:2PvZEflm0.net] >>271 日本語がどっち指してるかわからなかったからそれも含まれると解釈したんだけど それ入らないならOrいっこ増やすだけだし もちろんもっと複雑さが増してくれば正規表現調べようって気にもなってくるけどね
281 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:01:53.74 ID:WxppAu020.net] >>272 >>263 と同じで突っ込みたかっただけ、めんごめんごw あとLikeだと大文字小文字区別しないよね、だから RLもrlも混同してしまうマッチだけにwww
282 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:08:29.13 ID:JFu5myv50.net] >>273 おまえいいやつだな それでも突っ込むとOption Compare Text書いてなければ大文字小文字区別するよ
283 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:09:45.41 ID:WxppAu020.net] >>274 勘違いしてたすまん、女だから許してw
284 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:15:45.66 ID:Q8wFVHRlr.net] 女だから許してで草 今度から俺も使おうw
285 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:16:58.01 ID:WxppAu020.net] >>276 だってせっかくこれ言いたかったら間違えたのに 誰も突っ込んでくれないからさ >RLもrlも混同してしまうマッチだけにwww
286 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:24:41.93 ID:JFu5myv50.net] Option Compare Gender
287 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:48:48.42 ID:Q8wFVHRlr.net] 混同でマッチで喜ぶとかババァで草
288 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 06:10:08.78 ID:7RhNv1Zw0.net] >>257 そんなのただの推測に過ぎないだろ
289 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 08:11:41.20 ID:Y2pnKR05a.net] >>257 そりゃそうだが、たまに意味わからん形式のログあったりするし 説明のしやすさに直結するだろ
290 名前:255 mailto:sage [2017/05/26(金) 08:38:47.74 ID:iQOaaYC+M.net] いろいろな意見ありがとうございます 釣りではないですが正規表現で良さそうとは感じていました ただ正規表現の書き方がわからなかったのと本当に正規表現が一番適した書き方かわからないのでああいう聞き方になりました なんか混乱させてしまったようですみません
291 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 09:24:25.07 ID:HjxgyacU0.net] すまん俺も女だわ 髭そって会社いくか・・
292 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 09:50:48.59 ID:Vk+zDyie0.net] 正規表現が良いとは限らんよ。 構造を元にした固定の場所の方が良い場合もある。 だからデータの中から取り出したい値がどの様に配置されてるかが重要。 質問する時に出来ればそれを示して欲しかったね。
293 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 09:52:42.09 ID:Vk+zDyie0.net] >>282 ごめん。 >>255 で書いてあったか。 正規表現だね。
294 名前:デフォルトの名無しさん [2017/05/26(金) 10:23:01.77 ID:4SMbnGa40.net] 初心者です。 ユーザーフォームを最近覚えて作成中です。 中身はとりあえずメッセージBOXで工事中にしてユーザーフォームを凝ってみようと思うんですけど いい見本とかありませんか? アプリっぽく作ってシートへのハイパーリンクで満足しようかと思います。
295 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 11:05:39.54 ID:FvwfjnU+H.net] >>250 > 例えばUTF8の読み書きとか。 それは、ADODB.Streamを使うということであって、SQL(クエリ)を使うということじゃないよね。 故意になのか無意識なのかしらないけど、それを混同させてどうしたいのか。
296 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 19:27:53.93 ID:HjxgyacU0.net] >>286 イマイチ何がしたいかわからんが、 よく使われるもの、googleかamazon辺りを参考にしてみては
297 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 19:40:01.56 ID:KALLaxQr0.net] 昨日正規表現で質問したものです。 リファレンスブックを読みながら正規表現で[,\s]R[,\s$]ってな感じで検索して マッチした数値>0で
298 名前:ェ別ってプログラムを組んだのですが、一つ問題が… 取得した文字列の最後が,Rとなっていたときに反応しないです… 正規表現としてはこれであっていると思うのですが何か勘違いしてるんでしょうか? [] [ここ壊れてます]
299 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 20:03:21.45 ID:HjxgyacU0.net] >>289 こうだとうまくいく [,\s](R[,\s]|R$) []内に$はダメなんかね
300 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 20:07:54.29 ID:I1+YwiguM.net] >>289 文字列の最後としての $ は文字じゃないから [ ] の中には入れられない (入れると文字としての $ と見なされると思う) > 名前の判別でRかLのはいったやつを分けるマクロが書きたいんですがRとLは,かスペースに挟まれてるか最後一文字です これちょっと曖昧 ",R," とか " R " はいいとして " R," とか ",R " もいいのか? とりあえずいいとしてスマートかどうかを問わなきゃ "(?:[\s,][LR][\s,].*|\s[LR])$" 辺りでどうか
301 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 20:08:59.71 ID:WxppAu020.net] >>289 勘違いしてます ([,\s][R][,\s]?$) あとそれだと、,R,だけじゃなくて,R_みたいなのも反応するけどいいの? って聞いたんだけどお前全然人のレス読んでないのなw
302 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 20:19:12.02 ID:WxppAu020.net] 質問者 >>255 (ドコグロ MM3f-fCG8) ID:iQOaaYC+M 回答者 >>291 (ドコグロ MM3f-ijLw) ID:I1+YwiguM やはりお姉さんの言った通り(>>266 )釣りだった感
303 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 23:27:30.93 ID:KALLaxQr0.net] 回答ありがとうございます []内に$は受け付けないんですね… ,R_は信じがたいことにそう入力されてるデータを見つけてしまったので分別に必要です。 なんか荒れに荒れてる感じですいません… とりあえず私は質問しかしてません
304 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 23:32:22.16 ID:HjxgyacU0.net] 荒れてないから大丈夫 ただそろそろスレから退散した方が、不愉快な思いをしなくて済むとは思う
305 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 01:01:00.58 ID:acGsd7ij0.net] >>294 もう解決したんでしょ?バイバイ
306 名前:デフォルトの名無しさん [2017/05/27(土) 01:04:32.39 ID:SLDKDwXi0.net] 嘘つきは泥棒の始まり
307 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 01:37:01.15 ID:P2SJDJfj0.net] ほらねw
308 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 11:48:01.37 ID:j+tL9L540.net] >>287 ああ、すまん。 俺は>>233 でADOの観点で絡んでた。 確かに元々の話は何故SQLって話だね。
309 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 16:06:04.75 ID:acGsd7ij0.net] では次の方どうぞ
310 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 21:40:12.40 ID:BMnR9+ov0.net] >>253 使えるってだけだよ。 Schema.iniを使わないと、 勝手に型を決めやがるから、物凄く使い勝手が悪い。
311 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 22:24:03.65 ID:vVj1nMv00.net] マの特技:あらさがし
312 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 22:53:30.64 ID:P2SJDJfj0.net] 当たり前だ その技術がなければバグだらけのコードになる
313 名前:デフォルトの名無しさん [2017/05/27(土) 23:19:58.15 ID:wHxGIeSt0.net] だがならない
314 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 06:22:57.97 ID:KA+g5PFR0.net] $$$4.3$$$ "V"="1.3335412","0","1","3Q",
315 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 19:34:45.91 ID:Q1hkb32K0.net] マクロ初心者ですが質問させてください。 Sheet1のB1-B16000の文字列を同じファイル内の新規シートに 699列毎コピーしたいです。 ググって下記まで作ったのですがエラーが出ます いかんせん知識が無いため、何が間違っているのか分からないです。 どこを修正すればいいのかご教示いただけますでしょうか。 Sub マクロの記録改() Dim n As Long '変数の定義 For n = 1 To 15206 Step 699 Sheets("Sheet1").Select '元シートの「Sheet1]を選択 Application.Goto Reference:="R" & n & ":R" & n + 699 Selection.Copy 'コピー Sheets.Add 'シートを追加 ActiveSheet.Paste '貼り付け Next n Application.CutCopyMode = False 'コピーの解除 End Sub
316 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 19:48:29.74 ID:aGWTIe1b0.net] >>306 とりあえず走らせたけどエラーでなかったよ どこで出るの? そもそも何をしたいの? 元々あるのはsheet1だけとして sheet2のA1にB1-B699貼り付け sheet3のA1にB700-B1399貼り付け ってこと?
317 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 19:59:34.93 ID:CxTrZaFuM.net] >>307 699毎なのでB700-B1398じゃね?
318 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 20:27:18.52 ID:Q1hkb32K0.net] 失礼しました 説明が間違ってました。 エラーではなくて、A行もコピーしてしまうのでB行をA行にコピーしたいです。 まさに、>>307-308 さんの言ってることをやりたい形です!! ちなみに別bookにコピーする場合は、 どういった記述にすれば良いのでしょうか?
319 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 20:40:52.02 ID:2e2e3QA1d.net] >>309 A列に貼るようにするなら "R" & n & "C2:R" & n + 699 & "C2" に変えるだけかな
320 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 20:52:28.37 ID:aGWTIe1b0.net] >>309 こんな感じかねぇ www.dotup.org/uploda/www.dotup.org1264912.zip.html Sub foo() 'setで参照を作成しておく Set コピー元シート = ThisWorkbook.Sheets("main") Set コピー先ブック = Workbooks.Open("./copy.xlsx") '何行ごとか 処理行数 = 699 'ループ For i = 1 To 21 Set コピー先シート = コピー先ブック.Sheets.Add(After:=Sheets(Sheets.Count)) 'コピーでもいいけど、あえてvalueで処理。どっちでもいい For k = 1 To 処理行数 コピー先シート.Cells(k, 1).Value = コピー元シート.Cells(k + (i - 1) * 699, 2).Value Next Next End Sub
321 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 20:53:24.05 ID:aGWTIe1b0.net] そういや昔はsetがさっぱり意味不明だったな 今は普通に使えるけど、なんだったんだろう
322 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 21:01:49.00 ID:dfm78vLC0.net] >>312 ま、やらしぃ
323 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 21:12:47.40 ID:aGWTIe1b0.net] >>313 sexじゃないよ><
324 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 21:15:07.23 ID:CxTrZaFuM.net] >>314 今は普通に使えるsexとか
325 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 22:00:26.21 ID:YdL4iPz30.net] >>311 だからfooを使うんじゃねえhg
326 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 22:02:15.89 ID:aGWTIe1b0.net] >>316 理由教えてくれよ 理由がなければ使い続けるぞ。名前考えるの一番めんどくさいからな
327 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 22:15:25.36 ID:MyydkzNO0.net] 毛を吹き飛ばされるかんじがするんじゃないの?
328 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 22:23:14.52 ID:EJnEHaIs0.net] 俺ルールに違反してんだろ?スルーしろよ
329 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 22:31:37.50 ID:nT+AAD4u0.net] 俺ルールかっけー!
330 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 22:34:37.05 ID:YdL4iPz30.net] >>317 >名前考えるの一番めんどくさいからな 代わりにわたしが考えたよ hogeでよろ これでもう考える必要ないよ >>318 そうです >>319 生理的に無理
331 名前:デフォルトの名無しさん [2017/05/29(月) 22:38:31.20 ID:A34reMmc0.net] ピリピリしてるハゲってなんていうか、微笑ましいよな ハゲ好きだわーオレ、なりたくねーけど
332 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 22:56:21.54 ID:aGWTIe1b0.net] >>321 hogeがfooにまさるメリットとは? 先にfooのメリットを書くと、 ・文字数が少ない です
333 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:01:15.36 ID:YdL4iPz30.net] >>323 じゃあ f だけにして ・文字数が少ないよ
334 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:04:09.54 ID:aGWTIe1b0.net] >>324 fooは慣例の単語 それを不必要に削ると無駄な間違いが増える 揚げ足取りしか出来ないなら使い続けるね
335 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:05:06.76 ID:73+YE/SF0.net] そもそもhogeとfooが何なのか分から
336 名前:。 C言語のスタジオえっちみたいなものですか? [] [ここ壊れてます]
337 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:06:16.47 ID:YdL4iPz30.net] >>325 Sub foo() としか使ってないのに、なんの間違いが増えるの?
338 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:08:06.88 ID:aGWTIe1b0.net] >327 名前が被る
339 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:08:08.96 ID:qTUj1SpC0.net] 4〜3月の売上をまとめて円グラフで描画したいんですがどう描けばいいのかわかりません そもそも各月の売上をまとめて円グラフで描画しようとするのが間違いでしょうか?
340 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:10:27.21 ID:T7IU40/g0.net] ヒソヒソ( ゚д゚)ヤダァ(゚д゚ )ネェ、キイタ?( ゚д゚)オクサン(゚д゚ )アラヤダワァ ハゲテルノニExcelツカッテルンデスッテ! シツレイシチャウワネ
341 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:10:38.64 ID:aGWTIe1b0.net] >>329 はい 扇風機なら夏、おもちゃなら必ず12月が伸びるので毎年同じ形になる円グラフは向いていません 折れ線グラフで前年度、その前の年度を重ねて昨年度対比にするとわかりやすいと思います
342 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:21:33.31 ID:YdL4iPz30.net] >>328 被ってるのお前のあそこだろ
343 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:23:51.96 ID:aGWTIe1b0.net] >>332 結局「なんとなく嫌い」以上の理由が一切ないの? 申し訳ないがそれでは従う気にはならないなぁ
344 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:25:30.91 ID:YdL4iPz30.net] Sub fooをNGにした
345 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:29:17.49 ID:YdL4iPz30.net] >>333 ところで何であなたワッチョイの後半部分ころころ変わるの?
346 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:33:39.65 ID:aGWTIe1b0.net] >>334 だから何www >>335 知らないよ。プロバイダはio光。別に回線を繋げなおしたりはしてないよ
347 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:55:50.00 ID:YdL4iPz30.net] >>336 eoだろ 無駄な間違いが増えるとか言ってる割に2文字すら間違えるっていうwww
348 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:56:19.54 ID:EJnEHaIs0.net] これからは Sub foo()って書いとけば馬鹿避けになるのね。了解!!
349 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:56:51.93 ID:aGWTIe1b0.net] >>337 (ノ∀`)アチャー Sub fooをNGにしてるなら>>336 は本来見えないはずだけど、連鎖NGしてないの? 連鎖NGしないとNGの意味がないからさっさと設定しようね 透明あぼーんがオススメだよ
350 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 00:02:35.81 ID:q6a+ppT10.net] >>338 という結論以外でなかったね 大体予想してたけど、無意味な結論にたどり着くというのも有意義なことだ
351 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 00:05:37.88 ID:OSl0TMez0.net] >>339 効いてる効いてるwww
352 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 00:09:03.85 ID:q6a+ppT10.net] >>341 実は>>337 でひっかかることを予想して>>339 は>>336 の直後に書いてたんだよ ほんとは>>337 の5秒後以内に書き込みたかった。リロードしてる内にめんどくさくなった 1分空くと後付っぽい?
353 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 00:09:14.81 ID:yu6lRt6yx.net] >>340 同意する ID:YdL4iPz30 さよなら。 また来世でな
354 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 00:11:22.34 ID:OSl0TMez0.net] >>342 悔しいの?www 後付けかどうかより >リロードしてる内にめんどくさくなった お前は面倒発言ばっかりだなwww
355 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 00:12:08.17 ID:q6a+ppT10.net] >>344 vbaなんて仕事が面倒くさいから習得するもんだろう それ以外なんかあんの?
356 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 00:13:23.62 ID:OSl0TMez0.net] >>345 vbaじゃなくてVBAってちゃんと大文字で書け
357 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 00:16:18.61 ID:q6a+ppT10.net] >>339 を>>337 の数秒後にレスできたら完璧だったんだけどなぁ これはちょっと悔しかった。予想以上にレスが遅かった。見え見えの釣りに飛びつくと思ったら2分もかかるとは 俺の実力も足りんし、忍耐力も足りなかった 申し訳ない >>346 なんのために?vbaって書いてそれで誰か損してるの? じゃあ書いてやるよwwwVBA!VBA!満足かwww
358 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 00:17:08.32 ID:OSl0TMez0.net] >>347 満足したありがとう
359 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 00:17:13.63 ID:q6a+ppT10.net] だから>>347 が見えるってことはNGにしてないってことなの 何回引っかかるの
360 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 00:45:32.08 ID:RIAflGJM0.net] すぐ消すテストプログラムをfooとかにしたことはないなあ。
361 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 06:56:36.98 ID:tBmyQlvfM.net] >>350 ほんとに一時的なら t とか x とかにしてるわ
362 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 08:10:45.63 ID:06cdz9ADx.net] 久々にスレ開いたらハゲが躍動してて笑った
363 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 08:16:18.25 ID:Pn7VLVPda.net] なんやこのガイジは
364 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 08:50:49.88 ID:C+7xWm9cM.net] >>310 ,311 亀レスですいません!!! できました!!!! ありがとうございました!!
365 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 12:29:57.72 ID:1+UI8ryZ0.net] 誰かアドバイスおばお願いできませんか 野球関連の仕事をしているんですが、選手成績のデータをcsvで貰っていて それを自分の所のcsvに入力しないといけないんですが、いかんせん数が膨大でデータを 並び替えやら抽出やらで変換したいんですが、この場合に覚えた方が良いプログラムってのは エクセルでマクロを組むってのが手っ取り早い近道なんでしょうか? それともほかのプログラム言語を覚えてソフトを開発って手も考えた方が良いのでしょうか?
366 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 12:42:58.11 ID:I4Et1tpDd.net] >>355 「自分の所」って? 一人で自由度が高いならSQLServer Express入れるのが一番だと思う。 タダだし将来性もある。難しくもない。
367 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 12:44:07.68 ID:I4Et1tpDd.net] 膨大っても高々数十MBのレベルでしょ?
368 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 13:14:12.67 ID:1+UI8ryZ0.net] >>356 正確に言い過ぎると微妙な案件だと思って濁し気味なのですが、貰っているデータというのは プロ野球のデータ提供サービスのBISと言われるデータ提供会社のcsvで 『自分』というのは自分の会社で使っている野球中継用のソフトとなります。 (野球中継用のソフトもcsvでデータを賄っているのですが、当然フォーマットが違うので 貰ったデータをもとに普段は手入力しています。) >>357 確かに膨大というのはSEさん達からしたら笑ってしまうレベルの数なのでしょうが 限られた時間(集合時間から試合開始までの時間)で手入力で間違いなく必要項目を入力するという問題なので プログラムにまかせて一括変換できるのなら、間違いも少ないでしょうし、オペレーターの習熟度に左右されずに仕事につかせやすいので、 非常に有益な事だと思ったのです。 本来なら仕様を出して、プログラム作ってもらえば済むことなのかもしれませんが 自分の所で使っている野球ソフトも仕様変更でcsvの項目順番とかずれる可能性もありますし、 提供してもらっているデータも仕様変更とかで順番ずれたりした時に毎回発注とかしたくないので 急ぎではないし自分で作れる様になりたいなと思って相談させてもらいました。
369 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 13:29:23.00 ID:06zvEzNR0.net] 必要なデータ抽出して、並び替えて、別ソフト用のCSVに変換するってことかな? エクセルでもできるだろうけど、自分ならC#かPowerShellでつくるな エクセルを介す必要性がないからわざわざ使いにくくてめんどくさいVBAでやることもない 初心者にはちょうどいいお題だと思うからプログラム作ってみたらいいと思うよ
370 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 13:57:11.50 ID:C+7xWm9cM.net]
371 名前:どなたか助けてください ブック内の約200シートを全て個別のcsvファイルに保存したいのですが、 うまくいきません。 エクセルファイルと同じフォルダにシート名+".csv"という名前の CSVファイルを作成することが条件です。 ググって 下記は出てくるのですが、実行してもエラーが出てしまい CSVにはき出すことが出来ません。 (こちらの環境がMacだからなのでしょうか?) どこを修正すれば正しく、csvにはき出せるかご教示ください! Sub SaveCsv() Dim mySheet As Worksheet For Each mySheet In ActiveWindow.SelectedSheets ActiveWorkbook.SaveAs Filename:= _ ActiveWorkbook.Path & "¥" & mySheet.Name & ".csv", _ FileFormat:=xlCSV, CreateBackup:=False Next End Sub エラー文 実行時エラー '1004': 'Sheet183.csv' にアクセスできません。 [] [ここ壊れてます]
372 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 14:01:00.02 ID:YF+PwbQtH.net] >>358 Excel + VBAでいいんじゃない? >>360 これ? darumaexcel.uijin.com/info/pause.html
373 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 14:21:24.38 ID:C+7xWm9cM.net] >>361 ありがとうございます! ただ直しても同じエラー分が出てしまいます。。。
374 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 14:27:48.25 ID:1szQs/d90.net] >>358 AccessなりSQL Serverなりのデータベースソフトでcsvのインポートを試行錯誤してみればすぐに出来るようになる。
375 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 14:43:31.52 ID:YF+PwbQtH.net] >>362 SaveAs行の前に、mySheet.Selectを追加してみて
376 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 14:53:27.61 ID:C+7xWm9cM.net] >>364 できないですね、、、 実行時エラー '1004': ‘選択中のシート名.xlsx' にアクセスできません。 と表示されます。
377 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 15:14:30.20 ID:EOieG+pf0.net] >>355 perl PHP 辺りが簡単だし便利なモジュールも沢山ある
378 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 15:19:43.12 ID:EOieG+pf0.net] >>355 sqlite3と firefoxのsqlite3用アドインとかと SQL言語を使う方法もある
379 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 15:35:45.48 ID:YF+PwbQtH.net] >>365 Excelのバグですかね。
380 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 15:40:39.49 ID:oatsCbfo0.net] 単なる当てずっぽうでCSVファイル作成前に同名のcsvファイルが既にあるんならそれを消すなりリネームするなりしてるか?
381 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 15:44:54.03 ID:fdB84jON0.net] 数MB程度のテキストデータならピボットでいいと思うが
382 名前:355 mailto:sage [2017/05/30(火) 16:21:56.98 ID:1+UI8ryZ0.net] みなさん沢山のアドバイスありがとうございます。 言語的にはどれとってもほぼ確実にできるけど、道が沢山ありすぎる状態なんですね。 関数電卓のBASIC程度しかかじっていない軟弱な頭にはどれがとっかかりやすいモノなんでしょうか・・・
383 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 16:40:48.70 ID:C+7xWm9cM.net] >>369 空フォルダなのでファイルは存在してないんですよね、、、
384 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 18:10:35.56 ID:YF+PwbQtH.net] >>371 Excelだったらすぐに試せるだろ すぐやれ
385 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 19:06:30.89 ID:q6a+ppT10.net] >>360 ぐぐるんじゃなく自分で作れるようになると楽だよ Sub foo() Application.DisplayAlerts = False For Each シート In ThisWorkbook.Worksheets シート.Activate ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & シート.Name & ".csv", _ FileFormat:=xlCSV, CreateBackup:=False Next Application.DisplayAlerts = True End Sub >>371 エクセル+vbaがいい 諦めなければ絶対に完成する。諦めるな わからなくなったらいつでもおいで
386 名前:デフォルトの名無しさん [2017/05/30(火) 19:22:34.02 ID:Fp/ortWi0.net] >>374 > 諦めなければ絶対に完成する。諦めるな 仕事でやってる人には最低のアドバイスだな ニートのお前とは違うんだよ 仕事ってのは限られた時間の中で最大限の結果を求められ
387 名前: 少しでも人の役に立ちたい気持ちはわからないでもないけど それ以前に自分がニートだっていう事実を忘れちゃいかんな お前が本当に誰かの役に立ちたいのだったら まず自分の身をわきまえ そして相手の立場を理解するって事が何よりも大切な事だ よく覚えておけ [] [ここ壊れてます]
388 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 19:26:38.95 ID:yu6lRt6yx.net] >>375 まじでそう思う。 >>375 反省して ソリューションはどこに記載?
389 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 19:47:55.75 ID:q6a+ppT10.net] >>375 じゃあ諦めて手作業で延々と作業しろってことか 効率的だな〜
390 名前:デフォルトの名無しさん [2017/05/30(火) 20:01:37.18 ID:Fp/ortWi0.net] >>377 少しはわかったみたいだな 効率>>>>>>>>>>>>>>自己満足 仕事ってそういうもんなんだよ
391 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 20:09:38.66 ID:1szQs/d90.net] まぁ実際、出来るかどうか分からないVBAよりも、手作業で確実に済ませるという場面は仕事してると出てくるな。 ただ件の話はルーチン業務のマクロ化についての話だから、多少時間が掛かっても挑戦する価値はある。 しかしながらごく一般的な悩みで、それを解決する手段が用意されているのでVBAに拘る必要がないのも事実。
392 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 20:11:24.56 ID:q6a+ppT10.net] マクロの腕上げてどんどん効率化したほうがいいと思うけどねぇ 会社行ってもすること無いから出勤時間減らしたわ
393 名前:355 mailto:sage [2017/05/30(火) 20:52:10.68 ID:1+UI8ryZ0.net] ありがとうございます。 取りあえずエクセル環境で動くとどの現場でも楽になるので エクセルマクロでどうにか作ってみます。また、来ざる得なく成る様な気がするので その時にまた相談に乗ってください。ありがとうございました。
394 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 21:03:04.18 ID:0IDFiFSH0.net] Excelが必要でないならVBAよりはVBSscriptかな VBScriptはExcel VBAにほぼそのまま持っていける VBScriptやVBA扱いに慣れたらpowershell いきなりpowershellでもいいけど前提知識が割と必要になる powershellの良い入門書って見たことないし
395 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 21:48:33.00 ID:RIAflGJM0.net] >>378 余裕がどれくらいあるかによるけどね
396 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 21:50:18.98 ID:Upz1NUPj0.net] >>374 まだ懲りずにfoo使ってるのニートさん あ、NGしてないのバレちゃうwww
397 名前:デフォルトの名無しさん [2017/05/30(火) 21:56:44.25 ID:GySYMHzV0.net] >>379 ウチの会社の場合、マクロ書いてると「そんな暇があったら直接打ったらいいじゃん」と言われる。バカは手作業こそ 仕事だと思い込むもんなんだよな。
398 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 22:01:43.70 ID:Upz1NUPj0.net] >>360 - ActiveWorkbook.Path & "\" & mySheet.Name & ".csv", _ + ActiveWorkbook.Path & ":" & mySheet.Name & ".csv", _ こうじゃないかな?
399 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 22:03:50.22 ID:Upz1NUPj0.net] >>360 Sub Example MsgBox Application.PathSeparator End Sub これ実行すると多分¥じゃなくて:が表示されるはず
400 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 22:41:04.16 ID:b4dt9kdA0.net] >>385 その場で言えよw
401 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 22:59:03.08 ID:FYFuo4390.net] セルの書式を保持したまま変数に格納する方法ってありますか? 文字の一部分だけ太字とか、嫌がらせみたいなデータがあるんです。 Copy Destinationで別のシートに格納しろ、とかいうのはなしで。
402 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 23:26:10.83 ID:q6a+ppT10.net] 格納だけならsetで簡単にできる しかし他のセルにこれを適用しようとするとフリーズ。理由は知らん 割りと真面目に >Copy Destinationで別のシートに格納 したほうがいい気がする Sub foo() 'A1の一文字目のフォント情報をB1二文字目に Set bar = Cells(1, 1).Characters(Start:=1, Length:=1
403 名前:).Font Cells(1, 2).Characters(Start:=2, Length:=1).Font = bar End Sub [] [ここ壊れてます]
404 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 23:29:44.49 ID:KvP+eqH30.net] >>389 オブジェクトの変数へのコピーができないから無理。 見えないシートやワークブックを一時的に作って、Range.Copy じゃだめなん?
405 名前:デフォルトの名無しさん [2017/05/30(火) 23:58:44.86 ID:GySYMHzV0.net] >>388 ああ、言ってる。でも延々と手作業でやって残業時間自慢してるヤツが殆どw
406 名前:デフォルトの名無しさん [2017/05/31(水) 02:10:54.01 ID:LgGj7rqFa.net] VBA初心者です。 今データの分析をしてるのですが色々な関数を使ってるシートをとりあえず10000くらいまでデータを作っておいてピポットテーブルで分析しています。 それだとデータが重くなりますが入力されたデータに行をオートフィルで追加することはできますか? 例えば A列に日付 B列に店名 C列に商品名 D列に個数 を入力していて 列やG列に日付の関数で月やH列にVLOOKUP関数で店舗の種類の仕分けをしています データを入力した行に関数が自動で追加できるようにするにはどうしたらいいでしょうか?
407 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 03:10:26.82 ID:ngSfzLWM0.net] >>393 イベントを使うといいと思う 例えば4列目に入力があったら5〜7列目がオートフィルされるようにするなら Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row > 3 And Target.Column = 4 Then Range(Cells(Target.Row - 1, 5), Cells(Target.Row - 1, 7)).Select Selection.AutoFill Destination:=Range(Cells(Target.Row - 1, 5), Cells(Target.Row, 7)), Type:=xlFillDefault Target.Select End If End Sub
408 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 05:55:04.74 ID:5otW7Lci0.net] Excelの機能でやった方が良さそうに見えちゃうな 月で集計は列足さずにピボット側で日付をグループ化すればいいし 範囲の拡張はデータ範囲をテーブルにしておけばいいだけだし VBAスレだしVBAでやりたいんならまあいいか
409 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 06:30:09.92 ID:u3wQ/TLpM.net] 補助列作っとくのが最善だと思う 次点でピボットの集計フィールド追加
410 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 07:14:56.30 ID:CCxYhvtc0.net] >データを入力した行に関数が自動で追加 したいだけなら、テーブルにすればいいのでは Excelのテーブル機能の使い方まとめ https://www.forguncy.com/blog/20161014_table >一覧表の最終行の次の行にデータを入力すると、その上の行に入っている書式設定が自動で反映されます。 計算式も自動で反映します。
411 名前:デフォルトの名無しさん [2017/05/31(水) 11:34:55.36 ID:2HZ6ZV5Na.net] イメージと
412 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 14:19:26.52 ID:O9qNIaK10.net] >>360 だけど未だに出来ない、アドバイスいただいたものも全てダメしたけどダメ。 200枚ものシートをいちいち手作業でやらないといけないのか、、、
413 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 14:38:23.24 ID:vzRkDbrnH.net] >>399 Excelのバグじゃないというのは確認したか? アプリケーションの更新とかが出てたりしないか?
414 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 14:40:32.00 ID:O9qNIaK10.net] >>400 エクセルのバグ確認の仕方を知らないので不十分かもしれないですが、 アプリケーションは最新なので、問題無いとおもいます。
415 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 14:44:29.80 ID:O9qNIaK10.net] >>360 です お騒がせしました、これでできたっぽい。 excel-magic.com/post-24/ <font color>のどこを修正すれば良いのか分からないので、ひとまず回して見ましたが途中で止めてCSVを200ファイルほど吐き出せました! これを機会にVBAをちゃんと勉強しようと思いました、、、
416 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 14:44:47.62 ID:vzRkDbrnH.net] >>401 じゃ、マクロを記録しつつシートをCSVで保存してみて、生成されたコードを観察してみるとか。 今回1度きりの作業だったらあきらめて手作業でエクスポートするか、それが嫌なら他のQAサイトで 質問するとか。
417 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 14:50:06.21 ID:vzRkDbrnH.net] >>402 マジか・・・ 何がいけなかったんだろうか・・・
418 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 15:23:51.75 ID:V02iWLllM.net] >>402 うまくいきそうで良かった。 リンク先を見てる感じ、 ActiveWindow.SelectedSheets ActiveWorkbook.Path のどっちかがcsvを保存した時点でおかしくなってるのかなと感じる。 あと、<font color="#ffff00">と</font>はVBAには無関係なので、丸々削除してオーケー。 詳しく知りたければ、「htmlタグ フォント」でググってみてね。
419 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 15:43:17.11 ID:O9qNIaK10.net] >>404 お忙しいところ、ご教示いただきありがとうございました。 >>405 なるほど、また使う事があると思うのでその部分を修正して、 ちゃんと使えるものになるようにいじってみます! タグの件もありがとうございました!
420 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 18:16:14.53 ID:EYxbNvW1a.net] >>355 エクセルvba以外を選べる環境があるなら選ぶ必然がないけどな 初心者向きに見えて初心者向きじゃないから といまさら
421 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 18:54:55.73 ID:lGWBXgBz0.net] >初心者向きに見えて初心者向きじゃない 分かる
422 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 19:38:54.48 ID:jM8viQpZx.net] >>408 VBAしかやったことないから他の言語との比較ができないんだけど、一体どのあたりが初心者向きじゃないと感じるんだ?
423 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 20:03:43.86 ID:lGWBXgBz0.net] >>409 とにかく変なルールや仕様が多すぎる ・まず前提条件として、エクセルについて理解する必要がある。仕事で使っていれば嫌でも覚えるけど、学生にとっては辛いところだろう ・標準モジュールが初期状態で存在しない。初心者が大きくつまずくのはここだろう。コードが思い浮かんでも、どこに書けばいいのかもわからない ・上記の続きで、スコープも変則的に見える。sheet1にコードを書くとなぜsheet2が見えないのか?はスコープ、privateやpublicの概念を先に知っておかないといけない 初心者からみたエクセルなんてどうみても全部publicなのにな ・まずシートをselectするかactivateしないと、rangeがselectできない。糞仕様です ・エラーが大雑把すぎる。 修正候補:式 って言われても、大抵の記述は全部式だろう。式のどの部分だよ ・ if for i = 1 to 2 endif これで出るエラーは「endifに対応するifがありません」そっちじゃねー!!! ・マクロの記録もあやふや。グラフやオートシェイプは記録したマクロを走らせるとエラーになる始末 他にもオブジェクトの塊なのにオブジェクト指向が全くなかったり、ダンプもできない、今更Bライクとかええやろ、など他にも色々あるけど
424 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 20:16:19.68 ID:oF6IsnwB0.net] 違う言語に対応できない初心者の愚痴で草 とりあえず何にでも文句言ってんだろうなって印象
425 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 20:43:19.50 ID:487dhIIWM.net] なんか大部分がVBAじゃなくてエクセルの仕様な気が。
426 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 20:46:24.66 ID:JJWe2xBC0.net] 実際そこだと思う エクセルに拘る理由が無いならVBAに拘る理由もないし
427 名前:デフォルトの名無しさん [2017/05/31(水) 20:49:37.96 ID:ac0fXejp0.net] >>410 だいたいエクセルも知らんやつがなんでいきなりエクセルマクロやろうとしてんだよw 「エクセルvbaでプログラミングを学ぼう」みたいな風潮が諸悪の根源なんだよな そういう意味では>>407 の言うことにも一理あるわw
428 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 20:57:43.48 ID:EYxbNvW1a.net] 初心者向きやりたいならVB.netでもやりゃいいのよ プログラム言語としては不親切極まりないのは間違いないだろ、VBAは 機能拡張も期待できないし 敷居は低いが不親切
429 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 21:14:12.59 ID:Nua5RAmq0.net] プログラミングなんて、変に凝らなきゃそこそこの処理ロジックは誰でも作れるよ。 でも入出力が楽にできるGUIが欲しいとか、プログラムに食わせる制御データの管理を手軽にしたいとか、 日常使いのアプリとして便利にってなるとExcelになっちゃうんだよね。
430 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 21:20:34.89 ID:lGWBXgBz0.net] >>411 一般事務のデファクトスタンダードなのにあまりに酷いとは思う さすがにバージョンアップしてほしい。エクセルは進化してるけど、vbaはvb6.0以下だろう >>414 エクセルもそもそも自由度が高すぎる。テーブルで大分機能的には落ち着いたけど、肝心のテーブルが使われていない とりあえずセルの結合だけでも廃止してほしい
431 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 21:42:12.36 ID:YZgbxTyGM.net] >>417 それはエクセルが優れてるからというより、ワードが糞過ぎるからワードの守備範囲までエクセルでカバーせざるを得ないだけだろう
432 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 22:00:18.50 ID:lGWBXgBz0.net] ワードなぁ・・・ワードはずっと扱ってないよ。いくつかの会社の人に聞いたけど、やっぱりワードは糞 しかし唯一、日本を代表する金融企業の人と飲んだ時、その人が喜々として語っていた その企業はエクセルもアクセスも使わず、資料は全てシステム部門に頼む体質 宴会や支店向けの広報をワードで一生懸命作る会社だったらしい いいか悪いかはともかく、まぁ、日本の上層部は社会主義だ。
433 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 22:01:17.27 ID:ZGVFQMFtH.net] >>417 自分もセル結合嫌派だけど、これまでセル結合で表現していた部分はどうするの? 個人的には、(選択範囲で中央)が水平方向だけでなく、垂直方向にもきけば満足だけど、、 現場の意向でどうしても使わないといけないことが多々ある。
434 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 22:12:44.56 ID:lGWBXgBz0.net] >>420 ・セル結合は機能自体なくす ・「選択範囲で中央揃え」的なものをもっと増やす 要するにとにかくセルと情報は1:1にする その上で ・書式設定無し 機能があれば、 編集側、閲覧側に取っても幸せになるだろう とにかく、作業中のデータとプリントアウト等の見せるデータ、これを抜本的に乖離しないと話にならない とにかくセル結合が最初だ。
435 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 22:24:29.36 ID:Nua5RAmq0.net] >>421 見せるためのデータをまた入力にするなんてバカなことを
436 名前:しなければ別にいいだろ セル結合したって [] [ここ壊れてます]
437 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 22:28:56.46 ID:lGWBXgBz0.net] >>422 >見せるためのデータをまた入力にするなんてバカなこと 中小企業では普通にある。 もうええ、これに関しては突っ込むな時間の無駄だ
438 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 22:55:16.15 ID:xZexTgw80.net] >>391 >>390 諦めてCopy Destinationします。 ありがとうございました。
439 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 22:55:23.97 ID:Nua5RAmq0.net] そんな感じ
440 名前:デフォルトの名無しさん [2017/05/31(水) 23:56:16.90 ID:N23t2UmQd.net] 画面に表示されてるとおり印刷してくれ 俺の要望はそれだけだ
441 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 00:07:36.27 ID:xwlKrZPp0.net] プリントスクリーンボタン
442 名前:デフォルトの名無しさん [2017/06/01(木) 00:30:28.19 ID:3kmI9vZh0.net] その手があったか!
443 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 00:37:46.47 ID:7jSAnpp50.net] >>402 お前毎回人の話聞かないクズなのな
444 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 00:38:42.21 ID:7jSAnpp50.net] >>405 セパレータの問題だって
445 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 00:39:34.14 ID:xwlKrZPp0.net] _人人人人人人人人_ > 突然の亀レス <  ̄Y^Y^Y^Y^Y^Y^Y ̄
446 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 00:47:31.72 ID:7jSAnpp50.net] >>431 4b19=ef8eだった
447 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 00:47:35.28 ID:xEezSy0Q0.net] 突然セパレータの話を持ち出しておいて「だって」とはwww
448 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 00:50:32.04 ID:7jSAnpp50.net] >>433 mac版で:じゃなくて\で動くの?w ソースは?w
449 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 00:57:03.34 ID:7jSAnpp50.net] >>431 >>433 ワッチョイの仕様変わったの? ID:lGWBXgBz0この人UA部分がころころ変わってるんだけど デフォルトの名無しさん (ワッチョイ ef8e-9J/J) デフォルトの名無しさん (ワッチョイ ef8e-kjbA) デフォルトの名無しさん (ワッチョイ ef8e-c3sC) デフォルトの名無しさん (ワッチョイ ef8e-h4wC)
450 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 03:36:38.16 ID:DLazu0lV0.net] >>410 RangeをSelectする必要なんて普通無いだろう。 Selectする場合はSheetをActiveにするのも自然だろ。 何かおかしなこと言ってない?
451 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 05:02:21.03 ID:AjLNIuL80.net] >>436 おもた “見せる”時以外使わない
452 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 07:00:00.45 ID:YbQp1MN1M.net] >>436 select しないといろんな操作ができないって思ってるのかも マクロの自動記録で覚えた奴にありがち
453 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 07:39:25.88 ID:xwlKrZPp0.net] >>436 あんまり無いだろうね。これは俺の好み Workbook_BeforeSaveで全sheetのcells(1,1)か、最終行に選択セルを持って行くことがよくあるんだ
454 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 07:58:39.77 ID:J+CWW2790.net] 取り敢えずのapplication.goto
455 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 08:15:30.82 ID:Vftk4o9ex.net] わざわざシートのActivate/Selectメソッド使わなくても、シート.Range(Index).Selectで終わる話だろ そんなにGlobal.Range使いたいんか? Global.Rangeなんてほぼ使わないぞ俺は、コードの可読性下がるから
456 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 08:55:51.01 ID:mJLzyhAZx.net] ごとーーー!
457 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 08:58:27.48 ID:VCI0My45d.net] シートがアクティブになってないとセルのselectできない話でしょ
458 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 10:28:17.60 ID:d3jolD7CM.net] >>434 修正したけど出来ないってレスしてんじゃん ちゃんと読んでからレスしなよwww
459 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 18:30:37.54 ID:N6tgl860x.net] >>443 >>410 は「シートをselectするかactivateしないと、rangeがselectできない」って書いてるよな シートがアクティブになってないとRange.Selectが使えないっていう話をしてるわけじゃなくて、 シート.Selectメソッドかシート.Activateメソッドを使ってシートをActiveにしないとRange.Selectが使えないっていう嘘を言ってるんだぞ
460 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 20:31:16.93 ID:J+CWW2790.net] >>445 念のために聞いておくが、何が嘘で、正解は何なのか教えてくれないか
461 名前:デフォルトの名無しさん [2017/06/01(木) 20:53:27.07 ID:gEanndL50.net] どっちにしろSelectするかActivateすれば使えるんだろ? たいした問題じゃねえよそんなの
462 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 22:54:42.48 ID:DaNoSOMR0.net] 文法的に納得いかないけど上手くいく不思議 Set Newbook = Worksheets.Add
463 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 23:25:19.57 ID:4Mx8xPkv0.net] むしろ参照を返さないAddの方が少数派では
464 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 23:30:05.12 ID:0CdKwKMK0.net] >>441 そうですよね i.imgur.com/c7ccxuI.png
465 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 23:30:45.71 ID:xwlKrZPp0.net] >>448 どう納得行かないのか分からん
466 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 23:32:46.29 ID:DaNoSOMR0.net] >>451 代入してんのか?実行してんのか?っていう。
467 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 23:33:10.29 ID:DaNoSOMR0.net] Setだから代入ではないか。
468 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 23:34:35.43 ID:xwlKrZPp0.net] >>452 戻り値を代入してる。特に違和感がないんだが
469 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 23:37:20.08 ID:JcXv0anO0.net] むしろ NewBook と言う変数名の方に違和感があるんだが...
470 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 23:47:19.51 ID:L+dplH4ca.net] 個人的にはworksheet.copyが値返してくれないほうが納得行かない
471 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 00:18:14.15 ID:WCh1iO0Y0.net] >>456 その気持ちはよくわかる その行を実行した直後はどの変数にも入っていないシートだからなんか不安になる どうしても不安なときは先に新規ブック作っといてそこをコピー先にしてるけどね それはそれで無駄なことしてんなあという気になる
472 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 06:38:31.89 ID:tmNEumAvx.net] >>448 機能とは関係ない話だけど変数名はNewBookじゃなくてNewSheetにした方がニュアンス的に正しくない?
473 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 06:52:23.32 ID:MGPR/erb0.net] >>456 機能的に代替出来る操作がある場合は値返さないものが多い気がする。 たぶんユーザー操作をマクロ化する為だけのメソッドは返さないんだと思う。
474 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 11:33:41.01 ID:8fOMtk3c0.net] >>444 おい間抜け、↓この事だろ?こいつは嘘だ >>399 >アドバイスいただいたものも全てダメしたけどダメ。 コード書いたり詳細に説明したレスに対してですら 個別にレスを返さない奴は、大体が釣り・試してない・見逃しのパターン ソース?根拠?理由はこれだ、結果が書かれていない >>387 余談だけど、foo野郎との質問野郎はなぜかセットで来る
475 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 11:39:22.60 ID:EMy/L9NX0.net] >>460 義務じゃないんだから、嫌ならもう来なくていよ
476 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 12:18:35.67 ID:8fOMtk3c0.net] >>461 またそうやって話逸らして逃げるんだから
477 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 12:26:31.41 ID:I1EQuNZXM.net] ある数値に対して指数表記の有理数と指数を楽に拾いたいときって、format関数を使うのがいいですかね? 他に楽な方法ありますか?
478 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 14:32:15.95 ID:zUUtTsys0.net] どんな方法があるにせよ、お前はそれで納得できずもっと他にないの?って 聞き続けるんだろ? >>463
479 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 17:47:56.11 ID:I1EQuNZXM.net] 書いてたら泥沼化してたんだけど、結構すっきり書けました。 指数=cint(split(format(数値,"0e+0"),"e")(1)) 有理数=数値*0.1^指数
480 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 21:26:05.82 ID:rlzCeZS80.net] エクセルの複数のセルの外枠に罫線を引きたいのですが、アプリケーション定義なんたらのエラーが出ます。 workbooks(********.***).worksheets(*****).range(cells(StartRow,StartCol),cells(endrow,endocol).borderaround でstartrow startcol endrow endcolは変数です どこがおかしいでしょうか?
481 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 21:45:23.47 ID:Zr32bafNM.net] >>466 cellsがActiveSheetのセルなのでエラーになる。 ↓のような感じでどうぞ。 with workbooks(********.***).worksheets(*****) .range(.cells(StartRow,StartCol), .cells(endrow,endocol).borderaround end with
482 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 22:52:19.74 ID:rlzCeZS80.net] >>467 ありがとう。 そういうことだったんですね。
483 名前:デフォルトの名無しさん mailto:sage [2017/06/03(土) 17:22:19.30 ID:u7+4M4Ru0.net] >>468 初心者が一番嵌まる奴だな。
484 名前:デフォルトの名無しさん [2017/06/03(土) 21:54:33.85 ID:4eBaDiw20.net] クラスモジュールってクラス定義してインスタンス化できるってこと?マルチスレッド可能なの? オブジェクト指向?
485 名前:デフォルトの名無しさん mailto:sage [2017/06/03(土) 22:20:24.58 ID:KC92KqWf0.net] >>470 >クラス定義してインスタンス化できるってこと? そう >マルチスレッド可能なの? 無理
486 名前:デフォルトの名無しさん mailto:sage [2017/06/03(土) 22:30:10.37 ID:aDOlFL7Wx.net] >>470 オブジェクト指向
487 名前:ヘ中途半端なとこまでしかできない マルチスレッドは無理 [] [ここ壊れてます]
488 名前:デフォルトの名無しさん mailto:sage [2017/06/03(土) 22:32:25.28 ID:KC92KqWf0.net] エクセルvbaの場合エクセル自体がメインのオブジェクトだから、そんなにclassにこだわることもないけどね エクセルvbaでゲーム作ってる人は知らん
489 名前:デフォルトの名無しさん [2017/06/03(土) 22:56:31.41 ID:4eBaDiw20.net] >>471 >>472 プロパティくらいなのか サンキュ
490 名前:デフォルトの名無しさん mailto:sage [2017/06/03(土) 23:02:58.42 ID:aDOlFL7Wx.net] >>474 カスタムイベント実装、インターフェース継承くらいなら出来る ただ引数付きコンストラクタの作成やクラス継承・オーバーロードが出来ない
491 名前:デフォルトの名無しさん mailto:sage [2017/06/03(土) 23:49:37.74 ID:KC92KqWf0.net] vbaって継承できたのか、知らなかった・・・
492 名前:デフォルトの名無しさん mailto:sage [2017/06/03(土) 23:53:01.27 ID:6M92ecdj0.net] >>475 C++でそれらを使ってた時は 無くてもいいかなあとか思ってたけど VBA始めたらありがたさがわかった
493 名前:デフォルトの名無しさん [2017/06/04(日) 00:02:03.04 ID:SMq8qLM70.net] >>477 C++でわからなかったんだからわかってないよそれw
494 名前:デフォルトの名無しさん mailto:sage [2017/06/04(日) 00:14:43.34 ID:QJwsDnIt0.net] >>478 いや、普通に使ってるものに対して いちいちありがたみなんて感じないだろ? あるのが当然なんだから 正直lamdaもほしい
495 名前:デフォルトの名無しさん [2017/06/04(日) 00:23:32.29 ID:SMq8qLM70.net] >>479 そうか?オレ毎日納豆食うけど食うたびに美味しいぜ?
496 名前:デフォルトの名無しさん mailto:sage [2017/06/04(日) 00:46:27.14 ID:TICwxklg0.net] 無くてもいいかなあ とわざわざ考えるとは疑問
497 名前:デフォルトの名無しさん mailto:sage [2017/06/04(日) 00:55:58.63 ID:/9No1Vdv0.net] C++の共用体はこんなもん使うか?と思ったけど、使うべき場面が来たら普通に使う そういうもんだった
498 名前:デフォルトの名無しさん mailto:sage [2017/06/04(日) 01:47:41.87 ID:ObX9l6mb0.net] ありとあらゆる機能を使って実装するっていう状況自体少ないだろうしな。
499 名前:デフォルトの名無しさん (ワッチョイ 6a6f-E6+r) mailto:sage [2017/06/04(日) 08:43:15.60 ID:/sAoF2vM0.net] マルチスレッドが無理って、 2つのブックでDoEventsして、 2つ実行したらおかしくなるってこと?
500 名前:デフォルトの名無しさん (ワッチョイ bd23-KDIu) mailto:sage [2017/06/04(日) 11:38:52.57 ID:ParPgGiC0.net] >>484 それはマルチスレッドじゃなくね?
501 名前:デフォルトの名無しさん (ワッチョイ 3511-UdBD) mailto:sage [2017/06/04(日) 11:40:48.80 ID:NZhuuX9z0.net] なんやかんやクラスは便利 データまとめるのにはよく使うわ
502 名前:デフォルトの名無しさん (アークセー Sx3d-nANo) mailto:sage [2017/06/04(日) 12:00:24.95 ID:I9SwB1IFx.net] >>486 クラスでデータまとめるって、具体的にはどういう場面で使ってる? ワークシート使うより便利?
503 名前:デフォルトの名無しさん (ワッチョイ 3511-UdBD) mailto:sage [2017/06/04(日) 12:55:28.25 ID:NZhuuX9z0.net] >>487 シートにあるやつを一回配列かコレクションか(俺はやらないけどレコードセットでもいい)にクラスん中でまとめるのよ メインコードにリストに入れる処理入れるとごちゃごちゃするからさ
504 名前:デフォルトの名無しさん (アークセー Sx3d-nANo) mailto:sage [2017/06/04(日) 13:22:31.55 ID:tlzlLDo0x.net] >>488 レスありがとう なるほどね 複数のレコードに対して同じ処理を繰り返す必要がある場合には便利そう
505 名前:デフォルトの名無しさん (ワッチョイ 9e23-amhP) mailto:sage [2017/06/04(日) 17:48:58.65 ID:1s3T2QVw0.net] >>484 全然ちがう。 win32API使って別スレッド作る方法はあるし可能だよ。 けどExcelVBAでそれをやると物凄い不安定になる。 自分が試した感触ではRangeとかCellとかのExcelのオブジェクト触った瞬間にExcelごと落ちる感じ。 じゃあ、Excelのオブジェクト触らずに計算する所だけなら良いかというと、動く場合もあるけど複雑なものになると処理が間に合わなくて落ちるらしい。 基本、やめた方が良い。
506 名前:デフォルトの名無しさん (スプッッ Sded-qcoX) mailto:sage [2017/06/05(月) 01:20:19.17 ID:oPyz6kCkd.net] 別処理をWord使って処理させようとしてもOf
507 名前:fice全体で連携かかってるみたいでうまくいかなかったことがある 変なとこで作り込まれていてやりたいようにできないんだよな [] [ここ壊れてます]
508 名前:デフォルトの名無しさん (ドコグロ MM12-Tm/A) mailto:sage [2017/06/05(月) 08:37:00.53 ID:nJSdLO+iM.net] 元々マルチスレッドに対応してないものを無理矢理動かそうとして文句言われてもなぁ...
509 名前:デフォルトの名無しさん (ワッチョイ 5e6d-zyXy) mailto:sage [2017/06/05(月) 08:43:10.54 ID:+xVCJOY00.net] 文句じゃなくね
510 名前:デフォルトの名無しさん (ワッチョイ 2973-KDIu) mailto:sage [2017/06/05(月) 08:55:26.49 ID:btJTHdak0.net] 想定外の使い方ができないぞ!ってのは文句じゃないのか
511 名前:デフォルトの名無しさん (スップ Sdea-rE82) mailto:sage [2017/06/05(月) 09:24:51.60 ID:Sx3XxldLd.net] >>490 ほほ同じ経験がある。 自分の場合は処理が終了したデータをDBにINSERTするところは上手くマルチスレッド化できた。 待ち合わせが必要ないパターンだったし。 COMそのものがマルチスレッドだめなんかね?
512 名前:デフォルトの名無しさん (JP 0H6e-rLqX) mailto:sage [2017/06/05(月) 11:01:11.07 ID:bwrXOc4qH.net] >>490 > 自分が試した感触ではRangeとかCellとかのExcelのオブジェクト触った瞬間にExcelごと落ちる感じ。 それGUIアプリの常識。 全然関係ないスレッドからUIスレッド管理下のものに触ってはいけない。 https://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%82%A4%E3%82%B9%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89
513 名前:デフォルトの名無しさん (スップ Sdea-rE82) mailto:sage [2017/06/05(月) 11:54:25.53 ID:Sx3XxldLd.net] >>496 プライマリスレッドからでもダメなこと多かったよ。
514 名前:デフォルトの名無しさん (JP 0H6e-rLqX) mailto:sage [2017/06/05(月) 11:59:36.00 ID:bwrXOc4qH.net] >>497 > プライマリスレッドからでもダメなこと多かったよ。 どの言語で?
515 名前:デフォルトの名無しさん (ドコグロ MM12-Tm/A) mailto:sage [2017/06/05(月) 12:54:03.39 ID:cR57/ADJM.net] >>495 > COMそのものがマルチスレッドだめなんかね? COM 自体はアパートメントモデルをちゃんと設定すればマルチスレッドでも動く eternalwindows.jp/com/apartment/apartment01.html 個々のオブジェクトが正しく動作するかどうかはまた別の話
516 名前:デフォルトの名無しさん (ササクッテロラ Sp3d-mjoq) [2017/06/05(月) 23:38:18.98 ID:bd1ggU41p.net] マクロを作成は通常MODULEですが、 Sheet1やThisworkbookに記入するのはどういうときでしょうか。済みません。
517 名前:デフォルトの名無しさん (ワッチョイ 4aef-PQPf) mailto:sage [2017/06/06(火) 00:15:48.16 ID:d6CS0Xy90.net] なんでVBAでマルチスレッドにするの
518 名前:デフォルトの名無しさん (ワッチョイ 9e23-amhP) mailto:sage [2017/06/06(火) 04:12:26.65 ID:NdFOOmMr0.net] >>501 要望として有るのは待ち状態の時に先に進めるためとか。 ダイアログの中には何らかの操作をしてダイアログ自体を閉じさせないと次のステップに行かない物がある。 そういう時に別スレッドで無限ループ中でそのダイアログが見つかったら操作する処理を動かしてからダイアログ表示させるとか。 例えばメッセージボックス表示させるんだけど10秒間ボタンが押されなかったらキャンセルするとか。 こういうのは上手く書くと動く。 他にも複数の関連しない計算に時間がかかっている時に単純に速度アップのために使いたいと思うかもしれない。 でも動いても趣味のプログラム以外じゃ危なっかしくて使えない。 マルチプロセスで代替えできるものも多いから無理する必要もない。
519 名前:デフォルトの名無しさん (ワッチョイ 6a06-k7rq) mailto:sage [2017/06/06(火) 04:20:46.72 ID:LBKXQv4G0.net] >>500 >Sheet1 そのシートをActiveにした時の処理、DeActivateにする時の処理、あるいは 特定のセルにデータを入れた時の処理 etc >Thisworkbook ブックの起動時や終了時にDBとの接続処理や切断処理を入れてる
520 名前:デフォルトの名無しさん (ワッチョイ 5e6d-zUMb) mailto:sage [2017/06/06(火) 07:54:06.29 ID:xLIl+dL/0.net] sheetやbookに書くのはそのオブジェクトのイベント 使い捨ての整形マクロなんかはsheetに書いてもいいけど、標準モジュールに書いたほうベター
521 名前:デフォルトの名無しさん (アークセー Sx3d-nANo) mailto:sage [2017/06/06(火) 09:
] [ここ壊れてます]
522 名前:05:13.69 ID:YhE+Nuz8x.net mailto: >>500 シートやブックのイベントを使用するためだよ [] [ここ壊れてます]
523 名前:デフォルトの名無しさん (ワッチョイ bd23-KDIu) mailto:sage [2017/06/06(火) 20:09:22.46 ID:Uy4z/eLw0.net] vlookup等を使用しているとソルバーが使えないらしいのでVBAで作ろうと思っていますが、定番というか定石というか、参考になるサイトややり方等はありますか? 言ってて抽象的だなとは思ってはいますが、どうすべきなのか判らず…よろしくお願いします。
524 名前:デフォルトの名無しさん (ワッチョイ 6a6f-E6+r) mailto:sage [2017/06/06(火) 21:53:22.27 ID:efHThVDq0.net] >>500 Thisworkbook.Worksheets(Activesheet.Name).Cells(1,1).Value=1 って書くのが面倒くさくて、 Me.Cells(1,1).Value=1 って書きたい時とか。 Me.も要らねえだろって? 何らかの理由でActivesheetが変わっちゃったら嫌じゃないですか?
525 名前:デフォルトの名無しさん (ササクッテロラ Sp3d-mjoq) [2017/06/06(火) 21:56:25.64 ID:vXDpJbBwp.net] 教えてください。 マクロでハイパーリンクを実行したいのですが、セルにリンクを貼る必要がない、ただマクロから実行するだけというとき、どう書けば良いのでしょうか。
526 名前:デフォルトの名無しさん (ワッチョイ ed46-RkbP) mailto:sage [2017/06/06(火) 22:06:15.37 ID:XIE7cY+50.net] >>508 これ? Sub foo() ThisWorkbook.FollowHyperlink "www.google.co.jp/" End Sub
527 名前:デフォルトの名無しさん (ワッチョイ 6a6f-E6+r) mailto:sage [2017/06/06(火) 22:14:17.43 ID:efHThVDq0.net] そっち? ハイパーリンクじゃなきゃダメなのか、 飛べば何でもいいのか。 Dim Ie As InternetExplorer Set Ie = CreateObject("InternetExplorer.Application") Ie.Visible = True Ie.Navigate "www.google.co.jp/"
528 名前:デフォルトの名無しさん (ワッチョイ 6a6f-E6+r) mailto:sage [2017/06/06(火) 22:21:53.88 ID:efHThVDq0.net] ↑Microsoft Internet Controlsを参照設定しないとだめだわ。
529 名前:デフォルトの名無しさん (ワッチョイ 5e6d-hsUK) mailto:sage [2017/06/06(火) 22:53:35.96 ID:xLIl+dL/0.net] >>510 IEではなく、chromeインスタンスを作ることって出来ますか?
530 名前:デフォルトの名無しさん (アークセー Sx3d-nANo) mailto:sage [2017/06/06(火) 23:09:15.48 ID:NPrNQzK4x.net] Dim objShell as Object Set objShell = CreateObject(“WScript.Shell”) GC.Run (“chrome.exe -url ” & アクセスしたいページのアドレス)
531 名前:デフォルトの名無しさん (アークセー Sx3d-nANo) mailto:sage [2017/06/06(火) 23:10:19.79 ID:NPrNQzK4x.net] 間違えたので Dim objShell as Object Set objShell = CreateObject(“WScript.Shell”) objShell.Run (“chrome.exe -url ” & アクセスしたいページのアドレス)
532 名前:デフォルトの名無しさん (スプッッ Sded-qcoX) mailto:sage [2017/06/07(水) 00:14:23.17 ID:iB9NoSxCd.net] >>507 activesheetがどこだろうとsheetモジュールに書いてんなら関係なかんべ sheetオブジェクトまで省略できる手抜きコードで済ますのにたまに使ってるわ あとsheetをコンフィグ書いとくのに使ってるときにプロパティ的な関数を置いといたりな あまり行儀よくはない自覚はある
533 名前:デフォルトの名無しさん (ブーイモ MM49-JT0G) mailto:sage [2017/06/07(水) 01:08:40.19 ID:0NeAqWbNM.net] >>506 詳しくはないけど、VBAでやるものじゃない印象。 Excelのソルバーで収束するように数式を書き換えるか、他の言語やツールを使うのがいいんじゃないかなあ。 「ソルバー アルゴリズム」でググれば色々手段が出てくるよ。
534 名前:デフォルトの名無しさん (ワッチョイ 7d6d-28Zt) [2017/06/08(木) 01:09:56.48 ID:eFwaOcHQ0.net] あるサイトのスクロールバーを一番下まで下げて キャプチャしてシートに貼り付けてトリミング。 同じページにあるフレーム内のスクロールバーを下まで下げて キャプチャしてシートに貼り付けてトリミング。ってのを 3ページ分位繰り返し行いたいのですが www.vba-ie.net/ie/iescroll.html この辺とか見てるんですがヒントください
535 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/08(木) 05:16:07.28 ID:1DKX/Vru0.net] >>517 なんでこんなヘンテコなことしなきゃならんの? JavaScriptなんて
536 名前:必要無いぞ。 と思ったけど、ちょっと調べてみるとJavaScriptでスクロールしてる例が多いな。 今、試す環境が無いから何とも言えないな。 DOMの勉強するよろし。 [] [ここ壊れてます]
537 名前:デフォルトの名無しさん (ワッチョイ db6d-D9zB) mailto:sage [2017/06/08(木) 07:40:44.87 ID:fJC45ZIB0.net] >>517 パット見たけどかなりめんどくさそう キーボードマクロの方が良いと思う
538 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/08(木) 15:33:04.11 ID:1DKX/Vru0.net] >>519 キーボードマクロは危険だよ。 動いてる最中にマウスクリックとかすると場合により大変なことになる。 操作は難しくないけどキャプチャをどうするかで難しくなるかも。 自分だったら難しい方法を選択するので。
539 名前:デフォルトの名無しさん (アウアウイー Saf1-ptyI) mailto:sage [2017/06/08(木) 20:37:38.86 ID:HogApBmCa.net] VBA初心者です For Nextループのカウンタ変数について質問です 1) データの最終行を取得 カウンタ変数の初期値 2、終了値をデータの最終行に設定(仮に11とします) 2) For Nextループで処理 3) ループ終了後、A11セルの値を変数に代入したい For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row 処理 Next ★変数 = Cells(i, 1).Value ★For Nextループを抜けた直後のカウンタ変数iは、データの最終行(i=11)のはずなので、 そのままCellsプロパティに代入すればA11セルの値を取得できると考えたのですが、 ループ終了時にカウンタ変数iが終了値に+1されて12になってしまいます 「For Nextループ終了後のカウンタ変数iは終了値+1になる」 というのは仕様なのでしょうか?
540 名前:デフォルトの名無しさん (ワッチョイ dd8b-Loth) [2017/06/08(木) 20:40:46.12 ID:TyBSFeDZ0.net] 仕様ではないけど現実はそうなる
541 名前:デフォルトの名無しさん (ワッチョイ d543-g/1O) mailto:sage [2017/06/08(木) 20:45:04.87 ID:xavUYSpk0.net] ループ変数が指定の範囲を「越えたら」ループを終了する、というのがForの仕様
542 名前:デフォルトの名無しさん (アークセー Sx71-sCoW) mailto:sage [2017/06/08(木) 20:46:19.32 ID:x3QO3rgpx.net] >>521 xlupの値を使えばいいでしょ
543 名前:デフォルトの名無しさん (ワッチョイ dd8b-Loth) [2017/06/08(木) 20:46:39.16 ID:TyBSFeDZ0.net] ループ変数が指定の範囲の「間」ループを繰替えす、というのがForの仕様
544 名前:デフォルトの名無しさん (アークセー Sx71-5Ux4) mailto:sage [2017/06/08(木) 20:53:59.27 ID:ajpliBtkx.net] >>522 仕様だよ For Nextはカウンタ変数の値が引数endを超過した(または引数endの値未満になった)と判断したときにループ終了になる Step1でループさせた場合、カウンタ変数がend+1の値になったときに次の処理に移るので、ループを抜けた後のカウンタ変数は当然end+1になる
545 名前:521 (アウアウイー Saf1-ptyI) mailto:sage [2017/06/08(木) 20:55:48.28 ID:HogApBmCa.net] お答えありがとうございます >>523 ,525-526さんがおっしゃってるようなことかなー、と思ったのですが カウンタ変数は終了値を維持するという謎の思い込みがあったので 詳しい方々にきちんと教えていただけて有り難いです >>524 ごり押しでi=i-1とするつもりでしたが断然スマートですね というか、最終行取得のCells(Rows.Count, 1).End(xlUp).Rowも定型文のように覚えていたので、 きちんと構文の意味と動作を調べ直します
546 名前:デフォルトの名無しさん (アークセー Sx71-sCoW) mailto:sage [2017/06/08(木) 20:59:19.38 ID:x3QO3rgpx.net] >>527 へっ 良いってことよ! 達者でな
547 名前:デフォルトの名無しさん (ワッチョイ 2311-OlK+) mailto:sage [2017/06/08(木) 21:43:39.15 ID:ZLqPeRaK0.net] i = 1 Do While i <= 11 i = i + 1 Loop みたいなもんだね。 あと言語によってはループ変数(i)がfor文の中だけのスコープで for文を抜けたら破棄されたりするから、ループ変数はループの中だけで 使う癖をつけておいた方が無難。
548 名前:デフォルトの名無しさん (ワッチョイ 236f-xcYX) mailto:sage [2017/06/08(木) 21:44:40.10 ID:/ZCsTOrv0.net] 別ブックのデータを自動で取り込むプログラムを書いていて思うんだけど、
549 名前: そういうのが簡単に出来るクラスとかないの? [] [ここ壊れてます]
550 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/08(木) 21:47:25.81 ID:XdC3vCwF0.net] >>530 Workbooks.Open
551 名前:デフォルトの名無しさん (ワッチョイ 2311-OlK+) mailto:sage [2017/06/08(木) 21:52:58.35 ID:ZLqPeRaK0.net] >>517 こんな感じかな? 出来るかはわかんないけど。 IEインスタンスを生成する IEを表示する IEにURLを送る IEの表示を待つ IEのページにフォーカスする sendkeysで一番下までスクロールする sendkeysでPrintScreen 0.1秒位待つ シートに貼り付けてトリミングする IEのiframeにフォーカスする sendkeysで一番下までスクロールする sendkeysでPrintScreen 0.1秒位待つ シートに貼り付けてトリミングする 以下ループ キーマクロは俺も考えたけど、エクセルの操作が融通ききにくそう。 UWSCとか使えばいいかもしれないけど、結局VBAで書くのと大差なくなる気がする。
552 名前:デフォルトの名無しさん (ワッチョイ 236f-xcYX) mailto:sage [2017/06/08(木) 22:01:50.62 ID:/ZCsTOrv0.net] >>531 そうだけどさ、 自身のファイルを開いてないか? 開いたファイルにフィルタがかかってないか? 開こうとしているファイルは既に開いてないか? xlsかcsvか? って、色々チェックするの面倒じゃん。
553 名前:デフォルトの名無しさん (ワッチョイ db6d-MPbE) mailto:sage [2017/06/08(木) 22:16:37.58 ID:fJC45ZIB0.net] 作ればいいんじゃないの
554 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/08(木) 22:40:42.97 ID:XdC3vCwF0.net] >>533 Function foo1(FilePath As String) As Workbook For Each x In Workbooks If x.FullName = FilePath Then Set foo1 = x: Exit For Next If foo1 Is Nothing Then Set foo1 = Workbooks.Open(FilePath) End Function Function foo2(WS As Workbook, SheetName As String) As Worksheet For Each x In WS.Worksheets If x.Name Like SheetName Then Set foo2 = x: Exit For Next If Not foo2 Is Nothing Then foo2.AutoFilterMode = False End Function こんなんだろ。大した手間でもないと思うんだけど。 俺はモジュール一個にワークブック、ワークシート、セルの各種チェック含めた操作関係まとめてたけど、 二十個くらいにしかならなかったぞ。
555 名前:デフォルトの名無しさん (ワッチョイ dd8b-Kuea) [2017/06/08(木) 23:01:17.07 ID:TyBSFeDZ0.net] >>535 まあそんなもんなら大した手間じゃないよな それじゃ全然ダメだけど禿
556 名前:デフォルトの名無しさん (ワッチョイ db6d-qkek) mailto:sage [2017/06/08(木) 23:08:59.28 ID:fJC45ZIB0.net] Function foo1(FilePath As String) As Workbook on error resume next この魔法の一行で全て解決
557 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/08(木) 23:28:03.30 ID:XdC3vCwF0.net] On Errorだと原因が分からないからなぁ。 単純なマクロならそれでもいいんだけど。
558 名前:デフォルトの名無しさん (ワッチョイ 2311-OlK+) mailto:sage [2017/06/08(木) 23:37:56.75 ID:ZLqPeRaK0.net] >>535 > If x.FullName = FilePath Then Set foo1 = x: Exit For これ通るのか…知らなかった…
559 名前:デフォルトの名無しさん (ドコグロ MM13-UHXl) mailto:sage [2017/06/08(木) 23:41:02.10 ID:q8X0hO01M.net] application.runをaccessから呼んだんだけど、 activateしないと失敗してしまう。 あと、マクロを保持してるブックを開いてマクロを実行すると処理中はブックを触れないが、accessから呼ぶと触れてしまう。 おかげで処理に失敗するので、何とかならないだろうか。
560 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/08(木) 23:47:27.35 ID:XdC3vCwF0.net] >>539 コロンが改行の代わりになるから、コロンで区切りさえすればだいたいのものは通るぞ。 >>540 ExcelからAccessを触るようにしよう。 AccessからExcel触るのは管理がくっそ面倒だから(バージョンによるかもしれないが) 修飾付きのエクセルファイル出力がしたいとかでない限りやめた方がいい。 あとはExcelで直接DBを開いてSQLで制御するという地獄の選択肢もあるぞ。
561 名前:デフォルトの名無しさん (ワッチョイ 0332-Ell8) mailto:sage [2017/06/09(金) 03:33:36.27 ID:Vt79/8Sl0.net] アクセル
562 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/09(金) 04:45:48.88 ID:e02rbmqe0.net] >>532 キーマクロもSendkeysもやめた方が良い。 Sendkeys等は宛先を指定しない。 VBA動作中でもアクティブウィンドウは操作で変更出来る。 IEのスクロールはページ表示後もDOMで出来る。 '1ページ高さ lngPH=objIE.Document.DocumentElement.ClientHeight 'サイト高さ lngBH=objIE.Document.Body.ScrollHeight '1ページスクロール objIE.DocumentParentWindow.ScrollTo 0, lngPH
563 名前:デフォルトの名無しさん (ドコグロ MM13-W6lL) mailto:sage [2017/06/09(金) 07:54:37.94 ID:SNIZYBKJM.net] >>542 なんかふと笑った
564 名前:デフォルトの名無しさん (ワッチョイ 9d73-2i+1) mailto:sage [2017/06/09(金) 11:39:02.72 ID:MW/jqskx0.net] excelで直接DBに接続してSQLの何が地獄なんだろう…
565 名前:デフォルトの名無しさん (アークセー Sx71-sCoW) mailto:sage [2017/06/09(金) 12:02:22.23 ID:KaOScHzEx.net] >>545 説明できるほうに100億ドル ただしジンバブエの
566 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/09(金) 12:08:37.61 ID:6C6XVn6H0.net] >>545 Accessと文法が違う 使えない命令がある エラーが返ってこない データ型の指定が出来ない 過去スレとかで何度も出たけど、だいたいこの辺の理由で地獄
567 名前:デフォルトの名無しさん (ワキゲー MM13-S7v4) mailto:sage [2017/06/09(金) 12:17:15.07 ID:lNiKtgPwM.net] >>546 ジンバブエドルってもう回収済みだから割と価値高いよな
568 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/09(金) 12:23:12.97 ID:6C6XVn6H0.net] 今の1ジンバブエドル=0.3円らしいから、100億ジンバブエドル=30億円かな
569 名前:デフォルトの名無しさん (ドコグロ MM13-UHXl) mailto:sage [2017/06/09(金) 12:48:37.15 ID:8EXeePojM.net] >>541 access起点で作ってるらもう駄目だー。
570 名前:デフォルトの名無しさん (ブーイモ MMa9-+CHm) [2017/06/09(金) 12:52:52.49 ID:jWLsfRM+M.net] 素人にVBAを教えるとき いきなりRange()とするんじゃなく Workbooks("うんたら")〜.RangeやCells と、ちゃんと上位層の指定を書くんよ! って最初から教えるべき? それとも慣れてから教えるべき?
571 名前:デフォルトの名無しさん (ワッチョイ 3546-MFns) mailto:sage [2017/06/09(金) 14:03:55.81 ID:DLo2rfbX0.net] >>551 >>466 のようなエラーがあるから Cells Rangeの前には必ず上位層を指定する癖を 付けさせた方がいいと俺は思う 手を抜いて省略するのは慣れてからでもいいんじゃね?
572 名前:デフォルトの名無しさん (JP 0H6b-m0Mh) mailto:sage [2017/06/09(金) 14:16:07.35 ID:ehLmIvolH.net] >>552 普通に、「シートモジュールから自分のシートを参照するときは不要、それ以外は必要」と教えれば?
573 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/09(金) 14:20:33.43 ID:6C6XVn6H0.net] >>551 べったり張り付いてられるなら失敗してから教える方がいい。 PC教室みたいに一過性の教育なら省略しない書き方で覚えさせた方がいい。
574 名前:552 (ワッチョイ 3546-MFns) mailto:sage [2017/06/09(金) 14:43:26.16 ID:DLo2rfbX0.net] >>553 アンカミスなのか 俺宛てなのか分らが・・・ シートモジュールの場合 省略していいよじゃなくて 自分自身を示すMeを使って Me.Range(・・・・) と教えた方が良いと思うんだけど
575 名前:デフォルトの名無しさん (アウアウエー Sa93-qAom) mailto:sage [2017/06/09(金) 14:48:22.03 ID:LCUpZwW2a.net] >>533 fso使って自分で作りゃいいじゃん 難しくないでしょ
576 名前:デフォルトの名無しさん (アウアウエー Sa93-qAom) mailto:sage [2017/06/09(金) 14:50:28.52 ID:LCUpZwW2a.net] >>551 同時に教える 動かして動かせたらなんでか、というふうに
577 名前:デフォルトの名無しさん (JP 0H6b-m0Mh) mailto:sage [2017/06/09(金) 14:56:10.12 ID:ehLmIvolH.net] >>555 > Cells Rangeの前には必ず上位層を指定する癖を 付けさせた方がいいと俺は思う に対する俺の意見なんで、アンカーは間違ってないよ。 > Me.Range(・・・・) と教えた方が良いと思うんだけど これにも反対。 MSが言うように、実引数のときのみ使う方がわかりやすい。 https://msdn.microsoft.com/ja-jp/library/office/gg251792(v=office.15).aspx そうしないとMeだらけになる。
578 名前:552 (ワッチョイ 3546-MFns) mailto:sage [2017/06/09(金) 15:00:45.88 ID:DLo2rfbX0.net] >>558 あい分った きみの主張を否定するつもりはないよ でも俺の主張は >>552 で変えるつもりはない これにて終了
579 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/09(金) 15:05:08.05 ID:6C6XVn6H0.net] Range(Cells,Cells)の教え方が本題じゃないし、 かといってエラーの網羅なんか現実的じゃないしで、 本題に沿わない意見ってだけだからな。 そもそも同じ話してないから否定も何も話し合いにならないぞ。
580 名前:デフォルトの名無しさん (JP 0H6b-m0Mh) mailto:sage [2017/06/09(金) 15:16:13.50 ID:ehLmIvolH.net] >>559 まぁ、俺は全力で君の意見を否定するけどね。
581 名前:デフォルトの名無しさん (ワッチョイ 0332-Ell8) mailto:sage [2017/06/09(金) 16:06:32.05 ID:Vt79/8Sl0.net] これにて終了
582 名前:デフォルトの名無しさん (ワッチョイ db6d-yT0o) mailto:sage [2017/06/09(金) 19:01:42.64 ID:8JxPJdKv0.net] >>551 慣れてからは省略することが無くなった。そんなしょーもないとこで手を抜くとミスする確率が跳ね上がる その分setは多用するけどね set 集計シート = sheets("total") 集計シート.cells(1,1)
583 名前:デフォルトの名無しさん (ワッチョイ dd8b-Loth) [2017/06/09(金) 21:53:45.20 ID:yARYpVIR0.net] >>563 sheetsは省略しとるけどええんかこれで?
584 名前:デフォルトの名無しさん (ワッチョイ 0332-Ell8) mailto:sage [2017/06/09(金) 21:53:49.39 ID:Vt79/8Sl0.net] Set 集計シート = Sheets("Total") 集計シート.Cells(1, 1)
585 名前:デフォルトの名無しさん (ワッチョイ db6d-RrxM) mailto:sage [2017/06/09(金) 22:01:02.57 ID:8JxPJdKv0.net] >>564 自分の信じた道を進めばいい もし君の不注意が多いなら、いつか俺と同じ表記になる sheetを書こうが書くまいが絶対にミスしないなら、sheetはずっと書かないのだろう それはそれでいいことだと思う
586 名前:デフォルトの名無しさん (ワッチョイ dd8b-Loth) [2017/06/09(金) 22:04:36.45 ID:yARYpVIR0.net] >>566 あいやーw伝わらんかなw (デフォルトのワークブック.)sheets() という表記になってるけどそれはええんか? という意味やでw
587 名前:デフォルトの名無しさん (ワッチョイ db6d-RrxM) mailto:sage [2017/06/09(金) 22:12:56.26 ID:8JxPJdKv0.net] >>567 /(^o^)\ 単独ブックならbook名は省略するかな 単独シートでマクロを使う場合は省略はしない。拡張した時に大抵必要になるし、そのパターンが多い で、複数のブックを使う場合は必ずsetする set 設定シート = thisworkbook.sheets("設定シート") set 転記元ブック = workbooks.open("転記元ブック") set 転記元シート = workbooks.open("転記元ブック").sheets("転記元シート") set 転記先シート = workbooks.open("転記先ブック").sheets("転記先シート") 大体こんな感じでsetしてから使うかな 俺の癖で、設定はマクロファイルに入れるので、thisworkbookだけはそのまま使う事が多い
588 名前:デフォルトの名無しさん (ワッチョイ 250d-kOr2) [2017/06/09(金) 22:15:20.46 ID:dxrWbrOn0.net] worksheetsをsheetsと略してるのはどうなの?ってことだろ
589 名前:デフォルトの名無しさん (ワッチョイ db6d-qkek) mailto:sage [2017/06/09(金) 22:21:42.71 ID:8JxPJdKv0.net] >>569 グラフシートやマクロ4..0シートを使うなら問題かもしれないね 俺は使わないからどうでもいいけど
590 名前:デフォルトの名無しさん (ワッチョイ 236f-xcYX) mailto:sage [2017/06/09(金) 22:24:19.15 ID:w6iYvsph0.net] 面白いな。 そんな書き方あったのかよっていう例が色々。 でも、Openしたブックを直接セットしちゃったら、 ReadOnlyとかできるの?
591 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/09(金) 22:26:44.97 ID:e02rbmqe0.net] 必ずBookも省略しない。 慣れだね。 気分でSetもWithも使わずに物凄い長い文を書くこともある。 ー度動かしてから修正するけどね。
592 名前:デフォルトの名無しさん (ワッチョイ db6d-qkek) mailto:sage [2017/06/09(金) 22:28:37.54 ID:8JxPJdKv0.net] >>571 https://msdn.microsoft.com/ja-jp/library/office/ff194819.aspx 3つめの引数で設定できるよ Workbooks
593 名前:.Open(path,,true) 多分これで読み取り専用になる(はず) [] [ここ壊れてます]
594 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/09(金) 22:30:26.13 ID:e02rbmqe0.net] >>571 Open時に引き数として与えればOK
595 名前:デフォルトの名無しさん (ワッチョイ e511-qAom) mailto:sage [2017/06/10(土) 09:26:47.69 ID:+HgNy1AT0.net] 単独ブックで使うときだってブックは省略しない方がいいに決まってるだろ ユーザーがどんな使い方するかなんてこっちで管理できないんだから そもそも大した手間じゃねえし
596 名前:551 (ブーイモ MMa9-+CHm) [2017/06/10(土) 10:06:36.80 ID:0yj13WovM.net] やはり、最後にはちゃんと指定を教えることにはなりますよね。 とりあえず、プログラミングが簡単って感じで入れればいいかなと思って 最初から細かく行くと嫌になってしまわないか?というところで悩むところ、、、 でも、全部上位から書くって別に複雑では無いんよね、、、
597 名前:デフォルトの名無しさん (アークセー Sx71-5Ux4) mailto:sage [2017/06/10(土) 10:17:23.18 ID:WC+0mLwsx.net] RangeとかCellsとか使うコードを書かせることは、コード量が少なくなるから一見エクセルマクロやプログラミングの初学者向きに見えるが、後々オブジェクトモデル理解の妨げになる
598 名前:デフォルトの名無しさん (ワッチョイ 1523-2i+1) mailto:sage [2017/06/10(土) 10:53:33.63 ID:fc8/KSyR0.net] >>577 は? 自称上級者様はExcelVBAなのにシート使わないの?
599 名前:551 (ブーイモ MMa9-+CHm) [2017/06/10(土) 10:55:41.58 ID:0yj13WovM.net] コード量のために withやsetを教えるとまた最初に覚えないといけないことが増えるし。 インデントも教えないといけなくて、、、 悩む、、
600 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/10(土) 11:32:19.99 ID:1OFjIP+40.net] >>579 With はともかく Set はおまじないレベルでもいいので教えておくべきだ思う
601 名前:デフォルトの名無しさん (アークセー Sx71-5Ux4) mailto:sage [2017/06/10(土) 11:34:39.43 ID:WC+0mLwsx.net] >>578 基底クラスのRange、Cellsは使わない、という意味だよ RangeクラスやCellsクラスを使う場合は必ず操作対象のブック、シートを指定する
602 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/10(土) 11:59:16.65 ID:7onqK0zV0.net] 住所と一緒。 いきなり中央区と言われても「どこの?」となる。 ブックから指定した方が曖昧さが無くなる。
603 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/10(土) 12:02:23.03 ID:1OFjIP+40.net] >>581 お前は基底クラスの意味をもう一度調べてこい 知ったかかと思ったらそれ以下だったわ w
604 名前:デフォルトの名無しさん (ワッチョイ 2391-mrwT) [2017/06/10(土) 12:18:14.91 ID:FN/PeeFU0.net] 既定クラスの間違いかも
605 名前:デフォルトの名無しさん (ワッチョイ bd54-kblr) mailto:sage [2017/06/10(土) 12:21:14.78 ID:33ScHThx0.net] ちゃんとLetを書こう
606 名前:デフォルトの名無しさん (オッペケ Sr71-Kuea) [2017/06/10(土) 12:22:40.92 ID:7x8i6naHr.net] でもなあ…このスレで上から目線で偉そうに語ってるやつは例外なく>>581 レベルなんやで…かなりマジに…
607 名前:デフォルトの名無しさん (ドコグロ MM13-W6lL) mailto:sage [2017/06/10(土) 12:38:07.24 ID:6tSezeKAM.net] >>584 既定クラス? なにそれ初耳なんだが...
608 名前:デフォルトの名無しさん (ワッチョイ 2391-mrwT) [2017/06/10(土) 12:41:29.80 ID:FN/PeeFU0.net] >>587 既定は知ってる? クラスは知ってる?
609 名前:デフォルトの名無しさん (ドコグロ MM13-W6lL) mailto:sage [2017/06/10(土) 12:57:48.98 ID:6tSezeKAM.net] >>588 そんなアホな返しは要らんからあると言うなら定義してあるところ教えて
610 名前:デフォルトの名無しさん (ワッチョイ 2391-mrwT) [2017/06/10(土) 13:13:15.38 ID:FN/PeeFU0.net] >>589 既定のクラスのことだろ 既定のプログラム→既定プログラム 既定の値→既定値 日本語が解るなら既定とクラスから類推出来る
611 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/10(土) 13:30:09.52 ID:1OFjIP+40.net] >>590 ひょっとしてクラスとオブジェクト/インスタンスの区別もついてないのか?
612 名前:デフォルトの名無しさん (ワッチョイ 1523-2i+1) mailto:sage [2017/06/10(土) 13:33:07.94 ID:fc8/KSyR0.net] 自作の造語を常識のように語られても…
613 名前:デフォルトの名無しさん (ワッチョイ 7de4-yugn) mailto:sage [2017/06/10(土) 14:04:53.91 ID:blUYIu4Y0.net] その既定のクラスとやらは、いつどんな状況で使われてるの? まあ>>581 に対してなら、基底クラスより規定クラスの方がまだ納得できる文書になるけどな
614 名前:デフォルトの名無しさん (ワッチョイ 2391-mrwT) [2017/06/10(土) 14:10:07.47 ID:FN/PeeFU0.net] >>592 私は581じゃないけどな
615 名前:デフォルトの名無しさん (ワッチョイ 2391-mrwT) [2017/06/10(土) 14:11:14.32 ID:FN/PeeFU0.net] >>593 既定のクラスを想定できる状況で使うんじゃね?
616 名前:デフォルトの名無しさん (ドコグロ MM13-UHXl) mailto:sage [2017/06/10(土) 14:15:13.25 ID:aQSdDkWeM.net] なぜオブジェクトを代入するとき、setをつけないといけないんでしょうか? 他の言語ではそんなことないのに
617 名前:デフォルトの名無しさん (ワッチョイ 2391-mrwT) [2017/06/10(土) 14:21:16.85 ID:FN/PeeFU0.net] >>592 赤のペン→赤ペン 青の信号→青信号 自動車の教習所→自動車教習所 机の上→机上 抽象化する知能があれば解るよな
618 名前:デフォルトの名無しさん (ワッチョイ db6d-PV39) mailto:sage [2017/06/10(土) 14:33:18.65 ID:kwqfnDcj0.net] >>597 痛い それ以上はやめてくれ、頼む
619 名前: [] [ここ壊れてます]
620 名前:デフォルトの名無しさん (ワッチョイ 2391-mrwT) [2017/06/10(土) 14:40:44.58 ID:FN/PeeFU0.net] >>598 旗色が悪くなると誤魔化すんだなw
621 名前:デフォルトの名無しさん (ワッチョイ 2306-OlK+) mailto:sage [2017/06/10(土) 14:41:38.33 ID:VN5tpTLe0.net] >>596 VBAではそういうルールになってるから。嫌なら使わなければOK
622 名前:デフォルトの名無しさん (ワッチョイ 1523-OlK+) mailto:sage [2017/06/10(土) 14:42:49.77 ID:fc8/KSyR0.net] それでうまく誤魔化したつもりなのか・・・ 嘘に嘘を重ねて、引っ込みがつかない状態で強がられても・・・
623 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/10(土) 15:12:00.04 ID:1OFjIP+40.net] >>597 それ抽象化じゃなくて単なる省略だろ w
624 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/10(土) 15:16:38.87 ID:7onqK0zV0.net] >>596 Dim str1 As String str1=Range("A1") Debug.Print str1 は分かるよね。 Dim var1 As Varient var1=Range("A1") Debug.Print var1 も分かるでしょ。 じゃ、 Dim var2 As Varient var2=Range("A1") Debug.Print var2.Left というのは有り得るかという話。 Setが無いと誤解が増えるよ。
625 名前:デフォルトの名無しさん (ワッチョイ 7de4-yugn) mailto:sage [2017/06/10(土) 16:09:54.37 ID:blUYIu4Y0.net] Setが必要な理由は、デフォルトプロパティへのアクセスなのかオブジェクト(参照)へのアクセスなのか区別できないから ちなみに、VB6ではSetは必要だったが、VB.NETではSetは無くなった その代わりに、デフォルトプロパティが廃止された
626 名前:デフォルトの名無しさん (ワッチョイ 7de4-yugn) [2017/06/10(土) 16:14:05.66 ID:blUYIu4Y0.net] >>595 俺にはVBAで既定のクラスと言う物を想定できる場面がないからきいてるんだがな
627 名前:デフォルトの名無しさん (ワッチョイ db6d-yT0o) mailto:sage [2017/06/10(土) 16:23:44.38 ID:kwqfnDcj0.net] >>581 は規定のクラスという謎の単語を使っていたのか? それとも基底クラスを何かと間違えているのか? 10秒考えたけど分からなかった
628 名前:デフォルトの名無しさん (ワッチョイ e511-mrwT) [2017/06/10(土) 17:09:39.63 ID:39iXd9D70.net] >>602 本当にアホなんだな
629 名前:デフォルトの名無しさん (スップ Sd03-3C0K) mailto:sage [2017/06/10(土) 17:10:45.65 ID:LZTdgH18d.net] Setなあ... IsObject 判定が必要になる状況ではいつもウザいと感じる
630 名前:デフォルトの名無しさん (ワッチョイ a3b3-YGYj) [2017/06/10(土) 17:23:02.47 ID:F7MRd5sO0.net] VBAしか知らない俺なんかからしたらSetなんか当たり前じゃんとしか思わん。 ところで、「既定のクラス」って何?
631 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/10(土) 17:35:30.79 ID:1OFjIP+40.net] >>607 まだいたのか w 抽象化の意味を調べてから出直してこいよ
632 名前:デフォルトの名無しさん (アークセー Sx71-sCoW) mailto:sage [2017/06/10(土) 17:39:49.82 ID:Ofv2bo9fx.net] >>597 抽象化?
633 名前:デフォルトの名無しさん (ワッチョイ e511-mrwT) [2017/06/10(土) 18:08:59.12 ID:2cJYycRP0.net] >>610 https://ja.m.wikipedia.org/wiki/抽象化 これでも意味が理解できないなら救いようがないな
634 名前:デフォルトの名無しさん (ワッチョイ db6d-qkek) mailto:sage [2017/06/10(土) 19:11:36.37 ID:kwqfnDcj0.net] >>609 setは他の言語触ってるとめっちゃめんどくさい。 ついでに言うと比較が「=」なのも糞すぎる。代入か比較かわからん
635 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/10(土) 19:14:23.49 ID:1OFjIP+40.net] >>612 リンクもまともに貼れないアホ乙 w
636 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/10(土) 19:18:57.08 ID:kLEBGxy40.net] >>613 そういうのは単純にVBAについての習熟度が低いから混乱するってだけで慣れの問題だし、 なんならC言語処理系の代入演算子が代入した値を返すっていう動作の方が、 仕組み上は原始的で、シンタックス上は冗長的とも言えるしなぁ。
637 名前:デフォルトの名無しさん (ワッチョイ dd8b-Loth) [2017/06/10(土) 19:32:35.73 ID:cjBRJJZZ0.net] >>615 ←ほらまた新たな>>581 が現われた、なんやねんこのスレ
638 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/10(土) 19:48:04.56 ID:HZN1Em+70.net] 「規定クラス」とかいかにも公式に定義されてるっぽい言葉を使いながら 抽象化だよわかるだろ、とか 省略だよわかるだろ、とか >>614 いろいろすまんw
639 名前:デフォルトの名無しさん (ワッチョイ a3b3-YGYj) [2017/06/10(土) 20:04:44.43 ID:F7MRd5sO0.net] ところで、規定クラスの説明まだかよ!とっとと書けよ
640 名前:デフォルトの名無しさん (ワッチョイ 2391-mrwT) [2017/06/10(土) 20:06:51.92 ID:FN/PeeFU0.net] ");
//]]>-->641 名前:17" rel="noopener noreferrer" target="_blank">>>617 話の筋を混同してる 話しにならない [] [ここ壊れてます]
642 名前:デフォルトの名無しさん (ワッチョイ 1523-2i+1) mailto:sage [2017/06/10(土) 20:13:51.75 ID:fc8/KSyR0.net] >>619 勘違いしてるのはお前だろ 書き間違いや勘違いでないと思ってるのならちゃんと説明してとっとと終わらせろ
643 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/10(土) 20:20:56.79 ID:kLEBGxy40.net] そもそも大本の>>577 が別におかしな事言ってないのに、 何故か勝手に混乱してる気がするんだけど。 「基底クラス(CellsやRangeに対するWorksheets等)」を省略すると、 あたかもRangeやCellsが何にも属さず単体で存在している様に見えてしまうので、 教育上良くないと言っているだけだろ?
644 名前:デフォルトの名無しさん (ワッチョイ e511-qAom) mailto:sage [2017/06/10(土) 20:31:50.61 ID:+HgNy1AT0.net] 基底クラスのことではないのか… まあだとしたら意味が違うけど でもさ、規定って英語で言うとデフォルトだろ 何かちがうかんじが
645 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/10(土) 20:36:39.98 ID:HZN1Em+70.net] CellsやRangeに対するWorksheets等のことを「基底クラス」と呼ぶなんて、 いくら何でもオレオレ過ぎる 自ら混乱を呼んどいて勝手に混乱するなよ、とか
646 名前:デフォルトの名無しさん (ワッチョイ 7de4-yugn) mailto:sage [2017/06/10(土) 20:37:04.09 ID:blUYIu4Y0.net] >>621 WorksheetsがRangeの基底クラスはあり得んわけですよ まだそれを既定クラスって用語だと勝手に定義してる方がマシ
647 名前:デフォルトの名無しさん (ワッチョイ 0332-Ell8) mailto:hage [2017/06/10(土) 20:55:32.09 ID:/gz2q8SE0.net] おれのほうが詳しい() でスレ埋めるのやめろマヌケ共
648 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/10(土) 20:58:47.80 ID:kLEBGxy40.net] >>624 ああ、そうか。 継承しているわけではなくてメンバーだから基底クラスではなく親クラスか。 俺も(たぶん)>>577 と同じ勘違いしてたわ。 しかしなんでそんな喧嘩腰なんだ。何を主張したいのか推測して訂正すれば荒れずに済んだんじゃないか? 言葉を間違えているだけで主張がおかしいわけではないんだし。
649 名前:デフォルトの名無しさん (ワッチョイ 7de4-yugn) mailto:sage [2017/06/10(土) 21:06:51.30 ID:blUYIu4Y0.net] 基底クラスに突っ込んでるやつはそんなにいないだろ きっぱり間違ってるし そのおおもとの意見そのものにも反対してるやつも見受けられない それより既定クラスとかいう謎用語を出してつっこまれて >抽象化する知能があれば解るよな とかいう、本気でアホなのか誤魔化したかったのか分からんような返しをするから揉めてるんだよ
650 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/10(土) 21:11:46.59 ID:kLEBGxy40.net] >>627 それこそなんで混乱するのか分からないんだが。 「既に定められたクラス」だろ? 正式な用語じゃないけど漢字見りゃだいたい何を指しているかは分かるだろ。 複数考えられるならどれなのかを聞けばいいだけだし。
651 名前:デフォルトの名無しさん (ワッチョイ 7de4-yugn) mailto:sage [2017/06/10(土) 21:16:22.17 ID:blUYIu4Y0.net] だからVBAでの実例出してみろって言われてるだろ それで納得すれば終わりの話なのに
652 名前:デフォルトの名無しさん (ワッチョイ e511-qAom) mailto:sage [2017/06/10(土) 21:22:35.32 ID:+HgNy1AT0.net] 既定のクラス、だとしてもよくわからんな まあともかく省略はさせるべきではないよ まあオブジェクトについてしっかり説明できないといかんから難しいけどな 俺はよくわからん
653 名前:デフォルトの名無しさん (ワッチョイ d56f-D9zB) mailto:sage [2017/06/10(土) 21:37:29.45 ID:3DV/qfOH0.net] 既存クラスって言いたかったんじゃね? 既定クラスは日本語としても意味がわからんな どーでもいい話題だが
654 名前:デフォルトの名無しさん (ワッチョイ 2332-Ell8) mailto:hage [2017/06/10(土) 21:39:47.31 ID:ZCyQEzNl0.net] おれのほうが詳しい() でスレ埋めるのやめろマヌケ共
655 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/10(土) 21:40:10.24 ID:kLEBGxy40.net] >>629 俺は既定のプログラムとか、既定値とかって例からして、 MS側が作って公式に提供しているクラスを既定クラスと言っているもんだと思ったけど。 それだと大本の話と繋がらないから、 あるいはActiveSheetのターゲットがCellsを単体で実行する前に決まるから、 Cellsから見てActiveSheetが「既に定められて」省略された親クラスであるから既定クラスと言っているか。 いずれにしても何も考えずに「なにそれ」って言うよりも先に、自分から進んで例を出せば角も立たなかったと思うよ。
656 名前:デフォルトの名無しさん (ワッチョイ dd8b-Loth) [2017/06/10(土) 21:42:04.24 ID:cjBRJJZZ0.net] どーでもいいかねえ 無知の教えたがりってのは言わば無能な働き者と等価なんだよなあ 存在自体が害悪でしかないわ
657 名前:デフォルトの名無しさん (ワッチョイ db6d-yT0o) mailto:sage [2017/06/10(土) 22:11:30.10 ID:kwqfnDcj0.net] まだやってたのか? 規定クラスなんて釣りに決まってるだろう 無駄な時間を過ごしてご苦労さん
658 名前:デフォルトの名無しさん (ワッチョイ 1523-2i+1) mailto:sage [2017/06/10(土) 22:13:24.23 ID:fc8/KSyR0.net] >>635 考えた上で答えがわからないんじゃなかったのかよw
659 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/10(土) 22:24:00.52 ID:HZN1Em+70.net] Set はいやだ 以上
660 名前:デフォルトの名無しさん (ワッチョイ a311-EUTm) mailto:sage [2017/06/10(土) 23:27:12.17 ID:qdVNuGxa0.net] >>604 わかりやすい。ずっと疑問だったんだ
661 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/10(土) 23:40:28.71 ID:HZN1Em+70.net] >>604 Dim a As *** a = 他のオブジェクト と書いたとき、*** がオブジェクト型もしくはVariant ならオブジェクトへの参照 そうでなければデフォルトプロパティへのアクセス で十分区別できると思うけど?
662 名前:デフォルトの名無しさん (ワッチョイ 7de4-yugn) [2017/06/10(土) 23:58:16.76 ID:blUYIu4Y0.net] >>639 デフォルトプロパティは代入先(左辺)でも使えるんだぜ aのデフォルトプロパティへの代入かaへの参照の代入か区別できんだろ
663 名前:デフォルトの名無しさん (ワッチョイ 7dcf-f9xN) [2017/06/11(日) 00:19:36.88 ID:/WpsuQpF0.net] ヒカル TV出演「年間5億は稼ぐ勢いですね」 https://www.youtube.com/watch?v=G7qL6ftpets 第1回案件王ランキング!YouTuberで1番稼いでるのは誰だ! https://www.youtube.com/watch?v=asF2wQ2xhjY&t=61s ユーチューバーの儲けのカラクリを徹底検証! https://www.youtube.com/watch?v=FUSb4erJSXE&t=504s 【給料公開】チャンネル登録者4万人突破記念!YouTuberの月収公開! https://www.youtube.com/watch?v=Y7DAQ0RKilM&t=326s 誰も言わないなら俺がYouTuberのギャラ相場を教えます https://www.youtube.com/watch?v=E4q-vaQh2EQ&t=118s YouTuberになりたいのは馬鹿じゃない!YouTuberになる方法 https://www.youtube.com/watch?v=Fr0WXXZRMSQ 最高月収5000万円だとさ。年収じゃなくて「月収」な おまえらもyoutubeに動画投稿したほうがいい やろうと思えばスマホがあればできるぞ 最低2年はやらないとここまではいかないだろうけど才能とアイデアと 企画力と継続力があればが大儲けできる可能性がなくもない まだまだ他の職種に比べれば競争率は低いからオススメ 顔出したくないならラファエルみたいに仮面つければいい
664 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 00:29:53.21 ID:P5Uv9Xu70.net] >>640 うーんそうか。 だが敢えて言わせてもらうがそういうコードはクソだ
665 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 00:31:10.41 ID:P5Uv9Xu70.net] とは言ったもののどうしようもねえのか 誰だデフォルトプロパティなんて作った奴は
666 名前:デフォルトの名無しさん (ワッチョイ db6d-wxle) mailto:sage [2017/06/11(日) 00:31:49.94 ID:46pYjw9V0.net] これはこれで便利なんだが、弊害多いよねぇ
667 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 05:51:37.28 ID:eCVTs9al0.net] >>639 出来ない。 せっかく>>603 の例を挙げたのに。 真ん中の例を見てね。 この場合はSet付いてないからデフォルトプロパティ。 そして最後の例はSetを付ければあり得る。 その場合当然オブジェクト。
668 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 07:45:58.35 ID:P5Uv9Xu70.net] >>645 >>603 の真ん中の例だって? > Dim var1 As Varient > var1=Range("A1") > Debug.Print var1 Printは代入文じゃないからここでの議論には関係ない。ここはデフォルトプロパティ(Value)でいい。 意味論的になにも破綻しないと思う。
669 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 08:20:06.89 ID:P5Uv9Xu70.net] 意味論的ってなんだよw 意味的にも構文的にも
670 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 08:22:28.65 ID:q
] [ここ壊れてます]
671 名前:49UmmFG0.net mailto: >>645 >>603 程度なら > Dim var1 As Varient > var1=Range("A1") の時点では var1 はセルA1への参照の代入として > Debug.Print var1 の時点でディフォルトプロパティを取得して表示すればいいだけ できないのは >>640 の方 [] [ここ壊れてます]
672 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/11(日) 09:54:43.68 ID:Tl5W6+aa0.net] その手の仕様に関しての「こっちの方がいい」は何を言おうが変わりようがないので意味ないけどな。
673 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 10:53:34.91 ID:eCVTs9al0.net] >>646 ハァ... 疲れるわ。 だから>>639 の言うように***がVarientなのにオブジェクトへの参照じゃない。 そしてSetが無くて良いなら最後の例も認めなければならない。 そうすると>>639 の言うような区別がつかないことになる。
674 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 10:56:21.93 ID:eCVTs9al0.net] >>648 実際に真ん中の例は動作している。 Set無しで。 その時点でデフォルトプロパティが代入されていることになる。
675 名前:デフォルトの名無しさん (ワッチョイ 23aa-3C0K) mailto:sage [2017/06/11(日) 10:57:57.11 ID:P5Uv9Xu70.net] >>650 疲れると言われてもねぇ 君はなにか根本的なところで勘違いしてない?
676 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 10:59:57.17 ID:P5Uv9Xu70.net] >>650 君は>>639 の主張を理解していないんじゃない?
677 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 11:05:46.55 ID:P5Uv9Xu70.net] 念のため言っておくけど自分は>>639 だよ
678 名前:デフォルトの名無しさん (ワッチョイ dd8b-Loth) [2017/06/11(日) 11:08:37.85 ID:ED3vqoUB0.net] キミらはvbaの仕様策定委員にでもなったつもりなのかね? 既に過去のものになりつつあるマクロ言語の
679 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 11:12:48.87 ID:P5Uv9Xu70.net] >>655 その点は>>649 の言う通りだけどそういう議論(遊び)だからいいんだよw
680 名前:デフォルトの名無しさん (ワッチョイ dd8b-Loth) [2017/06/11(日) 11:15:00.15 ID:ED3vqoUB0.net] >>656 いつから議論をしていると勘違いしていた?
681 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 11:15:11.60 ID:eCVTs9al0.net] >>653 よく分からんな。 >>639 は>>603 の真ん中の例形になっていると思うんだが違うのかい?
682 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 11:18:50.23 ID:q49UmmFG0.net] >>651 「今のVBA」の話と「Set を無くしたVBA」の話の区別もつかないなら話に入ってくるなよ
683 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 11:22:02.96 ID:eCVTs9al0.net] >>659 だからSetを無くしたVBAでは今は動作してない最後の例も認めることになるだろ。 真ん中の例はデフォルトプロパティ、最後の例はオブジェクトだ。 区別つかないんじゃね?って話なんだが。
684 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 11:26:05.68 ID:eCVTs9al0.net] それともSetを無くしたVBAでは真ん中の例も今動いてる状態と違ってオブジェクトへの参照を代入する仕様になる?
685 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 11:28:30.89 ID:P5Uv9Xu70.net] >>658 >>603 の真ん中 =代入文は参照、Printの引数は文字列なのでデフォルトプロパティ >>603 の下 =代入文は参照、Print文はプロパティを明示しているから曖昧さはない
686 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 11:32:11.23 ID:q49UmmFG0.net] >>660 代入時点で区別する必要はなくて Print 時点で判断すればいいだけって話 >>648 を理解できてないなら絡んでくるなよ
687 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 11:38:19.86 ID:P5Uv9Xu70.net] >>661 Yesだ >>639 はそう書いている
688 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 11:47:41.80 ID:eCVTs9al0.net] >>662 ということは、今動いてる状態とは違う仕様になるということだな。 そうすると、 Dim var1 As Variant var1=Range("A1")+1 はエラーとなる?
689 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 11:52:36.50 ID:eCVTs9al0.net] >>663 それは間違い。 代入時点で決まらなければ区別がついていないことと同じ。 次の文まで不定なら言語仕様が滅茶苦茶になる。
690 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 11:58:44.94 ID:eCVTs9al0.net] Dim var1 As Variant var1=Range("A1")+1 では先にRange("A1")+1が評価されるからその時点でデフォルトプロパティに+1された値がvar1に代入されてうだな。 う〜ん。
691 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 12:02:43.42 ID:P5Uv9Xu70.net] >>667 そりゃそうだろ。 式の両辺の型によって挙動が決まるんだから。
692 名前:デフォルトの名無しさん (ワッチョイ db6d-pTGz) mailto:sage [2017/06/11(日) 12:02:50.72 ID:46pYjw9V0.net] 他のオフィススイートについてるスクリプトには、デフォルトプロパティってあるの?
693 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 12:06:35.73 ID:q49UmmFG0.net] >>666 お前の能力だと滅茶苦茶になるだけだろ w 滅茶苦茶になる例のひとつでも書いてみろよ
694 名前:デフォルトの名無しさん (ワッチョイ db6d-yT0o) mailto:sage [2017/06/11(日) 12:08:58.69 ID:46pYjw9V0.net] そもそもなんでデフォルトプロパティなんて面白い物を作ったんだ 入門の敷居をできるだけ下
695 名前:ーるために、.value・.valeu2・text、などを考えなくていいようにしたんだろうか [] [ここ壊れてます]
696 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 12:12:28.05 ID:eCVTs9al0.net] >>670 デバックでステップ実行してみろ。 1行1行解釈実行されるのが基本。 後の文により前の文の解釈が変わる言語なんて滅茶苦茶だぞ。 構文エラーはプログラム全体を評価するまで決まらないことになる。
697 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 12:18:03.12 ID:eCVTs9al0.net] >>668 君の仕様では式の両辺の型で挙動が決まらない。 var1=Range("A1")ではオブジェクト var1=Range("A1")+1ではデフォルトプロパティとなるけど、今んとこ辻褄は合っているようにも見えるから、う〜んと考えている。
698 名前:デフォルトの名無しさん (ワッチョイ db6d-yT0o) mailto:sage [2017/06/11(日) 12:22:52.52 ID:46pYjw9V0.net] Range("A1") = Range("A1")
699 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 12:52:35.79 ID:q49UmmFG0.net] >>672 > 後の文により前の文の解釈が変わる言語なんて滅茶苦茶だぞ。 バカなの? 理解力ないのに無理すんなよ w > var1=Range("A1") の解釈変わってないぞ
700 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 13:30:16.95 ID:eCVTs9al0.net] >>675 日本語が変なんじゃね? >代入時点で区別する必要はなくて Print 時点で判断すればいいだけって話 代入時点で区別する必要ないということはどういうこと? 代入時点で確定してるなら区別もできてる筈だし。
701 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 13:32:39.14 ID:eCVTs9al0.net] >>675 君の説明では var1=Range("A1") の段階では型が決まるのか、それとも決まらないのかどっち?
702 名前:デフォルトの名無しさん (ワッチョイ 23aa-3C0K) mailto:sage [2017/06/11(日) 13:42:39.50 ID:P5Uv9Xu70.net] >>674 変数への代入の話題なのでそれは関係ないよ。 その左辺 Range("A1") は変数ではない。
703 名前:デフォルトの名無しさん (ワッチョイ db6d-qkek) mailto:sage [2017/06/11(日) 13:50:31.78 ID:46pYjw9V0.net] >>678 変数じゃなければ何だろう? アプリケーション側で用意されているとは言え、変数ではなかろうか
704 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 13:56:28.52 ID:eCVTs9al0.net] >>674 俺の理解ではそれは左辺の側がデフォルトプロパティかオブジェクトかという話になるから>>640 と同じことになると思う。 だからその点では、つまり>>640 以外で辻褄が合っていないという例にはならないと思う。
705 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 14:01:42.55 ID:q49UmmFG0.net] >>676-677 代入時点で Variant ならオブジェクトの参照を入れときゃいいだけだろ >> var1=Range("A1") > の時点では var1 はセルA1への参照の代入として ってはっきり書いてあるんだから人の日本語にいちゃもんつける前に自分の理解力を省みろよ
706 名前:デフォルトの名無しさん (ワッチョイ db6d-yT0o) mailto:sage [2017/06/11(日) 14:17:20.73 ID:46pYjw9V0.net] >>678 確かにrangeだとややこしいな、新しいclassを作ってみよう fooClassとする fooClassのデフォルトメンバはfoo。fooのclassは自身と同じfooClass class fooClass{ 'この書き方は適当 default public Property foo as fooClass; } これだとfooで何が返ってくるか不定 Dim foo as fooClass foo = New fooClass();
707 名前:デフォルトの名無しさん (ドコグロ MM51-UHXl) mailto:sage [2017/06/11(日) 14:30:41.83 ID:nUk6Os5uM.net] そういや自作クラスでデフォルトプロパティって作れるの? 作ろうと思ったこともなかった
708 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 14:35:03.70 ID:P5Uv9Xu70.net] www.cpearson.com/excel/DefaultMember.aspx
709 名前:デフォルトの名無しさん (ワッチョイ db6d-yT0o) mailto:sage [2017/06/11(日) 14:38:19.83 ID:46pYjw9V0.net] >>683 一応作れる ただ普通は作ろうと思わないレベルでめんどくさいし、そんなもんアテにするような設計にしないだろう
710 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 14:55:51.72 ID:Rohm8Nl3a.net] >>681 つまりPrint文は関係無いんだよ。 >代入時点で区別する必要はなくて Print 時点で判断すればいいだけ は間違い。 代入時点で区別はついてる。
711 名前:デフォルトの名無しさん (ドコグロ MM13-W6lL) mailto:sage [2017/06/11(日) 16:32:41.31 ID:TSTIJwyzM.net] >>682 まあそのケースがまずいのはわかってるがそんなクラスを作る必要がどんだけあるんだ? って話だな
712 名前:デフォルトの名無しさん (ドコグロ MM13-W6lL) mailto:sage [2017/06/11(日) 16:40:50.47 ID:TSTIJwyzM.net] >>686 > 代入時点で区別はついてる。 だから区別なんてしない 両方ともに参照を入れとくだけ って書いてあるんだが... どうやったらそんなアホな考え方になるのか不思議だよ まあ引っ込みつかなくなってるんだろうな w
713 名前:デフォルトの名無しさん (ワッチョイ db6d-MPbE) mailto:sage [2017/06/11(日) 16:45:50.31 ID:46pYjw9V0.net] >>687 わかってるならその反論はおかしいだろう 言語仕様としておかしくなる デフォルトプロパティがあるなら、setはどうして
714 名前:熹ュ生すると思う [] [ここ壊れてます]
715 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 17:19:36.49 ID:q49UmmFG0.net] >>689 別にそのケースなら参照を返すようにしてディフォルトプロパティは明示する(つまりディフォルトプロパティの意味がなくなる)ようにすればいいだけ 特殊なケースで使えないからと言って全部ダメって言う話ではないでしょ
716 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 17:25:11.30 ID:CaL9CXkoa.net] >>688 引っ込みも何も、今だに何言ってるのか分からん。 とレスしようとしたけど今分かった。 >代入時点で区別する必要はなくて Print 時点で判断すればいいだけ は 「代入時点では参照が代入され、Print時点でデフォルトプロパティが返される」といいたいのだとしたら上の文章の日本語が悪いよ。
717 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 17:36:51.51 ID:q49UmmFG0.net] >>691 > 「代入時点では参照が代入され、Print時点でデフォルトプロパティが返される」といいたいのだとしたら上の文章の日本語が悪いよ。 ほとんどそのまま書いてあるだろ これはさすがに恥ずかしすぎる w >>648 >> var1=Range("A1") > の時点では var1 はセルA1への参照の代入として >> Debug.Print var1 > の時点でディフォルトプロパティを取得して表示すればいいだけ
718 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 17:37:06.07 ID:CaL9CXkoa.net] fooClassとする fooClassのデフォルトメンバはfoo。fooのclassは自身と別のhogeClass class fooClass{ 'この書き方は適当 default public Property foo as hogeClass; } 現在の仕様なら Dim var1 As Varient Set var1=New fooClass() Debug.Print Typename(var1) '->fooClass Dim var1 As Varient var1=New fooClass() Debug.Print Typename(var1) '->hogeClass Set無しの仕様なら Dim var1 As Varient var1=New fooClass() Debug.Print Typename(var1) ->? こういう問題?
719 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 17:43:49.85 ID:CaL9CXkoa.net] >>692 俺は>>661 の段階で真ん中も参照と気付いたわけ。 その後に>>663 が書かれているのは日本語が悪いと言ってる。
720 名前:デフォルトの名無しさん (ワッチョイ db6d-RrxM) mailto:sage [2017/06/11(日) 17:47:03.90 ID:46pYjw9V0.net] >>690 自身のclassがメンバに〜は普通にある。特殊ではない
721 名前:デフォルトの名無しさん (ワッチョイ db6d-RrxM) mailto:sage [2017/06/11(日) 17:48:52.10 ID:46pYjw9V0.net] 話はずれるが、「エクセルvaが特殊」は事実 20年以上前から生き残っている、大衆に使われ続けているスクリプト言語なんてエクセルvbaだけ 次点でjsだろう デフォルトプロパティだろうがなんだろうが、実装すればデファクトスタンダードになる ある意味、王様である 好きなようにあすれば良いんじゃないかな
722 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 17:51:02.18 ID:q49UmmFG0.net] >>694 > その後に>>663 が書かれているのは日本語が悪いと言ってる。 >>663 に >>648 へのアンカー打ってあるのに何を言ってるんだよ w 恥の上塗りにしかなってないぞ
723 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 17:53:41.74 ID:q49UmmFG0.net] >>695 自身のクラスオブジェクトを返すディフォルトプロパティを持つクラスが特殊じゃないって? 例えば何よ?
724 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 18:07:00.10 ID:CaL9CXkoa.net] >>697 アンカー打ってあっても日本語が悪いのは変わらんぞ。 >>648 が>>663 の文章とどう関係するのか分からん書き方になってるんだから。
725 名前:デフォルトの名無しさん (ワッチョイ db6d-RrxM) mailto:sage [2017/06/11(日) 18:18:57.69 ID:46pYjw9V0.net] >>698 特殊かどうかは言ってないね 存在すると整合性が保てなくなると言っている それがExcelの中にあるかどうかなんて知らん
726 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 18:39:15.05 ID:q49UmmFG0.net] >>699 そもそも >>663 の日本語もおかしくないだろ 前提をいくつかはしょってるのは話の流れで省略してもわかるはずって言う考えで書いてる それでも横入りで絡んでくるアホがいるから念のために > >>648 を理解できてないなら絡んでくるなよ とまで書いてある ここまで書いてあって理解できない奴の面倒までは見れんよ w
727 名前:デフォルトの名無しさん (ワッチョイ db6d-RrxM) mailto:sage [2017/06/11(日) 18:41:48.44 ID:46pYjw9V0.net] >701 代入時点で評価の必要があります
728 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 18:42:38.69 ID:q49UmmFG0.net] >>700 > 特殊かどうかは言ってないね 頭大丈夫? > 特殊ではない ってはっきり書いてますけど? w > 存在すると整合性が保てなくなると言っている お前さんの考える整合性とやらがどんなもんか知らんけど >>690 でなんの問題もないけどね
729 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 18:43:10.17 ID:q49UmmFG0.net] >>702 理由は?
730 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/11(日) 18:45:21.77 ID:Tl5W6+aa0.net] Set無しVBA言語作るって流れになったら面白いんだけどなぁ。
731 名前:デフォルトの名無しさん (ワッチョイ db6d-RrxM) mailto:sage [2017/06/11(日) 18:56:04.59 ID:46pYjw9V0.net] >>703 デフォルトプロパティは毎回明示するのか? A1セルのvalueを知りたい場合は cells(1,1).value と書けば良いのか、なるほどな cells(1,1) だけならエラーを変えした方がいいな
732 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 19:01:02.23 ID:P5Uv9Xu70.net] 型を意識する・させることで皆が幸せになる ...そんなふうに思っていた時期が自分にもありました
733 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 19:05:21.58 ID:UNIZBcCUa.net] >>701 >代入時点で区別する必要はなくて ってのは>>639 の"十分区別できると思うけど"の区別のことだよな。 だったら「代入時点で区別できる」とか、俺の>>603 の"できない"を受けるなら「代入時点で区別できないということはない」とすべきだ。 "必要"とか何が必要? という話になる。 >Print 時点で判断すればいい も、何言ってるのか分かりにくい。
734 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 19:08:29.30 ID:UNIZBcCUa.net] >>706 それ、デフォルトなの? デフォルトって何なの? って言いたいってこと?
735 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 19:12:53.44 ID:UNIZBcCUa.net] まあ、実際には自分はSetに違和感全く感じないし、Variantで宣言することも殆ど無いし、デフォルトプロパティの省略も殆どしないんだけどね。
736 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 19:20:07.39 ID:q49UmmFG0.net] >>706 > デフォルトプロパティは毎回明示するのか? >>682 のケースだけね 実際にあるのかどうかは知らんけど w > cells(1,1) > だけならエラーを変えした方がいいな そう言うオプションはあってもいいと思う
737 名前:デフォルトの名無しさん (ワッチョイ db6d-RrxM) mailto:sage [2017/06/11(日) 19:21:24.90 ID:46pYjw9V0.net] >709 いやもう言語仕様を考える時って最初によっぽど不具合がなければそれでいいよねってこと vbaは非常に変則液だけど、まぁエクセル・アクセルのためなら仕方ないんじゃないの
738 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 19:27:31.75 ID:q49UmmFG0.net] >>708 > "必要"とか何が必要? > という話になる。 はあ? 「区別する」必要がないって書いてあるだろ >> Print 時点で判断すればいい > も、何言ってるのか分かりにくい。 お前の理解力がないだけ 何度も書くけど理解できないなら >>648 見ろって書いてあるのになぜか見ずに文句だけは一人前 w
739 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 19:42:43.65 ID:UNIZBcCUa.net] >>713 いや、だから >「区別する」必要がない が変なんだって。 代入時点で区別はついてるのになんで必要とかの話になるの?と受けとられるだろ。 > Print 時点で判断すればいい も、誰が何を判断するんだ?と受け取られる。
740 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 19:42:52.34 ID:P5Uv9Xu70.net] 型を意識しようよ 型を意識するというのは型によって構文(式の形)を変えることじゃないよ。 式の形は同じでも型によって意味が違うとかコンパイルエラーになったりすると認識することだ。 デフォルトプロパティが適用されるべきかどうかは等式の左右の型を見れば基本わかる。 わからないような式は曖昧なんだからコンパイルエラーにすべきだ。
741 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 19:49:48.15 ID:UNIZBcCUa.net] >>715 う〜ん。 むしろSet使ってクラスとリテラルを意識したいけどなあ。 あと、真ん中はやっぱりデフォルトプロパティの代入の方がしっくり来ると思うんだ。 だからこそ、あっさりデフォルトプロパティの代入を捨て去ると思えなかったから>>645 書いたんだぜ。
742 名前:デフォルトの名無しさん (ワッチョイ db6d-qkek) mailto:sage [2017/06/11(日) 20:02:29.23 ID:46pYjw9V0.net] >>715 application内の型を意識しなくていいための、弱い動的型付けなんだよ この設計思想は街ぃがってないと思う
743 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 20:12:03.18 ID:q49UmmFG0.net] >>714 > 代入時点で区別はついてる それはお前が勝手に言ってるだけの話だろ 俺は初めから必要ないって書いてるから > なんで必要とかの話になるの?と受けとられるだろ。 なんて受けとるアホはいないと思うぞ、お前以外は w >> Print 時点で判断すればいい > も、誰が何を判断するんだ?と受け取られる。 マジでオブジェクト指向の勉強しなよ... そんなのを疑問に思うなんて相当レベル低いから
744 名前:デフォルトの名無しさん (ワッチョイ db6d-qkek) mailto:sage [2017/06/11(日) 20:17:12.06 ID:46pYjw9V0.net] >>682 はだめかなぁ 徹底的に論破してほしいんだけどなぁ
745 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 20:19:33.09 ID:P5Uv9Xu70.net] しかし冷静に考えると斬新かもな。 単一の文だけ見て解釈するんじゃなく、複数の文を見て意味を解釈するプログラミング言語。
746 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 20:25:38.17 ID:UNIZBcCUa.net] >>718 >それはお前が勝手に言ってるだけの話だろ 俺が勝手に言ってるとかの話じゃなくて、代入時点で参照であると区別がついてるのが実態だろ。 >「区別」する必要ない >Print 時点で判断すればいい を省略せずにきちんと書いてみなよ。
747 名前:デフォルトの名無しさん (ワッチョイ 7de4-yugn) mailto:sage [2017/06/11(日) 20:26:28.99 ID:tRESVVuh0.net] 俺の考えた最強の言語仕様の話はよそでやってくれ
748 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 21:00:46.39 ID:q49UmmFG0.net] >>72
749 名前:1 > 代入時点で参照であると区別がついてるのが実態だろ。 お前はまず「区別」の意味を調べてから出直してこい A か B かの区別がつくと言う言い方はあるけど A と区別がつくとは言わん > を省略せずにきちんと書いてみなよ。 >>648 で十分だろ それで不十分と言うならほぼ同じこと書いてる >>691 も不十分と言うことだ w [] [ここ壊れてます]
750 名前:デフォルトの名無しさん (ワッチョイ 2306-OlK+) mailto:sage [2017/06/11(日) 21:12:26.64 ID:VtUxFQZs0.net] いつまでくっだらねーーーーーーーー話を続けるつもり?別スレでも立ててそこでやれよ
751 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 21:17:53.56 ID:P5Uv9Xu70.net] もはやどこが起点かわからない
752 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 21:31:09.13 ID:P5Uv9Xu70.net] だれかQiitaにまとめてくれ
753 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 21:46:23.06 ID:UNIZBcCUa.net] >>723 お前な、自分は省略してるのに俺の省略は認めないのか? 代入時点で参照であるとデフォルトプロパティとは区別がついてるのが実態だろ。 >>691 は省略しても分かるだろ。 >>663 は省略されてると分からんのだよ。 というより省略しなかった時に正しい日本語になるように思えないからやってみろと言ったんだよ。
754 名前:デフォルトの名無しさん (ワッチョイ e511-Z3xB) [2017/06/11(日) 21:54:15.52 ID:7YVvLMef0.net] 以下のエクセルファイルについてなんですが https://kouseikyoku.mhlw.go.jp/tohoku/gyomu/gyomu/hoken_kikan/documents/zen_sitei_ika_h2905.zip エクセルを開いたあと何もせず閉じようとすると 必ず保存するかどうかを聞かれてしまうのですが なぜでしょうか? また、そのまま「保存する」を選択すると ファイルサイズが半分くらい減ってしまうのも気になります 些細なことで申し訳ありませんが どなたか原因わかる方教えてください。
755 名前:デフォルトの名無しさん (ワッチョイ db6d-RrxM) mailto:sage [2017/06/11(日) 21:56:59.58 ID:46pYjw9V0.net] >728 凄まじい個人情報でてる気もするけど、まぁいいか ・保存するかどうかを聞かれ 2010では聞かれない 揮発性関数とか混じってるのかもな バージョンを教えてほしい
756 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 22:06:15.50 ID:P5Uv9Xu70.net] >>728 保存するかどうかなんて聞かれないな 数式もないようだ
757 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 22:10:07.67 ID:q49UmmFG0.net] >>727 > 代入時点で参照であるとデフォルトプロパティとは区別がついてるのが実態だろ。 だからそれはお前が勝手に言ってる話 そもそも区別がつくとか言ってるが勝手につく訳じゃなくて処理系が何らかの判断をしてるんだからそんな判断は「必要ない」って書く方が適切だろ > >>663 は省略されてると分からんのだよ。 話の流れ見てたらわかるし、わからん奴のためにアンカーまで書いてるだろ 何回ループするんだよ
758 名前:デフォルトの名無しさん (ワッチョイ 236f-xcYX) mailto:sage [2017/06/11(日) 22:46:10.07 ID:KFvNUsfN0.net] >ファイルサイズが半分くらい減ってしまうのも気になります 減った状態が正しいファイルサイズなんじゃないの。
759 名前:デフォルトの名無しさん (ワッチョイ 2311-OlK+) mailto:sage [2017/06/11(日) 23:33:20.89 ID:49bQJmPP0.net] なんか、何時何分何秒地球が何回回った時ですかあ?と同レベルのやりとりだな
760 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/12(月) 00:17:03.07 ID:y5ZQ52Yx0.net] >>731 やっぱり日本語の問題なんだ。 今をもってしても分かりにくい。 俺が「区別がつく」とか「区別がついてる」というのは「自動的に区別がついてしまっている」ということだ。 「区別がつく」自体に"自動的に"というニュアンスを含んでいる。 だから"勝手に"などという言葉は繋がらない。 "自動的に"というニュアンスを含んでいない場合、例えば意思をもって違いを定義する場合は「区別をつける」となるだろう。 一方、君の言う「判断する」というのは厳密に言えば「意思をもって判断する」ということだ。 「判断する」自体に"自動的ではない"というニュアンスを含んでいる。 君は処理系に対して擬人化を行っているから意思をもってではなく、自動的なニュアンスを含んでいるつもりだろうが、そうであるなら主語である"処理系"を省いてしまってはわかりにくくなるだろう。 これまでの経緯を無視した上で余計な補完をして 処理系が何らかの判断をしてるんだからそんな"俺の"判断は「必要ない」 としても日本語としておかしな文とはならないということは、「処理系が何らかの判断をしてるんだからそんな判断は必要ない」という文章はそれ単体では上記の受け取り方をされても仕方の無い文章だということだ。 今だに分からんのは>>663 の判断するのは誰かって話。 処理系なら判断すれば"いい"などとはならないと思うし。 Print時点で決まっているんだから判断とかいう話にはならない筈だろ。
761 名前:デフォルトの名無しさん (ワッチョイ 2306-OlK+) mailto:sage [2017/06/12(月) 00:24:47.55 ID:Ch/XnpW30.net] ┐(´д`)┌ヤレヤレ
762 名前:デフォルトの名無しさん (ワッチョイ 2332-Ell8) mailto:hage [2017/06/12(月) 01:25:41.57 ID:YlzHeDxH0.net] >>682 foo君久しぶりじゃんwww つかお前らhgだからって不毛な争いしてんじゃねえ よそでやれクズ共
763 名前:デフォルトの名無しさん (ワッチョイ 2332-Ell8) mailto:sage [2017/06/12(月) 01:28:29.93 ID:YlzHeDxH0.net] >>728 ワッチョイ e511- 臭う
764 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/12(月) 05:44:51.02 ID:RhdpYx9V0.net] 長文君はなぜか自分の日本語能力を疑わない w
765 名前:デフォルトの名無しさん (アークセー Sx71-sCoW) mailto:sage [2017/06/12(月) 08:46:55.31 ID:ZaZcTWz8x.net] >>736 承認するよ
766 名前:デフォルトの名無しさん (ワッチョイ e511-yTT2) [2017/06/12(月) 19:32:27.05 ID:5L3xq22d0.net] %%%MC+7,8%%% } 000-"M","LES","TUV=0.13325&/0\7&%&", 001-"23","1","0","2","7.14",[\b%7/1444*%812%2.3%7&6111\end\\]{%3%12%\br
767 名前:デフォルトの名無しさん (ワッチョイ db6d-PV39) mailto:sage [2017/06/12(月) 20:31:46.57 ID:ysyGP+YI0.net] >>740 マジで?
768 名前:デフォルトの名無しさん (ワッチョイ eb4c-irun) [2017/06/13(火) 10:48:41.12 ID:UX2HAupn0.net] マクロは記録をいじるぐらいの初心者です AとBファイル開く Aのマクロ作動ボタンを押す BでAで作ったマクロが動き、データが整形される Aファイルが閉じる というのを作れるものなら作りたいけど、可能ですか? Bファイルは毎日新しいのが来ます 出来るとしたら検索ワードが悪いらしく、見つけられないので なんという動作なのか教えてください
769 名前:デフォルトの名無しさん (スッップ Sd43-3C0K) mailto:sage [2017/06/13(火) 11:35:01.49 ID:P4se3SJtd.net] >>742 Aは自分の手元にあるブックでBは他所から届くのか。 「BでAで作ったマクロが動き、」の意味がよくわからない。 なんとなく簡単ぽいけど
770 名前:デフォルトの名無しさん (ワッチョイ 9d73-2i+1) mailto:sage [2017/06/13(火) 11:35:40.67 ID:mycfBP+w0.net] workbook.open 記録ではできない
771 名前:デフォルトの名無しさん (ワッチョイ eb4c-irun) [2017/06/13(火) 12:08:11.62 ID:UX2HAupn0.net] >>743 Aは自分のパソコンに作ったもので、Bは毎日他所からきます。 Bを開いてそこからAで作ったマクロを動かすしかダメですか? >>743 記録ではムリなので、見本となるのがあればいじれないかなと思って聞いてみました
772 名前:デフォルトの名無しさん (ワッチョイ 2306-OlK+) mailto:sage [2017/06/13(火) 12:14:45.05 ID:rPkjB82P0.net] >>742 Aのブックにマクロを記述 ファイル名が固定でないなら GetOpenFilenameでファイルを選択 ごちゃごちゃなんか知らんけど開いたブックBに対して処理をする Aを閉じる(ついでにExcelそのものも終了させる) だろ?
773 名前:デフォルトの名無しさん (ワッチョイ eb4c-irun) [2017/06/13(火) 12:31:59.08 ID:UX2HAupn0.net] >>746 そうです マクロのボタンの作り方とか調べても、同じファイル内で 動くものしか出てこないので、ボタン一押しで動かせないのかと そういう話です
774 名前:デフォルトの名無しさん (アウアウウー Sa99-pGgJ) [2017/06/13(火) 12:32:20.96 ID:5pkXRrDKa.net] 星くん vbaでググって 第2章読めば似たようなことが書いてあるよ
775 名前:デフォルトの名無しさん (ワッチョイ 5b23-3GzE) mailto:sage [2017/06/13(火) 13:52:35.48 ID:TodKlzHt0.net] >>742 普通はアドインにする。 Aファイルは開く必要が無い。 アドインならExcel開いたらAファイルも開いてる。 ブックは非表示だから開いてるようには見えないけどメニューにボタンを追加すればマクロは動作する。
776 名前:デフォルトの名無しさん (JP 0H6b-yTT2) mailto:sage [2017/06/13(火) 14:48:02.77 ID:3KAtKhUpH.net] >>749 君の中では普通かもな
777 名前:デフォルトの名無しさん (ワッチョイ e511-yTT2) mailto:sage [2017/06/13(火) 14:50:25.60 ID:B6CxFrBV0.net] @@@EMO@@@ } 000-"E=0.133348213376128" 001-"4","1.6","2","3","13","3","81","47","0","1","2","85", 002-"813-1>>>1 %$1.3Q!@!$%81.3!$%B,61.2,"13.2"21.7[[%$EMOLA\%/7#/OBLA[%!\2.3=0!&#%<<<Q,S,L,7P,%41%-%2]]%End\]{
778 名前:デフォルトの名無しさん (ワッチョイ eb4c-irun) [2017/06/13(火) 14:52:38.21 ID:UX2HAupn0.net] アドインで出来きました すごい 星君も読みつつあったのですが、とりあえず アドインが上手くいったのでこれで進めます 相談に乗ってくださった方々、ありがとうございました
779 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/13(火) 15:04:10.26 ID:y6bvTk4c0.net] >>742 Sub foo() Dim WB As Workbook With Application.FileDialog(msoFileDialogFilePicker) If .Show Then src = .SelectedItems(1) End With If IsEmpty(src) Then Exit Sub Set WB = Workbooks.Open(src, 0, 1) Process WB If Not WB Is Nothing Then WB.Close: Set WB = Nothing End Sub Sub Process(WB As Workbook) '行いたい処理 End Sub fooをボタンに登録すれば好きなファイルを指定して開くことが出来る。 ファイルBの処理はProcess内に書く。
780 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/13(火) 15:07:40.67 ID:y6bvTk4c0.net] 既に解決している悲しみ
781 名前:デフォルトの名無しさん (ワッチョイ 9d73-2i+1) mailto:sage [2017/06/13(火) 15:25:46.39 ID:mycfBP+w0.net] そして求められていない汎用性のために冗長なコード
782 名前:デフォルトの名無しさん (ワッチョイ a3b3-YGYj) [2017/06/13(火) 18:18:21.99 ID:Te/HyupM0.net] 事務職向けマクロなんだから冗長でも何でも良いと思うけどね。オブジェクト指向バカとか 業務妨害以外の何者でもないと思うしw
783 名前:デフォルトの名無しさん (JP 0H6b-yTT2) mailto:sage [2017/06/13(火) 18:24:08.96 ID:3KAtKhUpH.net] という思考停止
784 名前:デフォルトの名無しさん (ワッチョイ 2b32-Ell8) mailto:hage [2017/06/13(火) 18:43:27.69 ID:kYQNn7N60.net] 上げでちょっと変わった質問する人と foo君がセットで登場するのはたまたまだから ほんとに偶然だから
785 名前:デフォルトの名無しさん (JP 0H6b-yTT2) mailto:sage [2017/06/13(火) 18:47:56.47 ID:3KAtKhUpH.net] >>758 お前がfoo君と呼んでるのは一人ではない
786 名前:デフォルトの名無しさん (エーイモ SEe9-yTT2) mailto:sage [2017/06/13(火) 18:58:03.59 ID:SvV5ll3TE.net] ( ´_ゝ`)フーン
787 名前:デフォルトの名無しさん (ワッチョイ db6d-D9zB) mailto:sage [2017/06/13(火) 19:10:28.45 ID:YXJzvR0D0.net] >>756 エクセルがモロにオブジェクトだから、自然とみんなオブジェクト指向バカになるんだな、これが >>760 そこ
788 名前:はfoonじゃないかな?かな? [] [ここ壊れてます]
789 名前:デフォルトの名無しさん (ワッチョイ a3b3-YGYj) [2017/06/13(火) 19:18:04.89 ID:Te/HyupM0.net] >>761 ははは、オブジェ馬鹿降臨w
790 名前:デフォルトの名無しさん (ワッチョイ db6d-wxle) mailto:sage [2017/06/13(火) 20:06:15.93 ID:YXJzvR0D0.net] >>762 LISP、Haskell、Schemeは本当に使いこなせなかった 君の指摘は正しいよ
791 名前:デフォルトの名無しさん (ワッチョイ 0539-vKbL) mailto:sage [2017/06/14(水) 16:29:22.88 ID:Gr+r/r4M0.net] 初心者です 1 処理A 2 処理B 3 処理C : : こういう流れのVBAで、処理Aと処理Bそれぞれからスタートさせたいときは、どうやるのが一般的ですか。 sub A 処理 A sub B 処理 B end sub end sub これではだめですよね。
792 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/1
] [ここ壊れてます]
793 名前:4(水) 16:40:22.05 ID:M/IwJ83O0.net mailto: >>764 いまいち何やりたいのか分からないけど、処理 Aを飛ばしたい場合とそうでない場合があるって事なら Sub Foo(b As Boolean) If b Then 処理 A 処理 B 処理 C ... End Sub [] [ここ壊れてます]
794 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/14(水) 17:02:48.98 ID:bVPmX3VEa.net] 処理というのがどのレベルなのか分からない。 Sub A() 処理A B End Sub '処理B(Bプロシージャ自体が処理B) Sub B() '処理Bの内容 End Sub とする場合もあれば、 全部の処理をそれぞれ別のプロシージャとして作り、メインとなるプロシージャでそれぞれをよび出す場合もある。 この場合はAからよび出すメインプロシージャやBからよび出すメインプロシージャを作ることになる。
795 名前:デフォルトの名無しさん (ドコグロ MM43-W6lL) mailto:sage [2017/06/14(水) 18:56:34.83 ID:e2eXjlywM.net] >>764 1 処理A 2 処理B 3 処理C : : のパターンと 1 処理B 2 処理C : : のパターンがあるってこと? それなら >>765 みたいにするか Sub ABC_() 処理A Call BC_ End Sub Sub BC_ 処理B 処理C : : End Sub ってやるとか
796 名前:デフォルトの名無しさん (ワッチョイ 0539-vKbL) mailto:sage [2017/06/14(水) 22:27:07.82 ID:Gr+r/r4M0.net] ありがとうございました 自分なりに考えたのは、どこかのセルにフラグを置いといて、 処理中に分岐させるというものでした 767さんがわかりやすいですが、>>765 のやり方を勉強してみます
797 名前:デフォルトの名無しさん (ワッチョイ ba52-2WTa) [2017/06/16(金) 11:40:46.40 ID:uw1+X6cJ0.net] 拡張For文とも言われる For Each (オブジェクト変数) in (そのオブジェクトのコレクション) の構文で、ときどきその(オブジェクト変数)の処理によってFor Each文でまわすコレクションのオブジェクトの順番や数が変わってしまい困っています。 例えば For Each iCell in Activesheet.UsedRange である条件のiCellのときにその直下に新しい行を追加したり For Each iFile in TargetFolder.Files でiFileのファイル名を変えようとした場合に(FileSystemObjectを使ってる) 発生しました。 こんなときは処理結果が意図したものと違ってぐちゃぐちゃになって困っています。 最初にFor Eachの行をマクロが通過したときに処理すべきオブジェクトは固定されないんですか?
798 名前:デフォルトの名無しさん (ワッチョイ 87e4-IXCZ) mailto:sage [2017/06/16(金) 12:07:15.60 ID:Qtgdul+t0.net] For Eachで列挙される順番は、実装依存で保障はされてないはずだけど 普通は同じコレクションに対しては同じ順で帰ってくるよ For Eachで列挙中にそのコレクションに対して変更した場合は、その列挙はどうなるか分からん なので要素を増減させるような処理はFor Eachの中でやっちゃ駄目
799 名前:デフォルトの名無しさん (ワッチョイ 1773-sPwl) mailto:sage [2017/06/16(金) 12:11:25.66 ID:BvP/dFhV0.net] ループ処理中に処理対象を変更したら当然おかしくなると思うが…
800 名前:デフォルトの名無しさん (ワッチョイ ba52-2WTa) [2017/06/16(金) 12:30:40.42 ID:uw1+X6cJ0.net] >>770-771 そんなことはアホなオレでもわかっとりますわ。 その上でそれを回避するような定番な方法や定石的手順の方法を知りたいのですが。
801 名前:デフォルトの名無しさん (ワッチョイ 873d-VgqF) mailto:sage [2017/06/16(金) 12:33:46.29 ID:pJSV/jBP0.net] >>772 ループ内で対象を記録しておいて後で書き換えるとか 一時保管場所を作って蓄積してから元の場所へ戻すとか
802 名前:デフォルトの名無しさん (ワッチョイ ba52-2WTa) [2017/06/16(金) 12:39:06.98 ID:uw1+X6cJ0.net] >>773 しかしそれでも記憶させておくものは参照のメモリアドレスには変わりないと思うから 対処によってこの参照先が変わってしまい同じような意図しないぐちゃぐちゃな結果になったりしませんかね? あとわからないのがFileSystemObjectでファイル名を変えただけで対象が変わってしまうのが不思議。 これは別に要素の増減でもなんでもないのに。
803 名前:デフォルトの名無しさん (ワッチョイ 873d-VgqF) mailto:sage [2017/06/16(金) 13:09:33.45 ID:pJSV/jBP0.net] >>774 しませんかね? と質問する前に
804 名前:ゥ分でテスト環境作ってやってみるべき。 [] [ここ壊れてます]
805 名前:デフォルトの名無しさん (ワッチョイ 87e4-IXCZ) mailto:sage [2017/06/16(金) 13:14:04.57 ID:Qtgdul+t0.net] >>772 >その上でそれを回避するような定番な方法や定石的手順の方法を知りたいのですが。 For Eachを使わない 単純に減るだけならFor Nextで逆順に回すのが定番 あとはループ用に別の列挙(コピー)を用意するか >>774 FSOがどんな管理になってるかしらんが、名前の変更ってことは 古い名前の削除+新しい名前の追加 だと考えれば不思議はない
806 名前:デフォルトの名無しさん (アウアウエー Saf2-CZIA) mailto:sage [2017/06/16(金) 13:24:05.09 ID:LikhkzB3a.net] そもそもActivesheet.UsedRangeなんだからシートに処理加えたら要素の数が変わるのは当たり前だろ 一回変数に入れたら困るわけ? 多分fsoのfilesも変数に入れたら固定されるんじゃねえの
807 名前:デフォルトの名無しさん (ワッチョイ 9aec-VgqF) mailto:sage [2017/06/16(金) 15:36:15.71 ID:OvmXQ03X0.net] ユーザーフォームのボタンをクリックしたとき、ある条件を満たせばボタンの背景色を変えてます。 CommandButton1.BackColor = "&HFF00FF" ボタンの色を元に(ボタンのデフォルトの色に)戻すのに↓だとエラー(型が一致しません)。どうすればいいんでしょうか? CommandButton1.BackColor = "&H8000000F&"
808 名前:デフォルトの名無しさん (ワッチョイ 5623-8P7O) mailto:sage [2017/06/16(金) 16:08:49.37 ID:0rZ836RR0.net] >>778 Debug.Print Typename("&HFF00FF") Debug.Print Typename("&H8000000F&") なんで""で括ってるの?
809 名前:デフォルトの名無しさん (ワッチョイ 9aec-VgqF) mailto:sage [2017/06/16(金) 16:34:33.26 ID:OvmXQ03X0.net] >>779 ""は不要でしたか。たぶんどこかのサイトにそのような記述があったんだと思います。 ↓でエラーなく色変わりますが""なくてもよかったのか。 CommandButton1.BackColor = "&HFF00FF" debug.printの結果はstringでした。そりゃそうか。
810 名前:デフォルトの名無しさん (ワッチョイ 9aec-VgqF) mailto:sage [2017/06/16(金) 16:41:13.41 ID:OvmXQ03X0.net] >>779 あ、書くの忘れてました。 ↓これの""を取ったらエラー出ず色がもとに戻りました。ありがとうございました。 CommandButton1.BackColor = "&H8000000F&"
811 名前:デフォルトの名無しさん (アウアウエー Saf2-CZIA) mailto:sage [2017/06/16(金) 17:59:38.04 ID:LikhkzB3a.net] >>778 &H〜&は16進数だったかな
812 名前:デフォルトの名無しさん (ブーイモ MMaf-/42z) mailto:sage [2017/06/16(金) 21:04:08.81 ID:8NWwObqWM.net] >>774 VBAのforeachは扱いづらいよね。 for each file in folder.files なんかは一度別の配列なりcollectionなりに入れちゃった方がindexが動かないから無難。 range.deleteやrange.insertは一度のループで処理しようとせずに、別にループを回すか、index降順でループするのが無難。
813 名前:デフォルトの名無しさん (ワッチョイ 966d-6Cyg) mailto:sage [2017/06/16(金) 21:12:24.56 ID:QcYuYCTF0.net] for eachとcells()は相性が悪い cells().deleteを絡めると参照が変な位置に飛ぶ(気がする)。理由はわからん deleteを絡めるならfor next step-1にしたほうがいい
814 名前:デフォルトの名無しさん (ワッチョイ 9aec-VgqF) mailto:sage [2017/06/16(金) 21:13:11.64 ID:OvmXQ03X0.net] >>778 です。何度もすいません。 >>778 の質問はダブルクオーテーションマークを削除して解決しましたが、 なぜ、CommandButton1.BackColor = "&HFF00FF"、はエラーが出ずにボタン背景色が変更され、 CommandButton1.BackColor = "&H8000000F&"、これだとエラーが出るのか教えて頂けないでしょうか?
815 名前:デフォルトの名無しさん (ワッチョイ ba91-XHCC) [2017/06/16(金) 21:14:43.63 ID:82cvwDvY0.net] >>785 エラーが出る方は桁数が多いからじゃね?
816 名前:デフォルトの名無しさん (ワッチョイ 9aec-VgqF) mailto:sage [2017/06/16(金) 21:15:01.98 ID:OvmXQ03X0.net] >>785 ちなみに、VBAはマクロの記録したものをネットで検索してちょっといじくる程度の初心者レベルです
817 名前:デフォルトの名無しさん (ワッチョイ 966d-6Cyg) mailto:sage [2017/06/16(金) 21:20:26.65 ID:QcYuYCTF0.net] >>774 VBA独特のnewの特殊な仕様や、 setする度に生成される謎参照 vbaのforeach中に要素数を増減させるのはやめた方がいい 俺も絶対にしない。単純に間違うし、なんで間違うかもわからんから Sub foo() Set a = Cells(1, 1) Set b = Cells(1, 1) Debug.Print (a Is b) 'falseになる。参照しているアドレスも違う End Sub
818 名前:デフォルトの名無しさん (ワッチョイ 9aec-VgqF) mailto:sage [2017/06/16(金) 21:20:57.72 ID:OvmXQ03X0.net] >>786 "&H8000000F&"の方が文字数が多い(桁数が多い)というのはわかりますが、それでなぜエラーが出るのでしょうか?
819 名前:デフォルトの名無しさん (ワッチョイ e346-KEev) mailto:sage [2017/06/16(金) 21:22:35.82 ID:nh1Jx8jt0.net] >>785 CommandButton1.BackColor = "&H8000000F" でどう?
820 名前:デフォルトの名無しさん (ワッチョイ 966d-6Cyg) mailto:sage [2017/06/16(金) 21:24:07.49 ID:QcYuYCTF0.net] >>789 コンソールで以下を叩いてみれ ? &H8000000F
821 名前:デフォルトの名無しさん (ワッチョイ ba91-XHCC) [2017/06/16(金) 21:25:32.82 ID:82cvwDvY0.net] >>789 色の取りうる範囲を超えた値だからかな
822 名前:デフォルトの名無しさん (ブーイモ MMaf-/42z) mailto:sage [2017/06/16(金) 21:29:07.51 ID:8NWwObqWM.net] >>785 colorはlong型なので、右辺はlong型にキャストされている。 そんで、右辺=2147483663は、そもそもlong型の上限を超えているのでエラーになる。 まあその前に、色は256の3乗=16777216パターンなので、そこではねられてるかもしれない。
823 名前:デフォルトの名無しさん (アウアウカー Sa33-gMwg) mailto:sage [2017/06/16(金) 21:37:27.08 ID:Wj1oysWPa.net] Debug.Print Typename(&H8000000F&) Debug.Print Typename(Val("&H8000000F&")) Longに見える文字列でも自動型変換では以前の型は考慮されないと思う。
824 名前:デフォルトの名無しさん (ワッチョイ ba91-XHCC) [2017/06/16(金) 21:43:40.45 ID:82cvwDvY0.net] >>794 typename(clng("&H8000000F")) なんじゃね
825 名前:デフォルトの名無しさん (アウアウカー Sa33-gMwg) mailto:sage [2017/06/16(金) 21:49:00.55 ID:Wj1oysWPa.net] >>795 それじゃLongになっちまうだろ。 "&H8000000F&"が型変換でどう解釈されたかを調べてるんだぞ。 わざわざ最後に&付けてLong指定してるのにどうしてDoubleになるのかと言えば&付いててもStringなんだから&は考慮されないと予想。
826 名前:デフォルトの名無しさん (ブーイモ MMda-/42z) mailto:sage [2017/06/16(金) 21:49:23.66 ID:YneIl6smM.net] 確認したら、 clng("&800000F") => -2147483633 でキャストは通るね。間違い書いてすんません。
827 名前:デフォルトの名無しさん (ワッチョイ ba91-XHCC) [2017/06/16(金) 21:51:25.40 ID:82cvwDvY0.net] そもそもエラーって何のエラーかわかってないんだが 何エラー?
828 名前:デフォルトの名無しさん (アウアウカー Sa33-gMwg) mailto:sage [2017/06/16(金) 21:52:52.22 ID:Wj1oysWPa.net] >>798 Long型のプロパティにDouble型の値を代入しようとしたエラー
829 名前:デフォルトの名無しさん (ワッチョイ ba91-XHCC) [2017/06/16(金) 21:55:42.55 ID:82cvwDvY0.net] >>799 エラーメッセージにそう出るの? エラーメッセージを解釈した結果?
830 名前:デフォルトの名無しさん (ブーイモ MMda-/42z) mailto:sage [2017/06/16(金) 21:57:25.30 ID:YneIl6smM.net] .backcolorプロパティ内で範囲外エラーを返しているのかと思ったけど違うのかな?
831 名前:デフォルトの名無しさん (アウアウカー Sa33-gMwg) mailto:sage [2017/06/16(金) 21:58:00.70 ID:Wj1oysWPa.net] >>800 解釈した結果 そのために>>794 書いたつもり。
832 名前:デフォルトの名無しさん (アウアウカー Sa33-gMwg) mailto:sage [2017/06/16(金) 22:02:09.58 ID:Wj1oysWPa.net] >>801 ""取ったらエラー出てないし、エラーも型が一致していないってことだから。 まあ、同じことでしょ。
833 名前:デフォルトの名無しさん (ワッチョイ ba91-XHCC) [2017/06/16(金) 22:02:42.94 ID:82cvwDvY0.net] >>802 それだと本当はDouble型かLong型かわからなくね? 暗黙の型変換でlong型になってるかもしれない colorプロパティはlong型みたいだし
834 名前:デフォルトの名無しさん (アウアウカー Sa33-gMwg) mailto:sage [2017/06/16(金) 22:25:40.96 ID:Wj1oysWPa.net] >>804 Val("&H8000000F&")はDoubleだけど、 "&H8000000F&"を暗黙の型変換した場合はLongかも知れないということ? だったらエラーは出ないんじゃね?
835 名前:デフォルトの名無しさん (ワッチョイ 87e4-IXCZ) mailto:sage [2017/06/17(土) 03:41:22.96 ID:5p5fyGrH0.net] 暗黙の変換やClng関数は、型指定文字があるとエラーになる それだけ ちなみにValは、型指定文字を無視する 試したけど 暗黙の変換でLongに収まらないときはオーバーフロー 型指定文字が入ってるときは型が一致しません エラーの種類違うし
836 名前:デフォルトの名無しさん (ワッチョイ e346-KEev) mailto:sage [2017/06/17(土) 05:35:44.93 ID:sBDEiRXs0.net] >>792 >>801 &H8000000F は RGB値ではなくシステム カラーだと思うのだけど? システム カラー定数 https://msdn.microsoft.com/ja-jp/library/office/gg264801.aspx
837 名前:デフォルトの名無しさん (ワッチョイ ba91-XHCC) [2017/06/17(土) 05:54:42.06 ID:Zt5CuQ5d0.net] >>807 "で囲ってない時はシステムカラー定数と認識されるけど "で囲ってる時は型変換されてlong値になって値の範囲が不正になるのかな
838 名前:デフォルトの名無しさん (ワッチョイ e346-KEev) mailto:sage [2017/06/17(土) 06:26:45.69 ID:
] [ここ壊れてます]
839 名前:sBDEiRXs0.net mailto: >>808 "&H8000000F"は16進表現として認識てきて 型変換してるけど "&H8000000F&"は 最後に& があるから 文字列のままで 型変換してないんじゃないの? なぜか 皆さん型指定文字と みなしてる みたいだけど おいらにゃ それが理解できない [] [ここ壊れてます]
840 名前:809 (ワッチョイ e346-KEev) mailto:sage [2017/06/17(土) 06:34:33.98 ID:sBDEiRXs0.net] ちょっと補足 &H8000000F& と書いたときの最後の& は型指定文字なのはいいんだけど "&H8000000F&" と書いたときの最後の& は型指定文字 ではないんじゃね? とおいらは思ってるって事
841 名前:デフォルトの名無しさん (ワッチョイ ba91-XHCC) [2017/06/17(土) 06:40:18.44 ID:Zt5CuQ5d0.net] >>809 最後の&があると文字列のままで型が一致しないエラー "を外すと最後の&が削除されてlong型になるね
842 名前:デフォルトの名無しさん (スプッッ Sd7a-KVjL) mailto:sage [2017/06/17(土) 06:43:47.67 ID:HWAPYlLyd.net] おいら って20年ぶりくらいに聞いた
843 名前:デフォルトの名無しさん (ワッチョイ ba91-XHCC) [2017/06/17(土) 06:46:10.05 ID:Zt5CuQ5d0.net] 最後の&が無いと"で囲ってても型変換されてエラーにならない 最後の&がエラーの原因だな
844 名前:デフォルトの名無しさん (ワッチョイ 5379-9n+g) mailto:sage [2017/06/17(土) 08:14:56.44 ID:SCg1HEQ40.net] おいらの法則
845 名前:デフォルトの名無しさん (ワッチョイ 8b8f-2WTa) mailto:sage [2017/06/17(土) 08:22:33.99 ID:qHcE0uCX0.net] シドロモドロ以来だな
846 名前:デフォルトの名無しさん (ワッチョイ 5623-gMwg) mailto:sage [2017/06/17(土) 19:37:25.20 ID:VvIBcq8u0.net] >>813 それだと"&H8000&"でもエラーになる?
847 名前:デフォルトの名無しさん (ワッチョイ 3a6f-Qd8E) mailto:sage [2017/06/17(土) 19:57:38.80 ID:Es/QpSxK0.net] トランスポーズすると、2次元配列を1次元配列に変換できる!! 使い道は分からない!! 以上!!
848 名前:デフォルトの名無しさん (ワッチョイ ba91-XHCC) [2017/06/17(土) 22:12:46.54 ID:Zt5CuQ5d0.net] >>816 同じ型が一致しませんのエラーになる
849 名前:デフォルトの名無しさん (ワッチョイ 5623-gMwg) mailto:sage [2017/06/18(日) 00:00:52.09 ID:8soX4XuF0.net] >>818 おお、じゃあ変換できないので文字列のままでエラーってことだな。
850 名前:デフォルトの名無しさん (ワッチョイ bb11-CZIA) mailto:sage [2017/06/18(日) 15:49:05.91 ID:RSPvKv4Y0.net] >>817 横に並んだデータをサクッと一次元配列にしたいときに使う
851 名前:デフォルトの名無しさん (ササクッテロリ Spab-XHCC) [2017/06/18(日) 16:32:07.44 ID:rdefnVQJp.net] >>817 a. 2行2列を要素数4の配列にできる b. 1行4列を要素数4の配列にできる c. 4行1列を要素数4の配列にできる どれが出来てどれが出来ないの?
852 名前:デフォルトの名無しさん (ワッチョイ 873d-VgqF) mailto:sage [2017/06/18(日) 17:09:23.21 ID:Q0TjVwCE0.net] Transposeは一列もしくは一行の場合は強制的に一次元配列する。 なお同じ機能の関数を自作しても処理時間は変わらない模様。
853 名前:デフォルトの名無しさん (ワッチョイ baaa-2WTa) mailto:sage [2017/06/18(日) 17:17:35.08 ID:dGQ95y/Y0.net] >>822 一行だったら二次元配列に変換されるよ
854 名前:デフォルトの名無しさん (アウアウウー Sa77-pW+h) mailto:sage [2017/06/19(月) 03:47:46.84 ID:5j/B6amKa.net] 便利だから使ってたけど処理時間変わらないのか それは知らなかった 自作関数書くよりはちょっとお手軽くらいに思っとけばいいのかな
855 名前:デフォルトの名無しさん (ワッチョイ 873d-VgqF) mailto:sage [2017/06/19(月) 12:09:46.78 ID:ABDk/3ER0.net] WorksheetFunctionとかの一部の関数は処理時間見る限り全部VBAで書かれているか、あるいは同じレベルで実装されているみたい。 なんなら初めに条件を絞れる分、元から入っている関数よりも自分で書いた方が速い事もある。
856 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 13:25:12.20 ID:VrV9No710.net] すいません。 エクセル初心者です。 エクセルでハンゲームのオセロの棋譜を取得するツールを作ろうと 思ったのですがよくわかりません。 誰か作り方を教えてください。
857 名前:デフォルトの名無しさん (アウアウエー Saf2-CZIA) mailto:sage [2017/06/19(月) 15:14:07.46 ID:kr/oTAEDa.net] >>826 その聞き方じゃ何もわからないし、君には無理だね
858 名前:デフォルトの名無しさん (ワッチョイ 966d-2WTa) mailto:sage [2017/06/19(月) 18:50:13.11 ID:qZE6both0.net] >>826 君のレベルに対してやろうとしてることのレベルが高すぎる あとめちゃくちゃめんどくさい 素直に棋譜の取れるオセロゲームやったほうが良い
859 名前:デフォルトの名無しさん (ワッチョイ b78b-1MEk) [2017/06/19(月) 19:04:20.53 ID:/dj/ZZB
] [ここ壊れてます]
860 名前:t0.net mailto: ダウンロードするだけとちゃうんか? [] [ここ壊れてます]
861 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 19:25:26.80 ID:VrV9No710.net] 多少面倒くさくても頑張ろうと思います。 ご教授お願いします。 やる気はあります。 ヒントだけでもm(_ _)m
862 名前:デフォルトの名無しさん (ワッチョイ 966d-2WTa) mailto:sage [2017/06/19(月) 19:38:14.34 ID:qZE6both0.net] >>830 IEインスタンス作ってそこから中身引っ張り出して・・・ 正直、内容がアホらしすぎて教える側にやる気が出ない
863 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 19:44:05.99 ID:VrV9No710.net] ありがとう。 IEインスタンスってものを作れば作れるんですか。 もう少し踏み込んだヒントをください。 お願いします。
864 名前:デフォルトの名無しさん (ワッチョイ b78b-1MEk) [2017/06/19(月) 19:45:57.34 ID:/dj/ZZBt0.net] え?ハンゲームやろ?なんで急にインスタが出てくるんや?
865 名前:デフォルトの名無しさん (ワッチョイ 966d-TgEb) mailto:sage [2017/06/19(月) 19:53:07.52 ID:qZE6both0.net] >832 この先は俺も知らないし、他の誰も知らない インスタンスの中身を探っていけばその内見つかると思う
866 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 20:02:44.41 ID:VrV9No710.net] >>833 インスタンスを使わない手段もあるんですか? >>834 ありがとうございます。 インスタンスを探してみます。 一つ質問ですが インスタンスってなんですか?
867 名前:デフォルトの名無しさん (ワッチョイ 5323-sPwl) mailto:sage [2017/06/19(月) 20:21:11.16 ID:PPgDuBFH0.net] ネタにマジレスすんなスルーしろよ
868 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 20:23:09.22 ID:VrV9No710.net] ネタ? 誰に言ってるの?
869 名前:デフォルトの名無しさん (ワッチョイ b78b-1MEk) [2017/06/19(月) 20:31:11.32 ID:/dj/ZZBt0.net] >>835 いや普通に考えて使わんやろ? それとも俺が知らんだけでハンゲームの棋譜がインスタにアップされてたりすんのやろか?
870 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 20:33:24.35 ID:VrV9No710.net] >>838 よしよろしければインスタを使わない方法を御存知でしたら教えてください。
871 名前:デフォルトの名無しさん (ワッチョイ e346-KEev) mailto:sage [2017/06/19(月) 20:38:44.97 ID:bf7vlYv00.net] 1)棋譜を君の脳内に取得して(記憶というw) 2)その脳内に取得した棋譜を 手入力という手法を使ってexcelへ転記する -完成-
872 名前:デフォルトの名無しさん (ワッチョイ b78b-1MEk) [2017/06/19(月) 20:44:19.79 ID:/dj/ZZBt0.net] >>839 まずハンゲームをダウンロードしたらええんとちゃうか?
873 名前:デフォルトの名無しさん (ワッチョイ baaa-2WTa) mailto:sage [2017/06/19(月) 20:47:27.35 ID:n6H3aqi00.net] ID:/dj/ZZBt0 ...
874 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 20:50:01.00 ID:VrV9No710.net] >>841 ハンゲームはダウンロード済みです。 ダウンロードしないとゲームができません。 その後はどうすればいいの?
875 名前:デフォルトの名無しさん (ワッチョイ b78b-VPaF) [2017/06/19(月) 20:57:49.05 ID:/dj/ZZBt0.net] >>843 ああそうなんかw知らんかったw ハンゲームがあるんやったら次はおもむろに wiresharkとかfiddlerを立ち上げて通信の傍受やろな普通は
876 名前:デフォルトの名無しさん (アウアウエー Saf2-CZIA) mailto:sage [2017/06/19(月) 21:30:02.75 ID:xy6F3ofWa.net] 一般に公開されてるデータじゃないなら無理 不可能
877 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) [2017/06/19(月) 21:54:46.68 ID:VrV9No710.net] エクセルに詳しい方、回答お願いします。
878 名前:デフォルトの名無しさん (アウアウエー Saf2-CZIA) mailto:sage [2017/06/19(月) 22:03:15.20 ID:xy6F3ofWa.net] >>846 一応いっとくけど、エクセルの問題じゃないからね
879 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 22:06:34.40 ID:VrV9No710.net] >>847 VBAってものを使えばいいんですよね? それは承知しております。
880 名前:デフォルトの名無しさん (ワッチョイ 3a06-VgqF) mailto:sage [2017/06/19(月) 22:06:40.01 ID:UFkjuB9W0.net] >>846 ちなみにVBAはどの程度知っているのか? Option Explicit って知っている?
881 名前:デフォルトの名無しさん (ワッチョイ c76f-2WTa) mailto:sage [2017/06/19(月) 22:14:02.70 ID:NPLs9gl60.net] そもそもハンゲームのオセロがどういうものかわからないし たぶんUWSCあたりで盤面を画像処理で認識して記録していくのが一番手っ取り早いと思う これなら調べながら誰でもできる
882 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 22:15:29.75 ID:VrV9No710.net] VBAはよくわかりません。 ただVBAを使えばなんでもできるという話を聞きました。 これから勉強しようと思ってます。 Option Explicitは聞いたことないです。
883 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 22:19:01.40 ID:VrV9No710.net] >>850 ハンゲームオセロの棋譜取得ツールは既に作って公開されてる方がいます。 画像認識で高速で打つオセロの棋譜なんかも取得できるものなのでしょうか? 公開されてるツールはVBAではありませんが、何か画像認識とは異なるようです。
884 名前:デフォルトの名無しさん (ワッチョイ 3a06-VgqF) mailto:sage [2017/06/19(月) 22:19:42.57 ID:UFkjuB9W0.net] >>851 完成目標 10年後くらいで勉強していけw
885 名前:デフォルトの名無しさん (ワッチョイ c76f-2WTa) mailto:sage [2017/06/19(月) 22:22:04.62 ID:NPLs9gl60.net] >>852 じゃあそれ使ってログを読み込めばいいだけじゃんw
886 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 22:28:44.54 ID:VrV9No710.net] >>853 10年かかっても勉強する根気はあります VBAを始めるにしても具体的に何の勉強が必要なのか そのヒントが欲しいです >>854 ログを読み込むというのは別の人が作ったツールを使うってことでしょうか? 自分で作りたいのです。
887 名前:デフォルトの名無しさん (ワッチョイ db0d-VLdI) [2017/06/19(月) 22:29:24.47 ID:POTmza9M0.net] 釣りならvipでやれ
888 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 22:32:38.02 ID:VrV9No710.net] >>856 逆にお返ししますが 冷やかしならvipでやれ 僕は真面目に質問してます。
889 名前:デフォルトの名無しさん (ワッチョイ 3a06-VgqF) mailto:sage [2017/06/19(月) 22:34:02.52 ID:UFkjuB9W0.net] >>855 プログラミングの初歩から勉強しないといけないわけで。千里の道も一歩からなんで とりあえずはVBAの入門書でも見繕ってそれを勉強していけよ。やりたいことはそういう基礎が 出来てからの話なんで 後、あまり続けけるとここの住人から怒られるよ(もう既に怒り始めてるけどw)
890 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 22:42:15.31 ID:VrV9No710.net] 入門書は見たことがありますが 棋譜の取得方法が載ってませんでした
891 名前:デフォルトの名無しさん (ワッチョイ 966d-AefZ) mailto:sage [2017/06/19(月) 22:43:01.87 ID:qZE6both0.net] 10年かかってオセロの棋譜を取得、結構面白かったw
892 名前:デフォルトの名無しさん (ワッチョイ 3a06-VgqF) mailto:sage [2017/06/19(月) 22:47:50.75 ID:UFkjuB9W0.net] >>859 そんなピンポイントに自分の希望するネタが載ってるかってのw 後、俺もコレに関しての書込みはもう止める
893 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 22:55:14.29 ID:VrV9No710.net] ピンポイントで載ってないのは知ってますよ。 これが最後の質問なのでどなたかマジレスお願いします。 オセロの棋譜を取得するには入門書の次はどの書籍で何を勉強すればいいですか?
894 名前:デフォルトの名無しさん (ワッチョイ b78b-VPaF) [2017/06/19(月) 22:57:30.40 ID:/dj/ZZBt0.net] まだやっとったんか もう少しマジメにこたえてやろうか?
895 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 23:00:07.06 ID:VrV9No710.net] >>863 おねがいします
896 名前:デフォルトの名無しさん (ワッチョイ 5323-sPwl) mailto:sage [2017/06/19(月) 23:00:26.94 ID:PPgDuBFH0.net] だからスルーしろって言っただろ…
897 名前:デフォルトの名無しさん (ワッチョイ b70b-RAw3) mailto:sage [2017/06/19(月) 23:27:28.51 ID:sdf0wvxm0.net] Excelで作成済みの表で太線部分をすべて二重線に変更するとか 通常の太さの線をすべて点線に変更するような処理をVBAでできますか?
898 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 23:41:34.64 ID:VrV9No710.net] オマエラ、回答スキルがないから冷やかしや煽りしかせんのだろ こんなスレで質問した僕が愚かでした
899 名前:デフォルトの名無しさん (ワッチョイ 966d-6QMs) mailto:sage [2017/06/19(月) 23:55:37.37 ID:qZE6both0.net] >>866 できる マクロの記録見ながらやればok とりあえずテキトーに作ったのは以下 セルをテキトーに範囲選択して以下マクロを実行すると、全部の罫線を調べて何か色々やる Sub Macro1() For Each cell In Selection For Each line_item In cell.Borders If line_item.linestyle = "" Then 'ここで判別 'テキトーに処理 End If Next Next End Sub
900 名前:デフォルトの名無しさん (ワッチョイ 8b8f-2WTa) mailto:sage [2017/06/20(火) 00:06:57.22 ID:cAv1G3zS0.net] >こんなスレで質問した僕が愚かでした これ言いたかっただけやろ
901 名前:デフォルトの名無しさん (ワッチョイ 873d-VgqF) mailto:sage [2017/06/20(火) 00:57:33.30 ID:epuuDDzl0.net] 棋譜作成ツールの存在を知ってたんなら、まず制作者にコンタクト取ればいいのに。
902 名前:デフォルトの名無しさん (ワッチョイ bb11-VLdI) mailto:sage [2017/06/20(火) 01:49:00.45 ID:daMMiZS+0.net] 普通そういう対戦ゲームってテキストかなんかでゲームヒストリー保存されてるんじゃないの?
903 名前:デフォルトの名無しさん (ワッチョイ bb11-CZIA) mailto:sage [2017/06/20(火) 07:04:14.89 ID:kfZB+qqb0.net] >>866 できるよ
904 名前:デフォルトの名無しさん (ワッチョイ bb11-CZIA) mailto:sage [2017/06/20(火) 07:05:49.17 ID:kfZB+qqb0.net] >>867 ちがうよ 質問が間抜けすぎると回答できないんだよ 野球未経験者に150キロの投げ方教えろって言われても無理なもんは無理
905 名前:デフォルトの名無しさん (ワッチョイ 966d-2WTa) mailto:sage [2017/06/20(火) 08:15:35.18 ID:0I9nr4ea0.net] >>871 ハンゲームはフラッシュだからな〜 IEの中身見て、フラッシュの中身見て… 暗号化やプロテクトがかかってると更にめんどくさい、ってかお手上げ
906 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/20(火) 09:31:22.77 ID:Yjttzp/I0.net] >>873 残念。 野球素人にも正しいフォームとトレーニング方法を教えれば 150キロは無理でも120キロの球なら投げられる。 僕はこのスレで質問しても120キロの投げ方のヒントすら得られなかったよ。 120キロの投げ方でも教えてくれればオマエラを尊敬したのにね。 >>874 ハンゲはフラッシュゲームもあるけど 僕が質問してるのはFlash版じゃない方ですよ。
907 名前:デフォルトの名無しさん (アークセー Sxab-oWh/) mailto:sage [2017/06/20(火) 09:48:00.02 ID:4C+vIjyGx.net] >>875 まぁ身に付くかは別問題だし 教えるなら150の香りがする方よ。 君? 匂う臭う
908 名前:デフォルトの名無しさん (ワッチョイ 873d-VgqF) mailto:sage [2017/06/20(火) 10:30:33.26 ID:epuuDDzl0.net] 調べて分かる事すら訊いてくる性格の人には何教えても身につかないしね。
909 名前:デフォルトの名無しさん (アウアウエー Saf2-CZIA) mailto:sage [2017/06/20(火) 10:35:20.51 ID:fiT3zbOfa.net] >>875 すまん例えを間違えたわ サッカー選手にそれを聞いてるようなもんだわ なぜならハンゲームの仕組みは専門外だから まずは棋譜がどのような仕組みで配布されているのか、いないのか ダウンロード出来るのか出来ないのか アプリはどんな形で配布されているものなのか 質問するならそのぐらいは情報としてないとね ハンゲームのことなんて知らないからさ
910 名前:デフォルトの名無しさん (ワッチョイ 3a06-VgqF) mailto:sage [2017/06/20(火) 11:41:22.61 ID:M2VUAsfa0.net] >野球素人にも正しいフォームとトレーニング方法を教えれば >150キロは無理でも120キロの球なら投げられる。 その素人が練習したらだろ?お前、練習すらしねーじゃん。練習した上で抜かせヴォケ
911 名前:デフォルトの名無しさん (スプッッ Sd7a-KVjL) mailto:sage [2017/06/20(火) 11:52:13.42 ID:JmP4tpNDd.net] 2ちゃんねるをプロが集まる場所だと勘違いしたんだろうよ
912 名前:デフォルトの名無しさん (オイコラミネオ MMe6-sPwl) mailto:sage [2017/06/20(火) 12:04:10.53 ID:5ysl0/W+M.net] な。スルーで正解だったろw
913 名前:デフォルトの名無しさん (オッペケ Srab-VPaF) [2017/06/20(火) 12:17:43.67 ID:PW/vl+jdr.net] いやお前はどっちにしろ答えられんから正解かもしれんけどw
914 名前:デフォルトの名無しさん (ワッチョイ 1773-sPwl) mailto:sage [2017/06/20(火) 12:38:17.50 ID:z3uMks1C0.net] すぐ上に誰にも答えられないって書いてあるわけだが
915 名前:デフォルトの名無しさん (スプッッ Sd7a-KVjL) mailto:sage [2017/06/20(火) 12:45:36.63 ID:JmP4tpNDd.net] >>851 「VBAを使えばなんでもできる」という話は信じ込んでいるわけか。 でも
916 名前:アのスレでの忠告は聞かない、と。 なかなか変わった精神の持ち主だ。 [] [ここ壊れてます]
917 名前:デフォルトの名無しさん (アウアウウー Sa77-lwmD) [2017/06/20(火) 12:48:41.53 ID:R6esiUjXa.net] オセロの棋譜もとれるんです そう!vbaならね
918 名前:デフォルトの名無しさん (ワッチョイ 873d-VgqF) mailto:sage [2017/06/20(火) 14:07:00.11 ID:epuuDDzl0.net] 既にハンゲームのオセロの棋譜を取るツールがあるんだから作れる事は作れるだろうけどね。 ただ言語的な向き不向きがあるから。
919 名前:l (ワッチョイ 87cf-pW+h) [2017/06/20(火) 15:02:50.92 ID:Om3g1OA10.net] ユーチューバーは収入の仕組みが違う?!どっちが儲かるか? youtube-youtuber.com/360.html 従来型のユーチューバーは、広告収入をメインの収入源としています 1.動画にのせる広告(動画広告+画像広告)からの報酬や 2.スポンサー収入(企業からの依頼を受けて商品を紹介) 海外のユーチューバーの傾向として、広告収入ではなく、自分のビジネスを メインにすることによって広告収入を遥かに超える収入を叩き出しています。 例えば、beauty guru(美のカリスマ)と謳われる、ユーチューバーのミシェル・ファンは 広告収入は1800万得ていますが・・他方で美容化粧品会社Ipsyを立ち上げて、 年収1億ドル(約110億円)を売り上げました。 彼女は「メイクのチュートリアル動画」を投稿していますが、動画の中で自分の会社の商品を 使っているんです。 そしてその中で使った商品を、online shopで買える仕組みにしています。 他人の商品を紹介して、そこから「おこぼれ」を貰うより、自分の商品を売った方が 遥かに儲かりますからね。 リンジー・スターリングは踊りながら、バイオリンを演奏する、アーティストですが・・・ 彼女の場合も、あくまでも動画を投稿するのは、自分のビジネスである、 ツアーチケットやアルバムの販売のためなのです
920 名前:デフォルトの名無しさん (アウアウカー Sa33-gMwg) mailto:sage [2017/06/20(火) 17:07:28.52 ID:nFgQnGjya.net] できるけどハードル高過ぎだよな。 UIAutomationで攻めるかWindowHandleで攻めるか、それともGDI+で攻めるかになると思うけど。 意外にGDIplusで攻めるのが簡単かもね。
921 名前:デフォルトの名無しさん (ワッチョイ b78b-1MEk) [2017/06/20(火) 19:12:39.08 ID:pPHD0ZXr0.net] お前らが丁度盛り上がれる質問てめちゃくちゃ幅が狭いよなw それよりちょっとでも上か下にずれたら質問者総叩きっていうw
922 名前:デフォルトの名無しさん (ワッチョイ 966d-2WTa) mailto:sage [2017/06/20(火) 19:19:55.60 ID:0I9nr4ea0.net] >>889 9割ぐらいのまともな質問は一瞬で回答して終わるから、そう見えるだけだよ
923 名前:デフォルトの名無しさん (ワッチョイ b78b-1MEk) [2017/06/20(火) 19:26:00.76 ID:pPHD0ZXr0.net] >>890 盛り上がれる質問の幅が狭い ↓ そもそも一瞬で終わる質問は問題になってない わかるかな? でお前にはどう見えてるの?言うてみ?w
924 名前:デフォルトの名無しさん (ワッチョイ 966d-2WTa) mailto:sage [2017/06/20(火) 19:34:28.87 ID:0I9nr4ea0.net] イベントで貼り付けって検知できますか?
925 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/20(火) 20:08:27.14 ID:Yjttzp/I0.net] >>880 ここは素人が玄人ぶるスレか?
926 名前:デフォルトの名無しさん (スプッッ Sd7a-KVjL) mailto:sage [2017/06/20(火) 21:32:49.05 ID:JmP4tpNDd.net] プロはブログかTwitterだろう 2ちゃんとQiitaは素人ばっかり
927 名前:デフォルトの名無しさん (ワッチョイ 873d-VgqF) mailto:sage [2017/06/20(火) 22:07:50.66 ID:epuuDDzl0.net] 実績のある個人を追跡しやすい媒体に比べたら不特定多数が参加できる媒体は敷居が低い分ノイズが乗りやすいからね。 どんなふうに検索しても見つからない時、糸口になればいいなくらいの気持ちで付き合っていくべきでしょ。
928 名前:デフォルトの名無しさん (ワッチョイ fb11-pW+h) mailto:sage [2017/06/21(水) 00:33:07.21 ID:uohPApVY0.net] >>892 Excelのユーザー操作ということでいいんだよなこのスレなんだから 「貼り付けた」イベントは無理じゃね?俺の知ってる範囲だとだけど 「貼り付けようとしている」イベントは一応取れそうな https://msdn.microsoft.com/ja-jp/library/cc377048.aspx ショートカットキーまで考えるとWin32APIまで要りそうな気がするな もっとストレートにやりたいこと書けばもうちょい回答出そうだけど
929 名前:デフォルトの名無しさん (ワッチョイ e3ab-NFrx) mailto:sage [2017/06/21(水) 01:34:26.99 ID:WuwcSk/R0.net] >>892 少し前に組んだことある。 たしかUndoの情報にアクセスしてゴニョゴニョ、、
930 名前:デフォルトの名無しさん (アウアウエー Saf2-CZIA) mailto:sage [2017/06/21(水) 07:42:58.19 ID:ICxYo2sfa.net] >>889 質問が悪いから仕方ないよね もう少し具体的に質問してくれたら盛り上がれたかもしれない
931 名前:デフォルトの名無しさん (ワッチョイ 1773-sPwl) mailto:sage [2017/06/21(水) 08:31:04.14 ID:/9zCdexY0.net] レベルの低い質問のにはレベルの低い回答しかできないってだけなんだが
932 名前:デフォルトの名無しさん (ワキゲー MMb2-3a6i) mailto:sage [2017/06/21(水) 08:33:43.68 ID:ajPkQF0EM.net] プロなら質問内容を精査してちゃんと答えたりするんだろうが所詮吹き溜まりだからなぁ 俺らにゃ難しいな
933 名前:デフォルトの名無しさん (アウアウエー Saf2-CZIA) mailto:sage [2017/06/21(水) 10:47:46.94 ID:eLmte6hpa.net] >>900 してやる義理もないし
934 名前:デフォルトの名無しさん (JP 0Ha6-yC+1) mailto:sage [2017/06/21(水) 10:56:10.43 ID:v7daEmTSH.net] >>900 俺もしないよ なんで無料でそんなことしなきゃならんのだ
935 名前:デフォルトの名無しさん (スプッッ Sd7a-KVjL) mailto:sage [2017/06/21(水) 11:24:04.77 ID:XUERnIj3d.net] >>900 吹き溜まりっていうか、普通のユーザーしかいないってだけだろう
936 名前:デフォルトの名無しさん (スプッッ Sd7a-KVjL) mailto:sage [2017/06/21(水) 11:34:07.17 ID:XUERnIj3d.net] 野球がどうこう言ってるやつは野球板に行って同じ発言してこい 「プロはいないのか?ここは雑魚ばっかりだな」
937 名前:デフォルトの名無しさん (オッペケ Srab-VPaF) [2017/06/21(水) 12:18:28.53 ID:GOe8ggdQr.net] >>901 お前が回答する義理がないのはもちろんだが 回答できないからといって質問者を妨害する行為はいただけないな
938 名前:デフォルトの名無しさん (アウアウウー Sa77-lwmD) [2017/06/21(水) 12:24:13.39 ID:UVc+8Jvua.net] でもあの質問者はvbaってよく知らないけどなんでも出来るって聞きましたってレベルだったからな 答えわかる奴がいても伝えられなかっただろうな
939 名前:デフォルトの名無しさん (ワッチョイ 1773-sPwl) mailto:sage [2017/06/21(水) 12:24:50.30 ID:/9zCdexY0.net] 妨害って具体的に何よ
940 名前:デフォルトの名無しさん (アークセー Sxab-oWh/) mailto:sage [2017/06/21(水) 12:28:46.90 ID:aEmRy35ox.net] >>907 思い通りにならないこと
941 名前:デフォルトの名無しさん (ササクッテロリ Spab-XHCC) [2017/06/21(水) 12:39:14.77 ID:OZ7YKCT4p.net] >>900 プロなら代金を取る
942 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/21(水) 12:41:10.08 ID:39L7Vonk0.net] 回答するしないは自由だが 回答できない雑魚はROMってろ 無能な癖に 「俺様は優秀。なんでも回答できる。でも、お前には回答してやらない」 こんなハッタリをかますアホが居るからスレが荒れるだけやろ? 雑魚は黙ってROM これが2CHのルールやで
943 名前:デフォルトの名無しさん (ササクッテロリ Spab-XHCC) [2017/06/21(水) 12:43:11.08 ID:OZ7YKCT4p.net] >>910 そんなルールあったか? あったとしても守らないといけないのか?
944 名前:デフォルトの名無しさん (JP 0Ha6-yC+1) mailto:sage [2017/06/21(水) 12:55:06.38 ID:v7daEmTSH.net] まあ大抵において、俺ルールを押しつけようとする奴が現れると荒れるわな
945 名前:デフォルトの名無しさん (アークセー Sxab-oWh/) mailto:sage [2017/06/21(水) 12:56:32.98 ID:aEmRy35ox.net] ワッショイ ワッショイ └(゚∀゚└) (┘゚∀゚)┘
946 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/21(水) 13:08:10.40 ID:39L7Vonk0.net] >>911 「俺様は優秀、でも回答してやらない」アピールをすることに何の意味があるの? お前は法律がなくなれば明日にでも人を殺すのか? >>910 に書くルールがなくてもマナーとしてはアタリマエのことだろ?
947 名前:デフォルトの名無しさん (JP 0Ha6-yC+1) mailto:sage [2017/06/21(水) 13:10:07.01 ID:v7daEmTSH.net] >>914 お前には、誰のどんなレスも止められない この程度のことがわからない奴が暴れるから荒れるんだよ
948 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/21(水) 13:29:54.52 ID:39L7Vonk0.net] 質問スレは 質問者が質問をし 回答者が回答するスレやで 雑魚が自分アピールするスレちゃうよ
949 名前:デフォルトの名無しさん (アウアウエー Saf2-CZIA) mailto:sage [2017/06/21(水) 13:32:38.01 ID:AkQPZhAca.net] >>905 俺はちゃんと要件伝えてねってそれしか言ってないが
950 名前:デフォルトの名無しさん (ワッチョイ e346-KEev) mailto:sage [2017/06/21(水) 13:38:49.64 ID:YcBGJgEk0.net] >>916 質問スレであって 回答スレじゃないと思うが ここの存在意義?? 知らん 楽しけりゃなんでもいいんよ
951 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/21(水) 13:39:58.40 ID:39L7Vonk0.net] 質問スレは ・質問 ・回答 ・誘導 ・スルー この4つだけでいいよ 次スレのテンプレに入れておいてな
952 名前:デフォルトの名無しさん (JP 0Ha6-yC+1) mailto:sage [2017/06/21(水) 13:42:09.01 ID:v7daEmTSH.net] ここが気に入らないんなら、teratailあたりにでも行けばいいんじゃないですかね
953 名前:デフォルトの名無しさん (JP 0Ha6-yC+1) mailto:sage [2017/06/21(水) 13:43:02.96 ID:v7daEmTSH.net] >>919 まずお前がスルーしろや
954 名前:デフォルトの名無しさん (ワキゲー MMb2-U092) mailto:sage [2017/06/21(水) 14:15:34.69 ID:ajPkQF0EM.net] >>919 質問したけど回答が満足行かないから俺ルールを強制するってみっともないよ
955 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/21(水) 14:20:17.16 ID:39L7Vonk0.net] 優秀なオマエラのVBA作品が見てみたいな どれほどのスキルが有るんやろなw
956 名前:デフォルトの名無しさん (アウアウエー Saf2-CZIA) mailto:sage [2017/06/21(水) 14:31:16.49 ID:Nqf9zhaca.net] たかだか2ちゃんのスレに本気になりすぎだろ 肩の力抜けよ そもそもお前のルールから行くと自治もいらんからな
957 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/21(水) 15:04:48.95 ID:39L7Vonk0.net] 本気にはなってるが熱くはなってないよ オマエラがExcelでハンゲの棋譜取得ツールを作ってうpしたら 俺は土下座したるわ
958 名前:デフォルトの名無しさん (ワッチョイ e346-KEev) mailto:sage [2017/06/21(水) 15:09:03.30 ID:YcBGJgEk0.net] 誰もおまいの土下座なんか興味ないと思うな
959 名前:デフォルトの名無しさん (スプッッ Sd7a-KVjL) mailto:sage [2017/06/21(水) 15:10:01.24 ID:XUERnIj3d.net] どんなに壮麗雄大なVBA作品でもその目的にかなうものでないとダメ
960 名前:デフォルトの名無しさん (ワッチョイ aea2-MdDJ) mailto:sage [2017/06/21(水) 16:21:06.15 ID:wPEHzi2i0.net] クラスモジュールにメソッド記述できるの?コンストラクタ機能する?
961 名前:デフォルトの名無しさん (ワッチョイ 1773-sPwl) mailto:sage [2017/06/21(水) 16:58:18.58 ID:/9zCdexY0.net] 暴れてるのはやっぱり棋譜君かw もう来ないっていう奴に限って粘着するんだよな 自分にできないことをタダで教えてもらおうとしてるのに、変に態度がデカイから叩かれてるって状況なのは理解できてんのか?
962 名前:デフォルトの名無しさん (JP 0Ha6-yC+1) mailto:sage [2017/06/21(水) 17:17:01.69 ID:v7daEmTSH.net] >>928 > クラスモジュールにメソッド記述できるの? もちろんできる > コンストラクタ機能する? もちろん機能するが、引数は受け取れない
963 名前:デフォルトの名無しさん (スプッッ Sd7a-KVjL) mailto:sage [2017/06/21(水) 19:44:11.93 ID:XUERnIj3d.net] >>928 Private Sub Class_Initialize() というメソッドがコンストラクタに相当するが引数を取れない。 各メンバを任意の値で初期化することがここではできない。 別なユーティリティー関数(createなんちゃら系)を用意するとかすればいいけど面倒だしかなり制約がある。
964 名前:デフォルトの名無しさん (ワッチョイ b78b-1MEk) [2017/06/21(水) 20:12:26.52 ID:Nm67/2LE0.net] >>929 ,930 お前ら変に態度がデカイな というか分不相応に背伸びしてるなw
965 名前:デフォルトの名無しさん (ワッチョイ 5323-sPwl) mailto:sage [2017/06/21(水) 20:19:33.82 ID:smv2bKPw0.net] >>932 棋譜君に言われたくないわw
966 名前:デフォルトの名無しさん (ワッチョイ b78b-1MEk) [2017/06/21(水) 20:37:08.53 ID:Nm67/2LE0.net] >>933 お前は素直に悔しさがにじみ出ててある意味好ましいなw せやけどワイは棋譜君ちゃうでwどこに目つけとんのやボケカスw
967 名前:デフォルトの名無しさん (ワッチョイ 87e4-IXCZ) mailto:sage [2017/06/21(水) 20:46:41.02 ID:2GAW1ejj0.net] >>931 >各メンバを任意の値で初期化することがここではできない。 詳しく
968 名前:デフォルトの名無しさん (ワッチョイ 5323-sPwl) mailto:sage [2017/06/21(水) 21:30:21.72 ID:smv2bKPw0.net] 棋譜君ブーメラン刺さり過ぎ少し自重しろw
969 名前:デフォルトの名無しさん (ワッチョイ ba11-rl9t) mailto:sage [2017/06/21(水) 21:31:18.60 ID:FfOd2t570.net] >>935 任意じゃなくて生成時に(任意の値を)指定できない って言いたかったんだと思う 固定でいいなら Class_Initialize() で設定すればいいだけ
970 名前:デフォルトの名無しさん (スプッッ Sd7a-KVjL) mailto:sage [2017/06/21(水) 21:46:01.44 ID:XUERnIj3d.net] >>935 Private Sub Class_Initialize(ByVal a As...) というふうに任意の引数を取れたなら、コンスタラクタ内で member_a = a とメンバを初期化できるけど、残念ながらそうはいかない。 Setterメソッドを作るとかProperty Setするとかでもいいんだけど、 最初にコンストラクタで設定した後はconsantにしたい、などといったありがちな要件の実装がたるい。
971 名前:デフォルトの名無しさん (スプッッ Sd7a-KVjL) mailto:sage [2017/06/21(水) 22:16:06.05 ID:XUERnIj3d.net] × consant ○ constant
972 名前:デフォルトの名無しさん (ワッチョイ 8b8f-2WTa) mailto:sage [2017/06/21(水) 23:09:43.88 ID:X7TxQ1fN0.net] 棋譜君か いいな称号もらえて
973 名前:デフォルトの名無しさん (ワッチョイ 5623-gMwg) mailto:sage [2017/06/21(水) 23:28:59.00 ID:4v2NPsWb0.net] >>925 多分出来ると思うけどさ、ハンゲってインストールしないとダメだろ。 正直、めんどくさい。 あと、どう記録するかがちょっと気になる。 自動で記録するとなると処理スピード的にどうなんだろという疑問も有るな。
974 名前:デフォルトの名無しさん (ワッチョイ 966d-AefZ) mailto:sage [2017/06/21(水) 23:32:30.69 ID:YCW+ax0F0.net] 竜王君とかでいいんじゃね
975 名前:デフォルトの名無しさん (ワッチョイ 3a6f-VLdI) mailto:sage [2017/06/21(水) 23:37:43.98 ID:s8ISniiy0.net] コンボボックスクリックのイベントで、2回動作するのは何で? 一応、実行フラグを作って、 1回毎にフラグ反転させれば回避できるけど、 2回動くのがデフォって、仕様としておかしくない? 何か重要な意味があったりする? 大事なことなので2回動きましたとか?
976 名前:デフォルトの名無しさん (ワッチョイ bf23-t/Wh) mailto:sage [2017/06/22(木) 01:51:38.27 ID:ZjBitWzo0.net] 昔、ステータスバーの文字列を取得するコード書いた時と同じようにすれば多分いける。 最初UIAutomationやWindowHandleで組んだんだけど取得出来ない。 どうやらBitblt系で描画してるだけみたいだったんでGDIplusで画像から取得した。 文字は数字だけで位置も決まってたからできたわけで、どんな場合でもといわれると大変だろうな。 オセロの場合は64マスのそれぞれの中心の1点の色を取得するだけで判断できそうだ。
977 名前:デフォルトの名無しさん (ワッチョイ bf23-q+YL) mailto:sage [2017/06/22(木) 04:54:14.84 ID:mLhBpt5P0.net] >>941 優秀なVBAの達人さん。 お待ちしております。 VBAのプロなんだからハンゲインストールくらい余裕だよな? VBA初心者の俺でもハンゲインストールはワンクリックで出来たよw
978 名前:デフォルトの名無しさん (ワッチョイ 9faa-ZLad) mailto:sage [2017/06/22(木) 06:17:32.89 ID:TFRkyanR0.net] 老害っぽいやつだ
979 名前:デフォルトの名無しさん (スッップ Sdbf-iOY8) mailto:sage [2017/06/22(木) 08:56:25.64 ID:S0Iit3hkd.net] 棋譜...か internet.watch.impress.co.jp/docs/special/fukui/644307.html
980 名前:デフォルトの名無しさん (ワッチョイ bf23-q+YL) mailto:sage [2017/06/22(木) 11:33:54.73 ID:mLhBpt5P0.net] オマエラがスレ荒らしてる間に俺は勉強して メッセージボックスにハローワールドを表示できるようになったわ このペースなら一ヶ月で棋譜取得も余裕だな
981 名前:デフォルトの名無しさん (オイコラミネオ MM4f-vKbm) mailto:sage [2017/06/22(木) 11:52:44.41 ID:hctlo4/EM.net] わかったから完成するまで戻ってくるなよ
982 名前:デフォルトの名無しさん (アークセー Sx0b-Lvcy) mailto:sage [2017/06/22(木) 12:19:13.83 ID:/tNwi6Pdx.net] >>948 逆に教えてやれよ
983 名前:デフォルトの名無しさん (オッペケ Sr0b-PFZU) [2017/06/22(木) 12:19:24.38 ID:GH5F8R2nr.net] やっぱり悔しいの?自分には出来ない話題になると?
984 名前:デフォルトの名無しさん (ワッチョイ b773-vKbm) mailto:sage [2017/06/22(木) 12:29:19.22 ID:9kjviait0.net] >>951 棋譜君がやっと自分でやる気になったんだから、そっとしておいてやれよ
985 名前:デフォルトの名無しさん (アークセー Sx0b-Lvcy) mailto:sage [2017/06/22(木) 12:32:59.06 ID:/tNwi6Pdx.net] >>951 できない自分に悔しさ感じないとか 変わったお人ですね
986 名前:デフォルトの名無しさん (スッップ Sdbf-iOY8) mailto:sage [2017/06/22(木) 12:37:38.83 ID:S0Iit3hkd.net] むしろ特定の目的をもってプログラミングを学ぼうとすることが羨ましい。 俺にそういうものはなかった。
987 名前:デフォルトの名無しさん (アウアウウー Sa9b-3vDw) [2017/06/22(木) 12:53:45.84 ID:eYzO7IsEa.net] 「vba初心者の棋譜くんがハンゲから棋譜を取得するスレ」でスレたてすれば勉強してて分からないとこを質問できるし良いアイデアももらえるかもしれないよ 棋譜くんがんばれ
988 名前:デフォルトの名無しさん (ワッチョイ bf23-+Ny0) mailto:sage [2017/06/22(木) 12:55:39.70 ID:ZjBitWzo0.net] >>945 そうじゃなくてインストールしたくないという話。 コードも面倒くさくなりそうだってのも含む。 >>948 多分、数年はかかるんじゃない? そんなレベルなら。 20年前の俺もExplorerみたいなの作りたいとか難易度も知らずに無謀なこと考えてたけど。
989 名前:デフォルトの名無しさん (アウアウエー Sadf-AGoN) mailto:sage [2017/06/22(木) 13:29:52.31 ID:2BtLx4BNa.net] なんでお前に教えるために興味のないアプリをインストールしなきゃならんのだ 前提がおかしいんだよな 俺が間違ってんのか?
990 名前:デフォルトの名無しさん (ワッチョイ bf23-q+YL) mailto:sage [2017/06/22(木) 13:29:58.85 ID:mLhBpt5P0.net] >>950 おう!俺は出し惜しみしないぜ >>955 うん、頑張るよ スレ立ても躓いたら検討するよ >>956 20年て。。。 プロ通り越して仙人やないかいw プログラミングの仙人でも難しいのか。 目標はそれくらいの方がええわw
991 名前:デフォルトの名無しさん (スッップ Sdbf-iOY8) mailto:sage [2017/06/22(木) 15:04:39.46 ID:S0Iit3hkd.net] 目標は高く持つけどVBAなのか。 止めはしないけど
992 名前:デフォルトの名無しさん (ワッチョイ bf23-q+YL) mailto:sage [2017/06/22(木) 16:05:33.54 ID:mLhBpt5P0.net] 手始めにVBAでアルゴリズムの基本を学んだ後に別の言語へ移ろうと考えてます。 情報量も多いし、敷居も低そうなので。。。 JavaScriptとどちらにしようか悩んだけどExcelが使えるのでより直ぐ形になると考えたんだけど 選択を間違えてるかな?
993 名前:デフォルトの名無しさん (JP 0H4f-LvKX) mailto:sage [2017/06/22(木) 16:20:13.94 ID:L6J8NTN5H.net] >>960 rubyにしとけ
994 名前:デフォルトの名無しさん (ワッチョイ bf23-q+YL) mailto:sage [2017/06/22(木) 16:26:38.28 ID:mLhBpt5P0.net] rubyを勧める理由ってなんですか? プログラミング入門に向いてるの?
995 名前:デフォルトの名無しさん (ワッチョイ 373d-NIhq) mailto:sage [2017/06/22(木) 16:31:17.18 ID:M1N7LhZL0.net] C言語が定石でしょ。
996 名前:デフォルトの名無しさん (JP 0H4f-LvKX) mailto:sage [2017/06/22(木) 17:33:47.29 ID:L6J8NTN5H.net] >>962 情報量が多いし、敷居も低そうだから paiza.hatenablog.com/entry/2015/02/12/%E5%88%9D%E5%BF%83%E8%80%85%E3%81%A7%E3%82%82%E3%81%BB%E3%81%BC%E7%84%A1%E6%96%99%E3%81%A7%E6%A5%BD%E3%81%97%E3%81%8FRuby%E3%82%92%E5%AD%A6%E3%81%B9%E3%82%8B%E3%82%B3%E3%83%B3%E3%83%86%E3%83%B3%E3%83%8411
997 名前:デフォルトの名無しさん (アウアウエー Sadf-AGoN) mailto:sage [2017/06/22(木) 17:48:14.89 ID:TQCcarKna.net] わざわざ他の言語が使える環境なのにVBAでやる必要性はたしかに無い 不親切だからな
998 名前:デフォルトの名無しさん (ワッチョイ b78b-IH/U) [2017/06/22(木) 19:41:10.91 ID:hFeKbvvW0.net] >>957 そもそもお前には他人にものを教えられる程の知識も技能もねえじゃんw 根本からお前が間違ってるわw
999 名前:デフォルトの名無しさん (ワッチョイ d7f2-8SzA) mailto:sage [2017/06/22(木) 20:31:25.01 ID:8ePuyD7a0.net] ホントそれ 質問に難癖つけてるだけにしか見えないよね >>878 > なぜならハンゲームの仕組みは専門外だから だったら専門のスレを紹介するなり、それが面倒なら最初から黙ってろ 結局、こんなことを要求しても > まずは棋譜がどのような仕組みで配布されているのか、いないのか > ダウンロード出来るのか出来ないのか > アプリはどんな形で配布されているものなのか > 質問するならそのぐらいは情報としてないとね 何のアドバイスもできず、さらに質問者を煽るしかできないなら 最初から要求するなってはなしだよね
1000 名前:デフォルトの名無しさん (ワッチョイ d723-vKbm) mailto:sage [2017/06/22(木) 20:56:38.34 ID:Esk8FhIo0.net] お前らまだやってたのか だから最初からスルーしろって言っただろw
1001 名前:デフォルトの名無しさん (ワッチョイ bf23-q+YL) mailto:sage [2017/06/22(木) 21:47:10.60 ID:mLhBpt5P0.net] >>964 rubyか! 和製ってのが面白そうだね。 候補に入れとくわ。
1002 名前:デフォルトの名無しさん (ワッチョイ 970d-q+YL) [2017/06/22(木) 22:11:50.57 ID:NSWmrM5K0.net] 勘違いしてるといけないから一応言っとくとVBAはなんでもできるわけじゃないぞMSオフィスで出来ることしか出来ない オフィス高いしどうしてもオフィスを使わないといけないという理由がなければRubyとかpythonやった方がいい
1003 名前:デフォルトの名無しさん (ワッチョイ bf23-q+YL) mailto:sage [2017/06/22(木) 22:24:57.50 ID:mLhBpt5P0.net] >MSオフィスで出来ることしか出来ない そうなのか。。。 棋譜取得とか無理なの? 人工知能にも興味あるのでPythonってよく聞く名前だなあ。 ありがとう。ちょっとググってみる。
1004 名前:デフォルトの名無しさん (ワッチョイ bf23-q+YL) mailto:sage [2017/06/22(木) 22:36:46.43 ID:mLhBpt5P0.net] 最終的にはマイコン制御、Androidアプリ、人工知能の開発をやりたいんだけど Rubyとpythonは向いてますか?
1005 名前:デフォルトの名無しさん (ワッチョイ b78b-PFZU) [2017/06/22(木) 22:43:25.90 ID:hFeKbvvW0.net] どれもエクセルで十分
1006 名前:デフォルトの名無しさん (ワッチョイ bf6d-eRVN) mailto:sage [2017/06/22(木) 22:45:06.66 ID:9Bs/appw0.net] >>972 色々やりたいならjava覚えておくといい。一番潰しが効く pythonもいい。アメリカでは児童の教育にはpythonが使われている。ただ色々と癖が強い Rubyは楽だけどなんだかんだで使えない器用貧乏
1007 名前:デフォルトの名無しさん (ワッチョイ 373d-NIhq) mailto:sage [2017/06/22(木) 22:49:11.54 ID:M1N7LhZL0.net] マイコン制御やるならマシン語から覚えるべきじゃないかな。
1008 名前:デフォルトの名無しさん (ワッチョイ bf23-q+YL) mailto:sage [2017/06/22(木) 23:04:57.74 ID:mLhBpt5P0.net] >>974 トンクス。 入門にpythonかRubyを選択して 行く行くはjabaって感じがいいのかな。。。 勉強します。
1009 名前:デフォルトの名無しさん (アウアウエー Sadf-AGoN) mailto:sage [2017/06/22(木) 23:42:17.05 ID:TQCcarKna.net] windowsAPIとかをExcelVBAの範疇に含むのかという微妙な線引き
1010 名前:デフォルトの名無しさん (ワッチョイ 9711-nLBY) mailto:sage [2017/06/23(金) 01:53:42.48 ID:PRZBxWUY0.net] 含みはしないだろどう考えても いろいろ作ってると必要になる場面があるのも事実だから どこまでこのスレで受け付けるのかとなると微妙な線引きだけれどさ
1011 名前:デフォルトの名無しさん (ワッチョイ 373d-NIhq) mailto:sage [2017/06/23(金) 04:09:20.38 ID:xFxOWaa40.net] 基本的に参照設定の要らない範囲だけに絞ってしまえばいいのでは。 機能を名指して来た場合は個別に答えるものとすれば、質問スレとしては用が足りる気がするけど。
1012 名前:デフォルトの名無しさん (ワッチョイ bf23-+Ny0) mailto:sage [2017/06/23(金) 10:37:14.35 ID:cw0tcleu0.net] >>971 無理じゃないけど何故?ってのがある。 >>977 >>978 >>979 他の言語だってライブラリ込みだろ。
1013 名前:デフォルトの名無しさん (JP 0H7f-v4C/) mailto:sage [2017/06/23(金) 11:33:03.90 ID:MetN1w+0H.net] jabaという言語が有るのか 不勉強でしらなかった
1014 名前:デフォルトの名無しさん (スッップ Sdbf-iOY8) mailto:sage [2017/06/23(金) 11:38:48.48 ID:wPBxbG6Pd.net] 自分が無理なく使えるのものは何でも使えばいいさ
1015 名前:デフォルトの名無しさん (アウアウカー Sa6b-6Y1q) mailto:sage [2017/06/23(金) 21:24:53.71 ID:GsZt4akIa.net] 風呂洗うやつか
1016 名前:デフォルトの名無しさん (ワッチョイ 9f6f-q+YL) mailto:sage [2017/06/23(金) 23:08:49.98 ID:ht4/Fnqg0.net] エクセル2019あたりで、セルにレイヤーが付いてくれるといいなぁ。 今のままじゃ、BGが1枚しか使えないファミコンみたいだ。
1017 名前:デフォルトの名無しさん (ワッチョイ 1f32-Acq/) mailto:hage [2017/06/23(金) 23:28:54.63 ID:VjW8l0810.net] >>981 無能 >>983 有能
1018 名前:デフォルトの名無しさん (ワッチョイ 379b-Lbv0) mailto:sage [2017/06/24(土) 05:18:31.04 ID:W4HWrwdy0.net] シェイプのコントロールはどこのスレですか?ここで良いですか? >>984 シェイプの半透明化とかシェイプの長方形をセルにピッタリフィットで 並べて重ねまくることは出来ないんですか?
1019 名前:デフォルトの名無しさん (ワッチョイ 9f91-ANCk) [2017/06/24(土) 06:08:35.69 ID:BWeLxVdN0.net] >>984 セルにレイヤーをつけてどう使う? 表計算ソフトなんだけど
1020 名前:デフォルトの名無しさん (ワッチョイ 379b-Lbv0) mailto:sage [2017/06/24(土) 06:58:38.65 ID:W4HWrwdy0.net] 人工知能関連の話で、HTM理論のセルエンジンを時間レイヤーでってイメージ https://qiita-image-store.s3.amazonaws.com/0/43487/562d0d06-3012-2a8f-798a-3b10c300c035.png
1021 名前:デフォルトの名無しさん (ワッチョイ 9f91-ANCk) [2017/06/24(土) 09:28:59.82 ID:BWeLxVdN0.net] >>988 別に一つのシートでレイヤーにする必要は無い
1022 名前:デフォルトの名無しさん (ワッチョイ bf23-+Ny0) mailto:sage [2017/06/24(土) 13:28:51.98 ID:evqv3EbU0.net] 既に複数シートあるんだからそれをレイヤーに見立てればいいんじゃね?
1023 名前:デフォルトの名無しさん (ワッチョイ 379b-Lbv0) mailto:sage [2017/06/24(土) 13:44:24.64 ID:W4HWrwdy0.net] >>989 そうですね。巨大なマップにすりゃ良いのか。。。 アニメやゲームみたいに数千枚のシート作って追加削除を秒以下で更新出来るのかなと思って。
1024 名前:デフォルトの名無しさん (ササクッテロロ Sp0b-ANCk) [2017/06/24(土) 13:46:22.84 ID:dUf5y4w4p.net] >>991 そんな要件があるならExcel vbaを使わないのが正解じゃね?
1025 名前:991 (ワッチョイ 379b-Lbv0) mailto:sage [2017/06/24(土) 14:15:50.13 ID:W4HWrwdy0.net] >>992 おっしゃる通りです。データベースとのやり取りやCSVファイル保存とか、 GUIを一から書かずにセルの挙動を見える化したかっただけの興味本位です。
1026 名前:デフォルトの名無しさん (ワッチョイ 9f6f-q+YL) mailto:sage [2017/06/24(土) 14:16:14.32 ID:6gmpnk4q0.net] >>987 2重スクロール。 じゃなくて、普通にサブウインドウ。 リストビューだと、制限多すぎだし。
1027 名前:デフォルトの名無しさん (ワッチョイ ff6f-q+YL) mailto:sage [2017/06/24(土) 19:52:26.24 ID:pyzyezad0.net] うめ
1028 名前:デフォルトの名無しさん (ワッチョイ ff6f-q+YL) mailto:sage [2017/06/25(日) 05:22:06.80 ID:R1qEXwQR0.net] うめ
1029 名前:デフォルトの名無しさん (ワッチョイ 5746-WstA) mailto:sage [2017/06/25(日) 16:54:13.63 ID:A4A49pvi0.net] 梅ついでに >>984 ここ辺りで提案してみるとか 賛同が多いと一応は検討はしてくれるみたいよ https://excel.uservoice.com/
1030 名前:デフォルトの名無しさん (ワッチョイ f76f-q+YL) mailto:sage [2017/06/25(日) 19:48:34.89 ID:hkv0kvNA0.net] うめ
1031 名前:デフォルトの名無しさん (ワッチョイ 372e-8SzA) mailto:sage [2017/06/26(月) 02:16:04.74 ID:T3ylemnb0.net] 次スレだよ Excel VBA 質問スレ Part49 mevius.2ch.net/test/read.cgi/tech/1498410914/
1032 名前:デフォルトの名無しさん (アークセー Sx0b-Lvcy) mailto:sage [2017/06/26(月) 02:41:27.66 ID:PYNS3+mjx.net] 誕生日だよ 僕の
1033 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。 life time: 40日 18時間 16分 42秒
1034 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています