1 :
名無しさん@そうだ選挙にいこう :
2007/06/07(木) 03:38:05 Excelに関する質問は、ここで!
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に
>>2-20 あたりの注意書きやQ&Aを必ず読むこと。
★4 質問テンプレ(雛形)は必須じゃないけど、
OSやExcelのバージョン、VBAの可否など(下記テンプレ1〜4の情報)は必須情報。
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類 .】 Windows**
【2 Excelのバージョン 】 Excel**
【3 VBAが使えるか .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
【5 検索キーワード 】 Googleやヘルプでの検索キーワード
※【4】は、VBAはわからないけどコード書いてくれるならVBAでもいいって場合は「可」
VBAを使うのは避けたいって場合は「否」にしましょう。丸投げする場合は、必要に応じてブックをアップすること。
※【5】は、あなたがGoogleやヘルプで検索した際に使ったキーワードを書いてください。
まだ検索してないなら、質問の前にGoogleやヘルプで検索してみてください。
ttp://www.google.co.jp/ 前スレ(56):
http://pc11.2ch.net/test/read.cgi/bsoft/1177732915/l50
2 :
名無しさん@そうだ選挙にいこう :2007/06/07(木) 03:40:02
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━ ・1 現行スレ内で既出の質問が無いか、ページ内検索をしよう。(Ctrl+F) ・2 図やコードを書く場合、TABや連続する半角スペースは無視されるので注意 ・3 VBAコードを貼る場合は、部分的に伏せたり省略したりせずに全て貼りましょう。何レス使っても構いません。 ・4 2回目以降の質問では名前欄に初回質問の番号を入れよう。 ・5 回答内容でわからない部分があっても、すぐに聞き返さずにヘルプやGoogleなどで検索しましょう。 ・6 バグ・動作上の不都合・仕様に関する質問などはマイクロソフトのサポートを受けましょう。 ここは技術的な質問のみで。 ・7 VBAはプログラム言語のVisualBasic(6以前)に近い処理が可能で Excelに関係ないことも出来ます。 Excelの操作に関係ない部分は、スレ違いなのでここで聞かずにVB言語やAPI、COMについて自分で勉強し、 どうしてもわからない部分はVBスレやAPIスレなどの該当スレで質問しましょう。 但し向こうはプログラマのスレなので、構文規則などの最低限の事は覚えてから質問しましょう。 ここみたいに丸投げはダメですよ。 ・8 うまくいかなかったにしても自分でやってみたこと(組んだ数式やコード)は書きましょう。 例えエラーになる式やコードでも、何をやりたいのかを的確に把握する手がかりになります。 その上で、どううまくいかないのかを具体的に書きましょう。 エラーが出るなら、何処でどういうエラーが出るのか、 想定外の結果が出るなら、条件と想定上の結果、実際の結果などを詳しく書いてください。 ・9 マルチはダメ。一度マルチしたら、謝っても他のスレの質問を取り下げても回答は得られないと思ってください。 ・A テキストボックス(エディトボックス)、コンボボックス(ドロップダウンリスト)、リストボックス、コマンドボタン、 チェックボックス、オプションボタン(ラジオボタン)、スピンボタン、スクロールバー、等の質問をするときは、 ユーザーフォーム、コントロールオブジェクト、フォームオブジェクトのどれなのかを必ず書くこと。 ・B 書籍や解説サイトの紹介以来はスレ以外。ここは技術的な質問のみで。
3 :
名無しさん@そうだ選挙にいこう :2007/06/07(木) 03:41:03
★ルールを無視すると…
>>1-2 あたりのルールに従うか否かは自由だけど、従わないと以下のような不利益があるよ
1.マルチをしてしまったら…
A.謝っても他での質問を取り下げても、以後その質問に対する回答は付かない物と思ってください。
それが嫌なら初めからマルチなんてしないように。
>>2 にマルチ禁止と書いてあり、
マルチの意味が分からなければ検索すれば出てくるので、「知らなかった」は通用しません。
2.
>>1 ★4に従わず、必要な情報を出さないと…
A.自分の使用しているバージョンで使えない機能を答えられたり、VBA使えないとか使いたくないと書かないと
VBAでの解決OKで自分でコード書けるものと勝手に解釈されて、「VBAで出来るから自分でコード書いて」程度の
適当な回答を返されたりします。また、ここではVBAコード書けない人の丸投げ依頼を許可してますが
これはきちんとルールに従って質問、依頼した人のみの特権です。
3.情報・条件を後出しすると…
A.後から出された情報は意図的に無視されたり、質問自体を放置されたりします。
>>1 ★4の必須情報はもちろんのこと、要望や条件、既に試したことなどは、
長文になってもいいので詳細かつ明確かつ具体的に書きましょう。
★VBAについて
VBAとは、『Visual Basic for Application』の略で
Application
├Workbooks
|└Workbook
| ├Worksheets
| |└Worksheets
というApplication以下のオブジェクトを、VB言語で操作するものを指します。
例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。
4 :
名無しさん@そうだ選挙にいこう :2007/06/07(木) 03:42:11
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法) ▼環境・書式 ・ 列数を256列以上、行数を65'536行以上に増やす (Excel2007では16'384列、1'048'579行扱える) ・ Excel2003以前で条件付き書式を3つ以上設定する (文字色だけなら、入力規則でも3つ設定可能。それ以外はVBA) ・ 行の高さを0.25きざみ以下の単位で指定する ・ セル内の文字を○で囲む、一部のみ2段にする (オートシェイプ、オブジェクト) ・ オートフィルタで英字の大小文字を区別する (小文字 → 半角、大文字 → 全角、と使い分ける) ・ 祝日を判断する (作業セルに祝日を列挙、VBA) ・ 同一列内でセル(行)ごとに列幅を変える、同一行内でセル(列)ごとに列高を変える (セルの結合) ・ ヘッダー・フッターのページ番号の開始番号任意指定、ページ番号演算、同シート内で違ったものを指定など ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する ・ 罫線幅の自由指定 ・ 表示形式で「10/ 1」といった書式を指定し、日付が一桁の場合のみ日付の前にスペースを入れる (TEXT関数、VBA) ・ 書式設定の「折り返して全体を表示する」と「縮小して全体を表示する」を同時に使う (折り返しを有効にして、手動で文字サイズを調整) ▼操作 ・ ファイラーの右クリックメニューからの新規作成で、Excelで設定したシート数のブックを作る (任意のシート数のテンプレートを作成) ・ 複数シートを選択して入力規則やシートの保護を設定する (VBA) ・ オートコンプリート機能を、別列や離れたセルで動作させる (VBA) ・ 選択範囲から一部を除く、Ctrlを押しながらの複数選択で一部を取り消す (VBA) ・ 優先キーを3つ以上指定しての並べ替え (優先度の低い方から順に並べ替える) ・ 1セルを分割 (分割したいセル以外を結合)
5 :
名無しさん@そうだ選挙にいこう :2007/06/07(木) 03:43:17
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法) ▼数式・関数 ・ 表示形式以外の書式の取得設定、書式情報を条件とする数式 (ユーザー定義関数) ・ 関数式でセルの選択状態を取得する (VBA) ・ セルの値でパスを補完して、開いてないブックのセルを参照する (VBA) ・ 入力したセルに結果を返す (VBA) ・ 範囲を引数にしての文字列連結 (ユーザー定義関数) ・ 値の書き換え、値の保持 (VBA) ・ 複数の結果を抽出、不定な数の結果を返す (VBA、結果の最大数が解っていれば最大数以上の式を論理式で組む) ・ 空白のセルの部分を上詰め、左詰めなどで表示する (作業セルを使って別セルに詰めて表示なら可能、それ以外はVBA) ・ VLOOKUP,HLOOKUP,MATCH等の関数で、検索語を全半角両方にマッチさせる (ユーザー定義関数) ▼VBA ・ ExecuteExcel4Macroの参照で空セルと0値を区別する ・ セルの値や変数値で直接変数名を指定する (配列、コレクション) ・ VBのコントロール配列と同じような操作をしたい (イベント以外ならコントロール名を「同名+連番」にしてControls(名前 & インデックス)で処理、イベントはクラスでWithEvents) ▼ユーザーフォーム ・ フォーム上から変更したプロパティ値の保持 (シートや外部ファイルに書き出して、次回読み込む) ▼グラフ ・ 棒グラフでひとつだけ突出したデータがあった場合に波線を入れて位置を合わせる (オートシェイプなどで見た目だけそうなるように弄る、別アプリでグラフを作り、オブジェクトとして挿入) ┌┐ 〜〜 ||
6 :
名無しさん@そうだ選挙にいこう :2007/06/07(木) 03:43:59
上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。 間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。 Excel2007についても未確認な項目が多いので変更点が有ればご指摘下さい。 また、ここに書かれてないことでも、Excelで出来ないことはたくさんあります。 ここに書かれてないからといって必ず出来るはずだなんて思わないように。 >▼環境・書式 > ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する 補足 2007ではページレイアウトビューの表示時に限り、幅・高さともcm単位で表示され、 指定も同じくcm単位でできる。 ただし大元がインチ系なのでなかなかピタリの値は出ない。1cm→0.98cmのように 近い値に勝手に丸められる。
テンプレの ★VBAについて のツリーは相変わらず間違ったままだな Application ├Workbooks |└Workbook | ├Worksheets | |└Worksheets ← ココ
>>1 さん お疲れ様です。 休む暇も無く初質問をw
【1 OSの種類 .】 WindowsXPsp2
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
口頭で説明するとスマートに説明しにくいのですが、出来るだけ簡潔に述べますね。
条件:Sheetは2枚利用し、1枚目をMain(S1)、2枚目を関数・定義・計算用(S2)として
Mainにはドロップダウンリストと計算結果のみを出力したい。
1. まず、S1に設置されたドロップダウンリストにはS2で名前定義したA,B,Cを選択できるように
してあり、このドロップダウンリストは合計2個あります。
目的はドロップダウンリスト(A,B,C)*2にそれぞれに固定の数値を割り当てたいのですが、
人間が表現するならA=100、B=30、C=1といったことが出来ません。
2.ドロップダウンリスト合計2個を操作し A+B や C+A といった計算をS2内で
行わせます。(これは[=Sheet1!$F$10+Sheet1!$F$11]などとすればOKだと思いますが)
そして、その結果をS2に表示させてから、更にS1にも同じ内容を表示させますが、
S2は関数や定義、計算なのでsheet保護で守れるとしても、S1はドロップダウンリストを
操作しA〜Cまでで変化させるので保護はかけられませんよね?
表示された最終結果(ドロップダウンリスト同士を合計した結果)を誤って改変してしまったり
S2から引っ張ってきた関数を消してしまわない様にセル自身に保護をかけたいのです。
1.はA,B,Cがそれぞれ100、30、1としたいとありますが、ドロップダウンリストを増やし
同じA,B,Cであっても 1個目の(A,B,C)は100,30,1で2個目のリストは(A,B,C)が50,10,1
などと出来ればよいのですが・・・(つまりAはAでもドロップダウンリストが変われば
数値も変わるように個別に設定したい)
説明力不足が否めないので、必要であれば途中まで作ったテスト用ファイルをアップします。
>>9 2.
変更したいセルの書式の保護でロックを解除後、シートの保護
12 :
名無しさん@そうだ選挙にいこう :2007/06/07(木) 10:59:32
EXCEL2007、VistaUltimateですが、 マクロを有効にする操作手順を教えて下さい。 XPで作ったマクロ(シート)を実行しようとすると このプロジェクトではマクロが無効になっています。 有効にして下さいというメッセージが出るのですが、 有効にする操作が分りません。 よろしくお願いします。
有難うございますm(_ _)m 2.は無事完了しました。 1.はVLOOKUP(?)を用いるのかとも思いましたが(ネットで検索していて) これは垂直のみのしかもdate1、date2のそれぞれのABCを個別に 設定するのはかなり重労働になりそうな雰囲気がしますね・・・ date1のAという箱に100という数字を格納するのがこんなに難しいなんて・・・
sheet1のEに =VLOOKUP(D6,Sheet2!C3:E5,3) 後は応用して。
>>12 その「マクロが無効にされました」の横にある「オプション」をクリック
そんで「このコンテンツを有効にする」を選択するだけ
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 勉強しています 【4 VBAでの回答の可否】 可 前スレでも教えていただいた者ですが、ユーザーフォームでテキストボックスに記入された数値をきっかけに 検索をしています。おおむねうまく行っているのですが、テキストボックスに数字を入力した後、 エンターをきっかけにafterupdateで数を認識しているのですが、その後、隣にあるコマンドボタンが 必ずアクティブになってしまいます。 それは補助用に使うもので、普段はテキストボックスが常にアクティブになるようにしたいと思っています。 入力後のマクロの最後に textbox1.activate のような記述をすればいいと思うのですが、 activateコマンドはないようです。それにあたるコマンドはどのように記述すればよいでしょうか?
19 :
17 :2007/06/07(木) 13:40:03
ありがとうございます。 textbox1.setfocus textbox1.tabstop = true と記述すれば良いのでしょうか? 今のところ、tabstop のtrue も false も、setfocus もうまく行かない感じです。
>>19 アクティブにしたくないコントロールにプロパティでTabStop=Falseを設定
つうかヘルプ見ろ
21 :
名無しさん@そうだ選挙にいこう :2007/06/07(木) 15:32:05
名前 / 競技 A B C D 個数 田中 1 4 3 4 鈴木 2 2 2 1 山田 3 3 1 2 伊藤 4 1 4 3 1位のところを赤の塗りつぶし 2位のところを黄色の塗りつぶし とし それぞれの色が何個あるのかを数える式はありますか?
あります 条件付き書式、RANK、COUNTIFあたりで
23 :
名無しさん@そうだ選挙にいこう :2007/06/07(木) 17:57:05
教えてください。初心者ですみません。 シート1のデータからシート2で表をつくりたい。 シート1には、人名・あ行〜・日付・月 の4列あります。 シート2に、縦は、あ行〜 横に何月〜 で、交わるところにその人名を。 教えてください。
A 1 4 2 2 3 2 4 5 5 3 6 2 例えばA列の1行〜6行目までに数値が入ってて、 最小の値が入ってる”一番下のセル”の番号を返したい。 この場合A6 普通にMATCH関数など使って ="A"&MATCH(MIN(A1:A6),A1:A6,0) とするとA2が返ってきてしまう。 どうすればいいか教えてください。
26 :
12 :2007/06/07(木) 19:22:56
>25 データをひっくりかえす
28 :
名無しさん@そうだ選挙にいこう :2007/06/07(木) 19:43:45
>>23 です。
>>24 さん、ピボットテーブルは、数値しか表にできなくないですか??
人名を持って来たいのですが。。。。
お願いします。
>>25 {=MAX((MIN(A1:A6)=A1:A6)*(ROW(A1:A6)-ROW(A1)+1))}
{}は配列数式
30 :
名無しさん@そうだ選挙にいこう :2007/06/07(木) 22:31:33
【1 OSの種類 .】 MAC OS 9.2 【2 Excelのバージョン 】 Excel98 【3 VBAが使えるか .】いいえ お聞きしたいのですが、Excelで合計値の下一桁のみ表示とかできますか? A+B=C やA×B=C のCには下一桁だけ表示と言う意味です。 もし出来たら教えて下さい。
31 :
名無しさん@そうだ選挙にいこう :2007/06/07(木) 22:52:49
Excel2002です。シート2〜20のB2を串刺し合計していますが、今後シートをふやします。マクロでC2に最後のシート名を取得しています。=SUM(シート2:INDIRECT(C2&"!B2"))ではエラーになります。C2の値を参照する数式を教えてください。
>30 C=RIGHT(A*B,1) とか C=RIGHT(A+B,1) とか・・・。
33 :
30 :2007/06/07(木) 23:58:24
>>32 おぉ出来ました。
マジありがとうございます。
本当の初心者です。どうか教えて下さい。 XPでエクセル200Xです。VBAは使えません。 (会社のもののため未確認・古くないと思われます) シート@に 列:名前・データ1・データ2 行:30行 の表があります。 シートAで@名前とリンクさせてオートフィルタで名前を選ぶと、 項目にデータ1・データ2がそれぞれ入るようにしたいのです。 ex. 【シート1】 名前 データ1 データ2 2ch 200 300 5ch 210 310 【シート2】 __2ch____▼様 __200__ __300__ どうすれば連動させることができるでしょうか。 教えていただけると大変助かります。
35 :
名無しさん@そうだ選挙にいこう :2007/06/08(金) 00:17:45
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 削除されたパーツ グラフを作成して「エクセル マクロ有効ブック」で保存しました。 で、それを開こうとすると、以下のような表示が出ます (「自動売買予備」とはファイル名)。 ---以下引用 '自動売買予備.xlsm'には読み取れない内容が含まれています。 このブックの内容を回復しますか? ブックの発行元が信頼できる場合は、[はい]をクリックしてください。 ---以上引用 で、「はい」をクリックすると、以下のような表示が出ます。 ---以下引用 読み取れなかった内容を修復することにより、ファイルを開くことができました。 削除されたパーツ: /xl/drawings/drawing1.xml パーツ(図形描画) ---以上引用 で結局、保存したはずのグラフが表示されません。
36 :
35 :2007/06/08(金) 00:18:31
続きです。 グラフというのは、「その他のグラフ」の株価のグラフなのですが、 日付・始値・高値・安値・終値だけのデータからグラフを作り保存してみると、 開くときにもきちんとグラフが表示されます。 しかし、そこに「第2軸(上/右側)」を使用して 移動平均線(一定期間の終値の平均値)のデータを表示させたグラフを保存して開くと、 上記のような表示が出てグラフが表示されません。 参考書は「自動売買ロボット作成マニュアル 初級編」です。 どなたか、お手数ですがよろしくお願いします。
37 :
30 :2007/06/08(金) 00:37:48
度々すみません。 【1 OSの種類 .】 MAC OS 9.2 【2 Excelのバージョン 】 Excel98 【3 VBAが使えるか .】いいえ 先ほどと同様なんですが、今度はAの十の位と一の位を足したり、掛けたりした値の下一桁を表示。 例) 73の場合7+3=10 で0 7×3=21 で1 というのは可能ですか?
>>37 =RIGHT(LEFT(A)*RIGHT(A))
=RIGHT(LEFT(A)+RIGHT(A))
こうか?
39 :
37 :2007/06/08(金) 02:17:51
>>38 まさに求めていたようになりました。
ありがとうございます。助かりました。
Excelのバージョン EXCEL2002です。 60秒ごとに同じマクロを【連続】して作動させる方法を教えてください。 お願い致します。
>>15 お返事遅れましたが全て上手くいきました。
ご指導くださった皆さん有難うございました。
VLOOKUP関数を使って膨大なデータを簡略化することも
できましたし、グラフに利用する事もできました!
43 :
名無しさん@そうだ選挙にいこう :2007/06/08(金) 10:25:20
Excel2007(VistaUltimate)についての質問です。 よろしくおねがいします。 (1)「マクロの記録」メニューがグレー表示で使えません。 どうすれば使えるようになるのでしょうか。 (2)Excel2002(WinXP)で作ったブックのシートの列数を256以上 使いたいのですが、従来の255列までしか表示されません。 どうすれば拡張できるのでしょうか。
>>43 (2)旧バージョンで作ったブックは、Officeボタン→変換を使って互換モードを解き
2007仕様のブックにしないと従来の列数・行数でしか使えない
(1)はよくわからんが、2007では「Excelマクロ有効ブック」という形式で保存しないと
マクロは使えない。後は >12 と >16 を参照
45 :
名無しさん@そうだ選挙にいこう :2007/06/08(金) 12:22:24
「ハイパーリンクの削除」を一括で行う方法はありますか?
VBAでActiveSheet.UsedRange.Hyperlinks.Deleteを実行
47 :
43 :2007/06/08(金) 13:47:05
>>44 レスありがとうございます。
マクロの方は有効ブックにしてるんですけど
マクロ記録が出きません。
作ったマクロは実行できています。
頭いい人教えて。 Function FCSUM(範囲, 第1色, 第2色, 第3色, 第4色, 第5色) For Each C In 範囲 If C.Font.ColorIndex = 第1色 Or 第2色 Or 第3色 Or 第4色 Or 第5色 Then RESULT = RESULT + 1 End If Next FCSUM = RESULT End Function 上記の文でフォントカラーを数える時、1種類〜5種類まで選択できるようにしたいのですが、 第2色〜第5色まで数値を入れない時でも正常に動作させるにはどうすれば・・・・・ 自分の足りない頭では、 第1色 ・ 第2色 ・ 第3色 ・ 第4色 ・ 第5色で全て計算式を 入れて、if文で空白を探して第1色〜第5色の中から計算式を選択する方法しか思いつきません。 結構長くなりそうなので、良い方法あるでしょうか?
>>48 Excelにあまり関係ないが・・・
OptionalとParamArrayを調べるんだ
>>48 よくわからん?のだけど、冗長な文が嫌だからどうしていいかわからんってことか?
Cってのが単一のセルでColorIndexが必ずひとつしか設定できないなら
orで手抜きしないで条件文全部書けばいいようにしか見えないけど
すみません、Aの列に名 Bの列に姓 があるんですが 宛名プリントする関係でどうしてもB+Aで姓名にしたいんですが どうすればいいのでしょう? 200件ほどあるのですが、地道にコピペしていくしかないのでしょうか? よろしくお願いします。 OS XP エクセル2002です。
cにa+bでwordで宛名印刷ウィザード
>>49 ありがとうございます。
optionalでいけそうです。
>>50 失礼しました。
orの計算式の書き方が省略されていました。
>>52 すみません。うまくいかないんですが・・・・
Cをクリックしてa+bと打ち込んでもcの列に足された結果が出ません。
文字だから、a&bなはず 文字結合でぐぐれといいたいけどな
答える方も質問をちゃんと嫁。 AとBが逆だし、文字連結も知らないんだから「=」を省略するなょ
57 :
名無しさん@そうだ選挙にいこう :2007/06/08(金) 21:30:27
エクセルで、 1 2 3 という時に、4.5.6...と「自動」で入れるのはどんな操作が必要なんでしょうか?
日本語でおk
セルの右下をドラッグ
>>57 1、1−3をポインターを使って囲んで色を反転させる。
2、囲んだ回りを見ると、右下に小さな黒い四角があるからそこにポインターを持っていく。
3、するとポインターが黒の十字になるから、そこでマウスの左を押しっぱなしにしてマウスを下に動かす。
4、好きな所でマウスから手を離す。
5、出来上がり。
61 :
名無しさん@そうだ選挙にいこう :2007/06/08(金) 22:09:36
62 :
35 :2007/06/08(金) 22:43:08
すいません、
>>35 ですが、
どなたかわかる方はいらっしゃらないでしょうか。
面倒ですがマクロを組むしかないんですかね・・。
64 :
35=62 :2007/06/08(金) 23:13:17
>>63 ああ、できました!
ありがとうございます。
でも、なんででしょうね・・・。
まあ、いいです、とにかく感謝します。
65 :
名無しさん@そうだ選挙にいこう :2007/06/09(土) 08:55:02
すいません ここ、ごくごく単純な質問でも良いのでしょうか? 現在エクセル2002を使っていて そろそろ新機能などにも興味があり、バージョンアップを考えています。 1. やはりエクセルも新型になるに連れ重いですか? 2. 2002ではWEBクエリで取り込めないページなども取り込めますか? 3. 特に重要( 重宝する )な新機能などありましたら教えて下さい。
66 :
sage :2007/06/09(土) 09:28:15
5.4.3.2.1 最大5 最小1 中間3 5.4.3.2.1.0 最大5 最小0 中間3(中間は数字の大きい方寄り) 9.8.7.6.5.4.3.2.1 最大9 最小1 中間5 上記のような項目の中から数字を取り出したいのですが、 最大、最小は項目選択して関数MAXとか入れればいいのですが、中間を取り出すにはどんな関数?計算式を いれればうまくいくでしょうか? 2002です。
>>66 大きいほうから数えて真ん中を取り出す
=LARGE(A1:A6,ROUND(COUNT(A1:A6)/2,0))
68 :
67 :2007/06/09(土) 10:02:24
【1 OSの種類 .】 WindowsXp 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 標準モジュール・自動マクロ 会社でレシピ印刷にexcelを使っています。 構成は、レシピの目次シートが1枚。 他のシート(50枚ほど)は各個別レシピの詳細となっています。 目次シートにボタンが50個あり、ボタンを押すと 各個別レシピのシートに飛ぶようになっています。 個別レシピに飛んだ後、数量を入力し、そのシートを印刷しています。 この印刷後、自動的に目次シートに飛ばすことは可能でしょうか? 代替的な方法としては、各個別シートにもボタンを設置し、 ボタンを押すことで目次に戻る方法です。 これだと自分の知識でも出来るのですが、作るのが手間ですしexcelの構成的にも美しくないと思います。 標準モジュールというと、vbのバーからマクロを実行するという知識しかありません。 特定の操作後(印刷ボタンを押した後)、自動でマクロを実行させれるのでしょうか? どなたかお願いします。
名前違ってました。
67と68は同一人物ではないです。
>>67 失敬。
70 :
名無しさん@そうだ選挙にいこう :2007/06/09(土) 16:59:30
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 表示形式を追加できません 会社で最近excel2007を1台だけ導入したんですが、 2007で編集した(2003以前でのデータで保存してます)ファイルが 2003以前のバージョンでは「表示形式を追加できません」 というメッセージがでて開けません。 2007では開くことはできますが、開くたびに フォントや色などがデフォルトに戻ってしまいます。 また、日付を「6/6」と入力しても一旦閉じて、開くと「39***」 のように5桁の数字に変わってしまいます。 この症状は2007を使い始めて約1ヶ月で出ました。 それまでは全然問題なく使えてたのですが。 マイクロソフトに問い合わせましたが、原因はわからず、 とにかく何か互換性の問題で書式など表示形式に問題がでて、 book自体が壊れてしまってるようです。 ファイルの内容はマクロも一切使ってませんし、 書式もそんなに変えてません。 同じような問題が起こった方いらっしゃいませんか?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 ちょっと 【4 VBAでの回答の可否】 良い 【5 検索キーワード 】 日付 A列に日付が入っています。↓こんな感じ 5月18日 5月25日 6月1日 6月8日 上記横のB列にこんな感じで表示できるほうほうないでしょうか? 070518 070525 070601 070608 A列は、日にちが解れば良いので表示にはこだわっていませんので下記のような変更も構いません。 2007/5/18 2007/5/25 2007/6/1 2007/6/8
>>71 B1=TEXT(A1,"yymmdd")
かな?
>>72 こんな簡単な文で出来るとは・・・・・
ありがとうございます。
74 :
名無しさん@そうだ選挙にいこう :2007/06/09(土) 19:23:37
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】足し算*5行おき あるセルから5行おきのセル値を足し算して結果をその列の下に 出したいのですが、どのようにすれば良いでしょうか?
>>74 =SUM(A5,A10,A15,・・・・)
=A5+A10+A15+・・・・
76 :
名無しさん@そうだ選挙にいこう :2007/06/09(土) 20:09:22
>>75 すみません、何百もあるので引数でエラーとかになると思います。
一括して指定できる方法がある様ですが、どうも上手く行かない
セルもあるので質問しました。
>>74 B列に作業列を作ってそれを足したら?
例えば
=IF(MOD(ROW(),5)=0,A1,0)をB1に入れて下までドラッグして
C列にでも、=SUM(B:B)を入れる
78 :
名無しさん@そうだ選挙にいこう :2007/06/09(土) 21:05:15
>>77 すみません自己解決しました。
=SUMPRODUCT((MOD(ROW(P10:P3000),5)=1)*P10:P3000)
等です。セルの値の入力ミスの為のエラーでした。
直して解決できました。
>>76 引数が多くなるなら引数の範囲を名前で定義付けてしまえばいい
定義した名前をさらに別の名前で入れ子の要領で定義すれば文字数の制限は無くなるみたいだ
例:
A列=Sheet1!A1:A20,Sheet1!A24:A43
B列=Sheet1!B1:B20,Sheet1!B25:B44
C列=Sheet1!C1:C20,Sheet1!B26:C45
A_B_C列=A列,B列,C列
そして
=SUM(A_B_C列)
などとする
すみません、ちょっとお願いします。 下記行為を行うと、F5とF6が結合してしまいます。 結合しない方法を教えてください。 Range("N17:O17").Select Selection.Copy Range("F5").Select ActiveSheet.Paste
結合しないけど?
>>68 印刷するコードが書いてあるなら、そのあとに続けて
worksheets("目次").activate
て書くだけでいい。
印刷が手動なら、BeforePrintイベントを使えばいい。
>>80 N17:O17が結合してるんだな
書式を除いてペーストだ
エクセルでリストをつくって毎日そこにデータを入力し、 その入力されたデータを、別にWORDでつくったあるフォーマットの文書の決まった場所に自動で入るようにしたい 上記質問をワード相談所でしたのですが、エクセルだけですむならそれでもかまわないことが わかりました。 「ワードでつくった文書」がエクセルであってもかまわないということです。 これは、受注書みたいなものです これは可能でしょうか? オフィス2002、XPHOME です。 関数は10年くらい前に使ってたきりです。 よろしくお願い申し上げます
85 :
80 :2007/06/09(土) 22:45:13
>>83 すいません。言葉が足りませんでした。
で、早速試そうとしたのですが、書式を除く方法を調べたのですが
ちょっと解らないです。
教えてもらえないでしょうか?
86 :
名無しさん@そうだ選挙にいこう :2007/06/09(土) 22:50:47
1.windows98 2.Excel2000 一つ一つ幅の異なる行と列で出来た表をコピーして全く同じ表を作る方法ありませんか? その表全体を「コピー」して、その表の下に「貼り付け」すると行が自分の望む幅になりません。もちろん、列は問題ないのですが。 初歩的なことだと思いますが、親切な方、どなたか教えて下さい。
>>85 Range("N17:O17").Copy
Range("F5").PasteSpecial Paste:=xlValues
だっけ・・・。
>>87 ありがとうございます。
順調に動きました。
>>86 表がA1:E15だとしたら1行目から15行目をコピーしてA21を選択して貼り付ける。
とかぢゃダメかな?
90 :
名無しさん@そうだ選挙にいこう :2007/06/09(土) 23:29:51
>>89 それだと上手くいかないんです。
たしかに表じたいはコピー出来ますが、各々の行の高さが元の表と全くの同じにはならないんです。
91 :
名無しさん@そうだ選挙にいこう :2007/06/09(土) 23:33:54
>>89 すいません。いけました!ありがとうございました!助かりました。
>>75 お前は本当にそれが回答として適切だと思ったのか?
↑92 ( ´,_ゝ`)プッ なに熱くなってんだよ ベェーベェー
>>75 こうした方が簡単
Sub GogyouSUM()
Dim i As Integer
Dim MyRow As Integer, MyColumn As Integer, LastRow As Integer
Dim MySUM As Integer
MyRow = Selection.Row
MyColumn = Selection.Column
LastRow = Cells(65536, MyColumn).End(xlUp).Rows
MySUM = 0
For i = 1 To CInt(LastRow / 5)
MySUM = MySUM + Cells(MyRow, MyColumn).Value
MyRow = MyRow + 5
Next i
MsgBox "合計は" & MySUM & "です。"
End Sub
でてけ、ガキどもが! ジャマなんだよ
>>96 誰に対して何を憤ってるんだ?
小学生じゃないんだからさ、もうちょっと頭のいい書き込み方をしようよ。
まがりなりにも大人なんだろ?
OS XP Pro Excel 2002 コメントのフォントが太字になっている初期設定は変えられないのですかね?
新しいシートを開いた時に、セルの高さが13.5ポイントになっています。 毎回セルの高さを変更するのが面倒なので、デフォルト設定を変更する方法はないでしょうか?
>>99 起動時に開くファイルを変更すればいいんでは?
ピボットテーブルウィザードを使うとき、初めから 行の集計を無しにしておきたいがどうすれば?
103 :
名無しさん@そうだ選挙にいこう :2007/06/10(日) 19:21:23
>66 なんですが、中間の値をIF関数使って取り出すことはかのうでしょうか?
A B A1 A1 A2 A1・A2の平均 A3 A1〜A3までの平均 A4 A1〜A4までの平均 A5 A1〜A5までの平均 : : : : このようにしたいのですがどうしたらいいですか?
>>104 セルB1に=AVERAGE($A$1:A1)を入れて下にドラッグしたらどうかな?
107 :
名無しさん@そうだ選挙にいこう :2007/06/10(日) 22:27:20
1から10数字があったら、最小と最大以外の数字をとりだすときには、 どんな論理式をいれたらよいのでしょうか?
>最小と最大以外の数字 ↑ 天文学的な種類がありますけど…
>>107 いい加減な日本語で質問をされると、回答する側に迷惑がかかる。
気を付けてくれ
普通に2〜9までのことを言ってるんじゃないのか?
111 :
名無しさん@そうだ選挙にいこう :2007/06/10(日) 23:15:33
>110 おっしゃるとおりで2から9までのことです。書き方が下手ですいません。
112 :
名無しさん@そうだ選挙にいこう :2007/06/10(日) 23:20:11
初めて質問させていただきます。エクセル超初心者です。 【1 OSの種類 】 WindowsXPsp2 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか 】 いいえ 【4 VBAでの回答の可否 】 否 こちら小さな自営業者で年に一度の「棚卸表」を今までは手書き紙媒体のA4ノートに a b c d 1 商品名 数量 仕入単価 金額 2 … … … … … … … … … 51 ページ小計 x,xxx. 52 ページ累計 xxx,xxx. って感じで記載していたのですが、エクセルで管理してみようと思いデータは打込んで見ました。 商品名 数量 仕入単価 金額 の横罫欄はページ設定 シートの管理で改ページしても各ページに表示できるようになりましたが、 ページ小計の値と、それらのページ毎の累計の値をどのように設定したらよいか判りません。 用紙はA4のたて書きで縦罫は53行(商品は50行)にしたいと思います。 改ページの表示と実際の印刷でも1行目に商品名 数量 仕入単価 金額、 最終2行に ページ小計 その値 ページ累計 その値 を表示させたいのです。 いろいろググってみましたが良い結果が得られず途方に暮れています。 素のデータを貼り付けるだけのテンプレートでも作成できれば幸いです。 どうかお知恵をお貸しくださいませ
>>107 やりたいことがいまいち分からん
A B
1
2 2
3 3
4 4
: :
8 8
9 9
10
でいいの?ひとつのセルに2〜9まで入れるの?
114 :
108 :2007/06/10(日) 23:38:36
>>111 そうでなくて条件は何なのかと?
もしかして、そのまんま
「最大値と最少値以外全部」
という条件?
エクセル2003にて、グラフ内のメモリ数字をアンチエイリアシング処理する事は可能でしょうか? 以前グラフをWEB保存した際、グラフ画像のメモリの数字が WindowsXPとWindows2000とで違う(アンチエイリアシング処理が かかる)気がしたのですがエクセル側の設定でしょうか?それとも OSにより違いがあるのでしょうか? どなたかお願い致します。
>>112 すごく簡単にできると思うんだけど・・・。
sum関数だけでできるよね。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 文字 カウント 検索で見つけ切れなかったので質問させてください。 やりたいことは下記の通りです。 例 セルA1 “佐藤・鈴木・田中” セルA2 “小林・渡辺” このA列のセルを参照して“・”の個数をカウント。 結果をB列に返す。 セルA1を参照してセルB1に “2” セルA2を参照してセルB2に “1” 以上よろしくお願いします。
>>112 途中まで作ったものをうpしたら、残りは俺がしてもいいよ。
手間もかからなさそうだし
>>118 ネットで検索する前にヘルプに「カウント」を入力して検索しろ
>>120 ヘルプからは特定の文字列を含むセルの個数をカウントする関数しか見つけられませんでした。
excelは職場にしかないので明日もう一度よく確認してみます。
ありがとうございました。
122 :
名無しさん@そうだ選挙にいこう :2007/06/11(月) 01:52:14
超初心者質問ですが、 ワードアートが全て 網っぽい枠のテキストボックスみたいになってしまってます。 解除方法をお願いします。 ちなみにバージョンは2000です。
123 :
112 :2007/06/11(月) 01:53:27
>>116 ごめんなさい…
>>117 簡単な図を書いたつもりがスペースが反映されず訳判らぬ文字列になりスマソ
先頭ページだけは「ページ小計」 =SUM(D2:D51) で出来ますが、それ以降の改ページ先にも同様にそのページのページ小計と、複数ページの「ページ小計の累計」の値を求めたいのです。
ちなみに現状の「ページ累計」の値の求め方は 1ページ目(D53) =D52 、2ページ目(D105) =D53+D104 、3ページ目(D157) =D105+D156 … と手入力で求めるしか術がありません。
商品点数が5000点から6500点(毎年変動します)あるので、各ページのラスト2行にSUM関数使って手入力していたのでは気が遠くなりそうです。
できれば先述の通り1行目・52行目・53行目には素データを書き込めないテンプレートを作成して、各ページに50品目ずつのデータを貼り付けて棚卸票を作成したいのです。
要は縦罫に連続する長いデータを行数設定した各 改ページ毎に小計を求め、且つページ毎の小計の累積も求めたいです。
>>119 大変手間がかからず嬉しいお言葉ですが、この先の事も考え自分で納得しエクセルを勉強したいのでお気持ちだけはありがたく頂戴しておきます。
商品名を違う文字列に置き換える術も持ち合わせておりませんので…
>>118 まあ、A列限定、A1から検索するとして…
Sub MojiCount()
Dim i As Integer, j As Integer
Dim lRow As Integer
Dim Cnt As Integer
Dim sTmp As String
lRow = Range("A65536").End(xlUp).Row
For i = 1 To lRow
sTmp = Cells(i, 1).Value
Cnt = 0
For j = 1 To Len(sTmp)
If Mid(sTmp, j, 1) = "・" Then
Cnt = Cnt + 1
End If
Next j
Cells(i, 2) = Cnt
Next i
End Sub
125 :
名無しさん@そうだ選挙にいこう :2007/06/11(月) 02:28:52
相談させてください。 A1のセルの式の値が1以上の時にA2とA3の色を黒にしたいのですが、その場合はどういう式にすれば良いのでしょうか? Excelの本見たんですが見つからなくて…。 知ってる方いたら教えてください!
>>125 条件付き書式
数式が
=$A$1>=1
書式→パターン→黒
OK
で行けるはず。
127 :
名無しさん@そうだ選挙にいこう :2007/06/11(月) 02:52:31
>>126 レスありがとうございます。
情報後出しで申し訳ないのですが詳しく書くと
A1 B1 C1
Aさん 75点 不合格
といった場合に、C1が不合格だったらA1〜C1を全て赤くしたいんです。
B1とC1は数式が入っているのですが条件付き書式でもできるのでしょうか??
>>107 >>110 >>111 「1から10数字があったら、最小と最大以外の数字全て」
は2〜9じゃないよ
1.0000000000・・・・・(略)・・・・・0000000001
1.0000000000・・・・・(略)・・・・・0000000002
:
9.9999999999・・・・・(略)・・・・・9999999998
9.9999999999・・・・・(略)・・・・・9999999999
となり、・・・・・(略)・・・・・の部分は限りなく続くので108が言ってるとおり天文学的な種類になる。
だって「1.0000000000・・・・・(略)・・・・・0000000001」も間違いなく数値(数字)だし
1〜10の範囲の最大値でも最小値でもないでしょ?107の条件には間違いなく当てはまっている。
「1から10数字があったら、最小と最大以外の 【 整数 】 全て」
なら話は別だが、そんなことは一言も書かれてないし、数値(数字)において整数のみが「普通」なんてことも無い。
日常には小数も「普通」に溢れかえっているし、「ボールの個数」みたいに対象が整数で表現するものであるならまだしも
単に数値(数字)といった場合は、「整数」と限定されなければ小数も含むと解釈するのが「普通」です。
>>127 出来る。
条件付き書式は数式結果に対しても、
条件付き書式を設定するセルとは別のセルの値や数式結果に対しても条件設定が出来るから。
129 :
名無しさん@そうだ選挙にいこう :2007/06/11(月) 04:21:17
>114 そのとおりです。 でも一つのセルにそのすべての数を表示させるのは無理っぽいですね。
>>128 流れ的に整数について聞きたいってのは推察できるだろ
頭が固いというか・・・
>>130 不明瞭な条件を回答者が推察しなければならないような質問の仕方はするなって話だろ
君の方こそ頭固いというか流れ読めてないというか・・・
132 :
名無しさん@そうだ選挙にいこう :2007/06/11(月) 07:55:00
上から目線の馬鹿ほどじゃないけどな なんだこりゃww
>>128 典型的な馬鹿正直で屁理屈を言って見たい年頃のガキだな
まぁきっちり書くべきだとは思うけど これぐらいは分かりそうなもんだとも思う
> 不明瞭な条件を回答者が推察しなければならないような質問の仕方はするな 激しく同意 時々、質問に回答してるのかクイズに答えてるのかエスパー能力を試されてるとか解らなくなることがある
136 :
名無しさん@そうだ選挙にいこう :2007/06/11(月) 09:52:30
馬鹿には理解できないだけだろw わからなきゃ聞けよw どんだけコミュニケーションスキル低いんだよwww
>>127 大丈夫
A1とB1
数式が
=$C$1="不合格"
書式→パターン→赤
C1
セルの値が
次の値に等しい
="不合格"
書式→パターン→赤
で行けるはず。
138 :
133 :2007/06/11(月) 10:12:49
∧_∧ ( ) ( ) │ │ │ (__)_) ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ( `・ω・´) 彡< 典型的な馬鹿正直で屁理屈を言って見たい年頃のガキだな (m9 つ \_____________________ .人 Y 彡 レ'(_) ┏━━━━━━━━┓ ┃ ∧_∧ ┃ ┃ ( ´・ω・`) .┃ ∧_∧ (m9 つ .┃ ( )人 Y ┃ ( つ '(_) .┃ ノ ,イ━━━━━━━┛ レ-'(_)
横からごめん。 ここ有意義で良スレで気に入ってるので、マターリしましょう。 腹が立つ気持ちや皮肉の一つでも言いたいのはよく分かりますし、 それは自分でもありますけど。どうかお願いします m(_ _)m
わかりにくい質問があっても煽っちゃいけないよ。 質問者が煽るのも論外だけどさあ。
excel2002で 画像の透過した部分をクリックして、 画像じゃなく下のセルを選択して数値やらを入力することはできないよね? オートシェイプなら出来るけど、画像は無理?
>>141 直接クリックすることはできないけど、周辺のセルをクリックして、十字キーで移動すれば可能だよ。
入力も上のバーからならできるはず。
どっちもどっちだな。 エスパー能力を要求してるような質問は無視っとけ。
>>143 そうだね。
無視って言うとぱっと見、可哀想にも思えるけど、煽ったりするよりはずいぶんマシ。
荒れるだけで誰にも利益はないし、ただの子供や主婦の喧嘩みたいになるので
気分を害して結局煽り合いになってしまうし。
無視された方は常識人ならば、自分の質問の仕方が悪かったのだろうかと考えるだろうし。
聞きたいこと(分からないこと)が分からないくらいのビギナーなら他へ行ったり
ググるなどの努力をいずれするだろうし。
で?
>>144 ?
指定したいセルがA1だったとして、画像がかぶってない例えばA5などから移動すれば良いのでは。
直で指定しなきゃダメなの?
なら簡易マクロ組むくらいしかないなあ。
150 :
123 :2007/06/11(月) 11:58:26
その後よい情報はありませんでしょうか? アクセスならできるらしいのですが、あいにく持ちあわせておりません。
持ってないなら買えば良いだけでは?
>>150 エクセルで出来るかどうかは知らない…
俺なら、印刷用のシートを用意して
VBAで印刷時に一定行ずつコピるかな
各ページの一行目に列のタイトルをいれるのは
ヘッダ行を指定すればOKなはず
154 :
名無しさん@そうだ選挙にいこう :2007/06/11(月) 12:48:24
すいません質問させてください。 before after 太郎 山田太郎 ----- ------ 一朗 山田一朗 ----- ------ 次郎 山田次郎 ----- ------ ・ ・ ・ と上からセル内にこのような語句が数多くあり、これをまとめて 右のように山田太郎 山田一朗 山田三郎というように一括で文字挿入をしたい のですが、どんな方法が一番はやくできますか?
>>150 ページ計って手作業時代の名残りだろ、意味ないって。
それよりも、仕入れ先ごととか、商品分類ごとなどのグルーピングに頭を費やすべし!
>>154 文字挿入したい範囲を選択して↓を実行
Private Sub Sample()
Dim r As Range
For Each r In Selection
r.Value = "山田" & r.Value
Next r
End Sub
数式でやるなら作業列に="山田"&A1を入れてフィルコピー
必要に応じて作業列をコピーしてA列に値の貼り付けをして作業列を消去
157 :
名無しさん@そうだ選挙にいこう :2007/06/11(月) 13:41:52
A列の数字以外の文字がある行を削除さたいのですがうまくマクロがてきませぬ 教えてください ちなみにExcel2003です
158 :
名無しさん@そうだ選挙にいこう :2007/06/11(月) 13:43:15
A列の数字以外の文字がある行を削除さたいのですがうまくマクロがてきませぬ 教えてください ちなみにExcel2003です
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否(使用しなくて済むなら助かります) 下記の条件の回答を得たい場合、どう式組めばいいのか分からないので知恵を拝借させてください。 例えば 5種の飴 A B C D Eがあったとして、 それぞれの数量は不明です。 ABCDEの3種類から数量1を組み合わせていった場合、(1セット3種1個ずつ) 何セット作成出来るかを知りたいのです。 組み合わせれない状態になった時点で終了です。 A B C D E F 4 4 5 5 6 6 なら10セット作成が可能 A B C D E F 0 0 10 15 15 20 なら21セット作成が可能 ということですが、これで意味分かりますでしょうか。 もし、お分かりになる方、是非、教えてください。 よろしくお願い致します。
161 :
160 :2007/06/11(月) 15:29:27
あ。 具体例が6種類で構成されてた。 まあどっちでも条件はさほど変わらないと思いますが、 混乱されたらすいません。
162 :
68 :2007/06/11(月) 15:54:10
>>82 遅レスになりましたがありがとうございました。
dionユーザーで家からの書き込みが規制されていました。
今は会社からです(汗)
「BeforePrint」と教えていただいたおかげで解決できました。
実際には『Workbook_SheetBeforeRightClick』でやりました。
@手動印刷→A目次へもどる てな具合で。
(BeforePrintだと目次に戻った後に印刷されてしまうので…)
とてもヒントになり、導かれました。
ありがとうございます。
163 :
123 :2007/06/11(月) 17:16:32
>>152 >各ページの一行目に列のタイトルをいれるのは
>ヘッダ行を指定すればOKなはず
これは勉強して解決しました。
>>153 これは大変参考になりました。携帯からわざわざありがとうございました!!
>>155 税理士に確認しましたら「ページ小計なんていらないよ」との事。ここまで悩んできたことが軽くかわされてしまいました。
>ページ計って手作業時代の名残りだろ、意味ないって。
昨年までは手書きノートでやっていたので検算の際に必要だったもので感覚的にページ小計・累積ページ合計を組み込みたかったのです。
意味が無くなってしまいましたがとりあえず153さんの情報でやってみようと思います。
皆様どうもありがとうございました。
164 :
名無しさん@そうだ選挙にいこう :2007/06/11(月) 17:23:42
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 すこし 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 FormulaR1C1 FormulaR1C1は、なんて読むのでしょうか? 「ふぉーみゅらあーるわんしーわん」でいいんですか??
165 :
164 :2007/06/11(月) 17:25:29
すみません、解決しました。スレ汚し失礼しました。
ち、解決したのかよ せっかくVBAでの回答考えたのに、、、
>166 VBAで回答していいぞ!w
168 :
名無しさん@そうだ選挙にいこう :2007/06/11(月) 18:49:58
グラフで。 同じデータを棒と折れ線で一つのグラフに表したとき、 凡例に同じ言葉が2つ出てくるので、まとめて一つで表したいのですが、 凡例の書式設定で一つ白にして消す方法しかないのでしょうか。 まとめられる方法あれば教えてください。
無駄な回答は不要!w
【1 OSの種類 .】 Windows2K sp4 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 1日ごとの経過秒(21時15分30秒なら76530)でプロットされるデータがあるのですが 秒で表示される値(76530)を時間(21:15:30)に変える方法があれば教えてください。
172 :
164 :2007/06/11(月) 21:23:41
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 すこし 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 デザインモード VBA デバッグ VBEのデバッグツールバーにある、デザインモードのオンオフの切り替えって何に使うのですか?
>>171 A1=76530
B1=TEXT(A1/86400,"hh:mm:ss")
式の明示性を上げる為にも、ここは /24/60/60 にすべきだよ 初心者はVBAコードも数式も、短い=良い と勘違いしがちだけど
175 :
171 :2007/06/11(月) 21:55:21
176 :
164 :2007/06/11(月) 22:14:50
ぐぐってもそれらしいことを解説してあるページが見つからないんですが、 何で検索すればいいでしょう?
177 :
164=172 :2007/06/11(月) 22:15:32
↑ すみません、164=172です。
Access用じゃないの?
>>174 自分の考えと異なる奴は初心者扱いですか?
>>136 とりあえず、お前はもう来なくていいよ。
>>174 俺にはその式すら可読性が低いように思えるんだが。
>>174 公にさらす予定もないなら、本人にわかりゃぁいい。
自分の考えを押しつけないように
183 :
172 :2007/06/11(月) 23:18:45
>178 Access用のボタンがEXCELVBAについてるってことですか?
Excel2003 途中まで入力すると それにマッチする既存の 文章が自動で補完される 機能をONにしてるんですが、 補完された文章をそのまま編集して使いたい時と そうでない時(たとえば最初の主語のみ同じで 以降は全く違う文章となる場合等)があったとすると、 補完文章が一旦出た後に、Escキー等で補完が解除 されるとうれしいんですが、そういう風にはできませんかね?(補完機能はONのままで)
質問おねがいします。
【1 OSの種類】 WindowsXP Pro
【2 Excelのバージョン】 Excel 2003
【3 VBAが使えるか】 いいえ
【4 VBAでの回答の可否】 否(使用しなくて済むなら…)
ttp://www.geocities.jp/cdr50mai/01.JPG このように、異なる列で自動で昇順に並べ替えたいのですが可能でしょうか?
よろしくお願いします。
ちょっと質問したいんだが、いいか? VBAでファイルの読み込み、書き出しを行いたいんだけど、 そのマクロを動かすときに、ファイルダイアログが最初に表示する ディレクトリを固定したいんだ。 で、とりあえずはアクティブブックのあるディレクトリを最初に表示させたい。 ただ、オプションで設定するカレントディレクトリは出来ればいじりたくない。 (複数の人が利用するものなので、出来ればオプションはいじりたくない。) で、base_dirを使えばうまくいくような記憶があったので、 フルパスを取得して、InStrRev関数で「\」を検索して、そこまでをLeft関数で 取り出した文字列をbase_dirに設定するようにしてみたんだが、うまくいかない。 テンプレのキーワードで探してみても見つからないので、 どうしたらいいのか・・・ 【1 OSの種類 】 Windows XP 【2 Excelのバージョン 】 Excel XP 【3 VBAが使えるか 】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】EXCEL VBA ファイル base_dir ちなみに、俺の環境はMacなので、教えてもらっても試すのは明日、職場で・・・
>>187 ちょっと確認したいんだが、いいか?
もしかして
お前の環境はMacで、教えてやったも試すのは明日、職場でか?
>>187 素直な話、そうなるな。
だから、一番いいパターンは朝に1度返答、昼に確認、夕方試行、深夜に報告になるのかな。
急な話で申し訳ないが、よろしく頼んます。
オレはおまえの友達じゃないし
? 友達じゃないと質問に答えて貰えないんですか? ……質問したいことがあったんですが残念です。
>>190 >>187 は「質問する側なのに敬語を使わないのは失礼だ」と言いたいんだろう。
俺はどっちでもいい気がする。
まぁ好みの問題だと思うが、どうか?
>>191 ここ限定の話なら、まあどっちゃでもいいだろう。
よそで同じ態度をとってボコられても、それは当人の責任。
リアルでそういう態度をとるなら、それはただの馬鹿。
>>184 オートコンプリートを無視してそのまま入力を
続ければ、勝手に解除されるはず。
>>160 は厳しいっていうか
対応難しい感じでしょうか?
195 :
名無しさん@そうだ選挙にいこう :2007/06/12(火) 11:12:57
EXCELで下のような式を計算をしたいです。 A1*B1+A1*B1^2+A1*B1^3+・・・・+A1*B1^(C1-2)+A1*B1^(C1-1)+A1*B1^C1 A1・B1・C1欄に任意の数字を入れたら、自動で計算してくれるようにするには、 どうしたらいいか教えてください。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】Excel Σ べき乗 累乗 関数 ^
>>194 別に厳しくも難しくもないけど、Excelではなく数学と論理の問題だからな。
解を求める論理を理解していて、それをExcelの数式で表現する方法で躓いているというならまだしも
解を求める論理自体を教えてくれってのはスレ違いだ。
>>195 条件が不明瞭だが、必要な計算式を好きなセルに入れておけば、Excelは勝手に計算してくれるけど。
まあ配列数式にした方がスッキリするだろうけどな。
197 :
194 :2007/06/12(火) 11:30:49
>>196 なるほど。確かにそうですね。
失礼しました
198 :
195 :2007/06/12(火) 11:31:44
a*x+a*(xの2乗)+a*(xの3乗)+……a*(xのr-2乗)+a*(xのr-1乗)+a*(xのr乗) の計算を様々な変数a・x・rについて計算したいです。 195のような式をながながと毎回作っていくのはすごくめんどいので、 関数やVBA?なんかを使って、自動で計算できないかなと思ったのです。
>>198 C1が65536までなら
=SUMPRODUCT(A1*B1^ROW(INDIRECT("a1:a"&C1)))
200 :
195 :2007/06/12(火) 13:06:54
>>199 どうもありがとうございます!解決しました。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】多少・・・ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】min VBA上でminを使いたいのですが、ヘルプを見てもセルを指定してその範囲で行う例が載せてあるだけでした。 変数二つで同様の処理はできないものでしょうか。 paste = Min(A,B) のように表記しても、ダメでした。
202 :
名無しさん@そうだ選挙にいこう :2007/06/12(火) 14:38:29
質問おねがいします。 【1 OSの種類】 WindowsXP Pro 【2 Excelのバージョン】 Excel 2003 【3 VBAが使えるか】 いいえ 【4 VBAでの回答の可否】 否 各数字の羅列があります、各数字から3を引いて3より大きい数字はそのまま足します。 3より小さい数字は、0として足します。この計算式をお願いします。 7-3=4(これはこのまま4として足します) 2-3=-1(-1でなくて0として足します) 3が基準となります。 以上よろしくお願いいたします。
>>201 WorkrSeetFunction.Min(a, b)
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】超初心者 VBAで関数の名前を & などを用いて表せないかな、と考えています。 割と分厚い本を買ってみたのですが、かゆいところに手が届かないと言いますか・・・。 関数の名前自体を関数の組み合わせで示せれば、ループの際にすごく楽になるな、と思っています。 たとえば da & i (iは1から10まで増加)みたいな形で、変数を管理できないものでしょうか。 いろいろ試してみましたが、名前と言うより内容をつなぐと解釈するようです。 また、変数のことが上手くまとまったサイトなど、ご存知ありませんか?
205 :
名無しさん@そうだ選挙にいこう :2007/06/12(火) 15:11:35
>>137 遅くなりましたがレスありがとうございます!
やってみたら出来ました!!
本当にありがとうございました。
206 :
202 :2007/06/12(火) 15:38:04
式は下記のように考えました。 =SUM(IF(f60:aj60)>3) しかし駄目でした。 よろしくお願いします。
>>206 他にもいい方法があるかもしれないけど、一応。
要は3を引いて考えたいんでしょ。式を分ければいいのでは?
範囲をA1:A22として
=sumif(A1:A22,">3")-countif(A1:A22,">3")*3
でどう?
>204 引数の値によって異なる関数を呼び出す関数を作れば? Function hoge(i) Select Case i Case 1 関数1 Case 2 関数2 … とか
209 :
202 :2007/06/12(火) 15:55:21
>>207 さん
ありがとうございます。
解決しました。
これで今日中に、手計算しなくて済みます。
本当にありがとうございました。
210 :
名無しさん@そうだ選挙にいこう :2007/06/12(火) 18:50:19
1列のすごく長い列を順番をかえずにプリント用紙を節約& スペース有効活用のために2〜3列にしたいのですがどうすれ ばいいですか? 例 A列 aaa bbb ccc ddd eee を A列 B列 aaa fff bbb ggg ccc hhh ddd iiii eee jjjj のようにまとめたい。
211 :
名無しさん@そうだ選挙にいこう :2007/06/12(火) 18:59:51
【1 OSの種類 】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか 】 勉強中(初心者) 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 VBA "()" VBEの sub名前() ←この( )って、何ですか?
212 :
211 :2007/06/12(火) 19:00:53
↑すみません。VBEじゃなくてVBAです。よろしくお願いします。
かっこ
>>211 おまい「も〜ぐ」で訊いてるのと別人か?
業務の効率アップを図るため、質問させてください。 【1 OSの種類 .】 WindowsXPSP2 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 商品を番号で管理し、種類が3つ、02・03・06としてます。 毎月発売してますので結果的には20070602とかで管理してます。2007年6月の02商品と言った感じです。 で、エクセルに入力する場合 20070302 ←年月同じ 20050303 ・・・ 20070303 ←年月同じ となり同じ年月のあるものは赤字とかで表記できるようにしたいと日々悩んでいます。 よろしくお願いします。
216 :
名無しさん@そうだ選挙にいこう :2007/06/12(火) 20:20:51
>>215 フィルタかけて一括で色変える・・・じゃだめ?
217 :
211 :2007/06/12(火) 20:34:59
すみません、ヘルプに載ってました!失礼しました。
>>216 基本的には1回の処理ではなくて、1回終わったらクリアしてまた次の入力の繰り返しになるので、
出来れば入力してる最中にリアルタイムで判った方が理想です。
例えば年月だけの入力でしたら、条件付書式で「数式」が「=COUNTIF(A:A,A1)>1」で「赤」を指定すると
同じ数字が入力された時点で赤に変わり、削除した時点で黒に戻ります。
商品番号まで入ると当然ながら同番ではないので変わらないので、=LEFT(A1,6)とかの
組み合わせで何とかならないかと思ってます。
>>218 年月と品番を分割したらまずい?年月のセルに対してその条件付書式も使えるし。
今まで打ち込んだ分(A列)についてはデータ→区切り位置で(B列とC列)に分割。
その8桁の数値が必要なら新規データはB列C列に打ち込んでA列に=(B○&C○)でだめかな。
楽な方法があったらスマソ。
【1 OSの種類 .】 Windows2000 sp3 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 A:A列に名前がずらっと入っています。 それをB列に重複を省いて並べたいのですが可能でしょうか? 可能なら式を教えて下さい。 [A] [A] [B] [B] [C] [C] [B] [D] [B] [ ] [D] [ ] ↑こう並べたいんです。
>>220 =IF(COUNTIF(A$1:A1,A1)=1,A1,"")
で
[A] [A]
[B] [B]
[C] [C]
[B] [ ]
[B] [ ]
[D] [D]
となる。
上詰めは値の貼り付けしてからソートでも空白セルの削除でもすればいいが
上詰めも数式でやりたいなら過去ログにやりかた載ってるのでそちらを参照。
過去ログ読むの面倒だとか、過去ログの読み方解らないとかは無しの方向で。
>>221 あんまりいいやり方とは思えないが
1)データ並べ替え
2)IF文で =IF(A1=A2,"",A1)こんな感じで並べ替えの隣の列に書く
3)データ並べ替え
[A] [A] [A] [A]
[B] [B] [ ] [B]
[C] [B] [ ] [C]
[B] [B] [B] [D]
[B] [C] [C] [ ]
[D] [D] [D] [ ]
>>221 ,222
ありがとうございます。
でもごめんなさい。
情報が載っているのならいくらでも過去ログ読みますが、
保存してない限り過去ログは読めませんよね?
勘違いならすいません。
私が最初に思ったのは、
A1の文字列を
B列の最初から自分の入る行までMATCHで調べる
同じ物があったら次のA2 なかったらA1
というのを配列で出来ないかな?
と思ったのですが
>220 昇順で並べ替え→適当な項目で集計→2階層目で表示→ 合計値を除く部分をコピー→形式を選択して貼り付け じゃダメなん?
> 保存してない限り過去ログは読めませんよね? いいえ、読めます。読み方についてはスレ違い。 とりあえず読めば解決する話なので、あとはご自分で。
226 :
220 :2007/06/12(火) 21:58:59
>>224 申し訳ありません。
後出しみたいになってしまう、自分の質問のしかたにあきれていますが
勿論手動では出来るんですが、全自動化にしたいんです。
A列は毎回違う表が入ります。
質問って難しいです。
ごめんなさい。
227 :
185 :2007/06/12(火) 22:05:14
自分なりにGoogleフル稼働してもわかりませんでした。 やっぱり無理なのでしょうか…?
過去ログ過去ログとレスを無駄に垂れ流すなよ。 ○○の過去ログにのってるから後は自分で調べろ、とかにしてくれない
229 :
220 :2007/06/12(火) 22:18:30
>>225 本当だ!
確か●か何かの有料ソフトでしか見れないとずっと思っていた…
>>219 レスサンクスです。
年月と品番の分割入力は今やってる方法です。
今は特に詳しくは書きませんが、同年月商品がある場合、セット価格になったり、
管理する商品番号は変わったり(02と03の組合せで07になる等)あるので、
出きれば1つのセルに8桁の数字を入力したいと思ってます。
詳しく書かないのは、>215の質問が解決したら、それを踏まえてまた自分で挑戦してみるつもり
だったので、別段情報を小出しにしてる訳ではありません。
231 :
201 :2007/06/12(火) 22:26:35
>>204 くだらない横槍で申し訳ないが、その手の「汚いプログラム」を
作ろうという発想は、あまり持たない方がいい。
>>215 とりあえず、表組みの設計段階で誤りがあることに気付こう。
>>230 じゃあ今までどおり(?)Aに8桁入力して、自動でBに上6桁分を表示させれば?
Bn=LEFT(An,6)にしとく。条件付書式設定は6桁のところだけじゃなく行全体に対して適用させる。
でB列は「非表示する」にすれば見た目も維持できて、A列で赤字表示できると思うけど。
>>227 =
>>185 作業列を用意して、
選択範囲を1列に並べる→作業列をソート→出力用の表に必要な行数・列数で呼び出し
っていう作戦じゃダメ?
作業列を多段階に用意することで
入力範囲の値を一列に並べた作業列 ……@
@をソートした作業列 ……A
Aを何行か何列かごとに切り分けて呼び出す出力表
と、結構自動化できると思うが。
>>227 サンプル画像まで用意して頑張っているようだが、
君の質問は何が言いたいのか、皆目理解できないんだ。
>>227 のはエスパーすると名前順に並び替えたい。異なる列で。
それだったら、VBAを使ったほうが楽だよ。質問だとVBAはXだから、
>>235 さんの方式でやるしかない。
238 :
204 :2007/06/12(火) 22:49:25
>>232 VBAを勉強し始めたばかりなんですが、変数がずらっと並ぶプログラムのほうがむしろ好ましい、ということなのでしょうか。
むしろそういうことを省くほうが良いのかな、と漠然と思っていました。
もし違っているなら、今後は経験者のアドバイスに沿った方針で勉強していこうと思います。
>>237 その通りです。
いままで
>>235 氏の方法でやってきましたが、データ量が増えてきて大変だったので
自動化したいと思いました。
VBAで可能であれば、よろしくお願いします。
VBAは多少ならわかります。
他の言語のevalみたいなことがしたいんでしょ。でもその機能はVBAには無いのよ。 たくさんの値をまとめて管理したいなら「配列」を勉強してみるといいよ。 それか、用途によっては「構造体」「typeステートメント」「Dictionaryオブジェクト」「クラスモジュール」 このあたりじゃないかな? たぶん最初は配列で事足りると思うよ。
1、表を読み込んで、値を配列の中に放り込む。 2、配列の中の値を名前順でソート 3、ソートした値を表に書き戻す。 いじょ。コードは長くなりそうだからここまで。
242 :
名無しさん@そうだ選挙にいこう :2007/06/12(火) 23:03:32
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】 否 同じセル内に A120.79998556B60.00041278 とあってAとBの両方を四捨五入するには どうすればよいのでしょうか。
>>242 無茶な使い方を前提にせず、AとBを別セルに分けることを考えなよ。
245 :
名無しさん@そうだ選挙にいこう :2007/06/12(火) 23:18:24
>>243 A120.79998556B60.00041278
A64.6729855599998B60.00041278
A7.29798555999983B60.00041278
A50.0770144400002B60.00041278
A-120.80001444B-60.00041278
A-115.79998556B-5.00041278
A-115.80001444B-4.99958722
こういう風に続くのですが
AとBは別々のセルに分けられるのでしょうか?
>>245 やり方はいくつかあるが、かなり簡単に分けられる。
とりあえず
[ データ ]→[ 区切り位置(E) ... ]
辺りでも眺めてみたらどうか。
それで分からなければ、関数なりマクロなり組めばよし。
テキストエディタの検索置換の方がずっと簡単かな。
全過去ログを検索してみましたが 「フィルターをチェックしろ」 ぐらいしか見あたりませんでした。 無理そうですね、他の手段を考えてみます。
>>247 ちなみに俺はピボットテーブルを使ってる。
携帯からのカキコで恐縮です。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 はい(若干) 【4 VBAでの回答の可否】 可 【5 検索キーワード】 Excel VBA ファイル 移動 VBAを使い、複数のファイルをループで移動させようとしています。 その時、条件に沿ってフォルダを分け、フォルダがない場合はMkDirで 作成してから移動させようとしたのですが、フォルダの有無を判定させる 構文がわかりません。尚、FSOの使い方はさっぱりですので、ファイル 移動はName A AS Bという方法でやっています。 フォルダの有無判定部分は以下のように書きましたがエラーになりました。 If Dir(移動先フォルダパス& "\")="" Then MkDir(作成フォルダパス) どこが悪いのでしょうか。ご教示お願いします。
251 :
249 :2007/06/13(水) 00:27:15
丸投げがどこに上げても同じ 帰れボケ
今日中に作り上げたいのか、大変だな。 まあ、まだ23時間あるからな、調べても間に合うだろ。
SUMIFではAND条件使えないから面倒だな。 別セルに[4月のA]というセルを準備してそれをSUMIFで括れば結果はでるんだが 他にセルを増やさなくて済むような方法ないかねー
>>251 F7=SUM(IF((B3:B8)&(C3:C8)=F$6&I$3,D3:D8,0))
G7=SUM(IF((B3:B8)&(C3:C8)=G$6&I$3,D3:D8,0))
配列数式で。
>>250 "\"いらねんじゃね?
FSOは参照の定義さえわかればめちゃくちゃ簡単だし便利だけどね
@オブジェクト変数を使う参照方法
Set FS = CreateObject("Scripting.FileSystemObject")
AWithで使用毎に直接参照
With CreateObject("Scripting.FileSystemObject")
Ebd With
のどっちか。
258 :
名無しさん@そうだ選挙にいこう :2007/06/13(水) 04:10:06
1から10整数があったら、最小と最大以外の数字をとりだすときには、 どんな論理式をいれたらよいのでしょうか? A B C D E F G H I ..M 1 2 3 4 5 6 7 8 9 M列の一行目のセル一つに2.3.4.5.6.7.8と結果をだすことは可能でしょうか?
259 :
名無しさん@そうだ選挙にいこう :2007/06/13(水) 04:15:52
>128 すごいね。細かく書いて俺は正しいんだ。なにか?ってかw。 こんな奴と仕事した区ねー。 アホが聞いてんだから、そこまで切れなくてもいいだろうに。 普通に考えたらわかるだろ。っていってるやつらもいるだろ?俺もそう思うが。 とりあえず、正論だが「普通」じゃないだろwwwwwww。 荒れたのは自分のせいだと気づかないんだろうなあ
260 :
名無しさん@そうだ選挙にいこう :2007/06/13(水) 04:47:50
>>250 いくらなんでもスレ違いすぎ。
それVBSとかでも出来るし。
ちなみにfsoならCreateFolder
FolderExists・MoveFileとかあるから
とやりたいことほとんどできる
WSHスレとかで聞いてみてくれ
規制くらって携帯からだから
誘導はできない。
てか、永久規制とか最悪…
263 :
名無しさん@そうだ選挙にいこう :2007/06/13(水) 08:30:36
ウザ
>>263 262は的を射たことを言ってるよ。
お前みたいな出来損ないよりはよっぽどマシだ
265 :
名無しさん@そうだ選挙にいこう :2007/06/13(水) 08:58:24
的を射た自己紹介をわざわざ携帯からやられてもねえw 永久規制で本当に良かった
>>247 諦めるならそれはそれでいいけど、
ちゃんと関数で上詰めする方法載ってるので
「見あたらない」とか「無理そう」とか嘘は書かないでね
たいしたレスもしてないのに煽るなハゲ! おまえ見たいのがいるから荒れるんだよ。
>>267 たいしたレスもしてないのに煽るなハゲ!
>>267 おまえ見たいのがいるから荒れるんだよ。
269 :
250 :2007/06/13(水) 12:11:52
私の携帯からのカキコのせいで荒れてるようで申し訳けないです。 しかし、規制で携帯から書いたわけではありません。 自己解決しました。 IF Dir(移動先フォルダ,vbDirectory)="" Then でできました。 ありがとうございました。
270 :
名無しさん@そうだ選挙にいこう :2007/06/13(水) 12:35:15
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい(ままごと程度) 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Excel VBA 印刷範囲 恥ずかしながら教えてください。。 あるシートからデータを取り出して別のシートに表として出力するマクロを組みました。 それは正常に動いているのですが データの終端で処理を終わる前に印刷範囲を設定しようとしたのですが… ActiveSheet.PageSetup.PrintArea = Range(Cells(1, 1), Cells(X, 20)) (変数X=作った表の最後の行番号。INT形式) 右上端から左下端まで設定したいわけですが 「PageSetupクラスのPrintAreaプロパティが設定できません」エラーになりまつ。 穴が開くほど一言一句見直したのですが…なぜでしょう。。。
271 :
名無しさん@そうだ選挙にいこう :2007/06/13(水) 12:48:39
1通300円の宝くじが1千万通売り出されたとき, 賞金が以下の場合の期待値を求めよ. 等級 賞金 本数 1等 100,000,000 5 2等 10,000,000 10 3等 1,000,000 100 4等 100,000 500 5等 10,000 1,000 6等 1,000 50,000 7等 300 1,000,000 これをexcel使って出来る勇者様いらっしゃいませんか? excel初心者の私には、まずどう手をつけていいかすらわかりません・・・ 統計学の授業を一人で受けているため誰にも頼れず、このスレを見つけたので 書き込ませていただきました。 どうかお願いします・・・
>>270 set sht = worksheets("印刷範囲を設定したいシート名")
として
sht.PageSetup.PrintArea = sht.Range(sht.Cells(1, 1), sht.Cells(X, 20))
だとどうでしょ?
>>273 放り込んでみましたが。。。うーむ、、、だめです…
手動でやる、、、のは負けた気がするヽ(`Д´)ノ
どもでした、、、うーむ。。。
>>270 Dim parea as String
parea = "A1:T" & X
ActiveSheet.PageSetup.PrintArea = Range(parea)
そもそも
>>270 は標準モジュールに書いてあるのかい。
>>271 こんなのエクセルじゃなくて算数の世界だろ
>>270 そもそもRangeオブジェクトを渡すの?
文字列なら.Addressつけてもダメ?
エクセルで10.5以上の数値を赤く表示させたいのですが ユーザー定義を \#,##0.00;[赤]<=10.5 でやりましたが出来ません。どうしたら赤く表示されるのでしょうか?
>>278 書式→条件付き書式
セルの値が
次の値以上 10.5
書式 任意で・・・
OK
280 :
270 :2007/06/13(水) 15:26:36
デキタ━━━━━━(゚∀゚)━━━━━━ !!
(メンドクサクテ)シート直下に書いてたのを何かとりあえず標準モジュールに移して
>>275 さんのコードでpareaを直接渡してやることで、何かできました!
しかし、「Set」すら知らなかった俺。精進します。
ありがとうございました。やっぱ頼りになるわぁ(*´Д`)
281 :
名無しさん@そうだ選挙にいこう :2007/06/13(水) 15:41:43
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 ??? Excelのシートのタブ部分にWord文書をシートで挿入は可能でしょうか。 いろいろ検索してみたのですが、なかなか見つかりません。
>>280 ついでだから書いておくけど、
オブジェクトの参照はめんどくさがらずに書かないとトラブルの種になるよ
Rangeのオブジェクト参照(この場合Sheets)を書かないと
シートに記述した場合、コードを記述したシートのRangeが該当になる
標準モジュールに記述した場合、アクティブなシートやセルが対象になる
283 :
名無しさん@そうだ選挙にいこう :2007/06/13(水) 17:40:28
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 ?? グラフについてどなたか助けてください。 散布図を作っているのですが、下記の条件でY軸を決めたいのですが どのように設定すればよいのでしょうか? データ:A:120,B:121,C:123,D:123,E:125,F:126の場合(Y軸:値 X軸:A-F) 1. データは絶対に0にならないので、0を表示したくない。 2. データの平均値をY軸の中心にして散布させたい。 軸の書式設定で最小値、最大値のチェックを外し自分で最小値と最大値を 入力する方法も考えましたが、データの最大値及び最小値が、変化する場合 再度設定する必要があるのでこの手間を省きたいと考えています。 よろしくお願いします。
284 :
名無しさん@そうだ選挙にいこう :2007/06/13(水) 20:16:31
質問です 例えば所得が10万〜20万だと厚生年金が2000円かかるとします それをExcelで表したいのですが「A1のセルにある数値が○○〜○○ま での時、B2に○○の数値がでる」といった具合にしたいのですがどの関 数をつかいどういう数式にすればいいのでしょうか?
所得:年金額の一覧表を作ってVLOOKUP
286 :
名無しさん@そうだ選挙にいこう :2007/06/13(水) 22:03:58
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 マクロの記録を使う程度 【4 VBAでの回答の可否】 可 セルの値について教えてください。 セルの値が数値の時と、数式の時で条件分けする方法を教えてください。 たとえばA1が数字の"5"なのか、数式の"A2+A3"なのかを区別するようにです。 どうぞよろしくお願いします。
287 :
286 :2007/06/13(水) 22:05:37
少しわかりづらくて済みません。 具体的にはA1が数値の場合はB1に●を入力し、数式であった場合は■を入力するとう 例でおねがいします。
>>286-287 Range("B1").Value = IIf(Range("A1").HasFormula, "■", "●")
289 :
286 :2007/06/13(水) 22:15:22
>>288 HasFormula 初めて見た単語です。少し調べてきます。
ありがとうございました。
290 :
名無しさん@そうだ選挙にいこう :2007/06/13(水) 22:43:35
XP,EXCEL2002それ以外はわかりません。 例えばA20 B30 C15 D40だと定義されていて それらを組み合わせて1→50 2→45 3→40 4→80を作りなさいと言う問題で 1ならA+B,A+C*2の組み合わせが出来ると思うんですがこれらをエクセルで求める演算式はありますか? あるならそれはどのような式でしょうか? 宜しく御願い致します。
>>290 まず落ち着いて。
全く内容を知らない回答者が、あなたの文章を読んで質問の意味がどれくらい理解できるかを考えよう。
エスパーがお答え。 ありません、自分で作ってください。 今はナップザック問題のテンプレないのか…
質問の意図が通じた俺はゆとり。
>>292 同様、ありません。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel03 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 excel 目盛りの長さ グラフ 散布図を作ってるんですが、グラフの横軸の1目盛りの長さがa(cm)のときに、 縦軸の1目盛りの長さを同じa(cm)にすることはできますか? もっと言うと、a(cm)の値を指定できるとうれしいです。
VBAなしではありません。(と思います。)
296 :
名無しさん@そうだ選挙にいこう :2007/06/14(木) 00:35:10
C×2が良いのなら、何でもありだな。 A×2.5 B×10÷6 C+D−5 …
297 :
名無しさん@そうだ選挙にいこう :2007/06/14(木) 06:40:21
290です。すいません、言葉足らずで・・・ 例えばAは20g Bは30g Cは15g Dは40gのおもりだと定義されていて それらを組み合わせて1→50g 2→45g 3→40g 4→80gのおもりを作りなさいと言う問題で 1ならA+B及びA+C×2の組み合わせが出来ると思うんですがこれらを求める演算式はありますか? あるならそれはどのような式でしょうか? 宜しく御願い致します。 自分で作らなければいけないならどのような式でしょうか? 因みにA〜Dの個数はいくつでもいいですし同じ(例えばD同士)ものを掛け合わせたり 足したりしても構わないです。
298 :
名無しさん@そうだ選挙にいこう :2007/06/14(木) 08:47:32
>297 ねーよ 宿題は自分の頭でやんな。
>>297 いくつ使ってもいいの?
じゃあ最初にAとBで1番の50を作るって場合だけ考えてみよう。
A+B、3B-2A、5B-5A、2(B^2/A)-2A、50*A/A・・・いつまで続くんだ?
Excelで計算するのは楽でも、計算式を出すのは非常に困難
>>215 です。
一応出来ました。
A列に8桁の数値を入力し、(仮に)B列に「=LEFT(A,6)」と入力すると
A列の左6桁がB列に表示されます。
今度はA列に条件付書式として
「数値」が「=COUNTIF(B:B,B1)>1」で「赤」で出来ました。
個人的には配列数値とでスマートにやりたかったのですが、スキル不足のため
ダメでしたね。
ですので、一応解決としておきます。
ありがとうございました。
>>299 お前頭悪いな。
別々の重さのABCDの錘を組み合わせて特定の重さを作れ、って問題で、引き算とか割り算とか使ってどうすんだよ。
まあ
>Excelで計算するのは楽でも、計算式を出すのは非常に困難
に全面的に同意するので、
一番頭悪いのは
>>297 =
>>290 なんだが。
302 :
290 :2007/06/14(木) 23:10:48
俺からすりゃ答えを出せない>301も他と変わらん。
そらそうよ
質問内容がExcelと関係無いからな
>>290 アドインのソルバー使ってもダメかな?
家のPCには入ってないので検証ができないんだが・・・
306 :
名無しさん@そうだ選挙にいこう :2007/06/15(金) 00:58:46
エクセルに条件に合う組み合わせの数を数えさせる機能はないってことは分かったかな? どうしてもエクセルでやらせたいなら、全ての組み合わせの結果を一覧させてその中から最適な組み合わせを抽出するくらいしか方法はないぞ
309 :
名無しさん@そうだ選挙にいこう :2007/06/15(金) 12:00:19
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Excel2007 VBA ワードアート マクロの質問です。 Excel上でワードアートのフォントを変更したいのですが EXCEL2007でうまく変更できません。 Sub test() With Worksheets(1).Shapes.AddTextEffect( _ PresetTextEffect:=msoTextEffect1, Text:="テスト", _ FontName:="MS P明朝", _ FontSize:=60, FontBold:=False, FontItalic:=False, Left:=100, _ Top:=50) End With End Sub ↑のマクロを実行するとワードアートは作成できるのですが、 フォントの種類がMS Pゴシックになってしまい、他の種類に 変更できません。 Excel2007でフォントを変更する方法が、ありましたら教えてく ださい。よろしくお願いします。
>>309 FontName:="MS P明朝"
のMS P明朝を適当に変えればOK
2007もってないけど。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 シリアル値の扱いが全然わからなくて困っています。(一度も上手く使えたことがない) datediff関数を使って日付の差を出したいのですが、年、月、日は変数から生成します。 そこでdateserial関数を使って以下のように実験してみました。 これでもはねられます。一体何が悪いのでしょうか・・・? yar = 2007 mon = 6 da = 17 da2 = 29 a = DateSerial(yar, mon, da) b = DateSerial(yar, mon, da2) o = DateDiff(d, a, b) MsgBox o
312 :
名無しさん@そうだ選挙にいこう :2007/06/15(金) 15:35:40
【1 OSの種類 .】 Windows XP SP2 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 テーブル 以下のように、「損益表」というテーブルの「勝敗」という列をたくさん参照した数式があります。 =COUNTIF(損益表[勝敗],"勝ち") / (COUNTIF(損益表[勝敗],"勝ち") + COUNTIF(損益表[勝敗],"負け") ) これをコピペして、他のテーブルに適用する場合、「損益表」の部分を書き換えなくてはなりません。 (実際には、この数式以外にも参照しているところがたくさんあります) そこで、「損益表」という部分を可変にしたいのですが、いい方法ありませんでしょうか? 別のセルの「損益表A」とか「損益表B」と書いてある部分参照して持ってくるということはできないでしょうか? VBAのが楽かな?
313 :
312 :2007/06/15(金) 15:43:20
INDIRECT() を使えばいいような気がしたのですが、その場合、 「損益表」だけでなく「損益表[勝敗]」まで、書かねばなりません そうすると、「損益表[資産]」や、「損益表[日付]」なども参照していた場合、 以下のように、すべて、セルに列挙せねばなりません。 損益表[勝敗] 損益表[資産] 損益表[日付] 冗長です。 「損益表」だけ、参照する方法はないでしょうか
>>312 新しく貼り付けた部分を選択して検索範囲を置換すればよいのでは?
それすらもたくさんあるなら、ちょっとあれだけど。
>312 INDIRECT
リロってなかった、315はナシで。
>>311 o = DateDiff(d, a, b)
↓
o = DateDiff("d", a, b)
ってことかな?
>>312 必要なとこだけセルの文字列参照すればいいんじゃない?
=indirect(A1 & "[勝敗]")
とか
1未満の小数をの頭の0を表示しないようにすることは出来ますか? 「0.123」だったら「.123」といった感じで
320 :
711 :2007/06/15(金) 17:22:43
>>319 セルの表示形式を「.###」というようにユーザー定義する
>>317 なるほど!こんな初歩的なことを見落としていたとは!
どうもありがとうございました。
ところで、シリアル系の関数って年がyyyyだったりするのはなぜなんだろう。
勉強してて不思議に思った。
323 :
名無しさん@そうだ選挙にいこう :2007/06/15(金) 21:53:59
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい(少し) 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 置換 次のようなテキストファイルがあります。 項目A(項目1)項目a 同 ( 同 )項目b 同 (項目3)項目c 項目B(項目4)項目d 同 (項目5)項目e 同 ( 同 )項目f 項目C(項目7)項目g 同 (項目8)項目h 同 (項目9)項目i 以下続く…項目は全て文字です。 これをエクセルを使って集計したいと思っています。そのために 1,項目A、1、a毎に列に入れたい。 2,「同」の部分を上の項目と同じ文字に変えたい。 と思っていますが、どうすればいいでしょうか。 お願いします。
テキスト解析は「Excelの使い方」では無いのでスレ違い(
>>3 ★VBAについて)
テキスト解析部分を自分で作って、シートへの結果出力部分が解らないと言うならっこで聞いてもいいけどね
>>324 意味がよくわからないのですが、質問1,2の部分まで済ませた後で
集計の仕方ならここで聞いても構わないって意味ですか。
でも、テキスト解析で検索しても言語処理とか意味の解析とjかのサイトしか出てこないし
ここやソフトウェア板見てもVBAのスレとか見あたらないようだけど、一体どうすれば。
何かヒントやここ行けでもいいから助言お願いします。
>>325 質問の意味がわかりにくいけど、同を書き換えるのは意外と簡単にできるような気がする。
ちょっとまっててちょ。
>>323 1の質問
・そのテキストをセルA1に貼り付ける
・データ-区切り位置-テキストやタブ
・区切り文字で「その他」にチェックを入れて隣のテキストボックスに「(」※全角半角注意
これで(を区切りにA列とB列に別れる
・今度はBを選択して同じように「)」で区切って完成
・最後に余分なスペースを消すために、全体を選択して「 」(全角スペース)を「」(何も入力しない)に置き換え
2の質問(1の処理をやっている場合の続き)
・作業列を使う方法
D2等に「=IF(B2="同",B1,B2)」でフィルしておしまい
・VBAを使う方法
for each r in [a1].currentregion
if r = "同" then r = r.offset(-1)
next
誰が見てもmexcel向けの処理
>>325 一応やってみたよ。なんか
>>327 のほうが明らかに詳しそうな雰囲気で、ちょっと恥ずかしいぞ。
Sub 実験()
x = 1
y = 1
Dim name As String, name2 As String
name = Cells(y, x).Value
y = y + 1
name2 = Cells(y, x).Value
MsgBox name & name2
Do
If name2 = "同" Then
Cells(y, x).Value = name
Else
name = name2
End If
y = y + 1
name2 = Cells(y, x).Value
Loop While name2 <> ""
End Sub
開始点はyとxで決まるから、適当に変えればOK。
>>327 >>328 書き込み後に風呂に入りながら考えていたので、レスが遅くなりなりました。
お二人のレスを参考にしてどうにかうまくいきそうです。
有り難うございます。
>>311 は、その気持ち悪い変数のネーミングを改める事から始めるべき棚。
331 :
名無しさん@そうだ選挙にいこう :2007/06/16(土) 04:46:02
【1 OSの種類 .】 WindowsXPSP2 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 FaceIDで指定できる規定のアイコン本体がある場所をご存知の方、 教えてください。
セルの中身を削除したとき計算式だけ残るように出来ますか?
削除したのに残したいとはどういうことか? もっとくわしく
335 :
名無しさん@そうだ選挙にいこう :2007/06/16(土) 13:55:35
>>309 Sub test()
With Worksheets(1).Shapes.AddTextEffect( _
PresetTextEffect:=msoTextEffect1, Text:="テスト", _
FontName:="MS P明朝", _
FontSize:=60, FontBold:=False, FontItalic:=False, Left:=100, _
Top:=50)
.TextFrame2.TextRange.Font.NameFarEast = "MS P明朝"
End With
End Sub
うちの引き出しに転がってたexcel97をXPにインスコしたら ナンタラ97.dllが無いとかって起動出来ない。古すぎてXPじゃ使えないのかな、、、orz
>330 よかった、そう感じたの俺だけじゃなくて…
セルの中身を表示されてる答えだけ消して、計算式を残したいんです 縦列いっぺんに削除を選ぶと計算式も消えてしまうのでどうにかならないかと思いまして
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はじめたばかり 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 データベース 参照 00、01という2つのシートがあるとして 00には A 100 B 200 A 300 というデータ。 01には A 円 B ドル C ポンド というデータがそれぞれ格納してあります。 Bのシートに作ったデータを参照して、00のデータを変換したいです。 さらにはその変換したデータとAに元々あるデータを結合、 「100円」のような形にして00のシートの別な列に書き込み、 最終的にはその結合したデータをテキストファイルに吐き出したいです。 どういうものを調べていいかもわかりません。よろしくお願いします。
>>339 すまぬが意味がよくわからぬ。
めんぼくねぇ
>>339 です。
書き込みを訂正します。連投すいません。
【1 OSの種類 .】 Windows2000
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 はじめたばかり
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 データベース 参照
00、01という2つのシートがあるとして
00には
A 100
B 200
A 300
というデータ。
01には
A 円
B ドル
C ポンド
というデータがそれぞれ格納してあります。
01のシートに作ったデータを元に、00のデータ(A,B,C)を変換(A=円,B=ドル,C=ポンド)して、
変換したデータと00に元々あるデータ(100,200,300)を結合、
つまり「100円」のような形にして00のシートの別な列に書き込み、
最終的にはその結合したデータをテキストファイルに吐き出したいです。
どういうものを調べていいかもわかりません。よろしくお願いします。
>>340 いえ、こちらの書き込み方が悪いと思います。
もしよろしければ
>>341 を読んでみてください。
本当に勉強始めたばかりなので伝え方がわからないです……もうしわけありません。
343 :
名無しさん@そうだ選挙にいこう :2007/06/16(土) 15:46:45
=「00の数値のセル番地」&VLOOKUP(00のアルファベットのセル番地,01のデータ範囲, 2列目,0)
VLOOKUPでいいんでないかな
>>343-
>>344 ありがとうございます。早速調べてみます。
>>341 では適切な言い回しが分からず「変換」と書きましたが、
シート00の"A,B,C"を"円,ドル,ポンド"とセル自体を書き換えると言うわけではなく、
「そう置き換えて処理する」ということです。
>>339 指定列でSpecialcellsのxlCellTypeConstantsだけ選択して
削除するようなマクロを作ればいいんでは?
347 :
312 :2007/06/16(土) 17:31:08
>>314-318 みなさんありがとう
>>318 みたいに
結局、INDIRECT先にさらに、参照を加えました。
ちょっとアレですが、これでなんとかしますw
こんな感じ
↓O1セル
損益表
=O$1&"[勝敗]"
=O$1&"[資産]"
=O$1&"[日付]"
348 :
312 :2007/06/16(土) 17:31:47
ああ!そうか、セルにしなくても、
>>318 みたいに、直接かけばいいのか orz
>>318 さん、サンクス!!
349 :
312 :2007/06/16(土) 18:04:23
【1 OSの種類 .】 WindowsXP SP2 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 可 【4 VBAでの回答の可否】 不可 【5 検索キーワード 】 EXCEL テーブル 矢印 非表示 EXCELのテーブルを作ると、見出しに▼の矢印が表示されますよね。 矢印を押すと、ソートできたり、確かに便利なのですが、普段は必要ありません。 あの矢印を非表示にすることはできないでしょうか?
350 :
名無しさん@そうだ選挙にいこう :2007/06/16(土) 20:38:54
質問です!! 今日から来年までの日付を一覧にして出したいのですがどうすればよいですか?
16〜20ぐらいの列を吸収してセルを完全体1つにしたいのですがどうしたらいいですか?
352 :
名無しさん@そうだ選挙にいこう :2007/06/16(土) 21:44:48
354 :
名無しさん@そうだ選挙にいこう :2007/06/16(土) 22:02:35
ドラゴンボールかよw
355 :
名無しさん@そうだ選挙にいこう :2007/06/16(土) 22:32:28
【1 OSの種類 .】 WindowsXP SP2 【2 Excelのバージョン 】 Excel2007,2003 【3 VBAが使えるか .】 可(およそ) 【4 VBAでの回答の可否】 可 Accessは使ったこと無いですが、Excelではよくデータベースを使います。 で、データベースに入力する際の、「空白行を調べる」コードはいつも、、、 Function カウント() As Long '関数DBの行数をカウント Dim BOX As Range Set BOX = Sheets("ベース").Cells(5, 1).CurrentRegion カウント = BOX.Rows.Count + 4 'プラス4は、項目や空白が入っているので、その分足して調整する。 End Function というモノをCallして使い、何行目からデータを入力すべきかを判断しているんだが、 もっと一般的なテクニックはありますか? どうでもいいと言えばどうでも良いんですが、+4の記述が定数なので気になっています。
Dim TAROU1 As Boolean Dim TAROU2 As Boolean Dim TAROU3 As Boolean Dim TAROU4 As Boolean Dim TAROU5 As Boolean Dim TAROU6 As Boolean Dim TAROU7 As Boolean Dim TAROU8 As Boolean Dim TAROU9 As Boolean あるいろいろな組み合わせの条件を判別するために、ON/OFFスイッチを10個使って カチカチと表を作っているんですが、上記のとおり、とても人に見せれるようなコードじゃありません。 僕は変態ですか?
357 :
名無しさん@そうだ選挙にいこう :2007/06/16(土) 22:41:17
>>346 さん
ありがとうございます。
参考にします!
>>355 その空白が必ず末尾になるというなら
俺がいつもやってるのは
Range("a65536").End(xlUp).Offset(1).Select
ちなみにそんな数字を直接埋め込んで保守とか大丈夫なの?
>>355 空白行っていうか、最終データ行の一つ下が解ればいいんだろ?
Sub Sample()
MsgBox カウント(Sheets("ベース"), 1)
End Sub
Function カウント(対象シート As Worksheet, 列番号 As Long) As Long
カウント = 対象シート.Cells(対象シート.Rows.Count, 列番号).End(xlUp).Offset(1).Row
End Function
>>358 は直接埋め込みを指摘してるのに、自分も埋め込みでA列や65536行限定になってるので
対象となるシートや列を引数で指定できるようにして、Excel2007の行数にも対応させた。
質問者も2007使ってるって書いてるし、データベース的な使い方だと65536行なんて簡単に越えることもあるからね。
>>356 変態です
つ Dim TAROU(9) As Boolean
因みにこれだと0〜9になるので、1〜9にしたければ
Dim TAROU(1 To 9) As Boolean
あとはビット演算使う手もある。
361 :
358 :2007/06/16(土) 23:07:46
>自分も埋め込みでA列や65536行限定になってるので アーッ w
ここの先生方の知識はすげー。直接関係ないレスも参考になるところが非常に多い。
みなさんは普通の事務員さんが多数なんですか?
自分は事務屋で、独学でVBAを覚えてきて、我が社内の業務では実用に耐えうるコードをかけるようになったんですが(小さい組織ですが)、先生方は普段どんな仕事をやっているんでしょうか?
自分なぞ大したことないのはわかってるが、「一般企業の普通の事務員(経理部門含む)です」みたいな人たちが,
業務とは別に、2足わらじ的に開発を担ってるんでしょうか?
「会社の情報処理部門で働いています」ならとりあえず納得なんだけど、
「配官工をやっています。」とかだと、まさに神の領域と思います。
>>358-359 ありがとう。
363 :
名無しさん@そうだ選挙にいこう :2007/06/17(日) 10:18:07
VBってビスタだと動作がまずいって聞いたけど、 BVAは大丈夫?
B・・・バカと V・・・ヴァギナ好きな A・・・アナル男爵
366 :
名無しさん@そうだ選挙にいこう :2007/06/17(日) 10:54:36
エクセルは無料DL可ですか?
367 :
名無しさん@そうだ選挙にいこう :2007/06/17(日) 11:14:27
【1 OSの種類 .】 Windows Vista 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Googleやヘルプでの検索キーワード Excel 2007 データベース / Excel 2007 シートのリンク / Excel 2007 新機能 Excel 2007 xml / Excel 2007 名前 リンク / Excel 2007 主キー Excel 2007 データテーブル / Excel 2007 ピボットテーブル 別シート Excel 2007 名前 結合 / Excel 2007 リスト / Excel 2007 テーブル シート リンク 質問です。よろしくお願いします。状況から説明すると、 農家に、会員さんが出来た野菜をとりにきています。 今までは作っているおじいさん本人が適宜やってて特に問題もなかったのですが、 けがをして入院するらしく、誰がいつ来て何を持っていったとか留守番にわからないので これを機会に一回ちゃんと表にしたらどうだろうということになりました。 今は会員の人が分担してExcelで作った表をひとつのブックにまとめた状態です。 聞きたいことというのは、ばらばらのシートにあるものを1枚に見やすくするには どうしたらよいか、ですが、その解決方法は全部1つ1つコピーしていくしか ないのかどうか、もうちょっとよい方法はないか、ということです。 本来はこういうのはaccessとかいうソフトの方が向いているのかもしれませんが、 入っていないので、Excelでやりたいです。長々すみませんがよろしくお願いします。 今の状態でブックにはシートが3枚あります。 シート1は氏名にフリガナを表示して住所や電話番号などの連絡先が入力された名簿 シート2は野菜とか商品名、値段や区分の入力された取り扱い商品一覧表 シート3は商品を取りに来た人の日時と氏名、商品名、代金を入力する一覧表 ※シート3については商品1つにつき1件で入力されていて、たとえば一人で一度に 3つの商品をもっていった場合は3件入力する状態です。 シート3は下記の状態です。 A列 B列 C列 D列 E列 No. 日時 商品 代金 氏名
369 :
名無しさん@そうだ選挙にいこう :2007/06/17(日) 13:02:29
課題の解答をここでやらせようと思ったが、ちょっと待てよ
「課題だとばれる教えてくんないだろうなぁ」
そうだ!こうしよう、、、
>>367 につづく
370 :
名無しさん@そうだ選挙にいこう :2007/06/17(日) 13:47:34
06/2を2006年の2月として入れたいんですが ユーザー定義で yy / m でうまくいくと思ったら07 / 6 とされてしまいました。 どうしたらいいですか?
371 :
名無しさん@そうだ選挙にいこう :2007/06/17(日) 13:59:58
>>370 "2006年の2月"にしたいのか、2006/2にしたいのかどっちよ?
前者なら、「セルの書式設定」の日付のところにあるし、
後者なら、 yyyy/m だな
372 :
名無しさん@そうだ選挙にいこう :2007/06/17(日) 14:01:52
>>370 ごめん勘違い
6/2を20006年の2月ね。
それは、今年の6月2日になる。
普通そうだろ?
できないわ。
もしやりたいなら、2006/2 と入力するとできる。
どうしても、ふた桁なら、VBAでも使うしかないのでは?
374 :
名無しさん@そうだ選挙にいこう :2007/06/17(日) 14:43:21
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 マクロの記録程度 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 変数 勤務表のシートをユーザーフォームから入力させる様にしています 勤務を入れ替える時にトグルボタンを使用したいのですが A B C 1 日 月 2山本 休 AM 3佐藤 PM 休 アクティブセルがB2の時トグルボタンを押し、アクティブセルをC3に移動させてトグルボタンを押し戻すと A B C 1 日 月 2山本 PM 休 3佐藤 休 AM こんな風に変化させたいです。 変数の使い方が全くわかりません><よろしくお願いしますm(__)m
>>374 すごく単純に考えました。
もっと複雑なら考え直してください。
Private Sub ToggleButton1_Click()
Dim Rng1 As Range, Rng2 As Range, Rng3 As Range
Set Rng1 = Range(ActiveCell, ActiveCell.End(xlToRight))
Set Rng2 = Rng1.Offset(1)
Set Rng3 = Range("AA2")
Rng1.Copy Rng3
Rng2.Copy Rng1
Rng3.CurrentRegion.Copy Rng2
Rng3.CurrentRegion.Delete
End Sub
376 :
357 :2007/06/17(日) 15:26:42
あ〜、移動するセルの指定があるのか… まーいいや。
377 :
374 :2007/06/17(日) 15:50:07
378 :
名無しさん@そうだ選挙にいこう :2007/06/17(日) 18:00:46
エクセルの表で、 ワードのフォントの「倍率」で横幅を圧縮した文字を 使用することはできないでしょうか。
>>378 使えないよ。2007でもまだ実装してないんだろうか・・・?
381 :
名無しさん@そうだ選挙にいこう :2007/06/17(日) 19:52:31
>>379 なるほど、
ワードアートですか!
倍率で文字を圧縮できました。
ありがとうございます。
382 :
374 :2007/06/17(日) 21:08:18
汚い文章ですが自己解決しました。 ありがとうございました>< Private Sub ToggleButton1_Click() If ToggleButton1 = True Then a = ActiveCell.Row c = ActiveCell.Column Range("a10") = Cells(a, c) Range("a12") = a Range("b12") = c Cells(a, c).Select Else b = ActiveCell.Row d = ActiveCell.Column Range("b11") = Cells(b, d) Range("a11") = Cells(b, Range("b12")) Range("b10") = Cells(Range("a12"), d) Cells(b, Range("b12")) = Range("a10") Cells(b, d) = Range("b10") Cells(Range("a12"), Range("b12")) = Range("a11") Cells(Range("a12"), d) = Range("b11") Range("a10:b12").ClearComments Cells(b, d).Select End If End Sub
>>379 ワードアートで挿入した文字って計算や、セル内に格納することができないよね?
【 Excelのバージョン 】 Excel2002 【 VBAが使えるか 】 すこし すみません。 100行のセルデータでグラフを描きます。(A:1)→(A:100) 一行目を削除して、100行目に新規にデータを追加、 おなじく 一行目を削除して、100行目に新規にデータを追加、 を繰り返します。 するとグラフが段々と小さくしぼんでいきます。 1〜100も軸数値も、99→98→97→96と小さくなります。 グラフを1〜100に固定させ、入力したデータをグラフに反映させたい。 どうしたらよいですか?
【1 OSの種類 .】 Windows2000
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか .】 ごくごく初歩的なことなら
【4 VBAでの回答の可否】 可
エクセルの操作についての質問ではなく
仕事の進め方についての相談なのですが
ここで聞いても良いでしょうか?
相談内容は
1500行くらいのデータがあるのですが、
そのデータは8種類くらいのパターンに分けられます。
毎回8種類の元のデータと新しいデータを比較して
判断しているのが面倒なのですが・・・。
比較には ExcelDiff というソフトを使っています。
http://www.vector.co.jp/soft/win95/business/se389879.html スレ違いでなければもう少し詳細を説明させてください。
>>385 の内容だけでは何が出来ないのか、何がしたいのかわからないので
スレ違いかどうかもわからない。
387 :
385 :2007/06/17(日) 23:29:59
そうですね、すみません。
もう少し説明させていただきます。
http://sakuratan.ddo.jp/uploader/source/date42562.xxx エクセルファイルです。
会社で扱っているデータを簡単に再現してみました。
<データ>シート
本当のデータでは
部品の情報が1500行前後あります。
ジャンルは20種類くらいあります。
<AAAパターン1、2>シート
ジャンルAAAの部品構成パターンです。
パターンは8種類ほどあります。
やっていることは、
1)データからジャンルAAAを抜き出して別シートにします。
2)抜き出したデータを、AAAパターン1、パターン2・・・と比較します。
3)アップしたデータでは、パターン1と一致しますので
4)ジャンルAAAのパターンは「1」 という結果になります。
5)また次のジャンルBBBを抜き出し、BBBパターンのそれぞれと比較して
一致するパターンを探していきます。
この作業をもう少し楽に、自動化できる部分はVBAなどを使って
作業を楽にしたいのですが
何かいい案をいただければと思っています。
todayかnow関数を入れたセルに 文字列を入れることはできないのでしょうか? ひとつのセルでこういう表示にしたいです↓ 6月17日 今日の献立
>>388 うちの女房もあなたのような勤勉&整頓家だったらいいのに・・・。
>>388 =TODAY()&” 今日の献立”
でOK
391 :
名無しさん@そうだ選挙にいこう :2007/06/17(日) 23:49:37
>>388 セルの表示形式として「m"月"d"日" "今日の献立"」と
ユーザー定義する方法のほうがちょっとスマートかな
392 :
名無しさん@そうだ選挙にいこう :2007/06/17(日) 23:50:38
5.4.3.2.1.0 の中央値をMEDIAN関数をつかってだすと、2.5と表示されます。 これを繰り上げて3と表示したいのですが、ROUND関数を組み合わせればできそうな木がするのですが できません。それ以外の方法でも良いのですが、なにか手はありますでしょうか?
>>384 【プランA】
VBAで逐次設定しなおす。イベントで自動化してもいいし、ボタンに登録しておいても一発だし。
【プランB】
101行目(末尾)にダミーデータを作っておく。
1行目を削除する変わりに末尾のダミーデータの前に行を挿入すれば、挿入した行の分だけグラフソース範囲が広がるので、そこに新たなデータを入力する。
【プランC】
B列にインデックスを付けておく。(1〜100)
1行目を削除ではなく消去して、本来100行目(A100)に入れるべきデータをA1に入力し
B1に101を入力、B列で昇順ソートすると1行目のデータが一番下に、2行目のデータが一番上に来る(B列のインデックスは2〜101)
次も同じように1行目のA列に新たなデータを入れて、B列に102を入力。
B列に入力すべきインデックスは100行丁度なら消去したインデックス+100だが、C1あたりに=MAX(B:B)+1とでも入れておけば一目瞭然。
削除の対は挿入で、入力の対は消去なんだから、行を削除するなら行を挿入し、行の挿入無しでデータ入力するなら行は削除せずにデータのみ消去しなくちゃね。
>>392 どういう風にやって出来なかったのか具体的に書こうね。
>>2 ・8
>393 ご親切にありがとうございます。 行の削除の発想がマズかったのかな? どうもです。
【1 OSの種類】 WindowsXP 【2 Excelのバージョン】 Excel2003 【3 VBAが使えるか】ok 1列のすごく長い列を順番をかえずにプリント用紙を節約& スペース有効活用のために2〜3列にしたいのですがどうすれ ばいいですか? 例 A列 aaa bbb ccc ddd eee を A列 B列 aaa fff bbb ggg ccc hhh ddd iiii eee jjjj
396 :
392 :2007/06/18(月) 04:13:11
>393 どういうふうにやったかといいますと、やっておりませんでして。 ROUND使えばいいのかなあというと子までしか考えが及ばず、実際 なにをやっていいのかわからない状態です。
んじゃヘルプでROUNDの使い方調べようね
398 :
名無しさん@そうだ選挙にいこう :2007/06/18(月) 10:54:49
【1 OSの種類 .】 Windows2000プロフェッショナル・WinXPpro 【2 Excelのバージョン 】 Excel2000と2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 2000と2003 読み取り専用 ここで良いのかは迷ったのですが、解らないので教えてください。 Win2000をOSとしているファイルサーバー(簡易)の共有フォルダーに、Excel2000で作成したファイルを、Excel2003で開くと、読み取り専用に成ってしまいます。 このファイルは、毎日シートを増殖させて、日々の売上実績一覧を作っております。 例えば、最初作成した時はExcel2003でも通常(読み取り専用ではなく)開くのですが、 ある日突然読み取り専用になり、数値入力した物を保存する時は、別名で保存しなければ成りません。 ここで、別名保存した物をまた何日か作業していると、突然読み取り専用でしか開けなくなります。 これはなぜでしょうか?Excelにそんな設定があるようにも見えませんし・・・ 読み取り専用になってしまったファイルを、別のPC(Excel2000)で開くと、通常に保存できる状態で開けます。 ちなみに、その共有フォルダーにはアクセス権がall可の状態で設定してありますので、権限不足では無いです。 お知恵を拝借したいと思います。
>>398 そのファイルには、あなたしかアクセスしませんか。
同時に複数の人がアクセスしますか。
400 :
398 :2007/06/18(月) 11:32:49
>>399 さん
私以外の人(約4人ほど)アクセスする事はあります。
同時にでは無いのですが・・・
そのいわば、日報的なファイルは、入力担当者が交替制でかわりまして・・・
で、それぞれのPCからアクセス・・・ってなもんでして。
なので、ファイルサーバーのようなPCの共有化したフォルダーに置いてあります。
誰かが読み取り専用の属性付けたんじゃない? ファイルのプロパティを確認してみ ちなみにExcelでも読み取り専用として保存することができる これはファイルのプロパティとは別
402 :
名無しさん@そうだ選挙にいこう :2007/06/18(月) 12:04:00
とりあえずそのExcelファイルの「ブックの共有」機能をONにして みて、状況をみたら?
403 :
398 :2007/06/18(月) 12:30:41
>>401 さん
ファイル属性は当然チェックしました。
そのExcel2003のPCでだけ発生します。
他のPC(Excel2000)では何にも問題なく開きます(読み取り専用には成らない)
Excelのバージョン違いで何かそう言う問題があるのでしょうか?
404 :
名無しさん@そうだ選挙にいこう :2007/06/18(月) 13:23:39
同時に複数人が開いていないとのことですが、ネット環境での 利用だと、何らかの理由でファイルのCLOSE処理がうまく行われないと 複数人が同時に開いた状態となってしまうことがあります。 それを避けるには、402さんご指摘の「ブックの共有」を利用 するのがよいかと。
405 :
398 :2007/06/18(月) 13:26:49
日付と体重を元に、折れ線グラフを作っているのですが、 9日に測定して、10日、11日に測定し忘れて、12日に測定した場合、9日と12日の間に線だけ引きたいのですが、引かれずに、折れ線グラフの線が続かなくなってしまいます。 測定しなかった際は、直前の測定日の値と直後の測定日の値の間を結ぶ方法を教えてください。
>>406 10日と11日のセルに#N/Aと入力しておくとか
408 :
名無しさん@そうだ選挙にいこう :2007/06/18(月) 15:37:50
>>406 407 の方法かあるいは
「オプション」ダイアログの「グラフ」タブで
「補間してプロットする」を選択
【1 OSの種類 .】 xp 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい ちょっと 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 VBAで処理した後、セルに入力されている計算値が更新されないので、ctrl+Alt+F9を手動させています。 VBAの最後に自動更新させる文を入力したいのですが、更新の文を教えてください。
【1 OSの種類 .】 XP 【2 Excelのバージョン 】 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 一応・・可 【5 検索キーワード 】 マクロの途中過程において、その時クリップボードに格納されている 文字列(TRUE or FALSE)によってその後の処理を分岐させたいのですが、 可能でしょうか? 可能であるならそのやり方をお教え頂けないでしょうか? 具体的にはクリップボードの文字列が「TRUE」ならその後も処理を続け、 「FALSE」なら処理を止め、クリップボードに「FALSE」を送る(判定に使ったFALSEが残っているなら不要かも…)、 という作業を考えているのですが、、、 下は一例ですが Sub Macro1() Columns("H:H").Select Selection.AutoFilter Selection.AutoFilter Field:=1, Criteria1:="<>" Range("A1:AA1510").Select Selection.Copy ←ここにおそらく挿入すると思うんですけど、、、 Sheets.Add ActiveSheet.Paste Columns("Q:S").Select
>>410 ありがとうございます。
Worksheets("Sheet3").Calculate を挿入しました。
その後ctrl+Alt+F9を押したら値が変わった・・・・・・
もうちょっと実験して見ます。
413 :
409 :2007/06/18(月) 16:44:19
>>410 お手数おかけしました。
Application.CalculateFull
でいけました。
俺、バカだよなー・・・・・orz
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 否 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 検索 串刺し 複数ブック 複数ブック(ファイル)間を串刺しでキーワード検索することは出来ますか?
415 :
358 :2007/06/18(月) 20:49:39
【1 OSの種類 .】 Win2K 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 のぉ! 【4 VBAでの回答の可否】 不可! A列に 200step 23444step 4442step と続いてるんですけど、これを集計したいです。同じセルでstepなんてのが 付いてるんで、これを取り除いて集計できる方法を教えてください。
>>415 検索置換で"step"を空文字にでも置換しちゃうのが簡単かな。
>>414 VBA使わないと出来ないので、君の条件では「出来ない」が回答になる。
418 :
名無しさん@そうだ選挙にいこう :2007/06/18(月) 21:56:39
2.5と表示されるのを これを切り捨てて、2と表示することは可能でしょうか?
>>418 その2.5は直接入力かね?計算の結果かね?
420 :
名無しさん@そうだ選挙にいこう :2007/06/18(月) 22:22:16
エクセルでヤフーファイナンスの時系列データを 更新しようとしたら、テーブル番号の位置がずれて困っています。 以前は24だったんですがどなたかアドバイスお願いします。
421 :
名無しさん@そうだ選挙にいこう :2007/06/18(月) 22:42:37
【1 OSの種類 】Windows2000プロフェッショナル・WindowsXP 【2 Excelのバージョン】Excel2000と2003 【3 VBAが使えるか 】いいえ 【4 VBAでの回答の可否】不可 【5 検索キーワード 】 A列 B列 C列 2007/01/01 12:00 2007/01/05 20:00 A列とB列の計算 日付と時刻を同時に計算する方法を教えてください。
>>419 大した質問でもないのに、なんでそんなに偉そうなんだ?
こういう質問のときくらいしか偉そうにできないからだ
ここ2chだよな、こういう物言いは偉そうに聞こえるんだ…摩訶不思議。
>>424 君はもう少し人と会話する練習をした方がいいな。
426 :
名無しさん@そうだ選挙にいこう :2007/06/18(月) 23:23:36
【1 OSの種類 .】 XP 【2 Excelのバージョン 】 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 不可 【5 検索キーワード 】プルダウン 一つ目のプルダウンメニューで選択したグループから2つ目のプルダウンメニューの グループを決定する方法はありませんでしょうか? プルダウン@ りんご ごりら らっきょ ヨッシー と、した場合にごりらをプルダウンで選んだときに プルダウンA ぶどう うこん と、ごりら用のプルダウンメニューを出したいです。 プルダウン@でりんごを選んだ場合はプルダウンAに プルダウンA きゅうり りす すいか と、変更する感じにしたいです。
入力規則? 一つ目の値を元に二つ目のリストをINDIRECTなどで変える
428 :
名無しさん@そうだ選挙にいこう :2007/06/19(火) 00:16:26
>419 計算の結果です。お願いします。
エクセルで名簿を作る際、英字でcnaと入れると勝手にcanに修正 してしまいます。これはスペルチェック機能でしょうか。 勝手に修正しないようにするにはどうしたらいいでしょうか。
ツール>オートコレクト>「入力中にオートコレクト」のチェックを外す
431 :
名無しさん@そうだ選挙にいこう :2007/06/19(火) 07:40:53
>>428 ROUNDDOWN(2.5,0) =2
つーか、
>>419 の質問は明らかに的を外してるだろ。
数値がリテラルか関数の戻り値かなんて、質問の本質じゃない。
@表示上の「見た目」だけを変えたい → セルの書式設定で表示形式をいじる。
A別セルの数値を切り捨てた値を取得したい → ROWNDDOWN関数。
通常、表示形式の操作だと四捨五入になっちゃうので切り捨て表示をする場合は
ちょっとアクロバティックな設定が必要だけどね。
http://pasokoma.jp/bbsa/lg335364 ↑ここの335510参照
434 :
429 :2007/06/19(火) 09:49:36
>>430 ありがとおおおおおおお
(人-)謝謝(-人)謝謝
【1 OSの種類 .】 WindowsXPsp2 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 おとといからエクセル触り始めたど素人です。 自動売買ロボット作成マニュアルという本を読みながらやってます。 マクロの記録でヤフーから株価を取り込み、セルを日付の昇順で並び替えるということを やっていますが、取り込んだところまでしか記録されず、昇順で並び替えられません。 10回ぐらいやってみましたがダメなのでここで聞いてみました。 解決法をおしえてください。
エスパー君、呼んでるよ
437 :
名無しさん@そうだ選挙にいこう :2007/06/19(火) 18:03:21
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2003 XMLソースウィンドウ開きたいです。 ヘルプで見たら、[データ]メニュー→[XML]→[XMLソース」で 開くってなっているけど、 [データ]メニューの中に[XML]という項目がありません。 どうしたら表示できますか?
438 :
435 :2007/06/19(火) 18:36:56
>>438 プログラムそれだけ?
他にもあるんじゃないの?
>>439 この手の飛躍しすぎた質問は放置した方がいい。
質問合戦が始まってスレが無駄に埋まる。
442 :
名無しさん@そうだ選挙にいこう :2007/06/19(火) 23:46:48
>432.433 ありがとうございます。 実は、INT(2.5)でも2と表示されました。 本などしらべると、ROUNDDOWNと同じページに乗ってたりしますが、 違いがいまいちわかりません。INTでももんだいないのでしょうか?
Excel2003 excelで例えば行の26,27番目の境界を重ねてしまい、 24,25,28,29,.... と表示された状態になってしまい、 圧縮された26,27 の行が表示されなくなってしまいました。 元に戻せなくなって困っているのですが、 これを元に戻す方法は無いでしょうか?
>>442 問題があるかないかは君自身が決めることだ。回答者側が決めることじゃない。
両関数の違いを調べた上で、どちらが目的に見合うか、あるいはどちらでも良いかを
検討すればいい。
ちなみに、ROUNDDOWN(数値, 0)とINT(数値)は負の数を扱うときの挙動が異なる。
どう違うかは自分で試すなり、調べるなりしてごらん。
【1 OSの種類 .】 Windows Vista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 無し 15.4インチのワイド液晶(解像度1280x800)で使ってます。 再現率は100%ですが、発生条件はちょっと特殊で以下の通りです。 @Excelの新規ファイルを立ち上げ、表示サイズ最大では無くA1〜L35位にする。 A画面の右端がH列くらいになるようにファイルを右の方へ動かす。 Bいったん最大化してから、元のサイズへ戻す。 C1秒に1セルくらいの速さで、十字キー右ボタンでカーソルを動かす。 D右スクロールして行くと、H〜L列までのセル表示が化けてしまいます。 よく左のファイルを見ながら右にExcelを配置して入力しているので、 なんとかしたいのですが・・・ 解決法を教えて下さい。
>>435 vbaなしで自動売買ロボットを作るってどうやって?
遠回りでも関数を使いこなせるようになってからVBAを始めたほうがいいと思うよ。
449 :
435 :2007/06/20(水) 01:45:07
>>439 これだけです
>>448 それもこれからやるみたいです 本の最初からやってますので
350ページの本が2冊あってまだ一冊目の90ページなのです。
つまり「マクロの記録」という自分の行動を自動でマクロに変換してくれる機能が
株価を日付順に並び替えるということを認識してくれないというか
マクロの記録を始める→ヤフーから株価を取る(
http://table.co.jp/t?s=998407.o&g=d )
→株価を古いものから並び替える セルの並び替え 日付 昇順(ヤフーは新しい日付順なので)
→左下コマンドの隣の停止ボタンを押す
というだけなのですが実行すると株価を取るまでしかできてないのです。
>>449 最後まで読んでから質問しよう
はいっ次の人
>>448 だからさ、こんなクソ中途半端な内容の質問にいちいち反応することないって。
質問合戦で無駄にスレが消費されて徒労感が残るだけだから、放置しとけって。
【1 OSの種類 .】 WindowsXPSP2 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい:ただし本を読みながらなんとかというLV 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 VBA、ECXEL、グラフ、作成 今、3つのブックありまして、それぞれ月ごとにシートが作成されております で、この3つのブックからフラグ管理(1と0です)している列の1と0をカウントして 棒グラフを表示するような処理を行いたいんですが、どうにもうまくいきません ひとつのブックの月ごとのグラフはなんとか作成できるのですが… 持ち出し禁止データなのでアップロードができないのですが、なんとかアドバイスお願いいたします。
453 :
452 :2007/06/20(水) 12:36:43
言葉足らずですみません 最終的には 3つのブックのフラグ管理されている行のデータを全部まとめて月ごとの棒グラフで表示させたいという意味です
454 :
名無しさん@そうだ選挙にいこう :2007/06/20(水) 13:58:44
>>449 2007でやったけど、ちゃんと記録されるし、並べ替えもされるよ。
コード見てもsort命令あるから並べ替えの処理はやってるはず。
マクロの実行で違うマクロを実行しちゃってるとかじゃない?
456 :
437 :2007/06/20(水) 14:13:31
(´;ω;`)ウッ…
>>456 メニューが全部表示されるのを待っても?
[ツール]→[ユーザー設定][オプション]の「常にすべのメニューを表示する」にチェックを入れても?
458 :
437 :2007/06/20(水) 16:59:07
>>457 え、いや、そこまで痛いユーザーではないが・・・。
これは私の使っているExcelがXMLに対応してないで
FAかな。
【1 OSの種類 .】 WindowsXPsp2 【2 Excelのバージョン 】 Excel2007 すごく基本的なことで申し訳ないんですけれども シートの見出しが出ないんです どうすれば(´;ω;`)
>>458 失礼しました。でも、2003はXMLに対応してます。
461 :
名無しさん@そうだ選挙にいこう :2007/06/20(水) 19:32:31
よろしくお願いします。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 2つの条件 列を数える A列に1がある行、かつ、B列〜F列及びK列〜M列の同じ行に1がある列の数を数えたいです。 ↓の場合、答えは2になりたいです。 A B C D E F〜〜〜K L M 1 2 1 3 4 5 1 6 1 1 7 8 9 1 1 試してダメだった式 {=SUM(IF((A1:A9=1)*(B1:F9=1)+(K1:M9=1),1,0))} =SUMPRODUCT((A1:A20=1)*1,(B1:F20=1)*1,(K1:M9=1)*1) データの量が膨大なため、うまく式で集計したいのですが、 ぜんぜん思ったようにいきません。すみませんが助けてください
462 :
461 :2007/06/20(水) 19:37:30
すみません、数えたいのは条件にあてはまる行の数です。 よろしくお願いします。 >A列に1がある行、かつ、B列〜F列及びK列〜M列の同じ行に1がある列の数を数えたいです ←× >A列に1がある行、かつ、B列〜F列及びK列〜M列の同じ行に1がある行の数を数えたいです ←○
463 :
名無しさん@そうだ選挙にいこう :2007/06/20(水) 19:59:29
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel97 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】否 【5 検索キーワード 】 わかりません
464 :
名無しさん@そうだ選挙にいこう :2007/06/20(水) 20:04:33
>>463 すみません
開こうとするとMSO97.DLLが見つからなかったため、このアプリケーションを開始できませんでした
アプリケーションをインストールし直すとこの問題は解決される場合があります
と表示されます
すべての削除と再セットアップは繰り返しましたが上の表示が出てしまいます
確か前に起動した時は起動できたような気がするのですが
>461 作業列にこれを入れて集計するのは? =(A1=1)*ISNUMBER(MATCH(1,B1:F1,0))*ISNUMBER(MATCH(1,K1:M1,0))
467 :
名無しさん@そうだ選挙にいこう :2007/06/20(水) 20:27:59
468 :
名無しさん@そうだ選挙にいこう :2007/06/20(水) 20:36:53
>>466 試してみたのですが、
EXCEL.EXEで検索してみたのですが、
EXCEL.EXE-045ABE62.pf
EXCEL.EXE-1C75F8D6.pf
EXCEL(アイコンつき)
と3つでてきまして上の二つは開けませんでした
3つ目もMSO.97が見つかりませんという表示が出て駄目でした
どうすればいいでしょうか?
469 :
461 :2007/06/20(水) 20:37:30
>>465 ありがとうございます
作業列を挿入して試してみたのですが、
A列に1があり、
かつB列〜F列とK列〜M列の両方に1がある場合しか、1のフラグを立てることができませんでした。
A列に1があり、
B列〜F列、もしくは、K列〜M列のみ、1があるケースも多々あります。
引き続き詳しい方、助けてください。自分でもいろいろと試しながら待ちます。
> でも、2003はXMLに対応してます。 Office2003 Professionalは対応してるけど Office2003 PersonalやStandardなどの安いエディションは対応してない
>>468 三つ目でいいと思いますが、
探すのはMSO.97じゃなくて mso97.dll ですよ。。。
>469 アナタの質問を読むと AND ととれるんだが、 違っていたなら後の乗算を OR で。
473 :
名無しさん@そうだ選挙にいこう :2007/06/20(水) 21:26:31
>>471 教えてくださったサイトによりますと
3.検索の画面上の名前の欄にExcel.Exeと入力しとあるのですが、どうでしょうか?
解決方法
以下の方法により、必要なファイルを CD-ROM からコピーする事により、問題を解決することが出来ます。
1. CD-ROM を CD-ROM ドライブに挿入します。
2. [スタート] ボタンをクリックし、 [検索] の中の [ファイルやフォルダ] をクリックします。
3. [検索] の画面上の [名前] の欄に "Excel.exe" ("" を入力する必要はありません)と入力し、[探す場所] として Excel をセットアップしたドライブを指定し、 [検索開始] ボタンをクリックします。
4. 見つかった Excel.exe を選択して、 [ファイル] メニューの [1つ上のフォルダを開く] をクリックします。
5. 再度 [スタート] ボタンをクリックし、 [検索] の中の [ファイルやフォルダ] をクリックします。
6. [検索] の画面上の [名前] の欄に "mso97.dll" ("" を入力する必要はありません)と入力し、[探す場所] として CD-ROM ドライブを指定し、[検索開始] ボタンをクリックします。
7. 見つかった "mso97.dll" を手順 4. で開いたフォルダにコピーします。
8. 手順 6. と 7. を以下のファイルについて行います。 mso7jpn.dll
mso97fx.dll
msoc.dll
474 :
437 :2007/06/20(水) 21:34:36
>>470 どうもありがとうございます。バージョンを確認したら
Personal でした。
(´;ω;`)ウッ…
>469 俺の勘違いでなければ作業列の式は =IF(A1*SUM(B1:F1,K1:P1),1,0) でいい気がするんだけど
>>473 EXCEL.exe が Excel のプログラム本体です。
.exe の部分を「拡張子」と言います。
拡張子はフォルダオプションによって、表示させない設定に通常なっています。
ですから EXCEL とだけ検索結果に表示されます。
解決方法の手順3. は、
Cドライブの Excel プログラム本体がインストールされているフォルダの
ひとつ上の階層のフォルダを開くための手順です。
Excelで住所録を作ってるのですがメールアドレスの@から下の部分を 変換文字のように候補で出したいのですがどうしたらいいでしょうか。 半角の場合でも候補って出せますか?
478 :
名無しさん@そうだ選挙にいこう :2007/06/20(水) 22:06:17
>>476 おかげさまで何とかたどりつけました、本当にありがとうございました
479 :
461 :2007/06/20(水) 22:26:08
>>472 >>475 ありがとうございます!
>>475 さんの方法で解決しました。
やっぱりこういう条件の式というのは作業セルなしでは難しいですか?
横方向に19列あるのですべてに行挿入で作業セルを入れるようになります。
でも急ぎの資料だし今から地道に入れていきます!
>>461 自信ないが、これでどぅ?
=SUMPRODUCT((A1:A20=1)*(B1:F20=1)+(A1:A20=1)*(K1:O20=1)*(B1:F20<>1))
481 :
475 :2007/06/20(水) 23:00:33
>479 作業列省略したらこんな風になっちゃった もっと上手い方法あるんだろうけど {=SUM(IF((A1:A20)*((B1:B20)+(C1:C20)+(D1:D20)+(E1:E20)+(F1:F20)+(K1:K20)+(L1:L20)+(M1:M20)),1,0))}
>>459 もうわかりました?ワークシートが最大化されてないだけだと思うんですが。
484 :
461 :2007/06/21(木) 00:04:39
>>480 >>481 =475さん
すごい!!!できました!完璧に求めていたものです!
SUMPRODUCTも、配列関数も、一度はたどり着いていたのに、
私の使い方が悪くてちゃんと答えが出せませんでした。(
>>461 の式はダメダメですね)
一時はエクセルに八つ当たりしそうに・・私が悪かった、
このスレの人は本当に優秀ですね!
見習ってがんばります。ほんとうにありがとうございました。
ヘルプお願いします。 グラフに系列を3つ 仮にA,B,Cとあり、 それぞれのX軸は時間で0分〜21分 AとBの系列を折れ線グラフ、Cの系列を棒グラフ(縦)で表示させる。 ちなみに Aの系列のY軸は数値が40〜200 Bの系列のY軸は数値が0〜70 Cの系列のY軸は数値が0〜15 位です。 AとBの系列を最重視でY第1軸をにA、BをY第2軸に割り当てたあと Cの系列を追加してグラフの種類を棒グラフに変更。 ここで問題が↓ X軸は0〜21分ですが、全て0,0.5,1,1.5という風に0.5分単位で時間が進んでいくグラフですが なぜか系列Cの棒グラフにはX軸が設定することができなくて、グラフの”元のデータ”を見ると 名前と値しかありません。AとBにはそれぞれX軸Y軸設定できるのに、Cにはできません。 多分、軸が足りないからだと思うのですがこういう場合どうしたらいいんでしょうか?
488 :
487 :2007/06/21(木) 08:01:49
>>476 言い忘れた。
受信PASSが設定してあるので、「000」と入力して「受信」ボタンをクリック。
489 :
名無しさん@そうだ選挙にいこう :2007/06/21(木) 10:22:02
excel2003について質問したいんですが誰かいらっしゃいますか? 基本的な質問で申し訳ないとは思うんですが・・・
490 :
名無しさん@そうだ選挙にいこう :2007/06/21(木) 10:36:00
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003,2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 スキルアップのために聞きたいことがあります。 If 区分 = "" Or 待機 = "" Or 名前 = "" Or 場所 = "" Or 時間 = "" Then MsgBox "入力漏れの可能性があります。", 16, "Miss" Else If IsDate(年 & "/" & 月 & "/" & 日) = False Then MsgBox "日にちが正しくありません。", 16, "Miss" Else If IsNumeric(区分) = False Or IsNumeric(待機) = False Then MsgBox "入力ミスの可能性があります。", 16, "Miss" Else If お金.Value <= 0 Then MsgBox “0になっています。", 16, "Miss" Else Call あるプログラム実行を実行し入力 ・ ・ ユーザーフォームからあるデータを入力する場合(基本的に数値のみ)、 上記のように、 1 てきすとボックスなどに入力漏れがないか 2 日付データ入力すべきところが日付に変換可能か 3 数値を入れるべきテキストボックスに文字列が入力されてないか 4 マイナス入力ではないか 等のヒューマンエラーを防ぐ部分をIF文で書いています。 もっと効率のいいスーパーテクニックやスーパーメソッド、プロパティってありますか?
491 :
名無しさん@そうだ選挙にいこう :2007/06/21(木) 10:50:50
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel 小数点以下が0 表示 などの組み合わせ 10.0 9.5 8.0 11.5 などの数値が入るセルがあるのですが, これらを【小数点の位置を揃え】かつ【小数点以下が.0の場合は.0の部分は表示しない】 ようにしたいのですが,方法はありますでしょうか?
>>490 まず、最大限入力規則を使ってから、
VBAが良いと思います。
書式を #.? ただし小数点は消えない。
>>491 A列にデータ、B列に表示
=IF(A1-INT(A1),A1,ROUNDDOWN(A1,0)&" ")
入力セルを表示する方法は知らん。
エクセルで4つの点を指定した散布図で1次関数のグラフを作ったのですが、 その線が点の最初と最後までの線分で表示されます。 これをグラフのはじに切れるまで延ばした延長線にして表示するにはどうしたらいいのでしょうか?
496 :
名無しさん@そうだ選挙にいこう :2007/06/21(木) 12:36:39
>>492 と、申されると、フォームのテキストボックスやらに
「数字以外のキー」以外を押したらブッブーってなるようにしておくなど?
497 :
へなちょこ :2007/06/21(木) 12:43:40
ある表を作るとき、 件数 割合 東京 32 30.9% 大阪 21 22.9% 広島 40 48.2% ~~~~~~~~~~~~~~~~~~~~~~~~~ 合計 100% 数字はクチャクチャだが、最後の合計100%になるのに、電卓で合計すると 100.2%になってしまったりするケースがあると思う。 こーゆー時、どうやって対処するんですか?
いつも世話になるから、俺のウルトラテクニックを伝授しよう。 ある表を範囲指定し、コピー。 次に! シフトキーを押しながら編集をクリック。 すると、いつもとメニューが変わる。 リンクして図として貼り付け みたいなのを駆使すると、Excelのセル結合とかを 考えずに、2つの表を1枚のペーパーに作ったりいろいろなモノが出来るようになるぞ。 すげー?
499 :
464 :2007/06/21(木) 12:57:59
EXCELが起動できなかったものです 昨夜はありがとうございました 起動できるようになったEXCELをすべてのプログラムに 移してみたのですがまた同じMSO.97.DLLで開けませんでした Programfileの中にあるMSO.97をコピーしたEXCELは開けます 解決法ありましたら教えてください
500 :
491 :2007/06/21(木) 13:01:15
>>494 ありがとうございます.
表示形式のユーザー定義で行う事は不可能でしょうか?
>>497 「件数」の合計は出しちゃダメなの?
普通「割合」の合計も上セルと同じ計算式を入れると思うんだけど。
>>490 ちょっと整理しただけだけど
If 名前 = "" Or 場所 = "" Or 時間 = "" Then
MyMsg = "入力漏れの可能性があります。"
Exit Sub
ElseIf Not IsDate(年 & "/" & 月 & "/" & 日) Then
MsgBox "日にちが正しくありません。", 16, "Miss"
Exit Sub
ElseIf Not (IsNumeric(区分) And IsNumeric(待機)) Then
MsgBox "入力漏れ又はミスの可能性があります。", 16, "Miss"
Exit Sub
ElseIf お金.Value <= 0 Then
MsgBox "0になっています。", 16, "Miss"
Exit Sub
End If
Call あるプログラム実行を実行し入力
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 多少 【4 VBAでの回答の可否】 可 プリントアウトするとき、カラーインクジェットとモノクロレーザーを使い分けてるんですが、 マクロで生成したコードをちょいとカスタマイズして使っている。 ネットワークは無線LANです。 Application.ActivePrinter = "EPSON PM-3700C LAN on Ne04:" Sheets(FFF%).PrintOut Copies:=1, ActivePrinter:= _ "EPSON PM-3700C LAN on Ne06:", Collate:=True ところが、上のコードで Ne04 というところの数字が知らないうちに変わって うまくプリントアウト出来ないときがあります。 これの理由は何故なんでしょうか
>>504 それはエクセルではなくプリンタおよびネット側の設定の問題ではないのか?
508 :
485 :2007/06/21(木) 15:58:54
>487 まじでどもです! グラフとか表は彼女の物で、一緒に表示したいって言ってたから色々やってたんですが、 途中から意味不明になってきたのでここで質問しました。 たしかに俺も何故シートが別なのかはよくわからなかった(笑) とにかくありがとう!
>>500 質問の2つ後だからアンカー省略したんだけど、、
質問です。 一番上の行に対してウインドウ固定で表を作成しているのですが、 印刷のときにページがかわっても その行を必ず印刷するようにできないでしょうか?
回答者がもの凄く辛辣ワロタ
>511 ここらへんは基本だと思うけど ファイルメニュー→ページ設定→シートタブ→行のタイトル
515 :
511 :2007/06/21(木) 21:06:07
>>490 Microsoft Date And Time Picker Control
>490 入力ミスがあると必ずエラーになるなら On Error GoTo〜とかで一纏めにしちゃうとか…駄目?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 ユーザーフォームでキャプションの字の色を変えたいのですが、それらしい命令が見つかりません。 もしかしてないのでしょうか?
519 :
518 :2007/06/21(木) 22:59:44
申し訳ありません。言葉足らずでした。 もちろんマクロの記述としてです。 caption1.font.colorindex とためしに打ってみましたが、どうもなさそうな雰囲気です。 VBAから制御する記述についての質問をさせていただきたいです。
CommandButtonにはForeColorがあるぞ 実装されてるかどうかは知らんけど
>>517 アプリケーションエラーやらシステムエラーならまだしも、
ユーザーエラーレベルの論理的な誤りを全てOn Errorで弾けるケースは希だ。
523 :
435 :2007/06/22(金) 10:28:55
返答おそくなってすみません
>>454 やってみます
>>455 わざわざやってもらってありがとうございます。
マクロは一つしかないのです。
【1 OSの種類 .】 WindowsXP2 【2 Excelのバージョン 】 Excel2007と2003 【3 VBAが使えるか .】 関係なし 【4 VBAでの回答の可否】 関係なし オートシェイプのグラデーションですげー困っています。 2003までは オートシェイプの書式設定 塗りつぶしの色からグラデーションタブを選択し、 2色を選び、パターンを選ぶことによって出来たんだが、 2007は画面が全然違うっす。 2003と同じような、グラデーションはどうやって作るの?
>>524 グラデーションの分岐点と、分岐点ごとの色の指定で作れる
後は試行錯誤でがんばってくれ
面倒なら「標準スタイル」からどれかを選んでそれを調節しろ
すみませんが度忘れしたので、教えてください。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 文字列を行(横)に書いたものを、 列(縦)に書き換えるときの、関数を教えてください… よろしくお願いします。
>>525 やっぱり、あのプロパティ画面になったのか・・。
分岐点の概念がまだよくわかってない。思ったような配色にならん。
適当にいじってみます。
、、、ってやってみたら、概念はわかりました。
この、5分もかけたグラデーションのパターンを登録する事はどこかでできますか?
>>526 コピー→形式を選択して貼り付け→行列を入れ替える
529 :
525 :2007/06/22(金) 20:25:57
>>527 ないような気がする。
あるのかもしれないけど俺は知らない。
でも実際、わかれば簡単でしょ。
次からは時間かからんと思うが。
【1 OSの種類 .】 WindowsXP SP2 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 関係なし 【4 VBAでの回答の可否】 関係なし 行挿入をキー操作のみでやる方法で、Alt+I で挿入メニュー出し、Rという手順がありますが、 これだといちいちプルダウンメニューが表示されてしまいます。 メニューの表示も無く、挿入出来るキー操作ってでき無いでしょうか?
532 :
名無しさん@そうだ選挙にいこう :2007/06/23(土) 06:12:46
>>491 >>493 >>515 に近いのですが、
時間の表示で同じようにできませんでしょうか?
たとえば
6:30
10:00
15:15
20:00
とあった場合,表示は
6:30
10:
15:
20:
となる感じです.
セルの内容は実際に時間です.
(実際に入っているのはシリアル値で表示で時:分の形式,即ち現在はh:mm;@です.)
>>530 > 【3 VBAが使えるか .】 関係なし
> 【4 VBAでの回答の可否】 関係なし
拒否するのは勝手だが、関係有るかどうかを判断できる知識もないのに関係なしとか断言しないでね
VBAではOnKeyメソッドで任意のキーに好きな機能を割り当てられるので、
>>530 の望みはもちろん、
キーが割り当てられてない機能や複数の操作を1キーに割り当てることだってVBAで出来る
まあ今回のはVBA無しで解決するけどね
Ctrl + Shift + ;
このショートカットキーで行挿入するには行選択している必要があるので、選択範囲を行全体にするには
Shift + Space
実はどちらもヘルプに載ってる基本的操作
>>532 確か2007なら出来たはず
試してはいないけど、条件付き書式で表示形式の設定が出来るようになったはずだから
2003以前では任意の条件(※1)によって表示形式を変えることは出来ないので
論理関数使って別セルに表示させるか、VBAのイベント使って書き換えるかだな
(※1:「単純比較演算」と「正数;負数;0;文字列」の固定条件での表示形式変更は可能)
ところで15:15はそのままなのでは?
excel2003です。 ツールバーにある「ファイル」や「編集」をなくす表示方法はあるでしょうか? 人名検索をするだけなので、できるだけシートを広く使いたいのです。 表示→ツールバー→ユーザー設定→ワークシートメニューバーのチェックを 外しても閉じた途端に元に戻ります。 よろしくお願いします。
>>534 全画面表示では我慢できないのか・・・?
>>534 ツール→マクロ→VBE
表示→イミディエイトウィンドウ
イミディエイトウィンドウに↓を入力、Enter
Application.CommandBars("Worksheet Menu Bar").Enabled = False
ファイル→終了してMicrosoft Excelへ戻る
これで消えるはず。戻したいときはFalseをTrueに変えて実行。
シートを移動するキーボードショートカット教えてください。
>>537 Ctrl+PageUp、Ctrl+PageDown
>>536 に付けたしとく
メニューバー戻したいときに消えちゃってるんで
ツール→マクロ→VBEができない。Alt+F11で代用してくれ。
うちでは同一ブック内でのシート移動をAlt + ←、Alt + →にしてる
540 :
537 :2007/06/23(土) 10:50:58
>>538 thx
>>539 thx
それは外部ツールでですか?
テンキーは使用するのでできればPageUp/Down以外がいいのですが..
テンキーの左にも独立したPageUp/Downがない?
542 :
534 :2007/06/23(土) 12:02:14
>536 ありがとうございました。初めてVBEを触りましたが 上手くいきました。 >535 デスクトップの右上に置いているので、なおさら邪魔でした。 書き方が足りなくてすみませんでした。
543 :
名無しさん@そうだ選挙にいこう :2007/06/23(土) 12:03:13
相談と質問です 30歳になるのですが、未経験でPCスクールに通いExcelVBAを学んで派遣デビューは どうなんでしょうか? NEやPGになりたいとPCスクールを訪問したら『Excelができないのなら まずは基礎をつけないとダメ。ExcelVBAを取得して実務経験を積んでから、自分がどの道に進みたいか 決めてみなさい。』と言われました。 ピンキリでしょうがスタート時の時給や業界のことなんかも教えてください。
>>543 君みたいな場違いな質問を平気でしている阿呆には無理だよ。
>>2 > ここは技術的な質問のみで。
とりあえず派遣業界板や就職板でも行ってくださいな
OnKeyでアサインしたキーバインドが効かない(別の動きをしてしまう) 場合ってどうしたらええの?
普通にやればいいよ
548 :
図形描画 :2007/06/23(土) 15:22:09
▼━質問テンプレ 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい(簡単なのなら) 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 IF関数 図形描画 がんばって検索したのですがわからなくて質問です。 IF関数とかでたとえばA1セルが1ならA2セル付近に△の図形、2なら□の図形と いうように図形描画することはできますか? 図形じゃなくて、文字列ならいくらでもできるのですが、、、
>>548 おまえ
Excelが何をするアプリケーションか分かってないだろ
【1 OSの種類 .】 Windows2000
【2 Excelのバージョン 】 ExcelXP
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 塗りつぶしの色・その他の色
お世話になります。実は、グラフの色を塗っているのですが、
自分で設定した色にしたいと思っていたます。
その他の色というのを選択すると、自分で色を選べると
ヘルプに書いていたのですが、下図のとおりで
その他の色というのが出てきません。どうしたらいいでしょうか。
http://up.tseb.net/src/up21653.gif
>>549 Excelの使用目的を大きく逸脱してるとは思えないんだが、
何がそんなに気にくわないんだ?
>>548 VBAマクロでシートの変更イベントを拾えば簡単なんじゃないかね。
このくらいなら自分で作ってみたらどう?
>550 塗りつぶし効果で、好きな色作れ
>>543 Excelは便利なアプリであって、木曾なんかじゃーない。
本気でNEやPGになりたいなら、専門ガッコ池。
>>543 V○A質問箱とマルチするような奴にマトモな仕事は出来ない。
【1 OSの種類 .】 Windows2003 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 印刷 A4サイズで収まる表を作ったのですが これをまったく同じものを両面印刷したいのです。 プリンタの設定を両面にしても表だけにしか印刷されないので 裏にも同じものを印刷する方法をご教授ください
>>555 同じ表を2つ作るか紙を裏返してもう1回印刷する。
>>555 それがどうしてExcelの質問なんだ?
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 ピボットテーブルウィザード 集計 初めから なし 101でも同じ質問だ出ていましたが・・・ ピボットテーブルウィザードを使用する場合、行の項目が集計されるのがイヤで 毎回集計を「なし」にします。 しかし、できるだけ手間を省きたいので、初めから「なし」にセットしたいのですが 方法はあるでしょうか?
>>558 標準機能で設定できるかは知らんが、
手間を省くのが目的なら、VBAマクロを使って一括で設定変更してみたらどうだろう。
当初の目的からはやや外れるが、これでもかなり効率化が期待できるんじゃないかね。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2005 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 if セルの数値に対して、3段階の評価をつけたいのですが、 例 500 高 320 中 120 低 2段階なら if(A1>500,"高","低")で500↑を高、499↓を低と表示出来たのですが、 500↑を高、499〜201を中、200〜1を低と範囲を指定する方法をご教授願います。 ifでなくてもいいのですが、sam,ave等簡単な数式しか使った事ないもので… 御時間がありましたら、宜しく御願致します。
562 :
358 :2007/06/24(日) 11:36:27
ifをネストさせるだけで充分出来るけど
>>561 =if(A1>=500,"高",if(A1>=201,"中","低"))
>>560 同じものが2枚出てくるのでは?
564 :
563 :2007/06/24(日) 11:41:15
1未満を考えてなかった鬱 =IF(A1>=500,"高",IF(A1>=201,"中",IF(A1>=1,"低","")))
565 :
560 :2007/06/24(日) 11:41:28
>>563 さん
さっそくのご回答ありがとうございます。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 文字列 スペース 区切り 並べ直し A列に 125 521 126 35 のように間にスペースの入った文字列があるのですが これをスペースの部分で区切って B列 C列 D列 125 521 126 のように区切って並べ直すVBAを使わない方法ありますか? よろしくおねがいします。
>>568 答え知ってて、質問も丁寧なんだから、ありますか?という質問に対して
ありますよ。だけは無いんじゃないですか??w
子供じゃないんだから。
570 :
567 :2007/06/24(日) 14:23:46
>>569 ??w
↑この辺に2ch中毒っぽさが漂うな。
572 :
567 :2007/06/24(日) 14:46:38
自己解決しました。スレ汚しスマソ
573 :
568 :2007/06/24(日) 14:48:19
>>570 [データ(D)]→[区切り位置(E) ...]
これでいい?
次からは、「ありますか?」ではなく「あれば教えてください」のような
聞き方に改めた方がいい。君の聞き方では、機能の有無を知りたい
のか、やり方を知りたいのかが曖昧だ。
今回に限れば、文脈から「やり方」の方を聞いているのは明白だったが、
多少なり参考になればと思い、少し意地悪をさせてもらった。
>>571 わけ分かんない事いってるんじゃない。
用事がないならくだらない皮肉はやめろ。主婦かお前は。
575 :
名無しさん@そうだ選挙にいこう :2007/06/24(日) 15:06:00
エクセルでVBAのプログラミングするんですけど、 core2duoであると、やっぱり全然違いますかね?
>>575 まともな日本語を勉強してから、出直してね。
577 :
名無しさん@そうだ選挙にいこう :2007/06/24(日) 15:08:14
>>577 スレの趣旨から脱線してるので、失せてね。
>>579 弱いオツムで、一体何を分かった気になってるんだか。
583 :
名無しさん@そうだ選挙にいこう :2007/06/24(日) 15:25:57
>>581 つまんねぇレスに釣られてんじゃねぇよカスがw
584 :
560 :2007/06/24(日) 15:26:15
糞みたいな回答しかできないならひっこんでろ
586 :
556 :2007/06/24(日) 15:30:15
同じ表を作って印刷範囲設定を使い 両面に印刷するのがスマートかつ出来る男のやり方だろう
587 :
577 :2007/06/24(日) 15:30:35
すみません。 僕の質問で荒れてしまったみたいで。 帰りますので、もうけんかしないでください。 本当にすみません。
>>577 セル上での計算も若干早くなるが、メモリ上に展開して計算するのであれば期待通り早くなる(100MBのファイルとか)。
って最新に変えれば早くなるのはあたりまえか。マルチスレッド計算があるから、使うなら2007したほうがいいよ。
ちんまいファイルならスピードは誤差の範囲。
589 :
577 :2007/06/24(日) 15:49:01
>>588 あなたが神ですか。
ありがとうございます。
良い人もいらっしゃるようで安心しました。
感謝します。
スレ違い
test
エクセルでVBAのプログラミングするんですけど、 80286であると、やっぱり全然違いますかね?
593 :
名無しさん@そうだ選挙にいこう :2007/06/24(日) 17:27:04
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 if で試してみましたが分かりませんでした。 すみません、わからなくなってしまったので手を貸していただけるとありがたです。 宜しくお願い致します。 まずシートが2枚あります。たとえば一枚目のシートのA1に〜月度末という入力部分作成します。 例えばここを5月度末に変えるとシート2の月別売上げ6月から来年の4月までの合計がシート1のA10 に反映させるようにしたいのですが。。。シート1の〜月度という部分を6月度末に変えると、2枚目のシートの指定した 部分の7月〜来年の4月までの範囲の合計の数字が一枚目のシートのあるセルに反映させるようにたいのですがどのようにすればいいのでしょうか? 宜しくおねがいします。
>>589 つまりそれは、お前を煽った人間を悪だと決めつけてるわけだな。
596 :
名無しさん@そうだ選挙にいこう :2007/06/24(日) 20:29:12
>>595 さん
返事ありがとうございます。
恥ずかしいんですがsumif関数今まで使用したことなくてもう少し
詳しく教えていただけるとありがたいです。お願いします。
597 :
名無しさん@そうだ選挙にいこう :2007/06/24(日) 20:29:59
>>595 さん
返事ありがとうございます。
恥ずかしいんですがsumif関数今まで使用したことなくてもう少し
詳しく教えていただけるとありがたいです。お願いします。
>>595 さん
返事ありがとうございます。
恥ずかしいんですがアナルは今まで使用したことなくてもう少し
詳しく教えていただけるとありがたいです。お願いします。
599 :
名無しさん@そうだ選挙にいこう :2007/06/24(日) 20:56:51
>>593 先にヘルプで調べてから、それでもなお
分らないところがあれば聞くようにしなさい
ここが俺たちのヘルプだ! すっこんでろ
清々しいなw
602 :
名無しさん@そうだ選挙にいこう :2007/06/24(日) 23:50:31
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 勉強中です 【4 VBAでの回答の可否】 可 VBAでGROWTH関数を使いたいと思っています。 セルの中ではこの様に使っています。B6=GROWTH(B1:B5,A1:A5,A6) このB1:B5等の部分をVBAの変数で使用することは可能でしょうか? 検索をしたところで使用できるとのことでしたが 具体的なコードの載っているサイトが見つかりません。 よろしくお願いします。
Growthは配列を引き数にとります Sub sample() Dim x(1 To 3), y(1 To 3), newx(1 To 1), i Dim a For i = 1 To 3 x(i) = i y(i) = 2 ^ x(i) Next newx(1) = 4 a = WorksheetFunction.Growth(y, x, newx) MsgBox a(1) End Sub
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 勉強中 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 コンボボックス 隠す はじめまして.VBAに関する質問です. チェックボックスにチェックをいれると指定したコンボボックスを非表示にし, チェックボックスのチェックを外すと,その指定したコンボボックスを再表示する. というコードを作っていますが上手くいきません. コンボボックスはフォームオブジェクトです. Private Sub CheckBox1_Click() ComboBox1.Visible = CheckBox1.Value End Sub というようなコードを汲んで見ましたが,「オブジェクトが必要です」といったエラーが出ます. これに類するようなコードも色々と調べて試してみましたが,うまくいきません. 上記の内容を解決できるような方法があれば是非ご教授いただければと思います. 因みにコンボボックスを非表示・表示できるような方法であれば 上記の方法(チェックボックスなど)以外でも構いませんのでよろしくお願いいたします.
>>605 これはフォームじゃなくて、全部コントロールな。
配置は全部sheets("sheet1")でコードの記述も同シート。
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
ComboBox1.Visible = False
ElseIf CheckBox1.Value = False Then
ComboBox1.Visible = True
End If
End Sub
ちゅーか、
>>605 のコード俺の環境だと普通に動くな。
コンボボックスの名前を間違えてるだけじゃないのか
609 :
名無しさん@そうだ選挙にいこう :2007/06/25(月) 09:03:13
Private Sub CheckBox1_Click()
ComboBox1.Visible = Not CheckBox1
End Sub
こんな俺は異端?
>>605 はオブジェクトがないって言われてんだから
まんまコントロールが見つからないって事じゃないの?
「フォーム」でワークシート上に作ってるんじゃないのかな? だったら「ActiveXコントロール」用のコードだと意味ないんじゃない? Sub チェック1_Click() Set ddBox = ActiveSheet.Shapes("ドロップ 2") Set chkBox = ActiveSheet.Shapes("チェック 1") If chkBox.ControlFormat.Value = 1 Then ddBox.Visible = False Else ddBox.Visible = True End If End Sub こんな感じじゃね?
613 :
605 :2007/06/25(月) 12:15:37
>>606 607 608 610 611 612
返事が遅れてしまいました.ありがとうございます.
今現在試せる状況にないので,会社に戻ったら色々と試してみます!
ものすごく単純な質問で申し訳ありません。 excel2003のVBAでEメールを扱うことはできますか? ある処理において、Eメールを送信するといった形です。
615 :
名無しさん@そうだ選挙にいこう :2007/06/25(月) 16:14:01
グラフについてなんですけど、y軸の値を2進数で表示したいんですけどどうやればいいでしょうか?
617 :
名無しさん@そうだ選挙にいこう :2007/06/25(月) 18:35:03
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━ 【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 お前らよりかは使える 【5 検索キーワード 】 起動時にすべてのファイルを開くフォルダ セキュリティプログラム 更新 「起動時にすべてのファイルを開くフォルダ」で設定してあるxlsファイルが開けなくなってます。 また、デフォルトの C:\Program Files\Microsoft Office\Office10\XLStart にあるファイルは無事に開けてます。 なぜ「起動時にすべてのファイルを開くフォルダ」で設定した場所にあるファイルが開けなくなったのかわかりますか? ところで 何度も確実に確認しましたので、 「起動時にすべてのファイルを開くフォルダ」は正しいパスを指定しており、 そのフォルダの中にも確実にXLSファイルは存在します。
618 :
357 :2007/06/25(月) 18:50:26
>>614 Excelファイルを添付するというのならできます。
EメールだけならOutlookのVBAじゃないですか?
619 :
名無しさん@そうだ選挙にいこう :2007/06/25(月) 19:30:20
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 sumifを使用し色々試してみましたがわかりませんでした すみません、昨日質問させてもらったものです。昨日書き込みしてから色々ためしてみました。 ヘルプなどもみたのですがどうしてもわからないので分かる方力を貸して下さい。 お願いします。 まずシートが2枚あります。たとえば一枚目のシートのA1に〜月度末という入力部分作成します。 例えばここを5月度末に変えるとシート2の月別売上げ6月から来年の4月までの合計がシート1のA10 に反映させるようにしたいのですが。。。シート1の〜月度という部分を6月度末に変えると、2枚目のシートの指定した 部分の7月〜来年の4月までの範囲の合計の数字が一枚目のシートのあるセルに反映させるようにたいのですがどのようにすればいいのでしょうか? 宜しくおねがいします。
>>619 まず、普通のSUMと普通のIFは理解してる?
SUMIFなんて、それを両方ひとつの関数で出来るってだけなんだから。
()の中に入れる物と順序はヘルプに書いてあったでしょ?
それでもわかんないって言うなら、そのままセルに入れれば動くような式を書いてくれる優しい回答者を待つべし。
貴方の今後の為にならんから、俺はここまでしか言わん。
621 :
名無しさん@そうだ選挙にいこう :2007/06/25(月) 20:37:41
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 2軸上で検索 質問があります。 エクセルでグラフを作成する際に数値と達成率で、2軸上の縦棒と折れ線グラフを 使用しているのですが、両方の軸を特定の値で関連付ける方法を教えてください。 初期値のまま軸の目盛りを自動にすると片方の軸ともう片方の軸の目盛りが固定 されないのです。 例えば数値として500000の時に達成率を100%にしたいのですが、テンプレートと して使用したいので、500000の数値をその都度他から引っ張ってくることが出来る という方法を教えていただければと思います。 よろしくお願いします。
622 :
名無しさん@そうだ選挙にいこう :2007/06/25(月) 21:15:58
列番号が数字になってしまいました〜。 元のA1形式に直すため、 ツール→オプション→全般→「R1C1 参照形式を使用する」 のチェックを外したのですが、 「セル参照と同じ名前を定義することはできません。」 と表示され、A1形式に戻すことができません。 どうすればよいでしょうか? ご存知の方、ぜひよろしくお願いします。
>>622 戻す前にどこかのセルにA1とか名前が付いてるのをを変更する
624 :
名無しさん@そうだ選挙にいこう :2007/06/25(月) 22:41:10
>>603 >>604 無事、動かすことができました。
結果も配列にしなければならなかったのですね。
ありがとう御座いました。
>>610 >>605 の質問は障害の本質を捕らえ損なってるが、それに輪をかけて
>>606 の回答は
見当違いのすっぽ抜けなわけで。
そういう話をしてるんだけど、気付いてないのかねぇ。
粘着ウザイよ
$A$1*2 $A$1*3 $A$1*4 $A$1*5 のように列方向へ値をフィルできないでしょうか?
できるよ
629 :
622 :2007/06/25(月) 23:03:14
622です。レスありがとう。
>>623 すなわち
表示 → 名前
で、A1を探して、それを削除すればよい
ということでしょうか?
(B1・・・AC12・・・なども削除するのでしょ
うか?)
仕事が捗らず、たいへん困っています
もう少し具体的な方法を教えていただけ
ませんでしょうか?
A1形式と同じ表現のものは全部変更ってことだね
631 :
617 :2007/06/25(月) 23:12:55
自己解決しました。 「起動時にすべてのファイルを開くフォルダ」のXLSファイル名を PERSONAL.XLSから、適当に別の名前のファイル名に変更したら 起動時にちゃんとロードしてくれました。 PERSONAL.XLSだとなぜ起動時にロードしてくれないのかな? なんでだろ〜なんでだろ〜ななななんでだろ〜
>>629 ワークシートのA1形式と同じ名前のセル参照をR1C1形式に変更
挿入>名前>定義
A1形式と同じものを削除
全てが終わったらA1形式に戻す
633 :
名無しさん@そうだ選挙にいこう :2007/06/25(月) 23:58:55
Excel2003のセルをコピーしてWord2003にペーストすると 表としてペーストされてしまいます。 つい昨日まではテキストとしてペーストしていたのですが、 特に設定を変更した覚えはないのにそのようになってしまいました。 テキスト貼り付けに戻したいのですが、どの設定をいじればいいでしょうか? それともWordのほうの設定になりますでしょうか?
634 :
605 :2007/06/26(火) 06:39:18
御礼が遅くなってしまいました.
>>612 さんの方法でうまくいきました!回答ありがとうございました.
そしてまた一つ新しく疑問がわいてきたのですけれどもそれについてはなんとか自分で答えを見つけてみようと思います.
改めて皆様回答していただきありがとうございました.
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 shiftを押してセルを飛び飛びに選択したように、rangeをつかってセルを選択したいと思っています。 range(cells(y,1),cells(y,5):cells(y,7)).select のように記述するとはねられました。 せっかく買った本には、cellsとrangeを組み合わせる記述についてほとんど何も触れていません。 いったいどのように記述すればいいのでしょうか? 選択したものをコピーして、他のシートに貼り付けたいと思っています。
エクセル2000で 下から2番目の成績の人の名前が入ったセルに色がつくようにするには どうすればいいでしょうか。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 デスクトップ エクセルのVBAをエクセルを起動させずに、実行できるでしょうか? 例えば、デスクトップにクリックボタンを貼り付けとか 出来るなら、やり方を教えてください。
>>635 つマクロの記録
どうでもいいけどctrlじゃないの?
639 :
名無しさん@そうだ選挙にいこう :2007/06/26(火) 17:16:11
>>635 Application.Union([cells(y,i), [a3], range("A5")).Select
>>636 条件付き書式で
=(RANK(A1,$A$1:$A$20,1)=2)
とか。重なる値があるとだめかな
>>637 むり。
640 :
637 :2007/06/26(火) 17:41:42
641 :
636 :2007/06/26(火) 17:45:56
エクセルについて教えて下さい。 必ずページの最初の行に項目が入るようにしたいのですが。 これって、テンプレートっていうのでしょうか? 改ページしても、同じ「数項目のセル」が自動的に頭にくるような設定はどうすればいいのでしょうか?
>>642 意味がよくわかんないんだけど、エスパーすると「区切り線」か「行見出し」の事を言っているのかな?
ヘルプ見てみて(携帯からなのよスマソ)。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】excel ユーザー定義 全てのブック 新規作成するワークシートで、自分で作った『ユーザー定義』のセル書式を使う方法は何とか分かったのですが、 今までに作ったワークシートや、他人の作ったワークシートには反映されていません。 そこで今までに作ったワークシート等にこの『ユーザー定義』を反映する方法はないのでしょうか? やっぱり、ひとつひとつ設定する方法しかないのでしょうか?
>>643 よくある表組で、項目が「年度 目標 内容 事業展開 事業費・・・」などとセルに打ち込む行なのですが、
この表組が100ページ以上もあります。必ずページの最初にこの項目がないといけないので、いままで
いちいちコピペしてきたのですが、割付の変更等でズレてばかり。プリントビューで確認しては直してばか
りいるので、とても時間がかかります。「行見出し」で検索してみましたが、印刷ビューに反映されないの
ですが・・・。てとも焦っていてガサツな質問ばかりですみません。ご指示頂ければ幸いです。
ヘッダーには設定するとセルの区切りができないみたいです。拡張子とファル名を打ち込んでも駄目で
した。
>>637 Excelの操作が不要なら、WSHでVBScriptでも動かせばいいじゃないか。
>>645 同じ質問が何度出たことか。
過去レスでも眺めてくれ。
>>644 設定しないのに過去に作ったものに勝手に反映されたら逆に困る
がんばれ
>>646 VBSでは対話ダイアログ(MsgBox、InputBox)以外GUIを作れないよ
ScriptFormなどのActiveXを使えば話は別だが
同系言語がいいなら、VB2005EE(同系と言っても文法に多少の違いはある)が無料で使えるし
言語に拘らないならAutoHotkeyあたりが簡単手軽
しかしExcel立ち上げずにマクロのみ実行したいとか、この手の質問してくる奴って定期的に出るけど
Excelを操作する為の機能(マクロ)をExcel無しで実行するなんて本末転倒
>>2 にもあるが、マクロ言語が強力すぎる故にVBAを簡易開発環境か何かと勘違いしている人が多いようだが
マクロ言語とは、それが備わったアプリを補助する為のものであり
そのアプリに関わらない処理なら開発環境やスクリプトで行うべきということをお忘れなく
まあ他人に質問したりせず、自分の能力で解決できる範囲のことなら不適切なことをやっても構わないけどね
昔ここで質問と回答を載せたwikiとか作るとかあったけど、どうなったの?
>>649 GUIならHTAでつくればおk
さすがにデスクトップにボタンは貼り付けるのは
きついだろうけど、たいていの事はできるっしょ
なんにしてもスレ違いなんでこの辺で・・・
652 :
637 :2007/06/26(火) 22:07:41
>>645 やっぱりイマイチ的を得ない説明なんだけど、超初心者なのかな?
再びエスパーしてみたんだけど、100ページってのは100シートってことなのかな。
1シートに印刷した時の1枚分のデータしか無いんだとしたら「行見出し」自体無意味。
「割付の変更」とか拡張子をいじった理由もよくわからないなぁ。
もし列の数が同じなんだったら、「行のコピー」→「コピーした行を挿入」。
それを、確か100シート一遍には無理だった筈なので、
50シートを選択して行えば、数回で済むでしょ。
家PCにExcel無いもんで、この程度で勘弁して。
俺がエスパー失敗してたら又いらっしゃい。
>645 なんか"行のタイトル"で済みそうな気が…
>>645 テンプレートでヘルプ検索
シートが100枚ならブックのテンプレート
1枚のシートに100ページならシートのテンプレート
そもそも丸ごとコピーすればずれないはずだけど
>>649 質問者は「GUI使用必須」とは書いてないよね。
何をどこまでしたいとも書いてないから、確かに曖昧な質問ではあるんだけどね。
こういう場合は、考えられうる選択肢をバイアスなしであげつらう方がいいよ。
回答者側の判断で余計な制約を付けながら回答するのは、返って不親切になる。
658 :
名無しさん@そうだ選挙にいこう :2007/06/27(水) 05:50:29
プリンタにて印刷時の色について質問です。 Excel2000(OS:win2000)で作成した文書をExcel2007(OS:Vista)で印刷すると 黒色(枠線や文字)が薄い青色で印刷されてしまいます。 使用プリンタはDellオールインワンプリンタ810です @なぜ薄い青で印刷されてしまうのでしょうか? A黒で印刷するにはどうすればよいでしょうか?
>>658 スレ違い。他を当たってください。
そんな馬鹿馬鹿しい質問、他に行っても誰も答えてくれないかも知れませんが。
>>644 今あなたが定義した書式が、
私のシートに反映されたら私は困ります。
勘弁してください。
必要により、ユーザー定義したシートを読み込むなり、
書式をコピーしてください。
セルをドラッグして値を延長?するとき セルの書式が標準(数値)ならそのままコピー、ctrl押しで加算 セルの書式が文字列なら加算、ctrl押しでそのままコピー なんで逆なんですか? どちらかに統一したいんですが、設定はありますか?
>>661 再現しませんでした
もっと状況を詳しく
>>661 統一されてる結果、そういう動作になってる
おそらく複数セル選択ではなく1セル選択でフィルコピーしてるんだろうが、数値でも文字列でもCtrl押さないと加算コピー
で、数値の加算コピーは差分基準になり、文字列の場合は差分が取れないこともあるので差分が取れなければ+1固定の加算コピーになる
「1」という単一の数値に差分は無いから、「1」という数値をCtrl押さずにフィルコピーすると+0の加算コピーになり、結果1,1,1,…となる
単純コピーのように見えるかも知れないが、これだって加算コピーだ
対して"1"という単一の文字列からは差分が取れないので、文字列の連続データの基準に従い+1固定の加算コピーになり、結果"1","2","3",…となる
Ctrl押した場合は、数値でも文字列でも加算コピーではなく選択範囲の繰り返しになるが
数値1セル選択の場合だと、加算コピーでも+0で1,1,1,…、繰り返しでも1,1,1,…と同じ結果になってしまう為
親切機能として、標準操作(Ctrl無し)での挙動はそのままにして、Ctrl押しで+1の加算コピーが出来るようになってる
3セル使って1,2,3と入れたデータでフィルコピーしてみれば、数値の場合でも文字列の場合でも同じ結果になるから動作が統一されてることを実感できるよ
君としては数値1セル選択の場合の親切機能をCtrl無しの方に付けて欲しかったのかもしれなしが
親切機能が動作の統一性を乱したお節介機能にならないためには、例外的挙動は標準操作(Ctrl無し)以外に付けるべきだってのは解るよね?
>>658 そうか、安いからポチっと逝きそうになるが
やめておこう。
>>663 あ・・ありがとう
そんなに丁寧に説明してくれるとは思いもよらなかった
「”1”」と「1」から、単に増やす場合でした
確かに規程動作だね
つか、右ドラッグも使い分けろや
667 :
名無しさん@そうだ選挙にいこう :2007/06/27(水) 15:41:03
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】分かりません 【4 VBAでの回答の可否】分かりません 初心者なので困っているのですが、エクセルに挿入したJPGの画像を 元のJPGに戻すにはどうしたら良いですか?すみませんがどなたか 教えてください。よろしくお願い致します。
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】使えない 【4 VBAでの回答の可否】否 時々、取引先からマクロを使ったExcelファイルを渡されるときがあるのですが、 それを自分のPCでマクロを有効にするというメッセージをYesにして開くと 表示されるまでに10分間くらいかかってしまいます。そのままフリーズすることもあります。 そのファイルを他のパソコンで使用すると問題なく5秒程度で開くことが出来ます。 自分のパソコンと同機種、それ以下のスペックの物でも問題なく開けます。 ただ、Excelの他の機能については全く問題ありませんし、OSも目立った不具合は出ていません。 この現象の原因と解決法を分かる方いらっしゃらないでしょうか? PCのスペックはPen3-1200Mhz メモリは512MBです。
669 :
名無しさん@そうだ選挙にいこう :2007/06/27(水) 17:59:49
EXCELの2000と2007って互換性は無いの?
>>667 「元のJPG」って意味不明。日本語でおk。
挿入元の図をなくしたんなら、Excelのをペイントにでも貼るか、ごみ箱漁れ。
>>668 マクロ付のファイルを送ってくるような、社会人的常識の無い取引先が悪い。
受け取った側でもどうしても必要なマクロなら、他の人のPC借りるしかないかなぁ。
固まるってことはそこそこデカいプログラムが動いてるんだろうから、スペックの問題かと。
おまいらヘルプ! シート数増やしてたら、 「これ以上書式の追加はできません」」 と出てバグった できればシート分割したくないんだが、名前(挿入→名前→定義)の削除以外に何か抜本的な改善方法ありせんか? おまいらヘルプ!
組み込まれているマクロを解除する 方法はありませんか? シート開くたびにマクロ実行の有無 を聞かれて煩わしい
モジュールを開放すればいいんじゃないの?
674 :
名無しさん@そうだ選挙にいこう :2007/06/27(水) 19:50:17
今、仕事中なんですが… いくつかある単語のうち、正解のひとつの単語を丸囲みしたいのですが、 どうすればいいのでしょうか? 色々やってみたのですが、わからないので、ご存知の方教えて下さい…。
つ オートシェイプ
676 :
名無しさん@そうだ選挙にいこう :2007/06/27(水) 20:02:23
>>675 さん
すみません!上司が近くにいるので、今注意書き見たところでした。
本当すみません。
オートシェイプを使いましたが、綺麗に丸囲みできないのです。
上からかぶせたみたいになるので、文字が綺麗に出なくて消えてしまうのですが
私の仕方が悪いのでしょうか?
何度もすみません。
>>670 >マクロ付のファイルを送ってくるような、社会人的常識の無い取引先
自己の主観だけで物を語る人間は回答者には不向きだよ。
>>672 そのブックだけでいいなら
>>673 、全部ならツール→マクロ→セキュリティをいじる。
>>676 オートシェイプの書式設定で、塗りつぶしを「透明」。
>667 取り合えずhtml形式で保存してみたら 画像ファイルが別フォルダで作られてその中にJPEGファイルがリネームされた状態で入ってると思う ただしリンク貼り付けで貼り付けた場合はこの方法では無理なので別の人に聞いて
>>676 そんな超初歩の質問をバンバン書き込まれたら、
スレがゴミで埋まっちゃうよ。
自分では何も調べずに人に聞くクセは早く直してくれ。
>>681 ああ、小さいな。
例えて言うならお前のチンコくらいか。
683 :
676 :2007/06/27(水) 21:10:14
>>678 さん
できました!ありがとうございます。
本当に助かりました。お蔭さまであと少しで終わりそうです。
まだ仕事中なのですが、聞ける人がいなかったので、途方にくれて
いました。本当にありがとうございました。
>>680 さん
超初歩の質問してしまってすみません。自分で色々してみたのですが
できなくて、聞ける人もいなかったので2ちゃんに頼ってしまいました。
できる人からみると、ゴミみたいな質問ですよね。
不愉快な思いをさせてしまってごめんなさい。
彼は回答したいんじゃなくて自己紹介したいんだろうな
680は、このスレが自分のモンだと勘違いしてんじゃねーのか
686 :
名無しさん@そうだ選挙にいこう :2007/06/27(水) 22:46:43
winXP,excel2003を使っています 散布図でx軸に日付と天気(天気は晴れ、曇り、雨等文字)、y軸に温度を表示させたいと考えています x軸が日付、y軸が温度は描く事ができました 表示形式で日付+天気で簡単に指定することができるのでしょうか それともVBAを使わないと不可能なのでしょうか
【1 OSの種類 .】 WindowsXP Pro SP2 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 罫線の色 現在、Excel2000を使っていますが、罫線に一番細い実線を指定すると 画面上で何色にしても印刷すると黒になってしまいます。 ぐぐってみたところ、これは既知の仕様だそうで、オートシェイプで代用 しろと書いてあったので、ずっとそのようにしてきたのですが、いいかげん 面倒になってきました。 最新のExcel2007では細い罫線がちゃんと指定した色で印刷できるように なっているでしょうか? できるなら乗り換えようと思うので、教えてください。
>>686 「もっと天気の種類が増えるのだ」
とか言い出さなければ表示形式で出来る。
入力は日付+天気に対応する数値になるけど。
しかし、散布図を使うメリットが見えない。
>>687 俺だったら文字を大きくして、印刷時に縮小印刷する
>>687 細い点線を選択しても、印刷時には細い実線に見えるのだが、
それでも色は黒になるの?
【1 OSの種類 .】 WindowsXP Pro SP2 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 少しだけ 【4 VBAでの回答の可否】 可 Application.Versionで返される値は Excel2002:10.0 Excel2003:11.0 ですけど、 Excel2007は12.0になるのでしょうか? 後、Application.OperatingSystemで返される値ですけど、 XP Pro : Windows(32-bit) NT 5.01 になってます。他のOSの値がどうなってるのか、判る方、教えて いただけないでしょうか。
1日 【 】 2日 【 】 3日 【 】 ・ ・ ・ と、日記を作りたいのですが カレンダー関数みたいなのってないのでしょうか? ぐぐっても複雑な組み合わせでしか出来ないようなのですが
693 :
名無しさん@そうだ選挙にいこう :2007/06/27(水) 23:55:13
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 微々たる物ですが・・・ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 INDIRECT オートフィルタ 等 INDIRECTで絞り込んで来た単語で最終的にオートフィルタを 掛ける事は出来るのでしょうか? (例) 「a,b,c,d」より「a」を選択 aのグループ「1,2,3,4」より「1」を選択 1のグループ「あ,い,う,え,お」より「あ」を選択すると オートフィルタが掛かって「あ」を抽出する。 見たいな事は可能なのでしょうか? 宜しくお願いします。
【1 OSの種類 .】 WindowsXP Pro SP2 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 使えません 【4 VBAでの回答の可否】 否 たとえば「3-4」という文字列を文書からコピーしてexcelに貼り付けると「3月4日」という風になってしまいます そのままの「3-4」という文字列を貼り付けたい場合、どのような設定をしておけばよいのでしょうか? 基礎的なこととは思いますがどうぞよろしくお願い致します。
>>694 「'3-4」と打つかセルの書式設定を文字列に設定する。
貼り付けると書いてあるからこの場合は後者が有効だと思う。
>>695 早々にお答え頂きありがとうございます。
前者ではうまくいきますが、後者では手入力の場合は大丈夫ですが
貼り付けるとやはり「3月4日」と表記されてしまいます。なんとかならないのでしょうか?
697 :
695 :2007/06/28(木) 02:01:23
すみません追記です。なぜか私のコピー元のファイルからのコピーだけが文字列の設定が反映されないようです 他のものからのコピーで貼り付けはうまくいきました
698 :
696 :2007/06/28(木) 02:02:18
↑すみません696でした
ちょっと力業になるけどセルの書式設定-ユーザー定義から 手入力で「m-d」入れるのはダメ? 但し、セル内の情報としては日付になってるので注意。 もっとスマートなやり方もあるのかな? 僕ではここらが限界・・・(汗
>>699 有効にはなりませんでしたが、すべて貼り終えた後にすべてのセルにその設定を反映させると
望んでいた形になってくれたので十分です。ホントにありがとうございました
701 :
687 :2007/06/28(木) 03:17:24
>>689 今までに作ったシートを修正する場合もあるので、その方法はさらに面倒そうです。
>>690 それのことです。
線のスタイルを選ぶところで「なし」の次にある細い点線を選ぶと、画面上では点線ですが
印刷すると太さが0.25ptの実線になります。その線の色を変えたいのですが、Excel2000では
それができないのです。
画面上では色が付くのに印刷するとすべて黒になります。
>>692 意味不明
以下エスパー
表示形式を使えば良いような。
703 :
小太郎 :2007/06/28(木) 07:50:29
パスワードがかかったファイルの見方を教えてください。パスワードは不明。
>>703 解除は可能だけど、パスの強制解除は不正行為にも使えるため
不正行為関連の話題が禁止されている2chでは教えられない
悪しからず
705 :
名無しさん@そうだ選挙にいこう :2007/06/28(木) 09:18:46
マクロについて質問します。 エクセルでボタン作って、押す度にランダムでポップアップを 出したいのですが、どう組めばいいでしょうか?
ランダムでポップアップってなんなのさ? 何回か一回にメッセージボックス出ること? 毎回ランダムなメッセージボックスを出すこと? そもそもポップアップって、何を指してるのさ?
707 :
名無しさん@そうだ選挙にいこう :2007/06/28(木) 09:42:32
説明不足ですいません。 押す度にメッセージボックスを出したいのですが、 出てくるメッセージボックスの言葉をランダムにしたいのです。 例えばおみくじのようなイメージです。 ボタンを押す度に、大吉だったり凶だったり メッセージボックスが変わるような仕様にしたいです。
乱数で処理を分岐させたら良いじゃん。
>>707 こんなかな?
>>708 の言う通りに乱数で分岐。
Dim msg, weight, n, i, threshold
'表示したいメッセージ
msg = Array("メガネっ子", "ボクっ子", "資本主義の豚")
'確率の重み 大きいほど高い
weight = Array(1, 2, 7)
'乱数発生
n = Rnd() * Application.WorksheetFunction.Sum(weight)
'重みのどのへんかを判定
For i = 0 To UBound(weight)
threshold = threshold + weight(i)
If (n < threshold) Then Exit For
Next
'メッセージ表示
msgbox msg(i)
710 :
667 :2007/06/28(木) 11:13:52
711 :
名無しさん@そうだ選挙にいこう :2007/06/28(木) 11:47:48
▼━質問━━━━━━━━━━━━━━━━━━━━━━━━ 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 オートSUM 方法 Excel ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 煤@オートSUMに関する質問です。 オートSUMの設定範囲内セルが全て空白時の時は0となり、 設定範囲内に何かしらの記入がある場合はセルの数を読み取り、 記入されたセルの数を表示させることは可能でしょうか? (空白) (空白) (空白) (空白) 0 (空白) (記入) (記入) (空白) 2 よろしくお願いします。
>>711 sum()では無理ではないかな
通常は、counta()を使うかな
713 :
名無しさん@そうだ選挙にいこう :2007/06/28(木) 12:09:15
エクセル2003、WinXPです。2点質問したいことがあります。 1,円グラフや横棒グラフでデータラベルを表示させた時に、 ラベルの文字数が多くなると勝手に改行されてしまいますが、 ラベルの文字数が多くなっても1行に表示させることはできませんか。 フォントを小さくすると、1行に収まるけど、小さくなり過ぎます。 例えて言えば、テキストボックスの横幅を広げるようなことがしたいのですが。 2,横棒の積み上げグラフで、ラベルを%で表示させたいのですが、 オプションでは灰色で、自動で表示させることはできないんですか。
714 :
名無しさん@そうだ選挙にいこう :2007/06/28(木) 12:12:41
>>712 ありがとうございました。
おかげで日々の入力が楽になります。
感謝。
【1 OSの種類 .】 Win2000
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか .】 無理ってレベルじゃないです!
【4 VBAでの回答の可否】
どうも!恐らく基本的な事なのですが、調べてもわかりませんでした。教えて下さい。
文字列の先頭から指定した文字数分だけ取り除きたいのです。
具体的に言いますと mailto:
[email protected] のmailto: を取り除いてやりたいのです。
今まで全て手作業で除去していたのですが、これはエクセルでもできるのでは…?と思った次第です。
REPLACEという関数で mailto: を空白に変換してみようと思ったのですが上手くいきませんでした。
分かる方ご教授ください。よろしくおねがいします。
=REPLACE(A1,1,7,"")
>>716 7の部分にmailto: と入れてました。
その式でうまくいきました。 これで出世間違い無しです。ありがとうございましたm(_ _)m
719 :
707 :2007/06/28(木) 14:59:26
皆様、ありがとうございました。 うまくいきました!
720 :
名無しさん@そうだ選挙にいこう :2007/06/28(木) 21:11:23
VBAにて、あるフォルダ内にあるファイルのうち、 ワイルドカードを使用して「AAA*.txt」と一致するファイルを取得し、配列に格納したいのですが どうしても「*AAA*.txt」と一致するファイルが引っかかってしまいます。 (「AAA1.txt」は正常に取得される。「BAAA.txt」は取得したくないのに取得されてしまう) ソースコードは↓ですが、どこがいけないのでしょうか? DirectoryExist = Dir(フォルダ名, vbDirectory) If DirectoryExist <> "" Then With Application.FileSearch .NewSearch .LookIn = フォルダ名 .SearchSubFolders = False .Filename = "AAA*.txt" If .Execute() > 0 Then fcnt = .FoundFiles.Count ReDim 配列名(fcnt) For idx = 1 To fcnt 配列名(idx) = .FoundFiles(idx) Next End If End With End If Excelのバージョンは2003 SP2です。 よろしくお願いします。
>>720 Excel2000で試したら普通にbaaa.txtは弾いた
2003もってないんで代替案として
Set fso = CreateObject("Scripting.FileSystemObject")
Set reg = CreateObject("VBScript.RegExp")
'ぱっターン
reg.Pattern = "^aaa.*txt$"
'大文字小文字を区別するか
reg.IgnoreCase = True
'検索対象のフォルダパス
FolderPath = "C:\"
For Each f In fso.GetFolder(FolderPath).Files
If reg.test(f.Name) Then
'パターンにマッチした場合の処理
Debug.Print f.Name
End If
Next
正規表現で「aaa.*txt$」とすると該当部分があるか?
でマッチするから「baaa.txt」もひっかかる
なので、「^」をつけて、ファイル名の最初の文字が「aaa」で始まり
「txt」で終わるファイル名だけ抽出するようにパターンを指定してみた
× "^aaa.*txt$" ○ "^a{3}.*\.txt$" まあ実際の条件はaaaじゃ無いんだろうけど、正規表現でaaaを書くときは↑ね 拡張子前の区切りピリオドの指定もお忘れなく ついでにIgnoreCaseは「大文字小文字を区別しないか」なのでお間違いのないように Trueで「区別する」ではなく「区別しない」だからね それと720は組込のDir関数を知ってるんだから、そういうアプローチするなら 外部の正規表現より組込みのDir関数の方がいいかもね ↓で「AAA1.txt」を取得し「BAAA.txt」は弾くから strFileName=Dir("フォルダ名\AAA*.txt") Do Until strFileName="" Debug.? strFileName 'ここに配列格納処理を入れる strFileName=Dir() Loop
723 :
名無しさん@そうだ選挙にいこう :2007/06/28(木) 22:26:56
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 2003 【3 VBAが使えるか .】 - 【4 VBAでの回答の可否】 NG ワークシート関数で出来る気がするのですが、 良い数式が思いつかないので、教えて下さい。 【Sheet1】 氏名 現在点 付与後点 Aさん 28 【xxx】 Bさん 46 【xxx】 Cさん 92 【xxx】 ↓ Zさん 11 【xxx】 【Sheet2】 現在点範囲 付与点 11 〜 20 10 21 〜 30 15 31 〜 40 18 ↓ 91 〜 100 50 こんな感じになってるとして、Sheet1の現在点に応じて、Sheet2の 付与点が与えられるものとします。【xxx】の部分に解が入るのですが、 例えば、Aさんならば、現在点「28」に、Sheet2の範囲を見て、 付与点「15」が入り、付与後点は【43】となります。 つまり、「範囲内にあればVlookup」って感じです。 よろしくおながいします。
>>705 君が言ってるのは「できないから助けて」じゃなく「やりたいから作れ」だね。
何か勘違いしてないか?
726 :
721 :2007/06/28(木) 22:39:49
>>722 言い訳がましいけど、a{3}にしなかったのはワザとね・・・
わかりずらいかなーと思って。どうせaaaとかは適当だろうし・・・
いや、まじっすよ・・・
IgnoreCaseはよく覚えてなかったからここの説明ぱくったんだけど・・・
ttp://officetanaka.net/excel/vba/tips/tips38.htm 「.txt」の「.」は失念してました・・・
ファイル操作とかってVBSでよくやるから
Dirとか使わないんで勉強になるっす(`・ω・´)
んで、2000だと引っかからなくて2003で引っかかるってことは
2003では正規表現的なマッチングに変更されたってこと?
なんにしてもフォローさんきゅです
727 :
名無しさん@そうだ選挙にいこう :2007/06/29(金) 12:17:49
WINDOWSXP OFFICE2003 エクセルで =SUM(H3,H5,H7,H9,・・・・)のように セルを指定したいのですが 数が多いので 数式に出来ませんか? 初項3 等差が2の列のセルのように その他 等比や条件など セルの指定方法があれば教えて下さい わかる方 おねがいします
>>727 手段ではなく、目的を書くと、建設的な
アドバイスが得やすいかも。
730 :
名無しさん@そうだ選挙にいこう :2007/06/29(金) 17:52:32
エクセル2003、ウィンXPです。 以下の様なマクロを作成しました。 データの抽出後に、可視セルの値を順に特定セルに入れて、 印刷したいのですが、思った様に動作しません・・・。 どなたか、お知恵を! Sub 抽出と印刷() '書類作成用にデータを抽出。 'シート1のBP列がゼロで無いものを抽出。 Sheets("シート1").Columns("BP:BP").AutoFilter Field:=1, Criteria1:=">0", Operator:=xlAnd '抽出されたリストのBP列の値をシート2のD68に順番に入れて、2枚ずつ印刷する。 ‘抽出から除外された行は印刷からも除外したいので、可視セルだけで処理したい。 Dim i As Long For i = 2 To Worksheets("シート1").Cells(Worksheets("シート1").Rows.Count, 1).End(xlUp).SpecialCells(xlCellTypeVisible).Row Worksheets("シート2").Range("D68").Value = Worksheets("シート1").Cells(i, 1).SpecialCells(xlCellTypeVisible).Value '印刷処理をします。 Sheets("シート2").PrintOut copies:=2, Collate:=True, preview:=True Next i End Sub
731 :
727 :2007/06/29(金) 18:47:53
目的は 条件書式で列のなかの最大値に色を付けたいのですが 列の中には取り込みたくないセルもあるので 現状、セルを指定して(Ctrlで選んで)います。 指定したいセルは7つ置きにあるので(A1、A8、A15・・・) 今後データが増えていくことを考え 何か良い方法があればと思っています わかりにくくて すいません 宜しくおねがいします =max(A1,A8,A15.....)→=max(なにか良いほうほう) みたいな
732 :
名無しさん@そうだ選挙にいこう :2007/06/29(金) 19:08:37
>>731 単純に該当する行だけ横に飛ばしたらどうか(C列に=A1とか)
んでC列全てを非表示にしてその列をmaxで指定する。
733 :
名無しさん@そうだ選挙にいこう :2007/06/29(金) 19:12:56
ああ、書き足りてなかったかな。そのmax値と等しい時、で条件付き書式を設定すりゃいいんじゃない?
734 :
727 :2007/06/29(金) 19:15:18
>>732 なるほど 勉強になります
具体的なしかたがわからないので 調べてみます
ちなみにデータが追加されるたびに 指定セルを「横に飛ばす」処理をしなくてはなりませんか?
735 :
名無しさん@そうだ選挙にいこう :2007/06/29(金) 19:23:32
>>734 もし合計欄の行にしか書かれてない項目があるならmaxifですむ。
新しくエクセルを導入したいんですが素直に2007を買えばいいんですか? 通販サイトなど見ると、2003も2007も在庫がある上に2003の方が高かったもので少し気になって。 という質問をしたいのですが、場所はここでよかったでしょうか?
737 :
727 :2007/06/29(金) 19:33:49
ありがとうございます マックスイフ ググッてみます
738 :
名無しさん@そうだ選挙にいこう :2007/06/29(金) 19:45:51
A1セルに3件 A2セルに1件 が入っている状況で A3セルに=A1+A2としても 0となってしまいます。 4件とするのはどうすれば出来ますか?
739 :
名無しさん@そうだ選挙にいこう :2007/06/29(金) 20:02:06
>>738 直接「1件」って入力してない?
○件と表示したいセルを全て選択し、書式設定のユーザー設定を「#"件"」にする。
んでそのセルに「1」と入力すれば「1件」と表示される。これなら合計は可能。
>>740 わかりました、他の板を探してみます。
お目汚し失礼しました。
742 :
名無しさん@そうだ選挙にいこう :2007/06/29(金) 20:21:06
>>739 有り難うございます。
質問の文章不足でした。
WEBから取得したデータをexcelに貼り付けたデータとなります。
貼り付けたら合計値が出るようにしたいのですが
件や円が初めから付随しているものは計算できませんか?
>>742 余計な物が付いてると「文字列」と認識されて計算できない。
744 :
名無しさん@そうだ選挙にいこう :2007/06/29(金) 21:02:15
編集→置換で、検索文字に「件」、置き換え後には何も入れずに全置き換え
別に関数式で数値のみ切り出して計算してもいいし VBAで一気に単位削除(&表示形式設定)をやってもいい 手動でポチポチやる以外にも手段はある 関数式なら =VALUE(SUBSTITUTE(A1,"件","")) =VALUE(LEFT(A1,LEN(A1)-1)) とかね VBAなら"件"の検索結果に対してループ回して Val関数に掛けてセルに代入し直すだけでいい そのマクロをボタンにでも登録しておけば Webページから貼り付ける度に置換ダイアログを開いて 検索文字を設定したりすることなく、シート上のボタンクリックで一発
みなさん。有り難う。 マクロにしました。
【1 OSの種類 .】 WindowsXP,2000 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 長い数式を、独自の関数として登録することはできますでしょうか? 具体的には、塩分と水温から海水の密度を計算する(状態方程式)の数式を登録したいのです。 MITSUDO関数として、任意の塩分と水温のセルを指定すれば計算結果を帰してくれるような独自関数として登録できないかということを検討しております。 数式にするとかなり冗長な式になってしまうため関数としてまとめたいのです。 会社のPCなので何かをインストールしたりすることはできません。 他人にも渡すことがあるのでマクロなどを使わずにできる方法を探しております。 よろしくお願いします。
VBAでなら可。 無しでは不可。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 可 【4 VBAでの回答の可否】 可 ・シートの名前の変更 ・シートの追加 ・シートの削除 ・シート順の変更 これら以外の処理は普通に使えるけど、これらの処理だけを ロックするなんて事、できますか? 出来そうなら、方法を教えて下さい。
>>750 [ツール] メニューの [ブックの保護]→[シート構成]
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 勉強t中です 【4 VBAでの回答の可否】 可 通常、Ctrl+Endキーを押すと、その列の最後の行にジャンプしますが 例えば、ある値を列の最後の行(65536行)まで入力して、その値すべてをDelキーなどで 削除すると、セルは空になっているのにも関わらず、以降、Ctrl+Endキーを押すと 最後の行(65536行)にジャンプするようになってしまいます。 たとえ過去の作業で最後の行まで値が入力されたとしても、現時点での最後の行に 簡単にジャンプさせるにはどうしたらよいのでしょうか? 値を消す際に何かコツなどあるのでしょうか。
>>752 最終セルの情報は、ブック保存時に更新される仕組みになってるので、
消したら一回上書き保存([ctrl]+[s])すると、ちゃんと更新されるよ。
サイズの大きいブックだと保存に時間かかっちゃうんだけどね。
なんと、方向キーだったのですか。 質問後に帰宅したので家の2007で試してみたところ、望み通りの動作を 確認することができました。ありがとうございます。 ファイルの上書き保存による更新の方は、2007では対応しなくなったのか 保存後も65536行目にジャンプします。 週明けに、会社の2003で試してみようと思います。 いままで、ずっと歯がゆい思いをしてたので本当に助かりました。 改めてありがとうございました!
ctrl+↓ではデータの途切れで止まってしまうだろうに。 上書き保存後、一度閉じて開き直しせばいいかと。
758 :
名無しさん@そうだ選挙にいこう :2007/06/30(土) 11:50:27
体重推移のグラフを作っているのですが たとえば今月は30日までしかありませんが、X軸を日付にしているのですが、 6/29 6/30 6/31 7/1 というようにないはずの6/31まで入ってしまってます。 どうすれば6/29 6/30 7/1 というようになるのでしょうか。 ご教授よろしくお願い申し上げます。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 使えません 【4 VBAでの回答の可否】 否 もうひとつ・・・、近々エクセルを買い換えようと思うのですが 2003か2007にしようと思っています。 どちらがおすすめでしょうか。
>>742 質問用のテンプレートを使ってないためマクロの使用可否が
書いてないが、OKなら手はある。
760 :
759 :2007/06/30(土) 13:11:09
あれ、もう回答出ちゃってたね。 失礼しました。
>>758 前者
シリアル値や日時関数で
詳細はヘルプ参照
後者
スレ違い
>>2 > ここは技術的な質問のみで。
762 :
名無しさん@そうだ選挙にいこう :2007/06/30(土) 14:36:20
EXCEL2003・Win2000です。 A B 1 2 3 4 5 50 6 7 8 9 70 このように縦にランダムに空白のあるデータ列(A列)があります。 現在の位置(B1)より下方向に、次に空白でない行のデータ(A5の「50」)を探して 「50」と表示させたい時は、どのような関数を使えばよいのでしょうか。 空白が何行にも渡る場合IF文ではつらいので、何か良い方法があればと 考えている次第です。よろしくお願いします。
>>762 VBA使っていいのかどうなのかわからんから触れないが、
関数使わないのなら並び変えて数字をコピーしたらどうなのさ?
764 :
762 :2007/06/30(土) 15:05:06
失礼しました。 VBAでしか不可能というのであればVBAでもかまわないのですが、なにぶん私自身は VBA使ったこともない初心者ですので、できれば関数で実現できればと思っています。 実際のデータは上記の例よりも複雑かつ膨大なので、コピーではなく あくまでもそのような処理の仕方(下方向に空白以外のデータを抽出)のヒントを 探しています。もしアイデアあればよろしくお願いします。
766 :
762 :2007/06/30(土) 16:06:24
>>765 さん、とてもわかりやすいサンプルで非常に参考になりました。
ありがとうございました。
>>766 B列の一番下のセルに(今回は一番下が9列目だとして)
=IF(A9<>"",A9,B10)
そしてそのまま上にドラッグ。
>>765 このくらい簡単な物なら、なるべくここに直接書こうね
メールでのやり取りではなく掲示板でのやりとりは
質問者への回答だけでなく第三者へ情報提供・情報蓄積も目的の一つだから
770 :
名無しさん@そうだ選挙にいこう :2007/06/30(土) 22:06:05
フォルダ内にエクセルのファイルが数百個あるのですが そのすべのファイルの最初のシートを印刷するのは手動でしか無理ですか?
771 :
名無しさん@そうだ選挙にいこう :2007/06/30(土) 22:10:42
768が変な奴と思えるのは羨ましいなw 自分の事しか考えられない、いい人なんだろうなwww
772 :
名無しさん@そうだ選挙にいこう :2007/06/30(土) 22:21:15
【7月】 1日 日 2日 月 3日 火 4日 水 ・ ・ ・ 【】←これがA1セルとしてここに7など記入すると 日にち、曜日を自動に上記のように作成されるように したいのですがどうしたらよいのでしょうか?
うーん、質問が曖昧過ぎるな・・・ 表示形式を「d"日 "aaa」にして =DATE(2007,A1,1) =A2+1 ... か?
774 :
772 :2007/06/30(土) 22:38:23
書き直し A B 1 7月 2 1日 日 3 2日 月 4 3日 火 5 4日 水 A1に月数(1、2などを入力)したときに A2〜 に月数に対応した日付が表示されてほしい。 B2〜 に月数、日付に対応した曜日が表示されてほしい。
>>774 やりたいことは概ね分かるけど、条件や用途が全然分からない。
例えば、「A1入力前はシートは白紙でなければならない」とか。
それにカレンダーや日記、何かの記録簿のように使うのであれば、
日にちなんて入力しとけばいいじゃんとか思うしさ。
(実際入力するデータは全然別なのかも知れないけれど)
777 :
名無しさん@そうだ選挙にいこう :2007/06/30(土) 23:56:05
http://pc11.2ch.net/test/read.cgi/tech/1181979651/ から追い出されてきたんですけど、
エクセルファイルを読み込んで、
ある行の一番右端に書かれてる場所が何列目に当たるのかを取得したいんだけど
どうすればその値を取得できますか?
ある行じゃなくて、ファイル全体での有効範囲が得られればそれでも構いません。
range.get_End(XlDirection.xlToRight)
だと空白が含まれるとそこで終わってしまう、というとこまでは
調べれたんですけど。
>>777 ファイル全体というか、シート単位での使用範囲なら取得できる
詳細はヘルプに載ってるのでそっちを見ろ
779 :
774 :2007/07/01(日) 00:03:20
作業的にはただの日記なのですが 日付関連の関数が使いたく、 また、使い方がよくわからないため質問しました。
>>779 日付をシリアル値にすれば、曜日は=TEXT(A2,"aaa")で出るから問題なし
同じくシリアル値にすればMONTH関数で月が取得できるから、
30日の次の日(+1)が翌月かどうかも判断できるので月に対応した日付のみを表示するのも簡単
全てはシリアル値にすれば解決する
日時関数はとりあえずDATEとMONTHだけでOK
このくらいはヘルプ見ればわかるだろ
では頑張ってね
781 :
名無しさん@そうだ選挙にいこう :2007/07/01(日) 01:03:04
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 5人で30回じゃんけんをして、出した手をB〜Fに書き込み、勝敗をG〜Kに 書き込むマクロを短めで作りたいのですが、勝敗パターンを作る以外の方法が思いつきません。 よろしくお願いします。
784 :
781 :2007/07/01(日) 01:59:57
わかりました
>>768 簡単かどうかは、全セルの全関数を見てから言ってくれ。
君なら、俺の答えをどう文章だけで表現するんだい?
こんな、一見して根拠の見えづらい関数の羅列を掲示板に
書き殴るなんて、ただ不親切なだけだろう。
>>777 >range.get_End(XlDirection.xlToRight)
>だと空白が含まれるとそこで終わってしまう、というとこまでは
>調べれたんですけど。
例えば、
Sheet1.Cells(5, 256).End(xlToLeft).Column
とすればSheet1の5行目にある最右のカラム位置が分かる。
>>781 >>782 そんなの作ろうと思えばExcelで作れるだろ?
じゃんけんもマクロにやらせるのならRnd関数で出来るし、勝敗が決まるのはデータが2種類のときだから
2種類の時"勝ち負けを書き込み、3種類または1種類の時は引き分けにすればいい。
簡単なのは-1〜1の乱数をA列〜列に出し、表示形式を"グー";"チョキ";"パー"にすればよい。
データの種類は配列(-1 To 1)に旗を立てて、三つとも立つか一つしか立たなければ引き分け。
二つ旗がたったら勝ち負けだ。
勝敗パターンが作れるなら出来るだろ?
788 :
787 :2007/07/01(日) 07:31:00
テキストとか背景の色なんですが、テーマの色がくすんだ色ばかりなので、 2003以前の形式のパレットが使いたいのです。 以前の色が選べるパレットのセットとかありますか?
Excel2003での操作についてなんですが、 仕事のデータが数万行あって、任意の範囲を選択するのにマウスでドラッグだと スクロールにものすごく時間がかかってしまうんですけど、 もっと手早く選択する方法ありませんか?
>>791 左上の名前ボックスに「A1:D100」とか入れると選べるよ。
場合によっては[ctrl]+[*]でもいいかも。
793 :
791 :2007/07/01(日) 10:46:49
>>792 即レス感謝です。ありがとうございました!
794 :
781 :2007/07/01(日) 11:54:36
>>787 ありがとうございます
>>790 ここでスレ違いと言われたから、プログ板にて聞いただけです。
ちゃんとスレ読んでね。
795 :
名無しさん@そうだ選挙にいこう :2007/07/01(日) 14:07:02
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 作成したワークシート名をリストボックス内に表示し それを選択するとそのシートに飛ぶようにしてします しかしブック内にあるシートすべてが表示されてしまいます 任意のページだけ表示しないようにすることは可能でしょうか? よろしくお願いいたします。
>>781 ,794
知ったか野郎に振り回されたのは分るが
スレ移動したのなら、その旨レスしておこう
そうすればマルチと言われずにすむ
>>787 > そんなの作ろうと思えばExcelで作れるだろ?
うん、出来てしまうから問題なんだよ
というか、誰も出来ないなんて一言も書いてないw
>>794 移転するときは一言書いて行くのが人間だよ。
>>795 リストは、静的ですか。
リストはどのように取得してますか。
リストから削除できませんか。
800 :
787 :2007/07/01(日) 21:45:22
>>797 何で出来てしまえば問題なんだ?
こんなのはいい練習問題だろ?
俺はとりあえずVBAじゃなく関数だけどで15分ででけた。
表示形式は"パー";"チョキ";"グー"の方がいいな。
使った関数はRAND関数とFREQUENCY関数とMAX関数とかMIN関数。
>>781 もがんばって自分で考えてみな。
マクロにするのは簡単だけど、改良点もありそうだし、俺はここには書かない。
質問です。 大学での実習の結果をグラフにしたいのですが、 以下の表をそのまま折れ線グラフにしようとすると、 要素数 10000 50000 100000 500000 1000000 手法1 0.044 0.103 0.196 0.791 N/A 手法2 0.012 0.025 0.042 0.159 0.306 手法3 0.006 0.011 0.018 0.059 0.111 要素数が5倍、2倍、5倍、2倍で増えているにもかかわらず、 そうした増加率の変動とは関係なく、均等にデータのx位置が決まってしまいます。 要素数の大きさを点のx位置にしっかりと反映した折れ線グラフを作るにはどのように行えば良いのでしょうか?
802 :
名無しさん@そうだ選挙にいこう :2007/07/01(日) 22:00:47
【1 OSの種類 .】 Windows2000
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 ?
【5 検索キーワード 】 一致とか
1列目2列目の単語が各行で一致する場合に
その文字の色を変えたり太字にしたりしたいのですが
どのようにすればすることができるのでしょうか?
下記のような状況で入力時に
1行目、3行目の色を変えたいのです。
ttp://cgi.2chan.net/up2/src/f274634.jpg
Selection.Cut に相当するデフォルトのキーファンクションってありますか?
807 :
802 :2007/07/01(日) 22:17:34
>>804 すみません。補足不足でした。
条件付き書式でできたのですが、私がやりたいのは列全体の指定をしたかったのです。
条件付き書式では指定できないと言われます。
行を選択 条件付き書式で「数式が」「=$A1=$B1」
809 :
800 :2007/07/01(日) 22:30:32
>.>805 分かってらっしゃいますね。 FREQUENCY関数とくればお決まりだからな。 一つ下のおえらいさんはさぞいい方法を考えてるんでしょう。
810 :
802 :2007/07/01(日) 22:31:03
>>808 その・・・えっと・・・本当にすみません。
さらに補足して、これを数百行設定したいのですが。
1行の指定はできるのですよ。
>>810 書式をその数百行にコピーすることはダメなの?
812 :
名無しさん@そうだ選挙にいこう :2007/07/01(日) 22:42:30
【1 OSの種類 .】 WindowsXP 2nd edition 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 かじった程度 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 VBA 奇数行 貼り付け A B B → A C D D C という風に、奇数行と偶数行を入れ替えて、 Sheet1の内容をSheet2に転記するにはどうしたらいいでしょうか?
815 :
812 :2007/07/01(日) 23:01:01
>>814 ="countif($B$1=$C:$C)"にしても変わらず・・・ orz
816 :
名無しさん@そうだ選挙にいこう :2007/07/01(日) 23:11:32
【1 OSの種類 .】 Windows98 【2 Excelのバージョン 】 Excel97? 2000以下 【3 VBAが使えるか .】 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 excel 表示形式 ユーザー定義 文字と数字を混合させたID(例:ABC123456-99)を入力したいのですが ハイフンやスラッシュなどをあらかじめ、セルの表示形式として 設定しておきたいのです。 000000000"-"00 ですが、表示形式タブのユーザー定義で設定しようとしても 文字を数字と同時に入力するには、数字のあとに文字っていう順番でしか できないようです。 できるだけ文字と数字だけを簡単にすばやく入力できる方法は無いでしょうか? (区切り文字を手打ちすれば済むといえば済むのですが) 私が調べた結果では、文字と数字のセルを分割するしかないように思えました。
Ctrl+P に別のキーアクションを定義しようと思ってOnKeyでやってるんだが、 印刷ダイアログがで血舞うw どうにかならない?
>>818 ふつーに出来た… 自己解決した…orz
820 :
名無しさん@そうだ選挙にいこう :2007/07/02(月) 00:12:46
>>817 いえ、数字のみならそれでOKなんですが、
###"-"###
そこに2バイト文字や英字が頭につくと表示形式は無効になり
文字として表示されてしまうのです。(結果区切りは無くなり、ただの文字と
数字がそのまま左揃いで表示されてしまいます。)
マクロのオプション
823 :
名無しさん@そうだ選挙にいこう :2007/07/02(月) 00:18:38
>>822 ・・・ですね。
ほかの解決法を検討します。
ありがとうございました。
>>821 私にヒントですか?
一応見てみます。ありがとうございました。
824 :
801 :2007/07/02(月) 00:29:40
825 :
名無しさん@そうだ選挙にいこう :2007/07/02(月) 01:09:51
すいませんちょっと分からないところがあったので質問お願いします。 50 1679 100 1695 150 1780 ・・・ ↑みたいな風にテキストに記述してある数字群を(ズレも忠実に再現) エクセルの2列に渡ってコピペすることは可能でしょうか? つまり、 A | B 50 | 1679 100 | 1695 150 | 1780 みたいな風にペースト出来ますか? どうしても、一つの列に A | B 50 1679 | 100 1695 | 150 1780 | こんな風になってしまいます
>>825 貼り付け時点で真ん中のような状態にしたいなら
VBAでクリップボード内容を取得し、整形した上で貼り付けるしかないが
一番下のような状態で貼り付けた後、簡単に真ん中の状態にする方法で良ければ
メニューの データ > 区切り位置 で出来る
827 :
名無しさん@そうだ選挙にいこう :2007/07/02(月) 01:36:10
できました!ありがとうございました!/(_ _)\
セル番地を必ず指定しなければいけない時とは 例えばどのような時ですか?
>>816 ハイフン・スラッシュが規則正しい位置に入るのか?
それぞれ何個くらい入るのか?
どーせキー操作の出来ない上司に頼まれたと思うが、
1つのキー操作で入力出きるんだから我慢させればいいんじゃないの。
>>828 絶対参照で、だろ?
ある範囲を検索するvlookup関数を、ドラッグしてコピーしていくときなんてそうだよね。
833 :
名無しさん@そうだ選挙にいこう :2007/07/02(月) 14:28:22
VBAで、ショートカットキーの割り当てってどうやって作るの? イベントをどれに設定して、どこにコードを書けば良いんでしょうか?
>>816 オマエ勘違いしてるだろう
ABC123456-99
これ、文字列だろう
ユーザー書式はあくまでも数値に対する書式を設定するものだ
ABCの部分が固定なら書式で設定すれば良いんだがな
すみません、ド忘れしてやり方思い出せないので教えて下さい。 セルA15に数式 =2.724+A15/100000 で計算した値を表示させたいんですけど どうしても数式が入力した数値に上書きされてしまいます。 確か出力セルに直接数値を入力したら上書きされず計算された値が表示される関数があったと思ったんですけど
そんなもんはねえ
837 :
名無しさん@そうだ選挙にいこう :2007/07/02(月) 15:04:42
Excel2007のオートフィルタってすげぇ便利な機能ですね。 俺の仕事ではレコードのあるセルで、「複数」の条件と一致しているものだけ 抜き出せ!みたいなのがあって、コレのおかげですごく楽になった。 VBAで組むほど明確なパターンがなくてその場しのぎの資料で、一つの条件だけだと不便だった。 で、いまお試し期間中なんだが、これはやはり2003では無理な機能なんでしょうか? 保存するときに警告が出ていますが。?
>>837 条件2つなら 2000でもできるが、
3条件以上はしらん
839 :
795 :2007/07/02(月) 16:07:34
>>799 さん
>>795 です
リストは以下のコードで取得しています
新しいシートを追加するとリストボックスに追加される形ですので動的かと思います
リスト自体は削除せず特定のシートだけ表示しないようにしたいのですが可能でしょうか?
Private Sub ListBox1_Change()
With ListBox1
Worksheets(.ListIndex + 1).Activate
End With
End Sub
Private Sub UserForm_Initialize()
Dim wsSheet As Worksheet
For Each wsSheet In Worksheets
ListBox1.AddItem wsSheet.Name
Next wsSheet
End Sub
>>835 ゴールシークの間違いだろうとエスパーしてみる
841 :
名無しさん@そうだ選挙にいこう :2007/07/02(月) 21:45:11
【1 OSの種類 .】 WindowsXP 2nd edition 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 かじった程度 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 ショートカットキー CTRL+SHIFT+↓ Excel2003でCTRL+SHIFT+↓等が使用できなくなってしまいました。 CTRL+SHIFT+ENDは使えるし、↓キーのみでも動くので、キーボードが 壊れたわけでは無いと思っています。 CTRL+SHIFT+↓をどのようにしたら、使えるようになるのでしょうか?
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel97 【3 VBAが使えるか .】 否 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 SUMIF AND 条件 複数指定 日々、次のような商品データを打ちます。 注文した順に下にどんどん足されていきます。 A B C D 発注日 商品名 発注者 個数 7/2 商品1 田中 4 7/2 商品2 佐藤 1 7/2 商品1 田中 2 7/2 商品1 佐藤 4 7/2 商品2 鈴木 1 7/2 商品1 田中 4 7/2 商品1 鈴木 3 7/3 商品1 佐藤 1 ・・・ この時、シート1に入力した発注個数が、日付、担当者、商品ごとに シート2に用意した表に自動計算されるようにしたいのですが、 A B C D E F G 1 商品1 商品2 2 発注日 田中 佐藤 鈴木 田中 佐藤 鈴木 3 7/2 10 4 3 0 1 1 4 7/3 0 1 0 0 0 0 B3から、どんな式を入れていけばいいのでしょうか? 理論としてはB3に=SUMIF(Sheet1!A:D,”日付が7/2、かつ田中、かつ商品1”,Sheet1!D:D)という イメージかと思うのですが、SUMIFの中に複数の条件を指定することは可能でしょうか? また、もっとスマートな式が思いつく方はお願いいたします。
>>841 SHIFTキー5回押したら案外直るかも
>>842 Sheet2の
B3=SUMPRODUCT((Sheet1!$A$2:$A$9=$A3)*(Sheet1!$B$2:$B$9=$B$1)*(Sheet1!$C$2:$C$9=B$2)*(Sheet1!$D$2:$D$9))
C3とD3へコピー
B3:D3を選択し
B4:D4以下へコピー
E3=SUMPRODUCT((Sheet1!$A$2:$A$9=$A3)*(Sheet1!$B$2:$B$9=$E$1)*(Sheet1!$C$2:$C$9=E$2)*(Sheet1!$D$2:$D$9))
F3とG3へ・・・以下同様でどうだ?
>>844 うぉー!できてます!すごい!
配列関数って初めて使いました。
理論がまだよくわかりませんが、いろいろ応用したいと思います。
ありがとうございました。
>>842 =
>>845 これでもいいかな?
B3=SUM(IF(Sheet1!$A$2:$A$9&Sheet1!$B$2:$B$9&Sheet1!$C$2:$C$9=$A3&$B$1&B$2,Sheet1!$D$2:$D$9,0))
Ctrl+Shift+Enterで確定
C3:D3フィルコピー
B4:D4以下フィルコピー
E3=SUM(IF(Sheet1!$A$2:$A$9&Sheet1!$B$2:$B$9&Sheet1!$C$2:$C$9=$A3&$E$1&E$2,Sheet1!$D$2:$D$9,0))
Ctrl+Shift+Enterで確定
F3:G3フィルコピー
E4:G4以下フィルコピー
847 :
842 :2007/07/02(月) 23:01:36
ありがとうございます。 配列関係はとかく敬遠してたんですが、 ちょっと勉強してみます。ありがとうございました。
ある行列をLU分解した時のLとUの求める方法はないでしょうか?
>>848 宿題を人にやってもらおうと思わないようにね。頑張って自分で解きな。
>>849 明らかにエクセルかc言語で解かせるためのような難問(電卓でもかなり掛かる)なんですけど・・・
質問お願いします。 エクセルの数式を入れたのですが、 答えのセルだけ全角にすることはできますか?
>>851 計算結果をJIS関数で全角に変えるのではダメでしょうか?
C1=A1*B1 C列を非表示にして
D1に=JIS(C1) こんな感じで
>>852 うわぁぁ!!
できました!
すごい、ありがとうございます
>>850 つまり、それはExcelではなく数学の問題だろうが。スレ違いなんだよ。
849が何を言おうとしているのか、少しは気付け。
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 いろいろ 以前にも関連する質問をさせていただきました。 exceに顧客ナンバーを打ち込み、そこからワードで作った顧客詳細情報に ハイパーリンクしています。 excelは検索するだけなのでデスクトップの右上に10cm×10cmで表示して いますが、これでクリックするとワードも同じ大きさで出てきます。 クリックした際、ワードがexcelに被さらない様に左画面一杯に表示できる様に なるでしょうか? よろしくお願いします。
857 :
名無しさん@そうだ選挙にいこう :2007/07/03(火) 10:54:41
ショートカットキーのカスタマイズは Excel2003では出来ないのは知ってるんですが (※マクロで実現するのを別として) 、 2007でも出来ないのでしょうか。知ってる方教えてください。
858 :
855 :2007/07/03(火) 11:07:16
>856 以前質問した時、イミディエイトウィンドウにコピペする方法で 教えていただいたのですが、それでも無理でしょうか?
>>858 だって、君自身がVBA使えない【3】だけでなく、VBAコードでの回答も拒否【4】してるんでしょ
>>1 にも丸投げする場合は【4】を「可」にしろって書いてあるのに、君は「否」にしたんだから
それにイミディエイトウィンドウって何だか解ってるの?
これは基本的にデバッグで使うものだよ
もしかしてコードエディタと勘違いしてるのでは?
何にしても、ここでは条件後出し禁止なんで後はご自分で頑張ってね
860 :
855 :2007/07/03(火) 12:33:27
【3】と【4】の関連性も分っていませんでした。 後出しをしたつもりではなかったのですが。 >イミディエイトウィンドウ、デバッグ、コードエディタ 勘違いではなく、これらが何を意味するかも分りません。 マナーの悪い質問の仕方をしてしまったようです。 自分では頑張りようがないので、あきらめます。 お騒がせしました。
【1 OSの種類 .】 WindowsXPsp2 【2 Excelのバージョン 】 Excel2003sp2 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Googleやヘルプでの検索キーワード「文字列」 A1に「0.2*0.5+1.5*5.0」という文字列を入力して、 B1にその答え「7.6」というのを返したいのですが、 何か良い方法はないでしょうか? よろしくお願いいたします。
862 :
名無しさん@そうだ選挙にいこう :2007/07/03(火) 16:56:04
すいません、今日の日付がセルに自動的に入る方法はありますか? よろしくお願いします
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━ 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 エクセル コピー Outlook スペース Worksheets(Data).Range("A1", "A30").Select Selection.Copy 上記のようなA1からA30までのセルの内容をクリップボードに コピーするというマクロを作りました。 クリップボードへのコピー自体はできているのですが、 いざOutlookでメールを書くときに貼り付けると、 各行の左側に半角スペース5個分の空白ができてしまいます。 メールを貼り付けた段階では空白は見えないのに、一度保存したり 相手に送付した内容には、空白ができてしまいます。 1行1行空白を削除するのも大変なので、何とかクリップボードへの コピーの時点でこの謎の空白をなくしたいのですが、 何かよい方法はないでしょうか? 宜しくお願いいたします。
>>863 自信は無いが、Trim関数使うとどうかしら?
AAABBBBCCCCC AAABBBBCCCCC AAABBBBCCCCC のような項目A,B,Cからなる固定長ファイルに対して 1文字目から3文字目、4文字目から7文字目、8文字目から12文字目 を見やすいように別のセルにいれたいんですが、 これってVBA使わないと無理でしょうか?
>>866 の補足ですが
EXCELからファイルを開く際に、
テキストファイルウィザードで区切り桁数を指定してセルに落とし込めますが、
これだと、毎回区切り桁数指定しないとダメですよね?
868 :
名無しさん@そうだ選挙にいこう :2007/07/03(火) 20:22:26
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 簡単な編集程度
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 Excel VBA 256列以上 csv 等
256列以上(1000列程度)のcsvファイルをExcelで開きたいんです。
列数を増やす事ができない事は検索して分かったのですが
255列までをSheet1に、256〜511列をSheet2に、512〜767列をSheet3に…といった感じで開きたいと思っています。
行は10000行程度です。
ttp://www.vbasekai.com/tips.html#tips0043 ↑
のようなサンプルコードを発見して
私のレベルで分かる範囲の編集はしてみたのですが
うまく動きませんでした…。
(39行目で止まってしまい、39行目のコードが理解できませんでした)
Microsoft VBScript Regular Expessionsの参照設定はしています。
お時間のある方で結構ですので
上記コードの編集、新規コードの作成どちらでも構いませんので
ファイルを選択し、256列以上のデータを255列ずつシートに開くVBAを教えて頂けませんでしょうか。
かなりの手間をかけてしまうとは思いますがよろしくお願いします。
シート1の特定のセルに入力した文字、あるいは数字を シート2の特定のセルに自動転機するような関数、あるいは方法はないでしょうか?
=sheet!A シート1の文字、数字をそのまま別の場所に引っ張ってくる場合。 でも、下線なんかはなくなっちゃうけどね。
>>868 VBA殆ど解らないなら、コードサンプル拾ってくるよりアドイン拾ってきた方がいいよ
ttp://www.vector.co.jp/soft/win95/business/se275375.html 「256列以上(1000列程度)のcsvファイルをExcelで開きたい」だけならね
それに、そこのサンプル見る限り、それ書いてる人はあまりVBA詳しくなさそうだからな
はっきり言ってそのコードでは、csvの中のホンの一部しか扱えない
csvにおけるダブルクォーテーションエスケープを考慮してないし
正規表現が不適切なだけでなく、RegExpオブジェクトの使い方も解ってないようだし
もっと細かいところも突っ込めばキリがない
>>870 ありがとう。できました。
シート1に未入力の場合シート2に0がでちゃうのは
仕方無いことですか?
>>873 =if(sheet!A="","",sheet!A)では?
875 :
名無しさん@そうだ選挙にいこう :2007/07/03(火) 23:28:38
EXCEL2003です。 A B 1 あ 1 2 い 2 3 あ 3 4 い 1 5 う 2 6 あ 4 このような表でA列が"あ"でB列が3以上の個数はどうやったら出せますか? 上の表だと3行目と6行目の2が欲しいのですが。
876 :
868 :2007/07/03(火) 23:34:37
>>871 ありがとうございます!!
こんなアドインがあったんですね。
これで充分です!どうもありがとうございました!
ほんと助かりました。
>866 固定長ファイルって何のことやらわからんけど、 MID関数でできることかもしれないね。
>875 COUNTIFかな。
879 :
名無しさん@そうだ選挙にいこう :2007/07/04(水) 00:01:48
すみません、消費税の数式を入力したら、(*0・05)小数点以下をかってに 四捨五入してしまうのですが、小数点以下を切捨てにするにはどうしたらいいでしょうか? よろしくお願いします
>>879 =ROUNDDOWN(A1*0.05,0)
できました! ありがとうございました。
882 :
881 :2007/07/04(水) 00:13:43
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 初心者レベル 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 条件付き書式 条件付き書式を複数設定したセルを別のセルにペーストした際に、ペーストされたセルの条件の プライオリティの順番や条件付き書式内で参照しているセルの値がコピー元と異なる場合があります。 例)A1セルに、以下の条件付き書式を設定 B1 > 5 ならセルの色を青色にする B1 > 3 ならセルの色を黄色にする B1 > 0 ならセルの色を赤色にする →B1が4ならセルは黄色 この条件付き書式を含むセルをコピペすると場合によっては、コピー先の条件の並び順が変更され B1 > 0 ならセルの色を赤色にする B1 > 5 ならセルの色を青色にする B1 > 3 ならセルの色を黄色にする →B1が4ならセルは赤色 B6 > 5 ならセルの色を青色にする C1 > 3 ならセルの色を黄色にする B3 > 0 ならセルの色を赤色にする →参照先が異なるため条件自体が無意味に ひどい時には、このように参照先がバラバラになったりして使い物になりません。 また、並び順や参照先の変わり方の法則性もみつけることができませんでした。 Excel2007のヘルプで調べてみたところ > 【貼り付け、フィル、および書式のコピー/貼り付けが条件付き書式のルールに及ぼす影響】 > ワークシートを編集するときには、条件付き書式が設定されたセルの値をコピーおよび貼り付けたり、 > 条件付き書式が設定されたセル範囲をフィルしたり、書式のコピー/貼り付けを使用したりできます。 > これらの操作を行うと、コピー元のセルに基づいて、コピー先のセルに新しい条件付き書式のルールが > 作成されて、条件付き書式のルールの優先順位に変化が生じる可能性があります。 とあり、どうやら仕様であるらしいのですが、なんとかこれを回避する方法はないのでしょうか? 方法をご存じの方がいらっしゃいましたらご教示願います。長文失礼しました。
>>883 3番目の例は、わからんが、
条件設定がおかしいと思う。
順番が変わっても影響ないように条件変更。
EXCEL2000です。 一つのセルの中に 1192296432 のような数字があるのですが 各桁の合計を出すような関数があればお教えいただけないでしょうか
グラフ作成についての、単純すぎる質問ですが、 まず、棒グラフで、それぞれの棒のあたまに、棒の合計値を乗せることはできますか。。 あと、円グラフを作ったときに、それぞれの扇を、時計回りに降順に並べ替えることって可能ですか。。 どうかお願いします。。
だめだな、こいつら
888 :
886 :2007/07/04(水) 18:29:20
ほんとスミマセン・・・タハ
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 ヒントらしきものが見つけられなかったので質問させて下さい。 A列のように、空白を挟んで数字がランダムに並んでいて、 B列には、A列のセルに数字がある場合、直前の数字と割り算をするという計算をしたいのです。 直前の数字が何かを求めることが出来ればよいとは思うのですが・・・ ご教示お願い致します。 A B(やりたいこと) 1 2 20 3 4 50 (50÷20) 5 6 7 30 (30÷50) 8 9 40 (40÷30) ・ ・ ・
890 :
名無しさん@そうだ選挙にいこう :2007/07/04(水) 20:23:43
1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007,2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 年度間の日付データが入力されているシートがあります。データベース。 これを元に四半期毎の合計した表を作成する必要があります。 いわゆる四半期報告です。 VBAで作ることはもちろんできますが、1年前に作ったシステムで、いちいち直すのが面倒くさいです。 四半期で計算するときに便利な関数とかメソッドってなんかありますか?
891 :
名無しさん@そうだ選挙にいこう :2007/07/04(水) 20:26:44
>>889 さすがにBVAじゃないとNullかどうかの判別難しいんじゃない?
>>875 =SUMPRODUCT((A1:A6="あ")*(B1:B6>=3))
893 :
名無しさん@そうだ選挙にいこう :2007/07/04(水) 20:33:31
矢印キーでセルの移動ができなくなっちゃったんですが、どうしたら できるようになりますか?
>>885 1+1+9+2+2+9+6+4+3+2ってことかい?
そういうのは「関数を探す」のではなく「数式を作る」が正解
{=SUM(VALUE(MID(A1,ROW(INDIRECT("A1:A"&LEN(A1))),1)))}
>>889 B2に
=IF(OR(ISBLANK(A2),COUNT(A$1:A1)=0),"",A2/OFFSET(A$1,MATCH(MAX(A$1:A1)+1,A$1:A1,1)-1,0))
を入れてフィルコピー
>>890 現在どういう表が有って、どういう合計を出したいのか解らないのでなんとも言えないが、単に任意の日付範囲の計算がしたいなら
A B
1 7/1 1
2 7/2 10
3 7/3 100
4 7/4 1000
5 7/5 10000
という場合に7/2〜7/4のB列を合計するとして
=SUM(OFFSET(B1,MATCH(DATE(2007,7,2),A1:A5,0)-1,0,MATCH(DATE(2007,7,4),A1:A5,0)-MATCH(DATE(2007,7,2),A1:A5,0)+1))
そういうことじゃないなら、コピーしたブックから社外に出したらまずいデータ消した上でうpしよう
>>893 ScrollLock
あ、助かりました。ありがとうございました!Scroll Lock でしたか!
896 :
889 :2007/07/04(水) 21:10:58
>>894 ズバリ出来ました!勉強になります。
だいぶ前から悩んでいたので大変助かりました。
ありがとうございました!
>>894 "セルの中 合計"とか"セル内の数字を足す"などでずっとぐぐってました
本当に助かりました
ありがとうございました
898 :
名無しさん@そうだ選挙にいこう :2007/07/04(水) 21:24:40
excel2000 winxp =(COMBIN($B$13,A18)*$D$3^A18*(1-$D$3)^($B$13-A18))/(COMBIN($B$13,A18)*$D$3^A18*(1-$D$3)^($B$13-A18))+(COMBIN($B$13,A18)*$D$4^A18*(1-$D$4)^($B$13-A18)) こんな事を数百行やらせる予定です。 軽くしたいです。 エクセルでは正規表現などによくある後方参照みたいなことはできないのでしょうか? =(COMBIN($B$13,A18)*$D$3^A18*(1-$D$3)^($B$13-A18))/$1+(COMBIN($B$13,A18)*$D$4^A18*(1-$D$4)^($B$13-A18)) ちょっと後方参照とは違いますけど。 式内に同じ式が出る時に何度も同じ計算をさせずに前方でやっている答えをそのままもらいたいのです。 お願いします。
>>898 そういうときは作業セルを使うんだよ
何度も使いたい式を別セルに出しておけば、以後そのセルを参照するだけでいい
1セルで完結させたものが、どんな時でも一番適切とは限らない
900 :
894 :2007/07/04(水) 21:50:45
なんでもききなさいよ
901 :
898 :2007/07/04(水) 21:55:45
>>899 「作業セル」とはなんでしょうか?
俗称?機能?ヘルプには載ってないので便利な使い方の俗称ですよね?
問題は中身が行ごとに微妙に違うということです。
絶対参照のみで構成すれば「作業セル」から参照できると思いますが、
相対参照も絡んでくるので、やはり参照元の位置に応じた中身でないとダメなのです。
それとも作業セルというのは何かの機能で作業セルに書かれてる相対参照が参照元からの相対参照になるのでしょうか?
だとしたら鬼ですね。エクセル^^;今でも十分鬼のように便利だと思いますが。
>>901 例えば
>>894 に書いた890当ての回答に
=SUM(OFFSET(B1,MATCH(DATE(2007,7,2),A1:A5,0)-1,0,MATCH(DATE(2007,7,4),A1:A5,0)-MATCH(DATE(2007,7,2),A1:A5,0)+1))
という式があるけど、これを
B6=MATCH(DATE(2007,7,2),A1:A5,0)
B7=MATCH(DATE(2007,7,4),A1:A5,0)
B8=SUM(OFFSET(B1,B6-1,0,B7-B6+1))
ってすることも出来て、B6、B7が作業セルとなる
前者の式ではMATCH(DATE(2007,7,2),A1:A5,0)の計算が2回出てきてるけど
後者の方法ではこの計算は1回のみ
作業セルは絶対位置にも相対位置にも作れるので、君の想定している問題は発生しない
>>900 いい子だから騙らないでね
これから用があるんで、少なくとも今日はこれが最後になるし
903 :
名無しさん@そうだ選挙にいこう :2007/07/04(水) 23:19:51
すいません 連続データの作成で 「平成1年」から連続にしたいのですがどうすればいいんですか? 「平成1」とか「1年」なら出来るのですが 数字の左右に漢字があるとできないのです
>>903 平成1年
平成2年と書いて、2つのセルをドラッグしたら普通にできた。
又は、右ドラッグして連続データを選択してもおk。
905 :
898 :2007/07/04(水) 23:42:54
>>902 え〜・・・orz
とりあえずvlookup,match,offsetを勉強してきました。
で、件の894,890における作業セルの使い方は理解できました。
でも私のケースとは結構違う話なので、これから応用で私の方でもできるか考えて見ますorz
>それとも作業セルというのは何かの機能で作業セルに書かれてる相対参照が参照元からの相対参照になるのでしょうか?
要は使い方によっては参照元からの相対参照にできる。
いうなれば参照先に参照元から引数に近いものを持ち込めるわけですよね?
>>904 ・・あぅ・・・・出来ない・・・
平成1年
平成2年
平成1年
平成2年
平成1年
平成2年
・
・
ってなっちゃう
907 :
894 :2007/07/05(木) 00:03:46
ユーザー定義を使いなさい
908 :
898 :2007/07/05(木) 01:02:55
>>902 やっぱりできないと思います。
=(COMBIN($B$13,A18)*$D$3^A18*(1-$D$3)^($B$13-A18))/(COMBIN($B$13,A18)*$D$3^A18*(1-$D$3)^($B$13-A18))+(COMBIN($B$13,A18)*$D$4^A18*(1-$D$4)^($B$13-A18))
これを何百行もやるのです。もちろんa18などは相対参照です。
作業セルを1,2個作っても使えるのはその行の時だけです。
何百個も作業セルを作るなら意味ないですypね。
というか冷静に考えたら
>>902 さんは
「エクセルは後方参照的な機能は実装してないから、自分で仮実装しましょう。もちろん自力実装なので多少余分に手間はかかりますけど。」
って話なんですね。きっと。
>>898 なんかもう話がかみあってないみたいだなー。見てるこっちが頭が混乱するよ。
目的が数百行のを軽くするならVBAで計算させたら?
正規表現とか理解してるならVBAも出来るだろうし。
>>911 だな
表計算ソフトごときで参照設定とか言う暇あったら
VBAのループゴリゴリで計算させたほうがよっぽど速い
>>908 例えば
F1=COMBIN($B$13,A18)
G1=($B$13-A18)
H1=A18*(1-$D$4)
J1=(F1*$D$3^H1^G1)
と入力して4つのセルを数百行コピーしたらダメなん?
914 :
名無しさん@そうだ選挙にいこう :2007/07/05(木) 01:36:24
【1 OSの種類 .】 Windowsxp home 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 ・いいえ すみません以下のようなファイルなのですが A B C D E F G H I J K L M N 名前1人目 ↓ 名前500人目 印刷すると1人のデータの項目がありすぎて2枚にまたがってしまいます そこで 名前1人目 A B C D E F G H I J K L M N 名前2人目 A B C D E F G H I J K L M N のようにしたいのですが ひとりづつ行を挿入して切取り貼り付けで改行していくしかありませんか? 自動的に一気にできる技はないでしょうか? よろしくおねがいします
915 :
898 :2007/07/05(木) 02:22:32
>>910-913 いや、今ちょっとエクセルが気に入りかけてるのです。
手軽だなって。大抵のパソに入ってるし。
>>913 いや。その〜・・・・
私の意図が1つでないのが意思疎通を阻害してるのですね。
軽くするのと、スッキリしてるのとが自然にくっついてるのです。
そして
>>902 さんのを見たときに作業セル一つで何百行使いまわせるのかと思って
「最高にスッキリする!さらに1度させて計算はメモリさせておけるから多少軽くなる!」っと思ったのです。
なので902さんの文面からその方法を探ってみたものの。
冷静になってみれば私の勘違いで。
と、まあそういう流れありきの話なのです。すいません。
これにて私の質問は完結ということで。みなさまありがとうございました。
大抵のパソに入ってるのか・・・
>>914 データを折り返す案を回避方法として検討しているみたいだけど、
折り返さずに1ページの横幅に収められれば、その方がベターだよね?
「表示」メニューから「改ページプレビュー」を選ぶと、印刷範囲を
ドラッグ&ドロップで設定できる。
VBA使えば?って言われてるのにエクセルが気に入ってるんですってレス…なんだかなw
919 :
名無しさん@そうだ選挙にいこう :2007/07/05(木) 08:52:46
バージョン2000 日付78.10.17を一括で78/10/17に変更できますか?
置換で変換すればいい。 「.」を「/」に
922 :
名無しさん@そうだ選挙にいこう :2007/07/05(木) 11:15:31
VBA厨ってすげえなあw
924 :
名無しさん@そうだ選挙にいこう :2007/07/05(木) 11:35:23
EXCEL 2000 値に横線がひっぱってあるのを元に戻すにはどうしたらいいですか?
文章が長くなっているので、2通になっています。
Sub 練習()
Dim today As Date
Dim objIE As Object 'IEオブジェクト参照用
Dim objTAG As Object 'TAGのオブジェクトを代入
Dim strURL As String 'URLの文字列
Dim strTAGNAME As String 'タグの名前保存用
Dim y As Integer
Dim x As Integer
Dim objTableItem As Object 'TABLE内のITEM検索用
today = Date
Set objIE = CreateObject("InternetExplorer.application")
objIE.Visible = True
'文字列で指定したURLに飛ぶ
strURL = "
http://www.opticast.co.jp/cgi-bin/kessan.cgi " 'URL
objIE.Navigate strURL 'URLへ
'表示終了まで待つ
Do While objIE.Busy = True
DoEvents
Loop
'今日以降のデータを取り込む
objIE.Document.all("mmm").Value = "Month(today)"
objIE.Document.all("ddd").Value = "Day(today)"
objIE.Document.Forms(0).Submit
'.document から.getElementsByTagName("TABLE")でオブジェクトを取り出す
For Each objTAG In objIE.Document.getElementsByTagName("TABLE")
'TABLEの中、テキスト文字で[時間帯]があるか、子TABLEは無しかチェック
If InStr(objTAG.InnerText, "時間帯") > 0 _
And InStr(objTAG.InnerHTML, "TABLE") = 0 Then '終値在り、TABLE無しか
'新規シートを追加する
Sheets.Add
927 :
926 :2007/07/05(木) 19:16:31
2通目です。
'カウンタの初期化
y = 0 '行カウンタ
'テーブル内のITEMでループする
For Each objTableItem In objTAG.all
strTAGNAME = objTableItem.tagName 'テーブル、タグ名
If strTAGNAME = "TR" Then
y = y + 1 '行カウンタを+1
x = 1 '列カウンタを1(左端にする)
End If
'↓No.177でTHもセットするように変更 TD or THの時
If strTAGNAME = "TD" Or strTAGNAME = "TH" Then
'テキストデータをセットする
Cells(y, x) = objTableItem.InnerText
x = x + 1 '列カウンタを+1(次にする)
End If
Next
End If
Next
End Sub
心優しい方助けてください。
下記URLから今日以降のデータを取得したいのですが、最初の行の表記しか取得できません。
http://www.opticast.co.jp/cgi-bin/kessan.cgi 今日以降のデータも取得できるように編集願えないでしょうか?
できた。わざと条件処理を抜いてあるようだから自分で考えて。
930 :
926 :2007/07/05(木) 21:14:05
>>928 すみません。もうちょっとヒントをお願いします。
933 :
926 :2007/07/05(木) 21:45:54
>>932 自分で作りました
すいません。急いでるので早めにヒントよろしく
934 :
名無しさん@そうだ選挙にいこう :2007/07/05(木) 21:46:28
【1 OSの種類 】 WindowsXP 【2 Excelのバージョン】 Excel2003 【3 VBAが使えるか 】 いいえ 【4 VBAでの回答の可否】否 怠勤管理表を作っているんですが。 A B C 終了時間 退勤時間 残業時間 17:00 18:00 0:00 Cに =FLOOR(B-A,"1:00") ↑これだとCの残業時間が0:00になってしまいます。 残業を1:00しているので1:00と表示させたいので、 よろしくお願いします。
935 :
926 :2007/07/05(木) 22:06:19
>>932 いえ自分で作ったのと違います。
あるHPを見てアレンジしています。
>>933 は、私と違います。
どうやら嫌われているようですね。
936 :
933 :2007/07/05(木) 22:17:37
>>933 別にお前が急いでるとか俺には関係ないからw
だいたいこんなんクエリでもできるじゃねーか
株板帰れ
>>935 まぁ誰でもいいけど、貼ったソースを試した感じじゃ
確かに1行目しか取得できんわな
ヒントとしては、サイトのソースを良く見ろ
それだけじゃマトモに動かないけどね・・・
あと、おまけついでに
>objIE.Document.all("mmm").Value = "Month(today)"
>objIE.Document.all("ddd").Value = "Day(today)"
文字列渡してんぞw
937 :
名無しさん@そうだ選挙にいこう :2007/07/05(木) 22:24:41
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 複数ある商品の写真を指定されたセルに貼り付けていき またそれを違うシートに全く同じ順番で写真を貼りたいとおもってます。 ただし、前者を後者では使用するひな形が全く違い うまく写真だけをリンクさせたいのですがどのようにしたらよかったでしょうか? ご指導お願いいたします。
938 :
926 :2007/07/05(木) 22:25:24
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 エクセルに写真をリンク貼り付けして馬鹿みたいなでかいファイルを作る人がいて困っています 多分2000付属のフォトエディターから貼り付けまくってるんだと思うんですが 張り付けられてしまった画像を通常の画像に変更する方法を教えてください 今やってる方法は以下の通りです 1.張り付いた画像をグループ解除×2回 2.めちゃくちゃに変形した写真を元の形に戻す 3.html形式で保存 4.PNGファイルをJPEGに変換 5.html内のリンク先**.pngから**.jpgに置換 6.excelで再度開いてエクセル形式で保存 jpegに変更しなくてもそこそこ小さくなる場合もあるので 3.から下は更に小さくしたい場合なんですけどこの手順をもっと簡略化出来ないものなんでしょうか 例えばemzファイルを直接jpg変換できればぐっと楽になりますし 何かアイデアください
941 :
名無しさん@そうだ選挙にいこう :2007/07/05(木) 23:09:05
【1 OSの種類 .】 windowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 請求明細書を作成したのですが、印刷用に作成したために 1ページ毎に1件分の明細書になっています。 これを請求書の合計金額、消費税合計、請求者のリストに変更するにはどうしたらいいですか? それと、出来上がった請求書のナンバーを入力すると、そのページが表示されるようにするには どうしたらいいですか?? 会社の上司に頼まれてしまって、よく分からないって言ったんですが、 調べろって怒られてしまって困ってます。助けてください。お願いします。
942 :
名無しさん@そうだ選挙にいこう :2007/07/05(木) 23:11:35
>>941 まず、それだけの情報ではアドバイスできない。数式や配置がわからないため。
社外秘の部分を削除して(もしくはUP用に作り直して)、ブックをアップしたら誰かアドバイスしてくれるかも。
昔アクセスの本でそれと同じようなことを解説したのを読んだだことがあるな。
944 :
941 :2007/07/06(金) 00:12:21
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 キーワードがわからん エクセル使いはじめて3ヶ月ほどです。 シート1〜5あります。 シート1〜4のそれぞれのセル「A1」に入力してある数をシート5のセル「A1」に合計として入れる為の 最も簡単な操作方法を教えてください。 式はわかります。 「外側にドラッグすると連続データを作成します」 と言うのは出来る限り使いますが、セルの大きさが違ったりして出来ないところもあるので 160近くの面倒な作業を繰り返したくないです。 お願いします。
>>945 3D参照or串刺し参照(3D集計or串刺し集計とも言います)
シート5 セルA1を選択
オートSAMをクリック
シート1のA1をクリック
[Shift]キーを押しながらシート見出し シート4をクリック
「=SUM(シート1:シート4'!:A1)」と数式バーに表示されているのを確認後
[Ctrl]キー+[Enter]キーを押す
失礼 [Ctrl]キー+[Enter]キーは複数セルへの入力です A1だけの入力なら[Enter]キーでOK 表を一気に3D集計するなら 上のセルA1を表の範囲全体に読み直して [Ctrl]キー+[Enter]キーで集計できます
>>941 リスト化やナンバー入力表示はVBAを使ったほうが楽だと思う。
手動だと、
リスト化は普通に手で参照していくしかないんじゃないかな?
A3='1'!A7:B7 B3='1'!H39 といれて。表が固定だから39行ごとに増えていく。
A4=='1'!A46:B46 B4=='1'!H78
最近VBAばかりで関数のこと忘れてるから後は他の人に任す。
あと、ページの表示は関数のみではむり。
思ったとおりまんまアクセス向きだよ。やりたいことがそのまま書いてあったよ。
手元に無いから題名がわからいけど、専門書を扱う本屋に行けばおいてあるはず。
>947 お前勘違いw 946でEnterキーが正解 もう一度、串刺し勉強してこいw
945です
>>946 ,947,949
何とかなりそうです。有り難うございました。
ちょっとはやいけど。。。
┌───────────────────────────┐
| :::.゜。 ゜・。゜゜. .. お サ |
| : ::.゜ ゜ ゜゜。・。゜.゜:.. き 星 の サ |
| :::.゜。 ゜・。゜゜. . . ん. . さ き の |
| :::.゜ ゜ ゜゜。・ .ぎ゜. . .ま ば 葉 |
| :::. 。 ゜・。゜ん゜. .. . に |
| : ::.゜ ゜ ゜゜。・き.゜ さ |
| ミ /彡 : す。 ゜ .ら。゜゜.揺 ら |
| ミ、|ミ //彡 . な.゜ 。.き・。 ゜れ さ |
| ミ.|.ミ/ ./.| .ご . . ら る ら |
| |//| [] .:.゜・。゜゜.. |
| ∧_∧ ∧ ∧/ []∧_∧ ∧ ∧.゜。゜゜ . . . |
| (,, ´∀`) (゚Д゚,,) (・∀・ ) (゚ー゚,,) : ゜ . :.|
| ( つ ⊂、 ) (つ と ) ⊂[V⊂l) . : , .|
| | | | | | | | | |-ーj . .|
| (__)_) ∪∪ (_(__) .|__| .|
|''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''|
└───────────────────────────┘
ゴミ貼るなボケ
>>940 ドキュメントの作成手順や画像を貼る際の注意事項を文書として
明文化し、必要であれば説明会を開いたりして周知徹底する。
人を管理する立場なら、まずここから始めるべき。
そうでないなら、「そういう説明の場が必要だ」と上司に相談してみるといい。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 簡単なら可 【5 検索キーワード 】 色々 A列に番号をB列に名前を入れていますが、番号や名前で検索をすると そのセルが黒枠で囲まれ強調表示されます。 マウスでクリックするとハイパーリンクしているワードが開きますが、マウ スを使わずキーボードで開くようにしたいのですが、できるでしょうか? Enterを押すと次のセルに移ってしまいます。 よろしくお願いします。
【1 OSの種類 .】 Windows 2003 Server 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 excel ワークシート 反映 ワークシート1のあるセルの入力をワークシート2に反映させるにはどうすればいいのでしょうか? ワークシート1 D1の内容 「=A1-B1-C1」 ワークシート2 A1の内容=ワークシート1のD1の内容 このような感じです。 お願いします。
>>954 このスレに同種の質問があるよ。
過去レスくらい読めよ。
なんか高校生レベルの質問が増えたな。
どっかの学校の先生が、質問にここを使え、とか生徒に紹介したんかな?
FOR EACH を使って、セル内に入力されている範囲を指定する方法教えてください。
鯖OS使ってる奴がこんなことも出来ないなんて嘘だろ? 2003鯖には結構安いエディションもあるから、お馬鹿な子が訳も分からずに買っちゃったのかな?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 数学的にグラフをよく使います。ツールバー等のおすすめなカスタムを教えてください。
>>957 高校や大学とかなら鯖入ってるところもあるぞ。普通こっちをおもいつかんか?
>>958 よく使うボタンをツールバーに入れています
あなたのよく使うボタンを登録すればいいじゃないか
使わないボタンを登録する必要があるの?
961 :
名無しさん@そうだ選挙にいこう :2007/07/06(金) 13:37:34
今日は回答者のレベルが酷いなwがんばれよww
963 :
名無しさん@そうだ選挙にいこう :2007/07/06(金) 15:21:14
"1-7","1","2" ↑こんな感じのcsvファイルを作りました。 エクセル2000winxpで読み込んで表示させたら1月7日とされました。 こまるので標準表示形式に戻したら 39089 こんな数字に勝手に変換されてしまい、本来の"1-7"という数値が消えてしまいました。 助けてください。どうすればいいですか?
964 :
名無しさん@そうだ選挙にいこう :2007/07/06(金) 17:19:51
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】勉強中です 【4 VBAでの回答の可否】 可 【5 検索キーワード 】フィルタハンドル ダブルクリック マクロ 毎月のルーチンワークを短縮するため、マクロに挑戦中です。 B3からB829までのデータを、C3からC829までVALUE関数で数値化します。 普段はC3だけ書いてフィルタハンドルのダブルクリックで下までコピーしてます。 それをオートマクロでやると、 Selection.AutoFill Destination:=Range("C3:C829") Range("C3:C829").Select となり、C829のところが変数として記述できません。 データ行の数は毎月変化するため、任意の数ではなくフィルタハンドルが検索してくれる変数にしたいんです。 記述方法を教えてください。お願いします。
>>964 Do Loopとか使った方がはやくね?
967 :
941 :2007/07/06(金) 18:43:30
>>948 ありがとうございました。
量が量だけに手作業は無理だと思われます。
できれば、VBAを教えていただけませんか??
回答いただいたのにすみません・・・
968 :
941 :2007/07/06(金) 18:45:59
>>948 ありがとうございます!
やっぱり手動ですか・・・
上司のパソコンにアクセスが入ってないため使えません・・・
VBAではどうやってやるんでしょうか??
質問ばかりで本当にすみません!!
<わからない理由> 1. 読まない ・・・説明などを読まない。 2. 調べない ・・・過去スレ、ググるなど最低限の事をしようとしない。 3. 試さない ・・・めんどくさいなどの理由で実行しない。 4. 理解力が足りない ・・・調べる以前の問題。 5. 人を利用することしか頭にない ・・・甘え根性で乗り切ろうとする。
970 :
963 :2007/07/06(金) 19:09:01
どなたかいますか?
>>963 直接開くと全てのデータが標準形式として読み込まれるから
直接開くんじゃなくて 外部データの取り込み で読み込め
んでもって
カンマやタブなどの区切り文字〜
↓
区切り文字 の スペースにチェック → 文字列の引用符 に "
↓
列のデータ形式 を 文字列
↓
出来上がり
電話番号とか 0で始まる数値の 0が消える場合もこの方法だ、覚えとけ
>>968 >>944 のをダウンロードしてみたけどこれだけじゃなんにもわからない
伝票形式のカード型を年月日毎の一覧にしたいって意味ならループで回す
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 条件付き書式 フィルタオプションの設定 sheet1で条件付き書式を設定し、最大値に色をつけたものが有り これを、フィルタオプションの設定で別シートに抽出した場合 条件付き書式で設定した色データが消えてしまいます・・・。 上手い事、色データを消さずに抽出する方法は無いでしょうか?
974 :
名無しさん@そうだ選挙にいこう :2007/07/06(金) 21:30:53
携帯から失礼します。 セルA1からD1にRAND関数で乱数を作りました。 セルF1に=SUM(A1〜D1)の式を入れました。 VBAでRange(゛G1゛).Value=Range(゛F1゛).Value と記述して実行すると G1に全然違う数字が出て来るのですが、何故でしょうか?どなたかご教授下さい。
>>959 やっぱそういうことだろうな。
どこのカスがこんな低レベルな奴らをこっちにたらい回しにしてるんだろう。
頭にくるな。
>>974 VBAでセルの値の書き換えをしてるわけだが、自動計算が有効(デフォルト)だと
セルの値を書き換えたときに再計算が行われる
(1) 乱数計算、合計計算
(2) VBAで値の書き換え
(3) 乱数再計算、合計再計算
G1には(1)の合計結果が代入され、F1には(3)の再計算後の結果が表示される
「全然違う数字」ではなく「前回の数字」になってることくらい気付きそうなものだが
977 :
943 :2007/07/06(金) 21:49:01
初心者が多く利用する質問スレは、目に付くようにage推奨 固定住人で馴れ合ってるネタスレや雑談スレは、それらの邪魔にならないようにsage推奨 なんでもかんでもsageろと言うsage厨というのは、未だに僅かに存在してるようだけど ここは「sageずにageた方がいいよ」と指摘してもいくらいのスレだよ 昔はリスト上位スレに宣伝コピペがされたから、それの防止策としてこぞってsageてたが 今は勢い上位スレが宣伝の対象になってるし、宣伝自体も以前ほど多くないので こういうスレをsageるのは無意味 板の質によっては厨弾きとしてのsage進行もあるけど、ここはそういう板じゃないし 厨と同時に質問に着た初心者も弾いてたら本末転倒
981 :
名無しさん@そうだ選挙にいこう :2007/07/06(金) 22:31:32
>>976 ありがとうございます。
そうですよね。乱数は変わるから計算結果も変わって当然ですよね。
値だけコピーして乱数を外したら上手く行きました。ありがとうございました。
ume
983 :
963 :2007/07/06(金) 23:39:19
>>959 サバを生徒に使わせてるのか?
モラルのない学校だな。
>>984 生徒に質問されて答えれない教員ぢゃネェの?
>>973 条件付書式はあくまでも設定したセルに対して行なわれるものだから
抽出先でも同じ設定をするしかない
987 :
973 :2007/07/07(土) 01:54:36
>>986 そうですか・・・。
最大値なので抽出した先では結果が変わってしまうんです。
とりあえず、発想を変えて降順で並べ替えて色塗るマクロ組んでみます。
ありがとうございました。
>>987 「セルの値が」 で設定してるなら、それを 「数式が」 の形に直せばOK
条件付書式で他のシートを参照できないというエラーが出るだろうから、
参照したい範囲に名前を付けて、名前で参照するようにしてしまえ!
そうすれば他のシートでも参照できるようになる。
例:参照範囲 Sheet1!A1:A10、最大値の時の書式を設定
Sheet1の A1 から A10 を選択(またはSheet1を開いて左上の名前ボックスに A1:A100 と入力して Enter)
左上の名前ボックスに 参照1 と入力して Enter
Sheet2の A1 に条件付書式を設定
[ 式が ] [ =MAX(参照1)=A1 ]
お好みに合わせて書式を設定
など
うめ
990 :
名無しさん@そうだ選挙にいこう :2007/07/07(土) 08:44:31
さくら
もも
ちち
ちんちん
>>3 >>6 どこが違うの?
Worksheets ”← ココ”
”← ココ”を追加すれば言いだけなのか?
訂正版 Application ├Workbooks |└Workbook | ├Worksheets | |└Worksheet
-------------------- 書込み中・・・ -------------------- ERROR! ERROR:新このホストでは、しばらくスレッドが立てられません。 またの機会にどうぞ。。。 名無しさん@そうだ選挙にいこう (1) 他の人よろしく
あと30分・・・
1000 土曜も仕事はつらいわ
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。