Excel総合相談所 24

このエントリーをはてなブックマークに追加
Excelに関する質問は、ここで!

     /)_/)    ( ・質問する人は可能な限り具体的に書いてね。
    < ゚ _・゚> .。oO( ・Excelのバージョン、OSのバージョンも書くとレスが付きやすい。
  ノ) /   |    ( ・回答がなくてもキレないで。
  \(_,,,_,,,)   ( ・分かる人はできるだけ回答して下さいませ。

前スレ
http://pc5.2ch.net/test/read.cgi/bsoft/1083074470/

過去スレは>>2
FAQ(よくある質問と答え)は>>3-10くらい。
Q.セルに入力した値が勝手に変わってしまうのですが
 入力したままの形で表示させるにはどうしたらいいですか?
A.数字でよくあるケース(先頭のゼロが消えてしまう、日付として解釈されてしまう)
 入力する時、先頭にアポストロフィ(')をつけるか、
 該当するセルで右クリック−「セルの書式設定」−「表示形式」で「文字列」を選択。
 文字列ではなく数値として扱いたいときは
 「セルの書式設定」−「表示形式」で「ユーザー定義」を選択し、工夫する。
A.文字でよくあるケース(i⇒I、teh⇒the など)
 ツール→オートコレクト→入力中にオートコレクト
 の該当する箇所を削除。
3FAQ: 列の表示について:04/05/28 23:57
Q.列名がA,B,C,D,Eではなく、1,2,3,4,5になってしまいました。
 アルファベットに戻すにはどうしたらいいですか?
A.ツールメニュー:「オプション」 -「全般」タグで
 『R1C1 参照形式を使用する(C)』のチェックを外せば直ります。

Q:列を256個(IV列)よりたくさん広げることはできませんか?
A:エクセルのシートは65536行×256列が仕様上の上限です。
 シートを分けるとか、行と列を入れ替えるとか、データの方をまとめるとか、
 列数を増やさない方向で工夫するしかありません。
4FAQ: 印刷プレビュー:04/05/29 00:04
Q:印刷プレビューではセル内に収まっていた文字が
 実際に印刷してみるとはみ出してしまうのですが、
 何とかなりませんか?
A:「印刷プレビューと印刷結果が一致しない」のは
 昔からのExcelの弱点で、どうにもなりません。
 セルの幅や高さに余裕を持たせるか、
 書式設定で「縮小して全体を表示する」にチェックを入れましょう。
5FAQ: マクロの”削除”:04/05/29 00:05
Q.マクロを削除したのに、ファイルを開くたびにセキュリティの確認が出ます。
A.モジュールの解放が必要。
 【モジュールの解放方法】Alt+F11→Ctrl+R→Module1を右クリック→解放
Q.例えば、一つのセルに1803329と入力すると
 180度33分29秒と表示されるようにするには
 どうすればいいのでしょうか?
 ついでに計算もしたいです。
A.「1803329と入力すると180度33分29秒と表示される」
 というのと、計算できるというのを両立させるのは無理。
 書式を
 [h]:mm:ss や [h]"度"mm"分"ss"秒".00
 などにしておき、入力するときには
 180:33:29.99
 などとすれば、表示も計算もできる。

勤務時間を計算するには
http://support.microsoft.com/default.aspx?scid=%2Fdirectory%2Fworldwide%2Fja%2Fkblight%2Ft009%2F3%2F46.asp

日数および日付の表示方法と計算方法 - 基本編
http://support.microsoft.com/default.aspx?scid=%2Fdirectory%2Fworldwide%2Fja%2Fkblight%2Ft009%2F3%2F45.asp
Q:たくさんの数値のリストがあって、
 リスト中のいくつかの数の合計と思われる数値が与えられました。
 リスト中のどれとどれの合計か調べることはできますか?
A:ナップザック問題(knapsack problem)として知られている難問です。
 一般的には総当りで調べるしかありませんが。
 しかし、データに特徴がある場合(桁数が限られているなど)には、
 うまい方法があって、速く解けることもあります。
 下記のページを参照してみてください。
  ナップザック問題をExcelで解く
   http://www.geocities.co.jp/SiliconValley-Oakland/8139/
Q:セルの内容を判断して、表示を変えたい

A: IF関数を使います。
=if(条件,条件が成立した場合,成立しなかった場合)

例1:基本
セルA1が1の場合○、それ以外の場合×を表示
=IF(A1=1,"○","×")

例2:if文の中にif文
A1が、1の場合○、2の場合△、それ以外×。
=IF(A1=1,"○",IF(A1=2,"△","×"))

例3:ANDやOR活用
A1が、4〜6の場合は、普通と表示
=IF(AND(A1>3,A1<7),"普通","少ないか多い")

例4:計算も出来る
A1が10までなら、A1を10倍して表示、それ以外なら2を引く。
=IF(A1<11,A1*10,A1-2)

詳しくはヘルプを参照しましょう。
9FAQ: グラフについて:04/05/29 00:33
Q1:データの空白部分があって、そこで折れ線が切れてしまいます。
  繋げたいのですが如何したらいいでしょうか?
A1:グラフを選択>ツール>オプション>グラフ>空白セルのプロット「補間してプロットする」にチェック

Q2:棒グラフに重ねて、折れ線グラフを表示するにはどうしたらいいのでしょうか?
A2:最初、すべてのデータを棒グラフで作成。
次に、折れ線で表わしたいデータ系列のどこかを、グラフ上で右クリック
サブメニュー>グラフの種類>折れ線>OK

Q3:ある系列だけ、縦軸を別にしたいです。
A3:その系列のどこかを、グラフ上で右クリック
データ系列の書式設定>軸>使用する軸「第2軸」にチェック>OK
10いまごろ過去スレ:04/05/29 00:34
988 名前:名無しさん@そうだ選挙にいこう[sage] 投稿日:04/05/28 18:03
質問です。
オートフィルの途中の行を飛ばす方法ってありますか?
たとえば1行目を選択して10行目までオートフィルするんですが
4行目と7行目はオートフィルを適用させないでそのまま、にしたいです。
よろしくお願いいたします。
12名無しさん@そうだ選挙にいこう:04/05/29 08:57
>>11
オートフィルヲ摘要しないでそのまま  というのがよくわからないのですが。
 
13名無しさん@そうだ選挙にいこう:04/05/29 10:16
機器の更新計画を立てているのですが、耐用年数を超えた場合の
セルの色を変えたいと考えてます。

例えば
A列に製造年度、B列に台数、C1に現在の年度、D1に耐用年数。
全て標準で設定しています。
B列に数値が入ったときだけ耐用年数が超えている場合に条件付書式の
入力式がわかりません。

初心者でスマソ。
1413:04/05/29 10:31
追加
なんか日本語おかしいですね。

×B列に数値が入ったときだけ耐用年数が超えている場合に条件付書式の入力式がわかりません。
○B列に数値が入ったとき、耐用年数が超えている場合の条件付書式の入力式がわかりません。

15名無しさん@そうだ選挙にいこう:04/05/29 10:42
質問させて下さい。
「数式と値のクリア」でセルを広範囲にわたって指定して削除する場合、
これだけは残したいという文字や数式のセルがあった場合、そのセルを
どう保護すればイイのでしょうか?
>>14
B列を選択し
書式→条件付書式
  →条件付書式の設定で
   [セルの値]が[次の値以上]
   次のボックスで値なりセル範囲なりを入れ
   書式(F)でパターンで文字またはセルを色づけする

ということでは駄目なのかな?
>>13-14
「数式が」を選び、  =IF(B1<>"",C1>D1,"")
1813:04/05/29 13:02
>>16>>17
レスサンクスです。
質問の仕方が少し間違ってたみたいです。
C1-A1が使用年数でD1より多ければセルの
色を変えようと思っていた訳です。

=IF(B1<>"",C1-A1>D1,"")が正解ですね。
解決しました。有難うございました。
Excel 97 SR2 を使用しているのですが、セルの色づけに
関して問題が発生しました。もし原因が分かる方がいらっ
しゃれば教えてください。

以下の VBA のマクロを実行し、アクティブ
セルに色づけを行うと、なぜか、グレー(十六進969696)
になってしまいます。本来ならば、エメラルドグリーン
のような色になるはずなのですが。。。

よろしくお願いします。

Sub color_test()
ActiveCell.Interior.Color = RGB(131, 216, 164)

End Sub
使えない色だから
>>20

256*256*256 色すべて使えないのですか?
使える色の制限はどのようなものなのでしょうか?
セルの書式設定>パターンタブで選択できる色だけじゃないの?
>19

独自のパレットにすれ

Sub color_test2()
  ActiveWorkbook.Colors(54) = RGB(131, 216, 164)
  ActiveCell.Interior.ColorIndex = 54
End Sub
>>21
Excel2000だと全部使えたように思いますが、
Excel 97 だとむりやり「近い色」にしてしまいますね。
RGB ではなく、ColorIndex を使ってみてはいかが?

http://hp.vector.co.jp/authors/VA006682/vbaref/vbaref4.htm
25名無しさん@そうだ選挙にいこう:04/05/29 18:05

1日から31日までの日計表を作成して、表が横長になるのがイヤで、
A4でおさまるように3つの同じ表を日付を区切って作成したのですが、
その3つの合計(1日から31日の合計)を出したいのですが、
一つ一つの表の合計は簡単に出るのですが、3つの表の合計ってできる
ものですかね?

表を横長にすれば、簡単にオートサムで合計は出るのですが。。。




26名無しさん@そうだ選挙にいこう:04/05/29 18:11
>>25
串刺し計算を使う に1票

詳しくはググッテくださいね。
>>25
SUM関数のカッコの中身(引数)を変えるだけ。
A1とD1とG1に合計したい値が入っているなら、
=SUM(A1,D1,G1)
28名無しさん@そうだ選挙にいこう:04/05/29 18:18
>>26-27
おお、さっそくどうも
いっちょやってみます。andググって来ます
2926:04/05/29 18:20
ありゃ早とちり 別シートだと串刺しね

シート1枚に3つの表があるのね(汗  だったらSUMまたはSUBTOTALでいいんじゃないの。

30名無しさん@そうだ選挙にいこう:04/05/29 18:31
以前、いろんなマクロ詰め合わせのpersonal.xlsを
配布しているサイトが貼られていたように記憶していますが、
見つからず困っています。
ご存知の方おられましたら、教えてください。
おながいします。
>>30
とりあえずベクターでもみてみたら(次の50本をお忘れ無く)
http://www.vector.co.jp/vpack/filearea/win/business/calc/spread/excel/index.html
説明すらも満足に出来ないのですが、質問があります。

展開したテキストボックスがあります。
そして、何処か別のセルに適当に文字を入力します。
すると、そのセルに入力した文字が展開してあるテキストボックスの大きさに圧縮されて、
文字が出力される、という機能が使えません。

こういう機能があるのは確からしいのですが。
この説明で理解できた方、どなたか教えて頂けませんか?
>>32
書式、セル、配置、文字の制御、縮小して全体を表示する。
>>32
テキストボックスってのはコントロールのTextboxかよ。
ようわからんなー。
35名無しさん@そうだ選挙にいこう:04/05/30 00:30
>>32
1)テキストボックスノ中をクリック
2)その状態で、数式バー(メニューの下にあるやつね)に
 =B3 などと数式を入れる。
3)すると、B3に入力した文字列が、テキストボックスに表示される

つうこと?
>>32
それでした。
テキストボックスに罫線入れたかったのですが、それが成らなかったので、
このやり方を使おうと思ったのですが思い出せませんで…。

もうちょっと説明能力をつけてきます。
考えてくださった方、有難うございました。
37名無しさん@そうだ選挙にいこう:04/05/30 01:09
>>36
どれよ?
38名無しさん@そうだ選挙にいこう:04/05/30 07:22
私の上司がPC-9801シリーズのエクセル97で
スクロールロックキーを押した状態と同じになって困ると云って私に相談して来ます。
PC−9801キーボードスクロールロックキーに当たるキーは何か教えてください。
109キーボードとPC−98キーボードの対応表が見つけられません。
106キーボードとの対応表は手元にあるのですが、
スクロールロックキーは109キーボードにしかないので。。。。
BOOKのどこかに秘密の表を残しておきたい場合
おすすめの方法はなんでしょうか?
コメントでなく表の場合です。
一番はじ、とか、セルを表示させない、は定番でしょうが忘れるので。
それに相手も気づくでしょうし。
Sheet自体を隠す方法はなかったですヨネ。
40ゴッホ:04/05/30 08:11
>>39

書式→シート→表示しない

で、シートは隠れます。
相手が多少エクセルの知識があれば、
再表示されてしまうかもしれませんが。

心配なら、その表のある、行なり列なりを非表示にして、
パスワード付きで保護でもしておけばいいと思います。
41名無しさん@そうだ選挙にいこう:04/05/30 08:24
すみません。ハゲシク外出かもしれませんが・・・
負の値を無視して、正の値のみ算入(認める)関数ってありませんでしょうか
お教えください
42ゴッホ:04/05/30 08:36
>>38

Ctrl と =

ではどうなりますか?

>>40

そういう関数は知らないけど、

=SUMIF(A1:A5,">0")

みたいな感じでやるのはどうですか?

上の式はA1からA5の範囲で計算。
43名無しさん@そうだ選挙にいこう:04/05/30 08:37
44ゴッホ:04/05/30 08:37
>>41でした。
45名無しさん@そうだ選挙にいこう:04/05/30 08:49
>>42,44
早速のご回答、ありがとうございます。
ただ、私が説明不足のようで、詳しく事例を挙げさせていただきます。
A1とB1に日付を入力し、C1で=A1−B1として表示させます
D1に任意の値を入力し、E1で=C1*D1を表示させます
そこで、C1が負の値の場合、E1を0とさせ、C1が正の値の場合
E1に任意の数値を表させたかったのです。
すみませんがご指導よろしくお願いいたします。
46名無しさん@そうだ選挙にいこう:04/05/30 08:53
>>38
http://www.pfu.fujitsu.com/hhkeyboard/kb_collection/
これみるとScroll Lockキーそのものはないみたい。
vf キー辺りか?
47名無しさん@そうだ選挙にいこう:04/05/30 09:02
>>45
=IF(C1>0,C1*D1,0)
48ゴッホ:04/05/30 09:03
>>45

つまり、C1が負のとき、E1が0
C1が正のとき、E1がC1*D1
ということですか?

ならば、E1のセルに

=IF(C1<0,0,C1*D1)
4941:04/05/30 09:05
>>47
ご親切にありがとうございました!

5041:04/05/30 09:06
>>48
ありがとうございます!!
5139:04/05/30 09:07
>>BOOKのどこかに秘密の表を残しておきたい場合
おお、その手が!目からうろこ、
ゴッホさんありがとうございます。
シートの保護はマクロで破られるのでは?
それを言ったら何をやっても・・
54ゴッホ:04/05/30 09:47
パスワードをプログラムに組み込まなくてはいけないと思うのですが。

いずれにしろ、質問者はそこまで厳密なことを求めているわけではないのでは?
55名無しさん@そうだ選挙にいこう:04/05/30 09:59
つうか、見せたくないシートは別のブックに移動させて保存、閉じる。
外部リンク状態にしてからリンクを解除すればよろし。
外部リンク部分が数式ではなく定数になる。
56名無しさん@そうだ選挙にいこう:04/05/30 10:07
因みに隠したい数式が簡単に範囲設定できるなら、
「コピー」してからそのまま選択範囲を変えないで
「形式を選択して貼り付け」を選んで貼り付けオプションの
「値」をチェックして「OK」にする。

これを任意の範囲でできるようにマクロ登録しておけば、
使えるよ。
57ゴッホ:04/05/30 10:17
>>55

そのシートを別シートから参照してる場合は?

というか、単にシートが見えなくなればいいんではないですかね。
数式を使ってるかどうかもわからんし。

>>56

それだと、数式にしろ、値にしろ、見えてしまいますね。
数式を隠したいわけではなく、表を見えなくしたいだけみたいだし。
もうどうでもいいじゃん。
好きにやるだろ。
満足逝かなくて、また質問してきたら回答したらいい。
質問しづらい雰囲気作ってどうする。


  ↓次の質問ドゾー
59名無しさん@そうだ選挙にいこう:04/05/30 10:39
あるシートをデーターベースとして入力専用に使っています。
別のシートでそのデーターをVLOOKUP関数他を使って呼び出しています。

そこでデーターベースが日々追加されるわけですが、行方向の追加だけの場合は、LOOKUP、OFFSET、COUNTAあるいはCOUNT
を使って対処できました。
しかし、列の追加があるとき、行と列の追加があるときが解決できません。
>>59
もういっかい、自分の書いた>>59を他人が
何の質問か分かるかを確認しながら読んでみそ。
6159:04/05/30 11:12
>>60
りよーーかい  

VLOOKUP関数輪を使って表引きしていますが、この表の大きさが変わるときにはどうしたらいいでしょうか?
ということです。
表の行方向の増加はわかったので、列方向の増加、行と列の増加の時はどういった関数を使ったらいいでしょうか。
62ゴッホ:04/05/30 11:26
>>61

VLOOKUPで、列方向にデータを増やすことに
何の意味があるのか、よくわからないですが、
こういうことでしょうか。

列が右に増えて、検索をする列が右にずれていってしまうという意味なら、
VLOOKUPの引数の列番号を変更する。

横方向に検索したいという意味なら、HLOOKUP。

具体例を教えてもらえると回答しやすいのですが。
63名無しさん@そうだ選挙にいこう:04/05/30 12:12
例えば価格表だと

品名コード 品名 色 単価

とかで、色々な商品の価格を追加する場合は行を増やしていくことに
なる。これで列を増やすということは、たとえば仕入先を入れたくなった
ときなどだが、データベース構造の変更だから、本来滅多にないはず
なんだが、そのときは式自体を手で修正していくのが吉。

データ追加をしても式の変更がいらなくなるようにしたいんだろうけど、
複雑になって収拾がつかなくなりそうなのだが、まずは具体的に
どういうデータなのかってことだな。
64名無しさん@そうだ選挙にいこう:04/05/30 12:18
VBAのonkeyで、値貼り付けを簡略化しようとゴニョゴニョやってんですが、
うまくいかないので、助けて下さい。

やりたい事は、複数セルを範囲指定→コピーして、別のサイズ違いの範囲に
ペーストした場合に、範囲内に繰り返し貼り付けられるようにしたい
のですが、範囲からはみ出てしまったりしてうまくいきません。

例)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
(1)
  A  B  C
1  あ  い          ←ここで「A1:B1」を範囲指定してコピー
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
(2)
  A  B  C
1  あ  い
2
3
4  あ  い  あ       ←「A4:C6」を範囲指定してペーストした場合、
5  あ  い  あ         この様に、C列より右は、またA列の値(つまり「あ」)
6  あ  い  あ         が繰り返しペーストされる。下方向にはそのままの
                  値が繰り返されます。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

つまり普通に、「編集→形式を指定して貼り付け→値」と同じ動作にしたいのですが、
Selection.PasteSpecial Paste:=xlValues
とやると、エラーが出るのをなんとかしたい訳です。

よろしくおながいします。
6561:04/05/30 12:31
>>62>>63

レス サンクス!!

63のいうようなかんじです。 HLOOKUPつーーのがヒントになりました。ひとつのシートにごちゃごちゃ入れ込むのでなくて
複数シートで取り込むことにします。

データベースの構造が変わるときはそれにあわせて別シートで一からやったほうがいいようですね。

ども ありがとうございました。
66ゴッホ:04/05/30 12:34
>>64

C列より右云々はよくわからないのだが、

>Selection.PasteSpecial Paste:=xlValues
>とやると、エラーが出るのをなんとかしたい訳です。

これは、マクロをマウスから選択するとうまくいきません。
オプションでショートカットキーを当てるなりすればうまくいくと思います。
onkeyでも大丈夫です。

>>65

がんばってください。
67ゴッホ:04/05/30 12:37
>>64

補足。
ALT F8でもダメです。
6864:04/05/30 12:50
>>66-67
回答感謝です。

ええと、ショートカットキーを割り付けてもonkeyでもエラーは出ると思います。
エラーは「コピー領域と貼り付け領域が違う為〜」です。

例えば、
 Sub PasteValue()
   Selection.PasteSpecial Paste:=xlValues
 End Sub
これにショートカットキー「P」を割り当てて、
>>64に書いた通り、「A1:B1」の内容をコピー、「A4:C6」範囲選択後、
Ctrl+Shift+pで実行しても上記のエラーが出ます。

バージョンなど関わっているとは思えませんが、Excel97です。
なぜでしょうか…?
69ゴッホ:04/05/30 13:04
>>68

それは、マクロではなく手入力で貼り付けをした場合にも
同じエラーは出るのではないですか?
そこでエラーがでるようなら、マクロでもエラーになりますが。

A4:B6に貼り付けの場合はどうですか?上手くいきますか?
7064:04/05/30 13:19
>>69
あ、手貼り付けした時もエラー出ました…。
うまく行ったように思ったのは、どうかしてたようです。すみません…。

あらためて質問させてください。

上記質問で、偶数列をコピーした状態で、奇数列範囲指定状態に
貼りつけるようなコードを組みたいのですが、どう指定したら出来ますか?

よろしくおながいします。
71ゴッホ:04/05/30 13:43
>>70

一度貼り付け先の選択の初めのセルだけ貼り付けて、
あとは、選択範囲にオートフィルをする。

というコードで出来ると思います。

あとでコード書いておくからちょっと待ってて。
72名無しさん@そうだ選挙にいこう:04/05/30 14:31
>>70
Option Explicit
Dim c
Sub Test1()
c = Selection
End Sub
Sub Test2()
Dim i As Integer, j As Integer
Dim row As Integer, col As Integer
Dim c1 As Variant
c1 = Selection
For i = 1 To UBound(c1, 1)
For j = 1 To UBound(c1, 2)
If i Mod UBound(c, 1) = 0 Then
row = UBound(c, 1)
Else
row = i Mod UBound(c, 1)
End If
If j Mod UBound(c, 2) = 0 Then
col = UBound(c, 2)
Else
col = j Mod UBound(c, 2)
End If
c1(i, j) = c(row, col)
Next
Next
Selection = c1
End Sub
73ほげら:04/05/30 14:35
>>72
=準備=
ボタン1:マクロTest1を割り当てる
ボタン2:マクロTest2を割り当てる

=操作=
1) コピー元を選択しておいてからボタン1を実行
2) 次にコピー先を選択してからボタン2を実行

元の範囲は複数行にも対応している。
適当にmsgboxで操作方法を表示させると分かりやすいかもです。
74ほげら:04/05/30 14:39
クリップボードを使わないのでインチキっぽいですが、
右クリックに割り当てるなり、メニューバーにボタンを
割り当てるなりすれば、2クリックでできます。

コピー&ペーストだって2操作だからいいんでない?
なんでcはVariantなのさー。
Rangeで良いんじゃないの?
76ゴッホ:04/05/30 15:11
>>70
やりかたはいろいろあると思いますが、俺なりに出来たのは、下のコードです。

Dim MaeC As Integer, MaeR As Integer, Hajime As Range, MaeYoko As Range, MaeTate As Range

Set Hajime = Selection.Range("a1")
MaeC = Selection.Columns.Count
MaeR = Selection.Rows.Count
Set MaeYoko = Hajime.Offset(, MaeC - 1)
Set MaeTate = Hajime.Offset(MaeR - 1, MaeC - 1)
On Error Resume Next

Hajime.PasteSpecial Paste:=xlValues
Selection.AutoFill Destination:=Range(Hajime, MaeYoko), Type:=xlFillCopy
Range(Hajime, MaeYoko).AutoFill Destination:=Range(Hajime, MaeTate), Type:=xlFillValues
77ほげら:04/05/30 15:54
>>75
cはRangeではなくて配列です。
文字の場合もあれば、数字の場合もあるのでVariantです。

Rangeだったら set しなければいけません。
78名無しさん@そうだ選挙にいこう:04/05/30 16:06
>>76
これうごく?
ことごとく PasteSpecial メソドがエラーになりますけど。
で、なにも行わずonerrorで終了、、、
79ゴッホ:04/05/30 16:19
コピーした状態で使ってますか?

あと、さきほども申しましたが、メニューのマクロは使えません。
80名無しさん@そうだ選挙にいこう:04/05/30 16:46
>>79
ショートカットにしたらできた w
81名無しさん@そうだ選挙にいこう:04/05/30 19:17
質問です。
excelの計算式が自動更新されたとき、
更新されたことと更新回数をわかるようにしたいです。
計算でエラーチェックはあるようなのですが、
戻り値とかステイタスとかいうようなものは出さないのでしょうか?

Excel97 で、かなり大きな表(200列300行くらい)を扱っています。
見出し以外のセルは全部数字で、埋まっているわけではなく8割くらいは空白です。

なにぶん表が大きくて、データをチェックしたり修正するのが大変です。
(枠は固定していますが)

データフォームみたいなのを使って、ある行(レコード)の空白でないセルを抽出し
動的なリストとして編集できないでしょうか?
83名無しさん@そうだ選挙にいこう:04/05/30 21:02
>>81
自動更新って外部リンクの自動更新ですか?
>>82
そのデーターの使い道がわからないので
どの方針でアドバイスしたらよいのやら

その表の
目的は何?
利用方法は何?
最終結果として何が知りたい?
表から一番欲しいのは何?

縮小表示して操作する
空白セルを除去して一列表示する
85名無しさん@そうだ選挙にいこう:04/05/30 21:09
>>82
更新の頻度とか、どういうデータとか具体的なデータの中身が
分からないとなんともいえないと思われ。

あるセルを選択して、マクロを実行すると、そのセルのある行
の空白セルのある列を非表示にするようにすれば、必要な
セルだけ表示させることができる。
ただ、これ非表示部分に間違ってデータを入れてしまうことが
ないとはいいきれないけど。(ドラッグコピーしちゃうとかね)
>>82
フィルタ使えばいいんじゃないの?
表全体を選択(Ctrl+G→セルの選択→最後のセルでdで、Ctrl+Shift+↑でやると早いかな)→
{Alt→D→F→F}でフィルタ張る。
んで好きな値抽出すりゃいい。
87名無しさん@そうだ選挙にいこう:04/05/30 21:12
かぶりまくってる w
てか、ランダムに空白があるのか、ある程度のグループがあって
グループAなら列A,B,O,P,AVとか決まっているのかな?
>>86
横レスだけど、{Alt→D→F→F}(・∀・)イイ!!ね
使わせてもらうyo
82です。曖昧な書き方で申し訳なし。

技術資料の一覧表なんですが、資料にはIDと題名があって300件ほど縦に並んでます。
その資料に含まれる専門分野みたいなのが200くらい横に並んで、
その資料でどのくらいその分野のことがのべられているか10点満点で記載されています。
(空白は零点とみなす)

専門分野は一応カテゴリ化されています。
更新頻度は半年にいっぺんくらいなのですが、見直しチェックをする必要があって、その際
表が大きいと大変なのです。
ひとつの資料の関連する分野は多くても30くらいなので、そこだけフォーム上にリストアップ
できたら簡単なのではないかと。

この表自体の目的は、分野を指定して関連資料を検索するのに使ってます。
90名無しさん@そうだ選挙にいこう:04/05/30 21:46
>>86
でもレコードが行になっているから、フィルタが行方向に
かけられればいいけどね。
てか、何で行方向ってできないのか?
91名無しさん@そうだ選挙にいこう:04/05/30 22:00
質問します。

ユーザーフォームを起動した際、画面の右端に表示されるようにしたいのですが?
startuppositionでは、中央や左上にしかできません。
マクロ記録でフォームを右端に移動させてみたんですが、何も記録されませんでした。
9291:04/05/30 22:06
2003、XPホーム、ペン3、バイオノートです。
>>89
フィルタで解決しそうやね。

>>90
そういう用途が出る時点で、表の作り方がマズいのかも。
行列を入れ替えて貼り付けしれ。

>>91
人によって、画面の解像度が違うから、
一概に右端というのは難しいのかもよ。
APIかなんかで画面解像度取得できるかもしれんが、分からんわ。スマン。
94名無しさん@そうだ選挙にいこう:04/05/30 22:16
>>91
Propertyの位置関係はstartuppositionしかないから無理みたいだね。
95名無しさん@そうだ選挙にいこう:04/05/30 22:24
>>93>>94
そうですか。それでは毎回手で右端に持っていってもらうことにします。
ありがとうございました。
96名無しさん@そうだ選挙にいこう:04/05/30 22:32
>>89
確かにユーザーフォームを作って、必要な項目のみリストアップ
できれば簡単そうですが、ユーザーフォームを作って30項目も
抽出するのは使い勝手が悪そうです。
必要な項目ってのは例えばなんグループかに分類できますか?

>85 の方法が手っ取り早い気がします。
あらかじめ決められた複数のグループ分けも選択できるように
しておけばだいぶ楽そうです。
97ほげら:04/05/30 22:50
>>89
Sub test4()
Dim i As Integer, j As Integer
i = Selection.row
j = 2 'B2セルから項目が記載してあるものとする
Do While Cells(1, j) <> ""
If Cells(i, j).Value = "" Then
Columns(j).EntireColumn.Hidden = True
End If
j = j + 1
Loop
End Sub
Sub test5()
Cells.EntireColumn.Hidden = False
End Sub
98名無しさん@そうだ選挙にいこう:04/05/30 23:04
>>97
データ(レコード)の項目がセルA2から右に連続して(1行目)記載
してあり、A列に題名などのIDがあるものとします。
A列にID、B列に題名があり、C列からデータが始まっているなら
test4()のj=2をj=3に変えてください。

マクロを登録したら、test4で選択したセルのある行で、空白のある
列を全て非表示にします。test5()は非表示にした列を全て
表示します。

データの有無によらず特定の列を非表示にするのは、表示列
を配列に格納するなどしてその列以外を非表示にすることで、
test4()を応用すればできます。
>>89
コンピューター的に良い方法は
データーベースとしてテーブルが以下であること。

カテゴリ、分野名、題名、点数


この項目でデーターが作られていると簡単。
データから表へはピポットテーブルで直ぐにできる
検索、絞込み、並び替え、などが容易になる。

人間の感覚として表の方が直感的にわかりやすいのはたしか
>>89
リレーショナルデータベース(アクセスとかファイルメーカなど)を使ってもよさそうな気が。
そこまで必要ないという向きもあるかもしれないが。
>>91
Private Sub UserForm_Initialize()
  Dim OLDWindowState As Integer
  
  OLDWindowState = Application.WindowState
  
  Application.ScreenUpdating = False
  Application.WindowState = xlMaximized
  Me.Left = Application.Width - Me.Width
  Application.WindowState = OLDWindowState
  Application.ScreenUpdating = True
End Sub

最初からExcelが最大化されていれば、Me.Left〜の行だけでOK
StartUpPositionは「0」で。
102名無しさん@そうだ選挙にいこう:04/05/31 00:39
Excel起動時にIMEをONにしたいのですが、
ApplicationのIME状態を切り替えるプロパティかなんかありますか?
何か方法があればご教授ください。
>>102
メニューのデータ→入力規則の日本語入力の所のIMEを変えるのじゃダメ?
104名無しさん@そうだ選挙にいこう:04/05/31 14:38
Windows2000,Excel2000です。
仕事場の要請で、IEからEXCELを操作するシステムを作っています。
フレームを使って、片側のメニュー表示からリンクを選ぶと、
もう片側のフレームに、Excelの編集画面が表示されるようになっています。
これを、CD-Rに焼いて、とある書類のテンプレート集として配布する予定です。

で、Excelで編集した物は、当然ながら保存する必要があるのですが、
IEからExcelを呼び出している形になっているので、
ファイルメニューの「名前を付けて保存」ではxlsファイルを保存できません。
この状態でxlsファイルを保存するにはどうしたらよいのでしょうか?
105名無しさん@そうだ選挙にいこう:04/05/31 17:12
ホントの初心者ですが質問です。
15.900を打ち込みたいんですが15.9になってしまいます。
15.900とは打ち込めないんでしょうか?
10661:04/05/31 17:26
107名無しさん@そうだ選挙にいこう:04/05/31 18:46
>>105
ツールバーの「小数点表示桁上げ」ボタンをクリック。

なければツールバーの▼部分をクリックして
ボタンの表示非表示→書式設定→小数点表示桁上げ
で表示されます。

>>106
書式設定 m の実際の表示がおもしろかったです。
質問です。
=IF(A3="","",VLOOKUP(A3,Sheet2!$A$2:$B$11874,2,FALSE))
としてSheet2に別のブックのデータをコピペしたものですが、
エラー(#N/A)が出てしまいます。
Sheet2,A列に数値を直接入力すれば問題なく使用できるので原因がわかりません。
Sheet2は
A列が「12345」といった数字のみの形式。(商品コード)
B列が「Excel」といった文字列です。(商品名)

どなたか原因がわかる方がいらっしゃればよろしくお願いします。
110名無しさん@そうだ選挙にいこう:04/05/31 21:59
>>109
=VLOOKUP(A3,Sheet2!$A$2:$B$11874,2,FALSE)

でもエラーが出るのか?
だったらなんか間違っている。
111109:04/05/31 22:05
>>110
出ます。
Sheet2,A列に別のブックからコピペした「1234」というコード(数字)を
1234と上書きすると正常に表示されるのです。
コピペ元のデータは他人が作ったので何か特別な事をしたのではないかと疑っているのですが、
作った本人は何もしていないと言うばかり。
もう何がなにやら・・・・
112名無しさん@そうだ選挙にいこう:04/05/31 22:37
>>111
なら、Sheet2のデータ(数字)が文字列として入力されていて、
A1は数字として入力されているのかもな。

セルの書式で調べてみそ。
113名無しさん@そうだ選挙にいこう:04/05/31 22:40
>>112
こういうときは、Excel2000ならスマートタグで文字列を数字に
変更できるが、Excel97とかだったら、適当なセルに1を入れて
コピー。Sheet2のデータを選択してから、形式を選択してコピー
を選んで掛け算にすると文字列から数字になるよ。
114名無しさん@そうだ選挙にいこう:04/05/31 22:51
質問です。
決まった数値(コード)を入力する事によって決まった文字列(商品名)を
表示させたいのですがどうすればいいのか分かりません。
既出かもしれませんが教えてください。
11561:04/05/31 22:56
>>114
LOOKUP系の関数を使ったらどうですか
これは覚えると重宝すると思います
116109:04/05/31 22:58
>>112
あっ・・・・
見事に元データが見事に文字列に・・・・・・
まさか、数字のみのコードに文字列使うとはう持っても居なかったので見事にはまってしまった。
何はともあれ、解決しました、どうもありがとうございました。

元データ制作者は明日見せしめの為、データ変換作業の刑に処します。
117114:04/05/31 23:14
>>115
ありがとうございます。
使った事が無い関数なので少し調べて勉強してみます。
118名無しさん@そうだ選挙にいこう:04/05/31 23:18
初心者なのですが、教えてください!
よろしくおねがいします。

「下記のデータからヒストグラムを作成せよ。
データ区間は0〜100迄で、10間隔とする。」
という問題でヒストグラムを作りたいのですが、
どうしたら良いですか?
下記のデータというのは、77人それぞれのテストの点数
が書かれているデータです。
ちなみに、横軸が点数で、縦軸が人数みたいです。
119名無しさん@そうだ選挙にいこう:04/05/31 23:22
>>118
ググレ

いぱーーーい出てくるぞよ  おまんはマルチじゃないっけ??
ピボットテーブル・ピボットグラフ
121名無しさん@そうだ選挙にいこう:04/05/31 23:29
>>119
いろいろググってみたものの、
よくわからないんです(>−<)
>>118
まず、ヒストグラムとは何か、知ってる?
>>118
学校の宿題をここで解決しようとしてるんじゃあるまいな?
124名無しさん@そうだ選挙にいこう:04/05/31 23:56
>>116
数式バーで入力状態にしてそのままEnterを押すと文字列が数字
になる。ところがセルの書式で数字に直してもデータは文字列の
ままというファイルがあった。データベースから取り込んだデータ
だったからと思われるが客先のデータだったから、マクロで
ひたすらCell(i,j)=Cell(i,j)を繰り返して数字に直していたよ、、、
Excell2002にしてからスマートタグで数字に変換できたけどね。

数字のデータがSUM()で計算できなかったときには、いったい何が
起こっているのかすぐには分からなかった w
125名無しさん@そうだ選挙にいこう:04/05/31 23:58
>>123
そりゃそうだろ。
どこで、あるいは誰に聞けば答えが出るかを習熟していれば
それはそれで達人になれるかも w
126名無しさん@そうだ選挙にいこう:04/06/01 00:00
>>122
ヒストグラムの形はわかるんですけど、
作り方とかは全くわからないです。
普通に表を作って、棒グラフにしたらできるのかと
思ってやってみたら、失敗でした…
127114:04/06/01 00:10
再び質問です。
残高から購入商品の金額を引いた残高を出したいのですがどうしたらようでしょう?
>>126
まず作ろうとしているものが何であるか理解しましょう。
縦軸は何か、横軸は何か、そして面積は何を表しているのか
考えましょう。
Excel がなくても、手書きで作れるようにしましょう。

>>127
残高から購入商品の金額を引く。
>>124

データ−区切り位置−次へ−次へ−OKで直る
131名無しさん@そうだ選挙にいこう:04/06/01 00:19
>>128
縦軸が人数で、横軸が点数だと思われます…
もう少し、考えてみます!!
132114:04/06/01 00:21
>>129
=A1-B1
といった感じですよね?うまくいかないのです。
>>132
A1,B1 には何が入っていますか?
=A1-B1 を書いたセルはどう表示されますか?
134114:04/06/01 00:36
>>133
正確にはE1:収入、F1〜H1:種類別の支出、I1:残高となってます。
セルがどう表示されるか確認しようとしたら今やったら正確に出ました。
すみません。ありがとうございました。
13591:04/06/01 00:52
>>101
おおっ、なんだかすごそうですね。いま自宅に帰ってきたとこなんで、
後ほど組み込んで試して見ます。それでは。
136名無しさん@そうだ選挙にいこう:04/06/01 11:09
質問です。日々の稼働のデータをマクロで蓄積させたいんですけど
具体的には入力シートに入力したデータを別シートに蓄積させて
ピボットテーブルで検証したいなと思っているんですが…
どなたかわかる方いらっしゃいましたらお願いします。
137名無しさん@そうだ選挙にいこう:04/06/01 11:28
↑ソレはACCESSの方が組み易いのでは?

勤務表の入力を楽にしたいのですが
今から入力する値を定義しておいて(準夜なら『準』とか)
セルをクリックしただけでその値が入力されるようにするには
どうすればいいのですか?
138名無しさん@そうだ選挙にいこう:04/06/01 13:52
>>137早速の御返答ありがとうございます。
ACCESSがあれば良いのはわかっているのですが
パーソナルなんでACCESSないし、部署全員分買う
余裕もないもんで…なんとかExcelで処理したいんです
無知なのにわがままいってすみません…。
139名無しさん@そうだ選挙にいこう:04/06/01 13:52
ここは?
ttp://dvd01.net
140136:04/06/01 13:53
↑136
141136:04/06/01 13:54
違った!
138=136でした
>>136
一番簡単なやり方は、ボタンスイッチを作ること。自動記録マクロを作ること。

ボタンはマウスで押すとプログラムが開始します。

自動記録マクロは、人間が操作した手順を覚えてくれます。

この場合ですと、入力シートに入力してそれを記録シートへコピーする操作を
覚えさせてから、ボタンへ関連付けます。
VBA入門用書籍を買って勉強してください。

詳細なな内容を書いておくと、誰かがプログラムを作ってくれるかもしれない
143136:04/06/01 15:51
>>142
データシートへコピーするところで自動記録だと上書きされて
しまいデータベースにならないのです…。
行の空白セルを勝手に探してくれるようにしたいのです。
VBA入門書は買ってあり、ボタンへの関連付けもできますが
上書きされない方法をお教え下さいませ。
うっぐ゛゛・・・コーー・・・うぐっっっっっっ゛
145名無しさん@そうだ選挙にいこう:04/06/01 17:12
>137
入力したい値の一覧をあいている列に作っておいて、
入力規則のリストを使うのが一般的かと。
セルを選択しただけで、ってのは無理だけど。

いっそオートコレクトに"j"→"準"を登録してしまうのもアリ。
146名無しさん@そうだ選挙にいこう:04/06/01 20:22
助けてください!
マクロをいくつか作ったのですが、
マクロを「削除」できなくなってしまいました。
削除ボタンが薄い色のままで、押せない状態なんです。
どうしたらいいのでしょうか・・

また、作ったマクロが実行できません。
セキュリティを低にしてもダメです。
署名がしていないか、セキュリティが高になってるのでダメ、みたいな
文面のエラーが出てしまいます。
電子署名とかいうのをしてみたのですが、
ネットにつなげないPCのため、電子証明書?と取得できません。
どうしたらいいのか助けてエロい人!
>>143
こんな感じでどうですか?

Sub DataInput()
  'A列のデータがある最下部のセルの1つ下を選択
  Range("A65536").End(xlUp).Offset(1, 0).Select
  
  'データを入力
  ActiveCell.Value = "1"
  ActiveCell.Offset(0, 1).Value = "2"
End Sub
>>146

>マクロを「削除」できなくなってしまいました。
どこから削除できないの?

>また、作ったマクロが実行できません。
セキュリティを中にしてもだめ?
149137:04/06/01 21:35
別セルに一覧を作って…はやってるのですが
も少しスマートにしたかったのです
j=準をオートコレクトに登録。なるほど!ソレ良いカモです
やってみます。ありがとうございました
>137
別に入力セルが必要になりますが、1=準とでも決めておいて、
if関数で判定させるというのはどうですか?
あまりスマートなやり方ではありませんが、うちの部署の勤務予定表は
そんな形式で5種類くらいの出勤予定を半自動で割り振ってます。
151名無しさん@そうだ選挙にいこう:04/06/01 22:43
WinXP, Excel2003を使っているのですが、
フォントを[PMingLiU](中国語) にした状態でひらがなを打つと
[MS P明朝]に勝手に変わってしまいます。

しかも、ごくまれに[MS P明朝]に変わらないこともあります。
[PMingLiU]フォントにはひらがなも入っているはずなのですが、
どうして勝手に明朝に変わってしまうのでしょう?
>>151
ツール → オプション →標準フォント はどうなっていますか
153151:04/06/01 23:05
>>152
[MS Pゴシック]です。
ただ、これを{PMingLiU]に変えても、同じことでした..
VBAでdialogなんとか(.show)を使ってファイルを開くタメのwindowを開いたときに、
myドキュメントではなく任意の場所が出るようにしたいのですが、
何か方法はありますでしょうか?
>>154
ChDirで任意の場所に移動後、GetOpenFileName
156名無しさん@そうだ選挙にいこう:04/06/02 00:24
>>148
セキュリティは中にしても低にしてもダメでした〜。
ツール→マクロで、作ったマクロ名前一覧が出てくる画面で、
右に「追加」とか「削除」等ボタンが出ているところの、
「削除」ボタンが押せなくなっています。
>>156
デジタル証明書は、Officeがインストールされてるフォルダの中にSELFCERT.EXEがあるので、
それを実行すれば作れるようですね。それでいいのかは知らないですけど。

マクロの削除は、Visual Basic Editorを起動して直接必要ないマクロを削除してしまえば
よいのでは?
158名無しさん@そうだ選挙にいこう:04/06/02 09:17
1と入力したら、自動的に、1人となるようにする場合は、
書式で
?"人"
とするのか、
@"人"
とするのか、
どちらをすればいいのでしょうか?
試してみるとどちらでもなるのですが、
?と@はどう違うのでしょうか?
他にもやり方あるあるよ
160名無しさん@そうだ選挙にいこう:04/06/02 10:47
0"人" もあるよ
>>151
ひらがなは入ってないと思うけど
162名無しさん@そうだ選挙にいこう:04/06/02 12:25
縦4行で1レコードとしているファイルで
ある列に"A"としか入力されていないレコード数を調べるにはどうすればいいでしょうか?
A-|
A |これで一レコード
B |ちなみにBが含まれているのでカウントしない
B-|

A |
(blank)|
(blank)|Aしか入力されていないレコードなのでカウントする
(blank)|
オートフィルターを使うと1行単位でフィルターされてしまうので無理っぽいです。
なにかいい方法ありませか?
>>161
ググルとね はいっているみたいなんだよね  おいらも ビックリイイ
>>162
ちょっと意味がわかりません。
アップローダーへ画面をアップしてください。
http://up.isp.2ch.net/upload/c=01owarai/index.cgi
>>153
数式バー内では反映されるみたいだけど
>>162
レコードの扱い方、考え方そのものがおかしいぞ。
167名無しさん@そうだ選挙にいこう:04/06/02 15:35
「データ」>「集計」で合計させると、Excel2000までは集計行が「○○ 計」、
Excel2002では「○○ 合計」となるようなんですが、「計」に戻す方法は
ありませんか?
集計後にvlookupで計算させてるんで、表示が異なると弾かれてしまいます。

ファイルを共有して2人で作業をすることになったんですが、
1人はExcel2000、もう1人は2002なんです…
良い知恵があったらお貸しください。
宜しくお願いします。
168名無しさん@そうだ選挙にいこう:04/06/02 16:24
質問その1です。(エクセル2000を使用しています)
例えばセルA2に「=SUM(A3:A5)」という数式が入力されていて、
その結果、セルA2に「100」が表示されているとします。
そこでセルA1に、値「100」をそのまま自動的にセットする関数はありますでしょうか?
セルA2をコピーした後、「形式を選択して貼り付け」して「値」をセルA1に貼り付ける
方法もありますが、それだと自動化できず作業が大変なのです。

質問その2です。
真上のセルをキーボードだけでコピー(例えばセルA1をセルB1にコピー)する場合、
「CTRL」キー+「D」キーで可能ですが、
真上の行をキーボードだけでコピー(例えば1行目を全て2行目にコピー)するのは
可能でしょうか?もし可能ならば、そのやり方も教えていただけますか?

以上、よろしくお願いいたします。
169名無しさん@そうだ選挙にいこう:04/06/02 16:57
>>168その1答
=A2 じゃいかんの?
>>168
1.右クリックでA2セルをA1セルにドラッグして「ここに値のみをコピー」

2.Ctrl+Shift+→>Ctrl+C>貼り付けたい行でCtrl+V
171ゴッホ:04/06/02 17:09
>>146
プロジェクトにロックがかかっちゃったんじゃないの? Alt + F11で、該当プロジェクトのツリーを開けるなら、そこで解放すれば?

>>151
半角カタカナになっちゃってるとかでは?

>>154
>>155のように、コードで変えてもいいけど、ツール→オプション→全般→カレントフォルダ で変えれば、普段からその場所がデフォルトの保存場所になりますよ。

>>158
?は数値、@は文字列。ただ、?はそういうふうに使うためにあるのではないので、普通は「#人」か>>160。 >>160は0でも表示される。

>>168
その1  データ自体を数式じゃなく100というデータにしたいということなら、関数の仕事ではありません。手でやるのが面倒なら、マクロしかない。  range("A1") = range("A2") これだけ。

その2  >>170のほかに、Ctrl + Shift + → > Ctrl + ↓ > Ctrl + D
>>168
その1
ツールバーを右クリック>ユーザー設定>編集のところに
「値の貼り付け」ってボタンがあるからそれをツールバーに追加して使うとか
173136:04/06/02 18:39
>>147すみませんだめでした。
やりたいのは
月 日 曜日 開店 閉店
6 1 水  100  50
上のようなシート(毎日入力する)をマクロでデータシートに
コピー&ペーストする時にデータシートにずーっと毎日のデータ
を残したいというか上の表?でいえば"月"のセルがA1とすると
A2:E2までをコピーしてデータシートに貼り付けるんですが
6月2日分をA3:E4という感じでマクロに実行させたいのです。
この場合どうしたらいいんでしょうか?
>>162 あんまり美しくないが、マクロを書いてみた。

Sub Search_A()
Dim i, c, n As Long
Dim a, b As Boolean
n = ActiveSheet.Cells.SpecialCells(xlLastCell).Row
c = 0
For i = 1 To n Step 4
a = False
b = False
If Range("A" & i) = "A" Or Range("A" & i + 1) = "A" Or _
Range("A" & i + 2) = "A" Or Range("A" & i + 3) = "A" Then
a = True
End If
If Range("A" & i) <> "A" And Range("A" & i) <> "" Then
b = True
End If
If Range("A" & i + 1) <> "A" And Range("A" & i + 1) <> "" Then
b = True
End If
If Range("A" & i + 2) <> "A" And Range("A" & i + 2) <> "" Then
b = True
End If
If Range("A" & i + 3) <> "A" And Range("A" & i + 3) <> "" Then
b = True
End If
If a = True And b = False Then
c = c + 1
End If
Next
MsgBox (c)
End Sub
175名無しさん@そうだ選挙にいこう:04/06/02 19:04
>>173
何をやりたいのかさっぱり分からん。
176168:04/06/02 19:10
>>169-172
皆様ご親切にご回答くださりありがとうございました。
数式をデータに置き換える関数はないとの事で、了解しました。
僕の場合、コピーしたい場所が一定していないためマクロも使えないので、
地道にコピー&値の貼り付けでやるようにします。
(なぜそうするのかといいますと、値を検索したいため)

それと、行の選択がCtrl + Shift + →で出来るのは知りませんでした。ありがとうございます。
今まではマウスで行を選択し、コピペしてたので、助かります。
177154:04/06/02 19:19
>>155>>171
ありがとうございます。
GetOpenなんとかで上手くいきました。
ちなみにこのGetOpenの場合、
ファイルの複数選択(,,,,maltiselectでしたっけ?)をしたときに
そのファイル数をカウントしたい場合どうすればよいのでしょうか?
>>171さん
dialogなんとかだとカレントフォルダ(ChDrive、ChDir)で選択しても
反映されないのです・・・。
(何か構文が間違ってるかも知れませんが・・・。)
178ゴッホ:04/06/02 19:45
>>173
A3:E4がなぜ2行なのかわからないのですが、単に別シートに記録していくだけなら、
これでヒントになりますか?
コピーしたいところを選択してください。次のマクロを実行すると、Sheet2に記録されていきます。

Dim Saigo As Range
Set Saigo = Sheets("Sheet2").Range("a65536").End(xlUp).Offset(1)
Selection.Copy Destination:=Saigo

>>176
選択して、次のマクロを実行すると、その場所が値になります。

Selection = Selection

>>177
ChDir "C:\"
Application.Dialogs(xlDialogOpen).Show
で、Cに変わりましたけど。

ファイル数は、「UBound(戻り値)」です

179154:04/06/02 19:55
>>178
重ね重ねありがとうございます。
今、家のPCでタメしたら上手くいきました。(なんでだろう?)
ファイル数の方も明日タメしてみます。
(「UBound(戻り値)」なぞ初めて知りました。ずっとCOUNTでタメしてました・・・。)
180名無しさん@そうだ選挙にいこう:04/06/02 20:22
いつもうっすらと浮かんで見えるセルのグリッド線を消す方法を教えてください。
181ゴッホ:04/06/02 20:23
>>179

具体的にはこんな感じね。

Kazu = Application.GetOpenFilename(MultiSelect:=True)
If IsArray(Kazu) Then
MsgBox UBound(Kazu)
End If

>>180

ツール→オプション→表示→枠線 のチェックを外す
182180:04/06/02 20:26
>181 急ぎだったもので・・・ありがdでした
82=89 です。いろいろありがとうございました。

フィルタとアクセス、両方向から考えてみます。

遅くなってすみませんでした。
184ペーサラ:04/06/03 01:18
深夜ですが、どなたかアドバイスを…

身長のデータがあるんですが、
男女別で平均を出したいんですが、データが男女混合ではいっているので、
この様な場合、どのようにして(どのような数式で?)平均値を出せば良いのでしょうか?

エクセルは判らないのに…仕事押しつけられちゃいました。
スレの方、お力をお貸しくださいませ。
185名無しさん@そうだ選挙にいこう:04/06/03 01:39
>>184

 A   B    C
1 名前  性別  身長
2 A    男   167.4
3 B    女   153.6
4 C    男   174.5
5 D    男   170.3
6 E    女   167.3

こんなケースだったら以下のような感じです。
男身長平均:=SUMIF($B$2:$B$6,"男",$C$2:$C$6)/COUNTIF($B$2:$B$6,"男")
女身長平均:=SUMIF($B$2:$B$6,"女",$C$2:$C$6)/COUNTIF($B$2:$B$6,"女")

上を参考に自分のケースにあてはめてみてください
>>184
色々あるが、A列に氏名、B列に性別、C列に身長が入っているとして、
=SUMIF(B2:B31,"Male",C2:C31)/COUNTIF(B2:B31,"Male")
 とか
{=AVERAGE(IF(B2:B31="Male",C2:C31,""))}
 とか。

こんな感じ。
187186:04/06/03 01:43
かぶった
性別を基準に並べ替えてから集計する手もあるな。
もっとも、そこまで答えに近いモノを与えられちゃ>185の方が手っ取り早いだろうけど。
こんな時間に3人もいるのかw
>>184
ピボット
191ペーサラ:04/06/03 02:05
>185>186>188>190
こんな深夜なのに…ありがとうございます。
この板って、深夜は住民少ないイメージだったけど、結構みなさん起きてるんですね。

アドバイスありがとうございます。
乗り遅れたけど
行の選択はCtrl+Spaceでもできるよ。
列の選択はShift+Space
193151:04/06/03 04:46
PMingLiUフォントで質問した者です
遅くなりましたが、回答して頂いた皆さんありがとうございました!
ちょっと無理みたいです。

十何回かに1回の割合で PMingLiUのひらがなフォントが出るので、
毎回根気よくExcelの再起動を繰り返していこうと思います。
>>162
データがA列2行目から、H,I列を作業用に使うとして
H2に =IF(A2="A",1,IF(A2="",0,-3))
I2に =IF(AND(SUM(H2:H5)>0,MOD(ROW(),4)=2),1,0)
下へデータ分コピー、I列の合計をとる。

>174
確かに美しくないw
宣言、違ってるよ。
すいません質問です。
22DN-119 の - をとって 22DN119 にすることってできますか?
196195:04/06/03 10:23
↑↑です。

できました。お騒がせ。
197136:04/06/03 10:50
>>178
ありがとうございました
なんとかなりそうです。
198初心者:04/06/03 12:38
グラフを書いた後、テキストボックスでコメントを貼付け、グループ化した図を作りました。


今までは、コピー→ペーストで何ごともなくグループ化されたグラフ+コメントをコピーできましたが、
最近エラーで落ちるようになりました。

グループ化を解除して、グラフ単独のコピー→ペーストは出来ます。


何があったのでしょうか。
ヘルプ→アプリケーションの自動修復でもしてみては?
>>199の前にPCを再起動してからもう一度試してみるとか
201初心者:04/06/03 13:36
>>199-200

早速ありがとうございます。

どちらもやってみましたが、変らず..ウイルスチェックも異常なし。もう少し症状の出方を調べてみます。
あ、全然違うな・・
204名無しさん@そうだ選挙にいこう:04/06/03 14:31
質問です
Excel2003を使っています

期日管理をしたいんですが、例えば「2004/07/30」が期日のものを、
一ヶ月前の6/30になったら知らせてくれる、というような機能は実現可能でしょうか?
知らせるというのは文字やセルの色が変わる、とかアラームでポップアップが出るとか
何でも構いません。
Outlook2003なら標準で付いていますが、今回はどうしてもExcelで作った表でやる必要が
あります。

検索しましたが無さそうです。
もしあればやり方を教えて頂けるとありがたいです。
よろしくお願い致します。
期日がセルE2:E100あたりに入力されているとして、
E2:E100に条件付き書式 [数式が] [=E2-TODAY()<30]
あとはフォントの色を変えるなりパターンを指定するなりお好きなように。
ポップアップはVBA使わないと無理。

ただし、この数式だと「5/31の1ヶ月前は5/1」ということになってしまう。
「5/31の1ヶ月前は4/30」という扱い方をするのであればEDATE関数が必要だけど、
分析ツールを組み込まないといけないし条件付き書式の中でダイレクトに使えないようなので
「1ヶ月=単に30日間(もしくは31日間)」で済ませてしまうのが楽。
EXCEL2003を使っています。
リストのランダムの並び替えってどのようにするのでしょうか。
簡単な質問ですいません。
207名無しさん:04/06/03 18:50
特定のセルを保護するにはどうすればいいのでしょうか?
>>207
ぐぐれ
209204:04/06/03 19:12
>>205

ご回答有り難う御座います。

ただ条件付き書式は分かるのですが
[数式が] [=E2-TODAY()<30]
の部分をどこで入力するのかが分かりません…
ただこれは自分で何とか頑張ってみます。

有り難う御座いました!
210204:04/06/03 19:22
出来ました!
ばっちりです。有り難う御座いました。>>205さん
211204:04/06/03 19:28
あ、ただ空白のセルも色つきになってしまってます…
>>206
=rand() って関数を使うと、0から1までのランダムな数値を出すことが出来る。
こいつを使って出鱈目な数値の入った列を作り、そこを基準に並べ替えれば良い。

それから、質問の最後の一文は要らないっす。
簡単な内容だと自分で分かっているなら、ちょっと調べりゃ自力で解決できるんでないの?
って話になるわな。
213206:04/06/03 19:54
>>212
返答ありがとうございます。
何とかランダムに並び替えができました。
頭の使いようなのですね(^^;
>>211
条件1に、セルの値が 次に等しい ="" として書式を「色なし」に設定。
条件2に、>>205 を指定する。
質問なんですが、セルの値に全角文字が含まれている場合にTrueなりFalseを返す方法ってありますか?

例 T00あ00 False
  T001R33 True

また、列の内容が重複している場合にTrueなりFalseを返す方法ってありますか?

列A
あ   True
い   True 
う    True
あ   False
お   True

よろしくお願いします


216215:04/06/03 22:18
下の場合は、
IF(COUNTIF(A$1:A1,A1)>1,,)
でいいですな、あとはコピペ

217名無しさん@そうだ選挙にいこう:04/06/03 22:19
>>215
全角:VBAで文字コードを調べる
重複:Findを上下に分けてつかう
218名無しさん@そうだ選挙にいこう:04/06/03 22:20
おお、countifの方がええな w
>215の上
論理式として LEN(A1)=LENB(A1) を設定すれば例のとおりになる
>>216
全角チェック
=LENB(A1)*2=LENB(JIS(A1))
221215:04/06/03 22:28
できた

=LEN(A1)=LENB(A1)

でOKでした
>>219の方がシンプルでいいな。難しく考えすぎた・・・
レス番も間違えちまった・・・_| ̄|○
223215:04/06/03 22:29
>>217-220

おお、すまんです
ありがとうさんです
224215:04/06/03 22:33
ついでに、入力規制のテキストボックスの大きさや書式って変えられますか?
でかくてうざいんですが
225名無しさん@そうだ選挙にいこう:04/06/03 22:33
>>215
完全ではないが、
=EXACT(ASC(PHONETIC(A1)),A1)

大概のものは判定できる w

226名無しさん@そうだ選挙にいこう:04/06/03 23:22
VBAを使わずに全角ひらがなを半角カナに変換する方法が
あったら教えて下さい。
227名無しさん@そうだ選挙にいこう:04/06/03 23:37
>>226
=ASC(PHONETIC(B1))
228名無しさん@そうだ選挙にいこう:04/06/04 00:20
質問です。
行が10000行以上ある書類(枚数にすると250枚くらい)に一手間加えて、
さらに見やすく作り変えたいのですが、コピーペーストや行の挿入などを一つづつするのでは無謀なので、
一つの作業をする度に10000行を一気に変換できる機能はあるのでしょうか?

説明がわかりづらくてスマソ。。
というかわかるでしょうか?
よろしくお願いしまつ。
>>228
変換する、とはどういう事を指すのかが不明。
>>228
コピーペースト、行の挿入を「仮に」手作業でする場合、どのような
規則で行うのですか?

1) 必ず25行ごとに行う
2) あるデータ(特定の見出しなど)が出てきたら行う

などなど、どうなっていますか。
>>227
ありがとう!読み仮名かー。

>>228
横方向を見やすくするだけなら、見出し行即下で画面固定、
偶数行全体に色つけるだけで、しましまになって見やすいよ。
>>228
具体的に書いてください。 そうすれば 具体的に回答します。
233288:04/06/04 00:59
>>229言葉足らずですみません。
変換すると言うのは、行の挿入をするとしたら、
一回の作業で10000行の入れたい所に行が入る、という意味でした。
全然変換じゃなかったですね。。。

>>230今やろうとしている事は、
1.1行おきに行を挿入
2.1行おきに下線を引く
3.行の挿入で新しくできた行にコピーペースト。元の列は削除。
4.50行ごと(ページの頭)に見出しをコピーペースト。
こんな感じでしょうか。
説明が下手で申し訳ないです。
234228:04/06/04 01:11
>>233自レス。228です。スマソ
他にもレスくださった方どうもです。
試してみます。
とりあえず手順4はページ設定→シート→行のタイトルでできる。
手順1〜3、特に3の意味が未だにわからないが、
データベースには迂闊に行の挿入などをしないほうがいい。
>231の言うように、1行おきに書式設定するだけにとどめるべき。
2行目に何らかの書式を設定→2行目と3行目を行単位で選択→コピー
→4行目を行単位で選択→Ctrl+Shft+↓キー押す→形式を選択して貼り付け→書式
初歩的質問で申し訳ないんですが、
A1 100
A2 200
A3 300
と打って後に、
A4 400
A5 500
A6 600
と等差数列を作るための関数は何になるのでしょうか?
ヘルプなどを見ても良く分からないんです。
お願いします。

「excel 等差数列」でぐぐればすぐに見つかるんだが・・・
ヘルプだけでなくネット上も調べた?
がーん>237のヤツをそのまま調べたら、出てきました。
ぜんぜん見当ハズレの方向で調べてたみたい・・・。
板汚しすいません。

>237
わざわざこんな事を教えて頂いて、ありがとうございます。
239名無しさん@そうだ選挙にいこう:04/06/04 10:32
誰か教えてくれ。
TextBoxの規定プロパティってValueか?
Textだと思ってたが、オブジェクトブラウザでみるとどうもValueらしい。
間違いない?
240228:04/06/04 10:34
>>235ありがとうございます。手順4やってみます。
行の挿入はしない方がいいとのことですが、その作業は一気にできないからでしょうか?
例えばこういう行を↓↓↓
_______________________
   ぬるぽ    山崎   ムスカ  あげ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
一行増やして、
_______________________
   山崎
   ぬるぽ   ムスカ   あげ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
こういう感じにしたいのです。これが手順3の意味です。
山崎の列がぬるぽの上にコピーペーストされるので、
移動後は山崎の列を削除という意味でした。。
わかりづらくてすみません。
この作業を10000行一気にするのは無理でしょうか?
なにか良い案があればお願いします。

>>240
それで出来上がったものは
どこでどのように使うものですか?
たんに印刷用ですか?
242228:04/06/04 11:00
>>241
社内で資料として活用するので見易さ第一なんです。
なんとかできないものか・・・・・ウーン。。。
243すみますん:04/06/04 13:23
セルに 5/15 と入れると 5月15日 となってしまいます。

右クリックでセル書式設定をいじってみたのですが直りません…

どうしたらいいのでしょうか??
244名無しさん@そうだ選挙にいこう:04/06/04 13:24
すみません!>>2 でした
消耗品の何がなくなったのか?何を補充したらいいのか分かる表作りたいんだけど?どうすれば作れますかね?
・・・
>>243
セルの書式設定で「文字列」に指定してもう一度打ち直すとか
「'5/15」みたいに頭に「'」を付けるとか

>>245
指定個数以下になったら条件付き書式でセルに色が付くようにすればいいんじゃ?
>>243
セルの書式設定→日付  の中からすきなの絵ランでちょ
>>245
消耗品費の品名、入庫個数、出庫個数、在庫個数 という感じでただひたすら入力して、
オートフィルタかけてみたらどうですか
251名無しさん@そうだ選挙にいこう:04/06/04 16:11
再びすみません。

|A|B|C|D|E | F | G |

という縦のセルがあって、横の項目が増えると

|B|C|D|E | F | G | H| となってしまいます

Aに項目が書いてあるので確認するためにスクロールなくてはなりません

そこで、Aは常に見えている状態にしたいのです。


|A|C|D|E | F | G | H|

どこの設定でできるのでしょうか??
252名無しさん@そうだ選挙にいこう:04/06/04 16:26
>>251
ツールバー→ウインドー→ウインドー枠のこってい♪
>>251
Bセルを指定して「ウィンドー枠の固定」でつ
254ゴッホ:04/06/04 17:07
>>239
じゃValueなんじゃない?
TextBoxのValueとTextって何が違うの?


質問です。

その1
オートシェイプとか図形を選択した、もしくはクリックした、というイベントってないですかね?
多分ないだろうけど、代わりの手かなんか、なかろうか?

その2
現在選択してるオブジェクトが、セルなのか図形なのか判別する方法ってあるでしょうか?

その3
テキストボックス(図形)が入力待ち状態のときって、マクロが発動しないけど、
マクロを発動させる、入力状態を解除する、テキストボックスの中をクリックしても入力状態にならない、
などの方法はありますか?

よろしくお願いします。
>>247
抽象的ですいません。出庫個数で数字入れると在庫数がなくなるようにしたいんです。

>>248
そこまで必要ないです

>>250
今入力終わりましたが、出入で数字いれても在校数が変わらないです。
>>255
各列にどのようなデータ・数式を入れたのか、具体的に挙げてみてください。
257ゴッホ:04/06/04 17:29
>>255

単純に、全入個数から全出庫数を引き算すれば、
在庫数が出るのでは?
さらに、>>247のように、ある数字より低くなったら、
色変えるなり、工夫すれば、わかりやすくなる。

>出庫個数で数字入れると在庫数がなくなる

よく意味がわからない。
>>255
おいおい

在庫数=入庫数-出庫数 じゃぞい
質問です。

例えばA列に商品名を入力すると
B列に価格を自動で挿入するようなことは出来ますでしょうか?

IFでやってみたりしているのですがうまくいきません。
何かよい方法がありましたらご教授ください
261ゴッホ:04/06/04 20:50
>>259

VLOOKUPがいいと思います。

商品のデータの内、一番上のセルの、右のB列のセルに、

=(Aの一番上のデータ, 商品と価格のリスト範囲, リストの中で価格は何列目か, false)

と書いて、そのセルの右下隅でダブルクリック。
>>254
TextはString型
ValueはVariant型
263259:04/06/04 21:12
>>260,261

早速の返信ありがとうございます。

早速試してみたいと思います。
本当にありがとうございました。
264ゴッホ:04/06/04 21:15
>>262

そういうことじゃなくて、
Textboxで、TextだろうがValueだろうが、扱うのに何か違いがあるのか?
ってことです。

>>263

がんばってください。
>>240
1)Sheet1に下の様に入力されているとして、
   A     B     C     D
1 見出し1 見出し2 見出し3 見出し4
2 ぬるぽ1 山崎1  ムスカ1 あげ1
3 ぬるぽ2 山崎2  ムスカ2 あげ2
4 ぬるぽ3 山崎3  ムスカ3 あげ3
5 ぬるぽ4 山崎4  ムスカ4 あげ4

2)Sheet2のセルに、下のような式を書く

[A2セル] =INDIRECT(ADDRESS((ROW()+2)/2,2,,,"Sheet1"))
[A3セル] =INDIRECT(ADDRESS((ROW()+1)/2,1,,,"Sheet1"))
[B3セル] =INDIRECT(ADDRESS((ROW()+1)/2,3,,,"Sheet1"))
[C3セル] =INDIRECT(ADDRESS((ROW()+1)/2,4,,,"Sheet1"))

3)下のような並びで表示されるので、A2:C3を選んで罫線を引く
_______________________
   山崎1
   ぬるぽ1   ムスカ1   あげ1
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
4)A2:C3をコピーして、必要な分だけ下に貼り付け
5)見出し行をコピーして終わり
266154:04/06/04 22:40
>>181
遅くなりましたがありがとうございました。
UBound出来ました。

ちなみにカレントで反映されない件、
>Application.Dialogs(xlDialogOpen).Show
ではなく
with Application.〜(msoFileOpen)?を使うやり方でした。(すみません、
会社でHELPみながらやっていたので、わすれてしまいました。)
これだとFilter.Addとかでファイルを指定し「開くBOX」を出したあとでも
あとでフィルタを変えることができるので便利かと思ったのです。
>>254

その1)図形を右クリック→マクロの登録


その2)ヘルプより

次の使用例は、選択しているオブジェクト型を表示します。

Worksheets("Sheet1").Activate
MsgBox "選択されているオブジェクト型は" & TypeName(Selection)


その3)はその1の応用でなんとかなりそうな・・・(試してない)
>>264
VBAしか知らない人は気にしなくていいよ。
269228=240:04/06/05 02:41
>>265すごい・・・こんな技があったとは・・・感動です!
地道にコツコツやるしかないか・・・と諦めかけてました。
しかもすごくわかりやすい!大感謝です!!
とにかくやってみます。ありがとうございます!

ちなみに手順4やりました。
あんな便利な機能があったなんて勉強不足でした。
教えてくださった方ありがとうございました!




>269 こういう手もある

Sheet2に↓を入力して下へオートフィル
_______________________
   '=Sheet1!B2
   '=Sheet1!A2    '=Sheet1!C2    '=Sheet1!D2
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
1列づつ、データ=>区切り位置=>完了

または上の「'=」を除いて入力しておいて
「Sh」を「=Sh」に置換
271ゴッホ:04/06/05 14:06
>>266

FileDialogsだと確かにChDirはダメみたいですね。
ただ、一番最初に開くパスは、カレントなので、ツールのオプションで設定しておけばいいと思うのですが。
ちなみに、FileDialogsの戻り値はファイル名ではないので、FileDialogsを使いたい場合は、
次のコードでやってください。(Filters.Addのところは好きなように)

With Application.FileDialog(msoFileDialogOpen)
Kazu = .Show
.Filters.Add "エクセル(*.xls)", "*.xls", 1
If Kazu = -1 Then
MsgBox .SelectedItems.Count
End If
End With

>>267

その1 図形を選択したいのではなくて、ユーザーが図形を選択したというイベントが知りたいのです。

その2 まさにこれが知りたかったのです。ありがとう!感謝!!

>>268

TextとValueって片方だけ設定することもできないし、変数に入れれば勝手にキャストされるし、
同じものと扱ってどんな問題があるんですかね。
VBだと気にしなくてはいけないということですか?
だったら具体例の一つでも挙げてくれればいいと思うのですが。
272ゴッホ:04/06/05 14:17
>>267

その1 
図形にマクロの登録という意味でしたね。すいません、早合点。
図形にマクロの登録がしたいわけではないんです。
どのファイルの図形でも、「図形をクリックした」のイベントが知りたかったのです。
初歩的な質問なんですけど、
12桁以上の整数を打ち込むと、
自動的に省略表示されるのって、セルの書式設定でなんとかならんもんですかい?
>>273
ユーザー定義書式で、0 か # 。
これでどうでつか? 2003ではうまくいきました。
>>272
図形をクリックするたびに登録したマクロが実行されるはずですが。
10000件のデーターに関数を入れるとエラーになりませんか?
メモリーが少ないって、ああそうですかすみません。
277ゴッホ:04/06/05 15:33
>>272

図形自体が最初からあるものではなく、ユーザーが作るもので、
それを選択すると、その図形の中のテキストを取得するということをしたいのです。
マクロを登録したくても、現段階で図形が存在しないのです。
マクロは、そのファイルのプロジェクトではなく、アドインファイルです。
278名無しさん@そうだ選挙にいこう:04/06/05 15:44
エクセルで作成したシートをハイライトして
Shift+編集で「図のコピー」を選択、外観は
画面に合わせるにしてピクチャーを選択して、
ワードの形式を選択して貼り付け、として図を
選択して張り付けると元のエクセルでハイライトしたシートの
半分位しかコピーされません。

ピクチャーじゃなくてビットマップにすると全部貼り付けられますが
ビットマップだとなんかぼけてるので、どなたか、ピクチャーで
元のエクセルのシート全部貼り付ける方法を教えて下さい!
ビットマップがぼけてしまうのは、サイズが大きすぎてWordの文書に入りきらないのが原因です。
ぼけたビットマップをダブルクリックして、「サイズ」タブでリセットしてみてください。
280279@ちょっと追記:04/06/05 16:59
「図」にこだわらなければ、Excelで普通にコピーして
Wordにワークシートオブジェクトとして貼り付けるほうがいいかもです。
>>277
図形をクリックできる状態にするためにはセルをクリックしなければ
ならないようなので、SelectionChangeで図形にマクロを登録する
っていうのはどうでしょう。
ただ、アドインファイルを使ったことがないので、これが設定出来るかは
分かりませんけど。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Call AddOnAction
End Sub

Sub AddOnAction()
  Dim i As Integer
  
  If ActiveSheet.DrawingObjects.Count = 0 Then Exit Sub
  For i = 1 To ActiveSheet.DrawingObjects.Count
    ActiveSheet.DrawingObjects(i).OnAction = "DrawingObject_Click"
  Next
End Sub

Sub DrawingObject_Click()
  Dim obj As Object
  Set obj = ActiveSheet.DrawingObjects(Application.Caller)
  MsgBox "クリックされた図形は " & obj.Name & " です。"
End Sub
282ゴッホ:04/06/05 18:13
>>281

コードを書いてくれてありがとうございます。
アドインなので、全てのエクセルファイルについて、そのマクロが
動いてしまうと困るので、このままでは使えませんが、
ちょっと変更すれば、うまくいきそうです。

大いに参考になりました。ありがとう!!

マクロのソースを見るにはどうしたらよいですか?
他人の作ったフリーのやつなんですが、
VBEの編集ボタンがロックされています。
作った人には連絡が取れません。っていうか死にました。
284名無しさん@そうだ選挙にいこう:04/06/05 20:13
  A   B
1 コード
2  1
3
4
5
6

−−−−−−−−キリトリ−8<−−−−−−−−−−−−−−−−

↑こんな状況で、A2からA6まで範囲選択して、ctrl+Dで
範囲の先頭セルの値を下方向にコピーするのって、よく使いますが、
同じような範囲選択状態から、一番上のセルから下方向に
「連番を振る」機能って無いのでしょうか。
あると便利だと思うんですが?
>>283
違法行為のニオイ。
>283
まずは著作権までフリーなのかどうか確認を。

>284
このスレの過去ログを読みましょう。
287284:04/06/05 20:28
>>286
書き逃しましたが、フィルを使うというのは別の話ですが、
それでも、このスレにあります?(見つけられない…)
>>283
コーディングテクニック上達ツール(パスワード解除ツール)が色々あるだろ?
ググってみな。
>>284
用途によっては使い物にならないけど
A2を=ROW()-1 にするとか
>>288
どういう意味だ?
糞ソースを見たって上達しねーぞ?
>287
普通に連番のオートフィルでいいんじゃないの?
それかA3に =A2+1 を入れて下にフィルとか、
一歩踏み込んで =IF(B3="","",A2+1) とか。
292284:04/06/05 23:11
レスどうもありがとうございます。
基本の機能で出来ない事が分かりましたので、
適当にエラー回避入れつつ下のようにVBA組む事にしますね。
ありがとうございました。

1.選択範囲の上から2番目に「=(選択範囲最上部アドレス)+1」
2.2番目から下方向にコピー
3.コピー→値で貼り付け
293名無しさん@そうだ選挙にいこう:04/06/05 23:48
+1でいいのならCtrl+オートフィルで大丈夫ですよ。
縦に10 11と入力して、その2つ選択してオートフィルでもできますし。
VBAまで使わずとも、基本の機能だけで十分です。
なんだか難しく考えすぎてませんか?
>>287にフィル使わないでっていうようなこと書いてあるし
295284:04/06/06 00:04
なんだか、ありがとうございます。

えと、「どうしてフィル使わないで」かと言うと、
行数が多くてスクロールを要する場合に、マウスを使ってフィルを行うと、
スクロール速度が速い為、さじ加減の失敗で行きすぎたりと、
ビクビクするのが、マンドクサいからです。

>>284の例に当てはめると、B列に何かしらデータが入るわけで、
そっち先に入れてから、あ、連番振っておくといいな、と思った時に、
B列上でctrl+↓、A列に戻ってctrl+Shift+↑で選択、で、連番振る、てな形です。

最初から書かずに、煩わせてすみません。
296293:04/06/06 00:09
別の話っていうのは、どうしてもフィルじゃいけない理由でもあるんですかね?
どういう理由か正直さっぱりわかりませんが、VBAでがんばってください>>284
297293:04/06/06 00:12
ぐわっ(w
リロードしろよ俺。

そういうことなら編集→フィル→連続データの作成→そのままOKでどうですか?
面倒ならマクロに記録するのもいいと思います。
>>295
つうか、マウスでずずっと画面をスクロールさせると、行き過ぎて
しまうことが良くあるが、選択範囲の先頭をクリックして、
次にマウスでスクロールバーを使って画面をスクロールさせて
選択範囲の最後をShiftしながらクリックすればいいだけではないの?

慣れれば別にめんどくさくないけど。
299284:04/06/06 00:14
>>297
わ、こんなのあったんですね。
最初から書けば良かった…。
ショートカットキー割り当てますた。
長々とありがとうございました!
300284:04/06/06 00:15
>>298
うわ、自分もリロードすりゃよかった…
範囲選択ではなく、フィルの話です。
301293:04/06/06 00:15
細切れですみません。
すでにB列にデータが入っているのであれば、
B列でCtrl+↓、←でA列に戻ってCtrl+↑、さらにShift+↑、Ctrl+フィルのダブルクリックでもいけます。
これはこれで面倒ですが(w
>>284
ん、ん、ん?

A2からA6に連番を振るなら、名前ボックス(数式バーの左)でA2:A6として、1をCtrl + Enterで入力、
A2を選択して、右下隅のフィルハンドルをダブルクリックするだけだよ。

B列にすでに入力されているのであれば、A2に1を入力して、同様にA2の右下のフィルハンドルを
ダブルクリックだが?
横レスだけど、
>B列にすでに入力されているのであれば、A2に1を入力して、
>同様にA2の右下のフィルハンドルを ダブルクリックだが?
これすると、ただ下方向に1がずらーっとコピーされるだけなのは俺だけ?
「楽したい」という要求に対して
教えたがりの先生たちが今日も頑張っています。
305302:04/06/06 07:33
>>303
おろ?
漏れは試さないで書くほど上級者じゃないので実際試してから書いたんだが、
今朝再度試してみたらたしかに1がズラーっと並ぶな。昨夜のは何だったんだ????
連番になる設定でもあるのか?

どうも連番にならないみたいだから、さらにA3に2を入力し、A2:A3を選択して右下をダブルクリックだな。



知らない誰かが知っている
308302:04/06/06 08:27
>>307
そんな不便な方法じゃなくて、あくまでもA2のフィルハンドルをダブルクリックで昨夜は連番になったのだが。
こうなる設定があるかどうか聞いてるわけでして。
あーーーあ


いつものオチだ
分盲の>>307にワロタ
漢字も書けない>>310にもっとワロタ
シート名が「1」「2」・・・と数字になっています。
これは週を表すもので,要は1〜52までになります。

1.この「数字であるシート名」を,あるセルに「そのまま数字」として表示する方法はありますか?
2.週計の累計を表示するために,現在は
 シート名「2」のセルに「='1'!a1+a1」
 シート名「3」のセルに「='2'!a1+a1」
 というふうに,参照するシート名を直接記述しています。そのため,全シートの該当部分を
 すべて修正しなければなりません。
 この「「='1'」の部分に,
 (1) 直接,シート名を参照する
 (2) または,1.で表示された「あるセルの数字」を参照する
方法はありますか?
312です。1.は解決できました。

 ・作業セル「a1」に「=CELL("FileName")」と記述
 ・シート名を表示したいセルに「「=RIGHT(A1,LEN(A1)-FIND("]",A1))」

でo.k.でした。
>>313
やっぱりだめだ…_| ̄|○
シートを移動するごとに,いちいち再計算しないと,「=CELL("FileName")」が変化しない。
再計算をし忘れると,再計算を実行したシートのシート名がすべてのシートの該当部分に
入ってる…
よくわかんないけど(↓参照するある数字が書いてあるセルをB1とした例)
=INDIRECT(B1& "!A1")+INDIRECT(B1& "!A1")
これだったら,1.は直接記述して,2.ができた方がよっぼどいいな・・・
>>315
試してくる!
>>315
2.の解決方法を教えてもらっていると思うのですが,
=INDIRECT(B1-1& "!A1")+INDIRECT(B1& "!A1")
とすることで,先頭行のセルは良いのですが,
 "!A1"
の部分も下方向へコピーしたときに "!A2" "!A3" と変化して欲しいのです…
>>314
「=CELL("FileName",A1)」にすれば大丈夫です。
>>319
おおぉぉ! 1.が解決しました!
ありがとうございました。
>>319
今いるシートがどこなのかを,a1を指定することで指定したわけですね。
こうやって具体例を聞かないと,ヘルプとかだけでは理解できない俺って…_| ̄|○
>>312
> シート名「2」のセルに「='1'!a1+a1」
> シート名「3」のセルに「='2'!a1+a1」

シート名「3」にはシート名「1」のa1は含まれてないようですが、
足すのは前の週の分だけでいいんですか?
>>322
書き方がわかりにくくてすみません

全シートに「今週の合計」と「前週までの累計」の欄が必要で,
まとめシートに「串刺し」ではまずいもので・・・

> シート名「2」のセルに「='1'!a1+a1」
> シート名「3」のセルに「='2'!a1+a1」
の例だと,「a1」が累計の欄で,前週シートのa1に今週のシートのa1を
足していければ良いのです。
>>323
× 全シートに「今週の合計」と「前週までの累計」の欄が必要で,
○ 全シートに「今週の合計」と「今週までの累計」の欄が必要で,
>>323-324
ということは、A列が今週の合計、B列が今週までの累計とすると、

シート名「1」のb1セルに「=a1」
シート名「2」のb1セルに「='1'!b1+a1」
シート名「3」のb1セルに「='2'!b1+a1」
シート名「4」のb1セルに「='3'!b1+a1」

という感じになればいいんですね?
>>325
そのとおりです。
で,シート名を示す部分に前週のシート名が自動で入るような式を記述して,
同様の行へすべてコピー,そしてできたシートを52枚複製したいという訳です。
>>326

>>318も考慮すると、以下の手順で出来ます。

1)全シートを選択して、C1セルに以下の式をコピペ(シート名表示)

=RIGHT(CELL("FileName",A1),LEN(CELL("FileName",A1))-FIND("]",CELL("FileName",A1)))

2)シート「1」以外を選択して、B1セルに以下の式をコピペし、下にコピー

=INDIRECT($C$1-1& "!B" & ROW())+INDIRECT($C$1& "!A" & ROW())

3)シート「1」を選択してB1セルに「=A1」を入力して下にコピー
>>327
おぉ!できました!
なるほど,ROW() で行番号を取得し,"!B1"を列番号と行番号に分解してから
&で繋げて記述すれば下コピーしてもO.K.なわけですね。

ありがとうございました!
すごい厨房質問なんですが..。
###で表示されちゃうセルをセルの幅を広げず、かつセル統合とかしないで
表示させる設定ってどこでしょう?デフォルトだと隣にハミ出しても表示され
ますよねー?いつのまにやらこうなってしまった。印刷の関係で幅は広げられ
ないし統合もイマイチなんで。
宜しくお願いします。
330名無しさん@そうだ選挙にいこう:04/06/06 15:18
セルの書式設定で縮小して全体を表示
まあ、単にフォントサイズを小さくするだけでもいいんだけど。
教えて下さい!
メモ帳などで、あらかじめ用意されているテキストを、セル1つに1文字づつ貼り付けられませんか?
例えば、「教えて下さい!」という文字列をB列のセルに入れたい場合、次のようにしたいのです。

B1 = 「教」
B2 = 「え」
B3 = 「て」
B4 = 「下」
B5 = 「さ」
B6 = 「い」
B7 = 「!」

宜しくお願いします。
>>300
どもです。フォントサイズかうーん。
スマンです。ちょっと書き方が悪かったです>ハンセー
えーと、セルに書きこんでて、右隣のセルにはみ出ますよねー
長いと。この時、はみ出てても表示はされてますよね通常と言うか
デフォルトでは。これが##になってしまうんですよ。
この時、セル幅広げれば当然表示されるけど、これは出来ない。
統合もリンクだかの関係でするなとのおたしが..。
こんな感じです。
お手数でスマソ。
>>332

>330の一行目読めや
>>331
Excelからテキストファイルを開いてみよ。
335名無しさん@そうだ選挙にいこう:04/06/06 16:24
>331
メモ帳で1文字ずつ改行しておいてからExcelにコピペ。

>332
文字列なら右隣のセルにはみ出てくれるけど、
数値や日付などの場合は幅が足りないと###になってしまう。
列幅が変えられないのなら>330しかないかと。
336332:04/06/06 16:28
>>333
ゴメソ。解決しますた。
お世話のなりますた。
>>331
テキストを1字ごとに改行して、全部選択してクリップボードにコピー。
Excel に貼り付けると1字ずつセルに分かれて入る。
逆に全ての改行を削除して横長の文章にしておいて、C1にコピペ。
A1に 1 を入力。
B1に「 =MID($C$1,A1,1) 」を入力。
A1:B1を選択して、必要なだけ下にコピー。
選択状態のままコピー→形式を選択して値だけ貼り付け。

一つ一つ改行するのが面倒なら、こういう手もある。
>>331
A1に「教えて下さい!」と入れる

B1に下の式を入力し、下方向にコピー

=MID(A$1,ROW(),1)
340331:04/06/06 16:38
おかげさまで解決しました。
ありがとう
おまふぇらかぶりすぎですw
どーにも、間延びしているので、字詰めしたいのですが、文字の間隔を調整出来ないのでしょうか?
>>342
均等割付でもすれば?
それがだめなら、フォントサイズ変えるとか
>>342
フォントをプロポーショナルにすべ
345名無しさん@そうだ選挙にいこう:04/06/07 01:24
セルの列をKEYにして改ページする方法って無いでしょうか?
ABCDEFG
1axxxxxx
2axxxxxx
3axxxxxx
4bxxxxxx
5bxxxxxx
6cxxxxxx
7cxxxxxx

こうなっている場合、A列をkeyにすると1から3行目までが1頁目となって
4・5行目が2頁目となって、6・7行目が3頁目となるようにしたいんですが
>>345
データ→集計→グループごとに改ページを挿入する
excel 改ページ vba

少しはググってみろよな
348名無しさん@そうだ選挙にいこう:04/06/07 20:10
Excel97です。
あるシートに貼ったグラフを、

sheet1!$A$1→sheet2$A$1

という具合にシート名の部分だけ変えて他のシートに貼り付けることは可能でしょうか?
349名無しさん@そうだ選挙にいこう:04/06/07 20:19
くだらない質問は≫1-20を読んでから! Part.55
http://pc5.2ch.net/test/read.cgi/win/1084289187/
から誘導されてきました。

ワードやパワーポイントだと、保存する時に文書内で使用されているフォントを一緒に組み込んで保存する事ができますが、
エクセルでは同様の事はできないのでしょうか?頑張っているのですが見つかりません。どうかお願いします。
(エクセルは2003を使用しています。)
>>348
右クリック→場所→オブジェクトの▼からシートを選ぶのが模範解答。
…でも面倒なので切り取り・貼り付けで済ませましょう。

>>349
多分ないです。
表計算においては、ワープロやプレゼンほどフォントを重要視する必要がないからでしょう。
351名無しさん@そうだ選挙にいこう:04/06/07 23:35
質問です。現在エクセル97を使用しています。折れ線グラフの作成についてです。
Y軸にはAの列
X軸にはEの列の数値を使いたいとします。
YがA-1のときに、Xの値はE-1、
YがA-2のときは、Xの値はE-2…といった感じです。
いづれの値も等間隔にはなっていません。
グラフウィザードの2/4、項目軸ラベルに使用というもので、X軸となるものを選んでしまうと、
数値はかけ離れているのにその間隔が等間隔になってしまいます。
AとEを対応させたグラフはどうやればかけますか?
A列とE列のみを選択して、「データポイントを折れ線でつないだ散布図」で。
353352:04/06/07 23:54
A列の昇順で並べ替えてからね。
354名無しさん@そうだ選挙にいこう:04/06/08 00:04
!!グラフかけました!!ありがとうございます!!
追加で質問なのですが、同じグラフ内に複数の折れ線を描きたいのですが、
それは可能ですか?
追加したい2列をまとめて選択してコピー→既存のグラフの
グラフエリアを選択→[編集]→[形式を選択して貼り付け]
 [貼り付け方法]:新しい系列
 [Y/データ系列の向き]:列
 [先頭行を系列名]と[先頭列を項目名]:両方チェック

Excel97でも可能かどうかわかりません
すいません、元からよく解ってないのかもしれませんがどうしても解らないので
質問させてください。
使用していてオートフィルタをかけて名前順で調べようとしたら入力しているはずの
人名が出てきません。
1〜1002まではかかるのですがそれ以降が掛かってこないのです。
なにか入力のミスか何かなのでしょうか?
357名無しさん@そうだ選挙にいこう:04/06/08 01:28
言いたいことがわかりそうでよくわからないんだけど、
1002行目と1003行目の間に空白行でも入ってるんじゃないかな。
適当にリストの中をクリックして "Ctrl+*" (ノートなら "Ctrl+Shift+け" )を押したときに
途中で選択範囲が途切れたり、関係ない部分まで選択されたりしてない?
>>357さん
レスどうもありがとうございます
その方法を試してみます。

このような時間帯にお答えいただきどうもありがとうございます。
>>355
実はグラフ上にドラッグ&ドロップでもいけたりする。
360355:04/06/08 03:19
>359
枠のD&Dが97で通用するかという不安から、念のため。
97は最近全然使ってないもので…

>358
>357はリストがデータベースとしてうまく機能するかを確認する操作であって、
根本的な解決法ではないですよ?
データベースは長方形に隙間無くびっちり入力されていて、
その周囲を空白列・空白行で囲まれているのが基本です。
その辺を改善すれば、>356の問題が解決するかもしれませんね。
361名無しさん@そうだ選挙にいこう:04/06/08 04:07
97でもD&Dは出来るよ
362348:04/06/08 09:56
>>350
Sheet1のグラフがそのままコピペされてしまったのですが・・・。
363350:04/06/08 13:25
>348
紛らわしいから、貼り付けなんていう言い回しを使わないで。
てっきりグラフの移動かと思ったよ。

つまり、
 Sheet1のグラフをコピー→Sheet2に貼り付け→右クリック→元のデータ
 →「データ範囲」のシート名だけを書き換える
こういうことをやりたいわけですね?
364348:04/06/08 14:41
>>363
そうです。変ないい方して申し訳ない。
365名無しさん@そうだ選挙にいこう:04/06/08 18:34
IF関数を7つ以上ネストすると、エラーになりますが、
それ以上ネストしたい(12個ほど)のですが、何か良い方法はありますか?
>>365
複数のセルを使う。

まず6つネストした結果をA1に。
A1を参照してさらに6つネストした結果をB1で求める。
367365:04/06/08 19:11
>>366
そうかあ!
そして、結果を出したいセルで=IF(A1>0,A1,IF(B1>0,B1,))を入力すればいいわけだ!
A1と、B1はフォントで白にして、見えなくして・・。
うおお凄い!
366さん感謝です!!
368 :04/06/08 19:45
みんなぁ、日経PC7月号エクセル特集読んで味噌?
コンビにでも売ってるし。
>>368
買った??

ny
にウップ きぼんぬ
通報しますた。
質問です。

Office2000のExcel(win2k)で使用していたマクロがあるのですが
PCの入れ替えによりOfficeも2003(winXP)になりました。

今まで使用していたマクロを新PCにコピーして使用したいのですが
どうすればよいでしょう?

元々使用していたマクロは他人が作ったもので
自分には同じ動作をするものを作ることができないので
なんとかコピーしたいのです。

宜しくお願いします。
>371
VBAエディタでオブジェクトを呼び出して、コピーすればいいんじゃないの?
昔のバージョンで作った物でもブックを呼び出せば
その中にマクロは記録されてるから大丈夫と思うよ。
ただし、VBAの命令解釈が少し変わったりすれば当然動作が怪しくなるので、
そのへんの手直しは必要になるから気をつけてね。
生兵法はケガのもとだよな、マクロって。
以前本社でヘッポコなマクロ入れた統計ファイルを
支社全部に送った野郎がいて、
右クリックメニューに余計な機能が追加され、
しかもそれがリセットできないという被害を全国の支店で被った経験がある。
ほとんどマクロウィルスじゃねーかよっ!てな感じで。
ただ実害が少ないもんだからシステムも放置気味で、
その割には右クリックするたびに余計なもんがでて、
すげーストレスだった。
作った野郎にゴルァメール送ってもわからないとかぬかしやがるし。
雑談失礼。

作成も大事だけどリセットの方法もきちんとわかってないと、
安易に使うもんじゃないなと思ったよ。

要は自分で
↑最後の1行は削除(汗
>>374
会社から  乙
376名無しさん@そうだ選挙にいこう:04/06/09 10:18
あるセルに、9時25分と入れて、別のセルに40と入れると
10時05分と計算するようにしたいのですが、関数を使おうと思いましたが
どれを使用してよいのか分かりません。

何をしたいといいますと、単純にある時間がたったら、何時になる?と
言うものです

どうかご伝授ください
>>375
いや今日代休w
>>376
あるセル:A1 別のセル:B1 C1に=A1+B1*(1/1440)
A1,C1をセルの書式設定の時刻で「13時30分」に
>>376
A1 09:25
A2 00:40
A3 =A1+A2

これでどうかな?
380名無しさん@そうだ選挙にいこう:04/06/09 10:57
>>378>>379
ありがとうございました
できました
381名無しさん@そうだ選挙にいこう:04/06/09 16:01
カーソルキーを押すと、セルの選択箇所が動く(移る)のではなく、シート全体がスクロールするようになってしまいました。
ものすごく使いづらいのですが、戻し方(デフォルトの操作にする方法)がわかりません。
だれかタチケテ〜

OS : Windows XP
Excel : 2003
>>381
キーボードの Scroll Lock キーを押せ。
>>382
そんな初歩的な事だったとは・・・
うわー 恥ずかしい!! 数日間苦しんでた(x_x)

ありがd ♪
384名無しさん@そうだ選挙にいこう:04/06/09 20:54
起動するたびに、今日の日付のファイル名で立ち上げるにはどうすればいいですか?
毎日のお仕事で、ファイル名をいちいち付け直すの面倒なもんで・・・。
教えてくださいな。
>>384
たとえばこんな感じ。

Private Sub Auto_Open()
 Const strBaseName = "Test"
 With ThisWorkbook
  .SaveAs .Path & "\" & Format(Date, "yyyymmdd") & strBaseName & ".xls"
 End With
End Sub
386384:04/06/09 21:28
>>385
ありがとうございます。
・・・VBAですか?う〜ん、勉強しますです。
やはり既存のメニュー内容では無理ですね?
>>386
385ではないけど、無理だと思う。
388名無しさん@そうだ選挙にいこう:04/06/09 22:34
先頭行を非表示にしてしまい再表示が出来ません。
Ctrl+Homeや「編集」「ジャンプ」を使っても先頭行にカーソルが
行かず再表示が出来ません。
どうすれば再表示できるでしょうか?

OS : Windows 2000
Excel : 2000
>>388
隣のBを選択し、左方向へドラックして再表示すればどうよ
390名無しさん@そうだ選挙にいこう:04/06/10 00:10
誘導されてきますた

エクセルで、セルの一番上から、4つずつの中のMAXを書き出したいんです。
例えば、
=MAX(A1:A4)
=MAX(A5:A8)・・・って感じで。

でもドラッグして引っ張っても上手くいきません。教えて!
391名無しさん@そうだ選挙にいこう:04/06/10 00:17
(ピポットテーブル)−(フィールドの設定)って
集計方法で任意の式を入力できないの?
 
合計、データの個数、平均ってのはあるんだけど
俺は、乗算をしたいんだよ。
 
たしかEXCLE95、97は出来た筈なんだけど
XPでは、それらしいメニューが見当たらない。
 
OS:WIN-XP
EXCEL:XP 
userformでセットフォーカスの話ですが
(例)
textbox1=件数
textbox2=金額
textbox3=金額2
textbox4=金額3
コマンドボタン1=入力(セルに反映)
といったフォームを作ったとき、もしtextbox1=1ならばtextbox2(金額)に入力後
コマンドボタン1へフォーカスしる!そうでなくて
もしtextbox1=2ならばtextbox3(金額)に入力後
コマンドボタン1へフォーカスしる
これの記述ってどうすればいいんですか?
教えてエロい人
>>390
どううまくいかないのか?
=MAX(A1:A4)
=MAX(A5:A8)
=MAX(A9:A12)
・・・
とやりたいんだけど、フィルハンドルでグ〜〜っと引っ張ってもうまく規則性に
乗ってくれないのよ。
>394
なるほど。
んで、
=MAX(A1:A4)
=MAX(A5:A8)
=MAX(A9:A12)
この式はどこのセルに入れてるの?
 
B4、B8、B12・・・・のセルなら楽チンなんだが

残念ながら、B1B2B3・・・に入れたいのよ。
今自力で解決に向かってるけど。CONCATENATEまで使って(w。
>>390
普通にやってもできないから・・・。お好きな方法でどうぞ。

方法1
[B1]=MAX(OFFSET($A$1:$A$4,(ROW()-1)*4,0))

方法2
フィルしたB1,B5,B9...のセルを切り取り貼り付け
398名無しさん@そうだ選挙にいこう:04/06/10 01:00
>>389
ありがとうございます。
やってみましたが出来ませんでした。
画面上には出てきませんがプリントアウト
すると印刷されてきます。
>397
THANKS!
方法1がスマートでいいですね。これで時間が短縮できますた(・∀・)
>>398
ウィンドウ→ウィンドウ枠固定の解除
(違うかな?)
>391
「積」じゃダメなのかい?
>388
sheetの左上(列と行の境目)で全選択した状態で列や幅を変更してみるよろし。
403392=402:04/06/10 01:15
連投スマソ
392の補足で
ちなみに
if textbox4=1then コマンドボタン1.セットフォーカス
とか
select case textbox4
case 1
userform1.セットフォーカス

でもうまくフォーカスしてもらえなかったです。・・・・
教えて、エロい人
A列じゃなくて1行目が見えないんでしょ?
Ctrl+Aですべて選択してから行の境界線(2と3の間など)をダブルクリックして自動調整。
あるいは行番号を右クリックして行の高さを13.5に。
>>400
ありがとうございます
ウィンドウ枠は固定していませんでした
>>402
ありがとうございます。
やってみましたがダメでした。
>>404

>398で
>画面上には出てきませんがプリントアウトすると印刷されてきます
って逝っているんだから、行高or列幅=0というのはあり得ないよ。
408名無しさん@そうだ選挙にいこう:04/06/10 01:55
>>389,>>400,>>402
大変お世話になりました。
本当に有難うございます。
いろいろやってみましたがどうしてもダメでした。
非表示から表示に戻せればベストでしたが
ダメそうなので画面上に出ている部分をコピペして
貼りつける事にしました。
気分的にはすっきりしませんがこれで取り繕う事にします。
2チャンネルにはほとんど来た事は無いのですが
世間で言われているような人ばかりではないのだと分かりました。
来て良かったです。
>>408
取り繕った後で申し訳ないけど・・・

シートの保護(+α)ってオチじゃないよね?
410409:04/06/10 02:23
>>408
最終案。これでできないときはあきらめて。俺もあきらめるし。(w

(1)Excel起動
(2)Alt+F11
(3)Ctrl+G
(4)ActiveSheet.unprotect [Enter]
(5)range("A1").Entirerow.Hidden=false [Enter]
(6)range("A1").EntireColumn.Hidden=false [Enter]
(7)range("A1").select [Enter]
411名無しさん@そうだ選挙にいこう:04/06/10 14:02
質問です。(エクセル2000を使っています)

A2 東京都千代田区
A3 大阪市北区
A4 大阪市浪速区
A5 東京都中野区
A6 大阪市北区

各セルにこのような文字が並んでいるとします。
まず、「大阪市」で抽出して、

A3 大阪市北区
A4 大阪市浪速区
A6 大阪市北区

として、次はさらに「北区」で抽出して

A3 大阪市北区
A6 大阪市北区

という風にしたいのですが、エクセルでは可能でしょうか?
オートフィルタ機能ではできないようなのですが・・・よろしくお願いいたします。
>>411
オートフィルターの(オプション)を使います。

* 全部

大阪市*

大阪市北区*

413411:04/06/10 14:21
回答ありがとうございます。
説明不足でした。
最初からオートフィルターでいきなり絞込みたいのではなく、
抽出結果を見ながら、段階的に絞り込みたいのです・・・
オートフィルタオプションを出す
「大阪市 - で始まる(を含む)」で抽出
抽出結果を確認
そのままもう一度オプション出して、「大阪市北区 - で始まる(を含む)」で抽出(「北区」を追加

入力)

・フィルタオプションで抽出した後、別に作っておいた2つ目の検索条件範囲を使って再度抽出。
・検索条件範囲に「住所」のフィールドを2つ作っておいて(右にはみ出すように)、
 1つ目の「住所」に「大阪市*」で抽出した後、2つ目に「*北区*」で再度抽出。
っていう手もあるけど、たぶんとってもめんどくさい。
415 :04/06/10 15:53
教えて下さい
vlookupで範囲指定のところで
シート名を数式で入れたいのですが
どうすればいいのですか?

=VLOOKUP(A3,b1!BO7:CT75,2,FALSE)
これだとうまくいきません
お願いします
416名無しさん@そうだ選挙にいこう:04/06/10 16:09
VBAプログラミング ユーザーフォームの多数のテキストBOXの値を
合計して違うテキストBOXに表示させる方法がわかりません。
Textbox1.value = Textbox2.value + Textbox3.value では
足し算をしてくれません。解決方法をおねがいします。
417411:04/06/10 16:31
>>414
ありがとうございました。さっそくやってみます。
418ゴッホ:04/06/10 16:36
>>415

それで合ってると思うけど。
BO7:CT75って、ずいぶん多い列数だけど、
参照範囲が間違ってるのでは?
だって列番号2でしょ? なんでそんなに多いの?


>>416

TextBox1.Value = Val(TextBox2.Value) + Val(TextBox3.Value)

もしくは、

Dim A As Long, B As Long

A = TextBox2.Value

B = TextBox3.Value

TextBox1.Value = A + B
>415
=VLOOKUP(A3,'b1'!BO7:CT75,2,FALSE)
Shift+7の ' でシート名を囲む。

場合によっては
=VLOOKUP(A3,'b1'!$BO$7:$CT$75,2,FALSE)
範囲を絶対参照にする必要も。
420415:04/06/10 17:42
>419
試したのですがやはり出来ません
「値の更新 :B1」というウィンドが出ます
原因が分かりましたら教えてください

cgiで取っているデータをwebクリエで引張っているのですが
これが原因なのでしょうか?
421ゴッホ:04/06/10 18:39
>>420

1.
BO7:CT75って、ずいぶん多い列数だけど、
参照範囲が間違ってるのでは?

2.
うまくいかないとは、具体的にどういうことですか?

3.
A3が間違ってる可能性はないですか?
半角と全角になってるとか。
検索方法をTRUEに変えてみたらどうなりますか?

4.
WEBクエリの取り込み方と、そのウィンドウの内容を
もう少し具体的に教えてください。


条件付書式の設定についての質問なんですが
たとえばA列に商品名がありB〜J列にもいろいろなデータがあって
K列に備考欄があるとします。
備考欄にコメント(数値ではなくコメント)が入力してある場合だけA列を赤く塗りつぶすということは
可能ですか?ウィンドウ枠の固定が都合上使えないのでK列まで表示できなくて
困っています。どなたか回答お願いします。
423ゴッホ:04/06/10 20:00
>>422

ウィンドウの右下にある、縦と横のスクロールバーの間の縦棒をダブルクリック
もしくは、ウィンドウ→分割
で、分割するのはダメなの?
A列とK列を同時に見れるよ。

条件付き書式では無理だと思うので、あとはVBA使うしかないと思います。

Columns("a:a").Interior.ColorIndex = xlNone
For i = 1 To 65536
If Not ActiveSheet.Cells(i, 11).Comment Is Nothing Then
Cells(i, 1).Interior.Color = vbRed
End If
Next
>ゴッホさん
サンクスです。条件付き書式では無理なんですね。
初心者なのでVBAについてのレスが理解できませんが
これから勉強してみます。
425ゴッホ:04/06/10 20:51
>>424

上の前半に説明した「分割」は、VBAとは関係ないのですが、
それはダメなのでしょうか。

また、AとKはそれほど離れていないので、
「表示」→「ズーム」で、適当な大きさにするのはどうですか?

あと、B列からJ列まで、一時的に非表示にする方法もあります。

また、ジャンプ(F6)とかで、コメントセルを選択するのもいいかもしれません。

まあ、いろいろ方法はあると思うので試してみてください。

>条件付き書式では無理なんですね。

多分。
ファイルを開くと文字化けみたいになって、罫線や貼り付けた画像など、一切見ることが出来ません。
ファイルが壊れた場合、修正する方法はあるのでしょうか?
また、ファイル修正ツールなどご存じでしたら、ご教示願います。

Excel 2000 SR-3 data file 13.5MBytes
>>392
TextBox1(件数)のChangeイベントで使わないTextBoxのEnableプロパティを
Falseにすればよいのでは?

Private Sub TextBox1_Change()
 
 TextBox1.Value = StrConv(TextBox1.Text, vbNarrow)
 
 Select Case TextBox1.Value
 Case 1 To 3
  TextBox2.Enabled = TextBox1.Value >= 1
  TextBox3.Enabled = TextBox1.Value >= 2
  TextBox4.Enabled = TextBox1.Value >= 3
 Case Else
  TextBox2.Enabled = False
  TextBox3.Enabled = False
  TextBox4.Enabled = False
  If TextBox1.Value <> "" Then
   Beep
   MsgBox "入力出来るのは、1〜3の数字だけです。", vbExclamation
   TextBox1.Value = ""
  End If
 End Select
 
End Sub
>>422
>備考欄にコメント(数値ではなくコメント)が入力してある場合
(数値ではなくコメント)という所がなんか引っかかる・・・

備考欄の列(K列)のあるセルになにか文字を入力したら、それと同じ行の
A列のセルの背景色を変えたいということでいいのかな?

例えば、K1セルになにか文字列を入力したらA1を赤くする
ということですかね。

だとしたら、A1の条件付き書式の「セルの値が」と書かれたコンボボックスを
「数式が」に変更して、右のテキストボックスに

=LEN(K1)>0

と入力する。(当然その時の書式も指定)
あとはA1を下方向にコピーすればよいかと。
違ってたらごめんなさい。
vlookupを横方向にフィルしたら、第3引数の列番号が
増加すればいいのに、っていつも思う
同じ型の表を参照する時、皆はどうしてるの?
>>429
COLUMN()をうまく使いましょう。
当然のことながら、第2引数の範囲は絶対参照で。
431420:04/06/10 23:27
>421
1確認しました
2数式を入力してenterを押すと「値の更新 :B1」というウィンドが出ます
3確認しました
  シート名を入れると正常に機能するのですが
  数式にするとだめなのです
4webクリエはアドレスを入力して取り込んでます
 取り込み方とは?どういうことでしょうか?
 最近覚えたので良く分かりません

 数式を入力してenterを押すと「値の更新 :B1」というウィンドが出ます
 ウィンドは名前を付けて保存するときの画面と同じで
 違うところが
  名前を付けて保存 → 値の更新 :B1
  保存先 → ファイルの場所
 になっています

何か分かれば教えてください
>428さん
そのやり方でやったら条件付書式でできました。
↑に書いていただいた→ =LEN(K1)>0 をコピペしてテキストボックスに
貼り付けようとしたら貼り付けできず、とりあえず関係ないセルに貼り付け
たら TRUE の表示になりました。なぜ=LEN(K1)>0がTRUEになるのかわかりませんが
また勉強してみます。ありがとう!
質問です。

数十個のグラフを作成したあとにタイトルや軸ラベルを入れ忘れていることに気付きました。
このとき、全てのグラフに一括してタイトルやラベルを入力することはできないのでしょうか?
「軸ラベル、タイトルを入力した別のグラフ(グラフXとする)を作成して、それを上乗せする形で
貼り付けてグラフXのグラフデータだけ削除する」といった方法くらいしかないのでしょうか。
>>431
b1シートはVLOOKUPの数式を入力してるブックにあるんですよね?
>>432
ヘルプを読めば分かりますがLen関数は文字列の長さ(文字数)を返す関数です。
文字列を入力する→そのセルの文字数は0より大きくなる→True( LEN(K1)>0という式が正しい )
ということです。
436433:04/06/11 00:04
書き忘れておりました。

OS、Excelのバージョンによる依存は問いませんので何かご存知の方が
いらっしゃいましたら御教示願います。
437420:04/06/11 00:05
>434
あります
438420:04/06/11 00:09
もしかすると
 アップデートとか関係ありますか?
 excel2002です
 最近チェックしてないもんで
439416:04/06/11 00:19
>>418
できました。ありがとうございました。
>>420さん
もしかして、シート名が「b1」じゃなくて、セルのB1にシート名が書いてあって、
それを使いたいということですか?
441420:04/06/11 00:31
>420
そうです
なんか表現の仕方が間違っていたみたいですね
442420:04/06/11 00:35

>440
そうです
443420:04/06/11 00:37
>440
セルのB1にシート名が入っているのですが
 どうしても成り立たないのです
>>443
セルB1にSheet1!BO7:CT75まで入力されていれば

=VLOOKUP(A3,INDIRECT(B1),2,FALSE)

で出来るんですけどね・・・
セルB1に シート名
セルC1に =B1&"!BO7:CT75"
(C列は作業列)としておいて、

=VLOOKUP(A3,INDIRECT(C1),2,FALSE)

っていうのはダメですか・・・ダメだよね・・・
>>443-444
そこまで分かっていれば、できると思うんだけど・・・。

=VLOOKUP(A3,INDIRECT(B1&"!BO7:CT75"),2,FALSE)
LAN上でファイルを共有していてファイルを開いた状態でハングアップし
ファイルの編集権限を握ってしまったままになっており読み取り専用か通知
でしか開くことができません。開放させるために共有先のPCを再起動させて
いるのですがほかに開放させるよい方法はないでしょうか。
>>446
INDIRECT(B1&"!BO7:CT75")がエラーになりませんか?
>>448
自分のところ(excel2002)は大丈夫だけど?
>>449
なるほど。INDIRECTだけだとエラーになるから出来ないと思いこんでました。
てことは420さんは>>446の式で解決かな。
451420:04/06/11 01:36
>446
これで完成しました
=VLOOKUP(A3,INDIRECT("'"&B1&"'!BO7:CT75"),2,FALSE)
ありがとうございます
452名無しさん@そうだ選挙にいこう:04/06/11 01:37
ピボットテーブルで集計する際に大文字、小文字が同じ扱いになってしまいます。
解決方法はありますでしょうか。

[データ]
AAA
AAA
AAA
aaa
aaa

[現在のピボットテーブル]
AAA 5

[こうなってほしい]
AAA 3
aaa 2
453名無しさん@そうだ選挙にいこう:04/06/11 02:31
質問させてください。
分数をを「2/3」などではなく
「分数の形」(なんていったらいいのかわからないのですが・・・)
で表示させたいのですが、どうしたらいいのでしょうか?
どなたか教えていただけるとありがたいです。
>>453
挿入、オブジェクト、マイクロソフト数式
455名無しさん@そうだ選挙にいこう:04/06/11 12:40
Excelの関数には、JIS関数という、半角を全角に変える関数がありますが、
VBAで、半角を全角に変えようとすると、どうすればいいでしょうか?
>>455
StrConv
457名無しさん@そうだ選挙にいこう:04/06/11 15:55
質問です。
セル内容が毎月変わる数式(CHOOSEというので曜日を表示させてます)
で曜日の平均を自動で抽出する関数とその方法をご教授下さい。
AVERAGEだと毎月関数の数値を変えないといけなくてめんどうなんです。
458ゴッホ:04/06/11 20:02
>>415
「シート名を数式に」ってそういう意味か。
変な言いかたしないでよ…。

>>422
「コメント」ってエクセルの「コメント」機能の意味ではなかったわけね…。

>>457
具体的に例を出して質問してもらえると答えやすいんですけどね。
CHOOSEを使ってるとかいうことより、どうセルが変化して、何を求めたいのか。

例えば、B列に曜日(漢字1文字)、C列にデータがあって、
C列のデータの、曜日ごとの平均が知りたいとき、
=SUMIF(B1:B31,"月",C1:C31)/COUNTIF(B1:B31,"月")
で「月」曜日の平均が求まります。
「"月"」のところを「"火"」に変えると、「火」曜日の平均になります。

こういうことでしょうか?

459429:04/06/11 21:30
>>430
どうやってもダメポ…_| ̄|○
もちっと具体的にたのんます
>>447
共有先のマシンを再起動させてもしょーがないような気もするが。
461460:04/06/11 21:46
共有の問題って、
どこのサイトでもレクチャーしてくれる人少ないよね・・・。
Excelで円書きたいんですけど、中心の座標と半径だけで書けますか?
できれば半円がいいんですけど・・・
Excel 2000
XP
です。グラフとして書きたいのですが・・・
>>447
くわしくないが、
共有先のパソコンもしくはLAN環境に問題があるのでは?
新しいのに買い替えすればいいんじゃないかな
>>461
そもそもEXCELで共有を完全に使えるとはだれも思っていない。 
サーバーを持ってマルチタスクを前提としたシステムを組まないと完全にならない。
普通に考えてSQLserverに接続するようなシステムを考えなければならない。
または、それ専用にデーターベースプログラムを作らないとうまく行かない。
エクセルで言う共有は難しい事だし、だれも信用して使っていない。 
466名無しさん@そうだ選挙にいこう:04/06/11 22:58
>>462
A列に0~6.28を適当な間隔でフィル。
B列に =中心のX座標+半径*COS(A1) を下にコピー。
C列に =中心のY座標+半径*SIN(A1) を下にコピー。
B列C列を散布図。
半円だったら、
0~6.28じゃなくて0~3.14で。
469460:04/06/11 23:14
>>465
信用するしない・難しい難しくないとかいう以前の問題つーか、
それでもExcelの機能としてあれば当然使う人もいるわけで<共有

つーわけで>>447よ、
俺ならハングアップしたマシンは諦めて強制終了。
ファイルぶっ壊れてないかどうかチェックして、
やばそうならそのファイルは廃棄だ。
当然バックアップは取ってあるよな?


>>447
ありません。可能だがイレギュラーな扱いはすべきでない。
これまでの回答者はあなたよりスキルが劣るようだ。
>>470
偉そうw
>>470
解決方法を書いてください。
>>459
仮に

=VLOOKUP(1,$A$2:$C$10,2)

という式だったら、

=VLOOKUP(1,$A$2:$C$10,COLUMN(B1))

にする。
>>466
回答ありがとうございます。
半円を3つ描いたのですがこの共通接線は描けますでしょうか?
>>474
CAD使え
>>472
航空チケット予約しました。
予約番号忘れました。
貴方ならどーやって解決しますか?

477466:04/06/12 00:09
>>474
俺は高校生の家庭教師ではないのだが…

3つの円の共通接線は普通の条件では無理なので、2つの円の接線になるが、
方程式を解いて、媒介変数表示にして、>>466の要領で散布図で
元の図に重ねる(ペーストする)とできるよ。
>>462がどーして3つの円になっちゃうのかなぁ
教えてください。OFFICE2000 WINDOWS XPです。

エンターを押して入力完了したとき、決まったセルのみに
飛ばしたいのですができますか?
たとえばA1からH30まで使っていて
入力するのはC3、F10、G12だけで後は計算式が入っています。
C3を入力してエンターを押してときF10にとび
つぎにエンターを推してH30、次にエンターを押すとまたC3に飛ぶ
といった具合にできますか?
いろんな書籍を調べたのですがのっていませんでした。
>>479
VBAでSelect。
>>479
初めからそれらのセルを選択しておいてから入力していく
>>476
「○○には解決方法が無い。ゆえに××にも解決方法は無い。」
って理屈が成り立つためには、○○と××が同じ(あるいは極めて類似)でなければならない。
それは分かるよね?

で、チケットの予約番号忘れと>>447の事例に、どんな共通点があるの?
そんなわけの分からん言い草が通るなら、
「ドラクエでは死んでも復活できる。だから>>447の問題も解決する。」
って主張も成り立っちゃうぞ。
>>476
予約したこと自体忘れる
         \   ∩─ー、    ====
           \/ ● 、_ `ヽ   ======
           / \( ●  ● |つ
           |   X_入__ノ   ミ   そんなことで俺が釣られクマー!
            、 (_/   ノ /⌒l
            /\___ノ゙_/  /  =====
            〈         __ノ  ====
            \ \_    \
             \___)     \   ======   (´⌒
                \   ___ \__  (´⌒;;(´⌒;;
                  \___)___)(´;;⌒  (´⌒;;  ズザザザ
                               (´⌒; (´⌒;;;

釣られ杉
485名無しさん@そうだ選挙にいこう:04/06/12 10:23
 A列    B列
=B1     あ
=B2     い
=B3
=B4     う
=B5

上のように、A列で文字が表示されているセルのみを数える式はありますか?
配列数式以外でお願いします

ちなみに、配列数式を使うと

={SUM(IF(A1:A6<>""、1))}

になります
>>479
>入力するのはC3、F10、G12だけで後は計算式が入っています。
そのシート全体で、入力(選択)可能なのがC3、F10、G12の3つだけでいいなら
以下の操作だけで出来ます。

1)Ctrlキーを押しながらC3、F10、G12のセルを選択
2)右クリック→セルの書式設定を選択
3)保護タブのロックについてるチェックを外す
4)ツール→保護→シートの保護で、ユーザーに許可する操作を
 「ロックされていないセル範囲の選択」だけにする

他のセルもいつでも選択出来るようになっていないとだめなら、>>480-481の方法で。
>>485
その例の、A3に入れてる=B3の結果が0で表示されてしまうんだけど。
A列じゃなくてB列で数えちゃだめなんですか?

=COUNTA(B1:B6)
488457:04/06/12 11:04
>>458
そうです。ですが…
B列の曜日は関数で表示しています。
そのため"月"では検索できないんです。
489名無しさん@そうだ選挙にいこう:04/06/12 11:07
明細書を作ろうと思ってるのですが、
小数点以下(5円50銭等)の設定にするには
どうすればいいのでしょうか?
セルの書式設定でいくら試しても小数点以下になってくれません。

今のところ考えているのは、例えば
A列に数量、B,C列に単価、D列に金額。
そこでC列を小数点以下にしようと思ってます。
D列の式は=(B+C)*Aと言う感じです。
>>488
とりあえず関数でどういう風にして表示してるか書いてください。


>>489
小数点以下にするという意味がよくわかんないんですが・・・
5.5って入れたら5円50銭と表示したいということですか?
491ゴッホ:04/06/12 11:31
>>488

=CHOOSE(WEEKDAY(A1),"日","月","火","水","木","金","土")

とかで表示してるということですよね?
でも結局は「月」とかって表示されてるんでしょ?
だったら、昨日教えた通りにやればできると思いますが。

>>489

5.50とかにしたいのなら、表示形式を通貨(小数点以下2桁)に設定すれば?
5円50銭と表示したいということなら、表示形式のユーザー定義の種類のボックスに

0"円".00"銭"

と入力すればそれらしくなりますが。(点が入ってしまいますが)

いずれにしても、表示形式の問題です。見た目だけです。
「\6」と表示されていても、5.5と入力されていれば、値は5.5です。
492457:04/06/12 11:58
>>491
できました。ありがとうございました。
>>491
できました。ありがとうございます。
最初、銭のセルの所にそのまま50と打ってしまってたんですね。
表示は50でセルの書式設定でなんとかできないかと思ってた訳です。
その時点で間違いですね。正しくは0.50ですね。
点が入っても結構です。見る側には分かりやすいですもんね。
494485:04/06/12 16:18
うーん、では

A列            B列
=IF(B1<>"",B1,"")    あ
=IF(B2<>"",B2,"")    い
=IF(B3<>"",B3,"")
=IF(B4<>"",B4,"")    う
=IF(B5<>"",B5,"")

上のように、A列で文字が表示されているセルのみを数える式はありますか?
配列数式以外でお願いします

ちなみに、配列数式を使うと

={SUM(IF(A1:A6<>""、1))}

になります
>>494
C列(C1:C5)を使ってもいいのか?
>>494
B列の文字は、常にひらがな1文字なの?
F1に ="" と入力して、
=COUNTA(A1:A5)-COUNTIF(A1:A5,F1)

nullpo という名前で ="" を定義して、
=COUNTA(A1:A5)-COUNTIF(A1:A5,nullpo)
498496:04/06/12 17:19
どういう種別の文字が何文字入ってるのかがわかればできそうだね。
>>497
=COUNTA(A1:A5)-COUNTIF(A1:A5,"")
右往左往する>495-498
>>500
右往左往する>495-500だろ?w
正直に言っちゃいな。
>>494
C列に=TYPE(B1)をオートフィルさせた作業列作れば?
何で配列数式は駄目なのかね?
B1+D1+F1+H1・・・みたいに、1つおきのセルの合計値を出したいのですが
この場合どうすれば良いのでしょうか?
505ゴッホ:04/06/12 18:40
>>504

配列数式でよければ、

=SUM(IF(MOD(COLUMN(1:1),2)=0,1:1))

と入力したら、Ctrl と Shift を押しながらエンター。
>>504
=SUMPRODUCT(A1:J1*(MOD(COLUMN(A1:J1),2)=0)) みたいな
>>470
一番まとも
>>470>>507
自演乙w


といわれても仕方のないレス。
まともな理由を書いてください。
で、結局>>485はどうした?満足したのか?
>>508
てか、そんなにしょっちゅうハングアップするのもあれだが、、、
>507さん、どうも。

昨日はちょっと酔っ払ってたみたいで(今日もですが)
読み返すと確かに偉そうですね。

要はアクセス権を誤魔化すことになるから止めれと、
これは不具合ではないから、その回答は何だと、
まあ、そーゆーことです。
512名無しさん@そうだ選挙にいこう:04/06/13 00:02
Excel2000使っています。
ロータス123のファイルをExcelで開けると聞いたのですが、
どうすればいいのでしょうか?
ロータスのバージョンは2000です。
>>504
ややこしいこと考えずに、B列のどっかの行に
=B1 と入れて、隣のC列のセル(空白)と2つ選択して
横へオートフィル。で、SUMを取る。
>>512
ファイル->開く->ファイルの種類
>>494
=ROWS(A1:A5)-COUNTBLANK(A1:A5)

というやり方もあります。

○何故B列ではだめなのか
○何故配列数式以外の方法が知りたいのか

差し支えなければ教えて欲しいのですけど。
>>485
出てるかも知らんが、
=ROWS(A1:A6)-COUNTIF(A1:A6,"")
じゃ駄目か?
お、そうかCOUNTBLANKでもいいのか。
515は読んでなかったよ。
COUNTBLANK空白を数えるかと思ったが、""も数えるんだね。
518名無しさん@そうだ選挙にいこう:04/06/13 19:13
すいません、教えてください。
EXCEL2003を使っています。ユーザーフォームに配置したラベルやテキストボックスの
プロパティからフォントサイズを変えようとすると、ダイアログが表示されずにフリーズし
CPU使用率を97〜99%消費し続けてしまいます。
強制終了しようとタスクマネージャーを起動すると、タスクマネージャーのダイアログが
表示されると同時にVBAのフォント設定ダイアログが表示される時もあります。
とりあえず、オフィスを再インストールしましたが直りません。
自分のパソコンのみの現象かと思い、店頭で何社かのパソコンで同じ事をやってみましたが
同様の現象が起きます。
まったく同じ事をWordでやると問題なく、瞬時にフォント設定ダイアログが表示されるのですが
マイクロソフトのHPで検索したのですがFAQにも見つからず、どうしたものか悩んでいます。
当方の使い方が間違っているのでしょうか。
>>518
excelのバグ何じゃ?
MSに問い合わせたら?
>>520
うわ、あった。ありがとうございます。
「フォント、コントロール、VBA、エクセル」とかのキーワードで探して見つからなかったんで
「Windows XP で特定の操作を実行するとアプリケーションの応答が無くなる」
という項目で掲載されてるとは思いませんでした。
これから、試してみます。
>>521
これでよかったんですね。
ちなみにキーワードは「Excel フォント 変更 フリーズ」でした。w
523485:04/06/13 21:42
レスどうも
OWS(A1:A5)-COUNTBLANK(A1:A5)いいですね、参考になりました

ちなみに私は可変式の定義を作ろうとしていて悩んでいました

売上表というSheetがあり、その商品を入力する時に間違えないように入力リストで規制かけるために、別ブックに商品マスターSheetを作って、そのマスターからデータをひぱってくる

でも別Bookのデータを入力規制のリストにすることはできないので、売上表に商品マスター2というSheetをつくり、
このシートに [商品マスター.xls]商品マスター'!A1みたい感じで、商品マスターBook丸ごとリンク貼った、商品マスタ-2 Sheetをつくり、
そこで名前を定義づけして、さらに入力規制でその定義をリストに設定する
さらに、その定義はOffset,A2,0,0,ROWS(A1:A5)-COUNTBLANK(A1:A5)、0のような感じで式で設定して、リストに追加、削除があっても自動的に範囲が動くようにしたいの

その定義作りの部分で悩んで質問しました

なんだか日本語になってないなー
でもこれ言葉で説明するの大変・・・・・
524485:04/06/13 21:55
ちなみに、OFFSETの基準値とROWSとCOUNTBLANKの範囲指定は全部絶対参照じゃなきゃだめです
正確に書くと、

A列            B列
=IF(B1<>"",B1,"")    あ
=IF(B2<>"",B2,"")    い
=IF(B3<>"",B3,"")    う
=IF(B4<>"",B4,"")    
=IF(B5<>"",B5,"")

とあったら、

OFFSET(A$2,0,0,ROWS($A$1:$A$5)-COUNTBLANK($A$1:$A$5)、0を、定義付けの参照に入れて、その定義を入力規制のリストに指定する
俺の場合は、B1ではなくこれが別Bookになっているけどね

次の問題は、

A列            B列
=IF(B1<>"",B1,"")    あ
=IF(B2<>"",B2,"")    い
=IF(B3<>"",B3,"")    
=IF(B4<>"",B4,"")    う
=IF(B5<>"",B5,"")

と、中間に空白があった場合だが、これはさすがにめんどいな・・・・
まだやってんのか。
526518:04/06/14 00:06
>>522
SP1aを当てれば直ると書いてあったんで、やってみましたが根本的には直りませんでした。
問題の解決って
「現象が発生したときに Visual Basic Editor を起動した Office アプリケーションのタスクバー ボタンを右クリックする」
という対処法なんですね。とほほ。
>>508
まずお前が書けよ。
>>523-524
Book1.xlsが「売上表というSheetがあるシート」Mastar.xlsが「商品マスターが入っているシート」とすると、

1)Book1とMastarを同時に開く
2)Book1に商品マスターの丸ごとリンクした商品マスター2を作成
3)商品マスター2の1行目は項目名で、リストには使用しないと思うので、商品マスター2シートのA1に次の式を入力

=MATCH("",[Mastar.xls]商品マスター!A:A,-1)

4)入力規則を使用しているシートの1行目に次の式を入力

=ADDRESS(2,COLUMN(),,,"商品マスター2") & ":" & ADDRESS(商品マスター2!A1,COLUMN())

5)入力規則の元の値に次の式を入力

=INDIRECT(A1)

6) 4)のシートの1行目を非表示

俺ならこうします。>>524の中間に空白があった場合も対応。
529名無しさん@そうだ選挙にいこう:04/06/14 00:57
zan = Range("A1").Value
judge = Range("A2").Value
For n = 1 To 100
If judge = n Then
Range("Bn") = zan
End If
Next

これだとrangeメゾット失敗とエラーが出てしまいます
範囲をnで変化させたいのですがどうしたら良いでしょうか
>>529
Range("Bn") = zan
    ↓
Range("B" & n) = zan
530さんありがとうです。
初歩的な質問ですみません
532名無しさん@そうだ選挙にいこう:04/06/14 01:23
excel97です
罫線を使って簡単な地図を描いたのですが、
東西を逆に描いてしまい、図を180度回転させたいのですが、
よい方法がありましたら教えてください。
>>532
図形として扱っていいのならペイントにでも貼り付けて180°回転させる
>>532
地図全体をグループ化→左右反転
罫線をどうやってグループ化しますか。
>>535
Shift押しながら罫線を複数選択
か、罫線を囲むように大きくドラッグ
→右クリック→「グループ化」を選択
>>535
ちょっと言葉が足りなかった。
「図形の調整」の隣にあるポインタ(矢印みたいなやつ)をクリックしてから
罫線全体をドラッグして選択してね。
だから罫線をどうやって選択すんだよ。
539名無しさん@そうだ選挙にいこう:04/06/14 17:09
A B
1 16 0001
2 16 0001
3 16 0002
4 24 0003
5 24 0003
6 30 0004
7 30 0004
8 30 0005
9 16 0006

上のような表で、B列の数字のまとまりごとに
「16は3件、24は1件、30は2件」というようにカウントしたいのです。
どの様に求めればよいでしょうか?

B列は連番になっておりA列の数字が変わるとかならずB列の数字も次の値に変化します。

Excelのバージョンは2003です。
説明ベタで申し訳ありません、どなたかお知恵をおかしください。

540539:04/06/14 17:10
すみません
A列とB列がずれました。
16の上にAがきます。
・1行目に列見出しを挿入
・A列を基準に昇順で並べ替え
・フィルタオプションで検索条件範囲を$A$1:$B$1にして
 重複するレコードを無視して抽出
・抽出されたリストを別の場所にコピペ
・フィルタ解除
・コピペしたほうのリストで集計
 基準はA列、集計方法はデータの個数、集計するフィールドはB列

関数やVBAでもできるのかもしれないけど、一つの方法として。

※半角スペースを連続して入力すると、書き込み後にずれます。
542名無しさん@そうだ選挙にいこう:04/06/14 17:36
>>541
ありがとうございます。
早速試します。

ご丁寧な回答感謝しております。
>>538
罫線は選択できんが、
それ以外のオブジェクトをグループ化して色なしにして、
反転させればいいんじゃね?
で、罫線の上に重ねると。
ただし、罫線が左右対称に引いてあるとの仮定の上だが。
>罫線を使って簡単な地図を描いたのですが
  ~~~~~~~~~~~~~
PrtScnキー押す → ペイント開く → 貼り付け
でいいだろ
>545
>533
547名無しさん@そうだ選挙にいこう:04/06/14 21:16
統計解析で体温の変化率を出しております(開始時を100%とした変化率)。例数は60例ぐらいです。
excelで開始時と1時間当たりを比較検定し、有意な差があるかどうかを調べたいんですが、
具体的にはどうしたらよろしいでしょうか・・・。ttest関数?
>>547 具体的に数値とデータシートで書いてください。
>>539
既に解決しているとは思いますが、>>541さんの回答とは別解です。

まず、C列に作業列を作ります。
C1セルに次の式を入力し、C1セルを下方向にコピーします。

=IF(AND(A1=A2,B1=B2),0,1)

16、24、30のそれぞれの件数を求めるには、次の式を使います。

16の場合 =SUMIF(A:A,16,C:C)
24の場合 =SUMIF(A:A,24,C:C)
30の場合 =SUMIF(A:A,30,C:C)
550名無しさん@そうだ選挙にいこう:04/06/14 23:19
グラフについて質問なのですが、
データラベルの「パーセンテージ」は基本的に
円グラフとか以外だと表示出来ないんでしょうか?
縦棒とか横棒は・・・ムリなんでしょうかね?
>>544
>>532は罫線と図形の直線を混同している可能性に賭けよう。
>>550
普通に表内でパーセンテージを計算して、
それを元にグラフ作ってデータラベル出す。
>>550
そんなことはないと思うのだが
チョト今日は眠いのでまた明日
554名無しさん@そうだ選挙にいこう:04/06/15 00:01
教えてください。
関数DCOUNTAを使う場合

 A    B    C    D    E
1 型番  年      型番   年
2 12-D 45     12-D  45
3 12-D4 62
4 12-D 62
5 12-D5 45

=DCOUNTA(B3:C7,,E3:F4)
で12-Dかつ45は1個と出したいのです。

家(EXCEL2002)では問題なくできたんですが
会社(EXCEL2000)では
5行の12-D5もカウントしてしまって2個となってしまうのです。

どうしたら会社のパソコンでも正しくカウントできるでしょうか?
バージョンのせいだけなのか、よくわからないのですが。。。
555554:04/06/15 00:06
=DCOUNTA(A1:B5,,D1:E2)でした。すいません。

しかも、かなりわかりづらいですね。
B列が上から

45
62
62
45
です。
556名無しさん@そうだ選挙にいこう:04/06/15 00:26
「シートA」のA列に文字を入力すると、「シートB」のA列から
オートコンプリートさせる、みたいな事はできますか?

例えば、「シートB」のA列に商品名がズラーっと書いてあって、
「シートA」のA列の任意行に「え」と書くと「シートB」の「え」から
始まる商品「えんぴつ」がオートコンプリートで「シートA」A列に入る、
みたいな。

分かりづらい表現ですみません。。
通常ならA2から入力するところを、
A2:Anの範囲にB列の商品名一覧をリンク貼り付けして
2:n行目を非表示にする。

入力はn+1行目からになるので少々見た目がおかしいのと、
データベース的に不完全なリストになってしまうのと、
商品が増えたときの調整が面倒。

入力規則のリストやVLOOKUPを使うほうが何かと楽だと思う。
Alt+↓でリストを呼び出せばキーボードだけでもできるし。
558557:04/06/15 00:51
A1:Anに一覧をリンク貼り付けして、n+1行目をフィールド名、
n+2行目からデータを入力し始めた方が多少マシかも。
559名無しさん@そうだ選挙にいこう:04/06/15 01:42
Win Office共にXPです。
○が2つ以上連続した場合の連続した数を数えたいです。
下記の場合2と任意のセルに返したいです。
セルには○以外にも*や△が入力される場合もあります。

A
1○
2○
3*
4
5○
6○
7○
8*
9○
10
よろしくお願い致します。
>>532
出遅れたけど、
図形描画機能を使って今描かれてる地図の上を
トレースするように地図を新たに描いた方が
いいんじゃないかな。

多少手間かもしれんが、地図みたいなものは
図形描画で描く方が素直だし後々応用も利くし。
>559
B2に↓を入力、下に必要なだけコピ〜。SUMをとる。
=IF(AND(A1="○",A2="○",A3<>"○"),1,0)
>>560
確かにそうだと思う。カーブの道もかけるしね。
地図サイトで主要な道だけをトレースしてもいいんじゃないの?
その方が正確だし作業が早そう。
563名無しさん@そうだ選挙にいこう:04/06/15 18:55
Win2000上のエクセル2000です。
CSV形式でダウンロードしたファイルをエクセルで開くと、
,で区切られずにA列に全部横並びで取得したデータが
入ってしまいます。
別のPCでは正常に(カンマで別セルに区切られる)表示
されるのですが、解決方法を教えてください。
セルの内容をユーザーフォーム上のテキストボックスに表示させる方法について質問させて下さい。

シートをダブルクリックするとユーザーフォームが表示され、
特定セルの内容を表示するマクロを組みたいのですがうまくいきません
ユーザーフォームを表示する部分までは問題ないのですが、
シート上の特定セルをテキストボックスに表示する部分がわからないのです。

ご教授よろしくお願いします。
565ゴッホ:04/06/15 19:35
>>563
開いたあとで、「データ」→「区切り位置」でやるのはダメですか?

>>564

こんな感じでしょうか?

UserForm1.Show
UserForm1.TextBox1.Text = Target.Text
Cancel = True
 ↑
先にTextに代入しないと反映されない。
Target.Textじゃ>564は理解しずらいと思う。
>>565
どうもthx。
その方法でとりあえず逃げていますが、ユーザからすると
他のPCではOKなのに漏れのはなんでダメなの?って
言われています。なんででしょ。
568ゴッホ:04/06/15 20:08
>>566
>先にTextに代入しないと反映されない。

失礼しました。ほんとですね。

Dim AAA As String
AAA = Target.Text
UserForm1.Show
UserForm1.TextBox1.Text = AAA
Cancel = True

ただ、ユーザーフォームのShowModalがFalseの場合は、さっきのでもいけます。

>Target.Textじゃ>564は理解しずらいと思う。

ん、どういうこと?
別に、Activecell.Textでもいいけど。←こういうこと?

>>567

何でそうなるのかは、俺にはわかりません。ごめんなさい。
569ゴッホ:04/06/15 20:17
>>567
>先にTextに代入しないと反映されない。

あ、こういう意味か。

UserForm1.TextBox1.Text = Target.Text
UserForm1.Show
Cancel = True

Showの前に入れたほうがいいね。
>>564
コントロールパネルの[地域]の設定が日本になっているかどうかを確認してください。
日本になっている場合には数値タブの[区切り記号]がピリオドになっているかどうかを確認してください。
番号間違えた・・・
>>570>>563宛です。
>>570の[区切り記号]はピリオドじゃなくてカンマだと思う。
573名無しさん@そうだ選挙にいこう:04/06/15 21:45
 AB  
1□□   あ
2□□   あ
       
二つのセルを使って一文字ずつ入力したいんすけど
どうやったら入力できるんすかね

すいません 解決しますた(汗
574=573かな?
576名無しさん@そうだ選挙にいこう:04/06/15 23:14
すみません質問させて下さい
エクセルってファイルをまたいで、複数のファイルから
キーワード検索ってできますか?
WinXP、Excel2000の環境なんです。

複数のブックを一つにまとめたいんです。
1つのブックにはシートは1つしかありません。
シートのコピー/移動でやってるんですが
50〜100くらいあるものを一度にコピー/移動って
できないものでしょうか?
580名無しさん@そうだ選挙にいこう:04/06/16 10:21
Windows2000+Excel2000です。
ファイル名を取得してシート名にする方法って無いでしょうか?
581564:04/06/16 10:22
一旦セルの内容を変数に代入してやる必要があるんですね・・・
ゴッホ様、>>566様どうもありがとうございました。
582564:04/06/16 10:35
>>569
あ、特に変数作る必要もないのか・・・失礼しました
583578:04/06/16 11:19
>>579
ありがとうございます。
「Excel Add-ins」と言うのをDLして使ってみたんですが
実行エラー13
型が一致しません。
と言うエラーが出てダメでした。

もう少し探してみます。
>>580
ActiveSheet.Name = ActiveWorkbook.Name
とか
今日の日付を取得する関数で、Today関数のように
ブックを開く毎にその日付を取得するのではなく
作成時だけ取得して、あとは固定、と言うような関数ってないでしょうか?
自動計算をはずして桶

そんなことよりなんのための表計算かと  小一時間  ブツブツブツブツ
前スレで似たような話が出ていて、

Ctrl+; を使え

今日の日付を取得するマクロを作成して、ツールバーやフォームのボタンに割り当てる

If Range("G1") = "" Then
Range("G1") = Date
End If

などが解決策として挙げられていました。
588名無しさん@そうだ選挙にいこう:04/06/16 21:07
日付を入力したらその時の借入金の残高の合計を表示するようにしたいのですが、
どうすればよいでしょうか。
Excel2000です。
   A     B          C    D     E        F
1   回 返済日   元金返済分  利子  返済合計 借入残高
2   1  6月10日        0   300     300    20000
3   2  7月10日     50000   250   50250    15000
4   3  8月10日     50000   200   50200    10000
5   4  9月10日     50000   100   50100     5000
6   5  10月10日     50000    50   50050      0
7      
8      今日の日付 6/15  借入残高 15000円←??
>>588
vlookupを調べてみそ
590名無しさん@そうだ選挙にいこう:04/06/16 21:19
IF関数で、やっていく方法。
返済日の各セル=今日の日付
Trueだったら、借入残高のセル=F列の借入残高該当セル
Falseだったら、次の返済日セルをIF関数で判定。

式が、長くなるけど、それ以外は思いつかないな。
591588:04/06/16 21:42
>>589,590
ありがとうございます。
VLOOKUPでできそうです。
助かりました〜。
>>578
1)新規のフォルダを作成し、そのフォルダにまとめたいブックをコピーする
2)新規のエクセルファイルで、ツール→マクロ→Visual Basic Editorを選択
3)挿入→標準モジュールで出来たModule1をダブルクリックし、下のSub Test()からEnd Subまでをコピペ
4)Visual Basic Editorのウィンドウを閉じて、1)で作ったフォルダの中に名前を付けて保存する
5)ツール→マクロ→マクロで、Testマクロを選択して実行

Sub Test()
 On Error GoTo MoveStop
 Dim BookName As String
 Dim xlsFile As String

 BookName = ActiveWorkbook.Name
 Application.ScreenUpdating = False
 xlsFile = Dir$(ActiveWorkbook.Path & "\*.XLS")
 While xlsFile <> ""
  If xlsFile <> BookName Then
   Workbooks.Open FileName:=ActiveWorkbook.Path & "\" & xlsFile
   Sheets(1).Move After:=Workbooks(BookName).Sheets(Workbooks(BookName).Sheets.Count)
  End If
  xlsFile = Dir$
 Wend
MoveStop:
 Application.ScreenUpdating = True
End Sub
>>592
その程度に時間かかり杉。
594559:04/06/16 22:57
>>561
ありがとうございます!対応できそうです。
561さんのやり方で全く問題ないのですが、他のやり方が
思いつく方はレスいただけると非常に助かります。
>>593
家についてログ呼んでコード書いてテストして書き込みするのに
30分もかけてちゃだめですかそうですか。ごめんなさい。
596名無しさん@そうだ選挙にいこう:04/06/17 00:07
?を印刷すると・に化けてしまうのですが、、、
どのように対処すればよいのでしょうか?

Excel 2000です。
597596:04/06/17 00:08
すみません、?じゃなくて立法メートルです。
599596:04/06/17 00:20
>>598

もの凄く有難うございます!
600名無しさん@そうだ選挙にいこう:04/06/17 08:01
コンボボックスやリストボックスを挿入し、コントロールの書式設定→コントロールで、
「リンクするセル」を、「現在選択しているセル」に設定できないんでしょうか?

何がしたいのかというと、リストボックス(コンボボックス)に候補群を入れておいて、リストボックス内で
選択した文字列を現在カーソルがあるセルに入力したいのですが・・・
601名無しさん@そうだ選挙にいこう:04/06/17 11:22
EXCEL2000で、
以前まで、数値を入力してリターンキーを押すと、カーソルが下へ移動したのですが、
カーソルが下へ移動せず、元のセルにとどまっています。

どうすればリターンキーを押したときに下のセルへ移動するのでしょうか?
よろしくお願いします。
ツール⇒オプション、編集タブ
>>601
動きたくないんだろうな…。

ツール → オプション → 編集 の 入力後にセルを移動する のチェックは入ってる?
>>602-603
ヽ(゚∀゚)ノ できました、ありがとうございます。
電話料金の変化

0-3分 : \10
3-6分 : \20
6-9分 : \30
・・・・・・・

というような階段状のグラフを作成する方法をご存知の方がいれば
教えていただけませんでしょうか
EXCELで、2つの別ファイルにあるシート同士の差分をとりたいのですが、
簡単な方法はありますか?
>>606 データーベースですか?
>>605
x | 0 1 2 3 4 5
----------------------------------
y | 10 10 10 10 20 20

ガウス関数?
ふむ
610名無しさん@そうだ選挙にいこう:04/06/17 16:30
売り上げ分析などのグラフを自動打ち出しするマクロ作るための
関数調べでこのスレ見つけたけど、すごい発言量なので、探すのも
大変ですね。どうしてもわからないときはまた聞きに来ます。
611名無しさん@そうだ選挙にいこう:04/06/17 20:11
&heart;
ワークシートメニューバーが表示されないんすけど
どこをどういじれば直りますかね?
また表示されてるワークシートメニューバーをどうやったら消せるんでしょ?
>>612
表示
614名無しさん@そうだ選挙にいこう:04/06/17 22:28
過去5日なり、10日なりの売り上げ数字を打ち込み、数字打ち込んで
ボタン一つ押せば、毎日更新。合計なり、平均値なりを自動的に
グラフにしてくれるようなマクロはどこかに転がっていないですか?...。
結構探したんですけどね。まだ見つからずです。
>>614
目的が分かってんだから、自分で久米。
ひょっとして【素人が】…  のアナログ上司?
>>614
そうゆうのは、
お金を出してソフトハウスに作ってもらうか、本を読んで勉強して自力で作るかです。

自力で作ることは容易ではないが、時間をかければ出来る範囲です。
本1冊と1週間くらいの時間と熱意が必要です。

フリーソフトで色々ありますが、要望するものはほとんど無い。
フリーソフトでVBA研究しようとしたら
パスで保護されてて見れないし
減るわけじゃないし見せたっていくないか?
>>618 本を買いなさい。 解説の無いVBAは理解するのに時間がかかる。
620名無しさん@そうだ選挙にいこう:04/06/17 23:16
VBAで
A3からG8を選択しようと思って、次のようにしても、うまくいきません。

temp_line = 3
Range(Cells(temp_line, 1), Cells(temp_line + 5, 7)).Select

なぜでしょう。教えてください。
>>600
リストボックスにマクロを登録すれば出来ます。

ActiveCell.Value = ActiveSheet.Shapes(Application.Caller).OLEFormat.Object.Value
>>620
Cellsが返すのはRangeオブジェクトであり、
Rangeオブジェクトの引数は、セル番地を表す文字列。
その時点でまずおかしいし、文字列はダブルクォーテーションで
囲まないといけない。
623名無しさん@そうだ選挙にいこう:04/06/17 23:52
>>622
それじゃあ、
Range("A"+CStr(templine),"G"+CStr(temp_line))
とかって、するのが、普通なんですか?

もし、列の方に、変数を使いたかったら、いちいち、1 => A みたいに
変換するしかないんですか??

なにか、列、行を数字で扱えて、セルやレンジをうまく指定する
方法ってないですか?
>>623
なんで最も外側がRangeじゃないといけないのかを
まず説明してクレヨ。
あと、文字列の接続には&を使う。
何言語つかってたの?
625名無しさん@そうだ選挙にいこう:04/06/18 00:01
>>624
JavaとかRuby使ってます。

Range.select
With Selection
……
End With
ってやって、罫線を引こうかと。。
>>620をコピペして実行したら問題なくA3からG8が選択されたんだけど・・・
何が問題なの?
というか、>>620のも普通に動くが?
カブタ…
629名無しさん@そうだ選挙にいこう:04/06/18 00:19
何が問題なのかが分からないから問題なんですよ!!
コンチキショウ!!!
なんだキテガイか…
631名無しさん@そうだ選挙にいこう:04/06/18 00:38
excel97です。

T. 仮にA1に住所がはいっていて、そのA1を参照しているセルをすべて知りたいときは
どうすればわかるでしょうか? 教えてください。

U. 作成中のファイルに、別のファイルからシートを一枚だけコピーしたのですが、そのシートが
元のファイルの中の別のシートの中のセルを参照していて、新しく作成した
ファイルを読み込むたびに警告のメッセージがでます。
警告されている意味はわかるのですが、どのセルで参照しているのかがわかりません。
その参照しているセルを調べる方法をわかる方教えてください。

よろしくお願いします。
1.参照元のトレース
2.ブック全体で \ を検索

ローマ数字は使用しないこと
1.参照先のトレース の間違いでした
634名無しさん@そうだ選挙にいこう:04/06/18 00:54
セルの値が文字列で例えば、
'3*4*5
と入っているとして、この計算結果(この場合なら60)を
求められるような関数かVBAの記述はありませんでしょうか?
635620:04/06/18 01:05
すみません。
実行するマクロを間違ってました。(Macro3で作ったのに、Macro2を実行してました)
みなさんありがとうございました。

ちなみに629は私ではありません。
636612:04/06/18 07:57
表示ってどこにあるんでしょ?
>>635
あっちゃゃゃゃゃゃゃゃゃゃ


それではね  (・ω・)ノ
>>636
メニューバー の中

それ自体が出てナインだっけ??? ググッテちょうらい。
>>612
ツールバーを右クリック>ユーザー設定>ツールバータブ
640585:04/06/18 13:59
>586-587
どうもありがとう。
自動計算を外すでOKでした。
Ctrl+; もいけました。次回はこれでやっときます。
641578:04/06/18 14:00
>>592
ありがとう。

使わせて頂きましたが、すごすぎです。
これで一つずつやらなくて済み、かなり楽になりました。
ありがとうございました。
642580:04/06/18 14:05
>>584
ありがとうございます。
>>584
「拡張子を除くファイル名をシート名に」だとどう書くんでしょうか?
( ´ー`)σ)Д`) >>622
>>643
そーゆープロパティは知らないからこんなカンジで。
.xls で決め打ちしてもいいんだけどね。

TStr = ActiveWorkbook.Name
For i = Len(TStr) To Len(TStr) - 4 Step -1
  If Mid(TStr, i, 1) = "." Then
     TStr = Left(TStr, i - 1)
     Exit For
  End If
Next
ActiveSheet.Name = TStr
>>634
まともにやると、('A`)マンドクセ
なので手抜きだけど、結果オーライとゆーことで。

式がA1、答がA2のとき。

Sub hoge()
vl = Cells(1, 1)
Cells(2, 1) = "=" & vl
Cells(2, 1).Copy
Cells(2, 1).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
End Sub
>>634
A1 に文字列が入っているとして、
データ→ 区切り位置→ カンマや〜 で次へ→区切り文字 その他で * 次へ
→表示先を $A$2 → 完了

でもって はなから D2 に 計算式 =A2*B2*C2 を入れておく。
 
頭の ' が考えてない(^_-)
648名無しさん@そうだ選挙にいこう:04/06/18 22:23
A1に1という数値が入力してあったとします。それで
B1に

=A1

と入力すれば1が返されますが、そうじゃなくて

A1と返すようにするにはどうすればいいですか?
>>648
セルの書式設定のなかの文字列ではいかんのか?
650名無しさん@そうだ選挙にいこう:04/06/18 22:50
>>648

さんくす。それだと
=A1
が文字列として返してくるね。この状態から=記号を取り除ける???
>>648
=SUBSTITUTE(CELL("address",A1),"$",)
っつーか、なんでこんなことせにゃならんのだ?
ふつーに、B1セルに A1 と書けばよいのでは?
652名無しさん@そうだ選挙にいこう:04/06/18 22:58
>>651
おお!すげーサンクス。やらないといけない理由はコピーしたときに相対参照
してほしいからかな。

なんども須磨祖。でも本当にやりたいのは

A1:A3

とかを返すこと。

=SUBSTITUTE(CELL("address",A1:A3),"$",)

だとA1しか帰ってこないみたい。。。
>>652
(1) [ALT] + [F11] で VBエディタを開き、
(2) 「挿入」から「標準モジュール」を追加。
(3) Module1 をダブルクリック。
(4) 下記のコード(3行)をコピペ。

Function Aho(Target As Range)
Aho = Target.Address
End Function

(5) B1 には下記のように指定する。
  =SUBSTITUTE(Aho(A1:A3),"$",)

Excel2000 以上なら、(4) の2行めを下記のようにして、
Aho=Replace(Target.Address,"$","")
B1 には =Aho(A1:A3) としても動くと思うが、
いま使っているのが、Excel97なので動作確認はできない。
654名無しさん@そうだ選挙にいこう:04/06/18 23:47
>>653 をはじめとするみなさん
マジでありがとう。できました。
ここの人は天才だと本当に思いましたよ。
自分はVBAはできるほうだと思いましたが、まだまだです。
>>653
Aho=Target.Address(false,false) で良いのでは?
656名無しさん@そうだ選挙にいこう:04/06/19 01:17
UserForm1.Show
ユーザーフォームを表示させると画面の真ん中に出てきてしまうんですが、
指定した初期位置に出すことはできないんでしょうか?
(もしくは前回保存時の位置に)
>>656
こんな感じで。

Private Sub UserForm_Initialize()
Range("A1").Value = 50
Range("A2").Value = 100

Me.StartUpPosition = 0
Me.Top = Range("A1").Value
Me.Left = Range("A2").Value
End Sub
>>656
ユーザーフォームのプロパティで
StartUpPositionで手動
TopとLeftの値を設定
>>634
A1に'3*4*5 B1に計算結果(60)を表示させる場合

Sub Test()
 ActiveSheet.Range("B1").Formula = "=" & Range("A1").Value
End Sub



たまたまこれを見つけたが、式まで同じ・・・
http://www.keep-on.com/excelyou/2001lng2/200108/01080043.txt
660634:04/06/19 11:07
>>646,647,659
うまくできました。
もしかして無理かなと思っていましたが、
方法はあるものなんですね。
皆様、ありがとうございました!
661634:04/06/19 11:10
>>659
うわほんと、式まで同じですね。
もちろん私ではありません。
フォルダ内に複数のcsvファイルがありまして
それをExcelで読み込む→要らない行を削除→Excel形式で保存
と言うマクロを作ったのですが、全てのファイルを一度にやるには
どうやればいいのでしょうか?

マクロには例にしたファイルを読み込む命令しか作っていないので
これを「全てのファイル」に適用させたいのです。
フォルダーの中のファイル名一覧表を格納して
ファイル名を切り替えたあとに
変換プログラムを動かすでしょうね
664662:04/06/19 14:24
ちなみにこんな感じになりました。
C:\folder 内にすべてのファイルが入っています。

Sub text2xls()
'
' text2xls Macro
' マクロ記録日 : 2004/6/19 ユーザー名 : name
'

'
ChDir "C:\folder"
Workbooks.OpenText Filename:="C:\folder\DSC_file001.txt", StartRow:=1, _
DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter _
:=False, Tab:=True, Semicolon:=False, Comma:=True, Space:=False, _
Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1))
Columns("A:A").ColumnWidth = 21.88
Columns("B:B").ColumnWidth = 20.38
Rows("2:28").Select
ActiveWindow.SmallScroll Down:=27
Range("2:28,30:30,34:53").Select
Range("A34").Activate
Selection.Delete Shift:=xlUp
Range("A43").Select
ActiveWindow.SmallScroll Down:=-27
ActiveWorkbook.SaveAs Filename:="C:\folder\DSC_file001.xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
End Sub
>>662

>>592を参考にすれば出来るのでは?
>>662
下記のように、Dir() でファイル名(fn)を次々に取得する。

Dim fn As String
Dim Path As String
Path = "E:\folder\..." ' ← csv ファイルのあるパスを指定
ChDrive (Path)
ChDir (Path)
fn = Dir("*.csv")
While fn <> ""
ここに処理を書く。
fn = Dir()
Wend
667名無しさん@そうだ選挙にいこう:04/06/19 17:32
VBA 複数のシートの中から、現在アクティブになっているシートのすぐ左側の
シートを選択する方法をお教えください。
>667

If ActiveSheet.Index > 1 Then ActiveSheet.Previous.Activate
669667:04/06/19 18:11
>668
さっそくの解答ありがとうございました。
勉強になりました。
670656:04/06/19 19:44
>657-658
ありがとうございます、勉強になりました。

ブ厚い本買ってきてもそこまで細かいところまで解説されてないんですよね・・・
671名無しさん@そうだ選挙にいこう:04/06/19 21:32
VBAで、1秒単位未満を表示させたいのです。
Cells(行, 列).Value = Now()
Cells(行, 列 + 1).Value = Time

セルの書式設定は、
m/d h:mm:ss.000
です。

コマンドボタンを押した時に、1/10秒や1/100秒単位まで、表示したいのですが、
秒単位までしか記録されません?
どうしたらいいでしょうか?
 
>>671
Cells(行, 列).Value = [Now()]
673671:04/06/19 22:07
>>672
できました。ありがとうございました。
674名無しさん@そうだ選挙にいこう:04/06/20 03:01
VBEのプロジェクトエクスプローラで、VBAProjectを右クリック→VBAProjectのプロパティ→保護→
「プロジェクトを表示用にロックする」をオンにしてパスワードを設定しても、開く時にパスワードを入力
する画面も表示されず、そのまま開けてしまいます、、、
どうすればパスワードロックがかけられるんでしょうか??
他にそれらしい項目がまったく見当たりません、、、
675名無しさん@そうだ選挙にいこう:04/06/20 09:50
至急!


エクセルで、行幅と列幅を同じ数値に設定しても、セルが正方形にならんのはいかに?


おねがいしまっす★”
エクセル2000を使ってますが
作った表以外のセルを非表示にする事はできないでしょうか?
(スクロールすると、データの入っていないところもずっとスクロールできるのが
不自然な感じで・・・)
>>675
単位が違う
 幅:表示される数値は、標準フォントで 1 つのセルに表示できる
   数字 0 〜 9 の平均の数です
 高さ:(フォントの)ポイント数
>>676
全然不自然ではありませんが、無理してやりたいなら次の方法。

【方法1】
ツールバーの「表示」で「改ページプレビュー」にする。
(対して変わらないが)

【方法2】
使わない行・列を非表示にする。
例えば、A1からF16の範囲にデータなどがあり、他のセルを表示
させたくないのであれば、
・Ctrl+↓で最下行(65536)に移動し、65536行を選択してから
 スクロールバーをぐいっと17行が見えるまでスクロールさせて、
 そのままShiftを押しながら17行を選択。
 これで17〜65536行を選択して右クリックの行の非表示。
・Ctrl+→で列も同じ事を行う。

ちなみにこんな馬鹿なことをやると、各所から嫌味を言われる
可能性があるのでお勧めしない。
VBAで選択した範囲のセルの文字列のトリミングをするマクロ
なんですが、
Sub Trim()
Dim e As Range
For Each e In Selection
e.Value = LTrim(RTrim(e.Value))
Next
End Sub

上記でe.Value=Trim(e.Value)とするとTrimの引数の型が一致
しないとコンパイルエラーがでます。Excel2002なのですが、
これなぜでしょうか。
>>679
エラーが出るセルには何が入ってんの?
そのセルの型は?
>>674
パスワードを設定して、保存してからExcelを終了して、もう一度そのファイル開いて
いるけどパスワードが設定されていないということでしょうか。
>>679
Sub Trim() ←関数名を変える
>>675
列幅変更位置で長押しクリックすると
例えば 幅:8.38(72ピクセル) のように表示されるから
今度は行の方を72ピクセルになるように変更する。
私の場合 高さ:54.00  この数字を行の高さに設定する。
>>676
表示は消えないけど固定する方法なら。
例えばA1:H20の表ならI21を選択して
ウィンドウ→うィンドウ枠の固定
685682:04/06/20 11:40
「関数名」じゃなくて「マクロ名」だった・・・。

マクロ名が既存の関数名(この場合Trim関数)と同じだからエラーが出るんですよ。
686名無しさん@そうだ選挙にいこう:04/06/20 13:13
excel97で、他のシートのセルを参照しようと、=押して他のシートのセルを選択したところ、
エラーがでました。(value#)
参照したセルは結合したセルで、数式バーをみたところ、シート名の前に ’ が入っていて、
セルもa8:a14といった形で表示されています。
”:a14”を削除すれば直りましたが、大量にコピーするため、いい回避方法があれば教えてください。
>686

サパーリワカラン
何がしたいのか、それを書け

Sheet1のA1:A10 を選択して = といれ
Sheet2のA1を選択してから、Ctrlを押しながらEnter

こう言う事か?
688名無しさん@そうだ選挙にいこう:04/06/20 14:08
すみません。
500位のデーターなんですが、そのうちのある文字(ex:欠勤)がある
データーの数だけカウントしたいのですがすぐできる方法ありますか?
ひとつひとつ数えてもいいのですがちょっと大変で。
わかる方お願いします。

690VBA初心者:04/06/20 15:10
Excel 2003 を使用しています。

テーブルデータが入った SaveFile.csv 内のテーブルをHTML形式で
test.htm という名前で保存するマクロを作りたいと思い、マクロの記録
で作成されたコードを見たところ、色々疑問が出てきたので、識者のかた
教えていただけないでしょうか。

・質問1
以下のSaveFile_31647 の_31647の意味が分かりません。なぜこんな数字が
勝手についているのでしょうか?

---------------------------------------------------------------------
'列幅自動調整
'範囲選択
Cells.Select
Cells.EntireColumn.AutoFit
ActiveSheet.UsedRange.Select


'HTML形式で選択範囲を保存
With ActiveWorkbook.PublishObjects.Add(xlSourceRange, _
"C:\Documents and Settings\test.htm", "SaveFile", "$A$1:$I$26", _
xlHtmlStatic, "SaveFile_31647", "")
.Publish (True)
.AutoRepublish = False
End With
---------------------------------------------------------------------

691名無しさん@そうだ選挙にいこう:04/06/20 15:13
COUNTIFとか
692VBA初心者:04/06/20 15:24
Excel 2003 を使用しています。

テーブルデータが入った SaveFile.csv 内のテーブルをHTML形式で
test.htm という名前で保存するマクロを作りたいと思い、マクロの記録
で作成されたコードを見たところ、色々疑問が出てきたので、識者のかた
教えていただけないでしょうか。

質問2
以下の.Publish() , .AutoRepublish というのはどういう意味でしょうか?

---------------------------------------------------------------------
'列幅自動調整
'範囲選択
Cells.Select
Cells.EntireColumn.AutoFit
ActiveSheet.UsedRange.Select


'HTML形式で選択範囲を保存
With ActiveWorkbook.PublishObjects.Add(xlSourceRange, _
"C:\Documents and Settings\test.htm", "SaveFile", "$A$1:$I$26", _
xlHtmlStatic, "SaveFile_31647", "")
.Publish (True)
.AutoRepublish = False
End With
---------------------------------------------------------------------
693VBA初心者:04/06/20 15:24
Dim 表 As Range
Set 表 = ActiveSheet.UsedRange.Select

ここで、「表」の範囲が例えば、$A$1:$I$26の場合に
「表」から文字列 "$A$1:$I$26" を得る方法を教えて
ください。
>>690,>>692
VBEのヘルプに載ってます。
>>693
Dim 表 As Range
Set 表 = ActiveSheet.UsedRange
MsgBox 表.Address
Excelのファイルって、別のフォルダにコピーすると
そのフォルダ内のファイルの「作成日時」は今日のものになっちゃいます?
かなり前に作ったファイルをコピーしたんですが
コピー先で開いたらそうなってたんで・・・
コピーを作成したのが、今日なんだから、至極当然のような…
698名無しさん@そうだ選挙にいこう:04/06/20 17:16
ちょっとお伺いしたいのですが
A列に約400人くらいの名前が入っていて
そのA列でデータ→フィルタ→オートフィルタで名前を検索しながら
次から次へとその名前の右へ移動しB列からR列くらい?(各名前によって違う)までデータを入力してる最中なのですがそのA1セルで▽マークを押さなくても何かショートカットを押せば展開してくれるみたいなのがあるのでしょうか?
展開するときのみマウスを使う手間がなんかわずらわしいのです。
諸先輩方よろしくお願いいたします。
alt+F4以外で・・・・・
699698:04/06/20 17:25
すいません 自己解決しました
「Alt + ↓ オートコンプリートの一覧を表示する。」
だったんですね
700VBA初心者:04/06/20 18:12
>>695
ありがとうございました。感謝します。

>>694
VBE のヘルプですか。PublishObjects で
検索してみたのですが、引数については
何もでてきませんでした。使用例について
もひとつの例だけでまるでわかりませんで
した。検索の仕方が悪いのでしょうか?
すみませんが、ヘルプのどのあたりに
出ているでしょうか?
>>700
PublishObjects コレクション オブジェクト→メソッド→Addメソッド
→PublishObjects オブジェクトの Add メソッド
702VBA初心者:04/06/20 18:57
>>701
ありがとうございました。
よくわかりました。
EXCELのファイルが検索(Grep)できて、EXCELを起動せず(関数などを実行せず)に
簡易表示できるビューアかファイラーってないでしょうか?
705名無しさん@そうだ選挙にいこう:04/06/20 23:13
印刷範囲についての質問です。
よろしくお願いします。

シート1に40列700行くらいの表、
シート2に10列30行くらいの表を作りました。
シート1はどうということはないのですが、
シート2の印刷プレビューをみて、通常画面にもどってきても、
印刷範囲の点線が出ないのです。
普通は出ますよね?
ファイル−印刷範囲の点線より小さい点のやつが。
出るようにしたいんですが、
もしかしてファイルの一部が壊れてでもいるんでしょうか。
今のところこれ以外の異常はないんですが。
>>705
異常がないならそれでええやん
>>705

ツール→オプション→改ページ
にチェック入れるとどうなりますか?
708名無しさん@そうだ選挙にいこう:04/06/20 23:46
EXCEL2000です。リンク貼り付けについての質問です。
よろしくお願いします。

空白のセルをコピーしてリンク貼り付けしたところ、
貼り付け先のセルに0が貼り付いてしまいました。
0ではなく空白にするにはどのようにすればよいでしょうか?


709名無しさん@そうだ選挙にいこう:04/06/20 23:50
エクセル2000で、以下の住所録があります。

    A      B C D
1 |石川県   金沢市   大久保  1-5-1
2 |神奈川県 横浜市  緑区    下平
… |
80 |埼玉県  さいたま市 大宮区  桜木町

これを、以下のようにしたいのです。

A B C D
1 |石川県金沢市大久保1-5-1
2 |神奈川県横浜市緑区下平
… |
80 |埼玉県さいたま市大宮区桜木町

何かいい方法はないものでしょうか・・・
よろしくお願いいたします。
710名無しさん@そうだ選挙にいこう:04/06/20 23:51
>>708
A1をリンク貼り付けの参照元とした場合

=IF(A1="","",$A$1)
>>706
よくないかもと思ったから質問したんです。しょぼん。

>>707
ありがとうございます。
チェック入れたら点線が出ました。
しかしこれって普段からチェック入ってる項目でしたでしょうか。
ツール−オプションなんてほとんど開いたことないので。
712名無しさん@そうだ選挙にいこう:04/06/20 23:53
>>709
=A1&B1&C1&D1
もしくは
CONCATENATE(A1,B1,C1,D1)
713名無しさん@そうだ選挙にいこう:04/06/20 23:55
>>712
即効回答 感謝。
やってみます。
714707:04/06/21 00:12
>>711

普段はチェックは入っていません。
プレビューすると、自動的に入ります。
ただ、操作の手順によっては、入らないこともあるかもしれません。
いずれにしろ、そんなに気にすることはありません。
自動的に入らなかったら、入れればいいだけ。
715708:04/06/21 00:15
>>710
とてもたすかりました。
ありがとうございました!!
716686:04/06/21 00:20

一度質問をしたのですが、読みにくかったようで、再度書きなおしました。



やりたいこと。
Sheet1のセルB10に、Sheet2のセルB15のデータを参照したい。
(Sheet2のセルB15は、B15からB18まで結合しています)


通常、下記の方法だと思います。

手順1 Sheet1のセルB10を選択し、等号
     (=)を入力。
手順2 Sheet2の見出しをクリックし,セルB15
     をクリックし、 [Enter]を押す。

結果  =Sheet2!B15 がセルB10に入力されます


しかしうまくできないで、#VALUE! が、Sheet1のセルB10にでます。

セルB10の数式バーには、 =’Sheet2!’B15:B18  と、表示
されています。

後ろの:B18を削除すれば、普通に参照できるようになったのですが、
何故、こうなって、どのように回避すればいいのかわかる方お願いします。


>>716
読みづらさはそんなに変わらん。まず、全角英数をなんとかしる。
で、シングルクォーテーションはどうでも良いとして、
そのセルは実は結合されてない、なんてオチなんじゃないの。

安易に解決するなら、数式入れる間だけ、結合解いておき、
終わったら結合すりゃいいんでねぇの。
(つーか、コピーするなら、「:B18」を一回消すだけで済むんじゃ?)
>>716
当方Excel2002ですが、普通に出来ます。
97がないので確認できません。申し訳ない。
719686:04/06/21 00:52

一度質問をしたのですが、読みにくかったようで、再度書きなおしました。



やりたいこと。
Sheet1のセルB10に、Sheet2のセルB15のデータを参照したい。
(Sheet2のセルB15は、B15からB18まで結合しています)


通常、下記の方法だと思います。

手順1 Sheet1のセルB10を選択し、等号
     (=)を入力。
手順2 Sheet2の見出しをクリックし,セルB15
     をクリックし、 [Enter]を押す。

結果  =Sheet2!B15 がセルB10に入力されます


しかしうまくできないで、#VALUE! が、Sheet1のセルB10にでます。

セルB10の数式バーには、 =’Sheet2!’B15:B18  と、表示
されています。

後ろの:B18を削除すれば、普通に参照できるようになったのですが、
何故、こうなって、どのように回避すればいいのかわかる方お願いします。


>>686
>>717さんの言うとおり、実は結合されてないんじゃないかな?
実験でセルB18に何か入れてみて。
シングルクォーテーションは、他のブックを参照する際に
使うものだけど、Sheet2は実際に同じブックなんですか?

ていうか、何も書かずにもう一回同じ質問貼るのは>>717-718に失礼だと思う。
OS:WinXP
ExcelVer:2002

コンボボックスを使う際に、右クリック→コントロールの書式設定で
「コントロール」というタブがありません・・・
A1;A100をコンボボックスでプルダウンリストにするにはどうしたら良いのですか?
プロパティのLinkedcellにA1;A100としても最初の1つが表示されるだけで
プルダウンリストは何も無い状態のままです。

どうしたらいいのでしょうか?
722721:04/06/21 03:15
自己解決しました お騒がせいたしました
723名無しさん@そうだ選挙にいこう:04/06/21 12:04
=ROUNDUP((390.5-388.4)*14/21,1)
=ROUNDUP((2.1)*14/21,1)

 上記2つの式は同じ答えになるはずですが、
 excel97 sr-2では 1.5 、 1.4 と異なる結果がでます。
 何か勘違いしている点があるのでしょうか?
「Excel 浮動小数点数」でぐぐってみる
最後の「数」入らない・・
726723:04/06/21 13:07
情報ありがとうございます。

つまり回避しようがないということですか(汗)
表示桁で計算するを有効にしても、結果変わらないし。。。
727723:04/06/21 13:14
自己補完。
=ROUNDUP((390.5*10-388.4*10)*14/21/10,1)
=ROUNDUP((2.1)*14/21,1)
で一致しました。 ほんと何でこんな仕様が(汗)
x y
1 150
2 #
3 600
4 830
5 #
6 990

↑のようにx列の値があらかじめ決まっていて、y列の値はその都度変わるとします。
y値は分からない場合があります(#で示した部分です、どの部分が分からないかは定まっていません)。
このx,yの回帰直線を最小二乗法(LINEST関数)を使って算出したいのですが、
文字や空白だとエラーになるし、0だと正しい結果になりません。
どうすれば#の部分を無視して計算できるでしょうか?
730名無しさん@そうだ選挙にいこう:04/06/21 16:21
>>728
フィルタオプションで、y列が >0 のデータをA10あたりに抽出して、
それを元にLINEST関数を使うというのはどうですか?
731名無しさん@そうだ選挙にいこう:04/06/21 18:55
マクロとか組み込んだ覚えの無いブックが、ちょっと前から
ただ開いて、すぐ閉じるだけで「変更を保存しますか」なんて
訊いてくるようになっちゃったんですけど、これは
何の設定を変えれば、訊いてこなくなりますか?

本当に何も変えてないし、Openイベントどころか、マクロの
一つも入っていません。
732データ入力:04/06/21 19:00
たとえば1000のデータを10人で分担して入力した場合、データを一覧するために
一まとめにしたい場合どうすればいいのでしょうか。
初歩的な質問だと思いますがよろしくお願いします。
734名無しさん@そうだ選挙にいこう:04/06/21 20:10
>>728
=IF(OR(Y1=0,Y1=""),"",LINEST〜)

では駄目なんでしょうか
(Y1のセルが0か空白以外の場合にLINESTを計算する)
>731
TODAY,NOW,RANDなど、[数式の結果=可変]となる関数がどこかに含まれていると
ブックを開いて閉じるだけでも保存の確認をしてきます。

>732
ブック10個くらいなら、
Aさんが担当したブック1からまとめブックにコピペ、
Bさんが担当したブック2からまとめブックにコピペして付け足し、
Cさんが担当したブック3から…と繰り返すだけでも十分かと思います。
736731:04/06/21 20:32
>>735
ありがとうございます。
=TODAY()使ってました…
ちょっと考えます。
どうもでした。
737711:04/06/21 20:57
>>714
おそくなってすみません。
解説ありがとうございました。
ほっとしますた。
>>680
セルには文字列が入っています。
書式設定はしておらず、デフォルトのままです。
なんか気持ち悪いというか、理由が知りたいのです。
>>682
おお、それですな。
あほらしいというかなんというか、、、
740名無しさん@そうだ選挙にいこう:04/06/22 00:35
VBAを使わずに、ワークシートの順番を並べ替えることはできないんでしょうか?
どこを探してもそれらしき項目が見当たりません。
>>740
ワークシート名の上で右クリック、移動
742740:04/06/22 00:45
>>741
言葉足らずでした。
右クリでドラッグしながらひとつずつ並べ替えるのではなく、ソートすることはできないんでしょうか?
743名無しさん@そうだ選挙にいこう:04/06/22 00:57
MMULTを用いた行列積の計算に
複素数の行列成分を含む行列は使えないのでしょうか?
#VALUE!と出てきてしまいます。
使えないなら他に方法はないでしょうか?
>>742
EXCELの標準の機能にはありません。
フリーソフトのアドインを探せばそのようなものがあります。
>>744
それもVBAだな
>>742
ttp://www.officetanaka.net/library/sample/xlsheet_sample.htm

これ一度使って味噌  結構重宝してるよ
747名無しさん@そうだ選挙にいこう:04/06/22 14:39
SUMとかで出た数値の桁数を変えるのはどうしたらいいですか?SUMででた10000を10と表示するってことです。
748名無しさん@そうだ選挙にいこう:04/06/22 16:32
同じブックの一枚目のシートのA列に探したいコードが並んでいて、2枚目のシートにデータがあります。
一枚目のA列と2枚目のY列のコードをマッチングして、一枚目のC列以降に2枚目のK列を羅列したいのです。

最初A列とY列をVLOOKしてK列をつけていたのですが、Y列のコードが同様でもK列のデータが
異なる場合、一番最初のK列のデータしか拾わず、複数のデータが拾えなくて…

どうにかする方法があるでしょうか?
749728:04/06/22 17:43
>>730
返答、ありがとうございます。ただ私の求めている物とはちょっと違いました。
説明不足ですいません。

A B  C
1 150 XXX
2 #
3 600
4 830
5 #
6 990

前述のように、↑のXXXの部分に"=LINEST(B1:B6,A1:A6)"と入れると、
B列に#があるためエラーになります。(#のかわりに空白でもエラー。0だと計算結果が違ってくる)
後から#の部分に入力しようが、逆に一部の数値を消して#にしようが、
常に#の部分を無視した計算結果をXXXに表示したいのです。
無理でしょうか・・・
750742:04/06/22 19:43
>>744-746
回答ありがとうございます。
ワークシートのソート機能くらい標準であっても良さそうなもんだと思うんですが・・・
>746早速使ってみます。
751名無しさん@そうだ選挙にいこう:04/06/22 22:08
>>748

Y列のコードをちゃんと昇順にしてる?
752名無しさん@そうだ選挙にいこう:04/06/22 23:40
次のようなデータを文字列として並べたのですが
1'10"12 というのは、そのまま 1'10"12 で
1'10"2 っていう文字なら 1'10"02 って置換させたいです。
これをVBAで書くとどういう条件になるでしょうか?

ちなみに、57"23とかいうデータもあります。

つまり、"の後ろに2バイトある場合っていう条件をつくりだいです。

よろしくお願いします。
>>747
セルの書式設定→表示形式→ユーザー定義で

#,##0,;-#,##0,

にするとか。
0を非表示にするなら

#,##0,;-#,##0,;
>>752
C5に元データがあるとして、
=MID(C5,1,SEARCH("""",C5)) & TEXT(MID(C5,SEARCH("""",C5)+1,2),"00")
とか。1'10"12の10が一桁の場合もあるのなら、これでは駄目だけど。
>>754
あ。VBAか。でも同じような関数でできますな。
756名無しさん@そうだ選挙にいこう:04/06/23 00:00
>>755
あ、なんかできそうな気がします。
どうもありがとうございます。

If LEN( Mid(C5,SEARCH(""",C5)) ) = 2
って感じでいけそうですね。
757Excel2002:04/06/23 00:01
  ABCDEFG
甲 ACE
乙 BC
丙 ADG

ってのを

  ABCDEFG
甲 A C E
乙  BC
丙 A  D  G

っていう風にするには、どうしたらいいですか?
ちなみに、先頭行にある列の項目名とデータ内容は同じです。
レコード数が多すぎて、一つづつやるのは、死にそうです。

誰か助けてください。お願いします。
>>756
format()で一発かも、、、
>>757
項目名はアルファベット一文字?
760Excel2002:04/06/23 00:16
>>759
いえ、正確には、アルファベットと数字の混じった文字列です。

HPでリンクされているワードやエクセルファイルを開こうとすると、
通常はIE内で表示するはずなのにIEがフリーズします。
OS再インストしたばっかりなのですが、
何か設定しなければならないのですか?
教えてください。
762名無しさん@そうだ選挙にいこう:04/06/23 00:38
質問です。
Excelで、円線図用紙でグラフをかくことは可能なのでしょうか?
教えてください。
お願いします。
763名無しさん@そうだ選挙にいこう:04/06/23 00:45
ワークシート関数で、大文字を小文字(またその逆)にするものってありますか?
  A→a

全角→半角(ア→ア)はJISとASCで出来るのは分かったのですが。。
764名無しさん@そうだ選挙にいこう:04/06/23 00:49
VB初心者なんですが、
なぜ↓ってエラーになるんでしょう。2行目でオブジェクトが必要ってでてしまいます。

temp_cell = Cells(13, 8)
MsgBox temp_cell.Text

なんかVBってややこしいなぁ。
>>764
temp_cellってのは、宣言していない場合、Variant型の変数であり、
Variant型の変数に「.Text」というプロパティは存在しないわけです。
エラーは「.Text」というプロパティが存在するオブジェクトを用いて下さい、
って意味です。
それぞれの用語が分からない場合は、ヘルプか、Googleに訊いてみましょう。

>>761
・IEを最新に(最新の場合は修復)してみる。
・Excelを再インストールしてみる。
・そのフリーズするサイトをここで晒してみる。
766764:04/06/23 00:58
>>765
あ、なるほど。
Javaやってたんで、なんとなくわかります。
そういうことか。
>>763
LOWER関数 UPPER関数 PROPER関数

でぐぐって味噌  (^^♪
>>764
Set temp_cell = Cells(13, 8) でそ。
>>757
ABCDEFGが先頭行
甲乙丙が先頭列とした場合、以下のマクロを実行

Sub Test()
 Dim UsedCell As Range, CheckCell As Range
 
 Set UsedCell = ActiveSheet.UsedRange
 Application.ScreenUpdating = False
 For Each CheckCell In UsedCell
  If CheckCell.Row > 1 And CheckCell.Column > 1 Then
   If CheckCell.Value <> Cells(1, CheckCell.Column).Value Then
    CheckCell.Insert Shift:=xlToRight
   End If
  End If
 Next
 Application.CutCopyMode = False
 Application.ScreenUpdating = True
 Set UsedCell = Nothing
End Sub

実行前に、元ファイルのバックアップをしておいてください。
実行して変だったら、適当に手直ししてください。
770Excel2002:04/06/23 01:35
>>769
うおおおお マジでありがとう。・゚・(ノ∀`)・゚・。
これで、だいぶ仕事が楽になります。
オイラもこれからマクロ勉強してみます。

>>770

>>769の Application.CutCopyMode = False は要らなかった。
別所で書いたマクロの使いまわしだったもので消し忘れ。w
固定長のテキストファイルからデータを切り貼りして
Excel2000で、「009000」などの文字列を数字の9000として認識させたいのですが
セルの書式設定で該当するセルの表示形式を数字にしても9000とはなってくれません。
そして数字として認識されていないため計算もできません。

ただし、一旦F2キーでそのセルを指定すると9000と、数値に表示が変わります。

仕方がないので今はF2キー+TABの連打で数値に変えていますが、
一度に数値に切り換えるもっと良い方法はないものでしょうか?
コピーして「値」で貼り付けでは?
774748:04/06/23 10:13
説明が下手ですいません。。
一枚目のシート      2枚目のシート
0001           0001 あい
0002           0001 うえ
0003           0003 おか
0004           0004 きく
     ↓
0001  あい うえ
0002  おか
0003  きく
としたいのです。重複したコードの場合、K列の値を横に並べたいというか…
検索対象の2枚目のコードはコード順ばらばらです。。
説明が下手ですいません。。
>>748
データーベースのデータ抽出には
サーチとフィルターがあります。 
サーチは最初に見つけたものを取り出します。
フィルターは条件と一致するもの全てを抽出します。

オートフィルターは便利だし、重複するレコードは無視する も使える。
関数にはデーターベース関数があります。
776748:04/06/23 11:46
ありがとうございます。。。
オートフィルターだと、その後、手作業でK列を切り取って該当行に貼り付けなくてはならなくて…
データベース関数だと、何がありますでしょうか?無知でごめんなさい。。
777名無しさん@そうだ選挙にいこう:04/06/23 12:21
>>773
ええ、そうしてるんですが。
どうしても切り替わりませんで。
778名無しさん@そうだ選挙にいこう:04/06/23 13:21
>>772
テキストファイルのインポートで取り込むとか。

>>774
おなじ0001というコードが2つ存在している上にコード順にも並んでいないなんて、
データベース的にどうかと思うけど…
強いて言えば、オートフィルタで二枚目のシートから0001を抽出した結果を
一枚目のシートに行列を入れ替えて貼り付け。
コードがいくつあるかわからないけど、これを繰り返せばなんとかなる。
楽をしたいのならVBAに詳しい方のフォローを待ちましょう。
779773:04/06/23 14:06
>>772
空の別シートに「加算」で「値」を貼り付けではどうですか?
780名無しさん@そうだ選挙にいこう:04/06/23 14:52
if構文で色って指定できるんですかね?
A1のセルの背景が青だった場合、B2のセルの背景を青にするとか。
わかる方いらっしゃったら教えてください。
条件付書式とかなのかな・・・
>>780
条件付書式 excel

とかでぐぐってください
782名無しさん@そうだ選挙にいこう:04/06/23 15:57
780
ぐぐって見たんですけど、参照データの色を参照することができないんです。
セルで条件付書式設定をしたとしても、数値から色を出すのではなく、
色から色を出すことってできるんでしょうか・・・
>>782
↓の方法で色番号を他の列に出してそれを参照すればできるみたいだけど
セルの色を変えてからF2→EnterでとかShift+F9とかしないと色番号は更新されないみたい
http://www.moreexcellent.com/excel/tips/color.htm
784名無しさん@そうだ選挙にいこう:04/06/23 16:58
質問です。

Excelの標準関数でUNIXタイムスタンプ(1970年1月1日からの経過時間)を
yymmdd-hhmmssに変換することは可能でしょうか?
※たとえば1016081160を2002/03/14 13:46に変えたいのです。
785748:04/06/23 17:17
>>774
量が膨大で…
とても手作業ではできないのです…
>>784
1016081160を86400で割ったシリアル値を1970/1/1に足す
>>876
1970/1/1 9:00:00に足すに訂正
IEメニューのExcelにエクスポートっというのはどうやったら
IEメニュー上から解除(消す)できるのですか?
790788:04/06/23 19:10
ありがとうございます。無事消すことができました
791762:04/06/23 19:32
誰もわかる人はいないのでしょうか?
かなり困っています。教えてください。
vbaで図形等のselectを簡単に解除する方法は無いもんでしょうか
キーボードのescを押した時と同じ動作をさせたいのですが。
>>791
書くことは可能でしょうが
めちゃくちゃ手間がかかりそう
フリーソフトを使った方が簡単だと思われ
エクセルでってのが目的ならがんばってがんばって作ってくれ
794 :04/06/23 19:55
>>791
OfficeのVisioを使う。
Visioで書いて、WordなりExcelなりに貼り付けられる。
795 :04/06/23 20:11
>>791
もちろんVisioはCADツールでもあるので、AutoCADのように
縮尺や方眼紙のようにsnap,gridがある。
796784:04/06/23 20:36
>>786-787

助かりました。なんで気が付かないかなぁ・・・
797名無しさん@そうだ選挙にいこう:04/06/23 22:50
Cells(行, 列).Value = [Now()]
Cells(行, 列 + 1).Value = Hour(Time)
Cells(行, 列 + 2).Value = Minute(Time)
Cells(行, 列 + 3).Value = Second(Time)
Cells(行, 列 + 4).Value = Right(Str(Cells(行, 列)), 2) '???

時間を、時、分、秒、10〜100分の1秒 の 4つの数字に分解したいのです。
12:30:14.87なら
12時、30分、14秒、 コンマ87秒 の4つに。
 
2枚目のシートのコードと1枚目のシートのコードのシートは一致しなくていいの?
>>799>>774宛てです。
801名無しさん@そうだ選挙にいこう:04/06/23 23:15
こんにちは。
マクロを使用して、ブック間でシートのコピーをしています。
この際、Range名、計算式等で、自動的にリンクが設定されてしまいます。
リンクをさせないでコピーする方法をご存知の方、教えてください。
>>792
Call SendKeys("{ESC}")
803名無しさん@そうだ選挙にいこう:04/06/23 23:27
OS Office共にXP

○と○の間で、最も離れている間のセル数を数えたいです。
 A
1○
2△
3○
4
5
6□
7
8○
9○

上記の場合なら、A3〜A8で一番離れている『4』を表示したい。

よろしくお願い致します。
>>803
B列に=MATCH(A2,A3:A$10,0)
と入れてから、B列の最大値を求める。
MATCHしないばあい#N/Aがでるので、ifを使って、うまく処理して
>>804
この式はB2にいれて、あとはずずっと下にこピー
A列を1から最終行までダーってループして、
その間に数取って、確認するしかないんじゃないかえ?
>>797
これでそれっぽいのが出る。w
Cells(行, 列 + 4).Value = Int(((Cells(行, 列).Value - Now()) * 24 * 60 * 60 * 1000 + 1) / 10)
808803:04/06/23 23:47
>>804-806
早速のレスありがとうございます!
>>804さんの数式を試してみたのですが、
“4”ではなく“5”が表示されてしまいます。

もう少しお力をお貸しください!
>>803
同じなんですが、

B列にコピー
=IF(A1="○",MATCH("○",A2:$A$10,0)-1,0)

で、回答「中4セル」の4を表示したいせるに、
=LARGE(B1:B10,1)

>>807
それっぽいどころか、完璧です。
ありがとう。
計算の意味はわかりませんが、
シリアル値で時分秒を引いて、余ったコンマ何秒を表示ということでしょうか?
とにかく、感謝です。
811803:04/06/24 00:08
>>809
ありがとうございます!!
MATCHを使う発想がでませんでした。
感謝です!!
>>810
[Now()] - Now() : ミリ秒のシリアル値を取得

* 24 * 60 * 60 : シリアル値を秒に直す

* 1000 + 1 : とりあえず1000倍して整数部を3桁にすると1ずれるので1を足す

/10 : 10で割って整数部を2桁にする

最後にInt関数で整数にする
>>801
再現する方法がわかりません。
801です。
マクロを使わなくてもなんですが、たとえばVLOOKUPなんかの他のシートを参照する関数が入っているセルを別のBookに貼り付けすると
[Book1.xls]・・・ってな感じで自動的にコピー元ファイルへのリンクが設定されると思うんですが、この自動リンクをさせたくないのですが。
なんぞよい方法はあるのでしょうか?
>>814
関数は不要で、値だけをコピーしたいのですか?
817名無しさん@そうだ選挙にいこう:04/06/24 03:07
AccessのテーブルからエクスポートしたExcelで、行や列の表示フォントを変えるには
どうしたらいいんでしょうか?
バージョンはAccess2000とExcel2000です。
おはようございます。
解決済を蒸し返して悪いけど
>>803
B2に =IF(A2="○",0,B1+1)
下にオートフィル
それと最大はLARGEよりMAX
>>817
excel の シート 全体を範囲指定しておいて 右クリ セルの書式設定で

フォントとサイズ で変えられる。
820774:04/06/24 10:14
>>799
2枚目と1枚目のキーは一致してます。。
一枚目の3列目以降に一枚目のA列と二枚目のY列が一致したデータの行のK列を
横に貼り付けていきたいのです。。。
821名無しさん@そうだ選挙にいこう:04/06/24 12:08
ハイパーリンクの設定で、コピペが出来ないようなんですが、
既にセルに入力された『文字列としての』メアド数十件をまとめて
一発でmailto:設定のハイパーリンクに変換できないでしょうか?
数十件なら F2>Enter の繰り返しでよさげ
823817:04/06/24 14:05
>>819
そうではなくて見出しのA,B,C,D・・・とか1,2,3,4・・・とかなんですよ
>>823
らじゃあああ

ツール → オプション → 全般 → 標準フォント →サイズ変更 → 再起動

これでウマァァァァァァァァァァァァァァ  の筈だが
825817:04/06/24 16:47
エクスポートしたのだけ変なんだおね
826817:04/06/24 16:47
>>824
ちなみに直りませんでした
827名無しさん@そうだ選挙にいこう:04/06/24 18:22
会社のエクセルデータなんですが
win95のエクセルだと問題なく開くのですが
フロッピーで移動してXP(excel2002 sp-2)で
開こうとすると「重大なエラーが・・・」と
出て開けません(正確に言うと変な修復がされて
開くんんですが・・)
95→XP と逆のパターンなら以前にもあった
んですが、今回は色々調べてみたのですがわかりません。
ご教授お願いします。
>>827
修復された箇所はわかるの?
>>828
実際、自分が作ったデータではないので細かい所は
わからないのですが、表に使ってた「塗りつぶし」や
罫線などがまったく無くなっていて、表に使ってた
数字だけが順番通りに並んでました。
830名無しさん@そうだ選挙にいこう :04/06/24 19:24
質問です。
エクセルで、tan^(-1)←アークタンジェント
って関数みたいに使うにはどういう風に使えばいいのでしょうか?
831名無しさん@そうだ選挙にいこう:04/06/24 20:30
質問させてください。
3−Dグラフの時には、棒グラフに重ねて折れ線グラフを表示させることは
できないのでしょうか?
>>830
ヘルプ見たか?
833名無しさん@そうだ選挙にいこう:04/06/24 20:49
初心者な質問ですが、よろしくお願いします。
表を作成したのですが、行と列をそっくり入れ替える(縦横をひっくりかえる)
にはどうしたら良いのでしょうか?
834名無しさん@そうだ選挙にいこう:04/06/24 20:55
833です。

行と列の入れ替えでペーストすれば良かったんですね。
今調べたらわかりました。すいませんでした。自己解決いたしました。
835名無しさん@そうだ選挙にいこう:04/06/24 21:57
>>831

無理っぽいね。
まあ、3Dで複合グラフ使うと、かえって見づらくなるような
気もしないでもないが…
836831:04/06/24 22:14
>>835
どうもありがとうございます。
やはり無理ですか。
棒グラフで作ろうと思います。
837名無しさん@そうだ選挙にいこう:04/06/24 23:12
質問です。月の中に指定した曜日が何個あるか調べたいのですが、どうすればいいでしょうか。
ググってみたけど1日ごとに曜日をweekdayで出してから拾っていくようなやり方しか出なくて。
できれば
| 2004/7 | 火曜日 | 4 |
↑ ↑          7月にある火曜日=4つ
といった具合にセルに月と曜日を入力すると結果が出るようにしたいのです。
>>837
月初日である1日の曜日がわかれば、あとは計算で算出できるだろう。
839803:04/06/24 23:23
>>818
丁寧にまたレス下さいまして、本当にありがとうございます!
でも、MATCHの使い方大変勉強になりましたぁー
日々スキルアップのため精進します。
ありがとうございました!
>>774,>>820
2枚目のシートのY列のコード部を選択してから下のマクロを実行。
これでいいですかね。

Sub Test()
 Const Sheet1st = "Sheet1", Sheet2nd = "Sheet2" '1枚目・2枚目のシート名
 Const CodeCol = "A", ValueCol = "K", SetCol = "C"

 Dim CheckCodeRange As Range, CheckCode As Range
 Dim HitRow As Variant
 
 On Error GoTo ErrorStop
 Set CheckCodeRange = Selection
 Application.ScreenUpdating = False
 Worksheets(Sheet1st).Select
 For Each CheckCode In CheckCodeRange
  HitRow = WorksheetFunction.Match(CheckCode.Value, Worksheets(Sheet1st).Range(CodeCol & ":" & CodeCol), 0)
  Worksheets(Sheet1st).Cells(HitRow, Range(SetCol & "1").Column).Select
  While ActiveCell.Value <> ""
   ActiveCell.Offset(0, 1).Select
  Wend
  ActiveCell.Value = Worksheets(Sheet2nd).Cells(CheckCode.Row, Range(ValueCol & "1").Column).Value
 Next
 On Error GoTo 0
ErrorStop:
 Application.ScreenUpdating = True
 Set CheckCodeRange = Nothing
End Sub
841名無しさん@そうだ選挙にいこう:04/06/24 23:27
Excel2002 XP

sheet1の印刷を禁止したいです。他のsheetは通常通り。
禁止しているsheet1で、印刷をしようとすると、「禁止してまーす」
みたいな、エラーメッセージを出したいのですが。
VBAで試行錯誤してみましたが、さっぱりうまくいきません。
コード書いてくれる優しい人いますでしょうか?
>>838
すみません、計算式はどんなものになるのでしょうか?
843名無しさん@そうだ選挙にいこう:04/06/24 23:59
>>842
838じゃないけど、
WEEKDAYでシリアル値をだして、COUNTIFで数えるじゃダメなの?
もっと高度な数式で出したいの?
844774:04/06/25 00:14
>>840
ありがとうございます!!
そして説明が下手で本当にごめんなさい。
一枚目にコードのリストがあって、一枚目のA列を上から検索しくことってかのうでしょうか?
コードがたくさんあって、ひとつひとつ選択していけなくて…
>>844
Y列のコードを全て選択してからマクロを実行するだけなんだけど。
選択した範囲のK列のみコピーしてます。
846774:04/06/25 00:28
!!!!すいません。望んでた形になりました(涙)
ありがとうございました。。。
847837:04/06/25 00:31
>>843今は
A1=DATE(YEAR(TODAY()),MONTH(TODAY()),1)  →
A2=DATE(YEAR(A1),MONTH(A1), DAY(A1+1))   →weekday
      :
て感じでやってるのですがだとデータがでかくなるし、欲しいのは各日の曜日でなく月の曜日の数だけなので
もっと簡潔に出来ないかと思いまして。
更に上記の方法だと、月末が28や30日のとき末日の値が月の初日で返されてしまうので計が変わってしまうのです。
848837:04/06/25 00:34
↑失礼しました「月末が30日のとき31日のところに6月1日と返されてしまう」のです
>847

とりあえず、月末はこう

=DATE(YEAR(A1),MONTH(A1)+1,0)
>>847
各曜日が4回以上あることは確実なので、
29日〜月末までが何曜日か調べて、その曜日は5回。
851名無しさん@そうだ選挙にいこう:04/06/25 01:16
sheet1のセル上の情報をsheet2、sheet3のセル上へ呼び出すには『 = 』を
使えば可能なんですが、jpeg画像を図の挿入でセルの上に乗せて試したところ
数値や文字のようには出来ませんでした。

オブジェクトとして挿入もしましたがsheet2、sheet3上のセルへは『 0 』と表示
されるだけです。

sheet2、sheet3上のセルへsheet1のセル上のjpeg画像を呼び出すには、
どのような機能を使えば可能なんでしょうか?
852名無しさん@そうだ選挙にいこう:04/06/25 01:28
>>849>>850
ありがとうございます。やはりある程度は日付から拾ってくしかなさそうですね。頑張ってみます
一ヶ月の曜日数 = ( ( 一ヶ月の日数 ) - ( 1日から指定曜日までの日数 ) ) / 7 
854名無しさん@そうだ選挙にいこう:04/06/25 10:56
Excel2002、Word2002、Win2000Proです。

ExcelのシートをコピーしてWordに貼り付けたいのですが、ヘッダやフッタも一緒にコピーしてWordに移したいのです。
イメージとしては、Excelで印刷プレビューをした1ページ分をWord文書にコピーという感じです。
方法がわかる方教えてください。
>>852
A2に日付が入っているとして、次の式を好きなセルにコピペしてみれ。
うるう年の判定は簡略化してますんで2100年には対応しておりません。w

=TEXT(WEEKDAY(A2-DAY(A2)),"aaa曜日の次の") & IF(MONTH(A2)=2,IF(MOD(YEAR(A2),4)=0,1,0),IF(ISERROR(FIND(MONTH(A2),"35781012")),2,3)) & "日分の曜日が5日で他の曜日は4日です。"
856名無しさん@そうだ選挙にいこう:04/06/25 11:35
だれか教えてちょんまげ。
セルに格納されてる値は表示形式によって変わったりするのか?
857名無しさん@そうだ選挙にいこう:04/06/25 11:37
OfficeXP&WinXP Proです。

Excelでセルの色を変更しても見た目が真っ白のままです。(プロパティを見るとちゃんと変わっている)
文字の色は変更が反映されています。

シート全体がそんな感じです。
Officeを再インストールしても同じです。

どういった原因が考えられるでしょうか?
858名無しさん@そうだ選挙にいこう:04/06/25 11:37
エクセルの罫線てデフォルトでちょっと太いんですが、これを細くする方法を教えてください
>>857
条件付書式の色が優先されてるんじゃないのか?
>>858
左上の破線に見えるやつが、細い実線じゃなかったか?
>>860
破線で試してみましたが破線のままでした。
因みにエクセル2000つかってます
862名無しさん@そうだ選挙にいこう:04/06/25 12:07
vlookup関数を使って、改行(ALT + Enter)されたセルをそのまま引っ張ってくることってできますか?
excel 2003でやってみたんですが、改行はすべてぶっとんじゃいます。
>>860
あ、いやアレでした。
画面上では破線でも実際に印刷してみると鬼のような細線でした。
これ極端すぎますね・・・
>>863
細すぎて困るのであれば、セルとかフォントサイズを大きくして、左下の普通の
罫線をつかい、縮小印刷すれば相対的に罫線が細くならないか?
865名無しさん@そうだ選挙にいこう:04/06/25 12:39
いちいち祝日の設定をするのがめんどいです。
国名を指定すれば自動的に祝日を自動判別して休日扱いにしてくれる関数とかありませんかね。
>>862
書式の配置を「折り返して全体を表示する」にしておけばええんでないかい?
867862:04/06/25 13:03
>>866
そのセルの中身が「●●●●●●および△△△」
ってな感じで入っているので、「および」の前で改行をしたいんです。
>>852
>>850のやり方で、29日〜31日の三日間を数えればいいだけじゃないの?
こんにちは。質問なのですが
文字間の間隔を調整する方法はありますか?
例 12345 とした場合
1 2 3 4 5

の間隔を調整したいです。お願いします
>>869
均等割付のこと?
| 何について調べますか?
| ┌────────────┐
| | お前を消す方法       |
| |                   |
| └────────────┘
| [ オプション(O) ]   [ 検索(S) ]
| 
`──────────┐ ┌───
           , '´l,  ..| ./
       , -─-'- 、i_  |/
    __, '´       ヽ、
   ',ー-- ●       ヽ、
    `"'ゝ、_          ',
      〈`'ー;==ヽ、〈ー- 、 !
       `ー´    ヽi`ヽ iノ
                ! /
              r'´、ヽ
              `´ヽノ
カイル氏ね
冴  ちやんは  どーーーこ????
874869:04/06/25 16:06
>>870
セルの頭と尻尾揃えたくて、文字間を手動で調整しようと思ってたんですが
均等割付の存在を忘れてました。どうやら頭が腐ってた用でう
どうもありがとう
昨日まで開けてたファイルが開けなくなったんですが、どうにか開くようにできる方法はないでしょうか?

環境:Windows,Excel共に2000。
ファイルは253kb程度。小さな画像がぽつぽつ貼られてます。他のあらゆるワークシートは開けます。
データベースファイルなので閲覧のみ。最後に開いた時も保存(更新)はしていません。

症状:開いています... [ファイル名].xls の時のゲージが微塵も進みません。そのまま応答なしに。

こんな感じなんですが、誰か開き方理解りますか?
876851:04/06/25 21:28
>>851
の内容、どうしても上手くいかなくて困ってます。
どなたか解答お願いいたしますm(_ _)m
877名無しさん@そうだ選挙にいこう:04/06/25 21:43
>>841
教えていただけないでしょうか?
878名無しさん@そうだ選挙にいこう:04/06/25 21:45
>>877
カメラ機能でどうだ?
こーゆーのは反則?
879名無しさん@そうだ選挙にいこう:04/06/25 21:46
↑間違い
>>876へのレス
>>876
これも求めるものとは違うかも知れないけど、
元の画像のファイルの場所をハイパーリンクとして挿入するというのはどう?
画像はワークシート上に出ないが、クリックすれば表示される。
881名無しさん@そうだ選挙にいこう :04/06/25 23:10
>867
A1のデータに「および」という文字が入ってて、その前で改行したいなら
=LEFT(A1,FIND("および",A1&"および")-1)&CHAR(10)&RIGHT(A1,LEN(A1)-FIND("および",A1&"および")+1)
と入れセルの書式設定→配置→折り返して全体を表示する。
これだけでもかなりダサい式のうえVlook使うとさらに長くなっちゃうけど・・・。
882851=876:04/06/25 23:45
>>878-880
早速のご解答ありがとうございます。

>878 
早速ググッってみました^^ エクセルには
そんな機能もあったのですね。新しい発見!
う〜ん^^;しかし・・・
なるほど・・と思いましたが現状実現は
難しいです^^;

>880
ハイパーリンクは考えたのですが
プリントアウトして使用したかったので
難しいようです。
この書類を各製造ラインの簡単な指示書として
発行したかったのです。
各セクション毎に指示書のフォーマットが異なってます。
ちなみに100セクションあります。
つまり
sheet1に図番、製品名、客先名、営業担当者、を入力
してやる事で、sheet2〜sheet101まで100種類ある各
指示書のセルに情報が納まります。ここまでは先の
『 = 』を使えば解決できました。

ところがこの書類には製品サンプルの画像が必要なのです
100あるsheetにコピペはキツイです^^;
なんとかsheet1のみに画像を挿入する事によって
sheet2〜101へばら撒くことができないでしょうか?
今まではこのサンプル画像の挿入作業を手描きで
行ってました^^; 冗談じゃないですよ。
ちなみにウチの会社はスタジオヂブリじゃないですよ^^;
どなたか良いアイデアくださいまし。
>>882
マクロの自動記録でSheet1からSheet2へのコピーを登録。
そして、そのマクロをFor〜Nextでループさせて各シートに
コピペするマクロこしらえたらできるよ。
>>881
またずいぶん難しい式だな。
=SUBSTITUTE(A1,"および",CHAR(10)&"および")
でいいんじゃない?
886847:04/06/26 00:13
>>853
>>855
遅レスで済みませんが、ありがとうございます
>>882
Sub Macro1()
Dim i As Integer, txt As String, x As Integer, y As Integer
For i = 2 To 100
txt = "Sheet" & i
With Selection
x = .Left
y = .Top
.Copy
End With
Sheets(txt).Select
Range("A1").Select
ActiveSheet.Paste
With Selection.ShapeRange
.Left = x
.Top = y
End With
Next
End Sub


Sheet1で選択した画像をSheet2からSheet100に同じ位置に
コピーするマクロでつ。
>>887
Sheet101までだったら、2 To 100 を 2 To 101 にしてください。
>>888
シートを101まで作るのは大変なので、こんなこともマクロでしましょう。

Sub Macro2()
Dim i As Integer, n As Integer
n = 101 - Worksheets.Count
For i = 1 To n
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
Next
End Sub
890名無しさん@そうだ選挙にいこう:04/06/26 08:15
1行に複数の入力項目(セル)があり、行を移動した時に入力項目のチェックをするVBAのイベントってあります?
Row_Changeイベントとか。
>>890
その仕様って使いやすいのかい?
892890:04/06/26 09:11
>>891
利用者の希望です。かなり重くなりそうですが、作ってみてから判断してもらおうと思っています。
ペーストのみを感知するようなイベントは無いかと。
その行とやらを移動するトリガーをこっちで作ってやりゃ良いんでね?
どんな動きなのかよく分からんが、入力行を最上部にでも固定して
コマンドボタン押したら動作するような。
>>890
Worksheet_SelectionChange
>>894
それでどうやってペーストだけをしぼるの?
896名無しさん@そうだ選挙にいこう:04/06/26 12:51
以下のようなことができるのかどうか質問です。

インターネット上にフォーム(入力できるBOXが二つ)を作成し、
上のBOXは項目を20個くらいのリストから選択し、
下のBOXには金額を入力します。
これを、1か月分(インターネット上で?)集計して
EXCELの表にすることはできるでしょうか。
ご存知の方いらっしゃいましたらよろしくお願いします。
>>896
最終的にCSVではき出せば、だいたいの言語で出来る。
(CSVでなくてもExcel形式ではき出すことも可能)
基本的に、Excel側の問題ではないのでスレ違い。
898896:04/06/26 13:18
>>897
お返事ありがとうございます。
私は普段使う機能以上のことについてはあまり詳しくないので見当がつかないのですが、
例えばどういうキーワードや分野で調べたりしたらよいか、
よろしければ教えて頂けませんでしょうか。
899名無しさん@そうだ選挙にいこう:04/06/26 15:01
| 何について調べますか?
| ┌────────────┐
| | お前を消す方法       |
| |                   |
| └────────────┘
| [ オプション(O) ]   [ 検索(S) ]
| 
`──────────┐ ┌───
           , '´l,  ..| ./
       , -─-'- 、i_  |/
    __, '´       ヽ、
   ',ー-- ●       ヽ、
    `"'ゝ、_          ',
      〈`'ー;==ヽ、〈ー- 、 !
       `ー´    ヽi`ヽ iノ
>>899
>>898はスルーしろよ。
Excel2002ですが、VBAで ç  を扱おうと思ったのですが
VBAエディタでは ? になってしまいます。
セルではきちんと表示されているのですが、どうすればいいでつか?
>>901
ツール→オプション→エディタの設定でフォントを変更する。
>>902
変更してもだめですた
904名無しさん@そうだ選挙にいこう:04/06/26 23:11
Excel2002なんですが、シート内のハイパーリンクみたいな感じで
指定範囲内の今日の日付のセルにジャンプすることは出来ないでしょうか。

表はA〜C列に項目、1行目に「月(文字列)」、2行目に「日(日付を書式"d"で日のみ表示)」
D3でウインドウ枠の固定をしてるので、A1:A3あたりにそのリンクを埋め込み、
そこをクリックすることでD2以降のセルで今日の日付の位置にジャンプできるといいのですが。

リンク             │      6月
項目1│項目2│項目3│26│27│28│29│30
aaa  │bbb  │ccc  │  │  │  │  │
ddd  │eee  │fff...  │  │  │  │  │

なにか方法をご存じの方、ご教授願います。
hyperlinkでできなきゃvba
906904:04/06/27 00:50
>905
具体的にどのようにすればいいか分かりますか?
分かるなら>904の場合どのような記述をすればいいのか書いていただきたいのですが。
横方向の検索を使うと良いのかな
908くだ質739@誘導:04/06/27 01:53
すいません質問なのですが、お願いします。

エクセル2002でページ設定をする時に印刷タイトルに行タイトルを指定したんですが、
書式設定の罫線で行タイトルの下の方を二重線にして区切りを付けたのですが
1ページ目はちゃんと二重線が付いてくれますが次ページ以降は明細行の上部罫線と被って
太い線になってしまいます。

どうすれば次ページ以降も綺麗に二重線になってくれるのか教えていただけますか。
>>904
1.シートタブを右クリック→コードの表示を選択
2.出てきたウィンドウの右側に、下のマクロをコピペしてウィンドウを閉じる

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 Dim CheckCell As Range
 
 If Target.Address <> "$A$1" Then Exit Sub
 Cancel = True
 Range("2:2").Select
 For Each CheckCell In Selection
  If CheckCell.Value = Date Then CheckCell.Select
 Next
End Sub

3.セルA1をダブルクリック
>>908
1.二重線にしたセルの下に1行追加
2.追加した行の高さを1.50(2ピクセル)にする
3.行タイトルの範囲を追加した行まで広げる

って感じで。うまくいかなきゃ、追加した行の幅てきとーに変えてみて。
ちなみに、追加した行には罫線不要です。
>908
データの3行目(列見出しの行を0と数えて)を選択して、セルの書式設定で上の罫線のみ削除
データの2行目を選択して、下の罫線を追加
データの3行目の書式を4行目以降にコピーする

>910
それをやるとデータベースとして機能しなくなる罠
912くだ質739@誘導:04/06/27 02:45
>>911
さんくす、有難うやってみます。
>>911
最初それ試したんだけど、プレビューで潰れて見えたから・・・
どうやらプレビューの表示の問題だったらしい。今試したらそれで出来てた。
>911
結構面倒なんだな 
>911
くぅ〜
俺も同じやり方で作ってたのに一歩遅かったか・・・・寝よっと
916867:04/06/27 04:52
>>885
それで、ばっちりです。
セル内改行をコードで置換できることを始めてしりました。

あと、881氏もさんきゅです。

917名無しさん@そうだ選挙にいこう:04/06/27 12:05
Enterキーを押すと普段は下に動くのにもかかわらず
右方向に動いてしまいます。
どうすれば直りますか?
誰か教えてください。
918851=876=882:04/06/27 12:23
>>884>>887-889
大変ありがとうございました。完成です。感無量。
これで地獄のセル画描き地獄から開放されます。

マクロのマの字も知らなかったのですが、
自動記録から入ってやっとみなさんの案が理解できるように
なりました。自分でいじってみるもんですね。

マクロ勉強しようかなぁ
>>918
自動記録があるから、結構簡単に覚えられまつ。
>>917
ツール オプション 編集 入力後セル移動 
921917:04/06/27 14:56
>>920
解決しました、有難うございます!
922名無しさん@そうだ選挙にいこう:04/06/27 16:10
エクセル2000ですが、データを検索する時、Ctl+Fで検索で出てくるのウインドウ内の
「検索方向」で列と行、「対象」で数式、値、コメントを選択するように
なっていますね。また、その隣にもチェックボックスが三つあります。

当方、行、列に関係なく、大文字小文字に関係なく検索したく、
以前、何かの弾みに出来たのですが、そうするにはどう設定したら
いいでしょうか?
923904:04/06/27 17:47
>909
お礼が遅くなりましたが望み通りの動作です。
ありがとうございました。
924名無しさん@そうだ選挙にいこう:04/06/27 18:59
お助け下さい!
97SR1をWin2000で使っています。
マウスでセルをクリックすると、縦続きに4セル反転します。
スクロールバーをドラッグするとキコキコとスクラッチみたいになります。
他のソフトではならないし、マウスを代えても同じです。
ならない時もありますが、こりゃいったいなんですか?
>>924
すまん、なんだかすげー笑っちまった。
926927:04/06/27 19:46
>>925
笑われちまった。orz
マウスのドライバ更新したけど、だめぽ。
>>924
NumlocckとかScrollLockとか、
何か知らないうちにいつもとちがうとこ押されてんじゃねーか?
928名無しさん@そうだ選挙にいこう:04/06/27 23:29
今PEN1.6M メモリー512Mで20分くらいかかるシミュレーションを
速くするにはCPUの交換かメモリーの増設かどっちがいいですか?
ファイルサイズは17Mです。
ちょっと変わったアベレージの出し方をしたいのですが、例えば
38000、50、 、 、38100、70、 、38200、80、 、 、38300、60
のように入力してあって、このうち1000以下の数を右から3つまで(70、80、60)で
「=(70+80*2+60*3)/6」というような結果を出したいのです。
この"70"などは数値ではなくFIXEDで文字として入力されてます。

上で書いた「100以下の数で右から1、2、3つ目」という抽出さえできれば
あとは簡単だと思うのですがどのようにすればいいか分かりません。
ExcelはOfficeXPの物です。博識な方々どうか知恵を貸してください。
>>928
1)プログラムの変更
2)Windowsの調整
3)HDDの変更
931928:04/06/28 00:30
>>930
レスありがとうございます。

実はパソコン買い換える予定なのですが予算の都合で
PEN4 2.8G メモリー  512Mと
PEN4 3.2G メモリー 1024M
のどちらかにしなければならないのですが
どちらの方が上記のシミュレーションはやいでしょうか?
>>931
後者

てか、厳密に言えばって程度かと
>>931
明らかに「PEN4 3.2G メモリー 1024M」の方が
スペックがよいですね。
処理速度は、プログラムのロジックによるものが大きいと思います。
言語がインタプリタかコンパイラかにもよりますが。
>>931
経験的に言うと、ファイル17Mと20分だと、メモリースワップしていると思われる。
HDDに書込みに行っていると思う。
データーが大きいのでエクセルの範囲を超えていると思われる。

プログラム内容の詳細が分からないのでそれ以上はなんとも言えない。
WindowsXpのEXCEL2000 ですか?

現在のメモリー消費量の調べ方
http://www.atmarkit.co.jp/fwin2k/win2ktips/166memoryusage/memoryusage.html
>>929
しょぼい方法だが、
そのデータが A4:Z4 にあるとして、
A3に =A4<1000 と入れてZ3までコピー
A2に =COUNTIF(A3:$Z3,TRUE) と入れてZ2までコピー
A1に =IF(A3,A2,"") と入れてZ1までコピー
適当なセルに =HLOOKUP(1,A$1:M$4,4,FALSE) と入れると一番右の値が出る。
以下、=HLOOKUP(2, …、=HLOOKUP(3, … で2番目と3番目。
>>935
=HLOOKUP(1,A$1:Z$4,4,FALSE)
の間違い。ごめん。
937928:04/06/28 09:04
>>932,933,934
レスありがとうございます。

すみません、書き間違えてました。
PEN4 2.8G メモリー  1024M
PEN4 3.2G メモリー  512M
のどちらが速いでしょうか?

XP、EXCEL2000を使用してます


938名無しさん@そうだ選挙にいこう:04/06/28 12:10
VBA ユーザーフォーム上の複数のテキストボックスの数値の足し算ができません。
Textbox1に100、Textbox2に50という数値がそれぞれ入っていたとして
Textbox3.Value = Textbox1.Value + Textbox2.Value とすると
Textbox3には10050という数字が表示されてしまいます。数字の合計150を
表示させるにはどうしたらいいのでしょうか。おそれいりますがアドバイスを
おねがいいたします。
940名無しさん@そうだ選挙にいこう:04/06/28 17:24
ROUNDDOWN(366.95-360,2) → 6.94
ROUNDDOWN(66.95-60,2)   → 6.95

両方6.95の筈ですが上の計算ではなぜ0.01少なくなってしまうのでしょうか?
>>941
ありがとうございます。仕様なんですね。
ROUNDDOWN((366.95*10-360*10)/10,2) → 6.95
で解決しました。
943名無しさん@そうだ選挙にいこう:04/06/28 17:57
| 何について調べますか?
| ┌────────────┐
| | お前を消す方法       |
| |                   |
| └────────────┘
| [ オプション(O) ]   [ 検索(S) ]
| 
`──────────┐ ┌───
           , '´l,  ..| ./
       , -─-'- 、i_  |/
    __, '´       ヽ、
   ',ー-- ●       ヽ、
    `"'ゝ、_          ',
      〈`'ー;==ヽ、〈ー- 、 !
       `ー´    ヽi`ヽ iノ
                ! /
              r'´、ヽ
              `´ヽノ
944名無しさん@そうだ選挙にいこう:04/06/28 19:50
「50個」と入力されたセルの隣に「50」という数字だけを表示させる事はできるのでしょうか?

リンク貼り付けで自動的に50個と入力されるのですが、それでは数式が適用できないので・・・。
やはり手動で入力するしかないのでしょうか?
>>944
出来る。
946929:04/06/28 20:30
>>935-936
ご助言ありがとうございます。
929で書いたように「1000以下の数」が文字として書かれてることや
空欄が数式で""を返してることなどから
「=A4<1000」を「=IF(A4="",FALSE,IF(VALUE(A4)<1000,TRUE,FALSE))」
のように変えることで望みの抽出は出来ましたが、行数が1行ではなく500〜1500行程度あり、
シートもファイルもいくつかあるので、これらをこのやり方で書き替えるのは結構大変です。
出来れば1行目の結果は1行目だけで出したいのですが。
因みにデータ範囲は最大で「B2:GE1486(186列x1485行)」です。

引き続き、なにかやり方をご存じの方アドバイスをm(_ _)mオネガイシマス


>>944
=LEFT(A1,LEN(A1)-1)
へたれな式だがこんな感じですかね。2カ所ある"A1"は「50個」が入力されてるセルの位置に置き換えてください。
上記で計算がうまくいかないときは下みたいな感じで。
=VALUE(LEFT(A1,LEN(A1)-1))
>>944
元データの 50個 を 50 に変更して、書式設定の表示形式で 0"個" としたほうがいいと思う。
>>946
マクロでやったほうがいいと思う。
1つの行を右からチェックして1000以下の数字を3つ取得すればいいだけ。
あとはそれを最終行までループ。

ちなみに、A4<1000だと「A4は1000未満(1000は含まれない)」だけど。
1000以下(1000を含む)ならA4<=1000だね。
949929:04/06/28 22:57
>>948
わがまま言ってすいませんが数が多いので出来れば数式のみで対応したいです。
あと、以下と未満の件のご助言ですが、今回のものでは1000前後の数は使われないはず
(38000以上と750以下しか使わない)なので、「<」のみで問題ないです。
でも、細かいところまで気を使っていただいたことには感謝します。
950名無しさん@そうだ選挙にいこう:04/06/29 01:50
教えてください。Excel2003です。

マクロで、いまあるセルに数字で1と入っていたら、それを整形して9-001のようにしてセルに表示させたいのです。
ここで最初の9-は固定の文字列です。001の部分は3桁で表示します。3桁を超えるものを表示させることはありません。
桁がたりない場合はゼロを左側に加えます。

可能でしょうか?
ユーザー定義の表示形式 9-000
>>951
なるほど。できました。ありがとうございます。
953名無しさん@そうだ選挙にいこう:04/06/29 12:15
1000になる前に>>856について誰か答えてくんないかな。
>>953
値が変わったら困るだろ ( ゚Д゚)ヴォケ!!
>>953
値は変わらん
内部処理形式は変わる
>>955
内部処理も同じで、表示だけが変わるんだと思っていた。
>>953
基本的な格納値(Value2)は変わらんが、Valueプロパティなら変わるよ。

With Range("A1")
  .Value = 1.234567
  .NumberFormatLocal = "\0.0000"
  MsgBox .Value
  .NumberFormatLocal = "G/標準"
  MsgBox .Value
End With
>>949
数が多ければ余計にマクロだろと思うが、まあかなり強引に数式にしてみた。
=IF(AND(LEN(FZ5)<4,LEN(FZ5)>0),FZ5&",","")&IF(AND(LEN(FY5)<4,LEN(FY5)>0),FY5&",","")&IF(AND(LEN(FX5)<4,LEN(FX5)>0),FX5&",","")&  … 省略 …
こんな風にセルの内容をひとつの文字列にまとめる。分割して処理しないと、式が長いぞ(゚Д゚)ゴルァ!!と怒られる。
メモ帳でコピペ置換すれば思ったほど面倒くない。等巾フォントで列を揃えると見やすい。
GU5 にまとめた文字列があるとして、それぞれの値は
=VALUE(LEFT(GU5,FIND(",",GU5)-1))
=VALUE(MID(GU5,FIND(",",GU5,FIND(",",GU5))+1,FIND(",",GU5,FIND(",",GU5)+1)-FIND(",",GU5)-1))
=VALUE(LEFT(REPLACE(GU5,1,FIND(",",GU5,FIND(",",GU5)+1),""),FIND(",",REPLACE(GU5,1,FIND(",",GU5,FIND(",",GU5)+1),""))-1))
959名無しさん@そうだ選挙にいこう:04/06/29 21:34
二つ教えてください。

マクロを一度組んだ後で、マクロが不要になったのでマクロのソースを削除したのですが、
その後もファイルを開こうとするたびにマクロを有効にしますか?と聞いてきます。
これを回避する方法は無いでしょうか?

60kByteぐらいの画像をExcelに取り込み保存をするとファイルサイズが10倍ぐらいになってしまいます。
これを回避する方法は無いでしょうか?
画像はJpeg、元のExcelのファイルサイズは70kByte程度です。
960名無しさん@そうだ選挙にいこう:04/06/29 21:39
>>959
http://www.relief.jp/itnote/archives/000031.php
最初のはこれかな??

画像の方はわからないので他の人のカキコを待ってください
>>959
画像のほうはこれかな。
ttp://hp.vector.co.jp/authors/VA016119/xlpic.html
>959-960
テンプレって知ってる?
>>962
  ∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ( ´∀`)/< 先生!
 _ / /   /   \   今日もみんなに教えてくさい!
\⊂ノ ̄ ̄ ̄ ̄\  \ _____________________
 ||\        \
 ||\|| ̄ ̄ ̄ ̄ ̄||
 ||  || ̄ ̄ ̄ ̄ ̄||
    .||          ||
964名無しさん@そうだ選挙にいこう:04/06/29 22:20
チェックマークをクリックするとオン/オフするのはどうすればいいですか?
>>964
オン時のVBAコード、オフ時のVBAコードを書く。
966名無しさん@そうだ選挙にいこう:04/06/29 22:36
>>960
ありがとうございます。

>>961
ありがとうございます。95だったと思うのでたぶんビンゴです。
967名無しさん@そうだ選挙にいこう:04/06/29 22:48
ポーラパターン(円形グラフで指向性を360度にわたって示した図 )をエクセルでのグラフ作成するにはどうすればいいのですか? 教えてください!!
968856:04/06/29 22:49
>>955.>>957
ありがとうございました。
マクロはよく分からないので、いまいちよくわかりませんが、とにかく
変わらないということですね。
>>954
ありがとうございませんですた。
969名無しさん@そうだ選挙にいこう:04/06/29 23:59
>>964
表示→ツールバー→フォーム
チェックボックを配置する
チェックボックスで右クリック→コントロールの書式設定
リンクするセルに任意のセル番地を指定
IFや条件付き書式とあわせて使用する。

こんな解答を期待していたんじゃないか?
970名無しさん@そうだ選挙にいこう:04/06/30 00:21
すみません。どなたか助けてください。
エクセル2000、xpで使ってるのですが、

シートからハイパーリンクでjpeg画像を開くときのプログラムを
指定したいのでが(例えばペイントで開くとか、フォトショップで開くとか)
フォルダオプションでjpegへの関連づけをしているのにIEで開いてしまいます。
win98で使ってるときはフォルダオプションで指定したプログラムで開けて
いたのですが。どうしたものか、よろしくお願いします。
おまいら、日付の表示形式にgggee年mm月dd日なんて使ってるか?
天皇陛下の前立腺ガンが悪化してお亡くなりになったらどうなっちゃうんだ?
コマッタ、コマッタ、ナディアコマネチ。
変なヤツw
市町村合併で、住所録ソフトが大変だ、 ソフト屋さんがんばってね
表示上gggを使うのは別にどうでもいい。ソフト側で対応するだろうし。
問題は平成16年の 16 を取り出して計算などに使っていたり、
平成16年を 16 と入力させていたりするケースだ。
崩御の際には併せてご愁傷様と申し上げたい。
Excel2000を使用してますが、1つのシートに複数グラフを作成した場合に、
グラフの表示位置を整えて並べたいのですが、何か良い方法ないでしょうか?

ちなみに自分ではマクロを使えるのですが、教える相手がマクロを知らないため、
マクロを使用しないでの方法でお願いします。