Excel総合相談所 75

このエントリーをはてなブックマークに追加
1名無しさん@そうだ選挙にいこう
Excelに関する質問は、ここで!

▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に>>2-10あたりの注意書きやQ&Aを必ず読むこと。
★4 質問テンプレ(雛形)は必須じゃないけど、
   OSやExcelのバージョン、VBAの可否など(下記テンプレ1〜4の情報)は必須情報。

▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
【5 検索キーワード     】 Googleやヘルプでの検索キーワード

※【4】は、VBAはわからないけどコード書いてくれるならVBAでもいいって場合は「可」
  VBAを使うのは避けたいって場合は「否」にしましょう。丸投げする場合は、必要に応じてブックをアップすること。

※【5】は、あなたがGoogleやヘルプで検索した際に使ったキーワードを書いてください。
  まだ検索してないなら、質問の前にGoogleやヘルプで検索してみてください。
  ttp://www.google.co.jp/

前スレ
Excel総合相談所 74
http://pc11.2ch.net/test/read.cgi/bsoft/1223462844/

2名無しさん@そうだ選挙にいこう:2008/11/12(水) 15:24:45
2get?
1乙
3名無しさん@そうだ選挙にいこう:2008/11/12(水) 15:47:13
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
・1 現行スレ内で既出の質問が無いか、ページ内検索をしよう。(Ctrl+F)
・2 図やコードを書く場合、TABや連続する半角スペースは無視されるので注意
・3 VBAコードを貼る場合は、部分的に伏せたり省略したりせずに全て貼りましょう。何レス使っても構いません。
・4 2回目以降の質問では名前欄に初回質問の番号を入れよう。
・5 回答内容でわからない部分があっても、すぐに聞き返さずにヘルプやGoogleなどで検索しましょう。
・6 バグ・動作上の不都合・仕様に関する質問などはマイクロソフトのサポートを受けましょう。
  ここは技術的な質問のみで。
・7 VBAはプログラム言語のVisualBasic(6以前)に近い処理が可能でExcelに関係ないことも出来ます。
  Excelの操作に関係ない部分は、スレ違いなのでここで聞かずにVB言語やAPI、COMについて自分で勉強し、
  どうしてもわからない部分はVBスレやAPIスレなどの該当スレで質問しましょう。
  但し向こうはプログラマのスレなので、構文規則などの最低限の事は覚えてから質問しましょう。
  ここみたいに丸投げはダメですよ。
・8 うまくいかなかったにしても自分でやってみたこと(組んだ数式やコード)は書きましょう。
  例えエラーになる式やコードでも、何をやりたいのかを的確に把握する手がかりになります。
  その上で、どううまくいかないのかを具体的に書きましょう。
  エラーが出るなら、何処でどういうエラーが出るのか、
  想定外の結果が出るなら、条件と想定上の結果、実際の結果などを詳しく書いてください。
・9 マルチはダメ。一度マルチしたら、謝っても他のスレの質問を取り下げても回答は得られないと思ってください。
・A テキストボックス(エディトボックス)、コンボボックス(ドロップダウンリスト)、リストボックス、コマンドボタン、
  チェックボックス、オプションボタン(ラジオボタン)、スピンボタン、スクロールバー、等の質問をするときは、
  ユーザーフォーム、コントロールオブジェクト、フォームオブジェクトのどれなのかを必ず書くこと。
・B 書籍や解説サイトの紹介依頼はスレ違い。ここは技術的な質問のみで。
4名無しさん@そうだ選挙にいこう:2008/11/12(水) 15:47:45
★ルールを無視すると…
 >>1-2あたりのルールに従うか否かは自由だけど、従わないと以下のような不利益があるよ

 1.マルチをしてしまったら…
 A.謝っても他での質問を取り下げても、以後その質問に対する回答は付かない物と思ってください。
   それが嫌なら初めからマルチなんてしないように。>>2にマルチ禁止と書いてあり、
   マルチの意味が分からなければ検索すれば出てくるので、「知らなかった」は通用しません。

 2.>>1★4に従わず、必要な情報を出さないと…
 A.自分の使用しているバージョンで使えない機能を答えられたり、VBA使えないとか使いたくないと書かないと
   VBAでの解決OKで自分でコード書けるものと勝手に解釈されて、「VBAで出来るから自分でコード書いて」程度の
   適当な回答を返されたりします。また、ここではVBAコード書けない人の丸投げ依頼を許可してますが
   これはきちんとルールに従って質問、依頼した人のみの特権です。

 3.情報・条件を後出しすると…
 A.後から出された情報は意図的に無視されたり、質問自体を放置されたりします。
   >>1★4の必須情報はもちろんのこと、要望や条件、既に試したことなどは、
   長文になってもいいので詳細かつ明確かつ具体的に書きましょう。

★VBAについて
 VBAとは、『Visual Basic for Application』の略で
  Application
  ├Workbooks
  |└Workbook
  |  ├Worksheets
  |  |└Worksheet
 というApplication以下のオブジェクトを、VB言語で操作するものを指します。
 例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
 セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。
5名無しさん@そうだ選挙にいこう:2008/11/12(水) 15:49:22
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)

 ▼環境・書式
  ・ 列数を256列以上、行数を65'536行以上に増やす (Excel2007では16'384列、1'048'579行扱える)
  ・ Excel2003以前で条件付き書式を3つ以上設定する (文字色だけなら、入力規則でも3つ設定可能。それ以外はVBA)
  ・ 行の高さを0.25きざみ以下の単位で指定する
  ・ セル内の文字を○で囲む、一部のみ2段にする (オートシェイプ、オブジェクト)
  ・ オートフィルタで英字の大小文字を区別する (小文字 → 半角、大文字 → 全角、と使い分ける)
  ・ 祝日を判断する (作業セルに祝日を列挙、VBA)
  ・ 同一列内でセル(行)ごとに列幅を変える、同一行内でセル(列)ごとに列高を変える (セルの結合)
  ・ ヘッダー・フッターのページ番号の開始番号任意指定、ページ番号演算、同シート内で違ったものを指定など
  ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する (プラグイン)
  ・ 罫線幅の自由指定
  ・ 表示形式で「10/ 1」といった書式を指定し、日付が一桁の場合のみ日付の前にスペースを入れる (TEXT関数、VBA)
  ・ 書式設定の「折り返して全体を表示する」と「縮小して全体を表示する」を同時に使う (折り返しを有効にして、手動で文字サイズを調整)

 ▼操作
  ・ ファイラーの右クリックメニューからの新規作成で、Excelで設定したシート数のブックを作る (任意のシート数のテンプレートを作成)
  ・ 複数シートを選択して入力規則やシートの保護を設定する (VBA)
  ・ オートコンプリート機能を、別列や離れたセルで動作させる (VBA)
  ・ 選択範囲から一部を除く、Ctrlを押しながらの複数選択で一部を取り消す (VBA)
  ・ 優先キーを3つ以上指定しての並べ替え (優先度の低い方から順に並べ替える)
  ・ 1セルを分割 (分割したいセル以外を結合)
6名無しさん@そうだ選挙にいこう:2008/11/12(水) 15:54:56
上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。
間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。
Excel2007についても未確認な項目が多いので変更点が有ればご指摘下さい。

また、ここに書かれてないことでも、Excelで出来ないことはたくさんあります。
ここに書かれてないからといって必ず出来るはずだなんて思わないように。

>▼環境・書式
> ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する
補足
2007ではページレイアウトビューの表示時に限り、幅・高さともcm単位で表示され、
指定も同じくcm単位でできる。
ただし大元がインチ系なのでなかなかピタリの値は出ない。1cm→0.98cmのように
近い値に勝手に丸められる。
7名無しさん@そうだ選挙にいこう:2008/11/12(水) 15:55:31
   ||
   || ━ 質問のしかた ━
   ||
   || ★1 質問するときは、環境や条件をキチンと書くこと。情報後出しはダメ。
   || ★2 要望は具体例や図を使って明確かつ具体的にしる。
   || ★3 質問前に>>2-20あたりの注意書きやQ&Aを必ず読むこと。
   || ★4 質問テンプレ(雛形)は必須ではないが、
   ||    OSやExcelのバージョン、VBAの可否などは必須情報。
   ||
   ||            ∧ ∧   。
   ||          ( ,,゚Д゚)/ ジュウヨウ!!      E[]ヨ
    ̄ ̄ ̄ ̄ ̄ ̄ ̄ノ  つ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                /  ̄ ̄ ̄ ./| ________________
                | ̄ ̄ ̄ ̄| | |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|____|/|
                        ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
      \    は〜〜〜〜い      /
    ∧ ∧    ∧,,∧   ∧ ∧
    ( ,, ∧▲  ミ  ∧ ∧ (  ∧ ∧
  〜(_(  ∧ ∧_( ∧ ∧_ミ・д・∧ ∧
    @(_(,,・∀・)@ (   *)〜ミ_ (   ,,)
      @(___ノ 〜(___ノ    〜(___ノ

エクセルの技術的な質問と関係ない議論・雑談は下記スレッドで。

【質問不可】Excel総合相談所スレの雑談・議論スレ2
http://pc11.2ch.net/test/read.cgi/bsoft/1151651536
8名無しさん@そうだ選挙にいこう:2008/11/12(水) 16:47:08
おつ
9名無しさん@そうだ選挙にいこう:2008/11/12(水) 17:44:47
1おつ
10名無しさん@そうだ選挙にいこう:2008/11/12(水) 18:35:02
おまえらに宿題だ
あるエクセルファイルのアクセス履歴を、アクセス者に感づかれる事無く調べたい。
何かやっていることを感づかれてはいけないので、エクセルファイル自体へのマクロ埋め込みは不可だ。
そのファイルは保存しないため、最終保存者プロパティの取得でも不可だ。
検討を祈る
11名無しさん@そうだ選挙にいこう:2008/11/12(水) 19:57:46
↑頭を下げずに答えをえ教えてもらう古典的な方法
12名無しさん@そうだ選挙にいこう:2008/11/12(水) 20:25:43
>>10
死ねカス
13名無しさん@そうだ選挙にいこう:2008/11/12(水) 20:28:37
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【5 検索キーワード     】 Excel 中央揃え ショートカット

Excel2007で、「テキストの中央揃え」のショートカットキーってないんでしょうか?
(Alt+H→ACではなくて、一発でできるCtrl+*のやつです)

オンラインヘルプなどからもたどり着く下のページではCtrl+Eとなっていますが、これはMicrosoftのミスと考えていいんでしょうかね?
テキストを選択しても、セルを選択しても、ワークシート全体を選択しても、全く何も起こりませんでした(なお、左揃えや右揃えも効きません;右揃えCtrl+Rは他のショートカットに割り当てられているようです)。
Ctrl系のショートカットで、Ctrl+E以外で実はあてがわれているものがあれば、教えていただけたらうれしいです。
ないようでしたら少し手間はかかるけれどAltで我慢しようと思います・・・。

ttp://office.microsoft.com/ja-jp/excel/HA101677761041.aspx#32
14名無しさん@そうだ選挙にいこう:2008/11/12(水) 20:50:20
>>13
ショートカットキーはこっちのが正しいと思う。
ttp://office.microsoft.com/ja-jp/excel/HP100738481041.aspx
マクロを使えば好きなキーに好きな機能を設定できる
15名無しさん@そうだ選挙にいこう:2008/11/12(水) 21:56:28
Windows VISTAでExcelを利用しています。
実験の結果をグラフにしようと思い、実行しようとしたら分からなくなりました。
xとyを同時に測定する実験で、xが測定順に0.1、0.21、0.35でyが測定順に1、2、3だとします。
これをグラフにした場合x軸の目盛りを0.1ごとにしたいんですがどうしたらいいでしょうか?
16名無しさん@そうだ選挙にいこう:2008/11/12(水) 22:00:03
>>15
Excelのバージョンとグラフの種類は?
1715:2008/11/12(水) 22:14:01
2007で、折れ線グラフです!
直線になるはずない測定値なのに直線になってしまい困っています。
お願いします
18名無しさん@そうだ選挙にいこう:2008/11/12(水) 22:18:39
「第2軸」を使用すると良いでしょう。
19名無しさん@そうだ選挙にいこう:2008/11/12(水) 22:20:13
散布図を使うという手もあるかな
20名無しさん@そうだ選挙にいこう:2008/11/12(水) 23:29:46
レスありがとうございました。
同じような測定を繰り返して何本もグラフ重ねたいんですが、
3本目以降重ねられなくなりました。
そういう仕様なのですか?
21名無しさん@そうだ選挙にいこう:2008/11/12(水) 23:39:53
>>20
軸が共通なら1つのグラフに255本まで重ねてプロットできる
グラフを右クリックしてデータの選択
22名無しさん@そうだ選挙にいこう:2008/11/12(水) 23:42:23
前スレで解決しなかったのでもう一度質問します。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【5 検索キーワード     】 白黒 2値 印刷

白黒2値印刷をしたいのですが、Excel2007で印刷するとグレースケールになってしまうのは仕様ですか?
ページ設定→シート→白黒印刷をチェックしても印刷プレビューと実際の印刷でグレーになってしまいます。
23名無しさん@そうだ選挙にいこう:2008/11/12(水) 23:44:41
2本すら重ねられなくなりました。
ちなみに出る表示は
「データ範囲が複雑なため…」と出ます
2415:2008/11/12(水) 23:50:31
>21様

横軸xも毎回測定なので多少違うのですが…重ねるのは無理ですか?
ちなみに横軸に同じセル指定しても無理でした。
25名無しさん@そうだ選挙にいこう:2008/11/13(木) 00:17:03
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい(自分では組み立てられないけど)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 集計 並び替え 結合

<基本データ>
   A   B    C  D
  出荷 商品  単価 輸送費

1 東京 リンゴ  100 300
2 東京 バナナ  120 300
3 東京 ミカン   108 300

4 大阪 ナシ  110 200
5 大阪 ブドウ 105 200
6 大阪 リンゴ 100 200

2625続き:2008/11/13(木) 00:18:46
ここで問題なのは、D列の輸送費なのですが、これは「東京」全体で300円であり、リンゴ、バナナ、ミカンそれぞれにかかる金額ではないということです。
D列の1〜3行目、4〜6行目までを結合してしまうと、並べ替えや集計ができなくなりますので結合する以外の方法が望ましいです。
が、今回から毎月「出荷地別」の合計額を集計し、グラフにしないといけなくなりました。(単価合計と輸送費込みの金額で集計しろと言われています)

東京 628 (単価合計328 + 輸送費300)
大阪 515 (単価合計315 + 輸送費200)

         ■
■       ■
■       ■
■        ■ 
--------------------
大阪   東京
(515) (628)

こんな感じで各地域を横軸に、それぞれの単価合計と輸送費を足した合計金額を縦軸にした
棒グラフを作りたいのですが、どうやってグラフの基になる表を作ればいいかわからなくなりました。
基本データを変えずにこのようなグラフを定期的に作るためには、どうすればいいかご教示下さい。

実際のデータは1000行以上あり、列項目も複雑ですが、自動マクロで必要な列だけ抽出するところまではできました。データは毎日追加更新されます。
2725続き:2008/11/13(木) 00:19:36
グラフ折れ曲がった・・・orz
28名無しさん@そうだ選挙にいこう:2008/11/13(木) 00:19:46
>>24
軸を共通にするってのは、こんなふうにやる
ttp://bull.s11.x-beat.com/src/bull45325.png
29名無しさん@そうだ選挙にいこう:2008/11/13(木) 00:28:38
>>25
作業列を作ってそこに輸送費を入れる。
この時、地域が同じなら最初の1回しか入らないようにする。
=IF(COUNTIF($A$1:A1,A1)=1,D1,"")
30名無しさん@そうだ選挙にいこう:2008/11/13(木) 01:05:16
>>26
単価表を別に作れば?
SUMIFか集計で地域別の合計は出そうだしVLOOKUPと組み合わせれば何とかなるような…
31名無しさん@そうだ選挙にいこう:2008/11/13(木) 07:47:25
>>24
情報不足で、後出しでよう分からんが、
やっぱなんか、散布図じゃないかな。
32名無しさん@そうだ選挙にいこう:2008/11/13(木) 07:47:56
>>22
プリンタードライバー側で
できることがある。
33名無しさん@そうだ選挙にいこう:2008/11/13(木) 09:57:43
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 覚えたばかりです
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 foreach コレクション ファイル リネーム
多数のファイルをリネームしたいと思っています。
2008-11-05-蛎aa.xls
2008-11-20-誼bb.xls
2008-11-未処理-劃cc.xls
という様な名前のファイルが多数あります。
「2008-11-」の部分までは必ず同じになっています。
そしてこれを来月に「2008-12-」で始めるようにリネームし、
更に来月には「2009-01-」で始めるようにしたいのですが、
コレクションがうまく扱えないで困っています。

同じフォルダにマクロを入れたファイルを置き、
ボタン一つでリネームするようなイメージなのですが・・
コードのご教授をお願いします。
34名無しさん@そうだ選挙にいこう:2008/11/13(木) 10:06:14
>>33
そういう規則的な名前変更はコマンドプロンプトで一発。
ren 2008-11*.* 2008-12*.*
35名無しさん@そうだ選挙にいこう:2008/11/13(木) 10:10:53
>>33
本当にリネーム?
コピーじゃなくて
36名無しさん@そうだ選挙にいこう:2008/11/13(木) 10:25:11
>>34
ありがとうございます!!
>>35
コピーは定期バックアップ&最初に別媒体にとってありますので大丈夫です
37名無しさん@そうだ選挙にいこう:2008/11/13(木) 10:31:27
>>33
FileSystemObject使わない方法

Sub Macro1()
 ChDir "C:\ExcelData" ' フォルダ指定
 FN1 = "2008-11" ' 変更前
 FN2 = "2008-12" ' 変更後

 DI = Dir(FN1 & "*.*")
 Do While DI <> ""
  Name DI As FN2 & Right(DI, Len(DI) - 7)
  DI = Dir()
 Loop
End Sub
38名無しさん@そうだ選挙にいこう:2008/11/13(木) 10:31:50
ttp://www2.uploda.org/uporg1781412.jpg
このような状態のとき、
「P列の‘色が付いてる部分'の‘セルの個数'」を求めるにはどうすればいいのですか?
39名無しさん@そうだ選挙にいこう:2008/11/13(木) 10:34:25
>>37
ありがとうございました!
これで仕事が大幅に減ります;;
40名無しさん@そうだ選挙にいこう:2008/11/13(木) 10:47:14
>>33
コマンドプロンプトをVBAから使う方法

Sub Macro2()
  DI = "C:\ExcelData\" ' フォルダ指定
  FN1 = "2008-12" ' 変更前
  FN2 = "2008-11" ' 変更後

  Call Shell("cmd.exe /c ren """ & DI & FN1 & "*.*"" """ & FN2 & "*.*""", vbMinimizedNoFocus)
End Sub
41名無しさん@そうだ選挙にいこう:2008/11/13(木) 10:56:06
>>38
見たところ、各行の最小値に色が付いてるみたいだから、これは条件付き書式を使ってるのかな?
色つきのセルはVBAを使わないとカウントできないから、最小値の個数を数えた方がいいんでない?
42名無しさん@そうだ選挙にいこう:2008/11/13(木) 11:01:06
>>40
感激です!使ってみますね
43名無しさん@そうだ選挙にいこう:2008/11/13(木) 11:30:38
>>38
行毎の最大値に色をつける方法探してた人だね?
条件付書式と同じような条件で数えればいいだけだと思う
作業列を作るか配列数式を使う

条件付書式じゃなかったらGET.CELLでいけると思う
使い方はググレ
44名無しさん@そうだ選挙にいこう:2008/11/13(木) 12:26:19
>>43
38じゃないけど配列数式の方法を知りたい。
その書き方だと作業列を作らずに配列数式だけで処理できるみたいだけど、俺の頭じゃ無理だ。
45名無しさん@そうだ選挙にいこう:2008/11/13(木) 13:35:52
>>38
まず作業列を作って最大値が何列目にあるかを出す。
次にそれを集計する。
ttp://xepid.com/src/up-xepid3347.png
作業列の式=MATCH(MAX(O2:S2),O2:S2,0)
集計=COUNTIF($T2:$T18,1)
セル範囲は実際の表に合わせて書き換える。
4643:2008/11/13(木) 15:19:31
>作業列を作るか配列数式を使う
作業列を作って配列数式を使うとでもしないと無理だなw
>>45の表を借りると
作業列の式=MAX(O2:S2)
集計=SUM(IF(O1:O18=$T$1:$T$18,1,0))
集計は配列数式
47名無しさん@そうだ選挙にいこう:2008/11/13(木) 15:41:33
>>38
仮にS列に
S1=IF(MAX(O1:P1)=P1,1,0)
これを合計
=SUM(S1:Sn)
48名無しさん@そうだ選挙にいこう:2008/11/13(木) 18:08:52
数字によって
0から、18.5以下は×
18.5以上から、25以下は△
25以上は、○
という風にしたいのですが、if関数を使ってたんですけどうまくいきません。
どうしたらいいですか?
49名無しさん@そうだ選挙にいこう:2008/11/13(木) 18:16:21
>>48
ヘルプでLOOKUPの書式1を読むといいかも
あと細かいけど
>0から、18.5以下は×
以下じゃなくて未満だよね?
50誘導されました:2008/11/13(木) 18:27:39
Excel2003を使って横棒グラフを作っているのですが、
グラフのデータラベル(?)のところに値をパーセントで表示したいのですが、
%表示の表を作ったり、直接グラフに入力する以外に何か方法はありませんでしょうか?


http://www.pref.aichi.jp/cmsfiles/contents/0000012/12410/zu2.gif
このようなグラフを作りたいのですが。
数字が書いてあるところに、何%と表示されるように
51名無しさん@そうだ選挙にいこう:2008/11/13(木) 18:28:03
>>48
厳密にやるならこうだけど、
=IF(AND(0<=A1,A1<18.5),"×",IF(AND(18.5<=A1,A1<25),"△",IF(25<A1,"○","")))
マイナスのデータが存在しないなら、0以上かどうかの判断を省略してもっと簡単にできる
=IF(A1<18.5,"×",IF(A1<25,"△","○"))
52名無しさん@そうだ選挙にいこう:2008/11/13(木) 18:38:23
>>50
データラベルの表示形式でパーセンテージを選ぶと単純に%が付きますが、
それで困るなら元のデータを%形式で作っておくしかないです。
53名無しさん@そうだ選挙にいこう:2008/11/13(木) 20:41:32
>>51
0以上でも判定の順番を逆にすれば短くできる。
=IF(A1>=25,"○",IF(A1>=18.5,"△",IF(A1>=0,"×","")))
54仕事になりません:2008/11/13(木) 21:22:20
2007使用しています。
写真を挿入すろためファイルを選択しようとすると表示ルートフォルダの初期化をしますとでます。
いちいちでてきてファイルをすんなり選択できず、仕事での写真帳を製作するのに時間がかかってしまいます。
突然この表示がでるようになりました。
だれかこの初期化をとめる方法教えてください。
55名無しさん@そうだ選挙にいこう:2008/11/13(木) 21:35:40
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 値を残してシートを削除

シート1で作成したデータをシート2にリンク貼り付け。
その後、シート1を削除するために、コピーして形式を選択して貼り付けで値を選択しシートを削除しましたが
シート2のデータが#REF!になってしまいました。
考えられるミスは何が考えられるのでしょうか・・・。
56名無しさん@そうだ選挙にいこう:2008/11/13(木) 21:47:06
>>54
Windowsの種類は何ですか?
57名無しさん@そうだ選挙にいこう:2008/11/13(木) 21:49:11
>>55
コピー時か貼り付け時に範囲を間違えた
58名無しさん@そうだ選挙にいこう:2008/11/13(木) 21:56:04
>>55
条件付き書式を使っている
マクロを使っている
59よろしくお願いします:2008/11/13(木) 22:11:08
>>56
XPです
60名無しさん@そうだ選挙にいこう:2008/11/13(木) 22:33:46
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel VBA テキストファイル UNICODE など

文字コードが「UNICODE」のテキストファイルがあります。
ファイルにはAもしくはBから始まるデータが格納されています。

これを、AはAだけ、BはBだけに振り分けたテキストファイルを作成したいのですが、
どうすればいいのでしょうか。
61名無しさん@そうだ選挙にいこう:2008/11/13(木) 23:15:45
エクセルと言うソフトについて知りたいんですが
画像の大きさ|容量  | を一括りにして
______|_____|
100x100 |3MB  |
200x100 |1MB  |
100x200 |2MB  |
と言うように分けた場合
大きさに対し「名前順に配列」(あれば)の機能を利用して
100x100 |3MB  |
100x200 |2MB  |
200x100 |1MB  |
に変更できたりするのでしょうか?また一時保存してこの状態からサイズ順に配列ということもできますか?
サイズの場合1と11111と222と言う数字があった場合11111が最後に来てしまうような気がするのですが
(自動配列機能があったらの話ですが)宜しくお願いします
62名無しさん@そうだ選挙にいこう:2008/11/13(木) 23:19:53
読み直しでミスを発見
>サイズの場合1と11111と222と言う数字があった場合11111が最後に来てしまうような気がするのですが
1→11111→222ですね、1は2よりも少ないので名前順で配列してしまった場合11111が最後には来ません
1→222→11111になるかどうかを記入したかったのですが間違えてしまいました
63名無しさん@そうだ選挙にいこう:2008/11/13(木) 23:27:54
>>61
できます
64名無しさん@そうだ選挙にいこう:2008/11/13(木) 23:32:15
>>62
並べ替えで可能だけど、その例のように純粋に数字だけが入ってる場合にそういう順番にしたいなら
セルの書式設定を文字列にしてから入力するか、既に数字として入力されてるなら文字列に変換しないと駄目だと思う
65名無しさん@そうだ選挙にいこう:2008/11/13(木) 23:54:38
【1 OSの種類         .】 WindowsXPSP2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 指定 検索 リスト

ファイルうpしてます。
URL
ttp://www.uploda.org/
ファイルNo.1782367
PASS 【 abcd 】


sheet1が元の出勤表になってます。
sheet2の日報を1ヶ月分先に作るのですが、sheet1をプリントして、その日出勤する者のNoを入力で、
名前と勤務時間が表示されるようになってます。

実際には200人近い表の中から、一日100人前後の日報×30日分を作らないといけないので、
毎月月末になると大慌てで困ってます。

日付を入力するだけで、その日の出勤時間が空白じゃないNoだけを抜き出してA列に出す方法はないでしょうか?

どうかお力添えをお願いします。
66名無しさん@そうだ選挙にいこう:2008/11/14(金) 00:22:08
>>63−64
なるほど・・・・
名前さえ並び替えができればあ行か行とか分類が簡単に出来そうですね
予算が出来次第購入を考えたと思います
67名無しさん@そうだ選挙にいこう:2008/11/14(金) 00:22:48
【1 OSの種類         .】 WindowsXPSP2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可
A列に2031,2033,5060,1050,3000
といった4桁の数がずらっと並んでいます。
頭2桁の数がダブりなくどの数が出現しているかはどうやれば
わかるのでしょうか。
上の例で言うと
20(が2個)、50(が1個)、10(が1個)、30(が1個)
カッコ内の出現個数が分かればよりいいのですが、どんか数が
入っているのかが知りたいのです。
COUNTIFなどは引数に指定した数がいくつあるかとかだと
思うのですが、どんな数があるかわからないので事前に引数に
とることが出来ないのです。
ご教示ください。よろしくお願いします。
68名無しさん@そうだ選挙にいこう:2008/11/14(金) 00:54:51
2000以上の個数からから2100以上の個数を引けば2000台の数
というのはだめなのか
69名無しさん@そうだ選挙にいこう:2008/11/14(金) 00:55:45
頭2桁と決まってるなら
B1:=LEFT(A1,2)
とかで取り出せない?
これを下までオートフィルでビーっと引っ張って(B列だけにビーっと)
その後で個数を数える方法をなんなりと
70名無しさん@そうだ選挙にいこう:2008/11/14(金) 01:17:54
>>66
体験版が無料で使えるから試してみるべし
71名無しさん@そうだ選挙にいこう:2008/11/14(金) 01:22:02
>>60
VBAはできるみたいだし質問が今ひとつ愛麻衣なのでヒントだけ
ただしUTF-8とUTF-16の区別、BOMの有無などは考慮してないので、この先は自力で調べるべし

Sub ReadUtfTextFile1()
  Filename = "C:\test.txt"
  Workbooks.OpenText Filename:=Filename, Origin:=-535
End Sub

Sub WriteUtfTextFile1()
  Open "C:\test2.txt" For Binary As #2
  work = Cells(1, 1) & vbCrLf & Cells(2, 1) & vbCrLf
  work = StrConv(work, vbUnicode)
  Put #2, , work
  Close #2
End Sub
72名無しさん@そうだ選挙にいこう:2008/11/14(金) 01:25:04
>>69
そういう場合オートフィルはCtrl押しながらフィルハンドルをダブルクリック
何千行あっても必要な数だけ一瞬で入る
7367:2008/11/14(金) 01:30:28
早速のお答えありがとうございます。
>>68
すみません、私の理解力が足らず、今回はその方法は断念します。

>>69
ありがとうございます。頭2桁を取得すると、その結果たとえば
22,36,80,15,15,80
というB列ができますが、その中から現れた数字を
配列に入れて、ほかのプロシージャに渡したいのです。
ネット検索しても、ある特定の数「22」が何回出現したかなどは
出てくるのですが、出現した数値をダブりなく網羅して
22,36,80,15
というものを取得したいのですが、どうにも分かりません。
もしよろしければその辺を解説していただければ
助かります。(出来れば)よろしくお願いします。

>>72
すごくためになりました。ありがとうございます。
74名無しさん@そうだ選挙にいこう:2008/11/14(金) 01:43:38
配列、とかプロシージャという言葉は俺には馴染みがないが
ピボットテーブルを組んでみるというのはどうだろう
7567:2008/11/14(金) 02:13:01
>>74
ピボットテーブル、まったく分からないんですよ…
すごく便利だとは聞いているんですが、なんというか理解の埒外というか…。
どういう理由でそれをそこにドラッグするのかがまず分かりません。

にしても、ある範囲の値を漏れなくダブりなく返す標準関数ってないものだったのでしょうか。
「フィルタ」で「重複レコードは無視」が一番楽なのでしょうか。
76名無しさん@そうだ選挙にいこう:2008/11/14(金) 02:20:35
>>73
重複を除いた一覧はこれで作れるけど、こんなんでいいのか?
ttp://momoiro.s4.x-beat.com/up/img/momoiro07800.png
B列はなくても出来るけど、わかりやすさを考えて一応入れてみた。
77名無しさん@そうだ選挙にいこう:2008/11/14(金) 04:12:09
>>65
VBA不可になってるけど、どう考えてもマクロで一気にやった方が簡単なんで
ボタン付けてみた。起動時に「マクロを有効にする」でやってみれ。
ttp://futakoi.jp/svc/uploader.php?fn=futakoi2217.xls
78名無しさん@そうだ選挙にいこう:2008/11/14(金) 09:28:20
【1 OSの種類         .】 WindowsXPSP2
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

ハイパーリンクの設定について教えて下さい。
セル内の特定の文字にだけハイパーリンクを設定することは可能ですか?
例えば「ABCDEFG」という文字があったらCDEの部分だけリンクを貼るようにする感じです。
よろしくお願い致します。
79名無しさん@そうだ選挙にいこう:2008/11/14(金) 09:40:27
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可(必要であれば勉強するつもりです)
【5 検索キーワード     】 リスト 選択 数字キー ショートカット etc.

出荷伝票で、「品名、等級、サイズ、個数」などの項目を入力してるのですが、
セルがアクティブになった時点でリストが自動で表示され、
その中から数字キーで選択すると入力が終わり、アクティブなセルが隣に移動する。
という感じで、数字キーの選択だけで連続して入力していくような事は可能でしょうか?

今は入力規則のリストを使ってますが、小さいノートPCを手に持って入力してるので、
できるだけ入力の手間を省きたいと思ってます。
VBAが必要であれば、勉強するキッカケとしてヒントでもいただけたらと・・・w
8067=73:2008/11/14(金) 09:54:56
>>76
素晴らしいです!なるほどこう考えればいいんですね。
マクロに組み込ませていただきます。
ありがとうございました!
81名無しさん@そうだ選挙にいこう:2008/11/14(金) 11:01:09
>>79
VBAじゃないと無理だね

つーか、シート上で入力することに拘らないで
入力フォームでも使った方が良いのでは?
82名無しさん@そうだ選挙にいこう:2008/11/14(金) 12:02:19
>>78
無理です
リンク部分だけテキストボックスを重ねてください
83名無しさん@そうだ選挙にいこう:2008/11/14(金) 12:17:12
>>48
=LOOKUP(A1,{0,18.5,25},{"×","△","○"})
84名無しさん@そうだ選挙にいこう:2008/11/14(金) 12:27:18
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 すごくちょっと
【4 VBAでの回答の可否】 ちょっとだけ可
【5 検索キーワード     】 VBA セル プロテクト

VBAで、一定のセルに対するプロテクトのON・OFFはどう記述すればいいの教えてくださいm(_ _)m
8584:2008/11/14(金) 12:38:27
すいません できました・・・けど、カーソルがそこのセルに飛ぶなぁ
86名無しさん@そうだ選挙にいこう:2008/11/14(金) 13:02:05
>>85
ヒント Select は使わない

いっぺん自分で作ったコード晒してみ
8778:2008/11/14(金) 13:03:47
>>82
ありがとうございます。
テキストボックスで対処することにします。
88名無しさん@そうだ選挙にいこう:2008/11/14(金) 13:04:42
>>54
外付けHDDやUSBメモリなどのドライブを取り外したり、LANでつながってるパソコンの電源を切ったりすると
そのようになることがある
8985:2008/11/14(金) 13:10:12
85だけど、こんな感じ・・・

Range("A1").Activate
Range("A1").Locked = True
90名無しさん@そうだ選挙にいこう:2008/11/14(金) 13:17:09
>>89
1行目は不要。いちいちActivateしなくてもいい。
9179:2008/11/14(金) 13:41:15
>>81
入力フォームを使うというと、こういうのでしょうか?
http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_080.html

これだとフォームに入力した文字をそのままシートに転記してるようですが、
フォーム上のリストの中から数字キーで選択した文字を転記するようなことが出来るんでしょうか?
9238:2008/11/14(金) 13:48:51
ttp://www.uploda.org/uporg1783277.jpg
作業列の式の書き方が良く分かりません
(画像ではT列は自分で打ち込んでいます)
>>作業列の式=MATCH(MAX(O2:S2),O2:S2,0)
こう書いても何も表示されないのですがどう書けばいいのでしょうか?
「S列」=「5」みたいに列に名を付けたりするんでしょうか
93名無しさん@そうだ選挙にいこう:2008/11/14(金) 14:03:44
>>92
セル範囲がちゃんと指定されてないと最大値を検索する時に何もヒットせず空白になる。
たぶん区切り記号の入力ミスだと思うから、自分で1文字ずつ入力せずに式を丸ごとコピペしてみ。
例示した作業列の式をT2に入れて、あとはオートフィルで。
94名無しさん@そうだ選挙にいこう:2008/11/14(金) 14:19:50
>>92
その式だと最大値のセルが1行で2つ以上あった場合に
条件付書式で色が付いてるセルの数と合わないので注意な
9592:2008/11/14(金) 14:25:59
うぉ・・成功しました Excelって凄www
96名無しさん@そうだ選挙にいこう:2008/11/14(金) 14:28:15
【1 OSの種類         .】 WindowsXPSP2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 vba 抽出 等
複数の人が色々な問題文を作ってます。
それを一つにまとめるのはすべて手作業でコピペしているのですが正直手間です。
各々が作業し問題を作り、それを一つにまとめあげるマクロか関数はありませんか?
97名無しさん@そうだ選挙にいこう:2008/11/14(金) 14:30:40
>>94
確かにそうだ。同率首位をちゃんと出すにはどうしたらいいんだろう?
作業列を元データと同じ5列用意するのはいかにも間抜けだし。
98名無しさん@そうだ選挙にいこう:2008/11/14(金) 14:34:06
>>97
作業列に最大値の位置じゃなくて数字そのものを入れればオケ
99名無しさん@そうだ選挙にいこう:2008/11/14(金) 14:36:37
>>96
それってExcelでやる仕事?
マクロで処理するには、全員で作業の手順を統一してパターン化しないと無理だよ。
100名無しさん@そうだ選挙にいこう:2008/11/14(金) 14:42:50
>>96
「1つにまとめる」って書かれても色んな解釈があるからなあ。
1つのフォルダに各人の作ったxlsファイルをまとめて入れていっぺんに印刷、
みたいなマクロならすぐにできると思うけど。

勝手に作った断片的なデータを1つのシートにまとめるのは、自動でやるのはほとんど不可能。
きちんとフォーマットを統一してないと。
101名無しさん@そうだ選挙にいこう:2008/11/14(金) 14:44:48
>>90
できました ありがとうございましたm(_ _)m
102名無しさん@そうだ選挙にいこう:2008/11/14(金) 14:49:44
10396:2008/11/14(金) 15:02:21
やっぱりエクセルの仕事じゃなかったでしたか…
今までのコピペの作業だけでも自動化されればよかったんですが
ありがとうございます。
104名無しさん@そうだ選挙にいこう:2008/11/14(金) 15:07:58
>>103
フォーマットが決まってる(みんな同じ)なら
コピペの自動化ぐらいはエクセル(VBA)でできる
105名無しさん@そうだ選挙にいこう:2008/11/14(金) 15:45:46
教師なんて9割は機械オンチだから、フォーマットの統一なんて不可能だよ
106名無しさん@そうだ選挙にいこう:2008/11/14(金) 16:20:54
>>73
こんなのは?数式は全て必要な行数分オートフィル。

A列 : 元データ(4桁の数値)
B1 : =INT(A1/100)
C1 : =IF(COUNTIF(B$1:B1,B1)=1,B1,"")
D1 : =IF(ROW()<=COUNT($C:$C),SMALL($C:$C,ROW()),"")
F1 : =IF(ROW()<=COUNT($C:$C),COUNTIF($B:$B,D1),"")

これで、VBAなら
  dim a as variant
  a = activesheet.range("D:F").specialcells(xlCellTypeFormulas, xlNumbers).value
で、昇順ソート済の「上2桁」と「出現回数」の入った2次元配列を得られる
107106:2008/11/14(金) 16:23:16
ごめん訂正。上の F は全部 E に読み替えて
108名無しさん@そうだ選挙にいこう:2008/11/14(金) 16:41:19
すみませんが・・・
お助け願います><

下のエクセルの表なんですが、
G6のところにスペインが勝ちなら○、負けなら●、引き分けなら△を
入れたいのです。

オートフィルコピーで他のブラジルやイタリアなどのところも出せるらしいです。

使う関数はIFやRIGHTやLEFTと言っていました。

どなたかお願いします(/_;)



http://www.uploda.org/uporg1783453.xlsx.html
109名無しさん@そうだ選挙にいこう:2008/11/14(金) 17:16:35
>>108
G6=IF(LEFT(C6,FIND("-",C6)-1)*1=RIGHT(C6,FIND("-",C6)-1)*1,"△",IF(LEFT(C6,FIND("-",C6)-1)*1>RIGHT(C6,FIND("-",C6)-1)*1,"○","●"))
変わった方法としては
G6=LEFT(C6,FIND("-",C6)-1)-RIGHT(C6,FIND("-",C6)-1)
書式設定を
"○";"●";"△";
11096:2008/11/14(金) 17:42:02
先ほどはありがとうございます。
色々話し合った結果、エクセルのデータをパワーポイントvbaで呼び出し印刷
するのはどうか、という事になりました。

1ページ目:問題文Aと問題文B
2ページ目:問題文C
(問題文ABCはそれぞれ別ファイル)

となるような印刷になるマクロはありませんか?
問題文の長さ自体は収まるよう調整するようお願いしています。
微妙にスレ違いですがお願いします。
111名無しさん@そうだ選挙にいこう:2008/11/14(金) 17:48:11
>>108
=MID("●△○",SIGN(LEFT(C6,FIND("-",C6)-1)-RIGHT(C6,LEN(C6)-FIND("-",C6)))+2,1)

ヒントの出し方から見て学校の宿題っぽいんで、得点が2桁の場合を無視すればもっと短くなる
=MID("●△○",SIGN(LEFT(C6,1)-RIGHT(C6,1))+2,1)
112名無しさん@そうだ選挙にいこう:2008/11/14(金) 17:52:56
>>110
そういうマクロは自分で作るしかない
113名無しさん@そうだ選挙にいこう:2008/11/14(金) 17:53:09
>>111
笑えるほど綺麗だな
114名無しさん@そうだ選挙にいこう:2008/11/14(金) 17:56:40
そもそも>>108のB6〜E9の表が得点が2桁以上の場合に対応して無い件w
115名無しさん@そうだ選挙にいこう:2008/11/14(金) 18:02:42
>>114
ホントだw
これじゃ実用性ゼロだから完全に宿題確定だな。
>>111の2番目の式でFAってことで
116名無しさん@そうだ選挙にいこう:2008/11/14(金) 18:04:51
セルに「1-0」とか書いてあるのを、そのまま引き算として解釈できればいいのに
117名無しさん@そうだ選挙にいこう:2008/11/14(金) 19:41:56
2003 XP 
依頼事項 PageUpキー PageDownキーを押した場合、
画面がちらつくようになったのをなおしたい。
VBAで操作しているシートのみで、他のシートではちらつきは
生じていません。よろしく。

118名無しさん@そうだ選挙にいこう:2008/11/14(金) 19:53:33
>>117
そういうのは実機が手元にないと原因が探りにくい。
イベントプロシージャが原因ならロジックを見直すかScreenUpdatingで改善できるかもしれない。
あとはパソコンをもっと高性能な物に変えるとか。
119名無しさん@そうだ選挙にいこう:2008/11/14(金) 20:02:33
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 OpenOffice.org
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 セル 参照 変数

セルに入力された数値によって参照先を変えたいです
例えば、A1 に 3、A2 に 7 が入力されていると
目的の記述の部分ではC7が参照される、そんな機能はないでしょうか?
120名無しさん@そうだ選挙にいこう:2008/11/14(金) 20:12:43
>119

つOFFSET
121名無しさん@そうだ選挙にいこう:2008/11/14(金) 20:21:26
できました
ありがとうございました
122名無しさん@そうだ選挙にいこう:2008/11/14(金) 20:22:08
>>119
INDIRECT
123119:2008/11/14(金) 20:28:02
>>119=>>121です
すみませんでした

>>122
ADDRESSと一緒に使えば同じ事ができるみたいですね
今回はOFFSETで十分でしたが勉強になりました
ありがとうございました
124108:2008/11/14(金) 20:58:57
答えてくれた方々、ありがとうございましたm(__)m

これは学校の宿題です (。・x・)ゝ
できたのでよかったです^^
125名無しさん@そうだ選挙にいこう:2008/11/14(金) 21:24:25
>>124
丸写しはだめだよ。
式の意味を自分でちゃんと説明できないと宿題をやったことにならないぞ。
12667=73:2008/11/14(金) 21:31:26
>>106
>で、昇順ソート済の「上2桁」と「出現回数」の入った2次元配列を得られる
なんとエレガントな…。ぱっと見ではちょっとわからないので勉強します。

しかし今日の作業で泥臭い方法ですが実装してしまいました。今度こういう場面(結構ある)では
使わせていただきます。
今回は、初出の時に動的配列に入れようとしたら、なにやらエラーが…迷わずダミーシートに展開。それを
過去に作ったモノで配列化。ダサすぎますが。

時々ここ覗かせていただいて、知らなかったことや洗練された方法をみて驚いています。
また驚きました。お付き合いありがとうございました。
127108:2008/11/14(金) 21:32:37
上の方々のを参考にさせていただいて

G6=IF(LEFT(C6,1)>RIGHT(C6,1),"○",IF(LEFT(C6,1)=RIGHT(C6,1),"△",IF(LEFT(C6,1)<RIGHT(C6,1),"●",)))

というのでやってみたのですが・・・これではだめですかね><;
128名無しさん@そうだ選挙にいこう:2008/11/14(金) 21:58:31
>>91
使うのはそれ(ユーザーフォーム)だよ
ただしそこに書いてあるのはユーザーフォームの極々一部の機能・使い方であって
君の望むこともちゃんと出来る
つーか、ユーザーフォームはGUIアプリ開発環境と同等の機能を備えてるので
スキル次第で大抵のことは出来るよ

ユーザーフォームに関しては、VBAよりVB6の解説やサンプルの方が参考になるかもな
129名無しさん@そうだ選挙にいこう:2008/11/14(金) 22:08:58
>>127
大丈夫、それでも正解。残念ながら100点はあげられないけど。
130名無しさん@そうだ選挙にいこう:2008/11/14(金) 22:20:39
>>88
おさめる方法あるのでしょうか?もう発生してから毎日困っています。
131名無しさん@そうだ選挙にいこう:2008/11/14(金) 22:22:30
>>130
「ファイルを開く」ウィンドウの左側の「ファイルの場所」にはいくつアイコンが並んでる?
132名無しさん@そうだ選挙にいこう:2008/11/14(金) 22:32:31
>>131
非常にすみません。
仕事場用のパソコンなので職場にあり現在確認できないのです。
親切なかた申し訳ありません。
直すことできるのでしょうか?
133名無しさん@そうだ選挙にいこう:2008/11/14(金) 22:39:22
>>132
うちではそういう経験がないんで、まだ手探りの状態。
検索すると同じ症状の報告はいくつもあるのに、決定的な解決策はどこにもなかった。
ぶっちゃけ、リカバリすればたいていの不具合は治るけど、それは最後の手段。
134名無しさん@そうだ選挙にいこう:2008/11/14(金) 22:42:02
>>116
できる
135108:2008/11/14(金) 22:43:43
>>129
そうですか^^;どうもです><

とりあえずこれで提出してみます^^;
136名無しさん@そうだ選挙にいこう:2008/11/14(金) 22:43:50
>>133
そうですかあ。
ランを外しているときは止まるとの噂も聞いたのですが。
明日またいろいろとやってみます。
137名無しさん@そうだ選挙にいこう:2008/11/14(金) 23:01:08
>>136
LANケーブルを抜けば待たされなくなるってんなら、間違いなく共有フォルダ、
ショートカット、ネットワークドライブ、最近使ったファイルのどれかが原因だな。
職場ってことはドメインには参加してる?
138名無しさん@そうだ選挙にいこう:2008/11/15(土) 00:29:38
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 VBA 入門、エクセル関数

シート2,3,4の範囲内のデータをシート1の範囲内に反映させたいのですが
関数やVBAでやるにはどのようにやるのでしょうか?

シート2のA1:D5をシート1のA1:D5
シート3のA:1D5をシート1のA6:D10

といったような事です。
139名無しさん@そうだ選挙にいこう:2008/11/15(土) 01:22:32
>>138
=Sheet2!A1
140名無しさん@そうだ選挙にいこう:2008/11/15(土) 01:30:27
質問させていただきます。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【5 検索キーワード     】 マクロ 解除

仕事で、他人の作ったエクセルファイルを修正しています。
ファイル起動時にマクロの有効無効について聞かれるのですが、
「ツール」→「マクロ」でマクロを調べても見つかりません。

どのようにしたら、このマクロを解除できるのでしょうか?
又、セキュリティレベルを下げること以外で、
起動時のマクロに関しての警告を表示させないようにするにはどうすれば良いでしょうか?


宜しくお願いいたします。
141名無しさん@そうだ選挙にいこう:2008/11/15(土) 01:56:42
>>140
ブックやワークシートのイベントプロシージャはマクロの一覧に表示されない。
警告を出なくするにはデジタル署名を追加すればいいんだけど、これは基本的にはブックの再生者にしかできない。
ようするに、がまんしろってこと。
142141:2008/11/15(土) 02:01:27
訂正
× ブックの再生者
○ ブックの作成者
143名無しさん@そうだ選挙にいこう:2008/11/15(土) 09:09:47
×ブックやワークシートのイベントプロシージャはマクロの一覧に表示されない。
○Private定義されたプロシージャはマクロの一覧に表示されない。

ブックやワークシートのイベントプロシージャでも、
Worksheet_Activateみたいに引数の無いものならPublic定義することで
イベントでも呼ばれ、マクロの一覧からでも実行できるというプロシージャを作成することが出来る
144名無しさん@そうだ選挙にいこう:2008/11/15(土) 09:16:28
>140
元のエクセルファイルを作った人にはマクロを組み込んでいるか、確認しましたか?
VBエディタの画面を表示したことはありますか?

マクロを解除することと、「マクロを有効にするかどうか」のダイアログを表示しないようにする
こととは全く異なります。セキュリティレベルを下げるのは危険ですよ。
145名無しさん@そうだ選挙にいこう:2008/11/15(土) 11:43:42
条件付書式を使ってセルに色づけをしているのですが
セルに色がついた場合、セルにロックをかけて選択できないようにするにはどうしたらいいのでしょうか?

Excelのバージョンは2003です。
VBAは使えません・・・
146名無しさん@そうだ選挙にいこう:2008/11/15(土) 11:52:59
>>140
まず作った本人に聞けよ
マクロがあるのか、どんなマクロなのか、必要なものなのか
そういう当たり前のことを何故かしない奴が多いんだよなあ
147名無しさん@そうだ選挙にいこう:2008/11/15(土) 12:22:51
分かってない奴が偉そうに講釈を垂れる不思議
148>140:2008/11/15(土) 12:41:13
Alt+F11でVBエディタを開き
左上にある「SheetXX (SheetXX)」、「ThisWorkbook」
をいっこずつダブルクリック。
何か記述があれば手動で記述を削除。全部削除したら保存。
149名無しさん@そうだ選挙にいこう:2008/11/15(土) 12:42:48
>>145
マクロのWorksheet_Changeを使えばいいんじゃないの
150名無しさん@そうだ選挙にいこう:2008/11/15(土) 13:01:55
>>128
ありがとうございます。
勉強すれば望むことができると分かっただけでやる気がでます。
と言っても、なかなか大変そうですねこれ・・・w
今は時間だけはあるのでがんばってまいります。
151名無しさん@そうだ選挙にいこう:2008/11/15(土) 13:15:02
ぶっちゃけエクセルでできないことってなくね?
152名無しさん@そうだ選挙にいこう:2008/11/15(土) 13:46:11
そうだね エクセルでこどもつくったことあるよ
153名無しさん@そうだ選挙にいこう:2008/11/15(土) 15:18:57
>>137
おおおおーっ!
ありがとうございますー。
会社にきてやってみると、やはりランケーブルを外すと治まったんで、レスどおり調べるとネットワークドライブを調べると、私の部署の共有サーバが落ちていました。
サーバーを回復させてみると症状がなくなりました。
昨日は最後のレスのあと私が落ちていまいましたが、今日あなたのスレをみました。アリガトウございます。
休日出勤のカイがありました。
感謝でございます。
154名無しさん@そうだ選挙にいこう:2008/11/15(土) 15:23:29
少なくとも木曜の夜からダウンしてたのに、いままで気づかれない鯖カワイソス
155名無しさん@そうだ選挙にいこう:2008/11/15(土) 16:21:27
メッセージで検索するとどこもウヤムヤになってるのは、
質問者の関知しないところでサーバ復旧して解決とかか
156名無しさん@そうだ選挙にいこう:2008/11/15(土) 17:58:12
>>154
そうなんすよ。
共有なんですが部署の皆が今は繁忙期で外勤がおおく俺自身もあまり使わないので気づかなかった(涙)
157名無しさん@そうだ選挙にいこう:2008/11/15(土) 18:03:45
質問です。
小数点以下の切捨てや四捨五入等は出来ると思いますが
例えば、「12300」の5%=615
となりますが、これを「610」と表示することは可能でしょうか?
要は最後の一桁を切捨てしたいのです。

WindowsXP
Excel2002
VBAが使えるか いいえ
VBAでの回答の可否  否
検索キーワード  切捨て・四捨五入など

よろしくお願いします。
158名無しさん@そうだ選挙にいこう:2008/11/15(土) 18:13:24
=ROUNDDOWN(615,-1)
159名無しさん@そうだ選挙にいこう:2008/11/15(土) 18:18:50
>>158
すみません・・・早速ありがとうございました。
160140:2008/11/15(土) 18:27:09
>>141>>143>>144>>146>>148
お返事遅れて申し訳ありません。解決しました。
ありがとうございました。
161名無しさん@そうだ選挙にいこう:2008/11/15(土) 19:16:24
エクセル2007で自作のマクロを動作させる場合って
マクロのセキュリティを最低まで下げないと駄目なんでしょうか?
未署名のものを2003のときみたいに実行するかしないか警告出させることは出来ないのでしょうか?
162名無しさん@そうだ選挙にいこう:2008/11/15(土) 19:44:57
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 毎月 指定


例えば2日と入れると、以後の2日の日付と曜日を出してくれるようなエクセルを
作りたいのですがどうしたらよいでしょうか?
163名無しさん@そうだ選挙にいこう:2008/11/15(土) 20:11:07
>>162
=DATE(年,月,2)&TEXT(DATE(年,月,2),"aaa")
年よ月を変数にしとけば毎月でも毎年でも後は自分で工夫して
164名無しさん@そうだ選挙にいこう:2008/11/15(土) 20:17:03
>>162
例えばA1に11/2と入れ、A2に=A1+1、A3に=A1+2と入れそれぞれのセルの書式設定d(aaa)またはd/(aaaa)

書式設定は
月も表示したいならm/d(aaa)
年も表示したいならyyyy/m/d(aaa)またはyy/m/d(aaa)
平成で表記したいならyyyyをgeまたはgggeに
月を英語表記mをmmmまたはmmmm
曜日を英語表記したいならaaaをdddまたはddddになど色々表示を変えられる
165名無しさん@そうだ選挙にいこう:2008/11/15(土) 21:35:39
日本語って難しいなあw
166名無しさん@そうだ選挙にいこう:2008/11/15(土) 21:50:08
>>161
基本は署名すること。セキュリティを下げたり裏技で回避するのはオススメできない。
自分で使うだけのマクロなら、証明書は自分で簡単に作れるから、それを使えばいい。
スタートメニューのOfficeフォルダの中に証明書作成ツールがちゃんと入ってる。
167名無しさん@そうだ選挙にいこう:2008/11/15(土) 21:52:50
>>162
A1に「2日」と入れて、A2とA3に続く2日間の日付と曜日を出したいんなら、
A2に=A1+1と入れて書式でdd aaaなどと設定する。A3はA2をコピペ。
168162:2008/11/15(土) 22:04:17
すみません、言葉足らずだったようでうまく伝わってないみたいなのですが・・・

例えば一つのセルに2日といれると
2008/11/2 木曜 
2008/12/2 金曜 ・・・
となるようにしたいのです。

164さんの方法があっているのでしょうか?
いまいち分からなかったのですが・・・
 
169名無しさん@そうだ選挙にいこう:2008/11/15(土) 22:16:28
>>168
たとえばA1に2と入れて、A2以降に毎月2日の日付と曜日を出したいなら、
A2は=DATE(YEAR(TODAY()),MONTH(TODAY()),A1)
A3は=DATE(YEAR(A2),MONTH(A2)+1,A$1)
A4以降はA3をコピペ
で、書式を「yyyy/mm/d aaa"曜"」にする
170162:2008/11/15(土) 22:20:36
>168
できました!
とてもわかりやすい説明ありがとうございました。
171名無しさん@そうだ選挙にいこう:2008/11/15(土) 22:51:15
【1 OSの種類        .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否  】 否
【5 検索キーワード     】 lookup、vlookup


表を作っていて、47(塗りつぶし青・白文字)のように予め塗りつぶしや文字色を指定した対応表を作っておき、
他のセルに"47"と入力すれば自動的に塗りつぶしと文字色をつけるようにするにはどうすればいいのでしょうか?
lookup関数かと思い、ググってみましたが、どうも違うような気がしまして…
下手な日本語でなかなか分かりづらいかと思いますが、宜しくお願いいたします。
172名無しさん@そうだ選挙にいこう:2008/11/15(土) 22:55:50
>>171
条件付き書式
ただし設定できるパターンは2種類まで
3種類以上の色を使いたいならVBAしかない
173名無しさん@そうだ選挙にいこう:2008/11/15(土) 23:18:56
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 平日

A1に日付をいれ、その日が土日祝日の場合翌平日を出したいです。
カレンダーを作り、土日祝日を表示するまでは出来ました。
土日だったら単純に1や2足せばいいと思いますが、
GWなど連休になるとどうすればいいかわかりません。

ご教示ください。
174名無しさん@そうだ選挙にいこう:2008/11/15(土) 23:29:12
>>173
祝日をどうやって判定しているかによる
175名無しさん@そうだ選挙にいこう:2008/11/15(土) 23:30:17
>>173
カレンダーを表示したついでに逆に数えて表を作っておく
31日 =IF(土日休日か,1,0)
30日 =IF(土日休日か,A1+1,0)
29日 …

そうしてその日付の値を足せばいい
176171:2008/11/15(土) 23:37:38
>>172
ありがとうございます。
どうやら私のケースではVBAを使わなくてはいけないようなので、
またググってVBAでやってみます。
ご丁寧にありがとうございました。
177173:2008/11/15(土) 23:48:47
>>174
カレンダーの祝日判定はは下のサイトのやり方で作成しました。
http://kokoro.kir.jp/know/calendar3.html

>>175
何年分もあるので自分で数えるというのは避けたいのですが・・・
どうしても方法がないときはその方法で行きたいと思ってます。

178名無しさん@そうだ選挙にいこう:2008/11/16(日) 00:03:25
自動で逆方向(表自体は順方向でもいいんだけど)に数えれば良いという話で
自分で数えなくていいんですよ
179名無しさん@そうだ選挙にいこう:2008/11/16(日) 00:55:18
>>177
一覧表方式で何年分もあると、まず祝日の一覧が正しいかどうかが怪しい
180名無しさん@そうだ選挙にいこう:2008/11/16(日) 01:34:20
やっぱりお前らバカだなw
WORKDAY関数を使えば一発じゃないか。
181名無しさん@そうだ選挙にいこう:2008/11/16(日) 01:41:40
知ったかがでしゃばりをこきおろす
馬鹿ばっかりのこんなスレッドじゃ

ポイズン
182名無しさん@そうだ選挙にいこう:2008/11/16(日) 01:57:00
WORKDAY関数はアドインを入れないと使えない
更にアドインはVBAで作られている
そして質問者はVBAでの解法を拒否している

VBA否に対してアドインが許容されるなら、VBAの可否を聞く意味無いな
「マクロとして組み込むのが嫌ならアドインとして組み込め」の一言で
VBA可否の問題は全て解決するから
183名無しさん@そうだ選挙にいこう:2008/11/16(日) 02:28:42
とりあえずWORKDAYを使った回答。休日のリストがZ1:Z20にあるとして、
=WORKDAY(A1-1,1,$Z$1:$Z$20)
WORKDAYが使えない場合はカレンダー内の平日をvlookupで検索するとか。
カレンダーがどういう形かわからないと具体的な式は書けない。
184名無しさん@そうだ選挙にいこう:2008/11/16(日) 03:45:09
余分なアドインなんて使うのはニートだけ
185名無しさん@そうだ選挙にいこう:2008/11/16(日) 09:44:10
>>182
頭の悪い屁理屈にあなたの哀れさがにじみ出てますよ
186161:2008/11/16(日) 10:07:15
>>166
ありがとうございます
署名ツールを使ってみます
187名無しさん@そうだ選挙にいこう:2008/11/16(日) 10:21:26
>>185
理論での否定ではなく感情での否定しか出来ないんですね
188名無しさん@そうだ選挙にいこう:2008/11/16(日) 10:31:36
>>187
そうなんだよ、あのレスじゃ理論かます気になんないだろ
189名無しさん@そうだ選挙にいこう:2008/11/16(日) 10:55:50
これは辛い
190173:2008/11/16(日) 11:11:18
WORKDAYを使ってできました。
ありがとうございます。
191180:2008/11/16(日) 11:22:36
やっぱりお前らバカだなwww
2007ではアドインは標準装備だ!
192191:2008/11/16(日) 11:24:23
△アドイン
○2003以前の[アドイン]分析ツール
193名無しさん@そうだ選挙にいこう:2008/11/16(日) 12:35:09
2007プロのアップグレード買ったんですけど2003と挙動が違いすぎて・・・
社内では2007と2003が混在している状況ですが
2003で使えるマクロは2007でもスイスイ動くのに逆だときちんと動かないとか物凄く遅くなったりして・・・

バージョンによる互換性の問題は以前からありましまたし、大きな変更は95→97のときもあったのですが
メニューが以前より大幅に改悪されているというのもあり、自宅での導入を躊躇ってしまっています
とっつきやすさを狙っているんでしょうが、慣れてる人にとっては逆に面倒くさいというか

みなさんはどうしているのでしょうか?
194名無しさん@そうだ選挙にいこう:2008/11/16(日) 13:05:19
>>193
2007を窓から捨てて2003を使っている
195名無しさん@そうだ選挙にいこう:2008/11/16(日) 13:05:46
>>193
君より少しだけ物の本質がわかってるので
そんな悩みはありません
196名無しさん@そうだ選挙にいこう:2008/11/16(日) 13:08:04
>>193
まずはマクロにApplication.Version を仕込んで処理を分岐させやがれ
話はそれからだ
197名無しさん@そうだ選挙にいこう:2008/11/16(日) 16:02:35
>>191
m9(^Д^)プギャー
198名無しさん@そうだ選挙にいこう:2008/11/16(日) 16:13:46
>>197
書き方が悪かったな。
2007ならアドイン入れなくてもWORKDAY関数は使えるって事だ。
199名無しさん@そうだ選挙にいこう:2008/11/16(日) 16:18:37
>>193
バージョンによる互換性の問題…
要求してるのが下位互換とか釣りですかズザー
200名無しさん@そうだ選挙にいこう:2008/11/16(日) 16:28:01
でも実際2007は互換性低いし
2003ユーザーから見ればOOoと大差ない
201名無しさん@そうだ選挙にいこう:2008/11/16(日) 16:37:44
そうでもないか
202名無しさん@そうだ選挙にいこう:2008/11/16(日) 18:16:15
我が家のエクセルに、性質の悪い彼氏ができたようで、急に金髪に染めたり、ピアス(へそも)をあけたり、あまりの変わりように、一家そろって心配しています。

マクロを使えば、何とかなるでしょうか?
203名無しさん@そうだ選挙にいこう:2008/11/16(日) 20:00:59
なりません
204名無しさん@そうだ選挙にいこう:2008/11/16(日) 21:07:33
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 コードコピペが成り立つなら

教えてください
会社で得意先に月報を提出しなければならないのですが

平成20年 5月分 報告書

1日(日) ○○工事
2日(月) □□工事
3日(火) 特になし
 ・
 ・
 ・

みたいな書式で毎月出すんですが
年月日のそうさを完全オートマにできないでしょうか?
現在は少なくても月と曜日を手動で入力しなければなりません
曜日はオートフィルでたいした手間ではないんですが
どうせならもっと
例えば年月入力のみですむ方法などありましたらご教授下さい
205名無しさん@そうだ選挙にいこう:2008/11/16(日) 21:35:52
>>204
方法は色々あるから、とりあえず情報だけ。
日経PC21(12月号)に月間予定表の作り方例が
載ってるから、立ち読みでもしてみたらどうかな
参考になるよ
206名無しさん@そうだ選挙にいこう:2008/11/16(日) 21:40:20
>>204
>>177のリンク先の「月末を工夫編」っての見て来い
207名無しさん@そうだ選挙にいこう:2008/11/16(日) 22:13:35
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

エクセルファイルを開こうとすると、
「読み取れないようが含まれています。このブックの内容を回復しますか?」
と言われてしまいます。はいを選択すると、
「削除されたパーツ: /xl/sharedStrings.xml パーツに XML エラーがありました。」
と表示され、今まで書いた内容がほとんど消えてしまいました。

これは、xl/sharedStrings.xmlを自力で治すしかないということでしょうか・・・?
208名無しさん@そうだ選挙にいこう:2008/11/16(日) 22:22:08
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 ちょっとだけなら
【4 VBAでの回答の可否】 できれば丸ごとコピペしたい

※次のようなデータを、その次にあるように同じ日付と注文番号ごとにセルを手動で結合させ
さらに小計列と合計列を挿入して、それも注文番号ごとに手動で結合させ、最後に合計行を挿入して
その月ごとに集計を取っています。これをVBAで自動でできればありがたいのですが・・・

出荷日 注文番号 モデル 金額 運賃
-------------------------------------------
7月15日 1-2 A \1,000
7月15日 1-2 B \2,000 \1,000
7月15日 2-1 C \1,500
7月15日 2-1 D \1,800 \500



出荷日 注文番号 モデル 金額 小計 運賃 合計
--------------------------------------------------------------
A \1,000
1-2 \3,000 \1,000 \4,000
B \2,000
7月15日
C \1,500
2-1 \3,300 \500 \3,800
D \1,800
---------------------------------------------------------------
合計           4台  \6,300 \1500 \7,800

209名無しさん@そうだ選挙にいこう:2008/11/16(日) 22:23:32
>>207
すみません。質問の2行目は
「読み取れない内容が含まれています。このブックの内容を回復しますか?」
の間違いでした。
210208:2008/11/16(日) 22:25:33
すみません。作りたいほうの表がうまく表示されませんでした。このようにできたらありがたいです。



出荷日  注文番号  モデル  金額  小計  運賃  合計
--------------------------------------------------------------
               A   \1,000
       1-2               \3,000 \1,000 \4,000
               B   \2,000
7月15日
               C   \1,500
       2-1               \3,300  \500 \3,800
               D   \1,800
---------------------------------------------------------------
合計            4台      \6,300 \1500 \7,800
211名無しさん@そうだ選挙にいこう:2008/11/16(日) 22:38:05
ピボットテーブルで作れば
212名無しさん@そうだ選挙にいこう:2008/11/16(日) 22:45:43
>>208-210
とりあえず望みの操作を手動で記録してみな
そこに「上から順に見ていって、注文番号などが変わる直前まで結合する」を加えるといいよ
213208:2008/11/16(日) 23:35:33
レスありがとうございます。

>211
これは>208に対してのレスでしょうか?
上司がピボットテーブルを使えないので不可なんです。

>212
手動で記録とはマクロの自動記録ですよね?
やってみたことはありますが、「上から順に見ていって、注文番号などが変わる直前まで結合する」

このコードが作れないのです。
VBAは見て何が書いてあるかがなんとなくわかる程度です。
教えていただけたら有難いです。
214名無しさん@そうだ選挙にいこう:2008/11/16(日) 23:41:14
だからそれを書けよ
「自動記録でやってみ」じゃレスする意味ねー
215名無しさん@そうだ選挙にいこう:2008/11/17(月) 00:37:14
>>213
上司のせいにするなよ。
君がピボットテーブル使う気がないだけでしょ。
216名無しさん@そうだ選挙にいこう:2008/11/17(月) 00:40:18
× 【3 VBAが使えるか    .】 ちょっとだけなら
   【4 VBAでの回答の可否】 できれば丸ごとコピペしたい

○ 【3 VBAが使えるか    .】 いいえ
   【4 VBAでの回答の可否】 丸投げでお願いします
217名無しさん@そうだ選挙にいこう:2008/11/17(月) 00:58:10
> 上司がピボットテーブルを使えないので不可なんです。
本当に上司のせいでピボットテーブルが使えないなら
業務発展の足を引っ張る奴は上司失格だと言ってやれ

俺の直属の上司もPCには疎いが、業務でPCを使う場面が増えていくに当たって
部下に教えを乞うてまで、自分の機会下手が業務の阻害にならないように努力してるぜ

それに「上から順に見ていって、注文番号などが変わる直前まで結合する」程度が出来ないんじゃ
大抵のコードは見ても理解できないだろ
こんなの初歩の初歩である単純なループと条件分岐で組めるんだから、それが出来ないって事は
ループや条件分岐があるコードは理解できないってことだからな
218ああうぜえ 1/2:2008/11/17(月) 01:18:52
Sub TEST()
Application.DisplayAlerts = False
Cells(1, 6) = "小計"
Cells(1, 7) = "合計"
I = 2
TEMP_DATE_FR = I
TEMP_ORNO_FR = I
NO_AMOU = 0
NO_SHIP = 0
NO_CONT = 0
Do
NO_AMOU = NO_AMOU + Cells(I, 4)
NO_SHIP = NO_SHIP + Cells(I, 5)
NO_CONT = NO_CONT + 1
' * SET FOR ORDERNO *
If Cells(I, 2) <> Cells(I + 1, 2) Then
Range(Cells(TEMP_ORNO_FR, 2), Cells(I, 2)).MergeCells = True
Range(Cells(TEMP_ORNO_FR, 5), Cells(I, 5)).MergeCells = True
Range(Cells(TEMP_ORNO_FR, 6), Cells(I, 6)).MergeCells = True
Range(Cells(TEMP_ORNO_FR, 7), Cells(I, 7)).MergeCells = True
Cells(TEMP_ORNO_FR, 6) = NO_AMOU
Cells(TEMP_ORNO_FR, 7) = NO_AMOU + NO_SHIP
TEMP_ORNO_FR = I + 1
NO_AMOU = 0
NO_SHIP = 0
End If
219ああうぜえ 2/2:2008/11/17(月) 01:20:02
' * SET FOR DATE *
If Cells(I, 1) <> Cells(I + 1, 1) Then
Range(Cells(TEMP_DATE_FR, 1), Cells(I, 1)).MergeCells = True
Rows(I + 1).Insert SHIFT:=xlDown
Cells(I + 1, 1) = "合計"
Cells(I + 1, 3) = I - TEMP_DATE_FR + 1 & "台"
Cells(I + 1, 4) = WorksheetFunction.Sum(Range(Cells(TEMP_DATE_FR, 4), Cells(I, 4)))
Cells(I + 1, 5) = WorksheetFunction.Sum(Range(Cells(TEMP_DATE_FR, 5), Cells(I, 5)))
Cells(I + 1, 6) = WorksheetFunction.Sum(Range(Cells(TEMP_DATE_FR, 6), Cells(I, 6)))
Cells(I + 1, 7) = WorksheetFunction.Sum(Range(Cells(TEMP_DATE_FR, 7), Cells(I, 7)))
Range(Cells(TEMP_DATE_FR, 1), Cells(I, 2)).VerticalAlignment = xlCenter
Range(Cells(TEMP_DATE_FR, 1), Cells(I, 2)).HorizontalAlignment = xlCenter
Cells(I + 1, 1).HorizontalAlignment = xlCenter
I = I + 2
TEMP_DATE_FR = I
TEMP_ORNO_FR = I
NO_AMOU = 0
NO_SHIP = 0
End If
I = I + 1
Loop While Cells(I, 1) <> ""
Columns(6).Cut
Columns(5).Insert SHIFT:=xlToRight
End Sub
220名無しさん@そうだ選挙にいこう:2008/11/17(月) 01:25:22
うだうだ講釈垂れてるのがむかついたので書いちゃった。まだいまいち汚いけど一応動くはず。
221名無しさん@そうだ選挙にいこう:2008/11/17(月) 01:26:09
天の邪鬼も結構大変だね
222名無しさん@そうだ選挙にいこう:2008/11/17(月) 01:30:25
さて、それじゃピボットテーブルでの解き方を見せてもらおうか
223名無しさん@そうだ選挙にいこう:2008/11/17(月) 01:53:29
さて、よく見たら無駄コードがかなりあるので
>217タン、綺麗に修正頼むわ
当然これぐらい簡単に理解できてるんだよね
じゃね
224名無しさん@そうだ選挙にいこう:2008/11/17(月) 02:12:05
説教もうざいがいちいち煽るのもうざい
解決したんだから終了
225名無しさん@そうだ選挙にいこう:2008/11/17(月) 02:33:33
>>218のコードだけど、試しにデータを2日分に増やしてみたらこんなになったけど、これでいいの?
ttp://act0.net/cgi-bin/source/up0325.png
226名無しさん@そうだ選挙にいこう:2008/11/17(月) 03:17:08
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

質問です、お客にExcel2003VBAで作られた営業管理ソフトあるのですが、
データが65536行に目前と迫っており、何とかならないかと以来されました。
VBAは旧社員が片手間で作った品物で、CRMシステムという大層なものではなく、
電話番号・取引先で検索し過去に行った営業文句などの列が表示される普通のVBAです。

行数の問題なら2007を導入して解決したいとお客も言っております。

その際、バックアップマシンに一度2007を入れて動作確認など行おうと思っていますが、
Office2007を認証しなければ動作出来ないでしょうか?
認証してしまうと動作確認後に本番マシンでもライセンスが必要になるなら、一応説明しておかなければなりません。

XPOSの用に30日は使えるといったようなら、希望通りになりそうですが。。
よろしくお願いします。長文すみません。

227名無しさん@そうだ選挙にいこう:2008/11/17(月) 04:23:51
>225
日付をまたいで同じコードがあるとそうなるね
>217タンがさくっと直してくれるでしょうw
228名無しさん@そうだ選挙にいこう:2008/11/17(月) 06:06:28
>>227
プログラムが上手く直ったとしても、しょせん再発明。無価値。
229名無しさん@そうだ選挙にいこう:2008/11/17(月) 08:42:52
>>226
認証は必要だけど、ちょっと動作を確認する程度ならMS公式から
期間限定で使える無料体験版を落として使えばよろし。
限定されているのは利用期間だけで機能はフルに使える。

メールアドレス1つあれば体験版のインストールキーはすぐに発行される。
つまり無駄な買い物はしなくていいってこと。
230名無しさん@そうだ選挙にいこう:2008/11/17(月) 08:55:26
いつのまにかテンプレがなくなってんのね。今まさに
「ピボットテーブルで解決できない質問からは威嚇しながら逃げる。最初から出てこなきゃいいのに。」
(VBA厨)「ピボット厨に目の敵にされている。」
の状況が発生してて笑ったわ。
231名無しさん@そうだ選挙にいこう:2008/11/17(月) 08:59:00
>>229
体験版という手がありましたか!よっしゃそれで行っています。
232217:2008/11/17(月) 10:07:43
>>223,>>227
仕様があまり明確ではないが、出てるデータに合わせて即興で書いてみたがこんなんでいいかな?

Const DTR = 2
Application.DisplayAlerts = False
Columns(5).Insert: Cells(1, 5).Resize(, 3).Value = Array("小計", "運賃", "合計")
iR1 = DTR: iR2 = DTR
For i = DTR + 1 To Cells(Rows.Count, 1).End(xlUp).Row + 1
  If Cells(iR1, 1).Value <> Cells(i, 1).Value Then
    Cells(iR1, 1).Resize(i - iR1).MergeCells = True
    iR1 = i
  End If
  If Cells(iR2, 2).Value <> Cells(i, 2).Value Then
    For Each vC In Array(2, 5, 6, 7): Cells(iR2, vC).Resize(i - iR2).MergeCells = True: Next vC
    Cells(iR2, 5).Value = WorksheetFunction.Sum(Cells(iR2, 4).Resize(i - iR2))
    Cells(iR2, 7).Value = Cells(iR2, 5).Value + Cells(iR2, 6).Value
    iR2 = i
  End If
Next i
iR1 = i - 1
Cells(iR1, 1).Resize(, 3).Value = Array("合計", "", iR1 - DTR & "台")
For i = 4 To 7: Cells(iR1, i).Value = WorksheetFunction.Sum(Cells(DTR, i).Resize(iR1 - DTR)): Next i


データ増やしても>>225のような不都合は出ないと思う
あと、得に仕様要求に無いセンタリングとかはしてない
マルチステートメントはここに貼る上での都合なので、解除してくれて結構
個人的にはApplication.ScreenUpdating入れた方がいいと思うがお好きなように
変数宣言が欲しければ以下
Dim i As Long, vC As Variant
Dim iR1 As Long, iR2 As Long
233217:2008/11/17(月) 10:08:13
因みに再発明(車輪の再発明)とは
「広く受け入れられ確立した技術や解決法を無視して、同様のものを再び一から作ってしまうこと」
により
「新たな付加価値が何もないものを作成するのにコストをかけること」
を指すが、この場合彼のコードやアルゴリズムは「広く受け入れられ確立した技術や解決法」ではないし
不都合の修正など「新たな付加価値」もあるので再発明(車輪の再発明)には該当しない
234名無しさん@そうだ選挙にいこう:2008/11/17(月) 11:06:52
excelで「フィボナッチ数列の隣りあう項の比は黄金比に収束する」を表したいのですが
式はどうしたらできますか?
235名無しさん@そうだ選挙にいこう:2008/11/17(月) 11:33:27
それ、Excelではなく数学の問題じゃね?
236名無しさん@そうだ選挙にいこう:2008/11/17(月) 12:24:10
>>234
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MsgBox "フィボナッチ数列の隣りあう項の比は黄金比に収束する"
MsgBox "あとは、てめーで証明しろボケ"
End Sub
237名無しさん@そうだ選挙にいこう:2008/11/17(月) 12:54:04
>>234
数列の一部をセルに書き出すことは可能だけど、収束するかどうかを示す方法は
何か自分で考えて工夫するしかない。
とりあえずExcelだけで証明するのは不可能だから。
238名無しさん@そうだ選挙にいこう:2008/11/17(月) 15:12:44
>>234
>excelで「フィボナッチ数列の隣りあう項の比は黄金比に収束する」を表したい
「表す」って何?
「(フィボナッチ数列の)n-1番目の数値:n番目の数値の比率」を求めたいなら作業列を作れば何とかなる
ただし、小数点以下の計算は誤差がひどいので工夫が必要だと思う
VBAで求めるなら作業列とかも必要ないんだけどな・・・

wikiでフィボナッチ数列について調べて頭がおかしくなりかけた
証明問題?何それおいしいの?w
239231:2008/11/17(月) 17:14:14
>>229
体験版で無事確認できました!ありがとう!!体験版神!!
240名無しさん@そうだ選挙にいこう:2008/11/17(月) 17:51:47
>>238
MsgBox "フィボナッチ数列の隣りあう項の比は黄金比に収束する"
できっちり画面に「表す」事ができるでしょ。
241名無しさん@そうだ選挙にいこう:2008/11/17(月) 18:53:06
>>234

フィボナッチ数列: F_{n+2} = F_{n+1} + F_{n}
これを F_{n+1} で割って F_{n+2} / F_{n+1} = 1 + 1/(F_{n+1}/F_{n})
したがって、R_{n} := F_{n+1}/F_{n} とすれば R_{n+1} = 1+1/R_{n}

であるから、
A1 に 1
B1 に 1
A2 に =A1+1
B2 に =1+1/B2
と入れて、A2:B2 を下に好きなだけコピー (A2:Bn にコピーしたとする)

散布図を x = A1:An, y = B1:Bn で描けばおk
242名無しさん@そうだ選挙にいこう:2008/11/17(月) 19:01:39
>>241
上の三行見ただけで頭痛がしてきたw
>A2 に =A1+1
>B2 に =1+1/B2

A2 に 1
A3 に =A1+A2
B2 に =A1+A2/B2
じゃないのか?
243242:2008/11/17(月) 19:04:00
循環参照してるなw
B2 に =A2/A1か A1/A2
かな?
244241:2008/11/17(月) 19:13:07
>>242-243
>>241 で入力したものは
A列: 項数 (1, 2, 3, 4, 5, ..., n)
B列: 比の値 (1/1, 2/1, 3/2, 5/3, 8/5, ...)
で、頭痛の種の3行はフィボナッチ数列の漸化式から、フィボナッチ数列の隣接2項間の比の漸化式を作る作業です。

普通にフィボナッチ数列も入れたいのであれば
A1 1
A2 =A1+1 (下にコピー)

B1 1
B2 1
B3 =B1+B2 (下にコピー)

C1 = B2/B1 (下にコピー)

でA列をx軸、C列をy軸にとったプロットをすればおkです。
245名無しさん@そうだ選挙にいこう:2008/11/17(月) 20:07:08
EXCEL2003、VBA使用可です。

セルへのデータ(値)の入力は可能だが、
書式(表示形式、フォント、塗りつぶし等)の変更は出来ないようにするシート保護は、
できるのでしょうか?
できるのであれば操作方法を教えて下さい。

よろしくお願いします。
246242:2008/11/17(月) 20:34:57
>>244
その漸化式が合ってるかどうか知らんし>>234でもないんだが
結局
>B2 に =1+1/B2
の循環参照は
B2 に =1+1/A2 か?
もしそうなら
>B列: 比の値 (1/1, 2/1, 3/2, 5/3, 8/5, ...)
にはならない
B2から(2/2, 2/3, 2/4, 2/5, 2/6, ...) になる
247242:2008/11/17(月) 20:38:40
>B2から(2/2, 2/3, 2/4, 2/5, 2/6, ...) になる
ならないよな・・・orz
B2から(1+1/2,1+1/3, 1+1/4, 1+1/5, 1+1/6, ...) になるってことで合ってるのか?

248名無しさん@そうだ選挙にいこう:2008/11/17(月) 20:52:38
>>245
Excelの設定変更だけでは無理ですが、VBA可なのでWorksheet_SelectionChangeと
Worksheet_Changeを使えばたぶん可能だと思いますが、微妙に面倒です。
249名無しさん@そうだ選挙にいこう:2008/11/17(月) 21:14:34
【1 OSの種類         .】 WindowsHP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

初歩的な質問で申し訳ないのですが、教えてください。
ノートPCやデジカメの在庫管理を任されました。
在庫管理表の作成についての質問です。
故障が起きてストックを社員に貸し出したときに、
機種番号の隣に○×で出るように関数で設定したいです。
IF関数を使って作ろうかと思ったんですが、
同じ機種が一ヶ月にでたりはいったりするため、どのように設定したらいいのか分かりません。
現在の在庫完了は貸し出した日付と返却した日付と機種番号を入力しているだけなので、
今何の機種がないのかわかりにくい状態です。
フリーソフトは会社では今は使用不可だそうです。
どういうデータの一覧を作ったらいいのか、何の関数を使ったらいいのか、
お知恵を貸していただけたらと思います。
250名無しさん@そうだ選挙にいこう:2008/11/17(月) 21:25:40
>>249
在庫じゃなくて備品管理だな。在庫ってのは商品、売り物のことだ。会社内で使う機材は備品な。
まずすべての備品にユニークな備品番号を付ける。
そして機種、製造番号、備品番号を一組にしたデータベースを作る。これが第一段階。

次に、備品番号、貸した日、戻った日、貸した人を一組のデータとして1行に並べる。
これを積み重ねていくのがもっとも基本的な方法。
251241:2008/11/17(月) 21:28:55
えーと、>>242 ではフィボナッチ数列をA列に生成しているので、
B1 = A2/A1
にすればフィボナッチ数列の隣接項の比が出てきます。
252245:2008/11/17(月) 21:46:39
>>248

レスありがとうございます。
実質無理ってことですね。
253208:2008/11/17(月) 21:55:26
なんだか荒れててびっくりしました。

とりあえずきちんと答えてくださった方、どうもありがとうございました。
254名無しさん@そうだ選挙にいこう:2008/11/17(月) 22:00:23
223涙目
255名無しさん@そうだ選挙にいこう:2008/11/17(月) 22:02:39
誰か>>252にマクロ書いてやって。俺には無理だ。
256名無しさん@そうだ選挙にいこう:2008/11/17(月) 22:21:51
うむ。ものすごく急いでいる。■法務委員会の採決もすっとばすくらい■急いでいる
ttp://mamono.2ch.net/test/read.cgi/newsplus/1226889723/6

■緊急!■
河野・塩崎・大島らは、「法務委員会採決」をすっとばしていきなり本会議に上程
するようです。前代未聞の強行突破です!


緊急拡散【偽国籍改正案】手続で止める方法 (水間政憲)
皆様、動画サイトは2日間だけで3万数千件のアクセスになっているようです。
最後の最後にお願いして頂きたく、手続きに関する矛盾点と対策を列記します。
衆院法務委員会で,まだ、採決が行われていない「国籍法一部改正案」が、■本会議で緊急決議■することになったことは、
大島理森自民党国対委員長のところに、衆院法務委員会自民党から持ち込まれたからです。
一般的にその責任者は、塩崎恭久筆頭理事になるでしょう。
大島理森国対委員長は、この法案の危険性をよく理解していないと思われます。
また、自民党総裁選麻生候補推薦人代表の島村宜伸自民党代議士会会長も、同じような状態だと推察できますので、お願いのFAXをして頂けると幸いです。
そして、これは難しいことかも知れませんが、18日13時から本会議場で「議長ー…」と発声する呼び掛け人の、谷公一議員が「国籍法一部改正案」と発しなければ、採決されません。
谷議員にお願いするのも一案です。本来これほどの重要法案は、法務委員会で採決された後に、各議員にプリントが配られ、2〜3日後に本会議で採決されることが普通です。
今回の件は異常中異常です。ジャーナリスト水間政憲。転載フリー。

---------------------------------

<FAX番号>
  大島 理森 0 3 - 3 5 0 2 - 5 0 8 2
  塩崎 恭久 0 3 - 3 5 0 8 - 3 6 1 9
  島村 宜伸 0 3 - 3 5 0 8 - 3 7 1 8
  谷 公一   0 3 - 3 5 0 2 - 5 0 4 8
257名無しさん@そうだ選挙にいこう:2008/11/17(月) 22:49:32
最近はテンプレ5番なしが流行ってるのか?
5番なしで質問してるやつには答えたくないな・・・
258名無しさん@そうだ選挙にいこう:2008/11/17(月) 23:38:46
標準フォント変更ってどうやるの?
259名無しさん@そうだ選挙にいこう:2008/11/17(月) 23:57:20
>>258
バージョンは?
260名無しさん@そうだ選挙にいこう:2008/11/18(火) 11:21:47
>>248
Worksheet_Change で書式の変更って拾えないよね?
261242:2008/11/18(火) 13:26:19
>>241の何がおかしいかようやく分かった
>B2 に =1+1/B2
B2 に =1+1/B1
の間違いだったのねw
262名無しさん@そうだ選挙にいこう:2008/11/18(火) 17:09:02
1〜10の数字が書かれた10枚のカードがあります
(1のカード、2のカード、…、10のカード)

このカードを無作為に一枚引き、元に戻す
という操作n回行った時
出た数の平均がm未満になる組み合わせの数

の一覧表を作りたいです。
横にmが1〜10、縦にnが1〜100、となるようにマクロを組んでみましたが
途中でメモリ不足で強制終了してしまいました。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 OpenOffice
【3 VBAが使えるか    .】 これが初挑戦です
【4 VBAでの回答の可否】 可
263名無しさん@そうだ選挙にいこう:2008/11/18(火) 17:09:51
Sub Main
Dim oCell as Object
Dim Dice100( 1 To 100) as long
Dim DiceNum as long
Dim mUnder as long
Dim Anser as long
Dim EndR as long
Dim DiceSum as long
Dim Count as long

For DiceNum = 1 To 100
For mUnder = 1 To 10
DiceClear(Dice100())
Anser = 0
EndR = 0
While EndR <> 10^DiceNum
EndR = 1
DiceSum = 0
For Count = 1 To DiceNum
DiceSum = DiceSum + Dice100(Count)
EndR = EndR * Dice100(Count)
Next Count
If (DiceSum / DiceNum) < mUnder Then
Anser = Anser + 1
EndIf
DiceAdd(Dice100())
Wend
264名無しさん@そうだ選挙にいこう:2008/11/18(火) 17:13:05
すみません、張り直しです

Sub Main
 Dim oCell as Object
 Dim Dice100( 1 To 100) as long
 Dim DiceNum as long
 Dim mUnder as long
 Dim Anser as long
 Dim EndR as long
 Dim DiceSum as long
 Dim Count as long

 For DiceNum = 1 To 100
  For mUnder = 1 To 10
   DiceClear(Dice100())
    Anser = 0
    EndR = 0
    While EndR <> 10^DiceNum
    EndR = 1
    DiceSum = 0
    For Count = 1 To DiceNum
     DiceSum = DiceSum + Dice100(Count)
     EndR = EndR * Dice100(Count)
    Next Count
    If (DiceSum / DiceNum) < mUnder Then
     Anser = Anser + 1
    EndIf
    DiceAdd(Dice100())
   Wend
265名無しさん@そうだ選挙にいこう:2008/11/18(火) 17:13:51
   Set oCell= ThisComponent.Sheets(0).getCellByPosition(mUnder,DiceNum)
   oCell.Value = Anser
  Next mUnder
 Next DiceNum
End Sub

Sub DiceAdd(Dice100())
 DiceAdd2(Dice100,1)
End Sub

Sub DiceAdd2(Dice100(),Num)
 Dice100(Num) = Dice100(Num) + 1
 If Dice100(Num) > 10 Then
  Dice100(Num) = 1
  DiceAdd2(Dice100(),Num+1)
 EndIf
End Sub

Sub DiceClear(Dice100())
 For Num = 1 to 100
  Dice100(Num) = 1
 Next Num
End Sub
266名無しさん@そうだ選挙にいこう:2008/11/18(火) 17:15:49
このマクロだとカード6枚目でメモリ不足で止まってしまいます
何か良い方法がありましたらお願いします
267名無しさん@そうだ選挙にいこう:2008/11/18(火) 17:16:32
>>266
諦める
268名無しさん@そうだ選挙にいこう:2008/11/18(火) 17:49:36
せめてどこでメモリが不足しているのかだけでもお願いします
例えばDice100はどれだけ中身をいじろうともメモリの使用量は変わりませんよね?
なぜ途中からメモリが足りなくなるのでしょうか
269名無しさん@そうだ選挙にいこう:2008/11/18(火) 18:43:42
Excel2003用に少し弄って動かしてみた(6回目までで止めたが)
これじゃものすごく時間かかるジャマイカ

それとメモリの問題を解決したとして
Excel2003と同じ仕様ならだが9回目までが限度だと思う
9回目10未満の組み合わせは 999999999通り
10回目10未満の組み合わせは9999999999通り
10回目のどこかでオーバーフローしないか?
270名無しさん@そうだ選挙にいこう:2008/11/18(火) 18:48:22
EndRは常に1だからループから抜け出せない

  DiceClear (Dice100()) 'Dice100()は全て1
  …
    While EndR <> 10 ^ DiceNum
      EndR = 1
      …
      For Count = 1 To DiceNum
        …
        EndR = EndR * Dice100(Count) '1*1=1
      Next Count
      …
    Wend
271名無しさん@そうだ選挙にいこう:2008/11/18(火) 18:55:14
>>269
オーバーフローっていうのは変数の最大値を超える数を代入しようとして溢れる事ですよね?
10000000000通りの組み合わせのカウントは配列Dice100で行っていて
各要素には最大でも11までしか入らないのでオーバーフローはしない、と思います

で、今になって最終的に
10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000通り
の組み合わせになる事に気付きました
生きてる間には終わらなそうです
総当りではなく、計算で求められる部分は計算でやらないとどうしようもなさそうですね
でも計算ができないからExcelで総当りする事にしたのにそれじゃあ本末転倒という…

>>270
DiceNumが6になって少しあたりまでは正常に動いていたので、そこは問題無いと思います
Dice100(Count)の中身はWendの一行前のDiceAdd(Dice100())で増えていきます
272262:2008/11/18(火) 19:03:59
>>269
すみません、オーバーフローの事、理解しました
ひとまずそこだけは直しておきます
273258:2008/11/18(火) 19:19:59
2003っす
274名無しさん@そうだ選挙にいこう:2008/11/18(火) 19:27:38
>>262
統計ソフトのRって知ってます? あれ使えばできそうな気がするのでちょっと考えてみたいんですが、Rのソース貼ったら理解できますか?
275名無しさん@そうだ選挙にいこう:2008/11/18(火) 19:57:29
誰も262さんの
【2 Excelのバージョン   】 OpenOffice←
につっこまないのにワロタ
276262:2008/11/18(火) 19:58:18
>>274
Rというのは初めて知りましたが
もし良ければソース貼って頂けないでしょうか
ソースの理解は自分でなんとかします
277名無しさん@そうだ選挙にいこう:2008/11/18(火) 20:40:40
>>276
失礼、統計ソフトの R じゃなくて、数式処理ソフトの maxima でしたw
そいつを使うと式の展開とかがすばやくできるんですけどね、

1から10まであるサイコロの出目の確率分布に対応する「母関数」を以下のように定めます:
f(x) = (x^10+x^9+x^8+x^7+x^6+x^5+x^4+x^3+x^2+x)/10
サイコロの目がxの指数に、係数が確率に対応していますね。x自体は形式的な変数なので、深く考えないでいいです。

それでですね、たとえば f(x)^2 を展開すると
(x^20+2x^19+3x^18+4x^17+5x^16+6x^15+7x^14+8x^13+9x^12+10x^11+9x^10+8x^9+7x^8+6x^7+5x^6+4x^5+3x^4+2x^3+1x^2)/100
になりますよね。
わかりますか? これはサイコロを2個振ったときの確率分布に対応する母関数なのです!
すなわち「母関数のべき乗」が「反復試行の和の確率分布」に対応するというわけです。

maxima のコード例はたった3行です:
f(x):=(x^10+x^9+x^8+x^7+x^6+x^5+x^4+x^3+x^2+x^1)/10;
expand(f(x)^10);
coeff(%,x,40);

1行目はサイコロの定義です。(:= 関数定義)
2行目は10個振った結果を求めています。(expand 展開)
3行目は2行目の出力に対して、出目の合計が40である確率を求めています。(coeff 係数)
結果は 28980493/2500000000 と、約分された分数形で出てきます。
278名無しさん@そうだ選挙にいこう:2008/11/18(火) 21:05:56
【1 OSの種類         .】 Windows XP SP3
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 with ActiveSheet.Shapes .Top=Range("b2").top

グラフをB2:L30に貼り付けたい。

Sub MoveGpaph()
With ActiveSheet.Shapes("グラフ 1")
.Top = Range("b2").Top
.Left = Range("b2").Left
End With
End Sub

これだと、グラフの左上がB2に固定されるのですが、
右下を大きさを変えてL30に固定したいです。
279名無しさん@そうだ選挙にいこう:2008/11/18(火) 21:13:33
VBAはちょっと学習した程度です。
 A列
1りんご


4バナナ
5みかん

7桃

一列に空白と値が入っていて、上の値を次の値が入っているところまで
自動で入力したい場合、どのような操作がありますか?
上の例だと2、3にりんごを入れ、6にみかん、8に桃を入れたいのです。
280名無しさん@そうだ選挙にいこう:2008/11/18(火) 21:15:01
>>278
こういことかな
Sub MoveGpaph()
With ActiveSheet.Shapes("グラフ 1")
.Top = Range("b2").Top
.Left = Range("b2").Left
.Height = Range("L30").Top - .Top
.Width = Range("L30").Left - .Left
End With
End Sub
281名無しさん@そうだ選挙にいこう:2008/11/18(火) 21:29:24
>>279
作業列を使うなら
B1に=A1
B2に==IF(A2="",B1,A2)を入れて下にコピー
B列をA列に張り付ける
282262:2008/11/18(火) 21:35:36
>>277
関数定義からしてまだよくわかりませんが、これならなんとかなりそうです
これから勉強してきます
本当にありがとうございます
283278:2008/11/18(火) 21:43:15
>>280
そういうことです! THXです!
284名無しさん@そうだ選挙にいこう:2008/11/18(火) 22:11:58
>>279
Sub test()
For a = 1 To 50
If Cells(a + 1, 1) = "" Then
Cells(a + 1, 1) = Cells(a, 1)
End If
Next
End Sub
285名無しさん@そうだ選挙にいこう:2008/11/18(火) 22:20:49
>>273
ツール→オプション→全般
286名無しさん@そうだ選挙にいこう:2008/11/18(火) 22:28:58
>>277
君が何を言っているのかさっぱりわからない。
黙って聞いてるみんなはわかってるの?
287名無しさん@そうだ選挙にいこう:2008/11/18(火) 22:35:51
わからないから黙っているのでは?
288名無しさん@そうだ選挙にいこう:2008/11/18(火) 22:44:47
a b c a d d
というデータに対して
4(a b c dの4種なので)という結果を出す関数を知りたいんです
お願いします
289279:2008/11/18(火) 22:46:52
>>281
値と値の間が10行空いているときもあれば、2行しかあいてない場合もあるので
関数だとうまくできなかったです。
>>284
できました。ありがとうございます。
290262:2008/11/18(火) 22:53:40
>>286>>287
馴染みのある6面体サイコロの場合だと
サイコロ一つ振った場合の出目を表したのが

(x^6 + x^5 + x^4 + x^3 + x^2 + x) / 6

二つ振った場合はそれの二乗で

(x^12 + x^11 + x^10 + x^9 + x^8 + x^7
     x^11 + x^10 + x^9 + x^8 + x^7 + x^6
          x^10 + x^9 + x^8 + x^7 + x^6 + x^5
               x^9 + x^8 + x^7 + x^6 + x^5 + x^4
                    x^8 + x^7 + x^6 + x^5 + x^4 + x^3
                        x^7 + x^6 + x^5 + x^4 + x^3 + x^2)
                                                 /36
---------------------------------------------------------------------
(x^12 + 2x^11 + 3x^10 + 4x^9 + 5x^8 + 6x^7 + 5x^6 + 4x^5 + 3x^4 + 2x^3 + x^2) / 36

○x^△
サイコロを2個振った時の目の合計が△になるのは○通り

という事だと思います。
まだ完全に物にしてないのであまり詳しくはわかっていませんが
こんな方法があったという事に少し感激しました。
291名無しさん@そうだ選挙にいこう:2008/11/18(火) 22:54:49
>>289
いや>>281でできるから
292名無しさん@そうだ選挙にいこう:2008/11/18(火) 22:58:18
>>290
そういうことです。あとは maxima の応援でがんばってくださいね!
293258:2008/11/18(火) 23:00:33
>>285
ありがとうございます。どこ探してもなかったのにこんな単純なとこにあったとは…
294名無しさん@そうだ選挙にいこう:2008/11/18(火) 23:09:00
>>288
データがA1からF1に入っているとして
{=SUM(1/COUNTIF(A1:F1,A1:F1))}
295名無しさん@そうだ選挙にいこう:2008/11/18(火) 23:18:28
>>294
いい加減うざい
296名無しさん@そうだ選挙にいこう:2008/11/18(火) 23:19:16
>>294
=ごと{}で囲んでるのはなんでしょ
うまくいかないよ
http://www.restspace.jp/cgi-bin/orz/img-box/img20081118231735.png
297名無しさん@そうだ選挙にいこう:2008/11/18(火) 23:25:14
【1 OSの種類         .】 WindowsXPSP2
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 非
【5 検索キーワード     】 Excel グラフ

初歩的な質問で申し訳ありません。はいといいえの2項目の割合を円グラフで出したいのですが、
なかなかうまくゆきません。
298名無しさん@そうだ選挙にいこう:2008/11/18(火) 23:38:14
>>296
ヘルプで「配列数式」を見れ

>>297
初歩的どころか質問になってないw
299名無しさん@そうだ選挙にいこう:2008/11/18(火) 23:58:07
>>297
A1にはいの数、A2にいいえの数が入っていたとすると
A1とA2をドラッグしていっぺんに囲んでから挿入→グラフの円をクリックして、好きなのを選ぶ
300名無しさん@そうだ選挙にいこう:2008/11/18(火) 23:59:27
>>275
ぶっちゃけ、環境に依存しない問題だとOSとかバージョンとか見てない
301名無しさん@そうだ選挙にいこう:2008/11/19(水) 02:35:00
【1 OSの種類         .】 WindowsXP-SP3
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 IE7 EXCEL2000 マクロ 開けない


IE7をインスコしたらEXCEL2000でマクロ組んだファイルが開けなく
なったんですが、これは仕様ですか?
(IE6に戻すと普通に開ける)
何か解決策ってあるんでしょうか?

IE7スレからこちらに誘導されて参りました。
302名無しさん@そうだ選挙にいこう:2008/11/19(水) 02:44:51
>>301
聞いたことのない症状だ。具体的にどういう状態なのかもっと詳しく書いて。
エクセルファイルをダブルクリックした時と、エクセルを起動してから開くメニューを使った場合は同じか。
何かエラーが出るのか、開けるけど挙動がおかしいのか、一瞬砂時計が出るだけで画面に変化がないのか。
新規ブックに数行のごく簡単なマクロを書いて保存した物は開けるか。
303名無しさん@そうだ選挙にいこう:2008/11/19(水) 07:03:55
>>294 >>298

うまくいった!すげぇ
304名無しさん@そうだ選挙にいこう:2008/11/19(水) 10:44:18
【1 OSの種類         .】 Windows xp he
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 VBAでの回答をお願いします
【5 検索キーワード     】 mid midb


以下のコードですと意図した値を返さないのですが、回避策をご教示下さい。
「東京都石井町9999-99」(あとのスペースは後で処理します)を返したいのです。

b = MidB("を受け 住 東京都石井町9999-99 ", 12, 35)

mid関数以外の方法でお願いします。
305名無しさん@そうだ選挙にいこう:2008/11/19(水) 11:02:44
>>304
VBA
b=Replace("を受け 住 東京都石井町9999-99 ", "を受け 住 ", "")
シート上の数式なら
SUBSTITUTE("を受け 住 東京都石井町9999-99 ", "を受け 住 ", "")

"を受け 住 東京都石井町9999-99 "について具体的なことが分からないのでとりあえずこれでw
306名無しさん@そうだ選挙にいこう:2008/11/19(水) 11:15:28
>>305
中途半端な質問の仕方でですみません。

個人情報が入ったスペース区切りのテキストファイルがあります。(固定長)
1行120バイト×28行 が1人分でそれが1000人分あります。(すべて1つのファイルです)
そこから氏名やフリガナ、住所 等 60項目を抜き出して、一覧にしようとおもっております。

例示したものは、住所箇所で、住所はその人によってデータの長さは違いますが
かならず、その行の12バイトめから41バイトめにあります。
また住所は、全角のものもあれば半角の文字もあるのので、できればバイト数を
指定して抜き出したいのです。
因みに
"を受け 住 東京都石井町9999-99        役職 部長   "と続きます。

シート上での関すでは、midb(a1,12,30)でうまく返せるのですが、VBAになると
「????・・・」のようになってしまいます。
307名無しさん@そうだ選挙にいこう:2008/11/19(水) 11:17:10
内部ではUnicodeであると考えて処理するんだ
308名無しさん@そうだ選挙にいこう:2008/11/19(水) 11:26:10
>>306
エクセルの区切り位置の機能じゃだめなの?
「データ」→「区切り位置」
もしくは
「データ」→「外部データの取り込み」→「データの取り込み」
309名無しさん@そうだ選挙にいこう:2008/11/19(水) 11:35:06
>>307
少し調べてみます。

>>308
その方法ですと、住所だけ見れば有効ですが、なにしろ
28行で1人分×1000人分なので、他の行が変なところで区切られてしまうのです
310名無しさん@そうだ選挙にいこう:2008/11/19(水) 12:44:01
>"を受け 住 東京都石井町9999-99        役職 部長   "

これ、半角1バイトとすると住所は11バイト目からじゃないの??
311名無しさん@そうだ選挙にいこう:2008/11/19(水) 13:54:25
2つのセルに入力された日付の間にあたる日付データを持ったレコード内の値を合計するには
どうしたらいいのでしょう?
意味わかりにくい気がしますので実例を挙げます。

A1:2007/11/19
A2:2008/11/19
とシート1に入力したとします。

シート2に、

  日付    データ
2008/01/01 999
2007/01/01 500
2008/11/01 100

などのレコードがあった場合、シート1のA1,A2の入力の日付の間にあるシート2のデータの
999、100だけを合計してシート1のA3に出力するような操作です。
よろしくお願いします。

【1 OSの種類         .】 Windows2000とXP
【2 Excelのバージョン   】 Excel2000と2007を持っています
【3 VBAが使えるか    .】 C言語はある程度理解できますので、リファレンスを調べながら少し考えられる程度です。
【4 VBAでの回答の可否】 コピペできるものならお願いします。
【5 検索キーワード     】 日付、文字列操作、関数など
312名無しさん@そうだ選挙にいこう:2008/11/19(水) 14:00:36
>>306
>シート上での関すでは、midb(a1,12,30)でうまく返せる
なら
b = evaluate("=midb(a1,12,30)")
でいいじゃん
313名無しさん@そうだ選挙にいこう:2008/11/19(水) 14:07:08
>>311
=SUMPRODUCT((Sheet2!A1:A3>=A1)*(Sheet2!A1:A3<=A2)*Sheet2!B1:B3)
314311:2008/11/19(水) 14:11:47
>>313
うおおおおおおおお!!すげえ!!!

なんと簡潔な・・・俺の昨日からの悩みはなんだったんだ・・・
ありがとうございます!これで勝つる
315名無しさん@そうだ選挙にいこう:2008/11/19(水) 16:10:45
【1 OSの種類         .】 WindowsXP SP2
【2 Excelのバージョン   】 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否(必要であれば出来るかぎり勉強するつもりです)
【5 検索キーワード     】グラフ 多軸

エクセルで
ttp://www.onosokki.co.jp/HP-WK/whats_new/press/08_09_10.htm
にあるような異なる範囲のy軸をいくつか使ってひとつのグラフにまとめたいのですが、
何か方法はあるのでしょうか?
グラフは分布図をつかい近似直線を引くつもりです。

ご教授お願いします。

316名無しさん@そうだ選挙にいこう:2008/11/19(水) 16:34:07
>>311
SUMPRODUCTなんて重い関数使いたくなければ、SUMIF使え。
式は長くなるけどな。
=SUMIF(Sheet2!A1:A10000,">="&A1,Sheet2!B1:B10000)-SUMIF(Sheet2!A1:A10000,">="&A2,Sheet2!B1:B10000)
317311:2008/11/19(水) 16:56:38
>>316
フムフム・・・これでも勝つるな・・・
勉強になりました。ありがとう!
318名無しさん@そうだ選挙にいこう:2008/11/19(水) 17:49:11
>>315
作業シートに軸を統一したデータを作って、目盛りはオートシェイプで作る。
てか、そういう面倒な作業を自動でやってくれるソフトじゃないの?そのリンク先のアドインは。
319名無しさん@そうだ選挙にいこう:2008/11/19(水) 22:25:10
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 基本だけ少し
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 住所 取り出し

ある列に都道府県から番地までまとめてしまった住所録があるんですが、都道府県含む番地以前までを取り出したいんですがなんとか抽出できないでしょうか?


○○府○○市中央区3-5-2 →”中央区”まで
○○県○○市○○郡351-5 →”○○郡”まで


LEFTで取りだそうにも各々桁が違う為、対策が・・・
”区”、”市”等 取り出す所までの末尾の漢字はある程度絞れるので VBAでもかまいません。なんとかご助力をお願いします><

手作業・・・無理っす;
320名無しさん@そうだ選挙にいこう:2008/11/19(水) 22:36:35
FINDなどで"市"を探すなど単純に処理すると四日市市などに不都合が出るので
都道府県市区町村の辞書を作るか探すかして照合しながら別ける
321名無しさん@そうだ選挙にいこう:2008/11/19(水) 22:36:40
>>319
変な住所だな。町名が入ってないし、市のあとに郡が来てるし。
本当にそんなんでいいのか?

番地の数字が必ず半角で入ってるんならワークシート関数だけでできないことはないけど。
322名無しさん@そうだ選挙にいこう:2008/11/19(水) 22:47:16
【1 OSの種類         .】 WindowsXP SP3
【2 Excelのバージョン   】 2003
【3 VBAが使えるか    .】 ほんと少し
【4 VBAでの回答の可否】 少し
【5 検索キーワード     】VBA セル ランダム

別シートの列(1行目は見出し)にある空白でない値を読み込んで、ランダムに
作業中のシートの特定のセルに値をセットしたいです。
よろしくお願いしますm(__)m
323名無しさん@そうだ選挙にいこう:2008/11/19(水) 22:51:03
>>319
その番地が必ず数字とハイフンで構成されていて、番地でない数字で終わる
ことが無いなら後ろから見て行って数字じゃないところまで来たら区切る。
324名無しさん@そうだ選挙にいこう:2008/11/19(水) 22:52:45
>>323
番地のあとに建物名が来たらアウトだな
325名無しさん@そうだ選挙にいこう:2008/11/19(水) 22:54:26
>>322
別シートの空白の位置はランダム?
数字の入っている範囲がちゃんと決まってるなら乱数で位置を決めることはできるけど。
326名無しさん@そうだ選挙にいこう:2008/11/19(水) 22:55:25
>>325
範囲は決まってます
327名無しさん@そうだ選挙にいこう:2008/11/19(水) 23:02:44
>>319
文字列の中から最初に出てきた半角の数字以降を切り落とす
=IF(MIN(FIND({"0","1","2","3","4","5","6","7","8","9"},A1&"0123456789"))<=LEN(A1),LEFT(A1,MIN(FIND({"0","1","2","3","4","5","6","7","8","9"},A1&"0123456789"))-1),A1)
328名無しさん@そうだ選挙にいこう:2008/11/19(水) 23:11:03
>>326
数値がSheet2のA2〜C10に入っているとすると
=OFFSET(Sheet2!$A$2,RAND()*9+1,RAND()*3+1)
329328:2008/11/19(水) 23:16:35
>>326
ごめん間違えた
数値がSheet2のA2〜C10に入っているとすると
=OFFSET(Sheet2!$A$2,RAND()*9,RAND()*3)
330名無しさん@そうだ選挙にいこう:2008/11/19(水) 23:20:45
【1 OSの種類         .】 WindowsXPSP2
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 見よう見まね
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 VBA EXCEL プロセス 終了

EXCELアプリケーションのプロセスが終了しない問題で困っています。

1.入力フォーマットを作り込んだEXCELファイルを用意。
2.VBを使用してEXCELファイルをコピー。
3.VBにて、コピーしたファイルの保護解除&セルにデータ設定&保護戻すなどの処理。
3.VBプログラム終了。

この時、EXCELアプリケーションのプロセスが残ったままになります。
以前も同じ処理を行っていて、その時は起きなかった現象なのですが、
EXCELファイルの入力フォーマットとマクロを変更したところ、
プロセスが消えないようになってしまいました。

試しにマクロのみを変更前のファイルのものとすげ変えてみましたが、
やっぱりプロセスは残っています。

こんな入力コントロールは駄目だよ、とか、
VBAの関数がまずいんじゃない?とか、ありますでしょうか。
お力添えをお願い致しますm(_ _)m
331名無しさん@そうだ選挙にいこう:2008/11/19(水) 23:23:24
>>329
列だけど、A2〜A10でも同じですか?
332名無しさん@そうだ選挙にいこう:2008/11/19(水) 23:31:33
>>319
こんなのどう?
=LEFT(A1,LENB(A1)-LEN(A1))

2バイト文字数を数えて、そも自分だけ先頭から取り出すっていう
333332:2008/11/19(水) 23:33:41
×そも自分だけ
○その字分だけ

=asc()と組み合わせるとなお良いかも
334331:2008/11/19(水) 23:34:53
印刷のタイミングで取り込みたいので、セルに「=」と記述すると、毎回同じものが印刷されそうなんですけど・・・
できれば、VBAの記述でお願いしたいですm(__)m
335ゲームセンター名無し:2008/11/19(水) 23:56:30
ちょっとした質問なんですけどexcel2007って分析ってないんですか?
336名無しさん@そうだ選挙にいこう:2008/11/20(木) 00:08:33
>>335
分析ツール?あるよ。以前のバージョンと違って標準構成だとデフォルトでインスコされるようになった。
337名無しさん@そうだ選挙にいこう:2008/11/20(木) 00:55:35
>>334
再計算を自動記録でやってボタンに登録しておけばいいんじゃないのか

Sub Macro1()
Calculate
End Sub

こんな感じのを
この中に印刷マクロを含めてもいいし
338名無しさん@そうだ選挙にいこう:2008/11/20(木) 01:55:18
>>334
ファイルを開きなおすだけでも毎回変わるけど。
もしかして数字を変えながら何枚も印刷したいわけ?
だったら最初から質問にそう書いてくれなきゃ。
339名無しさん@そうだ選挙にいこう:2008/11/20(木) 01:57:32
>>334
ついでに言えば乱数ってのは次に何が出るか予想できない。同じ物が何度も続く可能性もある。
そういうのを許容するかどうかでも方法が変わってくるんだけど。
340名無しさん@そうだ選挙にいこう:2008/11/20(木) 02:11:41
>>334
Private Sub Workbook_BeforePrint(Cancel As Boolean)
  Calculate
End Sub
341334:2008/11/20(木) 06:29:27
おはようございます
お答え頂いた方、ありがとうございますm(__)m
今から会社に行って、試してみます
レス遅くなり申し訳ございませんでした
342名無しさん@そうだ選挙にいこう:2008/11/20(木) 09:08:43
>>330
その症状なら
ttp://hanatyan.sakura.ne.jp/dotnet/Excel08.htm
ちゃんと検索したのか?
343名無しさん@そうだ選挙にいこう:2008/11/20(木) 19:51:08
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 特定の日付 excel


特定のセルに日付が入力されていて、その日付が年を問わず1/1になった時に
隣のセルを2(普段は1)にしたいんですがどうすればいいでしょうか?
344名無しさん@そうだ選挙にいこう:2008/11/20(木) 20:01:00
>>343
=IF(TEXT(A1,"m/d")="1/1",2,1)
345334:2008/11/20(木) 20:02:32
ただいま^^/
ゴト日ということもあって事務所にいる時間なくて出来なかった><
For ・・・・・・・・・・・・
  ここでランダムにセットして  ← ここが大事
  印刷
  Next
みたいな記述してるんだけど、いいやりかたないですか?
あれば教えてくださいm(__)m
346名無しさん@そうだ選挙にいこう:2008/11/20(木) 20:07:00
347名無しさん@そうだ選挙にいこう:2008/11/20(木) 20:09:41
あの3行で幸せになれるんですか?
348334:2008/11/20(木) 20:10:12

334です
349343:2008/11/20(木) 20:34:47
>>344
問題理解! 解決しました、ありがとうございます。


>>347
とりあえず試してみましょう
350334:2008/11/20(木) 20:37:44
了解です(´・ω・`)
明日、会社でやってみますm(__)m
351名無しさん@そうだ選挙にいこう:2008/11/20(木) 20:59:19
なんか急に馴れ馴れしくなりやがったな
気持ち悪いヤツ
352名無しさん@そうだ選挙にいこう:2008/11/20(木) 21:05:04
これで会社のPC壊せば大人しくなるだろ
353名無しさん@そうだ選挙にいこう:2008/11/21(金) 07:05:12

【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel 条件付書式

条件付書式で作った書式を
条件に依存しない普通の書式に変換して他のシートにコピペしたいです
354名無しさん@そうだ選挙にいこう:2008/11/21(金) 08:21:03
条件付書式開いてそのままコピーすればいいだけなんじゃ・・・
355名無しさん@そうだ選挙にいこう:2008/11/21(金) 08:26:05
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 メニュー

メニュー→ファイルを選ぶと、使ってもないのにずっと”PDFに変換”ってのが表示されてて
非常に邪魔なんですが、これを消す方法はないでしょうか?
356名無しさん@そうだ選挙にいこう:2008/11/21(金) 11:35:33
【5 検索キーワード     】 メニュー
検索する気まるでなしワロタw
俺は答える気まったくしないから誰か親切な暇人さっさと教えてやれ!!!
357名無しさん@そうだ選挙にいこう:2008/11/21(金) 11:39:51
変換ソフトをアンインストールする
358名無しさん@そうだ選挙にいこう:2008/11/21(金) 11:42:50
むしろクリーンインストール
マジオススメw
359名無しさん@そうだ選挙にいこう:2008/11/21(金) 12:03:04
わからないんならレスしなきゃいいのに
360名無しさん@そうだ選挙にいこう:2008/11/21(金) 13:26:46
>>359
わかってても答える気がしない、と考えるのが妥当。
361名無しさん@そうだ選挙にいこう:2008/11/21(金) 13:36:45
>>355
メニューバーのオブジェクトにアクセスして、
"PDFに変換"ってキャプションのコマンドを削除すればいいよ
362334:2008/11/21(金) 17:36:40
こんな感じでなんとか・・・
Dim i As Integer
.
.
Randomize
i = Int(Rnd() * (10 - 2) + 2)
Range("YY") = Worksheets("XX").Cells(i, 1)
.
できました ありがとうございましたm(_ _)m
363353:2008/11/21(金) 18:20:14
>>354
出来上がった書式が必要なので
値がなくても書式が残るようにしたいのです
364名無しさん@そうだ選挙にいこう:2008/11/21(金) 20:05:51
>>363
ワークシートをWordにコピペすると条件が消えて結果だけが残る。それをもう一度Excelにコピペする。

ただし、このままだとセルの幅や高さが狂うから、コピー元のワークシートをどこかにコピーして書式をクリア、
そこへWordからコピーしなおせばうまくいくと思う。
365名無しさん@そうだ選挙にいこう:2008/11/21(金) 23:24:00
>>364
>>363は書式が必要だって言ってるのに、消してどうする
366名無しさん@そうだ選挙にいこう:2008/11/21(金) 23:34:03
>365
君の勘違い、よく読んでみ
367名無しさん@そうだ選挙にいこう:2008/11/21(金) 23:41:43
ぶっちゃけ>>363が一番悪い
説明不足にも程がある
368名無しさん@そうだ選挙にいこう:2008/11/22(土) 05:16:31
条件付き書式が適用されてるセルを、
条件が変わっても見た目(罫線、色、フォント)は変わらないように、
通常の書式を設定してコピーしたいってことでしょ。
369名無しさん@そうだ選挙にいこう:2008/11/22(土) 16:55:58
〜〜ってことでしょ
と念を押しても誰一人全く響かない
つまりは正しいのかどうかも判断できない
やっぱり>>363が悪いと言わざるを得ない
370368:2008/11/22(土) 17:25:21
別に擁護する気ないぞ。話を進めたいだけで
他にどんな解釈がある?オレには思いつかん

つか、さっさと補足説明しろ>>353
371名無しさん@そうだ選挙にいこう:2008/11/22(土) 17:40:14
>〜が一番悪い

( ´,_ゝ`)プッ。。ガキか!
372名無しさん@そうだ選挙にいこう:2008/11/22(土) 17:43:33
これで補足説明が必要ってどんだけ読解力がないんだよ。
これもゆとりの弊害か?
373名無しさん@そうだ選挙にいこう:2008/11/22(土) 17:55:56
>>372
誰に言ってんの?オレは>>368のように読んだんだが。
補足しろって言ってるのはその後の話。
>>364のやり方でいいのか、それじゃ駄目なのか。
じゃないと全然話が進まん
374372:2008/11/22(土) 17:56:23
あー何か誤解されそうだ。
上は>369に宛てたレスで
>つまりは正しいのかどうかも判断できない
とはバカだな。ということ。
375名無しさん@そうだ選挙にいこう:2008/11/22(土) 18:01:51
>>374
了解
376372:2008/11/22(土) 18:02:00
一足遅かったか。

>>373
ここでは質問者のレスを求めるだけ無駄だと思うよ。
回答がついても8割が結果報告がない。
真面目に考えるのもほどほどにした方がいい。
だからここは回答者のレベルも低いし質問者もアレだから。
377330:2008/11/22(土) 18:08:26
>>342
VBとマクロのプログラミングについて色々調べましたが、結局
 EXCELファイルが壊れている
が正解だったらしく、
新しく作ったファイルにシートとマクロを全てコピーして移したら
再現しなくなりました。

コメントありがとうございました。
378名無しさん@そうだ選挙にいこう:2008/11/22(土) 18:15:53
>>376
それは質問系はどこもそうでしょw
「補足しろ」ってのは「解決して欲しいんなら」の話
379名無しさん@そうだ選挙にいこう:2008/11/22(土) 18:20:53
>>378
>それは質問系はどこもそうでしょw
MOUGあたりでさえ結果報告をしていないのはわずかだよ。

>「補足しろ」ってのは「解決して欲しいんなら」
解決してるのに結果を報告してしないだけ、という状況が8割あるって事。
だからあまり親身になるなって…
380名無しさん@そうだ選挙にいこう:2008/11/22(土) 18:34:22
>>379
2ちゃんの質問系スレってことね。オレが見てるとこ
別に解決しなくたって構わないし、行きがかりで軽く言っただけだって
揚げ足取ってまで他人の心配してるお前さんの方がずっと親身ww
雑談はそろそろ終わりにするべ
381名無しさん@そうだ選挙にいこう:2008/11/23(日) 11:03:12
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 一応
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel 関数 参照 などで

セルA1に"C1" セルB1に"D5"という値が入っている場合に
セルA1,セルB1を指定することでセル内の値をセル番号にして、sum(C1:D5)というようなことをしたいのですが
どのようにすればいいでしょうか?
382名無しさん@そうだ選挙にいこう:2008/11/23(日) 11:21:05
INDIRECT
383名無しさん@そうだ選挙にいこう:2008/11/23(日) 11:35:25
>>382
ありがとうございました
384名無しさん@そうだ選挙にいこう:2008/11/23(日) 13:14:52
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 ???


散布図グラフを書くときに、目盛りラベルを下端/左端にして
目盛りと補助目盛りも一緒にグラフの枠に持って行きたいのですが
どうすれば良いのでしょうか?
Excelではこれは出来ないのでしょうか?
よろしくお願いいたします。
385名無しさん@そうだ選挙にいこう:2008/11/23(日) 14:59:11
たぶんメニューのグラフ→グラフのオプション→目盛り線
386名無しさん@そうだ選挙にいこう:2008/11/23(日) 15:26:44
>>385
それだとグラフの軸の端から端までの長い線なのですが、
それではなく短い線がほしいのですが・・
よろしくお願いいたします。
387名無しさん@そうだ選挙にいこう:2008/11/23(日) 15:31:24
>386
補助目盛の種類を 内向き に
補助目盛自体の表示はなしで。
388名無しさん@そうだ選挙にいこう:2008/11/23(日) 19:47:06
>>387
どういうことですか?
補助目盛の種類を 内向き に しつつ
補助目盛自体の表示をなしにするにはどうしたら良いのですか?
389名無しさん@そうだ選挙にいこう:2008/11/23(日) 23:33:37
>388
既に表示されてる補助目盛をクリックしてdeleteで消すか、
グラフオプションで補助目盛のチェックはずす。

それとは別に、y軸ダブルクリックで目盛線のオプション出して
補助目盛の種類を内向きに。
390名無しさん@そうだ選挙にいこう:2008/11/24(月) 04:36:51
Excel2007使っています。
自動調整される行の高さについてですが、
既定の高さを変更することはできないでしょうか。
自動で調整すると上下に余裕がなく見づらいので、
上下〜ポイント空けて自動調整とかしたいです。
全体指定→行の高さをドラッグ調整だと
一行の行と改行している行が均一の高さになってしまいます。
391名無しさん@そうだ選挙にいこう:2008/11/24(月) 10:55:32
>>390
セル内改行を一行余分にすると解決
392名無しさん@そうだ選挙にいこう:2008/11/24(月) 11:35:06
>>390
はいムリー
393名無しさん@そうだ選挙にいこう:2008/11/24(月) 12:02:40
行の高さ規定値は標準のフォントサイズで決まる
394名無しさん@そうだ選挙にいこう:2008/11/24(月) 12:54:31
>>390
VBA使えば出来るかも。
自動調節した後、全体を指定したポイント分空けたサイズに再調整。
395名無しさん@そうだ選挙にいこう:2008/11/24(月) 14:25:15
>>389
いや、だからその方法では目盛りはy=0とx=0の軸にしか目盛りは表示されないんです。
396名無しさん@そうだ選挙にいこう:2008/11/24(月) 14:46:44
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可


例えば、r=x+y^2+z^3
のグラフを書きたい場合、あるx、y、zのための列とそれぞれ作って、それらの値を参照する形で、
x+y^2+z^3の式を一つセルに入力した後、このセルをオートフィルして複数のセルに
連番になるように入力しますが、
もしr=x+y^2+z^3の式をr=x^2+y^2+z^3に変更したいとします。するといちいちオートフィルで
全て新しい数式でリプレイスする必要があり、非常に不便です。
これをある1つのセルの数式を変更するだけで済むような方法がありましたら教えて下さい。
397名無しさん@そうだ選挙にいこう:2008/11/24(月) 15:00:44
>390
自分で行の高さとかいろいろ設定したブックを作っておいて、「ひながた」として
利用すればいいんじゃないの? 元となるブックは「読みとり専用」にしておけば
上書き保存できず、「名前を付けて保存」ダイアログが表示されるから誤って書き
換えることはない。
398名無しさん@そうだ選挙にいこう:2008/11/24(月) 15:05:14
>>390
関係ない一列を選んで文字サイズをでかくする→行高が一律に広がる
>>396
x+y^2+z^3この式は→x^1+y^2+z^3こう考えても同じだよね
べき数をセル参照にしとけばどうかな
399名無しさん@そうだ選挙にいこう:2008/11/24(月) 15:06:49
>>396
数式の中の関数、演算子、セル名も検索や置換が可能だから、その例の場合なら「+y」を「^2+y」に置換すればいい。

一般的に数式を一括で置き換える方法は存在しないので、もっと複雑なことをやりたいなら
その内容に応じて工夫をする必要がある。
たとえば作業列を使って「x^2」「y^2」「z^3」を個別に計算し、さらに別の列で合計を出すとか、
係数や除数なども個別に用意した作業列に入れてしまうなど。
400名無しさん@そうだ選挙にいこう:2008/11/24(月) 15:14:10
行の高さくらい一括でかんたんに変更できるんだからそれでよさそうなもんだが
401名無しさん@そうだ選挙にいこう:2008/11/24(月) 15:20:03
フォントサイズの変更、セル内改行、セル結合を一切やってなければ可能だけど
今回は少なくともセル内改行は使ってるみたいだから。
402名無しさん@そうだ選挙にいこう:2008/11/24(月) 15:24:13
>>399

上記の例のような簡単な場合だとそれでも良いのですが、
もっと複雑な場合どうすれば良いのでしょうか?
あるセルに数式だけ入力しておいて、その式と変数をそれぞれ参照するような機能はないのでしょうか?

例えばf(x,y,z)と入力するだけで、あるセルに入力されたf(x,y,z)の関数を呼び出せるみたいな機能を必要としているのですが

よろしくお願いいたします。
403名無しさん@そうだ選挙にいこう:2008/11/24(月) 15:25:28
エクセルで一定の余白がほしい時たしかにあるなあ
余白用のセル用意したりいろいろ工夫するけど
テキストボックスみたいに書式設定から余白を設定できると確かに便利だなあ
404名無しさん@そうだ選挙にいこう:2008/11/24(月) 16:02:50
>>402
そういうことができるのがVBA。関数を自分で定義したいならこんなふうに書くだけ。

Function f(x,y,z)
  f=x^2+y^2+z^3
End Function
405名無しさん@そうだ選挙にいこう:2008/11/24(月) 16:03:32
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可


数式をコピーしたいときに、普通にコピーしたのでは
セルの中にC8とかD4とかセル番号が入っていると
D8とかE4になってしまいますが、これをそのままコピーするにはどうしたら良いのでしょうか?
$C$8とかにすればこれを回避出来るのですが、$を使わずに出来る方法があれば
教えて下さい。
よろしくお願い致します。
406名無しさん@そうだ選挙にいこう:2008/11/24(月) 16:04:13
>>405
数式バーをコピーして貼り付けたらどうよ?
407名無しさん@そうだ選挙にいこう:2008/11/24(月) 16:21:51
>>405
別解
まず絶対参照で作ってから、置換えで「$」を消す
408名無しさん@そうだ選挙にいこう:2008/11/24(月) 17:18:37
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否


B13 B14 B15 B16 ・・・・・・

みたいに横向きに連番を作りたいのですが
どうすれば良いのでしょうか?
普通に連番とかオートフィルをしてもうまくいきません。
よろしくお願い致します。
409名無しさん@そうだ選挙にいこう:2008/11/24(月) 17:22:33
できるけど?
410名無しさん@そうだ選挙にいこう:2008/11/24(月) 17:29:21
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否


=B13 =B14 =B15 =B16 ・・・・・・

という意味です。
よろしくお願い致します。
411名無しさん@そうだ選挙にいこう:2008/11/24(月) 17:32:03
>>410
まずB13、B14、B15と作ってからBを=Bに置換すれば=B13、=B14、=B15になる
412名無しさん@そうだ選挙にいこう:2008/11/24(月) 17:59:27
だからExcelは計算するソフトであって見栄えや体裁を整えるソフトではないと
413名無しさん@そうだ選挙にいこう:2008/11/24(月) 18:03:33
【1 OSの種類         .】 Windows2k
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否


F1*G1+F2*G2+F3*G3・・・・・・・

みたいな計算をしたいのですが、SUMを使ってもうまくいきません。
VBAを使わずにこういうことって出来ないものなのでしょうか?
414名無しさん@そうだ選挙にいこう:2008/11/24(月) 18:13:47
>413
配列数式
415名無しさん@そうだ選挙にいこう:2008/11/24(月) 18:19:11
>>413
=SUMPRODUCT(F1:F10*G1:G10)
416名無しさん@そうだ選挙にいこう:2008/11/24(月) 18:20:51
>>414
ありがとうございます。
配列数式にかんして検索してみたのですが、よく分かりません。

>>415
もし
F1*G1^2+F2*G2^2+F3*G3^2・・・・・・・
みたいな式だったらどうすれば良いのでしょうか?
よろしくお願い致します。
417名無しさん@そうだ選挙にいこう:2008/11/24(月) 18:24:14
>>416
=SUMPRODUCT((F1:F10*G1:G10)^2)
418名無しさん@そうだ選挙にいこう:2008/11/24(月) 18:25:07
>>416
中途半端に質問を書くからそうなるんだ!
俺が>415だったらもう2度とこの関連質問には答えない。
419名無しさん@そうだ選挙にいこう:2008/11/24(月) 18:26:21
>>416
配列数式の場合は
{=SUM(F1:F10*G1:G10)}
とか
{=SUM((F1:F10*G1:G10)^2)}
とか
420名無しさん@そうだ選挙にいこう:2008/11/24(月) 18:33:36
>>417,419
おれの感違い?

F1*G1^2と(F1*G1)^2は違う気がするんだけど
421名無しさん@そうだ選挙にいこう:2008/11/24(月) 18:39:10
優先順位は^→*の順だから、F*G^2ならF*G*Gだね。
(F*G)^2はF*G*F*Gになる。
422名無しさん@そうだ選挙にいこう:2008/11/24(月) 18:44:20
【1 OSの種類         .】 Windows2k
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否


=C1001
=C1000
=C999
=C998
・・・

みたいな逆連番をつくりたいのですが、どうしてもうまくいきません。
どなたか助けてください。
423名無しさん@そうだ選挙にいこう:2008/11/24(月) 18:48:35
424名無しさん@そうだ選挙にいこう:2008/11/24(月) 18:48:53
>>422
まずC1000、C999と入れてオートフィル。次にCを=Cに置換。
425名無しさん@そうだ選挙にいこう:2008/11/24(月) 18:55:18
>>418 感想専門の人
こんなに似た質問が続くのはどう思う?
426名無しさん@そうだ選挙にいこう:2008/11/24(月) 18:55:51
>>422-423
選択したセルだけ置換する方法ってないのでしょうか?

というかもっとスマートな方法ってないのでしょうか?
427名無しさん@そうだ選挙にいこう:2008/11/24(月) 19:00:10
>選択したセルだけ置換する方法ってないのでしょうか?
あります

>というかもっとスマートな方法ってないのでしょうか?
あります
428名無しさん@そうだ選挙にいこう:2008/11/24(月) 19:05:44
複数セルを選択した状態なら選択セルだけが置換対象になる
429名無しさん@そうだ選挙にいこう:2008/11/24(月) 19:07:29
>>426
どうしてもうまくいかなかったヤシが方法を教えてもらっておいて
納得いかずにもっとスマートな方法ないか聞くなんて。。。
430名無しさん@そうだ選挙にいこう:2008/11/24(月) 19:19:05
スマート(笑)
431名無しさん@そうだ選挙にいこう:2008/11/24(月) 19:35:35
シンプルな方法を教えれ
432名無しさん@そうだ選挙にいこう:2008/11/24(月) 19:39:15
=INDIRECT("C"&(1001-ROW()))
とか?
433名無しさん@そうだ選挙にいこう:2008/11/24(月) 19:51:30
>>424,428

置換しようとしてもなぜか
「入力された数式は正しくありません」
とエラーが出てきて入力出来ないのですがどうすれば良いのでしょうか?
434名無しさん@そうだ選挙にいこう:2008/11/24(月) 19:51:45
スマートな方法教えてくれ
435名無しさん@そうだ選挙にいこう:2008/11/24(月) 19:56:06
まず痩せろ
436名無しさん@そうだ選挙にいこう:2008/11/24(月) 19:57:39
1012/C$7とかだと分母のC$7も一緒に連番になってしまうのですが
どうすれば良いのですか?
437名無しさん@そうだ選挙にいこう:2008/11/24(月) 20:25:47
>>436
中途半端に質問を書くからそうなるんだ!
俺だったらもう2度とこの関連質問には答えない。
438名無しさん@そうだ選挙にいこう:2008/11/24(月) 20:47:18
ひとりが暴れてるだけっぽいね
439名無しさん@そうだ選挙にいこう:2008/11/24(月) 20:52:27
>>436
ちょっとは頭使って応用しろよ…
1012/C$でオートフィルしてから$を$7に置換
440名無しさん@そうだ選挙にいこう:2008/11/24(月) 21:23:51
【1 OSの種類         .】 XP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 ほんの少し
【4 VBAでの回答の可否】 可

仕事でファイルを作っているのですが詰まってしまいました
マクロの記録を改造するぐらいしか出来ないので
対応する値等が常に変化する場合に対応できず困っています。。。
助けてくださいm(_ _;)m


Range("D2").Select
Selection.End(xlDown).Select
Selection.End(xlToRight).Select

D2から最終行を選択して隣の隣のF列の同じ行のセルを選択している状態です

このセルからD2までの範囲をコピーするというマクロを組みたいのですが
どうすればよいのでしょうか?
441名無しさん@そうだ選挙にいこう:2008/11/24(月) 21:29:57
【1 OSの種類         .】 XP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 否
【4 VBAでの回答の可否】 可


Sum(A2:A$2)
Sum(A3:A$2)
Sum(A4:A$2)
Sum(A5:A$2)
Sum(A6:A$2)
という連番を作製したいのですが、どうしても出来ません。
どうすれば良いのでしょうか?
どなたかたすけてください
442名無しさん@そうだ選挙にいこう:2008/11/24(月) 21:36:28
頼むからこんな頭の悪いソフト作ったやつ
誰か殺してくれ・・・・
443名無しさん@そうだ選挙にいこう:2008/11/24(月) 21:37:35
>>441
普通にできたよ?
=SUM(A$2:A3)
=SUM(A$2:A4)
=SUM(A$2:A5)になるが、計算結果は変わらない。

ってか吊られた?
444名無しさん@そうだ選挙にいこう:2008/11/24(月) 21:41:05
>>440
書き方はいろいろあるんだけど、その3行を生かすなら、
range(range("D2"),selection).copy <コピー先>
って書けばいいよ。<コピー先>のとこは別の range に書き替えてね

>>443
うん
445名無しさん@そうだ選挙にいこう:2008/11/24(月) 21:41:09
>>441
なんだこれ?

とりあえずは
aa2bb
aa3bb
とオートフィルで連番作って
aaをSum(A
bbを:A$2)
に置換すれば解決できる。
446名無しさん@そうだ選挙にいこう:2008/11/24(月) 21:42:18
>>440
それだとF列を選択したことにはならない。入ってるデータによって範囲が変わってしまう。
D〜F列をコピーするのはこう。

Range("D2").Select
Range(Selection, Selection.End(xlDown).Offset(0, 2)).Copy

Selectionが基準となるセル、End(xlDown)で空白を除いた一番下、Offset(0,2)で2列右を指定している。
最後にCopyを付ければ、選択範囲がコピーされる。
447名無しさん@そうだ選挙にいこう:2008/11/24(月) 21:44:03
>>443
これは良い釣りだったw
しかし良く一瞬で気付いたな

448名無しさん@そうだ選挙にいこう:2008/11/24(月) 21:45:07
>>445
ありがとうございます。

aa2bb2cc
aa3bb3cc

みたいな連番を作りたい場合にはどうすれば良いのでしょうか?
よろしくお願い致します。
449名無しさん@そうだ選挙にいこう:2008/11/24(月) 21:46:35
>>448
吊りじゃなかったのかよ!
450名無しさん@そうだ選挙にいこう:2008/11/24(月) 21:46:50
>>440
Range("D2:F65536").Copy
をやりたいってこと?

>>441
おめーわざとだろw
451名無しさん@そうだ選挙にいこう:2008/11/24(月) 21:47:29
連番ネタはもういいよ
452名無しさん@そうだ選挙にいこう:2008/11/24(月) 21:47:29
釣りってか、構ってちゃんでしょ
453名無しさん@そうだ選挙にいこう:2008/11/24(月) 21:47:59
441のターゲットは445
454名無しさん@そうだ選挙にいこう:2008/11/24(月) 21:48:18
具体的には
Sumproduct(A2:A$2*C$2:C2)
Sumproduct(A3:A$2*C$2:C3)
Sumproduct(A4:A$2*C$2:C4)
Sumproduct(A5:A$2*C$2:C5)
Sumproduct(A6:A$2*C$2:C6)

ということがしたいのですが・・・・

455名無しさん@そうだ選挙にいこう:2008/11/24(月) 21:50:15
>>448
a1=aa2bb
b1=2cc
c1=a1&b1
後は下にオートフィルだ
456名無しさん@そうだ選挙にいこう:2008/11/24(月) 21:53:39
SUMPRODUCT本来の使い方になぜ*を入れるのかだぜ
457名無しさん@そうだ選挙にいこう:2008/11/24(月) 21:58:08
あ…ありのまま 今 起こった事を話すぜ!
『必死こいて入力して置換して・・
と説明し終わると 実は最初から解決していた』

な…何を言ってるのかわからねーと思うが
おれも何を言ってるのかわからねぇ
458名無しさん@そうだ選挙にいこう:2008/11/24(月) 21:59:25
>>433
何がやりたいのかちゃんと書いてくれ。C1000を=C1000に置換するだけなら問題なくできる。
本当はもっと長い、別の式でやろうとしてるんだろ?
459名無しさん@そうだ選挙にいこう:2008/11/24(月) 22:13:12
440です
>>444
>>446
さんありがとうございました!!
書き込んだ後に検索して本を調べて下記のようなコードで無事動いて
喜んでいたのですが
お二人のコードがはるかにスマートで感動しました
頑張って勉強します!

下 = 2 '基点セルの行番号(この場合はD2の2)
右 = 4 '基点セルの列番号(D2のDの数字表記)
上 = Range(Cells(下, 右), Cells(下, 右)).End(xlDown).Row '右下端検出
左 = Range(Cells(下, 右), Cells(下, 右)).End(xlToRight).Column '右端検出
Range(Cells(上, 左), Cells(下, 右)).Select '検出した範囲を選択
Selection.Copy
460名無しさん@そうだ選挙にいこう:2008/11/24(月) 22:17:39
>>458
いろいろやってみましたが、やはりVBAを使わなければ無理なことが分かりました。
元の式を多少簡略下したかたちなのですが、


f(x) = ∫(500〜x)[(1/(sqrt(y-x))*f(y) - (1/(sqrt(y-x))*df(y)/dy]dy
f(y) = 実験的に求めた数値でしか分かっていない関数(B1〜B2000にあるとします。)
        A1〜A2000にはxの500から0まで数値が入っています。

上記のf(x)をExcelでグラフ化したいと考えています。
y-xが分母にあるので発散するような気もしますが、引き算になっているので打ち消し合って有限の値を持つと思います。

f(y)は決まった関数ではなく実験的に求めれらた離散的な値であるため、数値積分するしかないのですが
何とかセル上でSumProductなどを使ってグラフ化しようと試みたのですが、
かなりややこしいことになってしまい、どうしてもうまくいきませんでした。

従ってVBAを使ってグラフ化したいと考えているのですが、VBAを今まで使ったことがありません。
どなたか見本を見せて頂けないでしょうか?

よろしくお願い致します。

461名無しさん@そうだ選挙にいこう:2008/11/24(月) 23:26:33
>>460
君が、聞く耳と応用力に欠けている事がよくわかった
462名無しさん@そうだ選挙にいこう:2008/11/24(月) 23:54:24
463名無しさん@そうだ選挙にいこう:2008/11/25(火) 00:09:01
よく見付けたね
464名無しさん@そうだ選挙にいこう:2008/11/25(火) 01:05:43
最近の検索エンジンはキャッシュするの早いからな
2chのレスとかも数十分後にはキャッシュされてて検索に引っかかったりする
465名無しさん@そうだ選挙にいこう:2008/11/25(火) 07:09:05
そういう事じゃなくて遠まわしにキモイって言われてるんじゃ…
466名無しさん@そうだ選挙にいこう:2008/11/25(火) 07:32:22
その程度でキモがるようじゃ生きていくのも辛かろう
467名無しさん@そうだ選挙にいこう:2008/11/25(火) 09:54:13
>>454
おめーくだらない釣りすんなよ。
そんなのにSUMPRODUCT使うヴァカはいくらなんでもいねーだろよ。
掛け算と足し算で簡単じゃねーか。
D2以下の式なら
D2に=A2*C2
D3以下に=D2+A3*C3
で簡単だろ?

D2以下に=SUM(D1,A2*C2)でもいいけどな。
468名無しさん@そうだ選挙にいこう:2008/11/25(火) 09:57:23
キモイやつを敏感に察知できると安全に生活できるぞ
ヤツラの事は逆なでせずにそっとしておけ
469名無しさん@そうだ選挙にいこう:2008/11/25(火) 14:44:08
という書込み自体が奴等を逆撫でしてる
468はキモイ奴を敏感に察知出来ても、避けられずに構ってしまい、
結局は「安全に生活」出来ない悲しい奴

470名無しさん@そうだ選挙にいこう:2008/11/25(火) 15:02:38
どうしても、トリは自分でとりたいみたいだね
カワイイよ
471名無しさん@そうだ選挙にいこう:2008/11/25(火) 15:12:55
> どうしても、トリは自分でとりたいみたいだね
> カワイイよ

という書込が行われた時点でのトリ = >>470

この子、自分で卑下してることを2回続けて自分でやってる
可愛すぎ
472名無しさん@そうだ選挙にいこう:2008/11/25(火) 15:28:48
462だけど、もしかしてヤツラの「ラ」って俺?
よく見つけたも何も、一発ぐぐったらすぐトップに出てきたんだが。
まあいいけど
473名無しさん@そうだ選挙にいこう:2008/11/25(火) 16:23:53
457だけど、複数のサイトで解答者やってるだけだと思ってたぜ
確かにぐぐったら一発で、何のことは無い
474名無しさん@そうだ選挙にいこう:2008/11/25(火) 16:46:48
また上から目線選手権か
そんなポーズしても、誰もお前らの事なんか見てもいなければ気にしてもねーから
475名無しさん@そうだ選挙にいこう:2008/11/25(火) 16:59:35
>>474
俺の上から目線が優勝だぜ!!
476名無しさん@そうだ選挙にいこう:2008/11/25(火) 17:02:04
普通はわざわざググらない
477名無しさん@そうだ選挙にいこう:2008/11/25(火) 17:10:20
お前の普通が全てではない
478名無しさん@そうだ選挙にいこう:2008/11/25(火) 17:10:30
積分をぐぐった俺に謝るんだ
479名無しさん@そうだ選挙にいこう:2008/11/25(火) 17:19:53
ごめん
480名無しさん@そうだ選挙にいこう:2008/11/25(火) 17:25:48
めんご!
481名無しさん@そうだ選挙にいこう:2008/11/25(火) 17:27:25
質問です。
数値が入っているセルの中身を、○○万円、と表示させたいのですが、この時セルの中身を3ケタ単位で
カンマ区切りしたい場合どうしたらいいでしょう?

例えば、A1:A3に、

100
5000
30000

と入っている場合、B1:B3に、

100万円
5,000万円
30,000万円

と表示させたいのです。よろしくお願いします。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 みようみまねで少しだけ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル 金額 変換 千円単位

482名無しさん@そうだ選挙にいこう:2008/11/25(火) 17:31:25
>>481
書式設定で
0,0万円
483名無しさん@そうだ選挙にいこう:2008/11/25(火) 17:34:14
>>481
#,##0"万""円"
じゃないか?
484名無しさん@そうだ選挙にいこう:2008/11/25(火) 17:35:29
>>482
え・・・簡単に解決するのかなとは思いましたけど、そんだけ?・・・ありがとうございました。
なんか落ち込むわ・・・orz
485名無しさん@そうだ選挙にいこう:2008/11/25(火) 17:41:31
>>483でほぼ正解。"万""円"でも間違いじゃないけど"万円"の方がいいと思う。
0,0万円だと余計な0が入る。1万円が01万円になる。
486名無しさん@そうだ選挙にいこう:2008/11/25(火) 21:25:41
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】
【5 検索キーワード     】


VBAでB2とかC3とかセル番号の打ち込み方を教えて下さい。

487名無しさん@そうだ選挙にいこう:2008/11/25(火) 21:38:58
>486
意味不明。 何をしたいのかを具体的にどうぞ。
488名無しさん@そうだ選挙にいこう:2008/11/25(火) 22:19:50
>>487
具体的には
・ファンクションプロシージャを用いて
(C8*D8^3-A1000)+(C9*D9^3-A999)+(C10*D10^3-A998)+・・・・
というような計算をしたいのですが、
C8といったセル番号の読み込み方とC8,C9・・・と上げていくやりかたが分かりません。
何卒よろしくお願い致します。
489名無しさん@そうだ選挙にいこう:2008/11/25(火) 22:26:34
>>488
iを変数としてセルの値を取得したいなら
Range("C"i).Valueてやればいいんじゃないのか
もしくはCells(i,3).Valueでもいいし
490名無しさん@そうだ選挙にいこう:2008/11/25(火) 22:33:24
>>489
ありがとうございます。
でも、Range("C"i).Valueと打ち込むとエラーが出てくるのですが・・・
491488:2008/11/25(火) 22:37:26
ごめんなさい適当な解答してしまいました
Range("C"& i ).Valueです
これをfor i=8 to 1007〜nextとかで可変させて累計させていけば・・・
もっと効率のいいやり方とかは詳しい人を待って
492名無しさん@そうだ選挙にいこう:2008/11/25(火) 22:42:18
例えば

Function Fun(x)
For i = 14 To 20
Fun = Range("k" & i) * x
Next
End Function

と打ち込んでもK14〜K20の値は反映されず
7*xの値が出力されるだけなのですが・・・
どこが間違っているのでしょうか?
493名無しさん@そうだ選挙にいこう:2008/11/25(火) 23:00:48
昨日から何度も逆順のオートフィルとかSUMPRODUCTの質問してる人
何がやりたいのかもうちょっとはっきり書いてください
494名無しさん@そうだ選挙にいこう:2008/11/25(火) 23:01:41
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

xlsファイルを編集後、上書き保存ができなくなることがあります。
上書きしようとすると、「このファイルは現在使用中です。もう少し後で・・・」
みたいなメッセージがでます。ちなみに他に使っている人はいません。
保存せずに閉じることはできます。
97-2003形式でファイルを編集しています。
495名無しさん@そうだ選挙にいこう:2008/11/25(火) 23:07:44
>>492
そのプログラムの無駄な部分を消してみるとこうなる。

Function Fun(x)
  Fun = Range("K20") * x
Next

つまり、K14〜K19が計算式のどこにも使われていない。
根本的におかしいんだけど、何がやりたいのか(どういう計算をやりたいのか)
わからないので修正できない。
496名無しさん@そうだ選挙にいこう:2008/11/25(火) 23:12:54
>>494
保存せずに閉じる時「変更を保存しますか?」というメッセージは出てる?
497名無しさん@そうだ選挙にいこう:2008/11/25(火) 23:19:38
たぶんK20に7があるからx*7なんだろう
ためしてないけどこれでどうよ

Function Fun(x)
For i = 14 To 20
Fun = Fun + Range("k" & i).Value * x
Next
End Function
498名無しさん@そうだ選挙にいこう:2008/11/25(火) 23:21:33
>>495
すいません、ありがとうございます。
解決しました。

それと別の質問なのですが、
ファンクションプロシージャでは
Function Fun(x)
・・・
End Function
という形で関数を定義しますが、この関数の中でこれとは別の関数を定義して使いたい場合にはどうすれば良いのでしょうか?
Function Fun(x)
・・・
Function Fun2(x)
・・・
End Function
・・・
End Function
みたいに入れ子状にすれば良いのでしょうか?
499名無しさん@そうだ選挙にいこう:2008/11/25(火) 23:21:53
>>497
試してないけどFun = Fun + の部分でエラーになる悪寒
500名無しさん@そうだ選挙にいこう:2008/11/25(火) 23:23:03
>>498
並べるだけ

Function Fun(x)
・・・
End Function

Function Fun2(x)
・・・
End Function
501名無しさん@そうだ選挙にいこう:2008/11/25(火) 23:23:49
>>500
それだとFun2の中ではFunが使えて
Funの中ではFun2が使えないのでしょうか?
502名無しさん@そうだ選挙にいこう:2008/11/25(火) 23:24:54
整数を定義するときInt()を使いますが
少数の場合はdoubleですよね?
double()と入力してもエラーが出るのですが、どうすれば良いのでしょうか?
503494:2008/11/25(火) 23:27:22
>>496
でます。
504名無しさん@そうだ選挙にいこう:2008/11/25(火) 23:33:22
なんかVBAの本一冊読んでからまた来たらどうかな
505名無しさん@そうだ選挙にいこう:2008/11/25(火) 23:55:47
>>502
どちらも使いません
506名無しさん@そうだ選挙にいこう:2008/11/26(水) 00:03:38
>>503
ファイルを直接開かなくても、知らないうちにマクロから開いてる可能性もあるよ。
自宅?会社?
共有フォルダに入ってる?
507名無しさん@そうだ選挙にいこう:2008/11/26(水) 00:31:05
>>501
VBAの場合、同じモジュール内で関数や手続きの呼び出しを制限するのは無理だと思う。
bからaを呼ぶこともできるし、aからbを呼ぶこともできる。
508名無しさん@そうだ選挙にいこう:2008/11/26(水) 05:02:25
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否 時間掛けて覚えたいとは思います
【5 検索キーワード     】売上げ平均  直近平日5日間 or 月間土日祝日 

月間売上げ集計表を作る段階で、平日のみ直近5日間を集計したいのですが、土日(祝日)をまたぐことで行き詰まってます。
なにかお手数ですがよろしくお願いします。
同様に、土日祝日の直近5日間を集計もしたいと思います。
また、月初めなど5日間のデータが集まらない場合、前月分から足りない分を取り込むことは可能でしょうか?前月分は同ファイルの別シートにあります。


日付         便  12/2    12/3    12/4     12/5    12/6      12/7      12/8    12/9      直近平日5日平均  土日祝直近5日平均
曜日             火      水     木       金     土       日        月 火
平日・土日祝日                    祝日
            1   50 晴    50 晴   100 曇   70 晴   100 晴   120 晴     20 曇   20 曇       42
  みかん      2   20 晴   20 晴    40 曇   30 晴    50 晴   50 晴     20 曇    20 曇       22
            3   0 雨   10 晴    30 曇   40 晴    50 晴   20 晴     20 曇    20 晴       18

  りんご

なお、日付け〜土日祝日項目までは、2つのセルを結合しております。
品物と天候による売上げ変動数を把握するためです。
また品名は、一日の集計が3度あるため、3つのセルを結合してます(無関係でしょうけど)

以上、よろしくお願いします。
509名無しさん@そうだ選挙にいこう:2008/11/26(水) 05:24:44
>>508
データはどうやって追加してくの?最終日(この場合は12/9)と平均の間に挿入?
510508:2008/11/26(水) 05:36:08
>>509
早速ありがとうございます。
わかりづらく、説明不足ですみません。日々入力をしていくのですが、項目自体は月末の後に入れる予定です。
当日までの5日間は常に数値化したいです。

余談ですが、これらは・・・
直近平日5日間の売上げ平均から、翌日の発注数の参考値にと考えております。
多すぎるとロスに、少なすぎると欠品になり、顧客離れを防ぐためです。
511名無しさん@そうだ選挙にいこう:2008/11/26(水) 05:39:26
>>508
集計の範囲が場合によって別シートにまたがるような場合、全自動で計算するにはVBA使わないと無理
512508:2008/11/26(水) 05:47:31
>>511
ありがとうございます。
そうですか・・・
>>508の件は、VBAを使わず3ヶ月分を一区切りにして応急処置します。
それまでVBAを勉強しますので!
513名無しさん@そうだ選挙にいこう:2008/11/26(水) 06:01:26
>>512
予定ってことは、これから作るのか?
データの集計のことを考えたら、こんなふうに1日が1列になるようにした方がいいぞ。
天気をどうしても一緒に入れたいなら、たとえばセルの色分けで表現するとか。
ttp://petite-soeur.dyndns.org/cgi-bin/up2/src/ps21240.png
514名無しさん@そうだ選挙にいこう:2008/11/26(水) 06:16:24
>>512
集計の範囲がその月だけなら簡単にできるよ。
平日の日数を入れる行を作って、データの入った平日だけをカウントするような式を入れる。
この部分の日数が1〜5の日を集計すればいい。
ttp://petite-soeur.dyndns.org/cgi-bin/up2/src/ps21242.png
515名無しさん@そうだ選挙にいこう:2008/11/26(水) 06:23:13
12月の表を11月25日ぐらいから始めるようにして11月のシートからデータを持ってきたら?
11月の分はセルの幅を0にして見えなくすればいい
516508:2008/11/26(水) 10:48:55
>>513
ありがとうございます。これから作ります。

重要な点の報告してませんでした。これ以外に集計や平均値を出す項目を作りたいと思います。
>>508の質問を教えていただいたら、他に引用できるかもと思ってましたが遠回りでした。失礼しました)
●追加したい項目
・各曜日の平均
・各曜日+便+天気毎の平均
・祝日の平均
・祝日+便+天気毎の平均

天気の良し悪しは売上げと関係してるので、明日の発注量は、天気なら平均より多めに、雨なら平均より少なめに。
とするヒントにと考えてました。

>>513さんが仰る、売上げ数量と天気を1日1セル(統合)で表しても、上記の集計が可能なら、確かに見やすく扱いやすいですね。
それは可能でしょうか?
517508:2008/11/26(水) 11:03:54
>>514
なるほど!なるほど!考え方の骨組みは理解できました。
ただ応用力がないので式化できるかどうか・・・時間掛けてやってみます ><

ところでこの画像UPは見易いですね。本来は私がこれでUPするべきでしたね。


>>515
ありがとうございます。なるほどです!
518名無しさん@そうだ選挙にいこう:2008/11/26(水) 11:06:00
天気を色で表現するのは勧めないなあ。天気毎の集計とかしづらくなる。

オレなら、
"日付", "曜日", "祝日", "便", "品名", 数量, "天気"
で1レコード(1行)の、月毎に区切らない生データ集積シート作って、
こういう月間集計とかは別シートでやるけど。
最初はめんどくさそうでも、後々データベース的に発展させるつもりなら、
その方が後々ラクだぞ。
519名無しさん@そうだ選挙にいこう:2008/11/26(水) 11:17:35
>>516
セルの色で集計するにはVBAが必須になるから、天気は文字で入れた方がいい。
あと天気の入力は1日1回でいいだろ。各品目の数量とは分けて。
ttp://petite-soeur.dyndns.org/cgi-bin/up2/src/ps21243.png
520名無しさん@そうだ選挙にいこう:2008/11/26(水) 11:41:51
>>516
そこまでやりたいんなら最低でもピボットテーブルを使った方がいい。
さらに理想を言えばExcelよりAccessのが適している。
とりあえずピボットテーブルを使うにはデータを縦一列に並べる必要がある。
ttp://petite-soeur.dyndns.org/cgi-bin/up2/src/ps21244.png

こういうデータを作っておけば、色々な集計が簡単にできるようになる。
月ごとの一覧表なんかもExcelの機能だけでワンタッチで作れる。
521508:2008/11/26(水) 12:00:15
>>518
とすると、データが集まっていくことを考えると、行と列の項目を入れ替えたほうが良さそうですよね?
品数は多くても40品目ぐらいなので。
業務上、月間集計やその区切りはあまり重要なデータではないので、早速実行します。

>>519
>>513=>>514=>>519様ですよね?
重ね重ねありがとうございます。了解しました。天気の件、早速実行します!

>>520
ピボットテーブル? 
見た目品祖な画像ですが(すみません><)、それがどう発展するのか?
いまから会社に行ってデータを吸い上げて、本屋に行ってピボットテーブルとやらを調べてきます。
なんか楽しみ。ありがとうございました!
522518:2008/11/26(水) 12:14:07
>>521
念のため、俺が言ってるのと>>520のはほぼ同じね
ピボット使うにしろ数式でやるにしろ、VBAにしろ access に移行するにしろ、
>>520みたいなテーブルにしとくと後々なんとでもなるよ
523名無しさん@そうだ選挙にいこう:2008/11/26(水) 12:45:54
EXILE2000
vba勉強中

[A会社]ファイル(EXILE)が在るか無いかvbaで判別する方法を教えてください

セルBに[A会社]と書いて有ったら[A会社ファイル]を開く
もし[A会社ファイル]が無ければ[A会社ファイル]を作成すると言う事をやりたいです
ifでやるっぽいのは解るのですがファイルが在るか無いか探す方法が解りません
ファイル作成と開く方法は解るのでファイルが在るか無いか判別する方法を教えてください、お願いします。
524名無しさん@そうだ選挙にいこう:2008/11/26(水) 13:01:21
芸能には疎いのでEXILEはよく分からんが
ExcelVBAでならファイルの有無はDirで調べることができる
525名無しさん@そうだ選挙にいこう:2008/11/26(水) 13:03:34
EXILEって、CDの在庫管理ですか
526EXILE:2008/11/26(水) 13:23:48
お昼にうとうとしながら書いちゃ駄目ですな(;´Д`)
EXILE ×
Excel ○
脳内変換お願いします…
>>524さん
Dirの使い方も出来れば教えて貰えますか?
527名無しさん@そうだ選挙にいこう:2008/11/26(水) 13:27:37
>>526
ヘルプ見れ
528名無しさん@そうだ選挙にいこう:2008/11/26(水) 13:39:36
529481:2008/11/26(水) 14:24:03
>>481の質問ですが、他のソフトに流し込んだ時にも同じ表示がされるようにするにはどうしたらいいのでしょうか?
他のソフトに流し込んだ時に、表示が元にもどってしまうんで困ってます・・・
530名無しさん@そうだ選挙にいこう:2008/11/26(水) 14:33:19
>>529
=TEXT(A1,"#,##0万円")
で、文字列に変換
531529:2008/11/26(水) 14:54:53
>>わー、できました!ありがとうございました。
532名無しさん@そうだ選挙にいこう:2008/11/26(水) 18:12:31
教えてください!
エクセルでテンキーの
エンターを押したときに
下に移動する様にしたい
のですがどうしたらよい
のでしょうか?
超初心者ですいません。
533名無しさん@そうだ選挙にいこう:2008/11/26(水) 18:44:54
ツール→オプション−編集−入力後にセルを移動する−下
534名無しさん@そうだ選挙にいこう:2008/11/26(水) 18:51:57
>>533
できました!

ありがとうございます!
535名無しさん@そうだ選挙にいこう:2008/11/26(水) 18:59:40
【1 OSの種類         .】 Windows98
【2 Excelのバージョン   】 Excel2k
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】


VBAで、選択したセルの番号を抽出する記述を教えて下さい。
行番号、列番号それぞれお願い致します。
536名無しさん@そうだ選挙にいこう:2008/11/26(水) 19:14:24
なんかわざと馬鹿質問連発してる人いない?
>>535
Selection.Rowで行番号、Selection.Columnで列番号を取得できるが、行番号や列番号は多分必要ないと思うよ?
Selection.ホゲホゲと書けば選択セルを操作できる。
537名無しさん@そうだ選挙にいこう:2008/11/26(水) 19:43:10
>>536
ファンクションプロシージャで選択したセルの位置が表示されるような
関数を作りたいのですが、どうすれば良いのでしょうか?
538名無しさん@そうだ選挙にいこう:2008/11/26(水) 20:22:02
>>535
またお前かよ。いちいち仕切り直さずにまとめて訊けよ
昨日の流れからするにユーザ定義関数作りたいんだろ?

function fun(c1 as range, c2 as range, x as integer)
fun = c1.value * c2.value ^ x
end function

これで、どっかのセルに
=FUN(A1, B1, 2)
って書けば、A1*B1^2 の値が返るから。後は応用しろ
539名無しさん@そうだ選挙にいこう:2008/11/26(水) 20:23:53
>>538
いや、そうじゃなくて、
セルの中身を取り出したいのではなくて、
セルの番地を取り出したいのですが・・
何卒よろしくお願い致します。
540名無しさん@そうだ選挙にいこう:2008/11/26(水) 20:30:15
>>539
それはもう>>536が答えてるだろ
541名無しさん@そうだ選挙にいこう:2008/11/26(水) 20:42:30
>>539
selection.address
つーかまとめてきけよ。
542名無しさん@そうだ選挙にいこう:2008/11/26(水) 21:10:38
Function row (x)
row = Selection.Row
End Function


で良いのですか?
うまくいかないのですが・・・
何卒よろしくお願い致します。
543名無しさん@そうだ選挙にいこう:2008/11/26(水) 21:12:40
>>542
rowという関数はすでにあるので別の名前にする
あとxはいらない

Function rowrow()
  rowrow = Selection.Row
End Function
544名無しさん@そうだ選挙にいこう:2008/11/26(水) 21:26:32
>>542
Function自体いらないんじゃね?
セルに直接 =ROW()
545名無しさん@そうだ選挙にいこう:2008/11/26(水) 21:27:24
ExcelやExcel VBAからは外れる質問とは承知しているのですが、
文系独学なうえ近くに教えを請える人も居ないので、
何方か親切な方、ご回答お願いします…(;´Д`)

ttp://pc11.2ch.net/test/read.cgi/tech/1206835319/348
546名無しさん@そうだ選挙にいこう:2008/11/26(水) 21:35:46
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】



VBAでいくつものセルに計算式を入力していると
その式を更新したときに、セルに表示される値が再度計算されなおしてくれないのですが、
これはどうすれば良いのでしょうか?
何卒よろしくお願い致します。
547名無しさん@そうだ選挙にいこう:2008/11/26(水) 21:45:21
formulaプロパティを指定して計算式を挿入している?
プロシージャ内にCalculateっていれてもダメ?

それとも昨日から流行ってるfunctionプロシージャ?
548名無しさん@そうだ選挙にいこう:2008/11/26(水) 21:50:53
>>546
ツール→オプション→計算方法→自動
549名無しさん@そうだ選挙にいこう:2008/11/26(水) 21:51:38
>>546
CalculateかScreenUpdatingかな
550名無しさん@そうだ選挙にいこう:2008/11/26(水) 21:59:25
ツール→オプション→計算方法→自動
をセットしてみてもうまくいきません。
何卒よろしくお願い致します。
551名無しさん@そうだ選挙にいこう:2008/11/26(水) 22:01:17
>>550
F9
552名無しさん@そうだ選挙にいこう:2008/11/26(水) 22:05:33
>>550
Sub 再計算()
  Application.ScreenUpdating = True
  Application.Calculation = xlCalculationAutomatic
  ActiveSheet.EnableCalculation = True
  Calculate
End Sub
553名無しさん@そうだ選挙にいこう:2008/11/26(水) 22:18:59
>550
同じシートの利用していないセルに適当な計算式を手動で入れておいて、参照元の値を
変化させてみてください。再計算しますか?
554508:2008/11/26(水) 22:26:18
>>522
あーもう・・・その言葉で方針転換します ( ^ω^)/
>>508→ >>520様、>>518=>>522様のアドバイスへと。

また、私から情報を引き出して下さった皆々様ありがとうございました。

しばらくデータ入力作業に徹しますので・・・(会社からの持ち出し禁止から、印字からの手入力になりました)
入力完了次第ピボットテーブルの用法について質問させていただくかもしれません。
その時はよろしくお願いします。
555545:2008/11/26(水) 22:35:07
リンク先にてご回答下さった方々が居るかと思いますので、
こちらでもお礼申し上げます
明日職場で試行錯誤しようと思います
556名無しさん@そうだ選挙にいこう:2008/11/26(水) 23:11:05
エクセルのグラフで2〜3列プロットして2〜3つの曲線(直線)
を1つのグラフに描く場合の質問です。

1つを点のみ、1つを線に繋ぐにはどうしたらいいのでしょうか?
グラフを描く前に点線か線に決めたら、2つとも同じにしかできません。


557名無しさん@そうだ選挙にいこう:2008/11/26(水) 23:14:56
なんかほんとわざと変な質問連発してるやつがいるよな。
釣られてみるかw

>542
ユーザー定義関数を入力したセルの行番号なら
Function rowrow()
  rowrow = Application.Caller.Row
End Function
だが、>>544の=ROW()で十分。
そうじゃなくて現在選択してるセルの行番号を、ユーザー定義関数でどこかのセルに表示するならそれは無理。
SelectionChangeイベントあたりと組み合わせりゃなんとかなるだろうが。

もしかして別質問の>>546も同じやつ?
558名無しさん@そうだ選挙にいこう:2008/11/26(水) 23:20:00
>>556
グラフの中の線や点を右クリック→データ系列の書式設定→パターン→線→なし
559名無しさん@そうだ選挙にいこう:2008/11/26(水) 23:35:17
釣られついでに答えると、もし現在選択してるセルの行番号をユーザー定義関数でどこかのセルに表示するなら
SelectionChangeイベントとかSheetSelectionChangeイベント等に
Application.CalculateFull
と書いておけば、>>543のユーザー定義関数でできる。
ただし他のすべての数式も計算するのでかなり馬鹿らしい。
560名無しさん@そうだ選挙にいこう:2008/11/27(木) 00:17:36
>>556
ためしてみたけどできませんでした。
1列1列が全部埋まっている
1 1
2 4
3 9  とかだとできるのですが

1    2
2  4
3    6
4  9
とかなので、線で設定しても点になってしまいます。
データがないのでどうしても空欄になってしまうのですが
どうしたらいいのでしょうか?
561名無しさん@そうだ選挙にいこう:2008/11/27(木) 00:42:08
>>560
ツール→オプション→グラフ→補完してプロットする
562名無しさん@そうだ選挙にいこう:2008/11/27(木) 01:02:11
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】マクロ、エクセル、データ、ウェブページ、
貼り付け、読み込み

はじめて質問させていただきます。
エクセルの列にあるデータを一つずつコピーしてウェブページの入力欄に
貼り付けるマクロを作りたいのですが、どうすれば良いでしょうか。
VBAは初心者ですが、時間をかければ読むことなら可能だと思います。
お手数ですが、どうぞよろしくお願いします。
563名無しさん@そうだ選挙にいこう:2008/11/27(木) 01:52:30
>>562
ページの構成が決まっていて、マクロの動作中にマウスやキーボード、他の常駐ソフトのポップアップなど
邪魔が入らないという前提なら、キーボードイベントを送るのが一番簡単。
564名無しさん@そうだ選挙にいこう:2008/11/27(木) 02:04:38
>>563
ありがとうございます。キーボードイベントについて少し調べてみましたが、
これはキーボードを押しているとき(あるいは放しているとき)などに動く
プログラムだと理解しました。ですが、これを使ってどのようにやれば良いのか
イメージできません。申し訳ございませんが、もう少しご教示願えますか?
あと質問についてですが訂正がありまして、ウェブページ自体は決まっている
のですが、入力欄に入力後'更新'ボタンを押すところまで自動化したいと考えて
います。
565名無しさん@そうだ選挙にいこう:2008/11/27(木) 02:29:03
>>564
こんな感じ

Option Explicit

Sub a()
  Dim ie As Object
  Set ie = CreateObject("InternetExplorer.application") 'ブラウザを開く
  ie.Visible = True
  ie.Navigate "http://www.google.co.jp/" 'ページを開く
  While ie.Busy = True 'ページの表示が完了するまで待つ
    DoEvents
  Wend
  
  SendKeys ("ぬるぽ") 'キーボードイベントを送って文字を入力する
  SendKeys ("{TAB}")  'TABキーを押したことにする
  SendKeys ("{ENTER}") 'Enterキーを押したことにする
End Sub
566名無しさん@そうだ選挙にいこう:2008/11/27(木) 02:52:11
>>564
この場合の「キーボードイベントを送る」というのは、キーボードからの入力をソフトウェアで再現すること。
アプリケーションからは、本当にキーが押されたのか、ソフト的に再現された物かは区別することができず
そのまま動作してしまう。
567名無しさん@そうだ選挙にいこう:2008/11/27(木) 03:12:33
>>565
ご丁寧に説明していただきありがとうございます。
例も挙げていただいて非常にわかりやすいです。
教えていただいたものを基に自分のものに合うよう
少し考えてみます。
ありがとうございました。

568名無しさん@そうだ選挙にいこう:2008/11/27(木) 11:54:03
今度Excelの基礎コースの教室へ行きます(全12時間)
これは初心者でも勉強せずに基礎コースいけますか?
Excel触ったことあるんですが、自信なくって・・・(文字うちこみと表作成と簡単な計算しかできない)
基礎コース=初級ではないですよね?
569名無しさん@そうだ選挙にいこう:2008/11/27(木) 12:14:54
>>568
んなもん教室によって違う
基礎コースなんて大概初心者向けだろうが不安なら聞いてみればいい
570名無しさん@そうだ選挙にいこう:2008/11/27(木) 12:31:36
>>568
初心者向けの講座なら予習はしなくても大丈夫なカリキュラムになってることが多い。
でも家に帰ってからの復習はどんな授業でも必須。
571名無しさん@そうだ選挙にいこう:2008/11/27(木) 13:54:45
マウスの使い方から有ると思われ
572名無しさん@そうだ選挙にいこう:2008/11/27(木) 14:07:30
>>568
なぜここで聞くwww直接問い合わせろよ
573名無しさん@そうだ選挙にいこう:2008/11/27(木) 14:16:28
>>572
2chで聞けば何でも親切に教えてくれると思っているに違いない
574名無しさん@そうだ選挙にいこう:2008/11/27(木) 15:40:00
俺は2chで聞けば何でも不親切に教えてくれると思ってる。
575名無しさん@そうだ選挙にいこう:2008/11/27(木) 16:09:32
excel2000sp3ですが
1.01-1.009=0.00100000000000011
となり正しく計算出来ないんですが
新しいバージョン買えば大丈夫ですか?
576名無しさん@そうだ選挙にいこう:2008/11/27(木) 16:36:51
>>575
釣り?
マジなら演算誤差というやつ

あ き ら め ろ 。
577名無しさん@そうだ選挙にいこう:2008/11/27(木) 16:42:56
578名無しさん@そうだ選挙にいこう:2008/11/27(木) 19:49:21
>>575
表示形式で小数点以下の桁数を制限して、
「表示桁数で計算する」にチェックを入れる。
579名無しさん@そうだ選挙にいこう:2008/11/27(木) 20:02:58
教えてくださいませ。
エクセルで作った資料を印刷したいのですが、Wordみたく1枚の紙に複数ページの印刷は可能でしょうか?

作成した資料はブック1〜3ありまして、ブック1、2を1枚目にブック3を2枚目に印刷したいのですがわかりませんので教えてください。

【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】
580名無しさん@そうだ選挙にいこう:2008/11/27(木) 20:23:27
>>579
コピーしてまとめるしかないな
その後印刷範囲の設定や、ページ設定で倍率の設定をすると良い
581名無しさん@そうだ選挙にいこう:2008/11/27(木) 20:40:16
>>580さん

やはりWordみたくはできないんですね。
580さん方法でやって、無事完了しました。
ありがとうがざいました。
582名無しさん@そうだ選挙にいこう:2008/11/28(金) 06:40:58
A4にしたいときって点線の中に書き込みますよね?
この前業者から送られてきたエクセルは点線はなく
書いた量だけ印刷時にすべてA4に収まるようになっていました。
こういう風にするにはどうすればいいのでしょうか?
583名無しさん@そうだ選挙にいこう:2008/11/28(金) 06:56:37
 ______                              
 |  |.| ∧∧                                      
=====(,,゚Д゚)∩=                                     
 |_|.⊂  ノ                                       
    /  0                                         
    し´                                       
                                             
 \ えっ…と、過疎でDAT落ち間近なのは・・・ /                        
    ̄ ̄ ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄                                
     ∧∧ ∧∧ __._                                 
    ∩゚Д゚,≡,゚Д゚)   |.|                                 
     `ヽ    |)====                                 
       | _ |〜 .|__|.|                                
       U U                                        
                                                
                                            
        ∧∧  ミ _ ドスッ                          
        (   ,,)┌─┴┴─┐                            
       /   つ.DAT 落ち│                            
     〜′ /´ └─┬┬─┘                           
      ∪ ∪      ││ _ε3                  
               ゛゛'゛'゛    
584名無しさん@そうだ選挙にいこう:2008/11/28(金) 08:20:31
毎年、秋から冬にかけてはヘルプで調べりゃ判る程度の質問が増えるね
どうしてだろ?
585名無しさん@そうだ選挙にいこう:2008/11/28(金) 08:22:31
そんな理由もわからないって相当なゆとりだな
586名無しさん@そうだ選挙にいこう:2008/11/28(金) 09:15:11
>>583
お前バカだな。
この程度じゃDAT落ちしねーよw

連続した数字を自動で書き込む
http://pc11.2ch.net/test/read.cgi/bsoft/1018002341

このスレ見てみな。
最後に書かれたのは1か月以上前
>59から>60に至るまでほぼ2年そのままだぞw
587名無しさん@そうだ選挙にいこう:2008/11/28(金) 10:14:17
Sheet1とSheet2の内容の違いを出力する為に以下のようなマクロを作りました。
このマクロ自体はSheet3で実行するのですが、Sheet1とSheet2の両方で空白のセルは結果が「0」と
表示されてしまいます。両方のシートで空白なのですから結果も空白としたいのですがどうしたら
良いでしょうか?どうかお助け下さい。
(このマクロはSheet3のセルA1に「=IF(Sheet1!A1=Sheet2!A1,Sheet1!A1,"●" & Sheet1!A1 & " → " & Sheet2!A1)」
と打ち込んでそれを下方向に1000行目までオートフィルし、さらにそのまま右方向に最終列までオートフィルして
作りました。)

Sub Macro1()
 Range("A1").Select
 ActiveCell.FormulaR1C1 = "=IF(Sheet1!RC=Sheet2!RC,Sheet1!RC,""●"" & Sheet1!RC & "" → "" & Sheet2!RC)"
 Selection.AutoFill Destination:=Range("A1:A1000"), Type:=xlFillDefault
 Range("A1:A1000").Select
 Selection.AutoFill Destination:=Rows("1:1000"), Type:=xlFillDefault
 Rows("1:1000").Select
End Sub

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】IF関数、マクロ、エクセル
588名無しさん@そうだ選挙にいこう:2008/11/28(金) 10:40:37
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】


Excelには「並び替え」というものがありますが、これをすると他の列にまでその並び替えが反映してしまいます。
これを他の列に影響が及ぼさないようにして並び替えする方法を教えて下さい。

それと例えば、選択したセルだけで、降順、昇順といった並び替えをする方法がありましたら教えて下さい。
589名無しさん@そうだ選挙にいこう:2008/11/28(金) 10:47:06
>>588
その操作でやってみるんだ
590名無しさん@そうだ選挙にいこう:2008/11/28(金) 10:56:04
>>587
"=IF(AND(Sheet1!RC="""",Sheet2!RC=""""),"""",IF(Sheet1!RC=Sheet2!RC,Sheet1!RC,""●"" & Sheet1!RC & "" → "" & Sheet2!RC))"
>>588
列を選択して並び替える時に「並び替えの前に」ってダイアログが出てくるはずなので
ここで範囲を拡張しなければいいだけのはずだが
591名無しさん@そうだ選挙にいこう:2008/11/28(金) 11:15:50
>>590

一致判定後に一方の""見ればANDは不要だけどね。
592名無しさん@そうだ選挙にいこう:2008/11/28(金) 11:33:08
>>591
なんて親切なやつだw
593名無しさん@そうだ選挙にいこう:2008/11/28(金) 11:36:20
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】


グラフのワークシートの上に文字を書きたいのですが、挿入のところにテキストボックスがありません。
どうやって挿入すれば良いのでしょうか?

いくつかのセルの内容に関連づけた状態でセルの中身をグラフのワークシートの上に
貼り付けたいのですが、どうすれば良いのでしょうか?

何卒よろしくお願い致します。
594名無しさん@そうだ選挙にいこう:2008/11/28(金) 13:04:09
>>593
「挿入」→「図」→「オートシェイプ」で、図形描画ツールバーを表示。
そこからテキストボックスを挿入出来る
595名無しさん@そうだ選挙にいこう:2008/11/28(金) 14:01:25
小数点を含んだ数字の列にダブルコーテーションを追加したいのですがどうすればよいでしょうか?

112.3376654
112.3376655
112.3376656
112.3376657
112.3376658

"112.3376654"
"112.3376655"
"112.3376656"
"112.3376657"
"112.3376658"

上記のようにしたいのですが;;
596名無しさん@そうだ選挙にいこう:2008/11/28(金) 14:06:26
>>595
'"112.3376654"
で表示は出来るが、量が多い場合どうすれば上手く行くか良く分からないな
597名無しさん@そうだ選挙にいこう:2008/11/28(金) 14:11:08
リストを作ったときのプルダウンメニューですが、
表示させるときのショートカットキーはありますか?
598名無しさん@そうだ選挙にいこう:2008/11/28(金) 14:16:25
>>595
作業列使えばいいじゃん
="""" & A1 & """"
みたいに

>>597
[Alt]+[↓]でいけなかったけ?
599名無しさん@そうだ選挙にいこう:2008/11/28(金) 14:24:41
>>598
ありがとうございます!
600名無しさん@そうだ選挙にいこう:2008/11/28(金) 14:26:16
>>598
>>595じゃないんですが、質問させて下さい
何故
="""" & A1
なんでしょうか?
" "の間には""が入ってるので、""が表示されると思うんですが・・
601名無しさん@そうだ選挙にいこう:2008/11/28(金) 14:45:06
602名無しさん@そうだ選挙にいこう:2008/11/28(金) 14:48:55
>>601
ありがとうございます
そんなルールがあったんですね
603名無しさん@そうだ選挙にいこう:2008/11/28(金) 14:57:49
>>594
ありがとうございます。
でもオートシェイプのところを見ても見あたらないのですが・・・

それとセルの内容との関連づけの方法もできれば教えて下さい。

よろしくお願い致します。
604名無しさん@そうだ選挙にいこう:2008/11/28(金) 15:03:56
>>603
表示→ツールバー→図形描画
605名無しさん@そうだ選挙にいこう:2008/11/28(金) 15:08:26
>>603
テキストボックスの内容を入力する場面で、テキストボックスの中ではなく
数式バーの方に「=A1」のように式を書く
606名無しさん@そうだ選挙にいこう:2008/11/28(金) 15:27:38
グラフエリアを選択してる状態で数式バーに「=」だけ打ち込んで、
マウスで関連付けしたいセルを選択すれば、勝手にテキストボックス作ってくれるよ
607名無しさん@そうだ選挙にいこう:2008/11/28(金) 15:37:45
>>606
知らんかった
608名無しさん@そうだ選挙にいこう:2008/11/28(金) 17:19:26
>>606
すげぇw
609名無しさん@そうだ選挙にいこう:2008/11/28(金) 19:37:27
>>606

ありがとうございます。

でも、わがまま言うようですけど
これって複数のセルを選択することはできないのでしょうか?
これができないとかなり不便なのですが・・・
610名無しさん@そうだ選挙にいこう:2008/11/28(金) 19:56:31
>>609
1つのテキストボックスから参照できるセルはどんな方法でも1つだけだったと思う
611名無しさん@そうだ選挙にいこう:2008/11/28(金) 19:58:59
>582
質問にはテンプレートを使ってください。無視されますよ。
まだ、誰も回答していないようなので、Excel2003で説明します。

ページ設定のダイアログにて 次のページ数に合わせて印刷(F) のラジオボタンをクリック
するだけです。 横と縦のページ数はいずれも 1 のまま。
拡大縮小率は自動的に変更されます。
612名無しさん@そうだ選挙にいこう:2008/11/28(金) 22:52:33
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

VBAに関しての質問なのですが、

For i = 1 To 10
・・・・
ActiveChart.SeriesCollection(1).Values = "=zero!R13C" & i & ":R1013C" & i
・・・・
Next
という表記を使うと
「修正候補
ステートメントの最後」
というエラーが出るのですが、どこを直せば良いのでしょうか?
よろしくお願い致します。
613名無しさん@そうだ選挙にいこう:2008/11/28(金) 23:07:51
>>612
どこも間違ってないからエラーの原因はほかにある。
たぶん直前の行あたりにダブルクォートか括弧が足りない。
614名無しさん@そうだ選挙にいこう:2008/11/28(金) 23:35:59
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

セルに
「="1わる3は"&1/3&"です"」
って入力すると
「1わる3は0.33333333です」
と表示されるけど、
ここで有効数字を小数点以下○桁って指定したいです
どうすればいいの?
615名無しさん@そうだ選挙にいこう:2008/11/28(金) 23:37:57
ROUNDワークシート関数使えばいいんじゃね?
616名無しさん@そうだ選挙にいこう:2008/11/28(金) 23:57:04
>>614
セルの書式設定 > 表示形式タブ > 数値 > 小数点以下の桁数
617名無しさん@そうだ選挙にいこう:2008/11/29(土) 00:09:21
相談に乗って下さい。
下のようなデータに都道府県ごとに関数を使って上から番号を
付けたいのです。

元のデータです。
01北海道
01北海道
01北海道
01北海道
02青森県
02青森県
  ↓
 下のようにしたのです。
  ↓
01北海道 1
01北海道 2
01北海道 3
01北海道 4
02青森県 1
02青森県 2

よろしくお願いします。
618名無しさん@そうだ選挙にいこう:2008/11/29(土) 00:12:54
>>617
c1に1を入れて、c2に、=if(b1=b2,c1+1,1)
以下、下方向にコピー
619名無しさん@そうだ選挙にいこう:2008/11/29(土) 00:14:23
>>617
b1に1を入れて、b2に、=if(a1=a2,b1+1,1)
以下、下方向にコピー
620名無しさん@そうだ選挙にいこう:2008/11/29(土) 00:14:33
>>618
できますた。サンキュウ。
621名無しさん@そうだ選挙にいこう:2008/11/29(土) 00:21:35
>>616
半年ROMってろ
622名無しさん@そうだ選挙にいこう:2008/11/29(土) 01:00:00
>>621
おk
623名無しさん@そうだ選挙にいこう:2008/11/29(土) 01:05:45
マクロを実行させるような関数ってない?
624名無しさん@そうだ選挙にいこう:2008/11/29(土) 01:16:11
>>623
セルに=マクロ()って書けば再計算のタイミングでそのマクロが実行される
マクロから別のマクロを実行したいなら、そのマクロ名を1行書くだけ
625名無しさん@そうだ選挙にいこう:2008/11/29(土) 02:06:51
>>609
選択だけは一応できるが、表示されるのは範囲の左上セルの値だけ

つか、どういうことがしたいのか具体的に書けよ
複数セルを書式のまま表示したければ、図のリンク貼りつけとか
複数セルの値を元に連結したものを表示したければ、連結用セルを作ればいいし
626名無しさん@そうだ選挙にいこう:2008/11/29(土) 04:53:25
Excel2007を導入したのですが
ワードアートで文字を挿入したあと、枠に合わせて文字の大きさを調節するのってどうやるんですか?
Excel2000だとデフォルトで枠を広げれば中の文字も枠に合わせて大きくなったんですが

解決法お知りの方、どなたかよろしくおねがいします
627名無しさん@そうだ選挙にいこう:2008/11/29(土) 06:36:17
>>626
書式→スタイル→変形→四角
ttp://downloads.myphotos.cc:8080/up1/src/FancyFree0584.jpg
628587:2008/11/29(土) 08:23:13
>>590
うまく空白が表示されるようになりました!
わざわざありがとうございます。・゚・(つД`)・゚・
629名無しさん@そうだ選挙にいこう:2008/11/29(土) 12:12:16
>>627
ありがとうございます、試してみます。
630名無しさん@そうだ選挙にいこう:2008/11/29(土) 14:00:59
>>615
調べたらいろいろ出てきました
ありがとうございます

>>616
それじゃ無理でした
631名無しさん@そうだ選挙にいこう:2008/11/29(土) 14:13:45
初心者板に人がいないので、こちらで質問させてください。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】   目盛り線 エクセル 範囲 


エクセルの折れ線グラフで、
縦軸の数値の一定範囲を帯のように強調して表示する方法ありませんか?

例えば、
折れ線グラフ上で60〜80%を合格範囲と表示する場合、
目盛り線と目盛り線の間を、違う色の背景にしたいんです。
632名無しさん@そうだ選挙にいこう:2008/11/29(土) 14:17:14
そういうのなら手作業で塗りつぶしの四角形いれればいいじゃん
633名無しさん@そうだ選挙にいこう:2008/11/29(土) 14:27:18
>>632
スマンもう少し詳しく説明してくれ
634名無しさん@そうだ選挙にいこう:2008/11/29(土) 14:32:46
塗りつぶしの 四角形を いれたら いいんじゃ ないでしょうか?
635名無しさん@そうだ選挙にいこう:2008/11/29(土) 14:42:03
>>634
スマンもう少し分かりやすく説明してくれ
636名無しさん@そうだ選挙にいこう:2008/11/29(土) 15:17:31
だからダーっといってポチっとすりゃいいんだよ
637名無しさん@そうだ選挙にいこう:2008/11/29(土) 15:29:22
初心者板から来た人なのに。。。ヒドス。。。
638名無しさん@そうだ選挙にいこう:2008/11/29(土) 15:30:36
初心者板って、日本語も通じないのか?!
639名無しさん@そうだ選挙にいこう:2008/11/29(土) 15:32:30
もう少しわかりやすく説明してください
じゃなくて
○○ってどーやんだわからんぞボケ
って聞けよ
640名無しさん@そうだ選挙にいこう:2008/11/29(土) 15:33:52
エクセルで塗りつぶしの四角形を描いたことがないならそういえよ
詳しくとかどこまで詳しく説明すればいいのかわかんないだろうが
641名無しさん@そうだ選挙にいこう:2008/11/29(土) 15:37:37
熱くなんなよ。別にお前ご指名で聞いてる訳じゃないだろうからさw
642名無しさん@そうだ選挙にいこう:2008/11/29(土) 15:44:16
そして質問の答えは一向に書き込まれないのであった。
643632:2008/11/29(土) 15:46:23
混乱させてしまい申し訳ないです。

塗りつぶしの四角形というのは、図形の四角を作り、塗りつぶした上で、
棒グラフの図に貼り付けろという意味ですか?

それだとグラフの線自体が消えてしまうのですが・・
644名無しさん@そうだ選挙にいこう:2008/11/29(土) 16:11:30
>>613
ありがとうございます。
Sub Macro4()

For i = 4 To 8
Charts.Add
ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = "=zero!R13C1:R1013C1"
ActiveChart.SeriesCollection(1).Values = "=zero!R13C"&i&":R1013C"&i
ActiveChart.SeriesCollection(1).Name = "=zero!R12Ci"
ActiveChart.Location Where:=xlLocationAsNewSheet
With ActiveChart
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "x axis"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "y axis"
End With
Next
End Sub


でもどこが間違えているのでしょうか?
赤いマークがついているのは、
ActiveChart.SeriesCollection(1).Values = "=zero!R13C"&i&":R1013C"&i
の行なのですが・・
よろしくお願い致します。
645名無しさん@そうだ選挙にいこう:2008/11/29(土) 16:19:12
>>643
塗りつぶした四角形の透過性を上げる・あるいは半透明にするか、

グラフの背景と枠の色をなしにして、
塗りつぶしの四角形を順序後ろにもっていけば?
こっちの方が確実っぽい。

もしくはセルサイズ調整して塗りつぶし。
646632:2008/11/29(土) 17:20:47
>>645
順序については、独立のシートで図を作ってる所為か、
うまくいきませんでした。


でも「透過性を上げる」で、希望通りの表示が出来ました!
ありがとうございました!!
647名無しさん@そうだ選挙にいこう:2008/11/29(土) 18:06:46
>>644
&の前後にスペースを入れろ
ActiveChart.SeriesCollection(1).Values = "=zero!R13C"&i&":R1013C"&i
    ↓
ActiveChart.SeriesCollection(1).Values = "=zero!R13C" & i & ":R1013C" & i
648644:2008/11/29(土) 18:33:27
>>647
ありがとうございます。
うまくいきました。

あと2つアドバイスを頂きたいのですが、このVBAはzeroというシートから自動的にグラフを作成するプログラムなのですが、
これを現在選択しているシートにするためにはどうすれば良いのでしょうか?

それと作成するグラフの名称を自分で設定したセルの内容にしたいのですが、
どうすれば良いのでしょうか?

よろしくお願い致します。
649名無しさん@そうだ選挙にいこう:2008/11/29(土) 20:36:12
>>648
シートの選択
Worksheets("zero").select

セルA1の内容をグラフのタイトルにする
ActiveChart.HasTitle = True
ActiveChart.ChartTitle.Characters.Text = Range("A1")
650名無しさん@そうだ選挙にいこう:2008/11/29(土) 20:51:36
>>649
ありがとうございます。
シートの選択
というところなのですが、zeroシートではなく、現在選択しているシートに適応されるようにしたいのですが・・
何卒よろしくお願い致します。
651名無しさん@そうだ選挙にいこう:2008/11/29(土) 21:20:24
A1 B1 C1 D1(=C2)
A2 B2 C2
A3 B3 C3

今このような表があります。A3の行は集計行です。
この表にはどんどんデータが追加されていきます。
追加の際にはA2とA3(集計行)の間に行を挿入し、追加します。
このとき

A1 B1 C1 D1(=C3)
A2 B2 C2
A3 B3 C3
A4 B4 C4

A1 B1 C1 D1(=C4)
A2 B2 C2
A3 B3 C3
A4 B4 C4
A5 B5 C5





というようにD1セルに表示させる関数を教えていただきたいです。
よろしくお願いします。
652名無しさん@そうだ選挙にいこう:2008/11/29(土) 21:23:47
ちょっとわかりにくかったかもしれないです。
要はD1セルに、行を挿入した場合自動的にC列の集計値セルの上の値を表示させる関数が知りたいのです。
お願いします。
653名無しさん@そうだ選挙にいこう:2008/11/29(土) 22:09:42
>652
集計行の行位置が4のとき(651の真ん中の例のとき)、D1セルに
=OFFSET(C1,ROW(C4)-2,0)
と入力してください。
行を挿入すると、ROW(C4)→ROW(C5)というように補正されていきます。
654名無しさん@そうだ選挙にいこう:2008/11/29(土) 22:16:23
>>652携帯からなので手短にこんなのは?
=OFFSET(C1,COUNT(C1:C65536)-1,0)
655名無しさん@そうだ選挙にいこう:2008/11/29(土) 22:39:54
携帯からこういうスレ見る人
しかも答えてくれる人なんているんだ、感激した
656名無しさん@そうだ選挙にいこう:2008/11/29(土) 22:42:01
>>653
ありがとうございます、できました

>>654
関数を入力しましたがなぜか"0"になってしまいます…
657653:2008/11/29(土) 22:42:50
654さんのをExcel2003でやってみたら、
=OFFSET(C1,COUNT(C1:C65536)-1,0)が
=OFFSET(C1,COUNT(C:C)-1,0)に
自動的に変化しました。よりすっきりしましたね。
と思ったら、集計行を参照してしまってます。集計行のひとつ上のセルの値を参照するには
=OFFSET(C1,COUNT(C:C)-2,0)が正しいですね。

ただし、C列の1行目から集計行のひとつ上までの間に空白セル(または文字)があったり、
集計行の下(C列のみ)に何か数字が入っていると参照位置がずれてしまいますね。
658名無しさん@そうだ選挙にいこう:2008/11/29(土) 22:47:04
>>657
なるほど、実際の環境では空白セルや文字が入りまくりなので
参照位置がずれ、計算がうまくいかないみたいです
ありがとうございました
659653,657:2008/11/29(土) 22:52:18
>658
空白セルはともかく、「文字が入りまくり」はマズいんでは?
C1から集計行のすぐ上までは集計対象なんでしょ?
660名無しさん@そうだ選挙にいこう:2008/11/29(土) 22:58:07
=OFFSET(C3,-1,) でいいだろ
上から行数数えたら何のためのoffsetかわからん
661名無しさん@そうだ選挙にいこう:2008/11/29(土) 23:15:25
EXCEL2008ではデフォルト設定ではVBAが使えないと聞いたのですが本当ですか?

将来的には完全に排除される方向にあるのですか?
662名無しさん@そうだ選挙にいこう:2008/11/29(土) 23:20:31
>>659
文字が入ってるのは集計行の下ね
集計結果はきちんと反映されてるから問題なし

>>660
それでもできました、ありがとう
663名無しさん@そうだ選挙にいこう:2008/11/29(土) 23:35:23
>661
デフォルトも何も、マック用の2008は使えないみたいです。
http://www.microsoft.com/japan/mac/products/office2008/qanda.mspx#006

http://journal.mycom.co.jp/news/2008/09/01/003/index.html
を参照してみてください。Windows版ExcelまでVBAがなくなったら、みんな
OOoに流れてしまうと思うので、心配はいらないと思います。
664名無しさん@そうだ選挙にいこう:2008/11/30(日) 00:15:32
>>650
シート名を書かなければ選択中のシートと見なされる
ActiveChart.SeriesCollection(1).Values = "=zero!R13C" & i & ":R1013C" & i

ActiveChart.SeriesCollection(1).Values = "=R13C" & i & ":R1013C" & i
665名無しさん@そうだ選挙にいこう:2008/11/30(日) 10:31:21
XP 2003です。

いくつもの楕円とかの図にマクロを登録しているのですが、各図に登録された
マクロ名を一覧で見るにはどうするのでしょうか?
666 666:2008/11/30(日) 16:10:10
失礼いたします。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 ほんのちょっと
【4 VBAでの回答の可否】 可(コードを書いて頂きたいです)
【5 検索キーワード     】 エクセル VBA グラフ 範囲指定 列 項目

A列からC列、約60000行(1行目が見出し)のデータがあり、A列とB列を範囲指定して
1.系列は列、 2.凡例は上、 3.グラフの場所は同じシート
のような簡単な折れ線グラフ(データとマーカ)を作成したいのですが、
C列に記入されている項目別にグラフを作りたいのです。

C列には一定ではない連続した行数毎に、A-1、B-1、C-1、D-1、A-2、B-2、C-3、D-4・・・と最終行まで記入されていて、

 J列
 A-1のグラフ
 B-1のグラフ
 C-1のグラフ
 D-1のグラフ
 ・
 ・

といった具合に、横位置はJ列あたりで下に下にグラフが作成されていくとベストなのですが・・・
よろしくお願いします。
667名無しさん@そうだ選挙にいこう:2008/11/30(日) 17:59:58
式のあるセルを書き換えられないようにしたい。
しかし,VBAによって,オートフィルタとセルの背景色変更は行いたい。

データを入力するセルはロックを外し,「ロックされてないセル範囲の選択」と
「オートフィルタの使用」のみチェックして,シートの保護をした。

しかし,ファイルを保存してから開くとうまく動作しない。
すべてのセルが選択できなくなり,オートフィルタも動作しない。

どのようにすればよいでしょうか?
668名無しさん@そうだ選挙にいこう:2008/11/30(日) 19:26:26
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 超初心者(殆どわかりません)
【4 VBAでの回答の可否】 可(コード書いて下さい。お願いします)
【5 検索キーワード     】 VBA マクロ セル 結合

支社の売り上げを月ごとに集計して会社のフォームに沿って印刷し、
提出しなければなりません。

A列は年、B列は月、C列は日、D列は担当者、E列商品名、F列は単価が入力してあります。
(すでに年、月、日、担当者ごとに並べ替えられてあり、印刷フォームも設定されています)

自分が今後自動でしたい作業は

単価以外の各列で同じセルを結合し、
毎月の最後の行の下に集計行を挿入し、
その月の売り上げ合計を計算する

です。商品が多岐に渡るため行数が多く、指定された印刷フォームでは字が細かくなり、
見づらいのでセルを結合させていますが、手間がかかるし範囲指定を間違うこともあります。
自動でできれば大変助かります。どうかよろしくお願いします。
669名無しさん@そうだ選挙にいこう:2008/11/30(日) 21:02:19
>>668
ピボットテーブルって知ってる?
670名無しさん@そうだ選挙にいこう:2008/11/30(日) 21:11:06
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 全く使えません
【4 VBAでの回答の可否】 否(手取り足取り教えていただけるなら)
【5 検索キーワード     】 特定条件の足し算

A1 B1 C1 D1
A2 B2 C2 D2
A3 B3 C3 D3




D2セルには=D1-A2という数式が入っています。
D3セルにも同様に=D2-A3という数式が入っており、以下同様に続きます。
このときD2セルに、C2セルに特定の文字を入力するとD2=D1-A2+B2の結果を表示させるような関数を入力したいです。
お願いします。
671名無しさん@そうだ選挙にいこう:2008/11/30(日) 21:14:01
ピボットピボットってうぜえんだよピボット厨
672名無しさん@そうだ選挙にいこう:2008/11/30(日) 21:18:23
>>668
なんか>>208と同じ展開になりそう、、、

>>670
=D1-A2+IF(C2="特定の文字列",B2,0)
673名無しさん@そうだ選挙にいこう:2008/11/30(日) 21:28:35
>>665
VBEでエディットウィンドウの右上のプルダウンリストを開くとマクロ名の一覧が出る
674670:2008/11/30(日) 21:30:39
>>672
あっさりと・・・
ありがとうございます!
675名無しさん@そうだ選挙にいこう:2008/11/30(日) 23:44:05
【1 OSの種類】 WindowsXP homeエディション
【2 Excelのバージョン】 Excel2003
【3 VBAが使えるか】 殆どわかりません
【4 VBAでの回答の可否】 可 【コードがあれば貼り付けて記録できます】
【5 検索キーワード】 エクセル マクロ 画像 VBA

エクセルでアルバム写真を作っているのですが、写真ファイルの貼り付け動作
【挿入→図→ファイル→【選択画面】→当該写真貼り付け→画像プロパティ→サイズの変更】
上記の動作をマクロで簡単に行いたいのですが、どのようなコードになるのでしょうか?

情報
・マクロ登録したコマンドボタンを押したら【画像選択画面】にいくようにしたい。
・画像ファイルを選択したら、指定したセルに貼り付け→写真の自動縦横サイズ変更。
・カメラで撮った写真は、全てjpgですが、なぜかファイルネーム及び縦横サイズがバラバラです。
・エクセルのテンプレート【ローン計画書】→ユーザー設定ボタン→ロゴマーク挿入ボタン
が上記説明の理想で、教わりたいです。
・8月分写真フォルダ→写真フォルダ→10枚ぐらいのjpg画像という様な階層でまとめています。
・ローン計画書テンプレートのマクロはコード見られたくないようでパスがかかってました。

よろしくお願いします。
676名無しさん@そうだ選挙にいこう:2008/12/01(月) 00:14:02
つ マクロの記録

つーか偶にxlsでアルバム作ってる初心者さん見るけど
Excelでやるべきことじゃないよな
アルバム作成ソフトとか知らないのかな?
677675:2008/12/01(月) 01:08:20
>>676
ご回答ありがとうございます。
・マクロの記録→【画像選択画面】まで操作→マクロ記録終了
これだと何も操作しないでマクロ記録終了してるのと同じになりました。→(何も起きない)
・マクロの記録→当該写真貼り付けるまで操作→マクロ記録終了
当該写真を貼り付けるだけの記録になりました。→(画像選択できず当該画像貼り付け)
資料フォルダ→画像のファイルネームのリネームをすれば二つ目で可能そうですが、
テンプレのような動作にできれば便利だと思っております。
getopenfilename *.jpg 左記みたいな感じで選んで、貼り付けたいです。

>>アルバム作成ソフト
すみません。インストール権限がないのに加え、
無闇にソフトが入れられない仕事のパソコンという事をかいていませんでした。

上記の事からエクセルで行えれば助かります。
よろしくお願いします。
678名無しさん@そうだ選挙にいこう:2008/12/01(月) 02:16:00
Excelは表作成と足し算(?)くらいしか出来ません。
どこか分かりやすくやり方を書いてる本やサイトってありませんか?

よろしくお願いします;;
679名無しさん@そうだ選挙にいこう:2008/12/01(月) 02:27:15
>>677
> 無闇にソフト(exe形式にコンパイルされたプログラム)が入れられない仕事のパソコン
なら、無闇に何処の誰が作ったとも解らないマクロ(インタプリタ実行型、もしくは中間言語コンパイル型のプログラム)を入れるのもまずいね

ということは自分で書くしかないわけだな

まあマクロの記録で挿入される画像が固定になるのは当然のことで
挿入やサイズ変更の対象を任意のものにしたければGetOpenFilenameメソッドと画像の挿入時の戻り値を使えとだけ言っておく

>>678
 >>3・B
680名無しさん@そうだ選挙にいこう:2008/12/01(月) 10:14:45
>>679
ごめんなさい
他スレいってきます
681名無しさん@そうだ選挙にいこう:2008/12/01(月) 10:17:49
【1 OSの種類         .】 Windows
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
【5 検索キーワード     】 Googleやヘルプでの検索キーワード
682名無しさん@そうだ選挙にいこう:2008/12/01(月) 10:41:54
【1 OSの種類         .】 Windows Vista と XP
【2 Excelのバージョン   】 Excel 2007、場合によっては2000も使用
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel VBA 引数

シートAにSQLサーバから抽出したデータを取り込み、
シートBでそれを検索し、ヒットするセルが存在するなら、シートB内の任意のセルの文字色を変更する、
という仕組みを作りたいと思ってます

シートB
A1 1234 <-検索ワード
B1 ==IF(ISERROR(VLOOKUP($A1,シートA!$A:$D,4,FALSE)),"NOHIT",chgcolor($C1))
C1 ABCD <-元々赤い文字、これをB1が偽なら青くする
※これが2行目以降も続き、100件ほどになります

chgcolor()はユーザー定義関数とし、引数で変更対象となるセルの位置を渡すことで、
大量の作業に対応しようと考えましたが、想定する動作になりませんでした

Function chgcolor(a As Range)

MsgBox a.Address
Range(a).Font.Color = RGB(0, 0, 255)

End Function

この関数の動作結果は、メッセーボックスには$C$1が表示、色は変化無しとなりました
引数を格納してる変数aの表記の仕方に問題があるのかと思いましたが、
Range(”C1”).Font.Color = RGB(0, 0, 255)
と書き換えてもやはり変化がありません、問題点を教えていただければ幸いです
683名無しさん@そうだ選挙にいこう:2008/12/01(月) 10:47:21
ワークシートから呼ばれたユーザー定義関数内からは色を変えるなど一部の操作はできない
どうしてもやりたいのならユーザー定義関数外から行う
684682:2008/12/01(月) 11:07:42
なるほど・・・直接操作はできないのですね
ちなみにユーザー定義関数外で実行とはどうするのでしょうか

Subプロシージャを定義して呼び出す形にしましたが、当然のように動きませんでした
マクロを実行コマンドでSubプロシージャを直接叩いてもいいかとは思いましたが、
今後検索項目が増えたりする可能性もあるので、出来ればセルの位置を渡して
任意のセルに対して動作する設計にしたいのです
685名無しさん@そうだ選挙にいこう:2008/12/01(月) 11:18:25
>>677
ファイル選択
これでファイル名が変数に入る
Filename = Application.GetOpenFilename("写真(*.jpg), *.jpg,すべてのファイル(*.*), *.*")
686名無しさん@そうだ選挙にいこう:2008/12/01(月) 11:23:57
>>684
ユーザー定義関数にこだわらなくてもいいと思うけどやりたい場合
標準モジュールモのModule1に
Dim a
Function b(c)
a = c
End Function
Sub d()
Range(a).Font.Color = RGB(0, 0, 255)
End Sub

ThisWorkbookに
Sub Workbook_SheetCalculate(ByVal Sh As Object)
Module1.d
End Sub

など別のタイミングで実行する、この例では一箇所しか変えられないけど
687名無しさん@そうだ選挙にいこう:2008/12/01(月) 11:26:19
>>684
全部VBAでやるか条件付き書式
688名無しさん@そうだ選挙にいこう:2008/12/01(月) 11:57:48
Excel2003を使ってます
毎月のこづかい帳をつくろうと思ってます

月予算30,000円、日予算1,000円

B3からB33に日付
C3からC33に支出金額
D3からD33に残額
E3からE33に予算との差額

残額と予算との差額のところにどのような計算式を入れればいいのか悩んでます
予算との差額のところは、例えば

12/1に700円の支出があったら12/1の差額は+300円
12/2に1500円の支出があったら12/2の差額は-200円
12/3に600円の支出があったら12/3の差額は+200円 ・・・

となるようにしたいと考えてます
勉強不足で申し訳ありません・・・どうかご教授お願いします
689名無しさん@そうだ選挙にいこう:2008/12/01(月) 12:07:33
作業列を使い、
その日までの日予算の累計を計算し
差額を取っては。
690名無しさん@そうだ選挙にいこう:2008/12/01(月) 12:08:23
>688

予算をA1に入力してE3=$A$1-C3でオートフィル

延々と質問が続きそうな気配なんで以後は適当にサンプル
が載ってる本を買って来い。
691690:2008/12/01(月) 12:09:57
>688
>予算をA1に入力してE3=$A$1-C3でオートフィル

間違えた(汗
>689氏の案を推奨
692682:2008/12/01(月) 12:15:04
>>686
ユーザー定義関数を利用したいと思ったのは、682の通り、
検証セル内に記述して、引数として任意のセル位置を与えた上で、操作(色替え)を行いたかったからです
例示いただいたコードは試してみたいと思います

>>687
条件付書式は既に試して、初期の段階では理想の結果が得られましたが、
指定方法が悪いのか、行削除や挿入を繰り返すと結果を反映しないセルが出るなどの
トラブルがあり使用をやめてしまいました
693名無しさん@そうだ選挙にいこう:2008/12/01(月) 12:27:32
>>692
相対参照と絶対参照を勉強して条件付き書式でやり直すのが一番早い
694688:2008/12/01(月) 12:56:56
>>689
>>690
ありがとうございます
最後に一つだけ質問させてください

>>689さんのアドバイスしてくれたやり方の手順だけ教えていただけないでしょうか?

質問は今後しませんのでどうかお願いします

「作業列」という言葉すらわかりません・・・
>>690さんの方法ではダメなんでしょうか・・・
695名無しさん@そうだ選挙にいこう:2008/12/01(月) 13:03:03
>>694
作業列ってのは、計算の途中経過をどこか空いてる列に入れておいて、式や表を見やすくするためのものだよ。
この場合は、仮に支出がゼロだった場合の残金をどこかの列に入れておいて、毎日の残高の計算に使うってこと。
696682:2008/12/01(月) 13:08:37
>>693
相対/絶対参照の基本は習得してるつもりですが、

682の例でC列を列選択状態にして、条件付書式を設定
式 $B1=1 適用範囲 $C:$C となり書式を青塗りにすると動作はします
ここで例えば、10行目を削除、再度挿入とやった後にルールを見ると

式 $B1=1 適用範囲 $C1:$C9
式 $B10=1 適用範囲 $C10:$C1048576

と二つに分裂します、削除挿入は一度とは限らないので、
これを繰り返すたびに条件式が分裂するようなので、
A〜C列のような組み合わせを追加するようなことになった場合、大量の条件式が発生し
メンテナンス性が著しく低下してしまう結果となってしまいました
(以上、2007で現象確認)

もし上記の指定の仕方が悪いのであれば、その点を教えていただきたいです
697690:2008/12/01(月) 13:18:33
>694

F3に=E3、F4に=F3-E4でオートフィル。
ってかこの場合、F列は作業列ではなく欲しい結果だな。


698690:2008/12/01(月) 13:27:37
ア・・・また何か違うな・・・orz

A1に予算を入れたとして、
D3=$A$1-C3
F3=D3、F4=F3+D4・・・当日までの差額累計(作業列)
E3=F3、E4=F3+D4

あるいはE4=sum($D$3:D4)

多分合ってるw
出かけるんで後ヨロシコ ノシ
699名無しさん@そうだ選挙にいこう:2008/12/01(月) 13:38:19
>>696
2007で試したけど、崩れんよ?
なんか変な思い込みとか設定してるんじゃない?

皆が言ってるように、SQLServerからデータ引っ張ってくる時に色付けるか、条件付き書式が楽そうだけどなあ
自分の思い通りの方法じゃないとイヤなら、がんばってネとしか言いようがないさ
700682:2008/12/01(月) 13:56:03
>>699
崩れませんか・・・自分のやり方が、何か根本的に間違ってるようですね
この現象さえなければ、条件付書式で処理というのはまったく問題ないのですが・・・
ちょっと設定や削除の仕方などについて検証してみます、ありがとうございました
701名無しさん@そうだ選挙にいこう:2008/12/01(月) 14:02:48
>>688に回答しようとしてるやつかなり乙だな
質問の中で予算が2種類あるのに「予算」の一言で済まそうとしてるから
あいまいな部分があるから混乱してるんじゃ?

B2に日予算(1000)
C2に月予算(30000)
を入れて
B2には支出を入力
C3=C2-B3(月予算の残額-支出)
D3=$B$2-B3(日予算-支出)
で日数分コピー
ここまでやったらC2やB2はカットアンドペーストでどこかに持って行ってもいい
702名無しさん@そうだ選挙にいこう:2008/12/01(月) 15:22:38
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 WindowsXP SP3
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel 数式 文字列

例えばセルC1に"=A1-B1"と入っています。

C1からA1-B1の計算結果ではなくて"=A1-B1"という文字列を取得したいのですが
どうしたら良いのでしょうか?
何卒よろしこ
703名無しさん@そうだ選挙にいこう:2008/12/01(月) 15:53:14
>>702
名前の定義で
名前:数式
式:=GET.CELL(6,$C$1)
で、どこかに =数式
704名無しさん@そうだ選挙にいこう:2008/12/01(月) 15:54:12
式じゃなくて参照範囲だった・・・
705名無しさん@そうだ選挙にいこう:2008/12/01(月) 16:27:00
>>702
数式を取り出したいセルが1ヶ所や2ヶ所なら名前の定義
たくさんあるならVBAで.Formulaを使う
706名無しさん@そうだ選挙にいこう:2008/12/01(月) 16:29:19
>>703-704
回答サンクスコ。
でも相変わらず"=A1-B1"では無くて計算結果(=0:A1もB1もゼロなので)が表示されるです。。。
orz....
707名無しさん@そうだ選挙にいこう:2008/12/01(月) 16:43:18
>>706
何か勘違いしているな・・・
Ctrl+F3で出てくる「名前の定義」ですよ?
入力したら
D1 =数式
とかすればいいだけ
こっちは2003でやってるからショートカットは違うかも試練
708名無しさん@そうだ選挙にいこう:2008/12/01(月) 16:47:47
>>706
まずC1をクリック
メニューから挿入→名前→定義を開く
名前のところに「SIKI」と入れる
参照範囲のところに「=GET.CELL(6,$C$1)」と入れてOK
式を出したいセルに=SIKIと入れる
709702:2008/12/01(月) 17:00:09
>>707-708
あ、出た出た。かんどー。
サンクスコ。ありがd。
710名無しさん@そうだ選挙にいこう:2008/12/01(月) 17:46:58
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel 数式 コピー オートフィル

B2に入力した文字をB4B5にコピー
C3に入力した文字をC5C6にコピー
といったように一列ずれるたびに一行ずつずれていくようにしたいのですが、
オートフィルで一気に入力していくにはどうしたらよいでしょうか。
また、オートフィル以外で可能でしたらご教授お願いします。
711名無しさん@そうだ選挙にいこう:2008/12/01(月) 19:01:46
>>710
VBA使えないと厳しいと思う
712名無しさん@そうだ選挙にいこう:2008/12/01(月) 21:46:17
fff
713名無しさん@そうだ選挙にいこう:2008/12/01(月) 22:05:26
>>710
B4=IF(ROW()=COLUMN()+2,INDIRECT("r"&ROW()-2&"c"&COLUMN(),0),IF(ROW()=COLUMN()+3,INDIRECT("r"&ROW()-3&"c"&COLUMN(),0),""))
indirectを極めれば・・これぐらいわけない!
714名無しさん@そうだ選挙にいこう:2008/12/01(月) 22:07:31
>>700
いまさらだけど条件付き書式で実現できるなら
worksheet_changeのイベントプロシージャ使ってもなんとかなりそうだけど・・・
715名無しさん@そうだ選挙にいこう:2008/12/01(月) 22:15:04
>>710
こういうのでいいの?

1. 仮入力:各列1行目のセル(B1, C1, D1 …)にデータを入力
2. B2に式を入力
  =IF(AND(B$1<>"",OR(ROW()=COLUMN(),ROW()=COLUMN()+2,ROW()=COLUMN()+3)),B$1,"")
3. B2を必要な範囲にコピー
4. 式を入れた範囲を「形式を選択して張り付け→値」で上書き
5. 仮入力した1行目をクリア
716名無しさん@そうだ選挙にいこう:2008/12/01(月) 22:41:01
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

1 リンゴ
2 (青森)
3
4 みかん
5 (愛媛)
6

リンゴ
リンゴ
リンゴ
みかん
みかん

 上のように地名を消して空欄に項目をコピーして埋めたいのですがどうすればよいでしょうか?
ちなみに300行くらいのデータがあります。



717名無しさん@そうだ選挙にいこう:2008/12/01(月) 22:46:28
>>713
…これでいいと思。

B4 =IF(COLUMN()+2=ROW(),B2,IF(COLUMN()+3=ROW(),B3,""))
718名無しさん@そうだ選挙にいこう:2008/12/01(月) 22:53:59
>>710
>B2に入力した文字をB4B5にコピー
「入力した」時にコピーしたいならVBAしかない
既にその形で入力してあるなら
別シートに↓の「Sheet1」を目的のシートに書き換えて貼り付けて好きなだけコピー、後はお好きなように
=IF(AND(ROW()>=COLUMN(),ROW()<=COLUMN()+3,ROW()-COLUMN()<>1),INDIRECT("Sheet1!R"&COLUMN()&"C"&COLUMN(),0),"")
これからやるなら>>715でいいかと

>>716
「(」が地名のみに使われてる前提で
A1からデータが入ってるとして
B1=A1
B2に=IF(OR(A2="",NOT(ISERR(FIND("(",A2)))),B1,A2)
あとはコピーかオートフィル
719名無しさん@そうだ選挙にいこう:2008/12/01(月) 22:54:33
sage忘れた…
720名無しさん@そうだ選挙にいこう:2008/12/01(月) 22:54:45
>>716
単純にオートフィルタでオプション-条件"("を含まないでフィルタ後好きな場所にコピぺじゃダメなの?
721名無しさん@そうだ選挙にいこう:2008/12/01(月) 23:03:29
>716
VBA可と書いてあるので・・・
Sub sample1()
複写元 = Cells(1, 1).Value
For tate = 2 To 300 ←300は処理対象の最終行位置を指定のこと
カレントセル = Cells(tate, 1).Value
If (カレントセル = "" Or カレントセル Like "(*" Or カレントセル Like "(*") Then
Cells(tate, 1).Value = 複写元
Else
複写元 = Cells(tate, 1).Value
End If
Next tate
End Sub
カッコは全角、半角混在でもいいです。ただし、前に空白がないこと。
722名無しさん@そうだ選挙にいこう:2008/12/01(月) 23:43:45
>>716
ただ単に並び替えればそれぞれでかたまってくれる気が。。。
723716:2008/12/01(月) 23:56:03
>721 
 「複写元」と「カレントセル」には何を入れればいいんですか?
VBA初心者なので詳しくお願いします。
724名無しさん@そうだ選挙にいこう:2008/12/02(火) 00:31:36
>688

E3 =1000-C3
E4 =1000-C4+E3
以下フィルドラッグ

表示形式 ユーザー定義 +#,##0;-#,##0
725名無しさん@そうだ選挙にいこう:2008/12/02(火) 11:31:22
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】
【5 検索キーワード     】 Excel 並べ替え テキスト

   A

1  1-1
2  1-2
3  1-3
4
5  2-1
6  2-2
7  2-3
8
9  3-1
10  3-2
11  3-3
12

と続いていくデータ(全て10〜30字程度の文章)を、

   A    B    C

1  1-1  1-2  1-3
2  2-1  2-2  2-3
3  3-1  3-2  3-3
4

という風に並べ替えたいのですが、どうすればいいでしょうか。
初心者丸出しで申し訳ありませんが、よろしくお願いします。
726名無しさん@そうだ選挙にいこう:2008/12/02(火) 12:00:02
>>725
データの数で、解法は違うカモね。
727名無しさん@そうだ選挙にいこう:2008/12/02(火) 12:19:03
>>725
先に聞くけど三行に一行、空白行があるのは間違いない?
728名無しさん@そうだ選挙にいこう:2008/12/02(火) 12:23:09
>>726
3つワンセットのデータで1000ちょっとくらいです

>>727
はい。よろしくお願いします。
729名無しさん@そうだ選挙にいこう:2008/12/02(火) 12:26:00
>>725
B1に
=OFFSET($A$1,(ROW()-1)*4+COLUMN()-2,0)
って入れてB1〜D1000までコピペすると並び換えたデータがB〜D列にできるから
それを好きなとこに移動
730名無しさん@そうだ選挙にいこう:2008/12/02(火) 12:32:28
>>725
B1=INDIRECT("r"&((ROW()-1)*4+1) + COLUMN()-2&"c1",0)
後はCD列と下にオートフィル
最後に範囲選択して値にしてコピペ
別シート使ったほうが良かったな。まぁいいか
731名無しさん@そうだ選挙にいこう:2008/12/02(火) 12:33:34
かぶった・・さすがに式は似るなw
732721:2008/12/02(火) 18:09:00
>723
「何を入れれば」って、プログラムが扱う変数なので、別の名前でもかまいません。
←300は処理対象の最終行位置を指定のこと の部分を除いてそのまま入れたら
動くはずです。(当方もWindowsXP,Excel2003です)
733名無しさん@そうだ選挙にいこう:2008/12/02(火) 19:55:59
>>729-730
大変助かりました。ありがとうございました!
734名無しさん@そうだ選挙にいこう:2008/12/02(火) 20:02:27
今PC教室でExcel習ってます
数学が苦手で「○○を出しなさい」と言われても、どこを指定したらいいか分からず、とまどってばかりです
こんな私でもMOSの資格取れますか?
735名無しさん@そうだ選挙にいこう:2008/12/02(火) 20:32:22
「○○を出しなさい」がサッパリ分からないけど資格なんて要は反復練習だろ
その前に本当にMOSが必要かどうか考えたほうがいい。会社で言われてるならともかく個人でとってもそんなにいいもんじゃないよ
736名無しさん@そうだ選挙にいこう:2008/12/02(火) 20:34:05
>数学が苦手で「○○を出しなさい」と言われても、どこを指定したらいいか分からず
数学というより、そこは国語の問題じゃないかな。
それはともかく、ちゃんと対策やれば取れる資格なので心配はいらないと思うよ。
737名無しさん@そうだ選挙にいこう:2008/12/02(火) 21:07:26
>>734
ほとんどの知識は丸暗記すればいいだけだから、
とにかく実際に本を見ながら書いてあるとおりに操作してみること。
一度でもやればだいたいの感覚はつかめるはず。
自宅にパソコンとExcelがないとちょっと不利かもしれない。
738名無しさん@そうだ選挙にいこう:2008/12/02(火) 21:36:52
>>734
MOSの資格自体は糞の役にもたたない。
ただ勉強するのはいいことだ。
739名無しさん@そうだ選挙にいこう:2008/12/02(火) 21:52:34
>>724
B1に
=INDEX($A:$A,(ROW()-1)*4+COLUMN()-1)
740名無しさん@そうだ選挙にいこう:2008/12/02(火) 22:45:59
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

お世話になります。

Excelのファイル内で利用されているすべての背景色を確認することは可能でしょうか?
VBAでA1セル〜255列65536行までのすべてのセルについて、
Interior.Colorの値を一つ一つすべてのシートについて検索して、
初めて見つけた色を順々に書き出していくくらいしか方法無いでしょうか?
(もしくはCtrl+Endで移動する先の(やり方わすれた。本読む)セルの行・列番号を読んでから、A1〜そこまでとか)

検索機能なんかで簡単に確認する方法は無いでしょうか?

御存知の方Helpお願いします。

(最終的に、ある特定の色一色を残して、それ以外の色のセル背景色をすべて無色(xlNone)にしたいです。)
(その確認方法として、記述の情報を得たいです。)
741名無しさん@そうだ選挙にいこう:2008/12/02(火) 22:59:03
>>740
ループで1個ずつ調べるしか方法はない。
あと条件付き書式で付けられた色はInterior.Colorでは取得できないから注意な、
742名無しさん@そうだ選挙にいこう:2008/12/02(火) 22:59:42
みなさん、レス有難うございます
事務職を希望していて、MOSは有利だと思ったんですが・・・
そうでもないのですか;;
有利な資格と言ったら、Excel表計算技能認定試験とかですか?
せっかくPC教室通ってるんで何か受けたいのですが、何がいいと思いますか?

教えていただけたらありがたいです
743734:2008/12/02(火) 23:00:26
>>742>>734です;;
744名無しさん@そうだ選挙にいこう:2008/12/03(水) 01:13:26
>>742
別に誰も有利じゃないなんて言ってない。
Excel習ってて、現状MOSを受けるのに不安なレベルだっていうなら
まずはそのMOS取れるようになればいいんじゃないの?
上を受けるならMOS取ってからでいいと思う。
745名無しさん@そうだ選挙にいこう:2008/12/03(水) 01:25:08
>>742
MOSを取得しているから採用、という企業は無きに等しい
ただ、働き始めて、様々なデータ処理などを頼まれたときに、
MOSで学ぶ浅くて広い知識を持っていると何かと便利だし、重宝がられる。

746716:2008/12/03(水) 02:47:17
>732
できました。ありがとうございます。
747名無しさん@そうだ選挙にいこう:2008/12/03(水) 04:32:20
俺なんか趣味半分で独学でExcel VBAに手を出したせいで、
関数の類はほぼさっぱりだ
vlookupですらヘルプ見ないと使えんぜ
748名無しさん@そうだ選挙にいこう:2008/12/03(水) 05:22:03
バカ自慢は他所でお願いします。
749名無しさん@そうだ選挙にいこう:2008/12/03(水) 07:29:11
test
750名無しさん@そうだ選挙にいこう:2008/12/03(水) 07:37:41
別にMOSなんて取らなくてももっと簡単な試験でもいいと思うよ
751名無しさん@そうだ選挙にいこう:2008/12/03(水) 09:21:29
MOSのスペシャリストレベルはこの種の試験では、1,2を争うほど簡単だぜ
「スペシャリスト」なんて名前だけは凄そうだが、これは客(受験者)を集める為の宣伝効果を狙った物で
スペシャリストが初級レベル(合格率8割、合格して当たり前)、
エキスパートが中級レベル(合格率5割、合格すればそこそこデキるかな)という感じ
752名無しさん@そうだ選挙にいこう:2008/12/03(水) 11:18:25
【1 OSの種類】 WindowsXP
【2 Excelのバージョン】 Excel2003
【3 VBAが使えるか】 はい
【4 VBAでの回答の可否】否
【5 検索キーワード】 チェックボックス オートシェイプを上 最前面

お世話さまです。よろしくお願いいたします。

Excelでシート上にコンボボックスやチェックボックス、コントロールツールボックスの
テキストボックス等を配置してあります。

コントロール類の上にオートシェイプの雲形噴出し等を重ねたいのですが、オートシェイプを
最前面に設定しても、どうしてもコントロール類の下になってしまいます。

(デザインモード中は、オートシェイプが上に重なっているのですが、デザインモードを
オフにするとダメです)

デザインモードをオフにしても、オートシェイプがコントロール類の上に重なるように
したいのですが、何か方法はありますでしょうか?
753名無しさん@そうだ選挙にいこう:2008/12/03(水) 11:26:18
>>752
試してみたけどちゃんとオートシェイプが上にも下にもできた
もうちょっと再現の手順をkwsk
754752:2008/12/03(水) 11:50:04
お返事ありがとうございます。

引き継いだ資料だったので、初回作成者ご本人に確認したところ・・・

コントロールのテキストボックスの上に通常のテキストボックスを重ね、グループ化して
あるそうです。(その上に雲形吹き出しを重ねて描画しました)

別のBookにコントロールのテキストボックスを配置し、上に雲形噴出しを重ねたところ
753さんのおっしゃるとおり、問題なく重ねられました。

コントロールのテキストボックスとオートシェイプのテキストボックスをグループ化したことが
招いた現象なのかと思い、グループ化を解除してから雲形噴出しを最前面設定してみたのですが、
やはり雲形吹き出しは下になったままでした。

ちなみに、重なっているオートシェイプのテキストボックスを削除してから雲形吹き出しを最前面に
設定してもダメでした。
755名無しさん@そうだ選挙にいこう:2008/12/03(水) 11:53:44
まさかと思うけど透明になってない?
756752:2008/12/03(水) 11:59:07
755さん

雲形噴出しは白で塗りつぶしてあります。(透明:0%)
コントロールのテキストボックスは、BackColorを&H00C0C0FF&に設定してあります。
757名無しさん@そうだ選挙にいこう:2008/12/03(水) 12:07:26
実はコントロールじゃなくてフォームだったとか
758名無しさん@そうだ選挙にいこう:2008/12/03(水) 12:11:59
横レスしてみる

>>754
>コントロールのテキストボックスの上に通常のテキストボックスを
この2つの区別は何なのか聞きたいところだ
通常=オートシェイプ?
もしこうならオートシェイプの中にテキストボックスなんてものはなかったと思うのだが・・・

>>757
グループ化云々言ってるからそれはないんじゃないかと・・・
759752:2008/12/03(水) 12:14:01
757さん

初回作成者ご本人に確認したところ、シート上に配置したコントロールは
「コントロールツールボックス」のものしか使っていないとのことです。

新規作成のBookでは出来るので、出来ないファイルはシート上にある[何か]が
悪さしてるんでしょうね・・。
760名無しさん@そうだ選挙にいこう:2008/12/03(水) 12:14:47
オートシェイプに「テキストの追加」のことを言っているのではないかと
761名無しさん@そうだ選挙にいこう:2008/12/03(水) 12:18:43
(リロードする前に書き込んでしまいました。すみません)

758さん、760さん
オートシェイプのテキストボックスと書いてしまったのは誤りです。
正しくは「図形描画ツールバー」にあるテキストボックスです。

「コントロールツールボックスのテキストボックス」に「図形描画ツールバーの中の
テキストボックス」を重ねてあります。
762名無しさん@そうだ選挙にいこう:2008/12/03(水) 12:23:31
(;゚д゚)ァ........
763名無しさん@そうだ選挙にいこう:2008/12/03(水) 12:24:43
MOSはさておきMVPとやらはもっとひどいな。
764名無しさん@そうだ選挙にいこう:2008/12/03(水) 12:47:54
>>761
オートシェイプを右クリックして「テキストの追加」を選ぶと、図形がテキストボックスに変換される。
この方法だと長方形以外の形状のテキストボックスを簡単に作ることが出来る。
つまりオートシェイプとテキストボックスは同じ物ってこと。

テキストボックスのプロパティや重なり具合を変えたいときは、図形の周囲の斜線の部分を右クリックだよ。
間違ってない?
765名無しさん@そうだ選挙にいこう:2008/12/03(水) 12:53:23
横から質問済みません。
テキストの追加でテキストボックスになったオートシェイプを
単なるテキスト無しのオー手シェイプに戻すのはどうやるんですか?
766752:2008/12/03(水) 13:23:38
764さん
最前面に持ってきたいのは、雲形噴出しです。
[コントロールツールボックスのテキストボックス]の上に[図形描画のテキストボックス]が重ねてあって
なおかつグループ化されており、このグループ化の上に雲形噴出しを書き、雲形吹き出しを選択して
ハンドルが表示された状態で右クリックして表示される[順序]の[最前面]を選択したのですが、
操作方法が間違ってしますか?

ちなみに「グループ化されたコントロールボックスのテキストボックスと図形描画の図形ボックス」を選択して右クリックして
[順序]−[最背面]とやっても、やはり雲形噴出しが最背面に表示されます。
767名無しさん@そうだ選挙にいこう:2008/12/03(水) 13:34:28
再現できん
コントロールとオートシェイプをグループ化、さらにオートシェイプを重ねてみたが順序は自由に変更できる

もしかして順序を強制的に変更するようなマクロとか入ってたりしない?
768名無しさん@そうだ選挙にいこう:2008/12/03(水) 13:37:19
764でなないけど
1.テキストボックスを出す
2.オートシェイプの四角を出して重てテキストの追加をする([図形描画のテキストボックス]?)
3.1.と2.をグループ化
4.「噴出し」を出して重ねる
の手順で再現できないんだが・・・
SS撮ってその部分だけ上げてみてくれないか?
769752:2008/12/03(水) 13:48:51
768さん、皆さん

・・・すみません!
コントロールツールボックスのテキストボックスだと思っていたものが
実は「リストボックス」だったことに気づきました。

リストボックス上に雲形吹き出しを書くだけで再現とれました。
(どうやっても雲形噴出しが下になってしまいます)
770名無しさん@そうだ選挙にいこう:2008/12/03(水) 14:01:59
【1 OSの種類         .】 WindowsXP及びVista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい(勉強中です)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 軸ラベル プロットエリア

現行のExcel2002からExcel2007への移行作業中です。
■発生した問題
軸ラベルとプロットエリアが重なってしまう。

Worksheets("グラフ").ChartObjects(1).Chart.ChartWizard _
 Source:=Range(Cells(変数,変数), Cells(変数,変数)), _
 Gallery:=xlXYScatter, PlotBy:=xlColumns, _
 CategoryLabels:=1, SeriesLabels:=1, HasLegend:=False, _
 CategoryTitle:="ラベル1", ValueTitle:="ラベル2", ExtraTitle:=""

Excel2002では以上の設定で問題なかったのですが
Excel2007で動かしたとき軸ラベルとプロットエリアが重なってしまいます。
見た目では軸ラベルを設定してもプロットエリアが縮小していないという感じです。

つづく
771名無しさん@そうだ選挙にいこう:2008/12/03(水) 14:04:42
【1 OSの種類         .】 Windows xp sp2
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

例えば、通常セルの表記が一番左上なら 「A1」 だと思うのですが
たまに列の表記がABCDEF・・・ではなく123456・・・となってしまい
一番左上の表記が「R1C1」となってしまうのですが、元に戻す方法は
無いでしょうか?宜しくお願い致します。
772名無しさん@そうだ選挙にいこう:2008/12/03(水) 14:07:18
つづき

ActiveChart.PlotArea.Width = ActiveChart.PlotArea.Width - 40
ActiveChart.PlotArea.Height = ActiveChart.PlotArea.Height - 40
ActiveChart.PlotArea.Top = 20
ActiveChart.PlotArea.Top = 20

という指定でプロットエリアを動かせば重ならないようにはできるのですが
できれば数値の直打ちではなく自動で制御できればと考えています。
なにか良い方法はないでしょうか。
773名無しさん@そうだ選挙にいこう:2008/12/03(水) 14:13:51
>>771
[ツール]→[オプション]→[全般]→[R1C1参照形式を使用する]のチェックをはずす
2003での操作だけど同じかな?
774771:2008/12/03(水) 14:18:58
>>773直せました。ありがとうございました。
775名無しさん@そうだ選挙にいこう:2008/12/03(水) 15:46:54
>>769
検索するとExcelではないけど類似の現象があるようです
http://www.google.co.jp/search?hl=ja&q=%22%E3%83%AA%E3%82%B9%E3%83%88%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%22+%E3%83%AC%E3%82%A4%E3%83%A4&lr=lang_ja

Windowsの仕様または制限のような気がする
776752:2008/12/03(水) 15:58:21
775さん
調べてくださってありがとうございます。
(リンク先は見られなかったです。汗)

結構複雑な資料だったので作り直すのを躊躇していたのですが・・・。
制限や仕様なら諦めも付くので、おとなしく資料を作り直すことにします。

皆さん、色々とありがとうございました。
777名無しさん@そうだ選挙にいこう:2008/12/03(水) 16:23:32
778770:2008/12/03(水) 16:48:13
自己解決できたようなので下げます。
長文失礼しました。
779682:2008/12/03(水) 16:52:51
質問のやりとりではないのですが、条件付書式の件でMSに問い合わせをして、
回答を得られたので、後検証の結果として書かせていただきます

>>696の条件で操作を行い発生する現象(ルールの増殖)については、
同様の事例が報告されており、MSは2007特有の不具合として認識、
直接的な問題解決方法は今のところ存在しないとのことです

旧バージョンでは存在しない不具合とのことですので、
当座は2007での加工編集を禁止して対応することにしました
以上、同様の現象にあわれた方の参考になれば幸いです
780名無しさん@そうだ選挙にいこう:2008/12/03(水) 18:18:24
てst
781名無しさん@そうだ選挙にいこう:2008/12/04(木) 09:33:18
よろしくお願いします
【1 OSの種類】 WindowsXP
【2 Excelのバージョン】 Excel2000
【3 VBAが使えるか】 ほとんど使えない
【4 VBAでの回答の可否】 可

単語帳を作ってるのですが、検索マクロで質問です。
現在、エクセルの通常の検索を「マクロの記録」で記録したものを書き換え使ってます。
以下の通りです。A1セルに入力した文字列を参照し、検索します。

Sub 文字列の検索()
Cells.Find(What:=Range("A1"), After:=ActiveCell, LookIn:=xlValues, LookAt _
:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
False).Activate
End Sub

これを次のことができるように書き換えたいのですが。
1)普通に辞書を引くように「頭一致」で検索したい。(今の状態だと、単語中に同じ文字列があると全て拾ってしまう)
2)A列だけ検索対象にしたい
3)一致する文字が無かったら、A1に入力した文字を末尾から1文字削除し再検索、を繰り返し一番近い単語を検索したい。

3番目は文字列操作しか方法ないですよね?ループのさせ方も良く分かりません。
1番と2番は検索オプションを変更するだけで出来ませんか?
初歩的すぎてすみません。
時間を掛けて一から勉強すればいいんでしょうけど、今そんなに余裕が無いので。。。
よろしくお願いします。
782名無しさん@そうだ選挙にいこう:2008/12/04(木) 10:38:55
>>781
余裕ないのに2chで聞くのかよw
まぁ、行き当たりばったりで組んでみたけどな

Sub 文字列の検索()
Dim rng As Range
  ScreenUpdating = False
  'アクティブセルを検索範囲末尾に移動
  If Intersect(Range("A2:A65336"), ActiveCell) Is Nothing Then
    Range("A65336").Activate
  End If
  Do
    '検索
    Set rng = Range(Cells(2, 1), Cells(65536, 1)).Find(What:=Range("A1").Value & "*", After:=ActiveCell, _
    LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
    MatchCase:=False, SearchFormat:=False)
    If rng Is Nothing Then
      '見つからなければ1文字削る
      Range("A1").Value = Left(Range("A1").Value, Len(Range("A1").Value) - 1)
    Else
      Exit Do
    End If
  Loop While Len(Range("A1").Text) <> 0
  rng.Select
  ScreenUpdating = False
End Sub
783名無しさん@そうだ選挙にいこう:2008/12/04(木) 10:41:34
>>781
A列だけを検索するには最初に
Columns("A:A").Select
と書く。

文字列の先頭だけに一致させるには普通は正規表現てのを使うんだけど、個人が手作業で作った単語帳なら
そんなにデータの量も多くないだろうし、その次の1文字ずつ削って再検索する処理のことまで考えると、
単純にForループで探していった方が手っ取り早いかもしれない。

正規表現はパソコン使う上で絶対に役に立つ知識だけど、余計な勉強してるヒマがないってのが悩ましいところ。
とりあえず参考ページだけ貼っとく。
ttp://officetanaka.net/excel/vba/tips/tips38.htm
784名無しさん@そうだ選挙にいこう:2008/12/04(木) 10:42:54
>>782
最後はTrueだな
785782:2008/12/04(木) 10:45:52
我ながら手抜き杉のミス多杉ワロタ
とりあえず修正

Sub 文字列の検索()
Dim rng As Range
  Application.ScreenUpdating = False
  'アクティブセルを検索範囲末尾に移動
  If Intersect(Range("A2:A65536"), ActiveCell) Is Nothing Then
    Range("A65536").Activate
  End If
  Do
    '検索
    Set rng = Range(Cells(2, 1), Cells(65536, 1)).Find(What:=Range("A1").Value & "*", After:=ActiveCell, _
    LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
    MatchCase:=False, SearchFormat:=False)
    If rng Is Nothing Then
      '見つからなければ1文字削る
      Range("A1").Value = Left(Range("A1").Value, Len(Range("A1").Value) - 1)
    Else
      rng.Select
      Exit Do
    End If
  Loop While Len(Range("A1").Text) >= 1
  If rng Is Nothing Then
    Range("A1").Select
  End If
  Application.ScreenUpdating = True
End Sub
786781:2008/12/04(木) 11:06:47
うわっ!こんな短時間の間にありがとうございます!
今夜、家に帰って実行させていただきます。ありがとうございました!
とりあえずお礼まで。
787名無しさん@そうだ選挙にいこう:2008/12/04(木) 11:15:09
>>781
Dim strSearchWord As String, objMatchCell As Range, objSearchRange As Range, i As Long

strSearchWord = Range("A1").Value ' 検索文字
Set objSearchRange = Range(Cells(2, 1), Cells(Cells.Rows.Count, 1).End(xlUp)) ' 検索範囲

If Intersect(objSearchRange, ActiveCell) Is Nothing Then objSearchRange.Cells(1).Activate
For i = Len(strSearchWord) To 1 Step -1
  Set objMatchCell = objSearchRange.Find(What:=Left(strSearchWord, i) & "*", After:=ActiveCell, LookAt:=xlWhole)
  If Not objMatchCell Is Nothing Then
    objMatchCell.Activate
    Exit For
  End If
Next i


Findメソッドの他のオプションは必要に応じて追加して

> A1に入力した文字を末尾から1文字削除し再検索
が、A1の値を直接削除したいのか、削除した文字で検索するだけでA1の値は保持したいのか不明瞭なので
一応保持するようにしたが、A1の値自体も削除したい場合は
objMatchCell.Activateの上か下にRange("A1").Value = Left(strSearchWord, i)を追加
因みに>>785だと該当無しの場合はA1が空になっちゃうな
788名無しさん@そうだ選挙にいこう:2008/12/04(木) 11:15:51
短時間の間
が気になった
789782:2008/12/04(木) 11:30:05
>>787
A1の扱いについては確かに迷った
消しとけばどこまで削って一致したか分かるからとりあえず消した
あと
初回実行時にobjSearchRange.Cells(1).Activate
の後After:=ActiveCellで検索すると先頭(A2)と一致する場合に
その次のセルを探しに行ってしまうので末尾にセットした
790名無しさん@そうだ選挙にいこう:2008/12/04(木) 11:34:08
>>785
Exit Doが気持ち悪い

>>787
Exit Forが気持ち悪い

途中で終わる可能性があるループにForは使うな(ただしFor Eachは除く)
って先輩にさんざん言われた
791名無しさん@そうだ選挙にいこう:2008/12/04(木) 11:36:32
>>789
この場合のRange.ValueとRange.Textの使い分けをVBA勉強中の俺にkwsk教えてくれ
792782:2008/12/04(木) 11:44:31
>>790
じゃあ気持ち悪くないように改造してここに貼ってねw

>>791
最初に書いた通り行き当たりばったりの手抜きでそんなこと考えてない
Rangeの指定にCells(〜と"A2〜"が混ざってる時点で分かるだろ?
ちなみに自分もまだまだ勉強中の身だw
793名無しさん@そうだ選挙にいこう:2008/12/04(木) 11:55:19
こうかな?
Loop While (Range("A1") > "") And (rng Is Nothing)
ループから抜ける条件は一ヶ所にまとめて書かないとバグの元だって教えられた
794名無しさん@そうだ選挙にいこう:2008/12/04(木) 12:10:39
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 検索ワードが思いつきませんでした

↓キャプ画です
ttp://www.uploda.org/uporg1831140.jpg

このような感じで、最高気温・最低気温の半年分をまとめたデータがあり(画像は4日分ですが)
最高気温・最低気温ごとに各半年分の折れ線グラフを作ろうとしています

データ選択時に一気にドラッグができないので(最高・最低気温がごっちゃになる)、
Ctrlキーで一づつ気温セルをシコシコ選択してグラフを作ろうと思ったのですが
「データが複雑すぎる?」みたいな表示で、データ選択がうまくいきません。

どなたかご助言お願い致します。
795名無しさん@そうだ選挙にいこう:2008/12/04(木) 12:22:22
>>794
最高気温と最低気温が同じ表の同じ行にあるからそうなる
それぞれ行を分けるか表を分離するべき
INDIRECTとROWやCOLUMNを組み合わせてやればいいと思う
796名無しさん@そうだ選挙にいこう:2008/12/04(木) 12:41:35
>>794
Excelでグラフを書きたいときは、データの種類ごとに1列ずつまとめるのがベスト。こんなふうに。
ttp://upload.jpn.ph/upload/img/u30592.png

とりあえず、どこか別のシートに並べ換えたデータを作ればいい。
規則的に並んでれば、ワークシート関数で数式を1個作るだけでいいから。
797796:2008/12/04(木) 12:43:28
最高と最低が逆だったわ。コピペする時に間違えた。まあどうでもいいけど。
798名無しさん@そうだ選挙にいこう:2008/12/04(木) 12:46:13
>>795
>>796
お答えありがとうございます
頑張ってみます(`・ω・´)

799名無しさん@そうだ選挙にいこう:2008/12/04(木) 16:44:13
WINDOWS EXECL 2003なんですが
VSBを使わずに選択範囲だけを再計算ってできませんか?
800名無しさん@そうだ選挙にいこう:2008/12/04(木) 16:48:57
出来ません
801名無しさん@そうだ選挙にいこう:2008/12/04(木) 16:51:11
VSBを知らないので分かりません
802名無しさん@そうだ選挙にいこう:2008/12/04(木) 16:58:40
A列の最初の空白セルに飛ぶようなキー操作やボタンなどを作るにはどうしたらいいでしょうか?

例をあげますと、A列〜C列に上から順にレコードを入力してゆきます。
D,E列にはその計算結果が表示されるような式が入っており、これは3000行目まで埋まっています。

ここで何かのキー操作や、ボタンを押す事で、A列の最初の空白行に飛ぶような操作をしたいと考えています。
よろしくお願いします。

【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい(リファレンスを参照しながら見よう見真似で)
【4 VBAでの回答の可否】 コピペ修正できるようなものでしたらお願いします。
【5 検索キーワード     】 エクセル 空白 移動 マクロ

803名無しさん@そうだ選挙にいこう:2008/12/04(木) 17:26:25
>>802
A列のどこかを選択してCtrl+↓
804名無しさん@そうだ選挙にいこう:2008/12/04(木) 17:39:13
>>803
で、できました・・・ありがとうございました。
805781:2008/12/04(木) 17:44:29
午前中、単語帳の検索マクロでお世話になったものです。
皆さん、どうもありがとうございました。
A1セルを保持したほうが都合が良かったので>>787さんのプログラムを使わせていただきました。
バッチリです!すごく使い勝手が良くなりました。
自分で今から勉強始めてたら1年かかっても出来なかったでしょう。助かりました。
皆さんすばらしいです!
806名無しさん@そうだ選挙にいこう:2008/12/04(木) 17:56:25
>>799
エグゼクルとかブイエスビーって何ですか?
807名無しさん@そうだ選挙にいこう:2008/12/04(木) 18:01:50
>>806
ViSual Basic
808名無しさん@そうだ選挙にいこう:2008/12/04(木) 19:46:48
どっちにしろ部分的な再計算は無理じゃね?
やるとしたら選択範囲を別ブックにコピーするぐらいしか思い付かんわ
それにしたって依存関係とかチェックして計算に必要なセルを洗い出すのは相当大変だと思うけど
809名無しさん@そうだ選挙にいこう:2008/12/04(木) 20:37:43
>>799
範囲内のセルと範囲外のセルが参照しあってたらどうするの
>「選択範囲だけを再計算」
この考え方自体が破綻してるじゃん
810名無しさん@そうだ選挙にいこう:2008/12/04(木) 20:38:43
名前を入力すると、
・携帯の電話番号があればそれ
・なければ自宅の電話番号
が自動的に出てくるようにしたいのですが、関数をどのように書けばよいのでしょうか?
811名無しさん@そうだ選挙にいこう:2008/12/04(木) 20:41:12
>>810
たとえばA1に携帯、A2に自宅なら
IF(ISBLANK(A1),A2,A1)

これとVLOOKUPを組み合わせる
812名無しさん@そうだ選挙にいこう:2008/12/04(木) 21:09:27
ありがとうございます
もう一つ聞きたいのですが、MATCH関数でいくつかの単語を検索し、
その結果帰ってきた値の中の最小値をMIN関数で求めたいのですが、
検索した単語が存在しない場合、エラーが出てしまい、
MIN関数内にエラーが含まれてしまい、正しく最小値を求められません。
エラーを無視して返ってきた値の中での最小値を求めることは出来ないでしょうか?
813名無しさん@そうだ選挙にいこう:2008/12/04(木) 21:13:00
>>812
IFと配列数式でエラーを除外する
814名無しさん@そうだ選挙にいこう:2008/12/04(木) 22:08:22
初めまして、仕事で行き詰まってしまい是非ご相談をさせて頂きたく書き込みさせていただきます。
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel 記号 囲まれた 返す

計算式で、同じ記号に囲まれた数字を返すというものはありますでしょうか?
例 1-1-1 という文字列を最終的には 01-01-01 という形式にしたく、
はじめも”1”についてはIFを組み合わせて変換することが出来ました。
最後も同じように出来る予定なのですが、中の数字だけ計算式が浮かばなくて・・・
すべてが一桁の数字ではなく、
1-15-1や1-15-15、10-15-1、10-15-15のパターンがあるためうまく出来ません。
何かよい方法はないでしょうか。
何卒宜しくお願いいたします。
815名無しさん@そうだ選挙にいこう:2008/12/04(木) 22:29:00
=TEXT(LEFT(A1,(FIND("-",A1,1)-1)),"00")&"-"&TEXT(MID(A1,FIND("-",A1,1)+1,(FIND("-",A1,FIND("-",A1,1)+1)-FIND("-",A1,1)-1)),"00")&"-"&TEXT(RIGHT(A1,(LEN(A1)-FIND("-",A1,FIND("-",A1,1)+1))),"00")
長!!
816名無しさん@そうだ選挙にいこう:2008/12/04(木) 22:33:28
>>814

A1 = 1-1-1
B1 =SUBSTITUTE(A1,"-1-","-01-")

真ん中だけだけど…こんなかんじ?
817名無しさん@そうだ選挙にいこう:2008/12/04(木) 22:36:57
シフト表から各スタッフの初勤務日を計算で出すことは出来ますか?
また、逆にその日(たとえば1月1日)に働くスタッフを列挙するというのはどうでしょうか?
818名無しさん@そうだ選挙にいこう:2008/12/04(木) 22:52:59
>>814
元のデータがA1に入ってたとき、
=SUBSTITUTE(MID(A1,3,LEN(A1)-4),"-","")
819名無しさん@そうだ選挙にいこう:2008/12/04(木) 22:55:45
>>814
=TEXT(LEFT(SUBSTITUTE(A1,"-"," "),2),"00-")
&TEXT(MID(SUBSTITUTE(A1,"-"," "),4,2),"00")
&TEXT(RIGHT(SUBSTITUTE(A1,"-"," "),2),"-00")

俺も長w
820818:2008/12/04(木) 22:57:41
補足すると、最初の数字は
=SUBSTITUTE(LEFT(A1,2),"-","")
最後(3番目)の数字は
=SUBSTITUTE(RIGHT(A1,2),"-","")
で取り出せる。
821名無しさん@そうだ選挙にいこう:2008/12/04(木) 23:04:10
>>819
それだと「1-2-3」が「01-03-03」になる。

正解
=TEXT(SUBSTITUTE(LEFT(A1,2),"-",""),"00-")
&TEXT(SUBSTITUTE(MID(A1,3,LEN(A1)-4),"-",""),"00-")
&TEXT(SUBSTITUTE(RIGHT(A1,2),"-",""),"00")

822819:2008/12/04(木) 23:04:31
>814
ミスったぜ!
=TEXT(LEFT(SUBSTITUTE(A1,"-"," "),2),"00-")
&TEXT(MID(SUBSTITUTE(A1,"-"," "),4,3),"00")
&TEXT(RIGHT(SUBSTITUTE(A1,"-"," "),2),"-00")
823819:2008/12/04(木) 23:06:38
>>822
アウ^^;
ダブルコーテーションに囲まれたスペースは真ん中だけ2個であとは1個

>>821
指摘d
824名無しさん@そうだ選挙にいこう:2008/12/04(木) 23:07:14
>>817
シフト表のデザイン次第
825名無しさん@そうだ選挙にいこう:2008/12/04(木) 23:16:23
合わせてみた。今んとここれが最短かな
=TEXT(LEFT(A1,FIND("-",A1)-1),"00-")
&TEXT(MID(SUBSTITUTE(A1,"-","  "),4,3),"00")
&TEXT(SUBSTITUTE(RIGHT(A1,2),"-",""),"-00")
826名無しさん@そうだ選挙にいこう:2008/12/04(木) 23:21:37
>>814
さらに改良。
=TEXT(LEFT(A1,FIND("-",A1)-1),"00-")
&TEXT(MID(SUBSTITUTE(A1,"-","  "),4,3),"00")
&TEXT(MID(A1,FIND("-",A1,4)+1,2),"-00")
なんかもっと違う方法がありそうなんだけど…
827名無しさん@そうだ選挙にいこう:2008/12/04(木) 23:24:08
>>824
      日にち   日にち ...
名前    シフト内容(アルファベット)
名前    シフト内容(アルファベット)

ってな感じなんですが
828名無しさん@そうだ選挙にいこう:2008/12/05(金) 00:21:24
814です。
うわ!!!たっくさんのご回答感激です!!!
やはりダイレクトに取り出す関数はないんですね。
FINDか何かで”-*-”で試して見たかったのですが、
ワイルドカード禁止で挫折しておりました。
地道に出すにも始めの数字の桁数が一致しないのでどうしたものかと思っていたのですが、
SUBSTITUTEを活用するのですね!!
お恥かしながら家パソにはエクセルがないので検算できないので
脳内がごちゃごちゃ数字だらけになっておりますw
でも理論はわかりました!!
明日会社で試します!!
本当に感激です!!
ありがとうございました!!
829名無しさん@そうだ選挙にいこう:2008/12/05(金) 01:05:22
>>827
空いてる行に「データがあったら左のセルの値に1を足す」という式を書いて
LOOKUPで1の入ったセルを見付ければいい。
列挙もできると思うけど、シフト表がどういう形式かそれだけではよくわからないので
なんとも言えない。
830名無しさん@そうだ選挙にいこう:2008/12/05(金) 03:37:17
A1セルに文字が入力されている場合に
B1セルでなんらかの関数を使って
A1セルに入力された文字を消すことってできますか?
見えなくするのではなくてA1セルでDelキーを押したような状態にさせたいのです
831名無しさん@そうだ選挙にいこう:2008/12/05(金) 04:24:54
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 シート 名前変更

二つのブックがあって、一方の複数のシートをもう片方のブックにコピーした際に、
自動的に指定した名前でコピー又は変更することはできますか?

ブック1 シート名「12月1日」 「12月2日」 「12月3日」 コピー → ブック2 シート「田中」 「鈴木」 「佐藤」
832名無しさん@そうだ選挙にいこう:2008/12/05(金) 09:19:33
>>831
つ[マクロの記録]
名前を指定してコピーしたらどこかに「田中」という文字列が現れる
そこにrange("a1").valueなどを入れればA1セルの内容が反映される
他にはコマンドボタン・inputboxなんかと組み合わせてみると良いかもしれない

833名無しさん@そうだ選挙にいこう:2008/12/05(金) 09:44:05
>>830
VBA使えば出来る。関数だけじゃ無理。
834名無しさん@そうだ選挙にいこう:2008/12/05(金) 09:48:03
WinXPでExcel2000ですが、
20列×4500行、データ量1800kくらいのワークシートがあるんですけど、
開くのに12秒もかかってカッタルイっす。
データを全部読み込んでるんですよね?きっと。
将来的に今の倍くらいのデータが入る予定なのですが、
素早く立ち上がる工夫とかあるのでしょうか?
835名無しさん@そうだ選挙にいこう:2008/12/05(金) 10:19:00
>834

excelをやめる。

excelは表計算ソフトだ。DBぢゃネーヨ。
836名無しさん@そうだ選挙にいこう:2008/12/05(金) 10:48:39
>>834
試しに50列×5000行、5MBぐらいある適当なデータを作って試してみたが、5秒もかからんかったぞ。
とりあえず計算を手動にしてみて、それでも遅いならもっと速いパソコンに買い換える、だな。
あと、まさかと思うけどファイルがUSBメモリに入ってたりしないよな?
837名無しさん@そうだ選挙にいこう:2008/12/05(金) 11:47:55
>>835
端的に言えばそうだなwでもエクセル便利なんだよ。
アクセスも持ってるけど、計算するにはクエリー組まなきゃならんし、
データと結果を表示させるにはフォームを組まなきゃならんし、
エクセルは直感的に一つの画面で出来るからなあ。
習慣的にエクセルで済ませちゃってるw

>>834
そんなに速いの?何が違うんだろ?
俺のCPUはペンDのクロック3Gくらいだったと思うけど。
計算も難しいことほとんどしてないし。文字データが多いけど。
838名無しさん@そうだ選挙にいこう:2008/12/05(金) 11:50:55
アンカーミスった。
>>834じゃなくて>>836ね。自己レスしてどうすんだwww
839836:2008/12/05(金) 12:06:31
>>837
うちは1.1GHzのノートパソコンだよ。
何か常駐ソフトが足を引っぱってるとか、メモリが足りてないんじゃない?
840名無しさん@そうだ選挙にいこう:2008/12/05(金) 12:17:44
データがただの数値か計算式かでかわってくるだろ
841834:2008/12/05(金) 12:21:45
>>839
常駐はノートンインターネットセキュリティだけ。
RAMは2G。ファイルはHDDのCドライブのマイドキュメントにあるんだけど・・・
あとは内容だなあ・・・
オートフィルタも入れてないし・・・
何が悪いんだ?
842名無しさん@そうだ選挙にいこう:2008/12/05(金) 12:24:38
>>841
とりあえずツール→オプション→計算方法→手動にしてみ?
843名無しさん@そうだ選挙にいこう:2008/12/05(金) 12:24:47
書式の指定が多すぎるとかじゃね?
844名無しさん@そうだ選挙にいこう:2008/12/05(金) 12:32:09
フォントを何種類も使ってると重くなる
845834:2008/12/05(金) 12:49:04
>>842
してみたけど、変わらなかった
>>843
確かに多いかも。でも列単位だし、違っても、
セルを折り返して全部表示するかどうか、入力規制とかフォントサイズくらい。
>>844
フォントは2種類使ってる

計算は部分的なオートサムくらいで、試しに削除してみたけど変わらなかった。
846名無しさん@そうだ選挙にいこう:2008/12/05(金) 12:52:05
>>845
使ってないシートを削除する、マクロを止める。
Ctrl+Endでとんでもないところに飛んだ場合、どこかに余計なデータが入ってる。

あとは、データの追加と削除を何度もやってると重くなることがあるから、
シート全体を新規ブックにコピペしてみる。
847834:2008/12/05(金) 13:14:07
>>846
>あとは、データの追加と削除を何度もやってると重くなることがあるから、
>シート全体を新規ブックにコピペしてみる。

これのようでした。新しいブックにコピーしたら7秒になりました。
ありがとうございました。
HDDのデフラグみたいなツールはないんですかね?
848名無しさん@そうだ選挙にいこう:2008/12/05(金) 13:18:29
ないです
849名無しさん@そうだ選挙にいこう:2008/12/05(金) 13:22:25
>834 の内容を20列4500行にコピーして保存すると1352KBになった。
これを開こうとすると12秒どころか、何時まで経っても開かない。
強制終了したが、こういう使い方は止めようと思った。(pen4 2.4G)
850名無しさん@そうだ選挙にいこう:2008/12/05(金) 13:33:26
セルに20バイト程度の文字列が入ってるだけで書式も数式も一切使ってない
単なる一覧表なら10000行あっても1秒もかからん。一瞬で開くぞ
851名無しさん@そうだ選挙にいこう:2008/12/05(金) 16:03:46
>>829

名前 A B D ...
名前   C  A...

てな感じなんですが・・・
ちなみにアルファベットはシフトの種類です
これだけでは分からないでしょうか?
852名無しさん@そうだ選挙にいこう:2008/12/05(金) 17:53:46
>>851
B列から日付が始まってる
B2からシフトが入ってる
前提で最初の出勤日は
=MIN(IF(B2:G2="","",B$1:G$1))
(B〜Gで6日分)
で配列数式にして書式設定を日付にすれば出せる

出勤者の列挙は出し方が分からないと回答できない
853名無しさん@そうだ選挙にいこう:2008/12/05(金) 18:19:28
>>834
数式の組み方が下手くそなんだよw

作 り な お せ ! !

全ての数式を書きだしてくれたら検討してやるぞ。
うぷろだはだめだぜ!
854名無しさん@そうだ選挙にいこう:2008/12/05(金) 18:20:31
なんだ、解決してたかw
855名無しさん@そうだ選挙にいこう:2008/12/05(金) 23:12:26
エクセルのバグ発見したんだけど
マイクロソフトに報告するとお小遣いとかもらえるの?
856名無しさん@そうだ選挙にいこう:2008/12/05(金) 23:22:08
もらえないし、第一発見者でもないだろうし
857名無しさん@そうだ選挙にいこう:2008/12/05(金) 23:32:13
>>830

完全消去はムリだけど…

A1 =IF(B1<>"","","●●")

●●…本来A1に入れたい文字
858名無しさん@そうだ選挙にいこう:2008/12/05(金) 23:39:35
そうかもらえないか
第一発見者かどうかわからんが
誰か試してくれんか?
とりあえず
A1に
=IF(A4=0.01,"○","×")
んで
A4に
=ABS(A2-A3)
って入れてくれ
859名無しさん@そうだ選挙にいこう:2008/12/05(金) 23:40:14
すいません。説明がうまくできないので、jpgを見てください。

(真ん中の線が『0』ではなく『5000』に来ているので、これを正しい位置『0』にする方法をご教授ください)

http://www.uploda.org/uporg1834602.jpg
860858:2008/12/05(金) 23:42:43
そして
A2に
0.25
A3に
0.24
を入れてみてくれどうなる?
ちなみにバージョンは2000
861名無しさん@そうだ選挙にいこう:2008/12/06(土) 00:00:04
>>860
それExcelと関係ない。少数以下の計算に誤差が出るのはすべてのパソコンに共通の問題。
このスレだけでも2回目だよ。
862名無しさん@そうだ選挙にいこう:2008/12/06(土) 00:14:24
>>859
自己解決しました。
863名無しさん@そうだ選挙にいこう:2008/12/06(土) 00:15:16
>>861
まじで?
回避方法ないの
864名無しさん@そうだ選挙にいこう:2008/12/06(土) 00:20:13
2003では謎の誤差丸め機能により○になるよ
とりあえずオプションの計算方法の表示桁数で計算するをチェックしてみれば
865858:2008/12/06(土) 00:40:30
0.23

0.24
だった。これで×になる
他の小数点の数字でも試してみたけど確かに駄目な数字あるな。
866名無しさん@そうだ選挙にいこう:2008/12/06(土) 00:40:59
>>858
詳しい解説どうぞ
867名無しさん@そうだ選挙にいこう:2008/12/06(土) 00:41:45
868858:2008/12/06(土) 00:42:33
>>864のアドバイス試してみたけど駄目だった
困ったな・・・
869名無しさん@そうだ選挙にいこう:2008/12/06(土) 00:43:17
870名無しさん@そうだ選挙にいこう:2008/12/06(土) 00:50:29
>>866,869
勉強になる
ありがtwo〜
871名無しさん@そうだ選挙にいこう:2008/12/06(土) 00:50:35
>>868
書式設定で少数以下を18桁にしてみ。こんなふうに周期的に誤差が出る。
ttp://upload.jpn.ph/upload/img/u30650.png
872名無しさん@そうだ選挙にいこう:2008/12/06(土) 08:45:45
>>871
10進法の計算を2進法で動いているPCで計算するからですか?
回避策はないのですか?
873名無しさん@そうだ選挙にいこう:2008/12/06(土) 09:02:00
874名無しさん@そうだ選挙にいこう:2008/12/06(土) 10:05:28
ド素人な質問なのですがよろしくお願いします
シート全体を再計算したくなくて
vbaというものを使おうと思ったのですがどうにも初挑戦なもので・・・

とりあえず「セルを再計算して値にして隣のセルに移る」というところまでやってみようと思い
[F2を押す→TABで隣に移る(ここで再計算されるはず)→シフトTABで戻ってくる→
 →コピーしてそのまま値で貼り付け→右に移る]
こんな感じにできればいいかなと思い

Application.SendKeys ("{F2}")
Application.SendKeys ("{TAB}")
Application.SendKeys ("+{TAB}")
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
ActiveCell.Offset(0, 1).Select

とやってみたのですが結果はセルが空欄になって隣に移動してしまいます
何故そうなるか と どこを直すべきなのか を教えて頂けないでしょうか
875名無しさん@そうだ選挙にいこう:2008/12/06(土) 10:42:18
>>874
ツール⇒オプション⇒計算方法⇒手動では?
876名無しさん@そうだ選挙にいこう:2008/12/06(土) 10:43:36
Sub Macro1()
With Application
.Calculation = xlManual
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False
End Sub
877名無しさん@そうだ選挙にいこう:2008/12/06(土) 10:48:18
>>858
先輩に聞いたところでは、2進法の誤差問題は
パソコン初期の80年代には、すでにみんな知ってて
95が出た頃にはROUNDで有効桁の処理をするのが、
当たり前だったらしい。

どの年代でこの情報が途切れたんだろう・・・・
878872:2008/12/06(土) 11:02:10
>>873
よおーーーーくわかりました。
ありがとうございます。w
879名無しさん@そうだ選挙にいこう:2008/12/06(土) 11:06:00
この二者の結果が異なるようになったころだっけ?
=1-1/3-1/3-1/3
=(1-1/3-1/3-1/3)
880名無しさん@そうだ選挙にいこう:2008/12/06(土) 11:06:30
80年代に個人でパソコンを触ってたようなんは筋金入りのオタクばっかりだ
今は普及しすぎて基本原理を知らない人が増えたからだと思われる
エクセル触ってるだけの人に「2進法で表せる数じゃないと…」とか言っても逆にアホみたいだ
881ピエロ:2008/12/06(土) 11:39:38
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 掛算 関数 一定値掛けるパーセント

ある一定値に対して何通りかのパーセント掛けた値を出したいのですが、
例)
    10%  15%  20%
金額
\1500 \1650 \1725 \1800
上記のような表を関数で作るにはどうしたらよろしいでしょうか?
アドバイスいただけないでしょうか?
882名無しさん@そうだ選挙にいこう:2008/12/06(土) 12:14:24
A1*10%
883名無しさん@そうだ選挙にいこう:2008/12/06(土) 12:15:33
>>881
1行目に書式設定 パーセンテージ
B1=10 C1=15 D1=20

2行目に書式設定 ユーザー定義 \0
A2=1500 B2=$A$2*(B$1+1)
B2をコピーしC2,D2にコピー

というのをやりたいの?
884名無しさん@そうだ選挙にいこう:2008/12/06(土) 12:17:01
×C2,D2にコピー
○C2,D2に貼り付け
885ピエロ:2008/12/06(土) 12:24:43
>>884
そうですそうです!
886名無しさん@そうだ選挙にいこう:2008/12/06(土) 12:26:48
>>875
いえシート全体を再計算させたくないので
それは既にやってあります
887ピエロ:2008/12/06(土) 12:33:45
あ、いえ、これだとB2に対してのパーセント計算に
なってしまうので違いました。
各パーセントを元の値(この場合1500)に掛けたいのです。
でB2で作った書式をC2,D2にコピーするだけで
\1500×10%
\1500×15%
\1500×20%を出したいのです。


888名無しさん@そうだ選挙にいこう:2008/12/06(土) 12:37:28
アドレスの相対指定と絶対指定を勉強するといいよ
889ピエロ:2008/12/06(土) 12:57:11
>>888
なるほど
ありがとうございました。
調べてみます。
890名無しさん@そうだ選挙にいこう:2008/12/06(土) 12:58:51
>>887
>>883の式はA2に入れた1500に対してパーセンテージを掛けてるよ

もし元になる値1500を直接指定したいというなら
B2=$A$2*(B$1+1)の$A$2の部分を1500にして後の手順は一緒

パーセンテージも直接指定したいならさらにB$1の部分を10%にする

でもここまでしてしまうと表計算ソフト使う意味ないし
一部の値を変更したときに書き換えし忘れて間違えたりするから注意
891名無しさん@そうだ選挙にいこう:2008/12/06(土) 14:35:15
XPPRO
Excel2003
VBA分からん
VBA困る
検索キーワード ソート?
例えば、上から順に、
A
C
B
A
A
C
って入力しものを昇順ソートかけたら、
A
A
A
B
C
C
こうならずに
A
B
A
A
C
C
こんなふうになるんだけど、なんで?
892名無しさん@そうだ選挙にいこう:2008/12/06(土) 14:41:04
>>891
ふりがながズレてるから
893名無しさん@そうだ選挙にいこう:2008/12/06(土) 14:44:17
ふりがな?
ふりがなは付けてない。
1列ソート
894名無しさん@そうだ選挙にいこう:2008/12/06(土) 14:56:37
>>891
漢字にはフリガナがあるからその順にソートされるんだよ
つーか何のデータをソートしてるのか書いてくれ
895名無しさん@そうだ選挙にいこう:2008/12/06(土) 15:02:13
経理の科目をソートしてる

「経費」っていうのが飛び飛びになる
896名無しさん@そうだ選挙にいこう:2008/12/06(土) 15:03:35
>>874 >>886
処理の順番の問題。SendKeysで再計算させるには、一旦マクロから抜けなきゃいけない。
そうしないと再計算する前のセルがコピペされてしまう。

Sub 再計算()
  Set r = Selection  '選択されたセルを覚えておく
  SendKeys ("{F2}{ENTER}")  '1セルだけ再計算
  DoEvents  '一時的にマクロから抜けて再計算の結果をワークシートに書き込む
  r.Copy  '結果を値としてコピペ
  r.PasteSpecial Paste:=xlPasteValues
End Sub
897名無しさん@そうだ選挙にいこう:2008/12/06(土) 15:04:19
Excel2000
vba勉強中
日付をボタンで前後出来て
その日付の「20/12/6」から6日を純粋な数字の「6」として取り出したいのですが(コピー)
day関数?で上手くいくかと思ったのですが1日から前日になると-1になってしまい上手くいきません
どなたか教えてください、お願いします
898名無しさん@そうだ選挙にいこう:2008/12/06(土) 15:08:30
>>897
日付がA1に入ってるとして
=DAY(A1)-1
だとマイナスになる。正解は日付に変換する「前」に引く
=DAY(A1-1)
899名無しさん@そうだ選挙にいこう:2008/12/06(土) 15:21:25
>>895
Excelでは、表示されてないだけで内部に「ふりがな」のデータが必ず存在する。
キーボードから漢字変換、別の表からコピペなど、データの追加方法によってふりがなが変わってしまうので、
意図しない順番でソートされてしまうことがある。
修正するには列全体を選択して「経費」を「経費」に置換する。見た目は変わらないが、隠されたふりがなデータが一発で消去される。
他のデータもみんな置換しておくといい。
900897:2008/12/06(土) 15:21:48
>>898解りました早速試します
有りがとうございます
901名無しさん@そうだ選挙にいこう:2008/12/06(土) 15:21:53
>>895
見えてなくてもふりがなは漢字と同時に振られるんだよ。
オートコンプリート使ったりコピーしたりするとズレる事がある。
つーか、携帯だから打つの面倒なんだよ!
とりあえず並び替えのオプションでふりがなを使わないを選べ。
902ソート:2008/12/06(土) 15:25:27
>>899サンクス

理解した。
経費を経費に置換して直った。
が、
その後から新しく入力した「経費」が全てこれまでとは違う「経費」として認識している…
これまでの「経費」をコピペするしかないか
903ソート:2008/12/06(土) 15:42:03
並べ替えは>>901で解決だが
オートフィルタがだめだな

やっぱコピペだな

サンクス
904名無しさん@そうだ選挙にいこう:2008/12/06(土) 15:55:51
嘘だー!
そんなはずはない。
905名無しさん@そうだ選挙にいこう:2008/12/06(土) 16:04:09
スペースだ!
スペースが入っているに違いない。
906名無しさん@そうだ選挙にいこう:2008/12/06(土) 16:05:20
ふりがなはshift+alt+↑で表示できる
phonetic関数でも見れる
まぁ、コピペが一番手っ取り早いわな
907名無しさん@そうだ選挙にいこう:2008/12/06(土) 16:16:00
てんぐじゃ!
てんぐのしわざじゃ!
908名無しさん@そうだ選挙にいこう:2008/12/06(土) 16:41:02
急ぎなのですみません、テンプレ使わないで聞いちゃいます。

A1のセルに2008/12/01と入力し、書式設定のaaaで曜日「月」を表示させたんですけど、
それをB1のセルにコピーし「月」と表示させたいのですが、値が2008/12/01としまいます。

値も「月」とするにはどうすればいいのでしょうか?
909名無しさん@そうだ選挙にいこう:2008/12/06(土) 16:51:56
>>908
急いでいるから簡単にいうと、weekdayをつかうんだ
910名無しさん@そうだ選挙にいこう:2008/12/06(土) 16:53:28
>>908
コピペじゃムリ
=TEXT(A1,"aaa")
911名無しさん@そうだ選挙にいこう:2008/12/06(土) 17:49:43
>>909
>>910
ありがと、間に合ったよ
912名無しさん@そうだ選挙にいこう:2008/12/06(土) 17:57:40
>>896
ありがとうございます、がんばってみます!
913名無しさん@そうだ選挙にいこう:2008/12/06(土) 21:27:25
>>874
selection.calculate
selection.value = selection.value
じゃダメなん?
914名無しさん@そうだ選挙にいこう:2008/12/07(日) 06:36:34
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可(そのコードを教えて頂ければ)

おはようございます。日曜日です。

自分的にかなりまんぞくのいく表が完成したんですが、
それを別シートにコピーしようとしたら、列幅行幅がデフォルト値に戻って
台無しになってしまいます。
教えてください。
関数だけを除いてそのまま別シートへコピペする方法、できれば毎度のことなので
自動的(簡単)にする方法などありましたらお願いいたします。
915名無しさん@そうだ選挙にいこう:2008/12/07(日) 07:20:26
「関数だけを除いて」って意味がよくわかんない
916名無しさん@そうだ選挙にいこう:2008/12/07(日) 07:44:56
>>914
シートごと複製して、全体をコピー、値のみ貼り付けしたらどうよ?
vbaでなくても5秒もかからないだろうよ。
917名無しさん@そうだ選挙にいこう:2008/12/07(日) 09:04:04
>>914
(例1)
┌─┬─┬
│■│A│ ←■をクリックするとシート全体が選択できるので
├─┼─┼ それをコピペすればセルサイズもコピーできる
│@│

(例2)
[Ctrl]キーを押しながらドラッグすると印刷設定も含めコピーできる
918名無しさん@そうだ選挙にいこう:2008/12/07(日) 11:51:20
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】


一つのファイルの中にあるグラフだけを全て印刷するようなマクロを作りたいのですが、
どのようにすれば良いのでしょうか?
お願いいたします。
919名無しさん@そうだ選挙にいこう:2008/12/07(日) 12:07:44
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 散布図 マーカー 透明化

散布図のマーカーを透明化、もしくは画像をマーカーとして使用するにはどうしたらよろしいでしょうか?
920名無しさん@そうだ選挙にいこう:2008/12/07(日) 12:37:23
>>918
たぶん For Each あたりでできる
921名無しさん@そうだ選挙にいこう:2008/12/07(日) 12:53:39
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】


なんかマクロを扱うようになってから、
PERSONAL.XLSとかいうファイルが勝手に開くようになっのですが、これって何なのでしょうか?
これを出てこないようにしたいのですが、どうすれば良いのでしょうか?
よろしくお願い致します。
922名無しさん@そうだ選挙にいこう:2008/12/07(日) 12:54:11
>>920

もっと具体的にお願い致します。
923名無しさん@そうだ選挙にいこう:2008/12/07(日) 13:08:32
>>922
>【4 VBAでの回答の可否】 可

('A`)

ChartObjects と For Each でググれ
924名無しさん@そうだ選挙にいこう:2008/12/07(日) 13:14:39
>>649,664
非常に返事が遅れてしまい申し訳ありません。

ActiveChart.HasTitle = True
ActiveChart.ChartTitle.Characters.Text = Range("A1")
というところなのですが、
For i = 4 To 8・・・
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="=zero!R12C" & i
みたいにしたいのですが、なぜか=zero!R12C3といった名称がそのまま出力されてしまいます。


ActiveChart.SeriesCollection(1).Values = "=zero!R13C" & i & ":R1013C" & i

ActiveChart.SeriesCollection(1).Values = "=R13C" & i & ":R1013C" & i
についてなのですが、何も書かないとエラーが出て全く実行してくれないのですが・・・

よろしくお願い致します。
925名無しさん@そうだ選挙にいこう:2008/12/07(日) 13:19:16
926名無しさん@そうだ選挙にいこう:2008/12/07(日) 13:39:53
Function Om(v, s)
Om = Range(v.col & s) / res

End Function

vというセルの列から任意の行のセルの中身を取り出したいのですが
なぜかうまくいきません。
どこの部分が間違っていますでしょうか?
よろしくお願い致します。
927名無しさん@そうだ選挙にいこう:2008/12/07(日) 13:45:50
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

Function rr(v)
rr = average(Cells(v.row,(v.col-2)):Cells(v.row,(v.col+2)))

End Function

選択されたセルの±2の間で平均をとるためのマクロなのですが、
なぜかエラーが出てきます。どこがまずいのでしょうか?

928名無しさん@そうだ選挙にいこう:2008/12/07(日) 14:21:04
>>926-927
colってなんだよ?
resってなんだよ?
averageってなんだよ?

存在しないプロパティや関数を書けば、そりゃエラーにもなるだろ
Rangeオブジェクトの列を返すプロパティはcolではなくColumnで、
列名ではなく列番号(Aなら1、Cなら3)を返す

AverageはWorksheetFunctionにはあるがVBAにはないので
親オブジェクト無しでAverageと書けば未定義関数を呼んでることになる

つーか君、
【3 VBAが使えるか    .】 いいえ
だろ?
まともに動かないコードなら、誰でも書けるんだよ
929名無しさん@そうだ選挙にいこう:2008/12/07(日) 14:22:13
>923

Sub Macro2()


For Each ChartObjects PrintOut Copies:=1, Collate:=True
End Sub

とでもするのでしょうか?
全く分かりません。
教えて下さい。
930名無しさん@そうだ選挙にいこう:2008/12/07(日) 14:23:53
>>928
そうなんですか。ありがとうございます。
WorksheetFunctionをそのまま呼び出すことができる
記述ってないのでしょうか?
何卒よろしくお願い致します。
931927:2008/12/07(日) 14:28:42
Function rr(v)
rr = WorksheetFunction.Average(Cells(v.Row, (v.collum - 2)), Cells(v.Row, (v.collum + 2)))

End Function

今度はどこが間違えていますか?

932931:2008/12/07(日) 14:30:09
Function rr(v)
rr = WorksheetFunction.Average(Cells(v.Row, (v.Column - 2)), Cells(v.Row, (v.Column + 2)))

End Function

間違えました。お願いいたします。
933924:2008/12/07(日) 14:34:09
何卒よろしくお願い致します。

934名無しさん@そうだ選挙にいこう:2008/12/07(日) 14:36:45
なにこの流れw
935名無しさん@そうだ選挙にいこう:2008/12/07(日) 14:51:20
Function ss(v)
ss = Cells(v.Row, v.Column)
End Function

ならうまくセルの中身を取り出せるのに

Function ss(v)
ss = Cells(v.Row, (v.Column - 2))
End Function

だとうまくいかないのはなぜですか?
936名無しさん@そうだ選挙にいこう:2008/12/07(日) 15:48:12
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

一度実行したマクロをマクロの実行前に戻すことはできないのでしょうか?
普通にundoしようとしてもできないのですが・・・
937名無しさん@そうだ選挙にいこう:2008/12/07(日) 16:02:05
無理です。仕様です
938名無しさん@そうだ選挙にいこう:2008/12/07(日) 16:05:33
まじかよ!!!!!!!
冗談じゃねえよくそったれえええええええええ

939名無しさん@そうだ選挙にいこう:2008/12/07(日) 16:08:19
バックアップとってなかったお前が糞ったらし。
940名無しさん@そうだ選挙にいこう:2008/12/07(日) 16:13:44
undoできないのは確かに不便だな
マクロを作るとき、失敗したらまたファイル呼び出さないといけない場合もあるし
941名無しさん@そうだ選挙にいこう:2008/12/07(日) 16:28:15
EXCELに、英和辞典のサイトからの文をコピーして貼り付けたら
その文が印刷されません、どうすればよいでしょうか?
942名無しさん@そうだ選挙にいこう:2008/12/07(日) 16:28:54
保存しなければおk
943名無しさん@そうだ選挙にいこう:2008/12/07(日) 16:38:32
>【3 VBAが使えるか    .】 はい
>【4 VBAでの回答の可否】 可

テンプレのこれは質問者のそれではなく、
回答者のものであると思う今日この頃

質問の内容云々ではなく質問の仕方が酷い
もう冬休みなんだなぁ
944名無しさん@そうだ選挙にいこう:2008/12/07(日) 17:15:13
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel2007 グラフ 範囲選択 順番 ・・・など


グラフ作成の際の範囲選択の順番についての質問です。

集合縦棒グラフの作成で、選択範囲が商品名と金額だとします。(B5:B10とE5:E10など)
商品名と金額のセルは離れているので、
Ctrlキーを使って同時選択してからグラフの種類を選びますが、
先に金額を選択してから商品名を選択すると、作成結果がおかしくなります。
(横軸に商品名と金額が入る?)
商品名を選択後に金額を選択すると、横軸に商品名・縦軸に金額がきちんと入ります。

なぜこのような選択の順番がグラフの結果に影響するのでしょうか?
2003までは影響がなかったように思います。
よろしくお願いします。
945名無しさん@そうだ選挙にいこう:2008/12/07(日) 17:19:19
VBAで
i = i + 1
を i += 1
みたいに簡単に記述することができたと思うのですが、
どうするんでしたっけ?
i += 1で合ってると思ったのですが、うまくいかないんですが・・・
946914:2008/12/07(日) 17:23:22
>>916
>>917
お答えありがとうございます。
わたしの質問伝わらないですね、これじゃ。
その表を他人に渡すので数式とか見られたくないんです。
もちろん保護するわけにもいきません。
要するに数式以外全てコピーしたいんです。(列幅行高さ含め)
コピーという方法以外でも数式だけを伏せてその表を他人に渡す良い方法が
あれば教えてください
947名無しさん@そうだ選挙にいこう:2008/12/07(日) 17:29:20
>>945
最近のVBでは使えるけどVBAではたぶん使えなかったと思う
948名無しさん@そうだ選挙にいこう:2008/12/07(日) 17:31:38
>>946
>>916に全体をコピー、値のみ貼り付けしたらって書いているけど
これじゃだめなの?
949名無しさん@そうだ選挙にいこう:2008/12/07(日) 17:31:47
>>945
Cと勘違いしてないか?
>>947の言うようにVBAでは使えん
950名無しさん@そうだ選挙にいこう:2008/12/07(日) 17:33:12
>>945
それCか何かだったと思う。VBAでは使えなかったはず
951名無しさん@そうだ選挙にいこう:2008/12/07(日) 17:51:06
>>950

うおおおおおおおおお
そうなんですかああああああああ
952名無しさん@そうだ選挙にいこう:2008/12/07(日) 18:03:32
ActiveChart.SeriesCollection(1).XValues = Range(Cells(1, 1), Cells(100, 1))

これってどこが間違えていますか?

何卒よろしくお願い致します。
953名無しさん@そうだ選挙にいこう:2008/12/07(日) 18:04:04
>>947
VBでは使えるのですか?
954名無しさん@そうだ選挙にいこう:2008/12/07(日) 18:18:07
>>952
Range(Cells(1, 1), Cells(100, 1))
955名無しさん@そうだ選挙にいこう:2008/12/07(日) 18:24:45
>>954
どういうことですが、教えて下さい。
よろしくお願い致します。
956名無しさん@そうだ選挙にいこう:2008/12/07(日) 18:27:37
>>935
v.Columnが2より小さかった
とか?
957名無しさん@そうだ選挙にいこう:2008/12/07(日) 18:27:41
>>925

PERSONAL.XLSを消した状態でPERSONAL.XLSにあるマクロを使うことはできないのでしょうか?
マクロの一覧には出てくるのに、なぜか実行することができないのですが・・
958名無しさん@そうだ選挙にいこう:2008/12/07(日) 18:30:58
>>955
何がやりたいのかわからないので適当に添削するとRange("A1:A100")
959名無しさん@そうだ選挙にいこう:2008/12/07(日) 19:10:47
ずっと疑問なんですけど
ピボットテーブルのピボットってどういう意味ですか?
960名無しさん@そうだ選挙にいこう:2008/12/07(日) 19:12:00
>>959
バスケットボールって知ってます?
961947:2008/12/07(日) 19:13:19
>>953
俺が使ってるのは VB2005 ってやつ。バリバリ使ってるよ。
962名無しさん@そうだ選挙にいこう:2008/12/07(日) 19:22:10
SubをPrivate Subに変えるとマクロのところから選択できなくなるのですが、
これってどうやって使うものなのでしょうか?
963名無しさん@そうだ選挙にいこう:2008/12/07(日) 19:27:10
このスレはExcelで困った人のためのものだ
思いつきを書き込むのは少しは控えろよ
ここに書き込む暇があったら少しはググれカス
964名無しさん@そうだ選挙にいこう:2008/12/07(日) 19:29:46
Javaなんかでも使えるね。
てかそこまで簡略化しなきゃならん状況も少ないと思う。
965名無しさん@そうだ選挙にいこう:2008/12/07(日) 19:29:52
>>920
Sub 印刷()

For Each ChartObjects In Workbooks
PrintOut Copies:=1, Collate:=True
End Sub



これだとどこがまずいのですか?
966名無しさん@そうだ選挙にいこう:2008/12/07(日) 19:44:59
967名無しさん@そうだ選挙にいこう:2008/12/07(日) 19:49:57
968名無しさん@そうだ選挙にいこう:2008/12/07(日) 19:54:55
なんか似たような質問をしつこく連投してるやつがいるな

しかもググらないしヘルプも見ないという・・・
969名無しさん@そうだ選挙にいこう:2008/12/07(日) 20:13:35
>>965のことでしょ。もっと名指ししていいと思うよ言われるまで気づかないだろうし
970名無しさん@そうだ選挙にいこう:2008/12/07(日) 20:22:17
http://blog.jpans.org/rental-a3a933723a3faf77c6afb7c01417083d.html

ここでも同じ質問がされているのですが、
SetSourceData Sourceでは、cellsの指定ができないのはなぜなのでしょうか?
仕様なのでしょうか?
971名無しさん@そうだ選挙にいこう:2008/12/07(日) 20:27:17
>>970
SetSourceData はRangeオブジェクトを指定する必要があるから
Rangeオブジェクトでググれ
972名無しさん@そうだ選挙にいこう:2008/12/07(日) 20:27:59
>>970
http://msdn.microsoft.com/ja-jp/library/cc329257.aspx
SetSourceData メソッド
expression.SetSourceData(Source, PlotBy)
Source 必ず指定します。対象となる Range オブジェクトを返すオブジェクト式を指定します。元データを含むセル範囲を指定します。

Range オブジェクトを返すオブジェクト式を指定します。
973名無しさん@そうだ選挙にいこう:2008/12/07(日) 20:32:49
例えば
Range("a1:a10"),

i=1 To 10
でa,b,c,d・・・
と連番にしたい場合はどうしたら
良いのですか?RangeだとこれができないのでCellsを使う必要があるのですが、
それもできないとなるとどうしようもないのでしょうか?
ずっと調べているのですが、どこにも解説が載っていません。どなたかお願いいたします。
974名無しさん@そうだ選挙にいこう:2008/12/07(日) 21:03:59
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ

a | 1 | 6
b | 2 |
c | 3 | 7
d | 4 | 8
e | 5 | 9

こういうような値に穴がある2つのデータを、
同じグラフ上に2つの折れ線グラフとして表現したいのですが、
値6と7の間が線で繋がりません。
つなげる方法があれば教えてください。
975名無しさん@そうだ選挙にいこう:2008/12/07(日) 21:26:04
>>973
http://www.geocities.jp/cbc_vbnet/function/mojireyu_function.html
の05番
これと組み合わせて
Range(Chr(i) & "1:" & Chr(i) & "10").Select
みたいにすればループできる
がもっと楽な方法があれば俺も知りたいので、知ってる人いたら書いて欲しい
>>974
あいてるとこに=(NA())
976974:2008/12/07(日) 21:29:59
>>975
有難う。助かりました。
977名無しさん@そうだ選挙にいこう:2008/12/07(日) 21:32:03
>>974
[ツール]-[オプション]-[グラフ]-[アクティブグラフ]-[空白セルのプロット]
好きなの選べ
978974:2008/12/07(日) 21:35:42
>>977
有難う。
979914:2008/12/07(日) 21:38:40
>>948
ダメです
なんでですかね
値だけ貼り付けたらやっぱり列幅行の高さ書式が消えます
どなたかバカなわたしに救済を
980名無しさん@そうだ選挙にいこう:2008/12/07(日) 21:42:58
>>979
エクセルファイルをコピー
そして目的のシートを開き、ctrl+Aで全体選択、右クリックでコピー、
右クリックで形式を選択して貼り付け 。この時 値(v) を選択、ok

これで理解できなきゃ諦めたほうがいい
981名無しさん@そうだ選挙にいこう:2008/12/07(日) 21:57:33
まるごとコピー貼り付けしてから、値貼り付けすればいんだよ
982名無しさん@そうだ選挙にいこう:2008/12/07(日) 22:02:48
>>959
つづりはpivot。直訳すると「(回転の)中心」
データを整理するときに、ある一点に注目して分類する方法のこと
高校あたりで確率、統計の授業を選択すれば習うこともあると思う
983名無しさん@そうだ選挙にいこう:2008/12/07(日) 22:11:23
次すれ
Excel総合相談所 76
http://pc11.2ch.net/test/read.cgi/bsoft/1228655230/
984名無しさん@そうだ選挙にいこう:2008/12/07(日) 22:19:04
誰か、こんな頭の悪いソフト作ったやつ殺してくれよ・・・・
まじでシネって・・・
985名無しさん@そうだ選挙にいこう:2008/12/07(日) 22:26:59
作る阿呆に使う阿呆
アソーレ

そういやエクセルで不便なところってある?
ハイパーリンク関数をどこに入れても強制的にハイ゜ーリンクの扱いになる、ぐらい思い浮かばないけど
2007は使ったこと無いので知らないけど相当ひどいのはわかる
986名無しさん@そうだ選挙にいこう:2008/12/07(日) 22:53:44
VBAで自作関数たくさんつくっていろんなファイルで使おうとしてもうまくいかないのがやだな。
987名無しさん@そうだ選挙にいこう:2008/12/07(日) 22:53:46
>>984
はコピペじゃないか
988名無しさん@そうだ選挙にいこう:2008/12/07(日) 23:26:11
>>986
つまり、うまく行かせられない自分や嫌になるってことか
精進しろよ
989名無しさん@そうだ選挙にいこう:2008/12/07(日) 23:49:26
98時代、メモリが足りませんと出て保存も何もできなくなった時は顔面蒼白に
そうなると常駐とか切っても手遅れなんだよね、理由はOSのバグかなんかだろうけど
マクロならメモ帳にコピペして退避させてたのはいい思い出だ
990名無しさん@そうだ選挙にいこう:2008/12/07(日) 23:50:41
ウメ
991名無しさん@そうだ選挙にいこう:2008/12/07(日) 23:54:43
あめ
992名無しさん@そうだ選挙にいこう:2008/12/08(月) 00:01:37
オメ
993名無しさん@そうだ選挙にいこう:2008/12/08(月) 07:16:24
埋め
994名無しさん@そうだ選挙にいこう:2008/12/08(月) 08:47:28
995名無しさん@そうだ選挙にいこう:2008/12/08(月) 12:11:35
996名無しさん@そうだ選挙にいこう:2008/12/08(月) 13:56:28
舐め
997名無しさん@そうだ選挙にいこう:2008/12/08(月) 16:57:39
998名無しさん@そうだ選挙にいこう:2008/12/08(月) 16:59:40
998
999名無しさん@そうだ選挙にいこう:2008/12/08(月) 17:01:49
999
999
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。