■ このスレッドは過去ログ倉庫に格納されています
Excel VBA 質問スレ Part42
- 1 :デフォルトの名無しさん:2016/06/26(日) 02:35:43.31 ID:bX5XM7mI.net
- ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part41©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1461697906/
※関連スレ
VBAなんでも質問スレ Part2
http://echo.2ch.net/test/read.cgi/tech/1432173164/
Access VBA 質問スレ Part1
http://echo.2ch.net/test/read.cgi/tech/1328536426/
Excel総合相談所 122
http://echo.2ch.net/test/read.cgi/bsoft/1461287268/
- 2 :デフォルトの名無しさん:2016/06/26(日) 17:25:47.25 ID:SfsrMLBW.net
- マクロ付きのエクセルファイルを動かしたいのですが、
”マクロを実行できません。このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。”
というエラーメッセージが出てきます。
エクセルのオプション画面で、セキュリティセンターでマクロの設定を見ると、マクロ有効の設定になっています。
原因がさっぱりわかりません。詳しい人いましたら、教えてください。
- 3 :デフォルトの名無しさん:2016/06/26(日) 19:16:49.04 ID:mqI2QKIH.net
- エクセルのマクロがすべて動かなくなりました。「オートメーションエラー例外が発生しました」と言うメッセージが全てで出てきます。
pcの容量なのか、WindowsUpdateの問題なのかわかりません。同様の症状が出ている方はいませんか。また、解消の方法がわかる方がいらっしゃれば教えてください。
- 4 :デフォルトの名無しさん:2016/06/26(日) 19:34:43.07 ID:abwRoDQE.net
- どっちも読み取り専用になってんじゃないの?
- 5 :デフォルトの名無しさん:2016/06/26(日) 20:42:17.49 ID:bX5XM7mI.net
- >>2
マクロファイルが壊れたか、メモリに収めてるものが壊れたんじゃないかな。
ブレークポイントで止めてどこで落ちるか確認しようとすると
そのまま落ちずに実行されて二度とそんなメッセージも出なくなるケースもあるって
以前どこかで読んだような記憶がある。
- 6 :デフォルトの名無しさん:2016/06/26(日) 22:05:52.82 ID:wrV5aHGV.net
- なんかググったらアドインの分析ツールのチェックがついていたのを外したら動いたってのを見たぞ。
- 7 :デフォルトの名無しさん:2016/06/26(日) 22:09:29.55 ID:GUa3g0fP.net
- >>6
KWSK教えてください。
- 8 :デフォルトの名無しさん:2016/06/26(日) 22:53:11.91 ID:GUa3g0fP.net
- >>999
もともとマクロの入っているエクセルファイルです。
- 9 :デフォルトの名無しさん:2016/06/26(日) 22:53:48.03 ID:x0eF/DGC.net
- マルチはスルーでいいよもう
- 10 :デフォルトの名無しさん:2016/06/26(日) 22:56:06.43 ID:Y4p6Hgz2.net
- マチルダったのか
- 11 :デフォルトの名無しさん:2016/06/26(日) 23:06:46.02 ID:GUa3g0fP.net
- >2です。
藁にもすがる思いでおたずねしています。
スルーせずに教えてください。
- 12 :デフォルトの名無しさん:2016/06/26(日) 23:57:52.04 ID:uc+/xKju.net
- >>8
ボタンからの実行?
マクロ名とか間違ってるんじゃない
VBA以前の問題だな
- 13 :デフォルトの名無しさん:2016/06/26(日) 23:59:22.63 ID:Y4p6Hgz2.net
- 単純にわからないんじゃないだろうか
- 14 :デフォルトの名無しさん:2016/06/27(月) 00:02:35.50 ID:eKq+X1Sf.net
- >>12
ボタンから実行を試みると、
”マクロを実行できません。このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。”
というエラーメッセージが出てきます。
- 15 :デフォルトの名無しさん:2016/06/27(月) 00:04:17.39 ID:qbYpTG1Q.net
- Excelファイル自体をコピー防止する良い方法はありますか?
https://groups.google.com/forum/m/#!topic/microsoft.public.jp.excel/wjpT-d7G4zs
- 16 :デフォルトの名無しさん:2016/06/27(月) 00:11:16.55 ID:bq2sokxu.net
- >>15
それは邪悪なことで、なんでそんなことをするんだ!?
という素朴な疑問を解消してからじゃないと回答はつかないんじゃないだろうか?
- 17 :デフォルトの名無しさん:2016/06/27(月) 00:13:22.34 ID:O45ngdTG.net
- >>15
ない
開けないようにするなら暗号化
- 18 :デフォルトの名無しさん:2016/06/27(月) 00:14:25.15 ID:O45ngdTG.net
- >>14
ファイルアップロードして
- 19 :デフォルトの名無しさん:2016/06/27(月) 00:32:28.45 ID:eKq+X1Sf.net
- 残念ながらアップロードは無理です。
- 20 :デフォルトの名無しさん:2016/06/27(月) 00:39:51.09 ID:5wgNRJgB.net
- VBAが分からない初心者だな
スレ違いだわ
- 21 :デフォルトの名無しさん:2016/06/27(月) 00:42:07.48 ID:eKq+X1Sf.net
- >>20
初心者です。アップロードの仕方ってあるんですか?
- 22 :デフォルトの名無しさん:2016/06/27(月) 00:43:56.11 ID:pYeY087O.net
- 初心者なら いっその事
MSのアンサーディスクへ相談してみたら?
俺一度お世話になったけど リモート接続して色々確認してくれた
(マウス動かしてないのに ぐりぐり マウスカーソル動いて おもろかったww)
もし
アンサーディスクで解決しない問題ならここでも無理じゃないかな?
- 23 :デフォルトの名無しさん:2016/06/27(月) 00:49:59.91 ID:eKq+X1Sf.net
- 他のスレで、MSのアンサーディスクのWEB教えてもらいましたが、
どうやらマイクロソフトが作ったものではないエクセルファイルのトラブル
シューティングはやってくれなさそうです。
- 24 :デフォルトの名無しさん:2016/06/27(月) 00:51:40.44 ID:O45ngdTG.net
- >>21
http://www.dotup.org/
- 25 :デフォルトの名無しさん:2016/06/27(月) 00:53:48.76 ID:pYeY087O.net
- >>23
え・・・マルチなの 回答して損した
- 26 :デフォルトの名無しさん:2016/06/27(月) 01:04:28.56 ID:eKq+X1Sf.net
- >>25
MSのアンサーディスクなんて誰でも気づくこと。
あなた自身は何の回答もしていない。まあ、回答できないのでしょうが(苦笑)
“Shame on you!”
- 27 :デフォルトの名無しさん:2016/06/27(月) 01:07:15.48 ID:pYeY087O.net
- つか他のスレで聞いてるならそっちでやれば?
- 28 :デフォルトの名無しさん:2016/06/27(月) 01:08:39.38 ID:eKq+X1Sf.net
- 大上段に構えて、「質問スレ」とは笑止千万。
”Excel VBA についてお話しするスレ”くらいにトーンダウンしたらどうだろうか?
- 29 :デフォルトの名無しさん:2016/06/27(月) 01:09:22.10 ID:ZdQF56NQ.net
- >>25出来ない、遣らない、詳細伝え無い
挙げ句の果てには、罵倒しやがる
最低な野郎だから相手すんなよ
俺も回答して損したわ
- 30 :デフォルトの名無しさん:2016/06/27(月) 01:09:30.17 ID:nixI/AJ7.net
- http://echo.2ch.net/test/read.cgi/bsoft/1461287268/920-
- 31 :デフォルトの名無しさん:2016/06/27(月) 01:12:03.31 ID:pYeY087O.net
- >>28
ここID出るスレだって 分ってる?
俺を罵倒するのは分るけど
スレ自体を否定して まともな回答あると思う? www
- 32 :デフォルトの名無しさん:2016/06/27(月) 01:13:23.02 ID:ZdQF56NQ.net
- >>31だから、相手すんなよ。荒らされるで?
- 33 :デフォルトの名無しさん:2016/06/27(月) 01:16:20.60 ID:XROdUlq7.net
- あいつ結構痛いところついてくるよな
確かに俺たち全然回答できてないし
あいつの言ってることまともだし
あいつの言う通りに「Excel VBAを語らうスレ」
くらいに次からタイトル変更しようぜ!!
- 34 :デフォルトの名無しさん:2016/06/27(月) 01:19:41.26 ID:eKq+X1Sf.net
- 私はスレを荒らすつもりはありませんし、ただ困っていたので質問しただけです。
その質問に皆さんは回答できなかった。ただそれだけの話ではありませんか?
- 35 :デフォルトの名無しさん:2016/06/27(月) 01:20:56.75 ID:O45ngdTG.net
- そうですね。では終わり。
- 36 :デフォルトの名無しさん:2016/06/27(月) 01:24:45.44 ID:XROdUlq7.net
- はい、終わり。
あ〜あ〜、時間の無駄だった。尋ねる相手を間違ってました(笑)
- 37 :デフォルトの名無しさん:2016/06/27(月) 01:29:28.28 ID:eKq+X1Sf.net
- >>36
(;゚Д゚) (゚Д゚;) (;つД⊂)ゴシゴシ (゚Д゚)え?
- 38 :デフォルトの名無しさん:2016/06/27(月) 01:31:19.85 ID:ZdQF56NQ.net
- 次は何処にマルチするのか生暖かく見守るとしよう
>>37だから、相手すんなってばよ(笑
- 39 :デフォルトの名無しさん:2016/06/27(月) 07:09:35.26 ID:YpgsN8rw.net
- お前らマルチマルチ言ってるけど
確かに前スレの最後に同じ質問してたのは確認してるけど、あれってマルチになるのか?
いや、他の所で質問してるのを確認しているならごめん。
- 40 :デフォルトの名無しさん:2016/06/27(月) 07:56:05.21 ID:eVal8QZj.net
- もう自演はいいよ
- 41 :デフォルトの名無しさん:2016/06/27(月) 10:36:29.97 ID:kq+o2efK.net
- >>34
困ってると言われてもさあ、ファイルのコピーを禁止するなんて不適切な行為を
なんのためにやろうとしてるのか、そこんところを答える気は無いわけ?
- 42 :デフォルトの名無しさん:2016/06/27(月) 11:34:13.50 ID:O45ngdTG.net
- >>41
もう相手しないほうがいいぞ
- 43 :デフォルトの名無しさん:2016/06/27(月) 12:18:34.57 ID:gRSd4Q94.net
- 答えられずに逆ギレwww
お前らそればっかやなあw
- 44 :デフォルトの名無しさん:2016/06/27(月) 12:30:33.30 ID:D/SQb6UX.net
- >>40
自演にされちゃったよ(´・ω・`)
- 45 :デフォルトの名無しさん:2016/06/27(月) 13:15:48.36 ID:9jIdvknM.net
- >>3
Alt+f8で出てくる実行画面からの実行でエラーがでるなら
解決策は知らないけど
ボタンを作成してボタンから実行orアドインの分析ツールのチェック外す
自分の環境では動いたよ
- 46 :デフォルトの名無しさん:2016/06/27(月) 15:14:26.70 ID:KV2l03K8.net
- >>45其の回答既に出てて、それでも駄目なんだとか言ってたけど?
- 47 :デフォルトの名無しさん:2016/06/27(月) 15:42:10.72 ID:9jIdvknM.net
- >>46
そか、ダメだったなら自分とは違う原因なのかな
このエラー手持ちのPC二台で出てるから結構な人が発症しているのかと思ってたけど
レス数からするとあんま居ないのかな?
- 48 :デフォルトの名無しさん:2016/06/27(月) 16:47:59.52 ID:s5R646x2.net
- 昔、WindowsUpdateでエラー出るようになるってのがあったな
テンポラリフォルダにある何かのファイル消したら直ったはず
- 49 :デフォルトの名無しさん:2016/06/27(月) 18:01:36.84 ID:kq+o2efK.net
- しかしFast Food をファーストフードと書くのはありだが、Answer Desk をアンサーディスクと書くのはどうかと思うぞ
- 50 :デフォルトの名無しさん:2016/06/27(月) 18:28:58.72 ID:lPcjcxKZ.net
- >>48
そんなのあったな
あの時期のmsはヤバかった記憶あるわ
アップデートしたら立ち上がらなくなるパッチファイルとか配信してたもんな
- 51 :デフォルトの名無しさん:2016/06/27(月) 22:01:57.62 ID:QoF6rap7.net
- 前スレの947です。
返答が遅れてすみません!
950さん
>空セルに見えて 実は 半角/全角のスペースが入ってるとかない?
…一発目で大当たりです汗
これくらい気づけよ!って感じですが、リストボックスの列があるんですがリストボックスのリスト内に空白があって、
こいつが空白を作ってましたよ…
951さん
フラグの初期化、Ifの外に出しました。確かにこうすべきですね。
953さん
確かに!ループが一回減りますし。こちらも組み込みました。
955さん
これも確かにです!対応しました!
956さん
ありがとうございます。こういう作法を一つ一つ覚えていかなきゃ…って感じでs。
ちょっと別PCで組んでたので、ソース持ってくるの忘れましたが
値を全部取り出し&で結合して、そいつをTrimして""かどうかを判定する、という方法に変更しました。
しっかり動きました。皆様ありがとうございます。また質問させていただきます!
- 52 :デフォルトの名無しさん:2016/06/28(火) 00:10:17.85 ID:yNjQD7xp.net
- 質問です。
マクロを走らせると突然”応答なし”というエラーメッセージが
出て一向に前に進んでくれません。
EXCELVBAに詳しいかたおられましたら対処法を回答願います。
- 53 :デフォルトの名無しさん:2016/06/28(火) 00:17:57.76 ID:A9gUPMQl.net
- >>52
まぁ「応答なし」なんだから応答させればいいんじゃね?
- 54 :デフォルトの名無しさん:2016/06/28(火) 00:32:21.53 ID:Qf+gMofI.net
- do loopでカウンタのインクリメントし忘れ
- 55 :デフォルトの名無しさん:2016/06/28(火) 03:34:49.56 ID:qIMpcNoP.net
- まあ、あれだ
DoEvents入れたら解決するんじゃね
- 56 :デフォルトの名無しさん:2016/06/28(火) 06:20:07.18 ID:+VmNtWly.net
- >>52
Application.ScreenUpdating
と
DoEvents
を調べて組み込んでみ
- 57 :デフォルトの名無しさん:2016/06/28(火) 08:18:03.27 ID:YVMoIJVb.net
- >>52
マルチ
- 58 :デフォルトの名無しさん:2016/06/28(火) 22:00:29.60 ID:vwfIQJQY.net
- テンプレでマルチ禁止しとけば?
- 59 :k:2016/06/28(火) 22:16:53.74 ID:YsbJZi6Y.net
- 勤務表を作っています。
会社の休みが変則のため、
その変則休みの部分に色を付けたいです。
アクティブシートは、A列に1〜31の数字が入力されています。
休日シートのA列は1〜31の数字が入力されています。
休日シートのB列に何らかの文字を入れて、休みを指定しています。
アクティブシートA列の1〜31を順番に、休日シートのA列から探し、
見つかったセルの右隣が空欄でなければ、
アクティブシートの1〜31のセルの行の色を塗る、ということをしたいです。
実際に動かすと、1だけ色がつかず、10を休みに指定すると1も色がついてしまいます。
どこを直したら良いでしょうか?
- 60 :k:2016/06/28(火) 22:17:15.33 ID:YsbJZi6Y.net
- コード貼ります
Sub test()
Dim i As Long, n As Long, dayoff As Object
n = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Cells.Interior.ColorIndex = 0
For i = 9 To n
Set dayoff = Worksheets("休日").Range("A:A").Find(what:=Cells(i, 1))
If Not dayoff Is Nothing Then
If dayoff.Offset(0, 1).Value <> "" Then
Cells(i, 1).Resize(1, 14).Interior.Color = RGB(192, 192, 192)
End If
End If
Next
End Sub
- 61 :デフォルトの名無しさん:2016/06/28(火) 22:24:08.26 ID:YVMoIJVb.net
- >>59
条件付き書式のほうが良くない?
http://www.dotup.org/uploda/www.dotup.org922256.xlsx.html
- 62 :デフォルトの名無しさん:2016/06/28(火) 22:24:38.30 ID:YVMoIJVb.net
- あぁごめん失敗した
- 63 :デフォルトの名無しさん:2016/06/28(火) 22:31:53.33 ID:uo6nK2Mq.net
- > 1だけ色がつかず、
そもそもiが9から始まってる
> 10を休みに指定すると1も色がついてしまいます。
"1"を検索して"10"が引っかかるのは当然
LookAt引数指定しろ
VBA使うよりVLOOKUPとか使って条件付き書式使った方が早そう
- 64 :デフォルトの名無しさん:2016/06/28(火) 22:36:13.90 ID:YVMoIJVb.net
- >>59
そもそも、この作業は条件付き書式でやるべき。
で、コードも酷い。
こんなシートとして
http://www.dotup.org/uploda/www.dotup.org922273.png
これだけでいい
Sub test()
n = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Cells.Interior.ColorIndex = 0
For i = 1 To n
If Worksheets("休日").Cells(i, 2) <> "" Then
Range("a" & i & ":n" & i).Interior.Color = RGB(192, 192, 192)
End If
Next
End Sub
- 65 :デフォルトの名無しさん:2016/06/28(火) 22:40:34.87 ID:GoYWLHwq.net
- しっかし Speech API 便利だな!
CreateObject("SAPI.SpVoice")
するだけでテキスト読み上げが簡単に使えるw
- 66 :k:2016/06/28(火) 22:41:11.92 ID:YsbJZi6Y.net
- シートはこんな感じです
http://i.imgur.com/wRpVpUk.jpg
http://i.imgur.com/WONwTA4.jpg
- 67 :デフォルトの名無しさん:2016/06/28(火) 22:41:21.34 ID:YVMoIJVb.net
- >>65
エクセルで喋らせることってそんなにあるん?
- 68 :デフォルトの名無しさん:2016/06/28(火) 22:42:34.94 ID:YVMoIJVb.net
- >>66
じゃあこんな感じ
Sub test()
n = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Cells.Interior.ColorIndex = 0
For i = 1 To n
If Worksheets("休日").Cells(i, 2) <> "" Then
Range("a" & i+8 & ":n" & i+8).Interior.Color = RGB(192, 192, 192)
End If
Next
End Sub
- 69 :k:2016/06/28(火) 22:43:18.36 ID:YsbJZi6Y.net
- >>63
9から始まってるiは、表があるシートの、
1があるのが9行目なので9から始まってます
LookAt!そうでした…
修正してみます
- 70 :k:2016/06/28(火) 22:44:00.00 ID:YsbJZi6Y.net
- >>68
ありがとうございます!
試してみます。
条件付き書式勉強します。
- 71 :デフォルトの名無しさん:2016/06/28(火) 22:44:12.94 ID:pqDnfoPc.net
- VBA初心者です
sheet1で作成した表の文字を抽出してsheet2の一部に書き出して印刷するというのをsheet1の表の一行目から繰り返すコードを教えてください
sheet1
名前 県名 金額
田中 東京 1,000円
佐藤 大阪 2,000円
以下略
↓
sheet2
[田中]様 [東京]出身
金額は[1,000円]になります
↓
印刷
↓
sheet2
[佐藤]様 [大阪]出身
金額は[2,000円]になります
↓
印刷
↓
以下略
みたいなイメージです
- 72 :デフォルトの名無しさん:2016/06/28(火) 22:52:11.46 ID:Taly5KtN.net
- エクセルからワードに差し込み印刷すれば?
- 73 :デフォルトの名無しさん:2016/06/28(火) 23:42:31.53 ID:eHCWWoFL.net
- replaceが、たまに盛大に誤爆するんだけど、
同じ現象が起きた人いる?
Sheet1で実行してるのに、
2とか3に飛び火するの。
For eachでシートを巡回したり、
Do eventsで割り込んだりはしていない。
- 74 :デフォルトの名無しさん:2016/06/28(火) 23:46:08.58 ID:YVMoIJVb.net
- >>73
無い
acthivsheetがずれてるとかそんなんでは
- 75 :デフォルトの名無しさん:2016/06/28(火) 23:52:47.60 ID:VVOBsC/w.net
- Replace 関数
WorksheetFunction.Replace メソッド
Range.Replace メソッド
どのReplace だろう・・・
- 76 :デフォルトの名無しさん:2016/06/29(水) 00:12:52.99 ID:4tCylVnh.net
- >>73
Sheet1と2で書き換わる場所が同じなら、
その可能性もあるんだけど、
Range("A1:A100")って指定してるのに、
他シートに誤爆する時は、Range("A1:G20")とか、
全然関係ない所を書き換えちゃうの。
>>75
Range.replace
- 77 :デフォルトの名無しさん:2016/06/29(水) 00:14:05.88 ID:4tCylVnh.net
- ↑すいません。
>>74でした。
- 78 :デフォルトの名無しさん:2016/06/29(水) 00:17:45.42 ID:eYIXcV9j.net
- >>76
んじゃselectionを使っていてそれを間違えてるかその辺。なんにしろ見てみないとわからない
バグではないと思う。何かコードがおかしい気がする
あんまり関係ないけどrange()はrange(cells(y,x),cells(yy,xx))みたいにcells()で指定したほうが扱いやすいよ
- 79 :デフォルトの名無しさん:2016/06/29(水) 00:22:08.66 ID:s6QK1Tqr.net
- まぁ、誤爆はないでしょ。
前後の処理でシートの指定を引きずってるとかないの?
- 80 :デフォルトの名無しさん:2016/06/29(水) 02:44:46.72 ID:fEawViXQ.net
- ちゃんとした環境もコードも晒さないような人の話は信用できん
- 81 :デフォルトの名無しさん:2016/06/29(水) 07:45:57.05 ID:tDtN45k1.net
- >>76
Selectionを使用しているならThisworkbook.Sheetsを使った直接指定に。
RangeをObjectとして持ち回っているならトレースでどこかで範囲が変わっていないかをまず確認した方がいいね。
直接指定しててそうなるなら他の所で変な処理が走っていないか確認した方がいい。
- 82 :デフォルトの名無しさん:2016/06/29(水) 13:02:20.79 ID:3S9a7QAX.net
- With でシート名を指定したのに、その中でドットを付け忘れてアクティブなシートで処理しててはて???って悩んだことがあったわ。w
エディタに該当部分コピーしてよっく見たらおぉっとなったけどw
- 83 :デフォルトの名無しさん:2016/06/29(水) 18:14:22.55 ID:a2EjMaiS.net
- For文の中にPrintoutを入れて自動連続印刷にしているんですけど
印刷プレビュー表示→連続印刷っていう風には出来ますか?
- 84 :デフォルトの名無しさん:2016/06/29(水) 19:03:11.42 ID:eYIXcV9j.net
- >>83
連続印刷でぐぐったら出てきた
http://homepage2.nifty.com/yokosuka/Application/VBA/vba2.htm
個人的には
・forで印刷プレビューだけ確認。もちろん途中で終了できるようにする
・forで印刷
と処理を分けたほうが良いと思うけど
- 85 :デフォルトの名無しさん:2016/06/29(水) 19:22:48.23 ID:Lw5Czke2.net
- 個人的には
連続でPDFに出力して
PDF結合するソフトで出力したPDFを結合して
PDF閲覧ソフトでプレビューして問題なければ印刷
がいいと思う
どうせexcelの印刷プレビューじゃ文字の見切れとか確認できないし一度PDFにした方が確実だしプレビューもしやすい
- 86 :デフォルトの名無しさん:2016/06/29(水) 19:59:35.11 ID:a2EjMaiS.net
- >>84
For文の中にPrintPreviewとPrintoutを入れちゃうと処理の度にプレビューが表示されてそのまま印刷しちゃうとPrintPreviewとPrintoutの印刷が出て…って感じなんですよね
とりあえずFor文の前に1回目の処理とPrintPreviewを書いてFor文の中に2回目からの処理とPrintoutを書くってやり方にしたんだけど
綺麗なコードじゃないなぁと思ってここで質問してみました
>>85
効率化させるためにマクロ組んでるだけなんでそのやり方はやめときますm(_ _)m
- 87 :デフォルトの名無しさん:2016/06/29(水) 20:30:20.68 ID:CsRUguyd.net
- 連続印刷なら
一旦シートに一覧作って
そこから一括出力するようにすると
使い勝手がいい
更新日付と時間も一覧に並べて置けば
何を出力したかも残って便利
- 88 :デフォルトの名無しさん:2016/06/29(水) 20:35:44.66 ID:e2caFJgf.net
- 1回目と2回目以降で処理が違うならその方法が正しいでしょ
ループの中で1回目か2回目以降を判定してPrintPreviewかPrintOutかに処理を分けるのでもいいけど
iがカウンタだとして
PrintOut(previwe:=(i=1))とかすれば少しスマートかもしれない
- 89 :デフォルトの名無しさん:2016/06/29(水) 22:30:12.13 ID:5Wgb8/sh.net
- 質問です
会社に従業員が100名います
現在ブック内に100(従業員ごとの)シートを作り、印刷するときはシートを探し出して行っています。
この100あるシートは単にA1とB1セルに個人名が入力されているだけで他は全く同じです。
1日に何回も印刷する機会があり100あるシートから個人を探すのも大変です
そこでシート1に個人名を羅列し、それを選択するだけで原本のA1とB1に選択した個人名が自動記入できるようにできればかなり短縮出来そうです。
知恵をお貸し下さい
- 90 :デフォルトの名無しさん:2016/06/29(水) 22:41:11.52 ID:5Wgb8/sh.net
- >>89
追記
ブック内が重たいのでハイパーリンクを使って飛ぶのではなく個人名が入ってるシート1と原本のシート2のみにしたいです
宜しくお願いします
- 91 :デフォルトの名無しさん:2016/06/29(水) 23:38:41.90 ID:GaJpr6Ae.net
- それシート1にリスト作ってVLOOKUPとかじゃダメなの?
- 92 :デフォルトの名無しさん:2016/06/29(水) 23:46:32.75 ID:lv/1JNiY.net
- ハイパーリンクを使いたくないって意図がよくわからんが
セレクトしてるセルが変わったら動くイベントを使ってマクロを組めばいい
セルが変わっらセル内の文字列を拾ってシートを表示してセレクトする
シート1以外は元々非表示にしといて
シート1のセル選択でのみ表示する
表示したシートからフォーカスが外れたら
シート1以外を非表示にする
これはセレクトしてるシートが変わったら動くイベントを使う
- 93 :デフォルトの名無しさん:2016/06/29(水) 23:49:34.21 ID:eYIXcV9j.net
- >>91でいいと思う。
マクロ使うと逆にしんどくなるだろう
- 94 :デフォルトの名無しさん:2016/06/30(木) 00:53:15.29 ID:gVFgOq4s.net
- 質問です!
windows7
excel2010
数値が文字列で入力されたデータが1列100行あります。
1000
100
29
302
・
・
この100行のデータを”文字列を数値に変換せずに”100以下の行のみをフィルターで絞ることはできませんでしょうか?
自分で調べながらソースを書いてみたのですが、
'Range("A1").AutoFilter field:=1, Criteria1:="<= 100"
やはり最後のCriteria1の部分がうまくいきません。
文字列を数値に変換せずに、という理由は、そのデータをまた別の作業で使うからです。
文字列のままの方が便宜上助かるのです。
よろしくお願いいたします!
- 95 :デフォルトの名無しさん:2016/06/30(木) 02:23:54.27 ID:G0SvbOL7.net
- 数字の29は数字の100より小さいけど
文字列の"29"は文字列の"100"より大きいのが文字列のルール
文字列のまま扱うっていうのはそう言う事だけど良いのか?
- 96 :デフォルトの名無しさん:2016/06/30(木) 05:40:15.64 ID:sqsWJL50.net
- >>94
別の列に数値にした値を作ってそれでフィルタしたら?
- 97 :デフォルトの名無しさん:2016/06/30(木) 08:09:18.42 ID:NV9SAKW0.net
- >>89
その100あるシートのフォーマットはシートごとに違うの?
- 98 :デフォルトの名無しさん:2016/06/30(木) 08:37:50.93 ID:nog85R/v.net
- 数値に変換してもまた文字列に戻せるけどな
エクセルのヘルプで文字列(数値)操作関数のリストが見られるから、 印刷しとくと良いよ。
http://i.imgur.com/YUWXGBJ.jpg?1
- 99 :デフォルトの名無しさん:2016/06/30(木) 09:03:14.45 ID:/6y2Ijm2.net
- >>98
この場合どうする?
0010
これ数値化すると元の状態には戻らんぞ
(最初の0がいくつあったかの情報が失われてるから)
- 100 :デフォルトの名無しさん:2016/06/30(木) 09:41:33.34 ID:iW6PAU4H.net
- >>91
>>93 レスありがとうございます
個人名に紐付いた別の情報(例えば電話番号とか)を探し出したいのではなくリストに記載した個人名を複数の指定セルに自動記入したいのです
リストにある名前を手動コピペだと貼り付け漏れのセルがあると困ります
>>92
ブックがかなり思いのでシート自体少なくしたいと思ってます
>>97
全く一緒なんです
定期的にセル挿入しないといけないんですが手作業ですべて改定してまして大変なんです
- 101 :デフォルトの名無しさん:2016/06/30(木) 09:54:24.43 ID:JMC+srqw.net
- >>99
>>94の例示を良く見て
- 102 :デフォルトの名無しさん:2016/06/30(木) 09:58:47.39 ID:nog85R/v.net
- >>99
それはないと判断した
あるのなら落としてはいけない情報だから例示するはず
それに100以下のみを抽出ということは、印刷の都合上やテキストファイルでのやりとりなどで
たまたま文字列形式になってるが、元々は普通の数字(頭に0の付かない)なんだろ。
だから数字で管理して、必要に応じて文字列にすることも検討に値する。
- 103 :デフォルトの名無しさん:2016/06/30(木) 10:02:30.89 ID:4fmg0FNR.net
- >>94
別の列にコピーして数値化
フィルタ
- 104 :デフォルトの名無しさん:2016/06/30(木) 12:22:06.96 ID:6OQ3oF91.net
- 頭ゼロとか見た目だけならセルの書式設定でどうとでもなる
- 105 :デフォルトの名無しさん:2016/06/30(木) 18:06:00.58 ID:2VNG/wFb.net
- >>94
AutoFilter使わないと駄目なのかな?
どうせVBA使うのなら、条件に合わないセルの行を隠していけばいいと思うけど
VBA内で文字列を数値化して比較するのは問題ないだろうし、
どうしても文字列のままにこだわるのなら
文字長が3以上かつ文字が"100"でないセルの行を隠していけばいい
- 106 :デフォルトの名無しさん:2016/06/30(木) 20:56:53.06 ID:AI19lM0o.net
- >>99
0から始まるのは8進数
- 107 :デフォルトの名無しさん:2016/06/30(木) 21:48:14.85 ID:oIta/qZk.net
- エクセルに取り込んだ情報をVBA介してアクセスのDBに移してクエリで処理してるんだけど、
このクエリか、もしくはクエリを含むサブフォームをエクセル上で操作できるようにする方法ってない?
大量の情報を扱うから、いちいち配列をやりとりするのは手間なんだけど、
表示する範囲のみを適宜取り出してエクセルのフォームに表示するやり方しかないかな?
- 108 :94:2016/06/30(木) 22:24:24.95 ID:gVFgOq4s.net
- 皆様、94です。
いろいろなご提案ありがとうございます!
96さん、103さんのアイデアで実現してみました。
…ですが、そもそも数値化がうまくいってないことに気づきました。
単純にワークシート関数のval()などを使えばいいかなと思いましたがなかなかうまくいきません。
じゃあ一旦バリアント型変数に格納して、FormatNumberでセルの書式を数値に変更して戻す、という試行錯誤に。
(この時点で数時間)
v=Range(Cells(…
だったら、別の列を挿入せずにそのまま実データが入っている列でそれをやっちゃえばいいか・・・
というのが最終形になりました。
なぜ文字列型でないといけないのかというのを記載していませんでしたが、Accessに取り込んで
別のデータと照らし合わせるクエリを作るためです。
その照らし合わせ先も文字列なので、文字列と文字列でないとひと手間かかっちゃうんです。
別の列を作ってというアイデアが一人ではなかなかでなくて。
ここで聞いてよかったです。
皆様ありがとうございました!
- 109 :デフォルトの名無しさん:2016/06/30(木) 23:32:27.98 ID:IY0vyffw.net
- >>106
やゼロフィルだな
- 110 :デフォルトの名無しさん:2016/07/01(金) 00:29:15.54 ID:xFyxlTTO.net
- ListObjects.Addで、
↓これは出来たのですが
Source:=1つのフォルダに入っている複数のCSVファイル
↓これや、
Source:=複数のフォルダに入っている複数のCSVファイル
↓これが出来ません
Source:=CSVファイルとEXCELファイル
何か方法はないものでしょうか?
全部1つファイルにまとめてから処理するのは出来るのですが、
そうするとファイルが重くなるので、直接ファイルから取得したいのです。
- 111 :デフォルトの名無しさん:2016/07/01(金) 07:29:07.88 ID:w7ShJWdY.net
- >>107
ExcelからAccessを操作する場合
Accessのフル機能は使えない
クエリは呼び出せるけど
対象となるクエリがSQLで表現出来ないとダメ
何を言ってるかというとAccessのVBAで作った関数をクエリに組み込んでるとダメ
速度を求めるならExcelのフォームに表示するのではなく
Accessで完結させるべき
速いと言い難いが
- 112 :デフォルトの名無しさん:2016/07/01(金) 07:41:30.79 ID:ndIDnLDu.net
- >>107
手元の配列(?)にデータがあるのになんでそんなことするの?
- 113 :デフォルトの名無しさん:2016/07/01(金) 08:38:13.68 ID:092EU/yt.net
- >>107
ACCESSで使っているクエリをExcel側で操作したいって
EXCEL側でクエリを実行したいのか、EXCEL側でクエリを弄りたいのか、どっち?
まぁどっちにしてもACCESSのテーブルにクエリ自体を突っ込んで
EXCEL側からもACCESS側からもそれを見に行くようにすればいいんじゃないかな
- 114 :デフォルトの名無しさん:2016/07/01(金) 09:26:46.36 ID:3tq1seUp.net
- もっとシンプルに実現できることを、わざと難易度を上げて複雑にして、
「それでも私は頑張って仕事しています!」ってアピールした馬鹿だろ。
- 115 :デフォルトの名無しさん:2016/07/01(金) 10:59:06.36 ID:092EU/yt.net
- >>114
EXCEL側で、ACCESSに登録した後の形態を確認したいとかじゃね?
どっちにしても背景が見えないから、いきなりバカ扱いするのは早計だと思うが
- 116 :デフォルトの名無しさん:2016/07/01(金) 12:10:58.79 ID:KP5+MPpx.net
- Excel至上主義者はAccessを否定するんだよなぁ
Accessの使い方知らないんだろうけど
- 117 :デフォルトの名無しさん:2016/07/01(金) 13:20:53.52 ID:lWEFeltJ.net
- >>116
Accessがというより所詮DB(またはSQL)だからって意味じゃないか?
- 118 :デフォルトの名無しさん:2016/07/01(金) 19:36:08.17 ID:ISgfsORm.net
- >>112
手元のデータは未加工の情報で、必要な処理をAccessで行ってる。
加工後の情報が目的と合致しない場合は、再び未加工の情報を(パラメータを調整した上で)加工しなきゃならない。
速度が段違いなので最初の受け渡しロスを含めてもAccessで行った方が速いんだけど、
今作ってるマクロの前身がセルに大量の関数が書き込まれているタイプのものだったんで、
出来るだけ同じ操作感覚になるようにエクセルにこだわりたかったんだけど、やはりAccessにするしかなさそうね。
- 119 :デフォルトの名無しさん:2016/07/01(金) 19:51:03.41 ID:lWEFeltJ.net
- >>118
> 加工後の情報が目的と合致しない場合は
個々の値の加工というより何かの
集計値が目的に合ってるかどうか判定してるのかな?
そうじゃなきゃaccessの方が速い理由がわからない。
- 120 :デフォルトの名無しさん:2016/07/01(金) 20:20:28.37 ID:ISgfsORm.net
- >>119
日々の予定値の合計が目標値を超えちゃいけないとか、業務上の色んな要素が関わってくる。
どっちにしろ大量のデータを処理するならVBAよりもクエリ使うべき。
っていうか修飾が必要ない純粋なデータ処理はデータベースソフトでやるべき。
- 121 :デフォルトの名無しさん:2016/07/01(金) 20:21:52.16 ID:1jGNbpkt.net
- まぁそうなんだけどねぇ
Accessは大昔バグが酷かったからアレルギー餅もいるんだよね。
- 122 :デフォルトの名無しさん:2016/07/01(金) 20:24:36.75 ID:OKSQC6Td.net
- アクセスにアレルギーがあります、だからエクセルを使います(50代開発者)
- 123 :デフォルトの名無しさん:2016/07/01(金) 20:30:40.30 ID:lWEFeltJ.net
- >>120
いや「純粋なデータ処理は汎用言語でやるべき」でしょ
- 124 :デフォルトの名無しさん:2016/07/01(金) 20:31:49.35 ID:1jGNbpkt.net
- >>122
ウチの上司がまさにそれ
Accessのバグを調べながら開発するより新規にdbソフト作ったほうが早いってことでDBソフトごと作ってたわ
- 125 :デフォルトの名無しさん:2016/07/01(金) 20:42:19.31 ID:OKSQC6Td.net
- >>124
どうして恥の上塗りするん?www
- 126 :デフォルトの名無しさん:2016/07/01(金) 20:56:43.52 ID:tm+bfi5q.net
- >>123
今時のデータベースソフトより性能がいい処理ができると言うなら別に止めやしないから頑張ってくれ
- 127 :デフォルトの名無しさん:2016/07/01(金) 21:04:36.60 ID:lWEFeltJ.net
- >>126
I/O込みなんだろ?なんでDBの方が速いんだ?
- 128 :デフォルトの名無しさん:2016/07/01(金) 21:17:58.22 ID:ISgfsORm.net
- 汎用言語ってのが何を指して言っているのか分からんが、DBとクエリ機能が最初から使える奴ならその方がいいだろうね。
C/C++言語で一から作れとかって話だったら、よっぽど用途が限定されてない限りアホくさくて話にならないが。
- 129 :デフォルトの名無しさん:2016/07/01(金) 21:20:41.29 ID:tm+bfi5q.net
- 意味わからん
汎用言語でも I/O 使うだろうし
DBMS のキャッシュ制御を上回るのは大変だと思うが
- 130 :デフォルトの名無しさん:2016/07/01(金) 21:36:18.24 ID:lWEFeltJ.net
- >>129
もとの質問(>>107)ではメモリ上にあるデータをいったんDBに移してるように読めるが
- 131 :デフォルトの名無しさん:2016/07/01(金) 21:57:46.24 ID:tm+bfi5q.net
- >>130
VBA 以外の汎用言語で Excel のデータを扱うのは結構大変だよ?
データ量が多いなら VBA でしこしこやるより CSV に吐き出して DBMS に読ませて処理した方が速いケースは普通にある
エラー処理が面倒だけど元データがしっかりしてるなら SQL-Server で Excel ブックを直接読み込むとかもできるし
- 132 :デフォルトの名無しさん:2016/07/01(金) 21:59:45.83 ID:tgxqnVRr.net
- >>123
なにがメリットなの?
- 133 :デフォルトの名無しさん:2016/07/01(金) 22:17:24.11 ID:lWEFeltJ.net
- >>131
ふーむ、例えば単純なSUMとかでもそなのかな?
- 134 :デフォルトの名無しさん:2016/07/01(金) 22:19:37.55 ID:5rFR/ghy.net
- >>133
やってみればいいんじゃね?
- 135 :デフォルトの名無しさん:2016/07/01(金) 22:24:48.41 ID:OKSQC6Td.net
- 質問そっちのけで何しとんねん無能初心者どもw
- 136 :デフォルトの名無しさん:2016/07/01(金) 22:38:36.31 ID:lWEFeltJ.net
- >>131
>>134
まあ仕事だったら速ければやるかもな...
- 137 :デフォルトの名無しさん:2016/07/01(金) 22:59:03.05 ID:QhnUR69n.net
- 質問ですが、皆さんお仕事はどんな職種なんですか?
- 138 :デフォルトの名無しさん:2016/07/01(金) 23:17:09.94 ID:092EU/yt.net
- >>126
まぁデータのやり取りするんであれば普通に考えれば手続き型言語より集約言語の方が速いわな。
もちろんINDEXとかきちんと貼られて有効に使われてること前提だけど
- 139 :デフォルトの名無しさん:2016/07/02(土) 02:24:42.73 ID:pHmHPwMw.net
- >>137
アンケート厨はウザがられるよ
- 140 :デフォルトの名無しさん:2016/07/02(土) 03:24:09.07 ID:Goc594+n.net
- そもそも、「質問ですが、」← これ無くても意味通じるし、有るとかえってイラッとするよな。
「初心者です」
「バージョンは最新です」
「何もしていないのに」
とかも同じ。
- 141 :デフォルトの名無しさん:2016/07/02(土) 07:52:28.97 ID:M5l7NE7m.net
- 質問ですか?
- 142 :デフォルトの名無しさん:2016/07/02(土) 08:25:13.36 ID:uAYigWdO.net
- >>137
システム開発
- 143 :デフォルトの名無しさん:2016/07/02(土) 10:23:13.18 ID:ihvejTGf.net
- >>137
ちなみにあなたのお仕事は?
- 144 :デフォルトの名無しさん:2016/07/02(土) 10:36:47.74 ID:meqco/WD.net
- 仕事関係ないだろ
- 145 :デフォルトの名無しさん:2016/07/02(土) 11:24:50.38 ID:hSx47VXK.net
- 証明出来ない以上、なんとでも言えるしな
でも主張によって、プログラミング関係の仕事してるかどうかは割と推測しやすいと、このスレ見てて思った
- 146 :デフォルトの名無しさん:2016/07/02(土) 12:33:25.79 ID:+AF4e5eX.net
- プログラミング関係の仕事をしてるやつは居ないとこのスレ見て思った
- 147 :デフォルトの名無しさん:2016/07/02(土) 12:52:04.41 ID:meqco/WD.net
- 仕事でPGやってる人よりも事務職で課に1人だけいそうな、何でもかんでもVBAで作らされてる人の方が詳しそう。
やらせればPGの方もスキル発揮するのだろうけど、普段VBAゴリゴリ書いてるプログラマーって少ないんじゃない?
- 148 :デフォルトの名無しさん:2016/07/02(土) 12:59:09.33 ID:hSx47VXK.net
- でも「VBAゴリゴリ書いてるプログラマーです」って言うと「VBA使うような奴はプログラマーじゃない」とか言うんでしょ。
分かってるんだから。
- 149 :デフォルトの名無しさん:2016/07/02(土) 13:03:54.23 ID:cbv/Tz9a.net
- 2chなんだからプロが来るところじゃないし仕事を語る場所でもない
- 150 :デフォルトの名無しさん:2016/07/02(土) 14:18:55.79 ID:Oflr6P+h.net
- A列のセルがabcから始まってる場合、または空白の場合に
その行全体を削除する、というマクロを作りたいのですが
どうすればいいでしょうか?
excelのバージョンは2007です。
- 151 :デフォルトの名無しさん:2016/07/02(土) 14:51:00.96 ID:AdcotA2t.net
- A列のセルがabcから始まってる場合?よくわからないですが
空白のセルがあった場合に、そのセルの行を削除するのなら
- 152 :デフォルトの名無しさん:2016/07/02(土) 14:54:37.99 ID:hSx47VXK.net
- >>150
Sub test(DeleteRange As Range)
Dim R As Range
For i = 1 To DeleteRange.Rows.Count
v = DeleteRange.Cells(i, 1)
If v Like "abc*" Or Len(Trim(v)) = 0 Then
If R Is Nothing Then
Set R = DeleteRange.Cells(i, 1).EntireRow
Else
Set R = Union(R, DeleteRange.Cells(i, 1).EntireRow)
End If
End If
Next
R.Delete
End Sub
- 153 :デフォルトの名無しさん:2016/07/02(土) 14:54:42.75 ID:uJKAJ0cL.net
- abcdeとかabczyの文字列だろ察してやれよ
- 154 :デフォルトの名無しさん:2016/07/02(土) 14:57:48.15 ID:AdcotA2t.net
- vba sum関数で質問です。よろしくお願いします。
sumで合計する対象となる数個のセルの中に負の値があると
合計されず、値がブランクになってしまいます。
例えば、A列の1〜5行目までのセルの合計を
合計 = Application.WorksheetFunction.Sum(Range(Cells(1, 1), Cells(5, 1)))
として求める場合に、どこかのセルで負の値があると、合計は” ”となります
エラーの原因と正しく合計するためにどうしたらいいのか、ご指導いただけませんでしょうか?
よろしくお願いいたします。
- 155 :デフォルトの名無しさん:2016/07/02(土) 15:09:16.78 ID:AdcotA2t.net
- >>153
すみませんでした
- 156 :デフォルトの名無しさん:2016/07/02(土) 17:10:19.71 ID:V1fyPFSu.net
- >>154
シートでsum関数使った結果は?
正しいならvbaの型がおかしいのでは?
- 157 :デフォルトの名無しさん:2016/07/02(土) 17:13:08.92 ID:AdcotA2t.net
- >>156
ありがとうございます。
シートでのsum関数はしっかり合計されます。
フォーマットも"数値"に直してあるのですがどうしても合計されません。
- 158 :デフォルトの名無しさん:2016/07/02(土) 17:16:37.51 ID:V1fyPFSu.net
- >>157
コードを上げて。
- 159 :デフォルトの名無しさん:2016/07/02(土) 17:37:07.79 ID:DDjutEkV.net
- コードを見てみないと何とも言えないが
>>154の指摘の通り
Dim 合計 As Longなり Dim 合計 As Doubleなり
変数は宣言してから使うべき
- 160 :デフォルトの名無しさん:2016/07/02(土) 18:11:22.98 ID:pRO6q6b5.net
- >>154
戻り値:倍精度浮動小数点型 (Double) とあるから
そもそもブランク” ”なんて返ってこないと思うのだが・・・?
WorksheetFunction.Sum メソッド (Excel)
https://msdn.microsoft.com/ja-jp/library/office/ff838410.aspx
- 161 :デフォルトの名無しさん:2016/07/02(土) 19:28:40.63 ID:uAYigWdO.net
- >>160
見てみるとエラーで落ちると書いてあるから
おおかたValiantか直接セル指定で書き込んでいるんじゃないか?
で、エラー時はログを出して終わりとか握り潰しているとか。
- 162 :デフォルトの名無しさん:2016/07/02(土) 19:37:21.31 ID:0/OF67S+.net
- この場合引数はRangeだから
>•引数が配列またはセル範囲の参照である場合、その中に含まれている数値だけが計算の対象となります。配列やセル範囲に含まれる空白セル、論理値、または文字列はすべて無視されます。
が適用される気がするんだが
ちなみにうちの2007で試したら、指定したRangeにエラー値とかあるとエラーになってるっぽい
エラー値も無視してくれれば良いのに
- 163 :デフォルトの名無しさん:2016/07/02(土) 21:15:43.11 ID:ZFshQN/m.net
- >>152
ありがとうございます。ただ、実行すると
オブジェクトが必要です、というエラーが出てしまいます。
- 164 :デフォルトの名無しさん:2016/07/02(土) 21:21:41.67 ID:+dqhJmU8.net
- >>163
デバッグくらいは自分でやってみたら
デバッグするうちに理解できる事もあるから
- 165 :デフォルトの名無しさん:2016/07/02(土) 21:24:09.83 ID:+dqhJmU8.net
- >>154
sumの対象範囲を色々変えてみたらどの箇所が含まれていたらエラーになるか判る
そのセルについて詳しく調べたら何か判るかも
本当に負の値が原因なのか
- 166 :デフォルトの名無しさん:2016/07/02(土) 21:26:42.02 ID:Kre/4kSw.net
- 教えたがり回答者の正しいかどうかも分からんコードのデバッグを質問者に要求する理不尽スレw
- 167 :デフォルトの名無しさん:2016/07/02(土) 21:29:57.19 ID:+dqhJmU8.net
- >>166
ならそのコードを採用しなければ良いだけ
- 168 :デフォルトの名無しさん:2016/07/02(土) 21:34:11.66 ID:Kre/4kSw.net
- >>167
採用されてもいないコードのデバッグを要求するお前な何なん?w
- 169 :デフォルトの名無しさん:2016/07/02(土) 21:55:25.63 ID:hSx47VXK.net
- ここ質問スレだから回答する事そのものに対して文句を言うのは筋違い。
回答が間違っているとケチをつけるなら自分で書くべきであって、
何もしないのに文句をつけるのも筋違い。
- 170 :デフォルトの名無しさん:2016/07/02(土) 22:17:27.39 ID:cbv/Tz9a.net
- サービス回答
- 171 :デフォルトの名無しさん:2016/07/02(土) 22:22:30.25 ID:mzeRacQg.net
- >>166
ID:Kre/4kSw
バカ発見
- 172 :デフォルトの名無しさん:2016/07/02(土) 22:24:48.25 ID:Kre/4kSw.net
- >>169
それよりお前は筋違いの回答をデバッグして出直してこいやwww
- 173 :デフォルトの名無しさん:2016/07/02(土) 22:34:10.98 ID:hSx47VXK.net
- >>172
というかお前は何でVBAすら分からないのに張り付いてるんだ?
- 174 :デフォルトの名無しさん:2016/07/02(土) 22:41:19.33 ID:Kre/4kSw.net
- >>173
VBA分からんのはお前やろwせめて動くコード書けるようになってから回答しろやwwww
- 175 :デフォルトの名無しさん:2016/07/02(土) 22:50:50.43 ID:hSx47VXK.net
- >>174
以前も他人の書いたコードにいちいちケチつけてアヘってるバカいたけど、そいつは初歩的なルールくらいは理解してたんだよ。
そういう奴なら「俺がこの言語に一番詳しいんだ」っていう自己顕示欲から馬鹿な事してるんだなぁと推測出来る。
お前の場合は全然分かってないだろ?
VBA分かれば他人のコード見ても動きそうかどうかは分かるわけだから「正しいかどうかも」という言い回しにはならない。
だから張り付いてても面白くないと思うんだよ。お前の行動原理がいまいち分からなくてちょっと聞いてみたいんだ。
- 176 :デフォルトの名無しさん:2016/07/02(土) 22:58:44.11 ID:Kre/4kSw.net
- >>175
お前にとっては動けば正しいんかwやっぱり教えたがりのアホやんw
せっかくやから教えてやるけど質問者の望む挙動の事を正しい言うんやで
それは俺にもお前にも分からん、質問した人間にしか分からんのやで
しっかり勉強しいやwww
- 177 :デフォルトの名無しさん:2016/07/02(土) 23:08:40.71 ID:hSx47VXK.net
- >>176
そしたらコードのデバッグは質問者にしか出来ない事になるだろ。
「動くコード書けるようになってから」と言いつつ「動けばいいのか」ってのもおかしいし。
形だけこき下ろしたって自分が惨めになるだけだと思うんだが、それが楽しいのか?
- 178 :デフォルトの名無しさん:2016/07/02(土) 23:10:40.65 ID:K4LZmTk1.net
- >>153
なんとなくだがそれは違う気がする。
A列に(判別用の)abcを入れてあるんだと思う。
その上で、A1がabcだったら行全体を削除。
言い回しが変だが言い間違ってる。
- 179 :デフォルトの名無しさん:2016/07/02(土) 23:15:03.24 ID:b38bfQ1l.net
- >>172
バカ発見
- 180 :デフォルトの名無しさん:2016/07/02(土) 23:16:56.97 ID:Kre/4kSw.net
- >>177
お前のコードがどう動くつもりで書かれたのかどうやって質問者が分かんねんwww
頭わいとるなお前www
- 181 :デフォルトの名無しさん:2016/07/02(土) 23:18:17.38 ID:b38bfQ1l.net
- >>174
バカ発見
>>180
バカ発見
- 182 :デフォルトの名無しさん:2016/07/02(土) 23:21:42.17 ID:hSx47VXK.net
- >>180
お前VBAどころかプログラム言語全般分からないのかよ。
- 183 :デフォルトの名無しさん:2016/07/02(土) 23:30:30.10 ID:Kre/4kSw.net
- >>182
でデバッグできたんか?www
- 184 :デフォルトの名無しさん:2016/07/02(土) 23:44:22.28 ID:hSx47VXK.net
- >>183
いや、お前が言うには正しい挙動は質問者にしか分からないんだろ。
煙に巻くにしても、せめて自分の主張した事と矛盾する煽り方はやめようよ。
何を目的にしているか分かれば、書かれたコードを読めばどういう挙動を狙っているかだいたい推測出来るもんなんだよ。
このスレにも「このコードで動かないんですけど」って貼り付けられてる事あるだろ。あれ何のつもりか理解してなかったの?
- 185 :デフォルトの名無しさん:2016/07/02(土) 23:50:46.30 ID:b38bfQ1l.net
- >>183
バカ発見
- 186 :デフォルトの名無しさん:2016/07/02(土) 23:58:11.23 ID:uAYigWdO.net
- 周期的に大阪の部落民がファビョるよね
- 187 :デフォルトの名無しさん:2016/07/02(土) 23:58:35.66 ID:uJKAJ0cL.net
- 夏だな
- 188 :デフォルトの名無しさん:2016/07/03(日) 00:11:35.01 ID:wofBOAox.net
- >>168
163
- 189 :デフォルトの名無しさん:2016/07/03(日) 00:14:24.06 ID:wofBOAox.net
- >>180
質問者は仕様を知ってる
その仕様にあってると言う前提でコードを見るだろう
質問スレはVBAを知らない人には用は無いだろ
- 190 :デフォルトの名無しさん:2016/07/03(日) 06:19:38.31 ID:HMlt8Ia6.net
- >>184
> 何を目的にしているか分かれば、書かれたコードを読めばどういう挙動を狙っているかだいたい推測出来るもんなんだよ。
>>189
その仕様にあってると言う前提でコードを見るだろう
お前らホンマにアホやなあw
お前らが要求を正しく理解しとると信用せなあかん理由なんか一個もないわw
能天気に予断を持って問題にぶちあたるからデバッグ一つ出来んし
質問にも答えられんのやでお前らはwwww
- 191 :デフォルトの名無しさん:2016/07/03(日) 06:26:37.57 ID:wofBOAox.net
- >>190
じゃ君が答えれば良いのに
- 192 :デフォルトの名無しさん:2016/07/03(日) 06:33:39.45 ID:HMlt8Ia6.net
- >>191
いいところに気がついたなw
俺はお前らの声なき質問に答えとるんやでw
八割方バカにしとるだけやけどな
いい酒の肴になるでお前らwwww
- 193 :デフォルトの名無しさん:2016/07/03(日) 06:37:07.17 ID:S035+4fi.net
- >>192
声なき質問に答える前に>>150の声ある質問に答えてあげて
- 194 :デフォルトの名無しさん:2016/07/03(日) 06:44:42.33 ID:HMlt8Ia6.net
- >>193
ガチアホなんかお前?
これはいくら俺でもキョトンとしますわ
- 195 :デフォルトの名無しさん:2016/07/03(日) 06:47:28.99 ID:S035+4fi.net
- >>194
いいから答えてあげて?
- 196 :デフォルトの名無しさん:2016/07/03(日) 09:07:51.72 ID:aUhukWnc.net
- 多分、質問者は、引数の使い方というか、意味ををわかってない
だから引数指定せずにcallして、エラーになってる。
コードそのものが間違ってるわけじゃないけど、
質問者のレベルに合わせて
コードの修正なり使い方の解説なりをやろうとしない回答者の方も
結構アレなんじゃないかと思う
- 197 :デフォルトの名無しさん:2016/07/03(日) 09:17:41.22 ID:wofBOAox.net
- エラーとは関係無いが
unionは複雑な範囲に対応出来ないからエラーになる事がある
削除対象範囲を都度削除した方がより色んなケースに対応できると思う
速度的には比較的遅いだろうけど
- 198 :デフォルトの名無しさん:2016/07/03(日) 09:45:16.53 ID:UDre5Mdz.net
- 解説が必要だと思うなら自分でやってあげればいいだろう。
コードは対応できるケースが増えるほど複雑になるから他人に教えるのには向いてない。
このスレは質問スレであってコードを代行して書くスレじゃないから極論、条件を全部満たす必要もないし。
だいたい>>150に書いてある条件だけじゃ実行するだけで常に意図した様に動作するマクロなんて作れないし、
最終的に自分で解決しようって意欲のないヤツに付き合うと泥沼化するから親身になって答えるのもなぁ・・・。
やりたければやればいいけど、それを金で雇ったわけでもない他人に要求するのは間違っている。
- 199 :デフォルトの名無しさん:2016/07/03(日) 10:01:56.75 ID:ggWuEzzb.net
- >>196
バカ発見
- 200 :デフォルトの名無しさん:2016/07/03(日) 10:39:20.19 ID:TV+AI8sZ.net
- 朝6時半から大阪部落民が大騒ぎだな
よっぽど昨日のことが悔しかったんだろうなw
- 201 :デフォルトの名無しさん:2016/07/03(日) 13:02:52.21 ID:a7dDnFnC.net
- Excelオートメーションはこのスレで良いんですか?
ホスト言語はC#です
- 202 :デフォルトの名無しさん:2016/07/03(日) 13:51:27.57 ID:aanUjlOw.net
- >>201
許す
申してみぃ
- 203 :デフォルトの名無しさん:2016/07/03(日) 14:08:36.63 ID:FivcklIc.net
- >>201
C# スレの方がいいと思う
- 204 :デフォルトの名無しさん:2016/07/03(日) 14:10:25.85 ID:gxM8oU+G.net
- ここExcel VBAしか知らない人ばっかりだよ
- 205 :デフォルトの名無しさん:2016/07/03(日) 14:54:22.43 ID:T0oOZbz2.net
- ExcelVBAのスレなんだから、そうであっても不思議ではない
- 206 :デフォルトの名無しさん:2016/07/04(月) 17:43:51.35 ID:6CVzVAi9.net
- 「VisualBoyAdvance」で久しぶりにポケモンをしようと思ったら、キーボードのxボタンを押してもメニューが開けませんでした。
xボタンでキャンセルすることは出来ますが、メニュー画面は何度試しても開けません。詳しい方、教えて貰うことは出来ませんでしょうか?
- 207 :デフォルトの名無しさん:2016/07/04(月) 17:45:34.92 ID:LPXoV+6O.net
- 練に練ったネタでダダ滑り
- 208 :デフォルトの名無しさん:2016/07/04(月) 18:48:22.99 ID:QouUNtv0.net
- >>206
多分ぱちもの
- 209 :デフォルトの名無しさん:2016/07/04(月) 19:07:24.56 ID:p6FEI/fn.net
- >>206
キーボードではなく念を使え
- 210 :デフォルトの名無しさん:2016/07/04(月) 19:11:41.70 ID:6CVzVAi9.net
- 詳しいことは何も知らないので申し訳ありませんが、「念」って一体なんのことでしょう?
- 211 :デフォルトの名無しさん:2016/07/04(月) 20:50:32.80 ID:HBX/lMQ7.net
- >>206
多分、PCのフレームレートとNMIのタイミングが合っていないのだろう。
昔のPen4辺りのPC中古で買って専用機にすれば動くかもね。
エミュレータとROMの相性問題も有るだろうからそっちかも知れんけどね。
- 212 :デフォルトの名無しさん:2016/07/04(月) 21:09:28.08 ID:3pcfcKpn.net
- 質問です
@http://i.imgur.com/T7PiBmi.jpg
↓
Ahttp://i.imgur.com/QswNeBd.jpg
みたいに、
@表データの黒太字以外の文字の色を白にしてAのように黒太字の列以外を非表示にするコードを教えて下さい
- 213 :デフォルトの名無しさん:2016/07/04(月) 21:30:55.53 ID:crVdYcZS.net
- >>212
色を変えたい範囲を選択して↓を実行
Sub ChangeToWhiteFont()
Dim c As Range
For Each c In Selection
With c.Font
If Not (.Bold And .ColorIndex = 1) Then
.ColorIndex = 2
End If
End With
Next
End Sub
- 214 :デフォルトの名無しさん:2016/07/04(月) 21:53:15.46 ID:3pcfcKpn.net
- >>213
出来れば列も自動で非表示にできるようにしたいです
- 215 :デフォルトの名無しさん:2016/07/04(月) 21:58:17.49 ID:gJJxx5uO.net
- 後だし条件なうえに上から目線
- 216 :デフォルトの名無しさん:2016/07/04(月) 22:17:34.03 ID:9BRDOIan.net
- いや、列非表示って最初から書いてますやん
- 217 :デフォルトの名無しさん:2016/07/04(月) 22:25:07.57 ID:crVdYcZS.net
- >>214
よく読んでなかった。ごめんなさい
使い方は同じ。範囲を選択して↓を実行
Sub ShowOnlyBlackAndBold()
Dim col As Range
Dim toHide As Boolean
Dim c As Range
For Each col In Selection.Columns
toHide = True
For Each c In col.Cells
With c.Font
If .Bold = True And .ColorIndex = 1 Then
toHide = False
Else
.ColorIndex = 2
End If
End With
Next
If toHide Then
col.EntireColumn.Hidden = True
End If
Next
End Sub
(ただ、例示の画像だと「せ」列が残ってるけど、これは画像のミス?)
- 218 :デフォルトの名無しさん:2016/07/04(月) 23:12:28.55 ID:fZa2v/xo.net
- ExcelもWordも統合してHTML+JSベースの強力なオーサリングツールになればいいのに
ドキュメント中に作成された表はそれぞれがシートオブジェクト
方眼紙はやめよう
- 219 :デフォルトの名無しさん:2016/07/04(月) 23:42:24.20 ID:3pcfcKpn.net
- >>217
選択した列が全て非表示になってしまう…
- 220 :デフォルトの名無しさん:2016/07/04(月) 23:53:25.93 ID:usjNXWI/.net
- エクセルを帳票に使うクズは死ねばいいのに
- 221 :デフォルトの名無しさん:2016/07/05(火) 01:34:02.04 ID:rtvoXzxv.net
- >>219
フォント色「自動」の場合を考えていませんでした…
色の判定・操作に ColorIndex を使わずに Color を使うべきでした
Ifブロックを↓に置き換えてください…
If .Bold And .Color = RGB(0, 0, 0) Then
toHide = False
Else
.Color = RGB(255, 255, 255)
End If
- 222 :デフォルトの名無しさん:2016/07/05(火) 01:39:06.79 ID:rtvoXzxv.net
- >>221 追記
調べたら、色の定数がありました…
↓に訂正します…
If .Bold And .Color = vbBlack Then
toHide = False
Else
.Color = vbWhite
End If
- 223 :デフォルトの名無しさん:2016/07/05(火) 08:01:17.25 ID:SGzeud2c.net
- >>212
お前らすげーなー
オレには>>212は「黒太字以外の文字の色を白にして非表示にする」としか解釈できない
「黒太字の列以外」の意味が分からない・・
Aの例示であってるの?
- 224 :デフォルトの名無しさん:2016/07/05(火) 12:20:08.08 ID:vwZ66KIR.net
- 日本語おかしいが解読可能なレベル
1を2にした後で黒太字列を非表示にしたいと読めなくもない
- 225 :デフォルトの名無しさん:2016/07/05(火) 13:45:09.33 ID:P7lw8+Qp.net
- >>222
やっぱり上手く出来ないです…
作っていただいたのにすいません
>>223
>>224
結局はAみたいに太字のセル以外の列を非表示にしたいだけです
(Aの画像はミスで「せ」列も非表示にしたいです)
実際使ってる表は数字が入ってるセルが空白になってて数字を入力すると入力したセルと一つ左のセルのフォントが太字の黒色になるように条件書式設定をしてます
いろいろ説明不足で申し訳ないですm(_ _)m
- 226 :デフォルトの名無しさん:2016/07/05(火) 14:10:57.60 ID:rtvoXzxv.net
- >>225
うわぁ、ほんとに後出し来ちゃったw
しかし、その説明だと@画像も実際とは違うことになるんじゃない?
(太字になっていない文字セルの右の数字セルは空白じゃないとおかしくない?)
- 227 :デフォルトの名無しさん:2016/07/05(火) 15:15:46.85 ID:rtvoXzxv.net
- ・数字セルが空白の場合、その横の文字セルのフォント色を白にする
・数字セルが空白ばかりの列は、その横の文字列とともに非表示にする
…というコード↓
Sub HideEmptyColumns()
Dim cols As Range
Set cols = Selection.Columns
Dim colCount As Long
colCount = cols.Count
Dim i As Long
Dim c As Range
Dim toHide As Boolean
For i = 2 To colCount Step 2
toHide = True
For Each c In cols(i).Cells
If c.Value = "" Then
c.Offset(0, -1).Font.Color = vbWhite
Else
toHide = False
End If
Next
If toHide Then
cols(i).EntireColumn.Hidden = True
cols(i - 1).EntireColumn.Hidden = True
End If
Next
End Sub
- 228 :デフォルトの名無しさん:2016/07/05(火) 16:36:55.72 ID:SGzeud2c.net
- 「せ」列が非表示じゃないから混乱した(>_<)
>>224
ほんとに解読してた?w
>>225
太字の黒色というのはあくまでも二次的で、空白なのか数字が入力されてるかどうかがスタートじゃないか。
それくらいは自分で整理してから聞くべき。
- 229 :デフォルトの名無しさん:2016/07/05(火) 16:45:10.22 ID:PelZasoz.net
- あるセルに「東京」を含む文字があった場合に、その行は残し、
それ以外の文字が入力されていたら、その行は削除し、次の行を同様に処理する、というプログラムを作っているのですが
for i=2 to 最終行
if not cells(i,1) = "*東京*" then
rows(i).delete
i=i-1
end if
と書いた場合に、cells(i,1)には「西東京支店」と入力されていても
「
- 230 :デフォルトの名無しさん:2016/07/05(火) 16:46:26.54 ID:PelZasoz.net
- すみません。質問させてください。↑では誤爆してしまいすみませんでした。
あるセルに「東京」を含む文字があった場合に、その行は残し、
それ以外の文字が入力されていたら、その行は削除し、次の行を同様に処理する、というプログラムを作っているのですが
for i=2 to 最終行
if not cells(i,1) = "*東京*" then
rows(i).delete
i=i-1
end if
next i
と書いた場合に、cells(i,1)には「西東京支店」と入力されていても削除されてしまいます。
正しいコードを教えてください。よろしくお願いします。
- 231 :デフォルトの名無しさん:2016/07/05(火) 16:50:27.66 ID:NVlB09VE.net
- >>230
=じゃなくてlike演算子を使うのが正しいのでは?
- 232 :デフォルトの名無しさん:2016/07/05(火) 16:52:50.76 ID:PelZasoz.net
- >>231
ありがとうございました!
動きました!感謝してます!
- 233 :デフォルトの名無しさん:2016/07/05(火) 17:12:03.04 ID:eka1nMbT.net
- >>230
最終行から-1して2までループした方が
行削除したあとi=i-1しなくて良くなる
- 234 :デフォルトの名無しさん:2016/07/05(火) 17:12:51.90 ID:PelZasoz.net
- なるほどです!ありがとございます!
- 235 :デフォルトの名無しさん:2016/07/05(火) 18:41:30.53 ID:P7lw8+Qp.net
- >>227
希望通りに実行出来ました!
深く感謝しますm(_ _)m
>>226
>>228
おっしゃる通りですね…
社会人なのにまともに相談すら出来ない自分が恥ずかしいです
- 236 :デフォルトの名無しさん:2016/07/07(木) 00:03:45.49 ID:ms24UhoI.net
- 格好いい感じにしたいんですが、
何かないすかねぇ。
セルが二重スクロールとかするといいと思うんですけど。
- 237 :デフォルトの名無しさん:2016/07/07(木) 03:00:26.48 ID:n0vQrV8D.net
- >>236
何をもって格好がいいと言うのかはその人の価値観だから何とも言えない。
ただ、二重スクロールさせると言うならスクロールさせる方向にセルの値を書き換える擬似的な手段を取れば
二重スクロールどころかラスタースクロールも出来るんじゃないか?
- 238 :デフォルトの名無しさん:2016/07/07(木) 08:21:45.23 ID:zdkrAvL1.net
- このブックは自動的に消滅する
- 239 :デフォルトの名無しさん:2016/07/07(木) 09:10:15.40 ID:N8OTwtyP.net
- できらぁ!!
え?同じエクセルでステーキを?
- 240 :デフォルトの名無しさん:2016/07/08(金) 00:28:32.91 ID:ASoGoDpa.net
- ラスタースクロールの機能は普通に欲しいな。
といっても、ドラクエIIIの旅の扉とか、飛龍の拳の格闘シーンみたいな、
うねうねするやつじゃないぞ。
あれは全然実用的じゃないから。
欲しいのは、スーパーマリオの得点みたいなやつ。
セルの固定機能じゃ、横スクロールまでは固定されないからな。
何で標準で付いてないんだろうと思うわ。
- 241 :デフォルトの名無しさん:2016/07/08(金) 00:52:26.17 ID:aiQDUAqq.net
- >>240
あれはラスタースクロールじゃなくて
スプライト0を使ったただの画面分割じゃん
- 242 :デフォルトの名無しさん:2016/07/08(金) 12:20:08.11 ID:NKWbtILN.net
- ウィンドウ2つ開けよ
- 243 :デフォルトの名無しさん:2016/07/08(金) 21:30:53.58 ID:ASoGoDpa.net
- >>241
原理同じじゃないの?
- 244 :デフォルトの名無しさん:2016/07/08(金) 22:37:47.74 ID:pvQfBsKn.net
- >>243
全然違うけどここでその件を突っ込んで話すとあまりよろしくなさそうなので
他のスレに誘導してくれたらそっちで話してもいいけど
多分そこまで興味ないでしょ?
- 245 :デフォルトの名無しさん:2016/07/08(金) 22:54:08.11 ID:CyJCu0oQ.net
- セルじゃなくてテキストボックスか図でやれば簡単に出来そうだが
- 246 :デフォルトの名無しさん:2016/07/09(土) 00:58:36.14 ID:ztQev+8o.net
- @Excel VBAで記述したマクロは、Word VBA、Access VBAにも適用できますか?
AExcel VBAでプログラムを記述するとき、VBAのリファレンス本をみてサンプルを記述して動かすやり方と
マクロの記録を活用して自動化させたい操作をマクロに落とすやり方、どちらを活用されていますか。
個人的に後者はマクロの知識がなくても活用できて便利かなと思います。
Bマクロの自動化について、逆にマクロの自動化だけでは実現できないケースがあると思います。具体的などんな例があげられますか?
C普通プログラムって外部にDBがあって、そのDBをプログラムが間接的に参照する形をとるケースが多々というか一般的だと思うんです。
DBとプログラムは分離させるのが当たり前の世界ですが、Excel VBAの場合Excelブック内にDBの内容を持たせる
ことができるので他の一般的なプログラミング言語とは何かこう、特異なんですね。
どう思いますか?
- 247 :デフォルトの名無しさん:2016/07/09(土) 01:02:13.73 ID:ztQev+8o.net
- 最後にExcel VBAで確認されている不具合にはどのようなものがあげられますか?
- 248 :デフォルトの名無しさん:2016/07/09(土) 01:22:25.32 ID:oowJEj9N.net
- >>246
1 ほとんどできないと思っていい。
2 うーん
本質的に分かってないな。例えば、シートをコピーして、とかひたすら合計していく、というような操作は
マクロの記録をそのまま利用できるよね。でも、選択肢がある場合とか条件に応じた処理のようなものは
マクロの記録で、というわけにはいかないでしょ?
だから二つを比べるのはおかしい。
3 上記の通り
4 何を言っているのでしょうか。VBAと一般的なプログラミング言語を同列で考えること自体ずれて
います。それにエクセルのシート内のデータはデータベースではありません。
データベース的に利用しているだけで、本質的には表です。
しかしながら、外部からODBCなどで参照することはできるので、データベース的に使うこともできる、という
だけです。それをどう思いますか?と聞かれてもね。
- 249 :デフォルトの名無しさん:2016/07/09(土) 01:34:33.01 ID:7I8POFn2.net
- >>246
バージョン如何によっても話が変わるし、
用語が適切に利用されてない事から正確に理解していないと容易に推測出来るので、
目的が明確にならない限り、齟齬を起こす可能性が高くて答えようがないな。
だいたいAとCはアンケートだし、それ聞く意味ないだろ。
- 250 :デフォルトの名無しさん:2016/07/09(土) 01:40:40.58 ID:zD7puYdT.net
- >>246
@ → 内容による、というか「マクロ」をどう定義しているのかによる
自分のプログラムはOfficeなら何でも動くようにしてるけど....
- 251 :デフォルトの名無しさん:2016/07/09(土) 01:41:27.03 ID:zD7puYdT.net
- >>248
>VBAと一般的なプログラミング言語を同列で考えること自体ずれています。
なぜ?
- 252 :デフォルトの名無しさん:2016/07/09(土) 02:41:45.14 ID:EE+3+eK4.net
- >>246
1.EXCELに依存しないVBAのコードは当然そのままほかのVBAでも動くので適用できる
2.サンプルみてもそのままのコードで済む事なんてほとんどない
マクロの記録してもそのコードそのままで動かすことなんてほとんどない
なので、どっちのやり方も活用してない
3.お前が思うことの具体例を聞かれても知らん
そもそもマクロの自動化だけで一切コードいじらないで済む例のほうがまれだと思うが
4.データとプログラムが一体な構造が特殊だというなら、特殊なんだろうな
必要ならデータのみのブックとプログラムのみのブックにわければ良いだけだが
今のVBAの不具合ですぐ思いつくようなものは知らんわ
VBAはかなり枯れた言語だぜ
- 253 :デフォルトの名無しさん:2016/07/09(土) 03:38:13.90 ID:I/ga01ar.net
- >>246
あなたはただの初心者です。
何か勘違いしてませんか?
- 254 :デフォルトの名無しさん:2016/07/09(土) 03:58:52.33 ID:mZ5IXtng.net
- >>246
@>>252に同じ。補足として、そういうのをビジネスロジックとしてクラス化しておくと使い回ししやすいよ。
Aどちらも使う。そもそも実現の為に手法を制限すると解も制限されるよ。
Bプログラムで最も基本である代入、演算、分岐の内、どれもそこそこの制限を受けるけど、中でも分岐を使うものは全くダメ。
Cmvcモデルとかで何か組んでたりしてたらそう思っても不思議はないね。
そもそもシートって何?ってところからになるけど、
viewなのかDBなのかと聞かれたら
それはその人の決めの問題だから、そう扱うと決めたらそうだと割り切りが必要なのはそうだと思う。
- 255 :デフォルトの名無しさん:2016/07/09(土) 08:12:21.48 ID:p+DZy82L.net
- データとコードを一体化するのは
データとメソッドをクラスとして扱うのと似てると思う
- 256 :デフォルトの名無しさん:2016/07/09(土) 08:15:27.53 ID:p+DZy82L.net
- データを再利用したいならcsvとかにしたり
データ用のブックにしたりすれば良いと思う
データとコードが一体化していて困るのは具体的にどんな場合だろう
- 257 :デフォルトの名無しさん:2016/07/09(土) 08:56:11.36 ID:BZ9gM+QH.net
- >>256
ちょっと調べてみたけど、ここなんか分かり易く載ってたよ
http://tawamuredays.blog.fc2.com/blog-entry-142.html
- 258 :デフォルトの名無しさん:2016/07/09(土) 10:54:31.00 ID:p+DZy82L.net
- >>257
データアクセスの役割とロジックの役割を分割しないと、データ側の変更の影響を受けるという問題があるということだけど
データとロジックが同じサーバに有ったとしても
役割を分離してればいいんでは?
エクセルファイルにデータとコードをパッケージしててもコードの役割としてデータ側の変更を受けないように、例えばデータアクセスのクラスを作ればいいって事では?
- 259 :デフォルトの名無しさん:2016/07/09(土) 11:03:31.48 ID:7I8POFn2.net
- 一体化の捉え方を間違っているんじゃないかな。
別に実行ファイルの所在については言及してないのでは。
- 260 :デフォルトの名無しさん:2016/07/09(土) 11:10:44.19 ID:p+DZy82L.net
- >>259
データとロジックの所在が同じであろうと無かろうと
役割を分割してないとデータ側の変更の影響を受ける
役割を分離していれば所在がどうであろうと問題にはならない
という主張ですよ
- 261 :デフォルトの名無しさん:2016/07/09(土) 11:33:39.10 ID:bZP8Dmrq.net
- >>260
まーVBAではそうかもね
- 262 :デフォルトの名無しさん:2016/07/09(土) 12:25:45.10 ID:My2a4Ewi.net
- 普段C#を使っています
VB.NETも気持ち悪くて苦手です
VBAは気持ち悪いってレベルじゃないほどキモイです
altJSみたいなaltVBAみたいな物はないのでしょうか?
MSがExcelマクロにC#などを採用しないのは何故ですか?
- 263 :デフォルトの名無しさん:2016/07/09(土) 12:27:40.79 ID:EzNW6797.net
- お前みたいな気持ち悪いユーザーが寄り付かないようにだろうなw
- 264 :デフォルトの名無しさん:2016/07/09(土) 12:29:08.37 ID:My2a4Ewi.net
- もしないならC#風の文法で書けるaltVBA作ってきていいですか?
- 265 :デフォルトの名無しさん:2016/07/09(土) 12:30:39.89 ID:EzNW6797.net
- 勝手に作れば?www
- 266 :デフォルトの名無しさん:2016/07/09(土) 12:34:44.41 ID:BZ9gM+QH.net
- >>262
VBAはともかく、C#やっててVB.Netが気持ち悪い、またはその逆っていうのは
多分VSやりたててでまだ未熟なんだろうね。
慣れてれば大して違うもんでもないのでそこまでこだわるもんでもない。
- 267 :デフォルトの名無しさん:2016/07/09(土) 12:37:22.43 ID:My2a4Ewi.net
- >>266
とにかく長いのが嫌い
C#だと
int i;
で済むのを、
Dim X As Integer
と書かないといけない
この時点でまず面倒
そして
{
}
が
Then
End
などになる
とにかく長すぎる。IDE補充使ったとしても長すぎて読みにくい
- 268 :デフォルトの名無しさん:2016/07/09(土) 12:40:47.05 ID:My2a4Ewi.net
- 無料のオープンオフィスはjavaとか使えるのに
フリーソフトに負けてどうするんだよ・・・
- 269 :デフォルトの名無しさん:2016/07/09(土) 12:48:15.59 ID:msEW44YQ.net
- 嫌いだったら使わなければいいだろ?
嫌いだけど使わないといけないんだったらゴチャゴチャ抜かさんと使え
そのどちらかだ。
- 270 :デフォルトの名無しさん:2016/07/09(土) 12:51:11.20 ID:7I8POFn2.net
- >>267
VBAは変数を宣言する必要性がないから、低水準言語並の処理速度差を求めるのでなければ短く出来るよ。
それに読みにくいのは単純に慣れていないからであって文法の問題じゃない。
たぶん今までC言語処理系しかやってないんじゃないかな。
- 271 :デフォルトの名無しさん:2016/07/09(土) 13:09:34.52 ID:zD7puYdT.net
- >>267
長い?
- 272 :デフォルトの名無しさん:2016/07/09(土) 13:17:37.50 ID:zD7puYdT.net
- まあでもVBASharpなら見てみたいな
- 273 :デフォルトの名無しさん:2016/07/09(土) 13:30:12.39 ID:kpQe9GN9.net
- >>267
それは逆をいうと
スコープの最後が全て}や};で終わるということで、
一見して何の終わりか分からないという側面を持ち合わせているということに他ならない。
- 274 :デフォルトの名無しさん:2016/07/09(土) 14:20:28.56 ID:/CIRrs//.net
- ここは定期的に「自称C#エキスパート」の湧くスレですので
みんな「ああ、またか」としか思ってないのが本音ですってばよ
- 275 :デフォルトの名無しさん:2016/07/09(土) 15:31:55.96 ID:Gn3rqjsV.net
- >>274
まぁそれでもC++のよりはマシだけどな
- 276 :デフォルトの名無しさん:2016/07/09(土) 15:40:12.40 ID:My2a4Ewi.net
- >>274
エキスパートじゃない
- 277 :デフォルトの名無しさん:2016/07/09(土) 16:31:23.38 ID:LxhRTLBZ.net
- >>268
OSSの方がいいものができるのは今時珍しくもないだろう
- 278 :デフォルトの名無しさん:2016/07/09(土) 16:52:02.52 ID:zD7puYdT.net
- そんなにいいならみずほもC#にすりゃよかったのさ
- 279 :デフォルトの名無しさん:2016/07/09(土) 17:16:21.78 ID:oowJEj9N.net
- >>273
同感
- 280 :デフォルトの名無しさん:2016/07/09(土) 17:27:47.86 ID:LxhRTLBZ.net
- みずほは要件定義と仕様策定が元凶だから言語に何使ってもダメだよ。
逆にそこがちゃんとしていたらVBAでも完成できた(暴言)。
- 281 :デフォルトの名無しさん:2016/07/09(土) 18:00:43.63 ID:JaOtBL9Z.net
- vbaで新しい話題とかないの?
所詮は.netのパチモンだから新機能とかないんかね
- 282 :デフォルトの名無しさん:2016/07/09(土) 18:17:24.91 ID:DlinzHsn.net
- >>276
ID:My2a4Ewi
c#からエクセルを扱いなさいな。
- 283 :デフォルトの名無しさん:2016/07/09(土) 18:21:26.73 ID:My2a4Ewi.net
- >>282
マクロとして使いたいんだよ
- 284 :デフォルトの名無しさん:2016/07/09(土) 18:43:24.38 ID:zD7puYdT.net
- >>283
自分自身 >>264 で答えを出してるじゃないか。
- 285 :デフォルトの名無しさん:2016/07/09(土) 21:03:10.00 ID:f44ee91j.net
- おいまだaltVBAは出来んのかw
- 286 :デフォルトの名無しさん:2016/07/09(土) 21:06:29.92 ID:My2a4Ewi.net
- >>285
1年はかかる
- 287 :デフォルトの名無しさん:2016/07/09(土) 21:06:52.85 ID:My2a4Ewi.net
- 数時間で言語完成させるとかエアプかな?
- 288 :デフォルトの名無しさん:2016/07/09(土) 21:11:32.86 ID:f44ee91j.net
- 2ちゃん見とらんではよ書けやw
手動かせコード書け無能wwww
あと100万行書いたらその話聞いてやるわwww
- 289 :デフォルトの名無しさん:2016/07/09(土) 21:13:00.75 ID:My2a4Ewi.net
- 無能ですがなにか?
言語仕様考える前にいきなりソース書くとか流石エアプ
- 290 :デフォルトの名無しさん:2016/07/09(土) 21:13:56.03 ID:f44ee91j.net
- 屁理屈こねる前にコード書けや初心者くんwwww
- 291 :デフォルトの名無しさん:2016/07/09(土) 21:16:11.17 ID:HMyh58Z8.net
- どうせC#も大してできないんだろ
- 292 :デフォルトの名無しさん:2016/07/09(土) 21:20:02.51 ID:vLtRI9S9.net
- 昨日仕事場でよく分からないのを見かけた。
フォーム上にスプレッドがあるんだが、EXCELのオブジェクトがはまってるような感じではなく、
VSでいうところのDataGridViewみたいなやつ。ここの人達にはACCCESSのスプレッドとか
グレープシティのスプレッドとか言った方が通りがいいか。
表示のみのようだったが、ちゃんとDBの値を表示していてスクロールもする。
これって何か実現方法思い付く人いる?
- 293 :デフォルトの名無しさん:2016/07/09(土) 21:22:18.98 ID:My2a4Ewi.net
- >>290
初心者で〜す(笑)
煽りたいなら好きなだけ煽れば?
>>291
VBAよりは出来る
- 294 :デフォルトの名無しさん:2016/07/09(土) 21:23:22.97 ID:f44ee91j.net
- 超多機能スプレッドシート上で動作するフォーム内貧弱スプレッドwww
なんという逆転の発想wwww
- 295 :デフォルトの名無しさん:2016/07/09(土) 21:24:42.07 ID:f44ee91j.net
- >>293
はあ?説教やでこれ……
- 296 :デフォルトの名無しさん:2016/07/09(土) 21:24:51.86 ID:My2a4Ewi.net
- VBAerのレベルはこんなものか
言語が糞だと使用者も糞ってはっきり分かるね
- 297 :デフォルトの名無しさん:2016/07/09(土) 21:26:20.57 ID:My2a4Ewi.net
- >>295
wwwwwwこwwwwwwれwwwwwwがwwwwww説wwwwww教wwwwww
wwwwwwクwwwwwwソwwwwwwワwwwwwwロwwwwwwタwwwwww
wwwww大wwwww草wwwww原wwwww不wwwww可wwwww避wwwww
- 298 :デフォルトの名無しさん:2016/07/09(土) 21:48:21.99 ID:7I8POFn2.net
- >>292
たぶんListViewでColumnHeaderを隠してるんじゃないかな。
あれは慣れると便利。
- 299 :デフォルトの名無しさん:2016/07/09(土) 21:59:39.37 ID:zD7puYdT.net
- >>293
altVBAでもVBACsharpでもいいからとにかく作って公開してくれ。
もちろん完成前に公開するのだぞ。
Githubにブランチ切るのは今日中に出来るだろ?
- 300 :デフォルトの名無しさん:2016/07/09(土) 22:28:38.48 ID:7WqlMe8g.net
- VBAで複数のCSVをSQLしたいんですけど、
EXCELが勝手に0000を0に変換しやがります。
ふざけんなって感じじゃないすか。
Schema.iniを使えば良いらしいですが、
[あああ.csv]
設定値
[いいい.csv]
設定値
[ううう.csv]
設定値
こんな感じで書かなきゃいけないらしいんですよ。
やっぱふざけんなって感じじゃないですか。
[*.csv]
設定値
こうするか、もっと楽な方法ないですかねぇ。
Schema.iniをファイル毎に生成することも考えたのですが、
それもやっぱふざけんなって感じじゃないですか。
- 301 :デフォルトの名無しさん:2016/07/09(土) 22:31:00.46 ID:7I8POFn2.net
- >>300
SQLしたいの意味が分からないけどデータベースにCSV突っ込みたいって事ならFSO使えばいいんじゃないの。
- 302 :デフォルトの名無しさん:2016/07/09(土) 22:42:01.19 ID:I/ga01ar.net
- >>300
Excelが明示的にインポートしないと変換してくる仕様は昔から。
- 303 :デフォルトの名無しさん:2016/07/09(土) 22:45:11.11 ID:I/ga01ar.net
- CSVファイルのデータをExcel VBAでINSERT文を作るとか自動化してどうすんの?
そんなのCSVファイルをデータベースに直接、取り込めよw
- 304 :デフォルトの名無しさん:2016/07/10(日) 01:22:19.01 ID:SJuqIpcR.net
- 先にセルを文字型にしておいても、変換されちゃうんだよな。
- 305 :デフォルトの名無しさん:2016/07/10(日) 01:26:39.76 ID:kmEsp7hD.net
- 仕様ですから そこは
- 306 :デフォルトの名無しさん:2016/07/10(日) 01:27:56.57 ID:Y6I/AZoa.net
- だから後付けのインポート機能があるんだけどな。
- 307 :デフォルトの名無しさん:2016/07/10(日) 01:38:19.60 ID:V7s9ehS1.net
- Excelって何で一面データシートにしてしまったんだろうな
ワードドキュメントの中に表計算できるテーブルを配置するようにすればビューとしても優れていたのに
- 308 :デフォルトの名無しさん:2016/07/10(日) 01:43:12.49 ID:Y6I/AZoa.net
- >>307
表計算だから。
もともとドキュメントのつもりがない。
- 309 :デフォルトの名無しさん:2016/07/10(日) 02:01:23.99 ID:kmEsp7hD.net
- そうなんだよな。
だけど、驚くほどEXCELでなんでもやろうとする人が多いよね。
実際問題 VBAで複数のCSVを開けてデータを取り込みたいってどういう状況なんだろうか
0000が0になって困るってのはたぶん4桁固定のIDナンバーかなんかなんだろうけど。
EXCELで携帯電話のリストを作ると頭の0が、的な話はよく聞くけどね。
- 310 :デフォルトの名無しさん:2016/07/10(日) 02:07:17.65 ID:L6uE6Z0Q.net
- >>307
とりあえずWord 2010なら挿入→表→Excelワークシートで配置できるぞ。
- 311 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 07:47:21.61 ID:uhebCCS1.net
- >>308
表計算はドキュメントやで
意味不明なオレオレ定義すんなやカスw
- 312 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 09:01:51.34 ID:tfCmg8P7.net
- >>304
そうだっけ。配列の貼り付けとは違うんだな。
- 313 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 09:12:50.42 ID:2Txoqo86.net
- >>311
早速現れたな煽り大阪民国人
- 314 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 09:20:21.86 ID:tfCmg8P7.net
- 本製品はドキュメント作成用ではありません。
- 315 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 09:46:54.82 ID:Y6I/AZoa.net
- >>311
表計算ソフトの歴史を勉強してください。
- 316 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 10:02:02.21 ID:hfblKhxc.net
- >>309
オレなんか、まっさらなエクセル立ち上げて、最初にシート全体を文字列表示にすることがよくあるぜ。
- 317 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 10:05:17.60 ID:Y6I/AZoa.net
- >>316
俺もやる。
必要なところだけ書式を変える。
- 318 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 10:18:33.88 ID:vClNR34Z.net
- つテンプレート
- 319 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 10:59:32.99 ID:hfblKhxc.net
- テンプレは使わないなー
似たようなファイルを転用するケースもあるけど、
まっさらなキャンパスに絵を描くように、呼吸を整えて
まっさらなシートから始めるのが好きw
- 320 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 11:56:02.55 ID:kmEsp7hD.net
- >>319
好きってww
うちの会社のおじさんでEXCELを立ち上げると、まず最初に列幅を調整して
セルが正方形になるようにするところから始まる人がいる
原稿用紙みたいになるという
- 321 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 12:26:17.87 ID:uhebCCS1.net
- >>315
歴史てwwwお前がドキュメントの意味を間違えとるだけやでw
- 322 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 12:32:14.71 ID:vClNR34Z.net
- >>320
正方形に調整しただけのテンプレート作って販売(キリッ したら
目玉が飛び出るほど大儲けできる気がしてきた
- 323 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 13:52:10.57 ID:hfblKhxc.net
- 将棋の局面画像作るのにエクセル使ってたけど(今はソフト)、ちょっと
縦長にしたほうが見栄えが良いんだよな。
実際に将棋盤もそういうふうになってるし。
あと、前から不思議に思ってたけど、右クリックで行の高さを指定すると、
なんでピクセルじゃなくてミリ単位限定なんだろ・・
- 324 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 14:07:47.73 ID:Sw0fYTeN.net
- >>322
テンプレート使えるような人は既に自分で作ってるだろうし
使えないような奴はテンプレートの有用性が理解できない
- 325 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 15:43:57.02 ID:kmEsp7hD.net
- 結局、VBAでなんでもやろうとするって
炊飯器でこれも作れますというようなレシピ集と同じだと思う
できないこともないけどなんでVBAで、というね。
炊飯器でカレーが作れるのはわかるけど、鍋で作ればいいじゃん、食べた後に洗うのも大変だし、
本来の使い方ではないですよ、ということかな。
- 326 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 16:11:51.93 ID:L6uE6Z0Q.net
- VBAはMicrosoftの説明を見る限りだと
「Officeソフトには便利な機能が沢山あるよ。でもこんな機能も欲しいって時があるよね?
そんな時は自分たちでちょっと弄るだけで機能を作れてしまうんだ。そう、VBAならね」
っていう立ち位置だから、調理器具ありきの小道具を作る為の旋盤辺りのイメージじゃないかな。
- 327 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 16:12:18.13 ID:vClNR34Z.net
- >>324
もちろんそのはずだが…
世の中はもっと恐ろしいもので満ちあふれている
そうは思わないかね?
- 328 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 17:47:47.87 ID:Sw0fYTeN.net
- > 世の中はもっと恐ろしいもので満ちあふれている
確かに
>>324 が理解できてるのに >>322 みたいなこと言う奴
がいるとか恐ろしすぎる w
- 329 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 18:42:01.99 ID:kmEsp7hD.net
- ネタで言っているんだったらいいんだよね
だけど
わざわざサーバ上にEXCELファイルを置いて、ODBCラッパーを使ってアクセスするとか、
PHPEXCELなんかのライブラリまで使ってEXCELで読み書きしようとするとか
妙に遠回りすることを真面目に考えている人がたくさんいることが驚き
- 330 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 19:03:25.27 ID:SJuqIpcR.net
- 世の中、自由にソフトをインストール出来る会社ばかりじゃないからね。
ウチの会社、Excelが唯一の開発ツールなんだ。
- 331 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 19:05:50.31 ID:jEk+YG/W.net
- 俺、無事EXCELでツール作れるようになったら
この子と結婚するんだ
- 332 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 19:08:58.92 ID:Ey99Yjf2.net
- PHPEXCEL
そういうのもあるのか
- 333 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 19:38:30.46 ID:IVr75jJz.net
- Excelを全部大文字で書く奴は何かに取り付かれてるの?
- 334 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 19:39:16.76 ID:kmEsp7hD.net
- >>330
なるほど。
そういうこともあるのか。
それは経費的な問題なの?それとも別なところ?
開発ツールということだから業務で使うわけだよね?
ここであえてPython使いになってヒーローになるってのはどう?
- 335 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 19:45:12.11 ID:U4n3zeVi.net
- 情シスじゃないんだろ
そんなのその部門に作らせるか出来なきゃ開発環境入れさせろと言えばいいだけ
- 336 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 19:47:31.58 ID:UiXNSESM.net
- >>329
PHPEXCELなんかのライブラリまで使ってEXCEL*を*読み書きしようとする
これは普通やし、エクセルでなんでもする馬鹿とはちゃうで
> PHPEXCELなんかのライブラリまで使ってEXCELで読み書きしようとする
はあ?分かっとらんのお前ちゃうんか?wwww
- 337 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 19:56:23.68 ID:L6uE6Z0Q.net
- >>336
データベース代わりにExcelファイル置くのがおかしいって話だろ。
- 338 :名無しさん@そうだ選挙に行こう! Go to vote!:2016/07/10(日) 19:57:39.16 ID:nHmABucG.net
- >>334
セキュリティとかライセンスとかじゃないのかな
- 339 :デフォルトの名無しさん:2016/07/10(日) 20:01:44.89 ID:UiXNSESM.net
- >>337
データベース代わりにExcelファイル置くのがおかしいって話やないんやでw
- 340 :デフォルトの名無しさん:2016/07/10(日) 20:04:05.29 ID:kmEsp7hD.net
- >>336
大学の研究室あたりだとあると思いますが、業務用での実例は限りなく少ないですね。
少なくとも普通ではないです。
趣味でやっている人はどうかはわかりませんが。
- 341 :デフォルトの名無しさん:2016/07/10(日) 20:12:23.88 ID:UiXNSESM.net
- >>340
おいおいおいおいw
エクセル帳票やエクセルからのデータ取り込みは世の業務システムでは腐るほどありふれとるんやでw
石を投げれば当たる、どころか、石を投げる隙間もない程やw
どうして2ちゃんごときですぐにバレる知ったかぶりしようとするんやwwww
- 342 :デフォルトの名無しさん:2016/07/10(日) 20:15:50.53 ID:0mJUr/Ut.net
- >>341
大阪チョンだと思われて舐められてるんだろ
- 343 :デフォルトの名無しさん:2016/07/10(日) 21:17:40.80 ID:kmEsp7hD.net
- >>341
腐るほど?そうなんですか。
少なくとも私の会社ではそういう受注はほぼないです。
14年やっていますが、10件なかったと記憶しています。
最も比較的中規模以上の案件が多いので、中小企業向けだとあるのかもしれませんね。
- 344 :デフォルトの名無しさん:2016/07/10(日) 21:34:16.21 ID:UiXNSESM.net
- >>343
なんでやねんwwww
大所帯になる程おいそれと業務を変える訳にはいかんのやでw
つまり大企業の方が融通きかんのやw既存データの有効活用!やなw
エクセルやなきゃ業務が回らん!エクセルは絶対や!言う調子やw
その点中小なんか身軽なもんやでwしこしこ作ったエクセルなんかあっさりポイッ!やw
匿名で知ったかぶりしてお前に何のメリットあんねんwwwww
- 345 :デフォルトの名無しさん:2016/07/10(日) 21:35:33.50 ID:WXctcr0e.net
- Excel連携なんて、いわゆる業務系のシステムなら規模の大小かかわらずくさるほどあるわ
業務用で実例が少ないとか大規模だから案件がすくないとか、どこの人だよ
- 346 :デフォルトの名無しさん:2016/07/10(日) 21:37:16.41 ID:SJuqIpcR.net
- >>334
>>338
両方。
Excelも、Libre使いづれえぞゴルァで、やっと入れてもらった。
- 347 :デフォルトの名無しさん:2016/07/10(日) 22:32:19.25 ID:UiXNSESM.net
- 選挙特番で政治家をやり込めてドヤ顔するアナウンサーwwwwww
この国はどうしてこうなってもうたんやwww
- 348 :デフォルトの名無しさん:2016/07/10(日) 22:36:12.51 ID:Cd5Emc7t.net
- スレチ極まれり
- 349 :デフォルトの名無しさん:2016/07/10(日) 23:12:04.65 ID:hfblKhxc.net
- たまの雑談は脳の活性化に良いんだよ
いつも同じことを考えてると(語ってると)、脳が硬直化してしまう
- 350 :デフォルトの名無しさん:2016/07/10(日) 23:33:47.26 ID:GYdsiemj.net
- 選挙の集計もエクセルVBAでやってると妄想してみる
- 351 :デフォルトの名無しさん:2016/07/10(日) 23:36:29.28 ID:tfCmg8P7.net
- VBAでなんでもできるよ
- 352 :デフォルトの名無しさん:2016/07/10(日) 23:40:32.34 ID:DfUh8VIR.net
- VBAで彼女が出来ました!!!111111
- 353 :デフォルトの名無しさん:2016/07/11(月) 06:25:35.94 ID:RX3VZTta.net
- スプレッドシートから出てこない彼女か。
- 354 :デフォルトの名無しさん:2016/07/11(月) 07:13:56.02 ID:BOCVQw3X.net
- >>350
基本 sum( ) だけでいいから VBA すら要らんかも
- 355 :デフォルトの名無しさん:2016/07/11(月) 09:17:54.22 ID:TPKO4eIP.net
- >>350
出口調査とかならExcelかな
- 356 :デフォルトの名無しさん:2016/07/11(月) 10:00:14.45 ID:4DYEVU50.net
- カチカチやるカウンターだろ
- 357 :デフォルトの名無しさん:2016/07/11(月) 22:03:47.85 ID:krPSNDFU.net
- Do While ファイル名 <> ""
ファイル名 = Dir()
Loop
★☆★☆★☆★☆★☆★
☆使い方は把握したっ!!☆
★理論はわからない。 ★
☆★☆★☆★☆★☆★☆
- 358 :デフォルトの名無しさん:2016/07/11(月) 22:34:45.29 ID:pKTcIat2.net
- そう
- 359 :デフォルトの名無しさん:2016/07/11(月) 23:04:32.43 ID:e0Kt/sDL.net
- シートのデータ操作にSQL
これ最強
- 360 :デフォルトの名無しさん:2016/07/12(火) 00:13:13.19 ID:yxJiQG+Y.net
- でもデータ消せないんだよね
SQLだと
- 361 :デフォルトの名無しさん:2016/07/12(火) 06:21:34.16 ID:b7lJfcF5.net
- エクセルの横に並んだ4つのセルに、
1から9までの数字を小さい順にいれます。同じ数字は入れません(3344などはなし)
1234
1235
−−
−−
6787
6789
終わり
- 362 :デフォルトの名無しさん:2016/07/12(火) 06:24:54.98 ID:b7lJfcF5.net
- すみません。教えて下さい。
- 363 :デフォルトの名無しさん:2016/07/12(火) 06:48:57.71 ID:/prxUU2a.net
- 何を?
- 364 :デフォルトの名無しさん:2016/07/12(火) 07:01:09.89 ID:EVevJ4ER.net
- >>361
6787 ってのはアリなのか?
- 365 :デフォルトの名無しさん:2016/07/12(火) 07:13:32.57 ID:b7lJfcF5.net
- >>364
無しです。失礼しました。
- 366 :デフォルトの名無しさん:2016/07/12(火) 07:40:19.77 ID:lO3FUe7L.net
- それで何なんだよ。excelの前に日本語の勉強して来やがれ
- 367 :デフォルトの名無しさん:2016/07/12(火) 07:52:40.44 ID:zY3sBabo.net
- ワロス
- 368 :デフォルトの名無しさん:2016/07/12(火) 08:36:55.89 ID:VFV9DvdR.net
- >>361
Sub Macro1()
r = 1
For c1 = 1 To 6
For c2 = c1 + 1 To 7
For c3 = c2 + 1 To 8
For c4 = c3 + 1 To 9
Cells(r, 1).Resize(1, 4) = Array(c1, c2, c3, c4)
r = r + 1
Next
Next
Next
Next
End Sub
終わり
- 369 :デフォルトの名無しさん:2016/07/12(火) 20:17:58.01 ID:b7lJfcF5.net
- >>368
ありがとうございます
- 370 :デフォルトの名無しさん:2016/07/13(水) 14:31:29.76 ID:fL/U8spx.net
- 質問です
Sheet1にある複数の表をSheet2に縦に並べるマクロを作っているのですが
下のようにソートするにはどうすればいいでしょうか?
1 2 3
A 所属 番号 名前
B 千葉 3 田中
C 東京 1 鈴木
D 神奈川 2 佐藤
↓
所属 番号 名前
東京 1 鈴木
神奈川 2 佐藤
千葉 3 田中
Sheet1の表をSheet2に並べるfor〜Nextの後に
下のコードを追記したのですが
何故かソートされてなくて困ってます・・・
Worksheets("Sheet2").Sort.SortFields.Add _
Key:=Range("A1"), _
Order:=xlAscending, _
CustomOrder:="東京,神奈川,千葉", _
DataOption:=xlSortNormal
- 371 :デフォルトの名無しさん:2016/07/13(水) 15:26:24.91 ID:5B7PTTew.net
- >>370
Sub mac()
With Worksheets("Sheet2").Sort
.SortFields.Clear
.SortFields.Add _
Key:=Range("A1"), _
Order:=xlAscending, _
CustomOrder:="東京,神奈川,千葉", _
DataOption:=xlSortNormal
.SetRange Range("A2:C4")
.Apply
End With
End Sub
- 372 :デフォルトの名無しさん:2016/07/13(水) 15:57:11.46 ID:tCh9e0QZ.net
- >>370
ABCと123はタテヨコ逆だよね?
ようするにB列の番号順にソートすればいいんじゃないの?
Sub Macro1()
Worksheets("Sheet2").Select
With ActiveSheet.Sort
.SetRange Range("A:C")
.SortFields.Add Key:=Range("B:B")
.Header = xlYes
.Apply
End With
End Sub
- 373 :デフォルトの名無しさん:2016/07/14(木) 13:00:58.61 ID:rsGn6hhs.net
- >>371
出来ました!
結局、with使ってなかったのと適用範囲を指定しなかったのがいけなかったんでしょうか?
>>372
タテヨコ逆でした、すいません…
- 374 :デフォルトの名無しさん:2016/07/14(木) 20:25:52.42 ID:0KulxYW5.net
- 374が...
- 375 :デフォルトの名無しさん:2016/07/14(木) 23:28:03.33 ID:IReSPOB2.net
- 【ワイルドカード】
Excel → *
VBA → *
SELECTとFROMの間 → *
LIKEの次 → %
はぁ?wwwwwwwwww
何でだよwwwwwwwwwwwwwww
マジふざけんなwwwwwwwwwwwwwwwwww
意味わかんねえよwwwwwwwwwwwwwwwwwwwww
んなもん気づくかボケwwwwwwwwwwwwwwwww
- 376 :デフォルトの名無しさん:2016/07/14(木) 23:32:35.52 ID:+nL3BmHV.net
- VBAによるIE制御で、待機をかけるのに次のようにしています。
Sleep (1000)
Do While objIE.readyState <> 4
Do While objIE.Busy = True
Loop
Loop
カッコ内の数値が少ないとエラーが出ることがあります。
ループで開いたのを確認してるのに、なぜわざわざSleepが必要なんでしょう。
もっとうまいやり方ありますか?
wait IE open みたいなメソッドがあればなあと思います。
- 377 :デフォルトの名無しさん:2016/07/14(木) 23:40:02.54 ID:IReSPOB2.net
- 何か凄いと思うんですよ。
Dim Long as Longとか、アホなこと書いても、
ちゃんと止まってくれるというのは、
アホなことを書くことを想定しているわけですから。
- 378 :デフォルトの名無しさん:2016/07/14(木) 23:52:49.88 ID:XHg24qzo.net
- 予約語
- 379 :デフォルトの名無しさん:2016/07/14(木) 23:55:34.82 ID:ZrV1QMww.net
- 予約語を変数名に使えないのは他の言語でも常識だろ
- 380 :デフォルトの名無しさん:2016/07/15(金) 09:01:33.53 ID:0fIM9HNP.net
- >>376
多分、ページ表示後にJavascriptで生成されるようなボタンとかは
readyStateとbusyだけじゃ表示待ちしてくれない
自分は目当ての要素が現れるまでループして対処してる
- 381 :デフォルトの名無しさん:2016/07/15(金) 10:10:53.68 ID:0qbP0pBp.net
- >>380
なるほどー
確かにそれが原因っぽい
しかし、たかが表示待ちに3重の対策かけても、万全でないというのもなあ(嘆)
自分で使うだけならともかく、人様に使ってもらうのに、エラーは困るし・・
- 382 :デフォルトの名無しさん:2016/07/15(金) 10:13:18.25 ID:dzVU2xrJ.net
- これ↓をやる、とか。大変そうだけど…
ブラウザのビジー状態を判定するための,より良い方法 (WSHでIEを自動操作する際,COMのアプリケーションイベントを利用する) - 主に言語とシステム開発に関して
http://language-and-engineering.hatenablog.jp/entry/20100410/p1
- 383 :デフォルトの名無しさん:2016/07/15(金) 10:33:10.88 ID:0qbP0pBp.net
- ひゃあー
暇見て勉強しますw
>>380さん>>382さんありがとう!
- 384 :デフォルトの名無しさん:2016/07/15(金) 16:17:29.39 ID:qjQsDUv7.net
- DocumentCompleteとか、クライアントスクリプトの動作も判定してるとは思えんけど
判定してないなら、スクリプトで要素を生成する前にイベント起きるし
判定してるなら、スクリプトの書き方によってはずっとイベント発生しない事になるけど
- 385 :デフォルトの名無しさん:2016/07/17(日) 18:05:18.65 ID:/9qSJYOV.net
- 以下の'フォルダのフルパスを変数に格納の箇所を別の任意のディレクトリやネットワーク先のディレクトリなどを割り当てると
「 Cells(i, 2).Value = FileDateTime(fl_name)」の箇所がエラーになるのですが
なにがまずいのでしょうか?
Sub フォルダを指定してファイル名と最終更新日時の一覧を作成する()
Dim fld As FileDialog
Dim fd_path As String
Dim fl_name As String
Dim i As Long
fd_path = "C:\Windows" 'フォルダのフルパスを変数に格納
'指定されたフォルダの一つ目のファイル名を取得1
fl_name = Dir(fd_path & "\*")
Worksheets("Sheet1").Activate
Range("A1").Value = fd_path
Range("A2").Value = "のファイル一覧"
Range("A4").Value = "ファイル名"
Range("B4").Value = "最終更新日時"
i = 5
ChDir fd_path & "\" 'カレントフォルダの変更
Do Until fl_name = ""
Cells(i, 1).Value = fl_name
Cells(i, 2).Value = FileDateTime(fl_name)
i = i + 1
fl_name = Dir '次のファイル名を取得
Loop
End Sub
- 386 :デフォルトの名無しさん:2016/07/17(日) 18:56:50.18 ID:tjR971KD.net
- >>385
「任意のディレクトリ」じゃなくて「別ドライブのディレクトリ」でエラーになるのでは?
ChDir fd_path & "\" 'カレントフォルダの変更
の前に
ChDrive Left(fd_path, 1)
を入れれば大丈夫かと
- 387 :385:2016/07/17(日) 19:04:52.99 ID:o4fUmHLb.net
- >>386
ありがとうございます。無事解決しました!!
>「別ドライブのディレクトリ」でエラー
確かにそうです!
自力で見つけたのがエラーを無視するコマンドを入れるとそれなりに動くとわかりましたが ChDrive Left(fd_path, 1) がただしようで、仕組みはわかりませんがありがとうございました。勉強してみます。
- 388 :デフォルトの名無しさん:2016/07/17(日) 23:44:36.08 ID:NpK28tAS.net
- ワークシート指定するときワークシート変数で指定してる?
それとも単にワークシートの名前だけ指定してる?
拡張性考えるとどっちがいいのかいまいちわかってない
教えてプロvbaマン
- 389 :デフォルトの名無しさん:2016/07/18(月) 00:09:22.34 ID:x26cHOJD.net
- ワークシート変数って何?
- 390 :デフォルトの名無しさん:2016/07/18(月) 00:16:37.33 ID:o+LTE5mQ.net
- >>388
シートを削除したりするとSheet3だったのが
Sheet7とかになる
set ws=worksheets(name)
の方が良くないか?
- 391 :デフォルトの名無しさん:2016/07/18(月) 00:17:22.33 ID:HKkMIkY8.net
- >>388
ワークシートの名を自分できめられるならワークシートの名の指定で良いと思う、自分はそうしてる。
経験は無いがワークシートの名を他人が勝手にかえてしまうなら変数?のほうでいんでね
- 392 :デフォルトの名無しさん:2016/07/18(月) 00:18:39.50 ID:7xyo80gW.net
- シートの削除追加とかがあり得るならシート名だろうな
名前変えられたらそいつはシラネ
- 393 :デフォルトの名無しさん:2016/07/18(月) 00:22:08.99 ID:HKkMIkY8.net
- >>388
DBから落としてきたデータでシート名に変な番号がふられています。ただ処理するのは必ず1枚目のシートだけです。って時には裏番号のほうで指定かな。
- 394 :デフォルトの名無しさん:2016/07/18(月) 00:29:47.39 ID:x26cHOJD.net
- VBA内のコードで使う変数のことだったのか
自分はいつも、変数を用意してる。
で、その変数に入れるシートの名前をConstでコード先頭に書いてる
なんかの都合でシート名を変えるとき、そこだけ変えれば済むように
(シート名を変えたくなるのは、プログラムを組んでる自分だけとは限らない…)
- 395 :デフォルトの名無しさん:2016/07/18(月) 06:47:24.29 ID:8204gr+v.net
- >>388
拡張性を考えるならユーザーが切り替えられる様にしておく方がいいな。
作るときに認識ルール決めていても要求した本人が忘れて「バグった!」と騒ぎ出すから、
どういう認識の仕方をしているのかが分かるようになる事でマニュアル代わりにもなるし。
- 396 :デフォルトの名無しさん:2016/07/18(月) 07:47:03.08 ID:GkCx8hci.net
- >>388
変数さいつよ
- 397 :デフォルトの名無しさん:2016/07/18(月) 08:26:35.23 ID:sdX2+4b7.net
- >>389
「ワークシート(を)変数で」の意味だと思う。
この人は(を)を省略する傾向がある。
ワークシート(を)指定
名前だけ(を)指定
拡張性(を)考えると
オレも助詞を抜く傾向があるから、意識して付け加えることにしている。
ネットのせいなのか若者用語なのか・・
- 398 :デフォルトの名無しさん:2016/07/18(月) 08:41:57.15 ID:gsecFLIc.net
- ワークシートの名前: プロジェクトエクスプローラーで括弧内の方
ワークシートのオブジェクト名: プロジェクトエクスプローラーで括弧のついてない方
>>388の言うワークシート変数は後者の事やろきっと
ユーザーにシート名を変えられる可能性がある時は後者を使うのがエクセルマクラーのエチケットやで
- 399 :デフォルトの名無しさん:2016/07/18(月) 08:48:34.47 ID:gsecFLIc.net
- あれ?逆やったかなw
まあ大事なんはオブジェクト名の方やそれは間違いないわw
- 400 :デフォルトの名無しさん:2016/07/18(月) 10:00:05.79 ID:OppMr/yg.net
- クラスのアクセサですが、文献がいまいちのみこめません
「GetとLetが1セットです。 片方のみ記述することも可能です」とあります
例として、Msgboxで「1」と表示するプログラムを作るとします
クラス側
Private x As Byte
-----------
Property Get n1()
n1 = x
End Property
-----------
Property Let n1(z)
x = 1
End Property
標準モジュール側
Sub sample()
Dim y as new Class1
y.n1 = 0
Msgbox y.n1
End Sub
これをLetだけ使って書くとどうなりますか?
なんか何度やってもエラーです
- 401 :デフォルトの名無しさん:2016/07/18(月) 10:51:04.50 ID:W+ugPZSR.net
- >>400
そもそもLetだけってことは
取り込んだらその値は外部では使わないということだから、
内部で何らかしらに使うということ。
なのでLetだけを使って外部から値を取得しようとする考え方そのものが違ってる。
どうしてもLetだけで外部から参照するのであれば、それ用のメソッドを作れば出来るけど、
だったら今回のケースではLetとGetを付けた方がいい。意味がない。
- 402 :デフォルトの名無しさん:2016/07/18(月) 11:27:57.56 ID:6GFraVIr.net
- >>400
そのクラスの x というプロパティを外部からコントロールするけど、見せる必要がない場合のことを言ってるんでしょ?
外部に見せるプロパティは別にある、などが実用的なパターンじゃないか。
- 403 :400:2016/07/18(月) 11:29:45.31 ID:OppMr/yg.net
- はあ
Letだけなら値を標準の方
命令をクラスの方に書かなくちゃいけない
そこまでは判ってまして
- 404 :デフォルトの名無しさん:2016/07/18(月) 11:57:11.43 ID:A+CLIUB6.net
- Letは値の代入用、Getは値の参照用。
Letだけしか書かなかった場合は、値を参照できないのでエラーが出るののは当たり前
- 405 :デフォルトの名無しさん:2016/07/18(月) 12:03:11.32 ID:6GFraVIr.net
- >>403
>Letだけなら値を標準の方
>命令をクラスの方に書かなくちゃいけない
「標準の方」って標準モジュールのこと?
なんか勘違いしてそうだね。
- 406 :デフォルトの名無しさん:2016/07/18(月) 12:23:50.75 ID:GkCx8hci.net
- >>400
はこの場合の期待値はなに?
- 407 :デフォルトの名無しさん:2016/07/18(月) 13:14:12.69 ID:OppMr/yg.net
- >>405 >「標準の方」って標準モジュールのこと?
そうです
>>406
期待値って何でしょうかね..
つまり400のコードと同じ結果になるプログラムを
Letの片方だけ使って書くとなると、どう書き直せばいいのかということです
Msgbox〜の命令はクラスモジュールの方に書くことになるわけですよね
それともそもそも「片方のみ記述することも可能です」ってのが間違ってるのですかね
- 408 :デフォルトの名無しさん:2016/07/18(月) 13:19:30.67 ID:6GFraVIr.net
- >>407
「GetとLetが1セットです。 片方のみ記述することも可能です」
っていうのは、
・Getだけあればいい、外部から直接Setする必要はない
・外部からSetはしたいが、その値を外部に見せる必要はない
のどちらかのときは片方のみでいいよと、いう意味なんだけど。
- 409 :デフォルトの名無しさん:2016/07/18(月) 14:26:09.42 ID:A+CLIUB6.net
- >>407
Letのみ → 書き込みのみ
Getのみ → 読み取り専用
Let/Get両方あり → 書き込み・読み取りがOK
- 410 :デフォルトの名無しさん:2016/07/18(月) 14:33:34.81 ID:x26cHOJD.net
- 「『片方だけでいい』って言ったじゃないですか!Let書いただけで Get書いた時と同じにしてくださいよ!」
クレーマーやん…
- 411 :デフォルトの名無しさん:2016/07/18(月) 20:54:17.14 ID:nJB0TA+A.net
- まずその参考にした文献とやらを曝せ
VBA以外の言語での文献の内容が、VBAに100%合致するとは限らん
- 412 :デフォルトの名無しさん:2016/07/19(火) 21:47:33.23 ID:hkEX6r05.net
- 大量のデータをエクセルファイルに書き込みたい時ってどうやるのがいいの?
データは100列で1〜10万行程度
ホスト言語はVB.NETです
- 413 :デフォルトの名無しさん:2016/07/19(火) 21:53:52.63 ID:hg6Uu3X9.net
- CSVファイルとして出力しとけばいいんじゃない?
- 414 :デフォルトの名無しさん:2016/07/20(水) 07:09:15.93 ID:UwIuuVa1.net
- >>413
だからそのやり方教えろや
- 415 :デフォルトの名無しさん:2016/07/20(水) 07:46:37.93 ID:m8gh44FA.net
- >>414
だからお前が何を知ってて何を知らないか言えや
- 416 :デフォルトの名無しさん:2016/07/20(水) 09:11:58.27 ID:h/GfD3kV.net
- http://blog.goo.ne.jp/ashm314/e/e79a8f2bd9c1b6f83df78d303d183f1c
たいていのデータはコピペでいけるけどな
- 417 :デフォルトの名無しさん:2016/07/20(水) 12:24:09.35 ID:yRYAmqMn.net
- >>416 のサイトで作られてるのはCSVじゃない
>CSV ファイル(タブ区切り)
つまりTSV
データ内にタブや改行が含まれないことが保証されてるならTSVでいいとは思うけど
(しかしこのファイルを.csvで保存したら変だよね、普通.txt)
- 418 :デフォルトの名無しさん:2016/07/20(水) 12:26:56.90 ID:eXkna8pE.net
- そもそもそんな大量データを何でEXCELに直接吐き出すの?
ACCESSの方が向いてるだろうし、そもそもVB.NetでやっているならSQLSERVERやORACLEで扱って
纏めたものをEXCELに吐きだせばいいのに。
実際100列10万行のデータなんて目視で確認なんてしないでしょうに。
- 419 :デフォルトの名無しさん:2016/07/20(水) 14:11:40.42 ID:u68glDgj.net
- 計測器のログからグラフを書きたいとか普通によくあるネタじゃん
毎秒1000サンプルで2分弱測れば10万行だぜ
- 420 :デフォルトの名無しさん:2016/07/20(水) 19:53:18.06 ID:fN9vKCxb.net
- csvのA列から18 19 20を検索してExcelに表示させる方法教えて!
- 421 :デフォルトの名無しさん:2016/07/20(水) 21:06:06.74 ID:LsLycZTQ.net
- ここんところエスパー能力試される質問多すぎるだろ。
- 422 :デフォルトの名無しさん:2016/07/20(水) 21:29:23.96 ID:SYwm8ejQ.net
- 夏休みに入ったんじゃね?
- 423 :デフォルトの名無しさん:2016/07/20(水) 22:02:03.54 ID:K4cVgK3X.net
- エスパー能力が必要とされる質問なんか答えなけりゃ良いのに答えたがる奴も多いし
ま、好きにしろだけどw
- 424 :デフォルトの名無しさん:2016/07/20(水) 22:34:35.95 ID:Us5vNiuD.net
- >>414
なりすましはやめてください
- 425 :デフォルトの名無しさん:2016/07/20(水) 22:42:18.98 ID:VUwhOxS4.net
- >>420
VBAで検索するよりCSVを丸ごと全部読み込んでからオートフィルターかけた方が早い
- 426 :デフォルトの名無しさん:2016/07/21(木) 07:11:56.45 ID:XlgagdXR.net
- vbaprojectのパスワード保護の自動化方法を教えてください
- 427 :デフォルトの名無しさん:2016/07/21(木) 14:02:44.89 ID:XMzMLtSH.net
- シートを2つに分割して一方のセルを選択するにはどうすればいいですか?
- 428 :デフォルトの名無しさん:2016/07/21(木) 14:07:57.86 ID:rvx70Wp+.net
- >>422の言う通りになってきた
- 429 :デフォルトの名無しさん:2016/07/21(木) 20:11:49.86 ID:uhgPGv5i.net
- 亀レスで申し訳ないけど>>292で言ってたのの正体が分かったわ。
EXCELオブジェクト使ってる訳でもなく、どこぞから何か持ってきて入れ込んで参照している訳でもなくて
ラベルとスクロールバーで表現してるんだわ。
多分これ、そこそこ応用が利いて
EXCELシートの中で一定範囲のセルだけスクロールバーでスクロールしているように見せ掛けることが出来たり、
2013から取り入れられたグラフにスクロールバーで時系列を持たせる機能も擬似的に表現出来そう。
質問じゃなくて悪いけど報告までに。
- 430 :デフォルトの名無しさん:2016/07/21(木) 22:40:08.41 ID:LZe6kNPo.net
- 拙者、頭悪いので、何言ってるのかわからないでござる。
- 431 :デフォルトの名無しさん:2016/07/22(金) 03:55:00.72 ID:RfXIlP2K.net
- 器用な人が標準コントロールの組み合わせだけで小規模なワークシートもどきをフォーム上に作ってたのを見て感動した
ってことでしょ
- 432 :デフォルトの名無しさん:2016/07/22(金) 08:27:04.48 ID:RYF3pcO+.net
- 初歩的な質問ですが
x1 = 3 Or 5
MsgBox x1
これを実行すると7が表示されるんですが
なんで x1 = 3 Or 5 だと x1 が7になるんでしょうか?
- 433 :デフォルトの名無しさん:2016/07/22(金) 08:33:14.12 ID:LVcX/nWL.net
- >>432
二進法とビット演算(論理和)について調べるがよろし
- 434 :デフォルトの名無しさん:2016/07/22(金) 08:33:55.26 ID:ICNDF5v6.net
- >>432
3は2進数で011
5は2進数で101
論理和orを計算すると
2進数で111
これは10進数で7
- 435 :デフォルトの名無しさん:2016/07/22(金) 08:34:35.59 ID:0LYPsk9m.net
- Orってビット単位なんだっけ?
5 = 101
3 = 011
を重ね合わせて111すなわち7になるんじゃね?
- 436 :デフォルトの名無しさん:2016/07/22(金) 08:36:10.15 ID:0LYPsk9m.net
- もしかして結果はTrueと見なされない?
- 437 :432:2016/07/22(金) 08:41:55.46 ID:RYF3pcO+.net
- ということは
Or は両辺が整数だとビット演算をやる
条件式だといずれか真の二択をやる
この理解であってますか
- 438 :デフォルトの名無しさん:2016/07/22(金) 10:00:19.69 ID:0LYPsk9m.net
- Or演算子がCでの || じゃなくて | 相当だなんて罠としか言いようがないな
- 439 :デフォルトの名無しさん:2016/07/22(金) 10:46:56.75 ID:oTdFFU0n.net
- >>435
うん、ビット単位だよ
VBはみんなORもANDもビット単位
>>437
違う、すべてビット演算
だから1 AND 2ならFALSEになるので気をつけて
- 440 :デフォルトの名無しさん:2016/07/22(金) 12:50:44.70 ID:LVcX/nWL.net
- Boolean 型を適切に使えばほとんど混乱しないはず
- 441 :デフォルトの名無しさん:2016/07/22(金) 13:49:33.88 ID:2d8IYdtg.net
- こんなサンプル作ってみた
Sub boolTest()
Dim i As Integer
Dim b As Boolean
'0x0001 と 0x0010 の論理積
i = 1 And 16
b = 1 And 16
Debug.Print "i:" & i & " Hex(i):" & Hex(i) & " b:" & b & " Hex(b):" & Hex(b)
'出力 i:0 Hex(i):0 b:False Hex(b):0
' ※論理積の結果は0x0000となり、10進数値としても0、ブール値はFalse
'0x0011 と 0x0111 の論理積
i = 17 And 273
b = 17 And 273
Debug.Print "i:" & i & " Hex(i):" & Hex(i) & " b:" & b & " Hex(b):" & Hex(b)
'出力 i:17 Hex(i):11 b:True Hex(b):FFFF
' ※論理積の結果は 0x0011となり、10進数値は17、ブール値としては Trueと評価される。
' Boolean型変数に格納される際、0でない値はTrueとして
' ExcelのTrueの定義である0xFFFF(10進で-1)に変換されていることがわかる。
End Sub
- 442 :デフォルトの名無しさん:2016/07/22(金) 14:18:02.15 ID:0LYPsk9m.net
- でも = True での判定は要注意じゃなかったっけ?
- 443 :デフォルトの名無しさん:2016/07/22(金) 16:13:21.49 ID:2d8IYdtg.net
- 懲りずにまた作ってみた
Sub boolTest2()
'「1 and 3」をブール値として評価
Debug.Print "1 and 3 : ";
If 1 And 3 Then
Debug.Print "True"
Else
Debug.Print "False"
End If
'出力 1 and 3 : True
' ※「1 and 3」は2進数で11となり、当然ブール値でもないが
' If 〜 then の条件なので自動的にブール値に変換して解釈される。
' 11をブール値に変換すると(ブール型変数に格納したときと同様)True になる。
'「(1 and 3) = True」をブール値として評価
Debug.Print "(1 and 3) = True : ";
If (1 And 3) = True Then
Debug.Print "True"
Else
Debug.Print "False"
End If
'出力 (1 and 3) = True : False
' ※「1 and 3」は2進数で11、10進で3、ここではまだ条件式の一部なので数値のまま。
' なので、10進で-1 のTrueとの比較の結果はFalseになる。
End Sub
- 444 :デフォルトの名無しさん:2016/07/22(金) 18:39:30.73 ID:kjsIIsyL.net
- 判断で使用する場合は0がFalseでそれ以外はTrue。
逆に数値変換するとFalseが0でTrueが-1。
何でTrueが-1かというと、その数値の領域で全てBitが立っている場合は
例えばIntegerだと2Byte、16進数で&hFFFF、これはVBAだとトップビットをマイナスとしていて、
&hFFFFから&h8001を-1〜-65535として10進数で表現しているから。
0は当然0だけど、&h8000が0になるかはちょっと忘れた。
- 445 :デフォルトの名無しさん:2016/07/22(金) 18:42:47.05 ID:RfXIlP2K.net
- >>444
イミディエイトウィンドウで
PRINT &H8000
てやってみ
- 446 :デフォルトの名無しさん:2016/07/22(金) 19:14:26.71 ID:LVcX/nWL.net
- >>442
どんな言語でも = TRUE とか == TRUE とか書く奴はアホだと思う
- 447 :デフォルトの名無しさん:2016/07/22(金) 20:03:27.54 ID:2d8IYdtg.net
- えっ
- 448 :デフォルトの名無しさん:2016/07/22(金) 20:03:44.13 ID:kjsIIsyL.net
- >>446
それな。
以前 If hoge Then じゃなくて If hoge = True Then って書かなきゃダメっていう
コーディングルールの仕事場に当たったことあるわ。
何でもTrueであることを明示しないと可読度が下がるとか。
何でその程度で読みにくくなるとか言ってる連中のレベルに合わせなきゃならんのだとは思ったけど
そこは社畜の悲しいところで「はい」としか言えませんでした。はい。ヘタレです。
- 449 :デフォルトの名無しさん:2016/07/22(金) 20:14:02.16 ID:DRcbUMgM.net
- If IndexNotFound Then Exit Function
みたいな書き方が出来るようにIfとかThenとかあるのにな。
- 450 :デフォルトの名無しさん:2016/07/22(金) 20:15:25.37 ID:0LYPsk9m.net
- 言語によるかもしれんが
整数 == bool値
という式では
整数→ bool値
と変換されるんじゃなくて
bool値→整数
と変換されるから、「0以外の整数はtrueに評価される」とだけ覚えていると「あれ?」ってなる。
- 451 :デフォルトの名無しさん:2016/07/22(金) 20:38:26.63 ID:LVcX/nWL.net
- >>448
まあ雇われの身じゃしょうがないよね
うちの会社でもコーディングルールはわからんけど結構その手のコードを見かけるからそう言う考え方に凝り固まった奴等がいるんだろうな
>>450
そう言うトラップもあるから Boolean と Integer の比較はエラーにして欲しいぐらい
- 452 :デフォルトの名無しさん:2016/07/22(金) 20:42:34.05 ID:oTdFFU0n.net
- >>448
いや、ヘタレじゃないよ
コーディングルールに口を挟む権限もないのに口を挟むのは無謀
お前の意見なんて誰も求めてないしとか言われるのがオチ
- 453 :デフォルトの名無しさん:2016/07/22(金) 20:43:06.09 ID:1L1CnbzY.net
- >>432
IF以外でORって初めて知ったわ。
直接 MsgBox 3 Or 5 でもいけるのな。
Excelで必要な状況が思いつかないけど。
- 454 :デフォルトの名無しさん:2016/07/22(金) 20:48:32.21 ID:oTdFFU0n.net
- >>451
俺も初心者の頃は必ず" = TRUE"を付けてたわ
そのほうが分かりやすい気がして
よく考えたら付けるべきじゃないなと思って現在に至る
- 455 :デフォルトの名無しさん:2016/07/22(金) 20:52:55.36 ID:DRcbUMgM.net
- >>453
BOOLEAN型がBYTE型よりもメモリを食うというのが嫌で、
BYTE型のビット一つ一つをフラグに見立てて処理していた時期が私にもありました。
- 456 :デフォルトの名無しさん:2016/07/22(金) 20:59:41.39 ID:oTdFFU0n.net
- >>453
ORは四則演算と同じ演算子、ANDも同じ
IF文は条件式の演算結果が0以外なら真、0なら偽として分岐するかどうかを判断してる
なので
If (Shift AND vbShiftMask) And (Shift AND vbCtrlMask) Then
シフトキーとコントロールキーの両方が押されてる場合の処理
End If
とやってシフトキーとコントロールキーの両方押しても処理が行われない罠がある
- 457 :デフォルトの名無しさん:2016/07/22(金) 21:00:42.34 ID:8iZGHv2N.net
- >>453
組み込みとかファイルフォーマットを直接触るとかやるとビット演算は必須科目
- 458 :デフォルトの名無しさん:2016/07/22(金) 21:04:28.84 ID:8iZGHv2N.net
- >>456
> If (Shift And (vbShiftMask Or vbCtrlMask)) <> 0 Then
って書けよ
- 459 :デフォルトの名無しさん:2016/07/22(金) 21:12:45.74 ID:oTdFFU0n.net
- >>458
いや、罠になる書き方をあえて書いたんだが
て言うかそれシフトキーやコントロールキー単独で押してても通るんじゃないか?
シフトキーとコントロールキー同時押しの場合だから
If (Shift AND vbShiftMask) <> 0 And (Shift AND vbCtrlMask) <> 0 Then
が正解じゃないかな
- 460 :デフォルトの名無しさん:2016/07/22(金) 22:19:45.11 ID:Oi2oQZIZ.net
- 仕様書に〜〜が真の場合〜〜って書いてあったらIF 〜〜 = True Then 〜〜が正しい
仕様書にもし〜〜なら〜〜って書いてあったらIF 〜〜 Then 〜〜が正しい
- 461 :デフォルトの名無しさん:2016/07/22(金) 22:24:09.76 ID:CZyhF9yf.net
- if文を2重にしたらあかんの?
- 462 :デフォルトの名無しさん:2016/07/22(金) 22:30:46.58 ID:pZfwEDvq.net
- >>461
いや、そこは使い分け。
VB.Netと違ってOrElseやAndAlsoのように
片側で条件を満たしていたらもう片方は見ないような命令があればいいんだけどね。
- 463 :デフォルトの名無しさん:2016/07/22(金) 22:33:44.86 ID:8iZGHv2N.net
- >>459
> て言うかそれシフトキーやコントロールキー単独で押してても通るんじゃないか?
ああすまん、素で間違えたわ
> If (Shift And (vbShiftMask Or vbCtrlMask)) = (vbShiftMask Or vbCtrlMask) Then
だな
- 464 :デフォルトの名無しさん:2016/07/22(金) 22:40:43.57 ID:pZfwEDvq.net
- 何か変な日本語になっちゃったな
VB.NetみたいにAndAlsoやOrElseがあればいいのにって言いたかったんだけどね。
Bit演算子は余り使う機会は無いとは思うけど、例えば処理落ちを想定したキーの立ち上がりや
たち下がりを検出するような場合とても便利。
ついでにXor、排他的論理和っていうのも覚えておくと1年に1回くらい使う機会があるかもよ。
- 465 :デフォルトの名無しさん:2016/07/22(金) 23:23:18.45 ID:juk3Zv6n.net
- 処理落ちを想定したキーの立ち上がりやたち下がりを検出するようなプログラムをVBAで書くのか
言語の選択間違ってるとしか思えんな
ビット演算多用するような人ならXorの出番は年一度ぐらいじゃ済まないだろうけど
EqvやImpなんて使ってるのを見た事ないんだが、要るのかこんなの
- 466 :デフォルトの名無しさん:2016/07/22(金) 23:28:39.29 ID:FqPJsvF6.net
- もしもの場合でしょ
- 467 :デフォルトの名無しさん:2016/07/22(金) 23:34:10.85 ID:kDVDxE93.net
- ベーシックの時代にマシン語でゲームをプログラミングした人なんかもう60過ぎてるだろうな。
- 468 :デフォルトの名無しさん:2016/07/22(金) 23:39:21.02 ID:ULnutzYh.net
- >>467
PC-8001でマシン語使ってたけどまだ40代 v(^ ^)v
- 469 :デフォルトの名無しさん:2016/07/22(金) 23:45:09.56 ID:2d8IYdtg.net
- >>468 何歳代かって言えば40代なだけだろうがこの50前!(同年代)
- 470 :デフォルトの名無しさん:2016/07/23(土) 00:12:16.26 ID:da2akIvt.net
- 俺もAppleUでマシン語というかアセンブラやってたけど、やっぱり同年代。
でもあの頃の知識なんて今は殆ど糞の役にも立ってない。
今はやっぱりC#かなぁ。
- 471 :デフォルトの名無しさん:2016/07/23(土) 01:11:52.62 ID:u6vF+2FW.net
- mon
g5000
- 472 :デフォルトの名無しさん:2016/07/23(土) 01:26:57.83 ID:bya2YY6V.net
- >>463
なるほど上手い書き方だな
>>468
俺はポケコンのPC-1350でマシン語だわ
PC-8001ほしかったけどまだ小学生で買ってもらえなかったわ
>>470
あの頃の知識でC言語のポインタに躓かないで済んだし、エラーの原因追及や
エラーメッセージの理解に役立ってると思うけどな
C#はWindowsのGUIアプリ作るのには重宝するわ。JavaのSwingとか面倒
- 473 :デフォルトの名無しさん:2016/07/23(土) 05:41:37.11 ID:1HaRX3ET.net
- >>472
Windowsだけでいいなら、Swingなんて使わねえよ。
- 474 :デフォルトの名無しさん:2016/07/23(土) 07:29:43.80 ID:MIlmP+ox.net
- 助けて!
うちの仕事場strutsなの!
- 475 :デフォルトの名無しさん:2016/07/23(土) 09:29:25.43 ID:2bxKNtql.net
- 30年以上前のことだからよく覚えてないけど、ビット操作やったなあ
60代・・
ちなみに40年前に初めて触った100万以上するシャープのパソコンは簡易言語だが、
経理に頼まれて手がけた金種計算プログラムですらメモリー足りなくて頭ひねった。
こういう所があったら、競争であっという間に解決案を見つけてくれるなw
- 476 :デフォルトの名無しさん:2016/07/23(土) 11:46:05.09 ID:qM9FSb2o.net
- メモリが足りなかったからフラグなんて1ビットずつ詰めて使うのが当たり前だったのに、今のBoolean型ときたら・・・・
- 477 :デフォルトの名無しさん:2016/07/23(土) 18:32:01.47 ID:3eZVR2BS.net
- 正数をマイナス値に変換したいのですが
If Cells(1, 1) < 0 - Cells(1, 2) Then
セルB1に50と入力されている状況で
この値を-50として扱いたい場合は上の式のような書き方で問題ないでしょうか?もっと合理的な方違法があるのでしょうか?
- 478 :デフォルトの名無しさん:2016/07/23(土) 18:33:32.41 ID:g2JPf/Pc.net
- A1 B1
-51 50
- 479 :デフォルトの名無しさん:2016/07/23(土) 18:44:40.18 ID:nVwrpHhO.net
- 0無しで直接いけると思うけど・・・
If Cells(1, 1) < -Cells(1, 2) Then
- 480 :デフォルトの名無しさん:2016/07/23(土) 18:47:55.04 ID:g2JPf/Pc.net
- >>479
なんとこんなやり方があるとは知りませんでした。
ありがとうございました。
- 481 :デフォルトの名無しさん:2016/07/23(土) 20:29:32.99 ID:a1Po09QO.net
- >>477-480
この一連の流れが理解できないのは俺だけ?
- 482 :デフォルトの名無しさん:2016/07/23(土) 21:55:05.74 ID:ZmjtE4Zb.net
- 二項演算子か単項演算子か
- 483 :デフォルトの名無しさん:2016/07/23(土) 23:42:18.24 ID:/Y8I/mSf.net
- >>481
理解はできるが、思いつかない式だな。
パッと見、普通のセルよりデカいマイナスセルって何だよって感じだし。
- 484 :デフォルトの名無しさん:2016/07/23(土) 23:59:53.30 ID:cHgz8jwM.net
- RangeオブジェクトのデフォルトプロパティがValue
そのマイナスの値
- 485 :デフォルトの名無しさん:2016/07/24(日) 00:06:59.14 ID:ZNLcMouN.net
- ああ、Ifとか比較演算子とか関係なくて
0 - Cells(1, 2) が
-Cells(1, 2) でいいって、それだけの話か
- 486 :デフォルトの名無しさん:2016/07/24(日) 00:16:07.94 ID:ZNLcMouN.net
- ちなみに俺なら、単項演算子の-は比較演算子よりは優先順位高いのはイメージしてるけど
<と(2項演算子の)-と、どっちが優先順位高いか即答できないので
If Cells(1, 1) < 0 - Cells(1, 2) Then と書くなら
If Cells(1, 1) < (0 - Cells(1, 2)) Then と書くけどな
- 487 :デフォルトの名無しさん:2016/07/24(日) 00:18:53.15 ID:XJWT+g9W.net
- >>481
>>477
0-50 = -50
↓
X <(-50)
>>479
X <- (50)
わかりやすくするためかっこをつけてみた。
- 488 :デフォルトの名無しさん:2016/07/24(日) 00:20:25.62 ID:XJWT+g9W.net
- >>486
2分おそかったかwww
- 489 :デフォルトの名無しさん:2016/07/24(日) 00:27:21.07 ID:QPXcTu01.net
- 32ビッtcCPUだと、
IntegerよりLongの方が速いって本当ですか?
速くてもメモリに悪いとかありますか?
- 490 :デフォルトの名無しさん:2016/07/24(日) 06:17:12.71 ID:0Ujlbf2D.net
- >>489
どっちが速いかは単純には決まらないらしい
http://homepage2.nifty.com/GTX_4WD/paso/excel_VBA/Integer_Long/Integer_Long.html
- 491 :デフォルトの名無しさん:2016/07/24(日) 07:28:57.85 ID:ly5reTdt.net
- >>489
気になるなら実測すればいい
- 492 :デフォルトの名無しさん:2016/07/24(日) 08:36:56.04 ID:QPXcTu01.net
- >>490
>>491
Win10 Corei5で実測したらIntegerの方が速かったです。
/(^o^)\
- 493 :デフォルトの名無しさん:2016/07/24(日) 13:28:18.80 ID:ZNLcMouN.net
- そもそもCorei5は32ビットCPUじゃないだろうと
- 494 :デフォルトの名無しさん:2016/07/24(日) 14:11:43.82 ID:mqY1fj6D.net
- Intel64はAMD64と同様32bitでも64bitでも動かせるよう設計されたCPU
Intel64がAMD64のパクリというかMSがIntelにAMD64と同じように作れと指示した
- 495 :デフォルトの名無しさん:2016/07/24(日) 17:31:14.75 ID:R21VyQ/k.net
- そういやIA32のCPUって今売ってるのか?
- 496 :デフォルトの名無しさん:2016/07/24(日) 18:10:52.71 ID:0Ujlbf2D.net
- >>495
組み込み用として現役で出荷されてる
個人が単体で買うことはできないはず
- 497 :デフォルトの名無しさん:2016/07/25(月) 15:32:35.10 ID:yzQSnoSu.net
- 現象 HasFormulaがTrueしか返さなくなる
環境1 Excel2007 Windows7からWindows10にアップグレードした後で誤判定が起こるようになった
環境2 Excel2013 Windows8.1では正しく判定できる
'メインのプロシージャ
Sub QuitbyVBA()
Cells(1, 1) = 1
Cells(2, 2) = 2
Application.Quit
End Sub
'ThisWorkbookに以下を記述
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Cells(1, 1) = "1" And Cells(2, 2) = "2" Then
sss = Cells(3, 3).HasFormula 'Cells(3, 3)に数式が入っていなくてもHasFormulaが誤判定してTrueになってしまう
If sss = True Then MsgBox "数式が入ってるよ"
End If
End Sub
ちなみにandで条件判定を1つのIfにまとめてますが、andを使わずに2つのIfに分けて記述すると、
今度はCells(3, 3)に数式が入っていてもHasFormulaがFalseしか返さなくなる謎もあります。
Windowsアップグレードに関わるHasFormulaのバグと考えてますが、何故このような結果なってしまうのでしょう?Excel2007とWindows10の相性が悪いのでしょうか?
HasFormula以外でWindowsアップグレード前と挙動が変わってしまう例ってありますか?
- 498 :デフォルトの名無しさん:2016/07/25(月) 16:32:43.09 ID:AgJoaEht.net
- >>497
そのブックうp
- 499 :デフォルトの名無しさん:2016/07/25(月) 18:16:51.79 ID:meg0UQ5k.net
- Win7 Excel2010で試した
一回 Cells(3, 3) に数式を入れてTrueを出したら、セルを削除しても何してもTrueばっかり出るようになった
Cells(2, 2) の値を消してQuitbyVBA内のCells(2, 2)への書き込みをコメントアウトしたら、ようやくFalseになったけど
Cells(2,2)に値を入れるとまた元に戻る
とりあえず、一回Trueを出すとCells(2, 2)に値があるだけでTrueになってしまうという状態に、自分はなった
さっぱりわからない…
ちょっと違うが、こんなの↓も見つけた(このページでも、HasFormulaは「信頼性にかける」という結論になっている…)
ExcelのHasFormulaプロパティ
https://social.msdn.microsoft.com/Forums/windowsdesktop/ja-JP/b53db5f7-2701-457c-bfb1-34e0e051c5fa/excelhasformula?forum=vbajp
- 500 :デフォルトの名無しさん:2016/07/25(月) 18:42:45.74 ID:lBTvXBVT.net
- >>497
VistaのExcel2007で試してみたが同じ現象になった。
Windows10はおそらく関係ないかもしれない?
- 501 :デフォルトの名無しさん:2016/07/26(火) 16:14:14.36 ID:8lM88XPQ.net
- 初心者だし全然わからないけど、ブックかシートの指定の関係は?
>'Cells(3, 3)に数式が入っていなくてもHasFormulaが誤判定してTrueになってしまう
別のシートのCells(3,3)の判定結果が出てるとしか思えないw
- 502 :デフォルトの名無しさん:2016/07/26(火) 20:42:57.39 ID:JTSnjpWK.net
- Excel2007でユーザーフォーム上に表(エクセルシートのようなイメージ)を表示させたい
その実現方法は、リストボックスというコントロールを使うしか思いつかなくて
他にはないですか。
テキストボックスを縦に並べて作成してこれらをまとえてコピーして貼り付けを繰り返す
のはなしにしてください。
- 503 :デフォルトの名無しさん:2016/07/26(火) 20:55:16.90 ID:xU7WOVAC.net
- Microsoft OfficeSpreadSheet ってコントロールは?
- 504 :デフォルトの名無しさん:2016/07/26(火) 21:01:29.28 ID:xU7WOVAC.net
- 後、ListViewコントロールでもグリッド出せるからそれでも良いのかも?
- 505 :デフォルトの名無しさん:2016/07/26(火) 21:02:15.41 ID:JTSnjpWK.net
- >>503
そのコントロールはネットで調べて知ったけど
昔のExcel2003にはあって、Excel2007以降はなぜか消えてなくなった。
ネットから落としてくるしかないのかな。
- 506 :デフォルトの名無しさん:2016/07/26(火) 21:17:36.34 ID:JTSnjpWK.net
- >>504
ListVeiwでぐぐったら自分のやりたいこととマッチしていたのでListView使います
- 507 :デフォルトの名無しさん:2016/07/26(火) 21:24:18.53 ID:xU7WOVAC.net
- >>505
そうなの?俺、excel2010だけど、あるよ
2010で復活したのか?
http://www.rupan.net/uploader/download/1469535720.JPG (pass excel)
まぁ無かったらListviewコントロール使うかどうか。後は知らない
- 508 :デフォルトの名無しさん:2016/07/26(火) 21:27:04.66 ID:xeltoumX.net
- 最初に無があった
無は有を生んだ
これが全ての真理
- 509 :デフォルトの名無しさん:2016/07/26(火) 21:27:13.35 ID:xeltoumX.net
- 最初に無があった
無は有を生んだ
これが全ての真理
- 510 :デフォルトの名無しさん:2016/07/26(火) 22:44:36.67 ID:GPggNQqq.net
- 高校生の時、全ては真理ちゃん一筋だった。
- 511 :デフォルトの名無しさん:2016/07/26(火) 23:02:43.29 ID:cvnz4fCK.net
- マリちゃん危機一髪
- 512 :デフォルトの名無しさん:2016/07/27(水) 01:06:38.12 ID:GTzALfEo.net
- >>503
OfficeSpreadSheetは、2003までに付属していた
オプション機能 Office Web Components の一部みたいね
2007で使う場合、以下が必要っぽい
(あと念のためWindows Updateもいくつか)
Office 2003 アドイン : Office Web Components
https://www.microsoft.com/ja-jp/download/details.aspx?id=22276
2007 Microsoft Office system 用 Microsoft Office 2003 Web Components Service Pack 1 (SP1)
https://www.microsoft.com/ja-jp/download/details.aspx?id=1878
- 513 :デフォルトの名無しさん:2016/07/27(水) 03:05:33.13 ID:qEY12Ne0.net
- >>511
最後の1枚を脱ごうとしたところでバグる(という演出)だった
- 514 :デフォルトの名無しさん:2016/07/28(木) 15:13:58.74 ID:y25yJxgm.net
- このスレに株をやってる猛者はおらんかね
- 515 :デフォルトの名無しさん:2016/07/28(木) 16:19:29.19 ID:hvVeXg7C.net
- 猛者じゃないけど株はやってる
今日だけで時価総額△42,300円
昨日は+34,000だったが・・
- 516 :デフォルトの名無しさん:2016/07/28(木) 16:20:17.93 ID:LmLdUHqp.net
- いまは為替の方が怖くね?
- 517 :デフォルトの名無しさん:2016/07/28(木) 19:43:37.58 ID:LfaWZ7kq.net
- データは集めている(取引は現在やっていない)。で、だからどうした。アンケート取りたいんなら他の板でやれよ
- 518 :デフォルトの名無しさん:2016/07/28(木) 20:19:17.67 ID:XaliVrvY.net
- 株のデータを自動的に取得したい←分かる
取得したデータを分析して取引に活かしたい←分かる
それをエクセルで管理したい←分からない
- 519 :デフォルトの名無しさん:2016/07/28(木) 20:39:47.69 ID:CiVs2W3d.net
- >>518
まえ二つは分かるのか
- 520 :デフォルトの名無しさん:2016/07/28(木) 22:00:43.78 ID:qROkzyYk.net
- マクロで行の高さを自動調整って出来ないもんかね
折り返し文字を入れてるんだけど、セルの結合してないのに行の高さが自動調整されなくてイライラする
- 521 :デフォルトの名無しさん:2016/07/28(木) 23:16:01.48 ID:XaliVrvY.net
- >>520
Rows(x).AutoFit
- 522 :デフォルトの名無しさん:2016/07/29(金) 00:06:48.97 ID:Igy5PGjq.net
- 2013で、シートは1048576行あるのに、
SQLだと65536行以上取り出せないのは何故???
maxbuffersizeとか増やしてもダメなんですけど。
SQLの意味ないじゃんじゃん。
- 523 :デフォルトの名無しさん:2016/07/29(金) 00:33:16.27 ID:Wk8+6TzI.net
- そりゃバッファサイズで行数が変わるわけないとは思うが
まさかこれじゃないよね…
Excel 2007で6万5536行以上のデータ - その他MS Office 解決済 | 教えて!goo
http://oshiete.goo.ne.jp/qa/6994180.html
- 524 :デフォルトの名無しさん:2016/07/29(金) 00:34:07.50 ID:Wk8+6TzI.net
- 行あるって書いてたwごめんごめん
- 525 :デフォルトの名無しさん:2016/07/29(金) 00:35:02.04 ID:3utCGLxp.net
- そんなに大量の行をSQLで引っ張るってのは普通しないんじゃないかな?
設計としておかしいと思うけど。
- 526 :デフォルトの名無しさん:2016/07/29(金) 00:36:49.84 ID:Igy5PGjq.net
- >>523
それではないです。
シート自体は1048576行あるので。
- 527 :デフォルトの名無しさん:2016/07/29(金) 00:42:46.35 ID:Igy5PGjq.net
- >>525
普通はAcsessでしょうけどね・・
ウチの会社、Acsessは一部のPCにしか入ってないので、
Excelでやるしかないんです・・
- 528 :デフォルトの名無しさん:2016/07/29(金) 00:43:02.92 ID:eExW206l.net
- >>521
それで出来ないから言っとるんや…
- 529 :デフォルトの名無しさん:2016/07/29(金) 00:43:45.04 ID:Igy5PGjq.net
- すいません、そういう意味じゃないですね
- 530 :デフォルトの名無しさん:2016/07/29(金) 01:20:27.10 ID:Wk8+6TzI.net
- MySQLからデータ読み込んで、11万行いけたよ(それ以上はめんどくさいので試してない)
DBの種類と接続方法は?
- 531 :デフォルトの名無しさん:2016/07/29(金) 01:50:12.08 ID:uBfaHE9r.net
- DBが何か以前に、SQLで取り出しってのは具体的には何をどうやってるんだ
- 532 :デフォルトの名無しさん:2016/07/29(金) 12:19:47.18 ID:dOXRlCQn.net
- >>528
そんな情報>>520のどこにも書いてねーだろ死ね
- 533 :デフォルトの名無しさん:2016/07/29(金) 12:40:50.88 ID:kD4Qgjdf.net
- >>522
取り出せないと言ってるのは何かからRecordsetに取り込んでそれがExcelのシートに取り出せないのか
ExcelのシートにODBCとかでSQL投げてRecordsetに取り込めないのかどちらだ?
- 534 :デフォルトの名無しさん:2016/07/29(金) 12:47:14.14 ID:bmnSbyBv.net
- きちんとわかりやすく説明できる人は、ググルなどして自分で解決できる能力がある人。
つまり、自分で解決できない人はきちんと説明できない。
「AならばB」=「BでなければAでない」
- 535 :デフォルトの名無しさん:2016/07/29(金) 13:14:11.23 ID:WGKZmyFx.net
- >>534が何を説明しているのか全くわからない
- 536 :デフォルトの名無しさん:2016/07/29(金) 13:15:19.34 ID:t/FCclov.net
- >>532
行の高さの自動調整が出来ないって書いとるやん
- 537 :デフォルトの名無しさん:2016/07/29(金) 13:20:04.21 ID:0AtpCrW0.net
- >>535
大丈夫、俺もわからない。多分テキトーにそれっぽいこと言ってるだけだろう
- 538 :デフォルトの名無しさん:2016/07/29(金) 13:37:55.13 ID:bmnSbyBv.net
- >>535 >>537
頭に「聞きたいことを」を加えてくれ・・
総合スレに行くとほとんどそうだぜ。
>>522とか>>528に言ってる。
- 539 :デフォルトの名無しさん:2016/07/29(金) 13:48:09.76 ID:dOXRlCQn.net
- >>536
なにがどう出来ないのかわからねーよ死ね
まず自分が何をしたか書け
エラーが出るならそのエラー内容を省略せずに書け
意図した動作と違うなら意図していた動作と結果の動作を書け
そして死ね
- 540 :デフォルトの名無しさん:2016/07/29(金) 14:49:22.94 ID:JTeyEx+C.net
- >>535
対偶な
- 541 :デフォルトの名無しさん:2016/07/29(金) 15:05:09.29 ID:manwr+ZE.net
- >>535
逆の裏な
- 542 :デフォルトの名無しさん:2016/07/29(金) 23:50:17.96 ID:Igy5PGjq.net
- >>525
>>530
>>531
>>533
>>523
すみません、自己解決しました。
Excelのテーブル化に、名前の定義を使ってたんですけど、
これが65536行以上あると、
Microsoft Query側で、テーブルとして認識してくれないようです。
(テーブル選択画面に出てこない)
名前の定義をやめて、システムテーブルにしたら出来ました。
SELECT * FROM 定義した名前 → 65536行以上は不可
SELECT * FROM シート名 + $ → 65536行以上もOK
- 543 :530:2016/07/30(土) 00:11:44.76 ID:cua4PELF.net
- なーる。これですっきりしたw お疲れさまでした。
- 544 :デフォルトの名無しさん:2016/08/02(火) 22:03:17.94 ID:tn1deP8x.net
- >>542
うちの2007で試したけど範囲名指定で7万行取ってこれてるけど?
- 545 :デフォルトの名無しさん:2016/08/02(火) 23:39:52.71 ID:ou8OQMDu.net
- ちょいと質問
Dim Sht As Worksheet
Set Sht = ThisWorkbook.Worksheets("Sheet1")
Sht.Cells(1, 1) = 1
Sht.Cells(2, 1) = 3
Sht.Cells(3, 1) = -2
Sht.Cells(4, 1) = 0
Sht.Cells(5, 1) = 5
Sht.Cells(6, 1) = -1
MsgBox Application.Max(Range("A1:A6"))
2行目のsetで実態のシートをセットせんとうまい事いかんことはわかってる
しかしこれだとsheet1に値がセットされてしまう。
なんかテンポラリ的にsheetオブジェクト?を使ういい方法ありませんかね?
上記MAXは一例。(配列でできるのはわかってます。)
- 546 :デフォルトの名無しさん:2016/08/02(火) 23:58:13.81 ID:NwFNUrUJ.net
- テンポラリ的に・・・というのがどういう事なのか分からないけど
Sheet1固定じゃ無く、現在開いているアクティブなSheetに対して行いたいなら
Set Sht = ThisWorkbook.Worksheets("Sheet1")
↓
Set Sht = ActiveSheet
- 547 :デフォルトの名無しさん:2016/08/03(水) 00:00:58.04 ID:fyF/wT3P.net
- 一時的な作業場所が欲しいというなら
Workbooks.Add して何かして終わったら .Close SaveChanges:= False は?
- 548 :デフォルトの名無しさん:2016/08/03(水) 00:03:02.45 ID:mspOG63m.net
- 配列がいいだろうな
- 549 :デフォルトの名無しさん:2016/08/03(水) 00:05:53.07 ID:BOTm7b5n.net
- >>545
そのサンプルで代入されてる値(1, 3, -2, 0, 5, -1)がどこから来ているの?
最適な手段はそれにもよるんじゃないか。
それと、配列ではできない理由もあるの?
- 550 :デフォルトの名無しさん:2016/08/03(水) 00:16:58.28 ID:xy6RBZ5E.net
- >>546-549
どもです
説明べたですまん
単に一時的なシートが欲しいんだ
だから>>547さんのレスが一番近いかな
>>549さん
値は適当だよ。単に一例としてMAXを表示させるためだけのもの
配列だとsheet特有のメソッド?が使えないし
やっぱり実態化するしかなさそうかな
- 551 :デフォルトの名無しさん:2016/08/03(水) 00:29:44.00 ID:BOTm7b5n.net
- そういう需要もあるのか
- 552 :デフォルトの名無しさん:2016/08/03(水) 01:07:26.04 ID:fyF/wT3P.net
- WorkSheetFunctionを使いたいだけなら、シートがなくてもいけるね
Sub useWorkSheetFunction()
Dim everyday As Variant
everyday = Array( _
Array("06:00", "元気"), _
Array("10:00", "ねむい"), _
Array("17:00", "だるい"), _
Array("24:00", "ふつう"))
Debug.Print "今、" & WorksheetFunction.VLookup(Time(), everyday, 2, True)
End Sub
- 553 :デフォルトの名無しさん:2016/08/03(水) 04:01:24.17 ID:wKahhl4a.net
- 中間ワークとしてワークシート使いたいってなら、追加して後で削除で良いんじゃね
Set Sht = ThisWorkbook.Sheets.Add
'作業
Application.DisplayAlerts = False
Sht.Delete
そんな事よりも
MsgBox Application.Max(Range("A1:A6"))が
MsgBox Application.Max(Sht.Range("A1:A6"))じゃない事の方が気になるぜ
- 554 :デフォルトの名無しさん:2016/08/03(水) 08:36:28.97 ID:rixEY9zb.net
- ここまでの条件を満たすには、むしろ「シート追加、不要になったら削除」以外に方法はないと思う
シート数が変わると既存のマクロの動作が変わってしまう可能性があるから、
シートよりはブック追加の方がまだ安全な気もするけど
- 555 :デフォルトの名無しさん:2016/08/03(水) 11:35:21.69 ID:tfmCVBfO.net
- 副作用が大きいなあ
- 556 :デフォルトの名無しさん:2016/08/03(水) 12:21:17.18 ID:AYjscAHw.net
- 副作用って言いたいお年頃なので許してあげて下さい
- 557 :デフォルトの名無しさん:2016/08/03(水) 12:32:57.65 ID:tfmCVBfO.net
- ?
- 558 :デフォルトの名無しさん:2016/08/03(水) 12:36:47.09 ID:sB4886U2.net
- 処理対象のブックにテンポラリなワークシート増やすの気持ち悪いから新しいブック開きたい感
- 559 :デフォルトの名無しさん:2016/08/03(水) 12:56:10.82 ID:BdvK40Uz.net
- >>558
同感、ブック追加で保存せずに終了派
- 560 :デフォルトの名無しさん:2016/08/03(水) 19:16:50.12 ID:mspOG63m.net
- エクセルはデータ追加して消してって繰り返すとどんどんゴミデータ溜まるからな
今はそんなこと無いのかな?
どちらにしても>>558の方法で処理したいところ
- 561 :デフォルトの名無しさん:2016/08/03(水) 19:24:39.97 ID:Gg/sz3nT.net
- 新ブック作って消すだけでもメモリ食われるじゃん
しかも消しても開放されない
- 562 :デフォルトの名無しさん:2016/08/03(水) 19:25:52.08 ID:mspOG63m.net
- メモリじゃないよ
- 563 :デフォルトの名無しさん:2016/08/03(水) 19:40:59.69 ID:wKahhl4a.net
- 今のエクセルって複数ブック開いたときの表示方法が昔と違うんじゃなかったっけ
- 564 :デフォルトの名無しさん:2016/08/03(水) 21:05:22.99 ID:MkOQGcCX.net
- >>561
今時どんなショボいマシン使ってるんだよ w
そもそもシートの追加でもメモリー食うだろ
- 565 :デフォルトの名無しさん:2016/08/03(水) 22:34:11.33 ID:ilNN9F1Z.net
- 「フロッピーディスク」のことを「メモリ」って言うおじいちゃんを思い出した。
- 566 :デフォルトの名無しさん:2016/08/03(水) 23:21:26.35 ID:t3jujx7Q.net
- パパはハードディスクのことをメモリって言ってたよ
- 567 :デフォルトの名無しさん:2016/08/04(木) 07:40:50.88 ID:+IGVV64W.net
- うん、配列でなんとかするのがベストかな。
シート追加したり消したりするのはスマートじゃない気がする。
- 568 :デフォルトの名無しさん:2016/08/04(木) 16:11:36.89 ID:0Vp45+dE.net
- Win10にしてから、IEから情報取り込んでるファイルがエラー頻度にはくようなった。
「実行エラー オートメーション エラーです。システムのシャットダウンはすでにスケジュールされています。」って出る
なぜだあああああ
やっぱりIE制御駄目なんか
- 569 :デフォルトの名無しさん:2016/08/04(木) 16:54:24.89 ID:mqjpYfMV.net
- へぇ
「実行エラー オートメーション エラーです。システムのシャットダウンはすでにスケジュールされています。」
これはinit 6的な奴かと思ったら違うのね、IEインスタンスのバグっぽい
win10はあんまり関係なく昔からあるもののようだ
解決方法はそのエラーでググってもらえればわかるけど、色々あるみたい
https://social.msdn.microsoft.com/Forums/ja-JP/0e00d2fb-d375-430e-8a7c-ca5d315bf3a5/ie-?forum=vbajp
http://blog.miminoinu.net/2014/11/excelvbaie.html
- 570 :デフォルトの名無しさん:2016/08/04(木) 17:01:15.82 ID:0Vp45+dE.net
- >>569
IEを引っ張りだしにするのかー
確かにループ作業で一回一回閉じるように組んでるからな・・・
Win7だと大丈夫だったのにー
- 571 :デフォルトの名無しさん:2016/08/04(木) 18:11:22.05 ID:0Vp45+dE.net
- >>569
下の参考にしながらなんとかエラーはかなくなった!ありがと
いってたとおりWin10の問題じゃなくてIEの設定が何かしらWin7のときと変化してたんやなー
- 572 :デフォルトの名無しさん:2016/08/04(木) 23:13:08.39 ID:qQ0CTMfG.net
- excel VBAでのVideo for Windowsを使ったウェブカメラへの接続について質問です。
BUFFALOのウェブカメラを1台繋いだ状態で、avicap32.dll等の設定をした上で
FindWindow→capCreateCaptureWindow→WM_CAP_DRIVER_CONNECT(接続先の引数0)
と進めて、特に問題なくウェブカメラの画像を取得することが出来るようになりました。
ここで、同じウェブカメラを追加し、WM_CAP_DRIVER_CONNECT(接続先の引数1)で2台目へ接続しようとしたのですが接続が失敗します。
状況としては
1. 2台繋いでいても、1台目の接続は問題なし
2. 1台目のドライバーを無効にすると、引数を変えなくても2台目に繋がる
3. 元からカメラがついているノートPCでも1. 2.と同様
4. 一応として接続先の引数を100まで試したが0以外繋がらず
5. win7(32bit,64bit)、win10(64bit) 管理者権限の有無全てで同じ現象
原因はexcel関係ないのかもしれませんが、思いつく範囲でもご意見いただけると助かります。
- 573 :デフォルトの名無しさん:2016/08/04(木) 23:17:49.20 ID:mqjpYfMV.net
- avicap32.dll 2台
とかで検索してみては
手元にないので検証が難しい
- 574 :デフォルトの名無しさん:2016/08/04(木) 23:51:35.17 ID:qQ0CTMfG.net
- 検索してみたのですが、2台同時に使用するためのソースのようです。
私はそもそもとして2台目をつないだ状態で、2台目に接続すら出来てないもので・・・
検索結果に帯域の問題等も書いてありましたので、CameraViewerというソフトで試したところ
特に問題なく2台目に接続することが出来ました。
もうちょっと調べてみようと思いますが、何かありましたらご意見お願いします。
- 575 :デフォルトの名無しさん:2016/08/05(金) 00:07:58.02 ID:awNm9k8p.net
- 自分も詳しくないんで、外してるかもですけど、そのコード、VFWを使ったものじゃないですか?
USBカメラを2台使ったライブカメラ
http://www.ne.jp/asahi/ham/js1rsv/TEST/ListCam.htm
一番下の方に
>VFWのAPIからはWDMは1つのドライバに見える。
>1つのドライバを複数オープンすることは通常できないようだ。
と、あるんですが、そこは大丈夫?
>2台同時に使用するためのソース
とのことですが、そのソースをこちらでも見ることはできますか?
- 576 :デフォルトの名無しさん:2016/08/05(金) 08:44:00.76 ID:nruK2yy/.net
- Win10になってから、バージョンは同じIE11なのに挙動が明らかに変わった
ネットで調べた対策も役に立たなくて、うちで試行錯誤した結果
visible=false
navigate(ほげほげ)
visible=true
って一度ずつ再表示させるとうまくいった
画面はチカチカするし動作も遅くなったけど、今んとここの方法しか見つかってないのでしょうがない
- 577 :デフォルトの名無しさん:2016/08/05(金) 11:05:57.79 ID:GIByHjfC.net
- >>576
なんかIEが変わってるよね。(Win7で設定変えたのがリセットされたのかもしれないけどw)
IEじゃなくてEdge操る術の本でないかな
- 578 :デフォルトの名無しさん:2016/08/05(金) 11:21:46.35 ID:QsXYn0s6.net
- ID変わってると思いますが>>572です。
PC再起動後に1度だけソースのキャプチャというダイアログが出て、デバイス選択が出来たため調べていました。
(もう一度再起動しても出ませんでした・・・なぜ?)
結果、接続先の引数で変えることは出来ませんでしたがWM_CAP_DLG_VIDEOSOURCEを使うことで
2台のウェブカメラから選択して表示することが出来ました。
また、二重起動して別々のデバイスを選択することで両方を表示することも出来ました。
ありがとうございました。
- 579 :デフォルトの名無しさん:2016/08/05(金) 22:36:50.66 ID:WQnurzUS.net
- >>544
それMicrosoft Queryを使わないタイプのやつじゃないですか?
ADOとか何とか言う。
自分以外のPCで使えないと困るので、
拡張機能みたいなのは、あえて避けているんです。
- 580 :デフォルトの名無しさん:2016/08/05(金) 23:11:37.30 ID:+RhDm2da.net
- 人にどうのこうの言う前に質問するならまず自分の環境晒せよ...
- 581 :デフォルトの名無しさん:2016/08/05(金) 23:34:06.25 ID:0NSyExel.net
- 横から言うのもなんだがADOくらいどこにでもあるだろ
参照設定すら嫌だっつーならしゃーねーわな
- 582 :デフォルトの名無しさん:2016/08/06(土) 00:30:10.05 ID:T79SEdhE.net
- >>580
いやもう解決してるし、Microsoft Queryの仕様ってわかってるんで。
- 583 :デフォルトの名無しさん:2016/08/06(土) 11:14:20.41 ID:iaBPfdHp.net
- >>581いや、参照設定は嫌や
- 584 :デフォルトの名無しさん:2016/08/06(土) 14:35:01.70 ID:yFgH/Ch3.net
- VBAでポリモーフィズムを実現するにはどうするのが定番の方法ですか?
- 585 :デフォルトの名無しさん:2016/08/06(土) 14:36:52.56 ID:yFgH/Ch3.net
- VBAのMsgBoxではそこに表示されている文字列をコピペできやがりません。
コピペして他で使いたいのに。
どうすればコピペできる文字列を表示させることができますか?
- 586 :デフォルトの名無しさん:2016/08/06(土) 14:46:58.00 ID:l81rcAUg.net
- MsgBox表示している状態で
[Ctrl] + [C] でメッセージボックスの内容コピペ出来なかったっけ?
- 587 :デフォルトの名無しさん:2016/08/06(土) 15:08:05.00 ID:yFgH/Ch3.net
- >>586
こんな変な飾りがついてくる。
---------------------------
Microsoft Excel
---------------------------
■ここにメッセージ■
---------------------------
OK
---------------------------
- 588 :デフォルトの名無しさん:2016/08/06(土) 15:25:14.85 ID:EZI6tvW1.net
- >>584
オブジェクト指向ってことなら言語がそもそも向いてない
classの継承とかもできないんだっけ
>>585
テキストボックスのせたフォーム作れば?
めちゃくちゃ手間な割に対して見返りなさそうだけど
- 589 :デフォルトの名無しさん:2016/08/06(土) 16:14:25.59 ID:cNfCnhMw.net
- 自分はコピペしたいときはDebug.Print使う
- 590 :デフォルトの名無しさん:2016/08/06(土) 17:14:40.22 ID:u9v1FTJX.net
- https://programmer-jagataro.blogspot.jp/2010/12/excel-vba.html
- 591 :デフォルトの名無しさん:2016/08/06(土) 17:38:03.69 ID:InZ3+tol.net
- >>584
定番と言えるか分からないけど幾つか方法がある。
インターフェースを使ったコンポジションで行う方法、
Call By Nane を使う方法、
APIを使ってコールバックを行う方法など。
下の二つは.Netで言うDelegateと同じような使い方をするけれど、
多態性を持たせる対象先がクラスモジュールの場合はCall By Name、
標準モジュールの場合はAPIのコールバックバックを使う。
ちなみにFormやシートはクラス扱い。
- 592 :デフォルトの名無しさん:2016/08/06(土) 17:39:45.60 ID:bH/IpOqY.net
- >>579
EXCEL2007で導入した MS-QUERYで試した結果だが
>>582
そもそも、どのバージョンのMS-QUERYで試したんだ
機能拡張が不可だっていうなら、そもそもMS-QUERY使うって発想も俺には理解できんし
- 593 :デフォルトの名無しさん:2016/08/06(土) 19:43:37.43 ID:Xkhj5Nx+.net
- >>591
Call by Nameってダックタイピングのこと?
- 594 :デフォルトの名無しさん:2016/08/06(土) 22:37:21.32 ID:I78TV0kx.net
- >>593
ダックタイピングと言うものをよく知らなかったんだけど、Wikiをみると
「オブジェクトがあるインタフェースのすべてのメソッドを持っているならば、
たとえそのクラスがそのインタフェースを宣言的に実装していなくとも、
オブジェクトはそのインタフェースを実行時に実装しているとみなせる、ということである。」とあるね。
だとすると違う。
クラスも別途必要な訳ではなくて、同じクラス内でも同じシグネチャのメソッドであれば
そのメソッドを前もって指定することで多態性を持たせることが出来る。
イメージ的にはクラスのインスタンス単位で扱うのではなく、メソッド単位で扱う感じ。
- 595 :デフォルトの名無しさん:2016/08/07(日) 11:06:33.35 ID:Bo0q7L+T.net
- VBAでは
Object型の変数に入れれば
それでドットつけてその本体のメソッド名を入れればそれが実行できるから
こうすることでポリモーフィズムを実現することができるんじゃないか?
- 596 :デフォルトの名無しさん:2016/08/07(日) 17:22:32.51 ID:49wBLG90.net
- ポリモーフィズムが本当にいいことかどうか考えた方がいいよ。
メリットもあればデメリットもある。
- 597 :デフォルトの名無しさん:2016/08/07(日) 17:37:10.50 ID:hEc4ZKnt.net
- まあ、VBAでポリモーフィズムとか言い出してる時点で
手段と目的が逆転してる気がするな
- 598 :デフォルトの名無しさん:2016/08/07(日) 18:27:49.28 ID:Bo0q7L+T.net
- >>596-597
そんなこと言いだしてる時点で初心者丸出し。
ある程度以上のプログラミング経験者なら屁のように使うから
使えないと非常に不便と感じる。
- 599 :デフォルトの名無しさん:2016/08/07(日) 18:41:15.67 ID:LQKhW8Qc.net
- vbaでそこまで高機能な何をしたいの?と思うけど…
俺は特に不便と感じないわ
vbaでしんどいようなことはさっさとc#.netかwebならphp上で処理して、csv辺りに吐き出してexcelやvbaで作業する
vbaでしか処理できない事態は無かった
そんな理由があるなら知りたい
- 600 :デフォルトの名無しさん:2016/08/07(日) 18:41:47.51 ID:XjDT6LyO.net
- 使えることと使うべきかの区別がつくようになったら一人前
- 601 :デフォルトの名無しさん:2016/08/07(日) 19:12:24.80 ID:l0UtxaLr.net
- 多態性が必要になるほど大規模なシステムを組む事自体が、ちょっと考え直した方がいい状況だからなぁ。
もし多態性がないと不便って感じるなら、それは複数人でプロジェクトを運用する事に慣れているだけで、
VBAで処理する規模のプログラムだと無駄が多いんじゃないかなぁ。
- 602 :デフォルトの名無しさん:2016/08/07(日) 20:14:00.70 ID:h4p2Pv3H.net
- 一番のリスクは、EXCELで複雑なことやらせると、MSの仕様変更で一気にあぼーんするからなw
- 603 :デフォルトの名無しさん:2016/08/07(日) 20:28:46.23 ID:LQKhW8Qc.net
- なんというか、型が容赦なさすぎて怖い
今作ってみたけど、以下の答えは俺も予想できなかった
Sub a()
Dim b As String
Dim c As String
b = 1
c = 2
Debug.Print b + c '問1
Debug.Print b & c '問2
End Sub
- 604 :デフォルトの名無しさん:2016/08/07(日) 20:41:51.82 ID:Bo0q7L+T.net
- >>603
★の所で暗黙の変換が働いているのだろう。
Sub a()
Dim b As String
Dim c As String
b = 1 ★1は文字列の"1"に変換されたあと代入されてる
c = 2 ★2は文字列の"2"に変換されたあと代入されてる
Debug.Print b + c '問1 ★VBAで+は文字列連結はできないから、演算子の暗黙変換で+が&になっているのか?
Debug.Print b & c '問2
End Sub
- 605 :デフォルトの名無しさん:2016/08/07(日) 20:43:33.69 ID:Bo0q7L+T.net
- 暗黙の変換は普通は変数に適応されるから
Debug.Print b + c
のところは普通はbが数値になりcも数値になり結果として3が表示されないと納得できないけど
これ内部でどうなっているんだ?
- 606 :デフォルトの名無しさん:2016/08/07(日) 21:01:51.10 ID:vwVPvJfv.net
- >>605
+ 演算子
https://msdn.microsoft.com/ja-jp/library/office/gg278870.aspx
- 607 :デフォルトの名無しさん:2016/08/07(日) 21:04:30.27 ID:LQKhW8Qc.net
- 先に言っておくと、俺も正解を知らない
>>604
は多分正解だろう。演算子がオーバーライドされていて、
Debug.Print "a" + "b"
の+は&扱いになり、"ab"になってイルと思う
Debug.Print "a" + "b" + "1"
"ab1"
Debug.Print "a" + "b" + 1
エラー
こんな言語で大規模開発だの多様性だのはやめておいたほうがいいと思う
シートの補助マクロで十分だろう
- 608 :デフォルトの名無しさん:2016/08/07(日) 21:07:12.76 ID:LQKhW8Qc.net
- >>606
>一方の式が数値データ型で、もう一方の式が String の場合Type mismatch エラーが発生します。
あの、エラー出ないんですけど…
Sub a()
Dim b As Long
Dim c As String
b = 1
c = 2
Debug.Print b + c
End Sub
- 609 :デフォルトの名無しさん:2016/08/07(日) 21:08:51.60 ID:LQKhW8Qc.net
- >一方の式が数値データ型で、もう一方の式が任意の Variant (Null 以外) の場合
すまん、これになるのね
もういいや
- 610 :デフォルトの名無しさん:2016/08/07(日) 21:44:22.78 ID:hEc4ZKnt.net
- >>690
多分どこかで、暗黙的に数値型に変換できる場合はバリアントの数値とみなすって判断がある気がする
どの段階でそう評価して結果出してるかはしらんが
さらにややこしい例
Debug.Print "1" + "2" + 3
' 15 前にスペースが入る
Dim d As Date
d = "2014/08/07"
Debug.Print d + "1"
'2014/08/08
Debug.Print "2014/08/07" + "1"
'2014/08/071
Debug.Print d + 1
'2014/08/08
Debug.Print "2014/08/07" + 1
'エラー
- 611 :デフォルトの名無しさん:2016/08/07(日) 22:03:30.07 ID:hEc4ZKnt.net
- Debug.Print "1" + "2" + 3
これは、実質的には
Debug.Print "1" & "2" + 3
と同じで、+は&より優先順位が高いので
Debug.Print "1" & ("2" + 3)
という評価をされなければならないんだが
Debug.Print VarType("1" + "2" + 3)
Debug.Print VarType("1" & "2" + 3)
結果の型が違う。理由はわからんw
- 612 :デフォルトの名無しさん:2016/08/07(日) 22:11:13.19 ID:hEc4ZKnt.net
- いや、違うか
Debug.Print ("1" + "2") + 3
で
Debug.Print ("1" & "2") + 3
かな
なんにせよ結果の型が違うのが謎だが
- 613 :デフォルトの名無しさん:2016/08/07(日) 22:40:41.67 ID:vwVPvJfv.net
- Debug.Print "-1" + "2" + 3
Debug.Print "-1" & "2" + 3
- 614 :デフォルトの名無しさん:2016/08/08(月) 07:17:26.09 ID:+BVbuk0o.net
- そもそも暗黙の変換を行っているところを放置して使っているのを言語仕様のせいにしてるのがおかしい。
普通文字列として結合したいなら最初文字列に変換して"&"で結合するだろうし、
数値として扱いたいなら数値変換してから演算子で繋ぐだろう。
- 615 :デフォルトの名無しさん:2016/08/08(月) 07:35:21.07 ID:yXdpKomk.net
- >>607
] オーバーライド
○ オーバーロード
- 616 :デフォルトの名無しさん:2016/08/08(月) 09:08:01.10 ID:r9V6+mQU.net
- オーラロード
- 617 :デフォルトの名無しさん:2016/08/08(月) 12:19:43.45 ID:S73GfjMR.net
- >>614
なにを言語仕様のせいにしてるって主張かよくわからんが
わかりにくいコードを書いていることを指しているなら
暗黙の変換も言語仕様だし、そのせいで結果の想像しにくいコードを「書ける」って話だが
- 618 :デフォルトの名無しさん:2016/08/08(月) 15:33:04.15 ID:zFfN2SSv.net
- 書けるのと書くのはまた別問題。
そんなこと言ったらGoSubやREMだって書けるぞ。
- 619 :デフォルトの名無しさん:2016/08/09(火) 19:09:24.31 ID:zmq1oHse.net
- ・UserFormのImageに読み込んだ画像の上に点を打つ
・SetPixelを使って画像に直接点を作り、それをImageに表示する
このどちらかをやりたいと思っています。
検索するとVBでPictureboxを使った方法は大量に出てくるのですが、VBAでImageを使った方法が見つかりません。
また、GetPixelについてはセルを1ドットにして画像を再現するものなどで色々あるのですが
SetPixelを使っているものがなかなか見つかりません。
出来ればやり方を、もしくは検索ワード等お教えいただけないでしょうか。
- 620 :デフォルトの名無しさん:2016/08/09(火) 20:29:18.57 ID:ECa59Fe/.net
- >>619
VB6だとPSETやLINEが使えたんだけど
EXCELのVBAではダメみたい。
そこでAPI。
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=19764;id=excel
- 621 :デフォルトの名無しさん:2016/08/10(水) 06:59:29.59 ID:0wq5wBn8.net
- >>619
bitblt使えばできるんじゃない
- 622 :デフォルトの名無しさん:2016/08/10(水) 17:05:11.63 ID:t4SSMw1I.net
- 返事が遅くなってしまい申し訳ないです。
いただいたURLの方法でsetpixcelが出来ました。
Imageにハンドルが無いので、直接描くのは無理でしたらImageの位置はform上で決まっているので問題ありませんでした。
しかし、上にウィンドウが乗ったりすると消えてしまうため、別の方法も探ってみようと思います。
- 623 :デフォルトの名無しさん:2016/08/10(水) 22:44:11.41 ID:uPyxj/T5.net
- 株式会社TOUAが2016年7月に破産
http://www.tdb.co.jp/tosan/syosai/4191.html
- 624 :デフォルトの名無しさん:2016/08/13(土) 03:30:43.69 ID:gA4jncAi.net
- 395 / 10 で商39が求まることを期待しているのだが
なぜか四捨五入して40になるのはExcel VBAの仕様?
他の言語はどうか知らないけど少なくもC言語はこうはならないよな。
四捨五入を抑止する方法ってありますか?
- 625 :デフォルトの名無しさん:2016/08/13(土) 03:52:11.57 ID:/hQOofXg.net
- >>624
Cells(1, 1).Value = 395 \ 10
- 626 :デフォルトの名無しさん:2016/08/13(土) 09:10:26.59 ID:rAzRidQE.net
- >>624
VBAに限らずプログラミング全般の話として、少数以下をどうするかは期待するんじゃなくて明確にコントロールするんだよ
例えば切り捨てたい時は必ずInt関数を使う、みたいに
- 627 :デフォルトの名無しさん:2016/08/13(土) 18:46:33.18 ID:1tqM5WNZ.net
- >>624
Excelの標準は調べてないけど、それ本当に四捨五入してるか確認した?
切り上げかもしれないよ。
- 628 :デフォルトの名無しさん:2016/08/13(土) 18:58:42.56 ID:UiGTNJ0U.net
- 何を今頃そんな基本的なことを言ってるんだ?
四捨五入とか切り上げとかそれはあくまでも表示の問題であって
数値そのものは何もしてない。
そこをちゃんと理解してないととんでもないミスを犯す。
>>624
四捨五入してない。
そのセルに10をかけてみな。395になるはず。
- 629 :デフォルトの名無しさん:2016/08/13(土) 19:06:42.03 ID:qYSuHWJk.net
- Sub a()
cells(1,1) = (Int(395 / 10))
End Sub
というかこれだけの話?
- 630 :デフォルトの名無しさん:2016/08/13(土) 19:06:55.43 ID:qYSuHWJk.net
- 何故か40というのは、セルに入れて表示形式を通貨か数値にしてるのか?
それなら見た目は40になる
Sub a()
Dim b As Double
b = 395 / 10
MsgBox b
Cells(1, 1) = b
End Sub
どれも40にはならない
>>624
コード見せて
- 631 :デフォルトの名無しさん:2016/08/13(土) 20:47:53.45 ID:tB1N6OL2.net
- そもそも
セルのValueに入れたときの話なのか
VBAの変数に入れたときの話なのか、その時の型は何なのか
ぐらいははっきりさせてくれ
- 632 :デフォルトの名無しさん:2016/08/13(土) 21:06:19.86 ID:8II+w1jy.net
- C言語使いは頭が固いからオブジェクト指向について行けない人がほとんどだよ。
電車の中で「初めてのC」とか恥ずかしげも無く読みふける奴らだから。
- 633 :デフォルトの名無しさん:2016/08/13(土) 21:17:13.14 ID:CqZl885R.net
- いまのプログラマーで
オブジェクト指向が理解できなければ全く仕事ないだろ。
ほんとうにそんな人いるか?>>632
- 634 :デフォルトの名無しさん:2016/08/13(土) 21:32:16.68 ID:qYSuHWJk.net
- >>632
それは単に辺鄙な学校の情報化の学生か、プログラムを独学で覚えようとしてるおじさん
今は普通にjava教えるよ
- 635 :デフォルトの名無しさん:2016/08/13(土) 21:40:38.19 ID:UzvSp6Rn.net
- 金融ならまだまだcとかCOBOLとかが現役なんすよ
- 636 :デフォルトの名無しさん:2016/08/13(土) 21:50:16.91 ID:CqZl885R.net
- >>635
ウンコみたいな職場だな。
ところでそこは年収どれくらい?
- 637 :デフォルトの名無しさん:2016/08/13(土) 22:05:56.51 ID:eKzBkSdG.net
- そろそろマ板でやれよってな感じ
- 638 :デフォルトの名無しさん:2016/08/13(土) 22:16:28.47 ID:CqZl885R.net
- マ板とは?
指図する前にちゃんとした日本語をしゃべってほしい
- 639 :デフォルトの名無しさん:2016/08/13(土) 22:18:17.37 ID:eKzBkSdG.net
- ここはプログラム板。判る?
んで、プログラマー板ってのがこの上にあるだろ?プログラマーの話はそこでやれってことだよ
- 640 :デフォルトの名無しさん:2016/08/13(土) 22:20:13.12 ID:+WBuOxN2.net
- 金融でCは見たことないけど
組み込みならCは普通に使われてる
あとスパコンだと FORTRAN も使われてるし
- 641 :デフォルトの名無しさん:2016/08/13(土) 22:46:02.93 ID:NurUYLCr.net
- >>640
金融でもフロントシステムはCが多かったと思う。
すでに過去の話ではあろうけど。
- 642 :デフォルトの名無しさん:2016/08/13(土) 23:04:59.26 ID:+WBuOxN2.net
- >>641
ATM とかはわかるけどそれ以外でCなんてある?
4.フロントシステム:顧客との接点を取り持つ。
1. 個人顧客及び法人顧客:取引支援システム(コールセンター、インターネット接続、ATM、法人向けファームバンキング・アカウントアグリゲーション)
2. 金融マーケット:ディーリングシステム(資金債券系、株式系、為替系)
3. 基本職能:マーケットリアルデータフィード、プライス分析評価、約定引合、発注・約定・確認、コンプライアンスチェック、ポジション管理、運用評価
http://www.it-career21.com/registration/finance-se.html
- 643 :デフォルトの名無しさん:2016/08/13(土) 23:11:15.99 ID:NurUYLCr.net
- >>642
受発注系にはCがある程度使われていると思う。
- 644 :デフォルトの名無しさん:2016/08/13(土) 23:20:22.75 ID:CqZl885R.net
- しかしオブジェクト指向も取り入れないプログラミングって
できることも限られるだろうしかなりの小規模なことしかできないのでは?
- 645 :デフォルトの名無しさん:2016/08/13(土) 23:42:34.30 ID:UzvSp6Rn.net
- ちゃんと設計すればできるんすよ
と言うかオブジェクト指向以前にも大規模案件は多くあったんすよ
オブジェクト指向の話をしたければこっちへどうぞ
http://echo.2ch.net/test/read.cgi/tech/1467992113/
cについてうっすら知りたければこっちへどうぞ
http://echo.2ch.net/test/read.cgi/tech/1448685034/
- 646 :デフォルトの名無しさん:2016/08/14(日) 00:39:34.97 ID:K7W/1pEQ.net
- >>630
>>631
Option Explicit
Sub テスト()
Dim 結果 As Integer
結果 = 引数の値を10で割った商を算出して返す(395)
MsgBox 結果
End Sub
Function 引数の値を10で割った商を算出して返す(ByVal 数値 As Integer) As Integer
Dim 商 As Integer
商 = 数値 / 10
MsgBox 商
引数の値を10で割った商を算出して返す = 商
End Function
- 647 :デフォルトの名無しさん:2016/08/14(日) 01:07:24.08 ID:K7W/1pEQ.net
- / 使ったらだめだな
\ に置き換えたら正しい結果が得られますた
- 648 :デフォルトの名無しさん:2016/08/14(日) 01:59:21.45 ID:mX5teXde.net
- プププ
- 649 :デフォルトの名無しさん:2016/08/14(日) 02:35:04.59 ID:gFmBqe4d.net
- >>646
これなんで商が40になるの?
- 650 :デフォルトの名無しさん:2016/08/14(日) 03:14:21.65 ID:Foqox2TY.net
- >>649
CInt関数とCLng関数のHelpに書いてある例だけど、
以下と同じ変換が行われていて、直近の偶数の整数値に丸められている。
(偶数に丸められるんで四捨五入では無い)
https://msdn.microsoft.com/ja-jp/library/office/gg278896.aspx
> CInt および CLng は、小数部分が 0.5 の場合、常に最も近い偶数に値を丸めます。
> たとえば、 0.5 は 0 に、1.5 は 2 に丸められます。
> Fix 関数と Int 関数は小数部分を丸めるのではなく切り捨てるので、
> CInt および CLng とは異なります。
> また、Fix および Int は、常に渡された値と同じデータ型の値を返します。
- 651 :デフォルトの名無しさん:2016/08/14(日) 03:34:40.28 ID:Foqox2TY.net
- >>650
> 〜直近の偶数の整数値に丸められている。
ちょっと違った…偶数に丸められるのは小数部分が 0.5 ちょうどになる時だけか・・・
どっちみち四捨五入では無いけど
- 652 :デフォルトの名無しさん:2016/08/14(日) 10:48:09.73 ID:gFmBqe4d.net
- >>650
そんな仕様だったのか、ありがとう
int()と全然違うのね。怖い・・
あとその丸め方JIS丸めとか銀行型丸めとか言われているそうです
- 653 :デフォルトの名無しさん:2016/08/15(月) 01:19:57.45 ID:zKV0jDoy.net
- >>650
>常に最も近い偶数に値
なんで偶数?奇数だと不都合がある?
- 654 :デフォルトの名無しさん:2016/08/15(月) 02:06:34.61 ID:z2kTYRxm.net
- 二進数的に正数の末尾へ0を設定したいんじゃない?
末尾が1.1なら10.0にする
末尾が0.1なら0.0にする
- 655 :デフォルトの名無しさん:2016/08/15(月) 08:13:15.67 ID:oxc7gFpu.net
- ご教授ねがいます。
社内ネットワーク上サーバーの定められたらディレクトリにExcel2013のツールがあります。
クライアントPCには、ツールのショートカットがある状態。自分自身のパスを相対パスで取得してツール以下のディレクトリにあれこれしてる状況。
運用ではネットワークドライブ名をルール決めしてるので問題はないのですが、ツール側で自分自身の絶対パスを簡単に取得する方法が知りたいです。
色々書いてはいますが、NW上サーバーにある自分自身の絶対パスを取得したいという案件になります。
- 656 :デフォルトの名無しさん:2016/08/15(月) 08:21:27.98 ID:z2kTYRxm.net
- thisworkbook.fullname
じゃだめなの?
- 657 :デフォルトの名無しさん:2016/08/15(月) 10:05:03.62 ID:Ek2TroqU.net
- >>653
理由は知らん
知りたければぐぐるか数学か金融板あたりで聞いたほうがいいと思う
- 658 :デフォルトの名無しさん:2016/08/15(月) 11:15:47.61 ID:AG6K+Exs.net
- >>653
奇数でもいいとは思う
http://homepage1.nifty.com/s_miyake/hp/jisround.htm
- 659 :デフォルトの名無しさん:2016/08/15(月) 21:00:45.26 ID:q+BGNeK1.net
- 奇数にしたならしたで
なんで奇数?偶数だと不都合がある?
て聞くじゃろ
どっちでもよかろうなのだ!でもどっちかには決めないといかんのだ
- 660 :デフォルトの名無しさん:2016/08/16(火) 00:31:09.67 ID:pNBPPJY8.net
- >>656
ネッワークドライブ名ではなく、サーバー名称がとれたら良いのですが、試してみます。
- 661 :デフォルトの名無しさん:2016/08/16(火) 01:52:34.33 ID:E7xAONCe.net
- それならEnumNetworkDrivesをうまいこと使えばいけそうね
- 662 :デフォルトの名無しさん:2016/08/16(火) 11:04:25.52 ID:Yz8XnW51.net
- >>655 >>660
やりたい事こんな感じ?
例えば
Zドライブに\\サーバー名\hoge が割り当てられていて Z:\moge\test.xlsmを開いている時
パスとして \\サーバー名\hoge\moge が欲しいって事なのかな?
Const NetworkDrive As Long = 3
Set FSO = CreateObject("Scripting.FileSystemObject")
Set MyFolder = FSO.GetFile(ThisWorkbook.FullName).ParentFolder
Set MyDrive = MyFolder.Drive
MyPath = MyFolder.Path
If MyDrive.DriveType = NetworkDrive And MyDrive.DriveLetter <> "" Then
MyPath = Replace(MyPath, MyDrive.Path, MyDrive.ShareName)
End If
Debug.Print MyPath
- 663 :デフォルトの名無しさん:2016/08/16(火) 12:03:10.31 ID:pNBPPJY8.net
- >>662
意味的には、それです!。書いていただいたのを元に、勉強させてもらいます。
- 664 :デフォルトの名無しさん:2016/08/16(火) 23:47:14.37 ID:V6POjuioo
- 素人向けでは職業くプログラマ向けに書かれた参考書でオススメってあります?
- 665 :デフォルトの名無しさん:2016/08/17(水) 11:05:06.40 ID:pHe6W3Xr.net
- vbaとアドインは違うの?
- 666 :デフォルトの名無しさん:2016/08/17(水) 11:10:48.26 ID:+ah+coy4.net
- アドインはvbaで作られる
- 667 :デフォルトの名無しさん:2016/08/17(水) 12:30:40.47 ID:gSloezDD.net
- それなに?
これ?
https://www.youtube.com/watch?v=zXB8auED68Y
- 668 :デフォルトの名無しさん:2016/08/17(水) 12:34:06.22 ID:+ah+coy4.net
- >>667
昔から思ってるんだけど、アイーンって面白いか・・・?
- 669 :デフォルトの名無しさん:2016/08/17(水) 12:39:21.62 ID:bokRqx8d.net
- >>668
海外でもウケてるらしいから言葉を越えた何かがあるんだろう
- 670 :デフォルトの名無しさん:2016/08/17(水) 18:34:00.23 ID:E/N9h8UB.net
- アスペ臭い会話やなwww
- 671 :デフォルトの名無しさん:2016/08/18(木) 12:53:50.99 ID:5Mvpm3bX.net
- アイーンはその言葉自体は全然面白みはないが
そのくだらないことを本格的に踊りにしたり真剣に振りを付けたり水着になったりして
盛大に取り組んでいることが面白いんじゃないか?
- 672 :デフォルトの名無しさん:2016/08/18(木) 15:40:52.77 ID:iO4p2OMA.net
- おこちゃまでも簡単に真似できるから
- 673 :デフォルトの名無しさん:2016/08/18(木) 21:05:32.21 ID:rHM2lRk8.net
- やるじゃない
- 674 :デフォルトの名無しさん:2016/08/19(金) 00:04:51.56 ID:fcPN94Ve.net
- Cells(a, b).End(xlDown).Offset(1).Select
の部分でエラーが出るんだけど、なぜでしょうか?
Range("A1")みたいにするとうまくいくんだけど・・・
- 675 :デフォルトの名無しさん:2016/08/19(金) 00:13:41.83 ID:uFNlH2VO.net
- >>674
MsgBox(a & vbcrlf & b)
- 676 :デフォルトの名無しさん:2016/08/19(金) 00:27:32.58 ID:NSPXZFFt.net
- >>674
予想だと
Cells(a,b).End(xlDown).
で最終行を選択し、その後更にoffset()で最終弾の一個下をselectしようとしてエラー担っている気がする
Sub c()
Debug.Print (Cells(a,b).End(xlDown).Row)
End Sub
辺りで何行目を参照してるか確認したほうがいいかも
- 677 :デフォルトの名無しさん:2016/08/19(金) 00:27:45.11 ID:NSPXZFFt.net
- 最終弾ってなんだ、最終行
- 678 :デフォルトの名無しさん:2016/08/19(金) 01:12:42.92 ID:ipiIzd+4.net
- w
- 679 :デフォルトの名無しさん:2016/08/19(金) 02:25:38.59 ID:ZWIiCwfy.net
- >>675
↓括弧なしと何が違う?
MsgBox a & vbcrlf & b
- 680 :デフォルトの名無しさん:2016/08/19(金) 10:08:37.99 ID:NSPXZFFt.net
- >>679
同じ
返り値のないものはカッコの代わりに半角スペースで代用可能
- 681 :デフォルトの名無しさん:2016/08/19(金) 10:33:55.32 ID:dildf2Uq.net
- でもぶっちゃけ読みづらくね?
全部callつけてほしい
- 682 :デフォルトの名無しさん:2016/08/20(土) 06:44:22.17 ID:ufNVCud8.net
- 関数呼び出し形式じゃない、昔ながらの形式の命令もまだあるからなぁ
それらと同じような書き方ができるようにCall、括弧なしの形式も許されてるんだろう
今さら文法的に強制するのは無理だし、コーディングルールで決めとくぐらいか
- 683 :デフォルトの名無しさん:2016/08/20(土) 10:24:13.46 ID:pd0vDoiS.net
- 読みにくいのは括弧がつくつかないの差じゃなくて、関数の名前が機能を想像させないからだと思うんだけどな
- 684 :デフォルトの名無しさん:2016/08/20(土) 13:35:59.72 ID:hAvLMTQN.net
- OPEN OFFICECALCで、マクロがさっぱりです
たとえば、A1セルに1を入れるマクロはどうなるのですか
お願いします
- 685 :デフォルトの名無しさん:2016/08/20(土) 14:03:23.05 ID:2A6hwAw3.net
- >>684
http://brain.cc.kogakuin.ac.jp/~kanamaru/lecture/vba2003/OOo11-summary01.html
- 686 :デフォルトの名無しさん:2016/08/20(土) 15:01:49.02 ID:8L+1uudw.net
- ありがとうございます
ThisComponent.Sheets(0)は必要ですか
- 687 :デフォルトの名無しさん:2016/08/20(土) 15:03:01.93 ID:2A6hwAw3.net
- 試せば?
- 688 :デフォルトの名無しさん:2016/08/21(日) 12:37:42.30 ID:fyroOVTJ.net
- 間違ってますか?以下
if a=1 THEN goto 1: else goto 2:
1: g=100
2:g=50
- 689 :デフォルトの名無しさん:2016/08/21(日) 12:38:57.36 ID:fyroOVTJ.net
- 引き続き
OPEN OFFICECALCのはなしです。
- 690 :デフォルトの名無しさん:2016/08/21(日) 12:45:14.86 ID:4j47ibNh.net
- >>689
スレチな質問だと思うよ
ここは Excel VBA 質問スレって分ってる?
LibreOffice/Apache OpenOffice 総合相談所 12 [転載禁止](c)2ch.net
http://echo.2ch.net/test/read.cgi/bsoft/1443141116/
- 691 :デフォルトの名無しさん:2016/08/21(日) 16:32:17.20 ID:Vd2iT4mK.net
- 合っているとも間違ってるとも言える。
とんち的な回答でも求めてるのか?
- 692 :デフォルトの名無しさん:2016/08/21(日) 16:40:42.71 ID:vQbvqGuX.net
- スレチだし、それ以前に自分で試せば会ってるか間違っているかすぐ判る話だろ?
- 693 :デフォルトの名無しさん:2016/08/21(日) 19:49:34.39 ID:bS8sY2Rp.net
- 分岐している意味が無い。G=50のみ。
- 694 :デフォルトの名無しさん:2016/08/22(月) 01:33:04.46 ID:HMBRUb6Z.net
- >>646
一瞬コード?と思った。
日本語で変数名とか関数名を書けるのはExcel VBAならではの強みだな
- 695 :デフォルトの名無しさん:2016/08/22(月) 08:52:59.55 ID:DittHok3.net
- >>694
スレ違いだが他にも日本語使える言語はあるぞ
- 696 :デフォルトの名無しさん:2016/08/22(月) 10:07:13.79 ID:+lArBpqA.net
- C系はおkだろう
- 697 :デフォルトの名無しさん:2016/08/22(月) 12:00:39.70 ID:v1YaC14g.net
- utf-8対応のほとんどのモダンな言語で使える
- 698 :デフォルトの名無しさん:2016/08/22(月) 16:26:22.82 ID:hGszYasV.net
- むしろVBAだとunicodeじゃないから絵文字とかも使えなくて他より貧弱ですらある
- 699 :デフォルトの名無しさん:2016/08/22(月) 19:39:05.24 ID:EmQj+pxh.net
- >>695
Mindのことか!
- 700 :デフォルトの名無しさん:2016/08/22(月) 19:50:26.55 ID:7OdY17a2.net
- エクセル2013です。
DatalabelオブジェクトのTopプロパティを設定して、データラベルを横項目軸の下に並べました。(左グラフ)
しかし、縦軸の最大値最小値を変えると、データラベルの位置が動いてしまいました。さらに、プロットがエリア外に出た場合、そのデータラベルは消えてしまいました。(右グラフ)
縦軸をいじっても、設定したラベルの位置が変わらないようにしたいのですが、どうにかならないでしょうか・・・
全く別のアプローチでもよいので、何か良策があれば教えていただきたいです。
http://i.imgur.com/yTYOzvT.png
画像は2010ですが、2013についての質問です。
- 701 :デフォルトの名無しさん:2016/08/22(月) 21:03:15.52 ID:pg4VSD/j.net
- セルに第100回とあるのを100にして使いたいのですが
Replaceで置き換えればいいですか?他に方法ありますか?
- 702 :デフォルトの名無しさん:2016/08/22(月) 21:16:27.46 ID:68g1gl18.net
- 数値をそのまま入れておいて表示形式で"第"###"回"というのはダメなのか
- 703 :デフォルトの名無しさん:2016/08/22(月) 21:54:08.82 ID:rOd+1f+v.net
- >>702
それができるならそれがいいと思うけど "第"##0"回" とすべきかな
- 704 :デフォルトの名無しさん:2016/08/22(月) 22:00:41.89 ID:ppg5XtMG.net
- >>701
田中さんところのコレが使えるんじゃないか?
http://officetanaka.net/excel/vba/tips/tips56.htm
- 705 :デフォルトの名無しさん:2016/08/22(月) 22:09:50.72 ID:pg4VSD/j.net
- >>703>>704
ありがとうございます
- 706 :デフォルトの名無しさん:2016/08/22(月) 23:21:38.68 ID:7OdY17a2.net
- >>700はどうにかならないでしょうか・・・
- 707 :デフォルトの名無しさん:2016/08/23(火) 17:49:53.75 ID:17GlMZUu.net
- >>706
VBAなの?
- 708 :699:2016/08/23(火) 20:26:53.86 ID:NV/K/hRn.net
- 自己解決しました。
>>707はいそうです
- 709 :デフォルトの名無しさん:2016/08/23(火) 20:41:36.26 ID:Da+ZR/3+.net
- Excelのグラフ機能かと思ってた
- 710 :デフォルトの名無しさん:2016/08/23(火) 21:13:22.66 ID:NV/K/hRn.net
- >>709
グラフ機能をvbaで操作したかったんですね
- 711 :デフォルトの名無しさん:2016/08/24(水) 09:24:56.69 ID:qLdqPdHG.net
- Excel VBA 初心者を抜けるにはどの参考書で勉強すればいいですか?
- 712 :デフォルトの名無しさん:2016/08/24(水) 10:23:24.60 ID:DzfzGvdi.net
- 実務を通して覚えるしか無い
このスレの回答を読んでもいいけど変な質問も多いのがなぁ
- 713 :デフォルトの名無しさん:2016/08/24(水) 10:49:37.52 ID:MdisPjtQ.net
- そもそも初心者の定義がどこまでか決まってないので、抜ける方法も
抜けたかどうかも誰にもわからない
以下、初心者とは何かという無駄な雑談が続く流れ↓
- 714 :デフォルトの名無しさん:2016/08/24(水) 12:22:02.28 ID:yjiYiTgz.net
- このスレで回答したくなるうちはまだまだ初心者
- 715 :デフォルトの名無しさん:2016/08/24(水) 13:25:54.80 ID:DzfzGvdi.net
- >>714
「お前らは初心者」というより煽る効果はかなりあるね。78点
- 716 :デフォルトの名無しさん:2016/08/24(水) 14:06:05.06 ID:5+3NnlZx.net
- >>714
Qiitaとかはてブロに書いてる連中は?
- 717 :710:2016/08/24(水) 14:13:33.56 ID:qLdqPdHG.net
- すみません、どのくらいのレベルになりたいかというと、いつもしている単純作業をブックをまたいで自動化できるようなレベルです。
「こういうことがしたいな」と思った時に今のレベル(入門書5冊読んだくらいです)では実現可能かどうかすらわかりません。
たぶんプログラミング向いてないんですね。
ただ色々と読んで行くうちに実はエクセルVBAでもかなり色々できるんだなーというのはわかりました。
- 718 :デフォルトの名無しさん:2016/08/24(水) 14:23:49.37 ID:DzfzGvdi.net
- >>717
できる
「他ブックは基本的に開かないと編集も参照もできない」という仕様を理解してくれ
そのあと、
・別ブックを開く
・別ブックにフォーカスを移す、もしくは変数にsetする
・別ブックから値を取り出す
・メインブックに値を移す
・あとは別ブクの保存・閉じるなど
のように作業を切り分けて作っていくといいよ
わからんかったら分からんところをここで効けばいいと思う
- 719 :デフォルトの名無しさん:2016/08/24(水) 14:30:51.06 ID:7ROKFl34.net
- 最近勉強し始め、わからないことがあるのでご回答お願いします
選択範囲指定にcountifを使いたいのですが作動しません。
range("b2","p"&countif(p2:p336,"食品")).select
何がしたいのかというと、オートフィルターでソートしたデータの食品だけを自動選択したいです
よろしくお願いします。
- 720 :デフォルトの名無しさん:2016/08/24(水) 14:37:19.47 ID:DzfzGvdi.net
- >>719
なんとなくやりたいことは分かるけどコードが酷い。
マクロの記録でオートフィルタしたほうが早いと思う
Sub Macro1()
Columns("P:P").AutoFilter
ActiveSheet.Range("p:p").AutoFilter Field:=1, Criteria1:="食品"
End Sub
- 721 :デフォルトの名無しさん:2016/08/24(水) 14:48:05.43 ID:u0hyDIHF.net
- >>719
VBAにcountifなんて関数はない
ワークシート関数を使いたい場合はWorksheetFunctionを使って
result = Application.WorksheetFunction.CountIf(Range("P2:P336"), "食品")
のようにする
- 722 :718:2016/08/24(水) 14:48:17.24 ID:qNpi+UQd.net
- Sub ソート貼付()
Range(
- 723 :718:2016/08/24(水) 14:54:58.04 ID:7ROKFl34.net
- subA
Range("A1").Select
Selection.AutoFilter
ActiveWorkbook.Worksheets("リスト").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("リスト").AutoFilter.Sort.SortFields.Add
Key:=Range( _
"P1:P398"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=
_
xlSortNormal
With ActiveWorkbook.Worksheets("リスト").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
→Range("B2",P10).Select
Selection.Copy
Sheets("市原").Select
Range("B2").Select
ActiveSheet.Paste
end sub
- 724 :718:2016/08/24(水) 14:56:21.43 ID:7ROKFl34.net
- 矢印の行のp10の10を可変にしたいということです。
- 725 :デフォルトの名無しさん:2016/08/24(水) 15:01:30.66 ID:DzfzGvdi.net
- 列ごとコピーペーストでいいんじゃない?
Columns("B:B").Copy
Sheets("市原").Select
Range("B1").Select
ActiveSheet.Paste
- 726 :デフォルトの名無しさん:2016/08/24(水) 18:42:07.35 ID:NuYc1DIg.net
- 食品の行だけを抜き出したいなら開始行数も可変にしないと難しくない?
それとも必ず【食品】が先頭となる仕組みを別に用意してるの?
- 727 :デフォルトの名無しさん:2016/08/24(水) 23:37:57.38 ID:Xk5yew1s.net
- >>716
アウトプット()したい欲があるうちは基本的に初心者
- 728 :デフォルトの名無しさん:2016/08/24(水) 23:42:54.72 ID:DzfzGvdi.net
- >>727
煽ってレスが欲しいのか、真剣に考えたのか、それともこういうレスがほしいのか、どれだ?
答え教えてくれー
- 729 :デフォルトの名無しさん:2016/08/26(金) 23:34:13.90 ID:lCQxOhjL.net
- >>728
やけに食い付いてくるけど俺は常識的な事を普通に言ってるだけだぞ
- 730 :デフォルトの名無しさん:2016/08/26(金) 23:36:44.44 ID:Ah7+CnOi.net
- アウトプットにもピンキリある。初心者も神もいる。
- 731 :デフォルトの名無しさん:2016/08/27(土) 00:11:46.56 ID:U4dC1OlU.net
- 常識はおまえの中だけの物だよ
- 732 :デフォルトの名無しさん:2016/08/27(土) 10:39:54.78 ID:iF8S21EN.net
- プログラマでも売られる存在ならQiitaやGitHubでこんなん書いてますアピールみたいな割と重要
- 733 :デフォルトの名無しさん:2016/08/27(土) 11:13:17.41 ID:qkuUxXhn.net
- >>721
初心者だが
>VBAにcountifなんて関数はない
といってるのに
>result = Application.WorksheetFunction.CountIf(Range("P2:P336"), "食品")
コード提示でCountIfを使ってる。このCountIfは関数では・・?
矛盾してませんか
- 734 :デフォルトの名無しさん:2016/08/27(土) 11:16:17.51 ID:qkuUxXhn.net
- >>711
Excel VBA 実用マクロ 800連発【中・上級編】
この本読んでマスターすれば中・上級者になれるらしいが、VBAに詳しい人はこの本っていい?
- 735 :デフォルトの名無しさん:2016/08/27(土) 11:30:45.40 ID:2G3rf2/X.net
- >>733
{ VBAの関数 } ≠ { ワークシート関数 }
VBAはExcelだけではなくOffice全般で使えて、
使える関数は { VBAの関数 } + { アプリが備えている関数 } + ... となる。
- 736 :デフォルトの名無しさん:2016/08/27(土) 11:35:39.64 ID:qkuUxXhn.net
- >>735
なるほど
「Excel VBA」とExcelを明記した場合は、
{ VBAの関数 } + { ワークシート関数 } と考えていい?
- 737 :デフォルトの名無しさん:2016/08/27(土) 11:40:14.98 ID:2G3rf2/X.net
- >>736
基本的にはそう。
「使用できる関数」としてより正確に書くと
{ VBAの関数 } + { ワークシート関数 } + { ユーザ定義関数 } + { Declare した外部API関数 }
かな。
- 738 :デフォルトの名無しさん:2016/08/27(土) 11:40:18.44 ID:hnOiZ5zW.net
- ワークシート関数 ⊂ VBAの関数
- 739 :デフォルトの名無しさん:2016/08/27(土) 11:51:46.58 ID:WK2P1UYt.net
- >>738
>>735
- 740 :デフォルトの名無しさん:2016/08/27(土) 11:56:43.95 ID:hnOiZ5zW.net
- VBE上で使えるんだからワークシート関数はVBAの関数の一種だろ。
ワークシート関数 ≠ VBAの関数 だったらVBEから呼び出せねぇ。
- 741 :デフォルトの名無しさん:2016/08/27(土) 12:39:24.93 ID:WK2P1UYt.net
- 直前のレスくらい読めよ
まぁそれでおまえが理解しやすいならそれでかまわねーっすよ
このスレはExcelVBAなのでその感覚でも話は通じる
- 742 :デフォルトの名無しさん:2016/08/27(土) 12:50:03.73 ID:3U68Yxtc.net
- 細かい事を言いたいのなら「VBAの関数」という言い方がそもそも片手落ちなんだよ
それを言うならVBAの言語仕様に標準で備わっている関数と言うべき
ただVBAの関数と言った時には使える関数全てを含めても何の問題もない
- 743 :デフォルトの名無しさん:2016/08/27(土) 13:00:23.82 ID:2G3rf2/X.net
- 大もとは
>>719に対する>>721の答えだった。
そこでは関数が見つからない、という問題があった。
「使える関数」にもいろいろ種別があるという知識はたまには役に立つだろう。
- 744 :デフォルトの名無しさん:2016/08/27(土) 13:07:29.38 ID:hnOiZ5zW.net
- 知ったかぶりで適当な事言われると、後々他の奴らが認識の違いで困る事になるんだよ。
「WorksheetFunctionオブジェクトに含まれる関数である」が正解で、
「VBAの関数ではない」は明らかに間違い。
- 745 :デフォルトの名無しさん:2016/08/27(土) 13:37:22.49 ID:X14RyDNI.net
- 関数じゃなくてオブジェクトのメソッドって話やないの
- 746 :デフォルトの名無しさん:2016/08/27(土) 13:41:49.81 ID:2G3rf2/X.net
- 規格がないからなあ
明らかにならない
- 747 :デフォルトの名無しさん:2016/08/27(土) 16:07:50.32 ID:r7SU0MBd.net
- クリップボードへのアクセスを行うオブジェクトの生成でネットを検索すると
Dim CB As New DataObject
Dim CB As Object
Set CB = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
の2種類が出てきますが、違いを教えてください。
- 748 :デフォルトの名無しさん:2016/08/27(土) 16:18:01.14 ID:V+Q7EdiJ.net
- 同じ。参照設定するかしないかだけの違い
- 749 :デフォルトの名無しさん:2016/08/27(土) 19:27:34.04 ID:zDursf6q.net
- >>1-1000
マクロ4.0のこともたまには思い出してあげて下さい・・・
- 750 :デフォルトの名無しさん:2016/08/27(土) 20:39:58.91 ID:gWjhz2Cl.net
- 何かそういうの沢山あるよな。
WorksheetFunctionも、
Application.WorksheetFunctionと何が違うんじゃ。
- 751 :デフォルトの名無しさん:2016/08/27(土) 20:51:37.88 ID:b/uvLgOF.net
- >>750
それはまったく同じもの
特定のケースでデフォルトのクラス名を省略できるってだけ
- 752 :デフォルトの名無しさん:2016/08/30(火) 07:44:38.70 ID:EsFgcMjw.net
- 質問です。考え方を教えて頂きたいです。
VBAは入門書一冊読んだだけでまだ簡単なプログラムしか組めません。
http://i.imgur.com/gLPa1jE.png
画像のように従業員イロハニ、店舗abcdがあり、シフトAは「どの従業員がどの店舗に派遣されるか」になっています。
このシフトAをシフトBのように「どの店舗にどの従業員が派遣されるか」に並べかえたいです。
シフトAとシフトBは別シート。
従業員数は毎月一定ですが、派遣先の店舗数は毎月増減もあるしいつも決まった店舗ではありません。
シフトAをBに並び替えるVBAが作りたいのですが、やり方として以下の通り考えています。
手順1.新しいシートを作成しシフトAの日付を新しいシートにコピーする。この新しいシートがシフトB用のシートになる。
手順2.シフトAから店舗を抜き出し、画像のシフトBのI9からL9のように並べる。
で、この先の手順というか考え方で行き詰まってます。
「シフトAの9月1日欄を左から右に検索していって、シフトAの店舗名とBの店舗名を付き合わせて、合致していたらシフトAから従業員名を持ってくる」という感じかなと思うのですが、
その考え方でいいかダメなのか、ダメならもっと効率のいい考え方があればアドバイス頂けたらと思います。
漠然とした質問で申し訳ありません。
プログラム自体は自分で組んでみたいのですが、どういう思考でプログラムの手順を考えればいいかがわからず、アドバイス頂けたら助かります。
- 753 :デフォルトの名無しさん:2016/08/30(火) 08:38:07.68 ID:agWpAPx4.net
- 実現できてるならそれでいいと思う
- 754 :デフォルトの名無しさん:2016/08/30(火) 08:50:42.22 ID:rg/B84f9.net
- >>752
最初のデータは正規化したほうが良いと思う。
日付 店舗 従業員
で縦に長いテーブルを作り、そこからvbaで表を生成すればどんな形にも対応できる
正規化せずにやるなら
・日付はコピー、表の大部分は最後につくるのでタイトル部分から作る
・foreach+filter()あたりでリストを作成し、タイトル作成
・日付部分はコピー
・I9の"a"を元にI列のリスト作成。ここでもfilter(range("c10:f10"),"a")とfiter()を使うと良いかもしれない
・I10のbを元にJ列・・・以下略
- 755 :デフォルトの名無しさん:2016/08/30(火) 14:34:28.67 ID:1vDTo0PX.net
- >>754
ありがとうございます。
正規化という言葉を初めて聞きました。
ちょっとググってみます。
あと正規化しないやり方、filterというのも調べてみます。
ありがとうございます。
- 756 :デフォルトの名無しさん:2016/08/30(火) 21:12:53.32 ID:3IVEWTdL.net
- 何かデータ範囲だけ設定出来ればあとはピボットで行けそうな気がするのは気のせいか?
- 757 :デフォルトの名無しさん:2016/08/30(火) 21:42:30.12 ID:fcNVJIWL.net
- >>756
全く気のせい
- 758 :デフォルトの名無しさん:2016/08/31(水) 23:18:02.83 ID:eDswuguA.net
- ピポットテーブルの使い方
が
わ
か
ら
ないのでVBAを使うでござるよ。
- 759 :デフォルトの名無しさん:2016/08/31(水) 23:40:29.59 ID:1bSORIPG.net
- >>758
vbaでピボットを使うと
- 760 :デフォルトの名無しさん:2016/08/31(水) 23:57:02.20 ID:bAsdsxfS.net
- 苦しめ、苦しめ、だんだん死んでゆくのだ
- 761 :デフォルトの名無しさん:2016/09/01(木) 06:38:13.18 ID:RZzfoQXv.net
- power biをVBAから使う資料ある?
- 762 :デフォルトの名無しさん:2016/09/01(木) 06:45:03.67 ID:jFfF04Ne.net
- Worksheetについて、ActivateとSelectでどういう違いがあるんでしょうか
デフォルトのセル処理対象シートを指定する時はどっちでもいいんでしょうか
- 763 :デフォルトの名無しさん:2016/09/01(木) 07:23:17.68 ID:U94IlsuT.net
- >>762
selectは複数指定でき、その中のactiveなのがactivate
activateは非表示シートを指定できるのでactivateの方がいいとか何とか
http://d.hatena.ne.jp/paz3/20090824/1251086123
http://excel-master.net/macro-vba/select-activate-difference/
- 764 :デフォルトの名無しさん:2016/09/01(木) 07:49:45.91 ID:jFfF04Ne.net
- ありがとうです
自分で作る時は、操作したいシートをSetでオブジェクトに代入して使うんですが
他人の作ったものでSelect・Activateを多用・混用しているものがあってつらいです
- 765 :718:2016/09/01(木) 15:10:02.73 ID:95ZMuOUY.net
- 住所録から指定の市だけをフィルター掛けたい場合って
array関数じゃなんともならないのかな?
部分一致と、変数選択が出来ない
できれば指定の市のリストは別シートに作りたいんだけど、面倒?
- 766 :デフォルトの名無しさん:2016/09/01(木) 15:17:54.91 ID:U94IlsuT.net
- >>765
vbaだけならarrayとfilter使うと思うけど、めんどくさい
オートフィルタ使ったほうが早いと思う
http://officetanaka.net/excel/vba/tips/tips155.htm
部分一致
Criteria1:="東京*" ''東京で始まる
Criteria1:="*横浜*" ''横浜を含む
Criteria1:="*区" ''区で終わる
- 767 :デフォルトの名無しさん:2016/09/01(木) 15:18:14.55 ID:duZLKfzc.net
- フィルター掛けてどうしたいの?
変数で取り出したいだけならinstr使えば取れる
何を作りたいのか全然イメージできないのでそこを明確に書いてくれると助かる
- 768 :718:2016/09/01(木) 15:23:37.31 ID:95ZMuOUY.net
- 経理なんだけど事業所税の対象店舗だけ抽出したくて、
指定都市70箇所くらいを選択したいんだよね。
指定都市一覧表を作って、それを使ったオートフィルターをやりたいっていう
伝わるかな?
- 769 :デフォルトの名無しさん:2016/09/01(木) 15:32:37.56 ID:95ZMuOUY.net
- 後同じ市に複数店舗ある場合は税額を合算しなきゃいけないから、抽出後同じ市同士で税額の合算も出したい
条件が
指定都市70-100のうち
1、床面積1000平米を超えたら平米かける600円
2,従業員数が100人を超えたら給与総額の0.25%
1.2は片方だけでも課税対象
同じ市は合算、都内23区は一つの市として扱う
ってな感じです。
- 770 :デフォルトの名無しさん:2016/09/01(木) 15:41:34.07 ID:U94IlsuT.net
- 作業列作ってfind()とsumif()ですぐに終わるな
- 771 :デフォルトの名無しさん:2016/09/01(木) 15:44:31.42 ID:95ZMuOUY.net
- >>770
ごめん、それだけでは俺の頭じゃ理解できない...
- 772 :デフォルトの名無しさん:2016/09/01(木) 19:14:37.36 ID:duZLKfzc.net
- VBA使うまでもないってこと
- 773 :デフォルトの名無しさん:2016/09/01(木) 20:10:14.38 ID:0Y2Y131f.net
- Access使ってクエリ作っておけば更新もメンテもしやすいけど、
いずれにしても金勘定が絡むようなシステムを、独学で何も出来ないヤツが組むとか怖すぎる。
- 774 :デフォルトの名無しさん:2016/09/01(木) 21:15:28.24 ID:6KYTe3GK.net
- >>764
その使い方が正解だと思うよ。
実行中に手でシート変えられたらSELECTやACTIVATE使ってたら
想定してたのとは別のシート処理したりするからね。
- 775 :デフォルトの名無しさん:2016/09/01(木) 21:21:38.22 ID:6KYTe3GK.net
- >>765
EXCELのシートにSQL投げて他のシートに展開するのが後々を考えると楽かな。
絞り込みも並べ替えも自由自在。
- 776 :デフォルトの名無しさん:2016/09/01(木) 22:13:08.84 ID:MLOPD6AW.net
- >>775
えくせれんとな方法
- 777 :デフォルトの名無しさん:2016/09/01(木) 22:29:36.53 ID:dXEa2oBI.net
- 意味があるかは別として、
パワポ+VBAでExcel作れるかな。
- 778 :デフォルトの名無しさん:2016/09/01(木) 22:49:09.64 ID:U94IlsuT.net
- VBAからExcelインスタンス作れないっけ
- 779 :デフォルトの名無しさん:2016/09/01(木) 22:57:19.92 ID:0Y2Y131f.net
- テキストボックス大量に敷いてスプレッドシートっぽいもの作るって事じゃないの?
- 780 :デフォルトの名無しさん:2016/09/02(金) 01:27:54.96 ID:iHRJ22/E.net
- >>775
SQLってなんぞや...
- 781 :デフォルトの名無しさん:2016/09/02(金) 03:47:18.65 ID:kWkQROgW.net
- 漫画喫茶のダイス(DICE)を運営してるのはベルシティ(ザ シティ)というパチンコ店です。
ザ シティ・ベルシティ伊勢佐木町店(神奈川県)の周りにはソープランドがたくさんあります(ソープランド街です)。
このパチンコ店は韓国人か中国人が経営者の可能性があります(パチンコ店のほとんどは韓国人が経営してます)。
ザ シティ・ベルシティ伊勢佐木町店の周りには韓国料理店がたくさんあり、数キロ先には横浜中華街があります(韓国人、中国人がすごく多い地域です)。
普通はこんな場所に店を出さない気がします。
DICE系列 関東圏4
http://hayabusa6.2ch.net/test/read.cgi/netspot/1467360487/
ダイス(DICE)=まんがランド(漫画喫茶)=ちょっと気分転館(漫画喫茶)=ねっとラボ=ベルシティ(ザ シティ)というパチンコ店
↑
パチンコ店のほとんどは韓国人が経営してます
- 782 :デフォルトの名無しさん:2016/09/02(金) 09:04:28.00 ID:6v3+q8HG.net
- >>775
ExcelでSQLって比喩かと思ったら本当に使えるのね
これは驚いた
- 783 :デフォルトの名無しさん:2016/09/02(金) 11:56:09.00 ID:eEk3dEjT.net
- >>775
どういうこと?
odbcでつなぐってこと?
- 784 :デフォルトの名無しさん:2016/09/02(金) 12:09:05.21 ID:6v3+q8HG.net
- vba sql
でぐぐれば出てくるぞ
- 785 :デフォルトの名無しさん:2016/09/02(金) 12:19:26.79 ID:UbwoQtPa.net
- ADODBやな
- 786 :デフォルトの名無しさん:2016/09/02(金) 12:29:08.53 ID:wpaJvYRL.net
- >>784広告除いて上から何件目の奴で?1個めは明らかに違うぽいけど?
- 787 :デフォルトの名無しさん:2016/09/02(金) 13:51:48.45 ID:UbwoQtPa.net
- 今時ChromeとかはuBlock orginとか導入してるヤツ多いから、上から何番目なんて普通に他人とは合わないだろ
おれがさっき自分Redmineに後で見るようにメモったアドレス貼るわから好きなん見ろや
ttp://mukaer.com/archives/2010/10/17/excelsqlvlookup/
ttp://oshiete.goo.ne.jp/qa/1693954.html
ttp://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_130_090.html
ttp://q.hatena.ne.jp/1154589462
ttp://d.hatena.ne.jp/ogohnohito/20090930/p1
- 788 :デフォルトの名無しさん:2016/09/02(金) 16:01:56.28 ID:Lot1khqt.net
- windows7からwindows10に替えたらoffice2010でRowHeightの設定が遅くなりました。大体10倍位の性能です。何か対策ないですかね?
- 789 :デフォルトの名無しさん:2016/09/02(金) 20:48:43.34 ID:ePQkgchF.net
- InternetExplorerオブジェクトのプロパティでInPrivateが無いようです
InPrivateで開く方法ないでしょうか?
- 790 :デフォルトの名無しさん:2016/09/02(金) 21:03:52.16 ID:YwGG/E5k.net
- >>786
csvもsqlできる)ー
- 791 :デフォルトの名無しさん:2016/09/02(金) 22:44:14.09 ID:i0ejSJpA.net
- >>775だけど、何でもかんでも使えると言う訳ではないからね。
本来のDBからかけ離れたものになって行くほど制限を受けるよ。
例えばEXCELにSQLを使う場合は削除系の命令が使えないし、
CSVはそれに加えて工夫しないと前0が死んだりする。
設定の方法も大分変わるしね。
- 792 :デフォルトの名無しさん:2016/09/03(土) 00:33:18.18 ID:I1IV+EOF.net
- ググると削除の例が出てくるのは何で?
- 793 :デフォルトの名無しさん:2016/09/03(土) 01:41:01.47 ID:iqP+pTRw.net
- >>792
試してみた?
- 794 :デフォルトの名無しさん:2016/09/03(土) 07:56:47.06 ID:I1IV+EOF.net
- >>793
試してないが。
作例は全部嘘と言いたいの?
- 795 :デフォルトの名無しさん:2016/09/03(土) 09:02:37.31 ID:jW/PGsaB.net
- >>794
こっちはググってみて出来ないと乗ってて実際試してみて出来ないことを確認したけど、
どこのページ?別に何か方法が有るのかも知れないね。
- 796 :デフォルトの名無しさん:2016/09/03(土) 10:51:14.72 ID:PFT0pHGx.net
- SQLじゃなくてテーブル操作だったりして。
ListObjects(1).ListRows(1).Delete
みたいなのは出来るからね。
- 797 :デフォルトの名無しさん:2016/09/03(土) 18:21:09.90 ID:I1IV+EOF.net
- >>795
どこって、1ページ目の1番上。
何で出来ない方だけ見つけられるんだよ。
- 798 :デフォルトの名無しさん:2016/09/03(土) 18:22:26.28 ID:I1IV+EOF.net
- ↑excel vba sql deleteでね。
- 799 :デフォルトの名無しさん:2016/09/03(土) 18:39:07.77 ID:S1LVnrms.net
- 検索結果は人によって変わるから、直接URL張ったほうが良いと思う
- 800 :デフォルトの名無しさん:2016/09/03(土) 18:41:28.16 ID:5DqHmVAq.net
- 対象がAccessだから削除できてる
- 801 :デフォルトの名無しさん:2016/09/03(土) 19:51:03.90 ID:NWU88erx.net
- そりゃAccessならね。元々DBとして作られたものだし。
何か>>797のも見たけどそれのことっぽいね。
「ExcelにSqlを使う場合は」って確か銘打ってたと思うけど、まあ見落としかな。
- 802 :デフォルトの名無しさん:2016/09/03(土) 20:01:55.86 ID:I1IV+EOF.net
- >>800
じゃあAccessじゃないやつ。
https://pasocafe.space/wordpress/excel-mysql-connect-5
- 803 :デフォルトの名無しさん:2016/09/03(土) 20:21:38.28 ID:I1IV+EOF.net
- >>801
ああ、
Excel(のシート上のデータ)にSqlを使う場合は、か。
すまん。
- 804 :デフォルトの名無しさん:2016/09/03(土) 20:31:10.35 ID:C7/HRvIV.net
- >>802
ID:I1IV+EOF
バカ発見
- 805 :デフォルトの名無しさん:2016/09/03(土) 20:33:14.95 ID:NXr2sGOM.net
- でもIDがEOFってちょっといいな
- 806 :デフォルトの名無しさん:2016/09/03(土) 20:34:40.52 ID:S1LVnrms.net
- I1IVも数字みたいだ
- 807 :デフォルトの名無しさん:2016/09/03(土) 20:38:32.89 ID:I1IV+EOF.net
- >>804
小学生でもVBAに興味を持つのか…。
何に使うのかわからんが。
- 808 :デフォルトの名無しさん:2016/09/03(土) 20:49:21.81 ID:C7/HRvIV.net
- >>807
バカ発見
- 809 :デフォルトの名無しさん:2016/09/03(土) 20:59:35.91 ID:I1IV+EOF.net
- >>808
・・・・・・・・・・・・・・。
これがきっかけで、変な事件起こされたら気分悪いから、
この辺でやめとくけど、
相当みじめな人生送ってるんだろうな、お前って。
- 810 :デフォルトの名無しさん:2016/09/03(土) 21:06:23.48 ID:S1LVnrms.net
- 小学生いじめるのはやめよう
カッコ悪いゾ
- 811 :デフォルトの名無しさん:2016/09/03(土) 21:10:28.72 ID:C7/HRvIV.net
- >>809
同じ匂いがする
- 812 :デフォルトの名無しさん:2016/09/03(土) 21:20:02.29 ID:PFT0pHGx.net
- なんかマンガに出てくる野生児みたいな事言っとる
- 813 :デフォルトの名無しさん:2016/09/03(土) 21:31:29.36 ID:C7/HRvIV.net
- >>809
ごめんね
- 814 :デフォルトの名無しさん:2016/09/03(土) 22:24:28.77 ID:u1vRHWUh.net
- Seleniumbasicって開発止まったんかな?
- 815 :デフォルトの名無しさん:2016/09/03(土) 23:09:08.16 ID:orlk44gO.net
- すみませんが教えて下さい。
過去ログ読んでもちょっとわかりませんでした。
あるフォルダの最新ファイルを開く。を何とか作って
動かしているのですが、
前略
strFilePath = ThisWorkbook.Path &
- 816 :デフォルトの名無しさん:2016/09/03(土) 23:56:22.26 ID:mVpYdvYg.net
- ( ゚д゚)ポカーン
- 817 :デフォルトの名無しさん:2016/09/04(日) 10:25:35.39 ID:KT/fZSZe.net
- VBAってEXCELのリンク編集みたいな機能はなしか
閉じてるブックの大量のデータを毎回書き換えたいんだけどな
- 818 :デフォルトの名無しさん:2016/09/04(日) 10:29:24.68 ID:RvfKmPYC.net
- それならExcelよりもcsvかテキストファイルにした方がいいと思う
- 819 :デフォルトの名無しさん:2016/09/04(日) 11:08:29.44 ID:KT/fZSZe.net
- すまぬなんか間違ってる事言ったっぽいw
ブックBはAとリンクしてるので、Aのデータを手動で更新して閉じた時に、Bに結果が反映されるようにしたいんです
EXCELではリンク編集で一発で変えられたんだけど、VBAではそれができないのかなーと
説明下手ですいませぬ
- 820 :デフォルトの名無しさん:2016/09/04(日) 11:12:57.98 ID:RvfKmPYC.net
- あぁなるほど
あるかもしれないけど、俺は知らないわ。多分無いと思う
- 821 :デフォルトの名無しさん:2016/09/04(日) 11:15:03.92 ID:pAzXpYBT.net
- それこそSQLで更新かけちゃえば早いと思う。
- 822 :デフォルトの名無しさん:2016/09/04(日) 11:47:32.32 ID:KT/fZSZe.net
- やっぱないかー
お手数かけてすいませんでした
今度SQLで調べてみます
- 823 :デフォルトの名無しさん:2016/09/04(日) 12:52:05.03 ID:C66L8/dk.net
- >>815
>strFilePath = ThisWorkbook.Path &
2chのバグだろ
書き込み確認画面が出る際、" を使うと、そこで文字列の終了と解釈される。
\" とエスケープすると、書き込めないか?
- 824 :デフォルトの名無しさん:2016/09/04(日) 14:00:22.63 ID:nXLpbkO7.net
- 別ブックにリンク張るとか正気の沙汰とは思えない。
- 825 :デフォルトの名無しさん:2016/09/04(日) 14:04:01.59 ID:RvfKmPYC.net
- 中小企業だと普通のことやで・・・
- 826 :デフォルトの名無しさん:2016/09/04(日) 14:19:47.17 ID:xp6EP8jq.net
- 中小に限らずちゃんと管理できてたら問題ないと思うが
- 827 :デフォルトの名無しさん:2016/09/05(月) 19:13:02.79 ID:Gm422jki.net
- power biってVBAから操作できますか?
- 828 :デフォルトの名無しさん:2016/09/06(火) 06:19:18.61 ID:9VGdJ3gy.net
- >>827
power pointなら
- 829 :デフォルトの名無しさん:2016/09/07(水) 00:08:44.45 ID:Z2UsYJzz.net
- ファンクションって、
ファンクションって言いたいだけじゃね?
別にサブでいいのに。
- 830 :デフォルトの名無しさん:2016/09/07(水) 00:12:04.38 ID:yR890zwI.net
- ?
- 831 :デフォルトの名無しさん:2016/09/07(水) 00:24:20.71 ID:CFB9C61X.net
- returnを使わないならそうだな
- 832 :デフォルトの名無しさん:2016/09/07(水) 00:28:13.14 ID:nmW8yRGz.net
- vbaにもreturnあったのか?
・・・なんだこれ
- 833 :デフォルトの名無しさん:2016/09/07(水) 01:14:22.16 ID:CFB9C61X.net
- あるよ
- 834 :デフォルトの名無しさん:2016/09/07(水) 02:19:25.65 ID:MHwvXL40.net
- Excel2013から2016に移るメリットある?
ノートPC買ったときについてきたOEM版でExcelとパワポ使ってるけど
デスクトップでも作業したいから2ライセンスある2016買おうか迷ってるんだよね
- 835 :デフォルトの名無しさん:2016/09/07(水) 03:06:27.21 ID:KQhwpSzw.net
- OEM版は1ライセンスなの?
先ずはそこから確認
- 836 :デフォルトの名無しさん:2016/09/07(水) 07:11:02.63 ID:3jY6Z1qr.net
- >>835
oemはそんなもんでは
- 837 :デフォルトの名無しさん:2016/09/07(水) 07:37:12.13 ID:AUiAMend.net
- >>832
gosub あるからな
- 838 :デフォルトの名無しさん:2016/09/07(水) 08:20:03.42 ID:lK2e8vOQ.net
- OEMライセンスがもったいない気がする。
2013と2016じゃ対して変わらないし。
- 839 :デフォルトの名無しさん:2016/09/07(水) 11:21:56.99 ID:EmqwIy0k.net
- >>825さんは別ブックのデータを使って統計データを取りたいって時何を使いますか?
- 840 :デフォルトの名無しさん:2016/09/07(水) 15:13:16.20 ID:MHwvXL40.net
- Excel2010からExcel2013に変えたんだけど、2010では5秒くらいで終わってたVBA処理が
2013だと倍近いくらいの時間がかかるようになった。
同じような人いる?なにか有効な設定変更とかありますか?
- 841 :デフォルトの名無しさん:2016/09/07(水) 15:20:24.49 ID:nmW8yRGz.net
- selectにアニメーションがかかるので、アニメーションを切るとか
コード見ないとそれぐらいしか分からん
- 842 :デフォルトの名無しさん:2016/09/07(水) 15:29:04.74 ID:MHwvXL40.net
- >>841
そんないらん機能盛り込んでるんか。
アニメーションってWindowsの視聴効果のことだよね?
それなら最初からオフにしてるんだけどなー
なんかぐぐったら2013でVBA処理が遅くなったみたいなの結構ヒットするな
2016だと改善されてるんかな
- 843 :デフォルトの名無しさん:2016/09/07(水) 16:26:20.19 ID:rbeW3tnj.net
- Application.ScreenUpdating = False
'〜マクロ処理〜
Application.ScreenUpdating = True
- 844 :デフォルトの名無しさん:2016/09/07(水) 17:30:43.99 ID:MHwvXL40.net
- >>843
それは2010から長い文のときはやってる
- 845 :デフォルトの名無しさん:2016/09/07(水) 18:13:06.31 ID:RIOS633e.net
- >>843
さいごに
Application.ScreenUpdating = True
を書き忘れたらどうなるの?
というかそれ使うときは最後のやつは書かない。
- 846 :デフォルトの名無しさん:2016/09/07(水) 19:34:42.78 ID:mtj94bfp.net
- Trueにしないと画面更新しなくなるはず。
Trueにせず支障なく使えるならそもそもFalseが何らかの理由で通ってない。
- 847 :デフォルトの名無しさん:2016/09/07(水) 20:21:03.43 ID:nmW8yRGz.net
- Application.ScreenUpdating = True
を書き忘れたらコンソールから入力することになって非常に面倒
- 848 :デフォルトの名無しさん:2016/09/07(水) 20:23:17.65 ID:nmW8yRGz.net
- >>840
これならどうだ
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
'処理
Application.EnableEvents = True
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
- 849 :デフォルトの名無しさん:2016/09/07(水) 20:25:06.10 ID:8MtneqB4.net
- >>846
VBAから抜けた瞬間に自動的にTrueに戻るよ
戻らないのはxlManualの方
- 850 :デフォルトの名無しさん:2016/09/07(水) 20:25:41.18 ID:8MtneqB4.net
- ↑xlCalculationManual の間違い
- 851 :デフォルトの名無しさん:2016/09/07(水) 20:26:49.01 ID:nmW8yRGz.net
- 知らなかった。
Application.EnableEvents = False
と間違えてた、失敬。こっちは戻らない
- 852 :デフォルトの名無しさん:2016/09/07(水) 20:51:41.71 ID:MHwvXL40.net
- >>848
んー、2010に比べるとやはりもっさりですなー
いろいろググって設定試して、ダメなら2016にするか2010にするか
- 853 :デフォルトの名無しさん:2016/09/07(水) 20:59:43.46 ID:mt9WoXGu.net
- >>840
ファイルを何個も開いて閉じる処理で同じようなことになった
開いたり閉じたりしてるなら、New Excel.Applicationでインスタンスを作って
それをいじくり回すようにするとましになるよ
- 854 :デフォルトの名無しさん:2016/09/07(水) 21:04:18.24 ID:H0Msl5kT.net
- ブラウザの操作がかなり重くなった
OfficeのバージョンじゃなくてOSをWin10にしたせいだと思うけど
- 855 :デフォルトの名無しさん:2016/09/07(水) 21:18:38.72 ID:nmW8yRGz.net
- chromeにしたら?
- 856 :デフォルトの名無しさん:2016/09/07(水) 23:47:12.01 ID:MHwvXL40.net
- >>853
ぐぐってるうちにわかったけど、2013って別ウィンドウで開いてても同じインスタンスなんだな・・・
Excel2010のときは、別ウィンドウで開くでファイルを複数開くと個別で作動してたんだけど、2013だと一つのブックでVBA実行してると他のブックの操作すらできないな・・・
例えば、VBAを含んだブックAとブックBがあるんだけど、それぞれ別で起動したい場合はどうすればいいの?
もしかして2013は無理ってパターンかな・・・
- 857 :デフォルトの名無しさん:2016/09/07(水) 23:58:18.89 ID:nmW8yRGz.net
- >>856
https://msdn.microsoft.com/ja-jp/library/office/dn251093.aspx
無理っぽいね
仮想PCでも使うか、openofficeやoffice365と併用するか
- 858 :デフォルトの名無しさん:2016/09/08(木) 00:00:43.31 ID:2qbrWhfr.net
- >>857
うわー・・・まじか。こんな落とし穴があったとは。
たぶん2016も同じだよね・・・
しょうがないけど、会社の2010のライセンスもらって使うしかないか
- 859 :デフォルトの名無しさん:2016/09/08(木) 00:02:17.15 ID:H7Qp4sWI.net
- >>840
最大行数の違いが出るような事を書いているとか?
- 860 :デフォルトの名無しさん:2016/09/08(木) 00:39:42.86 ID:2qbrWhfr.net
- >>859
たぶん同インスタンスで複数開いてるのが最大の原因っぽい
VBAブックを一つだけ開いて実行するといくぶんかマシになる。
それでも2010に比べるとなんかひっかかりがある感じだけど。
2010だと複数開いても、2013を単体で開いて実行するのより快適なんだけどね
- 861 :デフォルトの名無しさん:2016/09/08(木) 04:26:09.24 ID:2qbrWhfr.net
- 別インスタンスで立ち上げるの解決したので上げておく。
Excel のコマンド ライン スイッチを使用すれば2013以降でも簡単に別インスタンスで起動することが可能ですた。
https://support.office.com/ja-jp/article/Excel-%E3%81%AE%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89-%E3%83%A9%E3%82%A4%E3%83%B3-
別インスタンスでの起動は、/X
タスクマネージャーみても、ちゃんとプロセスがExcel(2)とかじゃなくて2つにわかれて別々で起動してるのか確認できた。
- 862 :デフォルトの名無しさん:2016/09/08(木) 07:11:37.96 ID:Oml+cgWi.net
- >>861
リンクが切れているんだが
- 863 :デフォルトの名無しさん:2016/09/08(木) 11:36:45.72 ID:2qbrWhfr.net
- >>862
あれw途中で切れてたみたいだ
Excel2013 Excel のコマンド ライン スイッチ でぐぐればすぐみつかるお
- 864 :デフォルトの名無しさん:2016/09/08(木) 11:43:10.66 ID:2qbrWhfr.net
- やり方を書くと、別インスタンスで起動したい場合は
1、起動したいbookのショートカットを作成。
2、ショートカットのリンク先を「/x」を使って書き換える
例:例えばDドライブにあるbook1のショートカットを作成を作成した場合は
"c:\ここはExcelがインストールされてるあるフォルダパス〜\EXCEL.EXE" /x "D:\book1.xlsm"
これでショートカットから開くと別インスタンスで起動する。
同インスタンスで複数のファイルを開いて、VBA実行するよりかなりマシな速度になったよ。
- 865 :デフォルトの名無しさん:2016/09/08(木) 22:40:45.22 ID:sWOR7A2s.net
- インスタンスがインスマスに見えた。
- 866 :デフォルトの名無しさん:2016/09/08(木) 22:53:37.23 ID:jvmR2qQB.net
- タンスに
- 867 :デフォルトの名無しさん:2016/09/08(木) 23:18:36.07 ID:2qbrWhfr.net
- しれっとこういう重要な変更してくるからMS困るわ
わかりやすく右クリックとかで「別インスタンスで起動」ってメニューいれるとか配慮ないのかね
- 868 :デフォルトの名無しさん:2016/09/09(金) 03:08:04.12 ID:VuAPiSR8.net
- VBAで普通にブックオープンとかしてたら、Applicationが同一だし
前から同一インスタンスで動いてた気がするけどな
まあとりあえず2013は遅いかもしれんから気を付けろってことか
- 869 :デフォルトの名無しさん:2016/09/09(金) 03:08:05.34 ID:VuAPiSR8.net
- VBAで普通にブックオープンとかしてたら、Applicationが同一だし
前から同一インスタンスで動いてた気がするけどな
まあとりあえず2013は遅いかもしれんから気を付けろってことか
- 870 :デフォルトの名無しさん:2016/09/09(金) 12:17:34.03 ID:qZ0UMPHT.net
- >>868
同じPCに2010と2013入れて比較したけど、全体的に遅いね
長時間使えば使うほど、もっさりが目について戻したくなってるw
設定もいろいろ見直したけど、2010に比べるとだめだw
海外のフォーラムとかみても、2013は失敗作みたいに言われてるし、2010で快適に動いてる人はアップグレードしないほうが吉だね
- 871 :デフォルトの名無しさん:2016/09/09(金) 12:25:36.07 ID:1e93Tfq9.net
- 楽天RSSっていうのを利用して、
リアルタイムの株価を取得していろいろ処理してるブックがあって、
普段はチャートのあるシートをアクティブにしてるんだけど、
30万行ぐらいあるシートをアクティブにするとCPU使用率が100%近くになってPCが重くなるんだけど仕方ないのかね?
win7+office2010+メモリ16G+i5
- 872 :デフォルトの名無しさん:2016/09/09(金) 12:49:44.35 ID:qZ0UMPHT.net
- >>871
別インスタンスで起動してる?
- 873 :デフォルトの名無しさん:2016/09/09(金) 12:58:23.32 ID:1e93Tfq9.net
- >>872
別インスタントで6個のブックを開いてる(各々のブックでリアルタイム株価や板の動きをトリガーとして処理を行っている)。
そのうちの1つのブックで、普段はアクティブではない30万行ぐらいあるシートをアクティブにするとCPU使用率が上がるってところまではわかっています。
最初はCPU使用率が100%になる原因がわからなくて、いろいろ観察してるうちに1つのブックのとあるシートをアクティブにしてるときのみ生じる現象とわかったところです・・・
- 874 :デフォルトの名無しさん:2016/09/09(金) 13:07:28.76 ID:71yv83Wj.net
- >>871
DBに入れたほうがよさ気
それか非表示にしておいて、更新やデータの取得はすべてvbaに任せるとか
- 875 :デフォルトの名無しさん:2016/09/09(金) 13:33:18.09 ID:1e93Tfq9.net
- >>874
たまに詳細データを確認したい時があるんです
まめにデータを移動して行数を減らしてみることにします・・・ありがとうございます
- 876 :デフォルトの名無しさん:2016/09/09(金) 13:39:55.68 ID:qZ0UMPHT.net
- >>873
5万行くらいの行だけど、複数のVBAブックを別インスタンスで起動して
一つのVBAに長めの処理実行させて、アクティブ移動しながらタスクマネージャー使用率みたけど
アクティブにしたからってCPU使用率が跳ね上がるなんてことはなかったなー
ちなみに別インスタンスで起動してたら、タスクマネージャーのプロセス表示は各ブック別々になってるからね
- 877 :デフォルトの名無しさん:2016/09/09(金) 14:30:15.77 ID:1e93Tfq9.net
- >>876
いろいろ確認してもらいありがとうございます。
実は、これらの別インスタンスでの複数ブックは数年運用しており、CPU使用率100%の問題って今回が初めてなんです。
きっと今までも数十万行ってこともあったと思うんですがCPU使用率100%ってことはありませんでした(気づかなかっただけかもしれませんが)。
だから30万行だけが原因だとは思えないでいます。
とりあえず週末に30万行を数千行に減らして月曜日に立ち上げて効果あるかどうかトライしてみます。
- 878 :デフォルトの名無しさん:2016/09/09(金) 20:07:45.64 ID:Udk4e4Yr.net
- >>877
多分もうVBA卒業のところまで来てるんだよ。
マルチタスクが使える言語に移行しなさいってことじゃないかな。
- 879 :デフォルトの名無しさん:2016/09/09(金) 20:32:43.76 ID:qZ0UMPHT.net
- 俺もそろそろExcelじゃ限界かなって思ってるんだけど
また1からソフト作るために他の言語を勉強するって考えると億劫なんだよな(´・ω・`)
- 880 :デフォルトの名無しさん:2016/09/09(金) 20:40:26.04 ID:71yv83Wj.net
- 気持ちは分かる
しかし一度覚えてみたら、excel+VBAでチマチマやってたのはアホだったと思い返すことになる
早めに一度accessなりに手を出してみたほうが良い
- 881 :デフォルトの名無しさん:2016/09/09(金) 20:52:18.23 ID:Gtu/Us0a.net
- 目クソ鼻クソ感wwwwww
- 882 :デフォルトの名無しさん:2016/09/09(金) 20:59:06.29 ID:LQue6sOq.net
- AccessはSQL使えるならExcelよりも非常に高速に動作する。
データベース処理が出来てVBAを流用したいならAccessの方がメンテナンス性も高くていい。
でもVBAってセキュリティに教養の無い会社で使える唯一の言語だから流行ってるだけで、
別環境で開発できるなら早々にもっとちゃんとした言語覚えた方が幸せな気がする。
- 883 :デフォルトの名無しさん:2016/09/09(金) 21:01:14.48 ID:Sz+zzzeN.net
- >>879
データだけはExcelからは分離して、言語はVBAのままでいいじゃん。
- 884 :デフォルトの名無しさん:2016/09/09(金) 21:08:52.72 ID:Gtu/Us0a.net
- お前ら問題から逃げるなよw
- 885 :デフォルトの名無しさん:2016/09/09(金) 21:16:54.11 ID:71yv83Wj.net
- SQLと言っても別にユーザーからのリクエストを処理するわけでもないし、
なんちゃってでも使えたら十分高速
インデックス貼り忘れたらクソだけど、注意点はそれぐらいだ
- 886 :デフォルトの名無しさん:2016/09/09(金) 21:19:17.66 ID:Sz+zzzeN.net
- >>884
最大の問題はデータとプログラムが別れてないこと
- 887 :デフォルトの名無しさん:2016/09/09(金) 21:24:59.11 ID:Gtu/Us0a.net
- >>886には原因が分かっているらしい
ではデータとプログラムが別れていないとl何故
> 普段はアクティブではない30万行ぐらいあるシートをアクティブにするとCPU使用率が上がる
という現象が起こるのか解説お願いします
- 888 :デフォルトの名無しさん:2016/09/09(金) 21:30:29.68 ID:qZ0UMPHT.net
- >>880
>excel+VBAでチマチマやってたのはアホだったと思い返すことになる
覚えるとそうなんだろうけどねー
データベースが5万行くらい超えてくると立ち上げも糞重いし、Accesslの使い方覚えてVBAと組み合わせたらマシになるんだろうな
本かってくるかなー
- 889 :デフォルトの名無しさん:2016/09/09(金) 21:51:02.47 ID:Sz+zzzeN.net
- >>887
最大の問題はもとの質問者が提示した問題ではない。
- 890 :デフォルトの名無しさん:2016/09/09(金) 22:04:12.24 ID:Gtu/Us0a.net
- >>889
最大かつ唯一の問題は質問者が提示した問題である
- 891 :デフォルトの名無しさん:2016/09/09(金) 22:09:08.38 ID:Sz+zzzeN.net
- >>890
お前に言われる筋合いはないわボケカス引っ込め
- 892 :デフォルトの名無しさん:2016/09/09(金) 22:13:30.70 ID:Gtu/Us0a.net
- >>891
事実を捏造する事に筋もクソないとは思わんか?問題から逃げるなよ
- 893 :デフォルトの名無しさん:2016/09/09(金) 22:25:26.49 ID:71yv83Wj.net
- >>888
自分の仕事を楽にするためならスキルの吸収早いだろうからガンバレ
>>884
これからも増え続けるデータをExcelで扱い続けるのは無理があるだろう。
シートやブックを分ければ解決するが、保守が面倒になるし、いずれは同じ問題が形を変えて蘇ることだろう
今後も永久に復活しない形、dbに突っ込んで仕事を解決するほうがスマート。あるかないかわからん原因も究明しなくて良い。
- 894 :デフォルトの名無しさん:2016/09/09(金) 22:30:09.32 ID:Sz+zzzeN.net
- >>892
元の問題を個別に解決したところで未来は全然開けん
横からぐだくだ言うだけのお前こそクソ過ぎて畑にも撒けんわ
- 895 :デフォルトの名無しさん:2016/09/09(金) 22:36:06.25 ID:OFG3vHIP.net
- >>892
ID:Gtu/Us0a
劣勢かな
がんばー
- 896 :デフォルトの名無しさん:2016/09/09(金) 22:39:41.33 ID:71yv83Wj.net
- >>892
>問題から逃げるなよ
って言う前に自分で解決したら?
そうすることに意味があると思えないけど
- 897 :デフォルトの名無しさん:2016/09/09(金) 22:47:06.52 ID:H3RR5zb8.net
- ・めったに変わらないリソース系データで、量はたいしたことない
・コンフィグ情報
これらをExcelで管理するのは状況によってはまあある。
でもトランザクション系の増えていくデータはやめとけ。
これは原則なので個別に工夫しようとしない方がいい。
- 898 :デフォルトの名無しさん:2016/09/09(金) 22:47:54.76 ID:OFG3vHIP.net
- >>897
ですねー
- 899 :デフォルトの名無しさん:2016/09/09(金) 22:48:19.19 ID:Gtu/Us0a.net
- >>893
…そうなんだー
生憎こっちの宇宙は原因のない現象なんて観測されたためしがないもんでね
僕の住んでる世界では原因が分からない問題に別のやり方を試しても
うまくいく保証なんて一つもないんだ
むしろまた別の訳の分からない問題を引き当てる方が多いくらい
まったくやっかいな世界だよ、君の住んでる宇宙が羨ましく思える程だ
でも今日は異世界の住人と交流出来て楽しかったよ
ありがとう!またお話し出来る事を期待してるよ!
- 900 :デフォルトの名無しさん:2016/09/09(金) 22:51:08.61 ID:OFG3vHIP.net
- >>899
ナイス締
- 901 :デフォルトの名無しさん:2016/09/09(金) 22:51:09.03 ID:71yv83Wj.net
- >>897
だよな。めんどくさがりの俺ですらdbにいれる
- 902 :デフォルトの名無しさん:2016/09/09(金) 22:54:59.28 ID:OFG3vHIP.net
- ポスグレ
odbc
vba
愛用
- 903 :デフォルトの名無しさん:2016/09/09(金) 22:58:08.63 ID:LQue6sOq.net
- DB形式の方が面倒くさくなくていいだろって思うのはデータを管理する側だからかな?
- 904 :デフォルトの名無しさん:2016/09/10(土) 00:22:51.32 ID:ADp4igli.net
- Accessは、Excelと比べるとインターフェイスが作りづらいんだよな。
自由度が高くて、色々と融通の利くセルが、
デフォで付いているかどうかの差は大きい。
- 905 :デフォルトの名無しさん:2016/09/10(土) 02:21:56.26 ID:r4eao2DY.net
- いや別にAcccessやExcelにこだわる必要もないんだよ。
DBはSQLSERVERでもMySqlでも無料で使えるものもその辺に転がってるし、
プラットフォームを考えるとVSだって無料のバージョンがあるから
それを使えばマルチタスクだって出来る。
Excelを使うのだって目的を達成する手段のひとつでしかないんだから、
目的に合った手段を選択すればいいわけで。
AccessやExcelはファイルの移動や持ち運び、管理や作成のお手軽感で有利だけど、
大量のデータをリアルタイムに表示したり管理したりするのには余り向いていない。
まー、そもそもここのスレがExcelVBA質問スレだからあまり風呂敷を広げると
スレ違いもいいところになっちゃうけどね。
- 906 :デフォルトの名無しさん:2016/09/10(土) 02:49:17.85 ID:+08gsQDR.net
- Excelを一言で喩えるな器用貧乏って感じ?
- 907 :デフォルトの名無しさん:2016/09/10(土) 08:02:18.11 ID:uQ51/TWJ.net
- >>904
入力は楽だしそのまま使うならいいんだけど
それ使ってなにか処理しようとするとその自由さが仇になる
- 908 :デフォルトの名無しさん:2016/09/10(土) 10:21:39.48 ID:SkQ6cC7d.net
- 無料かどうかなんか関係ない問題は社内で使えるかどうか
エクセルはどの会社でもたいてい使えるからvbaが一番いい選択肢になってるだけ
- 909 :デフォルトの名無しさん:2016/09/10(土) 10:53:53.24 ID:lhsLes9j.net
- >>908
そういうケースもあるな。
- 910 :デフォルトの名無しさん:2016/09/10(土) 11:26:57.67 ID:2RL62M90.net
- 必要とあれば余り無茶な金額でなくて
セキュリティ的に問題無ければ
申請出せば通りそうなもんだけどな。
申請出来るような立場で無いってこと?
まあ仕事場って色々な形態があるから
分からないけどね。
- 911 :デフォルトの名無しさん:2016/09/10(土) 11:47:52.74 ID:uQ51/TWJ.net
- >>910
会社によってはその申請がめちゃめちゃ面倒だったりする
それによってどれだけ工数が下がるんだ?
とか、
セキュリティのリスクはどうなってるんだ?
とか
誰でも見える共有フォルダで管理してる Excel ファイルを置き換えるだけなのになぜかクラッカーに狙われてる極秘資料みたいな扱いになったりする orz
- 912 :デフォルトの名無しさん:2016/09/10(土) 13:00:00.00 ID:GPNvtRkq.net
- 無料のマイクロソフト製品で業務に使いたいんです、というA4一枚の申請で通らないとしたら、そんな会社は一般的とは言えん。
- 913 :デフォルトの名無しさん:2016/09/10(土) 13:08:13.38 ID:lhsLes9j.net
- >>912
つまり?
- 914 :デフォルトの名無しさん:2016/09/10(土) 13:12:32.82 ID:TJ0CLQGm.net
- SQL Serverを使うって話?LAN内限定であってもサーバ立てるのは厳しい制限があるところ多いよ
- 915 :デフォルトの名無しさん:2016/09/10(土) 13:19:15.61 ID:NDaM16fx.net
- 会社が一般的かどうかなんてどうでもいいわ。
だいたいSQL ServerもMySQLもVisual Studioもエンタープライズ版は有料なんだよ。
- 916 :デフォルトの名無しさん:2016/09/10(土) 13:21:59.56 ID:5L40HAFB.net
- そもそも自分しか使わない使えないってのも阻害要因になる
引き継ぎできなくなるし
全部の管理させられる
- 917 :デフォルトの名無しさん:2016/09/10(土) 13:22:14.68 ID:uQ51/TWJ.net
- >>912
会社によっては
って前置きしてるのに一般的でないって言われて困惑
- 918 :デフォルトの名無しさん:2016/09/10(土) 16:17:45.60 ID:+svW5/ih.net
- >>911
ウチなんか、OneDriveで他の支社に工事写真を送ろうとしたら「おい!そんな事してセキュリティは大丈夫なのか!」とキレられた。
その上司に言わせると、USBメモリが一番安全らしいw
- 919 :デフォルトの名無しさん:2016/09/10(土) 17:56:35.67 ID:r4eao2DY.net
- ちょっと前にドロップボックスで問題になったばっかりだからね
- 920 :デフォルトの名無しさん:2016/09/10(土) 17:59:16.09 ID:7WjHykaR.net
- 暗号化添付ファイルのパスワードをそのメールに書いてくる上司ですね
- 921 :デフォルトの名無しさん:2016/09/10(土) 18:30:16.77 ID:NDaM16fx.net
- 送付ファイルとパスワードをセットで送る事の危険性を知りながら、
全く同じ原理の自己復号型暗号化ファイルとかいうエセセキュリティは使うというよく分からない管理体制ですね分かります。
- 922 :デフォルトの名無しさん:2016/09/10(土) 22:57:05.96 ID:+08gsQDR.net
- Windows10の64bitなんだけど
インストールされてるExcelは32ビット版だった
Excelも64bitにしたほうがいい?速度向上とかにつながりまつか?
- 923 :デフォルトの名無しさん:2016/09/10(土) 23:02:24.43 ID:Q2xHQZZD.net
- >>922
2倍速くなる
- 924 :デフォルトの名無しさん:2016/09/10(土) 23:14:22.84 ID:F/TbwQnQ.net
- >>922
大して変わらない。重いならシートを見なおしたほうがいい。
64bitのメリットとしては2GB超えのブックを扱えるようになるらしいが、そのブック自体が凶悪すぎる。
デメリットとしてエラーの可能性が増える。
http://excel-databace.hatenablog.com/entry/64bit-vba-error
http://mypace.sasapurin.com/entry/2015/03/12/210031
迷ったら32bitがいい。俺ならPC関係なく迷わず32bitにする。
>>923
レスの速さは評価できますが、深みが全くなく、稚拙としか言いようがありません。
ネタを書き込む前に、それが本当に面白いかどうか、一度見なおして下さい。
もし面白いかどうかわからない時は、一晩寝かせてから翌朝見なおしてみましょう。それでも面白ければ、きっと面白い書き込みに間違いありません。
- 925 :デフォルトの名無しさん:2016/09/10(土) 23:17:54.31 ID:tqfzqMfr.net
- 何コイツ超性格悪そうwww
- 926 :デフォルトの名無しさん:2016/09/10(土) 23:22:47.55 ID:Q2xHQZZD.net
- >>924
1.5日寝かせたネタなんだよ
- 927 :デフォルトの名無しさん:2016/09/10(土) 23:46:13.73 ID:+08gsQDR.net
- >>924
なるほど。
わかりやすい解説ですね。
容量が大きければ64bitの恩恵が受けられる場合があるが、一般的にはエラーに合う方が確率高そうですね。
32のままにしときます。
>>923
大きいデータなら早くなるみたいだね
- 928 :デフォルトの名無しさん:2016/09/10(土) 23:52:11.40 ID:qkwFBHdt.net
- 大きいデータってんならブックよりDBに入れとけって言うとループ状態になってしまうんだなw
- 929 :デフォルトの名無しさん:2016/09/11(日) 00:14:01.16 ID:M0wOkyr0.net
- >>928
そこでローカルに
ポスグレっす
- 930 :デフォルトの名無しさん:2016/09/11(日) 03:08:35.07 ID:BqoCJDFO.net
- こんばんは。
現在accessのデータをエクセルへ取り込み様々なチェックを行うマクロをvbaで作成しています。
そこで1点質問させて頂きます。
データを取り込んで来る際に
エクセル上で入力フォームから入力した
値をデータの検索条件として使用する事は可能でしょうか?
私の考えとしてはSQLで取り込むので
入力される値を変数に格納し、
SQLでその変数を検索条件記述の部分に
記載する方法でいけないかと考えています。
長文失礼致しました。
拙い文章ですのでご不明な点あれば
ご質問されて下さい。
- 931 :デフォルトの名無しさん:2016/09/11(日) 03:22:05.39 ID:M0wOkyr0.net
- >>930
その考え方で問題ないです
- 932 :デフォルトの名無しさん:2016/09/11(日) 03:26:41.23 ID:hSPhmXYb.net
- 迷わせるようで悪いけど、64bitは2倍速くなると言うのはあながち嘘じゃない。
ただ「場合によるのと部分的に」ということで、メモリへのデータ転送を行う際に
使用するI/Oポート(データの受け渡し口)が4Byte(32bit)から8Byte(64bit)になるためその分速くなる。
大きなデータと言うのは多分これの話をしているんだと思うんだけど、
計算時にも32bitを超える枠のものがあればその分速くなる。
変数に入れてあるもの計算に使う時とかは最終的に機械語レベルになるとレジスタと言うものに
値を入れて演算するんだけど、これも2倍の枠になるためその分速くなる。
文字列の代入なんかも値型であれば同じことが言えるね。
後、Windowsを64bitにしていてOfficeを32bitにしているとその絡みで思わぬ問題に当たることもある。
例えばWindowsが64bit、MySql(ODBC)を32bitのEXCELで使用しようとした時、インストールしなければいけないMySqlは32bit版の方。
何か起こってもすぐには分からないし、分かっていてもそれを対処出来る知識がないと結構辛いと思う。
http://infith.com/system/database/mysql_odbc_win7_64bit/
ただ>>924の人が言ってる通り、32Bitで使っていた過去の資産が使えなくなる場合もあるのもまた事実。
あくまで個人的な意見だけ言わせて貰えば、もうOS64bitにしちゃってどうせOffice以外にも影響出てるだろうから、
ここは全部64bitで合わせておいて過去とはサヨナラした方がいいんじゃないかなとは思う。
結局のところ自己判断で決めるしかないんだけど参考までに。
- 933 :デフォルトの名無しさん:2016/09/11(日) 03:36:23.70 ID:hSPhmXYb.net
- >>930
基本的にはそれで問題ないと思う。
補足として、もし使う環境がセキュリティに対して厳しいところであれば、
パラメータクエリとかパラメタライズドクエリと言われているものを使った方が良いとは思う。
多分ググればどういうものかはすぐ分かるはず。
- 934 :デフォルトの名無しさん:2016/09/11(日) 03:39:06.46 ID:BqoCJDFO.net
- 申し訳ありません。
質問内容が若干間違っていました。
>データを取り込んで来る際に
>エクセル上で入力フォームから入力した
>値をデータの検索条件として使用する事>は可能でしょうか?
→入力した値よりも大きいものを探すことを検索条件とすることは可能でしょうか?
申し訳ありません。
- 935 :デフォルトの名無しさん:2016/09/11(日) 03:40:28.07 ID:BqoCJDFO.net
- 930さん932さんお速い回答ありがとうございます。
- 936 :デフォルトの名無しさん:2016/09/11(日) 03:58:54.46 ID:M0wOkyr0.net
- >>934
>>935
絶許
- 937 :デフォルトの名無しさん:2016/09/11(日) 08:51:28.81 ID:iHZT+lPM.net
- >>932
bit数が上がって処理速度が上がるのってHIWORD、LOWORDみたいに送り出す側が意識してまとめてる場合だけだし、
WOW64自体にオーバーヘッドがあるから、処理速度が上がるなんて事はないと思うんだけど。
- 938 :デフォルトの名無しさん:2016/09/11(日) 10:13:28.91 ID:0uTLa4Al.net
- dllを使ってたら64bitOfficeにする際にビルドしなおさなきゃいけないと思う。
- 939 :デフォルトの名無しさん:2016/09/11(日) 12:00:43.86 ID:oXBrrZCw.net
- >>920
メールは別々だが、
ZIPのパスワードが3文字ってのも居るぞ。
- 940 :デフォルトの名無しさん:2016/09/11(日) 13:50:52.60 ID:tMu+gfRI.net
- >>926
わろた
- 941 :デフォルトの名無しさん:2016/09/11(日) 17:44:47.63 ID:J0QJyDCz.net
- 100万行入力して、下のコードを何度か実行した結果Aの方が平均3〜4秒くらい早かったです。
Aの方がコピペして手間がかかってる様に思うんですけど@の書き方に問題ありますか?
@
Range(Cells(1, 2), Cells(Rows.Count, 1).End(xlUp).Offset(, 1)) =Application.VLookup(Range("A:A"), _
Workbooks("Book2").Worksheets(1).Range("A:B"), 2, False)
A
Range(Cells(1, 2), Cells(Rows.Count, 1).End(xlUp).Offset(, 1)) = "=VLookup(A:A,[Book2]Sheet1!A:B,2,0)"
Range("B:B").Copy
Range("B:B").PasteSpecial Paste:=xlPasteValues
- 942 :デフォルトの名無しさん:2016/09/11(日) 22:50:38.09 ID:mBnrfnBw.net
- >>941
Aを使えば良い。
- 943 :デフォルトの名無しさん:2016/09/11(日) 23:04:33.71 ID:jEYMJg+J.net
- >>941
推測だけど
VBAからワークシート関数を呼び出すと
内部負荷がかかるのではないかな
- 944 :デフォルトの名無しさん:2016/09/11(日) 23:30:27.87 ID:Dcm0PHNU.net
- 1は実際にルックアップしてるけど、2はルックアップする計算式入れてるだけだろ
ルックアップにかかる時間ぶん2が早いんじゃないかね
- 945 :デフォルトの名無しさん:2016/09/11(日) 23:43:15.66 ID:XW09jc3D.net
- >>941
result = Application.VLookup(Range("A:A"), _
Workbooks("Book2").Worksheets(1).Range("A:B"), 2, False)
Debug.Print UBound(result)
↑こんな感じにApplication.VLookupの戻り値の中身を確認すると
@の右辺は空白行含めた終端(1048576行目)まで計算が行われている
(つまり左辺の範囲外も計算対象になっている)
Aは左辺の範囲にしか数式が埋め込まれない分早いんでは?
- 946 :940:2016/09/12(月) 19:31:14.52 ID:aRAf+AQE.net
- >>942
>>943
>>944
>>945
どうも
@の方が普通の書き方かなと思ったけど
Aの方が自分には書きやすいし実際早いっぽいからAでいくことにします。
- 947 :デフォルトの名無しさん:2016/09/15(木) 22:19:56.85 ID:NKiF+UIJ.net
- ExcelVBAを物凄く意味のないことに使っている作例はないですか?
↓例えば画面をこんな感じに3D風にするとか。
___
/ /|
| ̄ ̄ ̄| |
| | |
|___|/
- 948 :デフォルトの名無しさん:2016/09/15(木) 22:29:47.01 ID:KOV8HToE.net
- たとえば方眼紙扱いして作図してるとか?
- 949 :デフォルトの名無しさん:2016/09/15(木) 22:39:31.43 ID:V390dm+w.net
- パッと思い付いたことをソッコーでメモるためだけに
1.ショートカットでテキストボックス出す
2.書いてエンター押したらc直下のテキストファイルに追記する
3.同時にテキストボックスは閉じる
ってだけのマクロは作ってる
- 950 :デフォルトの名無しさん:2016/09/15(木) 22:43:36.22 ID:7+alVdPK.net
- >>949
インプットボックス?
- 951 :デフォルトの名無しさん:2016/09/15(木) 23:52:08.79 ID:V390dm+w.net
- そんなかんじ
付箋で十分なんだがわざわざ画面変えるのが嫌でなぁ
- 952 :デフォルトの名無しさん:2016/09/15(木) 23:53:14.67 ID:7+alVdPK.net
- >>951
>わざわざ画面変えるのが嫌
わかるw
- 953 :デフォルトの名無しさん:2016/09/15(木) 23:53:18.61 ID:k2vXXKfz.net
- 普通はわざわざエクセルに変えるのが嫌だろw
どんだけエクセルに毒されとんねんw
- 954 :デフォルトの名無しさん:2016/09/16(金) 00:01:08.79 ID:Y0jmyWlP.net
- 入社直後に暇だったから半日ぐらいかけてテトリス作ったことはある
なんの意味もないただの暇つぶしだった
- 955 :デフォルトの名無しさん:2016/09/16(金) 00:06:48.21 ID:E0hjCX3W.net
- >>954
あなたはだんだん糞ライブラリが作りたくなってくる
- 956 :デフォルトの名無しさん:2016/09/16(金) 00:09:35.73 ID:EgHvUq6q.net
- 派遣やってて暇だった時に現在時刻を入れたら退社時間まで後 xx時間xx分!って出すのを隠れて作った。別に計算させるほどの
ことでも無いんだけどw
- 957 :デフォルトの名無しさん:2016/09/16(金) 00:21:38.69 ID:jBjpOu6k.net
- >>953
もちろんエクセル開いてるときにしかつかわねーよ
普段は別
- 958 :デフォルトの名無しさん:2016/09/16(金) 10:03:31.54 ID:xYgwAmSK.net
- >>951-952
temaeというメモ用フリーソフトがあるけどそれじゃだめ?
オレは重宝してる
- 959 :デフォルトの名無しさん:2016/09/16(金) 10:05:07.24 ID:xYgwAmSK.net
- >>958
軽板(kalvan)だったw
手前も使ってはいるけど・・
- 960 :デフォルトの名無しさん:2016/09/16(金) 15:12:35.81 ID:/uFE0arf.net
- 仕事ない時にライフゲーム作ってた
- 961 :デフォルトの名無しさん:2016/09/16(金) 15:40:30.63 ID:t6waneUc.net
- ライフゲームってなんですか?
- 962 :デフォルトの名無しさん:2016/09/16(金) 16:01:54.58 ID:buhF+fXT.net
- >>960
範囲はどんどん広がっていくの?
- 963 :デフォルトの名無しさん:2016/09/16(金) 19:38:36.82 ID:Nvcefck5.net
- お前ら暇人ばかりで泣けてきたよ
今はそれなりの仕事させてもらってるのか?
- 964 :デフォルトの名無しさん:2016/09/16(金) 20:15:21.01 ID:9H78imim.net
- どんどん減ってゼロになった
- 965 :デフォルトの名無しさん:2016/09/16(金) 21:18:16.18 ID:PpYmmEIW.net
- >>964
初期配置を変えてリトライ
- 966 :デフォルトの名無しさん:2016/09/16(金) 21:29:58.27 ID:buhF+fXT.net
- なるほど、これがマルチレスポンスか
- 967 :デフォルトの名無しさん:2016/09/16(金) 22:07:25.43 ID:9H78imim.net
- rペントミノとか
- 968 :デフォルトの名無しさん:2016/09/16(金) 22:34:19.66 ID:xDkdKxkW.net
- 無駄なもん作れる環境がうらやましい。
「こんなの考えたんだけど作っといて。ルーチン化するから簡単に作れるようにしといて」って、
本社との会議に使うようなデータの作成すら放り投げてくる上司とかいないのか。
- 969 :デフォルトの名無しさん:2016/09/16(金) 23:39:12.81 ID:/GBaTDUf.net
- >>968
居るけどだいたいどんなの来ても対応できる雛形作って待ち受けてるので問題ない
どんなに困ってもざっくり依頼してくる人にはざっくりした回答でまず答えてから形を見定める
彼らは正確性など求めてないことが多い
- 970 :デフォルトの名無しさん:2016/09/17(土) 06:07:50.37 ID:dgVxSJXO.net
- ライフゲーム作ったことあるけど速度は出なかったな。
指定した大きさ(縦横)の配列を作って生死フラグ(1/0)をランダムに入れ、世代そ進めるごとにワークシートに丸ごと貼り付ける。
「1ならセルを塗りつぶし、0なら文字色透明」という条件付き書式にしておけばきれいに表示される。
・・・でももっさりしてるんだよなあ。
- 971 :デフォルトの名無しさん:2016/09/17(土) 09:07:45.31 ID:aDcJs8mB.net
- >ざっくり依頼してくる人
PCスキルの低い上司は100%これwwwww
- 972 :デフォルトの名無しさん:2016/09/17(土) 12:26:33.76 ID:sSOzXkQS.net
- つーかざっくりが良いんだよ
コンピューターだって空気を読む必要はあるんだぜ
- 973 :デフォルトの名無しさん:2016/09/17(土) 12:54:28.02 ID:CG7Ng2Af.net
- 要望で来るようなのはざっくりでいいのよ
道具は単純で使い方を考える
使う中で少々面倒な点を見つけたらそこで機能を追加
ツール作りはこの繰り返しと思ってる
- 974 :デフォルトの名無しさん:2016/09/17(土) 14:06:43.24 ID:qocRQo9a.net
- スキルがないのに自分ではあると誤解してる上司が細かいこと言ってくるのが一番迷惑
スキルがないと自覚して細かいこと任せてくれる上司の方がありがたい
- 975 :デフォルトの名無しさん:2016/09/17(土) 15:37:03.40 ID:aDcJs8mB.net
- 作るものがある程度見えていれば、
ざっくりでもいいんだけど、
それすら無いと、作ってからコレジャナイくるからな。
- 976 :デフォルトの名無しさん:2016/09/17(土) 16:10:41.91 ID:9kxaCNMA.net
- 可能/不可能や容易/困難の見極めが全然できないからそうなっちゃうんだろうね
- 977 :デフォルトの名無しさん:2016/09/17(土) 16:47:39.93 ID:gmu67H5v.net
- 特に、根拠のない数字を出せって言われると頭抱える。
- 978 :デフォルトの名無しさん:2016/09/17(土) 17:07:38.02 ID:VMOzjf85.net
- >>975
そういうときは超特急でざっくり作るか完成イメージが30%ぐらいできた段階で
上司に見せて方向性が合っているか確認するんだよ。
で、合意がとれてからちゃんと作り込む。
完成してから見せるなんてアホだろ。
仕事の進め方の基本もしらんのか。
- 979 :デフォルトの名無しさん:2016/09/17(土) 17:22:07.78 ID:gmu67H5v.net
- 超特急でざっくり作って「イメージです」って提出すると、特に吟味する事もなく「いいんじゃない?」って返ってきて、
それで100%まで作り込んでから見せたら「これじゃない」って言われるんだよ。
仕事の基本もしらんのか。
- 980 :デフォルトの名無しさん:2016/09/17(土) 17:26:17.22 ID:vxJ4EyMW.net
- 他党の議員がダンマリなのが歯痒い。公職選挙法違反だろっちゅうの。
- 981 :デフォルトの名無しさん:2016/09/17(土) 17:54:42.40 ID:aDcJs8mB.net
- >>978
そうか?
それを言うなら、部下に対する指示の出し方も知らんのか、って思うけどな。
- 982 :デフォルトの名無しさん:2016/09/17(土) 18:09:33.33 ID:hzCyARHB.net
- >>981
仕事の上流が何を望んでるかを出来るだけ確認しないと後で自分が死ぬで
指示元が上司のうちは良いかもだけど、客先から話を聞く立場になると、もう相手を言い訳に出来ない
- 983 :デフォルトの名無しさん:2016/09/17(土) 18:14:54.89 ID:CG7Ng2Af.net
- 進め方まで上司に決められたら俺は嫌だなー
自分で見積もって自分で進めるってのが俺は楽しいしラク
ゴールさえわかってれはやり方なんか人の数だけ有って良いと思ってる
完成してから見せるでもちょくちょく確認するにしても求められてる物さえ提供できれば文句は言われない
- 984 :デフォルトの名無しさん:2016/09/17(土) 18:29:20.25 ID:f0B2mjwP.net
- ぼちぼち次スレ立ててくれんかのう
- 985 :デフォルトの名無しさん:2016/09/17(土) 18:31:09.89 ID:gmu67H5v.net
- >>981
「分かりました!」←分かってない
っていう事もあるから一概にどちらの責任とも言いがたい。
- 986 :デフォルトの名無しさん:2016/09/17(土) 18:40:50.76 ID:CG7Ng2Af.net
- >>984
Excel VBA 質問スレ Part43 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1474105211/
ほい
- 987 :デフォルトの名無しさん:2016/09/17(土) 20:07:36.48 ID:qiyywEhc.net
- >>983
だからそのゴールが分かってないんや
- 988 :デフォルトの名無しさん:2016/09/17(土) 20:07:46.06 ID:ANJBGMzh.net
- >>979
そらざっくり作ったもん見せてしまったら最終的に「これじゃない」ってなるわ
人には思い込みってもんが必ずあるんだぜ
- 989 :デフォルトの名無しさん:2016/09/17(土) 20:16:51.56 ID:yTBn9b97.net
- だからそういう話はプログラマ板でやれっての
- 990 :デフォルトの名無しさん:2016/09/17(土) 21:05:40.65 ID:gmu67H5v.net
- >>988
お前は一つ上のレスを読むくらいの心の余裕を持つべきだと思う。
- 991 :デフォルトの名無しさん:2016/09/17(土) 21:17:04.41 ID:ANJBGMzh.net
- >>990
一つ上って何だよ?…どれどれ…フムフム…ああ、そうだよな……あ、しまった!俺は一体なんて事を!!!!
とかいう展開になるとでも思ってるのか?
- 992 :デフォルトの名無しさん:2016/09/17(土) 21:37:44.13 ID:gHeB0B1Z.net
- >>979
だよなー
色々具体的に決まってからそうじゃないんだよなー、俺はこう思ってたんだけどなー
って言い出すのはほんとやめてほしいわ
こう思ってたなら思ったとき言えよ、絶対今思ったくせに...
- 993 :デフォルトの名無しさん:2016/09/17(土) 21:39:16.81 ID:gHeB0B1Z.net
- >>991
引っ込みつかなくなったのか w
- 994 :デフォルトの名無しさん:2016/09/17(土) 21:43:10.77 ID:ANJBGMzh.net
- >>992
それがお前の思い込みなんだぜ
何一つ具体性がないのに「これでいいんや!」と思い込んでるからいつもダメだし喰らうんだ
- 995 :デフォルトの名無しさん:2016/09/17(土) 21:48:29.95 ID:gHeB0B1Z.net
- ごまかしに必死とか恥ずかしい奴 w
- 996 :デフォルトの名無しさん:2016/09/17(土) 22:02:50.58 ID:ANJBGMzh.net
- 完全に自分の殻に閉じ籠ってるなコイツ
とんでもなく気持ち悪い奴と絡んでしまった
- 997 :デフォルトの名無しさん:2016/09/17(土) 22:26:42.37 ID:gHeB0B1Z.net
- > 人には思い込みってもんが必ずあるんだぜ
自分のことは棚にあげるのな w
- 998 :デフォルトの名無しさん:2016/09/17(土) 23:10:02.05 ID:B4ogAH1D.net
- 人の数だけ常識は存在する
- 999 :デフォルトの名無しさん:2016/09/17(土) 23:59:15.23 ID:gmu67H5v.net
- >>991
>とかいう展開にでもなるとでも思っているのか?
同じ意見のヤツに変な突っ込み入れてるんだぞ。
お前が馬鹿晒してるだけなんだけど。
- 1000 :デフォルトの名無しさん:2016/09/18(日) 00:10:07.76 ID:5zytLJbi.net
- 999
- 1001 :デフォルトの名無しさん:2016/09/18(日) 00:10:50.67 ID:MSbonHvQ.net
- 次スレ
http://echo.2ch.net/test/read.cgi/tech/1474105211/
総レス数 1001
277 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★