Excel総合相談所 64

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

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

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

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

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

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

前スレ
 Excel総合相談所 63
 http://pc11.2ch.net/test/read.cgi/bsoft/1198283638/
2名無しさん@そうだ選挙にいこう:2008/01/20(日) 18:06:42

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

★ルールを無視すると…
 >>1-2あたりのルールに従うか否かは自由だけど、従わないと以下のような不利益があるよ

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

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

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


★VBAについて
 VBAとは、『Visual Basic for Application』の略で
  Application
  ├Workbooks
  |└Workbook
  |  ├Worksheets
  |  |└Worksheet
 というApplication以下のオブジェクトを、VB言語で操作するものを指します。 
 例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
 セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。
4名無しさん@そうだ選挙にいこう:2008/01/20(日) 18:06:56

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

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

 ▼操作
  ・ ファイラーの右クリックメニューからの新規作成で、Excelで設定したシート数のブックを作る (任意のシート数のテンプレートを作成)
  ・ 複数シートを選択して入力規則やシートの保護を設定する (VBA)
  ・ オートコンプリート機能を、別列や離れたセルで動作させる (VBA)
  ・ 選択範囲から一部を除く、Ctrlを押しながらの複数選択で一部を取り消す (VBA)
  ・ 優先キーを3つ以上指定しての並べ替え (優先度の低い方から順に並べ替える)
  ・ 1セルを分割 (分割したいセル以外を結合)
5名無しさん@そうだ選挙にいこう:2008/01/20(日) 18:07:01

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

 ▼数式・関数
  ・ 表示形式以外の書式の取得設定、書式情報を条件とする数式 (ユーザー定義関数)
  ・ 関数式でセルの選択状態を取得する (VBA)
  ・ セルの値でパスを補完して、開いてないブックのセルを参照する (VBA)
  ・ 入力したセルに結果を返す (VBA)
  ・ 範囲を引数にしての文字列連結 (ユーザー定義関数)
  ・ 値の書き換え、値の保持 (VBA)
  ・ 複数の結果を抽出、不定な数の結果を返す (VBA、結果の最大数が解っていれば最大数以上の式を論理式で組む)
  ・ 空白のセルの部分を上詰め、左詰めなどで表示する (作業セルを使って別セルに詰めて表示なら可能、それ以外はVBA)
  ・ VLOOKUP,HLOOKUP,MATCH等の関数で、検索語を全半角両方にマッチさせる (ユーザー定義関数)

 ▼VBA
  ・ ExecuteExcel4Macroの参照で空セルと0値を区別する
  ・ セルの値や変数値で直接変数名を指定する (配列、コレクション)
  ・ VBのコントロール配列と同じような操作をしたい
   (イベント以外ならコントロール名を「同名+連番」にしてControls(名前 & インデックス)で処理、イベントはクラスでWithEvents)

 ▼ユーザーフォーム
  ・ フォーム上から変更したプロパティ値の保持 (シートや外部ファイルに書き出して、次回読み込む)

 ▼グラフ
  ・ 棒グラフでひとつだけ突出したデータがあった場合に波線を入れて位置を合わせる
   (オートシェイプなどで見た目だけそうなるように弄る、別アプリでグラフを作り、オブジェクトとして挿入)
  ┌┐
  〜〜
  ||
6名無しさん@そうだ選挙にいこう:2008/01/20(日) 18:07:06

上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。
間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。
Excel2007についても未確認な項目が多いので変更点が有ればご指摘下さい。

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

>▼環境・書式
> ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する
補足
2007ではページレイアウトビューの表示時に限り、幅・高さともcm単位で表示され、
指定も同じくcm単位でできる。
ただし大元がインチ系なのでなかなかピタリの値は出ない。1cm→0.98cmのように
近い値に勝手に丸められる。
7名無しさん@そうだ選挙にいこう:2008/01/20(日) 18:07:11

テンプレ終わり
8名無しさん@そうだ選挙にいこう:2008/01/20(日) 18:09:46
9名無しさん@そうだ選挙にいこう:2008/01/20(日) 18:23:29
   ________________________________
   ||
   || ━ 質問のしかた ━
   || 
   || ★1 質問するときは、環境や条件をキチンと書くこと。情報後出しはダメ。
   || ★2 要望は具体例や図を使って明確かつ具体的にしる。
   || ★3 質問前に>>2-20あたりの注意書きやQ&Aを必ず読むこと。
   || ★4 質問テンプレ(雛形)は必須ではないが、
   ||    OSやExcelのバージョン、VBAの可否などは必須情報。
   || 
   ||            ∧ ∧   。
   ||          ( ,,゚Д゚)/ ジュウヨウ!!      E[]ヨ  
    ̄ ̄ ̄ ̄ ̄ ̄ ̄ノ  つ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                /  ̄ ̄ ̄ ./| ________________
                | ̄ ̄ ̄ ̄| | |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|____|/|
                        ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
      \    は〜〜〜〜い      /
    ∧ ∧    ∧,,∧   ∧ ∧
    ( ,, ∧▲  ミ  ∧ ∧ (  ∧ ∧
  〜(_(  ∧ ∧_( ∧ ∧_ミ・д・∧ ∧
    @(_(,,・∀・)@ (   *)〜ミ_ (   ,,)
      @(___ノ 〜(___ノ    〜(___ノ
10名無しさん@そうだ選挙にいこう:2008/01/20(日) 20:23:45
ここレベル低杉、氏ねよ
11名無しさん@そうだ選挙にいこう:2008/01/20(日) 20:27:16
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003 
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可 
【5 検索キーワード     】 ユーザーフォーム 透明 

ユーザーフォームの透明化は出来ますか?
12前スレ953:2008/01/20(日) 20:30:53
やろうとしていることはこういうのです。
http://www.relief.jp/itnote/archives/000822.php

ただこれだと、大分類の項目が増えるたびに新たに
名前の定義しないといけないんでめんどくさい・・・・
13名無しさん@そうだ選挙にいこう:2008/01/20(日) 20:35:24
>>10
`;:゙;`;・(゚ε゚ )ブッ!!
14名無しさん@そうだ選挙にいこう:2008/01/20(日) 20:40:02
15前スレ875:2008/01/20(日) 20:44:17
下記のような質問をさせて頂き、前スレ>>882様よりご返答頂きました。
しかし、私の質問の仕方が下手で、せっかくお答えいただいたにも関わらず上手く生かせませんでした。
範囲が東京・大阪の他に埼玉、千葉などの都道府県があるのです。その場合、何か良い方法はあるでしょうか?
何度もすみません、例にならって試してみたのですが答えが見つかりませんので宜しくお願いいたします。
貴重なスペースをどうもすみません。お礼が遅れてしまった事も合わせてお詫び致します。
スレ汚しと判断された場合はスルーしてください。

>東京 a地区  03-xxxx-xxxx
>    b地区  03-1111-1111
>大阪 a地区  06-1111-1113
>    b地区  06-1111-1111
>    c地区  06-1111-1112
>上記の様な場合、
>ドコ?
>【東京】
>何地区?
>【b地区】
>と、選択後
>答え
>【03-1111-1111】
>と表示できるような計算式は2003で可能なのでしょうか?
>無知で申し訳ないです。ご教授願います。

>882 名前: 名無しさん@そうだ選挙にいこう [sage] 投稿日: 2008/01/18(金) 12:45:09
>データの範囲が分からないので勝手に作ってためしてみた。
>・もとのデータがA1〜C5にあるとする
>・ドコ?に対する答えである「東京」はA8に表示
>・何地区?に対する答えである「b地区」はA10に表示
>上記の条件だと
>=VLOOKUP(A10,IF(A8="東京",B1:C2,B3:C5),2,0)
>でどうでしょう?
16名無しさん@そうだ選挙にいこう:2008/01/20(日) 20:49:03
>>15
東京 a地区  03-xxxx-xxxx
東京 b地区  03-1111-1111
大阪 a地区  06-1111-1113
大阪 b地区  06-1111-1111
大阪 c地区  06-1111-1112

にはできないの?
その形式の方がオートフィルタもできるしDGETもできるし楽だよ。
17名無しさん@そうだ選挙にいこう:2008/01/20(日) 20:49:12
前スレでも書いたけど

"東京a地区"  "03-xxxx-xxxx"
"東京b地区"  "03-1111-1111"

ていう表をつくってVLOOKUP()つかえばいんじゃないですか?
18名無しさん@そうだ選挙にいこう:2008/01/20(日) 21:05:29
>>15
882の内容でいくとIF条件でVLOOKUPで使用する範囲を分岐すればいいだけ。ネストすればいいじゃん。
882の内容が分かってないようですね。
19名無しさん@そうだ選挙にいこう:2008/01/20(日) 21:16:46
>>18
IFのネストなんざ7レベルまでしかできないでしょ。
数が多けりゃたぶん無理。
2011:2008/01/20(日) 21:16:54
>>14
FindWindowあたりでウィンドウハンドルを取得して、SetLayeredWindowAttributesにレイヤーを
設定すれば何とか出来そうです。

どうもありがとうです。
2115:2008/01/20(日) 21:27:14
迅速なレスに感謝します!

>>17
アドバイスありがとうございます!都道府県と地区を組み合わせてしまうと
膨大な数の組み合わせから選択しなければならないので、条件を2つに分
けて選択し電話番号を導き出したいと考えています

>>16
>>18
すみません、なにぶん初心者ゆえ言葉自体を把握できていません。
ググってみたのですが少時間ではチンプンカンプンでした。
それぞれDGET、ネスト時間をかけてもう一度調べてみます!
ヒント、頂きました!
22名無しさん@そうだ選挙にいこう:2008/01/20(日) 21:32:38
>>21
あのね、膨大な数っていったって電話番号の数だけつくらないといけないのはどの方法でも一緒なんだよ?
都道府県名と地区名が入力済みなら =都市名&地区名 でキーはつくれるんだから。
なんか先が思いやられるなー
23名無しさん@そうだ選挙にいこう:2008/01/20(日) 22:11:27
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007(2003で編集する場合あり)
【3 VBAが使えるか    .】 がんばる
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 「Excel 文字列を含むセル 数える」「Excel 複数回答 数える」


アンケートの集計をやっているのですが
複数回答可の場合がうまくいきません。
ここ↓にたどり着いたものの、範囲を書き換えても式にならなくて…
ttp://support.microsoft.com/kb/213889/ja

現在は、こんな感じです。

.|A
_|____
1|3
2|2,6,7
3|1,2,4,5
4|3,5
5|2,7
6|2

一つのセルに、,(半角カンマ)で区切って並べています。
それぞれの数字の数を数えたいです。
一応、書式は全て「文字列」に変換済です。

ちなみに、集計するシートとデータのシート(Data.xls)が異なるのですが
(Data.xls]Sheet1!という指定でできますよね?
24前スレの978だが:2008/01/20(日) 22:23:24
>997 968 [sage] Date:2008/01/20(日) 18:11:18  ID: Be:
>    私の質問はスルーですか?
>    他所で質問するとマルチになるので、回答まってます。

>998 名無しさん@そうだ選挙にいこう [sage] Date:2008/01/20(日) 18:19:55  >ID: Be:
>    半日も待たずに催促する奴は永久スルーの方向で

>>前スレの998 
折れには、オマイのレスがスルーされるべきだと見えたwww
では、回答をできるのならどうぞ。

>>12
いいところにたどり着いてますね。簡単な名前の付け方もそこには書いてあるようなので、それが一番楽だと思っている。
25名無しさん@そうだ選挙にいこう:2008/01/20(日) 23:08:30
>>23
各行のカンマの数を数えて、+1で出るんでネノ?
26名無しさん@そうだ選挙にいこう:2008/01/20(日) 23:13:22
>>23
データの格納方法を失敗しましたね。
今度アンケートとるときは次のように入力しましょう。

1 3
2 2
2 6
2 7
3 1
3 2
3 4
3 5
4 3
4 5
5 2
4 7
6 2
27名無しさん@そうだ選挙にいこう:2008/01/20(日) 23:18:53
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 ?

仕事で判らない所などをtextにまとめて提出したところ、
上司からEXCELで再度提出して欲しいと言われました。

textの内容をExcelにコピーし再度提出したところ、
「回答等を追記できるようにしてほしい。」
と言われまた提出を求められました。

何かEXCELに便利な業があるのでしょうか?
当方簡単な関数は使えますが、VBAはできません。
どんな方法でも良いので教えていただけないでしょうか?
宜しくお願いします。
28名無しさん@そうだ選挙にいこう:2008/01/20(日) 23:20:14
>>23
データをカンマで区切って集計すればよろし
29名無しさん@そうだ選挙にいこう:2008/01/20(日) 23:22:28
>>27
Windowsなら「メモ帳」で十分ですが?
VBAも関数も必要ナッシング!!
30名無しさん@そうだ選挙にいこう:2008/01/20(日) 23:32:02
>>27
てか、単純にコピーした文字の横か下に

回答:_________

って入れればいいだけでは?
31名無しさん@そうだ選挙にいこう:2008/01/20(日) 23:48:20
>>29
私もメモ帳で十分だと思うのですがねー。

>>30
う〜ん!私もそうなのかなーと考えましたが、
それならメモ帳からExcelに変える意味がないと思うんですよ。
32名無しさん@そうだ選挙にいこう:2008/01/20(日) 23:48:30
>>27
その人、番号付けて回答欄用意してもらいたいんじゃね?
質問と回答が漏れないように。

ID  質問  回答
1   
2

みたいな表作って、質問のとこにコピーすればいいんじゃね?
で、罫線でも引いてやれば満足するんじゃね?めんどくさい上司だねw

質問長くて1つのセルに入りきらない時は、「セルの書式設定」ってので
「折り返してひとつのセルに表示」(うろおぼえ)で入るよ。
33名無しさん@そうだ選挙にいこう:2008/01/20(日) 23:50:35
>>31
私も就職してからわかったのですが会社という組織には
まったく意味不明の要求をする上司とうものが必ずいる
ものなのです。
理解しようとする努力は不毛だよ。
34名無しさん@そうだ選挙にいこう:2008/01/20(日) 23:54:19
>27
質疑応答の記録を残す事は重要ですよ。
普通、A列に通し番号、B列に質疑、C列に相手が
回答を打ち込めるよう空白の表を作ります。
関数とか特別なテクとかの問題じゃありません。

>>24
スルーされるべきと思うならスルー城!
3527=31:2008/01/20(日) 23:54:44
>>32-33
コメントありがとうございます。
短い付き合いですが、その上司は大変人柄も良く部下思いの
上司であるため、無意味な事を要求したり、嫌がらせをするとは思えません。
もしかしたら単純に>>32さんのやり方で良いのかもしれません。
36名無しさん@そうだ選挙にいこう:2008/01/20(日) 23:56:16
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】
勤務表を作っているのですが、「/」や「−」の記号で入力するとおかしくなります。
この記号には何かショートカット的な意味合いがあるのでしょうか?
37名無しさん@そうだ選挙にいこう:2008/01/20(日) 23:57:11
>>33
意味不明の要求といえば fj などの NetNews の機能に由来する要求で
前スレ >>997 みたいな犠牲者を生み続けている >>3 あたりもそうだな。
38名無しさん@そうだ選挙にいこう:2008/01/20(日) 23:58:24
他で同じことを聞くな、と言った責任はとるべきだろう。
39名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:00:51
>>36
「/」には特別な意味があります。
確かその意味を無効にする設定はあったような気がしますが。
「'/」とか「'-」と入力すれば受け付けられるはずです。
40名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:01:45
>>35
VBAが使えるなら、開いたときシカケを作るのも手だが・・・(w
使えないなら、条件付セルで、文字を入れたらセルの色が変わるとか
子供だましのことでも上司は喜ぶかもね。
41名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:12:18
>>40
そんなことでよろこんでるようではつまんない上司だね。
でもそんな人は実際多い。
42名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:15:08
>>36 わり算とか引き算とかするときに使う記号ですね。 したことない? 失礼しました。
43名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:15:27
以前、直リンクはサイト主が嫌いだから不当だとする俗説があったが
ここはスレ主が嫌いだから他で聞くなとでも言うのか? スレ主が全部答えているわけでもなかろうに。
44名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:18:27
道義責任をスルーする気ならこっちも守る筋合いはねえな。
45名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:21:07
どうなんだよ!
46名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:21:51
他で聞いていいのかどうか、はっきりしろよ。
47名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:23:36
答えらんねえダボが無理してんじゃねえよ、ぺっ
48名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:25:03
他のところで聞くことが全てマルチになるっていうのは大きな勘違いだと思う。
他のところに行きたいならばこのスレで
「他のサイトに行くので回答を締め切らせてもらいます。」
と書けば済むこと。他のサイトならば「解決マーク」が大抵あるから
コメントを書いてそこを解決にすることでマルチではなくなる。


つーか、ここの回答者に高度な回答を求めるのは無理w
レスがつかなければとっとと他のサイトに逝った方がいい。
49名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:28:06
>>48
じゃ、マルチを定義しろよ。
世界中の他のところで締め切ったかどうかどうやって違反を検挙するんだ?
「大抵」だあ? 守らせる仕組みのない法は絵に描いた餅だぜ。
50名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:28:43
私も前から疑問に思っているのですがマルチの何がいけないの?
時々キ○ガイが絨毯爆撃みたいなマルチをやるのは問題だと思うけど
まじめな質問を複数の関連スレッドに投げるのは許容範囲でしょう?
51名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:31:50
>>49
世の中は絵に描いた餅ばかり。
それに法なんかじゃない。

それにお前ひょっとしてセンター試験うまくいかなくてここでうさ晴らしか?w
なんなら、不幸せになる「魔法の言葉」をかこうか?
52名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:31:53
おおかた、一生懸命回答して自画自賛してるところへ同じ質問が来るのが不快だからってなことだろ?
いいんだよ、そんなのは他の奴が答えれば。2ちゃんねるには同じ回答を繰り返す義務があるとかどっかに書いてあったか?
53名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:33:30
>>51
早く定義しろ!
他のところで聞くことが全てマルチになるっていうのが大きな勘違いなら、
勘違いでない境界線を引けや、守らせることのできる実効性のあるラインをよ。
54名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:35:32
>>53
あなたの言うとおりだと思うよ。
マルチ禁止なんてバカバカしいルール。気にしなくていいよ。
だから機嫌直してね。
55名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:37:09
法とは公的機関の法令のことではない。
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
と書いてあるだろ、守れる規則を守る気のある奴まで不当に縛るLRに異議を唱えているんだよ。
56名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:38:15
>>50
マジレスすると質問サイトなんてどのサイトも大部分で同じ奴らが回答してる。
回答者が最初のサイトで一生懸命回答しているのにそれを無視して同じ質問を
他のサイトで見かけたりすると気分が悪くなる。
それって回答者に失礼な事だよ。

でも、2ちゃんにまで顔を出している他サイトの回答者なんて少ないだろうから
マルチしても、たいした問題にはならないとは思うけどね。
57名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:39:12
>>54

今、こいつが発議した「マルチ禁止」を無効とする動議に異議のある者はいるか?
58名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:39:52
59名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:41:46
>>56
>質問サイトなんてどのサイトも大部分で同じ奴らが回答してる。
ソース出せ。
60名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:43:35

落ちる、すべる、遅刻する、失敗する、名前忘れる、マークシートの勘が外れる、ヤマが外れる、行くとこなくなる
落ちる、すべる、遅刻する、失敗する、名前忘れる、マークシートの勘が外れる、ヤマが外れる、行くとこなくなる
落ちる、すべる、遅刻する、失敗する、名前忘れる、マークシートの勘が外れる、ヤマが外れる、行くとこなくなる
61名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:43:53
おれはこことMOUGと教えてgooで解凍してる
6261:2008/01/21(月) 00:45:21
あ、マルチ禁止には同意しない立場なんで どこでも聞けばいいじゃんねー
63名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:47:35
テンプレ修正でいいのか? >>ALL


2 名前:名無しさん@そうだ選挙にいこう[sage] 投稿日:2008/01/20(日) 18:06:42

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

★ルールを無視すると…
 >>1-2あたりのルールに従うか否かは自由だけど、従わないと以下のような不利益があるよ

 1.削除

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

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


★VBAについて
 VBAとは、『Visual Basic for Application』の略で
  Application
  ├Workbooks
  |└Workbook
  |  ├Worksheets
  |  |└Worksheet
 というApplication以下のオブジェクトを、VB言語で操作するものを指します。 
 例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
 セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。
65名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:49:40

こうしてここに、まともな回答者がいなくなるのであった…

糸冬了
66名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:51:30
他で同じことを聞いたくらいでご機嫌が傾く変人はいらねーよ。
67名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:51:48
>>50=>>53です。
>>63
賛成します。
キ○ガイマルチは困りますが,テンプレートに禁止とまで書くのは反対。
テンプレ見ろテンプレ見ろってうるさいやつが湧いてくる。
68名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:52:46
ここには有名人のブランド力がないのを身を以て思い知れや。
69名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:52:56

こうしてここに、まともな回答者がいなくなるのであった…

糸冬了
70名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:53:53
マルチがいやなやつは回答しなければいい。それだけ。
そんな難しい性格のやつは出て行ってくれたほうがうれしい。
7153:2008/01/21(月) 00:54:04
俺は >>50 ではない。
こういう、低劣な工作が必要になるような主張か? マルチ禁止は。
72初心者 ◆EROEROeX96 :2008/01/21(月) 00:55:29
お、盛り上がってるねぇ〜

難問は漏れが適当に答えてやるよwww
7336:2008/01/21(月) 00:56:13
>>39
ありがとうございます。違う記号を使うようにします
>>42
ありがとうございます。セルに直接「/」とかを入力すると何か飛ばされてしまうので・・・
計算には使ったことありますw
74名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:57:45
>>71
すまん。工作するつもりはなかった。
>>50=>>54です。と書くつもりだった>>50でした。
75名無しさん@そうだ選挙にいこう:2008/01/21(月) 00:59:36
漏れが難しいことを質問するときは、EXCELファンクラブに行くから
ここは何でもありでいいよ。
76名無しさん@そうだ選挙にいこう:2008/01/21(月) 01:03:06
流れ読まず質問します
ネットワーク上にあるexcelファイルを開いて修正かけて保存しようとしたのですが
上書きどころか新規でも保存できません。
デスクトップにも外部媒体にもどこにも保存不可です。
どうしたら保存できるでしょう?
ちなみに、新規ファイルを作成し、修正したシートをコピーして新規保存は出来ました。

PC:DELL一週間前に買ったので古くはない。(自分のPCではない)
OS:WinxpHomeSp2
バージョン:Excel2000

どうかお願いします。
これが終わらないと出張へいけません。
7727=31:2008/01/21(月) 01:03:08
A列に番号(折り返し全体を表示させるにチェック)
B列に質問 C列に回答と下記の様な表を作りましたが、
セルごとに文字数が違うため、行ごとの高さがばらばらで
見栄えが大変悪いのです。
もっときれいに見せる方法ってあるのでしょうか?
それとも行の高さを統一してセルの1部しか見えない状態で
提出した方が良いのでしょうか?

番号  質問  回答
1   
2
78名無しさん@そうだ選挙にいこう:2008/01/21(月) 01:07:13
>>76
読みとり専用で開いたんじゃないか。名前を変えれば保存できたはず。
7978:2008/01/21(月) 01:07:36
そうでもないか。失礼
8076:2008/01/21(月) 01:30:11
ネットワーク上にある共有フォルダ内の自分のPCのバックアップファイルを開きました。
作成者は自分ですので、読み込み専用にした記憶はありませんし、確認したらそうではなか
ったです。
古い話ですが2バイトのユーザー名・・・ってのは、このバージョンでも関係あるのでしょ
うか?
先ほどPcのユーザーアカウントを見たら日本語でしたので・・・。
8176:2008/01/21(月) 01:33:49
最初がわかりにくいですね。

ネットワーク上にある共有フォルダ内に、社員各々が自分のPCのバックアップを取っているので、
その中に保存してある、私が作成したexcelファイルです。
82名無しさん@そうだ選挙にいこう:2008/01/21(月) 01:40:03
急ぎならローカルにコピーして修正してから共有フォルダにコピーしなおし
83名無しさん@そうだ選挙にいこう:2008/01/21(月) 01:45:31
>>76
ネットワークファイルは開ける、新規保存は可能、ってトコから、
権限の問題じゃないと仮定しての話だが、
保存しようとしたときに、ふざけたエラーメッセージが出ない?
VBAやオートシェイプ図形付きのドキュメントを新しいバージョンで保存してると、
旧バージョンで開いたり、保存したりする際にエラーが出ることがある。原因は不明。

エクスプローラでファイル操作すれば、ファイルがコピーできたりしないかな?
8476:2008/01/21(月) 01:55:08
4時間かけて修正したんです。
考えながらなので、打ち込むだけなら1時間かからないと思いますが。
ちなみにワードからの貼り込みや、図形がふんだんに入ってます。

今、新規のファイルを作成し、そこへ各シートのコピーをして保存しようとしましたが
図形が一括でコピーできない。orz
85名無しさん@そうだ選挙にいこう:2008/01/21(月) 02:01:27
>>84
え? シートを別のブックにコピーしても
図形がワークシートに引っ付いて行かないってこと?
86名無しさん@そうだ選挙にいこう:2008/01/21(月) 02:01:28
こんな時間に会社から2ちゃんですか・・・

ご苦労なこったw
8776:2008/01/21(月) 02:05:44
>>85
図形だけ抜けてます。
試しに図形だけ選択してコピーしようとしてもコピーできません。
なんでだ?もうワケワカランです。

>>86
ここが一番レスポンスよさそうなので。
こんな時間に知り合いに電話かけて聞くのも非常識だと思うし。
8876:2008/01/21(月) 02:13:56
今やったら出来ました。
同じ作業をできたりできなかったり・・・
なんかおかしいです。

とりあえず作業続けて新規ブックで保存します。
8977:2008/01/21(月) 07:45:31
77の質問にどなたか答えていただけないでしょうか
宜しくお願いします。
90名無しさん@そうだ選挙にいこう:2008/01/21(月) 07:52:53
>>89
いちばん文字数の多い行の高さに合わせれば見やすいんじゃないの。
こんなのエクセルの質問でもなんでもないけどな。
91名無しさん@そうだ選挙にいこう:2008/01/21(月) 08:10:10
>>89
このケースはここでわれわれに質問しても解決しないよ。
「私の上司の好みを教えてください。」っていう質問でしょ?
92名無しさん@そうだ選挙にいこう:2008/01/21(月) 11:16:34
毎回同じ質問でテンプレ作りたくなるのも分るが
ここはひとつ初心に戻ってみてはどうかな。

1 名前: 名無しさん@そうだ選挙にいこう 投稿日: 2000/08/09(水) 12:47
スレ乱立するのもあれだからExelの質問・回答はここでまとめてやりましょう。

・質問する人は可能な限り具体的に書くこと。回答がなくてもキれないこと
・分かる人はできるだけ回答して下さいませ
93名無しさん@そうだ選挙にいこう:2008/01/21(月) 11:31:54
formulaプロパティを使うときに、変数の中身を使うにはどうすればよろしいでしょうか?

具体的には元のブック、a1セルに別ブックの名前を入力し、変数fiに格納した後に、
その別ブックのaaaシート、a1セルの式を元ブックのc1に入力したいと思っています

Dim fi As String
fi = Range("a1").Value
Range("c1").Formula = "=[fi]aaa!a1"

このまま実行すると、c1セルには=[fi]aaa!a1としか格納されませんでした
色々調べたのですが、変数を使う方法が見当たりませんでした

また、A2、A3・・とこのセルの下にも入力する箇所を用意しておき、
それぞれ同じようにC2、C3と表示できるように、
DOLOOPなどを使ってみようと思っています。

よろしくお願いします
94名無しさん@そうだ選挙にいこう:2008/01/21(月) 11:43:25
Range("c1").Formula = "=" & fi & "aaa!a1"
95名無しさん@そうだ選挙にいこう:2008/01/21(月) 11:59:47
このスレでたまに質問させていただくのですが
ネットで定期購読できる
日経パソコンという雑誌は役に立ちますか?
96名無しさん@そうだ選挙にいこう:2008/01/21(月) 12:24:59
>>94
さんありがとうございます!
97名無しさん@そうだ選挙にいこう:2008/01/21(月) 13:13:46
計算結果で小数点以下を切り上げにするにはどうしたらいいのですか?
98名無しさん@そうだ選挙にいこう:2008/01/21(月) 14:44:07
>>97
=roundup(・・・,0)

このくらいは調べられるような気もするが。

以下質問
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】  可
【5 検索キーワード     】

excelで作った文を複数、ワードに貼り付けるところまで自動化したいのですが、
手でコピーしたところ、単なる文ではなく表としてコピーされました。
最悪手動でもいいので、単なる文の連なりとしてコピーする方法を教えてください。

また、マクロでexcelの文をwordに「文」としてコピーする方法はあるのでしょうか?

例)
A1 山田君はお休み
A2 田中君が代休
A3 河野さんが出席

をワードに表でなく、3行にしてコピーしたいのです。
99名無しさん@そうだ選挙にいこう:2008/01/21(月) 15:15:54
>>98
word側で「形式を選択して貼り付け」で「テキスト」
2003ならスマートタグで「テキストのみ保持」

このくらいは調べられるような気もするが。
100名無しさん@そうだ選挙にいこう:2008/01/21(月) 15:26:35
>>99
マクロで、ですか?
101名無しさん@そうだ選挙にいこう:2008/01/21(月) 15:44:16
>>98
助かりました!! ありがとうございました。
102名無しさん@そうだ選挙にいこう:2008/01/21(月) 15:45:59
【1 OSの種類         .】 Windows98se
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可・
【5 検索キーワード     】 Formula vba 2000 エクセル など

>>93です
検証せずにお礼を言ってしまったのですが、エラーが出てしまいました

実行時エラー'1004':
アプリケーション定義またはオブジェクト定義のエラーです。
と表示されてしまいます
以下、コードの原文そのままです

Dim fi As String
Dim gyo As Long
Dim aaa As String
fi = Range("a1").Formula
gyo = 1
aaa = "=[" & fi & "]請求!A1"
Range("c1").Formula = aaa

A1セルにtest1.xlsと入力されている場合、エラーが表示され
test.xlsだとエラーになりません
ファイル自体が両方存在していても、いなくてもtest1だとエラーになります

原因のわかる方、お願いします
103名無しさん@そうだ選挙にいこう:2008/01/21(月) 16:22:33
そのコード、そのままコピペで
test1 も test も両方動くけど。
104名無しさん@そうだ選挙にいこう:2008/01/21(月) 16:55:25
>>98
Wordと連携させるなら外部オブジェクトへの参照設定をしておく方がいいですよ
10593:2008/01/21(月) 16:59:33
何度もすいません・・先ほどのは間違いでした
色々削って検証した結果、testとtest1は大丈夫でしたが、
今度は1.xlsはエラーなし、1-.xlsがエラーになりました
1+.xlsもエラーがでました

算術演算子を使っているのが悪いのでしょうか・・?
10693:2008/01/21(月) 17:00:15
何度もすいません・・先ほどのは間違いでした
色々削って検証した結果、testとtest1は大丈夫でしたが、
今度は1.xlsはエラーなし、1-.xlsがエラーになりました
1+.xlsもエラーがでました

算術演算子を使っているのが悪いのでしょうか・・?
107名無しさん@そうだ選挙にいこう:2008/01/21(月) 17:04:54
どんなエラーか、ってのも書いた方がいいよ。
経験者には、エラーのメッセージから、数通りの原因を推測できる人だっているから、
ケースによっては、ヘタに説明しようとするより早いかもしれない。
108名無しさん@そうだ選挙にいこう:2008/01/21(月) 17:11:31
マクロをいじってから、エクセルのファイルを開くたびに
『PERSONAL.xls』ってファイルが勝手に開くようになってしまったのですが
どうやったらコレが開かないように出来ますか・・・
109名無しさん@そうだ選挙にいこう:2008/01/21(月) 17:23:07
>>108
「PERSONAL.xls」でググればすぐ出てくるが…
110名無しさん@そうだ選挙にいこう:2008/01/21(月) 17:28:07
COUNTIF関数で、セルの値が*の場合という検索条件(数式)を
COUNTIF(A1:A10,="*") と書いたらエラーになりました。
どうすれば良いのでしょうか
111名無しさん@そうだ選挙にいこう:2008/01/21(月) 17:36:24
>>109
解決しました。ありがとうございます
112名無しさん@そうだ選挙にいこう:2008/01/21(月) 17:40:38
>>110
文法としては、
  =COUNTIF(A1:A10, "*")
でも、これだとワイルドカード指定になるはずだから、単純に*が入ったセルを数えるなら
  =COUNTIF(A1:A10, "~*")
113名無しさん@そうだ選挙にいこう:2008/01/21(月) 17:41:47
>110
=COUNTIF(A1:A10,"~*")
114名無しさん@そうだ選挙にいこう:2008/01/21(月) 17:52:17
かぶった orz
115110:2008/01/21(月) 18:23:31
>>112、113

レスありがとうございます。
116名無しさん@そうだ選挙にいこう:2008/01/21(月) 22:41:37
俺の部署に入社2年目の若僧が着たんだけど、
そいつエクセルとかかなり長けてて、いきなりみんなからエクセルを含めたパソコン関係の
スペシャリストと崇められててうざいんだよね。

で、そんなやつをアッと驚かせるテクがあったら是非教えて欲しいんだけど。
XPとEXCEL2003で。
117名無しさん@そうだ選挙にいこう:2008/01/21(月) 22:51:51
>>116
俺の事か?
118名無しさん@そうだ選挙にいこう:2008/01/21(月) 22:53:11
>>116
マクロウィルスかな
119名無しさん@そうだ選挙にいこう:2008/01/21(月) 22:55:46
excel2003でグラフを作っています。
あるサイトからダウンロードした散布図のテンプレの背景が「塗りつぶし効果」で画像になっているのですが、この画像を抽出して、加工した後に再び「塗りつぶし効果」の画像に指定したいのですが、どうすればいいのでしょうか?
教えてください
120名無しさん@そうだ選挙にいこう:2008/01/21(月) 23:00:34
ステータスバーにフォントで言う上付き文字を表示させたいのでsが、その方法を教えてください。

Application.StatusBar = menseki & "m2"


                2
この   m2   を   m    にしたい。ということです。
121名無しさん@そうだ選挙にいこう:2008/01/21(月) 23:00:59
uをつかう
122名無しさん@そうだ選挙にいこう:2008/01/21(月) 23:05:08
>>121
ありがとうございます。

uなどの登録されてある以外の文字、例えば5乗や10乗などを上付き文字での表示は可能でしょうか?
123名無しさん@そうだ選挙にいこう:2008/01/21(月) 23:08:44
>>122
おそらくないと思う。 ^5 ^10 で
124名無しさん@そうだ選挙にいこう:2008/01/21(月) 23:09:54
一つのセルに行番号を入力しておいて
その行番号を参照することはできますか?

例えば、B10に『A10』と入力しておいたら、
B10を参照してA10の値を返すというような感じです
125名無しさん@そうだ選挙にいこう:2008/01/21(月) 23:14:52
>>120
無理。

>>124
できる。
126名無しさん@そうだ選挙にいこう:2008/01/21(月) 23:17:48
行番号なのに『A10』?
VBAなら可能だが、関数はワカラン。
つーか、てんぷr(ry
127122:2008/01/21(月) 23:19:26
>>123
>>125
ありがとうございました。あきらめます。
128名無しさん@そうだ選挙にいこう:2008/01/21(月) 23:27:22
>>124
INDIRECT
129名無しさん@そうだ選挙にいこう:2008/01/21(月) 23:34:36
>>125,126
ありがとうございます
>>128
できました!どうもありがとうございます!
130名無しさん@そうだ選挙にいこう:2008/01/21(月) 23:42:35
Office2003のプリインスコPCを買ったんですが、パーテーションを切るため
OSを入れ直して、Office2003を入れました。
131名無しさん@そうだ選挙にいこう:2008/01/21(月) 23:45:37
そうですか
132名無しさん@そうだ選挙にいこう:2008/01/21(月) 23:47:50
>>130
激しく同意
133名無しさん@そうだ選挙にいこう:2008/01/21(月) 23:52:35
>>130
日記か?チラ裏か?
134名無しさん@そうだ選挙にいこう:2008/01/22(火) 00:36:50
>>133
今にして思えばこれが、あの事件のすべての始まりだったのでございます。
135名無しさん@そうだ選挙にいこう:2008/01/22(火) 00:40:57
何枚かに渡って印刷する時、表とかの項目を全てのページに出るようにするにはどうすればいいのですか?
136名無しさん@そうだ選挙にいこう:2008/01/22(火) 01:21:41
エクセルとかワードによく似たフリーソフトってないでしょうか?
それで練習してから、本物を買いたいのですが。
137名無しさん@そうだ選挙にいこう:2008/01/22(火) 01:26:42
OpenOffice
138名無しさん@そうだ選挙にいこう:2008/01/22(火) 01:33:38
office2003が文字入力と一部のコマンドが使えなくなるのですが…
パソコンの電源を入れて、エクセル起動。Book1表示後に
表に出ているファイルを開く、印刷、印刷プレビューを除くコマンド(新規、コピー、切り取り、戻すなど)がつかえないじょうたいになり、文字の入力ができなくなります。
ほかのソフトは変化はないのですが、officeを入れ直した方がいいのでしょうか?
139名無しさん@そうだ選挙にいこう:2008/01/22(火) 01:51:19
>>138
日本語でおk
140名無しさん@そうだ選挙にいこう:2008/01/22(火) 02:59:49
>>138
まずは落ちついて正しい日本語で質問しなおせ
何言ってんだか、何を伝えたいんだか
支離滅裂で全く分からんぞ
14193・106:2008/01/22(火) 09:54:41
>>107
ありがとうございます。まとめさせて頂きますと、

Range("c1").Formula = "=[1.xls]請求!$A$1"
Range("c1").Formula = "=[" & "1" & ".xls]請求!$A$1"
この二つはエラーが起こらず

Range("c1").Formula = "=[+.xls]請求!$A$1"
Range("c1").Formula = "=[" & "+" & ".xls]請求!$A$1"
このコードでエラーがでます。
+の部分を-と入力しても、同じようにエラーになります。
エラー内容は

実行時エラー'1004':
アプリケーション定義またはオブジェクト定義のエラーです。

となります。
環境はwindows98SE、エクセル2000で、セキュリティレベルも低にしてあります
+や-の入ったファイル名を式に使うには、どうすればいいのでしょうか?
142名無しさん@そうだ選挙にいこう:2008/01/22(火) 10:48:43
>>141
Range("c1").Formula = "='[" & "+" & ".xls]請求!$A$1"
にすればいいんじゃないかな?
14393・106:2008/01/22(火) 10:54:40
>>142
ありがとうございます
が、それでも同じエラーがでました・・
14493・106:2008/01/22(火) 11:00:48
できました!
Range("c1").Formula = "='[" & "+" & ".xls]請求'!$A$1"
とシート名の前にアポストロフィをつけると無事、参照できました
本当にありがとうございました
145名無しさん@そうだ選挙にいこう:2008/01/22(火) 11:42:01
>>144
最初からついていると思うが
146名無しさん@そうだ選挙にいこう:2008/01/22(火) 11:55:13
>>145
ここ                          ↓
Range("c1").Formula = "='[" & "+" & ".xls]請求'!$A$1"
147名無しさん@そうだ選挙にいこう:2008/01/22(火) 12:34:28
何でエラーがでるんだろう
148名無しさん@そうだ選挙にいこう:2008/01/22(火) 13:32:29
エクセルのバージョンが新しいと、エラーにならないんじゃね?
オレも2000しか持ってないから分からんが。
149名無しさん@そうだ選挙にいこう:2008/01/22(火) 15:45:37
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可

セル上にあるhtmlリンクをクリックしたとき、処理Aを実行する。 としたいのですが、
クリックしたときのイベントってどうやって拾うのでしょうか?
150名無しさん@そうだ選挙にいこう:2008/01/22(火) 15:50:13
>>149
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
151名無しさん@そうだ選挙にいこう:2008/01/22(火) 15:57:48
ありがとうございます
152名無しさん@そうだ選挙にいこう:2008/01/22(火) 17:43:52
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可

新規シートに
画像を2ページに渡って貼り付けて、

Sub PrintPage()
Dim PPage As Integer
PPage = Application.ExecuteExcel4Macro("get.document(50)")
MsgBox PPage
End Sub

 と印刷総ページ数を表示するマクロを実行すると
 実際の印刷総ページ数は2ページなのに
 0ページと認識され表示されてしまいます。
 
 原因の解る方がいらっしゃいましたら宜しくお願い致します。
 
153名無しさん@そうだ選挙にいこう:2008/01/22(火) 17:55:14
XP エクセル2003
質問です
開始年月日2003年3月21日、終了年月日が2006年10月21日の残りの日数の時の式
DATE関数?使い方がわかりません。
アドバイスお願いします。
154名無しさん@そうだ選挙にいこう:2008/01/22(火) 18:07:44
>>153
開始年月日2003年3月21日、終了年月日が2006年10月21日の「残りの日数の時の」式DATE関数?使い方がわかりません。

特に「」のとこの意味がいまいち不明なんだが?
155名無しさん@そうだ選挙にいこう:2008/01/22(火) 18:07:48
>>153
="2006/10/21"-"2003/3/21"
156名無しさん@そうだ選挙にいこう:2008/01/22(火) 18:15:59
>>155
ありがとうございます。
="2006/10/21"-"2003/3/21-1"
ではなくていいのでしょうか?
157名無しさん@そうだ選挙にいこう:2008/01/22(火) 19:00:06
1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Exce2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 「エクセル リスト作成」

エクセルの本を買って問題を解いているのですが
わからないところがあったので質問させてください。

質問1.1枚のシートに1つのリストを作成する方が良いが、
複数のリストを作成する場合は、他のリストとの(@)
リストの一行目に他のレコードと異なる書式を設定した(A)を作成する。
@の選択肢;間隔をなくし、間隔をあけ
Aの選択肢;データ、レコード、リスト、列見出し、フィールドレコード

質問2.リスト列ごとにある条件を選択し、抽出を行うことができる機能として
正しいものを選びなさい。
データ、オプション、オートフィルタ、フィルタモード設定、列選択

よろしくお願いします。
158155:2008/01/22(火) 19:14:34
>>156
レス読んで分かる範囲で回答しただけ。 何がしたいか分からんのに、オレに聞かれてもな。
でも固定で式書いてるんだから、"2003/3/21-1" は変だろ。
 ="2006/10/21"-"2003/3/21" -1 って書きたいの?


「この問題が出たんですけど、何て回答すればいいですか?」 とか訊かれそうだな。そのうち。
159名無しさん@そうだ選挙にいこう:2008/01/22(火) 19:25:02
>>157
1-@: 間隔をあけ 、1-A: 列見出し  2: オートフィルタ  だとは思うが。

余計なお世話なのは百も承知なんだが、教本産業の犠牲になってないか?
無意味とは言わんが、時間の使い方が勿体無い気がする。
家の家計簿とか、自分の蔵書を整理するリストでも作ってみた方が勉強になる。
160名無しさん@そうだ選挙にいこう:2008/01/22(火) 20:36:53
161名無しさん@そうだ選挙にいこう:2008/01/22(火) 21:45:08
2003 XP 検索キーワード=Countif 複数条件 日付
=Countif(A2:A10,And(">=2007/1/1","2007/3/31"))
は該当があっても0(=ゼロ)となり、効いていません。

1月1日以降3月31日までの日付件数を関数で取りたい。よろしく。

162161:2008/01/22(火) 21:46:59
一部漏れてます。
=Countif(A2:A10,And(">=2007/1/1","<=2007/3/31"))
でした
163名無しさん@そうだ選挙にいこう:2008/01/22(火) 21:49:44
>>161
こちらこそよろしく!
164161:2008/01/22(火) 22:05:18
おいおいwww 訊いている人がいわれてもなぁ

まぁ、趣旨として追加すると、2007の =COUNTIFSに相当する使い方をしている人、教えて と。
165名無しさん@そうだ選挙にいこう:2008/01/22(火) 22:12:31
>>164
オイオイ、おまえ天然か?
俺163じゃないけど163の気持ちわかるぞ。

「そんな聞き方をする答える回答はない」と…
166161:2008/01/22(火) 22:15:10
>>165
ごちゃごちゃうるさいよ外野。
知ってる人のみがレス付ければ良いんだよ。カス。
167名無しさん@そうだ選挙にいこう:2008/01/22(火) 22:19:40
>>166
ググレ!変態w
168161:2008/01/22(火) 22:21:06
>>167
お前がググって俺に教えろ!
169名無しさん@そうだ選挙にいこう:2008/01/22(火) 22:33:55
         \                   /
  NULLPO!!  .\    .∧_∧       . /ガッ必死だな(藁
*           \   ( ´∀`)<ぬるぽ/V ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ∧_∧  +   \              /l_∧ カタカタ  . ∧_∧
  ( ´∀` )         .\          .../(  ´∀)  /\  (∀・ ,#)←叩き人
 + (つ  ⊃ *  +   \ ∧∧∧ / ..(   つ===〕〔===⊂  __,)
   ( ヽノ          <予 ぬ> ┌(_. ̄|| ̄ ̄ ̄ ̄ ̄ ̄|| ̄_,)┐
 *. し(_) +        <感 .る> ┗┳━||')       .('||━┳┛
                <!!!! ぽ>   .┻ .(||_)        ..(_||) .┻
───────────<   祭>────────────────
                <   り.>     ♪
  _| ̄|○モウヌルポ    <   の> ..♪   ∧ ∧ ♪ よ〜く考えよ〜 ♪
               / ∨∨∨ \     (,,゚Д゚). ♪ ぬるぽは大事だよ〜 ♪
  ぬるぬるぽ     ./ ∧_∧   .\  .  |つ[|lllll]).   う〜う、う〜う、ううう〜 ♪
 ̄ ̄~V ̄ ̄ ̄ ̄ ̄./≡ .( ・∀・ )ヌルポ \ 〜|  |
  .(・∀・)      /  -=( つ┯つ    .\ .U U
  (∩∩)   ./  -=≡/  / //       \
        ./  .-=≡(__)/ )        \  .∧_∧
      ./     ,-= (◎) ̄))         .\( ´∀` )<NullpointerException
170名無しさん@そうだ選挙にいこう:2008/01/22(火) 23:42:06
知ってる方いたら教えてください。

先日Vistaを購入したんですが、Excel2007では値貼り付け
ツールバーは設定できないのでしょうか?
171名無しさん@そうだ選挙にいこう:2008/01/22(火) 23:43:44
すみません。
文章がめちゃくちゃになってました。


Excel2007では値貼り付けはツールバーで出せないんでしょうか?
172名無しさん@そうだ選挙にいこう:2008/01/22(火) 23:49:24
>>171
「ホーム」のリボンの「貼り付け」の▼を押したら出てくるけど
それでは不満かな。
173名無しさん@そうだ選挙にいこう:2008/01/22(火) 23:50:58
>>171
ホームタブの「貼り付け」の下の▼をクリックすると値の貼り付けってあるけどそれじゃダメ?
174171:2008/01/23(水) 00:01:08
>>172さん
>>173さん

ありがとうございます。
Excel2003や前のバージョンだとツールバーに出しておけば
一回押すだけで値貼り付けできてたんですけど…
仕事で値貼り付けを多用するのでワンプッシュでやりたいのです。。
やっぱりできないですかね…?
175161(本物) ◆wkj7cNdS3Y :2008/01/23(水) 00:08:40
少しおもしろい流れになっているなw

考えてたら、時間がかかったけどうまくいったよ。簡単だったwww

おやすみ
176173:2008/01/23(水) 00:09:44
>>174
それなら
officeボタン − Excelのオプション − ユーザー設定 で
コマンドの選択を[ホーム]タブにして値の貼り付けを右に追加すると
クイックアクセスツールバーに追加されます。

やってみた方がわかるかも。
177名無しさん@そうだ選挙にいこう:2008/01/23(水) 00:10:56
>>174
もしユーザー設定ができなくても、これならワンプッシュ (前スレより拝借)

619 名前: 名無しさん@そうだ選挙にいこう [sage] 投稿日: 2008/01/12(土) 17:56:52
>>615
値のみ貼り付けするマクロを作って、
マクロのダイアログ(Alt-F8)でそのマクロのオプションを選択。
ショートカットキーを指定できるので、vにする。
(shift-vとかの方が無難な気もするけど)

マクロはこんなんでいいんじゃない。
Sub 値のみ貼り付け()
 Selection.PasteSpecial xlValues
End Sub
178名無しさん@そうだ選挙にいこう:2008/01/23(水) 00:16:13
自分で作ったマクロをボタンに登録したときクイックツールバーにしか
登録できないんでしょうか?
179名無しさん@そうだ選挙にいこう:2008/01/23(水) 00:29:11
>>176>>177さん

ありがとうございます!
できました!!

普通にツールバーに入れられるんですね…
2時間も悩んでしまいました。。
本当に助かりました!
ありがとうございますm(__)m
180名無しさん@そうだ選挙にいこう:2008/01/23(水) 09:54:05
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

見積書で金額の集計をする際に、( )の付いている金額のみを抜き出して合計したいのですが、
関数SUMIFを使用したところ同じシート内でしか集計できませんでした。
複数のシートから条件付で集計するにはどうすればいいのでしょうか?
181名無しさん@そうだ選挙にいこう:2008/01/23(水) 10:30:03
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003

表示 入力コード
 あ  1〜5
 い  6〜10
 う  11〜15
 え  16〜20
 お  21〜25

下記様に、入力コードを打ち込んで、そのコードの文字を表記させる場合、
IF以外に何かすっきりした関数は無いでしょうか?
182名無しさん@そうだ選挙にいこう:2008/01/23(水) 11:37:40
>>180
各シートのSUMIF( ) の結果を更に集計するしかないんじゃない?

>>181
セルに下みたいなテーブルを用意することができるなら、VLOOKUPが使えると思う。
 あ  1
 い  6
 う  11
 え  16
 お  21
=LOOKUP(対象値, A1:A5, B1:B5)
183名無しさん@そうだ選挙にいこう:2008/01/23(水) 14:54:07
フォームから作成したコンボボックスで、コンボボックス右のボタンを押して
表示されるリストからある値を選択した場合、
その選択した値はVBA上ではどうやって取得するのでしょうか?
184名無しさん@そうだ選挙にいこう:2008/01/23(水) 15:14:30
>>183
Clickイベントを取れば良い

これで解らなければあとはVB6分野(VB6と共通)の話なので>>2・7
185名無しさん@そうだ選挙にいこう:2008/01/23(水) 15:44:58
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excelxp
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 他ブック・存在・シート・vba・・等
A1セルにブック名が入力されているとき、
そのブックに合計という名前のシートが入っているかどうかを調べるには
どのように記述すればよろしいでしょうか?
(カレントフォルダは使っているブックの場所に移動し、
探したいシートがあるブックも同じフォルダにあります)

今開いてるブックに対しての有無を確認するコードは拾ってきたのですが・・
Sub シート確認用3()
Dim a As String
a = Range("a1").Value
ChDir ActiveWorkbook.Path
Dim flg As Boolean
Dim cnt As Long
For cnt = 1 To ThisWorkbook.Worksheets.Count
If ThisWorkbook.Worksheets(cnt).Name = "合計" Then
flg = True
MsgBox "ok"
End If
Next
If flg = False Then
MsgBox "ng"
End If
End Sub

186名無しさん@そうだ選挙にいこう:2008/01/23(水) 15:50:34
>>183
シート上のドロップダウン(だよね?)を右クリックして、マクロ登録
すると、自動的に「Sub ドロップ1_change」みたいなのが入力されてると思う。
あとは、そこに、こんな感じ

Sub ドロップ1_Change()
 Set ctrl = ActiveSheet.Shapes("Drop Down 1").ControlFormat
 MsgBox ctrl.List(ctrl.Value)
End Sub

VBのコンボボックスコントロールとは無関係
187名無しさん@そうだ選挙にいこう:2008/01/23(水) 16:30:41
>>180
>見積書で金額の集計をする際に、( )の付いている金額のみを抜き出して合計したい
括弧が付いた金額と言うことはマイナスの数字なんだよね
それを加味してSUMIF関数使ってみ
例:
 =SUMIF(A1:A10,"<0")

括弧を付けて文字列にしてるなら数値でなくなってるからSUM関連の関数はつかえない
188名無しさん@そうだ選挙にいこう:2008/01/23(水) 18:56:27
>185 あんまり綺麗じゃないけど!

Sub シート確認用4()

Dim a As String
a = Range("a1").Value
ChDir ActiveWorkbook.Path
Dim flg As Boolean
Dim cnt As Long

Workbooks.Open Filename:=ActiveWorkbook.Path & "\" & a & ".XLS"
For cnt = 1 To ActiveWorkbook.Worksheets.Count
If ActiveWorkbook.Worksheets(cnt).Name = "合計" Then
flg = True
MsgBox "ok"
End If
Next
If flg = False Then
MsgBox "ng"
End If

Workbooks(a & ".XLS").Close SAVECHANGES = False

End Sub
189名無しさん@そうだ選挙にいこう:2008/01/23(水) 20:38:21
すみません。MacのOffice2004のエクセルを使用しています。

Sheet1〜Sheet4まであり、Sheet4のA1〜100に名前が書いてあります。

Sheet1〜3のC列の選択したセルにVBのコンボボックスとコマンドボタン2個
を使って1つは入力、1つはキャンセルという動作で素早く入力したいのですか可能でしょうか?

よければ詳しく教えて欲しいのですが。。もしくはサイトを紹介していただけますでしょうか?


190名無しさん@そうだ選挙にいこう:2008/01/23(水) 20:43:50
最近分厚いexcelの本を購入したビギナーです。
よろしくお願いします。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はじめて聞きました
【4 VBAでの回答の可否】 必要とあれば明日本屋に駆け込みます
【5 検索キーワード     】 損益


日々価値の変動する商品があります。例えば金とか、株です。
例えばその商品、1/1 の価格が 100円 1/31での価格が90円ならば、
今月の差額は -10円であるという関数は非常に易しいですが、
今日はまだ 1/23 で、まだ1/31のセルは0としか書いてないので、
=SUM(1/31セル - 1/1セル) では-100としかでません。

今日の価格は99円になったとします。

これを、「本日の価格」、または 「0でない間近の価格」との差額を計算し、
「そうか、今月は今のところ -1円なんだな」と計算する、
とても便利な関数がありましたら、本当に勝手なお願いなのですが
わかりやすく教えてください。

よろしくお願いします。
191名無しさん@そうだ選挙にいこう:2008/01/23(水) 20:51:01
A      B
H20.1.1 100
H20.1.2 102
H20.1.3 103
H20.1.23 123

今日(1/23)の価格を出すには、=VLOOKUP(TODAY(),A1:B4,2,0)
192190:2008/01/23(水) 20:53:06
本当にありがとうございます。
世の中にはパッと難問が解決できてしまうすごい方がいらっしゃるものですね。

数年後、ここで教える立場に回れるよう努力します。

重ね重ねありがとうございました。
193190:2008/01/23(水) 22:10:10
たびたびすみません。
お世話になります。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 先ほどはじめて聞きました
【4 VBAでの回答の可否】 必要とあれば明日本屋に駆け込みます
【5 検索キーワード     】 間近の 最近の 空白


190の派生なのですが、


横に日付順に、例えば株価を入れます。
100 103 105 107 105 103 ....などなど。
しかし、本日以降の欄は空白です。

「入力済みの最新の値」から、「1日目の値」を引く、という関数はありますか?


検索範囲内で、空白を無視して 「値が入力されている中で一番右端」のセルの値を出す



どうぞよろしくお願いします。
194名無しさん@そうだ選挙にいこう:2008/01/23(水) 22:19:52
A        B   C   D    E
証券コード  1/1  1/2  1/3  1/4
7621     100  101       104

=HLOOKUP(MAX(B2:E2),B2:E3,2,0)
195名無しさん@そうだ選挙にいこう:2008/01/23(水) 22:51:31
【1 OSの種類      】WindowsXP
【2 Excelのバージョン】Excel2003
【3 VBAが使えるか  】いいえ
【4 VBAでの回答の可否】否
【5 検索キーワード  】マクロ その名前は正しくありません

一括削除やシート隠し等、簡単なマクロの記録、実行のみ経験があります。

あるブックで新しいマクロの記録をしようと、「set」という
マクロ名を指定すると、「その名前は正しくありません。」
とのポップアップがでました。これはなぜでしょうか?

※当ブックで、以前に5種程度のマクロを登録しており
 最近全てのマクロを削除した経緯があります。
 削除方法は、Alt+8からの削除に加えて、VBAの画面を開いて
 〜の開放というのを初めて実行しました。
196名無しさん@そうだ選挙にいこう:2008/01/23(水) 22:54:04
>>195
set ってマクロ名を一度 sex に変えて実行してみて。
197195:2008/01/23(水) 23:00:00
>>196
すいません、書き忘れました。
実行まではしていませんが「sex」で
問題なく記録できることは確認済みです・・・。
198名無しさん@そうだ選挙にいこう:2008/01/23(水) 23:08:09
>>195
Set ステートメント 予約語と同じ名前にすな
199名無しさん@そうだ選挙にいこう:2008/01/23(水) 23:11:43
>>197
じゃぁsexでいいじゃん
200名無しさん@そうだ選挙にいこう:2008/01/23(水) 23:12:55
セックスッッッッ!!!!だろ。
201195:2008/01/23(水) 23:25:47
>>198
ありがとうございます。
「set」というマクロ名は使用できないということですね。

>>199
入社したばかりなので、そんな勇気ありません・・・。
202名無しさん@そうだ選挙にいこう:2008/01/23(水) 23:34:24
>>188
ありがとうございます
あれからも調べましたが、ブックを閉じた状態でシートの検索はできそうにないですね…
シートの値なんかはすぐに引っ張ってこれるのになぁ
>>195
予約語、と言われるものは使えない
分かんなかったら変数なんかは頭にaaaでもつけてれば間違いなく使用できる
aaasetとか
最高にブサイクだけどな
203名無しさん@そうだ選挙にいこう:2008/01/24(木) 00:44:23
sexって何?それっておいしいの?気持ちいいの?
204名無しさん@そうだ選挙にいこう:2008/01/24(木) 01:05:34
全角でsetにすれば?
画面上はプロポーショナルフォントで表示されるから、ぱっと見あんまり違和感ないよ。
205名無しさん@そうだ選挙にいこう:2008/01/24(木) 01:56:22
>>202
ブックを開かずにシートの値が取れるの?

206名無しさん@そうだ選挙にいこう:2008/01/24(木) 03:28:44
>>205
取れない
取れないからエラーになって以前参照した値が表示されてるだけ
Excelはこんな仕様
それを表示されてるから取れてると思い込んでるだけでしょ
207名無しさん@そうだ選挙にいこう:2008/01/24(木) 07:26:25
イライラするわ
リボン死ね
208名無しさん@そうだ選挙にいこう:2008/01/24(木) 07:54:56
>>205
やべぇ、俺も取れると思ってた…
209名無しさん@そうだ選挙にいこう:2008/01/24(木) 10:21:56
突然申し訳ないですが、質問させて下さい。
脳波の分析に波グラフで波形を出して、表示をしました。

丁度、-0.3から3のメモリ(縦軸)の間を、波形が上下動いてる様な図になってます。
横軸は時間で、三秒間。
私がしたいのは、1〜2秒間の波形のマイナス部分の面積です。
関数計算みたいなのらしいのですが、聞ける人も回りに丁度おらず…。


どなたかいらっしゃいましたら、お願い致します!
210名無しさん@そうだ選挙にいこう:2008/01/24(木) 13:28:40
>>209
サンプリングレートによって最適な方法が違ってくる。万能な方法はない。
Excelでは困難な場合もある。
とりあえず、そのグラフのスクショうp
211名無しさん@そうだ選挙にいこう:2008/01/24(木) 14:05:27
条件付書式の設定で出来たら教えていただきたいのですが、
セルAとセルBにそれぞれ1という数字を入れたときにセルCの色を赤くするには
どうしたらいいでしょうか。
エクセル2002を使用しています。
212211:2008/01/24(木) 14:14:53
すみません解決しました
213名無しさん@そうだ選挙にいこう:2008/01/24(木) 15:35:47
excelで、漢字とかたかなを同じサイズで打ち込むにはどうすればいいんでしょう?
基本的かもしれないんですが、教えてください。
214名無しさん@そうだ選挙にいこう:2008/01/24(木) 15:53:05
Excel 2007 でシート見出しの色を「色なし」に設定する操作をマクロに記録したところ、
以下のようなコードができました。
しかしこれを実行するとxlAutomatic(-4105)のところで「インデックスが有効範囲にありません」
というエラーになってしまいます。
この操作をマクロで実行することはできないのでしょうか?

Sub Macro4()
Sheets("xxx").Select
With ActiveWorkbook.Sheets("xxx").Tab
.ColorIndex = xlAutomatic
.TintAndShade = 0
End With
End Sub

よろしくお願いします。
215名無しさん@そうだ選挙にいこう:2008/01/24(木) 15:54:56
>>213
フォントを2バイト文字用のものに統一しろ

「MS Pゴシック」 とか 「MS 明朝」 とか 「HG行書体」 とか2バイト文字が名前に使われている物を選べば間違いない
216名無しさん@そうだ選挙にいこう:2008/01/24(木) 15:56:16
>>181
=CHOOSE((A1+4)/5,"あ","い","う","え","お")
217名無しさん@そうだ選挙にいこう:2008/01/24(木) 17:20:38
>>214
マクロの自動生成コードがおかしい気がする。
.ColorIndex = xlAutomatic じゃなくて、xlColorIndexNone を代入してみたらどうでしょう?
218名無しさん@そうだ選挙にいこう:2008/01/24(木) 18:37:16
質問です。
ステータスバーの「コマンド」表示の欄がセル移動で 再計算 100%と動く。
セル移動しても、「コマンド」のままで表示が動かないように設定するにはどうすれば
いいですか?
XP 2003
219名無しさん@そうだ選挙にいこう:2008/01/24(木) 18:43:24
>>218
それ、VBAのイベントが走ってたりしない?
ツール⇒オプション⇒計算方法タブの計算方法を、自動から手動に変えたらどうでしょう?
220名無しさん@そうだ選挙にいこう:2008/01/24(木) 18:56:22
レス サンクス 説明が足りず、申し訳ない。

VBAでワークシートイベントが走ってます。
同じようなブックが2つあるのですが、セル移動でひとつはコマンド欄が動き、ひとつは全く動きません。いずれも、役目はきちんと果たしています。
ツール⇒オプション⇒計算方法タブの計算方法は、どちらも自動となっています。
221名無しさん@そうだ選挙にいこう:2008/01/24(木) 19:42:24
2セルごとあけてオートフィルすることはできないでしょうか?
222名無しさん@そうだ選挙にいこう:2008/01/24(木) 20:37:06
>>221
出来ますよ。

最近流行ってるな。飛び飛びのオートフィルが。
前スレでも出てたなぁ。
223名無しさん@そうだ選挙にいこう:2008/01/24(木) 20:48:27
>215 出鱈目教えんなよ…

>214 プロポーショナルフォント(MS Pゴシック等) "以外の"フォントを使えば良い
一般的なのはMSゴシック、MS明朝
224名無しさん@そうだ選挙にいこう:2008/01/24(木) 21:01:49
出鱈目教えんなよ…
それは文字のサイズではなく文字間ピッチを統一したい場合だw
225名無しさん@そうだ選挙にいこう:2008/01/24(木) 21:27:26
そもそも「同じサイズ」の意味がわからんもんな。高さなのか幅なのかバイト数なのか。

俺なら同じ幅、つまり固定ピッチフォントだと解釈するが。
226名無しさん@そうだ選挙にいこう:2008/01/24(木) 21:41:24
フォントがGulimとかになってると予想してみる
227名無しさん@そうだ選挙にいこう:2008/01/24(木) 22:05:26
たとえば
1000円
2000円
=SUM(x1:x2)
のように文字列として単位が付いている数をSUM関数で計算する方法はあるのでしょうか。
※SUMに限らず
228名無しさん@そうだ選挙にいこう:2008/01/24(木) 22:14:43
自宅
【1 OSの種類】 Windows vista
【2 Excelのバージョン】 Excel2000
会社
【1 OSの種類】 Windows XP
【2 Excelのバージョン】 Excel2003

初心者過ぎる質問で申し訳ないのですが、
会社で使っていたexcelファイルを自宅に持ち帰ったところ、
USBメモリーから直接excelファイルを開こうとしましたが開けませんでした。

【種類】xis_auto_file このファイルを開くか、または保存しますか?
と出てきて開くを押す とその表示が消えるだけで 開かれません。

その後、ファイルをexcelの上に持っていったら開けることがわかったのですが、
これはどうして直接開くことができなかったんでしょうか?

長文失礼しました。よろしくお願い致します。

追記 ワードは直接開くことができます。
229名無しさん@そうだ選挙にいこう:2008/01/24(木) 22:18:50
>>227
A1に「1000円」と入っているとして、次のように数値として取り出す。そしたらSUMできる。
=VALUE(LEFT(A1,LEN(A1)-1))
230名無しさん@そうだ選挙にいこう:2008/01/24(木) 22:21:11
>>227
セルの書式設定で初めから1000を 1000円と表示させておく
231名無しさん@そうだ選挙にいこう:2008/01/24(木) 23:05:37
【OSの種類】WindowsXP
【Excelのバージョン】Excel2003
【検索キーワード】キーボード 書式なし オートフィル

書式なしのオートフィルをキーボードだけでできないものでしょうか?
232名無しさん@そうだ選挙にいこう:2008/01/24(木) 23:31:00
>>231
出来ますよ。
233名無しさん@そうだ選挙にいこう:2008/01/24(木) 23:33:31
馬鹿回答者は答えんなよ
234名無しさん@そうだ選挙にいこう:2008/01/25(金) 00:34:07
>>233
ゴラァー 馬鹿回答者とか失礼なことを言うもんじゃない!!!!!

誰も答える資格のある香具師がいなくなってしまうではないかwww
235名無しさん@そうだ選挙にいこう:2008/01/25(金) 00:52:10
>>232
教えてください!
236名無しさん@そうだ選挙にいこう:2008/01/25(金) 01:38:21
>>234
答える資格 ってナニ?
237名無しさん@そうだ選挙にいこう:2008/01/25(金) 01:43:47
今グラフ作ってるんですが、近似曲線の線形近似を追加することはできたのですが、
近似の線がプロット位置からプロット位置までなんですが、y軸まで伸ばすにはどうすればいいのでしょうか?
238名無しさん@そうだ選挙にいこう:2008/01/25(金) 09:50:34
【1 OSの種類         .】 WindowsXPSP2 or Windows2000SP4
【2 Excelのバージョン   】 Excel2003 or Excel2000
【3 VBAが使えるか    .】 今はまだ全くダメ
【4 VBAでの回答の可否】 できるだけ否
【5 検索キーワード     】 excel 単価 変化 料金 関数


数量によって単価が変化する集計表を作っています。

例:合計値として10,000と入力した場合、
1〜5,000までは単価10、
5,001〜8,000までは単価6、
8,001〜12,000までは単価3、
12,001〜はすべて単価1とする……みたいな。
(この場合の合計金額は50,000+18,000+6,000=74,000となるです)

今まで手作業で合計値を単価ごとに手作業でバラして単純計算していましたが、
最近は数も増え、もう少しスマートに処理したいと考えています。
ヒントをいただきたく思います。よろしくお願いします。
239名無しさん@そうだ選挙にいこう:2008/01/25(金) 10:27:17
>>238
やっつけ仕事で回答してみる
A1に調べたい個数を入力(今回なら10000)、
インデックスとしてB1からB5に基準、単価、個数、残り、金額と入力
C1からF1に基準となる金額、左から0,5000,8000,12000と入力
c2からf2に基準となる単価左から0,10,6,3と入力
D3に=IF($A$1-C2<0,0,$A$1-C1)
D4に=D3-E3
D5に=D2*D4
D3からD5までドラッグしてF列までオートフィル
A5(どこでもいいけど)に=sum(d5:f5)
後は適当に見出しでもつけて完成

もっとスマートな式が作れるようになりたいです・・
240名無しさん@そうだ選挙にいこう:2008/01/25(金) 11:08:58
なんというやっつけ仕事www
ただの事務なら問題ないがこれがSEだと・・
241名無しさん@そうだ選挙にいこう:2008/01/25(金) 11:11:18
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 今はまだ全くダメ
【4 VBAでの回答の可否】 できるだけ否
【5 検索キーワード     】 excel 同じ コード



膨大な量の会社データがあります。
会社名にそれぞれ部署や人の名前などがひもついています。
ひとまず、「社名」で括って、同じ社名には自動で同じコード(数字)がふられるようにしたいのですが、
なにかいい方法はありますか?
COUNTで社名の数だけカウントして、その社名の数分のコード表を作ってVLOOKUPさせて・・
という手作業が出来るほどの数ではありません
宜しくお願いします
242名無しさん@そうだ選挙にいこう:2008/01/25(金) 11:45:22
>>241
やっつけ仕事二弾行くぜ

まず社名で並び替えをする
(社名がC列にあり、B列は空いていると仮定)
B1に1、B2に
=if(c1=c2,b1,b1+1)
と入力、最終行までオートフィル
その後B列すべてを選択してコピー、形式を選択して貼り付けで値を選択
並び順を変えたくない場合は以下を事前に行う

インデックスがあれば並び替えた後にそれを元に並び替え
もしない場合は、最初に作っておいてから最後に戻す
一応やり方は以下
F列まで使用しているとすると、G列に通し番号を入力しておく
そしてすべてが終わった段階でG列を元に並べ替え

新しく追加する時は前後見ながらやればいいが・・
ついでに企業名のテーブルを作っておきたい場合
(HとI列が空いてるとする。別シートの方がいいと思うがそこは変えてくれ)
値で貼り付けた直後に、J1に=max(b1:b65535)と入力
これで企業の数が出る
H1に1、H2に2・・とJ1の数字までオートフィル
I1に=vlookup(h1,&b$1:$c$65535,2)と入力
またオートフィル
更にHとIをコピーして同じ場所に値で貼り付け
終わったら、先の処理に戻る

でとりあえずはうまくいくと思う
243241:2008/01/25(金) 11:57:31
>>242
すごい!ありがとう!
感動した!本当にありがとうございます。
244名無しさん@そうだ選挙にいこう:2008/01/25(金) 12:19:55
>>238
=IF(A1>12000,80000+(A1-12000)*1,IF(A1>8000,68000+(A1-8000)*3,IF(A1>5000,50000+(A1-5000)*6,A1*10)))
245名無しさん@そうだ選挙にいこう:2008/01/25(金) 12:37:28
 Rnd関数で返される値を、ある任意の範囲内の数値にしたい場合には、
「Int(最大値 - 最小値 +1 ) * Rnd + 最小値」

という文をhttp://www.moug.net/tech/exvba/0100028.htm
このページで見かけたのですが、
最小値に+1とする理由はなんでしょうか?
rand関数の説明をしている他のページにも、
同じ記述があったのですが・・
仮に+1を抜いてみても、変化は特に見受けられなかったのですが
246238:2008/01/25(金) 12:59:58
>>239
ありがとうございます。
ただ、数量が少ない場合にはマイナスの合計金額が載ってしまうからか、
合計が正しい金額にならないみたいです。
書式設定に#;!0;0をぶち込み負の数値をすべてゼロとみなすよう
試みてみましたが、この作戦だと表示がゼロになるだけのようで、
いまいちうまく行きません。
いただいたヒントをもとに、もうちょい頑張ってみます。

>>244
これはなんとエレガントな……ッ!

IF関数ってこんな使い方ができるんですね。
見れば見るほど勉強になります。
ありがとうございます!
247名無しさん@そうだ選挙にいこう:2008/01/25(金) 13:12:57
>>246
すまんかった
D3に=IF($A$1-C2<0,0,$A$1-C1)

D3に=IF($A$1-C1<0,0,$A$1-C1)
だったな
248名無しさん@そうだ選挙にいこう:2008/01/25(金) 13:13:42
>>242
>I1に=vlookup(h1,&b$1:$c$65535,2)と入力
&は$の間違いとしても、C65535まで指定する必要はなかんべ?
249名無しさん@そうだ選挙にいこう:2008/01/25(金) 13:26:30
>>242の最終行までオートフィルってA65536までって意味か?
だったら分からなくもないな。
=vlookup(h1,$b$1:$c$65536,2)だろうけど。
最終行の意味がC列にデータがあるところまでって意味ならうまくないが。
250名無しさん@そうだ選挙にいこう:2008/01/25(金) 13:33:58
>>245
最小値に+1してるわけじゃなくて、intで切り捨ててるから。
rndは0≦n<1の間の値を返すから、0〜10欲しい時にint(rnd*10)じゃ、
結果の範囲は0≦n<10。どう転んでも10には届かない。
これを切り捨てするわけだから、得られるのは0〜9まで。
そういうときは1足してint(rnd*11)でないとまずい。
251名無しさん@そうだ選挙にいこう:2008/01/25(金) 13:43:14
>>250
なるほど、0<=n<=1と思ってました
ありがとうございます
252名無しさん@そうだ選挙にいこう:2008/01/25(金) 13:44:27
ちょと聞いてくれよ、>>1
スレと全然関係ないんだけどさ
1) 「Microsoft Word」を開く。
2) =rand (200,99) を打ち込む。
3) Enter ボタンを押して、しばし待つ。
ってやってみてくれよ
仕事中や何か飲みながらはあんまりしないほうがいいと思うぜ
253名無しさん@そうだ選挙にいこう:2008/01/25(金) 13:54:29
会社でふいたwww
こんなスレにはるなバカw
254214:2008/01/25(金) 14:41:23
>>217
できました。ありがとうございます。
255名無しさん@そうだ選挙にいこう:2008/01/25(金) 17:18:09
数千個の列にならんだ数字データを一行おきに選択したいと前スレで質問して

作業列を1つ用意してA、Bと入力、Altを押しながらフィルハンドルをダブルクリック、
オートフィルタでAだけを選択、するとデータが1行置きに表示される。
あとはデータの入った列を選択してグラフを挿入。
作業列はデータ列のすぐ隣に作ること。
1行目にA、2行目にBと入力して、その2つのセルを選択してから
Alt+フィルハンドルをダブルクリック。

と回答をもらったんですがA,Bと入力するところがよくわかりません。
新しいファイルで上のA列にデータをコピペしてBを空白にして
Bのフィルハンドル(列全部選択してでてくる小さい四角ですよね?)
をALTクリックしても何もおきません・・・どうすればいいのでしょうか
256名無しさん@そうだ選挙にいこう:2008/01/25(金) 18:04:51
要するにある列にABABABAB・・
と入力し、その列でオートフィルタ→Aを選択すれば奇数行、
Bを選択すれば偶数行が表示されるってことでしょう

俺のところ(エクセル2000)はaltを押さなくてよかったんだけど、バージョンの違いかな?

とりあえず
A、Bと入力、Altを押しながらフィルハンドルをダブルクリック

例としてB1、B2にそれぞれA、Bと入力後B1B2を範囲選択
その後右下の点(フィルハンドルっていうのかな)をダブルクリックすれば
一番下の行のまでababab・・と入力されるってことだな

それで、表だけなら完成だけど、グラフにするのか?
グラフにするなら、オートフィルタの後にその表をすべて選択、
delete押してからオートフィルタ解除すれば表示してない行だけ残る
257名無しさん@そうだ選挙にいこう:2008/01/25(金) 18:57:00
>>252
Wordを数年ぶりに開いて試してみた
Word 2002 は、画期的な日本語入力・編集環境を実現した日本語ワープロです
って何だ?
=rand()でも少し出るみたいだが
258名無しさん@そうだ選挙にいこう:2008/01/25(金) 20:05:23
VBAでの質問です。
SelectとかActivateとかを使うと動作が遅くなると聞いたことが
あるんですが、そんなに差が出るものでしょうか?

例えば、A、B、Cというブックがあって、Aにマクロを書いて
BとCを集計する場合、Windows(B)とか、Workbooks(C)とかを
書いてますが、速度を気にしたことがありません。
のです。
259名無しさん@そうだ選挙にいこう:2008/01/25(金) 20:07:10
すみません、文章を添削してたら「のです」が残ってました。
「のです」に突っ込まないでください。
260名無しさん@そうだ選挙にいこう:2008/01/25(金) 20:20:21
>>237
近似曲線の書式設定で予測の後方補外を0.5に。
261名無しさん@そうだ選挙にいこう:2008/01/25(金) 21:00:41
>>255
セルB1に「A」、セルB2に「B」と入力してから、セルB1とB2を選択した状態でAltを押しながら
フィルハンドルをダブルクリックだよ。自動的にA、B、A、B、というデータが一番下まで入る。

入力するのは「A」と「B」じゃなくても「りんご」と「みかん」でも、異なった文字列ならなんでもいいんだよ。
1行目はフィルターの対象外だから、2行目からにした方がいいかな。
262名無しさん@そうだ選挙にいこう:2008/01/25(金) 21:32:47
>>258
普通は気にしなくていいよ。
業務プログラムだと、数万件の行を扱う事がザラにあるから、
ヘタに組んじゃうと極端に遅くなるっていう話ね。

基本的に、常に補助入力が有効になるようにコードを組んどけば、実行速度には有利になる。
事前バインディングってやつだけど。
263名無しさん@そうだ選挙にいこう:2008/01/25(金) 21:56:34
>>258
10倍20倍の差が出ることもあるが、
10ms(0.01秒)が20倍の200ms(0.2秒)になったところでさして問題は無いだろう

262も言ってる通り、扱うデータが膨大になったり
処理が複雑になったりした場合に考えれば良い
現時点で気になってないということは、君はまだその域には居ないんだろうから
しばらくは気にしなくていいと思うよ
264名無しさん@そうだ選挙にいこう:2008/01/26(土) 01:24:17
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 不可
【5 検索キーワード     】 テキスト 保存

Excelでタブ区切りでテキスト保存する方法は分かるのですが
タブなしでテキスト保存するにはどうしたら良いのでしょうか?
例えば

愛  ai
蟻  ari
鍵  kagi

という表を

愛ai蟻ari鍵kagi

というように完全にタブもスペースもないテキストデータにしたいのですが。
お願い致します。
265名無しさん@そうだ選挙にいこう:2008/01/26(土) 01:30:08
>>264
データ量にもよるけど、VBA不可だとExcelでは基本的に無理。
ベクターでフリーのテキストエディタを落としてきて、タブと改行を一括削除が一番速くて簡単。

ごく少量なら別のシートに結合済みのデータを作って保存という方法もあるが。
266名無しさん@そうだ選挙にいこう:2008/01/26(土) 01:35:04
>264
vba不可でオフィスだけでやるなら
タブ区切りで保存
ワードで開く
タブを置換して消す(オプション→あいまい検索のチェック外す→特殊文字→タブ でタブが検索できる)
同じく段落記号を置換して消す
保存
267名無しさん@そうだ選挙にいこう:2008/01/26(土) 01:47:18
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 不可
【5 検索キーワード     】 文字数カウント

Excelで複数セルに渡るものの文字数をカウントするにはどうしらたら良いのでしょうか?
ネットで検索したところ
=+LEN(A1)
で出来ると書かれていたのですが
単一セルだと出来るのですが
複数セルだとうまくいきません。
どうすれば良いでしょうか?
268名無しさん@そうだ選挙にいこう:2008/01/26(土) 01:55:45
>267
=LEN(A1&A2&A3)
の形で文字列くっつけるしかないのかも

数多いなら作業範囲作って、セルごとにカウントして合計のほうが速いと思われます
269名無しさん@そうだ選挙にいこう:2008/01/26(土) 02:03:42
>>268
ありがとうございます。

どういうことですか?
初心者なのでよく分かりません。
270名無しさん@そうだ選挙にいこう:2008/01/26(土) 02:13:21
>269
カウントしたい範囲が
A1から3行・4列に渡ってるとしたら、
たとえばA10からD12の範囲で作業を行う
A10に =LEN(A1) と入れて作業を行う範囲にコピー
んで、その範囲の合計をする。
271名無しさん@そうだ選挙にいこう:2008/01/26(土) 10:41:24
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 ?
【4 VBAでの回答の可否】 ?
【5 検索キーワード     】 ?

エクセルの勉強を始めたばかりなのですが、
『桁区切り』や『パーセントスタイル』を解除するにはどうしたらいいのでしょうか?
272271:2008/01/26(土) 10:44:11
追記です

Ctrl+Z以外の方法で、デス
273名無しさん@そうだ選挙にいこう:2008/01/26(土) 11:36:35
セルを右クリックして「セルの書式設定」
274271:2008/01/26(土) 11:39:39
>>273
ありがとうございました
275名無しさん@そうだ選挙にいこう:2008/01/26(土) 12:09:41
>>267
どうしても作業列がいやなら
=SUM(LEN(A1:A10))としてshit + cntrl + enterもある。
とかくDQNが大好きな=SUMPRODUCT(LEN(A1:A10))でもいいが。
276名無しさん@そうだ選挙にいこう:2008/01/26(土) 12:30:40
DQNが好きというのはどういうところから
そう思われるのでしょうか?
277名無しさん@そうだ選挙にいこう:2008/01/26(土) 12:52:00
>>276
>275こそがDQNだから気にするな
278277:2008/01/26(土) 12:56:41
という俺もDQNだがな
279276:2008/01/26(土) 12:57:30
俺以上にDQNがいるわけがない
280279=275:2008/01/26(土) 12:58:59
レス番、本気で間違えた。
やっぱり俺が最強のDQNだ。
281277:2008/01/26(土) 13:06:24
いや俺こそが最強のDQNです。
=SUM(INDEX(LEN(A1:A10),))も好きだしな。
282名無しさん@そうだ選挙にいこう:2008/01/26(土) 13:10:40
そろそろ飽きた
283名無しさん@そうだ選挙にいこう:2008/01/26(土) 16:00:35
Excelにはセルの右下をドラッグすることで
数字の連番を作る機能がありますが(オートコンプリートと言うんでしたっけ?)
これはドラッグするセルの数が少なければ問題ないのですが
数百とか数千とかになると、すぐに行き過ぎてしまったりして
うまくセレクトすることが出来ません。
これを、例えばシフトを使って複数選択するなどの
方法などで簡単に行うことは出来ないのでしょうか?
284名無しさん@そうだ選挙にいこう:2008/01/26(土) 16:06:56
>>283
左上の名前ボックスにA1:A3500とか入れればいいよ
それで編集→フィル→連続データ
285名無しさん@そうだ選挙にいこう:2008/01/26(土) 16:53:09
名前ボックスに値を入れても
編集→フィル→連続データをクリックすると
値を消えてしまうのですがどうすれば良いのでしょうか?

286名無しさん@そうだ選挙にいこう:2008/01/26(土) 17:22:52
初歩的な質問ですいませんが、セルに文字を入力する際、
ダブルクリックすれば入力できますが、ダブルクリックしないで、
キーボードの何かを押せば、文字が入力できるようにはならないでしょうか?
287名無しさん@そうだ選挙にいこう:2008/01/26(土) 17:27:39
288名無しさん@そうだ選挙にいこう:2008/01/26(土) 17:29:20
F2
289286:2008/01/26(土) 17:31:17
すいません、質問の仕方が間違ってました。 ○| ̄|_

既に入力されている文字を訂正したい場合、ダブルクリックすれば
訂正前の文字が残ったまま、カーソルが点滅しますよね。
その状態に、ダブルクリックしないで、キーボードから操作できないでしょうか?
というのが質問です。上書きすればいい話なんですが、既に入力されている文字を
残したまま、訂正したいので。
290名無しさん@そうだ選挙にいこう:2008/01/26(土) 17:32:43
>>288
あ、レス書いてるうちに回答が!
F2押したらできました!! ありがとうございました。
291名無しさん@そうだ選挙にいこう:2008/01/26(土) 18:03:47
【1 OSの種類         .】 Windows XP Home
【2 Excelのバージョン   】 Excel 2003 Pro
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 プルダウン

質問なのですが、「A」というシートで作ったデータのそれぞれの題名(縦に並べてます)を、
「B」というシートでプルダウン形式で選択して、さらにその同じ行に入力してあるデータを
「B」のシートでも「A」と同じように並べることは可能でしょうか?
イメージとしては「B」に「A」のデータを行単位で引っ張り出す。その方法はプルダウンという感じです。
なんだかうまく説明できてる気がしませんが、どうかお願いします
292名無しさん@そうだ選挙にいこう:2008/01/26(土) 18:30:35
>>291
名前を付ければ可能
あとはvlookup等を使用したらおk
293291:2008/01/26(土) 19:20:19
>>292
レスありがとうございます。「A」でつけた名前の一覧を「B」のプルダウンで選択して、
その結果同じ行に「A」のデータ部分を表示させる、という処理もvlookupで可能
なのでしょうか?
そもそもの質問の仕方がおかしいばかりに重ねての質問になってしまい申しわけありません
294名無しさん@そうだ選挙にいこう:2008/01/26(土) 20:59:15
>>293
そゆこと
295名無しさん@そうだ選挙にいこう:2008/01/26(土) 21:30:41
式の始めに「=」でなく、>>267 さんのように「=+」と入力する人を
ときどき見かけるのですが、どこかでそう教えられているのですか?
「=+」を使う人って多いのでしょうか。
296名無しさん@そうだ選挙にいこう:2008/01/26(土) 21:44:36
>>295
マルチプランの頃から使っていた人なのかな?
297名無しさん@そうだ選挙にいこう:2008/01/26(土) 23:01:46
>>281
最強のDQNさん、=sum(index(len(範囲),)) について
その式、初めて見たんだけど、その式のコンビネーションの詳細情報を求めたい。

それと、貴方なら知っていそうなのでききたい。
index関数で行又は列の指定でゼロとする場合は、具体的にどんな場合ですか?
298名無しさん@そうだ選挙にいこう:2008/01/26(土) 23:55:26
>>281
これって、
・index関数の中なら、LEN関数などを配列数式的につかえる
  INDEX(LEN(A1:A10),,)→index({LEN(A1);LEN(A2)…;LEN(A10)},,)
・index関数の行指定などを省略すると行全体等が帰り値になる
  index(A1:C10,,2)→B1:B10
ってことでいいんでしょうか?
299297 ◆wkj7cNdS3Y :2008/01/27(日) 00:08:56
>>298 サンクス
配列を全く、意識していませんでした。
自分にとってすごく、勉強になり、重ねてサンクス。
300名無しさん@そうだ選挙にいこう:2008/01/27(日) 00:21:09
WindowsXPPro
Excel2003Personal

特定のシートで数式が戻り値を返さずに数式のまま
表示されてしまうのですが、
シートが壊れてしまったのでしょうか?
301名無しさん@そうだ選挙にいこう:2008/01/27(日) 00:23:53
>>300
セルの書式を見て文字列になっているなら標準なりにかえる
302名無しさん@そうだ選挙にいこう:2008/01/27(日) 00:52:38
>>301
書式は標準になってました。
数式を他のシートに貼り付けるとちゃんと戻り値を表示するので
数式が悪いわけではない気がします。
303名無しさん@そうだ選挙にいこう:2008/01/27(日) 01:31:23
なら、数式を書いて聞くべき
'がついていれば、'をはずせ
折れは寝る

304名無しさん@そうだ選挙にいこう:2008/01/27(日) 01:33:49
>>302
数式を表示する状態になっている。
数式を表示するか結果の値を表示するかはどこかで設定できる。
いまこちらの手元にあるバージョンとは異なるので正確には伝えられないけど、
ちゃんとできます。
いろんなところの表示を確認してみてください。
305名無しさん@そうだ選挙にいこう:2008/01/27(日) 01:50:46
もしご存知の方がいらっしゃったら教えてください。
データベースに以下の数字があったとしてます。
200
140
480
20
この数字の中からどれかを足して500を求めたいのですが、
エクセルの関数で該当するようなものありますでしょうか。
結果として480と20が何かしらの方法で把握できれば良いのですが、
ご存知の方がいらっしゃったら、是非、教えてください。
306名無しさん@そうだ選挙にいこう:2008/01/27(日) 01:51:55
>>300
特定のシートだけで起こるなら、正常なシートにそのセルをコピペしてみろ。

先頭に "="が付いてないだけだったりしたらヌッ頃すから、くれぐれも用心しろ。
307名無しさん@そうだ選挙にいこう:2008/01/27(日) 01:57:11
>>305
足しこむ数字の数が、常に2つなんだったら、そんなに難しくないと思う。
例えば、200 が書いてあるセルを A1 とすれば、
 =VLOOKUP(500-A1, A1:A4, 1, False)
これを、B1にでも書いて下にコピーすれば把握はできる。
308307:2008/01/27(日) 01:59:57
あ、間違えた。  × A1:A4  ○ $A$1:$A$4  こうしないとダメだな、多分。
309名無しさん@そうだ選挙にいこう:2008/01/27(日) 02:02:13
>>305
ソルバー
310名無しさん@そうだ選挙にいこう:2008/01/27(日) 02:05:40
>>307
レスどうもありがとうございます。
なるほどVLOOKUPで差額を求めるということですね。
実は会社の製品をいくつか売り上げて、請求書通りに払ってこない
顧客も中にはあり、そのような顧客の売掛金の消し込みの方法を考えています。
そのため、常に2つとは限らないのですが、大変参考になりました。
どうもありがとうございます。
311名無しさん@そうだ選挙にいこう:2008/01/27(日) 02:11:15
>>309
ソルバーという解析機能があるのですね(今、調べました)。
勉強になりました。
誠にありがとうございます。
312名無しさん@そうだ選挙にいこう:2008/01/27(日) 02:19:37
>>310みたいに、そういうのを先に言っておけばもっといい方法が
出てくるかも知れないのに、
わかりやすくするつもりで言い方変えちゃうもんだから
その質問の書き込みに合わせた答えしか返ってこない。

質問したい人がいて答えてくれる人もいるのにこれはほんとにもったいないことだと思う。
313名無しさん@そうだ選挙にいこう:2008/01/27(日) 09:48:46
>>300
ツール→オプション→表示→ウィンドウオプション→数式のチェックをはずす
314名無しさん@そうだ選挙にいこう:2008/01/27(日) 09:49:41
>>297
そういうDQNなINDEX使っては駄目だからな。
配列数式よりメリットがあれば別だが、まったくない。
315295:2008/01/27(日) 10:13:48
>>296
マルチプランがそうだったとは知りませんでした。
高校生くらいの子が「=+」を使っているのを見たので、
先生か誰かに教えてもらったのでしょうね。
レスありがとうございました。
316名無しさん@そうだ選挙にいこう:2008/01/27(日) 10:22:15
>>315
今でもMacのExcel使ってる人はそうするんじゃない?
=は打たなくていいんだからな。
=3*2は+3*2でいい。
テンキーのみで済む。
317名無しさん@そうだ選挙にいこう:2008/01/27(日) 10:33:27
むかーしLotus1-2-3てのがあってな……
318名無しさん@そうだ選挙にいこう:2008/01/27(日) 10:42:26
今でもあるけど、何か?
俺はR5Jを最後に使ってないが
319名無しさん@そうだ選挙にいこう:2008/01/27(日) 10:54:18
Lotus1-2-3がほぼ駆逐されたのは、Excel5にVBAが使えるようになったから?
それともWindous対応に1-2-3が遅れたから?
320名無しさん@そうだ選挙にいこう:2008/01/27(日) 10:58:02
Office搭載モデルがMSの戦略的な値下げで結果的に売れたからだろうね。
昔は「一太郎+Lotus」がインストールされた機種も選べたんだから。
321名無しさん@そうだ選挙にいこう:2008/01/27(日) 11:37:47
>>319
Windowsを知り尽くしているMSだから他社に先行してWin対応Officeをすぐに
発売。他社は一太郎も含めWin対応に追われているうちに(バグでまくり)、
MSがバンドル販売戦略を展開。
さらにVBAのすごさが理解されるに従い、Excel以外の選択肢がなくなる
というMSにとって好循環が開始。
で、その他大勢死亡という流れ。

IEだってIE4でDOMを実装して、その場しのぎのネスケNC4死亡が確定したよな。
322名無しさん@そうだ選挙にいこう:2008/01/27(日) 11:41:49
まあいずれにせよVBA搭載のExcel95があったからこそ、Excelとバンドルされない
ソフトの死亡が決定的になったんだよ。まさにキラーアプリ。
当時は大半がExcel+一太郎の組み合わせを望んできたのにな。
323名無しさん@そうだ選挙にいこう:2008/01/27(日) 13:05:01
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

グラフでX軸の下に2種類の数値を色を分けて表示させ、2つの折れ線グラフを色を分けて作成したいのですが、どう頑張ってもできません・・・
ご指導お願いします・・・

┼────────────────
| 5   10  15
| 0.05 0.1
324323:2008/01/27(日) 13:09:07
↑途中で送信してしまいました・・・・
y

┼────────────────x
| 5   10  15
| 0.05  0.1 0.15

分かり辛いと思うので例を示しました。このようにしたいと思っています。よろしくお願いします!
325名無しさん@そうだ選挙にいこう:2008/01/27(日) 14:21:08
Excel2007で上下ではなく左右のスクロールをキーボードだけで出来ますか?
マウスジェスチャに割当できなくて不便です
326名無しさん@そうだ選挙にいこう:2008/01/27(日) 14:23:11
>>325
つScroll Lock
327名無しさん@そうだ選挙にいこう:2008/01/27(日) 14:38:06
自然対数の底eについて質問です。

eを用いた計算をするときに、近似値としてe = 2.71828183を直接打ち込んでいつも計算しているのですが、
コマンドでeを表示させることはできないのでしょうか?
328名無しさん@そうだ選挙にいこう:2008/01/27(日) 14:54:48
=exp(1)
329名無しさん@そうだ選挙にいこう:2008/01/27(日) 15:15:54
>>328
ありがとうございます!
eの一乗ってことですね。
eの何乗かにしたければ( )の中をその数字に。
助かりました
330新し:2008/01/27(日) 18:53:58
質問です。
過去やネットでわかりそうなので調べているのですが、解決しません。
よろしくお願いします。
力仕事でやればできそうですが、マクロで解決したいのです。 
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル マクロ select case 電話番号

電話番号は0から始まり、途中にハイフン「−」が入りきれいに見えます。
検索に使う場合、ハイフンが不要ですので削除しました。
このハイフンを削除した9桁から11桁の番号を、ハイフン付きの電話番号に戻したいのです。
最初のハイフンまで、03、04、090、0285、など 2桁から4桁、時に5桁のところもあります。
left関数などで、select case を使うぐらいでしょうか。

331名無しさん@そうだ選挙にいこう:2008/01/27(日) 19:02:07
電話番号の横に03、04、090、0285などの列をつくり、それぞれFINDで電話番号の中に含まれていれば1になるような式をつくり、
さらに別の列にSUBSTITUTEで市外局番を削除した残りの電話番号をつくる。あとはそれらをくっつければいいから簡単だな。
332名無しさん@そうだ選挙にいこう:2008/01/27(日) 20:20:03
マクロ・VBAを独学で学び初めて1日目です。

【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 超初心者
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル マクロ 罫線 Borders

FOM出版を使ってます。
「Borders プロパティ」の構文が

 オブジェクト.Borders (引数)

となっております。

「()かっこ内で指定した引数のとおり罫線を引く」と書いてあったので、

Sub セル範囲内の中央に水平の線を引く()
Selection.Borders xlInsideHorizontal
End Sub

と入力しても、エラーがおきてしまいます。
どういうモジュールを書けばよいのでしょうか・・・。
よろしくお願い致します。
333名無しさん@そうだ選挙にいこう:2008/01/27(日) 21:17:48
>>332です。
自己解決しました。すいません。
334新し:2008/01/27(日) 21:36:15
>>331
ありがとうございます。
簡単ですけど、まさに、力仕事ですね。
もう少し、スマートなやり方はないものでしょうか。
マクロを期待していましたが、期待しすぎでしょうか。
335新し:2008/01/27(日) 21:47:31
追加で
市外局番には、04、048、0480 となるものがあり、もうひとひねり必要になります。
これは、優先順位を決めればできますが、やはり、力仕事になります。
336名無しさん@そうだ選挙にいこう:2008/01/27(日) 21:47:53
同じことをマクロでやればいいんじゃないかな
337名無しさん@そうだ選挙にいこう:2008/01/27(日) 21:48:39
>>335 桁数の大きい順に検索すれば問題なし
338名無しさん@そうだ選挙にいこう:2008/01/27(日) 21:54:45
>>334
そのロジック(電話番号への簡単なハイフン挿入処理)を作れれば儲かる、
と言われてるほど、本質的には難しい処理だと聞いたことがある気がする。
090からの11桁もあれば、0xxx - x - xxxx なんて番号もあるからね。
339名無しさん@そうだ選挙にいこう:2008/01/27(日) 23:12:16
>>331
ハイフンの入った元データがなくなってしまったって事?
そうでなく、単に検索のためにハイフン取ったのなら、ハイフンありとハイフンなし
を併記してデータ作っておけばいいだけだろうけど。
(そういうことならハイフンつけたままのデータから検索すればいいんだけどな)
340新し:2008/01/27(日) 23:26:04
>>339
検索と電話などで新規に取得したデータ作成の場合には、少しでも速くくする
ためハイフンははずします。
連続数字の電話番号を取得したのち、併記もできますが、データが多くなると
大変です。
過去の蓄積した連続番号から、ネットで住所を参考に市外局番の取出しをする
のです。
ネット検索で分かったことは、ハイフンまでの市外局番の種類が意外に多いな
、ということでした。
番号の付け方に、何か法則があれば知りたいと思いますし、そうすれば、他の
解決手段も導き出せるかもしれない、と考えます。
341名無しさん@そうだ選挙にいこう:2008/01/27(日) 23:38:59
>>340
http://www.soumu.go.jp/joho_tsusin/top/tel_number/shigai_list.html
これ見りゃ規則性なんてないし、いつ変更になるかも分からないんだから
ハイフンのないデータしかない状況でハイフンをつけることはしかたないから
やるしかないだろうけど、ハイフンがあるデータ持っているのにハイフンを
とってそれをもう一度ハイフンつけるなんてちょっと無理筋じゃない?
初めから市外局番とそれ以外を別レコードとして管理、検索するのが
一番だと思います。
342名無しさん@そうだ選挙にいこう:2008/01/27(日) 23:41:06
それで、ハイフン外したデータとは別に、ハイフンのあるデータは手元にあるの?ないの?
単純に考えていちばん早いのは、併記しておいて、検索はハイフンなしの列でして、拾うデータはありの列ですること。
電話番号に規則性なんて無いんだから、調べる手間考えたら処理速度が遅い事なんて屁みたいなもん。
343名無しさん@そうだ選挙にいこう:2008/01/28(月) 00:29:13
グラフの作成法に関する質問です。

今 A(2.3) B(1.5) C(2.1) ・・・・・・
などのような(x.y)で表されるデータがあり、x軸にxのデータy軸にyのデータをプロットしようとしています。
そこまでは自分でもできたのですが、グラフ上に表示される点をただの点ではなくて、
A B Cのようにそのデータ名をグラフ上に表示させたいのです。
こういったことはエクセルでできるのでしょうか?
344名無しさん@そうだ選挙にいこう:2008/01/28(月) 00:43:31
WindowsXP Excel2003 VBAは余りわかりません VBAでの回答可

part 62スレより抜粋----------------------------------
 551
 >すでに雛形は作っているファイルに必要な部分を記入したあとに
 >ファイル名をつけて保存するを選んだときに
 >自動で当日の日付を入れるようにしたいのですが
 >ご助言お願いします。
 >
 >例: 今日の献立20071203

 553
 >>>551
 >Dim Save_File, Save_Filename As String
 >Save_Filename = Format(Date, "yyyymmdd")
 >Save_File = Application.GetSaveAsFilename(Save_Filename)
 >On Error GoTo ERR1
 >If Save_File <> "False" Then
 >ActiveWorkbook.SaveAs Filename:=Save_File
 >End If
 >これでどうだろう。
------------------------------------------------
このような質問回答があったのですが、名前を付けて保存する際に、
すでにファイルが存在した場合、ウィンドウズが注意のメッセージを出してくれます
”すでにファイルが存在します。上書きしますか?”のようなメッセージで
加えて  はい いいえ キャンセル の選択肢とともに。

ここで いいえ もしくは キャンセルを選択すると
 実行時エラー1004
 SaveAs メソッドは失敗しました _Workbookオブジェクト
と出ます。
                     ■レス行数オーバーのためレス跨ぎます
345344:2008/01/28(月) 00:46:18
ここで、質問なのですが、

@On Errorを噛ませているにもかかわらず
 エラー時に飛ばずにストップしてしまうのはなぜでしょうか?
 (ちなみにGoto先でちゃんとERR1は作ってます)

A保存時の処理はこれで良いのですが、いいえもしくはキャンセル選択時は
 そのままキャンセルさせたいのですが、どのように記述すれば良いでしょうか?


長くなりましたがどうぞよろしくお願いします。
346名無しさん@そうだ選挙にいこう:2008/01/28(月) 02:06:49
$ってどういう記号でしょうか?この文の意味を教えてください・・
C列の文なんですが何をしようとしてるかさっぱりわからないです
IF(A1<$B$1,IF(A1>-$B$1,1,0),0)
347名無しさん@そうだ選挙にいこう:2008/01/28(月) 02:17:56
>>346
そのセルを別のセルにコピーした時に、列番号や行番号が変わってほしくない時に使う記号。
だから、そこだけを見ても意味はない。
348名無しさん@そうだ選挙にいこう:2008/01/28(月) 02:23:00
「絶対参照」でググってみれ。
349名無しさん@そうだ選挙にいこう:2008/01/28(月) 02:57:57
ひとつのセルに計算式を入れて、それを数字ずらしてその列のセル全部に適応
させるのはどうすればよいでしょうか?
たとえばB2はA1+A2、B3はA2+A3、B4はA3+A4の値という風に
350名無しさん@そうだ選挙にいこう:2008/01/28(月) 03:05:03
>>349
B2に=A1+A2と入れてからコピペ
351名無しさん@そうだ選挙にいこう:2008/01/28(月) 03:21:55
>>350
できましたありがとうございます
352名無しさん@そうだ選挙にいこう:2008/01/28(月) 12:27:05
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

ユーザーフォームを作っているのですが、コマンドボタンやラベルの上にマウスを持っていくと
ヘルプが表示されるようにしたいのですが、どこかで見かけた覚えがあるのですが、やり方がわかりません。

やはりVBAのコードの問題なのでしょうか?
353名無しさん@そうだ選挙にいこう:2008/01/28(月) 12:34:40
>>352
ControlTipTextプロパティ
354名無しさん@そうだ選挙にいこう:2008/01/28(月) 13:18:12
エクセル2003で、VBAでプログラム書いてるんですが
セルではなくオートしぇいぷが選択されたり変更されたときに
その動作を取得可能なイベントってわかりませんか?
Changeイベントではasのあとをrangeからshapeにかえたりしてもうまくいきません。
355344,345:2008/01/28(月) 13:19:07
自己解決しました。ありがとうございました。
356名無しさん@そうだ選挙にいこう:2008/01/28(月) 13:23:43
「フォント」をクリックすると、見たこともないフォントが大量にあるのですが、
要らないフォントを消すにはどうすればいいでしょうか?
357名無しさん@そうだ選挙にいこう:2008/01/28(月) 13:37:42
>>356
ウィンドウズのコンパネのフォントから消去するしかないはず。
エクセル側で使用フォントを限定するのは無理とオモ。
358名無しさん@そうだ選挙にいこう:2008/01/28(月) 14:58:33
>>356
ヘタに消すとWindowsがおかしくなるから注意。
消してもいいフォント一覧はぐぐれば出てくる。
359名無しさん@そうだ選挙にいこう:2008/01/28(月) 15:21:55
>>354
オートシェイプを右クリックでマクロの登録
360WinXP Excel2002:2008/01/28(月) 17:56:23
A列の最下行はRange("A65536").End(xlUp)で取得できますが、
各列の最下行をRowで取得するには、どう書けばいいです?
361名無しさん@そうだ選挙にいこう:2008/01/28(月) 18:03:40
>>360
Range("A65536")
ここをRange("B65536")、Range("C65536")、Range("D65536")にするだけじゃね?
Excel2007だと最大65536行じゃないんで
Range("A" & Rows.Count)のほうがいいと思うぜ
362名無しさん@そうだ選挙にいこう:2008/01/28(月) 18:25:17
スクロールしたら上に消えて見えなくなる見出しを
スクロールしても常に上に表示させる方法があったと思うのですが
やり方がわかりません。
また、ググるにしても抽象的でどう検索をかけたらいいか分かりません。
教えてください。

EXCELのバージョンは2002 SP1となっています。
OSはXPです。
363名無しさん@そうだ選挙にいこう:2008/01/28(月) 18:29:45
ウィンドウ枠の固定?
364名無しさん@そうだ選挙にいこう:2008/01/28(月) 18:50:47
>>363
ありがとうございます。できました。
365名無しさん@そうだ選挙にいこう:2008/01/28(月) 19:56:27
Excelの計算式あるいはマクロで、下記のような処理をしたいと思っています。

「入室管理区域への出入り記録(タブ区切りテキスト)から、個人個人の特定の期間における入室時間が、一週間あたり24時間を超えていないかどうか」を判定する

データとしては、次のような形になっています。

日付     時刻    氏名   動作
2008/1/21 14:55:01 ギコ夫  入室
2008/1/21 14:59:45 ギコ夫  退室
2008/1/21 15:25:50 ひろゆき 入室
2008/1/21 15:26:05 フサ夫  入室
2008/1/21 15:49:25 フサ夫  退室
2008/1/21 15:58:10 ひろゆき 退室

このデータを、「一週間あたり」に分け、一人ずつの「退室時刻−入室時刻」の合計を計算したい、ということです。
このとき注意すべき点は、

1)入室する可能性がある氏名リストは100名ほどだが、その全員が入室するとは限らない

2)ある個人の入退室の間に、別の人間の入退室記録が入る場合がある

などがあります。
さらに厄介なのが、

3)まれに、入室あるいは退室の記録を忘れる人がいる

ということです。

1)と2)はなんとか自力で対応できそうなのですが、3)をどうすればよいのかがよく分かりません。
入室時間が不明の場合は、一律「10分間」としても構わないのですが。
どなたかアイデアをお貸し下さい。。
366名無しさん@そうだ選挙にいこう:2008/01/28(月) 20:02:07
データのフォーマットが悪い。入退室の記録を忘れるとかは半分以上フォーマットの問題。

日付   氏名   入室時刻  退室時刻  在室時間

にすべき。できないなら、まずこういうフォーマットに変換するにはどうすればいいかを考えないといけない。
367名無しさん@そうだ選挙にいこう:2008/01/28(月) 20:05:20
>3)をどうすればよいのかがよく分かりません。

回答者は>365以上にどうすれば良いのかよくわからんと思うw
どうするかの方向性は質問者が作らないとどうしようもないw

3)の場合は○○にする。
とする場合のやり方教えてください。なら良いけど。
368名無しさん@そうだ選挙にいこう:2008/01/28(月) 20:10:03
>>365
つか質問がわからん.

>1)と2)はなんとか自力で対応できそうなのですが
なら頑張れ。

>一律「10分間」としても構わない
じゃぁそれで。


別に嫌がらせとかじゃなくて、何を質問しに来たのかわからん。マジで。
369名無しさん@そうだ選挙にいこう:2008/01/28(月) 20:13:38
>>368のレスは半分嫌がらせで出来ています
でも残り半分は正論で出来ています
370名無しさん@そうだ選挙にいこう:2008/01/28(月) 20:26:40
>>365
勝手に決めると越権になるぞ。
>>367 に対しての返答はおまえが答えてはいけないことだ。
371名無しさん@そうだ選挙にいこう:2008/01/28(月) 20:32:04
マクロ暦8ヶ月(たまに扱う程度の俺が作るとこうなったんだけど、
お前らならこのマクロに何点付ける?

Sub ギコ夫()

For i = 2 To 100
If Cells(i, 3) = "ギコ夫" And Cells(i, 5) = "入室" Then
a = a + 1
aaa = aaa + Cells(i, 2)
ElseIf Cells(i, 3) = "ギコ夫" And Cells(i, 5) = "退室" Then
b = b + 1
bbb = bbb + Cells(i, 2)
End If

Next i

If b = a Then
ccc = bbb - aaa
MsgBox Format(ccc, "hh:mm:ss")
Else
MsgBox "ギコ夫、入退室ボタン押し忘れ -500円"
End If

End Sub
372名無しさん@そうだ選挙にいこう:2008/01/28(月) 21:05:19
>>361
その場合、
Cells(Rows.Count, 1).End(xlUp)
のほうがいいと思うぜ

型変換と文字列連結という無駄な処理を踏まないで済むし
ループも組みやすい


>>365
他の人も言ってるとおり、3)の場合どのように処理したいのか解らないし
1)と2)をどのように実装しようとしてるかでも話は変わってくる

俺ならClassとCollectionかDictionaryを使って1)と2)の処理をして
3)に関しては「1回の最大入室時間が1時間を超えることはない」などの条件があるなら
入室から1時間以内に退室が無ければ「退室記録忘れ」のフラグを立てる


但し俺も個人的には>>366の方法を推奨する
こういったことでややこしくなってる奴って、大抵大元のフォーマットに問題があるんだよね
373名無しさん@そうだ選挙にいこう:2008/01/28(月) 21:37:06
>>366>>372は同意してるけどズレテルだろ?論点。

>>366は乳体質の記録忘れはフォーマットが悪いため
>>372はマクロ作成に伴い、やりづらい面があるのは元フォーマットが悪いため

だろ?
つか>>366フォーマットの良し悪しと、入隊質の押し忘れ、関係なくね?
>372はわかるけど。
374名無しさん@そうだ選挙にいこう:2008/01/28(月) 21:40:46
ツーか、マクロOKの場合なら、フォーマットなんて正直どんなにややこしくても
いくらでも扱いやすい形にできるじゃん。

>>365で>入室管理区域への出入り記録(タブ区切りテキスト)ってあるんだから、
専用のタイムカードっぽいものから出力されてるもので、専用機の場合も考えられる。
マクロOKで質問してるのに、フォーマットを云々みたいな回答ださくね?

そんな回答、はっきり言って、

もとのテキストファイルに最初から合計時間出させるフォーマットで出力しろ。

と言ってるのとなんら変わらんレベル。
375名無しさん@そうだ選挙にいこう:2008/01/28(月) 22:12:22
だから、変えるのが無理なら計算しやすいフォーマットに変換しないといかんといってるやん。
直接できる、その方が簡単だっていうなら無理に変換する必要はないけどね
376名無しさん@そうだ選挙にいこう:2008/01/28(月) 22:33:51
ユーザーホーム上にイメージ枠を作り中に図を入れ
イメージ枠を非表示にしたいのですが、どのようにすればよいでしょうか?
377名無しさん@そうだ選挙にいこう:2008/01/28(月) 22:43:00
IC社員証をピッとかざして入退室記録してるから生データが>365なのかもしれない。

データ保管室かなんかで入室時間が異様に長い場合データを盗んでいるんじゃ
ないかと w

などといろいろ想像してしまった。

まあ、機械でデータ取ってるんだろうなと考えた人と、紙にでも書かせている
(若しくは自分or秘書が入力している)などと考えている人の前提の違いの
ような気がする。
378名無しさん@そうだ選挙にいこう:2008/01/28(月) 23:15:03
すみません、>>365です。
今帰宅しました。

出力結果は、セ○ムの入退室管理ソフトの出力形式がそうなっているためです。
このソフトでは「一週間単位の個人ごとのトータル入室時間」というものを計算する方法が用意されていないため、
自分でExcelに持ち込んでやるしかないのです。
なので、データのフォーマットが悪いというご指摘は、その通りなんですがセ○ムが悪いってことで勘弁してください。

それから3)の処理ですが、入室時間が不明の場合は、「10分間入室していたことにしてよい」と管理者の方の許可
をいただいています。
分かりにくくてすみませんでした。
ただし、「入室」の記録がない場合と、「退室」の記録がない場合の両方があって困っているのです。
おそらく、同時に誰かと入退室した際に、自分のICカードを使わずに出入りしているものと思われます。
場合によっては、入室と退室の両方の記録が漏れていることも考えられますが、その場合は計算ができないので
対象外とします。

そんな感じです。
gdgdな質問ですみません。
379名無しさん@そうだ選挙にいこう:2008/01/28(月) 23:17:56
あ、なお、今のところやろうとしたのは、ユニークユーザごとに入退室時刻を拾い出し、
「動作」カラムが「入室」なら−1倍、「退室」なら1倍して、一週間ごとに合計を出す、
という方法です。
この場合、(当然ですが)入室と退室の数が一致しないと、とんでもない数値が出て
しまいます。。
ご教示をお待ちしております。
380名無しさん@そうだ選挙にいこう:2008/01/28(月) 23:23:46
J列(適当)に名前の一覧があるとして、これでどうだろ?
Private Sub CommandButton1_Click()
For j = 1 To 100
a = 0
b = 0
aaa = 0
bbb = 0

For i = 2 To 100
If Cells(i, 3) = Cells(j, 10) And Cells(i, 4) = "入室" Then
a = a + 1
aaa = aaa + Cells(i, 2)
ElseIf Cells(i, 3) = Cells(j, 10) And Cells(i, 4) = "退室" Then
b = b + 1
bbb = bbb + Cells(i, 2)
End If
Next i

If b = a Then
ccc = bbb - aaa
Cells(j, 10 + 1) = Format(ccc, "hh:mm:ss")
Else
Cells(j, 10 + 1) = "入退室ボタン押し忘れ -500円"
End If
If ccc > 1 Then
Cells(j, 10 + 2) = "居座りすぎ"
End If
Next j
End Sub
381名無しさん@そうだ選挙にいこう:2008/01/28(月) 23:39:58
>>359
ども。
もちろんそれは存じてます。
でもマクロ記録するだけでは
他のチェックボタンを使用して変更されたことを検知して処理
という手順すかできず、ま、それは今しのぎ的に使ってる手法なんです。

いまやりたいのは、
テキストボックスに数値が入力された場合、
数値が一定の範囲を越えていたら背景を橙色に変えるとか、
警告ダイアログを出すとか、
あるいは
四角形オートしぇいぷをクリックするたび色を赤、青、黄と変化させたり、
四角形オートしぇいぷの大きさを変えても、俊二に元に戻るような
しかけを付けたりしたいわけなんです。
セルでは何の問題もなくこれらはできているのですが
オートしぇいぷの場合はやり方がわかりません
何とか方法がないでしょうか?
382365:2008/01/28(月) 23:44:42
>>380
ありがとうございます。
a、bを入退室の回数、aaa、bbbを入退室時刻の和として、cccを総入室時間としてK列に表示するわけでしょうか。
ただ、入室または退室が記録から漏れた場合の処理(10分間とみなす)はどのようにすればよいのでしょう?
それと、「一週間ごと」の処理もよく分かりませんでした。
一週間ごとに関しては、日付からWeekday関数で曜日を1〜7で表したカラムを作り、曜日カラムの数値が減るまで
同じ処理を続けて、減ったらカウント1うpする、という風にやればループさせられますかね?
383365:2008/01/28(月) 23:53:50
最後の段落のところで、a>bとa<bの場合に分けたらいいのかと一瞬思ったんですが、
よく考えたら、たとえば同一人物の「入室」が3回続いて「退室」が3回続いたりした場合、
3)の「10分ルール」を適用すると、6階の入退室で60分、とカウントすることになるわけ
ですよね。
なのでやっぱり、入室と退室を先に合計してしまうのはまずいんじゃ?と思うんですが。
A)入室→退室
B)入室→入室
C)退室→入室
D)退室→退室
の4通りに分けた上で、退室時刻から入室時刻を引くか、10分を加えるか、の処理を
判断して行なう必要がある、ってことでしょうか。
384365:2008/01/28(月) 23:54:57

× 6階
○ 6回
385365:2008/01/28(月) 23:58:51
>>383
>同一人物の「入室」が3回続いて「退室」が3回続いたりした場合

あ、違うや。
3回目の入室と1回目の退室は正しい順番なんだから、この場合は

10分×2回(入室)+(退室時刻−入室時刻)+10分×2回(退室)

になるのか。
386名無しさん@そうだ選挙にいこう:2008/01/29(火) 00:01:57
そろそろ>>366を思い出してもいい頃だな
387365:2008/01/29(火) 00:05:56
>>386
うー、すみません、難しいです。。
とりあえず今日のところはエロ動画見て寝ます。
また明日、職場から見に来ます。
おやすみなさい。
388名無しさん@そうだ選挙にいこう:2008/01/29(火) 00:07:20
ロジックをどうすればいいか知りたいのか?
>383が分かったのなら、まずは特定の人物でどのようなパターンがあるか
考えて計算させれば良いじゃん。時間の若い順に並べて

1) 退室なら入室の記録忘れとして処理。
2) 入室→退室ならまんま計算
3) 入室→入室なら退室の記録忘れとして処理

と必ず入室・退室のセットで考えるようにして、上記の1)や3)の場合は
記録忘れ分を補完すればいい。そして、上記の処理を繰り返す。
これを記載された人物名を全て行う。

入室→退室となっていても1時間以上となるはずがないことが確かであれば、
この場合は退室・入室を一回ずつ記録漏れとして処理しないといけない。
これ以上はエスパーでないとどうしようもないよ。
389名無しさん@そうだ選挙にいこう:2008/01/29(火) 00:08:32
>>382
適当なセルに入室のときと退室のときの上京を示してやれば良い
入室ならZ1に+を、退室なら-を入れる

if range(z1)="+" and Cells(i, 4) =入室 then
入室が続いている状態
一つ前に加えた Cells(i, 2)を引く

でどう?
曜日区切りはそれでおkだとおもう
390名無しさん@そうだ選挙にいこう:2008/01/29(火) 00:23:23
365はものすごいやつだな。
391名無しさん@そうだ選挙にいこう:2008/01/29(火) 00:35:23
同感。 387にしても、面白く言ったつもりかもしれんが、信じられんわ。
392名無しさん@そうだ選挙にいこう:2008/01/29(火) 00:54:12
Private Sub CommandButton1_Click()

For j = 1 To 100
a = 0
b = 0
aaa = 0
bbb = 0
Range("e1") = "-"

For i = 2 To 100
If Cells(i, 3) = Cells(j, 10) And Cells(i, 4) = "入室" And Range("e1") = "-" Then
aaa = aaa + Cells(i, 2)
Range("e2") = Cells(i, 2)
Range("e1") = "+"

ElseIf Cells(i, 3) = Cells(j, 10) And Cells(i, 4) = "退室" And Range("e1") = "-" Then
bbb = bbb + 1 / 24 / 60 * 10
Range("e3") = Cells(i, 2)
Range("e1") = "-"

393名無しさん@そうだ選挙にいこう:2008/01/29(火) 00:54:51
ElseIf Cells(i, 3) = Cells(j, 10) And Cells(i, 4) = "入室" And Range("e1") = "+" Then
aaa = aaa - Range("e2")
aaa = aaa + 1 / 24 / 60 * 10
aaa = aaa + Cells(i, 2)

Range("e2") = Cells(i, 2)
Range("e1") = "+"

ElseIf Cells(i, 3) = Cells(j, 10) And Cells(i, 4) = "退室" And Range("e1") = "+" Then
bbb = bbb + Cells(i, 2)
Range("e3") = Cells(i, 2)
Range("e1") = "-"

End If
Next i

ccc = bbb - aaa
Cells(j, 10 + 1) = Format(ccc, "hh:mm:ss")
Cells(j, 10 + 2) = Format(aaa, "hh:mm:ss")
Cells(j, 10 + 3) = Format(bbb, "hh:mm:ss")
Cells(j, 10 + 1) = Format(ccc, "hh:mm:ss")
Next j

'>>391-392

End Sub
394名無しさん@そうだ選挙にいこう:2008/01/29(火) 00:55:22
あぁ、>>392-393な。
395名無しさん@そうだ選挙にいこう:2008/01/29(火) 01:05:01
>392-393
E1には前回の記録が入室(+)か退室(-)かの記録を残す
E2には前回の入室時間記録(後で引く用
E3には前回の退出時間記録(後で引く用

If Cells(i, 3) = Cells(j, 10) And Cells(i, 4) = "入室" And Range("e1") = "-" Then
 一発目の分岐:>383のA)
 入室時間をaaaに加算
 E2に入室時間を入力
 E1に+を入力

ElseIf Cells(i, 3) = Cells(j, 10) And Cells(i, 4) = "退室" And Range("e1") = "-" Then
 二発目の分岐:>383のD)
 10分加える
 E3に退出時間を入力
 E1に-を入力

こんな感じで>>393の3つ目、4つ目と分岐する。
最後の
Cells(j, 10 + 2) = Format(aaa, "hh:mm:ss")
Cells(j, 10 + 3) = Format(bbb, "hh:mm:ss")
Cells(j, 10 + 1) = Format(ccc, "hh:mm:ss")
は不要。値確認用に作ってただけ
396名無しさん@そうだ選挙にいこう:2008/01/29(火) 01:25:01
>>365
決定的解決策が思いつきそうなんですが、その前に具体的な重要な質問をさせてください。
まず、@名前ですが、これは警備会社のデータベースで一元管理されてるんですよね?
つまり一人の人物の名前はつねに一種類しかないんですよね?
入退室時に時間や名前を手入力で入れたりして同一人物が複数の名前を入力してしまったりする可能性があると困るからです。

次にA時間についてですが
一人の時間は約10分とのことですが
同一人物が30分40分滞在する可能性はないんですよね?
というのは、
一回が10分程度と決まってるならいいんですが、
そうでないと、例えばある人が14:00に入室記録して、次の記録が14:40退室だとした場合、
一回10分の法則を適応できるなら、仮の退室・入室時間を決めて
14:10に退室、14:20に再入室したことにして総滞在時間20分という計算になるのですが

そうでない場合、40分ずっと滞在していたのと区別がつかないからです。

この場合、入退室間隔が何分いないの場合は一続きとみなす、といった更なる条件設定が必要になると思うのですが。
397名無しさん@そうだ選挙にいこう:2008/01/29(火) 01:43:05
>>396
よく嫁
入室と対になる退室記録がなかった時だけ、滞在時間を10分間にする

ところで深夜0時をまたがる滞在や、24時間を超える滞在時間はありうるのか?
398名無しさん@そうだ選挙にいこう:2008/01/29(火) 07:19:11
日曜には必ず入室しない、って設定もあるとらくなんだがなあ
そういうわけにもいかんか
399名無しさん@そうだ選挙にいこう:2008/01/29(火) 09:25:52
>>397
いや、それが曖昧だと思うんですよ。
対になるという定義がなされてないから、
二時間後でも8時間後でも対になったら滞在していたことにしてしまうのか
厳密にルール決めないと変なデータ取得しちまいますよ。

あなたが言うように24時間出入りがある場合とかも勘案すれば
今日の14時に入室記録だけ、明日の10時に退室記録だけあるとしたら
それだって対になっちまうんですよ?
400365:2008/01/29(火) 09:56:45
おはようございます。
みなさん、私が寝ている間にいろいろとありがとうございました。
非常に助かります。

>>395
とても参考になりました。
まだExcelは立ち上げてもいないんですが、ざっと見た限りなんだかいけそうな気がします。
これからトライしてみますね。

>>396
決定的解決策、という言葉にグラッと来ますね。
ユーザ名はユニークデータと思って間違いないです。
ただし、入室時間については、数時間程度なら入りっぱなしになる可能性もあり得ます。
日曜日の利用もあり得ますが、日をまたぐことはありません。
というより、一般ユーザの使用時刻は、朝8時半〜夜8時に限られています。
(これ言ってませんでしたね)
なので、入室から退室までの間が11時間半以上空くことは絶対にあり得ません。
こんなところですが、何か参考になりますでしょうか。

ちなみに、昨日のエロ動画は温泉盗撮モノでした。
それでは、今日も一日仕事を頑張ります。
401名無しさん@そうだ選挙にいこう:2008/01/29(火) 10:54:26
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】否
【5 検索キーワード     】フィルタ オートフィルタ コピー ペースト
オートフィルタで抽出したセルをコピペしたいのです。
オートフィルタ→ジャンプ→可視セルの選択で抽出し、選択した部分はコピーできるのですが、
ペーストがうまくいきません。ペーストすると隙間なく上からペーストされます。
つまり選択外の間のセルを保持したままペーストしたいのですがこれは可能でしょうか?
A   B
あ   あ

あ   あ
あ   あ
↑のように「あ」を抽出してB列に同じ列でペーストしたいのですが
A   B
あ   あ
い   あ
あ   あ
あ   
のように隙間を埋めてしまってペーストしてしまうのです。
うまく伝わりますでしょうか・・・。
宜しくお願い致します。



402名無しさん@そうだ選挙にいこう:2008/01/29(火) 11:08:48
>>401
間埋まるのがまずいなら、いったん丸ごとコピーして、
「あ」以外を抽出→選択→delete押す→フィルタ解除
で「あ」だけ残るんでない?
403名無しさん@そうだ選挙にいこう:2008/01/29(火) 11:41:09
>>401
B列に
=IF(A1="あ",A1,"")
404名無しさん@そうだ選挙にいこう:2008/01/29(火) 13:13:35
<402
<403
ありがとうございます。やはり一手間掛けなければいけないようですね。
しかしながら、解決しました!
一度消してからという発想が無かったので目からウロコでした。
とても楽な方法で行うことができました。
IF文でもできました!オートフィルで下までのばすと入力した部分が空白に置き換わって
しまいましたが先にIF文で埋めてから空白部分の入力で解決です。
if文ですと作業量も少なくできました、本当にありがとうございます。
405名無しさん@そうだ選挙にいこう:2008/01/29(火) 14:04:21
>>365
難しいな
ある程度は構想出来るが、入室が連続でなった後に退室があったりと
記録わすれを考えるといつまでたっても終わらん

一週間ごとの合計はあいてる行に=日付セルで書式をaにした後、ピボットなり集計なりで
すぐにできると思う
406名無しさん@そうだ選挙にいこう:2008/01/29(火) 14:06:48
407名無しさん@そうだ選挙にいこう:2008/01/29(火) 14:32:37
>>365をエクセルにコピーして>>392-393のマクロを走らせてみたが、
実行してもKLM列に0:00:00が並ぶだけだった
408名無しさん@そうだ選挙にいこう:2008/01/29(火) 14:34:14
>>407
別に>407が無理でも>400@質問者が
>ざっと見た限りなんだかいけそうな気がします。
だから問題ない。

わからない奴にはわからなくて良いと思う。
409名無しさん@そうだ選挙にいこう:2008/01/29(火) 14:36:20
まぁそうだな
410名無しさん@そうだ選挙にいこう:2008/01/29(火) 16:05:36
本来、丸投げするトコじゃないんだから、
別にコードが最適じゃなくても、間違ってても、質問者にヒントが伝われば十分なわけで。
411名無しさん@そうだ選挙にいこう:2008/01/29(火) 16:08:03
つまり、馬鹿が動かない的外れなマクロ書いても、偉そうに上から目線でいられるってわけか。
412名無しさん@そうだ選挙にいこう:2008/01/29(火) 16:18:53
エクセルで散布図を使用して
http://cgi2.coara.or.jp/~negichan/imgloda/src/img6865.jpg
このような画像ができたのですが
http://cgi2.coara.or.jp/~negichan/imgloda/src/img6866.jpg
こちらのように一部を改変したいのです。

データーの数値改変してグラフに反映させようかとかと思いましたが、
以前にグラフの部分を直接変えている人がいたので、そちらの方法を教えてほしいです。
413名無しさん@そうだ選挙にいこう:2008/01/29(火) 16:30:21
>>411
前提として、390とかみたいに、「何だコイツ」 と感じた回答者はレスしないだろうから、
後は、当事者(自分の好きなように訊きたいヤツ、答えたいヤツ)同士で仲良くやってよ、
で済む話かと。
414名無しさん@そうだ選挙にいこう:2008/01/29(火) 16:34:22
>>412
おーい、画像に注意だ。 個人情報を晒してないか? よく確認しろ。分かってるならいいけど。
415名無しさん@そうだ選挙にいこう:2008/01/29(火) 16:37:12
>>392-393
ちょっと試してみた
そのままだと結果が違ってくるぞ

@ラストに入室で終わる場合のフォローがない
Aiループが終えた後、jループに入る前にE2、E3の初期化がされてない
B一週間のスパンで動いてない

@は iループ終了後、E1が+で終わってる場合E2を引く
で解決

Aこれはjループの頭にE2=0 E3=0でおk

Bは>382のWeekday関数で曜日を1〜7が使いやすいかな
 現在行の曜日 < 一行前の曜日 の条件でiループexit Forでおk

416名無しさん@そうだ選挙にいこう:2008/01/29(火) 16:39:49
>>414
念のために架空の名前なので
大丈夫です。
417名無しさん@そうだ選挙にいこう:2008/01/29(火) 16:44:00
>>412
>以前にグラフの部分を直接変えている人がいたので、
そんなこと出来るのか?
つか出来てしまって良いのか?

範囲@@〜@@のグラフプロットさせてるのに、
結果が範囲の数値と違うなんて事が。
418名無しさん@そうだ選挙にいこう:2008/01/29(火) 16:45:49
上から図を重ねればいいよ
と教えたら本当にやってた人がいてびっくり
419名無しさん@そうだ選挙にいこう:2008/01/29(火) 16:50:08
普通にプロットエリアのマーカー引っ張ればいいだけだろ
シートの値は連動して変わる
420名無しさん@そうだ選挙にいこう:2008/01/29(火) 17:01:25
>>417-419
レスありがとうございます。
結論として、ノートに入っていたバージョンの古いExcel(2002?かな)で普通に引っ張ればできました!

逆に最新版のExcel(試用版)では単純に引っ張っても動きませんでしたが、
恐らく新しいバージョンなので何かしら出来る方法があるとは思います。
421名無しさん@そうだ選挙にいこう:2008/01/29(火) 17:02:18
こんにちは


2008/01/01 12:00:00 という文字が1つのセルに入っているのですが

2008/01/01 12:00:00
2008/01/02 12:00:00
2008/01/03 12:00:00


というふうに、文字列の途中の部分を連番にさせたいときはどうしたらいいのでしょうか?

ふつうにセルをドラッグすると、

2008/01/01 12:00:00
2008/01/01 12:00:01
2008/01/01 12:00:02  となってしまいます…
422名無しさん@そうだ選挙にいこう:2008/01/29(火) 17:02:20
>>415
Bは質問者がいいアイデア持ってるから任せてたんだが、せっかくだからついでに。

F列にWeekday関数(A列)を持ってきたとして

Private Sub CommandButton1_Click()

For j = 1 To 100
a = 0
b = 0
aaa = 0
bbb = 0
Range("e1") = "-"
Range("e2") = "" '■修正点A
Range("e3") = "" '■修正点A

For i = 2 To 100
If Cells(i, 3) = Cells(j, 10) And Cells(i, 4) = "入室" And Range("e1") = "-" Then
aaa = aaa + Cells(i, 2)
Range("e2") = Cells(i, 2)
Range("e1") = "+"

ElseIf Cells(i, 3) = Cells(j, 10) And Cells(i, 4) = "退室" And Range("e1") = "-" Then
bbb = bbb + 1 / 24 / 60 * 10
Range("e3") = Cells(i, 2)
Range("e1") = "-"
423名無しさん@そうだ選挙にいこう:2008/01/29(火) 17:02:52
ElseIf Cells(i, 3) = Cells(j, 10) And Cells(i, 4) = "入室" And Range("e1") = "+" Then
aaa = aaa - Range("e2")
aaa = aaa + 1 / 24 / 60 * 10
aaa = aaa + Cells(i, 2)
Range("e2") = Cells(i, 2)
Range("e1") = "+"

ElseIf Cells(i, 3) = Cells(j, 10) And Cells(i, 4) = "退室" And Range("e1") = "+" Then
bbb = bbb + Cells(i, 2)
Range("e3") = Cells(i, 2)
Range("e1") = "-"

End If

If Cells(i, 6).Value < Cells(i, 6).Offset(-1, 0).Value Then '■修正点B
Exit For '■修正点B
End If '■修正点B

Next i

If Range("e1") = "+" Then '■修正点@
aaa = aaa - Range("e2") '■修正点@
aaa = aaa + 1 / 24 / 60 * 10 '■修正点@
End If '■修正点@

ccc = bbb - aaa
Cells(j, 10 + 1) = Format(ccc, "hh:mm:ss")
If ccc > 1 Then
Cells(j, 10 + 2) = "居座りすぎ"
End If
Next j
End Sub
424名無しさん@そうだ選挙にいこう:2008/01/29(火) 17:04:50
>>422-423
これでいけると思う。


>>421
セルの書式設定でyyyy/mm/dd hh:mm:ssを指定してから引いてもダメ?
425名無しさん@そうだ選挙にいこう:2008/01/29(火) 17:08:47
あぁ、逆かぁ、日をずらしたいんだね。
つか>421
オートフィルって普通2セル選択してから引くもんじゃね?

例えば
2008/01/01 12:00:00 から

2008/01/01 12:00:00
2008/01/02 12:00:00
2008/01/03 12:00:00

このようにしたいばあい、

2008/01/01 12:00:00 のセルのみを引っ張るのじゃなくて
2008/01/02 12:00:00 
この二つ両方を選択して引っ張るとうまくいくと主うよ
426155:2008/01/29(火) 17:14:05
>>421
Excel2000 でドラッグするとこうなるな。コピー元のセルは1つでもおkだったよ。
 2008/1/1 12:00
 2008/1/2 12:00
 2008/1/3 12:00
セルの書式設定は、セルに入力した時点で自動で日付になる。
つか、どうやっても1分刻みにできないんだがw
427426:2008/01/29(火) 17:16:18
すまん、上の名前欄のレス番はゴミだ・・・。
428名無しさん@そうだ選挙にいこう:2008/01/29(火) 17:17:19
>>426
・・・
またか・・・
別に>426が無理でも質問者が出来れば問題ない。

まぁせっかくだから言うけど、
>どうやっても1分刻みにできないんだがw
2セル選択してから引け。

二セル洗濯して引くものを、選択しなくても出来ると言い張って、でも
>>どうやっても1分刻みにできないんだがw
なんじゃそりゃ。
429名無しさん@そうだ選挙にいこう:2008/01/29(火) 17:19:53
セルの書式→文字列 で再現した。 421は、多分どっかからセルごとコピーしたんだろう。
430名無しさん@そうだ選挙にいこう:2008/01/29(火) 17:23:42
AN列の3-543行目について、論理値falseがあれば
メッセージボックスを出して終了、
他の値ならば続行という処理をしたいのですが、
AN20に論理値FALSEと入っていても次の行へと処理が進んでいってしまいます
(AN20には=a1=b1という式があり、A1には「佐藤」B1には「山田」と入ってます)
どのようにコードを記述すればよろしいでしょうか?

Option Explicit
Dim i As Long
Private Sub CommandButton1_Click()
For i = 3 To 543
Range("an" & i).Select
If ActiveCell.Formula = False Then
MsgBox i & "行目が変です"
Exit Sub
Else
i = i + 1
End If
Next
End Sub
431名無しさん@そうだ選挙にいこう:2008/01/29(火) 17:29:19
>>430
Option Explicit
Dim i As Long
Private Sub CommandButton1_Click()
For i = 3 To 543
Range("an" & i).Select
If ActiveCell = "False" Then
MsgBox i & "行目が変です"
Exit Sub
End If
Next i
End Sub

これじゃダメ?
432名無しさん@そうだ選挙にいこう:2008/01/29(火) 17:31:18
>>424
>422-423だと最初の一週間、いや最初が月曜から始まってないなら、下手すりゃ
1日分の集計しか取れない

二週目以降の集計も出来ない
'■修正点Bはいまいち
433名無しさん@そうだ選挙にいこう:2008/01/29(火) 17:38:01
>>431
ありがとうございます!
よければ、その辺り解説してるページとかないでしょうか?

434名無しさん@そうだ選挙にいこう:2008/01/29(火) 17:39:17
>>432
お前質問者だろ。
もう自分でやれ。って言おうとしたけど暇だし何か考えてみるわ。


>>430
普通にfor nextは
i = i+1 なんて要らないんじゃないか?
勝手に3から543まで繰り返してくれるぞ


あと、もしそのマクロでセレクトする必要が無いなら、
Range("an" & i).Select
If ActiveCell.Formula = False Then

If Range("an" & i) = "false" then
のほうが早いと思うよ。
435名無しさん@そうだ選挙にいこう:2008/01/29(火) 17:43:47
>>421です

自己解決というか、苦肉の策だったんですけど

新規ファイルを作成して、ひとつのセルの中に入っていた

2008/01/01 12:00:00

を、

2008/01/|01| 12:00:00

の3セルに分けて、日にちのセルだけオートフィルで増やし、メモ帳に貼り付けてtab削除→
元書類にもどす、で できました。

ちょっと手間ですw
436名無しさん@そうだ選挙にいこう:2008/01/29(火) 17:44:18
>>434
ご指摘ありがとうございます
i=i+1がいるのはdoloopなのですね
437名無しさん@そうだ選挙にいこう:2008/01/29(火) 17:46:44
>>435
高貴すぎるぞ、その苦肉の策。
まぁ出来てよかった。

自分でやれば理解が進むし、
手間を感じれば感じるほど、次の方法を模索する力が生まれるってもんだ。
おめでとう。
438名無しさん@そうだ選挙にいこう:2008/01/29(火) 17:47:25
>>421
の後半部分に逆にならないんだが・・
そのセルの中身がどうなっているのか逆に知りたいぜ
439名無しさん@そうだ選挙にいこう:2008/01/29(火) 17:52:37
>>433
>>431じゃないけど

Sub test001()
MsgBox Range("an20").Value
MsgBox Range("an20").Formula
End Sub

こういうことだよ。
440名無しさん@そうだ選挙にいこう:2008/01/29(火) 17:55:07
>>438

最初の値 
      )↓こう逝くために、エクセルがわざわざお前らの思考読み取って
次の値    エスパーするとでも思ってんのか?

例えばAさんは最初の値から3飛ばしでオートフィルをかけたい
Bさんは5飛ばしでかけたい。

そんなものエクセルが勝手に判断してAさんは3だろうな、Bは5〜8くらいだろうな
ってな感じに引くと思ってんのか?マジで。

1時間おきに時間を引きたい人、一分おきに引きたい人、色々居ても対応できる
それがオートフィルのメリットだろ。

そんなもの次の値を指定して初めてエクセルはその幅でオートフィルかけるんだよ


    オートフィルは最初の値と次の値を選択してからフィルドラッグ


これはテクでもなんでもなく、オートフィルの普通の使い方だぞ。
441名無しさん@そうだ選挙にいこう:2008/01/29(火) 18:00:11
>>440
いや、だからね、そうすると 421が、自分でこの2セルをドラッグしておいて、
 2008/01/01 12:00:00
 2008/01/01 12:00:01
”日付の連番にならない!” とバカな質問したことになるだろうが。
442名無しさん@そうだ選挙にいこう:2008/01/29(火) 18:01:18
すぐ喧嘩腰だな
安いプライドだ
443441:2008/01/29(火) 18:01:59
>>438
ちなみに、セルの書式を文字列にしとくと再現する。
多分、421はどっかからセルごとデータをコピーしたのかも。ただ、435の対応が理解不能w
444名無しさん@そうだ選挙にいこう:2008/01/29(火) 18:03:13
>>441
>435を見るに、2セル選択してのフィルドラッグは使ってないだろ。
質問時はなおのこと。

>>443
>435は435でまた何かの糧になると思う。
445441:2008/01/29(火) 18:06:27
>>444
>>435を見るに、2セル選択してのフィルドラッグは使ってないだろ。
あのさ、流れを読みながら会話してくれるか? 会話になってないのが自分でも分かるだろ。
446438:2008/01/29(火) 18:06:34
>>443
そういうことか!
ありがとう、スッキリ解決したぜ

447名無しさん@そうだ選挙にいこう:2008/01/29(火) 18:08:31
>>439
なるほど、msgboxに一度出力してみると非常に分かりやすいですね
ありがとうございます
448365:2008/01/29(火) 18:11:34
こんばんは。
いや〜、いろいろありましたが、結局>>395さんのアイデアを元に、いろいろといじくって
いたらできました。
さっき上司に提出してきたところです。
みなさんお世話になりました。
以降、名無しに戻ります。
名無しに、名無しになって、あの大きな空を吹きわたっています。
449名無しさん@そうだ選挙にいこう:2008/01/29(火) 18:13:15
>>448
ちなみに>422-423
くらいまで煮詰まって、>432の突っ込み入って考えてたところなんだけど、
一週間ごとの集計どうしてんの?
450名無しさん@そうだ選挙にいこう:2008/01/29(火) 18:16:52
と思ったけどいいや、解決したんだからな。
451名無しさん@そうだ選挙にいこう:2008/01/29(火) 18:20:59
>>447
ただ、 If Range("an" & i) = "false"  は、暗黙の型変換が起きてるので注意。
メッセージボックスに出しても、同様に文字列型に変換されている。今後注意が必要だと思う。
 If Range("an" & i) = False And Len(Range("an" & i).Value) > 0 Then
とすると、文字列を見ずに同じ動きをする。 と言って、あえて直す意味も無いけどね。
452>>344 >>355 です:2008/01/29(火) 18:51:36
>344-355です。
344-355を回避するために、
If Save_File <> "False" Then以降をこのようにしました

Application.DisplayAlerts = False
If Dir(Save_File) <> "" Then
If MsgBox("既存ファイルを置き換えますか?", vbYesNo, "確認") _
= vbYes Then
SaveAs (Save_File)
Else
End If
Else
SaveAs (Save_File)
End If

これでいけたと思って>355で〆たのですが、
保存ダイアログが表示された時点でキャンセルを押すと、
 実行時エラー13 型が一致しません
と If Save_File <> "False" Then のラインで止まってしまいます。

保存する段階を分けると
@ダイアログが開く→キャンセル
Aダイアログが開く→既存ファイル名で保存→上書きする
B                         →上書きしない
Cダイアログが開く→新しい名前で保存する

この4つのケースだと思いますが、>344-345の内容だとBでエラーとなり
↑の新しいマクロだとBでは出なくなったものの、@でエラーとなります。

何か良い解決策は無いでしょうか?
453>>344 >>345 です:2008/01/29(火) 18:56:40
>>452
×>344-355です。
○>344-345です。

■以前のマクロ----------------------------
 >On Error GoTo ERR1
 >If Save_File <> "False" Then
 >ActiveWorkbook.SaveAs Filename:=Save_File
 >End If

■現在ののマクロ----------------------------
    On Error GoTo ERR1
    Application.DisplayAlerts = False
    If Dir(Save_File) <> "" Then
      If MsgBox("既存ファイルを置き換えますか?", vbYesNo, "確認") _
      = vbYes Then
        SaveAs (Save_File)
      Else
      End If
    Else
      SaveAs (Save_File)
    End If

わかりづらいので並べました。
とりあえずやりたいことは>344のとおりなのですが、
エラーが回避できずにいます。回避する方法があればお願いします。
454>>344 >>345 です:2008/01/29(火) 19:01:41
>>452
これも間違えてました。ボロボロですみません

>と If Save_File <> "False" Then のラインで止まってしまいます。
         ↓
   If Dir(Save_File) <> "" Then
455名無しさん@そうだ選挙にいこう:2008/01/29(火) 19:16:59
>>454
あのさ、質問文が長いばかりで要領を得なさすぎ。
If Dir(Save_File) <> "" Then でエラーが出るんなら、普通は引数に何かあると考えるだろ?
でも、それだと Save_File に何が入ってるか全然わかんないんだけど。
ロジックも、質問も、要件についてもっと論理的に考えてみて。
456>>344 >>345 です:2008/01/29(火) 19:17:12
自己解決しました。ありがとうございました。
457455:2008/01/29(火) 19:20:51
>>454
文句ばかりじゃ申し訳ない。一応予測で書いてみるけど、
上のを見る限り、>Dim Save_File, Save_Filename As String で
Save_File がVariant 扱いになってるから、これでDirの引数として論理値(false)が渡ってる。
458名無しさん@そうだ選挙にいこう:2008/01/29(火) 19:24:32
回答もせず薀蓄垂れるだけ。
挙句の果てには自己解決宣言してるにもかかわらず、おせっかい。
自己満も大概に。
459455:2008/01/29(火) 19:27:00
>>458
まぁそう皮肉を言うなよ。 人のすることにケチ付けたくて仕方ないのはオマイと一緒なんだよ。
460名無しさん@そうだ選挙にいこう:2008/01/29(火) 19:35:41
Excel2003を使っているのですが
2008/2/1(金)
2008/2/2(土)
・・

といった感じで曜日の入った日付を連番で入力したいのですが
どうすれば良いのでしょうか?
461名無しさん@そうだ選挙にいこう:2008/01/29(火) 19:38:17
>>460
値として(曜日)を抜いて、書式設定で(aaa)加えるとかダメ?
462名無しさん@そうだ選挙にいこう:2008/01/29(火) 19:54:11
A1セルに1/1と入力後、
書式設定のユーザー定義で
yyyy/m/d"("aaa")"
後はオートフィルかけるだけ

一応ここから引用↓
ttp://www.relief.jp/itnote/archives/000017.php
463名無しさん@そうだ選挙にいこう:2008/01/29(火) 20:00:58
>>454
全部は読んでないけど、
SaveAsのオブジェクト省略してるのが原因って事はない?
464名無しさん@そうだ選挙にいこう:2008/01/29(火) 21:07:13
セル内の数字をマクロで非表示にするにはどのようなコードになるのでしょうか?
Range("A12").visible=falseでは駄目でした・・・
465名無しさん@そうだ選挙にいこう:2008/01/29(火) 21:15:56
>>464
表示形式を;;にすりゃいい。
文字列も非表示なら;;;だ
コードは自動記録
466名無しさん@そうだ選挙にいこう:2008/01/29(火) 21:24:14
質問を間違えていました。
マクロで非表示や表示をコマンドボタンを押すことによって繰り返したいのです。
お願いします。
467名無しさん@そうだ選挙にいこう:2008/01/29(火) 21:46:14
>>466
こんなんでいいんじゃない? 操作対象や条件は工夫してね。

 If Range("A1").NumberFormatLocal = ";;" Then
  Range("A1").NumberFormatLocal = "G/標準"
 Else
  Range("A1").NumberFormatLocal = ";;"

 End If
468名無しさん@そうだ選挙にいこう:2008/01/29(火) 22:22:58
>>486
マクロで表示形式を切り替えりゃいいだろ?
469名無しさん@そうだ選挙にいこう:2008/01/29(火) 22:30:42
>>468
誰にレスしてんだよカス
470名無しさん@そうだ選挙にいこう:2008/01/29(火) 22:34:10
すみませんが誰かそろそろ
>>381
に答えて下さる方いらっしゃいませんか?
方法がわかる方おられませんか?

もしかしたら不可能なことなんでしょうか?
どなたかどうかよろしくお願いします。
471名無しさん@そうだ選挙にいこう:2008/01/29(火) 22:36:21
オートシェイプは無理なんじゃないかな。
いや知らんけどな。ワークシートマクロのイベントにはそれらしきものが無いよな
472名無しさん@そうだ選挙にいこう:2008/01/29(火) 22:49:53
>>470
可能
473名無しさん@そうだ選挙にいこう:2008/01/29(火) 23:01:32
>>470
OnAction っぽい
474名無しさん@そうだ選挙にいこう:2008/01/29(火) 23:28:09
オートシェイプはめんどくさかった気がする
475名無しさん@そうだ選挙にいこう:2008/01/29(火) 23:44:26
ググったけどオートシェイプは無理なんじゃない?
コントロールかフォーム使えってのが見つかっただけ。
476名無しさん@そうだ選挙にいこう:2008/01/29(火) 23:53:33
>>473
それはコマンドバーコントロールにしかつかえませんのですわ。
477名無しさん@そうだ選挙にいこう:2008/01/30(水) 00:03:00
>>474
めんどくさくても何かてがかりがほしいんです。参考文献かなにかないですかね?

>>475
コントロールはデザインモードでしか大きさ変更できなかったりするので…
今回のは、ボタンに連結したマクロからaddshapeでmsoレクタングルとかを追加して
それをユーザーが選択して大きさを変え、
さらにその変更した大きさのプロパティ値をバックして指定したセルに表示させたいのです。
なんだかあまりに考えてることがエクセルを越えてるんでしょうか?
478名無しさん@そうだ選挙にいこう:2008/01/30(水) 01:03:48
【1 OSの種類         .】 WinXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Exsel グラフ

ちょっとしたアンケートをとりました。

あるお店について、1問目で知っているか否かを聞き、
2問目では、問1で知らないと答えた人にだけ、
お店の詳細を教えた上で
行きたくなったかどうかを聞きました。

問1
知ってる 20
知らない 15
合計 35

問2(問1で知らないと答えた15名のみ)
行ってみたい 12
興味無い 3


特に、問2の「行ってみたい」という回答を強調できるような
効果的なグラフの作り方を教えてください。
はじめは補助円付き円グラフで表現できるかと思っていたのですが
あのグラフって単に数値の小さい部分を拡大表示するだけなんですか?
大きい円グラフが3等分されてしまい、うまくいきません。
問1と問2で別々に作るしかないのかなー
479名無しさん@そうだ選挙にいこう:2008/01/30(水) 01:35:15
知ってる 20
行ってみたい 12
興味無い 3
として、データ系列の書式設定のオプションでどうにかする。
480名無しさん@そうだ選挙にいこう:2008/01/30(水) 01:51:36
グラフのスムージングってどんなアルゴリズム使ってるの?
スプライン?
481名無しさん@そうだ選挙にいこう:2008/01/30(水) 10:12:04
>>478
分割円グラフを作って、グラフを選択、ドラッグすると離したりくっつけたりできる
そして一つの要素をクリックして、ドラッグすると一個だけ切り離せして移動できる
・・分かりにくいな

A1-A3に東京、大阪、名古屋(なんでもいいけど)
B1-B3に1,2,3と入れて下のマクロを実行してみ

sub あ()
Charts.Add
ActiveChart.ChartType = xl3DPieExploded
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A1:B3"), PlotBy:= _
xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
ActiveChart.HasTitle = False
ActiveChart.SeriesCollection(1).Select
Selection.Explosion = 0
ActiveChart.SeriesCollection(1).Points(2).Select
Selection.Explosion = 41
End Sub
482名無しさん@そうだ選挙にいこう:2008/01/30(水) 10:59:38
【1 OSの種類         .】 WinXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    】 少し(初心者)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 入力 格納
少し前にもお世話になりましたが、またお世話になります。
ユーザーフォームで(セルへの直接の入力でも)担当者ごとに複数の情報を入力します。
それを担当者で識別して担当者ごとのワークシートへ格納するようなものを作成したのですが、
なんともうまくまとめられません・・・。
担当者ごとのシートへの格納とそれとは別に全て担当者の情報が入っているシートの
両方に情報を入れたいのです。
A   B   C    D
佐藤 1月6日 みかん りんご
伊藤 1月9日 メロン みかん
佐藤 1月10日 りんご ぶどう
とすべて繋がっているシートと
A   B   C    D
佐藤 1月6日 みかん りんご
佐藤 1月10日 りんご ぶどう
と佐藤シートにも自動的に振り分けられるように。
複数条件を入力するユーザーフォームからセルへの入力は大丈夫なのですが、
振り分けがうまくいきません(というか思いつかない)。
関数、VBAどちらでも何か良い方法がありましたら、ご助言の程お願い致します。
483名無しさん@そうだ選挙にいこう:2008/01/30(水) 11:41:46
全ての担当者が入ってるシートに通し番号の列を挿入して、
vlookup使うのが早いと思う

仮に全てのデータが入ってるシートのA列を番号の列とし、A1から1、A2が2・・と入力
そのシートをまるごとコピーしてA列と2行目以降をクリア、シート名は担当者名かな
B2に
=IF(VLOOKUP(全て!$A2,全て!$A$1:$E$100,2)="佐藤",VLOOKUP(全て!$A2,全て!$A$1:$E$100,2),"")
B3もそんな感じで入力して、下までオートフィル
B列を名前でオートフィルタすればいと思う
新しいシートはマクロで作れるけど、その辺は割愛
シート名を関数で取得できたら楽なんだがなぁ
484名無しさん@そうだ選挙にいこう:2008/01/30(水) 12:14:36
>>482
一度ピボットテーブルで担当者別に集計します。
その集計表で佐藤さんの集計値をダブルクリックすれば佐藤さんだけの
明細データが別のシートに出てきますよ。
485名無しさん@そうだ選挙にいこう:2008/01/30(水) 13:25:06
1 OSの種類         .】 Windows vista/xp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 リンク 削除 セル

セル内のリンクを切りたいのですが、
例えば「=A1」のようなものは残して、
「=SUM(A1:A2)」のような関数の入ったセルだけを消すにはどうすればいいのでしょうか?


486名無しさん@そうだ選挙にいこう:2008/01/30(水) 14:12:38
>>485
リンク??
何を残して、何を消したいのか、よくわからん。

SUM関数が入ったセルだけを消したいなら編集→置換で
検索する文字列 「*SUM(*」
置換後の文字列 「」
にする。
487名無しさん@そうだ選挙にいこう:2008/01/30(水) 14:15:35
>>485
Ctrl+Fで"("を「すべて検索」して
下に出てくる検索結果でCtrl+Aして検索窓閉じてDelete押せばいいんじゃね?
488名無しさん@そうだ選挙にいこう:2008/01/30(水) 15:52:43
ファイルを開く、あるいは保存をしようとすると
画面が変なかんじの表示になり(きちんと通常の画面にならずあちこち虫食い
状態にみえる)、エラーメッセージがでてしまいます。

「メモリ不足で開けない」というようなメッセージです。

ファイルサイズ:5M
メモリ:734M
ドライブの空き容量は10G以上ある

仮想メモリ?を330程度だったのを500まで増やしてみたりしても一向に
解決しません。

つい最近急にこういう状態になったのですが、どうしたら直りますか?
489名無しさん@そうだ選挙にいこう:2008/01/30(水) 17:05:22
オプション→計算方法にある
「表示桁数で計算する」はデフォルトでオンになっているのでしょうか?
490名無しさん@そうだ選挙にいこう:2008/01/30(水) 17:17:22
>>488
とりあえず再インストールをしてみたほうがいいかと
解決しなきゃエラーメッセージ全文のせないとわからんよ
491名無しさん@そうだ選挙にいこう:2008/01/30(水) 20:00:35
こんにちは
HTMLを含む文書をエクセルに貼り付けてコードを編集したいと思ってます。
改行をtabに変換したソースを貼り付けると文字としてではなくHTML文書(リンクや画像)が現れてしまいます;;;;
単なる文字としてペーストどこで設定したらよいのれしょうか??
492名無しさん@そうだ選挙にいこう:2008/01/30(水) 20:13:35
エクセル‐HTMLでぐぐったら 解決できました(^_^;)

すんません
493名無しさん@そうだ選挙にいこう:2008/01/30(水) 21:10:10
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003

人の名前とその横に金額が書かれている10枚くらいのシートがあるのですが
全てのシートから同じ名前の人の金額だけを抜き出して合計したものを
一番最後のシートに表示させるにはどうすればいいでしょうか?
494名無しさん@そうだ選挙にいこう:2008/01/30(水) 21:57:53
>>493
統合かピボットテーブルでどうぞ
495名無しさん@そうだ選挙にいこう:2008/01/30(水) 23:08:02
やった事がある人は解ると思いますが、
VBAを使って複数のジョブに分かれた印刷を行うと、
印刷の合間に数十秒の時間が掛かる事があります。
これはどうにかして回避出来ないでしょうか?
496名無しさん@そうだ選挙にいこう:2008/01/30(水) 23:10:46
>>486
要するに関数が入っているものは消して、関数が入っていない「=A1」などは残したいのです。

>>487
明日やってみます。ありがとうございます。
497 ◆adhRKFl5jU :2008/01/31(木) 00:08:30

>>482
挿入 − 名前 − 定義

名前に 「シート名」
参照範囲に =REPLACE(CELL("filename",!$A$1),1,FIND("]",CELL("filename",!$A$1)),"")

名前に 「行番号」
参照範囲に =SMALL(IF(全て!$A$1:$A$100=シート名,ROW(!$A$1:$A$100),""),ROW())

「佐藤」シート
A1=IF(COUNTIF(全て!$A:$A,シート名)<ROW(),"",INDEX(全て!A:A,行番号))
右、下へ必要数コピー

その後は「佐藤」シートをコピーしてシート名を変えてください。
でも、折角ユーザーフォームを使っているのならセットの時に他のシートにもデータが
入力されるようにした方がいいかもしれませんね。
498名無しさん@そうだ選挙にいこう:2008/01/31(木) 00:32:27
【1 OSの種類         .】 WindowsXp
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ

おしえてください。
B列とC列、どちらかに1または空欄が入っている表があります(1はダブらない)
これを1列にまとめるにはどうすればよいですか?
D列に、「となりのBかCに1があったら1を返す」というような式を入れる方法でもいいのですが
IFでやろうとしたら式が違うといわれました。
499名無しさん@そうだ選挙にいこう:2008/01/31(木) 00:41:05
=IF(OR(A1=1,B1=1),1,"")
500名無しさん@そうだ選挙にいこう:2008/01/31(木) 01:51:04
>>498
=B1&C1
501498:2008/01/31(木) 03:43:24
>499
ありがとうございます!
実はこのあと、3列、4列…で同じ操作をしたかったのですが
それでもできたので助かりました!

>500
そ、そんなシンプルな式があったとは・・・
ありがとうございます。
502名無しさん@そうだ選挙にいこう:2008/01/31(木) 11:46:09
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ

教えて下さい。
エクセルで請求書を作りました。
プリントアウトをすると、単価を打ち込んでない行まで「0」と印字されてしまいます。
「0」と印字させないようにするにはどうしたらよいですか?
宜しくお願い致します。
503名無しさん@そうだ選挙にいこう:2008/01/31(木) 11:59:50
>>502
いろいろあります。
0の時文字色を背景色にする。
IFで、0の時””にする等。
504名無しさん@そうだ選挙にいこう:2008/01/31(木) 12:05:24
>>502
他にも数値の書式設定で
#,###
あるいは
#,##0;-#,##0;
505名無しさん@そうだ選挙にいこう:2008/01/31(木) 12:24:48
オプション−表示で「0表示」のチェックを外す
506502:2008/01/31(木) 12:30:26
>>503>>504>>505さん

有難うございます!
きっ消えました!

ほんとにほんとに有難うございます。^^
507名無しさん@そうだ選挙にいこう:2008/01/31(木) 15:11:30
>498
B列コピー、C列で加算貼り付け
or
前提が確実なら
=IF(B1+C1,1,"")
508482:2008/01/31(木) 15:47:48
<483,484,497
ありがとうございます!
ネストするような式はすごく苦手で・・・。
うまくいけそうです。
本当にありがとうございます!!
509名無しさん@そうだ選挙にいこう:2008/01/31(木) 20:11:50
【1 OSの種類         .】 WinXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    】 使えない
【4 VBAでの回答の可否】 不可
【5 検索キーワード     】 連続したセル 連休計算 countif offest weekday

勤務表を作ってます

4月        A B C    5月            A B C
4|金|AB |出|出|休  4|日|みどりの日|休|休|休
5|土|  C|休|休|出  5|月|こどもの日|休|休|休
6|日|   |休|休|休  6|火|振替休日 |休|休|休
7|月|A C|出|休|出  7|水|A  B  C|出|出|出
8|火|ABC|出|出|出

           A B C
4月の4連休  | | | |
4月の3連休  | | | |
4月の土曜出勤| | | |


こんな感じです。
出or休はif,match,iserrorを使ってます。
4月の3連休はA何回、B何回、C何回と数えたいのですが、
どうにもうまくいきません。
また、たとえば4/29,30,5/1と連休した場合は
「5月の3連休を1回」として数えたいのですが、
そういったものはうまくいきますでしょうか。
さらに、土曜出勤の回数も数えたいのです。

恐縮ですが教えていただけたら幸いに存じます。
510名無しさん@そうだ選挙にいこう:2008/01/31(木) 20:16:55
エクセル2007でグラフを書いているのですが、
X軸やY軸のラベルを変更しようとするとたまに入力が変になります。

普通なら、「へんかん」→「変換」と漢字に変換できるのですが、
稀に、「へんかん」→「へんかんへんかんへんかん変換変換」のように
文字入力がわけのわからないことになってしまいます。
軸のラベル以外の場所ではこのようなことは起こりませんし、
他のソフトで文字入力する時にも起こったことはありません。

さらに修正しようと思ってDelete押すと、たいていカーソルの前後が消えたりもします。
BackSpaceは普通に使えますが、
また何か文字を入力すると、「もじ」→「もじもじ文字文字」のようになってしまいます。


Excel以外でこのようなことは起こらないのですが、
使い方に問題があるのか、ソフトの設定などに問題があるのか、運が悪いのか・・・
対策などないでしょうか?
511名無しさん@そうだ選挙にいこう:2008/01/31(木) 20:54:30
>>509
>4月の3連休はA何回、B何回、C何回と数えたいのですが、
これ意味が分からない。何をどう数えるのか、どう上手くできないのか。

>「5月の3連休を1回」として数えたいのですが、
COUNTIF と IF 文の連携でできると思う。つまり、指定範囲の休みが3回なら1をカウントする。
512名無しさん@そうだ選挙にいこう:2008/01/31(木) 20:59:47
>>509
うまく説明するかサンプルとなるシートをうpするかどっちかだな。
513509:2008/01/31(木) 21:31:44
失礼しました

日付  |曜日|A氏|B氏|C氏
4月4日|金  |出 |出 |休
4月5日|土  |休 |休 |出
4月6日|日  |休 |休 |休
4月7日|月  |出 |休 |出
4月8日|火  |出 |出 |出


         |A氏|B氏|C氏|
4月の3連休|   |☆ |   |


4月5日から7日までBさんが「休」3連続ですよね
それを「3連休1回」と判定して☆のセルに「1」と入れたいのです。
514名無しさん@そうだ選挙にいこう:2008/01/31(木) 21:50:20
>>513
C列からA氏のデータが入ってるとして
=IF(ISERROR(FIND("休休休",C2&C3&C4&C5&C6)),"","1")
515名無しさん@そうだ選挙にいこう:2008/01/31(木) 21:55:53
>>514
おもしろい方法だけど実際には1か月、1年単位で使うだろうし、GWは4月と5月またぐし、結構面倒だ
516名無しさん@そうだ選挙にいこう:2008/01/31(木) 22:45:31
休休休休休休なら3連休2回にするの?
祝日や定休日はをはさんだ時はどうするの?
期間は最大いつからいつまでで、どうやって指定するの?
517名無しさん@そうだ選挙にいこう:2008/01/31(木) 23:20:59
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Googleやヘルプでの検索キーワード
エクセル VBA セルに入力 下に下がる
excel VBA セルに入力 offset
excel VBA セルに入力 offset if

今課題で、入力支援ソフトを作っているのですが、
チェックボックスをチェックしたときに、
チェックボックス1にチェックが入った場合はシート1
チェックボックス12にチェックが入った場合は、シート12に
名前が入るようになっています。

スピンボタンで、1から番号が指定されているため、
番号1の人が、チェックボックス1
番号2の人が、チェックボックス2
番号3の人が、チェックボックス1
にチェックを入れた場合、 シート1にでる名前が
番号1
空白セル
番号3 となってしまいます。
if文で、そのセルに入力がある場合は、 一つ下がる。
そのセルに入力が無い場合は、
そのセルに入力。 としたいのですが、
移動する「そのセル」はどのように 指定したらいいのでしょう?
説明わかりにくかったらすみません。 お願いします。
518498:2008/02/01(金) 01:49:42
>>507
加算貼り付けなんてのがあるんですねー
これは後々役に立ちそう☆
ありがとうございました^^
519名無しさん@そうだ選挙にいこう:2008/02/01(金) 02:27:13
>>517
すみません、出来そうな気がしてきました。
失礼しました。
520名無しさん@そうだ選挙にいこう:2008/02/01(金) 05:18:45
>>490
再インストールは面倒だからまだやっとらんが、
メッセージは「メモリ不足です。完全に表示できません。」
521名無しさん@そうだ選挙にいこう:2008/02/01(金) 09:40:52
よろしくお願いします
住所録のデータが約1000件あってちょっと色々並び替えをしたりしたいんですが
後で元の順番に戻したいので1〜1000まで番号を入れておきたいのですが
一発で入力できる方法はありますでしょうか?
具体的にはA1に1、A501に501、A1000に1000、のように一気に1000まで入れてしまいたいです
522名無しさん@そうだ選挙にいこう:2008/02/01(金) 09:51:43
>>521
オートフィル ⇒ コピー ⇒ (同じセルに)値のみ貼り付け じゃダメ?
523522:2008/02/01(金) 09:57:12
>>521
スマン、オートフィルだけで良いな・・・
524名無しさん@そうだ選挙にいこう:2008/02/01(金) 13:12:42
Excel 2002(Windows XPで使用)の文書を
PDFファイルとして保存することは可能でしょうか?

検索したところ「ファイル」→「PDFファイルの作成」が
できるバージョンもあるようですが、
2002ではこのコマンドが使えないようです。

よろしくお願いします。
525d:2008/02/01(金) 13:18:18
>>521
A1に1、A2に2を入力し、A2セルの右下端にマウスポインタを持って行き
黒十字になったところでダブルクリック。^^
526d:2008/02/01(金) 13:20:11
>>525
A1:A2を選択してダブルクリックです。^^
527名無しさん@そうだ選挙にいこう:2008/02/01(金) 13:38:12
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 不可
【5 検索キーワード     】関数 ワイルドカード 無効

表1
A* (関数)
AB* (関数)

表2
A* 1
ABC* 3

上のような二つのテーブルがある場合、表1に表2の列Bの値を
反映させたい。
(関数) に=vlookup(A1,表2!A1:B2,2,0) などと入力した場合、
文字列に* が入っているため、表1は

表1
A* 1
AB* 3

となってしまいます。* も文字列として認識されるような方法があるでしょうか?

表1の結果はこうなってほしいのですが。。

表1
A* 1
AB* #N/A

528名無しさん@そうだ選挙にいこう:2008/02/01(金) 13:56:50
>>527
全然言ってる意味わかんないよ
529名無しさん@そうだ選挙にいこう:2008/02/01(金) 14:02:59
>>527
ab~*
と*の前にチルダを付ければいいよ
530名無しさん@そうだ選挙にいこう:2008/02/01(金) 14:12:39
>>529
おまえすごいな。
531名無しさん@そうだ選挙にいこう:2008/02/01(金) 14:32:30
あるところからあるところまでの偶数列だけの合計の出し方(奇数列だけの合計のい出し方)ってどうすればいいのでしょうか?
=SUM(A3,C3,E3)というのを列が増えても簡単に追加できるようにしたい(Iまで列ができたらG3,I3も追加できるような)のです
お教えくださいますようお願いいたします
532名無しさん@そうだ選挙にいこう:2008/02/01(金) 14:45:48
>>531
A3:I3にデータが入ってる(入る予定がある)として
=SUMPRODUCT((A3:L3)*(MOD(COLUMN(A3:L3),2)=0))
これが偶数列の合計
奇数列は最後の0を1にすればいい

あと日本語をもう少し勉強したほうがいい
533名無しさん@そうだ選挙にいこう:2008/02/01(金) 14:46:27
>>532
焦ってました。
有難う御座います。
534名無しさん@そうだ選挙にいこう:2008/02/01(金) 14:49:06
531の文章そんなにおかしいか?
たかだか数式一つ教えたくらいで思い上がってるな532。
535532:2008/02/01(金) 14:49:37
俺もI3とL3間違ってるな
人のこと言えねえや
536名無しさん@そうだ選挙にいこう:2008/02/01(金) 15:30:20
こんにちは。エクセル2002を使用しています。
ノンブルを複数のシートにまたがって連番で印刷することは可能でしょうか。
また、ノンブルを印刷しないページを設定することは可能でしょうか。
よろしくお願いします!
537名無しさん@そうだ選挙にいこう:2008/02/01(金) 15:56:48
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 ヘルプ 検索履歴

Excel2007でヘルプの検索を行うと、検索履歴が残ってしまいます。
これを削除したいのですが、Deleteキーでも消去できません。
何か簡単な方法がありましたら教えてください。
宜しくお願い致します。
538名無しさん@そうだ選挙にいこう:2008/02/01(金) 15:57:22
>>536
ノンブルってページ番号?
ページが固定なら、ファイル→ページ設定→ページ タブ→先頭ページ数 で調整可。
同じく、→ページ設定→ヘッダ/フッタ タブ→ヘッダー(フッター)の編集 で設定可能。

ページが可変なら、VBAを組まないとムリだと思われ。
539名無しさん@そうだ選挙にいこう:2008/02/01(金) 15:57:43
>>534
敬語の使い方がおかしい。
「お教えくださいますようお願いいたします」の部分。
540538:2008/02/01(金) 15:59:17
>>536
言い忘れた、複数ワークシートを同時に選択して印刷を掛けると、ページ番号は連番になるよ。
541名無しさん@そうだ選挙にいこう:2008/02/01(金) 16:24:34
【1 OSの種類         .】 WinXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel グラフ

A列C列E列G列のように1列おきのデータでグラフを描いています。
行数が増えたときにグラフ上で右クリ、データの選択をして
グラフデータの範囲 =XX!$A$2:$A$10,XX!$C$2:$C$10,XX!$C$2:$C$10, (続いてる)
の10という数字を全部20に書き換えたいのです。
ここで文字数が長くて表示されてない(続いてる)部分にカーソル移動したいのですが
カーソルが元の表の方に有効になってしまいデータ範囲がめちゃくちゃになります。
Excel2003では普通にできていたことなのにExcel2007ではできずどうしたらいいのですか
542名無しさん@そうだ選挙にいこう:2008/02/01(金) 16:56:49
>>524
OOoで開いてPDFに出力
543名無しさん@そうだ選挙にいこう:2008/02/01(金) 18:04:28
【1 OSの種類         .】 WinXP SP2
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 不可
【5 検索キーワード     】 コピーしたセルを挿入

「コピーしたセルを挿入」を1度選ぶと、右クリックメニューから「コピーしたセルを挿入」が消えてしまいます。
「コピー」と「コピーしたセルを挿入」を交互に繰り返すのが面倒なのですが、
「コピーしたセルを挿入」だけを続けて実行する方法があったら教えてください。
544名無しさん@そうだ選挙にいこう:2008/02/01(金) 18:12:50
>>543
【5 検索キーワード     】 コピーしたセルを挿入 連続
545524:2008/02/01(金) 18:18:08
>>542
ありがとうございます。。。これは伏せ字??
とか書き込む直前に検索したら、れっきとした略称だったんですね。
OOoもはじめて知りましたので、やってみます。
改めてありがとうございます!
546名無しさん@そうだ選挙にいこう:2008/02/01(金) 18:30:31
Excel2002です。

セルに色をつけながら作業していたのですが、
気づくと使っていた色のひとつ(ピンク)がグレーになっていました。
すべてのシートで、ピンクがグレーに変わっており、
色のパレット上でもピンクの位置がグレーになり戻せません。

戻す方法を教えてください。
547543:2008/02/01(金) 18:31:24
>>544
ぐぐってみました。
一番目に出てきた方法は、ショートカットキーでコピーの手間を減らすだけでした。
二番目は、Ctrl+Yを押しても何も起きません。Excelのバージョンが違うからでしょうか。
三番目は、メニューから挿入を選んでもセルという項目が見あたりません。
四番目は、離れたセルにはコピーできない方法でした。

ようするに、自分の希望するような機能はないということでしょうか?
548名無しさん@そうだ選挙にいこう:2008/02/01(金) 18:34:35
>>546
1つのブック内で使える色数は56色までです。
もっとたくさんの色を使って細かく色分けしたいならExcel2007に乗り換えるしかありません。
549名無しさん@そうだ選挙にいこう:2008/02/01(金) 18:34:53
>>544
検索結果の4番目がトップに来るだけですが、
550546:2008/02/01(金) 19:04:59
>>548
色は7~8色しか使っていません。
さっきまで使えていたピンクがグレーになってしまいましたので、
元に戻したいのですが…
551名無しさん@そうだ選挙にいこう:2008/02/01(金) 19:06:06
>>546
ツール、オプション、色タブのリセット押せ
552名無しさん@そうだ選挙にいこう:2008/02/01(金) 19:33:00
>>547
多分ないです。 Ctrl + C ⇒ Ctrl + Shift + ; を続けるしかないと思います。
553546:2008/02/01(金) 19:41:44
>>551

キターそれだ(*゚∀゚)!と思いながらリセットボタンを押してもなおりませんでした。

試しにその色(ピンクだった部分)を色変更してみてからリセットを押すと
グレーに戻る始末(つд`;)
554546:2008/02/01(金) 20:01:09
リセットとExcel再起動を繰り返していたらなんだかなおりました!
最下列左から2番目の肌色のようなピンクお気に入りなのでうれすいです。
おさわがせしました。ありがとうー!
555名無しさん@そうだ選挙にいこう:2008/02/01(金) 20:01:50
色変更して、リセット押さなきゃいいだろ
556名無しさん@そうだ選挙にいこう:2008/02/01(金) 20:15:47
>>554
どうでもいいけど俺もその色、好きだぜ
目に優しい気がする・・気のせいだろうけど
557名無しさん@そうだ選挙にいこう:2008/02/01(金) 22:43:01
【1 OSの種類         .】 WinXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel グラフ


A1セルの「19年1月31日」と表示されているものを

B1セルに19
C1セルに1
D1セルに31

と年、月、日にそれぞれ分けるにはどういう関数を入れたら良いのですか?
558名無しさん@そうだ選挙にいこう:2008/02/01(金) 22:47:36
YEAR(A1) =MONTH(A1) =DAY(A1)

でいいのかな?
559名無しさん@そうだ選挙にいこう:2008/02/01(金) 22:56:09
A1が日付データなら
A1 =YEAR(A1)-1988
B1 =MONTH(A1)
C1 =DAY(A1)

A1が文字列なら
A1 =LEFT(A1,2)
B1 =MID(A1,FIND("年",A1)+1,FIND("月",A1)-FIND("年",A1)-1)
C1 =MID(A1,FIND("月",A1)+1,FIND("日",A1)-FIND("月",A1)-1)
560名無しさん@そうだ選挙にいこう:2008/02/01(金) 22:58:30
>>559
dクス
561名無しさん@そうだ選挙にいこう:2008/02/01(金) 22:58:44
562543:2008/02/02(土) 00:14:03
>>552
わかりました。ありがとうございました。
563名無しさん@そうだ選挙にいこう:2008/02/02(土) 02:59:02
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003

回転するシャフトの「振れ」の規格が50ミクロンで、Cpkの計算をしたいのですが、
A52に平均値、A53に分散、A54に標準偏差、A55に0.05と入れたら
=(A55-A52)/(3*A54) で良いですか?
それとも、下限規格を0(ゼロ)とした両側規格にするのでしょうか?

また、標準偏差を求める関数があれば教えてください。
564名無しさん@そうだ選挙にいこう:2008/02/02(土) 03:21:33
>>563
標準偏差はSTDEVP関数で計算できるけど、機械の振動についての質問は機械・工学板へ行った方がいいぞ。
565名無しさん@そうだ選挙にいこう:2008/02/02(土) 12:30:53
【1 OSの種類】WinXP
【2 Excelのバージョン】Excel2000
【3 VBAが使えるか】いいえ
【4 VBAでの回答の可否】否
【5 検索キーワード】Excel

月 週
A 10 30
B 15 10
C 20 15

上のような表があります。(「A,B,C」記入列…A列、「月、週」記入行…1行目)
表を元に、「月」は縦棒、「週」は折れ線の2軸グラフを作りたいです。
A,B,Cと書いてある行は、この先D,E,F…と増えるため、
行を増やす度にグラフに反映されるようにしたいです。
どのようにグラフを作ればよいでしょうか?
566名無しさん@そうだ選挙にいこう:2008/02/02(土) 12:45:02
>>565
毎週データの範囲を広げるのはイヤな訳?
567名無しさん@そうだ選挙にいこう:2008/02/02(土) 12:49:09
マクロでしか無理だなぁ
568名無しさん@そうだ選挙にいこう:2008/02/02(土) 12:51:09
>>566
はい、データを増やす度にグラフを作り直す手間を省きたいのです。
できたら知恵をお貸しください。
569名無しさん@そうだ選挙にいこう:2008/02/02(土) 13:06:49
途中に挿入すればグラフの範囲を変えることも可能
例だとAとBの間に挿入すれば変わってくれる
最後に追加したいなら・・Cの下に仮にZってデータを入れておいて、
CとZの間に挿入するようにすればいいかな
570七資産@操舵選挙に行こう:2008/02/02(土) 13:16:22
【1 OSの種類         .】 WindowsVISTA
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 VBA VLOOKUP

みなさんはじめまして。VBAの質問です。

VLOOKUPで検索された行の特定の列のセルの値をコピーして
そのセルに値のみを貼り付けたいのですが、
VBAではどう書けばいいでしょうか?
(コピー対象のセルには数式が入っている)


(例)「A1」に検索対象の「人名」を入力してからの処理となります。
   「表(B2:D4)」からB列の「人名」を検索して「B3」に
    見つかったとすると、
   「B3」の行の中の「C3」「D3」の値のみをコピーして
    同じ「C3」「D3」に貼り付けるといった具合です。
   「C3」「D3」にはそれぞれ前処理で別の表を参照する
    数式が入っていますが以降使用しません。
571名無しさん@そうだ選挙にいこう:2008/02/02(土) 13:28:35
Excel2003を使っています。

A    B    C   D
01/01 店舗A 1,000 6,000
           2,000
           3,000

     店舗B 2,500 5,300
           1,200
           1,600

D列にC列の店舗毎の合計を表示したいんですが、行数はまちまちです。
ちまちまSUM()を入れるのではなく、自動的に連続した範囲(空行を区切りとする)を
合計の対象としたいんですが、どうすればよいでしょうか?
572名無しさん@そうだ選挙にいこう:2008/02/02(土) 13:31:29
>570

つマクロの自動記録
573名無しさん@そうだ選挙にいこう:2008/02/02(土) 13:45:55
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はじめたばかり
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 VBA チェックボックス 

チェックボックスを二つ用意して
1番をチェックしたら黄色塗りつぶし、 2番をチェックしたら色を元に戻す(塗りつぶしなし)
という風なマクロを(マクロ記録)作成したのですが
1番のチェックをはずしても当然元の色にもどりません。
ラジオボタンなら何の問題もなく作動するのですが
チェックボックスで行いたいと思ってます。
チェックをはずしたらチェックする前の状態に戻るようにするにはどのように記述したらよいでしょうか?
また本来このような使い方はラジオボタンにすべきでチェックボックスを使うべきではないのでしょうか?
印刷後の見やすさなどからチェックボックスにしたいのです。
574名無しさん@そうだ選挙にいこう:2008/02/02(土) 13:52:42
>>571
データの形式が悪い。

A    B    C  
01/01 店舗A 1,000
01/01 店舗A 2,000
01/01 店舗A 3,000
01/01 店舗B 2,500
01/01 店舗B 1,200
01/01 店舗B 1,600

こんなふうにしてピボットテーブルで一発
575七資産@操舵選挙に行こう:2008/02/02(土) 13:58:59
>572
表はこんな具合です。
上の表の鈴木さんのスクワットと腕立ての回数は
下の表の日本人のそれを参照しています。

ゴンザレス
人名 スクワット 腕立て
鈴木 3回 5回
ゴンザレス 4回 6回

スクワット 腕立て
日本人 3回 5回
欧米 4回 6回
576七資産@操舵選挙に行こう:2008/02/02(土) 13:59:55
>572
マクロの自動記録です。

Sub Macros()
Selection.Copy
Columns("B:B").Select
Selection.Find(What:="ゴンザレス", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, MatchByte:=False, SearchFormat:=False).Activate
Range("C4:D4").Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("A1").Select
End Sub
577名無しさん@そうだ選挙にいこう:2008/02/02(土) 14:06:11
>>573
チェックボックスがクリックされたらすぐに色を付けるんじゃなくて、
チェックマークが入ったか消えたか判断してから色を付けるようにする。

Private Sub CheckBox1_Click() 'チェックボックスがクリックされた
  If CheckBox1.Value = True Then 'チェックマークを調べる
    Range("A1").Interior.ColorIndex = 6 'チェックされていたら色を付ける
  Else
    Range("A1").Interior.ColorIndex = xlNone 'チェックが外れたら色を戻す
  End If
End Sub

本当はラジオボタンを使うべきなんだけど、最初はこんなもんでもいいだろう。
チェックボックスをラジオボタンのように使うとか、ラジオボタンのデザインを変えるとか、
いろんな方法があるから、がんばって勉強してね。
578名無しさん@そうだ選挙にいこう:2008/02/02(土) 14:28:40
>>569
ありがとうございます。
その方法でいってみます。
579名無しさん@そうだ選挙にいこう:2008/02/02(土) 15:04:52
>>577
大変参考になりました。
これをちょっとづついじくって勉強していきたいと思います。
ありがとうございました
580名無しさん@そうだ選挙にいこう:2008/02/02(土) 15:30:13
>>571
E2に店舗A
F2に
=SUMIF($B$2:$B$101,E2,$C$2:$C$101)
これでドラッグしても使えるようになるが・・
どっちにしても>>574のとおり、店舗Aは下までいれていかなきゃいけない
マクロなら簡単にできると思うけど

581名無しさん@そうだ選挙にいこう:2008/02/02(土) 15:36:31
>>571さんの質問に便乗だけど、

Bセルの3,000までのところにA店舗と自動的に入れるにはどういう方法がありますか?

うちの場合は、店舗じゃなくて日付なんですが。

例えば出納帳で上と同じ日付の場合は空欄になっていて、その空欄にその日が入るようにしたいということです。

例えば

1行目3日
2行目
3行目
4行目4日
5行目
6行目5日

となっている場合に、2行目と3行目に「3日」、5行目に「4日」と表示出来るようにするには。。
582563:2008/02/02(土) 15:53:15
>>564
ありがとうございます。
STDEVPで、作成フォーマットがスッキリしました。
583名無しさん@そうだ選挙にいこう:2008/02/02(土) 15:53:42
日付の右か左は一行埋めておかないといけないが、
なければ作った後に

3日をクリック、右下の点をダブルクリック
これで4、5、6・・と入っていくので、最後のセルの右下に小さい四角がでる
オートフィルオプションって言うみたいだけど
これでセルのコピーを選択すれば、全て3日に変更される
ただこれは古いバージョンでは使えなかった気がする
2003ならできる
584名無しさん@そうだ選挙にいこう:2008/02/02(土) 16:13:47
>>583
なるほど。

その技は関数で何か指定出来ないものですかね。

範囲を指定して、空欄には直前の日にちを一発で入れて行ければ便利なのですが。
585d:2008/02/02(土) 16:22:44
>>584
こんなのではどうですか。^^
Sub test2()
  Dim RR As Range
  Set RR = Range("B:B")
  Set RR = Intersect(RR, RR.Worksheet.UsedRange)
  Set RR = RR.SpecialCells(xlCellTypeBlanks)
  RR.FormulaR1C1 = "=R[-1]C"
  RR.Font.Color = vbRed
End Sub
586名無しさん@そうだ選挙にいこう:2008/02/02(土) 16:42:19
>>584
A2以降のA列に日付が入ってるものとすると、
B2に
=IF(A2="",B1,A2)
の式で後は下にオートフィルで引っ張るとか
その後A列を表示しないにでもすれば可能
1行目から入力する場合は最初だけ日付を入力するか、
もうちょい長い式を作るかだな
587名無しさん@そうだ選挙にいこう:2008/02/02(土) 16:44:53
>>585-586
dクス

Excelの基礎から応用まで学べるような講習?ないし、DVD教本とかでお奨めは無いですかね〜。
一度勉強が必要なようです。
588名無しさん@そうだ選挙にいこう:2008/02/02(土) 16:55:39
ググったら特打のEXCEL版があるんですね。これでいっかな。
589名無しさん@そうだ選挙にいこう:2008/02/02(土) 17:10:52
ソースネクストの製品は全部やめといたほうがいい
おすすめはダイソーで売ってたエクセルの中級者用って奴
100円でも1000円でも、内容は同じ
後はマクロ覚えるか、このスレで聞くか、ぐぐったほうが早い
590名無しさん@そうだ選挙にいこう:2008/02/02(土) 17:18:14
>>589
まじですか。ダイソーでも売ってるんだ。
ちょっと試しに買ってきます。
591名無しさん@そうだ選挙にいこう:2008/02/02(土) 17:21:25
>>581
日付を入れたい範囲(すでに入っているセルもまとめて)選択してから

検索する文字列
置換後の文字列 =INDIRECT("R[-1]C",FALSE)

で、すべて置換
592名無しさん@そうだ選挙にいこう:2008/02/02(土) 17:26:12
ダイソーのってもしかして本だけ?

うーん、ビジュアルに訴えて欲しかったんで。
593名無しさん@そうだ選挙にいこう:2008/02/02(土) 17:28:47
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 使える
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel html タグ 無視 貼り付け

数十行の、htmlタグを含むテキスト(要するにソース)を、ただのテキストとして貼り付けたいです。
ふつーにソースを貼り付けると、表示形式をテキストにしててもfontとかtableとかが解釈されてしまいます。
1セルに1行毎貼り付けるとタグを解釈せずに貼り付けられるので
どうにかできるとは思うんですが…

VBAを使っての貼り付けは成功しています。
普通にCtrl+A→Ctrl+C→Ctrl+Vってやりたいだけなんです。
594名無しさん@そうだ選挙にいこう:2008/02/02(土) 17:32:52
>>591
おっ。なるほど。

でもエクセル2000では置き換えのところに数式を貼り付け出来ないのですね。
なにかマクロ登録かなにかで対策考えます。ありがとうございました。
595名無しさん@そうだ選挙にいこう:2008/02/02(土) 18:01:03
=INDIRECT("R[-1]C",FALSE) を辞書登録しておけば良いことに気がつきました。回答者の皆さんありがとう。
596名無しさん@そうだ選挙にいこう:2008/02/02(土) 18:25:17
>>570
これは?

Sub Test1()
On Error GoTo Errorhandler
Range("B2:D4").Cells.Find(Worksheets("Sheet1").Range("A1").Value).Offs
et(0, 1).Value = _
Range("B2:D4").Cells.Find(Worksheets("Sheet1").Range("A1").Value).Offs
et(0, 1).Value
Range("B2:D4").Cells.Find(Worksheets("Sheet1").Range("A1").Value).Offs
et(0, 2).Value = _
Range("B2:D4").Cells.Find(Worksheets("Sheet1").Range("A1").Value).Offs
et(0, 2).Value
Exit Sub
Errorhandler:
MsgBox "そんなの関係ない〜"
End Sub
597名無しさん@そうだ選挙にいこう:2008/02/02(土) 18:36:49
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 NO
【4 VBAでの回答の可否】 NO
【5 検索キーワード     】 挿入

例えば1行目のセルに「A」「B」「D」「F」と入力されているとします。
A列からF列を選択して「あるコマンド」を実行したら「B」と「D」の間に一列挿入され、
「D」と「F」列の間に一列挿入され、その結果、
A列セルにA
B列セルにB
C列セルにC



というように対応するようになる「あるコマンド」は何かありますでしょうか? 
598名無しさん@そうだ選挙にいこう:2008/02/02(土) 18:59:54
>>597
ないです。
599名無しさん@そうだ選挙にいこう:2008/02/02(土) 19:49:10
>>597
式をコピペできるなら
=MID(CELL("address",A1),2,1)
600599:2008/02/02(土) 19:50:13
>>597
あなたの質問の意図を勘違いしてた。忘れてくれ
601名無しさん@そうだ選挙にいこう:2008/02/02(土) 20:04:59
>>598-600

出来ないっすか。

例えば1行目のセルに「A」「B」「D」「F」と入力されているとします。

のところを

A1セルに1
B1セルに2
C1セルに4
D1セルに6

と入っているとして、抜けている3列と5列を挿入するようなコマンドなんですが。
602sage:2008/02/02(土) 20:11:02
昨日まで普通に使えていたのが、先ほどエクセルを起動しようとしたところ
インストーラーが立ち上がり、使えなくなってしまいました。
インストールCDはないので、どうしたらいいのでしょうか?
603名無しさん@そうだ選挙にいこう:2008/02/02(土) 20:11:37
失礼・・・
604571:2008/02/02(土) 20:17:55
皆さんのレスを参考に、非表示の列として日付+店舗名のデータを追加し
そのデータを検索条件にして SUMIF() で集計するように修正したところ
希望していた動作をするようになりました。
どうもありがとうございました。
605名無しさん@そうだ選挙にいこう:2008/02/02(土) 20:23:45
【質問】
「1分23秒」と書かれたセルを、「83」と変換する方法はありますでしょうか?
調べたのですが、セルに「分、秒」等の2バイト文字が入っている場合の変換方法に関しては
見つけられなかったのでお聞きしました。

10個ほどのセルなら暗算でやるのですが、これから2000個程のセルを
処理しようと考えているので…。
606605:2008/02/02(土) 20:27:38
あ!↓で見つかったかもしれないです。

○分○秒で表示したタイムを秒に変換するカンタン技
ttp://dreamy.boy.jp/kan59.htm
607606:2008/02/02(土) 20:40:27
↑のサイトの方法で、分の値は LEFT 関数と FIND 関数を用いて取り出せたのですが、
秒の値は MID 関数では下記のようにうまく取り出せません。
他の方法をご存知でしたら、教えて下さると嬉しいです

時間    分  秒
1分23秒  1  23
12分34秒 12  分3
608名無しさん@そうだ選挙にいこう:2008/02/02(土) 20:49:57
LEFT(RIGHT(B2,LEN(B2)-FIND("分",B2)),FIND("秒",RIGHT(B2,LEN(B2)-FIND("分",B2)))-1)
609名無しさん@そうだ選挙にいこう:2008/02/02(土) 20:51:09
=MID(A1,FIND("分",A1)+1,FIND("秒",A1)-(FIND("分",A1)+1))
610名無しさん@そうだ選挙にいこう:2008/02/02(土) 20:55:46
=LEFT(A1,FIND("分",A1)-1)*60+MID(A1,FIND("分",A1)+1,FIND("秒",A1)-FIND("分",A1)-1)
611697:2008/02/02(土) 20:56:10
>>608 本当にありがとうございます…!!
RIGHT 関数をいじってみても中々出来ずじまいだったので…。
感謝感激です!ありがとうございました!
612名無しさん@そうだ選挙にいこう:2008/02/02(土) 20:58:01
>>611
609と610の立ち場は?
613名無しさん@そうだ選挙にいこう:2008/02/02(土) 21:00:02
俺は>>608だが
>>609の方がスマートだな
614名無しさん@そうだ選挙にいこう:2008/02/02(土) 21:04:59
何度もありがとうございます。>>609 でもうまくいきました。
>>610 は、分の値を抜き出す部分*60+>>609 ですね。
>>610 により、一発で秒換算することが出来ました…!
本当にありがとうございました。

私が 2ch を使ってきて1年以上経ちますが、これほど素晴らしいレスを頂けたのは
ありませんでした。私がお返し出来ることはほとんどございませんが、
せめてこのスレに常駐して、質問に来た方になるべく回答していこうと思います。

駄文失礼しました
615あやか:2008/02/02(土) 21:14:41
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 ??

すみません。Excelで唐突な質問なのですが。。。

実は今、会社の売上表のデータ確認作業をしているのですが、
ある製品のみ計算式とは違う値が入っているのに気付きました。
セルには、計算式「=ROUND(0.004*A2),2」と入っているのですが、
その値が、=0.004*A2の値でないものが入っているんです。

その値は、計算式による値よりも、すべて14.925多く、
明らかに故意による操作と思われるのですが、
エクセルの機能で、計算式を表示させながら、別の値の数字を表示させるなどと
いうことは可能なのでしょうか???

どなたかご存知でしたら教えてくださいませM(__)M

616名無しさん@そうだ選挙にいこう:2008/02/02(土) 21:19:22
>>615
A2には何の値が入ってて、問題の計算式が設定されているセルには
何と表示されてるの?
617あやか:2008/02/02(土) 21:37:01
>>616 さん

返信ありがとうございます。説明が下手でごめんなさい。

この表を具体的に説明します。
正確にはA2ではなくF2列となります。

A B C D E F
注文番号 製品名 数量  単価 合計金額  手数料金額(合計金額の0.004%)

このF欄は、製品毎の売上合計金額に対して、0.004%の手数料金額の値を入力する為、
「=ROUND(合計金額*0.004,2)」 と入力し、その値が入っています。
しかし、とある製品のみ、この掛け算の値ではない数値が入っています。

この製品のみ手数料金額の値は、「=売上合計金額 /14.925」の数値なのですが、
なぜかセルにはちゃんと計算式「=ROUND(0.004*A2),2」と入っているのです。
計算式はきちんと入力している風ですが、実際の値は、通常よりも大目の値の為、
多めに手数料を支払う事となってしまいます。

エクセルの機能で、計算式を表示させながら、別の値の数字を表示させるなどと
いうことは可能なのでしょうか???




618名無しさん@そうだ選挙にいこう:2008/02/02(土) 21:49:12
値の意味よりも値が知りたい
619598:2008/02/02(土) 21:52:47
>>601
だから、できないってば。
VBAなしでどうにかしたいなら、列を挿入するんじゃなくて、値を変える事を検討したら?
=COLUMN()  と書けば、その列数を数字で取れる。
=CHAR(64+COLUMN())  と書けば、Z列までならアルファベットで取れる。
620名無しさん@そうだ選挙にいこう:2008/02/02(土) 21:59:11
>>617
特定の製品だけ、ということなら、その製品の単価に理由があるって気がする。
ちなみに、VBAが組み込まれてはしてないよね?
621あやか:2008/02/02(土) 22:02:33
>>618  さん

このある製品の手数料金額の値は
本来の計算は「=数量*単価=合計金額*0.004」の為、数量毎に違いますから一例で説明できないのですが。
共通していえることは、調査の結果、このある製品のみ
どうやら「=数量*単価=売上合計金額 /14.925」の数値がはいっているのです。
でも計算式はちゃんと「=数量*単価=合計金額*0.004」と入っている・・・って感じです。

エクセルの機能で、計算式を表示させながら、別の値の数字を表示させるなどと
いうことは可能なのでしょうか???
622名無しさん@そうだ選挙にいこう:2008/02/02(土) 22:09:57
>>621
数量と単価と合計金額の表示とセルの内容をもう一度よくチック汁
623名無しさん@そうだ選挙にいこう:2008/02/02(土) 22:10:42
分かりましたら教えをよろしくおねがいします。

ユーザーフォームを使用してリストボックス入力の際によく使う特定のデータを
表示し修正をしない場合はそのデータがセルへ入力されるようにしたい。
(デフォルト表示です)
どうすればよいのでしょうか。
1回の入力だけでなく、入力した値を更新処理し、次のデータの入力を
できるようにしたいのです。
Cells(i, 2).Value = ListBox1.List
の.Listを他のに変えて、ValueやTextでもないみたいです。
単なる、初歩的なんでしょうが、困っています。
よろしく。
624あやか:2008/02/02(土) 22:12:16
>>620 さん
返信ありがとうございます。
そうなんです。私もその製品の単価に理由があるのかと思うのですが、
この表じたいを管理しているのは上司ですが、
上司には全ての製品の手数料は0.04&と聞いています。
今確認しましたが、私がもらったファイルには、VBAは組まれていません。
この手数料欄だけは財務部担当が入力しているので、
なぜこの製品のみこのような値を入れているのかナゾなのですが。


625名無しさん@そうだ選挙にいこう:2008/02/02(土) 22:18:10
実験的に別の数値を入れてみろ
数量100 単価100 とか
626名無しさん@そうだ選挙にいこう:2008/02/02(土) 22:19:44
>>624
そのブックのバックアップを作って、自分で単価や数量を書き換えたらどうなるか調べろ
627名無しさん@そうだ選挙にいこう:2008/02/02(土) 22:21:05
説明は具体的に。
計算式はわかったから数量、単価、合計金額、計算結果をそれぞれ実際の数値で書いてみたらいい回答がつくかも。
628名無しさん@そうだ選挙にいこう:2008/02/02(土) 22:23:14
>>624
>エクセルの機能で、計算式を表示させながら、別の値の数字を表示させるなどと
>いうことは可能なのでしょうか???
この質問の回答のみが欲しくて、数値の具体例は挙げられないってこと?
そういうことは、できないはず。
とりあえず 625の言うように、簡単な数値を入れて実験してみたら?
629あやか:2008/02/02(土) 22:39:10
>>622 さん
もちろん、すべて確認済みです。
2007年度の手数料金額合計の総合計を算出するにあたって、
上司と財務がだした総合計金額と、私が関数で算出した金額が違う為、
よくよく見ると、このある製品の手数料金額のみ、
「=数量*単価=売上合計金額 /14.925」の数値がはいっているのです。
でも計算式はちゃんと「=数量*単価=合計金額*0.004」と入っているのです。

もし、このある製品の手数料金額のセルに「=数量*単価=売上合計金額 /14.925」の計算式がはいっていれば
上司に手数料金額のパーセンテージを再度確認すればよいですが、
計算式はちゃんと「=数量*単価=合計金額*0.004」を表示させながら、
大目の手数料金額値を算出しているようにみえて、上司にきけません。

エクセルの機能で、計算式を表示させながら、別の値の数字を表示させるなどと
いうことは可能なのでしょうか???
可能であれば、故意的に手数料を多めに算出をしているって事ですよね?
これって犯罪なのでは?と思ってしまっているのですが・・・。
どなたかご存知ないでしょうか?

630名無しさん@そうだ選挙にいこう:2008/02/02(土) 22:49:07
エスパーの俺が推測するとだな

数量  単価  金額   手数料
10    100   1000      4
20    100   2000      8
30    100   3000     12
ー−−−−−−−−−−−−−
60         6000     24

と、手数料金額合計が 24 とならなければいけないのに、6000/14.925の 402 が入ってるってことだな?
単なる途中の計算式誤りだよ
631名無しさん@そうだ選挙にいこう:2008/02/02(土) 22:49:48
可能かどうかだけでいえば可能
としか答えられない、原因を調べる気が無い様なので実際がどうなのかはわからない。
632名無しさん@そうだ選挙にいこう:2008/02/02(土) 22:55:55
表示に関して言えば書式設定を使えばなんとでもなる
633あやか:2008/02/02(土) 23:14:32
>>632 さん
返信ありがとうございます。
こうです。怪しい製品は、製品名Aとすると、

製品名  数量  単価  金額   手数料0.04
製品A   10   100   1000  67(計算式は=1000*0.04と表示されている。本来の値は40)
製品B   20   100   2000  80
製品C   30   100   3000  120
製品A   20   100   2000  134(計算式は=2000*0.04と表示されている。本来の値は80)
製品D 50 100 5000 200
ー−−−−−−−−−−−−− −−−−−−−
     130    13000  601 (本来、 520 であるべき)

金額の総合計金額は、間違いがありませんでした。
手数料総合計が違ったので、今回、怪しい製品Aの手数料金額を発見したのです。

あああ。どうなっているんだろう。。。
634名無しさん@そうだ選挙にいこう:2008/02/02(土) 23:20:16
その式四行分でいいから編集せずにコピペで張り付けてくれ
それで解決する
635名無しさん@そうだ選挙にいこう:2008/02/02(土) 23:22:13
四捨五入とか切り捨てとか、計算過程で誤差が出てたり。
636名無しさん@そうだ選挙にいこう:2008/02/02(土) 23:22:31
本当に怪しい物を仕込まれているなら別のソフト(OpenOffice等)でチェックすると
637あやか:2008/02/02(土) 23:24:38
>>634 さん
はい。すみません。

製品名      数量   単価   合計       手数料
TBLX     700 14.60 10,220.00 408.8
TBLA    432 19.00 8,208.00 328.32
TY-ST    20 19.00 380.00 15.2
STRING   65,330 0.0597 3,900.20 261.32

あやしい製品は、STRINGです。
638名無しさん@そうだ選挙にいこう:2008/02/02(土) 23:25:35
ついでに合計と手数料の計算式もそれぞれ4行分貼って
639名無しさん@そうだ選挙にいこう:2008/02/02(土) 23:28:04
あ、計算式いらない
65330*0.04=261.32
640名無しさん@そうだ選挙にいこう:2008/02/02(土) 23:47:58
手数料のセルの式がほしい
4つともコピーして張り付けてくれ
641名無しさん@そうだ選挙にいこう:2008/02/02(土) 23:49:51
そのシートの怪しい部分だけ新規ブックにコピペして、どっかにアップロードできない?
642名無しさん@そうだ選挙にいこう:2008/02/02(土) 23:51:27
集計のセル間違えてたのか
643名無しさん@そうだ選挙にいこう:2008/02/02(土) 23:53:15
>>639が答えだよね
644名無しさん@そうだ選挙にいこう:2008/02/02(土) 23:55:13
よし、カンで答えてみる
まず、stringの単価、これが四捨五入されて0.1になってる

つまり…
オプション→計算方法→表示桁数で計算する
のチェックを外せばすぐに解決!
たぶん。
645あやか:2008/02/03(日) 00:02:41
あああ!!みなさん、ありがとうございます!!
なぞが解けました(^^)
そんな単純な事だったなんて・・・・(−−;

よくよく見たら、この怪しい製品のみ、売上金額の*0.04手数料でなく
数量に対しての*0.04手数料みたいです。
見逃していた自分がお恥ずかしいです。

財務が間違えたとは思えないので、この製品の件、上司に聞いてみます。
みなさん、ありがとうございましたm(__)m
646名無しさん@そうだ選挙にいこう:2008/02/03(日) 00:04:24
質問者がタコだと解決に手間取ること手間取ること
647名無しさん@そうだ選挙にいこう:2008/02/03(日) 00:05:03
だからセルの式をはれば解決とあれほど
まぁ、自分の身内じゃなくて良かった
648名無しさん@そうだ選挙にいこう:2008/02/03(日) 02:29:34
>>644
すげー。エスパーだ
649名無しさん@そうだ選挙にいこう:2008/02/03(日) 08:04:18
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 フィルタ 参照 条件 IF 2つの条件

A B C
a い 赤
b い 黄       左の表を元に、下記のそれぞれH7にはAから, K10には
c い 赤       Bからリストで選択した際I10に色の名前を表示させるこ
d い 赤       とは可能ですか?
e い 白
f い 白
g い 赤 [  H7  ]       
a ろ 緑                        [  K8  ]
b ろ 緑
c ろ 緑
d ろ 緑
e ろ 黒
f ろ 緑
g ろ 緑       [  I14  ]
a は 茶
b は 茶
c は 茶
d は 青
e は 青
f は 橙
g は 紫
650649:2008/02/03(日) 08:09:28
>>649です!すみません!セル番号が間違ってましたので訂正して再質問です!
貴重なスペースを申し訳ありません!

【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 フィルタ 参照 条件 IF 2つの条件

A B C
a い 赤
b い 黄       左の表を元に、下記のそれぞれH7にはAから, K8には
c い 赤       Bからリストで選択した際I14に色の名前を表示させるこ
d い 赤       とは可能ですか?
e い 白
f い 白
g い 赤 [  H7  ]       
a ろ 緑                        [  K8  ]
b ろ 緑
c ろ 緑
d ろ 緑
e ろ 黒
f ろ 緑
g ろ 緑       [  I14  ]
a は 茶
b は 茶
c は 茶
d は 青
e は 青
f は 橙
g は 紫
651名無しさん@そうだ選挙にいこう:2008/02/03(日) 09:15:20
aい 赤

の形で表をつくっておき、

=VLOOKUP(A14&B14,表,2,0)
652名無しさん@そうだ選挙にいこう:2008/02/03(日) 09:15:41
>>650
一番分かりやすいのは、条件を一つにまとめる方法

A列の前に列挿入して、
新しいA1に =B1&C1 と入れて、A列の必要な範囲にコピー
んで、I14に =vlookup(H7&K8,リスト範囲,4,false
653649=650:2008/02/03(日) 10:58:54
>>651>>652
出来ました!
本当にどうもありがとうございました!”!!
654名無しさん@そうだ選挙にいこう:2008/02/03(日) 12:33:54
【1 OSの種類        .】WindowsXP
【2 Excelのバージョン   】Excel2003
【3 VBAが使えるか    .】初心者
【4 VBAでの回答の可否 】可
【5 検索キーワード     】VBA WebPagePreview

隠しシートの 「ブラウザでプレビュー」に関して質問があります。

「シートの再表示」→「ブラウザでプレビュー」→「シートを表示しない」
というマクロは組めるのですが、目的のシートを再表示しないまま
ブラウザプレビューをする方法はあるでしょうか?
よろしくお願いします。
655名無しさん@そうだ選挙にいこう:2008/02/03(日) 17:07:34
XwindowsXPを使っています。
デスクトップにあるエクセルのアイコンをクリックするとエクセルが開くのですが、
セルの部分が全てグレーになり入力できません。
上のバーの「開く」のところから目的のファイルを選択すると開くことができます。
いちいちこの作業をしなくてはならず面倒です。
どなたか元通りにする設定の方法を教えてもらえないでしょうか?
656名無しさん@そうだ選挙にいこう:2008/02/03(日) 17:15:54
>>589
ダイソーの100円の中級者用買ってきた。
105円だからと思って中身を確認しなかったけど、買ってきて中身を見たらほぼ100%近く知っているものばかりだったorz
657名無しさん@そうだ選挙にいこう:2008/02/03(日) 17:18:36
だから1000円の買わなくて良かっただろ?
658名無しさん@そうだ選挙にいこう:2008/02/03(日) 17:21:16
1000円のを買わなくても良かったけど、やっぱり欲しかったのは映像で教えてくれるものだと思いマスタ。
659名無しさん@そうだ選挙にいこう:2008/02/03(日) 17:21:45
中級以上ならMYCOMの「Excelの極意」シリーズなんか結構おすすめ
660名無しさん@そうだ選挙にいこう:2008/02/03(日) 17:21:51
てなわけでソースネクストのオフィスのを注文してみますた。
661名無しさん@そうだ選挙にいこう:2008/02/03(日) 17:25:47
ソースネクストのソフトは行儀悪いから気を付けた方がいいぞ
662名無しさん@そうだ選挙にいこう:2008/02/03(日) 17:40:34
ヤフオクに2,980円でDVDライブ講座の初級編なるものが出ているけど、
あれって応用編とか上級編とかあるのかな。あるなら欲しいかも。
663名無しさん@そうだ選挙にいこう:2008/02/03(日) 17:49:40
ダイソーの立ち読みしてみたけど、
ショートカットキーだけやたらと詳しいな
個人的にあのページだけ100円でも見返りはあるように思う
上級者用ってのがあったらほしい

後みんな言ってるけどソースネクストだけはやめたほうがいいよ
664名無しさん@そうだ選挙にいこう:2008/02/03(日) 17:49:44
このスレで回答しているような人ってどうやって学んだんですか?
もともとプログラマーとかの人は基本的素養があるんだろうけど、
それ以外の一般人でエクセルの達人みたいな人はどうやって学びましたか?
マメに書籍や雑誌で技を習得した?
665名無しさん@そうだ選挙にいこう:2008/02/03(日) 17:53:32
センスじゃないかな?
ある程度分ったら応用利くし
666名無しさん@そうだ選挙にいこう:2008/02/03(日) 17:53:38
アンチソースネクストの人たちって過去に何のソフトを使っていたい目にあったんですか?

自分はタイピングソフトの特打しか使ったことが無くて、特段、いや〜んなイメージは無いのですが。
667名無しさん@そうだ選挙にいこう:2008/02/03(日) 17:58:57
ソースネクストは案外馬鹿にできない。
パーティション操作とかHDDバックアップとかワクチンソフトとか、海外製のは安くて高品質なのがあったりする。
668名無しさん@そうだ選挙にいこう:2008/02/03(日) 18:02:22
これは何とか楽したいな、
と思って検索→導入の繰り返しかな

例えば月間の表を作りたいとして、2月なんかは29、30、31まで
表示されてしまう
自動でなんとかできないかと思い
月間 表 エクセル 31日
なんかで検索して、式の意味を理解して…
っての繰り返しかなぁ
マクロも覚えるより先にサンプルをコピペして使ってから意味覚えたし

ifとvlookupだけ押さえておけばかなり応用はきくね
あと一番大事なのは検索する語句のセンスかもな
669名無しさん@そうだ選挙にいこう:2008/02/03(日) 18:02:46
>>663
確かにショートカットキーは覚えると便利なのもありますね。

そのショートカットキーですが、

CTRL+0 で非表示になりますけど、CTRL+SHIFT+0で表示らしいですが、実際にやってみると表示にならんのですが。
カーソルをどこかに置く必要があるんですかね?
670名無しさん@そうだ選挙にいこう:2008/02/03(日) 18:09:45
EXCELの各バージョンのシェアってどんなもんですかね?
このスレの質問者の割合を見ると

EXCEL2003 4割
EXCEL2007 3割
EXCEL2000 2割
その他 1割

みたいな感じ?うちは貧乏なんで2000です、はい。
671名無しさん@そうだ選挙にいこう:2008/02/03(日) 18:11:46
EXCEL上達方法について
一度EXCELから離れてデータベースに触れてみたらいいよ。
データの正規化とか結合を知る前と後ではデータに対する感性が変わると思う。
672名無しさん@そうだ選挙にいこう:2008/02/03(日) 18:12:16
pcに疎い人向けにどうしようもないアプリ売り付けすぎ
>>667
フリーで十分じゃね
>>669
非表示にした後カーソルを動かさなければ再表示できる
一度動かすと、その左右の列をドラッグしてからじゃないと戻せない
A列の場合はctrl+Aかジャンプで指定しないと戻せないかも
673名無しさん@そうだ選挙にいこう:2008/02/03(日) 18:17:07
>>671
データベースのお奨めは?
674名無しさん@そうだ選挙にいこう:2008/02/03(日) 18:19:10
つか、データベースソフトって高いのな。イパーン人ユースとは違うのね。
675名無しさん@そうだ選挙にいこう:2008/02/03(日) 18:19:41
>>670
自宅が2000、仕事が2003、良く使う別の席が2007
となってます
バージョン違うとものすごい勢いでマクロが誤作動起こすんだよなぁ
676名無しさん@そうだ選挙にいこう:2008/02/03(日) 18:21:17
>>675
操作でとまどいません?特に2007って結構変わってますよね。
677671:2008/02/03(日) 18:21:40
>>673
何でもいいよ。ACCESSでもいいんじゃない?

データベースを体験するとEXCEL使うときでもデータをリスト形式で扱うようになる。
vlookup()なんてデータベースでいう結合の代替品みたいな機能だとわかる。
678名無しさん@そうだ選挙にいこう:2008/02/03(日) 18:24:07
MS-DOSなLOTUS1-2-3の時代から表計算ソフト使っていたのに、vlookup関数から先が理解出来ていなかった。
中級者と上級者の壁だと思う。いや万年初心者と中級者の壁か。
679名無しさん@そうだ選挙にいこう:2008/02/03(日) 18:24:59
実務ならなんだかんだでアクセスだろう
ファイルメーカーなら試用期間もあるし使いやすいんだけどね
なんにしろ、一度ちゃんと使えば一つのシートに
複数のデータベースを入れるとかはなくなるだろう
>>676
細かいところがかなり変わってるよな
一言でいうと、使いにくい
無理に変えなくていいのに…
680名無しさん@そうだ選挙にいこう:2008/02/03(日) 18:27:36
ACCESS高いよ。googleの無料オフィスにあるやつで十分
681671:2008/02/03(日) 18:28:24
リスト形式
並べ替え
SUM()関数
オートフィルタ
ピボットテーブルレポート

これだけ覚えればいい。
たまにMID()とかLEFT()なんかの文字列操作関数が役に立つ。
SUMIF()とかはあんまり役に立たないので覚えなくてもいい。
682名無しさん@そうだ選挙にいこう:2008/02/03(日) 18:28:46
昔、MS-DOSの頃かな?F1DATABOXなる素人でも使えそうなデータベースソフトは使ったことがあります。
その後、馬鹿でも使えるようなデータベースソフトって生き残って無いですよね?
アクセスは簡単な部類なのかもしれんけど、やっぱり俺的には難しく感じた。
683671:2008/02/03(日) 18:30:17
ごめん。vloolup()を忘れていた。

リスト形式
並べ替え
SUM()関数
オートフィルタ
vloolup()
ピボットテーブルレポート

これだけ覚えればいい。
たまにMID()とかLEFT()なんかの文字列操作関数が役に立つ。
SUMIF()とかはあんまり役に立たないので覚えなくてもいい。
684名無しさん@そうだ選挙にいこう:2008/02/03(日) 18:39:47
>>683
ありがとうございます。
そうやって限定されると覚える意欲も沸いてきます。
さっそくオートフィルタを使えるようになりました。(最初の設定だけだけど)。
確かに絞り込み出来て便利かも。
685671:2008/02/03(日) 18:43:56
次はピボット覚えたらそれでおしまい。
EXCELなんてそれだけで9割OKです。
がんばって。
686名無しさん@そうだ選挙にいこう:2008/02/03(日) 18:46:32
【1 OSの種類        .】Windows2000
【2 Excelのバージョン   】Excel97
【3 VBAが使えるか    .】使えません
【4 VBAでの回答の可否 】可
【5 検索キーワード     】セル 参照 シート 変える 条件

初歩的な質問だったらすいません。
条件によって参照するシート先を変えたいのですが、関数で処理はできますでしょうか。

例えば、sheet1のa1に「現金」とある時に、b1に「現金」シートのb1を表示すると言ったことを考えています。
ただし、sheet1のa1は計算結果によって様々に変わるため、b1に直接「=現金!b1」と書き込むことはできません。
また、該当するシートがないときにはエラーを返すことを考えています。

よろしくお願いいたします。
687名無しさん@そうだ選挙にいこう:2008/02/03(日) 18:47:58
とある会計ソフトから出力されるテキストファイルの日付の部分が
"20080125"という形式なのですが、そこから年、月、日をセル分けしたいのですが、可能ですか?
=YEAR( ) や=MONTH()では駄目なようです。
688名無しさん@そうだ選挙にいこう:2008/02/03(日) 18:54:48
ああ、こういう時にLEFTとかRIGHT関数を使えば良いのか。。
689671:2008/02/03(日) 18:59:51
>>688
そういうことです。
あとはオートフィルタで年別,月別に抽出したり,ピボットテーブルで集計するんです。
690名無しさん@そうだ選挙にいこう:2008/02/03(日) 19:01:23
>>686 INDIRECT()を使用
691名無しさん@そうだ選挙にいこう:2008/02/03(日) 19:03:50
どれも組み合わせなんだよな
ただ、その部品を知らないとできないんだけど

あとこのスレで解答してると色んなケースに対応できるようになる
かも
692名無しさん@そうだ選挙にいこう:2008/02/03(日) 19:04:54
>>689
どもども。
LEFT関数とRIGHT関数を知っただけでもダイソー105円の価値はありますた。
693名無しさん@そうだ選挙にいこう:2008/02/03(日) 19:08:17
>>687
文字列として取り込んで、[データ]-[区切り位置]で固定長で4文字・2文字・2文字で区切ればいけるよ
694671:2008/02/03(日) 19:09:11
>>686
質問に対する直接の回答は>>690さんのでいいでしょう。
ただ,このような変わったテクニックでしか運用できない表はデータのモデルに問題があると思います。
「なんちゃらSQL入門」のようなデータベースの教科書を読んでみることをおすすめします。
695名無しさん@そうだ選挙にいこう:2008/02/03(日) 19:09:27
>686
回答を返すシートのA1セルに 値の入っているシート名
回答を返すシートのB1セルに =INDIRECT(A1&"!A1")

エラー処理をするなら、B1セルにISREF関数を組み合わせる。
696名無しさん@そうだ選挙にいこう:2008/02/03(日) 19:11:21
バカじゃねーか
参照するテーブルやビュー変えるのと一緒の事だろ
DB本読んでる自分が好きなだけなアホだな
697671:2008/02/03(日) 19:14:08
>>696
そういやそうか。
ご指摘ありがとう。
698名無しさん@そうだ選挙にいこう:2008/02/03(日) 19:15:12
うん、DB形式がとてつもなく効率的なのは確かだけど
他人の、しかも見てもいないやり方にケチをつけるもんじゃ無いと思う。

>687
典型的。A1セルに値があるとして、
年、月、日の順に
=LEFT(A1,4)
=MID(A1,5,2)
=RIGHT(A1,2)
699名無しさん@そうだ選挙にいこう:2008/02/03(日) 19:17:56
でも見なくても分かるっしょ
そういうのは1から俺が作ってやるぜ!
といいたい
700名無しさん@そうだ選挙にいこう:2008/02/03(日) 19:18:04
>>693
なるほど〜。そんな方法もありましたか。
701671:2008/02/03(日) 19:18:17
>>698
そうですね。反省。
702名無しさん@そうだ選挙にいこう:2008/02/03(日) 19:20:07
>>698
=MIDなんてのもあるんですね。
自分は=LEFT(RIGHT(A1,4),2)なんてことを考えていました。
でも区切った方が楽っぽい。
703名無しさん@そうだ選挙にいこう:2008/02/03(日) 19:21:19
>>690
>>694
>>695
indirectで解決しました。
表の形式は、実のところ勘定元帳の形式を崩したくないだけだと思うのですが
自分の一存では何ともなりませんで……。
大変有り難うございました。
704名無しさん@そうだ選挙にいこう:2008/02/03(日) 19:21:55
こんな感じで、色んなやり方を覚えれるのがこのスレのいいところ
ちなみに俺は
>>698に近いけど真ん中が
=right(left(a1,6),2)
って作った
midシラナカッタゼ
705名無しさん@そうだ選挙にいこう:2008/02/03(日) 19:25:41
バカが調子づいて嘘教えなきゃな
706名無しさん@そうだ選挙にいこう:2008/02/03(日) 19:28:41
たまに動かないマクロとか置いてあるけどあれはさすがになぁ
ただ情報はどんどん出していってくれたほうが嬉しいぜ
707名無しさん@そうだ選挙にいこう:2008/02/03(日) 19:31:57
left right mid を今知ったという人に蛇足
半角・全角を区別せずに1文字でカウントしてます。

めったにないとは思いますが、半角(1バイト文字)で何文字相当という指定をするときは
leftb rightb midb と b を付けます。
これは len find でもいっしょです。
708名無しさん@そうだ選挙にいこう:2008/02/03(日) 21:08:32
「動かない」と「動かせない」は別物だと思うけどなw
  ↑       ↑
マクロに問題  動かす奴の頭に問題
709名無しさん@そうだ選挙にいこう:2008/02/03(日) 21:10:13
【1 OSの種類        .】WindowsXP
【2 Excelのバージョン   】2000
【3 VBAが使えるか    .】使えません
【4 VBAでの回答の可否 】否
【5 検索キーワード     】文字列 数値

A1セルに例えば「1」と入力し(数値)、

B1セルにA1セルの数字+月分を表示させるにはどうすれば良いのでしょうか?つまりB1セルに「1月分」と表示させたいのです。
710名無しさん@そうだ選挙にいこう:2008/02/03(日) 21:18:46
B1セルに、
=A1&"月分"
711名無しさん@そうだ選挙にいこう:2008/02/03(日) 21:27:48
>>710
&ですか〜。dくす
712名無しさん@そうだ選挙にいこう:2008/02/03(日) 21:30:46
オートフィルタなる便利な機能を覚えたらプルダウンメニューの中に降順、昇順の並べ替えがあったら便利だな。と
思ってググったら2003以降の機能ですか。2000じゃ手も足も出ないですかね?


「オートフィルタのプルダウンメニューの中の『昇順で並べ替え・降順で並べ替え』オプションは
Excel2003以降の新機能」
713名無しさん@そうだ選挙にいこう:2008/02/03(日) 21:49:14
>>712
vbaでなら可能
714名無しさん@そうだ選挙にいこう:2008/02/03(日) 22:02:54
>>713
追加ボタンでそういうの無いですかね
715名無しさん@そうだ選挙にいこう:2008/02/03(日) 22:09:24
>>714
普通にフィルター掛けた後に並び変えたらイイのでは??
面倒?
716名無しさん@そうだ選挙にいこう:2008/02/03(日) 22:14:47
並び替えてからフィルターかけてもいいな
717名無しさん@そうだ選挙にいこう:2008/02/03(日) 22:37:29
【1 OSの種類        .】WindowsXP
【2 Excelのバージョン   】Excel2000
【3 VBAが使えるか    .】ちょっと
【4 VBAでの回答の可否 】可

15000行くらいの不要なデータを行で削除したら図形が入ってて、
ドット状のゴミが多数残ってしまいました。
これらを奇麗さっぱりと取り除くにはどうすればいいでしょうか?
718名無しさん@そうだ選挙にいこう:2008/02/03(日) 23:07:17
>717
[F5] > "セル選択" > "オブジェクト" > "OK" > [Delete]

[]内はキーボードのボタン。
719名無しさん@そうだ選挙にいこう:2008/02/03(日) 23:12:55
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可


郵便番号  営業担当    
-----------------
160-0001   A        左記のような約6000通りの営業担当地域表データを元に、
160-0002   A        VLOOKUP関数で顧客データの郵便番号から
160-0003   B        担当を割り出そうと考えています。
160-0004   C        心配なのが、データ量が多くて重くならないか?
160-0005   C        という点です。
160-0006   B          
160-0007   C        ▽関数で他にいい手段はないか?
160-0008   D        ▽VBAならどう書けばよいのか?
  ・       ・        ▽どれくらい重くなるものなのか?
  ・       ・       これだけのデータ量を扱うのは未知の領域なので、
計6000行            お知恵を拝借させてください。
720名無しさん@そうだ選挙にいこう:2008/02/03(日) 23:29:02
VLOOKUPするだけならなんら問題なし。
721名無しさん@そうだ選挙にいこう:2008/02/03(日) 23:48:33
入力した数字に×1.05(消費税)
で入力したいのですが、
どのようにしたらいいのでしょうか?
(数字入力時に税込み表示にしたいのです)
722名無しさん@そうだ選挙にいこう:2008/02/04(月) 00:03:10
できません。入力セルと表示セルを分けてください。
「形式を選択して貼り付け」で1.05を乗算でペーストする方法もあるにはあるけど。
723名無しさん@そうだ選挙にいこう:2008/02/04(月) 00:11:32
>721
作業するシートを開き、[Alt]+[F11]を押すと、VBEが起動する。
さらに[F7]を押すと真っ白なコードウインドウが表示されるので、
以下のコードをそのまま貼り付ける。
作業シートに戻って数字を入力すると…?

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Selection.Value = Target.Value * 1.05
Application.EnableEvents = True
End Sub
724723:2008/02/04(月) 00:16:06
ごめ 修正した
>721
作業するシートを開き、[Alt]+[F11]を押すと、VBEが起動する。
さらに[F7]を押すと真っ白なコードウインドウが表示されるので、
以下のコードをそのまま貼り付ける。
作業シートで数字を入力する。

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Target.Value = Target.Value * 1.05
Application.EnableEvents = True
End Sub
725名無しさん@そうだ選挙にいこう:2008/02/04(月) 00:25:20
>>721
イベント処理ってのを検索して勉強すればいいよ
726名無しさん@そうだ選挙にいこう:2008/02/04(月) 00:37:07
>>721
>>724のコードの1行目と2行目の間に
  dim myrng as range
  Set myrng = Intersect(Target, Range("$B$1:$B$10"))
       If myrng Is Nothing Then exit sub
といれればこのマクロが動く範囲を指定できます。
Range("$B$1:$B$10")の所を好きな範囲に置き換えてください。
727名無しさん@そうだ選挙にいこう:2008/02/04(月) 01:47:26
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000 (9.0.3821 SR-1)
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel 軸 長さ

お邪魔します。質問させてください。
検索したら6年位前のスレで同様の質問があったのですが、回答はなくこちらへ誘導されていました。


散布図を作成した時、y軸の名前が途中で途切れてしまいます。
y軸名を
Concentration of NaOH[μM]
などとすると、"M"の途中あたりで表示が途切れ見えなくなってしまいます。
"]"の後半角/全角スペースを入れても改善されませんでした。
とりあえず白い文字で"a"を追加し
Concentration of NaOH[μM] a
とし、その場しのぎは出来ましたが、もう少しちゃんとした対応策を知りたいです。
軸名欄の長さをもっと長く出来ればよいのですが、プロット欄やグラフエリアのようにマウスで引き伸ばすことは出来ませんでした。
よい解決法をご存知の方回答宜しくお願いします。
728名無しさん@そうだ選挙にいこう:2008/02/04(月) 01:54:53
>>727
2002では改善されてる

よく分からんがフォント変えてみたら?
729727:2008/02/04(月) 07:26:46
>>728
レスありがとうございます。
フォントはTimes New Romanを用いていました。
ためしにArialにしたら無事納まりました。
でも、残念ながらフォント指定なんです。
そして、別のグラフでもう少し長い文字列をは白文字の"a"でも改善されないものも出てしまいました。

どなたか改善策をご教授おねがいします。
730名無しさん@そうだ選挙にいこう:2008/02/04(月) 07:28:47
>>729
っ[テキストボックス]
731名無しさん@そうだ選挙にいこう:2008/02/04(月) 11:57:15
>>687
>>693
区切り位置の固定長を使用するのは同意だけど
4,2,2で区切るとセルが分割されちゃうじゃん
区切らず次へ進んで、最後の列のデータ形式でYMDを選択すれば
セル分割せずにそのままシリアル値に変換できる
732質問した本人:2008/02/04(月) 12:29:02
>>731
セルが分割された方が良かったんで好都合っす。
733731:2008/02/04(月) 12:31:51
>>732
最初の質問文を読み飛ばしてたわ
すまんす
734名無しさん@そうだ選挙にいこう:2008/02/04(月) 14:02:43
オフィス2003です。
セルに 22−1 と入力すると,勝手に「1月22日」と置き換えやがります。
22−1のままにしたいのですが,,どうしたらよいでしょうか。
735名無しさん@そうだ選挙にいこう:2008/02/04(月) 14:05:24
>>734
入力する範囲の書式を、あらかじめ[文字列]にしてから入力する
736名無しさん@そうだ選挙にいこう:2008/02/04(月) 14:07:10
>>734
あるいは、’22−1と入力する。
737名無しさん@そうだ選挙にいこう:2008/02/04(月) 14:09:26
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい

エクセルで作ったセル内の複数行あるテキストを、ワードの新規ドキュメントを開いたうえで、
最初の行に貼り付け、ワードのマクロを実行させたいと考えています。

テキストはa として、chr(10)で改行しているので、ワードでは都合が悪いので、

replace(a,chr(10),chr(13))

・・・以降がわかりません。
どなたかご教授下さい。

738737:2008/02/04(月) 14:25:28
すいません、少し訂正します。
セル内に貼り付けると自動的にchr(10)になるようなので、変数のままで貼り付けたいと思います。

v = replace(a,chr(10),chr(13))

以降がわかりません。
vをテキストのソースとして、以降どう書けばよいのでしょうか。

word側のマクロは”作成”です。
739名無しさん@そうだ選挙にいこう:2008/02/04(月) 14:28:04
>>737
どうしたいのかが良く伝わらないが、a の改行コードを変えたいのなら
 a = replace(a, vbLf, vbCrLf)
で良いと思われ。
740名無しさん@そうだ選挙にいこう:2008/02/04(月) 15:39:24
>>739
ありがとうございます。

chr(10)をchr(13)に変換したあと、

1.ワードを起動(新規ドキュメント)
2.v(変換後のa)を先頭行に貼り付け
3.ワード側のマクロ、「作成」を実行

の3ステップをふみたいのです。
今手元にある本ではワードの操作方法がまったくわからないので、ここで質問させていただいております。
引き続き、ご存知の方のご教授を求めたいと思います。
741名無しさん@そうだ選挙にいこう:2008/02/04(月) 15:57:19
>>740
ワード側のマクロ(VBA)で、エクセル開いちゃダメなの?
コード的には、そっちの方が分かりやすいんじゃないだろか。
742名無しさん@そうだ選挙にいこう:2008/02/04(月) 16:49:58
エクセルのセルをコピー、ワードに貼り付け
右下の貼り付けオプション(っていうのか知らんけど)をクリックしてテキストのみ保持、
じゃダメか?
743名無しさん@そうだ選挙にいこう:2008/02/04(月) 17:05:18
【1 OSの種類         .】 WindowsXP pro
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ

これからエクセルを覚えていこうと思っています。
検索では「できるエクセル」的な本が見つかりましたがなにかお勧めが
ありましたら教えてください。
学習期間は1月で関数を使った作業ができるまでを目標としています。
744名無しさん@そうだ選挙にいこう:2008/02/04(月) 17:25:45
とりあえずA1に5、B1に3と入れて
C1に=A1+B1と入れてみると、セル同士の意味が理解出来ると思う
=A1-B1や、=A1*b1、=A1/B1なんかも試してみて
次はsum関数
D1に=sum(a1+b1)
次は関数で範囲選択
E1に=sum(a1:b1)
と入れてみる
これだけでも実務でかなり役立つ
後は実務で直接使うほうが早く覚えられるかなぁ
それと罫線の引き方とセルの色付けは覚えておいたほうがいい
あとは100レスぐらい上で必要な式を色々言ってたと思う
745名無しさん@そうだ選挙にいこう:2008/02/04(月) 17:25:54
>>743
関数が使えるように、というのが設定目標であれば、
定番の関数の使い方に触れている本なら何でも良い(安いものがおすすめ)と思う。
自分のレベルにもよるだろうけど、図解が多かったり、
Howより WHY を重視してる、解説の多い本のほうが役に立つかもね。
それで基本が習得できれば、あとは作業の都度F1キーを押すだけで事足りるw
746名無しさん@そうだ選挙にいこう:2008/02/04(月) 17:43:50
F1のヘルプってある程度慣れないとさっぱりわからんよな
マクロに手を出すころには重宝するんだけど

未だにvlookupの引数の順番間違えるぜ
747名無しさん@そうだ選挙にいこう:2008/02/04(月) 18:26:08
>>746
2000ユーザーか?
そういうあなたにはCtrl + Shift + a
2002以降は下に自動で表示されるが。
748名無しさん@そうだ選挙にいこう:2008/02/04(月) 19:06:58
Excel2003です
XPです

マクロ初新者です

足し算のマクロなんですけど
行がどこまで行くかわからないことを前提で

合計を出したいセルから実行して
一個上に移動したところから A1までというマクロを作りたいのですがうまくいきませんよろしく御願いします
(A列での入力 合計です)



1個上は相対参照 A1は絶対参照になり うまくいきません

一応 足し算だけでなくその先にいろいろな処理を考えています
ここでつまずいてしましました

よろしく御願い致します 
749名無しさん@そうだ選挙にいこう:2008/02/04(月) 19:13:34
>>748
足し算の関数式(=SUM)をセルに入力したいのか?
足し算の結果(和)だけがセルに入力されればいいのか?
それによって回答も違ってくるが
750名無しさん@そうだ選挙にいこう:2008/02/04(月) 19:13:36
2003+xp vbaでの回答を求む。各行のデータ値を削除したいのだが、・・・

行には次の3種類があります。
@ドロップダウンリストで入力するセル A関数の入っているセル Bデータ打ち込みセル
""で置換すると関数までが消えてしまうのでclearcontentsを使ったら、ドロップダウンリスト入力のリストが消去された。
値だけを消去する適切な文を教えてほしい。
751名無しさん@そうだ選挙にいこう:2008/02/04(月) 19:15:37
ソースネクストのが今日届きマスタ。
一通り見てみたけど、裏技のと関数のだけで良かったかな。
本当はVBAの初歩の部分まで扱って欲しかったけど。
http://www.sourcenext.com/products/toku_excel_kansu/
俺と同じレベルの人は関数だけでも買うと良いかも。
752名無しさん@そうだ選挙にいこう:2008/02/04(月) 19:16:54
ああ、関数+裏技で2,970円の達人パックってのがあるんだ。個人的にはそれだけで良かった。
753名無しさん@そうだ選挙にいこう:2008/02/04(月) 20:22:50
Range("A1").Interior.ColorIndex = 6

↑のように色をつけるVBAを使ってるんですが
このカラー番号の一覧みたいのはないでしょうか?
灰色25%よりもう少し薄いの(20%か15%くらい)を設定したいです。
754名無しさん@そうだ選挙にいこう:2008/02/04(月) 20:27:25
Excel ColorIndex でぐぐればすぐ見つかるとおも
755名無しさん@そうだ選挙にいこう:2008/02/04(月) 20:50:00
>>749 様

一応 関数式=SUM( )で入力してやったのですがうまくいきませんでした
=SUM(相対対象のセル:絶対対象のセル)
みたいに自動記録でやろうと思ったんですけどだめでした

数式として入力したいです


よろしく御願い

 

756名無しさん@そうだ選挙にいこう:2008/02/04(月) 21:21:15
>>749
Sub Macro1()
ActiveCell.Formula = "=sum($a$1:" & ActiveCell.Offset(-1, 0).Address & ")"
End Sub
757756:2008/02/04(月) 21:22:27
アンカーミスすんません
>>749じゃなくて
>>748
758743:2008/02/04(月) 21:31:41
>>744-745
レスありがとうございます。
早速アマゾンでこの二冊をポチって来ました。
・速効!パソコン講座 エクセル―Excel 2003&2002版WindowsXP対応
・やさしくわかるExcel関数・マクロ 改訂版 (Excel徹底活用シリーズ)

また教えていただくことがあるかも知れませんがそのときはよろしくお願いします。
どうもありがとうございました。
759名無しさん@そうだ選挙にいこう:2008/02/04(月) 21:51:39
>>758
大体のテキストはボタンをクリックして操作する方法の説明になっていると思います。
最初はそれで覚えたほうが最低限の操作を早く覚えられますが、そのあとはALTメニュー(上の「ファイル(F)」とか)から操作するように癖をつければ、
 ・操作が速くなる(Alt E I S  Enter で連続データ入力完了とか)
 ・関連する機能がメニューに表示されるので多くの機能が学べる
とか結構メリットがありますよ

あと、意外と知らないのがShift+F1のポップヒント
カーソルのデザインが変わるので、気になる部分をクリックしてみましょう
760名無しさん@そうだ選挙にいこう:2008/02/04(月) 22:57:13
tiik
761名無しさん@そうだ選挙にいこう:2008/02/04(月) 23:05:52
お世話になります。

今VBAを覚えようとしています。
手作業で行うのがしんどいので、VBAを使おうということで、初めてVBAに触っています。
目的の機能を使えるようになるまで気が遠いので、少しアドバイスください。

【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 いいえ(今勉強始めたところ)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】何で検索したらいいかわからないので、vba excelで入門を試しています
【購入図書】やくわかるExcelVBAプログラミング

表の中の特定の項目名に属する、数値(整数)のみの総和を求めるマクロを作りたいです。
項目名の下を探索しながら、加算していくのかとかんがえているのですが、手を付けたばかりで範囲指定をどうすればいいか見当が付けられません。
力添えいただけませんか。
セルには空白や文字列が含まれる可能性があるのですが、注意する必要はあるでしょうか。
(文字列は、無理であれば、考えなくてかまいません。元のデータに文字列が入らないようにします。)

また、特定の項目名のセルの位置は今後列番号が変更される可能性があり、上記が出来るようになったら、その対応もする予定です。

情報不足あるでしょうか。
よろしくお願いします。
762名無しさん@そうだ選挙にいこう:2008/02/04(月) 23:12:43
>>761
どっちが主目的?
1.とにかくVBAを覚えたい
2.項目別に集計したい
763761:2008/02/04(月) 23:15:36
>762
761です。

2.です。
2を行うためにVBAを覚えようとして、途方のなさに泣き入っていました。

力添え、よろしくお願いします。
764名無しさん@そうだ選挙にいこう:2008/02/04(月) 23:17:10
>>763
ピボットテーブルで検索してみてください。
VBAで同じことやるのは案外面倒です。
765名無しさん@そうだ選挙にいこう:2008/02/04(月) 23:18:09
>>761
vba勉強する気持ちを持っているのは素晴らしいことだと思うが、
sumifでなんとかなるような気がする。
766フ61:2008/02/04(月) 23:21:17
>>762
フ61です。

1.です。
取り急ぎ2を行う必要があるのですが
今後のために、VBAをしっかり覚えたいと思っています。

力添え、よろしくお願いします。
767名無しさん@そうだ選挙にいこう:2008/02/04(月) 23:22:53
>>766
だまされないぞ。
768名無しさん@そうだ選挙にいこう:2008/02/04(月) 23:30:28
どこまで作ったのかな?

ところで、検索項目は一定なのか毎回変わるかも良く分からない。
項目の範囲を取得して、指定した項目のセルのアドレスなり位置が取得できるか。
話はそれからでも遅くない。
769名無しさん@そうだ選挙にいこう:2008/02/04(月) 23:31:03
ちなみに SUM()のセル範囲に文字列があってもエラーにはならない
いちばん簡単なのはピボットテーブル つぎはSUMIF つぎはDSUM つぎはSUMPRODUCT
770名無しさん@そうだ選挙にいこう:2008/02/04(月) 23:34:48
急ぐなら関数で結果を出してから
VBAは後でのんびり覚えればいいんじゃないの?
771761:2008/02/04(月) 23:37:39
情報いろいろありがとうございます。

あまり多く書くと読みたくなくなると思い、一部端折っていました。

『必要に応じてブックをアップすること』:ブックのアップはどのような手段があるのでしょうか。
(ネタの本物は出せないのですが、似たフォーマットの、別の値のファイルを見てもらえれば…。)

鬼のような量のExcelファイルとシートがあって、
その中の、ファイル名・シート名・特定セルの値・と761の計算結果、を
ひとつのファイルに出力するのが、最終目標です。(会社の資料なのですが。)

現在、過去に誰かが、計算結果以外に関するマクロを作ってあって、
自分がそれを読んでどういう処理か確認しました。
初めてなもので、理解に時間がかかったのですが、ステップイン実行のおかげである程度読めて、
あとは761を実装するところとなったのですが、
『表の中の、特定の範囲の、値の中で数値のみの、総和を求める。』の手段について、
本を参照しても、見つけることが出来なかったため、相談させていただきました。

BOOKは複数あります。ただし、ひとつのフォルダの中にあり、サブフォルダは存在しません。
BOOKはシートを複数持ちます。
シートは、ひとつのテーブルとテーブルの説明情報(コメント)を持ちます。

これで、ほとんどすべてと思います。
772名無しさん@そうだ選挙にいこう:2008/02/04(月) 23:37:43
一番役に立つのもピボットテーブルでしょうね。
集計結果をダブルクリックしたらその部分だけの明細まで出てくるし。

SUM系関数のテクニック駆使したり,VBAで一生懸命自作するのはあほらしい。
773名無しさん@そうだ選挙にいこう:2008/02/04(月) 23:53:43
>>771
BOOKが複数あるならピボットテーブルが一番いいと思うよ。

どんなシートになっているかは知らないが
特定範囲の値を配列に入れて順に判定して行き
数字だったら加算するようにするのかな…と想像してみる。
774名無しさん@そうだ選挙にいこう:2008/02/04(月) 23:56:04
>>761
個人的に、色々なマクロを作る際の土台としてるものをあげよう
A列+B列をC列に表示、A列の行数だけ続けるってやつな

Dim gyo As Long
gyo = Range("$A$65536").End(xlUp).Row
For i = 1 To gyo
Range("c" & i).Value = Range("a" & i).Value + Range("b" & i).Value
Next
End Sub

ある程度覚えれば、スゲー応用効くぜ
775737:2008/02/05(火) 00:07:50
>>741
じつは諸々の事情がありまして、そういうわけにもいかないのです。

どなたかご存知ありませんか?

ワードとエクセルの連携に言及した本がなかなか見当たらなくて弱っています。

できるのかできないのか、まずわからないといった状況で・・・。
776名無しさん@そうだ選挙にいこう:2008/02/05(火) 00:09:24
なんとなくだけど、このスレにいる人はほとんどワードさわらないと思う
アクセスならまだあるかもしれないけど
一言断って、プログラム板のVBAスレいってもいいかもな
777761:2008/02/05(火) 00:10:13
761です。

ピボットテーブルは、複数のシートにも適用できるのですか。
まったく想定外でした。

>768
>ところで、検索項目は一定なのか毎回変わるかも良く分からない。
読み込むxls形式のファイルは、すべてフォーマット同じなので、
項目名が書いたセルは、毎回同じです。
ただ、変更の可能性があるのですが、変更があったら、マクロを書き直します。
項目名の位置は、Constで固定値を指示しようと思います。

c言語っぽく書くと、
const koumokumei_no_ichi = h10
summation = 0
for(i=0;i<範囲;i++){
summation = Range("h10"+i) + summmation   ※1
}
みたいなことをやれればなぁ、みたいな…。

ほかは何とかがんばって、Netか本から見つけるとして、
※1の行の書き方を、教えていただけると、激しく時間短縮できるのですが。
( ファイル名、シート名に関しては、後から自力で加えるので、
( 行の移動の仕方(+iとか適当に書いている場所)と
( 式の文法、オブジェクトの指定の仕方を って調子よすぎですか。すみません。)
778名無しさん@そうだ選挙にいこう:2008/02/05(火) 00:10:19
779名無しさん@そうだ選挙にいこう:2008/02/05(火) 00:17:09
>>777
summationは変数?

summation = Cells(i, j).Value + summation

みたいな?
780名無しさん@そうだ選挙にいこう:2008/02/05(火) 00:20:00
>>777
こんな感じ?
Set myrange = Range("h10")
For i = 0 To imax 'imaxは範囲内のセルの数
myval = Offset(myrange, i, 0).Value
If IsNumeric(myval) = True Then
    summation = Offset(myrange, i, 0).Value + summmation
End If
範囲が1列の場合はこうかなと
781780:2008/02/05(火) 00:24:27
適当に書いてチェックしなかったら間違いすぎだorz

Set myrange = Range("h10")
imax = 5
For i = 0 To imax
myval = myrange.Offset(i, 0).Value
If IsNumeric(myval) = True Then
    summation = myval + summmation 'test
End If
Next i
782名無しさん@そうだ選挙にいこう:2008/02/05(火) 00:24:45
>>753
RGB関数のがてっとりばやい。自分で好きな色が作れる。
783761=777:2008/02/05(火) 00:31:24
>779
付き合ってもらってありがとうございます。感謝しています。

>summation = Cells(i, j).Value + summation
これを使わせてもらおうかと思うのですが、
たぶん後々、マクロの変更をするときに、Rowの数字と、Colの数字を、Constしたら、
コメントを書いても醜いと思うんです。
たとえば、"J20"から、列:10、行:20、を分離するにはどうすればいいでしょう。
const koumokumei_no_ichi = J20
...
summation = cells( bunnri_col(koumokumei_no_ichi),bunri_row(koumokumei_no_ichi) ).value + summation
...
逆に醜いか…?
Range(koumokumei_no_ichi).row
Range(koumokumei_no_ichi).col なのかな。今まさにコード入れて試します。
すれ汚しすまんせん。
784名無しさん@そうだ選挙にいこう:2008/02/05(火) 00:41:13
>>783
Const koumokumei_no_ichi = "J20"
ですね。
それと
Range(koumokumei_no_ichi).Column
ですよ。
785名無しさん@そうだ選挙にいこう:2008/02/05(火) 01:12:13
EXCEL VBAを動画で解説してくれるような教材無いですかね。
ググると2万円台の高いのしか見つからないのですが。
786761=777:2008/02/05(火) 01:14:38
皆さんありがとうございます。
777とかです。

>784
はい、問題でした。
実行結果がおかしかったのと、エディタが教えてくれて気がつきました。

>781
神!光が…

>774
返信遅れました。
読んでます。ありがとうございます。
>Range("c" & i).Value = Range("a" & i).Value + Range("b" & i).Value
『"c" & i』。これは、"c4"とか文字列を作成しているのですよね?
>gyo = Range("$A$65536").End(xlUp).Row
これがかなり難解なのですが、
…ちょっと考えたり、実行してみます。
xlUpなどのxlは、何の略なのでしょう。
excelの略のような検索結果もあったのですが、意味は何なのでしょうか。
787761=777:2008/02/05(火) 01:41:47
>774
感動した!
きっと、この一連で、何気に『.End(xlUp).Row』この辺りを教える目的ですかぁ!

しかし2点疑問が。
Dim gyo ということは、配列なのですよね?
それともAsをするためにDimなのでしょうか。
Asするには、要素一個のDimが必要ということで?

『"$a$65536"』のように、$を付けるのはなぜなのでしょうか。
シートに変更があった場合、VBAにも変更が及ぶということでしょうか?
いま、作った、マクロにおいて、行削除を行ってみたのですが、VBA側へは変更がありませんでした。
(この点に関しては、既存のマクロの解析中に、明らかに存在しないシート名を指定していたり、
(明らかにおかしなセルの位置を指定している文があったりして、もしかしてとは思っていたのですが。
(しかし、今、試してみても、シートを更新しても、マクロへは変更が及ばなかったのですが。
788名無しさん@そうだ選挙にいこう:2008/02/05(火) 01:53:22
横レスだがdimは配列を宣言する命令ではない
dimは変数一般を宣言するためのものであって、配列を宣言するのにも使えるだけ
gyoはただの長整数型変数だと思う

$は絶対参照のこと
この場合はあってもなくてもあんまり関係ない
多分、習慣的につけないと気持ち悪いからつけただけじゃないかな
789761=777:2008/02/05(火) 02:03:33
>788
ありがとうございます。
$ですが、無いとまずい場合は、どんな場合でしょうか。
シートの参照なんかだと、たまに使用するのですが、
マクロだとむしろ常に$付のような動作(というか、移動がありえない)ですよね?
790名無しさん@そうだ選挙にいこう:2008/02/05(火) 02:06:31
多分ね。
やっぱりワークシート関数で使うときの癖でそのまま使ってるだけじゃないの?
791名無しさん@そうだ選挙にいこう:2008/02/05(火) 02:15:02
あーごめん違うわ
ActiveCell.Range("A1")とかだと相対参照になるね
でも$がつくかつかないかで挙動が変わるケースがあるかどうかはよく知らない
792774:2008/02/05(火) 07:35:14
>>789
ごめん、この場合絶対参照にしても特に意味はない
>>788の通り、癖ってやつだな
793名無しさん@そうだ選挙にいこう:2008/02/05(火) 11:26:05
エクセル2003です。
VBAも可ですが、勉強中のためよくわかっていません。


オートフィルタというのは当然のようにその行しか抽出する条件が指定できませんが、
二つ以上の行を条件に抽出したい場合、一般的にはどういうやり方があるんでしょうか?



会社名 発生 入金 手形 相殺
A会社 0 0 0 0
B会社 100 100 0 0

みたいにずらっと100社〜200社ならぶ表を作ったとして、
何らかの形で出入りがあった会社のみを表示したりできると
便利だと思うのですが、具体的なやり方がわかりません。
794名無しさん@そうだ選挙にいこう:2008/02/05(火) 11:45:50
>>793
会社名 発生 入金 手形 相殺 出入
A会社 0 0 0 0 0
B会社 100 100 0 0 200

としたらどうでしょう。
出入は発生+入金+手形+相殺です。
795名無しさん@そうだ選挙にいこう:2008/02/05(火) 14:06:31
ろくにパソコンを使わない素人でも解るようにVBAを解説しているサイトや書籍、教材は無いでしょうか?
796名無しさん@そうだ選挙にいこう:2008/02/05(火) 14:28:01
抽象的な説明ばかりでいいなら
「プログラムはなぜ動くのか」かな
そもそもPCを触らない人間にプログラムの説明って時点で無理があると思うけど
797名無しさん@そうだ選挙にいこう:2008/02/05(火) 14:59:25
>ろくにパソコンを使わない素人でも解るように
「そんなに本格的に勉強するつもりはないのですが」 というニュアンスを勝手に感じてしまうw
だから、専門書的な知識は必要としてないんじゃなかろうか?

つか、EXCEL VBAでググれば、それなりのサイトはすぐに見つかるよ?
あんまりEXCELも使ったことありません、ってんならちょっと難しいかもしれんけど。
798名無しさん@そうだ選挙にいこう:2008/02/05(火) 15:31:25
質問させてください。

【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 コピペする程度なら可
【4 VBAでの回答の可否】 コピペする程度なら可
【5 検索キーワード     】 DrawingObjects:=True, Contents:=True セルの書式設定 マクロ シートの保護 ロックされたセル範囲の選択

以下のようなマクロをWEBでみつけて使っています。

Sub ProtectChange()
Dim sh As Object
'選択したシートを列挙する
For Each sh In ActiveWindow.SelectedSheets
sh.Select 'そのシートを選択する
If sh.ProtectContents = True Then 'シートが保護の時
sh.Unprotect Password:="psu"
Else 'シートが保護されてない時
sh.Protect Password:="abcdefg", DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
Next
End Sub

以前Excel2000を使っていたときは、このマクロを使えば「前回使ったときの条件」で複数シートの一括保護ができていました。
「前回使ったときの条件」というのは、シートの保護をしようとしたときに出る「シートの保護」というダイアログの内容のことです。
具体的には、「ロックされたセル範囲の選択」「ロックされていないセル範囲の選択」「セルの書式設定」のみっつだけにチェックを入れた状態で、
複数シートの一括保護ができていました。
しかし同じマクロをExcel2003で使ってみたところ、前回どのような保護をしたかどうかを記憶してくれないらしく、
上記マクロを使うと「ロックされたセル範囲の選択」「ロックされていないセル範囲の選択」だけにチェックが入った状態で作動してしまいます。

「セルの書式設定」にもチェックを入れた状態で複数シートの一括保護をするには、上記マクロのどこを書き換えればよいでしょうか?
わかる方、助言のほどよろしくお願いいたします。
799名無しさん@そうだ選挙にいこう:2008/02/05(火) 15:59:25
AllowFormattingCells:=true
かな?
800名無しさん@そうだ選挙にいこう:2008/02/05(火) 16:06:29
>>799
それを9行目の最後のところに挿入したら無事思ったような動作になりました!
助かりました、ありがとうございました!!
801名無しさん@そうだ選挙にいこう:2008/02/05(火) 16:35:30
>>735>>736
ありがとうございますm( )m
しかし,なんで1月22日なんだろう。。
802名無しさん@そうだ選挙にいこう:2008/02/05(火) 16:48:36
ヨーロッパかアメリカが日付、月、年
という順番だから
ついでに調べたらやっぱりヨーロッパだがそうだった
803名無しさん@そうだ選挙にいこう:2008/02/05(火) 17:03:46
どうでもいいけど「22-1」って見ると新幹線のナンバーかと思ってしまう鉄ヲタな漏れ
804名無しさん@そうだ選挙にいこう:2008/02/05(火) 17:15:03
22-1をぐぐってみた
ttp://www.google.com/intl/ja/help/features.html#calculator
計算機能なんてあったんだなw
805名無しさん@そうだ選挙にいこう:2008/02/05(火) 18:42:02
【1 OSの種類         】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか     】 否
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Activate マクロ

マクロの記録、実行でエラーが発生します。

マクロ実行用のシート(マクロが登録されている)に、コピーをしたい文字列があり、
その文字列をコピーし新規作成したシートにコピーする動作を記録しました。
その記録したマクロを実行すると、
必ずエラーが発生します。デバッグを押すと
Windows("Book2").Activate
というのがエラーの発生源のようです。

ウィンドウ→整列→上下に並べて整列した後でコピー処理している関係で
どうしても「コピー」の後に、「貼り付け」するさいにBook2をアクティブにしないとならないのですが、どうすれば良いでしょうか?
806名無しさん@そうだ選挙にいこう:2008/02/05(火) 18:58:35
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

初歩的な質問かもしれませんがお願いします

a1 a2 a3 a4
b1 b2 b3 b4
c1 c2 c3 c4

↑のように並んだデータを別のシートに自動的に一列で移す方法が
分かる方がいたらよろしくお願いします

a1 ←こんな感じです(実際に扱うデータは一列にするとMAX800です)
a2
a3
a4
b1
b2
b3
b4
c1
c2
c3
c4
807名無しさん@そうだ選挙にいこう:2008/02/05(火) 19:17:47
>>805
発生する場所だけじゃなくて、エラーメッセージも重要。メッセージは何?
808名無しさん@そうだ選挙にいこう:2008/02/05(火) 19:22:38
>>806

データはA1〜D199にあり、縦に並べるのは同一シート内のA200からはじめるとして、

A200=INDEX($A$1:$D$199,INT((ROW()-200)/4)+1,MOD(ROW()-200,4)+1)

A201以下も同じ式をコピペ
809名無しさん@そうだ選挙にいこう:2008/02/05(火) 19:29:23
>>756

遅くなりましたが ありがとう


うまくゆきました

オフセット理解できました
自動記録だとできないですよね?


どこら辺の参考書を買えばいいんでしょうか?
810名無しさん@そうだ選挙にいこう:2008/02/05(火) 19:32:39
どこら辺もここら辺も、参考書なんてイラネ
サイトで調べまくって自分でまとめたノートが最高の手引き
811名無しさん@そうだ選挙にいこう:2008/02/05(火) 19:34:42
んでも活字って限界あるんだよね。
今までにEXCELの参考書類を何冊か読んだけど、どうしても壁が破れなかった人にはソースネクストのはお勧め。
ビジュアルで訴えられると凄く分かりやすいよ。
VBA版がマジ欲しい。誰か作って。
812名無しさん@そうだ選挙にいこう:2008/02/05(火) 19:42:30
>>805
book2は開いておかないと無理だよ
それでもなってるなら、コード見せてほしい
つーかイマイチよくわからん
>>806
量が少なければ形式を選択して貼り付け、に列と行の入れ替えがある
813806:2008/02/05(火) 19:54:58
>>808
早速解決しました

助かりました、どうもです
814名無しさん@そうだ選挙にいこう:2008/02/05(火) 20:02:11
XP,Excel2003

複数列あるListBoxにListプロパティを利用して項目を追加する方法について
セル範囲を二次元配列にぶち込んでからListに送れば一発でできるけど

セル範囲が連続していない場合
例えばA1:A10とC1:C10をListBoxの項目にしたいときに簡単にやる方法はないですか?
http://support.microsoft.com/kb/213746/ja
このやり方でできなくはないんだけど
For EachとかRedimとか使わずにこう格好よくやりたいわけです
815名無しさん@そうだ選挙にいこう:2008/02/05(火) 20:10:25
>>807
実行時エラー"9"
インデックスが有効範囲にありません。

と出てきます。

私がやろうと思ったのは、マクロを登録してあるシートのシート1にコピー元の文書(ひながた)があって、
それを「編集」→「シートの移動又はコピー」→コピーにチェック→「新しいブック」にコピー

をしたかったのです。このコマンドはマクロ記録出来ないものですかね。
816名無しさん@そうだ選挙にいこう:2008/02/05(火) 20:40:16
>>815
エラーメッセージからすると、812の言うとおり、Book2が無いのが原因っぽい。
マクロを記録したときと、実行するときとで、メインのブックのファイル名が違わない?
つまり、"Book2"という名前の新しいブックが作成されないのが原因。・・・と推測。
817名無しさん@そうだ選挙にいこう:2008/02/05(火) 20:41:41
>>816
「編集」→「シートの移動又はコピー」→コピーにチェック→「新しいブック」にコピー

はマクロ記録出来ない機能ということでFA?
818名無しさん@そうだ選挙にいこう:2008/02/05(火) 20:43:07
>>815
あ、ちなみに、やろうとしてることは、
 Worksheets("Sheet1").Copy
の1行でできると思う。"Sheet1"の部分は、実際のワークシート名に合わせてね。
819名無しさん@そうだ選挙にいこう:2008/02/05(火) 21:40:17
>>756 さんにお世話になったもんです

Sub Macro1()

中略

With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlHairline
.ColorIndex = xlAutomatic
End With
ActiveCell.Offset(-1, 3).Range("A1").Select
End Sub

ここで一旦自動記憶を終了させました


ここに教えて貰った

Sub Macro1()
ActiveCell.Formula = "=sum($a$1:" & ActiveCell.Offset(-1, 0).Address & ")"
End Sub

を付け足したいです

よろしくお願いします

 
820名無しさん@そうだ選挙にいこう:2008/02/05(火) 21:42:14
>>817
Dim Newbook As Workbook
Set Newbook = Workbooks.Add
Newbook.SaveAs Filename:="新規ブック"
で新規ブックって名前のブックを作ることは可能
821名無しさん@そうだ選挙にいこう:2008/02/05(火) 21:54:25
>>819
どうしたいのかよくわからんよ
822名無しさん@そうだ選挙にいこう:2008/02/05(火) 22:02:11
>>819


すみません

できました

またいきずまったら来ます
823名無しさん@そうだ選挙にいこう:2008/02/05(火) 22:44:03
こんばんは、お世話になります。

既存のExcelファイルについている、
フォームを削除したいのですが、クリックできなくて削除できません。どうすれば…
ボタンは選択して、Deleteできるのですが、
テキストの入力フォーム(?)なんかはどうすれば、selectできるのでしょうか。
824名無しさん@そうだ選挙にいこう:2008/02/05(火) 23:14:26
>>823
表示→ツールバー→コントロールボックス→
デザインモード(三角定規みたいなアイコン)をクリック

で触れるようになるはず
825名無しさん@そうだ選挙にいこう:2008/02/05(火) 23:19:16
>>817
シートコピー直後に新しいブックに名前を付けてやる操作を記録すれば動くはず
ただ、この辺の操作をやるなら、
>>820 の言ってるようなVBAを組むべき
意外と簡単よ
826名無しさん@そうだ選挙にいこう:2008/02/05(火) 23:50:38
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 ?

改ページプレビューを見た後に、「標準」に戻すと改ページの箇所が点線表示されていますよね?
この点線を消すにはどうすればいいのでしょう?
827名無しさん@そうだ選挙にいこう:2008/02/05(火) 23:53:45
すみません、教えてください。

主軸と第2軸をつかって、折れ線グラフを作ったのですが、
線が重なったときに、第2軸のデータが前面にきてしまいます。
順序を変更して、主軸のデータを前面にもってくる方法はありませんか?

主軸と第2軸を変えればいいのですが、そうすると主軸の値がグラフの右、
第2軸の値が左にきて、ちょっと・・・です。

よろしくお願いします。

828名無しさん@そうだ選挙にいこう:2008/02/05(火) 23:58:17
>>826
いったん閉じて開きなおせば治る

ってか、改ページプレビュー見るってことは
印刷することがあるシートですよね?
だったら印刷するとどうなるかを常に意識しているほうが良いので
点線はそのままにしときましょう。
829826:2008/02/06(水) 00:01:20
>>828
やっぱ再立ち上げしかないですか…
いえ、ちょっとエクセルの勉強してたもので
830826:2008/02/06(水) 00:01:41
あ、忘れてた
>>828さんありがとうございます
831828:2008/02/06(水) 00:10:42
>>830
一応治る&残しておいたほうがいい
ってことで、ちゃんと調べたことないので、
もしかしたら方法あるかもしれません
が、それを調べるメリットは正直感じない^^;
832826:2008/02/06(水) 00:11:59
>>831
ありがとうございました。
833名無しさん@そうだ選挙にいこう:2008/02/06(水) 03:56:09
質問させていただきます。

【1 OSの種類         .】 Windows XPSP2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 条件 数値 設定

バイトのシフト表を作っているのですが、休憩時間の式を設定できなくて困っています。

たとえば12時出勤・22時退勤・休憩時間1.0時間の場合、セルは上から順に

  1
A 12
B 22
C 1.0

と並んでいるのですが、退勤時間-出勤時間の値によって休憩時間が変わり、
出勤・退勤時間を入力すれば自動的に休憩時間が導かれるようにしたいのです。

たとえば退勤-出勤の値が4以上6以下なら休憩の値は0.25、
退勤-出勤の値が6.5以上7.5以下なら休憩の値は0.5、といった感じです。

Excelでこのような式の設定はできないものでしょうか。
ご回答よろしくお願いします。
834名無しさん@そうだ選挙にいこう:2008/02/06(水) 06:15:40
>>833
できる。
ただし、条件の内容によって最適な方法が変わってくる。

とりあえず出勤時刻、退勤時刻、休憩時間の一覧表を作ってLOOKUPやINDEX関数で検索するのが
無難だろうな。保守もしやすいし。
835名無しさん@そうだ選挙にいこう:2008/02/06(水) 09:00:57
5列目に4以上6以下なら休憩の値は0.25、
6列目に6.5以上7.5以下なら休憩の値は0.25
として、休憩の4行目はそれらを全て足す形にするのがいいと思う
836名無しさん@そうだ選挙にいこう:2008/02/06(水) 09:24:18
>>834
>>835
どうもありがとうございます。早速試してみます。
837名無しさん@そうだ選挙にいこう:2008/02/06(水) 09:57:40
>>833
人の会社のことだからどうでもいいけど
労基法では6時間以上の勤務で0.75時間以上の休憩を取らせる義務がある
8時間以上で1時間以上の休憩
838名無しさん@そうだ選挙にいこう:2008/02/06(水) 11:01:19
標準モジュールでfornext、if文や変数は使えるようになったけど、
事務でvba使うならこれは覚えとけって構文はありますか?
839名無しさん@そうだ選挙にいこう:2008/02/06(水) 11:02:28
標準モジュールでfornext、if文や変数は使えるようになったけど、
事務でvba使うならこれは覚えとけって物はありますか?
クラス化とかは意味もサッパリです
840名無しさん@そうだ選挙にいこう:2008/02/06(水) 11:02:59
二重カキコしちゃいました。すいません
841名無しさん@そうだ選挙にいこう:2008/02/06(水) 11:07:27
ループと条件分岐が使えれば、別に困ることはないと思うけどね。
クラス化だの、オブジェクト指向だのってのは、別に知らなくても全然困らないよ。
もちろん、VBAを使う以上、クラスの概念は分かってた方が断然有利だけど。
あとは、そうだな、配列や構造体を扱えると便利かな? ファイル入出力の方法とかも。
842名無しさん@そうだ選挙にいこう:2008/02/06(水) 11:25:30
ありがとうございます
勉強してみます
843811:2008/02/06(水) 12:14:24
そういや、VBAの勉強をしようと思って前に書店に行って色々探した時に
EXCEL VBA 完全制覇というのを見つけて良いなと思って買ってあったんだった。
http://www.shoeisha.com/book/hp/perfect/DL/vba.asp
参考書の中では分かりやすい方ではあるんだけど、やっぱり動画のが欲しい。
誰か知らんかな。
844名無しさん@そうだ選挙にいこう:2008/02/06(水) 12:40:20
動画なんてExcel操作の初歩なら必要性もあるだろうけど、なんでVBAで動画がいるんだ
845名無しさん@そうだ選挙にいこう:2008/02/06(水) 12:46:47
一感よりも五感に訴えられる方が理解しやすいから。
846名無しさん@そうだ選挙にいこう:2008/02/06(水) 12:48:11
教科書さえあれば、学校なんて要らないじゃん。とは言えないでしょう。
847名無しさん@そうだ選挙にいこう:2008/02/06(水) 12:53:50
いや、せいぜい3感ぐらいだろw

初心者向けに、配列やクラスの概念まで、平成教育ナントカみたいに解説動画で説明しろ、
っていう意味なら、まだ分からんでもないかな。 つか、それVBAの解説じゃないしw
848名無しさん@そうだ選挙にいこう:2008/02/06(水) 12:55:56
出来れば味覚や嗅覚に訴えてほすぃ
849名無しさん@そうだ選挙にいこう:2008/02/06(水) 13:19:35
>>848
笑った

やる気さえあればサイト周るだけでどうにかなると思うんよね
常時ネットにつながってない会社とかなら分かるんだけど
850名無しさん@そうだ選挙にいこう:2008/02/06(水) 13:46:36
やる気の問題はおいておいて、1冊体系的な本読んでおいた方がいい。
我流のつまみ食い勉強は、結局遠回りになる。
あと、そういう勉強した人は、一般の言葉が通じないせいか、変に意固地になる。
お前が悪いって言ってるわけじゃないのに、変に自分だけでやってきたっつープライドのせいかウザい。
全然新しい事覚えようとしない。
851名無しさん@そうだ選挙にいこう:2008/02/06(水) 14:20:19
そんな体系的に学べる動画があると良いなあ。
詳細についてはその都度本を読めば良いと思うけど。
概要部分だけでも
852名無しさん@そうだ選挙にいこう:2008/02/06(水) 14:20:49
需要はあると思うから、作れば金になるぞ
853名無しさん@そうだ選挙にいこう:2008/02/06(水) 14:23:59
外資系の企業へ就職する事をイメージして勉強すりゃいいんだよ。
ああいうとこで役に立つには、英語のスキルと、それに業務のスキルが必要になる。
VBAも一緒で、基本的なプログラムの言葉としての体系と、
Excelのオブジェクトの体系の2本立てを意識して整理しないとうまくない。
自分がいま、どっち勉強してるかわからんまま丸暗記しようとするとおかしくなる。
854名無しさん@そうだ選挙にいこう:2008/02/06(水) 14:29:23
853の頭悪そうなレスにがっかりw
855名無しさん@そうだ選挙にいこう:2008/02/06(水) 14:35:05
わからないならいいよ。お前みたいな手遅れの奴に向けて言ってるわけじゃないから。
856名無しさん@そうだ選挙にいこう:2008/02/06(水) 14:53:43
>>854は一連の動画希望者とは別人ぞよ。

いわゆる2chの中の煽り屋家業の人ね

どうでも良いけどw
857名無しさん@そうだ選挙にいこう:2008/02/06(水) 15:08:32
それもどうでもいいよ。これから勉強しようと思って覗いてる不特定多数の人に向けて書いてるだけだから。
858名無しさん@そうだ選挙にいこう:2008/02/06(水) 18:31:46
どうして web にある「散布図の作り方」には
隣り合わない列同士の散布図の作り方について言及していないのかね…
859名無しさん@そうだ選挙にいこう:2008/02/06(水) 18:47:35
>>857
どうでも良いと書いてあるじゃん
860名無しさん@そうだ選挙にいこう:2008/02/06(水) 18:50:17
>>858
君が作れっていう神の啓示
861名無しさん@そうだ選挙にいこう:2008/02/06(水) 18:56:42
グラフ作るとき、毎回色や太さやフォントを変えるのはメンドイんですが
デフォルト設定する方法ありますか?
862名無しさん@そうだ選挙にいこう:2008/02/06(水) 19:02:13
863名無しさん@そうだ選挙にいこう:2008/02/06(水) 20:33:21
>>862
こういう回答すげー好き
864名無しさん@そうだ選挙にいこう:2008/02/06(水) 20:34:25
下手に中途半端に回答するよか、詳しい説明があったりするしな
865名無しさん@そうだ選挙にいこう:2008/02/06(水) 22:05:02
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 ?

エクセルで集計をする事になりました。
よい方法があったら教えてください。
よろしくお願いします。

・複数の数字を一箇所に集計させたいです。
数字の個数はCOUNTA等で出せるのは知ってるんですが、
その基準となる数字が沢山あり時間を短縮したいのです。

【例】
    これ
    ↓ 
1    1 1
2    2 3
2  → 3 2
2
3
3

よろしくお願いします。
866名無しさん@そうだ選挙にいこう:2008/02/06(水) 22:08:16
>>865
つPivotTable
867名無しさん@そうだ選挙にいこう:2008/02/06(水) 22:13:00
>>866
ありがとうございます。
ピポットよく分からないので色々と調べる事にします。
868793:2008/02/06(水) 22:35:56
>>794
なるほど。それでその行がいらなければ非表示にする、と。
簡単ですね。ありがとうございます。そうすることにします。


そして、改めて質問したいのですが、>>793みたいなことをしたい場合には
オートフィルタ、とかピボットテーブル、○○関数、みたいな方法ってないんでしょうか?
>>794のようにするのが簡単だしわかりやすいのですごく満足しているのですが、
いくつか方法があるなら知りたい、と思。
869名無しさん@そうだ選挙にいこう:2008/02/06(水) 22:37:45
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 ?

ええと…
セルのA3〜G30だけを印刷範囲に設定したんですが、
印刷プレビューをみるとA1〜G2も表示されているんです。

どうしたら表示できないようにできるでしょうか…
870名無しさん@そうだ選挙にいこう:2008/02/06(水) 22:52:52
>>869
範囲を指定して印刷
印刷範囲を先に指定しておく
印刷したくない所を非表示にしておく

どれでもお好きなのを
871名無しさん@そうだ選挙にいこう:2008/02/06(水) 22:55:00
>>868
オートフィルタはそのままじゃ無理、ピボットテーブルは出来なくもないが向いてない
関数ならif関数か?
会社名がA列、発生がB、入金が・・とすると
やっぱりF列も作るんだけど、f2に
=IF(OR(A2<>"",B2<>"",C2<>"",D2<>"",E2<>""),1,0)
っていれてF列を1でオートフィルタとか
>>899
ページ設定→シート→行のタイトル
を消すといいかもしれない
872名無しさん@そうだ選挙にいこう:2008/02/06(水) 22:55:45
865の質問の意味が分からん・・・ orz
873869:2008/02/06(水) 23:00:03
>>870
>>871
回答ありがとうございました!

>>871様のとおり行のタイトルが設定されていたようです
874名無しさん@そうだ選挙にいこう:2008/02/06(水) 23:15:58
大量の csv ファイルのみがあるのですが、これを全部 xls 形式に
変換を掛ける良い方法は無いでしょうか?

検索で見つけられたのは

ファイルダイアログで複数指定→今回あまりに大量にあってファイルダイアログが固まってしまう
コマンドラインで指定できる(Good!)→対応した Excel の元ファイルが無いとダメ

と言った状態です…分かりづらいのですが、好ましい形は、コマンドラインでも、
フォルダ選択でも、あるいは言語もオープンで用意できれば(Perl等)良いのですが、
フォルダを指定すると、サブフォルダも含めて csv を続々 xls に変換していくと言う形です。
フォーマットも 95 以降ならあまり問いません。
875名無しさん@そうだ選挙にいこう:2008/02/06(水) 23:16:18
>>872
123を甲乙丙と帰ると、
A列に甲乙乙乙丙丙と並んでる時
B列に甲乙丙、C列に1.3.2と個数って意味だろ
>>873
だろ
なんかエクセルとは違う感性が育ってきた気がするぜ
876名無しさん@そうだ選挙にいこう:2008/02/06(水) 23:18:41
877名無しさん@そうだ選挙にいこう:2008/02/06(水) 23:18:43
excelで開きたいだけなら拡張子をxlsに変えるだけで何とかなるよ。
好きな言語のスレ行って聞いてくれば?
878872:2008/02/06(水) 23:24:10
>>875
解説ありがd!!
879名無しさん@そうだ選挙にいこう:2008/02/06(水) 23:26:38
>>875
まったくその通りです。
ピポット使いなれてないから大変です(´・ω・`)ガンガル
880名無しさん@そうだ選挙にいこう:2008/02/07(木) 00:23:57
IF関数で教えてください。

例えば D列の中に数字が入っていればAを表示、何も入ってなければBを表示というようにするには
どうすれば良いんでしょうか?
881名無しさん@そうだ選挙にいこう:2008/02/07(木) 00:26:40
空欄は""で認識するわけかな。でも空欄以外の何かゴミみたいのが入っていれば判断出来なくなっちゃうか。。。
882名無しさん@そうだ選挙にいこう:2008/02/07(木) 00:29:09
>>880
=IF(ISNUMBER($D1), $A1, IF(LEN($D1)=0, $B1, "その他"))
883名無しさん@そうだ選挙にいこう:2008/02/07(木) 00:35:03
>>880
>>882 で求めてるものとは思うけど一応
対象が列全体なら
=IF(SUM(D:D)>0,"A",IF(COUNTA(D:D)=0,"B","その他"))
でおk
884名無しさん@そうだ選挙にいこう:2008/02/07(木) 00:39:12
>>882
>>883
ありがとう。うまく行きました。

もう一つ、その数式を列全体に張るのではなく、A〜D列の最後に入力された行までに限定するようにするにはどういう方法がありますでしょうか?
885名無しさん@そうだ選挙にいこう:2008/02/07(木) 01:19:19
>>884
ん? スマンけど意味がわかんね。

データが並んでる列で、Ctrl + ↓ を押すと
カーソルが最終行(最初にデータが途切れる直前)に飛ばせるけど、そういう操作のこと?
886名無しさん@そうだ選挙にいこう:2008/02/07(木) 07:09:03
>>885
ごめんなさい。書き方が中途半端でした。

例えば>>880の例で言うならば、D列で入力されている一番最後の行を認識して、
その最後の行数まで>>882さんの数式を入力するようなことをしたかったのです。
CTRL+↓で最後の行を判定するとして、その行までどうやって一行目をコピーしようかと。
887名無しさん@そうだ選挙にいこう:2008/02/07(木) 07:11:07
shift+ctrl+↓で一番下まで領域指定して、そこで数式を貼り付けしたものをマクロ記録して、マクロ実行すればおkですかね?自問自答ですが。
888名無しさん@そうだ選挙にいこう:2008/02/07(木) 08:12:15
>>882
数値に正の値しか想定していないのではない?
SUM(D:D)が0の時は要求を満たさないよ。
889888:2008/02/07(木) 08:13:10
ごめん。アンカー間違い。
>>883
数値に正の値しか想定していないのではない?
SUM(D:D)が0の時は要求を満たさないよ。
890名無しさん@そうだ選挙にいこう:2008/02/07(木) 08:13:26
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 一発 数値

いろんな関数や数式が埋め込まれているシートがあるのですが、それを一発技で
表示されている数値に変換する方法があったと思いました。

最近、どこかで見かけたと思うのだけど、このスレだったか忘れてしまいました。
よろしくお願いします。
891883:2008/02/07(木) 08:16:07
>>889
そういやそうですね^^;
負もある場合は
=IF(COUNT(D:D)>0,"A",IF(COUNTA(D:D)=0,"B","その他"))
でいいのかな
892888:2008/02/07(木) 08:17:45
>>891
それでいいね。
893名無しさん@そうだ選挙にいこう:2008/02/07(木) 08:18:08
>>890
Ctrl+A
Ctrl+C
ALT→E→S→V
894名無しさん@そうだ選挙にいこう:2008/02/07(木) 08:22:28
>>893
一発くり抜き技って無かったでしたっけ。勘違いだったかな。
895名無しさん@そうだ選挙にいこう:2008/02/07(木) 08:27:05
>>868
オートフィルタにはオプションがあって抽出条件を2つまで指定することができます。

ところでオートフィルタとピボットテーブルをすでにご存知ならそれ以上のテクニックを
追求しても不毛ですよ。
逆にオートフィルタやピボットテーブルが活用できるようにデータの方を整えるんだ
という発想に切り替えてみてはいかがでしょうか。
896895:2008/02/07(木) 08:34:38
(続き)
エクセルでやりたいことを
>>868
1.検索
2.並べ替え
3.抽出
4.集計
に分類してみましょう。
抽出はオートフィルタで,集計はピボットテーブルでやるのがおすすめです。
うまくいかないからといって関数やVBAに走るのは最後の手段です。
897名無しさん@そうだ選挙にいこう:2008/02/07(木) 10:27:34
>>887
数式の貼り付けまで自動化したいってこと?
マクロでOKだと思うけど、1列の貼り付け程度でそこまでするのは、
意図しない動きをさせないように、って観点からあんまり好ましくないと思う。

E列に数式を貼り付けるとして、E1の数式を Ctrl + C でコピー、カーソルをD列にして ctrl+↓
→でカーソルをE列に動かして、shift + ctrl + ↑、Ctrl + V で貼り付け。
この間 5秒と掛からないんだから、その都度操作した方がいい気がする。
898名無しさん@そうだ選挙にいこう:2008/02/07(木) 11:20:19
>>897
すんません。例としては1列だけだったのですが、同様の列が数列あったのです。
899名無しさん@そうだ選挙にいこう:2008/02/07(木) 12:52:46
【1 OSの種類         .】 Windows2000SP4
【2 Excelのバージョン   】 Excel2000 (9.0.3821 SR-1)
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 OLEObjects.Delete
OLEObjects.Deleteが失敗するときがあります
どこか構文が間違っているでしょうか、ご指導お願いします。

Sub cntrl_set()
With ThisWorkbook.Worksheets("Sheet1")

.OLEObjects.Delete

.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Left:=745, Top:=65.25, Width:=60, Height:=18.75).Select
.OLEObjects("CommandButton1").Placement = xlFreeFloating
.OLEObjects("CommandButton1").Object.Caption = "発注処理"

.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Left:=745, Top:=95.25, Width:=60, Height:=18.75).Select
.OLEObjects("CommandButton2").Placement = xlFreeFloating
.OLEObjects("CommandButton2").Object.Caption = "入荷処理"

.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Left:=745, Top:=155.25, Width:=60, Height:=18.75).Select
.OLEObjects("CommandButton3").Placement = xlFreeFloating
.OLEObjects("CommandButton3").Object.Caption = "閉じる"

.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Left:=745, Top:=125.25, Width:=60, Height:=18.75).Select
.OLEObjects("CommandButton4").Placement = xlFreeFloating
.OLEObjects("CommandButton4").Object.Caption = "レポート"

End With
End Sub
900名無しさん@そうだ選挙にいこう:2008/02/07(木) 12:56:08
Excel2003です

常に一番後ろのデータから決められた数のセルを選択するように
関数やマクロを組むことはできないですか?
901名無しさん@そうだ選挙にいこう:2008/02/07(木) 13:09:09
>>900
まずb=の後に行数を入力してから使ってくれ
(今は仮に5と入れてある)
gyoでA列最後の行を取得
最後のgyo+1で空きセルを選択
見栄えが悪いのはあまり突っ込まないでくれ

Dim gyo As Long
Dim b As Long
b = 5
gyo = Range("$A$65536").End(xlUp).Row
gyo = gyo + 1
Range("A" & gyo & ":" & "A" & gyo + b - 1).Select
End Sub
902名無しさん@そうだ選挙にいこう:2008/02/07(木) 13:11:39
追記、activecellやoffsetの方が使いやすいかもしれない
ttp://www.geocities.jp/happy_ngi/YNxv964.html
この辺でも参考にしてくれ
903名無しさん@そうだ選挙にいこう:2008/02/07(木) 14:19:47
>>899
こうかな?

For Each objOLE In .OLEObjects
objOLE.Delete
Next
904名無しさん@そうだ選挙にいこう:2008/02/07(木) 14:24:47
>>903
ありがとうございます
【5 検索キーワード     】"objOLE" & "OLEObjects.Delete"
905名無しさん@そうだ選挙にいこう:2008/02/07(木) 16:44:55
ノートパソコン(XP SP2)を買いまして
プリインストールされてるEXCEL2007でEXCEL2003で作成したファイルを使おうとしたら

オブジェクトの中に文字があるのを、文字修正すると、矢印キーの左右が逆に反応します。
矢印キーの左を押すと右にカーソルが移動して、右を押すと左に移動します。
セルだと左右は正常に動くのですが、直せますでしょうか?
906名無しさん@そうだ選挙にいこう:2008/02/07(木) 20:16:44
>>894
一発は無いね
オレはだいぶ前から、値貼り付けアイコンは便利だから
設定しとくと便利だよと言ってるけど、それがあると

範囲>コピー>値貼り付け、の3クリックで済む。
カチカチカチ、1秒かからない。これが最短
907名無しさん@そうだ選挙にいこう:2008/02/07(木) 20:51:15
>>906
俺は前スレ619の方法を取ってる
これをアドインで登録して、いつでも使えるようにしたよ


619 名前:名無しさん@そうだ選挙にいこう [sage] 投稿日:2008/01/12(土) 17:56:52
>>615
値のみ貼り付けするマクロを作って、
マクロのダイアログ(Alt-F8)でそのマクロのオプションを選択。
ショートカットキーを指定できるので、vにする。
(shift-vとかの方が無難な気もするけど)

マクロはこんなんでいいんじゃない。
Sub 値のみ貼り付け()
Selection.PasteSpecial xlValues
End Sub
908名無しさん@そうだ選挙にいこう:2008/02/07(木) 22:12:58
>>906
マウスに手を伸ばすのがめんどくさい
不器用だからマウス使うの嫌いだ^^;
909名無しさん@そうだ選挙にいこう:2008/02/07(木) 22:14:30
>>908
なんでお前が回答する
910名無しさん@そうだ選挙にいこう:2008/02/08(金) 01:29:24
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel97
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 関数 並べ替え 空白 複数

このような表を
  A  B 
1  8  c
2
3  10  d
4
5  7  e
6  8  f

このように並べ替えることはできますでしょうか
  A  B 
1  7  e
2  8  c
3  8  f
4  10 d
5
6
911WinXP Excel2000 ◆AKB48.66kg :2008/02/08(金) 01:33:33
A1セルに「後櫓」と入れると、B1セルが「陽子は後櫓が好き」になり、
A1セルに「松葉崩し」と入れると、B1セルが「陽子は松葉崩しが好き」とするには
どう書けばいいですか?

VLOOKUPではなく、複数ある文章の一部を変えたいんです。
912910:2008/02/08(金) 01:42:17
910ですが、ちょっと言葉が足りなすぎだったんで

このような時に
  A  B  …… AA  BB
1  8  c      7   e
2            8   c
3  12  d      8    f
4           12   d
5  7  e
6  8  f

7行目に次を加えると
  A  B
7 10  g

この様に自動的に反映されるように考えているのですが
  A  B  …… AA  BB
1  8  c      7   e
2            8   c
3  12  d      8    f
4           10   g
5  7  e      12   d
6  8  f
7 10  g

何か良い方法はありませんでしょうか。
913名無しさん@そうだ選挙にいこう:2008/02/08(金) 01:46:24
>>911
?
意味がよく分らない。
="陽子は"&A1&"が好き"
=CONCATENATE("陽子は",A1,"が好き")
こういう事?
914WinXP Excel2000 ◆AKB48.66kg :2008/02/08(金) 01:55:48
>>913
ありがとうです。
""が抜けてたので、うまく表示されなかったことが分かりますた。
915名無しさん@そうだ選挙にいこう:2008/02/08(金) 02:43:07
>>910>>912
一応できた。
もっといい方法あるかも知れないから、参考程度に。

C列とD列を作業列に使っています。

[C1]=IF(COUNTBLANK(A1:B1)=2,100000000,A1+(CODE(B1)-96)/100)
[D1]=RANK(C1,$C$1:$C$7,1)
[AA1]=IF(OR(ISERROR(MATCH(ROW(),$D$1:$D$7,0)),ISBLANK(INDEX($A$1:$B$7,MATCH(ROW(),$D$1:$D$7,0),1))),"",INDEX($A$1:$B$7,MATCH(ROW(),$D$1:$D$7,0),1))
[AB1]=IF(OR(ISERROR(MATCH(ROW(),$D$1:$D$7,0)),ISBLANK(INDEX($A$1:$B$7,MATCH(ROW(),$D$1:$D$7,0),1))),"",INDEX($A$1:$B$7,MATCH(ROW(),$D$1:$D$7,0),2))

あとは、選択して7行目まで引っ張る。
916793:2008/02/08(金) 03:47:36
>>895
なるほど。
オートフィルタは割と理解できていると思うのですが、
ピボットテーブルという機能はどういう機能かを何となく知っているだけで
使ったことがないので、その辺りを勉強してフォーマットから考え直してみます。
レスありがとうございました。
917915:2008/02/08(金) 04:29:52
鯖落ち直った・・・

>>910>>912
ちょっとさっぱりさせました。
あと分かると思うけど、セル範囲はデータ入力予定位置まで含めて下さい。
又は範囲に名前を付けるとか。
とりあえず20行にしてみました。

[C1]=IF(ISBLANK(B1),100000000+ROW(),A1+(CODE(B1)-96)/100)
[D1]=RANK(C1,$C$1:$C$20,1)
[AA1]=IF(ISBLANK(INDEX($A$1:$B$20,MATCH(ROW(),$D$1:$D$20,0),1)),"",INDEX($A$1:$B$20,MATCH(ROW(),$D$1:$D$20,0),1))
[AB1]=IF(ISBLANK(INDEX($A$1:$B$20,MATCH(ROW(),$D$1:$D$20,0),2)),"",INDEX($A$1:$B$20,MATCH(ROW(),$D$1:$D$20,0),2))

で選択して20行目まで引っ張る。

データに0がないなら、セルの書式設定で表示形式で0を非表示にして(例 ##;-##;;@ )、

[AA1]=INDEX($A$1:$B$20,MATCH(ROW(),$D$1:$D$20,0),1)
[AB1]=INDEX($A$1:$B$20,MATCH(ROW(),$D$1:$D$20,0),2)

で選択して20行目まで引っ張る。

片方だけ入力される場合がある等は、適当に直してください。
「10aがだぶって2個入力される」には対応してません。
918910:2008/02/08(金) 05:37:40
>>917
早速有り難うございます!
CODE関数を使ってA列とB列を足し合わせるところと、
空白行にも何か大きな数(JISコードの上限値よりも大きな値という事でしょうか?)+ROWを使えば
RANK関数が使えるようになるところは思いつきませんでした。

実際にはA列には日付が、B列には文字列が入るのですが、ここは自力で何とかなりそうです。
有り難うございました。
919名無しさん@そうだ選挙にいこう:2008/02/08(金) 07:33:30
>>916
ピボットテーブルはエクセルで一番重要な機能だと思います。
簡単に使えますよ。
これ知らないで関数の達人やVBAマスターになってもピボットテーブルの
サブセットを一生懸命自作するだけの人になってしまいます。
920名無しさん@そうだ選挙にいこう:2008/02/08(金) 08:15:08
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 括弧囲い文字 括弧囲み文字

(off) を一文字扱いで使いたいのですが、できますか?
921名無しさん@そうだ選挙にいこう:2008/02/08(金) 09:45:05
>>920
意味が分かりません。
どう見たって一文字じゃないし。
922名無しさん@そうだ選挙にいこう:2008/02/08(金) 09:49:33
>>920
オートコレクト使えば?
923名無しさん@そうだ選挙にいこう:2008/02/08(金) 10:01:47
>>919
まあ重要つーか、画期的な機能だな。
これでデータ範囲が元データの連続エリアに合わせて自動拡張してくれれば最強だ。今は関数使った名前定義してるけど。
924名無しさん@そうだ選挙にいこう:2008/02/08(金) 12:20:04
=IF(OR(A1="c9",A1="ca",A1="cb"),B1*2,B1)

このような条件で今後"cc""cd"…と無限に増やしていくのは大変なので
文字列の1文字目がcなら全て2倍で計算するようにと

=IF(A1="c*",B1*2,B1)

とワイルドカードにしてみたんですがダメでした。
こういう場合はどう記述すればよいのでしょうか?
925名無しさん@そうだ選挙にいこう:2008/02/08(金) 12:24:39
=IF(LEFT(A1,1)="c",B1*2,B1)
926名無しさん@そうだ選挙にいこう:2008/02/08(金) 12:26:40
>>924
ワイルドカードが使える関数と使えない関数がある
=IF(COUNTIF(A1,"C*"),B1*2,B1)
でどうだろう
927924:2008/02/08(金) 12:47:33
>>926 ありがとうございます!できました
928名無しさん@そうだ選挙にいこう:2008/02/08(金) 13:02:26
>>912の件だが
相談の内容は解決したからいいとして、なんでそもそもそんなトリッキーなことやりたいのかに興味がある。
並べ替えで一発なのに。
929名無しさん@そうだ選挙にいこう:2008/02/08(金) 15:12:34
>>923
improv を思い出したよ。
930名無しさん@そうだ選挙にいこう:2008/02/08(金) 17:20:19
セル幅などをドラッグで変えた時にリアルタイムで数値が出ていたのが出てこなくなりました。
再起動しても駄目でした。設定を変更した憶えはないのですが…
バージョンはVistaに付属していたものです。
よろしくお願いします。
931名無しさん@そうだ選挙にいこう:2008/02/08(金) 17:41:17
932名無しさん@そうだ選挙にいこう:2008/02/08(金) 18:24:48
>>931
ありがとうございます。私に聞いてきた当人がいないんですが、これで大丈夫だと思います。
933名無しさん@そうだ選挙にいこう:2008/02/08(金) 20:22:05
>>928
確認が必要な度に、昇順に並べ替えて確認して、
また元のデータ入力形式順に戻すのが手間だからじゃないかな。
あるいは、データ入力形式順の表と昇順の表を同時に存在させたいとか。
あれだったら、データ入力形式の表に入力していくだけで、
常に昇順の表がみれるじゃん。
934名無しさん@そうだ選挙にいこう:2008/02/08(金) 23:01:50
>>933
まあだいたいそんなとこなんだろうけどね。
失礼を承知で言わせてもらうと、つまんないことに力を注いでんだなあという感想。
935名無しさん@そうだ選挙にいこう:2008/02/08(金) 23:18:19
ああいうのはAccessでやればいいんだよ
Excelのピボットテーブルは便利だけど見るだけ。
Accessだとクエリーでつくった表に入力できちゃうのがいい。
936名無しさん@そうだ選挙にいこう:2008/02/08(金) 23:20:10
2000でセルをスクエア(正方形)にしたいのですがどうすればいいのでしょうか?
列と行の調整だとずれてしまいます。
937名無しさん@そうだ選挙にいこう:2008/02/08(金) 23:31:39
>>936
エクセルは幅と高さにそれそれ違う単位を使うので、希望の大きさのセルを作るのが大変です。
セルのサイズをミリ単位で設定できるアドインがフリーであるので、それを使ってください。
938名無しさん@そうだ選挙にいこう:2008/02/09(土) 07:54:47
>>935
アクセスのクエリ結果を直接編集できるという機能と、ピボットテーブルは守備範囲がかなり違うので比較するのは無理があると思うよ。

クエリというのは正規化されてバラバラになっているデータをつなぎあわせるのが主目的でしょ。
クエリと比較するのであればVLOOKUP関数あたりじゃないかな。
939名無しさん@そうだ選挙にいこう:2008/02/09(土) 09:31:04
>>936
セル幅(高)の横に出てくるピクセル単位でサイズを合わすと正方形になるよ
940名無しさん@そうだ選挙にいこう:2008/02/09(土) 11:05:36
1からVBAを学び即戦力にしたいのですが、

かんたんプログラミング Excel2003 VBA
の基礎編と関数編

の2冊があれば、なんとかなるでしょうか?
941名無しさん@そうだ選挙にいこう:2008/02/09(土) 11:12:32
>>940
VBA使って例えば何をやりたいの?
942名無しさん@そうだ選挙にいこう:2008/02/09(土) 11:38:02
レスありがとう。
日常業務である指標管理(ルーチンワーク)の
自動化です。
主に切り貼りがメインですが、データをエミュレータから
引っ張ってくることもあります
943名無しさん@そうだ選挙にいこう:2008/02/09(土) 12:01:55
>>942
指標のもとになるデータを適切な形式に整えたいということでしょうか。
それだったら(その本を含めて)なんでもオーケーでしょう。

ここからは私の意見です。事務処理でExcelのVBAが本当に必要になる機会はめったにありません。
一度Accessでも使ってみてください。データの切り貼りをプログラミングしようなんてばかばかしくなるかもしれませんよ。
944名無しさん@そうだ選挙にいこう:2008/02/09(土) 12:18:05
んーなるほど。。
指標管理など事務処理にマクロは不向きなんですね。
しかし残念ながらセキリュリテイ上、アクセスをインスコ
できませんのでVBA勉強して頑張ります。

他に良書があれば推薦おねがいします。
945名無しさん@そうだ選挙にいこう:2008/02/09(土) 12:34:44
>>944
想像ですがもしかしてその指標というのは、
顧客別売上
営業担当者別販売額
月別クレーム件数

のようなものではないですか?
946944:2008/02/09(土) 13:43:14
おっしゃるように毎月の指標(顧客売上ほか)です。

全社データから各人PCのエミュ?で各顧客データを取り込み、
それを貼り付けしてエクセルにうつしています。
この作業が全顧客50軒ほどになるため、単純な貼り付け
作業で3時間ほどつぶれます。

ですので、この
エミュでひろった黒画面上のデータ→エクセルへのデータ貼付け
の部分を自動化したい訳です。
(似たマクロを組んだ方がいたので、物理的には可能なようです)
エクセルにデータを貼付けた後は、リンク貼付け他で所定の
位置に振り分けて完了です。

はて、どうしたものか。
基礎から勉強になる良書や、類似した実例などがある書籍・HP
があればぜひ案内おねがいします
947名無しさん@そうだ選挙にいこう:2008/02/09(土) 14:00:34
ソースネクストにこんなのがある。おれはつかったことないけど

ttp://www.sourcenext.com/products/auto/
948945:2008/02/09(土) 14:23:30
エミュというのは端末エミュレータかな?
きっと社内の販売管理システムからデータを取りこんでいるのでしょう。
システムの内部ではもともと販売実績データを顧客ごとに分けていない
はずです。それをあなたは顧客別に実績照会しているだけなのです。

顧客別に分断されたデータではなく、全顧客がいっしょになってるデータ
を入手すべきです。システム管理部門に相談してみるとよいでしょう。
949名無しさん@そうだ選挙にいこう:2008/02/09(土) 14:43:12
おっしゃる通りで間違いないと思います。
端末エミュレータだと思います。

おっしゃるように顧客別に実績照会しています。
(各顧客固有のNOをたたいて、データを抜き出しています)
しかし、あいにく全顧客がいっしょになってるデータを入手す
るのは難しいと思われます。
個人情報管理の観点から厳重に管理されているからです。

ですので、

端末エミュレータに当該顧客NOをうちこむ

端末エミュレータの照会画面に表示された顧客売上をコピー

コピーしたデータをエクセルの当該顧客欄に貼付け

(これを約20〜50回繰り返し)

を何とか自動化させたいのです。
上記流れを一巡のみですが、過去にマクロを組んで成功させている例
(そんなに長いVBAではない)
があると聞いてますので、物理的には可能なんだと思います。
950945:2008/02/09(土) 15:17:24
>>949
端末エミュレータの操作をVBAで自動化するのは難しいでしょうね。
もちろんコンピュータ内部のデータなんですから物理的には可能ですよ。


代替案1
端末エミュレータのほうにマクロ機能ないのでしょうか。
それでなんとかできる場合があるかもしれません。

代替案2
システム部門にデータをくれと正式に申し込む。
顧客番号別の売上実績は個人情報保護の対象ではないかもしれません。
名前、住所、電話番号などは含まれていないでしょ。

代替案3
月別売上照会の機能をシステムに組み込んでもらう。
951名無しさん@そうだ選挙にいこう:2008/02/09(土) 15:28:11
成功してる例があるならそれ見ろよw
手元にないものテストなんてできねーんだから。
952名無しさん@そうだ選挙にいこう:2008/02/09(土) 15:31:13
>>949
VBAを使って他のアプリケーションを操作し、ウィンドウに表示されたデータを読み取る方法はありますが、
ExcelよりもWindowsの仕組みについて詳しくないと難しいですよ。

特定のソフトにこだわらず、パソコン全体の操作をマクロとして記録、再現するフリーウェアがありますので、
そういうのを使った方がいいのではないでしょうか。
953名無しさん@そうだ選挙にいこう:2008/02/09(土) 15:32:32
それからエミュを操作するためにVBAを勉強したいというなら、上に挙がった2冊だけじゃ
全然役に立たないんじゃないかな?普通のVBAの勉強にはいい本だろうけど。
他のアプリと連携するような事をしたいなら、別のもん読んだ方がいいかもね。
っつーか、その謎のアプリがわからなきゃ、何読めばいいかもわからんけど。

COMで連携できるなら、それ系の本読めばいいし、sendkeysとかで無理やり動かすなら
本読むよりはネットでサンプル探して、あとは自分でストップウオッチ片手にチューニングでもしてくれ。
絶対動かなくなるけどw
954sage:2008/02/09(土) 15:47:10
承知しました。
まずは成功PGの内幕を把握するのが良策ですね。
必死に探してみます!

またぜひ相談させてください。
955名無しさん@そうだ選挙にいこう:2008/02/09(土) 15:52:34
でもそういうのって、予めアクセスとかで簡単に集計できるようになってるトコロが多いよな
中小は知らんけど
956名無しさん@そうだ選挙にいこう:2008/02/09(土) 16:26:11
お世話になります。

Excelの画面の移動なんですが、
マウスのホイールやの移動は、
決まったセル数だけ移動するので、
セルの高さや幅によって、画面のスクロールの量が違います。
(高さが、高いセルがあると、どこに移動したのか一瞬つかめなくなります。)

これを決まったピクセル分の移動に変えることは出来ないでしょうか。
(そうすれば、セルの高さに、移動が連動しないので、移動先をロストした後の確認する手間を省けるのですが。)
(たまに会社のPCで非常に画素が小さいPCをつかうことがあるのですが、苦痛で…。)
957名無しさん@そうだ選挙にいこう:2008/02/09(土) 17:16:46
質問させてください。
VBAのコードが知りたいです。

フォーマットがある程度統一された、複数のExcelファイル、シートがあります。
ある決まった位置のセルは、位置が決まっていない別のセルの内容を数式によってコピーしています。
B1のセルの内容が、『=Z9』の様にです。(Z9の内容は任意。Z9でない場合もある。B1は固定位置)
これを、コピー>形式を選択して貼り付け、で数式から値に変えたいのですが、
VBAのコードとしてはどうなるでしょうか。

Excelは2000、2002、2003です。(確か)

という質問をしようとして、マクロの記録という機能があることを知った(いまさら…)ので使ってみると、
Range("B1").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
というコードが記録されたのですが、いい感じでしょうか?
何か問題が考えられたりしないでしょうか。

あと、『マクロの保存先』というので、『個人用のマクロブック』というのがありますが、
これはどこに保存されているのでしょうか。
編集中のExcelファイルには、『個人用のマクロブック』を使用した痕跡は残るのでしょうか。

よろしくお願いします。
958名無しさん@そうだ選挙にいこう:2008/02/09(土) 17:37:35
>>957
とりあえず1時間くらい試行錯誤したり検索したりしてみてはどうか。
959名無しさん@そうだ選挙にいこう:2008/02/09(土) 17:57:40
検索したらどれも答えがのっててワロタ
960名無しさん@そうだ選挙にいこう:2008/02/09(土) 18:04:30
▼━質問テンプレ ━━━━━━━━━━━━
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 weekday weekend 日曜 祭日

A列3行目以下に、申込み日を入力するようになっているとき、入力された申込み日
データが土・日・祭日の年月日の場合、そのセルが赤く塗られるようにしたいのですが。
よろしく。
961名無しさん@そうだ選挙にいこう:2008/02/09(土) 18:16:10
他力本願かw
いい流れだなwww
962名無しさん@そうだ選挙にいこう:2008/02/09(土) 18:31:34
後は任せた
よろしく
>>963
963名無しさん@そうだ選挙にいこう:2008/02/09(土) 18:32:51
>>962
やだ

オレが丁寧な言葉遣いでよろしくって言ってんだから
答えがわからないんならレスするなボケ
ほらほら!答えがわかるヤツ!早く書けよカス!
以上、>>960心の叫び
964名無しさん@そうだ選挙にいこう:2008/02/09(土) 18:38:43
病院行って来い
965名無しさん@そうだ選挙にいこう:2008/02/09(土) 18:41:19
いや、>>960は今後質問テンプレはこれを使おうって意味の書込みじゃね?
966名無しさん@そうだ選挙にいこう:2008/02/09(土) 19:11:28
同一セル内に、文字列と計算式を混入する方法を教えてください。

例:「合計 30点」と同一セルに表示したい

国語←任意の文字列
30←セル参照計算式(例:A1×2)で半角から全角に変える
点←任意の文字列

【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 同一セル、文字列、挿入、計算式
967名無しさん@そうだ選挙にいこう:2008/02/09(土) 19:16:29
>>966
全角は=JIS()
あとは>>913
968名無しさん@そうだ選挙にいこう:2008/02/09(土) 19:19:03
A1に15と入ってた場合30にするって意味なら↓
=TEXT("合計"& JIS(A1*2) &"点",0)
969名無しさん@そうだ選挙にいこう:2008/02/09(土) 19:31:47
>>967
>>968
解決しましたありがとう
970960:2008/02/09(土) 19:32:05
自己解決しまいsた。
答えられなかった馬鹿どもは無駄なレスすんなよ。
971名無しさん@そうだ選挙にいこう:2008/02/09(土) 19:35:28
>>968
ちなみに最後の ,0)って何ですか?
972966:2008/02/09(土) 19:37:49
>>968
桁区切りをつける場合はどうすればいいでしょうか?
JIS(A1*1,000)だとエラーでます
973名無しさん@そうだ選挙にいこう:2008/02/09(土) 19:46:26
そりゃそうだw TEXT()をつかうといいよ
974名無しさん@そうだ選挙にいこう
>>971
セルの書式設定を表す引数。
入力する内容はセルの書式設定→ユーザー定義と同じ
0は一桁の数字を表す・・まぁ、数値と同じだな
応用すれば↓みたいなこともできる
ttp://www.relief.jp/itnote/archives/001341.php
>>972
=TEXT("合計"& JIS(TEXT(A1*2,"#,###,##0")) &"点","0")
こんな不自然なのでいいのか・・?

あと最後は,0)じゃなくて,"0")だったな