Excel総合相談所 37

このエントリーをはてなブックマークに追加
1名無しさん@そうだ選挙にいこう

Excelに関する質問は、ここで!

     /)_/)    ( ・分かる人はできるだけ回答して下さいませ。
    < ゚ _・゚> .。oO( ・回答がなくてもキレないで。催促は程々に。
  ノ) /   |     ( ・自己解決したらその解決手段を他の人の参考の為に書いてね。
  \(_,,,_,,,)

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

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

※【4】は、VBAはわからないけどコード書いてくれるならVBAでもいいって場合は「可」
  VBAを使うのは避けたいって場合は「否」にしましょう。
  「VBAって何?」って場合はとりあえず「否」に。よくわからないけど使ってみたいってなら
  「可」にして、>>10-15あたりの解説を参考に使ってみよう。

※人大杉でテンプレ・Q&A・ログが読めない場合は、2chブラウザを導入するか、下記のログを読みましょう。
  ・前スレログ http://makimo.to/cgi-bin/dat2html/dat2html.cgi?pc8/2/bsoft/1121686643/
  ・現スレログ 上のURLの末尾の数字10桁を現スレのものに書き換え。
          現スレURLは「 >>1 」←これを右クリックしてプロパティを選択すると表示されます。

・前スレ http://pc8.2ch.net/test/read.cgi/bsoft/1121686643/
2名無しさん@そうだ選挙にいこう:2005/08/28(日) 06:42:36

▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
・ 現行スレ内で既出の質問が無いか、ページ内検索をしよう。
・ 図を書く場合、TABや連続する半角スペースは無視されるので注意
・ VBAコードを貼る場合は、部分的に伏せたり省略したりせずに全て貼りましょう。
・ 2回目以降の質問では名前欄に初回質問の番号を入れよう。
・ バグ・動作上の不都合などはマイクロソフトのサポートを受けましょう。ここは技術的な質問のみで。

・関連スレ

 Excel総合相談所・雑談・議論スレ
 http://pc8.2ch.net/test/read.cgi/bsoft/1120184635/

 VBAについて Ver.4.0
 http://pc8.2ch.net/test/read.cgi/tech/1105108229/

 ★Word/Excel (MS-OFFICE) 初心者スレッド Part24★
 http://pc8.2ch.net/test/read.cgi/pcqa/1123720358/
 
 OpenOffice.orgってどうなの? Part6.0.0
 http://pc8.2ch.net/test/read.cgi/bsoft/1121949269/
3名無しさん@そうだ選挙にいこう:2005/08/28(日) 06:42:50

= FAQ: 基本 =
Q:こんな関数ありませんか?
A:「関数の挿入」にある検索機能や、ヘルプの検索を利用しましょう。

Q:数式がエラーを返すんですけど
A:関数をネストせず、数式を分解してみてください。
  どの関数がエラーになっているのか解れば、その関数の参照先や、
  ヘルプなどを見て大抵は簡単に解決できます。

Q:計算結果やセルの値によって自動で書式を変更したいんですが
A:条件付き書式を利用してください。
  数値比較で文字色のみの指定なら表示形式でもできます。

Q:計算結果やセルの値によって表示形式を変えたいのですが
A:表示形式のユーザー設定で複数条件の表示形式を指定できます。
  基本形式は「正の数;負の数;0の場合;文字の場合」です。(;は半角で)
  又は「[>=70]70以上の場合;[>=50]50以上の場合;50未満の場合;文字の場合」というような指定も出来ます。
  書式記号などに関することはヘルプを参照しましょう。

Q:計算結果が自動で更新されなくなったんですが、どうすれば直せますか
A:Excel(2002?)の不都合で、計算方法が手動になってしまうことがあるようです。
  ツール > オプション > 計算方法
  で、計算方法を自動にすることで元にもどります。
  参考URL:ttp://support.microsoft.com/default.aspx?scid=kb;ja;817716
4名無しさん@そうだ選挙にいこう:2005/08/28(日) 06:43:00

= FAQ: 列の表示について =
Q:列名がA,B,C,D,Eではなく、1,2,3,4,5になってしまいました。
  アルファベットに戻すにはどうしたらいいですか?
A:ツールメニュー:「オプション」 -「全般」タグで
  『R1C1 参照形式を使用する(C)』のチェックを外せば直ります。

Q:列を256個(IV列)よりたくさん広げることはできませんか?
A:エクセルのシートは65536行×256列が仕様上の上限です。
  シートを分けるとか、行と列を入れ替えるとか、データの方をまとめるとか、
  列数を増やさない方向で工夫するしかありません。

Q:ひとつのブックにシートは何枚作成出来ますか?
A:物理メモリ容量やシートの内容に依存します。


= FAQ: 印刷プレビュー =
Q:印刷プレビューではセル内に収まっていた文字が
  実際に印刷してみるとはみ出してしまうのですが、
  何とかなりませんか?
A:「印刷プレビューと印刷結果が一致しない」のは
  昔からのExcelの弱点で、どうにもなりません。
  セルの幅や高さに余裕を持たせるか、
  書式設定で「縮小して全体を表示する」にチェックを入れましょう。


= FAQ: マクロの”削除” =
Q:マクロを削除したのに、ファイルを開くたびにセキュリティの確認が出ます。
A:モジュールの解放が必要。
  【モジュールの解放方法】Alt+F11→Ctrl+R→Module1を右クリック→解放
5名無しさん@そうだ選挙にいこう:2005/08/28(日) 06:43:08

= FAQ: 計算したい。角度とか =
Q:例えば、一つのセルに1803329と入力すると
  180度33分29秒と表示されるようにするには
  どうすればいいのでしょうか?
  ついでに計算もしたいです。
A:「1803329と入力すると180度33分29秒と表示される」
  というのと、計算できるというのを両立させるのは無理。
  書式を
  [h]:mm:ss や [h]"度"mm"分"ss"秒".00
  などにしておき、入力するときには
  180:33:29.99
  などとすれば、表示も計算もできる。

・その他時間とか日付とかの計算について
 勤務時間を計算するには
 ttp://support.microsoft.com/default.aspx?scid=%2Fdirectory%2Fworldwide%2Fja%2Fkblight%2Ft009%2F3%2F46.asp
 日数および日付の表示方法と計算方法 - 基本編
 ttp://support.microsoft.com/default.aspx?scid=%2Fdirectory%2Fworldwide%2Fja%2Fkblight%2Ft009%2F3%2F45.asp

= FAQ: 合計から元の数を逆算 =
Q:たくさんの数値のリストがあって、
  リスト中のいくつかの数の合計と思われる数値が与えられました。
  リスト中のどれとどれの合計か調べることはできますか?
A:ナップザック問題(knapsack problem)として知られている難問です。
  一般的には総当りで調べるしかありませんが。
  しかし、データに特徴がある場合(桁数が限られているなど)には、
  うまい方法があって、速く解けることもあります。
  下記のページを参照してみてください。
   ナップザック問題をExcelで解く
   ttp://www.geocities.co.jp/SiliconValley-Oakland/8139/
6名無しさん@そうだ選挙にいこう:2005/08/28(日) 06:43:17

= FAQ: 条件によって表示を変更するには? =
Q:セルの内容を判断して、表示を変えたい
A: IF関数を使います。
  =if(条件,条件が成立した場合,成立しなかった場合)

例1:基本
 セルA1が1の場合○、それ以外の場合×を表示
 =IF(A1=1,"○","×")
例2:if文の中にif文
 A1が、1の場合○、2の場合△、それ以外×。
 =IF(A1=1,"○",IF(A1=2,"△","×"))
例3:ANDやOR活用
 A1が、4〜6の場合は、普通と表示
 =IF(AND(A1>3,A1<7),"普通","少ないか多い")
例4:計算も出来る
 A1が10までなら、A1を10倍して表示、それ以外なら2を引く。
 =IF(A1<11,A1*10,A1-2)
例5:対象が空欄なら表示も空欄にする
 A1が空欄なら結果は何も表示しない、それ以外ならA1から2を引く。
 =IF(A1="","",A1-2)
 =IF(ISBLANK(A1),"",A1-2)


詳しくはヘルプを参照しましょう。
7名無しさん@そうだ選挙にいこう:2005/08/28(日) 06:43:25

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

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

Q3:ある系列だけ、縦軸を別にしたいです。
A3:その系列のどこかを、グラフ上で右クリック
  データ系列の書式設定>軸>使用する軸「第2軸」にチェック>OK


= FAQ: 入力した値が変わる? =
Q:セルに入力した値が勝手に変わってしまうのですが
  入力したままの形で表示させるにはどうしたらいいですか?
A:数字でよくあるケース(先頭のゼロが消えてしまう、日付として解釈されてしまう)
  入力する時、先頭にアポストロフィ(')をつけるか、
  該当するセルで右クリック−「セルの書式設定」−「表示形式」で「文字列」を選択。
  文字列ではなく数値として扱いたいときは
  「セルの書式設定」−「表示形式」で「ユーザー定義」を選択し、工夫する。
A:文字でよくあるケース(i⇒I、teh⇒the、cna→can など)
  ツール→オートコレクト→入力中にオートコレクト
  の該当する箇所を削除。
8名無しさん@そうだ選挙にいこう:2005/08/28(日) 06:43:33

= FAQ: 行列の入れ替え =
Q:エクセルで作った表が横方向に多くなってきたので
  行と列を入れ替えたいのですが。
A:コピーして、適当なセルで右クリック。
  形式を選択して貼り付け→行列を入れ替える。


= FAQ: 参照するシートやセルをセルの値で指定する =
Q:A1に「5」とか「6」とか指定する値を変えたら
  B1の関数で「C5」とか「C6」とか参照先が変わるようにできませんか?
A:INDIRECT関数を使ってみましょう。
  詳しくはヘルプで「INDIRECT」を検索


= FAQ: ブラウザの変更 =
Q:Excelでアドレスをクリックした時に開くブラウザをIEからSleipnirなどに変更したい。
A:スレ違いです。
  開きたいブラウザの設定画面でそのブラウザを通常使うブラウザに指定してください。

  ※ブラウザからの設定だけではきちんと設定出来ない場合もあります。
    詳しい情報をお持ちの方はこのスレにてご一報ください。


= FAQ: セル内での改行 =
Q:セル内で改行したいんですがどうすればいいでしょうか
A:改行したい位置でAltを押しながらEnterを押せばセル内改行できます。
9名無しさん@そうだ選挙にいこう:2005/08/28(日) 06:43:42

= FAQ:時刻の入力 =
Q:時刻をテンキーで入力するとき:を入力するのが面倒なのですが、
  なにか良い方法はありませんか?
A:「 ..」や「.」を「:」に置き換える方法をお試しください
  1) オートコレクトで..を:に置き換える
   →自動で置換されるので手間は少ないが..を使う他の入力にも影響する
  2) 「時..分」で入力しておいて、後から「編集 > 置換」で範囲指定で一括置換する
   →置換に一手間掛かるが、他への影響は無い
   (「時.分」だと分の1桁目が0の場合狂ってしまう)
  3) VBAのWorksheet_Changeイベントで置換する
   →置換する範囲を指定すれば他への影響もなく置換も自動、入力も.ひとつでOK
参考コード(入力は「時.分」)
Private Sub Worksheet_Change(ByVal Target As Range)
 Dim buf As Variant
 Application.EnableEvents = False
 buf = Split(Target.Value, ".")
 Target.Value = buf(0) & ":" & Left(buf(1) & "0", 2)
 Application.EnableEvents = True
End Sub

= FAQ:シート名やブック名の書きだし =
Q:シート名(ブック名)をセルに書き出したいのですが、どうすればよいですか?
A:シート名 =MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,31)
  ブック名 =MID(CELL("filename",A1),FIND("[",CELL("filename",A1))+1,FIND("]",CELL("filename",A1))-FIND("[",CELL("filename",A1))-1)
10名無しさん@そうだ選挙にいこう:2005/08/28(日) 06:43:49

★VBAでの回答をもらったり、Webからサンプルコードを拾ったけど、
  使い方がわからないって場合はここを参考に。

Step1 VisualBasicEditorの起動
 メニューより、[ツール → マクロ → VisualBasicEditor]と辿ってください。

Step2-a コードを貼る
 マクロはその内容によって、置く場所が決まっています。
 大抵は回答者が指定してくれたり、サンプルの中にコメントとして書いてあったりするのでそれに従いましょう。
 指定がない物は基本的に「Private Sub Worksheet_」で始まる物はシートオブジェクトに、
 「Private Sub Workbook_」で始まる物はブックオブジェクトに、それ以外は基本的に標準モジュールに置いてください。
 (ツリーの該当部分をダブルクリックして、表示されたコードウィンドウにコードを張り付けます)

  ├VBAProject (hoge.xls)   ←括弧内がブック名、以下がひとつのプロジェクトになります
  |├Microsoft Excel Object
  ||├Sheet1 (Sheet1)   ←シートオブジェクト(左側がオブジェクト名で、右側の括弧内がシート名です)
  ||├Sheet2 (Sheet2)
  ||└ThisWorkbook     ←ブックオブジェクト
  |└標準モジュール
  |  └Module1        ←標準モジュール(※)
  └VBAProject (Personal.xls) ←個人用マクロブック
    ├Microsoft Excel Object
    |├Sheet1 (Sheet1)
    |└ThisWorkbook     ←個人用マクロブックのブックオブジェクト
    └標準モジュール
      └Module1        ←個人用マクロブックの標準モジュール

  ※ 標準モジュールを追加するには、追加したいプロジェクトツリー上で右クリックし、
     メニューから[挿入 → 標準モジュール]を選択してください。
11名無しさん@そうだ選挙にいこう:2005/08/28(日) 06:43:56

Step2-b ボタンに登録する。
 通常、イベントで動かすマクロ以外は、マクロの一覧から選択して実行しますが、
 頻繁に使う場合や、他の人が操作する場合はシート上のボタンを押して実行できるようにすると便利です。

 まず、メニューから[表示 → ツールバー → フォーム]と辿ってフォームツールバーを出し、
 ボタンアイコンを押して、適当な場所にボタンを作ります。
 ボタンを作ると自動的に[マクロの登録]というダイアログが立ち上がるので、
 (立ち上がらない場合はボタンを右クリックして[マクロの登録]を選択)
 [新規作成]を押して表示されたコードウィンドウのカーソル位置にコードを張り付けます。
 既存のマクロを登録する場合は、[マクロの登録]で一覧から選択して、[OK]を押してください。

Step3 マクロの実行
 ボタンに登録したものは、ボタンを押せば実行されます。
 イベントで動かすものは、所定操作をした時に自動で実行されます。
 それ以外はメニューから[ツール → マクロ → マクロ]と辿って表示されたマクロの一覧から選択して実行します。

Step4 トラブルが起きたら
 トラブルを自己解決出来ない場合は、
 ・エラーが出る条件 (どうやってもエラーが出る、〜をしたときにエラーが出る、等)
 ・エラーメッセージ (ダイアログ上でCtrl+Cを押せばメッセージをコピー出来ます)
 ・エラーが出る位置 (エラーダイアログ上で[デバッグ]を選択すると、エラー位置がハイライトされます)
 などを報告しましょう。
 また、期待通りの動作をしない場合も、条件や想定上の結果と実際の結果の内容など詳しく書きましょう。
12名無しさん@そうだ選挙にいこう:2005/08/28(日) 06:44:11

★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)

 ▼環境・書式
  ・ 列数を256列以上、行数を65536行以上に増やす
  ・ 条件付き書式を3つ以上設定する (文字色だけなら、入力規則でも3つ設定可能。それ以外はVBA)
  ・ 行の高さを0.25きざみ以下の単位で指定する
  ・ 複数シートを選択して入力規則やシートの保護を設定する (VBA)
  ・ セル内の文字を○で囲む、一部のみ2段にする (オートシェイプ、オブジェクト)
  ・ オートフィルタで英字の大小文字を区別する (小文字 → 半角、大文字 → 全角、と使い分ける)
  ・ オートコンプリート機能を、別列や離れたセルで動作させる (VBA)
  ・ 祝日を判断する (作業セルに祝日を列挙、VBA)
  ・ ファイラーの右クリックメニューからの新規作成で、Excelで設定したシート数のブックを作る (任意のシート数のテンプレートを作成)

 ▼数式・関数
  ・ セルの書式情報を関数式で取得する (ユーザー定義関数)
  ・ 関数式でセルの選択状態を取得する (VBA)
  ・ セルの値でパスを補完して、開いてないブックのセルを参照する (VBA)
  ・ 入力したセルの値を書き換える (VBA)
  ・ 範囲を引数にしての文字列連結 (ユーザー定義関数)
  ・ 不定な数の結果を返す (VBA 必要最大数が解っていれば最大数分の数式を組み、結果上不要なものを論理式で非表示にする)

 ▼VBA
  ・ExecuteExcel4Macroの参照で空セルと0値を区別する
  ・セルの値や変数値で直接変数名を指定する

 ★不明 (詳しい情報をお持ちの方はこのスレにてご一報ください。)
  ? Rangeオブジェクトからブック名を返す
13名無しさん@そうだ選挙にいこう:2005/08/29(月) 12:14:06
前スレが落ちましたので、再度お願いします。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel 2002
【3 VBAが使えるか    .】 貼り付け程度
【4 VBAでの回答の可否】 可

エクセルでカレンダー形式の年間予定表を作成しています。

A B C D E F G
1 1/1 1/2 1/3 1/4 1/5 1/6 1/7
2
3 1/8 1/9 1/10 1/11 1/12 1/13 1/14
(こんな感じで、1年分を1シート)

日付のセルには、条件付き書式で今日の日付に色が付くようにしてあります。
今日の日付のセルに直接移動する方法はありますか?
あれば「今日に移動」のボタンを作成しマクロ処理したいのですが・・・
検索で試したところ、日付のコピーが固定日付になってしまいます・・・
条件付き書式に一致するセルに移動する方法も見つかりません・・・

よろしくお願いします。
14名無しさん@そうだ選挙にいこう:2005/08/29(月) 12:22:45
>>13
前スレ落ちてないので、新規質問はこちらでしても構わないが
前スレと同一の質問はマルチになるよ。
別に俺はマルチでも気にしないけど、次から注意しよう。

んで質問の件だが、普通の検索をマクロの記録で取って
検索値をDateにすればよし。
VBAでのDateはシート上の=TODAY()と同じで、今日の日付を返す。
1513:2005/08/29(月) 15:00:33
>>14
マルチ失礼しました。

>検索値をDateにすればよし。

を参考に

Cells.Find(What:=Date, After:=ActiveCell, LookIn:=xlValues, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, MatchByte:=False, SearchFormat:=True).Activate

というマクロ記録を作ったのですが、「オブジェクト編集又はWithブロック変数が設定されていません」
という実行エラーになってしまいます。

どこをどのように編集すれば良いのでしょうか?重ね重ねお願いします。
16名無しさん@そうだ選挙にいこう:2005/08/29(月) 15:10:48
表示形式合わせなくちゃダメだよ
セルの表示形式が"m/d"なら
What:=Format(Date, "m/d"),
1713:2005/08/29(月) 16:05:13
>>16
うまく行きました!!
本当にありがとうございます。
個人的に何かプレゼントしたい位、感謝しております。

私ももっともっとスキルアップして、>>14さんのように色々な人に
親切に教えてあげられるよう頑張ります!
18d:2005/08/29(月) 21:54:50
> ★不明 (詳しい情報をお持ちの方はこのスレにてご一報ください。)
>  ? Rangeオブジェクトからブック名を返す
仮に
Set R=Range("A1")
とすると、
R.Worksheet.Parent
または
R.Parent.Parent
でブックへの参照が返りますので、名前ならさらに
.Nameで取得出来ます。
19名無しさん@そうだ選挙にいこう:2005/08/29(月) 22:18:15
記録マクロを使えるぐらいです
コードを書く力はありませんが、書いてあることは半分ぐらいはわかります。


表が2つあり、一つの表(表A)の列Aにあるものを上のセルから順番に使って
表Bの列Aの中で検索し、ひっかかった表Bのセル(例えば"A5")のとなりの
B列5"B5"を、検索に使った表Aの列B(検索に使ったセルが表AのA6なら表AのB6に
持ってきたいです。

リストで検索すると言えばいいのでしょうか?リストは100件ぐらいあり、
探す先の表Bは1000件ぐらいのデータです。
100件に当てはまる1000件(表B)の100件分の列Bに対応するものを
自動で探したいわけです。

なにか適当なコードやマクロなりがありましたら
教えて頂きたいです。
よろしくおねがいします。
20名無しさん@そうだ選挙にいこう:2005/08/29(月) 22:20:16
【選挙】世界経済共同体党又吉イエス氏が千石イエス氏を擁立【唯一神】
http://news18.2ch.net/test/read.cgi/news7/1124359012/
21名無しさん@そうだ選挙にいこう:2005/08/29(月) 22:24:33
>>19
マクロ使わずとも、VLOOKUP関数で出来る。
詳しくはヘルプ参照。
2219:2005/08/29(月) 22:45:16
>>21
どうもです。
今ヘルプや、検索してその手のサイトでvlookupを調べてました。

VLOOKUP(Sheet2!B4,Sheet1!B2:C29,2,FALSE)
(検索もとのリストはシート2、検索して隣のデータを持ってくるのはシート1に
なりました)

この式をフィルすると、式の中の2番目の引数が
=VLOOKUP(Sheet2!B5,Sheet1!B3:C30,2,FALSE)のように
範囲とやらものが変化していってしまうのですが
これでいいのでしょうか?
下にいくにしたがってリスト(SHEET2の表)とマッチする
検索範囲が狭くなってしまいませんか?

23名無しさん@そうだ選挙にいこう:2005/08/29(月) 23:00:11
絶対参照
2419:2005/08/29(月) 23:08:52
>>23
そうでした。ごめんなさい。

ありがとう。
25名無しさん:2005/08/30(火) 12:21:16
【1 OSの種類         .】 Windows2000SP4
【2 Excelのバージョン   】 Excel2000SP3
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 ショートカットキー、範囲選択

パソコン一般板でも質問しましたが
こちらの方が最適なようなので質問します。

表示->ズーム->選択範囲をズーム
でデフォルトだとズーム後選択範囲が右下詰で表示されますが
左上詰にして表示したいのですが選択範囲を左上に移動させる
ショートカットキーはあるでしょうか?

ヘルプで見つからなかったのでそのような動作を実現できる
方法を教えてください。
26hoge ◆hoge//WRxY :2005/08/30(火) 13:25:42
>>25
Sub 選択範囲を左上詰めで表示()
 ActiveWindow.ScrollRow = Selection(1).Row
 ActiveWindow.ScrollColumn = Selection(1).Column
End Sub

ショートカットキーはおそらく無いので、
上記コードを個人用マクロブックの標準モジュール(>>10参照)に置き、
メニューの ツール > マクロ > マクロ から登録したマクロを選択して
任意のショートカットキーを割り当てる。
27名無しさん@そうだ選挙にいこう:2005/08/30(火) 14:21:38
受注管理1シートのK列に『完了』と入力するとその列が
まるまる完了リストシートに移動するマクロつくりたいんだけど
うまくいかないorz どこが悪いか教えてください・・・。

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "K" Then
If Target.Value = "完了" Then
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Cut
Sheets("完了リスト").Select
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Insert Shift:=xlDown
Sheets("受注管理1").Select
Selection.Delete Shift:=xlUp

End If
End If
2825:2005/08/30(火) 14:44:19
>>26
ありがとうございます。
完璧です。
2927:2005/08/30(火) 14:45:36
上げてしまった・・・orz

K列に完了でその行がまるまる移動・・・の間違いです。
よろしくお願いします。
30hoge ◆hoge//WRxY :2005/08/30(火) 15:18:50
>>27
@Target.Address(0, 0)はセル位置(列と行)を返すので、"K"では一切マッチしない
  →If Target.Column = 11 Then
  →If Target.Address(0, 0) Like "K#*" Then

AActiveCell.Rows("1:1").EntireRow.Select
  Enterで確定すると、通常アクティブセルは入力セルのひとつ下になるので位置が合わない
  ActiveCell→Target

B挿入位置をどうしたいのかはよくわかりませんが、"完了リスト"の1行目に順次挿入したいのなら
  →Sheets("完了リスト").Rows(1).Insert

で、こんな感じではどうでしょうか?
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Column = 11 Then
  If Target.Value = "完了" Then
   Target.EntireRow.Select
   Selection.Cut
   Worksheets("完了リスト").Rows(1).Insert
   Selection.Delete
  End If
 End If
End Sub
3127:2005/08/30(火) 15:49:18
ありがとうございました、うまくいきました。
32 ◆cbTADNyjsg :2005/08/30(火) 20:24:44
行ならびに列挿入について教えてください。(誘導されてきました)

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい(検索等使えば)
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 csv、外部ファイル、excel、API、など。

外部でcsvファイルを作成し、excelに読み込ませたいのです。
上に書いたこと自体は簡単にできるのですが、csvファイルをexcelで読み込んだ後、
背景色やコメントなどのexcelの機能を使い、xlsファイルとして保存します。
その編集済みのxlsファイルに、1日につき、縦列1行をさらに追加していきたいのです。
(1日目→A列に追加、2日目→B列に、27日目→AA列に、・・・31日まで)
毎日1200段あり、手作業ではしんどいのですが、何かいい方法がありましたら教えてください。
33 ◆cbTADNyjsg :2005/08/30(火) 20:26:50
失礼しました、<VBAでの回答の可否>を否、としましたが、
相手先でも使うものなので、できるだけウイルス混入時などを考えてのことです。
どうしても無理であれば、VBAでもいいですので、お願いします。
34名無しさん@そうだ選挙にいこう:2005/08/30(火) 21:51:47
1200項目ずーっとカンマだけで区切られたファイル?
そのcsvをexcelに読み込ませるのは出来たみたいだけど、
読み込み後は1項目めがA1から横に、257項目めがA2、513項目めがA3って状態?
35名無しさん@そうだ選挙にいこう:2005/08/30(火) 22:04:39
下のようにデータが入力してある時に、「東」に該当する人の数をカウントするには
どうするのが適当でしょうか。

  A    B    C   D
1 東  佐藤   西  上口
2 西  佐々木  南  斉藤
3 南  上田   北  加藤
4 北  山崎   東  小野
5 東  吉野   西  岡田

この場合だと、佐藤と吉野と小野が「東」なので、3となるようにしたいです。
はじめはAとBの列、CとDの列でそれぞれSUMIFを使って合計させようと思ったのですが、
いかんせん元のデータの量が多かったため、途中で断念しました。
全体を選択して一気に抽出する方法などは無いでしょうか。
36名無しさん@そうだ選挙にいこう:2005/08/30(火) 22:30:13
A列C列の"東"の個数
=COUNTIF(A:A,"東")+COUNTIF(C:C,"東")
37名無しさん@そうだ選挙にいこう:2005/08/31(水) 00:35:52
>>32
1200行のcsvデータを毎日1回貼るだけですむと思うけど。
38名無しさん@そうだ選挙にいこう:2005/09/01(木) 02:50:30
初めてきたけど、読み応えのあるテンプレだなあ( ^▽^)
39名無しさん@そうだ選挙にいこう:2005/09/01(木) 08:27:41
エクセルのセルに入力すると、次のスレに移りますけれど
たとえばA1→B1→C1と移動せずに、A1→C1のように、
セルを移動するような設定はできますか?
40名無しさん@そうだ選挙にいこう:2005/09/01(木) 09:07:15
>>39
セルのロックとシートの保護で移動先を制限するか
シートの保護をしたくなければVBAで任意のセルに移動するコードを書く
41名無しさん@そうだ選挙にいこう:2005/09/01(木) 10:26:11
XP、2003、VBA不可
質問させてください。
B1:B100まで入力された文字列をランダムにE列に表示させたいときは
E列にどのような関数を入れればよいでしょうか。
RAND関数でランダムな1から100までの数値は作ったのですが
それをどうやってセル指定に使えばよいかわかりません。
1から100までのランダムな数値は=RAND()*100としました。
この数値をB列の行数にしたいという意味です。
よろしくお願いします。
42hoge ◆hoge//WRxY :2005/09/01(木) 10:47:59
>>41
=INDEX(B$1:B$100,INT(RAND()*100+1),1)
4341:2005/09/01(木) 11:01:38
>>42
できました!!ありがとうございました!!
44名無しさん@そうだ選挙にいこう:2005/09/01(木) 13:37:59
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel03
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Googleやヘルプでの検索キーワード  シート名 変更

シート名に自動でたとえばB5セルの日付を入力させる方法はありませんか?
よろしくお願いします。
45hoge ◆hoge//WRxY :2005/09/01(木) 14:03:12
>>44
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Address(0, 0) = "B5" And Target.Text <> "" Then ActiveSheet.Name = Target.Text
End Sub

上記コードを、>>10を参照にシートオブジェクトに置いてください。
B5を変更すると、B5の内容をシート名に反映します。
このままだとB5が日付じゃなくてもシート名に反映するけど、
B5に日付を入力した場合のみ動作した方がいいのかな?
46名無しさん@そうだ選挙にいこう:2005/09/01(木) 14:46:24
すいません、初歩的な質問なんですが教えてください。

かなり前からエクセルは使い込んでいるのですが、
エクセル2003に変えた途端に、色を付ける時に選択できるはずの
「その他の色」という項目が消えてしまいました。
これってデフォルト選択できなくなってしまったのでしょうか?

私の操作違いだとは思うのですが、解決策があれば教えて欲しいです。
4744:2005/09/01(木) 15:29:50
>>45
ありがとうございます。
でもコピーして貼り付けるだけでは動かないのでしょうか?それとも貼り付けた場所が、、、??
勉強しなくちゃですorz
48名無しさん@そうだ選挙にいこう:2005/09/01(木) 15:39:11
>>46
以前から「その他の色」なんて無いぞ
少なくともExcel2002、Excel97には無いのでおそらく2000にも無い
他のソフトと勘違いしてるんじゃないの?
デフォのパレットに無い色は、オプションの色設定でパレットの色を変更して使う

>>47
コピペ先間違ってないか?
マクロは有効になってるか?
入力セル間違ってないか?
4944:2005/09/01(木) 15:53:03
├VBAProject (hoge.xls)   
  |├Microsoft Excel Object
  ||├Sheet1 (Sheet1)   ←ここに貼り付けたのですが "Option Explicit"ってのは消す?
  ||├Sheet2 (Sheet2)
  ||└ThisWorkbook     
  |└標準モジュール
  |  └Module1        
  └VBAProject (Personal.xls) 
    ├Microsoft Excel Object
    |├Sheet1 (Sheet1)
    |└ThisWorkbook     
    └標準モジュール
      └Module1       

それと上のマクロの実行ボタンも押すのでしょうか? 
50名無しさん@そうだ選挙にいこう:2005/09/01(木) 16:00:14
こっちの環境では普通に動くので、どこかで使い方を間違ってるんだろうな
コード書いて貰ったんだから、使い方くらいは自分で調べな
5144:2005/09/01(木) 17:20:02
あきらめました、、、
ご迷惑おかけしましたm( __ __ )m
52名無しさん@そうだ選挙にいこう:2005/09/01(木) 18:40:33
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel97
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索書物     】 エクセル初心者入門

すいません、質問なのですが
エクセルで↓のような出勤表を作っている時

   午前  午後
月  出    
火   
水  出


土       出
日       出
月  出

オートフィルタで↓のような「出勤する日」だけを抽出することは可能なのでしょうか?

   午前  午後
月  出    
水  出
土       出
日       出
月  出

「午前」の列を「出勤」で抽出した時点で、午後の出勤を呼び出せなくなってしまいます。
2列同時に抽出するやりかたなどがあれば教えてください
53名無しさん@そうだ選挙にいこう:2005/09/01(木) 19:04:53
2chにこんなに行儀の良いスレがあるとは思わなかった(@@
54名無しさん@そうだ選挙にいこう:2005/09/01(木) 21:28:13
>>40
ありがとうございます。

ただシートを保護しても、フォーカスが欄外に移動してしまいます。
マクロを使わずに、フォーカスの移動を制限する方法はないでしょうか?
55名無しさん@そうだ選挙にいこう:2005/09/02(金) 00:08:50
質問です
A1からF1に入力項目があって、A1からF1まで全て入力済みなら灰色で塗りつぶして
A1からF1のどこか一つでも未入力箇所があると塗りつぶしなしをする

このようなマクロを作成したいのですが初心者なもので・・・教えていただけないでしょうか。
56名無しさん@そうだ選挙にいこう:2005/09/02(金) 00:16:04
>>55
del c:\autoexec.bat
57名無しさん@そうだ選挙にいこう:2005/09/02(金) 00:22:37
●エクセル履歴書がダウンロードできない
Windows2000
パソコン初心者です。
インターネットで就職活動しようと履歴書テンプレートをダウンロードしよう
としたところ、「ユーザー補助の設定ウィザードの実行中、指定されたファイル
での読み込みに失敗しました」と表示されます。
どうすればダウンロード出来るのでしょうか?
教えて下さい。
58名無しさん@そうだ選挙にいこう:2005/09/02(金) 00:26:24
右クリック ファイルの保存
59名無しさん@そうだ選挙にいこう:2005/09/02(金) 01:39:49
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

日付の表示が変わってしまいました。
今までは、セルに日付を入力すると
2005/9/1
と表示されていました。
ところが最近、
2005 9 1
と “/” の代わりに “ ”(半角スペース)になっています。
セルの書式設定も
“*2005 9 1” となっています。
これを元の
2005/9/1
と表示する方法はないでしょうか。
よろしくお願いします。
60名無しさん@そうだ選挙にいこう:2005/09/02(金) 01:56:15
今時PCで履歴書出すバカなんて居るのか?
字が汚くても履歴書は手書きで書くってのは社会の常識だよね。
PCからの印刷した履歴書を出すのはものすごく失礼なこと。
それだけを理由に落とす会社もあるからね。

あ、手書きの見本用にするのか。
納得納得。
61名無しさん@そうだ選挙にいこう:2005/09/02(金) 02:04:34
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

Excelは、表計算でなく、単に表をつくるのによく使ってます。
  □
  |
  □−□

セルとセルを結ぶために、セルの真ん中に縦あるいは横の罫線を引く方法はありますでしょうか。
社内の連絡網をつくろうとしたんですが、やり方が分からず挫折しました。
あるいは、おとなしくWordか何か別のソフトでつくった方がよかったでしょうか。
62名無しさん@そうだ選挙にいこう:2005/09/02(金) 02:25:46
>>61
罫線には外枠と対角線しか無いよ
それ以外の線が引きたい場合はオートシェイプ

その用途ならセル合わせで矩形書いてコネクタで繋げればいいじゃん
63名無しさん@そうだ選挙にいこう:2005/09/02(金) 06:16:08
前スレ>>950
ALT+R を二回
64名無しさん@そうだ選挙にいこう:2005/09/02(金) 08:56:05
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 セル、挿入

マクロ等を使用してセルの内容が式、または関数にはめこまれた物に一発変換されるようにしたいのですが方法が思いつきません

例:セルの中身が abc の時にマクロ等を使用して同一セルの内容が =abc*3/2 等に変換される

"="ボタンと同じ形で式や関数がセル内に挿入できるようになるのがベストなんですが・・・
65名無しさん@そうだ選挙にいこう:2005/09/02(金) 09:07:31
> 【4 VBAでの回答の可否】 否
> マクロ等を使用して
VBA(マクロ)での回答を拒否したいのか、VBAでの回答が欲しいのかどっちなんだ?

> 式、または関数にはめこまれた物
はめこまれた物?
なんだそれ?

質問は日本語で"明確かつ具体的に。"
66名無しさん@そうだ選挙にいこう:2005/09/02(金) 09:30:08
罫線の保護ってどこですか?
6744:2005/09/02(金) 09:38:48
昨日あきらめたものですが、今日やってみたら動いたのですけど、実行時エラー1004というのが出てしまいます。
日付の2005/08/25ではスラッシュが入っているから駄目みたいなのですが、解決方法はあるのでしょうか?
6844:2005/09/02(金) 09:46:34
/が入っていなければ動きました。
追加でもう一つ
その日付をシート名につけて最後に"〜"を付けたいのですが出来ますでしょうか?
69名無しさん@そうだ選挙にいこう:2005/09/02(金) 10:21:52
>>64
つFormula
70hoge ◆hoge//WRxY :2005/09/02(金) 10:25:29
>>52
作業列に
=IF(OR(B2="出",C2="出"),"出","")
という感じで、午前と午後どちらかが"出"なら"出"を返す数式を入れておき
その列で抽出。

>>54
シートの保護のオプションで「ロックされたセル範囲の選択」のチェックを外す。

>>64
テンプレの 4 が「否」なら回答は持ち合わせていませんが、質問の内容から「可」だと仮定して答えます。
セルの内容が"abc"なら、そのセルに=abc*3/2という数式を挿入するなら
ActiveCell.Formula = "=" & ActiveCell.Value & "*3/2"
で出来ますが、違うならもう少し詳しく説明してください。

「"="ボタンと同じ形で」については、ユーザーフォームを利用すれば可能ですが、
ユーザーフォームの使い方は、全くVBA使えない方に、ここで説明しきれるものではないので
ある程度VBAが使えるようになってからにしましょう。

>>66
罫線の設定を保護したいってことなら、罫線のみの保護は出来ないので、
シートの保護でセルの書式設定を変更出来ないようにしてください。

>>67
: : \ ¥ / / ? ? * * [ ] はシート名の使用不可文字です。
表示形式設定でこれらの文字が使われないようにしてください。

>>68
>>45の2行目を以下のものに書き換え。
If Target.Address(0, 0) = "B5" And Target.Text <> "" Then ActiveSheet.Name = Target.Text & "〜"
7144:2005/09/02(金) 11:10:16
hogeさん皆さんありがとうございます。
できました(  ̄ー ̄)
7254:2005/09/02(金) 11:31:44
>>70
ありがとうございました
73名無しさん@そうだ選挙にいこう:2005/09/02(金) 12:07:48
言語バーの「般」の横の「あ」が消えてしまったんですけど、
どうすれば復活しますか?
74名無しさん@そうだ選挙にいこう:2005/09/02(金) 12:12:40
>>73
スレ違い
75名無しさん@そうだ選挙にいこう:2005/09/02(金) 14:01:34
>>59
> ▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
> ・ バグ・動作上の不都合などはマイクロソフトのサポートを受けましょう。ここは技術的な質問のみで。
76名無しさん@そうだ選挙にいこう:2005/09/02(金) 16:09:14
>>49を見てふと思ったんだが、俺のプロジェクトエクスプローラでは
標準モジュールが一番上にあるんだが、昔は>>49みたいだった。
昔に戻す方法ある?
77名無しさん@そうだ選挙にいこう:2005/09/02(金) 19:50:40
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 勉強中
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 表 集計 リスト


表の中の特定の一列に注目して、その列に含まれる値(文字列)の
リストを頻度を含めて作成したいのですが、なかなかうまくいきません。

イメージで言えば住所録の郵便番号の欄から、その出現値と出現回数の
表を作りたいのです。

実際には郵便番号ということではなく、また多くの場合出来たリストを
テキスト出力して別ソフトに送りたいといった感じなんですが・・・
78名無しさん@そうだ選挙にいこう:2005/09/02(金) 20:11:17
>>77
つ ピボットテーブル
79名無しさん@そうだ選挙にいこう:2005/09/02(金) 20:14:13
>>12
Rangeオブジェクトからブック名を返す
Range(なんとか).Parent.Parent では無理なんですか?
80名無しさん@そうだ選挙にいこう:2005/09/02(金) 21:58:50
81名無しさん@そうだ選挙にいこう:2005/09/02(金) 22:36:38
>>77
前スレ879?
8277:2005/09/02(金) 22:54:59
>>78
>>81
ありがとうございます。
うまくいきそうです。(只今奮闘中)
83座敷荒氏:2005/09/02(金) 23:27:24
前スレよりたびたびお邪魔してます。

変数monthにその月の値が入力されています。
変数next_month = month + 1とすると
変数monthが12月だった場合、next_monthが13と
計算されてしまうのですが、これを1と出力することはできないでしょうか?

84hoge ◆hoge//WRxY :2005/09/03(土) 00:04:35
>>83
next_month = (month Mod 12) + 1

内容はnext_month = ( 「month ÷ 12」の除余 ) に1を足す
1 ÷ 12 .は 商0 除余1、 .除余の 1 に 1 を足すと 2
11 ÷ 12 は 商0 除余11、除余の 11 に 1 を足すと 12
12 ÷ 12 は 商1 除余0、 .除余の 0 に 1 を足すと 1

( )は付けなくても大丈夫ですが、説明上と式の意味を明示するために付けました。
2以上の数を足す場合はちょっと工夫が必要。

他にもIfで条件分岐させたり、Iifで代入する値を振り分けたり、普通に1足した後
next_month = next_month - (next_month \ 12) * 12
としたりといろいろ方法は有りますけどね。
85前スレ918:2005/09/03(土) 06:27:53
Sub tt()
Range("a1:f1").Interior.ColorIndex = xlNone
For i = 1 To 6
If Cells(1, i).Value = "" Then
Exit Sub
End If
Next
Range("a1:f1").Interior.ColorIndex = 48
End Sub

この他にa2:f2、a3:f3も追加して行別で動作させたいんだけど、どうしたらいい?
86名無しさん@そうだ選挙にいこう:2005/09/03(土) 06:44:55
>>85
これってマルチした上に、VBAスレで
「どっちに書いたらいいのかわからんかったから両方書いただけ」
とか言い切っちゃってた奴でしょ
前スレでは埋めの一環で答えてた奴がいたけど、こっちでは答えてやる必要なし

まぁもう一本ループ回すだけのかなり簡単なものだから、
低レベルな教えたがり君が出てきて回答しちゃうかもしれないけど
87名無しさん@そうだ選挙にいこう:2005/09/03(土) 07:32:54
質問です
A1からF1に入力項目があって、A1からF1まで全て入力済みなら灰色で塗りつぶして
A1からF1のどこか一つでも未入力箇所があると塗りつぶしなしをする

このようなマクロを作成したいのですが初心者なもので・・・教えていただけないでしょうか
88名無しさん@そうだ選挙にいこう:2005/09/03(土) 07:57:16
全て入力済みならということで、セルの中のデータの数を数えます。
Sub MACRO1()
  With Range("A1:F1")
    If Application.CountA(Range("A1:F1")) = 6 Then
      .Interior.ColorIndex = 15
    Else
      .Interior.ColorIndex = xlNone
 End If
End With
End Sub

マクロじゃなくてもできますよ
a1:f1を選択した状態で、
条件つき書式  数式が =COUNTA($A1:$F1)=6 、 書式 パターン灰色 にする
89名無しさん@そうだ選挙にいこう:2005/09/03(土) 08:42:46
>>88
できたー
勉強になるなぁ
サンクス
90名無しさん@そうだ選挙にいこう:2005/09/03(土) 10:23:00
質問です
A1からF1に入力項目があって、A1からF1まで全て入力済みなら灰色で塗りつぶして
A1からF1のどこか一つでも未入力箇所があると塗りつぶしなしをする

このようなマクロを作成したいのですが初心者なもので・・・教えていただけないでしょうか
91名無しさん@そうだ選挙にいこう:2005/09/03(土) 10:53:06
夏休みは終わったはずなんだが
92名無しさん@そうだ選挙にいこう:2005/09/03(土) 13:44:09
>>91
「夏厨厨」は今年はバカの間でしか流行らなかったのだが。

あ、バカだったのね。はいはい。
93名無しさん@そうだ選挙にいこう:2005/09/03(土) 14:47:30
質問です
A1からF1に入力項目があって、A1からF1まで全て入力済みなら灰色で塗りつぶして
A1からF1のどこか一つでも未入力箇所があると塗りつぶしなしをする

このようなマクロを作成したいのですが初心者なもので・・・教えていただけないでしょうか
94名無しさん@そうだ選挙にいこう:2005/09/03(土) 15:01:55
糸冬 了
95名無しさん@そうだ選挙にいこう:2005/09/03(土) 15:26:39
余計なスレ消費すんな
96名無しさん@そうだ選挙にいこう:2005/09/03(土) 17:14:43
荒れてるからさかのぼって見てみたら、放置推奨だったのか orz
97名無しさん@そうだ選挙にいこう:2005/09/03(土) 18:20:52
>>96
できたー
勉強になるなぁ
サンクス
98名無しさん@そうだ選挙にいこう:2005/09/03(土) 18:30:34
前も配列数式って何?って聞いてきた奴に坊やって言ったらこんな感じでキレてたし。
99名無しさん@そうだ選挙にいこう:2005/09/03(土) 18:41:39
配列数式って何ですか? 初心者なもので・・・教えていただけないでしょうか
100座敷荒氏:2005/09/03(土) 19:50:21
hoge ◆hoge//WRxYさん、また回答くださりましてありがとうございます。
教えてもらった回答で解決できました〜。

Excel VBAが面白く感じてきました!

101名無しさん@そうだ選挙にいこう:2005/09/03(土) 20:07:21
チンコ痛い
102名無しさん@そうだ選挙にいこう:2005/09/03(土) 21:05:27
すいません。初心者です。
検索を、「編集」-「検索」を使わずにする方法ってあるんですか?
103名無しさん@そうだ選挙にいこう:2005/09/03(土) 21:18:41

行と列の基準ABCD・・・ 1234・・・ を隠すことってできますかね?
104103:2005/09/03(土) 21:21:13
自己解決しました。
105名無しさん@そうだ選挙にいこう:2005/09/03(土) 21:31:10
>>102
画面を凝視し自分の目で一つずつ検索する
106名無しさん@そうだ選挙にいこう:2005/09/03(土) 21:32:38
>>102
キーボードの下端のほうに「Ctrl」って書いてあるキーがあるの分かる?
そのキーを押さえたままで、文字の「F」のキーを押してみ?検索のウインドウが開くから。

キーボードをよく見ると「Ctrl」って書いたキーが2つ見つかるかもしれないけど、
どっち使っても大丈夫だから。
107名無しさん@そうだ選挙にいこう:2005/09/03(土) 21:59:57
初心者です。
基礎的な質問で申し訳ないんですが。
ご教授ください。
108名無しさん@そうだ選挙にいこう:2005/09/03(土) 23:22:51
うむ。
109名無しさん@そうだ選挙にいこう:2005/09/04(日) 01:22:01
で、ナニを知りたいんだね
110名無しさん@そうだ選挙にいこう:2005/09/04(日) 04:51:01
【1 OSの種類      】 Windows XP
【2 Excelのバージョン】 Excel 2003
【3 VBAが使えるか  】 いいえ
【4 VBAでの回答の可否】 可

お願いします。
金額を表示するのですが、例えば直接、
1492
と入力すると
\1,490(1の位切り捨て)
となり。また、
=2500*0.95
の計算結果が
\2,375
ではなく、
\2,370(これまた1の位切り捨て)
と表示させる表示形式はありますでしょうか?
よろしくお願い致します。
111hoge ◆hoge//WRxY :2005/09/04(日) 05:40:44
>>110
表示形式を 「\#,##"0"【Ctrl+J】0」 にして、(【 】部は文字を入れるのではなくキーを押す)
書式設定の配置で 「折り返して全体を表示する」 にチェックを入れる
 1492

 \1,490
      2
と表示されるようになるが、通常の行高なら1行目しか見えないので
「\1,490」に見える。
112名無しさん@そうだ選挙にいこう:2005/09/04(日) 05:53:04
>111
113110:2005/09/04(日) 06:06:02
>111さん
こんな時間にも関わらず素早いレスありがとうございます。
そんな方法があるとは…。思いも付きませんでした。
申し訳ありませんが、追加で2点質問をお願い致します。

@入力値が1万の桁の場合もあるのですが、
例:\12,545
千の位まででも、また万の位まででも対応出来るように
する為にはどのようにすればよいでしょうか?
A仮にそのセルの合計等を求める場合、
1の位を切り捨てた数値の合計を出す事は可能でしょうか?

度々で申し訳ありませんが、何卒よろしくお願い致します。
114hoge ◆hoge//WRxY :2005/09/04(日) 06:36:00
>>113
@万でも億でも対応できると思いますが(こちらでは対応出来てますが)、うまくいきませんか?
うまくいかないなら、「12345」の時どのように表示されるのか教えてください。

AROUNDDOWN関数で切り捨てる
115名無しさん@そうだ選挙にいこう:2005/09/04(日) 09:30:53
http://mobile.dream-prize.com/member_reg_form.php?REF=0340889
こんなん見っけた
やってみる気あったらケータイでお気に入り登録しとくといいよ
116名無しさん@そうだ選挙にいこう:2005/09/04(日) 10:45:32
>>115
業者乙
117名無しさん@そうだ選挙にいこう:2005/09/04(日) 11:49:12
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

質問なのですが、セルに文字を入力した際に一つカウントされる
みたいにするにはどうすればよいでしょうか?ロットナンバーを
受け入れたときに入力して、一つカウントして、月合計を出せる
ようにしたいのですが。
よろしくお願いします。
118名無しさん@そうだ選挙にいこう:2005/09/04(日) 12:00:15
>>117
質問文には必ず↓をつけろ

初心者です。
基礎的な質問で申し訳ないんですが。
ご教授ください。
119名無しさん@そうだ選挙にいこう:2005/09/04(日) 12:07:39
なんで回答者もどき荒らしばっかなのこのスレ。
120名無しさん@そうだ選挙にいこう:2005/09/04(日) 12:24:33
>>117
なにかが入力されたセルの個数をカウントするなら、ワークシート関数でもできるけど、
同一セルに入力を行った回数をカウントするようなことはワークシート関数では出来ないよ
ワークシート関数ってのはあくまでも値を受けて値を返すものであり値を保存は出来ないから

VBAのユーザー定義関数でなら出来ないことも無いけどね
つまり諦めるかVBA使うかふたつにひとつ
121名無しさん@そうだ選挙にいこう:2005/09/04(日) 12:31:52
>>114
出来ました♪ありがとうございます!!
122名無しさん@そうだ選挙にいこう:2005/09/04(日) 13:52:09
ロットナンバーを受け入れたときに、そのロットNoや日時をどこかのセルに記録してるんじゃないの?
123122:2005/09/04(日) 13:56:12
もしも記録してるなら、その行数をカウントすればいいんだけどね。

逆に記録しないでカウントするなら(それが可能だとしても)、誤入力した場合に困るのでは?
124117:2005/09/04(日) 14:45:41
>>122
その通りにしようと思っています。なので入力したセルの行数を
カウントしたものを、合計みたいにして別のセルに出せないかなぁ
と思ったのですが・・・。できますでしょうか?
125名無しさん@そうだ選挙にいこう:2005/09/04(日) 15:14:23
>>124
出来るけど、ここでの説明は長くなる。
Excelの基本的な解説サイトに行けば、住所録作成みたいな例が載ってるので
それを改造すれば良いと思う。
126名無しさん@そうだ選挙にいこう:2005/09/04(日) 16:08:42
IT企業で一般職しています。一般に、「エクセルができます」ってどのくらいのレベルでしょうか?
私はFX関数は一通りできて、今は、自力でマクロ関数を勉強中です。
マクロは初級までしかまだできませんが。。。

周りの人に自分の能力を説明するにはどのように言えばいいかなって・・。
127名無しさん@そうだ選挙にいこう:2005/09/04(日) 18:06:14
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 少しですが
【4 VBAでの回答の可否】 判りやすくお願いm(__)m

D列 E列
47 500 (D45+D46+D47) /3
48 514 (D46+D47+D48) /3
49 498 (D47+D48+D49) /3
50 500 (D48+D49+D50) /3

D51にどういう値が入った時に E50の値より大きくなるか?
をVBAで出したいんですけど、どういう風に書けば良いん
でしょうかね。
128名無しさん@そうだ選挙にいこう:2005/09/04(日) 18:21:22
>>127
VBA必要ないし、Excelではなく算数の問題なので
小学生以下なら親や兄姉に聞きましょう。
中学生以上なら自分で解きましょう。
129名無しさん@そうだ選挙にいこう:2005/09/04(日) 18:34:10
へ〜〜い
130名無しさん@そうだ選挙にいこう:2005/09/04(日) 19:13:09
warota
131名無しさん@そうだ選挙にいこう:2005/09/04(日) 21:29:07
技術的な質問じゃないんだけど、Excel2003ってOffice2003のように
一つのライセンスでデスクトップ&ノートPCにインストールして平気なんでしょうか?
検索しても良くわかんなかったもので。
132名無しさん@そうだ選挙にいこう:2005/09/04(日) 21:44:11
そういうことはMSに聞けばいいじゃん
133131:2005/09/04(日) 22:25:28
電話窓口終わってたからここで訊いたんだけどね。
知ってるひとはおらんかいなと。
134名無しさん@そうだ選挙にいこう:2005/09/04(日) 22:34:24
明日聞けばいいだけの話じゃん
MSが確実に答えてくれる質問はMSにするべきだよ
135131:2005/09/04(日) 22:55:52
今日ライセンスのことがわかればPCと一緒に通販で買ってしまえる。
それだけの話だ。

粘着されてもつまらんから消えるよ。
136名無しさん@そうだ選挙にいこう:2005/09/04(日) 23:00:48

今日わかる→今日注文→明日受注処理
明日わかる→明日注文→明日受注処理

今注文するのも、明日日中に注文するのもどっちも変わらん
日中の休憩時間にネットも出来ないような負け組職場なら仕方ないけど
137名無しさん@そうだ選挙にいこう:2005/09/05(月) 17:24:34
41000

8700


10000

と並んでいるデータを順番を並び替えずに改行部分を詰めて
41000
8700
10000
という風にする方法教えてください。
138名無しさん@そうだ選挙にいこう:2005/09/05(月) 18:00:01
>>137
いろいろ方法があって一長一短。とりあえず安直に。

対象がA列として B1=+A1/A1*ROW()→B列全部に貼り付ける→B列でソート→B列削除
139名無しさん@そうだ選挙にいこう:2005/09/05(月) 18:33:36

 い
 


あa
 いa

うa


といった規則の文字列を

あいう
あaいaうa

といったように,並べ替えることはExcelで可能でしょうか。
どなたかご存知でしたら,教えていただけると幸甚です。
140名無しさん@そうだ選挙にいこう:2005/09/05(月) 18:35:21
追加です。失礼しました。

【1 OSの種類         .】 Windows Xp
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 多少
【4 VBAでの回答の可否】 可
141名無しさん@そうだ選挙にいこう:2005/09/05(月) 18:58:29
>>139
規則っつーのがよく判らん(あと、謎の空行…???)けど、
VBA使っていいなら大概の文字列処理はできるっしょ。

…正規表現(ボソ
142139:2005/09/05(月) 19:51:12
わかりにくくてすいません。
元のデータは,HTMLあるものなのですが
それをExcelに単純にコピーペーストすると下のようになります。
(空白はそのまま表現しています)
「あいう」がひとつのまとまりです。
 ABC
1 あ
2 
3い
4
5う
6 え
7 
8お
9
10か

このデータを
 ABC
1あいう
2えおか

のような形にできないかと思っています。
あいうえお,はそれぞれユニークな文字列です。
(正直申しまして,ほとんどVBAはできません。。。)
どうぞよろしくお願い致します。


143名無しさん@そうだ選挙にいこう:2005/09/05(月) 19:54:58
「あ」や「え」の前の空白が行の開始ってこと?
144名無しさん@そうだ選挙にいこう:2005/09/05(月) 19:57:30
あいうえおか
は三つで一個の纏まりと考えていいのか?
「あいう」「えおか」
それともたまたまで
「あいうえ」「おか」の時もあるの?
145名無しさん@そうだ選挙にいこう:2005/09/05(月) 20:03:30
>>139
株価か何かですか?(w
それなら話が判りやすいんだけど。
146名無しさん@そうだ選挙にいこう:2005/09/05(月) 20:08:13
単純に貼り付けてるのが悪いんじゃないの?
147139:2005/09/05(月) 20:24:36
みなさんどうもありがとうございます。
>>143さん
その通りです。

>>144さん
その通りです。
三つで一個のまとまりです。
かならず,「あいう」「うえお」となります。
それ以外のパターンはありません。

>>145さん
人に関するデータです。

148139:2005/09/05(月) 20:26:52
>>144さん
間違えました…。「あいう」「えおか」となります,
が正しいです。

>>146さん
「テキスト」で貼付けると(以前は,unicodeテキストで貼付け)

 A
1n
2あ
3
4い
5
6う
7n+1
8え
9
10お
11
12か

となりました。この場合,(n,あ,い,う)が一つのまとまりです。
この場合でも先ほどのような処理ができればと思います。
(nは処理後のデータにはいりません)
よろしくお願い致します。
149名無しさん@そうだ選挙にいこう:2005/09/05(月) 21:00:05
ますます意味が不明
例だけじゃなくて、「規則性」を明確に説明してよ。
150名無しさん@そうだ選挙にいこう:2005/09/05(月) 21:16:12
>>139
同じ症状のダミーのHTMLをUPしてくれると早いと思う
151139:2005/09/05(月) 21:17:49
なんども申し訳ありません。
>>149さん
 A
11
2山田太郎
3
4山田太郎の誕生日
5
6山田太郎の出身地
72
8山田花子
9
10山田花子の誕生日
11
12山田花子の出身地
133
以下繰り返し

規則性と思われるものは,
一つのデータのまとまりは4つの変数を含む
(数字,名前,誕生日,出身地)
名前,誕生日,出身地の間には,一行空白が含まれるが,出身地と数字の間にはない
1まとまりの始まりは数字であり,出身地で終わる

このデータを
  A      B        C
1山田太郎 山田太郎の誕生日 山田太郎の出身地
2山田花子 山田花子の誕生日 山田花子の出身地
に変換する

これで如何でしょうか…。
152139:2005/09/05(月) 21:28:23
>>150さん
ttp://air.fishbowl.rm.st/download/cgi/tuploader/images/112592325200.html
にUPしましたので,よろしかったらお願い致します。
153名無しさん@そうだ選挙にいこう:2005/09/05(月) 21:45:19
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 折れ線グラフ 線が

エクセルで折れ線グラフを作ろうとしたのですが、点は出るのですが点と点が線で繋がらないんです。
どうすれば解決できるのでしょうか?
154名無しさん@そうだ選挙にいこう:2005/09/05(月) 21:45:40
HTML側はテーブルなんだね・・
155名無しさん@そうだ選挙にいこう:2005/09/05(月) 21:58:07
>>151
文字列内容だけでなく、位置にも規則があるなら関数参照でいいじゃん
>>151の例の通り2,8,14,20,26...行目が名前なら
B1に
=ROW()*6-4
C1に
=INDEX($A$1:$A$100,$B1+(COLUMN()-3)*2,1)
で、それぞれをオートフィルで必要な範囲までコピーすれば終わり
156139:2005/09/05(月) 22:18:15
>>155さん
おかげさまで,無事望み通りの処理ができました。
どうもありがとうございました。
回答いただいた皆さんもどうもありがとうございました。
157名無しさん@そうだ選挙にいこう:2005/09/05(月) 23:02:04
>>139
終了してるけど、回答をさらっと書こうとして嵌って悔しかったので書く。
MicrosoftVBScript Regularなんちゃら5.5とMicrosoft Forms 2.0への参照が必要。
HTMLをコピーして、任意のセルを選択してからこのマクロ起動。
コメントのある行が嵌った行だ。

Sub Macro1()
Dim CB As Variant, DataObj As New DataObject, reg As RegExp, i As Integer, buf As String
Set reg = New RegExp
reg.Global = True
reg.IgnoreCase = True
CB = Application.ClipboardFormats
If CB(1) = True Then
MsgBox ("ハァ?")
Exit Sub
End If
158157続き。:2005/09/05(月) 23:02:48
For i = 1 To UBound(CB)
If CB(i) = xlClipboardFormatText Then
DataObj.GetFromClipboard
buf = DataObj.GetText
reg.Pattern = " " '何で全角スペースが入ってんだよコラ
buf = reg.Replace(buf, " ")
reg.Pattern = "(\S+)\s*(\S+)\s*\n\s*\n(\S+)\s*\n\s*\n(\S+)\s*\n"
buf = reg.Replace(buf, "$2" & vbTab & "$3" & vbTab & "$4" & vbCrLf)
DataObj.SetText buf
DataObj.PutInClipboard
ActiveSheet.PasteSpecial xlClipboardFormatText 'Pasteだとだめ。
Exit For
End If
If i = UBound(CB) Then
MsgBox ("ハァ?")
End If
Next i
End Sub

まぁ、参考まで。
159名無しさん@そうだ選挙にいこう:2005/09/05(月) 23:14:08
ワロタw
160139:2005/09/05(月) 23:39:40
>>157さん
身がひきしまった思いがしました。
ありがたく使わせていただきます。。。
161名無しさん@そうだ選挙にいこう:2005/09/06(火) 00:17:36
【1 OSの種類         .】 Windows Xp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 多少
【4 VBAでの回答の可否】 可

personal.xls が毎回立ち上がってしますのですが、
これをやめさせる方法はないんでしょうか?
162名無しさん@そうだ選挙にいこう:2005/09/06(火) 02:29:44
>>153
>>7でなければ、もっと詳細に。
163名無しさん@そうだ選挙にいこう:2005/09/06(火) 02:58:28
【1 OSの種類         .】 Windows Xp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 ほんの少し
【4 VBAでの回答の可否】 可

セルの名前についておききします。
n=1のとき「セルの名前1」、などと変数nによって一意に決まることは出来ますでしょうか?
「セルの名前n」というようなことがしたいのですが。。。

店名、コード、品番 という3項目一組を別紙に8面付けで転記しなくてはなりません。
コード 
店名
品番
この並びになったものを「X」とすると(店名やコードはばらばらです)
---|
X X|
X X|
X X|
X X|
----
としたいのですが、既存のセルの配置が不規則なフォーマットを使わなくてはならず、セルに規則性が見出せず困っています。
よろしくご教示頂ければたすかります。よろしくお願いします。
164名無しさん@そうだ選挙にいこう:2005/09/06(火) 03:38:27
>>163
> 【6 日本語が使えるか    .】 ほんの少し
まで読んだ
165名無しさん@そうだ選挙にいこう:2005/09/06(火) 07:25:07
>>162すいません。出来ました。線が途切れると出ないでは違うものだと思っていました。
ありがとうございました。
166名無しさん@そうだ選挙にいこう:2005/09/06(火) 07:48:19
>>161
personal.xlsをXLStartフォルダからどこか別のフォルダへ移動
完全に必要ないなら削除
167名無しさん@そうだ選挙にいこう:2005/09/06(火) 12:02:39
エクセル関数は、略語だと思うのですが、
正式名称が紹介されてるHPなどはないでしょうか?

NORMDIST → NORMAL DISTRIBUTION 正規分布

覚える関数が多いと、元のスペルの意味から覚えた方が記憶がしっかり定着するので。

どなたかご存じありませんでしょうか?
168名無しさん@そうだ選挙にいこう:2005/09/06(火) 12:07:50
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】ユーザー定義 表示形式

よろしくお願い致します。
計算の合計結果を反映させたセルに
「00.000-(消費税含む)」と表示するためにユーザー定義で
[DBNum3][$-411]###,000"−(消費税含む)"
と設定していますが(消費税含む)の文字列のサイズだけを
小さくしたいのですが可能でしょうか?
169名無しさん@そうだ選挙にいこう:2005/09/06(火) 12:25:19
>>167
> エクセル関数は、略語だと思うのですが、
いいえ、略語ではありません
確かに英単語や英文を略したものが多いですが、
略した状態が関数の「正式名称」であり、唯一無二のものです
正式名称が別にあり、略語で関数を呼び出してるというわけではなく
NORMDIST関数の正式名称は「NORMDIST」


>>168
表示形式での書式変更は文字色しかできない
文字サイズの変更はVBA使わないと無理
どうしてもVBA使いたくないなら、2セルに分けて
左のセルに「[DBNum3][$-411]###,000」形式で数値を
右セルに「−(消費税含む)」を左寄せで文字列として表示させればいい

セルの境界には白の罫線を入れるとグリッドは消えて見える
ついでに上下のセルを横結合すれば2セル使ってるようには見えないよ
170名無しさん@そうだ選挙にいこう:2005/09/06(火) 12:50:36
>169 なるほど。ありがとうございます。VBAも勉強してみよう。。
171名無しさん@そうだ選挙にいこう:2005/09/06(火) 13:49:52
>>167 なんか揚げ足とられちゃいましたね。。私も気になったので調べてみました

ワークシート関数の読み方と語源
http://www2.odn.ne.jp/excel/function.html
172名無しさん@そうだ選挙にいこう:2005/09/06(火) 13:54:17
>>169
やーい、この揚げ足とりり〜ん!
173名無しさん@そうだ選挙にいこう:2005/09/06(火) 16:12:41
印刷するときに、2ページから5ページというようにできるのはわかるのですが、2,5,7ページというように印刷する方法はないのでしょうか。ワードだと出来るのですが・・・
174名無しさん@そうだ選挙にいこう:2005/09/06(火) 17:41:04
>>167
あなたが作れば勉強になるし、配布すれば感謝される
175名無しさん@そうだ選挙にいこう:2005/09/06(火) 17:45:19
>>171
ていうか、そのサイトはテンプレにしたい程充実してるね
176名無しさん@そうだ選挙にいこう:2005/09/06(火) 18:40:08
ひらがなで入力されているふりがなを,
アルファベット表記(≒ローマ字表記)に直すような関数やマクロが
どこかにあったら教えてください。
177名無しさん@そうだ選挙にいこう:2005/09/06(火) 19:06:23
1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 近似曲線 sin関数

実験の測定結果をエクセルにインポートし、
結果を散分図でフィットしたところ、
sin関数のような形をしていました。
このグラフの近似した式を求めたいのですが、
エクセルでできるのでしょうか?
よろしくお願いします。
178 :2005/09/06(火) 19:32:54
>>177
y=αSin(βx) で近似でき、最小二乗近似でよいのなら、
ゴールシークでβを追ってからαを追えばよし。

式がそれ以上複雑になった場合Excelで簡単にはできないはずです。
Rあたり使ってください。
179 178:2005/09/06(火) 19:41:48
180名無しさん@そうだ選挙にいこう:2005/09/06(火) 20:23:12
>>178さん
ありがとうございました。
>>179
で教えていただいたHPを参照しながらチャレンジしてみます。
181名無しさん@そうだ選挙にいこう:2005/09/06(火) 22:15:27
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 オートシェイプ・図

オートシェイプでサイズ指定(たとえば10センチ角)をして
四角を書き、印刷設定も100%でプリントアウトしたのに
実際印刷された四角は指定した大きさででてきません。

Excel はピクセル指定のアプリだから、できない、と
聞いたのですが、サイズ指定の項目があり、単位も選べるのに
まったく違う大きさ(1センチ近く違う)にでてくるのはなんでー!と
疑問です。
やはり自分で誤差率を考えて、大きめにサイズをとる、とか
しないといけない、ということなのでしょうか?
182名無しさん@そうだ選挙にいこう:2005/09/06(火) 22:36:19
>>176
「 (エクセル OR Excel) ひらがな "ローマ字" 変換 (関数 OR マクロ) 」@Google
腐るほどサンプルやそのまま使えるマクロが転がってる。
183winXP/2003:2005/09/06(火) 23:57:15
大変基本的な質問で恐縮ですが、

グラフウィザードを使ってグラフを作成したいのですが、
対象となるデータの範囲を指定しても
なぜか横軸に行の番号が目盛りとして表示されます。

なぜこーなるのでしょうか?
184名無しさん@そうだ選挙にいこう:2005/09/07(水) 03:25:05
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 コピペ改造レベル
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 読み取り専用 保存

どなたかお願いします。
読み取り専用のEXCELファイルを開いて
そのまま上書き保存したいのですが、VBAで可能でしょうか?
ネットワーク上の共有ファイルなのですが、
ある決まった1台からのみ上書き保存が出来る仕組みに
したいと考えております。
185184:2005/09/07(水) 03:29:18
すみません。ちょっとニュアンス違ってました。
「そのまま上書き保存」ではなく「変更して上書き保存」です。
よろしくお願いします。
186名無しさん@そうだ選挙にいこう:2005/09/07(水) 05:57:08
>>183
項目軸に表示される名前が、選択したデータ範囲に入っていないから。
系列名も項目名もなしに数値のとこだけ選択して、棒グラフとか作ろうと
してない?
187名無しさん@そうだ選挙にいこう:2005/09/07(水) 08:41:45
>>181
画面表示と印刷結果に差が出るのは、Excelの"仕様"です。
印刷後の結果に精密さを求める場合は、Excel使用はあきらめてください。
188名無しさん@そうだ選挙にいこう:2005/09/07(水) 10:51:13
【1 OSの種類         .】 WindowsXP sp2
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】否

数字に自動で「円」を入れる時は
ユーザー定義で@"円"ですが、
計算された結果の数字に「円」を入れるのはどうすればいいのでしょうか?
「+C8+D8円」となってしまいます。
189188:2005/09/07(水) 10:56:59
>>188
ごめんなさい
自己解決しました。おはずかしい・・・orz
190名無しさん@そうだ選挙にいこう:2005/09/07(水) 12:37:07
携帯からすみません。

『外部データの取り込み』の参照先のフォルダを変更するのは可能なんでしょうか

意味のわからないフォルダを参照するように設定されていて、データの取り込みに時間がかかってしまいます。

可能であればご教示ください。お願いします。

Excel2003です。
191名無しさん@そうだ選挙にいこう:2005/09/07(水) 12:57:00
ド忘れしてしまいました。教えてください。

エクセルで、文章A、文章B、文章Cなど、
複数のオブジェクトをコピー状態にしておく機能を何と言うんでしたっけ?

画面右側に たて一列 コピーされたものがまとまる機能です。
192名無しさん@そうだ選挙にいこう:2005/09/07(水) 13:28:55
>>191
Officeクリップボード

一覧を表示させたければ「編集 > Officeクリップボード」
193名無しさん@そうだ選挙にいこう:2005/09/07(水) 14:15:36
Excel2002なんだけど、
Wordみたいにページ番号を途中から始めるってできますか?
そのあと自動で番号を振っていきたいです。
194名無しさん@そうだ選挙にいこう:2005/09/07(水) 14:17:00
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 データ 変換 コード化されたデータ

どうぞよろしくお願いします。もしかすると大変基本的なことなのかもしれないのですが,やり方がわからず,困っています。
あらかじめコード化して入力されたデータにラベルをつけたいのです。
例えば,1なら“りんご”,2なら“みかん”,3なら“いちご”・・・・・という風に,ある列のデータを変換してしまいたいのです。
もちろん,普通の検索置換を繰り返せば,当面の目的だけは達成できるのですが,ある種のフォーマットを作っているので,これを関数的な処理で行いたいのです。

1 りんご
3 いちご
2 みかん
1 りんご
2 みかん

実は今までは,IFを使って,長ったらしい式を書いていました。

IF(A1=1,"りんご",IF(A1=2,"みかん",IF・・・・・・)

というやつです。

しかしこれだと,コード数が一定以上増えてしまうと,エラーが出るんです。つまり,入れ子のif論理式には長さに限界があるようなのです。

どなたかスマートな方法をご存知でしたら教えていただけないでしょうか?

どうかよろしくお願い致しますM_M
195名無しさん@そうだ選挙にいこう:2005/09/07(水) 14:19:13
>>188
数式の後ろに&"円"を付けるのでは?
196名無しさん@そうだ選挙にいこう:2005/09/07(水) 14:27:58
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

去年のデータと今年のデータを比較するグラフ(去年データ=折線、今年データ=棒)を作っています。
去年に無くて今年新設された項目がいくつかあるので、その部分は折線補完なしで作りたいのですが、
去年と今年で項目の並び順が違うので、HLOOKUP関数を使って去年データを今年データの並び順に
並べ替え、そのデータをグラフの元データとして参照させるようにしました。
去年にないデータ部分は、
=IF(ISERROR(HLOOKUP(A1,$A$10:$R$11,2,FALSE))=TRUE,"",HLOOKUP(A1,$A$10:$R$11,2,FALSE))
というように、#N/Aではなく空白を返すようにし、オプションで「空白セルのプロット・プロットしない」に設定したのですが、
ゼロが拾われて、折線グラフが補完されてしまいます。
関数を使うと、空白を式で返しても、何かが入っているとみなされて補完されてしまうのでしょうか?

説明下手ですみませんが、どなたか判るかたがいらっしゃったらお教え下さい。
197名無しさん@そうだ選挙にいこう:2005/09/07(水) 14:36:26
>>194
コードと品名の一覧表作ってVLOOJUP関数
使い方はヘルプ参照
198名無しさん@そうだ選挙にいこう:2005/09/07(水) 15:38:48
質問です。
マクロの知識は現段階で全く無いのですが、以下のことをしたいと思っています。
・マクロで可能なことなのか
・可能ならば、以下のことをマクロでやるために、どこから手をつけるべきか
これをお教えいただいた上、お薦めの書籍なども併せて教えていただければ幸いです。

OSはXPSP2、エクセルは2002SP3です。

■やりたいこと
・シフトスケジュールをデータで入れる

開始日,終了日,開始日曜日,終了日曜日,日数,行先名,仕事内容,顧客担当者,現場担当者,

これらの項目を入力していき、これを元に1シート一ヶ月、横に日〜月、縦に4週というカレンダーを作りたいのです。
二日間にまたがるスケジュールなら、二日間のセルを繋いで顧客名と仕事内容、顧客担当者および現場担当者が入る。
同じ日にスケジュールが重なっていると、2段、3段と増えていく。

上手くイメージが伝わるでしょうか…。
よろしくお願い致します。
199名無しさん@そうだ選挙にいこう:2005/09/07(水) 16:42:19
>>196
> 関数を使うと、空白を式で返しても、何かが入っているとみなされて補完されてしまうのでしょうか?
はい。""を返したからといって、空セルになるわけではありません。


>>198
> ・マクロで可能なことなのか
やりたいことがきちんと書いてないのではっきりとは言えないがおそらく可能

> ・可能ならば、以下のことをマクロでやるために、どこから手をつけるべきか
「どういう表を作りたいか」だけで、「その表で何がしたいのか」が具体的に書いてないので
具体的な回答は出来ないが、マクロ使うならVBAの文法覚えないと始まらないだろう。
それに何が解らないのかも解らないレベルで質問しても無駄。
とりあえずやってみて、「具体的にどういう処理がしたくて何が解らないか」を書こう。
>>198に書いてあるような表を作るだけならマクロ必要ないし。
200名無しさん@そうだ選挙にいこう:2005/09/07(水) 17:40:15
【1 OSの種類         .】 WindowsXP PRO
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否(要VBAなのであれば、可)
【5 検索キーワード     】 ワークシート間 データ反映 / ブック間 データ反映

ブックが1.2と二つ、同じフォルダに存在。
ブック1にABCD....と情報が入っていて。
ブック2には、Aがどうなった、Bがどうなった、Cが(略)...Dが(略)...と結果が入っていきます。

自分がしたいのは。
ブック2で「Cがどうなった」と結果が入力された時、
 ブック1のCの部分に「こうなった」と言う結果の表示を 色で塗りつぶして 表示したいのです。

方法が解りませんので、教えてください。
201名無しさん@そうだ選挙にいこう:2005/09/07(水) 17:54:06
【1 OSの種類         .】 WindowsXPsp2
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 同一 データ セル 結合

連続で同一データがあるときに、それらのセルを自動せ結合する方法はありませんでしょうか?
A C F        C F
A C G  →  A
A D G        D  G
B E G      B E

物凄く見にくくて申し訳ないんですが…上記のような感じにしたいのです。
ヨロシクお願い致します。
202名無しさん@そうだ選挙にいこう:2005/09/07(水) 18:12:01
>>201
セルの結合は手動かVBAかのどちらかでしか出来ないので
VBAがイヤなら手動でやるしかない。
203名無しさん@そうだ選挙にいこう:2005/09/07(水) 18:36:37
>>184
ActiveDirectory下で
1.該当フォルダの書き込み権限を、とあるアカウントに限る
2.そのアカウントのパスワードは貴方だけが知っている
3.「ある特定の一台」は、そのアカウントで自動ログインする
つー形の方が確実で、将来的に幸せになれそうな気が。

ActiveDirectory、導入時に大規模な引越し作業+費用が発生するけど微妙に便利だよ。
204名無しさん@そうだ選挙にいこう:2005/09/07(水) 19:04:40
【1 OSの種類         .】 WindowsXp
【2 Excelのバージョン   】 Excel 2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 -

すみません皆さん、力を貸してください。

Excelファイルの上書き保存はできるのですが、名前を付けて保存ができません。
(正確には名前を付け替えて保存ができないのです。)
ファイル名に使用できない文字も含まれておりません。
原因はともかく解決策をご存知の方がいらっしゃればぜひ教えて頂きたいです。

パソコンに保存されているExcelファイルがすべて上記のような状況になり、
非常に困っております。
特に何か特別な操作をしたわけではないようなのですが・・・

名前を付け替えて保存した時のエラーメッセージは、
「ファイルを保存できません。***.xlsは有効なファイル名ではありません」
と表示されます。***の部分は付け替えたファイル名です。

どうぞよろしくお願いいたします。
205名無しさん@そうだ選挙にいこう:2005/09/07(水) 19:09:42
>>204
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
・ バグ・動作上の不都合などはマイクロソフトのサポートを受けましょう。ここは技術的な質問のみで。
206名無しさん@そうだ選挙にいこう:2005/09/07(水) 19:13:24
>205
失礼しました。
207名無しさん@そうだ選挙にいこう:2005/09/07(水) 19:23:18
>>204
とりあえずやる事:
CD-Rあたりに全部バックアップを取る。可及的速やかに。

その後、とりあえず確認する点:
→Personal.xlsを削除しても直らないか
→新規作成して、C:\tmp.xls あたりになら保存できるか
→ディスク容量は残ってるのか
→パスによく見ると中国語とかが混ざってないか
まぁ、サポートに電話するのがいいかも。
208座敷荒氏:2005/09/07(水) 21:34:54
具体的に困っているわけではありませんが・・

みなさん、Excel VBAでツールを作成することが多いと思いますが
スペックの低いPCで実行する場合に少しでも負荷を下げて
処理を速くするとしたら、どのような工夫をしますか?


ちなみにわたしは以下の1点くらいしか思いつきませんでした;

・処理中のウィンドウをアクティブにしない
209名無しさん@そうだ選挙にいこう:2005/09/07(水) 22:31:12
Application.ScreenUpdating = False

Application.ScreenUpdating = True

これくらい。
210名無しさん@そうだ選挙にいこう:2005/09/07(水) 22:39:30
>>208
古いOSと古いエクセル
211頭の体操みたいな仕様ですね。:2005/09/07(水) 23:37:36
>>198
ええと、以下の作業をやればいいわけです。(俺ならバージョン。)

0.メッセージボックスの出し方とかブレークポイントの仕掛け方を学ぶ。あと、基本的なマクロの記録方法。
 ここらへんが出来ないと流石に発狂する。
使用するキーワード:MsgBox(),F9,Option Explicit,Dim AS,integer

1.とあるシートにおいて、ある列から行方向にn個連続して空白な、一番上のセルの位置を返す関数を作る
 (具体的には、C〜F列は全部空白かってことを1行目からB,C…と順番に探していけば何とかなる。)
追加されるキーワード:Sub,Do While,Exit Do,if then endif,Cells().Value,=,""

2.1の関数を使って、指定された場所にあるセルが値を持ち、かつ左側のセルを結合されてない場合には
 その結合状態を保ったままできる限り上に移動する、移動できたら1、できなかったら0を返す関数を作る。
 (具体的には、if(Cells(i, j).MergeArea.Address Like Cells(i, j).Address & "*" ) then …で
  1の関数を乱打し、発見したらコピペで移動してから元のセルを分解、空白化する。)
追加されるキーワード:Function,Like,MergeArea.Address,MergeCells=FALSE,文字列の連結(&),Cells().Select,Selection.Copy,ActiveSheet.Paste,Selection.ClearContents
212続き。バグがあっても知らない。:2005/09/07(水) 23:38:19
3.シフト入力シート(仮称)から、指定した範囲に被るシフトだけを別のシートA(仮称)に抜き出し、
 シフト長にて降順にソートする関数を作る。
 (具体的には、シートAの内容をクリアしてから1.と同じで泥臭く検査してコピペしてソートすればいい。)
追加されるキーワード:AND,<=,Range.Sort

4.書くの面倒くさくなってきた。3.で抜き出したそれぞれの行に対し、別のシートB(仮称)を初期化してから
 求める出力に近いものを吐き出す関数を作る。例えばシートAの3行目が水曜日から土曜日のシフトなら、
 シートBの3行目についてC1:F1を連結し、顧客名とかを放り込むみたいな。
追加されるキーワード:Weekday,vbLF(←セル内改行)

5.指定した日から始まる一週間について、求める出力を指定したセルに吐き出し、
吐き出した行数を返す関数を作る。
(具体的には、3→4→移動できるものが無くなるまで2乱打→罫線を張る→コピペ→罫線を消しておく
 3.でソートしたのはここで2.がまともに動くようにするのが目的。)
追加されるキーワード:UsedRange,Rows.count,Selection.Borders

6.指定された月に対して5を乱打
7.年。

Application.ScreenUpdating = True のままで完成したマクロを動かしたら
ちょっとしたスペクタクルになるはずです。頑張ってください。
213211:2005/09/07(水) 23:50:11
あ、ちなみに上記はスケジュールからカレンダを一括生成するだけね。
長文連投スマソ。
214名無しさん@そうだ選挙にいこう:2005/09/08(木) 00:05:03
【1 OSの種類         .】 WindowsXp
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 -



エクセルで作ったファイルを
ワードのシートに挿入したいのですが
エラーとなります。
どうすれば出来るでしょうか?
215214:2005/09/08(木) 00:12:33
すみません、出来ました。
216winXP/2003:2005/09/08(木) 01:15:32
ROUND関数を使ってオートフィルでドラッグすると、

正の数はちゃんと計算値が算出されるのに、マイナスになるはずのセルは空欄になります。

エラーの表示もなく白の空欄です。どうすればマイナス表示されるようになりますか?
217名無しさん@そうだ選挙にいこう:2005/09/08(木) 08:54:07
プロジェクトのロックを外すツールがあるけど、簡単に外せなくする方法ある?
パスワード解除されて困ってます。
218名無しさん@そうだ選挙にいこう:2005/09/08(木) 09:05:53
Officeのセキュリティはザルです
219名無しさん@そうだ選挙にいこう:2005/09/08(木) 10:05:10
>>217
そもそもMS Officeのパスワードは、情報漏洩防止用とかではなく
初心者が誤って書き換えできないようにするためのものだからね。
元々、知識があれば簡単に外せるように作ってある。

MS Officeには「書き換え防止機能」はあるけど「パスワード機能」は無いと思ってた方がいいよ。

一応パスワード保護ツール(\1000)とかもあるようだけど、
> Q 2.どうしても、プロテクトしたファイルのパスワードを解除したい場合にはどうしたらいいですか?
> A   **********までご連絡下さい。1件3,000円にて解除を承ります。
と有るように、解析出来ないわけではないみたいだし。
http://conex.fujigoma.com/download/passlocker/passlocker.htm
とりあえず既存のツールに対しては解析防止の効果はあるようだから使ってみれば?
そのファイルが、たった\1000払うのもためらわれる程度の重要性ならロック外されても気にするな。
220名無しさん@そうだ選挙にいこう:2005/09/08(木) 10:19:31
EXCEL2002を使っています。
VBAでセルに入力されている最終行を取得する関数ってありますか?

今はセルを1行づつIF分で判定しているのですが、あまり効率がよくない
ので・・・

誰かエロイ人教えてください。
221名無しさん@そうだ選挙にいこう:2005/09/08(木) 10:30:03
>>220
65536行目からSelection.End(xlUp)で飛ぶ。
一行もデータが無いときと全部データで埋まってるときだけ注意。
222名無しさん@そうだ選挙にいこう:2005/09/08(木) 10:37:01
65536行目をSelectする必要無し
Selectionからではなく
Cells(65536, 1).End(xlUp).Row
Range("A65536").End(xlUp).Row
でいいだろ
223名無しさん@そうだ選挙にいこう:2005/09/08(木) 10:51:42
【1 OSの種類         .】 Windows XP SP2
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel XLL 作成 OR 作る OR 作り方

マクロをゴリッと書いてアドインを作ったら xlaファイルができるんですが、
xllファイルってのはどうやったら作れますか?

ググッたら拡張子辞典とかはヒットするけど。。
めぼしい情報はこんな感じっす。
 ↓
ttp://support.microsoft.com/default.aspx?scid=kb;ja;280290
ttp://support.microsoft.com/default.aspx?scid=kb;ja;JP404174
ttp://www2.moug.net/app/bbs/message.php?cat=exvba&id=20050203-000050
(3つめはググのキャッシュで見てね)


Excel専用の DLL形式のアドインらしいてのが判明。
そしてどうやらC言語で作られてるらしいっぽいので、試したこと。

1.VC++ 6.0で DLL作って、拡張子を"xll"に変更。
2.VB 6.0で DLL作って、拡張子を"xll"に変更。
どちらも、Excelで[ツール(T)]→[アドイン(I)]→参照ボタンで指定したら
正しいアドインじゃないっておこられる。

ちなみに、Excelで xlaファイルを作って拡張子を"xll"に変更したら、
アドインとして認識された・・・えーっ
(でも、この辺りにヒントがあるのかな?)

xllファイルの作り方(Excelにちゃんとアドインできるやつね)
知ってはる人いたら教えてください、お願いします。
224220:2005/09/08(木) 10:54:24
>221
>222
ありがとうございます。できました。
225名無しさん@そうだ選挙にいこう:2005/09/08(木) 11:26:21
>>217
人に見られても恥ずかしくないプログラムを書けばモウマンタイ。
某サイトでいつもおちゃらけてるアフォが作ったツールで保護できるらしいけど、あいつのは使う気なし。
あいつは人に見られると困るような汚いプログラム書く奴だから、こんなツール作ったんだろう。
226名無しさん@そうだ選挙にいこう:2005/09/08(木) 11:35:12
> xllファイルの作り方
古いExcel(ver5あたりだったなか?)でアドインブックをコンパイルするだけ
そのころの開発環境にはxllを作る機能もあったんだろうけど
xll自体廃止されて久しいしからね。今はxllを作る環境は無いんじゃないかな?
まあ、今はxllを作る必要性も無いしね。
227名無しさん@そうだ選挙にいこう:2005/09/08(木) 11:46:21
>>225
おまえはよっぽど自分のテクニックに自信あるんだな。
228名無しさん@そうだ選挙にいこう:2005/09/08(木) 11:49:41
>>225の書いたコードはコメント無しでラベルとgotoのみで制御されてる為、
まともな奴なら読む気にならないという精神的プロテクトが施されてます。
229名無しさん@そうだ選挙にいこう:2005/09/08(木) 11:59:30
>>228
ん?
俺は確かにコメントは滅多に書かないが、GoToなんて滅多に使わんぞ?
糞な奴ほどコメントばっかり書きたがるよなw
コメントが少ないほど良いソースなのは常識
230名無しさん@そうだ選挙にいこう:2005/09/08(木) 12:07:13
Mr.づが降臨か?
231名無しさん@そうだ選挙にいこう:2005/09/08(木) 12:08:23
コメント無しでも理解できるソースは良いソースだが、
コメントが少ないこと自体が良いソースであるとは言えない。
初心者に言ってもわからないかな?
232名無しさん@そうだ選挙にいこう:2005/09/08(木) 12:12:18
>>228
ラベルとgotoのみで批判はお断りって人が某サイトにいたな。
あんなんじゃ何時までたっても上達しないな。
233名無しさん@そうだ選挙にいこう:2005/09/08(木) 12:15:58
俺のはそのコメント無しでも読めるソースなんだよ。
だけど君には読めないかもなw
可読性なんて読む人のレベルによって違うからな。
234名無しさん@そうだ選挙にいこう:2005/09/08(木) 12:19:24
コメント無しで本人だけが読めるコード@233 <<<越えられない壁<<< コメント無しでも、心得の有る人ならだれても読めるコード
235名無しさん@そうだ選挙にいこう:2005/09/08(木) 12:34:36
心得のある人ってはたして何割くらいいるんだろうね。
俺はクラス使いまくりだが、その心得がある人なら当然コメント無しでも読めるが、心得のない人にはコメント書いても読めないな。

236223:2005/09/08(木) 13:23:45
>> 226
xllはもう廃止されてたんですか、そしてExcel var5ですか!!
うーん・・・Windows 3.1インストールしなくっちゃ(w

xll作れたら、コードを勝手に変えられることもないし
処理も少しは速くなるだろうし、良さそうなんだけど。

やっぱり Windows 3.1かなぁ(w

でも、Win3.1で xll作っても、
16ビットじゃ動かないから32ビットで作り直さなきゃいけないんよね
(Microsoftサポペによると)。。
何で作り直せって言うんでしょか、お手上げ〜

ありがとございました〜
237名無しさん@そうだ選挙にいこう:2005/09/08(木) 13:59:31
俺は自分で書いたコードの意味すら数ヶ月で綺麗サッパリ忘れるからコメント書きまくり。
238196:2005/09/08(木) 14:50:36
>>199
禿しく遅レスになりましたが、諦めて空白は手で消しました。

回答有り難うございました。
239名無しさん@そうだ選挙にいこう:2005/09/08(木) 15:42:06
Mougでも同じようなパスワード解除が盛り上がってるな。
質問者が同じ?
例のツールのおちゃらけ作者も来てるなw
240名無しさん@そうだ選挙にいこう:2005/09/08(木) 18:27:03
(,,゚Д゚)∩先生質問です!!
急に仕事でExcel2003使わなきゃならんことになったんですが、お薦めの入門書ってありますか?
ビジネスソフトはあんま使ったことが無いので、分かりやすい本だと嬉しいです。

241名無しさん@そうだ選挙にいこう:2005/09/08(木) 18:57:40
>>240
こいつ用の一般(上級イラネ)を何でもいいから一冊流し読み。
ttp://school5.2ch.net/test/read.cgi/lic/1126095220/1-100
242名無しさん@そうだ選挙にいこう:2005/09/08(木) 19:20:21
【1 OSの種類         .】 WindowsXp
【2 Excelのバージョン   】 Excel 2002
【3 VBAが使えるか    .】 少しです
【4 VBAでの回答の可否】 それでお願い

マクロを含んだ新規のブックって作る事が出来ます?
出来るならサンプルを教えて欲しいです m(__)m。

243まくりょ:2005/09/08(木) 20:30:22
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

したのマクロを組んでみたんですが、正しく動作はしました。
ただこれだと効率が悪いような気がなんとなくするので、
もし、改良をする点があるようでしたらご教授ください。
244名無しさん@そうだ選挙にいこう:2005/09/08(木) 20:32:22
 |
 |↑ 
 └┘
おらっしゃあぁぁ!!
 ∩ ∧∧
 ヽ(゚Д゚)
   \⊂\
   〇ー、 )〜
     ∪
245まくりょ:2005/09/08(木) 20:35:17
Sub スペシャル()
Dim myPath As String
Dim myFName As String
Workbooks("Book1.xls").Activate
myPath = ActiveWorkbook.Path
ChDir myPath
myFName = Dir("*.csv")
Do Until myFName = ""
'If Rec = vbYes Then
Workbooks.Open Filename:=myFName
Rows("1:1").EntireRow.Insert
Range("A1").Select
Selection.Offset(0, 2).Select
ActiveCell.Value = ActiveWorkbook.Name
Range("C1:C33").Select
Selection.Copy
Windows("Book1.xls").Activate
Cells(ActiveSheet.Rows.Count, 2).End(xlUp).Select
Selection.Offset(, -1).Select
ActiveCell.Offset(1).Activate
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
ActiveCell.Offset(1).Activate
myFName = Dir()
Loop

End Sub
246名無しさん@そうだ選挙にいこう:2005/09/08(木) 20:55:21
すみませんが、質問させて下さい。
セルの結合をして、それに縦書きをしたいのですが、
やり方を教えて下さい。
また、もう少し表全体を大きくしたいのですが
その場合はどうしたら、全体を大きく出来ますか?
247名無しさん@そうだ選挙にいこう:2005/09/08(木) 21:40:38
>>246
範囲を選択 →
書式 →
セル →
配置 →
方向のボックス(?)で
縦を選択
248名無しさん@そうだ選挙にいこう:2005/09/08(木) 21:45:54
>242
前スレ読めば解るはず
>>1に前スレのログへのリンクがあるし
249名無しさん@そうだ選挙にいこう:2005/09/08(木) 21:51:51
>>245
> 〜Activate → ActiveSheet〜、ActiveWorkbook〜
> 〜Select → Selection〜
こういうのは無駄。例えば
> Workbooks("Book1.xls").Activate
> myPath = ActiveWorkbook.Path

myPath = Workbooks("Book1.xls").Path
で通る。他にも無駄なところはいっぱいあるが
まずコレを直さないとまともにコードを読む気にもならない。
250名無しさん@そうだ選挙にいこう:2005/09/08(木) 22:16:23
質問です。
IFなどの論理式とマクロは組合せはできないのですか?
251名無しさん@そうだ選挙にいこう:2005/09/08(木) 22:19:56
データの最終行の文字を返すやり方を教えてください
例えば







とあって 6を返す関数とかありますか?
252名無しさん@そうだ選挙にいこう:2005/09/08(木) 22:29:55
>>250
マクロ内でIfステートメント、IIf関数(←これがワークシート関数のIFに近い)が使えますが。

>>251
VBAでやるなら>>222
関数のみでやりたいならCOUNTAで入力数を調べてOFFSET
但し終端行前に空セルが有る場合、空セルが固定なら調整も出来るが
空セルが固定じゃない場合は作業セル使わないと無理。
253250:2005/09/08(木) 22:33:03
>>252
どうもありがとうございました。
254246:2005/09/09(金) 00:00:19
>>247
有難うございます。やってみたのですが、「縦」の項目はないみたいなんです。
〜度っていう文字の角度を変えるのはあったのですが、
それで90度にしても、縦になるのですが、文字が横のまま
縦になってしまうのです。
何か他に方法はないのですかね。度々の質問ですが宜しくお願いします。
255名無しさん@そうだ選挙にいこう:2005/09/09(金) 00:08:21
Excelのバージョンすら書いてないので有るかどうかわからんが

┌方向────┐
│   ・
│      ・
│文     ・
│字 文字列 ・
│列     ・
│      ・
│   ・
  ↑これを選べば縦書きになる。
256名無しさん@そうだ選挙にいこう:2005/09/09(金) 00:13:55
>>255
246じゃないが、お前のその芸の細かさに惚れた。
257246:2005/09/09(金) 00:21:35
>>255
出来ました!勘違いしていたみたいです。
ご丁寧に有難うございました!
それと、最後にもう一つなのですが、今B5で打っているのですが、
出来上がりは見開きにしたい為、2シート分をB4で印刷というのは可能でしょうか?
258名無しさん@そうだ選挙にいこう:2005/09/09(金) 08:00:53
誘導されてきました
質問です OS XP SP1 EXCEL2002
シートをPDFに変換するためにPSプリンタでシートをPOSTScriptファイルに出力し
POSTScriptファイルをPDFに変換するという手順を踏んでいるのですが

Call Worksheets("Sheet2").PrintOut(, , , False, "(Generic PostScript Printer)", True, , "c:\test.ps")

でPOSTScriptファイルは出力されるのですがPOSTScriptファイルがよく文字化けしてしまいます。
そのため出力されたPOSTScriptファイルはPDFに変換できません。
プログラムではなく人間が手動でPSプリンタを使ってPOSTScriptファイルを出力させると文字化けをすることはありません。
どうして文字化けを起こしてしまうのでしょうか?
259名無しさん@そうだ選挙にいこう:2005/09/09(金) 08:25:50

誘導されたとしても、向こうで移動するからこちらでは回答不要の旨書いてこないとマルチ

どちらでも好きな方の質問を残して、もう一方の質問を取り下げましょう
260名無しさん@そうだ選挙にいこう:2005/09/09(金) 09:02:29
>>259
どうでも良いこと書いてないでさっさと教えろ。それとも分からないのに注意だけする神経質な人ですか?w
261名無しさん@そうだ選挙にいこう:2005/09/09(金) 09:09:14
>260
どうしたの、ボウヤ?
262名無しさん@そうだ選挙にいこう:2005/09/09(金) 15:17:16
すいません,できるかどうかだけ教えてください。
xy2軸上にプロットするような図をグラフオプションで作成することが
可能でしょうか??

    ↑
    |   友近
 青木|
    |
――――――――→
    |
森山中 |  中島
    |
    |魔邪

↑こんなやつです(x=いい女度,y=面白い度)
263名無しさん@そうだ選挙にいこう:2005/09/09(金) 15:21:20
魔邪がいい女の方に入ってるwww ワロス
264名無しさん@そうだ選挙にいこう:2005/09/09(金) 17:06:12
すみません、お願いします。
セルに(1)を表示したいのですが、どうしても−1になってしまいます。
どの様にしたら表示出来ますでしょうか?
バージョンは2000です。
265名無しさん@そうだ選挙にいこう:2005/09/09(金) 17:15:23
エクセルで、0以下を拾いたいんだけど、

数式を教えて頂けませんでしょうか?
266名無しさん@そうだ選挙にいこう:2005/09/09(金) 17:15:31
>>264
1.文字列にする
2.書式のユーザー定義で (#) にする
267名無しさん@そうだ選挙にいこう:2005/09/09(金) 17:17:44
「拾う」の定義が分からん。合計したいのかデータの個数調べたいのかアホなのか。
268265:2005/09/09(金) 17:22:05
>>265

分かった。

=COUNTIF(M6:M24,"<0")の<を、全角の<にしてたから出来なかったんだ。
269264:2005/09/09(金) 19:16:35
>>266
有難うございました!
270名無しさん@そうだ選挙にいこう:2005/09/09(金) 19:33:31
一番かっこいいグラフはなんですか?
271名無しさん@そうだ選挙にいこう:2005/09/09(金) 19:37:14
>>270は釣り
272名無しさん@そうだ選挙にいこう:2005/09/09(金) 19:56:11
>>270
レーダー
273名無しさん@そうだ選挙にいこう:2005/09/09(金) 22:26:10
>>262
できる、と思う。
散布図にして、軸の設定とか項目ラベルあたりをいじってみたらどうだろう。
274名無しさん@そうだ選挙にいこう:2005/09/09(金) 23:10:24
【1 OSの種類         .】 WindowsXp
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

すみません、教えていただけませんか。

Sheet1の1列、2列の高さがものすごく小さくなって見えないくらいなので以下のマクロで望みの高さにしようと思ったのですが、実行しても見た目は変わりませんでした。
で、高さを、書式>列>高さ でみるとそれぞれちゃんと20.30となっていました。
他のシートで実行すると意図通りの見た目になっており、1,2列の高さが20,30となっていました。

1,2列には文字が入っていて、見えないととても困るので弱っています。
どなたか解決策を教えていただけませんか。
よろしくお願いいたします。


Rowsの代わりにRangeにしてもダメでした。

Sub セルの高さを調節()
Worksheets("Sheet1").Select
Rows("1:1").Select
Selection.RowHeight = 20

Rows("2:2").Select
Selection.RowHeight = 30
End Sub
275名無しさん@そうだ選挙にいこう:2005/09/10(土) 00:16:22
行と列を間違えてない?

一列目の行の高さって・・・
276274:2005/09/10(土) 00:26:47
>>275
すみません、書き間違えです。
行の高さ、です。
277名無しさん@そうだ選挙にいこう:2005/09/10(土) 00:39:53
他のマクロが動いて行の高さを変えてる可能性は?
278274:2005/09/10(土) 01:12:24
>>277
マクロでは行の高さに関して一切触れてないんです。不思議です。。。
279名無しさん@そうだ選挙にいこう:2005/09/10(土) 02:15:05
マクロをとめて実験できないの?
280名無しさん@そうだ選挙にいこう:2005/09/10(土) 02:15:20
ちょっと教えていただきたいんですけど、、ブックAのシート上のセルのコピーをブックBのシートに貼りこむと、、ブックBを開いたとき、更新するかと聞いてきますよね。

この更新を無効にしたいんですけど、出来ますでしょうか。
もし出来るなら、やり方を教えてください。

よろしくお願いいたします。
281274:2005/09/10(土) 02:19:30
>>279
原因が分かりました。ウインドウ枠の固定でした。
解除したらちゃんと行が出てきました。

スレ汚しすみませんでした。
282名無しさん@そうだ選挙にいこう:2005/09/10(土) 03:39:51
>>281
・・・・・・・・・・
283名無しさん@そうだ選挙にいこう:2005/09/10(土) 05:01:51
Excel2003です。
A列に日々追加して日付を入力するのですが、どんなに入力しても最大5000行以下です。
この場合標示形式を設定するのはA1〜A5000がいいですか?
それともA列全体がいいですか?
284名無しさん@そうだ選挙にいこう:2005/09/10(土) 05:08:31
当然A列全体
その方が容量も小さいし動作も軽い
285!=203:2005/09/10(土) 06:10:59
>>284
あ、そうなんだ!
常にそうなるの?例えば100行でも?
286名無しさん@そうだ選挙にいこう:2005/09/10(土) 06:35:12
1セル ≦ 1列(1列65536行) < 1列2行(A1:A2) < 1列100行(A1:A100) <<< 1列5000行(A1:A5000)
287名無しさん@そうだ選挙にいこう:2005/09/10(土) 07:52:30
>>285
286の言うとおり。
B1:B50にデータがあるとき、=SUM(B:B)なんかやってみると、列全体が軽いよ。
288283:2005/09/10(土) 10:07:27
みなさんありがd
今度から列全体にします。
289285:2005/09/10(土) 10:38:58

勉強になりました。皆さん、ありがとう
290名無しさん@そうだ選挙にいこう:2005/09/10(土) 10:40:59
例えば、関数で検索やカウントをする場合も、範囲指定より列指定の方が早いの?
291名無しさん@そうだ選挙にいこう:2005/09/10(土) 10:59:46
実際試してみりゃいいじゃん。
292名無しさん@そうだ選挙にいこう:2005/09/10(土) 11:02:23
>>291
どっちも瞬時なんで違いが分からない・・(´・ω・`)

買ったばかりのPCなんで・・・
293名無しさん@そうだ選挙にいこう:2005/09/10(土) 11:21:57
フィルタオプションによる重複データ削除について、どなたか教えてください。
リスト範囲をA列からE列、検索条件範囲をB列として重複削除をかけたいと
思います。
ただ、A列に通し番号を振っているためか、重複削除が全く出来ません。
A列をリスト範囲から外すと出来るのですが…。何か良い方法をご存じの方、
助けてください。
294名無しさん@そうだ選挙にいこう:2005/09/10(土) 11:24:13
引用元は忘れたが

Excelで、重複したデータを消す方法

(例)を基に説明しますね。
B列に =COUNTIF(A$1:A1,A1) (条件式に合ったものをカウントする)
と計算式を入力します。
これを、コピーしてB列のA列に対応する分だけ貼付
ます。
B列でフィルターをかけます。(B列を選択してデータ−フィルタ−オートフィルタ)
フィルタオプションで、カウント数が1以外のものを出すと、重複データが表示されます。
これらを削除してやると、重複データが消せます。
295293です。:2005/09/10(土) 11:38:21
早速ありがとうございます。やってみます。
296名無しさん@そうだ選挙にいこう:2005/09/10(土) 12:02:12
Excel2003で、計算式だけを保護したままセルの値を入力・削除できるようにするには
どうしたらいいのでしょうか?
Excel2000とはシートの保護の項目が変わってしまっているので、いまいち要領を得ません…。


データを間違えて消さないようにする / デジタルARENA ←これと同じ事がしたい訳です…
ttp://arena.nikkeibp.co.jp/tec/excel/20040304/107476/
297名無しさん@そうだ選挙にいこう:2005/09/10(土) 13:25:06
>>292
マクロで計るんだよ。
1回では分からないから、何万回、何十万回ループを回す。
298名無しさん@そうだ選挙に行こう:2005/09/10(土) 19:17:27
エクセル初心者でやってまいりました
全角で数値を打ち込んでしまい、網掛けするだけで自動的に和の
数が出てくる機能が使えません
全角を半角に簡単に変える機能があると聞いたのですが、
どなたか教えて頂けませんでしょうか
よろしくお願いします
299名無しさん@そうだ選挙に行こう:2005/09/11(日) 11:42:03
労働時間の表を作りたいんですが、時間を10進法に変換?しながら
加算する方法を教えてください。



2:30
1:30
5:00

この縦合計を9:00(時間)にするにはどうしたらいいですか?
300名無しさん@そうだ選挙に行こう:2005/09/11(日) 11:47:00
>>299
シリアル値で入力してあるなら、
普通に加算するなりSUM関数で合計するなりすれば9:00になるよ
301名無しさん@そうだ選挙に行こう:2005/09/11(日) 12:03:42
たびたびすみません。
「シリアル値で入力」する方法が分かりません。
セルの書式設定?
302名無しさん@そうだ選挙に行こう:2005/09/11(日) 12:13:01
A1に 2:30 
A2に 1:30
A3に 5:00 と入力して
任意のセルで =SUM(A1:A3) とすれば、9:00 が返るということ。

セルの書式設定は標準のままで良い。
303名無しさん@そうだ選挙に行こう:2005/09/11(日) 12:54:50
この流れでは例えば12:00と13:00の合計が1:00になるって定番質問にならない?
FAQにあるかも知らんけど、合計のセルの標示形式は[h]:mmだからね。
304名無しさん@そうだ選挙に行こう:2005/09/11(日) 19:12:06
>>303
あ、それ一瞬悩んだ w [hh]:mmにしたら直ったけど
305名無しさん@そうだ選挙に行こう:2005/09/11(日) 19:17:44
Excel97とExcel2002のVBAについて質問させて下さい。
Excel97で作ったVBAをExcel2002で実行させると、処理時間が大分遅くなってしまいました。
処理内容、ステップ数でも違うと思うのですが、そんなに変わるものでしょうか?

Excelの処理時間で詳しい方がいましたら、回答よろしくおねがいします。
306名無しさん@そうだ選挙に行こう:2005/09/11(日) 19:27:29
307名無しさん@そうだ選挙に行こう:2005/09/11(日) 19:30:28
ACCESSからexcel出力されるファイルを元にして一定の処理をさせる
vbaを作ってるんだけど
そもそも他のexcelファイルの特定部分からデータを持ってくる方法が分かりません
お願いします。
イメージ的にはなんかファイル参照的なことをしてもってこれたらと思います。
308名無しさん@そうだ選挙に行こう:2005/09/11(日) 19:49:22
>>307
Excel.Application
ExecuteExcel4Macro
309名無しさん@そうだ選挙に行こう:2005/09/11(日) 19:49:45
>>307
桐にしとけ
310名無しさん@そうだ選挙に行こう:2005/09/11(日) 20:03:59
桐って?
ぐぐってなんとなくは分かったけれど。
311307:2005/09/11(日) 20:07:09
>>308
あっありがとうございました。
問題解決です。
312名無しさん@そうだ選挙に行こう:2005/09/11(日) 20:32:01
プログラム板住人と比べるとこのスレの人はみんな丁寧だなあ
313名無しさん@そうだ選挙に行こう:2005/09/11(日) 20:39:27
ここは「バカにも優しく」がモットーです
314名無しさん@そうだ選挙に行こう:2005/09/11(日) 20:49:18
ここの回答者は優しく答えられるだけの知識があるからね。
知識はないのにプライドだけ高いム板住人は
質問を突っ返すだけのつめたい対応にならざるを得ない。
もちろんこっちでも答えられないことはあるけど。
315名無しさん@そうだ選挙に行こう:2005/09/11(日) 20:50:21
Excelで馬鹿な質問をして来るのは新入社員の若い娘に違いないという妄想がここの住人を優しくさせているのだろうか?
316名無しさん@そうだ選挙に行こう:2005/09/11(日) 20:51:06
>>315
その通りです
317名無しさん@そうだ選挙に行こう:2005/09/11(日) 20:54:38
> ここは「バカにも優しく」がモットーです
それはこっちね↓
★Word/Excel (MS-OFFICE) 初心者スレッド Part24★
http://pc7.2ch.net/test/read.cgi/pcqa/1123720358/

ここは「バカにも優しく」って程じゃないよ
>>308の回答だって、307がバカだったらあれだけじゃ理解できないだろうし
使用関数だけ教えて、あとはヘルプ読めなんてのも結構ある

回答内容が「バカにも優しく」って訳じゃなくても、
回答できる→優しく見える
回答できない→厳しく見える
ってだけのこと。きちんと回答できる奴が多いだけで、特別優しいわけじゃない
318名無しさん@そうだ選挙に行こう:2005/09/11(日) 20:57:11
教えたがりは多いぞ
319名無しさん@そうだ選挙に行こう:2005/09/11(日) 20:59:34
なんかム板住人が紛れ込んで負け惜しみをかましてますが、気にしない方向で
320名無しさん@そうだ選挙に行こう:2005/09/11(日) 21:05:09
ム板住人のレベル低すぎw
321307:2005/09/11(日) 21:35:34
バカじゃないらしい307ですが(笑)
確かに結局きちんと解答してくれる方は優しいですよ。
ありがとうございました。
322名無しさん@そうだ選挙に行こう:2005/09/11(日) 23:23:33
範囲選択をしたデータをテキストに貼り付けると、タブ区切りされたデータになってしまいます。
csv形式のデータで貼り付けるにはどんな設定をすればいいのでしょうか?
範囲選択したデータを別シートに持ってきて、そのシートをcsv形式で保存、というのでは、
手間がかかりすぎますので、単純にコピー・ペーストとするだけで大丈夫なように、
なんらかのオプション設定できっと出来るはずだと思うのですが、どこに設定があるのか
わかりません。
323名無しさん@そうだ選挙にいこう:2005/09/11(日) 23:59:04
>>322
VBAつかえば出来ないことはないけど、標準ではそういう設定はない
というか、テキストエディタに張り付けてから置換すればいいんじゃないの?
まともなエディタなら置換機能くらいあるでしょ。
又はクリップボード整形ソフトの類で置換してから張り付けるとか。
324322:2005/09/12(月) 01:09:52
標準ではないんですか……残念です。ありがとうございました。
325名無しさん@そうだ選挙にいこう:2005/09/12(月) 01:36:00
すいません、以前PC初心者板で回答がもらえなかったのでこちらにも書かせていただきます。
【1 OSの種類         .】 Windows XP(自宅)と2000(会社)両方で試した
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 コピペ改変程度
【4 VBAでの回答の可否】 否 なしでできるはずなので… 簡単なら可
【5 検索キーワード     】 グラフ データ範囲 9 以上 ctrl だめぽでした…

積み上げ棒グラフのデータ範囲を、複雑な表から
ctrlを押しながら飛び飛びに12箇所(2項目×12ヶ月)選択したいのですが、
9箇所までしか選択できません。9以上はセル番地の直接入力もできません。
前任者(退職)は12ヶ月のグラフ作れているので何か方法があると思うのです。

あと、わりと単純な表を飛び飛びで選択する9以上選択できました。
なにか限界があるのでしょうか。
326名無しさん@そうだ選挙にいこう:2005/09/12(月) 06:06:29
a行とb行の比率(b/aでaを分母として)を%で表示したいのですが、
それができる関数はありますでしょうか?

バージョンはExcel 2000です。
よろしくお願いいたします。
327名無しさん@そうだ選挙にいこう:2005/09/12(月) 07:08:28
>>326
割り算の数式を入力して表示形式で「パーセント」
328名無しさん@そうだ選挙にいこう:2005/09/12(月) 08:43:52
>>327
できました。ありがとうございました。
329名無しさん@そうだ選挙にいこう:2005/09/12(月) 10:57:10
>>325
9箇所まで選択できるのなら、まずそれでグラフを作ってしまい、
後から3箇所分、そのグラフに追加するってのじゃダメ?
330名無しさん@そうだ選挙にいこう:2005/09/12(月) 14:49:08
【1 OSの種類         .】 Windows XP Pro SP2
【2 Excelのバージョン   】 Excel2000 SR-1
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 バリバリ可
【5 検索キーワード     】 ブック アクティブ 実行 マクロ VBA Auto_Open

すません、教えてください。

Excel初回起動時、
ブックを開ききったあとでVBAマクロを自動実行したいんですが、
ブックのイベント『Workbook_Open()』以外で方法ありますか?
希望は標準モジュールでゴリッと書きたいんですが。。

ちなみに、標準モジュールのイベント『Auto_Open()』に書くと、
Excelのブックファイルをダブルクリックしたときも
ブックを開く直前に走るみたいで、

Sub Auto_Open()
MsgBox Application.Workbooks.Count
End Sub

では『0』ってメッセージボックスが出ます。。

よろしくお願いしますです。
331名無しさん@そうだ選挙にいこう:2005/09/12(月) 15:14:23
>>330
普通の開き方すればイベント的には
Workbook_Open
Workbook_Activate
Workbook_WindowActivate
の順で実行されるが、標準モジュールではAuto_Open以外は無い。
でもWorkbook_Openから標準モジュールのプロシージャをコールするなり、
Auto_Openの頭でブックがアクティブになるまで空ループさせるなりすればいいじゃん。
因みに上記のWorkbookイベントは全て自ブックも含めたカウント取れるよ。

それにうちの環境では
Sub Auto_Open()
Debug.Print Application.Workbooks.Count
で、自ブックも含めたカウント取れてるし
Sub Auto_Open()
Debug.Print ActiveWorkbook.Name
でも開いたブックの名前が返る。
Workbookのイベントと違って、明確にブックが立ち上がってからの実行じゃないから
マシンスペックによってはブックオブジェクトが作成される前にマクロが実行されちゃうのかもしれないけど
上記の方法でいくらでも対処出来るからね。
332330:2005/09/12(月) 16:04:51
>> 331
ありがとうございます。
標準モジュールでは『Auto_Open()』イベントだけなんですね。

あ、自動実行したいマクロがアドイン(*.xla)で、
開くブックと別れていた場合はどうなりますか・・・?
(開くブックには極力マクロを組み込みたくないのです)

Sleep(Long)関数を Declareして、
標準モジュールの『Auto_Open』の始めの方で2分くらい止めてみたんですが、
Application.Workbooks.Countは 0でした。。

ちなみに、開くブックにVBAマクロを書き、
Sub Auto_Open()
Debug.Print Application.Workbooks.Count
End Sub
とすると、無事カウントを取れました。


なんとなくですが、
マクロが開くブックに組み込まれてないとだめっぽいですね。
初回の説明が足らずにすみません。。
333名無しさん@そうだ選挙にいこう:2005/09/12(月) 16:45:50
>>332
アドインはブックとしてカウントされないし
アドインの組み込みはブックが開く前に行われる。
そしてアドインのAuto_Openはアドイン組み込み時に実行される。
具体的に何がやりたいのかは知らないけど、結果としては至極当然の物だと思うけど。

例えば何らかのブックを開いたときに、開いてるブック数を返したいのだとしらた
フックを使わないと無理じゃないかな?
何かブックを開いたって、アドイン側のイベントは何も実行されないんだからさ。

ブック側にマクロ書けるなら、ブックからOpen時にアドインのプロシージャを呼ぶことは出来るし
Open時以外のイベントを共有したいなら、たぶんクラスで出来るけど、
とにかくフックなどを使わない限り、ブックを開いた際に実行されるイベントはそのブック内の物のみでしょ。
334名無しさん@そうだ選挙にいこう:2005/09/12(月) 18:11:09
RANDBETWEEN使ってスロットみたいなの作ったんですけど
ボタン押して表示がバーーーって動いてもう一回押すとそれが止まるってやりたいんですけど
動作開始→停止ってマクロをくむにはどうすればいいんですかね?
335名無しさん@そうだ選挙にいこう:2005/09/12(月) 18:27:25
Excelのマクロについて教えてください。
乱数をただ四捨五入して表示するだけのことをやっているのですが、
a=rnd
msgbox(CSTR(a)+Chr(13)+CSTR(round(2*a)))
とやっているのに、forで何度か回して確認すると0.66などが0と表示されてしまいます。

これはなぜなのでしょうか?
よい四捨五入のやりかたを教えてください。
336名無しさん@そうだ選挙にいこう:2005/09/12(月) 18:43:03
>>334
モジュールレベルで宣言したブール型変数をスイッチにすればいい
dim スイッチ as Boolean

sub ボタン
 スイッチ = not スイッチ
 if スイッチ then call 処理
end sub

sub 処理
 do while スイッチ
  処理内容
 loop
end sub

>>335
roundで普通に四捨五入出来るけど。
ただちょっと仕様が特殊だけどね
0.66 → 1
0.49 → 0
0.5 → 0
0.51 → 1
1.5 → 2
「.5」の場合、一番近い偶数に丸めるのが仕様みたい。
0.5、2.5、4.5・・・なら切り捨て、1.5、3.5、5.5なら切り上げって感じで。
因みに正数への四捨五入ならclngでも出来るし、0.5を加算してintで出してもいい。
337名無しさん@そうだ選挙にいこう:2005/09/12(月) 18:58:22
今EXCELの表作りで困ってます。
【c:】
 └『あああ』フォルダ
    ├『 7月 』フォルダ
    |   └ [data.xls]
    ├『 8月 』フォルダ
    |  └ [data.xls]
    ├『 9月 』フォルダ
    |  └ [data.xls]
     └ [表.xls]

上のような感じで[表.xls]という罫線だけの空のファイルを準備し、
『 7月 』、『 8月 』、『 9月 』というフォルダに
[data.xls]というデータが入ったファイルを準備しておくとします。

やりたいことは、[表.xls]のSheet1のB2に
『 7月 』〜『 9月 』の[data.xls]のSheet1のB2を入れ替えで表示したいのですが、

例えば[表.xls]のSheet1のA1に
『 7月 』と入力したら『 7月 』の[data.xls]のSheet1のB2をとってくる
『 8月 』と入力したら『 8月 』の[data.xls]のSheet1のB2をとってくる
とすることはできますか?

下の式の●●●の部分にA1と入力してもできません・・・。
 ='C:\あああ\●●●\[data.xls]Sheet1'!$B$2

よい方法があれば教えてくださいm(__)m
338名無しさん@そうだ選挙にいこう:2005/09/12(月) 19:03:20
>>337
> ★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)
>  ▼数式・関数
>   ・ セルの値でパスを補完して、開いてないブックのセルを参照する (VBA)

解決策は>>308

つーか最近Excelのバージョンすら書かない奴が多いな
> ★質問テンプレは必須じゃないけど、OSやExcelのバージョンやVBAの可否などの情報は必須。
だよ。
339337:2005/09/12(月) 19:11:52
>>338
すみません・・・
最初書いてたのですが
改行が多すぎたので削ってしまいました。

Excel.Application
ExecuteExcel4Macro   (・∀・)?

難しそうですね(笑

その文字列をもとにがんばってみます。
ヒントありがd。
340名無しさん@そうだ選挙にいこう:2005/09/12(月) 20:22:09
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】可
【5 検索キーワード     】 Excel ハイパーリンク 並び替え

オートフィルを使ってハイパーリンクのかかっているセルをコピーし、
並び替えを行ったんですが、セル自体にハイパーリンクが設定されてしまいます。
どのようにすれば、ハイパーリンクを文字ごと並び替えることができますか?
341名無しさん@そうだ選挙にいこう:2005/09/12(月) 22:12:05
>>332
>あ、自動実行したいマクロがアドイン(*.xla)で、
>開くブックと別れていた場合はどうなりますか・・・?
>(開くブックには極力マクロを組み込みたくないのです)

何をしたいのか不明ですがもしかしたらこんなソフトが役に立つかも。

どれでもマクロ
関連付け設定により「マクロ無しブック」からマクロを実行可能にしマクロとデータの分離を支援
http://www.vector.co.jp/soft/win95/business/se366323.html
342340:2005/09/12(月) 23:03:35
自己解決しました。
[XL2002] ハイパーリンクの設定が並べ替えを行うと変更される
http://support.microsoft.com/default.aspx?scid=kb;ja;410238
343名無しさん@そうだ選挙にいこう:2005/09/13(火) 00:05:30
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】可
【5 検索キーワード     】 Excel ファイル名

あるフォルダを指定して、フォルダ内のファイル名一覧をSheet上に書き込みたいのですが
ファイル名の取得はどのようにすれば良いのでしょうか?
344名無しさん@そうだ選挙にいこう:2005/09/13(火) 00:21:50
345296:2005/09/13(火) 01:45:53
どなた様か >>296 のご回答をお願いします…。

346名無しさん@そうだ選挙にいこう:2005/09/13(火) 01:48:05
winXP、excel2003使用です。
教えて頂けますか?
行毎に書き込んでは、必要なくなった行を削除していきます。
その表の一番左の列には通し番号をつけたいのですが、一行まるまる削除すると、通し番号ではなくなります。
そこで常に左の一列には通し番号入れるにはどうしたらよいですか?
簡単な質問でごめんなさい。
347名無しさん@そうだ選挙にいこう:2005/09/13(火) 02:10:44
>>345
質問の意味が分からない。
普通にできると思うよ
348名無しさん@そうだ選挙にいこう:2005/09/13(火) 03:06:18
ピポットテーブルで集計したデータを値の大きい順などに自動で並び替えることは可能ですか?
349名無しさん@そうだ選挙にいこう:2005/09/13(火) 03:36:45
>>345
保護をしたいセルにロック設定するのではなくて、
保護をしたくないセルのロックを解除した後に、シート全体を保護する。
要領を得ないって、この事かな?

>>346
=ROW() で行番号が返される。
350296:2005/09/13(火) 09:14:36
>>349
それだけですと、セルの値をDelキーで削除すると、そのセルの計算式も一緒に
消えてしまいまわないですか?
Delで消えるのは入力値だけにしたいのですが…。
351名無しさん@そうだ選挙にいこう:2005/09/13(火) 09:25:32
>>350
Excelの基本的なところを理解してないようだね。
数式で表示してる値は、計算や参照の元になる値を消さなければならない
例えば
   A    B    C
1  10   20   =A1+B1

の場合、C1の値を0に戻すにはA1とB1の値を消す必要がある。
「入力値だけ消したい」と言ってるけど、数式を入れたセルに表示されてるのは
「入力値」ではなく、「数式結果」ですから。
上記の例の場合、C1に30と表示されますが、C1あるのは数式だけで、C1に値はありません。
計算結果を表示してるセルを直接消去しても、次にきちんと計算されるようにするにはVBA使うしかないですね。
352296:2005/09/13(火) 09:57:24
>>351
ご回答ありがとうございます。

値、というのに語弊があったようです。この場合例のC1の数式結果ですね。
「計算結果を表示してるセルを直接消去」なので、ご指摘の通りVBA等で再計算させる必要があるようです。

自分の管理の届きにくい、自分よりもさらにスキルの低い人達に投げるシートなので、
直感的に入力作業しやすいようにしたかったのですが…。

   A    B    C     D     E
1  10   =A1+B1 =B1+C1 =C1+D1 …
2  …

このような感じの入力表になっているので、知らない人からすれば最終的な計算結果のセルではなく
途中の計算式も消してしまいやすいもので。
ナップザック問題のように試行錯誤しながら入力するものなので、あくまで数式のみを
保護したかったのですが、自分のスキルでは無理のようです。ありがとうございました。
353330、332:2005/09/13(火) 10:31:09
>333
> アドインはブックとしてカウントされないし
> アドインの組み込みはブックが開く前に行われる。
遅レスすません。
そう、そこがポイントなのかなぁと調べてたら、

Application.ThisWorkbook.IsAddin = False
でアドインをワークシートにできるそうで。
処理をしたあと、

Application.ThisWorkbook.IsAddin = True
でアドインに戻せばOK。
ただ、これだとExcelを閉じるときアドインに対して『保存しますか?』
って聞かれちゃったり、アドインのブックが開いたりするので、
その他の設定も必要とのこと、下記のページの内容を参考にしました。

tp://www.h3.dion.ne.jp/~sakatsu/Excel_Tips11.htm
(ちなみにやりたかったことはまさにこのページに書いてあることで、
 アドイン関数の説明を『関数の貼り付け』ダイアログに表示したかったの)
どうもありがとうございました。

>341
遅レスすません。
面白そうなソフトですね、どうもありがとうございました。
設定がちと大変かな。


そういえば、
シート名を取得するワークシート関数って標準では無いですよね、
自作が一番手っ取り早いんかなぁ。
354名無しさん@そうだ選挙にいこう:2005/09/13(火) 10:44:15
シート名を返すワークシート関数は無いけど、
シート名を返す数式はある>>9
ま、ちょっと長いのでユーザー定義関数でやっちゃってもいいけどさ。

Function SheetName() As String
 SheetName = Application.Caller.Worksheet.Name
End Function

=SheetName()
355winXP/excel2003:2005/09/13(火) 11:29:48
宜しくお願いします。

ある列のセルを、A社、B社、CD・・・・Z社というふうに埋めていきたいのですが、
アルファベットの部分を、オートフィル機能を使って処理できないでしょうか?
356名無しさん@そうだ選挙にいこう:2005/09/13(火) 11:47:20
よろしくお願いします。

【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 グラフ マクロ 書式

1つのワークシート内の複数のグラフの書式(プロットエリアの色やサイズ)などを
一括で変更する方法が知りたいです。
グラフの数が多いので一つ一つ書式を変えていくのがとても時間がかかります。

グラフの書式のデフォルトを変更するという手も考えたのですが、
結局やり方がわかりません。
357名無しさん@そうだ選挙にいこう:2005/09/13(火) 12:41:45
>>355
アルファベットはオートフィルに登録されてません
頻繁に使うなら自分で登録しましょう。(ツール > オプション > ユーザー設定リスト)

>>356
それだけの情報ではグラフオブジェクトをコレクションにとってループ回せとしか言えないな。
書式の何をどういう風に変えたいのか具体的に書こう。
358353:2005/09/13(火) 13:28:42
>354
ありがとうございます。
おっと、既出でしたすません、数式確かに長いですね(笑)

で、そのままコピペしたら『#VALUE!』エラーになったので
ちょっとドキドキしたら、
なんてことなくてブックを保存してなかったからでした。

おかげさまで眠気が半減しました〜
359名無しさん@そうだ選挙にいこう:2005/09/13(火) 13:32:07
>>352
・A列に入力する。
・B〜D列は計算で表示。計算式を削除されないようにしたい。
というのであれば、A列のロックを解除して、シートを保護。
360名無しさん@そうだ選挙にいこう:2005/09/13(火) 15:39:39
>>352
言いたいことがよくわからないなあ。
例も循環参照してるし・・・

例えば、計算式だと0が表示されるのが気に入らないのかな?
とりあえず関数の計算結果を if で切り分けたら?
361名無しさん@そうだ選挙にいこう:2005/09/13(火) 17:00:08
折り返して全体を表示の時に改行することはできますか。

例えばABCDEFを

AB



DEF

と1つのセル中で表示したい
362名無しさん@そうだ選挙にいこう:2005/09/13(火) 17:04:28
意味のない改行やめれ
363名無しさん@そうだ選挙にいこう:2005/09/13(火) 17:05:14











364名無しさん@そうだ選挙にいこう:2005/09/13(火) 17:06:54
>>361
最近バージョンも書かない馬鹿な質問者が増えたとは思いませんか?
365361:2005/09/13(火) 17:09:28
答える気がない方のレスはいりません。
366名無しさん@そうだ選挙にいこう:2005/09/13(火) 17:25:38
>>365
テンプレにちゃんと答えがあるのに、それすら試してみようとも
しない人の質問もどうかと思います。
367名無しさん@そうだ選挙にいこう:2005/09/13(火) 17:42:45
失礼します。画像の白部分等の背景を透明にして エクセルに挿入するには
どうすれば良いのでしょうか? よろしくお願いします。
368名無しさん@そうだ選挙にいこう:2005/09/13(火) 17:55:17
>>365
ほんとに本人?
煽られるのは質問の仕方が悪いからですよ
369325:2005/09/13(火) 17:58:16
>>329
ありがとうございます!3箇所分のデータをグラフエリアにコピペしたらできました。

また問題が発生してしましました。
このグラフ、項目名を設定しようとすると
=セル番地でも、直接入力でも「数式が正しくありません」と出てしまいます。
原因がわかる方ご教授願います…
370名無しさん@そうだ選挙にいこう:2005/09/13(火) 18:11:24
>>367
背景を透明にできる形式(gif,png)でフォトショップとか使って背景を透明にしてから、
挿入-図-「ファイルから」で挿入します。
んで、図を右クリックして図の書式設定から塗りつぶしを無しに。
371名無しさん@そうだ選挙にいこう:2005/09/13(火) 18:29:00
Excel 2002で質問です

ひとつのセルの中に254文字以上ふくまれていると、
セル表示が"############"になってしまいますが、
この"###########"をやめて、普通に表示する方法はありますか?

372361:2005/09/13(火) 18:35:11
>>368
回答以外のレスはしないで貰えますか?
373名無しさん@そうだ選挙にいこう:2005/09/13(火) 18:41:31
>>372
で。>>366は無視ですか?
あなたの欲しがっている回答は、とっくの昔にスレの頭に
載っているんですけどね。
374361:2005/09/13(火) 18:43:16
答えるスキルのない方のレスはいりません。
読みづらくなるので書き込みは控えて貰えますか?
375名無しさん@そうだ選挙にいこう:2005/09/13(火) 18:45:32
あ。こりゃ別人だなw
376名無しさん@そうだ選挙にいこう:2005/09/13(火) 18:46:41
>>375
お前は賢い
377名無しさん@そうだ選挙にいこう:2005/09/13(火) 21:44:02
そろそろ煽りは無視しませんか?このスレにあらしが来るのは珍しいですけどね。

本物の質問者は、もう答えは理解したでしょうし。
378名無しさん@そうだ選挙にいこう:2005/09/13(火) 23:30:06
WindowsXP Excel2003 です。
初心者本など見て調べたのですが、わからなくって…教えてください!
  A B  C
1 123 456 B1/A1
2  0 789 #エラー1
3 123 0 #エラー2

C列にC1の様に比率出したいです。
A、Bいずれかに0がきたら、#エラー1,2を"-"で表記したいのですが、どうしたらよいか何方か教えてくださいませんか?
379名無しさん@そうだ選挙にいこう:2005/09/13(火) 23:35:56
c1に
=IF(OR(A1=0,B1=0),"-",B1/A1

ところで、private sub combobox○○_change()
の○○の数字を変数使って纏めて記述する事って可能ですか?
380名無しさん@そうだ選挙にいこう:2005/09/13(火) 23:36:29
>>378
IF関数
381名無しさん@そうだ選挙にいこう:2005/09/13(火) 23:41:40
>>379
変数使って書くのは無理だけど
複数のコントロールのイベントをまとめる方法は
前スレにhoge氏が書いたサンプルがある

つか最近hoge氏来ないなぁ
382名無しさん@そうだ選挙にいこう:2005/09/13(火) 23:48:15
>>381
サンクスコ。
少し参考になった希ガス。
383名無しさん@そうだ選挙にいこう:2005/09/14(水) 00:05:01
378です。
379さん、380さんありがとうございます。
IFとORで解決しました、ありがとうございます!
まだ、関数を組み合わせて計算式作るまでの能力なくて。
…と、早速フォーマット作っていた矢先、更にエラーがでました!
それは、AもBも0だった場合がでてきて、この場合も"-"にしたいのです…。
度々すみませんが、教えてください。
384名無しさん@そうだ選挙にいこう:2005/09/14(水) 00:53:47
>>383
OR使えば、両方0でも"-"になるけど。
ただ、>>379の式は最後の括弧閉じを忘れてるね。
385名無しさん@そうだ選挙にいこう:2005/09/14(水) 00:54:19
>>383
OR使えば、両方0でも"-"になるけど。
ただ、>>379の式は最後の括弧閉じを忘れてるね。
386名無しさん@そうだ選挙にいこう:2005/09/14(水) 02:19:19
>>384
スンマソ・・・

結局、前スレ530を参考にしました。


マルチページ上のコンボボックスのname(というか最後の連番が欲しい)をActineControl.nameで取得したいんだけど、
Active.Controlがcomboboxじゃないで、multipageを認識してるよ・・・
何か解決方法ありますかねぇ?
387名無しさん@そうだ選挙にいこう:2005/09/14(水) 02:33:21
>>386
その件も同じ事(multipageではなくframeだったら)の解決法が前スレで書かれてる
530以降を追ってみな
388名無しさん@そうだ選挙にいこう:2005/09/14(水) 14:14:02
マクロくんで立米の単位書くと?になっちゃうんだけど
なんかいい方法ない?
389名無しさん@そうだ選挙にいこう:2005/09/14(水) 14:22:52
>>388
マクロ晒せよアフォ
390名無しさん@そうだ選挙にいこう:2005/09/14(水) 14:30:42
>>388
エディタ内ならムリかもな
391名無しさん@そうだ選挙にいこう:2005/09/14(水) 15:20:05
>>388
文字コードで指定
392名無しさん@そうだ選挙にいこう:2005/09/14(水) 15:27:40
>>389
あんた無茶言うなよ( ^▽^)
393367:2005/09/14(水) 17:39:22
>>370
うまくいきました ありがとうございます とても助かりました。
394325:2005/09/14(水) 18:03:53
>>325>>369です。自己解決しました。ありがとうございました。

すべての含めたいデータを「元のデータ」からではなく、
データの入っていないグラフのグラフエリアにコピペしたら
項目名も12か月分のデータも綺麗に入りました。
395名無しさん@そうだ選挙にいこう:2005/09/14(水) 21:53:37
エクセルのデータをCDに保存出来ないんですが、どうやって保存するのでしょうか?読み取り専用と出たりファクションが間違っていると出ます。ファクションすらわかりません
396名無しさん@そうだ選挙にいこう:2005/09/14(水) 22:05:34
>>395
すれ違い
PC初心者系に行きなさい
397名無しさん@そうだ選挙にいこう:2005/09/14(水) 22:09:35
単にデータとしてCD-R/RWに書き込む時点で問題が出てるなら
書き込みソフトやCDメディアの問題

一度書き込んだデータを上書き保存しようとしてるなら、
CD-Rならもちろんのこと、CD-RWでも上書き保存は不可能。(パケつかえばたぶん出来るけど

リムーバブルメディア上に置いたExcelブックを編集して再度保存したいなら
フラッシュメモリ、DVD-RAM、MO、FDDとかを使え。
398名無しさん@そうだ選挙にいこう:2005/09/14(水) 22:19:24
ありがとうございました。頑張ってみます
399名無しさん@そうだ選挙にいこう:2005/09/14(水) 22:20:55
エクセルでのまネコ問題解決したいんですがどうやったらいいんですか?
400名無しさん@そうだ選挙にいこう:2005/09/15(木) 00:44:03
【1 OSの種類         .】 WindowsXP SP2
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 オートシェイプ ノード マクロ

VBAで、ワークシート上に書いたオートシェイプ「曲線」のノード(端点、編曲点)の
総数を求めたいのですが、関数はありますでしょうか?
401XP/excel2003:2005/09/15(木) 07:26:56
たとえば、5ではなく5.0と表示させるため、小数点桁上げの機能をつかうと
通常より左寄りになってしまうのですが、その後、右揃えの機能を使っても、
やや左よりの状態が直りません。どうすればよいでしょうか?
402名無しさん@そうだ選挙にいこう:2005/09/15(木) 07:56:04
表示形式分類の「数値」は
0.00_
という書式だからね。
ユーザー定義で後ろの _ を入れない定義式を書けば
通常の右寄せのようになるよ。
403名無しさん@そうだ選挙にいこう:2005/09/15(木) 08:47:47
>>401-402
セルの書式→表示形式 : 通貨、¥マークなし
404名無しさん@そうだ選挙にいこう:2005/09/15(木) 09:16:29
>>403
をいをいw
405401:2005/09/15(木) 09:44:38
いつも丁寧な御回答ありがとうございます。助かりました。
406名無しさん@そうだ選挙にいこう:2005/09/15(木) 10:06:09
>>403
ヒント:桁区切り
407名無しさん@そうだ選挙にいこう:2005/09/15(木) 10:17:22
グラフの種類で、

    する            しない

|||||||||||||||||||||||||||||| '99 ||||||||||||||||||||||||||||||||||
    ||||||||||||||||||| '00 ||||||||||||
        |||||||| '01 ||||||||||||||||||

のような左右に伸びるグラフ(なんと呼ぶのか解らない)、
エクセルであらわすことはできるんでしょうか。
選択できる種類の中には無かったし…
408名無しさん@そうだ選挙にいこう:2005/09/15(木) 13:12:44
シートの名前をそのシートのセルA1の値にしたいのですが・・・
マクロ・VBAいろいろ試行錯誤したのですができなくて・・・。

シートの名前を任意のセルの値(文字)にすることは不可能なのでしょうか?
409名無しさん@そうだ選挙にいこう:2005/09/15(木) 13:47:21
テキストボックスのような四角の枠の中に
シート上の表示をリンクさせているファイルが
あったのですが、どうやったらできるの?

シートの該当箇所を変えると同じくテキストボックス
も変わります。
410名無しさん@そうだ選挙にいこう:2005/09/15(木) 14:05:53
>>408
不可能じゃないよ

>>409
具体的にどうぞ

それと
> ▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
> ★質問テンプレは必須じゃないけど、OSやExcelのバージョンやVBAの可否などの情報は必須。
なのでよろしく。
411名無しさん@そうだ選挙にいこう:2005/09/15(木) 14:14:55
407-490
テンプレ読んでから質問してくれ
412名無しさん@そうだ選挙にいこう:2005/09/15(木) 16:51:59
VBAについて Ver.4.0
http://pc8.2ch.net/test/read.cgi/tech/1105108229/909-


909 名前:デフォルトの名無しさん[] 投稿日:2005/09/15(木) 13:22:54
ワークシートの名前をそのシート内の某セルにするのができません。
無理なんでしょうかね?

921 名前:デフォルトの名無しさん[] 投稿日:2005/09/15(木) 14:50:29
>>920
いちいちチェックするなよw
向こうに書いて後でこっちに気づいたからココに書いたんだよ!

(ry

それはいいとしてセルA1とセルA2を別セル例えばA3に=A1&A2で合体させて

Worksheets("Sheet2").Name = Worksheets("Sheet1").Range("A3").Value
とすればいいのかな?

もう昨日の昼からいろいろやってとてつもない時間使ってるよ・・・

923 名前:デフォルトの名無しさん[] 投稿日:2005/09/15(木) 14:57:46
>>922
工エエェェ(´д`)ェェエエ工

最初に書いたスレで質問を取り下げるの???

誰が決めたの?
暇人じゃないんだから
413名無しさん@そうだ選挙にいこう:2005/09/15(木) 18:41:56
OS種             WINDOWS XP
EXCELのヴァージョン   EXCEL2003
VBA              やろうと思えば出来るかもしれません。yes/noハッキリ汁!!というのであればno
VBAでの回答        困ります。全文コピペして使えるのであればVBAでの回答でも良いです。
検索に使ったキーワード   単語を含む 条件書式

各々「A」という単語「B」という単語が含まれるセルに対しての条件付き書式です。
「なになになA」とか「すっとこBっこい」とかでは条件書式担当の方が構ってくれないので、
各、単語が含まれていれば、しつこいぐらいに構ってくれる条件付き書式さんが欲しいです。
414名無しさん@そうだ選挙にいこう:2005/09/15(木) 18:45:46
>>413
真面目に回答して欲しいなら
真面目に質問したほうが良いですよ。

正直言って質問が良く分かりません。
415名無しさん@そうだ選挙にいこう:2005/09/15(木) 18:57:05
>>413
>やろうと思えば出来るかもしれません。yes/noハッキリ汁!!というのであればno
テンプレ理解してないのか?

>VBAでの回答「でも」
質問者の態度じゃないね

質問も意味不明だし
もっと質問の仕方を学んでからきてくれ
416名無しさん@そうだ選挙にいこう:2005/09/15(木) 19:05:10
自己解決しました。スキルのない回答者さん乙w
417名無しさん@そうだ選挙にいこう:2005/09/15(木) 19:17:31
エクセルでセルのデータを変えて保存した時に
最終更新日時を表示させたいんだけど・・・やり方分かります?
418WinXP/excel2003:2005/09/15(木) 20:16:12
エクセルで作った表を、別の場所にコピーすると、コピー先の表のセルの中が0ばかりになります。
コピー元の表のセルには、数式を組んで出した数字が表示されてるのですが。

元の表を、そのままセルに表示されてる数字ごと丸ごとコピーできないでしょうか?
419名無しさん@そうだ選挙にいこう:2005/09/15(木) 20:17:44
形式を指定して貼り付け→値
420名無しさん@そうだ選挙にいこう:2005/09/15(木) 20:52:07
小数点を含んだ数値の表示桁数を下げると
勝手に四捨五入されるんだけどこれを小数点以下切り捨てにするにはどうすればいの?
エクセル97だから検索しても出てこなくて……。
421名無しさん@そうだ選挙にいこう:2005/09/15(木) 20:56:07
int関数
422名無しさん@そうだ選挙にいこう:2005/09/15(木) 22:24:03
>>407
1.真ん中から左側に伸びる系列(例なら「する」の方)について、
 値を正負反転させた系列を作る。
2.右側に伸びる系列(「しない」の方)と1.で作った系列で
 横棒グラフを作成。
3.データシートとかラベルとかで値が必要なら、表示形式で-符号を消す。

わかんない言葉はヘルプ見て。
423名無しさん@そうだ選挙にいこう:2005/09/15(木) 23:59:20
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否


EXCELの簡単な関数の使い方を教えてください。

A4のセルに入ってる値を他のセルに表示させたい場合は =A4 と入れればOKですよね。

ここで、 とあるセル、例えばZ5というセルに4という数字が入っているとします。
このZ5のセルの値の4を利用して =A4 と同じ意味になるようにしたいのです。

もし、そのZ5の値が8でしたら、 =A8と同じになり、
16でしたら =A16 と同じ意味になるような感じです。

どなたかお願いします
424名無しさん@そうだ選挙にいこう:2005/09/16(金) 00:00:10
>>423
>>8は?
425名無しさん@そうだ選挙にいこう:2005/09/16(金) 00:04:38
うわ、めっちゃはずかしい。
ありがとうございます。 >>424
426名無しさん@そうだ選挙にいこう:2005/09/16(金) 00:58:17
WindowsXP EXEL2003
VBAは基本的なことしかわからんす。
VBAの回答をお願いします。

条件付書式が3つまでなのですが、
これを20種類以上の条件により塗りつぶしの色を変更させていきたいのです。
そのためVBAのプログラムを教えてください。

A1からC5まで15種類のセルがあったとして、
そのセルの文字が
あ なら赤、
い なら青、
う なら黄、
え なら緑、
お なら茶、
その他 なら 灰色
となるようにしたいです。
実際に使用するのは48*30セルで、20ほど条件があります・・・。
427hoge ◆hoge//WRxY :2005/09/16(金) 01:34:38
>>426
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Row <= 5 And Target.Column <= 3 Then
  Dim Rng As Range
  For Each Rng In Target
   Select Case Rng.Value
    Case "あ"
     Rng.Interior.ColorIndex = 3
    Case "い"
     Rng.Interior.ColorIndex = 5
    Case "う"
     Rng.Interior.ColorIndex = 6
     :
    Case Else
     Rng.Interior.ColorIndex = 48
   End Select
  Next
 End If
End Sub

ColorIndexの値と色の対応はググれば一覧を置いてるサイトも有りますし
For i = 1 To 56
 Cells(i, 1).Interior.ColorIndex = i
Next i
などで簡単に調べることが出来ます。
上記コードを実行した場合、「行番号 = ColorIndex」 になります
あと、1〜56の色の他に「色無し(xlNone = -4142 )」があります。(一応0も使えますけど
428418:2005/09/16(金) 06:11:46
>>419 出来ました。ありがとうございます。
429名無しさん@そうだ選挙にいこう:2005/09/16(金) 09:30:40
おはようございます。
教えていただきたいのですが。

エクセルのファイルを開くと、一番上の列
(ファイル・表示・@@@・@@@)や、
文字のポイントのプルダウンなど、何も出なくなり、
ただの表だけが出ます。
同時に右クリックも反応しなくなりました。
(「切り取り」・「コピー」・「貼り付け」などが出てこない)
(左)クリックはできます。エクセルへの入力はできます。

あと、エクセル以外のところでの右クリックはできています。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 2000 (←たぶん)今確認できません
【3 VBAが使えるか    .】 わかりません
【4 VBAでの回答の可否】 否
原因はどのようなことが考えられるのでしょうか。
再起動は10回ためしました。
対処方法がお分かりのかた、どうか助けてください。お願いします。
430名無しさん@そうだ選挙にいこう:2005/09/16(金) 09:45:10
>>429
おはようございます。
さようなら。

> ▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
> ・ バグ・動作上の不都合などはマイクロソフトのサポートを受けましょう。ここは技術的な質問のみで。
431名無しさん@そうだ選挙にいこう:2005/09/16(金) 10:10:02
テンプレ読まないバカが多いな・・・
書き込む前に読んでから質問してほしい・・
432名無しさん@そうだ選挙にいこう:2005/09/16(金) 10:24:00
バカだからテンプレ読まないのであって、改善は難しいと思われます
433名無しさん@そうだ選挙にいこう:2005/09/16(金) 11:03:35
答える馬鹿が一番の馬鹿だな
そんなんだから調子にのるんだよ
434名無しさん@そうだ選挙にいこう:2005/09/16(金) 12:23:54
この議論何度目だ?w
435名無しさん@そうだ選挙にいこう:2005/09/16(金) 17:10:31
dawnload板に初めて行ったんだけど、質問用テンプレに

【テンプレサイトを読んだか?】<---こんなのがあった( ^Д^)

やっぱ質問慣れしてるなあ
436名無しさん@そうだ選挙にいこう:2005/09/16(金) 17:26:53
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 セルの値 他のセルに表示

  A  /  B  /  C  /  D  /  E
1    /     /     / H17.5.1 /  東北 
2    /     /     / H17.5.2 /  中部
3  四国 /     /     / H17.5.3 /  四国
4    /     /     / H17.5.4 /  関東
5    /     /     / H17.5.5 /  関東
6    /     /     / H17.5.7 /  関西
7    /     /     / H17.5.8 /  関東
8  四国 /     /     / H17.5.9 /  四国

上のように、特定の言葉のみを紡ぎだし、そのセル内の値を他のセルに表示させたいですがどのようにすればいいですか?
今までは、手動でやっていたのですが行が数百にもなってきているので「なんとか出来れば…」
と思い質問しました。宜しくお願いします。
437名無しさん@そうだ選挙にいこう:2005/09/16(金) 17:47:11
438名無しさん@そうだ選挙にいこう:2005/09/16(金) 17:55:30
>>437
なぁるほど!!ありがとうございました。
if!!!ありがとうございます。
439名無しさん@そうだ選挙にいこう:2005/09/16(金) 18:24:00
>>437
すいません。
=IF(G846=四国,"四国")
としたら、#NAME?と表示されました。
これは 「 G846が四国ならば、四国と返す 」 という意味ですよね。
俺が悪いのでしょうか?
440名無しさん@そうだ選挙にいこう:2005/09/16(金) 18:33:25
> これは 「 G846が四国ならば、四国と返す 」 という意味ですよね。
いいえ。
「G846セルの内容と四国という名前を付けたセルの内容が同じなら四国と返す」
という意味です。四国という名前を付けたセルが定義されてなければ
「四国という名前のセルは無い = #NAME?」となる。

> 俺が悪いのでしょうか?
そう、おまえが悪い。
「G846が四国ならば」は「G846="四国"」となる。
441名無しさん@そうだ選挙にいこう:2005/09/16(金) 18:36:11
>>439
君が悪いのではなく君の頭が悪い
442名無しさん@そうだ選挙にいこう:2005/09/16(金) 18:44:19
>>439
追加。
IF関数の最後の引数は省略してもいいけど、 四国 以外は全部FALSEになっちゃうよ。
何か引数を指定したほうがいいんじゃない?
一度ヘルプ読んでみてね。

>>440
答え方は人それぞれだからしょうがないけど、なんか感じ悪いよ。

>>441
そんなつまらん煽りレスいれてる君もかなり頭悪そうだね。
オレモナー
443名無しさん@そうだ選挙にいこう:2005/09/16(金) 18:53:46
>>440
>>441
>>442
ご丁寧にありがとうございます。お陰様でやりたいように出来ました。
444名無しさん@そうだ選挙にいこう:2005/09/16(金) 18:59:02
445名無しさん@そうだ選挙にいこう:2005/09/16(金) 19:02:53
答えの受け取り方は人それぞれだな。
俺は>>440を読んで(良い意味で)マニュアル的だと思った。
8行目は笑うところだ。ちゃんと答えてるし。

クマー
446名無しさん@そうだ選挙にいこう:2005/09/16(金) 19:03:54
ひどい質問者だな・・・
こんなんばっかりなの?
447名無しさん@そうだ選挙にいこう:2005/09/16(金) 21:31:08
テンプレ読んで、ルールさえ守っていれば良いじゃないですか。
気楽に行きましょうよ♪
448名無しさん@そうだ選挙にいこう:2005/09/17(土) 00:16:08
vba可です。

スピンボタンでMaxとMinをそれぞれ10,-10と設定したのですが。
下げる方に押していくと負の値じゃなくて、逆側(?)の65535になってしまいます。
他にも設定しなければいけない項目があるのでしょうか?
449名無しさん@そうだ選挙にいこう:2005/09/17(土) 00:17:20
スピンボタンって何?
450名無しさん@そうだ選挙に行こう:2005/09/17(土) 00:32:34
質問です。見出しを固定するウィンドウ枠の固定の状態で
印刷することはできるのでしょうか。
できないなら、ページ設定のシートタブで行のタイトルを指定する方法くらいしか
ないのでしょうか。
451名無しさん@そうだ選挙にいこう:2005/09/17(土) 00:36:50
>>448
Excelにスピンボタンは最低でも
コントロールツール、フォームツール、ユーザーフォームコントロール
の3種類あるんだがどれよ?

というか、ユーザーフォーム、コントロールツールでは-10〜10の設定で正常に動作してる

>>450
できない
それしかない
452448:2005/09/17(土) 00:45:08
う〜ん、なんでだろ・・・。
453名無しさん@そうだ選挙にいこう:2005/09/17(土) 06:27:40
>>452
スピンボタンって何?
スピンボタンって何?
スピンボタンって何?
454名無しさん@そうだ選挙にいこう:2005/09/17(土) 23:07:15
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 学び始めの初心者です
【4 VBAでの回答の可否】可

0000        0000
0000        0000
0400        3456
0450  これを  3456
3456        3456
3456        3456
3456

のように4を基準として上方向にそろえるようなプログラム
を作りたいのですが、どのようにすればよいのでしょうか?
文字列を使ったりと色々と行ったのですがうまくいきません。
宜しくお願いします。
455名無しさん@そうだ選挙にいこう:2005/09/17(土) 23:15:38
上方向に揃えるってどういう意味?
456454:2005/09/17(土) 23:23:03
>>455
上の例で言いますと4はそのままで3と5と6を
4の高さまで一気に上に上げたいんです。
上のほうから0を消して4にそろえたいです。
逆に分かりにくいですかね?説明下手ですいません
457名無しさん@そうだ選挙にいこう:2005/09/17(土) 23:35:35
意味がわからない
458名無しさん@そうだ選挙にいこう:2005/09/17(土) 23:37:35
条件が曖昧すぎ

その数字は文字列として1セルに4桁入ってるの?
1セルに1文字なの?

0044444が
004444にと、4がひとつ減ってるけど、これはどういう規則で減ってるの?

0000333の0を詰めたとき、333が3333にと、3がひとつ増えてるけど、
これはどういう規則で増えてるの?

000330033のように途中にも0が有る場合はどうするの?

そもそも1桁目は0と6のみ、2桁目は0と5のみと、数字は固定されてるの?
桁数は固定されてるの?

Excelが理解できるように説明できない(VBAコードが書けない)のは仕方ないとしても
最低限、あなたのやろうとしている処理に対する予備知識のない人間が理解できるように
説明出来ないと話にならないよ。
あなたはこの件に関して予備知識があるから、説明せずとも脳内補完できるけど
俺等は何をやりたいのか全く知らないんだから。

「説明下手ですいません」じゃなくてさ、最低限やろうとしてることの説明がきちんと出来ないと
他人から回答を得ることは不可能だよ。
459454:2005/09/17(土) 23:38:55
>>457
そうですか…すいません
460454:2005/09/17(土) 23:49:03
>>458
ありがとうございます。
曖昧な説明すいません

>その数字は文字列として1セルに4桁入ってるの?
1セルに1文字なの?
→1セルに1文字です

>0044444が
004444にと、4がひとつ減ってるけど、これはどういう規則で減ってるの?
→減っているのではなく書いていないだけで下に続いています。
 すいません

>0000333の0を詰めたとき、333が3333にと、3がひとつ増えてるけど、
これはどういう規則で増えてるの?
→これも同じ意味で3が続いているということです。
 
>000330033のように途中にも0が有る場合はどうするの?
→一番上の段を揃えるだけで結構です。途中はいいです

>そもそも1桁目は0と6のみ、2桁目は0と5のみと、数字は固定されてるの?
桁数は固定されてるの?
→どちらも固定されてはいません。一番上の行にある0以外の数字にそれ以外を
 あわせるといった感じです。

461名無しさん@そうだ選挙にいこう:2005/09/17(土) 23:49:33
>>458
わざわざ長文書いて理解しようとするなんてお前さん優しいな。
462454:2005/09/17(土) 23:53:10
0000        0000
0000        0000
0400        3456
0450  これを  3456
3456        3456
3456         45
3456         4

ちょっとズレてすますが
こう書けば正しかったですね。
自分勝手な解釈で勝手に下の段を揃えて
しまいました
463名無しさん@そうだ選挙にいこう:2005/09/17(土) 23:59:17
えーと処理対象は左から二番目が4のセルだけ?
それ以外に4があった場合は例の0000と同じように上の方にまとめる?
処理対象の0を空き地みたいにとらえて下のセルの同じ桁数の数字を上に詰めていく?
つーか何のために必要なんだ?
464名無しさん@そうだ選挙にいこう:2005/09/18(日) 00:11:19
>>463
0以外の数値で一番行が上にある数値に
それ以外の数値をあわせるようにしたいです。

そもそもは時間軸を合わせてグラフを作るためなんです
いくつかグラフの元データがありまして
それをそのまま合わせてグラフを作るとグラフがバラけてしまいます
グラフを作る意味はX軸上の値の少しの範囲(時間)での
グラフの形を見たい(比較したい)んです。
ああ自分でも何書いてるかわかんなくなってきた
465名無しさん@そうだ選挙にいこう:2005/09/18(日) 00:12:38
まぁ別に俺は聞くだけ聞いて答えないダメ人間だから分からなくなってもいいけどな
466名無しさん@そうだ選挙にいこう:2005/09/18(日) 00:22:43
>>454
Dim TRow As Long, BRows As Long, ColCount As Long
Dim i As Long, j As Long

ColCount = Cells(1, 256).End(xlToLeft).Column
Do
 i = i + 1
 For j = 1 To ColCount
  If Cells(i, j).Value > 0 Then Exit Do
 Next j
Loop
TRow = i

For i = 1 To ColCount
 j = TRow
 Do
  If Cells(j, i).Value > 0 Then
   BRows = Cells(65536, i).End(xlUp).Row
   Range(Cells(TRow, i), Cells(BRows, i)).Value = _
   Range(Cells(j, i), Cells(BRows + (j - TRow), i)).Value
   Exit Do
  End If
  j = j + 1
 Loop
Next i

こんなんでどうだ?
数値は左上詰め(つまりA列が0000333、3行目が0400)を想定してる。
467454:2005/09/18(日) 00:41:14
>>466
完璧です!
ありがとうございます
分からない部分も多々あるので勉強します
マジでありがとうございます
468名無しさん@そうだ選挙にいこう:2005/09/18(日) 00:47:05
解決したか。良スレになったな
469名無しさん@そうだ選挙にいこう:2005/09/18(日) 01:14:55
ファイルを開くと自動的にマクロを実行させるにはどうすれば良いの?
470名無しさん@そうだ選挙にいこう:2005/09/18(日) 01:16:50
また釣りか
471名無しさん@そうだ選挙にいこう:2005/09/18(日) 01:34:30
>>469
Auto_Open
Workbook_Open
(Workbook_Activate)
(Workbook_WindowActivate)

ただしマクロが有効になってないと意味無いけどね。
472名無しさん@そうだ選挙にいこう:2005/09/18(日) 03:54:32
>>470
俺がマクロ勉強して一番悩んだ問題だったぞw
473名無しさん@そうだ選挙にいこう:2005/09/18(日) 04:24:14
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

回帰分析の結果を英語で出力したいのですが、
(「自由度」じゃなくて「Degree of Freedom」とかね)
英語版エクセル買わないと無理ですかね。
474名無しさん@そうだ選挙にいこう:2005/09/18(日) 04:34:00
もちろん。
Excelは翻訳ソフトではありませんから。
475名無しさん@そうだ選挙にいこう:2005/09/18(日) 04:41:30
書き換えれば良いだけでは?自動じゃ無理だけど
476名無しさん@そうだ選挙にいこう:2005/09/18(日) 04:58:39
>>474
分析結果を英語で出せるかどうかって、
翻訳ソフトかどうかという問題とは関係ないんですけどね。
>>475
今はそうしてます。それしかないみたいですね・・・。
477名無しさん@そうだ選挙にいこう:2005/09/18(日) 05:32:27
> 分析結果を英語で出せるかどうかって、
> 翻訳ソフトかどうかという問題とは関係ないんですけどね。
478名無しさん@そうだ選挙にいこう:2005/09/18(日) 06:39:08
>>476
大量にあるならVBAを使えばいい
479名無しさん@そうだ選挙にいこう:2005/09/18(日) 06:52:43
あ、グラフじゃなくて分析ツールを使うのか。
じゃあ、単純にいまやってる置換作業をマクロに登録すれば良いじゃん。
480名無しさん@そうだ選挙にいこう:2005/09/18(日) 11:51:33
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可 勉強します
sheet1からプルダウンなどで入力すれば
sheet2の各表に記録がなされる(ABCDE…の各表へ選択的に)
というものは作れますでしょうか?
481名無しさん@そうだ選挙にいこう:2005/09/18(日) 11:56:40
>>480
出来る。
入力規則のリスト(又はコンボボックス)使って、
Worksheet_Changeイベント(又はClickイベント)で
sheet2への代入処理をするがよろし。

勉強する気があるならあとはググれ。
コード欲しいならもうちょっと具体的に。
482名無しさん@そうだ選挙にいこう:2005/09/18(日) 11:57:46
>>480
漠然とし過ぎ
もっと具体的に書いて下さい
483名無しさん@そうだ選挙にいこう:2005/09/18(日) 12:26:51
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

Excel2004を使ってデータをとっています。
手順はテキストエディタなどでペーストする項目を作り、
任意の行の各列に1つ1つペーストしています。(A-1、B-1、C-1と1つ1つ)
これだと時間がかかりすぎるので(下記の『あいうえお』をペーストしても全てA-1に入力される)

例えば…

あ(A-1に入力)い(B-1に入力)う(C-1に入力)え(D-1に入力)お(E-1に入力)
とゆうのを、「あ,い,う,え,お」と分けたい項目に『,』などを入れれば1回のペーストで任意の列に飛んで入力出来るような方法はないでしょうか?
*『,』はあくまで例です。

よろしくお願いします。
484483:2005/09/18(日) 12:28:48
途中に書いてあるExcel2004はExcel2003です。
485名無しさん@そうだ選挙にいこう:2005/09/18(日) 12:37:54
>>481,482 どうもありがとうございます。
ABCDEの各表は中身が同じなんですが、1シート内にあります。
行は科目名で、列は一日一日の小テストの点数です。
1sheet目を入力画面として、Aくん、英語、12日目、100点という風に記録できるようにしたいです。
ヒントを下さい。。
486名無しさん@そうだ選挙にいこう:2005/09/18(日) 12:58:27
>>483
区切りにTAB入れれば、列を分けて張り付けできるよ。

>>485
入力位置を指定するためのコンボボックスと
入力する値を指定するためのコンボボックスを用意して
値を指定するコンボボックスの変更(選択)イベントで

行位置 = 位置指定コンボから入力行を算出
列位置 = 位置指定コンボから入力列を算出
Worksheets("sheet2").Cells(行位置, 列位置).Value = 値指定コンボの値

って感じにすればよろし。
入力位置の算出方法は具体的な表の内容が書かれてないから教えようがない。

とにかく、自分でやる気があるなら途中まででも自分でコード書いて、
わからない部分をコードを晒して質問しろ。
487483:2005/09/18(日) 13:16:17
>>486
ありがとうございます。
出来るようになりました。
488名無しさん@そうだ選挙にいこう:2005/09/18(日) 14:58:01
お前、勉強する気ないな!
489485:2005/09/18(日) 15:14:51
>>486
今からやってみます
ありがとうございました!良い連休を。
490名無しさん@そうだ選挙にいこう:2005/09/18(日) 15:19:05
>>488
ぶっちゃけ、どこから入っていけばいいかわかんないんですよ・・
491名無しさん@そうだ選挙にいこう:2005/09/18(日) 17:16:24
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル 定義 削除

定義した名前を、一括して削除する方法はありますか?

単純な質問ですがよろしくお願いします。
492名無しさん@そうだ選挙にいこう:2005/09/18(日) 17:31:26
何の定義?
493名無しさん@そうだ選挙にいこう:2005/09/18(日) 17:42:08
>>492

説明不足ですみません。

たとえば、CTRL+SHIFT+F3 で データベース状になっている表の各列の範囲を

名前定義しました。

それでできた名前定義を一括して削除する楽な方法はないでしょうか?

今はCTRL+F3で一個一個削除しています。
494名無しさん@そうだ選挙にいこう:2005/09/18(日) 17:53:25
普通に、名前の定義ダイアログボックスで消せば?
一括じゃないけど、10個消すのに2〜3秒でしょ。
495名無しさん@そうだ選挙にいこう:2005/09/18(日) 18:46:38
ふりがなのコマンド選んでふりがなをふって
エンターキーおすとふりがなが消えてしまいます
解決方法を教えてくれませんか?
496名無しさん@そうだ選挙にいこう:2005/09/18(日) 18:49:22
ここは素敵な釣り堀ですね
497名無しさん@そうだ選挙にいこう:2005/09/18(日) 19:08:46
>>495
書式>ふりがな>表示/非表示
498名無しさん@そうだ選挙にいこう:2005/09/18(日) 19:15:52
ID違うけど495です。
ありがとうございます。
499名無しさん@そうだ選挙にいこう:2005/09/18(日) 19:16:43

IDなっかたね…w
500491:2005/09/18(日) 19:22:33
>>494
> 普通に、名前の定義ダイアログボックスで消せば?
> 一括じゃないけど、10個消すのに2〜3秒でしょ。

質問に対する回答は「ない」ということでよろしいでしょうか。
501名無しさん@そうだ選挙にいこう:2005/09/18(日) 19:24:45
>>500
んじゃ、「ない」ってことで。
502名無しさん@そうだ選挙にいこう:2005/09/18(日) 19:36:48
俺も無いって事でいいと思う
俺は一括削除してるけどな
503名無しさん@そうだ選挙にいこう:2005/09/18(日) 19:40:50
漏れも、「ない」って方向に一票
504名無しさん@そうだ選挙にいこう:2005/09/18(日) 19:52:02
VBAで出来るだろ、と突っ込もうとしたらVBA不可だったのね…

While (ActiveWorkbook.Names.Count > 0)
ActiveWorkbook.Names.Item(1).Delete
Wend
505名無しさん@そうだ選挙にいこう:2005/09/18(日) 20:04:54
VBA可だけど・・・

空気だけじゃなくて文字も読めない子なのか?
まぁ、こんな子でも態度のでかい質問者には感謝されるんだろうな(´ー`)y─┛~~
506名無しさん@そうだ選挙にいこう:2005/09/18(日) 20:08:07
このスレの利点は空気読めない回答者が沢山いるってことだからなw
507名無しさん@そうだ選挙にいこう:2005/09/18(日) 20:11:20
「空気読めない回答者」はそんなに多くないよ
空気読めない回答者と、親切な回答者の差は大きい
508504:2005/09/18(日) 20:23:27
正直、空気も文字もあまり読んでない…
509491:2005/09/18(日) 20:33:46
>>508

なにはともあれできました!
感謝です!
ありがとうございました。
 
           態度のでかい質問者
510名無しさん@そうだ選挙にいこう:2005/09/18(日) 20:37:49
これにて一件落着 かっかっか
511名無しさん@そうだ選挙にいこう:2005/09/18(日) 20:48:19
普通はこーじゃねーか

Dim cNames As Name
For Each cNames In ActiveWorkbook.Names
 cNames.Delete
Next
512名無しさん@そうだ選挙にいこう:2005/09/18(日) 21:02:31
確かに、その方が素だ。うん。
513名無しさん@そうだ選挙にいこう:2005/09/18(日) 21:09:40
連休中はまた違う雰囲気だな( ^▽^)
514名無しさん@そうだ選挙にいこう:2005/09/19(月) 12:55:41
エクセルを起動するにはどうするのですか?
515名無しさん@そうだ選挙にいこう:2005/09/19(月) 12:59:14
>>514
んじゃ、「ない」ってことで。
516名無しさん@そうだ選挙にいこう:2005/09/19(月) 13:01:24
マウスってなんですか?ねずみはいません
517名無しさん@そうだ選挙にいこう:2005/09/19(月) 17:07:02
518名無しさん@そうだ選挙にいこう:2005/09/19(月) 17:26:03
手書き電卓の方が早いですが何か?
519名無しさん@そうだ選挙にいこう:2005/09/19(月) 17:51:09
>>518
・・・・・・・・・・で?
520名無しさん@そうだ選挙にいこう:2005/09/19(月) 18:10:36
そろばんの方が効率よいですが何か?
521名無しさん@そうだ選挙にいこう:2005/09/19(月) 18:29:59
俺は暗算
522名無しさん@そうだ選挙にいこう:2005/09/19(月) 19:52:27
はじめまして、質問させていただいてもよろしいでしょうか?

Excelを使って作成した表がありまして、ある列には商品のJANコードが並んでいます。

XXXXX YYY 498485365483 DDDD
asdfa daf 498484856544 gggg
hhtth yrt 498484835488 feaa
. . .
. . .


この表のJANコードの下3桁だけを残して、その3桁の数字で
表をソートしたいのですが、なにか方法はありますでしょうか?
ユーザー定義でなに設定したりするのでしょうか?

XXXXX YYY      483 DDDD
asdfa daf 544 gggg
hhtth yrt 488 feaa

上記のような状態にして、3桁になったコードで並び替えがしたいのですが・・。
お願いします。
523名無しさん@そうだ選挙にいこう:2005/09/19(月) 20:02:21
パスワードで保護されたシート

パスワードを解析出来るの?
524名無しさん@そうだ選挙にいこう:2005/09/19(月) 20:18:07
>522
無いね
自分で探しな
525名無しさん@そうだ選挙にいこう:2005/09/19(月) 20:23:16
>>522
テンプレ読んだら答えてやる
526名無しさん@そうだ選挙にいこう:2005/09/19(月) 20:52:51
>>522
一番簡単なのは、列を挿入して
=right(a1,3)を書いて、その列でソート
527名無しさん@そうだ選挙にいこう:2005/09/19(月) 21:06:53
なんで威張ってるの?つまらない人間ばっかり
528名無しさん@そうだ選挙にいこう:2005/09/19(月) 21:16:16
以上、「527@つまらない人間」さんからの有難いお言葉でした。
529名無しさん@そうだ選挙にいこう:2005/09/19(月) 21:36:32
以上、「528@キモオタ人間」さんからの有難いお言葉でした。
530名無しさん@そうだ選挙にいこう:2005/09/19(月) 21:40:04
二番煎じは(以下略
531名無しさん@そうだ選挙にいこう:2005/09/19(月) 21:45:02
連休中は大人がいないのか・・・

みんな会社から書き込んでたんだな( ^▽^)
532名無しさん@そうだ選挙にいこう:2005/09/19(月) 21:45:07
>>523
解析はまず無理。膨大な時間を掛ければできるけど。
外すだけなら大抵簡単だけど。

で、何?
解析できるかどうかを確認したかっただけ?

まあ、もし外し方教えてくれとか言い出しても
解析とか言ってる時点で自分の作ったブックじゃないだろうから
そういうもののパス外しは不正行為になるのでここでは教えない。
533名無しさん@そうだ選挙にいこう:2005/09/19(月) 22:03:06
教えた方も罪になるしな
534名無しさん@そうだ選挙にいこう:2005/09/19(月) 22:21:54
教えてください。
氏名、生年月日等のりすとを入れたシートがあって、
ユーザーフォームのコンボボックスで氏名を選択するとテキストボックスに生年月日を取得させ、
テキストボックス内で訂正した後その値をまた元のセルに返す、とういう風にしたいのですが、
セル上の表示「平成17年9月10日」を取得してセルに返すと、「2005/9/10」ではなく文字列「平成17…」として入れられてしまうのです。
テキストボックスで「平成…」と入れてもセルに日付として返すにはどうすればよいでしょうか。
535名無しさん@そうだ選挙にいこう:2005/09/19(月) 22:30:31
>>534
DateValue
536名無しさん@そうだ選挙にいこう:2005/09/19(月) 22:36:04
エクセルはどこのおもちゃ屋で売ってるの
537名無しさん@そうだ選挙にいこう:2005/09/19(月) 22:39:12
>>536
PCゲームコーナーが有るところだろ置いてることもあるかも。
おもちゃ屋じゃないけど、以前中古ゲームショップでMS Office97見かけたし。

と、ネタにマジレスしてみる。
538534:2005/09/19(月) 22:44:17
>>535
Private Sub CommandButton1_Click()
Cells(1, 2).Value = DateValue(TextBox1.Value)
End Sub
みたいな使い方でいいのでしょうか?ありがとうございました。
539名無しさん@そうだ選挙にいこう:2005/09/20(火) 00:02:52
>>536
Excelはおとなのおもちゃです
540名無しさん@そうだ選挙にいこう:2005/09/20(火) 09:06:45
■ 下記のエラーが発生しました。

該当トピックは存在しないか公開期間を過ぎて閲覧ができません

mougのこれがうぜー。
Googleキャッシュ漁れば良いだけなんだけどさ……。
541名無しさん@そうだ選挙にいこう:2005/09/20(火) 09:20:02
・・・・・で?
542名無しさん@そうだ選挙にいこう:2005/09/20(火) 09:32:30
いや、ただの愚痴なんでスルーして
543名無しさん@そうだ選挙にいこう:2005/09/20(火) 09:43:52
>>542
つ 「メモ帳」を下回る低機能テキストエディタ チラシの裏
http://yuukiremix.s33.xrea.com/chirashi/
544名無しさん@そうだ選挙にいこう:2005/09/20(火) 11:42:06
すいません。Excelで階層図を書きたいのですが、どういう機能がありますかね?

webページの階層図を簡易的に書いておきたいんですけども
545544:2005/09/20(火) 11:45:13
環境など
OS = windowsXP
vr = office2003
VBA = 否

でお願いします   
546名無しさん@そうだ選挙にいこう:2005/09/20(火) 11:53:59
Excelで階層図書いたことある方、どういう感じで作られました?
547名無しさん@そうだ選挙にいこう:2005/09/20(火) 11:58:17
>>544
挿入>図>組織図を使うもよし。
気に入らなければオートシェイプでコツコツ作るもよし。
548名無しさん@そうだ選挙にいこう:2005/09/20(火) 12:10:37
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 貼り付け程度
【4 VBAでの回答の可否】 可

2002から2003にアップグレードしましたが、ツールバーが
水色になってしまいました。目が疲れるので以前の灰色に
戻したいのですが、やり方教えて頂けませんか?
549名無しさん@そうだ選挙にいこう:2005/09/20(火) 12:22:16
>>548
モニタをマジックで塗りつぶすんだ!
550名無しさん@そうだ選挙にいこう:2005/09/20(火) 13:26:04
Excel2000です。

httpで始まるアドレスが書かれているセルがあるんですが
このセルをリンク元のセルにはできないでしょうか?

もしくは、別のセルをリンク元のセルにして、
クリックするとこのアドレスが開くようにしたいのですが
アドレスが入ったセルを右クリックで「コピー」したあと
当該セルで「ハイパーリンク」を指定しても、「ファイル又はWEBページ名」に
貼り付けできないのですが、これには対処法はないのでしょうか?
551名無しさん@そうだ選挙にいこう:2005/09/20(火) 15:41:19
>>547
ありがとうございます。オートシェイプのパターンをいくつか作って
コピーして使おうと思います。
552名無しさん@そうだ選挙にいこう:2005/09/20(火) 17:07:08
Excel2000ですが、決められたセル範囲に写真を貼り付ける(自動的に
最適化)にはどうしたら良いでしょうか?貼り付けて写真の大きさを決め
るのではなく、貼る場所の大きさを先に決めて、貼り付けて最適化され
るような感じなんですが・・・・・
553VBA初心者ですが・・・:2005/09/20(火) 17:20:20
FileDateTimeで保存日時が返って来ないで現在の日時が
返って来てしまうんだけど、原因が分かりません

sub auto_open
Dim Mystamp
Mystamp=FileDateTime("ファイル名")
Msgbox"最終保存日時"&mystamp
end sub

同じコードを他のブックで試すと上手くいくのに・・・
上手く行かないブックはイントラで共有してるブックなんだけど、
そのあたりに原因があるのでしょうか・・?
554名無しさん@そうだ選挙にいこう:2005/09/20(火) 17:33:57
お前が初心者かどうかなんてどうでもいい
555名無しさん@そうだ選挙にいこう:2005/09/20(火) 17:43:52
テキストボックスの書式を固定する方法はありますか?
具体的にはフォントサイズを8に固定したいのですが、毎回毎回11になってしまいます。
556名無しさん@そうだ選挙にいこう:2005/09/20(火) 20:00:06
最近質の悪いアラシが湧いてきているようですが、
このスレは優しさの伝統を守っていきましょう♪
557名無しさん@そうだ選挙にいこう:2005/09/20(火) 20:20:06
>>556
だったらまずお前が答えてやれよw
558名無しさん@そうだ選挙にいこう:2005/09/20(火) 20:31:48
>>553
ブックを共有してる環境が無いんでよくわからんがFSOやAPI使って取得してみれば?
FSOだとDateLastModified、APIだとGetFileTimeかな。
使い方はググってね。これらがダメだったらまた来よう。

>>555
固定って、作成したテキストボックスのフォントサイズのことではなく
テキストボックスを作成したときの初期値を変更(固定)したいってこと?

後者なら無理だと思う。もちろん自分でActiveXコントロール作れるならどうにでもなるけど。
因みに上記はユーザーフォームでの話で、ワークシートコントロールのテキストボックスのフォント初期サイズは
シートのフォントサイズに依存
前者ならユーザーフォームでもシート上でもプロパティウインドウから変更すれば変更は保持されるはず。
559名無しさん@そうだ選挙にいこう:2005/09/20(火) 20:43:04
>>552
通常は無理。だいたい貼り付けた画像は、ワークシート上に置かれて
いるというだけで、セルに貼り付けているわけじゃないし。

少し悪らつな方法でいいなら、空のグラフエリアをシート上に作り、
(空のセルをクリックしてグラフウィザードを起動し、すぐ「完了」)
そこに画像をコピペで貼り込む。
グラフの背景に画像を貼る要領で、グラフエリアの書式設定>
パターン>塗りつぶし効果>図>図の選択、でもよい。

操作は2002で確認したが、2000でも同じだと思う。
560名無しさん@そうだ選挙にいこう:2005/09/20(火) 21:08:01
EXCELに入力されている内容をACCESSに吐き出すVBAを作成しています。
EXCELの1行目から順次読み込んでデータが入力されている最後の行まで
ループさせているのですが、EXCELには日々新しいデータを貼り付けて、差分
だけをACCESSに登録したいと思い、以下のようなプロセスを考えました。

@ACCESSの日付列のMAX日付を取得する
A取得した日付で行を検索して、カーソル?を位置づける
B位置づいた位置からデータの最終行までループ処理を行う。
ここでAのカーソルを位置づける?方法が分かりません。
どうやったらよいでしょうか?エロイ人教えてくだせぇ

今は1行目からこんな感じでループしてます。
For i = 1 To Range("B65536").End(xlUp).Row

Next
561名無しさん@そうだ選挙にいこう:2005/09/20(火) 21:40:13
>>552
画像オブジェクトとしてではなく、イメージコントロールとして画像を張り付ければ可能。
と言うか、「最適化」みたいな曖昧な言葉は使わないでくれ。
お前にとって何が「最適」なのかなんて知ったこっちゃない。
まあ、文中から原寸ではなく指定範囲に最大化して表示したいんだろうなってことは解るけどさ。

>>560
Forループの開始を1ではなく、Accessから取得した日付の次の日の行にすればよいだけでしょ。
Accessから取得した日付の次の日の行はFindでもDo Loopでも使って調べればいいし。
562名無しさん@そうだ選挙にいこう:2005/09/20(火) 21:40:51
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel97
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 印刷 位置あわせ

あらかじめ記入欄が印字されたA4用紙にセルの値を印刷するツールを作りたいのです。
しかし、位置あわせがちっとも決まりません。

なにかこつのようなものはあるでしょうか。
563555:2005/09/20(火) 21:48:10
>558
やっぱり初期値は変えられないのですかorz
ありがとうございました。
564名無しさん@そうだ選挙にいこう:2005/09/20(火) 21:52:08
>>562
専用ソフトを使ってください。
その用途は本来Excelの分野じゃないです。

想定されてない用途に無理矢理使おうとするなら
それなりの手間を掛けなくてはならなくなる。

例えばちまちま位置を変えては印刷結果(仮想印刷結果)を確かめてみるとか。
565名無しさん@そうだ選挙にいこう:2005/09/20(火) 21:57:25
>>564
お前のスキルが無いだけだろ?
566名無しさん@そうだ選挙にいこう:2005/09/20(火) 21:57:56
VBAが使えるなら、
適当な位置にテキストボックスを配置して、
テキストを設定して印刷という流れにすれば、
セルで調整するより楽に綺麗にできるのでは?
567560:2005/09/20(火) 22:04:07
>561
find関数を調べましたが、find関数はセルの値の中の文字位置を探すものだとありましたが?
私がやりたいのは行を求めたいのです。

>Accessから取得した日付の次の日の行にすればよいだけでしょ。
まさにそのとおりなんですが、その次の行を取得する方法がわからないんです。

>Do Loopでも使って調べればいいし。
これは1つづつセルの値をIF分で比較するって事でしょうか?
それなら直ぐに思いつくのですが、一発で次の行数を取得したいのです。

568名無しさん@そうだ選挙にいこう:2005/09/20(火) 22:04:20

スキルのある565さん、ではそのスキルを披露してください
>>565が口先だけの単なる煽りじゃないならの話だけど
まあ理由(言い訳)を付けて逃げることは出来るのでその辺はお好きなように
569名無しさん@そうだ選挙にいこう:2005/09/20(火) 22:11:00
>>567
Findは値(文字や式や日付)を探してRangeオブジェクトを返す。
Rangeオブジェクトには探し当てたセルの行位置情報も含まれる。
己の少ない知識だけで無理だと否定せず、きちんと調べてから書こうね。
570名無しさん@そうだ選挙にいこう:2005/09/20(火) 22:14:19
>>568
沸点低いな
571名無しさん@そうだ選挙にいこう:2005/09/20(火) 22:16:32
565と568の両方ともね。
572名無しさん@そうだ選挙にいこう:2005/09/20(火) 22:26:54
>>567
>>561さんが言ってるのは、Find関数ではなくてRangeオブジェクトのFindメソッド
573560:2005/09/20(火) 22:40:44
>569
いくら2ちゃんだからといってイヤな言い方する人だな。

Findでヘルプ検索すると文字列内検索のヘルプが出るんだから、一応調べたわけでしょ。

正確にいうならRangeオブジェクトのFindメソッドというのが正しいでしょ。

結果的に教えてもらったのでこれ以上は言わないけど・・・
574名無しさん@そうだ選挙にいこう:2005/09/20(火) 22:46:21
VBAヘルプでfindを検索すると・・・・・
575名無しさん@そうだ選挙にいこう:2005/09/20(火) 22:51:40
>>573
沸点低いな
576名無しさん@そうだ選挙にいこう:2005/09/20(火) 22:52:35
VBAについて調べるのに、VBAヘルプではなくワークシートヘルプ使ってる人が居るスレはここですか?
577名無しさん@そうだ選挙にいこう:2005/09/20(火) 22:54:02
>>573
己の少ない知識だけでイヤな言い方だと断定せずに、きちんと己の行動振り返ってから書こうね。
578名無しさん@そうだ選挙にいこう:2005/09/20(火) 22:56:10
六カ国協議ってこんな感じか?
579名無しさん@そうだ選挙にいこう:2005/09/20(火) 23:01:53
なんだか一人で色々書いてる人がいるな
580名無しさん@そうだ選挙にいこう:2005/09/20(火) 23:03:10
>>579
己の少ない知識だけで自演だと断定せず(以下略
581名無しさん@そうだ選挙にいこう:2005/09/20(火) 23:04:12
つまり、六カ国協議は自演だったということですね?
582名無しさん@そうだ選挙にいこう:2005/09/20(火) 23:08:23
まぁこういうところには小うるさいお局様みたいのが必ずいるもんだよ
583名無しさん@そうだ選挙にいこう:2005/09/20(火) 23:13:11
こっちで逆切れ向こうで放置では、マルチウザーって言われても仕方が無いなと思う
584名無しさん@そうだ選挙にいこう:2005/09/20(火) 23:13:49
向こうってどっち?
585名無しさん@そうだ選挙にいこう:2005/09/20(火) 23:19:28
>>581
いいえ
586名無しさん@そうだ選挙にいこう:2005/09/20(火) 23:19:55
>>584
あっちだよあっち!
587名無しさん@そうだ選挙にいこう:2005/09/20(火) 23:24:42
>>582
ほんと、>>573みたいに小うるせーこと言い出す奴は何処にでも居るよな。
VBAヘルプ調べればすぐに解るFindメソッドに気付かなかった自分の未熟を恥じて
お礼だけ言って去ればいいのに。
588名無しさん@そうだ選挙にいこう:2005/09/20(火) 23:26:23
お局様ってのは俺みたいな自治厨って意味じゃないのか
589名無しさん@そうだ選挙にいこう:2005/09/20(火) 23:26:39
>>587はバランサー国家。
590名無しさん@そうだ選挙にいこう:2005/09/20(火) 23:32:46
わかっててそれを切り返してるんだと思われ
まあ、どっちも小うるさいのは確かだし
591562:2005/09/21(水) 00:19:45
ありがとうございます。

>>564
やはりそうなりますよね。ふつう。

>>566
その方針で進めていたのですが、
案外セルであわせたほうがうまくいくのかもと、思い始めてきました。

まあなにはともあれ、Excelでやろうというのが間違いなのは確かなようで。
592名無しさん@そうだ選挙にいこう:2005/09/21(水) 01:28:36
>>387
亀になったがサンクスコ。

Mid(MultiPage1.SelectedItem.ActiveControl.name, 9)
で、無事問題解決した。
593名無しさん@そうだ選挙にいこう:2005/09/21(水) 04:02:52
>>578
禿げ藁
594名無しさん@そうだ選挙にいこう:2005/09/21(水) 08:03:10
おはようございます

>>559
なるほど。そういう手が有りましたか。
参考になりました。

>>561
了解。大変参考になりました。
あなたの言ってる通りですわ。「指定範囲に最大化して表示」まさにコレが言いたかったのよ。
どぉ〜も〜!


しかし22時位から随分と殺伐としてますな。
595名無しさん@そうだ選挙にいこう:2005/09/21(水) 08:05:36
なぜ荒れたか分からないのですか?
596名無しさん@そうだ選挙にいこう:2005/09/21(水) 08:12:57
>>595
少なくとも552=594さんには何の責任もありませんけどね。
597名無しさん@そうだ選挙にいこう:2005/09/21(水) 09:19:02
ああ、何一つ悪くないな
598名無しさん@そうだ選挙にいこう:2005/09/21(水) 09:44:40
そうですね
その通りですね
599名無しさん@そうだ選挙にいこう:2005/09/21(水) 15:50:29
OS WINDOWSXP
バージョン EXCEL2003
VBA いいえ
VBA回答 否
検索ワード if文 ハイパーリンク

IF構文の文中でハイパーリンクを使いたい。

=IF(G791="ナシ","ナシ","HYPERLINK("C:\Documents and Settings\All Users\Documents\商品\商品一覧.xls"
上記のような文をHYPERLINKの解説や使用例を見て作ったのですが、エラーで「入力した数式は正しくありません」と表示されました。
リンクのパスは合っています。 [論理式][真の場合][偽の場合]と分類はされています。
自分では、どこがオカシイのかわからないのでご指摘お願いします。
600名無しさん@そうだ選挙にいこう:2005/09/21(水) 16:14:28
CSVファイルに
hoge1
01/01/05,a
01/02/05,b
01/03/05,c
01/04/05,d
01/06/05,e

hoge2
01/01/05,f
01/03/05,g
01/04/05,h
01/05/05,i
01/06/05,j
と並んでいます。

これらのデータを

Date    hoge1   hoge2
01/01/05   a     f
01/02/05   b
01/03/05   c     g
01/04/05   d     h
01/05/05         i
01/06/05   e     j

とセルに半自動的に並べ替えて入れる良い方法は無いでしょうか?
自分でやってみるとどうしても01/02/05のhoge2にgが入ってしまいます。
色々とやったのですが、日付の抜けをどうしても飛ばす方法が分かりません。

どなたか教えてください。
601名無しさん@そうだ選挙にいこう:2005/09/21(水) 16:15:10
>>600
テンプレ読んでから質問しよよ屑
602名無しさん@そうだ選挙にいこう:2005/09/21(水) 16:30:30
>>599
HYPERLINKの前の " はいらない。
" で囲なければならないところは、なぜそれが必要なのかを考えてみよう。

あと、カッコはちゃんと閉じること。
603名無しさん@そうだ選挙にいこう:2005/09/21(水) 17:00:09
お願いします

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

下記のようなデータで男のNOだけの数をカウントするにはどうすれば良いですか?



  A  B 
1 男 NO
2 女 YES
3 女 YES
4 男 YES
5 男 NO
6 男 NO
7 女 NO

エクセル使い始めで困ってます。
よろしくお願いします

 
604600:2005/09/21(水) 17:03:36
失礼しました。
【1 OSの種類         .】 Windows XP Pro SP2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel 並べ替え で検索しても大量ヒット。空白セル を追記するとヒットせず。

どうかよろしくお願いします。
605名無しさん@そうだ選挙にいこう:2005/09/21(水) 17:11:46
>>602
どうにか、出来ました。もっと勉強したいと重います。
606名無しさん@そうだ選挙にいこう:2005/09/21(水) 17:31:57
>>560

いまさらだけど、恐らくAccessにデータをインポートしてから考えた方が簡単。
607名無しさん@そうだ選挙にいこう:2005/09/21(水) 17:40:19
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

 ブックA(作業)      ブックA(作業)

9/21 001          9/21 001
         (入力後) 
 ブックB(管理)  →  ブックB(管理)  
A  B  C  D     A  B  C  D  
001           001 9/21
002           002 
003           003
|            |
|            |
500           500

ブックAで9/21(日付)に001(管理番号)を入力すると、
自動でブックBの001(管理番号)のB列(日付の列)にブックAで加えた情報を出力させたいのですが、なにか手はありませんか?
608名無しさん@そうだ選挙にいこう:2005/09/21(水) 17:43:21
>>604
マクロ(VBA)使わないと無理
609名無しさん@そうだ選挙にいこう:2005/09/21(水) 19:01:23
>>603
配列数式解るなら、配列数式でSUMとIF
解らないなら>>6を参考にC列に「男のNO」の場合1それ以外は0を返す式を入れ
C列の値をSUM関数で加算する。あとはヘルプでも読んで。
ここまで説明すれば、あとは初心者でもやる気さえ有れば>>6とヘルプで解るはずだから。

>>607
その例通りでいいなら、RIGHT,3とA列の値が一致したときに、先頭からスペースの前までを表示させる式を組めばいいが
当然ブックA側で「9/22 002」と入力すれば
 A  B  C  D → A  B  C  D  
001 9/21       001 
002           002 9/22
となる。前に入力した値を残したいならVBA使うしかない。
ワークシート関数は、あくまで参照のみで値の入力や保持は出来ないから、
参照先の値が書き変わわったり消されたりすれば、表示してる内容も変化したり消えたりする。
610603:2005/09/21(水) 19:23:54
すみません 追記です

男のNOだけじゃなく
それぞれのYES NOも拾いたいんです

     A  B
     男 女
1YES  2  1
2NO  1  4

打ち込んだデータ集計をこんな感じにしたいです
もうしわけないです お願いします
611名無しさん@そうだ選挙にいこう:2005/09/21(水) 19:27:24
>>610
それならピボットテーブル
612604:2005/09/21(水) 19:46:56
>>608
ありがとうございました。
613607:2005/09/21(水) 22:51:21
>>609
なるほど・・・ありがとうございます。
614名無しさん@そうだ選挙にいこう:2005/09/21(水) 23:36:58
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

グラフについて質問なんですが
3つの異なるデータを元にして
下のようなグラフをつくりたいのですが
どのようにすればできますか?

@がX軸、AがY軸、でBの軸と値を追加したい
@の軸はABのデータ共通なのですが
AとBは単位が違うため一つのグラフ上で分けたいのです
ちなみにグラフの種類は散布図です

   |           |
 A |           | B
   |           |
   |_______|
          @

宜しくお願いします
615名無しさん@そうだ選挙にいこう:2005/09/21(水) 23:55:00
616名無しさん@そうだ選挙にいこう:2005/09/22(木) 00:03:32
>>615
ありがとうございます
テンプレがあったんですね…
スレ汚しすいませんでした
617名無しさん@そうだ選挙にいこう:2005/09/22(木) 00:40:57
ユーザーフォームを使って選択した項目を
次回ブックを開いた時に自動で表示させることって出来ますか?

ユーザーフォームを使ったプロシージャを
ブックを開いた時のイベントプロシージャに呼び出したいんですが・・・
618名無しさん@そうだ選挙にいこう:2005/09/22(木) 00:53:24
>>617
次回ブックを開いたときに、前回の状態を継承した動作をさせたいなら
どこかに値を保存してそれを開いたときに読ませなきゃならないな。
んで、「どこか」ってのは一番簡単なのはワークシート上。
それが嫌ならレジストリかiniなどの外部ファイル。

下2行は日本語になってないので解読不可。
619たけたけ:2005/09/22(木) 02:00:36
質問ですが、例えば、数字に文字を登録しておいて
セルに数字を打ち込むだけで文字入力することって可能なんですか?
1という数字に赤、2に青、3に黄色と登録しておいて
各セルに1とうち込むだけで赤、2で青、と表示されると言う事なんですが。

620名無しさん@そうだ選挙にいこう:2005/09/22(木) 02:12:01
>>619
1) 数字の入力を行うセルと、色名を表示させるセルを別にして
  どこかに対応表を作りVLOOKUPやINDEXとかで入力した数値に対応する色名を返す

2) 表示形式を使う。但し登録は3件まで(>>3参照

3) 名前の提議を使う。但し数字そのものは登録出来ないので「_1、_2、_3」などを登録する
  色名を表示させるときは「=_1」と書くと、「_1」に登録した色名が表示される

4) VBAを使って自動置換する

1が一番簡単だし、表示が別セルになる以外は、入力内容にも登録数にも制限が無くて使いやすい。
VBA使えるならどうにでもなるけどね。
621たけたけ:2005/09/22(木) 02:44:00
>>620
返事ありがとうございます。1のやり方でがんばってみます。
ありがとうございました。
622名無しさん@そうだ選挙にいこう:2005/09/22(木) 03:37:44
D IMEに辞書登録する 1=山田 2=佐藤






(´・ω・`)
623名無しさん@そうだ選挙にいこう:2005/09/22(木) 09:42:58
VBAの勉強を始めています。

共通で使用する変数は、ユーザーフォームモジュールの宣言セクションで変数の宣言を行う
とのことなのですが、ユーザーフォームモジュールの宣言セクションとはどこなのでしょうか。

624名無しさん@そうだ選挙にいこう:2005/09/22(木) 09:55:57
>>623
モジュールの一番上のプロシージャ外の部分
「宣言セクション」というものが目に見えて存在する訳じゃない。

つーかユーザーフォームモジュールじゃなくて標準モジュールだろ。
それにこの程度のことも調べられないならVBAの入門書買え。
ここでは個人に1からVBAを教えるなんてやってられんぞ。
625名無しさん@そうだ選挙にいこう:2005/09/22(木) 10:03:17
>>624
thx!
最初から難しい本買いすぎた。もっと簡単なの買って来ます。
626名無しさん@そうだ選挙にいこう:2005/09/22(木) 23:05:00
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel, 文字列, 条件付書式

ある文字列(≒IPアドレス)を含むセルの色を変更したいのですが、
どうすれば良いでしょうか。

文字列は、具体的には、
192.168.0.* ("192.168.0." という文字と、任意の数字)です。
627名無しさん@そうだ選挙にいこう:2005/09/22(木) 23:50:02
>>626
ある文字列は固定?

もしA1に対象があるんだとしたら
If Left(Range("A1"), 10) = "192.168.0." Then
Range("A1").Interior.Color = RGB(255, 0, 0)
End If

こういう意味じゃない?
628名無しさん@そうだ選挙にいこう:2005/09/23(金) 00:58:15
セル範囲を選択して

書式 → 条件付書式

【数式が】 【=LEFT(A1,10)="192.168.0."】 (A1がアクティブセルの例)
で任意書式を設定して ok
629628:2005/09/23(金) 00:59:56
訂正:
 セル範囲を選択→条件付書式を設定したい範囲を選択
630626:2005/09/23(金) 04:19:27
返事が遅れてすみません。
>627 さん
>628 さん

おかげさまで成功しました。
631名無しさん@そうだ選挙にいこう:2005/09/23(金) 12:59:48
無限ループ(forでもloopでも良い)で行う作業をボタン(コマンドボタンとか)を
押したら開始、もう一度押したら終了させたいのだけれど何かいい方法はありませんか?
開始と終了のボタンは別々でも良いし、止まるタイミングも特になんでも良いのですが。
632名無しさん@そうだ選挙にいこう:2005/09/23(金) 14:25:10
>>631
・ボタン
モジュールレベルのフラグを反転
フラグONでサブルーチンをコール

・サブルーチン
フラグONの場合のみループに入る
フラグOFFでループを抜ける

以上
とりあえずこれでコード書いてみな
その上でまだ解らないことやうまくいかない部分があったら
書いたコードを貼ってもう一度質問しろ
633631:2005/09/23(金) 15:00:11
ありがとうございます、とりあえずチャレンジしてみます。
634名無しさん@そうだ選挙にいこう:2005/09/23(金) 15:55:19
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel グラフ 目盛り線 縦軸

エクセルのグラフで、目盛り線を縦軸に平行に引くことは可能でしょうか。
可能であればやり方をご教授ください。

635名無しさん@そうだ選挙にいこう:2005/09/23(金) 16:21:05
>>634
グラフウィザード3/4の「目盛線」タブで、Y/数値軸だけじゃなく
X/項目軸にも「目盛線」にチェックを入れる。
作成済のグラフを変更するなら右クリックから「グラフのオプション」で
同じ操作。
636名無しさん@そうだ選挙にいこう:2005/09/23(金) 16:27:26
WindowsXP
Excel2003
いいえ



ワークシート
注意事項/原本/H1701/H1702/H1703/H1704/H1705/H1706/H1707/H1708/H1709

1つのブックに複数のワークシートがあり、誰かが更新すると次開く人がその保存した所で開くと思うのですが。
その開く場所を固定ないし、特定させることは可能でしょうか?
「このワークシートで保存して下さい」と言い聞かせても、ちょっと経つと忘れてしまうらしいので、
 こんなことが出来ればなぁ。と思い相談しました。
637名無しさん@そうだ選挙にいこう:2005/09/23(金) 16:39:02
VBA使えば出来る、VBA使わなければ出来ない。
まあ、VBA使わずに終了してからブックに対してアクティブシートを切り返える
バイナリパッチ当てることも出来るが、面倒だもんな。

まあ、VBA使ってないならどのシートで開いても別に実用上問題は起きないんだから気にするな。
特定シートを開くなんてたった1クリックだもんな。
638名無しさん@そうだ選挙にいこう:2005/09/23(金) 16:44:22
>>637
それもそうですね(´-`)ヒラキナオーリ
639名無しさん@そうだ選挙にいこう:2005/09/23(金) 17:14:57
セルにE-Mailアドレスを入れて、
ハイパーリンクでメーラーが立ち上がるように
設定はできるんですが、
そのメーラーを変更することはできないんでしょうか?
OutlookExpressが立ち上がります。
640名無しさん@そうだ選挙にいこう:2005/09/23(金) 17:23:59
>>639
1.↑このメールアドレスをつつくと、何が立ち上がる?
2.IEのツール-インターネットオプション-プログラムを変更したらどうなる?
641名無しさん@そうだ選挙にいこう:2005/09/23(金) 17:26:44
>>639
関連付け変えて、立ち上がるメーラーが変わらないようなら
VBAで無理矢理指定したいメーラーにコマンドラインを送る。
642名無しさん@そうだ選挙にいこう:2005/09/23(金) 17:35:22
レスありがとうございます。
>>640
2.IEで設定ということは、
エクセル上で設定はできないということですか?

>>641
関連付けを変えられるとこが
どこにも見当たらないです。。。
ヘルプにもないので、もしかしたら、
エクセルでメーラー変更は不可能です?
643名無しさん@そうだ選挙にいこう:2005/09/23(金) 17:49:31
excel2002の事で質問です。
excelで印刷プレビュー表示しようとすると
プリンタが組み込まれていません・・・・
と表示されて印刷プレビューを開けません。
word2002mでは表示できるのですが、、、、

どうすれば表示できるようにできるでしょうか???
プリンタはありません。
644名無しさん@そうだ選挙にいこう:2005/09/23(金) 17:52:05
マルチ
645名無しさん@そうだ選挙にいこう:2005/09/23(金) 19:10:32
>>643
2003でもそういうことがありますね。
PowerPointかAccessのどちらかで同じようなことがありました。
プリンタは繋いでなくてもいいから通常のプリンタを設定すればプレビューできたと思います。
646名無しさん@そうだ選挙にいこう:2005/09/23(金) 19:39:29
質問です
マクロで、ある期日が来たらそのマクロ自体を消去したり、モジュールを開放するようにする事は出来ますでしょうか
647631:2005/09/23(金) 22:18:40
631です。先ほど教えて頂きここまでは出来たのですが(ようは出来なかったです)
あとループ回数をフォームのテキストボックスにリアルタイムに表示もしたいのですが・・・

Private flag As Boolean

Private Sub CommandButton1_Click()
flag = True
MovePlan
End Sub

Sub MovePlan()
Dim i As Integer
i=0
Do While flag = True
i=i+1
TextBox1.Value = t
Loop

End Sub
648名無しさん@そうだ選挙にいこう:2005/09/23(金) 22:47:38
>>647
・ボタン
モジュールレベルのフラグを反転
×flag = True ←コレは反転とは言わない
○flag = not flag

フラグONでサブルーチンをコール
×MovePlan ←フラグOFFでもコールしてる
○If flag Then MovePlan


・サブルーチン
フラグONの場合のみループに入る
×Do While flag = True ←ループの前に件判断が無く
  Loop           フラグOFFでもループに入ってしまう

○If flag Then
   Do While flag
   Loop
  End If

まあ条件判断はどちらかひとつでもいいんだけど
さすがにどちらも条件判断無しだとまともに動かない
あとループ内にDoEvents入れておけ
それとValue = tは「t」じゃなくて「i」なのでは?
649631:2005/09/23(金) 22:56:10
ありがとうございました!!
出来た〜☆
完璧にBoolean型の意味を勘違いしてました。
なんか他の本を買おうかな・・・。
どうもありがとうございました。
650名無しさん@そうだ選挙にいこう:2005/09/24(土) 00:15:49
貼り付けてある画像を縮小する方法はありますでしょうか。
651650:2005/09/24(土) 00:16:38
すいません。ファイルサイズの縮小です。
652名無しさん@そうだ選挙にいこう:2005/09/24(土) 00:36:45
減色して貼り付けとか
653650:2005/09/24(土) 07:50:41
いへ、既に貼り付けてあるやつを、です。
xlsファイルをドロップすると解析してbmpなりjpgなりを発見し
減色しやす、リサイズしやす、一括で変換しやす、
てな感じで、やってくれるソフトウェアとか無いものでしょうか。
654名無しさん@そうだ選挙にいこう:2005/09/24(土) 08:32:48
> 減色しやす、リサイズしやす、一括で変換しやす、
> てな感じで、やってくれるソフトウェア
画像編集ソフトはExcel関係ないのでスレ違い。
655名無しさん@そうだ選挙にいこう:2005/09/24(土) 15:16:30
Aシートのデータを参照する関数がBシートに組んであります。
CSVデータを読み込み、Aシートのデータを丸ごと更新したい場合、
どうすればいいでしょうか。
以下やってみたこと。

・CSVをOpenTextする→別シートが出来てしまう
・INPUT命令でAシートに読み込む→
CSVの列数だけ変数を並べなくてはならず、つらい(列数は21ある)。
・Aシートを削除してAシートの名前でCSVをOpenTextする
→シート削除するとBシートに入っている関数が軒並み#REF?になってしまう
656名無しさん@そうだ選挙にいこう:2005/09/24(土) 15:18:59
OpenTEXTししたものをAシートにコピペ
657名無しさん@そうだ選挙にいこう:2005/09/24(土) 15:19:59
OpenTEXTしたものをAシートに値ペ−スト  の間違い
658名無しさん@そうだ選挙にいこう:2005/09/24(土) 15:27:08
>>655
InputではなくLine Inputで行全体をひとつの変数に読み込んでSplit
659名無しさん@そうだ選挙にいこう:2005/09/24(土) 21:49:01
【1 OSの種類         .】 Windows2000SP4
【2 Excelのバージョン   】 Excel2000/2003
【3 VBAが使えるか    .】 勉強中につき少しだけ
【4 VBAでの回答の可否】 可

    A   B   C    D
1   1   150      =850
2   1   220
3   0   160
4   1   480
5   0   330

上記のように並んでいる数値で、A列の値が1のもののB列の総和を任意のセルに出力する
(A1+A2+A4… =D1)場合には、どうすればよいのでしょうか?
A列の1はフラグ用途なので、現状で入力される値は1のみです。

また、Excelで「セルをクリックするとそのセル(または任意のセル)に特定の値を返す」
といった、擬似チェックボックスのような事はできますでしょうか?
上記の例ですと、「A列のセルをクリックすると、1が入力されると」いう感じです。
〜onClickのイベントが多くてよく分かりません…。
660真の規制改革:2005/09/24(土) 21:55:42
誘導されてきました。
平成17年3月から、規制改革によって、郵送で不動産登記が出来るようになりました。
いままで登記をするには、法務局に何度も通わなければならないため、法務局OBがほぼ無試験で合格する司法書士という天下り資格者に、依頼するしかありませんでした。
しかし、せっかく制度が変わったのに、このことを知らないひとが多いです。
しかも、登記相談は司法書士でなければ業としてはならないという法律(司法書士法)があり、一般業者は郵送登記をサポートをすることができません。
郵送で簡単に不動産の名義変更や、抵当権の抹消ができるようなプログラムがフリーで出回れば、真の規制改革を実現することができます。
心あるプログラマーの方々、よろしくお願いします。
政治活動で登記業務を独占するような資格者の、うまみを消し去ることができるのは皆さんだけです。
作成にあたり、登記制度で分からないことは、ここのスレに書いてもらえれば、答えさせていただきます。

法務省の登記解説サイト
http://www.moj.go.jp/MINJI/MINJI79/minji79.html

登記手続きの詳細はこちらです。
登記インフォメーション
http://info.moj.go.jp/

また、登記簿はインターネットで調べることができるようになりました。
登記情報提供サービス
http://www1.touki.or.jp/

なお、法務局の無料相談窓口では、無料で詳しく教えてもらえます。
その他詳しいことはこちらを参照してください。
http://pc8.2ch.net/test/read.cgi/tech/1120404369/
661名無しさん@そうだ選挙にいこう:2005/09/24(土) 22:07:47
>>660 楽しい土曜の夜にご苦労様
とっても暇な私は、貴方のようなチンカス君の
登場を待ち望んでいました
もっともっと、書き込んでください
662名無しさん@そうだ選挙にいこう:2005/09/24(土) 22:27:18
>>661
同じチンカスがチンカスに向かって何言ってるんだか…(苦笑
663名無しさん@そうだ選挙にいこう:2005/09/24(土) 22:31:00
>同じチンカスがチンカスに向かって何言ってるんだか

だから、チンカスレスをもっともっと読みたいって言ってんだよ・・・(大笑
664名無しさん@そうだ選挙にいこう:2005/09/24(土) 22:34:10
>>663
自覚はしてるんだ(笑
しかし、「とっても暇な私」というあたりにまだ照れが残ってるね。
羞恥心を捨てて「とってもチンカスな私」と名乗ろう。
665名無しさん@そうだ選挙にいこう:2005/09/24(土) 22:35:11
これはいいSM調教ですね
666名無しさん@そうだ選挙にいこう:2005/09/24(土) 22:46:53
とってもチンカスな私です。
チンカスも結構いいもんだよ。
ストレスなんて感じない、ルンルン
もっとイジメテ!!

>659
関数ならSUMIFとかDSUM
とってもチンカスな私は、これ以上の方法は分らない。
667名無しさん@そうだ選挙にいこう:2005/09/24(土) 23:14:32
>>666
DSUM関数でいけますね!ありがとうございます!
これ使えば、暗中模索でナップザック問題にも取り組めますね。便利です。
多量だと無理ですが…。

あとは後半の問題が解決できるように頑張ります。
668名無しさん@そうだ選挙にいこう:2005/09/25(日) 01:13:51
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少しだけ
【4 VBAでの回答の可否】 可


すみません、教えていただけますか。
やりたいことは、VBAからプリンタを手差しトレイに変えて、プリンタ内の設定をシール用設定にしたいのです。

エクセルで印刷した仕分け情報を荷物に貼りたいのですが、印刷しようとすると必ずデフォルトのA4トレイの普通紙用設定になっています。
なので今は印刷プレビューで止めて、「プリンタのオプション」(でしたか)、をクリックして手動でトレイと設定を変えています。

ググッたところアクセスのVBAでPrtDevModeプロパティというのを使うと実現できるようなのですが、エクセルVBAではどうやるのでしょうか?
何卒ご教示お願いいたします。
669名無しさん@そうだ選挙にいこう:2005/09/25(日) 07:02:23
マクロの自動記録機能を使って、どんなマクロになるか調べればいいのでは?
670名無しさん@そうだ選挙にいこう:2005/09/25(日) 07:03:42
>>667
ナップザック問題なら>>5
671名無しさん@そうだ選挙にいこう:2005/09/25(日) 08:17:36
>>668

669氏の意見をふまえテストしてみたけど、
要は登録されているプリンター名を呼び出しているだけ。
ということは、手差し設定でプリンターを登録しておいて
その登録したプリンター名をマクロのところに当てはめれば
いいのでは。
672668:2005/09/25(日) 13:27:05
レスありがとうございます。
>>669
>>671
その手がありましたね!もう一個ドライバを入れてそれを選択しておくと、…ってプリンタ名って登場しましたっけ?
今は家でプリンタもないので試せないのですが、会社で自動記録でやったところプリンタ名は出てきた覚えがなかったような。
ちなみにゼロックスのネットワークにぶら下がってるプリンタです。
でも会社で試してみますね、ありがとうございました。

後学のためにお聞きしたいのですが、エクセルVBA自体(APIも使う必要があるようですが)ではプリンタのトレイをかえるなどの制御は出来ないのでしょうか?
673名無しさん@そうだ選挙にいこう:2005/09/25(日) 13:56:41
プリンタが固定の場合は手差しを指定した状態でファイルを保存すれば、次からも手差しで出ますけど(XL2000以降)。
違うプリンタが通常のになっているPCで保存するとチャラになりますが。

通常使うプリンタとゼロックスのヤツは別物なんですか?
674668:2005/09/25(日) 14:03:32
>>673
使うのはゼロックスだけです。ですがシール印刷する前に普通紙をプリントすることもあるので、シール印刷の時には必ず手差し/シール設定になるようなコートがあれば助かると思ったのです。
675名無しさん@そうだ選挙にいこう:2005/09/25(日) 18:11:20
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

お世話になります。
マクロで印刷範囲を設定したいのですが、
セルL1の値を参照させたいのです。
L1=1 → 印刷範囲 A1:K32
L1=2 → 印刷範囲 A1:K64
L1=3 → 印刷範囲 A1:K96 ・・・
のように32ずつ増えていくのですが、どう記述したらよいか教えて下さい。

ActiveSheet.PageSetup.PrintArea = "$A$1:$K$?" ←?の部分をどう書けばいいのですか?
676名無しさん@そうだ選挙にいこう:2005/09/25(日) 18:15:27
>>675
をいをいw
677名無しさん@そうだ選挙にいこう:2005/09/25(日) 21:11:08
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

お願い致します。
他の場所にデータがあり、例えば"1"と入力すると
定義されたデータのとある数字が反映され、
また"2"と入力すると他のデータが反映されるようにするには
どのようにしたらよいでしょうか?
よろしくお願い致します。
678名無しさん@そうだ選挙にいこう:2005/09/25(日) 21:24:30
>>677
INDEX、又はVLOOKUP・・・・・かな?
やりたいことがわからんのではっきりとは言えん

つーか日本語で頼むよ。
「他の場所にデータ」と「定義されたデータ」の違いは?
「ある数字が反映され」→ 何処に反映されるの?
679名無しさん@そうだ選挙にいこう:2005/09/25(日) 21:30:27
>>678
スマソ
例えば…
B5に"2ch"と入力されていて、
A1に"1"と入力すると、A1にB5のデータが反映される。
なんて事が出来た気がするんだけど。
どうですか?
680名無しさん@そうだ選挙にいこう:2005/09/25(日) 21:46:10
>>679
出来るよ、VBAでね
関数では無理だけど

> ★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)
>  ▼数式・関数
>   ・ 入力したセルの値を書き換える (VBA)

ワークシート関数では入力セル以外に値を返すことしか出来ない。
「1」ではなく「=_1」のような入力でいいなら、この入力自体が式になるので
セルの名前定義と組み合わせて、入力セルに値を返すことも出来るけど。
681名無しさん@そうだ選挙にいこう:2005/09/25(日) 21:56:30
>>680
Excel総合相談所36の時に、
「ど忘れしたぁ」なんて人が質問してて、
VBAなしのもっと簡単な回答が返って来ていたんだけど…
でも=は使っていたな…
どなたか記憶にありませんか?
682名無しさん@そうだ選挙にいこう:2005/09/25(日) 21:59:53
Microsoft Map の地図を自作する方法ってないですか?
地域の大字境界に対応した地図グラフを作りたいんだけど・・・。
ググっても情報なさすぎ、達人様ヘルプ(><)
683名無しさん@そうだ選挙にいこう:2005/09/25(日) 22:00:30
下手な釣りだなぁ
684名無しさん@そうだ選挙にいこう:2005/09/25(日) 22:00:36
>>681
前スレなら自分で見てくればいいじゃん
>>1に前スレのキャッシュへのリンクもあるんだし
んで有ったなら報告しよう
685名無しさん@そうだ選挙にいこう:2005/09/25(日) 22:02:51
>>681
因みに前スレを「忘」という字で検索してみたが
age忘れ、(verや条件の)書き忘れとかしか無かったぞ
他人に為に1から読む気にはならないなら後はお前がやれ。
686名無しさん@そうだ選挙にいこう:2005/09/25(日) 22:11:53
>>684-685
そうですか…ありがとうございます。
過去ログは見れないので、もう少し自分で奮闘してみます。
687名無しさん@そうだ選挙にいこう:2005/09/25(日) 22:13:29
688名無しさん@そうだ選挙にいこう:2005/09/25(日) 22:14:06
もし前スレで
> ★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)
>  ▼数式・関数
>   ・ 入力したセルの値を書き換える (VBA)
を覆すテクが出てきてたなら、テンプレも改正されるわな
どうせあったとしてもVBAか名前の定義か表示形式でも使った方法だろう
これらを使わず数字入力のみで、入力セルに別セルの値を返せたら
Excelの常識がひっくり返るぜ
689名無しさん@そうだ選挙にいこう:2005/09/25(日) 23:30:58
数字の右上に係数のような文字をつけたいのですが、どのようにすれば良いのでしょうか。
690名無しさん@そうだ選挙にいこう:2005/09/25(日) 23:34:47
【1 OSの種類         .】 Windows95
【2 Excelのバージョン   】 Excel97
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

図形描写の円とか、矢印とか直線がグレイアウトしてしまうのですが
私なにかやらかしてしまったのでしょうか????
数値の上に、赤い丸をつけたいだけなのですが。。。。
【5 検索キーワード     】 Googleやヘルプでの検索キーワード
691名無しさん@そうだ選挙にいこう:2005/09/25(日) 23:42:56
>>689
どうぞ、お好きなように。

>>690
結果の一部だけ端的に書かれてもなぁ
そうなるのはひとつのブックなのか全てのブックなのか
Excel、OSを再起動して新規作成したブックでもそうなのか

再起動しても全ブックでその症状のままなら、MS逝きだな
特定ブックだけならお前が何かやらかしたんだろうけど
それだけの情報じゃ何をやらかしたかは特定できん。
シートを保護したり、何らかのダイアログが開いてるとグレイアウトするけどね。
692689:2005/09/26(月) 00:04:04
調べが足りなかったようで、書式のとこで普通にできました。

と言っても、僕はExcelは全く使った事がなく親父から「どうやるんだ」とか聞かれて
ここで質問するに至った訳ですorz

ウチの親父もそうだけどMSOffice使える=PC使えるとか思ってるリーマンが多いっ
ぽくて萎える。
693名無しさん@そうだ選挙にいこう:2005/09/26(月) 01:18:40
イベントプロシージャから標準モジュールのルーチンを呼ぶと、
イベントプロシージャに制御が帰ってこないようですが仕様でしょうか。
以下のようにすると、"戻りました"が表示されず終わってしまいます。

'シート上にボタンを貼ってある
private sub CommandButton1_Click()
call main
msgbox "戻りました"
end sub

'標準モジュール
sub main()

end sub
694名無しさん@そうだ選挙にいこう:2005/09/26(月) 01:32:09
>>693
うちではちゃんと戻ってくるよ。@WinXP、Excel2002

とりあえず再起動や新規ブックで試すという基本的なことやってダメなら
MSに報告しておけ。その前にsub main()の中身をここで晒してもい一度質問するのもいいがな。
本当は最初の質問時に伏せずに書くべき事なんだけど。(>>2 ▼━質問時の注意・決まり事━
695名無しさん@そうだ選挙にいこう:2005/09/26(月) 01:39:20
>>692
脱線すまんが、ネットランナーのような記事の様なことができて「PCが詳しい」と
自称しているよりまし

普通の人ならMS-Officeが使える=PCが使えるだろう
696689:2005/09/26(月) 02:10:19
>>695
>ネットランナーのような記事の様なことができて「PCが詳しい」と自称しているよりまし
見かける度に「脱教えて君特集」と「フリーウェア特集」やってるあの雑誌ですか。
いい加減ネタが尽きてそうだし廃刊になって欲しいですね。

>普通の人ならMS-Officeが使える=PCが使えるだろう
あぁ。。確かにそうですね。詳しいかどうかは別として使える事には間違いないですね。。


ってモロにスレ違いな話題出してすいませんでした。
697名無しさん@そうだ選挙にいこう:2005/09/26(月) 09:36:12
>>691
ありがとうございました。

エクセル立上げ直したら、なおったとです。OTL
超初心者ネタ失礼しました。
698名無しさん@そうだ選挙にいこう:2005/09/26(月) 10:04:27
罫線入りの表を集計し、グループごとに改ページした時、
各ページの残りの余白を罫線で埋める方法はありますか?
699名無しさん@そうだ選挙にいこう:2005/09/26(月) 10:23:11
>>698
その下を強制的に余白して次ページ送りにするのが改ページだろ?
下に表示があったら改ページじゃないじゃん。

ほかの方法で対処したら?
たぶんVBAになるだろうけど。
700名無しさん@そうだ選挙にいこう:2005/09/26(月) 15:09:55
>>698
白紙に罫線だけ印刷した紙をたっぷり作っておき、
表は罫線なしのデータだけで印刷する、っていうのはどう?
701名無しさん@そうだ選挙にいこう:2005/09/26(月) 16:39:31
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 勉強中
【4 VBAでの回答の可否】 今回はVBAには関係ないんでは

銘柄コードを入れた銘柄コードというシートがあります
a列 銘柄コード 範囲 a1 〜 a50
b列 銘柄名 範囲 b1 〜 b50

mainと言うシートのc2に銘柄コードを入れたときに
c3に銘柄名を出したいんで、vlookupの使い方を見て
るんだけど、判らんので教えて下せぇ。

範囲外の銘柄コードが入った時は #N/Aで構わんので。
702名無しさん@そうだ選挙にいこう:2005/09/26(月) 16:47:40
>>701
何がわからんのかがわからん。
なんのひねりもない標準どおりの使い方だろ。
ヘルプ嫁。
703名無しさん@そうだ選挙にいこう:2005/09/26(月) 17:02:17
すんまへんでした。
いちお書いておきます。

=VLOOKUP(C3,銘柄コード!A1:B50,2,0)

704名無しさん@そうだ選挙にいこう:2005/09/26(月) 19:29:16
=VLOOKUP(C2,銘柄コード!A1:B50,2,0)
705座敷荒氏:2005/09/27(火) 08:04:39
教えてください。
下のような表があります。
区分のグラフ(A、B、Cの内訳がわかる円グラフでA=10、B=11、C=24と表示)と
区分別のグラフ(区分Aの内訳がわかる円グラフでA1=4、A2=1、A3=5と表示)を作成したいです。
どのようにしたらよろしいでしょうか。

区分    値
A14
A21
A35
B12
B26
B33
C17
C29
C38


また別の質問ですが、
VBAで自動処理のマクロでセルの結合処理をしているのですが
「選択範囲には複数のデータ値があります。
 1つのセルとして結合すると、選択したセル
 範囲にある最も左上端にあるデータのみが
 保持されます(空白セルは無視されます)。」というメッセージが出力されてしまいます。
自動処理が必須なので、このメッセージを表示せずに処理を続けさせる方法はありますでしょうか。
706座敷荒氏:2005/09/27(火) 08:09:02
↑値がうまく表示されませんでした;
区分の数字一桁目が値です・・

よろしくおねがいします。
707698:2005/09/27(火) 08:26:50
簡単には無理と
thx
708名無しさん@そうだ選挙にいこう:2005/09/27(火) 08:30:06
>>705

そういうグラフが作れるように表を成形しろ


VBAヘルプを「エラーメッセージ」でググった先に答えがある
エラーが出ない条件を作ってから結合処理をするというアプローチもあるがな


前スレで勉強したいって言ってたことだし、あとは自分でかんばれ。
つーか最初の質問(前スレ)ではテンプレ使ってたのに、何故今は使わないんだ?
コテ名乗ってれば皆がお前の環境を覚えてくれてるとでも思ってるのか?
テンプレは必須じゃないけど、環境などの情報は必須だぞ。
709名無しさん@そうだ選挙にいこう:2005/09/27(火) 19:26:50
【1 OSの種類         .】 Windows2000SP4
【2 Excelのバージョン   】 Excel2000/2003
【3 VBAが使えるか    .】 独学中の超初心者(文系)
【4 VBAでの回答の可否】 可

コマンドボタンで、シートの保護/解除を切り替えられるようにしました。
同時に、保護中は他のボタンは押せないようにしてみました。

ActiveSheet.Protect

 DoEvents

   ABC.Enabled = False
   DEF.Enabled = False
   GHI..(以下略)

のように記述してしまっているのですが、各ボタンのプロシージャをひと括りにするように
変数を宣言するには、どのように記述すればよいでしょうか?

また、一部シートだけを除いて、ブック全体に適用させるにはどうすればよいのでしょう?
710名無しさん@そうだ選挙にいこう:2005/09/27(火) 19:43:47
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 勉強中
【4 VBAでの回答の可否】 可

セル内改行されている数字を合計する方法を教えてください。
セル内行数は0〜3行で、値は正の整数だけです。
  1,000↓
  2,000↓
  3,000
711名無しさん@そうだ選挙にいこう:2005/09/27(火) 19:55:04
>>9さんへ
行きずりのものですが、たすかりました。ありがとうございました。
712名無しさん@そうだ選挙にいこう:2005/09/27(火) 20:10:09
>>710
お求めの答えじゃありませんけど。
その形でセル内改行したら、数値じゃなく文字列扱いになるから
話がややこしくなるだけと違います?

素直に別々のセルに入れて、書式を工夫してもっともらしく見える
ようにしたほうが、扱いも簡単で融通利くように思うけど。
承知の上で、それでもやりたいならパスしてください。
713名無しさん@そうだ選挙にいこう:2005/09/27(火) 21:11:15 0
Sheets(1).Columns("A:D").Copy
Range("a1").Select
Sheets(2).Columns("A:D").Select
ActiveSheet.Paste
Sheets(1).Columns("H:I").Copy
Range("a1").Select
Sheets(2).Columns("E:F").Select
ActiveSheet.Paste
Range("a1").Select

一枚目のシートから二枚目のシートへデータをコピーしたいのですが
なぜか止まってしまいます。(3行目で)何が悪いのでしょうか?
よろしくお願いします。
714名無しさん@そうだ選挙にいこう:2005/09/27(火) 21:14:21 0
713ですが、追加です。
Sheets(2)をアクティブで実行すると成功するのですが。
Sheets(1)をアクティブで実行すると失敗します。
715名無しさん@そうだ選挙にいこう:2005/09/27(火) 21:16:26 0
Select するから。
Application.Gotosでない限り、Selectできるのはアクティブなシートだけ
Selectしたいなら、Sheets().Activateなどでアクティブにしてから改めてRange()をSelect

でも、今回の内容なら、

Sheets(1).Columns("A:D").Copy Destination:=Sheets(2).Columns("A:D")
Sheets(1).Columns("H:I").Copy Destination:=Sheets(2).Columns("E:F")

ですむよ。

Range("a1").Select
716名無しさん@そうだ選挙にいこう:2005/09/27(火) 21:17:35 0
最後の Range("a1").Select  は消し忘れ。スマソ
717713:2005/09/27(火) 21:19:28 0
不勉強でスイマセン。=の前の:の意味はなんなんでしょうか?
718座敷荒氏:2005/09/27(火) 22:20:02 ID:0
>>708

回答ありがとう。
ベンキョさせてもらいます。

テンプレの件は忘れてました。
すいません。気をつけます。
719名無しさん@そうだ選挙にいこう:2005/09/27(火) 23:31:42
>>709
文系の割には日本語がなってねーな。
それとも単に用語を理解してないだけなのかな?

> 各ボタンのプロシージャをひと括りにするように
> 変数を宣言するには
プロシージャをひと括りにするのと変数とどういう関係があるんだ?
複数のイベントプロシージャをひと括りにしたいならクラス使え
複数のコントロールへの同一処理(Enabled = Falseとか)をひと括りにしたいなら
コントロールの名前を「任意文字列+連番」にしてControlsとForループ使え
同一種のコントロール全てに同じ処理をしたいなら
Controlsコレクションに対するFor Eachループ回してTypeName関数で分岐させるとかも可能
複数のプロシージャで変数を共有したいなら、モジュールレベルの変数を宣言しろ

> 一部シートだけを除いて、ブック全体に適用させるには
条件分岐とループ。IfでもSelect Caseでもお好きな物で分岐させ
For EachでSheetsコレクションに対してループを回す

勉強中ってことだし具体的に何がしたいのか書いてないのでコードは伏せる

>>710
>>712氏も言ってる通りセル内改行されてる場合、内容が数値でも扱いは数値ではなく文字列になるので
計算するにはまずこれを1行単位に直さなければならない。
んで方法は文字列型の動的配列を宣言して、その変数にSplit関数で改行分割した値を入れる。
あとは配列に対してループ回して数値変換を挟んで加算処理すればいい。後は自分でがんばれ。
720710:2005/09/28(水) 01:12:13
>>712
自分で作るならそうしますが、すでに大量のシートが出来てますので。
説明不足ですいませんでした。
>>719
ありがとうございます。やはりそういう方法しかないですか。
721名無しさん@そうだ選挙にいこう:2005/09/28(水) 01:18:53
>>720
> やはりそういう方法しかないですか。
何か不満なの?

最初に書いた「 セル内改行されている数字を合計する」という要望ま満たせると思うが
何か後出し条件でもあるのか?
722709:2005/09/28(水) 02:40:19
>>719
禁句ではありますが、ズブの初心者ゆえの齟齬はご容赦下さいませ…。
ご指摘の通り、用語がまだまだ理解しきれていません。


>複数のイベントプロシージャをひと括りにしたい

これに相当します。クラスモジュールというやつでいいのでしょうか。
JAVA Scriptなどのclassと同じようなものですよね?これなら分かりそうです。

後者の問題は、適用外のシートだけを右端に寄せて、左からインデックス番号で処理できないかと
思いついた(ホントに思いつき)ので、まずこれでやってみようかと。
ダメでしたら素直に条件分岐でループさせる事にします。


具体的なコードももちろんですが、「他にはこうできる」という方向性を示して頂けるだけでも
非常に勉強になります。ご回答ありがとうございました。
723急ぎですいません:2005/09/28(水) 09:16:53
すいません、教えてください。
エクセルで、任意のセルにデータを写したい場合、それを満たす
関数なんかはあるのでしょうか?もしくはアドイン、マクロとか。
例えばA1セルに入力したデータを、B1セルに反映させたい時、
受け側のB1セルは空白(何も条件等を指定しない)のままで、
A1セルのデータをそのままB1セルにも写したいんです。
可能であれば別のセルをどのように使用しても結構です。
ご教授ください。
724名無しさん@そうだ選挙にいこう:2005/09/28(水) 09:27:01
急いでるなら日本語で質問してくれ
>>723の内容じゃ、解読だけで数年掛かりそうだ
725名無しさん@そうだ選挙にいこう:2005/09/28(水) 09:45:55
>>723
関数ではダメ。
自分でマクロ書く。
元のセルとデータを写したい先のセルは、あなたしか知らないのだから。
726名無しさん@そうだ選挙にいこう:2005/09/28(水) 09:50:00
>>723
http://www.tt.rim.or.jp/~rudyard/torii009.html

http://pc8.2ch.net/test/read.cgi/bsoft/1108415391/475
475 名前:急ぎですいません[] 投稿日:2005/09/28(水) 09:14:07
すいません、教えてください。
エクセルで、任意のセルにデータを写したい場合、それを満たす
関数なんかはあるのでしょうか?もしくはアドイン、マクロとか。
例えばA1セルに入力したデータを、B1セルに反映させたい時、
受け側のB1セルは空白(何も条件等を指定しない)のままで、
A1セルのデータをそのままB1セルにも写したいんです。
可能であれば別のセルをどのように使用しても結構です。
ご教授ください。
727名無しさん@そうだ選挙にいこう:2005/09/28(水) 09:51:39
ホントに急いでるんだなw
728名無しさん@そうだ選挙にいこう:2005/09/28(水) 14:30:33
すいませんが教えてください。
001.xlsから100.xlsまでのファイルを別のファイルから参照するのですが
1行目  \[001.xls]sheet1'!$a$1 ・・・
2行目  \[002.xls]sheet1'!$a$1 ・・・
3行目  \[003.xls]sheet1'!$a$1 ・・・

以降、004〜100.と参照するのに
***.xlsの部分を1行ごと手入力の必要なしで一気に作る方法はないでしょうか?
729名無しさん@そうだ選挙にいこう:2005/09/28(水) 14:43:38
>>728
Excelってソフト使って書くと便利だよ
730名無しさん@そうだ選挙にいこう:2005/09/28(水) 15:43:04
>>728
・A列のA1からA100にオートフィルで1から100までの数字を作る。
・B1に次の数式を入力して、オートフィルでB100までコピー
="\["&TEXT(A1,"000")&".xls]sheet11'!$a$1 ・・・"
・B列をコピーして、「値」だけ好きなところへ貼って使う
731728:2005/09/28(水) 16:04:28
>730
助かりましたありがとうございます。
732730:2005/09/28(水) 16:09:50
>>731
お礼を言われた後でなんですが。
1行目から100行目まで使うのなら、これだけでよかった..orz
すまんです。
="\["&TEXT(ROW(),"000")&".xls]sheet11'!$a$1 ・・・"
733名無しさん@そうだ選挙にいこう:2005/09/28(水) 16:35:06
教えてください。
仕事でよくEXLを使って見積書などを作成してます。
その時、マクロを使っていたのですがあるとき突然使えなくなりました。
また、初めからマクロを作成すればいいだろうと思い作業をしようとすると
「起動フォルダにある個人用マクロブックは記録の為に開かれた状態でなければならない」
という警告が・・・。
どうすればよいのでしょうか?

OSはXPのProfessionalです。EXLは2002です。

おかしくなる前に他人が少しの期間使っていました。
「何かさわった?」と聞いたのですが「いいえ」との事です。
宜しくお願いいたします。
734名無しさん@そうだ選挙にいこう:2005/09/28(水) 16:38:39
EXLは使ったことないから分からないなぁ
735名無しさん@そうだ選挙にいこう:2005/09/28(水) 16:45:59
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 かじった程度
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 マクロ シート 保護 ロック

表のページを増やす作業なんですが、
手動でシートの保護を解除して、あとはマクロで
1、コピー&ペースト
2、シートの保護(ロックされたセルは選択不可)
3、上書き保存
までを作成したのですが、
次にブックを開いた時、2で「ロックされたセルは選択不可」とした筈が
選択出来るようになってしまいます。

シート保護部分の記述は、自動記録を引用して
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True
ActiveSheet.EnableSelection = xlUnlockedCells
となっています。

解決策をご存知でしたら、ご教授下さい。
お願いします。
736名無しさん@そうだ選挙にいこう:2005/09/28(水) 16:48:06
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 NO
【4 VBAでの回答の可否】 稲

これをカレンダーのような感覚で。
A(セル) B
9/12 月曜          9/12    会議A,B
9/19 月曜    →     9/19    会議A,B
9/22 木曜          9/22     会議E
9/28 水曜          9/28     会議D

曜日ではなく他の文字で算出させるにはどうしたらよいのでしょう?

737名無しさん@そうだ選挙にいこう:2005/09/28(水) 17:01:46
>>735
うちではちゃんとロックされるけど
Protectメソッドで保護して、保護時のみ有効な
EnableSelectionプロパティでロックされたセル選択を禁止する。
もしかしてEnableSelectionを外してないか?

>>736
何がしたいのか、エスパー以外でも解るように説明して
738名無しさん@そうだ選挙にいこう:2005/09/28(水) 17:06:59
>これをカレンダーのような感覚で。

これってどれだ
739728:2005/09/28(水) 21:02:44
すみません>>728ですが
>>730様の方法で貼り付けると、1つごとに参照ファイルをエクスプローラーから選択させられて
10件程度ならなんとかなりますが、100回も操作をするのは結構な手間で、このエクスプローラーが開くのを強制的にやめさせる方法はないでしょうか?

度々申し訳ありません。
740名無しさん@そうだ選挙にいこう:2005/09/28(水) 21:22:46
>>739
どういう参照の仕方をしとるのかようわからんけど、参照先ファイルの
値がほしいだけならリンク貼り付けの形にしとけばええだけと違う?

それしか思い浮かばんので、勘違いだったらすまん。
741728:2005/09/28(水) 22:02:20
形式は同じブックで001〜100.xlsなんですが
別のブックでとりまとめを行いたいのです。
='C:\TEST\[001.xls]sheet1'!$A$1
のように001-100のブックから抽出したセル毎の集計とかをおこないたいのですが、
セルに上記式をペーストするとエクスプローラーからファイルをいちいち指定させられまして。


742名無しさん@そうだ選挙にいこう:2005/09/28(水) 22:08:32
表に大幅な変更を加えたファイルを保存せず閉じてしまい
変更前のファイルに戻ってしまいました。

これを復元する方法ってありますか?
743名無しさん@そうだ選挙にいこう:2005/09/28(水) 22:17:06
どなたかご存知ないでしょうか?。
寝ないで作り上げたシートがパーになってしまった。
もうクビだ・・。
744名無しさん@そうだ選挙にいこう:2005/09/28(水) 22:23:09
>>742
自動保存が利いてれば残ってるかもな
User Profileの「Application Data\Microsoft\Excel」を漁ってみな
無ければ復元ソフトでUser Profileがあるドライブを漁れ
これでダメだったら無理だ
一度保存してから削除したファイルとは訳が違うからな
745名無しさん@そうだ選挙にいこう:2005/09/28(水) 22:25:09
ありがとう。やってみます
746名無しさん@そうだ選挙にいこう:2005/09/28(水) 23:04:21
excel2002で文字を隠し文字にすることは可能でしょうか?
作業中は見えるが、印刷には出ないようにしたいです。
747名無しさん@そうだ選挙にいこう:2005/09/28(水) 23:09:12
>>746
ラベルに書いて印刷しない設定にする
748名無しさん@そうだ選挙にいこう:2005/09/28(水) 23:21:32
>>741
実際に試してみました。
結果。A1セルに
="='C:\test\["&TEXT(ROW(),"000")&".xls]Sheet1'!$A$1"
という式で ='C:\test\[001.xls]Sheet1'!$A$1 を作り、
オートフィルで001〜005まで増やしてコピー。
別のところに値だけ貼り付け。貼り付け先には
='C:\test\[001.xls]Sheet1'!$A$1
   :
='C:\test\[005.xls]Sheet1'!$A$1
と表示されるけど、数式バーでクリックしていくとちゃんとリンク先の値に変わります。

結論。リンク先作る数式を、どこか微妙に間違えてません?
ダイアログが開くのは、リンク先のファイルをExcelが特定できないからです。
749名無しさん@そうだ選挙にいこう:2005/09/28(水) 23:29:16
>>747
できました。ありがとうございました。
750742:2005/09/28(水) 23:44:10
見つかりませんでした・・・。

自動保存は「10分ごと」に設定してて
保存フォルダには1個ファイルがありましたが別のファイルでした。

作業してたファイルに変更をしてた際に、そのファイルを開いたまま
五時間ほど寝てたのですが
その間、自動保存はされていたはずだと思うのですが
自動保存されるフォルダは1個しか存在しないもんなんでしょうか?。

10分間隔で自動保存されたファイルがズラッと並んでいると思ってたのですが
1つのフォルダに上書きで10分ごとに自動保存されるもんなんでしょうか?。
751名無しさん@そうだ選挙にいこう:2005/09/28(水) 23:53:52
>>750
自動保存履歴数を設定できるアプリでない限りは、同名ファイルは上書きし続けるでしょ。
752名無しさん@そうだ選挙にいこう:2005/09/28(水) 23:56:40
>>750
標準機能の自動保存は上書きだよ
うちの環境ではマクロ使って定期的に日時をファイル名に付加した別名バックアップ作ってるけど
逆に定期的に整理しないとバックアップファイルで溢れかえる
それと確か正常終了すると、保存の有無に関わらず基本的にバックアップファイルは削除される
だから「復元ソフトでUser Profileがあるドライブを漁れ」って言ったんだよ
但しUser Profileがあるドライブは一時ファイルやインターネットキャッシュなんかで
書き換えの激しいドライブだから望みは薄いけどね

元々自動保存は、保存せずに異常終了したり、停電などで電源が切れてしまった場合などに
未保存のデータを復元させる機能であり、保存せずに正常終了させるようなアホの為の機能じゃない
最後の頼み綱として漁ってみてダメだったなら諦めな
753名無しさん@そうだ選挙にいこう:2005/09/29(木) 00:26:07
【1 OSの種類         .】 WindowsXP SP2
【2 Excelのバージョン   】 Excel2003

質問させて下さい
セルに(1)と入力してEnterを押すと表示が −1 になってしまいます
表示も(1)にするにはどうすれば宜しいでしょうか?
アドバイスよろしくお願いします
754742:2005/09/29(木) 00:26:37
復元ソフトで漁ってみましたがダメでした。
見つかったのは、自動保存された別のファイルだけ。


ttp://www12.plala.or.jp/nombo/soft7.html

このソフトダウンロードしました。
もっと早く知っておけばよかった・・。

皆様ありがとうございました。
もう一度作業をやり直します。
755名無しさん@そうだ選挙にいこう:2005/09/29(木) 00:32:34
>>753

>>7 = FAQ: 入力した値が変わる? =
756名無しさん@そうだ選挙にいこう:2005/09/29(木) 00:45:13
>>755
アドバイス有難うございます
初心者な者で試してみましたが今だに −1 になってしまいます
757名無しさん@そうだ選挙にいこう:2005/09/29(木) 01:01:04
自分のパソコンまだエクセルとか出来る設定になってません。やりたいのですがどうしたら良いですか?
758名無しさん@そうだ選挙にいこう:2005/09/29(木) 01:19:12
>>756
お前がちゃんと出来てないだけだ
759名無しさん@そうだ選挙にいこう:2005/09/29(木) 01:59:15
選択したセルに現在時刻を入力するショートカットがありますよね。
あれをマクロボタンをクリックするとできるようにしたいんです。
ボタンの中にどんなマクロ文を埋め込めば良いのですか?
おねがいします。
760名無しさん@そうだ選挙にいこう:2005/09/29(木) 02:06:06
>>759
アクティブセル.値 = 現在時刻
表示形式も指定したいなら
アクティブセル.表示形式 = "表示形式定義"
も入れる。
それぞれどう書くかはVBAヘルプ見ればすぐ解るだろう。
761759:2005/09/29(木) 02:15:52
>>760
即答ですね!
助かりました。ありがとうございます。
762名無しさん@そうだ選挙にいこう:2005/09/29(木) 13:45:34
セルAに日付が「05/09/29」のように格納されているxlsデータがありますが、
これを自分で使いやすいように「20050929」のように変えたいと思っています。
いま、「05/09/29」を色反転させてBackSpaceキーで消してから「20050929」を入力して
Enterキーを押しても、「05/09/29」のままで「20050929」にはなりません。
どうしたらセルAを「05/09/29」から「20050929」に変更できるでしょうか?
763名無しさん@そうだ選挙にいこう:2005/09/29(木) 13:53:37
セルAに日付が「05/09/29」のように格納されているxlsデータがありますが、
これを自分で使いやすいように「20050929」のように変えたいと思っています。
いま、「05/09/29」を色反転させてBackSpaceキーで消してから「20050929」を入力して
Enterキーを押しても、「05/09/29」のままで「20050929」にはなりません。
どうしたらセルAを「05/09/29」から「20050929」に変更できるでしょうか?
764名無しさん@そうだ選挙にいこう:2005/09/29(木) 14:01:09
>>762-763
表示形式を変更
765762です。:2005/09/29(木) 14:23:34
>>764
ありがと ! !
書式→セル→表示形式でできました。
766728:2005/09/29(木) 20:40:37
>>748
遅くなりましたがアリガトウございました。
ご指摘の通り参照位置を間違えてました。
本当に助かりました。m(_ _)m
767名無しさん@そうだ選挙にいこう:2005/09/29(木) 21:24:48
Windows2000・Excel2000です。

VBAで連続したセルに任意の並びの文字を
一文字ずつ順番に代入したいのですが、コードはどんなふうになりますか。
例えばC、V、Zという文字の並びがあって、
セルの一つめにはC、二つめにはV、というふうに
セルの数だけ順に代入をくり返します。
当然指定したセルの範囲が終われば代入も終わります。
今日一日考えましたが、四セルめの処理では、またCの文字を
持ってこなくてはならず、そこの仕組みが考えつきませんでした。
768名無しさん@そうだ選挙にいこう:2005/09/29(木) 21:43:59
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 15桁以上 数値 

初心者です。宜しくお願い致します。
15桁以上の数値(12345678910111213141516)を表示したいのですが、
1.234E+20 と指数で表示されます。
数値として表示させる方法は何かあるのでしょうか?
769名無しさん@そうだ選挙にいこう:2005/09/29(木) 21:46:03
>>767
@最初の3つだけ入力してからAutoFill
Aループ回して「カウンタ変数 Mod 3」でSelect Case
B(0,2)要素の配列にC,V,Zを格納して、Step 3のループで代入
770名無しさん@そうだ選挙にいこう:2005/09/29(木) 21:52:00
>>768
表示形式で指定すれば普通に表示出来るけど
数値では15桁以上は000で表示される仕様。
12345678910111213141516 > 12345678910111200000000

ただ目的が「表示したい」だけなら数値である必要もないんだから
数字文字列として表示させれば「12345678910111213141516」をそのまま表示出来る。
771768:2005/09/29(木) 21:58:23
>>770
ありがとうございます。

目的は、30桁の数値を並び替えしたいのです。
テキストに10,000行ほどコードがあり、それをExcelにコピペして
昇り順に表示をしたいと思っております。
諦めた方がいいのでしょうか?
772名無しさん@そうだ選挙にいこう:2005/09/29(木) 22:09:01
>>771
出来ないこともないけど、テキストに書かれた数字を
数値としてソートしたいだけなら普通にソートツール使った方が早い

ExcelでVBA使わずに30桁のソートをやるなら
A列に文字列として30桁の数字を表示させ
BCD列に10桁区切りの文字を数値に直したものを返す。
んでB > C > Dの優先度で並べかえするとか。
やり方は文字列操作関数を調べな。
773768:2005/09/29(木) 22:19:02
>>772
早速に有難うございました。
ソートツールと文字列操作関数でチャレンジしてみます。
774名無しさん@そうだ選挙にいこう:2005/09/30(金) 02:10:10
はじめましてこんばんわ。
エクセルに一定間隔に数値を入力するごくシンプルなロガーを使用しているのですが
その数値をリアルタイムに監視して特定の値以上になれば、○を入力する方法を教えてください。

例として。
1秒ごとにpHを自動でセルに入力させ、pH=7以上で○をつける状況とします。

A B C
1 6
2 6
3 7 ○
4
5

A列は秒、B列がpH、でC列にリアルタイムで条件に沿った判定をリアルタイムで書き込んでくれる例。
(測定開始から3秒経過した時点)

こんな感じのマクロ(?)をお願いします。

【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】マクロ リアルタイム エクセル
775名無しさん@そうだ選挙にいこう:2005/09/30(金) 02:39:18
>>774
C列に=IF(B1>=7,"○","")て関数入れるんじゃダメなの?
776名無しさん@そうだ選挙にいこう:2005/09/30(金) 02:50:24
>>774
俺も関数使えばいいだけだと思うが、どうしてもマクロがいいならテンプレ3で「少しは使える」と答えられるようになれ
こういう無限ループはメインの処理自体は簡単だが、管理するにはただ実行すればいい単発マクロと違って
多少のVBA知識が必要になる。

とりあえずメインの処理はこんな感じ。これで解るようじゃないとマクロを使うのは無理。
For i = i To Cells(65536, 2).End(xlUp).Row
 If Cells(i, 2).Value >= 7 Then Cells(i, 3).Value = "○"
Next i
Application.OnTime Now + TimeValue("00:00:01"), "再帰呼び出し"
777名無しさん@そうだ選挙にいこう:2005/09/30(金) 19:37:03
【1 OSの種類         .】 WindowsXP SP2
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 NOooooo

時間の計算で
a1 に時間 b1に=now()でこのファイルを開いた時間 でc1に =a1-b1としたら全然駄目なのは何故?
b1に時間を固定して見たら計算は大丈夫なのに。

778名無しさん@そうだ選挙にいこう:2005/09/30(金) 19:50:45
A1にはなんて打ち込んでる?
C1の表示形式は?
779名無しさん@そうだ選挙にいこう:2005/09/30(金) 19:56:02
> 全然駄目なのは何故?
Excelでの日時データの基本を知らないから

nowは現在時刻ではなく現在日時を返し
セルに時刻だけを入力すると「1900年1月0日 入力時刻」となる
「1900年1月0日 〜」-「2005年9月30日 〜」は当然エラーだからな。
780名無しさん@そうだ選挙にいこう:2005/09/30(金) 19:57:22
>>778
あ、ども。
例えばa1 には 17:30 とか
c1の表示形式は何も設定せずです。ただ、表示形式を例えば[hh]:mmとかに変えても時刻の13:30とかでも
駄目みたいなんで。
781名無しさん@そうだ選挙にいこう:2005/09/30(金) 19:59:19
>>779
それじゃ、どうすればよろしいんで?
782名無しさん@そうだ選挙にいこう:2005/09/30(金) 20:03:11
特定日時までの時間を返したいのか
日付に関係なく、特定時刻までの時間を返したいのかどっちなの?
783名無しさん@そうだ選挙にいこう:2005/09/30(金) 20:04:28
日付に関係なく、「特定時刻までの時間」っす。お願いしますm(__)m。
784名無しさん@そうだ選挙にいこう:2005/09/30(金) 20:06:48
=TODAY()+A1-B1
785名無しさん@そうだ選挙にいこう:2005/09/30(金) 20:10:08
>>784
ありがと!です m(__)m。一見簡単そうに見えた事でこんなにはまるとは (^^;。
786名無しさん@そうだ選挙にいこう:2005/09/30(金) 20:26:35
まあ、日時計算は初心者が陥りやすいものではあるな
シリアル値が1900/1/0 0:00:00から始まり、
1日(24時間)=1だってことだけ覚えてれば大抵問題ないけど。
787名無しさん@そうだ選挙にいこう:2005/09/30(金) 20:36:14
Excelでグラフを式にさせると、結果が
332093e-0.0373x
と出てきました。
これってどういう数式に直せばいいの?
788名無しさん@そうだ選挙にいこう:2005/09/30(金) 21:15:33
=332093*POWER(10,-0.0373*x)
のことか?
789名無しさん@そうだ選挙にいこう:2005/09/30(金) 21:34:09
=332093*EXP(-0.0373*x)
では?
790名無しさん@そうだ選挙にいこう:2005/09/30(金) 22:31:39
エクセルで計算したいんですけど
積分の中にERF関数が入ってるからマクロも使えないし、そもそも積分の関数が無い!
どうすればいいのでしょうか?
791名無しさん@そうだ選挙にいこう:2005/09/30(金) 23:01:10
790はマルチ、以後放置で。
792774:2005/09/30(金) 23:09:43
>>775
確かに○じゃぁ意味は無いのですが、本当は音を出そうと思っています。
それは自分で調べることにしようと思って簡単なValue = "○"にしました。
>>776
ForとIf、Thenの行だけは直感でなんとなくわかりましたが、後はわからないですね。
チョイと私には敷居が高すぎるようなので、今回はあきらめます。

ちなみに>776に書いてあるマクロは一度実行すれば、後は放っておいても
数値が入力されるたびに○が入力されるのですか?
793名無しさん@そうだ選挙にいこう:2005/09/30(金) 23:20:29
>>792
あとは変数値の保持だけすればね。
それの方法によって処理への入り方も変わるし
中断フラグも作らないと実用にはならないだろう。
794名無しさん@そうだ選挙にいこう:2005/10/01(土) 00:47:15
windowsXPで、excel2003を使用しています。
ツールバーを変更したのですが、全ての、ほかのブックにも
同じ変更したツールバーを使いたいのですが、やり方が全然わかりません。
新しくブックを開くと、初期状態に戻ってしまいます。
どのように設定すればいいのでしょうか?
795乱文でごめんなさい:2005/10/01(土) 01:41:26
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 空欄の数 Excel

現在1000人規模のアンケートの集計結果をまとめる作業を行っています
項目毎に列を作り 又 人数分行を作る事にしています
感じとしてはこんな感じです

    項目1 項目2 項目3
一人目  A    B   C
二人目  D    E   F
三人目  空欄  空欄  空欄

この時に、[全ての項目が空欄の人数]を数えたいのですが、可能でしょうか?
尚、フラグを立てて 他のセルを使い 合計数を取得等の 別セル 別シートを使わず
一つのセルに ポンッと人数を出す方法を模索しております(上司が別セル使うのは嫌だと申しておりまして…)

可能である場合、それはVBAを使用しなければいけないでしょうか?
やり方まで教えてもらうのは大変な事でしょうから、可能か不可能かだけ教えていただけないでしょうか?
後は自分で調べますので、どうかご解答お願いします

796乱文でごめんなさい:2005/10/01(土) 01:51:52
もしご解答頂けましたら、何かお礼致します
797見やすいでしょ?:2005/10/01(土) 02:19:22
自分で見直して分かりづらかったので、書き直します
---------------------------------------------
   |項目1|項目2| 項目3|項目4
一人目| A |   |  C | 
二人目|   |   |    | D
三人目|   |   |    |
四人目|   |   |    | 
五人目|   | B |    | D
六人目|   |   |    | D
七人目| A | B |  C | D
八人目| A |   |    | D
 
全て空欄の人の数 2
----------------------------------------------------------
*3,4人目が全て空欄の人
*フラグ用セル シート使用せず

私、今データ集計用マクロを見て回ってるのですが…
マクロってすごい!Excelってすごい!MicroSoft社すごい!
798名無しさん@そうだ選挙にいこう:2005/10/01(土) 02:34:45
配列数式使えば出来るでしょ
「可能か不可能かだけ」でいいとは書いてるけど「やり方」を書くなとは書いてないし
簡単なので答え書いておく
>>797の表の内容の範囲がB2:E9だとすると
=SUM(IF(B2:B9&C2:C9&D2:D9&E2:E9="",1,0))
でCtrl+Shift+Enter

んじゃお礼は、配列数式も知らないのに
「別セル 別シートを使わず」だのなんだのぬかしてるバカ上司の命ってことで
そいつ頃しておいて
799名無しさん@そうだ選挙にいこう:2005/10/01(土) 02:40:46
>>797

この方が簡単。

=SUMPRODUCT((B2:B9="")*(C2:C9="")*(D2:D9=""))



800うわあああ:2005/10/01(土) 03:00:49
>>798 799
うわああぁぁあっぁあぁっぁぁ
有難う御座います!っ!!

上司に早速メールした所、2chってすげーな!って言ってました
ちなみに上司は私をさしおいて寝てたそうです^^
明日ぶっ殺しておきますね^^
本当ありがとう御座います!
それにしても、私じゃ何時間かけて調べても出てこなかったでしょう…
801名無しさん@そうだ選挙にいこう:2005/10/01(土) 09:50:02
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 すこし
【4 VBAでの回答の可否】 おねがい

セルを変数を利用して(cells(i,y)形式で)いろいろ移動している時に
現在のセルがa2,h22とかの形式ではどこになるのか知るにはどうしたら良
いかな?
802名無しさん@そうだ選挙にいこう:2005/10/01(土) 10:01:14
>>801
address(0,0)
803名無しさん@そうだ選挙にいこう:2005/10/01(土) 10:24:13
>>802
addressを手がかりにエクセルのヘルプを探し、以下の形で出せる事が出来ました。さんきゅ

Dim i As Integer
Dim mc

i = 0

Do
i = i + 1
Set mc = Cells(i, 1)
MsgBox mc.Address()

Loop Until i > 4

804名無しさん@そうだ選挙にいこう:2005/10/01(土) 11:00:30
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

列Aの1,2,3,4,5,6,7,8......と縦方向に入力されたデータがあるのですが
その列Aの各行を1つ1つ列に移動したいのですがどのようにすればよいのでしょうか?

例…
/.A
1□
2■
3□
4■
5□
6■
7□
8■


これを… 

/.ABCD…と続く
1□■□■□■□■

このように、横にしたいのです。
*□■が入力データの仮定です。

よろしくお願いします。
805名無しさん@そうだ選挙にいこう:2005/10/01(土) 11:08:33
形式を選択して貼り付け > 行列を入れ替える
806名無しさん@そうだ選挙にいこう:2005/10/01(土) 11:09:17
>>804
[コピー]-[形式を選択して貼り付け]-[行列を入れ替える]じゃダメなの?
807804:2005/10/01(土) 11:36:19
>>805
>>806
出来ました。ありがとうございます。
808名無しさん@そうだ選挙にいこう:2005/10/01(土) 13:00:10
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

教えてください。
ファイル作成日の翌日が頭に付くようにファイル名を変えたいのですがうまくいきません。
例えば今日なら
2005年10月02日納品filename.xls
という感じです。

Sub a()
Dim dteDate As Date
dteDate = Range("A1") ’例えばA1には「2005/10/2 12:22:53」と入っており、
MsgBox Day(dteDate)  ’これを値でペーストしなおすことで日にちを固定しています。
MsgBox Month(dteDate)
MsgBox Year(dteDate)
End Sub

現状、実行結果は
2005
10
2
となってしまいます。これを
2005
10
02
というように月、日を二桁にする方法はないでしょうか?
2005、10、02というのが手に入れば、後は何とかしてファイル名を細工するつもりです。
よろしくご教示下さい。
809名無しさん@そうだ選挙にいこう:2005/10/01(土) 13:11:10
MsgBox Format(Date + 1, "yyyy年mm月dd日")
810808:2005/10/01(土) 13:18:19
>>809
即レス感謝です。
なんてスマートなんでしょう。
ありがとうございました!
811名無しさん@そうだ選挙にいこう:2005/10/01(土) 15:29:04
質問させてください。
先頭から5文字までを取得するにはどうやるのでしょうか。

myTxt =0123456
のとき
myTxt2 = 01234というように文字を取得したいのです。
宜しくお願いします。
812名無しさん@そうだ選挙にいこう:2005/10/01(土) 15:31:20
left(myTxt,5)
813811:2005/10/01(土) 15:36:24
>>812
ありがとうございます。助かりました。
814教えてください:2005/10/01(土) 22:57:52
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

 エクセルの表でいろんな車の車種名からメーカーに変換出来るように
 したいのですがどのようにすればいいのですか。教えて下さい。
 例えばカローラやセルシオって入力したらトヨタって変換出来るように
 したいのですが。車種名の数も多いので・・・
815932:2005/10/01(土) 23:11:32
まず表を自分作らなければ駄目でしょ
816名無しさん@そうだ選挙にいこう:2005/10/01(土) 23:12:20
>>814
愛と努力と根性でVLOOKUPです。
817名無しさん@そうだ選挙にいこう:2005/10/01(土) 23:56:07
エクセルファイルのプロパティで見られる「最終保存者」って項目を
見られないようにする方法はありますか。
818名無しさん@そうだ選挙にいこう:2005/10/02(日) 00:00:16
大変基礎的で恐縮ですが、エクセルの操作が一通り分かると
マクロとVBAどちらを勉強すればより理解が深まりますか?
819教えてください:2005/10/02(日) 00:14:58
返答ありがとうございます。VLOOKUPですか?素人なもんで・・・頑張ってみます。
うまく出来ない時はまた質問しますのでお力を貸してください。
820名無しさん@そうだ選挙にいこう:2005/10/02(日) 00:18:29
>>818
ExcelのマクロとはVBA処理の一部ですよ
VBA処理の中で、引数を取らないSubプロシージャのことをマクロと言います
マクロはVBAであり、VBAにはマクロを含む。「どちらを勉強すれば」というものじゃないです。
821名無しさん@そうだ選挙にいこう:2005/10/02(日) 00:19:04
822名無しさん@そうだ選挙にいこう:2005/10/02(日) 02:12:30
>>811-812
俺、ワークシート関数と同じ「mid(myTxt,1,5)」でずっとやってたよ。
そんなのあったのか・・・orz
横から勉強になりました。
823名無しさん@そうだ選挙にいこう:2005/10/02(日) 02:17:20
ワークシート関数にも、leftもrightもあるぞ
824名無しさん@そうだ選挙にいこう:2005/10/02(日) 12:40:33
【1 OSの種類         .】 Windows98SE
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

お世話になります。
シートはが一枚しかないファイルが、複数(50枚程度)あります。
シートの名前はすべて「sheet1」です。

効率よく、すべてのファイルについて
シートの名前をファイル名に変更する方法があれば教えてください。

よろしくお願いします。
825名無しさん@そうだ選挙にいこう:2005/10/02(日) 12:48:59
【1 OSの種類         .】 WindowsXP sp2
【2 Excelのバージョン   】 Excel2003 sp2
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 いいえ

こんばんは、よろしくお願いします。


エクセルの表を、メールソフト(Outlook Express、BeckyのHTML形式メールで試行)に
貼り付けて送信しようと思ったのですが、表中の文字列の中央揃えや右揃えの書式が
反映されず、左揃えになってしまいます。

これはどうしたものでしょう? 仕方ないものですか?
826818:2005/10/02(日) 13:14:28
>>820 ありがとうございました(恥)
827名無しさん@そうだ選挙にいこう:2005/10/02(日) 14:03:35
>>824
VBAです。
ファイル操作をVBAでするなら、自分でもある程度理解できないと危険です。
以上。
828名無しさん@そうだ選挙にいこう:2005/10/02(日) 14:51:54
829名無しさん@そうだ選挙にいこう:2005/10/02(日) 15:37:33
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 いいえ

   表
9/12 A \500
9/13 B \1000
〜〜〜〜〜〜〜〜
9/29 B \2000
9/30 A \1000

     合計\4500
     A合計\1500
     B合計\3000

Aだけの金額合計、Bだけの金額合計を出したいのですが、なにか良い方法はありませんか?
今まではSUMで各々のセルを選択していたのですが、どうにか出来ないものかと相談に来ました。
830名無しさん@そうだ選挙にいこう:2005/10/02(日) 15:52:10
入力規則からリスト作ったんですが。
▼から表示されるリストの表示を大きくする方法って
ありますか?リストが小さくて見にくいんです。
831名無しさん@そうだ選挙にいこう:2005/10/02(日) 15:55:53
>>829
計算用の列を作ればいんじゃね?可能ならば。

Aの合計を計算する列に       
=IF(B1="A",B2,0)
って式入れといて、Aの時だけ、金額入って、Aじゃないときは0入れる
ようにしといて、合計すればAだけの金額合計出るんじゃね?


832名無しさん@そうだ選挙にいこう:2005/10/02(日) 15:56:58
>>829
配列数式でできそうな希ガス
833名無しさん@そうだ選挙にいこう:2005/10/02(日) 15:57:40
>>831
つSUMIF関数
834名無しさん@そうだ選挙にいこう:2005/10/02(日) 16:15:24
>>831
>>832
>>833
ありがとうございます。御意見を参考にしやってみます。
835824:2005/10/02(日) 16:59:48
>>827
レスありがとうございます。
VBAを覚えていこうと思います。

>>828
参考に考えてみたいと思います。
ありがとう御座いました。
836名無しさん@そうだ選挙にいこう:2005/10/02(日) 17:14:45
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 すこしだけ
【4 VBAでの回答の可否】 可

マクロの記録で作成したマクロの処理を
開いているブックの全シートに対して実行するには
どうすればいいのでしょうか?

Sub Macro5()
Selection.AutoFill Destination:=Range("A1:A10"), Type:=xlFillDefault
Range("A1:A10").Select
Selection.Copy
Range("C1").Select
ActiveSheet.Paste
End Sub
837名無しさん@そうだ選挙にいこう:2005/10/02(日) 17:20:07
【1 OSの種類     .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか  】 いいえ
【4 VBAでの回答の可否】 否

よろしくお願いいたします。セルに関数を入力すると0と表示されると思うの
ですがセル内に入力した関数を表示しながら印刷する方法はあるのでしょう
か?
838名無しさん@そうだ選挙にいこう:2005/10/02(日) 17:30:17
>>837
ツール(T)→オプション(O)→表示→ウィンドウオプション→数式(R)
にチェックで、一応は数式の表示も印刷もできるが、
行列幅などのレイアウトが崩れる。
(数式(R)のチェックを外せばレイアウトは元に戻る。)
839838:2005/10/02(日) 17:41:34
よく分からんが、すべてのシートの "A1:A10" を "C1:C10" にコピーなら、
"for〜next" でループさせればできるんじゃ内科?

For i=1 to Worksheets.Count
 Worhsheets(i).activate
 Range("A1:A10").Select
 Selection.Copy
 Range("C1").Select
 ActiveSheet.Paste
next

みたいな。
試してないので分からん。できなかったらスマン。
840838:2005/10/02(日) 17:44:00
付け忘れた。>>839>>836へのレスです。
841名無しさん@そうだ選挙にいこう:2005/10/02(日) 17:55:57
【1 OSの種類 】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか 】 いいえ
【4 VBAでの回答の可否】 否

作業列を作らないで、

  A
1 ○
2 ●
3 ○
4 ●
5 ○
6 ●
7 



○の合計を算出する数式
●の合計を算出する数式

を、それぞれ、
A7
A8
に挿入したいんです。

作業列なしで、できますか?

sumifとか、SUMPRODUCTとか試してみたが、正直よくわからんかった。

お願いします。
842名無しさん@そうだ選挙にいこう:2005/10/02(日) 17:56:26
>>836
Macro5 をそのまま生かすんなら、こうだね

Sub AllWorkSheets()

Dim ws as Worksheet

For Each ws in Application.ThisWorkbook.Worksheets
ws.Select
Call Macro5
Next ws

End Sub
843名無しさん@そうだ選挙にいこう:2005/10/02(日) 17:57:06
いけね、半角スペースでインデントしちった。。。orz
844名無しさん@そうだ選挙にいこう:2005/10/02(日) 18:05:56
>>841
A7 → =COUNTIF(A1:A6,"○")
A8 → =COUNTIF(A1:A6,"●")
845841:2005/10/02(日) 18:08:27
>>844

ごめん、書き方が悪かった。
○とか、●は、本当は数値が入ります。
10.0とか、12.5とか。
846名無しさん@そうだ選挙にいこう:2005/10/02(日) 18:19:02
>>845
○=10.0とか●=12.5とか、入る数が決まっているなら
これでいいんでない?
A7 → =COUNTIF(A1:A6,10.0)*10.0
A8 → =COUNTIF(A1:A6,12.5)*12.5
847841:2005/10/02(日) 18:22:10
>>846

ああ><

ごめん、俺、説明の仕方が下手糞やね。
数値は、バラバラです。
●(または○)の部分にある数値を合計したいわけです。
848名無しさん@そうだ選挙にいこう:2005/10/02(日) 18:24:51
>>845
作業列はなしでということですが名前は使っていいなら、
10.0に○、12.5に●という名前を付けておく。
そうすれば
=SUMIF(A1:A6,○)
=SUMIF(A1:A6,●)
でも計算できますよ。
849名無しさん@そうだ選挙にいこう:2005/10/02(日) 18:26:00
>>847
「1行おきの合計」という意味?
850名無しさん@そうだ選挙にいこう:2005/10/02(日) 18:26:03
>>847
要するに1行おきに合計したいって意味?
それならそれで他にやり方あるけど。いちおう書く前に確認。
851841:2005/10/02(日) 18:30:55
>>849、850

そういうことですね。
一言で説明できるのね。
852841:2005/10/02(日) 18:32:36
>>849、850

そういうことですね。
一言で説明できるのね。
853名無しさん@そうだ選挙にいこう:2005/10/02(日) 18:33:27
>>851
A7 → =SUM(IF(MOD(ROW(A1:A6),2)=1,A1:A6))
A8 → =SUM(IF(MOD(ROW(A1:A6),2)=0,A1:A6))
ただし数式を入れた後、Enterではなく、必ずCtrl+Shift+Enterで
確定する(配列数式のため)
854841:2005/10/02(日) 18:36:07
>>853
ありがとう。

ちなみに、Enter確定だと、正しく計算されないわけですか?
855名無しさん@そうだ選挙にいこう:2005/10/02(日) 18:37:03
>>854
正しく計算されません。
式によってはエラーになります。
856841:2005/10/02(日) 18:38:54
>>855

了解、ありがとう。
とても、助かりました!
857名無しさん@そうだ選挙にいこう:2005/10/02(日) 19:43:43
>>853
Excel使いこなした回答ですごいなと思う反面、メンテを考えると作業領域使う方が素直で賢いとも思う。
回答への批判じゃなくて、技に溺れないように自戒と、ユーザへの呼びかけ。
858名無しさん@そうだ選挙にいこう:2005/10/02(日) 19:57:19
=SUM(IF(〜))は、配列数式の一番簡単な定型式で技って程の物でもないし
「配列を扱う式」はメンテもそれほど手間は無い
「配列を"扱う"式」ではなく「配列を"返す"式」になると、結構メンテが面倒になるけどね
条件付きで範囲計算を行うような配列数式は10分も勉強すりゃ使えるようになる
859名無しさん@そうだ選挙にいこう:2005/10/02(日) 20:06:38
tipsみたいな感じで覚えとけばいいじゃん。
ところで配列を返す式ってのあんの?どういう場面で使うのそれ?
おせーて。
860名無しさん@そうだ選挙にいこう:2005/10/02(日) 20:09:34
>>857
他人の回答にケチ付けるなよ。
短く簡潔な記述で目的を達することができたのだから、
万々歳じゃないか。後々のメンテなんかどうでもよくて
目の前の課題が克服できればそれでいい時もある。
君は頭が固いんだよ。
861名無しさん@そうだ選挙にいこう:2005/10/02(日) 20:16:28
【1 OSの種類         .】 WindowsXp
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】エクセル 関数 文字列 同じ カウント

   A  B
1  aaa yyy
2  bbb ddd
3  ccc kkk
4  ddd zzz
5  eee rrr
6  fff ggg
7 ggg

このように、A列とB列にはそれぞれ別のデータ(文字列)が入っています。(名称なので同じ列内に同一のデータは基本的に存在しません)
A,B列どちらのデータが多いかは場合によって変化します。この時に、AとBに共通するデータの数(この例ならば2)を知りたいのですが、そのようなことは可能でしょうか?
862名無しさん@そうだ選挙にいこう:2005/10/02(日) 20:30:57
>>860
ケチつけてんじゃないし、自分が思いつかなかった回答は、自分の中に取り入れるよ。
どっちかっつーと、なんで質問者がそういう回答にこだわったか、引っかかったんだよ。
一人のユーザが習得できても、周りや後続がさっぱり付いてこない環境ってのが現実にはあるからね。
863名無しさん@そうだ選挙にいこう:2005/10/02(日) 20:37:01
>>859
>>853の式からSUMを外せば配列を返す式だ
使い方はA1:A6を選択して式を入力しC+S+Enter
入力した式は1つだが、6つの結果を返す配列数式になる
つまり>>853の式は「配列を返す式」の返した配列をSUMで合計して1セルに返してるだけ

この場合は配列を返す式を使うより、1セルごとに式を入力した方がいいが
場合によってはセルごとに式を入れるより計算が速くなる場合もある

それと上でも書いたように、1セルに値を返す配列数式は、
「配列を返す式」の結果を何らかの処理でまとめて1セルに返してるものがほとんどなので
複雑な式がうまく動かない場合、まとめずに配列をセルに返して原因を探ったりもする
864名無しさん@そうだ選挙にいこう:2005/10/02(日) 20:45:58
>>861
C列に=COUNTIF(B$1:B$6,A1)、後はSUMで合計を出せ
値が重複する可能性が0じゃないなら=N(COUNTIF(B$1:B$6,A1)>0)
作業セルを使いたくなければ、今話題の配列数式で
865名無しさん@そうだ選挙にいこう:2005/10/02(日) 20:56:46
Win2000+EXCEL2000+Nortonです。
EXCELファイルを開くたびに「ウィルスの検索を開始します」と表示され、
実際にファイルが開くまで15秒ぐらいまたされます。
オフラインでつかうファイルなのでウィルスチェックを省略して早く開くようにしたいのですが、
どうしたらいいでしょうか?
Nortonではそれらしい項目がないようですし、EXCELにも見落としかもしれないけれど
ちょっと見つけられません。
866825:2005/10/02(日) 20:58:12
orz
誰も分かりませんか・・・・・・
867861:2005/10/02(日) 21:03:35
>>864
ありがとうございました。この方法でいけそうです。
配列なんとかは使わないでやってみます。
868名無しさん@そうだ選挙にいこう:2005/10/02(日) 21:14:57
>>865
> Nortonです。
それは、「Excel2000」を「MS Office」と書くのと同じような物だぞ。
おそらくNorton AntiVirusなんだろうが、Nortonには
Norton SystemWorks、Norton Internet Security、Norton Ghost等といろんな種類がある。
そしてそれぞれにバージョンナンバーというものもある。
「Nortonです」ではなく「Norton AntiVirus2005です」とか書こう

そんでもってこれはExcelの問題ではなくNAVの問題なので
Officeプラグインを無効にしてもダメならNAVスレへ移動しましょう。
869名無しさん@そうだ選挙にいこう:2005/10/02(日) 21:15:25
>>866
Wordに貼り付けてそれをまたコピーして貼り付け…
870名無しさん@そうだ選挙にいこう:2005/10/02(日) 21:24:14
EXCEL2003を使用しているんですが、
選択範囲から一部を解除することはできないのでしょうか?
CTRLキーで追加はできたのですが・・・
871865:2005/10/02(日) 21:27:15
で、でけたー !!!
ご指摘のとおりNorton AntiVirusです。
Norton AntiVirusのオプションのその他のその他のところにあったOfficeプラグインを無効にしたら
待たされなくなりました。
>>868さん、ありがとおっ。
872825:2005/10/02(日) 22:04:45
>>869
返事ありがとです。

そんなめんどくさいことをしなくてはダメッスか・・・・orz

これはバグなんでしょうかね?
873名無しさん@そうだ選挙にいこう:2005/10/02(日) 22:08:51
ハイパーリンクが機能しなくなってしまいました。
Excelのバージョンは、2000、OSはMeです。
最近、Me安定化のためにコンパネをいくつかいじったので、そのせいだと
思うんですが、何がいけなかったんでしょう?
質問の仕方が漠然としていて叱られそうですが、何かアドバイスがあったら
助けてください。
874名無しさん@そうだ選挙にいこう:2005/10/03(月) 08:16:34
>>872
HTML見てみた。
揃え位置の情報 <DIV align=3DCenter> が消えていた。
仕様としか言いようがない。
869のとおりにするか、
これからも多用するなら、HTMLを書き足すマクロをつくるかだね・・・。
875名無しさん@そうだ選挙にいこう:2005/10/03(月) 15:11:14
特に仕様を変更した覚えはないのですが、
以前まで、セルにカーソルを合わせると、そこに書いてある内容が
上のツールバーのようなところに、窓が出て表示されていたのですが、
その窓が消えてしまいました。
色々と、「表示」のとこをいじってみましたが出てきません。
どこで戻せばいいのでしょうか?
876名無しさん@そうだ選挙にいこう:2005/10/03(月) 15:19:34
>>875
ツール>オプション>表示で、「数式バー」のチェックが外れてないかどうか
見てみれば?
877名無しさん@そうだ選挙にいこう:2005/10/03(月) 15:21:52
>>876
ありがとうございます。
出ました。
878名無しさん@そうだ選挙にいこう:2005/10/03(月) 20:45:34
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 ?

abcd123*****(*はヌルストリング)と
abcd123
を比較して=と判断したいわけです。
今は*をバックスペ−スで全部消しています。
セルの書式設定か何かで一発で変えれないですか?


879名無しさん@そうだ選挙にいこう:2005/10/03(月) 21:07:34
>>878
TRIM(TEXT(foo)) = TRIM(TEXT(bar))
880名無しさん@そうだ選挙にいこう:2005/10/03(月) 21:08:12
NullStringの意味解ってるの?
881878:2005/10/03(月) 23:56:37
>>879
サンクス やってみます!

>>880
なにもなし・すぺ−す・ぬるすとりんぐ
??????????????????
解ってたら・・・・
882名無しさん@そうだ選挙にいこう:2005/10/04(火) 01:12:06
EXCEL2002
WINDOWS2000

A1セルには 1月1日
A2セルには 2005/1/1

と記述されています。これは「1-1」をA1にコピペし、「5-1-1」をA2にコピペした場合です。
しかし実態はどちらも 2005/1/1 です。
これを何とかして

B1 : 1 、 C1 : 1
B2 : 5 、 C2 : 1 、 D2 : 1

と分割させたいのですが…
何か良い手立てがありましたら教えて頂けませんか?
left関数とかは文字列を対象としたものなので全く上手く行きませんでした。
883名無しさん@そうだ選挙にいこう:2005/10/04(火) 02:03:17
セルの書式を文字列に変更してコピペ
or
YEARとMOD,MONTH,DAY関数
884882:2005/10/04(火) 02:23:37
回答ありがとうございます。

>>883
2005/2000で余りをmodで求め、5
monthで1
dayで1
と出せるのはわかりますが、1月1日(2005/1/1)と2005/1/1の区別までできるのでしょうか??

1月1日も2005/1/1も文字列にしてしまうと38353と同値になってしまいます。

根本的に何か勘違いしているんでしょうか…?
885名無しさん@そうだ選挙にいこう:2005/10/04(火) 04:59:32
> 根本的に何か勘違いしているんでしょうか…?
うん。
もう少しヘルプなどをじっくり読んでみな
886882:2005/10/04(火) 08:37:29
どの部分が勘違いなのかもさっぱりわからず、です。
>>883
「or」ですよね?
year,mod,month,day関数を使用すれば文字列に変更せずにできるんですよね…?
887名無しさん@そうだ選挙にいこう:2005/10/04(火) 08:49:44
見やすさと手入力の都合上、2列で一単位としているデータが有ります
ある条件に一致するデータの必要項目だけ別シートに抽出するにはどの機能をつかいますか?
888名無しさん@そうだ選挙にいこう:2005/10/04(火) 09:01:45
>>886
○日付の実態はシリアル値という数で、見かけが「1月1日」だろうが
「2005/1/1」はたまた「平成17年1月1日」だろうが、実態はすべて
38353という”数値”。同じ値が、セルの書式(日付の表示形式)が
変わることで、いろいろな形で見えているだけ。

○日付のシリアル値は西暦1900年1月1日起点の「1」に、1日1ずつ
増やしていったもの。だから2005年1月1日は38353。
これはあくまで”数値”であって”文字列”ではない。

○YEAR関数、MONTH関数、DAY関数は、この日付のシリアル値から
人にわかりやすいよう「年」「月」「日」を”数値で”取り出す関数。

○数値と文字列は別物(だから>882であなた自身が言っているように
文字列対象のLEFT関数とかは、そのままでは数値に使えない)

と、これだけ理解してもらえれば後は>883さんの方法でなんとでも
なると思いますが?
889名無しさん@そうだ選挙にいこう:2005/10/04(火) 09:07:12
>>887
素直にオートフィルタ(条件が複雑ならフィルタオプション)で絞っておいて、
結果を別シートにコピペ。
890名無しさん@そうだ選挙にいこう
>>882=886
「1-1」だろうが「5-1-1」だろうが、いったんセルに入力(コピペ)して
しまうと2005/1/1になってしまい、後から区別する方法がわからない
ってことですか。
それなら「見かけ」(=書式)以外に区別する方法はありません。

>883の方法は、目で見ながら区別すればなんとでもなるってことだと
思うんだけど(実際、それで十分だと思うけど)。

自動的に区別したいのなら、CELL関数を使って見れば?
=CELL("format",A1)
=CELL("format",A2)
とやれば、「1月1日」(元の1-1)は”D3”、「2005/1/1」(元の5-1-1)
は”D1”という文字列が帰ってくる。後はそれを使ってIFで判定させ
ながら、YEAR、MONTH、DAY関数の結果をB〜D列に振り分ける。