Excel VBA 質問スレ Part30

このエントリーをはてなブックマークに追加
471桃白白 ◆9Jro6YFwm650
>>468
黙れ雑魚。
472桃白白 ◆9Jro6YFwm650 :2013/06/25(火) 09:24:50.97
461+1 :458 [↓] :2013/06/25(火) 00:45:05.65
因みに>>401でパイパンが書いたコードは>>411で変換できないと指摘されてる。
これは検討漏れの設計ミス。
本人は認めてないようだけどね。

桃白白、今日生理で機嫌悪いからこいつに粘着してやろうかな。
473桃白白 ◆9Jro6YFwm650 :2013/06/25(火) 10:28:52.91
461+1 :458 [↓] :2013/06/25(火) 00:45:05.65
因みに>>401でパイパンが書いたコードは>>411で変換できないと指摘されてる。
これは検討漏れの設計ミス。
本人は認めてないようだけどね。


16進数を10進数に変換するコードなんだから16進数じゃないものを変換できないのはあたりまえだろw
設計したことあんのかよ?あ?
474桃白白 ◆9Jro6YFwm650 :2013/06/25(火) 10:40:34.30
461+1 :458 [↓] :2013/06/25(火) 00:45:05.65
因みに>>401でパイパンが書いたコードは>>411で変換できないと指摘されてる。
これは検討漏れの設計ミス。
本人は認めてないようだけどね。


入力に不備があってそれを入力元に通知せずもみ消すのが妥当な設計ってどんな設計?
入力元に通知しても入力者はそれを理解できないだろうってとき?それがやさしさなの?
知らないふりをするのが処理を依頼された側の義務だと思量されるとき?それがオザワデザインだとでもいうわけ?
475桃白白 ◆9Jro6YFwm650 :2013/06/25(火) 10:45:20.93
      ,..--‐‐‐‐‐‐‐‐---..
     /::::ヽ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;)
    |::::::::::/        ヽヽ
    |::::::::::ヽ ........    ..... |:|
    |::::::::/     )  (.  .||
    i⌒ヽ;;|   -=・=‐  .‐=・-.|
    |.(.    'ー-‐'  ヽ. ー' |
    ヽ.      /(_,、_,)ヽ  |
     |.    / ___    .| < あどうも
    ∧ヽ    ノエェェエ>   |
  /\\ヽ    ー--‐   /
  /  \ \ヽ.  ─── /|\
  r―n|l \  ` ー‐ ' .// ,/ ヽ
476桃白白 ◆9Jro6YFwm650 :2013/06/25(火) 10:52:37.42
458+1 :デフォルトの名無しさん [↓] :2013/06/24(月) 23:51:17.92
>>448
パッとコードを設計できる人は殆どいないと思う。
パッと書いたコードは、まずきちんと設計されてないと思ったほうがいい。


16進数の変換でhを検討するようなバカがわかったようなことをいってんじゃねえよ
477桃白白 ◆9Jro6YFwm650 :2013/06/25(火) 10:54:41.82
と小沢さんがいってました
              ..--‐‐‐‐‐‐‐‐---..,
              (;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::\
   r‐-、   ,...,,      //        ヽ::::::::::|
   :i!  i!  |: : i!   // .....    ........ /::::::::::::|
    !  i!.  |  ;|   ||   、  ,    \::::::::|
     i! ヽ |  |   |.-=・‐.  ‐=・=-  |;;/⌒i
    ゝ  `-!  :|   |'ー .ノ  'ー-‐'    ,) |
   r'"~`ヾ、   i!  .|  ノ(、_,、_)\      ノ
  ,.ゝ、  r'""`ヽ、i!  .|.        \    |_
  !、  `ヽ、ー、   ヽ |  ー'ニニニ=‐ヽ    /|:\_
   | \ i:" )     | ヽ ( ,' /´    //:::::::::::::
   ヽ `'"     ノ   /\`ー´_  / /:::::::::::::::
478デフォルトの名無しさん:2013/06/25(火) 11:30:17.56
そんなに暴れなくても、末尾h、Hにちょこっと対応したコードにすればいいだけじゃん。
479桃白白 ◆9Jro6YFwm650 :2013/06/25(火) 11:49:25.88
461+1 :458 [↓] :2013/06/25(火) 00:45:05.65
因みに>>401でパイパンが書いたコードは>>411で変換できないと指摘されてる。
これは検討漏れの設計ミス。
本人は認めてないようだけどね。


              ノ´⌒`ヽ
           γ⌒´      \
          /""´ヽー⌒\  `ヽ
         / ノ    (◎ )ノ ̄ ̄`ヽ、―ニ
        / (。 ) __)⌒/ ´`ヽ _  三,:三ー三,:
        | ::⌒(__ノ/  ノヽ--/ ̄ ,    `   ` ̄ ̄ ̄
       。ヽ 。   )(  }.  ...|  /!           オザワパンチ
          ヽo (__ン  }、ー‐し'ゝL _
         人  ー   jr--‐‐'´}    ;ーー------
        /        ヾ---‐'ーr‐'"==
480桃白白 ◆9Jro6YFwm650 :2013/06/25(火) 11:52:26.87
>>478
それが理にかなってないから桃白白は腹の虫が収まらねんだよ。
入力側で対処するべき問題だろうが。そんなこともわからないようなバカが設計などと口にするなということだよわかったかバーカ。
481桃白白 ◆9Jro6YFwm650 :2013/06/25(火) 11:56:10.06
478+1 :デフォルトの名無しさん [↓] :2013/06/25(火) 11:30:17.56
そんなに暴れなくても、末尾h、Hにちょこっと対応したコードにすればいいだけじゃん。


バカすぎるwww 末尾のhはどっから来たんだよ。16進数の末尾にはhをつける必要があるとでも
思ってんのか?あ?ロバに噛まれて死ねよ。
482桃白白 ◆9Jro6YFwm650 :2013/06/25(火) 11:58:14.28
   ∧__∧ ウマー
  彡 ━ ━
 彡  ● ●
 彡 (   |
 彡 丶  |、
 /  ( o o) \
`/ __  ̄/ > )
(__L(  /<丶/
|    /  ̄
| /\ \
| /  ) )
`ヒ/  ( \
    \二)
483デフォルトの名無しさん:2013/06/25(火) 12:30:04.23
いい加減にしろよ
484デフォルトの名無しさん:2013/06/25(火) 12:45:14.48
こいつにちょっとでも触るとすぐこれだ。
これからは、完全スルー推奨だな。
485デフォルトの名無しさん:2013/06/25(火) 12:48:38.25
おっさんが生理とか本当に気持ち悪い
486桃白白 ◆9Jro6YFwm650 :2013/06/25(火) 16:11:47.56
>>484
桃白白相手だからといってこんなふざけた言動は許されないよな。

461+1 :458 [↓] :2013/06/25(火) 00:45:05.65
因みに>>401でパイパンが書いたコードは>>411で変換できないと指摘されてる。
これは検討漏れの設計ミス。
本人は認めてないようだけどね。
487桃白白 ◆9Jro6YFwm650 :2013/06/25(火) 16:13:57.90
あーひさびさに長い距離歩いたら股関節に来たわ。
旦那が帰って来たら揉んでもらおう股間を、あとおっぱい。
488桃白白 ◆9Jro6YFwm650 :2013/06/25(火) 16:15:09.46
461+1 :458 [↓] :2013/06/25(火) 00:45:05.65
因みに>>401でパイパンが書いたコードは>>411で変換できないと指摘されてる。
これは検討漏れの設計ミス。
本人は認めてないようだけどね。


16進数を10進数に変換するコードなんだから16進数じゃないものを変換できないのはあたりまえだろw
設計したことあんのかよ?あ?
489桃白白 ◆9Jro6YFwm650 :2013/06/25(火) 16:15:44.28
478+1 :デフォルトの名無しさん [↓] :2013/06/25(火) 11:30:17.56
そんなに暴れなくても、末尾h、Hにちょこっと対応したコードにすればいいだけじゃん。


バカすぎるwww 末尾のhはどっから来たんだよ。16進数の末尾にはhをつける必要があるとでも
思ってんのか?あ?ロバに噛まれて死ねよ。
490桃白白 ◆9Jro6YFwm650 :2013/06/25(火) 16:50:28.03
>>485
これ桃白白。手に持ってるのはおしっこ。検尿なの。
http://garakuta.chips.jp/blog/ga/yonekura.jpg
491デフォルトの名無しさん:2013/06/25(火) 16:59:08.60
NGname決定
492デフォルトの名無しさん:2013/06/25(火) 17:00:02.04
>>491
478+1 :デフォルトの名無しさん [↓] :2013/06/25(火) 11:30:17.56
そんなに暴れなくても、末尾h、Hにちょこっと対応したコードにすればいいだけじゃん。


バカすぎるwww 末尾のhはどっから来たんだよ。16進数の末尾にはhをつける必要があるとでも
思ってんのか?あ?ロバに噛まれて死ねよ。
493デフォルトの名無しさん:2013/06/25(火) 17:03:56.72
494デフォルトの名無しさん:2013/06/25(火) 17:07:29.74
なんだ、名無しでも暴れてたのか。
最低だな。
495デフォルトの名無しさん:2013/06/25(火) 17:07:47.74
461+1 :458 [↓] :2013/06/25(火) 00:45:05.65
因みに>>401でパイパンが書いたコードは>>411で変換できないと指摘されてる。
これは検討漏れの設計ミス。
本人は認めてないようだけどね。


              ノ´⌒`ヽ
           γ⌒´      \
          /""´ヽー⌒\  `ヽ
         / ノ    (◎ )ノ ̄ ̄`ヽ、―ニ
        / (。 ) __)⌒/ ´`ヽ _  三,:三ー三,:
        | ::⌒(__ノ/  ノヽ--/ ̄ ,    `   ` ̄ ̄ ̄
       。ヽ 。   )(  }.  ...|  /!           オザワパンチ
          ヽo (__ン  }、ー‐し'ゝL _
         人  ー   jr--‐‐'´}    ;ーー------
        /        ヾ---‐'ーr‐'"==
496デフォルトの名無しさん:2013/06/25(火) 17:11:36.38
0xDEADBEEF
497デフォルトの名無しさん:2013/06/25(火) 17:17:15.53
>>496
461+1 :458 [↓] :2013/06/25(火) 00:45:05.65
因みに>>401でパイパンが書いたコードは>>411で変換できないと指摘されてる。
これは検討漏れの設計ミス。
本人は認めてないようだけどね。

         ∧_∧
        _( ´_ゝ`)
      /      )           _  _
     / ,イ 、  ノ/    ∧ ∧―= ̄ `ヽ, _
    / / |   ( 〈 ∵. ・(   〈__ >  ゛ 、_―
   | !  ヽ  ー=- ̄ ̄=_、  (/ , ´ノ
   | |   `iー__=―_ ;, / / /
    !、リ  -=_二__ ̄_=;, / / ,'
        /  /       /  /|  |
       /  /       !、_/ /   〉
     / _/             |_/
     ヽ、_ヽ
498デフォルトの名無しさん:2013/06/25(火) 17:23:39.41
対応しているフォーマットは"^[0-9a-fA-F]+$"だけって言えば終了なのに、何を暴れているのやら。
499デフォルトの名無しさん:2013/06/25(火) 17:24:28.37
              ..--‐‐‐‐‐‐‐‐---..,
              (;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::\
   r‐-、   ,...,,      //        ヽ::::::::::|
   :i!  i!  |: : i!   // .....    ........ /::::::::::::|
    !  i!.  |  ;|   ||   、  ,    \::::::::|
     i! ヽ |  |   |.-=・‐.  ‐=・=-  |;;/⌒i
    ゝ  `-!  :|   |'ー .ノ  'ー-‐'    ,) |
   r'"~`ヾ、   i!  .|  ノ(、_,、_)\      ノ
  ,.ゝ、  r'""`ヽ、i!  .|.        \    |_
  !、  `ヽ、ー、   ヽ |  ー'ニニニ=‐ヽ    /|:\_
   | \ i:" )     | ヽ ( ,' /´    //:::::::::::::
   ヽ `'"     ノ   /\`ー´_  / /:::::::::::::::
500デフォルトの名無しさん:2013/06/25(火) 17:31:28.73
>>498
それで何が終了するんだ?
末尾のhに対応してないから設計ミスだっていってんだから
それで終了なら設計ミスで終了ということになるだろバーカ。
だから桃白白は堪忍袋の緒がぶちぎれてるわけ。
501デフォルトの名無しさん:2013/06/25(火) 17:36:10.40
「それは設計ミスではなく仕様」で終了。
502デフォルトの名無しさん:2013/06/25(火) 17:36:56.28
>>500
> だから桃白白は堪忍袋の緒がぶちぎれてるわけ。

だからといって、荒らして良い訳ではないことくらいわかろうな。
503デフォルトの名無しさん:2013/06/25(火) 17:37:40.11
>>501
461+1 :458 [↓] :2013/06/25(火) 00:45:05.65
因みに>>401でパイパンが書いたコードは>>411で変換できないと指摘されてる。
これは検討漏れの設計ミス。
本人は認めてないようだけどね。


そう思うんならこいつに言ってやれよ。
それで>>461が納得して桃白白にいいがかりをつけたことを謝罪するのなら
引き下がってやってもいい。
504デフォルトの名無しさん:2013/06/25(火) 17:40:33.83
>>502
荒らしてんのは>>461だろ。ふざけた言いがかりつけてきやがって、いい流れで来てたスレがこのバカのせいで台無しだ。
かわいそー。桃白白超かわいそー。
505デフォルトの名無しさん:2013/06/25(火) 17:42:44.94
>>503
> そう思うんならこいつに言ってやれよ。

いやいや、>>461が納得しようがしまいが、お前がそう宣言してこの話題を終了させればいいだけ。
つか、トリップ付けて発言しろ。
506デフォルトの名無しさん:2013/06/25(火) 17:45:03.97
>>505
は? 言いがかりつけて来た>>461が発言の撤回と謝罪を行わないかぎり
桃白白は引き下がらない。お前がトリップつけろや。誰だよお前。
507デフォルトの名無しさん:2013/06/25(火) 17:47:02.59
>>504
元をただせば、自分が書いたコードが発端になってるわけで、
自分が蒔いた種は自分で刈り取れってことだ。
508デフォルトの名無しさん:2013/06/25(火) 17:49:43.38
>>506
NGしてる人用に、トリップ付けろってことだ。
お前、暴れてるという自覚無いのか?
509デフォルトの名無しさん:2013/06/25(火) 17:52:13.17
荒れすぎだろw
タオパイまさか本当に生理か?w
おれも>>461はどうかと思う
こんな数十文字で仕様を詰めらんないからタオパイ仕様になっちまうのは仕方ない

だからこの辺で手打ちにしようぜ、な
510桃白白 ◆9Jro6YFwm650 :2013/06/25(火) 17:58:36.94
>>508
桃白白はお前を暴れていると認識しているが、お前はトリップを付けようとしないから、
お前は暴れているという自覚がないんだろう。さっさとトリップ付けろ。即刻NGにしてやる。
お前はそういうやりかたが正しいと思ってるんだろ。さっさとやれ。
511デフォルトの名無しさん:2013/06/25(火) 18:15:58.72
かまって欲しいだけでしょ。
ほっとこうぜ。
512デフォルトの名無しさん:2013/06/25(火) 18:20:18.64
一生トリップ付けとけ
あと、ageんな
513デフォルトの名無しさん:2013/06/25(火) 18:22:38.93
>>508
おいおい、他人に要求しといて自分はしらばっくれてダンマリか?
トリップ付けてくれてありがとうございます。寝たきりの母も
私の手を握り締めながら桃白白さんありがとうと私につぶやきました。
桃白白さんのおかげで母の笑顔を見ることができ、感謝の念にたえません。
私たち母子は桃白白さんにご努力いただいたことを決して忘れません。
本当にありがとうございます。これくらい言えないわけ?じゃあやめた。

>>507
桃白白がぶちぎれてんのは>>461の発言に対してだ。
そこを無視して桃白白が〜はただの責任転嫁。>>461の発言したやつ呼んでこい。
お前は>>461じゃないんだったら黙ってろや。
514デフォルトの名無しさん:2013/06/25(火) 18:27:49.88
一生ゴミコード書いてオナニーしてろ
515デフォルトの名無しさん:2013/06/25(火) 18:28:33.60
駄目だこりゃ
516デフォルトの名無しさん:2013/06/25(火) 18:29:51.02
>>509
16進数を変換するってときにhを入れるのはバカだろ。バカの行いだろ。
聖書に書かれていてもおかしくないほどの愚行だろ。仕方ないというレベルじゃないだろ。
前世どころか現世もアルマジロなんじゃないかと疑うレベルだろ。来世ではアリクイになれると
いいですねと励ましの言葉で送り出してあげたくなっちゃうレベルだろ。完全にアリクイびとだろ。
517デフォルトの名無しさん:2013/06/25(火) 18:34:32.17
>>516
> 16進数を変換するってときにhを入れるのはバカだろ。バカの行いだろ。

仕様による。
1000h
0x1000
&h1000
これらは全て普通に使われる16進数表現。
これらを受け入れるのか受け入れないのかは仕様次第。
お前のコードでは、全てはじく仕様だと言えばいいだけだ。
518デフォルトの名無しさん:2013/06/25(火) 18:38:43.93
>>517
それは何の仕様だ?VBAの仕様か?あ?違う言語の仕様持ち出してきてどうすんだバカが。
そういうのを詭弁というんだ。>>461がアルマジロの脳みそしかありませんでしたで説明付くだろうが。
言い訳ばかり考えやがって真摯に謝罪できないもんかね!!
519デフォルトの名無しさん:2013/06/25(火) 18:41:48.25
>>517
逆に聞きたいけど、なんで>>461は桃白白のコードを見て1000hを受け入れる仕様だと思ったんだ?あ?説明しろ。
520デフォルトの名無しさん:2013/06/25(火) 18:48:22.25
末尾hくんはどこの世界で生きてるんだろうなあ
521デフォルトの名無しさん:2013/06/25(火) 18:48:40.55
>>519
質問者のやりたいことが仕様。
522デフォルトの名無しさん:2013/06/25(火) 18:49:19.36
十六進法 - Wikipedia
https://ja.wikipedia.org/wiki/%E5%8D%81%E5%85%AD%E9%80%B2%E6%B3%95

一般には、16 個の数字 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F を用いる。
hなんてありまへん。
523デフォルトの名無しさん:2013/06/25(火) 19:00:42.18
>>521
答えになってない。聞いてることとかみ合わない紋切り型のことしか言えない木偶の坊。ワニにでも噛まれてろ。
     /ニYニヽ
    /( ゚ )( ゚ )ヽ
   /::::⌒`´⌒::::\   かぷwwwwwwwwwwwwwww
  | ,-)___(-、|
  | l   |-┬-|  l |
   \   `ー'´   /
524PLC屋:2013/06/25(火) 19:04:22.13
普通に□hや□Hを使う。
経緯は知らんがメーカの取説などでもそう表記してある。

マ寄りの俺が0x□って仕様書くと「何これ?」って聞かれる。
525デフォルトの名無しさん:2013/06/25(火) 19:04:46.89
>>524
     /ニYニヽ
    /( ゚ )( ゚ )ヽ
   /::::⌒`´⌒::::\   でっていうwwwwwwwwwwwwwww
  | ,-)___(-、|
  | l   |-┬-|  l |
   \   `ー'´   /
526デフォルトの名無しさん:2013/06/25(火) 19:32:16.91
461+1 :458 [↓] :2013/06/25(火) 00:45:05.65
因みに>>401でパイパンが書いたコードは>>411で変換できないと指摘されてる。
これは検討漏れの設計ミス。
本人は認めてないようだけどね。


              ノ´⌒`ヽ
           γ⌒´      \
          /""´ヽー⌒\  `ヽ
         / ノ    (◎ )ノ ̄ ̄`ヽ、―ニ
        / (。 ) __)⌒/ ´`ヽ _  三,:三ー三,:
        | ::⌒(__ノ/  ノヽ--/ ̄ ,    `   ` ̄ ̄ ̄
       。ヽ 。   )(  }.  ...|  /!           オザワパンチ
          ヽo (__ン  }、ー‐し'ゝL _
         人  ー   jr--‐‐'´}    ;ーー------
        /        ヾ---‐'ーr‐'"==
527デフォルトの名無しさん:2013/06/25(火) 19:36:13.92
俺がお股揉んでやるからそろそろ落ち着け
528デフォルトの名無しさん:2013/06/25(火) 19:40:39.27
コテ・トリ付けたら外すなや。
自分の発言に責任持てないなら一生外しとけ。
529デフォルトの名無しさん:2013/06/25(火) 19:49:10.82
>522 :デフォルトの名無しさん:2013/06/25(火) 18:49:19.36
>十六進法 - Wikipedia
>https://ja.wikipedia.org/wiki/%E5%8D%81%E5%85%AD%E9%80%B2%E6%B3%95
>
>一般には、16 個の数字 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F を用いる。
>hなんてありまへん。


↑あまりにもひどい墓穴をみた

表記方法[編集]

十六進表記はよく使われるので、プログラム言語ではリテラルとして特別な表記が準備されていることが多い。一般に、大文字の A-F と小文字の a-f を区別しない。 (1000)16 の表記の例を挙げる。
0x1000(C, C++, Java, Perl など)
x1000(HTML の文字参照における表記。例: &#x1000;)
1000h あるいは 1000H(主にインテル系のアセンブリ言語・マイコン類の資料) この表記の場合、十六進表記が英字 (A-F) で始まるときは、変数名などと区別するため、先頭に 0 を付けねばならないことがある。例: 0A000H

&h1000(BASIC、とりわけマイクロソフト系のもの)
$1000(上記以外の BASIC や一部の Pascal 処理系、主にモトローラ系のアセンブリ言語・マイコン類の資料)

https://ja.wikipedia.org/wiki/%E5%8D%81%E5%85%AD%E9%80%B2%E6%B3%95
530デフォルトの名無しさん:2013/06/25(火) 19:52:07.32
>>529
それは>>517, >>518でもうやった。頭の回転が鈍いウスノロの出番はない。
531デフォルトの名無しさん:2013/06/25(火) 19:54:34.76
>>530
>>529>>522へのレス
頭の回転が鈍いウスノロの出番はない。
532デフォルトの名無しさん:2013/06/25(火) 19:55:55.80
>>531
だから答えたんだろ。>>522を誰だと思ってるんだ?マジでウスノロだなお前。にぶちんと名づけてやろう。
こんどから名前欄ににぶちん#にぶちんと入力しろ。
533デフォルトの名無しさん:2013/06/25(火) 20:03:04.90
プログラム言語ではとくべつなリテラルで16進数を表すことが多いからといって
16進数の文字にそのリテラルが含まれることになるわけじゃない。
それらしいこと言った気になってるだけで中身はぐっだぐだ。ガチでガキなんじゃねえかと思うわ。ガチガキ。
最近、1、2匹バカな奴がいるとは思ってたんだよな。
>>326こいつとか、>>330こいつとか。
534デフォルトの名無しさん:2013/06/25(火) 20:30:54.32
461+1 :458 [↓] :2013/06/25(火) 00:45:05.65
因みに>>401でパイパンが書いたコードは>>411で変換できないと指摘されてる。
これは検討漏れの設計ミス。
本人は認めてないようだけどね。

         ∧_∧
        _( ´_ゝ`)
      /      )           _  _
     / ,イ 、  ノ/    ∧ ∧―= ̄ `ヽ, _
    / / |   ( 〈 ∵. ・(   〈__ >  ゛ 、_―
   | !  ヽ  ー=- ̄ ̄=_、  (/ , ´ノ
   | |   `iー__=―_ ;, / / /
    !、リ  -=_二__ ̄_=;, / / ,'
        /  /       /  /|  |
       /  /       !、_/ /   〉
     / _/             |_/
     ヽ、_ヽ
535デフォルトの名無しさん:2013/06/25(火) 20:32:45.10
478+1 :デフォルトの名無しさん [↓] :2013/06/25(火) 11:30:17.56
そんなに暴れなくても、末尾h、Hにちょこっと対応したコードにすればいいだけじゃん。


バカすぎるwww 末尾のhはどっから来たんだよ。16進数の末尾にはhをつける必要があるとでも
思ってんのか?あ?ロバに噛まれて死ねよ。
536デフォルトの名無しさん:2013/06/25(火) 20:41:56.61
ちょっともう異常だと感じるレベル
537桃白白 ◆9Jro6YFwm650 :2013/06/25(火) 20:51:53.18
>>536
年に一度、かぼちゃを頭にかぶる日があるでしょ。
桃白白はそっちの方が異常だと思う。でもパンプキンヘッドの日だからといえば
みんな納得しちゃう。だから今日はオザワさんの日だと言えばみんな納得すると
思うんだよね。
538デフォルトの名無しさん:2013/06/25(火) 21:03:13.41
>>537
いいな、あと3時間だからな
539桃白白 ◆9Jro6YFwm650 :2013/06/25(火) 21:09:15.10
>>538
だいじょぶ、わかってる。オザワさんの日で全部チャラだねおk。
540デフォルトの名無しさん:2013/06/25(火) 21:29:10.17
もうたおぱいをしんじない
541デフォルトの名無しさん:2013/06/25(火) 21:34:34.55
おれもたれぱいをしんじない
542デフォルトの名無しさん:2013/06/25(火) 21:37:26.55
ちょっと煽られただけで
こんな大暴れをする人だったのか…見損なった
スレの私物化も甚だしい
運営に相談して出入り禁止とかにできないの?
由緒あるVBA質問スレがこんなんじゃ利用者が可哀想だよ
543デフォルトの名無しさん:2013/06/25(火) 21:55:16.63
>運営に相談して出入り禁止とかにできないの?
これくらいじゃ無理。板全部で暴れまわるなら別だけどw
544デフォルトの名無しさん:2013/06/25(火) 21:55:36.67
質問者の為ではなく自分の為に糞コード書き続ける使えない人って印象だったし、こんなもんでしょ
545デフォルトの名無しさん:2013/06/25(火) 22:19:40.82
>>542
完全スルー、完全無視位しかないと思うけど、質問者がスルー、無視するとは思えないし・・・

ルール化も検討する段階に来てると思う。
個人を無視するとかNGワードにするというものじゃなくてどんなに短くてもコードでの回答は不可とかね。
546デフォルトの名無しさん:2013/06/25(火) 22:39:51.69
>>461をはじめ、今回ばかりはみんな桃白白に悪いことしたよね。
じゃあさ、みんなで桃白白にごめんなさいしようか。
547デフォルトの名無しさん:2013/06/25(火) 22:44:23.46
トリップはずすんじゃねぇ、馬鹿が
548デフォルトの名無しさん:2013/06/25(火) 22:47:55.37
>>545
名案があるんだけど、hは16進数じゃありませんってテンプレに入れたらいいと思うの。
そしたらみんなハッピーじゃない?
549デフォルトの名無しさん:2013/06/25(火) 22:54:28.33
>>545
コテハン禁止でおねがいします
550デフォルトの名無しさん:2013/06/25(火) 22:55:55.80
2ch的にいうと桃白白が正しい。残念ながら。
まずコード書いたのが桃白白だけ。その他大勢は桃白白叩きをやった。
次に1回コテハンが暴れたぐらいでスルーできない煽り耐性のないその他大勢も悪い。

要は桃白白を叩くだけ叩いて、暴れたらすぐ動揺して「どうしたらいいか」って蜂の巣叩いたように大騒ぎするってのは
2chむきじゃないんじゃないか
551545:2013/06/25(火) 23:04:29.15
>>549
コテハン禁止にしたところで、今でも名無しにして暴れてるから効果は無いと思う。
第2、第3のパイパンが湧いてこないような対応をしないと、イタチごっこになるかなぁと。
552デフォルトの名無しさん:2013/06/25(火) 23:05:44.55
>>550
またか、、、
どうしてそこまでコードにこだわるかなぁ
内容によるがコードを提示してしまったらその意図は伝わらないぞ?
それにここはクレクレスレじゃないしな

あとオレは家にExcel無いってのもある
553デフォルトの名無しさん:2013/06/25(火) 23:09:39.28
すべてMSのhex2decがへぼすぎるのが悪い
554デフォルトの名無しさん:2013/06/25(火) 23:10:41.50
>>552
2chには「スルーする」って技能も大事でしょ。

桃白白1人がコード表示したって、放置すればいいじゃない。
それをこのスレの住人は猛烈に叩いた。
その時点で、桃白白が完全に悪いっておかしくなるってことですよ。
555デフォルトの名無しさん:2013/06/25(火) 23:14:23.94
突っ込み待ちなのか本気で頭おかしいのかわかんねえなこれ
556デフォルトの名無しさん:2013/06/25(火) 23:16:11.13
16進の表記方法なんてメジャーなのはこれぐらいしかないだろ
&h1234
0x1234
1234h
&1234
全部対応しとけばいいじゃん
557デフォルトの名無しさん:2013/06/25(火) 23:16:53.70
パイパンを擁護するレスは完全無視、スルーでいいと思う。
558デフォルトの名無しさん:2013/06/25(火) 23:17:03.00
いいよ必死でググった結果発表しなくても
559デフォルトの名無しさん:2013/06/25(火) 23:18:36.52
まだ全然叩いたうちに入らないよ。
あのコードが糞なのは1000hでエラーになるからじゃないよ。
ただ、具体的に指摘するとまた前回みたいに荒れ狂うからやらないだけ。
560デフォルトの名無しさん:2013/06/25(火) 23:19:34.50
自分で暴れておいて、スルーしろと居直るような人と
わかり合うことなど不可能
桃白白抜きのスレを作ってみんなで移動しよう
スレタイおよびテンプレに桃白白出入り禁止って明記してさ
そのスレにも来て好き勝手やるなら、完璧に故意犯なので運営に相談
561デフォルトの名無しさん:2013/06/25(火) 23:19:54.60
>>559
具体的に指摘しなくても荒れ狂ったけどなw
562デフォルトの名無しさん:2013/06/25(火) 23:20:49.64
僕はわかってますアピールもいらないから。
重症だな。
563デフォルトの名無しさん:2013/06/25(火) 23:21:01.99
>>556
そうなんだけどさ、使えない奴ってのはそうは考えないんだよ
564デフォルトの名無しさん:2013/06/25(火) 23:30:30.36
>そのスレにも来て好き勝手やるなら、完璧に故意犯なので運営に相談
相談したって無理。
馬鹿じゃねぇかって放置されるよ。

桃白白を放置する耐性をあなたたちが身につけない限り無理だって。
565デフォルトの名無しさん:2013/06/25(火) 23:36:30.29
今回は前回より放置ぎみだぞ。
ただ奴が前回の何倍も発狂しただけ。
566デフォルトの名無しさん:2013/06/25(火) 23:58:15.47
おら、新しい日付だからこの話はやめろい
567デフォルトの名無しさん:2013/06/26(水) 02:58:58.47
最後に言っておくよ
この糞眠い中 100%表示でBK列まで見えるマルチディスプレイで本当によかった! 
睡魔と戦いながら広い範囲をスクロールさせてたら瞬時にセル番地を忘れてしまう。w
568デフォルトの名無しさん:2013/06/26(水) 03:41:10.93
Cells(r, "BK")
569デフォルトの名無しさん:2013/06/26(水) 05:41:23.37
BaKa
570デフォルトの名無しさん:2013/06/26(水) 09:02:59.53
>>557
そーやって差別するわけですか、サイテーですね。
571デフォルトの名無しさん:2013/06/26(水) 09:03:43.74
>>563
何がそうなんだ。使えないのはてめえだバーカ。
572デフォルトの名無しさん:2013/06/26(水) 09:04:23.91
>>556
どれも16進数じゃねえな。なんで言語表現を16進数に持ち込むんだ?バカじゃね?
573デフォルトの名無しさん:2013/06/26(水) 09:10:13.12
お前ら桃白白におんぶにだっこされてるぶんざいで生意気だよな。
574デフォルトの名無しさん:2013/06/26(水) 09:43:07.69
>>572
ん?16進数自体が言語表現だぞ?
16進数を求める関数に0xとか与えるなってことなら同意
それは質問者が対応すべきだね
575デフォルトの名無しさん:2013/06/26(水) 09:45:54.17
>>574
はああああ?????
16進数は16進数ですが?
0123456789ABCDEFで表される数ですが。
普段から詭弁ばかり使ってて正論がわからなくなったかぼちゃ頭なのかお前は?
お母さんに中身くりぬかれたのか?ご飯でも詰めてもらえよ。はい論破。
576デフォルトの名無しさん:2013/06/26(水) 09:48:17.86
>>574
かまっちゃダメ。完全無視。
577デフォルトの名無しさん:2013/06/26(水) 09:51:48.15
16進数
http://www.infonet.co.jp/ueyama/ip/glossary/hexadecimal.html

16進数は言語とは関係ありません。
578デフォルトの名無しさん:2013/06/26(水) 09:53:24.10
      /!/{  / ヾ--r
   _  /     ̄    <_
 _>`´    >>576___<_
  >    r‐'" ̄ ̄ ノ ̄ ̄`ヽ、―ニ 二
/ ,    |  `ヽ/ ´`ヽ _  三,:三ー二
 ̄/    |   ノヽ--/ ̄ ,    ` ̄ ̄ ̄
 / /⌒ヽ,|  ミ }  ...|  /!         差別する奴って最低だよな
 レ l d     _}`ー‐し'ゝL _
  | ヽ、_,   _,:ヘr--‐‐'´}    ;ー------
  |/|  \   ノ`ヾ:::-‐'ーr‐'"==-
    ヽ/l/|` ー------r‐'"    ̄ ̄
      |└-- 、__/`\-:、
     __,ゝ,,_____/ \_」 \
579デフォルトの名無しさん:2013/06/26(水) 09:55:13.64
461+1 :458 [↓] :2013/06/25(火) 00:45:05.65
因みに>>401でパイパンが書いたコードは>>411で変換できないと指摘されてる。
これは検討漏れの設計ミス。
本人は認めてないようだけどね。


              ノ´⌒`ヽ
           γ⌒´      \
          /""´ヽー⌒\  `ヽ
         / ノ    (◎ )ノ ̄ ̄`ヽ、―ニ
        / (。 ) __)⌒/ ´`ヽ _  三,:三ー三,:
        | ::⌒(__ノ/  ノヽ--/ ̄ ,    `   ` ̄ ̄ ̄
       。ヽ 。   )(  }.  ...|  /!           オザワパンチ
          ヽo (__ン  }、ー‐し'ゝL _
         人  ー   jr--‐‐'´}    ;ーー------
        /        ヾ---‐'ーr‐'"==
580デフォルトの名無しさん:2013/06/26(水) 10:02:05.61
461+1 :458 [↓] :2013/06/25(火) 00:45:05.65
因みに>>401でパイパンが書いたコードは>>411で変換できないと指摘されてる。
これは検討漏れの設計ミス。
本人は認めてないようだけどね。

         ∧_∧
        _( ´_ゝ`)
      /      )           _  _
     / ,イ 、  ノ/    ∧ ∧―= ̄ `ヽ, _
    / / |   ( 〈 ∵. ・(   〈__ >  ゛ 、_―
   | !  ヽ  ー=- ̄ ̄=_、  (/ , ´ノ
   | |   `iー__=―_ ;, / / /
    !、リ  -=_二__ ̄_=;, / / ,'
        /  /       /  /|  |
       /  /       !、_/ /   〉
     / _/             |_/
     ヽ、_ヽ
581デフォルトの名無しさん:2013/06/26(水) 11:12:31.45
質問失礼します。
環境:Windows XP, Excel 2007

A1にhogefugaとあり、B1にaiueoとあります。
C1にA1とB1の両方に含まれる文字列(oeua)を入れたいです。
10000行まで同じように処理したいです。どうすればいいですか?
582デフォルトの名無しさん:2013/06/26(水) 11:28:02.88
478+1 :デフォルトの名無しさん [↓] :2013/06/25(火) 11:30:17.56
そんなに暴れなくても、末尾h、Hにちょこっと対応したコードにすればいいだけじゃん。


バカすぎるwww 末尾のhはどっから来たんだよ。16進数の末尾にはhをつける必要があるとでも
思ってんのか?あ?ロバに噛まれて死ねよ。
583デフォルトの名無しさん:2013/06/26(水) 11:43:14.52
>>581
function CommonChars(r1 as range, r2 as range) as string
 ' r1.valueとr2.valueの共通部分を抜き出す
end function
という関数を作り、C1に「=CommonChars(A1,B1)」と入力し、それを10000行までコピーする。
584デフォルトの名無しさん:2013/06/26(水) 12:01:48.53
>>583
その関数の中身がわからないから質問しています。コピーするのではなくてVBAでやりたいです。
それも質問から読み取ってもらいたかったです。結局あなた何ら意味のあることをいってませんよね。
質問の主旨も理解せずにずれたことをドヤ顔で返信されても困ります。
あなたがこのスレを荒らしている桃白白という人ですか?もし違っていたら謝りますが、本人であれば
正直迷惑なので、もうしわけないですけど私の質問に答えないでください。
585デフォルトの名無しさん:2013/06/26(水) 12:10:38.52
Function 両含(s1 As String, s2 As String) As String
  Dim i As Integer
  Dim s As String  ' 結果

  s = ""
  For i = 1 To Len(s1)
    c = Mid(s1, i, 1)  ' 1文字取り出す
    If InStr(s2, c) > 0 Then  ' 両方に含まれる?
      If InStr(s, c) = 0 Then ' ガイシュツ?
        s = s & c  ' 結果に加える
      End If
    End If
  Next

  両含 = s
End Function
586デフォルトの名無しさん:2013/06/26(水) 12:17:31.58
461+1 :458 [↓] :2013/06/25(火) 00:45:05.65
因みに>>401でパイパンが書いたコードは>>411で変換できないと指摘されてる。
これは検討漏れの設計ミス。
本人は認めてないようだけどね。


              ノ´⌒`ヽ
           γ⌒´      \
          /""´ヽー⌒\  `ヽ
         / ノ    (◎ )ノ ̄ ̄`ヽ、―ニ
        / (。 ) __)⌒/ ´`ヽ _  三,:三ー三,:
        | ::⌒(__ノ/  ノヽ--/ ̄ ,    `   ` ̄ ̄ ̄
       。ヽ 。   )(  }.  ...|  /!           オザワパンチ
          ヽo (__ン  }、ー‐し'ゝL _
         人  ー   jr--‐‐'´}    ;ーー------
        /        ヾ---‐'ーr‐'"==
587デフォルトの名無しさん:2013/06/26(水) 12:25:18.80
ぼくがんばったよ

Function h2d(h As String) As Long
  h = Trim(StrConv(StrConv(h, vbNarrow), vbUpperCase))
  If Left(h, 2) = "&H" Or Left(h, 2) = "0X" Or Left(h, 2) = "OX" Then
    h = Mid(h, 3)
  ElseIf Left(h, 1) = "&" Then
    h = Mid(h, 2)
  ElseIf Right(h, 1) = "H" Then
    h = Left(h, Len(h) - 1)
  End If
  While Len(h) >= 2 And Left(h, 1) = "0"
    h = Mid(h, 2)
  Wend
  h2d = Val("&H" & h)
End Function
588デフォルトの名無しさん:2013/06/26(水) 12:42:15.07
>>577
周回遅れすぎ (w

16進数『表現』からの変換の話な。
589デフォルトの名無しさん:2013/06/26(水) 12:44:06.76
>>587
もうちょい頑張って、EBCDIK にも対応してくれ。
590583:2013/06/26(水) 12:53:01.47
>>584
この問題を解決するには、大きくいうと二通りのやり方がある。

一つは、二つのRangeから共通部分を抜き出すユーザ定義関数を作り、それをセルに設定するというやりかた。
この方法のメリットは、「二つのRange」はセルに関数を設定するときに選択できるのと、「対象範囲」を「セルに
関数を設定する範囲」に置き換えることができること。
また、計算元となったセルの内容を変更すれば、計算結果も再計算される。
デメリットは、シート全体が再計算されるときに、時間がかかる場合があること。

もう一つは、全てをVBAのマクロで行うこと。
この方法のメリットは、上記方法よりも高速であるかもしれないということ。
デメリットは、計算元セルの位置や対象範囲を自由に変更できないこと。また、再計算にも対応していない。

*

普通、こんな丁寧な説明しないんだけどね。サービス。
591デフォルトの名無しさん:2013/06/26(水) 12:55:22.93
もうどれがタオパイか分からなくなってきた┐(´〜`)┌ ヤレヤレ
592デフォルトの名無しさん:2013/06/26(水) 12:56:09.66
ぼくだよ
593デフォルトの名無しさん:2013/06/26(水) 13:00:31.82
>>591
それらしいと思われるレスは全て無視すればいい。
594デフォルトの名無しさん:2013/06/26(水) 13:01:55.40
例え質問者であろうとも無視。
595デフォルトの名無しさん:2013/06/26(水) 13:06:55.29
そこまでやるならエラー処理もしろよ

Function h2d(h As String) As Variant

中略

  d = Val("&H" & h)
  If h <> "0" And d = 0 Then
    h2d = CVErr(xlErrNA)  ' 変換できない文字列には#N/Aを返す
  Else
    h2d = d
  End If
End Function
596デフォルトの名無しさん:2013/06/26(水) 13:18:28.31
>>585,590
ここまで書かないとわからないかも。
結局、全コードを求める奴しか質問しないのかもね。

function CommonChars(r1 as range, r2 as range) as string
 CommonChars = 両含(r1.value, r2.value)
end function

あるいは、

sub hoge()
 dim maxRow as long
 dim i as long
 maxRow = range("A1").currentregion.rows.count
 for i = 1 to maxRow
  cells(i, 3) = 両含(cells(i, 1).value, cells(i, 2).value)
 next
end sub

どちらも動かしてない。
597デフォルトの名無しさん:2013/06/26(水) 13:26:16.75
>>581,584ですら、パイパンの炎上狙いのやり取りと思ってしまう
598デフォルトの名無しさん:2013/06/26(水) 14:15:04.03
インターネットに顔を公開してる人って
自分のことカッコイイと思っている人が多いけど
このVBAの本書いてる人もそうなのか?
http://tatehide.com/profile.html
599デフォルトの名無しさん:2013/06/26(水) 14:37:05.15
>>598
スレ違い
600デフォルトの名無しさん:2013/06/26(水) 15:48:00.56
>>588
は?誰がその話してんだよ一人でやってろやバーカ。
601デフォルトの名無しさん:2013/06/26(水) 15:55:32.41
>>590
あなたには答えるなと申しあげたつもりでしたが、伝わりませんでしたか。
私はそんな説明も求めていません。自己満足のサービスご苦労様。もう黙っててね。
602デフォルトの名無しさん:2013/06/26(水) 16:03:50.42
なんだ、荒らしか。
603デフォルトの名無しさん:2013/06/26(水) 16:04:24.60
これがパイパンの自演じゃなかったとしたら、ゴミばっか寄ってくるな、このスレ。
604583:2013/06/26(水) 16:15:20.92
>>601
桃白白ならレスするなと取ったんだが、桃白白かどうかに関わらずもう俺にレスするなということだったのか。
それはすまなかった。

ただ、最近このスレでは「コピペして動かせば答えが手に入るコード」を出すと荒れるんだわ。
>>1の★5ね。それに桃白白の件もあるし。
だから、部分的なアドバイスにとどめとこうと思ったわけ。

次からもそういうコードが欲しい質問をしたいならなら、こっちで質問するといいよ。
VBAなんでも質問スレ
http://toro.2ch.net/test/read.cgi/tech/1342087380/
605デフォルトの名無しさん:2013/06/26(水) 16:19:23.89
いや、荒らしたいだけでしょ、彼。
>>596で完全回答が手に入ってるのに煽る必然性なんて皆無だし。
606デフォルトの名無しさん:2013/06/26(水) 16:24:35.20
そんなに教えたいならママに教えてやればいいじゃん
607デフォルトの名無しさん:2013/06/26(水) 16:24:49.18
>>604
何が部分的ですか?あなたは聞いてもいないことを書いて答えた気になってるだけです。
あなたのような人をトンチンカンといいます。テンプレを理由にあなたのくだらない答えが正当化されるわけがありません。
答えられないなら黙ってればいいじゃないですか。独り善がりのアドバイスがしたいのならそれこそTwitterででもつぶやいて
たらどうですか。技術的な回答をするのに向いていないと思いますよ。これは私からのアドバイスです。
普段はこんな丁寧なサービスはしません。私はあなたが桃白白ではないかとまだ疑っています。あなたもまだ否定されていませんよね。

>>603
バカな回答者が群れて増長してるからどうしようもないと思いますよ。
10000行だっていっているのに>>596のようなコード書く人もいます。
動かさなくてもわかるだろと。
608デフォルトの名無しさん:2013/06/26(水) 16:32:20.43
>>605
完全回答、必然性
すげえかっけえなお前。悪い意味で。
609デフォルトの名無しさん:2013/06/26(水) 16:33:58.24
>>607
お前もトリップ付けろ馬鹿
610デフォルトの名無しさん:2013/06/26(水) 16:35:21.56
これパイパンだろ
611デフォルトの名無しさん:2013/06/26(水) 16:42:34.42
>>607
> 10000行だっていっているのに>>596のようなコード書く人もいます。
> 動かさなくてもわかるだろと。

>>585>>596のhoge()の方をコピペしてhogeを実行してみろ、このど素人が。
612デフォルトの名無しさん:2013/06/26(水) 16:47:12.86
なんか、Yahoo知恵袋的な釣り師の匂いがするんだが。
613デフォルトの名無しさん:2013/06/26(水) 16:49:11.97
反パイパンのふりをして、動作するコードを書くパイパンこそが素晴らしい回答者なのだという
パイパン自身による印象操作だな。
614デフォルトの名無しさん:2013/06/26(水) 16:59:20.13
>>600
はいはい、じゅうろくしんすうがわかってるぼくちゃんえらいねぇ (w
615デフォルトの名無しさん:2013/06/26(水) 17:06:54.29
>>614
   ∧,_∧ ♪
  (( (    )
♪  /    ) )) ♪
 (( (  (  〈
   (_)^ヽ__)

>>587
両含で入力文字列をフィルタリングすればいいだろ。お前は応用力ゼロのナメクジか?あ?
砂糖かけてもちっちゃくなるんだぜ知ってたか?お?
616デフォルトの名無しさん:2013/06/26(水) 17:11:51.02
>>611
maxrowはcurrentregionに依存しますよね。そんなことコード実行しなくてもわかりますよね。
回答する側の自分は素人じゃないとでも思ってるんですか?質問者より頭が悪いくせに
偉そうにするのやめてもらえないですか?それってとっても痛いですよ。
617デフォルトの名無しさん:2013/06/26(水) 17:14:51.87
なら、for i = 1 to 10000にすればいいだけなのに、そんなこともわからないのか
618デフォルトの名無しさん:2013/06/26(水) 17:20:58.31
ほらよ、完全回答。

sub hoge()
 dim i as long
 for i = 1 to 10000
  cells(i, 3) = 両含(cells(i, 1).value, cells(i, 2).value)
 next
end sub

もう来るな。
619デフォルトの名無しさん:2013/06/26(水) 17:24:40.47
なんかスゲーな。
回答厨とか言ってた奴思い出した。
620デフォルトの名無しさん:2013/06/26(水) 17:27:43.18
何故このスレの住人は煽り耐性が低いの?
621デフォルトの名無しさん:2013/06/26(水) 18:09:05.57
だな。見え見えじゃん。
622デフォルトの名無しさん:2013/06/26(水) 18:39:41.65
荒らしなのかどうかわからんが、いずれにしても煽ればコードが出てくるという雰囲気になるのは良くないな。
623デフォルトの名無しさん:2013/06/26(水) 18:47:17.73
君が感じる雰囲気にかかわらずム板でコードが出ないという事はありえんのだよ
624デフォルトの名無しさん:2013/06/26(水) 19:15:22.19
>>622
パイパン臭が少しでもあれば荒らしとみなしていいと思う。
例えそれが本人じゃなかったとしてもね。
パイパンが名無しの成りすましになってるから、混乱してるようだけど。

俺も煽ればコードが出てくるっていうのはよくないと思う。
625デフォルトの名無しさん:2013/06/26(水) 19:31:53.62
>>538だけど
約束は守られたのか?
626デフォルトの名無しさん:2013/06/26(水) 20:12:06.05
何より俺はまず最初に関数名が「両含」でいいのかと突っ込みたい
なんて読むんだよ
627デフォルトの名無しさん:2013/06/26(水) 20:19:29.16
>>624
桃白白が荒らしたことなんてあったか?俺は記憶にねえけどな。
628デフォルトの名無しさん:2013/06/26(水) 20:24:09.07
アスキーアートの連貼りは荒らしに見えなくもない
まあ上には上がいるからかわいいもんだけど、VBAスレでは今までそういうのがなかったから、
数回の連投でもそう見えてしまう
629デフォルトの名無しさん:2013/06/26(水) 21:08:51.54
AKB
630デフォルトの名無しさん:2013/06/26(水) 22:00:38.92
まああれだ。sageを覚えたなら進歩したんじゃないか
長い目でみて、完全放置しようぜ
631デフォルトの名無しさん:2013/06/26(水) 22:08:01.81
      /!/{  / ヾ--r
   _  /     ̄    <_
 _>`´    >>630___<_
  >    r‐'" ̄ ̄ ノ ̄ ̄`ヽ、―ニ 二
/ ,    |  `ヽ/ ´`ヽ _  三,:三ー二
 ̄/    |   ノヽ--/ ̄ ,    ` ̄ ̄ ̄
 / /⌒ヽ,|  ミ }  ...|  /!         差別する奴って最低だよな
 レ l d     _}`ー‐し'ゝL _
  | ヽ、_,   _,:ヘr--‐‐'´}    ;ー------
  |/|  \   ノ`ヾ:::-‐'ーr‐'"==-
    ヽ/l/|` ー------r‐'"    ̄ ̄
      |└-- 、__/`\-:、
     __,ゝ,,_____/ \_」 \
632デフォルトの名無しさん:2013/06/26(水) 22:44:02.76
Excel2007 VBAで.NETのコントロールを利用する方法ありますか?
DataGridViewやTreeViewを使用したいです
633デフォルトの名無しさん:2013/06/26(水) 23:06:01.37
>>632
VB.NetのフォームにExcelのシートを貼り付けた方が早くね?
634デフォルトの名無しさん:2013/06/26(水) 23:07:49.89
それで良いなら話は簡単なんですが・・
635デフォルトの名無しさん:2013/06/26(水) 23:59:39.21
VBAで複数のシートを扱う場合快適に動くのは何シートぐらいまででしょうか?
今20シートぐらいに書き込むコードを作りましたがさらに複製して倍に倍にと増やす予定です、お勧めの最大シート数を教えて下さい。
636デフォルトの名無しさん:2013/06/27(木) 00:22:24.79
マシンスペックも書きこむ内容も解らんと答えられるわけないと思わんのか?
637デフォルトの名無しさん:2013/06/27(木) 00:34:59.51
マシンスペックと書きこむ内容が解ればお前に答えられるのか?
638デフォルトの名無しさん:2013/06/27(木) 01:19:17.83
だね
639デフォルトの名無しさん:2013/06/27(木) 01:43:36.49
「快適」の基準も曖昧だし
640デフォルトの名無しさん:2013/06/27(木) 04:21:54.45
では質問を変えて今まで書いたVBAで最大何シートを操作した事がありますか?

50シート  100シート 1000シート 10000シート 100000シート 1000000シート 10000000シート 100000000シート  1000000000シート 
641デフォルトの名無しさん:2013/06/27(木) 04:26:38.60
1000000000シート 10000000000シート 100000000000シート 1000000000000シート 10000000000000シート 100000000000000シート 1000000000000000シート 
10000000000000000シート 100000000000000000シート 1000000000000000000シート 1000000000000000000シート 10000000000000000000シート 100000000000000000000シート
1000000000000000000000シート  1000000000000000000000000シート  1000000000000000000000000000シート  それ以上。
642デフォルトの名無しさん:2013/06/27(木) 04:45:57.04
あーあ、スレが殺伐としちゃって機能していないね…
質問する方も答える方も、挑発的な態度は慎もうよ
バトルしに来てるわけじゃないだろ?
643デフォルトの名無しさん:2013/06/27(木) 07:01:07.54
エクセル・VBAユーザーなんてこんなもんでしょ
644デフォルトの名無しさん:2013/06/27(木) 07:40:20.11
>>640
アンケートはよそでやってください
645デフォルトの名無しさん:2013/06/27(木) 12:28:57.13
100シートのエクセルブックなんて用途が思いつかん
使うアプリ間違えてるとしか思えん
646デフォルトの名無しさん:2013/06/27(木) 17:13:53.92
>>635
そういうのって誰かに聞いても
結局は自分のところで検証しなきゃならんから意味ないよ?

しかしシートが20から倍々ってのは
何か根本的な所で間違ってるような気がする
データの量が指数関数で増えるって事だろ
647デフォルトの名無しさん:2013/06/28(金) 08:32:40.51
http://www.uproda.net/down/uproda559285.zip.html
★zipファイルの「南海無」フォルダー以下
「平成25年4月」「平成25年3月」の数値未発表で一部合計値比較不可能の為
 平成25年2月〜平成13年4月は以下の各駅を合計・増減から除外して再計算。
 「南海」─「本線」─「難波」〜「住ノ江」
 「南海」─「高野線」─「汐見橋」〜「我孫子前」
★除外なしの計算値はzipファイルの「南海有」フォルダー以下。

※「Hnn(年度)」…平成(nn-1)年4月〜平成nn年3月
※「中之島」「渡辺橋」「大江橋」「なにわ橋」…「H21」10月の[総数]は日割り(13/31日) 。
※「大阪難波」「桜川」「ドーム前」「九条」…「H21」3月の[総数]は日割り(12/31日) 。
※「総数」…「H18」の7月以降及び年度平均はOTS線を除いた数値となっている。

平成24年4月〜平成25年4月
http://www.city.osaka.lg.jp/toshikeikaku/page/0000020916.html
[2013年6月19日]
http://www.city.osaka.lg.jp/toshikeikaku/cmsfiles/contents/0000020/20916/6-2.xls

平成24年3月〜平成13年4月
http://www.city.osaka.lg.jp/toshikeikaku/page/0000164566.html
[2013年6月4日]
http://www.city.osaka.lg.jp/toshikeikaku/cmsfiles/contents/0000164/164566/12-6.xls
648デフォルトの名無しさん:2013/06/28(金) 08:43:05.24
>>647
何いってんの?
649デフォルトの名無しさん:2013/06/28(金) 22:30:03.67
>>647
どうしろと?
650デフォルトの名無しさん:2013/06/29(土) 01:02:00.17
ただの誤爆でしょ
651デフォルトの名無しさん:2013/06/29(土) 15:51:01.79
モモさん消えちゃったの?
652桃白白 ◆9Jro6YFwm650 :2013/06/29(土) 15:59:38.38
>>651

いるけど?
   ∧,_∧ ♪
  (( (    )
♪  /    ) )) ♪
 (( (  (  〈
   (_)^ヽ__)
653デフォルトの名無しさん:2013/06/29(土) 16:03:11.50
おまえじゃねぇよ
654デフォルトの名無しさん:2013/06/29(土) 16:15:54.32
>>652
お元気そうでよかったです!
655デフォルトの名無しさん:2013/06/30(日) 23:13:06.00
学校の授業でVBAやってるんだけど、マジでちんぷんかんぷん……助けて
656桃白白 ◆9Jro6YFwm650 :2013/06/30(日) 23:33:03.58
>>655
桃白白が助けてあげちゃう。どういうコードがわからんの?
657デフォルトの名無しさん:2013/07/01(月) 00:23:24.91
>>655
VBAは実務でExcelを
活用しつつ使う言語だから
今はわからなくて当然
就職してから覚えればいいよ
658デフォルトの名無しさん:2013/07/01(月) 00:48:48.27
>>655
おっと、覚え立てで教えたがりの俺もいるぜ
なんでも聞いてみな
659デフォルトの名無しさん:2013/07/01(月) 00:51:04.54
つかVBAってむずくね?
一度挫折したけど別の言語やりだしてから何となく分かるようになった
初心者が最初にやる言語じゃないと思う
660デフォルトの名無しさん:2013/07/01(月) 01:31:39.98
>>659
初心者は何からやり始めればいいの?
661デフォルトの名無しさん:2013/07/01(月) 01:45:29.09
なでしこ
662デフォルトの名無しさん:2013/07/01(月) 02:02:19.19
支店 部門 年度別 月別をシート増やしていくと
いくつあっても足りないから
複数のブックに分けてる
ブック操作はなでしこ使って
シートの中はVBAで操作
663デフォルトの名無しさん:2013/07/01(月) 03:53:20.69
>>662
そういうのは1枚のシートに全データをまとめて、必要に応じて条件を指定して抽出するんだよ
それでデータ数が10万とか行くんなら、それはExcelじゃなくてAccessを使うべき仕事
664デフォルトの名無しさん:2013/07/01(月) 04:04:50.88
Excelシート上にマクロを実行する為のボタンを用意しました。
そのボタンをクリックした時のひな形コードが自動で生成されたのですが
その時のボタンの名前が ボタン2 となっており名前が変なので直したいのですが
どうしたらよいでしょうか?


Sub ボタン2_Click
  '略
End Sub



Sub executing_Click
  '略
End Sub
665デフォルトの名無しさん:2013/07/01(月) 05:16:14.10
>>664
Excelのボタンには2種類あって、
自動的に付く名前が「ボタン1」になるのはフォームのボタンなので名前は変更できません
もう一種類の方、Active Xのボタンを貼り付けて下さい
同じメニューの中に並んでいますから、よく探してください

そして、貼り付けたボタンを右クリック→プロパティを開き、オブジェクト名をexeutingに変更してから
最後にボタンをダブルクリックすると、ご希望のひな形が作られます
666デフォルトの名無しさん:2013/07/01(月) 06:54:03.15
>>655
VBAはゴミだから他の言語から覚えた方がいい
VBAから入ったやつは必ず変なクセ持ってるから使い物にならない
667デフォルトの名無しさん:2013/07/01(月) 08:14:47.20
そういえばVBしか使えませんっての
ちらほら居るな
668デフォルトの名無しさん:2013/07/01(月) 08:48:34.38
しまったあああああああああああああああああああああああああああああああ
エクスポートしとくの忘れてたあああああああああああああああああああああああああ




あー、でもこれでなんかスッキリしたような気がしなくもない
669デフォルトの名無しさん:2013/07/01(月) 08:49:29.88
あっ、誤爆失礼
670デフォルトの名無しさん:2013/07/01(月) 08:56:05.41
ぜんぜんスッキリしない (´・ω・`)
671デフォルトの名無しさん:2013/07/01(月) 09:38:16.38
>>665
ありがとうございます。解決しました。
672デフォルトの名無しさん:2013/07/01(月) 14:31:44.61
シート2のデータの参照式をシート1に埋め込むようにして、1行終わったら次の行に移って繰り返すようにしたいんだが、どうやればいいですか?
673デフォルトの名無しさん:2013/07/01(月) 14:50:38.18
>>672
それVBAでやることなのか?
674デフォルトの名無しさん:2013/07/01(月) 15:07:23.93
>>673
先輩&社長から、量が膨大でミスが起きるから、VBA使って自動でやれるようにしろと言われたんで…
675デフォルトの名無しさん:2013/07/01(月) 15:19:18.72
じゃあ、
・シート2のデータの参照式をシート1に埋め込み、
・1行終わったら次の行に移って繰り返すよう
なマクロ書けばOK
676デフォルトの名無しさん:2013/07/01(月) 15:20:55.18
先輩に質問しろよ
677デフォルトの名無しさん:2013/07/01(月) 16:47:42.19
社長はオレだ
678桃白白 ◆9Jro6YFwm650 :2013/07/01(月) 17:44:16.81
>>677
桃白白、Excel 2013のPreview版を使ってたんだけど、期限切れで使えなくなったの。
社長助けて。
679デフォルトの名無しさん:2013/07/01(月) 18:31:01.53
一般的にVBAを記述する場所は

@ Sheet1
A Module1

とあると思いますが、Formアプリケーションではない場合@Aどちらに
書くのが普通なのでしょうか?
680デフォルトの名無しさん:2013/07/01(月) 18:52:18.89
主処理はA、主処理のトリガーとUI制御は@
681デフォルトの名無しさん:2013/07/01(月) 19:22:19.69
サンクス
682デフォルトの名無しさん:2013/07/01(月) 19:42:52.07
>>678
Windows再インスコで期限リセットできない?
683デフォルトの名無しさん:2013/07/01(月) 20:04:33.32
別シートの最終行と最終列の取得、それと書式を標準にする方法教えて下さい。
684デフォルトの名無しさん:2013/07/01(月) 20:13:51.16
>>679
普通はThisWorkbookに書くんじゃね?
必要なければモジュール使うことないだろ
Sheet1はイベントハンドラ周りとか必要な時に書くだけ

まあ、最終的には動けばいいんだけど
685デフォルトの名無しさん:2013/07/01(月) 20:21:16.56
>>664
ボタンの名前変更は、ボタンを選択した状態で名前ボックスの所で書き換えれる
名前ボックスは数式バーの左横にあるやつな。セルの名前とか出るとこ

>>665
フォームのボタンでも名前は変えられます
686デフォルトの名無しさん:2013/07/01(月) 21:05:27.39
>684

はぁ?
687デフォルトの名無しさん:2013/07/01(月) 21:27:39.65
うっかりシートを削除しちゃうとシートに書いてあるマクロも消えちゃうよね
畜生ォ・・・持っていかれたァ・・・ッッ!!って感じで
だからマクロはモジュールに書くようにしています
688デフォルトの名無しさん:2013/07/01(月) 21:57:55.13
>>684
ThisWorkbookって
Workbook_open()とかの
ワークブックイベントしか書けないはずだが…違ったかな
689デフォルトの名無しさん:2013/07/01(月) 23:08:22.68
VBAを1から勉強したいと思っています。
プログラミング言語が宇宙語に見えてしまう程全然やったことのない初心者です。
皆さんはどうやってVBAを勉強しましたか?
参考にさせてください。
690デフォルトの名無しさん:2013/07/01(月) 23:30:15.48
あなたが短気で怠惰で傲慢なら
すぐにマスターできるよ
691デフォルトの名無しさん:2013/07/01(月) 23:42:16.53
単純作業を機械任せにして自分は楽したい、その為の努力は惜しまない、という人ならなんとかなるさ
692デフォルトの名無しさん:2013/07/01(月) 23:45:04.23
私はC言語を勉強しました
すると不思議なことに
次の日にはVBAのコードを楽々書けるようになっていたのです
それだけではありません
身長も伸びスリムになりIQも増えました
上司からも認められ昇進が決まりました
あなたもVBAをやめてC言語を学び豊かな毎日を手に居れましょう
693デフォルトの名無しさん:2013/07/02(火) 00:18:59.78
面白いと思ったのかな?
694デフォルトの名無しさん:2013/07/02(火) 00:36:08.04
VBAのおかげで彼女が出来ました!!
ありがとうVBA







こんな感じで合ってる?
695デフォルトの名無しさん:2013/07/02(火) 10:34:29.17
>>688
> ThisWorkbookって
> Workbook_open()とかの
> ワークブックイベントしか書けないはずだが…違ったかな

そんなことない。普通に関数を書くことができる。
696デフォルトの名無しさん:2013/07/02(火) 12:07:41.67
彼女のできるVBAのコードplz
697デフォルトの名無しさん:2013/07/02(火) 15:02:57.55
Private Function GetKanojo(Man As Variant) As Boorean
  If Man.Face = vbIkemen Then GetKanojo = True
End Function

糞コード
698デフォルトの名無しさん:2013/07/02(火) 18:20:42.61
しかも判定しただけでゲットは自分でやれとか
699デフォルトの名無しさん:2013/07/03(水) 03:14:06.64
T6セルから右に10個おきに文字を入力する方法を教えてください。
700デフォルトの名無しさん:2013/07/03(水) 04:42:35.74
>>699
こんな感じ。

Dim r As Range
Set r = Range("T6")

Dim i As Long
For i = 1 To 3
  r.Value = "ぱいぱい"
  Set r = r.Offset(ColumnOffset:=10)
Next
701デフォルトの名無しさん:2013/07/03(水) 08:54:44.04
offsetって結合セルでズレなかったっけ
702デフォルトの名無しさん:2013/07/03(水) 10:58:38.71
>>701
そんなこと言ったら、雨降ってるときに傘ささずに外歩いたらずぶ濡れになるわ。はい論破。
703デフォルトの名無しさん:2013/07/03(水) 13:52:54.12
>>699
セル範囲を指定する場合

For c = Range("T6").Column To Range("EZ6").Column Step 10
  Cells(6, c) = "ほげ"
Next

データの個数を指定する場合

For i = 1 To 20  ' 個数
  Cells(6, Range("T6").Column + (i - 1) * 10) = "もげ"
Next
704デフォルトの名無しさん:2013/07/04(木) 11:32:08.97
列名に特定の文字列を含む場合、その列のセル全てに任意の文字列を埋め込む方法を教えて下さい。

現在、R8に列名が書かれており、R9以降に文字列を埋め込みたいと考えています。
705デフォルトの名無しさん:2013/07/04(木) 12:39:19.99
列名に特定の文字列を含む場合、その列のセル全てに任意の文字列を埋め込めばいいよ
706デフォルトの名無しさん:2013/07/04(木) 13:29:26.32
コードをよこせってよ
白桃はやくしてやれよ
707デフォルトの名無しさん:2013/07/04(木) 13:56:27.00
>>704
「文字列を埋め込む」ってどういうこと?
708デフォルトの名無しさん:2013/07/04(木) 14:28:26.29
まず穴を掘って
709デフォルトの名無しさん:2013/07/04(木) 14:35:30.08
>>706
そんなにこのスレを荒らしたいのか?
710デフォルトの名無しさん:2013/07/04(木) 15:12:15.92
>>707
すみません、分かりづらいですよね…
入力したいと言うことです。
711デフォルトの名無しさん:2013/07/04(木) 15:16:26.63
>>704
文字列が含まれるかどうか
→InStr()

文字列"abc"の二文字目に"XYZ"を挿入する
→2文字目から0文字を"XYZ"に置換する
→Application.Replace("abc", 2, 0, "XYZ")
712711:2013/07/04(木) 15:18:38.09
入力したいってどういうことだよ…
R9「以降」ってどういうことだよ…

後はまかせた。
713デフォルトの名無しさん:2013/07/04(木) 15:42:14.06
714デフォルトの名無しさん:2013/07/04(木) 15:44:36.32
R8に列名が入っていて、それが特定の文字列の場合、R9に入力したい内容(今回は計算式)を入力したいんです。以降ってのは、R10、R11と同じことを繰り返したいという意味です。
715デフォルトの名無しさん:2013/07/04(木) 15:54:02.65
>>714
Forステートメントは書けるのかな?
716デフォルトの名無しさん:2013/07/04(木) 16:15:05.76
>>715
forは書けます。

多分、IF文で列中に該当する文字列があるか見て、該当していたら、入力したい内容を、該当していなければ、また別の処理をさせるという流れなんでしょうが、列名で条件分岐の方法が分からないんです。
717715:2013/07/04(木) 16:20:56.51
>>716
Forステートメントの前の段階が問題なのか。
>>711のレスを見ても分からなかったら致命的なんだけど。
718デフォルトの名無しさん:2013/07/04(木) 16:29:17.01
>>716
If InStr(1, Range("R8").Value, "特定の文字列", vbTextCompare) > 0 Then
  ……
End If
719デフォルトの名無しさん:2013/07/04(木) 16:55:20.07
>>714
計算式設定(C1:C3に「=A列*B列」をまとめて設定する場合)
→ Range("C1:C3").FormulaR1C1 = "=RC1*RC2"
720デフォルトの名無しさん:2013/07/04(木) 21:06:33.37
721デフォルトの名無しさん:2013/07/06(土) 22:50:25.03
722デフォルトの名無しさん:2013/07/08(月) 12:19:56.73
ウインドウズ7のエクセル2002なのですが、

例えば行A列の1行目から5000行目までに適当な数値が書かれてるんですが

そこに1行目から5000行目まで一気にそれぞれの数値を100プラスしたいというときに
do loop文を使わずに一括で足し算するみたいなことってできるんでしょうか?

loop使うと時間かかるので、この作業を出来ればloopよりもっと一瞬で行えるようにしたいです。
723デフォルトの名無しさん:2013/07/08(月) 12:57:58.02
エクセル 値 貼り付け 乗算
でググれ
724722:2013/07/08(月) 12:58:12.16
>>722なのですが

とりあえず考えてみてB列の1行から5000行まで100と入れておいて
C列の1から5000行に "=SUM(RC[-2]:RC[-1])" と文字で一括貼り付けする。というのが
一応早いみたいですが、これより良いのあるでしょうか?
725722:2013/07/08(月) 13:03:38.62
>>723
ありがとうございました。それが早そうですね。
726デフォルトの名無しさん:2013/07/08(月) 16:09:33.66
○ 加算
× 乗算
727デフォルトの名無しさん:2013/07/08(月) 17:56:18.01
遅いのはループのせいじゃないと思うが
728桃白白 ◆9Jro6YFwm650 :2013/07/08(月) 18:05:14.80
>>727
じゃあ何のせいだと思うが?
729デフォルトの名無しさん:2013/07/08(月) 18:09:15.90
ループで毎回RangeやCellsを参照すると遅い
配列に一括代入して、配列操作して一括で戻すと早い、EXCELVBAでの基本テク
Sub test1()
&nbsp; &nbsp; Dim i As Long
&nbsp; &nbsp; For i = 1 To 50000
&nbsp; &nbsp; &nbsp; &nbsp; Cells(i, 1).Value = Cells(i, 1).Value + 100
&nbsp; &nbsp; Next
End Sub
Sub test2()
&nbsp; &nbsp; Dim i As Long
&nbsp; &nbsp; Dim r
&nbsp; &nbsp; r = Range("A1:A50000")
&nbsp; &nbsp; For i = 1 To 50000
&nbsp; &nbsp; &nbsp; &nbsp; r(i, 1) = r(i, 1) + 100
&nbsp; &nbsp; Next
&nbsp; &nbsp; Range("A1:A50000") = r
End Sub
比べて見れ。50000なのは5000じゃ体感できる差が無かったからな
730729:2013/07/08(月) 18:11:03.05
ぐは、空白が...
これどうやったら空白のまま書き込みできるんだ?
731桃白白 ◆9Jro6YFwm650 :2013/07/08(月) 18:12:32.81
>>730
ねー。この間まで&nbsp;でいけてたと思うんだけど、昨今は全角半角ばかりだよ。
732デフォルトの名無しさん:2013/07/08(月) 18:22:12.86
>>730
&nbsp;で駄目なら、全角スペースで&nbsp;インデント&nbsp;すればいいよ。
733デフォルトの名無しさん:2013/07/08(月) 18:22:28.78
あ、やっぱ駄目ねw
734722:2013/07/08(月) 18:51:55.48
>>729
ありがとうございます。それも一瞬でできるみたいですね。
ちなみに Dim r  のあとは、as 何とかって形で形式は
指定しないんですね?
 
735722:2013/07/08(月) 19:03:16.34
ああ、バリアント型での変数でしか無理なので、省略したんですね。
解決しました。

たしかにこちらのやりかたは、加算、などする数値にまた変数を組み込めたりして
便利そうですね。ありがとうございました。
736722:2013/07/08(月) 19:59:02.02
っていうか、同型の変数を配列という形で一括で取り込めるというのを初めて知りました。
VBAを適当なマニュアルサイトで勉強してたときには無かったんですよね。

これは色々便利ですね。ありがとうございました。
737デフォルトの名無しさん:2013/07/08(月) 21:37:31.60
>>722
セルの読み書きに時間がかかるから、配列に一気に読み込んで、演算処理して、一気に書き戻す。

一瞬で終わるかどうかは環境次第だけど、かなり速くなるはず。
738デフォルトの名無しさん:2013/07/08(月) 22:29:12.99
Win7が入るようなマシンなら5000件ぐらい一瞬で終わる
5万件でも1秒
739デフォルトの名無しさん:2013/07/08(月) 22:32:51.84
あんまり早く処理が終わると味気ないので、わざとCellsで回してます
人に使ってもらうマクロの場合も、一瞬で終わり過ぎると逆に不安になるらしく
頑張ってる感を演出する為にもCellsで回して、Application.StatusBarとかに進捗表示させてます
740デフォルトの名無しさん:2013/07/08(月) 22:38:59.52
手作業で一週間かかってた作業がVBAだと一瞬で終わって事務員がリストラとかよくある話
741デフォルトの名無しさん:2013/07/08(月) 23:28:26.55
そして3年後にバグの素通しによる会計ミスが発覚して会社ごとリストラとかよくあ(ry
742デフォルトの名無しさん:2013/07/08(月) 23:44:07.89
エクセル2002が遅いじゃね
743デフォルトの名無しさん:2013/07/08(月) 23:44:56.76
足し算のスピードなんかバージョン関係ないし
744デフォルトの名無しさん:2013/07/08(月) 23:47:15.41
最近のは前のに比べて早くなったという噂が
745722:2013/07/09(火) 00:35:51.97
>>738
いやぁ、実際には5万件でも明らかにコンマ数秒ぐらいの1瞬でした。配列で飲み込まずに一個ずつやると
17秒かかったんですけどね。
746722:2013/07/09(火) 00:40:32.53
いや17秒はもりすぎでした。4秒ぐらいでした。まぁ、どうでもいいアレですがw
747デフォルトの名無しさん:2013/07/09(火) 06:46:03.18
>>744
全体で見たら早くなってるけど、単純な演算は遅くなってる
早くなってるのはセルの値や情報の取得設定などの、所謂オブジェクト操作
748デフォルトの名無しさん:2013/07/09(火) 08:16:37.76
>>747
ソースある?

単純な演算を遅くする or 遅くなる理由が思い付かないんだが
749デフォルトの名無しさん:2013/07/09(火) 08:38:24.80
俺はアジフライにはソースではなく醤油派だ
750デフォルトの名無しさん:2013/07/09(火) 08:50:12.64
そもそも最近のって具体的にどのバージョンだよ
751デフォルトの名無しさん:2013/07/10(水) 07:03:38.30
僅かな差なんだから機にすること無い
752デフォルトの名無しさん:2013/07/10(水) 07:28:46.16
c#でいうところのWebBrowserクラスはvbaには無いのですか?
753デフォルトの名無しさん:2013/07/10(水) 08:21:58.43
ieをcreateobjectする
754デフォルトの名無しさん:2013/07/10(水) 20:52:14.34
>>666
ダミアンさんの言うクセってどんなん?
755デフォルトの名無しさん:2013/07/11(木) 07:25:25.86
他の言語は素直だけどVBA回りくどいよね
756デフォルトの名無しさん:2013/07/12(金) 07:17:58.25
vbに切り替えればいいのにね
757デフォルトの名無しさん:2013/07/12(金) 07:35:19.36
Excelのマクロ言語に、使用言語切り替え機能なんてないぞ
まぁ、そのうち任意切り替え(選択)ではなく、
強制切り替え(マクロ言語をVB6系からVB.NET系に変更)はされるかもだけどな

まあ、今は他のオフィスソフトもマクロを強化されてるので
マクロ言語をVB.NETに変えると一気にユーザー離れする恐れがあるから
その辺はMSも慎重になるだろうけど
758デフォルトの名無しさん:2013/07/12(金) 07:49:40.35
困るよー
使っているのはプロの開発者ばかりじゃないんだからさ
エンドユーザーが忙しい業務の合間に苦心して開発して
自動化に役立てていたりするのが大半でしょ
そういう人は他の言語を覚える余裕がないから
VBAを切り捨てられたらたぶん世界中から非難の嵐
759デフォルトの名無しさん:2013/07/12(金) 08:11:41.44
MSにとってもメリットないだろうしな
760デフォルトの名無しさん:2013/07/12(金) 08:30:19.19
別に両方のせればいいだけ。
Excel4 マクロと VBA の両方が動作していた時もあるんだから (そう言えば Excel4 マクロってどうなったんだっけ?)
761デフォルトの名無しさん:2013/07/12(金) 08:38:57.20
つExcel DNA
762デフォルトの名無しさん:2013/07/12(金) 10:47:34.53
>>761
そういう欠点だらけで糞なものを紹介するな
763デフォルトの名無しさん:2013/07/12(金) 17:17:40.30
DateAdd関数で質問です。
23:00:00に1時間足すと翌日の零時にならないのは何故ですか?
イミディエイトウインドウで試したら下のような結果になります。

? DateAdd("h", 1, "2013/07/01 22:00:00")
2013/07/01 23:00:00

? DateAdd("h", 1, "2013/07/01 23:00:00")
2013/07/02

? DateAdd("h", 1, "22:00:00")
23:00:00

? DateAdd("h", 1, "23:00:00")
1899/12/31
764デフォルトの名無しさん:2013/07/12(金) 17:20:58.01
試しに、23:00:01でやってみたらOKでした。

? DateAdd("h", 1, "2013/07/01 23:00:01")
2013/07/02 00:00:01
765デフォルトの名無しさん:2013/07/12(金) 17:32:37.80
>>764
表示だけの問題かと。

?Format(DateAdd("h", 1, "2013/07/01 23:00:00"), "YYYY/MM/DD hh:mm:ss")
2013/07/02 00:00:00
766デフォルトの名無しさん:2013/07/12(金) 17:39:03.49
即レスありがとうございます。
途方に暮れていました。
結果を変数に入れててもエラーが出てたので気づきませんでした。
本当に感謝です。m(_ _)m


結果が00:00:00だとこの現象になる見たいです。
?dateadd("n",10,"2013/07/01 23:50:00")
2013/07/02
767デフォルトの名無しさん:2013/07/12(金) 19:54:13.40
VBAには日付だけとか時刻だけの型はないからなぁ
日付時刻の型で、時刻部分が00:00:00なら日付として使ってるだろっていう勝手なおせっかいだな
逆に日付が部分がデフォルト日付なら時刻として使ってるだろっていう勝手なおせっかいもあるのか
しかしなぜそれが1899/12/30なんだろ
768デフォルトの名無しさん:2013/07/12(金) 22:43:14.19
1900でいっか。ちょっとだけ余裕持たせね?んー、せやな。1日?うん、あ、いや、2日にしとこ。せやな。
769デフォルトの名無しさん:2013/07/13(土) 00:51:16.16
>767
その理由を説明するにはlotus 1-2-3の話に遡る必要がある。
770デフォルトの名無しさん:2013/07/13(土) 01:14:54.05
>>769
ロータス?是非お聞かせ願いたい
771デフォルトの名無しさん:2013/07/13(土) 01:17:15.42
日付形なんて迷惑なものを使うな
整数で十分だろ
772デフォルトの名無しさん:2013/07/13(土) 01:22:42.84
>>769
スレ違いなので、やりたければBソフ板の
Excel雑談スレでやってね
773デフォルトの名無しさん:2013/07/13(土) 01:25:51.65
>>770
だそうだ
また別の機会に
774デフォルトの名無しさん:2013/07/13(土) 01:36:32.62
>>773
Bソフ板で。では。
775デフォルトの名無しさん:2013/07/13(土) 11:03:53.60
他のスクリプト言語で初心者に毛の生えた程度には仕事アプリ作ったことがありますが質問です。
エクセルのマクロでは自分が作ったコード郡をどのように保管運用するのが普通なんでしょう。
エクセルのデータに埋め込むマクロはそれでいいんでしょうが、そうでない汎用的なサブルーチンや
エクセルの個別の書類にあまり依存しないマクロを書いている場合、今現在はエクセルが勝手に作る
personal.xlsとかいう書類に埋め込まれて保存されている状態で、そこからインポート・エクスポート
して使っている状態ですが、みなさんはどのような環境で自分のコード郡を作成・保存し、他人に
あげたりしてるんですか? なんか気持ち悪いけどこれが普通なんでしょうか。
776デフォルトの名無しさん:2013/07/13(土) 11:07:09.64
コード郡ってどこにあるんだよ、、、、、。仕事ばれるorz
777デフォルトの名無しさん:2013/07/13(土) 11:47:31.63
VBAソースってフォルダに保存
業務だとバージョン管理システムとかあるけどVBAに適用している例は知らない
778デフォルトの名無しさん:2013/07/13(土) 14:24:25.44
>>775
アドインとして保存
779デフォルトの名無しさん:2013/07/13(土) 16:03:04.18
>>777
エクスポートして subversion に突っ込んでる。
780デフォルトの名無しさん:2013/07/13(土) 16:14:05.03
>>779
それはDB操作やロガー等、再利用性が高く再利用前提のクラス?
781デフォルトの名無しさん:2013/07/13(土) 16:29:17.31
>>780
クラス、フォーム、モジュール 全部 + Excel ブック
782デフォルトの名無しさん:2013/07/13(土) 16:44:39.75
きっちりやってるねぇ
差分取るには良いかもだけど面倒そう
783デフォルトの名無しさん:2013/07/13(土) 18:08:46.04
ロードモジュールに変換して渡す
784デフォルトの名無しさん:2013/07/13(土) 18:19:20.05
VBAでキーロガー的なアプリを作れる?
アクティブじゃない時のキーボードイベントってどうすれば捕捉できるんだろう
785デフォルトの名無しさん:2013/07/13(土) 18:51:54.42
無限ループでキーボード監視
アクティブかどうかは関係無いっしょ
786デフォルトの名無しさん:2013/07/13(土) 19:02:50.61
>>782
全部のモジュール等をエクスポートするためのマクロボタン作ってあるから、エクスポートしてコミットするだけ。
変更の有無は subversion が判断するから、慣れればさほど面倒じゃないよ。
ただ、フォーム (*.frx) の差分がとれないのが残念。
787デフォルトの名無しさん:2013/07/13(土) 19:20:55.09
>>785
それは流石に非効率かな
イベントで処理したい
788デフォルトの名無しさん:2013/07/13(土) 20:17:05.28
非効率でも仕方ないでしょ
効率的にやりたいなら、組み込みマクロ言語ではなく
アプリ開発言語使えば良いだけだし
789デフォルトの名無しさん:2013/07/13(土) 20:41:37.71
VBAでもAPIが使えればなんでも出来るでしょ?
そう思ってた時(ry
790デフォルトの名無しさん:2013/07/13(土) 21:48:09.53
VBAって確かサブクラス化が出来ないんだよね
791デフォルトの名無しさん:2013/07/13(土) 22:42:07.53
サブクラス化w
792デフォルトの名無しさん:2013/07/13(土) 22:45:14.75
サブクラス化w
793デフォルトの名無しさん:2013/07/14(日) 03:15:57.31
>>790
VBAではAddressOfが無いからなぁ、と思ってたが
有るじゃないか、AddressOf演算子
いつのバージョンからあるんだろ?頑張ればできるんじゃね、今のバージョンなら
794デフォルトの名無しさん:2013/07/14(日) 06:02:42.41
非力だなあ
795デフォルトの名無しさん:2013/07/14(日) 11:18:16.67
関数を入力するテキストボックスあるじゃないですか
あれを今アクティブなセルを書き換えないで関数を呼びたいのですができませんか?
あとサブルーチンも呼びたいです
796デフォルトの名無しさん:2013/07/14(日) 13:28:20.19
Excel初心者ですが
sellに001 002 と0が頭についた数値を表記したい場合はどうすれば良いのでしょうか?
797デフォルトの名無しさん:2013/07/14(日) 13:29:51.88
文字列の最初に'をつけて
798796:2013/07/14(日) 13:34:57.03
>>797
できました! 
ここはVBAスレだったのですね・・板違いな質問にも関わらずありがとうございました。
799デフォルトの名無しさん:2013/07/14(日) 14:37:22.83
つでにセルはSellではなくCellな
800デフォルトの名無しさん:2013/07/14(日) 16:40:28.01
って誤字指摘してる俺も誤字ってるじゃんw
×つでに
○ついでに
801デフォルトの名無しさん:2013/07/14(日) 19:07:18.44
ひゅう〜www
802デフォルトの名無しさん:2013/07/14(日) 21:40:03.07
excel 2007です

Option Explicit

Public Sub Hoge()
Debug.Print "Hello"
End Sub

Public Sub Fuga()
Debug.Print "*****"
Application.Evaluate ("Hoge()")
Debug.Print "*****"
End Sub

*****
Hello
Hello
*****

なんで2回よばれてしまうんですか?
803デフォルトの名無しさん:2013/07/14(日) 23:14:20.44
一度評価し正しければ実行
かなあ
804デフォルトの名無しさん:2013/07/15(月) 01:04:22.50
OnActionなんかでも、2回呼ばれてしまうケースと、それを回避する方法があったな
同じ方法で対応できるかは解らないが、ググってみれば?

あとは対処療法で1回しか実行されないようにする方法はいくらでもあるので、それで間に合わせるとかね
805796:2013/07/15(月) 18:31:17.35
VBAに生命をやどす事はできるのでしょうか?
806デフォルトの名無しさん:2013/07/15(月) 18:41:05.19
VBAを使うメリットを教えてください
会社の先輩が言うには持ち込み禁止の現場でもエクセルならまず入ってるからと苦しい理由を述べていたのですが…
いくらなんでも開発用の環境はあるはずなのでそれを使うべきではないでしょうか?
807デフォルトの名無しさん:2013/07/15(月) 19:28:56.10
808デフォルトの名無しさん:2013/07/15(月) 20:40:49.88
初歩的な質問ですが
オートフィルタの抽出結果の中にある空白セルをカウントするには
どうしたらいいでしょうか?
空白セルの有無で処理を分岐させたいのです。
809デフォルトの名無しさん:2013/07/15(月) 21:56:52.22
>>806
甘いな
開発環境がExcelしかない現場など星の数ほどある
810デフォルトの名無しさん:2013/07/15(月) 22:02:31.68
その現場ではエクセルマクロを納品するのですか?
811デフォルトの名無しさん:2013/07/15(月) 22:15:01.71
>>809
ホントか?
Excel 入ってて Word 入ってない PC なんて見たことないし、メモ帳あれば vbs とかでも開発できるんだよ。
812デフォルトの名無しさん:2013/07/15(月) 22:23:33.51
>>810
そうだよ
というか、現場で既存のExcelブックにVBAを打ち込んで
そのまま使ってもらうだけ。
納品も実に簡単だ。
813デフォルトの名無しさん:2013/07/15(月) 22:34:05.02
それはかわいそうな現場ですね
それ以外の現場であえてエクセルを使う理由はありますか?
814デフォルトの名無しさん:2013/07/15(月) 22:44:46.26
>>813
うざいわ
815デフォルトの名無しさん:2013/07/15(月) 23:56:04.94
世間知らずのニートは黙ってろ
理想と現実は385度ぐらい違うし民衆の約122%はバカで豚なんだよ
816デフォルトの名無しさん:2013/07/16(火) 08:36:28.82
うわっ
817デフォルトの名無しさん:2013/07/17(水) 02:10:45.41
起点セルから10個おきに計算式を埋め込み、それをデータが記入されているセルまで続けたら、
2行目へ移動して同じ事を繰り返す方法を教えてください。
818デフォルトの名無しさん:2013/07/17(水) 02:32:53.96
>>817
それをそのままコードにすれば良いだけじゃん
819デフォルトの名無しさん:2013/07/17(水) 02:45:35.83
>>817
forかwhile内でif置くだけの簡単な処理です
要件の規模によっては手でやれよってなる
820デフォルトの名無しさん:2013/07/17(水) 04:31:34.83
>>817
どこまでコードができてるの?
コードができていないというのは論外だけど。
821ピラフ:2013/07/17(水) 10:31:43.54
>>817
ピラフが教えてあげちゃう。
こんな感じ。

Dim row
For row = 1 To 256
  If Cells(row, 1).Value = "" Then
    Exit For
  Else
    Dim column
    For column = 1 To 256 Step 10
      If Cells(row, column).Value = "" Then
        Exit For
      Else
        Cells(row, column).Formula = "hoge"
      End If
    Next
  End If
Next
822デフォルトの名無しさん:2013/07/17(水) 10:40:23.89
>>821
ネスト深過ぎw
823ピラフ:2013/07/17(水) 10:51:02.72
>>822
For文やIf文でネストするなとでもいうつもりでしょうか?
可読性下がって保守しづらくなるばかりだと思いますが?ピラフ的にはそう思いますが!!
824デフォルトの名無しさん:2013/07/17(水) 11:33:17.42
256とかどっから出てきた数字なんだ
つか相手にしちゃいけない奴のにおいがするな
825ピラフ:2013/07/17(水) 11:52:52.97
>>824
256というのはピラフの頭脳から出てきた数字。
別になんでも良かったんだが、きりのいいところで適当に選んだ。
ピラフはそういう決断力を持ってる。256で足りなければ65536でもいいし、
Rows.Countでもいい。その辺は質問者の環境に合わせて適当に書きかえればいい。
テンプレにも書いてあるとおり質問者はプログラマーであることが前提となってるわけだから、
その辺は適当に対処できる能力を有するものと考えて差し支えないものと思われる。
ピラフは256という数字でいいがかりをつけたお前を心底頭の悪いやつだと思ってる。
826デフォルトの名無しさん:2013/07/17(水) 12:23:46.78
マジックナンバー使うなっていうプログラミングの基礎事項があるわけなんだが
まあ、やっぱり相手にしちゃいけない奴だったようだから以後無視することにするわ
827デフォルトの名無しさん:2013/07/17(水) 12:26:06.92
ピラフちゃん好きだよ
828ピラフ:2013/07/17(水) 12:30:17.58
>>826
書き逃げw ダッセwww
書き換えればいいじゃねえか。マジックナンバが嫌なら。
質問とは関係ないがな。お前どうせ回答できねえだろ。
無視するとかカッコつけてるが、答えられないだけだろ。みんな気付いてるよ。
829デフォルトの名無しさん:2013/07/17(水) 12:49:44.53
書き換えが必要なものなど埋め込むな、って趣旨の話であることを理解できない奴w
830デフォルトの名無しさん:2013/07/17(水) 13:11:23.10
>>821
範囲がわからないときは、とりあえずcurrentregion使っとけ
831ピラフ:2013/07/17(水) 13:12:18.37
>>829
それが嫌なら嫌だと思った奴がやらなきゃいい。
それくらい自分で判断してできるだろ。お前はピラフからいちいち指示されなきゃ
できない3歳児なのか?テンプレに書いてあるプログラマは他人から質問と関係ないような
細かいことまでピラフから指図されなければできない奴のことを言ってるんじゃないんだよ。
質問に回答してないやつがくだらない揚げ足取りしてんじゃねえよ。ピラフぶち切れんぞ。お前もピラフぶち切れさせたくないだろ?
ピラフが世界最強の殺し屋だったらピラフはお前を一撃で殺害してやってるところだわ。
832デフォルトの名無しさん:2013/07/17(水) 13:14:31.52
暴れるな
833デフォルトの名無しさん:2013/07/17(水) 13:15:03.20
またパイパンか。
834ピラフ:2013/07/17(水) 13:15:32.71
>>830
それはピラフに言うことじゃない。質問者に言うことだ。こっちの方がいいよと
お前が質問者に全力で示せばいい。ピラフは関係ない。
835デフォルトの名無しさん:2013/07/17(水) 13:16:15.67
白白と二大巨頭になりそうな余寒
836デフォルトの名無しさん:2013/07/17(水) 13:19:10.71
>>829
正論だけど的外れな指摘
837デフォルトの名無しさん:2013/07/17(水) 13:19:17.28
どうみても同一じんぶt
838デフォルトの名無しさん:2013/07/17(水) 13:36:11.58
なんでコイツときどき発狂するんだろう?
839ピラフ:2013/07/17(水) 13:40:59.55
>>838
ピラフ今日初めてここに書き込んだからときどきというのは
間違ってると思うけど、ピラフは嘆かわしいよ。こんな書き込みしかなかったんだよ。。。
1年前は2〜3人技術力のあるすてきな人がいたと思うんだけど。

818 :デフォルトの名無しさん [↓] :2013/07/17(水) 02:32:53.96
>>817
それをそのままコードにすれば良いだけじゃん


819 :デフォルトの名無しさん [↓] :2013/07/17(水) 02:45:35.83
>>817
forかwhile内でif置くだけの簡単な処理です
要件の規模によっては手でやれよってなる


820 :デフォルトの名無しさん [↓] :2013/07/17(水) 04:31:34.83
>>817
どこまでコードができてるの?
コードができていないというのは論外だけど。
840デフォルトの名無しさん:2013/07/17(水) 14:32:52.21
>>839
818 819 820  >>817の論点の絞れない質問に対しては皆まともな回答じゃん。
中でも>>820    どこまでコードができてるの?
が一番適切だろう。これに質問者が答えてようやく回答の方向が見つかるレベル。

現状でコードを書くならピラちゃんの>>821 こんな感じ が限度じゃない。
「こんな感じ」のヒントコードに文句をつけている人は単なるクレーマにしか見えない。
クレーマより白白みたいに質問者の意図を考慮しない自己満足コードを張り付けて「どうだ」
と開きなおっているほうがまだましな。
841ピラフ:2013/07/17(水) 14:44:47.98
>>840
Aする方法を知りたい。

817
Aすればいい。

819
Aしなくていい。

820
俺は論外。

ピラフ
こうすればいいよ。

正常なのはピラフだけ。
842ピラフ:2013/07/17(水) 14:51:13.86
結局お前ら情報を小出しにして質問者に偉そうな態度とって
優越感に浸りたいだけなんだよな。だからピラフがふつうの良識ある回答する
とがたがた難癖つけて怒る。かわいそう!ピラフかわいそう!!
843ピラフ:2013/07/17(水) 14:59:27.18
マルチポストすんなとか後出しすんなとか質問者には偉そうに言うくせに
回答者はあっちこっちで同じような回答したり、情報を後出ししたり平気でやる。
回答者のモラルが崩壊している。ピラフはこのスレで回答者のモラルを
取り戻すために頑張りたい。それがこの落ちぶれたスレのためになると思う。
応援よろしくお願いします。
844デフォルトの名無しさん:2013/07/17(水) 15:07:47.80
糞コード貼り付けて
「これを使いたまえ」
全然正常じゃない。
845デフォルトの名無しさん:2013/07/17(水) 15:08:30.17
突っ込まれて自分で書き換えろとかいうコード書いてるレベルで何を言ってんだか
846デフォルトの名無しさん:2013/07/17(水) 15:14:31.27
>>841-843
いい加減にしろよ
847ピラフ:2013/07/17(水) 15:18:49.73
>>844
ちがうよ!ぜんぜんちがうよ!!
ピラフという名前が高貴さを感じさせるからピラフを貴族だと
思ったのかもしれないけれども、ピラフは使いたまえなんて言えるほど貴族じゃないよ。
ピラフという名前はピラフがまだお母さんのお腹の中にいるときに
おばあちゃんが食べ物のピラフのように熱いハートを持ってピラフの味のように
人々をほっこりさせるような人になってほしいというそういう優しいおばあちゃんの
思いが込められたものなんだよ。ピラフは大好きなおばあちゃんに誓っていうけど、ぜんぜん違うよ。
848ピラフ:2013/07/17(水) 15:27:37.99
>>845
マジックナンバは突っ込みどころ間違ってると思うんだー。
だからマジックナンバ嫌な人はマジックナンバを自分で書き換えたまえ。
849デフォルトの名無しさん:2013/07/17(水) 15:38:22.42
大丈夫。ピラフちゃんは正しい。
850デフォルトの名無しさん:2013/07/17(水) 15:46:27.36
おいパイパン、マジでいい加減にしろ
851デフォルトの名無しさん:2013/07/17(水) 15:48:23.78
■ 的確で親切な説明 → 桃白白 ・ ピラフ
852デフォルトの名無しさん:2013/07/17(水) 15:56:11.11
これだけ突っ込まれて的確で親切だって言い張れる心臓には感服するわ
853デフォルトの名無しさん:2013/07/17(水) 16:37:47.31
だからといって、模範解答を出すわけでもない
854デフォルトの名無しさん:2013/07/17(水) 16:39:55.02
>>821から30レスほど、全くのゴミ
855ピラフ:2013/07/17(水) 16:42:53.44
>>854
ほとんどピラフじゃん。なにそれ意味わかんない。ピラフゴミじゃないし!!
856デフォルトの名無しさん:2013/07/17(水) 16:46:52.61
>>853
そもそも「10行おき」ってstep 10なのか?みたいな曖昧な質問だから、模範解答も糞も無い。
step 11なんじゃないかとも思ったりするが、答えるつもりも無いんでどうでもいい。
857デフォルトの名無しさん:2013/07/17(水) 19:09:37.27
10行おきじゃなくて、10個おきだからなぁ
A1からA10までの計算式セットをA11からA20まで、A21からA30まで
ってやりたいんじゃないかと思ったり
858デフォルトの名無しさん:2013/07/17(水) 19:18:00.93
もう質問内容について質問者不在であーだこーだ言うのやめね?
859ピラフ:2013/07/17(水) 19:23:27.40
>>858
回答者が議論することで読解力を身につけるいい機会だと思うよ。ピラフ的には問題ないと思うよ。
860デフォルトの名無しさん:2013/07/17(水) 19:42:12.18
ポジティブだねぇ
861デフォルトの名無しさん:2013/07/17(水) 19:56:09.87
>>821>>817の要件に合いそうな箇所が
Cells(row, column).Formula = "hoge"
しかなくておじさん辛い。
862デフォルトの名無しさん:2013/07/17(水) 19:58:41.21
質問者「>>821さんので試したところ、なにも起きませんwwwww」

>>821「読み解いて適宜修正しろや!シネカス!」

他「プークスクス」
863デフォルトの名無しさん:2013/07/18(木) 00:31:04.57
ファクトリパターンと言うのがどういうのかわかりません。
誰かVBAでちょろっと説明して下さい。
864デフォルトの名無しさん:2013/07/18(木) 00:39:38.91
ものすごく説明が下手くそなんで、意味が解らなかったらごめんなさい。

sumifsとかcountifsの文字列結合版のユーザー関数(catifs)を作ってみました。
引数はほぼsumifsとかcountifsと同じで、違いはデリミタを指定できる点ぐらい。
=catifs(結合範囲, デリミタ, 条件範囲1, 条件1, 条件範囲2, 条件2...)

一応期待通りの動きはしてるんですが、各条件範囲をぶっこんだVariant型配列(仮にCriteriaRanges)の呼び出しが重い。
このCriteriaRangesは、条件範囲(Range型)を代入したVariant型の配列をさらに、
CriteriaRanges(0)に条件1の条件範囲、CriteriaRanges(1)に条件2の条件範囲・・・となるようまとめた代物です。
(ex.CriteriaRanges(3)(5, 1)で「条件4の条件範囲の、上から5番目の左端のセルの値」にアクセスできます)

試しにこの数式を200行くらにい貼り付けると、30秒近く画面が固まったままになります。
やっぱりこの配列が原因なんでしょうか? また、より高速に処理する方法はないでしょうか?
865デフォルトの名無しさん:2013/07/18(木) 00:53:53.48
セルに関数を設定しなけりゃいいんじゃないの
866デフォルトの名無しさん:2013/07/18(木) 03:11:12.73
>>863
○○とはでググれば一番最初に丁寧な概念解説がでてくるじゃん。
Excel実装例でいったら、OSやMSの版によってオブジェクトの有無や違いがある場合に、版を取得・判断し、必要とするオブジェクトを返す。とか。
HTTP通信関係のオブジェクトの、MSXMLだかなんとかSERVERなんかで、OBJECTの版数(x.x)が端末によって違いがあって、create→onerrorで探す・・・あ、これはエラー回避処理か。

>>864
ソースはよ
1,000まで>>864のブラッシュアップで遊ぼうぜ
867デフォルトの名無しさん:2013/07/18(木) 06:00:37.85
ユーザー定義関数をいっぱい貼ると重くなるのは仕様なんじゃないの?
868デフォルトの名無しさん:2013/07/18(木) 09:32:42.06
検証してみたいけど、自分で一から書くのは面倒だもんなあ
人の書いたソースをいじった方が楽だし
869デフォルトの名無しさん:2013/07/18(木) 09:43:29.38
クソ重くなるよ(実体験)
870デフォルトの名無しさん:2013/07/18(木) 11:57:16.09
単にオプションの計算方法を手動に設定すれば早くなったりして。
871デフォルトの名無しさん:2013/07/18(木) 14:19:12.29
計算中は再計算を無効化するとか
872デフォルトの名無しさん:2013/07/18(木) 17:48:37.99
>>864
セルへのアクセスは遅いってのは定説
セル範囲で受け取ったら、セル範囲の値を配列に入れてから使えよ

これ以上はソースさらせ
873デフォルトの名無しさん:2013/07/19(金) 01:14:38.31
質問です。
セルP2にセルG4の文字列"20130718"を
.Range("P2").value = Mid(.Range("G4"), 5, 2) & "/" & Right(.Range("G4"), 2)
の様に変換して入力し、セルの書式設定で"dd"として日付のみ表示しています。
(数式バーには 2013/7/18 と表示されています)
これをセルQ2に=P2+1と数式を入れ行方向にオートフィルしています。
G列にはG4の様な8桁の数字(日付)が入力されているので
このオートフィルした範囲をG列の各セルをキーワードとして検索したいのですか
Findでヒットしません。
ちなみに
I = .Range("Q2").value とするとローカルウィンドウには"2013/07/18"
と表示されます。

下手な説明で申し訳ありませんが、このような場合どうしたら検出来るようになりますか?
874デフォルトの名無しさん:2013/07/19(金) 02:31:44.78
>>873
とりあえずそのヒットしないって言うFindのとこさらせ
あとオートフィルした所は結局どんな値か式が入ってるんだ?
どうせ検索元と検索対象で型が違うだけだろ。日付を文字で検索してるかその逆か
875デフォルトの名無しさん:2013/07/19(金) 02:45:09.41
>>873
GとQをtypenameで確認
Gが数値でQが日付なんだろう

それにしても読みにくいな
説明が云々を免罪符にせず
100回読み直して添削してよ
876デフォルトの名無しさん:2013/07/19(金) 07:24:05.65
>>874
Dim lRow As Long
Dim r As Integer, s As String
Dim Obj As Range
With Worksheets("データ")
.Range("P2").value = Mid(.Range("G4"), 5, 2) & "/" & Right(.Range("G4"), 2)
lRow = .Cells(Rows.Count, 1).End(xlUp).Row
For r = 4 To lRow
s = Cells(r, 7).value

s = Right(s, 2)
Set Obj = .Range("P2:CU2").Find(s, SearchOrder:=xlByRows)
If Obj Is Nothing Then
MsgBox "データが見つかりませんでした。"
Else
Obj.Select
End If
です。
この状態で最初のP2は検索にヒットしますが、
s = Mid(s, 5, 2) & "/" & Right(s, 2)
とするとP2もヒットしなくなります。

オートフィルした所は左隣りのセル+1としてします(Q2なら=P2+1,R2ならQ2+1)


>>875
確認した所P2,Q2ともDateでした。

おっしゃる通りで申し訳ない。
877デフォルトの名無しさん:2013/07/19(金) 09:11:00.56
>>876
みんなが指摘しているように検索キーと対象の型があっていないだけでしょう
特に日付型の場合はFormatを完全に合わせないと検索できないよ
s = Mid(s, 5, 2) & "/" & Right(s, 2) '見かけ上の日付型を
s = Format(s, .Range("P2").NumberFormat) 'Range("P2")の型に合わせる
で試してみて
878デフォルトの名無しさん:2013/07/19(金) 17:12:21.94
>>876
張るならちゃんとしたコード張れよ
NextもEnd Withも無いじゃないか

検索の初期値は数式で検索だから、値で検索しろよ
Findの引数にLookIn:=xlValues追加するだけだ
879デフォルトの名無しさん:2013/07/19(金) 19:20:45.18
>>877
アドバイス通り試しましたが、"20130521"で検索したのに対し、
Obj.Selectしたのは6/21のセルとなり、
また、"20130625"で検索をするとObj.Selectしたのは5/25のセルとなり、
望んだ結果通りにはなりませんでした。

>>878
コードのコピペミスすみません。
LookIn:=xlValuesを追加して試したのですが、
同じように違う月の日付が検索結果として出てきました。

お二人のアドバイスを両方組み合わせたり、

s = Left(s, 4) & "/" & Mid(s, 5, 2) & "/" & Right(s, 2)
s = Format(s, .Range("P2").NumberFormat)
としたりしてみたのですがどうも思うような結果になりません。

どうしたらいいでしょうか?
880デフォルトの名無しさん:2013/07/19(金) 20:29:17.59
>>879
s = Cells(r, 7).value
s = Right(s, 2)
検索してるのは日付だけなんだから、違う付きの日付が検索されるのは正常だろうが

何がやりたいんだよお前
881デフォルトの名無しさん:2013/07/19(金) 21:03:28.60
>>880
それに気づき、879にも書いたように
s = Left(s, 4) & "/" & Mid(s, 5, 2) & "/" & Right(s, 2)
でもためしましたが、だめでした。
882デフォルトの名無しさん:2013/07/19(金) 21:14:52.56
Dim I As Variant
I = .Range("Q2").value
とし、せるQ2を確認するとDate型で#2013/05/22#
となっていました。
これに検索キーワードの型を合わせたいのですが、
Dim s1 As Date
s = Cells(r, 7).value
s1 = Format(s, Date)
としても型が合わないと実行時エラーが出ます。
どう修正したらいいでしょうか?
883デフォルトの名無しさん:2013/07/19(金) 21:37:45.93
>>881
>セルの書式設定で"dd"として日付のみ表示しています。
を見落としていたわ
日付だけで月の違うデータが混在する表にどんな意味があるのか想像できないが
セルの表示   01,02,・・・01,02・・・
(セルの値   2013/05/01,2013/0502,・・・2013/06/01,2013/06/02・・・)
こんな表で 2013/06/01 のセルの場所を見つけたいってことだろう

見つかったセルのValueが[2013/06/01]かどうか判定する
(参考)FindのHelpをそのままコピペ、Doの中に判定文
Set c = .Find(s, lookin:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
If c.value = "2013/06/01" Then
おおあたり
Exit Do
End If
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
884デフォルトの名無しさん:2013/07/19(金) 22:13:04.20
>>882
当然でしょう
Date はFormat関数に使用する表示書式指定文字ではありません。

日付型にを変換したいのなら yyyy/mm/dd の文字列にしてから CDate
但し、検索に使うならあまり意味はないよ。合わせるのは Format ね。
885デフォルトの名無しさん:2013/07/19(金) 22:13:35.19
>>882
だから何がしたいんだ?
計算式で日付計算して日しか表示してないのに、年月日で検索したいのか?

.Findでやりたいなら
計算式やめるか、日しか表示してないのを年月日まで表示する

.Findでなくてもいいなら
自分でループしてチェックする

どっちかでやれ
886882:2013/07/19(金) 23:50:12.28
皆さんのアドバイスを参考に試行錯誤しましたが
なかなか思うようになりません。
やりたいことはガントチャートを作ろうとしていて
出来るだけページの横幅を抑えたいので
日付は1行目に月、2行目に日を表示してセルの幅を最小限に抑えようとしています。
材入り日をキーワードとし、P2から横方向に検索し、該当セルに色付けをしたいのです。
該当部のみ抽出したサンプルをupしました
よろしければ一度確認してみてください。

http://www1.axfc.net/uploader/so/2969597
DL Key tesu
SYORI1にFindで SYORI2にループでやろうとしていますが
どちらも失敗に終わっています。
>>883さんのも試しましたが、
If Not c Is Nothing Then
ですぐにEnd IFになりました。

書きかけのコードで見にくいと思いますが、お力をお貸しいただけると助かります。
887ピラフ:2013/07/20(土) 00:00:28.60
>>886
ナイスアップロード!ピラフも見ちゃう。
888デフォルトの名無しさん:2013/07/20(土) 00:41:07.79
あとはピラフに任せようず
889デフォルトの名無しさん:2013/07/20(土) 00:42:48.26
>>864
ソースはよ
890ピラフ:2013/07/20(土) 00:44:41.68
>>888
ぇ・・・。
日付の検索は厄介だって田中さんも言ってた。
891ピラフ:2013/07/20(土) 01:13:48.47
>>886
じつはピラフ、エクセル持ってなくてLibreOfficeで確認してるんだけど。
SearchOrderをxlByColumnsにしたら検索できた。
892デフォルトの名無しさん:2013/07/20(土) 01:21:38.69
いいキャラだねぇ
893ピラフ:2013/07/20(土) 01:23:17.89
>>886
SYORI2は
If .Cells(r, 7).value = .Cells(2, a).value Then
これを
If s1 = .Cells(2, a).Value Then
にしたら検索できた。
894デフォルトの名無しさん:2013/07/20(土) 02:19:30.17
>>886
いやガントチャートとか材料入り日とかそんなのどうでもいいから
エクセルブックとか怖くてダウンロードとか出来ねえわ

.Findでやりたいなら
計算式やめるか、日しか表示してないのを年月日まで表示する
.Findでなくてもいいなら
自分でループしてチェックする

どっちか選べよ
895デフォルトの名無しさん:2013/07/20(土) 08:42:08.67
>>886
>If Not c Is Nothing ThenですぐにEnd IFになりました。
アホか
対象が見つかったらDoで回せというコードだから見つから無ければそのまま終了だろう
例でいうと 01が表示されているセルがいくつか見つかったらそのうちどれが正しいか判定するものだ
ヒットしたセルのValueを調べて事前に用意した正しいValueと比較-同じなら正解-違っていれば次を検索
>>879のようにddにはヒットするが対象が違うというコードの中に組み込んで初めて機能する
Helpもよく読め。

>日付は1行目に月、2行目に日を表示して
表を変えてよいのなら別の手もある
1行目に"yyyy/mm/dd"、2行目に月、3行目を日にして1行目を見た目非表示にする。
1行目を検索対象にして2行目、3行目の表示も1行目を参照。
これならセルの表示形式に惑わされることもない。
896デフォルトの名無しさん:2013/07/20(土) 08:52:47.52
>>886
>>894は滅茶苦茶斜め上から目線で気に食わないけど言ってる事は正しいな。
対処方法としてはぱっと見て3つ位思い付くけど、
一つ目は>>893が言ってる様に、G列のセルから取得した値をDate型に変換して
シリアル値として比較する方法。
二つ目は逆に2行目の日付セルから取得した値を文字列型に変換して
文字列として比較する方法。
三つ目は隠し行を仕込んでおいて、そこに2列目に相対する年月日を書いておいて
それと比較する方法。

まぁこんなところか。
897デフォルトの名無しさん:2013/07/20(土) 08:57:32.64
なんだ被ったな。実際には>>893の方法が一番今のコードから直すのに楽だし
変なものシートに仕込まなくていいから現実的かな。
898デフォルトの名無しさん:2013/07/20(土) 15:11:23.41
横方向に日付が+1されていくだけなら、検索したい日付と基準日の差をとれば
いちいちセルの値チェックしなくても横位置は解る
まあ俺なら多分そうする。要件次第だけど
899デフォルトの名無しさん:2013/07/20(土) 17:29:04.36
ExcelにactiveXコントロールのコマンドボタン作って、それをクリックしたら起こるイベント
CommandButton1_Click()を作りました
次にフォームを作り、そのフォーム上にactiveXコントロールのコマンドボタン作って、それをクリックしたら起こるイベント
CommandButtonForm_Click()を作りました
そのCommandButtonForm_Click()イベント時にCommandButton1_Click()の動作を行いたいのですが、どうすればいいのでしょう
フォームのコードのsub CommandButtonForm_Click()に
CommandButton1_Click
Call CommandButton1_Click
Sheet1.CommandButton1_Click
Call CommandButton1_Click
を入れてもエラーが起きてしまいます。
900デフォルトの名無しさん:2013/07/20(土) 18:18:40.24
>>899
多分、Sheet1.CommandButton1_ClickがPrivateになってる
Publicにすれば呼び出せるけど、つくりとしてはお勧めじゃない
CommandButton1_Clickで処理する内容をPublicな別プロシジャーに書きだして
それを両方から呼ぶのが正当派なつくり
901882:2013/07/20(土) 19:00:23.42
893さんの方法で上手くいったので

For r = 4 To lRow
s = Cells(r, 7).value
s = Left(s, 4) & "/" & Mid(s, 5, 2) & "/" & Right(s, 2)
s1 = CDate(s)
For a = 16 To lColumn
If s1 = .Cells(2, a).value Then
.Cells(2, a).Select
MsgBox "あたり"
Exit For
End If
Next a
Next r

で行こうと思います。
皆さんありがとうございました。
902デフォルトの名無しさん:2013/07/20(土) 19:23:57.67
>>900
ありがとう
見落としてました
903864:2013/07/20(土) 19:38:54.00
返事が遅くなってすみません。
皆様アドバイスありがとうございました。
いただいたアドバイスを元にあれこれ検証したところ、
30秒かかったものが10秒程度まで縮めることができました。
このまま自力での解決を試みてみます。

ソース公開の声もあるようですが、
例外処理も何もなっていない糞コードですのでご勘弁下さい。
904デフォルトの名無しさん:2013/07/21(日) 13:12:11.39
可視セルのみ5セル色を変えたくてこの様なコードを組んだのですが、
Range(Cells(5, 3), Cells(5, 3).Offset(0, 5)).SpecialCells(xlCellTypeVisible).Select
Selection.Interior.ColorIndex = 5
これを仮に3列列非表示にしてためすと、非表示セルは塗りつぶしされませんが、
可視セルも3個しか塗りつぶしされません。
非表示セルに関係なく可視セルのみ6セル分塗りつぶしたい場合は
どのようにしたらいいでしょうか?
905デフォルトの名無しさん:2013/07/21(日) 14:56:38.23
>>904
Loopして可視セルだけ塗る
案1、順に可視セルか否かを判断して可視セルなら塗る。6個塗ったら終了
案2、対象範囲のSpecialCells(xlCellTypeVisible)をFor Eachで6個だけ塗る

余計なお世話だが元コードもなんだかなー
Range(Cells(5, 3), Cells(5, 3).Offset(0, 5)).SpecialCells(xlCellTypeVisible).Select
Selection.Interior.ColorIndex = 5

Cells(5, 3).Resize(, 6).SpecialCells(xlCellTypeVisible).Interior.ColorIndex = 5
906デフォルトの名無しさん:2013/07/21(日) 16:58:38.16
>>905
ありがとうございます。
コードもスッキリしました。
907デフォルトの名無しさん:2013/07/22(月) 20:45:05.50
2008/07/18 こちらのサイトで、有償でのVBAを相談しましたところ
親切な方に組んで頂きました。
(あの時は感動しました。ありがとうございました!)
実はまた、ちょっと検証したいことがあり
VBA(有償)をお願いしたかったのですが
その後、お約束通り、やり取りしたメールや振込先銀行口座等
一切の記録を破棄してしまい連絡の取りようがありません。
もしよかったらまたお願いしたかったのですが・・。
メールお待ちしております。どうぞ宜しくお願い致します。
908デフォルトの名無しさん:2013/07/22(月) 20:48:20.99
当時、こんな感じでお願いしました・・。

458 : デフォルトの名無しさん[[email protected]] 投稿日:2008/07/18(金) 00:30:09
かなりなスレ違いお許し下さい
過去の株価をVBAで検証したいのですがスキル不足です。
検証の内容は、ごく単純なもので恐らく数十分ほどで組めるのではないかと思われます。
(検証条件=システムは、恥ずかしい位、幼稚なものです。期待なさらないで下さい。
特別な秘密など有したものではありません・・)
どなたか有償でVBAを組んで頂けませんでしょうか。
909ピラフ:2013/07/22(月) 20:50:54.12
>>908
質問書いちゃったら?
ただでやる人がいるかもよ?
910908:2013/07/22(月) 21:00:26.32
説明書いたらたぶんすごく長くなるかと・・
単純な検証だとはおもうんですけど・・
トレードに関わっている人なら簡単な説明でわかるかなぁ
911ピラフ:2013/07/22(月) 21:01:36.39
>>910
じゃあいいです。
912デフォルトの名無しさん:2013/07/22(月) 21:11:11.80
>>910
http://crowdworks.jp/public/job_categories/13
http://www.lancers.jp/work/search/programing/vba
クラウドソーシングで発注すればいんじゃね
他にも仲介するサイトはあるし、英語出来るなら海外の類似サービスもある
913デフォルトの名無しさん:2013/07/22(月) 21:31:29.94
>>912さん
ありがと!
ある程度待ってみてコンタクト取れなかったらクラウドソーシング考えてみます。
914デフォルトの名無しさん:2013/07/22(月) 22:44:49.28
>>912
どんなものかと覗いてみたけど、時給1500〜のプロジェクトに複数応募があったりして
暗い気持ちになった。
需要と供給が合致してるんだから、第三者がとやかく言うなと言われれば、何も言えないんだけどさ・・・
915908:2013/07/24(水) 23:09:20.29
たびたびすみません
コンタクト無理そうなので
クラウドソーシングに頼もうと思って今みてみましたが
登録その他諸々メンドそう・・

どなたかやって頂ける方いらっしゃいませんでしょうか
たぶんそれほど難しいものではないかと(たぶんですけど)
金額は、8000円位で考えております。
小額のお金で恨みを買ったりして
後々まで気分悪く過ごすの絶対イヤなので
お約束の金額は必ず(即日で)お支払致します。
メールお待ちしてます!(スレチごめんなさい・・
916デフォルトの名無しさん:2013/07/25(木) 00:18:28.86
>>915
メール送ってみました
917908:2013/07/25(木) 01:03:51.50
>>916
ありがとうございます!
本メールから送信致しました。
ご検討どうぞ宜しくお願い致します。
918デフォルトの名無しさん:2013/07/28(日) 08:42:19.04
誰も何も言わないけど、
これってモロに>>1★5なんじゃないのか。
それ以前に2ちゃんでこう言うやり取りが許されるのか知らんけど。
919デフォルトの名無しさん:2013/07/28(日) 09:28:18.30
>>918
削除依頼すれば?
920デフォルトの名無しさん:2013/07/28(日) 15:57:15.92
だからメールでやってるんじゃないの?
921デフォルトの名無しさん:2013/07/29(月) 06:24:40.05
1つのBookに30〜60くらいのシートがある
シートには中身の概要として2文字〜6文字くらいで名前を併記している
例えば、「富士山・葡萄・山梨・メロン・リンゴジュース・・・・」(名前は「・」で区分し、全文字数はMAX15文字)

ただしシートは期毎に追加しているため、複数のシートに同名、例えば「富士山」を記入している
シート中身を見れば作成年月が解るので同じ「富士山」を含むシートを見ても違いは判別できる

やりたいこと
シート数が多すぎるため見たいシートを見つけるのに手間が掛かりすぎる
入力ダイアグラムを表示させ、例えば「富士山」と入力し「OK」すると、富士山を含むシートがアクティブになる
内容を確認して、時期が違う、つまり別のシートを検索したいときは「NEXT]ボタンをクリックすると
次のシートを検索しアクティブになる、を繰り返す
ということをExcel VBAマクロで組みたいのですがどうやればいいのでしょうか?
922デフォルトの名無しさん:2013/07/29(月) 06:58:56.56
>>921
まずはどこまでできたのかコード教えて。
コード作成依頼はここじゃできないよ。>>1★5
923デフォルトの名無しさん:2013/07/29(月) 07:05:24.90
VBAわからないの?わからないなら目次用シートを作ってbook内にハイパーリンクすればいいよ。

シートの追加・更新・対象年月日とかを併記すれば一発だよ。
全部のシートに目次用シートへのハイパーリンクを置けばよりいいでしょう。

もっと言うとシート名を年月日とかにして概要はシートのどこかに書けばいいよ。
エクセルの検索機能を使えば当初の目的も果たせるようになるだろうし。

とりあえずそのbookを作った人にきれいに構造化しろよバーカって言っていいよ。
924デフォルトの名無しさん:2013/07/29(月) 22:14:28.70
一応出来たので

入力ダイアグラムで検索文字列を入力

ブック内のシート名を順に抽出

シート名から文字列検索

該当があったらMSGボックス表示とシートのアクチベート

MSGボックスのOKボタンで次を検索

ここまで出来たんだけど該当シートをアクチベートしたところで一旦停止して
つまりMSGボックスではなく、シートが操作できる状態にする
その後、シート内を確認して
検索再開して次のーシートを検索

この部分はどうやったらいいのかな?
925デフォルトの名無しさん:2013/07/29(月) 22:19:26.00
エクセルを捨てよ
さすれば道は開かれん
926デフォルトの名無しさん:2013/07/29(月) 23:24:25.93
>>924
入力ダイアグラムってなんのことだ? InputBox? まあ、それは置いといて
一旦停止して「シートが操作できる状態」を実現したいのならユーザーフォームをモードレスで
使うことを検討してみたらどうかな
またはSheets(1)をコントロールを張り付けた操作専用シートにして常に表示しておくとか
927デフォルトの名無しさん:2013/07/30(火) 00:21:11.78
ダイアログのことだと思う
928デフォルトの名無しさん:2013/07/30(火) 01:25:06.12
バイアグラのことだと思う
929デフォルトの名無しさん:2013/07/30(火) 01:59:51.86
>>924
検索ワードをスタティックで保持しといて
msgboxはOK、キャンセルで分ければ

マクロのショートカットキー登録か
専用のボタンをシートに作るかツールバーに作るか
930デフォルトの名無しさん:2013/07/30(火) 12:38:49.90
>>921
・検索用シートを別に作って、検索用ワードを入れるセルとマクロのボタンを用意
・他の全シートに、検索用シートへのリンクを用意 (セル・ボタンなど)
・ボタンを押すと、全シート名を検索して、該当するシート名をリンク付きで表示 <- マクロ作るのここだけ
・該当シートに行って内容を確認 〜 違ってたら検索用シートに戻る、を繰り返す

でどう?
931デフォルトの名無しさん:2013/07/30(火) 12:41:38.19
>>924
ActiveSheet.Index + 1から検索すればいい
932デフォルトの名無しさん:2013/07/31(水) 15:01:09.99
Public Type complex
x As Double
y As Double
End Type

Function Cmul(z1 As complex, z2 As complex) As complex
Cmul.x = z1.x * z2.x - z1.y * z2.y
Cmul.y = z1.y * z2.x + z1.x * z2.y
End Function

Cmulを使うとby ref 引数の型が一致しませんと表示されます。
そこで
Function Cmul(ByVal z1 As complex,ByVal z2 As complex) As complex
と書くと
ユーザー定義型をbyvalで渡すことはできません
と表示されます。
どうすればいいでしょうか。

excelのバージョンは2010です。
933デフォルトの名無しさん:2013/07/31(水) 16:06:41.47
>>932
excel2002では普通に動くけど。
Cmulをコールしているコードはなんて書いてあるのかな?
934デフォルトの名無しさん:2013/07/31(水) 16:55:00.13
>>932
Cmul()に渡す方の引数を定義するときに型を明示する。
Dim c1 as complex
Dim c2 as complex
935932:2013/07/31(水) 16:59:59.16
>>933-934
レスありがとうございます。
動かなかった原因はそこじゃなくて
public a,b,c as complex
Function aa()
a=Cmul(b,c)
End Function
みたいな感じで使ってたのですが
public a as complex
public b as complex
public c as complex
みたいな感じで宣言すれば大丈夫でした。
変数の宣言ってまとめるとダメなんですね。
936デフォルトの名無しさん:2013/07/31(水) 17:59:53.40
>>935
型は変数1個ごとに書く
Public a As Complex, b As Complex, c As Complex
なら大丈夫
937932:2013/08/01(木) 00:15:41.32
>>936
ありがとうございます。
そうやって書くんですね。
938デフォルトの名無しさん:2013/08/01(木) 19:31:48.28
age
939デフォルトの名無しさん:2013/08/05(月) 22:31:38.59
WINXPsp3 エクセル2007です
エクセルVBAでOSの操作って出来ますか?
やりたいのは

「タスクバーを固定する」を解除
タスクバーの高さが1倍の時は2倍に、2倍の時は1倍にする
タスクバーを固定する

です
検索してもエクセル自身の設定を変更するマクロしか出てこないんです
940デフォルトの名無しさん:2013/08/05(月) 23:18:27.65
VBAでもWin32API呼び出せるみたいだから
できるんじゃないかな
941デフォルトの名無しさん:2013/08/05(月) 23:26:07.13
>>939
VBA:Visual Basic for Applications   Excel VBA : Excel用のVisual Basic(VB6)
よってVB6でできることはほとんどできる(そのままコピペではだめな部分も多いがたいてい抜け道はある)
タスクバー・・・Win32 API を駆使することになると思うので限りなくスレチに近い。
「VB6 タスクバー 高さ 取得」あたりでググれ。
942939:2013/08/05(月) 23:27:33.31
>>940>>941
こら、そこまで教えてくれるなら最後まで教えれ。
943デフォルトの名無しさん:2013/08/05(月) 23:34:27.72
>>942
VBAからWin32APIを呼ぶ方法はググればすぐ見つかるだろう

そのうえでWin32APIに関する質問はこっちのスレだな
http://toro.2ch.net/test/read.cgi/tech/1373671389/
944デフォルトの名無しさん:2013/08/05(月) 23:34:56.12
>>940>>941
教えてもらった言葉で検索してみます
942は自分じゃ無いです
945デフォルトの名無しさん:2013/08/06(火) 10:28:06.59
安達祐実がヌードになりましたが中途半端。
あそこまでやるならマンコやケツの穴まで見せるべきでは?
VBAでなんとかなりませんか?
946デフォルトの名無しさん:2013/08/08(木) 03:44:19.08
スクロールバーを操作するとリンクセルの数値が変化しますが
操作と同時にその数値を使ってマクロで計算をさせたいのですが

スクロールバー操作→連動してマクロ実行
ってどうやればいいですか?
947デフォルトの名無しさん:2013/08/08(木) 03:49:26.26
自己解決しました、すんまそん
948デフォルトの名無しさん:2013/08/09(金) 00:00:27.26
stconv関数で、数列を標準→数値にする方法はありますか?
949デフォルトの名無しさん:2013/08/09(金) 00:23:57.82
OSはWindowsXP、Excel2003です。

セルの文頭に「'」(シングルクォーテーション)がある場合、
データとしては「'」が見えるのに、
表示自体はされないってことがあるかと思います。
例)
データ:'○○○〜
表示:○○○〜

VBAでこの「'」があるかどうかを判断したいのですが、
表示されたデータを取得する方法しかわからず困っています。

文頭に「'」がついているかどうか判断する方法はありますでしょうか?
950デフォルトの名無しさん:2013/08/09(金) 00:45:59.33
VBAを使ってモザイク図を作れるようになりたいのですが、
何からはじめればよいでしょうか?
ソースから勉強した方が早いでしょうか?
951デフォルトの名無しさん:2013/08/09(金) 01:10:19.85
>>949
Range.PrefixCharacter
952デフォルトの名無しさん:2013/08/09(金) 01:16:57.81
>>951
ありがとうございます!
おー、なんてこった!
数日悩んでいたのにあっさり解決するとは!

シングルクォーテーションではなく、接頭辞で検索すればすぐ出てきたみたいですね。
検索の仕方が悪かったみたいです。

ともかくありがとうございます。
953デフォルトの名無しさん:2013/08/10(土) 22:24:42.36
IE10へのupdateに伴ってIEがきちんとしたタイミングでBusyを返さなくなった(と思う)。
突然全てのプログラムでエラーが出現。

vbaでIE呼出

ページ読み込み(URLへ飛ばし)

vbaでフォーム入力(ラジオボタンクリックでも)の箇所でエラー

ページ読み込みの後ウェイトをかけると解決するという特徴から
恐らくIEがページを読み込みきれていない


自動update辛い …
954片山博文MZパンク ◆0lBZNi.Q7evd :2013/08/11(日) 02:06:31.77
>>950
画像処理。各区間の画素を平均化して塗りつぶす
955デフォルトの名無しさん:2013/08/11(日) 09:17:48.72
>>953
なんでそれをここのスレに書こうと思ったんだろ
956デフォルトの名無しさん:2013/08/11(日) 12:50:19.27
>>953

Dim objIE As Object

Set objIE = CreateObject("InternetExplorer.application")

objIE.Navigate " URL "


Do While objIE.Busy = True
DoEvents
Loop

Do While objIE.ReadyState <> 4
DoEvents
Loop


これでも、アカンか?
957デフォルトの名無しさん:2013/08/11(日) 13:51:47.84
>>953
そうなるだろうからIEとか全力拒否&責任が及ばないように予防線張るでしょ
普通の人なら
958デフォルトの名無しさん:2013/08/11(日) 14:05:49.97
>>956
>>953はチラ裏だろ。これをどう見たら質問になるんだ?
959デフォルトの名無しさん:2013/08/11(日) 14:20:17.72
M$を少しでも信頼したら負け
960デフォルトの名無しさん:2013/08/12(月) 06:32:30.47
それでもAppleとかgoogleよりは信用できるけどな
叩かれて育っただけあって
961デフォルトの名無しさん:2013/08/12(月) 10:27:58.36
IE10は裏でキャッシュの整理をするようになった
タスマネ見てると窓を閉じたあとでも5秒から10秒ぐらいプロセスが動き続けてる
おかげでIEオブジェクトの生成のところで失敗する
962デフォルトの名無しさん:2013/08/12(月) 13:53:27.75
それは設定次第
IE5とか、たぶんもっと前のでもその機能あるよ
963デフォルトの名無しさん:2013/08/12(月) 22:17:06.38
画像のようなリストを、優先度順に並び替え、かつチェックが付いたものは一番下になるようなVBAを組める方はいますか。
新しいタスクを下に追加してもマクロを実行すればしっかり並び替えされるようにしたいのですがよろしくお願いします。

http://uproda.2ch-library.com/692439D0T/lib692439.png

OS:win7 64bit
Excel2010
964デフォルトの名無しさん:2013/08/12(月) 22:30:03.99
>>963
1500円でやってもいいよ
965デフォルトの名無しさん:2013/08/12(月) 22:31:58.54
テンプレ読め

優先度でソートをマクロ記録すればできるだろ
966デフォルトの名無しさん:2013/08/12(月) 22:49:46.95
「考え中」にクスっとした
967デフォルトの名無しさん:2013/08/13(火) 01:34:56.18
IE6とか使ってる情弱まだいるのか
968デフォルトの名無しさん:2013/08/13(火) 01:40:49.47
「情弱」「誰得」「ステマ」みたいなキモい言葉を使うな。
969デフォルトの名無しさん:2013/08/13(火) 02:29:36.91
IE6じゃないと動かないシステムがまだ多いから仕方ない
大きな企業ならなおさらその傾向にあるから
>>967はニートか学生か底辺サラリーマンなんだろうと思うよ
970デフォルトの名無しさん:2013/08/13(火) 02:43:28.16
>>963
VBAを組むってレベルじゃないだろ
表の下限を調べて範囲指定してソートで終わり
971デフォルトの名無しさん:2013/08/13(火) 02:43:59.77
972デフォルトの名無しさん:2013/08/13(火) 02:46:10.01
>>967
情弱死ね!!
973デフォルトの名無しさん:2013/08/13(火) 04:55:09.66
>>967
使ってるというか、環境としては用意してあるよ
Win98やExcel95もね
作った物を売る前には、相手先と同じバージョンでの動作確認は必須だから
974デフォルトの名無しさん:2013/08/13(火) 06:01:42.62
過去の資産にしがみつくと結局高くつくんだよな
なぜ連中はわからないのか
975デフォルトの名無しさん:2013/08/13(火) 06:03:47.35
> 過去の資産にしがみつくと結局高くつく
が間違いだと知っているからだよ

個人と企業では違うからな
まあ限度はあるけどね
976デフォルトの名無しさん:2013/08/13(火) 06:16:20.39
企業レベルの話じゃなくて国レベルの話ね
お偉いさんがケチケチしてエンジニアに古いシステムの保守ばかりさせるから新人が育たない
977デフォルトの名無しさん:2013/08/13(火) 06:18:34.70
それも勘違いだけどね
978デフォルトの名無しさん:2013/08/13(火) 09:42:22.71
・IE10で所定のwebページを開く
・所定のダウンロード用ボタンをクリックする ←ここまではExcelVBAでわりと簡単にできる

・画面の下の方に 「ファイルを開く」「保存▼」「キャンセル」 の選択が出る
・「保存▼」の▼を押して「名前を付けて保存」をクリックする ←ここをExcelVBAでやる方法がわからない

IE6だったらsendkeyとかでサクッとできてしまうんだろうけど
IE10だとググっても「無理」とか「面倒」とか「VBAを使うな」とか出てきて有効な方法がよくわかりません。
どうやったらよいとか、何を調べたらよいとか、なにかアドバイスはありますでしょうか?
979デフォルトの名無しさん:2013/08/13(火) 10:43:51.87
直接HTTPでgetしろよ
980デフォルトの名無しさん:2013/08/13(火) 10:59:36.28
直接HTTPではgetできないファイルなんです
981デフォルトの名無しさん:2013/08/13(火) 11:01:03.33
フィルターがかかったり非表示のため、見えないセルがある領域から
同じくフィルターがかかったり非表示のため、見えないセルがある領域へ
値をコピーするためのコードを教えてケロ。
982981:2013/08/13(火) 11:01:41.85
当然、見えないセルの値はそのまま変更しちゃダメ。
983デフォルトの名無しさん:2013/08/13(火) 11:54:12.52
>>980
ftpか?なら、直接ftpでダウンロードしろよ
984デフォルトの名無しさん:2013/08/13(火) 11:56:41.41
>>981
ググレカス
985981:2013/08/13(火) 12:06:05.74
>>984
こら、ちゃんと答えろ
986978:2013/08/13(火) 12:10:44.98
>>983
直接ダウンロードも試みましたが、以下のいずれかのパターンで今のところ出来ていません。
何かやりようがあるのかも知れませんが。

・ログイン認証が必要なサイトなので、直接ダウンロードしようとしても
なんらかのガードがかかっているようで、ダウンロードされないパターン。
(ログイン認証が不要なサイトでは、同様のコードで直接ダウンロードに
成功してるので、サイト側のガードの問題かと)

・そもそも直接ダウンロードするためのURLが不明で、ソースにもなく、
探れないパターン。
987デフォルトの名無しさん:2013/08/13(火) 12:46:21.31
>>986
やりようがなきゃブラウザでダウンロードできるわけ無いだろ
ちょっとは頭使えよ
988978:2013/08/13(火) 12:55:56.75
>>978に書いた手順で、ブラウザ上で手動ではダウンロード出来ますよね。
それをどうやってVBAで行えばいいのか・・・

具体的に、どのように頭を使えばいいんでしょうか?
989デフォルトの名無しさん:2013/08/13(火) 13:16:12.00
>>988
まず、ブラウザがどうやってダウンロードしてるか調べろよ
990978:2013/08/13(火) 13:18:31.39
ごめんなさい、どうやって調べればいいですか?
ググるヒントとかもらえますか?
991デフォルトの名無しさん:2013/08/13(火) 13:21:13.67
Firefox -> Firebug
Chrome -> デベロッパーツール
992デフォルトの名無しさん:2013/08/13(火) 13:22:33.73
Firefoxは素の開発ツールでもいけるか
993978:2013/08/13(火) 13:27:35.03
ありがとうございます。ちょっとあれこれ読んでみます。

ちなみに、ブラウザ上で普通にダウンロードボタンを見ても、そのボタン画像のURLぐらいしか分からないですよね?
>>989の書き方だと、公開されている普通のwebページからftpサーバ名なりを探るノウハウがありそうに読めたのですが、
この理解は見当違いですか? 見当違いだったらすみません。
994デフォルトの名無しさん:2013/08/13(火) 13:48:55.03
>>993
WebProg板で具体的なURLを示して、コードでダウンロードを実行できるか聞いてこい。
既にスレ違いだ。
995978:2013/08/13(火) 13:51:04.10
いろいろありがとうございます。

そもそも発端はVBAに関する質問だったので、引き続き>>978についてもお願いします。
996デフォルトの名無しさん:2013/08/13(火) 14:00:46.60
>>995
>>1
> ★4 とりあえず、Excelのインスタンスを作らずにVB6で出来ることは全てスレ違いだと思ってください。
997978:2013/08/13(火) 14:02:56.55
了解です。
つい、スレの流れにつられて書き込んじゃってました。完全スレ違いでごめんなさい。
スレ違いにも関わらず相手して頂いてありがとうございました。
998デフォルトの名無しさん:2013/08/13(火) 14:23:32.96
999デフォルトの名無しさん:2013/08/13(火) 15:05:48.43
ume
1000デフォルトの名無しさん:2013/08/13(火) 15:06:20.03
1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。