[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 04/23 17:55 / Filesize : 146 KB / Number-of Response : 423
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Excel総合相談所 87



1 名前: ◆Excel//q4U [2009/09/27(日) 21:52:39 ]
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★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総合相談所 86
ttp://pc11.2ch.net/test/read.cgi/bsoft/1251490200/


2 名前: ◆Excel//q4U mailto:sage [2009/09/27(日) 21:53:39 ]
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
・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 名前: ◆Excel//q4U mailto:sage [2009/09/27(日) 21:54:21 ]
★ルールを無視すると…
 >>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 名前: ◆Excel//q4U mailto:sage [2009/09/27(日) 21:55:03 ]
★ 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 名前: ◆Excel//q4U mailto:sage [2009/09/27(日) 21:55:45 ]
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)

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

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

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

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

6 名前: ◆Excel//q4U mailto:sage [2009/09/27(日) 21:56:26 ]
上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。
間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。
Excel2007についても未確認な項目が多いので変更点が有ればご指摘下さい。

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

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

以上でテンプレ終わり


7 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/27(日) 22:19:40 ]
>>1 おまえいいやつだな

8 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/28(月) 02:32:00 ]
>>1ー6
 *-+。・+。-*。+。*
  \   。*゚
  ∩ *
  (・ω・`)
  。\  つ
  *  丶 _⊃
 +。  ∪   ☆
  ゚+。*。・+。-*。*゚



9 名前:名無しさん@そうだ選挙にいこう [2009/09/28(月) 04:08:38 ]
質問です。お願い致します。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel エンター ペーストされる

いつのまにかセルをコピーしている状態でエンターを押すと勝手にペーストされるようになってしまいました。
どこで設定を直せば良いのでしょうか?探してみたのですがちょっとわからなかったです。


10 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/28(月) 10:17:41 ]
>>9
それは仕様です
コピーしていると下に、「エンターを押すか・・」と説明でるっしょ
間違えてコピーしたときはESCオスと解除されるよ



11 名前:名無しさん@そうだ選挙にいこう [2009/09/28(月) 20:55:51 ]
入力規則リストに連動して、ほかのセルに自動入力ってできる?

12 名前:9 mailto:sage [2009/09/28(月) 21:42:37 ]
>>10
ええーそうなんですが。今まで気づかなかった。
コピーして列の一番下のその次に書き込みたくてctr+下のあとリターンで次のセルに行きたいのだけど
リターンすると貼り付けられちゃってめっちゃふべんです。わかりにくくてごめんなさい。

13 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/28(月) 22:05:44 ]
>>12
それだったら、ctr+下のあともう一度↓を押すのが早い

14 名前:9 mailto:sage [2009/09/28(月) 22:15:56 ]
ああああー確かにそうですね。気づきませんでした。

15 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/28(月) 22:56:23 ]
カワイイ

16 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/29(火) 00:06:06 ]
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

上から順に入力されている数字を上下逆の順にしたいのですが
何かいい方法ありませんか?

17 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/29(火) 00:25:36 ]
>>16
作業列に連番を入れて降順に並べ替え
行数固定ならワークシート関数
VBA

18 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/29(火) 00:31:21 ]
>>17
ありがとうございます!

19 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/29(火) 00:42:13 ]
前スレ980ですがDropButtonClickイベントを使ったら、
今度はコンボボックス1をドロップダウンした時にエラーが発生してしまいました。
ドロップダウンリストを非表示にした時のみ起こるイベントがあればいいと思うのですが、
調べても見つかりません…
他に方法はありますでしょうか?


↓前回の質問
>vbaの質問です。
>フォーム上にコンボボックスが2つある状態で、
>コンボボックス1でドロップダウンして値を選択すると、コンボボックス2がドロップダウン状態になるようにしたいのですが、
>下記のコードではドロップダウンしてくれませんでした。(コンボボックス1が既にドロップダウン状態のため?)
>何かいい方法はありますでしょうか?
>
>Private Sub Combobox1_Change()
>Combobox2.dropdown
>End Sub

20 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/29(火) 06:54:08 ]
>>16
降順・昇順それぞれ専用のボタンがあるよ。(Σ”オートSUM”とグラフウィザード
のボタンの間にあります。)
並び替えたい範囲を選択してそのボタン押せば即変わる。

つか、前スレでつい最近質問&回答あったばかりなんだが。



21 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/29(火) 07:55:04 ]
>>20
データを降順・昇順に並べるのではなく、単に上下逆転したい時はどうすればいいですか?

22 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/29(火) 08:57:23 ]
>21

バカ? を ?ガハ にしたいってこと?

23 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/29(火) 10:27:14 ]
>>19
ttp://www.red.oit-net.jp/tatsuya/vb/ComboBox_Event.htm
ないんじゃないかな
エラーは「VBA コンボボックス エラー」などでぐぐるといいかも
俺のところでは再現できなかった
ttp://74.125.153.132/search?q=cache:jJZfQmSCb6wJ:okwave.jp/qa3581632.html+VBA+%E3%82%B3%E3%83%B3%E3%83%9C%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9+%E3%82%A8%E3%83%A9%E3%83%BC&cd=1&hl=ja&ct=clnk&gl=jp&lr=lang_ja
>>21
作業列、が分からないか
例えばA列を並び替えたいとき、B列に1、2、3・・とA列のはしまで入力
そしてAB列を選択した後B列を基準に降順で並び替えると、B列が3、2、1・・
となりそれに連動してA列も変わる
このB列を作業列という。公式な呼び方かどうかは知らんけど

24 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/29(火) 11:03:49 ]
>>19
確かにDropButtonClickでやってみたら

実行時エラー’-2147417848 (800101108)':
オートメーション エラーです。
起動されたオブジェクトはクライアントから切断されました。

て、エラーでたわ

それで、実際どういう動作をさせたいの?
2つ同時にドロップダウンリストを表示させたいんだったら
リストボックスを使ったほうがいいと思うよ

25 名前:名無しさん@そうだ選挙にいこう [2009/09/29(火) 11:20:12 ]
曲線のグラフを書きたいのですが
折れ線グラフでちょこちょこ書かないと無理でしょうか?

26 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/29(火) 11:33:06 ]
>25
点の集合でグラフを書くなら、散布図が便利です

27 名前:名無しさん@そうだ選挙にいこう [2009/09/29(火) 11:53:04 ]
>>25
それでもかなり面倒そうですね
ワードでも探してみます
ありがとうございます

28 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/29(火) 12:52:07 ]
>>22

> バカ? を ?ガハ にしたいってこと?
質問の内容はそういうことだろ。
つまり>>20がバカということ。

29 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/29(火) 14:07:36 ]
また恥かくからそういう言い方はやめておきなって

30 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/29(火) 20:55:06 ]
>>21
エスパーが回答するよ〜
「shift押しながらドラッグしたらどうなん?」



31 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/29(火) 21:52:50 ]
Office2000から2003になりました。
オートフィルしたり、コピペしたりすると小さなボックスが出てきてウザいんですが、
出さなくする方法を教えてください。


32 名前:名無しさん@そうだ選挙にいこう [2009/09/29(火) 22:17:12 ]
>>31
ツール>オプション>編集>[貼り付けオプションボタン]を表示するのチェックをはずす

手元に2003が無いのであやふやだが、これだったはず

33 名前:19 mailto:sage [2009/09/29(火) 23:22:28 ]
>>23>>24
回答ありがとうございます

>それで、実際どういう動作をさせたいの?
>2つ同時にドロップダウンリストを表示させたいんだったら
>リストボックスを使ったほうがいいと思うよ

いえ、複数のコンボボックスに順番に値を入力していくのに、
1つ目に値を入力したら2つ目のドロップダウンリストを自動で開く
2つ目に値を入力したら3つ目のドロップダウンリストを自動で開く

としたかっただけなのですが、なぜかうまくいきませんでした。

諦めて手動で開くことにします。

34 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/30(水) 00:21:43 ]
>>33
どうもコンボボックスを繋げるとバグがおきやすいみたいだな
ボタンにするか、別のメソッド(動作)を試すといいかもしれない


35 名前:名無しさん@そうだ選挙にいこう [2009/09/30(水) 00:30:22 ]
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可
【5 検索キーワード     】”違うシート 集計”、”Vlookup 集計”

こんばんは。早速質問させていただきます。

今、複数のシートにデータが入っています。
Sheet1 契約店リスト >>300件くらいのリスト。2列。契約店コードと契約店名。
Sheet2 商品受注表 >>1000件くらいのリスト。
           >>受注月、受注日、契約店コード、契約店名(VlookupでSheet1から検索)、
           >>オプションのありなし(1か0が入力されている)
Sheet3 集計表1 >>ピボットテーブル

まず、Sheet2の受注表は、毎日10件くらい増えます。
これを月末に、月ごと・契約店ごとに、受注個数・オプション契約個数の2つを集計します。
これは、ピボットテーブルでなんとか作りました。(Sheet3 )

お聞きしたいのは、こんなことです。
やりたいのは、Sheet1のリストには入っていてもまだ受注していない契約店の分も「0」として表示して、
全部の契約店の受注個数とオプション契約数を出したいのです。(0個のところは営業を強化したりしたいので)

出来れば、今作っているのと似たレイアウトで、月ごとにまとめられて、かつ今までの累計も見られるようなかたちで。
Sheet1とSheet2をうまく使ってこういうものをこしらえるには、どうすれば出来るでしょうか?

前の担当者は月末ごとに電卓をたたいていて、それが手間なのとミスしやすいなあと思ってExcelでやりたいのですが。
どうか教えてください。

36 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/30(水) 00:37:44 ]
>>35
ピボットテーブルだとSheet2にダミーデータを入れるしかないのではないか?

SQLだと外部結合というので実現できる。
AccessやSqliteを試してみてもおもしろいよ。

37 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/30(水) 00:47:27 ]
2003だと追加インストールが必要かもしれんけど、データのあるブックとは別のブックから「外部データの取り込み」で
Query起動して外部結合できんじゃねーかなそれは

38 名前:35 mailto:sage [2009/09/30(水) 01:03:44 ]
早速ありがとうございます。

>>35さん
申し遅れていました。Sheet2は自動でデータが入るようになっているのです。
(受注システムからデータを読んでいるのだとか)
ですので、Sheet2はいじれないかと・・・
やはり、こういったものはAccessでしょうか。わたしを含め、課内はあまり
Accessに強いものがおらず、ついExcelでなんでもやってしまおうとしてしまいます。

外部結合というのを調べてみます。37さんもありがとうございました。
あす出社しましたら、追加インストールが必要かどうかを含め、まずは検討してみます。
ピボットテーブルをかじり始めたばかりなので、ピボットテーブルで出来るのかと思い
躍起になっておりました。やはり視野が狭いのはいけませんね。

39 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/30(水) 03:16:53 ]
>>38
「ちょっと重い」程度のことなら、余計なことはせずに
がまんして使った方がいいかもしれんぞ
新しいシステムを導入すると必ずトラブルが起こるの法則

40 名前:名無しさん@そうだ選挙にいこう [2009/09/30(水) 04:05:37 ]
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 簡単なものなら
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 "シート保護" "ロックされた範囲の選択 再起動"

シートを保護する際「ロックされたセル範囲の選択」チェックをオフにし、
ロックされたセルは選択出来ないよう設定したいのですが、エクセルを再起動するとシートの保護はされているのに
ロックされた範囲の選択は可能になってしまいます。
複数シートを使って何度も試してみたところ、時々ロックされた範囲を選択出来ないままの場合もありました。
どういうケースでそうなるのか再現は出来ませんでした。

解決方法をご存知でしたら、ご教授をお願い致します。



41 名前:40 [2009/09/30(水) 04:24:19 ]
書き忘れた情報を追加します。ごめんなさい。

>>40の事象は、現在作成中の納品書請求書作成用のbookでのみ起こります。
新規でbookを作成した場合は再起動しても、ロックされたセルは選択出来ないままでした。
納品書請求書作成用のbookでも、新規でシートを追加した場合は大丈夫です。

シート保護のチェックは「ロックされていないセル範囲の選択」のみにチェックを入れています。

知らない間にどこかの設定を変えてしまったのでしょうか。
よろしくお願いします。

42 名前:名無しさん@そうだ選挙にいこう [2009/09/30(水) 07:10:20 ]
質問です。

sub k ()

for i= 1 to 30
〜〜〜〜〜〜
next i


for h=1 to 10
〜〜〜〜〜〜〜
next h

end sub

こうゆう構文ってなりたちますか??(〜〜〜〜はなんでもいいです。)
試してみたのですができませんでした。本にもこのようなものは書いていませんでした。
なにかやり方があるのか知りたくて質問してみました。
エクセル2003です。よろしくお願いします。

43 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/30(水) 07:22:19 ]
>>39
>「ちょっと重い」程度のことなら、余計なことはせずに
>がまんして使った方がいいかもしれんぞ

「ちょっと重い」なんて書いてあったか?

44 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/30(水) 07:26:08 ]
>>42
Option Explicit

Sub k()
Dim i, h
For i = 1 To 30
Cells(i, 1) = "ループ1の" & i & "かいめ"
Next i


For h = 1 To 10
Cells(h, 2) = "ループ2の" & h & "かいめ"
Next h

End Sub
できるよ

45 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/30(水) 11:37:09 ]
スレチなんだが、だれかVBA質問スレたてて下さい


46 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/30(水) 14:29:16 ]
Excel VBA質問スレ Part13
pc12.2ch.net/test/read.cgi/tech/1254281104/l50


47 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/30(水) 16:58:19 ]
>>46
ありがとうございます

48 名前:名無しさん@そうだ選挙にいこう [2009/09/30(水) 18:51:16 ]
>>44
ありがとうございました。
かなり作業が進みました。感謝です。

49 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/09/30(水) 21:27:20 ]
Excel 2007の使い方について質問です。

【内容】
Excel 2007のハイパーリンクで、外部プログラムを起動していますが、
この外部プログラムに引数を渡したいと思っています。その引数の指定方法を教えていただけないでしょうか?

**.exe *** ***

と、スペースで引数を指定すると、" "が"%20"に変換されてしまい、うまく指定できません。
スペースをうまく指定する方法を教えてください。

宜しくお願いします。

50 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/01(木) 04:13:52 ]
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 IF関数

作成したブックです。
ttp://www.dotup.org/uploda/www.dotup.org205926.xls.html

A2に文字があります。
B2からF2に日付があります。
G2のセルに、「もしB2からF2の日付の内一つでもTODAYなら、G2にA2を表示させる」
という事を行いたいです。

お手数ですがご回答よろしくお願いします。



51 名前:50 mailto:sage [2009/10/01(木) 04:52:03 ]
お騒がせしました、自己解決しました。

52 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/01(木) 04:55:43 ]
>>50
"一つでも"ということなら
=IF(COUNTIF(B2:F2,TODAY())>=1,A2,"")

ただ実際範囲内で重複している日付は無さそうだから
=IF(COUNTIF(B2:F2,TODAY())=1,A2,"")
とやってもよさそうだけどね。

53 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/01(木) 04:57:28 ]
orz...

54 名前:名無しさん@そうだ選挙にいこう [2009/10/01(木) 08:50:52 ]
【1 OSの種類         .】 XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 ある程度
【4 VBAでの回答の可否】 否
ピボットで商品の今年度と昨年度の集計を出しました。
その集計から前年比などを出すのですが
ピボットで集計したものを別のシートに貼り付けて計算式「今年-昨年」で
前年比をだしているのですが、ピボットのあるシート内でこういった計算はできませんでしょうか?

商品名 **

顧客 今年 前年 
 A 10   5
 B 15   3
以下続く     
上のものを別シートに貼り付けて

顧客 今年 前年 今年-前年←新しいシート・列にこの計算式を入れてる 
 A 10   5   5
 B 15   3   12

複数商品を何度も何度もコピペしてるので、もう少し効率的にできれば…
と思いました。判りづらいところもあるかもしれませんが
何卒ご教示お願い致します。




55 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/01(木) 09:06:03 ]
>>54
できるよ。そのまま式をピボットテーブルの隣に書き足せばいい。

56 名前:54 mailto:sage [2009/10/01(木) 09:31:18 ]
>55
ありがとうございます!
質問前に最初やってみたのですができなくて、今やり直してみたらできました!
なんでだろう…GETPIVOTDATAってなるから何か特別なことが必要なのかと思ってました。


57 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/01(木) 12:43:42 ]
>>56

前年比をピボットで計算させることもできるよ。

58 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/01(木) 13:40:49 ]
【1 OSの種類         .】 Windows XP Pro
【2 Excelのバージョン   】 Excel2003(出来れば2007でも使いたいです)
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可(貼り付けだけなら出来ます)
【5 検索キーワード     】 まだググってません
以前に印刷の際、指定したセルに連番を作りながら、印刷が出来るような下記のVBAを作って頂きました

Sub 連番印刷()
'
' 連番印刷 Macro
'
' Keyboard Shortcut: Ctrl+Shift+F
'
Dim i As Integer
For i = 1 To 4
Range("G12").NumberFormatLocal = "-00000"
Range("G12") = i
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
DoEvents
Next i

End Sub


59 名前:58の続き mailto:sage [2009/10/01(木) 13:42:30 ]

しかし桁数と***の都合で
連番をアルファベットと数字で構成した4桁で繰り上げるように変更したいのですが、書いて頂けますか?
文字の順番は数字→アルファベット(逆でもOKです)です
0→1→2→3→4→5→6→7→8→9→A→B→C→D→E→F→G→H→I→J→K→L→M→N→O→P→Q→R→S→T→U→V→W→X→Y→Z→0→1
という感じで


0001→0002→・・・0009→000A→000B→000C・・という感じで
36×36×36×36=1,679,616種類を作れないでしょうか?

できれば
アルファベットで「I」と「O」は数字の「0」と「1」と誤認識する可能性がありますので
極力省きたいと思いますので、32×32×32×32=1,048,576種類の連番を作成します
しかしまとめて100万枚印刷は出来ないので、開始番号と終了番号を指定して印刷が出来るようにしたいです

開始「0000」 終了「00FZ」で512枚・・という感じです


60 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/01(木) 16:08:23 ]
>58

Sub Macro1()

Dim myText As String
Dim i As Long
Dim myLength As Integer
Const myArray As String = "0123456789ABCDEFGHJKLMNPQRSTUVWXYZ"

myLength = Len(myArray)

For i = 1 To 512

myText = Mid(myArray, Int(i / (myLength ^ 3)) + 1, 1)
myText = myText & Mid(myArray, Int(i / (myLength ^ 2)) + 1, 1)
myText = myText & Mid(myArray, Int(i / (myLength ^ 1)) + 1, 1)
myText = myText & Mid(myArray, i Mod myLength + 1, 1)

With Cells(i, 1)
.NumberFormatLocal = "@"
.Value = myText
End With

Next i

End Sub



61 名前:名無しさん@そうだ選挙にいこう [2009/10/01(木) 17:51:48 ]
【1 OSの種類         .】 Windows XP P
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 勉強中
【4 VBAでの回答の可否】 可 よろしくお願いします。

VBAで
= Application.WorksheetFunction.Average(Worksheets("sheet1").Range(Cells(1, 3), Cells(10, 3)))
のように average でC1からC10まで求めるやり方ははかりました、

A3、A6、A9、A12 「Cells(1,h*3)」 のような飛び飛びのセルを
average したいのですがどのようにすればよいですか?
教えてください。よろしくお願いします。


62 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/01(木) 18:05:22 ]
>61

= Application.WorksheetFunction.Average(Cells(3, 1), Cells(6, 1), Cells(9, 1), Cells(12, 1))

>「Cells(1,h*3)」 のような

無茶言うなよw

63 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/01(木) 18:18:31 ]
>>61
変数aとbを用意
fornextでstep3
a = a + cells(a,1)
b = b + 1
でa/b
もしかしたらコレクションを使えるかも知れないけど使え
いかも

64 名前:名無しさん@そうだ選挙にいこう [2009/10/01(木) 18:44:17 ]
初心者スレで荒らされたのでこちらでお願いいたします

使用OS  XP
使用ソフトウェア  excel2007

問題点 ピボットテーブルについて
    範囲を指定して合計すると1行目がタイトル扱いになり
    計算に加えてくれません。
    1行目にタイトルを加えるのは複雑で大量になる為できません
    オプション設定のどこを触ったらよいのでしょうか?    


65 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/01(木) 20:33:29 ]
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 否
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excell 文字 置き換え

A1で計算した答えによって、文字の置き換えをしたいのですが、どうやればいいのかわからないです。
例えば、計算した答えが1だった場合は「りんご」、2だった場合は「バナナ」、3だった場合は…
というような表示をしたいのですが、関数でできるのでしょうか?

66 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/01(木) 20:39:34 ]
>65
A1セルには計算式があるんですよね?
では、りんごやバナナなどの文字はどのセルに表示したいんですか?
まさか「A1セルに」ではありませんよね?

67 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/01(木) 20:44:07 ]
>>65
=IF(A1=1,"りんご",IF(A1=2,"バナナ",IF(A1=3,"うんこ","ゲロ")))

68 名前:65 mailto:sage [2009/10/01(木) 20:44:53 ]
>62
説明不足で申し訳ありません。
A1には計算式があり、答えは別のセル(A2とかA3)に表示させたいです。

69 名前:66 mailto:sage [2009/10/01(木) 20:57:20 ]
>65,68
了解。それから計算結果は何通りくらいあるんですか? 3通りなら>67さんのやり方でいいと思うけど
数十通りとかなったら別のセル範囲に 値 と 表示したい文字列 のリストを作っておいてMATCHと
INDEXで表引きした方がいいと思う。


70 名前:31 mailto:sage [2009/10/01(木) 21:23:50 ]
>>32
ありがd!!
できました。



71 名前:65 mailto:sage [2009/10/01(木) 21:44:29 ]
>>67
ありがとうございます。IFを使えばよかったんですね。
数通りの場合はこちらを使用します。

>>69
計算結果は2通りから、最大30通りぐらいまであります。
計算結果が多い時はMATCHとINDEXで表引きをすればいいのですか。
使用した事ないので使い方はわからないですが、ググって調べてみます。
ご丁寧にありがとうございました。

72 名前:名無しさん@そうだ選挙にいこう [2009/10/01(木) 23:50:13 ]
>>56
EXCEL2003ではGETPIVOTDATAって関数が勝手に入る仕様になって、俺はちょっとうざいと感じた。

下記の方法で、普通の感覚の式が使えるようになるよ。
www11.plala.or.jp/koma_Excel/contents6/mame6045/mame604501.html

73 名前:名無しさん@そうだ選挙にいこう [2009/10/02(金) 00:04:54 ]
>>65
質問の意図どおりの関数としては
=CHOOSE(A1,"りんご","バナナ","イチゴ","スイカ")
っていうのもある。

まあ、外にテーブル付くって>>69さんのようにするのがいいと思うけど

74 名前:名無しさん@そうだ選挙にいこう [2009/10/02(金) 08:52:56 ]
【質問です】
EXCEL2003において、ワイルドカードが使える(使えない)代表的な関数一覧・・・ってどこかにありますか?
ぐぐったのですが、よく分からない・・・
もちろん、個別関数において「使える」「使えない」というのは調べられるのですが、一覧があると分かりやすい・・・と思って。

75 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/02(金) 09:54:53 ]
>>74
使いたい関数ごとに調べるほうが良いと思うよ
ttp://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/itiran.html
「ワイルドカードが使える」と書いてない限り、使えないと思ったほうが良いかも



76 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/02(金) 11:06:18 ]
質問です
エクセル2000から2007に変更したのですが、セルの塗りつぶしの
標準色セットが変わってしまっています
今までと同じ色で塗りつぶしたいのに、同じ色を探すだけで時間を取られます

2000と同じ標準色パレットを使用したいのですが、そのようなことはできますか?

77 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/02(金) 11:59:47 ]
>>76
こういうのがあるよ
ttp://fnya.cocolog-nifty.com/blog/2009/02/excel-2007-exce.html

78 名前:58 mailto:sage [2009/10/02(金) 12:42:24 ]
>>60
回答ありがとうございます

1、実行してみましたが、A1から下に向かい連番がふれられていくだけです
前回のVBAの何処かに追加するのですか?

2、連番を入れるセルは何処でしていすれば良いでしょうか?

>For i = 1 To 512
ここが開始と終了ですね?


79 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/02(金) 13:22:03 ]
>>77
ありがとうございます
ちょっと操作感は違いますが、以前と同じ色を入力できるようになりました

他にも挿入した図形が印刷したらシャギシャギになってたり
2007って2000や2003との互換性があまりないのでしょうか・・・

80 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/02(金) 13:28:16 ]
>>79
ワードもエクセルも2007から内部構造が完全に変わった。xlsxファイルの拡張子をzipに変えてみるとわかるよ。
図形やグラフは互換性がとても低い。印刷するとずれたり大きさが変わったりする。



81 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/02(金) 14:28:13 ]
>>80
なるほど・・・厄介ですね
周りがまだ2000〜2003だらけなので、戻した方がよさそうですね

82 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/02(金) 14:38:47 ]
>78

それくらい応用してくれ。

83 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/02(金) 17:47:48 ]
>>58 >>78

暇だったから作ってみた

Option Explicit

Const cBase As String = "0123456789ABCDEFGHJKLMNPQRSTUVWXYZ"
Dim BVCol As Collection

Sub 連番()
Dim lX As Long, lR As Long, lC As Long, st As Long, en As Long

Set BVCol = New Collection
For lX = 0 To Len(cBase)
BVCol.Add lX, Mid(cBase, lX + 1, 1)
Next lX

st = CValIndex("0000") ' 開始番号を「""」の中に記入
en = CValIndex("00FZ") ' 終了番号を「""」の中に記入
lR = 0
lC = 0
With Range("A1")
For lX = st To en
With .Offset(lR, lC)
.NumberFormatLocal = "@"
.Value = CTxtIndex(lX)
End With
' ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
DoEvents
lR = lR + 1 ' 行方向に書き込む場合、コメントブロック解除して
' lC = lC + 1 ' 列方向に書き込む場合、コメントブロック解除して

84 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/02(金) 17:49:09 ]
>>83 の続き

' lC = lC + 1 ' 列方向に書き込む場合、コメントブロック解除して
Next lX
End With
End Sub

' 引数[index]で指定した数値を、[BVCol]で定義した文字列に変換する
Private Function CTxtIndex(ByVal index As Long) As String
Dim lX As Long, vT As Variant, tTxt As String, cTmp As Collection

Set cTmp = New Collection
lX = index
Do
cTmp.Add lX Mod (BVCol.Count - 1)
lX = Fix(lX / (BVCol.Count - 1))
Loop Until lX <= 0

For Each vT In cTmp
tTxt = Mid(cBase, vT + 1, 1) & tTxt
Next vT

If Len(tTxt) > 4 Then
tTxt = Right(tTxt, 4)
Else
Do Until Len(tTxt) >= 4
tTxt = "0" & tTxt
Loop
End If
CTxtIndex = tTxt

85 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/02(金) 17:50:08 ]
>>84 の続き

End Function

' 引数[txt]で指定した文字列を、[BVCol]で定義した文字列で数値に変換する
Private Function CValIndex(ByVal txt As String) As Long
Dim lX As Long, lX2 As Long, lX3 As Long, stlX() As Long, stTmp As Long

ReDim stlX(1 To Len(txt))

txt = StrConv(txt, vbUpperCase)
For lX = 1 To Len(txt)
stlX(lX) = BVCol(Mid(txt, lX, 1))
Next lX

lX2 = UBound(stlX, 1) - 1
For lX = LBound(stlX, 1) To UBound(stlX, 1)
If lX2 < 1 Then
stTmp = stTmp + stlX(lX)
Else
stTmp = stTmp + (stlX(lX) * ((BVCol.Count - 1) ^ lX2))
End If
lX2 = lX2 - 1
Next lX
CValIndex = stTmp
End Function

86 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/02(金) 17:53:49 ]
>>83-85 のコードを
同じ標準モジュールに順番にコピペすればOKだから

87 名前:58 mailto:sage [2009/10/02(金) 19:26:08 ]
>>82
すみません、コピペしかできません

>>82-85
ありがとうございました、明日試してみます

88 名前:名無しさん@そうだ選挙にいこう [2009/10/02(金) 20:37:48 ]
こんばんは。質問です。よろしくお願いします。
エクセル2003です。VBA

VBAで、 
  A1:A100 で "月" と表示のあるもの    かつ
  range(cells(10,h*3),cells(100,h*3)) で0より大きいものを

  平均したいのですが、、、

sub k()

if  If Range("A1:A100") = "月" Then

この先がわかりません。教えてください。お願いします。
”〜かつ〜”のVBAでの表現法がわかりません。
 



89 名前:名無しさん@そうだ選挙にいこう [2009/10/02(金) 20:41:37 ]
セルの中の文の特定の部分だけ塗りつぶしをかける方法はありませんか?

Excel2007です。


90 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/02(金) 22:09:12 ]
質問です、お願いします

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 文字列 自動で

商品の仕入れ履歴をエクセルで記録しています。
元々、なにかしらの準備をしておくことで
品目コードから、商品名を一つ右隣のセルに自動呼び出しすることは可能でしょうか?
(例)  コード   商品名    一箱収容数
    12512575  ○○○○     ▲▲▲
上の○と▲が自動で入力できるようなシートを作れれば嬉しいです。





91 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/02(金) 22:10:00 ]
会社で使ってるファイルですが、=VLOOKUP(N8, $A:$FI, 3) と書いてありました。
この $A:$FI は、どういう意味でしょうか?
A1:FI20 なら分るんですが・・・

92 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/02(金) 22:21:58 ]
>>91
A列からFI列を選択している。
おいらも行数が不定の場合はこうするよ

93 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/02(金) 23:21:23 ]
>88
VBA質問相談所にも似たよう質問してませんか?で、何か条件が増えたような。

セルひとつづつ条件をチェックしていくしかないと思うけど。
まず、処理対象のセル範囲があやふや。
A1:A100の条件があるかと思うとrange(cells(10,h*3),cells(100,h*3))ということで10:100の範囲になってるし。
hの値が1から始まるならC、F・・・IU列(255列目 h=85)まであるんですか?
VBA質問相談所の方(レスbP5)を見ると
>A3、A6、A9、A12 「Cells(1,h*3)」 のような飛び飛びのセルを average したい
ってあるけど。ひょっとして10列目〜100列目ってこと?
VBEで CELLS( まで入力したら行と列の順序がわかりますよ。

94 名前:58 mailto:sage [2009/10/03(土) 11:11:56 ]
>>83
83・84・85の順番に張り付けて実行しましたが、A1から下に向かって連番が
振られていくだけで、印刷は出来ませんでした

95 名前:名無しさん@そうだ選挙にいこう [2009/10/03(土) 11:15:06 ]
こんにちは。
エクセル2007って安いお店でいくら位でかえますか?

96 名前:83じゃないよ mailto:sage [2009/10/03(土) 11:19:42 ]
>83の
' ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
の行は有効に('をはずす)してますよね?

97 名前:58 mailto:sage [2009/10/03(土) 11:38:59 ]
>>96
レスありがとうございます
(' )を削除して実行した結果、印刷はするのですが
A1に連番の指定した値がでて印刷→A2に次の連番が出てきて印刷になってしまいます
・・は指定したセルにだけ、違った連番が現れる毎に印刷にしたいです

ちなみにセルを指定する場合は
>With Range("A1")
のA1を変更すればいいんですよね?


98 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/03(土) 11:40:10 ]
>>95
これぐらい
ttp://kakaku.com/item/03206020367/

99 名前:RK [2009/10/03(土) 11:46:41 ]
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 可
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel 入力規則 VBA

例えばマスタとしてSheet2のA2以降に番号,B2以降に氏,D2以降に単価がある時
Sheet1のB6に入力規則を設定して、そのリスト選択で
Sheet1のB6に氏,C6に名,D6に時給を表示させることはできますか?
関数ではなくVBAでお願いします。


100 名前:96 mailto:sage [2009/10/03(土) 12:29:42 ]
>97
>83の
lR = lR + 1 ' 行方向に書き込む場合、コメントブロック解除して
をそのまま生かしているのなら、行方向にずれます。出力先固定ならば、コメント化すること。

出力セル位置(基準位置)の指定は >97 のとおりです。



101 名前:58 mailto:sage [2009/10/03(土) 12:39:45 ]
>>96
コメント化とはどうすればよいですか?

102 名前:名無しさん@そうだ選挙にいこう [2009/10/03(土) 12:41:45 ]
>>101
'

103 名前:名無しさん@そうだ選挙にいこう [2009/10/03(土) 12:49:01 ]
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 可
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 ピボット ゼロ 非表示

ピボットテーブルで、値がゼロのものは項目ごと表示させない方法はありますか?
ピボットテーブルの上からフィルターは使用したくないので他の方法があれば教えてください。

104 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/03(土) 13:23:02 ]
>>103
少しだけ手作業してもいいなら、グループ化という方法がある。
まず、集計値でソートしておいて値ゼロを一ヶ所に集めて、
その項目を全部グループ化
そしてそのグループを非表示にする。

105 名前:83です mailto:sage [2009/10/03(土) 14:00:50 ]
>>58
テンプレの3・4見てなかったよゴメン

暇だから作るけど
してほしい動作をもう少し詳しく

>>58のコード通りなら
セルG12に番号を入れる→印刷、でいいのか?

それと、違った連番が現れる毎に印刷したいって
連番の範囲を指定するときに、重複する範囲を指定する場合があるってこと?

106 名前:名無しさん@そうだ選挙にいこう [2009/10/03(土) 15:47:05 ]
【1 OSの種類       .】 Windows XP Home
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか    .】 少々
【4 VBAでの回答の可否 】 可
【5 検索キーワード    】 任意の行数の挿入

下記VBA 「25行目から最初の上方向の空白行を選択」のつもり

Sub 空白行選択()

Const FirstRow = 25
Const LastRow = 2
Dim MyRow As Long

MyRow = FirstRow
Do Until Cells(MyRow, 2) = ""
MyRow = MyRow - 1
If MyRow < LastRow Then Exit Sub
Loop

Rows(MyRow & ":" & MyRow).Select
End Sub

ここまでは何とかできたのですが(合ってますよね?)
ここに、"25-(上記で検索した最初の空白行の行数)"の空白行をを挿入したいのですが、
どうすればいいのでしょう?
※上記で検索した最初の空白行の行数が 18であれば 25-18 = 7 行を挿入

よろしくお願いします。

107 名前:離島のサンデーPG [2009/10/03(土) 17:23:09 ]
>>106
とにかくデータ行の下に25行の空白行を設けたいってことであってるのかな?

108 名前:106にあらず mailto:sage [2009/10/03(土) 17:57:29 ]
横から失礼
>106さんがしたいのは、
25行目から上方向に検査を行い、最初に見つけた(B列の)空白セルのある行から25行目までに空白行を挿入したい
ということだと思います。
例えば、B25セルが空白だった場合は 25−25=0 で空白行の挿入は行われず、
    B24セルが空白だった場合は 25−24=1 で1行挿入する という具合。

109 名前:名無しさん@そうだ選挙にいこう [2009/10/03(土) 18:12:55 ]
106です。

>>107さん 108さん ありがとうございます。
すいません。説明が言葉足らずでした。

シートには、2行目からN行目までデータが入力されています。
途中、不規則に空白行があります。

空白行から次の空白行までのデーターが、印刷時複数のシートに分割されないように
というのがそもそもの意図です。1シートのデーター入力行数が25です。

例 22行目 データー有り  23行目 空白行    24行目 データー有り
  25行目 データー有り  26行目 データー有り 27行目 空白行

  23行目(25行目から上方向の最初の空白行)に 25−23=2 行の空白行
  を挿入することによって、1枚目のシートは22行目までデーター有り、23〜25
  行目は空白行。2枚目のシートは(行挿入する前の)24行目から始まる。
  
意図したことは、上記のようなことです。よろしくお願いします。


110 名前:108 mailto:sage [2009/10/03(土) 18:31:46 ]
>109
>印刷時複数のシートに分割されないように
複数のページに分割されないようにして ということですね。

改ページを設定する方法じゃダメ? 行挿入したら計算式に影響ありませんか?(計算式があるのか知らないけど)



111 名前:名無しさん@そうだ選挙にいこう [2009/10/03(土) 18:45:06 ]
106です。
>>108さん
「複数のシート」ではなく「複数のページ」でした。重ね重ねすいません。

「改ページを設定する」ってのは分かりませんです。そういう方法も
あるのでしょうか?

計算式の参照は行方向だけなので、行挿入しても問題ないと思います。


112 名前:108 mailto:sage [2009/10/03(土) 20:23:06 ]
>111
手作業での改ページはわかりますね?(メニュー−挿入−改ページ)
マクロの自動記録をしてみたら、次のようなコードができました。
※12行目を選択して改ページしたときの内容です。(当方はExcel2003です)

Rows("12:12").Select
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
Range("A12").Select
こういうこともできるということで。

113 名前:離島のサンデーPG [2009/10/03(土) 20:23:29 ]
>>106
連続データが30行(B2:B31まで)あったらどうすんのかな?

114 名前:離島のサンデーPG [2009/10/03(土) 20:29:57 ]
> 1シートのデーター入力行数が25です。
あ、ごめん。よく読んでナカッタヨ。

115 名前:名無しさん@そうだ選挙にいこう [2009/10/03(土) 21:22:29 ]
106です。
皆様 色々なコメント、ありがとうございます。私の質問自体に、誤りとあいまいな点がありました。
すいませんです。質問自体を訂正・整理して、もう一度UPします。
下記VBA 「25行目から最初の上方向の空白行を選択」のつもり

Sub 空白行選択()

Const FirstRow = 25
Const LastRow = 2
Dim MyRow As Long

MyRow = FirstRow
Do Until Cells(MyRow, 2) = ""
MyRow = MyRow - 1
If MyRow < LastRow Then Exit Sub
Loop

Rows(MyRow & ":" & MyRow).Select
End Sub

ここまでは何とかできたのですが(合ってますよね?)ここに、"25-(上記で検索した最初の空白行の行数)"
の空白行をを挿入したいのですが、 どうすればいいのでしょう?
※上記で検索した最初の空白行の行数が 18であれば 25-18 = 7 行を挿入

116 名前:名無しさん@そうだ選挙にいこう [2009/10/03(土) 21:23:37 ]
シートには、2行目からN行目までデータが入力されています。 途中、不規則に空白行があります。
空白行から次の空白行までのデーターが、印刷時複数のページに分割されないように
というのがそもそもの意図です。1ページのデーター入力行数が25です。
例 22行目 データー有り  23行目 空白行    24行目 データー有り
  25行目 データー有り  26行目 データー有り 27行目 空白行

  23行目(25行目から上方向の最初の空白行)に 25−23=2(行)の空白行
  を挿入することによって、1枚目のぺージは22行目までデーター有り、23〜25
  行目は空白行。2枚目のページは(行挿入する前の)24行目から始まる。
意図したことは、上記のようなことです。よろしくお願いします。

>>108さん    手作業の改ページ

<12行目を選択して改ページしたときの内容です。(当方はExcel2003です)

Rows("12:12").Select
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
Range("A12").Select >

12行目を選択の代わりに、Rows(MyRow & ":" & MyRow).Select とすればいいと言うことでしょうか?


117 名前:名無しさん@そうだ選挙にいこう [2009/10/03(土) 21:26:19 ]
↑ すいません 106です。115の続きです。

118 名前:108 mailto:sage [2009/10/03(土) 21:43:40 ]
>116
12行目だけの 1行挿入 ならそうですが、106さんがしたいのは MyRow行から25行(こっちは固定)まで
の行挿入ではありませんか?
だから、
× Rows(MyRow & ":" & MyRow).Select
○ Rows(MyRow & ":" & 25).Select かと思う。
ただ、これだと25行目が空白だと25:25の1行挿入になってしまい、
"25-(上記で検索した最初の空白行の行数)" の空白行を挿入 と矛盾する(25−25=0で行挿入なし)。
検査は24行目から(上記コードもRows(MyRow & ":" & 24).Select)ではないのかな?

119 名前:91 mailto:sage [2009/10/03(土) 21:45:50 ]
>>92
ご回答ありがとうございました。

120 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/03(土) 21:50:58 ]
>>104
おお、そういう方法もあるのか。
ありがとう



121 名前:49(再度質問) mailto:sage [2009/10/03(土) 22:27:34 ]
【1 OSの種類         】 WindowsXP
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 EXCEL 外部プログラム起動

Excel 2007のハイパーリンクで、外部プログラムを起動していますが、
この外部プログラムに引数を渡したいと思っています。その引数の指定方法を教えていただけないでしょうか?

**.exe *** ***

と、スペースで引数を指定すると、" "が"%20"に変換されてしまい、うまく指定できません。
スペースをうまく指定する方法を教えてください。

宜しくお願いします。

122 名前:名無しさん@そうだ選挙にいこう [2009/10/03(土) 22:47:45 ]
エクセルで確率を計算したいのですが、
20%の当たりを、5回連続ではずす確率は?
みたいな問題に対する式とかありますでしょうか。

123 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/03(土) 22:52:29 ]
>122
20%の当たり なら 80%の外れ
5回連続で外れ なら 80%の5乗 でいいんじゃないですか?

124 名前:名無しさん@そうだ選挙にいこう [2009/10/03(土) 23:00:53 ]
>>123
統計関数、の所を探していて混乱してました。
普通の計算ですね・・
ありがとうございます。


125 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/03(土) 23:05:16 ]
宿題させんな


126 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/03(土) 23:47:26 ]
>>106
1シートのデータ行数が25で固定なら
最初から印刷範囲を設定しておけばいいのでは?
また、改ページが自動で設定されるのがイヤなら
印刷プレビュー → 設定 → ページ設定の次のページ数に合わせて印刷で
横と縦をそれぞれ1に設定すればいい

それともこうゆう事?
・ある列(例えばA列)をチェックして
・空白行があればそこで区切り25行になるようにする
・それを2行目からN行目まで行うと
・1シートのデータ入力数じゃなく、1改ページ当りのデータ数が25

127 名前: [2009/10/04(日) 00:25:12 ]
計算で例えばA1から順に1 10 100 1000ってなってて1と10の差(9) 10と100の差(90) 100と1000(900)の差それぞれのを一編に出す方法教えて下さい またこの計算が出来る関数はありますか??

128 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/04(日) 00:31:02 ]
宿題させんな

129 名前:怐­怐 mailto:sage [2009/10/04(日) 01:18:26 ]
>>127
-を使うとよい

130 名前: [2009/10/04(日) 02:27:33 ]
手順を教えてもらえません??(>_<。)



131 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/04(日) 02:37:42 ]
B2に=A3-A2ていれて
下にフィルコピー

132 名前:名無しさん@そうだ選挙にいこう [2009/10/04(日) 10:37:24 ]
106です。

>>118 ありがとうございます。
改ページはうまく行くのですが、印刷した時にデーターのある行までしか印刷できません。
最後の25行目まで(例えデーターが空白であっても)、罫線の枠組みだけでも印刷
に反映したいのですが・・・。

>>126さん ありがとうございます。
1シートのデーター行数は1〜N(多分100ぐらいまで)です。
シートには、2行目からN行目までデータが入力されています。 途中、不規則に空白行があります。
空白行から次の空白行までのデーターが、印刷時複数のページに分割されないように
というのがそもそもの意図です。1ページのデーター入力行数が25です。
例 22行目 データー有り  23行目 空白行    24行目 データー有り
  25行目 データー有り  26行目 データー有り 27行目 空白行

  23行目(25行目から上方向の最初の空白行)に 25−23=2(行)の空白行
  を挿入することによって、1枚目のぺージは22行目までデーター有り、23〜25
  行目は空白行。2枚目のページは(行挿入する前の)24行目から始まる。

よろしくお願いします。

133 名前:118 mailto:sage [2009/10/04(日) 11:17:28 ]
>132
手作業(もしくはVBA)での改ページしていませんか?
表示形式を通常から「改ページプレビュー」にしてみたらいいです。
改ページの解除はできますか?
それから、行挿入した部分は罫線はどうなってますか? 画面上で表示されていますか?


134 名前:>>126 mailto:sage [2009/10/04(日) 12:43:31 ]
>>132
印刷範囲は25行目で固定なの?

>例 22行目 データー有り  23行目 空白行    24行目 データー有り
>  25行目 データー有り  26行目 データー有り 27行目 空白行
この例だと、2枚目のページ(行挿入前の24行目)以降は印刷しないの?



135 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/04(日) 15:14:22 ]
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel 履歴書 作成

Excelで就職用の履歴書を作ろうとしているのですが、
ネット上でダウンロードできるものではなく、自分でそういったものを作りたいのです。
そういった表を作る上での丁寧な解説などがのったサイトはありませんか?

136 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/04(日) 15:16:46 ]
就職できるかどうかはそこからすでにはじまってるんだよ

137 名前:135 ◆7M9CriKW0c mailto:sage [2009/10/04(日) 15:19:17 ]
>>136
いやまあ、そういわれてしまうとそうなんですが…

一応、基本操作はマスターしています。
セルの結合とかやればうまくいくのかな、という気はするのですが。

138 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/04(日) 15:23:34 ]
>>137
マスターしてるんならできるでしょうに
落ちてる奴改変すりゃすぐできるでしょ

139 名前:135 ◆7M9CriKW0c mailto:sage [2009/10/04(日) 15:25:52 ]
>>138
うーむ…それもそうですね、
これも一つの勉強と思って頑張ってみます。
ありがとうございました。

140 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/04(日) 15:30:55 ]
・いちから自分で作成できるかどうか
・ネットでテンプレートを検索して応用できるかどうか
・知人につくらせるだけの人脈があるかどうか

どれも無理なら就職は無理よ



141 名前:135 ◆7M9CriKW0c mailto:sage [2009/10/04(日) 15:45:37 ]
今、手持ちの履歴書(PDF等ではなく実際の紙)
を参考に作成していますが、なんとか作れそうです。
背中を押してくれてありがとうございました。就職に向けて頑張ります。

142 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/04(日) 16:10:58 ]
そういうのはワードで作れよ

143 名前:名無しさん@そうだ選挙にいこう [2009/10/04(日) 17:16:14 ]
確かに・・・
エクセルよりはワードで作った方が自分の勉強になるよ
自分はワードだとどこかで爆発しそうだけど

144 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/04(日) 17:29:15 ]
昨日隣のおばちゃんが10行くらいの文章Excelで作ってたわw

145 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/04(日) 20:54:29 ]
>>143
ワードなんて別に勉強してまで使うもんじゃないでしょ。
ただのワープロだぞ。


146 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/04(日) 21:11:14 ]
エクセル>ワードだな
大抵のものはエクセルで作ってるお

147 名前:名無しさん@そうだ選挙にいこう [2009/10/04(日) 21:19:15 ]
会社ではワードはある程度使えないと、顰蹙なもんで・・・
自分もエクセルの方が楽だけどさ。

148 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/04(日) 21:23:03 ]
>>146
>>147
あほか。文書作成ならワード>エクセルだろ。
常識。

149 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/04(日) 21:30:21 ]
俺もエクセル派。エクセルで作る方が早いから
あと複数文書を1ファイルにまとめられるのもいい
数字やグラフが入るとエクセル必須だしな。
よくわからないけど団塊のおじさんは妙にワード使うのが上手い傾向がある
エクセルは全く使えないんだけどw


150 名前:58 mailto:sage [2009/10/04(日) 21:32:44 ]
>>105
親切な応対ありがとうございます
会社の伝票を会社のプリンターで発行したいのですが
以前に、まとめて500枚くらい印刷してしまうと、プリンターが、正常に動かなくなったことがありましたので・・
それと今回は、取引会社(VBA自体知らない人たち)にも手伝って貰うために、連番の範囲を指定した
ファイルを渡して印刷してもらう事にしました

詳しい動作
1、セル「G12」に連番を書き込み、異なる連番が現れる都度印刷される
2、範囲は 1TO 50 みたいに指定できたら楽です
3、伝票1枚に1つの連番が入り、重複する連番は指定しません

追加できたら
1、連番の先頭に−(ハイフン)を入れられますか?
2、数字→アルファベットの後に「#$%&\」等の記号も追加することは可能ですか?



151 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/04(日) 21:36:37 ]
>>149
例えば5行の文章で2行目を修正したい時はどうするの?

152 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/04(日) 21:44:36 ]
>150
追加の部分は セルの書式−ユーザー定義で好きなようにできますよ。

G12セルを選択した状態で 書式−セル−表示形式 で ユーザー定義 を選び、種類(T):の欄に
"!#$%&-"@
って指定してみてください。G12セルの内容の前に !#$%&- が付加されます。


153 名前:58 mailto:sage [2009/10/04(日) 21:55:14 ]
>>152
ハイフンの件はわかりました
!#$%&は
123456789ABCDEFGHJKLMNPQRSTUVWXYZ#$%&\
と言う感じで桁数を増やしたいと言う意味です、
(すみません言葉足らずでした)

154 名前:105 mailto:sage [2009/10/04(日) 22:01:51 ]
>>150
>2、範囲は 1TO 50 みたいに指定できたら楽です
これは、1〜50て指定したら0001〜001Gてなるようにて事?
どっちか決めてもらった方が作りやすい

>連番の先頭に−(ハイフン)を入れられますか?
>数字→アルファベットの後に「#$%&\」等の記号も追加することは可能ですか?

可能か不可能かでいえば可能だよ
追加する記号が固定なら簡単だし、変化するならその条件が判らないと無理

155 名前:58 mailto:sage [2009/10/04(日) 22:14:33 ]
>>105
レスありがとうございます
1〜50と設定したら
0000〜001Gがでる様にしてください。

先頭の「-(ハイフン)」もお願いします。

「#$%&\」の4つの記号もお願いします。




156 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/04(日) 22:31:05 ]
なんなの?この人↑

157 名前:58 mailto:sage [2009/10/04(日) 22:51:40 ]
>>156
何度もおじゃましてすみません
自分の中でも仕様が上手くまとまっていなくて
ご迷惑をおかけします

158 名前:名無しさん@そうだ選挙にいこう [2009/10/04(日) 23:32:23 ]
↑誰も相手にすんな。

159 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/04(日) 23:41:32 ]
105がやってくれるんならいいんじゃないか?
俺はゴメンだが

160 名前:名無しさん@そうだ選挙にいこう [2009/10/04(日) 23:41:46 ]
106です。
>>133 >>134 さん ありがとうございます。皆様のアドバイスを参考に、色々やってみた結果
下記のVBAで、何とかなりそうです。

Sub 空白行選択()

Const FirstRow = 25
Const LastRow = 2
Dim MyRow As Long

MyRow = FirstRow
Do Until Cells(MyRow, 2) = ""
MyRow = MyRow - 1
If MyRow < LastRow Then Exit Sub
Loop

If MyRow = 25 Then
Range("A26").Select

Else
Rows(MyRow & ":24").Select
Selection.Insert Shift:=xlDown
Range("A26").Select

End If
End Sub

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



161 名前:105 mailto:sage [2009/10/05(月) 00:36:37 ]
>>155 できたよ
Sub 連番2()
Dim lX As Long, sTmp As String, st As Long, en As Long, isChekOK As Boolean

Set BVCol = New Collection
For lX = 0 To Len(cBase)
BVCol.Add lX, Mid(cBase, lX + 1, 1)
Next lX

isChekOK = False
Do
Do
sTmp = StrConv(InputBox("連番の開始する数値を入力してください", "開始値の入力"), vbLowerCase)
If sTmp = "" Then
If vbNo = MsgBox("数値が入力されていません" & vbCrLf & _
"再入力しますか?", vbYesNo + vbInformation, "確認") Then
Set BVCol = Nothing
Exit Sub
End If
ElseIf Not IsNumeric(sTmp) Then
If vbNo = MsgBox("入力された値が数値として認識できません" & vbCrLf & _
"再入力しますか?", vbYesNo + vbInformation, "確認") Then
Set BVCol = Nothing
Exit Sub
End If
End If
Loop While sTmp = ""
st = CLng(sTmp)


162 名前:105 mailto:sage [2009/10/05(月) 00:38:02 ]
>>161 の続き

Do
sTmp = StrConv(InputBox("連番の終了する数値を入力してください", "終了値の入力"), vbLowerCase)
If sTmp = "" Then
If vbNo = MsgBox("数値が入力されていません" & vbCrLf & _
"再入力しますか?", vbYesNo + vbInformation, "確認") Then
Set BVCol = Nothing
Exit Sub
End If
ElseIf Not IsNumeric(sTmp) Then
If vbNo = MsgBox("入力された値が数値として認識できません" & vbCrLf & _
"再入力しますか?", vbYesNo + vbInformation, "確認") Then
Set BVCol = Nothing
Exit Sub
End If
End If
Loop While sTmp = ""
en = CLng(sTmp)

If st > en Then
If vbNo = MsgBox("開始値より終了値の値が小さい場合の連番は作成できません" & vbCrLf & _
"再入力しますか?", vbYesNo + vbInformation, "確認") Then
Set BVCol = Nothing
Exit Sub
End If
Else
isChekOK = True
End If
Loop Until isChekOK


163 名前:105 mailto:sage [2009/10/05(月) 00:40:28 ]
>>162 の続き

With Range(cIDCell)
For lX = st To en
.NumberFormatLocal = "@"
.Value = CTxtIndex(lX)
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
DoEvents
Next lX
End With
End Sub

' 引数[index]で指定した数値を、[BVCol]で定義した文字列に変換する
Private Function CTxtIndex(ByVal index As Long) As String
Dim lX As Long, vT As Variant, tTxt As String, cTmp As Collection

Set cTmp = New Collection
lX = index

164 名前:105 mailto:sage [2009/10/05(月) 00:42:31 ]
>>163 の続き

Do
cTmp.Add lX Mod (BVCol.Count - 1)
lX = Fix(lX / (BVCol.Count - 1))
Loop Until lX <= 0

For Each vT In cTmp
tTxt = Mid(cBase, vT + 1, 1) & tTxt
Next vT

If Len(tTxt) > cBaseN Then
tTxt = Right(tTxt, cBaseN)
Else
Do Until Len(tTxt) >= cBaseN
tTxt = "0" & tTxt
Loop
End If
CTxtIndex = cTopID & tTxt
End Function

165 名前:105 mailto:sage [2009/10/05(月) 00:45:12 ]
>>161-164
のコードを新しい標準モジュールにコピペしてくれ

166 名前:105 mailto:sage [2009/10/05(月) 01:43:21 ]
これを忘れてた
↓のコードの後に>>161-164をコピペしてくれ

Option Explicit
'↓連番を入力するセルアドレス
Private Const cIDCell As String = "G12"
'↓連番の先頭に付け足す文字列
Private Const cTopID As String = "-"
'↓変換に使用する文字列リスト
Private Const cBase As String = "0123456789ABCDEFGHJKLMNPQRSTUVWXYZ#$%&\"
'↓連番の桁数[0000]なら4
Private Const cBaseN As Long = 4
Private BVCol As Collection

167 名前:離島のサンデーPG [2009/10/05(月) 02:29:32 ]
>>160
解決したようだが、別解として。
Sub 空白行選択02()
Dim MyCnt As Long
For MyCnt = 25 To 2 Step -1
If Cells(MyCnt, 2).Value = "" Then
If MyCnt = 25 Then Exit For
Rows(MyCnt & ":24").Insert Shift:=xlDown
Exit For
End If
Next MyCnt
Range("A26").Select
End Sub

168 名前:58 mailto:sage [2009/10/05(月) 09:06:51 ]
>>105
ありがとうございます、無事に印刷ができました

169 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/05(月) 10:12:35 ]
取引会社に >161〜166 のマクロを入れて渡すのは
どうかと思うけどなあ、他人事だからどうでもいいけど。

170 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/05(月) 12:31:23 ]
>58 解決したようだけど一応
Sub hoge()
  Dim Ary39(39) '配列に対応文字格納
  For i = 0 To 9: Ary39(i) = Chr(i + 48): Next
  For i = 10 To 17: Ary39(i) = Chr(i + 55): Next
  For i = 18 To 22: Ary39(i) = Chr(i + 56): Next
  For i = 23 To 33: Ary39(i) = Chr(i + 57): Next
  For i = 34 To 37: Ary39(i) = Chr(i + 1): Next
  Ary39(38) = "\"
  Cells(12, "G").NumberFormatLocal = "@"

  Dim TmpStr, SrcNum, StartNum, EndNum
  StartNum = Cells(1, "A") '開始値がA1にあると仮定
  EndNum = Cells(1, "B") '終了B1と仮定、エラー処理略
  For i = StartNum To EndNum
    TmpStr = "": SrcNum = i
    For j = 1 To 4 '条件により4桁固定
      TmpStr = Ary39(SrcNum Mod 39) & TmpStr
      SrcNum = Int(SrcNum / 39)
    Next j
    Cells(12, "G") = "-" & TmpStr
    ActiveSheet.PrintOut
  Next i
End Sub



171 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/05(月) 14:26:39 ]
エクセル2003です

今セルに入っている数字(金額)の表示を、たとえば
1,234,567

1,234 (千円台) や 123 (万円台)
に変更することはできますか?
元の値を弄らずに、表示だけを変更したいのですが・・・

172 名前:名無しさん@そうだ選挙にいこう [2009/10/05(月) 14:56:53 ]
質問なのですが、マイクロソフトオフィススペシャリスト講座を
募集しているパソコン教室があるのですが、一ヶ月短期間コース
というのは一体どんなカラクリがあるのでしょうか?
初心者を集めてます。

173 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/05(月) 15:39:16 ]
>>171
ttp://www.relief.jp/itnote/archives/000167.php

もしくは excel 表示形式 千円 とかでググってみな

174 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/05(月) 15:44:11 ]
>>172
自習

175 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/05(月) 17:48:11 ]
>>172
テストの傾向に対して暗記させるだけ
ここの連中でも傾向知らずに受けると落ちると思う

176 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/05(月) 17:49:36 ]
一応補足しておくと、それが悪いって言ってるんじゃないよ
ただ正直、ちょっと気に食わないというのはあるがね

177 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/05(月) 20:28:18 ]
A1〜A100に果物名が入ってるとします。

B列に重複なしに、一意の果物リストをつくる関数を教えて下さい。

178 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/05(月) 20:31:58 ]
>>177

一意のリストを作ったらその後どうしたいの?

179 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/05(月) 20:35:55 ]
>>178
果物の金額合計

180 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/05(月) 20:36:56 ]
>>179

ピボットテーブル知ってる?



181 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/05(月) 20:49:47 ]
>>180
知ってる。

182 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/05(月) 21:00:55 ]
シートを追加してリネームするマクロなんですが、今月だったら "OCT 09"(OCTは全て大文字) に
するには、???にどう書けばいいですか?

Sheets.Add.Name = ??? & " " & Right(Format(Date, "yyyy"), 2)

183 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/05(月) 21:01:35 ]
ピボットテーブルを作れば、一意なリストの作成と金額の合計がいっぺんにできるよ!

184 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/05(月) 21:07:44 ]
>>182
俺ならこう書くけど、

Sheets.Add.Name = UCase(Format(Date, "mmm yy"))

どうしてもその式の???を埋めるような方法じゃなきゃだめ?何かの練習問題?

185 名前:182 mailto:sage [2009/10/05(月) 21:19:26 ]
>>184
練習問題じゃないです。
Oct 09なら出来たので、OCTのとこだけ聞いたつもりでしたが、そちらの方が
スッキリしてていいですね。ありがdございました(ペコッ

186 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/06(火) 16:28:16 ]
質問です。

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

保存したファイルを開いたときに
普段なら保存した時のセルから開始されると思うのですが
なぜか違う場所から(シートもセルも)開始されてしまいます。

なぜでしょうか?

187 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/06(火) 16:55:41 ]
エクセルについて質問です。お願いいたします。

エクセルファイルが3つあるとします。A、B、Cとします。
それぞれのファイルのあるシートだけコピーして、新しいエクセルファイル
を作成する方法はないでしょうか?

つまり、エクセルファイルAのシート2のみを、新しいエクセルファイルDを作成し
ここにコピーする。エクセルファイルBのシート3のみをエクセルファイルDに、
エクセルファイルCのシート1を、エクセルファイルDへコピーする。

という方法はないでしょうか?
エクセルファイルAを、新しいファイルにコピペすると、セルのサイズなどを
もう一度あわせないといけなくて、非常に不便なんです。セルの形ごと
コピーできればいいんですが。

188 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/06(火) 17:11:39 ]
>>187
シート名の所右クリックして出るメニューのコピー使えばいいんじゃね?

189 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/06(火) 17:14:41 ]
新規ブックにコピーだな

190 名前:187 mailto:sage [2009/10/06(火) 17:37:45 ]
簡単にできました
ありがとうございました



191 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/06(火) 18:25:56 ]
列幅コピペてのもあるけどね

192 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/06(火) 18:32:45 ]
2003、別シートのA1セルの値を参照させたいのですが
どうしたらいいでしょうか

193 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/06(火) 18:39:54 ]
>>192
=別シート!A1

194 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/06(火) 19:40:33 ]
>>193
おお、できました
ありがとうございます

195 名前:名無しさん@そうだ選挙にいこう [2009/10/06(火) 22:39:59 ]
随分低レベルな質問になったな。

196 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/06(火) 22:49:41 ]

   ̄ヽ、   _ノ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     `'ー '´        
      ○        
       O       
        o  
         。
            ,,,,,,---ー---、、、
          ,.-'";:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:ヽ、
        ,,.;;;::;:;:;:;::;;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;!i`ヽ
      /;:;:;:;:;:;:;:;:;:;:;:;:!!!!!!!!!''""":::;!!!!ノヾ;:;:\
     /;:;:;:;:;:;:;:;:;::!!''"           !;:;:;:;:;ヽ        と
     |;:;:;:;:;:;:;:!'"              ヽ;:;:;:;ヽ       思  
     |;:;:;:;i''"                 i!;:;:;:;|       う 
     |;:;:;:;|                  ヾ;:;:;:|       亀 
     |;:;:;:;|    ,,,;;:iii;;;;;    ,.-==--、. `!;:;|ヽ      井   
      〉;:;:| ,.-''" ̄ ̄ ̄`ヽ⌒|  --。、-、 ヽ-`' |      で 
     i `u i -‐'"ヾ'"  :: ::!      : |  ノ       あ 
      i   |       ノ   ヾ、___ノ  ::|       っ
      | |  ヽ、__,.-i     i 、    :  :|       た
       | |  :   : '" `〜ー〜'" ヽ : :   ::|        
       `i   ヾ '    ____  ;:  ;: :|       
        \     -‐'''"~ ̄ ̄ ̄ ̄  ;  ;: :/-、_      
         ヾ: : .   ` " " "    ,./    `ー-、
        ,,,--'\: :          ,. ,.イ
    _,.-‐'"    |`ヾ;:;:ヽ....、 : : :   / !
_,.--‐'"        |  `ー、;:;:;:;:;:;:;:;:;:;:,.-''"  |
            |   `>ー‐<    /
             !  /    ,.'"\  !
             | /~i   /   `/

197 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/06(火) 23:00:08 ]
やめろw

198 名前:名無しさん@そうだ選挙にいこう [2009/10/07(水) 12:13:42 ]
>>177
猿並みの式なら
=INDEX(A:A,SMALL((MATCH(A$1:A$100&"",A$1:A$100&"",)<>ROW(A$1:A$100))*1000+ROW(A$1:A$100),ROW(A1)))&""
と打ってCtrl + Shift + Enterだったっけか。
ちょっち違うかな?

199 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/07(水) 19:50:05 ]
A3セルに10/7と入れたら、B3セルに2009/09/01と表示させるには
どう書けばいいでしょうか?

200 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/07(水) 20:07:30 ]
>199
10/7 と 2009/09/01 はどこがどう対応するんでしょうか?
10/7 と入れたら 2009/10/7 なら話はわかるんですが(というか自動的に日付とみなしてこうなる)。



201 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/07(水) 20:11:31 ]
>>199
どういう関連性があるんだ?
先月の月はじめなら
=A1-DAY(A1)-DAY(A1-DAY(A1))+1
=DATE(YEAR(A1),MONTH(A1)-1,1)
とかかな?
色々方法はあるだろうな。

202 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/07(水) 20:17:54 ]
>>199
単純で良いなら、
B3セル  =IF(A3="10/7","2009/09/01","")

203 名前:202 mailto:sage [2009/10/07(水) 20:24:19 ]
↑ただしこれはA3セルの書式設定を文字列とかに変えないとダメなようです

204 名前:199 mailto:sage [2009/10/07(水) 21:05:03 ]
あぁぁ、、、 素直に書けばよかったかもw
=today() なんだけど、先月の1日をyyyy/mm/dd形式で表示させたいんです。

205 名前:199 mailto:sage [2009/10/07(水) 21:07:51 ]
>>201
=A1-DAY(A1)-DAY(A1-DAY(A1))+1 だと、1 になりました。

=DATE(YEAR(A1),MONTH(A1)-1,1) だと、#NUM! になりました。

206 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/07(水) 21:13:45 ]
連投すんません。

yyyy/mm/dd形式 じゃなくて、yy/mmm形式で、09/SEPにする でした。

207 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/07(水) 21:18:57 ]
>>205
=DATE(YEAR(A3),MONTH(A3)-1,1)
じゃねーの
A1とA3を間違えてるんだろう

208 名前:199 mailto:sage [2009/10/07(水) 21:30:36 ]
>>207
できました。

209 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/07(水) 21:30:50 ]
別に間違えたわけじゃないよ。
A1で質問するのが普通だからそう書いたまで。
A1をA3に直すことくらい自分で気がつかないのかな。


210 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/07(水) 21:35:16 ]
どんな言い訳してもそれは間違いだろw
>A1をA3に直すことくらい自分で気がつかないのかな。
気が付かない初心者なんだろうに
なんで上から目線なの?アホなの?



211 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/07(水) 21:39:06 ]
>A3セルに10/7と入れたら、B3セルに

どう読んでもA1には見えんがなwww

212 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/07(水) 21:40:07 ]
>>209
最近よく見かける恥の上塗りの人か
大人なら素直に間違いを認めようぜ
誰だって間違いはするんだ
完璧な人間なんて居ないのさ

213 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/07(水) 21:48:19 ]
「あっ間違ったゴメン」 とかって書けばすむことなのにw

214 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/07(水) 22:31:43 ]
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 cell("address INDIRECT

例えばD20に、
=CELL("address",C10) 
のような式を入れてそのセルには「$C$10」と返してもらっています。

で、MINやMAXの式で範囲の片方をその返してもらった「$C$10」の番地そのものを使い
たいんですがそのままMIN(D20,・・と入力しても$C$10の中味を参照しにいってしまって
うまくできません。

この場合D20の頭に何を付ければ良いですか?

よろしくお願いします。


215 名前:名無しさん@そうだ選挙にいこう [2009/10/07(水) 22:58:08 ]
>>214
>$C$10の中味を参照しにいってしまって
の意味がよく分からなかったけど、やりたいことは
=MIN(INDIRECT(D20), 10, 20, 15)
みたいなことかな・・・

216 名前:214 mailto:sage [2009/10/07(水) 23:25:05 ]
>>215
ありがとうございます、その通りです。
ちょっと勘違いしてました、カンマ使ってて範囲が指定されなくておかしいなと・・orz

無事うまくいきました。

217 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/07(水) 23:25:05 ]
まーた偏執狂がいるなw

218 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/07(水) 23:32:45 ]
>>199はいくらなんでもネタだろうよ。

219 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/07(水) 23:33:34 ]
>>199じゃなくて>>205

220 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/07(水) 23:52:52 ]
205はネタじゃないぞ
A3に10/7、B3にその数式を入れてみろ



221 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/07(水) 23:56:09 ]
アホでつか?

222 名前:名無しさん@そうだ選挙にいこう [2009/10/08(木) 09:54:29 ]
つぎいこ、つぎ。

223 名前:名無しさん@そうだ選挙にいこう [2009/10/08(木) 13:44:35 ]
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 データ順序 変更

積み上げタイプのグラフについての質問です。
データ順序を変更すると、その順序が全ての系列に反映されますが、
これを1系列ごとに変更することって可能でしょうか?
www.aoten.jp/snack/excel/s4_10.html
この頁で言いますと、4月は札幌が一番下、5月は福岡が一番下・・・みたいに
それぞれの月で数量の多い順に並べたいわけです。
可能でしょうか?

224 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/08(木) 14:56:06 ]
なんかどっかで見たような質問だな

225 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/08(木) 17:49:50 ]
>>223
たぶん、できないと思う

226 名前:名無しさん@そうだ選挙にいこう [2009/10/08(木) 20:54:08 ]
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 時間処理

2009/1/1、1:00



のように日にちと時間が別セルにある時に、
すべての時間を6時間進めるのはどうすれば良いでしょうか?
よろしくお願いします。


227 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/08(木) 21:00:23 ]
=A1+6/24

228 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/08(木) 21:05:55 ]
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 おk
【5 検索キーワード     】 for each アスタリスク ファイル名 を含む

マクロを書いたブックの他に、”売上”という文字を含むファイル名のブックが
開いてたら動作するのを作ってるんですが、"*売上*" がダメっぽいので
何て書けばいいのか教えてください。

Sub test()
Dim WB, WB1
 For Each WB In Workbooks
  If WB.Name = "*売上*" Then
   WB1 = WB.Name
  End If
 Next

 If WB1 = "" Then
  Exit Sub
 End If
 
End Sub

229 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/08(木) 21:12:51 ]
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 貼り付け 参照

シート1にマスターデータみたいに全部のデータが
A        B
JAN     商品名
49067・・・・  まんじゅう



みたいにあって
シート2に 
JAN 
49068・・

みたいにマスターデータ内のJANだけが飛び飛びで並んでるんですけど
JANの隣のセルにマスターデータから商品名を参照して貼り付けるにはどんな関数でどんな数式つかえばいいですか?
JANの隣のセルにに


230 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/08(木) 21:19:27 ]
>>226
A1=2009/1/1 ,B1=1:00  という場合、
A2 =IF(DAY(B1)=DAY(B2),A1,A1+1)
B2 =B1+6/24
で下方へコピー



231 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/08(木) 22:38:30 ]
>>226
どこかのセルに6:00と打って、コピー、形式を選択して貼り付けから加算でOK

232 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/08(木) 22:41:44 ]
なんだ日付と時刻が別セルか。
上は駄目だな。
同じセルに日付と時刻をまとめてから6時間を足すのが簡単だな。

233 名前:227 mailto:sage [2009/10/08(木) 22:52:00 ]
>.232

俺もそこは気が付かなんだw

>226

別セルで日付の繰り上がりもしたいのか?
簡単だが説明するのがメンドクサイ。

あと本当にそのキーワードで検索したのか?
それでHitしたサイトの解説が分からないの
ならアキラメロン(AA略

234 名前:名無しさん@そうだ選挙にいこう [2009/10/08(木) 22:57:01 ]
【1 OSの種類         .】 WindowsXP SP2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel 重複


2つの列から重複しているデータを抜き出すにはどうしたら良いでしょうか?

例えば、

 A       B
中村俊輔  長谷部誠
中村憲剛  中村俊輔
遠藤保仁  本田圭祐
長谷部誠  今野泰幸
稲本潤一  中沢祐二

とあったら、

「中村俊輔」と「長谷部誠」を抽出する感じです。
フィルタオプションの設定からやってもうまくいきませんでした。
よろしくお願いいたします。

235 名前:228 mailto:sage [2009/10/08(木) 23:10:19 ]
ググって自己解決しました。

236 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/08(木) 23:19:48 ]
>>234
その検索キーワードでググって解決しない理由がわからないのだが。

例えば、
C1=IF(COUNTIF(B:B,A1),ROW(),"")
D1=INDEX(A:A,SMALL(C:C,ROW()))

237 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/08(木) 23:35:46 ]
>>226
A1=2009/1/1
B1=1:00
C1=6時間後の日付
D1=6時間後の時刻

としたい場合

C1の数式=A1+B1+"6:00"
D1の数式=A1+B1+"6:00"
C1の表示形式 yyyy/m/d
D1の表示形式 h:mm

238 名前:名無しさん@そうだ選挙にいこう [2009/10/09(金) 00:58:31 ]
>>229
Sheet1にマスター、Sheet2のA2に49067とかあるなら、となりのB2に
=VLOOKUP(A2,Sheet1!A:B,2,0)
みたいでどお?

239 名前:名無しさん@そうだ選挙にいこう [2009/10/09(金) 01:09:16 ]
>>234
2つの列の項目名を同じにしてから、フィルタオプションの設定

名前 名前
中村俊輔 長谷部誠
中村憲剛 中村俊輔
遠藤保仁 本田圭祐
長谷部誠 今野泰幸
稲本潤一 中沢祐二

リスト範囲 $B$1:$B$6
検索条件範囲 $A$1:$A$6
みたいにすればB列に中村と長谷部が出る。

240 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/09(金) 08:01:33 ]
>>239
分ってるとは思うが、それはExcel2002でしか通用しないよ。
しかもデータが少ないときだけだな。

2003とかなら稲本潤一と稲本潤一朗とかで前方一致で不具合が出るから、検索条件範囲のデータを
'=中村俊介
'=中村憲剛
'=遠藤保仁
'=長谷部誠
'=稲本潤一
としないと。



241 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/09(金) 08:23:23 ]
>>226に関しては誤差対策無しで大丈夫かなぁ。

242 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/09(金) 08:35:30 ]
241だが、時間だけ進めるなら>>230>>237で大丈夫みたいだな。
何時間何分進めるとかなら誤差対策が必要そうだが。

243 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/09(金) 08:40:31 ]
>>240
作業列に="="&A2などとして、その作業列を検索条件範囲にすればよさそうだね。

244 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/09(金) 10:28:28 ]
>>226
a1+b1-int(b1)+6/24
でいいんじゃないのか

245 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/09(金) 13:05:20 ]
>>243
そういうことだね。

246 名前:名無しさん@そうだ選挙にいこう [2009/10/09(金) 15:32:14 ]
各列ごとに、同時に複数の列を挿入することはできますか?

247 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/09(金) 16:04:19 ]
最近は頭がうまく働かないという人が多いな。

どうも空気中のオゾンの濃度が上昇してるようで、これが原因みたいなんだな。
オゾンの濃度が上昇すると、人間の呼吸機能が害される。人間の呼吸器の機能が
低下すると、体内に取り込まれる酸素の量が減少する。すると脳にまわる酸素が
不足するようになって、脳の機能が低下する。脳の機能が低下すると頭が疲れやすく
なり、文字とかをたくさん読んだり書いたりすることが難しくなってきたりするし、複雑な
思考をすることも難しくなるんだな。
ちなみに一酸化炭素の致死濃度は1500ppmに対し、オゾンの致死濃度は50ppmで、
単純計算でオゾンの毒性は一酸化炭素の30倍強い。
www.showaboss.co.jp/sub2-safety02.htm
ja.wikipedia.org/wiki/%E4%B8%80%E9%85%B8%E5%8C%96%E7%82%AD%E7%B4%A0

生活環境基準では0.05ppm(50ppb)が安全基準の上限なんだが、実際にはこの基準を
超える地域というのが最近は結構多い。
www.jamstec.go.jp/frcgc/gcwm/jp/japan.html

このオゾン濃度が上昇する原因なんだが、最近はバイオ燃料を自動車で使うことが
原因として指摘されたりしている。
tvert.livedoor.biz/archives/50893079.html
wiredvision.jp/blog/wiredscience/200706/20070606133755.html

通常のガソリン・軽油は炭素と水素原子だけで構成されるんだが、バイオ燃料(バイオエタノール)の
場合、酸素原子も燃料に含む。そしてその酸素原子がエンジンが吸入する空気中の酸素分子と
結合してオゾン(O3)になるのが原因ではないかと言われている。

248 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/09(金) 16:18:06 ]
>>246
できない

249 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/09(金) 19:51:02 ]
>>246
列を挿入するんじゃなくて、並び替え使えば出来る。
作業行に連番振って、その連番を右に必要回数コピーして
その作業行をキーにして列単位で並び変えればOK。
最後に作業行を消せばよい。

250 名前:名無しさん@そうだ選挙にいこう [2009/10/09(金) 20:10:22 ]
>>248
>>249
ありがとうございます
解決しました。



251 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/09(金) 22:06:00 ]
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 ちょっとだけ
【4 VBAでの回答の可否】 可

以下のようなデータで、2行目がタイトル行になっておりオートフィルタが掛かっています。
オートフィルタでB列から0.0000を抽出、D列が0より大きいものを抽出したとき、DとEの値を
BとCへコピペしたいのですが、3行目しかうまくコピペできません。
マクロでやってますが、どうすればいいでしょうか?

   A     B      C      D      E
3  U$   0.0000   0.0000   0.0175   0.0175
4  U$   0.0000   0.0000   0.0000   0.0000
5  U$   0.0282   0.0282   0.0293   0.0293
6  U$   0.0000   0.0000   0.0155   0.0155
7  U$   0.0135   0.0135   0.0135   0.0135


ちなみに、今はForで全ての行をIfで分岐して条件に合致したらコピペ・・・をやってますが、
データ量が多いため、オートフィルタの方法で試してみたいと思っています。

252 名前:名無しさん@そうだ選挙にいこう [2009/10/09(金) 22:06:39 ]
エクセル2007で列を挿入しようとすると、オブジェクトがはみ出しますとか出て、
挿入できないんです。
いままでエクセル2000使ってたから、使いにくくて仕方がありません。
どなたか対処法を知っている方見えましたら教えてください。

253 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/09(金) 22:19:20 ]
表のいちばん右の列から右端の列までを選択して削除

254 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/10(土) 10:35:14 ]
>>251
それはオートフィルタの仕様っぽい
コピーだと非表示のところがコピーされないため、>>251の通り貼り付けると
B3:C4の位置に貼り付けられる。表示されているセルを上に詰めてコピーされてるのかな
ttp://www.moug.net/tech/exvba/0050104.htm
を見る限り有効な方法は思いつかない。

強いて言うならコピー貼り付けでなく
range("a1").value=range("b1").value
みたいにすると値を簡単に移せる

後は配列を覚えるといいかも。

255 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/10(土) 11:05:06 ]
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 コピペのみ
【4 VBAでの回答の可否】 可

次のように規則的に3カウントずつ並べていきたいのですがどのようにすればよいでしょうか(´・ω・`)
3個並べて右にずれてまた3個というような繰り返しです。

A1=B1
A2=B2
A3=B3
A4=C1
A5=C2
A6=C3

256 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/10(土) 11:14:26 ]
>>255
関数
A1=INDIRECT("r"&MOD((ROW()-1),3)+1&"c"&INT((ROW()-1)/3)+2,0)
下にオートフィル

VBA
Option Explicit
Sub a()
Dim i
For i = 0 To 10
Cells(i + 1, 1) = Cells((i Mod 3) + 1, Int(i / 3) + 2)
Next
End Sub

ピボット
無理w

257 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/10(土) 11:24:10 ]
>>256
出来ました!

ありがとうございます(`・ω・´)ゞビシッ!!

258 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/10(土) 12:10:09 ]
>>255
前からINDIRECTの好きな先生が住みついてるよなぁ。
=INDEX(B:IV,MOD(ROW()-1,3)+1,INT((ROW()-1)/3)+1)

259 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/10(土) 12:49:33 ]
やってること同じじゃないの?

260 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/10(土) 13:02:40 ]
>>255
> 次のように規則的に3カウントずつ並べていきたいのですがどのようにすればよいでしょうか(´・ω・`)

本当にやりたいことは3カウントずつ並べることなんだろうか?
もっと上位の概念でやりたいことを質問したほうがいい回答がもらえるよ。
グループ別に集計したいとか、制約を満たす最適解が欲しいとか。




261 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/10(土) 14:57:24 ]
またまたINDIRECTを理解できない小僧がキャンキャン吼えてるよ

262 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/10(土) 15:10:24 ]
>>255>>258はどう違うの?indirect関数はバグが多いとか?

263 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/10(土) 15:35:57 ]
>>260
レスありがとうございます。
本当にやりたいことはちょっと難儀で
似たような3行をひたすら繰り返す形ですね

元データまま

A1=LCLICK 70,230  デスクトップの座標を示している。座標は順番に24通り、24までいったら1に戻る。24通りは作業列に用意
A2=delay 50   常に同じ
A3=send C:\001.txt 002 003と増えていく 制限なし

自分がしたこと
上記3列をコピーして別シートに行と列を入れ替えて貼り付け
オートフィルで右側に必要な分だけコピー
+
>>256さんの関数で1列に並べて完了

出来上がり

LCLICK 70,230
delay 50
send C:\001.txt
LCLICK 78,405
delay 50
send C:\002.txt

300.TXTくらいまで。

こんな感じです(´・ω・`)

264 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/10(土) 15:42:27 ]
それは確かキーボードマクロの内容か
まぁそれはいいとして、VBAで↓作った方が早かったね。出来たみたいだしもういいことだけどさ〜
A1=LCLICK 70,230  デスクトップの座標を示している。座標は順番に24通り、24までいったら1に戻る。24通りは作業列に用意
A2=delay 50   常に同じ
A3=send C:\001.txt 002 003と増えていく 制限なし

265 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/10(土) 16:04:53 ]
>>263
そんなのソート使えば余裕じゃないの?
indirectやrowはデータへのポインタを意識しなければならない手法で低級なテクニックだよ。
まあ解決してるならどうでもいいことだが。


266 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/10(土) 16:15:39 ]
>>256>>258
どうみてもやってることは同じです
本当に(

267 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/10(土) 18:12:44 ]
>>266
コピーから値貼りつけするのであればどれでもよいが、式を残すのであれば揮発性関数のINDIRECTやOFFSETは使わないのが常識。
まぁ値貼りつけ前提の式だろうけど。

268 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/10(土) 18:22:39 ]
>>255はピボットでも出来なくはないわな。

269 名前:離島のサンデーPG [2009/10/10(土) 18:28:42 ]
>>251
Sub Macro1()
Dim WS As Worksheet
Dim LastRow As Long, h As Long
Application.ScreenUpdating = False
Set WS = Worksheets("Sheet1")
With WS
LastRow = .Range("$A$65536").End(xlUp).Row
With Range("A3:E" & LastRow)
.AutoFilter Field:=2, Criteria1:="0.0000 "
.AutoFilter Field:=4, Criteria1:=">0.0000", Operator:=xlAnd
End With
h = 1
For Each i In .Columns(1).SpecialCells(xlCellTypeVisible)
If i = "" And i.Row <> 1 Then Exit Sub
If h >= 3 Then
.Range("B" & i.Row).Value = .Range("D" & i.Row).Value
.Range("C" & i.Row).Value = .Range("E" & i.Row).Value
End If
h = h + 1
Next i
End With
Application.ScreenUpdating = True
Set WS = Nothing
End Sub

こんなコードですまん。

270 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/10(土) 18:29:13 ]
書き忘れたが行列入れ替えてからピボットな。



271 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/10(土) 19:48:37 ]
>>268
たしかに出来るな。
>>256並み駄目w

272 名前:251 mailto:sage [2009/10/10(土) 23:20:32 ]
>>254
ありがとうございます。
イコールで数値を合わせる方法もあるんですね。
別の機会に応用してみます。

>>269
ありがとうございます。そのまま使えました。
データは会社から持ち出せないので、13日に試してみます。

273 名前:名無しさん@そうだ選挙にいこう [2009/10/11(日) 06:36:39 ]
【1 OSの種類         .】 Windows VISTA
【2 Excelのバージョン   】 Excel2003 SP3
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル タイム 時間管理

エクセルで自転車の走行記録を付けているのですが
走行時間が60分以内の時と 60分以上の時があるのですが

セルの表示を h"時間"mm"分"ss"秒";@
にして 入力を
1時間以上の時 1:20:34とすると 1時間20分34秒と表示されるのですが
1時間以内の時 0:20:34とすると 0時間20分34秒と表示されます

当たり前といえば当たり前ですが 60分以内の時 20分34秒と表示できるようなテクニックは
あるでしょうか ご存じの方お願いします

274 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/11(日) 07:20:24 ]
>>267
INDEXも揮発性関数じゃないか?

275 名前:離島のサンデーPG [2009/10/11(日) 09:39:34 ]
>>273
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Hour(Range("A1").Value) >= 1 Then
Range("A1").NumberFormatLocal = "h""時間""mm""分""ss""秒"""
Else
Range("A1").NumberFormatLocal = "mm""分""ss""秒"""
End If
End Sub


276 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/11(日) 10:08:40 ]
>>275さん
回答ありがとうございます
しかし マクロに貼り付けが上手くいきません

ツール マクロ マクロ名”時間入力” 作成まで進むと

Sub 時間入力()

End Sub
のウインドウがでるので
その間に
275の本文を入れ 上書き保存して
元のエクセルファイルに戻り ツール マクロ 実行すると

コンパイルエラー End Subが必要です と表示され 上手くいきません
なにかやり方が間違っているでしょうか 済みません


277 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/11(日) 10:29:24 ]
>>273
text関数とかどうかな
=IF(A1>=1/24,TEXT(A1,"h時間mm分ss秒"),TEXT(A1,"mm分ss秒"))
>>276
この場合は標準モジュールじゅなくてsheet1に記述する
ttp://www1.axfc.net/uploader/Img/so/61822.jpg


278 名前:名無しさん@そうだ選挙にいこう [2009/10/11(日) 12:07:14 ]
質問です。よろしくお願いします。
エクセル2007.

sub jjj()

Dim inputnuma, inputnumb
inputnuma = InputBox("何月?")
inputnumb = InputBox("何日?")
If MsgBox(" ", vbOKCancel, "実行確認") = vbOK Then

end if

ボックスに月日を入力して次に、実行の確認をします。
その際に、  inputnuma 月 inputnumb 日でok?    と表示したいです。
(例えば、、、10月16日でok? という感じ。 )
上記にプログラムに If MsgBox("inputnuma 月 inputnumb 日 でok?" ,
と入力すると そのまんまで inputnuma 月 inputnumb 日 でok?  となってしまいます。

なんとかなりませんか?わかる方教えてください。お願いします。

279 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/11(日) 12:54:01 ]
If MsgBox(inputnuma & "月" & inputnumb & "日 でok?" ,
みたいな感じ
変数はダブルクオーテーションでくくらない


280 名前:名無しさん@そうだ選挙にいこう [2009/10/11(日) 12:59:38 ]
今EXCELの勉強しているのですが、実際に仕事でexcelを使うとなると
本に載ってる問題のようなものを渡されて「これやっといて」っていう
わけではないですよね?
実際の仕事では、まっさらな状態から自分でやっていかなきゃいけないのですか?
例えば、問題の段階では既にある表を使ってグラフを作ったりするわけですけど
本当の仕事となると、表から自分で作るのでしょうか?




281 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/11(日) 13:11:43 ]
ま〜大概は入力作業だな
既にあるフォーマットに在庫なり、日付なりデータを入力していく
それを決まった形式のグラフで毎回同じように作るってパターンが多いと思う

後は多岐に渡りすぎてどういうのがあるとは言えない
ただ表は作れるようになっておいたほうがいいね
セル内で計算して合計を出すのと、罫線。後は表示形式か

他は会社により過ぎてなんとも言えない。困ったときはここで聞いてみては

282 名前:名無しさん@そうだ選挙にいこう [2009/10/11(日) 13:18:05 ]
>>281
ありがとうございます。
やるべきことが少しわかってスッキリしました。
今できることを頑張って、困ったときはまた相談させていただきます。

283 名前:離島のサンデーPG [2009/10/11(日) 13:36:56 ]
ごめん、ちょっと間違いがあったので修正も兼ねて...
>>276
そうであれば
ツール マクロ マクロ名”時間入力” 作成へと進み

Sub 時間入力()

End Sub
のウインドウがでたら
その間に

If Format(ActiveCell.Value, "h") >= 1 Then
ActiveCell.NumberFormatLocal = "h""時間""mm""分""ss""秒"""
Else
ActiveCell.NumberFormatLocal = "mm""分""ss""秒"""
End If

を貼り付けして
さらにその画面左側のプロジェクトエクスプローラーの中の
実際に時間を入力するシート(たとえばSheet1)を選択してを右クリック
[コードの表示]を選択して
コードウインドウに

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call 時間入力
End Sub

をそのまま貼り付けて
上のメニューから[デバッグ]→[VBAprojectのコンパイル]を選択してください。

あとはSheet1のA1に時間を入力すると実行されるはずです。
セル範囲とか不明なんでアクティブセルで実行されるようにしといたから。

284 名前:離島のサンデーPG [2009/10/11(日) 13:41:44 ]
あ〜、たびたび間違いスマソ

削除: あとはSheet1のA1に時間を入力すると実行されるはずです。
> セル範囲とか不明なんでアクティブセルで実行されるようにしといたから。

>>283 を読み替えて下さい。

285 名前:名無しさん@そうだ選挙にいこう [2009/10/11(日) 14:01:35 ]
>>279
できました。ありがとうございました。

286 名前:SUBMITできない [2009/10/11(日) 15:32:24 ]
subimitできないんです。

Sub ie_Forms_DataSET() 'データセットのテスト

Dim objIE As Object 'IEオブジェクト参照用

'IEを起動する
Set objIE = CreateObject("InternetExplorer.application") 'IEのオブジェクトを作る
objIE.Visible = True '見えるようにする(お約束)

'.Navigate で 指定したURLを開く
objIE.Navigate "https://wwwi.mbrace.or.jp/mb2ninsyouservlet"

'ページが表示される 完了を待つ
While objIE.ReadyState <> 4 'READYSTATE_COMPLETE = 4
While objIE.Busy = True
DoEvents '特に何もしないで.Busyの状態が変わるまで待つ
Wend
Wend

'データをセットする
'htmlドキュメント フォーム(0番目) アイテム(MEMO)に転記(代入)する
objIE.Document.Forms(0).Item("uid").Value = "○○○○"
objIE.Document.Forms(0).Item("np").Value = "○○○○"

'フォーム(0番目)を .Submit(送信・投稿) する
objIE.Document.Forms(0).Submit '送信処理

End Sub
---------------------------------------------------


287 名前:SUBMITできない [2009/10/11(日) 15:34:26 ]
>>286と同じ人間
HTMLソースの頭の部分が
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="HOTALL Ver.7.2W">
<TITLE>・、・・ソ。シ・ヘ・テ・ネナ・シイーヌァセレイ靂フ</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--

となっていて、
ジャバスクリプトで書かれている?みたいですが、
もし、submitできれば、
https://wwwi.mbrace.or.jp/mbw_020.cgi にいくのですが、、
パスワードは入力できたのですが、submitができなく、ページが切り替わりません。

関係してるらしいところらへんのソースは、
function sosin(){
if(haneisuu(document.form1.uid.value) == true) {
if( document.form1.uid.value.length != "" && document.form1.np.value.length != ""){
document.form1.action="mbw_020.cgi";
document.form1.submit();
}
else {
alert(NINSYOU_ALERT_2);
}
}
return false
}

-------------------------------------------------------
VBAで、submitできますか?教えてください。

288 名前:名無しさん@そうだ選挙にいこう [2009/10/11(日) 15:47:22 ]
>>273
書式設定で
[>=0.041666]h"時間"mm"分"ss"秒";mm"分"ss"秒"

数字の大小を条件とした書式の切り替えを使った。

289 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/11(日) 17:27:39 ]
>>275
前からなにかとSelectionChange使うやつがいるがお前か?
>>288で簡単だが、どうしてもマクロでやりたきゃSelectionChangeイベントじゃなくChangeイベントだろ?


290 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/11(日) 17:33:19 ]
>>289
じゃあ自分で書いたら



291 名前:SUBMITできない [2009/10/11(日) 18:49:16 ]
だれか、競艇ログインさせてください。

292 名前:SUBMITできない [2009/10/11(日) 18:50:28 ]
ログインできるまで粘着します。

293 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/11(日) 18:53:48 ]
さっさと逝け
namidame.2ch.net/kyotei/

もう来るな。

294 名前:名無しさん@そうだ選挙にいこう [2009/10/11(日) 18:57:09 ]
質問ですが
Excel2007でパスワード設定をしています
それを他のPCでたとえば別にバージョンで開くことは可能でしょうか?
また仮にExcel2007が壊れて再インストールしなければいけなくなった場合、
インストールしたバージョンで同じパスワードさえ入れれば別にまた開く事は可能でしょうか?

295 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/11(日) 18:58:40 ]
>>294
パスは共通だよ
>>291
笑ったw
面白いから放置させていただきます

296 名前:SUBMITできない [2009/10/11(日) 19:00:30 ]
objIE.Document.Forms(0).Submit でsubmitできません。
ソースが
if(haneisuu(document.form1.uid.value) == true) {
if( document.form1.uid.value.length != "" && document.form1.np.value.length != ""){
document.form1.action="mbw_020.cgi";
document.form1.submit();
}
else {
alert(NINSYOU_ALERT_2);
}
}
return false
}
となっているのですが、
どうやったら、SUBMITできますでしょうか?

297 名前:名無しさん@そうだ選挙にいこう [2009/10/11(日) 19:25:52 ]
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 抽出、関数

(シート1)


10/1、80、85、88
10/2、77、64、71

(シート2)
10/2、77、64、71

のように、日つけ、金額、金額、金額、という行が毎日一行ずつ追加される表の
最終行(日付が入力された最終行)だけを、別シートに抜き出すにはどうすれば良いでしょうか。
よろしくお願いします。

298 名前:名無しさん@そうだ選挙にいこう [2009/10/11(日) 19:40:38 ]
>>297
=INDEX(Sheet1!$A:A,COUNTA(Sheet1!$A:$A))
これでA列の最終行の値。
=INDEX(Sheet1!$A:A,COUNTA(Sheet1!$B:$B))
INDEXはA列じゃなくてB列でもいいかも。
C列も同じように。。。

これは、途中にブランクがあると効かなくなるよ。
A列のデータ数を数えているから。

299 名前:名無しさん@そうだ選挙にいこう [2009/10/11(日) 19:51:33 ]
>>289
ActiveCellに入力したのをActiveCellに代入するから
Changeイベントで拾えないからSelectionChange
やってみてから文句家粕

300 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/11(日) 20:03:40 ]
>>297
=MAX(ROW(A1:A1000)*(0<>(A1:A1000)))
でshift+ctrl+enterで確定する。ブランクがあっても問題なし
A1000ってのは1000行ぐらいと勝手に決めてるけどシートによって変えてね

配列数式を使う日が来るとは思わなかったぜ



301 名前:297 [2009/10/11(日) 20:25:42 ]
298さん
ありがとうございます。
実はシート1の日付セルは関数が入っているため、
この方法だと関数が入っていないセルまで進んでしまいます。
関数はカウントしない方法はありますでしょうか?
よろしくお願いします。

302 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/11(日) 20:27:19 ]
>>299
釣りか?
入力値によって表示形式変えるんだから、イベントならChangeに決まってるだろうよ。
>>288が書いた方法で簡単だから書かないけどね。

303 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/11(日) 20:41:01 ]
>>301
VBA以外だと無理と思う

304 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/11(日) 20:43:27 ]
>>301

そもそもやろうとしていることが間違い。

305 名前:297 [2009/10/11(日) 20:56:46 ]
やりたいことの全体像ですが、
入力シートに入力したデーターを計算し、
日々の計算結果を蓄積するのにシート1を使い、
最新の計算結果だけシート2に表示したいと考えています。
この流れを関数だけで表現するのは無理でしょうか?

306 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/11(日) 21:03:45 ]
>>305
それならsumifでも使えば


307 名前:名無しさん@そうだ選挙にいこう [2009/10/11(日) 21:04:15 ]
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
A列には日付、B列にはその日の売り上げがあったとして、
Cが月、Dがその月で売り上げがあった日数の合計、
Eがその月の売り上げ合計金額とする場合、うまく数式で表す方法を教えてください。

今現在は自分でB列で、1月の範囲を指定してcountifなどで出していますが、
A列の日付から、自動的にBから指定月の売り上げだけを拾ってくる方法を教えてください。
    A   B   C    D    E
  1 1/1  500   1     5   3000
  2 1/2       2     ・    ・
  3 1/3       3     ・    ・
  4 1/4       4     ・    ・
  5 1/5       5     ・    ・
  6 1/6  1000  6     ・    ・
  7 1/7       7     ・    ・
  8 1/8       8     ・    ・
  9 1/9       9     ・    ・
 10 1/10      10    2   1100
   ・
300 10/1
301 10/2 300
302 10/3 
303 10/4
304 10/5 
304 10/6 
304 10/7 800
304 10/8 
304 10/9 
304 10/10 

308 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/11(日) 21:13:16 ]
>>307
A列とB列からピボットがいいのでは?

309 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/11(日) 21:16:58 ]
>>307
D1は1でE1は500、ではないのか?

310 名前:297 [2009/10/11(日) 21:30:29 ]
すみません。どこにsumifを使えば良いのでしょうか?



311 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/11(日) 21:35:27 ]
>>310
ttp://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/sumif.htm
自分で覚えて

312 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/11(日) 22:01:52 ]
変数の質問です。
A = Range("A1").Value のように書く場合と、
Set A = Worksheets("Sheet1") のように書く場合があります。

このスレをはじめ、ネットで紹介されてるのを真似てますが、
Set が必要・不必要の使い分けは、どう覚えればいいのでしょうか?

313 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/11(日) 22:03:36 ]
set オブジェクト
でぐぐれ
あとウォッチ式で見たら何となく分かるかもしれない

314 名前:名無しさん@そうだ選挙にいこう [2009/10/11(日) 22:09:50 ]
>>302
だ か ら や っ て み な さ い

わかりやすく書いたよ。

315 名前:名無しさん@そうだ選挙にいこう [2009/10/11(日) 22:10:59 ]
値か、そうじゃないか・・・って大雑把過ぎる?

316 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/11(日) 22:31:31 ]
setに関していえばオブジェクトか否かだろう
ただこれは使っていないと分かりにくい
普通に構造体にでもしておいてくれれば良かったのに

317 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/11(日) 22:38:54 ]
>>314
おまえ見込みないからexcelやめろ。

318 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/11(日) 22:48:02 ]
かなり前からおかしなイベントマクロよく見たよね。
たしたTargetを使ってなかったんじゃなかったかな?
Targetがなんたるかを知らないのかも知れないな。

319 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/11(日) 22:53:37 ]
>>314はActiveCellの代わりにTarget使ってみな?
顔が真っ赤になるはずだから。

320 名前:離島のサンデーPG [2009/10/11(日) 23:06:08 ]
>>318
知ってますよ。引数ぐらい。



321 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/11(日) 23:09:31 ]
>>320
まー俺は別に動けばなんでもいい派だけど、
皆あなたのやり方は変ですよーみたいな事言ってるんだよ
俺もTarget使うやり方しか知らないのであまり偉そうなことはいえないんだけど

322 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/11(日) 23:10:09 ]
>>320
じゃぁなんでChangeイベント使わないんだ?
Target知らないからActiveCellなんて寝ぼけたこと言ってるんだろうよ。


323 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/11(日) 23:14:17 ]
ところで>>320はどこの離島なの?

324 名前:312 mailto:sage [2009/10/11(日) 23:41:11 ]
>>313 >>315 >>316
ググっていろいろ見ました。
値か、そうじゃないか ですねw

325 名前:名無しさん@そうだ選挙にいこう [2009/10/11(日) 23:43:32 ]
離島のサンデーPGの「PG」って、、、

ピン芸人?

326 名前:離島のサンデーPG [2009/10/11(日) 23:45:45 ]
>>321
ご助言ありがとうございます。
私も動けばなんでもいい派ですが(サンデーPGなんで)
今回の例は質問が特定範囲を指定していないという状況下で
だったらTarget指定したら質問者の実範囲と重ならない場合
動きませんってことになるんじゃないかと思ってActiveCellを使ったまでで
その結果ActiveCellを使ってChangeイベントドリブンできないということを
言ったまでなんです。Target.cellsで動くことはわかります。

327 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 00:27:56 ]
>>326
あなたがもしブログやってるなら、アドレス貼ってください。

328 名前:名無しさん@そうだ選挙にいこう [2009/10/12(月) 00:34:48 ]
>>327
?やってませんが。

329 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 00:39:48 ]
>>326
おめーはやっぱりなんにも分ってないよ。
だまってActiveCellの代わりにTarget使ってみりゃ分ることだろうに。

330 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 00:54:52 ]
>>325
間違ってもプログラマーじゃないな。



331 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 01:13:31 ]
そんなばかにkまってないで仕事しろ

332 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 01:15:56 ]
ピボットvsVBAの時もそうだが、お前らっていつも喧嘩してるよなw

333 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 01:29:26 ]
(;´Д`)7

334 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 07:53:30 ]
まあVBA厨は頭悪いからな。
やつらコードの良し悪ししか興味がない。

335 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 10:03:22 ]
1万回ループ回してこっちのコードの方が1秒速いとかいってるしな

336 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 10:20:19 ]
>>335
まったくだ。
ループの回数を減らす方法なら聞いてやってもいいが。

337 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 11:17:45 ]
良いコード書けるに越したことはないと思うけど、何レスも言い合いするほどのことでもないよね
速さの競い合いは世間話みたいなもんでしょう


338 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 11:33:48 ]
人のコードに茶々いれる基地外指摘厨みてると笑えるな

339 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 11:38:15 ]
コードがいいかどうか以前のやつが多過ぎる。
例えば項目別の収支計算とかさせるとすぐにボロが出るからな。
収入から支出を引けばいいんでしょとばかりに組んだはいいが、収入のデータにが無くて支出だけある場合の処理がぬけてたりね。
これ実例だよ。

340 名前:名無しさん@そうだ選挙にいこう [2009/10/12(月) 12:27:22 ]
【1 OSの種類         .】 Windows Vista Ultimate
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 cell関数 col 条件付き書式 範囲
現在、A7:E15の範囲で条件付き書式に
[数式が] =CELL("row")=ROW() を設定して
[条件が真のときに使用する書式のプレビュー:] を黄色にして
たとえば
B7が選択されたらA7:E7の範囲が黄色になる
D13を選択されたらA13:E13の範囲が黄色になる
というようなことをしていますが
範囲外のセル、上記例で言うとH7とかF13を選択したときも
範囲の色が変わってしまうのですが
これを範囲以外は色が変わらないようにできますか?



341 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 12:33:50 ]
要素にばかりとらわれず、やるべきことについて高次のモデルを頭に描けるようにならなければならない。
実装なんかどうでもいいとは言わないが、優先度は低いのは確かだ。
モデルさえ正しければ、できるに決まっていることなんだからな。

342 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 12:44:01 ]
>>340
CELL関数の第二引数を指定しないと最後に指定したセルが指定されるー
とあるから、340の通りだと条件付書式の再計算を止める方法か。cell関数と条件付書式じゃ無理っぽいな
当然VBAになるけど、条件付書式を使わずにVBAで直接色をつけてしまったほうが早いと思う


343 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 13:17:53 ]
CELL("col")の値も調べろって話じゃないのか

344 名前:名無しさん@そうだ選挙にいこう [2009/10/12(月) 13:26:14 ]
初心者です。
ベテランの方なら即わかると思うのですが、質問させていただきます。
セルB1に=COUNTIF(B5:B60,">3")という計算式を書着込みたいのです。
Range("B1") = "=COUNTIF(B5:B60,">3")"とやると「コンパイルエラー」というのが出ます。
これを回避する方法を教えてください。
よろしくお願いします。

345 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 13:52:18 ]
>>344
マクロの記録で一発
分からなかったらぐぐってくれ

346 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 13:52:39 ]
初心者質問ですんません。
Sheets("MENU")にマクロボタンを置いて、アクティブになっています。
(A)はOKなのに、(B)はRangeクラスのメソッドが失敗しました となります。
シートをSelectせずにA1セルをSelectするのは、できないのでしょうか?

(A)
Sheets("10月").Select
Range("A1").Select

(B)
Sheets("10月").Range("A1").Select

347 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 13:59:14 ]
>>343
俺も思ったんだけど、元々付いている色が消えてしまう
と思ったけど、それでもいいのかな?
>>340
範囲外を選んだときに元々付いている色が消えてもよければ
=(CELL("row")=ROW())*(CELL("col")>=1)*(CELL("col")<=5)
で条件付書式
>>346
sheet内にマクロを書いている場合はそのsheet内しか触れない
そういう場合は標準モジュールにマクロを記述し、callで呼び出す
callの使い方はぐぐればすぐに出てくる
ttp://officetanaka.net/excel/vba/statement/Call.htm


348 名前:346 mailto:sage [2009/10/12(月) 14:09:29 ]
>>347
俺へのレスですか?
貼られたサイトを見ましたがサッパリわかりません。
シートをSelectせずにA1セルをSelectするのはできないのでしょうか?

349 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 14:26:40 ]
>>348
ttp://www1.axfc.net/uploader/Img/so/61937.jpg
めんどいから図で説明

何が問題なのかっていうと、
MENUシートの中で10月シートに関する記述はできない(10月シートの選択はできるけど)
346のABの記述どちらも間違いじゃないが、書くところが間違っているって話
後は図の通りやっておくれ

350 名前:名無しさん@そうだ選挙にいこう [2009/10/12(月) 14:33:33 ]
>>345
なるほど、やってみたらわかりました。
ありがとうございました。



351 名前:346 mailto:sage [2009/10/12(月) 14:35:07 ]
>>349
図を見てもわかりません・・・ orz
標準モジュール以外にもマクロを書くんですか?

Private subって何?
ちょっとググってきます。

352 名前:346 mailto:sage [2009/10/12(月) 14:50:08 ]
ググってきましたが、専門用語?が多すぎて良く分りませんでした。
349さん、図までつくってくださったのに、理解できないおバカですんません。
しばらくSelectを使って書くことにします。

353 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 14:54:21 ]
>>351
ああ、ごめんそういうことか
最初から標準に書いてたのね

ttp://www.moug.net/faq/viewtopic.php?t=41317
標準モジュールであれば、
Range("A1").Select は、ActiveSheets.Range("A1").Select と書かれているものとみなされます。

ということだそうです

354 名前:名無しさん@そうだ選挙にいこう [2009/10/12(月) 15:06:52 ]
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

はじめまして。初心者の質問ですみません。
PC2台保有しており、2台を使いデータをまとめていました。
夜はデスクトップで作業・昼間はノートで作業といったように…
ノートからEXCELデータを添付してデスクトップへメールを送り
この連休中に作業を終わらせました。そして上書き保存。
もう一度確認しようと思いファイルを探したのですが、無い…
受信したメールに添付されていたデータをそのまま編集していて
デスクトップやマイドキュメントに保存せずそのまま上書き保存して
しまっていました。受信したメールを開いても上書き保存する前のデータのまま…
ファイル検索をしても出てこない。上書き保存はしているのでどこかにあるはずなのに…
連休すべて使ってまとめたのに… 誰か助けてください。

355 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 15:19:40 ]
>>354
ファイル名が判ればウィンドウズの検索機能で検索すればいいんでない?

356 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 15:21:55 ]
>>354
Windowsの検索機能やExcelの最近使用したファイルの一覧で
探しても見つからないならメールソフトから開いた時に
一時ファイルとして扱われて終了時に消されたとも考えられるが

357 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 15:31:06 ]
>>354
誰でも一度は通る道だから・・・。 

358 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 15:36:29 ]
>>354
マイコンピュータを.xlsか.tmpで探して見ては?
拡張子を隠しファイルをonにしてね
無理かなぁ・・


359 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 15:52:08 ]
上書き保存の時にどこのフォルダに保存しているのかチェックしてみるといい。
検索機能使うより手っ取り早い気がする。

360 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 16:06:57 ]
>>354
スレチだがw
受信したメールに添付されていたデータをそのまま編集できるの?
俺が使ってるメーラーは、Temporaryフォルダに入れられて編集できず、メーラーを閉じると
そのフォルダ内のファイルも消される。

ファイル検索して見つからないなら、もぅダメぽ・・・



361 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 16:14:28 ]
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少々
【4 VBAでの回答の可否】 可

A〜G列までデータが入っており、C列の文字列のうしろに余計な半角スペースがあります。
F列に、=trim(C2)と入れれば余計な半角スペースが無くせて、値をC列に
貼り付ければいいのですが、F列とか他の列を使わずに、余計な半角スペースを
無くす方法はありあmすか?

362 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 16:23:01 ]
痴漢

363 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 16:29:18 ]
>>361
本来の用途ではないのですが、C列を選択後、
データ→区切り位置→○ カンマやタブによって〜 …の○にチェックを入れる
→次へ→□ スペース …の□にチェックを入れる→次へ→完了
とすると後ろのスペースは消えます。

364 名前:363 mailto:sage [2009/10/12(月) 16:32:06 ]
ただし、文字列の途中にスペースがある場合、区切り位置を後ろへ指定する
必要がありますが。

365 名前:363 mailto:sage [2009/10/12(月) 16:55:48 ]
あ、ごめん、途中にスペースある場合はダメだった。

366 名前:361 mailto:sage [2009/10/12(月) 17:09:06 ]
>>362-365
ありがd!
痴漢で出来ますた。

367 名前:名無しさん@そうだ選挙にいこう [2009/10/12(月) 17:15:55 ]
質問させてください。 よろしくお願いします。
エクセル2007.
VBA

=Application.WorksheetFunction.Average(Worksheets("A").Range(cells(1,1),cells(30,1))

指定範囲のA1 から A30 に 何個か "-" というのがありまして、計算されないのですが解決方法を教えてください。
"-" は空白と同じ扱いにしたいです。(割り算するときのカウントに入れたくありません。)

よろしくお願いします。

368 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 17:24:40 ]
>367

本当に試したのか???

369 名前:361 mailto:sage [2009/10/12(月) 18:05:34 ]
再カキコです。
361の例ですが、半角スペースを置換すると、途中にある半角スペースも
削除(というか置換)されてしまいます。(当たり前ですが)
Columns("C:C").Replace What:=" ", Replacement:="", LookAt:=xlPart, _
 SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

他に方法があるでしょうか?

370 名前:名無しさん@そうだ選挙にいこう [2009/10/12(月) 18:28:07 ]
367です。
>>368 さん
勘違いでした。
ワークシート名が間違っていました。
本当にすみませんでした。



371 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 18:29:36 ]
>>367
Sub a()
Cells(2, 2) = Application.WorksheetFunction.Average(Sheets("A").Range(Cells(1, 1), Cells(30, 1)))
End Sub

文字列は割り算から除外されるよ
>>369
fornextで、一番右の文字列が半角スペースならそれを削除
を繰り返すとか

372 名前:361 mailto:sage [2009/10/12(月) 18:59:32 ]
>>371
データが2〜3万行くらいあって、シート数も決まってないので、For Nextは避けるつもりでいます。
列の数も予測できないので、D列を追加、"=TRIM(RC[-1])を書く、値をC列にコピペ、
D列削除でとりあえずつくります。

373 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 20:00:52 ]
>>372
シート数が不定ならFor〜Each〜Next
データ数が不定ならUsedRange
という便利な機能がある

374 名前:名無しさん@そうだ選挙にいこう [2009/10/12(月) 21:00:06 ]
【1 OSの種類】 Windows Vista
【2 Excelのバージョン】 Excel2000
【3 VBAが使えるか】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 入力規則 リスト 配列 生成

質問ですが、入力規則に使うリストは配列で生成出来ないのでしょうか?例えば時間を6:00から30分刻みで6:30,7:00,7:30〜24:00まで生成するとかして、それを入力規則に使うとかですが。

375 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 21:22:22 ]
Targetの使い方知らない離島の人、使い方覚えたかな?

376 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 21:29:55 ]
>>367
>>371
Sheets("A").Range(Cells(1, 1), Cells(30, 1))
って書き方間違いだから気をつけたほうがいい。
Cellsにもシートを指定しないと。

377 名前:名無しさん@そうだ選挙にいこう [2009/10/12(月) 22:13:32 ]
excel関係は
www.efcit.co.jp/excelyou/

EXCEL ファンクラブで ほぼ全部答えてくれるよ。
凄い反応早い。

ほかのACCESSとかWEBも案外答えてくれる。

378 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/12(月) 22:23:18 ]
>>374
一旦文字列に直さないとダメかも
入力規則のリストへの登録の仕方はマクロの記録で
>>375
空気嫁
>>377
ゴミ以下のBBSはご遠慮くださいませ

379 名前:374 mailto:sage [2009/10/12(月) 22:28:06 ]
>>378
参考になります。ありがとうございます。

380 名前:名無しさん@そうだ選挙にいこう [2009/10/12(月) 22:36:43 ]
>>376
勉強になりました。ご指摘ありがとうございました。



381 名前:名無しさん@そうだ選挙にいこう [2009/10/13(火) 00:10:54 ]
求人に「excel初級程度使える人」と書いてあったんですけど
初級程度ってどれくらいですか?

382 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 00:13:24 ]
求人出してる所に聞けや・・・

383 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 00:31:25 ]
>>381
ワークシート関数の使い方を20個以上暗記してること

384 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 00:48:38 ]
>>381
書類作成と思う
罫線とグラフ、sum関数とaverage関数作れたら大体okじゃないかな

こう書くと「エクセルで書類を作るのはダメな奴」とか言われるんだろうなー

385 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 00:54:10 ]
>>384
いや、大丈夫。Wordが腰抜けな分、Excelで作るほうが安全だから。
SUMとかIFとかVLOOKUPあとは実務で憶えればOKだろ。

386 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 01:02:03 ]
average関数って何?w
仕事で一度も使ったことがない希ガス・・・

387 名前:名無しさん@そうだ選挙にいこう [2009/10/13(火) 01:02:27 ]
>>381です。
みなさんありがとうございます。
安心しました。

388 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 01:03:45 ]
あ、平均値かw
使ったこと無いな・・・www

389 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 01:12:37 ]
平均以下だもんな
(; ̄Д ̄)

390 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 01:40:01 ]
平均値なんて、俺も今の仕事だと使わないな。
むかーし、昇級レポートで標準偏差を算出してたときに使ったくらいかな?
もっとも、エクセルで標準偏差ならSTDEVPで済むけどね。



391 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 06:59:55 ]
>>387
求人の条件でExcelと書いてある場合、一般に>>384の言うような書類作成能力を期待されていると思う。
「エクセルで書類を作るのはダメなやつ」なんだけど、ダメなやつは求人側にもたくさんいる。


392 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 07:34:06 ]
>>391
だからわざとaverage関数なんて書いたんだけどねぇ
どうやらそこまでの意図は汲み取ってくれなかったようだ。
まぁ、関数より一枚の書類作成能力+入力ができるかどうかでしょ
オッサンとか未だにPCの電源の付け方知らなかったりするんだぜ

393 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 07:50:12 ]
>>392
averageって何?って聞いてるやつもいるだろ?
Excel以前の問題だよね。

394 名前:名無しさん@そうだ選挙にいこう [2009/10/13(火) 08:10:05 ]
勃発の予感

395 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 08:12:49 ]
(´ω`)

396 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 08:16:14 ]
Excelは本来書類作成の道具ではない。方眼紙Excelは日本だけで広がっている怪奇現象。
それじゃExcelは何の道具かと言うと、合計を求める道具です。平均や標準偏差も求められるけど。

397 名前:名無しさん@そうだ選挙にいこう [2009/10/13(火) 09:41:24 ]
方眼紙はさすがに見たこと無いけど、
エクセルで文書作る会社は良くある
郷に入らば郷に従えってね

398 名前:名無しさん@そうだ選挙にいこう [2009/10/13(火) 11:22:33 ]
Yahooの競馬結果が今週より、エクセルへの外部データの取り込みをすると、
このweb クエリによって返されるデータがありません。・・・・と
メッセージが出て取り込めなくなりました。
取り込み出来るようにするには、どうすば、いいのでしょうか?
教えてください。

399 名前:299 mailto:sage [2009/10/13(火) 11:30:58 ]
>>289
>>302
粕は私でした。
申しわけなかったです。
しばらく山にこもって修業します。

400 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 11:31:29 ]
>>398
まずはそのページのURLを貼ってくれ
競馬にはまったく興味がないからどのデータが必要なのかわからん



401 名前:名無しさん@そうだ選挙にいこう [2009/10/13(火) 11:59:28 ]
ttp://keiba.yahoo.co.jp/race/result/0909040508/
お願いします。

402 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 12:28:37 ]
>>397

> エクセルで文書作る会社は良くある
> 郷に入らば郷に従えってね

バカを真似る必要はない。
例えばわざわざ電卓で計算してからエクセルに入力しているやつもいる。


403 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 13:39:24 ]
やりたい内容によってワードでやるべき仕事はワードで正しく使いましょう。
エクセルはエクセルで正しく使いましょう。
ワードを正しく使っててもエクセルで間違った使い方してるおっさんも多いんだよな。
いくらエクセルが計算が得意だって無駄な計算させまくりじゃいかんぜよ。

404 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 14:16:57 ]
>>401
URLの末尾の「/」が勝手に消されてしまうのが原因ぽい。
いったんクエリをディスクに保存して、クエリファイルをメモ帳で編集、
keiba.yahoo.co.jp/race/result/0909040508
となっている部分の最後に「/」を書き足して
keiba.yahoo.co.jp/race/result/0909040508/
に修正、もういちどファイルを開けば正常に取り込めるようになる。

405 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 14:18:41 ]
>>401
ページ全体を取り込むのではなく、成績表など必要な部分だけを取り込むようにするという手もある。

406 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 14:25:31 ]
理想論とか寝言は就職して同じ会社に4年以上勤務できた人だけ言ってね。
仕事のできない人は何言っても説得力がないから。

407 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 14:37:18 ]
子供の夢壊すなよ。そっとしといてやれ

408 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 15:32:12 ]
VBAを使ってVBAのコードを書くことは出来るんでしょうか?
これで何がしたいというわけではないのですが、もしできる方法があれば教えてください

409 名前:名無しさん@そうだ選挙にいこう [2009/10/13(火) 15:37:03 ]
>>405
成績表など必要な部分だけを取り込むようにするという手もある。

教えて頂けないでしょうか。

410 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 15:40:14 ]
>>408
作るだけならテキストファイルに書き出して拡張子をbasにする



411 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 15:44:49 ]
>>409
「新しいWebクエリ」の画面で、取り込みたい部分の矢印をクリックするだけ
ttp://petite-soeur.dyndns.org/cgi-bin/up2/src/ps23286.png

412 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 16:21:31 ]
>>410
おお、テキストファイルに書き出せばよいのですね
ありがとうございました

413 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 16:29:42 ]
>>406
定年まで勤めたのにまったく駄目なやつもいるから的外れ。

414 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 16:35:02 ]
エクセルだけが評価の対象かよwww

415 名前:名無しさん@そうだ選挙にいこう [2009/10/13(火) 17:37:32 ]
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 COUNTIF 文字列 変数 EXCEL2000

よろしくお願いします
Sheet1とSheet2がありSeet1のCells(1, 1)に りんご という文字列が入ってます
Sheet2の1列にはCells(1, 1) みかんCells(1, 2)ぶどう…などさまざまな果物名が文字列入ってます
りんごもどこかにあります

Worksheets("Sheet1").Select
Dim 変数箱 As Variant 
変数箱 = Cells(1, 1) 'りんご
Worksheets("Sheet2").Select
Cells(2, 1) = "=COUNTIF(R[-1]," & 変数箱 & ")"

としてもかえってくるCells(2, 1)の値が0になってしまいます
変数箱の中が りんご ではなく 1234 なら問題なかったので

Cells(2, 1) = "=COUNTIF(R[-1],"" & 変数箱 & "")"

"を増やしてもだめでした

どのように記述すればいいのか教えてください

416 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 18:12:03 ]
>>413
本当にだめなやつは定年前に辞めることになる。
Excelとまったく縁のない仕事の方が多い。
ここまで親切に書かないとわからないのかねえ…

417 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 18:19:44 ]
>415
.FormulaR1C1

418 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 19:16:40 ]
ふと気づいた
>>413は信者って奴なのか

419 名前:名無しさん@そうだ選挙にいこう [2009/10/13(火) 21:17:02 ]
VBAは最近使えるようになってきた、初心者です。
■本見てると”VB”というのをみるのですが、VBAみたいにエクセル持っていれば使用できるものなのですか??
 あとVBAとの違いを簡単に教えてください。すみませんがお願いします。


420 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 21:26:44 ]
VBとはビジュアルベーシック
エクセルについてるVBAはVBの一部だよ
VB6までは有料でVBAともかなり似てたんだけど、VB.NET(VB6の次のバージョン)になってからはがらりと変わった
ちなみに無料
プログラミング初心者にはかなりオススメ



421 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 22:14:31 ]
VBAが「使える」ようになってきたならこんな質問はしないと思うが・・・

422 名前:名無しさん@そうだ選挙にいこう mailto:sage [2009/10/13(火) 22:18:09 ]
fornextでも覚えて舞い上がってるところなんでしょう
距離を置いて暖かく見守ってあげましょう







[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<146KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef