もう11時か、
2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50 [PR]女性必見!ネットで高収入バイト[PR]  

Excel総合相談所 88

1 :名無しさん@そうだ選挙にいこう:2009/11/01(日) 00:43:54
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に>>2-20あたりの注意書きや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総合相談所 87
ttp://pc11.2ch.net/test/read.cgi/bsoft/1254055959/

2 :名無しさん@そうだ選挙にいこう:2009/11/01(日) 01:28:58
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
・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 :名無しさん@そうだ選挙にいこう:2009/11/01(日) 01:30:02
★ルールを無視すると…
 >>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 :名無しさん@そうだ選挙にいこう:2009/11/01(日) 01:30:58
★ 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 :名無しさん@そうだ選挙にいこう:2009/11/01(日) 01:31:51
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)

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

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

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

 ▼グラフ
  ・ 棒グラフでひとつだけ突出したデータがあった場合に波線を入れて位置を合わせる
   (オートシェイプなどで見た目だけそうなるように弄る、別アプリでグラフを作り、オブジェクトとして挿入)
  ┌┐
  〜〜
  ||

6 :名無しさん@そうだ選挙にいこう:2009/11/01(日) 01:32:37
上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。
間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。
Excel2007についても未確認な項目が多いので変更点が有ればご指摘下さい。

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

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

以上でテンプレ終わり

7 :名無しさん@そうだ選挙にいこう:2009/11/01(日) 03:36:18
>>1-6


8 :名無しさん@そうだ選挙にいこう:2009/11/01(日) 15:02:51
>>1-6
乙です。


質問です。
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 (ヘルプでの)検索キーワード】cell row

D6セルに『テスト1』と入力して、そこから3行置きに『テスト2、テスト3・・・』と数字を増やすにはどうしたら良いですか?

自分で書いて失敗したのは以下の書き方です。

="テスト"&CELL("row",D6)-5


よろしくお願いします。

9 :名無しさん@そうだ選挙にいこう:2009/11/01(日) 15:27:13
>>8
CELL関数の代わりにROW使わせてもらったよ

=IF(MOD(ROW(),3)=0,"テスト"&(ROW()-3)/3,"")

10 :名無しさん@そうだ選挙にいこう:2009/11/01(日) 15:31:33
=IF(MOD(ROW(),3)=0,"test"&INT(ROW()/3)-1,"")

遅かった

11 :名無しさん@そうだ選挙にいこう:2009/11/01(日) 15:49:16
>>8

作業列に番号をふってからソートするんだ。
そっちの方が「良い」。

12 :名無しさん@そうだ選挙にいこう:2009/11/01(日) 16:14:58
>>11

13 :名無しさん@そうだ選挙にいこう:2009/11/01(日) 18:32:06
>8

D6セルに「テスト1」と入力後、D6:D8を選択して下にオートフィルじゃだめ?
数式でやりたいの?

>11は無いわw

14 :8:2009/11/01(日) 18:38:40
>>9-10
おかげ様で出来ました!
ありがとうございました。


>>11
???


>>13
そのやり方は知らなかったです。
勉強になりました!
ありがとうございます!


みなさん、どうもありがとうございました!

15 :名無しさん@そうだ選挙にいこう:2009/11/02(月) 12:50:25
11がわからない

16 :名無しさん@そうだ選挙にいこう:2009/11/02(月) 13:36:29
11のやり方は結構メジャーな方法

A列にテスト1〜テスト100までオートフィル。B列に1〜100まで番号を振る。
100の下にB列にもう一度1〜100まで番号を振る。
もう一度1〜100まで。
(つまり300行まで1〜100の繰り返し)
B列でソート。
出来上がり。

17 :名無しさん@そうだ選挙にいこう:2009/11/02(月) 13:57:28
でも>>13の方が簡単そうだなぁ。
左側に何か入力しておいて、D6に入力してから3個のセルを選択してフィルハンドルをダブルクリックすりゃいいんだし。

●はアクセス規制で書き込めないが何があったんだ?

18 :名無しさん@そうだ選挙にいこう:2009/11/02(月) 14:17:56
>>17

> でも>>13の方が簡単そうだなぁ。
今回の場合は>>13の方法でもいいな。この方法は正直忘れてた。
>>11がいいのはグループごとのソートという明確なルールによってデータが配置されること。


19 :名無しさん@そうだ選挙にいこう:2009/11/02(月) 17:39:26
>>13のやり方は秀逸だ・・知らんかった
関数&>>11しか知らなかったよ。

20 :名無しさん@そうだ選挙にいこう:2009/11/02(月) 17:52:50
Excelのオートフィルには色んな機能があって、
単純にドラッグやダブルクリックする他にもCtrlキーやAltキーと組み合わせると動作が変わる

21 :複乳:2009/11/02(月) 17:55:34
>>20
ためしにshiftと組み合わせたら挿入になった
色々あるんだねぇ

22 :名無しさん@そうだ選挙にいこう:2009/11/02(月) 22:08:21
>>13の応用で
B1に=A1
B4に=A2
B7に=A3
みたいな式にするときにも使えるね。
もちろんB1にそのまま=A1じゃ駄目だけど。

23 :13:2009/11/02(月) 22:25:23
ここまで評判が良いとちょっと恥ずかしい(*^^*)

24 :前スレ927:2009/11/02(月) 23:29:50
複乳 ◆MeiY43UMr.様、ありがとうございました。
規制で書き込めず、返事が遅れてすみません・・・

25 :名無しさん@そうだ選挙にいこう:2009/11/03(火) 10:00:43
くだらないことだけどさ、
vlookupってtrueがデフォで作られたんだよね・・・、なんとなくtrueとfalseが逆に思っただけ。

26 :名無しさん@そうだ選挙にいこう:2009/11/03(火) 13:34:44
>>25

ほんとにくだらないぞ。

27 :名無しさん@そうだ選挙にいこう:2009/11/03(火) 13:39:33
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

グループごとの集計で値の種類の数を出すにはどうすればいいでしょうか。
たとえば下記のような売上データの日付と品目の部分から

日付 品目
10/19 りんご
10/19 りんご
10/19 みかん
10/20 イチゴ
10/20 みかん
10/20 みかん
10/20 バナナ
10/21 イチゴ
10/21 イチゴ
10/21 イチゴ

下記のような表を作りたいです。
10/19 2
10/20 3
10/21 1

ピボットが得意そうな分野だと思ったけど、無理かな・・・ もしくは関数で

28 :複乳 ◆MeiY43UMr. :2009/11/03(火) 15:07:13
>>27
C2=IF(A2<>A1,A2,"")
D2=IF(A2<>A3,A2,"")
E2=IF(COUNTIF(INDIRECT("b"&MATCH(A2,C:C,0)&":"&"b"&ROW()),B2)>1,0,1)
F2=SUMIF(A:A,C2,E:E)
G2=IF(F2=0,0,COUNTIF($F$2:F2,">0"))
H2=INDIRECT("r"&MATCH(ROW()-1,G:G,0)&"c3",0)
I2=INDIRECT("r"&MATCH(ROW()-1,G:G,0)&"c6",0)
後は2行目〜好きなところまで下にオートフィル
HとIに答えが出るはず

もしくはA・B列を選択、データ、フィルタ、フィルタオプションで重複するデータを無視にチェック
集計でデータの個数ってやるのもいいかもしれない
ピボットってこの問題解けるの?使わないから知らないんだけど

29 :名無しさん@そうだ選挙にいこう:2009/11/03(火) 17:42:10
>>28
ありがとうございます。
やっぱり関数でやると、面倒になるよね。
フィルターオプションの重複無視を使ってからの集計がいい案ですね。
助かります。

30 :名無しさん@そうだ選挙にいこう:2009/11/03(火) 22:14:22
Foe Eachを使い、売上実績.xlsがあったらアクティブになってるシート名を
変数WS3へ入れたいんですが、下記の???には何て書けばいいの?

For Each WB In Workbooks
 If WB.Name ="売上実績" Then
  WB3 = WB.Name
  WS3 = ???
  Exit For
 End If
Next

31 :名無しさん@そうだ選挙にいこう:2009/11/03(火) 22:36:40
>>30
ActiveSheet.Name

32 :名無しさん@そうだ選挙にいこう:2009/11/03(火) 23:12:21
ここのしとたち、あたまいいな。たちまちかいけつしる。

33 :30:2009/11/03(火) 23:18:55
>>31
ありがd!!

ActiveWorksheet.Name と書いたらダメだったので途方に暮れてました・・・
ブック名は ActiveWorkbook.Name と「Work」が付くのに、何でシート名は ActiveSheet.Name なんでしょう?

34 :名無しさん@そうだ選挙にいこう:2009/11/03(火) 23:25:04
>>32
2ちゃんねる語として、その文法は間違いw
語尾の「しる」は「〜しろ」という命令形なので、「〜する」では使わない。

と脱線してみるテスト

35 :名無しさん@そうだ選挙にいこう:2009/11/03(火) 23:32:36
sheetとsheetsもよく混乱します><
よくわかっていなからだけどさ、
ActiveSheetとか、Worksheetsとかさ。

36 :名無しさん@そうだ選挙にいこう:2009/11/03(火) 23:58:25
単数と複数

37 :名無しさん@そうだ選挙にいこう:2009/11/04(水) 00:15:09
A1のセル内に

ABCDEFGという文字列があった場合
・文字列がいくつあろうとも一番右の値を取得 = G
・左から数えて4つ目の文字列を取得を取得 = D
・Bが左から数えて何個目か? = 2

それぞれ教えてください

38 :複乳 ◆MeiY43UMr. :2009/11/04(水) 00:53:40
>>34
〜テスト、は率先してやってみるという意味合いが強い言葉にテストと付ける事により
失敗した際の責任を全部帳消しに出来る便利な語尾
脱線程度で使うのは少しもったいない
>>35
覚えるしかない。けど大概複数でしょう。単数なのは最初から付いてる名前ぐらいなもんで
>>37
・文字列がいくつあろうとも一番右の値を取得 = right(a1,1)
・左から数えて4つ目の文字列を取得を取得 = mid(a1,4)
・Bが左から数えて何個目か? = find(a1,"b")
もし分からなきゃ「関数」で検索するとよろしい。エクセルの関数一覧がでるサイトが最初に出る

39 :名無しさん@そうだ選挙にいこう:2009/11/04(水) 01:04:26
=FIND("B",A1,1)でネノ?

40 :複乳 ◆MeiY43UMr. :2009/11/04(水) 01:05:19
そうか、そうだな。すまんかった。寝る。

41 :名無しさん@そうだ選挙にいこう:2009/11/04(水) 02:15:09
>>33 シートの場合、ワークシートとグラフシートがあるから
Worksheetsコレクションだとワークシートのみ
Sheetsコレクションだとワークシートとグラフシートが扱える
グラフシートを作ってWorksheets.CountやSheets.Countをやってみればわかるよ


42 :名無しさん@そうだ選挙にいこう:2009/11/04(水) 14:09:05
機能をよく考えてみるとわかるよ。
Activeにできるのは1つだけ。BookもSheetもね。ウィンドウを複数開いても一番上に表示できるのは1つだけでしょ。
Selectは複数できる。例えばセルをたくさん選択していっぺんにデータを入れたり消したり。だから複数形でCells。

Workが付くかどうかの区別はよくわかんない。英語力があればわかるのかなあ。

43 :名無しさん@そうだ選挙にいこう:2009/11/04(水) 14:16:27
まだ未熟なせいで、うろ覚えでworkをつけては黄色くなり、
sをつけては黄色くなり・・・
精進するわ

44 :名無しさん@そうだ選挙にいこう:2009/11/04(水) 14:48:22
ActiveWorksheetじゃなくActivesheetなのは
>>41 の通りグラフシートがあるから

Worksheetが必ずActiveになるとは限らない
だからActivesheetとなる

ActiveWorkbookの場合はWorkbookの他にはないから

45 :名無しさん@そうだ選挙にいこう:2009/11/04(水) 15:06:47
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

私女だけど質問させて下さい><
マクロで出力した新しいBOOKを、
デスクトップに有無を言わさず強制的に、
保存させる方法はありますか?><
任意のPCで実現させたいです><

教えてください><

46 :複乳:2009/11/04(水) 16:20:33
>>45
Sub fukunyu()
  Application.DisplayAlerts = False
Dim Path As String, WSH As Variant
Set WSH = CreateObject("WScript.Shell")
Path = WSH.SpecialFolders("Desktop") & "\"
ActiveWorkbook.SaveAs Path & "Sample1.xls"
Set WSH = Nothing
Application.DisplayAlerts = True
End Sub

がんば><

47 :名無しさん@そうだ選挙にいこう:2009/11/04(水) 21:29:15
「私女だけど」と断るレスの93%は、男。
「><」の顔文字を使うレスの89%は、男。


48 :複乳 ◆MeiY43UMr. :2009/11/04(水) 22:08:37
私女だけど><

49 :名無しさん@そうだ選挙にいこう:2009/11/04(水) 22:58:04
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 使えません
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

どちらで聞いていいのかわからなかったので、こちらで質問させてください。
VLOOKUPについてです。
Sheet1の検索値『食品』をSheet2から探し値を反映させたいです。
もしSheet2に『食品』というキーワードがないときに、0となるようにしたいのですが、数式がわかりません。
下手な文章ですみませんが、教えてください。

50 :名無しさん@そうだ選挙にいこう:2009/11/04(水) 23:02:26
新垣帳.xlsのG列が0のとき、B列の番号を恋空.xlsから探し、C列の値が0より大きかったら、
新垣帳.xlsのE列へ書き込むマクロを書きました。
ところが、恋空.xlsに該当するものがないとき↓のエラーが出てしまいます。

  実行時エラー '91'
  オブジェクト変数またはWith ブロック変数が設定されていません。

そこで、On Error Resume Nextを書いたら続行してくれるようになりました。
しかし、今度は意図しない値も書き込まれてしまうようになりました。
また、エラーが出たときのPTを知りたいので、これをシート"ERR"へ書き出すには
どうすればいいでしょうか?

Sub E列を埋めれ()
Dim i As Integer, j As Integer, PT As String, PRC As Single
 i = 3: j = 1
 With Workbooks("新垣帳.xls")
  Do While .Worksheets("MENU").Cells(i, 1) <> ""
   If .Worksheets("MENU").Cells(i, 7) = 0 Then
    PT = .Worksheets("MENU").Cells(i, 2)
    On Error Resume Next
    PRC = Workbooks("恋空.xls").Worksheets("DATA").Columns("A").Find(what:=PT).Offset(0, 2)
    If PRC <= 0 Then
     .Worksheets("ERR").Cells(j, 1) = PT
     j = j + 1
    Else
     .Worksheets("MENU").Cells(i, 5) = PRC
    End If
   End If
   i = i + 1
  Loop
 End With
End Sub

51 :名無しさん@そうだ選挙にいこう:2009/11/04(水) 23:40:54
>>49
=IF(ISERROR(VLOOKUP(検索条件)),0,(VLOOKUP(検索条件)))

52 :名無しさん@そうだ選挙にいこう:2009/11/04(水) 23:42:46
PRC=Workbooks〜 の前に PRC=0 としておけば良いような気もするけど
On Error Resume Nextで手を抜かずにOn Error Gotoを使ってエラー処理しましょう。

53 :名無しさん@そうだ選挙にいこう:2009/11/05(木) 12:27:08
mousの勉強をしています
メニューバーの書式の中にあるオートフォーマットやスタイルというのは一般的に使うのでしょうか?
今まで何年かエクセルさわっていますが存在も知りませんでした

54 :複乳:2009/11/05(木) 12:57:09
>>53
私も知りませんでした
多分一生使わないと思います

55 :45:2009/11/05(木) 13:09:25
>>46
すげええええええええええ

できた><ありがとう><

56 :名無しさん@そうだ選挙にいこう:2009/11/05(木) 13:25:10
>>53
スタイルは10数年前作ったブックで今もそのブックを時々使ってるけが、そのブック以外使ったことないので使い方も忘れた。

57 :名無しさん@そうだ選挙にいこう:2009/11/05(木) 13:25:52
スタイルとか何のためにあるんだろね?w
Ctrl+!で充分じゃん

58 :名無しさん@そうだ選挙にいこう:2009/11/05(木) 18:03:56
お世話になります。
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
 
アンケートの集約で、100%積み上げ横棒グラフを書いています。
質問事項が56、各項目の選択肢が4というものです。
これを二つに分けてグラフ化してプリントアウトしようと考えました。
そのときグラフの項目名がうまく表示できません。28ある項目の内
4〜5個しか表示されません。項目軸の設定で文字のポイント数を下げると
全部表示されますが、4ポイントとか6ポイントまで下げねばならず、
プリントアウトしたものの字が小さくて実用になりません。
何とかなりませんでしょうか
 宜しくご教授下さい。


59 :名無しさん@そうだ選挙にいこう:2009/11/05(木) 19:27:08
>58
Excel2003(WinXP)で試してみました。1グラフあたりの項目数は28とし、
グラフシートをA3横、項目のフォントを14ポイントにまではできました。
あとは印刷の際、A3→A4縮小機能を利用すればいかが?


60 :59:2009/11/05(木) 19:30:52
追記
グラフはグラフシートに描いています。

というか、A4横でも9ポイントで大丈夫ですよ。グラフシートに出力してみては?

61 :名無しさん@そうだ選挙にいこう:2009/11/06(金) 08:13:26
>>58
他のだとそうならないのにそのグラフだけそうなるとか?

なんかたまにグラフの項目軸の幅、おかしくなったりするんだけど。
あと、Excelの表示倍率変えると表示されるのに、100%より小さくすると消えたり折り返したりするとか。

項目軸の幅が明らかにおかしいときはグラフ作り直したほうが早い。
倍率の問題だったら、印刷するときの倍率に気をつけて。

62 :名無しさん@そうだ選挙にいこう:2009/11/06(金) 10:09:43
>なんかたまにグラフの項目軸の幅、おかしくなったりするんだけど。

んなこたぁないw
君が知らないだけでしょ。

63 :名無しさん@そうだ選挙にいこう:2009/11/06(金) 10:38:05
ifの条件が2つあるときって、ifを入れ子にしなければ無理ですか?andとか&&みたいなのはないですか?

あ、私女ですが教えてください><

64 :名無しさん@そうだ選挙にいこう:2009/11/06(金) 10:44:20
and
=IF(AND(A1=1,A2=1),"当たり","はずれ")
=IF((A1=1)*(A2=1),"当たり","はずれ")

or
=IF(OR(A1=1,A2=1),"当たり","はずれ")
=IF((A1=1)+(A2=1),"当たり","はずれ")

こういうこと?

65 :複乳:2009/11/06(金) 10:49:43
>>63
論理式
=(a1=5)*1
だとa1が5の時1に、5以外で0になる
更に=(a1=5)*1*3
とすればa1が5の時3になる
=(a1=5)*(b1=2)*6
で=if(a1=5,if(b1=2,6))
と同じ式になる。ただ>64みたいに文字列の表示などには使えない
(CODE関数などを無理やり使えば可能といえば可能かもしれないが)

66 :名無しさん@そうだ選挙にいこう:2009/11/06(金) 11:12:27
>>64,65
すばらしい
ANDとかORあったんですね。かなりすっきりしました。これから多用するなぁ。
ありがとうございました。

67 :名無しさん@そうだ選挙にいこう:2009/11/06(金) 17:13:27
>>59さん >>60さん >>61さん ありがとうございました。
自己解決できました。
「軸の書式設定」の「目盛」タグの「目盛ラベルの間隔」を「1」に設定することで解決しました。
m(..)m

68 :50:2009/11/06(金) 22:51:38
>>52
ありがとうございます。
もうちょっと頑張ってみます。

69 :名無しさん@そうだ選挙にいこう:2009/11/07(土) 04:52:57
excel2007のアカデミック版を持っているのですが
これって二台のPCに入れる事はライセンス的に認められてますか?
通常のアカデミックでないものなら二台まではOKのようなのですが。。

70 :名無しさん@そうだ選挙にいこう:2009/11/07(土) 06:27:18
つ ttp://www.google.co.jp

71 :名無しさん@そうだ選挙にいこう:2009/11/07(土) 08:49:17
Good morning.
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2007
Q1.chechと打ち込むとche chのように見えるのですがchechと美しく見えるようにできませんか?
Q2.11/7 と打ち込み、Enterを押すと11月7日と表示されるが11/7のまま表示できないか?

よろしくお願いします。


72 :名無しさん@そうだ選挙にいこう:2009/11/07(土) 09:20:12
Q1はフォント
Q2は表示形式

73 :名無しさん@そうだ選挙にいこう:2009/11/07(土) 09:20:21
>>71
Q1:フォントを変える。msゴシックとかを使えば?
Q2:セルを右クリック、セルの書式設定の表示形式で日付を選んでお好みのを選ぶ。
   計算に使わないなら、文字列もしくは最初に「'」をつける

74 :名無しさん@そうだ選挙にいこう:2009/11/07(土) 13:34:46
EXCEL2003
一つのセルに2日間の日付をいれられるように書式はできますか?

2009/11/05
2009/11/25 と入力すると

1105
1125 になるようにしたいです

75 :複乳 ◆MeiY43UMr. :2009/11/07(土) 13:38:51
>>74
A1A2に入ってるってことでいいのか?
その場合=TEXT(A1,"mmdd")&CHAR(10)&TEXT(A2,"mmdd")
で書式設定の折り返して表示にチェック


76 :74:2009/11/07(土) 13:50:24
ありがとうございます。
A1の中に二つの日付を入力して、
>>74のようにしたいのですが。

2009/11/05 → 1105 は出来のですが、二つ同時は出来るのかな?

77 :複乳 ◆MeiY43UMr. :2009/11/07(土) 14:00:21
>>76
できるっちゃあできるが、改行やコンマか何かで区切る?それとも2009/11/072009/12/01みたいに続けて書くのか
それと日付・月は一月一日なら1/1なのか01/01なのか
この二つ教えておくれ

78 :74:2009/11/07(土) 14:03:06
改行で0101です。01/01でも構いません。

79 :複乳 ◆MeiY43UMr. :2009/11/07(土) 14:03:35
>>78
ほい
=MID(A1,6,2)&MID(A1,9,2)&MID(A1,17,2)&MID(A1,20,2)


80 :74:2009/11/07(土) 14:14:22
A1に貼り付けましたが出来ませんでした。
0と表示されました。

81 :複乳 ◆MeiY43UMr. :2009/11/07(土) 14:23:12
あ、しまった書式か。書式は無理だな
A1に入力してA1以外(A2でもB1でも)にその式を貼ると>>74の通りになるよってことでした

82 :74:2009/11/07(土) 15:58:55
ありがとうございました。

83 :名無しさん@そうだ選挙にいこう:2009/11/07(土) 19:03:32
なんか知恵袋でも見たな

84 :名無しさん@そうだ選挙にいこう:2009/11/07(土) 19:23:19
セルに文字を入力直後、
左向き矢印キーでカーソル移動しようとすると
選択するセルが変わってしまいます。

あらかじめ、F2キーを押す以外の方法はありますか。


85 :名無しさん@そうだ選挙にいこう:2009/11/07(土) 19:52:20
ダブルクリックする

まあ慣れだよ

86 :名無しさん@そうだ選挙にいこう:2009/11/07(土) 20:33:43
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可・否
【5 検索キーワード     】 ダブルクオート エクセル csv

CSV形式で出力した奴に文字列をダブルクオートで囲み、
数列はそのままの形式にしたいのですがどうすればいいですか?

87 :71:2009/11/07(土) 20:34:37
Good night.
>>72
>>73
ありがとうございます。問題は解決しました。
しかし、新しい問題が発生しました。
Q3.その方法だとEnterを押すたびに設定が初期化されてしまいます。
設定を固定化する方法はないのか?

よろしくお願いします。


88 :名無しさん@そうだ選挙にいこう:2009/11/07(土) 20:36:55
>>51ありがとうございました
>>49です

まだ一つわからないとこがあります
例えば『ラーメン』100食
『ラーメンセット』200食
のときVlookupを使うと『ラーメン』も200食となってしまいます
改善策を教えてください

89 :名無しさん@そうだ選挙にいこう:2009/11/07(土) 21:07:25
まぁINDEX/MATCHの方が優れてるってことか。

90 :複乳 ◆MeiY43UMr. :2009/11/07(土) 21:16:51
>>86
そういう設定は調べても無かった
ダブルクォートで囲ませたい場合はセルの中にカンマを含ませると可能だが、希望とは違う答えだろうなぁ
俺がどうしてもやらなきゃならない場合は、csvで保存した後カンマを「,"」改行を「"+改行+"」に置換するかな
VBAで組めなくも無いけどめんどくさいからやらない

数式を残したい場合はオプションの表示のウィンドウオプションにある「数式」にチェックをつけるとできるよ

>>88
ttp://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/vlookup2.htm
最後の検索の型という部分を0にする

>>89
この問題の場合は同じじゃないの?
vlookupもmatchも順番に並んでないと変な値をつかんでしまう。まぁソートのアルゴリズム通りにやってるだけだろうけどね

91 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 01:03:15
excelで作った折線グラフの折線だけをパワーポイントに貼り付けることはできないでしょうか。
あるいはそれと似たようなことができるなら紹介してください。
お願いします。

92 :複乳 ◆MeiY43UMr. :2009/11/08(日) 01:18:19
>>91
グラフの背景選択してdeleteキー
目盛り線を選択してdelete
これで折れ線だけになる。この状態でPrtScr押して、ペイントに貼り付け
テキトーに編集してコピーしてパワーポイントに貼り付け
でどうでしょう
折れ線だけは無理かねぇ〜

93 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 01:35:07
92さんへ、早速ありがとうございます。
なるほど背景、目盛り線はdeleteで消せるんですね。

折れ線だけはなかなか難しいようです。
折れ線をクリックすると折れ線だけ選択はされるみたいなのでコピーできそうな感じなのですが。
なんかいい方法はないでしょうか・・・。

94 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 01:37:12
せめて、背景を透明化させることができればと思うけど、なぜか透明化の設定が無効になってるし・・・。
Excel 2003です。


95 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 01:50:43
エクセルの他に、このようなことのできるグラフソフトがあれば教えてほしいです。

96 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 01:54:41
レイヤーとかでなんとかならないかなぁ。

97 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 02:12:00
ん、、できたかも。
第2数値軸を設定するとなんか91の言ってたようなことができた。

98 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 08:06:33
若干スレ違いなように思われるのは気のせいか。

99 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 10:04:50
>>87
シート全体のフォントをあらかじめ変えておく

100 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 12:21:51


101 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 12:36:26
困ってるんでお願いします

厚生労働省のHPからジョプカードを落として自宅excel2002で編集、その後ハロワでexcel2007(しかない)で
コンサルタント記入しようとすると玉にバグでかシートの保護が以後解除出来なくなる事があるんですけどこれ直す方法ないですか?
最初は保護解除できるんだけど、excel2007で編集してると何故か保護してる状態なのに保護解除出来なくなる。保護解除がグレーアウトして押せない。


ジョブカードの四角い枠内をクリックすると下地の編集ではなく、枠の文字編集になってしまう。
枠を一時的にずらすと問題ないのですが、いちいち動かすの面倒なので、枠のみ有効でクリックしたら下地の履歴書とかの文字が編集出切るようにしたい。

以上、2つお願いします

102 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 13:39:25
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2000(9.0.2812)/2003(11.8307.8221) SP3
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 VBA メーラー 起動

VBAからデフォルトのメーラーを起動したときに
宛先、件名はセットされますが、本文がセットされません。

以下のmsdnのサイトを参考にしています。
http://msdn.microsoft.com/ja-jp/library/cc440860.aspx

アドバイスよろしくお願いします。

Sub test()
Dim strBody As String
strBody = "本文"
Shell "cmd.exe /c start mailto:Test@xxx.co.jp?subject=メーラーの起動&body=" & strBody, vbNormalFocus
End Sub

103 :102:2009/11/08(日) 13:44:24
付けたしです。
デフォルトのメーラーは、
Outlook Express 6 (6.00.2900.5512) を使っています。


104 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 13:51:59
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 ちょっと
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

A1に入力された数字のシートをSelectするマクロを作っています。

X = Range("A1")
Sheets(X).Select
 以下略

このようにすると、A1にある数字のシートではなく、
シートを左からA1番目のシートがselectされてしまいます。
どうすればいいでしょうか??

具体的に言えば、

シートの並びが左から

メニュー,1,2,3,4,・・・・ とあって

A1=3 の時、"3"のシートでなく、"2"のシートがselectされてしまいます。

105 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 13:54:04
問題の切り分けをしよう

Shell "cmd.exe /c start mailto:Test@xxx.co.jp?subject=メーラーの起動&body=本文", vbNormalFocus

これで問題なければ次を試す

strBody = "本文"
cmdexe= "cmd.exe /c start mailto:Test@xxx.co.jp?subject=メーラーの起動&body=" & strBody
Shell cmdexe, vbNormalFocus

106 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 14:13:40
【仕事】会社の仕事でマクロを組むのはズル?事務作業の効率化に意見さまざま [09/11/06]
ttp://anchorage.2ch.net/test/read.cgi/bizplus/1257644267/


107 :102:2009/11/08(日) 14:17:07
>>105さん
レスありがとうございます。

>>Shell "cmd.exe /c start mailto:Test@xxx.co.jp?subject=メーラーの起動&body=本文", vbNormalFocus

こちらでやってもダメでした。
「本文」を「abc」や「123」など半角英数字でも貼りつきません。

108 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 14:21:48
>>107
うちでも試してみた。windowsのスタートボタンから「ファイル名を指定して実行」で
cmd.exe /c start mailto:Test@xxx.co.jp?subject=メーラーの起動&body=本文
を入力しても、たしかに本文は入らない。

Excelの問題じゃないねー

109 :複乳 ◆MeiY43UMr. :2009/11/08(日) 14:24:18
2003+OE6で試したが無理だった


110 :複乳 ◆MeiY43UMr. :2009/11/08(日) 14:47:15
>>104
x = Range("A1")
Sheets(x & "").Select

& ""
を付ければ文字列に
* 1
を付ければ数値にできるよ。

もしくはdim x as stringと文字列変数にしておけば良い

111 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 14:52:16
>104

>Sheets(X).Select
>シートを左からA1番目のシートがselectされてしまいます。

大抵の場合はそういうものです。
直接指定したいのであればシート名を記述するべき。


112 :102:2009/11/08(日) 14:54:28
>>108-109
こちらもコマンドプロンプト直接から試してみましたが駄目でした。
これ以上はスレ違いになってしまうので、
コマンドプロンプトの観点から調べてみます。
ありがとうございました。


113 :複乳 ◆MeiY43UMr. :2009/11/08(日) 14:58:06
>>112
Shell "cmd.exe /k
と/kオプションをつけてプロンプトを表示させたままにすると、"body"は認識されていません〜とでる
対応してないのかも?

114 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 15:20:14
&などが入っているのはまずい。
とりあえず cmd/? を実行してヘルプを読むんだ。

115 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 17:52:25
>>102
これでいけた。
Dim strBody As String
strBody = "本文"
Shell "cmd.exe /c start mailto:Test@xxx.co.jp?subject=メーラーの起動^&body=" & strBody, vbNormalFocus

>>114さんのヒントを元に、&の前に^を付けたら動いたよ。
""に入っている&を認識させるのに^が必要みたい。


116 :102:2009/11/08(日) 19:07:57
>>113-115
ありがとうございました。
動作も確認しました。
レスいただいた皆様に感謝です。

117 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 23:51:28
>>94
ん?普通にできるでしょ。

軸の設定を縦軸横軸とも、チェックを全部「なし」にして
目盛り線はdelete
プロットエリアの書式設定もすべて「なし」

で、グラフをコピーして、パワポ上で「形式を選択して貼り付け」で「拡張メタファイル」で貼り付け

118 :117:2009/11/08(日) 23:56:04
普通に貼り付けても(Excelグラフオブジェクトとして挿入される)大丈夫だったわ。

119 :名無しさん@そうだ選挙にいこう:2009/11/09(月) 04:36:16
Good morning.
>>99
ありがとうございます。
シート全体のフォントで検索したら成功しました。

日付も11/9と打ったら11月9日ではなく,シート全体で11/9と表示できないか?



120 :複乳:2009/11/09(月) 09:36:56
>>119
CTRL+Aを押せば全セル選択できる
その状態で右クリック、書式設定をする

121 :名無しさん@そうだ選挙にいこう:2009/11/09(月) 10:20:18
既に9ポイントのフォントで入力されているセルの文字の先頭に
1文字18ポイントの文字を入れる事を繰り返す作業をしています
この状況だと18ポイントで文字入力固定できないでしょうか?
今は1文字入れてはフォントを18ポイントに変えてるのですが。
WindowsXp Excel2003です。

122 :複乳:2009/11/09(月) 10:36:44
>>121
VBAならいけるかも。使えるならやってみる
VBA使えないなら、別シートにA列を18ポイント、B列を9ポイントにして入力しておく
そのセルを図のリンク貼り付け(カメラ機能)をすれば編集は楽になると思います
↓カメラ機能の使い方
ttp://hp.vector.co.jp/authors/VA014071/tips/camera.html

123 :名無しさん@そうだ選挙にいこう:2009/11/09(月) 10:59:18
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

マクロが登録されているブックのブック名を取得する方法、あるいはマクロが
登録されているブックをアクティブにする方法を教えてください。

マクロのユーザフォームでの実行結果をシートに記録したいのですが、複数の
ブックが開かれていて他のブックがアクティブになっているときに意図しない
動作になってしまいます。
そこでマクロの登録してあるブックをアクティブにしたのですがブック名が変わ
ってもマクロを修正しなくても良いようにしたいと考えています。

よろしくお願いします。

124 :複乳:2009/11/09(月) 11:22:55
>>123
Sub a()
Dim a
a = ThisWorkbook.Name
ActiveWindow.ActivateNext
Windows(a).Activate
End Sub

単純にマクロ実行したブックの名前を変数に入れて、
それをアクテイブにするといいんじゃないかなぁ

ttp://www2s.biglobe.ne.jp/~iryo/vba/VBA03.html
3-10から引用

125 :123:2009/11/09(月) 11:28:24
>124さん

ThisWorkbookでしたか。
無事解決できました。

早々の回答、ありがとうございました。

126 :名無しさん@そうだ選挙にいこう:2009/11/09(月) 13:59:31
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

条件付き書式でセルのデータが特定値の場合にセルに色づけをしたのですが、別シートにその色だけを残したい(セルのデータは消去の状態)のですが、可能でしょうか?


127 :複乳:2009/11/09(月) 16:00:07
>>126
ttp://www.eurus.dti.ne.jp/~yoneyama/Excel/jyo-syo.html
の下のほう
元のシートを残し、indirectか名前の定義で条件付書式を設定し、範囲は元のシートとする
色だけコピーはできそうでできないな

128 :名無しさん@そうだ選挙にいこう:2009/11/09(月) 20:48:39
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel07
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否


非常に初歩的な質問で申し訳ないですが、
エクセルの表計算について教えて下さい。

現在複数のパソコンで共有しているエクセルファイルがあります。

ある社員AがAのパソコンからそのファイルを開き、
編集する過程で計算方法を手動に変え、
そのまま上書き保存したとします。

その後社員BがBのパソコンからそのファイルを開いた場合、
計算方法は手動に変わったままになるのでしょうか?

それとも普段自分のパソコンで自動にしていれば、
たとえAがAのパソコンで手動にしていても、

Bのパソコンで開いたときには自動になっているのでしょうか?

実験すればいいのですが、
諸事情でしばらく実験できないので、
どなたか教えていただけないでしょうか?

129 :名無しさん@そうだ選挙にいこう:2009/11/09(月) 21:50:51
なんか同じ内容をどこかで見たような・・・・w

手動になるよん

130 :名無しさん@そうだ選挙にいこう:2009/11/09(月) 23:14:17
質問です。

SeetChangeイベントで、

Dim GYO As Long
GYO = Target.Row

Range(Cells(GYO, 1), Cells(GYO, 10)).Font.ColorIndex = 1

というふうに、変更されたセルの行数を取得してマクロを組んでいます。

ここで、例えば、複数セルを選択して削除やコピーされた時、
一行しか色が変わりません。
変数宣言の仕方で複数行対応できますか?

助けて下さい。眠くて死にそうです。

131 :名無しさん@そうだ選挙にいこう:2009/11/10(火) 00:15:42
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 ちょっとなら
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

シートX(変数)から、SUMPRODUCTで
E列がりんごで且つ、F列が「Cells(i,1)」の数を返すマクロを作っています。

Cells(i, 2).Value = Evaluate("SUMPRODUCT((" & X & "!E:E=りんご)*(" & X & "!F:F=" & Cells(i, 1) & "))")

上記だと、NAME?エラーが返ってきてしまいます。
どこがおかしいのでしょうか?

132 :131:2009/11/10(火) 00:43:41
自己解決しました。。。
初歩的なミスのオンパレード・・・。

133 :名無しさん@そうだ選挙にいこう:2009/11/10(火) 03:06:03
頭がオカシイ

134 :名無しさん@そうだ選挙にいこう:2009/11/10(火) 03:29:55
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

他ブックの内容をリストボックスに表示したいのですが、どうすればいいでしょうか?
A行にID,B行に名前がずらっと表示されているブックでいいです。シートはSheet1で構いません。
読みだすブックは同じファイルで結構です。
よろしくお願いします

135 :名無しさん@そうだ選挙にいこう:2009/11/10(火) 07:26:58
>>129
ありがとうございました

136 :名無しさん@そうだ選挙にいこう:2009/11/10(火) 08:20:55
>134

additem

137 :名無しさん@そうだ選挙にいこう:2009/11/10(火) 08:30:57
>>130
Target.Rows.Count

138 :名無しさん@そうだ選挙にいこう:2009/11/10(火) 10:22:35
>>130
Target.Resize(,10).Font.ColorIndex=1

139 :134:2009/11/10(火) 11:54:36
Private Sub UserForm_Initialize()
Dim lastRow As Long
Dim ReturnBook As Workbook, TargetBook As Workbook
Set ReturnBook = ActiveWorkbook
Application.ScreenUpdating = False
Set TargetBook = Workbooks.Open("D:\test\sample.xls")

With Worksheets("商品マスタ")
lastRow = .Cells(Rows.Count, 1).End(xlUp).Row
End With
With ListBox1
.ColumnCount = 3
.ColumnWidths = "50;50;50"
.RowSource = "商品マスタ!B2:D" & lastRow
End With
ReturnBook.Activate
Application.ScreenUpdating = True
TargetBook.Close
End Sub

とりあえずリストボックス自体はなんとか表示することは出来たのですが、
リストボックスの最終行が文字化けしてしまい、
この操作を完了するのに十分な記憶域がありません。とエラーが出てしまいます
助けて下さい・・・

140 :名無しさん@そうだ選挙にいこう:2009/11/10(火) 21:25:46
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】


ttp://www1.axfc.net/uploader/Img/link.pl?dr=5451451746&file=Img_64624.jpg
説明の仕方が分からないので図に描いてみました。
図の様に文字書きたいんですができますか?

141 :名無しさん@そうだ選挙にいこう:2009/11/10(火) 22:43:25
>>140
絵が汚すぎワロス

それはともかく、
セルを結合することはできるけど分割することはできない。
だから、A列を二つに分割してそれぞれに文字を入れるようなことはできない。
ただし、A列とB列を結合しておいて、必要に応じて結合を解除するのならできる。

あるいは単にテキストボックスやオートシェイプを使って、セルが分割されているように見せかけることはできる。

エクセルはそもそも「表を作るツール」ではないので、あまり柔軟な表を作ることはできない。
複雑な形の表を、計算とかをさせるのではなくてただ表として表示するための目的で作るのなら、
ワードなどの他のソフトを使って作るべき、と一応言っておく。

142 :名無しさん@そうだ選挙にいこう:2009/11/10(火) 22:51:39
>>141
ありがとうございます。
今回は計算の必要ないのでワードで挑戦してみます。

143 :名無しさん@そうだ選挙にいこう:2009/11/10(火) 23:23:23
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5検索キーワード】
エクセル初心者ですいません
vlookupで表示した数字が日々更新されるのですが、例えば数字更新時に昨日の数字をひとつ隣のセルに移行し更新した数字を昨日数字があった場所(元の場所)と言った形で表示することは可能でしょうか?

簡単に言ってしまうと
数字を更新したら前の数字が自動で一個右のセルにずらしたいのです。
ただ表示されている数字がvlookupを使ったものでエクセル始めたばかりではわかりません・・・
よろしくおねがいします。

144 :複乳 ◆MeiY43UMr. :2009/11/10(火) 23:31:26
fgv

145 :複乳 ◆MeiY43UMr. :2009/11/10(火) 23:32:55
>>143

146 :複乳 ◆MeiY43UMr. :2009/11/10(火) 23:34:47
>>143
値を残したいならVBAしかない
=now=tofdayは今の日付などをのこせるが こう新されてしまう
VBAがダメなら値で貼り付けをうまく使うしかない

147 :名無しさん@そうだ選挙にいこう:2009/11/10(火) 23:40:21
素早い解答ありがとうございました。
更新の数字が多すぎるのでどうにかならないのかと思い質問しました!

148 :名無しさん@そうだ選挙にいこう:2009/11/10(火) 23:46:53
複乳はどんなつまらない質問にも真正面の回答だな。
質問者は喜ぶだろうが本人のためにならないと思うぞ。

>>143
日々更新されるようなデータは縦に並べるべし。
右にずらすなんてやっちゃだめ。VBAでできてもだめ。

149 :複乳 ◆MeiY43UMr. :2009/11/11(水) 00:01:07
>>147
CTRL+Aで全選択
その状態でコピー、右クリックの形式を選択して〜の値で貼り付け
で数式の結果が阿多タイで保存される
>>148
つまんねー仕事にはしばしば共感できるところがある。散々やってきたからね
それで大体予想できたりもする。まぁ外れてるかもしれないけどね
「A1+A2の結果をプリンタアウトしてB1に入れてB2に足せ」みたいな仕事なんて仕事聞いたことがある?
ないなら普通の会社です。あるなら俺と同じです。
中小・零細には多分しょっちゅうある。周りにはあった。そういうウンコ以下の仕事を正面切って解決してあげたい
というのが俺の思い
無駄に「B2=A1+A2でいいんじゃないですか」というと無駄に怒られるからね
俺がそうだったから
ただ効率化できそうなところは私の知識を尽くして助言はしているつもりだよ

150 :名無しさん@そうだ選挙にいこう:2009/11/11(水) 00:16:29
>>149
私は違うな。そうは思わない。
つまらないものはつまらない。
つまらないものに価値は無い。

私もお前と同じで、つまらない仕事を何度も強制されている。
でもそこからどっちに進むかが違うんだな。
つまらない質問にお前がつまらない回答をすると、つまらない手法が大量生産されてしまう。
VBAで値を右にコピーする方法を覚えた>>143は、何年か後になって自分の後輩や部下にゴミみたいな仕事を伝承していくんだぞ。
ちょうどお前が経験したように。

151 :複乳 ◆MeiY43UMr. :2009/11/11(水) 00:43:48
>>150
私は違うな。そうは思わない。
つまらないものはつまらない。
つまらないものでも 価値は ある

私がそうだったので言うが
私の上司は本当にウンコみたいな作業を仕事といってはばからない人だった
-中略-
その人は首になった。今私はその業務をVBAに置き換えて別の方々と仲良くやっている
まぁ、上司を殺すために自分がイエスマンになって技術を蓄えるか
上司を説得してその職場自体を帰るか、の違いだろうね
私はその前者を見越してイエスマンになった
そしてチクリにチクった後、その人がクビになり、私は総務を任される(システム上ね)立場になった
その後0からシステムをたちあげ・・
というしょーもない経緯があるため、どうみてもしょーもない仕事に対しては
できるだけ「その裏にある意向に沿うように」全力を尽くしている
つもりである

例え私が間違っててもまあ、その人が技術を積んでいけばまたこのスレに来るか
勝手に技術を習得することだろう、と信じてね

ただやはり向上心があることを前提にした手法を教えてることは、否めないかもしれない
あと俺自身未熟なため、かなり行き当たりばったりだし。逆にすぐに回答が出せるという長所があるかもしれない

152 :複乳 ◆MeiY43UMr. :2009/11/11(水) 00:46:55
飲みすぎた
寝るぜ

153 :名無しさん@そうだ選挙にいこう:2009/11/11(水) 09:03:12
今学生です。就職活動のためにエクセルを少しは使えるようになったのですが、
アクセスって覚えたほうが良いですか?
それともエクセルを極めたほうが良いでしょうか?


154 :名無しさん@そうだ選挙にいこう:2009/11/11(水) 09:40:55
両方使えたほうがいいだろうが、中途半端が一番つかえないな。

155 :複乳:2009/11/11(水) 09:53:39
エクセルはほぼ100%入ってるだろうけど、アクセスが微妙なとこだな
アクセスはシステムが既に組まれていて、入力のみというパターンが多いと思う
大企業ならデータベースのデータをひっぱって来る技術があるといいかも
中小なら自分がデータベース組めると非常に便利かも。ソフトがインストールされてればの話だけど
エクセルはvlookup使えれば大体なんでもこなせると思う

156 :名無しさん@そうだ選挙にいこう:2009/11/11(水) 10:30:13
ありがとうございました
色々調べてみようと思います

157 :名無しさん@そうだ選挙にいこう:2009/11/11(水) 19:08:12
SEって誰でもできるのかぁ

158 :名無しさん@そうだ選挙にいこう:2009/11/11(水) 20:50:30
>>153

エクセルはほどほどにしておいて、アクセスを使ってみてほしい。
アクセス知らずにエクセルだけで突き進むとバッドテクニックばかり身につけてしまうぞ。
逆にアクセスをちょっとかじってるだけで、エクセルの使い方のセンスもよくなる。

159 :名無しさん@そうだ選挙にいこう:2009/11/11(水) 21:29:49
久々に来たらコレがいてワラタ

160 :名無しさん@そうだ選挙にいこう:2009/11/11(水) 23:08:47
windows7搭載のパソコンに付いてるエクセルは、VISTAのエクセル2007と操作方法は同じですか?
XPからVISTAへの時みたいに激変してるのでしょうか。

161 :名無しさん@そうだ選挙にいこう:2009/11/11(水) 23:32:26
591:デフォルトの名無しさん :2009/11/11(水) 22:10:44
シート2の表を、シフト+編集で図のコピーを行い、シート1に貼るマクロを組みましたが、
そのシート1の貼りつけた図のコピーを切り取るマクロを組むと、ピクチャー番号が異なるために、できません。どうすれば、解決できますか?

162 :名無しさん@そうだ選挙にいこう:2009/11/12(木) 00:16:33
エクセルでグラフを作成した際、プレゼン等でそのエクセルを使いたい場合
元の数値データを隠す、見えなくするにはどうすればよいでしょうか?


163 :名無しさん@そうだ選挙にいこう:2009/11/12(木) 02:34:18
>>162
オブジェクトで表示しなきゃいいんじゃない?

164 :名無しさん@そうだ選挙にいこう:2009/11/12(木) 08:59:40
>>160
OSとアプリは全く別個で考えてください
両方2007なら同じと思っていい
SP等によりほんの少し変わる可能性があるが、SPが分からなければ考えなくて言い

>>162
グラフの中の数値なら数値を右クリックで書式設定
セルの数値なら列や行を選択して非表示とか文字の色を白とかに

>>161
切り取って貼り付けると
Shapes("Picture 1")

Shapes("Picture 2")
になるねぇ。それじゃないの

165 :名無しさん@そうだ選挙にいこう:2009/11/12(木) 11:21:48
Win7、office2007です。
ファイルを開く時にファイルをプレビューウインドゥに表示させようとすると、
「Microsoft office excelプレビューアにエラーがあるため、このファイルはプレビューの表示ができません」
となります。
何のエラーですかね?

166 :名無しさん@そうだ選挙にいこう:2009/11/12(木) 11:22:02
Hello,
>>120
成功しました。ありがとう。

Q.=SUM(F:F)で集計した秒数を
0:00:00
の表示にしたい。

167 :複乳:2009/11/12(木) 12:38:51
>>165
分からん
そのメッセージで一字一句間違えずに検索をかけてみると分かるかもしれない
>>166
F列が時刻なら、書式設定。時刻にある13:23:22みたいな奴

F列がシリア値でなく「1」や「5」の場合はシリアル値に直す↓その後書式設定
=SUM(F:F)/24/60/60

168 :名無しさん@そうだ選挙にいこう:2009/11/12(木) 22:11:57
EXCEL内にフォルダを作るにはどうしたら良いですか??
先輩がから早く作れとお叱りです!

169 :複乳 ◆MeiY43UMr. :2009/11/12(木) 22:34:03
意味が分かりません
フォルダ内にエクセルファイルを作るならエクセルを起動した後ファイル→名前をつけて保存

170 :名無しさん@そうだ選挙にいこう:2009/11/12(木) 23:10:12
沸いてるね。

171 :名無しさん@そうだ選挙にいこう:2009/11/13(金) 00:05:05
>>169
複乳ってなんですか?なぜそのような名前なのですか?

172 :名無しさん@そうだ選挙にいこう:2009/11/13(金) 00:40:39
for n =0 To 5

ActiveCell.FormulaR1C1 = "=-(R[&n]C[-2]-R[-4]C[-2])"

R[+&n]を引数にする場合はどうすればいいでしょうか?

173 :名無しさん@そうだ選挙にいこう:2009/11/13(金) 07:11:38
>>172>>172



174 :名無しさん@そうだ選挙にいこう:2009/11/13(金) 07:12:32
>>172
ActiveCell.FormulaR1C1 = "=-(R[" & n & "]C[-2]-R[-4]C[-2])"
ってことでOK?


175 :名無しさん@そうだ選挙にいこう:2009/11/13(金) 08:57:18
2003から2007にアップグレードしたのですが
リスト化していた所がテーブルになっていて
最終行に新規行(*のついた行)が無くなってしまいました
行挿入で追加して行くしかないのでしょうか?

176 :名無しさん@そうだ選挙にいこう:2009/11/13(金) 12:32:12
最下行右端の列でタブを押せば行が追加される。
が、*のついた新規行がつねにあるほうが使いやすいと俺も思う。

テーブルの途中に行ごとコピペして挿入しようとすると「できません」とかエラーがでるし。
これはなんとかしてほしい。

177 :名無しさん@そうだ選挙にいこう:2009/11/13(金) 12:41:58
質問です><

表示していないシートを誰からも見られたくないんですが、
そんな魔法の呪文はありますか?><

秘密は見られたくありません><

178 :複乳:2009/11/13(金) 12:53:12
>>177
書式のシートの非表示
非表示を解除されたくない場合は「シート 非表示」でぐぐって二番目のリンク

179 :名無しさん@そうだ選挙にいこう:2009/11/13(金) 17:29:37
>>176
ありがとうございます

180 :名無しさん@そうだ選挙にいこう:2009/11/13(金) 18:05:19
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

オートシェイプを使ってマクロの実行ボタンを作っています。

マウスポインタをボタン上に置いた時、ポップアップのメッセージを
表示させたいのですが、可能でしょうか?

ちなみに私は女です。

181 :名無しさん@そうだ選挙にいこう:2009/11/13(金) 18:39:01
>180

ユーザフォーム上であればControlTipText

182 :180:2009/11/13(金) 20:48:27
>>181
レスありがとうございます。
ユーザーフォームでなく、シート上なんです・・・。

やっぱりできないですかね?

183 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 12:44:05
>ちなみに私は女です

ま、マジっすか?(;´Д`)ハァハァ

184 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 13:17:55
>182

ユーザフォーム上で作成してユーザフォームをShowModal=Falseにする。

185 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 14:35:30
Excel2003を使用しています。

A1 4

A5 8

とあったとして、A1とA5の値を利用してA2〜A4を補間したいのですが、
今は =($A$4-$A$1)/5+A1 という式をA2に入れてA4までオートフィルという作業をしています。
これが何千行もあって、数字がところどころ足りないのを上記の式を入れるのを手作業でやってます。

これを何とか、多少なりでも自動化できないものでしょうか。
例えば、空白を探すのは手作業でも構わないので、式を入れるのを簡略化できるような方法はないでしょうか。
(もちろん、空白を探すのも自動化できるならそれに越したことはありません。少しでもヒントが欲しいです)
マクロでもかまいません。0から作るのはまだ難しいですが書かれたものの解読はある程度できると思います。

よろしくお願いします。

186 :185:2009/11/14(土) 14:37:05
追記です。

もっと簡単な関数があるよ、というような情報でも構わないので、どうぞよろしくお願いします。

187 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 15:24:27
>>185
その法則だと例えば
A6 9
A7 10
なの?
それとも他の数字になる可能性もあるの?

188 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 15:42:19
>>185
最初と最後の数字の入っているセルの領域選択して
編集→フィル→連続データの作成→予測→OK
これで2点間が補完されるから
あとは、同じ領域をさがして、Ctrl+Yで繰り返し

データが一直線に並んでるなら
Shift+Ctrl+カーソルで領域選択しながら上の作業の繰り返し。

マクロのほうが簡単だろうけど俺はしらん。

189 :複乳 ◆MeiY43UMr. :2009/11/14(土) 15:47:34
>>185
ところで例の
=($A$4-$A$1)/5+A1

=($A$5-$A$1)/4+A1
だと思うのですがどうでしょうか


190 :複乳 ◆MeiY43UMr. :2009/11/14(土) 16:08:57
>>185
できた
B1=IF(A1>0,COUNT($A$1:A1),0)
C1=COUNT($A$1:A1)
D1=ROW()
E1=INDIRECT("r"&MATCH(MAX($B$1:B1),C:C,0)&"c1",0)
F1=INDIRECT("r"&MATCH(MIN(C1:$C$60000)+1,B:B,0)&"c1",0)
G1=IF(A1<>"",A1,(F1-E1)/COUNTIF(C:C,C1))
を入力して下にオートフィル。G列が答え

191 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 16:50:36
ピボットテーブルでつくった集計表をデータベース形式にもどすほうほうはないですか?

192 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 17:00:46
値のみ貼り付けしてから適当に加工

193 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 17:04:34
その適当にの部分をおしえてほしいです。

194 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 17:25:37
手作業でこつこつと

195 : ◆Excel//q4U :2009/11/14(土) 17:39:11
>>193
おいらはこれを重宝しとるよ
http://www.vector.co.jp/soft/win95/business/se246416.html

196 :185:2009/11/14(土) 17:58:11
>>187
色んな数字になる可能性があります
具体的に言うと、連続的に自動で観測されているデータがあるのですが
機械の不調等で、データが取得されていないことがあって、
しかしながらそれを他の計算等の元のデータとして使うときにそこが空白だと困ることがあるので、
仮にでもそれらしい値を入れておきたい、というようなときにこの作業をしなくてはなりません
したがって、空欄の数もそのときによって違います

>>188
ありがとうございます!
こんな機能がある事を知りませんでした。
少なくともいちいち数式を入力するより速くて簡単にできますね。

>>189-190
ありがとうございます(間違いのご指摘も含めて…)
ちょっとぱっと見ただけでは何がなんだかですので、
ゆっくり解読させていただきますね。

197 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 18:30:17
>>195
ありがとうございます!!

198 :188:2009/11/14(土) 18:36:56
>>196
これでどうだ。先頭のセルを指定して実行
最後まで線形補完する。
前提条件は、データが一列、
Sheetの最終行が65536で、かつそこに補完すべき数字が無いこと。
初マクロなんであらゆる状況で上手く動くかはわからん。

Sub senkeihokan()

Do
Range(Selection, Selection.End(xlDown)).Select
Selection.DataSeries Rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, _
Trend:=True
Selection.End(xlDown).Select
Loop While ActiveCell.End(xlDown).Row <> 65536

End Sub

199 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 20:19:52
微妙・・・

200 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 20:35:52
この書き方は初めてみた

Range(Selection, Selection.End(xlDown)).Select


201 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 21:05:44
A1:A100のセル内にある文字列のうち
一番右の文字列が「あ」のセルの数をカウントしたいのですが、
わかりません教えてください

rightを使うにしても、いまいち使い方がわかりません。

202 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 21:08:00
>>193
総計の右下のセルでダブルクリックするだけじゃねーの?

しかしアクセス規制いつ外れるんだ?
削ジェンヌまだ生きてるのかね。

203 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 21:12:29
>>201
=COUNTIF(A1:A100,"*あ")

204 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 21:13:01
>>201
=COUNTIF(A1:A100,"*あ")

205 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 21:14:20
ん?おれはどっちだ?
後の方だなきっと。

206 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 21:15:16
うーん、俺もどっちかわからんが、まあ考えることは同じだね。
ちょとおもろい。

207 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 21:19:31
>>201
どうしてもrightをつかいたいなら
=SUMPRODUCT((RIGHT(A1:A100,1)="あ")*1)

208 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 21:20:51
>>203-206
有り難うございます
もうひとつだけお願いします

たとえば左から4つ目が「あ」の
数をカウントしたい場合はどうすればいいのでしょうか?

209 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 21:23:37
>>202はアンカーミスってるな。
>>191あてだ

しかしいちいちp2から書きこむのも疲れるな。
アクセス規制いい加減に解いてくれねーかな。

210 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 21:26:12
>>208
=COUNTIF(A1:A100,"???あ*")
試してないけどな。

211 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 21:33:45
>>208
=SUMPRODUCT((MID(A1:A100,4,1)="あ")*1)
>>210が個人的には好きだw

212 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 23:12:04
この問いにSUMPRODUCTは無いわw

213 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 23:12:18
WinXPで、Excel 2002を使ってます。
セルに色を塗るときは、セルを選択して、色のボタンを押すと
そのセルを塗りつぶせます。 2度手間になります。

セルをクリックするだけで、そのセルに色を付ける方法を教えてください m(_ _)m

214 :複乳 ◆MeiY43UMr. :2009/11/14(土) 23:36:53
>>213
F4じゃダメですか
F4=直前の行動の繰り返し


215 :213:2009/11/14(土) 23:48:37
>>214 ありがとうございます m(_ _)m
F4で出来るんですね。 マウスにF4割り当てて、実用化できそうです。

できればワンクリックだけで、色を塗りたいので
よろしくお願い致します m(_ _)m

用途は、英語の学習で、不慣れな熟語や構文などをエクセルに書いて
練習した物を塗って行きたいのです。 順番にやると飽きるので。

216 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 00:05:25
ワンクリックだけで、お前が意図した色が塗れるほどPCは賢くないと思うが?

217 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 00:26:26
>215

Worksheet_SelectionChange

218 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 09:58:00
>>215
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Target.Interior.ColorIndex = 17
End Sub

これをシートタブを右クリック、コードの表示の白いところに貼り付ければダブルクリックすれば色がつくようになる。
色番号はそこらへんのサイトをみて
いらなくなったらコードごと普通に消せばいい

219 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 12:18:27
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 勉強中です
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 イベント 列挿入

よろしくおねがいします
あるシートで列挿入を禁止したいと思います。
行挿入やセルの内容変更は自由なまま、
列挿入だけを禁止できますか?

220 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 12:53:01
シート全体でセルの書式の保護をあらかじめロックのチェックを外しておいて
シートの保護で「ユーザーに許可する操作」を列の挿入以外チェックしておけばいいんじゃね?

221 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 12:57:16
3つ以上重複しているデータを抽出して、その重複しているデータがいくつあるかカウントしたいのですが、やり方がわかりません。
教えていただけませんか?お願いします

222 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 13:13:25
>>221
他にいい方法があるかもしれないが、
countifで3個以上重複している数を出して、別シートにでもコピーした後で
ピボットするのが漏れの最速方法。

一度に出すやり方がわからないのなら一つずつ順を追ってやってみたらどう?


223 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 13:27:22
データ数だけだったら
=SUMPRODUCT((COUNTIF(A1:A10,A1:A10)>2)*1)
↑a、a、a、b、b、b、c、c、d・・だったら6個

何種類・・・だと
=SUMPRODUCT((MATCH(A1:A10,A1:A10,0)=ROW(A1:A10))*(COUNTIF(A1:A10,A1:A10)>2))
↑a、a、a、b、b、b、c、c、d・・だったら2個

データが入っていないところまで範囲を指定するとN.Aになるよん

224 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 14:59:27
vistaでexcel2007を使っています。
グラフを作るときに、縦軸を対数表示にすると、目盛りが10、100、1000…というふう
に表示されるんですが
これを10^1,10^2,10^3…というふうに表示するにはどうすればいいんでしょうか?
このとき、乗数もきちんと10の右上にくるようにしたいです。

225 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 16:55:44
>>220
ありがとうございます!やってみます。

226 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 17:29:41
納品書と請求書さえできればいい。
最初に会社を選んだら商品名を選んで数量を書いたら自動的計算して納品書と請求書がプリントアウトできてデータは蓄積される。
商品も会社別に単価を変えれていつでも変更も可能で、締めに合計請求書が作れる。
この程度ならExcelで作るのは難しくないですよね?


227 :複乳 ◆MeiY43UMr. :2009/11/15(日) 17:33:20
>>226
ttp://www.vector.co.jp/soft/winnt/business/se470054.html
エクセル 請求書 辺りでベクターで探すといい

228 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 18:14:51
そういうのはAccessでつくるとかんたん
Excelでもできるけど手数がかかる。たぶんVBAつかわないと実用にはならない。

229 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 18:27:46
>>226
228も書いているけど、出来なくはないけどアクセスの方がいい。

だいたい、納品書と請求書なんてワード差し込み印刷使う以外はvbaになるだろな・・・・

230 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 18:39:28
まあAccess2000で作ったソフトは今使ってますけど、今回はExcel2007で作りたいので。


231 :複乳 ◆MeiY43UMr. :2009/11/15(日) 18:47:48
エクセルどうこうよりVBAが使えるかどうか
使えるなら簡単、使えないなら色々と無理なところがある

232 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 19:50:25
まあ作りたければ作れば。
vbaが使えなければ、訳分からん関数の嵐になるしメンテも煩雑だと想像できる

233 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 23:29:51
>>230
そういう「何となく」作ったものが後々混乱招くからやめれ
何故Excelで作るのか、何故ACCESSで作らないか
はっきりしとかないと、現場は混乱する

234 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 01:01:40
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい(一応…)
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 (いいのが思いつかない…)

MATCH関数で検索する範囲を条件によって変えたいのですが。
A2〜E2が列タイトル、A3〜E8にデータが入っているような表を考えます。
例えばVLOOKUPなら列タイトルを指定して結果列を変えることは
VLOOKUP(A1,$A$3:$E$8,MATCH(B1,$A$2:$E$2,0),false)
こんな感じでできますが、
MATCH(A1,何か関数(B1,$A$3:$E$8),0)
のような感じでB1の値によってMATCHの検索範囲をA〜E列で切り替えたいのです。
こういう場合、INDIRECTを使ってがんばるしかないんでしょうか?

現状、MATCH(A1,INDIRECT("R3C"&C1&":R8C"&C1,false),0)とか書いてるんですが
なんとかスマートにならないかという質問です。

235 :複乳 ◆MeiY43UMr. :2009/11/16(月) 07:31:02
>>234
B1にA〜Eを入れ
B1=A
C1=MATCH(A1,INDIRECT(B1&"3:"&B1&"8"),0)

もしくは名前の定義。A3:A8に"A列"という定義をしておいて
B1=A列
C1=MATCH(A1,INDIRECT(B1),0)

基本的には前者でいいと思うが、変則的な場合は後者が使えるかも

236 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 13:07:57
【1 OSの種類         .】 Windows Vista SP1
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 使えます
【4 VBAでの回答の可否】 可です
【5 検索キーワード     】 共有違反 保存

Excel 2007で作成されたマクロつきファイルを上書き保存しようとした時に発生した現象です。

ブックの共有などを一切していないExcelファイルなのですが、
2007で上書き保存ボタンを押したところ、下のメッセージが表示されました。

「'testtest.xlsm'への更新は、共有違反のため保存されませんでした。別のファイルに保存し直してください。」

上書き保存はできず、一時ファイル(ファイル名は、ランダムの英数字8字。拡張子なし)が作成されています。
別名に保存することは可能ですが、都合上、上書き保存できるようにしたいです。
この現象の原因や対処をご存知の方は、ご教示いただけないでしょうか。

なお、ググったりMicrosoftサポートページを参照しても、私が見た範囲では該当するページが見つかりませんでした。
よろしくお願いいたします。

237 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 13:27:16
>>232
激しく同意。>>223の2つ目のコード見た時「うへぇ・・・」と思ってしまった(>>223さんゴメン)
VBA覚えたほうがラクにいろんなこと出来るようになって便利。

238 :複乳:2009/11/16(月) 14:10:33
>>236
サービスパック・アップデートがあるなら入れる
それでダメなら新規ファイルを作り、そこにシートやマクロをコピーしてみるとか
新規ファイルでも起こるなら分かりません。
OSごと再インストールしたほうが良いのかもねぇ

239 :複乳:2009/11/16(月) 14:16:50
>>221
>>223を改造してみた。B1に範囲を入れる
B1=A1:A10
C1=SUMPRODUCT((MATCH(INDIRECT(B1),INDIRECT(B1),0)=ROW(INDIRECT(B1)))*(COUNTIF(INDIRECT(B1),INDIRECT(B1))>2))
これで少しは範囲の変更に対応しやすくなるかも
ならないかも

240 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 16:59:11
ヴァカ =MATCH(A1,INDIRECT("R3C"&C1&":R8C"&C1,false),0) 
利口 =MATCH(A1,INDEX($A$3:$E$8,,C1),0)

241 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 17:05:33
すまん、列が256とかあるなら下にしてくれ。
利口 =MATCH(A1,INDEX($3:$8,,C1),0)
>>240は最大5列の式だ。

242 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 18:33:38
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 (…)

質問です。食堂でお客さんのデーターを取りたいのですが
メニューが3種類の日替わり定食で一日限定5食、計15食とします。

男性 30代 カレー              1 カレー 男性 30代
女性 30代 カレー              2 カレー  女性 30代
男性 20代 オムライス           3 
男性 40代 オムライス           4 
女性 20代 オムライス           5
男性 40代 うどん     これを     1 オムライス 男性 20代
                         2 オムライス  男性 40代
                         3 オムライス  女性 20代 
                         4
                         5
                         1  うどん  男性 40代
                         2
                         3
                         4
                         5

      って左のデーターを右のような形式に表示したいのですが
       どうすればいいでしょうか?

  よろしくお願いします


243 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 19:11:13
test

244 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 20:36:44
>>242

初めから右の形式で入力したらいいだろう。

245 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 20:44:09
右の形式ってなにかいいことあるのか?

246 :242:2009/11/16(月) 20:52:25
すいません。
ブロックに分けたいのです。
ブロックに分けて色をつけたいので。
3食と書きましたが実際には10食ぐらいあります。
書き込みが多すぎてしまうので3食にしました。

247 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 20:56:02
>>245
同感。

>>242
本当にやりたいことは何?
誰にどんな定食が人気あるのか分析したいんじゃないの?

248 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 21:00:11
>>246

なんで色を塗りたい?
誰にどんな定食が人気あるのか分析したいからだろ。違うか?

249 :242:2009/11/16(月) 21:07:57
>247 >248その通りです。 すいません。

250 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 21:14:08
>>249

そういう時はクロス集計をするんだ。
ピボットテーブルを使えば簡単にできる。
ビジュアルに理解したい場合はピボットグラフだ。
以上。

251 :242:2009/11/16(月) 21:23:15
>250ありがとう くぐってみます

252 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 21:31:40
>>237
>>223>>232も自分(=同一人物)なので気にせず〜w
関数で遊ぶのは楽しいけどさ、実用的じゃないと思うんだよ
まあマクロを忌み嫌う人もいるから

253 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 21:46:37
>242 はむしろ、単純な棒グラフに手書きで×とか積み重ねていった方が楽そう

254 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 22:26:29
>>253
ほう。どんなグラフ?
縦軸と横軸は何?
×の位置と数にはどんな意味をもたせるの?


255 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 00:05:55
下記のようなデータのAB列とD列をSheets3のAB列とC列の最下行にコピペするとき、
D列の最下行が空白セルだとうまくいきません。どう対処すればいいですか?
(A列とB列は空白になることはありません)

Sheet1
 A    B    C    D
美咲  郁恵  貴子  真央
久美  早苗  美恵  慶子
愛美  直子  沙希

Sheet2
 A    B    C    D
和美  奈々  昌枝  涼子
麻子  鈴香  聖羅  由梨
真美  明菜  未来  寿江

Sub コピペ()
 With Worksheets("Sheet1")
  .Range("A2", .Range("B65536").End(xlUp)).Copy _
  Destination:=Worksheets("Sheet3").Range("A65536").End(xlUp).Offset(1)
  .Range("D2", .Range("D65536").End(xlUp)).Copy _
  Destination:=Worksheets("Sheet3").Range("C65536").End(xlUp).Offset(1)
 End With
 With Worksheets("Sheet2")
  .Range("A2", .Range("B65536").End(xlUp)).Copy _
  Destination:=Worksheets("Sheet3").Range("A65536").End(xlUp).Offset(1)
  .Range("D2", .Range("D65536").End(xlUp)).Copy _
  Destination:=Worksheets("Sheet3").Range("C65536").End(xlUp).Offset(1)
 End With
End Sub

256 :複乳 ◆MeiY43UMr. :2009/11/17(火) 00:37:52
>>255
gyo=Range("A65536").Selection.End(xlUp).Row
でA列の最終行を変数に入れ
 .Range("D2", .Range("D" & gyo ).End(xlUp)).Copy _
でD列のgyo行まで指定みたいなカンジで

257 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 01:11:41
並び替えを行うに当たって、文字列の大小関係を
A < B < ... < Z < AA < AB
と扱う場合に、
A8, Y1,, AD14 みたいにアルファベットと数字がセットになったものを
並び変えるにはどうしたらよいでしょうか?

258 :トリプルクリック ◆M4VDFNZnqs :2009/11/17(火) 01:47:39
作業用のセルに頭に0をつけたデータを作り
コピーして、「形式を選択して貼り付け→値」で値に置き換えたあと
「データ」→「並び替え」で普通にできるよ

=RIGHT("000" & A1,4) → 00A8
                  ↑これを並べる

259 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 03:36:18
試してみましたが、数字部分の桁数が一定でないと、
うまくいかないですね…
アルファベット部分と数字部分に簡単に分解できたら嬉しいのだけどなぁ
まぁでも、CODE, IF, MIDあたりを使って分解、
アルファベット部分の重みづけには教えてくれた方法を利用すれば、
面倒だけどなんとかEXCEL関数でも処理できそうに思えました。どうもありがとう。

260 :複乳 ◆MeiY43UMr. :2009/11/17(火) 07:56:55
>>257
>>258を拡張
=REPT("0",10-LEN(A1))&A1
10文字までの文字列を10文字になるまで0で補完する
もっと長いなら10を100にすればok


261 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 09:25:31
【Excel】便利なショートカット キー一覧
F2 でセルの編集
F4 でセルのクリア
直接入力 [Shift] + [Space] で行の選択
直接入力 [Ctrl] + [Space] で列の選択
[Ctrl] + [D] で上のセルをコピー
[Ctrl] + [R] で左のセルをコピー
[Ctrl] + [ ; (セミコロン)] で日付を入力
[Ctrl] + [ : (コロン)] で時間を入力
[Ctrl] + [0] で列の非表示
[Ctrl] + [9] で行の非表示
[Ctrl] + [1] でセルの書式設定
[Ctrl] + [2] で文字を太字
[Ctrl] + [B] でセルの書式設定
[Ctrl] + [3] で文字を斜体
[Ctrl] + [I] で文字を斜体
[Ctrl] + [4] で文字に下線
[Ctrl] + [U] で文字に下線
[Ctrl] + [5] で文字に取り消し線
[Ctrl] + [7] でツールバーの [標準] を表示・非表示
[Ctrl] + [8] でアウトラインを作成
[Ctrl] + [F] で検索
[Ctrl] + [H] で置換
[Ctrl] + [K] でハイパーリンクの挿入
[Ctrl] + [N] で新しいブックの作成
[Ctrl] + [L] でリストの作成
[Ctrl] + [W] でブックを閉じる
[Ctrl] + [O] でファイルを開く

※数字はいずれもテンキーでない方

262 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 10:38:17
テンプレにあってもいいなぁ(´ω`)

263 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 10:59:54
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 勉強中です
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

お聞きします
a2からa10まで



りんご
りんご

コップ
コップ
コップ

って並んでいるとします
それをそれぞれ b1花 c2りんご d1水 e1コップ って種類を返したいのですが
どうすればいいでしょうか?  お願いします


264 :複乳:2009/11/17(火) 11:52:45
>>263
データ、フィルタ、フィルタオプションで
「重複するレコードは無視する」にチェック

265 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 12:58:14
>>261
F4は、前の処理の繰り返しじゃね?

266 :263:2009/11/17(火) 13:04:40
>264ありがとうございます
オートフィルを使わないでa2からa10までのデーターを貼り付けただけで
自動的に出ないかなと思いまして。

267 :複乳:2009/11/17(火) 13:18:42
>>266
B2=(C2<>"")*1+MAX($B1:B$1)
C2=IF(COUNTIF($A$1:A2,A2)=1,A2,"")
D2=VLOOKUP(ROW()-1,B:C,2,0)
でB2-D2を下にオートフィル


268 :242:2009/11/17(火) 13:38:11
>267大変ありがとうございます
重複せずに出てきました。
もう一つだけですがその値をe1,f1,g1に返すことはできますか?

0 花  0 花  山  海
0     0
0 0
0 山  0
0     0
0 海 0

って返したいのですが?
これが最終目標ですが。

 

269 :複乳:2009/11/17(火) 13:49:56
>>268
もー!情報の小出しはダメ、絶対><
麻薬よりダメ><

E1=INDIRECT("r"&COLUMN()-3&"c4",0)
で右にオートフイル

270 :263:2009/11/17(火) 14:02:01
>269何でもすいません
最初の質問で一応聞いておりますw
今やりましたら0000と0の連続で 花 山 海が返せません(^^;)

0  花  0 花  山  海
0     0
0     0
0  山  0
0     0
0  海  0


0  花  0 0 0 0
0     0
0     0
0  山  0
0     0
0  海  0 となってしまいます

271 :複乳:2009/11/17(火) 14:10:24
>>270
ごめんなさい勘違いしてました><
>>267はB2など2行目開始で、>>269はE1だよ

272 :263:2009/11/17(火) 15:16:14
>271 何でもすいません。
これが聞きたかったです。
いつもオートフィルでコピペしていたんですが
多いと大変でしたので。とにかくありがとうございました。


273 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 18:18:43
教えてください。
セル1にタイトルを、以降2と3、4と5などを一つの項目として表を作成しました。

セルにより、二行を結合しているところと各一行として使っているところがあるのですが、オートフィルタをかけるとセル2と4などと、偶数の行だけしか表示されません。

二行を一つとしてフィルターする方法があれば教えて下さい。

274 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 19:25:13
お助けください。

【1 OSの種類         .】 WindowsXPもしくは、ビスタ
【2 Excelのバージョン   】 Excel2003もしくは2007
【3 VBAが使えるか    .】 ほんの少し
【4 VBAでの回答の可否】 手動がだめなら考慮
【5 検索キーワード     】 エクセル 参照したデータで並び替え 引用したデータを使って並び替え など

=を使って他のセルから参照したデータを並び替えしたいのですが、
うまくいきません。


  A  B
1 な  =A4  
2 た  =A2
3 さ  =A1
4 か  =A5
5 あ  =A3

      ↑ここで並び替えしたい

実際には、シート1から、シート2へデータを抽出し、並び替えて
シート3へ移動という流れです。
元のデータは、それぞれのデータの位置が決まっているので動かせません。

これから夜勤なので、お返事は翌朝になります。
よろしくお願いいたします。


275 :複乳 ◆MeiY43UMr. :2009/11/17(火) 20:37:58
>>273
一行に一つの表を作り直したほうがあらゆる面でいい
どうしてもその表を使いたいならファイルをアップロードしてくれれば考える
>>274
エクセル2000でやったら何故か参照が=a7やREFエラーになった
原因はさっぱりわからん
B列をコピー、C列に値で貼り付けして並び替えてみては
詳しい用途が分かればもう少し適切な回答が出来るかも

276 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 21:29:17
=if(sum(()*()),"",") の場合で {  }にするためにキーボタンはどれを押すんですか?
忘れてしまいました。

277 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 21:35:26
Shift Ctrl Enter

278 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 21:41:53
>>277 サンクス

279 :255:2009/11/17(火) 21:57:12
>>256
ありがとうございます。
gyo=Range("A65536").End(xlUp).Row と書いてもおkですよね?

280 :複乳 ◆MeiY43UMr. :2009/11/17(火) 22:02:45
>>279
むしろ正解。俺が間違いデシタ

281 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 22:18:43
Sub ××()
Sheets("sheet1").Range("a1").Select
Sheets("sheet2").Range("a1").Select
End sub
こうすると本文2行目でエラーが出るのは仕様ですか?
1行目だけだと普通に動くんですが。

282 :281:2009/11/17(火) 22:20:03
あ、もちろん女です><

283 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 22:36:12
【1 OSの種類 .】 Mac OS X 10.3
【2 Excelのバージョン 】 Excel for Mac 2001
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】

グラフのガンチャートの数値と対応させたいセルにLOOKUP関数(最終的に数値が出力される)を入力しているのですが、
出力された値がガンチャートに反映されません。

単にセルに数値のみを入力した場合は反映されています。

LOOKUP関数以外の関数でも試してみましたがやはり反映されません。

どうしたらガンチャートに数値を反映させることができるでしょうか、どなたか教えてください。
よろしくお願いいたします。

284 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 23:02:41
>>281
仕様。アクティブでないシートのセルを直接Selectすることは出来ない。
2行目の前に、Sheets("sheet2").Activateを入れればいける。

285 :281:2009/11/17(火) 23:15:17
>>284 さん
どうもありがとうございました!

286 :名無しさん@そうだ選挙にいこう:2009/11/18(水) 04:30:03
281じゃないけど・・・
Activateって、Workbooksだけに使うのかと思ってた
今度、応用してみよう

287 :274:2009/11/18(水) 18:08:41
>>275
ありがとうございます。
そうなんですよ、2003でも、並び替えると変な表示になります。
なるほど、値でコピペすると並び替え出来ますね。

用途は、仕事で複数人で使い、尚且つ私は夜勤ですが、昼勤の人も使うので
関数とか分からない、エクセルも不慣れな人でも簡単で、より少ない操作で
出来ることがまず前提です。

内容は、シート1の固定された並び順の表から、件名と複数の数量データを
抜き出して、それを1枚に一件ごとの伝票に印刷する目的です。
この伝票を印刷するときに、あいうえお順に出来ると、作業がとても捗るのです。


以下余談
今は、シート1の表から、シート2の伝票シートで直接データを参照しているのですが
この伝票が80ページ(枚)分以上あり、伝票順(ページ)を並べ替えたり入れ替えたり抜いたり
加えたりがとても大変です。
また、データの入力は毎日あり、入力は昼勤、伝票処理は夜勤となるので
意思の疎通が図りがたく、出来れば上のような値でコピペし直すような作業も
無い方がいいのです。
なにしろ、昼勤としては今のままでも問題はないので、余分な作業が増えるなら
このままでいいじゃんとなりそうなので・・・

288 :名無しさん@そうだ選挙にいこう:2009/11/18(水) 18:47:14
【1 OSの種類         .】 XP
【2 Excelのバージョン   】 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

お世話になります。
現在、エクセルにてCSVを作成してます。 以前の仕様と変わってしまった為、改行を入れないとなんですが
全ての文章の頭に■や●などで文章の始まりであることを設定してあるので 置き換えで ■→<br>■ としてやれば問題ないのですが
長文の場合、数式が長すぎて出来ないと出てしまいます。 現在別のソフトでソースを開いて編集してますが なにか一括で編集できる方法はありますでしょうか?
宜しくお願い致します

289 :274:2009/11/18(水) 19:10:51
なんか>>287を読み直しているうちに、変に不慣れな人に並び替えをさせるより
VBAで自動並び替えをさせて、そこの数式を保護して触らせないようにした方が
安全だと思えてきました。
件名だけ並び替えて、数量データがそのままなんてことされると大変ですしw

また、そちらで煮詰まったらお伺いに来ます。
ありがとうございました。

290 :名無しさん@そうだ選挙にいこう:2009/11/18(水) 19:21:41
>>289
君の不幸は職場にExcelがあることだな。
回り道に思えてもデータベースの勉強をすることをおすすめする。
実際に職場に導入することができなくても、覚えたことは無駄にはならない。
きっと今より上手くExcel使えるようになるだろう。

291 :トリプルクリック ◆M4VDFNZnqs :2009/11/18(水) 19:25:47
>>288
CSVに変換してからテキストエディタの置き換え機能を使えばいいのでは

292 :トリプルクリック ◆M4VDFNZnqs :2009/11/18(水) 19:29:24
>>290
いや、データベースを使うまでもない
ExcelVBAで十分対応可能

293 :名無しさん@そうだ選挙にいこう:2009/11/18(水) 19:42:25
>>292
> ExcelVBAで十分対応可能
またVBA厨か。なかなか絶滅しないもんだな。


294 :名無しさん@そうだ選挙にいこう:2009/11/18(水) 19:56:29
ピボットで可能なのか?w・・・(´ω`)

295 :複乳 ◆MeiY43UMr. :2009/11/18(水) 19:59:05
>>289
あ、うまく行った
>>274の=A4を=INDIRECT("A4")というふうにかえればok。数式の結果で並び替えになる
理由はわからんが、エクセルの仕様か?
>>291
>現在別のソフトでソースを開いて編集してますが
>>292
そういうなら答えてやれ

「トリプルクリック ◆M4VDFNZnqs」でぐぐったら色々出てきたけどどうでもいいな


296 :名無しさん@そうだ選挙にいこう:2009/11/18(水) 20:02:17
>>292

>>274
  A  B
1 な  =A4  
2 た  =A2
3 さ  =A1
4 か  =A5
5 あ  =A3

こんなデータ構造を放置したままにしてVBAならできるとかないわ。
こんな構造みた時点でなんかおかしいと気付かないと。

297 :トリプルクリック ◆M4VDFNZnqs :2009/11/18(水) 21:20:19
>>289
1.まずデータ入力用のブックは並び替えてはいけないなら
 コピーして作業用のブックを作り並び替えればよい
2.データシートから伝票シートにデータを書き込んで
 伝票シートを新規ブックにシートコピーする。
 これを最後のデータまで繰り返し新規ブックに伝票シートをたくさん作る。
3.新規ブックをブックの印刷で一気に印刷する

↑こんなのをVBAで作ったことがある
注意点としてはシートをコピーしすぎるとメモリ不足でExcelが落ちる可能性がある
これはパソコンのメモリ不足ではなくExcelを起動したときに確保される作業用のメモリ不足
回避策としては10シートとかコピーするごとにブックの保存を実行すればメモリが開放されて
落ちなかったと思う。

298 :トリプルクリック ◆M4VDFNZnqs :2009/11/18(水) 21:21:08
>>295
どうでもいいことしか書いてないからね

299 :名無しさん@そうだ選挙にいこう:2009/11/18(水) 21:31:25
>>297
うへー。ばかくせえ。
ここまで典型的なやつもめずらしい。

300 :トリプルクリック ◆M4VDFNZnqs :2009/11/18(水) 21:46:56
Excelで帳票を作るととても便利
書式が自由自在に設定できるし
印刷前に日付を変更したいとか、金額を変更したいとか
ちょっとした修正がユーザーの意のまま

301 :名無しさん@そうだ選挙にいこう:2009/11/18(水) 21:51:19
>>300
んなことはExcelに限った話じゃないわな。

302 :トリプルクリック ◆M4VDFNZnqs :2009/11/18(水) 21:57:52
最近着たばかりだからよくわからんが
ここはExcelを愛してやまない人の集まりではないのか?

303 :名無しさん@そうだ選挙にいこう:2009/11/18(水) 22:09:04
>>302
ここはお前のような野人が初めて訪れた文明社会。
車やエレベーターを見ても驚かないように。

304 :複乳 ◆MeiY43UMr. :2009/11/18(水) 22:39:31
正直それ以上発言されるとVBA厨の肩身が狭くなるので消えて欲しいんだ

305 :トリプルクリック ◆M4VDFNZnqs :2009/11/19(木) 01:25:38
来るところを間違えたみたいだ
ここは「ビジネスsoft」だった
「プログラム」のほうにもExcelのスレがあったので
そっちに移動します
さいなら〜

306 :名無しさん@そうだ選挙にいこう:2009/11/19(木) 01:45:20
>>305
それがいい。
要はプログラム組みたいだけなんだろ?
ここは解決をするところだ。


307 :名無しさん@そうだ選挙にいこう:2009/11/19(木) 09:39:28
エクセルで用意したデータベースを、
そのブックを開かずに、エクセルで作ったのクライアントで
vlookup的なことで参照することはできますか?

VBAで無理なら、それが実現できる言語を教えてください。

308 :名無しさん@そうだ選挙にいこう:2009/11/19(木) 11:36:12
>>307
VBAならADOでいけんじゃね?
ワークシート関数みたいに即効表引きしたいなら、グローバルは接続保っておいてイベントと組み合わせればいいんじゃないかな

309 :307:2009/11/19(木) 12:24:27
そうかADOか。
ちょっと勉強してみる。ありがとう!

310 :名無しさん@そうだ選挙にいこう:2009/11/19(木) 12:40:36
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 オプションボタン 保護 解除など

オプションボタンを使用し、Excelでアンケートを作成しました。
(メニュー>ツールバー>コントロールツールボックスを呼び出して、オプションボタンを作成しています。)

シートを保護して、オプションボタンの選択と一部のセルへの記入のみできるようにしたいです。

・編集したいセルのロックを解除
・オプションボタンを選択し、右クリック>コントロールの書式設定>ロックを解除
・オプションボタンが置いてあるセルのロックを解除

をおこない、「ロックされていないセルの選択」のみ許可してシートに保護をかけました。
セルに記入はできるのですが、オプションボタンの選択をしようとするとエラーメッセージが出てしまいます。
調べても出てこないので教えてください。お願いします。

311 :名無しさん@そうだ選挙にいこう:2009/11/19(木) 23:35:26
>310

そのエラーメッセージをエスパーしろと?

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

数値が入ってる列から、0の値をオートフィルタで抽出し、VLOOKUPで
値を入れたあとに、その箇所だけ コピー → 値を貼り付け をしようとしても、
コピー領域と貼り付け領域が違うとメッセージが出てできません。

数行なら個々にやればいいですが、何十行もあると大変なので
何か対処方がありますか?

313 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 00:28:40
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2000

先ほど起動したまま置いておいたら、なぜかフリーズしていました・・・
どうしようもなかったのでタスクマネージャーで強制終了させたら
今度は起動しなくなってしまいました、まったく原因が分かりません
データファイルのショートカットをクイック起動に置いてあるのでそれをクリック、
またはエクスプローからファイルをWクリックのどっちの方法でも駄目でした
直す方法はありますか?

データは単なる一覧で、計算式は1ヶ所だけ1列の計を出した程度のものです
こんなただのデータファイルを読み込ませただけで
更にただ置いておいただけなのにアプリが勝手にフレーズいる理由が全く分からないです
そしてこんなことは長いこと(使用頻度は低いですが)使っていて初めての経験です

314 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 04:17:45
>>313
2002だと「ヘルプ」→「アプリケーションの自動修復」とクリックしていけば
修復出来そうだけど2000はそれあるかどうか…
それ以前にエクセルが起動出来なくなってしまったということなら、スタート
→すべてのプログラム→アクセサリ→システムツール→システムの復元…
で一日前を選択して復元させてはどうでしょうか。
…ってエクセルを越えた回答だけど。

315 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 04:35:06
>>312
とりあえずオートフィルタをすべて表示にさせておいて数値の列の対象の範囲を
ざっくり選択しておいてコピー → 値を貼り付け してみてはどうかな?

316 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 11:21:12
このスレしばらく見ないうちに変なコテハンが増えてて、
しかも例外なく珍回答続出で吹いた

317 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 13:41:45
>>288
http://okwave.jp/qa2321331.html

318 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 14:01:41
せんせー! 質問です!
Winxp、エクセル2002使ってます。
セルを右クリックするとコメント「コメントの挿入」で
コメントを付けることが出来ますし、表示もされます。

そのセルにマウスカーソルを合わせると、コメントが出るのですが
そのセルが右端にあり、コメントがさらに右側に出るので
画面に表示されません。

コメントが表示する時の位置を任意の場所に固定したいときは
どうすれば良いのでしょうか m(_ _)m

319 :複乳:2009/11/20(金) 14:06:42
>>318
セルの右クリック、コメントの編集
その状態でコメントの枠をドラッグすると、コメントの位置を動かせるよ

320 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 14:13:27
>316

自称プロの素人にはよくあること。

321 :318:2009/11/20(金) 14:17:52
>>319 ありがとうございます m(_ _)m
コメントの編集で、左側にしても、カーソルを合わせると
右側に表示されます。
お使いのエクセルのバージョンは何ですか?

322 :複乳:2009/11/20(金) 14:50:54
>>321
うお、気づかなかったゴメン

マクロを使えば実現できるようです
ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1210706232

ただ基本的には戻る仕様らしい
ttp://office.microsoft.com/ja-jp/excel/HP030641631041.aspx
一度非表示にすると規定の位置(右)に戻る
とのこと



323 :318:2009/11/20(金) 14:56:44
>>322 ありがとうございます m(_ _)m
難しそうですが、やってみます m(_ _)m


324 :318:2009/11/20(金) 15:08:25
ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1210706232
で、マクロを作成する事はできました。

リンク先に
@元コメントのテキストの内容を変数にセット。

とあるのですが、セルを右クリックして、「セルの書式設定」を見ても
変数という項目がありませんでした。
どうすれば、変数にセットが出来るのでしょうか m(_ _)m

325 :複乳:2009/11/20(金) 15:13:06
>>324
マクロの登録すれば終わりのはずだよ

登録して、コメントを>>319の要領でうごかせば固定されるとおもう
Comtext = Cel.Comment.Text
の行が
@元コメントのテキストの内容を変数にセット
にあたる内容

326 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 15:25:02
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 使えないです
【4 VBAでの回答の可否】
【5 検索キーワード     】


こんにちわ
まだexcelを使い始めたばかりでどんな事ができるのか判らないのですが
どんどん更新されていくHPから特定のキーワードを自動で収拾してexcelでデータベースを作る事は出来ますか?
それにはVBAというのを覚える必要があるのでしょうか?
よろしくお願いします。

327 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 15:37:59
>>326
「どんどん更新されていくHP」がどういうものかによって対応が違ってくるかな
どっちにしろVBAがないと辛いし、毎日情報を自動で収集したいんであれば、Excelを使うこと自体が向いてないかもね

328 :318:2009/11/20(金) 16:02:38
>>325 ありがとうございました m(_ _)m

329 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 19:14:54
WinXPです。エクセルを二重起動させたいのですが
どこから設定すれば良いのでしょうか? 教えてくださいm(_ _)m

330 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 19:32:56
>>327
ゆくゆくは色んな用途で活かしていこうと思うのですが
http://onore.servegame.com/game/faraway/sangoku/map.cgi

今はとりあえず実験的に
ここからプレイヤー名と更新時間を抜き出してexcelに纏めたいです
VBAを使えば可能でしょうか?またこの用途に適したソフトとかありますか?

331 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 19:40:38
>>329
>>1のテンプレ使ってどういった用途で二重起動させたいのかを詳しく書いてくれ。

332 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 19:47:22
>>331 THX 了解しました。

【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】
二重起動をしない方法は書いてましたが、二重起動にする方法は
書いてませんでした。

二重起動したい理由は、デュアルモニタで両方の画面で
違うエクセルファイルを同時に見たいのです。
よろしくお願い致します m(_ _)m

333 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 19:54:25
Excelを別ウィンドウで複数同時に操作する
http://www.atmarkit.co.jp/fwin2k/win2ktips/915exwin/exwin.html
↑のサイトはExcel2003で説明してあります。試してみては?

もひとつ。
http://q.hatena.ne.jp/1250760590 のページの4番の回答も参考になるかと。

334 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 20:08:41
>>333 やってみます。 ありがとうございました!

335 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 20:25:02
>>332

それを「二重起動」と呼ぶのか・・・素人コエ〜w

336 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 20:28:16
ウザいやつ沸いてるな

337 :335:2009/11/20(金) 20:45:57
>>335

だよなぁ〜
用語くらい正しく使えっての。

338 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 20:51:54
>>337
自演乙w

339 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 22:27:12
>>337 ぅわ

340 :312:2009/11/20(金) 22:59:25
>>315
ざっくり選択というのは、対象外のセルも含めるってことですか?
他のセルには数式が入ってるので、対象になってるセルだけ値にしたいんです。

341 :複乳 ◆MeiY43UMr. :2009/11/20(金) 23:42:08
>>335
これを二重起動と呼ばないならなんと呼ぶのでしょうか?
教えてください
>>340
んー、VBAが不可なら無理
オートフィルタの後にコピーすると、不可視セル(非表示セル)が含まれない
その後同じ領域を貼り付けると当然、セル範囲が違うのでエラーになる
コピーした後、その値をvlookupで引っ張ってくるのがいいんしゃないかな
じゃなきゃVBA


342 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 23:44:11
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 多少
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 mid
別リストにある(ここでは仮にA1セルにあるとします)社員番号なんかを1文字ずつ枠(セル)の中に入れたいのですが、
一番左のセルに「=MID(A1,1,1)」とやって、
左から2番目には「=MID(A1,2,1)」などと、1つずつ入れるしかないのでしょうか?
A1を絶対参照にしてコピーすると自動的に他の枠もうまく入ってくれるかなと思ったんですが。
VBA使うしかないですかね。



343 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 23:47:53
>>342
COLUMN()関数で工夫する

344 :名無しさん@そうだ選挙にいこう:2009/11/21(土) 10:48:42
>>342
=MID($A$1,COLUMN(a1),1)
右に引っ張る

345 :名無しさん@そうだ選挙にいこう:2009/11/21(土) 10:58:03
>>341
何にしても別なファイルを開くのだから「二重」ではないわな。「複数」とか「並べて」とかならわかるが。

346 :名無しさん@そうだ選挙にいこう:2009/11/21(土) 11:18:36
>>341

普通はSDI/MDIだよ。
勉強になったかな?

君は3つ開いたら3重起動って言うのかなw

347 :名無しさん@そうだ選挙にいこう:2009/11/21(土) 11:20:17
>>345
Excelアプリを一つしか開いてなければその中に複数のブックが表示される
アプリを二つ起動したいということだろ

348 :複乳 ◆MeiY43UMr. :2009/11/21(土) 11:50:45
>>345-346
ありがとうございました

349 :名無しさん@そうだ選挙にいこう:2009/11/21(土) 15:43:59
>>345
「二重」がわからなくて
「複数」と「並べて」がわかるのはなんで?


350 :名無しさん@そうだ選挙にいこう:2009/11/21(土) 16:56:40
お?馬鹿にされた反撃かw

351 :名無しさん@そうだ選挙にいこう:2009/11/21(土) 17:19:56
>>350
実は馬鹿にされてるのはお前なんだよ。


352 :342:2009/11/21(土) 17:40:16
>>343 さん
>>344 さん
できました。どうもありがとう。
B1やC1のセルは空白なのに何でこれを参照するんだ?? 
と思いましたが、なるほど、列番号さえ増えればよいわけですね。
勉強になりました!

353 :名無しさん@そうだ選挙にいこう:2009/11/21(土) 21:17:26
【1 OSの種類         .】 WindowsVISTA
【2 Excelのバージョン   】 Excel97-2003
【3 VBAが使えるか    .】 ?
【4 VBAでの回答の可否】 ??
【5 検索キーワード     】

桁を入れたいのですが、セルの書式設定で桁を入れることができるのですが
前に▲を入れると、桁が消えてしまいます。
▲12,345 みたいに表示させたいのですが。
12,345は出るのですが ▲をつけると、▲12345となってしまいます。
どのように設定すればよいのでしょうか?

354 :複乳 ◆MeiY43UMr. :2009/11/21(土) 21:19:25
>>353
"▲"#,##0

355 :名無しさん@そうだ選挙にいこう:2009/11/21(土) 21:20:35
>>353様 ありがとうございます。ユーザー定義で"▲"#,##0を入れてみます!!

356 :名無しさん@そうだ選挙にいこう:2009/11/21(土) 21:27:07
>>353
当方2002ですが、書式→数値→▲1234としていって”桁区切り(、)を使用する”
というところにチェックを入れるとお望みの表示になりましたが。

357 :名無しさん@そうだ選挙にいこう:2009/11/21(土) 23:11:58
>>353
常に▲を入れるんじゃなくて、マイナスの場合だけ入れたいんだろ?
はっきりそう書けよ。

358 :名無しさん@そうだ選挙にいこう:2009/11/21(土) 23:58:33
マイナスを▲で書くバカwwwww

359 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 00:01:03
経理実務を知らないひとがいるな

360 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 02:30:26
まあ実務は知らないにしても、
セルの書式設定→数値のとこすら見たことないレベルなのに、
一丁前なのは暴言吐くことだけってのは恥ずかしいな。

361 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 06:14:41
計算とかではなく、手書きで▲12,345と入れるにはどうしたらいいですか?
桁区切りをチェックしてもできませんでした。

362 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 06:16:18
>>361
文字列

363 :356:2009/11/22(日) 06:57:48
>>361
”▲”ってマイナスの意味だってことは知っている?
入力時に”-12345”と入力すれば▲12,345と表示されるはずですが。
(ちなみに普通に"▲12345"と入力しても私の環境では問題なく”▲12,345”
の表示でしたが。)


364 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 07:05:10
手書きの意味がよくわからないんだが

365 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 07:09:33
>>364
それだけエクセルのスキルが低い人と察するべき。

366 :複乳 ◆MeiY43UMr. :2009/11/22(日) 10:30:12
>>356
これは知らなかった
>>364
「▲12345と入力していますが桁区切りが表示されません」
の意味かと

121 KB [ 2ちゃんねる 3億PV/日をささえる レンタルサーバー \877/2TB/100Mbps]

■ おすすめ2ちゃんねる 開発中。。。 by FOX ★
このスレを見ている人はこんなスレも見ています。(ver 0.20)
Excel VBA質問スレ Part13 [プログラム]
老符「東方シリーズ総合スレッド 6128/6128」 [ゲームサロン]
案符「東方シリーズ総合スレッド 6122/6122」 [ゲームサロン]
【独自ドメイン】 Google Apps 3 【Gmail】 [ネットサービス]
人工知能を作ろうver0.0.5 [プログラム]

新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :


read.cgi ver 05.0.7.8 2008/11/13 アクチョン仮面 ★
FOX ★ DSO(Dynamic Shared Object)