Excel VBA 質問スレ Part37 [転載禁止]©5ch.io
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2015/06/10(水) 16:18:49.84ID:T4wZlTyk★1 質問テンプレ(雛形)は用意しませんが、OSとExcelのバージョンは必ず書きましょう。
★2 ExcelのVBA以外の部分に関する質問はNGです。
但し、VBA無しでも出来ることだが、あえてVBAでやりたいって物に関してはOK。
★3 ExcelのVBE(Visual Basic Editor)を使うとしても、VBAの分野以外に関してはスレ違いです。
VBAとは、『Visual Basic for Applications』の略で
Application
├Workbooks
|└Workbook
| ├Worksheets
| |└Worksheet
というApplication以下のオブジェクトを、VB言語で操作するものを指します。
例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。
★4 とりあえず、Excelのインスタンスを作らずにVB6で出来ることは全てスレ違いだと思ってください。
★5 レベルはどうあれ、ここはプログラマ用の板スレです。プログラマとは、自分でプログラムを組み、
コードを書く人の事なので、自分でやるきは全く無く、丸投げしようって人はお断りです。
ヒントを貰えばあとは自力でなんとかしますって人のみどうぞ。
★6 わからなければとりあえず「マクロの記録」(Alt, T, M, R)
前スレ:Excel VBA 質問スレ Part36
http://peace.2ch.net/test/read.cgi/tech/1420790342/
関連スレ:VBAなんでも質問スレ
http://toro.2ch.net/test/read.cgi/tech/1342087380/
0002デフォルトの名無しさん
2015/06/10(水) 16:20:02.51ID:T4wZlTyk02 http://pc11.2ch.net/test/read.cgi/tech/1168308855/
03 http://pc11.2ch.net/test/read.cgi/tech/1180192018/
04 http://pc11.2ch.net/test/read.cgi/tech/1189814602/
05 http://pc11.2ch.net/test/read.cgi/tech/1197448064/
06 http://pc11.2ch.net/test/read.cgi/tech/1205231499/
07 http://pc11.2ch.net/test/read.cgi/tech/1212587819/
08 http://pc11.2ch.net/test/read.cgi/tech/1219673793/
09 http://pc11.2ch.net/test/read.cgi/tech/1228372971/
10 http://pc12.2ch.net/test/read.cgi/tech/1235332603/
11 http://pc12.2ch.net/test/read.cgi/tech/1241885130/
12 http://pc12.2ch.net/test/read.cgi/tech/1247566074/
13 http://pc12.2ch.net/test/read.cgi/tech/1254281104/
14 http://pc12.2ch.net/test/read.cgi/tech/1262748898/
15 http://pc12.2ch.net/test/read.cgi/tech/1271261239/
16 http://hibari.2ch.net/test/read.cgi/tech/1280045912/
17 http://hibari.2ch.net/test/read.cgi/tech/1289182437/
18 http://hibari.2ch.net/test/read.cgi/tech/1298240666/
19 http://hibari.2ch.net/test/read.cgi/tech/1305754555/
20 http://hibari.2ch.net/test/read.cgi/tech/1312435844/
0003デフォルトの名無しさん
2015/06/10(水) 16:21:00.43ID:T4wZlTyk22 http://toro.2ch.net/test/read.cgi/tech/1322400978/
23 http://toro.2ch.net/test/read.cgi/tech/1327763113/
24 http://toro.2ch.net/test/read.cgi/tech/1334305148/
25 http://toro.2ch.net/test/read.cgi/tech/1341722983/
26 http://toro.2ch.net/test/read.cgi/tech/1345363310/
27 http://toro.2ch.net/test/read.cgi/tech/1353842387/
28 http://toro.2ch.net/test/read.cgi/tech/1359607536/
29 http://toro.2ch.net/test/read.cgi/tech/1364689772/
30 http://toro.2ch.net/test/read.cgi/tech/1370088822/
31 http://toro.2ch.net/test/read.cgi/tech/1376371376/
32 http://toro.2ch.net/test/read.cgi/tech/1381151995/
33 http://peace.2ch.net/test/read.cgi/tech/1382015080/
34 http://peace.2ch.net/test/read.cgi/tech/1403911485/
35 http://peace.2ch.net/test/read.cgi/tech/1414186311/
36 http://peace.2ch.net/test/read.cgi/tech/1420790342/
0004デフォルトの名無しさん
2015/06/10(水) 18:11:43.95ID:v/kP17pJ正しい本スレはこちら
Excel VBA 質問スレ Part37 [転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/tech/1420841190/
0005デフォルトの名無しさん
2015/06/10(水) 21:27:42.91ID:NKKgmsfq0006デフォルトの名無しさん
2015/06/10(水) 23:14:32.55ID:5Tufff63お腹に空気をため、肛門を締め、そのあと一気に開放するといい音が出ますよ。
0007デフォルトの名無しさん
2015/06/11(木) 00:19:16.16ID:ztlVTgcYあなたの話は>>1★1〜6の何れかに抵触しています
分かったら他所に行って下さい
0008デフォルトの名無しさん
2015/06/11(木) 00:27:04.34ID:SBIakyApvba beep でググればざっくざくと答えが
00098
2015/06/11(木) 00:28:37.49ID:SBIakyApけどまぁググればざっくざくと出てくるのは同じなわけで
サウンドを再生する
http://officetanaka.net/excel/vba/tips/tips22.htm
0010デフォルトの名無しさん
2015/06/11(木) 01:09:07.93ID:JGp60O3nだから、その勝手に作ったテンプレでスレ利用者を排除する真似をやめろっつーの
この程度のことでいちいちスレ違い呼ばわりしてたら擦れが機能せんわ
まぁ重複スレだしテンプレ改悪だしでこのスレの存在意義無いから
本スレに戻るのには賛成だけど
ということで、正しい本スレはこちら
Excel VBA 質問スレ Part37 [転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/tech/1420841190/
0011デフォルトの名無しさん
2015/06/11(木) 10:47:12.94ID:p5MYkeGm0012デフォルトの名無しさん
2015/06/11(木) 22:50:07.84ID:nXSQMIaUあなたの話は>>1★1〜6の何れかに抵触しています
分かったら他所に行って下さい
0013デフォルトの名無しさん
2015/06/12(金) 08:54:06.23ID:3WPnrkkpあなたの話も>>1★1〜6の何れかに抵触しています
分かったらここに行って下さい
Excel VBA 質問スレ Part37 [転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/tech/1420841190/
0014デフォルトの名無しさん
2015/06/12(金) 18:07:59.01ID:TDDodFPA0015デフォルトの名無しさん
2015/06/12(金) 19:15:52.69ID:aMl82aruあなたの話は>>1★1〜6の何れかに抵触しています
分かったら他所に行って下さい
0016デフォルトの名無しさん
2015/06/12(金) 22:16:35.64ID:9iuD3EDLあなたの話は以下略
このスレも略
0017デフォルトの名無しさん
2015/06/12(金) 23:56:41.89ID:25M6JlyC0018デフォルトの名無しさん
2015/06/13(土) 10:36:54.24ID:s8riW9h40019デフォルトの名無しさん
2015/06/13(土) 11:15:13.59ID:H2ViEUuYExcelで超音波テルミンを作成する
http://www.mu-tech.co.jp/Soft/SimToyOcxHelp/excel_music.htm
0020デフォルトの名無しさん
2015/06/13(土) 23:23:56.43ID:gPI4SaF/もともと重複スレだってのに、
糞みたいなテンプレを勝手に入れちゃってるからなお始末が悪い
とにかくあの糞テンプレがある限り
それをたてにして>>7とか>>12みたいな基地外が暴れるので
まともなスレの進行は不可能なんだから
おとなしく放置して落としてしまうのが吉
0021デフォルトの名無しさん
2015/06/14(日) 05:50:03.47ID:XH+fyzBIあなたの話は>>1★1〜6の何れかに抵触しています
分かったら他所に行って下さい
0022デフォルトの名無しさん
2015/06/14(日) 14:14:40.48ID:Qy/1/K9E0023デフォルトの名無しさん
2015/06/14(日) 16:02:39.25ID:R2Pjskdlあなたの話は>>1★1〜6の何れかに抵触しています
分かったら他所に行って下さい
0024デフォルトの名無しさん
2015/06/14(日) 16:27:00.34ID:aLL1Dt0J質問自体はスレチじゃないけど、
このスレは>>23みたいなキチガイが居るからこっちに移動しなさい
Excel VBA 質問スレ Part37 [転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/tech/1420841190/
回答は向こうに書いとくね
0025デフォルトの名無しさん
2015/06/14(日) 20:58:38.23ID:WTUlhb9b0026デフォルトの名無しさん
2015/06/14(日) 21:38:04.54ID:M+qlsClk列も番号で指定できるのはわかってるよな?
0027デフォルトの名無しさん
2015/06/14(日) 21:42:39.74ID:9sCLitNcまとめて変える方法はない
どうしてもColumnWidthとRowHeightを順番に指定することになる
0028デフォルトの名無しさん
2015/06/14(日) 22:07:41.95ID:R2Pjskdlあなたの話は>>1★1〜6の何れかに抵触しています
分かったら他所に行って下さい
0029デフォルトの名無しさん
2015/06/14(日) 22:11:45.15ID:1Cglll13Sub Macro2()
Sheet1.Rows("1:7").RowHeight = 13.5
Sheet1.Columns("A:H").ColumnWidth = 8.38
End Sub
0030デフォルトの名無しさん
2015/06/15(月) 05:24:21.96ID:zGK79kLKセルの縦・横と言われて本人しか分からないような幅や高さと断定出来る自演は
気持ち悪いので他所でやって下さい
0031デフォルトの名無しさん
2015/06/15(月) 16:05:09.87ID:7tvVCPZS0032デフォルトの名無しさん
2015/06/15(月) 17:23:17.05ID:pR/1zNa6まぁいいのだが、25-27の流れでソースを書いただけなんだがw
自演と思われたならしかたない。
0033デフォルトの名無しさん
2015/06/16(火) 01:07:12.48ID:bDVKNfTy0034デフォルトの名無しさん
2015/06/16(火) 21:34:16.92ID:aGwpwIZL0035デフォルトの名無しさん
2015/06/17(水) 18:30:44.07ID:iHkQRcN60036デフォルトの名無しさん
2015/06/17(水) 19:38:35.98ID:8RWDMsVI0037デフォルトの名無しさん
2015/06/17(水) 21:01:06.42ID:v0VeLrCGシート3でペーストする前にシート3の全行を一旦全削除してから改めてペーストした場合
削除処理を行う事でコピー状態がなくなります
なのでペーストをしようとしてもコピー出来ませんと怒られます
コピー状態を維持したまま削除をすることって可能でしょうか?
0038デフォルトの名無しさん
2015/06/17(水) 21:11:26.13ID:rQ7tooCWシート3の情報消してからシート1の情報をコピーすりゃいいだけでは。
0039デフォルトの名無しさん
2015/06/17(水) 21:26:31.26ID:v0VeLrCGシート1でボタンを押下しての作業なので
シート1から一旦シート3に行ってまた削除して、
そこからシート1に戻ってコピーしてまたシート3に行くのはちょっと無駄が多いかなと
0040デフォルトの名無しさん
2015/06/17(水) 21:35:33.21ID:Oyz1/rZu0041デフォルトの名無しさん
2015/06/17(水) 22:01:18.79ID:gfoiZHDB0042デフォルトの名無しさん
2015/06/17(水) 22:01:45.28ID:fsYg4KyVコピー機能をそのまま使わず、変数に一時的に行データをいれればいい。
0043デフォルトの名無しさん
2015/06/18(木) 00:05:26.65ID:TdPGkGw+シートをアクティブにするってことだろ
初々しい
0044デフォルトの名無しさん
2015/06/18(木) 00:25:05.49ID:BXvuiwZi0045デフォルトの名無しさん
2015/06/18(木) 00:25:11.00ID:WQoy00yJ0046デフォルトの名無しさん
2015/06/18(木) 08:56:35.56ID:8T2E3EQD0047デフォルトの名無しさん
2015/06/21(日) 20:55:03.33ID://3eWWMK0048デフォルトの名無しさん
2015/06/22(月) 13:00:27.32ID:8PARE+E6そもそも違いは?
0049デフォルトの名無しさん
2015/06/22(月) 14:09:37.12ID:TmLxfqvq0050デフォルトの名無しさん
2015/06/22(月) 15:09:25.68ID:jVJ9TWG/0051デフォルトの名無しさん
2015/06/22(月) 15:31:09.76ID:8PARE+E6まことですか?
0052デフォルトの名無しさん
2015/06/22(月) 15:31:35.99ID:8PARE+E60053デフォルトの名無しさん
2015/06/22(月) 15:36:11.61ID:jVJ9TWG/0054デフォルトの名無しさん
2015/06/22(月) 18:15:44.73ID:0q8cyi70VBAで戻り値のないFunctionは作れない
戻り値を無視するようなコードを書くのは自由
0055デフォルトの名無しさん
2015/06/22(月) 21:12:30.87ID:TmLxfqvqセルに直接 = Function1(1)とかするのはもちろんできる。
0056デフォルトの名無しさん
2015/06/22(月) 21:48:04.06ID:0q8cyi70同じこと書くけど、それはFunctionをユーザー定義関数としてワークシートから呼び出す場合に限った話
VBA内から呼び出す場合はそんな制限はない
0057デフォルトの名無しさん
2015/06/22(月) 23:05:46.14ID:9wnjfpMfマジか、知らんかったわ
まあ、そんな変な関数作ろうとは思わないけど
0058デフォルトの名無しさん
2015/06/23(火) 00:10:08.99ID:UAjGfnkiふーん、できるようになったんだ。
昔はできなかったと思う。
0059デフォルトの名無しさん
2015/06/23(火) 00:15:17.88ID:Pv1JZpYaできんの??そんなの関数じゃないじゃん
0060デフォルトの名無しさん
2015/06/23(火) 00:24:29.85ID:DxUnRor8Sub a()
b
End Sub
Function b()
Cells(1, 1) = 123
End Function
0061デフォルトの名無しさん
2015/06/23(火) 00:34:01.97ID:VBEsOuDb関数は写像だとでも言いたいのか?
学校で習ったばかりの知識を自慢したかったのかな?
0062デフォルトの名無しさん
2015/06/23(火) 00:40:10.83ID:4U4OiGi8わざと常識外れのことを書いて、訂正のレスを待つという初歩的な手口です
ひっかからないよう注意しましょう
0063デフォルトの名無しさん
2015/06/23(火) 04:47:04.91ID:PyyIfQGmぱっと見で存在を知られたくないコードは Function でどーぞ
ワークシート上でユーザー関数を使わなかったり
VBEでグローバル変数を大量に使って管理メンド な状態になってなかったり
自分しかコード見ないし、可読性?なにそれな状態だったらどっち使っても同じ
って解釈
0064デフォルトの名無しさん
2015/06/24(水) 13:38:40.20ID:XNYsXY4xパスワード以外にコードを見せない方法ってありますかね?
0065デフォルトの名無しさん
2015/06/24(水) 13:49:38.30ID:ClIbcHNt0066デフォルトの名無しさん
2015/06/24(水) 13:54:12.16ID:m6QuBGHp0067デフォルトの名無しさん
2015/06/24(水) 14:36:47.28ID:hCh+/iKvvbaは隠しようがないんちゃうんちゃう。
0068デフォルトの名無しさん
2015/06/24(水) 15:14:48.19ID:MRMo3IX+VBE開いても表示されない
チェック外せば見えるようになるけど
0069デフォルトの名無しさん
2015/06/25(木) 00:01:24.63ID:jos0XzUPあなたの話は>>1★1〜6の何れかに抵触しています
分かったら他所に行って下さい
0070デフォルトの名無しさん
2015/06/25(木) 22:13:37.27ID:d8tX0Al+コピーの段階で、実行時エラー、オブジェクトが必要です が出てしまいます
0071デフォルトの名無しさん
2015/06/25(木) 22:57:48.66ID:4a2fuGbQ範囲指定する時にブックやシートを省略しないこと
0072デフォルトの名無しさん
2015/06/26(金) 20:07:21.31ID:utQ5XYVi範囲はF1〜最後のF列最後の行です
例えば1行目から100行目からならば
MsgBox Application.Evaluate("=SUMPRODUCT(1/COUNTIF(F1:F100,F1:F100))")
で表示できました
この最後の行を
Range("A1").End(xlDown).Rowを使って表すために
MsgBox Application.Evaluate("=SUMPRODUCT(1/COUNTIF(Range(Cells(6, 1),Cells(ActiveSheet.Range(Cells(1,1)).End(xlDown).Row, 11)),Range(Cells(6, 1),Cells(ActiveSheet.Range(Cells(1,1)).End(xlDown).Row, 11))”)
としましたが型が一致しませんと出ます
IsErrorで調べて見るとtrueだったので関数の値がおかしいみたいです
Mac版2011です
よろしくお願いします
0073デフォルトの名無しさん
2015/06/26(金) 21:05:53.98ID:cSb2GBc3そのまま並べると長くなりすぎてめんどくさいから最終行は変数に入れるぞ
LR = Range("A1").End(xlDown).Row
MsgBox Application.Evaluate("=SUMPRODUCT(1/COUNTIF(F1:F" & LR & ",F1:F" & LR & "))")
0074デフォルトの名無しさん
2015/06/26(金) 21:25:36.54ID:lkYp4OYy自分は事務の片手間に作ってるだけで他人の作ったコードを見ることもほとんどないし、綺麗なコードの書き方がよくわからないんですが、後から誰かが見るかもしれないから直したいけどどうすれば良いかよくわからないです。
vbaができる人もいないから見てもらうのも難しいし
0075デフォルトの名無しさん
2015/06/26(金) 21:34:36.34ID:iHN0Ws68Fuction やSubを分けてないとするなら、
現状ひとつのプログラムが何行くらいになってるの?
0076デフォルトの名無しさん
2015/06/26(金) 21:35:01.18ID:cSb2GBc3何度も同じことをやってるな、と思ったらSubやFunctionにまとめて整理する
他人に見せることを考えるなら変数名をわかりやすくしてコメントをたくさん書く
0077デフォルトの名無しさん
2015/06/26(金) 22:09:18.72ID:0iRBLd8Iだいたい150〜250位だったと思います。
一つだけ突出して長いのがあって、それは3つに分けましたが各1000行くらいあったような気がします。
0078デフォルトの名無しさん
2015/06/26(金) 22:23:25.89ID:iHN0Ws68自分は今、37行ある関数を作って大いに反省して改善しようとしているところ。
短いにこしたことはないよ。
ひとつの機能しか持たないけれど、使いでのある短い関数をたくさん作る。
というのを目安にするといい。
0079デフォルトの名無しさん
2015/06/26(金) 22:41:25.12ID:DWaV3Ceoできました!
F”& 変数 &”で範囲のところに埋め込めたんですね
ありがとうございました!
0080デフォルトの名無しさん
2015/06/26(金) 23:21:13.55ID:0iRBLd8Iコメントはなるべく入れるようにしていますが変数名がいつも悩みます
だいたい日本語のローマ字表記にしちゃうので余計に読みにくくなっている気がします
>>78
37行でも短くしようとしているんですか
頑張って短くしてみることにします
ありがとうございました
0081デフォルトの名無しさん
2015/06/26(金) 23:26:36.18ID:iHN0Ws68そのうち変数名はどうでもよくなってきて、関数名で工夫する必要がでてくると思う。
0082デフォルトの名無しさん
2015/06/26(金) 23:36:57.04ID:3miAOepOエクセルについてくる標準の関数とかコードが冗長になる原因だし、くっそ面倒な上に動作が遅いから、
便利に使いたければ低レベルな所を覚える方がいい。
0083デフォルトの名無しさん
2015/06/27(土) 00:22:09.79ID:XfU5iyL6VBAは自分のセンスに合わないコードは全部クソ(読みづらい)だから
気にしてもどーしようもないし、自分本位でいいよ
前任のコードが読みづらいのは引き継ぐ側の宿命
書き直したって次の引継ぎが自分と同じ、もしくは似たような感覚持ってなきゃ
読みづらい言う
0084デフォルトの名無しさん
2015/06/27(土) 08:03:04.79ID:wYPgFXnxコメントは、俺は少なく抑える派だな。
ヘッダコメントや変数名見れば大体何やってるか分かる書き方をしておけば、基本ヘッダコメント以外はいらない。
そもそも慣れてればコード見れば大体何やってるかは分かる。だからコメントに残すのは、前にもちょっと書いたけど、
何やってるかではなくて、何の為にやっているかを残すようにしてる。
特に業務が大きく絡む部分は、データを取得した後の加工処理とかで、
何でそう加工するのか、どう使われるかなどで、設計書に載らない微細な部分は
後で見た人が分かるように残しているな。
0085デフォルトの名無しさん
2015/06/27(土) 09:34:13.81ID:/1zL9aXo理想的なコーティングを実践しているな、俺もそうなりてぇ
0086デフォルトの名無しさん
2015/06/27(土) 11:01:25.31ID:dD9hP/ey確かに何をしてるかより何でやってるかの方が有益だね。
自分で書いたのを後でみてはあ?ってなることがある。
0087デフォルトの名無しさん
2015/06/27(土) 12:18:28.76ID:0PAQ0bek目的と手段は両方書いた方がいい
それと「明日の自分は他人」を心がけること
0088デフォルトの名無しさん
2015/06/27(土) 12:22:30.10ID:zOIiCC8H0089デフォルトの名無しさん
2015/06/27(土) 18:02:11.16ID:hIbPEB69初心者の内はその方がいいかもね。
でもコメントは注視するから有りすぎると何が大事で何がどうでもいいか訳が分からなくなる。
「0を変数〜に代入する」とか「ファイルを開く」とか「シートを選択する」とか書いてあると嫌がらせかと思うわ。
0090デフォルトの名無しさん
2015/06/27(土) 18:38:52.27ID:6yK3ftLr必要なコメントはドキュメントあるかないかで全然ちがう
0091デフォルトの名無しさん
2015/06/27(土) 21:17:46.78ID:wYPgFXnx設計書と呼べるドキュメントが無ければまずそっちを作れよ
コメントに全部残すつもりか?
そんなことしたらある程度大きなプログラムになったとき、
大事な流れと末端の比較的重要じゃないところが混じって
全体の把握がしずらくなるだけだろ。
改修が入ってまた暫くして内容を忘れたころに改修を入れたり、
全然違う人が改修を掛けるとき、都度またコード追っかけて細かいコメントから
流れ把握しろって普段どんだけ効率の悪い仕事してるんだよ。
0092デフォルトの名無しさん
2015/06/27(土) 21:25:30.16ID:Z1iyjs9Zその文句を>>90に対して言うのはおかしい。
まあ、「しずらくなる」なんて書いてるところを見るとだいたいわかるけど。
0093デフォルトの名無しさん
2015/06/27(土) 21:39:39.73ID:wYPgFXnxまさか、「しづらい」と「しずらい」の入力ミスみたいな重箱のスミを突くようなことを言って
鬼の首取ったような気分になってるの?
>>90はドキュメントが無いことを想定して最初から要らないコメントだらけにしろと言ってる。
その前提が間違ってると言ってるんだから>>90に言わなくてどうするんだよ。
0094デフォルトの名無しさん
2015/06/27(土) 21:51:46.73ID:pIBbDm3i設計書→How
コメント→Why
なぜコメントにWhyが必要なのか?
0095デフォルトの名無しさん
2015/06/27(土) 22:04:43.52ID:hIbPEB69何をやっているかはコードのまんまなんだからコード見るだけで見て取れるじゃない。
そもそも、何故やってるのか分からない人に基本設計書が作れるのか聞きたい。
0096デフォルトの名無しさん
2015/06/27(土) 22:10:57.14ID:pIBbDm3iいや、Whyが必要なのは分かる。
ただそれがあるべき場所は本来、設計書なのではないかという疑問。
0097デフォルトの名無しさん
2015/06/27(土) 22:13:02.86ID:hIbPEB69設計書の話をするのであれば、このスレではスレ違いになるから
もう一つの方のスレで受け付けようか。
0098デフォルトの名無しさん
2015/06/27(土) 22:17:00.98ID:pIBbDm3i多分答えは持ってないだろうから受け付けて貰わんでも構わんよw
0099デフォルトの名無しさん
2015/06/27(土) 22:27:19.60ID:WGuYPvoXあ、そ。じゃこっちも生暖かい目で見守ってるだけにしとくよ。
0100デフォルトの名無しさん
2015/06/27(土) 22:42:37.03ID:Z1iyjs9Zひらがなで入力ミスってのは苦しくないか?漢字変換じゃあるまいし。
あんたの言う
「>>90はドキュメントが無いことを想定して最初から要らないコメントだらけにしろと言ってる。」
ってのはかなり読み違えている。言葉を読み取れていない。
0101デフォルトの名無しさん
2015/06/27(土) 22:48:01.30ID:0PAQ0bekコードを解読するより日本語を読んだ方が早いだろ
なおコメント書いたやつの日本語が残念だった場合はアキラメロン
0102デフォルトの名無しさん
2015/06/27(土) 23:49:35.98ID:p8TCnChh0103デフォルトの名無しさん
2015/06/28(日) 01:22:35.92ID:IJkReOHB>ドキュメントが無いことを想定して最初から要らないコメントだらけにしろと言ってる。
>その前提が間違ってると言ってる
たしかにドキュメントが無い事を想定してるし
ドキュメントがあれば不要なコメントがあることも否定しないが
お前が勝手に想像してる、まずドキュメント必須って環境がVBA利用の必須でも大半でもないと思うが
つか、いつからコメントの話になったんだか
0104デフォルトの名無しさん
2015/07/02(木) 16:37:33.93ID:+J9P94nh0105デフォルトの名無しさん
2015/07/02(木) 17:01:23.14ID:kS1tgVQAfor each shape in activesheet.shapesみたいな感じで出来たと思うよ
0106デフォルトの名無しさん
2015/07/02(木) 20:43:09.19ID:s7MbeDtD1:loggerクラスを作りメインメソッド内でのログは出力させるようにしたのですが
クラス内にログを出力させるためにはどのようなやり方がVBAでは一般的なのでしょうか
2:同様にクラス内部でエラーが起きた時にどのように上まであげるのか
exception含めエラーのハンドリング方法の典型的なやり方はどのような方法でしょうか
よろしくお願いします
0107デフォルトの名無しさん
2015/07/02(木) 21:22:21.90ID:PhnYLcQwクラス内にログを出力するのはちょっと厳しいかな。
クラス内にログを出力する処理をコードに記述するのが一般的だと思う。
.Netで言うExceptionほど情報は拾えないので、メソッド名などは外部から引数で設定したりする。
また、どう言った流れでエラーになったかを捉えるために
エラー時以外にも関数を呼び出した時や、実行したSQLをログに出力したりもする。
その辺の取り決めは、最初に共通化して決めておく。
そんなところかな。
0108デフォルトの名無しさん
2015/07/02(木) 21:44:23.79ID:s7MbeDtDありがとうございます。また1文目の指摘はごもっともです。失礼しました。
loggerクラスをクラス内で実体化して、メインメソッドで使っているものに対して
追記していくようなイメージになりますよね。
エラーはErrer On Goto というもので最上位で拾っているものが多いようですね。
内部でのエラーはログに出しておいて、最上位でハンドリングして終了させる感じですかね
0109デフォルトの名無しさん
2015/07/02(木) 23:16:07.57ID:PhnYLcQwその前にLoggerクラスだっけ?本当にクラスで作った方がいいのか、
標準モジュールで作った方がいいのかの精査が入ると思う。
最上位でハンドリングして終了するかどうかはその時の処理や、決め事次第なので何とも言えない。
ただ、ログの出力と言う論点から言うと、エラーが発生した時のログのみ出してるところと、
メソッドを終了した時にもログを出してるところ、もちろん後者はメソッド開始のときにもログを出してるんだけど、
それを実行時のログレベルで何を出すかを管理してたりとか、
VBAなら結構仕事場によりけりでまちまちだと思うよ。
0110デフォルトの名無しさん
2015/07/03(金) 12:36:10.39ID:xJ8vVgP90111デフォルトの名無しさん
2015/07/03(金) 19:29:04.77ID:Z91OQLPVマンコの中に精子を中だしする、という文と文法構造は同じですよ
0112デフォルトの名無しさん
2015/07/03(金) 22:17:58.92ID:eeinSX8C0113デフォルトの名無しさん
2015/07/03(金) 23:00:37.19ID:rycGCzjv一生中出しすることのない君にとっては
限りなく優しい言語だよ
0114デフォルトの名無しさん
2015/07/04(土) 08:14:08.92ID:XesN+FYu0115デフォルトの名無しさん
2015/07/04(土) 10:36:40.15ID:n+Lf90L50116デフォルトの名無しさん
2015/07/08(水) 20:34:13.84ID:nv9kJ3sf笑林寺音頭www
応募26団体を発表 開催都市提案種目/東京五輪
http://headlines.yahoo.co.jp/hl?a=20150612-00000521-sanspo-spo
東京五輪の追加競技、野球・空手など8団体に絞り込み
□2次選考に進んだ競技
野球・ソフトボール、ボウリング、空手、ローラースポーツ、スポーツクライミング、スカッシュ、サーフィン、太極拳
■見送られた競技
エアスポーツ、アメリカンフットボール、ビリヤード、ペタンク、ブリッジ、チェス、ダンススポーツ、フロアボール、フライングディスク、コーフボール、ネットボール、オリエンテーリング、ポロ、ラケットボール、相撲、綱引き、水中スポーツ、水上スキー・ウェークボード
http://www.asahi.com/articles/ASH6Q3CTTH6QUTQP008.html
●全く五輪と無関係な朝鮮盆踊りwww
↓
坊さんコス笑林寺www
∩___∩ /゙ミヽ、,,___,,/゙ヽ
| 丿 ヽ i ノ `ヽ'
/ ○ ○ | / `(○) (○)´i、 先生助けてっ!、
| U ( _●_) ミ 彡,U ミ(__,▼_)彡ミ 腹叩き大好き豚キムチ卍クソババアちゃんが息をしてないのっっ!!
彡、 |∪| ,,/ ,へ、, |∪| /゙
/ ヽ ヽノ ヾ_,,..,,,,_ / ' ヽノ `/´ ヽ
| ヽ ./ (^○^) `ヽーっ / |
│ ヾ ヾl ⊃ ⌒_つ ソ │
│ \__`'ー-⊃⊂'''''"__,,,ノ |
0117デフォルトの名無しさん
2015/07/11(土) 01:45:41.73ID:JfxrN9Uuforでちまちままわす以外でいい方法はありますでしょうか
0118デフォルトの名無しさん
2015/07/11(土) 01:50:57.59ID:U5u1oSjRそれは、何らかのデータが入っているセルだけをコピーしたい、という意味だろうか?
0119デフォルトの名無しさん
2015/07/11(土) 02:06:15.75ID:dEARxAiTカレントリージョンが使える
かもしれない。
0120デフォルトの名無しさん
2015/07/11(土) 03:00:00.09ID:29kHCvLh超使い勝手いいのにな
現状、無理やり Offset と Resize で変更してるけど他ある?
http://www.dotup.org/uploda/www.dotup.org409978.jpg
0121デフォルトの名無しさん
2015/07/11(土) 03:56:37.68ID:2Idl6xHqSub ta2()
Dim St As Range
Set St = Range("C6").CurrentRegion
Range(St.Cells(2, 2), St.Cells(St.Count)).Select
End Sub
0122デフォルトの名無しさん
2015/07/11(土) 14:16:23.70ID:a7pAoN16Q エクセルのセルに入力されている「数式」ではなく参照している「値」をIEの検索窓に入力するにはどうしたらいいでしょうか?
エクセルのデータベースからIEの検索窓に入力するVBAは完成してるんですが、
値ではなく数式が入力されてしまいます。
2つのシートがあり
一つはデータベースシートがあります。
それとは別にそのデータベースをvlookupで参照している管理シートがあります。
データベースの任意のデータにフラグを立てると管理シートにvlookupで値が参照されるようになっています。
そこで・・・
vlookupのシートのセルの数式ではなく値をIEの検索窓に入力したいのですが、
vlookup等の数式が入力されてしまいます。
数式ではなく値を検索窓に投げるにはどうしたらいいでしょうか?
分かりにくいかと思いますが簡単に別の例をあげると
A1セルに数字の5が入っていたとして、B1セルに「=A1 」とするとB1セルが5になると思いますが、
そのB1セルの数式ではなく、値の5をIEの検索窓に投げたいんです。
0123デフォルトの名無しさん
2015/07/11(土) 14:26:39.89ID:3/T9vOUPRange("A1").Text
0124デフォルトの名無しさん
2015/07/11(土) 15:25:07.98ID:a7pAoN16それも考えましたがそれだと数式を値に変換して置き換えることはできますが
数式が消えてしまいます。
Range("B1") = Range("A1")
みたいな感じで
別セルに置き換える感じも考えましたが
できれば置き換えすることなく、
セルの内容はそのままで、数式を値でIEの検索窓に投げたいんですけど
こういうのは難しいんですかね・・・?
0125デフォルトの名無しさん
2015/07/11(土) 15:42:14.07ID:a7pAoN16ごめん 勘違いしてました。
できました!
ありがとうございます!
>>124はなしで!
助かりました!
0126デフォルトの名無しさん
2015/07/14(火) 01:57:29.96ID:YJJAAwcFそっちの方がシンプルだな
thx
0127デフォルトの名無しさん
2015/07/16(木) 16:17:02.81ID:+rTlRoXo編集しようとデザインモードで見ると何もないんですが
0128デフォルトの名無しさん
2015/07/16(木) 18:48:38.24ID:WG4jVMdb0129デフォルトの名無しさん
2015/07/16(木) 19:26:53.98ID:mE2ajRcQ釣りだと思うけどマジレスしといてやる
実行時に追加したフォームは
デザイン時は存在してないんだからデザインモードに出るわけがない
0130デフォルトの名無しさん
2015/07/16(木) 20:52:53.17ID:FDPV8gUSサイズとかvisibleの問題じゃねーの
0131デフォルトの名無しさん
2015/07/16(木) 21:30:33.77ID:3z7lF38Pそりゃ、メモリ上でのみ動的に追加したコントロールが、デザインモード
で出てくるわけがない。こんなのVBA以外でも常識中の常識だぞ。
0132デフォルトの名無しさん
2015/07/17(金) 01:44:05.43ID:rjvTyFpHhtmlのソースの取り込みについて質問です。
・インターネット上のhtmlソースをVBAで読み込み、Sheet1のCells(1,1)から貼り付けたい。
(例としてhttp://www.google.co.jp)
・ソース内で改行がある場合、セルも一行下がる。
要はセル一行にhtmlソース一行が入るようにしたい。
・絵にするとこんな感じ。
ttp://s1.gazo.cc/up/142773.jpg
以上の条件を満たすプログラムを誰か教えてください・・・。
0133デフォルトの名無しさん
2015/07/17(金) 08:00:54.57ID:syB7WThGあなたは本当にそれがやりたいのですか?
もう一度、三日三晩シコりながら考えてみてはどうでしょうか?
きっとチンコが腫れあがりますよ。
0134デフォルトの名無しさん
2015/07/17(金) 08:59:14.16ID:hnpkDHc0今どきのHTMLのソースを取り込むとか寝言は寝てから言えよカス。
やってることが全く意味のない理解不能な行為だ。なんの意味もない。
消えろ。
0135デフォルトの名無しさん
2015/07/17(金) 20:04:14.87ID:McVDGjPp俺はやり方知らんが、「エクセル html ソースコード 読み込み」で検索したらすぐ出てきた。
0136132
2015/07/17(金) 20:38:31.06ID:wJy3znBLごめん、本当の目的は楽天で特定の商品を検索して、価格一覧を取得できるようにしたいです・・・。
ttp://search.rakuten.co.jp/search/mall/141JR+ettinger/?f=1&s=2&grp=product&myButton.x=0&myButton.y=0
こんな感じに検索して、どこのお店が一番安いかとかをエクセルにまとめたかったのです。
>135
ありがとうございます。もう一回検索してみます。
0137デフォルトの名無しさん
2015/07/17(金) 21:13:12.67ID:FH0hTxR4https://webservice.rakuten.co.jp/document/
こういうの使うってのは思いつかないか?
スクレイピングなんてアナログなやり方で取ろうってのはちょっと考えもの
だわ。
0138デフォルトの名無しさん
2015/07/17(金) 21:13:14.89ID:McVDGjPpホームページ自体をエクセルシートとして取得する方法があったはず。
だいぶ昔にやっただけだから忘れたけど、確かWorkbooks.Open(URL)で取得出来るはず。
0139デフォルトの名無しさん
2015/07/19(日) 18:40:13.42ID:dyuo8KOoIf Target.Address = "$C$4" Then
〜
End If
ってやりますけど、B列の何処かに入力された時にその横に…っ時はどうすればいいんでしょうか?
B2に入力されたならC2に、B10入力されたならC10に…という風にしたいのですが。
0140デフォルトの名無しさん
2015/07/19(日) 18:42:41.70ID:r330jZtMIF Target.Column = 2 then Target.offset(0,1) = "入力"
0141デフォルトの名無しさん
2015/07/19(日) 18:49:32.07ID:dyuo8KOo感謝!
0142デフォルトの名無しさん
2015/08/01(土) 09:23:45.44ID:V6/EU5o10143デフォルトの名無しさん
2015/08/01(土) 09:32:33.19ID:s1F9cg8dhttp://smallpdf.com/jp/pdf-to-excel
0144デフォルトの名無しさん
2015/08/02(日) 21:54:10.52ID:cv5KeAGa0145デフォルトの名無しさん
2015/08/13(木) 13:02:28.32ID:hMK01ZqaChromeじゃ出来ない事結構あるのかね?IE使ってない人多くなっていくし
0146デフォルトの名無しさん
2015/08/13(木) 14:18:02.34ID:YBCyuJGa仕事現場じゃIEの天下だが?
0147デフォルトの名無しさん
2015/08/13(木) 14:43:14.71ID:hMK01Zqaどこの田舎企業で働いてるの?
0148デフォルトの名無しさん
2015/08/13(木) 14:52:16.16ID:8BLKmqKJまあVBAも使用禁止だけど
0149デフォルトの名無しさん
2015/08/13(木) 16:11:43.20ID:96XWMJC8ひょっとして零細なの?
0150デフォルトの名無しさん
2015/08/13(木) 17:29:24.14ID:/gE7VvcAVBAなしで日常業務やるの?それともVisual Studioは入れてくれるとか?
0151デフォルトの名無しさん
2015/08/13(木) 20:38:39.53ID:vpVkNfs+http://www.ts-hikaku.com/clist/a0/v1s22t0p.html
Yahoo!Japanファイナンス 資本金: 株式ランキング
http://info.finance.yahoo.co.jp/ranking/?kd=53&
日本通運、キヤノン、セコム、ニチイ学館、豊田自動織機、アイシン精機、綜合警備保障
ダイハツ工業、日野自動車、セイコーエプソン、ヤマダ電機、富士電機、山九、清水建設、クボタ、ヤマハ発動機
以上16社が資本金1000億円未満・100億円以上かつ従業員数一万人以上の企業。
「その資本金でその従業員数とか特定できんだろw」と思ったけど、思っていたより多かったわ。
0152デフォルトの名無しさん
2015/08/15(土) 12:26:39.18ID:QUPnPtIvただ、個人的にはそれは厳しすぎね?とは思うけど。
0153デフォルトの名無しさん
2015/08/15(土) 12:32:06.29ID:fL/PzS3/0154デフォルトの名無しさん
2015/08/15(土) 17:56:57.96ID:HxCw3c0C死ねって言われたら死ぬの?
プロとしてプライド無さすぎだろ。
0155デフォルトの名無しさん
2015/08/15(土) 18:02:33.07ID:UUBlauo7別に VBA のプロじゃねーし
0156デフォルトの名無しさん
2015/08/15(土) 18:17:49.35ID:p/7d84Nq社全体の従業員数は関係ないだろっていう。
VBAスレたまに「お前絶対働いた事無いだろw」って言いたくなる大ボラ吹きが湧くよな。
0157デフォルトの名無しさん
2015/08/16(日) 01:48:34.98ID:lqZOWi2Oレベル低い企業だね
0158デフォルトの名無しさん
2015/08/16(日) 06:20:00.24ID:JiBgeW7F大企業はそうならざるをえない。
0159デフォルトの名無しさん
2015/08/16(日) 06:28:44.99ID:ycRHPSHX0160デフォルトの名無しさん
2015/08/16(日) 06:32:00.29ID:JiBgeW7F大企業の法則。
0161デフォルトの名無しさん
2015/08/16(日) 23:46:30.53ID:IDu141Aa一人の将軍の下には数千の歩兵が必用
企業でも同じ
0162デフォルトの名無しさん
2015/08/17(月) 23:45:02.86ID:bNJ12ZXsあほすぎるwww
0163デフォルトの名無しさん
2015/08/18(火) 00:11:21.76ID:f0QuXHMiB:ばっかの
A:集まり
0164デフォルトの名無しさん
2015/08/21(金) 07:13:15.70ID:l+0FmGcCそれで全体がうまくまとまるなら縛る必要ないな
0165デフォルトの名無しさん
2015/08/22(土) 18:22:38.08ID:cvDmezAQ0166デフォルトの名無しさん
2015/08/22(土) 18:36:26.91ID:BHNfM2Fk0167デフォルトの名無しさん
2015/08/23(日) 06:16:53.36ID:ZVnvkEuwファイル名が確定してるならディレクトリも決まってるし大したことないけど,特定の文字列以外が変わる場合があるならディレクトリ内のファイルを一覧で取得してから適合するファイル名を検索してって感じかな
0168デフォルトの名無しさん
2015/08/23(日) 09:45:03.48ID:Kqh6eoEY「月次売上」のあとにyyyymmddとなっています。
この月次売上の部分のみ認識して開き、中のデータを別の集計表に
コピーしたいのです。
0169デフォルトの名無しさん
2015/08/23(日) 10:38:07.80ID:Du+XoGVg食指が動かんな
お前ら、頼むわ
0170デフォルトの名無しさん
2015/08/23(日) 11:56:37.68ID:HWLa8qp/FSOで保存されてるフォルダのFilesを取得してファイル名が「月次売上*」でマッチしたもののファイルパスをWorkbooks.Openすればいいんじゃないの。
0171デフォルトの名無しさん
2015/08/23(日) 11:56:46.93ID:dST3+uhn特殊フォルダを取得する
http://officetanaka.net/excel/vba/tips/tips107.htm
(2)そこで指定のファイルの一覧を取得する
ファイルの一覧を取得する
http://officetanaka.net/excel/vba/file/file07.htm
(3) 検索しつつ、それが対象のファイルなら好きな処理をする
コレでいいでしょ
0172デフォルトの名無しさん
2015/09/04(金) 19:52:29.94ID:UBJpqbQu0173デフォルトの名無しさん
2015/09/04(金) 23:09:03.79ID:kyihAZh50174デフォルトの名無しさん
2015/09/05(土) 00:42:50.29ID:zbH+HliE0175デフォルトの名無しさん
2015/09/05(土) 01:35:28.25ID:fWJB10zn0176デフォルトの名無しさん
2015/09/05(土) 12:59:48.67ID:27LdtAAJexcelで作る必要性が全くないね
0177デフォルトの名無しさん
2015/09/05(土) 17:54:33.70ID:AhcKUtwZGoogleで画像検索すればいいと思う
あとはGoogleDriveにアップロードする
簡単
0178デフォルトの名無しさん
2015/09/05(土) 23:20:16.13ID:zbH+HliEExcelのシート上でパス+ファイル名を貼り付けるマクロをどなたか作成宜しくお願いします
0179デフォルトの名無しさん
2015/09/06(日) 00:11:58.38ID:aG8A0DfZそれぐらいなら任せとけ
0180デフォルトの名無しさん
2015/09/06(日) 02:26:50.72ID:QNZbRBDg0181デフォルトの名無しさん
2015/09/06(日) 07:19:16.95ID:8yRgk1H40182デフォルトの名無しさん
2015/09/06(日) 10:31:01.32ID:ZpREkUvSファイル名のリストがほしいってことだろ
コマンドプロンプトで ↓ やるのを覚えたほうがマシ
dir /b > list.txt
0183デフォルトの名無しさん
2015/09/06(日) 14:11:28.24ID:Ni3aZmcx0184デフォルトの名無しさん
2015/09/06(日) 16:24:47.90ID:tXhFn+hoExcelVBAでやろうとするとやや面倒な部類かな
いやそうでもないか
0185デフォルトの名無しさん
2015/09/06(日) 18:15:02.28ID:Ir/JiN9vシートに貼るところだろ
0186デフォルトの名無しさん
2015/09/06(日) 22:37:16.01ID:BIq/lpvc単に別名保存すると開いているファイルが別名になってしまいます。
この場合元ファイルを呼ばなければその後の処理が別名ファイルにされるようになりますこれでは困るため
開いているファイルはそのままに自分の複製を別名で保存したい場合はどう書けばいいのでしょうか?
0187デフォルトの名無しさん
2015/09/06(日) 22:45:54.30ID:cd39hwxLってのができればいいね
0188186
2015/09/06(日) 23:05:37.24ID:BIq/lpvc「SaveCopyAs」 でできるようで
Sub テスト()
ActiveWorkbook.SaveCopyAs Filename:="C:\テスト" & Format(Date, "yyyymmdd") & ".xls"
End Sub
↑こう書けば日付時刻を追記して別名保存できます!!
てかVBAのスレって2つあるの?!w
0189186
2015/09/06(日) 23:10:24.49ID:BIq/lpvcDate, "yyyymmdd"
↓
Date, "yyyymmddss"
こうすれば秒も記載されるので毎秒保存が可能に!ww
Sub テスト()
ActiveWorkbook.SaveCopyAs Filename:="C:\テスト" & Format(Date, "yyyymmddss") & ".xls"
End Sub
注意点としては".xls"はお使いのシートの拡張子にする必要が有ります。
0190186
2015/09/06(日) 23:20:28.89ID:BIq/lpvc0191186
2015/09/06(日) 23:46:39.37ID:BIq/lpvchttp://www.heyuguys.co.uk/images/2011/06/Agent-Smith.jpg
0192デフォルトの名無しさん
2015/09/07(月) 16:09:48.26ID:ipfcnQUP作り方は自由だけれども、
マクロがあるブックと別名で保存されては困るブックを
別のファイルにしてもいいのでは?
マクロ実行時に自己のバックアップを取る仕様も
まぁアリというばアリですけど。。。
0193デフォルトの名無しさん
2015/09/07(月) 21:04:51.95ID:W99FKy8k0194デフォルトの名無しさん
2015/09/09(水) 13:15:34.54ID:jmO3TJP8どんなエラーが発生したかによってそれぞれ処理をしたいのですが
その方法はどうしますか?
0195デフォルトの名無しさん
2015/09/09(水) 13:25:46.11ID:4sL8a6ZM0196デフォルトの名無しさん
2015/09/09(水) 13:43:27.11ID:jmO3TJP80197デフォルトの名無しさん
2015/09/09(水) 13:43:31.07ID:b8GIKhZ4ググれタコ
0198デフォルトの名無しさん
2015/09/09(水) 13:48:38.84ID:4sL8a6ZM0199デフォルトの名無しさん
2015/09/09(水) 14:11:04.56ID:jmO3TJP8あなたはわたしをおちょくっているのですか?
0200デフォルトの名無しさん
2015/09/09(水) 14:22:03.62ID:4sL8a6ZM0201デフォルトの名無しさん
2015/09/09(水) 14:30:43.82ID:jmO3TJP8当分われわれ二人はこのスレに居つくんだからな。
0202デフォルトの名無しさん
2015/09/09(水) 14:49:10.85ID:gDta/uVC0203デフォルトの名無しさん
2015/09/09(水) 15:34:57.30ID:p04zzSzWErr
0204デフォルトの名無しさん
2015/09/09(水) 16:11:12.71ID:JKr9Wstlエラー処理のやり方は、
http://officetanaka.net/excel/vba/statement/Resume.htm
実行時エラーの一覧は、
http://officetanaka.net/Excel/vba/error/execution_error/index.htm
0205デフォルトの名無しさん
2015/09/09(水) 16:56:50.32ID:jmO3TJP8ありがとうございます。
この>>204下のエラー番号の表ってこのサイト見ずに自分のPC内だけで完結できないかしらね?
オブジェクトブラウザに書いてるとか。
0206デフォルトの名無しさん
2015/09/09(水) 17:03:34.47ID:JKr9Wstl完結の意味がよくわからないけど、オブジェクトブラウザで見る範囲にはないと思うよ。
こんな感じで自作するしかないと思う。
https://support.microsoft.com/ja-jp/kb/146864
0207デフォルトの名無しさん
2015/09/09(水) 17:05:00.60ID:JKr9Wstl> Public Const ERR_DEVICEUNAVAILABLE = 68
> Public Const ERR_BADFILENAMEORNUMBER = 52
> Public Const ERR_PATHDOESNOTEXIST = 76
> Public Const ERR_BADFILEMODE = 54
みたいに自分で定義するってこと。
0208デフォルトの名無しさん
2015/09/09(水) 19:03:42.51ID:nekRxL7K0209デフォルトの名無しさん
2015/09/09(水) 19:23:36.06ID:604Cwjpa0210デフォルトの名無しさん
2015/09/09(水) 20:24:09.31ID:X10C1ufTそれ Error( ) 関数より便利なん?
0211デフォルトの名無しさん
2015/09/11(金) 07:11:03.47ID:FH5ZvDtcウェブページを画像にしてアクティブシートに貼り付ける方法が有れば教えて下さい。
ユーザーフォームの位置を取得してスクリーンショットをトリミングして等とやって
みたのですがうまくいかなくて
0212デフォルトの名無しさん
2015/09/11(金) 12:11:40.35ID:7m9SebXZ0213デフォルトの名無しさん
2015/09/11(金) 12:59:51.44ID:LxNrmawzGetWindowDC
CreateCompatibleDC
CreateCompatibleBitmap
SelectObject
BitBlt
SetClipboardDataを使ってクリップボードにコピーして
ActiveCell.PasteSpecialで貼り付けられないかな
0214デフォルトの名無しさん
2015/09/12(土) 05:10:31.32ID:dQMUA4G2頂いたアドバイスを参考にしてコード書いてみます。
本当にありがとうございました。
0215デフォルトの名無しさん
2015/09/13(日) 00:26:15.78ID:f7snMU36ここで変数やFor文を使えるようにできませんか?
0216デフォルトの名無しさん
2015/09/13(日) 00:29:38.04ID:G9dQlaUzマルチはダメですよ
0217デフォルトの名無しさん
2015/09/13(日) 04:20:00.29ID:gQnlFA4p普通に使えるんだが
0218デフォルトの名無しさん
2015/09/13(日) 14:30:53.21ID:uDM41CsS自分も知らなかった。1行に書くと、使えるんだね。ありがとう。
for i = 1 to 5:debug.print i:next i
0219デフォルトの名無しさん
2015/09/13(日) 18:55:46.40ID:nhNM0pAX0220デフォルトの名無しさん
2015/09/13(日) 23:20:47.36ID:nQBKdNbgついでに最後の i も必用ない
for i = 1 to 5:?i:next
俺は ?range("aa1").column みたいな感じで電卓がわりに使ったりしてる
適当なキーワード打ってF1押せばヘルプへのショートカットになる
0221デフォルトの名無しさん
2015/09/14(月) 01:33:32.22ID:h9CenDqd0222デフォルトの名無しさん
2015/09/14(月) 08:48:07.90ID:GfOr66Lgなりません
0223デフォルトの名無しさん
2015/09/14(月) 21:30:26.31ID:wEl1Y90n2013で業務報告書的なものに独学(参考書&ぐぐり)で以下のvbaを仕込みました
@エクセルからワード起動し、コピー&ペーストで文書作成
A同book内でfor…if…で別シートの一覧表に業務報告書の内容を一部転記
が、作成後に別事務所では2007、2010等が現役であることが判明
私の無知による後の祭ではありますが、参考書が2000/2003/2007/2013対応などと謳っていることから命令文はさほど変わらないと推測し、
下位がインストールされている事務所のPCで2013で書いた命令分をコピー&ペーストすれば下位ソフトで動くようになったりますでしょうか?
0224デフォルトの名無しさん
2015/09/14(月) 22:20:13.44ID:37XjVVHj動きます
0225デフォルトの名無しさん
2015/09/14(月) 22:31:29.64ID:XpNdN7EG下位から上位は比較的問題が起こりにくいけど、
上位から下位はよくよくテストしないとダメだろうね。
予期せぬ問題が発生することがある。
例えばシートの行数が65536行に減ったり、セル内の文字列が場合によって256文字制限が掛かったり。
0226デフォルトの名無しさん
2015/09/15(火) 01:34:51.81ID:JwuMU5pI早々の回答かたじけないです
>>224
暗闇に一筋の光が…
>>225
2013を覚醒させるほどの命令はしてませんので大丈夫ぽいですが、
過信せずデバグりたいと思います
next
0227デフォルトの名無しさん
2015/09/15(火) 22:56:57.09ID:cXCl5+xgオートシェイプ2つをグループ化し、縦横比を固定にしたいのです。
shpN(1)、shpN(2)にオートシェイプのnameが入っています。
ActiveSheet.Shapes.Range(shpN).group ・・・グループ化できました。
Selection.LockAspectRatio = True ・・・エラー
Selection.ShapeRange.LockAspectRatio = True ・・・エラー
(なんとか).LockAspectRatio = True だと思うのですが。
0228デフォルトの名無しさん
2015/09/15(火) 23:17:43.49ID:KQEQzEy1〜 .LockAspectRatio = msoTrue
0229デフォルトの名無しさん
2015/09/15(火) 23:33:41.39ID:KQEQzEy1With ActiveSheet.Shapes.Range(shpN)
.Group
.LockAspectRatio = msoTrue
End With
0230デフォルトの名無しさん
2015/09/15(火) 23:38:11.19ID:cXCl5+xgレスありがとう。どちらもやってみたんだけど、エラーになるんです。
(グループ化直後、selectionされてない?のかな。)
で、以下で自己解決しました。
For Each gp In ActiveSheet.Shapes
If gp.Type = msoGroup Then
gp.LockAspectRatio = msoTrue
End If
Next
0231デフォルトの名無しさん
2015/09/17(木) 03:28:54.63ID:lZOvbfrn0232デフォルトの名無しさん
2015/09/17(木) 03:58:01.75ID:pl8Hj06Whttp://i.imgur.com/FrbauP0.jpg
0233デフォルトの名無しさん
2015/09/17(木) 08:45:59.29ID:negR8wPL登録しておいた文章を簡単に入力する方法はありますか?
たとえば
tを押したときに"Thank you very much for"
bを押したときに"Best Regards, (my name)"
など20個以上の登録しておきたい文章があるんです。
0234デフォルトの名無しさん
2015/09/17(木) 08:47:10.12ID:negR8wPLタッチタイプができるので大文字のところだけ0.1秒くらいタイミングが遅れて困っているんです。
0235デフォルトの名無しさん
2015/09/17(木) 10:20:20.73ID:GcR8xHdeyenマークは?
0236デフォルトの名無しさん
2015/09/17(木) 11:20:58.68ID:1vkd1c9N0237デフォルトの名無しさん
2015/09/17(木) 11:49:58.02ID:kipa1zpm0238デフォルトの名無しさん
2015/09/17(木) 11:52:52.51ID:Y9+umF8P0239デフォルトの名無しさん
2015/09/17(木) 12:39:55.33ID:+3F+8mBw0240デフォルトの名無しさん
2015/09/17(木) 13:19:44.18ID:1vkd1c9N\ ヽ / /
‐、、 殺 伐 と し た ス レ に 鳥 取 県 が ! ! _,,−''
`−、、 __/\ _,,−''
`−、、 _| `〜┐ _,,−''
_ノ ∫
_,.〜’ /
───────‐ ,「~ ノ ───────‐
,/ ` ̄7
| 島 根 県 /
_,,−' ~`⌒^7 / `−、、
_,,−'' 丿 \, `−、、
,'´\ / _7 /`⌒ーへ_,._⊃ /`i
! \ _,,-┐ \ _,.,ノ r‐-、、 / !
゙、 `ー--<´ / L. ,〜’ ゙、 >−一'′ ,'
y' U `ヽ/ / ヽ ヽ '´ U イ
____
/ __ | \____\
___/__ / ̄ ____|____ \ \____\
//ヽ /___ /|\ \ \____\
/ / ヽ / /__ / | \ \_______
/ / / / / / | \ | \
/ / / / _/ __/ | \__ | \  ̄―_
0241デフォルトの名無しさん
2015/09/17(木) 14:28:57.33ID:zQMTeEfi0242デフォルトの名無しさん
2015/09/17(木) 19:21:57.39ID:ZEBJNCr9Excel だとコンマよりタブの方がよく使う
0243デフォルトの名無しさん
2015/09/17(木) 21:27:50.77ID:nm8tfio5キーボードの配列によっては=はshift押さないものもある
これもまた使ってるキーボード次第だけど、10キーの+をビターンと押してみるとか
0244デフォルトの名無しさん
2015/09/18(金) 02:08:42.21ID:OwYf98or40行目を変更して、再度データを読み込みます。そうすると、最初の1から20までを
表示するのですが、40行目を表示させることはできないんでしょうか?。
できれば、40行目を変更する時点で一番上に表示されてる、例えば26行目から
表示させることとか、できないでしょうか。
0245デフォルトの名無しさん
2015/09/18(金) 03:58:21.92ID:jaUEyIYl指定の項目を画面に表示させたいならEnsureVisible()を使う
Private Sub CommandButton1_Click()
With ListView1
With .ListItems(40)
Call .EnsureVisible
'.Selected = True
End With
'Call .SelectedItem.EnsureVisible
End With
End Sub
0246244
2015/09/18(金) 18:55:44.91ID:JBxUncF1やってみました。できました!。ありがとうございました。
ググっていろいろやってみて、どうしてもわからず
ここに質問しました。よかったー。どうもでした。
0247デフォルトの名無しさん
2015/09/19(土) 06:25:19.76ID:MRSgSgPN2015/08/27 1:04:03
上のような日付時刻のデーターから2つの差分の経過時間日数を表示させるには
どのように書けば良いのでしょうか?
0248デフォルトの名無しさん
2015/09/19(土) 07:03:55.20ID:ZcnBR6n/セルにシリアル値が入ってるとして
差 = Range("B1").Value - Range("A1").Value
0249デフォルトの名無しさん
2015/09/19(土) 07:20:25.72ID:ABga1iDK0250デフォルトの名無しさん
2015/09/19(土) 08:36:36.43ID:jW6yRKIIそれって>>247の言う「経過時間日数を表示」することになるのかね?
0251デフォルトの名無しさん
2015/09/19(土) 09:21:22.56ID:xryWHhpWセルに表示するなら書式設定でできるかと
0252デフォルトの名無しさん
2015/09/19(土) 10:19:50.27ID:jW6yRKII0 3:26:13 (← 3時間26分13秒経過 の意味)
477 1:12:34 (← 477日1時間12分34秒経過 の意味)
みたいに表したいんじゃないかと想像したんだが、どうだろう。
0253デフォルトの名無しさん
2015/09/19(土) 11:16:51.77ID:xryWHhpWセルの書式 - 表示形式 - 分類(C) - ユーザー定義で種類(T) に d hh:mm:ss
0254253
2015/09/19(土) 11:23:41.09ID:xryWHhpW0255デフォルトの名無しさん
2015/09/19(土) 12:39:08.79ID:N5F00OSs0256デフォルトの名無しさん
2015/09/19(土) 13:01:19.07ID:GIof26cq時間を特定のフォーマットで表示する
別の話だから
前者は>>248で良いだろ
後者は元質問者がどう望んでるか分からんから回答できんわ
0257デフォルトの名無しさん
2015/09/19(土) 23:52:44.74ID:U6It5g+sなぜかヘルプに載ってないシート関数
0258デフォルトの名無しさん
2015/09/21(月) 07:41:10.03ID:TLTHusWTADODB.Connection
ADODB.Recordset
を使って見ているんですが
書き込みのとき文字型になるので
書き込み先の関数が反映されないのですが対処方法ないですか?
0259デフォルトの名無しさん
2015/09/21(月) 09:14:39.19ID:6Qd0iGUJそもそもADOでExcelシート開いて関数動くのか?
文字列型とかそういう問題じゃない気がするんだが
0260デフォルトの名無しさん
2015/09/21(月) 10:36:58.18ID:MLBJrwW+混ざってて、-/-と空白は” “か”不明”で処理して、年号は拾いたいです。
うまい方法あったら教えて下さい。
0261デフォルトの名無しさん
2015/09/21(月) 10:41:23.41ID:wKVLsJx8IsDate()で日付として読み込めるかどうか判断できる。
空白は日付として解釈出来るので別途判断が必要。
0262デフォルトの名無しさん
2015/09/21(月) 10:43:56.79ID:wKVLsJx80263デフォルトの名無しさん
2015/09/21(月) 13:35:26.77ID:TLTHusWTデータを書き込んだ後に、エクセルを開くと
数字が文字型で入っているから関数が計算しないんだ
0264デフォルトの名無しさん
2015/09/21(月) 20:04:31.29ID:Kfx74dr5>Excel2007を開かないで読み込み、書き込みしたいので
なぜ?その必要性は?
0265デフォルトの名無しさん
2015/09/21(月) 20:20:21.00ID:Zmx0dOIG>Excel2007を開かないで読み込み、書き込みしたい
エクセルを開かないで、どうやってブックに書き込みするつもりなんだい?
あと、ADODBはVBScriptで作成してるのかい?
0266デフォルトの名無しさん
2015/09/21(月) 20:47:10.32ID:6Qd0iGUJちょっと実行環境とコード晒して
0267デフォルトの名無しさん
2015/09/21(月) 22:14:40.79ID:TLTHusWTコードは会社なんで連休明けにまた質問します。
数秒毎に書き込みをすることが結構あるので
毎回OPENするのを見るのはうっとうしいなぁと思ってるんですが
エクセルに書き込みをするのはやっぱりOPENしてからが普通かな
0268デフォルトの名無しさん
2015/09/21(月) 22:59:15.59ID:F/XEG3RA0269デフォルトの名無しさん
2015/09/21(月) 23:37:00.23ID:c1rO/cpsたいていの関数は数値でも文字列でも処理してくれるのに
0270デフォルトの名無しさん
2015/09/22(火) 01:33:16.60ID:RmAixVRL0271デフォルトの名無しさん
2015/09/24(木) 10:18:47.70ID:omyXVQMB0272デフォルトの名無しさん
2015/09/24(木) 10:41:14.56ID:X5tdJ92l0273デフォルトの名無しさん
2015/09/27(日) 01:20:22.02ID:F07ZjUKBExcelが変更されたって検出できなければ再計算されないのさ
auto_openとかでApplication.Calculate
と書いとけば開いた時に再計算されるよ
0274デフォルトの名無しさん
2015/09/29(火) 09:44:27.26ID:wb2Wnzgx可能です
0275デフォルトの名無しさん
2015/10/04(日) 14:07:57.32ID:/vSmtKMAsub gazo(No as long)
For i = 1 To 10
UserForm1.Controls("Image" & i).Picture = LoadPicture(Pfile(i+No-1))
UserForm1.Controls("Image" & i).PictureSizeMode = fmPictureSizeModeStretch
Next i
end sub
これを実行すると、10個ちゃんと表示されます。引数Noが1,11,21,31,41と変化しても、それにあった画像が表示されます。
imageには、それぞれ、クリックすると イベントが呼び出されるようにしています。例えば、image1の場合、
Private Sub Image1_Click()
'これがよびだされただけで、ここの画像が更新されず、この画像が消えなくなります。
end sub
No=1で呼び出され画像が表示された状態で、image1をクリックします。そして、No=11でこのプロシージャを呼び出します。
そうすると、image1の画像だけが変わりません。同様に、ほかのimageをクリックすると、その画像は固定されてしまい、かわりません。
ちなみに、 UserForm1.Controls("Image1").Picture = LoadPicture("")でも消えません。(クリックする前は、ちゃと消えます)
0276デフォルトの名無しさん
2015/10/04(日) 16:30:11.15ID:UTkim9KuUserForm1.Repaint
0277デフォルトの名無しさん
2015/10/04(日) 17:03:45.11ID:g7SqYJ/X単純にイメージ書き換えるサンプルで検証したけど、更新されないのは再現したな
とりあえずフォームをRepaintしてやれば画像は更新される
消えるのは再現しない
VBAのフォームってAutoRedrawとか無いんだな
まあ、そういうものだと割り切って使うしかないんじゃね
0278275
2015/10/04(日) 18:57:20.53ID:GDhGHTrcレスありがとうございました。UserForm1.Repaintで、更新されました。
これ、1回でもSub Image1_Clickすると、以降は.Repaintする必要があるんですね。
Sub Image1_Click以降の処理に何かあるんじゃないかと、数日格闘しました。
解析の対応も、逆だったですね。勉強になりました。どうも、ありがとうございました。
0279デフォルトの名無しさん
2015/10/04(日) 19:30:54.16ID:2AM+oKUz質問失礼します。
このたびwin10にアップグレードしたのですが
excelのVBAで下記の記述を使うIE操作ができなくなってしまいました。
object("InternetExplorer.application")
昨日からやり方をぐぐったりして試行錯誤していますが解決できませんでした。
今まで通りIEを呼び出す方法はあったりしますでしょうか?
0280デフォルトの名無しさん
2015/10/05(月) 02:40:58.07ID:uvbnrVeHうちは入ってたけど
0281デフォルトの名無しさん
2015/10/05(月) 06:43:32.33ID:Gxee2tr0出来ないってどうなるのよ?エラーメッセージ書きなさいよ。
0282デフォルトの名無しさん
2015/10/05(月) 13:24:24.30ID:PnYDCBrnごめんなさい。
0283デフォルトの名無しさん
2015/10/05(月) 13:32:25.29ID:riTZJY1L0284デフォルトの名無しさん
2015/10/06(火) 12:24:45.75ID:vCF6HdoWアクティブなシートで、シート名を変更する状態になっています(シート名が反転)。
この状態で、Range("A1").activate とするとエラーになります。
シート名を変更する状態になっているのですから、当然といえばそうでしょうが
vbaで、シート名変更状態をキャンセルして、Range("A1").activate をエラーなく
実行するには、どうすればいいでしょうか?。
また、シート名変更状態かどうかを、判定することはできるでしょうか?。
if シート名が変更状態なら then
(キャンセルして、セルをactiveにする)
end if
0285デフォルトの名無しさん
2015/10/06(火) 12:32:24.59ID:pvo7HcyGエラーメッセージぐらい書け
シート名が反転した状態からどうやってマクロ起動してるんだ?
そのマクロ、どこに書いてるんだ?Rangeにちゃんとシート指定してもダメなのか?
0286デフォルトの名無しさん
2015/10/06(火) 13:13:15.32ID:ObRFSR9m通常だとシート名アクティブ状態でマクロそのものが実行できないだろ
0287デフォルトの名無しさん
2015/10/06(火) 14:24:45.36ID:hiQs0jh90288284
2015/10/06(火) 17:18:04.28ID:vCF6HdoW実行時エラー'1004' 'Activeメソッドは失敗しました'_Workbook'オブジェクト
A,B2つのブックがあって、AからBを処理しようとしてます。
マクロはAの標準モジュールに書いてます。Bブックの追加シートタブを1クリック、さらにうっかりもう1回クリックすると
シート名が反転状態になり、その状態でAフォームのBブックに対するモジュールを実行したら、エラーになりました。
>>287 ありがとうございます。下記のようにして、どうにかエラーが出なくなりました。
On Error Resume Next
Workbooks(target).Activate ' Bブック この時点でエラーになってしまうので
If Err.Number <> 0 Then
Application.SendKeys "ESC"
Err.Clear
End If
On Error GoTo 0
UserForm1.Show (vbModeless) '表示されてるフォームをアクティブにして
Application.SendKeys "ESC" 'こちらにもESC送らないと、いけませんでした。
0289デフォルトの名無しさん
2015/10/06(火) 18:38:46.96ID:0TXrfnt1列を1個づつずらしてループさせる方法をお願いします
0290デフォルトの名無しさん
2015/10/06(火) 19:04:12.04ID:B9q/85j9インクリメントすればいいんじゃ?
0291デフォルトの名無しさん
2015/10/06(火) 21:32:26.91ID:wE29fvgYうちにも使えなくなったブックがあってダルくて考えるの放棄してるw
0292デフォルトの名無しさん
2015/10/07(水) 08:11:32.88ID:qdqRCjiZ下記の条件が全て当てはまる会社にご注意下さい。
・IT系 in tokyo
・「社名 労基」でググると過去の2chスレが出てくる
・転職会議で2.5点
0293デフォルトの名無しさん
2015/10/11(日) 00:47:04.78ID:QkgTMuTY.autofill .resize(1)
end with
これなにか間違ってる?
0294デフォルトの名無しさん
2015/10/11(日) 00:52:22.49ID:tii6VF/Qrows→row ?
0295デフォルトの名無しさん
2015/10/11(日) 01:02:11.74ID:dc8fNJEd俺の乏しい知識では間違いだらけに見える
.AutoFill Destination:=.Resize(10)
とかしないと動かない
0296デフォルトの名無しさん
2015/10/11(日) 13:33:14.14ID:QkgTMuTYrowって行数だよな
>>295
resizeの引数の考え方をoffsetと勘違いしてたっぽい
けどたぶん行全体のrangeをautofillするのがそもそも駄目な気がする
エクセル会社にしかないから今検証できないけど
0297デフォルトの名無しさん
2015/10/13(火) 19:55:27.34ID:l9wB2pdGこういうこと?
Sub test()
With ActiveCell
.AutoFill .Cells(1, 1).Resize(, 1 + Columns.Count - .Column)
.AutoFill .Cells(1, 1).Offset(, 1 - .Column).Resize(, .Column)
End With
End Sub
最初 .EntireRow でやってみたら、ActiveCellがA列のときしか駄目だった
0298デフォルトの名無しさん
2015/10/21(水) 16:49:09.39ID:+5BbTA0Dできるのでしたらやり方を教えて下さい。
シートにグラフが3枚あります。
2枚のグラフのデータ領域は5秒間隔で書き換えられます。
残りの1枚のグラフは5分間隔でデータが書き換えられます。
グラフ1:データ数180*7系列 データ更新頻度:5秒
グラフ2:データ数180*6系列 データ更新頻度:5秒
グラフ3:データ数900*6系列 データ更新頻度:5分
3枚目のグラフは5分間隔で再描画されれば十分のですが、5秒間隔で再描画されているように見えます。
この再描画に結構時間がかかっているようですしリソースも食っているように感じます。
3枚目のグラフが5秒おきに再描画されるのを止めたいのですが可能でしょうか?
0299デフォルトの名無しさん
2015/10/21(水) 16:53:11.23ID:jtu/I8YX0301298
2015/10/21(水) 17:12:29.63ID:+5BbTA0DSheet1:グラフ1とグラフ2
Sheet2:グラフ3
というように3枚のグラフを別シートに置き、
5秒間隔のデータ更新時は、Worksheets("Sheet2").EnableCalculation = False のようにし、
5分間隔のデータ更新後に、Worksheets("Sheet2").EnableCalculation = True でグラフ3を更新しています。
できれば3枚のグラフは一つのシートに配置したいのです・・・
0302デフォルトの名無しさん
2015/10/21(水) 19:08:39.42ID:dF+6DuJI0303デフォルトの名無しさん
2015/10/21(水) 20:51:45.44ID:ZXMR/M8nそれが再描画されるのだろう
データ → メモリ → シート
のように、間にメモリか配列(コンテナ)をおいて、
5秒毎にメモリに書き込んで、そこにデータを貯めておいて、
シートには5分毎にしか書き込まない
0304デフォルトの名無しさん
2015/10/21(水) 21:55:36.77ID:reylgbjKそういう用途は、Googleスプレッドシートのほうが楽に出来る。
0305デフォルトの名無しさん
2015/10/21(水) 22:12:42.83ID:+5BbTA0Dえ、え?よくわかりません
グラフ1とグラフ2は5秒毎に更新したい、
グラフ3は5分毎に更新したいのです
シートに5分毎に書き込まなかったらグラフ1,2は5秒毎に更新されないのでは?
>>304
ちょいとググってみます
0306デフォルトの名無しさん
2015/10/21(水) 22:32:19.10ID:t2Kd5CVN3つのグラフをシート1に置き、
グラフ1とグラフ2のデータをシート1に、グラフ3のデータだけシート2に置く。
シート1のデータは5秒おきに更新し、シート2のデータは5分おきに更新する。
じゃダメなの?
0307デフォルトの名無しさん
2015/10/21(水) 22:36:58.59ID:+5BbTA0Dあーなるほどー
今エクセルできる環境じゃないので明日の夜に試してみます
私頭固いんでそういう柔軟な発想ができないんですよね
非常にありがたいんですが非常に悔しいです
ありがとうございます!
0308デフォルトの名無しさん
2015/10/21(水) 22:41:33.05ID:OyO16cpw0309デフォルトの名無しさん
2015/11/14(土) 14:26:30.36ID:kOM7V2YGPrivate Sub ComboBox1_Change()
With ComboBox1.Validation
ってやるとメソッド又はデータメンバーが見つかりませんというエラーが出ます。
どうやればバリデーションチェックをかけられますでしょうか。
0310デフォルトの名無しさん
2015/11/14(土) 17:47:27.05ID:v0Sve+AN自分でそのバリデーションチェックというのを実装すればいい
バリデーションチェックて具体的になに?
0311デフォルトの名無しさん
2015/11/14(土) 18:09:07.45ID:saXVV+dTこんな方法はどうですか? (セルの入力規則を利用する方法)
セルに入力規則をかけておく (下記例では B1 としている)
※ LinkedCellの設定が同じ(つまり B1)なら正しく制御できない為 LinkedCellの設定削除
んで
Private Sub ComboBox1_Change()
Dim Save As Variant
With Range("B1")
Save = .Value
.Value = ComboBox1.Value
If .Validation.Value = False Then
.Value = Save
MsgBox "入力規則に合っていません。"
End If
End With
End Sub
0312デフォルトの名無しさん
2015/11/15(日) 03:12:39.36ID:XgNMkXlR.valiidationはセルにするという基本を知りませんでした。
でtrue false判定ができるんですね
この方法は便利ですね。
入力値にセルのバリデーションを介さず直接判定をかける方法もあるんでしょうが、私には難しいと思います。
ありがとうございました。
0313デフォルトの名無しさん
2015/11/20(金) 12:48:13.07ID:6QRhjKxy0314デフォルトの名無しさん
2015/11/23(月) 18:05:34.71ID:E/AQhXvM次実行したいプロシージャを自動で実行させる方法はありますか?
可能であればBookをすべて閉じて開き直したブックに書かれたプロシージャを実行させたり
Excel事態を再起動してBookを開き次にじっs校するプロシージャを動かせれば完璧なのですが、こういうことをやる方法はありますでしょうか?かのうでしょうか?
0315デフォルトの名無しさん
2015/11/23(月) 18:40:53.20ID:rlgjQim1この辺のしくみを竹を割ったようにサッパリと分かりやすく解説していただけないでしょうか?
0316デフォルトの名無しさん
2015/11/23(月) 19:28:58.01ID:DSD5gnTNExcelVBA 裏ワザ大辞典って本で
「一時的にVBScriptファイルを作成して、それを使ってExcelを再起動する方法を解説する」ってのがあった
後は本のタイトルでぐぐればゲフンゲフン w
0317デフォルトの名無しさん
2015/11/24(火) 01:21:12.88ID:wu4gTPMZVariantの中には必ず2つのデータが組で入ってて、1つ目は変数の内容そのもの、もう1つは変数の型が入ってる
型の部分は変数を代入する時に、自動的にセットされる
何の型がセットされたか調べるにはTypeName関数を使う
何がセットできるかはMSDNに一覧がある
どうやって型を決めるかのアルゴリズムは確か非公開だったように思う
(例)
Dim a As Integer
Dim b As Variant
a = 123
b = a ' Variant型変数にInteger型変数を代入
Debug.Print TypeName(b) ' Integerと表示される
0318デフォルトの名無しさん
2015/11/24(火) 08:48:27.95ID:DVbUiEch> 何の型がセットされたか調べるにはTypeName関数を使う
デバッグとかで型名表示するだけならともかく、型で処理を分けるとかなら VarType 関数の方がいいと思う
0319315
2015/11/24(火) 10:50:41.90ID:2xX81aKHなるほどすばらしい。
ありがとうございます。
0320デフォルトの名無しさん
2015/11/25(水) 11:39:32.64ID:/lbny/AY配列に小数点のある数値を格納した場合、勝手に第二小数点まで四捨五入されてしまうのでしょうか?
dim data() as currencyで作ってみたのですが、
VBAなしで作った計算結果とVBA配列を使った同じ計算結果が全く違う答えになってしまいました。
0321デフォルトの名無しさん
2015/11/25(水) 13:19:12.11ID:8iY9CP3j何か勘違いしてないか?
Sub foo()
Dim data(0) As Currency
data(0) = 1.23456
Debug.Print data(0)
End Sub
結果: 1.2346
0322デフォルトの名無しさん
2015/11/25(水) 20:34:25.57ID:GSr8zJ+4そのまま四捨五入するとExcelの関数とVBAでは丸め方が違うからその差が出てるんじゃない?
詳しくはWebで
0323デフォルトの名無しさん
2015/11/26(木) 13:24:16.18ID:Oi+4AKMW割り切れない小数点同士の割算をさせるとき、誤りが出る可能性があるんですね。
0324デフォルトの名無しさん
2015/11/26(木) 14:23:11.88ID:K8Py7wqEExcel側の都合で誤差が出ることもあるし、計算は正しいのに見た目が違うだけの場合もある
実際の数字は小数点以下が20桁ぐらいあるのに書式によって一部しか表示されてないとか、
セルの幅によって表示桁数が自動的に変わるなんてことは割とよくある
0325デフォルトの名無しさん
2015/11/26(木) 14:37:15.59ID:wjty/3s6> 割り切れない小数点同士の割算をさせるとき、誤りが出る可能性があるんですね。
今回のケースでは通貨型を使ったのが丸められた原因で、
なおかつ、通貨型は小数点以下第5位以下が五捨六入される
そういうことじゃないのか?
0326デフォルトの名無しさん
2015/12/03(木) 18:05:47.92ID:/h+G/URd0327デフォルトの名無しさん
2015/12/03(木) 18:21:57.99ID:jUS2N3R70328デフォルトの名無しさん
2015/12/03(木) 19:13:33.78ID:9IIGTedn0329デフォルトの名無しさん
2015/12/03(木) 20:14:08.33ID:6hyvlQbaコボル
0330デフォルトの名無しさん
2015/12/03(木) 21:18:37.38ID:srgQPG9Ddoubleの上位非互換
0331デフォルトの名無しさん
2015/12/04(金) 09:42:47.69ID:7C0cNGgl0332デフォルトの名無しさん
2015/12/04(金) 09:54:23.21ID:ZztQGqTxうちの場合は口座残高くらいにしか使えんな。
0333デフォルトの名無しさん
2015/12/04(金) 12:18:04.28ID:dcuRFkWT0334デフォルトの名無しさん
2015/12/04(金) 12:28:27.84ID:2w03ex4R0335デフォルトの名無しさん
2015/12/04(金) 13:05:56.10ID:hxqGHG2w0336デフォルトの名無しさん
2015/12/04(金) 16:37:43.41ID:uWFo4MPw慌ててCurrencyにしたけど
0337デフォルトの名無しさん
2015/12/05(土) 13:37:54.17ID:MOG2PmhHやはり値と書式を地道に移していくしかないでしょうか
あとこういったことの汎用ライブラリモジュールみたいなのはないでしょうか
0338デフォルトの名無しさん
2015/12/05(土) 13:45:56.38ID:MOG2PmhH軽い作業ならいいだろうと実行中に無意識にクリップボード操作をして止まってしまったりする事、
最悪pasteでテキストと入れ替わった場合エラーとして検出されずデータ破壊した事に気付かず処理が進んでしまう事
などが怖いので可能な限りクリップボードを使わずに処理を書きたいのです
0339デフォルトの名無しさん
2015/12/05(土) 16:03:25.14ID:w7NeWp2qカットペーストを繰り返すというのが地道だと思うんだけど…???
0340デフォルトの名無しさん
2015/12/05(土) 16:21:37.76ID:waj24j1Aコピペを完璧に実装するのは大変だけど、自作のマクロの中だけで使うならサブセットで十分だろ
必要な情報だけ移せばいい
ていうか、コピペ多用で時間の掛かるマクロってのが根本的におかしい気がする
コピペの方法で悩むより、コピペしなくていい方法とか、スピードアップする方法を考えた方がいくね?
配列で処理するとか、アルゴリズムを見直すとか
0341デフォルトの名無しさん
2015/12/05(土) 18:29:17.61ID:S8d8TjQn0342デフォルトの名無しさん
2015/12/05(土) 18:32:25.42ID:CzuIJRwA0343デフォルトの名無しさん
2015/12/05(土) 18:46:42.30ID:1QMYHCHR0344デフォルトの名無しさん
2015/12/05(土) 20:07:34.63ID:JOC1LVGSセキュリティのプロフェッショナルかと思ったら違うのかよ。
0345デフォルトの名無しさん
2015/12/05(土) 21:47:02.20ID:MOG2PmhHこれでテキスト編集ぐらいは並行してできそうです
0346デフォルトの名無しさん
2015/12/06(日) 00:02:07.83ID:Rb3lVfqwクリップボードが壊れたら時間かかるマクロをまた最初からやり直しじゃん
Range.Copy Destination:= の形式で作業シートにデータを移せば、
クリップボードは使わなくて済むしこっちのが高速だぜ
0347デフォルトの名無しさん
2015/12/06(日) 00:16:20.37ID:6uUtXQvEなんでクリップボード使ったり作業シート使ったりしないといけないのか理解できない初心者です
0348デフォルトの名無しさん
2015/12/06(日) 00:21:40.57ID:Rb3lVfqwよく聞くのは株とか競馬とかの過去データを集めて分析
0349デフォルトの名無しさん
2015/12/06(日) 09:46:42.00ID:F0HE3LOZ0350デフォルトの名無しさん
2015/12/06(日) 10:10:20.93ID:Rb3lVfqw0351デフォルトの名無しさん
2015/12/06(日) 16:12:40.62ID:F0HE3LOZ>>341
0352デフォルトの名無しさん
2015/12/07(月) 08:30:41.03ID:7geCXLnkだとしたら、作り方がゴミなだけ
0353デフォルトの名無しさん
2015/12/07(月) 20:54:13.56ID:6inzLqq+音の鳴っている1000ミリ秒間は他の処理は行っていないようです。
音は鳴らしたいのですがマクロパフォーマンスはなるべく落としたくないのですが
いい方法はありませんか?
0354デフォルトの名無しさん
2015/12/08(火) 14:32:07.79ID:HJc+axydそれによって選択肢がかわるとおもうけど
BGM的なものなら
waveファイルの再生(PlaySound)で非同期再生すれば?
0355デフォルトの名無しさん
2015/12/08(火) 15:58:27.45ID:/lRPavxe普通そっち使うわな。
0356デフォルトの名無しさん
2015/12/08(火) 22:55:21.52ID:/XNexRBf非同期、PlaySoundでググったらなんか良さげです。
これを試してみます。ありがとうございました。
0357デフォルトの名無しさん
2015/12/10(木) 00:27:25.68ID:ydUpcr2TいまどきのPlaySoundの上位互換みたいなのないのかいなー
0358デフォルトの名無しさん
2015/12/10(木) 00:42:30.86ID:7o1Slt65mciSendString とか
DirextXを使って鳴らす とか
あと以前ぐぐってたら wavファイルをシートに貼り付けておいて
それを鳴らすってのもあったな
0359デフォルトの名無しさん
2016/01/03(日) 07:48:49.80ID:UgdGt6Fz0360デフォルトの名無しさん
2016/01/04(月) 16:13:34.36ID:bUPZv6XS必ず入力しないといけないという仕様だとして、
シート data から他のシートに変えようとした時にその範囲に未入力があれば
入力漏れがあるとメッセージを出して変更出来ないようにしたいんですが、、、
(勿論データの型チェックもするとして)
Worksheet_Deactivate()でどう書けば良いんですかね
0361デフォルトの名無しさん
2016/01/04(月) 17:19:10.97ID:ZAkNRCkUPrivate Sub Worksheet_Deactivate()
Const CellArea As String = "B5:D10"
Dim BlankCell As Range
If WorksheetFunction.CountBlank(Range(CellArea)) > 0 Then
Set BlankCell = Range(CellArea).SpecialCells(xlCellTypeBlanks)
MsgBox BlankCell.Address(0, 0) & "セルが未入力です。", vbCritical
Worksheets("data").Select
End If
End Sub
0362デフォルトの名無しさん
2016/01/04(月) 17:48:54.42ID:bUPZv6XS早速に教えていただきありがとう御座います
空白セルも表示されて判りやすいです。感謝m(_ _)m
0363デフォルトの名無しさん
2016/01/09(土) 05:16:51.46ID:qH2Ukpbo0364デフォルトの名無しさん
2016/01/09(土) 06:29:45.09ID:sD5C6F8wでコピーする範囲を特定したらお好きな場所にコピーするんだよ
それだけだよ
0365デフォルトの名無しさん
2016/01/09(土) 09:54:10.70ID:eE0tOkYTすっげーテキトーで投げやりな回答
0366デフォルトの名無しさん
2016/01/09(土) 10:27:15.00ID:3oYUMHkHコピーってクリップボードにコピーしたいの?
何をコピーしたいの?値?
0367デフォルトの名無しさん
2016/01/09(土) 13:29:45.71ID:HKBkINcaoffice2013のエクセルを使用しています。
異なるブックのセルに対してハイパーリンクを埋め込みたいと思っているのですがうまくいかず困ってしまっております
ヒントになりそうなことを教えていただけたらいいなと思っております。
作業しているブック.xls と 写真撮影.xlsxがあり
作業しているブックの中に書かれたVBAで写真撮影.xlsxにハイパーリンクを張りたいと思っています
touroku_num = "100234321"
Workbooks("写真撮影.xlsx").Worksheets("Sheet1").Cells(1, 7) = touroku_num
では問題なく値を異なるブックのセルに転記することができました
Workbooks("写真撮影.xlsx").Worksheets("Sheet1").Hyperlinks.Add Anchor:=Workbooks("写真撮影.xlsx").Worksheets("Sheet1").Cells(1,7), Address:="http://www.google.co.jp", TextToDisplay:=touroku_num
でハイパーリンクの設定ができると思ったのですが
実行エラー1004:アプリケーション定義またはオブジェクト定義のエラーですと表示されてしまします
異なるブックのセルに対してハイパーリンクを埋め込む書き方を教えていただけないでしょうか?
よろしくお願いいたします
0368デフォルトの名無しさん
2016/01/09(土) 15:24:20.55ID:FJlRsUE7俺も Excel2013 だけど エラーにならず 動くな
エラーの場所 他の場所じゃないの? それか質問の為に>>367のコード書き換えた?
0369デフォルトの名無しさん
2016/01/09(土) 16:34:08.03ID:cTuaLdfsその2つのブックをどこかにアップしてみて
コード見てあげるから
0370デフォルトの名無しさん
2016/01/09(土) 16:48:11.41ID:HKBkINca申し訳ありません、、、
写真撮影.xlsxが共有モードになっていたためハイパーリンクが晴れないようでした
=HYPERLINK("","")で対処してみようとおもいます
0371デフォルトの名無しさん
2016/01/16(土) 09:43:18.80ID:9UHyvoL/エクセル内部に
microsoft webbrowserを配置し、
@web検索や検索結果の表示自動化
A画像ファイルをD&Dで素早く取り込む
用途で使用したいと思っています。
職場での作業改善で作りたいと思っているのですが
最近IEは最新版しかセキュリティー対策しないとニュースで見ました。
ウェブ検索はwebbrowserも同様で使わない方が良いのでしょうか?
エクセル内部にD&Dで画像を入れる事ができるフォームは他にないでしょうか?
宜しくお願いします。
0372デフォルトの名無しさん
2016/01/16(土) 11:04:52.52ID:LOKjQJ+LExcel2002もXPも使わないほうがいい
0373デフォルトの名無しさん
2016/01/16(土) 13:52:15.21ID:9UHyvoL/レスありがとうございます。
職場のXPは外部からの不審な接続を遮断する装置?や
ログを監視している人がいるので
これらは新しい物にして貰えないです。
すみません、アドバイスありがとうございます。
0374デフォルトの名無しさん
2016/01/16(土) 15:22:34.77ID:x5xZZ1m2監視するのはいいけど、サポート切れ製品を外部接続環境での使用を認めている時点で、ザルセキュリティ企業確定だけど。
作業改善とやらを行う前にやるべきことがあると思うよ。
そもそも、検索で拾ってきた画像をエクセルに貼り付けて、何に使うんだ?
社内だけでの利用であっても、著作権者が商用利用可としているもの以外は、違法だぞ。
0375デフォルトの名無しさん
2016/01/16(土) 16:05:31.27ID:LOKjQJ+Lそこの職場がそれでいいって言ってるなら、
ここでセキュリティについて聞いてもなんの意味もないよね?
周りにだけは迷惑かけないように、会社のルールに則ってご自由になさってください
0376デフォルトの名無しさん
2016/01/18(月) 10:44:44.35ID:i4s8voPUセキュリティを気にしているのなら、既に無法地帯だから気にする必要ないよ
0377デフォルトの名無しさん
2016/01/18(月) 17:35:39.61ID:Snzsj2Zm0378デフォルトの名無しさん
2016/01/18(月) 17:39:59.80ID:FdwQhZix詳しいんですね
0379デフォルトの名無しさん
2016/01/18(月) 17:55:17.30ID:M94/HkrH…といいたいところだが普通に検索して自由に接続できるのかしら
0380デフォルトの名無しさん
2016/01/18(月) 21:00:55.45ID:S6LQNh+S0381デフォルトの名無しさん
2016/01/18(月) 21:03:18.71ID:S6LQNh+Sていうか4.1ってあったっけ。
0382デフォルトの名無しさん
2016/01/18(月) 21:39:17.70ID:E8u5NtKZ当然知っていると思うけど、埋め込み版は別料金でサポート可だから。
0383デフォルトの名無しさん
2016/01/18(月) 21:54:58.81ID:OjosQr+80384デフォルトの名無しさん
2016/01/31(日) 01:04:44.97ID:0EFpaxr40385デフォルトの名無しさん
2016/01/31(日) 01:18:24.70ID:0EFpaxr40386デフォルトの名無しさん
2016/01/31(日) 01:28:48.16ID:waIKWgfVそれともワークシートに関数式を入れる時のはなしか
0387デフォルトの名無しさん
2016/01/31(日) 01:42:01.92ID:0EFpaxr4行 = 行 + 1
>>386
もちろVBAの話でございます。
0388デフォルトの名無しさん
2016/01/31(日) 10:52:31.29ID:XdM4wcMksendkeys
0389デフォルトの名無しさん
2016/01/31(日) 12:36:14.27ID:oGNCocg80390デフォルトの名無しさん
2016/01/31(日) 13:36:49.88ID:gYgCgtHy全角? 全角の=なんて、Wordでしか使いみち無いんじゃねーの?
ファンクションに割り当てるとか、キー配列変更アプリとか手立てはごまんとあるし
VBAで割り振っても行けるだろうけど、ローカライズはローカライズに過ぎなくて
ヨソで戸惑うことになるぐらいなら、物理的に用意しとくほうがマシだと思う
0391デフォルトの名無しさん
2016/01/31(日) 13:37:03.30ID:fJmO8CE10392デフォルトの名無しさん
2016/01/31(日) 17:21:20.64ID:u2Y3oBPR「=キー」を「一発」で「入力」って言ってるんだが
どうなってて何がしたいのか俺には意味がわからんな
0393デフォルトの名無しさん
2016/01/31(日) 21:51:55.48ID:Ta8sObxJ0394デフォルトの名無しさん
2016/02/01(月) 00:11:45.34ID:OtGEIpWo古典的な方法やな
0395デフォルトの名無しさん
2016/02/01(月) 00:25:34.67ID:SvGDW8bi要するにShiftを押すのが面倒
0396デフォルトの名無しさん
2016/02/01(月) 00:26:27.15ID:SvGDW8bi俺の知ってるテンキーには=が付いてなかった
0397デフォルトの名無しさん
2016/02/01(月) 00:37:29.76ID:NSgxTlaf0398デフォルトの名無しさん
2016/02/01(月) 00:57:30.69ID:OtGEIpWoキーボードマクロ
http://www.vector.co.jp/magazine/softnews/121113/images/n12111311b.gif
こういうので一発でできるんじゃないの 試してないけど
0399デフォルトの名無しさん
2016/02/02(火) 10:32:53.40ID:OPpL3JBWエクセルデータから一行ずつhtmlファイルを作成するということをしたいです。
minitemplatorを使っています。
試しに3行でつくってみるとファイル名は変わるのですが、
set変数の箇所が一行目のままかわりません。
↓こんなVBAにしてあります
Private Const START_CELL = "T3"
Public Sub PushButton()
'
Dim Cell As Range
Dim Temp As MiniTemplator
Set Temp = New MiniTemplator
Temp.ReadTemplateFromFile ThisWorkbook.Path & "\h00_0.html"
Set Cell = Range(START_CELL)
Do While Cell.Row <= ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
Temp.SetVariable "TITLE", Cell.Offset(0, 1).Value
Temp.SetVariable "CHAPTER", Cell.Offset(0, 2).Value
Temp.SetVariable "PREVCHAPTER", Cell.Offset(0, 3).Value
Temp.SetVariable "PREVPAGE", Cell.Offset(0, 4).Value
Temp.SetVariable "INDEX", Cell.Offset(0, 5).Value
Temp.SetVariable "NEXTPAGE", Cell.Offset(0, 6).Value
Temp.SetVariable "NEXTCHAPTER", Cell.Offset(0, 7).Value
Temp.AddBlock "htmls"
Temp.GenerateOutputToFile ThisWorkbook.Path & "\" & Cell & ".html"
Set Cell = Cell.Offset(1, 0)
Loop
End Sub
loopじゃなくてcntを足しながらじゃないとcellが移動しないのでしょうか?
0400デフォルトの名無しさん
2016/02/02(火) 11:06:39.36ID:IlCfFCb1Temp.GenerateOutputToFile ThisWorkbook.Path & "\" & Cell.Row & ".html"
0401デフォルトの名無しさん
2016/02/02(火) 11:06:55.94ID:dkxIxmVGでファイル名が変わっているなら、Cellは移動してるでしょ
0402デフォルトの名無しさん
2016/02/02(火) 11:54:05.94ID:jGhzxxHjありがとう、cellは移動してるんだろうなあ。
エクセルのほうが確認してもデータはちゃんとそれぞれ違うものが入っている。
minitemplatorのほうで
temp.SetVariableのコマンドが新しいセルを代入していないのかな?どないしよw
素人がVBAでhtml一括出力なんて難しいのかな?くそう
手打ち変換で400ファイルはいやだ、変更できないしなあ
0403デフォルトの名無しさん
2016/02/02(火) 12:00:40.43ID:jGhzxxHjfor i=1 to 3 で setvariable Cell.offset(i-1 , 1)〜 Next i
でやっても次の行の値は入ってませんでした。
Cell.Row でやったらシート全体の400行分を出力されたw
0404デフォルトの名無しさん
2016/02/02(火) 13:09:44.34ID:IlCfFCb1せいかい
Do While Cell.Row <= ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
Temp.ReadTemplateFromFile ThisWorkbook.Path & "\h00_0.html"
まちがい
Temp.ReadTemplateFromFile ThisWorkbook.Path & "\h00_0.html"
Do While Cell.Row <= ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
0405デフォルトの名無しさん
2016/02/02(火) 14:52:30.00ID:+59vq7Tgふぁああああなたが神か。
何年やってたらそんな間違いが正解がわかるのか!
ありがとう。心の底からありがとう
tempReadはloopのなかなのかあ、、なるほどねぇえええありがとう1
0406デフォルトの名無しさん
2016/02/02(火) 14:58:27.58ID:ml14fhOBセルは移動してるから、minitemplatorとやらの問題
ちょっとしらべてみたけど
ループの頭にResetData 入れれば良いんじゃないか
>This method can be used to produce another HTML page with the same template.
って書いてあるぞ
ちゃんとドキュメント読め
0407デフォルトの名無しさん
2016/02/02(火) 15:12:46.05ID:IlCfFCb1だから一度使ってしまうとタグが消えて書き替える場所がわからなくなってしまう
テンプレートファイルが見つからない時はちゃんとエラーメッセージを出すのに、
タグが見つからない場合はスルーするんだな
ここでエラーを出す仕様だったら2回目で置換に失敗するからすぐに解決できただろうに
なんか不親切というか出来の悪いライブラリだな
タグの入力ミスがあっても気付かないじゃないか
0408デフォルトの名無しさん
2016/02/02(火) 19:34:19.67ID:WkrnCzmR当たり前でしょ
ある項目の表示をやめるときにテンプレートとソースの両方の変更が必要になるライブラリなんて使いたくないわ
0409デフォルトの名無しさん
2016/02/02(火) 20:27:42.19ID:IlCfFCb1これって単純に文字列の置換をワンタッチでやってくれるだけだよ?
項目とかそういう単位とは無関係
0410デフォルトの名無しさん
2016/02/02(火) 21:12:08.01ID:ebu6ZgQL> 項目とかそういう単位とは無関係
minitemplator はよく知らんが、例えば
> Temp.SetVariable "CHAPTER", Cell.Offset(0, 2).Value
で置き換える部分のこと言ってるってわからんか?
0411デフォルトの名無しさん
2016/02/02(火) 23:11:50.38ID:IlCfFCb1話にならん
minitemplatorのドキュメントをちゃんと読んで機能を把握してからレスしてくれ
こっちは、「ある項目の表示をやめる」にはテンプレートとソースの両方を変更しなきゃならんという
タコ仕様だから文句言ってんのに
0412デフォルトの名無しさん
2016/02/03(水) 04:09:39.88ID:xm/Odt/1テンプレートだけ直せば良いような気がするんだが
それが美しいか、エラー出すのが美しいのかは美学の問題だから知らんが
0413デフォルトの名無しさん
2016/02/03(水) 08:30:17.06ID:ycDP2Q2/> タグが見つからなかったらスルーするだけなら
と言う仕様は
> テンプレートだけ直せば良いような気がするんだが
のためにやってる
他のテンプレートエンジンもたいていそう言う仕様
ID:IlCfFCb1 は何か勘違いしてるか、引っ込みがつかなくなってる模様
0414デフォルトの名無しさん
2016/02/04(木) 13:00:05.72ID:AIFo7uDSご教示お願いいたします。
sheet1(以下のマクロでは
0415デフォルトの名無しさん
2016/02/04(木) 13:17:26.70ID:hf8MWHqGいいんだよ
0416デフォルトの名無しさん
2016/02/04(木) 14:47:38.48ID:AIFo7uDSご教示お願いいたします。
sheet1(以下のマクロでは"sum")のあるセルを更新した際に、
マクロが起動するようにしたいのですが上手くいきません。
よろしくお願いいたします。
マクロそのものは動作確認済みです。
sheet("x")はsheet2のことです。
Private Sub Worksheet_Change(ByVal Target As Range)
' If (Target.Row = 2) And (Target.Column >= 3 And _
' Target.Column <= 5) Then
If Intersect(Target, Range("B3:B5")) Is Nothing Then
Exit Sub
Else
Dim x As Long, y As Long, i As Variant
Sheets("x").Select
x = Range("D2").Value
Cells(x, 2).Select
Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(5, 22)).Copy
Sheets("sum").Select
Range("B8").Select
ActiveSheet.Paste
End If
End Sub
0417デフォルトの名無しさん
2016/02/04(木) 15:46:32.36ID:VvZVruxGApplication.EnableEvents = False
0418デフォルトの名無しさん
2016/02/04(木) 16:30:22.51ID:35TD0RG8イベント操作はok
copyの元と先はどうでせう?
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range(Cells(3, 2), Cells(5, 2))) Is Nothing Then
Exit Sub
Else
x = Cells(2, 4)
Worksheets("x").Range(Cells(x, 3), Cells(x + 5, 24)).Copy Worksheets("sum").Cells(8, 2)
End If
End Sub
0419デフォルトの名無しさん
2016/02/04(木) 16:36:47.91ID:35TD0RG80420デフォルトの名無しさん
2016/02/04(木) 16:52:02.75ID:AIFo7uDSご教示ありがとうございます。
先ほどのマクロで間違いがありました。
条件の部分が先ほどの条件ではなく、下記になります。
If (Target.Row = 4) And (Target.Column = 3) Then..
Application.EnableEvents = False
行いましたが、変更しませんでした。
0421デフォルトの名無しさん
2016/02/04(木) 16:53:28.63ID:AIFo7uDSご教示ありがとうございます。
copy元は問題ありません。
下記のマクロのDimからActiveSheet.Pasteまでは、標準モジュールで実行すると
シートXには反映されます。
ただ、セルの値を変えて標準モジュールの実行という2stepの2step目を省略したい
のですがうまくいきません。
Private Sub Worksheet_Change(ByVal Target As Range)
' Application.EnableEvents = False
If (Target.Row = 4) And (Target.Column = 3) Then
Dim x As Long
' Sheets("X").Select
' x = Range("D2").Value
' Cells(x, 2).Select
' Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(5, 22)).Copy
' Sheets("sum").Select
' Range("B8").Select
' ActiveSheet.Paste
Worksheets("X").x = Cells(2, 4)
Worksheets("X").Range(Cells(x, 3), Cells(x + 5, 24)).Copy Worksheets("sum").Cells(8, 2)
End If
End Sub
0422デフォルトの名無しさん
2016/02/04(木) 16:57:03.95ID:35TD0RG8↑はdoubleclickなどのイベント操作で、おいらもやってみたが素通りする
0423デフォルトの名無しさん
2016/02/04(木) 17:38:37.00ID:AIFo7uDS返信ありがとうございます。
条件のところは以下のように変更しました。
If Intersect(Target, Range("D3")) Is Nothing Then
Exit Sub
Else
しかし、うまくいきません。
コピー元はwebクリエを利用してますが、更新は行っていないため
ただのデータシートだと考えています。
0424デフォルトの名無しさん
2016/02/04(木) 18:47:44.82ID:PFzCzh/c> If Intersect(Target, Range("D3")) Is Nothing Then
ここにブレークポイントかけて、Target.Adaress の値見てみなよ
0425デフォルトの名無しさん
2016/02/11(木) 16:37:42.26ID:42PuBDmOスペースキーを押した時に"space"と表示したいのですが、すぐ消えてしまいます。
Public Declare Function GetAsyncKeyState Lib "User32.dll" (ByVal vKey As Long) As Long
Sub get_key()
Do
If GetAsyncKeyState(32) <> 0 Then '32=20h(space)
MsgBox "space"
Else
MsgBox "not_space"
End If
Application.Wait [Now() + "0:00:02"]
Loop
End Sub
よろしくご教授願います。
0426デフォルトの名無しさん
2016/02/11(木) 17:08:14.33ID:vxbPXQEr0427デフォルトの名無しさん
2016/02/11(木) 17:43:02.01ID:VlMP9H51で、質問は?
0428デフォルトの名無しさん
2016/02/11(木) 18:17:27.97ID:42PuBDmOspaceと表示した時のmsgboxがアテンションするまで待機するにはどうしたら?
0429デフォルトの名無しさん
2016/02/11(木) 18:41:38.00ID:MrYtynOPドアから出られなくなって
どうやったらでれるのって聞いてるみたいな
0430デフォルトの名無しさん
2016/02/11(木) 19:20:25.95ID:vxbPXQErVBで[これ]が出てくるとなんだか警戒してしまうよ
0431デフォルトの名無しさん
2016/02/11(木) 19:33:11.95ID:42PuBDmO型が違うから"["と"]"で括りました。
(+ 秒以下も指定できる、ということで)
0432デフォルトの名無しさん
2016/02/13(土) 17:26:11.98ID:D9w2zaJd横移動
0433デフォルトの名無しさん
2016/02/14(日) 17:30:57.28ID:W3kUmQbmそのファイルを各PCで開き、実行中のブックの特定のセル、
たとえばシート1のa1セルを実行中のPCとは別の1台のPCから
一斉に書き換える方法はありますか?!
0434デフォルトの名無しさん
2016/02/14(日) 18:10:30.12ID:76sHC0LF不可能ではないけど、PCのリモート操作までVBAでやるのは流石に無理があるかと
どちらにしてもあなたのスキルでは無理なので、不可能だと思っておいて問題ないと思います
0435デフォルトの名無しさん
2016/02/14(日) 18:53:22.85ID:33hAgmw5全セル標準値に戻してそろえるにはどうすればいいのでしょうか?
0436デフォルトの名無しさん
2016/02/14(日) 19:13:37.67ID:MGHNtECJCells.ColumnWidth = ActiveSheet.StandardWidth
0437デフォルトの名無しさん
2016/02/14(日) 19:23:47.28ID:0n9Q+x/K'標準値セット例
セル高 = 18.75: セル巾 = 8.38
Cells.RowHeight = セル高
Cells.ColumnWidth = セル巾
で、いいんじゃないかな?
0438デフォルトの名無しさん
2016/02/14(日) 19:29:20.10ID:9DC2KLdYクラウド使えばいいんじゃね?
0439デフォルトの名無しさん
2016/02/14(日) 19:48:40.04ID:Bsnhcx6pそもそも複製した時点で、別のPCのファイルだから
特定の環境下でのやりようはあるけど
別のPCのファイルを勝手に書き換えるとか
別のPCで動いてるアプリケーションを勝手に調べて操作するとか
ウィルス作れっていってるようなもんだぞ
PCごとに独自の値入れたいなら、そのエクセル表開いたときに、自分で値をセットさせろよ
0441デフォルトの名無しさん
2016/02/14(日) 20:31:52.43ID:JWs7OI3x>>439
悪く言えばデータ改ざん
よく言えば高速データ修正、もしくはリアルタイムデーター反映。
0442デフォルトの名無しさん
2016/02/14(日) 21:24:40.80ID:LvmVag53ない
0443デフォルトの名無しさん
2016/02/14(日) 21:49:07.58ID:fWfpYw+MGoogle Spreadsheeetつかいましゅおう
0444デフォルトの名無しさん
2016/02/19(金) 08:12:35.53ID:997QLUzgですが
入力データを配列化して
出力する場合
出力内容も配列化するのは良いのですが
出力データが入力データの行数分あり、列は10列有ります
その場合配列は
ReDim Preserve 出力(1 to 10, 1 to 出力行数)
とループさせるため
行と列が逆になります
また出力シートは結合&結合と殆ど結合部が多いためこの場合の処理はどのようにすればよいですか?
0445デフォルトの名無しさん
2016/02/19(金) 14:52:06.71ID:u5XrM1VP行と列を入れ換えるのはTRANSPOSE関数
結合セルはどうにもならんから使うな
0446デフォルトの名無しさん
2016/02/21(日) 19:55:24.57ID:aS5vlmAR細かいコードの設定で苦戦してなかなか完成しないVBAコードは一体いつ頃完成しますか?
0447デフォルトの名無しさん
2016/02/21(日) 21:10:34.54ID:/SUbbn4D0448デフォルトの名無しさん
2016/02/21(日) 21:47:53.40ID:glOWtbGl0449デフォルトの名無しさん
2016/02/21(日) 22:45:20.60ID:ecxoMOz6まだですよ。
0450デフォルトの名無しさん
2016/02/21(日) 23:10:47.34ID:ecxoMOz6処理するデーターサイズがギガバイトを超えさらに処理の限界まで増え続けている。
すっかりVBAの世界に取り込まれてしまったのである。
0451デフォルトの名無しさん
2016/02/21(日) 23:22:07.76ID:1BlEdgfrブラウザのデータも操りたくなってきたけど。
0452デフォルトの名無しさん
2016/02/21(日) 23:43:02.05ID:Hs+uz8xq0453デフォルトの名無しさん
2016/02/22(月) 03:54:39.16ID:5+K0WvWu0454デフォルトの名無しさん
2016/02/22(月) 05:11:37.73ID:PrDTx2rKおやすみ
0455デフォルトの名無しさん
2016/02/22(月) 07:08:32.06ID:m/JWK4nb0456デフォルトの名無しさん
2016/03/04(金) 19:36:43.34ID:LfEXNJh+0457デフォルトの名無しさん
2016/03/04(金) 19:44:20.88ID:GmTfhVncOneNoteのこと?
0458デフォルトの名無しさん
2016/03/05(土) 15:01:46.19ID:JVq4KSH+お前にとってクラウドってonenoteしか思いつかないのか?アホぅが
0459デフォルトの名無しさん
2016/03/05(土) 17:39:47.21ID:yKlKIkiJわからないなら無理してレスしなくていいからね
わかるなら質問者にレス返してあげてね
0460デフォルトの名無しさん
2016/03/05(土) 18:15:33.70ID:IIo9vGFa無知な私に正確なクラウドの定義を教えてください。
0461デフォルトの名無しさん
2016/03/05(土) 18:58:24.25ID:NhCRzDCmクラウドを使ったどんな作業をVBAで行いたいんだろう?
0462デフォルトの名無しさん
2016/03/05(土) 21:11:02.82ID:y1xlLTCT0463デフォルトの名無しさん
2016/03/05(土) 22:57:32.61ID:CiLsOCtkあんた、天地を喰らう (本宮ひろ志)と言いたいだけだろw
0464デフォルトの名無しさん
2016/03/06(日) 07:20:33.15ID:3Tl22F55コードの構築スピードを高速化するにはどうすればいいのでしょうか?
0465デフォルトの名無しさん
2016/03/06(日) 08:31:40.58ID:0HowaBESあなたにとってのマスターの定義を教えて
0466デフォルトの名無しさん
2016/03/06(日) 08:33:19.00ID:CI3ynwI1Cloud→雲を意味し、インターネットを介して不特定多数の人間と情報を共有する事。つまりインターネット。
Crowd→群衆を意味し、インターネットを介して不特定多数の人間と成果を共有する事。つまりインターネット。
>>464
まずは論理演算回路について学びましょう。
0467デフォルトの名無しさん
2016/03/06(日) 09:06:09.93ID:fNb9c7ql馬鹿は口を閉じてろwww
ここはお前のようなサンデープログラマが来ていい場所じゃねけんだよwww失せろクソニート
0468デフォルトの名無しさん
2016/03/06(日) 09:10:18.94ID:fNb9c7qlクラウドの定義www
あのさぁ、さも世間で使われてる言葉だからといって、クラウドっていう定義があるなんて主張するヴァカな若造がいるが、
結局のところASPでしかないよwwこの業界お得意のペンキ塗り変えだから。過去に同じことやってしくじったものを、こうして時代が進んでから名前だけ変えて出てきただけ。
なので
>>466の説明はふざけてるようで実に正しい。
0469デフォルトの名無しさん
2016/03/06(日) 12:17:52.65ID:ZYabfviOじゃあ、onenoteもクラウドで全然問題ないじゃん。
0470デフォルトの名無しさん
2016/03/06(日) 13:55:10.16ID:M6TE/8/xコードを素早く構築するには、検索のスキルを上げてコピペの練習をする
まずは Ctrl+C Ctrl+V の素振りを1000回ずつ
0471デフォルトの名無しさん
2016/03/06(日) 14:52:21.79ID:/SNQZrkHCtrl+Aも必要だな。
あとは必要なコードを素早く選択するマウススキル。
0472デフォルトの名無しさん
2016/03/07(月) 03:40:36.66ID:I68FUxlo0473デフォルトの名無しさん
2016/03/07(月) 08:04:45.07ID:kMlZQkyOifとかforとかでしょ?
なんとかブラインドタッチできるよ
0474デフォルトの名無しさん
2016/03/08(火) 22:20:39.87ID:xVS4dlwXWindowsタブレットで歩きながらVBAを書く人も居るのですか?
0475デフォルトの名無しさん
2016/03/08(火) 22:27:29.05ID:xVS4dlwX入れ子スパゲッティーのコードを少しでも早く完成させようと挑戦してみたけどで者の中では無理だったw
0476デフォルトの名無しさん
2016/03/08(火) 22:28:02.34ID:xVS4dlwXで者>電車・・
0477デフォルトの名無しさん
2016/03/09(水) 00:20:03.72ID:hv5xxYdT歩きスマホするやつって馬鹿なんだろうなぁ、としか思わない
0478デフォルトの名無しさん
2016/03/09(水) 01:41:02.11ID:ISN2ur/+Officeはあんまメモリも食わないのだ
一応タブも持ち歩いてるけど入力はこいつかなわない
0479デフォルトの名無しさん
2016/03/09(水) 02:19:45.35ID:SvmwH2ly例えばa,c,eを選択したとして、それらをa'c'e'へ編集する(編集内容はa〜eそれぞれ違う)
そして編集したa'c'e'の内容を全部一纏めにした新規Book.xlsxを作成し、適切なフォルダへ保存
この場合に「a,b,c,d,eのファイルを任意で選択」を一括でやる方法を探すも見つからないです。
1番近いものとしてはフォームになるんですかね?
ただ、フォームってセルは取得できるけど、ファイルを取得出来ないという認識です(調べ方が足りなかったらすいません)
フォームのようにわかりやすいビジュアルで、ファイルを各々自由に選択できて、それを既に作成済みのa〜eそれぞれ用の編集をするマクロを適用させて...
みたいなことを考えているんですがそれは実現可能なんでしょうか?
可能なのであればヒントを教えて下さい。
正直今日4時間程ずっっとこの事を調べているのですが、全く求めている情報に出会わず結構キツいです。
VBA素人の分かりづらい文章で申し訳ありませんが、よろしくお願い致します。
0480デフォルトの名無しさん
2016/03/09(水) 02:45:13.72ID:IJoNdRop>FindFileメソッドで表示されるダイアログボックスでは、標準で複数のファイルを選択できます。
基本的に手動で出来ることはVBAで再現可能
0481デフォルトの名無しさん
2016/03/09(水) 03:30:31.57ID:WoEFK+d70482デフォルトの名無しさん
2016/03/09(水) 03:33:45.90ID:e2Rh/cBQ一括で選択ってのが何をどうしたいのかわからん
編集ってのも何をどうしたいのかわからん
ヒントって言っても、どこまで出来て、何ができないんだ
GUIの話で、そのa-eまでのファイルが固定なら
まあ俺ならa-eまでチェックボックス並べるか、複数選択可能にしたリストボックス使うかだな
フォーム使っても良いし、シートに直接でもまあ良いけど
0483デフォルトの名無しさん
2016/03/09(水) 07:07:31.73ID:YFJZTM+Aクラウドにコードを保存しとくとマイクロソフトに盗まれるの?
0484デフォルトの名無しさん
2016/03/09(水) 08:12:43.22ID:mKSHkmJsVBAより日本語の勉強を先にしたほうがいいかと…
まったく意味がわからない
0485デフォルトの名無しさん
2016/03/09(水) 08:43:12.15ID:Wz7Xg53lシートをブックにまとめたいんやと思う
0486デフォルトの名無しさん
2016/03/09(水) 08:43:47.23ID:402B4R35盗む価値があるようなコードを書くやつはハナから無料のクラウドなんか利用しないってMSも知ってる
0487デフォルトの名無しさん
2016/03/09(水) 12:24:56.91ID:vZPnGsh0すいません、色々と詰め込み過ぎて訳わからん説明になってますよね。
私が聞きたいのは「ファイルの選択方法」の内容で、
>>480様が言うようなGetOpenの方法ではなく、入力フォームのような物(GUI)で使用者にファイルを選択させる方法が無いかどうかを聞きたかったのです。。。
各ファイル種別ごとの編集マクロはなんとか作成済みなのですが、今の状態だとa〜eまでファイルを編集したい時に、マクロ起動ボタンを選択するファイルの数だけ押しその都度マクロが動いているのですがそれをなんとか1ボタンクリックに纏められないかなぁと。
ちゃんと説明出来ないので、◎◎って言う機能を使うとうまく行くんじゃないか?とヒントを頂ければ自分でググって行ける所まで行くつもりですが、今回は何を調べて良いのかが分からなくて手詰まりとなっています。
〉〉a〜eのファイルについて
・ファイル形式は全て.xlsb
・不定期で第三者により更新され、ファイル名が20160301_a.xlsb→20160309_a.xlsbと日付部分が変更される(中身も変わりますがその辺はマクロ作成済みです)
またクソ長文になりましたが、回答になっていれば幸いです
0488デフォルトの名無しさん
2016/03/09(水) 12:38:01.11ID:mKSHkmJs第三者に説明するのが下手すぎる
だから検索キーワードも適切じゃないから、やりたいことがヒットしないんだと
0489デフォルトの名無しさん
2016/03/09(水) 14:39:51.50ID:cAaPuGj+ごめん、まだわからん
>>482 が書いている方法(チェックボックス or リストボックス)でファイル選択して
選択されたファイルの個別VBAを順次実行するVBAを「実行」ボタンか何かに割り当てる、
じゃだめなの?
0490デフォルトの名無しさん
2016/03/09(水) 14:52:53.10ID:uBQgd+CUフォームを立ち上げたらaからeまでの
値を任意選択ができるようにして実行ボタン押させる
実行ボタンにプロシージャを割り当てて
そこで選択肢に応じて開くファイル、実行するマクロを決める処理をかけばいいやん。
0491デフォルトの名無しさん
2016/03/09(水) 15:10:13.47ID:7xGDnHuU複数の選択されたBookに組んであるマクロを動かすフォームが作りたいってだけじゃないのか
0492デフォルトの名無しさん
2016/03/09(水) 16:34:28.81ID:e2Rh/cBQチェックボックス とか リストボックス 複数選択 とかでどうだって言ってんだが
チェックボックスとかリストボックスとかがどういう物かわからんのか?
まあそれでもググればだいたいわかりそうだが
他人の話をちゃんと聞かない人なのか
0493デフォルトの名無しさん
2016/03/09(水) 20:28:21.36ID:fhz9XN7USub test()
c = test1
If Not IsEmpty(c) Then
For Each x In c
Debug.Print x
Next
End If
End Sub
Function test1()
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show Then test1 = test2(.SelectedItems(1))
End With
End Function
Function test2(x)
Dim c As New Collection
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.folderexists(x) Then
For Each x In fso.getfolder(x).Files
c.Add x
Next
End If
If c.Count Then
ReDim t(1 To c.Count)
For i = 1 To c.Count
t(i) = c(i)
Next
End If
test2 = t
End Function
0494デフォルトの名無しさん
2016/03/09(水) 21:02:11.93ID:qng6hFpE0495デフォルトの名無しさん
2016/03/09(水) 21:06:27.41ID:fhz9XN7UFunction test1()
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = True
If .Show Then
ReDim c(1 To .SelectedItems.Count)
For i = 1 To .SelectedItems.Count
c(i) = .SelectedItems(i)
Next
End If
End With
test1 = c
End Function
これで良かったわとちょっと後悔。
0496デフォルトの名無しさん
2016/03/09(水) 23:02:30.94ID:aaVDZq0Jリアルでも誰かと専門的な話をする時は図を描く用のノートが手放せないダメな奴です。
見た感じ>>495さんの言っている事が、私が言いたい事と概ね同じです。
(コードの内容はまだ理解できていませんが)
>>492
わかりづらくて申し訳ありません。
■一括で選択ってのが何をどうしたいのかわからん
>>487の内容になりますが
>>480様が言うようなGetOpenの方法ではなく、入力フォームのような物(GUI)で使用者にファイルを選択させる方法が無いかどうかを聞きたかったのです。。。
■GUIの話で、そのa-eまでのファイルが固定なら
まあ俺ならa-eまでチェックボックス並べるか、複数選択可能にしたリストボックス使うかだな
フォーム使っても良いし、シートに直接でもまあ良いけど
>>487での内容になりますが
〉〉a〜eのファイルについて
・ファイル形式は全て.xlsb
・不定期で第三者により更新され、ファイル名が20160301_a.xlsb→20160309_a.xlsbと日付部分が変更される(中身も変わりますがその辺はマクロ作成済みです)
↑a-eまでのファイルが固定ではなく、ファイル名に変更のかかるものだと言いたくてこういう書き方をしました
というか私がこの板で質問するレベルに到底達していないということも良くわかりました。
まだフォームの作成自体よく分かってなくて四苦八苦している状態ですので、
マクロ作成は一旦止めて、そもそもであるフォームの勉強をやってある程度の知識を付けてから
また出直してきます。
皆様のお時間を割いてしまい大変申し訳ありませんでした。
0497デフォルトの名無しさん
2016/03/09(水) 23:16:42.62ID:fhz9XN7U相手の時間を割く事は出来ないから「お時間を割かせてしまい」だけど、これはちょっとおかしい。
今回の流れの場合は、
解決したなら「お手間を取らせてしまい大変申し訳ございません」
解決していないなら「ご尽力いただきありがとうございます」
辺りが適切かな。
煽りじゃなく、本当に日本語の勉強すると色々と良くなると思うよ。
あとはPREP法やSDS法を覚えてみると質問の整理に役立つんじゃないかな。
0498デフォルトの名無しさん
2016/03/09(水) 23:57:04.42ID:e2Rh/cBQまあ答える方も別に強制されてるわけではなく趣味で答えてるだけだから
スレの趣旨にそう内容なら気にする事はないんじゃね
0499デフォルトの名無しさん
2016/03/10(木) 00:04:03.03ID:oSAQRbc8普段敬語を全く使わないので変な日本語になっていると思われますので、その辺も含めて、ちゃんとした敬語で意思疎通できるように日本語を勉強します。
マジで手間取らせてスマンカッタ!
もう少し勉強してからまた質問するからその時はまたよろしくな!
って言ってたつもりでした。
皆さんご親切にありがとうございました。
0500デフォルトの名無しさん
2016/03/10(木) 00:09:13.88ID:g9IYMMnQうーん、、専門的な話でもなく、VBAのスキルや知識の話でもなく、それ以前の話をしてるんだけどなあ
要件が全くわからない
0501デフォルトの名無しさん
2016/03/10(木) 00:16:56.97ID:n+nn3+Tv>>495で良いなら、>>480で話が出てるが>>487で否定してるのはなんだったんだと
0502デフォルトの名無しさん
2016/03/10(木) 00:26:55.07ID:b4xwXnri1、シート上のボタンを押すとフォームを起動する
2、フォーム上の実行ボタンを押す
とリストボックスで選んだファイル名のファイルをopenする
とか
0503デフォルトの名無しさん
2016/03/10(木) 01:02:21.84ID:uekE/fXp0504デフォルトの名無しさん
2016/03/10(木) 01:52:05.62ID:n+nn3+Tvググればいくらでも解説でてくると思うんだが、なぜここで聞いてるの?
まあVBAに限るなら、論理演算子を使った演算の事だろうな
ImpとかEqvとか使ったことないけどw
ちなみにVBAの変数はNullを取り得るので、油断すると思わぬ結果になる事がある
0505デフォルトの名無しさん
2016/03/10(木) 05:39:29.64ID:uekE/fXpぐぐってウィキペディアを見ましたがちんぷんかんぷんだったのでダメ元でここで聞いてみた次第です。
少しわかったような気になれました。ありがとうございました。
0506デフォルトの名無しさん
2016/03/10(木) 06:18:03.43ID:6K4R3xGyVBAは独自仕様すぎるのと掘り下げた情報が手に入り難いから益々混乱するよ
Cとかやった後VBAで同じことやろうとしてあれ?って絶対なるから
0507デフォルトの名無しさん
2016/03/10(木) 06:25:42.65ID:YNiJ5d84クラスがしんどい。
0508デフォルトの名無しさん
2016/03/10(木) 06:36:55.93ID:YDCDLTcE「Cなんてやる必要あるの?」なんて言ってJSやらPHPやらから始めちゃうヤツが問題で、
普段は低レベルな問題に触れないし考えもしないから、いざという時のアクシデントにめっちゃ弱い。
0509デフォルトの名無しさん
2016/03/10(木) 07:16:55.50ID:oi9Gk0D0> Cとかやった後VBAで同じことやろうとしてあれ?って絶対なるから
ないのは短絡評価位だろ
モダンではないとは思うけど、別に独自と言うほどのものでもない
0510デフォルトの名無しさん
2016/03/10(木) 08:00:38.69ID:qo9r6ONf0511デフォルトの名無しさん
2016/03/10(木) 09:21:37.13ID:9Fgdi1o80512デフォルトの名無しさん
2016/03/10(木) 17:56:01.09ID:n+nn3+TvVBAの独自仕様って何で、cとどう違うか教えてくれ
ショートサーキット見たいな過程の違いとか
ビットシフト見たいな論理演算じゃない奴の話ならいらんぞ
0513デフォルトの名無しさん
2016/03/10(木) 22:07:00.76ID:6K4R3xGyああ俺の言いたいのは論理演算を含むビット演算全般ね
でも論理演算が出てくる場面ってシフトローテートも込みだと思うけど気にならんのかなあ
独自仕様は自分でNull怖い(>>504)とか書いてるじゃん
そういうやつよ
0514デフォルトの名無しさん
2016/03/10(木) 22:25:10.11ID:6K4R3xGyVBAだけやるってほんとやばいんじゃないかこれ
0515デフォルトの名無しさん
2016/03/11(金) 03:12:24.51ID:hoUEJahGビット操作に論理演算を含むのは確かだけど
少なくとも論理演算にシフトやローテートを含むのは話がおかしい
そもそもVBAに論理演算はあってもビットシフトする命令とか無いしな
Nullの話は、2値論理ではなく3値論理だって話で、独自でも何でもないわけだが
まあ、SQL以外で3値論理な言語ってあんまり見ないけど
>>514
VBAしかやらないなら、仕様を正しく理解してさえいれば、その仕様が独自だろうがなんだろうがどうでもいいだろ
VBAでは他の言語での経験から想像した動作しなかったり、VBAの経験が他の言語で通用しないのは困るかもしれんが
0516デフォルトの名無しさん
2016/03/11(金) 06:38:14.90ID:5X9ZM+KD意味わからん
0517デフォルトの名無しさん
2016/03/11(金) 07:48:35.96ID:xzuNkEdQほかにも使える処理系はいくつかあって構造は完全に同じだから、いろいろな型のデータを相互にやりとりできる
0518デフォルトの名無しさん
2016/03/12(土) 02:24:37.78ID:4xL8NTYB今はシフトローテートと言うのか。
俺らの時代はローテートシフトと言ってたな。
あんなキャリーフラグ絡みの命令、
アセンブラにしかないと思ってたが
今調べてみたらC++にもあるんだな。
びっくりしたわ。
0519デフォルトの名無しさん
2016/03/12(土) 03:42:54.08ID:L1DCwZtHキャリーってか、符号ビットの取り扱いとかね
VBAにビットシフトが無いのはつまり
メモリレイアウトを意識しない(させない)言語で考えるような事じゃないって話だろ
Cはアセンブラ替わりに使う想定の言語だからなぁ
C++はCの上位互換目指してるんじゃないの?よくわからんが
0520デフォルトの名無しさん
2016/03/12(土) 10:16:25.43ID:ZuDRYyOfCがOSとその周辺の構築を主眼にしていたのに対してC++はOSが存在することを前提にしているのが違いかな
0521デフォルトの名無しさん
2016/03/12(土) 13:14:04.33ID:2d1xhU2z> 今調べてみたらC++にもあるんだな。
はあ?
キャリーを扱える高級言語って TL/1 しか見たことないが
0522デフォルトの名無しさん
2016/03/12(土) 13:21:18.17ID:4xL8NTYBはぁ?
じゃなくて、ローテートシフトの話。
誰がキャリーフラグ直接扱えると言ったよ。
よく読め。
0523デフォルトの名無しさん
2016/03/12(土) 13:42:30.89ID:2d1xhU2z> あんなキャリーフラグ絡みの命令、
> アセンブラにしかないと思ってたが
> 今調べてみたらC++にもあるんだな。
で、C++ に何があるって?
0524デフォルトの名無しさん
2016/03/12(土) 13:50:16.58ID:4xL8NTYB文盲かw
ローテートシフトって何べん言えば分かるんだ?
ひょっとして日本人じゃないのか?
0525デフォルトの名無しさん
2016/03/12(土) 14:12:27.70ID:2d1xhU2zで、調べたら C++ にあったんだろ? w
それ書いてくれよ
0526デフォルトの名無しさん
2016/03/12(土) 14:30:59.02ID:4xL8NTYBhttps://msdn.microsoft.com/ja-jp/library/a0w705h5(VS.80).aspx
0527デフォルトの名無しさん
2016/03/12(土) 16:24:58.95ID:Xp/JGjcGベンダー固有のライブラリー w
そりゃなんでもありありだわな
0528デフォルトの名無しさん
2016/03/12(土) 17:14:49.50ID:YrRAz0CDまあCだけでもローテートはこんな感じで書けるし
i = (i << 1) | ((i & (1<<31)) != 0); // ROL
i = ((unsigned)i >> 1) | ((i<<31) & (1<<31)); // ROR
0529デフォルトの名無しさん
2016/03/12(土) 17:29:54.28ID:YrRAz0CDi = (i << 1) | (((unsigned)i>>31)&1); // ROL
0530デフォルトの名無しさん
2016/03/12(土) 18:12:02.13ID:2d1xhU2z0531デフォルトの名無しさん
2016/03/12(土) 18:31:38.66ID:YrRAz0CDじゃあついでに上をそのまま使うんじゃあんまりだしマクロで隠蔽して
おまけにシフト量も右辺で指定できるようにしとくか
#define ROL(i, m) (i << m) | (((unsigned)i>>(32-m))&((1<<m)-1))
#define ROR(i, m) ((unsigned)i >> m) | ((i<<(32-m))&(((1<<m)-1)<<(32-m)))
あとはアーキテクチャ毎にこっそり淫乱仕込めばもうこれ区別付かないわ
これがC/C++作法だよ
VBAとはできる事の次元が違うのが少しは判ってもらえるかなあ
0532デフォルトの名無しさん
2016/03/12(土) 18:35:23.36ID:oKco5pfl0533デフォルトの名無しさん
2016/03/12(土) 18:38:20.17ID:YrRAz0CDぜひ書いてみてね
0534デフォルトの名無しさん
2016/03/12(土) 18:43:04.68ID:2d1xhU2z一体 ID:YrRAz0CD は何を調べたんだろう...
バカにしか見えない
0535デフォルトの名無しさん
2016/03/12(土) 18:44:03.28ID:2d1xhU2z0536デフォルトの名無しさん
2016/03/12(土) 18:46:18.96ID:YrRAz0CDそいつとは別人だよ
IDなんか気にしちゃダメよ?
0537デフォルトの名無しさん
2016/03/12(土) 19:52:14.26ID:yPhuk7hZ0538デフォルトの名無しさん
2016/03/12(土) 20:04:13.36ID:L1DCwZtHイミディエイトはすぐにとか即時とかいうニュアンスだが
単語だけ出して訳を聞いてもあまり意味がありません
どういう文脈や使われ方したかで、使うべき訳は変わるから
0539デフォルトの名無しさん
2016/03/12(土) 20:23:00.79ID:L1DCwZtHキャリーを扱うとか言っちゃうと、オーバーフローエラーのハンドリングはキャリーを扱ってると言えるわけで
まあ、キャリーした値の情報は捨てられてるけどw
>>522
キャリー=キャリーフラグの話ではないと言うのはその通りなんだが
そもそもお前がキャリーフラグうんぬんって言い出した話
ビット演算でキャリーしたビットの扱いと、キャリーフラグの扱いと、ちゃんと区別しろや
CPUがローテートにキャリーフラグ使うとしてもそれはコンパイル後のアセンブラでの話
0540デフォルトの名無しさん
2016/03/12(土) 20:28:45.91ID:2d1xhU2z0541デフォルトの名無しさん
2016/03/13(日) 00:06:53.99ID:1q/Jd+xj0542デフォルトの名無しさん
2016/03/13(日) 06:54:59.87ID:lSMOH+xf0543デフォルトの名無しさん
2016/03/13(日) 11:08:11.87ID:0Q357Me9でも僕たちは理解できないから来なくていいよ
0544デフォルトの名無しさん
2016/03/13(日) 18:23:28.87ID:ufPFt9Kdたかがローテートだと思ってやってみたけど途中で諦めた
書けない事はないんだろうが、VBAだとかなり面倒なのは判った
0545デフォルトの名無しさん
2016/03/13(日) 18:43:32.64ID:Wv1UMaca0546デフォルトの名無しさん
2016/03/13(日) 20:45:45.82ID:E6ThwxxZ0547デフォルトの名無しさん
2016/03/13(日) 21:17:49.68ID:59SmyVWrスルースキルを身につける
0548デフォルトの名無しさん
2016/03/13(日) 22:19:19.26ID:5uscjK7Fよき師に巡り会う 巡り会えるまでは流浪に流浪を重ねる 放浪することで見る目は鍛えられる
考える力も養える よき師かくだらない師かどうでもいい師かを見極められるようになる
トライ&エラー スクラップ&ビルド 椅子に腰掛けてお利口さんで待ってても向こうからは決して来てはくれない
0549デフォルトの名無しさん
2016/03/14(月) 00:31:53.69ID:vT6mz4Mt数値のままだと符号ビットが邪魔するんだよな
文字列に変換すれば簡単なんだけど、数学的に解決できないと負けた気がする
0550デフォルトの名無しさん
2016/03/14(月) 05:40:06.04ID:813TYYJmビット演算とかVBAでやるような処理じゃない
Dec2Binとかいう便利なワークシート関数あるなと思ったけど
10ビットって何その中途半端な桁数w
Hex2Binは40ビット符号だが指定できる数値は1FFまでとかもう何考えて作ってるんだよこれ
Dec2Hexで16進にしてバイトかニブル単位に切ってHex2Bin...
VBAなしでもできる気がしてきたなw
0551デフォルトの名無しさん
2016/03/14(月) 05:51:57.54ID:vvpf8bCNプログラムはどこで見れますか?
0552デフォルトの名無しさん
2016/03/14(月) 05:53:21.76ID:vvpf8bCNみなさんはどこ移転してますか?
0553デフォルトの名無しさん
2016/03/14(月) 05:54:57.02ID:huhKpIQ6>>551
Alt+F11
0554デフォルトの名無しさん
2016/03/14(月) 08:23:20.24ID:DzDVqAybCにも同じ命令が無いってことは元々需要が低いんだろう
0555デフォルトの名無しさん
2016/03/14(月) 10:32:55.61ID:813TYYJm算術シフトか論理シフトかはしらんが
Cは低レベルな処理ができるように設計された言語だから
VBAのような高級言語と用途や重要を一緒にはできんだろ
0556デフォルトの名無しさん
2016/03/14(月) 11:19:20.46ID:vT6mz4Mt算術シフトやローテートもできない
みんなライブラリで対応
VBAでシフトやローテートするライブラリ、軽くぐぐってみたけど意外と見つからないもんだな
0557デフォルトの名無しさん
2016/03/14(月) 20:14:39.14ID:iw5fwB6n> VBAでシフト
符号考慮しなくていい範囲なら * 2 とか \ 2 でいい
> ローテート
需要がない
0558デフォルトの名無しさん
2016/04/03(日) 10:00:14.45ID:qNxnHYw6共有ドライブにソースコードを置くだけで、アナウンスすれば誰でもコミットできる自由な運用になってます。
ただ新規ファイルがあると管理者がコメントするみたいな文化があって、今はやれオブジェクト指向設計がどうだの
アクセス指定が甘いだの言ってます。
自分は細かいこと言うつもりないんだけど、「VBAだったらこのくらいで十分」みたいな理論武装をしておきたいです。
そのネタになるような情報どこかにありませんか?
0559デフォルトの名無しさん
2016/04/03(日) 10:08:02.19ID:1rNeZKaA日本語で頼む
0560デフォルトの名無しさん
2016/04/03(日) 10:13:35.08ID:jNg4z56fとりあえずMS社が「VBAマクロは個人使用の範囲でしか許可してねぇぞ」って言っているので、
そもそもパブリッシング自体がおかしいという点から構築してみてはどうか。
0561デフォルトの名無しさん
2016/04/03(日) 10:21:42.32ID:0ShRbLeIShell ("C:\Windows\System32\rundll32.exe powrprof.dll,SetSuspendState")
最後にこの一文をいれました。朝起きたらシャットダウンされていて電源を入れたら
windowsエラー回復処理の画面が出ました。正しく終了できなかったようです。
一度テストで使ってみたときは問題なくスリープ状態になりました。
考えられる原因を教えてください。使っているのは2003です。
0562デフォルトの名無しさん
2016/04/03(日) 10:50:03.47ID:qNxnHYw6?
>>560
パブリッシングってオープンソース公開とかのことでしょうか?
それなりにあるようだけど、厳密にはNGなんですかね?
社内の共有ライブラリ使用はそれに当たらないと思います。
0563デフォルトの名無しさん
2016/04/03(日) 11:33:56.24ID:NYnYDVIp再現性はあるの?
0564デフォルトの名無しさん
2016/04/03(日) 12:02:51.71ID:azZmmaKg0565デフォルトの名無しさん
2016/04/03(日) 13:58:56.46ID:QeeH4oPEちょっと気になるのが
SetSuspendStateって引数が3つあるんだけどそれ指定してないとどうなるんだろうか?って事かな
(影響あるか 無いかは 知らないんけども)
rundll32.exe使わないで 直接API 呼んでみるとか?
0566デフォルトの名無しさん
2016/04/03(日) 14:09:55.83ID:7GEw8bGoまずはイベントログぐらい見ろよ
0567デフォルトの名無しさん
2016/04/03(日) 14:45:21.61ID:0ShRbLeI再現性あるかないかわかりませんが、またへんな終了するのはちょっと・・・
>>561
調べたらrundll32.exeは使わないほうがいいみたいなこと言ってる記事があったので
他の方法でやったほうがいいかもしれませんね
0568デフォルトの名無しさん
2016/04/03(日) 16:20:41.86ID:0WIWLEdK0570デフォルトの名無しさん
2016/04/03(日) 16:33:07.62ID:NYnYDVIphttps://ja.m.wikipedia.org/wiki/エラトステネスの篩
0571デフォルトの名無しさん
2016/04/03(日) 16:51:01.23ID:0WIWLEdKDim i As Long
Dim j As Long
Dim m As Long
Dim p As Long
Dim flg As Boolean
i = 1
j = 1
p = 2
Do
flg = False
For m = 2 To Int(Sqr(p))
If p Mod m = 0 Then
flg = True
Exit For
End If
Next
If flg = False Then
Cells(i, j) = p
i = i + 1
If i > Rows.Count Then
i = 1
j = j + 1
End If
End If
p = p + 1
Loop
End Sub
なんだあるじゃないか
0572デフォルトの名無しさん
2016/04/03(日) 16:51:38.48ID:CCNxKegs>MS社が「VBAマクロは個人使用の範囲でしか許可してねぇぞ」って言っている
ソース教えてくれ
0573デフォルトの名無しさん
2016/04/03(日) 16:55:26.57ID:7aucCkXx31 37 41 43 47 53 59 61 67 71
73 79 83 89 97 101 103 107 109 113
127 131 137 139 149 151 157 163 167 173
179 181 191 193 197 199 211 223 227 229
233 239 241 251 257 263 269 271 277 281
283 293 307 311 313 317 331 337 347 349
353 359 367 373 379 383 389 397 401 409
419 421 431 433 439 443 449 457 461 463
467 479 487 491 499 503 509 521 523 541
0574デフォルトの名無しさん
2016/04/03(日) 16:58:31.62ID:cnsiNkL/37558837 38702747 39844621 40992893 42145489 43297907 44451137 45602383 46759487
37558849 38702749 39844627 40992911 42145507 43297909 44451151 45602387 46759507
37558861 38702759 39844633 40992947 42145513 43297949 44451161 45602429 46759511
37558867 38702779 39844643 40992949 42145541 43297973 44451193 45602477 46759519
37558883 38702789 39844667 40993063 42145549 43298023 44451221 45602497 46759523
37558889 38702801 39844723 40993081 42145561 43298027 44451269 45602507 46759541
37558897 38702803 39844733 40993087 42145573 43298051 44451289 45602533 46759549
37558903 38702809 39844747 40993093 42145577 43298053 44451299 45602561 46759553
37558907 38702827 39844757 40993109 42145619 43298063 44451307 45602567 46759567
37558919 38702831 39844759 40993111 42145639 43298069 44451349 45602573 46759579
37558921 38702891 39844769 40993157 42145651 43298077 44451359 45602597 46759591
37558943 38702929 39844793 40993163 42145679 43298089 44451361 45602617 46759597
37558951 38702941 39844813 40993181 42145711 43298111 44451373 45602633 46759649
37558957 38702947 39844867 40993207 42145717 43298113 44451377 45602677 46759681
37558999 38702959 39844877 40993219 42145751 43298117 44451383 45602699 46759693
37559009 38702987 39844891 40993243 42145757 43298149 44451389 45602719 46759729
37559017 38703011 39844913 40993247 42145777 43298159 44451437 45602723 46759747
37559021 38703013 39844921 40993261 42145783 43298161 44451457 45602729 46759751
37559047 38703029 39844939 40993283 42145799 43298183 44451487 45602731 46759753
37559059 38703031 39844963 40993289 42145801 43298197 44451499 45602741 46759787
37559083 38703037 39844997 40993313 42145837 43298209 44451521 45602771 46759789
37559087 38703059 39844999 40993339 42145841 43298219 44451553 45602839 46759813
0575デフォルトの名無しさん
2016/04/03(日) 17:00:22.22ID:wlVdQdZF37558429 38702341 39844241 40992403 42145003 43297357 44450741 45601811 46758979
37558447 38702347 39844247 40992437 42145009 43297361 44450753 45601813 46758989
37558481 38702351 39844249 40992451 42145063 43297379 44450759 45601817 46759003
37558483 38702359 39844253 40992473 42145073 43297391 44450773 45601841 46759007
37558511 38702369 39844261 40992487 42145099 43297393 44450803 45601877 46759051
37558513 38702381 39844267 40992517 42145127 43297417 44450827 45601901 46759079
37558523 38702383 39844291 40992521 42145133 43297439 44450831 45601903 46759081
37558529 38702393 39844307 40992527 42145141 43297469 44450839 45601937 46759117
37558531 38702413 39844309 40992533 42145153 43297537 44450873 45601967 46759121
37558553 38702429 39844313 40992541 42145241 43297543 44450897 45601979 46759127
37558561 38702437 39844327 40992569 42145247 43297571 44450909 45601981 46759151
37558571 38702497 39844351 40992577 42145277 43297591 44450911 45601987 46759187
37558607 38702513 39844367 40992583 42145291 43297613 44450921 45601991 46759199
37558613 38702519 39844369 40992587 42145297 43297643 44450933 45601999 46759213
37558621 38702527 39844373 40992617 42145319 43297663 44450951 45602047 46759217
37558637 38702581 39844381 40992659 42145321 43297673 44450957 45602057 46759261
37558643 38702593 39844423 40992667 42145333 43297679 44450969 45602069 46759301
37558657 38702621 39844433 40992683 42145343 43297693 44450981 45602099 46759319
37558699 38702627 39844439 40992697 42145379 43297703 44450999 45602131 46759327
37558709 38702641 39844451 40992713 42145403 43297711 44451007 45602159 46759373
37558711 38702669 39844477 40992733 42145421 43297741 44451031 45602191 46759387
37558721 38702683 39844513 40992761 42145423 43297747 44451037 45602213 46759411
0576デフォルトの名無しさん
2016/04/03(日) 17:01:29.60ID:wlVdQdZF36415531 37557937 38701937 39843689 40992023 42144611 43296931 44450317 45601483 46758557
36415541 37557941 38701961 39843701 40992031 42144623 43296937 44450333 45601487 46758583
36415543 37557967 38701969 39843707 40992047 42144629 43296949 44450339 45601519 46758589
36415549 37557979 38702017 39843719 40992059 42144631 43296961 44450369 45601537 46758623
36415573 37558013 38702023 39843731 40992071 42144647 43296997 44450383 45601541 46758637
36415583 37558033 38702033 39843737 40992089 42144667 43297003 44450387 45601559 46758661
36415657 37558039 38702057 39843823 40992113 42144701 43297043 44450389 45601561 46758703
36415663 37558051 38702063 39843871 40992157 42144721 43297061 44450479 45601573 46758707
36415699 37558069 38702071 39843877 40992173 42144731 43297081 44450491 45601579 46758709
36415781 37558121 38702087 39843907 40992179 42144737 43297099 44450501 45601583 46758743
36415789 37558159 38702099 39843953 40992191 42144749 43297123 44450509 45601597 46758779
36415811 37558189 38702101 39843983 40992227 42144757 43297127 44450537 45601603 46758799
36415817 37558201 38702119 39843997 40992241 42144769 43297151 44450543 45601613 46758809
36415843 37558207 38702129 39844001 40992257 42144797 43297153 44450573 45601627 46758827
36415849 37558271 38702141 39844003 40992269 42144803 43297157 44450599 45601639 46758841
36415859 37558289 38702159 39844061 40992277 42144829 43297159 44450603 45601643 46758847
36415861 37558309 38702173 39844097 40992293 42144847 43297169 44450617 45601657 46758871
36415867 37558319 38702189 39844127 40992313 42144857 43297171 44450647 45601681 46758889
36415879 37558327 38702203 39844157 40992317 42144863 43297187 44450657 45601693 46758911
36415903 37558331 38702207 39844177 40992331 42144877 43297213 44450669 45601697 46758913
0577デフォルトの名無しさん
2016/04/03(日) 17:25:42.30ID:ht5JUiv7何で計算したの?
0578デフォルトの名無しさん
2016/04/03(日) 17:28:54.85ID:aDYdS24I0579デフォルトの名無しさん
2016/04/03(日) 18:34:34.79ID:CS1Ci7Ubエクセルは関数多少理解できるレベルです。
VBAで
所定の時間でPC起動
エクセルソフト起動
通信障害、PCエラーによるフリーズからの
再起動
所定の時間にPCシャットアウト
ここまでVBAで作成できるものなのでしょうか?
自分で作る場合はどんな本やサイトを参考にした方が
よいでしょうか?
VBA入門の本を買っても意味なかったです。
0580デフォルトの名無しさん
2016/04/03(日) 18:51:28.81ID:PF4kDmab君ならVBAでOSを作ることもキットできるよ。
0581デフォルトの名無しさん
2016/04/03(日) 19:03:46.02ID:yFGhuIVe0582デフォルトの名無しさん
2016/04/03(日) 19:05:28.17ID:SmJSd+/B0583デフォルトの名無しさん
2016/04/03(日) 19:09:30.45ID:JMP9uArP0584デフォルトの名無しさん
2016/04/03(日) 19:30:26.52ID:Xtf6UcRuInputBoxで答えを入れられるようにして
0585デフォルトの名無しさん
2016/04/03(日) 19:52:09.45ID:wTx+0/AQVB.NET for Applicationとか?
0586デフォルトの名無しさん
2016/04/03(日) 19:52:35.70ID:wTx+0/AQww
0587デフォルトの名無しさん
2016/04/03(日) 22:52:23.14ID:kgPLuv2V入れ子にすると実現できるというのはわかるのですが
1つのif で記述する事は可能でしょうか?
(例)
a
1 100
2 500
3 1000
if a1~3が上記の数値なら
処理実行!
end if
といった感じです。
0588デフォルトの名無しさん
2016/04/03(日) 22:54:18.39ID:wTx+0/AQ実行って何する気なわけ?
0589デフォルトの名無しさん
2016/04/03(日) 22:55:58.30ID:kgPLuv2Vmsgbox "当選おめでとうございます!!!"
0590デフォルトの名無しさん
2016/04/03(日) 22:58:41.42ID:kgPLuv2V3つが一致したら別表に数値を1追加カウントします。 ただそれだけです。
0591デフォルトの名無しさん
2016/04/03(日) 22:59:08.88ID:CCNxKegs0592デフォルトの名無しさん
2016/04/03(日) 23:01:00.17ID:NYnYDVIpa1=100 and a2=500 and a3=1000
0593デフォルトの名無しさん
2016/04/03(日) 23:04:29.41ID:kgPLuv2VIF 初心者でしたが
and!!! こんな便利なコードがあるとは知りませんでした、、、、、、、
ありがとうございました!!!
今まで全部入れ子で書いていてなんてめんどくさいんだと思っていましたが聞いてよかったww
0594デフォルトの名無しさん
2016/04/03(日) 23:05:10.90ID:kgPLuv2Vありがとうございます。
0595デフォルトの名無しさん
2016/04/03(日) 23:08:47.80ID:qNxnHYw6数値と決まっているならMinとMaxが一致しているかどうか見ればいいし、個数が増えても対応できる。
効率に関しては
0596デフォルトの名無しさん
2016/04/03(日) 23:26:20.09ID:NYnYDVIp具体的にはどうなるの?
0597デフォルトの名無しさん
2016/04/03(日) 23:37:22.54ID:aDYdS24I入れ子の方が処理が速い場合もあるから使い分けような
0598デフォルトの名無しさん
2016/04/03(日) 23:44:17.39ID:+WGKAhDOこの条件のMinとMaxだとエラーだな。
0599デフォルトの名無しさん
2016/04/04(月) 00:06:19.85ID:0VnnNKSnif not obj is nothing and obj.hoge=1 then
とかやってもobj.hogeでエラーになったと思うけどどうしてる?
0600デフォルトの名無しさん
2016/04/04(月) 00:10:09.18ID:LRW6avp50601デフォルトの名無しさん
2016/04/04(月) 00:33:08.12ID:y3eViG9Fこちらのサイトを参考にして、セルに入力した文字を元に、別に用意されているリスト内で部分一致の検索を行い、
条件に一致したものをプルダウンで選択できるようにしたのですが、
スイカ1
スイカ2
のようにリストに入力されている状態で、「すいか」とひらがなで検索をかけると
Tg.Value = Left(strFormula, Len(strFormula) - 1)
の部分でエラーを吐いてしまいます。
Tg.Valueが「すいか」であるにもかかわらず、strFoumulaが空だからです。
strFoumulaが空の場合この処理を飛ばすようにしてエラーはでなくなったのですが、
なぜこうなってしまうのでしょうか‥。VBAの検索でひらがなカタカナは区別されるものだと思っているのですが。
0602デフォルトの名無しさん
2016/04/04(月) 00:39:30.58ID:y3eViG9Fスイカ1
スイカ2
というリストに
Set foundCell = Worksheets(listSheet).Range(strDictionary).Find(What:=matchKey, LookAt:=xlPart)
で「すいか」と検索をかけたのに検索結果がNothingにならないのはなぜなのでしょうか、ということです。すみません。
0603デフォルトの名無しさん
2016/04/04(月) 00:48:10.64ID:3/TbxKd+> Tg.Value = Left(strFormula, Len(strFormula) - 1)
Left関数の部分が Tg.Value = Left("", -1) と解釈されているからだろう
空文字列の左端から-1個分の文字列など取得できませんということだ
Leftの第2パラメタは0以上にする必要がある
0604デフォルトの名無しさん
2016/04/04(月) 01:43:58.21ID:3/TbxKd+> で「すいか」と検索をかけたのに検索結果がNothingにならないのはなぜなのでしょうか、ということです。すみません。
リンク先のコード試してみたけど Find(What:="すいか", LookAt:=xlPart)の時の
戻り値は正常にNothing返って来るみたいだけどな・・・?
matchKey の変数に Tg.Value の値が代入されて無くて、空文字列("")が入っているとかだったり?
0605デフォルトの名無しさん
2016/04/04(月) 16:43:26.72ID:2/+HTPHr0606デフォルトの名無しさん
2016/04/04(月) 18:06:50.57ID:hbU7KRZl0607デフォルトの名無しさん
2016/04/04(月) 20:55:31.45ID:JdB6FWMO足りなければ教えてください。
分数で表すと、205/65536のつもりでこう書いたのですが、書き方はあってますでしょうか?
ransu = Int(Rnd * 65536)
If ransu < 205 Then
'ransuが205より小さかった時の処理
Endif
乱数発生1兆回させて、205より小さい数を引いた数を数えると、
204.5/65536位の数字になってしまいます。。
ransu = Int(Rnd * 65536)で、発生する可能性のある数字は0-65535の範囲で65536個、
If ransu < 205 Thenで、は205より小さいなので0-204の範囲で205個。
これで、205/65536になるかと思うのですが、
何か違う部分があれば教えてください。
0608デフォルトの名無しさん
2016/04/04(月) 21:14:47.06ID:gEoUrpj0rndはたしか擬似乱数だから本当の乱数とは違う
若干偏りがあるだろうから
必要な精度を満たしてないかも知れない
0609デフォルトの名無しさん
2016/04/04(月) 21:26:39.06ID:UfrC8I0P随分前に誰かやってたけど
そのネタ自体今更感がなぁ
0610デフォルトの名無しさん
2016/04/04(月) 21:31:09.99ID:aM9lztCf1兆回ならもっと近づくだろうなあ。
0611デフォルトの名無しさん
2016/04/04(月) 22:23:43.94ID:JdB6FWMO>>610
レスありがとうございます。
という事は、Rndが完璧に理想的な乱数であったと仮定すると、
書き方自体には問題がないということでしょうか。
VBAの範囲だと、あとは試行回数を増やしたり位しかないんでしょうか。
実の所1兆回をワンセットに、10兆回まではやってみたのですが、
各1兆回も、10兆回全部も、大体、204.5/65536位になっちゃうんですよねぇ。。(分子がプラスマイナス0.05位の狭い範囲)
205/65536が204.5/65536であったら、「もう絶対に使えない!」って程ではないのですが、
この辺が、VBAの限界なんでしょうか・・。
0612デフォルトの名無しさん
2016/04/04(月) 22:37:50.18ID:gEoUrpj0分布が本当の乱数とは違うから試行回数を増やすほどそのズレが顕著になるはず
何処かでより精度の高い乱数発生関数を探すとかかな
0613デフォルトの名無しさん
2016/04/04(月) 22:49:12.45ID:4D4rNKnx格納とかの言葉が出てきて、頭を抱えています。
よろしくお願いいたします。
0614デフォルトの名無しさん
2016/04/04(月) 23:01:50.27ID:r79ZF9vv>>格納とかの言葉が出てきて、頭を抱えています。
EXCELとかVBAとかの以前に 国語(日本語)を勉強する事を勧めます
かく‐のう【格納】
物を一定の場所に納め入れること。
もしも↑の意味は分っている! と言うなら 何に頭を抱えてるの?
0615くだらないことで笑わせてくれ
2016/04/04(月) 23:10:38.78ID:roP7eJzV0616デフォルトの名無しさん
2016/04/04(月) 23:13:05.17ID:LRW6avp5普通にfindメソッド使えばいいやん。
0617デフォルトの名無しさん
2016/04/04(月) 23:18:27.67ID:4D4rNKnx> なんや。
> 普通にfindメソッド使えばいいやん。
ありがとうございます。
他のサイト等を見てfindメゾットの構文を参考にしながら頑張ってみます。
0618デフォルトの名無しさん
2016/04/04(月) 23:47:31.51ID:gEoUrpj0http://www001.upp.so-net.ne.jp/isaku/rand.html
ここにあるな
0619デフォルトの名無しさん
2016/04/04(月) 23:50:10.44ID:bkbQN8W0一方、SecureRandom は高品質な乱数で、偏らない。均一
0620デフォルトの名無しさん
2016/04/05(火) 01:35:45.86ID:j04nOQVY0621デフォルトの名無しさん
2016/04/05(火) 07:55:04.92ID:NnE5DST0はー、乱数って難しいもんなんすねぇ・・。乱数だけで本500冊ぐらいかけそうな勢いですね。
>>618
マーベラス!ありがとうございます!これすごいですわ!
10億回*50セットやってみたのですが、かなりいい感じです!
0622デフォルトの名無しさん
2016/04/05(火) 08:18:03.56ID:B7swTllr0623デフォルトの名無しさん
2016/04/05(火) 09:20:27.31ID:2f62PJswメルセンヌツイスター
使え
0624デフォルトの名無しさん
2016/04/05(火) 10:01:51.97ID:B7swTllr>>623
>>610
0625デフォルトの名無しさん
2016/04/05(火) 11:10:22.88ID:JHqiOWEg現在は配列に入れてRange(,)に代入してるんですけど
0626デフォルトの名無しさん
2016/04/05(火) 11:14:08.50ID:ppnKHRiK目標は何秒いない?
0627デフォルトの名無しさん
2016/04/05(火) 13:11:46.88ID:+MT3Wf2o0628デフォルトの名無しさん
2016/04/05(火) 14:51:17.65ID:v/NArIjt多分、Copy&Pasteの方が早い
が、そこに速度求める必要性があるのかどうか疑問
0629デフォルトの名無しさん
2016/04/05(火) 22:40:54.54ID:Tn2/jJXpデータってなに?セルの値?書式?
0630デフォルトの名無しさん
2016/04/05(火) 23:30:08.28ID:Gc5FnagCここが参考になりませんか?
0631デフォルトの名無しさん
2016/04/05(火) 23:31:45.85ID:7wH2w4I2岡三RSSの5分足を1分毎にデータ更新するマクロ作りたいのですが、
どのように作業を進めていけばいいのかわかりません。
どなたかヒントをください。
0632デフォルトの名無しさん
2016/04/05(火) 23:53:56.98ID:LzPMv2av0633デフォルトの名無しさん
2016/04/05(火) 23:53:58.44ID:05m3kBZf5分足なのに1分毎に更新?
よくわからないけど、最大値と最小値を内部に持つクラスを作るのはどうかね。
値を受け取って必要なときに最大値と最小値を更新していくんだ。
0634デフォルトの名無しさん
2016/04/06(水) 05:37:45.06ID:0S+muf67近所の本屋に行くと、プログラミングを知らない人向けに必要な機能だけを教えていくみたいな本ばかりでした
プログラミングの入門書ではなく、言語の入門書が欲しいです
0635デフォルトの名無しさん
2016/04/06(水) 05:48:35.63ID:yuyIYi3V「はじめて読む486」辺りかな
0636デフォルトの名無しさん
2016/04/06(水) 05:51:12.05ID:0S+muf670637デフォルトの名無しさん
2016/04/06(水) 08:11:22.76ID:9iDpy2/R5分足を5分毎にデータ更新するマクロは完成してるの?
0638デフォルトの名無しさん
2016/04/06(水) 08:14:16.30ID:Yk0GmKq8今は無料で読めるWEBサイトがいっぱいあるけど、それでも高くて大きくて重たくて不完全な本がいいの?
入り口
http://tonari-it.com/vba-start-10minutes/
基本
http://excelvba.pc-users.net/fol2/2_2.html
言語仕様
https://msdn.microsoft.com/ja-jp/library/office/gg264383(v=office.15).aspx
0639デフォルトの名無しさん
2016/04/06(水) 08:17:51.90ID:y1UF9DzIっていうかさ、初心者がRSSをどうこうとか 何言ってんの?
更には、どのように ってお前何も考えてねぇじゃん。
>>1見てから出なおして来い。失せろ小僧。
0640デフォルトの名無しさん
2016/04/06(水) 08:24:27.39ID:hHiMvEnV0641デフォルトの名無しさん
2016/04/06(水) 08:53:14.83ID:MvwJJXzQ一切書いてはいけないスレだから
仕方がない
0642デフォルトの名無しさん
2016/04/06(水) 09:47:02.16ID:0S+muf67あなたは新しい言語に取り掛かる時に本を買わないのですか?驚きです
0643デフォルトの名無しさん
2016/04/06(水) 09:54:31.74ID:y1UF9DzI買わない人は多いよ。
俺も買わない派。公式サイトのリファレンス(英語)を1つずつ漁っていく。
0644デフォルトの名無しさん
2016/04/06(水) 10:18:21.14ID:hHiMvEnV0645デフォルトの名無しさん
2016/04/06(水) 11:04:01.89ID:9iDpy2/R岡三RSSは知らないが楽天RSSなら、
出来高セルのあるシートモジュールのPrivate Sub Worksheet_Calculate()に
5分間で初回の出来高変化時に、そのときの現在値を始値にセット
初回でないなら、そのときの現在値が高値を超えているか?安値を下回っているか?
・・・
とか記述すればいいんじゃない?かなり省いてるけど。
俺も初心者だったけど、ネットで調べつつでそれほど時間かからずに作れたよ。
あと岡三RSSって5分足とかの4本値を直接取得できるんじゃなかったっけ?
取得できるならもっと簡単だと思う。
0646デフォルトの名無しさん
2016/04/06(水) 15:23:35.60ID:swx+pkIq直接取得できます。
ただ取得した時の時間を自動更新しながら取得したいのです。
1分毎か5分毎に。
調べてみましたが、Application.OnTimeとか使えばいいのですか?
0647デフォルトの名無しさん
2016/04/06(水) 15:52:30.69ID:9iDpy2/ROnTimerでいいと思います
0648デフォルトの名無しさん
2016/04/06(水) 16:06:45.63ID:swx+pkIqセルA2からA5に始値、高値、安値、終値の更新はこんな感じでよろしいでしょうか?
Sub SetAlarm()
Application.OnTime Now + TimeValue("00:05:00"), Range("A2:A5")
End Sub
0649デフォルトの名無しさん
2016/04/06(水) 16:08:04.24ID:9iDpy2/ROnTime でいいと思います。
0650デフォルトの名無しさん
2016/04/06(水) 16:25:50.90ID:9iDpy2/Rさすがにそれは動かないと思う。
ググってみてください。
http://officetanaka.net/excel/vba/tips/tips114.htm
など
0651デフォルトの名無しさん
2016/04/06(水) 16:41:11.44ID:swx+pkIqありがとうございます。
ググってみてそれなりにやってみたけど、
動かない。。。
もうちょっと訂正繰り返してがんばってみます。
0652デフォルトの名無しさん
2016/04/06(水) 17:55:34.35ID:swx+pkIq心が折れそう
0653デフォルトの名無しさん
2016/04/06(水) 19:07:55.61ID:HA12DnSEIf Not kabuupdate() then Exit sub
Application.OnTime Now + TimeValue("00:05:00"), "SetAlarm"
End Sub
Function kabuupdate()
kabuupdate=true
データを更新するコマンド
If 終了する条件 then kabuupdate=false
End Function
0654デフォルトの名無しさん
2016/04/07(木) 17:37:51.70ID:6B91uImH起動済のIEを使って、別のサイトを開くことをやってます。
最初はうまくいくんですが、途中からエラーが出て進めなくなることがあります。
objIE.Navigate "url" のところで 「navigate メソッドは失敗しました iwebbrowser2」
ログイン画面とかは一発でエラーが出るんですが、原因や対策わかりますか?
ググッてもよくわからない・・
0655デフォルトの名無しさん
2016/04/07(木) 20:54:46.92ID:UtMN6w2E最初とか途中とかなんの話だ?
第三者に伝わるように質問できない?
それとも独り言?
0656デフォルトの名無しさん
2016/04/07(木) 20:58:18.52ID:3kkZOGoe地味に困っています。
0657デフォルトの名無しさん
2016/04/07(木) 21:52:52.25ID:6B91uImH失礼しました。
当方初心者なんですが、詳しい方にとってはあああれかとすぐわかるかと思ってw
IE開く→エクセル開きマクロ実行→起動済みのIEで目的のサイト開く(マクロ終了)→手作業→
マクロ発動し再度サイトを開く→手作業→延々と繰り返し
この過程で目的のサイトを開く時にかなりの頻度で前述のエラーが出ます。
0658デフォルトの名無しさん
2016/04/07(木) 22:00:56.97ID:9XMjwe9U自分の解釈を加えずに現象を伝えた方が良い事もある
医者に症状を話すときとか
自分で勝手に風邪ですとかじゃ無くて
咳と鼻水がでて熱が38度あるとかの方法
0659デフォルトの名無しさん
2016/04/07(木) 22:02:18.31ID:9XMjwe9UIEのオブジェクトが作業中に変わったりしてない?
チェックするコードを入れてみたら?
0660デフォルトの名無しさん
2016/04/07(木) 22:03:01.38ID:6B91uImHエクセル開く→
@ マクロ実行→IEを開いて目的のサイト開く(マクロ終了)→手作業→IE閉じる
A @を繰り返す
B〜 同じ
0661デフォルトの名無しさん
2016/04/07(木) 22:09:01.15ID:9XMjwe9U既に開いているIEを参照してないんじゃね?
他にもウインドウを開いたりしてたら他のウインドウを参照してるかもしれないから確認したら良い
0662デフォルトの名無しさん
2016/04/07(木) 22:18:18.14ID:3kkZOGoe1.イミディエイト上になにかオブジェクトを作る。(型はなんでも)
ここでは単純に整数とする。
a = 3
2.そのオブジェクトを確認する
?typename(a)
Integer
3.新しいブックを開く
4.さっきのオブジェクトを確認する→消滅している
?typename(a)
Empty
という意味です
0663デフォルトの名無しさん
2016/04/07(木) 22:42:16.79ID:9XMjwe9Uブック毎にイミディエイトウインドウがあるのでは無くて
エディタに一つだから色んなタイミングでクリアされるんじゃないかな
中の人じゃないから確実なことは言えないけど恐らく仕様じゃない?
0664デフォルトの名無しさん
2016/04/07(木) 22:48:28.36ID:3kkZOGoeやはり仕様ですかね。
順調に作業している途中でうっかりブックを開いてしまって全部パー、というのをやっちゃうんですよね。
困った。
0665デフォルトの名無しさん
2016/04/07(木) 23:13:10.92ID:bJ8hF4FMイミディエイトで何か実用的な作業してるんですか?
良い使い方だったら真似したいので差し支えはないでしょうから教えて下さい。
0666デフォルトの名無しさん
2016/04/07(木) 23:59:01.96ID:3kkZOGoe定型作業ではないです。
ワークシートのデータとDBから取ってきたデータ(これは配列)を見比べて
ああでもないこうでもないと分析する作業とか。
0667デフォルトの名無しさん
2016/04/08(金) 00:02:37.36ID:k7lREFlm説明する能力がないならせめてソースを貼ってくれ
いちいちめんどくさい
0668デフォルトの名無しさん
2016/04/08(金) 07:43:27.06ID:R25zKOdT1.マクロ実行→IEを開いて目的のサイト開く(マクロ終了)→手作業→IE閉じる
いつも、実行中のすべてのIEを終了してから、
新規にIEを起動すればいい
@ こういう文字は、Windowsだけで使える環境依存文字だから、使わない方がいい
0669デフォルトの名無しさん
2016/04/08(金) 08:14:53.74ID:3IMa4NeZ0670デフォルトの名無しさん
2016/04/08(金) 10:09:57.63ID:DceHVCs4まあここはシフトJISだった気がするし、VBEはちゃんとUnicode扱えなかったりするけど
0671デフォルトの名無しさん
2016/04/08(金) 10:46:37.68ID:/MznQlQGそれ言うなら "→" も環境依存だな
0672デフォルトの名無しさん
2016/04/08(金) 11:52:47.59ID:PtRIyf6mコピペすると?記号になっちゃうのも地味に不便だよなあ
0673デフォルトの名無しさん
2016/04/08(金) 12:45:37.18ID:ZegRwvsH1行から新しいデータを取得して、
古いデータは下に行く流れです。
2001行になったら2001行目のデータすべて消去したいです。
よろしくお願いいたします。
0674デフォルトの名無しさん
2016/04/08(金) 13:11:25.59ID:zXNfLtBa常に2001行はデータ消すようすれば良い
0675デフォルトの名無しさん
2016/04/08(金) 13:38:43.20ID:TR3w9Zsd消せばいいじゃん。
0676デフォルトの名無しさん
2016/04/08(金) 13:40:22.53ID:rSvxtnsq0677デフォルトの名無しさん
2016/04/08(金) 13:56:07.12ID:x4BnY1md0678デフォルトの名無しさん
2016/04/08(金) 13:57:16.57ID:W7xClskh意味わからん。
vbaでやれば自動だろ。
0679デフォルトの名無しさん
2016/04/08(金) 14:08:36.83ID:Y/PwUvtg2000行まで上書きすれば良いんじゃね
0680デフォルトの名無しさん
2016/04/08(金) 14:12:30.36ID:TR3w9Zsdだから、プログラムの最後に2000行目以降2000レコード文消すコードいれりゃいいだろ。
マクロですら出来ることだぞ。
0681デフォルトの名無しさん
2016/04/08(金) 14:17:55.04ID:zXNfLtBaだよねー
0682デフォルトの名無しさん
2016/04/08(金) 14:48:15.29ID:/MznQlQGまさか全行をコピー、1行下にペースト、1行目に新しいデータを記入するしかない?
0683デフォルトの名無しさん
2016/04/08(金) 14:56:00.49ID:x4BnY1md行挿入すれば自動的に下がるだろ
0684デフォルトの名無しさん
2016/04/08(金) 15:06:00.89ID:/MznQlQGRange("2:2000").Value = Range("1:1999").Value
これでOK
0685デフォルトの名無しさん
2016/04/08(金) 15:28:51.28ID:vR3n62A20686デフォルトの名無しさん
2016/04/08(金) 15:36:19.16ID:9oewkoZU行挿入って遅いんだよね。
0687デフォルトの名無しさん
2016/04/09(土) 15:55:00.81ID:yBM+Q3VA今カーソルのある位置は? → cells(3310.77) 3310 77 ←この数値をしりたいです。
お願いします。
0688デフォルトの名無しさん
2016/04/09(土) 16:05:29.28ID:dqL4NvwQActiveCell.Row と ActiveCell.Column
0689デフォルトの名無しさん
2016/04/09(土) 16:52:52.65ID:XGWfr4Pwググれカス
そっちの方が早いぞ
0690デフォルトの名無しさん
2016/04/09(土) 19:11:29.71ID:GDJhJcuXVBAでオブジェクトをいっぱい生成しても
Javaでいうガベージコレクションは働いてるんですか?
もしそうじゃないなら勤務中に頻繁にVBAのツール使ってるんで
メモリを無駄に消費しすぎてPCの挙動が遅くなったりするのが心配で。
0691デフォルトの名無しさん
2016/04/09(土) 19:30:45.63ID:Bs+72Bdc心配性だなあ
今不都合がないならそれでいいじゃん
0692デフォルトの名無しさん
2016/04/09(土) 19:37:18.64ID:GDJhJcuXチーム内外の同僚たちもたくさんこのツールを使ってるしこれからも使うから心配なのだ。
自分は不具合なくても他のユーザーが不具合あっても文句言わないだけというのも気の毒だしプロとしてもプライドが許さない。
わたしはそういう意識高い系のプログラマです。
0693デフォルトの名無しさん
2016/04/09(土) 19:53:00.63ID:omWqeBLWどうして意味のないウソつくの?
0694デフォルトの名無しさん
2016/04/09(土) 20:51:46.13ID:oFwBMxXqOption Explicit
Sub アクティブセルの位置を調べる()
Dim 現在位置列
Dim 現在位置行
Dim アドレス
Dim 値
'ワークシートをアクティブにする ※1
現在位置列 = ActiveCell.Column 'アクティブセルの列番号
現在位置行 = ActiveCell.Row 'アクティブセルの行番号
アドレス = ActiveCell.Address 'アクティブセルのアドレス ※2
値 = ActiveCell.Value 'アクティブセルの値
MsgBox アドレス & 値
MsgBox 現在位置列 & 現在位置行
End Sub
0695デフォルトの名無しさん
2016/04/09(土) 21:07:50.44ID:NkRGPRMb0696デフォルトの名無しさん
2016/04/09(土) 21:51:44.53ID:NkRGPRMb(例)
10.xls → 10
0697デフォルトの名無しさん
2016/04/09(土) 21:53:43.85ID:omWqeBLW0698デフォルトの名無しさん
2016/04/09(土) 22:08:20.41ID:dqL4NvwQファイル名の拡張子を消したいなら
FSO(File System Object)の GetBaseName()
又は
Left(ファイル名, InStrRev(ファイル名, ".") - 1)
単純に 後ろ4文字削除したいだけなら
Left(文字列, Len(文字列) - 4)
0699デフォルトの名無しさん
2016/04/09(土) 22:31:22.73ID:omWqeBLWそれは前から数えて4文字短かい新しい文字列を作ってるだけだろ
0701デフォルトの名無しさん
2016/04/09(土) 22:38:30.19ID:dqL4NvwQご高説ありがと ではどうしたらいいの?
"ググレかす"はなして
0702デフォルトの名無しさん
2016/04/09(土) 22:40:51.92ID:dqL4NvwQ×"ググレかす"はなして
○"ググレかす"はなしで
0703デフォルトの名無しさん
2016/04/09(土) 22:44:12.54ID:omWqeBLWク グ れ か す
0704696
2016/04/09(土) 22:56:06.66ID:TesuAEt0よって ググレかすっていってる奴がカスなんだよ
わからないのかな?そこの「ググレかす」君!
0705デフォルトの名無しさん
2016/04/09(土) 23:21:33.47ID:QOjje/I20706デフォルトの名無しさん
2016/04/10(日) 03:52:45.83ID:ExCsBl9HIEの保護モードの影響で整合性レベルが切り替わる時
CreateObject("InternetExplorer.Application")
で接続したオブジェクトが無効になる。
対策方法はいくつかあるけどVBAだけで対策するなら
GetObject("new:{D5E8041D-920F-45E9-B8FB-B1DEB82C6E5E}")
で接続すればよい。
0707デフォルトの名無しさん
2016/04/10(日) 07:45:39.42ID:Lt2F89As下のコードをworksheets(1)をactiveの状態で実行したいのですが5行目で1004エラーがでます。
worksheets(2)をactiveの状態で実行するとうまくいきますが、worksheets(1)をactiveの状態で実行したいです。
5行目の範囲指定をRange("C1:C7")かColumns(3)にするとworksheets(1) activeでもうまくいきますが、
実際のデータは数千行の可変なのでRaneg()では最終行が求められませんし、Columns()では重くなるので、cellsで範囲指定したいです。
よろしくお願いします。
Sub test()
With Worksheets(2)
.AutoFilterMode = False
.Range("A1").AutoFilter Field:=2, Criteria1:="a"
.Range(Cells(1, 3), Cells(7, 3)).Copy Worksheets(1).Cells(1, 1)
End With
End Sub
0708デフォルトの名無しさん
2016/04/10(日) 07:52:07.40ID:5ptKitBG0709デフォルトの名無しさん
2016/04/10(日) 07:52:41.10ID:Fj4/7GGtまたザバーを装ったC++erか。いい加減にしとけ。
VBAにはガベージコレクションの概念はないよ。
普通はスコープが切れればそこで参照は断ち切れるから問題ないけど、
COMでやってたりするときちんとNoting設定してあげなければいけないのはjavaやC++でも同じだろう。
ま、心配なら使い終わったObjectはNotingしとけばいい。
あとこっちはVB6で出来ることは全てスレ違いらしいからな。他所でやるのが筋だろう。
0710デフォルトの名無しさん
2016/04/10(日) 07:55:32.83ID:Lt2F89Asありがとうございます。うまくいきました。
0711デフォルトの名無しさん
2016/04/10(日) 10:19:14.00ID:KQiea6Cc意識高い系
つまり、ヴァカって事ですね。ヴァカは相手にしたくないんで、消えろ小僧
0712tasukete
2016/04/10(日) 10:33:08.30ID:1I5jwrs3■概要
「そうですねabcの次はdefですね笑」
上記文章のdefにマッチさせる正規表現文字列をご教授下さい。
■ロジック
「***笑」の「***」の中に存在する「最後の」半角英数文字を取り出したい。
■現在の正規表現文字列
0714デフォルトの名無しさん
2016/04/10(日) 11:23:33.43ID:1I5jwrs3以下で解決しました。ご回答ありがとうございます。
"([0-9a-zA-Z!-~]+)([^0-9a-zA-Z!-~]*)(笑)"
0715デフォルトの名無しさん
2016/04/10(日) 15:06:06.71ID:r0zhudqC検索文字列が見つかりませんでした。エラーの原因と対処方法を次に示します。
指定された検索適用範囲の開始点から終了点までの間に、一致する文字列がありません。
検索を続ける場合は、検索の適用範囲を広げてください。
パターン マッチング式で左かっこが指定されていません。
左かっこを指定します。
詳細については、目的の項目を選択して F1 キー (Windows) または Help キー (Macintosh) を押してください。
0716デフォルトの名無しさん
2016/04/10(日) 17:42:09.90ID:h6VSGqHpどっちにしても違ってる気がするけど
0717デフォルトの名無しさん
2016/04/10(日) 19:01:22.63ID:zU852X9x1 プロパティウィンドウを表示
2 イミディエイトウィンドウを表示
3 VBEウィンドウ最大化
した状態でVBEを閉じ、次にVBEを起動しても1,2,3の状態が保持されません。
VBEを開くたびに1,2,3をするのが面倒なのですが解決策がありましたら教えて下さい。
0719デフォルトの名無しさん
2016/04/10(日) 19:32:19.02ID:Y5yf6QHK1,2,3を自動化するツールを常駐させておく
0720デフォルトの名無しさん
2016/04/10(日) 19:38:18.50ID:zU852X9x他に方法がなければそれも検討しますが・・・
他にありませんか?
0721デフォルトの名無しさん
2016/04/10(日) 19:42:11.74ID:jDmPqXB1そもそも引数の括弧の必要性が一貫してないことに意味はあるのでしょうか
0722デフォルトの名無しさん
2016/04/10(日) 19:49:43.74ID:Fj4/7GGt厳密に言うと挙動が変わっちゃう場合があるからねぇ
括弧付ける時は前にCall付けとかないとねぇ
0723デフォルトの名無しさん
2016/04/10(日) 20:53:02.90ID:TaPFtU7EVBEを閉じない
0724デフォルトの名無しさん
2016/04/10(日) 21:05:55.36ID:fppF2dqS0725デフォルトの名無しさん
2016/04/10(日) 21:30:42.88ID:h6VSGqHpLotus 1-2-3
0726デフォルトの名無しさん
2016/04/11(月) 01:07:36.81ID:mNSepyo/マイクロソフトを買収して最優先ですぐに直すように開発チームに命令する。
0727デフォルトの名無しさん
2016/04/11(月) 01:16:39.75ID:FRetIr0G0728デフォルトの名無しさん
2016/04/11(月) 06:55:56.76ID:MF2TZXcE.Value = .Value & 3
End With
空セルでこれを実行すると、1回目→3が入る・・・・16回目→なぜか0が入る。17回目→3.33333333333333E+153という値になり
期待した結果が得られません。(期待する結果としては、3333333333333333333333333と延々と続いてほしい)
実行すると、「現在のセルの値を拾って、一文字(数字)を付け足す」というのを延々と繰り返してほしいのですが、
簡単な書き方を教えてください。
よろしくお願いします。
Excel2010です。
0729デフォルトの名無しさん
2016/04/11(月) 07:07:01.65ID:siKElAn4まずそこのセルの書式はどうなってるの?
文字列でないと当然制限は受けると思うけど
後は & 3 ってなってるところを & "3"として繰り返せば要件満たせるよね
0730デフォルトの名無しさん
2016/04/11(月) 07:29:25.01ID:c3d7+hIFtextとダブルクォート使えばいいんじゃない
0731デフォルトの名無しさん
2016/04/11(月) 08:13:16.14ID:Tjd5GnSG.Text = .Text & "3"
0732デフォルトの名無しさん
2016/04/11(月) 08:31:44.40ID:gJM7Zl86それぞれに共通のプロシージャがあるとき
それをうまく単一の場所に保存して修正の必要が発生したときに修正は一ヶ所だけにするにはどうすればいいですか?
0733デフォルトの名無しさん
2016/04/11(月) 08:44:59.34ID:8qeonQG2特定のブックのマクロをどのブックからも利用可能にするには?
http://www.asahi-net.or.jp/~zn3y-ngi/YNxv9114.html
0734デフォルトの名無しさん
2016/04/11(月) 08:47:40.18ID:Tjd5GnSGApplication.Run
注意点はここ
http://blog.sen-i.jp/vba/excel-vba-common-module-file.html
0735デフォルトの名無しさん
2016/04/11(月) 10:44:34.46ID:liIxp6L/今は手動で最新のをインポートしなきゃいけない。
0736デフォルトの名無しさん
2016/04/11(月) 15:04:40.97ID:MF2TZXcEうっかり忘れてました・・・。
>>730
>>731
.Text = .Text & "3"
にすると、オブジェクト指定しろって文句言われてダメでしたので
文字にすることで逃げました・・・
ありがとうございましすた。
0737デフォルトの名無しさん
2016/04/11(月) 15:34:57.92ID:Tjd5GnSG.Value = .Text & "3"
かな?
0738デフォルトの名無しさん
2016/04/11(月) 19:05:18.20ID:VX+C6Bv4普通のメソッドを使っても同様の機能を持たせることができてるみたいです
わざわざプロパティープロシージャを使う理由は何でしょうか
0739デフォルトの名無しさん
2016/04/11(月) 20:05:19.94ID:qE1DLczHReadOnly のプロパティなら Functionでも代用可能だね
プロパティに値を入れる時どうする?
Public変数使う? それなら
>>普通のメソッドを使っても同様の機能を持たせることができてるみたいです
↑これすら不要になるね
さてどうしましょうか?
0740デフォルトの名無しさん
2016/04/11(月) 20:53:44.76ID:8qeonQG20741デフォルトの名無しさん
2016/04/11(月) 21:24:10.68ID:liIxp6L/いやべつに記述が簡単になるだけっすよ先輩。
0742デフォルトの名無しさん
2016/04/11(月) 22:40:03.89ID:+pegrb/D実質プロパティとメソッドで出来る事に大差はないけど
使い分けについて、.NETでの解説だけど一度読んどくと良い
プロパティとメソッドの選択
https://msdn.microsoft.com/ja-jp/library/ms229054(v=vs.80).aspx
VBAかVBでの記事も見た気がするんだがみつからん
0743デフォルトの名無しさん
2016/04/11(月) 22:51:27.02ID:yNx//VK9「メンバーが型の論理属性を表す場合は、プロパティを使用することを検討してください。」
→これはちょっと難しいね。翻訳の問題だろうか?誰か教えて!
「操作が Object.ToString method などの変換操作の場合。」
なんで?いいじゃん?
0744デフォルトの名無しさん
2016/04/12(火) 00:32:03.58ID:sXpv9NYnクラス上でPublicな変数を設定することは結合度の問題があるから避けた方が良いかな。
ましてやVBAの場合、多態性を持たせるのに継承が使えないから
インターフェースを使って処理の移譲(委託)を行うことがある。
この場合、シグネチャをインターフェース上に記述しないと使用出来るプロパティやメソッドから除外されてしまう。
標準モジュール上からならまぁいいかも知れないけど、
一応記述に一貫性を持たせると言う意味合いでプロパティやメソッドにしておいた方が良いかもしれない。
けどこれは理想論であって、実際に標準モジュール上で
例えば構造体(ユーザー定義型)とかをプロパティで
引っ張り出せるかと言うと無理だったり、
難点も色々あるのも確か。
0745デフォルトの名無しさん
2016/04/12(火) 01:16:26.34ID:lRmEmyeQ0746デフォルトの名無しさん
2016/04/12(火) 02:02:23.64ID:6wI8o2z50747デフォルトの名無しさん
2016/04/12(火) 02:59:53.21ID:k6A/HJ44>一般的に、メソッドは操作を表し、プロパティはデータを表します
って書いてある通り
オブジェクトの属性はプロパティで定義する
オブジェクトそのものの操作はメソッドで定義する
って言うのが基本
一つ目はつまり
オブジェクトの属性はプロパティで定義する
って言ってるだけ
二つ目は、型変換はオブジェクトそのものの操作で属性の変更じゃないからメソッド使えってこと
0748デフォルトの名無しさん
2016/04/12(火) 08:37:48.05ID:btagnXsu0749デフォルトの名無しさん
2016/04/12(火) 08:39:09.79ID:WtnI9BntそもそもVBAでする話じゃないわなwww
0750デフォルトの名無しさん
2016/04/12(火) 08:53:38.95ID:qfYIdiLt0751デフォルトの名無しさん
2016/04/12(火) 09:00:24.79ID:BmESo+NV冗談じゃない
0752デフォルトの名無しさん
2016/04/12(火) 09:12:16.27ID:1wVIN9qnというよりそもそもVBAerはそういう話題を嫌う。理由は3つくらいあるんじゃないか。
0753デフォルトの名無しさん
2016/04/12(火) 10:56:46.57ID:tcSQ2kyUActivesheet.Shapes.Add(何書くか細かくは忘れた).Select
としたあとに
Selection.ShapeRange.Text="アホ"
としなきゃならないみたいです。
でも単純にActivesheet.Shapes.Add(何書くか細かくは忘れた).ShapeRange.Text="アホ"
とできない理由はなぜですか?
エラーが出る。
このへんのしくみがよくわからない。
0754デフォルトの名無しさん
2016/04/12(火) 11:01:32.95ID:tcSQ2kyUActiveSheet.Shapes.AddShape(msoShapeOval, 100, 100, 100, 100).Select
Selection.Characters.Text = "うんこ"
だった。
これを
ActiveSheet.Shapes.AddShape(msoShapeOval, 100, 100, 100, 100).Characters.Text = "うんこ"
とできないのはなぜ?
0755デフォルトの名無しさん
2016/04/12(火) 11:03:19.06ID:tcSQ2kyUShapeRangeってどういうときに使うんでしょう?
このへんのこと詳しく書いてる本ってないかな?
0756デフォルトの名無しさん
2016/04/12(火) 11:05:46.41ID:tcSQ2kyUそこに書かれている文字列を取得したり書き込みしたりするのにSelectを使わないでやる方法はないのですか?
0757デフォルトの名無しさん
2016/04/12(火) 11:08:01.22ID:BmESo+NV0758デフォルトの名無しさん
2016/04/12(火) 11:14:46.74ID:DUyuWo3I0759デフォルトの名無しさん
2016/04/12(火) 12:54:34.46ID:Zq/wNYgfエラーになるのはShapeにはCharactersはないから
分けると動くのは
AddShapeが返してるオブジェクトと、Selectionが返してるオブジェクトで種類が違う
前者はShape、後者はOvalとかいう隠しタイプになってるな
一発でやる方法はしらん
0760デフォルトの名無しさん
2016/04/12(火) 14:00:20.14ID:Juix7VHFありがとうございます。
さすがくわしいかたのようですね。
そういうことはどうやってお調べしましたか?
あとSelectを使わずにこの種のShapeの文字列を自由自在にコードから操る方法ってあるでしょうか?
0761デフォルトの名無しさん
2016/04/12(火) 14:22:15.40ID:4cgDrrMQ0762デフォルトの名無しさん
2016/04/12(火) 14:52:47.07ID:Juix7VHFすばらしい!
ありがとうございます。
しかしそのコードはどうやって発見しました?
それを言っていただけないと単にすごいことができるぞという自慢だけで
後輩は育たないと思うんですよ。
0763デフォルトの名無しさん
2016/04/12(火) 14:56:33.44ID:csTZz+jGhttps://msdn.microsoft.com/ja-jp/library/office/ff193908.aspx
0764デフォルトの名無しさん
2016/04/12(火) 14:57:40.62ID:Juix7VHFActiveSheet.Shapes.AddShape(msoShapeOval, 100, 100, 100, 100).TextFrame2.TextRange.Text = "しっこ"
でも同様な効果が得られるみたい。
0765デフォルトの名無しさん
2016/04/12(火) 14:59:58.93ID:Juix7VHFSub test()
Dim s As Shape
Set s = ActiveSheet.Shapes.AddShape(msoShapeOval, 100, 100, 100, 100)
s.TextFrame.Characters.Text = "うんこ"
s.TextFrame2.TextRange.Text = "しっこ"
End Sub
のサンプルコードをF8のステップイン実行で実行させてやるとどうなるでしょうか?
0766デフォルトの名無しさん
2016/04/12(火) 15:04:55.97ID:Juix7VHFActiveSheet.Shapes.AddShape(msoShapeOval, 100, 100, 100, 100).TextEffect.Text = "まんこ"
0767デフォルトの名無しさん
2016/04/12(火) 15:07:06.27ID:lcRE+/VX0768デフォルトの名無しさん
2016/04/12(火) 15:50:02.95ID:v+pMiFFp0769デフォルトの名無しさん
2016/04/12(火) 16:10:55.28ID:STTwnrpw0770デフォルトの名無しさん
2016/04/12(火) 16:15:50.58ID:fzvKu7Wbだ・か・ら その制約のないスレがあるだろ
VBAなんでも質問スレ Part2
http://echo.2ch.net/test/read.cgi/tech/1432173164/
0771デフォルトの名無しさん
2016/04/12(火) 21:54:25.08ID:fGIKSfok2003ではエラーになった
0772デフォルトの名無しさん
2016/04/12(火) 22:25:34.76ID:nCbKxQn+VB.NetやC#を関数型言語に片足突っ込んだObject指向言語にしてるのが何ともなぁ。
クラスも多態性を持たせるために使うどころか単純に生成して使うことすら拒絶反応起こす人もいるし、
VBAではクラス使えば確かに便利な局面は多々あるけど、
別に使わなければ使わないでそこまで困るもんでもなし。
ただVBA上で使えるものを毛嫌いだけで真っ向否定するのもちょっとなぁ。
0773デフォルトの名無しさん
2016/04/12(火) 23:55:40.34ID:bWko/EWY0774デフォルトの名無しさん
2016/04/13(水) 00:16:04.53ID:dn9c0fAI0775デフォルトの名無しさん
2016/04/13(水) 08:08:12.84ID:0jY11d3Z0776デフォルトの名無しさん
2016/04/13(水) 08:10:47.45ID:HK9IN9G5誰がこんな糞言語好んで使うんだ
0777デフォルトの名無しさん
2016/04/13(水) 09:01:56.70ID:845RQjl0要は開発ではないってことだろ
そんな奴がVBAが使えるアプリ以外のどんなもののインストールを望んでいるんだ?
まさかそのVBAでデカいシステム組まさせられるって訳じゃないんだろ?
糞言語と罵る前に自分の糞立場わきまえたらどうだ。
0778デフォルトの名無しさん
2016/04/13(水) 09:15:25.53ID:OrR/ddjyJavaScriptは使えるんじゃね?
ブラウザで動くし
0779デフォルトの名無しさん
2016/04/13(水) 09:47:35.90ID:N3hRKpiTVBAのようにローカル扱いたいなら、Node.jsのインスコは必須だよ。
0780デフォルトの名無しさん
2016/04/13(水) 10:14:51.33ID:OrR/ddjy自分でNode.jsと同等機能を実装したのとセキュリティ観点ではほぼ同じじゃね?
jqueryも
0781デフォルトの名無しさん
2016/04/13(水) 10:26:45.62ID:N3hRKpiTNode.js実行環境を君は作れるというのか?
0782デフォルトの名無しさん
2016/04/13(水) 10:31:07.56ID:2GMFnytb変わった会社だな
0783デフォルトの名無しさん
2016/04/13(水) 11:13:32.08ID:OrR/ddjycscript使えば良いんじゃね?
powershellもあるし
0784デフォルトの名無しさん
2016/04/13(水) 12:27:25.79ID:TwQUWgB2開発???
それってどんな組織内のどういうポジションのことなの?
0785デフォルトの名無しさん
2016/04/13(水) 12:36:06.37ID:uOfWIXveインストールするソフトは(容易に把握できるから)気を付けるが、VBA でのローカル開発は黙認
って会社は普通にあると思うが
0786デフォルトの名無しさん
2016/04/13(水) 12:39:56.50ID:NE882Qtz0787デフォルトの名無しさん
2016/04/13(水) 12:49:02.04ID:TfhFpJny彼がやらされているのは「VBAで効率化できる程度の簡単な仕事」だぞ
0788デフォルトの名無しさん
2016/04/13(水) 12:56:57.54ID:2l+iut8i構うなよそんなやつに
0789デフォルトの名無しさん
2016/04/13(水) 12:57:51.65ID:OrR/ddjy普通はメーカーの製品開発部門かな
ソフトウェア製品とかIT関係とか家電メーカーとかの製品として販売されるものの開発
0790デフォルトの名無しさん
2016/04/13(水) 12:59:37.02ID:OrR/ddjyライセンスとかも気をつけると思うが
製品にオープンソースが入ったりすると面倒だし
0791デフォルトの名無しさん
2016/04/13(水) 13:18:50.34ID:roiJsbfQExcel操作以外が目的で(Excel)VBAを選択する奴はそもそも言語選択まちがってるし
来るスレも間違ってる
0792デフォルトの名無しさん
2016/04/13(水) 13:21:07.69ID:TwQUWgB2>>777の言う糞立場ってどんなものを想像してるんだろね?
0793デフォルトの名無しさん
2016/04/13(水) 13:30:44.90ID:TwQUWgB20794デフォルトの名無しさん
2016/04/13(水) 14:17:47.86ID:bdSInEaFそういうやらなくて良いことを勝手にやってしまう傍迷惑な奴いるね
必要なら上司に掛け合うのか社会人よ?
0795デフォルトの名無しさん
2016/04/13(水) 18:01:36.10ID:OSAV0HGg0796デフォルトの名無しさん
2016/04/13(水) 18:29:10.81ID:uOfWIXve製品自体に VBA で作成したプログラムを組み込んで販売するって結構レアケースだと思うが...
ほとんどがちょっとした集計処理とかグラフ化とかだと思うぞ
もちろんそう言うケースでもライセンス違反はダメだけど
0797デフォルトの名無しさん
2016/04/13(水) 18:30:58.60ID:uOfWIXve会社のルールの話してるのにいきなりアホ社員の話をぶっこんでくる奴は大抵使えない奴なので相手しなくていいかと
0798デフォルトの名無しさん
2016/04/13(水) 18:57:27.23ID:RI5jh8kc世の中にはエクセルの統計アドオンを販売している会社もある
0799デフォルトの名無しさん
2016/04/13(水) 19:06:32.52ID:TwQUWgB2「レアケース」に当てはまる。
それにそういう開発の話は仕事そのものであってここで議論する人間はもっとレアだ。
0800デフォルトの名無しさん
2016/04/13(水) 19:19:56.46ID:RI5jh8kcは開発部門と言ったら普通はこういう部門だろうと言うレス
開発用途でVBAを使ってないんだろうと言うスレの流れだろ?
中にはエクセルのアドオンとかを販売している会社もあるが
0801デフォルトの名無しさん
2016/04/13(水) 19:21:37.91ID:RI5jh8kcシステムからエクセルのxmlとかを出力したりエクセルからインポートしたり
0802デフォルトの名無しさん
2016/04/13(水) 20:06:18.69ID:B4WebXUj俺も最初糞言語だと思ったけど、後々それは結局ExcelVbaの使い所と、使い方をきちんと理解していないと理解した。
0803デフォルトの名無しさん
2016/04/13(水) 20:16:42.42ID:Hxzl4YYOSub pdf()
ChDrive ThisWorkbook.Path
ChDir ThisWorkbook.Path
Dim graph As Object
For Each cht In Worksheets(3).ChartObjects
cht.ExportAsFixedFormat Type:=xlTypePDF
Next
End Sub
しかし、chartオブジェクトにExportAsFixedFormatメソッドは使用できないらしくエラーが出ました
どうすればよいのでしょうか・・・・
printoutメソッドは、
・通常使うプリンターをpdfドライバーに変更しなければならない
・Antenna house pdf driverを使用している私は API?なるものを活用しなければ、出力先を指定できない(難しい・・・)
以上の理由から、あまり使いたくありません
0804デフォルトの名無しさん
2016/04/13(水) 21:08:52.91ID:CaW4EOQpグラフだけをpdf化したいんだよね?
あまり詳しくはないけど
グラフを選択してから普通にpdf化すればいいみたいね
ActiveSheet.ChartObjects("Chart 1").Select
ActiveSheet.ExportAsFixedFormat Filename:="d:\test1.pdf", Type:=xlTypePDF
0805デフォルトの名無しさん
2016/04/13(水) 21:11:34.99ID:OrR/ddjyExportasfixedformatメソッドはchartクラスに有るよ
typenameでchtの型を確認してみた?
0806803
2016/04/13(水) 21:17:55.53ID:Hxzl4YYOグラフを選択せずに、インデックス番号で指定してpdf化したいです
>>805
chartobject と出ます
0807デフォルトの名無しさん
2016/04/13(水) 21:20:14.40ID:sLqcxpehFor Each cht In Worksheets(3).ChartObjects
cht.Chart.ExportAsFixedFormat Type:=xlTypePDF
Next
0808803
2016/04/13(水) 21:31:51.95ID:Hxzl4YYOおお! 今まさにそのように考えて解決を試みていました
なるほどChartobjectオブジェクトのChartプロパティでchartオブジェクトを返せばいいということですね (←これはあっていますか?
しかしこのコードだと保存されたそばから上書きされてしまいました
もし解決できなかったらまたお世話になります
ありがとうございました
0809803
2016/04/13(水) 22:45:43.03ID:Hxzl4YYO例えば
dim ws as Worksheet
For each ws in Worksheets
この場合、wsはWorksheetsコレクションを構成する各要素 つまり一つのブックの中の一つ一つのシートです
それならば
Dim cht As Object
For Each cht In Worksheets(3).ChartObjects
この場合、chtはChartObjectsオブジェクトが含むオブジェクト つまりWorksheets(3)にある一つ一つのChartオブジェクト ということになると思いました
しかし>>807さんのコードで上手くいったことからそれは間違いで、chtはchartobjectオブジェクトを意味しています
となるとなぜ>>807さんのコードで、グラフ一つ一つを印刷できたのでしょうか
ChartObjectオブジェクトは、あるシートに含まれる全てのグラフを含んだコンテナです
なのでcht.chartでは、一つのchartオブジェクトを返すことができないはずだと考えてしまいました。
ChartObject(1).chart ならそれが可能なのは理解できるのですが
冗長な文章になってしまいすみません うまく表現できません
0810803
2016/04/13(水) 22:46:36.95ID:Hxzl4YYO×ChartObject(1).chart ならそれが可能なのは理解できるのですが
○ChartObjects(1).chart ならそれが可能なのは理解できるのですが
0811デフォルトの名無しさん
2016/04/13(水) 22:52:11.29ID:OrR/ddjyなんでは?
0812デフォルトの名無しさん
2016/04/13(水) 22:53:27.54ID:Hxzl4YYOすみません分かりません
kwsk教えていただけると嬉しいです
0813デフォルトの名無しさん
2016/04/13(水) 22:59:26.40ID:OrR/ddjychartobjectsクラスと ←複数形
chartobjectクラスと ←単数系
chartクラスがある
0814デフォルトの名無しさん
2016/04/13(水) 23:07:01.41ID:Hxzl4YYO0815デフォルトの名無しさん
2016/04/13(水) 23:11:12.66ID:OrR/ddjychartobjectsの中に
chartobjectが複数入っている
chartobject.chartでchartオブジェクトを取得できる
chartオブジェクトにexportasfixedformatメソッドがある
0816デフォルトの名無しさん
2016/04/13(水) 23:22:35.06ID:Hxzl4YYO>chartobject.chartでchartオブジェクトを取得できる
ChartObjectオブジェクトは一つのワークシートのコンテナなので、chartobjectのchartプロパティを取得したときに、一体どのグラフを返していることになるのでしょうか
0817807
2016/04/14(木) 00:05:12.72ID:EX/txgU+ChartObjectsは、上記ChartObjectの集合体(コレクション)
>>807の For Each文は、以下のFor文の処理と同義で、
Worksheets(1)上のChartObjectsコレクションからChartObjectコンテナを一つずつ取得している
For i = 1 To Worksheets(3).ChartObjects.Count
Worksheets(3).ChartObjects(i).Chart.ExportAsFixedFormat Type:=xlTypePDF
Next
0818デフォルトの名無しさん
2016/04/14(木) 00:12:51.20ID:p7xelN/lChartObject(コンテナ)は、Chartオブジェクト一つにつき一つなのですか?
一つのシートに一つあり、そのシートの中の複数のChartオブジェクトを包括するものだと思っていたのですが(実際にそういう説明をよく見かけるのですが)
どうなのでしょうか
0819デフォルトの名無しさん
2016/04/14(木) 00:14:15.22ID:ue9e86d/https://msdn.microsoft.com/ja-jp/library/office/ff822178.aspx
ChartObject オブジェクト
https://msdn.microsoft.com/ja-jp/library/office/ff838184.aspx
ChartObject オブジェクトは、ChartObjects コレクションのメンバーです
ChartObject オブジェクトは、Chart オブジェクトのコンテナーとして機能します
Chart オブジェクト
https://msdn.microsoft.com/ja-jp/library/office/ff194426.aspx
ChartObjectsはChartObjectをコレクションしたもの
ChartObjectはChartのコンテナ
dim chobjs as ChartObjects
dim chobj as ChartObject
dim ch as Chart
set chobjs = Worksheets(
0820デフォルトの名無しさん
2016/04/14(木) 00:18:16.15ID:ue9e86d/シート中のグラフはChartObjectsにコレクションされている
そのコレクションの中にChartObjectがあり
https://msdn.microsoft.com/ja-jp/library/office/dn254146.aspx
に示されるプロパティなどを持つ
ChartObjectに対して一つだけChartが含まれる
0821デフォルトの名無しさん
2016/04/14(木) 00:24:49.35ID:p7xelN/l>>820
ありがとうございます。
全てきれいさっぱり解決いたしました。
懇切丁寧に教えていただき、本当に助かりました。
0822デフォルトの名無しさん
2016/04/14(木) 05:29:44.20ID:huHx40xB会社のPC(Windows7, Excel2010)の時だけ、開発タブの挿入がグレーアウト
されていて、ActiveXコントロールが挿入できなくなっています。
以下は試したことです。
・セキュリティセンターからActiveXの設定とマクロの設定を、いずれも一番下
の推奨されない緩いセキュリティに変える。
・シートの保護、ブックの保護がかかっていないか確認。
・適当なローカルな場所を信頼できる場所に追加し、そこから開いてみる。
いずれも不可です。箸にも棒にもかかりません・・。
ぐぐっても、セルが入力状態にあるから云々とか、いやそうではないんだが・・的な回答しか
見つかりませんでした。
有り得そうな原因あったら教えて下さいm(__)m
0823デフォルトの名無しさん
2016/04/14(木) 05:42:43.57ID:S5Z9jjbXCtrl+6を押してもダメだった?
0824デフォルトの名無しさん
2016/04/14(木) 06:07:36.36ID:huHx40xBCtrl+数字にもショートカットが割り当てられているとは知りませんでした。
他にも色々あるようで、勉強になります。
会社行ったら試してみます。
0825デフォルトの名無しさん
2016/04/14(木) 06:49:44.19ID:ue9e86d/これかも
0826デフォルトの名無しさん
2016/04/14(木) 07:35:13.50ID:huHx40xB情報有難うございます。
しかし、私の状態だと挿入ボタン自体が押せないので、
このエラーメッセージが出る前段階だと思われますが、
貼って頂いたサイト記載の更新プログラムを適用したら、解決するかもしれないので、
会社のインストールされた更新プログラムでKB2920813がなければ、インストールする許可を得て、
試してみます。
0827デフォルトの名無しさん
2016/04/14(木) 10:53:44.19ID:43q2R/oLその使い方を詳しく書いてるサイトはどこかありませんか?
0828デフォルトの名無しさん
2016/04/14(木) 11:20:51.41ID:n4RA/uSu何度言えば判るんだ
0829デフォルトの名無しさん
2016/04/14(木) 11:31:41.16ID:43q2R/oLきさまはバカだからアホなのだ
0830デフォルトの名無しさん
2016/04/14(木) 11:33:00.10ID:rJmmubWG0831デフォルトの名無しさん
2016/04/14(木) 12:19:36.70ID:RBjQzGN90832デフォルトの名無しさん
2016/04/14(木) 12:36:29.71ID:r/b7CawPここの>>1は結構制約がきついからしょ
うがないんだよ
0833デフォルトの名無しさん
2016/04/14(木) 13:45:21.03ID:43q2R/oL0834デフォルトの名無しさん
2016/04/14(木) 20:52:06.46ID:CUrJ0Q0x本
http://www.amazon.co.jp/exec/obidos/ASIN/0782129781/thomjp0d-22/
0835デフォルトの名無しさん
2016/04/14(木) 21:10:40.88ID:S5Z9jjbXhttp://www.amazon.co.jp/dp/0782129781
0836デフォルトの名無しさん
2016/04/14(木) 23:24:10.90ID:JKOdJScv小学生のガキみたいだ
0837デフォルトの名無しさん
2016/04/15(金) 22:29:40.22ID:rhf3krUn「すぐわかるSUPER Excel配列マジックを極める」
配列かと思ったら配列数式で別物っぽかった
0838デフォルトの名無しさん
2016/04/16(土) 10:45:55.47ID:peZgGr8uこういうやつか
https://support.office.com/ja-jp/article/配列数式のガイドラインと例-3be0c791-3f89-4644-a062-8e6e9ecee523
有用かもしれん。かもしれんが...
0839デフォルトの名無しさん
2016/04/16(土) 14:44:56.55ID:qELknsqA一応勉強したなら必要に応じてサブに分けることもわかってるでしょ
0840デフォルトの名無しさん
2016/04/16(土) 19:19:51.75ID:tDYh9Y5uエクセル2010です
月ごとにシートがあり、シートの中には縦に1日から月末まで1日1行の表があります。シート名は月の数字です4,5,6....12,1,2,3
ファイルを開いた時に、今月のシート・今日の行の任意の列のセルにカーソルが行くのを、マクロでどう書けば良いでしょうか?
0841デフォルトの名無しさん
2016/04/16(土) 19:27:20.66ID:xQvQS4SDdate()関数と
month()関数、day()関数を使って月、日を取得して
sheetとrowを指定する
これをbook_openに記述する
0842デフォルトの名無しさん
2016/04/16(土) 19:31:37.58ID:tDYh9Y5uありがとうございます
それをどう書くのかが分からなくて、すみません
0843デフォルトの名無しさん
2016/04/16(土) 19:34:25.31ID:xQvQS4SDマクロの記録をしてみたら書き方が判る
そしてググる
0844デフォルトの名無しさん
2016/04/16(土) 19:46:07.66ID:T2HjmXrGPrivate Sub Workbook_Open()
Sheets(Format(Date, "m")).Select
Cells(Day(Date), 1).Select
End Sub
0845デフォルトの名無しさん
2016/04/16(土) 20:00:13.87ID:tDYh9Y5uあ、ありがとうございますm(_ _)m
0846デフォルトの名無しさん
2016/04/17(日) 03:40:19.03ID:HRAtrX3ASub Sample()
Dim FSO As FileSystemObject
Set FSO = New Scripting.FileSystemObject
With FSO.GetFile(ThisWorkbook.FullName)
MsgBox .DateCreated & vbCrLf & _
.DateLastModified
End With
End Sub
これですがパスででファイルの場所を指定したい場合はどう書けばいいのでしょうか? C:\a\a.txt とかを指定させるには
0847デフォルトの名無しさん
2016/04/17(日) 04:03:01.62ID:r1z8ZsQ7Dim FSO As FileSystemObject
Set FSO = New Scripting.FileSystemObject
With FSO.GetFile("C:\a\a.txt")
MsgBox .DateCreated & vbCrLf & _
.DateLastModified
End With
End Sub
0848デフォルトの名無しさん
2016/04/17(日) 04:09:41.37ID:HRAtrX3Aありがとうございます。
0849デフォルトの名無しさん
2016/04/17(日) 14:44:37.33ID:jC6rJSNe▼1
△4
△3
△2
△1
セルA列にサインが出ます。
セルB列はそのサインを数えるようにしたいです。
サインが変わったらまた1から数えるようにしたいのですが、
B1=IF(MATCH(A1,A2,0),(A2+1),"")
の数式をいれたら
▼#N/A
▼#N/A
△4
△3
△2
△1
になります。
マッチ関数が間違っているのでしょうか?
教えてください。
0850デフォルトの名無しさん
2016/04/17(日) 15:09:01.06ID:raJPTXVn=IF(A1=A2,B2+1,1)
0851デフォルトの名無しさん
2016/04/17(日) 15:17:07.10ID:W8eGvwXVサインって何?セルの値のこと?
0852デフォルトの名無しさん
2016/04/17(日) 15:39:04.38ID:/MR8BgO8えっとここ EXCEL VBAスレだよ
EXCEL関数ではなく それをVBAでやりたいって事?
0853デフォルトの名無しさん
2016/04/17(日) 15:59:36.39ID:HRAtrX3Aif ・・・ then
命令あれこれ
end if
その他の命令大量
end sub
↑このようなコードで1つめの「命令あれこれ」をsubプロシージャ以外の方法で
ユニット化して組み替えができるようにする事はできないのでしょうか?
たとえば外部テキストに「命令あれこれ」のコードを切り出しそこを書き換えれば
上のサブ以下の「命令あれこれ」のコードが書き換わるみたいな事はできないのでしょうか?
ようは特定のコードの書き換えだけならブックを開いてVBEを開いてとかやらなくても
外部テキスト化などができればものすごく便利だのになあと思っているのですが。
0854デフォルトの名無しさん
2016/04/17(日) 16:11:17.64ID:/MR8BgO8たしかVBAでも
標準モジュールとかの外部ファイルとの インポート/エクスポート や
モジュールのコード直接書き換えとか出来たハズよ
ただコンパイルタイミングとか分ってないと辛いかも
結構昔にやった記憶があるだけで 具体的どうやるかは 記憶の彼方なのでゴメンです。
0855デフォルトの名無しさん
2016/04/17(日) 21:35:13.13ID:xHtHaS0e標準モジュールやフォームモジュールを出力をするのは作ったけど。
それが出来るのかどうかは知らないけど、
"VBA プロジェクト オブジェクト モデルへのアクセスを信頼する" 辺りを手掛かりに探せば良いとは思うけどさ。
0856デフォルトの名無しさん
2016/04/17(日) 22:03:43.00ID:yiGLg3bpそのための機能がSubプロシージャなのに、どうしてそれを否定して違うことやりたがるのか理解に苦しむ
変なこと考える前に、もっと勉強した方がいいんじゃないかな
0857デフォルトの名無しさん
2016/04/17(日) 22:07:33.78ID:raJPTXVnもし分岐のパターンが複雑なら、書き換えのパターンも同じぐらい増えて複雑になるはずだし
0858デフォルトの名無しさん
2016/04/17(日) 22:21:24.39ID:c0D8Inbp真の目的がよくわからないけど、
Sub Sample の柔軟性を高めたいだけなのか、ソースコードをいじることなく処理を可変にしたいのか・・・
0859デフォルトの名無しさん
2016/04/17(日) 23:18:07.54ID:xHtHaS0eサブルーチン化してモジュールに書いておけばすむことだと思うけどね。
出来たとして、そのテキストを誰かに差し替えられたりしたらどうするのさ
0860デフォルトの名無しさん
2016/04/17(日) 23:28:59.43ID:p7U7DtRqVBA一筋の人にはわからんかもしれんが、IDEとしては発狂するほどクソだから
0861デフォルトの名無しさん
2016/04/17(日) 23:33:31.31ID:c0D8Inbpctrl + Y 以外のことは我慢しよう
0862デフォルトの名無しさん
2016/04/17(日) 23:34:16.13ID:osDqr2dwdllでやる
0863デフォルトの名無しさん
2016/04/17(日) 23:58:19.39ID:c0D8Inbp命令あれこれの部分がどういう仕様になっているのか、外部のリソースを参照しないとわからないのは、かなり致命的な気がするんだが。
「便利さ」なんかと引き換えにしちゃいかんのじゃないだろうか。
0864デフォルトの名無しさん
2016/04/18(月) 19:11:17.64ID:d9atAd1xそれが出来ればウイルスも簡単に作れるね。
と言う訳で知ってても教えない。
ま、知らないけど(・ω・)ノ
0865デフォルトの名無しさん
2016/04/19(火) 01:15:29.56ID:757TeAddデータ改ざんや盗み見・横領なんかがしほうだいになるわけですね。わかります。
0866デフォルトの名無しさん
2016/04/19(火) 03:57:41.45ID:gWOhS/GAつまりインクルードのある言語は全て危険なんですね
0867デフォルトの名無しさん
2016/04/19(火) 04:32:24.40ID:4deCqraJ関数などで計算して、指定したセルに数値が出たら
自分のスマホにメール送信って可能でしょうか?
どのような入力になりますか?
0868デフォルトの名無しさん
2016/04/19(火) 05:00:52.58ID:8AqzAaWi0869デフォルトの名無しさん
2016/04/19(火) 06:39:59.45ID:F3hUMhv7可能です
changeイベントを使います
メール送信部分はVBAなんでも質問スレで聞いてね
0870デフォルトの名無しさん
2016/04/19(火) 13:01:35.31ID:6Wh9TF6dさっぱり見えないけど
Excel を常時立ち上げたままネットから情報取得させてるという前提でいいの?
関数に必要なパラメータ一式をExcel側で取得するところまではできているの?
定期的にその関数を呼び出してセル更新?する処理もあるの?
メール送信はフリーソフトで出来るっぽいけど
0871デフォルトの名無しさん
2016/04/20(水) 00:17:31.91ID:bmaSmBeI同一標準モジュール内のプロシージャを呼び出して使うより、
クラス化してメソッドとして呼び出す方が圧倒的に速い?
0872デフォルトの名無しさん
2016/04/20(水) 00:26:16.78ID:J5Y7SWJ2いんや、普通に考えてそれだけだったらインスタンスとしてヒープエリアに展開するだけ余計に時間が掛かるよ。
0873デフォルトの名無しさん
2016/04/20(水) 00:51:55.20ID:9kzdASoC0874デフォルトの名無しさん
2016/04/20(水) 00:54:02.30ID:Wvmif1u5コードが綺麗になるならそうしよう
0875デフォルトの名無しさん
2016/04/20(水) 00:55:56.64ID:QaoF6bar日本語でおK
0876デフォルトの名無しさん
2016/04/20(水) 01:27:50.52ID:HI3dt0d70877デフォルトの名無しさん
2016/04/20(水) 06:50:57.36ID:XnBYIzBkまずはやってみればいいと思う
0878デフォルトの名無しさん
2016/04/20(水) 10:23:11.60ID:oXU9Jk7I1GHzのCPUって、ざっくりいうと1秒間に10億個の命令を処理できる(正しい計算方法は調べること)。
これは、1ms(1/1000秒)で100万個の命令を処理できるということ。
さて、
> 同一標準モジュール内のプロシージャを呼び出して使う
と
> クラス化してメソッドとして呼び出す
では、何回実行すれば100万個の命令差=1msになるだろうか。
何千・何万・何十万回実行して、やっと1msの違いがでるような速度差を気にして、
なにかいいことがあるだろうか。
0879デフォルトの名無しさん
2016/04/20(水) 10:34:58.18ID:C6NCjoHD0880デフォルトの名無しさん
2016/04/20(水) 12:39:32.03ID:r07pzD8i0881デフォルトの名無しさん
2016/04/20(水) 13:20:51.71ID:NoLhLRW8Windows10にしたら起動しなくなりました。
管理者権限のせいだと思うのですが、VBAからbatを管理者権限で起動するにはどうすればいいでしょうか
0882デフォルトの名無しさん
2016/04/20(水) 14:26:04.17ID:VSWmyNUMつか、元のVBA(EXCEL)を管理者権限で開けば行けないか?
0883デフォルトの名無しさん
2016/04/20(水) 15:01:03.56ID:NoLhLRW8ファイルを直接開くとエラーが出て開けませんでした
Set ShellObject = CreateObject("WScript.Shell")
ShellObject.Run strFNAME, 0, True
くらいの簡単な記述で出来ればいいのですが
0884デフォルトの名無しさん
2016/04/20(水) 16:48:20.84ID:BnTCMp9kなせググらない?
0885デフォルトの名無しさん
2016/04/20(水) 17:08:52.69ID:JHESp5IW0886デフォルトの名無しさん
2016/04/20(水) 17:54:09.77ID:BnTCMp9kググった方が 時間的効率は 格段にいいとおもうがなwww
0887デフォルトの名無しさん
2016/04/20(水) 18:56:25.56ID:JHESp5IWそうなんだけど、ググる時もいろいろな検索ワードを試して求める答えにたどり着くプロセスがあるし、
誰かと誰かの間のQ&Aを見て解決することも多いから、リアルタイムで質問を投げるのと同じ感覚になってしまうの「かも」れない。
0888デフォルトの名無しさん
2016/04/20(水) 19:06:03.07ID:Sur/P73hそうか。意外に少ないんだな。
0889デフォルトの名無しさん
2016/04/20(水) 19:44:31.05ID:BDVeszGl0890デフォルトの名無しさん
2016/04/20(水) 20:15:26.95ID:o6av1Mmh0891デフォルトの名無しさん
2016/04/20(水) 20:21:45.08ID:UrqjqFdnいや、ctrl+Yのことは許さない。
0892デフォルトの名無しさん
2016/04/20(水) 20:24:29.79ID:UrqjqFdn0893デフォルトの名無しさん
2016/04/20(水) 20:30:15.51ID:hWyRlGG/0894デフォルトの名無しさん
2016/04/21(木) 08:40:54.66ID:cHASgz3Rctrl+Yを押すと一体何が起こるの?
0895デフォルトの名無しさん
2016/04/21(木) 09:52:05.60ID:tp4wI+eO普通ctrl+yはctrl+zの逆の動作。
「やり直し」と「元に戻す」でペアになっている。
ほとんどのアプリがそうなってるし、そもそもExcelもその仕様。 指が覚えてしまってる人も多いだろう。
それなのにVBEでは「行削除」に割り当てられていて変えることができない。(「やり直し」はメニューからやるしかない)
ついうっかりctrl+yすると、それまでの履歴が消えてしまうという糞仕様。
0896デフォルトの名無しさん
2016/04/21(木) 11:02:32.90ID:S3Ke5d3Q0897デフォルトの名無しさん
2016/04/21(木) 11:40:18.58ID:tp4wI+eOUnDoで行き過ぎたことない?
0898デフォルトの名無しさん
2016/04/21(木) 13:30:07.70ID:S3Ke5d3QUndo自体めったにしない
連続したUndoは、多分人生で一度もない
0899デフォルトの名無しさん
2016/04/21(木) 13:52:33.94ID:tp4wI+eO0900デフォルトの名無しさん
2016/04/21(木) 15:02:59.43ID:EBzeLfdfWindows3.0とかのキーアサインは今と色々違ったからな
0901デフォルトの名無しさん
2016/04/21(木) 15:49:21.36ID:Gwayf2Bu0902デフォルトの名無しさん
2016/04/21(木) 18:56:53.25ID:2f4qYReE俺はVBEでそこまで必要としてないから試してないけど
0903654
2016/04/21(木) 20:55:15.15ID:8hRn9v6h面倒ならキーにシールを貼れ
0904デフォルトの名無しさん
2016/04/21(木) 21:08:54.97ID:tp4wI+eO何のこと?
0905デフォルトの名無しさん
2016/04/21(木) 21:34:29.19ID:CB8M35k1糞言語をやりすぎてバカになったんだよ
放っといてあげよう
0906デフォルトの名無しさん
2016/04/22(金) 19:07:15.16ID:m77bnIuUブックを5つ開いています(起動順にブック1、ブック2・・・ブック5とします)。
タスクバーのアイコン?の並び順は起動順になりますが、
ブック1のマクロのうち特定のマクロを動かすと、
(マクロの内容:ブック1内のデータを用いて新規ブックにグラフを作成する)
タスクバーのアイコンの並び順がブック2、ブック3、ブック4、ブック5、ブック1、グラフ用の新規ブックと並び変わってしまいます。
マクロを実行してもタスクバーのアイコンの並び順が変わらないようにしたいのです。
アドバイスをお願いします。
0907デフォルトの名無しさん
2016/04/22(金) 19:19:02.37ID:42XCwyF9知らんけど
0908デフォルトの名無しさん
2016/04/22(金) 19:22:49.14ID:xlPUEc9A全部処理が終わったら
希望順に並べる。
0909デフォルトの名無しさん
2016/04/22(金) 19:47:38.13ID:zkjwnIQC配列かコレクションに開いてるブックの名前、パスを最初の並び順通りに挿入しといて処理後に戻せばいいんじゃないの
並び順をどうやって変えるかは知らん
0910デフォルトの名無しさん
2016/04/22(金) 19:57:53.06ID:m77bnIuU無理ですかね・・・
>>908
ブックを閉じずに並び替える方法ってあります?
>>909
やろうとするとそうなりますよね?
お手軽な方法があればなと思い質問させてもらいました・・・
0911デフォルトの名無しさん
2016/04/22(金) 20:44:29.78ID:zkjwnIQC後の処理に差し支えるとかならその処理を見直したり、ブックを一度に開きまくるのをやめたりしたほうがいいと思うけど
0912デフォルトの名無しさん
2016/04/22(金) 21:50:54.42ID:m77bnIuUタスクバーの同じ所をクリックすると同じブックがアクティブになるというのは大変ありがたいのです。
タスクバーの下から3つ目をクリックするとブック3がアクティブになる、
タスクバーの一番下をクリックするとブック5がアクティブになる、この法則が崩れると困るのです・・・
0913デフォルトの名無しさん
2016/04/22(金) 22:36:39.21ID:jO++qPGLもしくはその5mm高のバーを画面内にボタン配列でフロートさせとけよ 並び順は不変にできるぞ
ブックのアクティブとボタンのアクティブを連動させりゃ、グラフシートが有るとき無い時の判別も楽
0914デフォルトの名無しさん
2016/04/22(金) 22:56:33.91ID:HoGcTshwブック2345を閉じて再度順番に開くとか
0915デフォルトの名無しさん
2016/04/22(金) 23:06:39.36ID:42XCwyF9そういう質問/回答の余地はもうVBAに残ってないのかな...
0916デフォルトの名無しさん
2016/04/23(土) 08:55:02.77ID:Pv94Wakcこれらのファイルに共通の同じマクロが入ってて
なにか修正が必要となったときすべてのBookを開いて修正して保存するという作業が面倒です。
なにかいい方法はありますか?
0917デフォルトの名無しさん
2016/04/23(土) 08:56:33.32ID:Pv94Wakc自分のPCだけで完結する方法以外で。
0918デフォルトの名無しさん
2016/04/23(土) 09:09:49.48ID:c0gAexeqA修正後、コピペする。
0919デフォルトの名無しさん
2016/04/23(土) 09:11:47.05ID:ZKGi6a/4そしてシステムを更新した場合は、そのデータベースシート一枚をコピーしたひな形に移す。
0920デフォルトの名無しさん
2016/04/23(土) 09:24:16.89ID:W+6KnVEbてか共通の同じ部品ならアドインにすればいいんじゃね?
0921デフォルトの名無しさん
2016/04/23(土) 09:35:34.95ID:KUgCZOSaプログラムロジックそのもの(つまりライブラリ化)であれば>>920
0922デフォルトの名無しさん
2016/04/23(土) 10:21:23.61ID:Pv94Wakcあなたダメ(ワラ。コピペの手間や、コピヘ忘れなどがあるからこそそれを改善したくて質問してるのに。
>>919
どういうことでしょう?ブックはそれぞれ別の人も担当してることがあるのでブックを1つにまとめることはできませんよ。
>>920
他のユーザたちがアドインの方法とか知らないし、こんなExcelマクロを使う作業って他に100くらいある仕事の作業の1つなので
ユーザに手間暇かけさせることはしたくない。
0923デフォルトの名無しさん
2016/04/23(土) 10:32:47.26ID:ZKGi6a/4「ブック内」の情報を「一枚のシートに納める」っつってんだろ。
要するにマクロを移すんじゃなくてデータの方を移すんだよ。
0924デフォルトの名無しさん
2016/04/23(土) 10:37:16.52ID:c0gAexeqまー今のままで続行を
勧めるよ。
0925デフォルトの名無しさん
2016/04/23(土) 10:37:20.52ID:KUgCZOSaBookA, BookB, BookC, BookD, BookE, Boof, BookGは各人が別々のコピーを持つんじゃなくて共有ファイルなんでしょ?
アドインを参照設定した状態でセーブしておけばユーザに手間なんかかからない。
0926デフォルトの名無しさん
2016/04/23(土) 10:38:42.07ID:6wSq8qCO共通部分のマクロだけのブックを用意してApplication.Runで呼び出す
0927デフォルトの名無しさん
2016/04/23(土) 11:17:36.56ID:Pv94Wakcそのアドインってなに?というアホ社員がいっぱいいるんですよ。
もし言ったらこんなアイーン体操をはじめるような人たちばかりなので。
https://www.youtube.com/watch?v=fMAOroDQxaQ
0928デフォルトの名無しさん
2016/04/23(土) 11:21:07.27ID:Pv94Wakcそれはいい方法かもしれないけど
うちのネットワークでは他ファイルを開くのはかなり時間(遅いときは10秒以上)がかかることもあってやりたくないんですよね。
0929デフォルトの名無しさん
2016/04/23(土) 11:27:42.41ID:xYCWXxgrそれだけ色んな条件並べるんなら、
誰か別の人間にやらせるってのが一番楽だろうな…
0930デフォルトの名無しさん
2016/04/23(土) 11:34:58.31ID:ZKGi6a/40931デフォルトの名無しさん
2016/04/23(土) 11:35:28.61ID:q7oeQNm7そんなに秒単位を争うような作業を大勢でやってるのか?しかもExcelで
マクロの修正作業は10秒どころじゃ済まないし
10秒待てば解決するんならそれが最善に見えるんだけど
0932デフォルトの名無しさん
2016/04/23(土) 11:37:47.07ID:a9/ixjX8コンサルとかに金払って問題解決してもらえ
0933デフォルトの名無しさん
2016/04/23(土) 11:39:56.52ID:a9/ixjX80934デフォルトの名無しさん
2016/04/23(土) 11:41:25.44ID:368nvyQHみんなが帰ったあと一人で残業してんのか?
そんだけ手間をかける価値と作業量のある仕事なら書き換えアプリをVBAで自作するしかないな
0935デフォルトの名無しさん
2016/04/23(土) 12:39:06.71ID:svVKDJrTDB導入して
ロジック データ 画面を分離しな。
粗結合を意識なさい。
0936デフォルトの名無しさん
2016/04/23(土) 12:47:45.10ID:KUgCZOSaだ か ら ー
アドインをあんたが作ってあんたが参照設定してアホ社員には何も言わず黙っときゃいいだけでしょ?
0937デフォルトの名無しさん
2016/04/23(土) 15:01:20.09ID:k86gIYl8>>あなたダメ(ワラ
この言い方 俺宛てでなくとも イラッってくるな
因みに VBAで他ブックのモジュールのコード書き換えは出来る
ブックオープン→書き換え→セーブ→クローズ
ってね
ブック.VBProject.・・・.・・・.・・・ で操作する
これ以上は教えない 自分で調べてね
0938デフォルトの名無しさん
2016/04/23(土) 18:04:14.48ID:pLBuIEOb後々仕様変更発生した時点で当人がへどもどする様を眺めるのがいいんじゃ
この手の輩は結果だけを要求してるから経過に苦労していないと全お手上げに嵌るんだし
で、社内で居場所無くしてスピン・オフしてくと そこまで見えるのにw
最近こういう手合い多いね 昔っからかな? ある意味テンプレ人間だわな
こんなとこで相手を「あなた」呼ばわりするなんてのは日本人じゃ無い系統を想起させるし
0939937
2016/04/23(土) 19:23:07.77ID:k86gIYl8いいたい事 分るけれども
みっちり作り込むのメンドイから
単純に テキストファイルからモジュールに流し込む形で作ってたのよね
で・・・あれ見つけて やーーーめたって事なのよ
0940デフォルトの名無しさん
2016/04/23(土) 21:23:57.09ID:KUgCZOSa0941デフォルトの名無しさん
2016/04/23(土) 21:41:08.42ID:xaeIxYUv0942デフォルトの名無しさん
2016/04/23(土) 22:07:26.21ID:KUgCZOSa0943デフォルトの名無しさん
2016/04/24(日) 00:40:41.23ID:Wg29Bkb/>>927はいっぱいいるアホ社員の内の1人ということなんだろう
0944デフォルトの名無しさん
2016/04/24(日) 01:03:33.11ID:Wg29Bkb/だからアドインがどういうものかよく知りもしないで適当なこと言ってるのが見え見えだ
C++erなら共通部分をdllで作ってそれを参照させとけば修正が発生したときに
それを直して置き換えればいいだけだろ
いつものようにVBAで出来ないことのアラ探しをしては結局出来て恥をかく
ちんこプラプラーのいつものパターンだな
0945デフォルトの名無しさん
2016/04/24(日) 09:35:23.89ID:pg4TufYWなるほど
0946デフォルトの名無しさん
2016/04/24(日) 09:54:30.27ID:IAGUz2Ljクリックすると、レが入り、
もう一度クリックすると、レが消えるコードは
どう記述するの?
教えてm(_ _)m
0947946
2016/04/24(日) 10:00:08.32ID:IAGUz2Ljクリックすれば、交互にレが出たり消えたりしますね。
0948デフォルトの名無しさん
2016/04/24(日) 10:42:14.68ID:6Vo9vF9Iアホ社員しかいない職場でなければアドインは結構まともな解決策に見えるけど?
0949936
2016/04/24(日) 10:53:24.81ID:pg4TufYWおれは昔ながらのxlaを作って参照させてるけど。
0950デフォルトの名無しさん
2016/04/24(日) 10:55:25.89ID:bRUDllTZそのアドイン使えば?という問い掛けにたいするC++erの回答がこれ
927 名前:デフォルトの名無しさん :2016/04/23(土) 11:17:36.56 ID:Pv94Wakc
>>925
そのアドインってなに?というアホ社員がいっぱいいるんですよ。
もし言ったらこんなアイーン体操をはじめるような人たちばかりなので。
https://www.youtube.com/watch?v=fMAOroDQxaQ
0951デフォルトの名無しさん
2016/04/24(日) 10:59:08.32ID:bRUDllTZvbaのスレだし
その認識で合ってると思うよ
あとxlam
0952デフォルトの名無しさん
2016/04/24(日) 11:43:55.94ID:4N6CUDmc0953デフォルトの名無しさん
2016/04/24(日) 12:09:40.29ID:/zPW9y1n0954デフォルトの名無しさん
2016/04/24(日) 12:12:07.00ID:PJXOgY3X0955デフォルトの名無しさん
2016/04/24(日) 13:08:09.17ID:0aotVlm+激安・格安サーバスレで丁度話題に成ってるけど 工作機系の専用ソフトが
三十年前のPC-98と共にいまだに健在とかww
PC側変えたら工作機の運用に支障を来たすってのが理由らしいけど
ExcelにしろAccessにしろ、所詮単体の業務アプリなんだろ?
例えば仕入れと売り上げと在庫と社員の管理とかまで連動させてるとかだとしても
どうしてもExcelでなきゃ、Accessでなきゃできない ってもんでもあるまいし
いずれは置き換えられるものって認識でいいだろ
0956デフォルトの名無しさん
2016/04/24(日) 13:10:48.69ID:PJXOgY3Xデータはそうはいかないでしょ。
0957デフォルトの名無しさん
2016/04/24(日) 16:06:35.24ID:3T0zrWfi礼はどうしてしないの?
0958デフォルトの名無しさん
2016/04/24(日) 17:31:27.89ID:pg4TufYWヤツはどの回答を選んだのだろうか・・・
0959デフォルトの名無しさん
2016/04/24(日) 21:11:20.76ID:TbfVfLGLたぶん、何もしてない
0960デフォルトの名無しさん
2016/04/24(日) 22:06:24.64ID:0aotVlm+? だから、そのデータを扱うなら何でもいいだろ?と、宣ってるんだが?
このままいくと負の遺産になるぞ、こりゃ って段階で切り替えてけるだろ 業務アプリなんざ
一太郎+Lotus1-2-3 を乗っ取ってExcelが台頭してきた歴史は、Excelであれ同じ運命を辿る
可能性はいくらだってある だから >>954 は杞憂だぜ ってことを言っている
0961デフォルトの名無しさん
2016/04/24(日) 22:07:21.40ID:FgR2Tyvt0962デフォルトの名無しさん
2016/04/24(日) 23:16:23.25ID:PJXOgY3Xデータそのものをaccdbとかmdbで蓄積することを言ってるんだが。
最初は基幹のOracleデータを補助するだけのものだったのに次第にそれがないと立ち行かなくなっていく例はけっこうある。
しかも似てるけど互換性のないテーブルが乱立するとか。
0963デフォルトの名無しさん
2016/04/24(日) 23:47:52.49ID:a75zU25aカラム「予備3」にキー項目が設定されている羽目に。
0964デフォルトの名無しさん
2016/04/25(月) 12:18:37.69ID:3vkHcbWkデータは取り出すだろ 他のシステムに移行していく時には真っ先にやる作業じゃ?
たしかに印刷以外テーブル内容を外部出力できない業務アプリには何度もお目に
掛かったことはあるけれど、だとしてもそれしかない手段の中でなんとかしてくだろ
必要になったときにはすでに開発元が雲散霧消してるケースだってごまんとあるし
企業側としてはきちんとそのシステムでデータをエクスポートできることを確認して
おくのが最低限の検収条件なんじゃないのか?
スレチですまん 900過ぎるとつい気が緩んで、、、
カキコ前に改めて読み直すと補完用だったものが主要業務に成りつつあるってケースか
それこそ負の遺産一歩手前 って認識は無いのかな? 現状をキチンと見直さないと
将来に負担を掛けるだけなのに 後は野となれ山となれシステムなんかな いいな、呑気で
0965デフォルトの名無しさん
2016/04/25(月) 12:21:49.52ID:RM4kY/BSなんかとりとめのないレスだな。
>>952 に対する >>954なんだが
0966デフォルトの名無しさん
2016/04/25(月) 12:23:10.55ID:HAN4rWcZでも一番安いし、何より作るの簡単なんだよなぁ
データベースサーバー高いから予算中々つかないし、
基幹システムはsierに外注してて中身よく分からん…
linkstationなら安いから、webサーバー機能で社内向けのちょっとしたwebアプリ作るとか、mysql機能もあるからそこにテーブル作れないかなと妄想してるけど、みんなどうやってんのかな…vba+accessで複数人はもう使いたくない
0967デフォルトの名無しさん
2016/04/25(月) 12:27:07.83ID:NFRnXeoTRDBならmysql, postgresql, sqliteとかオープンソースソフトウェアのがある
サーバマシンが無いのかもしれないけど
仮想マシンで何とかなるかもしれないし
0968デフォルトの名無しさん
2016/04/25(月) 12:47:30.58ID:HAN4rWcZありがとうございます。
仮想マシンなんて技術があるのか…ググって勉強してみよう(無知ですみません
社内excelerばっかだから、accessにデータ落として集計、一覧表(excel)やら請求書(excel)作る作業が多いんです
ただaccessはぶっ壊れやすいし、何よりファイル多すぎて何処にどのデータがあるか分からん…
基幹システムは帳票出力機能を削ぎ落としてるから全部vbaでexcelに出力してます
accessは一人で使う分用だととっても便利ですけどね。
0969デフォルトの名無しさん
2016/04/25(月) 12:50:51.54ID:a+5IMKkL0970デフォルトの名無しさん
2016/04/25(月) 12:54:47.57ID:GNzXw6NX> データベースサーバー高いから予算中々つかないし、
今時 SQL-SERVER でも Oracle でも無償版があると言うのに何を言ってるんだ?
LinkStation とかでごにょごにょするくらいなら適当なPCに RAID カードと HDD 追加した方がいい
あと UPS とバックアップ先(これは最悪 LinkStation とかでもいい)を準備すればいい
0971デフォルトの名無しさん
2016/04/25(月) 13:24:25.07ID:2hrXBsO/アプリ本体がいくら安くても、業務で使うからには保守契約が必ず必要になってお金がかかるんだよ
それを入れるサーバーも家庭用のパソコンでは信頼性が低すぎるから普通は使わないしね
就職活動頑張ってね
0972デフォルトの名無しさん
2016/04/25(月) 14:25:28.28ID:ZJbx2t440973デフォルトの名無しさん
2016/04/25(月) 15:10:49.55ID:RM4kY/BS0974デフォルトの名無しさん
2016/04/25(月) 15:36:33.03ID:a+5IMKkL0975デフォルトの名無しさん
2016/04/25(月) 15:46:03.29ID:kKT6ZxsuDBはナニを使うの?
0976デフォルトの名無しさん
2016/04/25(月) 16:04:31.17ID:a+5IMKkLエクセルなんだからスプレッドシートだろ。ListObjects含む。
0977デフォルトの名無しさん
2016/04/25(月) 18:38:31.73ID:4+TL6fkh漢だねぇ
0978デフォルトの名無しさん
2016/04/25(月) 18:40:26.21ID:CQQ7YGRPポスグレかsqliteだな
odbcでいただきます
0979デフォルトの名無しさん
2016/04/25(月) 20:00:00.63ID:GNzXw6NXLinkStation の MySQL 使うって奴に何を言ってるんだ? w
0980デフォルトの名無しさん
2016/04/25(月) 23:25:59.32ID:vaAh4Uciコレクションをラッピングするしかないのかな
0981デフォルトの名無しさん
2016/04/25(月) 23:54:48.68ID:gNn0n/owたぶん標準では無いので自分で作る
オレは使いやすくて可変長で型を指定できなくて配列的なのを使っている
0982デフォルトの名無しさん
2016/04/26(火) 07:14:58.06ID:9Pm0YF2lただ、空の配列を扱いにくいのが毎回癪にさわる
0983デフォルトの名無しさん
2016/04/26(火) 07:41:06.50ID:a47krk46Array()ではないもの?
0984デフォルトの名無しさん
2016/04/26(火) 07:54:40.16ID:9Pm0YF2lうん、
Dim A() As ...
ReDim Preserve A(...)
で頑張ってる
0985デフォルトの名無しさん
2016/04/26(火) 08:42:56.12ID:voj+ONYJ0986デフォルトの名無しさん
2016/04/26(火) 09:13:53.28ID:gi7Fi4KVコレクションに
クラスを入れてる
0987デフォルトの名無しさん
2016/04/26(火) 10:14:07.97ID:X2oLSlFmDim A As Variantで、ReDim Preserve とかを内部で呼び出すメソッドを定義したクラスを作ればいいよ。
0988デフォルトの名無しさん
2016/04/26(火) 12:47:48.01ID:9Pm0YF2l煽ることしかできないバカはどっかに行けよ
>>987
そう言うのをやったこともあるけど、動的配列ごときでクラス作るのも大袈裟な気がして今は ReDim を直接使う形に戻った
0989デフォルトの名無しさん
2016/04/26(火) 13:36:31.94ID:/KGvpl9k俺は「ごとき」とは思わないけどね。
それに、クラスを作るのも大げさとも思わない。
0990デフォルトの名無しさん
2016/04/26(火) 18:38:48.26ID:/KGvpl9khttp://qiita.com/opengl-8080/items/5bd8ae7fe95f5c31dfc3
力みすぎw
例えば素直に
For Each r In Range("A1:A12")
If r.Value Mod 2 = 0 Then
r.Offset(0, 1).Value = "偶数"
Else
r.Offset(0, 1).Value = "奇数"
End If
Next
って書いた方が100倍わかりやすい。
0991デフォルトの名無しさん
2016/04/26(火) 20:06:58.79ID:xvQ9k/GM標準的な機能で補える程度のものでいちいちクラス作るのは面倒ってのは分かる。
0992デフォルトの名無しさん
2016/04/26(火) 20:10:44.62ID:Ky9wERPQ「インスタンスを生成する」って本当に宣言してやんの
0993デフォルトの名無しさん
2016/04/26(火) 20:30:55.60ID:vc3Dfl5Q0994デフォルトの名無しさん
2016/04/26(火) 20:44:31.93ID:X2oLSlFmExcelタグの記事が447でVBAタグの記事が279か。
多いと見るか少ないと見るか...
0995デフォルトの名無しさん
2016/04/26(火) 20:56:51.89ID:9Pm0YF2lうん、君はそれでいいと思うよ
別に個人の感覚を強要してるわけでもないしね
0996デフォルトの名無しさん
2016/04/26(火) 21:03:49.53ID:X2oLSlFm0997デフォルトの名無しさん
2016/04/27(水) 04:13:46.08ID:Nk+oP5xRExcel VBA 質問スレ Part41
http://echo.2ch.net/test/read.cgi/tech/1461697906/
0998デフォルトの名無しさん
2016/04/27(水) 10:31:26.05ID:tMN6lGzrあー、462もストックされてる
この記事のMVCの下りが、何か良き物だと誤解されてなきゃいいが
0999デフォルトの名無しさん
2016/04/27(水) 11:47:51.76ID:+kNKN17ehttp://qiita.com/onegear0o/items/2363394e5ba23170d878
1000デフォルトの名無しさん
2016/04/27(水) 13:05:50.97ID:FDxhVMp110011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
life time: 321日 20時間 47分 2秒
10021002
Over 1000Thread運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
http://premium.2ch.net/
http://pink-chan-store.myshopify.com/
レス数が1000を超えています。これ以上書き込みはできません。