1 :
名無しさん@そうだ選挙にいこう :
2006/08/20(日) 03:43:35 ▼━ 答えやすい質問のしかた ━━━━━━━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に
>>2-1000 あたりの注意書きやQ&Aも読もう。
★4 質問テンプレは必須じゃないけど、
OSやExcelのバージョン、VBAの可否など(下記テンプレ1〜4の情報)は必須情報。
これを書かなかった場合は、以後まともな回答が付かなくても文句言わないでね。
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類 .】 Windows**
【2 Excelのバージョン 】 Excel**
【3 VBAが使えるか .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
【5 検索キーワード 】 Googleやヘルプでの検索キーワード
※【4】は、VBAはわからないけどコード書いてくれるならVBAでもいいって場合は「可」
VBAを使うのは避けたいって場合は「否」にしましょう。
▼━質問時の注意・決まり事 ━━━━━━━━━━━━━━━━━ ・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 テキストボックス(エディトボックス)、コンボボックス(ドロップダウンリスト)、リストボックス、コマンドボタン、 チェックボックス、オプションボタン(ラジオボタン)、スピンボタン、スクロールバー、等の質問をするときは、 ユーザーフォーム、コントロールオブジェクト、フォームオブジェクトのどれなのかを必ず書くこと。
★注意1 テンプレを使わないのも、情報を出さないのも自由です。 ただし後出しの情報に延々と付き合っていたら他の質問者に迷惑が掛かるので 回答は最初に出された条件のみを元に行われることもあります。 指摘されてから質問し直しても無視されることがあるので、 そういう扱いをされるのが嫌なら、きちんと情報を書きましょう。 ★注意2 VBAを知りたてでプログラミングまでは出来ない人は、 VBAが高機能なのをいいことに、いろんなことをVBAでやろうとする傾向がありますが、 Excelのブック、シート、およびシート上に配置されたオブジェクトの操作以外は スレ違いなのでここで質問しないでください。 ユーザーフォームについても、VBとVBAで違いがある部分以外はVBの分野です。
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法) ▼環境・書式 ・ 列数を256列以上、行数を65'536行以上に増やす (Excel2007では16'384列、1'048'579行扱える) ・ 条件付き書式を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で出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。 間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。 また、ここに書かれてないことでも、Excelで出来ないことはたくさんあります。 ここに書かれてないからといって必ず出来るはずだなんて思わないように。
7 :
名無しさん@そうだ選挙にいこう :2006/08/20(日) 08:21:36
8 :
名無しさん@そうだ選挙にいこう :2006/08/20(日) 10:31:02
消費期限前3日前になると文字を赤くする方法を教えて下さい
10 :
前スレ986(常用対数) :2006/08/20(日) 12:31:16
993氏の方法で解決できました。 ありがとうございました。
11 :
名無しさん@そうだ選挙にいこう :2006/08/20(日) 13:20:30
A1に価格、B1に数量、C1にその積を表示させます。 B1が空欄でもC1にA1の数値が入ってしまうのですが B1が空欄のときC1に0と表示させる方法はありませんか?
12 :
名無しさん@そうだ選挙にいこう :2006/08/20(日) 13:34:49
嘘をいっちゃあイカン。
13 :
11 :2006/08/20(日) 13:43:18
14 :
名無しさん@そうだ選挙にいこう :2006/08/20(日) 13:58:41
A1*B1でどうして0にならないのかと思ったら product使ってたのか、嘘と言ってスマン
15 :
名無しさん@そうだ選挙にいこう :2006/08/20(日) 14:00:21
質問が2つあります。 @A1にaをいれたらB1にb A1にcをいれたらB1にd とするようにはどうすればいいですか? AA1にaを入れたらB1にb A1に何も入れなかったらc とするようにはどうすればいいですか?
>>15 IFを使う
使い方はヘルプか前スレFAQ参照
>>14 ありあとうございます。
その方法があったんですね。
18 :
名無しさん@そうだ選挙にいこう :2006/08/20(日) 14:04:03
みんな、if文のお勉強しようね
vlookupの検索が下記のようなパターンで上手くいきません。 A B C D E 1 検索内容 名前 weight VAT 2 organic orange 1000 200 3 apple 10000 300 4 organic 243500 400 5 omega 100000 500 6 ampan 3300 600 7 結果 3300 B7=vlookup(A2,c1:e6,2) 結果は本来ならば24500なはずですが、誤動作しています。 原因と対策を教えてください。
>>19 どうやってもならないだろ
それと、データは昇順に整列してないとだめだ
×=vlookup(A2,c1:e6,2) ○=vlookup(A2,c1:e6,2,false) 昇順ソートしなくても、ちゃんと引数設定すれば問題ない。 つーかヘルプにも書いてあるんだからちゃんと読もうよ。 それと「本来ならば」なんて言葉は、関数の仕様も知らずに軽々しく使うな。 式が間違っている故に、希望通りの結果にならないだけで、式は本来通りの結果を返してるんだから。 本当に式が正しくて本来通りの結果を返さない場合はここで質問してもほとんど無意味だから。 そういうのはMSにバグ(本来の動作をしない部分)の修正のパッチをだしてもらわにゃならんからな。 ついでに24500なんてどこにもないぜw
22 :
名無しさん@そうだ選挙にいこう :2006/08/20(日) 16:09:31
言葉を知らない子だね、反感買うだけだよ これじゃ君の知識がもったいない
23 :
19 :2006/08/20(日) 16:54:06
直後にこういうのが来ると なんか22が哀れな子って感じだなw
25 :
名無しさん@そうだ選挙にいこう :2006/08/20(日) 19:31:33
お願いします。 エクセルでグラフを作る時に軸の設定で「表示形式」で「日付」とありますが、 項目の中に「年」のみの項目がありません。 「1990 1995 2000 2005年」でX軸を設定するにはどうしたら よいのでしょうか?よろしくお願いします。
26 :
名無しさん@そうだ選挙にいこう :2006/08/20(日) 19:44:57
大変失礼しました。出来ました。申し訳ないです。
23のレスで救われたと勘違いしてる子がいるな
( ´,_ゝ`)プッ この子、確実に反応するな
そうだな 他人のふりしてまで 自分を擁護する奴と 同じくらい 確実に反応するな 両方消えてくれ
テンプレに付けくわえとけよ ・このスレにはテンプレ厨、馬鹿回答厨が住み着いています。 ・24時間体制で俺SUGEEE回答を付けられる質問がこないかを 待ち構えては俺SUGEEEと自分に酔っています。 ・俺SUGEEEEEE的な回答をされても許してあげてください。 ・下手に構うと自作自演のテンプレを使ったQ&A、質問者に なり済ましてのお礼レス等をつけはじめてうるさいです。 無視にご協力を。
こういう場で相手を「子」と呼ぶのは違和感があるなあ。 まあ内容が伴っているから、さもありなん なんだが。
33 :
名無しさん@そうだ選挙にいこう :2006/08/21(月) 19:42:06
エクセルの勉強するためにここに来て、他人の質問見て自分も勉強してる厨もいるよ 回答が初心者的でもしょうがないじゃない
34 :
名無しさん@そうだ選挙にいこう :2006/08/21(月) 20:03:43
関数についてご教授ください。 A列とB列があって、各行のA列とB列の値が いずれも○だった場合に数を数える関数は どのようにしたらよいでしょうか?
>>34 配列数式かユーザー定義関数で。
使い方は自分で調べよう。
37 :
34 :2006/08/21(月) 21:05:27
ありがとうございました。 =SUMPRODUCT((A:A="○")*(B:B="○")) で出来そうです。
ドングリの背比べ
39 :
名無しさん@そうだ選挙にいこう :2006/08/22(火) 02:59:24
tst
朝から「挿入」とか「結合」とかいやらしい
FAQだからしかたない。
誰が(ry
基本的な質問ですがお願いします。 書式で「 #,### 」と「 #,##0 」はどう違うんでしょうか?
>>43 0.5未満の数値で、#,###は『』(空文字)になり#,##0は『0』になる
45 :
名無しさん@そうだ選挙にいこう :2006/08/22(火) 22:33:26
WINXPSP2 EXCEL2003にてセル内で郵便番号変換で入力できないのですが どのように設定すれば入力できるようになるのでしょうか たとえば111-1111を変換すると111-1111と111-1111の二つしか 選択肢に出てきません 他のソフトでは問題なく住所に変換されます
46 :
名無しさん@そうだ選挙にいこう :2006/08/22(火) 22:54:08
アドイン
>>45 > 他のソフトでは問題なく住所に変換されます
もう少しがんばろうね
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 同一ブック内のシートの動きを同期?させることは可能ですか? シート1を下にスクロールするとシート2も同じように下に動くとか 上下動だけでいいんですけど
>>47 現在コピーペーストで対処してるのですが
なかなかやりにくくて難儀しております
>>50 IME側の辞書や変換モードの設定辺りの問題かもね
52 :
名無しさん@そうだ選挙にいこう :2006/08/22(火) 23:33:58
>>45 嘘を言っちゃあイカン
他のソフトで 111-1111が、どのような住所に
問題なく変換されたのか報告して三田前。
Excelっていうか、IMEに郵便番号辞書を入れればいいんじゃね?
55 :
名無しさん@そうだ選挙にいこう :2006/08/23(水) 06:56:12
皆さんありがとうございます
>>52 その数字は例としてあげただけです
>>53 IME用の辞書は導入済みです
>>54 エクセル上で単にIMEの住所変換するだけでそのアドオンが必ず必要ということでしょうか?
>>55 OfficeUpdateにいって落とせよ
Excel 郵便番号 で検索ぐらいしようね
俺も知りたい アドオン無しだとIMEで住所変換できないのか? 別に自動的に住所を注入とかしなくて良いんだけど
59 :
名無しさん@そうだ選挙にいこう :2006/08/23(水) 08:27:03
たとえば、 A1に「FALSE」と表示されている場合だけ A2に入力規制をかけたいときに 入力規制の項目の数式欄には どのような数式を入れれば良いのでしょうか? チェックボタンにチェックを入れた場合のみ、その隣のセルに書き込み可能にしたいのです。 アドバイスやらしくお願い致します!
61 :
名無しさん@そうだ選挙にいこう :2006/08/23(水) 09:15:17
すんません笑。 教えて頂けませんか?
>>61 お譲ちゃんはいったいどんなことをしたいのかな(*´Д`)ハァハァ
チェックボックスクリック時に
シートのホモとセルのロックを制御してやればできるでそ
>>1-3 よんでね
63 :
名無しさん@そうだ選挙にいこう :2006/08/23(水) 10:44:49
んー… 入力規制のウィンドウを開かせたいので、 A1にFALSEが表示しているときのみ A2にエラーメッセージが出るようにしたいです。 何度もすみません。
▼━ 答えやすい質問のしかた ━━━━━━━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類 .】 Windows**
【2 Excelのバージョン 】 Excel**
【3 VBAが使えるか .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
【5 検索キーワード 】 Googleやヘルプでの検索キーワード
>>63 > んー…
> 入力規制のウィンドウを開かせたいので、
入力規制のウィンドウって何だよ
> A1にFALSEが表示しているときのみ
> A2にエラーメッセージが出るようにしたいです。
↓矛盾してねえか?
> A1に「FALSE」と表示されている場合だけ
> A2に入力規制をかけたいときに
> 入力規制の項目の数式欄には
> どのような数式を入れれば良いのでしょうか?
> チェックボタンにチェックを入れた場合のみ、その隣のセルに書き込み可能にしたいのです。
日本語でないと回答無理
>>63 お前がその嫌がるA2を無理やり選択して舌舐めずりしながら
入力規則のダイアログを開いて、「らめぇ」と泣き叫ぶA2の声を
無視しながら入力規則を「=OR(A1=FALSE,A1<>"")」としてやれば
あんなに嫌がっていたA2もA1がFALSEになるとなんでも受け
入れるように調教できるんじゃないでしょうか。僕には良くわか
りません。でも「らめぇ」はいいと思います。いえ、やっぱりわかりません。
あ、=AND(A1=FALSE,A1<>"")でした ごめんなさい。でも「らめぇ」はやっぱりいいと思います いえ、なんでもありません
お願いします 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 データの自動更新 セルの変更 ピボット ピボットテーブルのデータ更新を あるひとつのセルの変更のたびに自動で行えないでしょうか 変更するセルと、ピボットテーブルは別シートにあります
68 :
名無しさん@そうだ選挙にいこう :2006/08/23(水) 11:43:53
>>66 わー!出来ました!
本当にありがとうございます!
助かりました!
自分がわからない事は日本語じゃないんだなwww
70 :
名無しさん@そうだ選挙にいこう :2006/08/23(水) 11:59:30
Excelのグラフ作成をする際、凡例文字の編集ってできるんですか?
系列の名前でできます
73 :
名無しさん@そうだ選挙にいこう :2006/08/23(水) 13:33:43
初めて質問します。よろしくお願いします。 【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 最大値 検索 など 何百ものテストを何十人もの人が 受けた試験結果に対し、 そのテストの最高点を誰が出したのかを テストごとに表示できるようにしたいと考えています。 テストの名称を行に、被験者の番号を列に配置し、 その交点のセルにそれぞれの得点を記入してあります。 MAX関数でテストごとの最高得点を表示することはできますが、 誰がその最高得点を出したかを表示することができず 悩んでいます。 HLOOKUP関数は数字が昇順や降順に 並んでいなければ使えないようですし。 なにか良いアイディアはないものでしょうか。 よろしくお願いします。
75 :
名無しさん@そうだ選挙にいこう :2006/08/23(水) 14:00:14
>>74 お答え頂きありがとうございます。
HLOOKUP関数の検索の型を
FALSEにするということでしょうか?
やってみます。
76 :
名無しさん@そうだ選挙にいこう :2006/08/23(水) 15:08:45
マクロについて質問です。 With Selection.Validation .Delete .Add Type:=xlValidateCustom, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:="=AND(BP20=TRUE,BP20<>"""")" .IgnoreBlank = True .InCellDropdown = True .InputTitle = "" .ErrorTitle = "注意!" .InputMessage = "" .ErrorMessage = "選択項目にチェックを入れてください" .IMEMode = xlIMEModeNoControl .ShowInput = False .ShowError = True End With というマクロの AND(BP20=TRUE,BP20<>"""")" の部分の数字「20」を マクロを指令するセルの行番号とリンクさせたいのですが できますでしょうか?
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 少しぐらいならなんとか 【4 VBAでの回答の可否】 お願い a列に日付が 2006/1/1 2006/1/2 2006/1/3 といった感じでだら〜と続いています。んで月の第2金曜日の時に その横に*印を付けたいんですけど、VBAでどういう風に書けば良い んでしょ。教えてください〜。
78 :
名無しさん@そうだ選挙にいこう :2006/08/23(水) 20:24:43
まず条件で金曜日出して 次にmonthの日数を7で割って答えが1の時にってやればいいんじゃない?
>>76 できます。
「マクロを指令するセル」というのが76のオレ用語で意味不明ですが、
文字列とプロパティを繋げたいときは&で。
"文字列" & Range().Row
>>77 とりあえず何日が第二金曜日になるかを出すのは、Weekday関数さえ使えば
あとはExcelもVBAも関係ない算数の問題なので自分で考えよう。
*を付ける方法は、日付がA列の1行目から入ってるなら
Rabge(第二金曜日の日付, 2).Value = "*"
横ってのが隣のセルってことではなく、日付文字列の横ってことなら話は別だが
その辺の情報は隠してるので、こっちも知らん。
81 :
名無しさん@そうだ選挙にいこう :2006/08/23(水) 21:07:03
>>56 エクセル上で単にIMEの住所変換するだけでそのアドオンが必ず必要ということでしょうか?
82 :
名無しさん@そうだ選挙にいこう :2006/08/23(水) 21:20:11
わけのワカンネーやつが作ったファイルなんて気持ち悪くて ダウンロードできねぇよ >81 アドオン、アドオン、ってウルセーよ。自分で調べろ
>>83 あはは
お前実際に分からないのに何でこのスレに常駐してるんだ?
A B C D E 1りんご 赤い 橙 緑 みかん 甘い 酸っぱい 水っぽい すいか というデータが各セルに入っています A1はリストでりんご・みかん・すいかが選択可能になっていて B1には データの入力規則でリストを指定し 元の値には =INDIRECT(A1)と指定してあります C列の『赤い・甘い』は挿入→名前→定義でりんご D列は同様にみかん E列はすいかと名前を定義してあります。 こうすることで A列でりんごを選択するとB列で赤い・甘いをリストから選択する事ができるのですが A列でりんごを選択した後に、みかんを選択すると A1にはみかんが表示されるのですが B1には赤い・甘いのリストが表示されたままになってしまいます ここで質問なのですが A1でリストから他のデータを選択したときにB1をクリアすることは可能なのでしょうか?
>>85 リストにはF1:F2を設定して
それがA1の値によってC1:E2を参照するようにしてはどうでしょう?
【1 OSの種類 .】 WindowsXP Pro 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 VBA ファイル出力 上書き確認 Private Sub CommandButton1_Click() Const cnsTITLE = "CSVファイル出力処理" Const cnsFILTER = "CSVファイル (*.csv;*.dat),*.csv;*.dat" Dim xlAPP As Application Dim intFF As String Dim strFILENAME As String Set xlAPP = Application xlAPP.StatusBar = "出力するファイル名を指定して下さい。" strFILENAME = xlAPP.GetSaveAsFilename(InitialFileName:="作成ファイル.csv", _ FileFilter:=cnsFILTER, Title:=cnsTITLE) If StrConv(strFILENAME, vbUpperCase) = "FALSE" Then Exit Sub intFF = FreeFile Open strFILENAME For Output As #intFF Dim a As String a = Change() Print #intFF, a Close #intFF xlAPP.StatusBar = False MsgBox "ファイル出力が完了しました。" End Sub このように記述してファイルを出力しようとしています 同名のファイルがあった時に上書き確認を表示させたいのですが どのようなコードをどこに追加すればよいのでしょうか?
Const cnsTITLE = "CSVファイル出力処理" Const cnsFILTER = "CSVファイル (*.csv;*.dat),*.csv;*.dat" Dim xlAPP As Application Dim intFF As String Dim strFILENAME As String Dim flag As Integer flag = 1 Set xlAPP = Application xlAPP.StatusBar = "出力するファイル名を指定して下さい。" strFILENAME = xlAPP.GetSaveAsFilename(InitialFileName:="作成ファイル.csv", _ FileFilter:=cnsFILTER, Title:=cnsTITLE) If StrConv(strFILENAME, vbUpperCase) = "FALSE" Then Exit Sub intFF = FreeFile Set F = CreateObject("Scripting.FileSystemObject") Target = strFILENAME If F.FileExists(strFILENAME) Then If MsgBox("上書きする?", vbYesNo) = vbYes Then flag = 1 Else: flag = 0 End If End If If flag = 1 Then Open strFILENAME For Output As #intFF Dim a As String Print #intFF, 1 Close #intFF xlAPP.StatusBar = False MsgBox "ファイル出力が完了しました。" End If
90 :
87 :2006/08/24(木) 07:06:38
92 :
76 :2006/08/24(木) 09:54:13
>>79 =AND(BP20=TRUE,BP20<>"""")"
の部分を
=AND(BP&Range().Row=TRUE,BP&Range().Row<>"""")"
としてみましたがエラーが出てしまいました。
マクロの指令を出すときに、選択されているセルの行番号と
マクロのなかのBPのあとの行番号をリンクさせたいのです。
再度、アドバイスお願いいたします。
93 :
名無しさん@そうだ選挙にいこう :2006/08/24(木) 11:42:03
>>56 エクセル上で単にIMEで住所変換するだけでもそのアドオンが必要なのでしょうか?
94 :
名無しさん@そうだ選挙にいこう :2006/08/24(木) 13:09:33
教えてください。今マクロやってるんですけど、マクロで記憶したやつの流れを を繰り返したいんですけど、わかる人いますか?
95 :
名無しさん@そうだ選挙にいこう :2006/08/24(木) 13:15:05
教えてください。今マクロやってるんですけど、マクロで記憶したやつの流れを を繰り返したいんですけど、わかる人いますか?
よろしくお願いいたします。 【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 excel タブ 多段 excelで請求書管理をしているのですが、シート数が多く(一画面に入りきらない) なりすぎて難儀しています。 タブを多段にすることか可能でしょうか? また、そのように対応できるソフト等があれば教えてください。
97 :
名無しさん@そうだ選挙にいこう :2006/08/24(木) 15:27:00
>>93 第一点 IMEだけではどこのIMEか分からん どのIME使ってるか指定しろ
第二点 辞書を所持していてもセットに組み込んで読み出せる状態でないなら使えない
第三点 ATOKなら補助変換だが、読みは全角で入れないと変換できない。
98 :
名無しさん@そうだ選挙にいこう :2006/08/24(木) 15:30:07
半角英数固定から始めても変換可能みたいだよ、スレ違いみたいだけど。
エクセル2003を使って住所録を作成しているのですが、 1つのセルに文字数制限をつけて、 さらに住所の番地を半角を入力しても全角になるようにしたいのですが、 入力規則のところで簡単にできないでしょうか? お願いします。 例:●●市●●町5番地1-1 → ●●市●●町5番地1−1 ↑こんな感じに変換できて、さらに文字数制限が出来ればいいのですが・・・。
【1 OSの種類 .】 Windows98 【2 Excelのバージョン 】 Excel97 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【質問】マクロが終了するまで「処理中です。暫らくお待ち下さい」と表示できるようにしたい。 現在複数のブックから値をコピーして、集計用のブックに値を張付けるマクロを組んでるのですが 画面がチカチカして気分が悪くなることがあります。 とりあえずコードの最初と最後に画面の最小化と最大化で表示しないようにしたのですが 「処理中です。暫らくお待ち下さい」みたいな形で別の画面を表示させておくことはできないでしょうか? わかる方がいらっしゃったらよろしくお願いします。 Sub 集計変換マクロ() Application.WindowState = xlMinimized 集計変換処理 Application.WindowState = xlMaximized MsgBox ("集計変換が終了しました。" & vbCrLf & "CSVファイル名" & ALL_DAT & "です。") End Sub
101 :
名無しさん@そうだ選挙にいこう :2006/08/24(木) 16:36:25
複数のセル毎に、一つの文字しか入力できないようにするため、 入力規制→ユーザー設定→「=COUNTA($A1:$A4)=1」 と設定しているのですが、 この作業を合計100以上行いたいのです。 この方法だと、いちいちセル範囲を書き換えていかなければならないですし、 マクロを組んだ場合、 「=COUNTA($A1:$A4)=1」のセル範囲をどのように書き換えれば スムーズに行えるでしょうか?
>>87 MSIMEです
辞書は有効になってますテキストエディタで確認キチンと変換出来ます
エクセルだけで変換不能
追加です 全角入力にて作業してます
>100 フツーに処理の始めにUserFormXX.Show終わったら.Hideで良いんでね。 (ShowModalプロパティはFalseに汁) それと、チカチカするのはコピーしてペーストしているからだと思う。 ペースト先=コピー元 で直接代入すればチカチカしない。
>>101 入力規制→文字列→文字数を「1以下」でいいんじゃね?
>>101 面倒だが、1行目から4行目までは1行づつ設定しなければならない。
あとは4行選択して、下へオートフィル。
107 :
100 :2006/08/24(木) 18:07:27
>>104 両方組み込んでみて試してみます。
回答ありがとうございました。
>>100 セルデータ直はもちろんだが
サブルーチンの最初に
Apprication.Screenupdating = False
は入れているよな?
109 :
名無しさん@そうだ選挙にいこう :2006/08/24(木) 20:04:54
エクセルの関数で例えば、数値がA A A Aなら1 A A A Bなら2 A A A Cなら1と言ったようにAとBとCの個数によって返す値を変える ようにするにはどのような関数になりますか。色々と試してみたのですが 出来ません。教えてください。
110 :
SAGE :2006/08/24(木) 20:10:34
>>99 別セルでいいなら、=JIS(セルを指定)で全角にできる。
入力規則じゃたぶん無理
ってかテンプレ嫁
>>109 > どのような関数になりますか。
文字列解析と条件分岐と演算。
意味不明な例だけで、仕様を一切書いてないから
あとはご自分で考えましょう。
112 :
109 :2006/08/24(木) 20:42:38
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 例が悪くて申し訳ありません。 例えば、AAAAというAの個数が4個なら 点数が5点 AABBという組み合わせなら4点 ABBCという組み合わせなら3点 といったように複数のセルの中にあるA,B,Cの組み合わせによって返す値を 変える関数がわかりません。教えていただければ幸いです。説明が悪くて 申し訳ありません。
>>101 管理維持が大変だから単純に入力規則を設定するのをマクロでやりたいのなら
対象列・列の開始行・列の終了行を配列で指定して変数で文字列を生成する
"A1:A4"の部分を生成
"=COUNTA($A$1:$A$4)=1"の部分を生成
単純羅列なら
With Range("A1:A4").Validation
.Delete
.Add Type:=xlValidateCustom, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=COUNTA($A$1:$A$4)=1"
End With
注意とか以前にどういう基準で点が付くのかわからん
>>109 の頭の中では厳然としたルールがあるんだろう www
とんちなのか 1+1=3
>>96 多段はしらないけど
シート名の左側の三角をShift+右クリ
VBAが可なら簡易メニュー的なシートを一つ作って選択できるようにすれば?
複雑なのは無理としても、これは単純だから便利だお
フォームのボタンか図形にマクロ指定して
Sub 伝票1_Select()
Sheets("伝票1").Select
End Sub
エクセルでセルに 1億と入っていたら 数値化するにはどうしたらいいですか? 1億なら100000000としたいのですが
A30に=concatenate("TOTAL/",counta(A1:A29)) みたいに入ってるんだけど、 このtotal行、30の時もあれば、50の時もある、 を検索させて.rowの値を変数 ttlに入れたいのです。 どのように書けばよいでしょうか?
>>119 置換で"億”を00,000,000に変えてみたら全部いっぺんにかわるのかな?
でも単なる置換じゃうまくいかなさそう おそらくVBAでセルに億って入ってるのを検索して、億を””に置換して 1億倍の数字を掛けるみたいな、そしてそのセルの書式を”億”に変えるみたいな。 そうすると元通りにも出来るし、全部数字で10000000みたいにも出来るみたいな。 マクロなら一発だろうけど、俺みたいな馬鹿にはわからん。
セルのプロパティで同じようにロック設定をしても シート保護をした際にロックできているセルと ロックできないセルがあります。なぜでしょうか。
OSはXPsp2でexcel2003です。 シート印刷時にページが複数枚になる場合 「ファイル」→「ページ設定」で「シート」の「列のタイトル」に 表示したい列を書けば全ページで反映されますが、これを特定のページのみ無くしたい場合はどうすれば良いでしょうか? 例えば3枚印刷のうち2枚目だけ反映されないようにする事って出来ますか? よろしくお願いします。
UserFormで指示画面つくってマクロで印刷
ワンペア・・・3点 ツーペア・・・4点 フォーカード・・・5点 違うかなぁ
127 :
名無しさん@そうだ選挙にいこう :2006/08/25(金) 05:45:53
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン .】 Excel 2002 SP3 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否 】 可 【5 検索キーワード 】 VBA マクロ カット ペースト 全角五文字が入ってるセルを選択して実行すると、最初の三文字をそのセルに残して 残りの二文字をカットして右隣のセルにペーストするマクロを作りたいのですが、 VBA初心者のため分かりません。どうかよろしくお願いします。
>>127 右隣のセル.Value = Mid(そのセル.Value, 4)
そのセル.Value = Left(そのセル.Value, 3)
129 :
名無しさん@そうだ選挙にいこう :2006/08/25(金) 11:35:30
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 データをエクセルに変換した際に日付が 20060825 20060826 20060827 (↑文字列から数値の変更はできます。) としか変換できないのですが、これを一括で 180825 180826 180827 もしくは 060825 060826 060827 のように変換できる関数は無いのでしょうか?
130 :
名無しさん@そうだ選挙にいこう :2006/08/25(金) 11:53:15
>>129 20060825 → 180825 なら、1880000をマイナスする。
20060825 → 060825 なら、2000000をマイナスして、text関数で書式指定
1880000は19880000だった。
132 :
名無しさん@そうだ選挙にいこう :2006/08/25(金) 12:05:49
VLOOKUPとHLOOKUPでFALSEとTRUEの使い分けの方法がわかりません。 参考書とかぐぐったりしたけど、理解できなくて・・・ 一目瞭然簡単な使い分け方を教えてください!
>>129-131 全部text関数で出来る。
A1に変換対象の日付データがあるとして
060825 にするには =TEXT(A1,"yymmdd")
180825 にするには =TEXT(A1,"eemmdd")
134 :
129 :2006/08/25(金) 12:32:06
135 :
名無しさん@そうだ選挙にいこう :2006/08/25(金) 13:03:45
【1 OSの種類 .】 WindowsXPhome 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 excel グラフ 2変数 (1,20), (5,25), (20,30), (50,60)の4点を結ぶ折れ線描くにはどうすればいいのでしょうか。 1,5,20,50 20,25,30,60 を選択して折れ線を書くと横軸が一定(1,2,3,4)で2本の折れ線ができてしまうのですが。 VBAでしか実現できないのであれば、VBAでもかまいません。
>>135 グラフの種類を「データポイントを結んだ散布図」とかにすればいいんじゃね?
>>132 完全に一致する値しか許さないのがfalse
近い値でもまあいいか、と許すのがtrue
>>123 新しいブックでもそうなるならExcel再インストロールしたほうがいいかも
そのブックのそのセル範囲だけだったらどっかに違いあるんじゃないの
>>120 たぶんセルA1選んで[ctrl]+[↓]で選べる範囲だろうから、
そうすると
ttl=range("A1").end(xldown).row
でいいんじゃね?
140 :
124 :2006/08/25(金) 14:00:59
>>125 マクロとかあまりわからないので、もっと簡単にやる方法ってないでしょうか?
シートが10枚くらいあり印刷時のサイズなどは一緒なのですが、
列を表示する、しないはシート毎に異なるので
出来ればそれに対応出来る機能ってないんでしょうか?
シート1は2枚目だけなし。シート2は3枚目だけなしって感じです
よろしくお願いします。
ないのう。 紙のほうに新聞紙でも貼るしかないのう。 それかいったん無しで印刷して、あとからもう一度 その紙に見出しだけ印刷するとかかのう。
142 :
135 :2006/08/25(金) 14:43:16
143 :
96 :2006/08/25(金) 15:21:11
>>118 VBAは全くいぢったことがありませんが、便利そうなので頑張って
勉強してみます。
ありがとうございました。
144 :
100 :2006/08/25(金) 16:07:36
>>104 >>108 昨日は回答ありがとうございました。
でもエクセルのバージョン97と古いためか両方ともできませんでした。
104さんの
>>(ShowModalプロパティはFalseに汁)
なんですがエクセル97のユーザーフォームプロパティの動作項目にはShowModalが存在せず
108さんの
>>Apprication.Screenupdating = False
コードの頭に持ってきたのですが反応せず、本当に命令が実行されてるか
Apprication.Screenupdating = False
stop
と止めてコード上にマウスを当てて値がどうなってるか確認したのですがtureと何故か表示されます
現在の状態
Sub 集計変換マクロ()
Application.ScreenUpdating = False
Stop
'Application.WindowState = xlMinimized
UserForm1.Show
集計変換処理
UserForm1.Hide
Application.ScreenUpdating = True
'Application.WindowState = xlMaximized
MsgBox ("集計変換が終了しました。" & vbCrLf & "CSVファイル名" & ALL_DAT & "です。")
End Sub
会社の環境では97を使うしかなく他に回避方法がありましたらよろしくおねがいします。
145 :
名無しさん@そうだ選挙にいこう :2006/08/25(金) 19:00:03
>>137 falseとtrueの件、ありがとうございました!
数式の入った列をコピーして挿入すると、 数式が参照するセルもズレてしまいます。 形式を選択で数式を選択してもズレてしまいます。 ズレないようにペーストする方法はありますでしょうか。
>144 UserForm使った方がアプリっぽくてカックイイかなと思っただけで、 別にエクセルのシートに「只今処理中。。。」とか書いといて それをMAX表示(コピー元コピー先はMIN表示) しておけば同じ訳で、ScreenUpdatingは、チットは速くなるだろ というオマジナイだから、要はコピーするたんびに ActivateとかSelectionとか使わなければ桶。
148 :
名無しさん@そうだ選挙にいこう :2006/08/25(金) 21:40:11
【1 OSの種類 .】 WindowsMe 【2 Excelのバージョン 】 ??どうやって調べるのかわかりません。。ごめんなさい。 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 簡単な表を作って各セルの書式や計算式を設定しました。 表の右端のセルでエンターを押すと自動的に次の行ができて、 次の行の左端のセルに移動するように設定するにはどうしたらよいのでしょうか?? よろしくお願いします。
150 :
146 :2006/08/25(金) 22:45:13
>>148 (1)
数式が入力されてるセルをオートフィルしたいのです。
$A$10 というようにしてしまうと、オートフィルしたときに
$10 の方が$11 にならないのでこれは困ってしまうのです。
(2)
ちなみにオートフィル機能をショートカットで使う方法はありますでしょうか。
Excel ショートカット オートフィル でぐぐったのですがわかりませんでした。
指の関節が腱鞘炎になりかけていて、キー入力はまだいいのですが、
マウスのボタン操作が痛いのです。
(1)(2)がわかるとかなりありがたいのですが。
よろしくお願いいたします
151 :
名無しさん@そうだ選挙にいこう :2006/08/25(金) 22:58:42
>>150 絶対参照と相対参照を調べりゃスグわかる
$ ← これがポイント
>>150 1.$A10
2.Alt+E > I > S か マクロ
153 :
146 :2006/08/25(金) 23:45:16
>>152 ありがとうございます!
> 1.$A10
灯台下暗しでした。わからずに時間ばかり経ってしまっていました。
> 2.Alt+E > I > S か マクロ
メニューとか殆ど使ったことがなかったので、ググってしまいました。
メニューを注意深くみればよかったのですね。すいません。
マウスを掴む回数が減ると本当に助かります。
本当にありがとうございます
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 100円+200円=300円というような 文字を含んだセルの、数字部分の足し算をすることはできないでしょうか? 指定したセルから数字を抜き出し、計算した後その数字を返し単位をつける・・・ とか考えたのですが思うようにいきません。 実際の作業の中では、相手から受け取ったデータを計算して出力するという流れです。
>>149 自動的に罫線を引きたいの?(あるいは書式を設定しないの?)
156 :
149 :2006/08/26(土) 00:43:18
>>155 自動的に罫線も引きたいですし、書式も引き継いでほしいです。
一つ上の行の書式や計算式を引き継いだ行が自動的に増えるようにしたいのです。
わかりにくくてすみません。
>>154 ユーザー書式設定で
#,##0"円"
では?
>>156 入力前に余分にオートフィルやコピペしとけばいいんじゃないの?
158 :
154 :2006/08/26(土) 01:02:45
>157 相手から受け取ったデータには、円をつけて入力してあり 自分はそれらの値を整理して合計を出して送り返します。 そこで、作業を単純化するために関数を入力したシートを用意し 受け取ったデータを貼り付けたら合計が出るようにしました。 数字のみであれば合計した金額が出るのですが、円などの文字列が あったら空白のままになってしまいます。 ユーザー定義で、単位を設定してみましたが無理でした。 うまく説明できなくてすみません。
>>158 では、"円"を置換して全て消してはどうですか?
その上で"円"がいるのであれば、書式設定で #,##0"円" にすればいいかと。
160 :
名無しさん@そうだ選挙にいこう :2006/08/26(土) 02:07:32
161 :
名無しさん@そうだ選挙にいこう :2006/08/26(土) 03:04:34
データの張り付けをしようとしたとき、『クリップボードを空にできません』というメッセージがでて張り付けることができません。どうしたら解決できるかおわかりになる方いましたら教えてください。
>>161 会社でそういう状況になったのですか?
それとも今その状況なのですか?
PC立ち上げ直してもダメですか?
163 :
124 :2006/08/26(土) 04:57:05
>>141 遅くなりましたがありがとうございます。
わかりました。
結合してしまったA1,A2のセルを上下に分割するときはどうすればよいですか?
解除すればいいと思うけど・・
166 :
164 :2006/08/26(土) 07:40:54
言い方が悪かったです。 A1のセルをA1,A2のように上下に分割するときはどうすればよいですか?
B1とB2、C1とC2・・・・A以外を必要なだけ結合 1行目と2行目の行の高さを半分 でいいのかな?
すみません、ひとつのエクセルファイルの中で2個のワークシートを使っているのですが、 一枚目のワークシート(Worksheet1)に二枚目のワークシート(Worksheet2)のひとつのセルを 同期させたいのですが・・・。 同一ワークシート内では =B19 などと書けばいいのだと思うのですが、別のワークシートのセルを持ってくるにはどういう風にすればいいのでしょうか? お願いします。
>>168 =を押したあとに下のタブでワークシートを切り替えてセルを選択したらわかる。
170 :
149 :2006/08/26(土) 10:02:56
>>157 そうします。
ありがとうございました。
171 :
名無しさん@そうだ選挙にいこう :2006/08/26(土) 11:32:33
>>154 数字の抽出
=LEFT(A1,LEN(A1)*10-SUM(LEN(SUBSTITUTE(A1,{0,1,2,3,4,5,6,7,8,9},))))
計算結果に単位を付ける
数式でする場合 : A1+B1&"円"
書式設定の場合 : 0"円"とか#,##0"円"
【1 OSの種類 .】 Windows2000またはxp 【2 Excelのバージョン 】 Excel2000または2003 【5 検索キーワード 】 Yahoo 地図情報 貼り付け HTML形式 Yahoo地図情報の地図をコピーしてExcel(2000/2003)上にペーストすると 表示されている図を選択できなくなり、移動や削除が出来ないのですが、何故でしょう。 「形式を選択して貼り付け」で、ビットマップを選べば大丈夫なんですが HTMLがデフォルトになっているみたいで、これで貼り付けをすると前述の症状になります。 ちなみにWordで同じ操作をしても、きちんと削除できます。 整理するとこんな感じです。 Yahoo地図情報の地図画像 → HTML形式でExcelに貼り付け = 削除不可 それ以外の画像 → HTML形式でExcelに貼り付け = 削除可 Yahoo地図情報の地図画像 → HTML形式でWordに貼り付け = 削除可
面白い事に気がついたね、今までもこんな症状あったのかな オレはいつもBMPで貼り付けてたから関係ないわ それじゃ、お元気で!
>>172 普通に貼り付けると「HTMLImageコントロール」っていう普通の
画像とは違う物として認識されるみたい。これってVBAで使う
Pictureコントロールのweb対応版って感じの奴なのね。
初めて知った。
だからふつうの操作だと選択できなくなる。Pictureコントロールも
おんなじ。ってことは、Pictureコントロールを移動させたりする
時と同じように、「デザインモード」にしてあげると選択とか削除も
できるよ。
デザインモードへの移行は[ツール]-[ユーザー設定]で
[デザインモードの終了]出して、そのボタンで切り替えられるよ。
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 マクロを切り張りするぐらい
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 vba 選択範囲
・やりたいこと
選択しているセルが、特定の範囲内の場合(B2:E5)にマクロを実行すると、そのセルを赤なる。
ttp://t_shun.at.infoseek.co.jp/My_Page/Excel-VBA/vba_page6.htm 選択範囲についての解説はありますが、選択範囲の条件は(よくわかんなかった・・)
試しにで作ってみたけど動作せず
If ActiveCell >= Range("B2:E5") Then
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
End With
End If
End Sub
おねがいします。
>>174 ふつうの操作だと選択できなくなるというよりは
イベントを拾うようになるだけなんだがね。
>>175 Row、Rows.Count、Column、Columns.Count等で条件分岐、
又は、Intersectの戻り値判定
それと試すのもいいが、当てずっぽうは止めとけ。
試すんなら、少しは調べて多少なりとも根拠のもてる方法を試せ。
オマエはその1行目の条件式、オブジェクトのメンバも指定せず
不等式を書いた意味を説明出来るのか?
Sub aaa() Target = ActiveWindow.RangeSelection.Address Set IRe = Application.Intersect(Range(Target), ActiveSheet.Range("b2:e5")) If IRe Is Nothing Then Else With IRe.Interior .ColorIndex = 3 .Pattern = xlSolid End With End If End Sub
178 :
172 :2006/08/27(日) 11:31:07
>>174 デザインモードで出来ました。
ちょっと複雑に作り込んだシートにうっかり貼ってしまって
地図以外のすべてを他のシートにコピペして凌いでいたのですが
解決方法がわかって助かりました。
ありがとうございます。
指定した範囲から特定の値を検索し、それに一致したセルの数を返すにはどのようにすればよろしいでしょうか? 例: 0 1 1 1 0 0 0(A1〜G1と仮定します) 0の数・・・4(←ここをどう処理するか) 1の数・・・3 よろしくお願いします。
>>180 解決しました。ありがとうございました。
ステータスバーの上のファンクションキーの説明バー?が消えてしまったんですけど、 どうすればまた表示させられるのでしょう? EXCEL2003です。
183 :
名無しさん@そうだ選挙にいこう :2006/08/27(日) 17:40:21
オススメの問題集ってないですか・・・?
184 :
名無しさん@そうだ選挙にいこう :2006/08/27(日) 18:49:51
FOM
EXCEL2000での質問なんですが A1のセルに、ある数字が入っているとして B1:C3の範囲の中で、A1の数字より大きいものの個数を 探すにはどうしたらいいでしょうか。 =COUNTIF(B1:C3,">A1")という式を作ったのですが 検索条件にはセルの参照ができないようで困ってます。
186 :
名無しさん@そうだ選挙にいこう :2006/08/27(日) 23:36:10
EXCEL2003での質問です。 ピボットテーブルのタブをリストのタブみたいにいろいろ検索条件を 指定できる方法なかと?
Excel2003をXP2でつかっています。 突然エクセルを起動しようとすると メモリが不足しています。他のアプリケーションを終了してからもう一度行ってください。 とエラーメッセージが出て起動できません。 VBAのあるなし関係なくシートから起動しようとしても 本体からもどちらも無理です。 メモリ自体は(これまでも同じ環境だったので)十分あまっているようなのですが・・・ 検索もしてみましたが同じような状況のものは見つかりませんでした。 どうしたらよいのか・・・どなたか教えてください!
>>185 検索条件にはセルの参照ができないのではなく
検索条件でセルの参照を使う方法が解ってないだけ。
A1は文字列ではなく参照なんだから、文字列を指定するための""で囲っちゃダメ。
そして文字列、参照、数式の戻り値などといった別々の値を連結する場合は&。
>>186 VBAで出来ますよ。&
>>3 ★注意1
>>187 >>2 ・6
まあ物理的に問題があったらOSすら起動できないだろうから、
おかしくなってるのはシステムだけで、OS再インスコすれば直ると思うが。
それが嫌なら
>>2 にあるとおりMSに聞いて。
189 :
185 :2006/08/28(月) 09:53:36
>>188 でも""をつけないとエラーになるんですが・・・
非常に困っています。
>>189 君が間違ってなければエラーにはならないよ。
もしかして=COUNTIF(B1:C3,>A1)とかやってるんじゃないの?
俺は「A1」を参照として使いたいなら「A1」の""を外せとは言ったが
「>」の""まで外せと言った覚えは無いぞ。ちゃんと連結の仕方も書いたし。
横槍スマソ 俺も苦労した事があるんだわこれ 簡単なようで実は結構高度な知識だと思う =COUNTIF(B1:C3,">"&A1)
192 :
185 :2006/08/28(月) 10:36:55
うおお。。。できました。
>>190 >>191 ありがとうございます。
EXCELの本やネットで調べたんですが、載ってなかったです…
>>191 さんに答えを書いてもらわないと、わからなかったかと思います…
なにせ =IF(B6>10,"あ","い") みたいなものは成立するものですから
なぜCOUNTIFでは連結する必要があるのか、よくわかりません。。
193 :
名無しさん@そうだ選挙にいこう :2006/08/28(月) 11:12:04
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 rank small A1=1.1 A2=-0.9 A3=1.3 のとき、A1:A3の中で2番目に小さい値は =SMALL(A1:C1,2) で求まるのですが、A1^2, A2^2, A3^2の中で2番に小さい値を求めるには どのように入力すればいいのでしょうか。 可能であればA1^2, A2^2,...,Ak^2の中で2番目に小さな値を求める 式を教えてください。
>>193 =SMALL(A1:C1^2,2)と入力して[ctrl]+[shift]+[enter]で
配列数式にすればいけるよ。
{=SMALL(A1:C1^2,2)}こんな感じになる。
195 :
193 :2006/08/28(月) 11:23:00
配列数式にしなくても=SMALL(A1:A3,2)^2でいいじゃん。 正数の二乗なら、対象値の順位は^2の前でも後でも変わらないだろ。
197 :
193 :2006/08/28(月) 11:52:41
>>196 負の数も含むのでそのやり方だとうまくいかなかったです。
>>194 を使って、A1^2が2番目に小さいときに色をつけるために
条件付き書式設定で
数式が =A1^2={SMALL(A1:A3^2,2)}
としたのですが、エラーになってしまいます。
もっと一般的に (A1-1)^2, (A2-1)^2,...(Ak-1)^2の中で2番目に小さい数値に
色をつける方法を教えてください。
>>193 が分れば自分で出来ると思ったのですが、うまくいかないのでお願いします。
情報が小出しで申し訳ないです。
やりたいことは、A1,...,Akの中で1との誤差が2番目に小さいものを知りたいです。
>>197 配列数式の答えをどこかのセルに出しておいて、
条件付き書式はそのセルの値と同じだったら色を付ければいいんでない?
またまた条件後出しで、作業セルは使いたくないとか言い出しそう。
というか、
>>197 の式、{ }を外して参照をきちんとすれば、、、
200 :
197 :2006/08/28(月) 12:14:14
>>198 ありがとうございます。
A1^2, A2^2,...,Ak^2の中で2番目に小さな値についてはそのやり方で出来ました。
(A1-1)^2, (A2-1)^2,...(Ak-1)^2の中で2番目に小さな値を求めるための
配列数式はどうすればいいのでしょうか。
201 :
197 :2006/08/28(月) 12:16:07
202 :
名無しさん@そうだ選挙にいこう :2006/08/28(月) 14:53:50
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 文字列同士で2つのセルの文字を合体させたいのですが可能でしょうか? また、その文字間のスペースを取り除くことは可能でしょうか? 例) セルA1 東京都 豊島区 セルB1 池袋 1-1 だとA1とB1を合わせて最終的に 東京都豊島区池袋1-1 という風にしたいのですが・・・
203 :
202 :2006/08/28(月) 14:55:26
>>202 に追記で申し訳ありませんが
何千行もあるので一気にできる方法があれば
教えて頂きたいのでお願い致します。
=SUBSTITUTE(A1&B1," ","")
205 :
202 :2006/08/28(月) 15:59:24
>>204 ご回答ありがとうございます。
A1とB1の文字は合体させることができましたが、
A1の「東京都」と「豊島区」 B1の「池袋」と「1-1」の間のスペースを
消す方法はないのでしょうか?
>>203 =CONCATENATE(TRIM(SUBSTITUTE(SUBSTITUTE(A1,"_",""),"_","")),TRIM(SUBSTITUTE(SUBSTITUTE(B1,"_",""),"_","")))
アンダーバー( _ と _ )は、それぞれ半角スペースと全角スペースに置き換えること。
=CONCATENATE(A,B) AとBを結合 =TRIM(SUBSTITUTE(A,"あ","い")) セルAの中の「あ」を「い」に置き換える ↓応用 =TRIM(SUBSTITUTE(SUBSTITUTE(A,"あ","い"),"う","え"))) セルAの中の「あ」を「い」に置き換え、更に、「う」を「え」に置き換える
208 :
202 :2006/08/28(月) 16:13:29
>>206 大変助かりました。ありがとうございました。
失敬、これでいけたわ。
>>204 横からサンクス
=SUBSTITUTE(SUBSTITUTE(A1&B1," ","")," ","")
210 :
202 :2006/08/28(月) 16:16:08
211 :
204 :2006/08/28(月) 16:17:58
>>205 >202の例でスペースが取り除かれるのを確認してから書き込んでいる。
それ以上の後乗せサクサク条件は、知らん。
【1 OSの種類 .】 Windows98とXP 【2 Excelのバージョン 】 Excel97と2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel 文字列 結合 不特定、Excel 文字列 結合 202の方と似ているのですが、 2つだけでなく行の文字列全てを結合させる事は出来ませんか? A B C D E F G 1 あ い う え お 上の様にシート1の1行目に不規則に入っている文字列(今後増える予定有)を A1だけを無視してシート2のA1に一括表示させたいです。 (例だと"いうえお"と表示される事になります) ここでは簡略化していますが、 本来の文字列は英数字・漢字・ひらがな・カタカナ全て混ざった物で、 A1に入る物は合計や商品名のような特定の題字になります。 出来ればお願いします。
=CONCATENATE(B,C,D,E,F,G) Aを対象に入れなければ良いだけかと。
>>212 >>5 > ★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)
> ▼数式・関数
> ・ 範囲を引数にしての文字列連結 (ユーザー定義関数)
ここに書いて有るとおり、「行」という範囲を指定しての結合はVBA使わないと出来ない。
因って君のVBA否という条件では、回答は「不可能」だ。
範囲ではなく一つ一つを結合していけば、結果としてはお望みの形になるがな。
=CONCATENATE(B1,C1,D1,E1,F1,G1)
=B1&C1&D1&E1&F1&G1
これでもちゃんと"いうえお"と表示されるはず。
>>212 めんどくさくてケツ毛がすべて白髪になる程の量じゃなければ
CONCATENATE関数で地道につないでけばいいんじゃない?
シート1のAA1にでも
=CONCATENATE(B1,C1,D1,E1,F1,G1,H1,...Z1)
とかして、シート2のA1には
=Sheet1!AA1
とかすればそれほど見にくくもないんじゃないかな
ありがとうございます。 今はまだ量が少ないのですが、今後3ケタ以上に増えて行く予定なので 一括で出来たらよかったと思ったのですが、作業列が無いと無理みたいですね…。 増えて行く毎に地道に頑張ります。
100のセルに対しては99の計算セル(2つは手入力、残りの97つは数式のコピペ)でいけるが、それでやるかい? 労力は少なくて済むけど、スマートじゃない。 A B C D E・・・・・・V W X Y・・・・ V に・・・ =(B&C) W に・・・ =(V&D) X に・・・ =(W&E) ←Wの数式をコピペ、以下同じ
>>212 Sheet2のA1に =IV1、A2に =""&Sheet1!B1、 A3に =B1&Sheet1!C1
A3を選択してIV1までオートフィル。
1行目を選択して、好きな行数だけコピペ。
ただしメモリ不足になっても関知しない。
エクセルの棒グラフをWEB保存し、gifファイルにしますが かなり圧縮されているためでしょうか、グラデーション部分が 非常に汚い画像として保存されてしまいます。 棒グラフを、もう少し綺麗な画像で保存、もしくはjpgでの保存は 出来ないのでしょうか? どなたかご存知の方、ご教授お願い致します。
>>219 webページを保存するときの[名前を付けて保存]ダイアログの右上の方に
[ツール]ってとこがあるので、そこから[webオプション]ってのを選んで、
[ブラウザ]タブの[オプション]の「PNGをグラフィック形式として使用する」
にチェッキングすればPNGで書き出せるよ。
必要なぐらひくフィルタの入ってるExcel2003の話なのだけれどもね。
221 :
219 :2006/08/29(火) 13:23:58
220様 ご指南の通りに行いましたら問題解決しました。 大変有難う御座います。
222 :
名無しさん@そうだ選挙にいこう :2006/08/29(火) 20:15:03
これを書くと答えが得られやすい マルチなのは承知の上教えていただけたらと思います。 マルチなのは承知の上教えていただけたらと思います。 マルチなのは承知の上教えていただけたらと思います。
223 :
名無しさん@そうだ選挙にいこう :2006/08/29(火) 20:41:46
uzee
224 :
名無しさん@そうだ選挙にいこう :2006/08/29(火) 21:24:18
最近使い始めたので、説明ができないのですが、 あるセルの数値を変更した時に、その隣のセルに変更した日付を自動的に更新 するようにはできませんか? そのセルをいつ更新したかを管理したいのでお願い致します。
できます
226 :
名無しさん@そうだ選挙にいこう :2006/08/29(火) 21:36:40
225様 どのように手順で行えばよいのでしょうか? 宜しくお願いします。
>>226 隣のセルにやらないといけないかは知らないけど
『ツールー変更箇所の記録』
て機能があるよ、変更したら自動的に日付とコメントが入る
=COUNTIF(A$1: A$11,">10") =COUNTIF(A$1: A$11,">20") =COUNTIF(A$1: A$11,">30") 〜 =COUNTIF(A$1: A$11,">300") という連続したセルを作りたいのですが、 ">10"の部分がオートフィルしても">10"のままで変わらないのですが、 手入力しないとダメでしょうか
229 :
228 :2006/08/30(水) 00:42:43
>>191 を今読みました。別セルに連番振って参照でやってみます。すいません
230 :
名無しさん@そうだ選挙にいこう :2006/08/30(水) 02:01:35
余りってどうやって計算するの? たとえば 8を3でわったときの余りは2なんわけだけどどうするの?
MOD(8,3)
232 :
名無しさん@そうだ選挙にいこう :2006/08/30(水) 02:19:30
遅いのにありがとうございます。
>>226 コメントでよければ
>>227 さんの方法で。
あくまで隣のセルに表示したいのであればVBAを使う
> 最近使い始めたので、説明ができないのですが、
これが気になるが、
シート名のタブを右クリ>コードの表示
以下のコードを貼り付けて、A列の内容を変更するとB列に今日の日付が表示されます。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then '1はA列
Target.Offset(, 1).Value = Date '1は変更したセルの1つ右隣
End If
End Sub
234 :
名無しさん@そうだ選挙にいこう :2006/08/30(水) 07:03:33
227様 233様 ありがとうございます。少し難しそうでが、やってみます。 ご説明ありがとうございました。
>>228 頭にアポストロフィーを付けて文字列として入力
データ→区切り位置→完了
236 :
初心者 :2006/08/30(水) 09:17:33
>>235 すご・・・
EXCELはコツ覚えたら、いろいろできて楽しそう。
237 :
ゴン :2006/08/30(水) 11:27:43
【1 OSの種類 .】 Windows98 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル コンボボックス コントロールタブ 初めまして宜しくお願いします。 質問:コンボボックスのコントロールの書式設定のタブにコントロールのタブが ないので、入力範囲が選択できずデータがコンボボックスに、入りません。 どうすれば、コンボボックスにデータを入れられるのでしょうか? ご教授願います。
Vistaで、Excel2000/2003は動作しそうですか? また、Excel2000/2003から2007に移行する場合、既存のVBAプログラムは 大幅に書き直す必要がありますか?
>>237 プロパティのListFillRange
フォームツールではなくコントロールツールの方は
本当はVBAから使う物なので、AddItemで追加するのが基本だがな。
初心者向けにListFillRangeとかLinkedCellとかのプロパティもある。
>>238 >>2 ・6
そういう動作環境とか互換性とかはMSに聞いて。
その辺の情報が公開されてるなら、自分で調べればいいだけだが
公開されてないから聞きに来たんだろうし、公開されてないならMS以外誰が知ってるってんだ?
まあ、どちらもほぼ答えは確定しているがな。
240 :
名無しさん@そうだ選挙にいこう :2006/08/30(水) 14:26:24
【1 OSの種類 .】 WindowsXPpro2002 SP2 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 文字数制限 多くの文字が入力されたセルを別のブックへリンクする際、元となるブックが 開いている間は問題ないのですが、元のブックが閉じている場合は、全角255 文字しか表示されません。ただし、そうなってからでも元のブックを開けば、 256文字目以降も表示されます。 これでは意味がないのですが・・・。 リンク元のブックが閉じていても、一つのセルで255文字超表示させるように するにはどうしたら良いのでしょうか? ご教授下さい。お願いします。
>>240 CreateObjectでExcel.Applicationのインスタンス作ってそっちから値を取得する。
厳密に言えば内部的にブックを開いてることになるが、表示は一切されないし、
開かないと256文字以上取得出来ない仕様なんだから仕方ない。
すみません… 12シート分の個人情報を集計しているのですが。 一人一人に決まった有効期限があり、その有効期限で人数を集計したいのですがよくわかりません…。 例えば8月1日〜31日までの有効期限の人数を確認したい場合はどうしたらいいのですか? すみませんがよろしくお願いします
243 :
238 :2006/08/30(水) 15:53:12
MSのExcel2003関連ページを見ても、Vistaについては書いてない感じです。 βで動かした人の情報があれば、うれしいです。 また、Excel2007βで下位バージョンVBAの移行テストした方の 情報を教えて頂ければと思い、カキコいたしました
(省略されました・・全てを読むにはここを押してください) 「ここ」を押しても空白だけだとちょっと、ムッとします。
245 :
名無しさん@そうだ選挙にいこう :2006/08/30(水) 18:00:37
246 :
240 :2006/08/30(水) 20:20:47
>>241 そうですか、やはり仕様なのですね。
教えていただいた方法でやってみます。
アクセスからデータを飛ばしてまして・・・。
同時に他の方法も考えてみます。
ありがとうございました。
無駄な改行なんてするから いじわるな答え方されるんだよ
248 :
名無しさん@そうだ選挙にいこう :2006/08/30(水) 21:33:28
001、002・・・・という順番に列をしたいのですが可能でしょうか? excel2003使用です
テンプレ嫁
250 :
248 :2006/08/30(水) 22:12:06
>>249 読んだけど、使用OSとか関係ないし、
質問用テンプレは使わなくてよい、と書いてるじゃない
それでも、ダメならメンドいからよその板できくよ
>001、002・・・・という順番に列をしたい 日本語が変。きちんとどうしたいのかを説明できてない。
2chに期待しすぎだな
253 :
名無しさん@そうだ選挙にいこう :2006/08/30(水) 23:09:59
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 抽出 2番目シートにCSVデータを取り込んで、たとえば以下のようなデータがあるとします。 注文番号 購入商品 223 みかん 223 りんご 224 みかん 225 ハイライト 226 みかん 226 りんご 227 みかん これを1番目のシートで 223 の注文番号で購入した顧客が 何を購入したかというのを1作業(注文番号を入れるだけ)で表示させるにはどうすればよいでしょうか? vlookupを使っても表示されるのは1行目のみかんだけだと思うので、 何か解決策があればご伝授頂ければ幸いです。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 「Excel 関数 コピー」 関数を入力したセルをコピペしても、なぜか計算してくれません(´・ω・`) コピーしようとしているのは「=PERCENTRANK(C$2:C$11,C2)」ですが、他の関数で試しても同様でした。 これを入力したセル(E2)ではきちんと値を返してくれますが、他のセル(E3〜E11)にコピーすると、最後のC2がC3〜11に変わりはするものの、C2のときの値が表示されます。 以前はこんなことなかったと思うのですが……。ご教授お願いします。
>>254 F9押して再計算されるなら
「ツール」「オプション」「計算方法」「自動」
すみませんが、助けてください。 A列とC列を足し算して、答えをF列に書かせるにはどうしたらいいですか? 380行くらいあるので、全部いっぺんに自動的にやらせたいです。
>>256 f列の回答が入るところをマウスで全部選択。
一番上のセルに(2行目にデータが入ってる場合f2に)
=a2+c2
と入力して[Ctrl]+[Enter]
>>257 できましたー!
ありがとうございました。感涙。
>>255 出来ました。ありがとうございました。
見過ごしていたようで、本当にすいません。
260 :
名無しさん@そうだ選挙にいこう :2006/08/31(木) 02:26:27
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 「Excel VBA マウス クリック」 ボタンをシートに配置。そのボタンをクリック ↓ フォームが開く ↓ フォーム内の「OK」というボタンをクリックするまで、 マウスで左クリックしたセルを「黒」で塗る。 もし、「黒」だったら、「白」で塗る。(消去) できない。。宜しければどなたか教えて下さい。
>>260 何がしたいか分からん
何をどこに配置するかしっかりかけ
>>261 アホ?
>何がしたいか分からん
フォーム内の「OK」というボタンをクリックするまで、
マウスで左クリックしたセルを「黒」で塗る。
もし、「黒」だったら、「白」で塗る。(消去)
>何をどこに配置するかしっかりかけ
"ボタン"を"シート"に"配置"
263 :
253 :2006/08/31(木) 02:58:38
なんとか自己解決しました。 使用した関数は、vlookup,index,match,dcounta です
あとif
判るだろw つーか、丸投げで教えろってか? それなら、VBAでココまでできましたけど・・・位の気持ちもない奴には(ry
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 x軸の設定 散布図 散布図を使い日をまたいで、お客さんがどの程度来ているかというのをグラフにしたいのですが x軸を 21時 22時 23時 24時 1時 2時…という風にしたいのですが グラフにして表示するとx軸が1時2時〜24時という風に出てしまいます。 24時が中心に来るようにするにはどうすればよいのでしょうか
267 :
誰か教えて :2006/08/31(木) 05:02:37
Excelに画像を挿入する時に、 最初からサイズを指定しておくってのはできないのかな。 誰か教えてくれませんか
>>266 日付を変えればいいだけじゃん。
>>267 画像を直接貼るんじゃなくて、
イメージオブジェクトを配置しておいて、
そいつに画像読ませればいいと思うよ。
具体的なやり方は自分で調べよう。
今、エクセル2003をインスコしたんだけど、数式バーの=が無いだけど、 これを表示するにはどーすれば良いでしょうか
>>270 ユーザー設定→コマンド→挿入
=の挿入
これを適当なツールバー(数式バーの上ぐらい)にドラッグ
これで我慢してね
273 :
名無しさん@そうだ選挙にいこう :2006/08/31(木) 10:50:59
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel UTF Unicode CSV UTF-8のCSVファイルを開くと文字化けが発生してしまいます。 文字コードはどこで指定すればいいのでしょうか。 保存の仕方はあったのですが 開く際の指定が見つかりませんでした。
>>273 [データ]-[外部データの取り込み]あたりから読み込むと文字コードが指定できたと思うy
>>275 そんな事でバージョン戻すなって
無いものは無いんだもの
277 :
名無しさん@そうだ選挙にいこう :2006/08/31(木) 15:35:35
質問です たとえば =FLOOR(D6,"0:30")-D7-D8-D9 の演算結果がマイナスで「-1:30」とかなる場合、結果が 「##########」になってしまいます。これを「-1:30」又は赤字で表示できませんか?
278 :
277 :2006/08/31(木) 15:37:03
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 です
279 :
名無しさん@そうだ選挙にいこう :2006/08/31(木) 15:45:38
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 データの最大値 行毎に最大値を求める A1〜A50000までの各セルにそれぞれ数値が入っており、 A1〜A250までの最大値をB1に、 A251〜A500までの最大値をB2に・・・と言うように、 250行単位でそれぞれの最大値を抜き出した列を作りたいのですが 一括で処理する良い方法はありませんでしょうか?
280 :
名無しさん@そうだ選挙にいこう :2006/08/31(木) 16:03:40
>>279 範囲のセル番地をINDIRECT関数で間接的に指定する
>>277 時刻(シリアル値)に負の概念は無いので、-符号は文字列として追加するしかありません。
IFで条件分岐して、値が負の場合は"-"と結果の絶対値(ABS関数)を&で連結するようにしましょう。
>>279 ROW、ADDRESS、INDIRECT、OFFSET等で、お望みの参照範囲を作り、あとはMAX。
1*250-249=1、2*250-249=251、3*250-249=501って感じで250行単位に出来るでしょ。
別に(行-1)*250+1でもいいし。あとは、それぞれの使い方はヘルプ参照。
282 :
名無しさん@そうだ選挙にいこう :2006/08/31(木) 16:05:42
>>277 日付の初期設定を1904年からに変える
283 :
名無しさん@そうだ選挙にいこう :2006/08/31(木) 16:15:15
>>281 時間計算は、毎回出てくるおなじみの質問
君!知らなかったの?
>>227 計算方式を1904年からに変更
>>279 B1に=MAX(OFFSET($A$1:$A$250,(ROW()-1)*250,0))
で下ドラッグ
285 :
284 :2006/08/31(木) 16:16:02
あ、かぶった。282さんスマン
自分は過去ログ読まないんだなwww
288 :
名無しさん@そうだ選挙にいこう :2006/08/31(木) 17:38:28
だ ・ け ・ ど 、、、回答したいんだね アンタがこんな子になるやなんて、おかぁちゃん 情けないわ!
289 :
名無しさん@そうだ選挙にいこう :2006/08/31(木) 20:27:58
質問:MSエクセルの致命的な不具合 ************************************************** 本来、「複数のウィンドウを開くツール」は、個別にウィンドウを閉じる動作を原則とする。 たとえば、MSIEで「ヤフー」と「グーグル」を開いていると、ヤフーのウィンドウで「ウィンドウを閉じる」を実行 しても、ヤフーのウィンドウだけを閉じる。すべてのウィンドウをいっせいに閉じることは しない。また、そういっ た きのうは求められていないので、導入されることもない。 MS office 2003 シリーズも同様である。たとえばMSワードで5つのウィンドウを開いていても、右上の「×」ボタン (=ウィンドウを閉じる)を実行しても、該当のウィンドウを閉じるだけである。 しかし、MSエクセルにおいては、「×」ボタンを押すと、すべてのウィンドウを閉じてしまう。これは ほかのツ ールとの共通性を無視しており、しかも、MSオフィス シリーズ内部でも一貫性のない仕様である。 さらに、タスク バーを右クリックして「閉じる(Alt+F4)」を選択すると、なぜか1つのファイルだけを閉じる 。 しかし、ウィンドウ上でAlt+ F4 を押すと、すべてのウィンドウをいっせいに閉じてしまう。エクセルの内部だ けでも一貫性がなく、もはや その問題は致命的なプログラム不具合といえる。 ************************************************** 質問です。上記問題を回復する方法を教えてください。
Excel2つ立ち上げれば?
>>289 Excelっつーかタスクバーのプロパティで同じアプリのグループ化を
解除しとけばいいんじゃないかな。
>>289 > しかし、MSエクセルにおいては、「×」ボタンを押すと、すべてのウィンドウを閉じてしまう。これは ほかのツ
> ールとの共通性を無視しており、しかも、MSオフィス シリーズ内部でも一貫性のない仕様である。
押す×が間違ってるだけだと思うが。
一つのウィンドウだけ閉じたければ、一番右上の×でなく、ツールバーのあたりにある×を押せばよい。
他のツールとも共通してるはず。
293 :
名無しさん@そうだ選挙にいこう :2006/08/31(木) 23:26:43
てきとーに書いてみた ThisWorkbookに書いてXLAとして保存、アドインとして組み込み Execl2000でチェック 何かとんでもない動作をしても知らん Private WithEvents App As Excel.Application Private Sub Workbook_Open() Set App = Application End Sub Private Sub App_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As Boolean) If Not (ActiveWorkbook Is Nothing) Then If Wb.FullName <> ActiveWorkbook.FullName Then Cancel = True ActiveWorkbook.Close End If End If End Sub
295 :
名無しさん@そうだ選挙にいこう :2006/08/31(木) 23:30:20
>>289 本来、「複数のウィンドウを開くツール」は
エクセルは、該当しないという落ちじゃないかね。
そもそも日本語がわからん >上記問題を回復する方法を教えてください。
Excelを2つ立ち上げ、それぞれファイル(F)→開く(O)でブックを開く。
確かに不便っちゃ不便だし統一性がないけど、タブブラウザみたいなもんだと考えればいいんじゃね? 一つのアプリ窓に複数の書類も開けるけど、エクセルを複数起動して別々に開くことも出来るっちうことで。 一番わかりやすいのはもちろんMacみたいなスタイルなんだろうけど。
うぜえ
301 :
名無しさん@そうだ選挙にいこう :2006/09/01(金) 10:05:04
セルに二段で、漢字-アルファベット-数字という並びで保険番号を 入力したいのですが、漢字は上でそれ以外は下となってしまいます。 なんでですか?ウィンドウズ98です。
いま実際にどういう状態で表示されているか具体例を書き、 本当はどうしたいのかを具体的に書いた方がいいのでは?
303 :
名無しさん@そうだ選挙にいこう :2006/09/01(金) 10:16:10
第ABDE0369‐1と上下二段でいれたいんですが、第以外は下になってしまうんです。
だから「具体的に」って言ったじゃん・・・ 例えば、今は >第 >ABDE0369‐1 と表示されてしまうけど、本当は >第ABDE >0369‐1 というふうに表示させたい、とか。 どういう状態なのをどういう状態にしたいのかを書かないと解決策もクソもないだろ。
すみません教えてください。 Aのセルの数値が2000以上か Bのセルの数値が1000以上の条件で Cのセルに1 それ以外はCのセルに2と入れたい場合の Cのセルに記述する関数文を教授ください
>>305 =IF(AND(A1>=1000,B1>=2000),1,2) ※A1,B1は一行目の場合
307 :
名無しさん@そうだ選挙にいこう :2006/09/01(金) 10:28:03
308 :
303 :2006/09/01(金) 10:31:10
>>304 失礼しました。第ABDEを上段に、0369-1を下段に表示したいのです。
>>308 第ABDE と 0369-1 の間に半角スペースを入れればOK
もし3行に分かれてしまったらセル幅を調整する
310 :
名無しさん@そうだ選挙にいこう :2006/09/01(金) 11:16:10
>>303 改行したい位置で
[Alt]+[Enter]
311 :
303=308 :2006/09/01(金) 11:25:34
>>309 .310
目からウロコです。ありがとうございます。
こんなに便利なスレがあったんですね。 今までググったり本を買って読んだりしてたけど、このスレがあることを知っていれば・・・
>312 まづは自分で調べる事が一番 知ったかぶりして中途半端な答え書くヤツもいるから注意してね!!
>>313 ×まづ → ○まず(先ず)
知ったかぶりして中途半端な日本語を書かないように!
それは やぼ というものよ
そうか これが やぼ だったのか
318 :
名無しさん@そうだ選挙にいこう :2006/09/01(金) 22:02:57
セルの数値をパラメーターとしたSQLを発行する方法はないのでしょうか? イメージとしては以下のようなことをしたく思います。 select * from asdf where jkl = A1; MicrosoftQueryを含むことで多少スレ違いかも知れませんが、どうかお願いします。
319 :
名無しさん@そうだ選挙にいこう :2006/09/01(金) 22:03:08
>>299 > 確かに不便っちゃ不便だし統一性がないけど、タブブラウザみたいなもんだと考えればいいんじゃね?
> 一つのアプリ窓に複数の書類も開けるけど、エクセルを複数起動して別々に開くことも出来るっちうことで。
> 一番わかりやすいのはもちろんMacみたいなスタイルなんだろうけど。
タブ ブラウザは、タブを使うかウィンドウを使うか選択できますよ。
そもそもAlt+ F4 でウィンドウを閉じているので、タブ ブラウザみたいなもんだと考えればいいんじゃねくありません。
そういうことじゃないだろ、わからんちん
322 :
318 :2006/09/01(金) 22:38:07
>>321 >>318 のままのSQL文ではセルA1の内容を渡すことが出来ず、A1がデータベース側のカラム名として扱われてしまいます。
そしてデータベースにA1というカラムが存在していないとそのままカラムがないと言われます。
なんとかセルの内容をデータベース側に渡すことは出来ないでしょうか?
323 :
名無しさん@そうだ選挙にいこう :2006/09/01(金) 23:01:25
MSエクセルが無能だといってるんですよ。 MSの独占市場じゃなければ、こんな不具合だらけのツールが売れるはずが ありませんからね。
>>323 わかったけど、ここはそういうスレじゃないから。
よそにお逝き。
325 :
名無しさん@そうだ選挙にいこう :2006/09/02(土) 00:19:05
ピボットテーブルのような集計されたタテヨコに項目が伸びてる票があります これを逆に、1つの表(ピボットを使う時のようなリスト) に戻すようなのってどうやります? なんか賢い方向あるんでしょうか? 行方向の項目は40,列方向は30あります。 VBAでアイディア貰えたら使えるレベルです。 しこしこデータを戻すのを書けば、出来ない事はないんですが 行方向列方向とも項目数が一定でないのと量が多いので 何か賢い方法があればと。
手作業で可能だと言うならそれをそのまま機械化すればいい
328 :
名無しさん@そうだ選挙にいこう :2006/09/02(土) 03:28:06
【1 OSの種類 .】 WindowsXP プロ 【2 Excelのバージョン 】 Excel2002だと思う 【3 VBAが使えるか .】 使えません 【4 VBAでの回答の可否】 否 ある一定の数値以下の数字をセルに貼り付け(入力)したときに そのセルに対して文字列を返すことは可能ですか? 例えば、0.1以下の数字をセルのA1に貼り付けると 『<0.1』がセルA1に対して返ってくるみたいなイメージなんですが。
>>328 何故同じセルなの?
一括で何らかのデータをコピペすると推測して、別のシートや隣の表じゃダメなの?
330 :
328 :2006/09/02(土) 04:40:11
>>329 >一括で何らかのデータをコピペすると推測して
その通りです。
入力用の別シートとかを作りたいのはヤマヤマなのですが
仕事上の事情で作れないんですよ・・・
仮想的にやればいいだけ クライアントを一つつくってバックグランドで処理させる
>>328 やりたいことを具体的に言ってくれ
例だと単にセルの書式でいいんじゃね?
>>322 まじめにやれ
ちなみに、A1の値をA2に貼り付けるのをVBAでやってごらん
>>330 ▼━ 答えやすい質問のしかた ━━━━━━━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
終了
>>330 作業用のシート作って、終了したらコピペでいいやん
336 :
名無しさん@そうだ選挙にいこう :2006/09/02(土) 10:23:38
>>328 セルの書式として以下のような表示形式をユーザ定義。
[<0.1]"<0.1";">=0.1"
すると、この書式を定義したセルに0.1未満の値を入力すると、
「<0.1」と表示されるし、0.1以上の値を入力すると、「>=0.1」
と表示される。
これでいいのかな?
使い方が判らん奴に教えても、第三者が迷惑するぞ
コピペで書式が消されるというオチでつか?
339 :
名無しさん@そうだ選挙にいこう :2006/09/02(土) 13:57:23
教えてください 表示したくないセルがあってセルを非表示にして事足りたんですが、 たとえば行を何行か閉じて、クリックしたら開くような設定って ありませんでしたか?昔使ってた記憶があるんですがやり方を忘れました・・。
使ってたのとなんか違うけどできた。
ありがとう。
>>340
【1 OSの種類 .】 WindowsXP SP2 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 使える 【4 VBAでの回答の可否】 否 左揃えを維持したまま文字列の先頭を隠す事はできますか? 好きな順でソートする為のものなので見た目として隠れていればどんな方法でもいいのですが、 文字列の先頭が不自然に空いてしまう状況は避けたいです。 よろしくお願いします。
343 :
JJ :2006/09/02(土) 15:15:12
【1 OSの種類 .】 Mac OS X Tiger 【2 Excelのバージョン 】 Excel2004 【3 VBAが使えるか .】 使えない 【4 VBAでの回答の可否】 否 生まれて初めてExcelを使うド素人です。文字を丸で囲むやり方がわかりません。 履歴書の有・無などを丸で囲みたいのです。 どうか教えてくださいませんか。
345 :
JJ :2006/09/02(土) 15:29:15
>>344 有り難うございます。
囲みたい文字のあるセル選択→挿入オートシェイプ→図形選択→丸を選択し対象文字にドラッグ。
→円グラフのようなでかい円出現→小さくしても丸で文字が隠れる。微妙に楕円になってしまい。
相手側のExcelで読めるか心配。
以上、現在の状況です。もう1つアドバイスお願い致します!!!
>>342 ___BBB
___FFF
__AAA
__DDD
__GGG
_CCC
_EEE
こんな感じのソートを、 _ の表示無しにやりたいってことか?
ならば
BBB 1
FFF 1
AAA 2
DDD 2
って感じで、隣のセルに優先グーループ順の数値入れて、その列を非表示にし
その列を第1キー、AAA、BBBなどのデータ列を第2キーにしてソートすればいいよ。
どうしても1列で賄いたければ、非表示にするのはたぶん無理なので、
___BBBに対して「@」、
__AAAに対して「_@」
_CCCに対して「__@」
と書式を変えてやれば、空白は入るが位置は揃うので不自然にはならない。
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 名簿があるのですが、その名簿の人名をア行〜ワ行で分けた 別リストを作ろうとおもうのですが、ア行の人名の取得方法が 分かりません。今は、手動でやっているのですが、出来たら VBAで簡単にしたいと思ってます。 何かいい関数などありましたら、教えてください。
349 :
名無しさん@そうだ選挙にいこう :2006/09/02(土) 17:01:54
ふりがなで並べ替える
>>348 ワークシート関数のPHONETIC(WorksheetFunction.PHONETIC)か、
VBAのGetPhonetic(Application.GetPhonetic)メソッド。
PHONETICはシートの入力からフリガナを取得するので、きちんと手入力したデータなら確実な読みが取得出来るが
手入力ではなく、コピペや外部データ読み込みだったりすると、漢字がそのまま返るし
変換するために本来の読みとは違う入力を行った場合は正しく取得できない。
Application.GetPhoneticはIME辞書を利用して読みを返すので、入力状態に関わらず一応読みを取得できるが
辞書利用故に、複数の候補を返すことがあり、基本的には1つ目を利用するが、1つ目の読みが間違っている可能性もある。
Win me Excel 2002 恥ずかしながらVBAは使えません。 1 - 1 1 - 2 1 - 3 ・ ・ ・ といった連番を入力する方法を教えてください。
>>351 @
入力:="1 - "&ROW(A1)
フィルコピー
A
入力:1
表示形式:「"1 - "0」
フィルコピー
>>349-350 即レスありがとうございます。
とりあえず、ひらがなになおしてからなんですけど、
変数に、あ〜おの人の数を入れようとしたら、
leftで1文字目を取得して、ifとdo loopで変数に+1していく
とかいう方法しか思いつかないんですけど、
それだとかなり冗長になりそうなので、簡単な方法とかないですか?
何回もすいません。
355 :
名無しさん@そうだ選挙にいこう :2006/09/02(土) 17:52:00
何がしたいか分らない
>>351 >恥ずかしながらVBAは使えません。
使えない人もいっぱいいますよ
それでも仕事になってるんだし恥ずかしくも何ともないですよ
あなたは失礼な人ですね
あるひとつのシートに入力した値を別のシートに自動で コピーされるようにすることはできますか? たとえばシート1にA店の売り上げ、客層などを入力 シート2にB店の…というように入れていけば シート50に全店の売り上げが自動で入力される という状態にしたいのですが
358 :
354 :2006/09/02(土) 18:36:24
すんません。 読み返したら、言葉全然足りてなかった。 リストの人名+数字を別のシートに横にア行とかで表示したいんですよ。 例えば、 阿部さん 2 麻生さん 3 近藤さん 4 佐藤さん 1 というのを ア行 阿部さん 2 麻生さん 1 カ行 近藤さん 4 サ行 佐藤さん 1 というように別のシートに横書きにうつしたいんですけど、人名の件数が増えるので 相対性に強いVBAでと思ったんですよ。
>>354 ,358
>>2 ・8
とりあえずどういうコードを冗長だと言ってるのか
そのコードを書いて、ここに貼ってみな。
360 :
354 :2006/09/02(土) 19:27:35
Range("b2").Select MyA = 0 Do Until Selection = "" Mystr = Selection.Value Mystr = Left(Mystr, 1) If Mystr = "あ" Or "い" Then MyA = MyA + 1 End If Selection.Offset(1, 0).Select Loop ↑elseifでワ行まで。 今急いで、書いたのでちょっと違うのになるけど、 あ〜おだったら、ア行の変数に+1して数をとって 最終的にア行カ行・・・の行の範囲とって別シートに 列にして表示させようかと。 当方初心者に毛が生えたくらいなもんなんで、 こんなんしか思いつかないんですよ。
とりあえず
> If Mystr = "あ" Or "い" Then
は構文として間違ってるが、まあそれは良いとして
1文字判定なら=演算子ではなくLike演算子使って文字クラスとのマッチを見た方がいいな。
でも、普通こういうのは文字コードで処理するもの。文字コードを返すのはAsc、AscW関数だ。
あとは各セルの先頭1文字を取得するのに
Range("b2").Select
Do Until Selection = ""
Mystr = Selection.Value
Mystr = Left(Mystr, 1)
' 処理
Selection.Offset(1, 0).Select
Loop
これだけのコードを使ってるが、ここは
For i = 2 To Cells(65536, 2).End(xlUp).Row
Mystr = Left(Cells(i, 2).Value, 1)
' 処理
Next i
で事足りる。Ascで文字コード取得するなら、先頭1文字切り出す必要は無いが。
あとは自分で頑張ってみよう。またアドバイスが欲しかったら、
今度は「今急いで、書いたのでちょっと違うの」ではなく、きちんと書いて
>>2 ・3 VBAコードを貼る場合は、部分的に伏せたり省略したりせずに全て貼りましょう。
ってことでよろしく。
ひらがなにしてあって「あ行」だったら「『あ』以上『か』より下」の条件でフィルタかければいいよ。 そんでコピー。 まくろだとautofilterだね。名簿(?)からあ行を抽出してsheet2に転機 Set targetRange = Range(Range("B1"), Range("B1").End(xlDown)) targetRange.AutoFilter Field:=1, Criteria1:=">=あ", Operator:=xlAnd, Criteria2:="<か" targetRange.Copy Worksheets("Sheet2").Range("B1")
363 :
名無しさん@そうだ選挙にいこう :2006/09/02(土) 23:49:51
質問です。 エクセルだけ、タスクバーに「Microsoft Excel」と左から表示されています。 そのせいで、ファイル名が ほとんど見えません。 タスク バーの表示が「Microsoft Excel - 家計簿.xls」の場合、「Microsoft Excel - 家」という表示になっています。 しかし、普通はツール名を優先表示しません。 MSIEなら「google - Microsoft Internet Explorer」となり、タスク バー上には「google - Mic」と表示され、どのタスク バーが どのファイルなのかが明確です。 質問です。 なぜエクセルだけツール名を左に表示しますか。 ビル ゲイツは死んでください。エクセルの開発者も全員死んでください。 大学で習う「インタフェイス工学」の基礎の基礎の基礎を勉強したあとに全員自殺してください。 あなた方の存在自体が社会の迷惑です。by 世界中の人間全員
>>363 エクセルを使わなければ解決。
俺って天才じゃね?
Adobe Reader 6.0もそうだな ファイル名などを先に持ってくるよりアプリ名を主張するほうが重要であるとの思想なのだろう
>>365 Adobe Readerを使わなければ解決。
俺って天才じゃね?
367 :
名無しさん@そうだ選挙にいこう :2006/09/03(日) 00:56:52
両方のツールに共通の性質。 それは「市場が独占状態にあること」。 要するにビル ゲイツが死ねばいいだけです。
>>361-362 遅いけど、ありがとうございました。
すごい参考になりました。
なんとかやってみます。
369 :
名無しさん@そうだ選挙にいこう :2006/09/03(日) 07:48:45
入力フォームで入手したデータをCSVにして取り込んでいるのですが CSV化するときにどうしても改行を入れても半角スペースになってしまいます。 半角スペースを改行に置き換えたくSUBSTITUTE()使おうとしているのですが 改行コードみたいなのを入力することは不可能でしょうか。\nとか\rでいけると思ったのに。
>>369 改行コードはコードでしかないので、文字コードを文字にする関数使って
改行コードを改行文字にしないと意味無いよ。
改行文字の文字コードと、コードから文字を返す関数くらいは、すぐ見つかるはずだから自分で調べよう。
VBAなら定数のvbCr(\r)、vbLf(\n)、vbCrLf(\r\n)が使えるし、RegExpを参照して"\r"や"\n"自体も使えるけどね。
>>369 置き換え機能で「検索する文字列」に半角スペース、
「置換後の文字列」で[ctrl]+[J]で置き換えればいいよ
372 :
名無しさん@そうだ選挙にいこう :2006/09/03(日) 14:05:55
ビル ゲイツとエクセル開発者は全員 今すぐ死んでください。by 世界中の人間
373 :
名無しさん@そうだ選挙にいこう :2006/09/03(日) 14:13:12
エクセルでつくったグラフを、ワードに挿入 したい。 可能ですか?
可能です。 グラフを作る部分はExcelの話ですが、Wordに挿入する部分はWordの話なので、 それぞれ解らない部分に適したスレで質問しましょう。
375 :
名無しさん@そうだ選挙にいこう :2006/09/03(日) 14:39:39
ありがとうございました
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ A B C 1 9/3 8/1 9/5 2 10 15 30 3 品名A 品名B 品名A 1行目に日付,二行目に個数,3行目に品名を入力して 他のセルにSUMIF(IF関数も使う?)を使って特定の条件の合計を出したいと思うんですが 日付の月が8月とか9月とか混ざってるので9月なら9月だけ及び特定の品名の合計 を出したいんですけど9月だけっていう出し方はどうすれば良いんでしょうか?
377 :
名無しさん@そうだ選挙にいこう :2006/09/03(日) 16:25:58
日付はシリアル値?それとも文字?
えっ シリアル値?すんません よく分かりません(´・ω・`) 普通に9スラッシュ5と入力して日付表示形式で9/5とかで表示させてるんですけど・・ すんません
379 :
名無しさん@そうだ選挙にいこう :2006/09/03(日) 16:48:32
ビル ゲイツさんへ。死んでください。 よろしくお願い致します。
>>376 =MONTH(日付セル)=9
を条件にすればよし
ちなみにそのままではSUMIFでは出来ないので、SUMとIFを配列数式で使ってね。
配列数式の使い方は自分で調べること。
どうしてもSUMIFでやりたければ、作業行(列)に、
=MONTH(A1)&","&A3
と入れて、「"9,品名A"」を条件にSUMIF
あと、行列を入れ替えた方がいいよ。
【1 OSの種類 .】 WindowsXP SP2 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 使える 【4 VBAでの回答の可否】 否 ある範囲のなかで最も多く出現する項目を調べるためには、 各項目ごとにcountifして、それをソートするしかないのでしょうか? なにかもっといい方法があったら教えてください。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 excel 関数 比較 A列とB列にデータがあり、B列のデータがA列に含まれているのか調べたいと思っています。 vlookupを使えばいいというのが何となくわかっていますが、具体的にどうすればいいのか わからないです。 教えていただけますでしょうか?
383 :
名無しさん@そうだ選挙にいこう :2006/09/03(日) 18:26:39
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい少し 【4 VBAでの回答の可否】 可 エクセルのブックを保存する際、複数あるシートのそれぞれのA1を確認し、 A1が空白ならそのシートは削除、A1が埋まっていればそのまま。 という条件を入れて保存したいと考えています。 そのやり方について教えてください。 一応調べて If Sheets("Sheet1").Range("A1").Value = "" Then Sheets("Sheet1").Delete の段階まではわかったのですが、 シートの名前が違うとエラーが出ます。 条件なのですが、シートの名前は多種にわたり、毎回違うことを 前提にしたVBAで教えていただけないでしょうか? つまりシートの名前や数がいくらのときでも対応できるような。 どうぞよろしくお願いします。
>>381 項目ってのが数値ならMODE関数
文字列なら配列数式で。
>>382 COUNTIFで充分だよ。
0が返ったら含まれない、0以外が返ったら含まれると判断すれば良い。
>>383 Worksheetsコレクションに対してループ回せば良い。
ちなみに、これで解らないことがあっても、すぐに聞き返したりせずに
自分で調べる努力をして、それでも解らなかったら自分でやってみたことを書いた上で再質問しようね。
385 :
381 :2006/09/03(日) 18:41:22
>>384 ありがとうございます、配列数式について調べてみます
386 :
名無しさん@そうだ選挙にいこう :2006/09/03(日) 18:49:08
【1 OSの種類 .】 WindowsXPProSP2 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 ひとつのセル 複数のパターン ひとつのセルのみで複数のパターンを適用させるには? [具体例] A1セルに「A/B/C」と入力されているとする。 ここでAを赤、/を色無し、Bを黄、Cを青と設定する方法が解らなかった。
>>386 セルをダブルクリックするかF2押すかして編集モードにし、
書式の変更をしたい文字のみを反転選択して、
右クリックの「セルの書式設定」やツールバーなどから変更する。
但し、文字単位での設定が出来ない書式もあるので注意。
とりあえず文字選択状態での「セルの書式設定」に出てこないものは
セル単位のみの設定だと思えば良い。
388 :
383 :2006/09/03(日) 19:16:14
>>384 ありがとうございます。
何とか目的の動作にたどり着きました。
ここからは別の話になるのですが、
>ちなみに、これで解らないことがあっても、すぐに聞き返したりせずに
>自分で調べる努力をして、それでも解らなかったら自分でやってみたことを書いた上で再質問しようね。
べつにまぁその人の性格の問題だからどうしようもないんだけど、
こういうのって書くの辞めてもらえない?
別に
>>374 マクロ教わるために来てるわけでもなく、ただ単純に回答が欲しくて来てる人がほとんどだと思う。
何処のスレでもいるけれど、質問者のためになっていいとか、質問者に対して優位な雰囲気をかもし出したい、
などの意図などがあってか、ヒントを出して答えを出さないほうが良いんだって考えていない?
まぁ、個人の考えだからそれはそれでいいんだし、回答がわからなければわからないでいいと思うし、
でも最後の2行で締めくくるようなことは辞めてもらえない?他の善意ある回答者による回答までも妨げられる要因になるから。
とはいえ回答していただきありがとうございました。
>>388 こういうのって書くの辞めてもらえない?
稀に見るギスギス感到来 氷河時間帯に突入
てかさ、387は
>>1 の
・5 回答内容でわからない部分があっても、すぐに聞き返さずにヘルプやGoogleなどで検索しましょう。
これをやわらかく言っただけなんだよね
間違えた、わかるとは思うけど訂正 387→384
393 :
名無しさん@そうだ選挙にいこう :2006/09/03(日) 19:26:21
>>391 てかさ、テンプレにあるならわざわざ書くなよな。
毎回の回答でどっさりテンプレ書き直してちゃきり無いしな。
何のためのテンプレだと思ってんだろ。
>>393 もう回答が得られたなら消えれ
これ以上は荒れる
言いたいこともわかる、が、ここは質問回答スレ。
回答者には回答者のやり方がある。
気に食わないなら質問すべきでない。
【1 OSの種類 .】 WindowsXPHome 【2 Excelのバージョン 】 ExcelXP(2002) 【3 VBAが使えるか .】 ほぼコピペするだけしかできません 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 置換 A1、A2、A3・・・・に文字列が入っており、それぞれに含まれる文字列を使って1行目、2行目、3行目、・・・のセルに含まれる固定の文字列の一部と置換したいと思います。 例えばこういったときに A1=バナナ、B1=asdfでも食うか、C1=そんなasdf、D1=asdfasdf・・・・ A2=りんご、B2=asdfでも食うか、C2=そんなasdf、D2=asdfasdf・・・・ ・ ・ すべての行がこうなってほしいのです。 A1=バナナ、B1=今日は疲れたしバナナでも食うか、C1=そんなバナナ、D1=バナナバナナ・・・・ A2=りんご、B2=今日は疲れたしりんごでも食うか、C2=そんなりんご、D2=りんごりんご・・・・ ・ ・ どうかよろしくお願いします
またかw
いつになったら荒れるのは自分のオナニー回答のせいだってことを まっすぐみつめられるのかね「この子」は
398 :
名無しさん@そうだ選挙にいこう :2006/09/03(日) 20:17:58
cellsで範囲を指定したいのですが Set 範囲 = Range(Cells(1, 1), Cells(2, 2)) Range(範囲).Select とするとエラーがでます どこがいけないのでしょうか?
>>371 ありがとうございます。今はその方法でやってますが、
それを毎回やるのが煩わしいので自動で出来ないかと…。
>>370 CHAR(10)でやってみましたが、セルの書式設定で折り返しをつけないとダメなんですね。
もう少しやってみます
400 :
399 :2006/09/03(日) 20:32:19
出来ました。本当にありがとうございます。 substitute(元の文字," ",char(10)) セルの書式設定を全体の折り返しありに これでいけそうです。 別の質問になってしまいますが、CSVデータを自動更新する際、 いちいちファイルダイアログが出てきて開くボタンを押さないとならないのですが これはどうにもならないでしょうか。
>>398 だからさ、エラーが出るっちゅうなら、どんなエラーが出るのかとかぐらい書けよ
402 :
398 :2006/09/03(日) 20:46:06
>>401 失礼、忘れてました
実行時エラー'1004':
'Range' メソッドは失敗しました:'_Global'オブジェクト
というエラーメッセージです
エラーの位置は
Range(範囲).Select
です
403 :
sage :2006/09/03(日) 21:06:17
>>402 変数にRANGE入れてるのに、さらにRANGEがはいってる。
範囲.Select
で桶
404 :
398 :2006/09/03(日) 21:17:41
>>403 そうか
「範囲」は普通の変数かと思っていたらオブジェクトになってたんですね
ありがとうございました
回答だけすればいいのに、いつも余計な一言を付けるアホがいるな まぁ質問者も一日ぐらい気長に待つべし
回答者のほうが偉いんだからいいんじゃね?
407 :
名無しさん@そうだ選挙にいこう :2006/09/03(日) 22:09:11
>回答者のほうが偉い ( ´,_ゝ`)プッ ガキだなぁ
まあ、上級者なら舌足らずの質問でもいくつかの状況が想定できる けどな w
409 :
名無しさん@そうだ選挙にいこう :2006/09/04(月) 01:44:09
エクセル ワードが上達する無料でお薦めのFREEソフトを教えてもらえますか
411 :
386 :2006/09/04(月) 05:17:06
>>387 御教授通りに操作したのだが出来なかった。
[具体例]の場合、
手順1. A1セルを選択
手順2. 「A」のみ選択
手順3a. 「セルの書式設定」で「パターン」が出ず。
手順3b. ツールバーの「塗りつぶしの色」が設定出来ず。
>>411 ヒント:下3行
>>412 文字色ではなく網掛けなんじゃないかと
網掛けの中でも2色グラデーションのみを指す特殊な物を「パターン」と呼ぶが
他にも「パターン」はあるので、「セルの網掛けのパターン」って言わないと正しくないんだけどね
387はその辺がハッキリしないから、一般的な書式設定方法と
網掛けなどはセル内全体を対象にしか使えないってことを書いたんだと思われ
まあ網掛けを個別にやりたければ、セルの逆結合(対象セル以外を結合する)ことで
視覚的に同じ効果を出せるし、そもそもこんなのは計算ソフトではなくワープロやDTPソフトの分野だしな
答えを書かないならレスしなくていいよ こんなことで優越感でも感じてるのか知らんがじゃまだ
>>415 質問した方が偉そうなのも???じゃないか?
ってか、漏れはヒントもらえるだけでも十分助かる。
荒れて回答が無くなったら困るから、消えてくれ
418 :
名無しさん@そうだ選挙にいこう :2006/09/04(月) 10:17:58
A列に社員番号があります。このときB列に社員番号に対応した名前を表示させたいときはどうすればいいのでしょう。 もちろん全社員の番号と名前のリストはあります。
HLOOKUPとかVLOOKUPとか。ヘルプ見たりググったりすりゃわかる。 そもそもAccess使っとけと言いたいが耐える。
このスレをVLOOKUPで検索
>>419 >>420 ありがとう御座います。EXCEL関数逆引き大全で見つけたところで冷や汗が出ています。
昨日はヘルプを探し回って見つからなかったのに・・・
初歩的な質問でスレ汚し済みませんでした。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 A B C 1 2005/1/15 仕入 500 2 仕入 400 3 2005/1/12 仕入 300 4 仕入 100 5 仕入 50 Aの列に日付が表示されてない行のC列の対象数字の合計を別のセルに出したいんですが、 どういう式を書けばいいか教えていただけないでしょうか。 初心者用のページとか色々見たんですけどわかりませんでした。
>>422 SUMIFワークシート関数でいけそうな感じかな
その表だと「=SUMIF(A1:A5,"",C1:C5)」でC2,C4,C5の合計でるよ
424 :
422 :2006/09/04(月) 14:57:24
出来ました! 素早い回答ありがとうございました。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 ワークシート1にあるリストをシート2に横に並べて表示 させたいのですが、横にすると長すぎるので、 5列くらいで切って、つぎの行の頭から続きを表示させたいのですが、 Sub test() Dim i As Integer, MyE As Integer Dim Myt() As String MyE = Range("a65536").End(xlUp).Row For i = 2 To MyE ReDim Myt(i) Myt(i) = Worksheets("sheet1").Cells(i, 1).Value Worksheets("sheet2").Cells(1, i) = Myt(i) Next End Sub 上記で、横に一列で表示できるのですが、 あ あいうえお ←ここで折り返したい い → かきくけこ う さしすせそ え か き く け こ という風にしたいのですが、どのようにしたらいいか皆目見当もつきません。 なにかいい方法がありましたら、教えて頂きたいのですが。
【1 OSの種類 .】 WindowsNT4.0 【2 Excelのバージョン 】 Excel97 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【質問】エクスプローラを実行した後、移動したフォルダの値をテキストボックスに表示したい 'UserForm1.TextBox2の値 'C:\WINNT\Profiles\PC01\デスクトップ\○○用データ\XLS Private Sub エクセルフォルダ指定Button_Click() XLS_PASS = UserForm1.TextBox2 ChDir XLS_PASS Shell "explorer.exe /n,/e," End Sub 現在上記のようにボタンでエクセルのフォルダを開いてるのですが、他のフォルダに移動した場合 移動先のフォルダの値をUserForm1.TextBox2に入れたいのですがわかりません。 わかる方がいらっしゃったらよろしくお願いします。
>>427 APIでガシガシ書けばいけるだろうが、とんでもなく面倒くさいはず。 (調べるのすら面倒)
つーかVBAでは不可能。
普通のUIなら、そういった動作はダイアログ開いて選択させるはずだが。
429 :
とも :2006/09/04(月) 17:34:11
【1 OSの種類 .】 Windows98 【2 Excelのバージョン 】 Excel98? 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 いきなりすみません。質問です。 エクセルで画像を取り込みトリミングしたいんですが 画像を思いのままに斜めに切ったりしたいんですが 無理でしょうか?縦・横の直線のカットは分かるんですが・・・ 締切り間際で死ぬほど焦ってます。 神降臨お待ちしてます。
>>426 X = MyE \ 5
として、この後この数字をどう使ったらいいですか?
色々考えたんですが、本気でわかりません。
431 :
427 :2006/09/04(月) 17:45:54
>>428 VBAじゃ無理なのか、、、
エクスプローラのアドレスをコピペで対応することにします。
>430 5で割る必要なし。 Sub hoge() r = 1 c = 1 For i = 2 To Range("A65536").End(xlUp).Row Worksheets("sheet2").Cells(r, c) = Worksheets("sheet1").Cells(i, 1) c = c + 1 If c > 5 Then c = 1 r = r + 1 End If Next End Sub
Sub omake() For i = 2 To Range("A65536").End(xlUp).Row Worksheets("sheet2").Cells((i + 3) \ 5, (i + 3) Mod 5 + 1) = Cells(i, 1) Next End Sub
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 質問に対して○△×で回答を得て、○を3点、△を1点、×は0点として 合計を求めたいんです。 どのような数式を組めばいいでしょうか。 是非お力を貸してください。
>>429 Photoshopのバッチのほうが早そう
436 :
名無しさん@そうだ選挙にいこう :2006/09/04(月) 21:38:47
=SUM((範囲="○")*3+(範囲="△")*1+(範囲="×")*0) と打ち込んでctrl + shift + enter ちなみに、「(範囲="×")*0」は省略可。
438 :
437 :2006/09/04(月) 21:42:53
配列数式は配列数式でなければ解けないときだけにすべきですね。 =COUNTIF(範囲, "○")*3+COUNTIF(範囲, "△")
440 :
名無しさん@そうだ選挙にいこう :2006/09/04(月) 23:38:53
VBAの話なのですが Cells(1,1) を "A1" と変換するコマンドは無いのでしょうか?
442 :
440 :2006/09/05(火) 00:03:09
>>441 すいません
Googleでも「痴女」で検索してみたのですが、どうにも分かりません
もう少し詳しく教えていただけないでしょうか?
>>442 ところで本当にやりたいのはどういう動作?
Sub aaa() a = Cells(1, 1).Address(RowAbsolute:=False, ColumnAbsolute:=False) MsgBox a End Sub こんなんとか?
445 :
440 :2006/09/05(火) 00:24:58
>>443 セル位置を指定する為に、"A1"形式のほうがすっきり(文字数が少なく)するためです
>>444 うまくいきました
有難うございました
446 :
434 :2006/09/05(火) 04:12:59
>>432 遅くなってすいません。
ありがとうございました。
いまいち理屈が分からないんですが、コピペして
実行したら、完璧にできていたので、感謝感激です。
理解できるように勉強します。
【1 OSの種類 .】 WindowsXPpro 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 勤続年数を計算するのに下記の数式を使うと @ =DATEDIF(G5,$J$1,"Y")&"年"&DATEDIF(I5,$J$1,"YM")&"ヶ月" A =DATEDIF(G8,$J$1,"Y")&"年"&DATEDIF(I8,$J$1,"YM")&"ヶ月" @20年6ヶ月 A20年1ヶ月と表示されます。入社日は@、A同じです。 J1には =TEXT(NOW(),"yyyy/mm/dd")と入れています。 日付はシリアル値です。 何が問題でしょう、よろしくお願いします。
脳だな
450 :
名無しさん@そうだ選挙にいこう :2006/09/05(火) 15:45:33
【1 OSの種類】 WindowsXPpro 【2 Excelのバージョン】Excel2003 【3 VBAが使えるか】いいえ 【4 VBAでの回答の可否】否 今、会社で上司からエクセルの使い方について質問されたのですが、 答えられず困っています。 上司は、一つのセルに (8/1〜8/8) と入力する時に 日付(8/1)を打ち込むだけで↑を全て表示されるようにしたいと 言っています。。。どのように数式か、書式を変えればできるのか? また、不可能な事なのか。わかる方いますか?
>>450 オートコンプリート機能じゃだめなのかね?
452 :
名無しさん@そうだ選挙にいこう :2006/09/05(火) 16:31:54
>>450 方法は沢山あるが、使用状況が分らない
情報が少なすぎ!
IMEの単語登録で8/1って打ったら8/1〜8/8に変換されるようにしとけ
書式 ↓ セル ↓ 表示形式 ↓ ユーザー定義 ↓ #"/1〜8/8" と入力 ↓ OK ↓ セルに8を入力
>450 同じセルはだめ。 別のセルに =TEXT(A1, "m/d") & "〜" & TEXT(A1+7,"m/d")
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 シート名参照 ハイパーリンク エラー 質問はふたつあります。 ワークシートの名称をSheet1は「X」、Sheet2を「Y」とします 「X」のセルA1の値が「Y」だったらセルA2に、「Y」のセルA1を返す。 というように、シート名自体を参照させてIF関数を作りたいのですが うまくいきません。どうぞお願いします。 また、エクセルのファイルを作成したものと別のPCで開いた際、 ハイパーリンク(同じブック内)をクリックするとエラーになると言われました。 (XP機 管理者がどうとかいうメッセだそうです) わかる方がいたらこちらもお願いします。
>>455 上司には理解できないと思われ
マクロかなんかでどのセルでも出来るようにしたほうがいい
>>456 =indirect(A1&"!"&"A1")
459 :
名無しさん@そうだ選挙にいこう :2006/09/05(火) 22:34:16
えと、上司が理解できないあほでも何でもいいんですが 入力した値自体が、同じセルで書き換えられる状況 というのは、裂けるべきだと思いますがね。
461 :
名無しさん@そうだ選挙にいこう :2006/09/06(水) 00:05:49
エクセル97です。 他のブックにシートのコピーをするとき、数式はコピーされずに計算結果の数字だけがコピーされます。 数式を他のブックにコピーする方法はありますか?
ない
>>458 さっそく明日やってみます!ありがとうございました。
mjdk 97では出来ないのか?( ..)φメモメモ
465 :
461 :2006/09/06(水) 04:09:51
>>462 ありがとうございます。出来ないんですか‥残念
>>464 97以降のヤツはどうやってコピーするのですか?
同じ方法で試して見たいのですが‥
上のほうに式があるだろ それをコピーすればいいんじゃね?w
ワード経由でやれば無問題
468 :
名無しさん@そうだ選挙にいこう :2006/09/06(水) 08:27:53
Excel2000ユーザーです。 新しく行を挿入しようとすると、選択した行の一つ上の行の属性が 新しく挿入した行にそのまま反映されてしまうのですが、属性を 反映させずに行を挿入する方法はあるのでしょうか。 例えば、A1の行の背景が黄色に色付けしてあった場合に、A2の行を 選択して「挿入」から「行」を選ぶと、新しく挿入された行までもが黄色く 色づけされてしまっているのです。文字の色や太さに関する属性も そのまま挿入された行に反映されてしまいます。 マクロでいろいろな作業を自動化しているのですが、行を挿入するマクロを 実行したあと、上の行の属性が反映された結果をさらにもとに戻すマクロを 付加しなければならず、できればこの余計なコードをなくしていのですが。
>>468 自己レスです。A1の行という言い方は変でした。
A1と指定した場合はセルという表現が適切でした。行といった場合はAは関係ないですね。
セルの場合でも症状は同じですが・・・。
VBAの知識はほんの少しだけあります。VBAを使った方法でのヒントでも構いません。
>>469 一般の設定で切り替えられるかどうかは知らない(たぶん無い)んだけど、
VBAだったら単純に挿入した個所clearすればいいんじゃないかな?
こんな感じ
ActiveCell.Rows.Insert
ActiveCell.Rows.Clear
こうだな ActiveCell.EntireRow.Insert ActiveCell.EntireRow.Clear
俺も挿入したいな・・・
65000行あたりの、まだ汚されていない行をコピーして挿入すれば?
474 :
465 :2006/09/06(水) 12:43:00
>>466-467 私へのレスでしょうか。
>上のほうに式があるだろ
97には無いのかも。
>ワード経由でやれば無問題
これも駄目でした。
数式を他のブックにコピーするのって、出来そうなのに駄目なんですね。
ありがとうございました。
475 :
468 :2006/09/06(水) 13:15:27
476 :
名無しさん@そうだ選挙にいこう :2006/09/06(水) 13:52:27
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 全く駄目 【4 VBAでの回答の可否】 否 A1〜A1000までの数値データを使って折線グラフを描かせる場合、 データの位置によってグラフの色を変えたいのですが、やり方がよくわかりません。 たとえば、A1〜A500までを赤で、A501〜A1000までを青でグラフを描かせる、といった具合です。 どなたか宜しくご教授願います。
>>476 複数系列使えばいいよ。
というか、Excelのグラフは1系列内で途中から色変えたり出来ないから
そうでもしないと君の要望は実現しない。データは一つ重なるようにね。
元のデータを移動出来ないなら、参照使っても問題ないし。
A B C
3
8
2 2
. 4
. 9 9
5
1
478 :
476 :2006/09/06(水) 14:24:23
なるほど、わかりました! やってみます、ありがとうございました。
479 :
名無しさん@そうだ選挙にいこう :2006/09/06(水) 19:57:45
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 A1に1を入力したらG10に○表示 A1に2を入力したらH20に○表示 A1に3を入力したらJ30に○表示 これやりたいんですけど、作業セルが必要ですか。 どうやったら良いでしょう?
480 :
名無しさん@そうだ選挙にいこう :2006/09/06(水) 20:02:32
if(a1=1,"○","")
G10=IF(A1=1,"○","") H20=IF(A1=2,"○","") J30=IF(A1=3,"○","")
482 :
名無しさん@そうだ選挙にいこう :2006/09/06(水) 20:40:26
>>480-481 ありがとうございます。
すごいですね、2人の方が同じ答えを出してくる
ちょっと感動しました。
>>482 エクセルをやるなら、IF文 だけは覚えておいたほうがイイ。
IF文だけでかなりのことができるし、IF文が使えれば他の関数にも手が出しやすい。
IF文の中にIF文を入れて使ったりしていれば、これもまた他の関数との組合せを理解しやすくなる。
>>479 への回答ではないが
=if(A1=0,"○",if(A1=1,"△","□"))
という文を使ってみて、if文の仕組みを考え、理解してみるといい。
484 :
名無しさん@そうだ選挙にいこう :2006/09/06(水) 22:32:52
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━ 【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Googleやヘルプでの検索キーワード 計算式を入力してあるセルが計算してくれなくなりました。 F2を押してエンター押すと計算してくれるのですが、どうしてでしょう 教えて下さい
>>484 何らかの設定で保存するときに再計算されるようになったのかな。
ツール-オプションのどっかにあるはず。
486 :
484 :2006/09/06(水) 22:59:29
>>485 レスありがとうございます
やってみます
ツール → オプション → 計算方法 → 自動 たまに外部からもらった書類を開けたはずみで、何故か自動が手動になってしまうことがある。
488 :
名無しさん@そうだ選挙にいこう :2006/09/07(木) 00:39:21
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 日付計算 時間計算 周期
ttp://www.alib.jp/mabinogi/ ゲームに関するものなのですが、上記のサイトに掲載されているように
終了時刻を元に、個別のチャンネル(サーバー)毎に設定された周期で
次の出現日時を計算するものを作成したいです。
しかしながら、1回出現するごとに周期が決まった値で減少していきます。
(例:30時間周期、1m30s減少の場合→1回出現すると29h58m30s→2回目は29h57m00s)
さらに、周期が24時間を切ると、切った分が48hからマイナスされたものに変動します。
これらの条件等は、分かりやすく上記ページの
「出現周期」「出現周期に関する考察」の欄に掲載されています。
周期が一定の場合は終了時刻を元に次回時刻を計算するシートを作成することができたのですが、
周期が毎回減少するものについては、アプローチの方法が思い浮かびません。
皆様の助言をいただきたいのです。宜しくお願いします。
できません。
>>488 A B
初回出現時刻 00:01:30(周期短縮)
=A1+B2 30:00:00(周期)
=MOD(B2-B$1,1)+1
「初回出現時刻」の位置がA1ね。
表示形式は、A列が「m/d hh:mm」、B列が「[h]:mm:ss」、
あとはA2とB3の式を下方にフィルコピーすればよし。
B列は非表示にしてもいいし、全く使いたくなければ
「周期短縮*(ROW()-2)」とかを補正値として使えば良い。
492 :
名無しさん@そうだ選挙にいこう :2006/09/07(木) 08:04:08
周期の自動減少はVBA使わないと実現しないな
493 :
名無しさん@そうだ選挙にいこう :2006/09/07(木) 09:32:58
すみません。 セルに入力した数値から自動的に定数を引いて表示させるのはどうしたらいいのですか? 例:100と入力したら自動的に-10して90と表示させたい。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 VBA rows.count Private Sub Worksheet_Change(ByVal Target As Range) If (Target.Column <> 1) Then Exit Sub '対象となるセルの値が変化した場合に右側のセルの値をクリアする If (Target.Value = Worksheets("work").Cells(Target.Row, Target.Column)) Then Exit Sub Target.Offset(0, 1).ClearContents 'Sheet2にセルの値を書き出しする Worksheets("Sheet2").Cells(Target.Row, Target.Column) = Target.Value End Sub 以上のコードで特定の列のセルに変化があった時に Sheet2の値と比較して右側のセルの値をクリアしています。 ここで質問なのですが セルを1つずつ選択してクリアさせる事は可能なのですが 複数選択して実行すると(例:A1〜A3)エラーになってしまいます セルを複数選択しても実行させるにはどうしたらよいのでしょうか?
495 :
名無しさん@そうだ選挙にいこう :2006/09/07(木) 10:29:39
>>493 例えば、別のセルに計算式を入力する
例えば、コピーの減算を使う
>>494 とりあえず
For Each OneTarget In Target
でOneTargetに対して処理
497 :
名無しさん@そうだ選挙にいこう :2006/09/07(木) 11:04:20
数字をうったら日付に変換されてしまうんですけどどうすれば元に戻せます? 例 123→xxxx/xx/xx excel 2000 win 98
498 :
名無しさん@そうだ選挙にいこう :2006/09/07(木) 11:08:43
497です。解決しました。
499 :
名無しさん@そうだ選挙にいこう :2006/09/07(木) 11:11:57
もう一つ質問なんですがたとえばCTRL-; で日付をいれるとき月等が一桁の場合"つねに"デフォルトで0を前につけるようにするにはどうすればいいですか? 例 2006/6/6→2006/06/06 excel 2000 win98
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━ 【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 offset 数値が縦にずらっと並んでいて、その平均を求めたいんですが 平均の期間を10個平均にしたり5個平均にしたり簡単に 変えられるようにしたいんです。で↓のようにしてみたのですが、 K3というのは数値が入っているところの一番上です。L$2は期間の数値です。 =AVERAGE(OFFSET(K3,L$2,0):K3) これだと10個平均を求めたいときに9を入れなければダメで使いづらいです。 10個平均のときは10と入れれば良いようにしたいです。 よろしくおねがいします。
>>501 =AVERAGE(OFFSET(K3,L$2-1,0):K3)
504 :
499 :2006/09/07(木) 12:23:36
>>500 それはどこで設定すればいいんですか?
書式→セル→表示形式 からだとセルごとにしか設定できないようです。
また
書式→スタイル の表示形式をyyyy/mm/ddにかえちゃうと123ってうっても全て日付に変換されてしまいます。
とにかく日付の場合だけつねにどのセルでもyyy/mm/ddの形式に自動的になるように出来ないでしょうか?
WEBクエリで株価を取得してますが、一度に50件くらい(HPに表示されている件数) しかダウンロードできないんですけど、一回で一年分ダウンロードしたいのですが、 どうやるんでしょう。。。?
>>505 1年分表示できるようなwebページのアドレスがあればそこで取り込めばおk
そういうページが無いなら、1ページずつ読み込むようなVBAを作る。
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 抽出 オートフィルタ A県 バナナ A県 りんご A県 みかん B県 りんご B県 ぶどう B県 なし このようなリストがあって、このうちA県にはない項目(ぶどう・なし)をすべて抽出するためにはどうしたらよいでしょうか。
509 :
名無しさん@そうだ選挙にいこう :2006/09/07(木) 14:04:31
>>508 VLOOKUPとかCOUNTIFなどで判別したセルを用意する
あとはオートフィルタ
>>504 "日付"等に標準で用意されてないものは、ユーザ定義で設定する。
511 :
名無しさん@そうだ選挙にいこう :2006/09/07(木) 17:16:23
【1 OSの種類 .】 Windows98SE 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 オートシェイプで矢印を書いたのですが線の色が出ません。 オートシェイプの書式設定で見ると線の色がなしになっています。 色を設定すれば色が出るのですが新たに矢印を書くと色なしに なってしまいます。その他の図形も色がでませんでした。 どうしたら最初から色のついてる図形になりますか?
512 :
名無しさん@そうだ選挙にいこう :2006/09/07(木) 17:35:49
>>511 「オートシェイプの規定値に設定」
こんなの見たことないかな?
513 :
名無しさん@そうだ選挙にいこう :2006/09/07(木) 17:42:57
514 :
名無しさん@そうだ選挙にいこう :2006/09/07(木) 18:10:32
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 同じスペックのパソコンが2台(AとB)ありまして、 Aでフロッピーに保存したファイルをBで開くと何枚か表示されないシートがあります。 保存の仕方はデスクトップにあるファイルをフロッピーにドラッグ&ドロップしてます。 何が原因なのでしょうか?よろしくお願いします。
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━ 【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 WEBクエリ WEBクエリで株価を取得してますが(ヤフーファイナンス)、一度に50件くらい?(HPに表示されている件数) しかダウンロードできないんですけど、一回で一年分ダウンロードしたいのですが、 どうやるんでしょう。。。?
>>514 > 何枚か表示されないシートがあります。
エラーで弾かれるのか?
それならそのエラーを書き込まないと、ここにはエスパーいないんだから回答は期待できないよ
517 :
514 :2006/09/07(木) 20:08:17
>>516 エラーとかメッセージは何も表示されません。
同じブックの6月と7月は表示されるのに8月と9月が表示されないとう感じなんです。
【2 Excelのバージョン 】 Excel2003 下記のようにユーザーフォーム上のチェックボックスがABCDと4つある時、 各ボックスにチェックを入れた際にA列のセルに 未入力 → 0 例1) ABにチェックなら合計3 A□ → 1 例2) BDなら合計10 B□ → 2 例3) BCDなら合計14 C□ → 4 D□ → 8 のように、組み合わせの合計値を返して入力したいのですが、 どのような条件を設定すればよいのでしょうか? 判定自体は、Select Caseで0〜15までの各組み合わせを返せばいい事までは分かるのですが…。 何方か是非ご教示お願いしますm(__)m
>>518 Function aaa()
a = (CheckBox1.Value = True) * (-1) + (CheckBox5.Value = True) * (-2) + (CheckBox3.Value = True) * (-4) + (CheckBox4.Value = True) * (-8)
Range("A1") = a
End Function
520 :
名無しさん@そうだ選挙にいこう :2006/09/07(木) 21:16:12
>>518 Cells(1, 1) = (CheckBox1.Value = True) * -1 + (CheckBox2.Value = True) * -2 + (CheckBox3.Value = True) * -4 + (CheckBox4.Value = True) * -8
Select Caseは使っていませんがこれでOK
CheckBoxの番号はご自分の環境に合わせてください Private Sub CheckBox1_Change() aaa End Sub 519のコードを各チェックボックスが変更されたら呼び出すか、 「登録」とかボタンを作ってチェックボックスにチェックを入れた後、 登録ボタンを押して呼び出す。
522 :
名無しさん@そうだ選挙にいこう :2006/09/07(木) 21:28:56
>>518 チェックボックスは2のn乗の加算で考えると楽だよ。数が増えてもループ処理でいける。
Checkbox1〜Checkbox4という名前で使ってると仮定すると、こんな感じ。
Dim i As Integer, result As Integer
For i = 1 To 4
result = result - Me.Controls("Checkbox" & i).Value * 2 ^ (i - 1)
Next
MsgBox result 'Range("A1").value = result
選択と同時に書き込みたいんならそれぞれのチェックボックスのchangeイベント
とかで上の処理をするサブルーチン呼び出せばいいんじゃないかな。
>>515 > どうやるんでしょう。。。?
自分で考えて。
こういうのを自己解決出来ないレベルの奴に教えると
鯖の負荷も考えないような使い方しだすから、危なっかしくて教えられない。
自分で解決できる奴なら、そういうことを考慮する頭を持ってるだろうけど。
病院行け
525 :
518 :2006/09/07(木) 22:23:24
>>519 >>520 >>521 皆さんありがとうございます!
やっぱり色々な記述方法があるんですねぇ…超文系の自分のセンスの無さを痛感します('A`)
>>522 目から鱗というか変な汁が出そうです(つД`)
やっぱループで回すからには、オブジェクトに変な名前つけたらいかんですね…。
通番とかで管理しないと、ループの括りに入れるだけで膨大な労力が…。
命名規則を根本から考え直すべきなんでしょうね(´・ω・`)
この方法でループさせた場合、組み合わせをチェックしてフォーム側に返す場合にも
何か効率のいい方法はあるんでしょうか?
下記のように、Select Caseで i のパターンを一つずつ地道に潰すのは死ねますので…。
Case 1: Checkbox1.Value = True
Checkbox2.Value = False
Check(ry
(以下全パターンを網羅して記述 orz)
526 :
名無しさん@そうだ選挙にいこう :2006/09/07(木) 22:32:54
>>483 読めました!
「もし A1 が 0 なら○を返す。A1 が 1 なら△、それ以外なら□を返す。」です。
早く書けるようになりたいです。
>>525 ビット演算という考え方を使います。昔からの伝統的な方法で、
2進数で考えたときの任意のケタのビットが立っているかどうかを
and演算子で計算する方法です。
いきなり言っても分らんのやろうけど、興味があったら2進数とか
ビット演算で調べるといいよ。
で、具体的には各チェックボックスに割り当てた2のn乗の数値と
組み合わせの結果の数値をand演算子で計算して、0にならなけ
ればそのチェックボックスをオンにすればおk
簡単な方法だから、みんな2のn乗でふらぐ管理してるんだと思うよ
a = InputBox("数を入れてください")
For i = 1 To 4
Me.Controls("Checkbox" & i).Value = CBool(2 ^ (i - 1) And a)
Next
528 :
518 :2006/09/07(木) 22:56:47
>>527 解説と回答どうもありがとうございます!
今VBA大全でCboolの項目を読んで理解できました。これはかなり応用できますね。
一応ネットワーク関係者なので、2進数や16進数、基数変換というものは解るのですが
生来の理系センスの無さからVBAなどに応用できないもので…orz
ビット演算は奥が深そうなので地道にやっていきたいと思います。
(RAID5とかでちょっと齧った程度ですので…)
本当にありがとうございましたm(__)m
529 :
493 :2006/09/08(金) 01:04:08
>>495 >セルに入力した数値から自動的に定数を引いて表示させるのはどうしたらいいのですか?
>例:100と入力したら自動的に-10して90と表示させたい。
の質問のものですが、
>例えば、別のセルに計算式を入力する
>例えば、コピーの減算を使う
別のセルに計算式を入れてどの様に使うのですか?
それで空白セルに100と売ったら90と表示されますか?
どう入力すれば入力値−10のマクロになるのでしょうか?
>>529 マクロ用ボタンつけるとか、手動でマクロ起動するなら手はあるけれど、
そういうのは無しで数字を-10はほぼ無理と思ったほうが良い。
>>530 セル入力時にアクションおこせばいいだけでしょ
詳しくないならレスしなくていいよ
532 :
名無しさん@そうだ選挙にいこう :2006/09/08(金) 08:12:07
>>493 >>529 君の場合まず入門書を読みなさい。
やり方は沢山ある、
例ではどこに-10の結果を表示させたいのか分らない
いちいち想像して回答してくれる人は少ないからね!
>例ではどこに-10の結果を表示させたいのか分らない これはどうでもいい 作業セルが使えるかどうかが重要
↑ 同じ意味じゃないのか
>>531 詳しいなら答えを教えてください(-_-)
入力したセルで10引きたいんだろ? できるけど、そういうことはあまりやらないほうがいいと思うよ。 まともなコードが書ける人はほとんどいないし。 ループがやっとまわせる程度の素人マクロならいっぱい書ける人いるが。
すいません、会社のエクセルなんですが 確かに 100 と入力したはずなのに 知らない間に 90 になっています。 間違いの元なので、直したいのですが どうすれば良いでしょうか。 という質問が出てくる悪寒。
>>536 >できるけど、そういうことはあまりやらないほうがいいと思うよ。
余計なお世話じゃね?
答えられる人がいないからってことじゃね?w
>>493 A列の数値だけなら
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Dim i As Range
Set rng = Application.Intersect(Target, Me.Range("a:a"))
If rng Is Nothing Then Exit Sub
Application.EnableEvents = False
For Each i In rng
If VarType(i.Value) = vbDouble Or _
VarType(i.Value) = vbCurrency Then
i.Value = i.Value - 10
End If
Next i
Application.EnableEvents = True
End Sub
541 :
540 :2006/09/08(金) 10:14:25
すまん、インデントが全然付いてなかった。
542 :
540 :2006/09/08(金) 10:24:16
>>540 のコードは標準モジュールに書くんじゃないよ。
A列で10引きたいシートのシートタブを右クリック、(コードの表示)で出てきたモジュールに書くこと
連続データ作成でもう一度-10される
>>540 もうすこし基本を勉強したら?
素人レベルには十分すぎるけどさ。
見せてもらおうか! プロレベルのコードとやらを。
546 :
544 :2006/09/08(金) 10:43:07
最低でもi.Valueは変数に入れるのが普通だろ?
547 :
名無しさん@そうだ選挙にいこう :2006/09/08(金) 10:50:58
>493と>540は今週のベスト・バカップルだな
くだらね
なに照れてんの、お似合いだよ
釣れたよ。
複数のシートが選択されている時(作業グループ時)にセルを編集すると、 警告ダイアログが出るようにできますでしょうか? 【OS:Windows XP Pro】 【バージョン:Excel 2003】 【VBAがつかえるか?:いいえ】 【4 VBAでの回答の可否:否】 【5 検索キーワード:複数のシート Excel 警告 】
なぜ警告が出るか分かる?
VBAなしで出来るのか?
554 :
551 :2006/09/08(金) 13:12:38
>>552 元々作業グループというのは複数のシートを同時に作業する為のものであるから
その作業をしている上であえて警告を出すのはおかしい と、言うことでしょうか?
実は、複数のシートを割付で印刷することが多く、
それらシートがとびとびで更に何パターンも出力することがあるので、
普段 「印刷対象」→「選択したシート」で出力をしています。
出力直後等にうっかり、作業グループにしたままセルの編集をしちゃったりしてしまうんです。
気を付けていればいい問題かもしれませんが、もし警告を出せるようにできたらと思ったのですが・・・。
>元々作業グループというのは複数のシートを同時に作業する為のものであるから >その作業をしている上であえて警告を出すのはおかしい と、言うことでしょうか? お前おもしろいなw
テンプレの使い方が・・w
VBA覚えなされ 指示画面つくれば印刷作業も楽になるだろうに ところでexcelとかVBAの○投げスレ、どっかにあるのかな?
559 :
名無しさん@そうだ選挙にいこう :2006/09/08(金) 19:17:01
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 特定の文字のセルだけを選択したいのですが、方法がわかりません。 だれか教えて。
560 :
名無しさん@そうだ選挙にいこう :2006/09/08(金) 20:39:18
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel97 【3 VBAが使えるか .】勉強中 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 カーソルがセルを移動するたびに処理を行いたいのですが、どこにどのような記述をすればよろしいのでしょうか? WORKBOOK SHEET CHANGEのカーソル移動バージョンです
>>560 Worksheet_SelectionChangeでどうかな?
563 :
名無しさん@そうだ選挙にいこう :2006/09/08(金) 21:07:14
質問です エクセルです 保護のトラブルなんですが コントロールボックス(コンボボックス)ありますよね? あのプルダウンで項目を選ぶやつ。 この箇所を非保護に設定するのどうしたらいいんでしょうか? それとも不可能なんでしょうか? コントロールボックス(コンボボックス)の保護のロックを解除にしてもだめでした どなたかしりませんか? 【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】できない 【4 VBAでの回答の可否】 不可 【5 検索キーワード 】セルの保護
>>561 こんなのあるんですか。試してみます。ありがとうございました
566 :
名無しさん@そうだ選挙にいこう :2006/09/08(金) 22:10:10
よろしくおねがいします エクセルで提案書を作成しているのですが,シートでは同じ大きさの ヘッダーを使用していても,印刷すると(拡大・縮小するので)大きさ や全体のバランスが不揃いになります なんとか楽に提案書の体裁を統一する方法はないものでしょうか?? その一案としてpptのリンク貼り付けを考えているのですが,バックアップ のためにファイルの名前を変更すると,当たり前ですがリンクが外れて しまいエクセルでの値が反映されません それだけが不満です 良案ないものでしょうか
568 :
名無しさん@そうだ選挙にいこう :2006/09/09(土) 06:34:14
>>567 使いませんが
ところで非保護にはできなんでしょうか?
569 :
名無しさん@そうだ選挙にいこう :2006/09/09(土) 07:42:06
ヒント:にくちゃんねる
>>568 意味無くあげるのはよそうね
あと567のレスで理解出来ないなら
もう来ないでくださいね
わかるわけねーだろ
>>562 [データ]-[外部データの取り込み]-[新しいwebクエリ]でいけるかな
出来ないでFAw かえれ
>>566 よくわからんけど、ヘッダだけあらかじめ印刷しとけばいいんじゃない?
よくわからんけど、最初から紙に書けばいいんじゃね?
>>568 移動とか大きさ変更とかの編集は「ロック」のチェック外しとけばできるはず
リストやリンクするセルがある場合には、そこもロック外しておかないと
駄目なんじゃね?
どだい保護のロックに言及してるのにActiveXコントロールと勘違いするような VBA脳には無理な相談だったな
580 :
名無しさん@そうだ選挙にいこう :2006/09/09(土) 08:55:06
>>570 意味無く上げて見ましたが
な に か ?
>>579 どこが?どう恥ずかしいのかご教授頂けませんか先輩。
ああ、もしかしたらVBAじゃないと解決できないっ☆って思い込んでるとこでしょうか。
それとも自分の脳内説明の前提は他人も理解してないとおかしいと思ってるとこかなあ?
もしかしたら、説明が否定されると人格否定されると思ってるとこかな?
わっかんないやー。悪いとこは直すから教えて大先生様
>>581 糞質問者にヒントは出すなよ・・・
遠回しに煽って楽しむ流れだろうに・・・
せめて質問の内容に答えてくださいよ大先生様wwww
ああ、すみません。大先生の残りカスみたいなプライドまで奪うつもりはないんで。 てか、どうでもいいんで、この変で消えます。 スレ汚し失礼しました。
空気読めない人は 読解力ないのかな
お、逃げた 捨て台詞まで吐くとは負け犬根性全開だな
質問です。 A2に「=A1」と入っています。 ここでA2にセルを挿入し、下方向にシフトしてA2がA3に移動します。 すると、A3はA2のときと同様「=A1」となります。 これを「=A2」と変化するようにしたいのですが、どうすればいいのでしょうか?
説明補足 A1「」 A2「=A1」 が A1「」 A2「」←行の挿入 A3「=A1」←A2の内容のまま となるのを、 A1「」 A2「」←行の挿入 A3「=A2」←1行下にシフトした分、参照セルも1行下にシフト になるようにしたいということです。 なぜこんなことをしたいかというと、 1行前のデータを参照する表を作っており、しかも行の挿入を行うことがあるからです。
だったら最初から指定セルを参照する式ではなく 一つ上のセルを参照する式書けばいいじゃん。 どう書くのかとかは聞かないでね。ヘルプに載ってるから。
┌─────────────────────────── │ U │グラフウィンドウ U │ ここまでがモニタに表示される部分→Uこれより右は、画面の外 │ U │ U └─────────────────────────── ├──┼──┼──┼──┼──┼──┼──U──┼──┼──┼ │データ│ │ │ │ │ │ U画面の外 ├──┼──┼──┼──┼──┼──┼──U──┼──┼──┼ │データ│ │ │ │ │ │ U画面の外 ├──┼──┼──┼──┼──┼──┼──U──┼──┼──┼ │データ│ │ │ │ │ │ U画面の外 ├──┼──┼──┼──┼──┼──┼──U──┼──┼──┼ │データ│ │ │ │ │ │ U画面の外 ├──┼──┼──┼──┼──┼──┼──U──┼──┼──┼ │データ│ │ │ │ │ │ U画面の外 ├──┼──┼──┼──┼──┼──┼──U──┼──┼──┼ │データ│ │ │ │ │ │ U画面の外 ├──┼──┼──┼──┼──┼──┼──U──┼──┼──┼ 図が大きくてすみません。質問させてください。 A列にデータが縦に順番に入力される状態で、その値をグラフにプロットするというシンプルなシートがあります。 この状態でデータを入力していくと、やがてグラフは画面の外でプロットする状態になります。 これを常にプロットした点を追い続けるようにするにはどうすればいいでしょうか? 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 はい
>>590 ありがとうございます。
簡潔なお答えいただき感謝です。
回答より薀蓄重視のレスで、しかも正答より亀レスな>*91氏もありがとうございました。
頭の悪い奴ほど回りくどいし的確でない情報を連ねるからな。 キレる奴は一行の回答で十分。
自分の意見すらなく 他人をけなすだけの595よりはマシじゃない?
597 :
名無しさん@そうだ選挙にいこう :2006/09/09(土) 11:35:52
↑ 毎度のパターンの後、必ずこの手のレスがつく
> 自分の意見すらなく > 他人をけなすだけ そういう意味では少なくとも594は595と同じレベル。 あれが意見だというなら595も意見だし。
結論 >590 >>>>>>>>>> 他
煽るだけじゃなくて 回答も書けよ
>>578 そうなんだよね。
VBAがつかる使えないとは別にして何か操作方法があるはずなんだけどねえ。
結局だれもわからないのかあ・・・
ググっても出てこないし困ったなあ・・
>>589 自動再計算関数のOFFSETより名前の定義を利用した方がいいよ。
たとえばSheet1のB2にカーソルを置き、名前の定義で「上」と定義、参照範囲を=Sheet1!B1とすれば、
A2で=上とすれば2行目に行挿入してもA3の式の=上はA2を参照する。
603 :
名無しさん@そうだ選挙にいこう :2006/09/09(土) 13:29:21
どうか教えてください。 Microsoft Office Excel 2003をWINの2000で使用しています。 毎月の売上を管理しているのですが、 小数点以下を切り捨てて計算をするにはどういう作業をすればいいのでしょうか? 0.00 →0.0 というボタンを押して隠して計算していたのですが、 隠れていた小数点以下の部分が足されて1円繰り上がったりして悩んでいます。 そんなセルには、結局電卓で計算して打ち込むという効率の悪さ…。 条件付書式の所もいじってみたのですが、上手くいかず… データの入力規則の条件の設定を ・入力値の設定→小数点数 ・データ→次の値以上 ・最小値→0 にしてみたんですが、これで合っていますでしょうか???
A1のセルに "バナナ" もしくは "リンゴ" もしくは "みかん" 以外の文字が入っていた場合、 A1のセルの背景色を変えるというマクロを教えてください。 バナナ以外の場合とした場合はこれで何とかいけました。 If Not Range("A1").Value = "バナナ" Then Range("A1").Interior.ColorIndex = 10 バナナとリンゴとみかん以外の場合について、どうぞよろしくお願いします。
605 :
名無しさん@そうだ選挙にいこう :2006/09/09(土) 13:41:53
>>603 切捨ては関数の INT,ROUNDDOWN などでどうぞ
素人的な質問で申し訳ないんですが あるセルの値がマイナスであれば、その隣のセルに ゼロを、正の値であれば隣のセルにそのままその値を 表示させたいんです。 この、前半の部分についてはIF関数を使って解決でき たんですが、後半がやりかたがわかりません。 一応いま =IF(任意のセル<0,"0","") というふうにして、マイナスの値が出た場合は 強制的に一律ゼロを表示させるという部分はできて いますが、正の数の場合、空欄になってしまいます。 仮に"任意のセル"とやっても、そのセルに入っている 数値ではなく、“T15”とかそのままストレートに 文字が表示されてしまいます。 後半の“正の値であれば隣のセルにそのままその値 を表示”させるというやりかたのわかる方は ご教授願います。わかりにくくてすみません。
「"任意のセル"」じゃなくて「任意のセル」でよろしく。
609 :
名無しさん@そうだ選挙にいこう :2006/09/09(土) 13:50:17
, と " の置き場所がわかんない
>608 ありがとうございます。 =IF(任意のセル<0,"0",任意のセル) で行け ということでしょうか? そうしたらFALSEと表示されてしまうんですが…。
>>607 =IF(T15<0,0,T15)
=MAX(T15,0)
表示だけでよければ、表示形式をG/標準;"0"
607です。 ありがとうございました。でけました。
613 :
名無しさん@そうだ選挙にいこう :2006/09/09(土) 15:15:00
初めまして。質問なのですが 行の幅を広げたときに、行番号の表示が幅の下に合わせて表示 されるのですがこれを中央(又は上)に表示したいときはどう 操作すればよいのでしょうか?
614 :
名無しさん@そうだ選挙にいこう :2006/09/09(土) 15:45:30
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可(他に方法がなかったら) 【5 検索キーワード 】 エクセル 並び替え アルファベット 優先 数字 普通に昇順で並び替えを実行すると数字が優先されますが、 数字よりもアルファべットを優先させたいのですが。 具体的には、上のセル→下方向へ AA-AAAA AA-AAAB AA-AAAC AA-AAA1 AA-AAA2 AA-AABA AA-AAB1 といった順番に並び替えたいです。 何卒宜しくお願いします。
615 :
名無しさん@そうだ選挙にいこう :2006/09/09(土) 15:48:01
>>615 レスどうもです。
行の番号自体を中央に配置したいのです。1とか2とか3とか…
列なら表示がいつも幅の真ん中にありますが、これも移動することはできないのでしょうか?
617 :
名無しさん@そうだ選挙にいこう :2006/09/09(土) 16:40:59
セルの内容をキーボードだけで移動させる事はできますか?
>>614 英数字とハイフン7文字程度ならたとえば
=SUMPRODUCT(FIND(MID(UPPER(A1)&REPT("-",7),{1,2,3,4,5,6,7},1),"-ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")-1,100^6*1/100^({0,1,2,3,4,5,6}))
などで別の並べ替え用の値に変換してそちらをキーに並べ替える
619 :
名無しさん@そうだ選挙にいこう :2006/09/09(土) 16:52:16
>>606 ・5 回答内容でわからない部分があっても、すぐに聞き返さずにヘルプやGoogleなどで検索しましょう。
意味がわからないからすぐその意思表示。餓鬼かw
すぐ聞き返さずに調べろ。馬鹿。
意味がわからないのは、お前の頭に原因あり。
621 :
名無しさん@そうだ選挙にいこう :2006/09/09(土) 17:02:11
【1 OSの種類 .】 windows2000 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 VBA フォーム 伝票 伝票を作りたいのですが・・ 番号 商品名 価格 1 牛乳 200 2 卵 100 3 コーラ 150 というような表があるとします。 VBAでテキストボックスを3つ、コマンドボタンを1つ配置し、 テキストボックスに商品番号を入力してコマンドボタンを押すと、残りのテキストボックスに 商品名と価格をだすようにしたいのですが、コードはどのように書けばいいでしょうか?
>>616 見出しの番号は下固定なのよ
行見出し非表示にしてA列グレーに塗って番号振るとかしかないんじゃないかな
>>617 ショートカットキーいろいろ使うとできるんじゃない?
とりあえずは[Ctrl]+[X]で切り取って[Ctrl}+[V]で貼り付けかな
他にもヘルプの「ショートカット キー」に書ききれないほど詳しく載ってるよ
624 :
名無しさん@そうだ選挙にいこう :2006/09/09(土) 17:15:31
>>623 ありがとうございます、もっと勉強します!
>>621 ブックのどこかに対応する表があれば、そこからひっぱってくるのがいいんじゃないかな?
VLOOKUPワークシート関数になれてれば、そのまんま
a = InputBox("番号を入れてください")
Set tableRange = Worksheets(シート名).Range(セル範囲)
b = Application.WorksheetFunction.VLookup(1, tableRange, 2, False)
c = Application.WorksheetFunction.VLookup(1, tableRange, 3, False)
MsgBox b & ":" & c
みたいな書き方でいいし、他にもいろいろな方法があるよ。findメソッドが楽かな。
かなりはしょって書くとこんな感じ
a = InputBox("番号を入れてください")
Set tableRange = Worksheets(シート名).Range(セル範囲)
b = tableRange.Columns(1).Find(a).Offset(0, 1).Value
c = tableRange.Columns(1).Find(a).Offset(0, 2).Value
MsgBox b & ":" & c
ただ、「見つからなかった場合の処理」も書いとかないとエラーで止まるかもね。
がんばって。
あ、
>>625 の「VLookup(1, tableRange, 2, False) 」は「VLookup(a, tableRange, 2, False)」だった。
調べる値は変数(この場合はテキストボックスの値かな?) にしないと駄目だね。
ごめんごめん。
627 :
名無しさん@そうだ選挙にいこう :2006/09/09(土) 17:32:51
>>625 ありがとうございます
VLOOKUP関数、使えるようにがんばってみます
628 :
初心者 :2006/09/09(土) 17:53:18
初歩的な質問ですみません。Excel2002を使っています。 質問: 文字に○をつけるにはどうすればいいですか? 例: 「男・女」 女の方に丸をつけたい場合。
629 :
名無しさん@そうだ選挙にいこう :2006/09/09(土) 18:00:31
630 :
名無しさん@そうだ選挙にいこう :2006/09/09(土) 18:04:33
>>628 初歩的な質問なら
初心者でも努力すれば
自分でなんとかできるのでは?
>>628 なんで無意味な改行をしてるの?
読む人のことを考えないのはなぜ?
>>622 ありがとう。
行の見出しを非表示にするにはどうすればいいのでしょうか?
634 :
名無しさん@そうだ選挙にいこう :2006/09/09(土) 21:17:54
よろしくお願いします。 【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel 印刷、Excel プレビュー など 編集画面上とプレビュー画面では全然違うのをどうにかできませんか? やっと仕事終わった〜→印刷→うはwwwwセルに納まってねえやwwww のコンボはもう沢山です(涙
635 :
名無しさん@そうだ選挙にいこう :2006/09/09(土) 21:24:21
>>634 どうにもなりません
セルの書式の「縮小して全体を表示する」をチェックする、とか
印刷前にプレビューよりさらにフォントを小さくする
などするとマシになります
637 :
名無しさん@そうだ選挙にいこう :2006/09/09(土) 22:13:20
初歩的な質問ですがお願いします。 【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 グラフ 変更 エクセル 職場でエクセルを使って月間データをグラフにしています。9項目のうち、一つが折れ線グラフで 残りは縦棒グラフです。このデータ(表)にもう一つ棒グラフの項目を増やしたいのですが、増やした 項目が折れ線グラフになってしまいます。どうすれば棒グラフに出来ますでしょうか?
638 :
634 :2006/09/09(土) 22:19:25
>>639 出来る人間はスレ違いなんかに嬉々として答えたりせんよ。
642 :
名無しさん@そうだ選挙にいこう :2006/09/09(土) 23:57:14
VLOOKUP関数について質問です A1に =VLOOKUP(20,B1:B6,3,TRUE) という式を入力、B4に20という数値が入っており、B4以外のB1〜B6には500という数値が入ってます C〜F列の1〜10行全てに1000という数値が入ってる状態です A1には#REF!とエラーがでてます。 この状態だとB列の1-6行を検索して20という数字があればその列を含めた3つ左の数字、 1000を返すと思うのですが、エラーがでてしまいます エラーも調べて無効なセル指定をした場合のエラーということですが、これはどこが悪いのでしょうか?
643 :
名無しさん@そうだ選挙にいこう :2006/09/10(日) 00:17:05
>642 =VLOOKUP(20,B1:F6,3,FALSE) TRUEが使いたい場合は、 B列のソートが必要
645 :
名無しさん@そうだ選挙にいこう :2006/09/10(日) 00:31:44
>>643 >>644 ありがとうございます!
やっとできました。。。
TRUEにした場合、検索値"未満"ということに気付かずに迷ってました
【1 OSの種類 .】 Windows 2000 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい (少し) 【4 VBAでの回答の可否】 可 A列 01 02 03 01 01 02 01 02 03 04 これを A列 B列 01 1/3 02 2/3 03 3/3 01 1/1 01 1/2 02 2/2 01 1/4 02 2/4 03 3/4 04 4/4 とこんな感じでAがたまに1に復帰するのを、B列に分数表示させる方法教えてください。
>>637 増やした折れ線グラフを選択して
データ系列の書式設定 〜 軸
648 :
名無しさん@そうだ選挙にいこう :2006/09/10(日) 10:59:23
>>646 いきなりB列に結果を出そうと考えずに、条件(規則性)を分解して
考えてごらん。少しづつ答えが見えてくるよ!
例えば
1.値が大きくなる場合は処理A、違えば処理B
2.連続して値が大きくなっている範囲の各個数は
649 :
名無しさん@そうだ選挙にいこう :2006/09/10(日) 11:55:50
【1 OSの種類 .】 Windows XP Pro 【2 Excelのバージョン 】 Excel 2002 Sp3 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 VBA activesheet.paste 外部のデータ VBA activesheet.paste エラー VBA activesheet.paste error 他に 手持ちの関連書籍もみました。 WEBブラウザに表示されているう文字データを CTRL+Cで クリップボードに保持し、 その状態で、エクセルに戻り、マクロを実装するとactivesheet.pasteでエラーがでます。 デバッグ中は動作するので、なにかエクセルの外のデータ(この場合クリップボード)との データのやり取りがなにかあるのかなと思いましたが、回答が見つかりません。 よろしくお願いします。
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 エクセルの機能にある、入力規則について教えてください。 入力規則のリストを用いたセルがあります。 ├───┼ │ │▼ ├───┼ ▼のボタンを押すとリストに入った項目が表示されるとおもいます。 この表示のされ方なのですが、 8項目が表示されて、それ以上の項目はスクロールで表示させるというスタイルになっています。 (これはどのエクセルでもそうなのでしょうか?) で質問なのですが、この表示の仕方を変更することは可能ですか? 具体的には10個の項目があった場合、 現在:8個表示+2個スクロール ↓ 希望:10個表示+スクロールなし にしたいと考えています。 どうぞよろしくお願いします。
>>651 それは本来コンボボックスというものの役目なんだが、
入力規則のリストは、コレをシート上で手軽に使えるようにしたもの。
手軽さを追求した故に、面倒な設定はしなくていい代わりにしたくてもする事も出来ない。
細かい設定がしたければ、コントロールツールかフォームツールのコンボボックス使いましょう。
まあVBA使いこなせるなら、API使ってドロップダウンのサイズ変更してもいいけどね。
>>652 なるほどリストじゃなくてコンボボックスですか。ありがとうございます。
AutoFilterメソッドを使用して任意のキーでデータを抽出したあと、オートフィルタを解除せずに 全てを表示するように戻すには、どうすればよいのでしょうか? (=▼のドロップダウンのオートフィルタで(すべて)を指定した状態にしたい) AutoFilterMode = OFF ですと、オートフィルタそのものが解除されてしまいます。
3列くらいなら Selection.AutoFilter Field:=1 Selection.AutoFilter Field:=2 Selection.AutoFilter Field:=3
>>655 なるほど。抽出キーが多数なら、Field:=の値をFor Nextで回せば一発で行けそうですね。
ありがとうございます。
>>647 ありがとうございます。月曜出社してやってみます。
658 :
名無しさん@そうだ選挙にいこう :2006/09/10(日) 16:49:49
VBA(マクロ)素人なのですが、Excel VBAの"リストBOX"は最大10列しか表示できない仕様なのでしょうか? (20列ある入力データシートのリストをリストBOXに表示すれば見た目綺麗かなと思いまして........). どなたか経験、又は知っている人はいますか?(ヘルプに最大列数の規定が出てこないです)
>>658 つ ListView
使い方はVB6の解説を参照。
>>658 ColumnCountプロパティで20指定すればいけるんじゃね?
ListBox1.List = Range("A1:T20").Value 'データ範囲指定
ListBox1.ColumnCount = 20 '列数指定
ListBox1.ColumnWidths = Application.Rept("20;", 20) '列の表示幅指定
行(のみ)の見出しを非表示にするにはどうすればいいのでしょうか?
>>661 マクロを使う
エクセルのバージョンすら書いてないので
コードは省略
663 :
名無しさん@そうだ選挙にいこう :2006/09/10(日) 21:27:38
シートを他の人にイジられないように、ロックする方法って確かありましたよね? セルをロックすることってできます? 他の人も触ることがあるんですが、一部のセルに入力した数式とかを保護しておきたい。 これはさすがに無理ですか?
>>663 いい子だから質問する前にテンプレ読もうね
665 :
名無しさん@そうだ選挙にいこう :2006/09/10(日) 22:03:32
すまんかった 【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 【5 検索キーワード 】
テンプレ使えってことじゃないだろ ▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
>>665 起動時にパス入力させるマクロでも組めばいいんじゃねw
668 :
名無しさん@そうだ選挙にいこう :2006/09/10(日) 22:17:07
意地悪だなー
>>663 右クリ→保護→表示しないにチェック
ツール→保護→シートの保護→上2つにチェックが入っていることを確認→
passは好きに汁
意地悪だなー
671 :
名無しさん@そうだ選挙にいこう :2006/09/10(日) 23:24:02
まねするなよ、ガキっぽいぞ
え?質問の意味分かってないの???
意味も無く敏感だね
行(のみ)の見出しを非表示にするにはどうすればいいのでしょうか? versionは2003です。
「行の見出し」とは何を指しているのかな? 任意の行を非表示にするだけじゃダメなのかぇ
>>675 レスどうもです。
「行の見出し」=「行番号」です。(一番左の1、2、3…ってやつです。)
ツール→オプション→表示→行列番号のチェックを外したとき行の1、2、3も…
列のA、B、C…も表示されなくなりますが、この行だけを非表示するようにしたいのです。
それはダメだと思う。
679 :
名無しさん@そうだ選挙にいこう :2006/09/11(月) 12:26:03
Excel2003です。 ADDRESS関数で出したセル番地を例えばB7だとします。 それからその列全部を足す(B1からB7まで)関数ってありませんか? SUMだとうまくいかなくて…よろしくお願いします。
>ADDRESS関数で出したセル番地を例えばB7だと そこでB7を出すのはいいとして >それからその列全部を足す(B1からB7まで) このB1がどこから出てくるのか、Accessには判断しようがない。 最初の行から全てとかの指定は、そういったロジックを人間が書く必要がある。
>>679 INDIRECTワークシート関数を使うと文字列からセル参照できるよ。
B1固定ならこんなかな?
=SUM(INDIRECT("B1:" & ADDRESS(7,2)))
682 :
名無しさん@そうだ選挙にいこう :2006/09/11(月) 14:41:00
EXCEL2000です、どうか教えて下さいまし。 30行くらいある表を他のある部分に食い込ませて挿入したいのですが、 1行ずつ「挿入」をクリックしながら空間を作らないとなりませんか? 他に方法ないでしょうか?
シート1の1行目 シート2の1行目 シート1の2行目 シート2の2行目 ・ ・ ・ としたいということ? であれば、まずシート1、2、それぞれを1行空き状態にする。 データがそれぞれA〜Cの3列にあるとして、シート2のデータを1行ずらしてD〜Fに貼る。 シート1の1行目 シート2の1行目 シート1の2行目 シート2の2行目 そのあと、左のA〜C列の空いてる所をCtrlを押しながらクリックしていき選択。 最後に右クリックで削除を選び、左方向にシフト を選んで完成。
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】否 【5 検索キーワード 】 文字数制限 自動 次セル 一つのセルに一定文字数を入力した時点で 次のセルに移動させる事は可能でしょうか?
685 :
682 :2006/09/11(月) 15:50:36
>>682 シート2とかシート3とか使用した経験が無いのですが、
なるほど、そういう方法があるのですよね
データが100行くらいあるとすると「30行のデータA」を50行めから
食い込ませるには、
1.1〜49業をまずシート2に移行
2.シート2の50行めからに「30行のデータA」を移行
3.シート1の50〜100行めをシート2の81行目からに移行
これでよいんですよね。シート1を表示されてる時に「上書き」すれば
シート2、シート3も自動的に上書きされる、それで間違ってないでしょうか?
>>685 ん???1行毎交互にデータを入れ込むんじゃないのか?
>>685 の内容だったら100行あるデータの50行目から30行分、
若しくはそれ以上の空行を一気に挿入してしまって
そこに30行分のデータをコピペして、挿入しすぎてしまった空行は削除すればいいだけだと思うんだが。
>682 同じ列にデータがあって、1行おきに差し込みたい時は 補助列にオートフィルで、差し込まれる側を 1,3,5… 差し込む側を 2,4,6… と入れておいて並び替え。 >683 空白を選択するときに、そんな面倒なことはしない。 範囲を選択しておいて、編集→ジャンプ→セル選択→空白セル
>>684 文字数の制御は入力規則で可能。
但し、自動で次のセルに移動させるにはVBA必須。
689 :
通りがかり :2006/09/11(月) 17:45:04
>>686 >30行分、若しくはそれ以上の空行を一気に挿入してしまって
そんな事出来るんですか?
どうやってするんですか?私も1行ずつしか挿入出来ないと思ってましたが。
690 :
名無しさん@そうだ選挙にいこう :2006/09/11(月) 17:58:30
>>688 回答ありがとうございます。
VBAですか・・勉強してみます。
>>576 正解でした。
コンボボックスの参照リンク先をロックをはずしたところ
セルを非保護にできました。
どうもありがとうございました。
結局VBAはまったく関係なかったですねw
なんだ、
>>682 は1行おきじゃなかったのか。
それなら、挿入したい表をコピーして
挿入したい場所でコピーしたセルの挿入。
選択した行数だけ挿入されるのって知らないんだ。。。
>>689 挿入開始行から下にマウスを引っぱって30行分選択して「挿入」する。
695 :
名無しさん@そうだ選挙にいこう :2006/09/11(月) 18:57:36
【1 OSの種類 .】 Windows 2k 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 少しなら 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 VBA excel 連番 row お聞きします。 VBAを使ってセルA7から(A6は見出し行)連番をつけたいのです。 VBAからセルに関数を入れるやり方ならできたのですが、セルを選んだ時に式が そのまま見えて見栄えがよくありません。 VBAで連番(値)をつける方法を教えてください。 やろうとしてることは、ユーザーフォームでテキストボックスに入力されたら それをセルB7に入力される。(これはできました)そしたらセルA7に番号が振られるという風に したいです。データはどれだけ入力されるかはわかりません。 宜しくお願いします。
連番なんか、最後に好きなだけフィルしたほうが速いだろ 何秒かかるんだ
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 不可 【5 検索キーワード 】 セル 数値 代入 平均 一つお伺いしてよろしいでしょうか。 今、セルA1〜A4まで数値を入力してセルA5に1〜4の合計を表示させるという作業をし、その合計を含めた過去3回分で平均を取るという物を作っています。 説明ではいまいち上手く伝えられないので具体的に書くと A 1 80 2 26 3 61 4 22 5 189(A1〜A4までの合計) 6 7 159(直前に行った時の数字) 8 144(2回前に行った時の数字) 9 164(過去三回分の平均) このような感じです。 この後、A5に出た数字は次の試行時にA7に、A7の数字をA8に移して常に最新のデータで平均を取り続けたいのですが、どのように組めばそういったことが出来ますか? VBAはなるべく使わないでやりたいです。 どなたかご教授お願いします
698 :
名無しさん@そうだ選挙にいこう :2006/09/12(火) 00:06:11
ここんとこシートの作り方が悪くて
処理を難しくしてるケースが多い気がする
>>697 入力値は毎回セルA1〜A4に上書きしてるのかな?
だとしたら平均値を毎回「値複写」していくぐらいかな
複数シートがあるブックがあるんですが、一つのシートを目次として、 ハイパーリンクまで張ってくれるフリーソフトってありませんか? シェアではあったんですが。。。
>>699 なら買えばいいでしょ
お前の節約のために周りを巻き込むなよ
701 :
697 :2006/09/12(火) 07:15:42
>>698 解答ありがとうございます。
「値複写」というのが少々分からないので、調べながら作ってみます。
>>701 「形式を選択して貼り付け」→「値」 <値複写
のことでしょ。
703 :
名無しさん@そうだ選挙にいこう :2006/09/12(火) 08:56:12
よろしくお願いします。 windowsxp office2003 vba 不可 否 012345 654321 415632 123624 : とあるデータの一番右の数字が担当者を表しています(例えば1は山田、2は佐藤…などで、担当者は5人です。) データのすぐ右に担当者名を表示させるにはどうしたらよいでしょうか? 以下、自分でやってみたことです。 1. RIGHTで一番右を取り出し、別セルに表示させ、数字と担当者名の 表を作り、VLOOKUPで表示させる。 2. 1.をifでつなげる。 もう少し簡単な方法があったら教えてください。お願いします。
>>730 別セル使わないで、関数をネストして一つの式で完結させるくらいかな。
つーか、IFは要らないじゃん。
705 :
ドラゴン☆☆☆☆☆☆ ◆W8e3Jn6xpA :2006/09/12(火) 09:54:41
>>704 早々のご回答ありがとうございます。
ということは、数字と担当者の表を作業セルで作ってということですね。
作業セル自体を作らずに表示させるというのは難しい話でしょうか?
>>705 たった5名くらいならCHOOSE関数で十分だろ?
あまり多いのであれば数字と担当者の表を作るのが普通だが。
707 :
ドラゴン ◆W8e3Jn6xpA :2006/09/12(火) 10:37:18
>>706 ありがとうございます。
CHOOSE関数でやってみます
データ整理に関してなのですが、 リンク元データを自動で並べ替えて表示する方法はありますか? 今までは、『データ→並べ替え』という方法でしてたのですが、 それだと時間と手間がかかるので… 何か良い方法を知ってる方、教えてください。
709 :
名無しさん@そうだ選挙にいこう :2006/09/12(火) 12:43:22
例えばA1に春、夏、秋、冬が項目のリストがあるとして 夏を選択したら、特定のセル(例えばD22)に移動もしくはリンクすることは可能でしょうか。 春、秋、冬を選択しても同じように、別のセルに移動したいです。
>>709 『夏』のセルを選択⇒右クリック⇒ハイパーリンク⇒ブックマーク
⇒【セル参照を入力してください】に『D22』と入力すれば
『夏』のセルを選択(クリック)した時にD22セルに移動できます。
711 :
709 :2006/09/12(火) 15:16:15
>>710 ありがとうございます。
・春を選択したらC10
・夏を選択したらD22
・秋を選択したらE30
・冬を選択したらF45
というように、それぞれ別のセルに移動したいのです。
710さんの方法では、1つのセルにしか移動できないみたいなので・・・。
一つのセル内で、入力値によってジャンプ先を変えたいのか? そりゃVBA必須だ。 Worksheetのchangeイベントに書いておけ。 If Not Target.AddressLocal = "$A$1" Then Exit Sub select (target.value) case "春" target.worksheet.range("C10").activate (↑こんな感じで夏秋冬も繰り返し) end select
713 :
名無しさん@そうだ選挙にいこう :2006/09/12(火) 16:32:26
1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel97 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 セル3個飛ばしのデータで折れ線グラフを描くと、点のプロットになりますが、線でつなぐ方法はありますか?
714 :
名無しさん@そうだ選挙にいこう :2006/09/12(火) 16:37:50
すみませんが、教えて下さい。 エクセル(XP)で9ページほどの月ごとの集計表をつくり、次月の分は 前月のものを開いて修正し、「名前をつけて保存」をくり返していたの ですが、データ量はほとんど変わらないのに、ファイルサイズは倍々 ゲームのように増えていき、最初は数百キロバイトだったものが今では 6メガバイトくらいにふくれあがっています。 原因はなんなのでしょうか?また、解決方法はあるのでしょうか?
【1 OSの種類.】 WindowsXP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】否 【5 検索キーワード 】 なんと検索すれば良いのか分かりませんでした。 高校3年の者です。 今、学校の授業でHP作成をやっているのですが、作品が完成し、自分以外の生徒の評価を付けるためにExcelで表を作りました。 その表は様々な点から点数を表に入れていき、足していくのですが自動的に計算できる方法がどうしても分かりません。 どうか教えて下さい。 長文すみません・・・。
>>715 >様々な点から点数を表に入れていき、足していく
技術 内容 表現 合計 ←様々な角度から評価し
鈴木一郎 19 15 18 52 ←点数を表に入れていき
↑ここを自動計算させる
ということでしょうか?
であれば、合計点数を入れたいセルにカーソルを合わせ、
上のメニューにある Σ のマークのボタンを押し、そのまま合計したい範囲をマウスで選択し
最後にエンターを押すだけです。
>>713 状況がよく掴めなかったのでハズしてるかもしれんが
グラフオブジェクトを選択(グラフシートを表示)した状態で
[ツール]-[オプション]-[グラフ]
空白セルのプロット : プロットしない(空白を残す)
を値0とか補間とか変えてみれ
【1 OSの種類.】 WindowsXP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 変更履歴以外で、セルの値を変更した時、値を変更したセルに 何か印をつける事ができますか? 例えば、セルの値が変わったら、セルの色が赤になる等。
719 :
709 :2006/09/12(火) 17:36:16
>>712 できました!ありがとうございました!
即答できるのがすごすぎ
VBA勉強しよう…
720 :
713 :2006/09/12(火) 17:42:47
>>717 さん
補完してプロットする、でうまくいきました。
ありがとうございました。
>>718 > セルの値を変更した時
に起きるイベント
つ Worksheet_Change
> セルの色が赤に
するプロパティと定数
つ .Interior.Color = vbRed
>>716 >>715 です。
こんなに早く、且つ分かりやすいアドバイスありがとうございます!!
今
>>716 さんの言う通りにやって出来ました!!
本当に助かりました。
繰り返し感謝致します。
723 :
名無しさん@そうだ選挙にいこう :2006/09/12(火) 20:31:16
コンボボックスのリストの内容を別のセルの内容によって変えることは出来ますか? 具体的にはA1のセルに銀行名を入れると、A2のセルにその銀行ごとに対応した支店名 (勿論支店のリストは事前に入力済みとして)をリスト表示させたいのですが・・
724 :
名無しさん@そうだ選挙にいこう :2006/09/12(火) 20:41:29
すいません、事故解決しました
725 :
名無しさん@そうだ選挙にいこう :2006/09/12(火) 22:03:55
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 no 【4 VBAでの回答の可否】 否 表の一部をいろんなシートから切り貼りして繋いでいくのですが どのシートから切り取ってきたか解かるように 元のシート名も一緒に切り出したいと思っています。 シート名をそのシート内のセルに表示させる関数ってありますか。
【1 OSの種類.】 Windows2000 【2 Excelのバージョン 】 Excel97 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 開いている全てのファイルのイベントをひとつのファイルのVBAで検知したいのですが、どのようなカラクリで実現できるのでしょうか? 強制的にVBAのコードを全部のファイルに潜り込ませるとかそういうのでもいいです
727 :
名無しさん@そうだ選挙にいこう :2006/09/12(火) 22:33:20
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 少しだけ 【4 VBAでの回答の可否】 可 A列に田中、山田、鈴木、田中、鈴木、井上・・ など文字列が順に入っている時、重複しているものを全て見つけるにはどうすればいいでしょうか? (この場合は田中と鈴木) 上から順に検索しても見付かりますが、数が膨大なので一度に見つける方法を知りたいです・・・
>>727 「excel 重複行削除」とかでググれ
>>725 保存してあるという条件で
=CELL("filename",A1)
を加工
>>727 とりあえず重複を問答無用で削除したり見えなくしたりするんじゃなくて「見つける」のが目的なら
A列全体を選択した状態で、メニューの書式から条件付き書式を選択
左端の「セルの値が」を「数式が」に変更して =COUNTIF($A:$A,A1)>=2 と入力
あとは書式ボタンをクリックして文字を赤くするなりなんなりお好きなように設定してOKを押す
731 :
名無しさん@そうだ選挙にいこう :2006/09/12(火) 22:51:33
>>721 ありがとうございます。
そこで、なんですが、targetに相対的なセルの変化のイベントを
起こさせるには、どうしたらいいでしょうか?
絶対的セルのイベントならできるのですが。
なんどもすいません。よろしくおねがいします。
733 :
732 :2006/09/13(水) 12:13:27
すいません。 自己解決できました。
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい(多少は) 【4 VBAでの回答の可否】 可 複数のメール(メーラーはOutlookExpress使用)に添付されたexcel内 (若しくはメール本文内)の決まった位置に入力されている値(氏名,数量 等)を 参照し、1つのEXCELシートに出力(氏名ごと数量一覧 等)する方法って なにかありますでしょうか? スレ違いかも知れませんが、ご助力お願い致します。
735 :
名無しさん@そうだ選挙にいこう :2006/09/13(水) 15:53:49
【1 OSの種類 】 WindowsXP Home 【2 Excelのバージョン】 Excel2003だと思う 【3 VBAが使えるか 】 いいえ 【4 VBAでの回答の可否】 否 A1〜A10に数式が入っていて、条件を満たすと特定の文章が出て、満たしていないと空白になるようにしてあります。 それを印刷用にB列に写すのですが、A列での空白セルを省いて、上へ詰めて表示したいのですが、何かいい方法があるでしょうか?
ジャンプで空白セルを選択して削除
数式入ってるとジャンプの空白セルとしてカウントされないんじゃね? 手作業なら作業用の見出し行いれてオートフィルタ→空白以外のセルでコピー&ペースト→フィルタ解除 関数式はわかんね
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 ExceL2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 A1のセルに1と打ったら『山田』 2と打ったら『鈴木』 3と打ったら『佐藤』と出るようにしたいです。 足がかりすら掴めてない状況です。どうかよろしくお願いします。
Aの列でした。すみません。
740 :
名無しさん@そうだ選挙にいこう :2006/09/13(水) 20:13:34
>>738 =CHOOSE()
=VLOOKUP()
etc.
741 :
名無しさん@そうだ選挙にいこう :2006/09/13(水) 20:14:04
【1 OSの種類 .】 Windows** 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Googleやヘルプでの検索キーワード VLOOKUP関数についてお聞きしたいのですが、 本を見ると、「範囲内の列番号の列を垂直方向に検索する」とあります。 水平方向に検索することはできるのでしょうか? またできる別の関数があればお教えください。
742 :
名無しさん@そうだ選挙にいこう :2006/09/13(水) 20:14:36
別のシートでもどこでもいいけど、B列に1、2、3〜 C列に山田〜 A1に=vlookup(A2,b1:c6,2,false)、A2に1、2〜で 詳しくはvlookupでぐぐれ
743 :
名無しさん@そうだ選挙にいこう :2006/09/13(水) 20:22:47
Excel2004@Mac OS X です 入力規制からのリストについてなんですが 任意のセルをクリックすると右に三角形がでてプルダウンできるようになりますが、 三角形をクリックせず、そのセルをクリックするだけでプルダウンできるようにしたいのです 青色帳簿というシェアウェア販売しているExcelの経理ファイルでそれを実現しており、Excelで できるのは間違いないようです。ちなみにそのファイルは保護してありどういう風になってるのかは わかりませんでした ↑の挙動としてはセルをクリックすると三角が右にあらわれ、もう一度セルをクリックするとプルダウン しました。
744 :
名無しさん@そうだ選挙にいこう :2006/09/13(水) 20:24:29
age
747 :
名無しさん@そうだ選挙にいこう :2006/09/13(水) 21:39:24
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 多少 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Excel 上付き ^ 変換 vba セルの値として,2^11+2^(2/3) を上付き文字で数式表現してあります. これを 実際に ” ^ ” を用いて「2^11+2^(2/3) 」表記に変換したいのですが, どのようなコードが考えられるでしょうか? よろしくお願いします. 11 2/3 2 + 2 を 2^11+2^(2/3) に変換したいという意味です.
>>747 こんな感じ?
Dim c As Characters, a As String, i As Integer, f As Integer
a = ""
f = 0
For i = 1 To ActiveCell.Characters.Count
Set c = ActiveCell.Characters(i, 1)
If f = 0 And c.Font.Superscript Then
f = 1
a = a & "^"
End If
If f = 1 And Not c.Font.Superscript Then
f = 0
'a = a & " "
End If
a = a & c.Text
Next
MsgBox a
749 :
名無しさん@そうだ選挙にいこう :2006/09/13(水) 22:12:02
【1 OSの種類 .】 WindowsXP Pro 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 宜しくお願いします。 ROUNDやROUNDDOWNに関してですが、上から○桁目で丸めるという 使い方はどうすればいいのでしょうか? 当方、できるだけ数式バーへの直接入力以外の方法で習得したいです。
>>748 凄いです!
私は,全然違う方向でとてつもなく無駄な事を試していました.
ありがとうございました.
もし,よろしければ今まで使ってきたvbaの参考書籍を教えて頂きたいのですが.
>>749 全体の桁数はわかるわけだから引き算で求まる
あとはヘルプを読む方法で習得してくれ
752 :
749 :2006/09/13(水) 23:16:10
>>751 レスありがとうございます。
小数点を基準としたやりかたはわかるんです。
ROUND関数を入力したセルをオートフィルで書式をコピー(相対参照で)
した場合に、それぞれの対象セルの総桁数が不揃いだとうまくいかないので
そのやり方を知りたいのです。
753 :
名無しさん@そうだ選挙にいこう :2006/09/14(木) 00:19:21
【1 OSの種類 .】 WindowsXP Pro 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 顧客データなのですが A列に県名B列に地域住所に分かれています 例 A B 東京都 渋谷区 東京都 足立区 それを結合というか、そのままA列に合体させたいのですが A 東京都渋谷区 東京都足立区 恥ずかしい質問なのですが宜しくお願いします
>>753 Z1=A1&B1
ZをAに値のみコピペ
>>753 C列とか使って
=A1&B1
出た結果をコピー→「値」を貼り付け
>>752 状況がわかりません…。
1000で割ってround(a1/1000,3)とかしたあとに1000掛けるとか
こういうのではないよね?
757 :
753 :2006/09/14(木) 01:29:29
>>754 >>755 こんなに早くレスが返るとは思いませんでした
解決しました、本当にありがとうございました
758 :
752 :2006/09/14(木) 01:32:18
>>756 説明がヘタで申し訳ないです。
A1に123456
B1に=ROUND(A1, この辺をなんとかして)
↓
B1に123000(上から3桁で丸める)
という設定にしたいのです。
で、A1を相対参照にしておけば、オートフィルで書式をコピーし、
A2、A3等に数値を入れたときにB2、B3に上から3桁で丸めた数値
を返すようにということなんです。
759 :
752 :2006/09/14(木) 01:48:35
すいません。
自己解決?しました。
A1のセル:1234567890
B1のセル:=ROUNDDOWN(A1,3-LEN(INT(A1)))
↓
B1のセルの値は「1230000000」になる。
これでいけますね。
ていうか、
>>751 はそういうことだったのかも。
そうだったら失礼しました。
760 :
名無しさん@そうだ選挙にいこう :2006/09/14(木) 01:58:14
A B C 9 / 14 のとき、「=A1&B1&C1」 として表示させた結果の 「9/14」 を 「値」で貼り付けても日付とは認識してくれないんですね
日付や時間は内部ではシリアル値で扱われるからね そして文字列で記述された日付や時間をシリアル値に変換する関数が用意されてる DATEVALUE TIMEVALUE
ほぅほうぅ、なるほど ありがとう。
763 :
名無しさん@そうだ選挙にいこう :2006/09/14(木) 10:07:52
【1 OSの種類 .】 Windows** 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 不明 直前の(場所が近いという意味で無く)数字と同じ数値・文字 を入れるショートカットってありますか?
直前に入力確定したセルの値ということか?
765 :
名無しさん@そうだ選挙にいこう :2006/09/14(木) 12:02:50
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 不可 【4 VBAでの回答の可否】 可(頑張ってみます) 列A,列Bを交互になるように同じ列にすることは可能でしょうか? ↓このような形です。 A1 B1 A2 B2 A3 B3 ↓ A1 B1 A2 B2 A3 B3 よろしくお願いします。
766 :
名無しさん@そうだ選挙にいこう :2006/09/14(木) 12:07:09
>>764 そうです。お願いします。
F4かと思ってたんですが・・・・
>>737 すぐにレスできませんでしたが、
>それを印刷用にB列に写すのですが
とあるから、その時点で値貼り付けされているという前提。
>>765 B列のデータをA列のデータの下に移動(A4:A6)
B1に1、B2に3、以下元A列のデータ分だけフィルコピー
B4に2、B5に4、で同じくフィルコピー、B列をキーに並べ替え
3行分くらいだと、かえってまどろっこしいかもしれないが、
この方法は3行でも100行でも、たいして手間は変わらない。
>>766 作らないとありません。
作るにはVBA必須です。
769 :
名無しさん@そうだ選挙にいこう :2006/09/14(木) 13:47:10
>>768 そのプログラムの行は長いですか?
それを書き込むとなんか影響されるんすか?
=vlookup(A1,B1:D4,3,FALSE)の範囲(B1:D4)と列(3)はそのままで検索(A1)だけ フィルドラッグする方法はありませんか? フィルドラッグにはこだわりませんが、全部書くのは時間がかかりすぎるので
> そのプログラムの行は長いですか? 長い長くないは、個人の感覚で違ってくるので、一概には言えません。 > それを書き込むとなんか影響されるんすか? それは書いたコードによって違いますし、どういう影響があるかは使用者が判断するものです。 ここでは目的だけ果たせれば影響なんて期にしないという人だけが丸投げを許され そういうのを気にする人は、自分にコード書くスキルが身に付くまでVBAは控えるか 信頼できるところに金払って作ってもらうかという選択肢になります。
773 :
名無しさん@そうだ選挙にいこう :2006/09/14(木) 14:40:05
774 :
名無しさん@そうだ選挙にいこう :2006/09/14(木) 14:41:53
すでに数値・文字が入っているセルをマウスを使わず、一部分だけ 修正する(カーソルを入れる)のはどうすればいいですか?
775 :
名無しさん@そうだ選挙にいこう :2006/09/14(木) 14:54:55
windowsxp office2003 vba 不可 否 01,05,09 02,06,10 03,07,11 04,08,12 このようなデータを 01 02 03 04 05 06 . . . 12 このように一列にしたいんですが、いい方法ないでしょうか? データ数はこんなに少なくなく、コピペでは無理なくらい多いです。 よろしくお願いします。
>>772 ありがとうございました。
すみません、絶対参照なんてすっかり忘れてました…
>>775 テキストエディタで開いて、カマを改行に置換
779 :
名無しさん@そうだ選挙にいこう :2006/09/14(木) 16:36:08
>>764 単純に「コピペすりゃええやん?」と思えるのは気のせいですか?
781 :
名無しさん@そうだ選挙にいこう :2006/09/14(木) 18:06:05
【1 OSの種類 .】 Windows** 【2 Excelのバージョン 】 Excel2003 数字が入力してあるセルの挿入・削除後、入力していた番号を自動的に変える ことは出来ますか? 1 1 1 2 2 2 3 → 3 → 3 4 5 4 5 6 5 6 ↑ こうしたい
782 :
名無しさん@そうだ選挙にいこう :2006/09/14(木) 18:14:56
>>781 =ROW()
この関数で行番号が出るから、それを工夫しなさい
783 :
名無しさん@そうだ選挙にいこう :2006/09/14(木) 18:30:17
>>768 ご返答ありがとうございます!!
…ただ、理解が出来ませんでした orz
別に理解しなくてもいいよ。 理解出来なくて困るのは君で、俺等じゃない。 困りたくなければ理解するように努力すればいいし。
説明下手指摘されて切れるなよwww 意味不明な(と勝手に思ってる)質問には文句言うくせにwww
>>786 Outlook(OL)ならVBA使えるからできる。
OEは無理。
788 :
781 :2006/09/14(木) 21:33:21
>>782 解決しました。
キーワード教えてもらってありがとうございました。
VBAで、アクティブセルがある行の特定の列のセルをアクティブにしたい時は、どうすればよいでしょうか?
790 :
名無しさん@そうだ選挙にいこう :2006/09/14(木) 22:56:15
>アクティブセルがある「行」の特定の「列」のセル ん?意味がわからんが、こういうことか? Columns(ActiveCell.Column).Activate
791 :
781 :2006/09/15(金) 00:01:22
>>790 わかりにくくてすいません。
例えば、5行目にアクティブセルがある場合は、B5をアクティブに、
8行目にアクティブセルがある場合は、B8をアクティブにしたいという感じで、
アクティブセルがある行のB列目のセルをアクティブにしたいのです。
それなら Range("B" & ActiveCell.Row).Activate
【1 OSの種類 】 WindowsXP Home 【2 Excelのバージョン】 Excel2000 【3 VBAが使えるか 】 いいえ 【4 VBAでの回答の可否】 否 A列が日付でB列が売上の表を作りました B列は日付によっては売上がないのですが、A列をX軸にしてB列をプロットしたいのですが 値の無い日は無視してグラフを作成したいのですがどうすればいいでしょうか?
796 :
名無しさん@そうだ選挙にいこう :2006/09/15(金) 11:00:21
AAAA33-2222 AAAA33-111 AAAA33-112 AAAA33-113 AAAA33-114 AAAA33-115 AAAA33-116 AAAA33-117 ハイフンより前が同じ、以下が違うデータで 効率よく入れるやり方はありますか?
>>796 書式→セル→表示形式→ユーザー定義に
"AAAA33-"###
でOK
↑#が4つだった。
799 :
名無しさん@そうだ選挙にいこう :2006/09/15(金) 11:50:30
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2002 取引先別の毎月の売上合計金額のデータがあります。 ひと月の売上が5000円以上、 又は半年間合計の売上が30000円以上 という条件で該当する取引先を抽出したい場合の 条件式を教えてください。
801 :
名無しさん@そうだ選挙にいこう :2006/09/15(金) 12:12:55
>>797 レスありがとうございます。
それを「種類」のところのボックスに入れると
普通は「サンプル」が変わるんですよね?
そうならなかったんです。
>>801 いや別にサンプルは、かわらないよ。
G/標準を消して"AAAA33-"#### を書いてOKボタンでいいよ。
ちゃんと表示させたいセルの範囲を選択してる?
>>800 条件式で一生懸命考えていました。
少し試してみます。ありがとうございました。
804 :
名無しさん@そうだ選挙にいこう :2006/09/15(金) 14:25:55
>>802 先に聞くべきだったかもしれませんが
それをすることによって普通のとどう違うようになるんですか?
111と入力するとAAAA33-111と表示されるようになる。
>>793 です
>>794 ありがとうございました
ちなみにセルに=if(なんとか、セルの値、””)が入っていたのですが
数式と値のクリアを実施したのちやればうまくいきました
807 :
名無しさん@そうだ選挙にいこう :2006/09/15(金) 15:03:40
809 :
807 :2006/09/15(金) 15:15:34
> ↑#が4つだった。 あんたも分ってないなあ
最近失礼な質問者が増えたな
>>809 804よりももっと前の番号を名前に書かないといかんのじゃないのけ?
>>798 "AAA33-"#
↑#は1個でOKですよ。
桁数を指定したい時は # の代わりに 0 を使います。
最低3桁表示する(1を入れても001と表示させる)場合は "AAA33-"000
>>810 ちゃんと答えを書いてあげなって。
814 :
名無しさん@そうだ選挙にいこう :2006/09/15(金) 18:05:33
>>812 いやー申し訳ない。仕事中だったもんで。
地方の方ですか?
815 :
名無しさん@そうだ選挙にいこう :2006/09/15(金) 18:12:43
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 N 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 関数Left Mid 田中氏 東さん 二ノ宮くん 横田様 と名前が各セルに記入されていますが、これを関数で 田中 東 二ノ宮 横田 にするにはどのように関数を組めばいいでしょうか?
816 :
名無しさん@そうだ選挙にいこう :2006/09/15(金) 18:29:21
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 Y 【4 VBAでの回答の可否】 可 【5 検索キーワード 】EXCEL 名前 参照 Sheet3!$D$2,Sheet3!$D$4,Sheet3!$D$6,Sheet3!$D$8のセルに"DDD"という 名前をつけました。 この"DDD"という名前を使って、Sheet3!$D$4を参照したい場合どのように したらいいでしょう。 Worksheets("Sheet3").Select Range("DDD").Select ActiveCell.Offset(1, 0).Activate とすると、Sheet3!$D$3 が選択されてしまいます。 現在たまたま"DDD"のセルは1行おきになっていますが、1行おきとは 限りません。
>>815 REPLACE関数で不要な文字を空白に置き換えるか
LEFT関数で必要な文字数だけ抜き出せ
818 :
名無しさん@そうだ選挙にいこう :2006/09/15(金) 20:22:22
エクセル2002で、マクロが自動実行になっているようですが、 開く段階で何かを押しながら開くと、マクロが実行しない事とかってできないでしょうか?
>>818 ツール→オプション→セキュリティ→マクロセキュリティ
ここで「高」か「中」に設定
>>815 クソ長いけど、これでいい?
=IF(ISERROR(FIND("氏",参照セル)),"",REPLACE(参照セル,FIND("氏",参照セル),1,""))
&IF(ISERROR(FIND("さん",参照セル)),"",REPLACE(参照セル,FIND("さん",参照セル),2,""))
&IF(ISERROR(FIND("くん",参照セル)),"",REPLACE(参照セル,FIND("くん",参照セル),2,""))
&IF(ISERROR(FIND("様",参照セル)),"",REPLACE(参照セル,FIND("様",参照セル),1,""))
&IF(ISERROR(FIND("氏",参照セル))*ISERROR(FIND("さん",参照セル))*ISERROR(FIND("くん",参照セル))*ISERROR(FIND("様",参照セル))<>0,参照セル,"")
誰かスマートな奴をたのむ。漏れの頭ではこれが限界。
>>816 For Each myRange In Range("ddd").Areas
2番目のセルを選択する
Next
この方法だと、名前を定義するときは順序に注意する必要があるのと
厳密に言えばチェックが必要なので適当にどうぞ
822 :
名無しさん@そうだ選挙にいこう :2006/09/15(金) 21:34:07
>>819 すみません。通常はマクロを自動実行のままにしたいのです。(自動運転のため)
ふと、中身を確認しようとした時に、実行させずに開く方法はないのかなと。
ややこしくてすみません。
>>815 =LEFT(A1,LEN(A1)-1*OR(RIGHT(A1,1)="氏",RIGHT(A1,1)="様")-2*OR(RIGHT(A1,2)="さん",RIGHT(A1,2)="くん"))
敬称なしで敬称っぽい字で終わるものは考えてない
824 :
名無しさん@そうだ選挙にいこう :2006/09/15(金) 22:03:13
826 :
名無しさん@そうだ選挙にいこう :2006/09/16(土) 00:01:32
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 マクロの記録を見て少しわかる程度 【4 VBAでの回答の可否】 可 目的:印刷時(印刷プレビュー時)にのみグラフの目盛りの間隔を変更する 理由:グラフが大きいため、A4プリント時に目盛りの文字が重なり見づらくなるため 方法:マクロ(Workbook_BeforePrint)を使用 結果:印刷の段階までは成功。印刷後(印刷プレビュー復帰後)、元の目盛りに戻す方法がわからず このような感じです。 印刷時にグラフの目盛りの間隔を変更したものの、元に戻す方法がわかりませんでした。 何か解決策等ございましたらご教示いただけますようお願い申し上げます。
>823はスマートだし「氏家さん」とかに対応できてて、いいね。
>>826 変更前の値を退避しておいて戻せばいいんジャマイカ?
829 :
名無しさん@そうだ選挙にいこう :2006/09/16(土) 02:59:59
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel97 【3 VBAが使えるか .】 No 【4 VBAでの回答の可否】 No 第1列 第2列 10 50 20 60 空欄 "" 40 80 で折れ線グラフを描く時に、[ツール]-[オプション]-[グラフ] 空白セルのプロット を「補完してプロットする」にすることにより 第1列は空欄を飛ばしてグラフが描けますが、 第2列の""では、「0」として扱われるようです。 ""を無視することは出来ないのでしょうか? 尚、""はIF文の計算結果によるもので、セルの見かけ上は空欄です。
830 :
828 :2006/09/16(土) 10:01:13
>>828 ありがとうございます。
変更時と同じように、元に戻すときも
With ActiveChart.Axes(xlCategory)
.TickLabelSpacing = n
.TickMarkSpacing = n
これを使おうと思ってはいるのですが、
印刷(プレビュー)からの復帰のタイミングというかイベントを計る事が出来ずに悩んでおります。
印刷イベント前にはBeforePrintがありますが、印刷後のイベントにAfterPrintなるものがあればいいのですが・・・
831 :
むら :2006/09/16(土) 10:24:49
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Exce2000 【3 VBAが使えるか .】 No 【4 VBAでの回答の可否】 No C2-->F5-->j20 上記のようにセルに入力したあと、エンターキーを押すと 次に入力したいセルにカーソルを飛ばすにはどうしたらいいですか?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 N 【4 VBAでの回答の可否】 不可 【5 検索キーワード 】EXCEL 名前 参照 A1セルに鈴木太郎 A2セルに斉藤博 A3セルに岸敏一 以下延々と続く って場合に、一つのセル内で名字と名前の間にスペースを入れるのを 一括でやる方法ってあるんでしょうか? A2000くらいまであってどうしたらいいやら… 名字は圧倒的に漢字二文字が多いです。 どなたかお知恵を拝借させてください。 お願いいたします。
【1 OSの種類 .】 Windows xp Pro (SP2) 【2 Excelのバージョン 】 Excel 2002 (10.6809.6811) SP3 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】EXCEL 書式 表示形式 ダブルクオー セルの表示形式をユーザ定義で 「"【"@"】"」にすると 「あいう」と入れたセルは「【あいう】」と表示されますが、 「"あいう"」と表示されるようにするにはどうすれば良いですか。 つまり " そのものを表示文字として書式の中に入れたいのです。 "\"" とか "%22" とか "%34" とか思いつく限り試しても みましたができません。よろしくお願いします。
>>832 MID関数とか使ってとりあえず苗字二字決めうちで分割
その後手で修正
そもそも
岸元一という人がいて、苗字が岸なのか、岸元なのか分からないから
一括で一発変換なんて無理です。
835 :
d :2006/09/16(土) 13:02:41
>>830 >印刷(プレビュー)からの復帰のタイミングというかイベントを計る事が出来ずに悩んでおります
こんな感じにすれば良いかと思いますが。^^
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Cancel = True
Application.EnableEvents = False
'印刷前処理
ActiveCell.Value = "123"
ActiveSheet.PrintPreview
'印刷後処理
ActiveCell.Value = "あああ"
Application.EnableEvents = True
End Sub
>>831 @Ctrlを押しながら、C2,F5,J20を選択してから入力を行う。
Aそれらのセル以外をロックしてシートの保護で選択不可能にする。
入力前に選択するのも、シートの保護もイヤならVBA必須。
>>833 """@"""
一つ目の"はChr(34)で、二つ目はChrW(733)、三つ目はChr(34)
VBAから設定しねて。
.NumberFormat = """" & ChrW(733) & """@""" & ChrW(733) & """"
誤魔化しでもいいなら「"''"@"''"」って手もあるけど。
837 :
名無しさん@そうだ選挙にいこう :2006/09/16(土) 13:38:52
>>832 回答になるかどうかわからんけど、岸敏一っていい名前じゃね?
838 :
826 :2006/09/16(土) 13:53:20
>>835 素晴らしい!
昨日から今までずーっと調べ続けましたが、同じ理由で悩んでいる方が
多くいること、またその多くが未解決もしくはマクロ以外の手でしか解決できていないことを
知り、落胆していました。
ありがとうございました。
839 :
名無しさん@そうだ選挙にいこう :2006/09/16(土) 14:09:32
>>837 戦時中に反政府運動して
処刑された人っぽい名前だと思ったけど俺は
【1 OSの種類 .】 Windows xp Pro (SP2) 【2 Excelのバージョン 】 Excel 2002 【3 VBAが使えるか .】 少々 【4 VBAでの回答の可否】 可 セルでA1に入力した後、TabでB1に移動して入力後、 Enterキーを押すとA2に移動するのを止める手段はありませんか? 真下のセルに移動させたいのですが。
>>840 設定があったかな。見たような気もするし無かったような気もするなぁw
Offset(x, y)じゃぁダメカナ?
842 :
名無しさん@そうだ選挙にいこう :2006/09/16(土) 15:38:07
【1 OSの種類 .】 Windows 2000 【2 Excelのバージョン 】 Excel 2000 【3 VBAが使えるか .】 少々 【4 VBAでの回答の可否】 可 テンプレートブック"a"があります。 aに何か変更点を加えて保存したブックを"b"とします。 aの段階ではどのような状況でも保存できるようにし、 一度変更を加えて保存したbの段階では上書き保存をさせないような方法はありますか? (上書き保存できないだけで、それ以外のシートの編集は通常通りで) その方法をお教えください。 できれば読み取り専用は使わずマクロでお願いします。
>>840 設定は知らんので
Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
Application.EnableEvents = False
Target.Parent.Cells(Target.Row, Target.Column - 1 + 2 * (Target.Column <= 1)).Select
Target.Select
Application.EnableEvents = True
End Sub
目的のシートに書く
>>842 フラグを保持して条件分岐すればいいだけの話でしょ。
値はaではFalse、一度保存処理を行ったらTrue
条件分岐はFalseでは保存可能、Trueでは保存不可。
値はシート上に保存してね。
この説明で解らなければ、VBA少々使えるなりに
自分で書いたところまでコードを貼って。
845 :
名無しさん@そうだ選挙にいこう :2006/09/16(土) 16:14:20
>>844 ありがとうございます。aから変更しbになったとき、一度閉じられているのですが、それでも条件分岐は
生きてますでしょうか?
>>845 おそらくテンプレートaはファイル名が固定と踏んで、
aのファイル名以外ならば上書き禁止にするとかは?
>>847 なるほど。
それだとシンプルでいいですね。
ちなみにaは私が作りますが、bの保存者は私ではなく、ファイル名が必ずしも
a≠bとは限らず・・・です・・。
でもいいヒントになりました。
最終保存日時等を判定基準にします。
ありがとうございました。
>>848 thisworkbook.nameの最後に拡張子「.xls」が付いてなければまだ保存してないブックだよ
850 :
名無しさん@そうだ選挙にいこう :2006/09/16(土) 20:01:23
【1 OSの種類 .】 WindowsXPSP1 【2 Excelのバージョン 】 Exce2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 数式と値のクリアを実行すると必ずフリーズ(落ちるわけではなく操作を受け付けなくする)状態に 陥ります。 原因を調べた結果、 Private Sub Worksheet_Change(ByVal Target As Range) Application.ScreenUpdating = False End Sub 上記マクロがある状態で数式と値のクリアを実行すると再現されます。 (シートの状況は自由、白紙でもok。もちろんマクロは有効で) 質問T これが私の環境下でのみ起こるものなのか、一度再現テストお願いできますでしょうか? 質問U これを回避する方法はありますか? 以上よろしくお願いします。
>>851 ヘルプにはマクロ終了後「True」に戻せって書いてあるよ。
852 :
名無しさん@そうだ選挙にいこう :2006/09/16(土) 20:15:09
>>852 なるほど。そのせいですかね。確認してみます。
やってもうたorz ↑は850の間違いね。
>>850 その3行だけの記述しかないなら無意味だから、削除すればいいよ
俺、マクロ結構得意で、学校とかでも回りの皆にエクセルとか結構教えたりしてるんだけど、 ここで回答者として居座ろうって考えてるんだけど、何からはじめれば良いわけ?
857 :
829 :2006/09/16(土) 20:23:37
>>829 ですが‥
どなたか、教えていた頂けないでしょうか?
>>857 少し発送を変えて、""を違う表現に書き換えるマクロを書き足すとか
マクロがNoでしたね。すみません
>>857 >858のやり方をifの結果に加えればいいのでは?
条件があって、結果が""となるところを0とすれば
>>857 値だけをどこかにコピペして、そいつでグラフを描くとか?
862 :
861 :2006/09/16(土) 21:13:37
863 :
857 :2006/09/16(土) 21:20:22
864 :
833 :2006/09/16(土) 22:33:49
>>836 ありがとうございます。
全角の「”」を使えば済む話でしたね orz
まったく思い至らなかった・・・本当に申し訳ありませんですた。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 ExcelXP 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 フィルタをかけてA列で2を抽出してC列を合計する ってのをVBAでやりたいです。 関数だとオートフィルタかけて、subtotalで合計を出す、ですかね 配列変数っての使えばいいんですかねえ・・・ううーむむむ・・・・ どうか教えてください。
>>865 画面上にフィルタ後の状態を出す必要ないなら
Sub aaa()
a = 0
For Each c In Range("a:a")
If c = 2 Then a = a + c.Offset(0, 2)
Next c
MsgBox a
End Sub
マクロの記録で見てみたら?
【1 OSの種類 .】 MacOSX 10.4.7 【2 Excelのバージョン 】 Excel 2004 【3 VBAが使えるか .】 わかりません 【4 VBAでの回答の可否】 否 ツールバーの配置を登録したいのですができません。 どなたかおしえてください。
868 :
865 :2006/09/17(日) 00:49:53
>>866 ありがとうございます!
そうです画面動かす必要なかったんです。
どうもありがとうございました。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 つかえません 【4 VBAでの回答の可否】 否 入力規則で、 リスト値の種類・・・・リスト 元の値・・・=$D$81:$D$145 (何でも良いですが) 空白を無視してドロップダウンリストから選択する の設定にして、最初はドロップダウンリストからセル入力できるようになったのですが、 ある日突然ドロップダウンリストが出なくなってしまいました。 何か原因と対策方法はあるのでしょうか?
870 :
名無しさん@そうだ選挙にいこう :2006/09/17(日) 03:52:11
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 つかえません 【4 VBAでの回答の可否】 否 オートフィルタをかけて簡単なデータベースとして使ってるのですが、 A列に年齢が入力してあるとして、 40代で正確な年齢が分からなくて43とか47とかで検索した場合にもヒットする用にしたいのですが、 その場合はそのセルにはどのように入力すれば良いのでしょうか?
>>870 =ROUNDDOWN(年齢,-1)
で年代列を作成して、その列でフィルタリングすればいいじゃん。
フィルタオプションで、40以上And49以下を抽出してもいいけど。
>>871 ああ、40代の人を抽出したいのではなくて、
正確に年齢の分かってる人もいるので、
たとえば43で検索した場合に43の人と正確に年齢が分からない40代の人がヒットするようにしたいんですが、
無理でしょうか?
年齢のセルに40〜49みたいに範囲を持った値を入力することが出来れば楽なんですが。
すいません。なんかすごく初歩的な質問のような気はするんですが調べてもなかなか出てきませんで・・・
>>872 セルに「4-」とでも入れて置いて
フィルタオプションで、「43と等しいOr4-と等しい」を抽出
「43」か「40代で正確な年齢不詳」という二つの条件で抽出したいんだから
その二つの条件を書けば良いだけの話。
43単一で抽出したら当然43しか抽出されない。
範囲を持った値を設定したところで、40〜49という範囲を持った値は
「40〜49」という値であって43とも47とも同一ではないから意味無し。
まあVBA使えばどうにでもなるけど。
未確定の数字と確定した数字を一つのセルで表現できるならやってみるがいい
>>873-4 ういっす了解っす!
こんな朝も早くからどうもありがとうございました。
おかげさまでちょっとすっきりした気分で1日すごせそうです。
876 :
名無しさん@そうだ選挙にいこう :2006/09/17(日) 15:03:49
______ /;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\ /;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\ /;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ヽ l;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;| こっこが遊びに来たよ! |;;;;;;;;;;;;;;;;;;(●);;;;;;;;;;;;;(●);;;;;;;;;| |;;;;;;;;;;;;;;;;;;;;;;;\___/;;;;;;;;;;;;;;;| ヽ;;;;;;;;;;;;;;;;;;;;;;;;;;;\/;;;;;;;;;;;;;;;;;ノ
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 ひとつのシートに一銘柄の株価をインターネットから取得できるようなマクロを つくったんですけど、 一つ一つのシートでマクロの実行を選択しなければならず、手間がかかります。 ボタンをつくってそれをクリックしたらすべて更新されるようにしたいのです。 よろしくお願いします。
>>877 普通にできるけど。今のコードのサンプルをUPシル。
標準モジュールに入れる
株価コードを各シートの固定したセルに入れる
For Eachで全てのワークシートに対し更新処理をする
とかでできるはず。
879 :
877 :2006/09/17(日) 17:13:32
'モジュール内で使用する各変数を宣言 Dim url As String Dim lastrow As Integer Dim i As Integer Sub Calc() '価格データを取得するマクロ 'マクロ内で使用する各変数を宣言 Dim code As String Dim data_length As Integer, date_temp As Date Dim day_s As Integer, month_s As Integer, year_s As Integer Dim day_e As Integer, month_e As Integer, year_e As Integer Dim row_length As Integer code = "998407.o" '株価コード data_length = -3600 '10年分のデータを取得(休日・祝日などを含むため実際に取得するデータはこれよりも少ない) date_temp = DateAdd("d", data_length, Now) '本日の日付から取得日付分を引き変数に代入 day_e = Day(Now) '取得終了日 month_e = Month(Now) '取得終了月 year_e = Year(Now) '取得終了年 day_s = Day(date_temp) '取得開始日 month_s = Month(date_temp) '取得開始月 year_s = Year(date_temp) '取得開始年 Range("B4:H65000").ClearContents 'シートをクリーンアップ
880 :
877 :2006/09/17(日) 17:15:38
For i = 0 To Abs(data_length) * 0.65 Step 50 '取得日付を絶対値にして、その2/3を繰り返し取得する。(休日・祝日を考慮するため)
url = "URL;
http://table.yahoo.co.jp/t?s= " & code & "&a=" & month_s & "&b=" & day_s & "&c=" & year_s & "&d=" & month_e & "&e="
& day_e & "&f=" & year_e & "&g=d&q=t&y=" & i & "&z=" & code & "&x=.csv"
If i = 0 Then
lastrow = "4" '1回目に取得したデータはセルB4を起点にシートに代入
Call Get_Data
If Range("B4") = "" Then
Exit Sub
End If
Else
881 :
877 :2006/09/17(日) 17:17:02
lastrow = (Range("B4").End(xlDown).Row + 1) '2回目以降に取得したデータは、最初の行(見出し)を削除して最後の行に追加していく Call Get_Data Range("B" & lastrow, "H" & lastrow).Delete row_length = (Range("B4").End(xlDown).Row) If row_length - lastrow < 49 Then Exit For End If End If Next Range("B5:H65000").Sort Key1:=Columns("B") 'データを日付順で並び替え lastrow = Range("B4").End(xlDown).Row Range("B5", "B" & lastrow).NumberFormatLocal = "yyyy/mm/dd" 'データの形式を変更 Range("C5", "H" & lastrow).NumberFormatLocal = "0" Range("A1").Select End Sub
882 :
877 :2006/09/17(日) 17:18:19
Sub Get_Data()
'価格データを取得するマクロ
With ActiveSheet.QueryTables.Add(Connection:=url, Destination:=Cells(lastrow, 2))
.Name = "Yahoo"
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "19" '価格の取得がうまく動作しなくなった場合、この値を変更
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
End Sub
以上です。
>>878
長文ウザイ 重要な部分だけでいいだろ
884 :
877 :2006/09/17(日) 17:19:40
なんか見づらくなってすいません。
885 :
877 :2006/09/17(日) 17:20:14
スマソ
んで?
887 :
名無しさん@そうだ選挙にいこう :2006/09/17(日) 17:36:27
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel 2003
【3 VBAが使えるか .】 つかえません
【4 VBAでの回答の可否】 否
A1に
http://www.yahoo A2に .co.jp/
と、あります。
これを一つのセルに
http://www.yahoo.co.jp/ と、したいのですが
コピペ以外で、簡単な操作方法はありますでしょか?
よろしくお願いします。
>>887 =A1 & A2
いや、まさかこんな解ではないだろう。
いったい、ウラは何なんだ。
夏だなぁ
=CONCATENATE(A1,B1) でどうだ!!!
やっぱそうするしかないんですか・・・ みたいなレスを期待
892 :
887 :2006/09/17(日) 18:30:55
自己解決しました、レスくれた人すみません。
893 :
887 :2006/09/17(日) 18:33:44
有り難うございました。助かりました。 初歩的な事だったみたいで、はずかしいです。。。 一から勉強してきます。
894 :
名無しさん@そうだ選挙にいこう :2006/09/17(日) 22:35:21
初めて質問させていただきます。 【1 OSの種類 .】 Windows xp Pro 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Excel 右クリックメニュー 変更 右クリックメニューの内容を変更することというのは出来るのでしょうか? 現在右クリックメニューの一番下に「リサーチ」という項目があります。これをクリックするとなぜかインストーラが起動して「インストール中」 という画面が出てExcelがエラーになって終了してしまいます。 右クリックメニューの一番下にあるので、気づかずにクリックしてフリーズ、データが消えてしまったことが何度かありました。 この忌まわしい「リサーチ」の右クリック項目だけでも削除する方法がありましたらお教え願えませんでしょうか・・・よろしくお願いします。
896 :
電車男 :2006/09/17(日) 23:02:50
聞いてくれ!1今日電車のなかですごいことがあった!!
>>896 痴漢に絡まれた女性をピボットグラフにしてやったのか?
898 :
名無しさん@そうだ選挙にいこう :2006/09/18(月) 00:00:25
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 オートフィル 勤務表 出勤表 出席表 A1に年/月、二行目に日付、三行目に勤務時間という勤務表を作ろうと思うのですが、 A3〜AE3の部分はどのデータを反映させるのがベストでしょうか?(A2はその月の1日) どのデータを反映させても表自体はできるのですが、 打ち込んだ元のデータ(この場合A1セル)にあわせるのがいいのか、元のデータから派生したもの(A2)に 合わせるのがいいのか、エクセルの基本的な考え方を教えていただきたいと思い、質問しました
899 :
名無しさん@そうだ選挙にいこう :2006/09/18(月) 00:03:04
>898 項目は列方向に作りましょう
900 :
名無しさん@そうだ選挙にいこう :2006/09/18(月) 00:04:40
>>899 基本的なところで間違ってましたか・・
ありがとうございます、作り直します
>>900 待て
表をコピーして「形式を選択して貼り付け」で「行列を入れ替える」にすれば楽だぞ
もう遅いか・・・・・・・・
902 :
名無しさん@そうだ選挙にいこう :2006/09/18(月) 00:10:44
ありがとうございます。手遅れです・・が、今度にたような機会があれば使わせていただきます
903 :
名無しさん@そうだ選挙にいこう :2006/09/18(月) 00:12:15
極力元のデータに集中して合わせた方が何か都合がいい気がするが、特に問題があったことはないので素直にオートフィル使ってるかな
904 :
名無しさん@そうだ選挙にいこう :2006/09/18(月) 00:43:21
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel 2002 【3 VBAが使えるか .】 使えません 【4 VBAでの回答の可否】 可 使われたセル範囲内に列を挿入して、その列の、使われたセル範囲で一番下の行まで 「受付可能」と入力したいのですが、どのように書いたらよいのでしょうか? 分かりづらくて申し訳ありませんが、よろしくお願いします。
905 :
名無しさん@そうだ選挙にいこう :2006/09/18(月) 00:48:30
わかりづらいのでそのシート見せてほしい
>>904 コードを書いて欲しいのかもしれないが、
先頭に「受付可能」と書いて右下の四角形(名称忘れた)を
ダブルクリックすればいいんじゃないの。
>>895 リセットしたら消えました。ありがとうございます。
でも「リサーチ」が追加されてしまった原因って何なんでしょうかね?
908 :
904です :2006/09/18(月) 00:58:13
>>906 こんな技があったのですね!知りませんでした・・・(泣)
勉強になりました!ありがとうございました!
909 :
904です :2006/09/18(月) 01:09:48
もう一度質問してもいいでしょうか? 使われたセル範囲内の、ある列の空欄だけに「受付不可」と 入力したい場合はどうしたらいいのでしょうか? 宜しくお願いします。
910 :
904です :2006/09/18(月) 01:13:31
さらに質問してもいいでしょうか? 使われたセル範囲内の、ある列の空欄だけに「門前払い」と 入力したい場合はどうしたらいいのでしょうか? 宜しくお願いします。
>>904 A列を検査列と仮定
さっきと同じ要領で先頭に
= IF($A1="","受付不可","受付可能")
913 :
名無しさん@そうだ選挙にいこう :2006/09/18(月) 02:01:27
>>910 入力セル範囲を選択(空白でない部分も含めてでよい)
↓
CTRL + G でジャンプ
↓
セル選択をクリック
↓
空白セルをクリックしてOKボタンをクリック
↓これで空白セルだけ選択されている(色が変わっている)
「門前払い」と入力してCTRLキーをおしながらエンター
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 Y 【4 VBAでの回答の可否】 可 [シート1:DATA][シート2:B組][C組]…[E組] と組んでおり、[シート1:DATA]には A B C D クラス 日付 名前 点数 A 4/1 田中 80 A 4/1 佐藤 91 B 4/1 井上 90 B 4/1 寺田 75 D 4/1 大西 78 E 4/1 安部 83 とあり、 データを各組のシートを分けるマクロを組みました。 Sheets("DATA").Select Selection.AutoFilter Field:=1, Criteria1:="A" Range("A1").CurrentRegion.Select Selection.Copy Sheets("A組").Select Range("A1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False これをクラス分繰り返しています。これだとC組に見出しの部分のみコピーされます。 抽出データが無い場合(今回はC組)、スルーするにはどうすれば良いでしょう。 また見出しを省いて貼り付けるにはどうすれば良いでしょう。 このままだとデータを追加するとき見出しも追加されます。
>>914 見出しの省き方はCurrentRegionのヘルプに書いてある。
>>914 下準備としてシートの名前の"A組"等とDATAシートのクラス名の
アルファベットを全角・半角どちらかに統一して、下記のとおり
Sub a()
For Each c In Range("a2:a6000")
If c = "" Then Exit Sub
sn = c.Value & "組"
Sheets(sn).Range("b65535").End(xlUp).Offset(1, 0) = c.Offset(0, 1)
Sheets(sn).Range("C65535").End(xlUp).Offset(1, 0) = c.Offset(0, 2)
Sheets(sn).Range("d65535").End(xlUp).Offset(1, 0) = c.Offset(0, 3)
Next c
End Sub
917 :
914 :2006/09/18(月) 02:57:02
>915 ありがとうございます。 Selection.Copy を Selection.Offset(1).Resize(Selection.Rows.Count - 1).Copy に変更しましたが、抽出データが無い場合(C組)は 全データを選び貼り付けられます。 抽出データ無しの判定はどうすればできますか?
>>916 ありがとうございます。
これも可能でした。
>>907 サンプルとかxlsファイルをDLして開いたときにマクロで右クリに登録されて、
そのxlsファイルの作者が後始末(ブックを閉じるときの)をしてないから残骸が残ってしまっただけだと思う。
920 :
名無しさん@そうだ選挙にいこう :2006/09/18(月) 11:30:16
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 canvas illustrator パス ベジェ曲線 すみません質問なんですが macで昔のcanvasで作った線のデータ(フロッピーデスクから)をwinでexcel2000に取り込もうとしてるんですが MacDrive→win最新版canvas体験版→Excel2000というやり方をしてるんですが どうしてもcanvas体験版から(illustratorCSとAutoCad2004もためしにやってみました)Excel2000に持っていくことができないんです 一応調べたところExcel2000でもベジェをサポートしてるっぽいんですがやっぱりExcelでcadみたいに 読み込むことは事は無理なんでしょうか?
921 :
877 :2006/09/18(月) 14:56:43
>>912 ありがとうございます!
ほんと感激です!
作っていただいたものですと、私のパソコンでは
非常に処理時間がかかってしまうので、
最新50件だけ更新するというものに改良してみます!
どうもありがとうございました!!
922 :
914 :2006/09/18(月) 18:47:34
>>917 自己レスですが一応このように解決しました。
Dim Lastrow As Integer
Lastrow = 1
Range("A1").CurrentRegion.Select
Lastrow = Selection.Rows.Count + Selection.Row - 1
If Lastrow > 1 Then
MsgBox "DATA" & Lastrow - 1
Else
MsgBox "NODATA" & Lastrow - 1
End If
解決してなかったのかw
コピーした図をすべてのシートに貼り付けるにはどうすればいいのでしょうか? 文字列の場合はすんなりできるのですが、図の場合データを貼り付けできないってエラーが出ます
>>924 シートを1つづつ選択して貼り付け
面倒ならそれをマクロ化
質問です。 セルにあるメルアドをコピーするとリンクが機能しあおくなり、次からはそこを押すと勝手にメーラーが起動するようになってしまいます。 このようにならないようにするためにはどうすればいいでしょうか?
>>926 Excel2000超ならオートコレクトで設定
Excel2000以下ならWorksheet_ChangeイベントでHyperlinks.Delete
>>926 「ツール」→「オートコレクトのオプション」→「入力オートフォーマット」
929 :
926 :2006/09/18(月) 22:06:02
ありがとうございました
930 :
名無しさん@そうだ選挙にいこう :2006/09/18(月) 22:08:29
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 if関数、循環参照 D列に誕生日を入力してあり、E2〜にDATEDIF関数を使って年齢を表示したいのですが(E1には=NOW()で現在時間を入れてあります)、 誕生日の入力されてないところもあるので、そこはそのままだと106になってしまい見栄えが悪くなるので空白にしようと思い、以下のような式を作りました =IF(D2="",D2="",E2=DATEDIF(D2,$E$1,"y")) これをそのまま入力した場合、循環参照していると言われ作業を続けることが出来ないのですが、どのように回避すればいいでしょうか?
=IF(D2="","",DATEDIF(D2,$E$1,"y"))
ガンバレ
933 :
名無しさん@そうだ選挙にいこう :2006/09/18(月) 22:20:02
ありがとうございます!
和んだ
なにこのほのぼのしたムードは
なあに、すぐ元の殺伐した雰囲気に戻るさ
=IF(A40=1,"○","")