10/03/16 20:13:48
>>570
株価データの保存はDBに任せて、Excelは計算に専念させた方がスッキリすると思うけどね
578:デフォルトの名無しさん
10/03/16 20:17:59
Cells(1, 2) = Cells(1, 1)
というマクロを作ったのですが、Cells(1,1)の文字数が多すぎると
#VALUE!
というエラーが出てしまいます。
Cells(1, 1)の値を他のセルにコピーするにはどうすればいいのでしょうか。
579:デフォルトの名無しさん
10/03/16 20:27:13
まずは仕様書を書いてね
そしたら見積もり出すから
580:デフォルトの名無しさん
10/03/16 20:28:36
>>578
そのエラーは文字列の長さとは直接は関係ありません。
まずB列の幅を広げて、セルB1の書式を確認してください。
581:デフォルトの名無しさん
10/03/16 20:58:02
>>578
当方の環境下では
Cells(1, 2) = Cells(1, 1)
だと 半角256文字以上で#VALUE! になるね
Cells(1, 2).Value = Cells(1, 1).Value
だと大丈夫みたい なぜかしらんけど
つか.Valueを付けるのが本来の使い方なんだけどね
582:デフォルトの名無しさん
10/03/16 21:29:59
>>570
ADOつかてSQL書けよ
583:デフォルトの名無しさん
10/03/16 22:30:23
>>581
XP、2003だけど下記コードでエラー出ない。
なんでだろ?
Sub test()
Cells(1, 1) = String(257, "あ")
Cells(1, 2) = Cells(1, 1)
End Sub
↑どっかおかしい?
584:デフォルトの名無しさん
10/03/17 01:39:38
>>583
これでやったら912文字のところでエラーになった
Sub test()
For r = 1 To 1000
Cells(r, 1) = String(r, "あ")
Cells(r, 2) = Cells(r, 1)
Next
End Sub
585:デフォルトの名無しさん
10/03/17 01:51:17
>>575
50万くらい出す気あるなら話聞いても良いよ。
586:デフォルトの名無しさん
10/03/17 02:10:47
>>584
Sub celltest()
Cells(1, 1) = String(910, "あ")
Cells(1, 2) = Cells(1, 1)
End Sub
910文字まではOKってことだな。
>>578と>>581はどういう現象なんだろ?バージョンの問題かな?
587:デフォルトの名無しさん
10/03/17 03:01:12
いや、911文字までOK。
ていうか、みんなOSとExcelのバージョンぐらい書こうよ。
うちはXPと2003。
ちなみにVBAを使わずにセルに直接入力した場合は1セル32767文字まで入る。
URLリンク(office.microsoft.com)
588:デフォルトの名無しさん
10/03/17 03:15:21
>>587
ん?
>>584だと911行目でエラーが発生してるから
911文字はエラー、910文字まではOKってことじゃないの?
OSとバージョンが同じだから、やっぱりバージョンの問題なんだろうな。
589:デフォルトの名無しさん
10/03/17 03:22:49
doudemoii
590:デフォルトの名無しさん
10/03/17 12:25:45
どうでもよくない。
>>578と>>581の状況が再現できないと回答もできないし、
自分が同じトラブルに遭う可能性だってあるわけだから解決できないと気持ちが悪い。
591:デフォルトの名無しさん
10/03/17 12:47:26
>>589
だんだん話しについていけなくなっちゃったんだろうなw
592:デフォルトの名無しさん
10/03/17 14:51:07
気持ち悪いから>>578早く戻って来い!
593:デフォルトの名無しさん
10/03/17 16:29:57
>>581で再現できてんじゃん
594:デフォルトの名無しさん
10/03/17 17:26:31
で、解決方法は?
595:デフォルトの名無しさん
10/03/17 17:31:37
再現できないとか言ってるから、再現できてると言ったまで。
>>581によれば、Value付ければいいんじゃないの?
596:デフォルトの名無しさん
10/03/17 17:47:44
>>594
Cells(1, 2) = Cells(1, 1).Valueにすればいい。
Cells(1, 2) = Cells(1, 1)と何が違うのかは知らん。
597:デフォルトの名無しさん
10/03/17 17:53:15
解決できないから気持ちが悪いんじゃなくて、解決できてるけど仕組みがわからなくて
気持ちが悪いんじゃないの?
598:デフォルトの名無しさん
10/03/17 18:11:26
初歩的な質問ですんません
セルに直接入力せずに三角形みたいなのをクリック(セルをクリックすると現れる三角形)すると
あらかじめ設定してた項目を取り出せるあの機能はなんて名前でしったけ?
またその設定はどこでやればいいですか?
お願いします。vista使いです
599:デフォルトの名無しさん
10/03/17 18:16:36
>>598
ひょっとして、これのことか?
Excel講座 > セルをコンボボックスにする
URLリンク(www.serpress.co.jp)
600:デフォルトの名無しさん
10/03/17 18:35:25
うちだと910文字超えないとエラーにならないのに、
どうして>>581は256文字でエラーになるの?
もうちょっと再現の条件とか手順をkwsk
601:デフォルトの名無しさん
10/03/17 18:45:27
>>599
そうそうそれそれ
どうもすんません
602:デフォルトの名無しさん
10/03/17 19:41:37
>>598
セルにコンボボックスを仕込むより入力フォームを作って
ボタンぼんでシートに値がコピーされるように作った方がいいと思うが。
603:デフォルトの名無しさん
10/03/17 20:40:45
テスト
604:デフォルトの名無しさん
10/03/17 22:04:36
Excel2007
ブックを新たに作成するときにシートの枚数を3枚とか指定することは出来ないのでしょうか?
605:デフォルトの名無しさん
10/03/17 22:19:57
テンプレートで
606:デフォルトの名無しさん
10/03/17 22:20:48
>>604
Application.SheetsInNewWorkbook = 3
こういうこと?
607:デフォルトの名無しさん
10/03/17 22:23:33
あ?テンプレの話?
2003だと
ツール→オプション→全般→新しいブックのシート数
で設定できる。2007はわからん。
608:デフォルトの名無しさん
10/03/17 22:28:37
>>606
それです。ありがとう
テンプレートは?状態ですけどw
609:デフォルトの名無しさん
10/03/17 22:30:49
>>608
とりあえずググれよ。(もう見てないだろうが・・・)
610:デフォルトの名無しさん
10/03/18 06:32:14
>>600
どうしてExcelのバージョンすら明記しないのか不思議。馬鹿?
611:デフォルトの名無しさん
10/03/18 13:18:25
>>610
話の流れからすると910文字までいけるのは、XPで2003だって二人が書いてるぞ。
バージョン明記してないのは質問者と>>581の解答者だ。
それはそうと、これだと10000行までいけるなw
Sub test()
For r = 1 To 10000
Cells(r, 1).Value = String(r, "あ")
Cells(r, 2).Value = Cells(r, 1).Value
Next
End Sub
612:611
10/03/18 13:44:40
おっと、>>611はXPで2003だ。
ちなみに、Win7の2007でも検証してみた。
・Valueあり→10000行までいけた
・Valueなし→8203行目でエラー
という結果。2007だとValueなしでもこんなにいけるんだなw
ってことは、質問者のバージョンは2002以前とエスパーしてみる。
それにしても、2007のVBEどっから起動するのかわからなくてビビったw
613:デフォルトの名無しさん
10/03/18 15:21:35
>>611-612
>>600の「うち」の環境を書けと言ってるんだ、馬鹿。
じゃなければ、第三者が全体を把握できないだろ。
614:デフォルトの名無しさん
10/03/18 15:41:08
>>611-612
Value付ければいいって結論が出てるのに、いつまで何やってんの?
615:デフォルトの名無しさん
10/03/18 16:06:15
>>613
>>600は、910文字超えないとエラーにならないって書いてあるから
流れから2003だってわかると思うが?
流れを読まなくてもわかるように、レス内に明記するのがネチケット(笑)ということなら、
まぁ、そういうことなんだろうw
>>614
Valueは単純に“省略可能なもの”と認識してたんだが、
今回のケースで言うと、場合によっては省略してはいけないってことか?
すまん、素人にもわかるように説明してくれ。
616:デフォルトの名無しさん
10/03/18 16:13:20
>>615
とことんアホだな。
仮にExcel 2003が911文字目からエラーになるということだとしても、
911文字からエラーになるからといってそれがExcel 2003とは限らないだろ。
高卒文系なのか?
何かを明らかにしたくてその話題に参加し、なおかつ相手に再現の手順を求めるのなら、
まず自分の情報を出せっつーこった。
> すまん、素人にもわかるように説明してくれ。
知るかアホ。
このスレは素人の好奇心を満足させるスレじゃねーよ。
617:デフォルトの名無しさん
10/03/18 16:19:38
>>611
ド素人はこれだから困る。
セルに設定出来る最大文字数はヘルプにちゃんと書かれてる。
ヘルプ見ろ。
618:デフォルトの名無しさん
10/03/18 16:24:40
エクセルVBAに詳しい人教えてください!
スレリンク(morningcoffee板)
619:デフォルトの名無しさん
10/03/18 16:32:09
いつまでやってんだよ……
620:デフォルトの名無しさん
10/03/18 16:32:10
>>616-617
論点がずれてますよ。
人のことを馬鹿とかアホとか高卒文系とかド素人とか言ってるけど、
話の内容を理解できていないのは、あなたの方ですね。
何かを明らかにしたくないなら、あなたはこの話題に参加しなくてもいいと思います。
621:デフォルトの名無しさん
10/03/18 16:37:10
ずらしてんのはお前の方だ馬鹿。
これになんかコメントしてみろ、アホ。
> 仮にExcel 2003が911文字目からエラーになるということだとしても、
> 911文字からエラーになるからといってそれがExcel 2003とは限らないだろ。
> 高卒文系なのか?
622:デフォルトの名無しさん
10/03/18 16:38:03
>>618
ソース見てボタンの名前調べればいいんじゃないの?
そんな単純なことじゃなくて?
623:デフォルトの名無しさん
10/03/18 16:38:50
・Valueを付ければ問題ない
・Excelの仕様上、何文字まで設定出来るかはヘルプに書かれている
これ以上、何を知りたいの?
624:デフォルトの名無しさん
10/03/18 16:41:05
話の流れからするとw、>>600=>>611じゃねーの?
馬鹿と言われて悔しかったのかな?
625:デフォルトの名無しさん
10/03/18 16:41:30
>>621
スレリンク(mental板)l50
とりあえず筋トレでもしてみたら?
626:デフォルトの名無しさん
10/03/18 16:45:40
おまいらいつまでやってんだwwwwwwwwwwww
627:デフォルトの名無しさん
10/03/18 16:50:36
>>625
反論不能か、高卒文系のド素人が。
もう黙っとけ。
628:デフォルトの名無しさん
10/03/18 16:57:30
VBAからGroovyのプログラムを呼びたいんですが、何か方法はありますか?
Groovyに限らず、VBAから他の言語のプログラムを呼んで、返り値を使用する
ことってできるんですかね?
629:デフォルトの名無しさん
10/03/18 16:58:28
一つのセルには200文字も必要ねーな。
50文字でも十分じゃね?
数式厨には足りないかも知らんけどw
超長ーい数式を得意としてるやつもいるからな。
630:デフォルトの名無しさん
10/03/18 17:05:02
>>621
必死ですね。コメントを求められているのでレスしますね。
その事象が起きるからといって、Excel2003だという証明は私には出来ません。
学歴も聞かれてますね。おっしゃる通り文系ですが大卒です。
これでよろしいでしょうか?
631:デフォルトの名無しさん
10/03/18 17:06:40
だよな。表計算ソフトなんだから50文字でも多いぐらいだ。
632:デフォルトの名無しさん
10/03/18 17:09:01
超長~い数式は勘弁してほしいw
633:デフォルトの名無しさん
10/03/18 17:18:44
超長ーい数式とか配列数式とかSUMPRODUCTのフィルコピーが大好きなやつはほとんどアホばかり。
VBAで言えば変数使わないで何度も同じ値を取得してるようなもんだ罠。
数式でやるならVBAの変数に相当する作業セルを使えってこった。
634:デフォルトの名無しさん
10/03/18 17:22:44
>>623
もういい加減アホとか言うのやめれ。
635:デフォルトの名無しさん
10/03/18 17:25:04
ん?俺のことかな
すまん、今度からヴァカと書くことにするわ。
636:デフォルトの名無しさん
10/03/18 17:27:44
>>630
証明できるかどうかなんて聞いてないんだよ。
>>615
> 流れから2003だってわかると思うが?
わかると思ってるなら、それは馬鹿ゆえだってことだ。
横からノイズ増やしといて、俺の知りたいことだけお前ら教えろとかいう奴はいらないんだよ。
わかった?
637:デフォルトの名無しさん
10/03/18 17:31:39
ふぁいと!
俺は50文字でも十分すぐるから興味ナス
638:デフォルトの名無しさん
10/03/18 17:32:35
>>630
お前も必死だよwww
639:デフォルトの名無しさん
10/03/18 17:34:53
大卒文系って、裏・逆・対偶レベルの論理学も理解できないの?
今はやりのゆとりって奴?
640:デフォルトの名無しさん
10/03/18 17:36:20
まぁ餅つけ
50文字でも十分ということで糸冬了
641:デフォルトの名無しさん
10/03/18 17:39:24
まぁ、セルに表示できないような文字数を設定するというのは、基本的な使い方では
ないわけだから、自分がそのような処理を実装しなければならなくなったときに、
ターゲットとなるExcelの仕様上の制限を調べ、テストを十分にやれば良い。
642:デフォルトの名無しさん
10/03/18 17:41:21
必要条件と十分条件を良くわかってない馬鹿SEのことを思い出した。
643:デフォルトの名無しさん
10/03/18 17:43:09
CellsのデフォルトプロパティがValueじゃないってことじゃないかと思うけど、
調べるつもり無し。
644:デフォルトの名無しさん
10/03/18 17:51:55
Cells(2, 1) = Cells(1, 1)
でエラーが発生するとき、
Range("B1") = Range("A1")
でもエラーが発生するね。
何故なのかはそれほど知りたくないけど、RangeのデフォルトプロパティはValueだって
思ってたので、ちょっとキモチワルイ。
やっぱり
Range("B1") = Range("A1").Value
と書くと動く。
まぁ、デフォルトプロパティは使うなってことかな。
645:デフォルトの名無しさん
10/03/18 17:52:57
スレが伸びてると思ったら一人で暴れてるようだな。
文体でバレバレだw
646:デフォルトの名無しさん
10/03/18 17:57:50
>>644
セルの文字数についてはバージョンによる違いだってわかるけど、
Valueの省略については色々調べてもわからなくて、昨日からずっと気持ち悪い。
納得できる答えをくれる神は降臨しないかと待ってるんだけど
スレ覗く度に荒れる一方で(ry
647:デフォルトの名無しさん
10/03/18 18:22:47
>>646
納得できる答えが見つかっても、安全側に倒してデフォルトプロパティに頼らない
コードを書くしかないという状況は変わらないよ。
648:デフォルトの名無しさん
10/03/18 18:24:50
>>645
バレバレw
649:デフォルトの名無しさん
10/03/18 18:29:42
まぁどっちもひといが、この板的にはこれが一番ひどい。
>>611
>それはそうと、これだと10000行までいけるなw
650:デフォルトの名無しさん
10/03/18 18:38:10
例えば
Sub test()
MsgBox TypeName(Range("A1").Value)
MsgBox TypeName(Range("A1"))
End Sub
とやると
Empty
Range
となる
651:デフォルトの名無しさん
10/03/18 19:46:05
>>650
だから?
652:デフォルトの名無しさん
10/03/18 19:54:40
>>611にガン擁護された>>600は、どのような登場の仕方をするのであろうか。
653:デフォルトの名無しさん
10/03/18 20:44:22
>>623
256文字でエラーになるExcelのバージョン
654:デフォルトの名無しさん
10/03/18 23:07:40
>>653
え!?それかよっ!!www
655:デフォルトの名無しさん
10/03/18 23:27:05
>>653
うち Excel2003(XP) と Excel97(Win98)あるんだけど
Excel97(Win98) だと256文字でエラーになる
656:デフォルトの名無しさん
10/03/18 23:48:24
哲也君がVBAマクロを2昼夜かけて作ったんですよ。
これが本当の「マクロ 2夜連続」なんつって。
657:デフォルトの名無しさん
10/03/19 02:04:41
>>653
だったら、初めから自分の環境の結果を書いとこうね。
俺は何もしないけど、お前ら俺の知りたいことを教えろパターンですな。
ちなみに俺は、これまで出ていないExcel 2000を持っていて実験もし結果もわかったが教えない。
658:デフォルトの名無しさん
10/03/19 06:32:11
俺はウチとまったく同じ環境の結果がガイシュツだから書かなかっただけなんだけど、
同じことを何度も書かなきゃいけないの?
役所に出す書類だな、まるで。
659:デフォルトの名無しさん
10/03/19 06:38:42
それが知りたいんだったら、既出の情報をまとめるなりなんなりしろよ。
餓鬼かよ。
660:デフォルトの名無しさん
10/03/19 07:31:23
私女だけど、たった1行の実験結果を書かずに言い訳を何行も書く男の人って
661:デフォルトの名無しさん
10/03/19 08:40:37
まとめなきゃ把握できないほどの情報量か?
数えてないけど3例ぐらいしか出てなかっただろ。
662:デフォルトの名無しさん
10/03/19 08:55:26
XP 2003です
ググっても中々みつからないんだけど、
手動で選択したセル範囲の数字を一気に計算(仮に10倍)とかするのってVBAで出来るの?
あとついでに、セル範囲の一番右下の座標も取りたいんだけどやり方教えてください。
663:デフォルトの名無しさん
10/03/19 09:11:53
>>661
いつまでやってんだ
664:デフォルトの名無しさん
10/03/19 09:13:07
>>662
前半:できる。rangeを関数の引数に取りfor each
後半:一発でできるかどうかは知らん
665:デフォルトの名無しさん
10/03/19 09:15:03
>>682
VBAでもちろん出来るが手操作でも出来る。
どっかのセルに10と書いて、コピー、形式を選択して貼り付け、乗算
一個の選択した矩形範囲の右下隅のセルを操作したければ
Selection(Selection.Count).****
Excel2003はこれで大丈夫だが、Excel2007は全セルを選択したとき
CountプロパティがLong型なので入りきれなくてエラーになる。
そこまで考慮するなら
With Selection
.Item(.Rows.Count*.Columns.Count).****
End With
座標って行番号とか列番号とかアドレスが必要なケースは滅多にないだろう。
全くないというわけではないが。
666:デフォルトの名無しさん
10/03/19 09:15:04
>>661
ほら、お前もスレを確認しないと状況がわからないだろ。
>>653の知りたかったことなんて誰も知らないんだから、状況をまとめて
あとこのバージョンの動作を教えてくれってやるのが筋。
667:デフォルトの名無しさん
10/03/19 09:59:47
>>653
Excel 2000では256文字目でエラーになる。
これで全部揃った?揃ったならまとめくらいしてもバチはあたらないよ。
668:デフォルトの名無しさん
10/03/19 10:08:55
Excel95がまだ出てなーなw
669:デフォルトの名無しさん
10/03/19 10:26:54
だれか知ってる人がいたら教えてくれ。
A1の表示形式がG/標準のとき
Debug.Print Format(Range("a1"), Range("a1").NumberFormat)
とやると"M32032ral"が返るんだが、これって何?
670:デフォルトの名無しさん
10/03/19 10:28:49
いかん、Valueつけるの忘れたわ
671:デフォルトの名無しさん
10/03/19 10:31:38
A1の値を書くのも忘れたわ
1の場合ね
672:デフォルトの名無しさん
10/03/19 10:38:56
>>669
知ってるのか知らないのかわからないが、それ、Formatの第二引数の指定方法が間違ってる。
673:デフォルトの名無しさん
10/03/19 11:18:49
競艇のネット自動投票プログラム作っています。自動ログインは完成しましたけど、
次の画面の投票する競艇場選択のボタンを押す方法が分かりません。
押したいボタンのHTMLソースは以下
<input value="福 岡" onclick="jyocd(22)" tabindex="2" type="BUTTON">
ボタンの名前(name)が無いから通常のやり方ではできません。
また、
SendKeys "{TAB 5}"
SendKeys "{ENTER}"
で5番目の競艇場をクリックではできましたが、最終レースが終わると
その競艇場選択ボタンが消えますので、必ずしも××競艇場が5番目とは限らないのです。
検索等で昨日1日中調べてみましたが解決しません。。。助けてください。
674:デフォルトの名無しさん
10/03/19 12:08:09
データについているハイパーリンクの中の数字を取り出して(~info.php?chr=25121とあったら568311)、もしAという数字だったら、その列の情報を全て、シートAにコピー
という仕組みを作りたいと思っております。
ハイパーリンクの中の数字を参照するには、どうしたらよろしいのでしょうか?助けていただけると助かります。
675:デフォルトの名無しさん
10/03/19 12:57:29
>>672
どこが?
まさかNumberFormatLocalってんじゃないだろうね。
もしそう思ってるならそっちが間違ってる。
そんなことはないとは思うけど。
676:デフォルトの名無しさん
10/03/19 12:58:20
まとめました。扱える文字数はバージョンの違いってわかるんですけど、
何故Valueを省略するとエラーが出るのか、どなたか教えて頂けませんか?
【バージョン不明】
256文字以上でエラー
>>578(質問者)、>>581、>>596
911文字以上でエラー
>>600
【バージョン記述あり】
Win98&97(256文字以上でエラー)
>>655
OS不明&2000(256文字以上でエラー)
>>655
XP&2003(911文字以上でエラー)
>>583(>>588?)、>>584(>>587?)、>>586
Win7&2007(8203文字以上でエラー)
>>612
677:676
10/03/19 13:01:21
訂正ですorz
OS不明&2000(256文字以上でエラー)は>>667でした。
678:デフォルトの名無しさん
10/03/19 13:14:44
あぁ分ったわ。
NumberFormatは"General"だから
Gは元号のGで明治だからM
eは和暦の年
nは分
eは和暦の年
ralはGeneralの右3文字だな。
結局Formatじゃ駄目でWorksheetFunction.Textってことか。
俺の間違いだったわ。
679:デフォルトの名無しさん
10/03/19 14:42:54
>>678
いやいや、ヘルプ見ろよ
680:デフォルトの名無しさん
10/03/19 14:46:07
>>676
それ多分OS関係ない。
> 何故Valueを省略するとエラーが出るのか、どなたか教えて頂けませんか?
多分、今ここにいる奴は答えられないから、これまでに回答がないんだよ。
モーグにでも行けば?
681:デフォルトの名無しさん
10/03/19 17:50:13
>>674
> chr=25121とあったら568311
の法則がよくわからない。
Aは数字じゃない。
16進?でもなそさうだし。
682:デフォルトの名無しさん
10/03/19 17:53:43
>>679
FormatもWorksheetFunction.Textも似たようなもんだろうと思ってた俺が
馬鹿だったが、Formatのヘルプの表示書式指定文字なんて一部しか載ってないね。
とりあえず"s","h","n","g","aaa"などが抜けてる。
"General"はWorksheetFunction.TextにはあるがFormatにはないということだな。
683:デフォルトの名無しさん
10/03/19 18:01:50
範囲指定していっぺんに10倍はVBAでもできる。
「形式を選択して貼り付け、乗算」をマクロの記録してみ。
684:デフォルトの名無しさん
10/03/19 18:12:10
Formatのヘルプの最後にある表示書式指定文字だが、あれは一覧じゃなかったか。
685:デフォルトの名無しさん
10/03/19 18:14:19
>>682
ホントだ。ローカルのヘルプは抜けてるのがある。
オンラインヘルプなら全部出るみたいだけど。
686:デフォルトの名無しさん
10/03/19 18:26:38
>>682
あと"p"とか"ccc"とか"ooo"とか"ww"とかもあるみたいね。
Format(1,"ww")が53、Format(1,"www")が531になるがなんのこっちゃ。
687:デフォルトの名無しさん
10/03/19 18:47:18
"p"じゃなくて"q"だったわ。
"ccc"も"c"ね。
Format$(シリアル値,"yyyy/mm/dd")とするところを
Format$(シリアル値,"c")としても同じみたい。
>>685
オンラインのヘルプどこ?
さっきから探してるんだが見つからん。
MSDNかな?
688:デフォルトの名無しさん
10/03/19 18:54:35
cはcountryのcだと予想して地域オプションをいじくってみたら、案の定
Format$(シリアル値,"c")は必ずしもFormat$(シリアル値,"yyyy/mm/dd")と
同じじゃなかったわ。
689:662
10/03/19 19:51:07
>>664-665
回答ありがとうです。本当にたすかりました。
面倒なんで「(どっかのセルに10と書いて)コピー、形式を選択して貼り付け、乗算」をマクロ記録させてそれでやり過ごしました。
690:デフォルトの名無しさん
10/03/19 20:03:49
Formatの奴うざいよ?
Valueの奴と同じちゃうんかと思われるレベル。
691:デフォルトの名無しさん
10/03/19 20:15:38
うざくてすまんね。
Value関連は考えすぎだな。
629と633と637は俺だけどな。
692:デフォルトの名無しさん
10/03/19 20:21:00
というわけど、今後は>>690のハイレベルな回答を期待しましょうねw
693:デフォルトの名無しさん
10/03/19 20:38:21
ヘルプ見ろでFAだろ。
質問者はまだ見れてないようだが。
694:デフォルトの名無しさん
10/03/19 20:42:05
めんどくさいけど探してやった。
ほれ。
URLリンク(msdn.microsoft.com)(VS.80).aspx
695:デフォルトの名無しさん
10/03/19 20:47:20
それVBAも一緒なの?
696:デフォルトの名無しさん
10/03/19 20:51:40
ブイバのことは俺に任せろ!
697:デフォルトの名無しさん
10/03/19 21:04:53
>>693
クソ生意気な奴だなぁ。
ヘルプくらいは真っ先に見てるさ。
俺の見れるヘルプにはcやwwwは見れないんだよ。
お前がそういうなら探せばどっかにあるんだろうけどね。
Formatで検索して出てくる下には書いてない。
Format 関数
ヘルプ > 関数 > D-G
Format 関数の使用例
数値表示書式指定文字 (Format 関数)
文字列表示書式指定文字 (Format 関数)
数値を表すその他の書式 (Format 関数)
もうどうでもいいけどな。
698:デフォルトの名無しさん
10/03/19 21:09:18
>>694
お、ありがとう。
そこにあったか。
どうでもいいと書いたがこれから見るわ。
699:デフォルトの名無しさん
10/03/19 21:14:54
>>693=694の俺なんですが・・・
700:デフォルトの名無しさん
10/03/19 21:18:56
なんというツンデレ!!
おまいら何やってんだよwww
701:デフォルトの名無しさん
10/03/19 21:25:30
>>699
ふーん?
結局お前もまともにヘルプ見てなかったと言うことかw
>>694もリンク先見たけど、cやwwwは載ってないわ。
ExcelヘルプでFormatで検索しても出てこなかったが、表示書式指定文字で検索したら出てきたよ。
702:デフォルトの名無しさん
10/03/19 22:21:05
>>701
日付の書式のヘルプ初めて見たよ。
cとかooooとかwwとか今まで知らんかった。
703:デフォルトの名無しさん
10/03/19 22:35:11
>>702
同じく。
しかしヘルプでFormatじゃなくFormat関数と最後まで打てば日付関連の書式は出てきたな。
手抜きはいかんな。
またうざいとか言われるからこのへんにしとくよ。
704:デフォルトの名無しさん
10/03/19 22:53:23
>>703
「Format 日付」でも出てくるよ。
間にスペース入れればAnd検索だな。
705:デフォルトの名無しさん
10/03/19 23:16:10
>>704
トンクス
Formatだけでも2ページめにあったね。
ヘルプはカーソル当ててF1しか普段使わないから、オンラインヘルプの使い方知らなかった。
706:デフォルトの名無しさん
10/03/20 02:51:23
いつからこのスレは自分が発見したことのメモ帳になったんだ
707:デフォルトの名無しさん
10/03/20 02:53:16
>>701
で、結局そのヘルプのありかをこのスレにフィードバックするつもりは無いのか。
やっぱValueの奴とレベル一緒だわお前。
708:デフォルトの名無しさん
10/03/20 03:37:26
>>672でちゃんと使い方が間違ってると教えてもらってるのに、何なのこいつ。
709:デフォルトの名無しさん
10/03/20 07:56:45
>>672
>>669だが、夜会合ですぐレス書かなくてすまんな。
ヘルプは>>671や>>704のおかげで読めたよ。
俺も実は探せてなかったもんでね。
ヘルプ読めと言いながらVBAのヘルプじゃないものを教えた人もいたみたいだが。
710:デフォルトの名無しさん
10/03/20 08:02:40
まちがった
>>701や>>704のおかげな
711:デフォルトの名無しさん
10/03/20 08:09:44
>>707
ヘルプのありかは>>701はフィードバックしてるんじゃね?
表示書式指定文字で検索って書いてあるし。
Excelヘルプをオンラインヘルプに読み替えればいいんじゃね?
712:デフォルトの名無しさん
10/03/20 10:14:12
ヘルプ見ろで切れまくる奴はいるは、ヘルプ見つけられない奴続出だわ、レベル低すぎ。
お前ら一体今までどうやってプログラミングしてたんだよ?
何でもググってコピペしてたんじゃねーの?
713:デフォルトの名無しさん
10/03/20 10:14:17
エクセルVBAであるサイトのラジオボタンを自動で選択するマクロを作っているんだけど
その方法が検索で調べた方法じゃできなくて困っています。
HTMLのラジオボタンの部分のソースは
<input name="kumiban1" value="1" onclick="check1(this)" tabindex="3" type="RADIO">
となっています。
"kumiban1"のvalue="1" をクリックしたいのです。
714:デフォルトの名無しさん
10/03/20 10:37:36
>>713
同じページ内に同じ名前の name="kumiban1" が複数あった場合は objIE.document.all("kumiban1") だとエラーになる。
そういう時は objIE.document.all("kumiban1")(0) 、objIE.document.all("kumiban1")(1) のように番号を付ける。
自分のチェックしたいボタンが何番目かは自分で調べてね。
715:デフォルトの名無しさん
10/03/20 10:50:18
>>712
まぁまぁ、レベルの高いと思われる>>694でさえ見つけられなったんだから。
俺もF1キーで大体事足りてるしね。
ところで2010では有名なFindメソッドの使用例の間違い、直ってるか誰か知らない?
俺未だにISDNだからベータ落とせない。
前トライしたら途中で切れてばっか。
716:デフォルトの名無しさん
10/03/20 10:53:30
>>712
コピペでマクロ作って社内で高評価
↓
自分で考えなければできないようなことをさせられる
↓
コピペ技術だけじゃどうにもなんねぇ・・・でもまともに組んだことねぇ
↓
そうだ!聞いて教えてもらう←いまここ
↓
結局できない
↓
評価右肩下がり
717:デフォルトの名無しさん
10/03/20 10:54:51
>ISDN
マジか!!
まだいるんだなぁ…
テレホ思い出したわ
つうか、ネカフェとか行ってDLしてくりゃいいんじゃねぇの?
718:デフォルトの名無しさん
10/03/20 11:10:16
かわりにダウンロードしてくれる友達とかいないの?
719:デフォルトの名無しさん
10/03/20 11:12:59
>>717
そんなものあったらすでに行ってるよ。
こちとらド田舎離島だからね。
今度弟にDLしてもらって郵送してもらうかな?
来年は光が開通するんだが。
720:デフォルトの名無しさん
10/03/20 11:14:44
>>718
リロードしなかった。
>>719のとおり。
721:デフォルトの名無しさん
10/03/20 11:24:21
>>714
>番号を付ける
の記述はどうやるんですか?
722:デフォルトの名無しさん
10/03/20 11:33:19
>>721
えっ
回答にちゃんと番号付いてるやん
723:デフォルトの名無しさん
10/03/20 11:34:30
>>715
なんで>>694がレベル高いことになってるんだかさっぱりわからんが、F1で事足りないときの
対処法を言ってるんだが。馬鹿(694)が一人でもいると、自分がマニュアル見ないエクスキューズになるのか?
724:デフォルトの名無しさん
10/03/20 11:36:25
>>722
いや構文の記述法がよく分からないのです
725:デフォルトの名無しさん
10/03/20 11:40:09
プログラマー
RTFMは
遠くになりにけり
726:デフォルトの名無しさん
10/03/20 11:44:44
>>723
レベルが高いをまじにとったか。
昨日Value関連でさんざん罵倒してたのが彼だと思ったからちょい嫌味で書いただけ。
人違いだったらごめんな。
727:デフォルトの名無しさん
10/03/20 11:49:06
>>724
ブラウザをコントロールする方法はいくつかあるから、
まずは自分のやりたい方法というか、試してだめだったプログラムをここにアップして。
そしたら修正点を書くから。
728:デフォルトの名無しさん
10/03/20 11:53:56
ってかここカルシムム不足がいるよね。
あーいえばこういうし困ったもんだ。
729:デフォルトの名無しさん
10/03/20 11:59:21
牛乳飲もう
730:デフォルトの名無しさん
10/03/20 12:05:08
>>727
いくつか試したんですが例えば↓こんな感じです。
Dim objIE As Object
Dim objITEM As Object
Dim nNO As Integer
Dim strRADIO(0 To 5) As String
strRADIO(0) = "1"
strRADIO(1) = "2"
strRADIO(2) = "3"
strRADIO(3) = "4"
strRADIO(4) = "5"
strRADIO(5) = "6"
nNO1 = 1
On Error Resume Next
For Each objITEM In objIE.Document.all
If objITEM.TAGName = "INPUT" Then
If objITEM.Name = "kumiban1" And objITEM.Value = strRADIO(nNO) Then
objITEM.Checked = True
End If
End If
Next
731:デフォルトの名無しさん
10/03/20 12:26:28
>>728-729
まったく関係ないけど、それ俗説だから。
732:デフォルトの名無しさん
10/03/20 12:39:24
アホがアホって言われることが気に入らない奴が居るみたいね。
733:デフォルトの名無しさん
10/03/20 12:40:04
>>731
そうかカルシウムじゃ駄目なのか。
もう駄目かも知らんね。
もともとプログラマーは廃人が多いんだが。
734:デフォルトの名無しさん
10/03/20 15:17:17
すみません、A列目の値が x で、1行目の値が y となるようなセルを探すのは
VBAでできますか?Excelの機能だけでもできますか?
どんな関数を使えばいいかヒントをください。検索します。
735:デフォルトの名無しさん
10/03/20 15:25:25
>A列目の値が x で、1行目の値が y となるようなセル
??????????????
736:734
10/03/20 15:34:52
すみません、A列の値と1行目の値をキーとして交差するセルを検索したいのです。
737:デフォルトの名無しさん
10/03/20 15:38:47
ctrl + Fで検索すればいいんじゃないの?
つか、ここはVBAの質問スレだぞ。
738:デフォルトの名無しさん
10/03/20 15:47:57
すみません、そのセルの値をプログラム的に参照したいということです。
739:デフォルトの名無しさん
10/03/20 15:54:08
A列の値と1行目の値をキーってのがわからない
例をしめしてちょ
740:デフォルトの名無しさん
10/03/20 16:07:06
>>734
どうかな?
Do While セルの値が空白になるまで
if セルの値が"x"の場合
セルの位置を取得してLoop終了
end if
一つ次のセルへ移動
Loop
741:740
10/03/20 16:28:45
考え方は以下の手順でよろしいかと。
A列を検索し、"x"の入っているセルの行番号を取得
1行を検索し、"y"の入っているセルの列番号を取得
Cells(行, 列).Value で目的のセルの値を取得
742:デフォルトの名無しさん
10/03/20 16:40:39
worksheetfunctionでlookupとかじゃだめなの?
質問者のレベル的にそこまで難しいことをしてなさそう。
743:デフォルトの名無しさん
10/03/20 16:52:32
でも、質問があると速攻答えてくれるお前らは何だかんだで根はいい奴等だと俺は思ってるんだからね///
744:デフォルトの名無しさん
10/03/20 16:59:13
>>713,730
コピペミスだと思うけど
<input name="kumiban1" value="1" onclick="check1(this)" tabindex="3" type="RADIO">
を対象なら
>>730 は
誤 nNO1 = 1
正 nNO = 0
ではないかな
これでチェックが入るはず
その上でonclick="check1(this)"を作動させたいのであれば
objITEM.Checked = True
を
objITEM.Click
に変更してみては?
745:デフォルトの名無しさん
10/03/20 18:44:50
下手な言葉で説明されるよりも具体例を出して何をしたいのかを言った方が遥かに早いと思うぞ >>734
746:デフォルトの名無しさん
10/03/20 18:57:12
質問です。
決まったセルの位置をVBAで扱う場合、
私は下記のように定数定義して使っています。
Public const 合計金額欄 As String = "D8"
この方法は、
Range(合計金額欄) には良いのですが、
Cells(r, c) で使いにくい欠点があります。
みなさんはどんな風に位置を定義していますか?
747:デフォルトの名無しさん
10/03/20 19:30:22
>>746
極力マジックナンバーや文字列リテラルをコードの中に入れないと言う
方向性はいいけど、度が過ぎるとくどいコードになるから嫌われるよ。
セルくらいはコードの中でオブジェクト変数に
Set c = Range("A8")
と書いてcを使い回せばいいじゃん。
多くのプロシージャで定数の合計金額欄を使いたければ
各プロシージャの 中でオブジェクト変数に
Set c = Range(合計金額欄)
などとセットしてcを使い回せばいい。
CellsやRangeを頻繁に使うコードはあまりきれいじゃないから。
748:デフォルトの名無しさん
10/03/20 21:01:14
プロシージャの先頭で
Set c = Range(合計金額欄)
みたいにして、実際の処理にはcを使うようにすればいい。
749:デフォルトの名無しさん
10/03/20 21:04:11
「名前」を挿入しろよ
750:デフォルトの名無しさん
10/03/20 21:19:53
>>725
2010のFindメソッドのヘルプは相変わらず間違ったまま。
直す気はさらさらないんでしょうね。
2002のころから報告は山ほどいってるはずなのに。
あと静かになったところを混ぜ返すのもなんだけど
>>669,>>672
別にFormatの第二引数の記述が間違ってるわけではないでしょう。
ご本人が>>678で書かれてるように第二引数の書式にそって出力
されてるだけだから。
Format(Range("a1"), Range("a1").NumberFormat)
すなわち
Format(1, "General")
すなわち"Genaral"の左4文字は書式指定文字で
Format(1, "Gene"""ral""")と同じ。
シリアル値の1は1899/12/31(明治32年12月31日)だから
書式にそって"M32032ral"が出力された。
別に記述が間違ってるわけではないですね。
"M32032ral"に意味があるかと言われれば何もないけど
Format(値,Range(***).NumberFormat)って書き方は日付の値検索で
使うこともあるね。
長文失礼
751:デフォルトの名無しさん
10/03/20 21:25:00
わかった。
お前が一番のいらない子だ。
752:デフォルトの名無しさん
10/03/20 21:27:08
つか、暴言は気まくりの奴をなんで「ご本人」とか言ってるんだか
753:746
10/03/20 21:35:04
>>747
>Set c = Range(合計金額欄)
なるべく上記のようにして変数で取り扱うようにしたり、
Withで記述を省略したりしています。
>度が過ぎるとくどいコードになるから嫌われるよ。
入力フォームと定数定義を作りながら、
だんだん動作と実装のイメージを固めてコーディングに取り掛かる、
という作り方をしてるorz。
754:デフォルトの名無しさん
10/03/20 21:38:09
>>750
何を言いたいのか良く解らないけど、それマニュアル読めば解決することだよね?
マニュアル読めという回答はするなという主張なのかな。
755:デフォルトの名無しさん
10/03/20 21:48:26
ほとんどの質問はぐぐれば解決することだよね?
以下略
756:デフォルトの名無しさん
10/03/20 21:49:12
暴言ねぇ、
そんなのどうでもいい。
仮に丁寧でも内容が間違ってれば駄目だから。
ヘルプ読めはべつにいいんじゃないの?
ただ間違った指摘があったから書いただけ。
757:デフォルトの名無しさん
10/03/20 21:51:25
>>746
本当に決まり切った位置なら、セルに名前を付ける。
URLリンク(home.att.ne.jp)
そうじゃないなら、Rangeを返す関数を作ったり、そのRangeの値を返す関数を作ったりする。
function SumPriceRange() as range
set sumpricerange = range("d8")
end function
function GetSumPrice() as long
getsumprice = range("d8").value
end function
とか。
758:デフォルトの名無しさん
10/03/20 21:58:44
>>750
君って、printf("%d", some_pointer)で変な値が出力されるんですけど、とか聞かれたら、
どのような仕組みでその変な値になるか説明しそうだな。
759:746
10/03/20 22:09:56
>>757
セル範囲を管理するモジュールを1つ用意して、
その中にセル範囲を返す関数を並べ、
各プロシージャはそれを参照するという感じでしょうか?
760:デフォルトの名無しさん
10/03/20 22:12:32
>>750
669だけど、WorksheetFunction.Text(値,書式)のように返り値1を期待してのものだったので俺の間違いでいいです。
これ以上相手すると疲れるから。
降参です。
761:デフォルトの名無しさん
10/03/20 22:17:28
自分で事を荒立てといて、なんていいぐさw
762:デフォルトの名無しさん
10/03/20 22:23:59
最初のレスでG+e+n+e+ralで表示された結果って書いとけば良かったんだよ。
マニュアル読めとか出し惜しみすんなよ。
763:デフォルトの名無しさん
10/03/20 22:37:59
なんか再燃してるねぇ。
2chはこうじゃなくっちゃw
>>752
暴言がどれをさすか知らんけど、クソ生意気と書いたのは俺で質問者じゃねーから。
>>762
出し惜しみする頭なんてあるわけないと思うw
Formatの使い方よく知らないからヘルプヘルプとわめいてたんじゃね?
764:デフォルトの名無しさん
10/03/20 22:41:43
ヤレヤレ ┐(´ー`)┌ マイッタネ
765: [―{}@{}@{}-] デフォルトの名無しさん
10/03/20 23:49:45
>>750
どうもです
MSも相変わらずですか。
766:デフォルトの名無しさん
10/03/21 10:49:19
>>744でもダメですた。
競艇の自動投票を作っているんですけど競艇のサイトが特殊なのかな・・・
ラジオボタンのチェックが入りません。
767:デフォルトの名無しさん
10/03/21 10:58:32
>>750
何がどう間違っているのか書けよ屑
768:デフォルトの名無しさん
10/03/21 11:30:42
>>766
投票ページにアクセスするには会員登録が必要だろうから、
そのページのソースをどっかにアップしてくんない?
769:デフォルトの名無しさん
10/03/21 12:06:08
>>750
お前の存在が間違いじゃないの?
そもそも荒れた原因はお前が最初にFormatのやつうざいと言ったからだろ?
Valueから暴れてるよな?
もういいから消えろ。
素人の好奇心云々や文系高卒やらさんざん暴言吐いてたのはお前だと思うが
素人はお前だ。
玄人と思ってるかも知らんけど、それは勘違いというものだ。
わかった?トウシロのぼくちゃんw
770:デフォルトの名無しさん
10/03/21 12:07:29
テンプレに、「まずOption Explicitをつけろ」も追加が必要だな
771:デフォルトの名無しさん
10/03/21 12:09:54
おーすまん>>750
上はもちろんトウシローの>>767あてね
772:デフォルトの名無しさん
10/03/21 12:11:17
>>750
> 別にFormatの第二引数の記述が間違ってるわけではないでしょう。
これってへりくつって言うんですよ。
それに既に>>678で説明済みのものを、自分の言葉で長々とかかずにはいられない
ほど自己顕示欲をもてあましてるんでしょうか。
773:デフォルトの名無しさん
10/03/21 12:13:46
>>769
そんなに基本的な論理学もわかってなかったことを指摘されたのか痛かったのかな。
知らないことを教えてもらったという意味で、感謝されてもいいくらいだ。
774:デフォルトの名無しさん
10/03/21 12:13:54
「間違いを訂正するときには、
名前欄に自分のレス番号を記入すること」も追加かな。
775:デフォルトの名無しさん
10/03/21 12:20:31
はっきり言って、>>2にもあるように、Excelのバージョンくらい書くのがこのスレの礼儀だし、
まずヘルプを確認するのが常識なんだけど、それを指摘してる奴が痛すぎて、相対的に
バージョンも書かない、ヘルプも読まない奴の方が正義っぽくなってる。
776:デフォルトの名無しさん
10/03/21 12:22:47
そいつの相手してる奴がこれまた痛いw
777:デフォルトの名無しさん
10/03/21 12:23:19
>>767
"M32032ral"って何かって質問だから>>762を読めば?
何で出し惜しみしたの?
778:デフォルトの名無しさん
10/03/21 12:28:44
いろんな厨がいるが、ヘルプ厨ってのもいるんだなw
779:744
10/03/21 12:39:04
>>766
これ以上は自分の手に負えそうに無い感じだけど
最後に1点だけ
If objITEM.Name = "kumiban1" And objITEM.Value = strRADIO(nNO) Then
Debug.Print "ここに北"
objITEM.Checked = True
End If
とかやってみ
イミディエイトウインドに何も表示されないなら
対象タグを見つけられてない
フレーム分割されているとかそんな感じじゃないのかな
780:デフォルトの名無しさん
10/03/21 12:42:42
>>777
俺は頭悪いからそんなこと分らないんだよ
とにかくヘルプだヘルプ!
VB.NETのヘルプじゃなくてVBAのヘルプな
781:デフォルトの名無しさん
10/03/21 12:49:17
わからなかったら素直にそういえばいいのに。
自分の無知を認めることも大事だ。
782:デフォルトの名無しさん
10/03/21 13:20:02
printf("%d", some_pointer)で変なマイナスの値が表示されることに
一生懸命説明する奴大杉。
783:デフォルトの名無しさん
10/03/21 13:32:05
自作自演もほどほどにしようぜ
784:デフォルトの名無しさん
10/03/21 13:33:34
必死だなw
しかしまぁ流れを読んで見ると>>678に対する>>679が一番アホだな。
こういう馬鹿ヘルプ厨がいるからおかしくなるんだよ。
785:679
10/03/21 13:38:32
今顔真っ赤です。
こうですか?わかりません(><)
786:デフォルトの名無しさん
10/03/21 13:47:38
>>785
お前は暴れてるやつの一人だと思ったが、ただ無知だっただけの善意の第三者か?
787:デフォルトの名無しさん
10/03/21 14:02:22
レスが集中してるから暴れてるのは一人か二人だと思う。
暴言吐いてる人が構ってチャンじゃないかな。
788:デフォルトの名無しさん
10/03/21 14:46:51
OAuthをExcelVBAで書きたいんだけれど
サンプルどこかに転がってるでしょうか?
789:デフォルトの名無しさん
10/03/21 15:52:47
withevents を使用するために参照設定があれば教えてください
また、使用方法の勉強に適したURLあればお願いします。
790:766
10/03/21 16:34:22
>>768
ソースアップしました。
URLリンク(firestorage.jp)
791:デフォルトの名無しさん
10/03/21 17:15:55
WithEventに参照設定要ったっけ?入れなくてもThisWorkBookモジュールに入れたら動いたけど
あと、その競艇投票ソースとExcelとの関係は?
792:デフォルトの名無しさん
10/03/21 17:17:38
あ、それから説明サイトは、、、、
mougの即行テクニックで witheventsで検索すればちょろちょろと解説がある
793:デフォルトの名無しさん
10/03/22 01:55:13
VBAで練習用にマインスイーパ作った
他なんか勉強になって作って楽しいもんないかね
794:デフォルトの名無しさん
10/03/22 02:17:08
>>793
ゲーム作って勉強したいならこんなんあるみたいよ。
URLリンク(www.amazon.co.jp)
795:デフォルトの名無しさん
10/03/22 03:01:05
>>794
なんだかオモチャ臭がぷんぷんするけど
どうなんだろうね
796:デフォルトの名無しさん
10/03/22 03:08:47
>>795
どうなんだろねー?
動画見たら、こんなんVBAで出来るの!?って興味持ったけど
値段高いからねぇ。
図書館で検索したけどなかったわw
797:デフォルトの名無しさん
10/03/22 08:28:03
VBA、というよりはWin32APIを使いまくってるけどね
URLリンク(gyouzausa.hp.infoseek.co.jp)
798:デフォルトの名無しさん
10/03/22 08:45:10
初歩的な質問ですけど、教えてください
'対象行をdataシートへコピーする
Sub ColumCopy(ByVal cnt As Integer)
Dim k As Integer
Worksheets("data").Activate
k = 0
Do
k = k + 1
Loop Until Cells(k, 1) = ""
Worksheets("Page1").Range(Cells(cnt, 1), Cells(cnt, 8)).Copy _
Destination:=Worksheets("data").Range(Cells(k, 1), Cells(k, 8))
Worksheets("Page1").Activate
End Sub
というのを作ったんです(cntには51という値が、kには1という値が入っています)が、
実行時エラー
アプリケーション定義またはオブジェクト定義のエラーです
でWorksheets("Page1").~の部分で終了してしまってます
どの様に直せばよろしいのでせうか?
799:デフォルトの名無しさん
10/03/22 09:38:03
すまん、俺のせいですげー荒れたみたいだな。
> 結局Formatじゃ駄目でWorksheetFunction.Textってことか。
> 俺の間違いだったわ。
ヘルプ見れば(もちろん679をレスした時点で俺はヘルプを見てる)、自分のやりたいことを
Formatで実現するには"General Number"を指定しないといけないということに気づくんじゃ
ないかと思ってヘルプ見ろって言ったんだよね。
次からは、ヘルプ見ろってつい言いたくなっても自重するよ。
800:デフォルトの名無しさん
10/03/22 09:42:47
もう一個言い訳しとくと、>>672で
> 知ってるのか知らないのかわからないが
とつけたのは、1にならない理由がわからないのか、わざと定義されてない引数を指定したら
変な文字列になったけど、その変な文字列に変換されるロジックをしりたいのかわからなかった
から。
多分前者だろうと判断して、こう書いた。
> Formatの第二引数の指定方法が間違ってる。
801:デフォルトの名無しさん
10/03/22 09:50:36
あと、>>675でちょっとカチンときてしまった。ヘルプも見ない奴に言われたくないって。
愚痴ばかりですまん。しばらくこのスレの書き込み自重する。
802:デフォルトの名無しさん
10/03/22 11:52:04
>>798 CellsにもSheetを指定しなきゃダメ
Worksheets("Page1").Range(Worksheets("Page1").Cells(cnt, 1), Worksheets("Page1").Cells(cnt, 8)).Copy _
Destination:=Worksheets("data").Range(Worksheets("data").Cells(k, 1), Worksheets("data").Cells(k, 8))
With Worksheets("Page1")
.Range(.Cells(cnt, 1), .Cells(cnt, 8)).Copy _
Destination:=Worksheets("data").Range(Worksheets("data").Cells(k, 1), Worksheets("data").Cells(k, 8))
End With
Dim Ws1 As Worksheet, Ws2 As Worksheet
Set Ws1 = Worksheets("Page1")
Set Ws2 = Worksheets("date")
Ws1.Range(Ws1.Cells(cnt, 1), Ws1.Cells(cnt, 8)).Copy _
Destination:=Ws2.Range(Ws2.Cells(k, 1), Ws2.Cells(k, 8))
好きな書き方でどうぞ
803:デフォルトの名無しさん
10/03/22 13:51:29
>ヘルプ見ろって言ったんだよね。
皆ヘルプ見て分からなかったから質問スレに書き込むんじゃないかな。
キーワードがヒットしなかったか、重要な情報を見落としたかはともかく。
804:798
10/03/22 14:10:23
>>802
Cellにも指定しないといけなかったんですか。
気が付きませんでした。
ありがとうです
805:デフォルトの名無しさん
10/03/22 17:23:03
Cell表記でいつも思うんだが
Worksheets("data").Range(Worksheets("data").Cells(k, 1), Worksheets("data").Cells(k, 8))
より
Worksheets("data").Cells(k, 1).Resize(1, 8)
のほうがコード読み書きしやすくない?
806:デフォルトの名無しさん
10/03/22 17:32:39
ついでに言えばコピー先は左上だけ指定すればいい
Destination:=Worksheets("data").Cells(k, 1).Resize(1, 8)
↓
Destination:=Worksheets("data").Cells(k, 1)
807:デフォルトの名無しさん
10/03/22 17:47:27
workSheets(\\\"data\\\").select
したほうが短くならない?
808:デフォルトの名無しさん
10/03/22 18:22:09
VBAを学ぼうと本を買ってきたのですが、いざ読んでみたものの、
この次何をしたらいいかよくわかりません。
何をしたらいい?
809:デフォルトの名無しさん
10/03/22 18:36:00
PCを窓から捨てる
810:デフォルトの名無しさん
10/03/22 18:42:57
>>809 (´・д・`)窓からPC捨てたら、VBAが学べるの?
811:デフォルトの名無しさん
10/03/22 20:21:37
>>805-806
同感
しかしクソIME(Microsoft Office IME 2007)は上の「どうかん」が変換できないよ。
他にも辞書登録しないと駄目なのがいっぱいあるが中国人に作らせたんじゃないだろうな。
812:デフォルトの名無しさん
10/03/22 20:42:03
2chとかに書き込む時はgoogleのが便利なのに(´・ω・`)
最近はちょっと軽くなったし
813:デフォルトの名無しさん
10/03/22 20:42:20
中国人だよ。
814:デフォルトの名無しさん
10/03/22 21:32:01
テスト同感
>>812
Googleの日本語入力があるなんて知らなかったよ。
今ダウンロードして使ってる。
いいこと聞いたよ。
>>813
アチャー、中国神社無理もないな。
うーん、Googleも完璧じゃないな。
815:デフォルトの名無しさん
10/03/22 23:55:19
>>808
手段と目的が逆転した時は、まず目的を探せ
816:デフォルトの名無しさん
10/03/23 00:36:44
「入門書はクリアしたので次のステップは何がよいでしょうか」
という問いかけかもしれん
817:デフォルトの名無しさん
10/03/23 02:13:17
>>816
じゃあやっぱり目的を探せであってるんじゃないか?
818:デフォルトの名無しさん
10/03/23 07:08:47
じゃあ次は中級の本を読めばいいんじゃね?
819:デフォルトの名無しさん
10/03/23 13:54:18
Cells(3,5*i-2)からCells(k,5*i+1)まで
というように行位置と列位置で指定した範囲をコピペしたい場合
何かいい方法ありますか?
行位置と列位置からセル番地を求めて
Range("○○:××")って形で指定くらいしか思いつかないんですが
820:デフォルトの名無しさん
10/03/23 13:57:09
>>819
CellsはRangeの範囲指定にそのまま使える。
Range(Cells(3, 5 * i - 2), Cells(k, 5 * i + 1)) と書けばいい
821:デフォルトの名無しさん
10/03/23 14:15:50
>>820
ありがとうございます!
822:デフォルトの名無しさん
10/03/24 03:18:22
教えてください。
office 2000、Win XP SP3です。
このようなことはできるでしょうか?
・マウスでセルをクリックすると、そのセルに、色が付くとか、あるいは●の文字が出る。
・もう一度そのセルを押すと、色が無くなる(白になる)とか、あるいは文字が消える。
セルを、まるでチェックボックスに見立てたような動作です。
通常のチェックボックスをシート上に置けばよいのでしょうが、
行単位で、それぞれにチェックを付けたいのです。
そうすれば、行の挿入や削除したとき、チェックボックスも一緒に増減するからです。
このようなことがVBAでできるでしょうか?
宜しくお願いします。
823:デフォルトの名無しさん
10/03/24 04:05:05
>>822
無理。
Worksheet_SelectionChange、Worksheet_BeforeRightClick、Worksheet_BeforeDoubleClickなどで
代用する手はあるけど希望通りの動作にならなかったり副作用が出たりする。
824:デフォルトの名無しさん
10/03/24 04:13:30
セルのクリックってWin32APIでできそうなんだけどなあ。
需要もあると思うんだけど、検索しても見つけられないんだよな。
825:デフォルトの名無しさん
10/03/24 08:07:38
2003 XPです
Sub デイデータ制御()
Worksheets("水産").Cells(5, 2).Select
End Sub
これを同じブック・違うシート上でやると実行時エラー1004が出ます。
あと、activate とselect って何が違うんですか?
826:デフォルトの名無しさん
10/03/24 09:37:56
>>825
activeは範囲選択したときのtabの動作
selectは左クリックで操作したときの動作
selectの方が早くて不具合も少なかったと思う
後マクロはシート1に
Sub Macro1()
Call デイデータ制御
End Sub
標準モジュールに
Sub デイデータ制御()
Worksheets("水産").Select
Range("a1").Select
End Sub
と記述する。別シートを洗濯できないのはスコープの問題。
とりあえず簡単に、別シートのマクロは記述できないと覚えて置けば良い
それでもWorksheets("水産").Cells(5, 2).Selectと一度に記述ができないのは何でだったかな
忘れた。
827:デフォルトの名無しさん
10/03/24 14:34:19
>>826
回答ありがとうございます。
一度に記載出来ないのは仕様だったのね・・・
828:デフォルトの名無しさん
10/03/24 16:56:07
自動整形をやめる方法ってありますか?
*はスペース
hoge*=*1
hogehoge*=*1
でなくて
hoge*****=*1
hogehoge*=*1
って揃えたいんですが
829:デフォルトの名無しさん
10/03/24 18:17:14
FUNCTIONで関数を作っったら、ユーザー関数として使えるのでしょうか?
本では使えるようなことが書いてあるのですが、
関数の挿入のWINDOWでユーザー関数の項目が出てこないので選べません。
エクセルは2003で、超超・・(略)・・超初心者です。
830:デフォルトの名無しさん
10/03/24 21:55:11
とりあえず、>>1-7見ような
831:デフォルトの名無しさん
10/03/25 00:48:52
>>828
無理
832:デフォルトの名無しさん
10/03/25 00:50:37
特定の文字列が含まれているシートの特定のセルを参照して、それをフォームに一覧表示したいです。
すべてのシートから参照する方法は分かったのですが、特定の文字列を含むシートのみを抽出する方法が
分かりません。
なにとぞお願いします
833:デフォルトの名無しさん
10/03/25 00:51:13
>>829
使える
出てこないのはたぶんFunctionを書く場所が間違ってる
834:デフォルトの名無しさん
10/03/25 00:52:09
>>832
Find
835:832
10/03/25 01:31:19
すいません、具体性が足りませんでした。申し訳ないです。
例えば、○○○、□□□、○○○1、○○○2というシートがある時、
○○○が含まれる3つのシートのC1の値を参照し、一覧にしてフォームに表示させたいのです。
私としては、foreachを使っていけば良いんじゃないかと思って考えてはいるのですが、具体的な形に
ならないものではまって動けないという感じです。
知恵をお貸し下さい。お願いします。
836:デフォルトの名無しさん
10/03/25 01:51:53
URLリンク(officetanaka.net)
837:832
10/03/25 02:06:29
ヒントありがとうございます。また頑張ってみます。
838:デフォルトの名無しさん
10/03/25 16:41:54
ボタンをクリックして表示させるフォームに引数って渡せないでしょうか。
クリックしたボタンによって違う処理をしたいんですが、引数を渡せないと大量の同じようなフォームをできてしまうのでそれを避けたいのですが…
839:デフォルトの名無しさん
10/03/25 18:07:16
継承が使えればformを継承し新しいクラスを作る
もしくはshow関数をオーバーロード
もしくはグローバル関数を使う
もしくはテキトーなtextboxに値でもいれておき、それを参照するようにする
下に行くほど簡単。どれでも好きなものを
840:デフォルトの名無しさん
10/03/25 18:16:40
excel2007で質問させてください。
各シートから条件に一致したデータを抽出して印刷しようとしています。
印刷ひな形となるシートのコピーを作成して
そのコピーしたシートにデータを書き込んで印刷→シート削除という流れなのですが
worksheets(hoge).copyを使用すると
Application.ScreenUpdating = falseにしていても
画面遷移が起こってしまいます。
画面遷移なしで処理したいのですが何か他に方法はありますか?
ひな形シートの全セル選択で貼り付けると印刷設定が移動できませんし
印刷設定のプロパティも全部コピーしていくしか無いのでしょうか
841:デフォルトの名無しさん
10/03/26 02:13:27
ちょっとVBAに慣れると調子に乗って
ExcelベースのGUIで便利なアプリにしてやろうなんて
夢想しがちだが、肝心な機能の呼び出しが非公開だったり
することが多くて失敗しやすいね
842:デフォルトの名無しさん
10/03/26 05:24:58
>>840
印刷設定のコピー方法はプリンターの機種ごとに違ってて、そう簡単にはコピーできなかったと思う
843:デフォルトの名無しさん
10/03/26 09:41:04
←→
┌───┐┌───┐
└───┘└───┘
上のような感じで複数のセルの中から値の入力されてるセルの上端に双方向矢印を入力させるというマクロを作りたいのですが
可能でしょうか?双方向矢印を引くだけならマクロの記録を使ってできるのですが値のあるセルだけにという条件をくわえるにはどうしたらいいでしょうか?
どなたか教えてください。
844:デフォルトの名無しさん
10/03/26 13:18:35
>>843
こんな漢字?
Sub a()
Set d = UsedRange
For Each s In d
If s.Value <> "" Then
s.Offset(-1, 0).Value = "←→"
End If
Next
End Sub
845:デフォルトの名無しさん
10/03/26 13:58:50
>>844
うまく説明できてなくてすみません。。
例えばA1からD9までの範囲があったとしてそこの中のセルに値があるものだけを検索して
図形の双方向矢印をセルの上端の線に合わせて入れたいんですが可能でしょうか?
846:デフォルトの名無しさん
10/03/26 17:26:23
>>839
グローバル関数でいけました。ありがとうございました
847:デフォルトの名無しさん
10/03/26 21:14:29
>>843
やりたいのはこんな感じ カナ?カナ?
Dim Sh As Worksheet
Dim r As Range
Dim X1 As Integer
Dim X2 As Integer
Dim Y1 As Integer
Dim Y2 As Integer
Set Sh = ActiveSheet
For Each r In Sh.Range("A1:D9")
If r.Value <> "" Then
With r
X1 = .Left
Y1 = .Top
X2 = X1 + .Width
Y2 = Y1
End With
With Sh.Shapes.AddLine(X1, Y1, X2, Y2).Line
.BeginArrowheadStyle = msoArrowheadTriangle
.EndArrowheadStyle = msoArrowheadTriangle
End With
End If
Next
848:デフォルトの名無しさん
10/03/26 22:49:43
>>847
ありがとうございます!!まさにそのとおりです。
ちなみに矢印を上端の中心に持ってきて左右の長さを縮めたいのですが・・・
←→ .←──→
┌───┐┌───┐
└───┘└───┘
今のままでは右のようになるので左の図のようにしたいと考えてまして
そういった方法の指定も可能ですか?
849:847
10/03/26 23:18:03
>>848
可能
Rangeオブジェクトのプロパティ
Left Top Width Height
後はヘルプを見るなりして がんばってみてね
850:デフォルトの名無しさん
10/03/26 23:27:15
色んなことをやりたい人がいるんだな
851:デフォルトの名無しさん
10/03/26 23:35:17
このスレはVBAとPerl14
のスレなのになぜPerlネタが一切でてこないんだ?
852:デフォルトの名無しさん
10/03/26 23:49:26
次の質問どうぞ
853:847
10/03/27 19:33:47
>>843
もう見てないかもしれないけれど
>>847のコードは
型宣言を 勘違いしてたみたい
変数 X1 X2 Y1 Y2 は Single型もしくはLong型で宣言するべきだった
Integer型だと少数点以下がカットされるので線が少しずれてる
さっきヘルプを見ていて気づいた
ゴメンね
854:デフォルトの名無しさん
10/03/28 03:21:33
シェイプ関連の位置指定は、ポイント単位だからなあ。
て、Longも駄目だろw
855:847
10/03/28 10:55:03
>>854
がーーーん
またまたすみません
たっ たしかにそうでした
回答者に向いてないかも俺
さすがに落ち込みました
856:デフォルトの名無しさん
10/03/28 11:02:37
ドンマイ。よくあることだw
857:デフォルトの名無しさん
10/03/28 21:05:10
質問です。
CSVファイルをエクセルブック内のワークシートに貼り付けするとき、
Workbooks.Open Filename:=csvfile
Workbooks(csvfile).Worksheets.Copy after:=Workbooks(mybook).Worksheets("ファイル一覧")
Workbooks(csvfile).Close
こんな感じで簡単に貼り付けています。
csvファイルが5MBとかサイズが大きくても上のようなやり方で問題ないでしょうか。
csvファイルの先頭から1レコードずつ取得して貼り付けるという方法もネットから探し出せたんですが
どっちがいいのか判断しにくいです。
858:デフォルトの名無しさん
10/03/28 21:07:57
ExcelVBA開発がメインの人っているの?
趣味とか、基本的にはVBとか、やけにできる事務員とか、そんな感じですか?
859:デフォルトの名無しさん
10/03/28 21:21:12
自称やけにできる事務員ですw
860:デフォルトの名無しさん
10/03/28 21:35:38
英単語が並べられている列があり、隣の列に意味を書き出す、というのを作っています。
使用する英語の辞書のURLはURLリンク(www.alc.co.jp)です。
「apple」という単語を検索するとURLは
URLリンク(eow.alc.co.jp)
となります。
ここで、英単語を検索した結果表示されたページから該当箇所を抜き出すというやり方が分かりません。
上記の「apple」の場合、「・apple」から「分節ap・ple」まで抜き出したいのです。
やり方がわかる方教えてください。
861:デフォルトの名無しさん
10/03/28 22:09:20
>>860
* データの転載は禁じられています。
class="midashi"
862:デフォルトの名無しさん
10/03/28 22:25:22
>>857
5MBのCSVなんて動作遅くならないか?
速さをなんとかしたいならsqlでやる。
863:デフォルトの名無しさん
10/03/29 00:28:17
>>860
VBA上から Webページのデータを取得するのは
そのWebページのソースを見て理解できないと無理
(そしてそれをどうVBA上からコントロールするかも)
ソースをみたけど
<DIV class=mr_10 id=resultList ondblclick=seow()>
ってのがあるから
id=resultList ←これを利用すれば
「・apple」から「《コ》アップル・メニュー」
までは抜き出せるね
あとはタグを辿っていくしかないかな
864:デフォルトの名無しさん
10/03/29 13:57:45
>>858
やけにできる事務員だった
データの正規化やコピーする際に絶対にミスしないのが魅力的
速度自体は大して変わらん
865:デフォルトの名無しさん
10/03/30 10:59:35
1ブック内に複数あるシート全てを選択した状態で、且つ一シート目にのみ開始ページ番号が振られている状態で
印刷したときに割り振られるページ数を、印刷せずにマクロで調べたいのですがどのような方法があるでしょうか?
このシートのこのセルは何ページ目に該当する、ということを調べて行きたいです。
プレビューで見ていけば可能ですがページ数が膨大なのでマクロで処理したいと思っています。
866:865
10/03/30 11:02:54
すいません、バージョンは2000です。
867:デフォルトの名無しさん
10/03/30 13:47:33
>>865
『このシートのこのセル』はそもそもどうやって特定するの?
1シートで印刷するのは複数頁あるってこと?
868:865
10/03/30 16:43:41
>『このシートのこのセル』はそもそもどうやって特定するの?
全シート走査で特定単語を置換していくので、
その置換処理が行われたときのセルを元に出力時のページをその都度
調べてワークファイルに書き出したいと思っています。
(置換処理、書き出す処理はできてます)
>1シートで印刷するのは複数頁あるってこと?
そうです。
1シートに1頁の場合と複数頁ある場合とがあります。
869:デフォルトの名無しさん
10/03/30 20:18:53
特定単語を置換する前に
検索→セル番地取得→セル番地から頁数割り出し
という作業をかませばいいんでないの?
870:865
10/03/30 21:13:16
>>869
「セル番地から頁数割り出し」の部分がわからないんです…
871:デフォルトの名無しさん
10/03/30 21:41:45
一度、印刷プレビューで1頁で何セル印字するのか調べてみたら
872:デフォルトの名無しさん
10/03/30 22:13:52
使った事ないけど
VPageBreak オブジェクト
HPageBreak オブジェクト
なんかどう?
873:872
10/03/30 23:30:03
ちょっとテストしてみたけど 頁数割り出しの参考にならないかな
Sub test()
Debug.Print "改ページ数:"; ActiveSheet.HPageBreaks.Count
For Each a In ActiveSheet.HPageBreaks
Debug.Print "改ページ 行位置:"; a.Location.Row
Next
End Sub
874:デフォルトの名無しさん
10/04/02 07:24:45
Application.OnTimeでサブルーチンを時間起動したいのですが、
セルをダブルクリックして値入力状態であったり、モーダルで
バルーンを表示させていたりすると、Application.OnTimeに制御
が移らず、サブルーチンを起動できません。
これを回避する知恵をお持ちの方、ご教示願います。
875:デフォルトの名無しさん
10/04/02 16:52:52
回避するって
>セルをダブルクリックして値入力状態であったり、モーダルで
>バルーンを表示させていたりすると、
はどうするねん
別にexcel.applicationを起こしてそっちでontimeさせればええやん
876:デフォルトの名無しさん
10/04/04 19:32:11
XPsp2,EXCEL2003です。
ピボットテーブルをVBAで作成しているのですが、
データによって(件数?)、集計の仕方が、
「個数/金額」になったり、「合計/金額」になったりします。
常に「合計/金額」になるようにするには、どうすれば良いのでしょうか?
コードは次の通りです。
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"ZZZWORK!R5C" & c_yymm_p & ":R" & lastrow & "C" & c_io_p).CreatePivotTable TableDestination:="", TableName:= _
"ピボットテーブル4", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("ピボットテーブル4").ColumnGrand = False
ActiveSheet.PivotTables("ピボットテーブル4").AddFields RowFields:=Array("分類", "科目") _
, ColumnFields:="年月"
ActiveSheet.PivotTables("ピボットテーブル4").PivotFields("金額").Orientation = _
xlDataField
Application.CommandBars("PivotTable").Visible = False
ActiveWorkbook.ShowPivotTableFieldList = False
よろしくお願いします。
877:デフォルトの名無しさん
10/04/05 02:29:05
>>876
ActiveSheet.PivotTables("ピボットテーブル4").PivotFields("金額").Function = xlSum
878:876
10/04/05 08:04:46
>>877
レスありがとうございます。
そのコードを追加したら、
実行時エラー'1004':
PivotFieldクラスのFunctionプロパティを設定できません。
になりました。どうすれば良いのでしょうか?
追加した位置は、下記のステートメントの次です。
ActiveSheet.PivotTables("ピボットテーブル4").PivotFields("金額").Orientation = _
xlDataField
よろしくお願いします。
879:デフォルトの名無しさん
10/04/05 12:28:18
>>878
フィールド名の「金額」の部分を自分の作ったテーブルに合わせて書き換える
テーブルの一番左上の灰色のセルの値を見る
880:878=876
10/04/05 17:07:07
>>879
レスありがとうございます。
常に合計になるようにできましたm(_ _)m
881:デフォルトの名無しさん
10/04/05 18:37:42
サブメニューを複数個作りましたが、
どのサブメニューを選択しても、同じSubプロシージャを呼び出したいです。
Subプロシージャ側で、どのサブメニューが選択されたかを知るにはどうすればいいでしょうか?
パラメーターとか使えますか?
参考になるサイトがありましたら紹介していただけませんか。