前スレ
Excel総合相談所 103
http://toro.2ch.net/test/read.cgi/bsoft/1340181590/ ▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問テンプレ(雛形)は必須じゃないけど、出来れば使ってね
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類 .】 Windows**
【2 Excelのバージョン 】 Excel**
【3 VBAが使えるか .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
※【4】は、VBAはわからないけどコード書いてくれるならVBAでもいいって場合は「可」
VBAを使うのは避けたいって場合は「否」にしましょう。丸投げする場合は、必要に応じてブックをアップすること。
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
・1 現行スレ内で既出の質問が無いか、ページ内検索をしよう。(Ctrl+F)
・2 図やコードを書く場合、TABや連続する半角スペースは無視されるので注意
・3 VBAコードを貼る場合は、部分的に伏せたり省略したりせずに全て貼りましょう。何レス使っても構いません。
・4 2回目以降の質問では名前欄に初回質問の番号を入れよう。
・5 回答内容でわからない部分があっても、すぐに聞き返さずにヘルプやGoogleなどで検索しましょう。
・6 バグ・動作上の不都合・仕様に関する質問などはマイクロソフトのサポートを受けましょう。
ここは技術的な質問のみで。
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━ ・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
| |└Worksheet
という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で出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。 間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。 Excel2010についても未確認な項目が多いので変更点が有ればご指摘下さい。 また、ここに書かれてないことでも、Excelで出来ないことはたくさんあります。 ここに書かれてないからといって必ず出来るはずだなんて思わないように。 >▼環境・書式 > ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する 補足 2007以降ではページレイアウトビューの表示時に限り、幅・高さともcm単位で表示され、 指定も同じくcm単位でできる。 ただし大元がインチ系なのでなかなかピタリの値は出ない。1cm→0.98cmのように 近い値に勝手に丸められる。
<<1-6 おつ
9 :
名無しさん@そうだ選挙にいこう :2012/07/28(土) 22:17:25.96
>>1 は乙
>>2-6 勝手にテンプレを追加するな
ということで以降
>>2-6 は守る必要なしです
(守りたい人は各自勝手に守れば良いが他人へ強制するものではない)
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 VLOOKUP関数みたいに表示したいセル内に関数を入れないで、範囲からコピーしてくるみたいなVBAってありますか? VLOOKUP関数だと表示した文章を編集できないので、VLOOKUP関数みたいに検索して表示する機能でかつ、表示したものをセル内で編集できるようにするには どういうVBAを学べばいいですか?
Set A = Workbooks("WB1.xls").Worksheets("WS1") A.Select Selectできないのは何故なんだ?
>>11 「Selectできない」ってのは何かエラーが出るってことか?
端折らずありのままを書いてくれんか
エスパーなんて世の中にはいないと思ったほうがいい
>>12 ヘルプで解決できるならこんなところこないだろ
>>11 エラー番号9「インデックスが有効範囲にありません」なら、シート名かブック名の間違いってとこ。その内容なら1だけ全角半角
間違ってるとかそんな感じの予感。
前スレ
>>996 アクセスは必要ないよ。ただOSによってプロバイダーへの接続文字列が変わるので注意。
あとアクセスから引っ張ってくる部分を質問しても、スレ違いだといわれると思うよ。
>>10 > VLOOKUP関数みたいに表示したいセル内に関数を入れないで、範囲からコピーしてくるみたいなVBAってありますか?
worksheetfunction.vlookup
> 表示したものをセル内で編集できるようにするには
意味がよくわからん?
【1 OSの種類 .】 Windows7 64ビット 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 はい(少しは) 【4 VBAでの回答の可否】 可・否 ブック名 インデックス.xlsx シート名 index1 A列 ランク B列 ネタデータ データファイル I列 ネタ 記載させたい列はH列 H列にI列のネタに対応するランクをインデックス.xlsxのindex1シートから 拾って記載させたい I列が空白の時は勿論H列の空白で、またインデックス.xlsxのネタデータに無いのも 有ったりするんで、そういう時も空白で構わない というものなんですがお願いします
>>19 match関数とindex関数を組み合わせればできる
21 :
11 :2012/07/29(日) 18:30:59.77
>>13 >>15 ┌──────────────────────┐
| 実行時エラー'1004': |
| Worksheet クラスの Selelct メソッドが矢敗しました。|
└──────────────────────┘
>>21 シートが非表示なんじゃね?
まぁ本気で解決したいと思ってるなら対象のブックをアップしろ
>>9 ヒント:勝手に追加ではなく、3スレ前に1,2人の意見で勝手に消されただけで、元から有ったもの
24 :
名無しさん@そうだ選挙にいこう :2012/07/29(日) 18:55:03.74
で今回また勝手に増やすと
あれどっか増えてた? そこまでよく見てなかったけど
テンプレなんかどうでもいい
27 :
11 :2012/07/29(日) 19:05:00.70
>>28 テンプレ盾にしてスレチだ何だとうるさい馬鹿が出てくるのがウザイ
>>27 こちらも問題ない。
他のBookが開かれていないか?
WB1がactivebookじゃないとだめだよ
32 :
11 :2012/07/29(日) 19:28:32.66
33 :
11 :2012/07/29(日) 19:29:20.77
>>31 >WB1がactivebookじゃないとだめだよ
もうね(ry
34 :
11 :2012/07/29(日) 19:32:12.72
てゆーか、 >他のBookが開かれていないか? 他のBookを開いてるから、Set A = Workbooks("WB1.xls").Worksheets("WS1")と 書いてるわけで、他のBookを開いてなかtt(ry
>>32 やっぱり、selectできたよ
というか、同じファイルに思えるんだが?
テンプレ、会ってもなくてもいいけどいくらなんでも長すぎる 誰も読んでないと思うぞ
同じファイルというか同じURLだね
38 :
11 :2012/07/29(日) 20:20:00.18
>>37 同じファイル名だけど中身は違います。
うp先のロダは、削除しても欠番にはならないので
このような現象が起きます。
実際に
>>11 のマクロで実行せず、まともに答えようとしてない
人たちばかりなので、これ以上のことは求めません。
>>38 SETはできたけど、selectできないってことか。
10948か、まぁいいか
>>36 別に最初に読ませる為のテンプレじゃないんだから、
質問前の段階では誰も読んでなくて医院で内科医?
例えば「コンボボックスでこんなこと出来ますか?」なんて質問が来た時に
「
>>2 ・A読んでどれなのかちゃんと書いて」だけで、毎度同じ説明しなくて済む
そういう使い方が出来れば良いだけで、スレ違いはまだしも
>>2 の情報不備とかは
一度反したら訂正しても以後全く答えてもらえないとかってわけじゃないんだし
>>38 再現するマクロも含めたブックをアップしろよ、アホか
45 :
11 :2012/07/29(日) 22:25:45.50
>>41 書き方を間違えたな。
@一度うpしたらファイルナンバーが10948になった。
A間違えたので10948を削除
B修正を再うpしたらファオルナンバーが10948だった。
Cマトモな回答がナカタから10948を削除 ←今ココ
>>44 11に書いてあるだろ?
ブックまでうpしないと分からないおバカちゃんか?
Set A = Workbooks("WB1.xls").Worksheets("WS1") A.Activate A.Select でいいんじゃね?
>他のBookが開かれていないか? WB1.xlsにマクロを書いてselectさせるってことかw
>>33 意味わからないんだけど。
結局、WB1がActiveなの?
WB1.xlsにマクロを書いて Set A = Workbooks("WB1.xls").Worksheets("WS1")って無駄じゃね?
>>52 無駄とかじゃなくて、それでエラーにならないのは何故かってこと
Set A = Workbooks("WB1.xls").Worksheets("WS1")と書くなら WB1.xls以外にマクロを書くだろ?(jk 今宵の先生はレベルが低い自己中ばかり(一人数役?)だから 質問者の意図がわかってないようだ
>>54 いやだから
>>31 で答えが出てるってばw
仕様だよ
回答が出てるのに聞くからおかしなことになる
ちなみにsheet1を選択してる状態で
Worksheets("sheet2").Range("a1").Select
これもエラーになる
理由?マイクロソフトに聞いておくれ
俺はselectを滅多に使わないので知らないし困らない
>他のBookが開かれていないか?
こんなことを書くのもおかしいって気付けよ。
うpされた10948.xls(WB1.xls)にはマクロが書かれてなかった。
つまり、別のブックに
>>11 のマクロを書いてるから、他のBookは開いてることになる。
58 :
名無しさん@そうだ選挙にいこう :2012/07/29(日) 23:57:51.05
仕様だけど しょうがない
質問者がまともに情報開示せず 回答者が駄目とか誹謗する流れって前スレでもあったな
多分いつでもどこでも、この流れはあるのだろう。 特に今は時期が時期だし。気にしないのが一番。
>>16 ありがとう。
アクセスなくてもいいなら勉強してみます。
>>63 オプションの全般タブの標準フォントを変える。
66 :
名無しさん@そうだ選挙にいこう :2012/07/30(月) 20:03:59.93
60 2012/07/30(月) 02:37:02.19 句読点なし 61 2012/07/30(月) 02:38:27.93 句読点あり 同じ野郎が句読点の有無で誤魔化してもバレバレだぞw もうちょっと工夫しろよw
>>66 すごい!よく同一人物だって見抜いたね!神!!
今度はageとsage?
70 :
61 :2012/07/30(月) 20:44:35.57
60を書いたのは俺です。 すいませんでした。
71 :
名無しさん@そうだ選挙にいこう :2012/07/30(月) 21:01:09.80
誰がどれ書いたとかマジどーでもいー 11がくそやろうだという事実には何の影響も無い
>>71 エクセルの能力が高いと思って天狗になっていたのと、読解力が足りなかっただけ。
エクセル基準で人を見下す
>>71 の方がよほど人間として劣っている。
73 :
11 :2012/07/30(月) 21:45:35.44
おいおい、過去ログを読み直してみろ。
何で俺が叩かれなきゃならんのだ?
ブックをうpしろっていうから、わざわざうpをし、
具体的なマクロを示したのに、
「シートが非表示なんじゃね?」とか
「他のBookが開かれていないか?」とか
トンチンカンな回答するバカ先生を非難しろよ。
>>29 なんて、俺が間違ったブックをうpしたのに
「ちゃんと、selectされたよ」なんて書く始末。
もうね(ry
「SETはできたけど、selectできないってことか」とか
「WB1.xlsにマクロを書いてselectさせるってことか」なんて
書いてるバカもいた。
極めつけは
>>60 だ。
具体的に書いて、要望通りブックもうpしたのに
「質問者がまともに情報開示せず」とかよく書けたもんだな。
お前らのバカ自慢もほどほどにしてくれ。
だよな。
76 :
名無しさん@そうだ選挙にいこう :2012/07/30(月) 22:36:15.48
>>11 間違えたファイルUpしといてどの口で言ってんだか・・・
言っとくが俺はそのファイル見てないからどんなんだか知らんけど
ここまでのやり取りを見て
>>11 がコミュ障なのは分かった
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 DAVERAGE関数は、表から指定条件の平均を求めるじゃないですか。 これのMAX関数バージョン(最大値を表示する)ありますか?
>>73 とりあえず前提として、間違ってる回答は無視して、
正しい回答のみをクローズアップすることは許してもらいたい
2chだしな。まぁここは諦めてくれ。
この前提を許せないならエクセル教室でもヤフー知恵袋でも言って下さいまし。
で、
>>31 で、正しい回答をしているのもかかわらず
(ry
などをつけたふざけた回答をしたのは事実だよね。
念のため言っておくと、(ry はバカにしている表現だよね。
別にそのつもりがなくても聞く方はそう感じます。
あと、
>>21 でもなぜかわざと誤字二回してるよね。
ついでにいうと
>>45 でも一回誤字。明らかに直してないよね。まぁこれはどうでもいい。
ここまでわざと反感を買わせる言動をしながら、
言い方を変えれば喧嘩を売りながらも回答をしてくれたことに対してお礼もしてないよね
別にこのスレで礼がないことに対して、今更何も感じない。むしろ礼を求める変態を諌めてるんだけど。
80 :
名無しさん@そうだ選挙にいこう :2012/07/30(月) 22:48:12.88
2ちゃんで誤字を指摘とか
>>78 それは正論だがいかんせん相手はコミュ障
暖簾に腕押しですよ
>>78 回答をしてくれたことに対してお礼もしてない とチクリと釘を刺すも
むしろ礼を求める変態を諌めてる とは恐れ入った。
83 :
78 :2012/07/30(月) 22:54:48.54
投稿してしまった。
でも今回は、解決したからいい、と考えたほうがいいよ。現実ではともかく、2chだしね。
誤字の件は恐らく、スレを荒らそうとしたんだろうね。それか相手して欲しかったのか?
これはどっちでもいいがな。
今までの発言から、小学生?中学生?中学生かな。まぁでも、中学生でvba使えるというのは、良スキルの持ち主だよ。
恐らく今は周りから変人扱いされてるようだけど、
もうちょっと頑張ればみんなを見返せるようになる。まぁ10年後だがな・・・
小学生ならもっとすごいぞ。
「継続は力なり」だ。詳しくはぐぐれw
大体、元々がselect、エクセルの仕様というどうしようも無いところが原因なだけで、
考え方としては悪くないんだ
君が悪いわけではない。これは経験をつまないと絶対に納得出来ないと思う。
ちなみに俺は
>>55 ね。
もしアプリを作りたくなったら一度作ってみて欲しい
バグが怒った理由がすぐに分かると思う。
もう一度
「継続は力なり」だ。
頑張れよ!
>>83 誤字の件は恐らく、スレを荒らそうとしたんだろうね。それか相手して欲しかったのか?
85 :
11 :2012/07/30(月) 23:10:15.54
>>76 俺をコミュ障と言うのは構わんが、お前は何?
ファイルを見てないなら教えてやるが、間違えたファイルはシート名だ。
したがって、Set A = Workbooks("WB1.xls").Worksheets("WS1")では動かない。
だからなぜ
>>29 が「ちゃんと、selectされたよ」って書いたのか俺には
理解できないのだが、これについてお前はどう思う?
>>78 正しい回答をしていると書いてるが、他のBookを開いてる状態だから
31は間違ってる。
>>34 を読め。書いてあるから。
(ry っていうのは(略 または (省略 であって、別に小馬鹿にしてる
わけではない。
てか、バカ相手に疲れた。
寝るわ
【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
曜日あわせについてです
毎月の売上を、前年比、前月比を出したいのですが、日にちベースとですと同日で日曜日と月曜日だった場合に前年比にだいぶ差がでます。
そこで、前年同曜日と比較したいのですが、どのようにすればよいでしょうか?
イメージ的には
コレが
ttp://i.imgur.com/UoywD.png コウなるとうれしいです。
ttp://i.imgur.com/A0TPJ.png B〜F列は作業スペースなので実際には表示させません。
他に作業列が増えても全然問題ありません。
google検索した感じだと、-364日すればいいとかありましたがよくわかりませんでした。
よろしくおねがいします。
>前年同曜日と比較したい あぁ、そうですか
>>85 >(ry っていうのは(略 または (省略 であって、別に小馬鹿にしてる
>わけではない。
>てか、バカ相手に疲れた。
こういう書き方しかできないの?
あるいはこういう書き方に問題があると気づいてないの?
そういう部分を指してコミュニケーション障害と呼ぶわけですよ。
まぁ理解できないだろうからこれ以上は言わないけど。
90 :
78 :2012/07/30(月) 23:56:46.25
>>85 おk,おk
自覚がないなら痛い大人であり、単に要領の悪い方です。
相手にした俺が悪かった。
これから
>>11 >>85 が何をいっても
>>78 を叩いて下さい。
全て相手にした俺が悪かった。申し訳ない。
教えてちゃんですみません。 行の引き算でオートサムを用いて 1行目)100 2行目)200 3行目)400 4行目)800 の1行目−2行目、2行目−3行目、〜10行目−11行目、11行目−12行目のような連続した引き算を自動的にし続ける関数は何でしょうか?
自動的にし続けたら、やがてオーバーフローになってまう〜
>>86 こういうことでいいのかな?
=IF(WEEKDAY(A1,1)=WEEKDAY(DATE(YEAR(A1),MONTH(A1)-1,DAY(A1)),1),
WEEKDAY(DATE(YEAR(A1),MONTH(A1)-1,DAY(A1)),1),DATE(YEAR(A1),
MONTH(A1)-1,DAY(A1))+(7-(ABS(WEEKDAY(A1,1)-WEEKDAY(DATE(YEAR(A1),MONTH(A1)-1,DAY(A1)),1)))))
とりあえ先月分のみの計算。
95 :
94 :2012/07/31(火) 00:28:49.82
あ、よく見たらなんか違うわ
こうか。 =IF(WEEKDAY(A1,1)=WEEKDAY(DATE(YEAR(A1),MONTH(A1)-1,DAY(A1)),1), DATE(YEAR(A1),MONTH(A1)-1,DAY(A1)),DATE(YEAR(A1),MONTH(A1)-1,DAY(A1)) +IF(WEEKDAY(A1,1)>WEEKDAY(DATE(YEAR(A1),MONTH(A1)-1,DAY(A1)),1),WEEKDAY(A1,1)-WEEKDAY(DATE(YEAR(A1),MONTH(A1)-1,DAY(A1)),1), 7-(ABS(WEEKDAY(A1,1)-WEEKDAY(DATE(YEAR(A1),MONTH(A1)-1,DAY(A1)),1))))) 結論から言うと作業列を使えだなw
>>92 オートサムってのがよくわからない、というか多分無い
sum関数のことかな?
そして結果がどこに入るのかもよくわからない
言ってる意味がわからなければ、どこのセルに、どういう結果を入れたいかを詳しく書いて欲しい
=A1-A2 つうことじゃないのか。A列に累計の売り上げが入るから 差分で日ごとの売り上げを逆算するとかそういうことをしたいのかと思った。
【1 OSの種類 .】 Windows 7
【2 Excelのバージョン 】 Excel2012
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
日ごとに発注される商品(金額バラバラ)があってそれの金額を日ごとに集計したいのですが
今現在下記スクリーンショットのような感じで
http://cdn.uploda.cc/img/img5016cf77aa79a.JPG 発注金額以下のセルには
=(C3*$C$2)+(D3*$D$2)+(E3*$E$2)・・・・
として、表示しています。
これだと、商品が増える度に修正しないとダメなので非常にめんどくさいです。
また商品数が膨大になると上記の式がA、B、C、D・・・AA、BB、CCと、かなり長い式になってしまうので
もっとスマートに表示させる方法は無いでしょうか?
よろしくお願い致します。
101 :
100 :2012/07/31(火) 03:23:21.97
すいません。
>>100 はExcel2012ではなく2010の間違いです。
>>101 =SUMPRODUCT(C7:G7,$C$2:$G$2)
>>102 ありがとうございます!
思い通りの事が出来ました。
エクセル2007・2010のテーブルとVBAについて質問 2007からあるテーブルと構造化参照を、VLOOKUP等の関数でよく使ってます。列・範囲の指定が楽なのと自動的に範囲が変わるのが便利なので。 VBAにおいてはこのテーブルを扱う関数などは何も追加されてないのでしょうか? データの追加・削除・検索など何か便利な機能あるなら教えてほしいです。 現状で不便を感じている事が一件 1行目見出し・2行目空状態の新しいテーブルに下記の方法でデータを入れようとするとテーブルの外に入ってしまいます。 Dim R as long R = .cells(rows.count,1).end(xlup).row + 1 .cells(r,1).value = "データ" .cells(r,2).value = "データ" テーブルに1件以上データが入ってる場合はテーブルの最下行・テーブルの中にデータが追加されるが、空の場合3行目のテーブルの外 に追加されます。現状ではダミーデータ1件入れて、運用後にダミーを消してますが、データを消して新規に運用始める時に忘れていたら 問題が出てしまいます。 かと言って毎回テーブルが新規かどうかの判断処理をするのもなにか無駄な気がします。
105 :
名無しさん@そうだ選挙にいこう :2012/07/31(火) 14:39:51.68
まとめ.xls JAN 商品名 A店 B店 C店 490101〜 シャーペン | 490000〜 マジック 490110〜 えんぴつ … … 実績.xls JAN 商品名 A店 B店 C店 490110〜 えんぴつ 100 200 300 490101〜 シャーペン 150 250 400 490000〜 マジック 200 300 100 … … 実績.xls から まとめ.xls に数値を移し変えるのに =VLOOKUP($A2,'[実績.xls]Sheet1'!$A$1:$S$100,3,FALSE) を使ってます。 この数式で右にフィルしたときにFALSEの前の3という値が変わりません。 3をオートフィルで変化させる方法は何かありませんか?
>>96 サンクスです。
作業列を使うのは問題ないんですが、どうに使っていいのかさっぱり…
最終的に前年比や前月比(対比ってやつ?)が見れればいいのですが、数字もすぐに見れたほうがわかりやすいので…って感じです。
正直あのSSじゃ何がしたいのかわからんよ。
対象日と曜日が合致する至近の日付を比較対照にしたいのかと想像したのだけれど。
その日付が求められれば、あとはVLOOKUPなりを使って必要なデータを引っ張るだけじゃないの。
作業列に関しては解りやすければどうでもいいよ。そりゃ、他人が見ても解りやすいのが理想だけれど、
まずは自分が見て解りやすくないことには話にならない。まぁ
>>96 は明らかにやりすぎだけれどw
109 :
名無しさん@そうだ選挙にいこう :2012/07/31(火) 20:06:32.83
低レベルな先生はgdgd書かずに黙ってろ!
>>104 そのコードエラーでるよ
最初から最後まで貼り付けて
>>110 ごめんWith使う癖でそのまま書いてました。
Dim R as long
With Worksheets("Sheet1")
R = .cells(rows.count,1).end(xlup).row + 1
.cells(r,1).value = "データ"
.cells(r,2).value = "データ"
end with
みたいな感じです。
VBAのみで使うなら別にテーブルにする必要はないですがワークシート側で関数使う場合にテーブルの方が便利なので何とかしたいです。
ファイル-オプションとクリックするとオプション画面が一瞬表示され、すぐに閉じてしまいます。 また、新a規にbookを開いて、何か入力し、保存する必要がないので、閉じようとすると、 「book1への保存を変更しますか?」となり、「名前を付けて保存」画面になってしまいます。 回避方法を教えていただけますでしょうか?
>>111 ifで分岐させるしか無い
if 0 = ActiveSheet.ListObjects("テーブル1").ListRows.Count then
R = .cells(rows.count,1).end(xlup).row
else
R = .cells(rows.count,1).end(xlup).row + 1
endif
>>112 キーボードがおかしいきがする。線を抜いてさし直す。もしくは抜きっぱなしでマウスで操作する。
PCの再起動
エクセルの再インストール
あと、微妙にウィルスっぽいがこれはないかな。
なんかしょぼい質問で申し訳ないんだが Excelってカーソルは矢印じゃなくて十字だったっけ? ふとカーソルみたら、セルを選択している時はカーソルが十字になってたから違和感感じた これってデフォだったっけ?
116 :
名無しさん@そうだ選挙にいこう :2012/08/01(水) 05:34:20.90
ワークシートイベントって複数同居しても大丈夫? 例えばダブルクリックとセレクトイベントを 一つのシートに設定してても大丈夫?セルが被らなければおk?
>>116 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
MsgBox "ダブルクリック"
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MsgBox "セレクションチェンジ"
End Sub
シートモジュールに上の二つ書いてみてシートのいろんなとこクリック、ダブルクリックしてみ。
その後SelectionChangeのMsgboxを消して、Target.value = 1と書いてまたクリック・ダブルクリック
してみ。イベントがどう発生してるかわかると思う。
>セルがかぶらなければ
イベントはセルの場所関係なく発生しますよ。
>>114 ワイヤレスキーボードが原因のようです。
他のPCでは再現しませんでした。
ありがとうございました。
関数の戻り値を関数にしたいのですが どうすればいいでしょうか 例えば、VLOOKUP関数の戻り値がIF関数など
>>121 意味がわからん
具体的に何をしたいの?
>>121 関数の戻り値を関数の引数にしたい
ではないでしょうか?
=if(vlookup(a1,a2:b4,2,0)="a","a desu","a igaidesu")
>>123 逆です
=vlookup(a1,a2:b4,2,0)←これが次の段階で
=if(a1="xxx","OK","NG")←こうなるようにしたいんです
a b
>>125 少し違います
vlookupの結果としてif関数を戻したいのです
a1=vlookup(1,a2:b2,0)
a2=1
b2=if(b4=5)
b4=5
のような感じです
127 :
名無しさん@そうだ選挙にいこう :2012/08/01(水) 20:17:13.42
引数ってなぁに?
>>128 説明が下手ですみません
vlookupの返り値をifで評価するのではなく
vlookupの返り値をif関数にしたいのです
もうこれはVBAに手を出す時が来たんでしょうか
デスクトップマシンに2003、2007、2010をインスコしています。 ノーパソには2003をインスコしていますが、2007(2010)で作ったファイルを ノーパソでも使えるように2007をインスコしようとしています。 対象のソフトはOffice Professional 2007で、パッケージの裏には 1ライセンス用と書かれていますが、ノーパソならデスクトップのを アンインスコしなくてもアクチベーション出来るのでしょうか?
>>129 うーん?関数ポインタ的なことがしたいの?それとも配列定数?
私はVBAでそこまでやったことがないので分からない。
あと、
>>126 はちょっと意味がわからない
a1=vlookup(1,a2:b2,0)
a2=1
とあるけど、vlookupの第三引数、列番号は省略できないし
b2=if(b4=5)
のif関数も第二引数を省略できない
a1=vlookup(1,a2:b2,true,0)
b2=if(b4=5,true)
ということかな?
vlookupは「値」を返すって書いてあるだろ;
134 :
132 :2012/08/01(水) 20:48:12.39
>>133 そうでした
お騒がせしました、いろいろありがとうございました
136 :
名無しさん@そうだ選挙にいこう :2012/08/01(水) 20:55:55.48
>逆は確か可能。デスクトップの他にノート一台だね 逆って何の逆? >逆は知らない 逆って何の逆?
137 :
132 :2012/08/01(水) 20:57:15.79
>>136 デスクトップでライセンスがあるときにノートにインストール可能
その逆
デスクトップとノートの境目は知らない。MSに聞いて
んなことあるかぼけ
139 :
132 :2012/08/01(水) 21:15:12.25
知らんよ。メーカー、デスク用のライセンスは俺も見たから間違いない。 ノート用が同じとは限らない。 そもそもデスクとノートを分けている時点であんまり意味わからん デスク用の2010を買ったので知らない 本当に知りたいなら「他の方知りませんか?」と聞けばいい
140 :
名無しさん@そうだ選挙にいこう :2012/08/01(水) 22:38:25.51
***.tsv ファイルとかをExcel2010で開き 編集した状態で Control + S で上書き保存をしようと した時に毎回次のメッセージが出てきてうざいです。 常に はい(Y) を押す設定とかはありませんか? @迷惑なダイアログメッセージ@ ***.tsd には、テキスト(タブ区切り)と互換性のない機能が含まれている 可能性があります。この形式でブックを保存しますか? ・このまま保存するには、[はい]をクリックします。 ・機能を保存するには、[いいえ]をクリックしてから、 最新の Excel のファイル形式で保存します。 ・失われれる可能性がある内容については、[ヘルプ]をクリックしてください。
141 :
名無しさん@そうだ選挙にいこう :2012/08/01(水) 22:45:43.45
>編集した状態 の記述がないよ。
>>139 自宅用と仕事用
という認識だった。
自宅ではデスクトップでExcel使って、外出先ではノートパソコンでExcel使って…
みたいな?
ノートンとかのセキュリティソフトが3台までインストール可能とかになったから、対抗して2台までインストール可能とかにしてみたのかなぁ??
デスク用のライセンス? ノート用? エクセルにデスク用とかノート用があるなんて知らんかった
144 :
132 :2012/08/01(水) 23:14:00.03
145 :
初心者 :2012/08/01(水) 23:23:04.70
質問です。 エクセルでセルに数字が入力されていて、 上矢印をクリックすれば数字が増えて、 下矢印をクリックすれば数字が減る。 これのやりかたが分かりません。 名前だけでも教えてもらえば検索します。
146 :
名無しさん@そうだ選挙にいこう :2012/08/01(水) 23:35:53.84
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 質問失礼します。 A1~A7にすべて「1」が入力されていればB1に○ ひとつでも「1」以外ならB1に×を表示させる。 というようなことをする場合、どのような式を書けばいいのでしょうか。 よろしくお願いします。
149 :
132 :2012/08/01(水) 23:42:29.20
数字コテというのかな?使いすぎてスマン。消すの忘れてた
>>147 =IF(COUNTIF(A1:A7,1)=7,"○","×")
数字コテw ずっと132のままで良かったのにw NGNameでw
>>146 OOoを間違ってOooって書いちゃっただけだと思うよ
これぐらいの誤タイプはよくあること
開いたファイルを全部を閉じるとき、マクロ実行前に どれかを閉じてしまうとエラーになります。 そこで、On Error Resume Nextを追加してみましたが、 マクロを書いたブックまで閉じられてしまいました。 どうすればいいでしょうか? Sub 全部閉じる() Dim wb(4) wb(0) = "八木かなえ.xls" wb(1) = "田中理恵.xls" wb(2) = "木村文子.xls" wb(3) = "福原愛.xls" wb(4) = "市川美余.xls" For i = 0 To 4 Workbooks(wb(i)).Activate ActiveWorkbook.Close Next End Sub
>>153 どうしたらいいか聞く前に
何をしたいのかを書け
>>153 On Error Gotoを使うか
ActiveWorkbook.Closeをやめるか
事前に判定するか
>>154 開いたファイルを全部を閉じるとき、マクロ実行前に
どれかを閉じてしまってもエラーを出さずに全部閉じたい。
(ただし、マクロを書いたファイルは閉じない)
>>155 On Error Gotoで、Gotoの先には何を書けばいいの?
ActiveWorkbook.Closeをやめるなら、どう書けばいいの?
事前に何を判定するの?
>>156 こんなもんでいいんじゃね
On Error Resume Next
Sub 全部閉じる()
Dim wb(4)
wb(0) = "八木かなえ.xls"
wb(1) = "田中理恵.xls"
wb(2) = "木村文子.xls"
wb(3) = "福原愛.xls"
wb(4) = "市川美余.xls"
For i = 0 To 4
If ThisWorkbook.Name <> ws(i) Then
Workbooks(wb(i)).Activate
ActiveWorkbook.Close
End If
Next
End Sub
158 :
名無しさん@そうだ選挙にいこう :2012/08/02(木) 02:14:51.68
だれかいる?
あなたのうしろにいるよ
160 :
名無しさん@そうだ選挙にいこう :2012/08/02(木) 03:14:34.42
>>160 どういう結果を求めているのよ?
VLOOKUPを使っても、最初に見つかったのが返ってくるだろうし、
100人中点数上位3位までといってもみんなが同点なら100人の名前を返さなくちゃならないだろうし。
ユーザーフォーム(以下UF)でセル範囲を表示するなんてこと出来る? 例えば、シート2にA1:B5に表があったとして シート1でUFを呼び出してUFウインドウにA1:B5の表が表示される。 なんて使い方できる? 他に別シートで小窓で表示できる方法があればUFじゃなくてもいいけど。
>>162 新しいウィンドウを開く
カメラ機能
ユーザーフォームはdataglid辺りがあると思ったけどないな
>>163 カメラ機能知らなかった
ありがとう。これは便利だわ
Windows7+Excel2003 順位付けの質問です 51 34 18 29 34 という5つの数値があり、RANK関数を使用すると、 1 2 5 4 2 という順位になります(2位が2つあるので2位の次が4位になる) 1 2 4 3 2 という具合に連番が途切れないような結果を得る方法はないでしょうか?
なんか順位の質問多いな
>>160 A列に名前「A,B,C,D,E」、B列に点数「95,100,95,90,95」
だとしたら、
D1=B1+1-ROW()/100
E1=LARGE($D$1:$D$5,ROW())
F1=RANK(G1,$B$1:$B$5)
G1=INT(E1)
H1==INDEX($A$1:$A$5,MATCH(E1,$D$1:$D$5,FALSE))
を5行目までフィルコピーしてD:E列非表示
但しこれは点数が整数で、人数が100人未満用なので、
その条件を外れるならちょっと手を加えないといけない。
>>165 A1:A5にデータがあるとしたら
B1=IF(COUNTIF($A$1:A1,A1)=1,A1,"")
C1=RANK(A1,$B$1:$B$5)
D1=VLOOKUP(A1,$B$1:$C$5,2,FALSE)
を5行目までフィルコピーしてB:C列非表示
>>160 なんか、外部データの取り込みでクエリ処理してもよさそうだな。
>>157 ws(i) で、コンパイルエラーでした・・・(´Д⊂)ウワーン
wb(i)に直したけど、マクロを書いたファイルも閉じられてしまいます。
'On Error Resume Next For i = 0 To 4 For Each WB In Workbooks If WB.Name = WB(i) Then Workbooks(WB(i)).Close End If Next Next これでイケるかな〜と思ったら、コンパイルエラー・・・ 何がダメぽなんだろう?
>>170 ぃぇぃぇ、ネバーマインです。
で、ws(i).nameはどこに書けばいいのでしょうか?
>>171 If ThisWorkbook.Name <> ws(i).name Then
ちなみにエラーの理由は型が違うから。
ThisWorkbook.Nameはstringでws(i)はworkbookクラスかその辺。
>>157 On Error Resume Next
>>173 すまん。間違って送信ししてしまった。
>>157 は On Error Resume Nextの位置がおかしいだけじゅあないの。
Sub 全部閉じる() Dim wb(4) As String Dim i As Long wb(0) = "八木かなえ.xls" wb(1) = "田中理恵.xls" wb(2) = "木村文子.xls" wb(3) = "福原愛.xls" wb(4) = "市川美余.xls" For i = 0 To 4 If ThisWorkbook.Name <> wb(i) Then On Error Resume Next Workbooks(wb(i)).Close End If Next End Sub
onerrorってそんな位置なの?いいつもここに書いてたわ Sub 全部閉じる() On Error Resume Next Dim wb(4) wb(0) = "book1.xls" wb(1) = "a.xls" wb(2) = "Book2.xls" For i = 0 To 2 If ThisWorkbook.Name <> wb(i) Then Workbooks(wb(i)).Activate ActiveWorkbook.Close End If Next End Sub
>>176 いやそこでもいいんだけど、
>>157 はさすがに変でしょ。
それとActivebookをCloseはまずいでしょ。
どこでもいいんだろうけど、例外処理は下段に書かれてる。
>>172 コンパイルエラー
SubまたはFunctionが定義されていません
になってしまいます。
WBじゃなくてWSでいいの?
On Error Resume Nextなんてどこでもいいみたいな考えで使うもんじゃねーだろ。 エラー出るのが前提になってしまう部分だけに使うだろふつう。 予期してないエラーまで全部無視されたら後々困るとおもうぞ。
>>175 お、できた。
ありがとうございます。
>>177 ActivebookをCloseはダメぽなの?
>>181 最後にマクロブックが残ったらどうなる?
>>182 マクロブックって、マクロを書いたブックという解釈でいいの?
For i = 0 To 4 でwb(0)からwb(4)までの指示には入ってないから
マクロを書きたファイルは残ると思うんだけど・・・ 閉じられちゃうんだよね。
んー、だから If ThisWorkbook.Name <> wb(i) Then が必要なの?
ワケワカラン
なんか変な日本語だった For i = 0 To 4 でwb(0)からwb(4)までを指示し、対象となるファイルが閉じられる。 しかし、マクロを書きたファイルはFor文の中で対象外だから残ると思うんだけど、 結果的に閉じられてしまう、と。
185 :
147 :2012/08/02(木) 21:47:34.38
x マクロを書きた o マクロを書いた 何度も訂正してスマソ・・・
>>184 どんなときにOn Error Resume Nextが必要になるか考えてみては
Sub 全部閉じる()
Dim WB$(3), i&
WB(0) = "八木かなえ.xls"
WB(1) = "田中理恵.xls"
WB(2) = "木村文子.xls"
WB(3) = "福原愛.xls"
WB(4) = "市川美余.xls"
On Error Resume Next
For i = 0 To 4
If ThisWorkbook.name <> WB(i) Then
Workbooks(WB(i)).Close
End If
Next
On Error GoTo 0
End Sub
>>157 のOnErrorの位置は単純に書き間違いでしょうね
んで、
>>175 は間違いじゃないけど不適切だと思う。
(For Nextのなかで毎回指定するようなものではない)
個人的には、なるべく関係ないところに影響しないように
On Error Resume Nextの適用範囲は小さくとっておいたほうが
よいと考えている
189 :
188 :2012/08/02(木) 22:18:28.40
>>188 自分でファイルの数減らしてテストしたときの変更を戻し忘れてた
Dim WB$(3)はDim WB$(4)の間違いです
あと、マクロを実行するブック自身が
その5つのファイルに含まれてるかどうかは
質問からは判断できないから
If ThisWorkbook.name <> WB(i) Then
の部分は消すわけには行かないと思う
>>187 んー、エラーが出ても次に飛ばすってことでしょ?
>>188 あぁ、そうですね。
納得です。
>>189 マクロを書いたファイル名は、wb(0)〜wb(4)の中にありません。
だから、If ThisWorkbook.name <> WB(i) Then が何で必要なのか
疑問なんです。
>>190 自分で書いてないかい?
>>154 >マクロ実行前にどれかを閉じてしまうとエラーになります。
その場合マクロブックがActiveにならないかな
192 :
165 :2012/08/02(木) 22:32:20.40
>>166 B1=IF(COUNTIF($A$1:A1,A1)=1,A1,"")
C1=RANK(A1,$B$1:$B$5)
D1=VLOOKUP(A1,$B$1:$C$5,2,FALSE)
のC列だけでランク付けできました
ユーザ関数は作りたくなかったのでシンプルな答えで感動しました
>>190 だったら、If ThisWorkbook.name <> WB(i) Thenはいらないよ。
194 :
188 :2012/08/02(木) 22:45:12.10
>>190 >マクロを書いたファイル名は、wb(0)〜wb(4)の中にありません。
じゃあ、If〜End Ifは要らない
Workbooks(WB(i)).Close
だけでOK
そもそも、オープンしてないブックは
ActivateもCloseもできないからエラーが出るわけで、
Activateで生じるエラーを無視していくと、
最終的には自分自身(マクロブック自身)がActiveworkbookの状態になる。
そのときにActiveWorkbook.Closeが実行されると自分自身を閉じてしまう。
ActivateしてからActiveWorkbookを閉じるやり方じゃなくて、
CloseしたいだけならActivateしないで直接Closeすればよいだけの話。
>>191 ご指摘どおりです。
マクロブックにマクロボタンを置いてるので、必然的にActiveになりますね。
(そういう意味じゃないのかな?)
>>193-194 なるほど。
丁寧に説明してくれて、ありがとうございます。
>>195 とりあえず勉強始めたばかりだとしてもVBA使うならステップインで動作確認するぐらいは覚えてからコード組めよ。
ステップインでうごかしたらどこで何が閉じられて何がアクティブになっているかぐらいすぐわかるんだが。
197 :
188 :2012/08/03(金) 08:54:35.05
自分以外全部閉じるって処理ならFor next で閉じるブックを指定するより For eachの方がスッキリ書ける Sub 自分以外全部閉じる() Dim WB as Workbook For Each WB In Workbooks '<=Workbooks(sがつくのに注意) If WB.Name <> ThisWorkbook.Name Then WB.Close End If Next WB End Sub
スッキリ書けても問題抱えてたら意味無いけどな ついでに、オブジェクトの比較は基本的にIs使おうね × If WB.Name <> ThisWorkbook.Name Then ○ If Not (WB Is ThisWorkbook) Then Excelはパスが違っても名前が同じブックは開けないから、Nameでの比較自体は 実害無いけど、他のオブジェクトではNameの値は同じだが実体は別なんてこともあるから そういうものでバグ出さないためにも不適切な手法は早めに改めた方がいいよ
199 :
188 :2012/08/03(金) 09:48:02.18
>>198 >Excelは~実害無いけど、
すんません、まさにその部分が理由でnameでの比較にしてました。
たぶん、オブジェクトの比較よりもオブジェクト名の比較の方が
初心者には理解し易かろうとも思いますた。
188 199 ときたら? 200 211
201 :
名無しさん@そうだ選挙にいこう :2012/08/03(金) 19:26:07.76
If Not (WB Is ThisWorkbook) Thenなんて初めて見たYO!
オブジェクト同士を比べることなんてそうないからねぇ is nothingはたまに使うけど
203 :
名無しさん@そうだ選挙にいこう :2012/08/03(金) 19:59:45.12
>>149 OpenOfficeなんかバグがおおくてやだ。
OpenOffice前に使ってたけど重すぎて俺のPCじゃダメだった
>>197 自分以外全部閉じるって処理じゃないんだけど・・・
まぁ、俺あてに安価が付いてないからどーでもいいけどね
他のオブジェクトではNameの値は同じだが実体は別…なんてことはないな
モノを知らなすぎ
具体例を出してくれたらわかりやすいんだけどね。
【1 OSの種類 .】 WindowsXP,7 【2 Excelのバージョン 】 Excel2003,2007.2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 @ シートA(ブックでも可)に住所、氏名などの一覧をつくり、それぞれに番号を割り当て 割り当てた番号をシートB上の特定のセルに入力した時、 シートB内の任意のセルに、シートAに入力されている住所、氏名などが表示されるようにしたいです。 シートB上で情報を表示させたいセルはバラけています。 A 上記で作ったシートを保存する時に、値だけの状態で保存したいのです。 全選択コピペで「形式を選択して貼り付け」以外の簡単な方法はありますでしょうか
@VLOOKUP A意味不明、日本語で具体的に
ACSV形式で保存
>>210 @VLOOKUP ありがとうございます。
さらっと検索してみたところわかりやすそうでした詳しく見てみます。
Aがわかりにくくて、すみません。
関数、数式を残した状態で保存したくなかったのです。
>>211 CSV形式の事をすっかり忘れていました。ありがとうございます。
VLOOKUP関数で2列を検索することってできないの? IF使わないとダメ? 例えばA+DのグラフとG:Jにあるグラフ二つから検索するみたいなことできないよね
214 :
名無しさん@そうだ選挙にいこう :2012/08/04(土) 21:17:16.15
ズレてるぞ
>>213 A+DのグラフとG:JのグラフからVLOOKUPで検索するという意味がわかりません。
>>215 ズレてるのか?
Aは誰でも理解できる質問内容だと思ったけど。
>>216 しねよks
VLOOKUP関数は複数無理
このスレは普段からエスパー能力無いと解答できない質問が多いからな そういうので慣れてる人から見たら序の口かもしれない
なんでカツラってわかった
>>214 グラフってのがわからんが、文字列結合してひとつのキーにすればVLOOKUPがつかえる
A列とG列で検索し、D列またはJ列の値を返すってことかな?
>>218 やっぱり無理なんだ
>223
そうそう
>>213 2列を1列にすることはできるので、合成可能なキーを設計してみたら。
IFとかORとかISERRORとか 2列くらいならいくらでも手段はあると思うが 具体例がないとこっちも具体的には答えられないな
今からWordとExcel覚えることになりました。 しかし私のパソコンには、Word2000とExcel2000しかありません。 Excel2007から仕様が変っているみたいなんですが、今からExcel2000覚えるの無駄ですか? 新しいの購入出来る金が無いので、、、。
>>227 どこまで使うかわからないけどセル、シートの操作と基本的な関数とグラフ作りは2000で覚えても問題ない
>>227 WordとExcelの何を覚えたいの?
それによって2007でしか無理なこともあるだろうし
2000でも問題ないこともあるだろうし
>>227 会社で2007使うとか?
2007からリボンスタイルだから、2000とかでキッチリ使い方を覚えておくと操作に違和感が出るかもですね。
エクセルの数式はAverageifsとか便利になってるのが増えてるくらいだから、俺みたいにテキトーにしかエクセル使わない奴には素晴らしい機能が増えてるだけって感じだけど。
逆に、グループに2003とか使ってる奴いると、そいつに気を使って数式も組まないとだからめんどす。
社内でバージョン統一して欲しいわ…
227です。 みなさんレスありがとうございます。 今時の会社なら、Excel2007以降を使われてる所が多くて、リボン操作とかでまた苦労するのかな?と思いまして質問させていただきました。 とりあえず、Excel2000で基礎や関数を覚えます!
たしか2000はヘルプが使いやすかったから 今のうちにヘルプに頼って勉強するといい 2003になるとヘルプは使い物にならん
>>227 操作方法は戸惑うが
A1=B1
などの参照は同じ。単に「操作方法が違うだけ」
たまに関数も違うけど、明らかにおかしいと思ったらググれ
色とか互換性も違うし、今から覚えるなら2010か2012がいいよ
できるなら2010以降がいいけどね お金がないなら仕方がない
根本的な事はそんな大差ないけど、2003から2010に変った時はかなり違和感あった。 でも条件付き書式とか便利な事も増えたから、金あるなら2010からやったほうがいいな
>>231 考え方別れすぎてて参考にならんなw
会社で2007以降使ってるなら、まず2010評価版60日無料で使えるからそれで最初だけでもしっかり勉強、あとは普段
数式の勉強程度に自前の2000を使う、という感じをおすすめしますわ。
今さら一から始めるのに2000で始めるのはどうかなと思う。
今の会社で2003以前をメインに使ってるなら話は別だが。
OSの問題もあるんじゃね? "2000が入ってたパソコン"だとWindowsのバージョンも心配だ。 2007以降はあまり古い環境では動かんぞ。
【1 OSの種類 .】 WindowsXP,7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 標準モジュールの挿入とコピペくらい・・・ 【4 VBAでの回答の可否】 可 1番最初に開いた状態に戻るというボタンを作りたいのだが、そういうのExcelで出来る? 例えば、とあるブックがあって、変更した部分などを全て戻して、開いた時の状態に戻すボタン的なモノを作りたい。 VBAでもいいけど、そんな事できますか? ブックを閉じてまた開くとか無しね。
開く前にファイルのコピーをとっておいて、それを開く それがダメなら無理
特定ブックの特定シートのみでやりたいのか、 全てのブックの全てのシートでやりたいのかで話が変わってくる とりあえず前提として、「1番最初に開いた状態」なんてのは上書き前の元のファイル以外には 記録されてないから、記録されていない状態に戻すなんてことは不可能ということは覚えておこう で、特定シートが対象なら、開いた時にそのシートの内容を非表示シートにコピーするというか シートをコピーして非表示にしておけば、ボタン一つで内容変更したシートを破棄して 待避させておいた非表示シートを表示するようにすれば、シートの内容を元に戻したのと 同じになるし、VBA使えばこんなのは簡単で開いた時の待避も自動で出来る 全てでやりたいなら、上記のことをやるのは非現実的だが、無しと言ってる「ブックを閉じてまた開く」も VBA使えばボタンで一発なんだから、操作が「ボタン押すだけ」なら裏で何しててもいいんじゃないの?
>>241 そう!その特定のシート!
上手く俺の言いたいことを読んでくれてありがとう
Vlookup関数で同じ検索値がある場合は、上の方の数値が返ってくるようね 下の方の数値を取り出すにはどうしたいい?
>>243 基本的にはむりぽ
昇順に並んでいるなら、近似値検索でなんとかなるけど
無理
ひとつは、VLOOKUPで使えるようにオッズ表を作り変える方法 もうひとつは、1着毎に取り出す式を変えて13個の結果を表示したうえで、そこからひとつを選ぶ方法
1着毎に式変えなくても、8以下と9以上の2種類を式の中でIFで切り替えてやればいける S2=10 T2=12 U2=OFFSET($A$1,IF(S2<=8,T2-S2+1,S2+(T2-S2)),IF(S2<=8,S2*2,34-S2*2)) これで「10-12」の「2319.1」が出るはず これは、 列は、8までは「1着*2+1」列目で、9以降が「35-1着*2」列目 行は、8までは「差+2」行目で、9以降が「1着+差+1」行目 というのは小学校の算数レベルの方程式で導き出せるので、それをOFFSETに渡してるだけ ただ=OFFSET(A1,1,1)の場合、1行1列目のA1ではなく、そこから1行1列ズレたB2になるから OFFSETに渡す時は1少ない数になるように演算組んでるけどね
>>248 おお!これは凄い!!
仕組みはよくわからんが、綺麗に取り出せた
ありがとう
>>248 これ今後も応用できそうだから、もう少し仕組みを理解したい。
ちょっとぐぐって調べてみるわ
>>248 >9以降が「1着+差+1」行目
これ式のどの部分?
>S2+(T2-S2))
この部分かな?でも+1ないよね?
数式の検証でもやれよ
ひとつは、VLOOKUPで使えるようにオッズ表を作り変える方法 もうひとつは、1着毎に取り出す式を変えて15個の結果を表示したうえで、そこからひとつを選ぶ方法
>>254 >>248 の式を検証しないとわからなかったw
>>255 表はwebクエリで取り出してるから作り直すにはVLOOKUP関数を使うしかないから無理っぽい
1着毎に取り出す式を変えて結果を表示するのも、頭数が変るのに対応できないから無理っぽい
結果
>>248 の式を16頭立ての時だけズレに対応できるようにしたい、という結果に行きついた
>>256 S2=1ちゃく
T2=2ちゃく
U2=INDIRECT("r"&IF(S2<9,T2+2-S2,T2+2)&"c"&IF(S2<9,S2*2,16-(S2-9)*2)+1,0)
>>257 それだと16頭立の時はしっかり取り出せるけど、
>>246 みたいに15頭以下の場合は9番以下が行一つずれるね
>>258 てきとーにif分岐でいいんじゃない
u2=if(d17=15,INDIRECT("r"&IF(S2<9,T2+2-S2,T2+2)&"c"&IF(S2<9,S2*2,16-(S2-9)*2)+1,0),OFFSET($A$1,IF(S2<=8,T2-S2+1,S2+(T2-S2)),IF(S2<=8,S2*2,34-S2*2)))
2010を使ってますが、行方向のデータはオートフィルターで取り出せますが 列方向のデータはどうやって取り出せますか? マクロを書いてくだされば、組み込むことはできます。 例えば、3行目のデータを取り出すとき、インプットボックスを出して キーを入力、OKで抽出、みたいなものがあれば理想的です。
ユーザーフォームを学びたいのだが、お勧めの本とかサイトある? できれば2010に対応してるやつ
>>264 ただの方程式じゃん
Excel関係ないし
>>264 永久に小出ししてきそうだから教える
ちなみに
×数学
○算数
で、OFFSET関数の引数は
OFFSET(基準,行数,列数,高さ,幅)
であり、高さ、幅は省略できる。
つまり
OFFSET(基準,行数,列数)
これに248を当てはめると
=OFFSET(
$A$1, 基準
IF(S2<=8,T2-S2+1,S2+(T2-S2)), 行数、上下に何セル動くか
IF(S2<=8,S2*2,34-S2*2) 列数、左右に何セル動くか
)
行数を見ると
IF(S2<=8, S2、一着が8以下の時
T2-S2+1, 二着から一着の数字+1
S2+(T2-S2)), 8以上の時
T2-S2+1,を変える。まず二行ずつ移動するから
(T2-S2)*2
+1は不要になるのでこのままでok
つまり
U2=OFFSET($A$1,IF(S2<=8,(T2-S2)*2,S2+(T2-S2)),IF(S2<=8,S2*2,34-S2*2))
まぁおかしいところは他にもあるだろうから、そこは今教えた情報を元に逐次変えてくれ
267 :
名無しさん@そうだ選挙にいこう :2012/08/06(月) 21:41:58.95
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 リンクしているファイルを開くときに「更新する」「更新しない」が 表示されますが、「○日以外は更新しない」することはできるのでしょうか?
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 トライアル 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 マクロを作成しようとしたのですが、「マクロの表示」「マクロの記録」が灰色で表示されていてクリックできません。 表示タブ、開発タブ共にクリックできない状態です。 セキュリティー設定にて「すべてのマクロを有効にする」にチェックを入れ、拡張子をxlsmにしてもだめでした。 どうすればマクロを使用できるようになるのでしょうか。
>>268 トライアル版だからじゃないの??
製品版ならつかえそうな気がする。
2003を使用しています。 例えば… A1セルに、日本 C1セルに、1 と入力されているとします。 E1セルに数式として=A1と入力しないで、日本と入力したいとします。 その時、「(文字列としての)A」と「C1セルに入力された1」を利用する場合、 E1セルにどのように入力したら良いのでしょうか? 宜しくお願いします。
271 :
269 :2012/08/06(月) 22:55:42.29
>>269 すみません、自己解決しました。
インストール時にOffice 共有機能-Visual Basic for Applications
をインストールしていないのが原因でした。
=INDIRECT("A"&C1)
>>270 もういちど質問文を読み返してみてほしい
はたして第三者が読んで理解できる文章になってますか?
>>272 本当にありがとうございます。
かっこいいですね…
30分考えてもわかりませんでした…orz
ちなみに、このように関数が分からない(思いつかない)時の
自己解決手段というか糸口を見つけ出すコツのようなものはありませんでしょうか?
ググルにしても…orz
>>273 そこなんですよね…
どう上手く伝えられるか結構悩んだ上で投稿させて頂きましたが、
乱文でしたでしょうか?
申し訳ないです
>>274 単純で簡単な質問ほど言葉の意味が広くなって検索ワードの選択は難しくなります
まずは入門書を1冊最初から最後まで読んで、基本機能(どんなことができるか)を暗記しましょう
基本がわかっていれば検索で困ることはほとんどないはずです
>>275 273は日本語が不自由な人だから、貴方が謝る必要はない
>>276-277 詳しくアドバイスありがとうございます。
なるほど、入門書ですか!
今度書店で実際に確認してみようと思います。
親切にありがとうございました。
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 @ 一部のセルの計算式を削除して文字のみの状態する A 任意のセル(3ヶ所)の文字を使用して名前を付けて保存ができる B 保存時にpdfとxlsの二つの形式で出力(名称は両方ともAに準拠) @〜Bを一括で実行できるマクロを作りたいです。 マクロの記録とググって見つけたコードを組み合わせて @を実行後にpdfで保存 まではできたのですが、任意の名称と同時にxls出力がわかりませんでした。 拡張子二つ分の保存ができない場合はpdf用xls用にマクロが二つ、という形でもかまいません。 面倒な話ですが、よろしければ力をお貸しください。
>>280 質問の意味が理解できないので
今までに出来上がってるソースを見せてくれないか?
283 :
280 :2012/08/07(火) 00:30:55.11
Sub Macro1() ' ' Macro1 Macro ' ' Range("C6:F6").Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("H6:K6").Select Application.CutCopyMode = False Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ActiveWindow.SmallScroll Down:=42
284 :
280 :2012/08/07(火) 00:37:25.39
Range("I51:K51").Select Application.CutCopyMode = False Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("I52:K52").Select Application.CutCopyMode = False Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("I53:K53").Select Application.CutCopyMode = False Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("I54:K54").Select Application.CutCopyMode = False Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False v = Application.GetSaveAsFilename("ふぁいる名", "PDF (*.pdf), *.pdf") If v <> False Then ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=v, Quality:=xlQualityStandard, OpenAfterPublish:=True End Sub
>>281 =MATCH(0,INDEX(0/(A3:A12<>1),),-1)
>>281 =match("<>1",a3:a12,0)
でできたらカッコ良かったけど、matchは<>が使えないみたいだ
287 :
280 :2012/08/07(火) 01:00:11.22
>>282 領収書のようなもので、
お客さんのデータをINDEX MATCHで別ファイルから引っ張ってきています。
最終的にpdfとxls二つの形式で保存しておきたいと思っています。
@ 一部のセルの計算式を削除して文字のみの状態する
というのは、INDEX MATCHを削除しておきたいから
A 任意のセル(3ヶ所)の文字を使用して名前を付けて保存ができる
は、単純に名前を付けて保存する時の手間を減らしたいから
B 保存時にpdfとxlsの二つの形式で出力(名称は両方ともAに準拠)
この部分の書き方が悪かったと思います。
pdfで保存したいのはAの理由と、お客さんに渡す為で、
xlsで保存するのは、データの修正があった場合に備えxlsを残しておきたい。
(INDEX MATCH以外にオートサムが含まれている)
なのでpdf保存はAが満たされれば良く、
xls保存は@ Bが満たされれば良いと思っています。
>>287 AはRange.Textでセルの値を取得できる
BはWorkbook.SaveAsメソッドで実現できる
>>280 1について。
Range("a1:b1,c2:e3").Value = Range("a1:b1,C2:D3").Value
a1:b1とc2:e3の値で貼り付けはこれだけでいけるよ
ちょっとコードが長すぎるのでこれに書き換えたほうがいいと思う
最近、質問はまともな日本語なのに日本語理解できない回答者のつっこみがおおいね。質問者が気の毒だわ。
>>292 確かに。
そういうのは回答者として無視してたからいいけど、
質問者からすれば混乱の元だな
>>280 数式を値に変換するのは
>>289 でいけるからPDFとxls保存のコードだけ書いておきます。
内容的にブックを別名保存でなく、1シートのみな気がしたのでアクティブシートのみを対象にしてます。
任意のセルの文字を使いたいなら変数FileNameに代入してください
たとえばFilename = Range("A1").value & Range("B1").value & range("C1").value
保存先はマクロうごかしてるブックと同じ場所になります。特定の場所に保存する場合は
Thisworkbook.pathのとこを変更
あと質問者は2010使ってるけど質問ではxlsで保存と書かれているのであえてxlsで保存してます
Sub savePDFXLS()
Dim FileName As String
With ActiveSheet
'別名保存ファイル名
FileName = "テスト"
'アクティブシートをPDFで保存
.ExportAsFixedFormat Type:=xlTypePDF, FileName:=ThisWorkbook.Path & "\" & FileName & ".pdf", quality:=xlQualityStandard, includedocproperties:=True, ignoreprintareas:=False, openafterpublish:=False
'アクティブシートを新規ブックへコピー
.Copy
End With
With ActiveWorkbook
'コピーしたシートをFileNameで保存
Application.DisplayAlerts = False
.SaveAs FileName:=ThisWorkbook.Path & "\" & FileName & ".xls", FileFormat:=xlExcel8
.Close
Application.DisplayAlerts = True
End With
End Sub
295 :
280 :2012/08/07(火) 11:43:11.36
>>288 ありがとうございます。ですが、すぐにはわからないので少し時間を割いて理解を深めようと思います。
>>289 マクロの記録で一つ一つ作業したのがそのまま表示されていて長くなっていました。
省略方法ありがとうございます。こちらの方が理解しやすくなりました。
>>294 丁寧にありがとうございます。
ご察しの通りxlsでの保存を望んでいました。xlsxでお客さんに渡した場合に
excel2003でアドイン無しで開けない場合を考慮しての事です。
自分で望んでおきながらpdf xlsの同時保存は無理があると思っていました。
実行してみたらあっさりと出来上がっていて、なんとも感想に困りました。
願わくば、両方とも保存ダイアログが出ると最良なのですが、
pdf xls二つのマクロに分けた方が良いかもしれないと、思っています。
せっかく、コードを作成していただいたのですが、
もし、よろしければ下記のコードでxls出力する方法をご教示していただけませんでしょうか。
Dim SpecNo As String '明細NO
Dim FileName As String
SpecNo1 = Application.ActiveWorkbook.Worksheets("シート1").Range("J2").Value
SpecNo2 = Application.ActiveWorkbook.Worksheets("シート1").Range("C5").Value
SpecNo3 = Application.ActiveWorkbook.Worksheets("シート1").Range("C6").Value
FileName = SpecNo1 & SpecNo2 & SpecNo3 & "明細書"
Application.Dialogs(xlDialogSaveAs).Show FileName, &H39
End Sub
【1 OSの種類】 WindowsXP 【2 バージョン】 Excel2000、2003 【3 VBA 】 勉強中 【4 VBAでの回答】 可 1日2回(昼と夜)、ほぼ同じコースを走るルート集配の配車を組んでいます。まず、以下のような出勤表があります。 早番 遅番 日勤 休み 太田 斉藤 山本 ○○ 青木 岡本 加藤 △△ そして配車表はこんな感じです。 昼 車両 コース 担当 1号車 A(長距離) 太田 2号車 B(長距離) 青木 3号車 C(近距離) 斉藤 4号車 D(近距離) 岡本 5号車 E(中距離) 山本 夜 車両 コース 担当 1号車 A(長距離) 斉藤 2号車 B(長距離) 岡本 3号車 C(近距離) 太田 4号車 D(近距離) 青木 5号車 E(中距離) 山本
297 :
296 :2012/08/07(火) 12:16:51.12
昼は長距離は早番、近距離は遅番が担当。夜は逆です。中距離は昼も夜も原則一緒です。 @昼の配車表(車両とコースはすでに入力すみ)に出勤表を参照して担当者の名前をいれる。(あとで細部を人間が調整) A昼の配車表ができたら、これをコピペして夜の配車表の元をつくる。 その際、長距離、近距離の担当者は入れ替わるので、その欄は空欄にしたい B長距離、近距離の欄を人間が埋めて調整し、完成。 1日の勤務者は最大10数名、コースも最大で10数とおりあります。(日によっては乗るコースがなく内勤に回る人も) 同じ長距離コースでも件数等、差があり、公平性も加味して最終調整は人間がやるので、仮配車表をマクロで作成したいわけです。 Cあと人間が調整すると、遅番なのに朝、長距離に入ったり、というミスが発生しやすいのでそれを検出したいです。 (その欄に色をつけるなど)上記@ACをマクロや関数でできたら、と思ってます。 配車表と出勤表は同じシート内にあります。可能ですか?どんな関数を適用すればいいですか?アドバイスお願いします。
>>297 @AはVBAで、Cは条件付書式でIF関数
丸投げしたいなら元となるブックをアップしてくださいね
シフト表は昔はソルバーでつくったもんだが、いまでもソルバーってあるのかな
300 :
294 :2012/08/07(火) 18:55:16.83
>>295 保存部分は
>>294 と同じでアクティブシートのみ保存です。
Sub test()
Dim SpecNo1 As String '明細NO
Dim SpecNo2 As String
Dim SpecNo3 As String
Dim FileName As String
Dim PdfName As String
SpecNo1 = Application.ActiveWorkbook.Worksheets("シート1").Range("J2").Value
SpecNo2 = Application.ActiveWorkbook.Worksheets("シート1").Range("C5").Value
SpecNo3 = Application.ActiveWorkbook.Worksheets("シート1").Range("C6").Value
FileName = SpecNo1 & SpecNo2 & SpecNo3 & "明細書"
FileName = Application.GetSaveAsFilename(FileName, FileFilter:="Excelファイル,*.xls", Title:="アクティブシートをxlsとPDFで保存")
If FileName <> "False" Then 'ダイアログでキャンセルした場合FileName=Falseになる
PdfName = Left(FileName, Len(FileName) - 4) & ".pdf"
With ActiveSheet
.ExportAsFixedFormat Type:=xlTypePDF, FileName:=PdfName, quality:=xlQualityStandard, includedocproperties:=True, ignoreprintareas:=False, openafterpublish:=False
.Copy
End With
With ActiveWorkbook
.SaveAs FileName:=FileName, FileFormat:=xlExcel8
.Close
End With
End If
End Sub
職場のPCにHTMLエディタがインストールできないので、ExcelかWordで 社内向けの資料や様式を載せたかんたんなサイトをつくるつもりです。 ほんとはブログみたいにCMSで動的に管理できればいいんですが、まあ オフィスアプリだけでは難しそうなので。 ExcelのブックをHTML形式で保存すると、シートがそのままタブになるので、 これいいなとおもってるんですが、グループ化は折りたたみで再現できなかったり するので、この機能はHTMLで再現できるできないといった、まとまった資料は どこかにないでしょうか。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 セルの表示形式について教えてください セルの値が 5.03,0.24 の時、セルの表示は 5.03 とするには、 どのように表記すればいいですか? カンマの前部分だけを表示したいです(通常は半角英数字数字)
ひとつのセルには、ひとつの数値をいれろ
>>302 そんな表示形式は無いよ
表示形式には数値と文字列の書式があるが
文字列は全部表示するか全部表示しないかの二択(色指定を除けば)
で、「5.03,0.24」は半角だろうとExcel上では数値ではなく文字列扱いなのでどうにもならない
>>301 エクセルで作ってしまうとものすごく長いhtmlが出力され、改修作業が大変
結果的にhtmlの方が早いのでやる人が少ない。
それかhtmlにエクセルを埋め込んでみては?
IE限定になるけど、ソッチのほうが早いかも
【1 OSの種類】 Windows7 【2 バージョン】 Excel2010 【3 VBA 】 勉強中 【4 VBAでの回答】 可 特定のセル値が入ったらマクロが実行されるという場合はどうすればいいのでしょうか。 例えば、セルB1には色々な文字が入りますが、「更新」という文字の場合のみはマクロが実行されるというものです。
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Value = "更新" Then MsgBox ("ここにマクロを記述") End If End Sub
抜けてた Private Sub Worksheet_Change(ByVal Target As Range) '行2、列1(B1)のセルが変更された時の処理 If Target.Row = 2 And Target.Column = 1 And Target.Value = "更新" Then MsgBox ("ここにマクロを記述") End If End Sub
>>308 別にメッセージボックスは要らないんだけど、その場合はMsg消してそこに実行のコードを書けばいいだけ?
>>296 やりたい事は理解できるけど、結構選択肢が多いよ。疑問点も。
丸投げじゃなくVBAの見本が欲しいのだとしてもブックをアップした方が早いと思う。
VBA全く無しでもいいし。表の形とダミーデータと、やりたい事をテキストボックスか何かでメモ
書きでもしてUPしたら誰かがコード組んでくれると思うよ。
312 :
282 :2012/08/07(火) 21:06:59.01
>>290-293 うるせーハゲ!!
313 :
210 :2012/08/07(火) 21:09:13.08
>>.290-293 チョンは出てくんな
>>302 a1に入っている5.03,0.24から数値の5.03を取り出す場合、
=value(left(a1,find(",",a1)-1))
てな感じです。
あとは普通に表示形式をセットします。
>>302 場合によっては「区切り位置」の機能も使えるかも
>>308 それじゃバグりまくりだぞ
> Target.Row = 2 And Target.Column = 1
はB1じゃなくてA2だ
まあそれは凡ミスだとしても、そのコードだと
範囲消去や範囲コピペ、Ctrl+Enterによる範囲入力が行われた場合
Target.Valueは配列を返すから、= "更新"じゃ比較の型不一致を起こす
対象であるB1を含む範囲入力はまず無いとしても、関係ないところで
範囲選択して消去(Del)する度にエラー出たら使い物にならない
そのコードを使うなら、最初に
If Target.Cells.Count > 1 Then Exit Sub
を入れるか
If Target.Row = 1 And Target.Column = 2 And Target.Cells(1).Value = "更新" Then
このどちらかでとりあえずエラーは出なくなる
あとは先にも書いたようにまず無いとは思うが
行進 更新
交信 後進
なんてのをA1:B2に貼り付けた場合、B1には「更新」が入力されるが
>>308 のコードでは任意のマクロは実行されない
(上記の修正をしなければエラーが出る、修正したらエラーは出ないが実行もされない)
それにも対応させるとなると、Intersectで対象セルを含む範囲の変更があったかを判定し
Target使わずRangeで対象セルを取得して内容を確認すると良いかな
RowやColumnは本来は早いんだが、ぶっちゃけAndで繋げたら遅くなるし
>>308 も凡ミスしたように初心者には解りにくいからな
シートのチェンジイベントって「=」などの関数で取り込んでるセル値の変化には対応していないのね・・・ セル値の変化に対応する方法ってある?やっぱりターゲット元のセルを対象にするしかない?
>>317 対応してないんじゃなくて、値(VBAで言うところの.Value)が変化してないからイベント起こらないだけ
=A1って入れたセルの値は、あくまで「=A1」という式であり、A1が変化して
計算結果、表示(VBAで言うtころの.Text)が変わっても、値である式の記述は何も変わってないからな
計算結果の変更判定はCalculateイベントを使う方法もあるが、参照元のChangeを見た方が
スムーズ&スマートだろ
荒れる元だからコテはなるべく外して欲しい
しっかり答えられる人ならコテあってもいいんじゃね 信頼できるし
しっかり答えられる人なら、ね
>>299 それぐらいはさすがに自分でググってくれ
323 :
280 :2012/08/08(水) 00:06:18.86
>>300 レスが遅くなってしまって申し訳ないです。
さっそく組み合わせて利用してみたところ、一人で感動していました。
うお、すげぇ! まじすげぇ と言う気持ちです。
残念な事はブックの使用者が、このマクロに何の関心も示さなかったことです。
基礎知識がないのですが、VBAが少しだけ身近になった気分です。
重ね重ね、ありがとうござました。
また、いつかお世話になる事があるかもしれませんが、
その際は(最初に変数を全て宣言している理由など)
もう少し理解を深めていたいと思います。ありがとうございました。
>>323 >最初に変数を全て宣言している理由
変数は使用する直前に宣言するのが一般的
325 :
296 :2012/08/08(水) 00:27:10.19
>>298 >>310 レスくれた方ありがとうございます。元ブックは職場にあるのでうpはちょっと問題があるかも。
今日1日、あっちこっちのサイトを巡回していたら自分でもある程度までできそうな気がしてきたので
質問をいったん取り下げて、疑問点を整理してポイントを絞って、改めて質問したいと思います。
いずれまたよろしくお願いします。
>>308 さんにシートイベントのVBAを教えて貰いましたが、この条件でセル値の右側の文字列のみの変化は対応できますか?
関数で言えばRIGHT関数みたいに、VBAでもセル値内の右の文字だけを参照するなんてできるのでしょうか?
>>324 そうなの?
俺の周囲ではたいていプロシージャの先頭で宣言してるけど。
使う直前に宣言だと全体の見通しが悪くなる気がするよ。
>>326 "更新"だと"新"だけってこと?
更新→更生に代わるなら、一旦セルに入れておいて比べたほうがいいかと
>>327 カプセル化で考えるなら使う直前がいい
極端な話、forのカウント変数を最初に宣言しないでしょ
>>329 forのi最初に宣言してるわいつも。
わざわざFor使う直前に宣言した方がいいのか?
使う直前の方が少しでも動作が早くなるならそうしたいが見通しだけの問題なら最初にまとめて宣言した方が
見やすいと思うな。
331 :
327 :2012/08/08(水) 05:45:43.59
>>329 そういう考え方もあるのか。
俺はカプセル化といってもその最小単位をプロシージャにしてるから
必然的にその先頭部分で宣言することになるんだよね。
だからループのカウンタに使う変数も当然最初に宣言しているよ。
だいたいはI,J,Kあたりを宣言して使いまわしてる。
一番外側からI,J,Kの順に使ってれば入れ子のときのネスト数も分かるし。
それで見にくくなるってことはプロシージャ自体が肥大化してるってことで、
そういう時はプロシージャをもっと分割できないか検討するよ。
Forで使うiなんかわざわざ宣言せんわ ネストが深い時とか別の変数名の時は宣言するけど
俺はOption Explicit書いてるから、iだろうと宣言しないと使えない iだけなら確かに宣言しなくてもいいとは思うけどOption Explicit書かないと 他の変数での宣言忘れや記述ミスに気付きにくくなるし、大抵の言語は 宣言必須だから、宣言必須状態に慣れておいた方がいいと思う
>>328 いえ、「○○更新」という文字列で、最後の2文字が「更新」の時のみイベント実行というのにしたいんです。
レフト関数で右側2文字だけ取り出してやろうとしたのですが、
>>318 さんが言ったように関数だと無理のようなので
ターゲット元のセル値の右側2文字を参照に出来ないかと思って
普通にVBAにもLeft関数あるけど…
右2文字ならRIGHT関数だろ
レフト関数って言うから左(先頭)2文字かと思ったがよく読んだら右2文字かよ… VBAだけでなく左右もおぼつかないのか… つ Right(Target.Value, 2) = "更新"
右向け左!
>>324 VBAに限っていうなら最初に全て宣言しても別にいいんじゃね?
他の言語やるなら別だけど
342 :
名無しさん@そうだ選挙にいこう :2012/08/08(水) 11:42:10.44
>>324 ほかは知らんがVBAに関して言えば最初にすべて宣言するべきだし、
そっちのほうが一般的
▼━質問テンプレ (嫌でも使ってね) ━━━━━━━━━━━━
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
ttp://arehoshii.run.buttobi.net/tasizan.xls 答シートにAが書いてある場所とまったく同じ場所の
数シートのセルの数字を全て足し算したいと思って
こんな感じに計算用のシートをひとつ作ってみたのですが
今後、マスが増えたりAじゃなくてBとかCとか出てくるかもしれないので
このまま同じように作っていくとどんどん重くなりそうで
もっと簡単にスパッとやる軽くて良い方法は何かないでしょうか?
上に書いたとおりVBAはちょっとトンチンカンなので普通の計算式でできたらなあとお願いします
>>323 >>342 >>343 一般的かどうかじゃなく、理由が必要だと思うよ。
可読性だけが理由ならどっちもどっち。MSのサンプルは使う直前に宣言してるやつは変数をその近辺だけしか
使ってないから見やすかったが、間をあけて数か所で使われる変数が多ければ先頭で宣言した方が明らかに見やすいし。
宣言が必要かどうかで言えばミス等の不具合考えたら有った方がいいのは明らかだしね。自分もOption Explicit使ってる。
348 :
345 :2012/08/08(水) 14:17:23.59
あぁっごめんなさい誤解させてしまいました 今、答シートにはAだけがまばらに入っていますが 今後はその答シートの中にAやらBやらCやらが点在してきて その中からAだけの対応する数字、Bだけの対応する数字、Cだけの対応する数字 という和が欲しいということでした これがAの有無の列、Bの有無の列、Cの有無の列、取り出す数字の列・・・と 一列ずつになっていたらSUMIFが使えそうなのになあと思っている次第でございますよ しかし現実は非情である
選択した範囲の行の背景を交互に色分けしてストライプ模様にできる機能ないかな 既にセルには関数や条件書式があって、コピーできないから一々1行ずつ手作業で背景つけるのめんどくさいので
>>350 条件付書式を追加するかVBAでやる
手作業なら=MOD(ROW(),2)をセルに入れてオートフィルタで絞り込んで範囲選択して背景色を設定する
>>308 のVBAを使うと、他のセルの値をクリアしただけでデバッグになるんだけど、どうして?
デバッグになる???
あ、エラーになります
実行エラー'13':
型が一致しません。
となって、デバッグすると
>>308 のセル指定の列が黄色くなってます
ちなみに
>>308 の数式を改良して
If Target.Row = 3 And Target.Column = 6 And Right(Target.Value, 2) = "更新" Then
にしています。
>>357 ならない
右2文字が"更新"ならメッセージボックスがでる
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 3 And Target.Column = 6 And Right(Target.Value, 2) = "更新" Then
MsgBox ("ここにマクロを記述")
End If
End Sub
Targetが空白の場合でRight()がエラーになってんだろう IF文を2つに分けてセルF3以外ならなにもしない処理しないとだめ
>>359 やはり複数選択されているんでしょうか
F3だけをピンポイントに参照する方法はないんですか?
じゃあこれで Private Sub Worksheet_Change(ByVal Target As Range) If Not (Target.Row = 3 And Target.Column = 6) _ Or Len(Target.Value) < 2 Then Exit Sub If Right(Target.Value, 2) = "更新" Then MsgBox ("ここにマクロを記述") End If End Sub
こっちのほうがいいかも Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo Err If Target.Row = 3 And Target.Column = 6 And Right(Target.Value, 2) = "更新" Then MsgBox ("ここにマクロを記述") End If Err: End Sub
ゲームの戦闘で使う計算式をエクセルに数式として入れたいのですが、 うまくいかないので助けて頂きたいです。式の概要は以下のような感じです。 ・基本のダメージ数値 × ≪150+【50≧力/2】≫% 要は、『力によるダメージ補正が欲しいけど、最大でも+50%までに留めたい』のです。 で、一応自分でエクセル用の式を作った↓のですが、何かうまくいきません。 =K7*((150+(50>=(F7/2)))/100) 『>=』の部分がうまく機能していないぽい所まではわかるのですが… 上記のイメージの式を数式化するにはどうしたらいいかお教え頂けると助かります。
=K7*(150+MIN(50,F7/2))/100
>>364 できました!ありがとうございます。
>>365 RPGです。うぷとかは無理ですが頑張ってできるだけいいものにします。
370 :
368 :2012/08/09(木) 20:09:38.62
きっと5-0=0を満たす数式が見つかるまで納得してくれないんだろうなと思って。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 B5〜B35までユーザー定義で #,###"*1" とし、数字を入れます。 1000と入れれば、1,000*1 になります。 2,000*3としたいときは、仕方なく 2,000*3 と入力していますが、 文字列になっています。 このようなとき、C5〜C35にはその計算値が入るようにしたいです。 ≪入力値≫ B 5 1000 ←数字 6 2,000*3 ←文字列 7 345 ←数字 8 15,000*2 ←文字列 ≪入力後の表示≫ B C 5 1,000*1 1,000 6 2,000*3 6,000 7 345*1 345 8 15,000*2 30,000
372 :
371 :2012/08/09(木) 20:36:25.67
漏れてました。 C列は合計値を出すので、数値にしたいです。 よろしくおねがいします。
>>371 無理かと
B C D E
5 1,000 * 1 1,000(=B5*D5、以下同様)
6 2,000 * 3 6,000
7 345 * 1 345
8 15,000 * 2 30,000
=IF(ISNUMBER(B5),B5,IF(LEFT(RIGHT(B5,2),1)="*",VALUE(LEFT(B5,LEN(B5)-2)),B5))
これだけでいいかも =IF(ISNUMBER(B5),B5,VALUE(LEFT(B5,LEN(B5)-2)))
378 :
290 :2012/08/09(木) 21:12:22.47
最近、質問はまともな日本語なのに日本語理解できない回答者のつっこみがおおいね。質問者が気の毒だわ。
379 :
371 :2012/08/09(木) 21:14:21.20
>>371 B6の表示形式を#,###"*3"に
B8の表示形式を#,###"*2"に
したらダメなの?
381 :
371 :2012/08/09(木) 22:32:01.41
>>373 B5〜B35までユーザー定義で #,###"*1" に設定。
2,000*3としたいときは、仕方なく 2,000*3 と入力。
このようなとき、C5〜C35にはその計算値が入るようにしたい。
また、C列は合計値を出すので、数値にしたい。
>>374 無理ですか・・・
>>375 >>377 ありがd。今のところ問題なさそうです。
>>379 あんた誰?
>>380 ダメですね。
てゆうか、それで対応できれば自己解決できます。
Bに全部入れないで、数値、*、数値の3列に分ければいいんだよ
383 :
バグソフト? :2012/08/09(木) 22:53:34.63
>>383 そーゆーのはココじゃなくて
メーカに報告するもんだよ
386 :
371 :2012/08/09(木) 23:39:47.92
387 :
373 :2012/08/09(木) 23:43:45.54
どうでもいいけど、
>>375 や
>>377 は左辺の数値を取り出してるだけで、掛け算はしてないだろ
なんでこれで問題ないんだろうな
自己解決したんじゃね? *RIGHT(B5,1)を追加するだけだしw ただ、*の後は1ケタだけなのかな?
いや、カンマついてるからそのままじゃエラーになるね なにがしたいんだか
まぁ俺が使うならこんなへんてこな入力フォームは嫌だ
自分で質問して自分で答える変態さんがまた出てきたのか
>>391 どこのカンマだ?
エラーにならないんだがw
あ、ほんとだ カンマがあっても計算できるんだ
複乳さんがいた頃は、もっとレベルが高かったぜ おまいら厨房か?
1,000 ↑ カンマって、矢印のところか? 数値なら計算できるのを知らなかったとか なんて大場加奈子なんだろう
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 B5〜B35までユーザー定義で #,###"*1" とし、数字を入れます。 1000と入れれば、1,000*1 になります。 2,000*3としたいときは、仕方なく 2,000*3 と入力していますが、 文字列になっています。 このようなとき、C5〜C35にはその計算値が入るようにしたいです。 ≪入力値≫ B 5 1000*2 ←文字列 6 2,000*33 ←文字列 7 345 ←数字 8 15,000*200 ←文字列 ≪入力後の表示≫ B C 5 1,000*2 2,000 6 2,000*33 66,000 7 345*1 345 8 15,000*200 3,000,000
>>398 何がしたいんだ?
400 :
371 :2012/08/10(金) 01:35:26.83
つ IF ISERROR FIND
おっと、レス番が残ってたぜ
402 :
371 :2012/08/10(金) 01:56:16.53
つTEXT VALUE LEFT FIND RIGHT LEN
おっと、レス番が残ってたぜ
関数並べるだけならサルでもできるぞ
>>371 >>398 なんでこんな意味不明な計算したいんだ?
どうせ実用しないだろ。
書式設定されたセルは*1だから計算する必要ないな。
自作関数作ってC5=KEISAN(B5)で
Public Function KEISAN(ByVal Str As String) As Long
Dim Spl As Variant
Spl = Split(Str, "*")
If UBound(Spl) = 0 Then
KEISAN = Spl(0)
ElseIf UBound(Spl) = 1 Then
KEISAN = Spl(0) * Spl(1)
Else
KEISAN = "err"
End If
End Function
>>398 文字列として入力された数式を計算させる場合はEVALUATE関数を使え
407 :
名無しさん@そうだ選挙にいこう :2012/08/10(金) 10:11:12.41
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 積み上げ面グラフをつくりたいのですが、元データの時間間隔は一定ではありません。 元データは原則5分間隔であるのですが、ところどころデータ欠損があります。 このため、単純に積み上げ面グラフを作ると、x軸が実際の時間とあいません。 散布図を使えば、x軸は実際の時間とあうのですが、線のグラフになってしまい 面のグラフになりません。 積み上げ面グラフでx軸が実際の時間となるようなグラフ、あるいは、 散布図を面グラフのようにするいはどうすればいいでしょうか?
データ欠損のところも、=NA()でデータ用意すればいいだけでは?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 選択範囲をすでに作ってあるマクロの特定場所のコードに書き込めないでしょうか? 例えば下は適当ですがA1〜B2を選択しbマクロを実行するとaマクロのnと言う変数に選択範囲が入るみたいな感じです sub a() dim n as range set n = "bマクロで取得した選択範囲Range("A1〜B2")" n.select end sub
bで取得した範囲をaで流用したいてことなのか aからbを実行したら、bが取得した範囲を戻り値として返して欲しいってことなのか解らないが 前者ならモジュールレベル変数使ってb→aの順で実行 Dim n As Range Sub a() If n Is Nothing Then Exit Sub MsgBox "bマクロで取得した「" & n.Address(0, 0) & "」を選択します" n.Select End Sub Sub b() Set n = Range("A1:B2") End Sub 後者ならSubではなくFunctionにしてaのみ実行 Sub a() Dim n As Range Set n = b MsgBox "bマクロで取得した「" & n.Address(0, 0) & "」を選択します" n.Select ' b.Select とすることも出来る End Sub Function b() As Range Set b = Range("A1:B2") End Function
411 :
409 :2012/08/10(金) 13:11:53.24
>>410 すみません少し意味合いが違いましたSelection.Addressで行けそうなので考えてみます
皆さん仕事以外でexcelつかうことありますか?
>>412 パスワードとかまとめてるな
あとエクセルでプログラム書いたりすることもあるわ
415 :
407 :2012/08/10(金) 17:13:50.44
>>416 エクセル 変わった使い方
でもぐぐれば
418 :
371 :2012/08/10(金) 18:55:27.54
>>405 >【3 VBAが使えるか .】 いいえ
>【4 VBAでの回答の可否】 否
読めないの?
理解できないの?
アホなの?バカなの?かたせりの?
うーん、2点
>>418 マルチだったしまともに回答する気もなかったし。
421 :
371 :2012/08/10(金) 19:45:38.39
マルチって何だよ。 マルチじゃねーし。
本人と思わせた別人か。暇人ね。
>>398 流れ読まずにマジレス
C5に下記の式で、C6以下にコピペ
=IF(ISERROR(FIND("*",B5)),B5,LEFT(B5,FIND("*",B5)-1)*RIGHT(B5,LEN(B5)-FIND("*",B5)))
今は分からないかもしれないけど、一つのセルに1000と2みたいに複数の値の情報を持たせたり、
数字のデータを文字列で持たせるとかは、Excel慣れた人から見ると、意味不明。
強引に上の式で処理できても、改変するときや例外的な処理対応で、後で無理が出てくる。
掛ける2つの数字を別々のセルに値保持用に入れて、別の表示用のセルに掛け算を文字列で表示するとかしたほうがいいよ。
俺もそういったんだけどね。
>>371 はどうしてもそうしたくないんだそうだ。頭悪すぎ。
426 :
名無しさん@そうだ選挙にいこう :2012/08/10(金) 22:00:46.10
ユーザーフォームを使いなせるようになりたいんだが、何かお勧めの書籍物などあるかね
エクセルはワークシートが便利すぎてあんまユーザーフォーム使っても仕方ないからなー VB.NET使うといいんじゃない
本は知らん。多分無い。
429 :
名無しさん@そうだ選挙にいこう :2012/08/10(金) 22:33:06.34
シートは便利だけど、デザインやセルの拡張上ユーザーフォームを使えたら何かと便利だと思って まぁExcelでデザインなんて求めるのは愚の骨頂かも知れんが
>>429 Sub a()
UserForm1.Show (vbModeless)
End Sub
このvbModelessは便利だからこれは覚えておいたほうがいい。
ちなみにユーザーフォーム表示中もワークシートを触れるようになる
>>430 >>383 で既出
あれ? Sub a() UserForm1.Show (vbModeless) End Sub を Sub a() UserForm1.Show (aaa) UserForm1.Show (vbModelessxxxxxxxxxxxxx) End Sub と書いても問題なく動く。false扱いってことなの?
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 下のVBAでB1の値をA1にコピーするVBAを使用しているんだけど、 A1が空白じゃない場合はこの処理を止めるという風にしたいのだが、どうしたらよいでござるか? syutubahyou.Range("A1").Value = syutubahyou.Range("B1").Value
>>433 if文でブランクの時だけ処理すればいいんじゃないの?
If syutubahyou.Range("A1").Value = "" Then
syutubahyou.Range("A1").Value = syutubahyou.Range("B1").Value
End If
>>433 if syutubahyou.Range("A1").Value <> "空白" then
exit sub
end if
syutubahyou.Range("A1").Value = syutubahyou.Range("B1").Value
答えを聞いた後に何という単純な事だったんだと反省したでござる
おい、ミクシの方が騒がしいぞ。 あいつら、トラブル好きが多いからな。臭いを嗅ぐと、 ワラワラと、集まってくる・・。
>>432 vbModelessは0
VBAでは宣言してない変数の初期値も0
>>438 おー、そういうことか、ありがとう
宣言無しにしてるとちょっと危ないな
440 :
371 :2012/08/11(土) 10:05:55.70
>>423 マジレス乙w
398は俺じゃなくて愉快犯だけどね。
ちなみに、386も俺じゃない。
400は俺だが、398の例なら俺にも分かる。
371は前任者からの引き継ぎファイルで、荷姿を1つのセルに書いてる。
大半が*1なので、数字だけ入力すれば1,000*1みたいになるが、
ときどき*2や*3があるから、そのときは1,000*2と入力する。
しかし、C列はB列の計算値を手動で入力するというお粗末なことにw
(おバカだろ?)
正直言ってマンドクセーのは俺にも分かってるし、| 数字 | * | 数量 | と
3つのセルに分けるべきと思う。だが、空白セルが無いのと、
前任者が気難しい人なので勝手に変えることもできない・・・www(滝汗;;;
ということだ。
398で質問したやつは、423にお礼をしておけよ。
俺なら前任者無視して全部作りかえるわ。
作り替えたやつを見せて交渉か、 コッソリマクロ仕組むかな
見た目を変えたくないとしても、3列に分けてグループ化して隠してから、 文字列結合させれば済む話
どう考えても思考停止してる440が一番おバカだなw 方法なんていくらでもあるだろ 他人のせいにして自分は悪くないとかアスペにもほどがある
447 :
371 :2012/08/11(土) 12:51:06.90
>>445 方法なんていくらでもある
では、3つアイデアを出してください。
・前任者を無視する ・前任者を無視できない立場の弱さを嘆く ・退社する
449 :
371 :2012/08/11(土) 14:31:31.38
>>448 アイデアとして超ツマラン。
もしお前が455だったとしたら、非建設的なことしか書けない己を罵ったほうがいい。
450 :
371 :2012/08/11(土) 14:32:03.99
x 455 o 445
・前任者を説得する ・別にファイルを作る ・退社する
無視るのは全然非建設的じゃあないと思うが? どのあたりが建設的じゃないと思うのか説明してみろよ あとコテは騙りが出るんで鳥を貼れバカタレ
・ニートであることを正直に告白する ・ハロワに行く ・首を吊る
極度に低脳な書き込みが増えたのは、夏休みだからか?
エクセルスレに夏休み関係あるかボケ
どっちでもいいわね
457 :
371 :2012/08/11(土) 17:30:30.30
>>452 無視るのは全然非建設的じゃあないと思うが?
そうだね。
でも、それ(前任者を無視する)だけで終わってるから非建設的って書いたんだよ。
ファイルを作り変えるなんて発想は、わざわざお前らに言われなくても
バカだがチョンではない俺でも分かる。
B列とC列のセルで完結できるようなアイデアを書け。
(マクロは知らん)
VBAを勉強するのが最も建設的だと思う。
しかもこの場合終着点が
>>371 を解決する、という非常に明確なことでモチベーションも保ちやすいし。
なんでB列とC列限定なんだよ・・・その発想がバカすぎんだろ そのシートがダメなら別のシートでもいいだろ、どんだけバカなんだよ あと鳥を付けろバカタレが!
俺なら2000*2と入力されられる時点でそのファイル使わん。
アイディアっていうかとりあえずC列だけで結果返す方法は既に提示されてるんだから あとはそれ使うか、不適切な現在の状態を根本的に改善するかは371次第であり もうここで教えるべき事はないでしょ
463 :
371 :2012/08/11(土) 17:47:50.04
おまえら前任者がどんな奴か知らないからそんなでかい口叩けるのも今のうちだぞ
ていうか前任者ってもう100%無関係だろ? 引き継いだ後にナニしようがこっちの勝手だろうがよ
>>458 マクロは敷居が高いんだよね。
405が書いたやつも、何をどうしていいのかサパーリわからん。
ま、勉強して大泉を見返してやろうかとは思ってるが。
>>459 お前がアイデが出せないからって、雑談スレに誘導か。
445が「方法なんていくらでもある」なんて書いてるんだから
どれにしようかと悩ませるくらいのアイデアを出して欲しいもんだ。
ただ、そのアイデアとやらが451とか453のようなものなら不要。
463は別人
x 大泉 o 前任者 ま、見てないだろうけどw
大泉さぁーーーーん!!!!
テメェのほうから3つとか数を限定しといて選べないとかワガママもいい加減にしろよ・・・? それなら最初から10とか20とか出しゃいいだろうがよ 後から後からグチグチそんなだから自分じゃ何もできねえんだろ池沼白痴が
無視るっていうのは放置って意味じゃなかったんだが・・・? おまえ本当に自分じゃやる気ないのな
>>460 別シートって・・・
| 1,000 | * | 2 | とか書くわけ?
だったら、今のやり方の方がマシだよ、マシ。
>>462 今のやり方にケチをつけてるやつらが多いから
そのアイデアを伺っているんです(棒
>>464 入力は俺だけど、その資料を別の人が使うから
フォーマットを変えると、関連ファイルを全て直さないとだめ。
でも、関連ファイルがいくつあるか分からない。
ちょっと俺の会社で大泉って居るか調べたみたw えーと4人居るなw 同じ会社じゃねーことを祈るわw その大泉よりもおまえと同じ会社だと思いたくないしw
>>468 誰か標準語に翻訳してください。
何を言ってるのかワケワカメ
あ、俺あてのレスじゃないのかな?
え・・・? > | 1,000 | * | 2 | ナニコレ?何言ってんの?冗談でしょ?
>>473 え、違うの?w
じゃー、バカな俺にも理解できるように具体的に書いてよ。
そんな意味不明なフォーマットで関連ファイルがあるから変えれないとか、うんこみたいな会社だな。
もういっそのこと手マクロ使えよ
>>477 371みたいな知識的にも精神的にも未熟な奴が、業務で使うブックの管理を
後任として任されるって時点で、その会社のレベルの低さは解りきってることやんけ
こういうヤツって教えても理解もせずに使うからなあ そしてミスったらまた人のせいにするんだろ もう何のために生きてんの? 周りの迷惑だから死んだほうがいいよ
俺の課にいたらExcelさわらせないレベル さわればさわるだけデータが壊れるわ 壊れたのを直すのに時間食うわで手作業のほうが早い
ぶっちゃけ371 ◆UEVzcTevVXFHはExcelさわって何年くらいなの? まさか一か月にも満たないとかないよね
>>477 俺の会社を知ってるの?
ま、有名だしね。
471みたいに全社員の名簿が自宅で見られるようなちっぽけな会社じゃないし。
しかも、マイナーな苗字が4人とか、零細の一族会社かよw
>>478 いいね、そのアイデア。
で、手マクロって何?
>>479 全社員が2万人くらいいる中で、一人のカスがいても経営トップでなけりゃ
会社のレベルは計れない。煽りとしては-3点。
>>481 一生、管理職にはなれないタイプだね。
お前のようなやつは、入力作業に徹していればいいアルバイトと同じ。
484 :
481 :2012/08/11(土) 19:05:52.57
すみません 中学生です
社員2人って・・・おまえと大泉さんだけかよw
あのシートをつくりなおせって誰もいわない2万人規模の企業は日本には存在しない このスレですらこの有り様だってのにw
有限会社の運送業事務員二人ぐらいのとこが使ってそうな内容だしな。
>>483 おまえの会社って社員検索システムとかないの?
こっちは業界内でも三位には入るくらいの会社だからなあ
マイナーな苗字でも日本全国で4人くらいはいてしまうのさ
一人は本社の人間だったわ
「さとう」で検索すると360人、「すずき」だと324人だな
人数多すぎで詳細結果出ないって怒られたw
業界3位の会社が導入してるようなシステムが、 検索結果がたった300人台で多いとか、どんなギャグだよ
ん、たまには遊ぼうか
>>483 >一人のカスがいても経営トップでなけりゃ会社のレベルは計れない
システムが統合されていない、また本社システム部への報告ができないって時点でイマイチだと思う。
しかし、君が本社に掛け合えば全社的にやり方が代わるチャンス。
チクリではなく、○○という明らかに手間のかかる作業がある・・・と報告し、変えるべき。
ちなみに俺のところは本社システム部へあらゆるものを要求、常に全社で使えるようにしてある
というか基本的に専用アプリを使うしアクセスで加工が基本だからほとんどそれを使うことはないけど
一流企業はエクセルなんてめったに使わないと思うけど、急成長した会社はあるかもしれないので断定はしない。
あるのかな?
ちなみに俺は10年前に5000人規模の証券。今合併して大分変わったけど
>>489 今会社じゃないんだから無理言うなよw
ケータイ用のやつで検索しただけだ
会社で検索したらキッチリ全員出てくるわ
ひらがなじゃなくて漢字とか電話番号でも検索できるしな
大会社ほどAccess基本なのでエクセルに疎い 小規模になるほどエクセルに・・・強くなるわけではないが、強くなる奴がいるところもある 決して恥じることではない それは逆に効率がいいんだ
ん? 大会社は、全社データベースは、ACCESSでなんか作らない。 でも、部署DBは、ACCESSで作ったり。 中規模はACCESSが多いかなあ。 EXCELの達人は、どこにでも、ある一定の割合でいると思うよ。
AccessやExcelは基幹システムから引き出したデータの加工につかうのが多い
間違っても
>>371 のような使い方をすることはない
お前らExcelのスキルはあるくせに スルースキルはないんだな
>>493-494 >大会社は、全社データベースは、ACCESSでなんか作らない。
俺も何で作ってるかは知らないし、Accessで作ってないこともわかってる
拡張子が.dbでもない
データ自体はよく分からん操作で引っ張りだしてる、というか必要な場合の更新しかしてない
恐らくこれは個人で使わないだろうしその必要もないのだろう
497 :
複乳 :2012/08/11(土) 23:31:53.32
>>405 の乗せたbookを作ってアップしてやってくれないか。それで解決する。
俺は実力が足りなくてダメだった
なんでkeisan()がNAME?エラーになるんだ
ワークシートでもワークブックでもダメなのか
複乳さん (;´Д`)ハァハァ
488はネタだな 東北の会社なら5000〜6000人規模の会社だ 携帯で全社員が検索できるって、どんな脆弱なシステムだよ 業界3位って、よほど小さい業種なんだな
>>494 1行目は同意。
でも、それがなぜ2行目と結び付くと思ってるのか意味不明。
371が基幹データだと思ってるアホな子ですか?
アクセスとかエクセルは加工ツール。
特にエクセルはデータが壊れやすく、小数点の計算が苦手なので
基幹データを入れて管理するのは中小零細だけだろう。
会社に2万人もいればエクセルの達人もイパーイいると思うけど、
残念ながら俺の職場にはいない。
社員の顔と名前がわかるのは同じ事業所でも300人程度だし、
全社員では顔すら見たことが無いのが9割以上。
大企業の平社員なんて、こんな状況だろ?
486は全社員の仕事を把握してるようだが、キーロガーでも
仕込んでるの?怖い怖い・・・
もういいよタコ つぎはもっとマシな質問と答え用意しとけ
Excelは表計算ソフトだぞ 小数点の計算が苦手って馬鹿丸出し
503 :
複乳 :2012/08/12(日) 02:02:29.50
>>500 >基幹データだと
そんなもんしらん。そういう会社もある、というか表面に出ないだけで多いだろうとは思う
それを煽ったり煽られたりするのは意味が無い
少しずつでも直していけば良い
>会社に2万人もいればエクセルの達人もイパーイい
恐らく、少ない。基本は自分の業種の法律を勉強すると思う。
法律を極めた、もしくは子会社辺りで基本的に相当暇な人、もしくは倒産確実になってExcelを勉強しまくってる人はあると思う。
Accessを極めた人はいたけどエクセルはほんとみんな疎かったし、
勉強する必要もなかった。
>>502 少数誤差でググっておいて下さい
>>503 はずは自分でググったら?
それExcelの問題ではなく、浮動小数点数を扱うコンピュータ演算の問題だし
506 :
複乳 :2012/08/12(日) 02:55:33.59
>>499 そうだな、TVでCMが毎日数十回流れてるくらいの小さな業界だよ
ひどい時はひとつの特番で二桁は流しやがる
Excel2003ですが MODE関数で割り出された最頻値が何個存在するのかを知りたいのですが、表示させる方法はあるのでしょうか? 宜しくお願い致します。
日曜の早朝から自社の自慢とかすごい愛社精神だなぁ うらやましいわ
>>509 あらこれは便利!w
ありがとうございました。
460「方法なんていくらでもある」なんて書いておきながら出てきたのがこれらで、 448・前任者を無視する ・前任者を無視できない立場の弱さを嘆く ・退社する 451・前任者を説得する ・別にファイルを作る ・退社する 「そのシートがダメなら別のシートでもいいだろ、どんだけバカなんだよ」と 書いてきたから、別シートって・・・ | 1,000 | * | 2 | とか書くわけ?と聞いたら 473「ナニコレ?何言ってんの?冗談でしょ?」 475「え、違うの?w じゃー、バカな俺にも理解できるように具体的に書いてよ。」 476「だが断る」 小学生か?
もう釣り大会は終了でいいべよwwwwww
「そのシートがダメなら別のシートでもいいだろ」 って、シートを作り直せって意味じゃないんだろ? 作り直すなんて発想は457で既に指摘済だ。 その素晴らしいアイデアをご披露願います。 釣りとかいって、反論できなくなったらすぐそうやって逃げる気か? 負けそうになったらリセットボタンを押せばいいという、ゆとり世代の おバカちゃんが今後も増殖されていくのかと思うと悲しい。
いつまでやるんだよ どうなったらおまえの勝ちなんだよ 頭おかしいんじゃないのか
次の質問に行こうぜ
>>515 ホント、頭が悪い子だな。
勝ち負けじゃなくて、「そのシートがダメなら別のシートでもいいだろ」の
答えを知りたいんだよ。
あ、お前はこの夏休み中に小学生の教科書でも借りて
句読点の打ち方をお勉強しておきましょうね。
別のシートで単価*数量を3列に分けて入力 元のシートの単価*数量のセルに、分けて入力した値を文字列結合する式を入力 元のシートの計算結果のセルに、3列に分けて入力した値をつかった計算式を入力 これでどうでしょうか
教えてもらう立場ならそれなりの態度で出直してこい。 丸投げで丸ごと作り変えてもらうならブックをアップしろ。 でもお前はちょっと度が過ぎてる。イタズラ仕込まれる可能性あるからVBAはやめときな。
>>518 それは470でも少し書きましたが、そんな煩わしいことをするなら
現行の方がいいです。
>>519 作り変えるなら自分で考えるよ。
お前ほどバカじゃねーし。
答える方も、言葉使いに気を配れや。
>>521 今の論点は、そこではありません。
512を熟読してください。
あなたの相手が小学生かどうかが論点ってことですか。たぶんちがうと思いますよ。
>>520 答える方が口の利き方に気を付けてどーすんだハゲ
おまえマジ死ねよカスが
>>371 知恵袋で相手にもされなかったからこっちで質問したんだろ?
数件の案が出てるし使える内容もあるんだからそろそろ納得したら?
エクセルの向き不向き、出来る事出来ない事を理解して仕組みを作ると
>>371 みたいな
形にはならないよ普通は。そういう想定外な使い方に対しての対処法なんて無理やり感のある
方法になるのは仕方ない。
VBA使えばわりと自由が利くけどそれも不可なんだからこれ以上ゴネても何も進歩しないと思うけど。
荒らしは常に誰かの反応を待っています
うーんと。うーーーむ。 で、どっちが荒らしなの?
530 :
名無しさん@そうだ選挙にいこう :2012/08/12(日) 15:55:36.75
mosの教本をダウンロードして開けようとしたら 「次のファイルを開くことができません。excelの基礎知識xlsxファイルは 有効なxmlファイルではありません」とでるんですがどうしたら使用できるようになりますか?
もう1回ダウンロード
532 :
名無しさん@そうだ選挙にいこう :2012/08/12(日) 16:16:23.68
もう何回もcd入れなおしてダウンロードしたんですが反応しません。 どなたか解決策を知っている方よろしくお願いします。
534 :
名無しさん@そうだ選挙にいこう :2012/08/12(日) 16:25:50.15
できませんでした。
536 :
名無しさん@そうだ選挙にいこう :2012/08/12(日) 16:39:57.38
ダウンロードしたんですが また同じ条件で開く事ができませんでした。 どうしたらいいでしょうか?
職場のExcel2010で開いてみる 開けなかったらファイルの問題なので購入元に質問してください
>>525 知恵袋では質問していません。
同様なものがあったとしたら、人違いです。
納得というか、当初の質問に対しては解決済ですが、
「そのシートがダメなら別のシートでもいいだろ」という案が出たので
具体的なやり方を伺ってる次第です。(470参照)
「方法なんていくらでもある」とアドバイスも頂きましたが、具体案は出されておりません。
445と460(473)から、その具体的な内容を書いて頂ければと思います。
371のフォーマットがダメなのは、ご指摘されなくても十分承知しております。
ただ、別シートにすれば良くなるなら、そのアイデアを教えてほしいということです。
>>538 >ただ、別シートにすれば良くなるなら、そのアイデアを教えてほしいということです。
>>518 で出てるよ
>>539 518のご回答に際しては、520で返信させて頂きました。
再度ご確認ください。
おまえの返答は関係ない こちらは既に返答をしている それを受け取らないのはおまえのワガママだ
542 :
525 :2012/08/12(日) 19:00:20.45
>>538 具体案をあなたが丸ごと却下してるようにも見えますね。マクロ無しでやるなら
>>518 が基本的な考え方で、そこからどう
省略していくかを工夫するべき。
数式で繋ぐ時に*を入れればいいので*のセルは不要。
B列を目的の○○○*○と表示してC列に計算結果、実際の入力をD列に金額、E列に数量としたら
B1=D1&"*"&E1
C1=D1*E1
入力を省略したい、デフォルトで数量1にしたいなら、IF関数でE列未入力の時は1にする。
B1=D1&"*"&IF(E1="",1,E1)
C1=D1*IF(E1="",1,E1)
この時点で入力は金額と数量のみ、数量1の時は未入力可(入力してもよい)。全てにおいて*の入力は不要。
すでに入力量は減っているし計算も成り立つので手間は減っているはず。
これで煩わしいならVBAを検討してください。
おまいら親切だな
>>518 が煩わしいなら、それは別シートにするのは良くなろうが悪くなろうが煩わしいってことだね。
にもかかわらず別シートにする方法を教えて欲しいってのは、どういうことよ?
>>542 みたいな工夫こそが"いくらでも方法がある"なのにそれも理解していないとか 気が 狂っとる
書式のユーザー設定とか工夫する点はたくさんあるだろうに
あとは最低でも礼儀としての「ありがとう」と「ごめんなさい」は言っとけよ
わざわざおまえのために書込みしてくれているんだぞ
>>542 ご丁寧にありがとうございます。
ただ、440でもお書きしましたが、1,000*1なら1000と入力するだけですし、
ときどき2,000*2とかあるので、そのときは2,000*2と入力しています。
入力するB列C列以外では空白がないのでE列は使えません。
現状に対し、入力の煩わしさが改善されないのであれば、これ以上の
ご回答は求めません。
>>544 473のレスを熟読してください。別シートで| 1,000 | * | 2 | とか書けばいいのかと尋ねたら、
473 名前:名無しさん@そうだ選挙にいこう[sage] 投稿日:2012/08/11(土) 18:09:52.69
え・・・?
> | 1,000 | * | 2 |
ナニコレ?何言ってんの?冗談でしょ?
とのご回答を頂きました。これと518を比べれば、
>>473 の方がさぞかしご立派な
アイデアをお持ちだと察しがつきますので、473様のご回答もお待ち申し上げます。
>>545 貴方は「具体的」の意味をご存じでしょうか?
何度も「具体的に」と書いてるのに具体例を挙げようともしない回答者や、
477、479、480、481、485、486、487、(その他多数のため省略)のような
社会不適合者に対して何かいうことがあればどうぞ。
また、書式のユーザー設定について、“具体的に” お書きくだされば幸いです。
お前にとって幸いでも俺らにとっては不幸でしかねーわw
| 1,000 | * | 2 |と書いたことについて謝罪はないのかよ?
空白がなくてE列が使えないって言ってるけどこれもたぶんウソだな E列自体がないんじゃねえの 別にAA列でもなんでもいいんだぜ AA列が使えないとは言わんよな? BB列でもいいぞ?CCでもDDでもいい それこそ誰かさんの言う「いくらでもある方法」ってやつだ
今度は列が遠いとかおバカなこと言うぞそれ
551 :
473 :2012/08/12(日) 20:11:43.94
>>473 は誤りです。なかったことにしてください。
悪いが473は俺だ 別になかったことにしたきゃあそれでもいいがな なにしろトンデモ回答をしてきたのは相手方だ 別シートで| 1,000 | * | 2 |なんて言われたら誰だって冗談だと思うぜ
もうなにがなんだかw
シートとかセルとかそういった用語も知らないほどのお子様なんだろう さらに悪いことには───そいつを自分で調べようともしない甘ったれた根性の持ち主だな
555 :
名無しさん@そうだ選挙にいこう :2012/08/12(日) 20:41:20.77
書き込みがあるときは一気に増える謎w おまいら一人何役してんだ?
557 :
525 :2012/08/12(日) 20:45:46.57
>>546 E列というのは例ですよ。
使える場所ならどこでもいい。
印刷目的のシートなら周辺のセルが使えないのは当然なので他の場所に入力セルを作る。
大抵、まず印刷範囲を指定して、印刷範囲外のセルに入力セルや計算セルを用意する。
まあこう言い出したらたしかにネタはいくらでも出てくるけど、自分の回答もここらへんで終了しときます。
>>549 >空白がなくてE列が使えないって言ってるけどこれもたぶんウソだな
>E列自体がないんじゃねえの
イミフ
559 :
名無しさん@そうだ選挙にいこう :2012/08/12(日) 20:50:02.19
525って何? 強い口調で散々叩いておいて 最後はいい子ちゃんぶって英雄気取りか?w
>>558 鳥付け忘れてるぞ371
一回外したのがバレバレだなあ
E列がない、で意味がわからないのはお前しかいねえよ
561 :
525 :2012/08/12(日) 21:00:54.95
>>559 本音は
2000*2??*入力する時点で煩わしすぎるわwwwさっさと作り変えろよぼけww
ですけど。
こういう入力なら数字とTabかEnterだけで終わらせたいね。
「質問者は371限定、Excel相談所」ってスレ立てますか??ww
Excel触ったこともないようなのは無理に出てこなくていいんだぞ
565 :
371 :2012/08/12(日) 21:34:20.97
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 >549 名前:名無しさん@そうだ選挙にいこう[sage] 投稿日:2012/08/12(日) 20:08:34.53 >空白がなくてE列が使えないって言ってるけどこれもたぶんウソだな >E列自体がないんじゃねえの E列自体がないとはどういう意味ですか?
そのまえにウソって言われたことを指摘しろよ E列があるかどうかは見りゃわかんだろ なくなっててどうしてないのかを聞くならともかく 「ないとはどういう意味ですか」なんて聞いても誰も得しないことを聞くなタコ
誰と戦ってるんだ?w
盆休みに入ってから戦いっぱなしだね。
俺自身は戦うことに何の吝かもないな 弱いものイジメみたいで超楽しいわ ここでならフルボッコにして自殺されても問題ないんだろう?
371に勝るとも劣らぬキチガイだなw
>>569 傍から見てると お前さんの方が371に振り回されてるようだが
俺は一向に構わんよ
573 :
名無しさん@そうだ選挙にいこう :2012/08/12(日) 22:48:09.68
×戦う ○バカにされてる
569は371に飼われてる犬のようだ 犬はご主人様を小馬鹿にして振る舞ってるつもりなのだが 所詮は飼われてる身なので牛耳られていることに気づかないw
どっちでもいいけど
>>371 の問題は解決したのかね
576 :
名無しさん@そうだ選挙にいこう :2012/08/13(月) 00:32:58.20
いや、小学生の話
578 :
名無しさん@そうだ選挙にいこう :2012/08/13(月) 01:00:30.81
398以降、ほとんど見てない。しらなくてもどっちでもいい。
俺は全部読んでるよーw 371関連で印象に残ったおバカ大賞候補 >>374, >>395, >>492, >>502, >>503
飼い犬に手を咬まれる、か
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 特定シートだけセル範囲アドレスをコメント化し常時表示するというマクロを作りたい 例としてはA1〜C1まで選択されたらその選択範囲の横にコメントをA1〜C1と表示させる感じです コードを書いてみましたがうまくいきません Private Sub Worksheet_Change(ByVal Target As Range) Dim strTEXT As String strTEXT = Selection.Address On Error GoTo Err Selection.Address.Comment.Visible = True Selection.Comment.Shape.Select True Selection.Font.ColorIndex = 5 Selection.AutoSize = True Err: End Sub ワークシートのチェンジイベントではなくアクティブイベントのような気もします 教えてもらえないでしょうか?
おい
>>371 解決したんならお礼くらい言っとけよ
>>581 やりたいことが微妙にわからないけどこんな感じ?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then
With Target.Range("A1")
If .Comment Is Nothing Then
.AddComment
End If
With .Comment
.Visible = True
.Text Text:=Target.Address
.Shape.TextFrame.AutoSize = True
End With
End With
End If
End Sub
>>581 こんな感じか?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.ClearComments
With Selection.Cells(Selection.Columns.Count).AddComment
.Text Selection.Address(0, 0)
.Shape.TextFrame.AutoSize = True
.Visible = True
End With
End Sub
実行毎に古いコメントは消してるので、消したくないコメントがある場合は要注意
コメントは「範囲」に対して付けることは出来ないので、選択範囲の右上セルに付けてる
585 :
581 :2012/08/13(月) 13:02:44.43
ありがとうございますやりたいことができました Target.Range("A1")でそんなことができるなんて知りませんでした
586 :
581 :2012/08/13(月) 13:08:17.26
>>584 ありがとうございます古いコメントは消したほうが良かったのでそのコードを使わせてもらいます
本当にありがとうございました
371はお礼もだが謝罪もしなくてはならない
588 :
581 :2012/08/13(月) 13:38:11.74
>>584 VBA勉強中で少し教えてもらえませんか?
Selection.Cells(Selection.Columns.Count).AddComment
↑ここは選択範囲の右上セルにコメント表示という事だと思うのですが
.AddComment.Text Selection.Address(0, 0)
↑ここが解らないAddress(0, 0)ってのは選択範囲のセルアドレスを取得するってことですか?
>>547 「幸い(さいわい)」のいみを、おべんきょうちまちょうね〜
>>548 謝罪? 何が言いたいんだ?
(誰か548を標準語で翻訳してください)
>>549 ウソとかE列が無いとか、お前も何が言いたいんだ?
透視能力で俺のファイルを見て書いたのか?
AA列とかBB列に飛ばして入力するなら、現状の方がマシ。
ただ、具体的に書いてくれたことには感謝する。
(使えないアイデアだけどね)
>>552 518を見てどう思う?
>>557 ありがとうございました。
>>560 558は俺ではありません。
(コイツも何が言いたいんだ?)
>>566 E列はありますよ。
だからなぜ「E列自体がないんじゃねえの」なんて書いて
ひとりで騒いで喜んでるおバカがいるのか分かりません。
結局、お前も何が言いたいの?
>>576 398は俺じゃないよ。
真面目にご回答をくださった方、ありがとうございました。
はい、終了 にゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃー
もう来なくていいよ ノシ
594 :
581 :2012/08/13(月) 17:37:20.13
>>593 0は引数だったのですかわざわざ有り難うございます勉強になりました
え・・・? > | 1,000 | * | 2 | ナニコレ?何言ってんの?冗談でしょ?
暇そうだなおまえらw
>>598 恐らく仕様です
マイクロソフトに問い合わせて下さい
>>597 謝罪厨さん、こんばんはw
くやしいのう くやしいのう
このスレで同一人物扱いされてる人ってほとんど当たってなくね?
荒らしたいだけでしょ。相手にしない。
371氏がマトモに思える今日この頃・・・www
そうだね。
どう見ても、548, 549, 552, 556, 569などは異常。
特に
>>569 は二度と書き込んでほしくないね。
あれがマトモなら911にアメリカに飛行機は飛んでこなかった
そうかな?
どう見ても、548, 549, 552, 556, 569、
>>605 などは異常。
2010でセルの色を調色すると最近使用した色に登録されますが、 これを保存し、他のブックでも使えるようにするには どうすればいいですか?
>>607 どっちにしても面倒だけど
http://oshiete.goo.ne.jp/qa/6741503.html 方法1:
色を付けた文字列をちょこっと選択しておいた状態で,ホームタブのスタイル一覧の▼をプルダウンして「選択範囲を新しいクイックスタイルとして保存」しておきます。たとえば「色1」などの名前で。
以後は,文字の色をわざわざ作り直す(そのたびにちょっとずつ色の配合を間違えたりする事もあるかもしれません)ことをしないで,登録した文字スタイルを適用していきます。
登録したスタイルは,とりあえず作業中の文章に記録されます。
他の文章ファイルにも共用したい場合は,登録したスタイルを右クリックしてスタイルの変更を開始し,「この文章のみ」から「このテンプレートを使用した新規文章」にマークしてNormalテンプレートに登録しておきます。
ワード終了後,全文章対象のテンプレートの変更を問われるので,はいと答えておきます。
さらに別の既存文章ファイルを開いた際は,ホームタブのスタイルの変更▼からスタイルセット▼で「テンプレートのクイックスタイルにリセット」します。
方法2:
色を付けた文字列をちょこっと選択しておいた状態で,フォントの色▼からその他の色..を開始し,そのままOKします。これで「最近使った」事になるので,最近使用した色りストに復元します。
最近使用した色はアプリケーションの記録なので,文章に残すことは出来ません。
609 :
名無しさん@そうだ選挙にいこう :2012/08/14(火) 10:54:36.58
コピペかよw
>>606 371さん乙ですwww
反論できなくてくやしいのうくやしいのうw
611 :
607 :2012/08/14(火) 11:28:31.95
>>608 ホームタブのスタイル一覧の▼が見つかりません
612 :
607 :2012/08/14(火) 11:30:30.84
>>612 あー、ごめんこれワードだったね
前準備めんどくさいけど、以下
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1470736279 オリジナルの色でよく使用する物が何種類かある場合は、以下の手順を行ってみてください。
『ページレイアウト』→『テーマ』→『配色』→一番下の『新しい配色パターンの作成』
画面がでるので、アクセント1〜6をよく使用する色に変更していきます。
※注意:この時、上の4つ(テキスト****)と下の2つ(ハイパーリンク)は変更しないでください
最後に一番下の名前に『良く使う色』など適当に名前を付け、保存をクリックします。
実際使用する場合は、ページレイアウト→テーマ→配色とクリックしていくと、上で保存した名前が出ていますので、そちらをクリックして選択すると、塗りつぶしなどの色でテーマの色の部分が指定した色に変わっています。
614 :
607 :2012/08/14(火) 14:58:10.81
なんで逆ギレしてんだ?
616 :
名無しさん@そうだ選挙にいこう :2012/08/14(火) 17:27:37.26
逆切れだの謝罪だの 変なのが多くなったなw
夏だからな
くやしいのうくやしいのうw って、使うタイミングと使う相手がどんぴしゃじゃないと 見てて面白くもない。
607 ここで質問する ↓ 608 知恵袋で検索、類似をコピペ ↓ 611 回答に疑問(ワード?馬鹿じゃねーの?) ↓ 613 知恵袋で再検索、類似をコピペ ↓ 614 質問内容と違うと指摘 ↓ ┌────┐ 615 なんで逆ギレしてんだ? と回答者が涙目で逆ギレ ←│ 今ここ | └────┘
いいぞもっとやれ
371の謝罪はまだか?
371は謝罪でなく贖罪すべき
624 :
371 :2012/08/14(火) 21:42:48.03
ゴメンなさい。 もう許してください。
625 :
371 :2012/08/14(火) 21:52:07.97
て優香、誤るようなことしてねーし
626 :
名無しさん@そうだ選挙にいこう :2012/08/14(火) 22:21:01.07
オマエだけはユルサナイ ゼッタイにユルサナイ オマえダけは、ゼったイニ、ユルサなイ
>>614 10種類欲しいということ?
残念ながらいい方法が思い浮かばない
>| 1,000 | * | 2 |と書いたことについて謝罪はないのかよ?
| 1,000 | * | 2 |と書いたことについて謝罪はないね。
何で謝罪しなければならないのか、バカな俺に分かるよう丁寧に説明してくれ。
ついでに
>>518 を見てどう思ったのか書いてくれ。
もういい、出てくるな・・・大人なら我慢しろ
小学生だよ
小学生は今すぐ全裸になって死ね
謝罪厨はリアル消防だったのかw 小学生?と書かれて図星だったから逆ギレとか、もうねw
小学生なら| 1,000 | * | 2 |なんて書いても仕方ないな さすが小学生あもりにも汚いでしょう?
ニホンゴ ダイジョブ アルカ?
小学生なら許されるとでも思ったのが感覚的思考 嘘なら俺の目を見て話して見ろ もうお前との人付き合いもこれで破錠だな あっけない幕引きだろうが?
エクセル2003を使ってマクロを書いて変数チェックをするためFor文の中にMsgBoxを書きブレイクポインツを設定せずに実行したとき強制的にマクロを止めるにはどうすりゃいいニダ?
Ctrl + Break VBA書き始める前に覚えるべき基本中の基本っすよ
F8のステップインも使ってあげて
641 :
初心者 :2012/08/15(水) 17:43:06.66
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】否 質問です。 エクセルで日付の遅い方を選択する方法を教えてください。 例えばセルAには 6/30 セルBには 7/15 とあれば、 セルCには 7/15 と表示させたいです。 お願いします。
643 :
初心者 :2012/08/15(水) 18:03:52.01
早速のお返事ありがとうございます。 MAX関数調べてみます。
644 :
初心者 :2012/08/15(水) 18:15:44.27
できました。 642さん ありがとうございました。
Windows7にデスクトップ上にあるxlsが 更新する度左上に来ます。場所移動しないようにしたいのですが どうすればいいでしょうか? Excel2003を使っています。
646 :
名無しさん@そうだ選挙にいこう :2012/08/15(水) 22:25:58.51
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】否 タイムを打ち込んで後で平均とか計算しようとしたのですが 例えば 3分22秒11 を 3.22.11 と入力しています。 このままでは計算もできなく、書式設定でmm:ss.00にもならなくて、 3.22.11を3:22.11に直せる方法はあるのでしょうか?
また小学生か
置換で「. 」を「:」にすれば
【1 OSの種類 .】 Windows?
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】不可
幼稚な質問だと思うのですがヘルプみても調べてもわからないので教えていただけると助かります
自転車の走行時間をExcelでまとめて表とグラフを作ろうとしています
グラフの縦軸の最小値や最大値が変更できません
http://beebee2see.appspot.com/i/azuYkML2Bgw.jpg 画像のようにオプションと表、グラフの数字の単位が違うので困っています
どうしたら良いでしょうか?
よろしくお願いします
651 :
649 :2012/08/15(水) 23:53:55.13
ん? azuYkML2Bgw.jpgは難なく見られるよ。 Excel2007を持ってないから649の回答はできないけどね。
>>649 写真の最小値0.0 最大値0.04の数字が書き換えできないってこと?
それとも時間の軸が、設定部分で小数点になってるってことに困ってる?
後者の件だったら、24時間=1 として計算すればいい。6時間だと0.25とか
Excelは時間を内部で24時間=1とした数字で処理しているから、そうゆうものだと諦める。
655 :
654 :2012/08/16(木) 00:57:16.86
ああ、653が正しいそうだね。ごめん
656 :
645 :2012/08/16(木) 01:18:40.25
エクセルのファイルだけ更新した後自動的に左上に並べ替えられてしまうのですが… 位置を移動しないようにするにはどうすればいいのでしょうか? windows7で、Excel2003を使っています。
>>656 windows7 デスクトップ 並び替えたくない
辺りでぐぐってみて
寝る
658 :
649 :2012/08/16(木) 01:52:33.54
>>653 その数字を入れると最小値が0.0最大値は0.04に直されてしまうんです
659 :
649 :2012/08/16(木) 01:53:04.09
>>658 変更されてなかったか、気づいてなかったわ
じゃあシリアル値で入力するしかないと思う
最大値に2:30:00と入れたいなら、
2:00 = 2/24 = 0.0833333333
0:30 = 30/24/60 = 0.0208333333
合計して
0.10416666663
を最大値に入れる
意味がわからなければ「シリアル値」でぐぐってくれ
661 :
649 :2012/08/16(木) 02:40:08.00
>>660 ありがとうございます
やっと形に近づいて来ました
ですがこれって一々こんなにめんどくさいもののでしょうか?パソコンが古いからですかね?
最後にもう一つだけ教えてもらいたいことがあるのですが空白のセルの表示方法をデータ要素を線で結ぶにしたいのですがゼロ(Z)以外クリックできません。これはどうしたら解決するのでしょうか?
度々すみません
663 :
649 :2012/08/16(木) 05:03:37.44
>>662 やってみます。ありがとうございました。
545 あとは最低でも礼儀としての「ありがとう」と「ごめんなさい」は言っとけよ
548 | 1,000 | * | 2 |と書いたことについて謝罪はないのかよ?
587 371はお礼もだが謝罪もしなくてはならない
621 371の謝罪はまだか?
623 371は謝罪でなく贖罪すべき
| 1,000 | * | 2 |と書いたことについて謝罪はないし、
何で謝罪しなければならないのか、丁寧に説明してください。
ついでに
>>518 を見てどう思ったのかも書いてください。
散々あおっておいて、都合が悪くなったら雲隠れですか?
いい加減に黙れよ小学生風情が
自分が小学生であるというアッピルも腹八分くらいにしといたほうがいい 今にもブーメランされて手痛いしっぺ返しが見えるぞ
ニホンゴ ダイジョブ アルカ?
549 空白がなくてE列が使えないって言ってるけどこれもたぶんウソだな E列自体がないんじゃねえの これも未だに意味が分からん。 お盆休みも今日までだから、今日中に回答が得られることを望みます。 (会社から2chを見ると閲覧ログが残って、ナサケから警告を受けることがあるので) それから、句読点がうまく打てない学生は、この夏休み中に克服しておいた方がいい。 大学は卒論があるし、俺の会社は昇格のたびに論文を書かされるよ。
おまえここで論文書いてるつもりなのか 結論を先に書けって習わなかったか
細かく読点打つやつは頭が弱いよな ちなみに掲示板には掲示板の書き方ってものがあってな ──まあ2chはさらに特殊ではあるんだが── ここじゃそれほど句読点を必要としないことを覚えておいたほうがいいぜ どっちかと言うと書き言葉じゃあなくて言い言葉の世界だ 周りを見てみな、句点なんて何人が使ってるよ? とにかくおまえの書き込みが今後は激減すると知って嬉しいよ
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 2ちゃんねるの某スレをテキストでエクセルに取り込み、句点があるレスを カウントするにはどうすればいいですか?
コピペして検索しろやキチガイ
こんだけ態度でかい奴が > 【3 VBAが使えるか .】 いいえ なんだから笑えるよなw 今時厨房だって使ってるというのに
665-666 = 669-670 = 672-673 同じ・・・か
いいや違うな 残念だが今日の書き込みは全部俺だよ
>>371 YES → 【わかった?】 ─ YES → じゃあ聞くな死ね
/ \
【調べた?】 NO → なら理解できねえよ死ね
\
NO → 死ね
お礼の強要って、前にもあったなw
あゆ板
>>672 >>677 カウントするにはどうすればいいですか?とお聞きしておりますので、
カウントの方法を具体的にお書きください。
まさかとは思いますが、検索して目視で数えるなんて
小学生でも思いつくような野暮なご回答ではないですよね?
XMLHTTPを使ってdatを取得 改行で配列に分割した後、RegExpか文字列操作関数で本文切りだし 配列に対してループ回して、InStrで1以上を返したものをカウント 以上 これで理解できないなら話にならない
おまえエクセル使っててカウントする関数も知らないの? いくら小学生でもそれは聞き捨てならんぞ
371様 むしろ目視なんて思いつきもしないですが。
>>371 YES → 【わかった?】 ─ YES → じゃあ聞くな死ね
/ \
【調べた?】 NO → なら理解できねえよ死ね
\
NO → 死ね
おいおまえら簡単に釣られるなよw
>>682 ヒント:対象がシート上のデータではなくWeb上のデータ
>>681 【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
と書いてますが、VBAを使わずにどうすればそれが実効できますか?
このセルにこんな関数とか具体的に書いて頂けますか?
>>682 エクセルを使ってる人が全てカウントする関数を知ってるとでも
思っていらっしゃる、世間知らずのお方でしょうか?
また、私は大企業に勤める社会人であり、小学生ではありません。
回答が具体的に書けず、煽り目的でしたら書き込みをお控えください。
>>683 コピペして検索するだけでカウントできるのですか?
そのやり方を具体的に教えてください。
悔しさが滲み出すぎで笑えるw
>>686 専用ブラウザで全スレ表示してCtrl+A、Ctrl+C
エクセル開いてCtrl+V
5秒でエクセルシートA列に全レスのデータが入るお^^
>>687 この状態からなら、方法はいくらでもある気がしない?
いくらでもある方法の3つをまた募集してみるか?
俺はVBA不許可なら不参加の方向で。
>>681 8のように文章でないものや、文末が「?」で終わってるものはカウントなしですか?
あと、それでカウントしたときの結果はいくつになりましたか?
>>689 過去ログをお読みください。
693 :
初心者 :2012/08/16(木) 22:07:27.13
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 質問です。 多分印刷設定とか印刷範囲とかだと思うのですが。 青い枠が出て、その外側がグレーになるやり方を教えてください。
おーい!371たまには他の人の質問に答えてあげろよ。 >693の質問なんてどうだ??
お、確かにこれは371のレベルでも答えられそう 譲ってやるか
696 :
初心者 :2012/08/16(木) 22:15:48.10
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 質問です。 エクセルで、青い枠がでて、周りはグレーにするやり方を教えて下さい。 多分印刷設定とか印刷範囲とかだと思うのですが。 よろしくお願いします。
691は条件が揃っていませんでした。 2ちゃんねるの某スレは、ここのスレで1-670までの範囲とします。 この条件で、681の方法だと結果がいくつになったでしょうか?
698 :
初心者 :2012/08/16(木) 22:23:22.55
696ですが、自己解決できました。 改ページプレビューですね。 お騒がせしました。
>>686 コピペのペの部分で対象はシート上にあると思うんだが気のせいか
>>371 大企業に勤める社会人なのにカウントする関数も知らないの?
知らないだけでなく調べる方法もわからないの?
バカなの?死ぬの?
オイィいい加減にしないとマジでかなぐり捨てンぞ?
大企業に勤める社会人でも40代〜50代〜はExcelどころかパソコンすらまともに扱えないなのがいる まぁそんなもんだよ
どう見ても小学生か中学生だろw
怖くはねえだろ・・・って使い方知らないのか
うん
解凍しちゃダメだぞ ヒントはURLだ
こ
中立の立場で客観的にみたとき、371氏(
>>686 )が正常で他が異常に思える。
>>681 は、マクロが使えない質問者に対して到底理解不能であろう方法で
回答しており、681氏の悔しさと意地悪さが滲み出てる。
~~~~~ ~~~~~~~~
>>682 や
>>683 のレスを読んでも同様。
Excelを使ってる人すべてがカウント関数を知ってるのが事実だと仮定すると、
このスレでカウント関数を使う質問なんて出てこないことになるがそれは否だ。
~~
誤 中立の立場で客観的にみたとき、371氏(
>>686 )が正常で他が異常に思える。
正 中立の立場で客観的にみたとき、371氏(
>>687 )が正常で他が異常に思える。
おやおや、371さん自演乙ですよー
まず中立の立場ってのはまあいいとしても
客観的、この言葉はマズかったねー
客観的ならば "大企業に勤める社会人" ということを加味しなければならない
Excelを使っている人すべてではない、ということだねー
次に加味しなくてはならないのは
>>676 等のような調べろという部分
本当に客観的に見ていれば「カウントする関数」というキーワードが出ているのは確定的に明らか
社会人ということは子供ではないわけだし、むしろ子供でもググることはできる
もっとハッキリした例を出せば
>>643 のようにね
つまり関数を知ってる、知らないということは無関係だということが導き出せたね
客観的に見えてない人間の客観的視点ほど信用のできないものはない
よって
>>681 に対する指摘も妥当ではないと証明されたよ
ほら調子に乗るからこうやってブーメランされる今の気持ちはどう?楽しい?気持ちいい?
悔しさが滲み出すぎで笑えるw
もういい・・・もう休め371っ・・・もういいんだっ・・・
371の大人気ぶりに嫉妬www
371は大人気だが 相手してるほうは大人気ないな 見ろ、上手いこと言ってやったぞ!(ドヤァ
あ い う え お このようなとき、オートフィルでデータを取りだそうとするとき あいうまでしか出てきません。
列全体を選んで、オートフィルタすればよい
仕様です 諦めてください
うん、コンピューターはバカだから あいう まででひとつの表が終わったと判断するんだね それより下はもう無関係のデータだからフィルタの範囲外でいいやって 解決策というか妥協策かもしれないけど 1.うとえの間の空欄セルに ' ( Shift + 7 のやつ )だけ入力して誤魔化したり 2.隣とかに作業列を作って作業列のほうではデータがつながってるようにしたり 3.データ範囲を全て選択してからのオートフィルタ作成は・・・必ず上手くいくかどうかわかんないや ま、他にも方法ありそうだしいろいろ試したり調べたりしてみてちょ
723 :
名無しさん@そうだ選挙にいこう :2012/08/17(金) 16:13:47.27
中立の立場で客観的に見ると
>>371 は社会人としていささか幼稚すぎる
ネット上で「私は大企業に勤務する人間で云々」
などという主張をするみっともなさに気づいていないのは非常に残念な人なんだろうなぁと感じた
中立の立場なら双方、つーか全部を評価しろよw
お、ぉお、もまいら必死すぐるwwwww
726 :
709 :2012/08/17(金) 16:47:55.73
727 :
名無しさん@そうだ選挙にいこう :2012/08/17(金) 16:48:22.23
>>724 コテじゃないのを一々読むのはめんどくさい
え・・・699が見れないって? 何言ってんの?冗談でしょ? ちゃんとログ読んだ?
730 :
名無しさん@そうだ選挙にいこう :2012/08/17(金) 16:59:03.23
>>729 なんで?
どちらの利害にも拠らずに判断することを中立というのだけれど。
ろくすっぽ話も聞かずに判断して何が中立だよ そりゃただの独り善がりって言うんだ 一方の言動の内容に、他方が関与してないと言い切るつもりか?
中立の立場で客観的な
>>709 は*.xlsxが開けないのか?
中立の立場で客観的ということは、貧乏なことでも情弱なことでもないんだがな。
733 :
名無しさん@そうだ選挙にいこう :2012/08/17(金) 17:10:07.73
VBA厨(糞コテハン)が参入しててワロタw
中立の立場で客観的に699のリンク先をDLしたら、 _rels, docProps, xl, [Content_Types].xmlがでてきたw PCウィルスですか?
735 :
名無しさん@そうだ選挙にいこう :2012/08/17(金) 17:18:57.91
>>731 君が何を言いたいのか理解に苦しむ
もちろん俺も大まかな流れは把握した上で書いてるけど、
たとえ全部読まなくても
>>723 程度のことは充分に分かるし、
君の主張は第三者が見ると
>>371 擁護に見えるだろうな、と「俺」は思うよ
自分のカキコにレスするやつって何が楽しいんだろう
中立の立場で客観的にみて、"当事者" は "第三者" とは言わない
739 :
734 :2012/08/17(金) 17:31:36.34
xlsxファイルはバージョン2007以上でないと開けないので、
>>734 は古いExcelを使用していることがわかる →貧乏
xlsxファイルは、互換機能パックを適用すればバージョン2003以下のExcelでも開くことができるのを知らない →情弱
741 :
名無しさん@そうだ選挙にいこう :2012/08/17(金) 17:32:49.13
743 :
名無しさん@そうだ選挙にいこう :2012/08/17(金) 17:57:41.25
>>742 何が言いたいの?
まさか自演だとでも言いたいわけ?
あれは
>中立の立場なら双方、つーか全部を評価しろよw
↓
>コテじゃないのを一々読むのはめんどくさい
↓
>それ中立じゃないw
↓
>なんで?
>どちらの利害にも拠らずに判断することを中立というのだけれど。
↓
>ろくすっぽ話も聞かずに判断して何が中立だよ
という流れになったから、
>>723 ですでに述べた内容はそれまでの経緯を逐一把握しなくても容易に読み取ることができるよ、
という意味での発言なんだけど。
文体に一貫性がないのは 一人で何役もやってるからかな?
745 :
名無しさん@そうだ選挙にいこう :2012/08/17(金) 18:34:14.81
>>744 誰の事言ってるの?
いまんとこ明らかに個人が識別できる形で書き込んでるのは
>>371 だけで、ほかはどれが誰だかわからないんじゃない?
もともと名無しなのに何役とか疑っても意味無いきがするが。 コテ多用してるなら別だが。 ていうか同一人物扱いする人って大抵はずれてるからうざい。自分と反対意見と同意見が出たら 大抵疑うよねこういう人って。 分かれた意見のどちらかに賛成意見出す場合はトリ必須か。
Excel初心者ですがVBAやマクロとは一体何なのでしょうか? 何がどのようになるのか全くわからないのですが詳しい方いらっしゃいましたら宜しくお願い致します。
>>747 用途は大きく分けて2つある
ひとつは、動作の自動化。商品番号の1〜10を入力して表示したデータを1部ずつ印刷するとか
もうひとつは、独自の関数の作成。=IQ(371)という式で答えが30になる関数とか
End If
>>745 自己申告してるやつがいるぞ
そいつの文体だ
751 :
723 :2012/08/17(金) 19:35:10.04
>>750 だったらたぶん俺だよな?
文体違うか?
そういうつもりはないんだが
(ちなみに
>>743 は俺と他人のやり取りなんで、文体が違って当然だよ)
もともと他人を装って書いたつもりだったのにね 『俺は>>371-722にはまったく書き込んでない』というのも嘘
>>748 なるほど何となくわかりました。 わかりやすい回答ありがとうございました。 m(_ _)m
754 :
723 :2012/08/17(金) 20:07:05.04
>>752 ???
何言ってんの?
そんなつまらない嘘書くぐらいなら初めからしらばっくれてるよ
ここまでへんな勘繰りをされると君のほうこそ
>>371 の自演じゃないかと思えるんだが
まぁ、俺はその辺どうでも良いから一々気にしないけどね
たとえ何人自演しようが
>>723 で言った内容に影響ないし。
そこまで371に執着してる野郎なら、371-722の間で50レス以上書いてるんじゃないの?と フツーは思うけどね。
723は 句点なんて何人が使ってるよ?厨だなw
758 :
名無しさん@そうだ選挙にいこう :2012/08/17(金) 21:20:19.51
759 :
名無しさん@そうだ選挙にいこう :2012/08/17(金) 21:22:15.23
>>756 だから違うって言ってんのに何妄想してるんだよw
723は名前欄に酉付けて書けやw
761 :
名無しさん@そうだ選挙にいこう :2012/08/17(金) 21:42:23.47
424 458 494 525 575 582 723 735 741 745 754 758
すげえな723、371にはトリ付けさせて自分は名無しを貫くかよ
【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
このスレをExcelに取り込んで
>>371 のなりすましのレスを抽出するには
どうすればいいですか
764 :
名無しさん@そうだ選挙にいこう :2012/08/17(金) 22:00:41.50
>>760 めんどくさいからパス
てか別にトリップ付で書いたところで
結果が変わるわけじゃないんで意味無いでしょ?
トリップで抑制できるのは自演じゃなくて成りすましだから
自演呼ばわりしてくる相手にどういう効果があるのか理解できない
ついでにいうと成りすまされて困るほどのもんでもないし
>>761 なんだそりゃ?
正しくは
>>723 、
>>727 、
>>730 、
>>735 、
>>741 、
>>743 、
>>745 、
>>751 、
>>754 、
>>758 、
>>759 =俺だよ
話の内容はつながってるでしょ?
ただ、相手が単独か複数か分からないからこっちもそこのところは気になるけど
俺に自演呼ばわりするくせに自分はどれがそうだか明らかにしない
卑怯者を相手にしてるのかもしれないとは感じてる
それが
>>371 かどうかまでは不明だけど。
だからできたらそちらはどれを書いたのか明らかにしてほしいもんだ
(できないんだろうけど)
あと、
>>371-722 にはマジで何も書き込んでないから
そういう適当な思い込みで突っかかってこられても困る
765 :
名無しさん@そうだ選挙にいこう :2012/08/17(金) 22:04:37.64
764はVBA厨だったのかw どおりで強粘着で強執着だったわけだw
別に、とか言って頑なに拒否するんだよな? どっちでもいいくらいの意味合いなんだったらトリ付けろよ 自分の言質くらいは守ってほしいもんだね
自白してきたね 今後の展開に期待
言い訳しかしないクズだしそろそろ立場悪くなってきたから逃亡するに一票w
771 :
名無しさん@そうだ選挙にいこう :2012/08/17(金) 22:27:49.44
>>766 必死ってか当たり前の事言ってるだけなんだが
>>767 VBA厨?なにそれ?
マジで意味が分からんから説明してほしい
>>768 頑なってか付けても無意味でしょ?
なんかメリットあるの?
第一自分の言質って言うけど、トリップつけるなんていった覚えないんだけど
>>769 これは誰宛?
>>770 うん、ちゃんと理由付けて反論してるのに
それに対する反駁が一切無いんで正直めんどくさくなって来た
全レスきめぇwww おまえがトリをつけるメリットは俺たちにあんだよ 後になってからこれは自分これは自分じゃないとかグダグダ言うくらいならトリ付けろって話 文体がどうのこうので疑われて嫌そうにしてたろ そういう言い訳マジうぜえから今後はトリ付けてね♥
773 :
名無しさん@そうだ選挙にいこう :2012/08/17(金) 22:41:08.59
>>772 >>全レスきめぇwww
いや、無視したら無視したで都合の悪い事はスルーしたとか言われそうじゃん
文体どうこうは具体的にどこがそうなのかの指摘は無かったし
根拠も無く言われたら不快に決まってるでしょ?
だいたい、君を含めて俺に突っかかってる連中の1人としてトリップ付けてないうえに
一度反論するとその話題を引っ込めてなかったことにされるわけだが、
そのへんはどうなの?
マジでうぜぇな…言い訳は要らねぇ、酉付けろそれだけだ
775 :
723 :2012/08/17(金) 22:46:16.20
>>774 ウザイなら無視するという手もあるよ
子供じゃないんだから駄々こねるのやめようね
おいおい、コイツ正気か? 嫌なら見るなっていうオナニーを見せつけられたのは初めてだぜ… 土俵に立っておいて無視しろっていうのは言っちゃあいけない台詞じゃないのか? 争うのが嫌ならテメェが帰んな、子供じゃないんだろ
777 :
723 :2012/08/17(金) 22:57:47.54
>>776 ウザイからどうこうはお互い様なんだよ
それを相手のせいにするのこそ言っちゃあいけない台詞だよ
きちんと議論したいなら相手するけど
反論したら消えちゃう相手の要求に応じる必要は一切感じない。
流れを読まずに質問してすみません
>>584 に便乗なのですが、あれで入れたコメントの
文字サイズ、斜体、文字色などを変更するにはどうしたらいいですか?
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 少し
【4 VBAでの回答の可否】 可
新着81件
盛り上がってますね。
>>699 凄い、凄すぎ。
ご丁寧に作って頂きまして、ありがとうございました。
TIMEVALUE、SUBSTITUTEは使ったことないので、これから勉強します。
>>他
(ry
わざわざ「新着81件の中には私はいません」と必死にアピールするから コテ外しての自演を疑ってた奴が、疑いではなく確信に変わってしまうんだよ。 やましいところが無かったら、言い訳的に「新着81件」なんて書かないからな。 本人はそれを書くことで疑いが晴れる方向に効果があると思ってるのかも知れないけど 実際は笑えるほど逆効果w
お帰りっていうか、カエレ!!
699が見れないんだけど、どうすればいいの?
784 :
723 :2012/08/17(金) 23:35:17.66
723のカキコ、半端ねえw 今日だけで何回書いてんだよw 371のカキコが8/9、この1週間でカキコしてないなんて絶対ウソだな
786 :
723 :2012/08/17(金) 23:47:06.02
787 :
723 :2012/08/17(金) 23:48:21.90
やっぱり711も723だったのかw あんなキモい文書けるやつはそうそういない
789 :
723 :2012/08/18(土) 00:01:15.43
誰だって間違いはある 謝罪厨が出てきても謝らないけどな
そこは謝れよ なぜ開き直る
791 :
723 :2012/08/18(土) 00:05:14.30
ごめんなさい もうどうでもいいじゃないか
792 :
723 :2012/08/18(土) 00:07:25.89
やっぱトリ付けろよおまえ・・・
>>778 こんな感じか?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.ClearComments
With Selection.Cells(Selection.Columns.Count).AddComment
.Text Selection.Address(0, 0)
With .Shape.OLEFormat.Object.Font
.Size = 15 ' 文字サイズ
.Italic = True ' 斜体
.Color = vbRed ' 文字色
End With
.Shape.TextFrame.AutoSize = True
.Visible = True
End With
End Sub
795 :
723 ◆723.VMmOJA :2012/08/18(土) 00:19:36.85
ニセモノも出てきたしもう寝るわ
先にトリップ付けたほうが勝ちだよなw
勝ち負けなの? 何と闘ってるんだ?
いずれおまえにもわかる時がくる・・・
801 :
謝罪厨723 ◆723.VMmOJA :2012/08/18(土) 12:23:05.32
勝ち負けとか何? ちなみにニセモノは791だ
むしろ ここはふたりに明け渡して、その他大勢が向こうに移ればいい
件の争いに参加してない常駐住人(主に回答者)はそれでもいいが 住人ではなく事情を知らない質問者がこっちに質問してしまうのは避けられないし いちいち事情を説明して誘導なんてやってられないので、その案は採用しかねる
Excel2003ですが 他からインポートしたデータの日付情報が 2012/8/18 と文字列として表示されているのですが 定番の =LEFT(C3,LEN(C3)-1)*-1 で変換を試みますと -40913 といったような違った数字が表示されてしまうのですがExcelで認識できる日付情報として関数を用いて変換するいい手はないでしょうか。宜しくお願い致します。
その定番というのは意味不明だが TEXT関数でも使って日付表記にでもすればいい
>>805 あとシリアル値でぐぐればそれがなにか分かる
>>806 >>807 なにやら見えないコードが混入しているようでTEXTではだめでしたが
シリアル値で調べてみたところ
シリアル値がマイナスになっていたのがエラーの原因でした!原始的ですが =0−(-40913)とすると日付として出てきました!
ありがとうございました!!
>>808 いや
=LEFT(C3,LEN(C3)-1)*-1
を
=LEFT(C3,LEN(C3)-1)*1
とするだけでいいぞよ
>>806 >>808 =LEFT(C3,LEN(C3)-1)*-1
↓
=LEFT(C3,LEN(C3)-1)*1
で更にシンプルに解決でした。^^;
ありがとうございました。
>>809 ああ発見が遅くダブってしまいました、、すみません、ありがとうございました。
>>805 もう解決済みのようだがテキストファイルウィザードでテキストファイルをエクセルにインポートする時に
列のデータ形式を日付にした方が関数を使わずに日付として認識されるので
この方法の方がスマートだと思う。
マクロ2で 作成してあるマクロ1をコマンドボタンに登録したいんですけど可能でしょうか? マクロ2でコマンドボタン作成してさらにマクロ1を登録したいですが。
まずやってみれ その後ダメだったらおかしな部分を貼れ あとできればテンプレも使ってね
723は数分おきに書き込みチェックしてるんだろうか?
なんで静まって来たところでそういうぶり返すようなこと書くんだ?
817 :
723 ◆723.VMmOJA :2012/08/22(水) 00:48:17.94
呼んだ?w
819 :
名無しさん@そうだ選挙にいこう :2012/08/24(金) 13:46:37.64
エクセルで文章をリストで入力して最終的にまとめて一つの文章を作り出すような 仕組みは作られるのでしょうか。 PCはWindowsXP エクセルのバージョンは2003です。 よろしくお願いします。
日本語でおk 何がしたいのか具体的に頼む
821 :
819 :2012/08/24(金) 14:40:12.71
書き損じました。 VBAはよくわからないです。
>>820 上手く説明出来なくて申し訳ありません。
作りたいのは、作業工程を文章化するのに一々文章を書き込むのが大変で時間がかかってしまうので、
リスト化し、それを選んでいくことで、最終的に一つのまとめ、報告書にコピーandペーストしたい
のです。
工程の例としてリスト上に短い文章を入力。
・Aの作業の確認をした。
・Bの作業の確認をした。
次のリストに
・Cの作業の確認をした。
・Dの作業の確認をした。
…
最終的に一纏めに
・Aの作業の確認をした。
・Cの作業の確認をした。
作業終了
一纏めにした文章をコピーし、別のファイルにペーストする、です。
分かりにくくて申し訳ありません。
>>822 連結するだけならこんな感じでいいんじゃないの?
=CONCATENATE(A1,B1,…)
別のファイルにペーストするところまでやりたいならVBA
文章に番号をつけて、リスト化しておき、 番号を入力すればその右に文章が表示される、番号は印刷しない、 みたいな運用がいいんじゃないか
若しくは、単純にフィルタで文章パターンを選択するか
いやいや、まずはctrl+C(コピー)、ctrl+V(貼り付け)を覚えるべき。あの内容に文字列連結やVLOOKUPは便利になるとは思えん。
827 :
名無しさん@そうだ選挙にいこう :2012/08/24(金) 20:31:37.65
銀行の入出金記録をインターネットバンキングで見れます。 表になってて、 (1)日付 (2)お引出金額 (3)お預入金額 (4)お取引内容 の4列あります。 (2)(3)は入金か出金かによってどちらかが入ってます。 このデータをExcelにコピペしていろいろ分析したいんだが (1)はYYYY.MM.DDのフォーマットで入ってて、シリアル値になってない。 (2)は例えば「120,000 円」みたいな文字列として入ってて、SUMやAVERAGE関数が使えない。 これはどうすればうまくいきますか?
>>827 “.”を“/”に置換
“ 円”を“”に置換
ネットバンクならCSVとかでダウンロードできるようになってるんじゃない?
830 :
名無しさん@そうだ選挙にいこう :2012/08/24(金) 21:02:55.61
Sub test1() F_NAME = "モデル撮影会.xlsx" S_NAME = "フレッシュ" For Each WB In Workbooks If WB.Name = F_NAME Then Set WB1 = Workbooks(WB.Name).Worksheets(S_NAME) aruaru = 1 Exit For End If Next If aruaru <> 1 Then Workbooks.Open Filename:="D:\俺の趣味\" & F_NAME Set WB1 = Workbooks(F_NAME).Worksheets(S_NAME) End If End Sub とあるファイルが開いてたら、WB1にSetします。 開いてなかったら、それを開いてWB1にSetします。 もちょっとシンプルにできあmすか?
邪道な方法で大幅に短くするか・・・ 正道でちょっとだけ短くするか・・・
画像がみたいw
834 :
名無しさん@そうだ選挙にいこう :2012/08/24(金) 22:42:47.72
>>831 氏じゃないがエラートラップで分岐するんじゃないかとエスパーしてみる
Sub test1()
F_NAME = "モデル撮影会.xlsx"
S_NAME = "フレッシュ"
On Error Goto Err:
Set WB1 = Workbooks(WB.Name).Worksheets(S_NAME)
On Error Goto 0
Exit Sub
Err:
Workbooks.Open Filename:="D:\俺の趣味\" & F_NAME
Set WB1 = Workbooks(F_NAME).Worksheets(S_NAME)
Resume Next
End Sub
835 :
名無しさん@そうだ選挙にいこう :2012/08/24(金) 22:52:25.25
ミスった On Error Goto Err: Set WB1 = Workbooks(WB.Name).Worksheets(S_NAME) On Error Goto 0 のところは On Error Goto Err: Set WB1 = Workbooks(F_Name).Worksheets(S_NAME) On Error Goto 0 だった
836 :
834 :2012/08/24(金) 23:00:50.71
ブックをオープンのところでエラーを発生させたほうがもっと短く出来るな Sub test1() F_NAME = "モデル撮影会.xlsx" S_NAME = "フレッシュ" On Error Resume Next Workbooks.Open Filename:="D:\俺の趣味\" & F_NAME On Error Goto 0 Set WB1 = Workbooks(F_NAME).Worksheets(S_NAME) End Sub
OS windows vista バージョン excel2007 売上表を作っています 決まった単語を含んだ文字列を入力したときに 文字色が自動で変わるように設定したいのですが可能ですか? 例えば スパゲッティ という言葉を含んだフレーズを打ち込むと文字色が赤になるようにしたいです 和風スパゲッティやミートソーススパゲッティなど その語を含む文字には全て反応するよう設定できると望ましいです
>>837 条件付き書式で
=FIND("スパゲティ",A1)か
=COUNTIF(A1,"*スパゲティ*")
どちらか片方をを追加する
上2つのA1は反応させたいセルアドレスだから変えて使ってみて
スパゲティじゃなくスパゲッティかそこも変えて使ってね 後わかると思うけど文字色を赤にするなら条件付き書式のところで色を自動→赤に買えるのを忘れずに
Windows 7 Pro Excel 2003 セルの入力規則を設定して、ドロップダウンリストで選択するようにしました。 このそれぞれの選択肢について、個別に配色を指定することってできますか? 例えば選択肢に ○ と × があって、 ○ならば文字色は赤、×ならば背景色が青になる という感じです。
840ですが、すぐ上にある条件付き書式使ってできました・・・
∧∧ ヽ(・ω・)/ ズコー \(.\ ノ 、ハ,,、  ̄  ̄
【1 OSの種類 .】 Windows 7 pro 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 二つ質問させていただきます。 現在かなりの作業量のある処理をVBAで行っています。 両方それに関することです。 一つ目はVBA実行中にCPU使用率が低い(5%程度)、別の作業が快適(ブラウジングなど)であるにも関わらず、処理が遅いということです。 なのでもっとPCの演算能力を最大限にExcelに割り当てることはできるでしょうか?(負荷の上限があったら外す等) また、コーディングの面では最大限の高速化を心がけています。 二つ目は実行中に不可解なコードの中断があることです。 自らキーで中断しているわけではなく、デバックを繰り返すといずれ発生してしまいます。 一度発生すると、再起動するまで治りません。 今までの発生場所の経験上、特定のコードがエラーということではありません。 コードはかなりの量なのでここで晒すのは控えます。 何か対処法はあるのでしょうか?
>>843 そういうのはコードを晒さないと話にならない
コードは晒したくないので可能性のありそうなことを片っ端から列挙しろとか我が儘言うならさようなら
コード晒す(ブックうpする)気があるならまた後ほど
>>844 失礼しました。コードは1000行を超えているため晒しませんでした。これも書いておけばよかったですね。
>>843 1000行ってまさか一つの関数ってわけじゃないよね?
てことでdebug.printで時間差し込んで、どこが時間食ってるか調べるのが
手っ取り早いんじゃない?その後晒せる部分はここで聞けば誰かが答えるかも。
>>844 連投失礼します。エラーというのは"コードが中断されました"という特定のエラーです。
私はキーを押して自ら中断させる以外に起こる可能性を列挙できません。
"一つでも"教えていただければ幸いです。
それだけでも原因解明の大きな助けになります。
>>843 デバッグのことをデバックと言っちゃうレベルの初心者だと思うので
「コーディングの面では最大限の高速化を心がけている」ってのは思い込みだと想像します
エスパーの存在を信じているのも初心者によくあることです
他人にコードを晒すことができないなら自力でやるしかありませんよ
1000行超えてるってのは晒さない理由にはならないでしょ。 「レスとして貼れない」理由にはなるが、ブックうpする上では何の障害にもならないし 回答者からしたら1000行くらい屁でもない量だし、エスパーさせられるよりは 1000行程度ならコードを実際に確認した方がずっと楽だ。 まあ他の人も言ってるが、コード・ブック晒しが出来ないなら自力で頑張れ。
>>846 >>848 >>850 ありがとうございます。勿論、私は初心者ですしコードにも改善する余地は当然あるかと思います。
ただ、私が今質問しているのはExcelにPCの能力をフルに使わせるにはどうすればいいのか、です。
コード面からの改善はその後取り組むとして、まずはこちらについて意見を頂けたらと思います。
>>851 16コアだと何か問題があるということでしょうか?
ちなみに私が使っているCPUはCore i7-3770kです。これは4コア?のようですね。
>>849 1000行が屁でもないとはすごいですね。公開したくない部分もあるので調節してからアップしようと思います。
853 :
名無しさん@そうだ選挙にいこう :2012/08/26(日) 10:27:57.62
>>852 だからコードを見ないとどこでPCの能力を持て余してるかわからんだろうがwww
持ってるテクニックを全部書けってか?
>>852 ・PCの能力をフルに使わせるコードに修正する
・タスクマネージャでExcelのプロセスの優先度をできるだけ上げる
・タスクマネージャでExcel以外のプロセスを落とす
コード(VBA)が補助でしかないExcelでは初心者はあまり長いコード書かないけど コードが補助ではなく全てであるVB6では初心者でも数千数万とか当たり前だからな。
うpするなら2003形式でうpした方がいいぞ。 まあこういうのに回答できる奴は、2003以前を使っていても2007以降の形式も 開けるようにしてるとは思うが、ささやかな配慮としてな。 VBA詳しい奴ほど、2007以降の機能追加はVBA&アクセスとの使い分けで事足りるから 仕事を持ち帰って家でやるような奴でもないと、2007以降にバージョンアップしない傾向にあるし。
857 :
名無しさん@そうだ選挙にいこう :2012/08/26(日) 11:33:08.79
>うpするなら2003形式でうpした方がいい 2003しか持ってない貧乏人は辛いよねwww
能力貧乏人の僻み、乙
機能の質問じゃないんだから質問者と同じ環境じゃないと意味がないと思うが
2003しか持ってない貧乏人に謝罪しとけよ
自宅も職場も未だに2000だ Officeたけーんだよ・・・
>>859 アルゴリズミックな部分に問題があるなら、バージョンは関係ないぞ
Excel.Application以下のメソッドを呼び出していることが原因なら
バージョン違うと再現しない可能性もあるが
読点が打てないバカは、723のカキコと思っていいのかな?
従業員2万人以上の業界No1企業の社員が2003使ってるとか ありえねーよ
2chというかインターネット掲示板等では、その決めつけは通用しないと思うが 打たないのが正しいとか通例ってわけではないが、打たない奴の方が多いくらいだし
2chじゃ句点打つヤツのほうが少ないだろ
いちいち、細かく、読点を打つのも、まるで馬鹿の一つ覚えで、読みづらくて、仕方ないよな。 863は、そのあたりは、どう、思うんだ? ここまで顕著じゃなくても、読点を意図的に使う馬鹿は、同レベルの文章だろ。
868 :
名無しさん@そうだ選挙にいこう :2012/08/26(日) 12:28:02.30
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2003、2010 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 フォルダに入れたファイル名を書き出すマクロを拾ってきました。 B7セル以降にファイル名が書き出されますが、.+拡張子を 削るにはどうすればいいですか? 拡張子は.xlsとか.xlsmとか.docとかいろいろあります。
870 :
名無しさん@そうだ選挙にいこう :2012/08/26(日) 12:34:30.43
>>864 中小企業の連中は知らないと思うが、大企業ほどインフラ関係は新しいものが使えない。
WindowsXPやIE6が出た時も、導入されるまで3年かかった。
未だにXP ProにOfficeXPまたは2003なんてザラですよ。
871 :
名無しさん@そうだ選挙にいこう :2012/08/26(日) 12:41:32.76
>
>>861 × たけー
○ たかい
日本語は正確にね。(電子)
872 :
868 :2012/08/26(日) 12:51:05.69
セキュリティや減価償却を考えれば、つねに最新のソフトをいれるのがいまの常識 旧バージョンつかいつづけるメリットはまったくなし
>>870 だよねー
全社員のPCのOfficeを2010にバージョンうpするだけで数十億円かかるしw
>>853 コードによってその持て余し具合が変わるということですか?
そのような認識はありませんでした。
例えば次のコードならどう手を加えればフル活用できるようになりますか?このコードだと私のCPUの使用率は10%程でした。
Sub test()
Dim i As Long, j As Long
For i = 1 To Columns.Count
For j = 1 To Rows.Count
Cells(j, i) = Rnd()
Next j
Next i
End Sub
>>854 これは効果ありそうですね。ありがとうございます。
二つ目のエラーですが
Application.EnableCancelKey = xlDisabled
を加えることでエラーの発生を抑えることができました。
当然ベストな解決ではないですが、解決にしたいと思います。
逆に「コードの実行が中断されました。」というエラーをキーではなく人為的に作り出すことはできるのでしょうか?
そのコード、延々と繰り返すつもりなのか?
878 :
名無しさん@そうだ選挙にいこう :2012/08/26(日) 13:21:53.77
879 :
名無しさん@そうだ選挙にいこう :2012/08/26(日) 13:22:55.42
オーバーフローしてんのか?
>>876 もかなり非効率的で改善の余地ありだが
こういうの小出しにされてチマチマやってても無駄にレス消費するだけだし
本人も調整してブックうpするって言ってるんだから
ブックがうpされるまで小出しの情報に無駄なレス付けるのやめようぜ
881 :
名無しさん@そうだ選挙にいこう :2012/08/26(日) 13:51:30.56
>>876 俺の予想だとそれで限界だと思う
エクセルやVBAは並列処理に対応していないと思う。
i7 3770はスレッド数が8だから、最高で12.5%になる
作業を8箇所に12.5%ずつ振り分けていると思えばok
ちなみに俺はi5の2400でスレッド数4、25%だった。
どちらにしろフル稼働はしているはず。
CPUだけで見ると4GHzのPen4並と思うと残念なので考えない方がいい。
(もちろん格パーツの性能が上がっているので性能は格段に違うが)
理屈の上では、分散させるための環境自体を完璧に構築できれば8倍の速度で処理できることになる。
2つに分ける場合、PC甲で1〜32767列、PC乙で32768〜65535列と振り分けて後で結合する感じ
まぁ、そんなアホなことするよりHDDアクセスを減らしたり、SSDにしたり、コードを短縮したり、そもそもVBAを使わないという選択肢のほうが現実的だね。
もしくはそのコード自体書かなくていいようなルーチンを作るかだね。
>>876 処理が遅くなってもいいからCPUの使用率を上げるのが目的なのか
CPUの使用率なんてどうでもいいから処理を早く終わらせるのが目的なのか
一体どっちなんだ?
もちろん後者だろ?
誰だって最初は初心者なんだから恥ずかしがらずにソースを晒せばいいんだよ
Excelの詳細オプションに 同時使用できるCPUの上限ってなかったか うちのは2までしかないが
886 :
名無しさん@そうだ選挙にいこう :2012/08/26(日) 14:45:26.32
1024以下でネカ?
OS依存じゃない? 32ビットか64ビットかでも、OSが認識できるCPUコア数やらメモリ容量やら全然違うし
2007以降からマルチコア対応だけど VBAは対応外みたい
エクセルはマルチ対応でVBAは非対応か、なるほど 2010だとプロセッサを1024まで指定できる が、当然CPUの上限で切られてるっぽい せっかくなんでVBAも検証してみた プロセッサを1にして876を試してみたが結果は881と同じ。 スッキリした エクセルだけじゃなくVBAももっと力入れてほしいな .NETやC♯っぽくなればすごい使いやすいのに
マルチスレッドなりマルチCPUを活かすには そういうふうにプログラムを書かないといけないし そういう用途(巨大画像のレンダリングを分散して行うとか)でないと意味が無い シーケンシャルなプログラムは いくらマルチだろうと関係ないな
CPUの使用率って、タスクマネージャのプロセス・CPUのとこですか?
>>876 のを動かしたら98%ぐらいになって他の操作なんてできなくなるけど。
>>881 >>888 >>889 >>890 ありがとうございます。非常に参考になりました。
ということは既存の与えられた環境内ではフル活用できているということですね。
ならば他の方々の言う持て余してる部分をフルに使う技術というのは私の想像より遥かに高度なもののようです。
今、その方面(マルチスレッド?マルチコア処理?)について私なりに調べていますが、私にとってはとても難しいです。
なのでその方々から数レスで教えてもらったところで理解できそうにないので、勉強し直してからまた伺いたいと思います。
893 :
名無しさん@そうだ選挙にいこう :2012/08/26(日) 18:21:25.55
マルチはイクない
コードの最適化って何?
「コードの最適化」でググれ
うまく答えられないヤツって必ずググれって書くんだよねw
そうだなW
Excel初心者ですがVビアーというのはビールか何かなのでしょうか?おいしいのでしょうか?
そりゃそうだろ、答えられるワケがないw じゃあおまえなら答えられンのかって聞いたらやっぱり無理だろwww どこの誰にも100%答えられないからググれって言われることを理解しろよw あと897は896に謝罪しとけw
読みにくいから>>をちゃんとつけろ
試しにぐぐってみたら予想以上に有用なサイトが見つかった
ちなみに上から三番目な
>>896 は正しかった
最適化というか、とりあえず
>>876 のような処理は、初歩的な配列介しての一括書き込みで
このくらい高速化出来るというサンプル
無関係な処理で差がぼやけないように、乱数算出はせずにリテラル値を使い
表示の更新も止めている
Const rr = 2000, cc = 100
Sub Test()
Dim t1 As Double, t2 As Double
Application.ScreenUpdating = False
Cells.ClearContents
t1 = Timer: Call 逐次書込: t1 = Timer - t1
Cells.ClearContents
t2 = Timer: Call 一括書込: t2 = Timer - t2
Cells.ClearContents
MsgBox _
"逐次書込: " & Format(t1, "0.000秒") & vbCrLf & _
"一括書込: " & Format(t2, "0.000秒") & vbCrLf & _
"処理時間: " & Format(t1 / t2, "0.00倍")
Application.ScreenUpdating = True
End Sub
Private Sub 逐次書込()
Dim r As Long, c As Long
For r = 1 To rr: For c = 1 To cc: Cells(r, c).Value = "a": Next c: Next r
End Sub
Private Sub 一括書込()
Dim r As Long, c As Long, v(1 To rr, 1 To cc) As Variant
For r = 1 To rr: For c = 1 To cc: v(r, c) = "a": Next c: Next r
Range(Cells(1, 1), Cells(rr, cc)).Value = v
End Sub
904 :
名無しさん@そうだ選挙にいこう :2012/08/26(日) 22:55:38.22
>あと897は896に謝罪しとけw 謝罪厨キタ━━━━━━━━━━━(゚∀゚)━━━━━━━━━━━ !!
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 ピボットグラフを作った時、レポートフィルターボタンの大きさは変えられないのでしょうか?変えられるならその方法を教えて下さい。よろしくお願いします。
906 :
名無しさん@そうだ選挙にいこう :2012/08/27(月) 18:55:56.83
ググった結果が全て同じだと思ってるバカもいるんだね〜 >902
URLを貼ってやる思いやりとか無いのかね〜
>>902
Excelで複雑な関数を駆使した表をあれこれ作ると異常に疲れるのですが、疲れないで作る方法は無いのでしょうか?
複雑な関数を駆使しなければならないのは、つくりが素直じゃないから
>>907 疲れない方法?結局は慣れと性格が大きいと思うけど、
・できるだけ作業列を使う。デバッグにもなるし完成物に近づいてる感があるのでやる気もでる。
・自分の得意な関数を見つける。私はvlookupとindex+matchの選択肢が会ったら絶対にvlookupを使う。短いから。もちろんきーが順番に並んでないとindex+matchだけど。
・あんまり神経質に考えない。SUM(SUM(A1,B1),C1)というようなアホなことを一回やったけど訂正せず放置。コードを短くしたり最適化しても誰の徳にもならないからな。
ようするに見た目や変なプライドに縛られない。
エクセルからすれば今のPCのリソースなんて無限に近いんだから負担はPCに任せるべき。
>>905 わからん。多分無理じゃねぇかと思う
あぼーん
>>911 は、超糞ソフトの宣伝
小学生でも受かるような試験の
大人向け教材作って騙して儲けようとしてる悪徳業者
まぁ2chで宣伝する時点でまともじゃないのは、情弱以外なら一目瞭然だろうけどw
913 :
名無しさん@そうだ選挙にいこう :2012/08/27(月) 22:40:41.66
ブック1とブック2の合計値を比較するときの質問です。 エクセル関連のサイトで、このようなのを見つけました。 合計 = Application.WorksheetFunction.Sum(Range(合計する範囲)) ブック1のSheet1、ブック2のSheet2が対象となる場合、 Application.WorksheetFunction.Sum(Range(合計する範囲))を どう書き直せばいいのでしょうか?
〜(Sheet1.Range(〜
>>913 Workbooks("ブック1").Worksheets("Sheet1").Range(合計する範囲)
Workbooks("ブック2").Worksheets("Sheet2").Range(合計する範囲)
"Sheet2"の"2"が全角なのがちょっと気持ち悪いですが
916 :
913 :2012/08/27(月) 23:13:51.15
ありがとございます
質問です。 vlookupについてです。 キーが一つのセルに改行で区切られて複数記載されています。 look先の対応する一覧は、キーひとつずつに情報が並ぶ一般的な表です。 このような場合、キーを分解して一つひとつvlookupして結果を結合するしかないでしょうか。
質問です グラフの範囲を =Sheet1!$A$1:$K$3 と選んだとして グラフ範囲のK3の3を、A10に入力した数字に変えることはできますか? Excelで出来ないこと、仕様上の制限で無理なのかな?
グラフ作成を記録して マクロにして そこを編集してマクロを呼べばよい
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 同じような表を並べたかったのでテンプレートとする表(罫線、書式付き)を ソースにカメラ機能(6ページ分、計10個くらい)で並べたらクソ重くなってしまいました 軽くする方法があったら教えてください。よろしくお願いします
923 :
名無しさん@そうだ選挙にいこう :2012/08/28(火) 13:02:33.32
【1 OSの種類 .】 Windows7 home
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 否
http://officetanaka.net/excel/function/tips/tips71.htm このページを参考にグラフのSERIES関数にSUM関数を組み合わせようと思ったら
その関数は正しくありません
とダイアログが出ました
=SERIES(Sheet1!$A$1,,Sheet1!$A$2:$A$6,1)
=SERIES(Sheet1!$A$1,,Sheet1!$A$2:$A$6,sum(1))
仕様でしょうか
924 :
名無しさん@そうだ選挙にいこう :2012/08/28(火) 19:22:06.48
>>921 カメラ機能は重い
マクロ等、他の機能で代用したほうが良い
もしかすると2010等では改善してるかもしれないが、試したことがないので分からない
【1 OSの種類 .】 Windows7 home 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 セルごとに あ い い え あ あ とある時に あ1|い2|え1|あ2 という風にすることはできますか? セルにあるのは「あ」〜「お」の五種類です
926 :
723 :2012/08/28(火) 20:08:22.32
>>926 言葉足らずですみません
どうやってやるのか教えてください
Excel初心者ですがマクロというやつは刺身でも食べられるのでしょうか?
929 :
名無しさん@そうだ選挙にいこう :2012/08/28(火) 20:35:46.38
条件が相対参照の条件付き書式を沢山のセルに 設定したいのですがどのようにすれば簡単にできますか? 例えば条件が書いてあるセルをA1とした場合に B1:C20の範囲のセルをA1がTRUEの場合に背景が 黄色になるようにしたい。B1:C20を選択して条件付き書式で 条件を"=A1"をするとB1の条件は"=A1"となりますが B2の条件は"=A2"となってしまって意図した動作をしてくれません 絶対参照にすれば意図したとおりの条件になりますが、今度は コピー&ペーストしたときに条件が相対で変わってくれません (当然の動作ですがですがそれでは困ります) 何か上手い方法があったら教えてくださいよろしくお願いします
932 :
名無しさん@そうだ選挙にいこう :2012/08/29(水) 01:12:25.44
>>930 実際どういう使い方をするか教えてほしい
それによってやり方がでてくる
が、とりあえずA1,A21,A41と参照するようにしたいという前提を決め打ちで回答してみる
=INDIRECT("r"&INT((ROW()-1)/20)*20+1&"c1",0)
931よ
この場合はこう言うんだ
>>930 改行がヘタくそで読みづらいわハゲ
あと
>>932 に御礼を言っとけよ
934 :
930 :2012/08/29(水) 07:29:40.14
レスありがとうございます。読みにくくてすみません・・・
>>932 >>930 の場合A1が変わるとB1:C20全てのセルが条件付き書式で書式が変わるようにしたいです
そしてB1:C20をD1にコピーするとD1:E20の条件付き書式の条件の参照先がC1に
B30にコピーするとB30:C50の条件付き書式の条件の参照先がA30になって欲しいです
935 :
名無しさん@そうだ選挙にいこう :2012/08/29(水) 12:51:47.37
>>934 等間隔じゃないのか
VBA使わないと無理だろうな
まぁたかだか40セルなんだし、最初に絶対参照で入力して相対参照に書き換えるのが早いな
がんばれ
>>934 =OFFSET(A:A,INT((ROW()-1)/20)*20,-MOD(COLUMN(B:B),2),1,1)
でどうだべ?
ん?B30のときはB30:C49だよな?
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 Sheet1に A B 1 good よい 2 bad 悪い 3 nice すてきな 4 great すばらしい と単語を並べ、Sheet2に =INDIRECT("sheet1!"&CHAR(RANDBETWEEN(65,66))&RANDBETWEEN(1,4)) という関数を用いてランダムに英単語、意味を表示させ、単語テストの問題を作っています。 今、解答を作りたいと考えていて、英単語が表示されていたら同じシートの別の場所に意味を 意味が表示されていたら英単語を表示したいです。 たとえば Sheet2 A B C D 1 nice すてきな 2 悪い bad という風にしたいです。どのような関数を使えば良いでしょうか。 難しいようでしたら、常に参照先の右隣を表示するだけでもかまいません。
VLOOKUPでググれ 右以外にも行きたいならOFFSETとかMATCHとかINDEXみたいなチカラワザ
940 :
名無しさん@そうだ選挙にいこう :2012/08/29(水) 16:23:21.91
>>937 =IF(ISERROR(INDEX(Sheet1!B:B,(MATCH(A1,Sheet1!A:A,0)))),"",INDEX(Sheet1!B:B,(MATCH(A1,Sheet1!A:A,0))))&IF(ISERROR(INDEX(Sheet1!A:A,(MATCH(A1,Sheet1!B:B,0)))),"",INDEX(Sheet1!A:A,(MATCH(A1,Sheet1!B:B,0))))
作業列かIFERROR意外でもうちょい短縮できるかな?
941 :
名無しさん@そうだ選挙にいこう :2012/08/29(水) 21:15:17.75
942 :
名無しさん@そうだ選挙にいこう :2012/08/29(水) 21:43:17.65
B14には合計でも入れておいて =sum(b3:b13)-sum(b7:b13) とか
宜しくお願いします。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 Excelで数式を使った表を作成し印刷したところ、 数式の計算結果が印字されません。空欄になります。 セルに収まりきらない場合の「###」などでもないです。 表の罫線や他のセルに入力した文字列は印字されています。 確認したところ、改ページプレビューでは計算値が表示され、 表全体が正しく表示されていますが 印刷プレビューでは数式の入ったセルだけが空欄になり 表示されていないことがわかりました。 プリンタドライバが怪しいという情報を見つけたので プリンタ複数台で試しましたが解決しないのでプリンタドライバの問題かわかりませんが、 Excel側の設定や不具合、確認すべき箇所などがありましたら教えて下さい。
944 :
名無しさん@そうだ選挙にいこう :2012/08/30(木) 00:02:51.11
>>943 端にあるセルなら次のページか行に行ってる
もしくは、印刷範囲からはみ出ている
他はわからん。そのセル以外、テキトーに消してファイルをアップすれば見てみる。
945 :
名無しさん@そうだ選挙にいこう :2012/08/30(木) 01:09:58.91
ヘッダーの上に余白を作るにはどうしたら良いでしょうか?今mosの教本をしてるんですが 印刷の仕方を習うところで行き詰まってます。 印刷ページに余白がありません。タイトルの上に教本なら余白があるんですが 前回自分がいじったらしく、余白がありません。タイトルの直ぐ上にABCDと続いてます。 どうすればよいでしょうか?よろしくお願いします。
947 :
名無しさん@そうだ選挙にいこう :2012/08/30(木) 01:45:05.34
代わりに読んできてもらえませんか?
VBAをこれから勉強してみようと検討中のExcel初心者ですが VBAで集計データを刻々と自動加算し 合計値を表示しているセルの計算結果が目的の数値に達した場合logファイルを速アウトプットするようにプログラミングすることは可能なのでしょうか? その監視する箇所が10箇所存在した場合同時に数カ所が目的の数値に達しても数個のlogがエラーを起こさず瞬時に書きされる状態がベストです ファイル形式は何でもOKです.txtで白紙のファイルでもOKです。 宜しくお願い致します。
>>948 可能だから「検討中」から「コーディング」に移行して大丈夫だよ
コーディングしていく上で、可能か否か以上のことが聞きたくなったら
その時は具体的にどういう処理のためにどういうコードを書いていて
どう詰まったのかを詳細に書いてまた質問しとくれ
>>949 即答いただきましてありがとうございます。答えの感じから全く問題無さそうであると言うことがよくわかりました。
VBAは全くの初挑戦でして自動記録で作られるコードを手がかりにぼちぼちとやってみます。ありがとうございました。
>>944 レスありがとうございます。
改ページプレビューなどで確認済みなので印刷範囲は問題なしです。
オプション設定などでそういうものがあればご指摘頂けそうだと思いましたが
そういう問題ではなさそうですね。ありがとうございます。
アップは業務資料なので難しそうです。感謝。
>>939 ありがとうございます
VLOOKUP、盲点でした
953 :
名無しさん@そうだ選挙にいこう :2012/08/30(木) 21:57:50.72
セルの色を変数で変えるとき、 Sub test1() color_no = "255" Range("B2").Interior.Color = color_no End Sub Sub test2() color_no = 255 Range("B2").Interior.Color = color_no End Sub どっちでも変わるのはどうして???
自動型変換機能が働くから 数値型の変数、プロパティ、ByVal引数等に値を渡す場合 「数値として認識できる数字文字列」は、数値に自動変換された上で処理される Dim hoge As Long hoge = "123" で、hogeには文字列の「"123"」ではなく、自動型変換で数値化された「123」が代入されるのと同じ
955 :
953 :2012/08/30(木) 22:14:05.93
>>954 dくす。
自動型変換ですか。
ちなみに、953の例で test1 と test2 では
どっちが正しい書き方なのでしょうか?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 語学でいう挨拶程度 【4 VBAでの回答の可否】 可 ForとIFで分岐して、ある行に飛ばすとき「GoTo 100」とか書きますが、 「GoTo Aがない」みたいに文字列は使えないのでしょうか?
>>956 「GoTo」にカーソルを合わせて[F1]キーを押せばヘルプが開くよ
958 :
名無しさん@そうだ選挙にいこう :2012/08/30(木) 22:37:36.33
959 :
名無しさん@そうだ選挙にいこう :2012/08/30(木) 22:42:01.31
コロンが必要だったのね。
960 :
953 :2012/08/30(木) 23:49:25.91
961 :
名無しさん@そうだ選挙にいこう :2012/08/31(金) 19:02:15.40
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 少々 【4 VBAでの回答の可否】 可 A〜Zの英字が30文字、5行分あります。 これらを1文字ずつ1セルに入れるには どうすればいいでしょうか? こんな感じです。([ ]はセルを表します) A 5 [ABDFCAC・・・] 6 [GJUNKOX・・・] ↓ A B C D E F G 5 [A] [B] [D] [F] [C] [A] [C] [・・・ 6 [G] [J] [U] [N] [K] [O] [X] [・・・
mid使う
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 はい(2000,2003でしか扱った事無いです) 【4 VBAでの回答の可否】 可 8/30 8/31 A 3000 3000 B 3000 4000 C 3000 2900 こんな表を作った時、8/31の値を前日の値と比較して増減を文字色変更させて見やすくしたいのですが、どうすればいいですか? もちろん9/1、9/2と日々入力していくのでその都度前日の値と比較して増加なら青、現象なら赤って感じでしていきたいと思ってます 条件付き書式だとうまくいかないし2003や2000と違って機能が増えたり複雑に見えて戸惑っています
>>961 一旦String型変数に格納して、
For-NextステートメントでLen関数を使ってループして
Mid関数で1文字ずつ取り出してセルにセットしていく
とか
>>963 vbaでいいんでね?
対象セルと前日値比較して処理みたいな。
For Each セル In Selection
If セル.Column = 1 Then
GoTo pointA
End If
If セル = "" Or セル.Offset(0, -1) = "" Then
GoTo pointA
End If
If セル > セル.Offset(0, -1) Then
セル.Font.ColorIndex = 5
ElseIf セル < セル.Offset(0, -1) Then
セル.Font.ColorIndex = 3
Else
セル.Font.ColorIndex = 1
End If
pointA:
Next セル
> 条件付き書式だとうまくいかないし ×上手くいかない ○上手く使えない 条件付き書式で、間違いなく目的は果たせる 増減比によって、赤と青でも、濃い色や薄い色を使い分けるとなると 条件付き書式が3つしかない2003以前では壁に当たるが2010なら問題ないし 値を入力してから条件付き書式を設定するのではなく、未入力範囲に 事前に条件付き書式を設定しておいたってちゃんと動作するんだから
ありがとうございました
条件付き書式ふたつで十分だろ? 左より多けりゃ青少なけりゃ赤
>>965 ,967
いや、それが戸惑ってしまいます。
A B C
1 8/30 8/31
2 あ 3000 3000
3 い 3000 4000
4 う 3000 2900
分かりにくいのでABCが行、123が列、あいうが名前です
『ホーム』-『条件付き書式』-『新しいルール』で「指定の値を含むセルだけを書式設定」を選択し、
セルの値、次の値より大きい、=B2 と設定して色を指定してもC2のセルだけでC3,C4と設定をコピーしてもB2,B3,B4を参照するとはなってくれません
>>966 プログラムありがとうございます。早速試してみます
>>970 >分かりにくいのでABCが行、123が列、あいうが名前です
逆に分かりづれーよ・・・
コピーとかする必要ねーし 最初から全選択して条件付き書式で左のセル選べよ 絶対参照するなよ、絶対だぞ
>>970 >>971 も指摘しているけど、
エクセルでは1,2,3を行(Row)、A,B,Cを列(Column)と呼ぶのがルールというか仕様
君のは逆だから分かりにくい
974 :
723 :2012/09/01(土) 10:50:50.41
脳内変換すりゃーべさ? 頭の固い野郎ども
変換しなきゃいけないのはおまえだ
977 :
名無しさん@そうだ選挙にいこう :2012/09/01(土) 13:31:28.26
>おまえは変換する前に謝罪しろ 謝罪厨キタ━━━━━━━━━━━(゚∀゚)━━━━━━━━━━━ !!
978 :
名無しさん@そうだ選挙にいこう :2012/09/01(土) 13:47:25.32
@自宅の2010で資料をつくり、2003形式で保存 A上長へ提出 B「なんか色が派手で見づらい」とクレームw Cそんなバナナと思って見せてもらったら確かにド派手w そこで・・・ 2010で作った資料を2003に落とすとき、セルや文字の色が変わらないようにする方法を教えれ
>>96 1
ルーチンの処理でなければ、
30文字程度ならメニューから区切り位置指定でやるのが
一番早い。1分あれば十分でしょ。30秒かな?
980 :
961 :2012/09/01(土) 14:21:45.35
先生! こんな感じでどうでしょう? Sub test() Dim 文字列 As String, 文字数 As Integer Dim i As Long, j As Integer i = 5 Do While Cells(i, 1) <> "" 文字列 = Cells(i, 1) 文字数 = Len(文字列) For j = 1 To 文字数 Cells(i, j) = Mid(文字列, j, 1) Next j i = i + 1 Loop End Sub
981 :
名無しさん@そうだ選挙にいこう :2012/09/01(土) 14:21:47.59
982 :
名無しさん@そうだ選挙にいこう :2012/09/01(土) 14:30:13.81
>>980 見てないけどうまく行ってるならそれでいいんじゃない?
983 :
723 :2012/09/01(土) 14:34:30.56
ハイ、次の方〜
984 :
978 :2012/09/01(土) 14:41:51.41
>>981 いや、2003のカラーパレットを2010で使いたいという質問じゃないんだよ
"ド派手"ってキーワードがあるんだから淡色だと容易に想像できるだろ?
2010で淡色に着色して2003形式で保存したものを2003で開いたらド派手になるから元の色のまま保存するにはどうしたらいいんだ?って聞いてんだ
>>984 「2003 2010 色 エクセル」でぐぐれ
986 :
979 :2012/09/01(土) 15:31:21.97
>>981 この場合は、区切りを人がクリックで指定して上げる(要はプログラム的じゃない)んで
残念ながらn文字ずつという指定はできないんだよね。
ところで、この機能。おれも1年前まで使ったことなかった。
使ったら便利だよね。
文字列コピペしたとき1列にみんな入っちゃう時の切り分けの時の処理ね。
987 :
名無しさん@そうだ選挙にいこう :2012/09/01(土) 15:51:06.18
>>984 仕様だからどうしようもない
あとはVBAで互換性のある似た色に変更という手段か、始めから2003で作るしかない
988 :
名無しさん@そうだ選挙にいこう :2012/09/01(土) 15:54:57.47
区切り文字は割と使うのにな abc[空白][空白][空白]de[空白][空白][空白][空白]fghi[空白][空白]jk… という文字列があった時に、6文字指定で切るような機能と思ってたわ
>>971 ,973
すみません指摘されるまで逆な事に気が付きませんでした
>>970 は1,2,3は行(Row)、A,B,Cは列(Column)を表現してます。
>>972 絶対参照はしていません。
ですが、セルを選択したり上下左右(↑↓←→)キーを押すと絶対参照でのセル番地が挿入されるのでうざったいこの上ないです。
とりあえず、色を変えたいセルC2からC126までを選択して、
『ホーム』-『条件付き書式』-『新しいルール』で「指定の値を含むセルだけを書式設定」を選択し、
セルの値、次の値より大きい、=B2 と設定して色を指定したらどのC列でもちゃんと増加したら青になりました。
でもよく分からないのが、どのC列選んでも
『ホーム』-『条件付き書式』-『ルールの管理』で
ルール(表示順で適用) 書式 適用先 条件を満たす場合は停止
セルの値>E2 Aaあぁアァ亜字 =$C$2:$C$126 □
となっていることです。もちろん『書式ルールの表示』は「現在の選択範囲」になっています。
普通、C80選べば「セルの値>B80」とかになりませんか?
>988 機能としては ・区切文字(カンマやスペース等)で分けるか ・クリックして位置をしていするか のどちらかだよね
>>989 うぜえな、人にアドバイスもらっといて礼もなく不満だけダラダラと語んな
テメエの普通なんてアブノーマルなもん知るかよ
解決してんのに満足もせず思い通りにしたけりゃ自分で努力しろ
言いたいことはそれだけだ・・・消えろ
992 :
723 :2012/09/01(土) 19:05:05.95
このスレも残りわずかだな 1ヶ月ちょっとで使い切るとは人気スレになったもんだぜ
8月9日に基地外現れたからスレの進行が早かったw
8/9の371の乱
大泉くんは元気か?
このスレの1000は
>>371 に取らせてあげたいwwww
う
ん
1000 :
371 ◆UEVzcTevVXFH :2012/09/01(土) 21:09:33.23
>>996 ∩___∩
(ヽ | ノ ヽ /)
(((i ) / (゜) (゜) | ( i))) 723氏がキティで
/∠彡 ( _●_) |_ゝ \ ごめんネ ごめんねェ〜♥
( ___、 |∪| ,__ )
| ヽノ /´
| /
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。