Excelに関する質問は、ここで!
/)_/) ( ・分かる人はできるだけ回答して下さいませ。
< ゚ _・゚> .。oO( ・回答がなくてもキレないで。急いでいても催促は3日以上開けて。
ノ) / | ( ・自己解決したらその解決手段を他の人の参考の為に書いてね。
\(_,,,_,,,)
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★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を使うのは避けたいって場合は「否」にしましょう。
「VBAって何?」って場合はとりあえず「否」に。よくわからないけど使ってみたいってなら
「可」にして、
>>10-15 あたりの解説を参考に使ってみよう。
※人大杉でテンプレ・Q&A・ログが読めない場合は、2chブラウザを導入するか、下記のログを読みましょう。
・前スレログ
http://makimo.to/cgi-bin/dat2html/dat2html.cgi?pc8/2/bsoft/1131287690/ ・現スレログ 上のURLの末尾の数字10桁を現スレのものに書き換え。
現スレURLは「
>>1 」←これを右クリックしてプロパティを選択すると表示されます。
・前スレ
http://pc8.2ch.net/test/read.cgi/bsoft/1131287690/
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━ ・1 現行スレ内で既出の質問が無いか、ページ内検索をしよう。(Ctrl+F) ・2 図やコードを書く場合、TABや連続する半角スペースは無視されるので注意 ・3 VBAコードを貼る場合は、部分的に伏せたり省略したりせずに全て貼りましょう。 ・4 2回目以降の質問では名前欄に初回質問の番号を入れよう。 ・5 回答内容でわからない部分があっても、すぐに聞き返さずにヘルプやGoogleなどで検索しましょう。 ・6 バグ・動作上の不都合などはマイクロソフトのサポートを受けましょう。ここは技術的な質問のみで。 ・7 VBAはプログラム言語のVisualBasic(6以前)に近い処理が可能で Excelに関係ない処理も出来ます。 Excelの操作に関係ない部分は、VBスレやAPIスレなどの該当スレで質問しましょう。 ・8 うまくいかなかったにしても自分でやってみたこと(組んだ数式やコード)は書きましょう。 例えエラーになる式やコードでも、何をやりたいのかを的確に把握する手がかりになります。 その上で、どううまくいかないのかを具体的に書きましょう。 エラーが出るなら、何処でどういうエラーが出るのか、 想定外の結果が出るなら、条件と想定上の結果、実際の結果などを詳しく書いてください。 ・9 マルチはダメ。 ※ 必要情報を書かなかった場合は、回答者が勝手に解釈して答えることもあります。 情報や条件は最初の質問時にきちんと書きましょう。 情報条件なんて聞かれてから後出しすればいいなんて思わないように。 指摘されてから書き直しても、その質問にはまともな回答が付かないと思ってください。 ここは、きちんとマナーを守ってる質問者には「・分かる人はできるだけ回答して下さいませ。」というスレです。 明記してある質問マナーすら守らない人に、丁寧な回答を付ける義理なんてありませんから。
= FAQ: 基本 =
Q1:こんな関数ありませんか?
A1:「関数の挿入」にある検索機能や、ヘルプの検索を利用しましょう。
Q2:数式がエラーを返すんですけど
A2:関数をネストせず、数式を分解してみてください。
どの関数がエラーになっているのか解れば、その関数の参照先や、
ヘルプなどを見て大抵は簡単に解決できます。
Q3:計算結果やセルの値によって自動で書式を変更したいんですが
A3:条件付き書式を利用してください。
数値比較で文字色のみの指定なら表示形式でもできます。
Q4:計算結果やセルの値によって表示形式を変えたいのですが
A4:表示形式のユーザー設定で複数条件の表示形式を指定できます。
基本形式は「正の数;負の数;0の場合;文字の場合」です。(;は半角で)
又は「[>=70]70以上の場合;[>=50]50以上の場合;50未満の場合;文字の場合」というような指定も出来ます。
書式記号などに関することはヘルプを参照しましょう。
Q:5計算結果が自動で更新されなくなったんですが、どうすれば直せますか
A:5Excel(2002?)の不都合で、計算方法が手動になってしまうことがあるようです。
ツール > オプション > 計算方法
で、計算方法を自動にすることで元にもどります。
参考URL:
ttp://support.microsoft.com/default.aspx?scid=kb;ja;817716
= FAQ: 列の表示について = Q:列名がA,B,C,D,Eではなく、1,2,3,4,5になってしまいました。 アルファベットに戻すにはどうしたらいいですか? A:ツールメニュー:「オプション」 -「全般」タグで 『R1C1 参照形式を使用する(C)』のチェックを外せば直ります。 Q:列を256個(IV列)よりたくさん広げることはできませんか? A:エクセルのシートは65536行×256列が仕様上の上限です。 シートを分けるとか、行と列を入れ替えるとか、データの方をまとめるとか、 列数を増やさない方向で工夫するしかありません。 Q:ひとつのブックにシートは何枚作成出来ますか? A:物理メモリ容量やシートの内容に依存します。 = FAQ: 印刷プレビュー = Q:印刷プレビューではセル内に収まっていた文字が 実際に印刷してみるとはみ出してしまうのですが、 何とかなりませんか? A:「印刷プレビューと印刷結果が一致しない」のは 昔からのExcelの弱点で、どうにもなりません。 セルの幅や高さに余裕を持たせるか、 書式設定で「縮小して全体を表示する」にチェックを入れましょう。 = FAQ: マクロの”削除” = Q:マクロを削除したのに、ファイルを開くたびにセキュリティの確認が出ます。 A:モジュールの解放が必要。 【モジュールの解放方法】Alt+F11→Ctrl+R→Module1を右クリック→解放 それでもセキュリティの確認が出る場合は、同じくMicrosoft Excel Objects以下の Sheet*及びThisWorkbookに何か書かれてないか確認してください。
= FAQ: 条件によって表示を変更するには? = Q:セルの内容を判断して、表示を変えたい A: IF関数を使います。 =if(条件,条件が成立した場合,成立しなかった場合) 例1:基本 セルA1が1の場合○、それ以外の場合×を表示 =IF(A1=1,"○","×") 例2:if文の中にif文 A1が、1の場合○、2の場合△、それ以外×。 =IF(A1=1,"○",IF(A1=2,"△","×")) 例3:ANDやOR活用 A1が、4〜6の場合は、普通と表示 =IF(AND(A1>3,A1<7),"普通","少ないか多い") 例4:計算も出来る A1が10までなら、A1を10倍して表示、それ以外なら2を引く。 =IF(A1<11,A1*10,A1-2) 例5:対象が空欄なら表示も空欄にする A1が空欄なら結果は何も表示しない、それ以外ならA1から2を引く。 =IF(A1="","",A1-2) =IF(ISBLANK(A1),"",A1-2) 詳しくはヘルプを参照しましょう。
= FAQ: グラフについて = Q1:データの空白部分があって、そこで折れ線が切れてしまいます。 繋げたいのですが如何したらいいでしょうか? A1:グラフを選択>ツール>オプション>グラフ>空白セルのプロット「補間してプロットする」にチェック Q2:棒グラフに重ねて、折れ線グラフを表示するにはどうしたらいいのでしょうか? A2:最初、すべてのデータを棒グラフで作成。 次に、折れ線で表わしたいデータ系列のどこかを、グラフ上で右クリック サブメニュー>グラフの種類>折れ線>OK Q3:ある系列だけ、縦軸を別にしたいです。 A3:その系列のどこかを、グラフ上で右クリック データ系列の書式設定>軸>使用する軸「第2軸」にチェック>OK = FAQ: 入力した値が変わる? = Q:セルに入力した値が勝手に変わってしまうのですが 入力したままの形で表示させるにはどうしたらいいですか? A:数字でよくあるケース(先頭のゼロが消えてしまう、日付として解釈されてしまう) 入力する時、先頭にアポストロフィ(')をつけるか、 該当するセルで右クリック−「セルの書式設定」−「表示形式」で「文字列」を選択。 文字列ではなく数値として扱いたいときは 「セルの書式設定」−「表示形式」で「ユーザー定義」を選択し、工夫する。 A:文字でよくあるケース(i⇒I、teh⇒the、cna→can など) ツール→オートコレクト→入力中にオートコレクト の該当する箇所を削除。
= FAQ: 行列の入れ替え = Q:エクセルで作った表が横方向に多くなってきたので 行と列を入れ替えたいのですが。 A:コピーして、適当なセルで右クリック。 形式を選択して貼り付け→行列を入れ替える。 = FAQ: 参照するシートやセルをセルの値で指定する = Q:A1に「5」とか「6」とか指定する値を変えたら B1の関数で「C5」とか「C6」とか参照先が変わるようにできませんか? A:INDIRECT関数を使ってみましょう。 詳しくはヘルプで「INDIRECT」を検索 = FAQ: 参照先を固定する = Q:数式が参照するセルを削除すると参照先が「=#REF!」になってしまうますが セルを削除しても同じセルを参照するようにするにはどうすればようですか A:INDIRECT関数を使ってみましょう。 =A1 => =INDIRECT("A1") = FAQ: ブラウザの変更 = Q:Excelでアドレスをクリックした時に開くブラウザをIEからSleipnirなどに変更したい。 A:スレ違いです。 開きたいブラウザの設定画面でそのブラウザを通常使うブラウザに指定してください。 ※ブラウザからの設定だけではきちんと設定出来ない場合もあります。 詳しい情報をお持ちの方はこのスレにてご一報ください。
= FAQ: セル内での改行 = Q:セル内で改行したいんですがどうすればいいでしょうか A:改行したい位置でAltを押しながらEnterを押せばセル内改行できます。 = FAQ: ワイルドカード文字の検索・置換 = Q:* 、 ? で検索するとワイルドカードとして認識されてしまいますが、 * 、 ? の文字自体を検索するにはどうすればよいですか? A: ~* 、 ~? のように、頭に ~ を付けることでエスケープ出来ます。 A:全角で*と入力し「半角と全角を区別する。」のチェックを外して検索する (全角なのでワイルドカードとしては使われないが 全半角を区別しないので文字として"*"にはヒットする。) = 整数と時間の相互変換 = Q:1:30を1.5に変換したい、30を0:30に変換したい A:シリアル値の「1」は1日=24時間=1440分=86400秒です。 以下のような計算やTIME関数などで変換できます。 値(A1) 結果 式 1:30 1.5 =A1*24 0:30 30 =A1*1440 2:30 250 =A1*100*24 1.75 1:45 =A1/24 30 0:30 =A1/1440 25 0:15 =A1/100/24 30 0:30 =TIME(0,A1,0) (変換計算しただけでは表示形式は変わらないので、セルの表示形式は任意で変更しましょう)
= FAQ:時刻の入力 = Q:時刻をテンキーで入力するとき:を入力するのが面倒なのですが、 なにか良い方法はありませんか? A:「 ..」や「.」を「:」に置き換える方法をお試しください 1) オートコレクトで..を:に置き換える →自動で置換されるので手間は少ないが..を使う他の入力にも影響する 2) 「時..分」で入力しておいて、後から「編集 > 置換」で範囲指定で一括置換する →置換に一手間掛かるが、他への影響は無い (「時.分」だと分の1桁目が0の場合狂ってしまう) 3) VBAのWorksheet_Changeイベントで置換する →置換する範囲を指定すれば他への影響もなく置換も自動、入力も.ひとつでOK 参考コード(入力は「時.分」) Private Sub Worksheet_Change(ByVal Target As Range) Dim buf As Variant Application.EnableEvents = False buf = Split(Target.Value, ".") Target.Value = buf(0) & ":" & Left(buf(1) & "0", 2) Application.EnableEvents = True End Sub = FAQ:シート名やブック名の書きだし = Q:シート名(ブック名)をセルに書き出したいのですが、どうすればよいですか? A:シート名 =MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,31) ブック名 =MID(CELL("filename",A1),FIND("[",CELL("filename",A1))+1,FIND("]",CELL("filename",A1))-FIND("[",CELL("filename",A1))-1) = トラブル = Q:方向キーやPageUp、PageDownでアクティブセルが移動するのではなくスクロールしてしまいます。 A:Scroll Lockというキーを押してみてください。
★VBAでの回答をもらったり、Webからサンプルコードを拾ったけど、 使い方がわからないって場合はここを参考に。 Step1 VisualBasicEditorの起動 メニューより、[ツール → マクロ → VisualBasicEditor]と辿ってください。 Step2-a コードを貼る マクロはその内容によって、置く場所が決まっています。 大抵は回答者が指定してくれたり、サンプルの中にコメントとして書いてあったりするのでそれに従いましょう。 指定がない物は基本的に「Private Sub Worksheet_」で始まる物はシートオブジェクトに、 「Private Sub Workbook_」で始まる物はブックオブジェクトに、それ以外は基本的に標準モジュールに置いてください。 (ツリーの該当部分をダブルクリックして、表示されたコードウィンドウにコードを張り付けます) ├VBAProject (hoge.xls) ←括弧内がブック名、以下がひとつのプロジェクトになります |├Microsoft Excel Object ||├Sheet1 (Sheet1) ←シートオブジェクト(左側がオブジェクト名で、右側の括弧内がシート名です) ||├Sheet2 (Sheet2) ||└ThisWorkbook ←ブックオブジェクト |└標準モジュール | └Module1 ←標準モジュール(※) └VBAProject (Personal.xls) ←個人用マクロブック ├Microsoft Excel Object |├Sheet1 (Sheet1) |└ThisWorkbook ←個人用マクロブックのブックオブジェクト └標準モジュール └Module1 ←個人用マクロブックの標準モジュール ※ 標準モジュールを追加するには、追加したいプロジェクトツリー上で右クリックし、 メニューから[挿入 → 標準モジュール]を選択してください。
Step2-b ボタンに登録する。 通常、イベントで動かすマクロ以外は、マクロの一覧から選択して実行しますが、 頻繁に使う場合や、他の人が操作する場合はシート上のボタンを押して実行できるようにすると便利です。 まず、メニューから[表示 → ツールバー → フォーム]と辿ってフォームツールバーを出し、 ボタンアイコンを押して、適当な場所にボタンを作ります。 ボタンを作ると自動的に[マクロの登録]というダイアログが立ち上がるので、 (立ち上がらない場合はボタンを右クリックして[マクロの登録]を選択) [新規作成]を押して表示されたコードウィンドウのカーソル位置にコードを張り付けます。 既存のマクロを登録する場合は、[マクロの登録]で一覧から選択して、[OK]を押してください。 Step3 マクロの実行 ボタンに登録したものは、ボタンを押せば実行されます。 イベントで動かすものは、所定操作をした時に自動で実行されます。 それ以外はメニューから[ツール → マクロ → マクロ]と辿って表示されたマクロの一覧から選択して実行します。 Step4 トラブルが起きたら トラブルを自己解決出来ない場合は、 ・エラーが出る条件 (どうやってもエラーが出る、〜をしたときにエラーが出る、等) ・エラーメッセージ (ダイアログ上でCtrl+Cを押せばメッセージをコピー出来ます) ・エラーが出る位置 (エラーダイアログ上で[デバッグ]を選択すると、エラー位置がハイライトされます) などを報告しましょう。 また、期待通りの動作をしない場合も、条件や想定上の結果と実際の結果の内容など詳しく書きましょう。
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法) ▼環境・書式 ・ 列数を256列以上、行数を65536行以上に増やす ・ 条件付き書式を3つ以上設定する (文字色だけなら、入力規則でも3つ設定可能。それ以外はVBA) ・ 行の高さを0.25きざみ以下の単位で指定する ・ セル内の文字を○で囲む、一部のみ2段にする (オートシェイプ、オブジェクト) ・ オートフィルタで英字の大小文字を区別する (小文字 → 半角、大文字 → 全角、と使い分ける) ・ 祝日を判断する (作業セルに祝日を列挙、VBA) ・ 同一列内でセル(行)ごとに列幅を変える、同一行内でセル(列)ごとに列高を変える (セルの結合) ・ ヘッダー・フッターのページ番号の開始番号任意指定、ページ番号演算、同シート内で違ったものを指定など ▼操作 ・ ファイラーの右クリックメニューからの新規作成で、Excelで設定したシート数のブックを作る (任意のシート数のテンプレートを作成) ・ 複数シートを選択して入力規則やシートの保護を設定する (VBA) ・ オートコンプリート機能を、別列や離れたセルで動作させる (VBA) ・ 選択範囲から一部を除く ・ 優先キーを3つ以上指定しての並べ替え (優先度の低い方から順に並べ替える) ・ 1セルを分割 (分割したいセル以外を結合) ▼数式・関数 ・ 表示形式以外の書式の取得設定、書式情報を条件とする数式 (ユーザー定義関数) ・ 関数式でセルの選択状態を取得する (VBA) ・ セルの値でパスを補完して、開いてないブックのセルを参照する (VBA) ・ 入力したセルに結果を返す (VBA) ・ 範囲を引数にしての文字列連結 (ユーザー定義関数) ・ 値の書き換え、値の保持 (VBA) ・ 複数の結果を抽出、不定な数の結果を返す (VBA、結果の最大数が解っていれば最大数以上の式を論理式で組む) ・ 空白のセルの部分を上詰め、左詰めなどで表示する (作業セルを使って別セルに詰めて表示なら可能、それ以外はVBA)
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法) ▼VBA ・ ExecuteExcel4Macroの参照で空セルと0値を区別する ・ セルの値や変数値で直接変数名を指定する (配列、コレクション) ▼ユーザーフォーム ・ フォーム上から変更したプロパティ値の保持 (シートや外部ファイルに書き出して、次回読み込む) ▼グラフ ・ 棒グラフでひとつだけ突出したデータがあった場合に波線を入れて位置を合わせる (オートシェイプなどで見た目だけそうなるように弄る、別アプリでグラフを作り、オブジェクトとして挿入) ┌┐ 〜〜 ||
16 :
こんち3 :2005/12/08(木) 11:58:35
エクセルのパーセントの表示について質問です。 AとBという数値の増減の率を出すときに AかBのどちらかか、または両方がマイナスの数値の場合、パーセントを 表示しない(ブランクにする)というような事はできますか? よろしくお願いします。
17 :
名無しさん@そうだ選挙にいこう :2005/12/08(木) 12:24:28
Excel VBA でMSCommを使おうとしていますが、 On_commイベントでの受信ができません。 Windows XP Pro SP2, Excel 2003 SP1, VBA(VB6.0相当?) PC: Excel使用, 外部装置:何か来ると、ステータスを返す 以下のプロシージャで"hoge"が送れました。 Private Sub Command1_Click() Set mscomm1 = CreateObject("MSCOMMLib.MSComm.1") mscomm1.CommPort = 1 mscomm1.Settings = "9600,N,8,1" mscomm1.PortOpen = True mscomm1.Output = "hoge" mscomm1.PortOpen = False End Sub 外部装置からステータスが返ってきますが、下のイベントは発生しません。 Sub MSComm1_OnComm() MsgBox "fuga" End Sub Comman1_Click() 内で Wait を使うと拾えます。 If Application.Wait(Now + TimeValue("0:00:1")) Then data = mscomm1.Input End If アドバイスお願いします。
18 :
名無しさん@そうだ選挙にいこう :2005/12/08(木) 13:59:46
Excel 97で 列(行)を選択して「編集」- 「削除」をしても 削除できないのですが、どなたかお判りでしたら 教えて下さい。 古いバージョンですみません。
20 :
名無しさん@そうだ選挙にいこう :2005/12/08(木) 18:09:20
【1 OSの種類 .】 Mac OS X 10.3 【2 Excelのバージョン 】 Excel 2004 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 ブックAとブックBがあり、ブックAのC列に、ブックBのC列を自動入力するようにするにはどのようにしたらよいでしょうか? よろしくお願いします。
21 :
名無しさん@そうだ選挙にいこう :2005/12/08(木) 18:33:14
ある範囲内の数値のどれか1つと一致すればTrueになる条件式ってどう作成すればよいでしょうか? なるべく関数でお願いします。エクセルは2002です。
22 :
20 :2005/12/08(木) 18:55:52
すみません、20です。 方法が分かったのですが、例えばブックAのC列の2行目以降全てをブックBのC列3行目以降に自動入力する方法がわかりません。ご存知の方よろしくお願いします。
>>21 =COUNTIF()>0
又は
=ISNUMBER(MATCH())
>>22 ブックAのC列の2行目以降全て『の何』を
ブックBのC列3行目以降に『何をしたときに』自動入力したいの?
「2行目以降全てのセルの値を」とか、「書式も含めて」とか
「ボタンを押したときに自動入力」とか、「ブックを開いたら」とか
コード丸投げするのはいいけど、丸投げするなら情報も丸投げしてくれ
おまえの頭の中では、何がしたいのかがはっきりしてるから細かく書かなくても脳内補完出来てるんだろうけど
第三者から見たら、ちゃんと指定してくれないと解らない条件だらけだよ
24 :
名無しさん@そうだ選挙にいこう :2005/12/08(木) 20:26:19
【1 OSの種類 .】 windows98 【2 Excelのバージョン 】 Excel 2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 ひとつのIDに対し3つの取引先があり、金額が違います。 ID,取引先,単価 は表にしてあります。 111 a社 5 111 b社 10 111 c社 15 222 a社 30 222 b社 20 日報でID,取引先を入力したらその取引先の金額を出すにはどうしたらいいですか? 宜しくお願いいたします。
>>24 ID,取引先,単価の表に、「=ID&取引先」の列を作る
A列がID、B列が取引先なら=A1&B1
で、INDEXとMATCHを使って、入力された値を繋げた物を条件に検索する
または配列数式で同じ事をやる
26 :
名無しさん@そうだ選挙にいこう :2005/12/08(木) 21:29:21
>>25 ありがとうございます
VLOOKUPやifなど違う関数でやっていました
これからINDEXとMATCHを勉強してみます
難しそう…
27 :
名無しさん@そうだ選挙にいこう :2005/12/08(木) 22:01:34
極座標グラフを作りたいのですが、EXCELで作る方法はありますか? ヘルプを見てもわかりませんでした。 極座標グラフは、レーダーのような形なんですが円形のグラフです。 平面チャートを作って、画像処理ソフトで円形に変換するしか 方法はないんでしょうか?
>>25 度々すみません、24です
INDEXとMATCHでできました
本当にありがとうございました
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 実権から得たデータで2曲線の交点を求めたいのですが 一番簡単にやるにはどうしたらいいでしょうか?
30 :
名無しさん@そうだ選挙にいこう :2005/12/09(金) 09:29:25
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン】 Excel 2002 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 はい VBAの質問です。 GetCustomListNumメソッドのあとに直接リストの文字列を書き込む方法はあるのでしょうか? 本にはListArrayにバリアント型の変数を代入する方法しか書いていなかったので、 どなたかお教え下さい。
>>27 > ヘルプを見てもわかりませんでした。
Excelは極座標グラフに対応してないから、ヘルプに載ってないのは当然
> 平面チャートを作って、画像処理ソフトで円形に変換するしか
> 方法はないんでしょうか?
他にも方法はあるけど(VB(A)でごりごり書くとか)、Excelの標準グラフのようには作れない
>>29 一番簡単な方法は、おまえ自身がそれを簡単に出来るレベルになること
因みにここは数学スレじゃないので、計算方法などについてはスレ違い
計算方法が解ってる上で、それをExcel上でどう表現したら良いか解らないってならこのスレの分野だけどね
>>30 .GetCustomListNum(Array("リスト", "ですが", "何か?"))
じゃダメなの?
32 :
名無しさん@そうだ選挙にいこう :2005/12/09(金) 10:40:06
>>31 30ですが、できました!
さっき自分でした時はできなかったのに…というかどこかおかしかったんでしょうね;
助かりました、ありがとうございます!
33 :
名無しさん@そうだ選挙にいこう :2005/12/09(金) 11:07:40
【1 OSの種類 .】 win200,winxp 【2 Excelのバージョン 】 Excel 2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 マクロの途中でa(変数?)を指定してそれに対して処理をしたいのですが オートフィルタのオプションからaを指定するにはどうすればよいのでしょうか
具体的に何がしたいのか書こう 日本語を勉強しよう win200なんて大昔のOSは捨てよう
35 :
33 :2005/12/09(金) 11:41:54
Selection.AutoFilter Field:=?, Criteria1:="?", Operator:=? マクロの途中で?の値を都度選択したいということです
>>31 計算方法は分かります
式を作ってやるのも方法ですが曲線を描いたのだから
それの上に座標表示とかされないのか、と思ったのです
>>35 > 値を都度選択したい
普通に変数使えばいいじゃん
変数に格納する値をどう得るかはお好きなように
ユーザーフォームにしてもいいし、セルから得てもいいし
>>36 > それの上に座標表示とかされないのか
ExcelはCADじゃありませんからそんな機能はありませんよ
38 :
名無しさん@そうだ選挙にいこう :2005/12/09(金) 12:21:06
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 excel 罫線 線幅 excelで罫線の線幅(印刷時に0.01mmや0.05mm等)の指定って出来ないのですか?
39 :
33 :2005/12/09(金) 12:26:58
>>37 ありがとうございます
Criteria1:="?", Operator:=? の値をプルダウンで表示された中から取得したいのですが
その記述がわからないのです
>>38 ExcelはCADじゃないので出来ません
>>39 Dim 変数1, 変数2
変数1 = プルダウンリストで選択されてるCriteria1用の値
変数2 = プルダウンリストで選択されてるOperator用の値
Criteria1:=変数1, Operator:=変数2
因みにプルダウンリストに何使ってるのか書いてないので
値の取得方法は教えられない
まあ、このくらいは自分で調べられるでしょ
41 :
33 :2005/12/09(金) 13:39:45
>>40 またまたありがとうこざいます
プルダウンリストはオートフィルタオプションの抽出条件の指定です
流れとしては上記のダイアログが出て一時停止(入力待ち)
ここで抽出条件の指定をプルダウンした中から変数用の値を取得
そしてOKボタンで次の処理に行くというイメージなんですが・・・
「プルダウンリストで選択されてるCriteria1用の値」に
「オートフィルタオプションの抽出条件」内のプルダウンで表示されたリストの値を代入したいということです
なんどもスイマセンです
42 :
33 :2005/12/09(金) 13:48:12
訂正というか書き足しです スマソ 「プルダウンリストで選択されてるCriteria1用の値」に 「オートフィルタオプションの抽出条件」内のプルダウンで表示されたリストの 「中から任意に選んだ」 値を代入したいということです
>>41 オートフィルタオプションで指定した値は外部から取得不可能
同等のものをユーザーフォームで実装しましょう
回答する前に日本語くらい理解しろよ
44
【1 OSの種類 .】 windowsXP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 入力するとき、リストから選択したいのです。 「データ」→「入力規則」→(入力値の種類が)「リスト」→ 「ドロップダウンリストから選択」のときに出る▼ボタンを出さず、 セルを選択するだけで、リストが出るようにするには どうしたらよいでしょうか? よろしくお願いします。
>>43 ん〜、そうなんですか
オートフィルタ使えればその方が楽だと思ったもので
ありがとうございました
48 :
名無しさん@そうだ選挙にいこう :2005/12/10(土) 15:51:01
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel 2000 【3 VBAが使えるか .】 ググりながら少しだけ 【4 VBAでの回答の可否】 可 ブック『test.xls』の『data01』シートに、外部にあらかじめ保存しておいた別の ブックのデータを複写しようとしています。 外部のブックは『ファイルを開く』で任意に選択し、その外部のブックの中にある 『data01』シートから、『test.xls』の『data01』シートにコピーするところまで は出来ました。 その後、外部のブックはそのまま閉じたいのですが、以下のコードでは fileToOpen.Close のところで「オブジェクトが必要です」と怒られます。 Workbooks(fileToOpen).Close False でもダメでググり続けていますが行き詰まってしまいました。 怒られずに閉じる記述をアドバイスください。 Private Sub CommandButton16_Click() fileToOpen = Application.GetOpenFilename("Excel ファイル (*.xls), *.xls") Workbooks.Open fileToOpen ActiveSheet.Range("W9:AG33").Copy Workbooks("test.xls").Worksheets("data01").Range("W9:AG33").PasteSpecial Workbooks("test.xls").Worksheets("data01").Range("W9:AG33").Replace _ What:="#", Replacement:="=", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False fileToOpen.Close End Sub Replaseは、別のPCに持っていっても数式の参照が変わらないようにする為に、 外部に書き出す時に『=』を『#』に置換したものを戻す為に記述しています。
49 :
48 :2005/12/10(土) 16:07:38
ActiveWorkbook.Close False 無理に閉じたいファイルを指定しようとせず、上の記述を追加したら解決しました。 最終的に以下のコードとなりました。お騒がせしました。 一応自己解決ですが、もし、もっとスマートなコードがありましたらお教えください。 Private Sub CommandButton16_Click() Application.ScreenUpdating = False fileToOpen = Application.GetOpenFilename("Excel ファイル (*.xls), *.xls") Workbooks.Open fileToOpen ActiveSheet.Range("W9:AG33").Copy Workbooks("test.xls").Worksheets("data01").Range("W9:AG33").PasteSpecial Application.CutCopyMode = False ActiveWorkbook.Close False Workbooks("test.xls").Worksheets("data01").Range("W9:AG33").Replace _ What:="#", Replacement:="=", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False fileToOpen.Close End Sub
50 :
48 :2005/12/10(土) 16:09:00
連投スイマセン。最後の、 fileToOpen.Close は消し忘れです。
51 :
名無しさん@そうだ選挙にいこう :2005/12/10(土) 23:52:17
【1 OSの種類 .】 Win 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 並び替えをおこないたいんですが 土 月 金 水 月 を 木 水 金 木 土 じゃなくてない曜日は空欄に 月 水 木 金 土 みたいにやりたいんですけど どなたか教えてくださいませんでしょうか。
前スレ966さん ありがとうございます。 グラフに線描画をする件について解決できました。 反応がすぐに出来ずこのスレになってしまいましたが。
327 > 【1 OSの種類 .】 > 【2 Excelのバージョン 】 Excel2002 > > > 並び替え機能でですね、 > > 土 月 > 金 水 > 月 を 木 > 水 金 > 木 土 > > じゃなくてない曜日は空欄に > > 月 > > 水 > 木 > 金 > 土 > > みたいにやりたいんですけど > どなたか教えてくださいませんでしょうか。
328
>
>>327 > 標準の並べ替え機能では出来ない
> VBAなら出来る
>
> VBAが使えるかどうかも、VBAでの解決の可否も書いてないので
>
>>2 ※に従って
> 【3 VBAが使えるか .】 はい
> 【4 VBAでの回答の可否】 可
> と解釈し、「VBAで出来る」という情報だけに止めます
329
>
>>328 > レスありがとうございます。
>
> VBAはできます。
56 :
名無しさん@そうだ選挙にいこう :2005/12/11(日) 14:55:59
関数だけじゃできね
>>56 vlookupと matchをつかえば、できないこともない。面倒そうだが。
どう頑張っても関数じゃ並べ替えは出来ないでしょ。 別セルに並べ替えて抽出するなら可能だけどさ。 それより終わったものは気にせずにいこうよ。
59 :
名無しさん@そうだ選挙にいこう :2005/12/11(日) 19:58:47
【1 OSの種類 .】 Windows** 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 #N/Aなどのエラー表示を空欄にするにはどうすればいいのでしょうか?
結構な年数やってるのに、IF関数知らないExcel使いは結構多い これ知ってるだけで色んな応用効くんだけどな
62 :
59 :2005/12/11(日) 20:28:57
=IF(Sheet1!A1="#N/A","",Sheet1!A1) Sheet2にこんなふうにやったんですけど #N/Aが文字あつかいじゃないみたいで失敗してしまいます。
63 :
59 :2005/12/11(日) 20:37:24
できました。ありがとうございます。 おさわがせしました。
64 :
前スレ987 :2005/12/11(日) 21:30:17
マルチすみません。もうそろそろ前スレが落ちそうなので、こちらでも質問させてください。 【1 OSの種類 .】 Windows98 【2 Excelのバージョン 】 Excel 98? 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 三次元グラフ 質問です。 3つの要素(XYZ)から関係性を追っています。 三次元上(X,Y,Z:要素)で棒グラフ(or散布図)を書くことは出来ないでしょうか?
縦棒とかが3Dになるけど、バブルの様に3値でデータが指定したいならぐらふではむりかも
66 :
名無しさん@そうだ選挙にいこう :2005/12/11(日) 23:04:27
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 恐れ入ります、質問をお願いします。 スピンボタンで数値を増減させる際、最初にスピンボタンを設置した時に増減させたい セルは決まってしまいますが、その度に対象セルの変更をすることは可能でしょうか? 増減させたいセルは多いのですがスピンボタンを沢山置けないのでスピンボタンは1つに したいのです。
だいぶ先の話だが、テンプレに追加よろしく。 テキストボックス(エディトボックス)、コンボボックス(ドロップダウンリスト)、リストボックス、コマンドボタン、 チェックボックス、オプションボタン(ラジオボタン)、スピンボタン、スクロールバー、等の質問をするときは、 ユーザーフォーム、コントロールオブジェクト、フォームオブジェクトのどれなのかを必ず書くこと。 これ書かない奴大杉やねん。 自分が使ってるもの以外の存在を知らないのか、書かなくても伝わると思ってるニュータイプなのかは知らんけど。
68 :
名無しさん@そうだ選挙にいこう :2005/12/11(日) 23:22:36
66です。申し訳ありません追加修正です。 結構素人なもんで、申し訳ありません エクセルを開くと最初に出る画面・・・セルが沢山表示させる画面においての質問です。
69 :
悠 :2005/12/12(月) 09:46:02
【1 OSの種類】 Windows98 【2 Excelのバージョン】 Excel97 【3 VBAが使えるか】 いいえ 【4 VBAでの回答の可否】 否 すみません。相当な初心者ですが、ご指導宜しくお願い致します。 Excelで家計簿をつけたいのですが、全く理解出来なくて…。 横に数字を入れていってΣで計算する事は出来るのですが、 出費の部分を縦に並べたいのに、それでは計算をしてくれません。 どうしたら良いのでしょうか…。 それと、 日付を連続的に入れたいのですが、関数でいちいち一回一回入れるしか方法は無いのですか? 全くの無知ですみません。 良ければご享受くださいm(__)m
70 :
hossy :2005/12/12(月) 11:42:00
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 エクセルでヘッダーの右余白を調節したいのですが?? よろしくお願いします。 ヘッダーの右側に文字を入れると右寄せになり本文の初期余白2.0位の位置に印刷されるようです。 これを更に右側に印字したいのです。 ページ設定の中では出来ないようです。 何か方法はありますでしょうか?? よろしくお願いします。
【1 OSの種類 .】 WindowsXP Pro 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 不可 セルの行と列の単位は何でしょうか? 高さ幅共に10にしても正方形のセルになりません。 ヘルプ見ても判らないので、よろしくお願いします。
>>71 幅がピクセルで高さがポイント。
単位が違うので、同じにしても正方形にはなりません。
>>69 > 出費の部分を縦に並べたいのに、それでは計算をしてくれません。
> どうしたら良いのでしょうか…。
普通にSUM関数を使う
> それと、 日付を連続的に入れたいのですが、
オートフィルを使う
SUM関数やオートフィルの使い方はヘルプに載ってるし
解説してるサイトも多いのでそちらを参照
>>71 > セルの行と列の単位は何でしょうか?
ポイント、バージョンによっては補助としてピクセル表示あり
もちろんどちらもメートル法のような固定長の単位ではない
因みに正方形の升目を作るのはCADや作表ソフトの仕事で
計算ソフトであるExcelの仕事ではない
>>72 基本(入力時の単位やツールチップのメイン表示)はどっちもポイントだよ
同じ単位だけど、ポイントもピクセルも縦と横の比率が1:1固定じゃないからね
まあピクセルの場合は縦横同一比の環境が多いけどな
74 :
名無しさん@そうだ選挙にいこう :2005/12/12(月) 16:28:11
そーいや意識して見てなかったが改めて見てみると カッコの中はどちらもピクセルだがカッコの外は?
>>72 ありがとうございます。
ピクセルとポイントですか。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 多少 【4 VBAでの回答の可否】 可 カレントのセルが、ある範囲に含まれているかを判定するのは どうしたらよいのでしょうか?
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 不可 【4 VBAでの回答の可否】 不可 DSUMと同様で ある条件で抽出した値の合計を出したいのですが、 Criteriaの指定をせずに(D関数を使わずに) 通常の関数で代替する方法はあるでしょうか? 理由は、一つの膨大なデータベースの中から 同時に複数の条件で集計を取りたいからなのですが。
>>76 カレントセル=ActiveCell
位置はRow,Columnプロパティで調べるか、
Intersectメソッドで調べるかお好きな方をどうぞ
>>77 配列数式で機能的には代替出来るけど
{=SUM(IF(条件1*条件2*条件3,加算範囲,0))}
> 膨大なデータベース
なら、素直にデータベースソフトに移行するか、DSUM使うかした方がいいよ
それと複数の条件といっても、数値で10以上50以下みたいな条件なら
SUMIF(50以下)-SUMIF(10未満)という方法で出せる場合もある
>>78 ありがとうございます。
Intersectってメソッドがあったんですね!!!
80 :
名無しさん@そうだ選挙にいこう :2005/12/12(月) 22:26:28
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 AddLineメソッドで直線を引いて、その直線に名前をつける方法を教えて下さい。 自動でLine1とか名前はつきますが、直線の引いたと同時に好きな名前をつけたい感じです。 よろしくお願いします。
>>80 .AddLine().Name = "好きな名前"
82 :
名無しさん@そうだ選挙にいこう :2005/12/12(月) 23:15:48
>>81 さん
できました。
ありがとうございました!
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 ある行に特定の値を入力しておき、たとえば、 セルが○のときその列の上記の特定の値を取り出し、その合計の値を表示させたい というようなときはどうしたらよいのでしょうか? 説明のしかたがわかりにくければ申し訳ありません。 よろしくお願いします。
【1 OSの種類 .】 WindowsXP HE 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい(少し) 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 DataSeries A2セルから1から連続した数字をリストの行の終わりまでふりたいのです。 下記の方法のだと3行目までは考えているとおりの動作をするのですが、 4行目がうまく行きません。 どのようにすればよいでしょうか? Set arange = Range("a1").CurrentRegion Set tmpcol = arange.Columns(1) tmpcol.Cells(2).Value = 1 tmpcol.DataSeries step:=1 他の方法でも番号をふる事は可能なのは承知しております、今回は DataSeries でやるとどのようになるか知りたいのです。 VBA初心者です。
85 :
名無しさん@そうだ選挙にいこう :2005/12/13(火) 10:06:09
86 :
質問です。 :2005/12/13(火) 11:24:11
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 すいません、基本的なことかも知れないのですが… 社名のリスト同士を突き合わせてダブりをチェックし始めたのですが、 質問1は、VLOOKUP関数を使って両者を突き合わせてますが、 このやり方は合理的ですか? (株)→株式会社 などは置換で統一してます。 質問2は、半角カナと全角カナが混在していてチェック漏れが発生しますが、 全角カナに統一するやり方は、JIS関数以外にありませんか? 関数で変換したものは加工しにくいので、できればWordのように 文字種の変換とかで済ませたいのですが。 いちどWordにコピーして変換させようとしましたが、 件数が多くて(5000件ほどある)無理でした。 あるいは、半角と全角が混在したままでチェックできれば 言うことないのですが。 いい方法があればご教授下さい。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 コントロール配列 VBA初心者です。 VBAの場合、コントロール配列が使えないようですが、 例えばOptionボタンが押された場合の処理では、全部のOptionボタンについて OptionButton1_click、OptionButton2_click・・・・と書かなければいけないのでしょうか?
>>86 > このやり方は合理的ですか?
VBA使うのが一番合理的だが、どうしてもVBA使えない環境なら
VLOOKUPでいいんじゃねーの
> 関数で変換したものは加工しにくいので
こっちもVBAなら一括置換可能だけど、関数では
>>14 に書いてある通り
値の書き換えは出来ないし、Excelはワープロじゃないので標準では全半角変換は出来ない
VBAがダメならcsvとかで出力して、テキストエディタやテキスト整形ソフトとかで変換してから
Excelに戻す手も有るけどね
> あるいは、半角と全角が混在したままでチェックできれば
VBAなら可能
>>87 ClassでWithEventsを使う
ここの過去ログにもサンプルが有るし、
Web上にもサンプルがごろごろ転がってるのであとはご自分で
89 :
名無しさん@そうだ選挙にいこう :2005/12/13(火) 13:16:49
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい(少し) 【4 VBAでの回答の可否】 可 あるシートの入力項目が変更されたら違うシートにカウントしたいのですがどうすればよいでしょうか?
具体的にどうぞ
91 :
名無しさん@そうだ選挙にいこう :2005/12/13(火) 14:46:34
【1 OSの種類 .】 WindowsXP pro 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 日付を入力しようとして / を使って 12/13 みたいにしたいのですが エクセルが勝手に12月13日みたいに変換してしまいます・・・ どうしたらいいでしょうか?
>>91 >6を細かく読むといいことがあると思うよ。
93 :
名無しさん@そうだ選挙にいこう :2005/12/13(火) 15:00:10
初心者に厳しいスレだな
94 :
89 :2005/12/13(火) 15:12:27
あるシートの日付が変更されると別のシートにカウントするというものです。 後出しですが、その変更された日付を書き出すのはどのようにすればよいでしょう?
> あるシートの日付が変更されると Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address(0, 0) = "日付セルアドレス" Then > 別のシートにカウント 何をカウントしたいのか書いてないのでわからんが、変更回数をカウントしたいなら カウントセル.Value = カウントセル.Value + 1 > その変更された日付を書き出す 書き出すセル.Value = 日付セル.Value
セルの中で改行はどうやればいいですか? 今提出しないといけないものがあって困ってます
98 :
名無しさん@そうだ選挙にいこう :2005/12/13(火) 16:52:57
Q 2005/11/30から、2006/2/14日まで何日あるか
【1 OSの種類 .】 Windowsxp
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】
参考にしたページは
http://support.microsoft.com/default.aspx?scid=kb%3bja%3b880979#XSLTH3160121121120121120120 で、 経過した年数を返す DATEDIF 関数
=DATEDIF(開始年月日,終了年月日,"Y")
? 経過した 1 年未満の月数を返す DATEDIF 関数
=DATEDIF(開始年月日,終了年月日,"YM")
? 経過した 1 月未満の日数を返す DATEDIF 関数
=DATEDIF(開始年月日,終了年月日,"MD")
を参考にしたのですが、このやり方だと、年月日が分割されてでてきてしまい、残り何日かでてこなくて悩んでいます。
A1に開始日付、A2に終了日付を入れて、A3に残り何日か出力したいのですが、よい知恵はありませんでしょうか。
99 :
名無しさん@そうだ選挙にいこう :2005/12/13(火) 17:15:11
>>98 A3に=A2-A1って入れて書式を標準にする
100 :
excel2003/XP :2005/12/13(火) 17:35:24
宜しくお願いします。 グラフウィザードを使ってグラフを描くと、凡例に系列が表示されます。 しかしグラフや目盛り自体は良かったりします。 こんな場合、凡例の中だけ書き換えることは出来ませんか? また、なぜ凡例に系列が入ってしまうのでしょうか?
>>100 凡例になってほしいデータが数値なのでは?
グラフエリア→右クリック→元のデータ→系列タブ
名前に入力されている、セル番地を削除して、
凡例にしたい文字列を入力する。
>>101 ありがとうございます。
よく本なんかでは、グラフウィザードで簡単にグラフが作れます、なんてありますが、
考えている部分が軸や目盛りに来なくて困ることが多いのです。
>>102 元の表の作り方と、どの部分を選択して作るかによるよ。
どの方向がデータ系列になるか、軸範囲はどうなるかってのは
もともと後で調整できることが前提になっている。
それがグラフウィザードで「簡単に」作れるという意味。
つーか、いくらなんでもエクセルが、すべてのケースを完璧に
自動判定してくれるわけではない。
別板で質問して、板違いである事を指摘されたのでここに来ました。 エクセルで、アルファベットのaをbに、bをcに、cをdに・・・というように、既に入力されているアルファベットを 一括で次のアルファベットに置き換える事ができる方法があれば教えていただけないでしょうか。 宜しくお願いします。
105 :
名無しさん@そうだ選挙にいこう :2005/12/13(火) 19:12:54
>>104 1セルに1文字しか入力しないのか、複数文字入力するのかによって違う
1文字でいいなら
A1にアルファベットを入れて
B1に=CHAR(CODE(A1)+1)
>>104 文字コードを返して+1して文字を返す
別セルに返すので良ければ標準関数だけで出来るし
同一セル内での変換がしたければVBAで
あとは
>>2 ※を読んで自分でがんばれ
>>104-105 レスありがとうございます。
同一セル内に1文字だけの置換が一括でできれば良かったので、
とりあえず
>>105 の方法でやっています。
かなり時間が短縮できるし、間違いもなくなりそうなので助かりました。
VBAで変換する方法も後日調べてみたいと思います。
ありがとうございました。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 記録をとって直す程度 【4 VBAでの回答の可否】 可 複数あるシートのうち、2番目のシートから最後のシートまで一括の印刷をマクロで行いたいのですが このブックは毎回シート枚数が変わるため、グループ化した印刷をマクロで記録してもうまくいきません。 どのような記述をしたらいいのでしょうか。 よろしくお願いします。
>>108 Dim i As Long
For i = 2 To Worksheets.Count
Worksheets(i)
Next i
このWorksheets(i)が、2番目から末尾までのシートオブジェクトを順に返す
あとは煮るなり焼くなり印刷するなりお好きなように
VBAです。VisualBasicEditorで データ型で10進数型を宣言する場合、 Dim a As Decimal とすると 「コンパイルエラー: 修正候補: Newまたはデータ型」 とのエラーメッセージが出るのですがどうすればよいのでしょうか?
111 :
108 :2005/12/13(火) 22:54:24
>>109 ありがとうございます。
早速試してみます。
Excel2000、OSはWin2000使用。VBAについての質問です。 別のPCの共有ファイルにあるブックを開きたいのですが、 Workbooks.openの後のファイル名はどのように指定すれば良いですか? よろしくお願いします。
>>110 VBAではDecimal型は内部処理用の型で
LongやStringの様に公開されてないから直接は宣言出来ない
公開されてる数値の型は整数型・実数型ともにいくつか種類があるので適当な物を選べばよい
VB.NETではDecimalも直接宣言出来るけどね
>>112 つ マクロの記録
>>110 VBA6(Office 2000)のヘルプより
> 現在、10 進型はバリアント型 (Variant) の内部処理形式でのみ使用できます。
> 変数を 10 進型として宣言することはできません。ただし、CDec 関数を使用することにより、
> 内部処理形式 Decimal のバリアント型 (Variant) の変数を作成することができます。
116 :
112 :2005/12/13(火) 23:34:21
115=112です。
117 :
名無しさん@そうだ選挙にいこう :2005/12/14(水) 00:35:08
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 VBA 入力 Len チェック ・特定の範囲内で、データが入力されている所までのセル番号を返す。 Range("A1:C10").Select で選択するのですが、C列はC1〜C10の間で、 数値が入力されている最後のセルまで選択したいのです。例えば、 C列がC7以降入力されていなければ、 Range("A1:C7").Select としたいのです(C7以下のセルの入力チェックはナシ)。 If atai = Len(C1:C10) = Then ・ ・ Range("A1:atai").Select 値を求めて、返す必要があると思うのですが、 お願いします。
118 :
名無しさん@そうだ選挙にいこう :2005/12/14(水) 00:46:02
うんこ
>>117 C11が空セルなら
Range(Range("A1"), Range("C11").End(xlUp)).Select
120 :
117 :2005/12/14(水) 01:29:12
121 :
110 :2005/12/14(水) 03:29:19
分子と分母を入力し、その分数を約分するVBAプログラムを作るのですが、 関数はGCD()のみを使用する場合どのような書き方をすればよいのでしょうか? データ型がごっちゃになってわけがわからないんですが・・ Sub どう見ても駄目すぎです。本当にありがとうございました() '分子と分母を入力し、その分数を約分するVBAプログラム Dim bunshi As Double, bunbo As Double, yakubunshi As String, yakubunbo As String bunshi = Application.InputBox("分子の値を入力してください?", "分子の値") Range("B10") = bunshi bunbo = Application.InputBox("分母の値を入力してください?", "分母の値") Range("C10") = bunbo Range("D10") = "=GCD(B10,C10)" '家のPCではGCD()は未対応でしたorz Range("B11") = "=B10/D10" yakubunshi = Range("B11") Range("C11") = "=C10/D10" yakubunbo = Range("C11") Range("E10") = "0 " + yakubunshi + "/" + yakubunbo End Sub 無駄を省いてくださいorz
Sub ニュートン法() '2次方程式を計算する電卓 Range("A15") = "方程式 y=ax^2+bx+c" Range("A16") = "a" Range("A17") = "b" Range("A18") = "c" Range("A19") = "初期値" Range("A20") = "精度条件" Range("A21") = "繰り返し計算回数" Range("A22") = "解x" UserForm1.Show 'ユーザーフォーム1を表示する k1 = Range("B16").Value k2 = Range("B17").Value k3 = Range("B18").Value
124 :
123 :2005/12/14(水) 07:25:11
If k1 = 0 Then '一次関数 MsgBox ("関数型は2次関数ではありません") Else UserForm2.Show 'ユーザーフォーム2を表示する x = Range("B19").Value conv = Range("B20").Value i = 0 Do y = k1 * x ^ 2 + k2 * x + k3 na = 2 * k1 * x + k2 x = x - y / na i = i + 1 Loop While conv > -y / na End If Range("B21") = i Range("B22") = x End Sub ユーザーフォームではk1,k2,k3,x,convを入力します。 解が負値の場合、処理が固まってしまうのですがどのように処理すればいいんでしょうか?
>>122 とりあえずInputBoxの戻り値は、直接セルに代入可能とだけ言っておこう
あとは
>>2 ※を読んで自分でがんばれ
>>123-124 処理が固まってしまう、そして処理の中に条件判定型のループ
(Do〜Loop、While Wend)があったら疑うべきはまずそこだ
人に聞く前にデバッグするのは基本だろ
特に内部処理が原因ではなく、自分が外部に書いたものが原因の場合はね
あとは
>>2 ※を読んで自分でがんばれ
シート1に 社員番号 名前 1 山田太郎 2 鈴木太郎 3 佐藤太郎 と書かれたシートがあります。 シート2に A列 B列 社員番号 1 3 2 3 A列に社員番号ランダムに振ってあるので シート1を参照しB列にA列の社員番号に対応する人の名前を表示させたいのですが 方法を教えていただけませんか?
>>126 VLOOKUP、又はINDEXとMATCH
番号が抜けのない連番ならMATCH無しでINDEXだけでもいいけど
各関数の使い方はヘルプ参照
128 :
名無しさん@そうだ選挙にいこう :2005/12/14(水) 12:47:33
【1 OSの種類 .】 WindowsMe 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 シート 反映 sheet1に社員ごとに使った経費をまとめ、その金額を sheet2の日付が合致する科目に反映させたいのですがうまく行きません sheet1にはTODAYをいれて、その日付を手掛かりに sheet2の日付に対応させ、尚且つ決まったセル(例えばB5)に反映させるには どうすればよいでしょうか?
129 :
名無しさん@そうだ選挙にいこう :2005/12/14(水) 13:20:55
【1 OSの種類 .】 WindowsXP Pro 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否(Visual StudioでのVSTOコードなら可) 【5 検索キーワード 】 エクセル ハイパーリンク ダウンロード等 お世話になります。 現在、Visual StudioのVSTOでの開発を行っていますが、 ここで一つ問題が発生しました。 ハイパーリンクをクリックした時に 対象アドレスのファイルをダウンロードさせたいのですが、 通常はブラウザで開いてしまうので 何とかしてダウンロードダイアログを表示させたいと思っています。 初めはVB.NETでのコーディングで対処させようかと思ったのですが、 対処法が見つからなかったのでエクセルの機能で対処したいと思うのですが、 これはエクセルの機能で対処可能なのでしょうか?
>>128 Sheet1に日付のセルと金額のセルが一対一で配列されているならVLOOKUPかMATCH&INDEX
でも、TODAYを使うってことは、Sheet1は毎日書き換わるってことですか?
毎日書き換わるデータ(過去のデータが残っていない)を「自動」でSheet2に「追記」していくのは関数では無理です。
131 :
128 :2005/12/14(水) 14:58:03
後出しになってしまいましたが、社員別の経費をsheet1で一日ごとに 作っていますが、TODAY+n って感じで入れているので その日付に対応したsheet2のセルに入れたいというわけです MATCH&INDEXのやり方って、どうやればよいのでしょうか?
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 EXCEL 画像 JPG 書き出し 等 こんにちは。 エクセルのデータをJPG等の画像ファイルかPDFファイルに書き出すことは できますでしょうか? 作った表をグラフィックソフトに取り込みたいと思ってます。 よろしくどうぞ。
>>129 > これはエクセルの機能で対処可能なのでしょうか?
標準のハイパーリンクは動作を弄れないので
標準のハイパーリンクを使う限り不可能
VBAでハイパーリンク同等の機能を自分で実装すればどうにでもなる
>>131 > MATCH&INDEXのやり方って、どうやればよいのでしょうか?
>>2 ・5を読むといいよ
>>132 PDF仮想プリンタか、JPG出力対応の仮想プリンタ使えば可能
どっちにしても現状ではその要望はExcelの仕事じゃない
次のバージョンでは標準でPDF出力が付くらしいけどね
134 :
132 :2005/12/14(水) 15:40:58
>>133 クセロpdfとかいうのを使ったら文字編集機能も損なうことなく理想の形で
張り込むことができました。大変ありがとうございました。
135 :
名無しさん@そうだ選挙にいこう :2005/12/14(水) 18:24:48
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 ASC カタカナ 全角 半角 Excelで全角の英数字のみを半角にするにはどうすればよいのでしょうか? ASCを使用するとカタカナまでもが半角に置き換えられてしまいます。 どうかよろしくお願いします。
>>135 これでなんとかならん?
=IF(CODE(A1)<=CODE("z"),ASC(A1),A1)
CODE("z")のzは全角・小文字のz
全角の英数字はすべてこの字よりコード番号が小さく、
全角カタカナはすべてこの字よりコード番号が小さい。
137 :
136 :2005/12/14(水) 20:15:57
すまん↓ ×全角の英数字はすべてこの字よりコード番号が小さく、 全角カタカナはすべてこの字よりコード番号が小さい。 ○全角の英数字はすべてコード番号がこの字以下で、 全角カタカナはすべてこの字よりコード番号が大きい。
138 :
135 :2005/12/14(水) 20:28:38
本当にばっちりです。 ありがとうございます。 今日はもう帰れないかと思いましたが、本当に助かりました。
139 :
129 :2005/12/14(水) 20:37:46
>>133 どうもありがとうございます。
今回はVBAは使えないのですが、
参考までにどのようにしてやればよいのか教えていただけないでしょうか?
140 :
名無しさん@そうだ選挙にいこう :2005/12/14(水) 21:15:17
質問です 会社のネットワークにあるひとつのエクセルファイルを どのパソコンからもアクセスできる場所においときます しかし編集できるのはその中の1台だけにしたいんです そして他のpcはつけっぱなしで更新も勝手にしたいんです その更新は編集がおわりしだいすぐ反映できるように したいんです ブラウザの自動更新とはちがいそう簡単にできなかったんです だれかしってる? エクセル職人頼みます
>>139 > 【4 VBAでの回答の可否】 否
である以上、条件後出しされても言うべき事はもう何もない
>>141 何コイツwww
わからんならわからんって言えよwwwwww
惨めだね142
挑発すれば答えて貰えるとでも思ってるのかねぇwww どうせ別人だとか言い出すんだろうけどwwwwww
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 数式 コピー 貼り付け エラー VLOOKUP関数を使用しています。 VLOOKUP(検索値、範囲、列番号、検索の型) この「範囲」には、別シートの職員情報リストを指定していたのですが、 今回職員情報に変更があったので、新しい職員情報を「値の貼り付け」で一括で貼り付けたところ 関数の値にエラー#N/Aがでるようになってしまいました。 数式はいじってないのですが、どうしてエラーになるのでしょうか、教えていただけますか?
146 :
名無しさん@そうだ選挙にいこう :2005/12/15(木) 00:34:00
>>145 それだけじゃちょっと分からないけど・・・
全角に成ってたりしないかなあ?
1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル シート見出し 一括表示 エクセルのシートの見出しがたくさんになってスクロールしないとでてこない状態なのですが、 これを縮小か何かで一括表示させる事は可能でしょうか?職場で「見た」と言う方がいるのですが・・・。
148 :
145 :2005/12/15(木) 00:43:43
>>146 さん
職員情報の名前は全角になっています。
検索値は7ケタの職員番号だったのですが、それは半角になっています。
数式が参照しているリストの変更に「値をコピー」を使用すると、まずいのでしょうか?
原因がどうしても分からなかったのです。
149 :
名無しさん@そうだ選挙にいこう :2005/12/15(木) 01:02:33
>>148 どうしてもよくわからないからちょっと色んな数値を適当に入れてみて、
・どんな数値でそうなっちゃうのか
・貼り付けじゃなくて打ち込めば大丈夫なのか
をちょっとかくにんしてみてYO!
150 :
名無しさん@そうだ選挙にいこう :2005/12/15(木) 02:07:42
【1 OSの種類 .】 Windows98SE 【2 Excelのバージョン 】 Excel97 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 数式 コピー シート Excel 数式の入ったセルをsheet1からsheet2にコピーしたときに 数式の参照先をsheet1にしたいのですけど何か方法ないですか?
>>147 メニューの表示>ズーム。
または標準ツールバーの「ズーム」ボックスで。「100%」と表示されてるやつ。
2000ではできたかどうか忘れたけど、「Ctrl」キー押しながらマウスの
ホイールボタンを動かして拡大/縮小する方法もある。
153 :
151 :2005/12/15(木) 09:16:40
あ。シートタブのことだったの。それならすまん>147 151は忘れてください。
154 :
名無しさん@そうだ選挙にいこう :2005/12/15(木) 10:16:30
2003を使っています。 表示形式の設定の仕方がわからないので書き込みました。 本社 と入力すると自動的に(本社)というふうにカッコつきの表示に したいのですが、なかなかうまくいきませんでした。 500と入力すると(500)と表示させることはできるのですが、日本語だと うまくいきません。 やり方を教えてください
>>154 セルの書式設定の「ユーザ定義」で
"("@")"
にすればよろし。
156 :
名無しさん@そうだ選挙にいこう :2005/12/15(木) 10:28:33
さんきゅう!
WinXP EXCEL2002 使用してます。 ファイル名に半角カナが含まれたファイルをマイネットワーク上に保存しようとすると「ファイルが保存出来ません」のアラートがでます。 半角英数のファイル名だと保存出来ます。 半角カナが入ったファイル名を変えずに保存出来る方法はないでしょうか?
>>157 そのファイルをローカルに保存してから、
目的の場所に移動かコピーは出来ますか。
出来なければ無理。
>>158 ありがとうございます。
目的の場所にコピーは出来ます。マクロで処理したいのでエクセルでなんとかしたいのですが・・・・
>>148 コピー元となる「Sheet1」の数式に 最初から 参照先に「Sheet1!」を付加させておく
例)
=A1*B1ではなく
↓
=Sheet1!A1*Sheet1!B1
その後「Sheet1」をコピーして「Sheet1(2)」を作成したとするとその数式が
='Sheet1 (2)'!A1*'Sheet1 (2)'!B1
のようになっている筈だから、後は全置換を使って「Sheet1(2)→Sheet1」のようにして
しまえばいい。
161 :
160 :2005/12/15(木) 13:09:23
162 :
129 :2005/12/15(木) 13:47:43
>>141 条件後出のつもりではないんですが・・・
あくまでもVBAとコードが似ていることに気づいて書いただけなんですが・・・
163 :
150 :2005/12/15(木) 13:57:31
>>160 >コピー元となる「Sheet1」の数式に 最初から 参照先に「Sheet1!」を付加させておく
まぁそうなんですけど、すでに数式が入力してある状態からなんとかならないかな、と('A`)
んで、結局「Sheet1!」を1個1個入れてったんですけど、今やってみたらコピーじゃなくて
"切り取り"してシートを移動して"貼り付け"なら「Sheet1!」が自動でくっ付きますね・・・
とりあえずさんくす
164 :
名無しさん@そうだ選挙にいこう :2005/12/15(木) 14:09:24
>>163 元のセル(sheet 1)をコピーして,sheet 2の任意のセルに
形式を選択して貼り付け→リンクを貼り付け
これで出来るだろう
要するに、sheet 1の計算結果をsheet 2に反映させたいんでしょ?
165 :
名無しさん@そうだ選挙にいこう :2005/12/15(木) 14:34:54
ワークシートを増やすと、タブは横に増えていきますが、 タブをExcelの左側並べ、ワークシートを増やすと タブか縦に増えていくようにしたいです。 可能ならやり方を教えてください。
>>165 できません。シートタブの表示を変える方法は用意されていません。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Excel VBA 複数シート 選択 シートの複数指定なのですがarray関数を使って Sheets(Array(1, 2)).Select と、少数のシートであればこれで済むのですがまとめて100枚など、大量ののシートを選択したい場合などにはどのように記述すればよいのでしょうか
Excel2002でオートシェイプのカギ線コネクタを使用しています。 セルとセルの間を1セル置いて A B C |─┐ | | | └→ | | ↑のように繋ぎたいのですが、縦が長くなると ──┐ │ │ が │ └──→ └──┐ │ ↓ になってしまい、セルの縦線に被ってしまい困っています。 カギ線コネクタの方向を変える方法はないでしょうか?
170 :
名無しさん@そうだ選挙にいこう :2005/12/15(木) 17:30:08
2つのEXCELファイルを比較したいのですが(数値のみ) なにか使いやすくていいソフトはありませんか? Diff Docが良さそうですが、50000もするので高すぎます。 できれば10000円以内でないでしょうか。
>>170 何の数値よ? サイズ? MD5? 更新日時? 特定のシートの特定のセルの値?
172 :
170 :2005/12/15(木) 17:38:14
170ですが、入力された数値です。 例えば、AとBの二人の人が同じデータ(数値)を入力して その2枚のファイルの数字が間違って入力されてないかどうかを 調べたいのです。
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 チェックボックスオブジェクトの中心座標が、どのセルの上にあるのか求める事はできないでしょうか。 チェックボックスがある列にあるセルの値を取り出したいのです。 どうぞ宜しくお願いします。
>>168 「大量ののシート」というのが全シートのことなら
Worksheets().Select
全シートのことじゃないなら「大量ののシート」が
どのような条件で選び出されるのかわからないから何が良いのかは言えないが
とりあえずWorksheetsコレクションの引数に数値配列を入れれば
配列内の数値に対応するインデックスを持つシートが選択される
>>169 標準で備わってるものというのは、得てして融通が利かないもの
標準以上のことがしたいなら自分でカギ線コネクタを作れば良い
まあ作るといっても線を繋げてグループ化するだけだけどな
一度グループ化しちゃえば使い勝手はコネクタと大差ないし
>>170 VBA可ならExceだけで出来るけど、ルール守ってないので
>>2 ※を読んだ上で自分でコード書け
書けないなら諦めろ
Excelではなく外部ソフトでやりたいならスレ違い
176 :
173 :2005/12/15(木) 17:58:38
>>175 失礼しました。
sheet1の上に置かれた、チェックボックスです。
フォームツールバーからシートに配置したものです。
この場合、何オブジェクトと呼ぶのが正しいのかわからないもので、すみません。
どうぞ宜しくお願いします。
177 :
名無しさん@そうだ選挙にいこう :2005/12/15(木) 18:04:13
コピー元のセルの高さ・幅をコピー先に反映させたいです。 ThisWorkbook.ActiveSheet.UsedRange.Copy b_workbook.Worksheets("sheet1").Paste を使うと、セルの高さ・幅は反映されません。 手動で、全て選択コピーをして貼り付けると反映されます。 VBAで全て選択に相当するコマンドがあったら教えてください。 SelectAllではないようですし。
178 :
名無しさん@そうだ選挙にいこう :2005/12/15(木) 18:23:18
最近まで使えていた、マクロが使えなくなりました。 で、Personal、とかいうファイルも消えて、再表示とか選んでも出てきません。 不特定多数が触っているPCなので、原因は分からないです。 で、新しく記録しようとしても、なぜか保存できません。 セキュリティ項目を上下させても何も変わりません。 どうしたら、解決できますか?
>>176 MsgBox Worksheets("Sheet1").Shapes("チェックボックスの名前").TopLeftCell().Address(0, 0)
これでチェックボックスの左上角の下にあるセルを取得できる
チェックボックスの名前が解らないとか言い出すなよ
>177
ThisWorkbook.ActiveSheet.Cells.Copy
でいいんじゃないの
とにかく高さは行全体、幅は列全体をコピーしないと
張り付け時には反映されない
>>178 >>2 ・6
まあ、それ以前に環境すら書いてない奴なんて放置だけどな
180 :
178 :2005/12/15(木) 18:41:57
XPです。スマソ。。。
いや、環境書いたとしても
>>2 ・6だし
書くなら何がXPなのか書くべきだったな
WindowsXPなのか、OfficeXPのExcel(Excel2002)なのか…
あ、今更書かなくていいからね
182 :
名無しさん@そうだ選挙にいこう :2005/12/15(木) 18:49:43
183 :
名無しさん@そうだ選挙にいこう :2005/12/15(木) 19:00:35
2chで質問するよりも答えてねっとの方がいいような希ガス 質問のpointずれていても、こんなにキツイレスはつきにくいよ
184 :
176 :2005/12/15(木) 19:01:07
>>179 わあぁ、ありがとうございます。
助かりました!
186 :
177 :2005/12/15(木) 20:52:36
>>179 ありがとうございました。うまくいきました。
187 :
名無しさん@そうだ選挙にいこう :2005/12/15(木) 21:18:15
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 はい(少し) 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 vba 印刷 切り替え 選択 など色々組み合わせて お聞きします。 プリンタを二台接続しています。AはFAX複合レーザープリンタ、Bはインクジェットプリンタです。 基本はAを使うのですが、あるシートを印刷するときだけBを使いたいのです。 そんなの印刷する前にプリンタを選択すればいいのですが、職場でPCが使えない人も 簡単に使えるようにしたいのです。 それで、Aのプリンタを使っていて、ボタンを押したらその時だけBのプリンタに 変更して印刷が終わったらAのプリンタに戻るとか、そんな便利なコードはないでしょうか? プリンタを変更するコードはわかってるんですが、印刷後にBからAに戻すというのができません。
188 :
145 :2005/12/15(木) 22:10:01
>>149 さん
お返事が遅くなってごめんなさい。
職員番号は1000以上あるのですが
全部うまくいきませんでした。
また、数式をもう一度打ち込んでみてもだめでした。
ただ、職員情報シートを更新するのではなく、数式を打ち込んであるシートを更新すると
うまくいきました。レスをありがとうございました。謎です・・・。
189 :
147 :2005/12/15(木) 22:15:53
>>187 こういうこと?
ap = Application.ActivePrinter '現在のプリンタ保存
Application.ActivePrinter = "ぷりんたB" 'プリンタを変更
ActiveWorkbook.PrintPreview 'ここに目的の印刷処理を入れる
Application.ActivePrinter = ap 'プリンタをもどす
191 :
名無しさん@そうだ選挙にいこう :2005/12/15(木) 23:23:16
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel 2002 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 シート内にある複数の結合セルのデータを削除したいのですが、 確か結合セル内のデータ削除は、 単一セルごとにMergeAreaプロパティでしか行えないはずですよね? そうすると複数行に渡って、 Range("単一セル").MergeArea.ClearContents が続いてしまうのですが、これでよいのでしょうか? 同じことの繰り返しなので、Withステートメントを使うように簡略化する方法が ありましたら、是非お教え下さい。
192 :
名無しさん@そうだ選挙にいこう :2005/12/15(木) 23:50:40
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 シートにデータをたくさん入力していったのですが、事情により相当数の データを消したところ、空白セルがまだら状にできてしまっています。 この空白のセルを削除して、データを詰めたいと思っています。 何か簡単な方法はあるのでしょうか。 ご存知の方、教えてください。 よろしくお願いします。
>>191 > 単一セルごとにMergeAreaプロパティでしか行えないはずですよね?
いいえ
つーか「行えないはず」つか脳内で決めつける前に調べたり試したりしろよ
MSDNやVBAヘルプなどのある程度信頼できるソースに
MergeAreaプロパティでしか行えないとあるなら決めつけてもいいけどさ
もしかして書いてあったか?
>>192 並べ替えすればデータは上詰めになるよ
上下関係を維持したければ、IFとROW関数でデータが有る行にのみ行番号を返して
その列をキーに並べ替えすればよし
どうもありがとうございます。 明日早速試してみます。
195 :
名無しさん@そうだ選挙にいこう :2005/12/16(金) 00:47:49
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 すみません。Excel の表を作り、「+11」と記入したいのですが、「11」になってしまいます。どうしたら+表示できるのか誰かぜひ教えてください。
197 :
名無しさん@そうだ選挙にいこう :2005/12/16(金) 00:58:19
198 :
名無しさん@そうだ選挙にいこう :2005/12/16(金) 01:05:50
セルの書式設定の数値のところでしょうか??ぜひ教えてください。
ここで、テンプレに載ってることを得意げに書き出すバカ登場↓
200 :
197 :2005/12/16(金) 01:32:16
ま、そういう雰囲気なんでマイクロソフトに電話して聞け
>>198
201 :
187 :2005/12/16(金) 02:12:18
>>190 明日試してみます!ありがとうございます。
202 :
名無しさん@そうだ選挙にいこう :2005/12/16(金) 02:50:34
>>193 自分の持ってる本には、
『結合セルに入力されている文字や数値を消去するときは、
MergeAreaプロパティを使わないとエラーになります』とありました。
で、MergeAreaプロパティは単一セルにしか設定できないので、
そう思ったのですが…。
他の方法があるようなので、もう少し調べてみますね。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 VBAを使って、次のようなプログラムを書きました。 シート上にあるチェックボックスを全部調べて、状態を表示しようとしました。 For i = 1 To ActiveSheet.Shapes.Count MsgBox "チェックボックスの名前" & i & " : " & ActiveSheet.Shapes(i).Name & " 状態:" & _ IIf(ActiveSheet.Shapes(i).DrawingObject.Value = xlOn, "ON", "OFF") Next ところがこれでは、ボタンなども拾ってしまいます。 どのようにして、ActiveSheet.Shapes(i)がチェックボックスであるか判別したら良いのでしょうか。 どうぞ宜しくお願いします。
>>203 Shapeオブジェクトのプロパティに、チェックボックス・ボタンなどの種類を調べる為のものがある
それが何かはヘルプにバッチリ書いてあることなのでここでは書かない
あとはそのプロパティに対して= xlCheckBoxを条件に処理を行えば良し
それと、この場合はFor Eachループ使った方がいいぞ
ついでにそれだけ書ければ
> 【3 VBAが使えるか .】 いいえ
ではないだろ
【3 VBAが使えるか .】 少しだけ
くらいは書いても良さそうだ
もしかして
>>3 ・3を狙ったのか?
でも明らかに嘘の場合はコードは書かないよ
205 :
203 :2005/12/16(金) 14:45:57
>>204 ありがとうございます。FormControlTypeプロパティですね。
少し調べればわかるようなものでした、本当にすみません。
typeプロパティかと思いこんではまっていました。
VBAは、昨日から始めてみました。
他の言語はぽつぽつやっていたので、VBAができるとはとても言えず、ついいいえしていました。
次回からは少しだけ、にします。
特に悪意はないです。
純粋に方法がわからなくて聞いたのですが、何か不快にさせたなら、どうもすみません。
どうもありがとうございました。
206 :
176 :2005/12/16(金) 15:29:48
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 少々 【4 VBAでの回答の可否】 可 ワークシート上に配置したチェックボックスが置いてあるセルを求めたいのですが、 TopLeftCellでは左上の座標の位置にあるセルになってしまい、ややセルから左上に はみだしているチェックボックスなどは、視覚的な位置からずれたセルが取得される 事があり、困っています。 例えば、 ActiveSheet.Shapes("Check Box 37").Select x = Selection.Left + (Selection.Width / 2) y = Selection.Top + (Selection.Height / 2) 等の計算式を用いて、x,yにチェックボックスの座標を入れ、このx,y座標に該当する セルを求めることはできませんか。 worksheetのプロパティやメソッドを探してみたのですが、それらしいものがありませんでした。 強引に、 Selection.Left = x Selection.Top = y MsgBox Selection.TopLeftCell.Address などとすると、望んだ結果は得られるのですが、チェックボックスを移動させると処理 速度が著しく低下し、あまり現実的ではありません。 何か良い方法が無いものでしょうか。どうぞ宜しくお願いします。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Excel 処理 上限 コピー メモリ シートのコピーについてなのですが、大量に行うと Sheets("****").Copy Before:=Sheets(1) 上記の処理が止まってしまいます 始めはシートの枚数がメモリの上限に達したからなのかと思い、メモリが512のPCから2GのPCで同じマクロを実行してみたのですがやはり同じ箇所で止まります 一度Excelを終了させてから再び起動させないと同じマクロを実行した際に1度目のシートのコピーで止まってしまいます コピーしたシートの枚数が50枚に達した時点で新規のブックをつくりそちらにコピー>元のブックのシートは消去 と、組みなおしたのですがやはり同じ場所で止まってしまいました 解決法は無いでしょうか・・・?
>>206 > このx,y座標に該当する
> セルを求めることはできませんか。
自分で計算する
> x = Selection.Left + (Selection.Width / 2)
> y = Selection.Top + (Selection.Height / 2)
が出来るなら簡単でしょ
汎用するなら関数化すればいいし
>>207 ブックをうp
209 :
207 :2005/12/16(金) 16:19:18
普段アップローダーとか使わないもので何処にどのようにアップすればいいのやら・・・ ヘタレですまんですorz
210 :
206 :2005/12/16(金) 16:27:00
>>208 特に座標値からセルを求めるメソッド等はないのですね。
どうもありがとうございます。
211 :
名無しさん@そうだ選挙にいこう :2005/12/16(金) 18:12:55
myRange.Row とやると、その範囲の 対象セル範囲の最初の領域の先頭行の番号を返しますが、 末尾行の番号を得るにはどうすればよいでしょうか。
>>211 ・Row+myRangeの範囲行数-1
・myRangeの末尾セルを返してRow
あとはどちらでもお好きなように
因みに
>>1-2 を良くよんでおいてね
つーかこれじゃ丁寧すぎるかな?
213 :
名無しさん@そうだ選挙にいこう :2005/12/16(金) 20:33:50
【1 OSの種類 .】 WindowsXP/2000 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel 集計 文字列 以下のように、行(あるいは列)データとして文字列が入っているとき、 JAPAN KOREA CHINA JAPAN これらの文字列が各々何個あるかを集計・出力するにはどうしたらいいでしょうか。 上記の行を範囲指定して、別表として JAPAN 2 KOREA 1 CHINA 1 のような集計表を作りたいのですが。 よろしくお願いします。
>>213 Excel関数逆引き大全600の極意という本の98ページに載っています。
215 :
名無しさん@そうだ選挙にいこう :2005/12/16(金) 23:32:06
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 1つのファイル内のAシート上に別のBシートに入っている 一部分(表)のみを表示させることはできますか?
051216 という文字列を、2005年12月16日 という日時にしたいんだけど どーすりゃいいのさ。
>>216 6桁固定なら
=DATEVALUE(LEFT(A1,2)&"/"&MID(A1,3,2)&"/"&RIGHT(A1,2))
セルの書式設定で日付にすればいけるんじゃない?
(a1="051216")
218 :
名無しさん@そうだ選挙にいこう :2005/12/17(土) 11:26:25
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ (記録程度なら可) 【4 VBAでの回答の可否】 可 (簡単なものなら) シート1のA列から順に、氏名、性別、IDナンバー、住所、電話番号、月間来店数、等々・・・。 のデータで顧客の登録数だけ行が有ります。 この中から、月間来店数が0でない顧客を抽出して、 氏名、ID、住所、電話番号の一覧表をシート2にある表に入力したいです。 ちなみに検索のポイントになる月間来店数はシート2に反映される必要は無いです。 (印刷範囲外に有るのならシートのすみに反映されていても可です) 上記、御助言の程、宜しくお願い申し上げます。
>>218 オートフィル(オプションで0より大きいものを抽出)→コピペ
220 :
218 :2005/12/17(土) 11:58:34
>>219 早々のアドバイス有難うございます。
オートフィルタで目的のデータ抽出は出来ましたが、
コピペすると抽出されていない行(隠れている行)もコピペされます。
また、ひとつの列の内容でシート1から行を抽出するのですが、
シート2に必要なデータ(列の項目数)が結構多いので、
コピペ以外の方法が有ると助かります。
宜しくお願い致します。
>>220 > コピペすると抽出されていない行(隠れている行)もコピペされます。
可視セルだけをコピーすればよい
やり方はヘルプ参照
> コピペ以外の方法が有ると助かります。
有るよ、VBA使えばね
ただしコピペ以外というのは条件後出しなので、コードややり方は書かないでおく
まあ、マクロの記録使えるなら自分でどうにか出来るでしょ
ここの回答者ってメチャクチャ偉そうだよな 事あるごとに「条件後出し」って言って答えないし
223 :
名無しさん@そうだ選挙にいこう :2005/12/17(土) 18:14:46
仕事の延長でレスしてるんじゃないか? 分らないから聞いてるんだし、後だし条件位は多めに見ても いいんじゃないかと思う反面、あまりにチグハグな質問もあるのも事実 顔が見えないネットだからこそ、もっと丁寧に質問者も回答者も レス付けれればいいかな、なんていってみるてすつ
>>222 まあ、質問する側にもどうかと思う人多いしね。
特に条件後出しする人の中には、自分が最初に言わなかったことを
棚に上げて、もらった回答に不満を言う人までいるし。
他にも後出しを繰り返したあげく、最初の質問とはまるで違うことに
踏み込んでる人とか。
そんな経緯があるので、条件後出しに厳しいのは多少は仕方ないです。
まじめに>1とか読んでから、それを守って質問する人には、おおむね
普通の対応でしょ(一部、不必要に偉そうな奴らを除くw)。
>>222-224 ごちゃごちゃいうならお前らが答えろ。
答えられないならくだらんレスつけんな低能ども。
226 :
名無しさん@そうだ選挙にいこう :2005/12/17(土) 19:25:50
はいはい。 次の方どうぞ↓
>>225 みたいな奴は会社でも嫌われてるんだろうな
229 :
名無しさん@そうだ選挙にいこう :2005/12/17(土) 21:43:10
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 A B C D E 1 あお あお あお 2 くろ くろ くろ 3 あか あか 4 5 しろ しろ 1,2,3,,,行に上のようにある文字が入るのですが(行単位では文字は同じ) 文字が入力された行のその文字を表示したいのです。方法はありますか? つまり下のようにしたいです。 1 あお 2 くろ 3 あか 4 5 しろ
>>229 行内に文字列が有るかどうかを調べて
無ければ""、有れば文字列が有る位置を探して
その位置の文字を返せばいいだけじゃん
VBAなら有無も位置もEndプロパティで出せるし
ワークシート関数ならCOUNTBLANK(行)=256で文字列の有無を調べて
配列数式で一番はじめの「配列<>""」の位置の文字を返すとかね
とりあえずこれでやってみて、解らなかったら
>>2 ・8ね
231 :
名無しさん@そうだ選挙にいこう :2005/12/17(土) 22:32:22
自動バックアップされたエクセルファイルの復元方法がわかりません。 一体、どこに保存されてるのでしょうか・・・ どなたか教えてくださいm(__)m
233 :
名無しさん@そうだ選挙にいこう :2005/12/18(日) 02:44:48
散布図のグラフで近似曲線を追加しようとするときに、たまに累積曲線や指数曲線が追加できないときがあるのですが どういったことが原因なのでしょうか?
234 :
218 :2005/12/18(日) 10:21:03
色々と御助言有難うございます。 とりあえず、オートフィルタと可視セルのコピペで頑張ってみます。 効率的な方法が有るようでしたら御教授下さい。 後出しの件、不愉快に思われたら申し訳ないです。 少しでも必要な事柄を簡潔にお伝えしようと努力したまでで、 オートフィルタやコピペをまったく思いつかなかったので、 前述のような書き方になってしまいました事、御容赦下さい。
>>233 零点を通っているとかの近似できない状態になっているのでは?
例え回答が偉そうであっても、困った問題を解決するヒントなり 恩恵を受けているので、文句を言える立場ではないどころか、 結構感謝しています。
237 :
名無しさん@そうだ選挙にいこう :2005/12/18(日) 20:39:53
グラフを描くとき x軸に A列の値 y軸に A列に対応するB列の値 を入れて図を描くのはどうやったらいいんですか? たとえば A B 1 1 5 2 3 3 3 6 0 のグラフを描いたら負の傾きのグラフになるような
238 :
名無しさん@そうだ選挙にいこう :2005/12/18(日) 21:23:03
はじめまして、お世話になります。 【1 OSの種類 .】 WindowsXPHomeSP1 【2 Excelのバージョン 】 Excel2002SP2 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 貼りついたラジオボタンを削除したい Excelで簡単な表を作っていたのですが、 元ネタのWebページ(InternetExplorerで閲覧)の 表(tableタグ)を一部クリップボードにコピーして 自分の作ってる表にペーストしたのですが、その時 数字や文字と一緒に、ページ内のCGIフォームの ラジオボタンが一緒に貼り付いてしまいました。 図などと同じように選択して削除しようとしても、 ただボタンが選択されたような状態になるだけで オブジェクトとしては選択できずDeleteできません。 セル内のデータを削除しても関係ないようですし、 行ごと列ごと削除しても、動くだけで消えません。 自動保存されてしまって【元に戻す】も使えません。 これらを消すには、何をどうしたら良いでしょうか?
>>238 表示−ツールバー−コントロールツールボックスON
そしてコントロールツールボックスのデザインモードをONにして同じようにやってみて
質問とあっているかわからんけど・・
それでダメだったら、そのWebページのURIを書けってとこだな。 本当はこんな事言われなくても最初の質問時に書くのが当たり前なんだけどな。
242 :
238 :2005/12/18(日) 22:57:54
>>240 ありがとうございます! 無事うまいこと消せました
質問が長ったらしくなって解りにくかったかところに
的確なお答えをいただけて本当に感謝しています
>>241 当たり前のことができてなくてすみません、でもその
元ページ自体も別のCGIで生成される動的な?ページ
だったもので、URL(URI)がお伝えできませんでした。
以後は気をつけます。どうもありがとうございました。
URIなんて嬉しそうに書いちゃう奴のことなんて気にすんな。 解決してよかったよ。
2,3年前ならまだしも、未だにURIに反応する子が居るとはねぇ。 君、とても貴重な存在だよ。
245 :
211 :2005/12/19(月) 09:42:39
>>212 ありがとうございます。
myRange.Row + myRange.Rows.Count - 1
でいけました。
246 :
名無しさん@そうだ選挙にいこう :2005/12/19(月) 10:14:58
2003を使っています。 表の作成の時に斜めの罫線を入れることはできるんですが、 その斜め罫線の右上に「氏名」をいれ、左下に「区分」という文字を 入れたいんです。 氏名 \ \ \ \ 区分 という感じにしたいんです。 改行や空白をいれてもうまくいきません。 やり方を教えてください。
フォントの大きさ、改行や空白などで調節する セルを縦横2個、合計4個使う 下付き、空白、上付き、で入力し上下左右共に中央揃えにする など
何故合計4個? 右寄せで"氏名"を入れるセルと 左寄せで"区分"を入れるセルの2個じゃないの?
250 :
名無しさん@そうだ選挙にいこう :2005/12/19(月) 11:09:59
サンキュウ
251 :
名無しさん@そうだ選挙にいこう :2005/12/19(月) 11:49:38
Excel2003を使っています。 ThisWorkbook.ActiveSheet.Copy before:=temp_workbook.Sheets(1) とワークシートをコピーすると、シートに設定したマクロもコピーされてしまい、 ブックを開くとデジタル署名のダイアログが出てきてしまいます。 マクロをコピーしない方法、もしくはマクロを無効にする方法はあるでしょうか。
ActiveSheetの全てをCopyせず、 ActiveSheetのシート内容(Cells)をCopyすればいいじゃん 但し張り付け先にシートが用意されてる必要があるので 必要なら新規シートを作成しな
253 :
251 :2005/12/19(月) 17:10:13
254 :
名無しさん@そうだ選挙にいこう :2005/12/20(火) 12:27:35
(2行1列×2行1列)の計算は、Excelで可能なんですか? m×mのかけ算は、配列関数で計算できるのですが、、 ご教授ください。お願いします。
わからないなら答えるなよ低脳 お前が書き込まないようにがんばれ
257 :
名無しさん@そうだ選挙にいこう :2005/12/20(火) 13:42:52
ウィンXP、エクセル2003です。 B4からずうっと下まで数値があります。 ゼロで無い場合は、対応するC列(C4からずうっと下まで)のセルに色を付けたいのですが? たとえば、B4=100,B5=0,B6=25,B7=0 のような場合に、C5とC7のセルを塗りつぶしたいです。 そういう関数がありますか? 条件付書式をいろいろ試してみましたが、イマイチうまく出来ません。
C5の条件付書式に 数式が =B5=0
解る解らないに関わらず、ルール守ってない奴は指摘されて当然だと思うけど。 というか、解らないなら黙ってろ系のことを言い出す奴ってほとんど質問者本人だよね。 ここではID出ないから口先だけで否定するのは簡単だけどな。
バカに正論を言っても無駄だぞ
261 :
257です :2005/12/20(火) 15:07:02
ゼロで無い場合に着色したいのです。 上記の例ですと、ゼロの場合に着色になりませんか?
>のような場合に、C5とC7のセルを塗りつぶしたいです。 ヽ(`Д´)ノ =B5<>0
263 :
名無しさん@そうだ選挙にいこう :2005/12/20(火) 15:39:48
おまえら優しいな
264 :
257です :2005/12/20(火) 15:46:22
申し訳ない!解決できました!
265 :
名無しさん@そうだ選挙にいこう :2005/12/20(火) 16:46:31
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 不 Personals.xlsが、しっかりとあるのに、 全くマクロが保存されません。 個人用で保存しようとしても、 「起動フォルダにある個人用マクロブックは、記録のために開かれた状態 でなければなりません」 って言われます。 助けて!
【1 OSの種類 .】 Mac OS X 10.2 【2 Excelのバージョン 】 Excel X for Mac Service Release 1 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 たとえば、テキストファイルで、一つのデータに 氏名 住所 メールアドレス があります。 住所項目に複数行の文字列が入っている場合、 これをExcelで一行3列に氏名 住所 メールアドレスの順番に 読み込ませ、かつ住所項目中の改行を保持するには、 テキストファイルのフォーマットをどうしたらいいでしょうか? タブ区切りでは、住所データ中の改行のせいで、 この2行目が先頭に来てしまいます。 あるいはExcelで開くときに何か方法があるのでしょうか?
>>265 既に個人用マクロにプロシージャがあるならファイル形式で吐き出しておいた後に
1回Paesonals.xlsを削除してもう一度個人用マクロに保存でPersonals.xls生成させてみたら?
268 :
265 :2005/12/20(火) 17:29:29
消しても駄目でした。。。 保存の仕方が間違っているのか。。。 確かに消した後で、やると保存スルトコまで行くけど もっかいエクセルつけると残ってませんでした。
Excell2000を使っているのですが、先日OSを2000から XPに替えたところ、マウスでセルを左クリックしたまま 下にスクロールさせた時のスピードが極端に遅くなり ました。 XPで100の位が1,2,3と増えていくスピードと2000 で1000の位が増えていくスピードが同じくらいです。 こんなものでしょうか?
271 :
257です :2005/12/20(火) 19:03:56
A B C 15 有り 25 無し 35 有り 上記のような表が有る場合、 C列が「有り」の場合にはB列は空欄で、 「無し」の場合にはB列にA列と同じ値を入れたい。 B列は手入力する事もあるので、関数の式を入れたくないです。 B列に関数式を書かずにB列に数値を入れられるでしょうか? 試してみたのは、D列の対応する行に、 =if(C1="有り","",A1=B1) こんな感じにしてみましたが無理なようです・・・。
>>270 マウスカーソル位置で速度が変わるのは知ってるだろうが、
Excel側ではそれ以外に速度を調整、又は設定する部分は無いからおそらく環境の問題だろう
メモリや描写能力が影響してくると思うけど、XPは2000よりどちらも消費しやすいので
スペックが弱いとXPと2000で大きく差が出ることもある
因みにうちではWinXPでもWin2000でも、1行目から65536行目までドラッグスクロールするのに
最速で2〜3秒ってところだな
>>271 > B列に関数式を書かずにB列に数値を入れられるでしょうか?
数式は式を入れたセルにしか値を返せないが、VBA使えば出来るよ
273 :
モジュール :2005/12/20(火) 20:16:13
マクロに詳しい方に質問です。 file名: A.xls ,B.xls , Cxls・・・・・・ と3000ほどのエクセルファイルがあり、その3000ほどのファイル名だけをマクロを 使ってあるエクセルファイルに保存したい場合、どのような構文を作ればいいのでしょうか? お願いです。教えてください
> と3000ほどのエクセルファイルがあり どこにあるのか知らないが、 特定ディレクトリにあるなら、ループ回せばいいだけじゃん サブフォルダ以下も探すなら再帰処理で ファイル名切り出しは文字列操作関数でやってもいいし、FSO使ってもいいし
275 :
名無しさん@そうだ選挙にいこう :2005/12/20(火) 20:47:32
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel 2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 はい Queryを使ってWebデータを取得し、そこから所望の情報を 抜き出したいのですがうまくいきません。 アドバイスを頂きたく、投稿いたしました。 (1)Web取得(2)「取引値」に一致するセルの下段の情報を取得(3)シートをクリア (4)urlを更新し、(1)へ という風に考えています。上記は(1)(2)の部分です。 (1)のみだとWebデータはシートに取得できます。 (1)(2)を動作させると**2のところでエラーがでます。 **1のところでシートに「ExtermalData_6:データの取り出し中」 と表示されるため、Webデータの取得・シートへの反映が完了 しないまま文字列検索に入っているようです。 Webデータのシートへの反映を確定させてから文字列検索を かけるにはどうしたらよいでしょうか? よろしくお願いしますm(__)m
276 :
275 :2005/12/20(火) 20:48:23
ソースです。よろしくお願いします。 HttpAdress: urlアドレスの文字列(string宣言) ------------------------------------------------------------- With Sheets(28).QueryTables.Add(Connection:=HttpAdress, Destination:=Range("A1")) .WebFormatting = xlAll .WebSelectionType = xlEntirePage .Refresh End With ' データの取得:始値・終値・高値・安値・前日比 MsgBox "Hello! 1 " '***1 m = 1 Do b = "a" & m cc = Worksheets(28).Range(b).Value '***2 If cc = "取引値" Then '取引値 m = m + 1 b = "a" & m TodayData(i, 0) = Worksheets(28).Range(b).Value MsgBox "取引値=" & TodayData(i, 0) Exit Do Else m = m + 1 End If Loop ---------------------------------------------------------------
277 :
275 :2005/12/20(火) 20:57:22
すいません。 BackgroundQuery = False を入れることで解決しました。 お騒がせしました。
278 :
名無しさん@そうだ選挙にいこう :2005/12/20(火) 21:06:32
エクセルを1からおぼえたいのですが、おすすめの本などありますか? 教室に通うお金がないので…
279 :
名無しさん@そうだ選挙にいこう :2005/12/20(火) 21:18:25
お聞きしま。 TODAY関数の値をDATE関数で使いたいのですが、これはムリなんでしょうか? 例えばTODAY関数を使ったところの表示をyyyyにして、これをDATE関数で年のところで 参照する、といった場合。
>>272 ありがとうございました。
msconfigでスタートアップ等を切っても変化がなく
やはり環境が原因なんだと思います。
ちなみにスペックは
ATHLON64X2 3800+
メモリー 2GB
Geforce6800
といった感じで、XPインストール前後で変化はありません。
282 :
名無しさん@そうだ選挙にいこう :2005/12/20(火) 23:24:58
ここは見るだけ無駄
自分でググル方がよっぽど参考になるし、回答も
横柄な感じで嫌味に聞こえる
>>2 とかレスしても答えになってないのに何様のつもりなんだろう
【1 OSの種類】 WindowsXP 【2 Excelのバージョン】 Excel2003 を使っております。 グラフを挿入したのですが、データラベルで、分類名を値を一行で出したいのですが、 勝手に改行されてしまいます。一行でデータラベルを表示する方法はございませんでしょうか? ご教示、よろしくお願い致します。
>>283 すいません。
×分類名を値
○分類名と値
でした。
285 :
名無しさん@そうだ選挙にいこう :2005/12/20(火) 23:57:22
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel md5 ハッシュ 一列をできるだけ簡単にmd5のハッシュ化する方法はないでしょうか? 他のフリーウエアなどとの組み合わせ技でもかまいません。 どうかよろしくお願いします。
>>282 ルール違反で答えて貰えなかったからって、そうムキになるなよ。
いい子だから素直に反省して次から気を付けようね。
見るだけ無駄なところを見てる変人さんがいるね。 ただ、見るだけ無駄なところを見るのは構わないけど、 自分の意志で見てるんだから、愚痴垂れるなよ。 愚痴垂れたくなるなら、最初から無駄だと思うところなど見るなよ。
>>254 それじゃ。超幾何分布じゃん
計算できないぞ?
290 :
名無しさん@そうだ選挙にいこう :2005/12/21(水) 07:00:14
今のパソもう大分前に買ったんだけどその時にワードとエクセル入れなかったんだけど 今頃になって必要になったんだけどタダでインストールってできる? 色々ググッテみたんだけどよくわかんない
できないよ
まあ、質問と回答を見てると、社会生活では質問者の方が はるかに回答者より社会的地位は高いと感じるね。 まあ、学生さんや新入の女子社員みたいな質問もあるけれど。 回答者の方は専門学校卒かせいぜい地方の国立大卒の 窓際実務屋ってかんじだな。
293 :
名無しさん@そうだ選挙にいこう :2005/12/21(水) 07:59:36
>>292 こんなスレじゃなくてマイクロソフトに電話して聞いたほうがいいですよ。
DATEADDみたいな関数ってある?
EMONTHとかEODATEかな?アドインで分析ツールを組み込むと使えるよ
>>285 > 他のフリーウエアなどとの組み合わせ技でもかまいません。
組合わせ技はあるけど、どんなものでもVBA使わないと
外部ソフトの組み合わせ技は出来ないよ
298 :
名無しさん@そうだ選挙にいこう :2005/12/21(水) 15:51:19
指定したセルの数値に1を+操作ってできますか? Excel 2000です。
>>298 .Value = .Value + 1
あとは
>>2 ※読んでかってにやれ
300 :
298 :2005/12/21(水) 16:05:58
レスありがとうございます。 .Value = .Value +1 というのはどこに打ち込めばよいのでしょうか? シート1とシート2のE1の数値を実行する都度一つ増加させたいのですが
意固地になるなよwwwwww
302
間違ってはないが意固地って変な使い方だな
305 :
298 :2005/12/21(水) 16:50:34
えーと↓こういうマクロを書きましたがエラーが出ます。 Sub Macro1() Worksheets("sheet1").Range("E1").Value = .Value + 1 Worksheets("sheet2").Range("E1").Value = .Value + 1 End Sub どこが悪いんでしょうか?
>>305 1回withステートメントってものがどんなのか調べろ
307 :
名無しさん@そうだ選挙にいこう :2005/12/21(水) 17:19:43
意固地になる質問者(´・ω・) カワイソス
308 :
名無しさん@そうだ選挙にいこう :2005/12/21(水) 17:41:52
地名 電車 空路 船 札幌 1000 青森 2000 東京 3000 札幌 1000 青森 2000 東京 3000 札幌 1000 青森 2000 東京 3000 ↑のような表があります。 ここで「札幌」という値を含んだ行に存在する数値を全て合計したいのですが、 SUMIFすると正確な合計が出ません。 左端の電車列のみの合計値しか出てきません。 どうすればいいでしょうか?
309 :
298 :2005/12/21(水) 17:50:29
Sub Macro1() With Sheets("sheet1").Range("E1") .Value = .Value + 1 End With With Sheets("sheet2").Range("E1") .Value = .Value + 1 End With End Sub こうしたら「インデックスが有効範囲にありません」と言われた。
310 :
298 :2005/12/21(水) 17:53:01
改行をなくしたら「参照が不正または不完全です」と言われる。
313 :
298 :2005/12/21(水) 18:04:08
デバッグは意味がわかりません。 なにかするとコンパイルエラーとか中止しますみたなこと言われます。 マクロ触るのも今日が初めてだからマジわかりません。
>>308 です。うまくいきました。
ありがとうございました。
298は、どうなりました、こうなりましたって結果をここに書くだけで、 自分で調べようって気が全く無いんだな。 これがテンプレすら読まずに質問する人間の質ってわけか。
316 :
298 :2005/12/21(水) 18:32:09
書きこみ
>>298 >>300 貰ったレス
>>299 >>306 >>299 を受けて
>>305 >>306 を受けて
>>309-310 テンプレ
・8 うまくいかなかったにしても自分でやってみたこと(組んだ数式やコード)は書きましょう。
例えエラーになる式やコードでも、何をやりたいのかを的確に把握する手がかりになります。
その上で、どううまくいかないのかを具体的に書きましょう。
エラーが出るなら、何処でどういうエラーが出るのか、
想定外の結果が出るなら、条件と想定上の結果、実際の結果などを詳しく書いてください。
これ以上どうしろと?
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━ ★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。 ★2 要望は具体例や図を使って明確かつ具体的に。
318 :
名無しさん@そうだ選挙にいこう :2005/12/21(水) 19:47:33
表の左上から、右下までの 対角線(A1 B2 C3 D4)を軸にして、セルの中身が入れ替わるような コマンド(っていうのかな)は、エクセルにありますか?
319 :
318 :2005/12/21(水) 19:50:12
対角線を軸にして、内容が半回転する感じです。 たとえば、B1とA2が入れ替わる。
320 :
298 :2005/12/21(水) 19:58:28
自己解決。 Withステートメント全然関係なし!サンクスコ!
>>318 標準では無い
が、自分で作ればいいだけの話でしょ
そのためのマクロだし
322 :
318 :2005/12/21(水) 20:15:34
>>321 レスありがとう!
マクロか。
高度なことができないので、
ひとつひとつ移動することにします。
マクロ分かれば便利なんだがって思うこと多いから、
勉強しようかな。
【1 OSの種類 】 Windows2000
【2 Excelのバージョン 】 Excel2000
通常の作業画面でセル内に納まっている文字が、印刷プレビューでみると必ずきれていたりはみ出ていたりします。
>>5 のFAQの基本に印刷プレビューと実際の印刷の結果が一致しないというのはありましたが、
印刷プレビューと通常の作業画面を一致させることはできないでしょうか。
>>323 それができれば、
>>5 のFAQにその方法が書かれます。
>>5 に書かれている以上の対策はありません。
325 :
323 :2005/12/21(水) 22:18:35
印刷プレビューと実際の印刷が違うっていう話ではなく、 通常のシート作業画面と印刷プレビューが違うっていう話なんですが、 原因及び対策は同じということでしょうか?
行列を入れ替えるって意味だろ? 普通に出来ると思うが。 コピー→形式を指定して貼り付け→行列を入れ替える 読み違ってたらスマソ
>318 (特に)319の説明が微妙にわかりにくいから321の人が無いと言ってしまったようだが、 要は転置行列を作りたいってことだよね? コピーして形式を選択してペースト時に「行列を入れ替える」にチェック
ケコーンした カキコ前にリロードしとけば良かった……
Excel2000を使っています。 x, y 0, 4 0.0625, 1 0.125, 3 0.25, 2 0.5, 5 1, 3 のデータを、散布図で表示しています。 その横軸を以下のようにしたいです。 0_1/16__1/8____1/4________1/2________________1 数値を分数表示にすれば、いちおう分数で表示されるのですが、 上のように倍数ごとの表示にすることが出来ません。 散布図ではなく、yに対して折れ線グラフを用い、項目別ラベルとしてxを用いれば 横軸は(当然ですが)倍数ごとの表示になります。 しかし、これでは0_1/16_1/8_1/4_1/2_1と等間隔になってしまいます。 上のように表示させることは可能でしょうか?お願いします。
330 :
名無しさん@そうだ選挙にいこう :2005/12/21(水) 23:37:28
タイマーでマクロ起動待機中にメッセージ or ユーザーフォームでその旨表示するには どうしたらよいでしょ? 指定時刻 = TimeValue("HH:MM:SS") 待ち時間 = TimeValue("HH:MM:SS") Application.OnTime TimeValue("HH:MM:SS"), _ "指定時刻に実行するマクロ名", _ TimeValue("HH:MM:SS") end sub の中に組みたいと思ってます。
>>329 折れ線にダミーの補間データを入れてデータ要素の書式設定でマーカーなし
332 :
329 :2005/12/22(木) 00:55:00
>>331 おぉ、ありがとうございます。
このようなやり方があるのですね。
・・・しかし、補完データを消すのが面倒ですね。
このやり方で頑張ります。
昨日から表計算ソフトを練習してまふ。 A-Bって計算をして、 答えが0や正ならそのまま、 負なら0を表示させる数式を教えてチョ。 IFでしか作れない? それとも、関数があるのかな?
IFも関数だけど。。。
IFがイヤなら =A-MIN(A,B) で出るが…
337 :
名無しさん@そうだ選挙にいこう :2005/12/22(木) 13:20:44
各セルに外部ブック参照の関数 =INDEX('[Book01.xls]2005'!B10:CG44,,1) =INDEX('[Book01.xls]2005'!B10:CG44,,2) ・・・と書かれており 外部ブックには2005,2006・・・とシートが用意されています .FormulaとRaplaceを使って シート名の2005の部分を書き換えて、シートの切替をしてるんですが 外部ブック参照のセルが沢山あって、一個一個書き換えるたびに外部ブックを読んでいるようで じかんがかかってしまいます。 セルの関数を全部書き換えてから、一気に読込むような処理にすることは可能でしょうか?
置き換えで一括置き換えすればいいんじゃない?
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 今日Excelを起動したら、 グラフの折れ線が表示されなくなってしまっていました (マーカーは表示されています)。 対処法がわかる方がいらしたら教えてください。 「データ系列の書式設定」-「パターン」の「サンプル」には 線が表示されているのですが・・・
340 :
名無しさん@そうだ選挙にいこう :2005/12/22(木) 13:32:20
>>334 >>336 の他に、=MAX(A-B,0)でもいい。
他の方法では表示形式でもできる。
書式→セル→表示形式→ユーザー定義で
G/標準;!0
342 :
339 :2005/12/22(木) 13:34:17
すみません、解決しました。 参照先セルが結合されていたせいでした。
スレ違いな向こうを叩き出され、 ここではテンプレ読まずに質問。 もう337は放置するしかないね。
向こうってどこだよwwwww お前の頭の中が共有されてるとでも思ってるのか 勝手に放置してろよwwww お前が何しようと何も変わらないってのwwwwwwww
wを連発してる子、可哀相・・・・・
(本当にちょっとした質問なので様式は使いません) セルに文字列をキーボードから入力して 途中で打ち間違いを訂正しようと←を押すと左のセルに移動してしまいます これをセル内でカーソルが移動するようにしたいのですが、設定方法はありますか? 上の状況でF2を押せばいいってのには気づきましたが F2を押さずにデフォルトがそうなるようにしたいんですが (入力が終わればenterで確定、そこで初めてカーソル移動したい)
同じ質問が何度か出たが、答えは「無い」だ
>337 再計算を手動にしときゃいいんじゃね?
349 :
名無しさん@そうだ選挙にいこう :2005/12/22(木) 20:21:02
excel2000でセルのふりがなの一部分を条件により取り出し表示させるべく関数を組んでみたら 長くなりすぎてしまった為、VBEを使うことにしたのですが、VBEで指定したセルのふりがなを取得するには どのようにすればよろしいのでしょうか? 変数=セル.(この部分がわかりません) 些細なことですみませんがご伝授願います。
ホント、些細なことだな。 VBAヘルプを"ふりがな"で検索すれば、サンプルまで載ってるってのに。
351 :
名無しさん@そうだ選挙にいこう :2005/12/22(木) 22:41:20
>>350 ありがとうございます。
ヘルプが入ってなかったのでインストールして見てみました。
おかげさまで無事に目的の関数も完成いたしました。
352 :
330 :2005/12/22(木) 23:44:10
>>333 重複しますがより具体的に説明させてもらいます。
Sub タイマー()
指定時刻 = TimeValue("HH:MM:SS")
待ち時間 = TimeValue("HH:MM:SS")
Application.OnTime TimeValue("HH:MM:SS"), _
"Macro1", _
TimeValue("12:35:00")
end sub
上記のマクロを昼休み前に実行し、昼休み中の12時35分にMacro1を実行させます。
しかし、モニター上ではマクロの実行中である事が分かりません。個人のパソコンでない場合は
同僚にエクセルを閉じられる事もあります。そこで、メッセージボックス、あるいはユーザーフォーム
で ”タイマー中でマクロの実行待ち” というような表示をさせたいと思っています。
ちなみにApplication.OnTime TimeValue("HH:MM:SS"), _ の前にメッセージボックスで同様のメッセージ
を出すように試しましたが、OKを押さないと設定時刻になってもMacro1は実行されませんでした。
ユーザーフォームやAPIでメッセージボックスを表示させれば良い VBAのMsgBox関数は閉じるまでコードが進行しないけど それが不都合なら、そうじゃないものを使えば良いだけの話でしょ
354 :
名無しさん@そうだ選挙にいこう :2005/12/23(金) 00:23:25
機械のスピード測定か何かで 機械1、1回目、速度1 機械1、2回目、速度2 機械2、1回目、速度1 機械3、1回目、速度1 機械1、3回目、速度3 機械2、2回目、速度2 とか言ったデータをどんどん入力して、後で 1回目、2回目、3回目 機械1、速度1、速度2、速度3、、、 機械2、速度1、速度2、速度3、、、 と言うように並べ替えられますか? 機械1、 機械2、 機械3、 まではできるんだけど、どうやって速度を拾い上げればいいでしょう。
>>354 「機械名」と「何回目」の組み合わせがユニーク(重複がない)で、かつ速度が数値であるなら
ピボットテーブル使えばよいと思う
356 :
330 :2005/12/23(金) 00:51:22
>>353 現在ユーザーフォームでトライ中ですがまだうまく動いてません。APIというのが何の事か知らない
ので調べます。ギブの場合また書き込みさせていただきます。ありがとうございます。
357 :
名無しさん@そうだ選挙にいこう :2005/12/23(金) 10:58:21
359 :
354 :2005/12/23(金) 17:16:14
>>355 ピボットテーブルでうまく行きました、ありがとうございます。
さらに質問で申し訳ないですが、元のデータが更新された
後で同様の処理をする時に、一からやり直さずに処理させる
ことはできますでしょうか。
データの更新で出来ればありがたいですが良く分かりません。
一連の操作をマクロ化するのかな、、、
よろしくお願いします。
OS:WindowsXP/Windows2000 Excel2003/Word2003 Word/Excelでキー割当て(binding)の設定変更ができないでしょうか。 よくExcelでfunction key "F2"を押すつもりが、しばしば、"F1"を押してし て、Helpが立ち上がってしまいます。Helpの起動には時間がかかるので、こ れが立ち上がってしまうと、完全に立ち上がるまでExcelの動作が固まってし まい、操作を暫く止めないといけません。 "F1"でHelpを起動させなくする方法は、何かありますか。
362 :
名無しさん@そうだ選挙にいこう :2005/12/24(土) 04:03:30
すみません。以下のようなマクロでオブジェクト(円)の色を 対応するセルの値に応じて変更させたいと考えています。 oval 2で終っていますが実際は延々と続きます。上手いまとめ方を教えてください。。 ActiveSheet.Shapes("oval 1").Select a = Cells(1, 1).Value If a = 1 Then Selection.ShapeRange.Fill.ForeColor.SchemeColor = 13 ElseIf a = 2 Then Selection.ShapeRange.Fill.ForeColor.SchemeColor = 10 Else Selection.ShapeRange.Fill.Visible = msoFalse End If ActiveSheet.Shapes("oval 2").Select a = Cells(2, 1).Value If a = 1 Then Selection.ShapeRange.Fill.ForeColor.SchemeColor = 13 ElseIf a = 2 Then Selection.ShapeRange.Fill.ForeColor.SchemeColor = 10 Else Selection.ShapeRange.Fill.Visible = msoFalse End If End Sub
>>362 共通部分を関数化して対象オブジェクト名と参照セルのアドレスか値を引数で渡す
だけでいいと思うんだけど、機能のモジュール化が苦手なんかな?
ここまで書ける人間なら上のヒントで書けるでしょ。
364 :
362 :2005/12/24(土) 09:37:56
>>363 さんくす。共通部分を関数化!なるほど。
頑張ってみます。ちなみにvba初心者なものでここまで来るのも大変でした。
>>364 機能のモジュール化(関数化)は、ソースをすっきりさせてバグを減少させるし
多用する機能ほど、ソース修正時にも手間が省けて憶えて損のない手法。
関数を上手く使いこなすのが初級と中級の分かれ目だから精進せよ。
366 :
362 :2005/12/24(土) 11:30:44
>>363 , 365
ありがとう。大分すっきりしました。func1, func2にそれぞれ色指定、true/falseを仕込みました。
まだovalの受け渡しだけ上手く出来ていませんが、最初と比べれば!感謝です!
i = 1
Cells(i, 1).Select
ActiveSheet.Shapes("oval 1").Select
Selection.ShapeRange.Fill.Visible = func2(c)
Selection.ShapeRange.Fill.ForeColor.SchemeColor = func1(b)
i = i + 1
Cells(i, 1).Select
ActiveSheet.Shapes("oval 2").Select
Selection.ShapeRange.Fill.Visible = func2(c)
Selection.ShapeRange.Fill.ForeColor.SchemeColor = func1(b)
368 :
362 :2005/12/24(土) 12:05:52
>>367 こういうことでないのは分かるんだけど出来なかったw
オーバルが変数に出来ればループで完成なのだけど挫折
取り敢えずこれで後は力技…。
普通にこれでいけるね Call oval_color("oval 1", Cells(1, 1).Value) Call oval_color("oval 2", Cells(2, 1).Value) Sub oval_color(v_obj, v_cell) ActiveSheet.Shapes(v_obj).Select If v_cell = 1 Then Selection.ShapeRange.Fill.ForeColor.SchemeColor = 13 ElseIf v_cell = 2 Then Selection.ShapeRange.Fill.ForeColor.SchemeColor = 10 Else Selection.ShapeRange.Fill.Visible = msoFalse End If End Sub
371 :
名無しさん@そうだ選挙にいこう :2005/12/24(土) 19:25:54
=rss|'1320.OS'!出来高 上記のような数式をセルに貼り付けたところ、文字列として認識されます。 F2を押して、ENTERを押すと、計算されますが、すべてのセルにその処理をやるのは、あまりに時間がかかり、困っています。 何かよい方法はないでしょうか?VALUE関数も使用してみましたが、だめでした。。。
>>371 それ、楽天のツール?だと思うけど、それならそういう情報書いておかないと。
回答じゃないからスマンけど。
373 :
371 :2005/12/24(土) 20:26:50
すみません。楽天のツールです。ただ、それは、おそらく関係ないと思っています。よろしくお願いします。
>それは、おそらく関係ないと思っています。 そういうことを自分で判断したいなら人に聞くな。 人に聞くなら関係有るかどうかに関わらず細かい情報も書け。 関係有るかどうかは回答者が判断することだ。
375 :
名無しさん@そうだ選挙にいこう :2005/12/24(土) 21:29:52
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 マクロを分解して切り張りする程度 【4 VBAでの回答の可否】 可 セルの扱いに付いて質問させてください。 数値を入力した列のデータ間に、空白セルが入っていて、 選択したセルから下方向へ、空白セルを結合したい。 その時、次のデータが、最初に選択したセルの内容と同じなら、 最初に選択したセルから、同じ内容が入力されているセルまでを結合 入力されている内容が違えば、その1つ前の空白セルまでを結合。 例えば、 A3が選択されていて、データが"NS118" 空白セルが続き、次にデータが入力さているセルがA11 A11のデータが"NS118" データ内容が同じなので、セルA3からA11までを結合 A20が選択されていて、データが"NS225" 空白セルが続き、次にデータが入力さているセルがA23 A23のデータが"NS196" データの内容が違うので、セルA20からA22までを結合 よろしくお願いします。
>>375 With ActiveCell.End(xlDown)
ActiveCell.Resize(.Row - ActiveCell.Row - (.Value = ActiveCell.Value)).Merge
End With
警告ウザかったらDisplayAlerts
377 :
375 :2005/12/24(土) 23:45:50
378 :
名無しさん@そうだ選挙にいこう :2005/12/25(日) 11:33:17
【1 OSの種類 .】 WindowsMe 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 使えない以前にVBAを知らない 【4 VBAでの回答の可否】 否 =SUBSTITUTE(ROUND(CONCATENATE((LEFT(D35,1)*60)+(RIGHT(LEFT(D35,4),2))+(RIGHT(D35,2)/10))/3,2),".",@) と言う関数を作っていたのですが、@の部分に「"」を指定できません。 指定は出来ないものなのでしょうか。 よろしくおねがいします。
普通に指定すればいいんじゃないの?
""""
381 :
名無しさん@そうだ選挙にいこう :2005/12/25(日) 13:23:20
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 不 マクロが保存できなくて、マイクロソフトのエクセルのフォルダに PERSONAL.XLSを作って、保存出来るようにしたのですが、 新規にエクセルを起動すると、シートが出て来ません・・・・ いちいち新規をオスハメになってしまってます。 助けて下さい。
> マクロが保存できなくて 何に保存しようとして保存できなかったの? > マイクロソフトのエクセルのフォルダに Program Filesの方? Application Dataの方? > PERSONAL.XLSを作って 手動で作ったの?Excelから作ったの? > 保存出来るようにしたのですが、 保存できたというのはどうやって確認したの? > シートが出て来ません PERSONAL.XLSには基本的に表示されるシートは無いけど
383 :
名無しさん@そうだ選挙にいこう :2005/12/25(日) 15:06:25
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 photoshopで切り取った60mm*11mmの画像を挿入して印刷したのですが、なぜか画像サイズが小さくなって印刷されます 調べてみると「それがエクセル」と書かれていて、「余白に余裕を持たせれば解決するかも」などと答えられていたのですが、何度試してみても同じ結果になります どうにかして当初のサイズ通りに印刷させることはできないでしょうか?
Excel上のオブジェクトの絶対サイズは、印刷時に再現されることが保証されてない。 それがDTPソフトでもCADソフトでもない計算ソフトExcelの仕様。
図の書式設定
386 :
381 :2005/12/25(日) 17:09:51
>>382 ・個人用マクロブック
・アプリケーションデータ
・手動で空ファイル作りました。
・PERSONAL.EXLじゃなくて、新規エクセルファイルを開いたときに、
ボタンやメニュー以外表示されない状態。
新たに紙みたいな新規ボタンを押さないと、ワークシートが出現しないんです。。。
387 :
383 :2005/12/25(日) 17:48:44
>>384 やはりそうなんですね
残念ですが諦めるしかないんでしょうか
>>385 早速試してみましたが、やはり小さなサイズになってしまいます
>>387 オートシェイプの四角形の上に貼り付けるとか。
枠線の伸縮につれて画像のサイズも変わらない?
>>386 > ・手動で空ファイル作りました。
空ファイル(0バイトファイル)に名前と拡張子付けただけじゃダメだよ
ちゃんとブックを作らないと
> 新規エクセルファイルを開いたときに
新規エクセルファイルは開くものじゃなくて作るものだよ
xlsファイルではなく、Excel.exeを叩いた時に新規シートを作成するか否かは
コマンドライン/eオプションで設定する
390 :
346 :2005/12/26(月) 14:18:51
391 :
名無しさん@そうだ選挙にいこう :2005/12/26(月) 17:35:18
セル内での文字数制限について教えてください。 excel2002でVBAの知識はありません。 文字列(数値ではない)を入力していくときに、一定文字数を超えた分は 自動で下のセルに分割するようなことってできますか? 具体的に説明すると、例えば1セルの上限を6文字までにしたい場合、 A1に「あいうえおかきくけこさしすせそ」と一気に打ったときに、 A1「あいうえおか」 A2「きくけこさし」 A3「すせそ」 となるようにしたいのです。 「縮小して全体を表示する」では都合が悪い(文字が小さくなるのは困る)ので、 今はいちいち1文字ずつ数えて分割(切り取り)しています。 ヘルプやググった結果、「入力規則」の「文字列(長さ指定)」が一番近いような気がしますが、 これだとオーバーしたときにエラーメッセージが返ってくるだけで、 あまり実用的ではない気がします。 関数とか高レベルの問題ではない気もしますが、どなたかよろしくお願いします。
同一セル内での改行でいいなら、「折り返して全体を表示する」を使う 別セルに表示させたいならVBA必須 関数よりさらに高レベルな問題 VBAがダメなら、適当な文字列整形ソフトでも兼用しな 指定文字数での改行はもちろん、ウィンドウ幅で動的に折り返して クリップボードにコピーするときに、折り返し位置に改行を入れられるものもある それと > ヘルプやググった結果、「入力規則」の「文字列(長さ指定)」が一番近いような気がしますが、 > これだとオーバーしたときにエラーメッセージが返ってくるだけで、 > あまり実用的ではない気がします。 入力規制というのを良く知らないみたいだが、これが決まった値(文字種、文字数など)以外を 入力出来なくするための物なので、エラーメッセージが返ってくるだけで入力規制としては実用的 おまえがやろうとしてることは入力後の整形であり、全く別の概念のもの
393 :
391 :2005/12/26(月) 19:37:36
>>392 ありがとうございます。
簡単そうなのかと思ったら、意外と難しいようですね。
>>391 でも書いたように、同一セル内ではなくて
別のセル(下のセル)に分けたかったのです。
もう少し勉強してみます。
394 :
名無しさん@そうだ選挙にいこう :2005/12/26(月) 21:36:57
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 乱数を出すやり方を教えてください。 たとえば、1〜10までの整数のうち、 5個の整数をランダムに出す計算式をおしえてください。 関数のRANDを使うんですよね? よろしくお願いします。
395 :
d :2005/12/26(月) 21:44:54
>>391 VBAです。どうぞ。
シート見出しを右クリックし「コードの表示」
そこへ下記コードをコピペ
Private Sub Worksheet_Change(ByVal Target As Range)
'A列以外なら何もしない
If Target.Column <> 1 Then Exit Sub
'変更が1セルでなければ何もしない
If Target.Cells.Count > 1 Then Exit Sub
Const 文字数制限 As Integer = 6
Dim V As String
V = Target.Value
Application.EnableEvents = False
Do
Target.Value = Left$(V, 文字数制限)
V = Mid$(V, 文字数制限 + 1)
Set Target = Target.Offset(1)
Loop Until Len(V) = 0
Application.EnableEvents = True
End Sub
>>394 =INT(RAND()*10+1)
=INT(RAND()*10+1)
=INT(RAND()*10+1)
=INT(RAND()*10+1)
=INT(RAND()*10+1)
397 :
394です :2005/12/26(月) 22:05:02
396さん ありがとうございます。 やっぱり、そうなるんですね。 いっぺんには出ないんですね。
398 :
名無しさん@そうだ選挙にいこう :2005/12/26(月) 22:12:36
Vlookup関数っていうのは縦方向のデータリストにて求められますが 横方向のデータを検索したい場合、そういう関数やテクニックなんて ありますか? 1日 2日 3日 4日 5日・・・ パン 干物 めし そば 牛乳 ていうリストがあったとして、別シートのA1セルに、例えば「4日」と入力すると B1セルに「そば」と表示されるみたいな・・・ みんな忙しいのにスンマセン。困ってます。
400 :
391 :2005/12/26(月) 22:52:30
>>395 うわー、まさにこんな感じです!
VBAってすごいんですね。感動しました!!!
3行目の
If Target.Column <> 1 Then Exit Sub
この「1」というのがA列ということですかね?
「2」にするとB列が適用されるようなので・・・。
あと、6行目の
Const 文字数制限 As Integer = 6
の数字をいじれば、何列で折り返すかが変更できるわけですね。
本当にありがとうございました。
401 :
名無しさん@そうだ選挙にいこう :2005/12/26(月) 23:28:49
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ(勉強中) 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 オートフィルタ 複数行 等 項1と項2はそれぞれ123,456でセルを結合しています。 オートフィルタを使用して、Aの項1を選択するとaしか表示されません。 Aの項1を選択して、abc全てが表示されるようにするにはどうしたらよいのでしょ うか? A B 1 a 2 項1 b 3 c 4 a 5 項2 b 6 c
402 :
名無しさん@そうだ選挙にいこう :2005/12/26(月) 23:36:57
ここで質問してよいか分かりませんが OS:WINDOWS XP SP2 EXCEL2000,WORD2000,POWER POINT2000で 起動すると エラーダイアログが表示され ダイアログ名[Microsoft Visual C++ Runtime Library] 内容:Runtime Errir! Program: C:\Program Files\Microsoft Office\Office\EXCEL.EXE This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. が表示されます インストールしなおしても上記ダイアログが表示され、どうして良いか 分かりません 誰か分かる方いませんか?
403 :
名無しさん@そうだ選挙にいこう :2005/12/26(月) 23:37:52
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ(勉強中) 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Selection.AutoFilter ロック 保護 等 マクロで検索ボタンを作ってるのですが、 シートを保護した状態では検索ボタンが 機能しません。 保護されたシートに対してこのコマンドは使用できません。 とでます。 シート自体は保護したいので、なにか解決策は無いでしょうか? よろしくお願いします。
404 :
名無しさん@そうだ選挙にいこう :2005/12/27(火) 00:17:58
Excel2003を使っています。 印刷の事で質問です。 エクセルで作った表を印刷しようとしています。 エクセルウィンドウに表示されている表は小さく、 印刷プレビューを表示すると、まだ用紙に余白がかなりあります。 横はそうでもないのですが、特に縦が空いている状況です。 そこで、縦と横の拡大率バラバラで印刷する事を考えてみました。 縦2倍、横1.2倍といったような操作をする事ができれば、 用紙にピッタリに収められると思ったのです。 @縦と横の拡大率バラバラはできますでしょうか? Aそれ以外に、この問題への良き解決方法があるようでしたら教えてください。
>>404 印刷時の指定で縦と横の拡大率を変えることはできません。
無理にやるなら、表ごとコピーしといて別のシートに「図の貼り付け」。
Shiftキーを押しながら「編集」メニューを開くとこれが使えます。
いったん図にしてしまえば、後は縦だろうが横だろうが自由に
拡大・縮小できます。もちろんそのまま印刷も可能。
407 :
名無しさん@そうだ選挙にいこう :2005/12/27(火) 09:41:49
三つの別々のセルから得た数字を日付に変換しして曜日を得たいのですが A1=年度(例2006) B1=月(例12) C1=日(例25) だとして 曜日の書式をaaaa =DATEVALUE(RIGHT(A1,4)&"/"&RIGHT(B1,2)&"/"&RIGHT(C1,2)) としてみました 表示はされるんですけどエラーが出ます 参照される三つのセルの書式かなとも思い色々いじってみたのですが エラーが消えません 無視してもいいのですが気持ち悪いのでわかる方お願いします 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 数字 日付 エクセル 曜日取得など・・・
408 :
407 :2005/12/27(火) 09:56:30
失礼 なんか解説を勘違いして変な関数書いたけど =DATEVALUE(A1&"/"&B1&"/"&C1) でも曜日は出ますね でもこれでもまだエラーが出ます どうしてでしょう?
>>408 書式は設定せずに
=TEXT(DATEVALUE(A1&"/"&B1&"/"&C1),"aaaa")
でもエラーが出ますか?
410 :
409 :2005/12/27(火) 12:21:05
=TEXT(A2&"/"&B2&"/"&C2,"aaaa") でもいけるか。
>>398 >399の書いたINDEXとMATCHが一般的だが、HLOOKUPもあるよ。
412 :
d :2005/12/27(火) 13:49:52
>>403 シート保護解除
検索
シート保護
とすればよいのでは。勿論コードで。
コードはマクロの記録で得られます。
414 :
401,403 :2005/12/27(火) 14:12:07
>>412 >>413 無事シート保護しつつマクロでボタンが動作しました。
ありがとうございました。
>>413 ループとはなんでしょうか?
エクセルのヘルプをみると図表がでてくるのですが、これのことでしょうか?
415 :
名無しさん@そうだ選挙にいこう :2005/12/27(火) 19:22:20
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ(勉強中) 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 AutoFilter 条件 解除 VBA 等 複数の列にオートフィルタをかけています。 オートフィルタで絞り込み中の状態で、 VBAで全ての列の絞り込み状態を解除することはできますか? オートフィルタそのものを解除すると不具合がでます。
416 :
407 :2005/12/27(火) 22:07:57
>>409 レスありがとうございます
えーと変な話なんですが
エラーは無視してしばらく他の場所をいじってたらいつの間にかエラーでなくなってた・・・
ちなみに
=TEXT(DATEVALUE(A1&"/"&B1&"/"&C1),"aaaa")
も
=DATEVALUE(A1&"/"&B1&"/"&C1)
も
新規の書類を作ってその関数だけ書いてみたら問題なく動きました
なんか変ですけど、動いてるのこのまま使ってみます
ありがとうございました
417 :
名無しさん@そうだ選挙にいこう :2005/12/28(水) 04:31:51
エクセル2003を使用しています。 セルの縦一列に活字データーが入っているのですが、 その文の先頭に「★」マークを付けるにはどうすれば良いですか?
>>417 対象がA列なら、B列に「="★"&A1」とか入れればいいじゃん
それをA列に戻したいなら、B列をコピーして値の張り付け
VBAでやるならループ回して、.Value = "★" & .Value
量が多ければ配列に取得した方がいいかもな
419 :
d :2005/12/28(水) 09:40:20
>>415 ActiveSheet.ShowAllData
420 :
d :2005/12/28(水) 09:49:05
>>401 セル結合をやめて、表示したくない部分の文字色を「白」にする。
OS XP Ver 2003 です 簡単な自動集計できる表を作りたいです。 シート1のセル”A1”の値を集計シートのセル”A1”にコピー シート2のセル”A1”の値を集計シートのセル”A2”にコピー シート3のセル”A1”の値を集計シートのセル”A3”にコピー と、いうように自動で貼り付けたいのです。 Selection.End(xlDown).select でデータの最下段のジャンプできるのはわかるのですが、 その1つ下のセルをアクティブにする「+1」の方法がわかりません。 シートが増える毎に「最下段セル+1」をアクティブ&貼り付けです。 わかりづらくてすいません。
424 :
422 :2005/12/28(水) 16:32:56
>>423 ご助言ありがとうです。
Selection.Copy
Sheets("集計").Select
Range("B2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Activate
ActiveSheet.Paste
と、書いてみました。
1度目は上手くいきますが、2度目以降が(シート2)が同じ場所に
(B2)上書きされてしまいます。
どこがいけないのでしょうか。
ヒントいただければ幸いです。
度々すいませんです。
それぞれのプロパティが何を返してるのか見れば 何処に問題があるのかすぐわかるだろ そのへんのことがわからないなら「VB デバッグ」でググってこい
426 :
名無しさん@そうだ選挙にいこう :2005/12/29(木) 00:19:17
初めまして。 質問お願い致します。 【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 VBAの意味が分かりません。 【4 VBAでの回答の可否】 否 横書きでの集計表を作りたいのですが全く分かりません。 一ヶ月分の表ですが、日ごとに販売個数を入力し、入力毎に合計を出したいのですが、 エクセルの専門の本を読んでも難しくて… 稚拙な文ではありますがどなたかレス宜しくお願い致します。
427 :
名無しさん@そうだ選挙にいこう :2005/12/29(木) 00:27:03
エクセルの印刷について。 ブック全体(複数のシート)を1枚の用紙に2UP等に分割して 印刷したいのですが、 全シートを選択した状態で ファイル→ページ設定→オプション レイアウトで分割を選択して、 印刷をしても最初のシート(全シートを選択前に選択していた1つのシート)のみ 分割されて印刷され、他のシートは1枚1ページとして印刷されてしまいます。 この解決方法をおしえてください。
>>429 シートが変われば用紙が変わるのは仕様です。
通常、エクセルではそのような形の印刷を想定していません。
どうしてもやりたければ、「編集」メニューの「図の貼り付け」
(Shiftキーを押しながらメニューを開くと使える)
とかで、作業用のシートに印刷したい表を「図」にして用意
するしかありません。「図」なら自由に拡大縮小できるので
好きな形で用紙に収めることができます。
それで読みやすいかどうかは、印刷する表によりますが。
431 :
名無しさん@そうだ選挙にいこう :2005/12/29(木) 09:07:26
sumやΣを使用すると、勝手にハイパーリンクの設定になり、 そこをクリックするだけで勝手にメール画面になります。 関数を使用しても勝手にハイパーリンクにならないようには出来ますか? エクセル98を使用しています。
>>431 MacのExcelは良く知らないけど、
WinのExcel(97、2000、2002、2003)だと
標準では関数を入れただけではハイパーリンクになどならないはずだが。
マクロでも入ってるんじゃないの?
433 :
名無しさん@そうだ選挙にいこう :2005/12/29(木) 09:20:10
NOWをBに文字列が入ったときEに出してるのですが、一列(横)毎に入力した時間で出すことは出来ますか?
435 :
名無しさん@そうだ選挙にいこう :2005/12/29(木) 09:38:49
>>432 MACではなくWIN用です。
勝手になるんですよね。
どこか設定を解除(又は設定)するところは知りませんか?
エクセル98ってMac用しか無いのでは?
右クリック
439 :
名無しさん@そうだ選挙にいこう :2005/12/29(木) 12:09:21
>439 一応、エロゲでなくてギャルゲだったりします。 隣り合った要素と干渉しないで扇形の積み重ねというのが作れなくて(´・ω・`)
441 :
名無しさん@そうだ選挙にいこう :2005/12/29(木) 17:16:01
>>426 です。
お礼遅れて大変失礼致しました。
URLありがとうございます。
拝見致します。
442 :
名無しさん@そうだ選挙にいこう :2005/12/29(木) 18:22:00
435です。 98ではなく、2000でした。 宜しくお願いします。
>>443 100%積み上げ横棒 でグラフを作り
データ系列の書式設定>オプション>区分線
445 :
443 :2005/12/30(金) 23:36:17
>>444 早レスありがとうございました。助かりました
【1 OSの種類 .】 WindowsXP(Me) 【2 Excelのバージョン 】 Excel2003(2000) 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 ― ※( )内は自宅のPC。ファイル作成は自宅、使用は会社です。 シート1が入力用 シート2が印刷用 というファイルがあるのですが、この“入力シート”に入力した条件によって 色を変えるにはどういう方法があるでしょうか? (そのシートに何が入力されたか(=条件付き書式)というのではなくて) 感覚としては「社員名」でログインした状態で、データをいじると そのデータの部分がその「社員名」に割り当てた色になるという。 Aさん:赤で表示 Bさん:青で表示 Cさん:黄で表示 現時点では入力するデータの横に名前を選択する項目を付けて対応しているのですが、 入力するデータが多いので、可能なら人ごとに色分けで表示することができればなと 考えているのですが。どんな機能(関数など)を使えばこれが実現できるのかが分かりません。 よろしくお願いします。
>>446 そのデータがどんなものか分からないと何とも言えないなぁ・・・。
仮に1つのデータが1セルで完結しちゃうような場合なら、
その社員ごとに入力するセルを分けちゃえば、
あとは関数でデータコピーして、かつ条件付書式で色分けできるけどね。
スレ汚しスマソ
448 :
447 :2005/12/31(土) 01:35:08
微妙に訂正。 >その社員ごとに入力するセルを分けちゃえば、 ↓ >その社員ごとに入力する列を分けちゃえば、
Private Sub Worksheet_Change(ByVal cell As Range)
Set net = CreateObject("Wscript.Network")
user = net.UserName
With cell.Font
Select Case user
Case "A"
.Color = RGB(255, 0, 0)
Case "B"
.Color = RGB(0, 0, 255)
Case "C"
.Color = RGB(255, 255, 0)
Case Else
.Color = RGB(0, 255, 255)
End Select
End With
End Sub
ということではまいか?
入力方法は
>>12
下記のような、好き勝手に採番された顧客コードデータがあります。 0001 あああ産業 0002 いいい商店 0004 ううう工業 0008 えええ海運 0012 おおお商事 ・ ・ ・ 今後、VBAなどを使って自動採番できる仕組みを作りたいと考えています。 (例えば、マクロボタンを1回押すと"0003"が表示される。 もう1回押すと"0005"が表示される。) 何か良い方法はありますでしょうか?
>>450 顧客コードでソートしておいて、最終行の顧客コード+1した番号で
採番していくのはどうでしょう。
ソートしたくなければ、顧客コードのカラムを上から下までなめて、
空いている番号を使えばおK。
>>450 VBAでやるとすればいくつか方法があるな。
データを配列に格納して、そのまま総当たりorソートして順当たり
ワークシート関数COUNTIFの第二引数に連番を入れていき、0を返す値を探す方法
などなど
453 :
446 :2006/01/01(日) 15:51:33
ご回答いただきまして有り難うございます。年明け早々からすみません。
>>447 A B C D E F
1 品名 品番 受注日 担当 納品日 担当・・・・(30項目)
2 アイウ 123 1/1 A 1/15 B
3 エオ 456 1/2 B 1/10 C
4 カキク 78 1/3 A 1/31 A
5 ケコ 910 1/4 C 2/23 B
:
(平均100項目〜)
どの項目に誰が入力するかが決まっていないため、「入力した人」を一目で
判別させるために、各入力欄の隣に「入力者名」(入力規則でリスト形式)に
しています。(上記では列D、Fなど) ただ、やっぱり列が増えるのと入力す
る人が何項目にもわたって処理を行う場合に手間がかかるので、色分けを
考えています。
454 :
446 :2006/01/01(日) 15:52:58
>>449 Private Sub Worksheet_Change(ByVal cell As Range)
Set net = CreateObject("Wscript.Network")
user = net.UserName
With cell.Font
Select Case user '選択によって処理を変える
Case "A"
.Color = RGB(59, 31, 19) 'Aさんは茶色
Case "B"
.Color = RGB(0, 80, 113) 'Bさんは青
Case "C"
.Color = RGB(110, 47, 109) 'Cさんは紫
Case "D"
.Color = RGB(210, 56, 42) 'Dさんは赤
Case "E"
.Color = RGB(164, 117, 48) 'Eさんはカーキ色
Case "F"
.Color = RGB(0, 96, 78) 'Fさんは緑
Case Else
.Color = RGB(0, 0, 0) 'A〜Fの選択肢以外の時は黒
End Select
End With
End Sub
…ご提案いただいた物を、
>>12 を参考にシートオブジェクト(Sheet1(入力))に貼り付けて
みたのですが。
申し訳ありません、冒頭4行をよく理解できていないようで、「選択」を行うことができずに
すべて黒で表示(Case Elseで設定されている「選択肢以外の時」?)されてしまいます。
選択をする部分をファイルのどの箇所にすると、このコードが実行されるようになるでしょ
うか?(恐らく同じシート内に選択肢を設けて、そこにマクロを挿入すればいいのかなと
思い、
>>13 を参考にして「リストボックス」にしてみたのですが…ものすごい見当違いな
のでしょうか)
お手数ですが、もし宜しければ再度お教えいただけないでしょうか。
> 冒頭4行をよく理解できていないようで
理解できないような文を自分で書いて置いてそりゃないだろ
> “入力シート”に入力した条件によって色を変えるには
「何処に」入力された「どんな」条件で「何処の」「何を」「どう変えたいのか」
のうち、「何処に」と「何を」しか書いてない
この二つだってとても具体的とは言えないしね
入力シートの何処に入力されたものを条件とするのか書いてないし、
何の色を変えるのかも書いてない
>>453-454 で大体の予測は付くが、回答者に予測させるような質問の仕方はするな。
自分が行う操作(マクロの開始条件、及び動作条件となる)と
自動で行いたい動作(マクロの内容となる)を、
"具体的に"、"順を追って"、"事細かに"説明しましょうね
456 :
名無しさん@そうだ選挙にいこう :2006/01/01(日) 19:19:47
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 ―
下記サイト、先週までの予想と結果の中の
各詳細をそれぞれエクセルのシートに取り込みたいと思います。
半自動で行うようにしたいのですが、どういった手法があるのかわかりません。
参考になるサイトを示して頂けるだけでも助かります。
よろしくお願いします。
http://www.nifty.com/kachiuma/
>>456 VBAで可能だが
>>2 ・7
最終的にシート上にデータを置きたいとしても
「Webから自動的にデータを取得する」
という部分には全くExcel関係ないので、まずはその部分を自分で調べてこい
その上で取得したデータをシートに取り込む方法ならここで聞いてもいいけどね
参考になるサイトはGoogleだ
勉強すべきことは、httpとスクリプトとVB
とりあえず取得する部分ではExcelは関係ない
458 :
名無しさん@そうだ選挙にいこう :2006/01/02(月) 00:27:31
簡単な質問ですみません エクセルで数字を入力する方法ですが、 Enterで右セルに移動する設定で、右端の列の入力が終わったら、 自動的に次の行の左端の列に移るような機能は設定できないのでしょうか? いろいろ検索してみましたが該当の機能はないようです。 あっても良さそうな機能なので、知っている方居たら教えて頂けないでしょうか。
>>458 入力するセルのロックを解除して、
(セル上右クリック→[保護]タブの[ロックの解除])
入力しないセルをロックした状態で、【シートを保護】
※ただしこの場合、最後の行を入力し終えた時は
EnterではなくTabを押して移動します。すると次の行の左端へ。
自動化は分かりませんが‥手間かからないならこの方法しか
知らないのでお役に立てなければごめんなさい。(Excel2000)
>>458 >>459 とは違う方法
A1→B1→C1→A2→B2→C2 の順で入力したい場合
A1:C2 をドラッグした状態で、入力後 Tab キーで上記の様に移動します。
因みに、同じ選択範囲で、入力後 Enter キーだと
A1→A2→B1→B2→C1→C2 の順で移動します。
Sift と組み合わせると逆の動きになるので、試して見て下さい。
OutloolExpressに添付されてくるexcelファイル、これをoutlook上から 開いき、何か変更を加え保存した場合、変更が反映されませんが、 保存されたという反応だけはあります。 変更が加えられたファイルはどこにあるのでしょうか?
>>458 データを入力し終わったらTabで右に移動
次の行に行くときEnter
464 :
456 :2006/01/03(火) 01:53:17
>>459 .460.463
ありがとう大変助かりました
466 :
名無しさん@そうだ選挙にいこう :2006/01/03(火) 15:37:31
【1 OSの種類 .】 WindowsXP SP2 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 可 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 vlookup, lookup A列に日付、B列にその日の点数がそれぞれ40行まで入っていて、 そこから点数の最大値とその時の日付を求めたいと思っています。 検査値が左端の列にないので、lookup関数を使いました。 引数を固定するためにそれぞれ多めに100行ずつとって =LOOKUP(max(b1:b100),B1:B100,A1:A100) とすると、最大値ではなく、点数が入っている一番下40行の日付(つまりA40)となってしまいます。 第一引数に直接最大の点数を入れても結果は同じでした。 ただ、最大以外の点数を入れると正しくその点数を取った時の日付が表示されます。 1.これはlookup関数の仕様なのでしょうか? 2.何か解決法があれば教えて下さい(引数を可変にする方法等)。
>>466 1.仕様だけど、ヘルプにバッチリ書いてある
2.解決法はヘルプに書いてあるLOOKUP関数の使い方に従うこと
それが出来ないならINDEX&MATCHを使う(というかこっち覚えた方がいいよ)
引数範囲の可変はOFFSET関数とカウント系関数で可能
468 :
名無しさん@そうだ選挙にいこう :2006/01/03(火) 16:46:34
A B C 1 性別 グループ 得点 2 男 a 30 3 女 b 40 4 男 b 20 5 女 a 10 6 男 a 20 7 女 a 10 "男でa","男でb""女でa""女でb"の4つの点数を抽出し足していきたいです。 条件が二つになるとsumifを使って足していけない出来ないのでしょうか? 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ
>>468 D列に=A2&B2と入れて、それを条件にSUMIF(,"男a")
D列は非表示にしたって構わない
どうしても作業列を作りたくなければ配列数式でSUM&IF
470 :
466 :2006/01/03(火) 16:59:37
>>467 未入力セルがある・ない以前に、
lookup系関数は検査範囲が昇順に並んでいないと駄目なんですね。
教えてもらった通りindexとmatchを使って、
=INDEX(A1:A100, MATCH(MAX(B1:B100), B1:B100, 0))
として所望の値を表示することができました。
ありがとうございました。
>>469 なるほど、目からうろこです。あざーす。
472 :
名無しさん@そうだ選挙にいこう :2006/01/03(火) 22:49:31
A
1 ファイル名
2 000
3 001
4 002
(略)
Aの列、000や001などの後ろに「.html」を付加して000.htmlや001.htmlにしたい。
また、先頭に
http://www.hoge.co.jp/を挿入して 、
http://www.hoge.co.jp/000にしたい 。
つまり、先頭や末尾に特定の文字列をまとめて挿入したいのですが、可能でしょうか?
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2002
【3 VBAが使えるか .】 いいえ
【5 検索キーワード 】 行頭 文字列 挿入 excel
473 :
名無しさん@そうだ選挙にいこう :2006/01/03(火) 22:52:59
可能
474 :
346 :2006/01/03(火) 23:22:51
476 :
475 :2006/01/03(火) 23:25:40
間違った。 × A2 ○ A1 あと、A列自体を直に変換するのは、VBA使わないと出来ないよ。
ゴメン、また間違い。 × A1 ○ A2
478 :
472 :2006/01/03(火) 23:43:49
479 :
名無しさん@そうだ選挙にいこう :2006/01/04(水) 00:13:27
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ(勉強中) 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 ― A B C D 1 日付 商品コード 商品名 備考 2 1/1 1111 AAAAA 3 1/2 2222 BBBBB 4 1/3 3333 CCCCC 5 1/4 4444 DDDDD 上記の表で、 「1/1〜1/3の間、商品コード1111と商品コード2222の商品」 「1/2〜1/3の間、商品コード3333の商品」 ・ ・ ・ という条件の時、備考欄に「取扱不可」と入力され、かつ商品名欄の背景色が赤色になるように 設定したいと考えています。 初めは備考欄に「=IF(OR(AND(AND(A1>=38718,A1<=38720),OR(B2=1111,B2=2222)),AND(A1>=38719,A1<=38720),B2=3333),"取扱不可","")」と入力し、 条件付書式で商品名欄の背景色の設定をしていたのですが、 データの増加に対応できませんし印刷画面でフリーズしてしまいます。 何かよい方法がありましたらご教授お願いします。
別に 1111 1/1 1/3 2222 1/1 1/3 3333 1/2 1/3 等の表を作って =IF(AND(VLOOKUP(B2,別表,2,0)<=A2,A2<=VLOOKUP(B2,別表,3,0)),"取扱不可","") のような感じで比較
481 :
479 :2006/01/04(水) 00:48:43
>>480 ありがとうございます。
助かりました。
482 :
名無しさん@そうだ選挙にいこう :2006/01/04(水) 12:12:49
Excel2003使用です。 既に関数が入力済みのセルをダブルクリックすると、関数の式が表示され計算結果が出なくなるエラー?に困っています。 何がいけないのでしょうか?
483 :
482 :2006/01/04(水) 12:17:35
どうも自己解決の悪寒で書いておきます。 セルの書式設定が「文字列」になっていたからのようです。 「標準」に戻すと解決しました。 ・・・が、関数の結果は「文字列」で出したいのです。(0で始まる数値が0が消えるため) その場合は結構面倒な作業を都度しなくてはならんのでしょうかね? 何かありそうですが
484 :
482 :2006/01/04(水) 12:19:44
金銭が関わる会員管理を知識が脱初心者レベルでやっていますので (((( ;゚Д゚)))ガクガクブルブルです。 なんとか勉強しないと・・・
485 :
名無しさん@そうだ選挙にいこう :2006/01/04(水) 13:05:53
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 少々(勉強中です 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 抽出条件以外 等 商品名1 商品名2 AAA AAA BBB DDD CCC DDD 上記のような表が有りこれを 商品名3 BBB CCC のようにしたいのですがどうしたらいいのでしょうか? どうぞ宜しくお願いします。
>>483 計算結果が数字だけで出てるなら、セルの書式設定→ユーザー定義→0000とかでも
いいんじゃない?
487 :
485 :2006/01/04(水) 14:45:53
すいません、事故解決できました。
>>487 /)_/) ( ・分かる人はできるだけ回答して下さいませ。
< ゚ _・゚> .。oO( ・回答がなくてもキレないで。急いでいても催促は3日以上開けて。
ノ) / | ( ・自己解決したらその解決手段を他の人の参考の為に書いてね。
\(_,,,_,,,)
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 不可 【4 VBAでの回答の可否】 可(できれば関数) 【5 検索キーワード 】 index、min、column A B C 1 ああ いい 一番左の値を返したいのですが、(ああ) 空欄はカウントしないように、 {=INDEX(A1:C1,MIN(COLUMN(A1:C1))*(A1:C1<>""))} 上の配列数式で試してみましたが、0が返ってしまいます。 何か良い方法は有りませんでしょうか。
491 :
489 :2006/01/04(水) 22:10:55
自己解決しました。 {=IF(COUNTA(A1:C1),INDEX(A1:C1,MIN(IF(ISTEXT(A1:C1),COLUMN(A1:C1)))),"")} ありがとうございました。
492 :
名無しさん@そうだ選挙にいこう :2006/01/05(木) 01:10:09
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 自動記録に毛が生えた程度 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 エクセル 時間 足し算 A1 に2005/01/01 01:00:00 のように日付時間 B1 に任意の時間(分) 1420(分) C1 に TIME (0,B1,0)+A1 1440分をこえると日にちが更新されず正しく表示されません。どうしたら正しく表示できるでしょうか?
=DATE(YEAR(0),MONTH(0),INT(B1/1440))+TIME(0,MOD(B1,1440),0)+A1 かな?
494 :
1/5マクロ始めた初心者です。 :2006/01/05(木) 01:47:04
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 不可 【4 VBAでの回答の可否】 可 マクロの本(出来るエクセル、マクロ&VBA)を買ってマクロを勉強しはじめました。 早速トラブル発生です。相対参照を使うところで相対参照があるべきの記録終了ツールバーがシート上に存在しないのです。 本の中にはマクロの記録を始めると自動的に相対参照ボタンが表示されているようです。私の操作が悪いのだとは思いますが、 お分かりになる方いらっしゃいましたらお願いいたします。
>>494 表示>ツールバー>記録終了
でいいんでないかい?
496 :
名無しさん@そうだ選挙にいこう :2006/01/05(木) 16:23:47
初心者ですが質問お願い致します。 【1 OSの種類 .】 Windows XP Home Edission 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 VBAの意味も分かりません。 【4 VBAでの回答の可否】否 1ヶ月分の集計表に、商品の販売数を毎日入力し、入力毎に何もせず「現販売数」を出したいのですが、 どの様な操作をすれば良いのでしょうか? よろしくお願い致します。
497 :
名無しさん@そうだ選挙にいこう :2006/01/05(木) 16:25:21
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 どんなことばで調べたらいいのかわかりませんでした データベースになっているファイルの印刷用のページ(シート)を作っています。 管理番号を付けて管理しているので、この番号を入力するだけでその人・物の情報を印刷用のページに表示したいのですが、 どのようにすれば出来るのでしょうか? 宜しくお願いします。
>>496 B2からB32までに、その品の毎日の販売数が入力されてるとして、B33に
=SUM(B2:B32)
>>497 データベースってのがExcel上のものなら
VLOOKUPやINDEX&MATCH、またはデータベース関数で
外部データベースならスレ違い
500 :
497 :2006/01/05(木) 17:48:39
>>499 Excel上の物です。
教えて頂いた関数を使ってがんばってみたいと思います。
ありがとうごじあました。
501 :
名無しさん@そうだ選挙にいこう :2006/01/05(木) 19:24:58
WIN−XPでエクセル2003です。 簡単なVBAなら可能ですが・・・? Print_Areaについてですが、 2行の表タイトルが有り、その下にデータがあります。 A3から下のA列にデータが有るページまでを、自動で印刷範囲指定したいのです。 いろいろ調べてみて、 Print_Areaに以下の様に、 =OFFSET($A$3,-2,0,COUNTA($A:$A),6) 行のタイトルは2行分指定。 こんな感じで、印刷をするデータの取得は出来たのですが、 データの数によって最終ページの印刷行が少なくなることも有ります。 表のレイアウトは崩したくないのですが、どうにかなるでしょうか?
空行入れるとか、どうにかなるんじゃね?
E1の数字が動くとE2にコピーされ、また動くと次はE3にコピーされるような関数などありますか?
505 :
名無しさん@そうだ選挙にいこう :2006/01/05(木) 21:31:35
506 :
名無しさん@そうだ選挙にいこう :2006/01/05(木) 21:45:07
エクセルで言う「返す」とはどういう意味ですか? と、あなたが大好きな人(タレントでも誰でもいい)に聞かれたとき、どう答えますか?
と書けば、丁寧に答えてもらえると思ったのかな? 残念ながら掲示板で丁寧な解答が欲しければ、 そんな屁理屈考えるより質問ルールを守るこったな。 まぁこの内容にはverとかは関係ないけど、そういうのを質問者が 勝手に判断せずきちんと書くのがここのルールなんで。
508 :
名無しさん@そうだ選挙にいこう :2006/01/05(木) 22:51:56
>>506 マジレスすると、シートを入れ替えること。
510 :
1/5マクロ始めた初心者です。 :2006/01/06(金) 00:35:28
>>495 様
494です。ありがとうございました。
おかげで相対参照が使えそうです。
実は今日会社でマクロを使って、数値と値が入ったシートの行の挿入時に
ひとつ上の行の書式でかつ数式のみ入れた状態で挿入出来るという皆様から見れば簡単なマクロを
披露したら、みなから大絶賛でした。
マクロ、VBAはとても使えそうなので、勉強していきます。
またこれから、本を読んでもわからないことがあったら
質問させていただきたいと思っています。
今後ともよろしくお願いいたします。
511 :
492 :2006/01/06(金) 02:18:33
512 :
名無しさん@そうだ選挙にいこう :2006/01/06(金) 09:29:25
定型文書の入力用のブックがあります。 余計な変更や保存をしない為に、メニューやツールバーを消したいのです オープン時に状態を記録してメニュー類を全消去 クローズ時に復元というのをVBAでやってたのを見た気がするんですが、教えていただけませんか? また、この方法しかないんでしょうかね? ブックごとに表示状態を変えるとかできると便利なんですが。
> オープン時に状態を記録してメニュー類を全消去 > クローズ時に復元というのをVBAでやってたのを見た気がするんですが、教えていただけませんか? マクロの記録で取れる
514 :
名無しさん@そうだ選挙にいこう :2006/01/06(金) 10:15:52
WIN2000 EXCEL2003 VBA初心者 検索キーワード「エクセル 種類を数える」 C14〜C33列にあるデータの種類を数えたい(C列はCDE列を結合したもの)。 ぐぐったら配列数式というのがあったので以下のように使ってみたところ 結果が#DIV/0!になってしまいました。 該当セルに全て値を入れても同じでした。 =SUM(1/COUNTIF(C14:E33,E14:E33))→ [Shift]+[Ctrl]+[Enter]→{ }でくくられる 念のためC列だけでもやってみたが同じでした (=SUM(1/COUNTIF(C14:C33,C14:C33))→ [Shift]+[Ctrl]+[Enter]→{ }でくくられる) 何がまずいかご教授お願いいたします。
>>514 下の式でいけるはずだが
「何がまずいか」と言えば、先頭の ( かな?
でもそれだと文字列扱いになるから#DIV/0!は返らないはず
もう一度式を見直して、きちんと配列数式になってるか確認してみな
配列数式になってないとCOUNTIFは0を返すから、1/0で#DIV/0!になる
>>514 データが不等号などではじまっていてCOUNTIFにそのように演算されているとか
518 :
名無しさん@そうだ選挙にいこう :2006/01/06(金) 11:40:56
>>514 です
>>516 >>517 ありがとうございました。
一度配列数式にしたのにセルの中身をクリックしたため解除されていただけでした。
すいません!
空白セルに0を入れないと#DIV/0!になり、
0を入れると0も1種類として数えられてしまったので↓のようにしたらOKでした
SUM(1/COUNTIF(C14:C33,C14:C33))-1→ [Shift]+[Ctrl]+[Enter]
519 :
名無しさん@そうだ選挙にいこう :2006/01/06(金) 19:19:42
>>507 こんな香具師いるいるw 長文書く暇があればマジレスしろってw 予想通りの答えでつまんねぇー
セルA1とB1に書いてある文字をシートの名前にする技とかってありますか? VBAやマクロだとしても
>>519 語調がワンパターンだよね。
この板もID制になったら面白いのに
522 :
名無しさん@そうだ選挙にいこう :2006/01/06(金) 21:05:23
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 少々 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 エクセル VBA 置き換え保存 ファイルのバックアップを履歴として、ファイル名+日でストックしています。当然翌月になると 前月と名前が同じになります。メッセージで置き換えますか?とでるのをなくしてそのままセーブ したいのですが、どういう文か分かりません。っどなたか教えて下さい。
>>522 Application.DisplayAlerts=False
Save処理
Application.DisplayAlerts=True
>>520 こんな感じ。但し、エラー処理はしてないよ。
Sub SetSheetName()
With ActiveSheet
.Name = .Range("A1").Value & .Range("B1").Value
End With
End Sub
525 :
名無しさん@そうだ選挙にいこう :2006/01/06(金) 21:58:34
>>524 なるほどVBAマスターしとかんとな
VBA勉強→1日坊主→1ヵ月後また再開→1日坊主
これがもう2年ぐらい続いている。1日で一気にマスターしてなるほどと思っても
次するのが1ヵ月後だから90%忘れているんだよな・゚・(ノД`)・゚・
1日8時間を毎日1時間にすればいいのに自分に腹が立つ プンプン
526 :
名無しさん@そうだ選挙にいこう :2006/01/06(金) 22:02:50
だめじゃー全部忘れとる 明日から10分でも勉強するぞ!! と思っても忘れてる
527 :
522 :2006/01/06(金) 22:07:24
528 :
名無しさん@そうだ選挙にいこう :2006/01/06(金) 23:38:59
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 使えません 【4 VBAでの回答の可否】 質問した方法がVBAでしか出来ない場合は可 ある場所に記入された数字があり その数字と同じ数字を指定した行から探し出し その真上の数字を指定した場所にコピー&ペーストを自動化したいのですが どのようにしたらよいでしょうか? よろしくお願いします。 例 A3に入力された『5』を2の行から探し、その上の3(C1)をA4にコピー&ペースト X┃A┃B┃C┃ ━━━━━━━ 1┃1┃2┃3┃ ━━━━━━━ 2┃3┃9┃5┃ ━━━━━━━ 3┃5┃...┃...┃ ━━━━━━━ 4┃3┃...┃...┃ ━━━━━━━ *『...』は空欄
529 :
名無しさん@そうだ選挙にいこう :2006/01/07(土) 00:07:21
「リスト形式」から「リスト」にするメリットってなんでしょう?マジレスお願いします。
>>521 あいつは口調は悪いけど、まともな質問者には
結構ちゃんと答えてるし、結構詳しいよ。
本当はゴッホ氏とかhoge氏みたいに誰にでも
優しく知識もある奴が居てくれた方がいいんだけど、
最近来ないよね。
>>528 A4に・・ =LOOKUP(A3,A2:C2,A1:C1)
これで値はでると思うが、
実際にコピペを自動化したいのならVBAでないと無理と思われる
マウスを使わずに、 別のシートをアクティブにするには、 どういうキーボード操作をすればいいですか?
ヘルプに載ってる 「ブック内の次のシートをアクティブにする。」 「ブック内の前のシートをアクティブにする。」 のキー操作をすればいいと思うよ
>>532 ヘルプのショートカットキーを見ろ
検索やヘルプを見る事を覚えろ
536 :
名無しさん@そうだ選挙にいこう :2006/01/07(土) 16:34:19
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 エクセルで美容関係の有料メルマガ会員の保存をしています。 「顧客一覧表」に顧客番号と名前とメールアドレス、 「入金履歴表」に、顧客番号、日付、金額が並んでいます。 1000円で1ヶ月、4000円で半年、7000円で1年の購読になっているのですが、 購読期限切れのユーザー一覧を表示するような仕組みは どう作ればよいでしょうか? 同じお客さんが1ヶ月購読した後、2週間ほど経過してから半年契約を される場合などもあります。 アクセスも持っていますが、そちらにデータを移したほうがいいですか?
金が絡むようなことはきちんと会社契約でもして作ってもらったほうが良いと思うけどなぁ。
> 同じお客さんが1ヶ月購読した後、2週間ほど経過してから半年契約を > される場合などもあります。 そういう場合があるのはいいが、その場合どうしたいの? そこまで書かなきゃ質問じゃなくて、報告だよ。ここでそんなこと報告されたって 「・・・・・で?」しか言えない 一番最後の契約を優先 「契約日+期間」が一番長いものを優先 期間は契約日からではなく、有効な契約が切れた日から起算する まあこの3つあたりだろうが(おそらく3番目かな?)、そういうことは 回答者に予測させるのではなく質問者がきちんと指定しろ > 購読期限切れのユーザー一覧を表示する も同じく。 ここまで「顧客一覧表」と「入金履歴表」しか出てきてないわけだが、 「購読期限切れのユーザー一覧」は別シートに表示したいの? それとも「顧客一覧表」の中で表示したいの? ちなみに直接金に関わることは、こういうところで丸投げすべきじゃないと思う 数式のヒントもらったり、VBAわかる奴がアルゴリズムのヒントもらったりはいいけど 「どう作ればよいでしょうか?」なんてすべてを投げてよこして、 間違った物を返されても被害を被るのは質問者側だけだよ まあ、丸投げしちゃいけないってルールがある訳じゃないから、 それを理解した上で丸投げするならかまわないけど、丸投げするなら情報条件は事細かに書け 情報条件をきちんと書けってのはここのルールにもあるからな
ある範囲の中で、"文字列があるセルの数"を数え上げる関数ってないでしょうか。
540 :
名無しさん@そうだ選挙にいこう :2006/01/07(土) 18:35:20
>エクセルで美容関係の有料メルマガ会員の保存をしています。 ってそこまで書かなくていいのにw 特定されちゃうよ
541 :
名無しさん@そうだ選挙にいこう :2006/01/07(土) 18:36:48
エクセルのヘルプ見て理解できたことは一度すら無い そもそも調べたいことが検索で引っかかることすら珍しい よね?
>>539 COUNT,COUNTA,COUNTIF
そうなんだよな、まじであのヘルプはある程度使えるようにならないと 使えないんだよな。使い始めて暫くは役にたたなかった。
>>541 マイクロソフトのヘルプは比較的よくできてると思うよ
でも貴方が理解できないと思ったのは事実だから、よりよいヘルプを作ってもらうように要望を出したらいかがでしょうか
有料のアプリケーションに付属しているヘルプは、どんなに理解力に乏しい人でもわかるように改善していくべきだと思うし
統計関数に関して、RANK関数を使うと データ 7--3.5--3.5--1--2--2 は順位が昇順で、 6--4 --4 --1--2--2 になりますが、 重複した順位を省いて 4--3 --3 --1--2--2 にするにはどうすればいいですか?
>どんなに理解力に乏しい人でもわかるように改善していくべき いや、それは違うな。 初心者(予備知識が無い人)でもわかりやすく作る必要はあるけど 理解力に乏しい人にあわせる必要は無いでしょ。個人の知能まで 考慮しだしたら、知的障害者はどうよって話まで発展する。 彼らだって同じ金を払って購入してるんだから、有償購入した個人に 合わせるって考え方なら、知的障害者でも理解できるように作らなきゃ 不公平。そういうのは例外だとか言うかもしれないけど、診断上のライン はあっても、そのライン付近に奴はほとんど無いような差で健常者と 知的障害者に分けられるんだから、例外と言えるほど異例なものでは ないからな。
548 :
名無しさん@そうだ選挙にいこう :2006/01/07(土) 22:42:39
エクセルにワードの文書をJPGに変換して、張り付けたいのですが・・・。 ファイルが重くなってしまって・・・。 どうすれば良いですか?
【1 OSの種類 .】 Win98 【2 Excelのバージョン 】 Excel 2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 frequency関数をセルに次々と入力する代わりのことをVBAでどのようにするのですか
>>549 Range(はんい).FormulaArray = "=frequency(はんい、)"
って意味かな?
551 :
名無しさん@そうだ選挙にいこう :2006/01/08(日) 05:08:42
538って素でバカ?
>>552 無理だよ。
まともなレスをバカだと感じる奴は相当の大バカだからw
>>550 その場合、””の中のセルをフィルしるにはどうしたらいいですか?
538は本当に頭悪いなw笑っちゃったよ
質問者本人が暴れてるのかな?
質問への回答を以て反論するのではなく、ただ バカだアホだと罵ってるだけの奴は。実際には何も わかってないのに、ただ煽ってみたいだけのガキ。
559 :
名無しさん@そうだ選挙にいこう :2006/01/08(日) 16:26:18
>マイクロソフトのヘルプは比較的よくできてると思うよ 工エエェェ(´д`)ェェエエ工 そんな馬鹿な 誤植もあったりなのにリンゴとみかんかなんかのところヘルプが間違っててワロタが
560 :
名無しさん@そうだ選挙にいこう :2006/01/08(日) 16:28:55
まぁ自分は上級者だと思って教えない香具師は本物の上級者とはいえねぇな
561 :
名無しさん@そうだ選挙にいこう :2006/01/08(日) 16:31:27
なんか回答してやるとポイントとかお金がもらえるサイトってあったよな? あっち逝ったほうがよさげ
書きたいことはまとめて書けよ。 というか、タイピング遅すぎ。 それだけのこと書くのに何分かけてるんだよ。 それとも頭の回転が遅いから、たった1,2行の文を 脳内でまとめるのに時間がかかってるのか? ここで別人だとか言ったら笑ってやるけどなw
別人だよ
そりゃ、おまえは別人だろうよ。
565 :
名無しさん@そうだ選挙にいこう :2006/01/08(日) 17:03:42
>>562 多分それ漏れに言ってることだがマジで別人だよw もう1人いるみたい
566 :
名無しさん@そうだ選挙にいこう :2006/01/08(日) 17:04:43
文句を言う暇に回答してあげろよ その文句文章は普通にスルーだけどな
567 :
名無しさん@そうだ選挙にいこう :2006/01/08(日) 17:17:34
windowsXPでエクセル2003使用です。 VBAはコードが書いてあれば、簡単なものなら何となく分かるかなぁ?程度です。 シート1には各月ごとの顧客データ一覧表があります。 データの行数(顧客数)は月ごとに変化します。 なお、顧客氏名はE6セル以下に並びます。 シート2には全ての顧客データに共通する書類の印刷テンプレートがあります。 この書類のB9セルに顧客氏名を入れると、この書類の他のセルに対応する情報が自動で入力されるようになっています。 上記のような場合で、 シート2の書類のB9セルに、シート1にあるデータの顧客名を一名ずつ入力し、 2枚ずつ自動で印刷する様にしたいのですが、可能でしょうか? また可能なようでしたら、方法を御教示いただきたく願います。
568 :
名無しさん@そうだ選挙にいこう :2006/01/08(日) 17:32:36
私も?たった1人で顧客管理をエクセルでやってます。 低スキルなのに金銭が絡む顧客管理 もういっぱいいっぱいです。助けて
569 :
名無しさん@そうだ選挙にいこう :2006/01/08(日) 17:35:37
A1(任意セル)に○と書いてあったらB1セルの数値を2倍、×と書いてあったら0.5倍、△と書いてあったら1倍(何もしない) これはIF関数でできるのでしょうか? 分かりそうで分からない歯がゆいところです。
>>567 Dim i As Long
For i = 6 To Worksheets("シート1").Cells(65536, 5).End(xlUp).Row
Worksheets("シート2").Range("B9").Value = Worksheets("シート1").Cells(i, 5).Value
' 印刷処理
Next i
上記がシート1の6行目から一番下のデータまでを順次シート2のB9に入力していくコード
印刷処理はマクロの記録で取れるから自分で入れな
571 :
名無しさん@そうだ選挙にいこう :2006/01/08(日) 17:45:36
windows2000PRO SP4 MSOffice2000 SP3 Excelの質問なのですが、急に十字キーでセル間の移動が出来なくなり、 セルはそのままで画面全体がスクロールするようになってしまいました。 これだと不便で仕事に支障がでるのですが何とか直す事は出来ませんか?
>>569 B1に入ってるのが数値で、それを直接操作したいってことなら関数では無理(
>>14 参照)
B1に式を入れて、その式が返す値をA1(任意セル)の文字により変更したいというならIF関数で可能
やり方は
>>7 とヘルプ参照
>>571 >>11 読め
573 :
名無しさん@そうだ選挙にいこう :2006/01/08(日) 17:57:35
>>572 それじゃぁ
○の場合「2」
×の場合「0.5」
△の場合「1」
と別セルに記して計算? ん? その○の場合「2」と自動で書く方法を求めているとなればいっしょかな?
混乱してきた風呂入ってもち付いて考えるか
574 :
567です :2006/01/08(日) 18:28:04
>>570 早速有難うございます!
VBAはド素人ですが格闘してみます!
【1 OSの種類 .】 WindowsXP professional 【2 Excelのバージョン 】 Excel20003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 住所を入れる欄でセルを選択すると変換モードが特定の変換モードに変わるようには出来ますか?
>>575 入力規則の一番右のタブを見ろ
つーか、約1万8千年後もExcelは健在ですかそうですか
【1 OSの種類 .】 Y2Ksp4 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 絶対値の合計の出し方を教えて下さい。 (10)+(-1)+(8)+(-21)‥+(-5) abs(a)+abs(c)+‥ ぐらいしか思いつきません。
> abs(a)+abs(c)+‥ > ぐらいしか思いつきません。 それの何が不満なの? 式が長くなるのが不満なら配列数式にしちゃえばいいだけだし 何が不満で何を求めているのか書かないと > abs(a)+abs(c)+‥ だって絶対値の和を求める方法として間違ってるわけじゃないんだから それ以上話が進まないよ
>>576 見ました。
コントロールなし
オン
オフ(英語モード)
無効
ひらがな
全角カタカナ
半角カタカナ
全角英数字
半角英数字
9項目あり「コントロールなし」になってました。
人名/地名 はありませんが、どれにすれば良いのでしょうか?
人名/地名って何の変換モードだよ?
>>580 MS-IMEです。
郵便番号の入力だけで住所に変換出来る変換と思います。
>>578 式が長く256文字を超え困ります。
=abs(sum(A1:A65535))
では上記の式と違う答えが返ってきます。
583 :
567です :2006/01/08(日) 19:25:08
>>570 どういう仕組みなのかはサッパリ分かりませんが、
お蔭様でうまく出来ました!
有難うございました。
せっかくコードを教えていただいたので、
どういう仕組みなのかを調べて、少しでも上達したく思います。
以上、御報告まで・・・。
>>581 IMESentenceModeも方かよ
Accessでは指定出来るけどExcelでは指定できないようだな
VBAなら可能だけど、「APIによるIME制御=
>>2 ・7」ってことになるな
>>582 > =abs(sum(A1:A65535))
> では上記の式と違う答えが返ってきます。
そりゃ当然だ
だから配列数式にしろと(配列数式についてはググれ)
>>582 > =abs(sum(A1:A65535))
これだと和の絶対値が出てくるので間違い。
一般的に「和の絶対値≦絶対値の和」です。
なので、対象の行(or列)の下(or右)に「=abs(セル)」として絶対値をまず出し、
それらに対して和を取れば良いのではないでしょうか?
わかりました {=sum(abs(A1:A65535))} でできました。
587 :
549 :2006/01/08(日) 22:52:41
>>550 > Range(はんい).FormulaArray = "=frequency(はんい、)"
の””の中で相対参照を使えますか?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか 】 いいえ 【4 VBAでの回答の可否】 いいえ 小数点2位を切り上げという式を =ROUNDUP(指定セルXの数値),1) で作ったのですが、 指定セルXの数値が『XX.X0』 の場合 0でも切り上げてしまうので0の場合は切り上げないというように 回避したいのですが指導お願いします。
>>588 あり得ないと思うが・・・
『XX.X0』のセルが、表示形式で3桁以下が表示されてないだけで、
『XX.X0001』とかになってるとか?
590 :
588 :2006/01/09(月) 02:26:46
>>589 速レスありがとうございます。
指摘で2位以下を見てみましたところ確かに『XX.X0001・・・』
がありました。この場合どう対処していいのでしょうか
591 :
名無しさん@そうだ選挙にいこう :2006/01/09(月) 02:34:35
グラフ作成の時に、積み上げ縦棒を使う際、例えば数字を5、35としたとき、一つの棒の中に下から5、35と設定はできるのですが、最後に棒の上に合計数を表示するにはどのようにしたらいいのでしょうか?
>>590 つか、やりたいことが分からない。
小数点何位以下を条件分岐の対象にしたいの?
>>590 シートのどこかで、INT関数か何か使ってないかね?
関数によっては、表示上1であっても、実際には、
1.00000001とかいう数値になっている場合がある。
厳密な結果を得ようとするなら、その部分の式を改善が必要。
実用上、問題が無ければ無視するんだけど、
ROUNDUPとか、 if(A=B,C,D)のA=B評価で困ることは確かにある。
595 :
567です :2006/01/09(月) 11:34:36
追加質問です。 シート1には、月毎に数の違う顧客データがあるのですが、 このシートも印刷をする必要が有ります。 データの有る最終行までの印刷設定が用途に近いように思いますが、 印刷用のレイアウトが狂います。 1〜5行までは先頭行で全てのページに印刷されます。 6〜15行が1ページ 16〜25行が2ページ 26〜35行が3ページ・・・・・・・。 たとえば、データの有る最終行が33行目だとすると、 あと2行分の空白行も印刷されるようにしたいのですが? データの有る最終行を含む、ページ単位の自動印刷設定は可能でしょうか?
35行目に空データ作っておけばいいじゃん。
597 :
567です :2006/01/09(月) 11:54:06
早速のアドバイス、有難うございます。 月毎にデータ数が違うので、 3ページで終わるとは限らないものですから・・・。 悪しからず・・・
>>597 ((End - 6) \ 10 ) * 10 + 15
Endが33なら35、35でも35、36なら45が返る
つまり最終ページの一番下となる行が算出できるわけだ
あとは煮るなり焼くなりお好きなように
「少しでも上達したく思います。」という意気込みに水をささないように
あえてコードは書かないでおく
599 :
567です :2006/01/09(月) 13:37:31
有難うございます。 計算式の中の”¥”は何ですか? 10の位を取り出すって言う意味ですか? とりあえず、色々調べてがんばって見ます。 ヒント有難うございます!
600 :
名無しさん@そうだ選挙にいこう :2006/01/09(月) 15:01:28
よく分かりやすい例題で学級のテスト成績が使われますが、私もその例で質問があります。 例えば年間に何回か模擬試験が実施されるとします。 その試験は自由参加で年間10回テストを受けた人もいれば1回しか受けてない人もいます。 そこで近3回のテスト結果の点数の合計、平均を全員分出したいのです。 (近3回の部分は過去半年と応用もしたいですけど) A君 B君・・・Z君 それぞれ試験を受けた日にちが違うというのがネックです。 また、各生徒によりテストを受けた回数も違います。 何かアドバイスやヒントがあればよろしくお願いします。 ピボットテーブル?でしょうか? あれはまだ勉強中です。 最終的にはVBAで自動化させたいのですが・・・
>>599 演算子なのは一目瞭然だろ
ならVBAヘルプを「演算子」で検索するなり
Googleで「VBA 演算子」で検索するなりしようよ
そういうところから成長していくものだ
今、ここで\の意味を教わっても\の意味しか覚えられないが
検索すれば他にも自分が知らない便利な演算子があるかもしれないだろ
演算子、ステートメント、組み込み関数や定数、オブジェクト、メソッド、プロパティ
そういう単一のものは大抵VBAヘルプ、Google、MSDNで調べれば事足りるからな
人に聞くのはその先に進んでからな
602 :
名無しさん@そうだ選挙にいこう :2006/01/09(月) 15:42:48
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 少々 【4 VBAでの回答の可否】 可 表の中に特定の文字がある場合、 その行とその一つ下の行を一緒に選択するにはどうしたら良いでしょうか? よろしくお願いします。
具体的によろしく
604 :
575 :2006/01/09(月) 16:17:15
>>584 そうなんですか。
それ用のスレに行って聞いてみます。
その前にVBAの勉強したほうがいいか('A`)
ExcelVBAにはNz関数無いんですか?
606 :
602 :2006/01/09(月) 16:35:08
すみません。 もう少しわかりやすく書きます。 A B C 1 あ い う 2 え お か 3 き く け 4 こ あ い 5 う え お 6 か き く このような表があったとします。 「あ」を特定の文字とした場合、 1,2,4,5行目が選択されるようにしたいのです。 マクロなら出来ると思うのですがいかがでしょうか?
>>604 > その前にVBAの勉強したほうがいいか('A`)
当然だな
いきなりAPIスレ行って丸投げしても、大抵は使用関数(API)くらいしか教えてもらえないよ
ExcelどころかVBの機能すら越えた高度な処理をしたければ、
それに応じたスキルを身につけるこった
ちなみにいくつかのAPI組み合わせることになるが、メインはImmSetConversionStatus関数だ
これを使うための準備として、他にいくつかのAPIを使うことになる
>>605 組み込みでは無いけど、自分で作ればいいだけだな
言語において関数ってのは使う物ではなく作るもの
ExcelやVBでは初心者向けに作った関数を多く組み込んであるけど
そういうのだって誰かが作った物だし、ワークシート関数もVBA関数も
ユーザーが任意に作れるように設計されてる
>>606 @
全体からFind、FendNextメソッドで検索
Resize、EntireRowプロパティで範囲拡張
Unionメソッドで範囲結合
Selectメソッドで選択
A
行単位でFindまたは配列から文字を検索
見つかったらその行とその下の行でフラグを立てて次の行へ
見つからなかったらそのまま次の行へ
最終行まで処理してフラグが立ってる行をUnionメソッドで結合して
Selectメソッドで選択
他にもいくらでも有りそうだな
608 :
602 :2006/01/09(月) 18:12:55
>>607 ちょっとやってみます。
ありがとうございました。
609 :
名無しさん@そうだ選挙にいこう :2006/01/09(月) 18:58:59
エクセルで表を作ってるのですが A列に日付が一日毎に2年分ほど並んでます。 それでB、C、D・・・列に要素と各日毎のデータが記入してあるんですが そのデータの月毎の合計や平均などを出したいんですが、どういう方法がありますか? マクロや作業列を使う方法のどれでもいいのですが、数が多いので簡単に出来る方法を 教えていただきたいです。 ver 2003 os xp マクロ 初心者 マクロ回答 可
>>609 どこかの列にA列の日付に対応する年月のみのデータを入れて
それを条件に計算すればいい
合計ならSUMIF、平均はSUMIF/COUNTIF
>>609 それじゃ答えようがない
もっと具体的に書いてくれないと
>>611 十分具体的じゃん。
わかんないなら黙ってたほうがいいよ。
やれやれ・・
614 :
600 :2006/01/09(月) 20:35:45
ぎょっ!!回答がまだなかった_ト ̄|○
そりゃここの質問ルール守ってないからな(
>>1 ★1〜4)
放置されるか、罵倒されるかのどちらかだ
今更書き直しても無駄だし(
>>2 ※)、今回は諦めて次から気をつけよう
さて逆切れして、わかんねーなら黙ってろとか言い出すのか、 素直に引き下がるのか。 ここは丸投げ上等の超甘々スレだが、ルール違反には厳しいからな。
617 :
名無しさん@そうだ選挙にいこう :2006/01/09(月) 21:24:23
>>610 ありがとうございます。
合計うまくだせました。
>丸投げ上等 ワラタw
618
早く答えてください。
622 :
名無しさん@そうだ選挙にいこう :2006/01/09(月) 22:38:06
早くしてください。
ここも
>>620 ,623みたいなバカが出るからID表示にすればいいのにな
無駄口叩いてないで、早く答えたらどうなんですか? わからないんですか?www
626 :
567です :2006/01/09(月) 23:10:15
とりあえず、最終行までの印刷プレビューをしようと思います。 シート1のG列(G6以下)の最終データの有る行までで、以下の様にしてみましたが・・・。 エラーが出ます。色々と調べましたがお手上げです! 御教授のほど、お願い致します。 Sub Macro1() Sheets("sheet1").Select Dim i As Integer i = Range("G6", Range("G65536").End(xlUp)).Row ActiveSheet.PageSetup.PrintArea = "A1:Xi" ←この行が違う様です・・・ ActiveWindow.SelectedSheets.PrintPreview End Sub
627 :
名無しさん@そうだ選挙にいこう :2006/01/09(月) 23:20:35
>>622 古い(2002でも)Excelで、グラフ項目を縦書き表示にした場合、
表示がおかしくなるケースがあるけど・・・。
>>626 627を補足すると
"A1:Xi"
↓
"A1:X" & i
にすると行くんじゃね?
630 :
622 :2006/01/09(月) 23:33:41
>>628 と、いうことは直せないんですね。
バージョンに依存するとは思いもしませんでした。
おかしくならずにちゃんと表示できる条件はあるんでしょうか・・・。
ちゃんとテンプレ使います。
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2002
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 項目・軸・中央揃えなど
631 :
名無しさん@そうだ選挙にいこう :2006/01/09(月) 23:37:26
エクセルのグラフウィザードで1/4円を描くことってできますか?? x-y座標を使って20個ほど点を取り、曲線で繋ぐ方法で作っては見たものの、滑らかなものが描けません。 良い方法があったら教えてください。 ver 2003 os xp
>>630 上から枠線なしのテキストボックス貼り付けるとか。
【1 OSの種類 .】 WindowsXP SP2 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 勉強中です 【4 VBAでの回答の可否】 可 それぞれのマクロで、実行する範囲を限定したいのです。 Private Sub Worksheet_Change(ByVal Target As Range) '-------------------@ 色分け Dim 色選択 As String'---変数宣言 色選択 = 36 If ActiveCell = "こくご" Then 色選択 = 36 ElseIf ActiveCell = "しゃかい" Then 色選択 = 35 ElseIf ActiveCell = "りか" Then 色選択 = 37 '---以下略 End If With Selection.Interior '---セル塗りつぶし .ColorIndex = 色選択 .Pattern = xlSolid End With '-------------------A アクティブセルのプルダウン表示 ActiveCell.Offset(0, 1).Range("A1").Select SendKeys "%{down}", True End Sub @は、入力された内容によって色分けしていますが、これを実行する範囲は(2,3)から(10,3)までにしたい。 Aは、アクティブセルの記入が終わったら、隣のセルをプルダウン。これは実行範囲を(2,3)から(10,7)まで 今は全てのセルで動作してしまうので、動く範囲を限定したいのです。よろしくお願いします。
634 :
567です :2006/01/10(火) 00:28:36
>>629 有難うございます。
動きましたが、なぜか6行目までしか印刷されません。
最終行がうまく取得出来てないようです・・・。
関係ないかもしれませんが、エクセルが異常に重たい・・・。
Pen4 1.9 メモリ512 なので十分だと思うのですが、
すぐにフリーズします。
他のソフトは問題なく動くのですが・・・。
エクセルの再インストールすると動きやすくなりますか?
訳の分からない質問で申し訳ないです。
635 :
622 :2006/01/10(火) 00:34:06
>>632 なるほど。レポートなんですが時間があればそういう力技も試してみます。
本当にありがとうございました。
>>634 >関係ないかもしれませんが、エクセルが異常に重たい・・・。
>他のソフトは問題なく動くのですが・・・。
早急に再(修復)インストールしてください。
>>634 ヒント;Integerが扱える範囲を調べてみな
638 :
567です :2006/01/10(火) 01:11:29
色々と有難うございます。 明日にでも再インストールしてみます。 integerの記述を無くしてみましたが、結果は同じでした。 longでも駄目でした。 また明日にでも頑張って見ます。
>>634 条件を@とAとで切り分けてActiveCellに対してColumnsとRowsを使え
640 :
567です :2006/01/10(火) 01:28:07
お蔭様で、以下の様にしたら出来そうな感じです! 明日、実際に印刷してみます。 有難うございました。 改善点が御座いましたら、アドバイス下さい! Sub Macro1() Sheets("sheet1").Select Dim e As Long Dim i As Long e = Range("G65536").End(xlUp).Row i = ((e - 6) \ 10) * 10 + 15 ActiveSheet.PageSetup.PrintArea = "A1:N" & i ActiveWindow.SelectedSheets.PrintPreview End Sub
【1 OSの種類 .】 Win98 【2 Excelのバージョン 】 Excel 2000 セル上でALT+下で出る文字の2番目を選びたいのですがマクロの記録をしても 反映されません。この文字たちはVBAのどんな関数に入っているのですか?
646 :
名無しさん@そうだ選挙にいこう :2006/01/10(火) 09:22:37
Excelのシート上での右クリックポップアップが出て来なくなってしまいました メニューバーなどの上ではでてくるんですが。 どこか設定をかえてしまったのでしょうか? 元に戻す方法をご存知の方教えていただけませんか?
648 :
646 :2006/01/10(火) 10:00:03
>>647 すみませんでした、
Excel2000
Windows2000
です。教えていただいた方法を試してみましたが、セーフモードでは表示されるので、xlbファイルを
再構築してみたんですが、ダメでした。
引き続き情報お待ちしています。
649 :
647 :2006/01/10(火) 10:14:32
>642 その引数の指定が文字でした。リスト内から3番目の文字を指定するには・・
652 :
名無しさん@そうだ選挙にいこう :2006/01/10(火) 13:13:49
シートを非表示にすると、そのシートを選択できない? VBAでworksheets("sheet1").select の部分でエラーがでます。 エクセル2003です。
あけましておめでとうございます。 では、質問です。 ver2002 OS XP VBA 少し 複数のマクロを自作して使用してます。 今まではシートに直接ボタンをつけてマクロを起動してました。 しかし、マクロが増えたのでユーザーフォームを作って、そこに ボタンを集中しようと思います。 フォーム上のコマンドボタンを押すとマクロが起動するようにし たいです。どのようなコードにすればよろしいのでしょうか。 わかりづらくてすいません。
>>652 そりゃ、Selectってのは表示上の選択のことなんだから
表示されてないものに「表示上の選択」を行うことは出来ないだろ
おそらくマクロの記録なんかで取れる
〜Select
Selection〜
ってのを使おうとしてるんだろうけど、別にSelect無しでいくらでも対処法はある
具体的な方法は
>>2 ※を読んで自分で考えな
>>653 シート上にボタンを置いて、マクロ割り当てるのと同じだろ
コントロールツールバーのボタンではなく、フォームツールバーのボタンを使ってたなら
多少勝手は違うが、Clickイベントに必要な処理を書いてやるだけだ
Clickイベントはユーザーフォームデザイン上でボタンをダブルクリックすれば
イベントプロシージャが自動で入力される
>>652 そりゃ、Selectってのは表示上の選択のことなんだから
表示されてないものに「表示上の選択」を行うことは出来ないだろ
おそらくマクロの記録なんかで取れる
〜Select
Selection〜
ってのを使おうとしてるんだろうけど、別にSelect無しでいくらでも対処法はある
具体的な方法は
>>2 ※を読んで自分で考えな
>>653 シート上にボタンを置いて、マクロ割り当てるのと同じだろ
コントロールツールバーのボタンではなく、フォームツールバーのボタンを使ってたなら
多少勝手は違うが、Clickイベントに必要な処理を書いてやるだけだ
Clickイベントはユーザーフォームデザイン上でボタンをダブルクリックすれば
イベントプロシージャが自動で入力される
質問です。 excel2002 winXP
テンプレ(
>>15 )にあるんですが、
▼グラフ
・ 棒グラフでひとつだけ突出したデータがあった場合に波線を入れて位置を合わせる
(オートシェイプなどで見た目だけそうなるように弄る、別アプリでグラフを作り、オブジェクトとして挿入)
┌┐
〜〜
||
↑これをやりたいんですが、やり方がわからないので教えてください。
>>658 すいません、()内の代用法のほうです。
660 :
名無しさん@そうだ選挙にいこう :2006/01/10(火) 22:09:43
いや、テンプレ出すまでもない質問だと理解しているからわざわざ書かないよ 【1 OSの種類 .】 WindowsXP以外なら書く(書いてないなら最新版) 【2 Excelのバージョン 】 書いてないなら最新版 【3 VBAが使えるか .】 使えるなら質問しない 【4 VBAでの回答の可否】 どっちとも答えろ 【5 検索キーワード 】 知るかボケ!
661 :
名無しさん@そうだ選挙にいこう :2006/01/10(火) 22:10:36
【1 OSの種類 .】 Win98 【2 Excelのバージョン 】 Excel 2000 ↑ワロタ こんな場合は書くよさすがに
662 :
名無しさん@そうだ選挙にいこう :2006/01/10(火) 22:15:03
663 :
名無しさん@そうだ選挙にいこう :2006/01/10(火) 22:19:25
>>662 荒らしとかw もう死語じゃないの? 荒らしはスルーが常識だろ? 荒らしと書くお前が嵐だよw
664 :
名無しさん@そうだ選挙にいこう :2006/01/10(火) 22:20:58
しかもさ「過去ログ嫁」とか何分かかるんだよ こっちは敏腕ビジネスマンなんだから時間が無い だから完結に質問しているんだよ! だったら答えてくれたらお金やってもいいんだよ?
人に物を教わろうという香具師が、随分態度がでかいな。 そういう香具師は、有料サポートを受けろ。
666 :
名無しさん@そうだ選挙にいこう :2006/01/10(火) 22:28:58
有料サポートしてるとこどこ? マジで近所で逆家庭教師付けてVBAとか教えてほしいな スクールとかはダメダメ 逆家庭教師とは自分の家に来られても困るし相手もめんどうだから先生の家か事務所に漏れが逝くんだよ でも今はお金に余裕ないからな・・・←ぉぃぉぃ敏腕ビジネスマンじゃねーのかよw
667 :
名無しさん@そうだ選挙にいこう :2006/01/10(火) 22:30:05
100万円差し上げるから1から10まで教えて君の僕に丁寧に教えてください。
>>663 死語もなにも現におまえがそうなんだからしょうがないだろ
たった100万ね・・。
VBAで、コピー&ペーストのマクロを組みたいのですが、下記の条件が満たせず 困っております。。。 セルA1の内容をセルB1に貼付け(B1にあったデータに上書き)は出来るのですが、 セルB1に文字データ(例:"平均=")が入っており、文字データの後ろに A1の内容(例:256.11)を貼付けたい(B1内を、"平均=256.11" にしたい)場合、 どのような関数(命令?)を使えば良いでしょうか?
>>670 .Value = .Value & .Value
あとは
>>2 ※を読んで自分でやれ
まあ解る奴には答えそのものみたいなもんだけどな
672 :
670 :2006/01/11(水) 11:41:32
>>671 レスありがとう。
非常に助かります。m(_ _)m
673 :
633 :2006/01/11(水) 20:10:11
>>639 色々試してみたのですが、うまくいきませんでした。
ColumnsとRowsは、行や列全体を選択範囲とするものではないでしょうか?
領域に対して実行するのではなく、領域内で動作し且つ、指定したセルで実行したいのです。
説明不足ですみません。
>>673 ごめん、ColumnとRowだったw
sはいらなかった。
IFで分岐させるなりSelectCase使うなりで十分行けるよ。
難しくないから後は自力で頑張りな。
675 :
641 :2006/01/11(水) 20:58:53
>>675 んじゃOKってことでいいよ。
さよなら。
677 :
名無しさん@そうだ選挙にいこう :2006/01/11(水) 21:22:00
各行を数値で順に次のように分類するとします 1 2 3 4 3 5 ここで例えば2行目を1に変更したとき、下のように それに合わせて以降が自動的にずれてくれるような関数ってありますでしょうか どなたかご教授いただければ幸いです 1 1 2 3 2 4
質問です。過去ログでは回答を得られなかったもので・・・ HTML形式で出力した埋め込みタイプのXLSファイルは、EXCELのインストールされていないPCでも閲覧することは可能ですか? また、数値の変更に伴う再変換などは行われますか? EXCELの入っていないPCでのXLSファイルの閲覧の仕方を検討しています。 MS純正VIEWERでは数値変更ができないようですので、IEプラグインの手動導入などができれば一番なのですが、 可能なのでしょうか?お知恵をお貸しください。
679 :
678 :2006/01/11(水) 21:56:24
また、追記ですがEXCELの入っていないPCはWINDOWS98SEなのです。 純正VIEWERはNT系列のサポートのようなので、困っています。 どうかお知恵を拝借させていただければ幸いです。
条件付書式設定で、1か4か7か9が出たときにセルの色を変える にはどうしたら、いいのでしょうか。お願いします。
>>677 >>14 > ★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)
> ・ 値の書き換え
関数でやるなら、一端別列に出してコピペでもするんだな
またはVBAでやるとか
>>678 閲覧不可、もちろん変更も不可
しかし金をかけずに閲覧編集する手段はある
>>680 1か4か7か9が与えられた時にTRUEを返す式を書けばいいだけ
その為の関数は関数の検索機能を使えば一瞬で見つかる
あとは3人とも
>>2 ※を読んで、自分でがんばりましょう
682 :
641 :2006/01/11(水) 23:21:02
>>676 ノシ。ぐすん。ListFill。Filter。。。面倒で遅いんじゃ、ボケ。教えてよ、ねぇ
>>677 関数では無理です。
1回限りの操作のみ有効かつ、
必ず連番という条件であれば上
のセル+1でいけるが。
>>682 とりあえず無いってことでいいよ。
そもそも、有るにしても無いにしても2chでの質問回答ってのは
金がかからない代わりに回答内容の保証なんて無いのは当然だろ。
回答がつかなかったから「無いってことでOKですか」とか、
また、例えば回答内容に対して「それは本当ですか」とか、
確証有る回答が欲しいならそれ相応の場所で聞くべきだよ。
回答が有ればその内容の確認は自分で行い、回答が無ければ
有耶無耶のままでも諦める、それが掲示板でのやりとりってもの。
無いなら無いという確実な答えが欲しいなら、MSに聞け。
それ以前に
>>1 に催促は何だって書いてある?
685 :
677 :2006/01/12(木) 00:10:49
>>681 >>683 ご返事あるがとうございます
どうやら作業列を使えば別列に出すことはできそうなので、そうしてみます。
Excelのマクロについて質問させてもらいます(間違えて他のスレに誤爆してます) これまでVBEでマクロ作って、他のExcelファイル(数百)に適用してました 久しぶりに適用しようとすると、マクロが突然認識されなくなってしまいまして マクロのプログラム自体が全てのファイルを確認しても残ってないのですけど 同じような状況になった人っていませんか? また、そのマクロを復活させることは出来るでしょうか?
687 :
名無しさん@そうだ選挙にいこう :2006/01/12(木) 09:56:28
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 あるセルに完了が選ばれるとたとえばドロップダウンリストなどで、その列のセル(B25〜AS25) が黒く塗りつぶされるというのをしたいのですが、どうしたらよろしいでしょうか?またはそのセルの真ん中にオートシェイプで線を引くのも可です。 よろしくお願いいたします
688 :
名無しさん@そうだ選挙にいこう :2006/01/12(木) 10:45:13
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 あ 2 b い 1 a う 3 c といったデータをもとにして 別の場所につくった表に あ・い・う を数字・アルファベットに応じた位置に配置 図にすると、 a b c 1 い 2 あ 3 う ↑このような形に並び替えたいのですが 何かよいお知恵はありませんでしょうか?
>>686 >>1 ★1〜4と
>>2 ※を読んで、次回からはきちんと質問出来るようになりましょう
今回はルール違反により回答は付かないけど、こういう場合は必須事項に加えて
そのマクロをどこに置いてたか、マクロが使えなくなる前に何をしたかなども書くといいよ
まあ、全ファイル個別に書いたマクロが同時に消えたってならわからんけど
すべてが単一のマクロを参照して呼び出してたならアレだろうな
>>687 条件付き書式を使えばいい
セルへの参照を行は相対参照、列は絶対参照にすれば一発で指定できる
それと(B25〜AS25)は列ではなく行だな
>>688 ピボットテーブル、またはVLOOKUP+HLOOKUP、またはINDEX&MATCH*2
使い方はヘルプに載ってるのでそっちを見な
690 :
名無しさん@そうだ選挙にいこう :2006/01/12(木) 12:04:37
何度やっても覚えられません。 手元に参考書があるから分からなくなくなったまたそれ見ればいいやーって感じで・・・
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 勉強中 【4 VBAでの回答の可否】 VBAで回答お願いします。 A1〜E5までの5×5のセルに適当な値(数字はループで入れる)を入れて、F列 に各行の合計、G列に各行の平均を算出し、F列の累計表をH列に表示するプロ グラム。 よろしくお願いします。
F列の累計ってことはH列は一箇所のセルで済むわけだろ? これは初心者でも全然なんとかなるレベルだから自力でやった方がいい
693 :
687 :2006/01/12(木) 12:51:14
>>689 ありがとうといいたいところなのですが、他のセルは条件書式3つとも使っているセルが多いのです。
だからマクロしかないと思いまして。
累計表だったか失礼
後出しして申し訳ありませんでしたと、謝るべきだな
696 :
名無しさん@そうだ選挙にいこう :2006/01/12(木) 13:42:28
EXcel97というのを持ってるのですがwindows XPのPCに インストールできますか?どなたか教えてください。
>>691 >>2 ・8
汚くても、途中まででも、結果が出なくてもいいから
自分で書いた物はすべてここに貼れ
それがここのルール
>>693 うん、マクロでもいいんじゃないの?
ただ条件後出しなんてコードは書かない
Changeイベントで感知し、Ifで判定を行い
Trueなら「範囲.背景色 = 黒」を実行すればいいだけ
>>696 出来るよ
698 :
名無しさん@そうだ選挙にいこう :2006/01/12(木) 17:30:18
質問 セルのサイズを印刷時に縦横16.0mmにしたいんですが 指定する方法を教えてください。
>>698 Excelはセルサイズをmm指定出来ない仕様
mm指定したいなら、表計算ソフトなんて見当違いな物使ってないで
普通にCAD使うか、ものさしマクロでもつかってごまかしてみな
印刷だけwordかaccess使えばいいんじゃない?
>>691 関数でできるんでない?記録するとこんな感じ
Range("F1").FormulaR1C1 = "=SUM(RC[-5]:RC[-1])"
Range("G1").FormulaR1C1 = "=AVERAGE(RC[-6]:RC[-2])"
Range("H1").FormulaR1C1 = "=SUM(R1C6:RC[-2])"
Range("F1:H1").AutoFill Destination:=Range("F1:H5"), Type:=xlFillDefault
702 :
名無しさん@そうだ選挙にいこう :2006/01/12(木) 20:16:40
A列の使用しているセルのみの数値との演算をB列に返したいのですが vbaで下のようにするとエラーが出てしまいます。 Range("B2").Select Selection.FormulaR1C1 = "=1+RC[-1]" Selection.AutoFill Destination:=Range("B2", Range("B65536").End(xlUp)) 問題点及び解決策をどなたか教えていただけないでしょうか?
どんなエラーがでるのかこっちが推測しないといけないんですか〜!?
>>702
>>703 すいません
「RangeクラスのAutofillメソッドが失敗しました」というエラーがでます
そのそも「A列の使用しているセルのみ」が対象なのに、 何でRange("B65536").End(xlUp))なんだ? これじゃB列の2行目からB列の下端データまでだろうよ んでB2以下にデータが無ければB2〜B2とAutofill適用先が無いからエラーになる B列はあくまでも式を入れるセルで、範囲条件はA列の範囲を使うんじゃないの?
706 :
名無しさん@そうだ選挙にいこう :2006/01/12(木) 21:58:54
ローカル上で起動中のEXCELの、あるセルA1に、 Web上にあるEXCELファイルのA行のデータの最大値を入れたいのですが MAX(INDIRECT("[http〜ファイル名.XLS]Sheet1!A:A))としても無理でした。 何かよい方法はないでしょうか? OSはXP EXCEL2000 マクロ可能です。 よろしくお願いします。
707 :
702 :2006/01/12(木) 22:13:48
>>705 ご助言を参考にいじくってみたらできました
↓
Range("A2", Range("A65536").End(xlUp)).Select
Selection.AutoFill Destination:=Range("B2", Range("A65536").End(xlUp)), Type:=xlFillDefault
Range("B2", Range("B65536").End(xlUp)).FormulaR1C1 = "=1+RC[-1]"
ありがとうございました!
708 :
686 :2006/01/12(木) 22:30:21
>>689 御返事ありがとうございます
心当たりのある点としては、Nortonにウイルスとして認識された
またはWindowsアップデートしたあとから、使えなくなったように思います
復活させることが出来ないようですので作り直そうと思います
709 :
名無しさん@そうだ選挙にいこう :2006/01/12(木) 22:41:04
いくつか教えてください。 OS:XP ProSP1a,Version2000,マクロ可ですが、できたら使いたくないです。 セルに A B C D あ 10 100 110 い 20 0 20 う -10 0 -10 え 30 0 30 う 20 100 120 あ -40 100 60 あ -10 0 -10 う 0 0 0 う 10 0 10 い -20 100 80 とある状態でD列にはそれぞれB+Cのデータが入っています。 1、A列に”あ”とある行だけDの合計を特定のセルに表示する方法があったら教えてください。 A列の内容ごとに集計を表示しようとしています。 2、B列がプラスのものだけの合計を特定のセルに表示する方法があったら教えてください。 検索で適した用語が見つからなかったのでFAQ的なサイトをいくつか見たのですが、適当な 回答がなかったのですみませんがどなたか教えてください。 よろしくお願いします。
>>706 ファイルの参照方法は普通のファイルの場合と同じく普通に指定すれば良い
普通のファイルの場合の指定方法すら解らないならヘルプ読め
INDIRECTとか必要ない
またはインスタンス作ってWorksheetFunction.Maxで取得してもいいけどね
>>709 1, SUMIF
2, SUMIF
関数の検索で「条件ごとの合計」とか入れるとすぐ出てくるわけだが
>>709 どっちもSUMIFで逝けるぞ、ヘルプで判らなかったらググって調べろ
>>709 1 =SUMIF(A1:A10,"あ",D1:D10)
2 =SUMIF(B1:B10,">0",B1:B10)
713 :
696 :2006/01/12(木) 23:24:55
697様 教えて下さって有り難うございました!!!
714 :
706 :2006/01/13(金) 00:26:54
>>710 >ファイルの参照方法は普通のファイルの場合と同じく普通に指定すれば良い
その普通とはhttp〜でいいということなのでしょうか?
>普通のファイルの場合の指定方法すら解らないならヘルプ読め
>INDIRECTとか必要ない
これはファイル名があるセルに書かれているので。
715 :
名無しさん@そうだ選挙にいこう :2006/01/13(金) 00:34:51
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 勉強中 【4 VBAでの回答の可否】 VBAで回答お願いします。 ある列の値が一意であるかVBAの中からチェックしたいのですが、いい方法(簡単な方法)はありますか?
718 :
名無しさん@そうだ選挙にいこう :2006/01/13(金) 01:05:44
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 エクセル 同じ値 抽出 シート1 シート2 1 番号 1 番号 氏名 会員 2 582 2 540 佐藤 10254 3 541 3 541 鈴木 00574 4 845 4 542 伊藤 10032 5 628 5 543 田中 09971 シート2の値はもっと沢山あり、シート1の番号を与えられた時、シート2の 氏名と会員b抽出して、シート1の順番通りに表示させたいです。 フィルタオプションではシート2の番号順にしか抽出出来なくて困ってます。 抽出先はどこでも構いませんが、便宜上シート3と希望しときます。 どなたかよろしくお願いします。 例(シート1の並び順を通りに抽出) 番号 氏名 会員 1 582 山田 10094 2 541 鈴木 00574 3 845 ・・・・
719 :
名無しさん@そうだ選挙にいこう :2006/01/13(金) 01:12:15
>>718 シート3のA列にシート1にある番号をコピペしたとしてB列の方は
VLOOKUPで使えばスグ出来る
>>714 > これはファイル名があるセルに書かれているので。
条件後出しかよ
> ★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)
> ▼数式・関数
> ・ セルの値でパスを補完して、開いてないブックのセルを参照する (VBA)
別セルの値で補完したいならVBAでそのブックのインスタンス作る方法使いな
条件後出しだし、【3 VBAが使えるか .】も書いてないのでコードは自分で書きな
722 :
706 :2006/01/13(金) 01:37:29
>>721 >条件後出しかよ
いえ、後だしではありません。
今回の質問内容とは関係ない内容です。
混乱を招くためあえて書いてません。
(消しておけばよかったですね)
どうもExcelの知識だけでは解決できなくて。
724 :
687 :2006/01/13(金) 09:22:47
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Value <> "" Then Target.Font.ColorIndex = 3 If Range("AO4").Value = "完了" Then Else: Range("B4:AS4").Font ColorIndex = 48 End With これではだめでしょうか?
725 :
名無しさん@そうだ選挙にいこう :2006/01/13(金) 09:28:28
手元にPCが無いので携帯から失礼します。 セル内に例えば「1月15日(日)」と打ったときに、曜日が休日(祝日含む)の日を入力すると 自動で曜日の一文字だけ赤色(平日なら黒のまま)にすることってできましたっけ? Excel2002です。おねがいします。
>>724 最後のEnd WithをEnd Ifに直して
Font ColorIndexをFont.ColorIndexにを直せば
とりあえず構文的には間違ってないだろ
あとはそれでダメかどうかは俺等ではなくおまえの判断だ
動作結果がおまえの望むようになればそれでいいし
望み通りにならなければ修正すればよい
なんか最初の内容とは違うけど、おまえ自身が納得出来るなら
俺等がダメだなんて言う筋合いじゃないしな
>>14 > ★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)
> ・ 祝日を判断する (作業セルに祝日を列挙、VBA)
とにかくExcelは祝日情報を持ってないので、Excel自体の機能で祝日判定は出来ない。
但し、任意の日付(複数可)に一致するかの判定は出来るので、祝日の情報を用意すればどうにでもなる。
具体的な方法はググろう。
728 :
名無しさん@そうだ選挙にいこう :2006/01/13(金) 09:47:20
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 たぶん いいえ 【4 VBAでの回答の可否】 否 VBA自体よくわかりません 【5 検索キーワード 】 右クリック IE エクセルにエクスポート IEスレから誘導されてきました。 IEを使っている時に右クリックすると、 プロパティの上に『Microsoft Excelにエクスポート』と出てきます。 これを消したいのですが、何か方法はありますでしょうか? レジストリを弄らなくても消せる方法があればいいのですが。よろしくお願いします。
>>728 (2003インストール時に)レジストリを弄って加えられたメニューなので
弄られた部分を直さないと(削除しないと)消せない
IEの拡張メニューは\MenuExtキー以下にキーがあれば自動で読み込む仕様だから
まあ、レジストリはそんなに怖い物じゃないよ
Regeditで直接弄ることが出来ないだけなら、IEMenuExtとか使ってみな
730 :
687 :2006/01/13(金) 10:16:57
修正したけど動かない orz 最初の構文は新規入力でフォントカラーを変えたかったので無視して下さい。 わからない???
「動かない」ってのも曖昧な表現だよな 全く動作しないという意味での「動かない」なのか 途中でエラーが出て止まってしまうという意味での「動かない」なのか 思った通りに動作しないという意味での「動かない」なのか とりあえず3日くらいがんばってみて、それでもうまくいかないなら そのときはどう動かないのかを詳しく書こうね > ・回答がなくてもキレないで。急いでいても催促は3日以上開けて。 > ・5 回答内容でわからない部分があっても、すぐに聞き返さずにヘルプやGoogleなどで検索しましょう。 すぐに書き返してくるなよ
732 :
728 :2006/01/13(金) 10:39:54
>>729 やはりレジストリを弄らないとダメなのですね。
教えていただいたIEMenuExtなどを使って、削除を試してみたいと思います。
ありがとうございました。
733 :
718 :2006/01/13(金) 11:40:18
>>718 です。
>>720 さん、うまく出来ましたありがとうございました。
VLOOKUPは試したことがあったのですが、指定場所に1回1回手入力しないと
いけないと思っていて、最初に列にコピペしてても問題ないとは気づきません
でした。助かりました。
734 :
687 :2006/01/13(金) 11:43:19
出来ました!! If Range("AO4").Value = "完了" Then Range("B4:AS4").Interior.ColorIndex = 48 Else: Range("B4:AS4").Interior.ColorIndex = xlNone End If ただ、loop ステイトメント知らないので、全部の列書くよう、、、 お願いします。教えて下さい。完成間近。
ヒント:Changeイベントの引数TargetはRangeオブジェクト
736 :
名無しさん@そうだ選挙にいこう :2006/01/13(金) 11:56:22
横から便乗質問させてください。
>>709 と同じ条件で"あ"の行だけを抜き出してグラフに表示する方法って無いでしょうか?
今はソートして別シートにコピーしたものをグラフ表示しているので、データを更新するたびに
ソート作業をしなければならず、すごく時間がかかってしまい困ってます。
737 :
725 :2006/01/13(金) 11:59:46
>>727 なるほど、祝日はそのままでは無理なわけですね。
では、土日だけを色を変えることはできるのでしょうか?
>>736 > ★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)
> ▼数式・関数
> ・ 複数の結果を抽出、不定な数の結果を返す (VBA、結果の最大数が解っていれば最大数以上の式を論理式で組む)
なので、データの抽出はVBAでやれば可能
あとは
>>2 ※を読んでがんばりましょう
>>737 条件付き書式で出来る
使う関数は、関数の検索で調べな
740 :
687 :2006/01/13(金) 12:36:56
これだと何も変化ない、、、 Range("AO4").Select If Range("AO4").Value = "完了" Then Range("B4:AS4").Interior.ColorIndex = 48 Else: Range("B4:AS4").Interior.ColorIndex = xlNone Do ActiveCell.Offset(1, 0).Select Loop Until ActiveCell.Value = "" End If
>>740 Do〜Loopの構文の使い方が基本的に間違ってる
AO列にその『完了』という値が入るのならDo〜Loopよりも
For〜to構文を使った方が判りやすいと思うぞ、ヘルプなりググったりしてみろ
> これだと何も変化ない、、、
>
> Range("AO4").Select
>
> If Range("AO4").Value = "完了" Then
> Range("B4:AS4").Interior.ColorIndex = 48
> Else: Range("B4:AS4").Interior.ColorIndex = xlNone
> Do
> ActiveCell.Offset(1, 0).Select
> Loop Until ActiveCell.Value = ""
>
>
>
>
>
> End If
Changeイベント使うならDoループもForループも必要ない
743 :
687 :2006/01/13(金) 13:11:18
よけいわからなくなってきました??? ぐぐって、何度作ってもfor〜toはさっぱり??
>>736 Excel2003だったらピボットグラフ使えばいいんじゃないかな
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 日付が入力されていれば、その日付。 日付以外なら、返さないようにするためわかりやすくナシにして自分で考えて =IF('2005年度'!B6000="yyyy/m/dd","yyyy/m/dd","ナシ") とやってみました。 日付の書式は yyyy/m/dd になっているので、それを数式の中に入れたのですが、 「ナシ」とかえされてしまいます。どうやったら、日付を返せれるように出来るのでしょうか? 宜しくお願いします。
746 :
名無しさん@そうだ選挙にいこう :2006/01/13(金) 18:32:55
>>745 CELL関数は使えないかな。
第1引数の「検査の種類」を"format"にすれば、対象セルの
表示形式が日付なら、表示形式に応じて"D1"〜"D4"の
いずれかが返ってくる。
ただしデータがクリアされていても、セルの表示形式が日付の
ままなら、同じ値が返ってくるという欠点はあるが。
式の意味をよく考えてみな 「2005年度'!B6000」は参照なので、そのセルの値と置き換わるわけだが そのセルに「2006/1/13」と入ってれば、シリアル値で2006/1/13=38730で 38730="yyyy/m/dd" という条件なので、当然結果はFalseとなり、偽の場合の値である"ナシ"が返る 直接参照と値を比較した場合、比較されるものは表示形式ではなく値だということをお忘れなく CELL関数は746も言ってる通り、値の有無に関わらずセルに設定されてる表示形式を返すから メインは日付がシリアル値という数値であることをふまえた上での数値比較式で 必要なら補助としてCELL関数を使えばいい ちなみにIF関数の第二引数は参照ね
748 :
745 :2006/01/13(金) 18:53:19
>>746-747 はい。やってみたら、戻り値がD1でした。
このD1を使いIFで日付出せyp!ってことでいいのでしょうか?
国語、英語の平均点がそれら2教科の平均点以上である文系の生徒と 数学、英語の平均点がそれら2教科の平均点以上である理系の生徒を合格と表示させるには どうやったらいいのでしょうか?AND条件を使うのかor条件を使うのかさえわかりません。
まずは日本語で説明できるようになることをおすすめしたい
>>744 ヘルプを見たら出来そうです。
色々調べてやってみます。
ありがとうございました。
752 :
名無しさん@そうだ選挙にいこう :2006/01/14(土) 00:35:03
OS:XP Excel2000 VBA可能 検索項目:外部参照、他のファイル、画像 Excel等 bookAには、 B行に画像を貼っています。 そしてC行にはその画像の説明文が書いています。 D行には分類項目が書いています。 ここでbookBを開くと、bookBのD行の分類が="雑貨"の行だけを bookBに画像も一緒に抽出してくるというのをやりたいのです。 文字列はできるのですが、画像のもってきかたをご教授ください。 よろしくお願いいたします。
753 :
725 :2006/01/14(土) 02:44:46
昼間に曜日の色変更について質問した者です。 条件付書式や関数をいろいろ調べて、 土日を含むセル全体の文字色を変えるところまではわかりました。 しかし、セル全体ではなく「平成18年1月14日(土)」←(これで1セル)の 「土」だけの一文字の色を変えたいのですが、さすがにこれだとVBAレベルなんでしょうか? ちなみに「ggge"年"m"月"d"日"(aaa)」を使って入力しています。 どうしても無理なら、曜日だけを独立したセルに分割して 条件付書式で色を変えるしかないのかもしれませんが・・・
>>752 画像などのオブジェクトは、セルに配置したつもりでも
セルに配置されているわけではないので、セル位置から追うことは出来ない
まあ、オブジェクトを複数のセルにまたがるように配置できることを考えれば当然だな
で、どうするかというと、セルからではなくオブジェクト側からそのオブジェクトが
どのセルの上にあるかを判断する事になる
なので、「D列の値が"雑貨"となってる行の画像を抽出」ではなく
「画像のうち、配置行のD列が、"雑貨"となってるものを抽出」となる
【3 VBAが使えるか .】に付いて明示されてないし、VBAはそれなりに解るっぽいので
>>2 ※に従い方法が解ればコードは自分で書けると解釈する
>>753 > さすがにこれだとVBAレベルなんでしょうか?
うん、VBAレベルだな
でもセル内の一部文字の文字色変更も、マクロの記録で録れるので
それ見ればわかるでしょ
解らないなら自分でも言ってるように別セルに分割すればいいし
>>753 >さすがにこれだとVBAレベルなんでしょうか?
>ちなみに「ggge"年"m"月"d"日"(aaa)」を使って入力しています
VBAでも無理です。
文字として「平成18年1月14日(土)」を入力するのならVBAで可能ですが
書式を日付にして表示のみを変えているようですので無理です。
かといって文字入力はお勧めではありません。現在のままの方が良いです。
別セルにする方法をお勧めします。
756 :
752 :2006/01/14(土) 11:33:10
>>754 ありがとうございました。
それだけわかれば十分です。
もちろんVBAは楽勝です。
757 :
名無しさん@そうだ選挙にいこう :2006/01/14(土) 14:34:00
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 不可 文字列の結合で、標準・太字・イタリックをまぜこぜにして一つのセルに 出力することは可能でしょうか? セルのフォント設定をA1を標準、B1を太字、C1をイタリックにして、 D1=A1&B1&C1としただけだとD1には全部標準書式で出てしまいます。
>>757 数式で指定出来るのは表示形式までで
文字やセルの修飾(色や書体など)は数式では出来ない
759 :
757 :2006/01/14(土) 14:52:53
>758 回答ありがとうございます。あきらめて手で書体直してきます。
760 :
名無しさん@そうだ選挙にいこう :2006/01/14(土) 16:15:15
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 すこし 【4 VBAでの回答の可否】 否 セルの書式設定で、+−符号付きで整数の場合は小数点以下なし、 小数の場合は小数点以下2桁っていうような書式ってできますか?
762 :
760 :2006/01/14(土) 17:34:49
>>761 ありがとうございます。
ヘルプ読んでみたんですがよくわかりません。
質問の仕方が悪かったかもしれませんので・・・
入力「100」→表示「+100」・・・小数点( . )も表示しない
入力「100.1]→表示「+100.10」
のような書式ってできます?
できればお手数ですけど書式書いてもらえますか?
条件後出し
764 :
名無しさん@そうだ選挙にいこう :2006/01/14(土) 19:46:21
エクセル上にある下記のコードから 9984 100 5,000 を抜き出して、指定のセルに貼り付けることは可能でしょうか? またその方法を教えていただければ幸いです 宜しくお願いします。 9984?ソフトバンク<BR> <HR color=#ff0000 SIZE=1> ○注文情報<BR> <HR color=#ff0000 SIZE=1> 受付No.0100<BR>取引区分<BR> <DIV align=right>信用新規売り</DIV>市場?東証<BR>注文数量<BR> <DIV align=right>100株</DIV>単価<BR> <DIV align=right>5,000円</DIV>執行条件<BR>
>>763 これは後出しとは違うでしょ。>760にも書くべきことはちゃんと書いてある。
で。
+−の符号を付けることはできるが、お望みの形で整数と小数を
分けるのはたぶん無理。考えてみたけど思いつかなかった。
俺がわからんだけならすまん>760
766 :
名無しさん@そうだ選挙にいこう :2006/01/14(土) 20:17:57
エクセル上にある下記のコードから 9984 100 5,000 を抜き出して、指定のセルに貼り付けることは可能でしょうか? またその方法を教えていただければ幸いです 宜しくお願いします。 9984?ソフトバンク<BR> <HR color=#ff0000 SIZE=1> ○注文情報<BR> <HR color=#ff0000 SIZE=1> 受付No.0100<BR>取引区分<BR> <DIV align=right>信用新規売り</DIV>市場?東証<BR>注文数量<BR> <DIV align=right>100株</DIV>単価<BR> <DIV align=right>5,000円</DIV>執行条件<BR>
767 :
名無しさん@そうだ選挙にいこう :2006/01/14(土) 20:33:15
セルを移動するとき端までドラッグするとオモクソ加速して目標の位置があっという間に過ぎてしまい、 すんなり出てこないんですが加速量を”設定で”調整することできませんか? マウスで調整するのはなし
無理
769 :
767 :2006/01/14(土) 21:25:33
では設定した行(セルに記号を入力するとかも可)までスクロールしたら自動で止まるように出来ませんか?
無理
>>767 「セルを移動する」というのが特定のセルをアクティブにしたいという事なら、
名前ボックスにアクティブにしたいセル番地を入力。
(例えば)A1セルからA10セルを範囲選択したいという事なら、
Range("A1:A10").Select
>>767 Shift押しながら「UP」「DOWN」なり「PageUP」「PageDOWN」したほうが
速いんじゃない?
>>767 「マウスで調整するのはなし」とあったので書かなかったけど。
ひょっとして、ポインタの置き場所によって加速が2段階に変わること
知らないってことはないよね。
あれでいくらでも加減できると思うんだけど。
>>766 可能だよ
それはHTMLだとおもうけど
たとえば最初の5000を抽出する場合
2番目の<DIV align=right>と円のあいだにあるから
適切な表現を用いて抽出して、pasteすれば簡単に出来ると思う
>>774 ありがとうございます
>>適切な表現を用いて抽出して、pasteすれば簡単に出来ると思う
ぐぐってみましたが適切な表現が見つかりませんでしたorz
そりゃググっても"適切な表現"事態は出てこないだろうな
これは自分で作る物だから
後は
>>2 ・7
Excel2003なのですが、 セルのハイパーリンクをクリックして開くブラウザを指定したいのですが、 どのようにすれば良いでしょうか? 普段はビューワー代わりにJPG画像等はLunascapeで開くようになってはいます。 よろしくおねがいいたします。
貼り直し 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 別シート、データ 予め別シートに「国別の年齢層別にみる人口」 (アメリカ:80歳以上n人70-79歳m人...イギリス:80歳...みたいなもの)が二次元データとして入力されており、 セルA1に「アメリカ」と入力されたとき、セルA2以下に各々のデータを自動入力したい。 可能であれば、マクロを実行したら処理が行われるのではなく セルに関数を設定しておいて、「アメリカ」と入力したら自動で値の参照が行われるようにしたい。 検索キーワードすら思いつかないので、それだけでも教えていただければ、と思います。
779 :
名無しさん@そうだ選挙にいこう :2006/01/15(日) 13:08:18
エクセル上にある下記のコードから 9984 100 5,000 を抜き出して、指定のセルに貼り付けることは可能でしょうか? またその方法を教えていただければ幸いです 宜しくお願いします。 9984?ソフトバンク<BR> <HR color=#ff0000 SIZE=1> ○注文情報<BR> <HR color=#ff0000 SIZE=1> 受付No.0100<BR>取引区分<BR> <DIV align=right>信用新規売り</DIV>市場?東証<BR>注文数量<BR> <DIV align=right>100株</DIV>単価<BR> <DIV align=right>5,000円</DIV>執行条件<BR>
>>778 LOOKUP系かINDEX&MATCHで
>>779 VB構文による文字列操作は
>>2 ・7
Excelに関係有るのは「指定のセルに貼り付ける」だが、これは
Range("A1").Value = 値
ここではこれ以外に教える事はない
781 :
760 :2006/01/15(日) 14:05:22
>>765 ありがとうございます。
書式設定で対応するのはあきらめることにします。
782 :
名無しさん@そうだ選挙にいこう :2006/01/15(日) 15:17:07
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 excel セルの端 ダブルクリック 現在選択されているセルの四辺は太く表示されますが、 セルの内容を編集しようとしてダブルクリックするときに 四辺の線上をダブルクリックすると、遠くのセルに飛ばされてしまいます。 この機能を切るにはどうしたらよいでしょうか。
切れない
784 :
名無しさん@そうだ選挙にいこう :2006/01/15(日) 16:45:35
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 数値合計 ひとつのセルに書いた数字「1234567」から 1+2+3+4+5+6+7の計算結果を出したいんですが、 どのようにしたらいいでしょうか?
>>784 数値が入っているセルをA1と仮定。
Mid(A1,1,1) + Mid(A1,2,1) + ・・・ + Mid(A1,n,1)
条件後出しで、文字数が変わった場合も そのまま使える式がいいとか言ってきそうな悪寒
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 ウィンドウ枠の固定 A | B ---+------ | C | D | こういうように分けて下方向にスクロールした時、A,B,Cを固定してDのみ移動させたいのですが、不可能ですか? ウィンドウ枠の固定を試してみたのですが、Dと一緒にCも移動してしまって・・・ かといってCの情報をAに持っていくとDを表示する面積が小さくなってしまい、使い物になりません。 何とかなりませんか?
一行目に目的語が抜けてました、”ワークシートを”を脳内補完してください。
不可能
そうですか・・・ ありがとうございます。
791 :
名無しさん@そうだ選挙にいこう :2006/01/15(日) 19:34:37
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 勉強中 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 VBA 配列 初期設定 Const str(5) as String = ("A", "B", "C", "D", "E") の感じの、文字列配列を定数としてモジュール内で使用したいのですができません。 今1個1個設定する関数をブックオープン時にCallしてやってるんですが、 エラー時再設定が必要だし、いまいち納得いきません。 もっとすっきりした方法があると思うので、どんな風にすればよいか教えてください。
792 :
名無しさん@そうだ選挙にいこう :2006/01/15(日) 20:03:21
794 :
名無しさん@そうだ選挙にいこう :2006/01/15(日) 20:52:25
>>793 >具体的になにを使うの?
すいません。どのことかよくわからないのですが、
str(0) = "A", str(1) = "B" … のように、単純にモジュール変数に代入する自作関数を、
ThisWorkbookのWorkbook_Open()でCallしているだけです。
795 :
名無しさん@そうだ選挙にいこう :2006/01/15(日) 21:14:18
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 勉強中 【4 VBAでの回答の可否】 可 セルA1・B1・C1にそれぞれ「=B1&" "&C1」・「1/4」・「1/5」と入力すると、 「38721 38722」・「1月4日」・「1月5日」と表示されるのですが、 これのA1を「1月4日 1月5日」と表示するにはどうしたらよいのでしょうか。
>>791 String配列を一括設定する方法は
Dim hoge() as String
hoge = Split("A B C D E")
などという方法があるが、ヘルプにも書かれてるように
> 定数に代入する式の中では、変数、ユーザー定義関数、Chr などの Visual Basic の組込み関数は、使えません。
なので、無理
そもそもVB(VBA)では定数の配列という概念自体が無いでしょ
というか、定数配列のある言語の方が少ないと思う
変数でもいいなら、先ほどのSplit関数やParamArrayキーワードを使えば一括設定出来るし
クラス化してClass_Initializeでこの設定をするって手もある
>>795 TEXT関数を使う
使い方はヘルプ参照
797 :
791 :2006/01/15(日) 21:51:30
>>796 簡単に設定できると思ったんですが、定数の配列という概念自体が無いというならどうしようもないですね。
ありがとうございました。
>>795 =TEXT(B1,"m""月""d""日""")&" "&TEXT(C1,"m""月""d""日""")
799 :
795 :2006/01/15(日) 22:37:41
800 :
784 :2006/01/16(月) 00:14:41
>>785 無事できました。ありがとうございました。
801 :
名無しさん@そうだ選挙にいこう :2006/01/16(月) 01:32:34
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 レポートなんで否で。 【5 検索キーワード 】 セル内容 TorF セル内の値が数値かどうかをチェックする関数はisnumberだと 思うのですが、セル内の数値が3桁の数値かどうかをチェックするためには いい関数がありますか?
802 :
800 :2006/01/16(月) 01:48:06
>>801 isnumberとlenをandでつないで解決しました。お騒がせしました
>>801 3桁なら○、それ以外なら×を表示
=IF(AND(A1>=100,A1<1000),"○","×")
804 :
名無しさん@そうだ選挙にいこう :2006/01/16(月) 10:13:18
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
ゴールシークを使って面積が 20u と 30u である円の半径を求めるんですが。
どのようにすれば求められるのでしょうか?
その問題の画像
http://up.spawn.jp/file/up9460.jpg
しゅくだいはおともだちといっしょにやろうね。
>>804 ゴールシークって何や??と思ってぐぐったらすぐできた。
がんばれ!!
807 :
687 :2006/01/16(月) 13:21:21
結局調べて回ったのだが、わからない。だれかloopもしくはchangeイベントなんでもいいから教えて下さい。
おまえは途中で内容がかわってるからな もう一度、何がやりたいかと、 自分で書いたコード、およびそれの何処が不満なのかを 具体的に書こう 「あるセル」とか「ドロップダウンリスト」とかの曖昧な表現はダメね
809 :
687 :2006/01/16(月) 14:52:57
If Range("AO4").Value = "完了" Then Range("B4:AS4").Interior.ColorIndex = 48 Else: Range("B4:AS4").Interior.ColorIndex = xlNone End If これを全部の列に適用する方法が解らないのです?? わかりずらくてすみません、、、orz
>>809 changeイベントのTargetから変化したセルの行を取得すればええんでね?
思いつきだけど。
813 :
687 :2006/01/16(月) 16:17:27
rangeをどうやって指定するのか解らない?? offset??
814 :
d :2006/01/16(月) 16:18:52
>>787 ずいぶんと諦めが早いですね。
疑似でよければ、
[ウインドウ]-[新しいウインドウを開く]でウインドウを3つにして
位置と大きさを適宜調整
[ファイル]-[作業状態の保存]
で出来ます。
あくまでも疑似ですが。
815 :
d :2006/01/16(月) 16:58:52
>>687 こちらはしつこく粘ってますね。^^
こんな感じのことがしたいのでしょうか。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count <> 1 Then Exit Sub
If Target.Column <> 41 Then Exit Sub
Dim R As Long
R = Target.Row
With Range("B" & R & ":AS" & R).Interior
If Target.Value = "完了" Then
.ColorIndex = 48
Else
.ColorIndex = xlNone
End If
End With
End Sub
あと、上の方でも指摘されてますが「行」と「列」の区別がついてませんね。
がんばって基本から勉強してください。
一括して"完了"を消した場合の動作が・・・・・(以下略
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 マクロのコピー Range("C1").Select Selection.Copy Range("D1").Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlAdd, SkipBlanks:= _ False, Transpose:=False End Sub というのをC1〜C55およびD1〜D55まで作りたいのですが コピーしてひたすら数値を書き換えていくしかないのでしょうか? 6行分あるので記号の変更も含めと何度も書き換えて 330回もボタンにマクロを登録するのはきついです orz 何か簡単な方法はないでしょうか? どなたかご教授願います。
820 :
818 :2006/01/16(月) 20:19:14
>>819 さん
上記のマクロのC1とD1の数値を増やしながら
コピーしてボタンにマクロを登録したいのです。
EXCELに300点程の品番と品名が書いてありまして、
品番のボタンを押すと商品の品数が増えるという
要は商品をカウントする為のものを作ってるのです。
何か良い方法があったら教えてください。
だからさ、具体的に書こうよ それで具体的に書いてるつもりなら去れ
822 :
687 :2006/01/16(月) 20:58:50
ありがとうございます!! ただどうなってるのかさっぱり?? 後ろの人が完了をまとめて消すとと書いていますがなぜこうなるのかも??? 勉強します。
823 :
804 :2006/01/16(月) 23:32:17
>>818 6行分って何?330回の意味とかを詳しく書けよ
C列とD列のコピペ作業をE列F列やその他の列でも同様に行う結果330回ってことか?
【1 OSの種類 .】 W2Ksp4 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 再計算 excel 再計算を手動に設定しています。 普段、計算式を入力すると一番下段に「再計算」とのメッセージが出て、 F9で再計算を実行すると「再計算」のメッセージが消えます。 しかし、RANKやVLOOKUPなどの複雑な関数を、たくさんのセル (20000X100ほど)にいれた状態で再計算をすると、実行した後のメッセジーが計算後も消えません。 この現象は再計算がどこか一部完了していないという事でしょうか? 問題あるなら解決法を教えて下さい。
>>824 お前は生徒でも実子でもないのに
なんで赤の他人が確認作業までやらないといけないんだ?
いくらネットでも礼儀くらいはちゃんとしろよ
> 漏れは第三者だが
830 :
名無しさん@そうだ選挙にいこう :2006/01/17(火) 07:45:09
やっぱり反応したか
釣りなら釣りとあらかじめ分かるようにしとかないと^^;
さて悪いのは誰ですか?
悪いのは曖昧で適当で本人の脳内でしか補完できないような質問をするアフォ質問者。 (エクセルに関して)無知な質問者は歓迎するけど、 日本語や常識にまで不自由な奴はお呼びでない。
835 :
名無しさん@そうだ選挙にいこう :2006/01/17(火) 09:33:11
仕事しろ。
やることやった上での無知な人ならいいんだがな・・・
仕事してない自分を戒めてるんですか?
とりあえず耐震偽装の証人喚問に ライブドア家宅捜査をぶつけて誤魔化そうとしてる人たちってのは 問答無用で「悪」ですなw
839 :
818 :2006/01/17(火) 15:14:56
説明不足および具体的に書くことができなくて申し訳ありませんでした。
質問したことは自己解決しましたので去ります。
不快な思いをさせて申し訳ありませんでした。
>>821 このスレはあなたが仕切ってるつもり?
俺はあんたの生徒でも実子でもないのに
なんで赤の他人に去れと言われなきゃいけないんだ?
いくらネットでも礼儀くらいはちゃんとしろよ
>>824 さん
書き方のアドバイス有難うございます。
理解してくれようとしてくれた事、感謝しております。
礼儀が出来てないから去れと言われたことにも気付かず、 自分を棚に上げて他人を指摘してる素敵な方が居ますね。 それとも自分は礼儀正しいつもりだったのかな? だとしたら表面だけ繕って丁寧な言葉を使うのが礼儀だと思ってる子なのかな? 答える方の身になって、「理解してくれようとしてくれた事、感謝しております。」なんて 言わなくても済むように、誰でも理解できる質問の仕方を心がけるのが礼儀ってものだと 覚えておいた方がいいよ。社会に出てからきっと役に立つから。
去ると言いながら、また出てきたりしてなw
>>839 指摘してるのは正しいことなんだから
少しは謙虚に受け止めろよ・・・
途中でやめるのも不誠実な
説明不足な質問を読んで考えてくれた人もいるんだからさ・・・
自分の発言には最後まで責任もとうよ・・・
【1 OSの種類 .】 Windows2000 pro 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 ='[1.xls]1'!$A$1 これをドラッグかコピーで右のセルに ='[1.xls]1'!$A$1 ='[1.xls]2'!$A$1 ='[1.xls]3'!$A$1 ・・・ とできる関数ありますか? 初心者なものでできたら詳しくお願いします。
=INDIRECT("[1.xls]"&COLUMN(A1)&"!A1")
847 :
名無しさん@そうだ選挙にいこう :2006/01/17(火) 23:08:40
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 ググりながら、ほんの少し 【4 VBAでの回答の可否】 可 こんにちは。質問があります。お願いします! あるファイル(ファイルXとしますね)の中に株式コードのデータが1000社ぶんぐらい入っています。 それを利用して、あるフォルダの中にまとめて入っている株価データのファイルを開きたいのです。 株価データのファイル名は、全て○○○○(株式コード).csvという名前です。株式コードは全て4桁の数字です。 例えば、ファイルXのセルA1に、1302という株式コードのデータがあったら、 1302.csvというファイルを開き、そこから特定のセルに入っているデータをコピーして、ファイルXのA2に貼り付ける・・・ という作業を、1000行目ぐらいまで実行したいのです。 実際に、「kabu」という変数の中に、4桁の株式コードを入れて、 Dim kabu As String kabu = Range("A1").Value Workbooks.Open "C:\kabu.csv " というものを書いてみたのですが、「kabu」の部分が変数として認識してもらえないようで、 「kabu.csvというファイルは存在しません」というエラーが出てしまいます。 うまい方法はないでしょうか?長文駄文失礼致します。お願いします。
>>847 Workbooks.Open "C:\" & kabu & ".csv "
849 :
名無しさん@そうだ選挙にいこう :2006/01/17(火) 23:28:40
>>848 できました!!!!本当にありがとうございます。
手動でやったら1週間ぐらいかかりそうな作業が、今夜中にできそうです!!!
今かなり感動してます。&&で囲むと、そこが変数であると認識させることができるのですか?
本当にありがとうございました。
【1 OSの種類 .】 Windows2000 pro 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 Excelの特定のワークシートへ、グラフ(オブジェクト)を4個、指定の座標に貼り付けるプログラムを作っています。 Excelのモジュールファイルに以下のプログラムを書いて実行すると、思った通りに動作します。 これをAccess2000のモジュールファイルで関数として作って実行すると、確かにグラフ4個は描かれるのですが、指定したのとは違う先頭のワーク シートへ張り付いてしまいます。 (Access側でワークブックを生成し、ActiveWorkBookへ操作する形でコーディングしています) これは仕様なのでしょうか、それとも書き方が変なのでしょうか? Dim wshdata As Worksheet Dim wsh As Worksheet Set wshdata = ActiveWorkbook.Worksheets("data") Set wsh = ActiveWorkbook.Worksheets("Sheet2") Charts.Add ActiveChart.ChartType = xlLineMarkers ActiveChart.SetSourceData Source:=wshdata.Range("A1:C9"), PlotBy:=xlColumns ActiveChart.Location Where:=xlLocationAsObject, Name:=wsh.Name With ActiveChart .HasTitle = False .Axes(xlCategory, xlPrimary).HasTitle = False .Axes(xlValue, xlPrimary).HasTitle = False End With Set wshdata = Nothing Set wsh = Nothing
850ですが、上記の例では4個張り付きませんので、それはスルーして下さい。 Sheet2にグラフが貼り付いて欲しいのに、最初のワークシートdataへ張り付いて しまうので、困っています、、、 Accessの仕様なのでしょうか。
852 :
843 :2006/01/17(火) 23:40:04
>>846 ありがとうございます。VBAを使うのですか・・・
よろしければコードを教えていただけますか?
これを機にやってみようと思うので
> 【4 VBAでの回答の可否】 否
3行目、6行目、9行目、12行目・・・ のように、ある倍数毎に行を削除していくのに何か良い方法は無いでしょうか? フィルタを使用したりマクロを使用したりすればできるのですが、それ意外ではどうでしょうか?
列に1,2,3,1,2,3・・・ 等と順に値をいれオートフィルタを使い削除したい行を選択削除
>>852 ★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
>>852 グラフの上から、図形とかテキストボックスを貼りつける。
859 :
854 :2006/01/18(水) 08:10:12
>>855 ありがとうございます。
やはりその方法しかないですね。
>やはりその方法しかないですね。 そんなわけないw 煽られてるのはテンプレ読まずに質問してるからですよ
やはりなら聞かないで欲しいな・・・ 回答者がかわいそう・・・
(´-`).。oO( マクロの何が不満なんだろう )
863 :
名無しさん@そうだ選挙にいこう :2006/01/18(水) 11:42:09
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 普通 【4 VBAでの回答の可否】 可 初めまして、お願い致します。 あるブックAとBがあります。 それぞれにシート@を作ります。 ここでブックBのシート@で作った表をブックAのシート@にそのままコピー できるようにしたいと思っています。 シートが複数あるのでいちいちコピペしていると大変なので・・・ 宜しくお願い致します。
> それぞれにシート@を作ります。 > シートが複数あるので なぜにシートが複数? それ以前に内容は具体的に書こう 「表」だけじゃなにもわからん
865 :
863 :2006/01/18(水) 13:49:29
>864 すみません。分かりづらくて。 実際は各ブック毎にシートが4つづつあり 各ブックのシート@はシートA〜Cのデータを合計してるのです。 ですので各シートの@(合計表)だけを別のブックのシート@に写せば良いという意味なのです。 ちなみには表は列60×行18で出来た、スコアボードみたいなもので そこに色々部署や数値が書かれているシンプルなものです。
【1 OSの種類 .】 Windows XP SP2 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 「数式に含まれるシート名」「参照」 やりたい事 数式に含まれるシート名を任意のセルから参照させたい。 上記の表現は適切ではないかも知れませんが、例としてはこの様な感じです。 Sheet1のA1セルに Sheet2 が入力されています。 このA1の値を下記の数式に利用したいのですが、うまくいきませんでした。 =MAX(Sheet2!A1:Z1) 下記の様な数式も作ってみたのですが、これではダメでした。 =MAX(INDIRECT("A1")!E14:IV14) この様な場合、数式をどの様に書けば良いのかご教示下さい。 宜しく御願い致します。
>>865 全然具体的じゃないね。
具体的の例
現在Book1.xlsとBook2.xlsが開いているとして
Book1.xlsのSheet1のセル範囲A1:Z20までを
Book2.xlsのSheet2の、現在データのある範囲の下に
値のみ貼り付けたい
>>865 > 各ブックのシート@
> 各シートの@(合計表)
@てのはシートなの?表なの?
意味不明すぎてどうにもならん
>>866 1 参照は""で囲わない
2 参照式は全てINDIRECT関数の中に入れる
869 :
866 :2006/01/18(水) 16:32:26
>>868 有難う御座います。
ヒントを頂いてから今までいろいろ試していたのですが、
旨く出来ませんでした。
1 のヒントですが、私が持っている関数リファレンスでINDIRECT関数を見ると
「セル参照を""で囲んで指定します」と書かれているのですが、INDIRECT関数を
ネストする場合は""で囲わないという事でしょうか?
2 のヒントの参照式とは、この場合何処を指すのでしょうか?
お手数をお掛けしますが、再度ご教示下さい。
870 :
名無しさん@そうだ選挙にいこう :2006/01/18(水) 16:41:23
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 ExcelXP 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Googleやヘルプでの検索キーワード Excel 空白 グラフ 消去 折れ線グラフや散布図グラフを作る時にデータの中に =if(hoge,"",hoge)などの式があると、そこの項目は空白にならずに0の位置にプロットされてしまいます。 これを回避する方法はないでしょうか。
871 :
863 :2006/01/18(水) 17:02:34
>>867 たびたび、ありがとうございます。
分かりにくくてすみません。
現在Book1.xlsとBook2.xlsが開いているとして
Book1.xlsのSheet1のセル範囲A1:Z20にあるデータを
Book2.xlsのSheet1のセル範囲A1:Z20にボタン一つで
貼り付けられるようにしたいです。
データは表(罫線で囲っただけ、数値あり)です。
>>869 ちょいとややこしい話だが、おそらく関数リファレンスの「セル参照」は
INDIRECT関数の機能を指すものだろう
で、俺が言ってるのは引数の参照ね
つまり、INDIRECT関数にA1を参照させたければ、INDIRECT("A1")だが
INDIRECT関数にA1の値で示した先を参照させたければINDIRECT(A1)
おまえの場合A1の内容を返したいのではなく、A1の値で参照先を変えたいんだから後者になる
参照式ってのは「パス[ブック]シート!セル」という式のこと
おまえのはこの中の一部だけINDIRECTを使おうとしてる
省略できる部分(パス[ブック])はいいけど、必要な部分は全てINDIRECTの中に入れなくちゃダメ
>>870 =if(hoge,NA(),hoge)
>>871 コピペをマクロの記録で録って整えれば充分だろ
873 :
870 :2006/01/18(水) 17:22:59
>>872 出来ましたが、セルの表示を空白にすることは出来ないのですね。
ありがとうございました。
874 :
名無しさん@そうだ選挙にいこう :2006/01/18(水) 17:26:41
A1 に 0 B1 に 0 C1 に 「=A1+B1」と入れた場合、 C1 に表示される「関数計算の結果の0」を非表示にする方法は IF以外にありますか?
表示形式
876 :
866 :2006/01/18(水) 18:00:07
>>872 再度有難う御座います。
今度は望みどおりの結果になりました。
下記の様な数式にしてみました。
=MAX(INDIRECT(A1&"!A1:Z1"))
本当に有難う御座いました。
877 :
870 :2006/01/18(水) 18:41:01
連続ですみませんが、もう一つ教えてください。 =SUM(A1:A5) でA5に#N/Aが含まれているときちんと合計が表示されません。 これを回避する方法はないでしょうか? 検索しても"N A"などばかりヒットして使い物にならないのでお願いします。
SUMIFか配列数式使えばいい
879 :
870 :2006/01/18(水) 19:27:22
>>878 Enterのみで確定していたのが原因でした。
ありがとうございました。
880 :
870 :2006/01/18(水) 20:30:47
たびたびすみません。 =SUM(IF(D29:D89="TEMP",IF(U29:U89>0,U29:U89,0),0)) とやってみたのですが、U89に#N/Aが含まれているとエラーになってしまいます。 ISERRORやERROR.TYPEで配列条件をやろうとしたのですが、単独のセルにたいしては きちんとできるのですが、セル範囲に対して実行すると一つでも正常なセルがあると戻り値が エラーなしとなってしまうので、エラーセルを回避することができません。 何かよい方法は無いでしょうか。
この県もう秋田
882 :
名無しさん@そうだ選挙にいこう :2006/01/18(水) 20:48:33
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 質問: セルに入力した文字を上下反転して表示するようなコトはできませんでしょうか? 上下反転のまま印刷もしたいのですが‥ たとえばAと打ち込んだら、∀と反転表示されるような‥(日本語も数字も含んでです)
セル内では無理
>>882-883 なんか昔、同じような質問が出てて、俺も絶対無理だと思ったんだけど、
書式>セル>配置で方向を+90度にした後で、
書式>セル>フォントでフォント名の頭に「@」付けるという方法を
出してくれた人がいた。
全角文字限定なら、これでセル内でも反転できる。
885 :
882 :2006/01/18(水) 22:49:03
>>884 たしかに反転できました!
2文字3文字と打っていくと縦書きになるのですね。この辺りが限界なのでしょうか。
でも一文字入力だけで工夫して文書作りしてみます。大変ありがとうございました。
886 :
名無しさん@そうだ選挙にいこう :2006/01/19(木) 02:16:18
Excelで英単語帳を作ったのですが abc順になっているのでランダムに行を並び替えることはできますか? WinXP Excel 2002 です。
>>886 別の列でRAND関数を使用してソートでいいじゃん。
>>885 マクロが使えるならボタン一発や、自動で整形できるから
簡単な書籍でも読んでみることをお勧めする
889 :
名無しさん@そうだ選挙にいこう :2006/01/19(木) 07:46:49
関数計算の結果の(数式ではなく)数値をコピぺする方法はありますか?
値の張り付けなら、そのまんまの機能がある 値のコピーならVBAでやるか、一度値の張り付けをしてそれをコピーする
891 :
名無しさん@そうだ選挙にいこう :2006/01/19(木) 09:37:41
演算精度が足りないんだろ
>>891 普通にAPI使ってDate型の値を返せばいいじゃん
FileTimeをFileTimeToLocalFileTime関数で日本時間に変換して
FileTimeToSystemTime関数でSystemTimeに変換して
SystemTimeをDateSerial、TimeSerialでDate型に変換する
VBのタイムスタンプ系を調べればいくらでもサンプル出てくるだろ
但し取得の方だとFSO使ってる場合もあるから、変更のサンプル探すべし
それと、他人の用意した日付計算機を当てにしない方がいい
さすがに4年に1度の閏年すら考慮してないっていうドヘボは居ないと思うが
グレゴリウス暦の年間平均日数で単純計算してる場合も多く、この手法では正確な日数は出ない
といっても誤差は1日未満だが、その端数をどう扱うかで最大1日の誤差が生じてくる
せっかくExcel持ってるんだから正確な日数は自分で計算しろ
シリアル値では扱えなくても計算規則を知っていれば数値として計算できるから
あとは
>>2 ※でも読んでがんばれ
894 :
d :2006/01/19(木) 11:18:12
>>885 >2文字3文字と打っていくと縦書きになるのですね。この辺りが限界なのでしょうか。
セル内改行(Alt+Enter)すれば、上下反転&横書き表示も可能なようです。
895 :
891 :2006/01/19(木) 11:40:47
>>892 16文字目で19ケタ行くので4ケタが消えてますが、
16文字目は常に0なので問題なし。
14,15文字目で1ケタ〜2ケタが消えてますが、
消えるのはミリ秒単位のデータなので問題なし。
エクセルは常に15ケタらしいので、
確かに20ケタ行くデータ型からすれば超えそうに見えますが、問題なし。
>>893 API使いたくないし。
おもしろ。
http://x51.org/x/05/01/0422.php 曜日は固定されるけど、最大1週間ずれることになる。
そのずれのために年ごとの統計がとれなくなる。
日付で直接比較というのができないのはまずいだろ。
>>895 > API使いたくないし。
ならそう書けばいい
ルールに従って
>>1 ★4の「VBAの可否」で否と答えれば
自動的にAPIも除外される
それをルール無視して質問したんだから、VBAもAPIもOKだと解釈されても
ここでは文句は言えないことになっている
>>2 ※
ということで、今回の件は終わり
os xp 2003 セル上の矢印が+カーソル?のままです。 ご指導お願いいたします。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 あるセルで左揃えをしようとしたら、 「表示形式が追加できません。」とmsgboxでました。 どうしたら、いいでしょう? 初心者 セルにはやたらに 色をつけたり、関数を入力してるので ファイルの大きさは約7000KBにもなってます。
899 :
891 :2006/01/19(木) 12:05:36
>>896 テンプレ無視したのは悪かったですけど
HEX2DECすら使いたくないので分かってもらえればと。
閏年
http://ja.wikipedia.org/wiki/%E9%96%8F%E5%B9%B4 1.西暦年が4で割り切れる年は閏年とする。
2.西暦年が4で割り切れる年のうち、100で割り切れる年は閏年としない。
3.西暦年が4で割り切れ、100でも割り切れる年のうち、400で割り切れる年は閏年とする。
これをEXCELで表にしました。
1番目で日数を+1、2で−1、3で+1します。
1.IF(MOD(RC[-1],4),0,1)
2.IF(RC[-1],IF(MOD(RC[-2],100),0,-1),0)
3.IF(RC[-1],IF(MOD(RC[-3],400),0,1),0)
1601年から1899年まで、閏年は72回あり、日数は109207
1601/1/1基準から109207引けば1900/1/1基準になる。
1900/1/0基準だと+1しないといけない。
でもやっぱり1日足りない。
>>898 空白部分の表示形式を標準に戻せばいいらしいですが。
902 :
891 :2006/01/19(木) 12:52:06
解決しました。
やっぱり、さらに+1しないといけなかったです。
http://www.relief.jp/itnote/archives/001333.php >Excelでは存在しないはずの1900年2月29日が存在するということです。
Lotus 1-2-3から続く問題だったとは。
1900年2月29日をまたぐ計算をするときは、空白の1日を追加しないといけないんですね。
うわ。ホントに1900/02/29って表示してるよ。
参った参った。
あー、すると、便利なシリアル値で計算しようとするとこれにはまる可能性があるんだなあ。
やっぱ日付は年月日でやりとりするべきか?
【1 OSの種類 .】 windows2000 【2 Excelのバージョン 】 Excel 2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 ワークシート関数から、シートをインデックスで参照する方法はあるでしょうか?
>>903 VBA可なそういうユーザー定義関数作れば良い
VBA使えるとのことなので自分で作ろう
・・・了解です。。
w
907 :
名無しさん@そうだ選挙にいこう :2006/01/19(木) 21:06:45
【1 OSの種類 .】 windows2000 【2 Excelのバージョン 】 Excel 2000 【3 VBAが使えるか .】 少し スレ違いかもしれませんが、 入力規制で日本語入力オフになっているセルに、"φ"を入力したいのですが 方法ありますか?
>>907 f を入力してそのセルのフォントをsymbolに変更
すみませんがどなたか
>>880 をよろしくお願いします。
910 :
名無しさん@そうだ選挙にいこう :2006/01/19(木) 21:41:17
>>909 #N/Aが、元のセルに入らないようにするとか。
>>910 そのようにすると、
>>870 の問題が発生してしまうのでそれは出来ないのですよ。
何か良い方法は無いでしょうか?
912 :
907 :2006/01/19(木) 22:00:31
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 住所の、例えば「2丁目11番地の2」を「2-11-2」にしたいのですが、「2002/11/2」になってしまいます。 セルの書式設定の、ユーザー定義をいじればちゃんと表示できるようになると思うのですが、 どのようにすれば良いのでしょうか?
>>914 入力する前に、セルの書式設定で文字列にしておく。
916 :
913 :2006/01/19(木) 22:51:36
自己解決というか、他の方法でなんとかできたのでもう大丈夫です。 考えてくださった方ありがとうございました
>>899 反省してるならそんなことかけないだろうし
もう誰もレスないと思われ
918 :
914 :2006/01/19(木) 23:01:23
>>915 有難うございます。
入力できるようになったのですが、左上に緑色のマークが付いてしまいます。
「エラーを無視する」にすれば大丈夫なのですが、「エラーを無視する」に
しなくても緑色のマークが付かないようにするにはどうしたら良いのでしょうか?
エラーチェックオプションで設定するのだと思いますが…
>>916 自己解決でも結論を書いてくれると
他の人のためになる
>>918 ツールメニューから設定
もう少し自力で何とか出来る様に、努力しようね。
>>918 >エラーチェックオプションで設定するのだと思いますが…
自分で調べて出来るかどうかくらいやってからきいて欲しい・・・
922 :
891 :2006/01/20(金) 00:40:26
>>917 何を反省しろと?
>>2 のテンプレに
>Excelの操作に関係ない部分は、VBスレやAPIスレなどの該当スレで質問しましょう。
とあります。
APIで処理するつもりがあれば、ここに書くのはおかしいし、
そもそもFIMETIMEと分かっていながらExcelで処理しようとしてるんだから、
プログラム組みたくないことくらい分かるでしょ。
> APIで処理するつもりがあれば、ここに書くのはおかしいし、
APIの具体的な使い方を聞くのが禁止なだけで、
APIで可能かどうかの情報を貰うのはスレ違いじゃないので、その自己都合理論は成り立たない
> そもそもFIMETIMEと分かっていながらExcelで処理しようとしてるんだから、
> プログラム組みたくないことくらい分かるでしょ。
なら、それを書けばいい
どんな些細な情報でも、「超能力で察してくれ」というのは質問者の怠慢であり、
その内容が
>>1 ★4に含まれるものであれば、
>>2 ※の通りどう解釈されても文句は言えない
「"VBAでの回答は否"と明示しなければ、勝手に解釈するよ」ってハッキリ書いてあるのに
自分の意志を明示しなかったんだから、どう解釈されても文句を言える立場じゃないわな
>>922 理解力ない奴だな・・・
もう一度テンプレしっかり読んで理解してからきてくれ
それとご自身の発言がどれだけ迷惑になってるかも考えてください
925 :
891 :2006/01/20(金) 09:17:11
>>923 >> APIで処理するつもりがあれば、ここに書くのはおかしいし、
>APIの具体的な使い方を聞くのが禁止なだけで、
>APIで可能かどうかの情報を貰うのはスレ違いじゃないので、その自己都合理論は成り立たない
誤解を与えてしまったかもしれませんが、
自分がここにAPIの質問を書くこと自体がおかしいと言うことです。
アドバイスとしてAPIを勧めることが悪いという意味で書いたつもりはありません。
FILETIMEはAPIに渡せば済むし、やり方も
>>891 のリンク先にあるので分かりますが。
>>924 自分では十分な情報と思って書いてましたが、
確かにいろいろ不足でお手数をおかけしました。
ただ、反省して引っ込めばいいみたいなこと書かれたら文句は言いますよ。
そもそも日付をエクセルに持ち込む簡単確実な方法がないかと思って試してて、
うまくいけば他の人も使えるわけでしょ。
>>893 にある
>それと、他人の用意した日付計算機を当てにしない方がいい
というアドバイスを受け、そして質問スレとしては自己解決でも結果を求めてるんだから、
>>899 で日数の検証結果を書いたのに反省しろとは。
しかも
>>902 で解決したと書いてなお
>>917 で追い打ちかけるかな?
>>919 でも報告は具体的な内容を要求してるでしょ。
926 :
891 :2006/01/20(金) 09:21:53
日付を求めるだけならプログラム書けばよかったかもしれませんが、 数値計算はエクセルでやってからコーディングするのが確実だし、 もっと簡単な解決が見つかることもあるし。 日数がまちまちな日付の計算はめんどくさいし不確実だし、なにより無駄かなと思ってる。
一言多いんだな。
928 :
名無しさん@そうだ選挙にいこう :2006/01/20(金) 09:52:09
暇
質問です。 グラフ上で、系列のデータラベルを表示するとき、系列名が長いと自動で折り返して表示してしまうのですが、フォントサイズを変えずに折り返さないで表示する方法ってありますか? テキストボックスのようにラベルの四隅をドラッグして大きさを変えることができないようなので・・
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 オヒス2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 すいません。 エクセルで、シートの指定範囲を別ウインドウでフロート表示させる事は可能でしょうか? 不可能であった場合、シートの特定範囲が張り付いたようなフォームを作成する事は可能でしょうか?
>>929 グラフ伸ばすくらいしかないんじゃないかなあ
>>930 ウィンドウを分割して、並べておいて作業するのが楽なんじゃないかなあ
フォームを作成するならgrid系コントロールかなあ
見るだけだったら図として貼り付けとくだけでも楽かも知らん
933 :
930 :2006/01/20(金) 14:37:24
>>932 御回答ありがとうございます。
レイアウトとサイズの問題があり、分割表示では不細工になるので独立したウインドウを
持たせたかったのですが、やはりSpreadとかFrexGridとか必要になりますか・・・。
うーむ・・・。
935 :
930 :2006/01/20(金) 16:47:36
>>934 えぇ、やりたいことはカメラです。
そのカメラを別ウインドウで表示したいんです。フローティングウインドウって言うんでしょうか。
なんかそんな感じです。えぇ。
ならユーザーフォームで適当なコントロールに表示させるしか無いでしょ
937 :
930 :2006/01/20(金) 17:33:03
>>936 はぁ。 まぁそういう事(カメラコントロール?をフォームに貼り付けるような事)が果たして可能なのか
伺いたかったんですが・・・・・長引いてウザがられると荒れちゃうので、ちょっと別案をひねり出すべく
頭をヒネろうと思います。
お騒がせしました・・・。(´・ω・`)
938 :
名無しさん@そうだ選挙にいこう :2006/01/20(金) 19:37:21
重複スレのほうに書き込んでしまいましたので、こっちに誘導されてまいりました。 超初級レベルで申し訳内のですが、聞いてください。 3つのファイルを同時に開くと、 タスクバーへファイルが1つしか表示されません。 しかし、そのファイルの1つを「閉じる」にすると、 開いたもののうち、1つが表示されます。 たぶん、1つの中に3つを表示させる形になっていると思うのですが、 これを別々に表示させる方法を教えてください。
940 :
名無しさん@そうだ選挙にいこう :2006/01/20(金) 21:04:36
>>939 ヘルプでたどり着けました。
ありがとうございました。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 アクティブセル OR activecell 行 アクティブなセルを含む行を削除することは出来ますか? 指定した行の削除、アクティブなセルの削除は出来るのですが・・・
ActiveCell.Rows.Delete shift:=xlUp
即レスサンクス、助かった
944 :
d :2006/01/21(土) 12:47:50
>>941 >アクティブなセルを含む行を削除することは出来ますか
ActiveCell.EntireRow.Delete
でいかがですか。
945 :
名無しさん@そうだ選挙にいこう :
2006/01/21(土) 13:13:56 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 あるセルの入力履歴を、入力規則のリストで表示出来るように したいのですが、どのようにしたら良いでしょうか? 任意のセルを変更するたびに、最後に入力された文字列をリストの 一番上に追加していき、リストから選択したりリスト内に存在する 文字列を入力した場合は、その項目を一番上に持ってくるように したいです。 VBAになると思いますが、よくわからないのでよろしくお願いします。 履歴数は任意指定出来るようにしてとりあえず20で、監視セルはA1で。