Excel総合相談所 30

このエントリーをはてなブックマークに追加
939 ◆NONO.G8G2w :05/02/23 23:40:40
>>917
 Form_Initialize イベントで読みこむプロパティが 3000 って、
なにか抜本的な部分で考え直すとこないだろうか?
940913:05/02/24 00:01:02
>>939
考え直すところはありません。
4種類のコントロールがそれぞれ200づつと、その他十数個のコントロールがあり
200づつあるもののうち3種類は4つのプロパティ値が可変、残り1種類が3つの値が可変。
これだけでちょうど3000になり、他も合わせると3021の値が可変となります。
デフォルト値そのままで良い場合もあるので、毎回3000以上を読んでるわけではないですが
少なくとも毎回2000近くはシートからの取得になってるはずです。

今、可変になってる部分を固定にしても使えないことは無いですが、
膨大な値を読み込む事による起動時のロスより、プロパティ値を固定してしまう事による
操作性が低下のロスの方が大きいので、今の仕様を変更することは考えてませんが、
出来れば起動時のロスを最小限にしたいので
とにかくデフォルトのプロパティ値を変更する方法を知ってる方をお待ちしてます。
>>940
フォームにそれだけのコントロールがあるってのはどうだろう?
9421@CLIE ◆GodOnnFcO. :05/02/24 00:55:21
>>938
日付のデータだからかうまくいきません、、
9431@CLIE ◆GodOnnFcO. :05/02/24 01:14:49
なんていうか、、
http://f52.aaa.livedoor.jp/~clie/pukiwiki.php?plugin=attach&pcmd=info&file=test.xls&refer=%A5%A2%A5%C3%A5%D7%A5%ED%A1%BC%A5%C0%A1%BC
こんな感じです
どうやったらいいのか皆目検討がつかない
エクセルじゃできないのかな??
>>942
938じゃないけど、それっぽくできたぞ?
945913:05/02/24 01:25:39
>>942
どううまくいかないんですか?
こちらでは>>938で書いた方法で>>935のような表が出来ますが。

因みに系列2の開催期間は「終了日時-開始日時」であり、
>>931で書いた数式を入れた列とは別に差分のシリアル値を求めた列を作る必要がありますよ。


>>941
どうだろうと言われても必要だから配置してるものなので。
因みにモードレスで呼び出して複数のワークシートと値のやりとりをしながら同時編集します。
詳細は言えませんが特殊な業務で使うものなので、常識は当てはめないでください。
ディスプレイ解像度さえ許せば、本当は今の5倍のコントロールを配置したいところなのです。
しかし今の24インチ1920x1200のディスプレイではこのくらいが限界で、これ以上増やすとシートが見えなくなるので。
9461@CLIE ◆GodOnnFcO. :05/02/24 01:37:09
>>945
できました、、バカな事やってた
どうもありがとうございました
やっと寝られる
947名無しさん@そうだ選挙にいこう:05/02/24 03:47:16
WindowsXP
Excel2000

株価チャート(ローソク足、始値・高値・安値・終値)のグラフを作り、さらに移動平均を2系列追加。
で、追加した移動平均の系列を折れ線グラフに変更。

・・・・がっ!
グラフに変更できるのだが、もとのローソク足がめちゃくちゃなまま。
移動平均専を追加したまま、正常なローソク足を表示させるには、どの辺りを確認したら良い?
修正方法ってあるの?

よろしくお願いいたします。
ExcelのVBA勉強に向いているお勧め本はありますか?
>>948
あなたが読んで解りやすいと思った本。
950名無しさん@そうだ選挙にいこう:05/02/24 09:44:45
 友人からもらった書式なのですが、ボタンの位置が悪いので位置をずらしたいのです。ところがボタンを選択することが
できないのです、、、どうやればいいのでしょう?2003です。追加ボタンの色も変わってるのでそちらもお願いします。
ググったら色変えるの結構ややこしいのしか見つからなかったんです。
>>950
シート上にフォームで作ったボタンのことなら、まずボタンの上で
右クリック。メニューは無視して、ボタンの周囲に出た網線部分に
ポインタ合わせりゃ移動できる。

後半部の追加ボタン云々は意味がよくわからん。
952950:05/02/24 11:21:12
ご返答ありがとうなのですが、右クリックするとボタンがへこむだけでメニューがでないのです。

追加です。ボタンの色も変わってるのでそちらもお願いします。
ググったら色変えるの結構ややこしいのしか見つからなかったんです。
って意味でした。ごめんなさいm( __ __ )m
>>940
私のばやい、UserForm1.Show する前に直に値を入れてます。
UserForm1.CommandButton1.Caption = "ぬるぽ"
とか。

>>952
デザインモード
954950:05/02/24 15:02:11
アリガト!(´▽`)です。デザインモードでもボタンの設置できるの初めて知った、、、こっちの方が色々出来るのですね。
955名無しさん@そうだ選挙にいこう:05/02/24 15:08:34
Win2kまたはWinXPと
Excel2002なんですが、SDIを使って.xlsを表示することって出来ないんでしょうか?
97辺りだと出来た気がするんですが…
956913:05/02/24 16:05:11
>>955
2002でも出来ますよ。
全てSDIとして開きたいなら既定関連付けのDDEオプションを切ってしまえばOKですが、
既定コマンドは残して右クリックから「新規Excelで開く」などの項目を選択した場合のみ
SDIとして開くようにする方法を薦めます。

インストール先が標準なら、下記5行を.regとして保存して結合すれば
「新規Excelで開く」という項目が右クリックに追加されるはずです。

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\SDI]
@="新規Excelで開く(&S)"
[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\SDI\command]
@="\"C:\\Program Files\\Microsoft Office\\Office10\\EXCEL.EXE\" /e"


このコマンドを既定にしたい場合は、下記2行も含めてください。

[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell]
@="SDI"


>>953
数が少ない場合はそれでもいいんですけどね。
957955:05/02/24 17:10:04
>>956
ありがとうございます。
以前はオプション設定辺りから出来たと思ったのですが、
今は結構手間がかかるんですね…

できればレジストリは使いたくないのですが、
MDI状態でVBAを使い、SDIの別ウィンドウを開くようなことは可能ですか?
/eをつけてShellで起動させても良いのかも知れませんが…
958913:05/02/24 17:45:36
>>957
DDEオプションが掛からなければブック個別にExcelを開くので
デスクトップやD&Dを受け付けるランチャーなどにExcel.exeを置いて
そこにxlsファイルをD&Dすればブック毎にExcelを起動させられますよ。
もちろんVBAでも新規にExcelを立ち上げてブックを開くのは可能です。

ただ、
> できればレジストリは使いたくないのですが、
と言われても、今現在MDIで開く際にもレジストリを使用して開いてる訳ですが…
レジストリの編集も慣れれば怖がるほどのことではありませんよ。
特に関連付け部分のキーHKEY_CLASSES_ROOTは、レジストリの中でも特に解りやすい部分ですから。
959名無しさん@そうだ選挙にいこう:05/02/24 18:07:25
ヘッダーの文字に色を付けることはできますか?

ExcelXPです。
文字を図として貼り付け・・・とかはダメ?ww
961959:05/02/24 18:41:31
>960
ありがとうございます、それは、最終手段ということで、とっておきます。

なにげに、無理なんでしょうかねぇ
チョト調べたけど、無理っぽいね。
行タイトルではイカンの?
とあるシートに項目を縦に並べておいてそれを他のシートで同じ順番で表示させたいのですが、
ただ「=あるシート!A1」とかで入力してしまうと、元のシートで順番を変えても参照したシートでは順番が変わらない
(セルの移動等をすると参照しているセルでの数式が自動的に変わってしまう)ため
INDIRECTを使い、「=INDIRECT("あるシート"&"!"&ADDRESS(ROW()+2,COLUMN()+1))」とかやっています。
ですが、これだと項目を入力するセル(参照元となるデータ)をたとえば他の列とかに移動してしまうと
INDIRECT〜を入力したセルも修正する必要がでてきます。

そこで名前を定義して参照させてやろうとしたのですが、
たとえばSheet1のA1:A10に入力したもの(名前hoge)をSheet2のB1:B10に参照して表示する場合は
「=hoge」とかやればうまく順番に並ぶのですが、
表示させたいのがSheet2のB5:B15だったりすると、「=hoge」では
Sheet1!A5の内容がSheet2!B5に表示されることとなってしまいます。
(対応してる列番号のものが表示されてしまう)

うまく名前の定義を利用してSheet1!A1以下ををSheet2!B5以下に表示させるにはどうしたらよいのでしょうか?
また、名前で定義したもののうち「何番目」という指定の仕方はできるものなのでしょうか?
よろしくお願いします。
> 元のシートで順番を変えても参照したシートでは順番が変わらない

> これだと項目を入力するセル(参照元となるデータ)をたとえば他の列とかに移動してしまうと
> INDIRECT〜を入力したセルも修正する必要がでてきます。

言ってること矛盾してるのには気付いてる?
参照先が書き換えられてもダメ、参照先が固定されててもダメ、って・・・


ついでに定義参照では「何番目」のような指定をするのは無理です。
条件がいまいち解りませんがVBAを使って処理してください。
965963:05/02/24 20:21:48
>>964
とりあえず
>元のシートで順番を変えても参照したシートでは順番が変わらない
は絶対条件です。

> これだと項目を入力するセル(参照元となるデータ)をたとえば他の列とかに移動してしまうと
> INDIRECT〜を入力したセルも修正する必要がでてきます。
これは名前で参照できればラクになるかなぁ、程度のことなのでさほど重要ではないです。
(移動させても名前を定義しなおすだけでいいかなぁ、と。)

要は、列が違うセルでも名前を定義して参照できないか?ということです。
よろしくお願いします。
> 元のシートで順番を変えても参照したシートでは順番が変わらない
参照先固定が絶対条件なら、
> これだと項目を入力するセル(参照元となるデータ)をたとえば他の列とかに移動してしまうと
> INDIRECT〜を入力したセルも修正する必要がでてきます。
のように参照先を変更したい場合は数式を直接書き換えなくてはならないのは当然のこと。

そしてVBAなら行の参照先は固定、列の参照先は可変などの設定も出来るし、
両方固定しても、数文字書き換えるだけで参照列の一括変更とかもできるのでVBAでやれと言ってるまでの話。
具体的なシート構成が解らないのでこちらでは書けないから自分で書いてね。
まあ、INDIRECT使っても、列の部分を直接文字列で指定しないで、外部参照にすれば参照列の変更は簡単だけど。
967名無しさん@そうだ選挙にいこう :05/02/24 21:54:55
2003ですが。
オートサムをクリックすると、<=SUM  >と表示された
バルーンが表示されますが、非表示にする方法を教えろ!
教えない
969913:05/02/24 22:04:47
>>967
2002ですが。
ツール > オプション > 全般
関数のボタン名

のチェックを外しやがれ!


項目名違ったらごめん。
970959:05/02/24 22:39:57
>962
わざわざどうもです。
行タイトルでも、何とかなると思います。

でも、できないのが不思議です。何で無理なんでしょうかね。
エクセルユーザーはヘッダーとか普段使わないんでしょうか。
エクセルって、印刷の時に不便感じるときが多いですね。
>>963
よく判らん。名前を付けた領域と同じ大きさの領域をどっかで選んで、
=名前
って書いてctrl+shift+enterってこと?

んで、誰か>>779教えてプリーズ。
エクセルで作ったファイルを保存するときに
必ず同じ場所に保存させる事ってできるの?
973955:05/02/24 23:44:19
遅くなりましてすみません。

>>958
いい機会なので、レジストリの勉強がてら弄ってみようと思います。
ご回答ありがとうございました。
974963:05/02/25 00:51:10
>>971
うぉ!こんな技があったとは知りませんでした。
まさにこれでつ。
dクス。
EXCEL2003です。

とあるエクセルファイルがあります。(ここでは A.xls とします)
その1行目には、管理番号と称して各列毎にユニークな数値が記入されています。
そして、その数値をファイル名としたエクセルファイルがそれぞれあります。
(A1 が 10の場合、10.xls というファイルがある)

ここで、A.xls の A1 B1 C1 にそれぞれ 1 2 3 とあった場合、
A2 B2 C2 にそれぞれ 1.xls 2.xls 3.xls のファイルのとあるセルの数値(セルは固定)
を自動で入れたいと考えています。
その際 A.xls の列数は固定ではなく増減するため、A〜C列までの場合もあれば
A〜E列までの場合もあります。

こんな感じ

  |     A        |      B       |       C
−+−−−−−−−−−+−−−−−−−−−+−−−−−−−−−−
1 |     1        |      2       |       5
−+−−−−−−−−−+−−−−−−−−−+−−−−−−−−−−
2 | 1.xlsのA1の数値  | 2.xlsのA1の数値  |  5.xlsのA1の数値
−+−−−−−−−−−+−−−−−−−−−+−−−−−−−−−−

こういったことは可能でしょうか?わかりにくい説明ですみませんが、よろしくお願いします。
976名無しさん@そうだ選挙にいこう:05/02/25 08:39:53
で、>>947は?
スクリーンショットUPする?
977名無しさん@そうだ選挙にいこう:05/02/25 14:50:56
質問です。

保存したデータが間違っており、
保存する前に戻りたいのですが、可能でしょうか?
一度ファイルを閉じてしまったので、「戻る」が使えません。
戻す方法があれば教えてください。

環境は、WinXP SP2 Excel2002 です。

無理。
そうならないためにも、自動保存アドイン入れるべし。
http://www.vector.co.jp/soft/win95/business/se286196.html
これ以外にもたしかあったから自分にあったの使うべし。
人生の「戻る」ボタンが付いているOSなら可能。
すぐ隣の「削除」ボタンを間違えて押さないように。
980977:05/02/25 15:07:13
>>978
ありがとうございます。
さっそくダウンロードしてみます。

981977:05/02/25 15:09:06
>>979
笑う元気ない。
982 ◆NONO.G8G2w :05/02/25 15:13:21
>>975
 可能です。VBAを勉強してください。
>>975
参照するファイル(1.xlsや2.xlsなど)をすべて手動で開いておく。
数式を必要列数手動でコピーする。
以上が許されるなら、関数でも可能。
上記も自動化したいなら982の言うとおりVBA使ってください。
984名無しさん@そうだ選挙にいこう:05/02/25 17:55:42
下のようなデータのソートなんですが、ファイル整理の都合上、一番左の名前は変えたくないので、
A_ の後の途中のアルファベット(bitu, euuなど)でソートしたいんですが、可能でしょうか?

A_bitu1 0.12620.0154 238.0113348
A_bitu2 0.12950.0111 237.3445868
A_euu1 0.10610.0242 231.0301495
A_euu2 0.09150.0424 223.4147843
A_doyu1 0.09630.0299 --undefined--
A_doyu2 0.10180.0202 --undefined--
>>984
自分でちゃんとテストしてみた?
前についてる文字(A_)が皆同一なら、普通にソートしたら
3文字目以降の文字に応じてソートされるでしょ。

自分でまず実行して、問題ある場合にその問題点をかいて
質問しろよな。
>>984
最初のA_が同じならそのままソートするだけで自動的にそうなりますがな。
そうでないなら、途中のアルファベット部分だけ文字列関数で別のセルに
切り出してそちらでソート。
EXCEL2003です。

あるセルに1234と入れます。
以前は(古いバージョンだったと思うのですが)、その下のセルに「1」と打った時点で
残りの「234」も自動的に入力された記憶があるのですが、今はできません。
数字の半角/全角に関係なくできません。文字ならば英語・日本語ともにできます。

なにか仕様が変わったのでしょうか?それとも設定次第で数字も自動的に入るように
なるでしょうか?教えてください。お願いします。
あーー、めんごめんご。

A_ の部分は他にもB_ とかM_とかなってる。で、横断的に _ より下でソートしたいと言うこと。

すまぬ。かつ、よろしく。

>>986の文字列関数で切り出しというのでいけるのかな?

A_bitu1 0.12620.0154 238.0113348
A_bitu2 0.12950.0111 237.3445868
A_euu1 0.10610.0242 231.0301495
A_euu2 0.09150.0424 223.4147843
A_doyu1 0.09630.0299 --undefined--
A_doyu2 0.10180.0202 --undefined--
B_bitu1 0.12620.0154 238.0113348
B_bitu2 0.12950.0111 237.3445868
B_euu1 0.10610.0242 231.0301495
B_euu2 0.09150.0424 223.4147843
B_doyu1 0.09630.0299 --undefined--
B_doyu2 0.10180.0202 --undefined--