Excel総合相談所 25

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

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

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

過去スレは>>2
FAQ(よくある質問と答え)は>>3-10くらい。
2過去スレ:04/07/01 22:56
3FAQ: 列の表示について:04/07/01 22:57
Q.列名がA,B,C,D,Eではなく、1,2,3,4,5になってしまいました。
 アルファベットに戻すにはどうしたらいいですか?
A.ツールメニュー:「オプション」 -「全般」タグで
 『R1C1 参照形式を使用する(C)』のチェックを外せば直ります。

Q:列を256個(IV列)よりたくさん広げることはできませんか?
A:エクセルのシートは65536行×256列が仕様上の上限です。
 シートを分けるとか、行と列を入れ替えるとか、データの方をまとめるとか、
 列数を増やさない方向で工夫するしかありません。
4FAQ: 印刷プレビュー:04/07/01 22:57
Q:印刷プレビューではセル内に収まっていた文字が
 実際に印刷してみるとはみ出してしまうのですが、
 何とかなりませんか?
A:「印刷プレビューと印刷結果が一致しない」のは
 昔からのExcelの弱点で、どうにもなりません。
 セルの幅や高さに余裕を持たせるか、
 書式設定で「縮小して全体を表示する」にチェックを入れましょう。
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/07/01 23:01
Q1:データの空白部分があって、そこで折れ線が切れてしまいます。
  繋げたいのですが如何したらいいでしょうか?
A1:グラフを選択>ツール>オプション>グラフ>空白セルのプロット「補間してプロットする」にチェック

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

Q3:ある系列だけ、縦軸を別にしたいです。
A3:その系列のどこかを、グラフ上で右クリック
データ系列の書式設定>軸>使用する軸「第2軸」にチェック>OK
  ____∧∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜' ____(,,゚Д゚)< >>1 またdat化待ちかよ!html化待ちだろ!
  UU    U U   \________________
Q.セルに入力した値が勝手に変わってしまうのですが
 入力したままの形で表示させるにはどうしたらいいですか?
A.数字でよくあるケース(先頭のゼロが消えてしまう、日付として解釈されてしまう)
 入力する時、先頭にアポストロフィ(')をつけるか、
 該当するセルで右クリック−「セルの書式設定」−「表示形式」で「文字列」を選択。
 文字列ではなく数値として扱いたいときは
 「セルの書式設定」−「表示形式」で「ユーザー定義」を選択し、工夫する。
A.文字でよくあるケース(i⇒I、teh⇒the など)
 ツール→オートコレクト→入力中にオートコレクト
 の該当する箇所を削除。
12名無しさん@そうだ選挙にいこう:04/07/01 23:06
>>10
おまえが1000行く前にたてれやぼけ。
13名無しさん@そうだ選挙にいこう:04/07/01 23:36
>>1ともあれ乙。


質問。
2つウインドウ開き、ウインドウ→整列→上下に並べて表示として、
思ってたのが上に来なかった時、パッって上下入れ替える術は
ありませんでしょうか。
>>13
ちなみに今はどうやってるんですか?
>>13
上にしたいウィンドウをアクティブにした状態で「上下に並べて表示」を選べば上に行くよ。
>>15
フントだ。
どうもありがとうございました!

>>14
完全手動でした。。。
  (^^)
   ゝ` ̄ ̄\
  /  (・)(・) |
  |    ●   |◯  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  <\__σ__// < >>1よくやったナリ。褒めて遣わすナリ。
○=キ  o o |'    \_____________
   |_____,|
   (___Y__)
18名無しさん@そうだ選挙にいこう:04/07/02 08:55
すみません、どなたかお願いします。
数式リンクの張ってある2枚エクセル(BOOK1・BOOK2)を1台のパソコンをBOOK1・
もう1台をBOOK2同時に開いて自動リンクの更新をしたいのですがなにかいい方法は
ありますか?


19名無しさん@そうだ選挙にいこう:04/07/02 11:03
人が作ったので良く見かけるのですが、ワークシートの端の方で好きな形の表を作ってて
列幅や行幅とか関係ない所に図?として張り付ける方法を教えてください。
Excel2003なんですが、
客が作ってきたリスト〒、住所、会社名、宛名等を利用し、
バリアブル印刷をするのですが、シートは当然横書きですが
封筒に印刷するときは縦書きになります。よって番地等数字は
漢数字に直さなければならないのですが、ググって出てきた
[DBNum1]G/標準とか設定する方法を試してみたのですがうまくいきません。

通常の文字列と数字が一緒になってると変換できないんでしょうか?
しかも番地は全角・半角数字が入り混じっていて…

納期まで2週間あるので地道に書き直せばいいのですが200件強あるため、
簡単に変換できる方法があればお教え下さい…(´・ω・`)
長々とすいません
>>19

カメラ機能。

手動でするには、対象となるセル(表など)をコピー

shift 押しながら メニュー 「編集」→「図のリンク貼り付け」

2219:04/07/02 13:17
>>21
おおっ!凄い便利ですなー!
いつか聞こうと思ってたんです。
助かります、ありがとうございました!
200件なら少ないじゃん。
年賀状作成ソフトで印刷すればいい気瓦斯
>>20
手作業に近いけど、
俺なら、ACSかJISで半角全角を整えて
置換するのが早いと思う。。。0〜9まで、10回すればよいだけじゃん?

漢数字変換の関数ってなかったっけ?と思いつつ。。
教えてください!
例えば、123,456,789 という9桁の数字があって、下から3桁目の 7 という数字を
抜き出すにはどうしたらいいでしょう?

1個目のセル  1
2個目のセル  2
   ・
   ・
   ・
9個目のセル  9
という風に他へリンクさせたいんです。

この場合、もし6桁の数字 123,456 だとしたら
1個目―3個目は 0 で表示されますよね?

1個目のセル  空白
2個目のセル  空白
   ・
   ・
   ・
9個目のセル  6
にするには、どうしたらいいでしょうか。

A1に9桁の数字を入れる。
B1 =VALUE(RIGHT(ROUNDDOWN($A$1/(10^(9-ROW())),0),1))
以降B9までフィルで。
B2:B10に数式を作成する場合は数式中の9を10に増やす。

でも、もっと楽な方法が絶対にある気がする…
MID関数が右からn番目の文字を抜き出せるなら話は早いんだけどなあ。
回答ありがとうございます。
素人で難しいですが早速試してみたいと思います。
私ももっと簡単な方法があると思うんですが。。。
右からn番目を抽出する関数はやっぱり無いのですねぇ;;
クラス名を入れようと思って1-1、1-2...のように入力すると
1月1日になってしまうんですがどうすればいいですか?
>>29
文字列
31ゴッホ:04/07/02 18:37
>>26
VBAを使っていいんなら、
Sub KakuKurai()
Dim Nagasa As Long, Suji As String, i As Long
Nagasa = Len(Range("a1"))
Suji = Range("a1")
If Nagasa < 9 Then
For i = 1 To (9 - Nagasa)
Suji = " " & Suji
Next
End If
For i = 1 To 9
Cells(2, i) = Mid(Suji, i, 1)
Next
End Sub
上のコードは、全桁数9桁と想定している。

また、下のVBAを書くと、シート上に「=KURAI(参照セル,全桁数,何桁目)」と書くとその桁が表示される。
Function KURAI(Seru As Range, SoKeta As Long ,Keta As Long)
Dim Nagasa As Long, Suji As String, i As Long
Nagasa = Len(Seru)
Suji = Seru
If Nagasa < SoKeta Then
For i = 1 To (SoKeta - Nagasa)
Suji = " " & Suji
Next
End If
KURAI = Mid(Suji, Keta, 1)
End Function


>>29 >>11は読みました?
>右からn番目を抽出する関数

=MID(A1,LEN(A1)+1-n,1)
33名無しさん@そうだ選挙にいこう:04/07/02 20:48
手詰まりして残業してます・・・だれかボスケテ

セルに入力した値を、関数内でシート名として参照する方法はありますか?

説明が下手ですいませんが、例を挙げて説明すると

シート1のA1に 「シート2」と入力すると、
シート1のA2は 「シート2」のB1を参照する。

シート1のA1に 「シート3」と入力すると、
シート1のA2に 「シート3」のB1を参照する。

このような関数をA2に入力したいんです。
ご教授おねがいします。

34ゴッホ:04/07/02 20:57
>>33

A1の「シート2」ってシートの名前?

だったら、
=INDIRECT(A1&"!B1")
35名無しさん@そうだ選挙にいこう:04/07/02 21:09
>>34
ご教授助かります!

INDIRECT関数に目をつけることはできてたんですが、
#REF!と表示されてしまってまして。。。

ご教授いただいた関数を利用して
=IF($A$1="","",INDIRECT($A$1&"!B1"))
という関数をA2に入力したんですが、まだうまくいきません・・・
36名無しさん@そうだ選挙にいこう:04/07/02 21:18
>>34
もしかして A1入力値が全角で参照するシート名も全角 だと駄目とかいう落ちですか・・・?
37ゴッホ:04/07/02 21:22
>>36

俺も試してみましたが、全角でも大丈夫でした。
Excel2002

シート名をもう一度同じか確認してみて。
「ー」が「−」になってるとかではないですか?
38名無しさん@そうだ選挙にいこう:04/07/02 21:39
>>37
私も確かめました。全角でも問題なかったです。
シート名の相違も確認しましたが問題ありませんでした・・・

参照するシート名に問題があるようです。
全角のハイフン(−)を含む名前だと参照に差し支えるようです。
解決方法はあるんでしょうか・・・
業務の都合上、必要なのですが・・・
>>26
B1に下の数式を入力してB9までコピーでいけると思う。

=IF(OR($A$1="",ROW(A1)-(9-LEN($A$1))<1),"",MID($A$1,ROW(A1)-(9-LEN($A$1)),1))
40ゴッホ:04/07/02 21:49
>>38

「シート2」に全角のハイフンは含まれていませんけど、
>全角のハイフン(−)を含む名前だと参照に差し支えるようです。
とは、どういう意味ですか?

ちなみに、俺が試したところ、全角ハイフンが入ってても差し支えません。
41名無しさん@そうだ選挙にいこう:04/07/02 21:54
>>40
すいません。説明不足でした。
「シート1」「シート2」は説明するための仮のシート名で、

実際に作成しているものは
「○○−○○○」というシート名です。
あと − はハイフンではなく全角のマイナスでした。
度々、申し訳ないです。
42名無しさん@そうだ選挙にいこう:04/07/02 22:03
横からすみません。
ハイフンとマイナスって違うんですか?
43ゴッホ:04/07/02 22:13
>>41

ほんとだ。俺もエラーになりました。
VBAとかで解決してはダメですか?

>>42

半角の場合は同じです。
全角の場合は違います。
4433:04/07/02 22:15
‐ が、ハイフン
どちらも全角です。
と、IME2002が言ってます。

で、>>41の問題なんですが、
=IF($A$1="","",IF($A$1="AA−000",'AA−000'!B1,
  IF($A$1="AA−001",'AA−001'!B1,
IF....
IF....
としたら問題なく参照してくれましたが、
これだと参照に限度があるような。。。
というか、納得できないんです。 だれか助けて・・・(泣
>>33
下のではどうでしょう。どっちでも大丈夫かと。

=IF($A$1="","",INDIRECT("'"&$A$1&"'!B1"))

=IF($A$1="","",INDIRECT(ADDRESS(1,2,,,A1)))
4633:04/07/02 22:27
>>45
キター!!(AA略) と誰もいない事務室で叫んでしまった・・・
上の数式を使わせていただきます。。。
完璧です。文句のつけようがナイ


んですけど、
で、できればオートフィルで
=IF($A$1="","",INDIRECT("'"&$A$1&"'!B1"))
の B1 の部分を B2、B3、B4・・・と増加させるようにしたいのですが・・(汗
恐縮です・・・
47ゴッホ:04/07/02 22:27
>>45

ほんとだ。バッチリ。
>>46

>>45の下のをちょっと変えて、

=INDIRECT(ADDRESS(ROW(B1),COLUMN(B1),,,$A$1))

とすればOKかな。
49ゴッホ:04/07/02 22:36
>>48

上のを考えると、

=IF($A$1="","",INDIRECT("'"&$A$1&"'!B"&COLUMN()))

たてフィルなら、

=IF($A$1="","",INDIRECT("'"&$A$1&"'!B"&ROW()-1))
5033:04/07/02 22:38
>>48
超完璧です。
実際のアドレスに書き直し&IF文追加して使わせていただきます。
今日中には家に帰れそうですw

ゴッホさん、45さん。本当に、ありがとうございました(半泣
5145の名無し:04/07/02 22:46
>>50
そういやIF文にするの忘れてた・・・w
よかったですね。がんばってください。
おまいらレベル高すぎです。着いて行けない。
かろうじて>>42には勝った(`・ω・´)
53名無しさん@そうだ選挙にいこう:04/07/03 07:46
Exce(2002)lって文字列データの内部形式がUnicodeですよね?
data$にSJIS換算で2Mバイト長のデータを、内部形式のUnicode
でそのままファイルに保存するにはどうすればいいでしょうか。
data$=StrConv(data$,vbUnicode)
とすると、SJIS⇒Unicode変換をしてくれますが、SJSにない文字は
Unicodeに変換してくれず、文字化けしてしまいます。
>>53
それを再現する方法を教えてください。
55名無しさん@そうだ選挙にいこう:04/07/03 14:03
>>54
たとえば
creção
なんてやつです。
56名無しさん@そうだ選挙にいこう:04/07/03 14:08
>>55
辞書データを作っていて、いわゆるラテン系の文字はExcel
で表示できます。UnicodeのTXTで保存すれば保存できるの
ですが、これをVBAで直接保存したいのです。

問題となるのは、他言語(英語も)でSJISの半角かな領域に割り
当てられている特殊文字です。
57名無しさん@そうだ選挙にいこう:04/07/03 14:17
>>54
すいません。
このdata$を
Open fname For Binary Access Write As #1
Put #1, , data$
で書き込んでいます。
また、data$にはUnicode返還前にvbCrLfで改行(約5万個)
を入れています。
>>55-57
ここの一番下を見てください。
ttp://homepage1.nifty.com/MADIA/vb/vb_bbs/200311_03110014.html

これは参考になりませんか?
59名無しさん@そうだ選挙にいこう:04/07/03 14:41
>>58
やってみます。(^_-)-☆
60名無しさん@そうだ選挙にいこう:04/07/03 14:58
>>58
一発でできました!!!!
ここも検索で引っかかってみた覚えがあるのですが、読み込み
だけと思ってスルーしてますた。

めちゃくちゃ作業が楽になりますた
ありがとうございます。
すません・・・ちょっとややこしいんですが

Sheet1
A1 A2 A3 A4 A5
B1 B2 B3 B4 B5
C1 A2 B3 B4 B1

Sheet2
A2
A3
A4

このような構成で、Sheet2のA行の内容と一致する項目をSheet1から探して、同行Aの項目を書き出したいのです。
上の例で言うと

Sheet2
A2 A1 C1
A3 A1
A4 A1

このようにしたいのですが・・・ご助力お願いしますOTL
>>61
イマイチ法則がわからない・・・
なんでA2でA1とC1が選ばれるの?
なんでA3とA4はA1だけなの?
どこがどう一致してるんでしょうか。

もうちょっとくわしく説明してください。
6361:04/07/03 21:29
う、わかりにくくてすません・・・
Sheet1のB列以降と、Sheet2のA列の一致しているものを探して、一致している行のA列の値をSheet2のB列以降に
記述する、ということなんですが。

A2はShhet1の1列目とあ3列目にあるため、Sheet2のA2のB列以降にSheet1のA列、A1とC1を記述しているわけです。

なんだか説明しててもわかりにくいんですが。
>>63
なんとなくわかりました。
ちなみにデータの範囲(何行目・何列目まであるか)とデータの範囲内に
空白があるかどうかをおしえてください。
Sheet1が320行×15列、Sheet2は1425行です。
Sheet1にデータ範囲内に空白があります。(空白有りの方が都合がいいのですが、つめることもできます)
よろしくお願いします。
>>65
マクロ作ってみたら、空白は関係なかった・・・w
下のマクロを標準モジュールにコピペして実行してみてください。
1行目を項目名とかにしてるとおかしくなりますので注意してください。

Sub Test()
 Dim CheckCell As Range
 Dim Count As Integer
 Dim firstAddress As String
 
 Worksheets("Sheet2").Select
 Range("A1").Select
 
 While ActiveCell.Value <> ""
  Count = 1
  With Worksheets("Sheet1").Range("A1:O320")
   Set CheckCell = .Find(ActiveCell.Value, LookIn:=xlValues)
   If Not CheckCell Is Nothing Then
    firstAddress = CheckCell.Address
    Do
     ActiveCell.Offset(0, Count).Value = Worksheets("Sheet1").Cells(CheckCell.Row, 1).Value
     Count = Count + 1
     Set CheckCell = .FindNext(CheckCell)
    Loop While Not CheckCell Is Nothing And CheckCell.Address <> firstAddress
   End If
  End With
  ActiveCell.Offset(1, 0).Select
 Wend
End Sub
6766:04/07/03 22:25
A列のデータの途中に空白があると、そこで止まってしまいますので、
その時はWhile 〜 Wend をFor 〜 Nextに変更して使ってください。
6866:04/07/03 22:29
A列が空白だと、そこでエラーになるから変更する必要はないな・・・w
6961:04/07/03 22:34
ありがとうございます;;ほんとに。
さっそく試してみたいと思います。またご報告します。
7061:04/07/04 06:05
遅くなりましたが、問題なく出来ました!
本当にありがとうございました(´Д⊂
71名無しさん@そうだ選挙にいこう:04/07/04 07:55
ソルバーで制約条件を入れるときに
あるセルについて
0もしくは1という制約条件は入れられないのですか?
>>71
ソルバーなんか使ったことが無いのでよくわかりませんが・・・
ちなみにその制約条件を入れるとどうなるんですか?
73名無しさん@そうだ選挙にいこう:04/07/04 10:52
>>71
制約条件で区間を整数にして、あとは1<=A1と1>=A1を
加えたら?
74名無しさん@そうだ選挙にいこう:04/07/04 10:53
>>73
A1>=0とA1<=1の間違い
75名無しさん@そうだ選挙にいこう:04/07/04 11:35
VBAでツールバー上の「塗りつぶしの色」の現在選択されている色を
取得することってできますか?
いちいちマウスに触れるのがマンドクサイので、
これにショートカットキーを割り当てたいのですが。。
>>75
???
取得せずともショートカットで赤・黄・灰とか作っておけば、、、
77頭がフリーズ:04/07/04 15:33
こんにちは。
携帯のアドレス帳をコンピュータで編集したいので、エクセルで開きましたが、
1列に行ごと全部表示されてしまったので、困っています。

BEGIN
名前
電話
メール
END
BEGIN
名前
電話
電話
メール
END
.....
と、1件の長さが違うので、グループ化したのちに、
タイトルと名前などをデータベースとして使えるようにしたいのですが、、、
どうすればよいのでしょうか?

お力添え願います。
>>77

行列入れ替えるだけでいいんでないの。
>>77
タイトルってのがよくわからないけど・・・
こうすればいいんじゃないの?

    A     B         C        D         E
1 グループ 名前    電話       電話       メール
2 家族    ○○ ○○ 090XXXX0001           [email protected]
3 友人    □□ □   090XXXX1234 03XXXXXXX  [email protected]

1列に表示ってことは、例えばA2に 「名前 ○○ ○○」って入ってるということなのかな?
8071:04/07/04 18:46
すいません。質問に答えていただいた方ありがとうございます。
性格には1以上または0という制約を入れたいのです。
無理ですか?
SHAMPOO
生産数量(g)"3,000,000ml "出庫数
製造前在庫 製造数 製造後在庫 前一年   (商品計)
1000ml570 0 570 5000
700ml860 0 860 38000
250ml1020 12000(*)13020(*2) 24000
30ml520 0 520 1700

(*) 3000000/250=12000
(*2) 12000+1020=13020

こんな感じで製造数の計算する表を作りたいのですが

1、生産数量3000000mlから”製造数”は各製品の容量1000mlで割れば出て

くるのですが(*)(*2)

2、前一年の売上比率に近くなるように製造後の在庫を調整するやり方がわ

からなくて何かいい方法ありますでしょうか?
8281:04/07/04 19:43
くずれちゃったのでもう一度

SHAMPOO
生産数量(g) "3,000,000ml "
製造前在庫 製造数 製造後在庫 前一年
1000ml 570 0   570  5000
700ml 860 0  860   38000
250ml 1020 12000(*) 13020(*2) 24000
30ml 520 0    520 1700

(*) 3000000/250=12000
(*2) 12000+1020=13020

こんな感じで製造数の計算する表を作りたいのですが

1、生産数量3000000mlから”製造数”は各製品の容量1000mlで割れば出て

くるのですが(*)(*2)

2、前一年の売上比率に近くなるように製造後の在庫を調整するやり方がわ

からなくて何かいい方法ありますでしょうか?

今度は大丈夫か
83名無しさん@そうだ選挙にいこう:04/07/04 19:53
Excel xpで、「グラフウィザード-1/4-グラフの種類」で
「ユーザー設定」をクリックすると以下のメッセージが出てきます。
よろしくお願いします。
http://kimatsu.hp.infoseek.co.jp/cgi-bin/img-box/img20040704195254.jpg
>>80
無理ですな。
0のときと、1以上のときの2回ソルバーで計算すればいい
だけだし。
ここはいつからプログラミングを質問するスレになったのだろう・・・?
>>82
在庫調整は、その商品品目によって異なり、長年の経験によるカンにより出されるものです。
ノウハウなので数式化出来ないものですが、理論値とか推測値として算出を行います
一般的に前年度同月比、6ヶ月推移表のようなものを使います。

違っているかもしれませんが、
シャンプーは1年間の周期で同じような売上曲線を描くのではないでしょうか、
そうすると特別売上を除くと同じ月には同じ量だけ出荷されると予想されます。
前年度同月比で予想さると思います。そこに安全在庫量を既定すれば計算されます。

今までに蓄積された過去データーの分析考察の結果を必要とします。
87名無しさん@そうだ選挙にいこう:04/07/04 20:56
Excel2000です。シートのパスを忘れてしまい、フリーソフトでやってみましたが。
”実行時エラー9 インデックス範囲外です”とエラーになってしまいます。
マクロは見れるんですが、パスはマクロにも載ってますかね?おねがいします。
>>87
その手の怪しい質問には誰も答えられやしないよ。
犯罪かもしれんからな。
>>71はマルチしてるし
9087:04/07/04 22:29
そーですか・・・そのような見方があるとは・・・>犯罪
ん〜 こまったな・・・
9187:04/07/04 22:51
を! 解けた!! お騒がせしました!! m(__)m
9282:04/07/04 23:00
>>86
どうもありがとうございます。
参考になります。
とりあえずは一年間の推移を見てからまた考え直した方が良さそうですね。
こういったような事を勉強出来るサイトってありますでしょうか

ちょっと勉強してみます
93前スレの959:04/07/05 00:25
再質問させてください。
60kByteぐらいの画像をExcelに取り込み保存をするとファイルサイズが10倍ぐらいになってしまいます。
これを回避する方法は無いでしょうか?
画像はJpeg、元のExcelのファイルサイズは70kByte程度です。

前スレでttp://hp.vector.co.jp/authors/VA016119/xlpic.html を見ろ、と教えていただいたのですが、
私が使っているのはExcel95ではなく、Excel97なので、これは当たらないと思います。
どなたかご存知でしたら解決法を教えてください。
BMP画像の大きさを基準として設計しなさい。(600Kbyte)
>60kByteぐらいの画像をExcelに取り込み
とありますが、ちゃんと[挿入]-[図]-[ファイルから]で貼り付けてます?
そこが明言されていないのが少し気になるんですけど。
差し支えなければ、問題の画像を晒してみるのもいいかもしれないですね。
96 :04/07/05 08:47
>>95
画像の公開はできませんが、
>ちゃんと[挿入]-[図]-[ファイルから]で貼り付けてます?
は間違い無いです。
97名無しさん@そうだ選挙にいこう:04/07/05 09:49
VBA テキストボックスに入力した文字列がシートのひとつの列に何個あるかを
数えるにはどうしたらいいでしょうか。お教えください。
99名無しさん@そうだ選挙にいこう:04/07/05 11:30
JANコードからバーコードを生成させるにはどうしたらよろしいでしょうか。
バージョンは2000です。
別途ソフトが必要な場合には教えていただけると幸いです。

エクセルでPOPの作成をしたいのです
Excel2000 2002のVBAでユーザーフォームにテキストボックスを貼って実行させてみると、
テキストボックスの入力位置が半角スペース分右になってしまいます。
通常のテキストボックスのようにバシっと左にくっつけることはできないのでしょうか?

よろしくお願いします
>>99
ttp://www.asahi-net.or.jp/~ef2o-inue/download/sub09_020_100.html
ttp://www.vector.co.jp/soft/win95/writing/se317893.html

excelマクロですがこういうのはダメですか?(たぶんフリー)
>>100
SelectionMargin
10326:04/07/05 12:12
>>27
>>31
>>32
>>39 さん
本当に感謝、感謝です。
早速印刷して、実行してみます。
104名無しさん@そうだ選挙にいこう:04/07/05 13:25
エクセルの表が二つある時に、下みたく一つのグラフにまとめるのはどうやるの?
http://pcqa.s3.xrea.com/upload/source/up0075.jpg
105100:04/07/05 13:38
>>102
できました!どうもありがとうございます
106名無しさん@そうだ選挙にいこう:04/07/05 14:32
どなたかお知恵を犯しいただきたく。
ある列に001、002、003、・・・・とデータが並んでいます。
で、それぞれのセルをクリックするとセルの内容と同じ名前のフォルダが開くようにしたいのです。
001のセルが"001"という名前のフォルダにリンクするようにしたいわけです。
セルの内容は連続データ作成で一気にやれますが、リンクの編集も同様に一気にできないでしょうか。
早く犯してください。よろしくお願いします。
>>104
A) ふたつの表を一つにまとめて、グラフ用の3番目の表を作ってそれを元にグラフを書く。

B) グラフの背景を透明にして、2枚のグラフを重ねる。
10899:04/07/05 16:20
>>101
感謝!ありがとう御座います!
早速使ってみます!助かりました〜
109:04/07/05 17:43
マスコミのうざい情報操作

1 :名無しさんの主張 :03/03/16 06:37
マスコミのうざい情報操作について語ろう。
日本の世論が戦争反対が80%を超えているという
世論調査。明らかに情報操作がなされている。
どういう風に聞いたか?が語られていない。
誰だって、戦争はしたくないだろう。
フセインは、つぶさなくてはならないというアンケートを
あえて取らないマスコミ。
このような、世論を操ろうとする
うざいマスコミについて語りましょう。

http://society3.2ch.net/test/read.cgi/soc/1047764234/l50
110名無しさん@そうだ選挙にいこう:04/07/05 17:43
>>106
あまり犯したくはないが
それらのフォルダが全部同じ所にあるのなら、
=HYPERLINK( "file:///Macintosh HD/Desktop Folder/" & A1 )
のようにすればいいのでは?
111名無しさん@そうだ選挙にいこう:04/07/05 18:06
VBAで、指定したワークシートを削除するプログラムを実行する際に出てくる
削除してもいいですか?と聞いてくるボックスを出なくする方法はありませんか。
よろしくおねがいします。
>>111
DisplayAlerts
113106:04/07/05 19:27
>>110
HYPERLINKという関数があったんですね。
3日くらい一人で悩んでいたのがバカみたいでした。
ありがとうございました。犯してください。
>>97

WorksheetFunction.CountIf(Columns(1), TextBox1.Value)
Excel97使ってます。

「ファイル名をつけて保存」の場合、「 [ 」「 ] 」(半角の鍵括弧)を使うとエラーになってしまいます。
ヘルプを見ても、「ファイル名に使用できない文字」には挙がっていないし、
既存のブックを test[1].xls というような名前に変えると、読み込みと上書き保存は問題なくできますが
「ファイル名をつけて保存」の場合のみうまくいかないようです。

使わないようにすればいいようなものなんですが、ブラウザ経由でCSVファイルをダウンロードするとき
「開いて」から「保存」すると勝手に鍵括弧が補われるので...
116 :04/07/05 21:46
>>98
レスありがとうございます。
プレビューをオフにしてみましたが、同じでした。
>>115
Excelの保存では使用できない文字だから。
>117
なるほど。納得しました。
119名無しさん@そうだ選挙にいこう :04/07/06 08:03
すみません、質問です。
エクセルで、ある項目が一致するセルが存在する行の、
一番左のセルの値を一度にすべて表示するというような
ことはできるでしょうか?
たとえば、テストの採点結果などの表で、A列に生徒名、B列に点数を
入力していき、仮に80点などと入力すると、80点であった生徒名が
ずらっと縦に(あるいは横に)表示されるというようなことを
検索コマンドを使わずに実現したいと思っています。
VLOOKUPなどだと、一人しか表示できないので、一気に全部表示できる
数式を探しましたが、よくわかりません。
方法を思い当たる方、なにとぞお教えください。お願いします。
オートフィルターじゃだめなんか?
12197:04/07/06 09:48
>>114
これでやっと次にすすめます。本当に有難うございました。
122111:04/07/06 09:51
>>112
ありがとうございます。勉強させていただきました。
123名無しさん@そうだ選挙にいこう:04/07/06 10:04
ソフトウェア板からこちらに誘導されてやってきました。

質問です。

powerpoint2003の表の挿入で表を作り、その表の中身を空白にしたまま表のセルを複数個選んでコピーし、
excel2003にペーストすると、空白だった部分が変な文字に文字化けしてしまいます。
普通のテキストエディタにペーストした場合は空白のままでした。
なんで文字化けしてしまうのか、また文字化けしないようにするにはどうすればいいか、教えてください。

powerpointスレとどちらに書くか迷ったのですが、スライドショーとかよりデータ処理の分野かと思いこちらに書きました。
124名無しさん@そうだ選挙にいこう:04/07/06 10:37
昨晩HD不具合によりHD入れ替え、OS(XP)とExcel2002を再インストールしたところ
その後グラフ画面で「ウィンドウに合わせてサイズ変更」がどうしても解除できなくなってしまいました。
(クリックしてもチェックが外れない)
何か解決のヒントはありませんでしょうか?
125名無しさん@そうだ選挙にいこう:04/07/06 10:48
>>26
>>27
>MID関数が右からn番目の文字を抜き出せるなら話は早いんだけどなあ。

=MID($A$1,LENB($A$1)−n,1)
で右からn番目の文字を抽出できますよ
遅レスすまん
126名無しさん@そうだ選挙にいこう:04/07/06 11:01
すいません質問です
excel2000,acsess2000, os xpの環境です
アクセスから、エクセルのクエリーを使って、データーを抽出しているのですが、
一定のデータの行数しか抽出していないはずなのに、
ファイルサイズがどんどん肥大化しているのです。
原因は何が考えられますか?
なにかヒントになりそうなことでもいいので教えてください。
表示させるデータと格納されているデータは違います。
エクセルの場合は、出来るだけ多くのデータ形式で格納しようとします。
データを圧縮する工程が必要でしょう。不要なデータ形式の削除、適切なデータ形式への変換
もしかすると、97形式+2000形式で格納されているかもしれません。
129124:04/07/06 12:01
>>124
すみませんなぜかプリンターインストールしたら直りました
関係があるのかな。。。
130126:04/07/06 13:07
>>127
>>128
すいません。どうもピボットテーブルが原因だったようです・・・
抽出する

ピボットテーブルの参照範囲の行数が増える

ファイルサイズ増える・・・
抽出を行っても、参照範囲が変わらない方法はないものでしょうか?
絶対参照にしても無理みたいです
相談させていただきます。
ttp://cgi.f3.aaacafe.ne.jp/~sakenomi/upload/104.jpg
このように表をグラフ化したいのですが、グラフが2本になったりと思うように行きません。
簡単な事で申し訳ないのですが、よろしければご返答お願いします。
132名無しさん@そうだ選挙にいこう:04/07/07 08:54
こんにちわ、
勤務時間計算についてご教示願います。
タイムレコーダーをパソコンに繋いで勤務時間の
月毎の集計をタイムレコーダーの添付ソフトで行います。
(このソフトは集計までしか出来ません)
その集計データをcsvファイルにしてエクセルで計算させるわけですが、

例として、ファイルを開くとエクセルでの
セルの数値は107:15:00(107時間15分)ですが
関数の表示は(1900/1/4 11:15:00)
となります。
 ということで、私のレベルではさっぱり分かりません

結論から言えば、時給800円で107時間15分働いたから
85,800円と計算が出来ればよい話ですが。

諸先輩方よろしくお願いします。

PS ○ルコロのタイムカードは二度と買わないぞ
サポートセンターに電話しても当方エクセルは
サポートしてませんだと、何も書いてないマニュアルを
読めとたらいまわしにされ、何もわからずじまい、
だったら、マニュアルにエクセル等で計算して下さい
なんて書くな、電話代と時間のムダだろうが、

ご静聴ありがとうございました。

セルには正しく表示されるようなので、数式バーは無視して下さい。
×800(円/時)×24(時間)で求められます。

>125さんは答える前にレスをもう少し読んで下さいね。
134名無しさん@そうだ選挙にいこう:04/07/07 10:10
>133さん
早速ありがとうございます。
試した結果できました。
昨日、4時間もエクセルをいじくりまわして
気が変になりそうでした。
本当に感謝します。
135名無しさん@そうだ選挙にいこう:04/07/07 13:50
エクセルで、セルの値が更新されたとき、
その更新されたセルのアドレスを取得する方法ってありますでしょうか?
宜しくです。
136134:04/07/07 15:16
>134ですが、

=100(以上)×800(円/時)×24(時間)では
答えを求められましたが、

99(以下)×800(円/時)×24(時間)
では#VALUE!になってしまいます???
 100時間前後の勤務時間が複数あるので
対応する方法ありますでしょうかよろしくお願いいたします。
>>136
 >>6
138名無しさん@そうだ選挙にいこう:04/07/07 15:53
「#N/A」の出力を抑制できませんか?
if文を使っても無理ですよね??
>>138
ISERROR
すみません。相談に乗っていただきたいのですが
COUNTIFを使ってある一定の条件で件数をカウントしたいのですが、
その条件を他のセルから持ってくることはできないでしょうか?

=COUNTIF(A1:A10,">=B1")
とかやっても「B1」という文字を探してしまいます。
>>140
条件が分からないから、誰も答えられんと思うが
142140:04/07/07 18:24
>>141
そうでした。すみません。
B1のセルには「1000」が入ってます。
それを「900」とか「1200」とかに変更したりするのですがそれを
数式に反映させたいです。
B1 >=1000
C1 =COUNTIF(A1:A10,B1)
144140:04/07/07 18:33
>>143
やってみたらしっかりいきました!!
数式ごとセルに入力してればいいのか…

どうもありがとうございました。
>>136
時間数によってエラーになったりならなかったりというような
ことはありませんよ、ほかの原因じゃないですか。
A1に 97:30:00 (表示形式 [h]:mm:ss )
B1に =A1*800*24
エラーになりますか?
>>131
項目はなんだ。
何をしたいんだ。
もうちょっと具体的に説明せよ。
>131
平滑線か折れ線でつないだ散布図を使用
必要に応じてグラフの元データのXの値とYの値を入れ替える
各軸のラベルや最大値などは見やすいように適宜変更

>135
変更履歴の記録
148困ってます!:04/07/07 20:42
csv形式→excell形式→csv形式の変換で困っています。

csv形式で、ある項目に極めて長大なデータが含まれている場合、
excell形式に変換した時点で ######## の表示になり、
その時点では、上部に表示されるエリア内にはその ###### のデータの
正しい内容が表示されているのですが、再びcsv形式にした時点で
####### の表示内容しか残りません。
エクセルで極めて長大な文字列を扱うこと自体が無理なのでしょうか?
そして、それをcsv等テキストに戻すことはできないのでしょうか?

誰か良い知恵を貸してくれませんか?お願いします。
149解決しました!:04/07/07 21:20
セルの書式設定を「文字列」から「標準」に変更した時点で
#### の表示が解消し、それを保管しても大丈夫でした。
お騒がせしました(^^)
150名無しさん@そうだ選挙にいこう:04/07/08 00:55
WinXP Excel2002です

A1をアクティブにして上書き保存をし、その後Excelを終了させたいです。

Sub A1保存()
Range("A1").Select
ActiveWorkbook.Save
End Sub

自動記録でしかマクロがかけない私には上記が限界です。
ご教授のほど、よろしくお願い致します。
>>150
Sub A1保存()
Range("A1").Select
ActiveWorkbook.Save
Application.Quit
End Sub
152名無しさん@そうだ選挙にいこう:04/07/08 01:53
>>151
ありがとうございます!!
VBAってどうやって勉強したらいいんだろう。ふぅ。
ちょっとお聞きしたいのですが、たとえば議事録や報告書等
週や月ごとに新しい文書を作成していく場合、新たにシートを
追加していくべきか、新しいブックで作成するべきか迷います。

過去の内容を見るという点ではシートを追加して行く方が便利そうですが、
その都度その都度文書を提出すると言う点ではブックで作成の方が
年齢のお高い上司方には解り易そうですし・・・


みなさんはどうされてますか?
>>153
文章をExcelで作るのか・・・ふーん
そんな用途ならword使うけどなぁ。

> 過去の内容を見るという点ではシートを追加して行く方が便利そうですが、
> その都度その都度文書を提出すると言う点ではブックで作成の方が
> 年齢のお高い上司方には解り易そうですし・・・
ファイルで渡すの?
老人に渡すときは、
印刷した紙で渡します。
老眼でも良く見えるように拡大して大きい文字で
他レスより導かれてきました。
どなたか教えてください。
エクセルでデータ分析をする際にセルを条件によって赤や青や黄色に
塗りつぶしたりしたのですが、数が多くなり、
赤のセルが幾つで、青が幾つ、かをカウントする関数ってありますか?
マクロは知識がありません。
セルの色のみを条件にして何かを行うのは、
>157にあるように少々面倒なのであまりおすすめできない。

今回は
>データ分析をする際にセルを条件によって赤や青や黄色に
>塗りつぶしたりした
ということなので、そのときの条件を使用してCOUNTIFで数えるのが妥当かと。
159156:04/07/08 15:27
>>157
>>158
ご親切なアドバイス、回答有難うございました
160名無しさん@そうだ選挙にいこう:04/07/08 15:54
こういうグラフをエクセルで書くのってどうやるの?
http://pcqa.s3.xrea.com/upload/source/up0078.jpg
こんにちは、質問させてください。
(2,400)と表示させたいのですが、
(2,400)と打ち込むと何故かー2,400と表記されます。
これは一体なんの呪いでしょうか?
解決方法よろしくお願いします
>>161
書式→セル→表示形式→数値
のとこで修正する
>>160
それは折れ線グラフ?面グラフ?
X軸・Y軸にあたる元データはどういう値?
その絵だけじゃ曖昧すぎてなんとも。
164名無しさん@そうだ選挙にいこう:04/07/08 18:08
質問させてください。わけがわかりません。

シートの画面に表示されている部分一杯に、
VLOOKUPを使って違うシートのデータを読み込ませています。
が、画面の右下の一角だけしか表示されず、ほかは全部エラーになってしまいます。
同じ条件でうまく表示されたものをそのままコピーして、元になるデータだけ替えているので、
数値は違えどちゃんと表示されると思うんですが・・・表示されません。

なぜでしょう?
>>164
わけがわかりません。

もっと具体的に書いてくれないと、判断のしようがない。
MS EXCELでは、ワークシートをコピーしても
参照先などのリンクはできるだけ使えるように
自動的に自動修正されます。
そのことについて十分理解していればとても便利なのですが
動作原理を知らずに応用すると原因不明のエラーに襲われます。
167名無しさん@そうだ選挙にいこう:04/07/08 19:10
質問があります。
excelで座標空間の異なる2つのグラフの重ね書きはできますか?
例えばX座標空間が異なる場合でも目盛りを上下に2つ持たせて表示させたいです。
168名無しさん@そうだ選挙にいこう:04/07/08 22:26
>164
LOOKUPで参照している範囲に名前を付けておけば、
コピーしたりしてもそんなに崩れたりしないと思いますが、どうでしょ?
>153
ファイル単位で上司に提出なら、新規ブックにしてファイル名を日付にすればいいのでは?
手元に置いて管理するとかデータベースの一部として使用するなら1ブックでシートの追加
をしていく方が便利かな
170名無しさん@そうだ選挙にいこう:04/07/09 00:15
すみません。

Excelの入力規則で「全角スペースもしくは半角スペースを含むものを
エラーとして入力できなくなる」ようにするにはどうすれば良いのでしょうか?

どなたか教えてください。
ちょっとややこしいけどこんな感じでどうでしょう

=ISERROR(FIND(" ",ASC(A1)))
172名無しさん@そうだ選挙にいこう:04/07/09 01:47
教えてください。

可視セルのみに値を貼り付ける方法はありますか?

やりたいのは、フィルタリングしたデータを、フィルタリングしたデータ
の上に、見える部分だけそのままペタリと貼り付けることです。
可視セルのコピーについては分かりますが、ペーストについては、
色々調べましたが分かりませんでした。
173ぴのこ:04/07/09 08:01
範囲を選択してから
「Alt」キーを押しながら「;」キーを押すと
可視セルだけが選択できるのでしゅ(^▽^)

そのあと値の貼り付けをしてくださいでしゅ(^▽^)
174ぴのこ:04/07/09 08:11
>>172

範囲を選択してから
「Alt」キーを押しながら「;」キーを押すと
可視セルだけが選択できるのでしゅ(^▽^)

そのあと値の貼り付けをしてくださいでしゅ(^▽^)
175名無しさん@そうだ選挙にいこう:04/07/09 09:36
直径が60cmの円で、短辺が10cmの時の長辺の長さは?
ってな感じで円に内接する長方形の大きさを求めれるシートを作成したいんですけど・・

短辺5cmの時長辺は・・・
短辺8cmの時長辺は・・・

と一辺を打ち込めば解が出るような便利なのを作成したいんですが、、数学とExcelの
両方に弱いので助けて下さい。
176初心者%:04/07/09 10:35
以下の関数の意味と、操作方法をご教授願いたいです。

あるセルの数字を別のセルの関数の内部に反映させるにはどうすれば
よいですか?例えば、
A   B   
0001  =RSS|'0001.T'!銘柄コード
0002  =RSS|'0002.T'!銘柄コード

という風に、Aの数字をBの関数の内部に入れる方法です。もしよろ
しければ、そもそもBの関数について詳しい方がいらっしゃいました
ら、教えていただけませんか?初心者の質問ですみません。

よろしくお願いします。

177初心者%:04/07/09 10:38
追記 WinXP,Excel2002です。よろしくおねがいします。
>>170
マクロ処理するなら、エラーにしなくて
後でトリムするのは?

>>175
数学というよりさんすうですね。
A1:直径、B1:底辺
=SQRT(A1*A1-B1*B1)
>>178
なぜべき算を使わん
180164:04/07/09 11:06
EXCELの修復で直った・・・。プログラムが破損してた模様・・・。
ごめいわくおかけしました・・・。
181126:04/07/09 12:36
>>176
=RSS|'0001.T'!銘柄コード
の部分の意味が判りません。エクセルの関数の場合
=関数名(参照セル又は変数)
など必要な変数を()でくくる形になります。
 RSS| の部分は自作の関数なのでしょうか?ツール→マクロ→ビジュアルベーシックエディッター→プロジェクトエクスプローラーから確認してください

182名無しさん@そうだ選挙にいこう:04/07/09 14:04
ExcelのUserFormでDTPickerを使いたいのですが
値の取得はできても、設定ができません
DTPicker1.Value="2004/07/01"
こうすると
「An error occurred in a call to the Windows Date and Time Picker control.」
というエラーが出ます。
どうかご教授を。orz

OS :WindowsXp Pro
Ver:Excel2000
183 ◆oz7I5rbk6g :04/07/09 15:31
184 ◆4vblg/aze6 :04/07/09 15:32
185 ◆MfcSLEjHrk :04/07/09 15:32
186 ◆7VH7ld888. :04/07/09 15:32
lll
>>179
どっちでも良いじゃん
大昔の8bit機のBasicだとべき算使うより掛け算の方が早かったような記憶があるぞ
188名無し:04/07/09 17:02
積み上げ縦棒と集合縦棒と折れ線の三つの軸でグラフを作りたいんだけど無理なんですかね?
189126:04/07/09 17:16
>>182
エラーの内容は『ウィンドウズの日付とDTpickerの日付が違いますよ』
と言うことだと思います。
プロパティのMaxdateとMindateは設定していますか?
その間の日付でないと指定することはできないと思います。
>>188
積み上げ縦棒と集合縦棒を共存させるのは無理があるので、
どちらかを別グラフにわけて作成するのがベストかと。
集合縦棒も折れ線にすれば、一度に3系列表示することも可能ではあるけれど。
なんにしても、どういうデータを元にしてグラフを作るのかをはっきりさせないと、
期待したような回答は得られないと思うよ。
>・質問する人は可能な限り具体的に書いてね。
おおっぴらにできないデータなら架空の数値でもいいし。
191188:04/07/09 18:08
>>190
どうもありがとうございました。

8種類の項目があって、このウチ一つだけ(仮にAとします)他の項目と数字が4〜8倍くらい違うんです。
だから他の項目は縦棒にしても折れ線にしても、数字が低い位置で並ぶから見にくいな、と思ったので。
で、A以外を積み上げ縦棒、Aだけを別の縦棒にしようかと思ったんです。

ちなみにもう一つの軸は、その8項目が全体の何%で出てくるかを率でだしてます(これも必須)。

まあ、無理と分かったので積み上げ縦棒で作ります。
ありがとうございました。
192名無しさん@そうだ選挙にいこう:04/07/09 18:41
>126
MaxdateとMindateは"9999/12/31"と"1601/01/01"が
それぞれ設定されています(デフォルトで設定されている値)

VB6のランタイム入れても結果が同じだった。
orz
193178:04/07/09 19:29
>187
私としては、二乗の場合に限って云えば
掛け合せた方が良いと考えております。
是非>179さんの県会をお伺いしたい。
>>181
これは前にも聞いた人がいたが株のデータの動的リンクの
ADDIN入れるやつですな。ADDIN作った会社に聞くしか
ないとおもわれ。
195名無しさん@そうだ選挙にいこう:04/07/10 00:17
標準のグラフ以外のものってどうやって作れます?
たとえば系列を3つグラフにしたいとして…

系列1は折れ線グラフ、左軸
系列2も折れ線グラフ、左軸
系列3は棒グラフ、右軸

ご教授願います。
Windows2000でExcel2000を使用してます。
最近、ある特定のシートでセル内の文字がすっかり消えてしまっている現象が起きています。
不思議なことにはセルのパターンや罫線はそのまま(おかしくなっているところもあるが)で、文字だけが表示されません。
ただ、文字データはセルをアクティブの状態するとツールバーの下にデータが表示されます。
でも、セル内では文字はどうやってもでてきません。
文字色を変えても文字は表示されません。
これは何なんでしょうか?
ファイルの中でもこんな感じにおかしくなっているシートと正常のシートがあります。
おかしくなっているのは一つだけのファイルではなく、同じような現象がいくつかのファイルでシートがおかしくなっています。

原因をご存じの方、アドバイスお願いします。
197名無しさん@そうだ選挙にいこう:04/07/10 00:23
196
セルの書式設定の表示形式をチェックした?  ;;;
198名無しさん@そうだ選挙にいこう:04/07/10 00:34
>>197
ええ。設定におかしな所は無いと思うんですけどね…
199名無しさん@そうだ選挙にいこう:04/07/10 01:08
>>198
表示形式がどうなってるかを書かないと先に進まねーな
200名無しさん@そうだ選挙にいこう:04/07/10 01:09
>>195
とりあえず全部折れ線で作って、
それからそのグラフ上の系列を右クリックして書式などを適当に変更する。
>>198
何か条件付き書式が適用されてんじゃないの。
つか、何してからなったのよ。
もしや、他人のファイルじゃねーだろーな。
立ち上げるといきなりタスクバーに入ってしまい、最大化しかできず、
いつものサイズに戻せなくなりました。
とても不便です。どうしたら良いか教えてください!
>>202
Excelのショートカット->プロパティ
>>202
Alt+スペースキー>M>矢印キーで画面内に持ってきてから一旦閉じる
特にExcel関係ないじゃん。
206初心者A:04/07/10 12:35
「セルの書式設定」→「配置」→「文字の制御」→「折り返して全体を表示する」に
してありますが、印刷するとなぜか、行の中の(折り返した)2行目しか印刷されません。

原因が分かりません。

「文字の配置」→「縦位置」が「下詰め」してあるからでしょうか?
>>206
その行の縦幅が足りていない。
下詰めだと下の行が表示されるのは仕様。
208初心者A:04/07/10 17:45
>>207
有難う御座います。
縦幅が足りない問題は
「書式」→「行」→「自動設定」クリックで解決するでしょうか?

それとも「高さ(E)」を手動で指定する必要があるのでしょうか?
>>208
自分で実際に試してみろや。
>>208
つうか、Excelで印刷が思い通りに行かないことがあるが、
その対策法。
1) できる限り等幅フォントを使う、MS P明朝、MS Pゴシックではなく
 MS 明朝、MS ゴシックにする。
2) 印刷前に必ず印刷プレブューで確認する

これだけでもだいぶ違います。
211ぴのこ:04/07/10 22:07
最近、教えてくんと、かまってくんが多いでしゅね(^▽^)
相談所でそういう意味のないこと言うアホもあとを断たないがな。>>211
213初心者A:04/07/10 23:43
>>210
等幅フォントって、初めて耳にする言葉なんですが・・
そのPというのが付いてると、なぜ不具合があるのですか?
>>214
ガキかも知れないと言ってみるテスト
今時、6歳にもなりゃGoogle逝くぜ
217ぴのこ:04/07/11 01:28
そうでしゅか(^▽^)
>>217
教えてくんと、かまってくんと、
目立ちたがりの先生たちで成り立っています。
>>213
等幅フォントとプロポーショナルフォントを調べる。
因みに等幅フォントにすると、プロポーショナルフォントに比べて
画面の表示と印刷時の状態が近くなるので、へまをやらかす可能性
が減る。

減るだけで完全ではない。

つうか、Excelは画面表示と印刷が全く異なることは覚えておく
必要がある。
220名無しさん@そうだ選挙にいこう:04/07/11 02:37
>>76
申し訳ありませんがそのショートカットの作り方を教えてください。
221名無しさん@そうだ選挙にいこう:04/07/11 03:42
項目がひとつの、1と2の2つのリストを見比べて、
1にあって2にもある共通するデータがあったら
1リストに○とか表示をするにはどうしたらいいですか、
データ数3000個ずつです
仕事でつかうのですよろぴこおねがいします
222名無しさん@そうだ選挙にいこう:04/07/11 04:33
>>221
VLOOKUPでヘルプ見れ。

しかし質問スレでヘルプ見れだけじゃあんまりだから書いておくw
>項目がひとつの
つまりリスト1(sheet1とする)とリスト2(sheet2とする)のA1セルからA3000セルまでデータが入ってるという事?
リスト2(sheet2)のB1セルからB3000セルに○と記述。邪魔なら非表示に。
リスト1(sheet1)のB1セルに下記のように記述。
=VLOOKUP(A1,Sheet2!A$1:B$3000,2,FALSE)
これをリスト1(sheet1)のB3000までオートフィル。
223名無しさん@そうだ選挙にいこう:04/07/11 04:39
ヘッダー及びフッターに半角で "&I" と表示させたいのです。
どうしたらヨロシイでしょう。
最悪スペースが入るのは許せますが、全角文字は不可なのです。

エクセル2002です。よろしくお願いします。
224ぴのこ:04/07/11 05:35
ここは良スレでしゅ(^▽^)
225ぴのこ:04/07/11 05:37
ぴのこの本拠地はここでしゅ(^▽^)
http://etc3.2ch.net/test/read.cgi/denpa/1088335020/
226ぴのこ:04/07/11 05:43
さようなら(^▽^)

ε=ε=ε=ε=┏( `0´)┛

Word文書をExcelで開く方法ってありますか?
228ぴのこ:04/07/11 09:47
おはようございましゅω(=^・ω・^=)ω
>>227素直にワードで開きなしゃいω(=^・ω・^=)ω
エクセルで無茶をする人が多くて困るな〜ω(=^・ω・^=)ω

(^▽^)
229名無しさん@そうだ選挙に行こう:04/07/11 10:21
A1に「みずほ1」といれると、
B1に「みずほ1丁目」と表示させたいのですが、
書式設定の表示形式で実現することはできるでしょうか?
230名無しさん@そうだ選挙に行こう:04/07/11 10:54
プルダウンメニューの作成方法を知りたくて、先ほどからググッて
いるのですが、見つかりません。
どうか助けて下さい。
>>229
B1に=A1
B1のセルの書式設定>ユーザー定義で @"丁目"
233221:04/07/11 11:18
>>222

神!
ありがとーっ!
>>230
セルをリスト形式にしたいってことなら
データ>入力規則>設定タブ>入力値の種類で「リスト」を選択
元の値にリスト元の範囲を指定するか、「みかん,りんご,ぶどう」のように直接リストを「,」で区切って記入する
>231, >232
ありがとうございます。
ユーザー定義で
「@"丁目";;」としたいのですが、エラーがでます。
@を使うと ;; が使用できなくなるみたいですが、
なにか対処法はありますでしょうか?
文字列の場合、;; が使えないのでしょうか?
236ぴのこ:04/07/11 12:13
自作自演必死だな(´ ,_ゝ`)プッ
>>235
その場合は「;;;@"丁目"」じゃない?
238230:04/07/11 16:28
>>232>>234
解決しました。ありがとうございます!
239ぴのこ:04/07/11 17:56
>>236
おまえニセモノ(^▽^)
240:04/07/11 18:03
こいつは高校中退の馬鹿。どこかのスレに書いてた。
241名無しさん@そうだ選挙に行こう:04/07/11 19:24
人口統計ファイル
http://www.stat.go.jp/data/jinsui/2002np/zuhyou/05k3f-2.xls
を読みたいのですが、excelを持っていません。
ファイルの中身を見る方法ってないでしょうか?
秀丸で開いても文字化けで読めないです。
>241
Excel Viewer 97 ってのがマイクロソフトからでてます。フリー。

97と2000は読めたと思うが、最近のバージョンだとどうかなあ。
243kana:04/07/11 21:42
郵便公社HPから住所の郵便番号のダウンロード しました。

セル(G)が都道府県。(H)が市村名。(I)が町名。です。
GHIを統合しようとしましたができません。(選択範囲には複数のデータ値があります・・と警告でます)
Gセル:東京都。Hセル:千代田区。I:飯田橋 とセル分かれているのを、一つのセルに例えば、
Gセル:東京都千代田区飯田橋としたいのです。できますか?

よろしくおねがいします。

OS2000
>243
私なら、
1. 空いてる列(Jとか)の一行目に数式で =G1&H1&I1
2. J列の下までオートフィル
3. 値で貼り付け
とするけど、もっと便法あるかな?
245kana:04/07/11 22:22
244
ありがとうです。 しかし自分は仕事で画像ソフト専門で事務系ソフトは無知。
わかりやすく解説してもらえるとうれしいのですが。。よろしくおねがいします
246ぴのこ:04/07/11 22:28
>>240
おまえアホ(^▽^)
>245
では。

G,H,I の列にくっつけたいデータがあるとする
Jは空いているとする
1行目から200行目までデータが入っているとする
 (一番上に「市」とか「区」とかの用例がない

という条件で、

1. J1 のセルに、「=G1&H1&J1」と入力
  (この時点でJ1 のセルには目的のデータが表示されてるはず)
2.J1のセルをクリックする
3.マウスカーソルの先をJ1セルの右下付近に近づけるとカーソルの形状が十字型にかわるので
  そこで左ボタンを押し、押したままマウスを下へ移動。200行目まで。
4.マウスの左ボタンを離す

この状況で、Jの列に望みのデータが入っているはず。

専門でなくても、オートフィルは覚えといて損はないです。
248kana:04/07/11 23:03
ご親切に有難うございました♪(^▽^)
249帝京様:04/07/11 23:07
プクス
>>247
いい奴だな。
251kana:04/07/11 23:11
247
ありがとうです。 1.はできましたが。。。(たしかに目的のデータが表示されました)
2.をするとズラ〜と列が選択?色かわりました。3.4.はできません。・・・

=G1&H1&J1 の数字の1を一個ずつ変更するなんて超不合理なやり方なのでしょうか?
252kana:04/07/11 23:21
247 様
ありがとうです! できました。。
3.の「カーソルの形状が十字型にかわるので 」がわからなくて(白に黒罫の太い十字とばかり・・勘違いしていました) そ〜とマウスを移動してみると
 黒罫のみの十字に変わり、それであとは教えてもらったようにするとできました。

ありがとうでした。 それと・・・

自分と同じ名前で書き込んでいるひとがいるみたいです。
253kana:04/07/11 23:23
247 様
ありがとうです! 感謝、感謝です。。
うんこしてきます。
254ぴのこ:04/07/11 23:39
良スレでしゅ(^▽^)
255名無しさん@そうだ選挙にいこう:04/07/11 23:52
かなり初心者な質問ですみません…
式をグラフに表したいのですがどうすればいいですか?
例えば、y=5x-6という式をグラフにしたいのですが
ヘッダーフッターに日付を入れようとすると2004/7/11というような表示形式になると思うのですが、この形式を変えるにはどこをいじったらいいのでしょうか。
海外とやり取りする書類の際、11/July/2004と表記したいのです。
(今は仕方がないのでその都度手入力しています)

Excel2002です。よろしくお願いします。
257名無しさん@そうだ選挙にいこう:04/07/11 23:57
>>255
エクセルはデータがないとグラフは作れないと思うので
とりあえずy=5x-6を示す仮データでも作れば医院で内科医?

>>256
ごめん、それオイラも困ったコトあったわ。
ワカル人よろしく。
>>256-257
ThisWorkBookモジュールに以下のマクロをコピペ(この場合は中央下)

Private Sub Workbook_BeforePrint(Cancel As Boolean)
ActiveSheet.PageSetup.CenterFooter = Format(Now(), "d/mmm/yyyy")
End Sub

ヘッダー・フッターの各位置は以下の通り

LeftHeader '左側のヘッダー (左上)
CenterHeader '中央のヘッダー (中央上)
RightHeader '右側のヘッダー (右上)
LeftHeader '左側のフッター (左下)
CenterHeader '中央のフッター (中央下)
RightFooter '右側のフッター (右下)
フッターがちょっと間違えてるね。

LeftFooter '左側のフッター (左下)
CenterFooter '中央のフッター (中央下)
>>258-259
どうもありがとうございます。
やってみます。

やっぱコンパネ弄ってもダメなわけだ…(ボソッ
261:04/07/12 03:12
これでいいのでしゅ(^▽^)
262名無しさん@そうだ選挙にいこう:04/07/12 08:38
ハイパーリンクにURLを指定して、それをクリックするとIEで開いてしまうのですが、
このときに使用されるブラウザの指定はどのようにすればいいのですか?
現在はマクロでやっているのですが面倒なのでハイパーリンクでのやり方を教えてください。

環境はWindowsXP SP1a、Excel2002です。よろしくお願いします。
Excel2002で、ダブルクリックしたセルに指定の文字を打ち込むVBAを作りたいんですが、
複数範囲に適用する方法が分かりません。とりあえず

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address <> "$C$2" Then Exit Sub
ActiveCell.Formula = "文字"
End Sub

で、C2をダブルクリックしたときに文字を入れることは出来るのですが、
これをC2:AH196まで適用したいのです。分かる方やり方教えてください。

高校中退から東大へ
ttp://www.mag2.com/m/0000135688.htm

265名無しさん@そうだ選挙にいこう:04/07/12 14:18
質問いたします
現在、業務要素としてエクセル2002で簡単な納品書を作成して使用していますが
ファイル保存に関してマクロを使用したいと思い試行錯誤していますが、わからず
皆さんのお知恵を拝借したいと思います。

シートにボタン(保存ボタン)をつけて、これをクリックするとその日の日付と数字
(例20040712-001.xls)がファイル名としてつけられて保存されるようにしたいのですが、
同じ日に何度も納品書を出力するので、日付は同じでよいのですが、最後の数字(001〜)
が保存ボタンを押すたびに連番でファイル名がつけられるようにするにはどうすればいいのでしょうか?

マクロをいじっていますが、どうにもわからず、どなたかご伝授お願いいたします。
>>265
初級者向けにやさしく書いてみた
オレはこうは組まんが

Dim strPath As String
Dim i As Long

Do
    i = i + 1
    strPath = "C:\" & Format$(Now, "yyyymmdd") & Format$(i, "-000.xls")
Loop Until Dir$(strPath) = ""

Debug.Print strPath
267名無しさん@そうだ選挙にいこう:04/07/12 15:00
>266
ありがとうございます
早速試してみます
268名無しさん@そうだ選挙にいこう:04/07/12 15:08
>266
いまやって見ましたが、このスクリプトをマクロの新規登録で貼り付ければいいんですよね

なんかやり方が間違っているような・・・・・
269名無しさん@そうだ選挙にいこう:04/07/12 15:24
質問です。
excelVBAのループ処理で、exit for等のように完全にループから抜けるわけではなく、
それ以降の処理を無視してループの先頭の位置にもどるようなのってありませんか?
C言語におけるforやwhileループのcontinueみたいなものです。
270ゴッホ:04/07/12 16:40
>>263

Dim Saisho As Range, Saigo As Range
Set Saisho = Range("C2") '最初のセル
Set Saigo = Range("AH196") '最後のセル

Dim Gyo0 As Long, Gyo1 As Long, Retu0 As Long, Retu1 As Long
Gyo0 = Saisho.Row
Gyo1 = Saigo.Row
Retu0 = Saisho.Column
Retu1 = Saigo.Column

If Target.Row >= Gyo0 And Target.Row <= Gyo1 And _
Target.Column >= Retu0 And Target.Column <= Retu1 Then

Target = "文字"
Cancel = True

End If

>>268

試してる途中で載せちゃったのかな?
最後のDebug.Print strPathを
ActiveWorkbook.SaveAs strPath
なりに変えてください。

>>269
continueはVBAにはないので、似たようなことをやりたかったら、gotoを使うしかありません。
271269:04/07/12 17:29
>270
そうですか…
できるだけGOTOは使いたくなかったのですが、ないのでは仕方ないですね。
ありがとうございます。
272ゴッホ:04/07/12 17:46
>>271

continueはないのですが、Gotoを避けたかったら、いくらでも回避方法はあるので、
工夫してみてください。
continueがなくても、Gotoでしかできないことは、VBAでもまずありません。
例えば、

For i = 1 To 10

If i Mod 2 = 0 Then
MsgBox i
End If

Next

のようにすれば、「奇数の場合continue」と同じ振る舞いになります。
273269:04/07/12 18:02
>272
すいません。if文を使った場合、プログラムが長くなってしまうので、continueがあればいいなと思ったのです。
連続になってしまいますが、質問です。
セルが結合されているかどうかというのはMergeCellsを使えばできるのですが、
その結合されたセルが何と何を結合したものであるか調べる方法はありますか?
275ゴッホ:04/07/12 18:15
>>273

そうですか。continueに取って代わるものがあればいいんですけどね。
Ifなどを使うのが、VBAでは普通のことだと思うので、多少長くなっても使うしかないと思います。
っつっても、言うほど長くなるとも思いませんが。

>>274

Dim Togo As Range
Set Togo = ActiveCell.MergeArea
MsgBox Togo.Address

とかでOK?
>266
エクセル自体を繰り返し起動する可能性がある場合
日ごとにどこまで発行したかデータファイルに残さんとダメですかね。
277ゴッホ:04/07/12 20:48
>>266ではないけど

>>276
ん? 同じパスの下では、起動とかに関係なく連番になると思いますが。
278276:04/07/12 21:10
>277
ああ、ごめん。そのためのループなのね。
279名無しさん@そうだ選挙にいこう:04/07/12 22:02
散布図の各点にラベルを振ることはできますか?
各点で異なるラベルを振りたいのです。

簡単な例

A列に(ラベル)
ペン4、ペン3、アスロン

B列に(X軸)
3万円、2万円、2万5千円とか

C列に(Y軸)
5MIPS、1MIPS、3MIPS

上記の例のように数が少ない場合はその数だけ系列を作ればいいのですが、
数が多い場合の対処法が知りたいのです。よろしくお願いします。
OSに依存した作り方はキライだな
>>220
つうか、たとえば黄色にするマクロを自動マクロ登録する。
そのマクロをショートカットに登録するだけ。
>>262
さんざガイシュツだが、IEが開くのが仕様。
VBAのShellでやるのが基本。
283名無しさん@そうだ選挙にいこう:04/07/13 00:23
>>279
ActiveChart.SeriesCollection(1).Points(1).DataLabel.Characters.Text = "ペン4"
のようなのを点の数だけ書けばできる。

ループで回して、ラベルの文字列の部分をワークシート上から持ってきたらいいんじゃないの。
>>266だとマクロを実行するファイルを一旦閉じたら
iの値は保持されませんね。
>276から>278のやり取りは変じゃないですか?
↑ ごめん、取り消し
Excel2003、WinXPです
MicrosoftMapはなくなったのでしょうか?
また、あるとしたらどのようにすれば使用できるようになるでしょうか?

ご教授よろしくお願いいたします。
>>286
Excel2003の環境じゃないから違うかも知れないけど
ツールバーを右クリック>ユーザー設定>コマンドタブ>挿入 に「マップ」ってのがあったら
それをツールバーにドラッグ&ドロップ
>>287
ありがとうございます
残念ながら、「マップ」がありません・・・
2枚ともインストールしたのに

仕様なのかな
289263:04/07/13 10:49
>270
デキタ━━━(゚∀゚)━━━!!!!
ありがとうございます。
290286:04/07/13 14:53
どうも2002で消えてそのままみたいですね

2000引っ張り出すか・・・
291名無しさん@そうだ選挙にいこう:04/07/13 17:55
わかりやすくするためにセルに色を付けたのですが
印刷するときは色をだしたくありません
出来ますでしょうか?
>>291
ファイル>ページ設定>シートタブで白黒印刷
>286
一応2002のヘルプより引用
> マップ ツールについて
> マップ ツールは Excel 2002 では使用できません。Microsoft Office の以前のバージョンを
> インストールしていない場合、マップ ツールで作成したファイルを開くことができません。
だそうです。2000引っ張り出すしかなさそうですね。

>291
いったん保存→Ctrl+A→塗りつぶしなし→印刷→元に戻すor保存せずに閉じる。
294名無しさん@そうだ選挙にいこう:04/07/13 18:17
>>292
これだとすべて白黒になりませんか?
295名無しさん@そうだ選挙にいこう:04/07/13 18:25
もう一つ質問です
=IF(E5="","",VLOOKUP(E5,顧客情報$A$4:$B$4052,2FALSE))
という書式があるとします
E5の所を複数セルを統合したセルなのですがこの場合はどのような
書き方になるでしょうか?
>>294
なりますが、>>291だけでは貴方のやりたいことがわかりかねます
297名無しさん@そうだ選挙にいこう:04/07/13 18:33
>>295
結合セルでも数式は同じ。少しは自分で試してから書き込みなさい。
298291:04/07/13 18:36
発注書を作っていて分かりやすくするため
入力部分を色分けしています
他の部分(社ロゴ等)に色を使っているので
そこはカラーで出したいです
>>298
印刷するときだけセルの色をすべて消して印刷して
あとは上書き保存しないで終了するとか
300299:04/07/13 18:58
↑印刷する直前(セルの色を消す前)に忘れずに保存しとく必要あるけど。
301291:04/07/13 18:59
色分けしてるセルが30個ぐらいあって
1日に30回ぐらい印刷するので・・・
(別名で)保存→セルの色消去→印刷の流れでマクロ組めば?
303291:04/07/13 19:05
んぅ〜色分け辞めます
どうもでした

自分で質問しておいて何ですが
=IF(E5="","",VLOOKUP(E5,顧客情報$A$4:$B$4052,2FALSE))
これの詳細ってどんな感じですか?
>>291
印刷用と入力用でシート分けたらダメなの?
305286:04/07/13 19:28
>>293
レスありがとうございます
結局両方入れることにしました
306ゴッホ:04/07/13 19:45
>>291

>>302の通りのマクロ組むと

Application.ScreenUpdating = False
ActiveSheet.Copy
BName = ActiveWorkbook.Name
Cells.Interior.ColorIndex = xlNone
Application.Dialogs(xlDialogPrint).Show
If UCase(ActiveWorkbook.Name) Like "BOOK*" And ActiveWorkbook.Name = BName Then
Application.DisplayAlerts = False
ActiveWorkbook.Close
Application.DisplayAlerts = True
End If
Application.ScreenUpdating = True

でできると思うけど、マクロとかに抵抗あるなら、
ctrl + a とかでセルを全部選択して、条件付き書式で

数式が =$A$1=""

のとき、パターンを「色なし」にすれば、
A1が空白のときだけ、色がなくなる。
何か文字を入れれば、元に戻る。

この方法はいかがですか?

>>303

詳細はヘルプで調べたらすぐわかると思いますよ。
307名無しさん@そうだ選挙にいこう:04/07/13 22:29
Aセルに日付を入力し、Bセルに有効期限日を出したいのですが
どうしたらよいですか?
具体的には、
Aセル→H16.7.5
有効期間を丸五年として、
Bセル→H21.7.5
と自動的に入力できるようにしたいのです。

自分なりに調べてみましたが、完成できません。
よろしくお願い致します。
308名無しさん@そうだ選挙にいこう :04/07/13 22:55
>307
=DATEVALUE(YEAR(A1) + 5 & "/"& MONTH(A1) &"/"& DAY(A1))
もっと短い関数で表現できるかも
分析ツールを利用する
=EDATE(A1,60)

分析ツールを利用しない
=DATE(YEAR(A1)+5,MONTH(A1),DAY(A1))

どちらも表示形式は後で調整すればおk
310ゴッホ:04/07/13 23:03
>>309

EDATEで元号表示できる?
俺の2002じゃできない。
311ゴッホ:04/07/13 23:06
今試したら、元号表示になっちゃいました。
失礼。
312307:04/07/13 23:09
おお〜!
>308さん、>309さん、お二人ともの式で出来ました!
これで何千ものデータ、手打ちしなくてすみます。
最近、関数を使い始めた初心者なのですが、上手く使えば
エクセルはとても便利なんですね。
本当に本当に感謝しています。ありがとうございます。
313ゴッホ:04/07/13 23:13
>>309

なんで元号表示ができないと思ったかわかった。
EDATEのせいじゃなかった。

gggでユーザー設定するとできない。
「日付」の表示形式だとできるのに。

なんでだろ??
314291:04/07/13 23:14
時間でエクセル教えてくれるところありませんか?
教えてくれると言うより言ったとおりにデータを作ってくれる方が
なお良いのですが・・・
315ゴッホ:04/07/13 23:18
時間でエクセル教える?
金出せばやってやるよ。
つまんないのなら8,000円から。
317291:04/07/13 23:21
学校とか行ってる時間無いので
知りたいこと、やりたいことを
手取り足取り親切丁寧に教えて欲しいです
318291:04/07/13 23:23
8000円か〜ちょと高いかな
でもこんなもんか
319309:04/07/13 23:25
>313
当方も2002で、普通にge.m.dで(gggでも)出ますが。

>291
データを作って欲しいのなら、どこかに外注すればいかが?
学校行ってる時間がないのなら、手取り足取り親切丁寧に
教えてもらう時間もないと思うけど、その辺はどう考えてますか?
…まあツッコミすぎてもなんなのでマジレスしときますけど、
個人指導で時間の融通が利く教室を探すといいと思いますよ。
320ゴッホ:04/07/13 23:32
>>319
gggeでちゃんとなった。
知らなかった…。不覚。

>>291
開いた口がふさがらない。
321291:04/07/13 23:41
時間がないと言っても
一回ぐらいの時間はさすがにとれますよ
外注ってどれぐらいが相場ですかね?
322名無しさん@そうだ選挙にいこう:04/07/13 23:54
セルや文字の色を自分で作った色に変えたいのですが
どうやれば出来ますか?
>>322
ツールバーの「ツール」から「オプション」をクリック。
「色」タブを選べば「変更」で好きな色の割り当てができまつ。
(Excel2002のばあい)
質問です!
WIN XP
EXCEL 2000
http://maniakou.s7.xrea.com/cgi-bin/upload/img/img20040714040540.jpg
↑これのような正規分布表を書きたいのですが、なぜか途中から数値が合いません。
式としては今は 例 =NORMDIST($A3+B2,0,1,TRUE)-0.5 でやっています。
どなたかわかるかた教えてください!
325名無しさん@そうだ選挙にいこう:04/07/14 08:55
すみません、質問させてください。
Win95、Excel2000で
シート1:会社コードA、会社名、会社コードB、売上A
シート2:売上B順位、会社コードB、会社名、売上B(売上B額で降順ソート済)
でシート1にシート2の売上順位を反映させたいと、VLOOKUP関数で
書いてみたのですが、うまくいきません。

=VLOOKUP(会社コードB,SheetBの会社コードの範囲,Sheet2の1列目(売上B順位),1)

と書いてみました。
すると、会社コードBが表示され、順位は表示されません。

関数に関してはかなり初心者なので、何か決定的に間違えてるんだな、とは
思うのですが、どこが違うのやらさっぱり…
よろしければ教えてください。
326名無しさん@そうだ選挙にいこう:04/07/14 10:54
>>325
会社コードから、売上順位を検索したいんだよね?
それだったら、Sheet2の先頭の列を売上順位じゃなくて、会社コードにする。
その上で、

VLOOKUP関数を使って、
検索値・・・会社コード
範囲・・・会社コードから順位の範囲
列番号・・・順位の列番号(会社コード・順位の順番なら、2)

でOK
327名無しさん@そうだ選挙にいこう:04/07/14 10:58
>>325
いまいちよくわかりませんが・・・
VLOOKUPは一番左側を検索(?)させるデータにしなければいけませんよ。
会社コードを左側にもってこないといけないのでは?
328名無しさん@そうだ選挙にいこう:04/07/14 11:06
セルA1:A100に1〜2までの数値が入ってます。
セルB1:B100に1〜7までの数値が入ってます。


ここで、列Aの数値が1で且つ列Bの数値が1
のセルの個数を求めたいのですが、いい方法はないですか

自分で考えたのは、
=COUNTIF(A1:A100,1)-COUNTIF(B1:B100,2)-COUNTIF(B1:B100,3)
-COUNTIF(B1:B100,4)-COUNTIF(B1:B100,5)-COUNTIF(B1:B100,6)

なんですけど、めんどくさくて、一発で行く方法はないでしょうか?
329328:04/07/14 11:19
=COUNTIF(A1:A100,1)-COUNTIF(B1:B100,2)-COUNTIF(B1:B100,3)
-COUNTIF(B1:B100,4)-COUNTIF(B1:B100,5)-COUNTIF(B1:B100,6)

すいません。
↑じゃ、A1:A100で数値1のセルの個数-B1:B100で数値1以外のセルの個数
なんで、全然欲しい値がでませんね。

誰か助けて下さい。
みんなマクロとか組めてカッコイイなー。。。
おいら関数もヨチヨチ歩きなのに・・勉強しなきゃ。
すみませんスレ違いかもしれませんが質問させてください。
私は普段Excelを使わないのですが、一応Officeついてくるので
入れています。先日OfficeXPにverUPした折、
Exceもl2002になりました。その結果IEの右クリックに
「Excelエクスポート」というのが加わったのですが、
これが増えたお陰で慣れていた操作感が狂って
しまいました。凄い邪魔です。
Exceの方のユーザー設定やオプションを見てみましたが
これを消す方法がわかりませんでした。
消す方法、もしくは解決の助けになるサイトをご存知の方ご教授ください。
332名無しさん@そうだ選挙にいこう:04/07/14 12:39
セルの線を表示させたりさせなかったりする事は出来ますか?
>>331
レジストリくらい調べろやボケ

知らんなら [ファイル名を指定して実行] でコレやっとけ
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\Microsoft Excel にエクスポート(&X)"
>>332
[オプション] - [表示] タブ中の [枠線] のチェックをいぢってみろ
335331:04/07/14 13:06
>>333
ご教授ありがとうございました。
Excelの設定で解決できるのかと思っていたのですが
レジストリ弄らないと解決できないんですね。
336どなたか教えてください:04/07/14 14:26
IF関数で数値を文字列に置き換えて占いを作ろうと思ってますが、文字列から数値ならずっとできるんですが、数値から文字列だと8以上がどうしてもできません。
どなたかいい方法を教えてください。ほかの関数を使ったがいいんでしょうか?
337名無しさん@そうだ選挙にいこう:04/07/14 14:38
>>336
よく意味が分かんないんだけど、数字と文字の対応表を作ってVLOOKUP関数なんか使ってみたら?
書式設定で、文字列をカッコ"( )"で囲む場合、設定はどうやれば良いんでしょうか?
>>328
全然「一発で」じゃないけど、
A列とB列の和をC1:C100に求めて
=COUNTIF(C1:C100,2)
とか。あとはVBAでループさせて数えるしかないんかな…

>>338
ユーザー定義の表示形式で
(@)
340338:04/07/14 15:44
>>339
ありがとうございます。
@ だったんですね。
341名無しさん@そうだ選挙にいこう:04/07/14 17:02
>>328
c1に
=and(a1=1,b1=1)
で一番下までドラッグ
で、合計を出したいセルに
=countif(c1:c100,true)
でどうですか?
342328:04/07/14 17:35
>>341
「列Aの数値が1で且つ列Bの数値が1 」だけだとそれでできるのですが

他のセルに

「列Aの数値が1で且つ列Bの数値が2」
「列Aの数値が1で且つ列Bの数値が3」

という風にデータを出したいんです。
そこをズバっと解決出来る数式ってないもんですかね?

オートフィルタで抽出して結果を別シートに書き出すマクロ書けば?
344341:04/07/14 17:58
??意味が今一わからないんですが、それなら
c1セルに
=a1&b1
として、
d e f
1 2
1 #
2
3
4
みたいな表を作り、#の所のセル(e2)に
=countif(c1:c100,e$1&$d2)
ではどうでしょうか?
345341:04/07/14 18:00
>>344
空白セルのせいで上手く表示出来てないですね・・
  A    B    C
1 品名  価格  個数
2 品名  価格  個数
3 品名  価格  個数
        :

このような表があります。
品名=N かつ 価格=V という2つの条件を同時に満たす品の、個数の合計を
求めるにはどうするとよいのでしょうか。

また、個数が表示されるC列のセルには、「3個」や「x5」 のように、数字以外の
文字を含んでいるのですが、そのような文字が含まれている場合でも、数の
合計を求めることは出来ますでしょうか?

よろしくお願いいたします。
>342
>328にはそんなこと書いてなかったジャン

C1 =AND($A1=1,$B1=COLUMN()-2)
これをI100まで縦横にフィル

C101 =COUNTIF(C1:C100,TRUE)
これをI101まで横にフィル

C101:I101をコピーして、どこかに値のみを行列を入れ替えて貼り付け

※A列が2のときも数えたい、なんて後からおっしゃられにおなりになられた場合に備えて
J1 =AND($A1=2,$B1=COLUMN()-9)
以下同様



でもたぶんフィルタやVBAの方が早い
まずA1:C1にフィールド名を付けること。さらに

        E             F
1 A列のフィールド名  B列のフィールド名
2       N             V

こんな風に入力しておいて、
=DSUM(A1:Cn,C1,E1:F2)  ←nはリストの最下行の行数

個数の件については、できるできないの問題ではなくて
数値のみで入力するように徹底するべき。
文字混じりで入力するなんて絶対にやめたほうがいい。
349346:04/07/14 18:51
>>348
ありがとうございます、期待通りの結果が得られました。
また個数の入力についても承知いたしました。


それから、もし列のフィールド名を記入していない場合なのですが、
(実は他人から渡された表にフィールド名が記入されていないため、
このケースで考えてみたいのですが) おそらくDSUM関数は使えなく
なりますよね。この場合、個数の合計を求める別の方法がありましたら
よろしくお願いします。
350348:04/07/14 19:02
E1に
=IF(AND(A1="N",B1=V),C1,0)
という数式を作成してEnまでコピーして、それをSUMで合計。
余計なE列を使うことになっちゃいますけどね。
351348:04/07/14 19:10
DSUMでも余計な検索条件範囲を使うんだよなあ…
どうでもいいことだけど>>350の最後の行はなかったことに(w

どちらの方法を使うにせよ、フィールド名はあったほうがいいですよ。
可能であればその人に進言してみることをお勧めします。
352ゴッホ:04/07/14 19:18
>>351
余計な列を使いたくない場合、配列数式を使うほうほうもあるけどね。

=SUM((A1:A11="N")*(B1:B11="V")*C1:C11)

 ところで、>>350のやつ、Vが裸なので、エラーになっちゃいました。
353名無しさん@そうだ選挙にいこう:04/07/14 22:01
 月 種類 項目A 項目B 項目C
1月  a   100   150  100
2月  a   200    50  120
3月  a   100   100  500
1月  b   300   150  300
2月  b
3月  b
1月  c
2月  c
3月  c

のような表で、種類別の年間合計だけを別なシートに表示するようにしたいのですがVBAで出来ますか?

↓イメージ
 月 種類 項目A 項目B 項目C
    a   8000  2500  7600
    b   5400  7700  4000

ちなみに、年間のデータ全てが入力されている訳ではなく、7月までのデータしか入っていません。
7月以降の数値は、今後入力して行きます。
入力されているデータだけの集計結果が表示されていて、追加入力するごとに集計に反映されるのが理想なのですが・・・。
かなり高度なプログラムになるのでしょうか?
354348:04/07/14 22:11
>>352
なるほど。これならすっきりしますね。

ところで、Vは価格なのでむき出しが正解でしょう。
数式をNやVのまま使うわけはないんですから…
>>346氏はその辺をうまいこと調整してくださいね。
>353
[種類]を基準に昇順で並べ替え→集計
 [種類]ごとに
 [合計]する
 [項目A][項目B][項目C]を
356お願いします:04/07/14 22:25
Excelで請求書を作っているのですが、取り扱い製品の関係上、「数量」に
小数点2桁まで記入する必要があります。
ただし、それは「品名」によりけりで、全ての製品に関してではありません。
整数で済むのもあれば、少数点1桁のもあります。

「品名」は納入日付順に上から下へ降りていくので、事前に、ここは何桁まで
というのはわかりません。

「全て小数点2桁で統一する」と言うのは抜きにして、何かうまい方法は
ないでしょうか?
357名無しさん@そうだ選挙にいこう:04/07/14 22:31
結局何をしたいのかわからない、すばらしい質問です。心底感服しました。
>>355
やっぱそれが一番手っ取り早い方法なんですかね。
ありがとうございました。
>>356
何ができなくて悩んでるのかがわからないです。
普通の入力で、整数表示、小数点表示になりませんか?
”5”と入力すれば5、”1.2”と入力すれば1.2と。
360ゴッホ:04/07/14 22:48
>>354

数値だから裸だったんですね。失礼しました。

>>353

VBAでもそれほど高度にはならないけど、
4月以降空欄行があって、種類が特定されてるのなら、
「集計」が一番ぴったりですね。

>>356>>359

5と入力すれば5、1.2と入力すれば1.2になりますが、
いったいどうしたいのでしょうか。
何を訊いてるのか全然わかんない。
>>359
セルの書式は?
あと,ツール−オプションの編集タブで,「小数点の位置を固定する」に
チェックが入っていない?
362名無しさん@そうだ選挙にいこう:04/07/14 22:56
>>356 つまり小数点の位置を揃えたいって事でしょ!!
0.??
でもこれじゃ整数のときに「.」が表示される
さて、どうしよう!!
363359:04/07/14 23:01
>>356>>359ではないのでご注意を。
>>359は普通に>>356へのレスです。
>>353
SUMIFじゃ出来ないんですか?
俺はなにかを見落としてるんだろうか・・・。

>>355,>>360

>>353には
>種類別の年間合計だけを別なシートに表示するようにしたい
って書いてあるんだけど、集計って別シートに出来るの?
使ったこと無いから知らないんだけど。
365お願いします:04/07/14 23:13
凄く馬鹿な質問してました。「数量」欄は「書式設定」で「数値」
にすることを前提とした質問だったみたいです。
「標準」にすれば359さんや360さんの書かれた通り、すんなりと解決致しました。
お騒がせしました。

>>361
入ってないです。

>>362
位置は揃わなくてもいいです。
366355:04/07/14 23:29
>364
失念してた…お詫びのしるしにマクロ記録時の手順でも

[種類]の見出しのセル(>353でいうとB1)を選択→昇順並べ替え→集計→レベル2で折りたたみ→Ctrl+*
→可視セルにジャンプ→コピー→別シートに切り替え→A1選択→貼り付け→Ctrl+Home
元シート選択→Ctrl+Home→集計削除

2行目のCtrl+Homeは気分で入れてるだけなんで省略可
367346:04/07/14 23:30
>>348
なるほど条件を満たす表をひとつ作っておくわけですね。うまく
いきました。>>351さんの「配列数式」というのは、このような表を
内部に作って計算しているということでしょうかね。理解するのが
大変ですが便利そうなので、もう少し調べてみようと思います。

>フィールド名はあったほうがいいですよ
そうですね、フィールド名ついては一言言い添えておこうと思います。
アドバイスありがとうございました。
368355:04/07/14 23:32
元の順番に並べ替え直す手順がない…orz
あらかじめA列にでも連番の数字を振っといて
>>366 >>368
ありがとうございます。やってみます。
元の順番は特に必要ないです。オートフィルタも使っていますので。
370ゴッホ:04/07/14 23:43
>>363

失礼しました。

>>367

その数式を書いて、CtrlとShiftを押しながらEnterキーを押すだけですよ。
理屈はおっしゃるとおりです。

A11、B11、C11の「11」は適当な行数に変えて、
"N"とVは適当な品名と価格に変えてください。
価格の「" "」は必要ないです。数値なんで。

>>368

どうしても別シートでやるなら、>>364の言ってるとおり、SUMIFでいいかも。

371お願いします2:04/07/15 00:09
相手先会社名のフォントサイズについて質問です。
「前付けの」
株式会社○○、有限会社××、合資会社△△、合名会社□□
「のみ」、株式会社、有限会社、合資会社、合名会社部分を
○○、××、△△、□□に比べて自動的にフォントサイズを小さくする。
と言うのはできるのでしょうか?。

相手先会社名は、リストの中から選びます。(コード番号ではありません)
372名無しさん@そうだ選挙にいこう:04/07/15 00:09
今後30年間分とかの祝日データってどこかで公開してないですかね?
自分で作ってもいいのですが、落ちてるのなら活用しようかなと。
>>372
"データ"じゃないけど、これとか便利そう‥(ググってヒットしただけだから、保障はしかねるが)
ttp://www.h3.dion.ne.jp/~sakatsu/
374名無しさん@そうだ選挙にいこう:04/07/15 04:29
1234
6789
8901

このようにならんでいる数字を、下2桁でソートするには、VBAを利用するしか手が無いでしょうか?
それとも一般的な操作で可能でしょうか?
>>374
何故にそんなことを?
1234がA1に入っているものとして
B1にRIGHT(A1,2)を入れてオートフィル
B列でソート
B列削除(これは任意で)

数値という意味ではVALUE(RIGHT(A1,2))が正確なのかもしれないが
RIGHT(A1,2)だけでも機能する。
377374:04/07/15 05:12
>>376
サンクスコ。
そういう関数を使うのですね。
ありがとうございます。
胸がすっきりしました。
すいません。
Excel97を使っているのですが、エンターキーを押すと、
下ではなく横に移動させるにはどうしたらよいのでしょうか?
>>378
オプション=>編集
Excel2000なのですが、罫線で囲ってあるセルをはみ出して
文字を書くと、はみ出してる分だけ罫線が消えてしまうのです。
これを、文字がはみ出しても罫線を残す様にできますでしょうか?

>>380
たぶん無理。
どうしてもはみ出して書きたいなら、テキストボックスで「塗りつぶしなし」「線なし」で
配置するとか。。
線だけ書くか。
レスありがとぉ〜^^
線だけ書くことで解決しました♪
全然思いつきませんでした^^;
本当にありがとうございました。
>>176
A1からA5までにそのコードを入れる
Private Sub Worksheet_Change(ByVal Target As Range)

Dim i As Range
Dim rngU As Range

Set rngU = Intersect(Target, Me.Range("A1:A5"))
If rngU Is Nothing Then
Exit Sub
End If

Application.EnableEvents = False

For Each i In rngU
If IsEmpty(i.Value) Then
i.Offset(, 1).ClearContents
Else
Target.Offset(, 1).Formula = "=RSS|'" & i.Text & ".T'!銘柄コード"

End If
Next i

Application.EnableEvents = True

End Sub
384名無しさん@そうだ選挙にいこう:04/07/15 19:21
小計セルが
=IF(W109="","",AI109*W109)
=IF(W112="","",AI112*W112)
=IF(W115="","",AI115*W115)
=IF(W118="","",AI118*W118)
=IF(W121="","",AI121*W121)
とAS98セルに普通に200と記入したセルを
AH85セルに総合計として出したいのですが
どうやればいいのでしょうか?
385ゴッホ:04/07/15 20:03
>>384

単純に足すのはダメなの?

AH85に

=小計セル+小計セル+小計セル+小計セル+小計セル+AS98
386名無しさん@そうだ選挙にいこう:04/07/15 20:21
小計セルは何も打ち込まないときもあるので
そん時はエラーになってしまいますよね?
回避できますか?
387ゴッホ:04/07/15 20:33
>>386

小計セルは何も打ち込まないとき?
計算結果が「""」のときがあるということでしょうか?

=SUM(小計セル,小計セル,小計セル,小計セル,小計セル,AS98)

ではどうでしょうか?
388名無しさん@そうだ選挙にいこう:04/07/15 20:39
行と列を全部入れ替えたいのですが、できるでしょうか??
389ゴッホ:04/07/15 20:47
>>388

コピーして、適当なセルで右クリック。
形式を選択して貼り付け→行列を入れ替える。
390名無しさん@そうだ選挙にいこう:04/07/15 20:48
sheet1のC2からD○まで(○のあたいは毎回変わる)選択した状態で、Dの昇順に並び替えをしたいのですが、最下列を取得して、選択範囲を決定することってできるのでしょうか?
最下列は取得できるのですが、選択に組み込む方法がわからないです。
ちなみにD100という風に固定してやってみたら、「内容のないセルは選択できません」みたいなメッセージがでてしまいました。
EXCEL2002です。
391ゴッホ:04/07/15 21:03
>>390

マクロの質問でしょうか?

選択するだけなら、

Dim Saigo As Range

Set Saigo = Range("d65536").End(xlUp)
Range(Range("c2"), Saigo).Select

並び替えをするなら、

Dim Saigo As Range

Set Saigo = Range("d65536").End(xlUp)
Range(Range("c2"), Saigo).Sort Key1:=Range("D2"), Order1:=xlAscending
392388:04/07/15 21:06
ゴッホさん、ありがたうございます!!
ついでにもう一つ質問なのですが、コピーした
Excelのデータをテキストに貼り付けるときに、
罫線もテキストにして、エディタ等でも見やすく扱いたいのですが
できないもんでしょうか?こんなかんじで。
┌─┬─┬─┐
│あ│い│う│
├─┼─┼─┤
│あ│い│う│
└─┴─┴─┘
(これはちょっとずれてしまってますが(なぜ?)、自分のエディタでは
ぴったり表示されてます。)
393名無しさん@そうだ選挙にいこう:04/07/15 21:09
DSUMって、項目の1行下じゃないと機能しないのでしょうか?

項目1
1234
4567← このように集計されたデータを並べて行きたいんですけど、
7891← フィールドの指定欄には項目名に隣接したセルしか指定できませんでした。
1235← 
>>392
ワードに貼り付けるのはダメなの?
395388:04/07/15 21:21
>>394
自分はPGやってまして、仕様書等の
ドキュメントはExcelで書かされることが多いのですが
仕様に関する部分などはその抜粋を
ソース上にそのままコピペするというようなことを
よくやってまして、それでなんですが。
396マイケル:04/07/15 21:28
はじめまして、質問させてください。

氏名  ○?
あ   ○
い   
う   ○
え   ○
お   

このようなシートがあった場合に、別のシートに

氏名  ○?
あ   ○
う   ○
え   ○

と常時表示させておきたいのですが、可能でしょうか?
(「○?」列に「○」がある表を表示させておきたい。)
ご教授ください。
397390:04/07/15 21:29
>>ゴッホさん
どうもありがとうございます。 試してみます!
398ゴッホ:04/07/15 21:36
>>392

罫線はテキストじゃないのでエディタじゃ無理だと思います。

>>393

どういう意味?
フィールドは列を指定すると思うのですが。
Criteriaという意味なら、複数条件は可能です。

>>396

通常の機能ではできないと思います。
マクロなら、それなりに出来るとは思いますが。
399ゴッホ:04/07/15 21:40
>>396

あ、空欄行ができてもいいなら、関数で出来ると思います。
=if(Sheet1!a2="○",Sheet1!a1,"")
みたいにすれば。
400マイケル:04/07/15 21:47
>>399
ご回答ありがとうございます。
その方法は既に試しまして、+フィルタかけて
表示させているのですが、フィルタかけずに表示できるのかな
と思いまして。。。

どうもありがとうございます。
401名無しさん@そうだ選挙にいこう:04/07/15 22:17
>>392
すみません。Criteriaの間違いでした。しかも説明が悪かったです。

   A   B   C   D
1 項目1 項目2 項目3 項目4
2 条件
3 条件
4

データが入力されているシートとは別なシートに集計された数値を集めたいんです。
”B2”にはDSUM関数を使って、合計が出せました。CriteriaはA1:A2です。
”B3”にもDSUMを入れたいのですが、CriteriaをA1;A3にすると#VALUE!になってしまします。
Criteriaは連続したセルじゃないと絶対にダメなのでしょうか?
402384:04/07/15 22:31
ゴッホさんありがとうございました
簡単なことなんですね(w
403ゴッホ:04/07/15 22:47
>>401
A1:A3にすると、その範囲が全部条件になるはずなんだけどなあ。
B2をそのままドラッグして、DSUMの最初の引数のデータベース範囲がずれたとかでは?
それなら、F4キーを押して、固定してからドラッグすればいいけど。

ちなみに、A1:A3だとA2を含んでしまいますが、それでも大丈夫ですか?
SUMIFなど、他の関数ではダメなんでしょうか?
404401:04/07/15 23:26
>>403
ありがとうございます。
A1:A3はダメでした。
A1,A3が理想なんですけど、引数が多すぎるみたいなエラーが出てダメです。
場合によっては2つの条件を組み合わせたいので、SUMIFよりDSUMのほうが・・・
Sheet2に商品データを並べ、そのA列に商品コードを入れています。

(Sheet2)
    A       B     C
 A-TTS-001  ハム   \1,500  ・・・
 A-TTS-002  ぬるぽ  \2,000  ・・・


で、Sheet1のA列に商品コードを入れると、VlookupでB列以降の各列に
Sheet2の情報が入るようにしています。

ここで、Sheet1のA列にコードを入れる際に、入力途中にSheet2のコードが
オートコンプリートみたいに出てくれるとやりやすいと思ってるのですが、
こんな機能をつける方法はありませんか?
もしくは、同じ感じに入力を支援するような仕掛けに出来ませんでしょうか?

よろしくおながいします。
WinXP,Excel2000,エクセルド素人です。

今、Wordに
900 味噌汁
100 ぬるぽ
1400 キムチ

このように「数値+スペース+文字列」といったテキストがあるのですが、
これを上手いことどうにかして
   A     B
1  900   味噌汁
2  100   ぬるぽ
3  1400  キムチ

のようにそれぞれのセルに入れることは可能でしょうか。
結構数が多く、一つ一つコピペでは骨が折れます。
全部コピーしたのでは、B列に上手く入ってくれません。
いい方法無いものでしょうか。お願いします。
>>406
データ→区切り文字→次へ→スペースにチェック→完了

>>405
データ→入力規則で商品リストを設定するのガッ!!!一般的かと思われます。
商品数が多いとリストをスクロールする必要があったりしますが…

オートコンプリートを使えるようにすると、
かわりにデータベース機能がある程度犠牲になります。

以下、前スレより引用
557 名前:名無しさん@そうだ選挙にいこう sage :04/06/15 00:42
通常ならA2から入力するところを、
A2:Anの範囲にB列の商品名一覧をリンク貼り付けして
2:n行目を非表示にする。

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

入力規則のリストやVLOOKUPを使うほうが何かと楽だと思う。
Alt+↓でリストを呼び出せばキーボードだけでもできるし。


558 名前:557 sage :04/06/15 00:51
A1:Anに一覧をリンク貼り付けして、n+1行目をフィールド名、
n+2行目からデータを入力し始めた方が多少マシかも。
408407:04/07/16 00:23
しまった忘れてた…
>>406
Wordで入力する時点でスペースではなくタブで区切っておけば、
Excelにコピペするだけで表の形にすることガッ!!!できます。
409406:04/07/16 00:24
>>407
結構簡単に出来るもんなんですね。
ありがとうございました、助かりました。
>>371
できます。
411名無しさん@そうだ選挙にいこう:04/07/16 01:37
エクセルのピポットテーブルで
ピポットの「ページ」の項目ごとに
自動的に、項目別のピポットのシートが作成される。
と言う機能があったと思うのですが、
やり方がわからなくなってしまいました。

どなたか教えてください。
412名無しさん@そうだ選挙にいこう:04/07/16 02:48
>411
ツールバーさえ出てればほぼ2行目の言葉通りでできる
413378:04/07/16 06:02
>>379
仕事で遅かったので返事できませんでした。スイマセン
レス、ありがとうございます。
414名無しさん@そうだ選挙にいこう:04/07/16 10:34
Excel2000なのですが
セルをカーソルキーで移動しようとするとスクロールされるのですがこれは何の設定を直せばよいでしょうか?

ぎゃあああ

ScrollLockはいってました。





スイマセンスイマセンスイマセン…
416名無しさん@そうだ選挙にいこう:04/07/16 19:28
質問でーす。
Excelのセルは一番右端で「 I V 」までしかありませんよね。
これをもっと増やすことにはどうしたらいいのでしょうか?

細かい表を造ってるため上記の規定でははみ出してしまうのです。
「 Z Z 」くらいにまでできたらうれしいのですけど。

XPです。よろしくお願いします。
417名無しさん@そうだ選挙にいこう:04/07/16 19:31
追加です。説明不足でした。
列の幅を「0.5」にして設定して作成しているからです。
418名無しさん@そうだ選挙にいこう:04/07/16 19:39
>>418
あらら・・そうなんですか・・・ありがとうございました。
420名無しさん@そうだ選挙にいこう:04/07/16 19:41
出来ません。 
表の作り方を考え直してください。
詳細な使用目的を提示していただければ助言することができます。
>>420
列を増やせないと分かったらそれに応じて作れますので、ご丁寧にありがとうです。
ほとんどやり直しですけど・・・。それでは失礼しました。
Excelで二つのファイルを開いていた場合、この二つのファイルを切り替えるツールボタンはありますか?
『→』みたいなのを押すと別のファイルに代わるみたいな。あとそのようなショートカットキーがあったらうれしいです。
423ゴッホ:04/07/16 19:57
>>404

なぜダメなんでしょう?
具体的にどういう数式を書いたか、教えてもらえると何かわかるかもしれないです。

>>422

Ctrl + Tabとかは?
>>423
Excel内での上記の操作は無理でしょうか?
425ゴッホ:04/07/16 20:15
>>424

Ctrl + Tabでできないですか?

Alt + Tabと勘違いしてる?
>>425
できました・・・ALTと勘違いしてました。
すみませんでした&ありがとうございます。
427ゴッホ:04/07/16 21:24
>>426

Ctrl + F6でも出来ますので、お好きなほうを使ってください。

また、マクロの知識があれば、
SendKeys ("^{F6}")
を使って、好きなショートカットキー、ファンクションキー、イベントに充てる、
ツールバーに登録するなどの手もあります。
Excelスレ専用のうpろだとかあれば、質問も回答も疎通が取れて便利そうだな。
マクロウィルスとかが恐いが(((゚Д゚;)))
429名無しさん@そうだ選挙にいこう:04/07/16 22:29
Excel2002 OS XP

Sub test()
Range("A1:A5").Value = 10
End Sub

上記のようなマクロをマクロボタンに登録して実行しております。
実行時にメッセージBOXを表示させ、「本当に実行していいですか?」みたいな
コトを行いたいのですが、どのようなコードを記述するのでしょうか?

よろしくお願い致します。
Shiftを押しながら[編集]を押すと、通常では表示されない項目がでてきますよね。図のリンク貼り付けとか。
他にこのような隠し機能的なものってありますか?普通の操作では気付かないような。
>>429
msgbox関数ってのを使います。↓を参考に。
ttp://www.geocities.jp/cbc_vbnet/function/mseegefunction.html
「はい」「いいえ」で分岐させるには、IF文の知識が必要です。難しくはないですが。
432ゴッホ:04/07/16 22:42
>>429

Dim QA As Byte
QA = MsgBox("本当に実行していいですか?", vbYesNo, "タイトル")
If QA = vbYes Then
Range("A1:A5").Value = 10
End If

>>430

へえ、知らなんだ。
>>432
い、意外ですた。
ゴッホさんが知らないことがあるなんてっ。
434429:04/07/16 22:49
>>431->>432
素早いレスありがとうございます!!
もっと勉強します!

>>430
Excel2000でしか出来ないけど、

F5(ジャンプ機能)でx2000:l2000をアクティブにする
タブキーを押す
Ctrl+Shift+グラフウィザードのアイコンをクリックすると、、、
>>434
あ、それ知ってる。
カーレースみたいな画面出るんだよな。
で、道路に開発スタッフの名前が出るの。
436名無しさん@そうだ選挙にいこう:04/07/16 22:57
フォントツールボタンがありますよね。
あれに











10

って順番通りに表示させるにはどうしたらいいのですか?
所々が飛んでいて使いにくいです。
437ゴッホ:04/07/16 22:58
>>433
まあ、あります。
438ゴッホ:04/07/16 23:01
>>436
フォントーツールボタンってフォントの大きさのこと?
変更できるの、あれ?
使いにくかったら、手打ちで入力すればいいんでは?
439名無しさん@そうだ選挙にいこう:04/07/17 01:27
>>438
その手打ちがめんどいのです〜
なとか1〜30くらいまで間ぬけないで埋めることできませんか?
幅、列に左右されることなくセルのサイズを変えるにはどうしたらいいのですか?
A1とB1のセルサイズをそれぞれに違うようにしたいです。
441名無しさん@そうだ選挙にいこう:04/07/17 01:35
好きにすれば
またも出ました質問の意図するところがわからない質問
A1のセルサイズ(例えば幅)を変えるとB1のまで変わっちゃうじゃないですか、それを各々セルサイズにしたいんです。
A1の幅を変えたってB1の幅は変わらんぞ。
高さは一緒に変わるが、それが嫌ならA1とA2を結合するしかない。
入り組んだ表ならWordで作った方が楽なこともある。
>>443
指定のし方を誤っているようです。
For i = 2 To 261
Worksheets("Sheet5").Range(Cells(i, 2), Cells(i, 7)).Select
Next
End Sub
これが何故エラーになるのか教えてくれーーーーー。(泣
"Sheet5" 以外のシートがアクティブになってるのでは?
Worksheets("Sheet5").Select
↑をForの前に入れてみそ。
448名無しさん@そうだ選挙にいこう:04/07/17 18:40
左右の余白を0にしてもまだ余裕があるようなが気がするんです。
上下のようにギリギリまで入力できるようにはどうしたらいいのでしょうか?
XPです。
>446はエラーになりません。
しいて言えば End Sub に対応する Sub が無い事ぐらいかな。
452名無しさん@そうだ選挙にいこう:04/07/17 20:17
>>451
なんて言うんですか、ページのプロパティで余白を0にすると広範囲に用紙を使用できるじゃないですか。
その際、上下より左右のは使用できる領域が少ないような気がするんです。
余分は余白が入ってしまいます。それを全部使いたいです。
>>452
プリンタ自体の「印刷範囲」というのを、オマエは知らないのか?
>>452
前面印刷機能のあるプリンタを買う所からスタートね。
たとえばJ列まで印刷されるとするでしょ。
で、どうがんばっても右に2cmくらい間があいてしまうとする。
これは、K列の幅が2cm以上あるからページ内に収まらないということ。
A〜J列の幅を2mmずつくらい(実際は桁・ピクセル単位だから難しいが)
広げてやれば、もう少し余白が減るはず。完璧にはなくならないと思うけどね。
もちろんプリンタの限界もあるから、全面印刷プリンタが必須なのは453-454の指摘の通り。
456名無しさん@そうだ選挙にいこう:04/07/17 22:10
エクセルの保護のパスワードを忘れてしまいました。
かなり前にいじっていたファイルで、
どんなパスにしたかさっぱり覚えていないのですが、
それでも解析できるようなソフトってないですか?
458456:04/07/17 22:21
>>457
そのソフトはさっき使ってみたんですけど、
あまりにも時間がかかりすぎてしまいました。
数時間以内で解析できるようなものはないのでしょうか?
数時間で解析できるくらいなら
馬鹿馬鹿しくてパスなんてかけてらんないよ
460名無しさん@そうだ選挙にいこう:04/07/17 22:29
>>456 うそつけ!ただの不正使用だろ
>>457 お前も同罪だ
>>460
同罪ってバカ?
462名無しさん@そうだ選挙にいこう:04/07/17 22:52
>>453>>454
どのプリンタならその機能があるのでしょうか…?
相談に乗る気のないやつが暇つぶしにアホな書き込みしとるな。死ねばいいのに。
こんなところで釣り糸をたれるなんて…
ずーっと坊主続きだったんだろうなあ。
可哀想だから餌に食いついてやるとするか。



オマエモナー!!

そしてオレモナー!!!!
今どき釣りとか言ってる阿呆は誰ですか?
俺俺、俺だよ俺。ほら、俺だって。
>>464
ここんとこ別に普通に回答出てると思うけど?
どの回答が暇つぶし?
469名無しさん@そうだ選挙にいこう:04/07/18 09:30
くだらない質問ですみませんが・・
例えばA列に日付・B列に曜日が入ってるとして
B3が日曜日の時には3の行を全てフォント赤にしたくて
条件付き書式をしたんですが
計算式の入ってる行だけ反映されないんです。
何か解決策はありますか?

条件付き書式は
「セルの値が次の値に等しい =$B$3="日"」です。
お願いいたします。
>>469
  A  B  C
1  1  金
2  2  土
3  3  日
4  4  月
5  5  火
6  6  水
7  7  木
   ・  ・
   ・  ・
   ・  ・

という感じで入力されてるんですか?
あと書式が反映されない計算式はどこに入力されているんですか?
ちなみに、これは何年何月ですか?
「数式が次の値に等しい =$B$3="日"」

では?
472名無しさん@そうだ選挙にいこう:04/07/18 10:25
Excel2002で、あるセルをダブルクリックしたら、その行の指定列にあるURLを指定ブラウザで開くようなVBAはどうすればいいですか?
例えばA列に見出しB列にURLで、C2をダブルクリックしたらB2のURLを、D10をダブルクリックしたらB10のURLを開きたいです。
現在は過去ログを見て書いた下記を行数分書いてますが、出来ればB列のセルではなくC以降のセルをダブルクリックすることで実行したいです。


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$B$2" Then
Call Shell("ブラウザのパス " & Range("B2"))
Cancel = True
End If

If Target.Address = "$B$3" Then
Call Shell("ブラウザのパス " & Range("B3"))
Cancel = True
End If

End Sub

どなたかお解りになる方、よろしくお願いします。m(_ _)m
>>447
>>449
Sub Macro2()
For i = 2 To 261
Worksheets("Sheet5").Range(Cells(i, 2), Cells(i, 7)).Sort
Next
End Sub

.selectじゃなくて.sortでした。申しわけない。
一応OKになるマクロがわかりました。
上のマクロのループの中を

Range(Cells(i, 2), Cells(i, 7)).Select
Selection.Sort

にしてもエラーがでたのでKeyを明示したんだけど

Range(Cells(i, 2), Cells(i, 7)).Select
Selection.Sort key1:=Worksheets("sheet5").Range(Cells(i, 2))

でもだめで結局Range内のCellsが1つのセルだとだめみたいです。

Worksheets("Sheet5").Activate
For i = 2 To 261
Range(Cells(i, 2), Cells(i, 7)).Select
Selection.Sort key1:=Worksheets("sheet5").Cells(i, 2)
Next
End Sub

にするとうまくいきました。SortのKeyって省略可能じゃないのかよって感じです。
>>472
こうかな。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 If Target.Column > 2 Then
  Call Shell("ブラウザのパス " & Cells(Target.Row, 2).Value)
  Cancel = True
 End If
End Sub
475469:04/07/18 10:46
>>470さん
表はおっしゃる通りの表です。
数式はD3・E3・F3・H3に入ってます。これ以外の行は反映されてます。
ちなみに今年の8月でやろうとしています。
476474:04/07/18 10:49
B列に文字が入ってないとか、URLじゃない場合の
処理も追加しておいたほうがいいのではないかと思った。
>>469
数式が =TEXT($A1,"aaa")="日" とか
>>475
日付と曜日は書式で変更しているんですか?
それとも、直接 "1" "日"という文字が入っているんですか?
>>475
日付・曜日を以下の手順で変更することをオススメします。
既にこうなっているならごめんなさい。

1.A1に2004/8/1を入れ、表示形式を d にする
2.B1に=WEEKDAY(A1)と数式を入れ、表示形式を aaa にする
3.A1:B1を選択して、下にオートフィル

書式のほうは、
1行目を選択し、条件付書式を「数式が =$B1=1 フォントを赤」に設定する
1行目をコピーし、2行目以下に 形式を選択して貼り付け→書式 で完了

でどうでしょう。
480469:04/07/18 11:17
>>478
書式で変更してます。
476さんの方法ではダメでした_| ̄|○
481472:04/07/18 11:23
>>474
素早い回答ありがとうございます。完璧に望み通りの動作です。

B列にURL以外が入ることはありませんが、空欄のことはあるので
その行で試してみましたが、ブラウザがアクティブになる(指定したブラウザをURLを渡さずに実行するだけ)なので
さほど不便ではありませんが、お手間じゃなければ空欄の場合はキャンセルする記述も追加していただければありがたいです。
>>481
単純に下の一行を最初に追加するだけじゃだめですか?

If Cells(Target.Row, 2).Value="" Then Exit Sub
483472:04/07/18 11:45
>>482
> 単純に下の一行を最初に追加するだけじゃだめですか?

ダメじゃないです。ばっちりOKです。
その単純な一行が分からない無能な私をお許し下さい。

474さん、482さん、どうもありがとうございました。m(_ _)m
>>469さん

>>479の方法ではだめでしたか?反応ありませんが・・・
485469:04/07/18 13:12
レス遅れてすいません。
479さんの方法でもダメでした_| ̄|○
ご迷惑お掛けしてるんで暫く自分で調べてからもう一度来ます。
ありがとう御座いました。
>>485
というか、条件付き書式を設定する前に範囲指定してる?
2003のVBAで「他のブックを開いて大量のデータをコピペして閉じる作業の
繰り返し」を作ってるんですが、閉じるたびに「クリップボードに大量の・・・」
ダイアログが出て作業が中断してしまいます。
閉じる前にクリップボードのデータをクリアするにはどうすればよいですか?
>>487
小さいデータをコピーすれば?
489487:04/07/18 15:19
>>488
ははは、そりゃそうですねw

美しくないけどそうしました。サンクス。
490名無しさん@そうだ選挙にいこう:04/07/18 15:47
隣り合った統合セルと普通のセルがプリントしたとき
隣接した文字どちらかが切れてしまう時があります
モニタの表示上では普通にみれているのですが
プリントアウトすると切れています
どうしてでしょうか?また対応策はないのでしょうか?
xp
>>490
Excelは、画面上のシート表示・印刷プレビュー・実際の印刷の三者間で
状態は一致しません。
文字欠けを確実に避ける方法は、「セルの書式設定」→「配置」→「文字の制御」で
[縮小して全体を表示する(K)]にチェック(VBAは "セル.ShrinkToFit = True")です。
493名無しさん@そうだ選挙にいこう:04/07/18 16:37
メニューバー - 表示 - 改ページプレビュー を行なったシートを元の表示に
戻すことはできますか?お教えください。
>>493
表示>標準
改ページの点線を消したいってのなら
ツール>オプション>表示タブ>改ページのチェックを外す
495ゴッホ:04/07/18 20:23
>>439

じゃ、すいません。わからないです。

>>473

一行内でソートして何の意味があるんでしょうか。
何も変化しないと思うですけど。
あと、別にソートするのに、いちいちセルを選択する必要はないと思いますよ。
その分遅くなるし。
行の一番右にある数値をB列に表示させたいのですがやり方が分かりません。
ご存じの方教えてください。エクセルは2002です。
497ゴッホ:04/07/18 20:33
>>496

一番右の列は決まってるの?行によって違うの?

一番右の列が決まってるのなら、簡単なんだけど。

例えば、K列が一番右なら、B1に
=K1
と書いて、そのまま下のセルに、フィルかコピー。
>>497
決まってないです。行によって違います。しかも随時変更があります。
499名無しさん@そうだ選挙にいこう:04/07/18 20:47
Excel2002です。
Excelを起動直後状態です。
VBAエディタのプロジェクトエクスプローラーの1番上
(VBAProject(Book1)の上)になんだかパスワードで保護
されているものがあります。
何なんでしょう?
名前を書いてもいいんですか、なんか情報とかがもれると
怖いのでひかえます。
インストール直後からあるものなのでしょうか?
通常使用では全くもって問題ないのですが。

分かりにくい質問で申し訳ございません。
よろしくお願い致します。
500ゴッホ:04/07/18 20:50
>>498

一番右である可能性のある列は、ある程度決まってますか?
例えば、GからJの間とか。
それとも全然ばらばらですか?

>>499

.XLAとかいう拡張子はついてますか?
501499:04/07/18 20:54
>>500
付いております!
502ゴッホ:04/07/18 21:06
>>501

ツール→アドイン
の何かにチェックが入ってると思います。
気になるなら、オフにしてください。
できれば、そのチェックの入っている項目を教えてください。
>>500
FからCTの間です。
504499:04/07/18 21:14
>>502
分析ツールのアドインが原因でした。
なんだか、すっごく恥ずかしいです。
ご丁寧なレスありがとうございました!!
505ゴッホ:04/07/18 21:44
>>504
いえ。

>>503
結構多いですね。関数だけでは思いつかない。

マクロでよければ、ThisWorkbookのモジュールに、

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Dim Gyo As Long, Bretu As Range, Saigo As Range

Gyo = Target.Row

Set Bretu = Cells(Gyo, 2)
Set Saigo = Cells(Gyo, 256).End(xlToLeft)

If Bretu <> Saigo Then

Cells(Gyo, 2) = Saigo

End If

End Sub

でうまくいくと思います。
506496=498=503:04/07/18 21:55
>>505
動作としてはいい感じなのですが、
ThisWorkbookだと、同一Bookの別Sheetにも適用されてしまいます。
お手数お掛けしますが特定Sheetのみに適用するマクロか、関数でお願いします。
行間が逆に読みづらいな…
全角スペースでインデント入れてくれると読みやすい
>>506
一切他人任せとはガキですか?
509ゴッホ:04/07/18 22:04
>>506

あ、そうですよね。
上記のコードの一行目を

Private Sub Worksheet_Change(ByVal Target As Range)

に変えて、その特定のシートのモジュールに貼ってください。

>>507

これから気をつけます。
510506:04/07/18 22:38
>>509
ありがとうございました。

>>508
自分、リアル厨房なんで、ガキと言えばガキですね。
他人を罵倒するしか能のないあなたよりはマシだと思いますが。
免罪符、か…
なんとも素晴らしいことだなあ。
まー、落ち着け。
自分で解決できない人が質問してくるわけですし。
そーゆー趣旨のスレな訳ですし。
マクロを使えると自負してる人の中にはコードの丸投げを嫌う人、
どこの質問サイトでも必ずいるよね。
気持ちはわからなくもないけど、
丸投げを何とも思わない人もいるわけだし、
質問者は問題が解決するわけだし、ほっとけよと言いたい。
個人的には、
予期せぬトラブルが起きた時、
自分でリカバリーできるかどうかって問題があると思うんで、
必ずしも丸投げ賛成100%ではないんだけどね。
マターリいきましょう。
>>512にハゲドウです。
外野はスルーしとくのが一番なんだけどね
515名無しさん@そうだ選挙にいこう:04/07/19 00:26
コードの丸投げって何?
516名無しさん@そうだ選挙にいこう:04/07/19 01:46
エクセルでハイパーリンク先を他bookに指定したいのですが
指定先bookのsheetとセルまでを指定する事は出来ないでしょうか?
リンクを設定したいブックとリンク先のブックを同時に開いて、
リンク先でコピー→リンクを設定したいブックでリンク貼り付け。

これより後は、リンク先のブックのパス(ブックの置き場所)や
ブック名・シート名などを変更しないように注意。
518名無しさん@そうだ選挙にいこう:04/07/19 02:35
>>517
ありがとうございます

ただ、ハイパーリンクという形では無理なんでしょうか?

例えば
Book1のSheet1のa1に名前(山田)を表示しておき
Book2のSheet3のb6の住所(名古屋市...)に飛ぶ、みたいな感じで。
ごめん、思いっきり勘違い…orz

ハイパーリンクの設定画面でブックを選んだ状態で
右にあるブックマークのボタンを押せば
リンク先のシートやセル参照まで設定できます。
>499
ツール→アドイン にチェックがあれば当然の事かと、

>500が最終レスと間違えました。無視してください。
522493:04/07/19 09:55
>>494
ありがとうございました。助かりました。
523名無しさん@そうだ選挙にいこう:04/07/19 11:26
>518
こんな方法もあるよ。
名前を検索して対応した住所のセルにジャンプでいいなら、
Book1.xlsのSheet1の任意のセルに、
=hyperlink("[Book2.xls]Sheet3!B"&match(A1,A1:A100,0),"表示名")
同一フォルダもしくは、Book2を開いているときの記述です。
当てはまらなければ、Book2のディレクトリを適宜入力してね。
524名無しさん@そうだ選挙にいこう:04/07/19 12:49
EXCEL2000のデータを、WORD2000で差込印刷しています。
しかし、先日ウィルスバスター2004をインストールし、WORDとEXCELに感染していたウィルス
http://www.trendmicro.co.jp/vinfo/virusencyclo/default5.asp?VName=O97M_TRISTATE
http://www.trendmicro.co.jp/vinfo/virusencyclo/default5.asp?VName=X97M_LAROUX.A
を駆除した頃からうまくいかないようになりました。これが原因かどうかは分かりませんが・・・
今まで問題なく差し込めていたWORD文書を開くと、そこには、
「エラー! データ ファイルのヘッダー レコードで MERGEFIELD フィールドが見つかりません。」
というメッセージが出てしまいます。
1からデータを作成しても、EXCELの差し込みフィールドをWORDが認識しないです。
また、EXCELのデータをWORDにコピーしWORD文書として保存、
そのWORD文書を差し込みデータファイルとすれば問題なく差し込めました。
Win98SE、Win2000Pro、WinXP全てで試しましたが、全て上記の問題が起こります。
対策を教えて頂ければ幸いです。
>>524
他のファイルはどうなの?
表示形式のユーザー設定での
";;;"
の使い方と意味を教えてください。
ググっても半角文字列なので旨く検索できませんでした。
表示形式 正の数 負の数 文字列

こんな漢字でぐぐってみてください。
表示形式 正の数 負の数 文字列

こんな感じでぐぐってみてください。
529524:04/07/19 18:50
>>525
とにかく全てだめになってしまいました。
新たにEXCELのデータとWORD文書を用意してテストしてもだめでした。
530名無しさん@そうだ選挙にいこう:04/07/19 19:44
質問ですが、項目が四つの円グラフを作りました。これがデフォルトだと青、小豆色、 ベージュ、水色になっています。この色を自分の任意の4色に変更したいのですが、操作 が分かりません。御教授願います。

>>530
色を変えたいエリアでゆっくり2回左クリックしろぃ。

変えたいエリアだけが選択された状態になる。

そのままそこで右クリック

「データ要素の書式設定」ダイアログボックスが出る。

好きに色を変えていけ。

これを項目ごとにやればいいってこった。
532530:04/07/19 20:30
やったー!!
ありがとー!!
H16.7.19
と入っているデータを、H16.7とだけ表示したいのですが、
可能でしょうか。
エクセルに日付として認識させたままで、表示だけ年と月
だけのものにしたいのですが。
よろしくお願い致します。
セルの書式設定→表示形式→ユーザー定義
ge.m.d→ge.m
>534
ありがとうございます。
とても助かります。

こちらにはお世話になりっぱなしです。
感謝!
536名無しさん@そうだ選挙にいこう:04/07/20 02:48
すみません、分数をそのまま表示するにはどうしたらよいのでしょうか?
1/2とかではなくて学校とかで使うのそのままです。
よろしくお願い致します。。
537名無しさん@そうだ選挙にいこう:04/07/20 03:03
挿入→オブジェクト→Microsoft 数式
分子・横線・分母を3行に分けて入力

どちらかお好きなやり方で。
>>537
ありがとうございました。
>>479
>2.B1に=WEEKDAY(A1)と数式を入れ、表示形式を aaa にする
それは間違いだよ。偶然表示があってるだけ。
=WEEKDAY(A1)の返り値が1なら、1900/1/1の曜日を表示してることになる。

=A1として表示形式をaaaとするのが正しい。
試しに「1904年から計算する」にチェックして日付を入力してみるといい。
1行目に日付が入ってるとき、今日の日付を含む列に「セルの塗りつぶし」を設定することは出来ないでしょうか?
「条件付き書式」で今日の日付が入力されてるセルのみに「セルの塗りつぶし」は出来たのですが、
列ごと「セルの塗りつぶし」を設定する方法が分からないです。
おそらくVBAでやることになると思うのですが、分かる方教えてください。

因みに「条件付き書式」で、偶数・奇数それぞれの行に「セルの塗りつぶし」を設定してるので、
VBAの場合、「条件付き書式」での設定より優先されないと意味がありません。
「条件付き書式」で上記のことが出来るなら、それを「条件1」に入れればいいだけですが。
541名無しさん@そうだ選挙にいこう:04/07/20 10:32
図の圧縮をVBAで実行するには
どのようにすればいいのでしょうか

マクロの記録では何も記録されませんでした。
542524:04/07/20 11:47
>>524ですが、
ウィルスに冒されてたことのないPCでEXCELデータを作ったら解決しました。
しかし原因はいまだ不明です。データの内容は全く同じにしても、できるデータとできないデータがあり、
その2つはファイルサイズが違うのでマクロかなんかがおかしいのだと思います。
543名無しさん@そうだ選挙にいこう:04/07/20 13:18
>540
A1から表が始まっていて、かつ1行目に日付が並んでいる場合
A1から右下に向けて表全体を選択して「数式が」 =A$1=TODAY()
日付が2行目なら =A$2… に変えてください。
544543:04/07/20 13:19
> 1行目に日付が入ってるとき、
って書いてあるだろが俺w
545540:04/07/20 14:16
>>543
どうもです。

>日付が2行目なら・・・
今後応用で使えるのでこういうアドバイスもありがたいです。
すまん、誰か教えてくれ
あるファイルを開くと、
最後に使ったファイルが、勝手に開くようになってしまった。

547182:04/07/20 15:57
かなり遅レスですが、解決しました
FrameにDTPickerを貼り付けていたのですが
FrameのVisibleがFalseになっていたため
値の入力ができないみたいでした。
Excel2000なんですが
消費税を自動で計算させれますか/
例えばA1セルに金額
A2セルにその金額分の消費税
A3セルに上記の合計を出すのを請求書として使うんですが
ずっと自分で消費税分だけ計算するのが手間なので
やり方あれば教えて下さい
>548
A1:入力
A2:=ROUNDDOWN(A1*0.05,0)
A3:=A1+A2
>>549
有り難うございます
551名無しさん@そうだ選挙にいこう:04/07/20 20:38
固定列を立て横作るばあいは
どうすればいいのでしょうか?
固定したい行・列の次の行・列が交わるセルを選択
(3行目・C列を固定するならD4)
→ウィンドウ→ウィンドウ枠の固定
553名無しさん@そうだ選挙にいこう:04/07/20 22:14
地域別のシートにデータが入っています。
全地域としてデータをまとめたいんですけど、コピー・ペーストではなくて
地域別のデータが全地域シートに写し出されてるように出来ますか?

地域別のデータへ追加・変更を行った際に、いちいち全地域の方も修正しなくても
自動で反映されるようにしたいんです。お願いします。
>>539
>=A1として表示形式をaaaとするのが正しい。
それはわかったけど、その状態で>>469を解決するには
どうすればいいの?
Wordの入ってない端末で、Excelで無理矢理文章作って、
Excelの住所録を「差込印刷」って出来ないでしょうか?

すいません。
EXCEL2000で、
8000行のExcelデータが67MBと巨大化してしまい、
win2000メモリ256MBのマシンではメモリ不足で開けませんとエラーが出て開けず、
winXPメモリ756MBのマシンでも、非常に重く、
また開けても3000行以降のデータが消えてしまうのですが、
どうすればよいでしょうか?
557557:04/07/20 22:34
すいません失礼します
あの
セルに 9 と入力して 9:00 と表示させる方法って
あるもんでしょうか?
自分なりにいろいろやってみたんですが
馬鹿の限界に達しまして・・・。

オフィスXPの エクセル2002です
富士通 ビブロです
558556:04/07/20 22:36
ちなみにファイルを開くと右に[共有]と入っています
どなたか詳しい方がおられましたら、どうかよろしくお願いします
559名無しさん@そうだ選挙にいこう:04/07/20 22:45
セルの表示形式に関する質問です。

="("&A1&")"

と入れたセルがあります。
セルの書式設定で「通貨」にしているのに、

(123456)

というように、A1の内容が文字列として?表示
されてしまいます(カッコ内の数字は例)。

「,」付の通貨表示にしたいのですが、どのように
したら良いのか教えてください。
「ユーザー定義」や「数値」も試してみたのです
が、変わりませんでした。
(Excel2000です)
>>553
コピー→リンク貼り付けでデータを集める。

>>554
B3が ということで3行目からデータが始まるものと判断しました。
表全体を選択して条件付き書式 数式が =WEEKDAY($B3)=1

>>557
表示さえできればOKなのであれば、
ユーザー定義の表示形式で @":00"
少し手を抜くなら 9: とだけ入力する手も。
あとはVBAでしょうか。

>>559
単に=A1として、そのセルに対して
ユーザー定義の表示形式 (#,##0)
0を表示したくなければ (#,###)
A1に直接この設定を行うのも可。
>>559
="("&YEN(A1,0)&")"
562560:04/07/20 22:55
通貨記号付きか…
>>559
(\#,##0) に訂正
563554:04/07/20 22:59
>>560
それだと>>539の言う
>試しに「1904年から計算する」にチェックして日付を入力してみるといい。
には対応していないようですが。
564560:04/07/20 23:10
A1は日付そのまま、B1は=A1で表示形式aaa、
表全体を選択して条件付き書式 数式が =WEEKDAY($B3)=1
必要なのはこれだけです。
565560:04/07/20 23:11
A3は日付そのまま、B3は=A3で表示形式aaa、

に訂正。なんか訂正ばっかしw
566559:04/07/20 23:16
>560, 561
レスありがとうございます!
ユーザー定義で、 "("#,###")" ってやれば良かった
んですよね。頭が回りませんでした。
YEN()については知らなかったので、調べてみます。
567554:04/07/20 23:33
>>564-565
改めてやってみて納得しました。
なんで結果が違うのかわかんないけど。w

ありがとうございました。
568名無しさん@そうだ選挙にいこう:04/07/21 00:14
どなたかお教え下さい。エクセル初級者です。
未だに会社で悪戦苦闘しています。あ〜早く家に帰りたい・・・
(質問)<エクセル2000です>
営業利益率を0.5%丸めしたいのですが、
どのように関数を組み合わせたら良いのでしょうか?
具体的には、
☆6.1%〜6.24→6.0%
☆6.25%〜6.74→6.5%
☆6.75%〜6.99→7.0%
のように値を求めたい。
「FLOOR」とか「CEILING」とか上手く組み合わせるのでしょうか?
何とぞ、神様が「キタ〜」と、降臨されますように・・・
やけに長くなっちまった…

=IF(MOD(A1,1%)<=0.24%,ROUNDDOWN(A1,2),IF(MOD(A1,1%)<=0.74%,ROUNDDOWN(A1,2)+0.5%,ROUND(A1,2)))

一応動作するハズ。
>>568
ごめん。そういう機能の関数知らんので気合で。

A1が元データとして、
=IF(MOD(A1,ROUNDDOWN(A1,0))<0.25,ROUNDDOWN(A1,0),
 IF(MOD(A1,ROUNDDOWN(A1,0))>=0.75,ROUNDUP(A1,0),
 ROUNDDOWN(A1,0)+0.5))
571569:04/07/21 00:45
む〜、少しはき違えた。
=IF(MOD(A1,1%)<0.25%,ROUNDDOWN(A1,2),IF(MOD(A1,1%)<0.75%,ROUNDDOWN(A1,2)+0.5%,ROUND(A1,2)))
こうか。

>>570
%表示でも内部的には小数だから、0桁でROUNDしちゃマズい。
572570:04/07/21 00:45
>>569
かぶったスマソ。そちらの式の方が若干短いっすね。

にしてもズバリその機能の関数ってのもありそうなもんだが・・・。
どうなんだろうか。
573名無しさん@そうだ選挙にいこう:04/07/21 00:52
>>568
☆5.75%以上6.25%未満→6.0%
☆6.25%以上6.75%未満→6.5%
☆6.75%以上7.25%未満→7.0%
と解釈していいか?

それなら、0.5% = 1/200なので、200倍してから四捨五入して200で割るという考え方で、
=ROUND(A1*200,0)/200

分析ツールを組み込んでMROUNDを使えるようにすれば、ちょっとだけ式が短くなるようだが。
574569:04/07/21 00:57
o......rz
575570:04/07/21 01:00
>>573と俺は根本的に脳の質が違うような気がする・・・。
そういう考え方するのか・・・他人の質問で勉強になりました。>>573
>>568
解決済みだが、
 =FLOOR(A1+0.25,0.5)
 =MROUND(A1,0.5)
>>576
よく読んで!
578546:04/07/21 12:16
再インストールしたら、直りました
お騒がせしました。
579名無しさん@そうだ選挙にいこう:04/07/21 19:51
ボルト アドレス [email protected] 有料 800円
Aパイプ アドレス [email protected] 有料 900円
ワッシャーセット アドレス [email protected] 有料 300円



というリストがあるんですが、ここからメアドだけを取り出したいんです。
left関数をつかってみたんですが、うまくいきません。

「有料」という字と、「 a」という字は固定なので、これをうまく利用して
アドレスを抜き出せないでしょうか?

580名無しさん@そうだ選挙にいこう:04/07/21 20:00
↑すみません。書き方を間違えました。
「アドレス」という字と、「有料」という字は必ずはいっているので、
これをうまく利用してアドレスを抜き出したいんです。
共有方面の質問には皆冷たいのぅ・・・。
>>556>>558よ、まだ来とるかの。
まずは共有をはずせ。
履歴をクリアするのぢゃ。
これでちょびっとはバイト数が減る。
そこまでやってみたらま報告せい。
582ゴッホ:04/07/21 20:54
>>579

関数でやると、

=TRIM(SUBSTITUTE(REPLACE(A1,1,FIND("アドレス",A1)+3,""),MID(A1,FIND("有料",A1),LEN(A1)),""))

誰か、他にもっといい方法を書くかもしれないけど、とりあえず。
>>579
これでもいいかも。
=MID(LEFT(A1,FIND("有料",A1)-1),FIND("アドレス",A1)+5,LEN(A1))
584名無しさん@そうだ選挙にいこう:04/07/21 21:42
>582
>583

すごい!本当にできました。VBAを使わなければいけないのかと
悩んでしまいましたが、関数でできるんですね。
ありがとうございました!
585ゴッホ:04/07/21 21:55
>>854

>>853のほうが簡潔でいいね。

ただ、アドレスの前後は必ずスペース一個ですか?
これだと、スペースがなかったり、2個以上あったりするとおかしくなるので、

=TRIM(MID(LEFT(A1,FIND("有料",A1)-1),FIND("アドレス",A1)+4,LEN(A1)))

に修正したものをおすすめします。
値でコピー貼り付けをすると、そのままリンクが貼られますし。
586名無しさん@そうだ選挙にいこう:04/07/21 21:59
条件付き書式で、数式をたてているのですが、
関数挿入アイコンは使用できないのでしょうか?
数式は手打ちで打つしかないのでしょうか?
>>586
あらかじめ数式をコピーしといて Ctrl+V とか
588586:04/07/21 22:16
>>587
レスありがとうございます。
589名無しさん@そうだ選挙にいこう:04/07/21 22:38
>>579
区切りのスペースが必ずあるなら、
データメニューの区切り位置でやるのが簡単確実なんじゃない?
590568:04/07/21 23:24
569〜577の皆さんへ
お礼が遅くなりましたが、ご教授ありがとうございました。
皆さんのおかげで何とか資料を完成することができました。
何とか今日は家に帰って寝ることができそうです。
591名無しさん@そうだ選挙にいこう:04/07/22 00:39
社内LANでExcelのファイルを同時に開いて
入力するにはどのようにしたらよいですか?
>>591
多分できないと思われ。
同時に開こうとすると表示されるダイアログボックス内の
「読み取り専用で開く」ボタンを押すとどうにかなるのかもしれないが、
ネーミングからしていかにも使い心地良さそうじゃないんで、
俺は一度も試すことなくAccessへの移行を決めました。
593初心者A:04/07/22 05:16
エクセルと立ち上げてMOのデータを呼び出そうとすると
EXCELのエラーメッセージとして
 
 「フォルダへのアクセス権はありません。このフォルダへのアクセスに
 ついては管理者に問い合わせてください」

         ↑
  こういうのが出ます。
  又、マイコンピュータのリムーバブルディスクから入ろうと
  すると、その中が真っ白でファイルが全く無いです。

  ファイルが存在しているのが確かです。
  どうしたらいいでしょうか?
>>593
MOが破損してるんじゃないの?
「ファイルが存在している」根拠は?
595名無しさん@そうだ選挙にいこう:04/07/22 08:35
>>591
ツールメニューのブックの共有で「複数のユーザーが同時に・・・」を
オンにすればできるよ。
円グラフで
細かい要素をその他とかにまとめるには
どうすればいいでつか?
597初心者A:04/07/22 11:34
>>594
  レス有難う御座います
  別のPCでMOも別で同じMOディスクで試した所、
  支障無かったです

  やっぱ、MO原因でしょうか
598591:04/07/22 11:44
>>595
おお!! 感動しました。ありがとうございます。
大変助かりました。
感謝 感謝!!
>596
補助円(縦棒)グラフ付き円グラフで、
補助プロット(右半分)の輪郭&領域=なし
区分線=なし
補助プロットのサイズ=5(これが最小)
データラベルや凡例から不要なものを削除

こう考えると、その他にデータをまとめた表を別に1つ作って
そっちで普通に円グラフを作るのが現実的かも。
600名無しさん@そうだ選挙にいこう:04/07/22 13:57
BINOMDIST(成功数 ,試行回数 ,成功率 ,関数形式)

で、試行回数、成功数を増やすと、#NUM! が返されるんですけど、どうしてですか?
ある一定の試行回数、成功数までならきちんと計算されます。
オフィスのヘルプを見ても、↓しか書いてない。
すいませんが、教えて下さい。

成功数 < 0 または成功数 > 試行回数の場合、エラー値 #NUM! が返されます
成功率 < 0 または成功率 > 1 の場合、エラー値 #NUM! が返されます。

601名無しさん@そうだ選挙にいこう:04/07/22 14:22
>>600
増やすと、って10000000000とかか?
内部で二項係数を計算するルーチンがタコだからオーバーフローしてるとかじゃないかな。
602名無しさん@そうだ選挙にいこう:04/07/22 14:23
質問させてください。
環境は WindowsXP SP1 / Excel2002 SP2 です。

Excel のワークシートを台紙、オートシェイプを配置物に見立てて地図を作成していました。
作成途中、配置物(オートシェイプ)をクリックしたら詳細情報を吹き出し(オートシェイプ)で
表示するようにして欲しいとの追加要望がありました。
考えた挙句、以下のような形で実装しました。

1. 配置物の上に連番でラベル(コントロール)を作成する。
2. 各配置物に対応した詳細情報の吹き出しを同様に連番で作成し、
  適宜配置してからプロパティで不可視にしておく。
3. ラベルがクリックされたら、吹き出しの可視/不可視を切り替える。

これでとりあえず要望通りの動きにはなりましたが、かなり強引な気がしています。
また、現状では配置物の追加や位置の変更が非常に面倒です。
もっとスマートに同様のことができないでしょうか?
オートシェイプに適当なハイパーリンク(同シート内のA1とか)を設定して、
ヒント設定で情報を入力しておけば、ポインタを合わせただけで情報が表示される…
なんてことを考えましたが、これだと1行しか入力できないのが致命的ですね。

画面サイズにもよりますが、たとえばXGAで一画面に30行目まで見えているとします。
ここで25行目あたりでウィンドウ枠の固定をして、
26行目以降に5行ずつ(26〜30、31〜35、36〜40という具合に)詳細情報を記述しておいて、
やはりハイパーリンクでA30、A35、A40…に飛ばすのはどうでしょうか。
名前を定義してそこにリンクさせるようにすれば、順番の入れ替えにも対応しやすいと思います。
>599
いいや、やり方を教えていただきたかったので
嬉しかったです
ありがとうございました
605名無しさん@そうだ選挙にいこう:04/07/22 17:07
質問です。環境は MacOS] / office]です。
3978行×6列と並んでいるデータのうち、
1行目、4行目、8行目、12行目・・・・と4周期最初の一行のみのデータが
並んだシートを作製する必要があります。
この「4n行」のみならんだものを作製するにはどのような操作になりますでしょうか?
もしお分かりの方、いらっしゃいましたらアドバイス願います。
606546:04/07/22 17:39
2/28
8/30
11/ 5
12/ 1
というデータを
2003/2/28
2003/8/30
2003/11/5
2003/12/1
こんなふうに、関数を使って変換したのだが
日付データと認識してくれないため、並べ替えても
うまい行きません。
何か良い方法無いですか?
607602:04/07/22 17:52
>>603
レスありがとうございます。

確かに、その方法であれば追加や移動の手間はかなり軽減できますね。
ですが要望を確認したところ、詳細情報はやはり吹き出しのような形で
地図上にポップさせて欲しいということでした。

セルに設定できるコメントがオートシェイプにも適用できれば良いのですが…。
別のシート等で、セルで配置物を表現し、そこにコメントを適用して
地図シートにリンク貼り付けを試してみましたが、コメントまではリンクされないようで駄目でした。
608名無しさん@そうだ選挙にいこう:04/07/22 18:37
>>606

2/28のデータが入ってるセルをA1とすると、
別のセルに

=EDATE(A1,-12)

後は、コピペ
609608:04/07/22 18:40
>>606
その後ソート

若しくは、2003/2/28の文字列をDATEVALUE関数でシリアル値に変換してソート
610名無しさん@そうだ選挙にいこう:04/07/22 18:46
教えてください。
アクティブなセルをある範囲内でしか
移動できないようすることはできますか?
>>610
Alt+F11→左下のScrollAreaに移動を許可するセル範囲を入力(A1:F10の形式で)

Excel2002(以降?)なら、移動を許可するセル範囲を選択して、
セルの書式設定でロックのチェック外してから
シートの保護で「ロックされたセル範囲の選択」のチェックを外して保護。
これだと複数のセル範囲を移動可能にできる。
612名無しさん@そうだ選挙にいこう:04/07/22 19:05
凄く根本的な事で申し訳ないのですが教えてください。
マイクロソフトエクセルとオフィスエクセルって違いはありますか?
また、それぞれの互換性はありますか?
613610:04/07/22 19:10
>>611
早速のレスどうもです。
2番目の方法でやってみたらできました。
本当にありがとうございます。
614名無しさん@そうだ選挙にいこう:04/07/22 19:29
>>612
>>442

Windows版とMac版の違いということなら、
office windows mac 違い
↑こんなキーワードでググってください。
個人的には検索結果の1つ目が割と参考になりました。
質問です。
セルの値によって文字の色を変更したいのですが、
「条件付き書式」の場合ですと変化する色を一種類しか指定が出来ません。

例えばテストの点数の時に値が
100の時 水色
99-70の時 緑色
69-50の時 黄色
49-20の時 オレンジ色
19-0の時 赤色
と言う風にしたい場合には
どうしたら良いのでしょうか?

お願いします。


616名無しさん@そうだ選挙にいこう:04/07/22 20:07
三種類しか指定出来ません。
617ゴッホ:04/07/22 20:29
>>614
Microsoft Office Excelと、OpenOffice Calcの違いだったりして。

>>615
マクロでよければ、
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Retu As String, myRow As Long, Saisho As Long, Saigo As Long
  Retu = "A" '←対象の列
  Saisho = 2 '←最初の行
  Saigo = 20 '←最後の行
  myRow = Range(Retu & "1").Column

  If Target.Column = myRow And Target.Row >= Saisho And Target.Row <= Saigo Then
   If IsNumeric(Target) And Target <> "" Then
    If Target = 100 Then
     Target.Font.Color = vbCyan
    ElseIf Target >= 70 Then
     Target.Font.Color = vbGreen
    ElseIf Target >= 50 Then
     Target.Font.Color = vbYellow
    ElseIf Target >= 20 Then
     Target.Font.Color = RGB(255, 126, 0)
    Else
     Target.Font.Color = vbRed
    End If
   End If
  End If
End Sub

最初の対象の列、最初の行、最後の行は、適宜変更してください。
618ゴッホ:04/07/22 20:36
5行目
myRow = Columns(Retu).Column
のほうがいいな。失礼。
>>616
>>617-618

ありがとうございます
620ゴッホ:04/07/22 20:46
>>619
何度もゴメン。マイナスや100以上を考慮してなかった。
次のはマイナスや100以上には反応しません。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Retu As String, myRow As Long, Saisho As Long, Saigo As Long

  Retu = "A" '←対象の列
  Saisho = 2 '←最初の行
  Saigo = 20 '←最後の行

  myRow = Columns(Retu).Column
  If Target.Column = myRow And Target.Row >= Saisho And Target.Row <= Saigo Then
   If IsNumeric(Target) And Target <> "" Then
    If Target <= 100 Then
     If Target = 100 Then
      Target.Font.Color = vbCyan
     ElseIf Target >= 70 Then
      Target.Font.Color = vbGreen
     ElseIf Target >= 50 Then
      Target.Font.Color = vbYellow
     ElseIf Target >= 20 Then
      Target.Font.Color = RGB(255, 126, 0)
     ElseIf Target >= 0 Then
      Target.Font.Color = vbRed
     End If
    End If
   End If
  End If
End Sub
>>616
条件って3個まで定義できたの知りませんでした
感謝!!

>>617-618

うをー動いたー!
トシちゃん感激ー!!
>>620

ありがとうございます
ゴッホさんは結構まじめに答えているから嫌いじゃないけど
ifは見難いぞよ。

Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Value
  Case 100
     Target.Font.ColorIndex = 8
  Case 70 To 99
     Target.Font.ColorIndex = 4
  Case 50 To 69
     Target.Font.ColorIndex = 6
  Case 20 To 49
     Target.Font.ColorIndex = 44
  Case 0 To 19
     Target.Font.ColorIndex = 3
  Case Else
     Target.Font.ColorIndex = 1
End Select
End Sub
ん。ifよりSelect Caseの方が動作も僅かに早いしな。
625ゴッホ:04/07/22 23:07
>>623

Select Case使うと大分すっきりしますね。
しかも、俺の、ElseIfを使ってないから、一度色が変わったあと、例外の数値が入ったとき色が戻らないし。

範囲の設定の部分は省略してしまったようですが、それは残しておいたほうがいいですよね?
全セルでこの動作が必要なら、別にいらないですけど。
ColorIndexに変更したのは、Fontだからだと思いますが、Case Elseは1ではなくて0のほうが汎用的かも。
まあ、通常は黒をデフォにしてると思うので、その場合どっちでも同じですが。

Follow-Upどうもでした。
>>625
・・・。
627ゴッホ:04/07/22 23:33
>>626
は?
すいませんひとつ教えてください。

200行くらいあるハイパーリンクの掛かっているセルのURLを
その隣の列のセルに”文字列として”表示したいんですが、
一気にやる方法はありますか?

vb使ってもいいんですが、他の方法があればその方が
嬉しいです。
629名無しさん@そうだ選挙にいこう:04/07/22 23:46
“色”についての質問に便乗させてください。Excel2002です。
下記の様な予定表を作成しております。
sheet1
   A B C D E F G H I J K
1  1 2 3 4 5 6 7 8 9 10 11(←日付をあらわしております)
2鈴木  
3田中 ○    ○
4佐藤   ○
5西村   ○  ○

  
担当者に担当者名と希望日を入力させております。
sheet2
 A   B 
1田中 2
2西村 3
3西村 5


sheet2で入力した担当者名と、希望日がsheet1で○が入力されていなければ、“赤”で
セルを塗りつぶしたいです。

条件付き書式で、INDEXとMATCHで何とか出来ると思ったのですが、なんとも出来ません。
可能なら条件付き書式で処理したいのですが、可能でしょうか?
VBAならこんなコトも可能なのでしょうか?

大変分かりにくい質問で申し訳ございません。
ご教授お願い致します。
>>628
とりあえず、初心者な俺の解答

=TEXT(A1,"G/標準")
↑値貼り付け

って、ハイパーリンクの削除じゃダメなの?
>>630
えーと、削除じゃなくてURLを文字列としてセルの中に取り込みたいんです。
すいません。
632名無しさん@そうだ選挙にいこう:04/07/23 00:15
n = 5
m = 2
Range("A"& n : "A"& n + 10) = m

これだとエラーになってしまいます
どうすれば良いでしょうか?
初歩的ですみませんがお願いします
633ゴッホ:04/07/23 00:21
>>629

Dim i As Long, myDate As Byte, hisDate As Byte, myCell As Range, myName As String
Sheets("Sheet1").Activate
Sheets("Sheet1").Cells.Interior.ColorIndex = xlNone

For i = 1 To 256
 If Cells(1, i) = 1 Then
  myDate = i
 End If
Next

For i = 1 To Sheets("Sheet2").Range("a65536").End(xlUp).Row
 myName = Sheets("Sheet2").Cells(i, 1)
 Set myCell = Sheets("Sheet1").Range("a2:a65536").Find(what:=myName)
 hisDate = Sheets("Sheet2").Cells(i, 2)
If Not myCell Is Nothing Then
   myCell.Offset(, hisDate + myDate - 2).Interior.Color = vbRed
  End If
Next

>>632

Range("A" & n & ":" & "A" & n + 10)
>>623

caseもありがとう
635632:04/07/23 00:27
ごっほさんありがとうです
636ゴッホ:04/07/23 00:47
>>629

ごめん、○が入力されていなければっていうの入れるの忘れてた。

Dim i As Long, myDate As Byte, hisDate As Byte, myCell As Range, myName As String , hisCell As Range
Sheets("Sheet1").Activate
Sheets("Sheet1").Cells.Interior.ColorIndex = xlNone

For i = 1 To 256
 If Cells(1, i) = 1 Then
  myDate = i
 End If
Next

For i = 1 To Sheets("Sheet2").Range("a65536").End(xlUp).Row
 myName = Sheets("Sheet2").Cells(i, 1)
 Set myCell = Sheets("Sheet1").Range("a2:a65536").Find(what:=myName)
 hisDate = Sheets("Sheet2").Cells(i, 2)
  If Not myCell Is Nothing Then
   Set hisCell = myCell.Offset(, hisDate + myDate - 2)
    If hisCell <> "○" Then
     hisCell.Interior.Color = vbRed
    End If
  EndIf
Next

>>634

いえ。
637ゴッホ:04/07/23 00:54
>>636

>>635
いえ。

だった。

オレのバカ…。
エクセル2003つかってまふ。
デスクトップ上で画像にマウスカーソルを合わせて右クリックでコピーをし、エクセルに貼り付けることができません。

「画像を収集していません。オフィスで対応してない形式なんたら」とエラー出るぽ。
BMPでもGIFでもこのエラーが出てしまいまふ。
でも、IEで画像を開いて、IEからエクセルへドラッグアンドペーストをすると画像を貼り付けられまふ。
なぜ、デスクトップ上では画像をコピーできないんでしょうか。
639629:04/07/23 01:00
>>636
ゴッホ様、本当にありがとうございます。
ゴッホ様に書いていただいたコードを参考に
作成してみたいと思います。
明日の夜、(既に今夜ですね)動作状況を報告したいと思います。

色んな質問に対して、真剣に答えてくれるゴッホ様をのコトを尊敬しております。
瑣末なレスに脊髄反射する癖を治してくれればパーフェクトなんだがなあ。
エクセルで作った表の縦と横を入れ替えるにはどうすればいいですか?
>>641
対象データをコピー
形式を選択して貼り付け
貼り付け先をアクティブにし
行列を入れ替える
>>641
>389他たくさん

次スレではこれもFAQ候補か?
>>641
範囲指定して、Ctrl+C→(別のシートなどで)編集→形式を指定して貼り付け→
縦横入れ替えにチェックしてオkボタン。
>>605
3978行×6列と並んでいるデータ → Sheet1
1行目、4行目、8行目、12行目・・・・と4周期最初の一行のみのデータ → Sheet2
とした場合、やりたいのは(1)と(2)のどちらでしょう。

(1)
Sheet1の1行目をSheet2の1行目
Sheet1の2行目をSheet2の4行目
Sheet1の3行目をSheet2の8行目

(2)
Sheet1の1行目をSheet2の1行目
Sheet1の4行目をSheet2の4行目
Sheet1の8行目をSheet2の8行目

(1)ならセルA2に
=IF(MOD(ROW(),4)=0,INDIRECT(ADDRESS(ROW()/4+1,COLUMN(),,,"Sheet1")),"")
を入力。セルA2をコピーして必要な範囲にペースト。
セルA1に =Sheet1!A1 を入力。セルA1をコピーしてB1:F1の範囲にペースト。

(2)ならセルA1に
=IF(OR(ROW()=1,MOD(ROW(),4)=0),Sheet1!A1,"")
を入力。セルA1をコピーして必要な範囲にペースト。

そもそも4周期最初の行って1行目、5行目、9行目、13行目・・・・では?
もしそうならMOD(ROW(),4)=0の部分をMOD(ROW(),4)=1に変えるだけだけど。
646ゴッホ:04/07/23 01:24
>>639
こちらこそありがとうございます。報告お待ちしています!
あと、色づけするの、Sheet1でいいんですよね?もしかして、Sheet2のほう?
もし、Sheet2のほうだったら、下のコードになるので、こちらをお試しください。

Dim i As Long, myDate As Byte, hisDate As Byte, myCell As Range, myName As String, hisCell As Range
Sheets("Sheet2").Activate
Sheets("Sheet2").Cells.Interior.ColorIndex = xlNone

For i = 1 To 256
 If Sheets("Sheet1").Cells(1, i) = 1 Then
  myDate = i
 End If
Next

For i = 1 To Sheets("Sheet2").Range("a65536").End(xlUp).Row
 myName = Sheets("Sheet2").Cells(i, 1)
 Set myCell = Sheets("Sheet1").Range("a2:a65536").Find(what:=myName)
 hisDate = Sheets("Sheet2").Cells(i, 2)
  If Not myCell Is Nothing Then
   Set hisCell = myCell.Offset(, hisDate + myDate - 2)
    If hisCell <> "○" Then
     Sheets("Sheet2").Cells(i, 2).Interior.Color = vbRed
    End If
  End If
Next

>>645
ほんとだ。<4周期
647606:04/07/23 08:13
>>608-609
レスありがとう。
DATEVALUE関数を使ったら、うまく行きました。サンクス
>>623は中途半端でしたね。しつこいけど書き直しますた。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
For Each r In Target
 If r.Column = 2 Then 'B列対象(行は省略)
   Select Case r.Value
     Case 100
       r.Font.ColorIndex = 8
     Case 70 To 99
       r.Font.ColorIndex = 4
     Case 50 To 69
       r.Font.ColorIndex = 6
     Case 20 To 49
       r.Font.ColorIndex = 44
     Case 0 To 19
       r.Font.ColorIndex = 3
     Case Else
       r.Font.ColorIndex = 0
   End Select
 End If
Next
End Sub
649名無しさん@そうだ選挙にいこう:04/07/23 10:36
>>629
もし、VBを使わずに、条件付書式だけで作るとすれば、
sheet2に名前に対応したIDを作り(田中なら01と言う様な。)、C列に
0102というID&日付の4桁の数字を作る
sheet1の条件付書式で
=COUNTIF(ID&日付,Sheet2(C1:C100))>1
多少ファイルサイズ、動作は重たくなるかもしませんが、理解しやすいのではないでしょうか?
650649:04/07/23 10:54
Sheet1のB列にIDを入れる列を挿入して下さい
C2のセルの場合
条件付書式
=AND(COUNTIF(Sheet2!C1:C100,B2&C1)=1,C2<>”○”)
が正しいです
>>649
適当すぎだ俺・・・
651649:04/07/23 11:04
条件付書式って外シートへの参照は使えないのね・・・
ナカッタコトニシテクダサイ
652名無しさん@そうだ選挙にいこう:04/07/23 12:54
ブックの共有をさせながら、尚且つシート及びブックの削除が不可能にするには、
どうすればいいでしょうか?
653名無しさん@そうだ選挙にいこう:04/07/23 15:23
Sheet1のAに識別番号、Bに氏名を入力してあるのですが、
Sheet2のAに識別番号だけがランダムに並んでいる場合、
Sheet1の識別番号を参照して、Sheet2のBにAの識別番号と
照らし合わせた氏名を表示させることってできませんか。

Ecxel:2002
OS:Win2K

どなたか、ご教授下さい。
654653:04/07/23 15:38
すみません、ちょっと修正を…

> Sheet2のAに識別番号だけがランダムに並んでいる場合、

Sheet2のAに識別番号だけがランダムに、重複有り/並べ替え不可で並んでいる場合、
ヘルプを vlookup で検索すると幸せになれるかも。
656653:04/07/23 17:00
>>655
ああっ、まさしく!>ぐぐってきました
今からやってみます。

ありがとうございます。
>>652
ブックの保護でシート構成をロックしてからブックの共有。
ただし、
・シートの削除だけでなく挿入やシート名の変更まで不可能になってしまう
・ブックごと削除されてしまうのを未然に防ぐことはできない
 (そんなことをする奴に入力させるとは思えないが)
のが難点でしょーか。
658652:04/07/23 17:50
>>657
レスありがとうございます。
まさにその、ブックごと捨てたヴァカがおりまして。
ご存知のようにネットワーク上で他人のドライブの物を捨てたら、
どこのゴミ箱にも残りませんで。
そうですか、その点だけはアクセス優位ですね。
659605:04/07/23 18:16
>>645
指摘ありがとうございます。たしかにあれでは4周期でないですね。
また言葉足らずの説明で申し訳ありません.
やりたいのはそのどちらでもなく
Sheet1の1行目をSheet2の1行目
Sheet1の5行目をSheet2の2行目
Sheet1の9行目をSheet2の3行目
・・・と4行おきの数値を別のシートでそれのみを羅列していくということなんです。
もしお分かりでした、再度アドバイスおねがいします。
660外出ですが:04/07/23 18:41
>605
列がA〜Fとすると、Sheet2のA1,A2に↓を入力
'=Sheet1!A1
'=Sheet1!A5
下へ1000行オートフィル
選択状態のまま データ→区切り位置→完了
選択状態のまま右へ6列オートフィル
661名無しさん@そうだ選挙にいこう:04/07/23 19:06
ユーザーフォームでRefeditを使いたいんですが
モーダル表示しかできないということでブック内のセルしか参照できません。
2つのrefeditを使って、別々のブックの範囲を選択したいんですがどうしたらいいでしょうか。
毎月の給与明細書をExcelで作成しよう思います
残業時間の欄を表示形式→ユーザー定義でいろいろと試してみているのですが
うまく表示されません
「0:30」や「34:00」と表示させるにはどのように設定するのでしょうか?
[h]:mm
664ゴッホ:04/07/23 19:34
>>659
エクセルの機能でやっても、>>605のようにいろいろ方法はあると思うけど、
マクロでやるのが手っ取り早いかも。

Dim i As Long, j As Long, Saigo As Long
Saigo = Sheets("Sheet1").Range("A1").SpecialCells(xlCellTypeLastCell).Row
j = 1

 For i = 1 To Saigo Step 4
  Sheets("Sheet1").Rows(i).Copy Destination:=Sheets("Sheet2").Rows(j)
  j = j + 1
 Next

>>648
それだと、複数セルのコピペにも対応できで、いい感じですね。
行範囲を省略すると、Bの関係ない行に何か書き込むたびにCase Elseが反応しちゃいますが、
やはり、考慮したほうがいいのでは?
例えば、B列のタイトルのフォントに色をつけたばあい、文字を修正すると色がデフォに戻っちゃう。

>>661
UserFormのプロパティのShowModalをFalseにするとどうなりますか?

>>662
0:30は「h:mm」で表示されるけど、34:00は日付(時間)としては無理じゃないのかな〜?
計算とかしないでただ表示されればいいのなら、文字列にするか、
日付の形式でも「'34:00」と入力すれば表示されるけど。
665ゴッホ:04/07/23 19:35
>>663

あ、できた。
666661:04/07/23 19:54
>>664
かたまってしまいます。
初歩的な質問で申し訳ないんだけど、「下へ1000行オートフィル」ってとき
どうするのが賢いんだろう。

いつもそのままマウスを走らせるんだけど、行き過ぎてしばしばキレる。
名前ボックスに選択したい範囲をコロンで区切って入力してEnter、
これでまずは広い範囲を安全に選択できる。
選択したい範囲の左上角をアクティブにして、
右下角にあたるセルを名前ボックスに入力してShift+Enterも可。
もちろん普通にスクロールしてShift+クリックでもいいけど。

んで、数式のコピーや単なる文字のコピーならCtrl+Dで。
連続データなら編集→フィル→連続データの作成で。
編集→フィル→連続データの作成→オートフィルなら
操作手順は少し長くなるものの、ほとんどすべての状況に対応できる。
>667
自分で書いてから思いついた。
数字を問い合わせて選択エリアを拡張するマクロを書けばいいのか。
>668
いれちがいになっちゃった。多謝。
671ゴッホ:04/07/23 20:32
>>666
俺も固まった。
すいません。わからないです。
672662:04/07/23 20:37
>>663
>>664
ありがとうございました
673629:04/07/23 21:05
>>646
ゴッホ様
完璧な動作です!ありがとうございました。
ただ、私の説明が足りなかったところがありまして、
若干エラーだ出るところがあります。
(私のデータに問題あり。マクロは完璧です!!)
いい機会なので、キレイに作り直そうと思います。
本当にありがとうございました!

>>649
条件付き書式でのアドバイスありがとうございます!
674ゴッホ:04/07/23 21:32
>>673
どういたしまして。
データを修正して、まだ問題があるようなら、またご相談くださいね。
>>605=>>659
セルA1に
=INDIRECT(ADDRESS((ROW()-1)*4+1,COLUMN(),,,"Sheet1"))
を入力。セルA1をコピーして必要な範囲にペースト。

でどうですか?
676ひろさん ◆EriosvaGhM :04/07/24 06:31
         ,r::::::::::::::::::::、:、   / ̄ ̄ ̄ ̄ ̄ ̄ ̄
          |:::∧_∧::::::::|:::|   |
         ⊂(@∀@)つ|:::| <>>1クズ・・・っ!ゴミ・・・っ!
       //(手  塚)//::::!
       |:::|/とヽ ♂ θ|:::| :::/  
    / ̄ ̄旦 ̄ ̄ ̄/|
  /______/ | |
  | |-----------| |

   _
  / /|)
  | ̄|
/ /
677名無しさん@そうだ選挙にいこう:04/07/24 07:24
        A B C D E
1行目⇒   15 17 20 25 30
2行目⇒   01 02 04 06 08
3行目⇒   05 07 09 11 13

例えば上のように、1つのセルに1つの数字が配置されているとします。
このとき、もしも1つの行に連続した数字があるならば(例えば2行目の1と2)、
その行を削除して上につめるという作業をしたいのですが、
なにかいい方法はないでしょうか?
>>677
1行選択して削除
>>677
いい方法がみつからないので、手っ取り早くマクロで。

3 To 1 、1 To 4 を自分の表に合せて書替えて
A〜E列だけを上に詰めたい時は Rows(i) を
Range(Cells(i, 1), Cells(i, 5)) に置き換えて下さい。

Sub hoge()
For i = 3 To 1 Step -1 '1〜3行のとき
  For j = 1 To 4 'A〜E列のとき
    If Cells(i, j + 1) = Cells(i, j) + 1 Then
      Rows(i).Delete Shift:=xlUp '行全体を上に詰める
      Exit For
    End If
  Next j
Next i
End Sub
680名無しさん@そうだ選挙にいこう:04/07/24 11:56
例えば0%〜4.9%は0%引き、5.0%〜7.9%は5%引きといった感じで
するにどうしたら良いでしょうか?
>>680
よくわかりません。具体例を挙げてください。
>>568と煮たような質問だとおもうけど
0%→5%→8% じゃ規則性がワカラン
それで、4.96% のときはどーすんの?
684679:04/07/24 13:02
説明不足ですみません。>>679の数値の例えも変でした。
>>568さんと似たような感じだと思うんですが
下げ率が0.0%〜100.0%の範囲内で
0.0%〜 4.9%なら 0%引き
5.0%〜 9.9%なら 5.0%引き
10.0%〜14.9%なら10.0%引き
       ・
       ・
       ・
 となるようにしたいのです。
685680:04/07/24 13:10
すいません、>>684>>680のことです。
2倍して1の位を切り捨てた後2で割る
例えば18%のとき、A1に0.18と入力されていれば
=INT(A1*20)/20
18と入力されていれば
=INT(A1/5)*5
round使ってhogehoge
689sage:04/07/24 22:34
シフト+矢印キーで範囲選択をしているときに、
キーボード操作でアンカーセルを変更する方法はありますか?
たとえばC3からはじめてE8まで選択したときに「やっぱりB2..E8にしよっと」
と気が変ったときです。
(DOSのLotusでピリオドキーに相当するものです)
>>689
ありません。
>>689
Shift+F8 を押してから拡張したい先頭のセルを選択して Shift+矢印キー で範囲を拡張とか
>689
選択範囲の左上(C3)がアクティブな状態でShift+Enter押せば、
選択範囲の右下(E8)がアクティブになる。
そのままShift+←・↑と押す。
693名無しさん@そうだ選挙にいこう:04/07/25 01:58
>>680
if使ったらだめなの?
>>693
つうか、表を作ってvlookup(or lookup)で引っ張ってくれば
なにも悩む必要なし。これなら規則性のないものでもOK
だよ(って、そんなことは普通ないがな w)
695名無しさん@そうだ選挙にいこう:04/07/25 09:01
excel97を仕事でつかっているのですが、仕事で有効数字表示というのがありまして、
これは、たとえば有効数字2桁の場合、
12345 なら、12000
0.54321 なら、0.54
0.0001234 なら、0.00012
5.55555 なら、5.6
こういったような、数値の入っている先頭より、3桁目を四捨五入で丸めるといったものなのですが、
セル内で結果に応じて有効数字2桁で表示する方法はあるでしょうか?

696689:04/07/25 09:34
>>691
キーボード操作でも不連続な領域を選択できるのですね、
勉強になりました。

>>692
これビンゴでした。(さらに押したらE3とかC8に移動するかと
思ったらそうじゃないんですね(^^)

>>690&All
さきほどピリオド+モデファイアキーを手当たり次第試したら、
Ctrl+ピリオドでアンカーセルが時計回りに移動することがわかりました。

みなさんありがとうございました。
>>695
そのまんまですけど
 =ROUND(A1,-INT(LOG(A1)-(-1+A2)))
 A1に丸めたい数値
 A2に有効桁数
でどうですか?
 (Excel2000で試してますので使えない関数が含まれていたらごめんなさい)
>>695
本当に有効桁数に拘るのであれば、素直に指数表示にしなされ。
書式設定で指数を選べば桁数が指定できます。
2桁なら、小数点以下を1にすればよい。
様式の決まった用紙(シート)があります。
この様式は,元々手書きで書き込むためのもので,PCで書き込む場合は,
各項目の配置だけではなく,各罫線もミリ単位でずれてはいけないものです。

この様式が表示してあるシートに,同一ブック内の別シートに列記してある各項目の文章を
参照式で引っ張ってきて表示し,印刷しようとトライしています。
ところが,項目によっては文章が長く,当初のフォントサイズでは溢れてしまったり,
罫線が微妙に伸縮してしまうことがわかりました。
私としては,溢れないような制限文字数内で文章を書くように,同僚に打診したのですが,
「ものによって文章が長くなるのは当たり前。PCに合わせて文章を削るなど本末転倒」と
一蹴されてしまいました。

そこで,参照した文章の量によって,自動的にフォントサイズを上下し,罫線から溢れたり,
罫線が伸縮しないようにしたいのですが,マクロは記録マクロをちょっと手直しする程度しか
わからないため途方に暮れています。

お知恵を拝借できるとありがたいのですが…
>>699
セルの書式設定→縮小して全体を表示 では駄目なの?
>>700
「縮小して全体を表示」だと,長い文章は読めないほどの小さな文字で表示されてしまいます。
長い文章ですので,現状では当然1つのセル内で折り返した複数行になっているのです。

「縮小して全体を表示」と「折り返して全体を表示」は両立できないみたいですし…
>>700
それしかないだろうね。
文字が多すぎると文字がすごく小さくなるけど、しぁあないなぁ。
>>701
つうか、折り返しは最大で何行分あるの?
最大で2-3行ぐらいだったら、参照するときに例えば10文字ごとに
強制的にセル内改行させてしのぐとか。
>>701
セルに文字を書くのではなく、テキストボックス(枠や背景は透明
にする)を使って、テキストボックスから参照させれば、元のExcel
の表は勝手に大きさが変わることはなくなる。
ただし、テキストボックスに文字が収まるようにするためには、
手動でフォントの大きさを調整するしかない。

フォントを等幅(MS ゴシックなど)にすれば、文字数によって
決められたフォント数にするマクロを作ることもできるけど、
そこまでやる必要あるか疑問。
(そもそもテキストボックスを使う時点で気持ち悪いからなぁ)
>>703
規定値は「20字×5行=100字,12ポイント」にしてあります。
人によっては,150〜160字ほど書きますので,その場合は8行にするために9ポイントに
下げないと溢れてしまいます。

>>704
前任者は,ご指摘の通り,文字数によってポイントを上下するマクロを組んでいたそうです。
ただし,あくまで文字数を基準にしているため,「。」一つのために1行増えたり,7行で収まる
はずなのに8行になってしまい,最下行がまるまる空いていたりと,あまりうまくいかなかったとの
ことでした。
なんかわかりにくかったのと訂正も含めて。

100字 → 11ポイント・20字×5行(規定値)
150字 → 9ポイント・25字×6行(最大値?)

こんな感じで,文字数によってセル内に綺麗に収まるようにしたいわけです。
707695:04/07/25 21:18
>697
ありがとうございました。上手く行きそうです。
>698
お客様に提出する書類なので、指数表示というわけにはいかないので。
こんな所で質問するレベルの業者に頼むのは馬鹿みたいだなw
>>705
プロポーショナルフォントを使っていたらできるはずはない。
等幅フォントを使えば、多少はましになるがこれも完全ではない。
ま、やるなら等幅フォントでテキストボックス使うことですな。
解法としては非常に汚いけどね。
710605(=659):04/07/26 00:50
様々な方がご意見くださり、ありがとうございました。
なお、諸事情でこのお礼のレスが遅くなり申し訳ありません。
最終的には>>675の方の方法を採用させていただきました。シンプルにできましたの
で。

また、ゴッホさんもわざわざマクロ作成、ありがとうございます。
提案してくださったものをみて感心してため息をついてしまいました。(マクロは読
むことくらいしかできないもので・・・)

無事にデータ処理が進められそうです。他の方も本当にありがとうございました。感
謝します。
711名無しさん@そうだ選挙にいこう:04/07/26 00:50
For〜Nextを使って、条件に当てはまるなら1、当てはまらないなら0として、
最終的に当てはまるものがいくつあったかを知るためにはどうしたらいいのでしょうか?

例えば以下のとおりです(知りたいのはsの合計)。

For 列 = Range("A1").Value + 1 To 1 Step -Range("L3").Value
t0 = Range("M3+2,列-L3").Value + Range("N3").Value
s = (CInt(t0 = Range(列 - Range("L3").Value, 行).Value) _
+ CInt(t0 = Range(列 - Range("L3").Value, 行 + 1).Value) _
+ CInt(t0 = Range(列 - Range("L3").Value, 行 + 2).Value) _
+ CInt(t0 = Range(列 - Range("L3").Value, 行 + 3).Value) _
+ CInt(t0 = Range(列 - Range("L3").Value, 行 + 4).Value) _
+ CInt(t0 = Range(列 - Range("L3").Value, 行 + 5).Value) _
+ CInt(t0 = Range(列 - Range("L3").Value, 行 + 6).Value)) * -1
712名無しさん@そうだ選挙にいこう:04/07/26 00:52
>>699
そもそも、運用の姿を決めた上でフォームは作成すべきなのではないの?
フォントの調整に時間をかけるくらいなら、フォームの再検討に時間をかけた方が長く使えるのではないかと思うのですが・・・。
だめ????
>>711
Cかなにかやってて、初めてVBAを使う、という方なんでしょうか?
正直すごくコードの意図がつかみづらいです‥。
もう少し文章で説明していただけませんか?
・どういったデータが、どんな配置ででシートに並んでいるのか。
・A1セルとL3セルには何の値が入っていて、それを基準として何を調べようとするコードなのか。
といったことを伺いたいです‥。
714711:04/07/26 03:03
>>713
説明が足りなくて申し訳ありません。
私は今までにプログラミングの経験はなく、
今日本を読み始めたばかりのものです。

数字の並びとしては、C3:I200のセル一つ一つに1〜99の数字がランダムに配置されていて、
C列から1列目、2列目と数えてI列を7列目とします。
また、A1には任意の3桁までの数が入っていて、
L3、M3、およびN3には任意の1桁の数が入ります。

かなりわかりにくいのですがおこないたい作業は、
まずA1+1の行を基準とします(A1が199なら200行目)。
次に、その基準の行からL3に入れた数だけ上の行(L3が3なら197行目)の、
M3に入れた数の列(M3が3なら3列目)にある数字にN3の数字を足した数(これをt0とする)が、
基準とした行の1〜7列目のどこかに入っているなら1、入っていないなら0とします。
ここまでの作業が終わったら基準となる行を1つ上に上げて、
あとは同じことを3行目までくり返していきます。
そして最終的に、1となったものがいくつあり、
それは全体の何%だったのかというのを求めたいと思っています。
O3
=IF(COUNTIF(C3:I3,OFFSET(C3,0,$M$3-1)+$N$3)>0,1,0)
O200までフィル

P3
=SUM(O3:OFFSET(O3,$A$1-$L$3-3,0))
(1となったものの個数)

Q3
=P3/($A$1-$L$3-2)
(1となったものの割合)

最後にO列を非表示にしておく。

O・P・Qの数式は、状況に合わせて好きなところに作成してもOK。
ただし、各数式内のセル参照を適宜修正するのをお忘れなく。
処理も数式も複雑なので少し不安ですが検証よろ。
>>712
元々の様式は,官公庁が指定しているものですので,
再検討する権限など我々にはないのです…
717711:04/07/26 07:56
>>715
L3、M3、N3の数値を色々とかえて入れていくと、
どうも違う値が出てきてしまうようです。
でもどこが間違っているのかもわかりません・・・。
718名無しさん@そうだ選挙にいこう:04/07/26 08:41
表示形式について質問します。
整数部はカンマ編集、
小数部はもしあれば全て表示(四捨五入、切捨てしない)
整数のみの時は小数点を表示したくない。
という表示形式は可能でしょうか?
>>711
Sub hoge()
k = 0
t0 = Cells(Cells(1, 1) - Cells(3, 12) - 1, Cells(3, 13)) + Cells(3, 14)
For i = 3 To Cells(1, 1) + 1
  For j = 3 To 9
    If Cells(i, j) = t0 Then k = k + 1
  Next
Next
Cells(2, 1) = t0 & " は " & k & " 個ありまつ"
End Sub
>>699 前任者と同じ方法ですが、
等巾フォントで、9,10,11,12pt それぞれ何文字で改行されるか
調べておいてポイント切替の数値に設定すれば、「。」だけで
次の行に送られるような事はないと思います。

Sub hoge()
Set hCell = Cells(1, 1) '目的のセルがA1とすると
Select Case Len(hCell)
Case Is > 180
MsgBox "もう文字多杉"
Case 150 To 179
hCell.Font.Size = 9
Case 120 To 149
hCell.Font.Size = 10
Case 100 To 119
hCell.Font.Size = 11
Case Else
hCell.Font.Size = 12
End Select
End Sub
721名無しさん@そうだ選挙にいこう:04/07/26 12:29
10を1と100なら10と表示する表示形式を
教えて下さい。
(ただし10は10で別セルの計算に使いたい)
お願いします。
>>721
別セルに単純に割り算したらだめなのか?
723名無しさん@そうだ選挙にいこう:04/07/26 12:42
VBAの組み込みダイヤログボックスのファイルを開くで,
ダイアログボックスが表示された際に,決められたフォルダを
指定して表示するようにするにはどうしたらいいのでしょうか?

もしくは,もっとカッコよくユーザーフォーム上の
コンボボックスで指定したフォルダ内のファイル名を表示
する事は出来ますでしょうか?(ホントはこっちがしたい)
お願いいたします。
>>723
上側の返事

ChDrive "D"
ChDir "D:\Hogehoge"
725721:04/07/26 12:51
>>722
結構、複雑,繁雑なマクロを組んでしまっていて
その中で使いたいもんですから、
決まってる表をくずしたり(セルを増やしたり)せずに
単純にセルの表示形式だけで出来ないかなーと思ってまして・・・。
726723:04/07/26 13:31
>>724
ありがとうございます。
>>717
(私は>>715ではないけど)O3とP3の式を以下のように変更してはどうでしょうか。
O3 → =IF(COUNTIF(C3:I3,OFFSET(C3,-$L$3,$M$3-1)+$N$3)>0,1,0)

P3 → =SUM(OFFSET(O3,L3,0):OFFSET(O3,$A$1-2,0))

※解説
O3:その行内に、そこから[L3]だけ上の行の[M3]列にある値が存在するかを調べる。
  存在すれば1を、しなければ0を返す。

P3:O3のL3分下のセルを始点とし(∵表の[L3]行より上は基準行となりえない)
  O3の列で行が([A1]の値+1)となるセル(=基準行のセル)を終点として
  この間で、値が1となっているものの個数(=これらのセルの値の総和)を出す。

>>719
t0を求める式は i ループ内にあるべきかと。(各行ごとにt0の値は異なる)
あと、i の初期値は↑で述べた理由で、+[L3] される必要があると思います。
質問です。

複数列あるリストボックスで2列目以降に値を入れる方法を教えてください。
excel2003です。
729728:04/07/26 16:12
728に補足です。
やりたいことは、accessから取り出してきたデータを
複数列状態にしたリストボックスの各列に入れたいのです。

名前    金額    注文数
コーヒー  180円   65
紅茶    200円   70

こんな感じです。
730719:04/07/26 16:42
>727 あ そーゆー事ね、訂正。
(これって、ひょっとして、ナンバーズの予想?)

Sub hoge()
k = 0
For i = 3 To Cells(1, 1) + 1
For j = 3 To 9
If i > Cells(3, 12) + 2 Then If Cells(i, j) = Cells(i - Cells(3, 12), Cells(3, 13)) + Cells(3, 14) Then k = k + 1
Next
Next
Cells(2, 1) = k & " 個ありまつ"
End Sub
731ゴッホ:04/07/26 17:45
>>279

こういうことですか?

Const Kazu As Long = 2 '←品物の数を入れてください。

Dim myList(Kazu, Kazu) As String, i As Long

 i = 0
 myList(0, i) = "名前"
 myList(1, i) = "金額"
 myList(2, i) = "注文数"

 i = i + 1
 myList(0, i) = "コーヒー"
 myList(1, i) = "180円"
 myList(2, i) = "65"

 i = i + 1
 myList(0, i) = "紅茶"
 myList(1, i) = "200円"
 myList(2, i) = "70"

 ListBox1.Column() = myList

品物の数と、各項目の文字列は、適宜変更してください。

もしくは、単に、シートのリストをそのままリストボックスに入れるだけなら、

Dim myList()
myList() = Range("A1:C10")
ListBox2.List() = myList
732ゴッホ:04/07/26 17:45
>>729ね。
733ゴッホ:04/07/26 17:51
あ、ゴメン、間違えた。

最初のConstの行は削除して、

dimの行は、
Dim myList(タイトルの数から1引いた数, 品物の数) As String, i As Long
にしてください。
グラフのデータ範囲内の値をマクロで変更しているのですが、
マクロが実行終了しないとグラフが更新されません。
マクロ実行中に値を変化させると同時にグラフを随時更新させるには
どのようにすればよいでしょうか?
735ゴッホ:04/07/26 18:46
>>734

値を変更するコードの次に、
DoEvents
と書いてみてください。
736734:04/07/26 19:43
>>735
できました!
どうもありがとうございました<m(__)m>
737名無しの質問者:04/07/26 20:59
質問です。

時系列系のグラフなんかで目盛りおよび補助線の間隔を、
縦軸の数値の範囲によって変えたい場合はどうすればいいですか。

具体的には、
 140 ─ (目盛り)
136 - - (補)
   (以下4間隔で補助線)
 104 - -
100 ─
96 - -

64 - -
60 ─
57 - -
(以下3間隔で補助線)
33 - -
30 ─
  (以下補助線なし)
10 ─
0 ─

こんな縦軸を作りたいです。表示数値もこんな風にしたいです。
738名無しさん@そうだ選挙にいこう:04/07/26 21:11
某雑誌の記事を参考に(ほとんど丸写しなのですが、)フォームを作成してみました。
このフォームにスピンボタンを配置し、テキストボックスに入力されているデータの(行)番号を
表示したいです(1とか2とか)同時にフォーム上でデータが表示されるようにしたいです。
スピンボタンで、データ番号を選択し、フォーム上のボタンで、データの削除もされるようにしたいです。
sheet2にデータを転記しているのですが、他のマクロにも影響がでるので、sheet2では、
入力されている行を削除する形にしたいのです。

739名無しさん@そうだ選挙にいこう:04/07/26 21:12
Option Explicit
Private Sub ComboBox1_Change()
End Sub
Private Sub CommandButton2_Click()
Dim InLastRow As Long
Dim strName As String
Dim strDay As String
Dim strReason As String
strName = ComboBox1.Value
strDay = ComboBox2.Value
strReason = TextBox1.Value
InLastRow = Worksheets("Sheet2").Range("A65536").End(xlUp).Row + 1
With Worksheets("Sheet2")
.Cells(InLastRow, 1).Value = strName
.Cells(InLastRow, 2).Value = strDay
.Cells(InLastRow, 3).Value = strReason
End With
With Form
.ComboBox1.ListIndex = -1
.ComboBox2.Value = ""
.TextBox1.Value = ""
End With
End Sub
Private Sub CommandButton3_Click()
Unload Form
End Sub
Private Sub TextBox2_Change()
End Sub
よろしくお願い致します。
>>721
書式設定で表示形式に 0 を入力直後に Ctrl+J を入力する。
表示が消えたように見えるがそのまま続けざまに 0 を入力する。

次に、折り返して全体を表示するにチェックをつける。


行の高さが1文字分ではなくもっと広い場合、0が表示されなくなるまで
Ctrl+Jの回数を増やす。
741名無しさん@そうだ選挙にいこう:04/07/27 01:11
すいません、Office2003、WinXP-ProSP1なんですが、
http://www.geocities.jp/daisuke_ja/sei9syo.xls
においてある請求書で、右下の「小計、消費税、合計」のところにも、

上の単価、金額と同様にエンマークをつけるにはどうすればいいのでしょうか?
書式を通貨にしても変わってくれません。
もっと試行錯誤しろとか作成者に聞けとか
言いたいことは山ほどあるが・・・
とりあえず通貨スタイルボタンでも使っとけ。

>書式を通貨にしても
最初から通貨になってるぞ。節穴かい?
ダイアログで設定するなら記号を「なし」から「\」にしろ。
743名無しさん@そうだ選挙にいこう:04/07/27 04:10
セルを指定するときB5とかC7とかいいますが、
例えばA1に入っている数字を行番号としたい場合は、
どのように表せばいいのでしょうか?
A1に入っている数字を行番号として何をしたいのかを明確に
745741:04/07/27 04:42
>>742

くわしくありがとうございます。
ばっちりでした。
ありがとうございます。
A1に入っている数字を行番号として、好きな女に付き合ってくださいっていいたい。
747715:04/07/27 05:35
>>717(=>>711)
まだここを見ていたら、
どういう数値を入れたときに違う値になってしまったのか、
後学のためにお聞かせ願えませんか?
748名無しさん@そうだ選挙にいこう:04/07/27 06:14
朝早くからすいません。
selectionしたセルがすべてゼロなら、という条件文の作り方は一体どうすればいいんでしょうか。
セル選択まではできるのですが、その全てがゼロ、という条件の書き方がわかりません。
749711:04/07/27 07:07
>>715,719,727
わざわざ丁寧に教えていただいてありがとうございます。
大変勉強になりました。
これはナンバーズの予想のためのものではないのですが、
もしかしてそっちのほうにも使えますかね?

>>747
C3:I200のセルには1〜99の数字しか入らないのですが、
N3の値を加えることによって0以下もしくは100以上になった場合に違う値が出ました。
書くのを忘れていたというかそういうケースがあることに気づいていなかったのですが、
もしも0以下になったら99を足し、100以上になったら99を引くということにしました。
これを踏まえて、>>727の式を参考にして以下のようにしてみたのですが、
今のところは大丈夫なような気がします。


O3=IF(COUNTIF(C3:I3,IF(OFFSET(C3,-L3,M3-1)+N3>=1,
  IF(OFFSET(C3,-L3,M3-1)+N3>99,
  OFFSET(C3,-L3,M3-1)+N3-99,
  OFFSET(C3,-L3,M3-1)+N3),
  99+OFFSET(C3,-L3,M3-1)+N3))>0,1,0)

P3=SUM(OFFSET(O3,L3,0):OFFSET(O3,A1+1,0))

750名無しさん@そうだ選挙にいこう:04/07/27 08:20
1行目にABC EFG Iというように並んでいるのですが、
これを2行目にABCEFGIという具合に空白セルをとばして
表示するにはどうすればいいのでしょうか?
>>750
1.空白が常に全角とか半角なら =SUBSTITUTE(A1," ","")
2.全角または半角だけど一行中に混在しないなら上の式を全角/半角用に作って短いほうを表示
3.一行中に混在している場合で他の文字列を全角に変換しても良い場合は全角に変換した上で空白を取り除く
4.変換ができない場合はマクロの出番
752751:04/07/27 08:43
ただ本当にお手軽なのは空白を置換しちゃうのがお勧め
753750:04/07/27 08:48
>>751
それぞれの文字を1つのセルに入れたいのですが、
それでもできますか?
>753
=IF(A1="","",A1) & IF(B1="","",B1) & IF(C1="","",C1) & …(略)…
755名無しさん@そうだ選挙にいこう:04/07/27 10:08
>>731-733
ありがとうございます。

さらに質問です。
accessから受け取ったデータがNullの場合があるのでそれを条件分岐で回避しようとしたのですが、
if hoge = Null then でも if hoge <> Null then でもどちらにしてもif文の中に入ってくれません。
hogeがNullでも値があった場合でも両方です。どうしてなのでしょう?

Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset

Set cn = New ADODB.Connection
cn.Open "file name=" & myWb.Path & "\見積り管理.udl"
Set rs = New ADODB.Recordset
rs.Open "Q見積", cn

If rs.Fields("備考") <> Null Then
myAr(i, 15) = rs.Fields("備考")
End If

rs.Fields("備考")はテキスト型です。
IF IsNull(hoge) Then
757名無しの質問者:04/07/27 15:20
>>737はスルーですか
758名無しさん@そうだ選挙にいこう:04/07/27 15:59
A1〜A10の中から3つ選ぶということを
マクロで表すにはどうしたらいいんですか?
ではレスしましょう。
無理です。
ははは・・・
759は>>757宛ですよ。

>>758
A1〜A10の中から3つ選んで何をしたいのかを明確に
>756
できました。ありがとうございます。
762名無しさん@そうだ選挙にいこう:04/07/27 16:37
>>760
選ぶことが目的。
>>762
Union
3つ選んだよ。

Range("A1,A3,A8").Select
765名無しさん@そうだ選挙にいこう:04/07/27 18:25
1行目 01 02 03 04 05
2行目 07 09 11 13 15
3行目 20 22 25 26 28

上のように数字が並んでいて、
1行目からM個、2行目からN個、3行目からL個選んで
できる5つの数字の組合せを全部表示させたいのですが、
どうやったらいいのでしょうか?
やっぱりマクロを使わないとできませんか?
>>765
M:L:Nの定義がはっきりしないので無理
767765:04/07/27 19:20
>>766
M・L・Nは0〜5の数字です。
768名無しさん@そうだ選挙にいこう:04/07/27 19:31
今会社ですごく疑問すぎてストレス抱えてるんで助けてください。

エクセルでフィルタかかってるエクセルって、
プルダウンで項目が選べるじゃないですかぁ。
しかしそのプルダインの項目が操作するたびに選択肢が
増えたり減ったり、もーーーーーーーいらいらMAXです。

なぜこのような事象が起きるのでしょうか????

すべてを選んでも、ほかの項目のもののすべてだったりして、
油断すると、データを見落としてたりするので、
納得いきません。


誰かがそのような設定をしてるんでしょうか?
もーーーー、普通にオプションで設定したら
さくっと検索できるように、
なんとかならないのでしょうか。

どこをいじればなおりますか????

>>768
もちついて質問しろや。
よくわかんねーぞ。
しかもなんだプルダインてww

つかフィルタ使ってる列が複数あんのとちがうか?
ファイルが共有とかで、いろんな人がちょこちょこ好き勝手にフィルタ機能使ってんじゃねーの?
770名無しさん@そうだ選挙にいこう:04/07/27 20:00
おーーーーーーーーーー

というと、フィルタが複数あるのは確かなのですが、

>>ファイルが共有とかで、いろんな人がちょこちょこ好き勝手にフィルタ機能使ってんじゃねーの?

これはどういうことですか?
好き勝手にフィルタ機能使うとどうして上のような現象が
起きるのでしょうか??
771ゴッホ:04/07/27 20:12
>>748
Dim myBool As Boolean, myCell As Range
myBool = True
 For Each myCell In Selection
  If myCell <> 0 Or myCell = "" Then
   myBool = False
  End If
 Next
If myBool then
 Msgbox "全部0!" 
End If

>>765
マクロでそれやるのもめんどくさそうなのに、手作業でやりたいってこと?

>>770
オートフィルタのことですか?
A列で何かを選んだあと、そのままB列を選んでるのでは?
だったら、B列は全て表示されないですよ。
一つの列ごとに、全てのデータ内からの検索をしたければ、
一回ごとに、「全て表示」でもどさなければなりません。
データ→フィルタ の中に「全て表示」はありますが、
ユーザー設定から、「全て表示」をメニューに置いておくと、すぐクリックできて便利だと思います。
772名無しさん@そうだ選挙にいこう:04/07/27 21:20
今課題で重回帰分析をやらされているのですが、F値の求め方がいまいちわかりません。
親切な方教えて下さいお願いします。
ちなみにEXCEL2002です。
>>765
125通りあるのかな
総当たりして探したら?
7742点教えて下さい:04/07/27 22:54
近頃仕事PCがThikPadのA4ノートに変わりexcel関連で以下の2点知りたいです。

1. F1 HELPのオミット方法。 ESC押下のつもりがF1押してしまうので回避策しりたいです。
   でも、これはキーテーブルの変更でshiftF1とF1入替で代用できそうな...

2. キーボード操作で次のシートに移る方法。 スティック操作に疲れてきた...

お願いします_(._.)_
2.Ctrl+PageUp/Ctrl+PageDown
>>774
1)VBのOnKeyでF1キーを頃せ。
2)Ctrl+PageUp、PageDown。
 チンコパッドだとPgUpとPgDnか?
>>770
おま、本格的にオートフィルタわかってねーような気がするぞ。
例)
A列   B列
もな   ぬるぽ
ぎこ   ガッ
ふさ   ムハー
ぞぬ   ぬるぽ
もな   ガッ

なんてデータがあったとして、
A列の「もな」でフィルタかけてから、
さらにB列で誰かが「ぬるぽ」でフィルタかけたら、
当然Aに出る結果はころころ変わるわな。
こういうことかと聞いてるんだが。
もうちょっとブッ飛ばない質問をしろ。
わかりにくい。
ことの子細を書け。例を出せ。   

>>777
言い方が悪いし、言い過ぎだ。
>>770の脳に障害があるみたいな事言ってやるなよ。
だいたいそんな強い言い方して、
小さな子供が言う事聞くようになった試しがあるのか?
7792点教えて下さい:04/07/28 00:10
>>775
>>776

早速、有意義な回答ありがとうございます。
自宅のexcelで試しました。 両方とも悩み解決しました。
Application.OnKey "{F1}", "" でHELPのオミットもできました。
早速、明日会社のマクロに登録します。

ありがとう。 m(_ _)m
>>778こそ>>770を小さな子供扱いしてるぜ。
語るに落ちるとはこのことだな。
781765:04/07/28 00:51
>>771
いえ、手作業だとあまりにもめんどくさいので、
何かいい方法がないかなと思いまして。
当方はあまりエクセルに詳しくないので、教えていただければと思います。
782名無しさん@そうだ選挙にいこう:04/07/28 01:01
CSVファイルを開いたときに先頭の0などが消されるのがいやなので
全項目を等号と引用符とで囲いました。
0400 --> ="0400"
これでめでたしめでたしとおもいきや・・・カンマ入りの文字列が来ると
="ABC,DEF" -> ="ABC (分裂) DEF"
と読み込まれてしまいます。
これに対する対策はないものでしょうか。
なお、テキストインポートウィザードは使うなと言いつけられてます。
>>748

>>771で問題なく出来るけど、こんなやりかたもあるということで。

Dim Check1 As Boolean, Check2 As Boolean

With WorksheetFunction
 Check1 = .Count(Selection) = Selection.Count  '全て数字が入力されているかどうか。
 Check2 = .Sum(Selection) = 0             '合計が 0 かどうか
End With

If Check1 And Check2 Then
 MsgBox "全部 0 です。"
End If
784782:04/07/28 01:24
追記です。
1.半角カンマを全角カンマに変換
→もともとASCIIコードだけのデータなのに2バイト文字入れるなゴラァと
言われてボツ
2.ふつうの引用符にしてコントロールコードを挿入(文字列と認識させる)
 コントロールコードが文字化けして見えるのでボツ。
785747:04/07/28 05:03
>>749
納得しました。レスどうもです。
>>784
"abc"+","+"def"
とかは?
"ABC",",",DEF"
とかも試すべきかも

ウィザード使ったらダメな理由が知りたいんだが?
788名無しさん@そうだ選挙にいこう:04/07/28 07:41
A     B
1     イカ
B

A列とB列に上のように数値があるとして、
=A2&A1とすると、B1と返すと思うのですが、これをセル番号のB1として返す、ようするに”イカ”と返すような関数ってありましたっけ?
INDIRECT
>>783
+-で0になる時もある罠。

If Selection.Cells.Count = WorksheetFunction.CountIf(Selection, 0) Then MsgBox "全部0!"
MDIではなくSDIで開きたいんだけど どうすりゃいいですか?
792名無しさん@そうだ選挙にいこう:04/07/28 10:14
ゴッホさん770の回答ありがとうございました。
793名無しさん@そうだ選挙にいこう:04/07/28 10:54
すみません、教えて下さい。
A B C
1 2 5 6
2 4 6 9

上記のようなデータがあってC列が7以下の場合その行の全てのデータを削除したいのです。
(上記の場合1行全てのデータを削除して2行目を1行目に繰上げしたい)

そういったことは可能でしょうか?
あったら方法を教えていただきたいのですが。
794793:04/07/28 10:56
上記ですがA・・は列で下の1,2は行数です。念のため。
795名無しさん@そうだ選挙にいこう:04/07/28 12:01
ブックを共有している状態で、
マクロを実行させるにはどうしたらよいですか?
796名無しさん@そうだ選挙にいこう:04/07/28 13:12
教えてください。

ワークシート上にたくさん(300個)のコンボボックスを配置しました。

で、ListFillRangeプロパティに値をセットしたいんだけど、

Worksheets("Sheet1").Combobox1.ListFillRange = "Data!F14:G31"

などと、オブジェクトをちゃんと親から書いてあげないと、セットできないのですか?

300個もあるので、ループで回したいんだけど、そう書くとエラーに
なってしまう・・・。
797名無しさん@そうだ選挙にいこう:04/07/28 13:41
>791
ツールのオプションでウィンドウをタスク バーに表示をOFF

>793
オートフィルタで7以下を抽出した結果を行単位で削除
VBAなら一発だろうけど自信がないから手を出せない

>795
ぐぐればすぐ見つかる
ttp://www.asahi-net.or.jp/~zn3y-ngi/YNxv921.html
798名無しさん@そうだ選挙にいこう:04/07/28 15:03
お願いします。
シート「○○」があれば(○○はシート名)
そのシート「○○」を選択するというマクロを
教えて下さい。
お願いします。
数値データの入っている領域があって、そこに別の領域のデータが入っているかどうかを
判定するということはできますか?

  A B C D E …
1 12 13 15 19 25 …

2 20 11 39 92 61 …

3 33 64 72 26 41 …

4 …

5 90 15 35 75 11

領域1 A1:E3 領域2 A5:E5、領域2の数字が領域1に含まれていればその数を
含まれていなければ0を、領域1の数より領域2の数が大きいとエラーを返すとか・・。
どう考えればいいかでもいいです、教えてください。
>798
A1にシート名を入れておいて実行。

Sub hoge()
For i = 1 To Sheets.Count
  If Sheets(i).Name = Range("A1") Then Sheets(i).Activate
Next
End Sub
あるCELLのページ番号がわかるようなワークシート関数ってありますか?
Book全体を選択して印刷したときのページ番号をCELLで取得したいです。

OS:Windows2000SP4
EXCEL:2000
802798:04/07/28 16:40
>800
ありがとう。
じゃあ、シート「○○」を選択するって命令をした時に
すでにシート「○○」が削除されちゃってると
エラーがでるじゃないですか?
そういう時はどうすればいいの?
Sub hoge()
For i = 1 To Sheets.Count
  If Sheets(i).Name = "○○" Then
    Sheets(i).Activate
    End
  End If
Next
MsgBox "○○はありません。"
End Sub
804798:04/07/28 17:19
>803
ありがとう、ありがとう。
また教えて下さいね。
805名無しさん@そうだ選挙にいこう:04/07/28 17:42
>>799
A6のセルに
=IF(COUNTIF($A$1:$E$3,A5)>0,A5,0)
でB6からE6までコピ−

>>領域1の数より領域2の数が大きいとエラーを返すとか・・。
意味が判りにくいのですが、領域1の最大値より領域2の1つの数字が大きいと言うことでしょうか?
=IF(MAX(A1:E3)<A5,#null!,"")
どうでしょうか?

806名無しさん@そうだ選挙にいこう:04/07/28 17:42
A1、B1、C1、D1に任意の数字が入っていて、A1=iとするとき、
もしもA1=B1またはA1=C1またはA1=D1のときAi=1とし、
Ai=1になったらB2にiの値を入れるとします。
それを下のマクロ@のように具体的な数字を入れるとちゃんと作動するのですが、
マクロAのように表すとエラーになってしまいます。
どこがいけないのでしょうか?

マクロ@
Ai = (CInt(i = 6) + CInt(i = 10) + CInt(i = 15)) * -1
If Ai = 1 Then
Cells(2, 2).Formula = i

マクロA
Ai = (CInt(i = Range("B1").Value) + CInt(i = Range("C1").Value) + CInt(i = Range("D1").Value)) * -1
If Ai = 1 Then
Cells(2, 2).Formula = i
807名無しさん@そうだ選挙にいこう:04/07/28 17:54
>>796
Combobox(1)の様に括弧で括った数字付の名前をつければ、
FOR I=0 TO 300
Worksheets("Sheet1").Combobox(I).ListFillRange
NEXT I
とすっきりさせることが出来ます
でも自分なら、1つ目のコンボボックスでコンボ名を選択すれば、2つめのコンボボックスの値が可変になるように作るかな。
808796:04/07/28 18:09
>>807

ありがとうございます。
でも、「オブジェクトは、このプロパティまたはメソッドをサポートしていません。」という
エラーが出てしまいます。

自分も散々手を尽くしたのですが、いい解決策がなくて困っています。
ActiveSheet.OLEObjects(i).ListFillRange = "Data!F14:G31"

あとは五字分で、、
810ゴッホ:04/07/28 20:41
>>781

A1からE5に数字があることを前提としてのコードです。
1行目から3行目から5件抜き出して、その組み合わせですよね?
単に5*5*5の組み合わせではないので、3003の組み合わせになりました。
もし順列にしたら、気の遠くなる数字になりそうです。
検証はしてないので、もし間違ってたらすいません。
長いのでわけて書きます。
このコードをどうしたらいいのかは、自分でしらべてください。

Sub Kumiawase()

Dim SUJI(2, 31) As String, KUMI(2, 31) As String
Dim A As Long, B As Long, i As Long, j As Long, k As Long, m As Long, n As Long, GYO As Long

Columns("G:H").ColumnWidth = 15
Columns("G:H").NumberFormat = "@"

For GYO = 1 To 3
 A = GYO - 1
 B = 0

 SUJI(A, B) = ""
 KUMI(A, B) = ""

 For i = 1 To 5
  B = B + 1
  SUJI(A, i) = Cells(GYO, i)
  KUMI(A, B) = Retumei(i) & GYO
 Next
811ゴッホ:04/07/28 20:41
 B = B + 1
 For j = 1 To 4
  For k = j + 1 To 5
   SUJI(A, B) = Cells(GYO, j) & Cells(GYO, k)
   KUMI(A, B) = Retumei(j) & GYO & Retumei(k) & GYO
   B = B + 1
  Next k
 Next j

 For i = 1 To 3
  For j = i + 1 To 4
   For k = j + 1 To 5
    SUJI(A, B) = Cells(GYO, i) & Cells(GYO, j) & Cells(GYO, k)
    KUMI(A, B) = Retumei(i) & GYO & Retumei(j) & GYO & Retumei(k) & GYO
    B = B + 1
   Next k
  Next j
 Next i

 For i = 1 To 2
  For j = i + 1 To 3
   For k = j + 1 To 4
    For m = k + 1 To 5
     SUJI(A, B) = Cells(GYO, i) & Cells(GYO, j) & Cells(GYO, k) & Cells(GYO, m)
     KUMI(A, B) = Retumei(i) & GYO & Retumei(j) & GYO & Retumei(k) & GYO & Retumei(m) & GYO
     B = B + 1
    Next m
   Next k
  Next j
 Next i
812ゴッホ:04/07/28 20:42
 SUJI(A, B) = Cells(GYO, 1) & Cells(GYO, 2) & Cells(GYO, 3) & Cells(GYO, 4) & Cells(GYO, 5)
 KUMI(A, B) = "A" & GYO & "B" & GYO & "C" & GYO & "D" & GYO & "E" & GYO

Next GYO

 Dim Bx As Long, By As Long, Bz As Long, myKumi As String, mySuji As String, myGyo As Long
 myGyo = 1

  For Bx = 0 To 31
   For By = 0 To 31
 For Bz = 0 To 31
 myKumi = KUMI(0, Bx) & KUMI(1, By) & KUMI(2, Bz)
     mySuji = SUJI(0, Bx) & SUJI(1, By) & SUJI(2, Bz)
 If Len(myKumi) = 10 Then
       Cells(myGyo, 7) = myKumi
       Cells(myGyo, 8) = mySuji
       myGyo = myGyo + 1
End If
     Next Bz
    Next By
   Next Bx

 MsgBox "終了しました!", vbInformation, "5つの組み合わせの全て"

End Sub
813ゴッホ:04/07/28 20:43
Function Retumei(Retu As Long) As String

 Select Case Retu
  Case 1
   Retumei = "A"
  Case 2
   Retumei = "B"
  Case 3
   Retumei = "C"
  Case 4
   Retumei = "D"
  Case 5
   Retumei = "E"
 End Select

End Function

はあ、疲れた。



>>806

別にエラーにならないけど。If文が2行になってるからじゃない?
それなら、1行にするか、End Ifを書くか、どちらかで直るけど。
つーか、普通に、Ifの条件でIf … or … or っていうふうにしたほうがわかりやすくないか?

>>809

他にもActiveXがあるといけないから、
ActiveSheet.OLEObjects("ComboBox" & i)
のほうがいいかも。
814ゴッホ:04/07/28 20:48
よく見たら、n As Long,はいらなかった。
最後の方疲れて、全角でインデント入れなおすのおかしくなってる。
失礼しました。
馴れ合いみたいなのやめればゴッホ最高なのになぁ。
816ゴッホ:04/07/28 21:46
馴れ合いみたいなのやってるの?俺
ほっとけや。
>>790
まったくもってその通りでした。w
818名無しさん@そうだ選挙にいこう:04/07/28 21:50
>>796
入力規則のリストのほうがいいと思うんだけど。
820名無しさん@そうだ選挙にいこう:04/07/28 22:14
XP Pro でExcel97SR1単品 を使っているのですが、
ある程度いろいろと入力済のSheetで、

何文字か入力 → Alt+下キーでドロップダウンリストを出す →
リターンキーで選択 → Ctrl+Zを入力して「何文字か入力」の時点に戻す
BSキー入力

とすると必ずExcelが落ちるのですが、これはやはりExcelのバグですか?
821ゴッホ:04/07/28 22:14
まぁ誰でもゴッホな訳だがね。
>>820
Excel再起動と、OS再起動は試したんだろうな?
同環境で試してもならんわけだが。
823ゴッホ ◆lkGoghDAZs :04/07/28 22:33
>>821
いや、偽者は君が初めてです。
824名無しさん@そうだ選挙にいこう:04/07/28 22:49
本物のゴッホさんへ
>>738-739
お願いします。
こういう質問スレで名指しはヤメレ
826824:04/07/28 23:05
>>825
すみません。つい出来心で、、、
827ゴッホ ◆lkGoghDAZs :04/07/28 23:15
>>826

何がわからないのかわからない。
教えてほしいことをもう少し具体的にお願いします。
今日はもう休みますので、明日の夜までに誰も何もレスしてなかったら、
お答えします。

あと、そのコード、最初の3行と、最後の2行は無意味です。
>>827
最初の1行は意味があると思うけど。
829820:04/07/28 23:51
>>822
OS再起動もExcel再起動もしましたが、同様の手順で落ちました。
ちなみに、手元にあるExcelファイルをいくつか試してみたところ、
どのファイルでも起こりました。
起こる、起こらないは環境の個体差なんでしょうかね。

落ちる頻度がWin95OSR1で使っていたときより高いので
「新しいOSだとやはり相性が悪いんかな」と思ってましたが
一つだけでも確実に落ちる手順が偶然判ったのは大きいです。
830824:04/07/28 23:55
OS Office共にXP

フォーム上で、3つのデータを入力しSheet2へ転記しております。
ComboBox1の内容はA2、ComboBox2はB2 TextBox1はC2という感じで、
Sheet2へ転記してます。
入力したデータをフォーム上でScrollBarもしくは、SpinButton等で選択し
(データの切り換え)削除したいのです。
削除の方法は行削除で行いたいのですが、うまく出来ません。
分かりにくい質問&コード>>739で申し訳ございません。

みなさま、よろしくお願いいたします
831824:04/07/29 00:00
>>830の訂正です。
入力したデータをフォーム上でScrollBarもしくは、SpinButton等で選択し
(データの切り換え)CommandButtonをクリックして削除したいのです。

質問の小出しで申し訳ありません。
よろしくお願い致します。
832782:04/07/29 00:06
>786,787
どうもです。
どちらもカンマでフィールドが分断されてしまうです。
ワンクリックでCSVファイルが開けることが先方のご要望なのです。
833名無しさん@そうだ選挙にいこう:04/07/29 01:19
【現象】
ネットワーク越しのエクセルファイルを複数編集して「保存して終了」すると
なぜか別のファイルの内容で保存される・・・
(内容は同時編集中の別のファイル)
【補足】
当方の操作ミスもあるかもしれないが、
少なくともワザワザ「ファイル名を指定して上書き」なんてしてない。
こんなヒト他にいませんか?
(ネットワーク越しというのは単なる偶然かもしれないが)
>>833
現象以前に環境晒せ
>>805
回答ありがとうございます。
match関数の第一引数を領域でやるというような感じを考えています。
836名無しさん@そうだ選挙にいこう:04/07/29 07:29
マクロを実行させると「応答なし」と出てしまいます。
何が原因なのでしょうか?
コードはかなり複雑というか長いのですが、
それも原因になりうるのでしょうか?
>>833
>なぜか別のファイルの内容で保存される・・・
これが意味不明。
A.xlsというファイルを編集して、上書き保存すると
B.xlsが保存されるということ?
リンクの間違ったショートカットから開いてるんじゃないの。
838名無しさん@そうだ選挙にいこう:04/07/29 08:54
マクロでブックを閉じる時に
「上書きしますか?」
をでないようにするにはどうすればいいの?
839796:04/07/29 09:02
>>809

Thanks!!!!!!!!!!! 助かったよー。


値とかとりたいときは

ActiveSheet.OLEObjects(i).Object.Value = 〜

とかやんないとダメなんだね…
勉強になりますた!
840806:04/07/29 09:18
>>813
やっぱりエラーが出てしまうのですが・・・。
というか途中でフリーズしたようにとまってしまいます。

あともう一つ質問なんですが、
B19:G19に数字があってiがそのいずれかと同じならkkk_Ai=1、
jがそのいずれかと同じならkkk_Aj=1となるようにし、
kkkをkkk_Aiとkkk_Ajを足したものとします。
それを以下のように表したのですが、
もっと簡潔に表すことはできませんでしょうか?
実際はiとjだけではなく、しかもB19:G19以外の数字も使うため、
かなり長いコードになってしまいます。
あと他の条件でkkkを使うので、kkk_Aiやkkk_Ajは1か0で表す必要があるのですが、
>>813でおっしゃっていたようにIf…orで表すとなるとどうすればいいのでしょうか?

kkk_Ai = (CInt(i = Worksheets("sheet1").Range("B19").Value) + CInt(i = Worksheets("sheet1").Range("C19").Value) _
+ CInt(i = Worksheets("sheet1").Range("D19").Value) + CInt(i = Worksheets("sheet1").Range("E19").Value) _
+ CInt(i = Worksheets("sheet1").Range("F19").Value) + CInt(i = Worksheets("sheet1").Range("G19").Value))*-1
kkk_Aj = (CInt(j = Worksheets("sheet1").Range("B19").Value) + CInt(j = Worksheets("sheet1").Range("C19").Value) _
+ CInt(j = Worksheets("sheet1").Range("D19").Value) + CInt(j = Worksheets("sheet1").Range("E19").Value) _
+ CInt(j = Worksheets("sheet1").Range("F19").Value) + CInt(j = Worksheets("sheet1").Range("G19").Value))*-1

kkk = kkk_Ai + kkk_Aj

841名無しさん@そうだ選挙にいこう:04/07/29 09:26
今週の予定表みたいなので、一つのシートの決まったセルに、
平成 16年  8月  2日 〜 平成 16年  8月  8日
と入れてます。来週分は次のシートに移り同じ位置のセルに
平成 16年  8月  9日 〜 平成 16年  8月 15日
と次の週の日付を入れます。

これを、ずーッとやるんですけど・・・自動的に前のシートから日付計算なりして、
次のシートのセルに表示される、式だか関数とかを教えてくだちゃい!つかれまちた!

842名無しさん@そうだ選挙にいこう:04/07/29 10:54
1000行くらいまとめて行削除を実行すると異常に時間がかかるの
は私のエクセルだけでしょうか?
SDIで複数立ち上げたいんだけど
どうしたらいいですか
>>840 >806はエラーになりませんよ。他に原因があるのでは?

kkk_Ai = 0
kkk_Aj = 0
For Each r In Range("B19:G19")
  If r.Value = i Then kkk_Aj = kkk_Ai + 1
  If r.Value = j Then kkk_Aj = kkk_Aj + 1
Next
>>842
大体メモリ不足。
もしくはHDDのスワップが発生してしまうぐらい大きなシート。
セルに張り込まれたハイパーリンクを
一気に削除する方法ってあるでしょうか?
>>846
解決しました。失礼しました。
848名無しさん@そうだ選挙にいこう:04/07/29 13:26
アドイン関数EOMONTH(イーオーマンス)について、教えて下さい。
「○カ月後の月末」の日付を求める、関数ですが。

20日締め、翌月末支払いの予定日を求める。
取引先  請求日  支払金額  支払予定日
A3    B3    C3      D3
A社  2004/7/2  \100,000 2004/8/31 =EOMONTH(B3,IF(DAY(B3)<=20,1,2))
で D3 #NAME ? と表示されます。
アドイン関数 「ツール」「アドイン」「分析ツール」をチェックで出来るとありましたので。
エクセルは2002です。 よろしくお願いします。
849名無しさん@そうだ選挙にいこう:04/07/29 13:48
>845
ありがとうございます とりあえず256MBにしてみます
>>848
F2>Enter
851名無しさん@そうだ選挙にいこう:04/07/29 15:54
>>850
ありがとう。 感謝。感謝。  848です。
853ゴッホ ◆lkGoghDAZs :04/07/29 19:31
>>830
データを選択とは、そのセルを選択するということでいいのかな?

Spinbutton1がスピンボタンの名前で、CommandButton1が削除のボタンの名前です。

Private Sub CommandButton1_Click()
 If ActiveCell.Address(False, False) = "A2" Or _
 ActiveCell.Address(False, False) = "B2" Or ActiveCell.Address(False, False) = "C2" Then ActiveCell.ClearContents
End Sub

Private Sub SpinButton1_SpinUp()
 If ActiveSheet.Name = "Sheet2" Then
  Select Case ActiveCell.Address(False, False)
   Case "A2"
    ActiveCell.Offset(, 1).Activate
  Case "B2"
   ActiveCell.Offset(, 1).Activate
  Case "C2"
  Case Else
   Range("C2").Activate
  End Select
 End If
End Sub

'↓続く
854ゴッホ ◆lkGoghDAZs :04/07/29 19:31
Private Sub SpinButton1_SpinDown()
 If ActiveSheet.Name = "Sheet2" Then
  Select Case ActiveCell.Address(False, False)
   Case "B2"
    ActiveCell.Offset(, -1).Activate
   Case "C2"
    ActiveCell.Offset(, -1).Activate
  Case "A2"
  Case Else
   Range("a2").Activate
  End Select
 End If
End Sub




>>838

Application.DisplayAlerts = False
855ゴッホ ◆lkGoghDAZs :04/07/29 19:32
>>840

それだと、範囲内に重複してiなりjなりのデータがあった場合、1を超えてしまうけど。
>>844にしても超えてしまう。(4行目Ajになってるよ)

Dim i As Long, j As Long, kkk As Long
i = 2 'これは便宜的に設定
j = 4 'これは便宜的に設定
Dim Hanni As Range, myCell As Range
Dim kkk_Ai As Byte, kkk_Aj As Byte

Set Hanni = Range("B19:G19") 'ここに範囲を入れてください。

 For Each myCell In Hanni
  If myCell = i Then
   kkk_Ai = 1
    If kkk_Aj = 1 Then
     Exit For
    End If
  End If

  If myCell = j Then
   kkk_Aj = 1
    If kkk_Ai = 1 Then
     Exit For
    End If
  End If
 Next

 kkk = kkk_Aj + kkk_Ai
>>810 乙かれ。↓これでかんの?

Sub hoge()
Dim Num(15) As Variant
For i = 0 To 2
  For j = 1 To 5
    Num(i * 5 + j) = Cells(i + 1, j)
  Next
Next
n = 11
For i = 1 To 11
  For j = i + 1 To 12
    For k = j + 1 To 13
      For l = k + 1 To 14
        For m = l + 1 To 15
          Cells(n, 1) = Num(i) & Num(j) & Num(k) & Num(l) & Num(m)
          n = n + 1
        Next
      Next
    Next
  Next
Next
End Sub
857ゴッホ ◆lkGoghDAZs :04/07/29 19:33
>>841

例えば、G1とG2に最初と最後の日付をそれぞれ入れて、
その表示をさせたいセルに、
=TEXT(G1,"ggg e年 m月 d日")&" 〜 "&TEXT(G2,"ggg e年 m月 d日")
と書くとかはどうでしょう。
多少、行間とかは違ってしまいますが。
858ゴッホ ◆lkGoghDAZs :04/07/29 19:52
>>856

大分すっきりしちゃいましたね。
>840の式と説明文がびみょーに違うので
>844は式を正としております。
4行目はタイプミスしますた。Aiに訂正します。(ペコリ
860ゴッホ ◆lkGoghDAZs :04/07/29 20:31
>>859
うん。式と同じならそうだね。
でも多分、重複データがたまたまなくて、気づいてないだけだと思うけど。

>>856
う〜ん、よく読んでみたけど、単に15のデータの組み合わせだね。
俺、行にこだわっちゃったけど、その必要なかった。
何で気づかなかったんだろう。

精進します。
861ゴッホ ◆lkGoghDAZs :04/07/29 20:45
>>857
あ、これ、答えになってないな。失礼。

数式で自動っつーのは難儀だな。

誰か回答よろしく。
862がんばりやさん:04/07/29 21:18
エクセル教えてくりゃれ
 シートを増やして、入力をがんばって・・・・
 20MBになったらメモリ不足と出て動かなくなりました。
 エクセルの限界はどれくらいですか??
>>862
それくらいです。
864名無しさん@そうだ選挙にいこう:04/07/29 21:58
勤務表と日誌をリンクさせたいんですけど
シートA日誌に日付を入力して、
シートB勤務表からその日付の勤務者を抜き出し、Aに表示するのにはどうしたらいいのかな?

Sheat A 
7月29日
勤務者
 AAA
休み
 BBB

Sheat B  Xは休み
    28 29 30
AAA
BBB X

よろしくおねがいします。





 
>>864
IfとVlookupで一回やってみそ。
両関数とも、Google検索すりゃ、使い方沢山出るから。
使える様になっておくと便利っすよ。
866名無しさん@そうだ選挙にいこう:04/07/29 22:04
>>862
うちでは40Mb以上のブックがちゃんと動いてるよ。

それはともかく。。。
質問させてくださいな。あるシート上にグラフがたくさんあって
そのすべてのグラフにマクロ処理をしたいんです。

グラフ名を取ってくるようなマクロってどうやったらいいのでしょう?
グラフが選択されてない状態からグラフ名を取得するようなマクロってできますか?
867806:04/07/29 22:21
>>855
マクロ初心者なものでよくわからないのですが、
>>855でやっている作業というのはどういうことなのでしょうか?
1行ずつ解説していただけるとうれしいです。
あと、>>806に言葉で説明していたほうが正しいです。
868名無しさん@そうだ選挙にいこう:04/07/29 22:36
=IF(C1="*千葉*",TRUE,FALSE)ってやってC1のセルに「千葉」っていれてるのに
FALSEになります。「*千葉*」ってやるとtrueになるわけで、ワイルドカード
ってのにならないようなのですけど、なぜかおしえてくれませんか?
869名無しさん@そうだ選挙にいこう:04/07/29 22:58
COUNTIFならワイルドカードが使える。
ということで
=IF(COUNTIF(C1,"*千葉*"),TRUE,FALSE)
エクセル2000でB6からB9までに数値がありその数値を元に、
B16〜E21に有る数値をVLOOKUPで探すという2つの関数を組み合わせ、
B6〜B9の欄で空欄が有る場合、C7に空欄を表示させたいのですが、
うまくいきません・・・

=IF(B7="",C7="",VLOOKUP(B7,$B$16:$E$21,3,1))

どこがおかしいでしょうか・・・?
871名無しさん@そうだ選挙にいこう:04/07/29 23:38
その数式をどこに作成しましたか?
C7に  =IF(B7="","",VLOOKUP(B7,$B$16:$E$21,3,1))
を作ればいいというわけではなくて?

個人的には
>B6〜B9の欄で空欄が有る場合、C7に空欄を表示させたい
この辺の意図がよくわからないのですが。
872868:04/07/29 23:42
>869
ifはワイルドカードは使えないということですか・・・残念。
とりあえずそのCOUNTIFでいけそうです。ありがとうございます。
873870:04/07/29 23:45
>>871サン
式はC7で作成してます。

>B6〜B9の欄で空欄が有る場合、C7に空欄を表示させたい

これはC8,C9でも同様の式を使うのですが、B9に空欄が有るので
C9に式をコピペしてもN/Aと出ないようにです。
言葉足らずでした。。
あらら、また>>806に戻っちゃいましたか。
今回は気まぐれに大サービスで

Sub hoge()
'A1 = iとするとき
i = Range("A1").Value
'もしもA1=B1またはA1=C1またはA1=D1のとき
If i = Range("B1").Value Or i = Range("C1").Value Or i = Range("D1").Value Then
'Ai=1とし、
Ai = 1
'Ai=1になったらB2にiの値を入れるとします。
Range("B2").Value = i
End If
End Sub
875871:04/07/30 00:05
>870
一般的なVLOOKUPの使い方となると
C6に  =IF(B6="","",VLOOKUP(B6,$B$16:$E$21,3,1))
これをC9までコピーすればOKなのですが…

もう少し具体的な情報がないと、これ以上は何とも言えません。
晒すのがはばかられるシートなら(まあ、普通ははばかれると思いますが)
適当な架空のデータでもいいので、どういう動作を求めているのか明記してみてください。
876870:04/07/30 00:11
>>871サン
上手くいきました。C7をわざわざ、C7=""とせずに””これのみでOKだったようです。
ありがとうございました。
877名無しさん@そうだ選挙にいこう:04/07/30 02:50
ちゃんとDoがあるのにLoopに対応するDoがありませんと出るのはなぜでしょうか?
>>791>>843
関連付けのとこで、 /e とDDEのとこをいじくる。

くわしくはここ↓
ttp://www.asahi-net.or.jp/~ef2o-inue/kankyo/sub02_03_03.html
879名無しさん@そうだ選挙にいこう:04/07/30 03:46
EXCELの関数で、
SELECT COUNT(*)・・WHERE A列の範囲=1 & B列の範囲=100
という使い方をしたいのですが、どうすればいいのかわかりません

要するに、
A列に1があるレコード & B列に100があるレコード
の数が知りたいのです
880806:04/07/30 07:20
>>855,>>874
ようやくできました!
というか実はできていたみたいです。
なぜかマクロを実行してもいつまでも終わらないので、
何回の処理が終わったかがわかるようにカウンターをつけてみたんです。
それで終わるまでにかかる予定時間を計算してみたら、
なんと3000時間かかるということに・・・。
なんでやねん。。。
>>877
Do の中に書いた If とか With とかがちゃんと End されてない。
>>877
他の条件処理が正しく閉じていないと、正しい処理に見える場所に
エラー表示されることがありまつ。
例)Do〜Loop の中に For があって Next が無い時など

>>879
=COUNTIF(A列の範囲,1) & "&" & COUNTIF(B列の範囲,100)
883名無しさん@そうだ選挙にいこう:04/07/30 21:50
すみません、質問させて下さい。

あ組orい組 番号  名前 
  あ    101  山田さん
  い    201  田中さん
  あ    102  鈴木さん
  :     :    :
こんな表があって、あ組の行のみ文字色を赤くするマクロは
どうすればいいのですか?
884名無しさん@そうだ選挙にいこう:04/07/30 22:15
     A      B     C
1  あ組orい組 番号   名前
2    あ     101   山田さん
3    い     201   田中さん
4    あ     102   鈴木さん

こうなっていると仮定して、表全体に条件付き書式
「 数式が =$A1="あ組" 」
書式ボタンで文字色を赤に
885名無しさん@そうだ選挙にいこう:04/07/30 22:16
ごめんミス
「 数式が =$A1="あ" 」
886名無しさん@そうだ選挙にいこう:04/07/30 22:40
エクセルの数字に
@ 等の丸で囲まれた数字を使いたいのですが
21以降の数字を○で囲むにはどうしたらよいですか?
もちろん数値じゃなく文字としてでいいです。
おまいさん方、ヌマンが教えてくだちい。

例えば、E1のセルに入力してエンターを押したら
E2に行くと思うが、これを自動的にA列に戻したい。
E1に入力したらA2へ
C2に入力したらA3へ
D3に入力したらA4へ

こんな感じにするにはどうしたらいいのか?
頼みます。
>886
1.オートシェイプで囲む
2.Microsoft Word 文書をオブジェクトとして挿入して囲い文字

>887
1.A入力>Tab>B入力>Tab>C入力>Enter
2.Enter>Home
3.VBA(よくわからんのでパス)
>>887
えー、今から遠隔操作であなたのPCの設定します。
今後のキー操作は下に従って下さい。

TABキーでひとつ右に移動
ENTERキーで次の行の先頭へ移動
890名無しさん@そうだ選挙にいこう:04/07/31 00:27
パソコン一般板で勧められて来ました。質問です。


今、学校の課題で、エクセルを使って歌詞のデータベースを作っています。
10曲ほど入力して、「この作詞者の場合この語句を何個使っている」という風に
集計しなければいけません。

歌詞の入力までは終わったんですが、集計の方法がわかりません。
誰かわかる方教えてください…。

WindowsXPです。急いでいます、よろしくお願いします!!
891>>890:04/07/31 00:44
人がいないようなので他に逝きます。
お騒がせしました。
892名無しさん@そうだ選挙にいこう:04/07/31 00:45
自動的に歌詞を解析して語句を抽出をExcelでするの?
手動で解析して表にするだけなのでは?
宿題の内容を読み間違えてない?
893名無しさん@そうだ選挙にいこう:04/07/31 00:46
出勤表を作りたいのですが
http://jp.y42.briefcase.yahoo.co.jp/bc/landromefriend/vwp?.dir=/%a5%a8%a5%af%a5%bb%a5%eb&.dnm=1.jpg&.src=bc&.view=t&.hires=t&jpls=
このシート1に
http://jp.y42.briefcase.yahoo.co.jp/bc/landromefriend/vwp?.dir=/%a5%a8%a5%af%a5%bb%a5%eb&.dnm=2.jpg&.src=bc&.view=t&.hires=t&jpls=
シート2を参照させて(数字は日付)
http://jp.y42.briefcase.yahoo.co.jp/bc/landromefriend/vwp?.dir=/%a5%a8%a5%af%a5%bb%a5%eb&.dnm=3.jpg&.src=bc&.view=t&jpls=
このように色がつくようにしたいのですが
どういった条件付書式を設定すればいいのでしょうか?

1行づつの設定が必要ならAさんの行だけでも教えてください


>>892
放置してやってくれ
PC一般板で回答済み
>>884-885
ありがとございます
896名無しさん@そうだ選挙にいこう:04/07/31 11:26
セルに入力されている、太字の文字だけを抽出したいのですが、
フィルター等で可能なのでしょうか?
お手数ですがご教示お願いします。

897名無しさん@そうだ選挙にいこう:04/07/31 14:58
フィルターでは不可能でしょう
セルA1からA10まで検索するとして、B列に抽出します

dim i as Integer
dim r as Integer
for r=1 to 10
cells(r,1).select
if Selection.Font.FontStyle = "太字"
then cells(i,2)=cells(r,1)
i=i+1
end if
next r

こんなかんじでマクロをくんでみてください
>896 はセル内の部分的な太字かとオモタ。

そのときはどーするんでしょうね?
899名無しさん@そうだ選挙にいこう:04/07/31 16:26
a1
a2 b2
a3 b3 c3
a4 b4 c4 d4
a5 .......

というような lower triangle データを、下のよう1列にすることが可能でしょうか?
どなたか教えていただければ幸いです。

a1
a2
a3
a4
a5
b1
b2
b3
b4
b5
c1
.
>>899
a1
a2
a3
a4
a5
b2
b3
b4
b5
c3
c4
c5
d4
d5
e5

じゃないの?b1とかc1,c2とかも入れるの?
>>900
その通りです、b1, c1, c2とかは入れません。
申し訳ありませんでした、ちょっと慌てて間違えてしまいました。
902893:04/07/31 16:53
>>893
どなたかいい方法は無いでしょうか?
>>899
Sheet1にデータがあり、Sheet2のA1から転記する場合。
これでいい?

Sub lower_triangleを1列にする()
 Dim ColumnCount As Long
 Dim RowCount As Long
 Const RowMax = 5
 
 Worksheets("Sheet2").Select
 Range("A1").Select
 
 ColumnCount = 1
 RowCount = ColumnCount
 
 Do Until ColumnCount > RowMax
  ActiveCell.Value = Worksheets("Sheet1").Cells(RowCount, ColumnCount).Value
  ActiveCell.Offset(1, 0).Activate
  RowCount = RowCount + 1
  If RowCount > RowMax Then
   ColumnCount = ColumnCount + 1
   RowCount = ColumnCount
  End If
 Loop

End Sub
904名無しさん@そうだ選挙にいこう:04/07/31 17:17
>>893
Sheet1のB3に
=COUNTIF(Sheet2!$B2:$E2,B$1)
右と下にフィルでコピーしてフォントを白に。
選択状態のまま条件付き書式
セルの値が 次の値に等しい 1
フォント黄、パターン黄を設定。
ただし、色が付いたセルに文字を入れることはできない。

Sheet2の表全体をコピーしてSheet1のA101にリンク貼り付けして
(もしくは休日の一覧を最初からA101以降に作成して)
Sheet1のB3に条件付き書式
=COUNTIF($B102:$N102,B$1)=1
パターン黄のみ設定。
これなら無意味に0や1が並ぶことなく色を付けられるし、
色が付いたセルに文字を入力することもできる。
905904:04/07/31 17:19
下から3・4行目は
数式が =COUNTIF($B102:$N102,B$1)=1
パターン黄のみ設定して、右と下にフィル。
に訂正。
906904:04/07/31 17:24
ああ…なんでN102までになってんだろ。
休日が月4回と決まっているなら、
数式が =COUNTIF($B102:$E102,B$1)=1
つまり、$B102〜$[休日の一覧表の右端列]102
にすればOKってことです。
907899:04/07/31 17:33
>>903
ありがとうございます!完璧です!
908名無しさん@そうだ選挙にいこう:04/07/31 20:21
2003です.列と列の間のセルを分けるところに文字を書きたいのですが
どうすればよいのでしょうか?結合してセンタリングするしかないのでしょうか?
909893:04/07/31 20:26
>>904-906
ありがとうございます!
>>908
結合しなくても、右側のセルに値が入っていなかったら
表示出来る。
911908:04/07/31 21:09
>>910
スケジュールを作りたくてちょうど間に時間の数字を入れたいのですが
表示はされますが真ん中にするためにはどうすればよいのでしょうか?
>>911
オートシェイプのテキストボックスを使って
テキストボックスの書式設定で背景色と線をなしに設定するとか
2つ選んで、配置→選択範囲内で中央
914908:04/07/31 22:18
>913さんの方法でうまくいきました.ありがとうございました.
915 ◆BF/SpOqQTQ :04/07/31 23:11
超初心者です。
質問です。

「あ,胃,う」を昇降順に並べようとすると、
「あ,う,胃」となってしまいます。
これを、すべて読み仮名で昇降順に並べるにはどのような操作をすればよろしいのでしょうか?
教えてくださいませ。
「胃」にフリガナが設定されてない
書式→ふりがな→編集で
917 ◆BF/SpOqQTQ :04/07/31 23:28
>>916
ありがとうございました。m(__)m
質問です。
グラフを作成してY軸の名前をつけたのですが、
名前が長いので最後のほうが切れて見えなくなってしまいます。
全部見えるようにする方法をどうか教えてください。
フォントサイズを小さくしたら?
あ、テキストボックスの角を掴んで幅を広げてみた?
>>919
できればフォントは小さくしたくないんです。

テキストボックスのサイズが変えられないんです。
伸縮の矢印が名前のテキストボックスにはなくて、
とりあえずクリックして大きくしようとすると、
テキストボックス自体の移動になってしまって・・・
やっぱりフォントサイズを小さくするしかないんですかねぇ?
グラフオプション、タイトルとラベルのY軸でしょ?
ボックスをクリックしたら黒い点が8つ枠線の上に表示されない?
そこを掴んで引き伸ばせると思うんだけど……
あ、駄目だ。駄目なのか
テキストボックスでラベルを付けたらどうですか?
グラフエリア選択状態で文字入力すれば
グラフ中央に自動的に作成されます。
あとはもうああしてこうすればOKですよ。
924918:04/08/01 15:43
>>921-923
ということは、
「新しくテキストボックスを作って
もともとあるテキストの上にもってくる」
ってことでいいのでしょうか?
これならできるし。めんどくさいけど(´・ω・`)

皆さん、ありがとうございました。
925899:04/08/01 16:12
903さんに作ってもらったマクロについてです。

これって5*5の行列対応のようですが、
行列のサイズに関係なく、1列に変換するようにするには
どうすればいいのでしょうか?

よろしくお願いします。
926名無しさん@そうだ選挙にいこう:04/08/01 16:35
SUMすると1の位が四捨五入(切捨て?)されるんだけど、どうしてですか?
927903:04/08/01 17:29
>>925
こう変える。Application.ScreenUpdatingの行はおまけ。

Sub lower_triangleを1列にする()
 Dim ColumnCount As Long
 Dim RowCount As Long
 Dim RowMax As Long
 
 Application.ScreenUpdating = False
 
 Worksheets("Sheet1").Select
 RowMax = Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row
 
 Worksheets("Sheet2").Select
 Range("A1").Select
 
 ColumnCount = 1
 RowCount = ColumnCount
 
 Do Until ColumnCount > RowMax
  ActiveCell.Value = Worksheets("Sheet1").Cells(RowCount, ColumnCount).Value
  ActiveCell.Offset(1, 0).Activate
  RowCount = RowCount + 1
  If RowCount > RowMax Then
   ColumnCount = ColumnCount + 1
   RowCount = ColumnCount
  End If
 Loop

 Application.ScreenUpdating = True
End Sub
>>926
その状態が再現できるようなデータを提示してください。
929名無しさん@そうだ選挙にいこう:04/08/01 17:54
教えてくだせー
下記のようなコードで、Sheet1のロックしてないセルを一括削除してるんですけど、
Sheet2のロックしてないセルも一緒に削除するためには、どしたらよいのでしょうか??

Sub NotLockDelete()

Application.ScreenUpdating = False
Dim c As Range

For Each c In ActiveSheet.UsedRange
If Not (c.Locked) Then c.ClearContents
Next
Application.ScreenUpdating = True
End If
End Sub
>>929
Sheet2に移動して、もう1回マクロを実行させればいいんじゃないでしょうか。

Sub NotLockDelete()

 Application.ScreenUpdating = False
 Dim c As Range

 For Each c In ActiveSheet.UsedRange
  If Not (c.Locked) Then c.ClearContents
 Next
 Application.ScreenUpdating = True

 If ActiveSheet.Name <> "Sheet2" Then
  Worksheets("Sheet2").Select
  Call NotLockDelete
 End If
End Sub
931929:04/08/01 18:18
>>930
ご解答ありがとうございます!
なるほど、納得です!こんな発想全然浮かびませんでした!!

Sheet1にマクロボタンを配置しているのですが、
1回のクリックで実行するのは難しいんでしょうか?
932929:04/08/01 18:26
>>931
すみません。1回のクリックで出来るんですね!
このマクロ実行時にメッセージボックスで警告を出していたので、、、

マクロを呼び出すのではなく、Sheet2のロックしていないセル削除する
マクロを、1つのコード化するのは、ムリなんでしょうか?
>>932
マクロはこうする。

Sub NotLockDelete(SheetName As String)

 Application.ScreenUpdating = False
 Dim c As Range

 For Each c In Worksheets(SheetName).UsedRange
  If Not (c.Locked) Then c.ClearContents
 Next
 Application.ScreenUpdating = True

End Sub

このマクロの呼び出しはこんな感じ。
Call NotLockDelete("Sheet1") 'Sheet1の場合
Call NotLockDelete("Sheet2") 'Sheet2の場合

934名無しさん@そうだ選挙にいこう:04/08/01 19:22
マクロの処理スピードを上げる方法ってありませんか?
935929:04/08/01 19:26
>>933
すみません。上記のコードはどこをどんな感じに直したらよいのでしょうか?
約1時間ほど試行錯誤してみましたが、ダメでした。。。
SheetNameを“Sheet1”にするだけじゃダメなんですよね?

>Sub NotLockDelete(SheetName As String)
>Call NotLockDelete("Sheet1") 'Sheet1の場合
>Call NotLockDelete("Sheet2") 'Sheet2の場合
上記の意味が理解できません。

せっかく書いていただいたコードなので是非利用したいです。
よろしくお願い致します。
>934
再計算をやめる。
再表示をやめる。
あたりが効果的かと。

with を使うと見通しは良くなるが速度には影響しないという説がある。
>>935
そのまま使えばいいんですけど・・・。

Sub NotLockDelete(SheetName As String) というのは、マクロの呼び出しに

Call NotLockDelete("Sheet1") とした場合、このSheetNameという変数に、
"Sheet1"という文字列が代入されます。
普通、マクロ内部で

Dim SheetName As String
SheetName = "Sheet1"

と変数を設定するところを、マクロ外部から変数の内容を設定しているということです。
マクロの中では、

For Each c In Worksheets(SheetName).UsedRange は、

For Each c In Worksheets("Sheet1").UsedRange

として処理されることになります。こうすれば、シート名だけ違うという場合、
同じコードの使い回しがきくわけです。
こんな説明でよろしいでしょうか。
938899:04/08/01 20:21
>>927
ばっちりです、ありがとうございました!
おかげさまでだいぶ仕事の効率があがりました!
939929:04/08/01 21:59
>>937
丁寧な説明ありがとうございました!!
940名無しさん@そうだ選挙にいこう:04/08/01 22:46
一定のセル範囲のうち、セルに色がついているのもの数を数える関数ってありませんか?
度々見かける質問ですね。
「塗りつぶし セル 数える」 これでググれば見つかるでしょう。

余談だけど、そもそも色は見た目を整えるためだけの機能であって、
それを手がかりに抽出やカウントをするのは賢いやり方じゃないぞと毎回思う。
何か専用のフィールドを作れよと声を大にして言いたい。
まあ、他人の作ったデータベースなら仕方がないが・・・
時々>>941みたいなやついるけど、
「〜でぐぐれ」じゃこのスレの意味がない。
943941:04/08/01 23:14
>942
じゃあ独自の方法でも転載でもいいんで書いといてください。
というか
>>156-157
945名無しさん@そうだ選挙にいこう:04/08/02 11:40
普通に起動すると、ひとつのウィンドウの中に
複数のエクセルがたちあがりますが
これをそれぞれバラバラなウィンドウに
したいのですが、どうしたらよいでしょうか
>>945
複数のExcelなど、立ち上がりませんが?
>>945
どんどんExcelアプリ起動すればいいじゃん。
{ミ田+R→Excelと書いてEnter}*α
で。
>>946
MDIがいやだ ということです
949LARA:04/08/02 13:52
改ページプレビューの『1ページ』とか出てくるのを
消したりできますか?
MDIがいやつったってMDIなんだから仕方ないべ。

そんなにいやならメモ帳でも使ってなさいな。
>>948
SDIでスレ内検索してみれば?
ま、タスクトレイに表示するだけの疑似SDIぽいやつだから閉じるボタンを押したら終わりだけどな
タスクトレイじゃなくてタスクバーだ 一応つっこまれる前に訂正
SDI のように使用すれば済むことだと思うのだが
新しいブック作成すんなら新たに Excel 起動すりゃいいし
ファイルをダブルクリックで開くのは拡張子の関連付けを弄りゃいいし
そういうことではないのか?
954名無しさん@そうだ選挙にいこう:04/08/02 15:20
excel97でシリアル値について教えてください。
時間の計算をしていて、270分(シリアル値0.1875)という数字がでてきて、270*A1という計算がしたいのですが、
0.1875*A1になってしまいます。
解決方法わかる方いましたらお願いします。
955948:04/08/02 15:48
OK
開く を DDEなし にしてやったぜ
フン
>>954
セルの書式設定>ユーザー定義で [m] とか [mm] とか
表示の問題なら ↑ で。270という数字が必要なら
 ×1440(シリアル値1=1440分)
958名無しさん@そうだ選挙にいこう:04/08/02 16:58
>957
解決しました。
ありがとうございました。
959名無しさん@そうだ選挙にいこう:04/08/02 21:25
金額
1,000
500
300
800

という、金額の列があるとして、未入力のセルには0を表示するようにできるものなんでしょうか?
質問です

線を引くためのツールを表示するにはどうしたらよいのでしょうか?
Excel 2000
OS ME
よろしくおねがいします。
>>959
どゆこと?予め0入力しといたらいいんじゃないの?
既に穴あきの表があって、空いてる所に0を入れるなら、
Ctrl+Hの置き換えで。

>>960
表示→ツールバー→図形描画
962名無しさん@そうだ選挙にいこう:04/08/02 23:35
質問どぇす

Sheetを保護したら、今まで正常に作動していたマクロが
作動しなくなっちゃんですけど、
こんな現象を解決するVBAのコードとかってあるんでしょうか?
>>962
そんときだけ保護を外せばいい。
もちろんコード上で。
まずマクロの記録してみ。
964962:04/08/02 23:50
>>963
こんな感じのコードでいいんでしょうか?
・・・でも、どこに記述していいもんか分かりませぬ。

ActiveSheet.Unprotect

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
965962:04/08/03 00:06
>>963
適当に最初と最後に入れてみたらうまくいきましたー
ありがとうございました!!
やらずに質問する典型だな。
一生技能なんてつかねーな。
>>966
あなたのおっしゃる通りです!
さすがに技術のある人は言うことが違うネ!!
この板、いつまで選挙なんだ?
969名無しさん@そうだ選挙にいこう
: ,illliii、                      ,,,,,、                       
..llllllll゜     .,,,,,,,,,,,,,,,,,,,,,,_     ,,,,,,,,,,illlllll,,,、      .,iiiiii,              
.lllllll「     llllllllllllllllllllllllllliii,,   !!!!lllllllllllllllll!      .,llllllll:  ,,,,,,           
illlllll        ̄`:  ゚゙゙゙̄!!lllllli、 __,,illlllll ̄:       ,lllllll゜ .゙lllllllii,,、        
llllllll    .,,,,,,           'lllllll llllllllllllllllllllllllll!     .,lllllll:   .'゙!llllllli,        
'lllllll,   ,illllll   :     ,,llllll!  ゙”lllllll゙”” ̄`iillii、  llllllllii,,,,   .'llllllll:   .,,,,,,    
.'lllllll,、  ,lllllll″ .llllllliiiiiiiiillllll!l°  .lllllll,    ,llllll|   lllllllllllllllli,,, ,,illlllll  .,illllllli,,iiiiiii, 
: ゙!lllllli,,iiiillllll!゙   ゚゙!!!!!!!!!!!゙゙`    llllllll,,  .,,iilllllll`  ..lllllll!゙゙゙!!llllllllllllll!!°  .゙lllllllllllllllll″
  '゙!!!llll!!!!゙°                ゙゙!lllllllllllllllll!゙°  ゙゙!!゙`  .゙゙゙゙!l゙゙゙゜    .llll!!゙゙゙゙゙゜ 
                         ゚゙゙゙゙゙゙゙゙°                   ″    

x軸の目盛の間隔とかグラフの棒の幅は固定しておいて
新しいデータをつぎ足したらそのぶんだけグラフエリア自体が横に広がるグラフってつくれますか
おしえてください