!extend:checked:vvvvv:1000:512
スレ立ての際は一行目に
!extend:checked:vvvvv:1000:512
と入れてスレ立てして下さい
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part47 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1489557874/
※関連スレ
VBAなんでも質問スレ Part2
http://echo.2ch.net/test/read.cgi/tech/1432173164/
Access VBA 質問スレ Part1
http://echo.2ch.net/test/read.cgi/tech/1328536426/
Excel総合相談所 125
http://echo.2ch.net/test/read.cgi/bsoft/1481369538/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
Excel VBA 質問スレ Part48 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 6f8e-Fc1g)
2017/05/16(火) 08:24:45.78ID:iIGA/64l0684デフォルトの名無しさん (ワッチョイ 23aa-D9zB)
2017/06/11(日) 14:35:03.70ID:P5Uv9Xu70685デフォルトの名無しさん (ワッチョイ db6d-yT0o)
2017/06/11(日) 14:38:19.83ID:46pYjw9V0686デフォルトの名無しさん (アウアウカー Sae1-cb7n)
2017/06/11(日) 14:55:51.72ID:Rohm8Nl3a687デフォルトの名無しさん (ドコグロ MM13-W6lL)
2017/06/11(日) 16:32:41.31ID:TSTIJwyzM688デフォルトの名無しさん (ドコグロ MM13-W6lL)
2017/06/11(日) 16:40:50.47ID:TSTIJwyzM >>686
> 代入時点で区別はついてる。
だから区別なんてしない
両方ともに参照を入れとくだけ
って書いてあるんだが...
どうやったらそんなアホな考え方になるのか不思議だよ
まあ引っ込みつかなくなってるんだろうな w
> 代入時点で区別はついてる。
だから区別なんてしない
両方ともに参照を入れとくだけ
って書いてあるんだが...
どうやったらそんなアホな考え方になるのか不思議だよ
まあ引っ込みつかなくなってるんだろうな w
689デフォルトの名無しさん (ワッチョイ db6d-MPbE)
2017/06/11(日) 16:45:50.31ID:46pYjw9V0690デフォルトの名無しさん (ワッチョイ 2311-W6lL)
2017/06/11(日) 17:19:36.49ID:q49UmmFG0 >>689
別にそのケースなら参照を返すようにしてディフォルトプロパティは明示する(つまりディフォルトプロパティの意味がなくなる)ようにすればいいだけ
特殊なケースで使えないからと言って全部ダメって言う話ではないでしょ
別にそのケースなら参照を返すようにしてディフォルトプロパティは明示する(つまりディフォルトプロパティの意味がなくなる)ようにすればいいだけ
特殊なケースで使えないからと言って全部ダメって言う話ではないでしょ
691デフォルトの名無しさん (アウアウカー Sae1-cb7n)
2017/06/11(日) 17:25:11.30ID:CaL9CXkoa >>688
引っ込みも何も、今だに何言ってるのか分からん。
とレスしようとしたけど今分かった。
>代入時点で区別する必要はなくて Print 時点で判断すればいいだけ
は
「代入時点では参照が代入され、Print時点でデフォルトプロパティが返される」といいたいのだとしたら上の文章の日本語が悪いよ。
引っ込みも何も、今だに何言ってるのか分からん。
とレスしようとしたけど今分かった。
>代入時点で区別する必要はなくて Print 時点で判断すればいいだけ
は
「代入時点では参照が代入され、Print時点でデフォルトプロパティが返される」といいたいのだとしたら上の文章の日本語が悪いよ。
692デフォルトの名無しさん (ワッチョイ 2311-W6lL)
2017/06/11(日) 17:36:51.51ID:q49UmmFG0693デフォルトの名無しさん (アウアウカー Sae1-cb7n)
2017/06/11(日) 17:37:06.07ID:CaL9CXkoa fooClassとする
fooClassのデフォルトメンバはfoo。fooのclassは自身と別のhogeClass
class fooClass{
'この書き方は適当
default public Property foo as hogeClass;
}
現在の仕様なら
Dim var1 As Varient
Set var1=New fooClass()
Debug.Print Typename(var1)
'->fooClass
Dim var1 As Varient
var1=New fooClass()
Debug.Print Typename(var1)
'->hogeClass
Set無しの仕様なら
Dim var1 As Varient
var1=New fooClass()
Debug.Print Typename(var1)
->?
こういう問題?
fooClassのデフォルトメンバはfoo。fooのclassは自身と別のhogeClass
class fooClass{
'この書き方は適当
default public Property foo as hogeClass;
}
現在の仕様なら
Dim var1 As Varient
Set var1=New fooClass()
Debug.Print Typename(var1)
'->fooClass
Dim var1 As Varient
var1=New fooClass()
Debug.Print Typename(var1)
'->hogeClass
Set無しの仕様なら
Dim var1 As Varient
var1=New fooClass()
Debug.Print Typename(var1)
->?
こういう問題?
694デフォルトの名無しさん (アウアウカー Sae1-cb7n)
2017/06/11(日) 17:43:49.85ID:CaL9CXkoa695デフォルトの名無しさん (ワッチョイ db6d-RrxM)
2017/06/11(日) 17:47:03.90ID:46pYjw9V0 >>690
自身のclassがメンバに〜は普通にある。特殊ではない
自身のclassがメンバに〜は普通にある。特殊ではない
696デフォルトの名無しさん (ワッチョイ db6d-RrxM)
2017/06/11(日) 17:48:52.10ID:46pYjw9V0 話はずれるが、「エクセルvaが特殊」は事実
20年以上前から生き残っている、大衆に使われ続けているスクリプト言語なんてエクセルvbaだけ
次点でjsだろう
デフォルトプロパティだろうがなんだろうが、実装すればデファクトスタンダードになる
ある意味、王様である
好きなようにあすれば良いんじゃないかな
20年以上前から生き残っている、大衆に使われ続けているスクリプト言語なんてエクセルvbaだけ
次点でjsだろう
デフォルトプロパティだろうがなんだろうが、実装すればデファクトスタンダードになる
ある意味、王様である
好きなようにあすれば良いんじゃないかな
697デフォルトの名無しさん (ワッチョイ 2311-W6lL)
2017/06/11(日) 17:51:02.18ID:q49UmmFG0698デフォルトの名無しさん (ワッチョイ 2311-W6lL)
2017/06/11(日) 17:53:41.74ID:q49UmmFG0699デフォルトの名無しさん (アウアウカー Sae1-cb7n)
2017/06/11(日) 18:07:00.10ID:CaL9CXkoa700デフォルトの名無しさん (ワッチョイ db6d-RrxM)
2017/06/11(日) 18:18:57.69ID:46pYjw9V0701デフォルトの名無しさん (ワッチョイ 2311-W6lL)
2017/06/11(日) 18:39:15.05ID:q49UmmFG0702デフォルトの名無しさん (ワッチョイ db6d-RrxM)
2017/06/11(日) 18:41:48.44ID:46pYjw9V0 >701
代入時点で評価の必要があります
代入時点で評価の必要があります
703デフォルトの名無しさん (ワッチョイ 2311-W6lL)
2017/06/11(日) 18:42:38.69ID:q49UmmFG0704デフォルトの名無しさん (ワッチョイ 2311-W6lL)
2017/06/11(日) 18:43:10.17ID:q49UmmFG0 >>702
理由は?
理由は?
705デフォルトの名無しさん (ワッチョイ 7d3d-OlK+)
2017/06/11(日) 18:45:21.77ID:Tl5W6+aa0 Set無しVBA言語作るって流れになったら面白いんだけどなぁ。
706デフォルトの名無しさん (ワッチョイ db6d-RrxM)
2017/06/11(日) 18:56:04.59ID:46pYjw9V0 >>703
デフォルトプロパティは毎回明示するのか?
A1セルのvalueを知りたい場合は
cells(1,1).value
と書けば良いのか、なるほどな
cells(1,1)
だけならエラーを変えした方がいいな
デフォルトプロパティは毎回明示するのか?
A1セルのvalueを知りたい場合は
cells(1,1).value
と書けば良いのか、なるほどな
cells(1,1)
だけならエラーを変えした方がいいな
707デフォルトの名無しさん (ワッチョイ 23aa-D9zB)
2017/06/11(日) 19:01:02.23ID:P5Uv9Xu70 型を意識する・させることで皆が幸せになる
...そんなふうに思っていた時期が自分にもありました
...そんなふうに思っていた時期が自分にもありました
708デフォルトの名無しさん (アウアウカー Sae1-cb7n)
2017/06/11(日) 19:05:21.58ID:UNIZBcCUa709デフォルトの名無しさん (アウアウカー Sae1-cb7n)
2017/06/11(日) 19:08:29.30ID:UNIZBcCUa710デフォルトの名無しさん (アウアウカー Sae1-cb7n)
2017/06/11(日) 19:12:53.44ID:UNIZBcCUa まあ、実際には自分はSetに違和感全く感じないし、Variantで宣言することも殆ど無いし、デフォルトプロパティの省略も殆どしないんだけどね。
711デフォルトの名無しさん (ワッチョイ 2311-W6lL)
2017/06/11(日) 19:20:07.39ID:q49UmmFG0712デフォルトの名無しさん (ワッチョイ db6d-RrxM)
2017/06/11(日) 19:21:24.90ID:46pYjw9V0 >709
いやもう言語仕様を考える時って最初によっぽど不具合がなければそれでいいよねってこと
vbaは非常に変則液だけど、まぁエクセル・アクセルのためなら仕方ないんじゃないの
いやもう言語仕様を考える時って最初によっぽど不具合がなければそれでいいよねってこと
vbaは非常に変則液だけど、まぁエクセル・アクセルのためなら仕方ないんじゃないの
713デフォルトの名無しさん (ワッチョイ 2311-W6lL)
2017/06/11(日) 19:27:31.75ID:q49UmmFG0714デフォルトの名無しさん (アウアウカー Sae1-cb7n)
2017/06/11(日) 19:42:43.65ID:UNIZBcCUa >>713
いや、だから
>「区別する」必要がない
が変なんだって。
代入時点で区別はついてるのになんで必要とかの話になるの?と受けとられるだろ。
> Print 時点で判断すればいい
も、誰が何を判断するんだ?と受け取られる。
いや、だから
>「区別する」必要がない
が変なんだって。
代入時点で区別はついてるのになんで必要とかの話になるの?と受けとられるだろ。
> Print 時点で判断すればいい
も、誰が何を判断するんだ?と受け取られる。
715デフォルトの名無しさん (ワッチョイ 23aa-D9zB)
2017/06/11(日) 19:42:52.34ID:P5Uv9Xu70 型を意識しようよ
型を意識するというのは型によって構文(式の形)を変えることじゃないよ。
式の形は同じでも型によって意味が違うとかコンパイルエラーになったりすると認識することだ。
デフォルトプロパティが適用されるべきかどうかは等式の左右の型を見れば基本わかる。
わからないような式は曖昧なんだからコンパイルエラーにすべきだ。
型を意識するというのは型によって構文(式の形)を変えることじゃないよ。
式の形は同じでも型によって意味が違うとかコンパイルエラーになったりすると認識することだ。
デフォルトプロパティが適用されるべきかどうかは等式の左右の型を見れば基本わかる。
わからないような式は曖昧なんだからコンパイルエラーにすべきだ。
716デフォルトの名無しさん (アウアウカー Sae1-cb7n)
2017/06/11(日) 19:49:48.15ID:UNIZBcCUa717デフォルトの名無しさん (ワッチョイ db6d-qkek)
2017/06/11(日) 20:02:29.23ID:46pYjw9V0718デフォルトの名無しさん (ワッチョイ 2311-W6lL)
2017/06/11(日) 20:12:03.18ID:q49UmmFG0 >>714
> 代入時点で区別はついてる
それはお前が勝手に言ってるだけの話だろ
俺は初めから必要ないって書いてるから
> なんで必要とかの話になるの?と受けとられるだろ。
なんて受けとるアホはいないと思うぞ、お前以外は w
>> Print 時点で判断すればいい
> も、誰が何を判断するんだ?と受け取られる。
マジでオブジェクト指向の勉強しなよ...
そんなのを疑問に思うなんて相当レベル低いから
> 代入時点で区別はついてる
それはお前が勝手に言ってるだけの話だろ
俺は初めから必要ないって書いてるから
> なんで必要とかの話になるの?と受けとられるだろ。
なんて受けとるアホはいないと思うぞ、お前以外は w
>> Print 時点で判断すればいい
> も、誰が何を判断するんだ?と受け取られる。
マジでオブジェクト指向の勉強しなよ...
そんなのを疑問に思うなんて相当レベル低いから
719デフォルトの名無しさん (ワッチョイ db6d-qkek)
2017/06/11(日) 20:17:12.06ID:46pYjw9V0720デフォルトの名無しさん (ワッチョイ 23aa-D9zB)
2017/06/11(日) 20:19:33.09ID:P5Uv9Xu70 しかし冷静に考えると斬新かもな。
単一の文だけ見て解釈するんじゃなく、複数の文を見て意味を解釈するプログラミング言語。
単一の文だけ見て解釈するんじゃなく、複数の文を見て意味を解釈するプログラミング言語。
721デフォルトの名無しさん (アウアウカー Sae1-cb7n)
2017/06/11(日) 20:25:38.17ID:UNIZBcCUa >>718
>それはお前が勝手に言ってるだけの話だろ
俺が勝手に言ってるとかの話じゃなくて、代入時点で参照であると区別がついてるのが実態だろ。
>「区別」する必要ない
>Print 時点で判断すればいい
を省略せずにきちんと書いてみなよ。
>それはお前が勝手に言ってるだけの話だろ
俺が勝手に言ってるとかの話じゃなくて、代入時点で参照であると区別がついてるのが実態だろ。
>「区別」する必要ない
>Print 時点で判断すればいい
を省略せずにきちんと書いてみなよ。
722デフォルトの名無しさん (ワッチョイ 7de4-yugn)
2017/06/11(日) 20:26:28.99ID:tRESVVuh0 俺の考えた最強の言語仕様の話はよそでやってくれ
723デフォルトの名無しさん (ワッチョイ 2311-W6lL)
2017/06/11(日) 21:00:46.39ID:q49UmmFG0724デフォルトの名無しさん (ワッチョイ 2306-OlK+)
2017/06/11(日) 21:12:26.64ID:VtUxFQZs0 いつまでくっだらねーーーーーーーー話を続けるつもり?別スレでも立ててそこでやれよ
725デフォルトの名無しさん (ワッチョイ 23aa-D9zB)
2017/06/11(日) 21:17:53.56ID:P5Uv9Xu70 もはやどこが起点かわからない
726デフォルトの名無しさん (ワッチョイ 23aa-D9zB)
2017/06/11(日) 21:31:09.13ID:P5Uv9Xu70 だれかQiitaにまとめてくれ
727デフォルトの名無しさん (アウアウカー Sae1-cb7n)
2017/06/11(日) 21:46:23.06ID:UNIZBcCUa728デフォルトの名無しさん (ワッチョイ e511-Z3xB)
2017/06/11(日) 21:54:15.52ID:7YVvLMef0 以下のエクセルファイルについてなんですが
https://kouseikyoku.mhlw.go.jp/tohoku/gyomu/gyomu/hoken_kikan/documents/zen_sitei_ika_h2905.zip
エクセルを開いたあと何もせず閉じようとすると
必ず保存するかどうかを聞かれてしまうのですが
なぜでしょうか?
また、そのまま「保存する」を選択すると
ファイルサイズが半分くらい減ってしまうのも気になります
些細なことで申し訳ありませんが
どなたか原因わかる方教えてください。
https://kouseikyoku.mhlw.go.jp/tohoku/gyomu/gyomu/hoken_kikan/documents/zen_sitei_ika_h2905.zip
エクセルを開いたあと何もせず閉じようとすると
必ず保存するかどうかを聞かれてしまうのですが
なぜでしょうか?
また、そのまま「保存する」を選択すると
ファイルサイズが半分くらい減ってしまうのも気になります
些細なことで申し訳ありませんが
どなたか原因わかる方教えてください。
729デフォルトの名無しさん (ワッチョイ db6d-RrxM)
2017/06/11(日) 21:56:59.58ID:46pYjw9V0 >728
凄まじい個人情報でてる気もするけど、まぁいいか
・保存するかどうかを聞かれ
2010では聞かれない
揮発性関数とか混じってるのかもな
バージョンを教えてほしい
凄まじい個人情報でてる気もするけど、まぁいいか
・保存するかどうかを聞かれ
2010では聞かれない
揮発性関数とか混じってるのかもな
バージョンを教えてほしい
730デフォルトの名無しさん (ワッチョイ 23aa-D9zB)
2017/06/11(日) 22:06:15.50ID:P5Uv9Xu70731デフォルトの名無しさん (ワッチョイ 2311-W6lL)
2017/06/11(日) 22:10:07.67ID:q49UmmFG0732デフォルトの名無しさん (ワッチョイ 236f-xcYX)
2017/06/11(日) 22:46:10.07ID:KFvNUsfN0 >ファイルサイズが半分くらい減ってしまうのも気になります
減った状態が正しいファイルサイズなんじゃないの。
減った状態が正しいファイルサイズなんじゃないの。
733デフォルトの名無しさん (ワッチョイ 2311-OlK+)
2017/06/11(日) 23:33:20.89ID:49bQJmPP0 なんか、何時何分何秒地球が何回回った時ですかあ?と同レベルのやりとりだな
734デフォルトの名無しさん (ワッチョイ 5b23-cb7n)
2017/06/12(月) 00:17:03.07ID:y5ZQ52Yx0 >>731
やっぱり日本語の問題なんだ。
今をもってしても分かりにくい。
俺が「区別がつく」とか「区別がついてる」というのは「自動的に区別がついてしまっている」ということだ。
「区別がつく」自体に"自動的に"というニュアンスを含んでいる。
だから"勝手に"などという言葉は繋がらない。
"自動的に"というニュアンスを含んでいない場合、例えば意思をもって違いを定義する場合は「区別をつける」となるだろう。
一方、君の言う「判断する」というのは厳密に言えば「意思をもって判断する」ということだ。
「判断する」自体に"自動的ではない"というニュアンスを含んでいる。
君は処理系に対して擬人化を行っているから意思をもってではなく、自動的なニュアンスを含んでいるつもりだろうが、そうであるなら主語である"処理系"を省いてしまってはわかりにくくなるだろう。
これまでの経緯を無視した上で余計な補完をして
処理系が何らかの判断をしてるんだからそんな"俺の"判断は「必要ない」
としても日本語としておかしな文とはならないということは、「処理系が何らかの判断をしてるんだからそんな判断は必要ない」という文章はそれ単体では上記の受け取り方をされても仕方の無い文章だということだ。
今だに分からんのは>>663の判断するのは誰かって話。
処理系なら判断すれば"いい"などとはならないと思うし。
Print時点で決まっているんだから判断とかいう話にはならない筈だろ。
やっぱり日本語の問題なんだ。
今をもってしても分かりにくい。
俺が「区別がつく」とか「区別がついてる」というのは「自動的に区別がついてしまっている」ということだ。
「区別がつく」自体に"自動的に"というニュアンスを含んでいる。
だから"勝手に"などという言葉は繋がらない。
"自動的に"というニュアンスを含んでいない場合、例えば意思をもって違いを定義する場合は「区別をつける」となるだろう。
一方、君の言う「判断する」というのは厳密に言えば「意思をもって判断する」ということだ。
「判断する」自体に"自動的ではない"というニュアンスを含んでいる。
君は処理系に対して擬人化を行っているから意思をもってではなく、自動的なニュアンスを含んでいるつもりだろうが、そうであるなら主語である"処理系"を省いてしまってはわかりにくくなるだろう。
これまでの経緯を無視した上で余計な補完をして
処理系が何らかの判断をしてるんだからそんな"俺の"判断は「必要ない」
としても日本語としておかしな文とはならないということは、「処理系が何らかの判断をしてるんだからそんな判断は必要ない」という文章はそれ単体では上記の受け取り方をされても仕方の無い文章だということだ。
今だに分からんのは>>663の判断するのは誰かって話。
処理系なら判断すれば"いい"などとはならないと思うし。
Print時点で決まっているんだから判断とかいう話にはならない筈だろ。
735デフォルトの名無しさん (ワッチョイ 2306-OlK+)
2017/06/12(月) 00:24:47.55ID:Ch/XnpW30 ┐(´д`)┌ヤレヤレ
736デフォルトの名無しさん (ワッチョイ 2332-Ell8)
2017/06/12(月) 01:25:41.57ID:YlzHeDxH0737デフォルトの名無しさん (ワッチョイ 2332-Ell8)
2017/06/12(月) 01:28:29.93ID:YlzHeDxH0738デフォルトの名無しさん (ワッチョイ 2311-W6lL)
2017/06/12(月) 05:44:51.02ID:RhdpYx9V0 長文君はなぜか自分の日本語能力を疑わない w
739デフォルトの名無しさん (アークセー Sx71-sCoW)
2017/06/12(月) 08:46:55.31ID:ZaZcTWz8x >>736
承認するよ
承認するよ
740デフォルトの名無しさん (ワッチョイ e511-yTT2)
2017/06/12(月) 19:32:27.05ID:5L3xq22d0 %%%MC+7,8%%%
}
000-"M","LES","TUV=0.13325&/0\7&%&",
001-"23","1","0","2","7.14",[\b%7/1444*%812%2.3%7&6111\end\\]{%3%12%\br
}
000-"M","LES","TUV=0.13325&/0\7&%&",
001-"23","1","0","2","7.14",[\b%7/1444*%812%2.3%7&6111\end\\]{%3%12%\br
741デフォルトの名無しさん (ワッチョイ db6d-PV39)
2017/06/12(月) 20:31:46.57ID:ysyGP+YI0 >>740
マジで?
マジで?
742デフォルトの名無しさん (ワッチョイ eb4c-irun)
2017/06/13(火) 10:48:41.12ID:UX2HAupn0 マクロは記録をいじるぐらいの初心者です
AとBファイル開く
Aのマクロ作動ボタンを押す
BでAで作ったマクロが動き、データが整形される
Aファイルが閉じる
というのを作れるものなら作りたいけど、可能ですか?
Bファイルは毎日新しいのが来ます
出来るとしたら検索ワードが悪いらしく、見つけられないので
なんという動作なのか教えてください
AとBファイル開く
Aのマクロ作動ボタンを押す
BでAで作ったマクロが動き、データが整形される
Aファイルが閉じる
というのを作れるものなら作りたいけど、可能ですか?
Bファイルは毎日新しいのが来ます
出来るとしたら検索ワードが悪いらしく、見つけられないので
なんという動作なのか教えてください
743デフォルトの名無しさん (スッップ Sd43-3C0K)
2017/06/13(火) 11:35:01.49ID:P4se3SJtd744デフォルトの名無しさん (ワッチョイ 9d73-2i+1)
2017/06/13(火) 11:35:40.67ID:mycfBP+w0 workbook.open
記録ではできない
記録ではできない
745デフォルトの名無しさん (ワッチョイ eb4c-irun)
2017/06/13(火) 12:08:11.62ID:UX2HAupn0746デフォルトの名無しさん (ワッチョイ 2306-OlK+)
2017/06/13(火) 12:14:45.05ID:rPkjB82P0 >>742
Aのブックにマクロを記述
ファイル名が固定でないなら GetOpenFilenameでファイルを選択
ごちゃごちゃなんか知らんけど開いたブックBに対して処理をする
Aを閉じる(ついでにExcelそのものも終了させる)
だろ?
Aのブックにマクロを記述
ファイル名が固定でないなら GetOpenFilenameでファイルを選択
ごちゃごちゃなんか知らんけど開いたブックBに対して処理をする
Aを閉じる(ついでにExcelそのものも終了させる)
だろ?
747デフォルトの名無しさん (ワッチョイ eb4c-irun)
2017/06/13(火) 12:31:59.08ID:UX2HAupn0748デフォルトの名無しさん (アウアウウー Sa99-pGgJ)
2017/06/13(火) 12:32:20.96ID:5pkXRrDKa 星くん vbaでググって
第2章読めば似たようなことが書いてあるよ
第2章読めば似たようなことが書いてあるよ
749デフォルトの名無しさん (ワッチョイ 5b23-3GzE)
2017/06/13(火) 13:52:35.48ID:TodKlzHt0 >>742
普通はアドインにする。
Aファイルは開く必要が無い。
アドインならExcel開いたらAファイルも開いてる。
ブックは非表示だから開いてるようには見えないけどメニューにボタンを追加すればマクロは動作する。
普通はアドインにする。
Aファイルは開く必要が無い。
アドインならExcel開いたらAファイルも開いてる。
ブックは非表示だから開いてるようには見えないけどメニューにボタンを追加すればマクロは動作する。
750デフォルトの名無しさん (JP 0H6b-yTT2)
2017/06/13(火) 14:48:02.77ID:3KAtKhUpH >>749
君の中では普通かもな
君の中では普通かもな
751デフォルトの名無しさん (ワッチョイ e511-yTT2)
2017/06/13(火) 14:50:25.60ID:B6CxFrBV0 @@@EMO@@@
}
000-"E=0.133348213376128"
001-"4","1.6","2","3","13","3","81","47","0","1","2","85",
002-"813-1>>>1%$1.3Q!@!$%81.3!$%B,61.2,"13.2"21.7[[%$EMOLA\%/7#/OBLA[%!\2.3=0!&#%<<<Q,S,L,7P,%41%-%2]]%End\]{
}
000-"E=0.133348213376128"
001-"4","1.6","2","3","13","3","81","47","0","1","2","85",
002-"813-1>>>1%$1.3Q!@!$%81.3!$%B,61.2,"13.2"21.7[[%$EMOLA\%/7#/OBLA[%!\2.3=0!&#%<<<Q,S,L,7P,%41%-%2]]%End\]{
752デフォルトの名無しさん (ワッチョイ eb4c-irun)
2017/06/13(火) 14:52:38.21ID:UX2HAupn0 アドインで出来きました
すごい
星君も読みつつあったのですが、とりあえず
アドインが上手くいったのでこれで進めます
相談に乗ってくださった方々、ありがとうございました
すごい
星君も読みつつあったのですが、とりあえず
アドインが上手くいったのでこれで進めます
相談に乗ってくださった方々、ありがとうございました
753デフォルトの名無しさん (ワッチョイ 7d3d-OlK+)
2017/06/13(火) 15:04:10.26ID:y6bvTk4c0 >>742
Sub foo()
Dim WB As Workbook
With Application.FileDialog(msoFileDialogFilePicker)
If .Show Then src = .SelectedItems(1)
End With
If IsEmpty(src) Then Exit Sub
Set WB = Workbooks.Open(src, 0, 1)
Process WB
If Not WB Is Nothing Then WB.Close: Set WB = Nothing
End Sub
Sub Process(WB As Workbook)
'行いたい処理
End Sub
fooをボタンに登録すれば好きなファイルを指定して開くことが出来る。
ファイルBの処理はProcess内に書く。
Sub foo()
Dim WB As Workbook
With Application.FileDialog(msoFileDialogFilePicker)
If .Show Then src = .SelectedItems(1)
End With
If IsEmpty(src) Then Exit Sub
Set WB = Workbooks.Open(src, 0, 1)
Process WB
If Not WB Is Nothing Then WB.Close: Set WB = Nothing
End Sub
Sub Process(WB As Workbook)
'行いたい処理
End Sub
fooをボタンに登録すれば好きなファイルを指定して開くことが出来る。
ファイルBの処理はProcess内に書く。
754デフォルトの名無しさん (ワッチョイ 7d3d-OlK+)
2017/06/13(火) 15:07:40.67ID:y6bvTk4c0 既に解決している悲しみ
755デフォルトの名無しさん (ワッチョイ 9d73-2i+1)
2017/06/13(火) 15:25:46.39ID:mycfBP+w0 そして求められていない汎用性のために冗長なコード
756デフォルトの名無しさん (ワッチョイ a3b3-YGYj)
2017/06/13(火) 18:18:21.99ID:Te/HyupM0 事務職向けマクロなんだから冗長でも何でも良いと思うけどね。オブジェクト指向バカとか
業務妨害以外の何者でもないと思うしw
業務妨害以外の何者でもないと思うしw
757デフォルトの名無しさん (JP 0H6b-yTT2)
2017/06/13(火) 18:24:08.96ID:3KAtKhUpH という思考停止
758デフォルトの名無しさん (ワッチョイ 2b32-Ell8)
2017/06/13(火) 18:43:27.69ID:kYQNn7N60 上げでちょっと変わった質問する人と
foo君がセットで登場するのはたまたまだから
ほんとに偶然だから
foo君がセットで登場するのはたまたまだから
ほんとに偶然だから
759デフォルトの名無しさん (JP 0H6b-yTT2)
2017/06/13(火) 18:47:56.47ID:3KAtKhUpH >>758
お前がfoo君と呼んでるのは一人ではない
お前がfoo君と呼んでるのは一人ではない
760デフォルトの名無しさん (エーイモ SEe9-yTT2)
2017/06/13(火) 18:58:03.59ID:SvV5ll3TE ( ´_ゝ`)フーン
761デフォルトの名無しさん (ワッチョイ db6d-D9zB)
2017/06/13(火) 19:10:28.45ID:YXJzvR0D0762デフォルトの名無しさん (ワッチョイ a3b3-YGYj)
2017/06/13(火) 19:18:04.89ID:Te/HyupM0 >>761
ははは、オブジェ馬鹿降臨w
ははは、オブジェ馬鹿降臨w
763デフォルトの名無しさん (ワッチョイ db6d-wxle)
2017/06/13(火) 20:06:15.93ID:YXJzvR0D0764デフォルトの名無しさん (ワッチョイ 0539-vKbL)
2017/06/14(水) 16:29:22.88ID:Gr+r/r4M0 初心者です
1 処理A
2 処理B
3 処理C
:
:
こういう流れのVBAで、処理Aと処理Bそれぞれからスタートさせたいときは、どうやるのが一般的ですか。
sub A
処理 A
sub B
処理 B
end sub
end sub
これではだめですよね。
1 処理A
2 処理B
3 処理C
:
:
こういう流れのVBAで、処理Aと処理Bそれぞれからスタートさせたいときは、どうやるのが一般的ですか。
sub A
処理 A
sub B
処理 B
end sub
end sub
これではだめですよね。
765デフォルトの名無しさん (ワッチョイ 7d3d-OlK+)
2017/06/14(水) 16:40:22.05ID:M/IwJ83O0 >>764
いまいち何やりたいのか分からないけど、処理 Aを飛ばしたい場合とそうでない場合があるって事なら
Sub Foo(b As Boolean)
If b Then 処理 A
処理 B
処理 C
...
End Sub
いまいち何やりたいのか分からないけど、処理 Aを飛ばしたい場合とそうでない場合があるって事なら
Sub Foo(b As Boolean)
If b Then 処理 A
処理 B
処理 C
...
End Sub
766デフォルトの名無しさん (アウアウカー Sae1-cb7n)
2017/06/14(水) 17:02:48.98ID:bVPmX3VEa 処理というのがどのレベルなのか分からない。
Sub A()
処理A
B
End Sub
'処理B(Bプロシージャ自体が処理B)
Sub B()
'処理Bの内容
End Sub
とする場合もあれば、
全部の処理をそれぞれ別のプロシージャとして作り、メインとなるプロシージャでそれぞれをよび出す場合もある。
この場合はAからよび出すメインプロシージャやBからよび出すメインプロシージャを作ることになる。
Sub A()
処理A
B
End Sub
'処理B(Bプロシージャ自体が処理B)
Sub B()
'処理Bの内容
End Sub
とする場合もあれば、
全部の処理をそれぞれ別のプロシージャとして作り、メインとなるプロシージャでそれぞれをよび出す場合もある。
この場合はAからよび出すメインプロシージャやBからよび出すメインプロシージャを作ることになる。
767デフォルトの名無しさん (ドコグロ MM43-W6lL)
2017/06/14(水) 18:56:34.83ID:e2eXjlywM768デフォルトの名無しさん (ワッチョイ 0539-vKbL)
2017/06/14(水) 22:27:07.82ID:Gr+r/r4M0769デフォルトの名無しさん (ワッチョイ ba52-2WTa)
2017/06/16(金) 11:40:46.40ID:uw1+X6cJ0 拡張For文とも言われる
For Each (オブジェクト変数) in (そのオブジェクトのコレクション)
の構文で、ときどきその(オブジェクト変数)の処理によってFor Each文でまわすコレクションのオブジェクトの順番や数が変わってしまい困っています。
例えば
For Each iCell in Activesheet.UsedRange
である条件のiCellのときにその直下に新しい行を追加したり
For Each iFile in TargetFolder.Files
でiFileのファイル名を変えようとした場合に(FileSystemObjectを使ってる)
発生しました。
こんなときは処理結果が意図したものと違ってぐちゃぐちゃになって困っています。
最初にFor Eachの行をマクロが通過したときに処理すべきオブジェクトは固定されないんですか?
For Each (オブジェクト変数) in (そのオブジェクトのコレクション)
の構文で、ときどきその(オブジェクト変数)の処理によってFor Each文でまわすコレクションのオブジェクトの順番や数が変わってしまい困っています。
例えば
For Each iCell in Activesheet.UsedRange
である条件のiCellのときにその直下に新しい行を追加したり
For Each iFile in TargetFolder.Files
でiFileのファイル名を変えようとした場合に(FileSystemObjectを使ってる)
発生しました。
こんなときは処理結果が意図したものと違ってぐちゃぐちゃになって困っています。
最初にFor Eachの行をマクロが通過したときに処理すべきオブジェクトは固定されないんですか?
770デフォルトの名無しさん (ワッチョイ 87e4-IXCZ)
2017/06/16(金) 12:07:15.60ID:Qtgdul+t0 For Eachで列挙される順番は、実装依存で保障はされてないはずだけど
普通は同じコレクションに対しては同じ順で帰ってくるよ
For Eachで列挙中にそのコレクションに対して変更した場合は、その列挙はどうなるか分からん
なので要素を増減させるような処理はFor Eachの中でやっちゃ駄目
普通は同じコレクションに対しては同じ順で帰ってくるよ
For Eachで列挙中にそのコレクションに対して変更した場合は、その列挙はどうなるか分からん
なので要素を増減させるような処理はFor Eachの中でやっちゃ駄目
771デフォルトの名無しさん (ワッチョイ 1773-sPwl)
2017/06/16(金) 12:11:25.66ID:BvP/dFhV0 ループ処理中に処理対象を変更したら当然おかしくなると思うが…
772デフォルトの名無しさん (ワッチョイ ba52-2WTa)
2017/06/16(金) 12:30:40.42ID:uw1+X6cJ0773デフォルトの名無しさん (ワッチョイ 873d-VgqF)
2017/06/16(金) 12:33:46.29ID:pJSV/jBP0774デフォルトの名無しさん (ワッチョイ ba52-2WTa)
2017/06/16(金) 12:39:06.98ID:uw1+X6cJ0 >>773
しかしそれでも記憶させておくものは参照のメモリアドレスには変わりないと思うから
対処によってこの参照先が変わってしまい同じような意図しないぐちゃぐちゃな結果になったりしませんかね?
あとわからないのがFileSystemObjectでファイル名を変えただけで対象が変わってしまうのが不思議。
これは別に要素の増減でもなんでもないのに。
しかしそれでも記憶させておくものは参照のメモリアドレスには変わりないと思うから
対処によってこの参照先が変わってしまい同じような意図しないぐちゃぐちゃな結果になったりしませんかね?
あとわからないのがFileSystemObjectでファイル名を変えただけで対象が変わってしまうのが不思議。
これは別に要素の増減でもなんでもないのに。
775デフォルトの名無しさん (ワッチョイ 873d-VgqF)
2017/06/16(金) 13:09:33.45ID:pJSV/jBP0 >>774
しませんかね? と質問する前に自分でテスト環境作ってやってみるべき。
しませんかね? と質問する前に自分でテスト環境作ってやってみるべき。
776デフォルトの名無しさん (ワッチョイ 87e4-IXCZ)
2017/06/16(金) 13:14:04.57ID:Qtgdul+t0777デフォルトの名無しさん (アウアウエー Saf2-CZIA)
2017/06/16(金) 13:24:05.09ID:LikhkzB3a そもそもActivesheet.UsedRangeなんだからシートに処理加えたら要素の数が変わるのは当たり前だろ
一回変数に入れたら困るわけ?
多分fsoのfilesも変数に入れたら固定されるんじゃねえの
一回変数に入れたら困るわけ?
多分fsoのfilesも変数に入れたら固定されるんじゃねえの
778デフォルトの名無しさん (ワッチョイ 9aec-VgqF)
2017/06/16(金) 15:36:15.71ID:OvmXQ03X0 ユーザーフォームのボタンをクリックしたとき、ある条件を満たせばボタンの背景色を変えてます。
CommandButton1.BackColor = "&HFF00FF"
ボタンの色を元に(ボタンのデフォルトの色に)戻すのに↓だとエラー(型が一致しません)。どうすればいいんでしょうか?
CommandButton1.BackColor = "&H8000000F&"
CommandButton1.BackColor = "&HFF00FF"
ボタンの色を元に(ボタンのデフォルトの色に)戻すのに↓だとエラー(型が一致しません)。どうすればいいんでしょうか?
CommandButton1.BackColor = "&H8000000F&"
779デフォルトの名無しさん (ワッチョイ 5623-8P7O)
2017/06/16(金) 16:08:49.37ID:0rZ836RR0780デフォルトの名無しさん (ワッチョイ 9aec-VgqF)
2017/06/16(金) 16:34:33.26ID:OvmXQ03X0 >>779
""は不要でしたか。たぶんどこかのサイトにそのような記述があったんだと思います。
↓でエラーなく色変わりますが""なくてもよかったのか。
CommandButton1.BackColor = "&HFF00FF"
debug.printの結果はstringでした。そりゃそうか。
""は不要でしたか。たぶんどこかのサイトにそのような記述があったんだと思います。
↓でエラーなく色変わりますが""なくてもよかったのか。
CommandButton1.BackColor = "&HFF00FF"
debug.printの結果はstringでした。そりゃそうか。
781デフォルトの名無しさん (ワッチョイ 9aec-VgqF)
2017/06/16(金) 16:41:13.41ID:OvmXQ03X0782デフォルトの名無しさん (アウアウエー Saf2-CZIA)
2017/06/16(金) 17:59:38.04ID:LikhkzB3a >>778
&H〜&は16進数だったかな
&H〜&は16進数だったかな
783デフォルトの名無しさん (ブーイモ MMaf-/42z)
2017/06/16(金) 21:04:08.81ID:8NWwObqWM >>774
VBAのforeachは扱いづらいよね。
for each file in folder.files なんかは一度別の配列なりcollectionなりに入れちゃった方がindexが動かないから無難。
range.deleteやrange.insertは一度のループで処理しようとせずに、別にループを回すか、index降順でループするのが無難。
VBAのforeachは扱いづらいよね。
for each file in folder.files なんかは一度別の配列なりcollectionなりに入れちゃった方がindexが動かないから無難。
range.deleteやrange.insertは一度のループで処理しようとせずに、別にループを回すか、index降順でループするのが無難。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★3 [少考さん★]
- 【サッカー】日本代表、FIFAランキング“4位”の強豪イングランドとの対戦が正式決定! 来年3月に聖地ウェンブリーで激突へ [久太郎★]
- 日本、G7への中国招待を懸念 議長国フランスに慎重な対応要請 [どどん★]
- (´・ω・`)自治厨がいると大体その環境は滅びるよな
- パソコンでできる無料でおすすめのゲーム教えてくれ
- ( •᷄ὤ•᷅)悪い朝だね
- 三石琴乃ちゃんとかいう若手美人声優
- 【悲報】ジャップ、日中戦争に賛成が5割弱...軍歌の音が聞こえる... [856698234]
- ひまだねー
