Excelに関する質問は、ここで!
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★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/ 前スレ(54):
http://pc11.2ch.net/test/read.cgi/bsoft/1172140808/
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━ ・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 書籍や解説サイトの紹介以来はスレ以外。ここは技術的な質問のみで。
★ルールを無視すると…
>>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
| |└Worksheets
というApplication以下のオブジェクトを、VB言語で操作するものを指します。
例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。
★ 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セルを分割 (分割したいセル以外を結合)
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法) ▼数式・関数 ・ 表示形式以外の書式の取得設定、書式情報を条件とする数式 (ユーザー定義関数) ・ 関数式でセルの選択状態を取得する (VBA) ・ セルの値でパスを補完して、開いてないブックのセルを参照する (VBA) ・ 入力したセルに結果を返す (VBA) ・ 範囲を引数にしての文字列連結 (ユーザー定義関数) ・ 値の書き換え、値の保持 (VBA) ・ 複数の結果を抽出、不定な数の結果を返す (VBA、結果の最大数が解っていれば最大数以上の式を論理式で組む) ・ 空白のセルの部分を上詰め、左詰めなどで表示する (作業セルを使って別セルに詰めて表示なら可能、それ以外はVBA) ・ VLOOKUP,HLOOKUP,MATCH等の関数で、検索語を全半角両方にマッチさせる (ユーザー定義関数) ▼VBA ・ ExecuteExcel4Macroの参照で空セルと0値を区別する ・ セルの値や変数値で直接変数名を指定する (配列、コレクション) ・ VBのコントロール配列と同じような操作をしたい (イベント以外ならコントロール名を「同名+連番」にしてControls(名前 & インデックス)で処理、イベントはクラスでWithEvents) ▼ユーザーフォーム ・ フォーム上から変更したプロパティ値の保持 (シートや外部ファイルに書き出して、次回読み込む) ▼グラフ ・ 棒グラフでひとつだけ突出したデータがあった場合に波線を入れて位置を合わせる (オートシェイプなどで見た目だけそうなるように弄る、別アプリでグラフを作り、オブジェクトとして挿入) ┌┐ 〜〜 ||
上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。 間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。 Excel2007についても未確認な項目が多いので変更点が有ればご指摘下さい。 また、ここに書かれてないことでも、Excelで出来ないことはたくさんあります。 ここに書かれてないからといって必ず出来るはずだなんて思わないように。
>>6 >▼環境・書式
> ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する
補足
2007ではページレイアウトビューの表示時に限り、幅・高さともcm単位で表示され、
指定も同じくcm単位でできる。
ただし大元がインチ系なのでなかなかピタリの値は出ない。1cm→0.98cmのように
近い値に勝手に丸められる。
前スレに下記の質問をしたのですが、995番の為、以降「ume」で終わってしまいました・・・。 もう一度質問させて下さい。お願いします。 995 名前:名無しさん@そうだ選挙にいこう[sage] 投稿日:2007/03/27(火) 19:58:11 すみません、稚拙な質問ですが宜しくお願いします。 当方エクセル2000を使い始めました。 組織図を作成しようと思い、図→組織図を選ぶのですが、下記の様な表示が出て、 全然うまくいきません=EMBED(” Orgchart”、”) 会社のエクセルXPだとすんなり作れるのですが、どうしてなのでしょうか? 教えて頂けると助かります。
Excel2000だと組織図って追加インストールしないと使えないんじゃなかったかな?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 ハイパーリンク 復活 URLの入ったセルがあるのですが、ハイパーリンクとして認識してくれません セルを選択→F2→Enter でもダメでした ちなみに、同ファイルの別シートではきちんとハイパーリンクとして認識されています 何がいけないのでしょうか…
13 :
12 :2007/03/27(火) 23:07:20
自己解決しました ツールバーからの「オートコレクトのオプション」→「入力オートフォーマット」タブでの設定ですね 下らない質問でスレ汚し申し訳ありませんでした
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 文字幅、インテンド等でしてみました 質問なのですが、上下のセルで文字数が違ものを 中央揃えで同じ幅にすることは出来るのでしょうか? 例えば上のセルに「あいうえ」と打って その真下のセルに「あいう」とうったときの 中央揃えでの文字列の幅を同じにしたいのですが (上の段の「あ」の位置に下の段の「あ」がきて、上の段の「え」と下の段の「う」が同じ位置) このようなことは出来ますでしょうか? 説明が上手にできていませんが、どうぞよろしくお願いいたします
>>14 全角文字ならセルの書式設定の均等割り付けで近いことできるんじゃないかな
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 近い数字、抽出、条件中最大・最小etc... 質問です 表の1行から特定の数字に近い最大・最小を他のセルに出したいです 表は |-30|-84|-111|-151|-180|-215|-226|-239| |-39|-45|-105|-150|-170|-195|-204|-224|のようになっていて 50、100、150...と50毎に抜き出して別々に表示させたいです (2行目だと50であれば-45と-105、100でも-45と-105、150ならば-150と-170) 一応試したみたのは =MAX(IF($F$3>=!B4:I4,!B4:I4))こんなのですが 1行目の-30くらいしか上手くいきませんでした ややこしい説明で申し訳ありませんがよろしくお願いします
>>16 分りにくいな
書き出し条件を、「以上・以下・未満・超える」等の表現で説明しなおして
>>17 書き出しを50の場合にα、βで分けているので
α:50以下で最大
β:51以上で最小
になります
なので、
>>16 の表でいくと150の欄は
1行目 α:-111、β:-151
2行目 α:-150、β:-170
となります。列は無視して行の中で抽出して表を作り直す事になります
| 50 | 100 | 150 | 200 |
| α| β | α| β | α | β| α| β|
| -30| -84|-84|-111|-111|-151|-180|-215|
| -45|-105|-45|-105|-150|-170|-195|-204|
こんな感じです
こうかな? =-MAX((-A1:H1<=50)*-A1:H1+(-A1:H1>50)*MIN(-A1:H1)) =-MIN((-A1:H1>=51)*-A1:H1+(-A1:H1<51)*MAX(-A1:H1)) ctrl+shift+enterで入力
>>18 降順に並んでるみたいだからindex+matchでいけるんでない?
A1:A8が検査したい範囲
A9が検査したい値(50とか100とか)
だとすると、直近の値は「=index(A1:A8,match(A9*-1,A1:A8,-1))」
そのひとつ上の値は隣のセルだから「=index(A1:A8,match(A9*-1,A1:A8,-1)+1)」かな?
>>19 出来ました!ありがとうございます
ただ、50以下がない場合
|-51|-93|-135|-178|-194|-231|-237|-230|
の場合、α・β両方とも51が返されてしまうのですが
何か対処法はありますでしょうか?
ここまで出来たので難しいようであれば手作業で行うつもりです
今までは全て手作業だったので大幅な進歩です
>>20 レスありがとうございます
降順が多いのですが全てではないんですよね
後、場合によっては |+24|-41|-87|-111|-146|-176|-173|-159| のように+の数値がある表が出てくるので これを | 0 | | α| β | | +24| -41| のようにもしたいです
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 一致、集計、関数 1列に500行くらい、数字が入力してあります。 この数字の数別ランキングみたいな、集計をしたいのです。 例) 0000 |0000|1| 1111 |1111|3| 8888 |2222|1| 1111 |3333|1| 1111 |8888|1| 2222 |↓続く 3333 | ↓500行続く データの並べ替えとオートフィルタでトップテンはすぐ出るのですが、 全ての数字に対して、これがいくつあるのか、という集計をしたいので 関数でできる方法がないかと思って質問させて頂きました。 よろしくお願いします。
>>24 関数はちょっとすぐに思いつかないけど、それより
ピボットテーブル作るのがてっとりばやいんじゃないかな
>24 A1〜A500がデータとすると B2に =IF(ISERROR(MATCH(A2,A$1:A1,0)),A2,"") C2に =IF(B2="","",COUNTIF(A$1:A$500,A2)) B1〜C500にコピペ 式の埋め込みでは上詰めにできないから 値貼り付けしてソート
27 :
名無しさん@そうだ選挙にいこう :2007/03/28(水) 13:48:08
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 代入、参照、クラス sheet1のIDとnameをsheet2に代入したいのですが、 sheet2のIDには抜けがあるのでそのままコピペできません。 IDとnameをリンクさせて2に代入する方法はありますでしょうか? sheet1 ID | name 1 | hoge 2 | foo 3 | bar sheet2 ID | name 1 | 3 | 4 |
代入は無理かなVLOOKUPかMATCH,INDEXなどで我慢してくれ
29 :
27 :2007/03/28(水) 14:13:09
ご回答ありがとうございます。 VLOOKUPなどでやってみます。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 隣と同じ、非表示、同値 計算式の関係で隣と同じ数値が出た場合、表示しない方法を探しています。 条件付書式の関係で色がついているので、 白いセルにして文字も白にしたかったのですが条件付書式は使い切ってます。 よろしくおねがいします。
>>31 すでにそのセルには配列数式が入っているのですが、
IFでくくればよろしいのでしょうか?
自分なりに試してみましたが出来ません。
アドバイスお願いします。
エクセルの使い方から誘導されてきました。 行数が4000で・A固有名詞・B〜Fのデータが随時更新しているのですが、Gの列に計算式を入れてます。 G列の数値が3.0以上になったらA固有名詞をJ1〜Q30に抽出させる方法ないでしょうか? (3.0以上になる確率は3%くらいで、120個程度だと思います) 以上、お願いします。
>>33 補助列を使えば、かなりのことができるが、
それが不可なら、具体的なデータを示してください。
>>34 は >>32でした
>>33 VBAを使えば可能だろう。
Worksheet_Chengeか Application.OnTimeで数値を拾って、
拾ったA固有名詞をJ1〜Q30に書き込んでいく。
テンプレもないから後はほかの人にまかせる
>>34 補助列は空いているセルの事ですよね?
使用可能です。そのやり方でいいので御教示お願いします
>>37 失礼しました。きちんと読んでいませんでした
なので表は
>>18 のもの、配列数式は
>>19 のもので
表の1行目
|-30|-84|-111|-151|-180|-215|-226|-239|
において
=-MAX((-B4:I4<=250)*-B4:I4+(-B4:I4>250)*MIN(-B4:I4))と
=-MIN((-B4:I4>=251)*-B4:I4+(-B4:I4<251)*MAX(-B4:I4))を使った場合
250の欄で
| 250 |
| α | β |
|-239|-239|
となってしまいます
こちらを何とか非表示にしたいのです
どうかよろしくお願いします
40 :
33 :2007/03/28(水) 17:59:53
41 :
24 :2007/03/28(水) 18:30:19
>>25 普通にできなかったので関数でやるしかないと思ったのですが
ピボットテーブルという物があるのですね。
試してみたら、理想に近い形で出てきました。
>>26 関数だと2段階になってしまうのでしょうか
すみません。教えて下さった関数がうまく反映できなくて
今もやっているのですが集計できません・・・
例でいくとC行に集計結果が出るんですよね?
もう少し自分で調べて試してみます。
回答下さった皆様、ありがとうございました。
>>39 とりあえず計算シートと表示シートを分けて、
ifつけて引っ張ってくるのが理解しやすいんじゃまいか?
43 :
名無しさん@そうだ選挙にいこう :2007/03/28(水) 23:19:25
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003(Office2003Pro) 【3 VBAが使えるか .】 ほとんど使えません 【4 VBAでの回答の可否】 簡単なものならば可 【5 検索キーワード 】 保存 マクロ アーカイブ etc... エクセルのファイルを保存しようとしたら「保存できませんでした」ってメッセージが出てしまって 保存できなくて困ってるんですがどうすればよいでしょうか? マクロとかベーシック言語とか使ってあってC言語をちょっとかじったくらいなので まったく分かりません。 とにかく作業をしていたので保存だけでもしたいのですが、 何か心当たりは無いでしょうか?? 普通のエクセルのファイルは保存できるのですが。。。
>>43 エラーメッセージや画面を隠さず全てここに書き出せば誰かがわかるかも
>>43 取り敢えず保存するファイル名を変えてみたら?
>>43 ありがちなパターンとしては、
開いたExcelファイルは、リムーバブルメディアにあったやつで
そのメディアを取り外してしまったとか、
ネットワーク上ならば、ネットワークが何らかの理由で
切断されてしまったなどが考えられる。
とりあえず「名前をつけて保存」で、確実にあるであろう
デスクトップ等に保存してみる。
47 :
16 :2007/03/29(木) 07:55:10
>>42 遅くなりましたがそうしてみます
ありがとうございました
>>47 ついでに、計算シートで
=-MIN((-A1:H1>=51)*-A1:H1+(-A1:H1<51)*MAX(-A1:H1))
のところを=-MIN((-A1:H1>=51)*-A1:H1+(-A1:H1<51)*9999)
にして(9999のところは出てくることのありえない数字)、if式で条件付ければ、
>>22 でいってたことも実現可能
49 :
名無しさん@そうだ選挙にいこう :2007/03/29(木) 11:59:34
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003(Office2003Pro) 【3 VBAが使えるか .】すこしなら 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 組み合わせ etc... 16人が4卓でそれぞれ4回麻雀をやる時、4回とも違うメンバーでやる組み合わせを 考えなければならないんですが、excelで簡単にできませんでしょうか。
簡単かどうかは君の能力次第だが、出来るのは間違いないよ。 ただ計算ソフトの話ではなくアルゴリズムの話になるので具体的な話はスレ違い。 「簡単に」というのが、Excelが機能、関数、メソッドなどとしてその機能を備えていて ボタン1発や命令1文で結果を出せないかということなら「出来ない」と答えよう。
>>49 毎回違うメンバーで、ということなら、下記5通りしかない。
(a,e,i,m) (b,f,j,n) (c,g,k,o) (d,h,l,p)
(a,f,k,p) (b,e,l,o) (c,h,i,n) (d,g,j,m)
(a,g,l,n) (b,h,k,m) (c,e,j,p) (d,f,i,o)
(a,h,j,o) (b,g,i,p) (c,f,l,m) (d,e,k,n)
(a,b,c,d) (e,f,g,h) (i,j,k,l) (m,n,o,p)
わざわざExcelで面倒な関数を使わなくても、例えば1行目に
参加者の名前を入れ、2行目以降に=$A$1、=$E$1・・・といった
フォーマットを作っておけば、簡単でいいのでは?
52 :
名無しさん@そうだ選挙にいこう :2007/03/29(木) 14:41:26
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 プロットエリア 色 折れ線グラフを作成した際に、Y軸の値によってプロットエリアの背景色を 変えたいのですがどのようにしたらいいのかわかりません。 (0<Y<50の領域は赤、50<Y<80は黄色、80<Yは青とプロットエリアを分割して色指定したい) 検索するうちに、プロットエリアの幅指定などがVBAでできるらしいということはわかりましたが、 当方まったくVBAわかりません。 グラフ上で各領域の色が塗り分けられているように見えればよいのですがなにか方法はないでしょうか? よろしくお願いします。
53 :
名無しさん@そうだ選挙にいこう :2007/03/29(木) 14:49:00
>>50 ,51
ありがとうございました。
おかげで助かりました。
神様!
棒グラフとの複合グラフにして、1つの棒グラフの幅をすんごい広げてその色で塗り分ける。
Excelのバージョン2003インストールしたんだけどネットつなげてるのに接続してください ってでてライセンス認証ができないんだけどどうすれば認証できる?
57 :
52 :2007/03/29(木) 19:24:15
>54 コペルニクス的なすばらしい回答をありがとうございました。 おかげさまで目的のグラフが作成できました。 ありがとうございます。
55はマルチなので放置の方向で
59 :
名無しさん@そうだ選挙にいこう :2007/03/29(木) 20:32:52
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】勉強中 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 勤務シフト作成 質問です。 一ヶ月ごとの勤務シフトを作成してるのですが、基本のパターンが決まっていて 土曜、日曜祭日と違うシフトになります。 今はベースの流れを作って、毎月コピー、ペーストしてますが、土日の流れを間違えたりミスをしてます。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 月 火 水 木 金 土 日 月 火 祭 木 金 土 日 A 01 02 03 04 11 22 03 04 01 02 13 24 B 02 03 04 01 12 23 04 21 02 03 14 C 03 04 01 02 13 24 01 22 03 04 21 D 04 01 02 03 14 01 02 23 04 11 22 E 01 02 03 04 21 02 03 24 01 12 23 こんな感じです。アルファベットが人で数字がシフトです。 空白は休みです。 VBAで出来そうかと勉強してますが、さっぱりわからなくていきずまってしまいました。 どなたかご教授いただけたら幸いです。 よろしくお願いします。
>>59 4勤1休で初日から1,2,3,4、土曜は+10、日曜祭日は+20ってことか?
とりあえず、
>>2 ・8に従って出来てる部分のコードを貼ろう。
丸投げする気ならブックのうpをよろしく。
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 キーワードが思いつきませんでした 商品の部品展開表の作成について教えてください。 セル 内容 A1 ※ B1 食品 C1 ※ C2 ※ C3 ※ C4 ※ D1 穀物 D2 野菜 D3 果物 D4 飲料
61の続き A1とC1が同じであれば(※)Cの列と同じ数の※をA2以降に追加して Bの列はB2以降にCにある(※)と同じ行数分の空白を作りたいのですが可能でしょうか? 最終的には セル 内容 A1 ※ A2 ※ A3 ※ A4 ※ B1 食料 B2 (空白) B3 (空白) B4 (空白) C1 ※ C2 ※ C3 ※ C4 ※ D1 穀物 D2 野菜 D3 果物 D4 飲料 の形にしたいです。 よろしくお願いします。
63 :
59 :2007/03/29(木) 21:27:22
>>60 早速の対応ありがとうございます。
基本は4勤1休でその通りです。 コードはVBAの本を買って勉強してますがどういう風に
入力していいのか、ついていけていません。
ブックのうpとはどうしたらよろしいのでしょうか? 素人ですいません。
>>61-62 IF関数でいいじゃん。それと空白を作るってどういう意味だ?
Excelのセルはデフォルトで空白だが、そのままじゃまずいのか?
>>63 ttp://www.1rk.net/ ここでブックのサイズに合った適当なアップローダを探して。
zip圧縮したブックをアップロードし、ファイルの番号なりURLなりをここに貼れ。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 日付や時刻の表示形式に*がついているものがあり、 下に説明が書いてますが、 Excelの表示形式なのにオペレーテイングシステムの日付の並びが 変わるとか意味がわかりません。 詳しい方教えてください。
申し訳ありません実はもう少し複雑になります よろしければ私もブックのうPの仕方を教えていただければ幸いです
64>>早速のれすありがとうございました。 いろいろ複雑でして・・ うPさせていただきます。m(__)m
Downloadリンクがない。
DL完了
71 :
名無しさん@そうだ選挙にいこう :2007/03/29(木) 22:23:22
こりゃめんどい
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 鹿児島 福岡 宮崎 熊本 大分 など・・・北から順番に並び替える方法ってないですか?
69>> Down Keyに「AAA」をいれて、Down Keyの下のDownloadを押すと Download出来るみたいです 70>>ファイルをうPするのは初めてなので一安心です よろしくお願いします。 71>>補足ありがとうございます 72>>すみません、不可能ということですか?
すみません2ちゃんもかなり久しぶりで間違えてました
>>69 Down Keyに「AAA」をいれて、Down Keyの下のDownloadを押すと
Download出来るみたいです
>>70 ファイルをうPするのは初めてなので一安心です
よろしくお願いします。
>>71 補足ありがとうございます
>>72 すみません、不可能ということですか?
彼には不可能
79 :
59 :2007/03/29(木) 23:33:25
>>61 .62
VBAで出来る。適当に書いた
Sub Macro1()
Dim ws_s1 As Worksheet
Dim ws_s2 As Worksheet
Dim i As Long, j As Long, k As Long
Dim my_Row_ws_s2 As Long
Set ws_s1 = Worksheets("Sheet1")
Set ws_s2 = Worksheets("Sheet2")
ws_s2.Select
Columns("A:A").Select
Selection.Insert Shift:=xlToRight
Selection.Insert Shift:=xlToRight
Selection.Insert Shift:=xlToRight
Sheets("Sheet1").Select
Range("A1:C1").Select
Selection.Copy
Sheets("Sheet2").Select
Range("A1").Select
ActiveSheet.Paste
j = 2 my_Row_ws_s2 = ws_s2.Range("d65536").End(xlUp).Row 'ws_s2を基準として考える For i = 2 To my_Row_ws_s2 '最後までループ If ws_s1.Cells(j, 1) <> 1 Then '1以外の場合 If ws_s2.Cells(i, 4) = ws_s1.Cells(j, 1) Then '数値の書き込み ws_s2.Cells(i, 1) = ws_s1.Cells(j, 1) ws_s2.Cells(i, 2) = ws_s1.Cells(j, 2) ws_s2.Cells(i, 3) = ws_s1.Cells(j, 3) ws_s1.Cells(j, 4) = 1 j = j + 1 End If End If '空白の場合、コードを書き込む If ws_s2.Cells(i, 1) = "" Then Debug.Print ws_s2.Cells(i, 1) = ws_s2.Cells(i, 4) End If Next i '1を消す ws_s1.Select Columns("D:D").Select Selection.ClearContents ws_s2.Select End Sub 改行うざいってJaneに怒られた
> 改行うざいってJaneに怒られた この板は32行までしか書き込めないからな。 そもそも無駄な処理ばかりやってるから行数増えるんだよ。 ws_s2.Select Columns("A:A").Select Selection.Insert Shift:=xlToRight Selection.Insert Shift:=xlToRight Selection.Insert Shift:=xlToRight ↓ ws_s2.Columns("A:C").Insert Sheets("Sheet1").Select Range("A1:C1").Select Selection.Copy Sheets("Sheet2").Select Range("A1").Select ActiveSheet.Paste ↓ ws_s2.Range("A1:C1").Value = ws_s1.Range("A1:C1").Value ws_s2.Cells(i, 1) = ws_s1.Cells(j, 1) ws_s2.Cells(i, 2) = ws_s1.Cells(j, 2) ws_s2.Cells(i, 3) = ws_s1.Cells(j, 3) ↓ ws_s2.Cells(i, 1).Resize(, 3).Value = ws_s1.Cells(j, 1).Resize(, 3).Value ws_s1.Select Columns("D:D").Select Selection.ClearContents ↓ ws_s1.Columns("D:D").ClearContents
へぇ、32行までなんだ。 面倒だったからマクロ記録のコード貼り付けたからなー。 ギアス見るまでの時間つぶしだし。 >ws_s2.Cells(i, 1).Resize(, 3).Value = ws_s1.Cells(j, 1).Resize(, 3).Value なるほど、こういう使い方もあるのか。
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━ 【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 表示形式 ユーザー定義 質問をさせて頂きます。 以下の様な文字と数字が混ざった入力(MACアドレス)をした際に、 間に「-」が入った状態で、表示される様にしたく、 表示形式を色々いじっていたのですが、上手くいきませんでした。 【入力】0a0a0a0a0a0a 【表示】0a-0a-0a-0a-0a-0a 上記の様に表示させるには、どの様にすれば良いのか、 ご教授頂けませんでしょうか。 宜しくお願い致します。
> 上記の様に表示させるには、どの様にすれば良いのか、 > ご教授頂けませんでしょうか。 表示形式では不可能 12345を1-2-3-4-5にするなら0-0-0-0-0でいいが 文字列(16進も文字列扱い)はこういった桁単位での指定は出来ないので 関数で別セルにというなら、 =MID(A1,1,2)&"-"&MID(A1,3,2)&"-" って感じでいける
エクセル勉強したいのですが、入門〜中級くらいまで網羅している本で、 お勧めの書籍があったら教えてください。 osはxp、Excel2002。プログラムは素人です。
>>86 人それぞれだから、本屋で流し読みして探せ
大体どれも似たようなもんだy
時折探すけど「合計するときはSUM関数を使おう!」っていうのから 「VBAでゴリゴリ」っていうのの間が無いんだよなぁ、結構。(苦笑)
中間が無いってあたりまえじゃない? 辞書的な分厚い書籍を買えば一通りの使い方は乗ってるわけだし、 基本を理解したらあとはその人の応用力というか、組み合わせの問題だし。
その組み合わせを考えるもの面倒なら、小学生からやりな(ry
VBAで「ゴリゴリ」って表現は似合わないなぁ
アセンブラとかだったら「ゴリゴリ」って感じがするけど
>>86 初心者なら流し読みしても何がいいのかわからんだろう
ひとつだけアドバイスするなら「やりたいこと、できること」ごとに
例題が載ってて詳しく解説してあるものを薦める
のちの応用力にも影響するよ
92 :
86 :2007/03/30(金) 15:32:38
定番的なのがあればと思ったのですが、ないようですね。 アドバイス、ありがとうございます。参考にして選んでみます。
同じ出版社、同じシリーズ名で2000→2002→2003→2007と バージョンアップのたびに新刊が出ているものは、 ある意味定番と呼んでいいかもしれない。 ただエクセルの場合は、そういうシリーズだけでも複数あるし 読む側の理解度やPCの習熟度で、「よい本」というのはまるで異なるから、 おすすめしようがないんだわな。自分にとっての「よい本」が、 他人にもよい本である保証はどこにもないからね。 以上、チラシの裏。
94 :
名無しさん@そうだ選挙にいこう :2007/03/30(金) 16:15:11
>>86 とりあえず5月号の「日経PC」でエクセルの特集をやってるから参考にすれば!
(付録で事典も付いてるよ)
>>94 読んでないけど、それって2007でないかい?
質問者は2002
ただ図書館行って、雑誌のバックナンバーをあさるってのは
ひとつの手かもしれないな。
96 :
名無しさん@そうだ選挙にいこう :2007/03/30(金) 17:13:03
>>96 了解。
そうなると逆に、あれだけ操作系の違う2003までと2007とを
どうやって分けて説明しているのか興味があるな。
数式とかはほとんど変わりないからいいとしても。
ほんと馬鹿だなあ
違うのは操作系ではなくインターフェイスね。 それに、同ソフトのバージョンアップと見れば大きな違いだが 完全別ソフトを併説するわけではないので、解説観点からはこの程度の違いは さしたる問題にはならない。ちょこちょこっと注釈入れておけば良い程度。
>>80 >>81 >>82 >>83 皆様ありがとうございます。
>>82 Sub Macro1()
以下コピーして「↓」マークを消して
End Sub
で実行してみたのですが
MSBがでて
実行時エラー424
オブジェクトが必要ですと言われます
何かを省略されているのでしょうか?お手数ですが教えて頂けますか?
>>101 変更以前のスーテーと麺とも消さないと…
>>102 レスありがとうございます
コードの中にはその他になにも書かれていません
何処でけせますか?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】excel 文字が潰れる コントロールオブジェクトのコンボボックスやチェックボックスをシート上に配置すると、フォーカスのあたった状態とあたっていない状態とで、文字の大きさや太さが変わってしまいます。(あたっている状態のほうが綺麗な感じです。) これは仕様でしょうか。 改善させる方法があれば教えてください。
105 :
名無しさん@そうだ選挙にいこう :2007/03/31(土) 08:41:47
関数の戻り値(結果の値や文字)をただのデータ(直接入力した文字や値) として変換できませんか??
>>105 関数だとできないよ。
値だけコピーして貼り付けるとかしないと駄目。
VBAだったら、その操作を自動化するとかでいけるんじゃないかな?
108 :
107 :2007/03/31(土) 09:07:52
あ、107は104さん宛てです。ごめんごめん。
109 :
名無しさん@そうだ選挙にいこう :2007/03/31(土) 09:17:32
形式選択して張り付ければいいんですね 簡単な質問してすいません どうもありがと >106
110 :
名無しさん@そうだ選挙にいこう :2007/03/31(土) 10:09:03
マクロで他のエクセルデータの一部だけを インポートするにはどうしたらいいでしょうか
そういうVBAを書けば良い。 -以上-
>>110 バージョンにもよるけど、外部データの取り込み機能で、データ元を
読み込みたいデータのあるブックにするだけで、読み込めるよ。
普通はシート単位でしか読み込めないけど、読み込みたい範囲に「名前」
つけておけば、その範囲だけ読み込むこともできる。
元のデータ更新したら、読み込み先でも更新ボタン押せば反映されるから
楽っちゃ楽。
ただ、この方法だとロックかかって同時には開けないんだけどね。
113 :
名無しさん@そうだ選挙にいこう :2007/03/31(土) 16:16:20
検索範囲のなかで同じ値を知らせるような関数ってありますか? ご存知の方いらしたら教えて下さい。
EXACT
115 :
113 :2007/03/31(土) 21:17:44
>>114 ありがとうございます。 やってみたんですがEXACTは複数セルの場合は
出来ないのでしょうか? 複数の値の中で同じ値が出たらわかるように
したいのですが・・・
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel*2000 【3 VBAが使えるか .】 限りなくいいえ 【4 VBAでの回答の可否】 可・ A1〜BZ1までのデータに、数字が入っている時にアベレージを出したいのですが、 (数字は必ず+数字になります) 1つづつ、IF(AND(A1>0,B>0,C>0・・・・・・・・・),AVERAGE(A1:BZ1),"") とBZ1まで書かない方法を教えてください。
>>116 +の数値だけを抜き出して、その平均を出したいというコト?
118 :
116 :2007/03/31(土) 22:54:11
>>117 いえ違います。
A1〜BZ1までのデータは必ず+の整数が入ります。
ただリアルタイムに変動しているので、空白になる場合があり
その時は、平均値をださずに空白にしたいのです。
=IF(COUNTBLANK(A1:BZ1)>=1,"",AVERAGE(A1:BZ1))
=IF(COUNTBLANK(A1:BZ1)=0,AVERAGE(A1:BZ1),"") こっちの方がスマートだた。
>>115 できる。がんばれ。
>>120 =IF(COUNTBLANK(A1:BZ1),"",AVERAGE(A1:BZ1))
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい(極々僅かです。) 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 excel vba 並べ替え 数値 漢字 含む A列に1,2,3,4,5,・・・と番号が入力してあり、B列に点数が59,42,48,63,欠席,・・・と入力してあります。 B列を最優先されるキー、降順で並べ替えを実行すると欠席と入力されているセルが一番上に 来てしまいます。並べ替えた際に欠席と入力されたセルを一番下にして並べ替えるにはどうしたらいいのでしょうか? どなたかご掲示お願い致します。
その方法では無理。
>>123 「欠席」を -1 に書き換えてソートする。
※今日、質問された方には100%正確な回答が返ってきます
>>123 セルの表示形式を、ユーザー定義で「0;"欠席";0」に設定する。
この状態で正数か0を入力すると数値がそのまま表示され
負数を入力すると「欠席」が表示されるので、以後欠席は-1などを入力する。
あとは普通に降順ソートすれば、欠席セルは実値が-1なので一番下になる。
あとは一度昇順でソートすると、欠席は一番下になるから
次に欠席以外の範囲を選択して降順ソートするという手もある。
>>123 セルの表示形式を、ユーザー定義で「0;"欠席";0」に設定する。
この状態で正数か0を入力すると数値がそのまま表示され
負数を入力すると「欠席」が表示されるので、以後欠席は-1などを入力する。
あとは普通に降順ソートすれば、欠席セルは実値が-1なので一番下になる。
あとは一度昇順でソートすると、欠席は一番下になるから
次に欠席以外の範囲を選択して降順ソートするという手もある。
応用力の差を見た気がする
130 :
名無しさん@そうだ選挙にいこう :2007/04/01(日) 01:21:58
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003(Office2003Pro) 【3 VBAが使えるか .】 ほとんど使えません 【4 VBAでの回答の可否】 できればさけたいです 【5 検索キーワード 】 エクセル web 共有 現在、数名で1つのエクセルファイルを利用しているのですが、 メールでファイルをやり取りしています。 これを一元管理にして、ブラウザなどでファイルを開いて 編集できるようにしたいのですが、どのようにすればよろしいでしょうか。.
レンタルでもなんでもいいから鯖立てて、普通に共有すればいい。 ちなみに鯖に関してはスレ違いなのでここでは聞かないでね。
>>130 そんな曖昧な質問の仕方だと、
>>131 のようなザックリした
回答しか返してもらえないよ。
▼━質問テンプレ ━━━━━━━━━━━━━━━━━━ 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 少しかじった程度 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 CSV 書き込み マクロ VB etc 機器から出力したCSVファイルが印刷する用紙の表と行と列が反対なので 行と列を入れ替えるマクロを作っています。さらに処理をするファイル数が100個以上 あるので全自動化にしたいです。 例 1 1 2 3 2 → 3 行と列を入れ替えるだけは簡単なのですが、データ元ファイルを開き、出力用のファイル に書き込むことができません。 他には ・OpenFileDialogを利用したファイル読み込み ・ファイルパスからファイル名を抽出後セルに入力 ・連番のデータファイルを順に読み込んで出力用ファイルに書き込みの動作 の3つです。 ただでさえ仕事で忙しくて家に帰ってこない親を少しでも楽にさせたいのでどなたかご教授お願いします。
>>133 マクロを作ってるのにVBAでの回答否って何を答えれば良いんだ?
135 :
133 :2007/04/01(日) 14:04:13
136 :
名無しさん@そうだ選挙にいこう :2007/04/01(日) 15:05:08
>ただでさえ仕事で忙しくて家に帰ってこない親を少しでも楽にさせたい だったらてめえで勉強しろ。カスが。二度と来るな。
形式を選択して貼り付けじゃいかんの? もしくは形式を選択して貼り付けをマクロの記録すればいいじゃん。
>>133 Excelでやるべきことじゃないね。適当なスクリプトで充分。
少なくともExcelに関する質問じゃない。
>>2 ・7、
>>3 ★VBAについて
>>136 知識もないのに口だけは達者なオバカさんは
2度と来なくていいよ。
>>133 自分ではコード書いたのか?
書いたならまずそれを晒してみな
環境 OS:Windows98SE、Office2000Pro いつの間にか・・・、Excel を起動すると "インストールの準備中"と警告して、FDをガチャガチャするようになりました。 その後一応問題なく起動するのですが、毎回うるさいので 警告とFDへのアクセスを回避したいのですが、偉い人解決策を教えてください。 ググったところ、CD-ROMからOFFICEのレジストリーを上書きすればOKみたいなことが書いてあったのですが、 ↓ 【メッセージ】「インストールの準備中です」 【原因】 [原因1]Office2000のインストールが正常に完了していない。 [原因2]レジストリ情報に矛盾が生じている。 【解決方法】 処置方法1または処置方法2を行う。 [処置方法1]Office2000をアンインストールし、再インストールする。 [処置方法2]以下の手順でOffice2000のレジストリ情報のみを再インストールする。 <作業手順> 1.Office2000のCD-ROMを挿入する(autorunが起動したら閉じる) 2.[スタート]-[ファイル名を指定して実行]より以下のコマンドを実行する。 「*:\setup.exe/fumdata1.msi」(*にはCD-ROMドライブのドライブ文字を入力する) とか言うのを例にならって試してみましたが、 「ファイルまたはその構成ファイルが見つかりません」と言われて実行できません。 ドライブから、setup.exeを実行しようとすると、FDをガチャガチャします。
>>133 なんかサンプルになりそうなマクロを書こうとしたんだが、
くだらないところでつまずいて、納得できる物が書けんかった。
役に立てなくて申し訳ない。
ご両親を大切に思う心はこれからも無くさないようにして欲しいな。
> ご両親を大切に思う心 彼にはそんなもの無いよ 『おまえら、俺の両親を楽させてやってください(俺の手柄として)』 って言ってるだけで、自分で努力して楽させてやろうなんて気は無いからw
>>143 お前の腐った根性だけは痛いほど伝わってきた。
せいぜい死なない程度に生きろ
でもまぁ、技術的な意見を交換する場なのにご両親云々を持ち出してくる必要は全く無いな あざとく見られても仕方ないと思う。 大甘に見てもそれ書くなら、まず自分でやった努力を知らしめるべき
いちいち反応して嫌味言うおまえも相当腐った根(ry そして漏れも…
やりたい事を細かく分かっているのに、それをすべて丸投げの態度はいただけない・・・ ひとつひとつは技術的に難しいことでもないから尚更。 「できる大事典 Excel VBA 2000/2002/2003対応 」買えばすべてやりたいこと書いてあるから、 それで親のために、自分で勉強してみたら。
>>133 考え方の例
[0] csv をひとつのフォルダ(例: D:\source) にまとめて入れてしまう。
出力先もひとつのフォルダ(例: D:\dist)に決めておく。
[1] fn=Dir("D:\source\*.csv") で最初の csv の filename を取得する。
[2] fn=""なら Exit Sub
[3] Workbooks.Open ("D:\source\" & fn) でファイルを開く。
[4] [3] のBook を Activate して、ActiveSheet を対象にやりたいことをやる。
[5] Workbooks(fn) SaveAs ("D:\Dist\ & fn)
xls で保存するなら fn の拡張子を xls に変更してから保存。
[6] Workbooks(fn).Close
[7] fn=Dir で次のファイル名を取得する。
[8] [2]〜[6] の繰り返し。
ファイル保存時の問合せがうざいので、
Application.DisplayAlert=False を設定しておくとよい。
2002です。 IF関数で前者だった場合の数値と後者だった場合の数値を 違う色で返すようにしたのですが どうすればいいんでしょう
>>149 この場合「IF関数」じゃなくて「条件付書式」
少々お伺いします 【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 JIS SHIFT-JIS CODE EXCEL 関数 変換 文字のJISコードはCODE関数で表示できますがSHIFT-JISコードを表示するにはどうすればいいのか教えて下さい。 宜しくお願いします。
VBAのAsc関数
153 :
名無しさん@そうだ選挙にいこう :2007/04/02(月) 13:02:25
複数の同じフォーマットのシートから、特定の行だけを抽出したいと思っています。 VBAを使わずにできますでしょうか? 方法があればおしえてください。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 複数シート 抽出
154 :
名無しさん@そうだ選挙にいこう :2007/04/02(月) 13:20:39
↑ コピペ
エクセル2002を日常的に使い出して3ヶ月 大事なファイルを壊され、修復不完全 文字情報全焼、シート1枚完全消失 軽く欝んでます。 エクセル最新版では壊れにくく、かつ修復の完全性アップしてますか?
データが壊れるのは、大抵ソフト(Excel)の問題ではなく、ハード(主にメモリ、HDD)の問題や操作の不備だし 修復なんて出来ないのがデフォ。例えば、うちの電話番号は「0**-*6*-9***」だと言われて 君はこの情報から正しい電話番号を修復出来るか?虫食い部分を予測する為の情報などが無ければ無理だろ。 それはPCも同じで、修復するには、壊れた部分を予測するに足る情報が必要。その方法はソフトによって違っていて 自動的に差分を取ってそれを元に修復したり、ファイル毎に修復情報を付加(ファイルサイズが余分に大きくなる)したりするが Excelの場合は修復用の補完データではなく、実体のバックアップを取る形だ。バックアップを取ってなかったら 他に修復用の情報が無いから修復は不可能。 (特殊な状況ではメモリ上のデータから修復を行うこともあるが、その機能が発動する時点で異常事態なのでどうしても修復は不完全) なんか長くなったが、要は壊れるのも、修復できなくなるのも、Excel以外の問題で発生してる場合が殆どなわけで。 メモリエラーやHDDの不良セクタチェックなどを定期的に行い、バックアップをきちんと取るようにすればなんの問題も無いことだ。 メーカー製だから問題なしとかOSが起動すればOKとか思って、メモリやHDDのチェックをしない人や 痛手を見るまでバックアップを意識しない人も多いからな。 何でもソフト任せじゃなくて、大事なデータは自分で守りましょう。消失したときに困るのは、自分なんだから。
パソコンに完全性を求められても・・・ 定期的に別の媒体、今ならUSBメモリを買ってそれにコピーするのが一番確実。 バックアップの重要性を説かれても、右から左にスルーしてそうだ。 まぁ、誰でも一度は通る道だから次から気をつけれ。
Wordはともかく、Excelってそんな落ちるかね? まぁ、得体の知れんスクリプトをガンガン走らせてるとかなら分からんが…。 Excelが落ちまくるって、かなり環境を見直したほうがいいと思うんだが。
相変わらず文句になると生き生きしだすな
すごく初歩的な質問で申し訳ないんですが、エクセルってワードのように文字幅を〜%って指定できないんですよね?
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel*2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 D1に文字が挿入されたら、A1の文字色を変える事できる関数を教えてください。
無理
164 :
162 :2007/04/02(月) 15:37:08
>>163 その回答は私の質問でしょうか?
もしダメならVBAでお願いできないでしょうか?
>>162 条件付書式で
数式が=$D$1<>""のときと入れて書式で色を指定すれば似た様なことが出来るかも。
これだとD1に何か入力するとA1の文字色が変えれる。
166 :
153 :2007/04/02(月) 15:50:03
>154 コピペじゃないですー! >155 例えば、 シート1 りんご |100円 みかん |200円 ぶどう |300円 シート2 りんご |200円 なし |150円 ばなな |350円 シート3 もも |400円 りんご |80円 かき |120円 上記のようにとなっていたばあい、 りんご |100円 りんご |200円 りんご |80円 と、抽出したいんです。 方法があったら教えてください
>>162 関数では無理。
VBAを使わないのなら、条件付書式で設定するしかない。
>>164 EXCEL関数でぐぐれ。
EXCEL入門でぐぐって、最初にヒットしたページを眺めれば、 ほとんどの事が解決出来るんだけどね。
170 :
153 :2007/04/02(月) 16:06:20
>168 フィルタは知っていますが、それだと各シートでいちいちやってコピペしてこないと だめじゃないですか? 全シートから一回で抽出する方法ってないですか?
>>170 VBA否だから仕方がない。最初のレスが「コピペ」だっただろ。
173 :
153 :2007/04/02(月) 16:14:46
>171 あー!あのコピペってのは、そういう意味だったんですね!! もしVBAでやる方法があったらおしえてください。 VBAってまったく触ったこと無いんですけど、ちょっと勉強してみます。 お願いします。
174 :
高島彩 :2007/04/02(月) 16:19:50
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Excel ヘルプ 壊 ヘルプがブッ壊れて質問とかキーワード入力できませんたすけて
175 :
163 :2007/04/02(月) 16:27:07
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 VBA 自動 実行 時 VBAで毎分同じ秒にマクロを実行しようと考えています。 例えば15時00分00秒なら、 『指定時刻 = TimeValue("15:00:00")』の形を使用してできたのですが 本当はXX時XX分00秒に実行したいのですが、できませんでした。 この場合はどうすればいいですか・・?
178 :
高島彩 :2007/04/02(月) 16:50:35
>>176 XX & XX & "00" でどう?
179 :
高島彩 :2007/04/02(月) 16:51:54
ちがうわ XX & ":" & XX & ":" & "00" かしら
180 :
高島彩 :2007/04/02(月) 16:52:44
182 :
名無しさん@そうだ選挙にいこう :2007/04/02(月) 17:06:19
183 :
高島彩 :2007/04/02(月) 17:19:25
オヒス削除して入れなおしたらなおりました
184 :
高島彩 :2007/04/02(月) 17:24:21
>>166 With Worksheets("Sheet4")
Cells(i, 1)=Worksheets("Sheet" & s).Cells(1, 1)
まで書いた
185 :
名無しさん@そうだ選挙にいこう :2007/04/02(月) 18:00:40
win2000, Excel 2000 シートの隠れている右下角を出すにはどうしたらいいでしょうか。 枠の大きさを変えたり、シートを動かしても出てこないので掴めず、 シートの大きさを変えたり、シート見出しを見ることができません。
つ 画面の解像度
>>185 最大化されていませんよね?
されていなければ左上の角をつまんでやれば大きさは変えれます。
188 :
名無しさん@そうだ選挙にいこう :2007/04/02(月) 21:22:51
>>187 どうもありがとうございます。
できました。
今までどんなに苦労したか。
189 :
123 :2007/04/02(月) 23:18:50
-1で対処する様にしたいと思います。 ありがとうございました。
190 :
59 :2007/04/03(火) 03:31:27
本を(三冊目)買ってこの時間まで勉強してますが、私の頭では無理みたいです。 先生方、忘れられかけている私にせめてヒントでもいただけたら光栄です。 そもそも素人レベルでは厳しいのでしょうか?
192 :
59 :2007/04/03(火) 10:57:42
>>191 ありがとうございました。感謝しております。
これをベースに精進いたします。
うちの会社の先輩(おじさん)達、アナログ派なもんで・・・
>>191 0 │ A │ B│ C
─┼──┼─┼────
1 │ │ 1│ 2 ←シリアル値
─┼──┼─┼────
4 │名前│月│ 火
─┼──┼─┼────
5 │ │ │ 祭
─┼──┼─┼────
6 │ A │01│=IF(RIGHT(B4,1)="4","",IF(C$3="祭","2",IF(WEEKDAY(C$1,2)<6,"0",WEEKDAY(C$1,2)-5))&IF(B4="","1",RIGHT(B4,1)+1))
関数式だったらこんな感じ。
すまん、流れ読んでないんだけど、 >DLパスワード 君の会社名(漢字8文字で) これは大丈夫なのか?wwwww 会社名入ったファイルうpったのか!?w
195 :
名無しさん@そうだ選挙にいこう :2007/04/03(火) 13:32:45
くだらねえよな
196 :
名無しさん@そうだ選挙にいこう :2007/04/03(火) 13:42:21
関数の返り値が、#VALUE!かどうか判定したいのですが、 IF関数で、どう記述すれば良いのでしょうか?
197 :
名無しさん@そうだ選挙にいこう :2007/04/03(火) 13:55:16
>>196 =IF(ERROR.TYPE(A1)=3,〜,〜)
198 :
196 :2007/04/03(火) 14:03:54
> 会社名入ったファイルうpったのか!?w そうじゃなかったら、会社名でパスを設定することすら出来ないのでは?
200 :
名無しさん@そうだ選挙にいこう :2007/04/03(火) 17:40:09
わざわざドキュメントプロパティ見る奴もウザければ、 すぐログ流れするロダにオナニーファイル挙げる奴もウザい。 しかも会社名がパスですか。ガキくせえ。 お前ら2人でやってろよボケ。キミとボクしかいないわけじゃねーんだよ士ね。
で、なんで怒ってるの? 何か嫌なことでもあったのかな? とりあえず、茶でも飲んで落ち着け つ 旦
きっとイヤな思いででもあるのだろう。自分の本名入りのファイルをうpしちゃって、それをバカにされたとかw それに、2chの質問スレには、元からオナニー(自己満足)回答しか無いよ。 仕事として2chでの回答をしてる奴なんか居ないわけで、全て回答者が答えたいから答えてるだけ。 200みたいにカリカリして心に余裕のない子は2chには向かない。もっと真面目な掲示板とかあるから移ってみてはどうかな。
別に仲はどうでもいいんだが、 興奮してキレちゃってる200が落ち着いてくれれば
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 2003 【3 VBAが使えるか .】 使えない 【4 VBAでの回答の可否】 不可能 【5 検索キーワード 】 最大 データ容量 仕事で商用のデータベースからデータをダウンロード して、エクセルでデータ加工して、資料を提出しました。 約500件くらいのデータをエクセルで加工したのですが、 エクセルでは何件くらいのデータを処理できるのでしょうか? 宜しくお願いします。
>>205 6万件くらいとちゃう?
前半は質問とは関係ない文章
>>200 こんなところで匿名を傘に日頃の憂さ晴らしか。
くだらない人生だな。
>>205 Ver.2002だと「Excel の仕様および制限」ってとこに書いてある
209 :
名無しさん@そうだ選挙にいこう :2007/04/04(水) 03:47:10
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 駆け出しですが可 【5 検索キーワード 】 抽出 数字 文字列 [1][5][6] [none][none][1] [1][7][7] [2][5][1] こんな感じで数字と文字列が混ざったシートがありここからグラフを作りたいのですが 文字列が混ざっているためうまくグラフ化できません 文字列の行はグラフには不要なので上詰めで数字だけ抜き出す方法を教えてください データが数万行あるので出来ればメモリーや容量を食わない方法で教えてください
>>209 ほらよ
編集 → ジャンプ → セル選択 → 定数 → 「文字」以外のチェックを外す → OK
211 :
名無しさん@そうだ選挙にいこう :2007/04/04(水) 10:42:36
dell inspiron 1501 os vista cpu AMD Turion 64*2 1.6GHZ メモリー 2GB office xp エクセルまったく駄目ですがなんで?? 保存に1分かかるんですが・・・・
winXP ,excel2003 です。vbaは最近はじめました。 教えてください。 ユーザフォームの中の マルチページ1の中の フレーム1の中の フレーム2の上にある チェックボックス1〜5をチェックするには 以下のコードではダメなんですね。 正解をご教示下さい。宜しくお願いいたします。 Private Sub OptionButton1_Click() Dim i As Integer Dim A(5) As String A(0) = "CheckBox_1" A(1) = "CheckBox_2" A(2) = "CheckBox_3" A(3) = "CheckBox_4" A(4) = "CheckBox_5" For i = 0 To 4 MultiPage1.Frame1.Frame2.Controls(A(i)).Value = True Next i End Sub
213 :
209 :2007/04/04(水) 16:30:13
>210 複数の文字列のセルが選択された状態で 削除>上方向にシフト ってことでしょうか? これだと不要な行の数字が入ったセルが残ってしまう為、行にズレが出来てしまうんですが [1][5][6] [none][none][1] [1][7][7] [2][5][1] ↑これが [1][5][6] [1][7][1] [2][5][7] [][][1] ↑こんな感じになってしまう [1][5][6] [1][7][7] [2][5][1] [][][] ↑こうなってほしい
>>212 Private Sub OptionButton1_Click()
with userform1
.checkbox1.value = true
.checkbox2.value = true
.checkbox3.value = true
.checkbox4.value = true
.checkbox5.value = true
end with
end sub
215 :
名無しさん@そうだ選挙にいこう :2007/04/04(水) 18:14:58
>>212 Private Sub OptionButton1_Click()
Dim i As Integer
For i = 1 To 5
UserForm1.Controls("CheckBox" & i).Value = True 'Controls(A(i)).Value = True
Next i
End Sub
216 :
名無しさん@そうだ選挙にいこう :2007/04/04(水) 21:00:02
>>213 削除ダイアログをよく見てみましょう^^;
行全体
ってあるはずですw
217 :
名無しさん@そうだ選挙にいこう :2007/04/05(木) 00:24:22
すみません教えて下さい。 A列に名前、B列に出身県が並んでいるデータがあります。 名前1,北海道 名前2,大阪 ・・・ これを使って出身県ごとに何人いるかをカウントさせたいのです。 北海道,12 青森,6 ・・・ ヒストグラムみたいなもんですが、数字データじゃないので ヒストグラムではできないようでした。 やりかたを教えて下さい。
219 :
217 :2007/04/05(木) 00:36:54
220 :
212 :2007/04/05(木) 00:42:01
>>214 >>215 レスありがとうございます。
コンテナはUserForm1でいいんですね。
とりあえずマルチページもフレームも取っ払って組み始めましたが、また戻してやってみたいと思います。
>>215 解説ありがとうございます。
助かりました。ありがとうございました。
221 :
209 :2007/04/05(木) 07:26:29
>>216 うまくいきましたありがとうございました
222 :
名無しさん@そうだ選挙にいこう :2007/04/05(木) 09:16:38
左のフィルも右のフィルと同じように 4 3 2 1 の連続データは出来ますか?
223 :
名無しさん@そうだ選挙にいこう :2007/04/05(木) 09:44:40
224 :
名無しさん@そうだ選挙にいこう :2007/04/05(木) 10:26:56
お世話になります 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 多少 【4 VBAでの回答の可否】 可(必要ないと思われますが) A1に数字、B1に単位を入力して CONCATENATE(A1,B1)でC1に返すという作業をしたのですが A1が1.0など小数点以下が0で終わった場合 C1には0が省略されて返ってきます C1に0も付けた状態で返したいのですが 別の関数か何かの表示形式になるんでしょうか C1ではなく、C1にデータを返した上で別列で表示、という形でも構いません A B C 1 10.0 % 10.0% 2 という感じで出したいです。わかりづらくてすみませんがよろしくお願いいたします
225 :
名無しさん@そうだ選挙にいこう :2007/04/05(木) 10:59:43
>>224 C1=TEXT(A1,"0.0")&B1
または
C1=FIXED(A1,1)&B1
もう10年以上使ってるのに印刷プレビューの設定でヘッダ/フッタの 左右割付が上手くできない私はボケなんでしょうか?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excelxp 【3 VBAが使えるか .】 多少 【4 VBAでの回答の可否】 可 グラフで、グラフはあっても凡例を表示しない、ということは可能でしょうか? 折れ線グラフを想定しています。 (すべての凡例を表示しないのではなく、系列Aは凡例に表示し、系列Bは凡例に表示しない、ということが可能かどうかです。 というのは、凡例のスペースを節約したいからなのですが・・・。) 詳しい方、どうかよろしくお願いします。
ありがとうございます。具体的な方法等は、どこを調べればよいでしょうか?
230 :
名無しさん@そうだ選挙にいこう :2007/04/05(木) 15:11:21
【1 OSの種類】 WindowsXP 【2 Excelのバージョン】 Excel2003 【3 VBAが使えるか】 多少 【4 VBAでの回答の可否】 可 エクセルの時間計算で整数分(1,2,3…)を計算式を入れて 違うページに100分の1秒まで表示(0:01.00)に したいと思うんですが、どのような計算式を入れればいいか 教えてもらえますか。お願いします。
231 :
名無しさん@そうだ選挙にいこう :2007/04/05(木) 15:24:10
>>230 日付時間関数とセルの表示形式を調べなさい
232 :
名無しさん@そうだ選挙にいこう :2007/04/05(木) 15:34:56
>>231 表示形式をいじっても出来ませんでした。
どうしたらいいですか?
>>230 こんな感じか?
=TEXT(A1,"h:m:s.00")
※A1は結果のセルか任意の式
235 :
名無しさん@そうだ選挙にいこう :2007/04/05(木) 16:01:21
>>234 ありがとうございます。任意の式ってなんですか? 一応その式(=TEXT(A1,"h:m:s.00") )入れてみたんですけど、 A1が整数やったら、0:0:0.0になってしまいました。
=TEXT(TIME(0,0,A1),"[h]:m:s.00") か? やっぱり小数も入れるとか言わないでね
237 :
名無しさん@そうだ選挙にいこう :2007/04/05(木) 16:16:56
>>235 おおスマン。分で表示か。だったら
=TEXT(A1/1440,"h:m:s.00")
で良いはずだ。
238 :
名無しさん@そうだ選挙にいこう :2007/04/05(木) 16:25:56
236さん 237さん ありがとうございます。 整数はできました。少数も入れる方法もあるんですか??
239 :
名無しさん@そうだ選挙にいこう :2007/04/05(木) 16:51:48
面倒やったみたいですね。 すいません。
240 :
名無しさん@そうだ選挙にいこう :2007/04/05(木) 17:04:40
馬鹿にはそう思えるんだろうな
230は、ただの教えて君だよ 自分で何も調べないからトンチンカンな質問を繰り返してるだけ
質問者は、名前欄に最初に質問したレス番号入れて欲しいね。
というか、
>>2 に書いてあるじゃん。
> ▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
> ・4 2回目以降の質問では名前欄に初回質問の番号を入れよう。
そんなチマチマした事はどうでもいいんだよ 変に騒ぐとテンプレ・ルール厨が湧いて出てくるから 気をつけろ!!
あんなゴミみたいに垂れ流してるテンプレ、誰も読む気しないから仕方ねーよ。
読まないのも従わないのも勝手だし、そういうお馬鹿な子を叩くのも勝手。 少しでもスムーズな回答を得たい奴だけが従えばいい。ただそれだけのこと。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excelxp 【3 VBAが使えるか .】 不可 【4 VBAでの回答の可否】 できれば不可 √a で表された数を、b√c にしたいのですが、 丁度いい関数などありませんでしょうか?
249 :
名無しさん@そうだ選挙にいこう :2007/04/05(木) 20:04:18
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 セルの値で図の変更 A1のセルの内容によって10個ある図の中の一つを B2:f10の中に表示させる。 図は同一ワークシート内の隅っこに有る。 例えば「りんご」「みかん」「バナナ」・・・などの図があり A1に「りんご」と入力するとB2:f10の中に「りんごの図」 A1に「みかん」と入力するとB2:f10の中に「みかんの図」 が表示される。 A1の内容を変更すると図も変更される。 これは可能でしょうか?
>>248 あるよ。ヘルプ見てね。
ところで、Excel XPってのは存在しないから注意してね。
XPってのはOfficeスイートパッケージのみの名称で、OfficeXPに含まれるExcelは2002。
>>249 可能か否かと言うなら、VBA使えば可能だよ。
コード書いて欲しいならブックうpしようね。
251 :
248 :2007/04/05(木) 20:13:10
あ、実際に√で表しているわけではなく、あるセルに√の中身にあたる数があり、 それを別の2セルにbとcとして出力したい、ということです。 例) A1 B1 C1 50 5 2 のような感じです。√50→5√2のような意味合いで・・・。
>>250 ありますか。ありがとうございます。調べてみます。
253 :
252 :2007/04/05(木) 20:22:14
>>250 すいません、ところでキーワードはなんと打ってみればよいのでしょうか?
”ルート”で調べたところ、それらしき関数は見当たりませんでした。
素因数分解するがよろし
XP エクセル2000です。 Private Sub CommandButton1_Click() 'K7からN250までの範囲でセルが空白なら青色、空白でなかったら無色に変えます。 Dim 範囲, 要素 Set 範囲 = Range("K7:N250") For Each 要素 In 範囲 If 要素.Value = "○" Then 要素.Interior.ColorIndex = 5 Else 要素.Interior.ColorIndex = 0 End If Next 要素 End Sub 2つ質問があります。 @「If 要素.Value = "○" Then」の時に行は要素の変数を使って列をAにする方法を教えてください。 AK7:N250には、計算式が入っているのですが、#####になるとエラーになります。 #####になっても、「要素.Interior.ColorIndex = 0」 になるようお願いします。
256 :
224 :2007/04/06(金) 08:19:51
>>225 ありがとうございました!
本当助かりました
257 :
222 :2007/04/06(金) 08:24:26
聞き方が悪かったです。 左へいく場合マイナスになるじゃないですか、 そうさせずに右にフィルするのと同じように 1 2 3 4 ・・・ のようにするのはどうしたらいいですか?
>>257 おまえのやろうとしてる事に必然性を感じられない
どう云う場面でそんな操作が必要になるのか具体的に説明してみな
259 :
名無しさん@そうだ選挙にいこう :2007/04/06(金) 08:59:05
>>257 普通に
0 1 2
と入力して、0と1だけ選択して左方向にドラッグすればいいんじゃない?
最初の1回だけルール教えてあげればおk
260 :
名無しさん@そうだ選挙にいこう :2007/04/06(金) 10:09:04
エクセル で、図形とかに入力した文字列を、検索するにはどうしたらいいですか? 探したら、なんか方法があるあるみたいですが、これがシェアウェアで6800円!(w。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 誤差範囲 エラーバー Excel2007 Excel2007の散布図で、X・Y軸それぞれに指定の誤差範囲(エラーバー)をつけたいのですが、 以前のバージョンのように、X軸誤差、Y軸誤差のように項目がなくて困っております。 縦軸(Y軸)誤差は指定できるのですが、X軸方向の指定方法がわかりません。 どなたかご存知の方御助言をいただければと思います。
>>260 VBAで図形のコレクションにループ処理で検索できるんじゃない?
難しすぎるとか、時間がないとかだったら6800円払ったほうが早いかもね。
263 :
248 :2007/04/06(金) 16:00:44
すいません。再度質問です。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excelxp 【3 VBAが使えるか .】 不可 【4 VBAでの回答の可否】 できれば不可 √a で表された数を、b√c にしたいのですが、 丁度いい関数などありませんでしょうか? 実際に√で表しているわけではなく、あるセルに√の中身にあたる数があり、 それを別の2セルにbとcとして出力したい、ということです。 例) A1 B1 C1 50 5 2 のような感じです。√50→5√2のような意味合いで・・・。 ヘルプを見ろ、とのことでしたが、キーワードで検索してみてもうまく引っ掛かりません。 キーワード的には素因数分解、因数分解、ルート、平方根などです。 キーワードだけでも結構ですので、どなたかご教授お願い致します。
265 :
248 :2007/04/06(金) 16:22:04
>>264 いえ、手動で素因数分解することとルートを変換することは可能なのですが、
エクセルの関数としてどう表現するのかよくわからない、ということです。
よろしくお願い致します。
たとえばB1に =MAX((ROW(A:A)*ROW(A:A)<=A1)*(MOD(A1,ROW(A:A)*ROW(A:A))=0)*ROW(A:A)) としてCTRL+SHIFT+ENTER この例はものすごく遅いけどね
>>266 MathematicaLinkForExcelを使えば…(嘘。
降参するんでその関数の意味を説明プリーズ。
268 :
267 :2007/04/06(金) 19:49:35
理解した。勉強になった。ありがとう。
269 :
名無しさん@そうだ選挙にいこう :2007/04/06(金) 20:48:47
▼━質問テンプレ ━━━━━━━━━━━━━━━━ 【1 OSの種類 .】 WindowsXP SP2 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel Webクエリ データ 取り出し 高速化 形式 指定 他 Webに吐き出される10000行*20列程度の表がありまして そのデータをそのままExcelに移動したいのですが1時間以上かかってしまいます。 原因はおそらく上の表のうちの2列のデータに存在するリンクだと思うのですが(画像等は無い) リンク等を無視して取り出すことはできないでしょうか? テキストで取り出そうと思ったのですが表組みが複雑な為、崩れて修復不能な雰囲気になります。 ご回答下さると助かります。
270 :
名無しさん@そうだ選挙にいこう :2007/04/06(金) 21:45:14
【1 OSの種類 .】 WindowsXP 2000 で動作希望 【2 Excelのバージョン 】 Excel2000 2002 2003 で動作希望 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 マクロ 削除 vBComponents.Remove ブックを保存する前に、”シートマクロのみを削除する”方法を探しています。 「マクロ削除のマクロ」は結構見つかったのですが、モジュール削除であったり、 ブック全体のマクロ削除であったりで、シートマクロのみを削除する方法が見つかりませんでした。 ThisWorkbookやModule1マクロはそのままで、 シートマクロのみを削除する方法をお教えください。
271 :
名無しさん@そうだ選挙にいこう :2007/04/06(金) 23:48:47
ヒストリー・センターで15分足とかダウンロードすると、十数万行のデータになるんですけど エクスポートしたファイルを開くのに皆さんはどうしておられるのでしょうか? 僕はExcel2000とOpenOfficeしかないので、6万行ほどしか表示できません。
272 :
名無しさん@そうだ選挙にいこう :2007/04/06(金) 23:59:34
↑ すんません。 誤爆です。
>>269 テキストにコピペ→httpを置換→Excelへコピペ
274 :
222 :2007/04/07(土) 00:32:36
>> 259 マイナスにしかなりませんでした。
2 1 として
>>275 の方法でできるじゃん。
十字を左に引っ張れば
最近は応用力の無い奴が増えてる様な気がする。
ゆとり世代って言うんだよね ゲームを買っても自分で問題を解くこともなく、攻略本で他人のプレイを辿って行くだけのは何て言ったっけ。 あれと同じ気がする。
>>264 の阿呆っぷりに苦笑い
何を偉そうに勘違いトークを炸裂させてるんだか
281 :
名無しさん@そうだ選挙にいこう :2007/04/07(土) 09:21:04
>>262 定理1
たったそれだけの為に6000円も払う馬鹿は存在し得ない。
282 :
PC初心者 :2007/04/07(土) 09:34:45
はじめまして、PC初心の者です。 官公庁等からもらってきた申請書にパソコンを使って、金額や日付を 入力してプリント出力したいと考えています。 なにか、フリーソフトでそのような文字埋め込み機能があるソフトはないでしょうか? あれば是非、教えてください。 宜しくおねがいいたします。
283 :
PC初心者 :2007/04/07(土) 09:36:52
すみません。記載が漏れていました。 使っているOSはWindows2000です。
↑
「氏ね」は必要ない、ガキが面白がって使うんじゃねぇ
>>282 その昔「文字ピタ」なんてソフトがあったが、その辺りでググれば
なんにしろ、スレ違い
ぴったん♪たんたもじぴったん♪
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel 2000 【3 VBAが使えるか .】 初心者 【4 VBAでの回答の可否】可 セルにチェックボックスを入れて、クリックしたらチェックマークが入るようにするには どうしたらいいですか?初心者的な質問ですが、よろしくお願いします。
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel97 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 セル 範囲 選択 グローバルオブジェクト グラフのマクロを作っているんですが、IFでtrueの場合作成するようにします そしてグラフの元データ範囲を変数から取得させたくてまずRange("A1:B2")の部分を Range(Cells(1, 1), Cells(1, 1)).Select に変えた所「cellsメソッドは失敗 しました globalオブジェクト」と出ます。アドバイス下さい。
289 :
289 :2007/04/07(土) 14:45:23
If Range("K1") = "A" Then ActiveSheet.ChartObjects.Add Left:=0, Top:=0, Width:=300, Height:=200 ActiveSheet.ChartObjects(1).Activate ActiveChart.ChartType = xlLine ActiveChart.SetSourceData Source:=ActiveSheet.Range("A1:B2") ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1" With ActiveChart .HasTitle = True .ChartTitle.Characters.Text = "a" .Axes(xlCategory, xlPrimary).HasTitle = True .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "a" .Axes(xlValue, xlPrimary).HasTitle = True .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "a" End With With ActiveChart.Axes(xlCategory) .HasMajorGridlines = True .HasMinorGridlines = False End With With ActiveChart.Axes(xlValue) .HasMajorGridlines = True .HasMinorGridlines = False End With ActiveChart.HasLegend = False Else Range("K2") = 0 End If End Sub
Range(Cells(1, 1).value & ":" & Cells(1, 1).value).Select ってしたいってことかな。 おかしい箇所がわかってるならブレークポイントと イミディエイトウインドウの使い方学んだ方がいいかと。
>>289 下の2行をはじめに書いてifの前に書いて
Dim sh As Range
Set sh = ActiveSheet.Range(Cells(1, 1), Cells(3, 2))
ソースのところをshに書き換え。
ActiveChart.SetSourceData Source:=sh
この場合、Set出来てなかったからエラーが出た。
>>290 ブレークポイント等の使い方の問題じゃないだろ
292 :
289 :2007/04/07(土) 17:39:10
携帯からすみません。 要はセルの範囲をA1方式からR1C1方式にしたいんです。 そうすればグラフ元データの範囲に変数でセルの位置を代入できますよね? それで単純に変換したらエラーが出てはまってます。
293 :
名無しさん@そうだ選挙にいこう :2007/04/07(土) 18:16:24
テ、テストw
294 :
名無しさん@そうだ選挙にいこう :2007/04/07(土) 18:25:37
表の中のデータを集め鯛のです。教えてください。 8 3 7 これらの中の未入力部分が10数行に渡り、数字だけを並べる方法がワカリマセンw データの表以外のとこに表示しようと思ってますです。
並び替えしたらイイやん
297 :
294 :2007/04/07(土) 18:48:16
>>295 −298さん
半年ぐらいやってるけど自動計算で済ませ鯛。ピチピチ☆
クアシイ人お願いします。
半年じゃ無理だろ。一年くらい寝かせて味が出てくるもんだよ。
>>289 試してから物いえよ。
cellsに変数入れれば好きなように弄くれるだろ。
>>297 ピチピチじゃねーよ!可愛く書けば優しく教えて貰えると思うんじゃねー!
自動化させるならVBAしかないじゃないか?
どこどこの範囲の計算結果をどこへ出すようにしたいとかもっと詳しく書け
>>296 お前よりも詳しい奴がほとんどだから心配するな。
303 :
名無しさん@そうだ選挙にいこう :2007/04/07(土) 21:37:36
もぉグダグダ
あるセルの数値が一定数以上になったらあるマクロを実行するにはどうしたらいいのでしょうか (たとえば、A1のセル値が10以上になったらマクロ1実行)
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 VBA マクロ 実行 あるセルの数値が一定数以上になったらあるマクロを実行するにはどうしたらいいのでしょうか (たとえば、A1のセル値が10以上になったらマクロ1実行)
Worksheet_Changeイベントなどで監視して自前で呼び出す
>>307 やはりマクロ内でプログラムを組み込んでおこないと無理ですか
そうしておこないと無理だと思います。
310 :
名無しさん@そうだ選挙にいこう :2007/04/08(日) 03:42:13
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】駄目 【4 VBAでの回答の可否】 駄目 【5 検索キーワード 】”名前” =SUM(IF(A1:A5=”12345”)*(B1:B5=”5001”)、C1:C5)) =SUM(IF(A1:A5=”りんご”)*(B1:B5=”バナナ”)、C1:C5)) 上の配列数式は×で、下の配列数式は○なんだけど、 ”名前”に数字って駄目なの?
>>310 その数字は文字列なのか?
数字なら""はいらないんじゃね
312 :
名無しさん@そうだ選挙にいこう :2007/04/08(日) 04:24:26
>>311 文字列です。
なるほど、数字に””はいらんのね。
失礼しました。
いや、数字が文字列として入力されてるなら""はいるよ
314 :
名無しさん@そうだ選挙にいこう :2007/04/08(日) 05:03:59
エクセル2003で質問です 写真を貼り付けた時に、指定したセルの範囲に自動でサイズが変更するようにしたいのですが可能でしょうか? また可能であれば方法を教えてほしいです
315 :
名無しさん@そうだ選挙にいこう :2007/04/08(日) 07:19:09
www ってどんな意味ですか?
316 :
名無しさん@そうだ選挙にいこう :2007/04/08(日) 09:21:02
エクセルに画像を挿入。その画像の一部を元画像内に拡大して表示したいんだけど。やり方分かんないんで、教えて神!
317 :
名無しさん@そうだ選挙にいこう :2007/04/08(日) 09:31:03
>>316 団塊世代のジジィみたいに
「コンピューターなのに出来ないの!」
「コンピューターはなんでも自動で出来ちゃうんだろ」
なんて言わないでね
318 :
名無しさん@そうだ選挙にいこう :2007/04/08(日) 10:03:22
よく分からんけどカメラ機能?を使えば出来るのではないかと。図(画像)の一部を切り取って元画像に張り付ければ… それのやり方がわかんねぇんだ。
319 :
名無しさん@そうだ選挙にいこう :2007/04/08(日) 10:50:13
VBAのコードを記述する部分がおかしくなったので質問させてください。
非常に説明しづらいのですが・・・
1.VBAで日本語入力する際、入力できない(=表示できない)文字が出ます。
2.その文字は決まっており、かなり多く存在します。(例:ラリルレロは全て無理)
3.テキストエディタ等に不具合部分をコピー後貼り付けて確認すると、まともに表示できます。
4.逆にテキストエディタで正しく入力したものをVBAエディタに貼り付けると、先ほどの不具合が出ます。
5.直入力の場合は特定文字は全て、エディタからの貼り付けの場合は文末のみで不具合が出ます。
6.不具合の内容は特定の文字を入力すると、表示されないもしくは"・"で表示されます。(例:マクロ→マク)
7.不具合が発生するよりかなり以前に作成したものを確認しても表示に不具合があります。
8.ExcelだけでなくOfficeをアンインストールし、再インストールしても同じ結果でした。
9.エクセルのバージョンを2000から2003に変更しても同じ結果でした。
非常にわかりづらくて済みません。
おそらく再現できなければ回答もしづらいかと思いますが、もし前例等がありその解決策を
ご存じであればよろしくお願いします。
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2000 2003
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 ラリルレロ VBA
検索によりヒットした近い事例(下の掲示板の”[B] BASP21で文字化けするんですが・・・。”の投稿 )
ttp://www.bea.hi-ho.ne.jp/byoko/bnewslog23.html
>>319 フォント周りの問題かな。VBEの[ツール]-[オプション]で[エディタの設定]でフォントを確認。
そのフォントが壊れているのかもね。
まず、メモ帳のフォントをそれにかえてチェック おかしくなったらフォントキャッシュのクリア メモ帳では正常に表示される場合はもうOSから再インストール
322 :
名無しさん@そうだ選挙にいこう :2007/04/08(日) 11:04:49
>>320 なるほど。そんな項目もあったのですね・・
ちなみに今試してみたのですが、やはり無理でした。MSゴシック→MS明朝
他では問題ないんですがねぇ。
困りました。
323 :
名無しさん@そうだ選挙にいこう :2007/04/08(日) 11:15:41
教えてください 技術的な相談ではないのですが、エクセルとワード、用途を明確にしたいのです。 うちの会社は、何でもかんでもエクセルを使う。 見積書も、請求書も、報告書も、依頼書もすべて。 確かに、数字を記入するものについては、関数を用いるのであれば、必要かと。 でも、関数など使わない。 皆さんはどうですか?何でもかんでもエクセルですか?
>>316 挿入したのコピーして、トリムして拡大かなあ?
マクロだとこんなかな?
'そーにゅー
Set pic = ActiveSheet.Pictures.Insert("unko.jpg")
'コポー
Set p = pic.Duplicate
'調整
With p.ShapeRange
'切り取り
.PictureFormat.CropLeft = 40
.PictureFormat.CropTop = 40
.PictureFormat.CropRight = 150
.PictureFormat.CropBottom = 80
'拡大
.ScaleWidth 1.5, msoTrue
.ScaleHeight 1.5, msoTrue
'位置調整
.IncrementLeft 30
.IncrementTop 30
End With
位置や場所は適当に変えて
>>314 手作業でやるなら、[Alt]キーを押しながら画像を移動させたり
拡大/縮小させるとセルに沿って変形するよ。
マクロなら、こんなかな?セルB4にフィットさせる例。
Set pic = ActiveSheet.Shapes("画像名")
'読み込みもマクロでやるならこんな
'Set pic = ActiveSheet.Pictures.Insert("unko.jpg")
Set r = Range("B4")
pic.Top = r.Top
pic.Left = r.Left
pic.Width = r.Width
pic.Height = r.Height
328 :
名無しさん@そうだ選挙にいこう :2007/04/08(日) 11:47:09
そんなスレいらねぇ ↓ここで十分 【質問不可】Excel総合相談所スレの雑談・議論スレ2
そうでもないか
>>322 Excel2000あたりだったと思うけど、たしかVBEのフォント周りで妙な不具合が
あったことがあったと思う。いきなり変なフォントで表示されてるとか。
サービスパックをきちんと当てればその不具合は解消されたと思うけど、
ちょいと手元に情報がないや。
MSのサイトで調べてみるとなんか情報あるかもね。
332 :
名無しさん@そうだ選挙にいこう :2007/04/08(日) 15:21:43
フォントキャッシュが壊れているだけかもな
どう考えても文字コードだろ。 フォントもそこら中で使われているフォントで、MSゴシック→MS明朝で駄目だったんだろ? フォントキャッシュも糞もねぇ。
ああ、そうだねえww えらいえらいwww
335 :
名無しさん@そうだ選挙にいこう :2007/04/08(日) 15:58:16
w これ何です?なんて読むのw
336 :
名無しさん@そうだ選挙にいこう :2007/04/08(日) 15:58:50
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel*2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可・否 【5 検索キーワード 】 保存名 日付 ファイル 質問です。今、日報を作ってます。たとえばA1のセルに日付を入力して保存したときに、ファイル名にA1で入れた日付が 入るといいなと思ってるんですけど、そんなこと出来るんでしょうか やりたいイメージとしては今なら「2007年4月」というフォルダを作って、毎日、日報を書いたらそこに保存していきたいんです。
「そんなこと出来るんでしょうか」の回答としては、 「できる」が回答。 ただし、VBAマクロは必須だろうけど。
338 :
336 :2007/04/08(日) 16:13:29
>>337 やり方をおしえてもらえないでしょうか
VBAマクロは今は使えませんが検索したりして使ってみたいと思ってます
>>333 可能性としてお前の意見を検証するのは充分ありだが、推論の域を出ない話を
「どう考えても」とか平気で吠えちゃうような思いこみの強い阿呆は、いつまで
経っても仕事を片づけられない出来損ないがやたらと多い。
341 :
名無しさん@そうだ選挙にいこう :2007/04/08(日) 16:58:32
いや、現象を見るに文字コードなわけがないんだが どうやったらそういう結果に行きつくか興味あるよな
>>338 手取り足取り説明するのも面倒なので、超シンプルな例を作ってみた。
http://www4.uploader.jp/dl/musashi/musashi_uljp00577.zip.html (パスワード:pass)
ファイルをダウンロード&解凍した後の動かし方
@解凍した「日報テンプレート.xlt」をダブルクリックで開く
AA1セルの日付を適当に編集する。
Bsheet1シートの「保存」ボタンを押す
→ファイルが
C:\temp\YYYY年MM月\日報-YYYY年MM月DD日.xls
という名前で保存される。
※保存先のフォルダを変更したい場合:
Module1のBASE_DIR、SAVE_DIRを適当に書き換える。
※保存先ファイル名を変更したい場合:
Module1のSAVE_FILEを適当に書き換える。
UPしたファイルはあくまでサンプルなので、これをそのまま使おうと
思わないように。かなり適当に作ってある上に、エラーハンドリング等も
何も考慮してないので、全く実用には堪えないはず。
VBAの使い方、編集方法等については回答する気はないので、独学でよろしく。
343 :
名無しさん@そうだ選挙にいこう :2007/04/08(日) 18:28:56
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 個人番号 呼び出し 表1で A氏ー001 B氏ー002 C氏ー003 と登録 その数字を表2に打ち込むと、表2と同様の枠組みで作った表3に数字に対応した名前が表示されるようになる方法を教えていただきたいのですが、どなたかご存知ないですか?
ふつーにvlookupでいいんでね?
すいません質問です 会社で使ってたoffice xp パーソナルなんですが、ソフト整理のときに貰ってきました。 で、会社でもまだそのプロダクトキーで使っているPCPCがあるんですが、自分のPCでエクセルのライセンス認証をしたら、 出来たんですよ。。。 普通は、2台目は出来ないんですよね? 先日、OSを入れなおしたので、今日またライセンス認証を同じキーでしたら 認証出来たんですが、使ってて大丈夫でしょうか。。。
346 :
名無しさん@そうだ選挙にいこう :2007/04/08(日) 20:06:27
エクセルにカメラ機能が付いてますよね。デジカメで撮った画像の一部だけをそのカメラ機能を使って範囲を指定して撮してセルに貼る事は普通に出来るですか?くだらん質問でスマソ
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 条件付き書式 質問です。よろしくお願いします。 年間のスケジュールを作っています。A列に日付、B列に業務内容を入力しています。 土日・祝日の行には、色を付け、また、B列の業務内容は基本的には入れていません。 しかし、変則的に入ることもあります。 この状態で、急な変更があって業務をスライドさせる(セルの挿入・削除)と、 月曜の内容が、日曜に食い込んでしまったり、金曜の内容が土曜の内容になって しまったりします。 土曜・日曜・祝日をうまくよけながら、スライドできる方法はないでしょうか? うまく、説明できてないかもしれませんが、よろしくお願いします。
>>346 できません。
普通に画像貼ってからトリミングするしかないです。
>>347 行ごと挿入or削除すれば良いのではなくて?
質問の意図と違う答えだったらスマソ。
>>347 VBAならA列の色で判断して出来そうだが、VBAでの回答のが否なので、手動でシコシコやってください。
>349 1行消してしまうと、特定の曜日がなくなってしまいまする。 >350 土日の行には入力されずに、よけるというのはなかなか難しいのですね。 ありがとうございました。シコシコシコシコ
sageってなんか意味あるんですか?
>>345 犯罪報告はスレ違いだ。
とっとと警察にでも相談してきなさい。
>>353 普通は認証されないようなので、自分が所持してるのは複数のPCで認証できるタイプのものなのかな?と思ってたので質問しました
少しだけ使ってたけど、次も認証できて不安になりました
355 :
名無しさん@そうだ選挙にいこう :2007/04/08(日) 23:34:15
12-18 19-22 のように入力したデータがあって、 エラーが左上隅に出るセルと出ないセルがあるんですが 違いはなんですか? セルの書式設定でどちらも文字列で MSPゴシックなどであることは確認したんですが・・
>>354 だからさ、「スレ違い」だって言ってるの、理解できないか?
>>356 残念ながら犯罪者に日本語は通じないみたいだ。
総合のスレでしょ?だから書き込んだんですけど? インストールに関することはだめって書いてありますか? 同じようにしたい人がいたら、出来るよとかそういう意味で書き込んだんでもない 本当はつかっちゃだめなのなら、アンインストールしようかなと思ってきいてみたまでです。 自分がここで書き込んでも、嫌な気分になる方も多いでしょうし、 自分もあなたに聞きたくないので去りますわ。
Officeの話じゃなく?
>>355 たぶん日付と見做せるものと
見做せないものの違いかと
12-18 は 12月28日を意味します
>>355 12-18 日付と見做せる(12月18日)
19-22 日付と見做せない
って違いかな?
>>358 Excel総合だからOfficeはスレ違いと言っているのが理解できないのか?
自分かんけいないけどさあ、スレ 違いくらいでそんな文句口調にならんでも・・・
認証画面はエクセル開いてもでるしね。
もうちょっと普通にいえばいいじゃない
>>358 認証の取り消し作業はしてないってどっかのスレで見たな〜。アンインストールで認証取り消しとおなじみたく書いてあった
心配ならマイクロソフトに電話してきいてみたら?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 EXCEL VBA マクロ 文字列 結合 Cells(1, 2) = "=COUNTIF(C[-1]," & Cells(1, 32) & ")" これが通りません 正しい記述を教えてください よろしくお願いします
366 :
365 :2007/04/09(月) 00:57:20
すまんミスった どう入るようにしたい?
368 :
364 :2007/04/09(月) 01:11:51
>>365 レスありがとうございます。
VBA実行中にはじかれるので
おっしゃっている意味がよくわからなかったため、
&を使わずに直接書いてみると正しくない数式だといわれました
Cells(1, 32) には文字列が入っていて
それがエラーの原因でした
"=COUNTIF(C[-1],"" & Cells(S2縦行管理, 32) & "")"
でいけるようです
すみませんでした
ありがとうございました
>>368 いやVBA実行してからじゃなくてさ
実際のワークシート上のB1に入る式はどう入るようにしたいの?
それを聞きたい
370 :
364 :2007/04/09(月) 01:27:42
>>369 レスありがとうございます
369のレスを踏まえて見返してみると
希望通りの式が入っていませんでした…
Cells(1, 2) = "=COUNTIF(C[-1],"" & Cells(1, 32) & "")"
と書くと
=COUNTIF(C[-1]," & Cells(S2縦行管理, 32) & ")
こう入っていました
希望のB1式は
=COUNTIF(C[4],"11432.ZX")
です
11432.ZXはCells(1, 32)に入ってます
よろしくお願いします
371 :
名無しさん@そうだ選挙にいこう :2007/04/09(月) 01:47:54
>>348 トリミングの意味がわからんかったけど、ググったら分かりました。レスありがとう。
すいません
当方の書き込みがむちゃくちゃです
B1に入れたい式は
=COUNTIF(C[-1],"11432.ZX")
です
11432.ZX
はCells(1, 32)に入っています
よろしくお願いします
>>367 レスありがとうございます
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 IF文で、午前9:00〜午前11:00だったら、A3*C3 という計算式を作りたいのですが、午前9:00〜午前11:00を計算式で表現できないので 教えてください。
>>373 こんなんでどう?
=IF(AND(A1*24<=11,A1*24>=9),A3*C3,"")
>>373 ANDを使って午前9:00〜と〜午前11:00を書けば良いです
>>374 >>375 早速のレスありがとうございます。
A1は、現在時刻だと思うのですがNOWじゃダメみたいです。
何を入れれば宜しいでしょうか?
>>376 条件になかったから時間はA1セルへの手入力しか想定してなかった。
現時点の時間で判断なら
A1=TEXT(NOW(),"h:m:s")
で良いはず。
>>377 ありがとうございます。
大変勉強になりました。
=IF(AND(HOUR(NOW())>=9,HOUR(NOW())<=11),A3*C3,0) で駄目?
>>379 ありがとうございます。
私が一番求めていたものです。
HOUR(NOW()勉強になりました。
381 :
名無しさん@そうだ選挙にいこう :2007/04/09(月) 15:23:07
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 はい(ほんのちょっと) 【4 VBAでの回答の可否】 可 A列のセル値*+.txtがあるフォルダに存在する場合のみ そのテキストファイルを別フォルダに移動するには? よろしくです。
382 :
名無しさん@そうだ選挙にいこう :2007/04/09(月) 17:00:14
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 office2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 不可 A列には8桁の数字があり、その数字の末尾が担当者を表します。 B列、C列にもそれぞれデータが入っています。 200行くらいあります。 担当者ごとにデータを3列ごと抜き出してそれぞれ新しいシートに 抜き出したいですが、どのようにすればよいか分りません。 よろしくお願いいたします。
>>382 文字列ならRightで末尾だけ取り出せるし
数字なら10で割ったあまりで末尾が取り出せる
取り出した末尾でフィルタ
>>382 IF関数でやるか、データを1列にまとめるか分けるかしてフィルタ掛けるかお好きなように。
IF関数でやる場合は、IF関数だけだと抜き出したデータに隙間が出来ることになるから
上詰めしたければ式を値に書き換えてソートするとか、過去ログに書いてある上詰め式を使うかで対応しな。
385 :
382 :2007/04/09(月) 17:17:25
386 :
名無しさん@そうだ選挙にいこう :2007/04/09(月) 17:55:36
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 Datedif Excel
A1に生年月日を入れて年齢を求めるサンプルで=DATEDIF(A1,TODAY(),y)としました。
しかし、Excel2007ではこれではだめなのですか?
検索で見つかったのはこれでしたが、直接入力してもだめでした
http://support.microsoft.com/kb/414668/ja
>>386 =DATEDIF(A1,TODAY(),"Y")
だと思う。
388 :
386 :2007/04/09(月) 18:23:10
389 :
386 :2007/04/09(月) 18:27:30
あ、すいません出来ました。 表示形式が・・
390 :
270 :2007/04/09(月) 20:25:35
>>270 どうでしょうか?もしご存じの方がいれば・・
391 :
名無しさん@そうだ選挙にいこう :2007/04/09(月) 20:31:00
あのさ、おれも君たちの大嫌いな在日だが。在日3世。 別に嫌われようがこっちはどうでもいいよw 日本という国における「楽して稼げる職業」は在日・帰化人が握ってるし(笑) 脱税もしまくりで、相続税も免除なのよw。闇口座も仮名で作り放題w。 世代を経るにしたがって金が増えてく寸法さw。パチンコ、サラ金、日本の長者番付にのってるのは在日なんだよw。 金あるから在日でも日本人女とやりまくり。さらにはレイプしても全然バレないw あと数年で日本の参政権も取得できるし(爆) 既得権益最高! 俺達はもうお前達みたいに毎日毎日職業とか将来とか金の心配なんかしなくていいんだよw バックに朝鮮総連や創価学会がついてるし、働かなくても行政から月20万の金入ってくるしねw 今俺達が考えてるのはもっと大きいこと。 いかにしてこの日本という国をボコボコにいじめ抜いてやるか、ってこと。 つまり、日本の中に、俺たち朝鮮人、韓国人の血を増やして在日を増やす。 んで日本人を少数派にしてその日本人をいじめたおす。んでこの国を乗っ取る。 今はもうその最終段階に入ってるわけ。 平和ボケした危機感ゼロのお間抜け日本人は気づいてないがw 例えば韓流ブーム。あれは在日が作ったって知ってる? あれだけ大規模なブームを作れるくらい、もう日本の中で在日の力は最強なんだよ。 自分達を地獄に導いてるとも知らずに毎日毎日テレビで韓国をヨイショしてくれる日本人w 韓流ブームのお陰で在日や韓国人へのマイナスイメージがプラスイメージになった。 そして日本人が韓国人や在日と結婚する数も圧倒的に多くなった。 つまりもうあと30年で日本は完全に在日主体の社会になるよ。 たった100万人に満たない在日に使われる1億人の日本人w お前ら糞日本人に一生地獄の生活を見せてやるよw どう?ムカムカする?(爆) でもせいぜい今みたいに2ちゃんで数十人ぐらいがチョン死ねって言うぐらいだろうね(爆)
この↑痛々しい書き込みはドコの誤爆なんだろう?
>>392 コピペを適当に貼りまくってる馬鹿なんだからスルー汁
>>390 With ActiveWorkbook.VBProject
For i = 1 To .VBComponents.Count
If .VBComponents(i).Name = "Sheet1" And .VBComponents(i).Type = 100 Then
With .VBComponents.Item(i).CodeModule
.DeleteLines 1, .CountOfLines
Exit For
End With
End If
Next i
End With
>>394 通りすがりですが・・・。
こんな事も出来るんですね!!
質問です。範囲選択でコピーしたシート内の表を別のBookのシートに縮小して張り付ける方法がありますか?教えて下さい。
>397 別シートに張り付けたい表を小さくしたいんです。縮小と違ったらスマソ
>399 即レスどうも。カメラ機能を使ったら解決しました。スマヌ
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 電話番号 0から始まる エクセルで名簿みたいなのを作りたいのですが, 電話番号の始めの0の値が無視されてしまいます. 入力を文字列にしてもダメですし,, このような場合はどうすればよいでしょうか? よろしくお願いします.
>>401 セルの表示形式が「文字列」になってれば、0が消えるのは考えににくいんだけどね。
とりあえず、数字の前にシングルクオート「'」を書けば、続く文字は入力したとおりに
表示されるのでお試しあれ
例:03→'03
403 :
名無しさん@そうだ選挙にいこう :2007/04/10(火) 09:46:53
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル 図面作成 仕事でエクセルを使って簡単な図面を作ってるんですが オートシェイプではなくて、直線を繋ぎ合わせて作った形をを、一つの図形と認識させて 色の塗りつぶし等できるようにする方法はありませんか? 会社のPCにCADソフトが無い為どうしてもエクセルで作らなければいけないんですが オートシェイプだと立体をつくるのが上手くいかなくて。
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 char code 例えば char(31854) と char(38700) は両者とも計算結果が K になります。 ちなみに code(K) は 38700 なので前者は間違えのよう。 気になって全コード調べてみたら似たような現象が2000以上あるのですが char関数には扱い上の注意が必要なのでしょうか?それともバグ?
>>403 エクセルでは直線もオートシェイプの一種。などというツッコミは置いといて。
これまたオートシェイプの一種だけど、フリーフォームってやつを使うくらいしか
ないような気がする。終点でダブルクリックすれば閉じた図形になる。
>>404 31854は本当は何ですか?
実は K じゃないですか?
407 :
名無しさん@そうだ選挙にいこう :2007/04/10(火) 11:08:20
ハイパーリンクで他のファイルのシート指定、セル指定は どのように設定したらよいですか?
>>406 31854 = 0x7C6E
は未定義のようです
410 :
名無しさん@そうだ選挙にいこう :2007/04/10(火) 11:48:03
>>405 それでやってみたら上手くいきそうです
ありがとうございました!
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Excel csv 変換 Excelにてネットからダウンロードしたcsvファイルを開き、編集、保存したところ、 以下のような変更を勝手にしてくれます。 "hoge", "", "", ""(行末) <のような項目が保存後 "hoge"(行末) <となる。 該当部分は編集を加えていません。 発生しないようにする方法はありますでしょうか?
412 :
270 :2007/04/10(火) 20:42:55
>>394 ありがとうございます。
シート1のマクロが無事に消えました。
このマクロをbefore saveイベントで動かそうと、
そのままSheet2、Sheet3・・・・Sheet20の分までマクロのコピペで対応したのですが、
やはりスマートではなく、サイズが大きくなってしまいました。
このマクロを、シート数不明のブックでも使えるようにするにはどうすればよいでしょうか?
どうぞよろしくお願いします。
そのくらいは自分で書き換えようよ。 というか固定環境で使うならブック毎に置く必要すら無いじゃん。 個人用マクロブックとかから使えばいいだけだし。
そうでもないか
【1 OSの種類 .】 WindowsXP Home 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 配列数式 データ範囲 excelは基礎的な関数がわかる程度で、配列数式は理解しきれていない感じです。 現在、業務で行単位でデータを投入し、他のシートで集計をかけています。 集計は配列数式とcount()を使って自動で計算しています。 データがある行のみを配列数式のデータ範囲として指定したいのですが、 どうすればデータ範囲をデータがある行数に応じて変更させられるでしょうか? 集計をかける値が多いので、自動で変更したいのですが。 よろしくお願いします。
'A2:A3 {=SUM(INDIRECT(A1)*INDIRECT(A1))} こんな感じ?
>>416 =SUM((INDIRECT("A1:A"&COUNTA(A:A))<=5)*INDIRECT("B1:B"&COUNTA(A:A)))
とかで、一応いけますが、
重くなるので、
マクロの記録で、
挿入 名前 作成 上端行
とかで、名前管理するほうが、いいのではないかと思われます^^;
419 :
418 :2007/04/10(火) 23:29:54
あ、挿入の前に CTRL+Shift+:で、 カレントリージョン(テーブル)選択が必要だった^^;
420 :
名無しさん@そうだ選挙にいこう :2007/04/10(火) 23:39:07
VBAって何ですか?釣りじゃありませんから。
422 :
名無しさん@そうだ選挙にいこう :2007/04/11(水) 00:36:28
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 うーん? =IF(K14="B",L14,"") セルにこの計算式を入れるとK14がBの場合にL14の数値が表示されます。 0(ゼロ)だけは表示したく無いので、どの様にすればいいでしょう。 教えて下さい。
423 :
名無しさん@そうだ選挙にいこう :2007/04/11(水) 00:50:17
>421 >ググれタコ は? 言い方きをつけろ!
>>422 セルの書式設定で表示形式のユーザー定義を選んで
「#」にする
425 :
名無しさん@そうだ選挙にいこう :2007/04/11(水) 01:17:46
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 日数 質問です。 期限日数についてです。 1から31日までシートがありリンクしています。 Todayで比較して期限内なら可と表示しますが、 期限を過ぎた日にリンク開くと日数の変動に左右される ことなく可を保持することはできますか?
TODAYと比較して動作を決定しているなら結果はTODAYによって変動する 常に可と出したいなら可と書く
427 :
422 :2007/04/11(水) 05:57:23
424さん、ありがとう 問題解決しました。善い朝を向かえることができて嬉しいです。 早起きは3文の得ですね!!
428 :
名無しさん@そうだ選挙にいこう :2007/04/11(水) 07:34:27
>>425 >期限内なら可
>期限を過ぎても可
???なんだそりゃ、いつ不可なんだよ???
> 1から31日までシートがありリンクしています。 > Todayで比較して期限内なら可と表示しますが、 この2行で日本語が破綻している。
431 :
名無しさん@そうだ選挙にいこう :2007/04/11(水) 10:02:15
2003を使ってます。 初期設定の変更で文字の大きさを変えられることができるなら 最初から、セルの大きさを変えてしまうこともできるんでしょうか? セルの大きさをいじる方法は、テンプレートを作らないとだめですか?
>>412 VBProjectでシートモジュールのVBComponent名は、必ず"Sheet"x となる
Leftで切り出せばOK
おおもとの条件で
>>ThisWorkbookやModule1マクロはそのままで
とあるが、標準Moduleを挿入してModule2で動かすのは?
434 :
名無しさん@そうだ選挙にいこう :2007/04/11(水) 11:38:26
2003を使ってます。 DSUM関数の検索条件について教えてください。 検索条件を指定する表で、 A B C 1 仕入先 商品 金額 2 甲社 あめ 3 乙社 ごはん としています。 このとき、A社から購入したあめの金額合計はきちんと反映させられるのですが、 B社から購入したご飯の金額合計はエラーになるのです。 検索条件の指定範囲が飛ぶ場合、つまり上記のように A1からC1とA3からC3というような指定はできないのでしょうか? 甲社、乙社それぞれ別のセルに複数の条件(3つが最高) に見合った金額合計を表示させたいのです。 よろしくお願い致します。
お尋ねします。Excel2003使ってます。 各ワークシートのインデックス番号を、そのシートに表示させる方法って無いでしょうか? ググって見たりしたのですが、「アクティブなシートの」っていう例ばかりで、うまくいきません。 それだと再計算したら、そのときのシートのインデックス番号が、全シートに入っちゃいます。 それ以外だと、インデックス取得にシート名が必要だったり。(シート名はバラバラなのです。)
>>434 離れた位置のセルだと検索条件範囲に指定できなかったんじゃないかな?
ピボットテーブル作ってしまって、GETPIVOTDATA関数を使うのが、いちばん楽かな。
配列数式がわかればそっちでもいけないことはない。
437 :
名無しさん@そうだ選挙にいこう :2007/04/11(水) 12:58:01
>>435 VBA?
指定したセルのワークシートインデックス番号を取得
Function WsIndex(r As Range)
WsIndex = r.Parent.Index
End Function
439 :
名無しさん@そうだ選挙にいこう :2007/04/11(水) 14:49:54
【1 OSの種類 .】 WindowsXP Home 【2 Excelのバージョン 】 Excel 2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 関数 質問です エクセルで指定日がすぎれば、特定の列、行、セルにアクセス禁止設定はできますか?
440 :
435 :2007/04/11(水) 16:35:51
>>438 おお、できました。ありがとうございます。
再計算でもばっちりです。(当たり前ですね。)
なるほど〜。
ネットで調べてて「シート名任意なのにそれを指定させるとはどういう事やねん!」
って勝手に憤ってましたが、そのシート中のセルをキーに辿れば、シート名を指定
しなくてもシートが特定できるってわけですね。
441 :
270 :2007/04/11(水) 19:59:58
>>432 ありがとうございました。
上の条件でできました。すっきりしました。
442 :
名無しさん@そうだ選挙にいこう :2007/04/11(水) 20:40:13
443 :
名無しさん@そうだ選挙にいこう :2007/04/11(水) 20:49:05
エクスプローラーから保存しているエクセルファイルを読み込みできない。最初にエクセルを開いて[ファイル]→[開く]から保存しているファイルは読み込める。何で?誰か教えてください。
ツールオプション全般他のアプリケーションを無視するのチェック変更
445 :
443 :2007/04/11(水) 21:22:09
さんきゅうです
小数点以下二桁まで有効で3桁で切り捨てる方法はどうするんでしたっけ? 式で教示お願いします
>>446 例えば
=ROUNDDOWN(PI(),2)
449 :
416 :2007/04/11(水) 21:47:09
>>417 ,418
参考になりました。ありがとうございます。
なんとかできそうなのでがんばってみます。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 VBAでお願いします 【5 検索キーワード 】 VBA フォーム コピー a.xls に保存されているユーザーフォームを マクロを使ってb.xlsにコピーする方法はあるでしょうか? 普通のコードであれば、 標準モジュールじゃなくてシートにコード書いて、 シートをコピーすればいいのですが、ユーザーフォームは・・・? よろしくお願いします。
>>439 VBAでしか無理です。
基本的にVBAを使わずに自動計算で変更できるのはセルの値しかありません。(例外:条件付き書式 他何かあったっけ?)
あと、テンプレどおりに書いてるのに反応が悪いのは、
できるわけがないことを聞いてるのと(分からなくても仕方ないですが)
検索キーワードに自力で何とかしようと頑張った痕跡が見受けられないからだと思われます^^;
>>439 入力規則でユーザー設定で「=NOW()<DATEVALUE("2007/5/1")」で四月までなら入力おk
>451 撃 沈 ドッカーン
455 :
451 :2007/04/12(木) 08:03:27
>>439 嘘こいてすみませんでした orz
>>453 そんな使い方があったとはびっくりです。
非常に勉強になりました^^
なんかほかにも特殊な入力規則の使い方あれば
教えていただければ幸いですm(_ _)m、
500行近いデータがあって空白の行だけ削除する効率的な方法ありますか?
457 :
名無しさん@そうだ選挙にいこう :2007/04/12(木) 10:17:26
>>456 1. 編集/ジャンプ/セル選択/空白セル
2. 削除/上方向にシフト
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 EXCEL 関数 空白以外 列の一番下の空白以外のセルを検索・抽出したいのですが 良い方法はありますでしょうか? よろしくおねがいします。
>>459 値が数値のみなら
=MATCH(MAX(A1:A10)+1,A1:A10)
文字列もあるなら
{=MAX(IF(ISBLANK(A1:A10),0,ROW(A1:A10)))}
これで最終データがある行の番号が返るので、あとはお好きなように
462 :
名無しさん@そうだ選挙にいこう :2007/04/12(木) 19:48:19
>>453 ありがとうございます。
たとえば11日しか読めなくするようにしたかったのですが
いろいろ調べましたがわかりませんでした。
セルに入力した数値を読みに行くだけなので、
例=IF(today=today,1の処理,2の処理)
で工夫してみます。
【1 OSの種類 .】Windows XP 【2 Excelのバージョン】Excel2003 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】否 【5 検索キーワード 】Excel 縦 横 表示 とある一覧表のデータが存在するExcelを開きます。 あるセルにポインタを合わせた際に、その縦軸と横軸全体の色が変わるような設定ってできますでしょうか? 例:M18にポインタを置く→M列と18行全体の色が変わる/若しくは反転 お願いします。
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 少しだけです 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 日付 検索 1つの列に降順?(最新の順です)でならんでいる日付を その列内で年と月で検索して、列内の上側のセルを選択したいです。 例 列A 2007/1/20 2006/12/11 2006/12/3 2006/11/25 2006/11/3 例えば上の列では、列A内で"2006/12"で検索して、2006/12/11の セルを選択したいです。 findメソッドでなぜかうまくいくこともあったのですが、 大抵の場合うまくいきません。 どなたかご教授おねがいします。
【1 OSの種類 .】Windows XP 【2 Excelのバージョン】Excel2003 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】否 【5 検索キーワード 】条件 満たさない場合 A1/B1 結果をC1に。 (A1+A2)/B1 結果をC2に。 (A1+A2+A3)/B1 結果をC3に。 この数式を =SUM($A$1:LA3)/$B$1 で入力しているのですが A3が未入力の場合C3にC2までの結果が反映されて しまうのですがC3の表示を空白で返すことはできるのでしょうか? 文章下手ですいません。お願いします。 といった感じで
自分も初心者なんで、わかるやつだけですまんが、 >> =If(C2=""、""、計算式) あいもなからだとカンマ=改行だから、句読点ですまそ。
468 :
465 :2007/04/13(金) 13:33:58
>>466 試してみたのですがC2に数値が入っている場合は
やはりC3に反映されてしまいました。
>>466 C2の部分をA3に変更したら出来ました!
ありがとうございました!
A3が空白ならc3のセルに下の式じゃね =If(A3=""、""、計算式)
すいません。セル内に「枚」などをつけて SUMで計算したいのですが"枚"でくくっても計算してくれません。 どうすればいいのでしょうか?
472 :
名無しさん@そうだ選挙にいこう :2007/04/13(金) 19:53:01
>>471 表示形式で「枚」を付ければ数値だけになるから計算出来るんぢゃない?
・・・って質問はコレと意味が違うのか??
>>464 Sub てけとー()
Const first_row = 2
Const myclm = 1
Dim mysh As Worksheet
Dim tmp As String
Dim lc As Long
Dim mydate1 As Date
Dim mydate2 As Date
Set mysh = ThisWorkbook.Sheets(1)
tmp = InputBox("検索する年月を入力してください。", "条件入力")
mydate1 = DateValue(tmp & "/1")
mydate2 = mydate1 + 32 - Day(mydate1 + 32)
lc = first_row
Do While Cells(lc, myclm) <> ""
With Cells(lc, myclm)
If .Value <= mydate2 Then
If .Value > mydate1 Then
.Select
Exit Sub
End If
End If
End With
lc = lc + 1
Loop
MsgBox "見つかりませんでした"
End Sub
初心者ですが、営業資料の表を作ってるんですが、 セルの書式からユーザー定義で dd(aaa) として日付と曜日を表示させてるのですが、 例:12(木) 13(金) 14(土) と並んだセル内の木,金,土をそれぞれD,E,Fに簡単に置き換える事は出来るでしょうか? 月〜土をA〜Fで表示したいんですが。 アルファベットの場合、連続データとしてのコピーが出来ないようなので、 今は一つずつ手で打ち込んでいますが、調べてみたところSUBSTITUTE関数というのが見つかったんですが これでは指定範囲内(一ヶ月分)を一度に置き換える事は無理なようです。 エクセル2003を使っています。 よろしくお願いします。
476 :
475 :2007/04/14(土) 01:08:00
分かりにくい書き方になってしまいましたが、要するに 月→A 火→B 水→C 木→D 金→E 土→F と、置き換えたいです。 何かの関数(?)もしくは設定で、簡単に置き換える方法は無いでしょうか? 先ほどは書式を dd(aaa) の型で指定と書きましたが、置き換えが出来るようなら 特に拘らない(各セルに独立して日付と曜日を分けて入力)ことにしました。
>>476 検索値をTEXT(A1,"aaa")のような形にすればVLOOKUPで可能だろ
478 :
475 :2007/04/14(土) 01:54:06
>>477 お答え有り難うございます。
ただ、それだと本来の表とは別に参照する表を作っておかないとダメなんじゃないでしょうか?
VLOOKUP関数というのを調べてはみたのですが
正直、よく理解できていないのかもしれませんが…。
そうでないのでしたら、具体的に教えていただけないでしょうか?
本来の表のみで、条件設定とか、自動で書き換えてくれる方法を探しています。
単純に、そのセル内の文字列を書き換えてくれる(別のセルに表示するのではなく)方法は無いでしょうか?
>>478 ヘルプ読めばわかるしググってもすぐ出てくる
非常によく使われる関数だから君自身で調べてください
480 :
475 :2007/04/14(土) 02:25:01
なら12(木)と表示させている列をコピーして一旦メモ帳に 貼り付けそれをまたコピー、その後、元のセルの書式を標準か 文字列にしておきそこに貼り付けて置換を行えば?
オートフィルでABC〜と入力したいなら ツール→オプション→ユーザー設定リストに、a,b〜,y,zと入れとけば出来るよ
483 :
475 :2007/04/14(土) 04:04:24
>>482 うわぁ。
まさにコレがしたかったのでした。有り難うございます!
>>478 >ただ、それだと本来の表とは別に参照する表を作っておかないとダメなんじゃないでしょうか?
ご認識の通り。それが要件的にNGなら、VLOOKUP関数をいくら調べても回答には到達しない。
>>479 のレスは無視しといてOK。
> ご認識の通り。それが要件的にNGなら、VLOOKUP関数をいくら調べても回答には到達しない。 嘘を教えるな。外部の参照表は「(式の簡素化やメンテナンスの為に)作った方がいい」であって「作らなければ使えない」ではないぞ。 つ =VLOOKUP(A1,{"月","A";"火","B";"水","C"},2,FALSE) とはいえ > そのセル内の文字列を書き換えてくれる(別のセルに表示するのではなく)方法 の方に引っかかるからどっちみちNGだし、こんな長ったるしい式を何十セルもに入れなくはないけど 外部の参照表無しでもVLOOKUPが使えるという事実だけは示しておく。 ただ、今回のようなものをデータ内蔵の式にする場合はMID使った方がスッキリするがな。 =MID("ABCDEFG",WEEKDAY(A1,2),1)
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 表作成 抜き出し 抜き取り 半年分の商品の売買記録がありまして それを月ごとに日付と商品で抜き出し 月間販売履歴みたいなものを作りたいのですが 今は 2月1日 りんご 2月1日 バナナ 2月1日 いちご 2月1日 みかん のようにソートしてから1日分をコピーして別シートの表に 並べるというのを繰り返してます。 激しく面倒なのですがVBAを使わない場合これがスタンダードな方法なのでしょうか?
487 :
名無しさん@そうだ選挙にいこう :2007/04/14(土) 09:23:49
>>475 >>478 関数でやるなら、dd(aaa)のセルがA1とした場合
=CHAR(WEEKDAY(A1,2)+64)
488 :
名無しさん@そうだ選挙にいこう :2007/04/14(土) 09:35:09
くだらん質問なんですが、会社のパソコンでエクセル使ってる時、イルカが出てくるようになりました。誰かこのうっとうしいイルカの消し方教えて下さい。
>>486 たぶんピボットテーブルが貴方を救ってくれると思うです
>>488 いるかを右クリックで表示しないを選択する
491 :
名無しさん@そうだ選挙にいこう :2007/04/14(土) 10:43:09
【1 OSの種類 .】Windows XP 【2 Excelのバージョン】Excel2003 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】否 【5 検索キーワード 】Excel 縦 横 表示 セル内で改行する時に下のセルに移動するのではなくて セル内で改行したいのですがわかりません。 質問もわかりにくくてすみませんがよろしくお願いします。
492 :
名無しさん@そうだ選挙にいこう :2007/04/14(土) 10:53:57
>>485 お前、質問の内容をもう少し良く読め。
その関数で、日付型のデータが入っているセルを入力にして
アルファベットの値が帰ってくるか自分でやってみろ、阿呆。
494 :
名無しさん@そうだ選挙にいこう :2007/04/14(土) 12:22:50
>>493 >487が正解出してんだから、もういいじゃん
【1 OSの種類 .】Windows 2000 【2 Excelのバージョン】Excel2000 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】可 【5 検索キーワード 】データベース 抜き取り 抽出 質問します。 355 288 5744 9060 5060 のように縦にランダムに数字が並んでいるところに どこかのセルに6099と入れると 355と5744を抜き取ってくれるような関数もしくはマクロはないでしょうか? よろしくお願いいたします。
>>493 お前、書いてある内容もう少し良く読め。
「外部の参照表無しでもVLOOKUPが使える」ってことを主張してるだけだぞ。
何ムキになってるんだかw
>>496 人のことが言えるか。
浅慮で見当違いなレスを入れてるお前の方が鬱陶しい。
498 :
名無しさん@そうだ選挙にいこう :2007/04/14(土) 14:36:21
【1 OSの種類 .】Windows XP
【2 Excelのバージョン】Excel2002
【3 VBAが使えるか .】いいえ
【4 VBAでの回答の可否】否
【5 検索キーワード 】日付
>>462 でIF(today=1〜31の数字,"○""×")をいろいろ試したのですが
todayから日にちだけを取り出して参照させた場合×となります。
回避する方法をお願いします。
>>496 つまり、お前はスレの趣旨とは無関係な揚げ足取りに躍起になってたと
言いたいわけだな。
質問者何の役に立たない、使えない無駄書き込みをした挙げ句に、
偉そうなツラでふんぞり返るとは、見上げたバカだ。
>>495 ユーザー定義関数作ったよー
Function CHINKO(r As Range, v As Long) As String
Dim v1 As Long, v2 As Long, rng As Range, flg As Boolean
flg = False: v1 = r.Cells(1).Value
For Each rng In r
v2 = rng.Value
If v1 + v2 = v Then
flg = True: Exit For
End If
Next
If flg Then
CHINKO = "(" & v1 & "," & v2 & ")"
ElseIf r.Count = 1 Then
CHINKO = "ないっス"
Else
CHINKO = CHINKO(r.Offset(1).Resize(r.Count - 1, 1), v)
End If
End Function
A1からA5に数があって、B1が判定したい数値なら、
ワークシート上で「=CHINKO(A1:A5,B1)」
>>500 すごい!ありがとうございます。
これで仕事がかなり楽になります。
なんせ1万行以上あるなかから探しているのでほんとに
時間かかっちゃうんですよ、、、
でも関数名はさすがに変えちゃいますけどw
502 :
名無しさん@そうだ選挙にいこう :2007/04/14(土) 15:24:11
スレ違いかもしれませんが・・ デスクトップやフォルダ上の、エクセルのロゴ(緑の)が 表示されなくなってしまいました。 どうしたら元に戻りますか? 会社のPCなんで、戻さないとやばいです>< ご指導下さい。
503 :
485 :2007/04/14(土) 15:53:42
俺は単に > 外部の参照表無しでもVLOOKUPが使えるという事実 を示しただけだよ。 式はそれを示すためのサンプル式で、実用の話なんか全くしてない。実用するとしたら、このままの式で参照を TEXT(A1,"aaa")とするより、こちらもも,WEEKDAY使って数値対英字のデータを埋め込んだ方がいいが、 > 外部の参照表無しでもVLOOKUPが使えるという事実 が伝われば良いだけなので、数値対英字より曜日対英字の方がデータが埋めてあることが解りやすいかと思ってそうしたし 無駄な物は入れずに曜日も水曜までにした。実用の話なら参照値が曜日文字列ではなくシリアル値である件以前に 曜日が水曜までしか入ってないことの方が問題だろうに。 で、実用の話はその下ね。 > =MID("ABCDEFG",WEEKDAY(A1,2),1) の方は、今回のようなことを実際やるとしたらという実用面での話をしてるんで式も実用出来るようにシリアル値を参照することを 考慮して書いてある。 なんでこんなことまで説明しなきゃならないんだか…
504 :
485 :2007/04/14(土) 16:05:19
>>501 1万行以上あるなら、更に関数も高速化したほうがいいかも。
Function CHINKO(r As Range, v As Long) As String
Dim vs() As Long, v1 As Long, v2 As Long, i As Long, j As Long, k As Long
k = r.Count: ReDim vs(1 To k)
For i = 1 To k: vs(i) = r.Cells(i).Value: Next i
For i = 1 To k - 1
v1 = vs(i): v2 = v - v1
For j = i + 1 To k
If vs(j) = v2 Then CHINKO = "(" & v1 & "," & vs(j) & ")": Exit Function
Next j
Next i
CHINKO = "ないっス"
End Function
使い方は500が書いたのといっしょ。平均して10倍以上は速いと思う。
数行目同士ならいいけど9999行目と10000行目の組み合わせとかも発生しうることだからな。
負数が無いという条件なら、平均値ではもうちょこっと速くなる。v1がvを越えたら、2段目のループ飛ばせるわけだから。
せめてちゃんと読んでくれよ。おせっかいくん。
なんでそんなに突っかかるのかな? VBAの方はよく解らないけど間違ったことは書いてないのでは?
春だから仕方ない
>>504 ありがとうございます!
すいません、更なるわがままを書いたら怒られるかな、、、
500
250
300
450
100
100
250
という縦のランダムな数字があって(実際には伝票内の金額が並んでるんですが、、)
どこかのセルに500と打ち込むと
500
250
300
100
100
250
のセルが着色されるもしくは横のセルに記号を付ける
みたいなのは無理でしょうか?
というか最初からこっちで質問すればよかった、、、
春だから?春夏秋冬よく聞くぞ。この手の輩は一年中どこかで盛っるんじゃねぇの
512 :
名無しさん@そうだ選挙にいこう :2007/04/14(土) 17:28:02
>>511 ,512
レスありがとうございます。
すいません、条件付書式の式はどういうのにすればよいのでしょうか、、
式が全然想像できないです。
A B
1 500 500
2 250
3 300
4 450
5 100
6 100
7 250
として
A1の条件付書式はどういう記述をすればいいのでしょうか?
重ね重ねで申し訳ありませんがよろしくお願いします。
>>513 A1〜A7を選択しておいて
書式→条件付き書式
セルの値が 次の値に等しい =B1
として書式は好きなように。
>>514 すみません、それだとA1しか拾えないような、、、
A2+A7=500 、A3+A5+A6=500なので
A2、A3、A5、A6、A7も着色させたいのです。
わがままな条件ですがお願いいたします。
516 :
名無しさん@そうだ選挙にいこう :2007/04/14(土) 17:59:33
>>515 それはねナップザック問題といって、と〜てもメンドウなんだよ
>>516 ナップザック問題でググってみました。
エクセルというよりも数学的に難しい問題なんですね。
やはり無理なのかな、、、
518 :
名無しさん@そうだ選挙にいこう :2007/04/14(土) 18:25:30
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 =A1 =A2 =B2 セル一つづつに(=A2)これがあり一覧表にそれぞれの数値が表示されます。 一覧表の中の数値だけを他のシートに持って行きたいのです。 (=A2)から数値だけに変換する方法はありますか?
519 :
475 :2007/04/14(土) 18:43:13
>>487 すごいです。当初の目的そのものです。
オートフィルで大方の部分は作ってしまいましたが、
この関数だと何も考えずとも入力が可能になりました。
ありがとうございました!
その他、レスくださった皆さんも、ありがとう。
>>503 もういいよ、お前。
誰がいつVLOOKUPのウンチクなんぞ垂れて欲しいと言ったんだ。
522 :
518 :2007/04/14(土) 19:07:04
表を別のとこ(このワークシート以外)にコピーすると数値が無くなるんです。 数値の入った表をもって行きたいのです。 今はワークシートごとコピーして表の数値のうえから同じ数値を入力しなおしてます。 なんとしてでも数値だけが欲しいです。なんとか…お願いします。
523 :
521 :2007/04/14(土) 19:08:26
>>503 >なんでこんなことまで説明しなきゃならないんだか…
誰もお前にby name指定で「教えてくれ」なんて言ってないだろう。
文句があるなら何も言わずROMってろ。
無駄なウンチクで偉そうなツラがしたいなら失せろ。スレ違いだ。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 A B C 実績 目標 達成率 1 20 20 100% 2 10 50 20% . … . 10 total という表があるとして 目標(A列)最初から入力されていて、実績(B列)一日ごとに入力していきます。 C列は【=A1/B1】などとして、その日一日だけをみた達成率を表示します。 D列に過去分も考慮に入れた達成率を示していきたいのですが どのような式にすれば良いんでしょうか? 例えばD1は43%になると思います。 あともう一つなのですが、E列にその日までの過去分と考慮に入れた 売り上げの差額(プラスなら青色マイナスなら赤色)を入れたいのですが どのような式になるでしょうか? お願いします。
>>522 コピー元を選択→編集→コピー→コピー先を選択→編集→形式を選択して貼り付け→値→OK
でも消えるって言う事?
>>524 D1=SUM($A$1:A1)/SUM($B$1:B1)
※D1は100%でD2が約43%になると思うけど・・・?
E1=SUM($A$1:A1)-SUM($B$1:B1)
条件付き書式で
条件1に
セルの値が 次の値より大きい 0
で書式のフォント色を青
条件2に
セルの値が 次の値より小さい 0
で書式のフォント色を赤
・・・だめかなぁ?
527 :
名無しさん@そうだ選挙にいこう :2007/04/14(土) 20:04:00
誘導されてきました よろしくおねがいします if関数で 数字なら ○ それ以外なら×という式を 組みたいのです おしえてください
>>527 A1を判定する場合
B1=IF(ISNUMBER(A1),"○","×")
529 :
名無しさん@そうだ選挙にいこう :2007/04/14(土) 20:20:53
>>528 ありがとうございました。
解決しました
ありがとうございました。
530 :
名無しさん@そうだ選挙にいこう :2007/04/14(土) 21:24:21
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 ○ 【4 VBAでの回答の可否】 ○ 【5 検索キーワード 】 セルに現在時刻しとてシステム時刻の秒を表示させたい =second(time(,,))をどうなおせばいいのでしょうか
533 :
名無しさん@そうだ選挙にいこう :2007/04/14(土) 21:59:22
一定以上の数値の色を変えるのはどうしたらいいんですか?
>>533 一定以上の数値の入ったセルを選択して
書式→セル→フォント
で色の設定を変更する。
536 :
名無しさん@そうだ選挙にいこう :2007/04/14(土) 22:13:29
533さんへ 『書式』クリック→『条件付き書式』クリック→『条件付き書式の設定』 『条件付き書式の設定』ココで数値の範囲や色を選べます。 その1その2…何個でも条件をつけれます。 例)0%〜40%は赤、41%〜80%青、81%〜100%は緑 など
2007限定の話かよ
538 :
名無しさん@そうだ選挙にいこう :2007/04/14(土) 22:55:50
>>531 thanks
リターンした後の表示が動きません。秒表示が刻々変わるようにしたいのですがうまくいかないので。
>>538 VBA可という事で、OnTime メソッド使えば?
【1 OSの種類 .】 Windows*XP 【2 Excelのバージョン 】 Excel*2000 【3 VBAが使えるか .】 ちょっと 【4 VBAでの回答の可否】 可 A列の数値がリアルタイムで変動しています。 IF 9時〜11時 THEN IF 5分毎に THEN A1:A225の値をD1:D225に挿入 これをVBAで表現したいのですがお願いします。 9時〜11時で計24回、値を取得するので9:05のデータがAAに移動するような感じでお願いします。
542 :
463 :2007/04/15(日) 00:28:24
行を挿入するのをキータッチのみで行うにはどうすればよいでつか?
>>543 挿入を希望する場所で
行挿入なら Alt+I → R
列挿入なら Alt+I → C
だったかな・・・。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 ほとんど不可 【4 VBAでの回答の可否】 可 前にも質問したのですが、申し訳ない。再び質問させてください。 √Aをb√cにしたいのですが、素因数分解が必要です。 そのやり方をすべて教えて、というのはムシがいい考え方ですので、 これを読め!という本を紹介していただけないでしょうか。 なるべく、初心者にもわかりやすいものであるとありがたいです。 よろしくお願いいたします。
>>463 Excel 行列 条件付書式、でググッてみるといいかも
>>524 です。
>>526 さん、ありがとうございます。
確かに、言われる通りです、書き違いをしてしまってました。
すいません。
ところで、教えていただいた式で思惑通りの計算が出来ましたが
売り上げデータが未入力の日にエラーが書き込まれてしまうのですが
これを非表示にするようなことは出来ないでしょうか?
エラーが表示されていても実用上は何の差し支えもないんですが、
出来れば、という事で。。。
↑のは間違いです。 エラーではなく、達成率が一番下まで(実績未入力日)までズラッと出てきてしまいます。 未入力日は何も表示させないようには出来ないでしょうか?
>>547 良かったみたいですね。
C1=IF(AND(ISNUMBER(A1),ISNUMBER(B1)),A1/B1,"")
D1=IF(ISNUMBER(C1),SUM($A$1:A1)/SUM($B$1:B1),"")
E1=IF(ISNUMBER(D1),SUM($A$1:A1)-SUM($B$1:B1),"")
あたりでいかがでしょうか?
550 :
533より :2007/04/15(日) 09:51:28
552 :
名無しさん@そうだ選挙にいこう :2007/04/15(日) 11:37:35
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ(ただしマクロの記録程度は使います) 【4 VBAでの回答の可否】 可 BookAを保存するとき、 BookAを開いた日と同じ日に保存するならマクロ1を実行。 BookAを開いた日より日が経っていれば(0時を過ぎ日付が変更されていれば)マクロ2を実行。 といった内容を動作させたい場合、どのように記述すればよいでしょうか?
>>545 ユーザー定義関数 √12⇒2√3 12⇒2√3
Private Function chinko(test As String)
Dim moto As Long, lc As Long, i As Long, tmp As Long, a As Long, b As Long, tbl As Variant
test = Replace(test, "√", "")
If test = 0 Then chi = 0: Exit Function
moto = test: i = 0: lc = 2: ReDim tbl(i): tmp = 1: a = 1: b = 1
Do
If moto Mod lc = 0 Then
i = i + 1
ReDim Preserve tbl(i): tbl(i) = lc
moto = moto / lc: lc = lc - 1
End If
lc = lc + 1
Loop While moto > 1
For i = 1 To UBound(tbl)
If tbl(i) = tmp Then
a = a * tbl(i): tmp = 1
Else
b = b * tmp: tmp = tbl(i)
End If
Next i
b = b * tmp
chinko = a & " √" & b
End Function
>>552 >BookAを開いた日と同じ日に保存するなら〜
>BookAを開いた日より日が経っていれば〜
BookAを開いたままで数日後に保存するのか、前回の保存日時と比較してやるのか質問の意味が不明。
555 :
552 :2007/04/15(日) 14:22:51
>>554 ありがとうございます。
保存日時との比較ではなく、
>>552 の通り、開いた日との比較になります。
状態は開いたままです。
>>543 挿入 Ctrl + (Shift ;)
削除 Ctrl -
ってのも覚えやすくていいですよ^^
>>554 メロンとバナナどっちが高価ですか?
の質問に、
メロンとバナナなのかミカンとバナナなのかどっちか意味不明。
と返すくらい意味不明。ミカンなんて出てきてない。
つか、質問の意図聞いたなら回答してやれよw
>>552 WorkbookOpen
適当なセルに=Day(now())を入力させる
WorkbookBeforeSaveには
Day(now())とさっきの適当なセルを比較させる
こんなのだったらシンプルで簡単。
入力したセルは値のみに変えんと比較しようないからな。
>>552 ThisWorkbookに
Dim 開いた日 As Integer
Private Sub Workbook_Open()
開いた日 = Day(Now())
End Sub
Private Sub WorkbookBeforeSave()
If 開いた日 = Day(Now()) Then
まくろ1
Else
まくろ2
End If
End Sub
標準モジュールに
Sub まくろ1()
MsgBox "マクロ1を実行します"
End Sub
Sub まくろ2()
MsgBox "マクロ2を実行します"
End Sub
>>557 これでいいか?
>>552 具体的には thisworkbook に次のコードを
Private Sub Workbook_Open()
ThisWorkbook.Sheets(1).Range("A1").Value = Date
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If ThisWorkbook.Sheets(1).Range("A1").Value = Date Then
Call マクロ1
Else
Call マクロ2
End If
End Sub
560 :
552 :2007/04/15(日) 15:34:48
>>557-559 ありがとうございます。
パソコンの日付を変えてテストしてみようと思います。
シートに書き込む事がないという点で、>558のマクロを使ってみようと思います。
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel 2002 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 横に5つの数値が並んでいて,そのうち大きい順に2つの値を合計するには どうすればよろしいでしょうか。 5つの数値は複数同じになることがあります。 例えば,A1からE1,A2からE2にそれぞれ数値があって,G1,G2にそれぞれの 行の上位2つの値の合計を出力するようにしたいのです。 実際のデータは1500行ほどあります。 ----------------------------------------------------------------- __|_A_|_B_|_C_|_D_|_E_|_F_|_G_ _1|_50|_40|_80|_95|_90|___|185 _2|_70|_55|_80|_70|_40|___|150 ----------------------------------------------------------------- よろしくお願いいたします。
562 :
561 :2007/04/15(日) 16:02:11
解決しました。 large関数を発見しました。
>>561 =LARGE(B1:F1,1)+IF(COUNTIF(B1:F1,LARGE(B1:F1,1))>=2,LARGE(B1:F1,1),LARGE(B1:F1,2))
>>553 そのコードを参考に勉強すればいいわけですね。ありがとうございます!
あと、おすすめの参考書籍などありましたら、お教え願えませんでしょうか。
あるセルに 0か1の時は"甲0"、"甲1" 乙と入力されている時は"乙"という文字列を表示させたい時は、どのようにすればいいでしょうか? 書式設定だと乙と入力されている時にも"甲乙"となってしまい詰まってしまいました
>>565 書式設定にコレぢゃダメ?
"甲1";;"甲0";"乙"
>>565 コレで十分みたいだね
"甲1";;"甲0"
ただ1以上(2でも3でも〜)だと「甲1」になるけど。
568 :
名無しさん@そうだ選挙にいこう :2007/04/15(日) 17:51:53
・規格値100〜200 ・測定値は2個あり、規格値に対して悪いほうの値を表示させる absを不等号で比較してif文を作ろうとしたんですがものすごい長い式になってしまって 訳分からなくなってしまいました これを関数で表現したいんですが良い方法ありませんか?
>>568 式がチョット長いけど。。。
A1=下限値
A2=上限値
A4=測定値1
A5=測定値2
B1=IF(ABS((A1+A2)/2-A4)>ABS((A1+A2)/2-A5),A4,IF(ABS((A1+A2)/2-A4)<ABS((A1+A2)/2-A5),A5,A4&"と"&A5&"は等誤差"))
571 :
568 :2007/04/15(日) 19:50:03
>>570 断念したのより随分短くなってますありがとうございました
572 :
541 :2007/04/15(日) 22:45:52
はい
>>572 「A1:A225の値をD1:D225に挿入」
と言ってるかと思えば、
「9:05のデータがAAに移動するような感じ」
と言ってみたり。
A列の値を、どこにどのような手順で移動したいのかが今ひとつ
理解できない。
的確な回答を素早く受けたければ、質問する側にもある程度の文章力、
説明力が求められる。自分だけに理解できる言葉を書きつづっても、
今回のようにスルーされるのが関の山だよ。
575 :
463 :2007/04/15(日) 23:39:37
>>546 ,
>>551 なるほど、そうでしたか。
一応そのキーワードでググってみましたが、なかなか難しいんですね。
私の頭で理解出来るか分かりませんが、難しいという事が分かっただけでも
助かりました。
お世話になりました。
ありがとうございます。
エスパーな漏れは、D列に右シフトで24回挿入を繰り返すと 最初のデータはAA列に移動するという意味だと察したが。 因みに > IF 9時〜11時 THEN IF 5分毎に THEN 一つ目はIfでもいいが、5分毎の処理はIf使うべきところじゃないぞ。
577 :
541 :2007/04/15(日) 23:56:56
>>574 失礼しました。
「9:05のデータがAAに移動するような感じ」は、24回データを挿入した結果、
D→E→F→G→H→I・・・・・・・・AA
と一番最初のデータ(9:05)がAAにと書いた次第ですが、混乱の元なので
下記の表記で再質問お願いします。
A列の数値がリアルタイムで変動しています。
IF 9時〜11時 THEN IF 5分毎に THEN A1:A225の値をD1:D225に挿入
これをVBAで表現したいのですがお願いします。
>>576 すみません、そこを何とか教えてもらえないでしょうか?
FORNEXTで、秒をカウントとかでしょうか?
=IF(D5:D26,H5:H26,L5:L26<>0,SUM($D$5:D26,$H$5:H26,$L$5:L26)/SUM($C$5:C26,$G$5:G26,$K$5:K26),"") この式でエラーが出るんですが、間違いを正してもらえませんか?
>>578 Application.OnTime TimeValue("09:05:00"), "まくろ1"
かな?
>>580 ありがとうございます。検索してみます。
>>579 目的が解らないですが、これならエラーはでないと思います。
=IF(AND(D5:D26<>0,H5:H26<>0,H5:L26<>0),SUM($D$5:D26,$H$5:H26,$L$5:L26)/SUM($C$5:C26,$G$5:G26,$K$5:K26),"")
>>578 とりあえずこれを標準モジュールに貼って、9:00になる前にタイマープロシージャを起動してみ
Option Explicit
Sub タイマー()
callTimer TimeValue("9:00:00"), TimeValue("11:00:00"), TimeValue("0:05:00"), "copyData"
'以下、動作テスト用コード
'テストしたい場合は、上の行をコメントアウトして、下の行のコメントアウトを外す。
'callTimer Now() + TimeValue("0:00:10"), Now() + TimeValue("0:01:10"), TimeValue("0:00:04"), "copyData"
End Sub
Sub callTimer(start As Date, finish As Date, interval As Date, procedure As String)
Dim d As Date
d = start
While d <= finish ' 11:00:00ジャストにプロシージャを実行しない場合は不等号を「<」に変える。
Application.OnTime d, procedure
d = d + interval
Wend
End Sub
Sub copyData()
Dim ws As Worksheet
Set ws = ActiveSheet
With ws
.Range("A:A").Copy
.Range("D:D").Insert Shift:=xlToRight
Application.CutCopyMode = False
End With
End Sub
583 :
582 :2007/04/16(月) 01:03:18
(続き) 普通にコピペすると半角スペースの代わりに「 」がペーストされるので、 Visual Basic Editorに貼る前に、半角スペースへ置換してくだせい。
>>584 >>582 のコードが何をしてるか、多少なり読み解くことも忘れずに。
ちなみに、以下のプロシージャの組は、今回に限らず汎用的に使える
ようにしてあるので、他の要件でも使えるようなら使い回してやってくだ
せい。
・タイマー
・callTimer
>>585 本当に色々とありがとうございます。
今現在も手を加えて、加工中です。
ほんと勉強になりました。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 C1に「=A1+$F1」の計算式をいれているのですが、Eに列を挿入するとC1が「=A1+$G1」になってしまいます。 Eに列を挿入しても、「=A1+F1」か「=A1+$F1」になるような方法を教えてください。
Dim 列 As Long For 列 = 10 To 1000 Step 4 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 ちょびっと 【4 VBAでの回答の可否】 可 「行6:8」をコピーして、行10:13に「行6:8」を挿入→ 「行14:16」に「行6:8」を挿入→・・・・・ 1000まで を行いたいのですが、下記の文体かなり間違いがあると思うので訂正箇所をお願いします。 Dim 行 As Long For 行 = 10 To 1000 Step 4 Rows("行:行+3").Select Selection.Insert Shift:=xlDown ActiveWindow.LargeScroll Down:=-1 Rows("6:8").Select Selection.Copy ActiveWindow.LargeScroll Down:=1 ActiveWindow.SmallScroll Down:=-2 Range("A行").Select ActiveSheet.Paste Next 行
Rows(行 & ":" & 行+3).Select
>>589 ありがとうございます。
早速、検証してみます。
591 :
名無しさん@そうだ選挙にいこう :2007/04/16(月) 12:49:07
かなり大き目の表のテンプレがあるのですが 現在は、入力のたびに該当セルまで目視で移動してます。A1からA10のように順序よく 入力できればそれでも構わないのですが、とびとび(例A1→F50→Z33)で 入力しているのでかなりの手間と時間がかかります。 そこでフォームを使用して簡易化できないものかと考えました。 予想するに、列と行をフォームで指定出来れば、該当セルを抽出できると思うのですが、 列と行を指定するコマンド?がわかりません。 例えば、 日付 4月1日 (列指定) 顧客 ○○ (行指定) とした上で入力できればとOKです。 また行に関しては重複する可能性はありますが、 列に関しては重複しません。両方が重複した時のみ、入力できないように調整するつもりです。 (重複に関しては自身で出来ます。) 列と行を指定する方法を教えていただければと思います。伝わりにくいとは思いますが宜しくお願いします。
592 :
588 :2007/04/16(月) 12:49:49
>>589 すみません、この「Range("A行").Select」文体もおかしいみたいなんですが、
どう変えればよいでしょうか?
593 :
591 :2007/04/16(月) 12:51:15
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 集計、列・行の指定 質問テンプレが抜けていました。 宜しくお願いします。
>>591 行列を指定と言っても、いろんな指定方法があるわけだが
行番号、列番号で指定するならCells使えばいいし
ある値に一致する行・列という指定がしたいならFind使えばいい。
CellsやFindの具体的な使い方はヘルプにのってるからそっち見てね。
>>592 そりゃ"A行"なんてアドレスは存在しないからな。("A列"でも同じ)
A列のアドレスは"A:A"だから。又はアドレスではなく列番号を使って
Columns(1).Selectでもいいし、他にもいくつか表現方法はあるけど。
9条は改憲してはならない。日本の為にならない。 日本人ではない朝鮮総連や民団でさえ、日本を心配して改憲への反対運動を行ってくれている。 私は日本人だが、「改憲すべき」などという者は、日本人として彼らに恥ずかしいと思います。 Q.中国から身を守る為、戦争に対する抑止力が必要では? A.前提から間違っています。そもそも、中国は日本に派兵しようと思えばいつでもできました。 なぜなら、日本には9条があるため、空母や長距離ミサイル等「他国を攻撃する手段」がない。 つまり日本に戦争を仕掛けても、本国の、命令をだした幹部の命は絶対に安全なのです。 「安心して戦争を仕掛けられる国」を、中国は、今まで攻めずにいてくれたのです。 Q.それは日米安保によるものでは? そして、その日米安保も絶対ではないのでは? A.中国の良心を信じられないのはなぜですか? そして、日米安保は絶対です。 知り合いの韓国人の評論家も「絶対だ」と言っていますし、私も同じ考えです。 更に、9条が消えても米国の戦争に協力する義務は発生しませんが、米国が被害者の場合は別です。 米国は日本を守る為に戦っても、(9条があれば)日本は米国を守る為に戦う必要がないのです。 Q.9条が本当に「平和」憲法なら、世界中で(日本以外に)1国も持とうとしないのはなぜか? A.これは、日本以外のすべての国が誤っているとも言えます。 「敵国に攻撃が届く国は攻められづらい」というのは、誤った負の考え方です。 (もっとも韓国や中国の軍に関しては、日本の右傾化阻止の為でもあるので例外ですが) 更に日本の場合、隣国が韓国・中国・ロシアと、GDP上位の安定した信頼できる国ばかりです。 Q.「9条改憲派」は「戦争反対派」。侵略者に戦争を挑発する、戦争憲法(9条)を撤廃したいのです。 A.それは、貧しい考え方ではないでしょうか? 中国や北朝鮮を信じる「強さ」があれば、そんな考えにはならないはずです。 日本が信じれば、彼らも信じるでしょう。そして、真に美しい関係が始まるのです。
596 :
587 :2007/04/16(月) 16:05:57
597 :
名無しさん@そうだ選挙にいこう :2007/04/16(月) 17:03:42
>596 Fの行を切り取り、Gの行に貼り付ける。じゃ、ダメ?
598 :
597 :2007/04/16(月) 17:05:06
>596 ごめん、だめだったね。
>>596 計算式を=INDEXとか=INDIRECTとかの関数を使って書き直す
601 :
587 :2007/04/16(月) 18:12:47
>>599 INDEXとかだと、計算式を何処に入れればいいか解らないですorz
INDEX(E1:N1)にしたとして、C1の計算式をA1+F1をどう表現すれば良いのか・・・・・
もうちょっとヒントお願いします。
>>601 ここからは有料です。あまえるな!関数をヘルプで調べれば、使い方は載ってる。
しかし、ここには親切な人がイッパイいるから、一杯やってテレビでも見ながら、
のんびり待ってると、いい事が起きるかもね。
603 :
名無しさん@そうだ選挙にいこう :2007/04/16(月) 19:21:39
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル 時刻表示 初歩的な質問ですみません 例えばセルに1800と入れるだけで18:00と表示させたいのですが上手くいきません 書式設定の時刻で「13:30」を選択しているのですが、実際には0:00(1904/12/4 0:00:00)と表示されます 回答を宜しくお願いします
604 :
名無しさん@そうだ選挙にいこう :2007/04/16(月) 20:10:46
>>603 1800と入力すればそれは1800でしかない
時間はシリアル値で入力しなきゃダメ
Excelは日時に関していろんなルールが有るから
ヘルプで「時間の入力」を検索してごらん
>>603 見た目だけ18:00と表示されれば良いの?
1800というのを数値ではなくシリアル値として扱うと、1900年1月0日から1800日後という意味になる。それが1904/12/4だな。 無理矢理1800を18:00として扱わせることも可能だが、入力したセル自体に18:00として反映したいならVBA必須。 VBA無しでやるならシリアル値の概念を理解した上で変換数式を作って、入力セルとは別セルに18:00を返すようにしろ。 シリアル値の18:00を返したいのではなく、表示だけ18:00にしたいなら、表示形式のユーザー定義で「00":"00」としておけ。
607 :
名無しさん@そうだ選挙にいこう :2007/04/16(月) 22:00:49
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 セルD1に=B1を入れると、セルB1に入力した数字 800 が セルD1に800とでます。 セルD1にある=B1を無くして800だけにする方法はありますか? (800と手で上書する以外でお願いします。)
ここはエクセル総合相談所スレではないですか?IF関数、VBA、マクロ等のみの質問解答スレなんですか?他の基本操作や素朴な疑問なんか聞いたらダメなんですか?そうなら次スレタイ変えて下さい。バカにされて惨めな思いしたくありませんから。
どのバカか分かりづらいんで名前に質問レス番入れてね
612 :
名無しさん@そうだ選挙にいこう :2007/04/16(月) 23:15:16
どのスレの流れで、そう思ったのか?変な子だね 被害妄想の激しい子の相手は嫌いじゃない、 モット何か言ってみな
613 :
587 :2007/04/16(月) 23:24:21
609じゃないんだけど、
>>599 なかなか出来ないです。
Eに列を挿入するとどうしてもF1がG1に変わってしまう。
CELLにRC[3]みたいな表現できないでしょうか?
バカな質問者にご慈悲を
>>587 試してないんだけど、Excelの阿呆に「列方向は絶対参照」とわからせる意図で
思い切って =$A1+$F1 にしてみたらどうだろうか。
>>613 えっ、いままでテレビ見てたの
ヘルプ見てたら、とっくの昔に出来てたのに残念だね
過ぎた時間は戻ってこないもんなぁ
インデクス(セル範囲,セル範囲の左上から何行目,セル範囲の左上から何列目)
ここでセル範囲は挿入する列位置との関係をよく考えて設定する事
でも簡単なのはインダイレクトの方なんだけどね・・・・・
Ver.2002だけど =A1+OFFSET(A1,0,5)
VBAを覚えようと思うのだがオススメの参考書を教えてくれ。 VC++6.0やActionScriptでプログラムは結構作っているのだが Excelの知識が殆どない場合BVAを使いこなすのは難しいだろうか?
620 :
名無しさん@そうだ選挙にいこう :2007/04/16(月) 23:54:14
Excel仕事で使ってますがエンター押すと しゃべります。どうしたらOFFにできます?
>>616 返答ありがとうございます。
列を挿入すると、ずれます。
例:F1:AZ1000をEに列を挿入すると、G1:BA1000になってしまいます。
>>621 条件は全部かきましょう
=SUM(OFFSET(INDIRECT("f1"),0,0,1000,47))
623 :
615 :2007/04/17(火) 00:18:04
>>617 ありがとうございます。
私が求めていたのは、これです。
>>618 試したのですが、F1に数値をいれても変化がないようです。
625 :
名無しさん@そうだ選挙にいこう :2007/04/17(火) 01:38:03
やつ(>615)は、丸々の答えが欲しかっただけなんだよ 考える気もヘルプで調べる気もなかったのさ
エクセル2000です。あるエクセルFileを別のフォルダにコピー→張り付けしました。そのコピーしたFileをまた別のフォルダに張り付けました。初めにコピペしたFileを削除したら元Fileも削除されるんですかね?誰か分かる?
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 ほとんどいいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 セルA1から次はC1、E1,と言ったようにひとつ飛びで25セル分に、数字を記入させたいと思っています。 数字は1〜25で、重複がなく、毎回ランダムに順番が変るようにしたいと思います。 1列目が終わったら次は3列目で同様の処理をし、それが終わったら5列目で処理をし、これまた全部で30回同じ処理を繰り返したいと思っています。 おそらく、ループやIFでVBAを使うといいのだろうな、と思いましたが、効率のいいやり方がわからなくて困っています。 具体的にはコマンドボタンを押すと実行、という形にしたいと思っています。 どなたか教えていただけませんでしょうか。
628 :
603 :2007/04/17(火) 09:22:41
>>605 見た目上だけでよかったんです
>>604 ,606
遅くなりましたが、ありがとうございました
629 :
名無しさん@そうだ選挙にいこう :2007/04/17(火) 09:24:51
丸投げうぜー
630 :
627 :2007/04/17(火) 09:45:04
すいません。では質問を変えます。 一番良くわからないのは、ランダムに1〜25の数を並べ替える部分です。 やはり変数を25個用意して、乱数を生成し、順に照合していくループを組む、ということでしょうか。
631 :
名無しさん@そうだ選挙にいこう :2007/04/17(火) 09:50:34
>>626 テメェで試しな、それだけですぐ分るはず。
そしてその結果をここで報告しろよ、それが礼儀だ。
>>627 「マクロ記録」して、そのコードがどんな構造になってるか理解できたら
また聞きにおいで。でないと、せっかくのアドバイスが理解できないよ。
632 :
627 :2007/04/17(火) 09:58:56
>>631 そもそもどうやって自動生成される数をマクロに自動記録したら良いんでしょう?
頻繁にきかれる質問だな、教科書にでも載ってる問題なのかな?
>>631 このスレは、回答者が実生活のストレスを解消するスレです。
635 :
名無しさん@そうだ選挙にいこう :2007/04/17(火) 11:10:47
>631 オマエには聞いてねえから。いちいちレスるな。うっとうしい
【1 OSの種類 .】 Windows2k 【2 Excelのバージョン 】 Excel97 【3 VBAが使えるか .】 いいえ 【5 検索キーワード 】 エクセル ラベル 価格 A列とB列の二項目をヒサゴ等のラベルに印刷したいですデータは数百件です 名前と住所 のような感じです どのようにしたらよいですか どこからてをだしてよいかわかりません
先ずラベルの説明書に従ってソフトやデータを取得するとよいです
638 :
名無しさん@そうだ選挙にいこう :2007/04/17(火) 11:45:59
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━ 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 エクセル ヘッダー セル (ヘッダーとしてセルを) セルで作成した一定の範囲をヘッダーとして利用したいのですが……。 OpenOfficeだと利用できたので、EXCELでも利用できればと思い、調べています。 よろしくお願いします。
640 :
636 :2007/04/17(火) 12:23:16
レスありがとうございます エクセルではできないようでした ほんとうにありがとうございました
>>619 大村あつしさんの本
基礎編、コントロール・ユーザーフォーム編・応用編とある。
荒れているようだけど・・・・・・ちょっと質問。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel 2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 合計値を出したいのだが、−の数字も+として加算したいです。 例:SUM(A1:Q60) ABSで対応しようとしたが、チンプカンプン。 お願いします。
SUM(ABS(A1:Q60)) 配列数式として入力
>>643 早速のレスありがとうございます。
自分がやった時エラーでたのですが、もう一度チャレンジします。
645 :
642 :2007/04/17(火) 14:26:09
>>643 自分のエクセルだとエラーになってしまう・・・・・・
>>645 ちゃんと『配列数式』として入力してる?
648 :
642 :2007/04/17(火) 14:45:26
>>646 >>647 ありがとうございます。
初めての言葉だったので無反応してしまいました。
今から調べます。
649 :
642 :2007/04/17(火) 14:57:38
650 :
名無しさん@そうだ選挙にいこう :2007/04/17(火) 20:46:35
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 フォントの種類の最大数を超えたため 他の人が作成したExcel(3個)を自分のPCで開いた場合、 1つめは開きますが、2つ目と3つ目を開いたときに 「フォントの種類の最大数を超えたため、ファイルの書式設定が一部変更された可能性があります。 現在開いているほかのドキュメントを閉じて再度実行してください。」 と表示されます。 これは何故なのでしょうか? 出ないようにするにはどうしたら良いのでしょうか。 ちなみに、作成した人のPCでは出ないそうです。
>>626 >>631 の頭の悪い煽りは無視してもらって構わないが、君にも問題がある。
それはExcelの質問ではない。
他を当たるか、自分で解決するかどちらかにしてくれ。
以上
>>627 手っ取り早いのは、
ダミーのシート用意して
A1:A25に 1から25
B1:B25に =RAND()
をいれておいて、
calculate⇒A1:B25をB列をキーに並べ替え
A1:A25から目的のシートに転記
の繰り返しかな?
>>627 Sub てけとー()
Dim shdm As Worksheet, shout As Worksheet
Dim lc As Integer, i As Integer
Const mx = 25
Set shout = ThisWorkbook.ActiveSheet
Set shdm = ThisWorkbook.Worksheets.Add
For i = 1 To mx
shdm.Cells(i, 1).Value = i
shdm.Cells(i, 2).Formula = "=rand()"
Next i
For lc = 1 To 30
Calculate
With shdm
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=.Cells(1, 2).Resize(mx, 1), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With .Sort
.SetRange Cells(1, 1).Resize(mx, 2)
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
For i = 1 To mx
shout.Cells(lc * 2 - 1, i * 2 - 1).Value = shdm.Cells(i, 1).Value
Next i
Next lc
shdm.Delete
End Sub
>652 質問しますけど、ここはエクセル総合相談所スレではないのですか?別にレスしたくなければスルーでもいいんです(煽りは特にムカツク)。他をあたりますから。でも、掲示板の代名詞である2ちゃんねるだから質問するんです。紛らわしので次スレタイは変えて下さい。
すれ違い
>>626 の質問はExcelの問題じゃ無いでしょ
それ位は、自分で試してみればいいんだし
スレチなんですか?別に訳の分からん計算式なんか知らなくても生きていけますから。俺は暇が有ったら2ちゃんねるを携帯で見てます。最近はなるべくググるようにしてます。エクセルなんて知ってるか否かの違いで、知ってる=頭が良い訳?英数文字並べられてもキチガイになりそう。
と、デブが唾を撒き散らしながら力説しております
いくらなんでもつりだろ、本気だったら馬鹿が原因で数年中に死亡するぞ。
少なくとも自分でやってみない奴より脳味噌の程度はまともだな。
書き込み内容だけで、デブが唾を吐きながら力説して釣っていると決め付ける椰子が住人に居るのか〜もっと良スレかと思ってたけど。知らない奴に教えてやって優越感に浸り、自己満するスレってどうでしょう?終わってますね。結論→2ちゃんでエクセルの事は聞くなですか。
図星だからって怒るなよw おまえの質問はパソコンの操作方法であってExcelは関係ない。
>>662 お前、見苦しいからもう消えた方がいい。
あまり親御さんを泣かせるなよ。
665 :
名無しさん@そうだ選挙にいこう :2007/04/17(火) 22:55:46
涙目で上から目線ww
>>655 同じことをテキストファイルでやってみろ。
で、同じ現象が起きたら「Notepad総合相談所」でも探して質問してろ。
お前みたいなバカは、どこに行っても鼻つまみ者だろうがな。
っ り
>664 結果的に荒らしてるみたいなんで、そろそろあぼ〜んします。今1人だし親も知らない。>663ダサメンかもしれないけど当たってないよ。決め付けたがる椰子が多いキガス。まあ、頑張ってエクセルの勉強して下さい。会社で適当に使えりゃいいだけの話。
>>626 削除されないですよ。
今度からその手の質問はウィンドウズXP関係で。
みんなあんまり虐めるなよ。
626は、まだはじめたばかりの人なんだから。ルールが解らないだけだよ。
トイレでうんこをするのは当然のルールだろ。
でも1歳の子供が食事中にうんこしたらそんな態度をするのか?
1歳の子供はかわいいよ。
673 :
名無しさん@そうだ選挙にいこう :2007/04/17(火) 23:55:06
子供だろうと文句つけるチャンスは逃さないんだよ。回答者様は。 上から目線でオナニーするのが生きがいだからな。
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 重複 テキストファイルを読込み、行単位で比較して同じ行があれば 削除(消去)するにはどうすればいいでしょうか? テキストファイルを引き算するようなイメージです。 txtA - txtB - txtC 具体的にはtxtAの各行よりtxtBに存在する行と同じ行は削除、 更にtxtCに存在する行も削除。 なお、削除後は空行は削除し、上詰めで表示したいです。
先にB,Cを読み込んで比較しながらAを読めばいいと思う
>>674 LINE INPUTで
行単位でB・C取り込み⇒比較しながらA取り込み
SPLITで割りながら書き込み
って感じかな?
EXCEL2003と2007って大きな違いあるんでしょうか? パワポは随分機能アップしてるらしいですが
>>677 扱える列が増えた
条件付き書式をいっぱい設定できるようになった
関数が若干増えた
半透明でグラフィカルなグラフが作れるようになった
インターフェイスが大幅に変わった
などなど。
詳しくはマイクロソフトのサイト見たほうが早いですよ。
679 :
名無しさん@そうだ選挙にいこう :2007/04/18(水) 09:32:57
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 AM2〜AZ2までのセルの数値をそれぞれ-10〜10の範囲で変化させて それに関連したBQ14の最大になる組み合わせの検証をしたいと思っています。 AM2〜AZ2からBQ14まではIF関数がいくつかあります。そのせいかソルバーでは できませんでした。 よろしくお願いします。
>>679 うまい設定をすればソルバーでもできるかも・・
だけど基本、総当りかな。
681 :
679 :2007/04/18(水) 10:03:17
>>680 総当たりで時間かかってもいいんですが
VBAが全く分からないので・・・。
そうゆうことなら-10〜10の範囲での変化量とBQ14の数式くらい晒しなよ
683 :
名無しさん@そうだ選挙にいこう :2007/04/18(水) 10:31:37
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 word Excel 変換 Excelデータをwordとリンクさせると言うのはよく検索結果が出てくるのですが wordデータで作られた表をExcelに変換する結果が出てこないので教えてください word自体に手を加えずExcelから「ファイル」-「開く」でwordファイルを開いて 拾ってきたwordデータの表をそのままExcelの表になるようにしたいです よろしくおねがいします
684 :
名無しさん@そうだ選挙にいこう :2007/04/18(水) 11:21:53
ワード、エクセルを0から学ぶのに適したサイトってありますか?
685 :
679 :2007/04/18(水) 12:03:47
>>682 BQ14は実際やってみないとわかりませんが-10万〜+10万くらいだと思います。
BQ14の数式は=SUM(BC3:BC1798)です。
各行AM〜AZの合計がBAにきてそこでIF関数でBCに結果がでます。
そのBC列の合計がBQ14となります
686 :
名無しさん@そうだ選挙にいこう :2007/04/18(水) 12:04:15
>>684 まず、ワープロと表計算の概念をして、
次に、ひたすらヘルプを読破することを激しく勧める。
面倒くさいし時間がかかると思うけど、OFFICEのヘルプは読んでしまうとすごく使える。
小技的な質問は、質問系のBBSを利用すればいい。
>>684 助けになるようなところはあるが、
サイト”だけ”で学べるようなところは存在しないと思うぞ。
せめて入門書の1冊でも読んでからサイト探せや。
>>684 エクセル(コンピュータも)、道具ですから、
身近なことから、使いましょう。
使い道がないなら、今のところ必要ないと言うことでしょう。
689 :
名無しさん@そうだ選挙にいこう :2007/04/18(水) 12:06:28
690 :
名無しさん@そうだ選挙にいこう :2007/04/18(水) 12:16:01
ユーザーフォームを作成し、対応するセルに入力出来るようにVBAを組んでいたのですが 行き詰まりました・・・。 ↓の方法だと空白行が追加されてしまい、常に1行余分にある状態です。 これを修正して、見出しのすぐあとに追加していくような形にすることは可能でしょうか? 根本的に違うというのであれば、解説サイト等に誘導していただければ幸いです。 エクセル2003使用です。 Private Sub Add_Click() Dim insertRow As Long '挿入する行位置 'シートの保護を解除する Sheets("顧客").Unprotect '最下行に1行挿入する insertRow = Range("データ一覧").Rows.Count Range("データ一覧").Rows(insertRow).Insert Shift:=xlDown 'データをセルに入力する Range("データ一覧").Cells(insertRow, 1) = CarBox.Text Range("データ一覧").Cells(insertRow, 2) = MonthBox.Text Range("データ一覧").Cells(insertRow, 3) = NumberBox.Text End Sub
691 :
名無しさん@そうだ選挙にいこう :2007/04/18(水) 12:29:30
692 :
690 :2007/04/18(水) 13:02:51
先ほど質問した件なのですが、 Range("データ一覧").Rows(insertRow).Insert Shift:=xlDown を Range("データ一覧").Rows(2).Insert Shift:=xlDown とすることで空白行は消せたのですが、連続でデータを入力してみると 同じ行で繰り返し上書きをするようになってしまいました。 上書きではなく、追加していくような形にはどうやって修正すればよろしいですか?
693 :
sage :2007/04/18(水) 17:55:46
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 オートコンプリート タブキー 入力確定 Excel2002(officeXP)から2007にアップグレードしたのですが、 これまで出来ていた事が出来なくなったので質問させてください。 『出来ていた事(Excel2002)』 文字を打って、オートコンプリートが表示されている状態でタブキーを押すと オートコンプリートの内容で入力確定およびセルの右移動。 『出来なくなった(Excel2007)』 上記の条件でタブキーを押すとオートコンプリートの内容が反映されずに入力確定。 これまで慣れていたやり方で使いたいのですが、良い方法はありませんでしょうか? ちなみにExcel2003では・・・ タブキーを押すと「省入力候補」のメニューが現れます。 (候補が存在しなければ、キー無効) バージョンによって使い方がコロコロ変わるなんて使いにくいですね〜(´Д`;)
> 良い方法 Excel2002に戻す。 俺は2007入れてから2003に戻したぜ。
キンタマがキュンとするVBAコードおしえて
>>690 あんまりうまくはないけど
insertRow+1にしとけば?
>>690 それだと追加された空白行は「データ一覧」という範囲から外れるわけだが…
698 :
名無しさん@そうだ選挙にいこう :2007/04/18(水) 19:35:53
追加した空白行に入力するんじゃないの?
じゃあなんで1行挿入する必要があるの?
>>693 どっちかってえと、確定させてからTabで次のセルに移るという2007のほうが
考え方としてまっとうなような気がする。
コロコロ変わるってのは確かにいただけんが、
バージョンが変われば操作が変わるところがあるのは仕方のない話。
こだわって2002を使い続けるか、別の使いやすさのほうを優先して2007を使うか。
そのどちらかしか選択肢はないんじゃないかな。
IMEでキー設定をいじればなんとかなるような気もするが、あてにはしないでくれ。
>>701 本人じゃないからそれは知らない。
でも
>>690 には
>>↓の方法だと空白行が追加されてしまい、常に1行余分にある状態です。
と書いてあるから余ってると思った。
>>690 挿入じゃなくて
入力後範囲名を再定義したほうがいいのでは?
>>679 一応これでできるはず
Sub 力技_誰か正しい方法教えて()
Const mx = 10: Const mn = -10: Dim myrng As Range: Dim tmp As Long: Dim tmpMX As Long: Dim tmpTBL As Variant
Dim lc1 As Integer, lc2 As Integer, lc3 As Integer, lc4 As Integer, lc5 As Integer, lc6 As Integer, lc7 As Integer, lc8 As Integer, lc9 As Integer, lc10 As Integer, lc11 As Integer, lc12 As Integer, lc13 As Integer, lc14 As Integer
Set myrng = ThisWorkbook.Sheets(1).Range("AM2").Resize(1, 14)
On Error Resume Next: Application.ScreenUpdating = False
For lc1 = mn To mx: myrng.Cells(1, 1).Value = lc1: For lc2 = mn To mx: myrng.Cells(1, 2).Value = lc2
For lc3 = mn To mx: myrng.Cells(1, 3).Value = lc3: For lc4 = mn To mx: myrng.Cells(1, 4).Value = lc4
For lc5 = mn To mx: myrng.Cells(1, 5).Value = lc5: For lc6 = mn To mx: myrng.Cells(1, 6).Value = lc6
For lc7 = mn To mx: myrng.Cells(1, 7).Value = lc7: For lc8 = mn To mx: myrng.Cells(1, 8).Value = lc8
For lc9 = mn To mx: myrng.Cells(1, 9).Value = lc9: For lc10 = mn To mx: myrng.Cells(1, 10).Value = lc10
For lc11 = mn To mx: myrng.Cells(1, 11).Value = lc11: For lc12 = mn To mx: myrng.Cells(1, 12).Value = lc12
For lc13 = mn To mx: myrng.Cells(1, 13).Value = lc13: For lc14 = mn To mx: myrng.Cells(1, 14).Value = lc14
Calculate: tmp = ThisWorkbook.Sheets(1).Range("BQ14").Value
If tmp > tmpMX Then
tmpMX = tmp: tmpTBL = myrng
End If
Next lc14: Next lc13: Next lc12: Next lc11: Next lc10: Next lc9: Next lc8: Next lc7
Next lc6: Next lc5: Next lc4: Next lc3: Next lc2: Next lc1
myrng = tmpTBL: Application.ScreenUpdating = True
End Sub
>>695 sub kyn()
thisWorkbook.Names.Add Name:="ω", RefersToR1C1:="=Sheet1!R1C1"
Cells(1, 1).Value = "キュン"
End Sub
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 セル、A4,A9,B2,B5,C3,C7に入っているデータをSUMIFで条件">0" にして、合計値を出す事はできないんでしょうか? SUMIFは、並んでいるデータじゃないとダメですかね?
もう脳がどうかなりそうなんです。どなたか助けてください。 例えば、A1セルに1〜10迄の任意の数字を毎日1回だけ入れていきます。 そして、B1セルに、その毎日1回入れていった1〜10の数値の累積を表示 させたいのですが、どうしても良い知恵が思いつきません。 脳内で計算して入れていけばよいのかもしれませんが、事務的に間違いのないように したいので、何か良い知恵がありましたらアドバイスください。
>>707 キュンとしますた
ありがとうございました
713 :
709 :2007/04/19(木) 06:07:59
714 :
名無しさん@そうだ選挙にいこう :2007/04/19(木) 07:46:06
教えてください。 ExecuteExcel4Macroを使って他のブックを開かずに「複数セル」を取り込めるのでしょうか。 Forを使えばいいのでしょうが面倒なので。 お願いします Strig01 = "'" & PathName & "[" & FileName & "]" & SheetName2 & "'!" & "R15C5:R15C30" '//←R15C5単独セルしか取り込んでくれないみたいなんで Worksheets(1).Cells(5, 1).Value=ExecuteExcel4Macro(Strig01)
>>709 A1をコピー
B1に移動して、
編集(E) 形式を選択して貼り付け(S) で、
値(V) 加算(D (Sだったかも)) を選択してOK
これをマクロの記録するのもありかな^^
716 :
名無しさん@そうだ選挙にいこう :2007/04/19(木) 08:34:41
>>706 ホントにありがとうございました。
コレを元に勉強します。
>>709 以下のマクロを標準モジュールに貼り付けて、
加算したいと思ったときに実行。
Sub 加算()
With ActiveSheet
.Cells(1, 2).Value = .Cells(1, 2).Value + Cells(1, 1).Value
End With
End Sub
A1セルの変更をイベントで拾って勝手に加算実行、という手もあるけど、
操作ミスをするとB1の値が延々と壊れ続けるので、オススメしません。
それよか、「事務的に間違いのないようにしたい」のであれば、A1の値を
上書きするんじゃなく、A列に毎日書き足していく方が安全だと思うけど、
いかがなものでしょうかね。
718 :
717 :2007/04/19(木) 08:44:30
バグ発見。失礼しました。マクロはこっちで。 Sub 加算() With ActiveSheet .Cells(1, 2).Value = .Cells(1, 2).Value + .Cells(1, 1).Value End With End Sub
638ですが、何か悪いことしたかな……。 それとも初歩的すぎてここで聞くような質問じゃないのだろうか……。
↑ ひねくれてるね、君
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 ピボットテーブル ダイアログボックス ピボットテーブルがあるシートを保護した場合、 編集できないというダイアログボックスがブックを開くたびに表示されるが、 これを非表示にできないでしょうか? ↓ 「保護されているシートのピボットテーブルは編集できません。」
>>720 スレの流れ見てるとさ、みんな親切に答えてくれてるから、
レス無いのは俺のほうの問題なのかなぁ、と。
実際、ずっと悪戦苦闘しててひねくれ出してるのかも知れん。
>>721 保護の解除をマクロ記録
で、だめかな?
725 :
名無しさん@そうだ選挙にいこう :2007/04/19(木) 12:54:20
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル テンプレ 会計簿 エクセル2003で会計帳簿をつけたいんですが、あんまり複雑な項目はいらなくて 日付と名目を自分で入れて、収支の合計を自動で計算してくれる感じで作りたいんですが、 方法を教えてください
>>724 レスサンクス
そうか、ブックが立ち上がってから
ピボットテーブルのあるシートを保護すればいいのか!?
と、今ひらめいた。
やってみる。
728 :
名無しさん@そうだ選挙にいこう :2007/04/19(木) 13:26:27
>>752 とにかくエクセルのマニュアルを読め、話はそれからだ。
729 :
名無しさん@そうだ選挙にいこう :2007/04/19(木) 13:51:18
沖縄県の方へ(命に関わる注意事項です) 沖縄県での選挙ですが、どうか民主党だけは避けてください。県民の生命に関わる可能性があります。 民主党の最大の公約は一国二制度(※)ですが、一度「一国二制度 沖縄」等で検索をお願いします。 この際、民主党のHPで調べても良いです。以下の注釈↓と矛盾することは書いてないはずですから… ※一国二制度 簡単に言えば沖縄を中国と日本の共有物にし、そこに3000万人の中国人を入植させます。 (つまり沖縄人口の 96% を中国人にして、実質、沖縄を中国人の居住地とします。) さらに「自主」の名の下、沖縄で有事が起きても自衛隊は干渉できません。 3000万人の中国人が、少数派となった130万人の日本人に何をしても、です。 そして中国人の反日感情の強さは、ほとんどの日本人の理解を超えるものです。 今回の選挙で民主党が勝った場合、「自主」「発展」を連呼しつつ段階的に進めていくことになります。 自主と言っても、自主を認めるのが「住人の96%が中国人となった」後だということに気をつけてください。 発展と言っても、新沖縄の少数派となった「少数民族日本人」の発展ではないことに気をつけてください。
730 :
721 :2007/04/19(木) 13:55:10
あるシートを選択したらシートの保護をして、 そのシートから別のシートへ移ったらシートの保護を解除する マクロとして、 Private Sub Worksheet_Activate() Set pvtTable = Worksheets("合計").Range("A6").PivotTable pvtTable.RefreshTable Set pvtTable = Worksheets("合計").Range("F6").PivotTable pvtTable.RefreshTable ActiveSheet.Protect End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) ActiveSheet.Unprotect End Sub を作ってみたのですが、うまくいきません。 動作としてはそのシートを選択すると 実行時エラー1004と出て、 refresh tableメソッドが失敗しました。 と、出ます。 何かいい方法ないでしょうか?
なんでデバッグくらいまともに出来ないんだよ
732 :
721 :2007/04/19(木) 14:15:29
すいません、解決できました。
733 :
名無しさん@そうだ選挙にいこう :2007/04/19(木) 16:09:10
みなさんはエクセルやワードをどのようにして覚えていきましたか? 入門書を書店で探してみたら沢山あってどれがいいのか迷いまして、 おすすめの入門書などありましたら教えて下さい。
>>733 > みなさんはエクセルやワードをどのようにして覚えていきましたか?
実際に使って、解らないことはググって覚えた。VBAだけは1冊書籍購入したけど。
> おすすめの入門書などありましたら教えて下さい。
>>2 ・B
>>733 あなたが自分で手に取ってパラパラと読んでみて、
「これならわかりやすいかな」と思うものがいちばんいい入門書です。
この手の質問、定期的に来るけど答えは出ません。
人によって知識も経験も背景も事情もまるで異なるから。
なのである人にとっての「おすすめ」が、すすめられた人に
「よい本」である保証はまるでないんです。
736 :
名無しさん@そうだ選挙にいこう :2007/04/19(木) 16:51:14
4月・5月はこういうことで悩むもんだろ。 一向に進歩の無い回答者様は飽き飽きしてるらしいけどなwww 老害って自分じゃ気付けないもんだなwww
740 :
733 :2007/04/19(木) 20:03:39
みなさんありがとうございました!
>>733 なんでもいいから一冊終わらして、
その後は
・上部のメニューを全部見て気になるものにターゲットしてshift+F1 (ポップヒント)
・「この作業めんどくさい」と思ったらググるか人に聞く
・テーブルとレコードの概念を理解する
>>715 >>717 さん
ホントにありがとうございました。
もうだめなんじゃないかと思いましたが、こんな方法があったなんて。。
私も負けじと日々勉強に励みます。お世話になりました。
743 :
709 :2007/04/19(木) 21:17:55
>>742 感じがよかったのでちょっと凝ったものをプレゼント
『my履歴』っていう名前のシートを作ったあと
VBを開いて(alt + F11)、入力するシートの所に下のコードを張れば、
A1を変更するたびにB1に加算+my履歴に日付と値が入ります
なお、当日中に再変更した場合、前日のデータから計算しなおします。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim mydaterng As Range
If Target.Row <> 1 Then Exit Sub
If Target.Column <> 1 Then Exit Sub
If MsgBox("変更した値をB1に加算しますか?", vbYesNo, "確認") <> vbYes Then Exit Sub
Set mydaterng = ThisWorkbook.Sheets("my履歴").Cells(65536, 1).End(xlUp)
If mydaterng.Value = Date Then
If MsgBox("本日の変更をやり直しますか?", vbYesNo, "確認") <> vbYes Then Exit Sub
Range("b1").Value = mydaterng.Offset(-1, 1).Value + Target.Value
mydaterng.Offset(0, 1).Value = Range("B1").Value
Else
Range("b1").Value = Range("b1").Value + Target.Value
mydaterng.Offset(1, 0) = Date
mydaterng.Offset(1, 1) = Range("B1").Value
End If
End Sub
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】否 名簿の中から、名前に「山」のつく人の人数を調べるスマートな方法を教えてください。 できれば作業用のセルを使いたくありません。 例: 1,山田太郎 2,鈴木一郎 3,内山五郎 「山」のつく名前は 2 人います ←これ
746 :
名無しさん@そうだ選挙にいこう :2007/04/20(金) 06:48:15
OS:Win2000 Excelver:Excel2000 私はサポート担当なのですが Excelが保存時にアプリケーションエラーで落ちて しまう現象がでてます。シートが複数あるので各シートごとに 保存してみようとしてシート移動を行った所,255byteを超える文字数の セルがあるとエラーが出るシートがいくつかあり、そのシートを除けば 保存できます。ただ、自分で試した所単に255byte超えるセルがあった だけで保存してもアプリエラーにはならないのですが他に落ちる 原因あるでしょうか。VBAはつかってないので私としては関数参照などで そのセルを参照しているのが落ちる原因と思われるのですが。 ほかに255byte制限でアプリエラーで落ちる原因があれば教えてください。
>>746 >私はサポート担当なのですが
この一文は不要。
>>746 ン千byteの文字列が大量に存在するExcelシートをかなりハードにゴリゴリ
編集していたことがあるけど、そういうセルを参照している関数があっても
保存エラーが起きたことはないよ。
使ってたのはExcel 2002だけど。
シートの移動の時に255バイトを超えるデータが消えてしまうのは仕様。
お粗末だけど。
>>745 =COUNTIF(A1:A10,"*山*")
作業列を使うことを妙に毛嫌いする人がたまにいるけど、 実際には作業列を使った方がスマートにw解決できる場合もある。 単に好みの問題なんだわな。 と、気の毒な作業列を弁護してみましたw
751 :
750 :2007/04/20(金) 09:29:49
あ。749さんに言ったわけじゃないから。誤解しないでね。
752 :
ph :2007/04/20(金) 11:43:56
質問です。 VLOOKUP関数を使って、たとえば「2行下を返す」ことはできたのですが、 「2行下1列右を返す」方法がわかりません。 おそらく、その他関数との組み合わせでできると思われますが、 具体的にどうすればよいのが解りません。 申し訳ありませんが宜しくお願いいたします。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 日付 足し算等でしてみました A1に西暦下二桁+月+日を6桁で表示した数字(例:070420)と入力(セルの書式は文字列)したものを B1で2007年4月20日と表示、さらに C1で1年後の1日前(この場合2008年4月19日)と表示させることは可能でしょうか? 可能でしたらB1,C1に入る関数を教えていただけませんでしょうか?
754 :
名無しさん@そうだ選挙にいこう :2007/04/20(金) 13:06:33
>>753 年=LEFT(A1,2):A1の左から2文字を抽出
月=MID(A1,3,2):A1の左3文字目から2文字を抽出
日=RIGHT(A1,2):A1の右から2文字を抽出
年月日の式をそれぞれ代入
B1=(年,月,日):表示形式を「yyyy"年"m"月"d"日"」に設定
C1=(年+1,月,日-1):表示形式を「yyyy"年"m"月"d"日"」に設定
>>752 全体像が見えない、モット簡単な方法がありそう
>753 C1に次の式。B1は略 =TEXT(DATE("20"&LEFT($A1,2),MID($A1,3,2),RIGHT($A1,2))-1,"yyyy年mm月dd日")
756 :
754 :2007/04/20(金) 13:51:13
>>753 B1=DATE(年,月,日):表示形式を「yyyy"年"m"月"d"日"」に設定
C1=DATE(年+1,月,日-1):表示形式を「yyyy"年"m"月"d"日"」に設定
「DATE」が抜けてた
1年後、を見落としてた orz
>>753 B1=TEXT(DATE((20&LEFT(A1,2)),MID(A1,3,2),RIGHT(A1,2)),"yyyy年mm月dd日")
C1=TEXT(DATE((20&LEFT(A1,2))+1,MID(A1,3,2),RIGHT(A1,2))-1,"yyyy年mm月dd日")
(20&LEFT(A1,2))+1 は今市 LEFT(A1,2)+2001
C1はシリアル値を使うしかないが、B1はこんな方法も =VALUE(A1) として表示形式を "20"00"年"00"月"00"日"
761 :
名無しさん@そうだ選挙にいこう :2007/04/20(金) 18:20:32
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 少々 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel ウィザード 住所 バーコード 郵便番号変換ウィザードを使用して郵便番号のバーコードデータを生成したいのですが、 バーコードが表示されません。 ちなみに既にバーコード表示があるセルを含むシートの表示は可能です。 コントロールの中に「Microsoft BarCode Control」が無いのですが、 これが関係してますか? ちなみにExcelはパソコンを購入した時にwordとともにインストール済みだったものです。 なのでAccessは入ってません。
【1 OSの種類 .】 Windows200 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 少し A1=3.8 (0.0の形式) B1=3 C1=8 のように *.* の形の数値を3と8に 分けて表示するにはどうしたらよいでしょうか?
763 :
745 :2007/04/20(金) 19:04:56
>>749 ありがとうございました
拍子抜けするくらい簡単なんですね
配列数式とかいろいろ使っても上手くいかなくてお手上げでした
さっそく職場の表を作り替え…
>>761 Excel自体にはカスタマーバーコード生成機能は無いっしょ。
でなかったら、わざわざカスタマーバーコード生成アドインなんて作る人居ないだろうし。
ということで、そういうアドイン使ってくださいな。いくつか有るので自分で探して自分で選んでね。
>>762 少数の整数部と小数部を切り分けたいってことか?
3.8をINT関数に掛ければ整数部の3が返るし、3.8からその整数3を挽けば0.8が出るのでそれを10倍にすればいい。
小数桁数が不定なら話は変わってくるけど。
765 :
753 :2007/04/20(金) 20:13:06
皆さんありがとうございます! 実際に試してみて不明な点があればまた質問させていただきます。
>>762 B1=INT(A1)
C1=MOD(A1,1)*10
何をやっているかは自分で考えるように
>764,>766 どうもありがとうございました。分かりました。
>>744 さん
大変なプレゼントありがとうございます。
凄いです。こんなことが出来るなんて思ってもみませんでした。
ぜひとも活用させていただきます。
ほんとうにありがとうございました。
769 :
761 :2007/04/20(金) 20:51:13
>>764 回答ありがとうございます。
しかし、
以下マイクロソフトのサイトより転載
---
Excel アドイン: 郵便番号変換ウィザード (2000/2002/2003 ユーザー用)
簡単な説明
郵便番号変換ウィザードを使用すると、シート上の住所データを基に郵便番号またはバーコード データを自動作成することができます。また、郵便番号から住所データを作成することもできます。
---
とあるので、Excel2000以降は可能だと思われるんですが。
>>769 よく読んでみ。作成できるのはバーコードデータであって
バーコードではない。
Accessの住所支援も郵便番号変換ウィザード と同じデータを使っているから
記述的にはそうなるだけ。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 日付が入力してるセルを移動したら 表示が######となってしまいました。 上の数式バーには日付が表示されているのに セルだけ######と表示されるのです。 解決策を教えてもらえないでしょうか・・
772 :
771 :2007/04/21(土) 03:30:29
すみません、自己解決しました。 セル幅の問題だったのですね・・
>>772 質問と自己解決のタイムラグの短さを見ると、疑問に思った瞬間に
>>771 の質問レスを書いてるな。
質問する前に、もう少し自分で試行錯誤するよう心がけて欲しい。
それくらい、いいじゃない 気が付くきっかけ(考えをまとめる))になるならどんどん書き込んで欲しいと思うよ
>>770 なるほど。。。。
お手数かけてしまいすみません。
ありがとうございました。
マクロ=VBAってことであってますか? それとマクロの勉強するのにおすすめ書籍があれば教えてください。。
紙に書いて作った表と計算式をスキャナで読み込ませて エクセル表を自動で作るVBAお願いします
>>776 表示形式が日付のセルで######になる場合、
列幅を広げれば解決するものと、それでは解決しないものとがあるな。
念のため。
>>778 そんな便利なものがあったら金を取れると思うよ。
782 :
名無しさん@そうだ選挙にいこう :2007/04/21(土) 10:00:55
教えてくれ 配列Aの中には6個の商品名があって、それをセルに1つずつ簡単に表示させたい。 できますか?
784 :
783 :2007/04/21(土) 10:08:55
785 :
782 :2007/04/21(土) 10:14:30
すまん。vbaでお願いしまする
>>785 連続した範囲ならそのまんま表示できるよ。縦だったらtranspose使えばおk。
a = Array(1, 2, 3, 4, 5)
Range("A1:E1").Value = a
Range("A1:A5").Value = WorksheetFunction.Transpose(a)
【1 OSの種類 .】 WindowsVista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】Excel セル 順位 すいません。SUMによって数値が入力された異なる5つのセルの パーセンテージを拾ってその5つのセルの横のセルに上位より 順位を1,2,3,4,5と付けることはできるのでしょうか?
788 :
782 :2007/04/21(土) 11:06:24
>>786 おー、サンクス。早速の回答、助かりました。
Dim 行 As Long For 行 = 5 To 1125 Step 5 Cells(行, 16).Interior.ColorIndex = 36 Next 行 おじゃまします。 上記文だと実行してくれないのですが・・・・・・ 何処いじれば良いですか?
790 :
名無しさん@そうだ選挙にいこう :2007/04/21(土) 11:39:18
>>787 RANK関数を調べてみな
文章が分りにくくて、この程度の回答しか出来なくてごめんよ
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 フィルハンドラ 飛び飛び 離散 セルA2に=A1、セルC2に=B1、セルE2に=C1というように、ひとつとびのセルに式を書き入れたいと思っています ですが、フィルハンドラを使用するとセルC2には=C1、セルE2には=E1という別な式が書き入れられてしまいます これはどのようにしたら実現する事ができるのでしょうか?
>>789 Sub 馬鹿()
Dim 行 As Long
For 行 = 5 To 1125 Step 5
Cells(行, 16).Interior.ColorIndex = 36
Next 行
End Sub
>>793 すみません。
上記文でもダメでした。
エラーメッセージはでないのですが、実行してくれないです。
>>794 セルの色が5行おきに薄い黄色になりましたよ
>>794 マクロのセキュリティレベルは中以下になってるの?
違うシートに書いている に1海豚
>>792 A2のところは式が別だから、A2=A1,C2=B1は自分で打ち込む。
あとはC2とD2を範囲指定して、フィルでいいんじゃないか。
800 :
794 :2007/04/21(土) 12:32:11
みなさん沢山のレスありがとうございます。
他のマクロは使えている環境で現在も実行中です。
実際に出来ている方もいるので、
>>798 のヒントを
元に調べてみます。
801 :
794 :2007/04/21(土) 12:43:18
>>796 新規ファイルで実行してもダメです。
下記文だと実行してくれます。
Sub 馬鹿2()
'
Dim 行 As Long
For 行 = 15 To 1125 Step 5
Range("A1").Select
Selection.Copy
Cells(行, 16).Select
ActiveSheet.Paste
Next 行
End Sub
何故か解る方教えてください。
>799 自分で試してみれ
>>792 =OFFSET($A$1,0,(COLUMN()+1)/2-1,1,1)
803 :
sage :2007/04/21(土) 13:47:27
エクセル2007ですが、シフトキーを押しながら直線を描くと まっすぐな線がひけるのですが、再度シフトキーを押しながら 長さを調整しようとするとうまくいきません。 キーが変わったのでしょうか?
804 :
名無しさん@そうだ選挙にいこう :2007/04/21(土) 14:15:06
絶対値で計算をしたいのですが、どうすればいいですか。 例えば、50、−25、−25 をSUMで集計すると 0 になりますが、 絶対値で集計すると 100 になりますよね。 このような絶対値計算をしたいのですが。
805 :
名無しさん@そうだ選挙にいこう :2007/04/21(土) 14:38:11
>>804 絶対値=ABS()
これを配列式で合計
806 :
名無しさん@そうだ選挙にいこう :2007/04/21(土) 15:04:51
沖縄県の方へ(命に関わる注意事項です) 沖縄県での選挙ですが、どうか民主党だけは避けてください。県民の生命に関わる可能性があります。 民主党の最大の公約は一国二制度(※)ですが、一度「一国二制度 沖縄 三千万」等で検索をお願いします。 この際、民主党のHPで調べても良いです。以下の注釈↓と矛盾することは書いてないはずですから… ※一国二制度 簡単に言えば沖縄を中国と日本の共有物にし、そこに3000万人の中国人を入植させます。 (つまり沖縄人口の 96% を中国人にして、実質、沖縄を中国人の居住地とします。) さらに「自主」の名の下、沖縄で有事が起きても自衛隊は干渉できません。 3000万人の中国人が、少数派となった130万人の日本人に何をしても、です。 そして反日教育を受けた中国人の反日感情の強さは、ほとんどの日本人の理解を超えるものです。 今回の選挙で民主党が勝った場合、「自主」「発展」を連呼しつつ段階的に進めていくことになります。 自主と言っても、自主を認めるのが「住人の96%が中国人となった」後だということに気をつけてください。 発展と言っても、新沖縄の少数派となった「少数民族日本人」の発展ではないことに気をつけてください。
807 :
名無しさん@そうだ選挙にいこう :2007/04/21(土) 15:08:36
>>805 ありがとうございます。
でも、=SUM(ABS(P4):ABS(P6))って入力したらエラーになっちゃいました><
>>807 だったら、下にでも横にでもABSで絶対値に変換した計算用の値を作って
SUMしたらよい
810 :
名無しさん@そうだ選挙にいこう :2007/04/21(土) 16:15:43
>>807 >配列式で合計
って書いてるだろ、チョットは調べろや
811 :
名無しさん@そうだ選挙にいこう :2007/04/21(土) 18:30:20
二週間程空きができたので、ワード、エクセルをパソコンスクール(四万円)で習おうと考えています。全くのパソコン初心者ですが、独学でも可能でしょうか?
パソコン初心者とはいえ、ここに書き込みできる程度のスキルはあるんだろ それなら良さそうな本買って独学したほうがいい気がするな 4万も使えば良本の大概を買い揃えられる
813 :
名無しさん@そうだ選挙にいこう :2007/04/21(土) 18:41:03
今月号のI/Oにオフィスの安い買い方が出てる。 まとめて新型買うよりアップグレードの方がお得ってさ。
アプグレードすると再インストールするとき面倒でならん
815 :
792 :2007/04/21(土) 18:49:32
返信が遅れてしまってすみません
>>802 offset関数は知りませんでした、便利な関数があるものですね
思っていた通りのものができそうです、本当にありがとうございました
>>799 そうなんですよね
自分もいろいろ試してみたんですけど、大概式もひとつ飛びになってしまうんですよ
それをどうにかできないかなと
>>801 P行に5行おきにA1の値が入力されました。
おかしいことは何もありません。
817 :
802 :2007/04/22(日) 15:01:04
ちょっと訂正 =OFFSET($A$1,0,(COLUMN()-1)/2,1,1)
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 設定 横軸 エクセルの横軸表記がなぜかいつの間にか「A,B,C…」ではなく、「1,2,3,…」となってしまい、 セルの指定が出来ずに数式を打ち込むことが出来なくなってしまいました。 おそらく初歩的なことがらなのだと思いますが、対処が出来ず困っております。 なにとぞ対処法のご教授をお願いいたします。
>>818 ツール→オプション→
全般→R1C1参照形式を使用するのチェックを外す
メニュー > ツール > オプション > 全般 の「R1C1参照形式を使用する」のチェックを外せ。 それに、その状態でも数式は打ち込めるぞ。R1C1参照形式の数式なら。
821 :
818 :2007/04/22(日) 18:37:07
>>819 さん、820さん
早速のご返事ありがとうございました。無事解決することが出来ました。
これで仕事が出来ます。
ほんとうにありがとうございました。
822 :
名無しさん@そうだ選挙にいこう :2007/04/22(日) 23:39:36
先日使ったときまでは異常なかったのに 矢印キーでセルの移動ができなくなりました… 矢印キーを押すとなぜかスクロールボタンが動きます。 以前のような設定に戻したいのですが どこの設定を変えたらよいのかわからず… 検索してもイマイチわかりませんでした。 どなたか助けてください… 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 excel セル 移動 ←よくわからず…
826 :
名無しさん@そうだ選挙にいこう :2007/04/22(日) 23:51:19
>>825 おお!知らないうちにボタン押してしまってたんですね…
右下にもスクロールロックオンの表示でてました。
いつも使わない機能だからまったく気が付かなかったです。
どうもありがとうございました!解決しました。
827 :
名無しさん@そうだ選挙にいこう :2007/04/23(月) 00:47:13
こんにちは。 ここすごいですね、詳しい人がたくさんいる〜! 私が困っていることってもしかしたら すごく基本的なことなのかもしれないのですが、 分かる方いらっしゃったら、ぜひアドバイスを お願いします。 OS⇒Windows2000professional excel⇒2000 あるイベントに参加した人の年齢を年代別に集計していて、 0〜9歳、10代、20代、… 90代、100歳以上 というふうにそれぞれ何人ずつか振り分けたいんです。 参加者の年齢はひとつの列にタテにダーっと数字だけ入力してあります。 5.56.21.44.62.13.6.26というデータがあるとすると、 0〜9歳は「2(人)」、10代「1」、20代「2」、といった 感じで別のセルに集計したいんです。 どういった関数を設定すればいいでしょうか? どなたかお助けください…
>>827 関数よりもピボットテーブルを覚えた方がいいような・・・
複数行の挿入をキー操作のみでいっきにやるのってどうやるの?
>>827 分析ツールのヒストグラムを使うと簡単にできるよ
831 :
名無しさん@そうだ選挙にいこう :2007/04/23(月) 07:11:52
>>828 ピボットテーブルは普段使ってるんですが、
応用できなかったんです…
>>830 ありがとうございます。
やってみたんですけど…エラーが出てしまいます。
具体的にどんな範囲指定をすればいいのでしょうか?
>>829 shift+↓で複数行にわたる範囲選択
shift+スペースで行選択(半角モードにしておく必要あり)
ctrl+shift+;
で挿入完了
>>827 あえて関数で答えてみる
A列には年齢以外の数値が入力されていないとする
B1からB10に10から100まで10毎の数字が入力されているとする
まず、10,20…90,100未満の人数を求める
C1=SUMIF(A:A,"<"&B1)
:
C10=SUMIF(A:A,"<"&B10)
次に、0,10…80,90以上の人数を求める
D1=SUMIF(A:A,">="&B1-10)
:
D10=SUMIF(A:A,">="&B10-10)
この二つの合計を求める
E1=C1+D1
:
E10=C10+D10
E列の数値はA列の合計値に対して ○以上□未満 の数値が重複して足されたものだから
F1=E1-SUM(A:A)
:
F10=E10-SUM(A:A)
で、○以上□未満の数値が求められる
まとめて
C1=SUMIF(A:A,"<"&B1)+SUMIF(A:A,">="&B1-10)-SUM(A:A)
:
C10=SUMIF(A:A,"<"&B10)+SUMIF(A:A,">="&B10-10)-SUM(A:A)
でもよし
SUM関数とSUMIF関数の意味は自分で調べるように
「世代」列(10代、20代 etc)を追加して、そこからピボットテーブルを使うのが いちばん簡単じゃなかろうか。 世代の出し方は、手作業でもオートフィルタを使えばわりと簡単だけど、 汎用的に使い回し対なら関数やマクロで組むのが現実的かな。
835 :
名無しさん@そうだ選挙にいこう :2007/04/23(月) 09:01:37
>>833 うっかりミスだよ、計算対象は人数
SUM→COUNT
SUMIF→COUNTIF
>>831 >
>>828 > ピボットテーブルは普段使ってるんですが、
> 応用できなかったんです…
回答の希望は関数とのことなのでアレだが、ピボットの年齢フィールドを右クリック、
グループ化とアウトライン→グループ化で先頭を0、末尾を99ぐらいにすると幸せになれる。
837 :
名無しさん@そうだ選挙にいこう :2007/04/23(月) 11:09:04
【1 OSの種類 .】 Windows XP SP2 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel 2007 頂点 etc 2007に乗り換えたら、矢印を水平方向に伸ばせなくなってしまいました。 2003では、図形の矢印の頂点を、Shift+ドラッグで水平方向に伸ばせたと思うんですが、 2007にしたら無限に伸びてしまいます…。 ご存知の方教えていただけないでしょうか。
>>837 現象は確認できたけど、単なる初期バグでしょ。
最初に引くときはShift押しながら水平に引けるから、
伸ばすときはShift押さずにやればええやん。
最初の水平線がガイドライン代りになるから、別に難しくないと思うけど。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 背景色 背景色が赤だったらカウントしたいです。 下記の計算式では、無理でした。 "Interior.ColorIndex = 3"を文字列と認識してしまいます。 関数のみでできないでしょうか? =COUNTIF(P5:P1400,"Interior.ColorIndex = 3") =SUMIF(P5:P1400,"Interior.ColorIndex = 3",P5:P1400)
>>839 ワークシート関数では不可能です。
やりたければVBAでユーザー定義関数を組んでください。
841 :
839 :2007/04/23(月) 12:10:58
>>840 早速のレスありがとうございます。
ちょっと勉強してみます。
842 :
839 :2007/04/23(月) 12:13:35
>>840 上記ヒントでググったらすぐ出てきました。
親切なヒントありがとうございます。
843 :
837 :2007/04/23(月) 12:15:35
>>838 初期バグですか、ありがとうございました。
844 :
es :2007/04/23(月) 13:01:44
Excel 2003 SP2 WindowsXP SP1 画像を貼り付けると、シートの一番左上に張り付いてしまいます。 デフォルトの設定ではカーソルのあるセル周辺に張り付いいたとおもうのですが直し方を教えてください。
XP Excel2003 マクロ不可 年ごとに会計ファイルをいくつか作り会計処理をしています。 決算ファイルから実績ファイルを参照しているのですが、項目を追加したくなりました。 2006kessan.xlsのA10に水道料金があったとして、A9に電気代を追加すると2006jisseki.xlsから2006kessan.xlsのA10を 参照していたセルはA11を参照するようになっておらず、A10を参照したままになり、それ以降の参照がすべてずれてしまいます。 $有りと無しでやったのですが、両方とも駄目でした。 今は2006kessan.xlsを2007kessan.xlsに変更するのもすべて手動で変えています。こちらは置き換えが使えるのである程度は楽なのですが。 独自の会計方式なので一般的な会計ソフトは使えません。 項目を簡単に追加する方法か挿入したセル以降の書式を簡単に置き換えできる方法がありましたら教えてください。
>>845 アドレス決め打ちで参照するんじゃなくて、検索参照関数を使って参照しようぜ。
A B C
1 電気 100000
2 水道 40000
3
で、例えば電気代と水道代の合計を出す場合、
=B1+B2
ではなく
=VLOOKUP("電気",A1:B5,2,FALSE)+VLOOKUP("水道",A1:B5,2,FALSE)
とでもすれば、2行目に別項目を追加して水道が3行目になっても、同じ式で電気代と水道代の合計が出せる。
参照範囲がA1:B2ではなくA1:B5になってるのは、同一シートでないとセルの挿入で自動的に参照範囲が広がらないからその予備。
その場限りの追っつけで、「とりあえず形になってる」だけの会計シート・ブックなら中学生でも作れるが
実用するならメンテナンス性まで考えて作れるようにならなくちゃね。得にVBA(マクロ)使いたくないなら、大幅な改変は大きな手間になるから。
>>845 参照元のセルに名前付ける
ex:電気代
↓
参照先のセルで名前で参照
ex:=[2006kessan.xls]sheet1!電気代
既にあるシートに名前を付けた場合は、[挿入]-[名前]-[貼り付け]-[リスト貼り付け]
でリストの一覧がわかるので、そのリストの値を使って置き換える。
大量のセルを引算するときに、効率よく入力する方法はないでしょうか? 一つ一つセルを選択しながら、-を入力するのが面倒です。 合計を出して、そのセルから引くという方法が簡単だと思いますが、無駄なセルを増やしたくないのです。
>>848 =元のセル−SUM(引きたいセル範囲)
850 :
839 :2007/04/23(月) 18:48:50
背景色(Colorindex=3)をカウントしたいです。
>>840 さんのおかげさまで、ユーザー定義関数を設定して、cellcolor(P5)と入力すると[3]とかえってきます。
この状態で、={SUM(IF(cellcolor(P5:P1400)= 3,1,0))} にしてもカウントしてくれません。
しかし、={SUM(IF(cellcolor(P5)= 3,1,0))} とか ={SUM(IF(cellcolor(P123)= 3,1,0))} と1つの
セルでカウントすると、1個or0個で数えてくれます。
ユーザー定義だと、配列数式だきないのでしょうか?
どなたか知恵を貸してください。
> ユーザー定義関数を設定して
どういうユーザー定義関数を設定したのかちゃんと書こうね。
>>2 ・8
>>846-847 レスありがとうございます。
いずれにせよ手打ちで大規模に修正かけないといけないんですね・・・。
3日ぐらいかけて全データを試してみます。
>850 というか、何で配列数式使わなきゃならないユーザー関数組むのよ。
>>851 失礼しました。下記の文を追加しました。
function cellcolor(セル)
cellcolor=セル.interior.colorindex
end function
>>852 ありがとうございます。勉強してみます。
>>854 配列数式を使わないユーザー関数についても調べてみます。
856 :
名無しさん@そうだ選挙にいこう :2007/04/23(月) 22:33:21
>>833 >>835 ありがとう!!!
天才!!天才すぎです!!
ほんとにめっちゃ助かりました!
こういうのってほんと、論理的思考力がないと
無理だね。私だったらこの答えにたどりつくのに
リアルに1年はかかるわ…
でもおかげで苦手意識の強かった関数にも
トライしたい気持ちが高まってきました。
ほんとにどうもありがとう!
857 :
名無しさん@そうだ選挙にいこう :2007/04/23(月) 22:38:16
>>834 す、すみません(-_-;)
834さんもありがとうございました!
今回は色々なとこにデータをひっぱってかなきゃいけないので
アレなんですが、ピボットテーブルの応用も今後のために
トライしていきたいと思います。
858 :
名無しさん@そうだ選挙にいこう :2007/04/23(月) 22:42:45
>>836 836さんもありがとうございました。
明日データがある場所に行ったら、このアドバイスに
ついても試してみたいと思います。
>>846 両方のファイル開いた状態なら
挿入反映するんじゃ?
これ2007からだっけ?
860 :
859 :2007/04/23(月) 23:20:13
>>859 おいらの2000でも追い掛けていくよ。
>>855 ユーザー関数では、配列数式の設定自体ができないみたいですね。
Function CntCol(Rng As Range, Col As Integer) As Long
CntCol = 0
For Each r In Rng
If r.Interior.ColorIndex = Col Then CntCol = CntCol + 1
Next
End Function
>>859 ありがとうございます。
4月のシート、5月のシート・・・とそれぞれのシートと項目ごとにやらないといけないので
変更するのが軽く1000件を超えるので時間がかかるかと。
左端のセルの一部の文字列を簡単に抜き出すことができればいいんですけど甘いでした。
>>862 ありがとうございます!!
ユーザー定義っていろいろ設定できるんですね!!
感激ッス。
エクセル2000です。 sheet2からsheet1に値を挿入したいのですが、sheet1の情報が3行おきに なっています。 下記文章の、「ActiveCell.FormulaR1C1 = "=Sheet2!R[-1-列]C[62]"」で エラーになります。 Sub Sheet2から値を挿入() ' ' Dim 列 As Long 列 = 0 Dim 行 As Long For 行 = 10 To 700 Step 3 列 = 列 + 2 Cells(行, 9).Select ActiveCell.FormulaR1C1 = "=Sheet2!R[-1-列]C[62]" Next 行 End Sub 何処を直せば良いかお願いします。
>>865 ActiveCell.Formula = "=Sheet2!R[" & -1 - 列 & "]C[62]"
ではダメかな?
>>866 早速のレスありがとうございます。
上記文で早速試してみましたが、構文エラーになりましたorz
またありましたら、よろしくお願いします。
>>867 ウチでは動くけど?
&の前後にスペースあけてる?
>>865 行の変数に「列」とか付けない方がいいな。
値を挿入マクロなのに、式を挿入している。
>866で構文エラーは出ませんよ。
Sub hoge()
j = 10
For i = 7 To 237
'Cells(j, 9) = Sheet2.Cells(i, 71)
Cells(j, 9).Formula = "=Sheet2!BS" & i
j = j + 3
Next
End Sub
870 :
名無しさん@そうだ選挙にいこう :2007/04/24(火) 14:09:05
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 以下のよう1-182まで続けたいのですがどうしたらよいでしょうか。 Write Table 1 Name '1' Return Write Table 2 Name '2' Return Write Table 3 Name '3' Return Write Table 4 Name '4' Return 「Write Table 1 Name '1' Return」は一つのセルに入ってます。 よろしくお願いします。
>>868 >>869 ありがとうございます。
空白を入れたら実行してくれました。
大変勉強になりました。
>>870 手っ取り早い方法だと、A1セルに以下のように関数を書いて、A182までオートフィル。
="Write Table "&ROW()&" Name '"&ROW()&"' Return"
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 名前の定義 名前ボックス コンボボックス A1〜A10までそれぞれ1〜10までの数字を入力しています。 その数字を名前の定義で「数字」と定義しました。 そして「数字」の範囲をコンボボックス(フォーム)で表示しています。 ただ、10の下に11,12という風に数を増やして、 それと連動して名前の定義の範囲も拡大させていきたいのですが、 どういった機能を使えば、範囲を広げることができますか?
>>873 10行目を選択して行を「挿入」すると、名前の定義エリアも
それに合わせて伸びるはず。(A1:A11)
>>874 レスサンクス
その方法もあるのですが、数字を定義しているシートと
他のシートを連動しています。
行の挿入をしてしまうと他のシートとの連動が
おかしくなってしまうため、挿入は避けたいのですが。
そのため、行の挿入ではなく、他の方法、
forとか?で行いたいのですが…。
条件の後出し(・A ・)イクナイ!
A9とA10の間にセルを挿入して A11に移動した数字をA10に書き戻す A11には新しい数字を入れる。 or 最初に数字が入っていないA11まで定義しておく。
>>867 すまそ。
話すと長くなってしまうので、要点だけ説明したつもりなんですが…。
説明するから、ちょっとまって。
>>875 状況がいまいち把握しかねるけど、行の挿入がダメなら、
ユーザーフォームのアクティベートイベントをトリガーにして
Forループでゴリゴリプルダウンの値を作ることになるのかな。
やり方分かる?
分からなければVBA例くらいは書くけども
880 :
873 :2007/04/24(火) 18:00:30
A1〜A10までそれぞれ1〜10まで数字を入力しています。 その数字を名前の定義で「数字」と定義しました。 そして「数字」の範囲をコンボボックスで表示しています。 ただ、10の下に11,12という風に数を増やして、 それと連動して名前の定義の範囲も拡大させていきたいのですが、 どういった機能を使えば、範囲を広げることができますか? 今やろうとしているのは、 A列に数字が入力されていて、その入力されている数字をコンボボックスにNoとして、表示しています。 そして、その数字を選択するとその数字の行に収められているデータが フォームに表示するように設定しています。 数字の列にデータが収められているシートは他のシート(sheet2)と連動しており、 同じセルには同じデータが表示されるようにしています。 データの同期は「=sheet1!A1」という風にイコールで表示させています。 そのため、名前の定義をしているシートの行を変更すると sheet2のデータがずれてしまい、オートフィルをする羽目になってしまいます。 そもそも、データをsheet1とsheet2で同じセルのデータの同期を =でつないでいるところが問題と思い始めてきました。
>>880 最終的に実現したいのは
A コンボボックスの中身を動的に増やしたい
B 名前の定義範囲を勝手に伸ばしたい
C 両方実現させたい
のどれ?
Aだけでいいなら、名前の定義自体も必須じゃないけど。
882 :
873 :2007/04/24(火) 18:37:10
>>882 以下のマクロを好きなタイミングで呼び出してみて。
UserForm_Activateイベントあたりに埋めとくと自動的に動くので楽。
【注意事項】
・コピペすると「?」が大量に出てくるので、半角スペースに置換してくだせい。
・マクロ内に書き換え必須の箇所が2箇所あるので注意。(コメント参照)
・コンボボックスのRowSourceプロパティの値を空っぽにしておかないとエラーになります。
---------------------------------
Sub UpdateCombobox()
'更新対象のコンボボックス
Dim cb As ComboBox
'コンボボックス更新前の選択値
Dim cbSel As String
'コンボボックス更新後の選択インデックス
Dim cbInd As Long
'読み込み対象のワークシート
Dim ws As Worksheet
'ワークシートの読み込み行番号
Dim row As Long
'ワークシートから読んだ値を一時的に保持
Dim cbVal As String
(以下、次のレスに続く)
(続き) Set ws = Sheet1 ' ←実際のシートオブジェクト名と置き換える Set cb = ComboBox1 '実際のコンボボックス名と置き換える cbSel = cb.Value cbInd = -1 cb.Clear For row = 1 To ws.Cells(65536, 1).End(xlUp).row cbVal = ws.Cells(row, 1).Text cb.AddItem cbVal If cbVal = cbSel Then cbInd = row - 1 Next cb.ListIndex = cbInd End Sub
注意事項修正 ・コピペすると「 」が大量に出てくるので、半角スペースに置換してくだせい。
886 :
名無しさん@そうだ選挙にいこう :2007/04/24(火) 19:14:26
Excel2007でXLAM形式で保存したアドインのタイトルが化けるんだけどこれってバグ? 配布準備→プロパティ のタイトルとかコメントで日本語使うとダメっぽいんだけど。 保存したアドインを追加する画面で文字が化けてる・・。
887 :
名無しさん@そうだ選挙にいこう :2007/04/24(火) 19:44:34
グラフ上に座標の数値を表示させたいんだけど、どうしたらいいですか?
マクロで表を2,3個同時に作れるようにしたんだけど その表だけをコピーしようとすると なんか余計な表までついてきてしまうです。 他のを削除して必要な表だけ使ってもいいんだけど 立ち上げるたびにマクロを実行しますか〜〜うんぬんと出てウザイのと 無駄に容量が大きくなってしまうのです。 うまく表だけ抜き取るか、必要な表以外を削除してマクロも削除できる方法ないでしょうか?
よく意味がわからんな、特に >余計な表までついてきてしまう の辺り とりあえずそのマクロを貼ってくれ、何レス使っても構わないから
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003、2007 【3 VBAが使えるか .】 はい少し 【4 VBAでの回答の可否】 可 【5 検索キーワード 】VBA 保護 entire hidden 実行時エラー 1004 VBAに興味を持ち始めて1月ほど、参考書やネットでちまちま勉強してます。 で、ちょっとわからないことがでてきまして あるボタンを押すごとに、決められた数行が 隠れたり現れたりするマクロというかボタンを作っています。 〜〜〜 Sub ボタン() Dim a As Boolean 'aがTrueかFalseを宣言する a = Rows("5:18").EntireRow.Hidden 'aは5行目〜17行目が隠れているかどうか If a = False Then 'aが隠れているか(False) Rows("5:18").EntireRow.Hidden = True '隠れているので現せる(True) Else '隠れていなければ Rows("5:18").EntireRow.Hidden = False '隠す(False) End If End Sub 〜〜〜 とりあえず、これで動いてくれるのですが いざシートを保護すると 実行時エラー'1004': Range クラスの Hidden プロパティを設定できません というエラーがでます。これを回避する方法としては このプログラム自体にシート保護を解除→設定 と組み込むくらいしかないのでしょうか
892 :
名無しさん@そうだ選挙にいこう :2007/04/25(水) 00:47:35
初歩の質問で申しわけないんだけど教えてちょ。 B1〜H1に人の「名前」が入ってて、 B2〜H2にそれぞれの点数が入ってるとする。 B2〜H2で一番点数高い人の「名前」をA2に表示する場合 どーすんの?
>>892 =index(b1:h1,1,match(max(b2:h2),b2:h2,0))
894 :
名無しさん@そうだ選挙にいこう :2007/04/25(水) 01:38:02
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 excel マクロ mid mid関数のパラメータを、指定したセルの値を用いたいと思っています。 例えば、 A1の値は123456789 B1の値は4 C1の値は2の数字が入力されているとした場合、 A1に入力された文字列の中から、B1バイト目から、C1バイト分をD1に転記したいのですがどのようにすればよいでしょうか? D1にMID関数を入れると、上記の回答は45ですよね? よろしくお願いいたします。
895 :
名無しさん@そうだ選挙にいこう :2007/04/25(水) 02:10:20
↑ 取り消します。 こんな質問をした自分がバカでした。
島根県のみなさん、パチンコをするなら、 優良パチンコ店 エイト○ン に行こう! 遠隔(※1)をやっていないパチンコ店は「エ○トワン」だけ! 違法ロム(※2)を使っていないパチンコ店も「エ○○○ン」だけ! 人通りの多い時間帯、店の入り口付近の席でドル箱つんだサクラが座ってないのも「エ○○○ン」だけ! 詳しい方はご存知の通り、どんなにパチンコの遊戯人口が変動しても、その市場規模は変わりません(※3)。 要するに、客が減っても、残った客から絞り盗る量を増やして調整しているのです。 しかし、何故それが可能なのか?…ご理解頂けると思いますが、9割以上の店が確実に遠隔等を行ってます。 1万店以上のパチンコ店の中で、遠隔も違法ロムも確実にやってないのは「エ○○○ン」ただ1店です! ※1…遠隔とは 「お、あの客は新顔だな。勝たせて味を占めさせるか。遠隔操作で設定変更しよ」 「客が減ってきたな。ま、設定を絞めて(違法)、1人あたりから搾る量を増やせばいいか」 「あのオヤジ負け続けてるからそろそろ辞めるかもな。今日は勝たせてやるか」 ※2…違法ロムとは 「うちのアタリ確率は、もちろん他と同じ『○○○分の1』ですよ!(ロムいじってるからウソだけど)」 ※3 市場規模 遊戯人口 平成06年 30兆4,780億円 2,930万人 平成08年 30兆0,630億円 2,760万人 平成10年 28兆0,570億円 1,980万人 平成12年 28兆6,970億円 2,020万人 平成14年 29兆2,250億円 2,170万人 平成16年 29兆4,860億円 1,790万人
897 :
名無しさん@そうだ選挙にいこう :2007/04/25(水) 08:44:48
行のグルーピングなんですが、プラスボタンの右に行をまとめることはできますか? ボタンを押すとその右にグルーピングされていた行が展開されるようにしたいのですが。
無理
899 :
名無しさん@そうだ選挙にいこう :2007/04/25(水) 09:54:09
>>893 できました!ありがとうございます。
もう一つ質問です。(たぶん最後)
D2〜Q2に点数がはいっているが、特定の点数が4人いた場合にB2に◎を付ける
特定の例:-10点が3人に30点が1人 OR 10点が2人に-10点が2人 OR -30点が1人に10点が3人
※D2〜Q2は空欄の場合もある。
くだらない質問でごめんなさい。
=IF(OR(AND(COUNTIF(D2:Q2,-10)=3, COUNTIF(D2:Q2,30)=1), AND(COUNTIF(D2:Q2,-10)=2, COUNTIF(D2:Q2,10)=2),AND(COUNTIF(D2:Q2,-30)=1, COUNTIF(D2:Q2,10)=3)),"◎", "")
901 :
名無しさん@そうだ選挙にいこう :2007/04/25(水) 11:17:23
すいません。2007なんですが。 テーブル機能でテーブル内のそれぞれの列の合計や平均、標準偏差などを求められるような行がまぐれでたまたま作れたんですが これってどうやったら作れるんでしょうか? かなり役立つので使いたいんですが。。
902 :
901 :2007/04/25(水) 11:25:43
すいません、自己解決しました
903 :
名無しさん@そうだ選挙にいこう :2007/04/25(水) 11:38:45
テーブルについてなのですが、テーブル内のデータを削除せずにテーブル機能だけを消すことは可能ですか? どうすればよいのでしょうか?
>>901 自己解決したときは他の人のために方法も書いときなさいねと。
デザイン>テーブルスタイルのオプション>「集計行」にチェックね
2003で「リスト」と呼んでたのを、2007でいきなり「テーブル」に変えたりすると
混乱するっつーのw>MS
906 :
名無しさん@そうだ選挙にいこう :2007/04/25(水) 12:00:31
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 済み 質問です。Aの列には価格帯(0〜10000000)の数字がばらばらに2000行ほどあります。 それとは別にBの列にはそれに応じたアクセス数があります。 −−−−−−−−−− 金額 |アクセス| 100000 |1000 | 1000 |12621 | 3200000 |3335 | −−−−−−−−−− というかんじですが、価格帯にあわせてのアクセス合計数を出したいのです。 0〜500000のアクセス総数とかです。 関数も=sumif(a:b,0<500000,b:b)などを含めいろいろとやっているのですが 結果が出ません。助けてください。
907 :
名無しさん@そうだ選挙にいこう :2007/04/25(水) 12:03:18
>>900 マジでありがとうございます。
最後とか言っておきながら、も一つ(何度もすんません)
>>900 で◎が出た場合
>>893 を表示しないって、なにか簡単な方法あります?
908 :
873 :2007/04/25(水) 12:30:50
>>883 上司の仕様変更でこの機能がいらなくなってしまいました。
(;´д` ) トホホ
同じようなの作る機会があったら、使ってみます。
>906 ヘルプにそのまま書いてある =SUMIF(A2:A2000,"<500000",B2:B2000) >907 仏の顔もなんとやら、、 =IF( 900が◎なら , 893を表示しない , 893を表示する )
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 検索、置換、リスト A列に顧客名が入力されています。 顧客名は同じ顧客や一つしかない顧客もあります。 B列にはA列の顧客のデータとして、 数字(金額)が入力されています。 自動でB列にある顧客のデータの合計を他のシートに 表したいのですがどうしたらいいでしょうか? A列の顧客名の同じ顧客はまとめて、 まとめた顧客の合計データをセルに表します。 A列 B列 みどり 100 みどり 200 みどり 100 みかん 200 みかん 100 他のシート みどり 400 みかん 300 ブックの共有を使うのでピボットテーブルや自動集計は使えません。 また、A列とB列のデータは増える予定(300位)です。
911 :
名無しさん@そうだ選挙にいこう :2007/04/25(水) 16:54:17
>>910 例えばSheet2の
A1=みどり
B1=SUMIF(Sheet1!A:A,A1,Sheet1!B:B)
912 :
910 :2007/04/25(水) 17:13:47
>>911 やってみます。
DSUMという関数も試してみる予定です。
913 :
910 :2007/04/25(水) 17:19:06
>>911 すごいです。。
こんな簡単な方法でできるとは思いませんでした。
自分の作りたいものにまだなっていないのですが、
この技を組み合わせていろいろやって見ます。
また、質問するかもしれないですけど、
そのときはよろしくお願いします。
914 :
910 :2007/04/25(水) 17:40:34
A列 みどり みどり みどり みかん みかん とあった場合、 別のシートに みどり みかん という風にデータを取り出したいんですが、 わかる方いませんか?
915 :
907 :2007/04/25(水) 18:20:40
>>909 仏様ありがとう。もう質問はやめときます。
917 :
名無しさん@そうだ選挙にいこう :2007/04/25(水) 19:02:30
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 自動的 セルの設定 何年も前にEXCELのプログラマーが作ったファイルを使っているのですが セルの設定が勝手に変わってしまいとてもやりにくいです。 例えば、関数の式を変えてENTERを押すとTEXTの設定に変わってしまいます。 しかもセルの設定画面ではもとに戻せず、いつも別のセルをコピーして貼り付けなければ いけません。 また、ENTERキーを押して次のセルに進むと勝手に色が変わってしまいます。 とてもわずらわしいので直したいのですが、どのようにすれば良いでしょうか?
>>917 VBA使えるんなら、ALT+F11で見てみたら?
919 :
d :2007/04/25(水) 19:50:17
>>910 こんなんでどうでしょうか。^^
(書き込み先シートは新規シートにしてますが、既存のシートが良ければ適当に変更してください。)
Sub Shukei()
Dim Dic As Object 'Dictionary
Dim K As Variant
Dim RR As Range
Dim R As Range
Dim Dst As Range
Dim Ks As Variant
Dim i As Long
Set Dic = CreateObject("Scripting.Dictionary")
Set RR = Range("A1")
Set RR = Range(RR, RR.End(xlDown))
'書き込み先
Set Dst = Worksheets.Add.Range("A1")
For Each R In RR
K = R.Value
Dic(K) = Dic(K) + R.Offset(, 1).Value
Next
For Each K In Dic.Keys
Dst.Value = K
Dst.Offset(, 1).Value = Dic(K)
Set Dst = Dst.Offset(1)
Next
Set Dic = Nothing
End Sub
920 :
d :2007/04/25(水) 19:53:50
>>919 消し忘れました。以下の部分は不要です。
Dim Ks As Variant
Dim i As Long
誰かエクセル関数「combine」の使い方教えて!
>>921 combineなんてあるの??
combinでイイのならHELPに載ってる。
エクセル勉強したいのですが、入門〜中級くらいまで網羅している本で、 お勧めの書籍があったら教えてください。 osはxp、Excel2002。プログラムは素人です。
924 :
名無しさん@そうだ選挙にいこう :2007/04/25(水) 21:01:07
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 関数 数式で質問です。 途中まで考えたのですが A1に100もしくは1入力 C1は(A1/100) B1はりんご=2 ””=1 =IF(B1=2,INT((A1-C1*100)/1),0) D1に1、E1に1を取り出す場合の 数式を教えてください。 D1とE1はA1に100、1の片方の値が入力された場合0表示 よろしくお願いします。
>>923 何でも良い。マジで。
入門書&逆引きリファレンス本&ネット(モーグ)等は基本。
あとはMSDN。
928 :
名無しさん@そうだ選挙にいこう :2007/04/25(水) 21:04:46
OS Windows XP Excel 2003 エクセルで折れ線グラフを作るときに、項目軸は必ず横に元データを入力してないと駄目なのですか? 例えば、東京のデータと京都のデータが年代順(←項目軸)に下方向にダーっと入力してあって、 年代をX軸(項目軸)、データAとデータBで2本の折れ線を描きたいとき。 やっぱり、データを横に入れ替えないと駄目? 年代 東京 京都 2002 134 231 2003 165 198 2004 2005 2006 2007 2004
929 :
名無しさん@そうだ選挙にいこう :2007/04/25(水) 21:32:48
てすと
930 :
名無しさん@そうだ選挙にいこう :2007/04/25(水) 21:36:14
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 google ある列に数値がたくさん入っている中から自分が欲しい値の数値が入っている行番号を 知りたいときどのような数式になりますか?ただし、自分の欲しい数値が2つ以上入って いた場合には若い行番号の方を知りたいのですが。教えてください。
931 :
名無しさん@そうだ選挙にいこう :2007/04/25(水) 21:45:55
【1 OSの種類 .】 マック 【2 Excelのバージョン 】判りません、すいません 「平成18年度」と入力してあるのに、プレビューでみたり プリントアウトすると「平成17年度」となってしまいます。 入力しなおしてみたりしてもダメでした。 困ってます。教えてください。
A B C ┌────────┐┌──┐┌──┐ └────────┘└──┘└──┘ ┌───┐ └───┘ A列のようにセル事に幅かえる方法ないでしょうか?
>>932 無理
・セル結合
・テキストボックス
・カメラ機能
のどれかで実現してください
935 :
名無しさん@そうだ選挙にいこう :2007/04/25(水) 22:14:15
>>933 マックは、最近入社したばかりの会社のパソコンで、マックでの
エクセルの使用が初めてなものでいろいろ判らないです。
ウインドウズのエクセルだと数式が入っていたりしたら
うえのバー??みたいなところに入ってる数式が表示されるので
式が入っているのが一目瞭然ですが、マックのエクセルって
そのバーみたいなのが無くって、数式が入っているのかどうか
判らないんです。説明が思いっきりわかりにくくてすいません。
誰か924の意味がわかるエスパーいらっしゃいますか?
ロシアなら・・・
938 :
名無しさん@そうだ選挙にいこう :2007/04/25(水) 22:27:41
>>933 それ本当にエクセルですか?
MACもWINも基本的な使い方は同じと聞いてますが
上部メニューの 表示→数式バー
を試してください
【1 OSの種類 .】 Windows2000(仕事XP) 【2 Excelのバージョン 】 Excel2000(仕事2003) 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 質問です。Excelで記述したドキュメントを受け取りました。 図形描画のオートシェイプとか使いまくってあるのですが、 画面表示されたものと印刷されたものの位置が狂いまくっています。 いつになればExcelで見た目どおり印刷される時代が来るのでしょうか?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 google Excelで何種類もグラフを作ったときに、グラフのグラフエリアやプロットエリア の大きさを、同じ大きさに統一したいのですが、良い方法がわかりません。 今はセルに太線で四角を書きおおむね大きさ(グラフエリア)を統一してますが 微妙にずれます。 まにか良い方法か、特別のツールがあるのでしょうか?
942 :
名無しさん@そうだ選挙にいこう :2007/04/25(水) 23:35:37
>>940 WindowsOSの仕様です
>>941 Altキーを押しながら移動(変形)すると角がセルに張り付く
943 :
名無しさん@そうだ選挙にいこう :2007/04/26(木) 00:01:43
944 :
名無しさん@そうだ選挙にいこう :2007/04/26(木) 00:53:19
EXCEL2007は、2003のように、 ツールボックスを作成できない。 だから、ツールボックスをカスタマイズすることも出来ない。 ツールバーの移動もできない。 何か改善策はあるのでしょうか?
ツールボックスって何?
>>945 コントロールツールボックスのこと、標準で160のコントロールが選択できる。
私は使わない。
947 :
名無しさん@そうだ選挙にいこう :2007/04/26(木) 03:06:10
>>945 ツールバーのこと。
EXCEL2003
>ツール
>ユーザー設定
>ツールバー
948 :
名無しさん@そうだ選挙にいこう :2007/04/26(木) 03:43:28
【1 OSの種類 .】 Windows XP SP2 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル オートSUM 使用方法 エクセルのオートSUM機能を使って平均値と合計値を出そうとしたのですが 平均値→ =AVERAGE(C78:C107) 合計値→ =SUM(C78:C107) と出て数値が出てきません 横列の場合はちゃんとなるのですが もしかしてオートSUMは縦列には使えないんでしょうか? よろしくお願いいたします。
949 :
名無しさん@そうだ選挙にいこう :2007/04/26(木) 08:53:54
>>948 セルの書式設定/表示形式、をチェック
「文字列」になってないか
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 丸 チェックボックス 選択 はい・いいえ と選択があり、どちらかを選択した場合、 はいの上に○などを表示するのはどうしたらいいでしょうか?
951 :
914 :2007/04/26(木) 10:03:08
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 抽出 データベース 914にも書いたのですが、重複しているデータの個数を表示する 関数はわかったのですが、データをそのまま表示する関数が見つかりません。 データベース関数で対応すればいいのか、近い答えはあるのですが…。 ヒントでも教えてもらえませんか?
>>950 オートシェイプで
クリックで○付けたければイベント使え
955 :
950 :2007/04/26(木) 10:41:49
>>953 できました。
さんくす。
でもオートシェイプで普通に○を書くと
下の字が○で上書きされるのね。
だから、○をオートシェイプの書式設定で
色と線タブの透明で100%にすれば、
下が見えるようになるのね。
と情報公開。。
基礎っす
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 コマンド バーのメニュー コントロールを無効にする メニュー 無効 ブックの切り取り機能を制限したいのですが、 その方法として、灰色にして選択できないようにしたいのです。 編集から切り取り 右クリックから切り取り を無効にしたいのですがどうしたらいいですか?
958 :
957 :2007/04/26(木) 14:32:42
ショートカット メニュー バーのコマンド コントロールを無効にする 次のサンプル コードは、「ショートカット メニュー バーにコマンドを作成する」で 作成した [Item1] コマンドを無効にします。 Sub Shortcut_DisableItem() Set myBar = CommandBars("myShortcutBar") myBar.Controls("Item1").Enabled = False myBar.ShowPopup 200,200 End Sub ここからわからない…。
959 :
名無しさん@そうだ選挙にいこう :2007/04/26(木) 15:48:53
>>949 様
その通りでした
ありがとうございました
大変助かりました
960 :
名無しさん@そうだ選挙にいこう :2007/04/26(木) 17:19:43
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 あるセルにデータが入力された時、あるセルにその日付を出したいです。 ググッて下記のコードをコピペしたのですが、二つ並べるとエラーが出てしまいます。 VBA全く知らないので、どこをどう触ればいいのかさっぱりです。 どなたか教えていただけないでしょうか? Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 5 Then Exit Sub Target.Offset(0, -1) = Now() End Sub Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 7 Then Exit Sub Target.Offset(0, -1) = Now() End Sub
>>960 コレぢゃダメかなぁ?
Private Sub Worksheet_Change(ByVal Target As Range)
If Not (Target.Column = 5 Or Target.Column = 7) Then Exit Sub
Target.Offset(0, -1) = Now()
End Sub
VBAって関数名って同じでもよかったんだっけ?
963 :
960 :2007/04/26(木) 18:07:04
>>961 様
有難うございます。出来ました!
もう一つ聞いても良いでしょうか?
あと一つセルを増やしたいです。13列目も入力した時に、日付を出したいのですが、
今度は、日付が表示される列が11列目にしたいです。
すいませんが、宜しくお願いします。
>>963 どうでしょう?
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 5 Or Target.Column = 7 Then
Target.Offset(0, -1) = Now()
ElseIf Target.Column = 13 Then
Target.Offset(0, -2) = Now()
End If
End Sub
>>963 Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Column
Case 5, 7
Target.Offset(0, -1) = Now()
Case 13
Target.Offset(0, -2) = Now()
End Select
End Sub
966 :
960 :2007/04/26(木) 18:46:24
967 :
名無しさん@そうだ選挙にいこう :2007/04/26(木) 22:33:33
データ範囲Aの中に、値が空白のデータの集合を範囲aとして捕捉しているとき、 各空白セルのformulaを取り出したいのですが、とんとわかりません。 どうしたらできますか?vbaでお願いします。
968 :
名無しさん@そうだ選挙にいこう :2007/04/26(木) 22:47:38
1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい(多少) 【4 VBAでの回答の可否】 可 【5 検索キーワード 】excel 指定 文字 番号 A B 1 「000a0001」 2 「001a0001」 3 「002a0001」 1 「000a0002」 2 「001a0002」 1 「000a0003」 以上のような文字が並んでいるB列に対し、 A列に番号をあてていきたいと思います。 末尾番号をグループとして上記のように番号を自動振り分けたい場合は どのようにしたらよろしかったでしょうか?
>>968 作業列使っていいなら、
作業列 = C, A1から入力として
C1は無条件に1を入力。
C2は =IF(A2-A1=1,C1,C1+1)。
C3以降はC2の式をコピる。
で、B1には=TEXT(A1-1,"000a")&TEXT(C1,"0000")。
B2以降はB1の式をコピる。
>>968 A1=IF(RIGHT(B1,4)="0001",LEFT(B1,3)+1,IF(RIGHT(B1,4)="0002",LEFT(B1,3)+1,IF(RIGHT(B1,4)="0003",LEFT(B1,3)+1,"")))
>>968 見た目だけなら
=IF(B1<>"",LEFT(B1,3)+1,"")
で行けるなw
なんかちょっと違うような気がするが。
>>698 は何所へ行った?
OS XP Ver 2000 マクロ不可 セルに名前をつけるのではなく、行と列に名前をつける方法は無いでしょうか。 売り上げ列の05年行を取る、とかやりたいと思っています。
>>973 ツール>オプション>計算方法で、「数式でラベルを使用する」に
チェックが付いていれば、行や列に名前を付けなくても似たような
ことはできる。
ただINDEX関数+MATCH関数とか、VLOOKUP関数を使う方が
簡単にデータを引き出すことができるように思う。
>>974 レスありがとうございます。
範囲の前にまず
book1のsheet1のA列にhoge、1行にhogehogeと名前を付け、
=[book1]sheet1!hoge:hogehoge
とやってみたのですが、
=book1hoge:hogehoge
と勝手に省略されて#NAME?
エラーとなってしまいます。
これはどのようにすればきちんと表示されるのでしょうか?
話が違う
977 :
910 :2007/04/27(金) 11:53:04
>>919 やってみました。
思い通りの結果になってすごいです。
なぜか、カスペルスキーが危険なスクリプトとして
反応するのが気になりますが…。
>>975 例えば
B1=INDIRECT(ADDRESS(ROW(hoge),COLUMN(hogehoge)))
とか
>>975 名前にはシート名が含まれているから注意しろ
挿入 → 名前 → 定義
で確認できる
=book1.xls!hogehoge
が、この場合正解
WindowsXPにて、Excel2002を使用しています。
「セルの幅の違う表を縦に並べて表示させたい」ということで、
下記サイトを参考に、「図のリンク貼り付け」という機能を使用しました。
ttp://excelfast.fc2web.com/kowaza3.htm Sheet2で制作した表を、
Sheet1に「図のリンク貼り付け」したわけです。
(表に計算式が入っているので、「図の貼り付け」では×でした)
しかしこれを行うと、印刷レイアウトが思いっきり崩れてしまいました。
単なる「図の貼り付け」なら問題ないのですが、
「図のリンク貼り付け」だとダメなのです。
これを回避する方法をお教え頂けますでしょうか。
よろしくおねがいします。
ソフト)excel 2003
ものすごく初歩的な質問だと思われるのですがお願いします。
チェックボックスを使いたいのですが、
http://kokoro.kir.jp/excel/checkbox.html のサイトの指示通りチェックボックスを置いたまではよいのですが、コントロールのプロパティで
全然違うものが表示され、セルとのリンクがうまくできません。
おそらく単純な設定の問題かな、とは思うのですがよくわかりません。
どなたかご存じないですか?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel ? 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル 掛け算 積算 めちゃくちゃ単純な質問なんですが、積算させて出た数字に3ケタごとに[,](コンマ)を付けるにはどうすればいいですか? 関数一覧も検索したのですが全然わかりませんでした。
>>983 セルの書式設定で表示形式を通貨にして記号をなしにする。
985 :
983 :2007/04/27(金) 16:31:09
vbで質問です 何も文字の書いてないセルを指定する方法はありませんか a1まで情報がかいてあってb1を指定したいとかなのですが 今日の日付を入れたいのですがTODAY関数だと別の日に開いたら開いた当日になるので 書き込んだ日を記録したいのです
>>986 未入力セルをAから右に1個づつ探していくの?
(A1→B1→C1→・・・・・)
条件があやふやだなぁ
>>986 空白セルならSpecialCellsのxlCellTypeBlanksを使えばいいじゃない?
でも、むちゃくちゃあるぞ、たぶん。
値貼り付けすりゃいいんじゃない?
PasteSpecial使って。
形式は、よく分からんがNumberFormatLocal = "yyyy/m/d;@"とかしたら?
a1から[ctrl]+[→]してもっかい[→]をマクロ記録とかでいいんじゃね?
990 :
名無しさん@そうだ選挙にいこう :2007/04/28(土) 10:01:45
フィルハンドルをドラッグしたときにデフォルトで連続データになるように 設定するにはどこをいじれば良いのですか?
質問内容が曖昧な場合は、無視するか質問者を問いつめるのが最優先。 曖昧なままで回答を寄せてもレスが無駄に伸びるだけだよ。
992 :
991 :2007/04/28(土) 10:03:27
>>990 いじる場所に心当たりはないが、「Ctrl」キーを押しながらやれば、
コピーになる場合でも連続データになるだろ。
>>990 数値が連続データになる事を言ってるなら
そんなオプションは無い
素直に Ctrlキーを押しながらドラッグしなさい
>>993-994 ありがとうございます。数値です。
Ctrlキーか連続データ2行をドラッグでやります。
複数のセルを選択して、コピーして、そのままの間隔で、他の場所に貼り付けることはできますでしょうか。 どうしても詰めて貼り付けされてしまいます。
>>991 言いがかりを付けたいのなら十分にチェックしてから書き込むように。
曖昧なまま書き込むとバカ丸出しだし、
かっこ悪い訂正レスが無駄に伸びるだけだよ。
すいません。 数式で計算された数値が人数なので 数値の後に「人」とつけたいのですが =SUM(A1:A3),"人" で出来ません。どうしたら表示されるのでしょうか?
>>996 列ごと選択してコピーしてから貼り付ける
初めての1000ゲットw
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。