■戻る■ 元のスレッド

アップローダー
Excel総合相談所 43

1名無しさん@そうだ選挙にいこう :2006/03/24(金) 14:10:51

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あたりの解説を参考に使ってみよう。

・前スレ http://pc8.2ch.net/test/read.cgi/bsoft/1140091414/


2名無しさん@そうだ選挙にいこう :2006/03/24(金) 14:11:12

▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
・1 現行スレ内で既出の質問が無いか、ページ内検索をしよう。(Ctrl+F)
・2 図やコードを書く場合、TABや連続する半角スペースは無視されるので注意
・3 VBAコードを貼る場合は、部分的に伏せたり省略したりせずに全て貼りましょう。
・4 2回目以降の質問では名前欄に初回質問の番号を入れよう。
・5 回答内容でわからない部分があっても、すぐに聞き返さずにヘルプやGoogleなどで検索しましょう。
・6 バグ・動作上の不都合・仕様に関する質問などはマイクロソフトのサポートを受けましょう。
  ここは技術的な質問のみで。
・7 VBAはプログラム言語のVisualBasic(6以前)に近い処理が可能で Excelに関係ないことも出来ます。
  Excelの操作に関係ない部分は、スレ違いなのでここで聞かずにVB言語やAPI、COMについて自分で勉強し、
  どうしてもわからない部分はVBスレやAPIスレなどの該当スレで質問しましょう。
  但し向こうはプログラマのスレなので、構文規則などの最低限の事は覚えてから質問しましょう。
  ここみたいに丸投げはダメですよ。
・8 うまくいかなかったにしても自分でやってみたこと(組んだ数式やコード)は書きましょう。
  例えエラーになる式やコードでも、何をやりたいのかを的確に把握する手がかりになります。
  その上で、どううまくいかないのかを具体的に書きましょう。
  エラーが出るなら、何処でどういうエラーが出るのか、
  想定外の結果が出るなら、条件と想定上の結果、実際の結果などを詳しく書いてください。
・9 マルチはダメ。
・a テキストボックス(エディトボックス)、コンボボックス(ドロップダウンリスト)、リストボックス、コマンドボタン、
  チェックボックス、オプションボタン(ラジオボタン)、スピンボタン、スクロールバー、等の質問をするときは、
  ユーザーフォーム、コントロールオブジェクト、フォームオブジェクトのどれなのかを必ず書くこと。


3名無しさん@そうだ選挙にいこう :2006/03/24(金) 14:11:27

>>1★1〜4に従ってない場合は、回答者が勝手に解釈して答えたり適当な回答されたり無視されたりします。
  情報や条件は最初の質問時にルールに従ってきちんと書きましょう。
  情報条件なんて聞かれてから後出しすればいいなんて思わないように。
  指摘されてから書き直しても、その質問にはまともな回答が付かないと思ってください。

  ここは、きちんとマナーを守ってる質問者には「・分かる人はできるだけ回答して下さいませ。」というスレです。
  明記してある質問マナーすら守らない人に、丁寧な回答を付ける義理なんてありませんから。


▼━回答者の心得━━━━━━━━━━━━━━━━━━━━
★1 質問者が書いたバージョンのExcelを持ってない場合は、確認したバージョンを明記しましょう。
★2 質問条件は良く読みましょう。
★3 『 【3 VBAが使えるか    .】 いいえ/【4 VBAでの回答の可否】 可 』の場合はコピペで動作するコードを書いてあげましょう。
★4 質問ルールを守ってない質問者に、ルール指摘をするかどうかは勝手ですが、
   そういう質問者への回答はしないようにしてください。「教えたがり厨」なら仕方ありませんが・・・。


・関連スレ

 Excel総合相談所・雑談・議論スレ
 http://pc8.2ch.net/test/read.cgi/bsoft/1120184635/

 ★Word/Excel (MS-OFFICE) 初心者スレッド Part26★
 http://pc7.2ch.net/test/read.cgi/pcqa/1138247967/
 
 OpenOffice.orgってどうなの?Part7
 http://pc8.2ch.net/test/read.cgi/bsoft/1135661797/

 VBプログラマ質問スレ(6.0以前) Part47
 http://pc8.2ch.net/test/read.cgi/tech/1141320612/


4名無しさん@そうだ選挙にいこう :2006/03/24(金) 14:11:38

= FAQ: 基本 =
Q1:こんな関数ありませんか?
A1:「関数の挿入」にある検索機能や、ヘルプの検索を利用しましょう。
   また、一つの関数で目的を達成しようと思わずに、いくつかの関数を組み合わせて使うという発想を持ちましょう。

Q2:数式がエラーを返すんですけど
A2:関数をネストせず、数式を分解してみてください。
   どの関数がエラーになっているのか解れば、その関数の参照先や、ヘルプなどを見て大抵は簡単に解決できます。

Q3:計算結果やセルの値によって自動で書式を変更したいんですが
A3:条件付き書式を利用してください。数値比較で文字色のみの指定なら表示形式でもできます。

Q4:計算結果やセルの値によって表示形式を変えたいのですが
A4:表示形式のユーザー設定で複数条件の表示形式を指定できます。
   基本形式は「正の数;負の数;0の場合;文字の場合」です。(;は半角で)
   又は「[>=70]70以上の場合;[>=50]50以上の場合;50未満の場合;文字の場合」というような指定も出来ます。
   書式記号などに関することはヘルプを参照しましょう。

Q5:計算結果が自動で更新されなくなったんですが、どうすれば直せますか
A5:Excel(2002?)の不都合で、計算方法が手動になってしまうことがあるようです。
   ツール > オプション > 計算方法
   で、計算方法を自動にすることで元にもどります。
   参考URL:ttp://support.microsoft.com/default.aspx?scid=kb;ja;817716

Q6:VBAでこんなこと出来ませんか?どうやるんですか?、
A6:まずはマクロの記録を取ってみて、記録されたコードのメソッドやプロパティをヘルプで調べたり、
   ステップ実行やブレークポイントなどを使って動作を確認したりしてみましょう。

Q7:エクセルの勉強をするのにオススメの書籍・サイトは何ですか?
A7:自分で実際に読んで(閲覧して)、自分のレベルに合っていて解りやすいと思うものを利用しましょう。


5名無しさん@そうだ選挙にいこう :2006/03/24(金) 14:11:46

= 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に何か書かれてないか確認してください。


6名無しさん@そうだ選挙にいこう :2006/03/24(金) 14:11:53

= FAQ: 計算したい。角度とか =
Q:例えば、一つのセルに1803329と入力すると
  180度33分29秒と表示されるようにするには
  どうすればいいのでしょうか?
  ついでに計算もしたいです。
A:「1803329と入力すると180度33分29秒と表示される」
  というのと、計算できるというのを両立させるのは無理。
  書式を
  [h]:mm:ss や [h]"度"mm"分"ss"秒".00
  などにしておき、入力するときには
  180:33:29.99
  などとすれば、表示も計算もできる。

・その他時間とか日付とかの計算について
 勤務時間を計算するには
 ttp://support.microsoft.com/default.aspx?scid=kb%3bja%3b880980
 日数および日付の表示方法と計算方法 - 基本編
 ttp://support.microsoft.com/default.aspx?scid=kb%3bja%3b880979

= FAQ: 合計から元の数を逆算 =
Q:たくさんの数値のリストがあって、
  リスト中のいくつかの数の合計と思われる数値が与えられました。
  リスト中のどれとどれの合計か調べることはできますか?
A:ナップザック問題(knapsack problem)として知られている難問です。
  一般的には総当りで調べるしかありませんが。
  しかし、データに特徴がある場合(桁数が限られているなど)には、
  うまい方法があって、速く解けることもあります。
  下記のページを参照してみてください。
   ナップザック問題をExcelで解く
   ttp://www.geocities.co.jp/SiliconValley-Oakland/8139/


7名無しさん@そうだ選挙にいこう :2006/03/24(金) 14:13:16

= 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: セル内での改行 =
Q:セル内で改行したいんですがどうすればいいでしょうか
A:改行したい位置でAltを押しながらEnterを押せばセル内改行できます。
  但し数式で改行コードを入れた場合は、手動でセルの書式設定から
  「折り返して全体を表示する」を有効にしないと改行されません


8名無しさん@そうだ選挙にいこう :2006/03/24(金) 14:13:25

= FAQ: グラフについて =
Q1:データの空白部分があって、そこで折れ線が切れてしまいます。
   繋げたいのですが如何したらいいでしょうか?
A1:グラフを選択>ツール>オプション>グラフ>空白セルのプロット「補間してプロットする」にチェック

Q2:棒グラフに重ねて、折れ線グラフを表示するにはどうしたらいいのでしょうか?
A2:最初、すべてのデータを棒グラフで作成。
  次に、折れ線で表わしたいデータ系列のどこかを、グラフ上で右クリック
  サブメニュー>グラフの種類>折れ線>OK

Q3:ある系列だけ、縦軸を別にしたいです。
A3:その系列のどこかを、グラフ上で右クリック
  データ系列の書式設定>軸>使用する軸「第2軸」にチェック>OK


= FAQ: 入力した値が変わる? =
Q:セルに入力した値が勝手に変わってしまうのですが
  入力したままの形で表示させるにはどうしたらいいですか?
A:数字でよくあるケース(先頭のゼロが消えてしまう、日付として解釈されてしまう)
  入力する時、先頭にアポストロフィ(')をつけるか、
  該当するセルで右クリック−「セルの書式設定」−「表示形式」で「文字列」を選択。
  文字列ではなく数値として扱いたいときは
  「セルの書式設定」−「表示形式」で「ユーザー定義」を選択し、工夫する。
A:文字でよくあるケース(i⇒I、teh⇒the、cna→can など)
  ツール→オートコレクト→入力中にオートコレクト
  の該当する箇所を削除。


9名無しさん@そうだ選挙にいこう :2006/03/24(金) 14:13:32

= 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:スレ違いです。
  開きたいブラウザの設定画面でそのブラウザを通常使うブラウザに指定してください。

  ※ブラウザからの設定だけではきちんと設定出来ない場合もあります。
    詳しい情報をお持ちの方はこのスレにてご一報ください。


10名無しさん@そうだ選挙にいこう :2006/03/24(金) 14:13:39

= 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)
  (変換計算しただけでは表示形式は変わらないので、セルの表示形式は任意で変更しましょう)


11名無しさん@そうだ選挙にいこう :2006/03/24(金) 14:13:45

= 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というキーを押してみてください。


12名無しさん@そうだ選挙にいこう :2006/03/24(金) 14:13:52

★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        ←個人用マクロブックの標準モジュール

  ※ 標準モジュールを追加するには、追加したいプロジェクトツリー上で右クリックし、
     メニューから[挿入 → 標準モジュール]を選択してください。


13名無しさん@そうだ選挙にいこう :2006/03/24(金) 14:14:00

Step2-b ボタンに登録する。
 通常、イベントで動かすマクロ以外は、マクロの一覧から選択して実行しますが、
 頻繁に使う場合や、他の人が操作する場合はシート上のボタンを押して実行できるようにすると便利です。

 まず、メニューから[表示 → ツールバー → フォーム]と辿ってフォームツールバーを出し、
 ボタンアイコンを押して、適当な場所にボタンを作ります。
 ボタンを作ると自動的に[マクロの登録]というダイアログが立ち上がるので、
 (立ち上がらない場合はボタンを右クリックして[マクロの登録]を選択)
 [新規作成]を押して表示されたコードウィンドウのカーソル位置にコードを張り付けます。
 既存のマクロを登録する場合は、[マクロの登録]で一覧から選択して、[OK]を押してください。

Step3 マクロの実行
 ボタンに登録したものは、ボタンを押せば実行されます。
 イベントで動かすものは、所定操作をした時に自動で実行されます。
 それ以外はメニューから[ツール → マクロ → マクロ]と辿って表示されたマクロの一覧から選択して実行します。

Step4 トラブルが起きたら
 トラブルを自己解決出来ない場合は、
 ・エラーが出る条件 (どうやってもエラーが出る、〜をしたときにエラーが出る、等)
 ・エラーメッセージ (ダイアログ上でCtrl+Cを押せばメッセージをコピー出来ます)
 ・エラーが出る位置 (エラーダイアログ上で[デバッグ]を選択すると、エラー位置がハイライトされます)
 などを報告しましょう。
 また、期待通りの動作をしない場合も、条件や想定上の結果と実際の結果の内容など詳しく書きましょう。


14名無しさん@そうだ選挙にいこう :2006/03/24(金) 14:14:07

★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)

 ▼環境・書式
  ・ 列数を256列以上、行数を65536行以上に増やす
  ・ 条件付き書式を3つ以上設定する (文字色だけなら、入力規則でも3つ設定可能。それ以外はVBA)
  ・ 行の高さを0.25きざみ以下の単位で指定する
  ・ セル内の文字を○で囲む、一部のみ2段にする (オートシェイプ、オブジェクト)
  ・ オートフィルタで英字の大小文字を区別する (小文字 → 半角、大文字 → 全角、と使い分ける)
  ・ 祝日を判断する (作業セルに祝日を列挙、VBA)
  ・ 同一列内でセル(行)ごとに列幅を変える、同一行内でセル(列)ごとに列高を変える (セルの結合)
  ・ ヘッダー・フッターのページ番号の開始番号任意指定、ページ番号演算、同シート内で違ったものを指定など
  ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する
  ・ 罫線幅の自由指定
  ・ 表示形式で「10/ 1」といった書式を指定し、日付が一桁の場合のみ日付の前にスペースを入れる (TEXT関数、VBA)
  ・ 書式設定の「折り返して全体を表示する」と「縮小して全体を表示する」を同時に使う (折り返しを有効にして、手動で文字サイズを調整)

 ▼操作
  ・ ファイラーの右クリックメニューからの新規作成で、Excelで設定したシート数のブックを作る (任意のシート数のテンプレートを作成)
  ・ 複数シートを選択して入力規則やシートの保護を設定する (VBA)
  ・ オートコンプリート機能を、別列や離れたセルで動作させる (VBA)
  ・ 選択範囲から一部を除く
  ・ 優先キーを3つ以上指定しての並べ替え (優先度の低い方から順に並べ替える)
  ・ 1セルを分割 (分割したいセル以外を結合)


15名無しさん@そうだ選挙にいこう :2006/03/24(金) 14:14:22

★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)

 ▼数式・関数
  ・ 表示形式以外の書式の取得設定、書式情報を条件とする数式 (ユーザー定義関数)
  ・ 関数式でセルの選択状態を取得する (VBA)
  ・ セルの値でパスを補完して、開いてないブックのセルを参照する (VBA)
  ・ 入力したセルに結果を返す (VBA)
  ・ 範囲を引数にしての文字列連結 (ユーザー定義関数)
  ・ 値の書き換え、値の保持 (VBA)
  ・ 複数の結果を抽出、不定な数の結果を返す (VBA、結果の最大数が解っていれば最大数以上の式を論理式で組む)
  ・ 空白のセルの部分を上詰め、左詰めなどで表示する (作業セルを使って別セルに詰めて表示なら可能、それ以外はVBA)
  ・ VLOOKUP,HLOOKUP,MATCH等の関数で、検索語を全半角両方にマッチさせる (ユーザー定義関数)

 ▼VBA
  ・ ExecuteExcel4Macroの参照で空セルと0値を区別する
  ・ セルの値や変数値で直接変数名を指定する (配列、コレクション)
  ・ VBのコントロール配列と同じような操作をしたい
   (イベント以外ならコントロール名を「同名+連番」にしてControls(名前 & インデックス)で処理、イベントはクラスでWithEvents)

 ▼ユーザーフォーム
  ・ フォーム上から変更したプロパティ値の保持 (シートや外部ファイルに書き出して、次回読み込む)

 ▼グラフ
  ・ 棒グラフでひとつだけ突出したデータがあった場合に波線を入れて位置を合わせる
   (オートシェイプなどで見た目だけそうなるように弄る、別アプリでグラフを作り、オブジェクトとして挿入)
  ┌┐
  〜〜
  ||


16名無しさん@そうだ選挙にいこう :2006/03/24(金) 14:15:05

ルールに関するQ&A

Q1:自治厨ウザイ
A1:ここより上に書かれていることを指摘されるのは自治厨行為とは違います。
   それは、指摘される側がルールを守ってないことに起因されるものであり、
   ルールを守らない側が自己厨なだけで、指摘する側は当然のことをしているだけです。
   それ以外の指摘をしてくる奴は自治厨なので、雑談スレにでも誘導してください。

Q2:なんで後から質問テンプレ書いても回答してくれないの?
A2:世の中なんでもやり直しが利くと思ったら甘いということです。
   「ルール無視しても、指摘されてからやり直せばいいや」なんて考えの奴が蔓延したら
   ルールなど半分は意味を持たなくなり、スレは荒廃する一方です。
   ここではルール守ってる人にはマクロの丸投げすら許容するほど大甘ですが
   逆にルール守らない人には厳しくなってます。


17名無しさん@そうだ選挙にいこう :2006/03/24(金) 15:06:02
2行以上の文章をセル内に表示させようとすると
セル内で改行されないのですが、
改行させるにはどうしたらいいでしょうか。



18名無しさん@そうだ選挙にいこう :2006/03/24(金) 15:34:42
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel 改行
2行以上の文章をセル内に表示させようとすると
セル内で改行されないのですが、
改行させるにはどうしたらいいでしょうか。
テンプレを見落としておりました。
よろしくお願いします。

19名無しさん@そうだ選挙にいこう :2006/03/24(金) 15:53:23
>>18
自己解決しました。

20名無しさん@そうだ選挙にいこう :2006/03/24(金) 16:46:08
前スレ269にドンピシャな機能プリーズ

21名無しさん@そうだ選挙にいこう :2006/03/24(金) 18:57:46
パソコンを初期化したらExcelが消えてしまいました。今、必要でどうしたらいいのでしょうか?

22名無しさん@そうだ選挙にいこう :2006/03/24(金) 18:59:41
Excelのソフト?を買わないと復活できないのでしょか?
教えて下さい

23名無しさん@そうだ選挙にいこう :2006/03/24(金) 20:14:55
>>22
パソコンにOfficeのCDーROMが付属してたと思うけど

24名無しさん@そうだ選挙にいこう :2006/03/24(金) 21:31:08
【1 OSの種類         .】 WindowsXPsp2
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】
【5 検索キーワード     】 Googleやヘルプでの検索キーワードは?

P1、P2、P3・・・と縦に自動入力するにはどうすればいいのですか?
セルの表示形式の設定の問題だと思うのですがどなたかご教示下さい。


25名無しさん@そうだ選挙にいこう :2006/03/24(金) 21:36:00
>>24
A1にP1って入れてセルの右下あたりでマウス左ボタンを押し下げてそのまま下方向にドラッグ

2624 :2006/03/24(金) 21:52:00
>>25
ありがとうございます。一挙に問題解決です。
さっそく書類作成を仕上げます。

27名無しさん@そうだ選挙にいこう :2006/03/24(金) 23:45:16
【1 OSの種類         .】 WindowsMe
【2 Excelのバージョン   】 Excel2002 SP3
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 SUM 書き換わる 関数 参照範囲

すみません,お助け下さい。
関数の参照範囲が勝手に書きかえられてしまいます。

例:
まっさらのワークシートで
セルG1に =SUM(A1:C1) と入力し,
セルA1から順に右へ数値を入力していくと,セルD1に数値が確定した
とたんに,セルG1の関数が =SUM(A1:D1)に勝手に書きかえられてしまい
ます。さらにセルE1に数値を入力すると,セルG1の関数は =SUM(A1:E1)
になってしまいます。
このように勝手に書きかえられないようにするにはどうしたらよいのでしょうか。

よろしくお願いいたします。

28名無しさん@そうだ選挙にいこう :2006/03/25(土) 00:16:08
>>27
=SUM(A1:C1)は相対参照であるから、そうなってしまう。
絶対参照を使って、
=SUM($A$1:$C$1)で試したら、うまくいった。

2927 :2006/03/25(土) 00:36:08
>>28
ありがとうございます。
相対参照ってそんなところまで影響するのですね。1-2-3を使っていた時には
@SUM(A1..C1)としていても,このようなことが起こらなかったので,なぜなる
のか悩んでいました。EXCELの仕様と割り切るしかないようですね。

実際の作業として,1000行ほどのデータでSUMを使わなければなりませんので,
コピー&貼り付けができるように =SUM($A1:$C1)としてみましたが,大丈夫な
ようです。


30名無しさん@そうだ選挙にいこう :2006/03/25(土) 04:21:39
Excelが消えてしまった!と質問した者です。
教えて下さった方に返信をしたいのですが、返信の仕方がわからないのでとりあえず書き込んでみました。パソコンにOfficeのCDーROMが付属してありました。
復活しました!!!本当に有難うございます。訳がわからず、とにかく悩んでマンガ喫茶に駆け込み作成しましたが、CDにおとした物の開けなかったのですが、OfficeのCDーROMをパソコンにインストールしたら復活しました。
今、マンガ喫茶から帰宅したので、お礼が遅くなってしまって申し訳ありません。
本当に本当に有難うございました。


31名無しさん@そうだ選挙にいこう :2006/03/25(土) 13:10:21
すみません先輩方;
エクセルで、
Bの列に
ずっとある名前を入力していったとします、
それで以前に打ち込んだ同じ名前を
再度入力してしまった時、
その両方が赤色表示されるようにするのは
どうすればよいかご指導願えないでしょうか・・・?;

32名無しさん@そうだ選挙にいこう :2006/03/25(土) 13:12:08
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

です申し訳ありません。

33名無しさん@そうだ選挙にいこう :2006/03/25(土) 13:17:31
条件付書式で
B列をCOUNTIFして2以上だったら赤にする

34名無しさん@そうだ選挙にいこう :2006/03/25(土) 13:27:00
>>33さん
即レスありがとうございます!
すみませんB列をCOUNTIFするにはどうすればよいのでしょうか?
B列をクリックした後、
=COUNTIF(B:B,
の後がわからなくて・・・宜しければご教授ください;

35名無しさん@そうだ選挙にいこう :2006/03/25(土) 13:47:22
>>33さん
ありがとうございます!
おかげで解決しました!感謝しています!(涙)

36名無しさん@そうだ選挙にいこう :2006/03/25(土) 14:02:02
【1 OSの種類         .】 Windows xpsp2
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】rngResultの使い方

質問なのですが、
Set rngResult = Sheets("sheet1").Range("A65536").End(xlUp).Offset(1)
rngResult.Resize(, 9) = Array( 〜以下省略)
というコードを入れた際に
Resize(, 9)ということなんので、
A〜I列までArray以下に入れた内容が転記されてくるわけですが、
あるF列だけブランクにしたいとした場合にはどうすればいいのでしょうか?

現在は
rngResult.Resize(, 9) = Array(Range("E4").Value, _
Range("E7").Value, _
Range("K7").Value, _
Busyo, _
Format(Range("M4").Value, "yy/mm/dd"), _
Format(Range("M4").Value, "yy/mm/dd"), _ ←この列をブランクにしたいのですが 
Bunrui, _
Kubun, _
Range("M16").Value)

回答のほうよろしくお願いします



37名無しさん@そうだ選挙にいこう :2006/03/25(土) 14:47:05
全部転記してから、あるF列だけブランクにする

38名無しさん@そうだ選挙にいこう :2006/03/25(土) 15:05:06
>>37
自己解決しました
2回に書き分ければよかったみたいですw

39名無しさん@そうだ選挙にいこう :2006/03/25(土) 16:02:29
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

空白と空白以外がランダムに一列に入力されている状態で、
空白以外のセルだけを詰めて表示したいのですが、どうすればよいでしょうか。
例)
A1="1"
A2=空白
A3="5"
A4="3"
A5=空白
を、
B1="1"
B2="5"
B3="3"
という感じです。よろしくお願いします。


40名無しさん@そうだ選挙にいこう :2006/03/25(土) 16:28:24
>>39
C列に=IF(A1="","",ROW())
B列に=INDEX(A$1:A$5,SMALL(C$1:C$5,ROW()),1)

C列使いたくなければ配列数式かVBAで
エラー等の例外処理は必要なら自分でやること

41名無しさん@そうだ選挙にいこう :2006/03/25(土) 17:57:59
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

客先の納品するプログラムを、MFCや.net使って書くのがめんどくさかったから、EXCEL+VBAで作成した。
マクロ(ソースコード)を客から見えないようにしたい。
アドインツールでマクロを閲覧するのにパスワードが必要なソフトはあったので、多分いけると思うのですが、よろしくお願いします。

42名無しさん@そうだ選挙にいこう :2006/03/25(土) 18:09:53
>39
編集→ジャンプ→セル選択→空白セル→OK
で空白セルが選択されるから削除→上方向にシフト

43名無しさん@そうだ選挙にいこう :2006/03/25(土) 18:21:38
>40
>42
できました。ありがとうございました。

44名無しさん@そうだ選挙にいこう :2006/03/25(土) 19:00:12
>>41
VBEのメニュー適当に見ていけばそれっぽいのあるでしょ

45名無しさん@そうだ選挙にいこう :2006/03/25(土) 19:36:31
何勿体付けてンの?

4641 :2006/03/25(土) 20:09:25
自己レス。
適当にいじっていたらできた。
少なくともメニューからは行けなかった。

プロジェクトを右クリックして、プロパティ出して、
保護→プロジェクトを表示用にロックするにチェックを入れて、パスワードを入力

これでパスワードつけて、ロックすることができた。

47名無しさん@そうだ選挙にいこう :2006/03/25(土) 20:50:09
いやいやいやいや
普通に[ツール]メニューの中にあるからそれ

48名無しさん@そうだ選挙にいこう :2006/03/25(土) 22:08:17
学研の「500円でわかるエクセル関数」を勉強しています。

生徒の名前と各教科の点数からなる模擬試験成績表を作っているのですが、
本には学級番号24〜35の名前と点数しか載っておらず、統計関数を学習するための
元となる成績表を完成する事ができません。

どこかに架空の名前と点数が載ったサイトはないでしょうか?

49名無しさん@そうだ選挙にいこう :2006/03/25(土) 22:19:06
架空の名前なんか適当につければいい。
架空なんだから、
学級番号 氏名  点数
1      糞糞  0
2      死拷  99
でもいいんだ。

50名無しさん@そうだ選挙にいこう :2006/03/25(土) 22:23:05
>>49
ありがとうございます。それでやってみます。

5148 :2006/03/25(土) 23:01:18
35人の5教科の点数をRANDBETWEEN(0,100)
で発生させたのですが、シートをいじるうちに数字がコロコロ変わってしまいます。

計算結果を残して関数のみを外すなんて便利な技があると考えるのは
甘っちょろいでしょうか。

5248 :2006/03/25(土) 23:11:07
自己解決しました。コピー → 貼り付け → 値のみですね。

イルカで初めて満足しました。

53名無しさん@そうだ選挙にいこう :2006/03/26(日) 01:33:27
OSはWindows2000でエクセル97使っています
お尋ねしたいのですが・・・・
上に6行位の長い文章を書いて・・・その下に
エクセルで縦が六行 横が十行くらいの螺旋が入っている表を入れる
で、また下に3行くらいの長い文章を入れる場合
文章はテキストボックスを使って入れるのでしょうか??
その時に一旦作成したテキストボックスは消すことが出来ないのでしょうか?(取り消すと言うことです)
テキストボックスはドラッグして印刷範囲から外に出して書類を現在は書類を作っています

ワードに表を持っていった場合に左によってしまって中央に表を持って来ようとすると表のセルの大きさが崩れてしまいます

こんなばあい、テキストボックスを使って文章を入れるのが正解なのでしょうか
エクセルにはワードみたいなカーソルも出てこないし・・・(縦にI←こんな点滅しているモノのことです)

お粗末な質問ですみません・・・・m(__;)m


54名無しさん@そうだ選挙にいこう :2006/03/26(日) 04:28:29
【1 OSの種類         .】 WindowsXP sp2
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel 段数

2列、1200行の表があるのですがこれを普通に印刷しようとすると
枚数がとてつもなく多くなってしまいます。
これをWordのページ設定にある段数のようにして
3段或いは4段ぐらいを1枚の紙に印刷することで紙の枚数を
減らしたいのですがどのようにすれば良いのでしょうか?

55名無しさん@そうだ選挙にいこう :2006/03/26(日) 10:51:46
【1 OSの種類         .】 WindowsXP Pro Sp2 English
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel VBA 引数 未定 個数 複数 範囲 等

範囲またはカンマ区切りなどの型にはまらない引数の指定方法、または引数に対し繰り返し処理をさせる方法がわからず困っています。
濃度計算のため、mg、ml、ng、mmolなど、最初の一文字を読んで乗数を出すような関数を作っています。
たとえばミリは10^-3、キロは10^3ですから、それぞれ-3, 3を返します。これを一つ一つ計算させるのは成功し、今はこれをワークシート上で合計しています。
次に引数を複数とって合計させる関数の作成を開始しました。たとえば、test("mg","Kg","nmol")とすると、乗数の合計(例だと-3+3-9=-9)を算出させるというものです。
Sum関数やAverage関数のように、引数を範囲でもカンマ区切りでも取れるようなものにしようとしましたが、出来ません。

Function test(Arguments As Range)
For Each Item In Arguments
If Item <> "units" And Item <> "mol" Then
Select Case Left(Item, 1)
Case "M"
test = test + 6
Case "K"
test = test + 3
Case "m"
test = test - 3
Case "u"
test = test - 6
Case "n"
test = test - 9
End Select
End If
Next
End Function

引数は必ず3個なので、(arg1, arg2, arg3)として、これらに対し繰り返し処理をするというのでもよいのですが、やり方がよくわかりません。アドバイスいただければと思い投稿いたします。

5655 :2006/03/26(日) 10:52:28
改行数制限があったので大変読みにくく申し訳ありません。

57名無しさん@そうだ選挙にいこう :2006/03/26(日) 13:17:34
>>55
こんな感じ
Function Hoge(ParamArray args())
For Each arg In args
If TypeName(arg) = "Range" Then
For Each x In arg
'xを処理
Next
Else
'argを処理
End If
Next
Hoge = tmp
End Function

58名無しさん@そうだ選挙にいこう :2006/03/26(日) 13:40:18
OS winXPhome
Excel 2003

エクセルで交通費の清算をするための表を作りたいと思っています。
出発駅、到着駅を入力して交通金額が出せるように、検索サイトと
対応させて、検索サイトの検索欄と表のセルをリンクさせることって可能なの
でしょうか?
それとも、検索サイトで調べて毎回コピペするしかないのでしょうか?



5955 :2006/03/26(日) 15:32:48
>>57
ParamArrayであっさり出来ました。
ありがとうございました!!

60名無しさん@そうだ選挙にいこう :2006/03/26(日) 16:11:04
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル ワードに出力

ある測定機器で得られた結果(数値など)を
エクセルで打ち込んでいって。
それを決められた書式通りにワードに出力したいのですが
そういうことってできるのでしょうか?

要はエクセルで『1』、『2』、『3』と入力して
ワードで『1と2を足したら3』と出力されるような感じにです。

61名無しさん@そうだ選挙にいこう :2006/03/26(日) 16:19:30
シートごとワードに貼っちゃえば

62名無しさん@そうだ選挙にいこう :2006/03/26(日) 18:07:58
【1 OSの種類         .】 WindowsXP sp2
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 人のをいぢるぐらいなら
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel 行列 入れ替え 参照

行列を入れ替えてはりつけを使うと、参照先が変わってしまいます。
参照先が縦にならんでいるものを、横にする方法はあるんでしょうか?
値にはしたくないんですが・・。

63名無しさん@そうだ選挙にいこう :2006/03/26(日) 18:14:47
【1 OSの種類         .】 WindowsXP SP2
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 EXCEL 破損ファイル 外部参照

親父がフロッピーに保存していたEXCELファイルが破損したみたいなので、
私のパソコンにコピーして、ググりつつなんとか外部参照にてデータを呼び出すことには成功したのですが、
その呼び出している値を、新規のBOOKのセルに打ち込んだ値に変換(?)することはできないでしょうか?
(『='C:\xxx\xxx\xxx\[xxx.xls]Sheet1'!A1』という形ではなく、『=名前』という形に)
ずっと破損ファイルから参照し続けるわけには行かないと思うので。手動で打ち直すしか手はないでしょうか?

64名無しさん@そうだ選挙にいこう :2006/03/26(日) 18:57:51
>58
ここに書けるほど容易くないけど
VBAの参照設定:Microsoft Internet Controls,Microsoft Scripting Runtime
SHDocVwを使って、サイトを表示し、それをテキスト変換して保存。
Scripting.FileSystem.Objectを使ってhtmlをtxt変換したテキストから特定の位置の数字を吸い込む。
これを確認の意味で複数サイトで行う。
こんな感じでどうでしょう

6554 :2006/03/26(日) 19:26:20
お願いします。

66名無しさん@そうだ選挙にいこう :2006/03/26(日) 20:49:51
| 何について調べますか?
| ┌────────────┐
| | お前を消す方法       |
| |                   |
| └────────────┘
| [ オプション(O) ]   [ 検索(S) ]
|
`──────────┐ ┌───
           , '´l,  ..| ./
       , -─-'- 、i_  |/
    __, '´       ヽ、
   ',ー-- ●       ヽ、
    `"'ゝ、_          ',
      〈`'ー;==ヽ、〈ー- 、 !
       `ー´    ヽi`ヽ iノ
                ! /
              r'´、ヽ
              `´ヽノ



           , '´l,
       , -─-'- 、i_
      , '´○ _ ○  ヽ、
      i    /  |     ヽ、
       ゝ ├-┤       ',
      〈`'ー;==ヽ、〈ー- 、 !
       `ー´    ヽi`ヽ iノ
                ! /
              r'´、ヽ
              `´ヽノ


67名無しさん@そうだ選挙にいこう :2006/03/26(日) 20:54:28
【1 OSの種類         .】 いろいろ
【2 Excelのバージョン   】 いろいろ
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 売上報告 集計

10くらいの営業拠点の売上報告を集計したいと考えています
必要な項目は 担当者 当日売上 累計売上 です
各拠点には10名ほどの社員がいます
現在はFaxで送られたデータを手入力しています
皆さんの会社ではどうされてますか?いいアイデアがあれば教えてください。

68名無しさん@そうだ選挙にいこう :2006/03/26(日) 21:58:48
>>54
大前提として、Excelはワープロソフトではないので「段数」なんて概念はない。

表をいじらないで擬似的に2段組風に印刷するなら、
ページ設定を用紙縦長にして、プリンタの設定で「1枚に2ページ」みたいにするのはどうか。
プリンタドライバに依存するけど。

3段以上にするなら表のほうをいじるしかないとおもう。
 1行目 2行目 3行目
 2行目 3行目 4行目 *
 3行目 4行目 5行目 *
 4行目 5行目 6行目
 :
という具合に、横の方の列に1行づつずらしてコピペして、
*の行だけ削除すると3段組になる。

行数が分かってるなら、段の数で割って
 1行目 401行目 801行目
 :     :        :
400行目 800行目 
って 切り取り&貼り付け するほうが楽かもだが。

69名無しさん@そうだ選挙にいこう :2006/03/26(日) 23:25:29
【1 OSの種類         .】 Windows XP SP1
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 印刷 プロパティ 保持

プリンタサーバー(Windows Server 2003)経由で各クライアントPCより1台のプリンタへ
印刷を行っています。
AさんのPCで作成したExcelファイルをBさんのPCで印刷したいのですが、AさんのPCの
プリンタのプロパティ値が保持されたままになっていて、思い通りの印刷設定(Bさんの
プリンタのプロパティ値)で印刷することが出来ないことがあります。
どのようなExcelファイルも常にBさんのプリンタのプロパティ値で印刷したいのですが、
この設定(Aさんのプロパティ値を保持してしまう)を簡単に解除する方法はありません
でしょうか。
今わかっているのは、BさんのPCで印刷する際に印刷のダイアログで一度別のプリンタ
を選択し、また元のプリンタ(通常印刷するプリンタ)に戻してから印刷すると、Bさんの
プロパティ値で印刷することが出来ます。
これを別の方法、例えば・・・
 - AさんのPCで作成する際にプロパティ値を常に保持しないようにする。
 - BさんのPCで常にBさんのPCのプロパティ値で印刷するようにする。
などの回避方法はありませんでしょうか。もちろんその他の方法でも構いません。
なにとぞよろしくお願いします。
(と言うか何ゆえこのようなことが発生するのでしょうか・・・避けられないExcelの仕様
でしょうか。プリンタサーバー経由でなく、ローカル接続(ネットワークプリンタ)であれば
発生しないのでしょうか・・・)

70名無しさん@そうだ選挙にいこう :2006/03/27(月) 00:05:11
>>69シックスナイン
避けられないExcel(Windows版)の仕様れす
Macに変えましょう

71名無しさん@そうだ選挙にいこう :2006/03/27(月) 00:48:04
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 分かりません。


Excel2002を使っているのですが
Excelのデフォルトの設定ではセルの端っこをダブルクリックすることで
入力されているセルの一番下まで飛ぶことが出来るようになっています。
この機能が邪魔で仕方ないので無効にしたいのですが
どうすれば無効出来るのでしょうか?
お願いします。


72名無しさん@そうだ選挙にいこう :2006/03/27(月) 00:49:18
>>70
回答ありがとうございます。
やはり避けられないれすか・・・はぁ困ったなぁ・・・


73名無しさん@そうだ選挙にいこう :2006/03/27(月) 02:37:50
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 LOOKUP, VLOOKUP

業務効率化のため製品のサイズを入力すれば自動で価格が表示されるようにしたいのですが
製品には 長さ 幅 高さ があり、関数で数値を返すため 縦方向に「長さ×幅」横に「高さ」を入れ
交点に価格が入った表を別ワークシートに作りました。
在庫のある規格品のサイズを、例えば縦には100x50,100x100,150x80,200x200
横には1, 3, 3.3, 3.6, 4,6.7 のように不規則に並ぶのですが
VLOOKUPを使って価格を返そうとしているのですがうまくいきません。
見積もりに入力するサイズは80x35など規格品と一致しないものもあるので一番近いものを自動で選択できるようにしたいです。
また、セルの中の関数で返された数値を、さらに関数の中に入れたいのですが数値として認識してくれません。
どなたか良い方法をご存知の方ご教授お願いします。



74名無しさん@そうだ選挙にいこう :2006/03/27(月) 05:26:11
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 勤務 関数 時間別

水商売の販売管理表の作成で悩んでいます。
12時〜18時と18時〜24時で歩合が変わるため、うまく計算式が出せません。
シート1に「時刻」、「指名された女の子のNo.」の2列
シート2には「女の子のNo.」、「昼の指名数」、「夜の指名数」。またそれを元に歩合ををかけて給与を計算。

シート1の「指名された女の子のNo.」から「昼までは何個」、「夜からは何個」にするようにはどうすればいいのでしょうか?
IFなどを使って18辞までは何個、18辞以降は何個と表示させる計算式がわからないのですが・・・。
現在は昼のシートと夜のシートに分けて計算しています。
ひとつにまとめることはできますか?

75名無しさん@そうだ選挙にいこう :2006/03/27(月) 06:43:57
> ひとつにまとめることはできますか?
できます。ヘルプ参照。

76名無しさん@そうだ選挙にいこう :2006/03/27(月) 08:18:12
住所録を作っているのですが
あいうえお順にするのはどうやったら
いいんですか?

77名無しさん@そうだ選挙にいこう :2006/03/27(月) 10:43:54
>>73
xが入っていたら数値にはならないから分けて3軸のデータにするか
100x100を100100のようにxを外しておくか(そのばあい100101などの検索ミス避けが必要になると思う)
くらいで

78名無しさん@そうだ選挙にいこう :2006/03/27(月) 10:52:09
>73
INDEX関数なんかはいかがでしょうか。
LOOKUP系の関数で近似値を抽出する場合
参照列は数値で昇順に入力しておかないとダメ
>76
ふりがな欄を設けて、データの並べ替え

79名無しさん@そうだ選挙にいこう :2006/03/27(月) 11:17:02
>>73
書式設定を 000"×"000 にすれば数値になるけど
長さと幅の2次元には対応してくれません
とりあえず、サイズの近似値表を作成して、その表で検索をかけるように
した方が無難かも?

80名無しさん@そうだ選挙にいこう :2006/03/27(月) 11:52:20
>>74
>IFなどを使って18辞までは何個、18辞以降は何個と表示させる計算式がわからない

18時は式内では --"18:00" と表記

81名無しさん@そうだ選挙にいこう :2006/03/27(月) 12:58:39
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 少々
【4 VBAでの回答の可否】 否

A1からA3の中でセルの値が最大値のセルを赤で、最小値のセルを青で塗ることはVBAを使わず出来ますでしょうか?
「条件付き書式」でやるかとは思いますが、B1〜B3、D1〜D3というようにあちこちに適応させたい所があり、「条件付き書式」はフィルコピーが出来ないと思うので弱っております。
どうかご教示ください、お願いいたします。

82名無しさん@そうだ選挙にいこう :2006/03/27(月) 13:05:16
>「条件付き書式」はフィルコピーが出来ないと思う
勝手に思うんじゃないよ

8381 :2006/03/27(月) 13:29:12
>>82
ありがとうございます!
書式のコピー、でいけました。


84名無しさん@そうだ選挙にいこう :2006/03/27(月) 14:28:50
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 少々
【4 VBAでの回答の可否】 否

シート保護すると、保護外で入力できるようにしたセルに対しても、フォントの色変更ができなくなります。
入力可能な部分は色等変更できるようにする事はできますでしょうか?


85名無しさん@そうだ選挙にいこう :2006/03/27(月) 14:36:42
>>84
シート保護のダイアログボックスで
□セルの書式設定
にチェックを付ければOKですよ。

8684 :2006/03/27(月) 14:48:22
>>85
出来てしまうと阿呆っぽい質問をしたと恥ずかしい限りです。
丁寧・迅速に回答いただきありがとうございました。

87名無しさん@そうだ選挙にいこう :2006/03/27(月) 16:20:33
色々試したのですがうまくいかなかったので教えてください。
したいことは、あるセルの内容に2バイトの文字が含まれている場合はエラーとして検出ようにしたいのです。
実際にLen関数とLenB関数を使用して文字数とバイト数が同じでないならエラーとして扱うようにします。
下記のようにVBAを入れたのですがうまくいきません。

For a = 2 To gyou
aaa = Len(Trim(StrConv(StrConv(Worksheets("総計").Cells(a, 3), vbKatakana), vbNarrow)))
bbb = LenB(Trim(StrConv(StrConv(Worksheets("総計").Cells(a, 3), vbKatakana), vbNarrow)))
If Not aaa = bbb Then
kaunt = kaunt + 1
report(kaunt) = "引落銀行名の" & a & "行目に2バイト(漢字等)があります"
End If
Next a

デバックモードでまず、LenB関数をはずしてbbbに代入されている値を見ると”タナカ”のように確かに半角カナ
が入っているようで、LenB関数をつけるとなぜか値に3ではなく6の値が代入されています。
いったいなにが原因かわからないのですがわかる方だれかいますでしょうか?
また、半角カナだけでなく、数字(半角)についても同じ現象が起こっています。
ご教授のほど、よろしくお願いします


88名無しさん@そうだ選挙にいこう :2006/03/27(月) 16:25:58
>>87
VBAってUnicodeじゃなかったっけ
だったら全角も半角もバイト数おんなじな気が

89名無しさん@そうだ選挙にいこう :2006/03/27(月) 16:28:43
追記
str = StrConv(str, vbFromUnicode)
でSJISに変換できたはず

90名無しさん@そうだ選挙にいこう :2006/03/27(月) 16:35:50
な、なんと!?vbaってJISって思ってた(;w;)
>>89さんの言われるようにJISに変換してやってみます><

9171 :2006/03/27(月) 16:43:48
お願いします。

92名無しさん@そうだ選挙にいこう :2006/03/27(月) 16:44:49
連投すいません><
>>89さんの言われるようにシステム規定のコードに変更したらうまく行きました♪
さすがにvbaの本を見ても載ってないですね(汗
助かりました><ありがとうございます♪

93名無しさん@そうだ選挙にいこう :2006/03/27(月) 17:03:34
>>91
Messageをhookしてころすしかないんじゃね?

9473 :2006/03/27(月) 21:50:42
>>77>>78>>79
皆様ありがとうございます。
やはり縦列横列を参照して交点の値は返せないんですね。
長さ幅高さを10010010のように連続数値にしてその横に価格を入れデータベースを2行にしてみます。
セルA1に長さ「100」B1に幅「100」C1に高さ「10」を入力した後
=A1&B1&C1 でひとつにくっつけた値がD1に出るようにして
それをVlOOKUPの入れ込んで検索値にして参照させるようにやってみます。
INDEX関数も勉強してみます。

95名無しさん@そうだ選挙にいこう :2006/03/27(月) 22:33:48
>>94
それが正解
何かの処理のもとにするデータソースは
交差表とかにすべきではないよ

96名無しさん@そうだ選挙にいこう :2006/03/28(火) 00:24:38
>>95
すまん、わからへん。なんで交差表にしたらあかんの?


97名無しさん@そうだ選挙にいこう :2006/03/28(火) 00:32:28
INDEXとMACTHで良いんでね?
まぁ、少しややこしい数式になるけど。


98名無しさん@そうだ選挙にいこう :2006/03/28(火) 01:39:38
【1 OSの種類】 Win98
【2 Excelのバージョン】 Excel2000
【3 VBAが使えるか】 中途半端
【4 VBAでの回答の可否】 可

変数Aにパスを保存して各プロシージャで共通に使うにはどうしたらいいですか
たとえば、グローバル変数にThisWorkbook.Pathを定義するとかですが

99名無しさん@そうだ選挙にいこう :2006/03/28(火) 06:28:40
【1 OSの種類】 Win98
【2 Excelのバージョン】 Excel2000
【3 VBAが使えるか】 使えません
【4 VBAでの回答の可否】 可

Enterキーを押すと、カーソルが下ではなく右に移動します。
もとに戻すにはどこを触ればよいのでしょうか?

100名無しさん@そうだ選挙にいこう :2006/03/28(火) 07:01:50
>>98
普通にグローバル変数定義して、Auto_Openとかでパスを代入すればいいじゃん


>>99
ツール > オプション > 編集
入力後にセルを移動する:下

2003で確認したので多少項目名違うかもしれん

101名無しさん@そうだ選挙にいこう :2006/03/28(火) 08:31:39
【1 OSの種類】 Win2000
【2 Excelのバージョン】 Excel2000
【3 VBAが使えるか】 使えません
【4 VBAでの回答の可否】 可

1000行以上のシートで、とある列のデータが重複して
いないかをチェックする最善策をご教授ください。
*その列のデータはユニークでなければなりません。

宜しくお願いします。

102TEIOU :2006/03/28(火) 09:23:32
>>101
実際に業務で使っている私のやり方を2つご紹介。
どちらも COUNTIF関数 を使っています。

例として、B列にユニークデータを入力すると考えて下さい。

1、B1のセルに条件付書式を用いて背景色を変更する方法
  =COUNTIF(B:B,B1)>1

2、A列を作業セルとする方法
  A1のセルに =IF(COUNTIF(B:B,B1)>1,"*","")
  ※重複している場合、A列に * が表示されます。

10399 :2006/03/28(火) 09:32:57
>>100
ありがとうございます。
もとに戻りました。

104名無しさん@そうだ選挙にいこう :2006/03/28(火) 11:29:51
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 マクロ シート名 可変 自動化 等 

Columns("G:BD").Select
Selection.Columns.Group
ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=1
Columns("B:B").Select
Selection.Insert Shift:=xlToRight
Sheets("○○○○").Select
Range("A4:BJ109").Select
Range("A6").Activate
Selection.Copy
Sheets("●●●●").Select
Range("A28").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWindow.SmallScroll Down:=75

とマクロの記録で作ったのですがシート名が変わるのでうまく動きません。
○を左から2つ目のシート
●を左から3つ目のシートとなるように変更できないでしょうか?

よろしくお願いします。

105TEIOU :2006/03/28(火) 11:40:07
>>104
Worksheets(1).Select

(○)の数字が、左から○番目、という記述です。

106名無しさん@そうだ選挙にいこう :2006/03/28(火) 12:05:39
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 少しだけ
【4 VBAでの回答の可否】 否
教えていただきたいのですがA1:A5に次のように入っていて、
1
2
3
4
5
1又は2又は5を抜き出したい時どうすればいいのでしょうか。オートフィルタのORは2つの条件のORしか取れないので弱っています。
どなたかご教示お願いいたします。

107名無しさん@そうだ選挙にいこう :2006/03/28(火) 12:16:00
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 関数 翌月指定日

今日の日付を利用して、支払日のセルに翌月10日を表示させたいのです。
しかし翌月10日が休みの場合、前営業日(平日)を表示させたいのです。
どのような関数組めばいいのですか?


108TEIOU :2006/03/28(火) 12:27:15
>>107
「平日」には土曜日は含みますか?
辞書では 日曜・祝日以外の日 と定義されていますので…

109107 :2006/03/28(火) 12:31:27
平日には土曜日を含まないんです。
どうでしょうか?

110名無しさん@そうだ選挙にいこう :2006/03/28(火) 12:32:15
ヒント:返り値

111名無しさん@そうだ選挙にいこう :2006/03/28(火) 12:37:25
日付関数等を駆使して翌月10日を算出
WEEKDAY関数とか使ってその日の曜日を算出
曜日によって、何日か繰り上げ
だろうけどワークシート関数でやるとめんどくさそうだな

112TEIOU :2006/03/28(火) 13:09:57
>>107
A1に =TODAY() を入力してると考えて下さい。
1つのセルでやったらこんな事になりましたよ。

=IF(WEEKDAY(DATE(YEAR(A1),MONTH(A1)+1,10))=1,DATE(YEAR(A1),MONTH(A1)+1,8),IF(WEEKDAY(DATE(YEAR(A1),MONTH(A1)+1,10))=7,DATE(YEAR(A1),MONTH(A1)+1,9),DATE(YEAR(A1),MONTH(A1)+1,10)))

あと、このセルの表示形式を yyyy/mm/dd aaa とすれば 2006/06/09 金 と表示されますよ。
作業セルを設けた方がスッキリするかと思いますが。

今日の日付 A1 =TODAY()
翌月の10日 A2 =DATE(YEAR(A1),MONTH(A1)+1,10)
翌月支払日 A3 =IF(WEEKDAY(A2)=1,A2-2,IF(WEEKDAY(A2)=7,A2-1,A2))

113107 :2006/03/28(火) 14:03:23
ありがとうございます!
作業セル使うとすっきりしますね。
早速やってみます。

114名無しさん@そうだ選挙にいこう :2006/03/28(火) 14:26:31
ところで、祝祭日はどうすんの?
成人の日、建国記念日、体育の日当たりが関与する可能性あり。
ハッピーマンデーと固定のケースで分けて対応しなきゃならい・・・

そんなこと考えたら、支払日リストを別に作ったほうが楽でスッキリかもよ?
たかが一年で12行程度なんだし。
毎年〜数年でチェックすれば法律の変更による休日の変化にも対応できるし。
・・・もっともそのファイルを何年使い続けるか?だけどね。

115名無しさん@そうだ選挙にいこう :2006/03/28(火) 14:30:35
>>106
オートフィルタの(オプション)ではなく、
データ>フィルタ>フィルタオプションの設定を使う。

116107 :2006/03/28(火) 14:40:47
>>114
そうですねぇ。
祝祭日は休みなんで。
リストを作ることも考えてみます。

117101 :2006/03/28(火) 17:42:39
>102
早速の回答ありがとうございました。
また何かありましたら宜しくお願い致します。

118名無しさん@そうだ選挙にいこう :2006/03/28(火) 17:52:33
【1 OSの種類         .】 WindowsXP_P
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 新教育指導要領 ゆとり教育

大卒総合職の若手子ちゃんから
「Excelを教えてくださいw」といわれたのですが、

Excelの式・書式以前に、
割合(%)を出す計算は、
何を何でどうすれば(割り算すれば)よいかわからないようです。

小学3年生の算数からやりなおすのは非効率的なので
おすすめのコマンドやショートカットなどあれば教えてください。


119名無しさん@そうだ選挙にいこう :2006/03/28(火) 18:09:24
変に学習が進んだ状態でのショートカットは難しいです
いったんOSを再インストールする必要があります

120名無しさん@そうだ選挙にいこう :2006/03/28(火) 19:31:19
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2003

1,1,2,2,3,3,4,4,・・・って連続データの作り方教えてください。
1
1
2
2
3
3ここまでをドラッグすると続きが以下・・・
3.6
4.057142857
4.514285714
4.971428571
5.428571429
5.885714286
6.342857143
6.8
7.257142857
7.714285714
8.171428571
8.628571429
9.085714286
9.542857143
10
10.45714286
10.91428571
11.37142857
11.82857143
12.28571429



121名無しさん@そうだ選挙にいこう :2006/03/28(火) 19:39:15
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

体重測定の名前を転記させるスクリプトをマクロで登録してみたんですが、
XPで実行させると、動作はするものの、スクリプト自体が終了できていないようで、
メモリをどんどん食ってってしまいます。
すいません、どこか構文落ちてますかね?


122121 :2006/03/28(火) 19:40:11
Sub 女あ()
Sheets("女性入力").Select
Range("B2:C25").Select
Selection.Sort Key1:=Range("C2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin
Range("B2:B13").Select
Selection.Copy
Sheets("体重チェック表(1)").Select
Sheets("体重チェック表(1)").Name = "体重チェック表(1)"
Range("A5:A16").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
With Selection.Font
.Name = "MS Pゴシック"
.Size = 24
End With



123121 :2006/03/28(火) 19:40:42
Sheets("女性入力").Select
Range("B14:B25").Select
Selection.Copy
Sheets("体重チェック表 (2)").Select
Range("A5:A16").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
With Selection.Font
.Name = "MS Pゴシック"
.Size = 24
End With

Sheets("女性入力").Select
Range("B26:B37").Select
Selection.Copy
Sheets("体重チェック表 (3)").Select
Range("A5:A16").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
With Selection.Font
.Name = "MS Pゴシック"
.Size = 24
End With

以上です。よろしくお願いします。

End Sub

124121 :2006/03/28(火) 19:42:41
すいません。
End Subは
以上です〜の上にきちんと入ってます(汗)。

125名無しさん@そうだ選挙にいこう :2006/03/28(火) 19:46:08
>>120
例えばA列にオートフィルで0.5刻みの連続データを作り、
隣のB列で「=ROUND(A1,0)」のように丸める。

126名無しさん@そうだ選挙にいこう :2006/03/28(火) 20:18:29
>>120
[A1] 1
[A2] 1
[A3] =IF(A1=A2,A2+1,A2)
[An] 以下コピー

その後A列を値複写

127名無しさん@そうだ選挙にいこう :2006/03/28(火) 20:38:52
>>121
特に止まりそうなところ無いけどなあ。
VBE画面でF8キー押して1行ずつ実行してくとどのへんでおかしくなるの?

128名無しさん@そうだ選挙にいこう :2006/03/28(火) 20:43:01
>>120
>>126
A3の式は=A1+1でいいんじゃね?

129名無しさん@そうだ選挙にいこう :2006/03/28(火) 21:31:57
A1: =A2+A3 (数式)
A2: 123  (数値)
A3: 文字 (文字列)

とするとA1には「#VALUE!」のエラーとなってしまいます
文字列を無視又は0とみなすことによって、A1を「123」と表示させる方法はないでしょうか?

130121 :2006/03/28(火) 21:37:55
>>127
ありがとうございます。
おっしゃるとおりF8で試してみました。
うーん特にF8で押していっても特におかしくはならないようです。

ただしこの作業を試してみる前に、実行したら、
体重チェック表(1)→体重チェック表 (2)→体重チェック表 (3)
のシートをぐるぐると回ってました。

が、 F8で試した後には、この現象、消える。
同じように、同じスクリプト動作させても正常に動いていました。

・・・なんだかよくわからない・・・

131名無しさん@そうだ選挙にいこう :2006/03/28(火) 21:41:24
教えて下さい。

エクセルのif関数で「-0.05<引数<+0.1」の条件に入ったらOK、入らなかったらNGの
論理式を組みたいんですが、このまま入力すると、引数に-0.03が入ってもNGが出ます。
要は-0.05〜+0.1の間に入ればOKって出るようにしたいんですが、なにか方法はありますか?

132名無しさん@そうだ選挙にいこう :2006/03/28(火) 21:44:46
>>129
=SUM(A2,IF(ISTEXT(A3)=TRUE,0,A3))

133131 :2006/03/28(火) 21:47:05
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

です。
連投ウザスですが、本当に困ってます。
どなたか解る人いませんか?

134名無しさん@そうだ選挙にいこう :2006/03/28(火) 21:49:28
XPの2003です。

ttp://pc21.nikkeibp.co.jp/special/hr/hr3.shtml
ここの
SUM(IF(B1:B12="販売実績",C1:C12,""))
この式なんですが、例題と同じデータを作成して試したにもかかわらず、
エラーが返ってきます。
どのような理由が考えられるでしょうか?

135129 :2006/03/28(火) 21:52:07
>>132
なるほど
IFとISTEXTの組み合わせですか
有難うございました

136名無しさん@そうだ選挙にいこう :2006/03/28(火) 21:53:05
>>131

=IF(AND(-0.05<=引数,引数<=0.1),"ok","ng")

137名無しさん@そうだ選挙にいこう :2006/03/28(火) 21:54:08
>>133
例えばですが、セルA1を対象とすると
=IF(AND(A1<0.1,A1>-0.05),"OK","NG")

138名無しさん@そうだ選挙にいこう :2006/03/28(火) 21:57:01
>>121
じゃあどこかのシートにworksheet_changeイベントプロシージャとか
書いてしまってるんでない?そこでそのサブルーチン呼んでるから、
ずーっとループしてるみたいな

139131 :2006/03/28(火) 22:00:34
>>136
>>137

意味はわかりませんが、コピペしたら思った通りに動きました。
感謝感謝です。
ありがとうございました。


140名無しさん@そうだ選挙にいこう :2006/03/28(火) 22:06:17
>>139
IF関数
AND関数
ネスト(入れ子)

どれも基本だから理解したほうがいいよ

141134 :2006/03/28(火) 22:11:11
自己解決しますたスマソ

142名無しさん@そうだ選挙にいこう :2006/03/28(火) 22:21:09
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
リストの見出しが複数行あります。
その中の真ん中の何行かのリスト機能を削除したいのですが、
やり方を教えていただけないでしょうか?

143名無しさん@そうだ選挙にいこう :2006/03/28(火) 22:34:16
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 yes
【4 VBAでの回答の可否】 Yes
皆様御願いします。
なんの変哲も無いセル移動のマクロですが、
結合したセルから実行すると、実行先のセルからの上下左右の移動が上手く行きません。
(元のセルからの移動となる)
結合したセルから上手くアクティブセルを動かす方法または制約を逃れる方法を教えてください。。。
Range("a1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select

144名無しさん@そうだ選挙にいこう :2006/03/28(火) 23:35:31
具体的な質問ではないのですが、変数の定義や基本的なセル操作などを詳しく説明しているサイトをご存知ないでしょうか?

145143 :2006/03/28(火) 23:36:35
ども。ちと色々調べていたら、結合セルとoffsetは非常に相性が悪いようでした。。

146名無しさん@そうだ選挙にいこう :2006/03/28(火) 23:37:55
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 No
【4 VBAでの回答の可否】 No

最近よく派遣スタッフの登録に行くのですが
その時のPCスキルチェックで毎回どうしてもわからない問題があります。

1.背景色を6.25%の灰色で塗りつぶす
2.名簿等の文字列でカタカナをひらがなへ一括変換する
3.同じく名簿等で、性と名の間のスペースを一括削除する
  →関数TRIMで対応できるかと思ったのですが、性と名の
   間のスペースは不要とみなされず残ってしまいました。


どなたかご存知の方、教えて下さい。


147名無しさん@そうだ選挙にいこう :2006/03/28(火) 23:52:24
>>146
1.セルの書式設定→パターン→下の方の「パターン」から
2.名簿セルを選択して書式→ふりがなの設定→ひらがなにチェック
 隣にPHONETIC関数でひらがなを出し、値のみコピー
3.置き換えでスペースを空白に置き換える

こんな感じじゃない?

148名無しさん@そうだ選挙にいこう :2006/03/28(火) 23:53:00
>>146
>1.背景色を6.25%の灰色で塗りつぶす
パターンじゃまいか?



149前スレ911 :2006/03/29(水) 00:09:58
【1 OSの種類】 WindowsXP Pro sp2
【2 Excelのバージョン】 Excel 2003
【3 VBAが使えるか】 はい
【4 VBAでの回答の可否】 可

C:\DATA に入ってるブックそのものを、C:\DATA2へコピーするには、
どうすればいいですか?

FileCopyのヘルプを見て、こんな感じでつくってみたけど動作しません・・・
アドバイスをください。


Sub ファイルコピー()
  Dim SourceFile, DestinationFile
  SourceFile = "C:\DATA\Book1.xls"
  DestinationFile = "C:\DATA2\Book1.xls"
  FileCopy SourceFile, DestinationFile
End Sub


150名無しさん@そうだ選挙にいこう :2006/03/29(水) 00:57:43
もちろん"Book1.xls"は開いてないよね
> 動作しません・・・
って具体的にどういう結果になるのか書こうよ
〜というエラーが出るとか、エラーは出ないけど実行してもコピーが行われないとかさ

15163 :2006/03/29(水) 02:02:24
お願いします。

152名無しさん@そうだ選挙にいこう :2006/03/29(水) 02:44:49
形式を選択して貼り付けで値だけ貼り付けるんじゃ駄目なの?

153名無しさん@そうだ選挙にいこう :2006/03/29(水) 02:54:47
【1 OSの種類】 WindowsXP Pro sp1a
【2 Excelのバージョン】 Excel 2003
【3 VBAが使えるか】 いいえ
【4 VBAでの回答の可否】 不可

いくつかの数値が表に埋まってる時に、それらの全てのセルを同じ書式で
小数点を表示したりさせなかったりできますか?

以下,C = A / B という計算式の場合

   | A  B  C
  --+--------------
  1 | 10  1  10
  2 | 10  2  5
  3 | 10  3  3.33
  4 | 10  4  2.5

のように、C列は全て小数点以下は2桁までという書式なのだけど
割り切れるものは小数点を表示したくない、ということです。

セルの書式設定→表示形式のユーザー設定で #.## とやってみたら
10. や 5. になってしまい、整数のみの時にもピリオドを必ず表示してしまいます…

15463 :2006/03/29(水) 03:34:52
>>152
あ・・・、すごい単純に・・・。
見落としてました。ありがとうございます。

155名無しさん@そうだ選挙にいこう :2006/03/29(水) 06:47:57
>>146
1. ぴったり6.25%は無理じゃないか?
色は0〜255までだから、
255-255*0.0625 = 239.0625
だから、239を指定してもぴったり6.25%ぴったりじゃないな。
だいたい6.25%なら
Cells.Interior.Color = RGB(239,239,239)
じゃない?

その出題者は0〜255で256種類だから
=256-256*0.0625=240
となるから、240と勘違いしてるんじゃないか?

ところで派遣ってVBA出来なくても勤まるの?
0〜
256-256*0.0625=240
だな。

156155 :2006/03/29(水) 06:50:38
すまん、後ろ3行にゴミがのこった。

157名無しさん@そうだ選挙にいこう :2006/03/29(水) 07:45:37
>>129
>>132
なんか難しく考えすぎだよ。
=SUM(A2:A3)
で十分だろ?

158名無しさん@そうだ選挙にいこう :2006/03/29(水) 08:00:59
ハイパーリンクを『シートAのセルB1』の様に、
セルレベルで指定して挿入する事は可能でしょうか?
また、図等オブジェクトにハイパーリンクをつける事は可能でしょうか?


159155 :2006/03/29(水) 08:09:31
>>146
色の設定はVBAじゃなくても、ツール オプション 色 変更 ユーザー設定で出来るな。
明るさを239にすりゃいいだろう。
そうするとRGBは239,239,239になる。


160名無しさん@そうだ選挙にいこう :2006/03/29(水) 09:14:48
【1 OSの種類         .】 WindowsXP SP2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 はい
【5 検索キーワード     】 テキストボックスの参照方法

ワークシートにコントロールのテキストボックス(txbx)を貼り付け、それを
Dim WsForm As Worksheet
Set WsForm = Worksheets("フォーム")
WsForm.txbx.Text

としたらメソッドまたはデータメンバが見つかりません

と怒られます。Sheet1.txb.Textとしたら参照できるのでずが、
必ずSheet1にあるわけではないので、怒られる方での参照
がしたいのです。
ワークシートのフォームを何で宣言すればいいのでしょうか。

161TEIOU :2006/03/29(水) 10:59:37
>>146
1、背景色を6.25%の灰色で塗りつぶす
〔書式〕-〔セル〕-〔パターン〕タブ、左下の▼クリック、右上が6.25%灰色
※ツールバーのバケツではムリ

2、名簿等の文字列でカタカナをひらがなへ一括変換する
※A1に文字列(漢字)、B1に =PHONETIC(A1) が入力されていると考えて…
A1を選択、〔書式〕-〔ふりがな〕-〔設定〕、種類でひらがなにチェック

3、同じく名簿等で、性と名の間のスペースを一括削除する
〔編集〕-〔置換〕、上に" "(スペース)入力、下は空白のまま、〔すべて置換〕

でどうでしょうか?

162名無しさん@そうだ選挙にいこう :2006/03/29(水) 11:05:56
>>160
WsForm.OLEObjects("txbx").Object.Text = "A"


163160 :2006/03/29(水) 11:19:34
>>162
うわー、ありがとう。そうかOLEObjectなんてあるんだ。
その後にさらにobject.Textなんて…。
めちゃくちゃ助かりました。

164名無しさん@そうだ選挙にいこう :2006/03/29(水) 18:48:04
【1 OSの種類】 WindowsXP
【2 Excelのバージョン】 Excel 2000
【3 VBAが使えるか】 ほとんど不可
【4 VBAでの回答の可否】はい
 (表1)
| A  B  C
  --+--------------
  1 | 1  a 
  2 | 1  b 
  3 | 1  c 
  4 | 2  d

  ↓
(表2)
  | A  B  C
  --+--------------
  1 | 1
  2 |   a
  3 |   b
  4 |   c

上記の(表1)から別シートのセルa1に1を入力すると
(表2)のように抽出したいのですが出来ますか?



165名無しさん@そうだ選挙にいこう :2006/03/29(水) 18:58:17
>>164
2と入力するとどうなってほしい?

166名無しさん@そうだ選挙にいこう :2006/03/29(水) 19:06:36
>>165
2と入力すると下のようになって欲しいです。
  | A  B  C
  --+--------------
  1 | 2
  2 |   d
  3 |  
  4 |  


167名無しさん@そうだ選挙にいこう :2006/03/29(水) 19:12:38
>>164,>>166
VBAで可能だが、具体例だけで具体的な条件が書かれておらず
つまりは>>1★に反してるので、コードは書かないでおく

168名無しさん@そうだ選挙にいこう :2006/03/29(水) 19:30:46
普通に表1でオートフィルタかけるだけじゃ駄目なんだろか

169名無しさん@そうだ選挙にいこう :2006/03/29(水) 20:08:57
>>168
別シートは印刷用で、抽出データを印刷用テンプレートに入れ込みたかったからです。

データの量が少なければオートフィルタかけても良いのですが

実際のデータは量が多いのでオートフィルタかけて

コピー貼り付けをすると面倒だからです。


170名無しさん@そうだ選挙にいこう :2006/03/29(水) 21:45:47
【1 OSの種類】 Windows 2000
【2 Excelのバージョン】 Excel 2000
【3 VBAが使えるか】 不可
【4 VBAでの回答の可否】 不可

▼数値100万以上を関数で文字列"○"に変換したもの
社員名  商品1 商品2 商品3 商品4 ・・・→
あああ    ○         ○   ○
いいい         ○        ○


こういったリストを基に、下記のような抽出を行いたいのですが、
どうしたらよいでしょうか?
検索/行列関数で処理できないかと試行錯誤しましたが、
思いどおりにいきませんでした。

▼100万円以上販売できた商品
あああ 商品1 商品3 商品4
いいい 商品2 商品4

171121 :2006/03/29(水) 22:11:34
>>138
どうも。大変たすかりました。
<ずばり正解>でした。

手書きで書いてたら、起こらない現象でした。
よかったー。時間なかったんで、マクロで起こしたんで、焦ってたんですよ。ありがとうございます。

172名無しさん@そうだ選挙にいこう :2006/03/29(水) 22:22:14
>>170
○を各列の見出しに置換してから
正規表現置換の出来るテキストエディタを使いs/\t\t/\t/g

または配列数式でIF、COLUMN等を使って、一番左の"○"の列番号、左から2番目の"○"の列番号と
左から順に"○"のある位置の列番号を返し、INDEXでその列の見出し行を参照する


テキストエディタの使い方がわからなければ専用スレがあるのでそちらで
配列数式や関数の使い方などの基本的なことがわからなければヘルプやGoogle参照

173名無しさん@そうだ選挙にいこう :2006/03/29(水) 23:11:00
>>146です。
>>147,>>148,>>155,>>159,>>161
皆様ありがとうございました。
特に>>161 判りやすかったです!

ただ3のスペースを削除するが上手く行きません。
ヘルプ見ると""は置換では使えなさそうです。

ちなみにこれは一般事務等の派遣登録の中級テストです。
実践ではこんな事は使わないんですけどね。。。


174名無しさん@そうだ選挙にいこう :2006/03/29(水) 23:25:38
>>173
>ヘルプ見ると""は置換では使えなさそうです。

出来ますよ。
検索する文字列にスペース。
置換する文字列はマウスポインタ移動しただけ。

これで置換してみて下さい。

175名無しさん@そうだ選挙にいこう :2006/03/30(木) 08:51:31
>>169
すまん、わからへん。なんでオートフィルタが面倒なん?
おまえアホカ?ぜんぜん面倒ちゃうぞ?

176TEIOU :2006/03/30(木) 09:53:04
>>173
3で " "(スペース)と書きましたが、置換する際にダブルクォーテーションは要りません。
説明で ←の様に空白だけ入力したら判りにくいと思って " " と書いただけなのでした。
かえって誤解させてしまいましたね ノ ^_^;)

177名無しさん@そうだ選挙にいこう :2006/03/30(木) 11:06:27
WindowsXP 、Excel2003 という環境なんですが、
図形の描画で矢印を作成し、そのエクセルファイルの拡張子をxlsではなく、
別の拡張子で保存したとき、矢印の画像ファイルが作成されたことがあります。
それを再現したいのですが、指定する拡張子を忘れてしまいました。orz
エクセルで画像ファイルを作成するときに、指定する拡張子がわかりますでしょうか?

178名無しさん@そうだ選挙にいこう :2006/03/30(木) 11:09:57
【1 OSの種類】 Windows XP
【2 Excelのバージョン】 Excel 2000?
【3 VBAが使えるか】 不可
【4 VBAでの回答の可否】 不可


[ 3 ]と入力すると[ 0.03 ]になってしまいます。テンプレ読んでもわかりませんでした;
どなかた設定の仕方教えてください。

179名無しさん@そうだ選挙にいこう :2006/03/30(木) 11:14:19
177です。webページで保存で解決しました。お騒がせしました。

180TEIOU :2006/03/30(木) 11:36:39
>>178
〔ツール〕-〔オプション〕-〔編集〕タブで、
□小数点位置を固定する
にチェックが付いているのでしょう。これを外せば元通りになります。

181名無しさん@そうだ選挙にいこう :2006/03/30(木) 13:08:31
>>180
ありがとうございます!できましたっっ!!

182名無しさん@そうだ選挙にいこう :2006/03/30(木) 13:40:44
【1 OSの種類】 Windows xp
【2 Excelのバージョン】 Excel 2003
【3 VBAが使えるか】 不可
【4 VBAでの回答の可否】 不可


陸上競技のある種目について、
1回目に走ったタイムと2回目に走ったタイムを引き算して
その差を(どのくらい短縮できたか、あるいは延びてしまったか)をグラフに表示したいと思っています

1回目のタイムが2回目より大きければ問題なく引き算できるのですが
2回目のほうが大きい場合、負の時間となって表示されなく(########)なってしまいます

どなたか、解決方法をご存知でしたら、教えていただけませんか



183名無しさん@そうだ選挙にいこう :2006/03/30(木) 13:47:20
>>182
=MAX(1回目,2回目)-MIN(1回目,2回目)

184名無しさん@そうだ選挙にいこう :2006/03/30(木) 13:50:05
負の「時刻」は無いんだろうな・・・

185名無しさん@そうだ選挙にいこう :2006/03/30(木) 13:55:54
>>182
ググルと
オプションの計算方法を1904年から計算するにする
のようですね

186名無しさん@そうだ選挙にいこう :2006/03/30(木) 14:03:05
>>183
回答ありがとうございます
ただ、それだと、1回目に対してプラスなのかマイナスなのか
分からなくなってしまいます
また、マイナスの表示もできませんでした

>>185
ありがとうございます
その方法で解決できました!

助かりました!ありがとうございました!!

187170 :2006/03/30(木) 18:34:33
>>172
2つの方法ともに未熟な為、まだ成功しておりませんが、
急ぐ業務でもないので、じっくりと噛み砕いていこうと思います。
ご指南していただきありがとうございます。

188名無しさん@そうだ選挙にいこう :2006/03/30(木) 18:50:32
セクセル弄ってたら、セルの列名(横)がアルファベットから数字になってしまったのですが
元に戻すにはどうしたらよいのでしょうか?

189名無しさん@そうだ選挙にいこう :2006/03/30(木) 19:15:27
英単語のテストをつくりたいのですが何回もそのテストを実施しよう
と思いますがその単語を毎回同じ場所にしてしまうとその順番におぼえる生徒
もいてしまうので毎回ランダムでやりたいとおもうのですが
エクセルで英単語を一回うってそれをランダムで毎回順番をいれかえる方法って
ありますか? 


190TEIOU :2006/03/30(木) 19:34:22
>>188
〔ツール〕-〔オプション〕-〔全般〕タブで、左上の
□R1C1参照形式を使用する
のチェックを外せばOKですよ。

191名無しさん@そうだ選挙にいこう :2006/03/30(木) 20:27:54
>>189
英単語の隣の作業列に=RAND()として、作業列をキーに並び替え

192名無しさん@そうだ選挙にいこう :2006/03/30(木) 20:29:13
【1 OSの種類】 Windows XP
【2 Excelのバージョン】 Excel 2002
【3 VBAが使えるか】 可
【4 VBAでの回答の可否】 可

セルに入力→確定→Enter→一つ下の列の中途半端な位置にカーソルが移動
                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
波線部分を ”一つ下の列の先頭に” としたいのですが、どこをどのように設定すればよいのでしょうか?

193名無しさん@そうだ選挙にいこう :2006/03/30(木) 21:12:20
>>190
ありがとうございます!無事出来ました。

194名無しさん@そうだ選挙にいこう :2006/03/30(木) 23:37:12
>>192
セルを横に移動する時にTabキーを使う

195名無しさん@そうだ選挙にいこう :2006/03/30(木) 23:40:49
>>174,>>176
ありがとうございます!!!
無事できました。



196名無しさん@そうだ選挙にいこう :2006/03/30(木) 23:41:56
【1 OSの種類】 Windows XP
【2 Excelのバージョン】 Excel 2002
【3 VBAが使えるか】 可
【4 VBAでの回答の可否】 可

E列のセルに "-" の文字が入っている行を検索して、その行を削除して上に詰めるVBAを書きたいです。
自分で下のように作成したのですが、どうしてもうまくいきません。
cの型が合わないとエラーが出てしまうのですが、良い方法をアドバイス宜しくお願いいたします。


Dim c As Range

Set c = Columns("E:E").Find("-")

If Not c Is Nothing then

Do
Rows(c).Delete
Set c = Columns("E:E").FindNext("-")
Loop While Not c Is Nothing

End If

197名無しさん@そうだ選挙にいこう :2006/03/31(金) 00:39:24
どなたか、>>196をよろしくお願いします。

198名無しさん@そうだ選挙にいこう :2006/03/31(金) 00:41:14
とりあえずRowsにはcをRowで数値にして与えましょう

199名無しさん@そうだ選挙にいこう :2006/03/31(金) 01:08:49
>>198
どのようにして数値にすれば良いのか分からないのです(涙

200名無しさん@そうだ選挙にいこう :2006/03/31(金) 01:38:02
和はsum関数だけど、差は何?

201名無しさん@そうだ選挙にいこう :2006/03/31(金) 01:41:30
-

202名無しさん@そうだ選挙にいこう :2006/03/31(金) 06:46:42
>>194
ありがとうございます、できました

203名無しさん@そうだ選挙にいこう :2006/03/31(金) 10:31:43
すみません。教えて下さい。
countif関数やsumif関数で範囲をしていするとき、
ADDRESS関数を使って指定はできないのでしょうか?
詳しい方がいたら教えて下さい。お願いします。

204名無しさん@そうだ選挙にいこう :2006/03/31(金) 12:05:42
【1 OSの種類】 Windows XP
【2 Excelのバージョン】 Excel 2002
【3 VBAが使えるか】 可
【4 VBAでの回答の可否】 可

ブックを開いた時に一番左にあるシートのシート名を取得したいのですが、方法がわかりません。

よろしくお願いします。

205TEIOU :2006/03/31(金) 12:17:43
>>204
Worksheets(1).Name

()内の数字が、左から○番目のシート。と言う意味です。

206名無しさん@そうだ選挙にいこう :2006/03/31(金) 12:40:07
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

A.xlsとB.xlsがあり、それぞれVBAでの処理がありますが同時実行を試したところ、片方の処理が終わらないと
動きませんでした。同時実行させる方法はありませんか?
VBAの処理内容はLOOPの中でとある計算をさせております。

207名無しさん@そうだ選挙にいこう :2006/03/31(金) 12:45:32
同時にさせる目的によってやり方が変わるのでは?
例:並列で計算速度を上げたい、
  Aの途中結果がBに依存してる、等

208206 :2006/03/31(金) 12:58:54
>>207
AとBは全く独立しています。
単純にAとBを同時実行することにより早く終わらせたいだけです。

209名無しさん@そうだ選挙にいこう :2006/03/31(金) 13:03:54
Excelで折れ線グラフを作成しています。

元データを改変できないという条件で、
元データの値が#NUM!や#DIV/0!などのエラーとなっているところだけ
グラフに表示させたくないのですができますか?


210204 :2006/03/31(金) 13:10:57
>>205

ベリベリサンクス

いままで手でコード変えてたんだよね。
ありがと

211204 :2006/03/31(金) 13:12:57
>>209

NA()ではどうですか?


212サンタバーバラ宮元 :2006/03/31(金) 13:26:27
>>211
うるせーんだよwwwwww

213210 :2006/03/31(金) 14:35:07
>>211
ご回答ありがとうございます。
やはり数式をいじらなければ無理のようでした。

=IF(ISERROR(数式),NA(),数式)

上記でいけました。

>>212
死ね

214ペコ ◆9J3eaxRfqE :2006/03/31(金) 15:27:33
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】否

お世話になります。
初歩的な質問ですがよろしくお願いいたします。
複数のエクセルをそれぞれ別ウインドで展開したいのですが、
どうしてもひとつのエクセルの中でしか開けません。
個別のウィンドで開く方法を教えてください。
よろしくお願いいたします。

215TEIOU :2006/03/31(金) 15:42:48
>>214
ttp://up2.viploader.net/pic/src/viploader129366.jpg

エクセルで複数のブックを開いた場合、ウィンドウを最大化していると
ひとつしか開いてないように見えますが
〔ウィンドウを元のサイズに戻す〕をくりっくすればウィンドウを並べることが出来ます。

タイトルバーを間違えてクリックする事が多いのでお気を付けて。

216204 :2006/03/31(金) 15:43:26
>>214

どうしてもっていうなら、2つめのウインドウ用は関連づけでexcelを開かず、ショートカットとかでエクセルを新規に起動してから、ファイルを開けばいいと思います。

なんのために複数ウインドウにしたいのかはわかりませんが。


>>213

^^

はじめてこのスレでお世話になったので、恩返しにレスしました。
いきなり212みたいのがいてビビリましたが。


217ペコ ◆9J3eaxRfqE :2006/03/31(金) 15:53:37
>>215さん、
>>216さん
おかげさまで解決いたしました。
ありがとうございました。

218名無しさん@そうだ選挙にいこう :2006/03/31(金) 17:11:52
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 複数 セル 挿入

6行・25列で1人分の顧客データが
縦に1000人分あります。(6000行)

この顧客データに、新たに1行ずつ行を挿入したいのですが
一つ一つやっていると日が暮れてしまうので
何かガツッと一気に挿入できる方法はありますでしょうか。


219名無しさん@そうだ選挙にいこう :2006/03/31(金) 17:23:57
>>218
そういう顧客データって余程特別な事情でもない限り
1顧客=1行ににした方がいいと思うんだが。

220名無しさん@そうだ選挙にいこう :2006/03/31(金) 17:32:02
>>218
1)1列挿入
2)挿入した行にオートフィルで1〜6000の連番を振る
3)連番をコピーし、6001行目から1200行目に貼り付け
4)6001行目を1.5、6002行目を2.5として、オートフィルで1.5から6000.5までの連番を振る
5)挿入した列をキーにして並べ替え
6)挿入した列を削除

221名無しさん@そうだ選挙にいこう :2006/03/31(金) 17:36:26
>>203
INDIRECT関数(とOFFSET関数)を使ったほうが楽じゃないかな。
例えば
=SUMIF(INDIRECT(C1),"=ちんこ",OFFSET(INDIRECT(C1),0,1))
と入力して、
セルC1の値が「A1:A10」ならば、
A1:A10 の値が「ちんこ」のものだけのB1:B10の合計を返す。

222名無しさん@そうだ選挙にいこう :2006/03/31(金) 20:12:44
>>208
一つのExcelで実行出来るマクロは、ブックをいくつ開いていても全ブックを通して一つだけ
なのでExcelを二つ立ち上げるか、処理を外部に置くかすれば良い

223名無しさん@そうだ選挙にいこう :2006/03/31(金) 23:05:52
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 列挿入

A列に日付、B列に時間が入力されています。
B列の時間が9:00〜17:30の間なら列挿入なし。
それ以外の時間帯なら列挿入をしたいのですが。
なにかよい方法はありますでしょうか?

224名無しさん@そうだ選挙にいこう :2006/03/31(金) 23:08:03
どなたか、優しい方、>>196に関してアドバイスお願いします。
cを数値化にする方法が分かりません。。。
宜しくお願いします。

225223 :2006/03/31(金) 23:21:09
Dim MxR As Integer
Dim i As Integer
i = 1
MxR = Range("B65536").End(xlUp).Row
Do Until i = MxR
i = i + 1
If 〜〜〜
感覚的にこんな感じになるとは思っているのですが・・・
よろしくです。

226204 :2006/03/31(金) 23:31:19
>>224
Dim c As Range
Set c = Columns("E:E").Find("-")
If Not c Is Nothing Then
Do
rn = c.Row
Rows(rn).Delete
Set c = Columns("E:E").Find("-")
Loop While Not c Is Nothing
End If

でできるみたい。

Dim c As Range
Set c = Columns("E:E").Find("-")
If Not c Is Nothing Then
Do
rn = c.Row
Rows(rn).Delete
Set c = Columns("E:E").Find("-")
Loop While Not c Is Nothing
End If

っていうやりかたもある。
勉強になった。ありがと

227名無しさん@そうだ選挙にいこう :2006/03/31(金) 23:58:44
>>226
ありがとうございました。
簡単にできることでしたが、これがどれだけ調べてもわかりませんでした。
とても勉強になりました。

228名無しさん@そうだ選挙にいこう :2006/03/32(土) 00:13:31
>>226
自己レス
おんなじぢゃん

Dim c As Range
Set c = Columns("E:E").Find("-")
If Not c Is Nothing Then
Do
c.Select
Selection.EntireRow.Delete
Set c = Columns("E:E").Find("-")
Loop While Not c Is Nothing
End If


229206 :2006/03/32(土) 00:38:21
>>222
EXCELを2つ(A.xlsとB.xls)起動しても駄目でした。

230名無しさん@そうだ選挙にいこう :2006/03/32(土) 01:16:14
>>229
CPU使用率余ってるんですか?

231名無しさん@そうだ選挙にいこう :2006/03/32(土) 02:09:31
【1 OSの種類         .】 Windows2K SP4
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 はい
【5 検索キーワード     】 xlend


   | A  B   C
  --+----------------
  1 |番   点  科目
  2 | 1   90  社会
  3 | 2   75  理科
  4 | 3   80  数学
  5 | 4   62  国語
  6 | 5  100  数学

オートフィルダで選択した後、見出し以外の部分を範囲選択したい。
オートフィルダで「数学」を選択→4、6行目を選択
オートフィルダで「社会」を選択→2行目を選択
オートフィルダで「英語」を選択→選択行無し
VBAでは、どう記述すればよいでしょう?


232名無しさん@そうだ選挙にいこう :2006/03/32(土) 05:47:39
229みたいな子って、何故どうダメなのか書かないんだ?

233名無しさん@そうだ選挙にいこう :2006/03/32(土) 11:27:44
>>231
とりあえずフィルダじゃなくてフィルタ(filter)な

234名無しさん@そうだ選挙にいこう :2006/03/32(土) 13:17:25
【1 OSの種類】 Windows XP
【2 Excelのバージョン】 Excel 2002
【3 VBAが使えるか】 可
【4 VBAでの回答の可否】 可

VBAでの質問です。
型が一致しないとエラーが出てしまいますが、
なぜ違うのか分かりません。
どのようにすればよいのでしょうか?

Cells(j, 6)には式が入っており、別の値を参照しています。
Cells(j, 12)、Cells(j, 14)は数値が入ってます。

Cells(j, 16).Value = (Cells(j, 6).Value - Cells(j, 12).Value) / Cells(j, 14).Value

235234 :2006/03/32(土) 13:24:59
234です。

ちなみに、足し算にしてもダメでした。

Cells(j, 16).Value = (Cells(j, 6).Value + Cells(j, 12).Value) / Cells(j, 14).Value

割り算を消してもダメでした。

Cells(j, 16).Value = (Cells(j, 6).Value - Cells(j, 12).Value)

足し算にして割り算を消したらエラーは出なかったです。

Cells(j, 16).Value = (Cells(j, 6).Value + Cells(j, 12).Value)

236名無しさん@そうだ選挙にいこう :2006/03/32(土) 13:48:50
>>235
Cells(j, _)をそれぞれウォッチ式に追加してデバッグウィンドウで型がどうなってるか確認

237名無しさん@そうだ選挙にいこう :2006/03/32(土) 14:02:35
【1 OSの種類】 WindowsXP
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか】 いいえ
【4 VBAでの回答の可否】 否

エクセルで作った表の上下を逆にする方法はありますか?
すみませんが教えてください。

例)上の表を下の表に

   | A  B  
  --+---------
  1 |あ  a
  2 |い  b
  3 |う  c
  4 |え  d
  5 |お  e
  6 |か  f

   | A  B
  --+----------
  6 |か f
  5 |お e
  4 |え d
  3 |う c
  2 |い  b
  1 |あ  a


238名無しさん@そうだ選挙にいこう :2006/03/32(土) 14:04:58
>>227  おらならこーするだ。

  For i = Range("E65535").End(xlUp).Row To 1 Step -1
    If Cells(i, 5) Like "*-*" Then Rows(i).Delete
  Next

239名無しさん@そうだ選挙にいこう :2006/03/32(土) 14:48:15
>>236
この型を変えることはできるのでしょうか?

240名無しさん@そうだ選挙にいこう :2006/03/32(土) 14:53:56
【1 OSの種類】 Windows XP
【2 Excelのバージョン】 Excel 2002
【3 VBAが使えるか】 不可
【4 VBAでの回答の可否】 不可

E列の最大値の数値を検索し、その値の行をコピーして3列にペーストする方法はありますか?
できればリアルタイムが良いのでVBAでないほうがよいのですが
無理ならVBAでも良いです。
教えてください。よろしくお願いします。

241名無しさん@そうだ選挙にいこう :2006/03/32(土) 15:01:36
>>237
降順ソート

>>239
型変換関数とかIf IsEmpty(x) Thenみたいな感じで場合分けとか

>>240
意味がよく分からないがコピーやペーストはワークシート関数ではできない
似たような処理をコピーやペーストを使わずに実現する方法を考えるか
VBA使うしかない
なんにせよ何やりたいのかわからないのでコメントできないが

242名無しさん@そうだ選挙にいこう :2006/03/32(土) 15:10:09
>>241
240です。レスありがとうございます。
コピーペーストはやはりVBAしか無理ですか。

セル範囲(今回はQ列)の中で、最大値がある位置を検索し、その行のB列からP列をコピーし、
別の行にペーストしたいのです。

MAX関数だと値そのものを検索してしまうため、位置を検索することはできませんよね。

このような場合、どのようにすれば最大値の行をコピーペーストできますでしょうか?

243名無しさん@そうだ選挙にいこう :2006/03/32(土) 15:25:20
>241のいうとおり、ソートして上3行をコピー>行列を入れ替えてペースト。
元に戻せるように連番を振っておくこと。

244名無しさん@そうだ選挙にいこう :2006/03/32(土) 15:35:59
>>223  >238と同様。
無効なセルの処理なし。列挿入は行挿入と判断。

  For i = Range("B65535").End(xlUp).Row To 1 Step -1
    If Cells(i, 2) < TimeValue("9:00") Or Cells(i, 2) > TimeValue("17:30") Then Rows(i + 1).Insert shift:=xlDown
Next

245名無しさん@そうだ選挙にいこう :2006/03/32(土) 21:52:23
>>243
レスありがとうございます。>>240です。
返事が遅くなって申し訳ありません。

欲しい行は1行分で良いのです。挿入を上から3行目にしたいとのことです。
書き方がおかしくてすみませんでした。

ソートをすると、処理が重くなってしまいませんか?
一度試しましたが、0.5秒くらい固まりました。

データ自体は1000行くらいあります。

できれば処理を軽く、Q列の最大値の数値を検索し、その行のみをコピーし、別の行に貼り付けたいのです。

MAX関数を検討したのですが、MAX関数だと値そのものを検索してしまうため、位置を検索することができないので
やはりソートして最上位の行をコピペしかないのでしょうか?

246名無しさん@そうだ選挙にいこう :2006/03/32(土) 23:22:23
MAXとMATCHを組み合わせてセル三唱。

247245 :2006/04/02(日) 00:07:34
>>246
以下のように考えましたが、Range を用いるところ(3行目)でエラーが出ます。
このような場合はどうすれば上手くいきますか?
いろいろと試しましたが分からないので教えてください。お願いします。

ma = Application.WorksheetFunction.Max(Range("Q2:Q1000"))
mg = Application.WorksheetFunction.Match(ma, Range("Q2:Q1000"), 0)
Range("B"ma:"P"ma).Select
Selection.Copy


248_ :2006/04/02(日) 00:25:32
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

EXCELからVBAをつかって自分の携帯にメールを送信するのが目標です。
いろいろなサイトを参考にしてテストしましたが
「OUTLOOKのItem.Sendメソッドを使って自動送信しようとしています。」
「はい」、「いいえ」を聞いてきます。

はい、いいえ、のボタンを出させない方法はありますか?
自分はPCの前にいないもので。



249>248 :2006/04/02(日) 00:50:23
あ〜、マクロの含まれない別なbookを送信すればできるかな?
う〜ん、やってみます。

250名無しさん@そうだ選挙にいこう :2006/04/02(日) 01:23:42
>>245
そういう操作はわざわざVBAを使わなくても
 データ→フィルタ→フィルタのオプション設定
で簡単に出来るよ。

251名無しさん@そうだ選挙にいこう :2006/04/02(日) 01:40:20
>>247
MAXとMATCH使えばVBAなんか使わなくてもワークシート関数だけでできるだろ

252名無しさん@そうだ選挙にいこう :2006/04/02(日) 02:23:36
VBAで、値の表示は

Range("A11").Value

ですが、式(式を含む全てでもOK)は、どのように表示できますか?
コピペしようと思うのですが、普通にやると値のみになってしまうので。

253名無しさん@そうだ選挙にいこう :2006/04/02(日) 04:34:18
Excel2000でブックにパスワードをかける方法を教えて頂けないでしょうか?
ブックを開く時にパスワードを入力しないと、開けないようにしたいのです。

よろしくお願いしますm(_ _)m

254253 :2006/04/02(日) 04:37:13
失礼しました。
テンプレに沿って書き直します。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

ブックにパスワードをかける方法を教えて頂けないでしょうか?
ブックを開く時にパスワードを入力しないと、開けないようにしたいのです。

よろしくお願いしますm(_ _)m




255名無しさん@そうだ選挙にいこう :2006/04/02(日) 04:37:43
>>253
ツール→保護→ブックの保護

256253 :2006/04/02(日) 04:39:52
>>255
ありがとうございますm(_ _)m

257名無しさん@そうだ選挙にいこう :2006/04/02(日) 05:32:59
>>252
Formula

258名無しさん@そうだ選挙にいこう :2006/04/02(日) 08:37:21
>>248-249

昔、VBAを悪用して、Outlookのメール送信機能でウィルスやスパムメールを大量送信する
マクロウィルスが多発したので、Outlook のあるバージョンから、マクロや VBA で
Outlookのメール送信を呼び出した時は必ず確認メッセージが表示されるようになりました。

Outlookを呼び出さないCDOやSMTPメール送信を作れば、できます。


259名無しさん@そうだ選挙にいこう :2006/04/02(日) 11:15:04
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 いいえ

どなたかお願いいたします。
A1セルに指定した日付から、二日前の銀行営業日をB1セルに
表示させたいのですが、土・日・祝はカウントしないようにしたいのです。
例えば、
2006/4/2なら2006/3/30
2006/3/22なら2006/3/17
2006/3/23なら2006/3/20
になるようにしたいのですが…

どなたかご教示下さい。よろしくお願いいたします。

260名無しさん@そうだ選挙にいこう :2006/04/02(日) 11:19:54
休日と営業日の表を作ってVLOOKUP等で調べる

261名無しさん@そうだ選挙にいこう :2006/04/02(日) 11:28:23
>>259
WORKDAY


262259 :2006/04/02(日) 11:45:00
>>260
ありがとうございます。これでやってみます。

>>261
ありがとうございます。自分がExcel2003だと思ってたのですが、
Microsoft Office Excelでしたので、WORKDAY関数が見当たりませんでした。

お二方とも即レスありがとうございました。

263名無しさん@そうだ選挙にいこう :2006/04/02(日) 12:33:54
>>260

こんなのは?
http://tool-2.net/?A_A_A


264名無しさん@そうだ選挙にいこう :2006/04/02(日) 14:05:25
入力業務を間違わずに早くできるテクニックやエクセルの機能など
何かありますか?

265名無しさん@そうだ選挙にいこう :2006/04/02(日) 14:46:00
>>264
決算の悪夢(w

例えばどんな入力業務?

266名無しさん@そうだ選挙にいこう :2006/04/02(日) 15:59:16
>>265さま
264です。
違う課の担当になり入力業務が遅く、入力ミスったりと後輩に舌打ちされる日々。。。
列がたくさんあり横長に長いシートの入力です。
目がチカチカします。
おもに数字入力です。単位桁は100万台から1000万まで。
桁間違うと大変なことになります。よい方法ありますか?


267248-249 :2006/04/02(日) 17:31:09
>258
ありがとうございます。
できるだけ簡単なサンプルを探して実装してみます。

268名無しさん@そうだ選挙にいこう :2006/04/02(日) 17:41:44
>>264
>>1に書いてある事すら読めないようじゃ、後輩に舌打ちされるのも仕方無いな。
情報が少なすぎる。
その様子じゃ、テンキーすら使ってないんじゃ?とか
IMEオンの状態で数字を入力してるんじゃ?とか
物凄く基本的な事すら分かってなさそうな気がするんで、どこからアドバイスしてよいか見当が付かない。

269名無しさん@そうだ選挙にいこう :2006/04/02(日) 17:47:46
>>264
ひたすら打ちまくれ!!!

270名無しさん@そうだ選挙にいこう :2006/04/02(日) 20:01:29
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 初心者
【4 VBAでの回答の可否】 お願いします

すいません教えてください。
セルに○があればそのセルの背景色を赤、△なら青という具合に表示したいのですが、
5色に分けたいので、条件付き書式では対応しきれません。
指定した範囲内にあるセルを判定して、色を付けるようなマクロをご教示お願いします。

271名無しさん@そうだ選挙にいこう :2006/04/02(日) 23:12:10
268さま。
見当がつかなくともアドバイスおねがいします。


272名無しさん@そうだ選挙にいこう :2006/04/02(日) 23:19:27
VBAの質問です。

i = Range("B1").End(xlDown).Row + 1

i は B 列の文字のある行の次の行を指す?



273名無しさん@そうだ選挙にいこう :2006/04/02(日) 23:28:36
B列に何も入ってない場合。

274名無しさん@そうだ選挙にいこう :2006/04/02(日) 23:39:50
>>266
>目がチカチカします。
眼科行くか画面が広く画質の良いディスプレイ買ってもらえ。
あるいは「表示→ズーム」で表示倍率変えるとか、見やすいフォントにするとか。
横に長いシートなら「ウィンドウ→ウィンドウ枠の固定」が有効かも。

>おもに数字入力です。単位桁は100万台から1000万まで。
>桁間違うと大変なことになります。よい方法ありますか?
文字と数字が混在してるなら「データ→入力規則→日本語入力」
桁間違いを無くしたいなら「データ→入力規則→設定」
3桁ごとにカンマ入れる設定ぐらいは知ってるよな?
あと、カーソルの右移動にTabを使うとEnterで次の行の最初に戻れるとか
「ツール→オプション→編集→入力後にセルを移動する」を「右」にしとけばEnterで右に移動できるとか
数字の最後が000で終わる事が多いようだったらキーカスタマイズソフトを使って000を適当なキーに割り当てるとか
入力データに規則性があるなら簡単な形で入力しておいて、あとで数式で一括変換する方法を考えるとか

それからテンキーはブラインドタッチ出来るようになっとけ。
0,1,4,7は人差し指、2,5,8は中指、3,6,9は薬指、Enterは小指
(0は親指でもいい)

275名無しさん@そうだ選挙にいこう :2006/04/03(月) 01:50:17
>>272
なんで自分でやって確かめないんだ?

276d :2006/04/03(月) 10:10:16
>>272
>B列に何も入ってない場合
あと、B1だけの場合も例外ですね。^^


277名無しさん@そうだ選挙にいこう :2006/04/03(月) 10:50:24
>272
セルB1を選択して Ctrl+↓ で移動した次の行を表します。

278名無しさん@そうだ選挙にいこう :2006/04/03(月) 12:39:10
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000,2002
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 シリアル値 日付 文字列 数値

エクセルで Today()の書式をddにして 日付 日にちの部分だけ取り出して、ifで何日〜何日まで
というように条件分岐をさせたいのですが、ifではシリアル値を読み取ってしまうようでうまくいきません。
別のセルに TEXT() をつかったりして数値か文字列で出力させようとがんばってみたのですが、ソレもうまくいきません。

良い方法があったらお願いします。

279名無しさん@そうだ選挙にいこう :2006/04/03(月) 12:43:16
>>278
これからもエクセルを使うなら
シリアル値で計算する癖をつけたほうがいいぞ
応用が利かない人になるから・・・

280名無しさん@そうだ選挙にいこう :2006/04/03(月) 12:46:26
>>278
> うまくいきません。
> ソレもうまくいきません。

>>2
> ▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
> ・8 うまくいかなかったにしても自分でやってみたこと(組んだ数式やコード)は書きましょう。
>   例えエラーになる式やコードでも、何をやりたいのかを的確に把握する手がかりになります。
>   その上で、どううまくいかないのかを具体的に書きましょう。
>   エラーが出るなら、何処でどういうエラーが出るのか、
>   想定外の結果が出るなら、条件と想定上の結果、実際の結果などを詳しく書いてください。


281名無しさん@そうだ選挙にいこう :2006/04/03(月) 13:17:07
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 基数変換 16進数 分析ツール microsoft マイクロソフト ダウンロード


ワークシート上で10進数→16進数の基数変換を行いたい。
しかし、分析ツールをインストールする為のディスクを所持していない為に、DEC2HEX関数を利用できない。
どうしたらよいのだろうか。

282名無しさん@そうだ選挙にいこう :2006/04/03(月) 13:23:15
正規版のOffice買うとか
自分で計算式作るとか
いくらでもやりようあるじゃない

283名無しさん@そうだ選挙にいこう :2006/04/03(月) 13:30:07
(イ)のように数字と人名が飛び飛び(飛び方は不規則)に並んでいます。
これを(ロ)のようにするにはどうすればよいでしょうか。
宜しくお願いします。

(イ)
1  伊藤
2  黒田
3  山縣
5  伊藤
6  松方
11 桂
12 西園寺
:  :

(ロ)
1  伊藤
2  黒田
3  山縣
4
5  伊藤
6  松方
7
8
9
10
11 桂
12 西園寺
:  :

284名無しさん@そうだ選挙にいこう :2006/04/03(月) 13:31:25
すみません、忘れてました 283です
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 順列 補完 数字

285名無しさん@そうだ選挙にいこう :2006/04/03(月) 13:32:29
>>283
照準

286名無しさん@そうだ選挙にいこう :2006/04/03(月) 13:34:45
>>283
(ロ)
  A B
1 1 =VLOOKUP(A1,(イ)!A1:B65535,2,FALSE)
2 2 =VLOOKUP(A2,(イ)!A1:B65535,2,FALSE)

以下略な感じで

287名無しさん@そうだ選挙にいこう :2006/04/03(月) 13:36:23
というか(イ)に抜けてる数字全部追加して並べ替えした方が早そうだな

288名無しさん@そうだ選挙にいこう :2006/04/03(月) 13:38:15
【1 OSの種類】 Windows XP
【2 Excelのバージョン】 Excel 2003
【3 VBAが使えるか】 不可
【4 VBAでの回答の可否】 不可

日付  収入    出費   損益
3月1日 8000円  2500円  5500円
3月2日 12000円 10000円 2000円
3月3日 4500円  5000円  (-)500円
・・・   ・・・    ・・・     ・・・
というようなデータを選択してピポットテーブルを作ると、必ず「空白」というデータが作られてしまいます。
今のところこれを非表示にしていますが、「空白」というデータが作られないような対処方法を
教えてください。

289名無しさん@そうだ選挙にいこう :2006/04/03(月) 13:43:50
>>285
昇順 ・・・の事でしょうか?
すみません、よくわかりません。

>>286
そのようにしたところうまく出来ました。
ありがとうございました。

>>287
全部で1000件近くあるので、一つずつ調べていくと時間がかかってしまうんです。

290278 :2006/04/03(月) 14:20:53
A1 =Today() 書式[dd] 表示[03]

=if(A1=01,A,if(A1=02,B,if(A1=03,C,・・・)))))))

このようにしてみましたがうまくいきませんでした。

=text(A1,00)
とやってもシリアル値 が出力されてしまします。

日付として出力はさせられないのでしょうか。

291名無しさん@そうだ選挙にいこう :2006/04/03(月) 14:31:32
エクセルのコピー&ペーストでお聞きしたいのですが、
「表示させない」にしているセルがあるシートに
ペーストすると表示されてないセルにもペーストされます。

「表示しない」 指示のままペーストするのは不可能なのでしょうか?


a,b,c,dがコピーしたい文字で、1.2.3.4は列
コピー元
1 a
2 b
3 c
4 d


コピー先
1 a               
3 b
5 c
7 d

となるように貼り付けたいのですが・・・

よろしくお願い致します。

292名無しさん@そうだ選挙にいこう :2006/04/03(月) 14:50:58
>290
=day(today())

293名無しさん@そうだ選挙にいこう :2006/04/03(月) 15:27:39
>>291
1行おきに貼り付けたいって事?
バージョンは?
VBAでもいいの?

294名無しさん@そうだ選挙にいこう :2006/04/03(月) 15:31:37
> バージョンは?
> VBAでもいいの?
そういうのを書かなかった奴には「教えたがり厨」以外答えない決まり>>3★4

295291 :2006/04/03(月) 15:43:30
スミマセン。。。

【1 OSの種類】 Windows XP
【2 Excelのバージョン】 Excel 2000
【3 VBAが使えるか】 不可
【4 VBAでの回答の可否】 不可


>>293
1行おきではなくランダムで中には2行おきも有ります。


よろしくお願い致します。


296名無しさん@そうだ選挙にいこう :2006/04/03(月) 15:46:43
>>3
指摘されてから書き直しても、その質問にはまともな回答が付かないと思ってください。

つまり
>>294

297名無しさん@そうだ選挙にいこう :2006/04/03(月) 16:21:51
ウザ

298名無しさん@そうだ選挙にいこう :2006/04/03(月) 16:23:24
>>295
可視セルのみ選択してコピーしてから貼り付ければいいんじゃない?

299名無しさん@そうだ選挙にいこう :2006/04/03(月) 16:36:29
>>296
おまいはうせろ

300名無しさん@そうだ選挙にいこう :2006/04/03(月) 16:36:54
ほんとウザいよね、言われなくても書くべき程度の情報も出さない糞質問者


301名無しさん@そうだ選挙にいこう :2006/04/03(月) 16:53:20
>>296は過去に言われたことを根に持ってる馬鹿
>>297は誤爆
>>298は教えたがり厨
>>299は空気を読めない自治厨
>>300は俺が取りたかった

302名無しさん@そうだ選挙にいこう :2006/04/03(月) 16:53:52
質問者に糞はいない、分らないんだから。
回答者も時には質問者
ルール、ルールと言い出してから
変なヤツが住み着いちゃったな


303名無しさん@そうだ選挙にいこう :2006/04/03(月) 17:09:45
>>281
>分析ツールをインストールする為のディスクを所持していない為に
なんで?
正当な理由があるなら教えるけど・・・

304名無しさん@そうだ選挙にいこう :2006/04/03(月) 17:10:07
> 質問者に糞はいない、分らないんだから。
ハズレ
そういう意味で糞だと言ってる奴は一人も居ない。
無知を責めるようなルールも無い。

305名無しさん@そうだ選挙にいこう :2006/04/03(月) 17:12:31
見てる人間はピンからキリまでいるんじゃないの

306名無しさん@そうだ選挙にいこう :2006/04/03(月) 17:38:58
>>295
連続した範囲を不連続の範囲にコピペすると
それぞれに連続したデータがペーストされてしまう。
また不連続の範囲から不連続の範囲にはコピペできない。
つまり基本的には出来ないのだが、回りくどい方法でやれなくもない。

コピー元を A1:A5、コピー先を A11:A20 とし、その内5行が非表示とする。

1.B列に目印の○を付ける
   B11:B20を選択→Alt+「;」→B11に「○」を入力 Ctrl+Enter
2.C列に予備の計算式を入れる
   C10 に -1、C11に =IF(B11="○",C10 + 1,C10)、C11をC20までオートフィル
3.A列に求める計算式を入れる
   A11 に =IF(B11="○",OFFSET(A$1:A$5,C11,0,1,1),"")、A20までオートフィル

307223 :2006/04/03(月) 18:08:37
A列に時間が連続ではいっています。
以下のコードは8時台、9時台と一時間区切りで行を挿入しています。
これを応用して9:00〜17:30の時間以外なら行を挿入したいのですが
どうしたらよいでしょうか?
Sub RinsHr()
Dim MxR As Integer
Dim i As Integer
i = 1
MxR = Range("A65536").End(xlUp).Row
Do Until i = MxR
i = i + 1
If Hour(Cells(i, 1).Value) <> Hour(Cells(i + 1, 1).Value) Then
i = i + 1
Rows(i).Insert
Cells(i, 1).Value = Hour(Cells(i - 1, 1).Value) & "時台"
MxR = MxR + 1
End If
Loop
End Sub


308名無しさん@そうだ選挙にいこう :2006/04/03(月) 19:14:36
>>307
一時間区切りを生かしたままさらに9:00〜17:30の時間以外の条件を
追加したいならANDで追加。
「9:00〜17:30の時間以外」に条件を置き換えるなら条件の部分をそのまま入替え。

309名無しさん@そうだ選挙にいこう :2006/04/03(月) 19:18:38
>>307
回答をスルーして又質問か。失敬な奴だ。

310名無しさん@そうだ選挙にいこう :2006/04/03(月) 19:45:48
エクセルで数式エディタみたいな機能はありますか?


311名無しさん@そうだ選挙にいこう :2006/04/03(月) 19:47:39
2003になってからイルカ君は消えてしまったようですね・・・

312223 :2006/04/03(月) 20:13:30
>>308
具体的にどのように記述すればよろしいでしょうか?
条件は「9:00〜17:30の時間以外」に書き換えです。

313名無しさん@そうだ選挙にいこう :2006/04/03(月) 20:43:41
>>310
数式エディタでだめな理由は?

314名無しさん@そうだ選挙にいこう :2006/04/03(月) 20:54:29
数式エディタで書いた数式を数式バーにコピペしても数式に変換されないあたりがダメ

315名無しさん@そうだ選挙にいこう :2006/04/03(月) 21:08:47
>>313
ワードからコピーして貼り付けですか?

316名無しさん@そうだ選挙にいこう :2006/04/03(月) 21:27:36
今wordを開いてみたら数式エディタをインストールできないんですけど・・・
なぜでしょう・・・?

317名無しさん@そうだ選挙にいこう :2006/04/03(月) 22:02:37
>>314
後出しいくない

318278 :2006/04/03(月) 22:59:41
>292
ありがとうございますっ!

319名無しさん@そうだ選挙にいこう :2006/04/03(月) 23:12:19
>>312
条件については
Cells(i, 1) < TimeValue("9:00") Or Cells(i, 1) > TimeValue("17:30")

ただ、置き換えただけでは希望するものとはちょっと違うような気もするが。

320名無しさん@そうだ選挙にいこう :2006/04/04(火) 00:17:34
>319
前すれ嫁。

321名無しさん@そうだ選挙にいこう :2006/04/04(火) 10:09:36
Excel2002を使用しています。
A1セルをロックして値を変更させない&フォーカスを移させない状態にしたまま、
VBAからの値変更のみ許可するにはどうしたら良いのでしょう?

322名無しさん@そうだ選挙にいこう :2006/04/04(火) 10:19:22
>>321
>>1読んで出直して来い。

323名無しさん@そうだ選挙にいこう :2006/04/04(火) 10:24:27
>>321
不可能

セルをロックしてシートを保護し、VBAから値の変更をする場合は
「保護解除」→「値の変更」→「再保護」とやるのがセオリー
保護を解除しなくてもVBAからは変更出来るようにするなんて設定は無いし
そんなものがあったら保護の意味が無くなる

>>1にある必須項目の1と3が書かれてないので、VBAは使えると勝手に判断し具体的なコードは伏せる
まあ、VBA初心者でもマクロの記録で録れるから問題ないだろうし

324名無しさん@そうだ選挙にいこう :2006/04/04(火) 10:33:01
>>321
こんなかな?詳しくはヘルプで調べてみて

Cells.Locked = False 'いったん全体のロックを解除
Range("A1").Locked = True 'A1だけロック
ActiveSheet.EnableSelection = xlUnlockedCells '保護した際にロックしたセルは選択もできなくする
ActiveSheet.Protect UserInterfaceOnly:=True 'マクロからの変更は許可して保護

325名無しさん@そうだ選挙にいこう :2006/04/04(火) 10:36:18
あれ?2002ってprotectの引数UserInterfaceOnlyって無かったっけな?
調べてみてなかったら諦めてね。

326名無しさん@そうだ選挙にいこう :2006/04/04(火) 11:26:08
【1 OSの種類         .】 WindowsXP SP2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

セルの四隅のうち任意の箇所に点を打ちたいのですが可能でしょうか?

327名無しさん@そうだ選挙にいこう :2006/04/04(火) 11:39:50
質問テンプレは「出来れば使ってね」であって必須ではないよな?

328名無しさん@そうだ選挙にいこう :2006/04/04(火) 11:41:12
テンプレ厨の脳内セオリーのクォリティ高いなwwwwwwwww
「不可能」ってwwww

329名無しさん@そうだ選挙にいこう :2006/04/04(火) 11:48:13
>326
点ってなに?

330326 :2006/04/04(火) 13:04:59

↑のような普通の黒い点です。
間隔が分かるようにする為に打ちたいのですが・・・

331d :2006/04/04(火) 13:15:02
>>325
>あれ?2002ってprotectの引数UserInterfaceOnlyって無かったっけな?
97でもありますよ。^^


332名無しさん@そうだ選挙にいこう :2006/04/04(火) 15:32:09
326
・を入力、セルの書式設定[文字の配置]で好きなように設定すれば!
それとも何かい、隅っこにマークをつけたいってんなら話は別だ。
おめーの気持ちは、おいらにゃわからねーな

333名無しさん@そうだ選挙にいこう :2006/04/04(火) 15:41:42
>>327
テンプレはそうだけど
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
こっちはダメ

334名無しさん@そうだ選挙にいこう :2006/04/04(火) 15:50:26
> 【1 OSの種類         .】
> 【2 Excelのバージョン   】
> 【3 VBAが使えるか    .】
> 【4 VBAでの回答の可否】
> 【5 検索キーワード     】

は使わなくてもいいけど、

> OSの種類
> Excelのバージョン
> VBAが使えるか
> VBAでの回答の可否

は書かなくちゃだめ。
エクセルの知識が無くても常識があれば、
この程度は言われなくても書く物だけどね。

335名無しさん@そうだ選挙にいこう :2006/04/04(火) 16:01:41
VBAは常識の範疇じゃないだろ。
>>1を見れば分かる事だが「言われなくても」「常識があれば」書けるような物ではない。

336sage :2006/04/04(火) 16:01:46
>>334
テメーの狭い見識で常識なんて言葉使うんじゃネエ

337名無しさん@そうだ選挙にいこう :2006/04/04(火) 16:07:04
VBAの存在を知っていて常識があれば書くもの。
存在すら知らない場合は書けないが、その為の配慮は別にあるし。(>>1※)

338名無しさん@そうだ選挙にいこう :2006/04/04(火) 17:13:16
テンプレすら読まない人は
ヘルプも見てないだろうから答えたくない

339名無しさん@そうだ選挙にいこう :2006/04/04(火) 17:19:09
答えたくないと声高に叫ぶ人ってこのスレに何を求めてるんだろうか。
テンプレに従った模範的な質問と優れた回答でスレが埋め尽くされると気分がいいんだろうか。
よく分かんね。

340名無しさん@そうだ選挙にいこう :2006/04/04(火) 17:21:21
テンプレとかはどうでもいいから馬鹿が自信満々で嘘回答するのはやめてくれ

341名無しさん@そうだ選挙にいこう :2006/04/04(火) 17:36:04
ここは2ちゃんなんだし
好きにすればいいよ

342俺もだけどな :2006/04/04(火) 17:38:55
雑談・議論スレがあるのにここで雑談や議論をしてる奴は
テンプレ読まずに質問する馬鹿と五十歩百歩

343名無しさん@そうだ選挙にいこう :2006/04/04(火) 18:18:58
五十歩百歩の使い方が間違ってるw

344名無しさん@そうだ選挙にいこう :2006/04/04(火) 19:59:11
【1 OSの種類         .】 Windows95
【2 Excelのバージョン   】 Excel97
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 VBA 文字 移動

セルA1の中ににKJHGUと文字があって
この文字を左に3回転する(HGUKJになる)ようなVBAはありますか

345名無しさん@そうだ選挙にいこう :2006/04/04(火) 20:18:24
ありますか、とはExcelのソフトウェアの中に含まれていますか、ということですか?
それならば答えは「ありません」

346344 :2006/04/04(火) 20:22:26
VBA関数はありますか。でした。作らないといけないのでしょうか

347名無しさん@そうだ選挙にいこう :2006/04/04(火) 20:58:10
作らないといけませんね。

348名無しさん@そうだ選挙にいこう :2006/04/04(火) 21:03:18
VBAにおいて"関数(Functionプロシージャ)"とは作るものですが、何か?
"組み込み関数"といういきなり使える関数もあるけど、
これは本当に基本的な機能しか持ち合わせていない。
関数とは、その組み込み関数やステートメント等を使って作っていくもの。
自分で作るからこそ、かゆいところに手が届く関数が作れる、それがVBAですよ。

349名無しさん@そうだ選挙にいこう :2006/04/04(火) 21:16:28
コードは書かないが聞いてもいない能書きは垂れ流すんだな(ワラ

350名無しさん@そうだ選挙にいこう :2006/04/04(火) 21:35:25
だって●なんだもん(藁

351名無しさん@そうだ選挙にいこう :2006/04/04(火) 22:01:49
能書き以下が能書きを罵倒w

352名無しさん@そうだ選挙にいこう :2006/04/04(火) 22:17:54
VBAが使えないって書いてるのにVBA回答可にしてる人の気持ちが理解できん。

353名無しさん@そうだ選挙にいこう :2006/04/04(火) 22:33:36
コピペすればすぐ使えると思ってるんじゃないか。

354名無しさん@そうだ選挙にいこう :2006/04/04(火) 22:43:42
>>344はちょっと複雑な事はとにかくVBAというものを使う必要がある、みたいに考えてるのかな。
まあ、このスレではVBAが頻繁に登場するからそう思ってしまいがちなのも分からんでもない。
ちなみに>>344程度の事はVBA使わなくてもちょっとした数式で簡単に出来るよ。

355344 :2006/04/05(水) 04:48:43
今回のようなコードが書けないので、使えないと書きました
VBAを使わずにできるのですね。探してみます

356344 :2006/04/05(水) 07:11:47
数式を探したのですが、該当するものはないように思った
どちらにしても作らないといけないですか?

357名無しさん@そうだ選挙にいこう :2006/04/05(水) 07:33:07
>>356
少しは頭使おうよ…

この式でどうだ。
=RIGHT(A1,3) & LEFT(A1,LEN(A1)-3)
2つある3を変えれば回転位置を変えられる

358名無しさん@そうだ選挙にいこう :2006/04/05(水) 08:04:53
その式は回転数が文字数未満という条件でしか使えないけどね。
例ではこの条件通り(回転3<文字数5)だけど、毎回この条件が当てはまるとは
何処にも書いてないので、「回転数が文字数未満なら」と付け加えなくては
回答として不適切と言わざるを得ない。
この条件が当てはまるならこのままでいいけど、当てはまらない場合もあるなら
同じくLEFT、LEN、RIGHT(またはMID)で1文字ずつ移動しなきゃならない。

359344 :2006/04/05(水) 08:07:39
uzee-

360名無しさん@そうだ選挙にいこう :2006/04/05(水) 08:31:07
どこの世界も馬鹿は間違えるのが怖いから過剰に厳密な回答を好むな
お前の頭の程度なんて誰も興味ねーから

361名無しさん@そうだ選挙にいこう :2006/04/05(水) 08:32:54
回転数が文字数未満なら、こうなるんじゃない?
abcdefgがcdefgabになる例: =RIGHT(A1,LEN(A1)-2)&LEFT(A1,2)
回転数が文字数以上ならMODと組み合わせればいいだろう。


362名無しさん@そうだ選挙にいこう :2006/04/05(水) 08:37:34
>361
ヒント:汎用性 再利性

363357 :2006/04/05(水) 08:52:49
>>362
>>349見ろよ。肝心の解決策は説明できなけりゃ頭よく見せたいだけのバカ

364357 :2006/04/05(水) 08:55:26
文字数まで考慮したけりゃ次の式でいいだろ。
回転数が固定で文字数がそれ以下なら、回転はb必要ないと思うんだが
=IF(LEN(A1)>3, RIGHT(A1,3) & LEFT(A1,LEN(A1)-3), A1)

365361 :2006/04/05(水) 09:08:15
>>362
何か勘違いしてない?
MODと組合せりゃいいって書いてるだろ?
俺のは4文字だろうが、5文字だろうが、10文字だろうが2の部分を変えるだけだぞ?
>>357とは解釈が異なるみたいだが。



366361 :2006/04/05(水) 09:11:38
>>362は2の部分を一つの引数にしろって言ってるのか?
だったらユーザー定義関数にするしかないわな。

367名無しさん@そうだ選挙にいこう :2006/04/05(水) 09:29:50
>365
尾前さんが勿体振ってることは
頭の悪い俺に通じてないので
MOD使った式書いてみせてくれ

368365じゃないが :2006/04/05(水) 09:50:53
例えば回転数がB1に入力されてるとしたら
=RIGHT(A1,MOD(B1,LEN(A1)) & LEFT(A1,LEN(A1)-MOD(B1,LEN(A1))
でいいんじゃね?

つーかそもそも質問に条件が書かれて無いんだから
「あらゆる場合を考慮した回答でないと不適切」
なんて事は無いだろ。エスパーじゃねーんだから。

369名無しさん@そうだ選挙にいこう :2006/04/05(水) 10:08:54
>質問に条件が書かれて無いんだから
そういう質問は突き返すなり、条件を聞き出すなりすれば良いだけ。
あえて条件が不明瞭なままの質問に回答したいという物好きなら
出されている条件だけを頼りに想定できる全ての状況を考慮になくちゃダメ。
それが出来ないなら条件が確定されるまで黙ってるか、進んで条件を聞き出せば良い。

エスパーと思慮深い物好きのみが許される「曖昧な質問への条件聞き出し無しでの回答」をしておいて
エスパーじゃないだのそこまで考慮出来ないだのはナンセンス。

370名無しさん@そうだ選挙にいこう :2006/04/05(水) 10:15:13
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 ウインドウ枠の固定 見出し固定 テーブル ヘッダ フッタ

ウインドウ枠の固定のように、スクロールしても最下段の集計行を
画面内に表示したいのですが可能でしょうか?


371名無しさん@そうだ選挙にいこう :2006/04/05(水) 10:27:35
>>369
なるほど、>>1以下をよく読んだらこう書いてあるな。
>★4 質問ルールを守ってない質問者に、ルール指摘をするかどうかは勝手ですが、
>   そういう質問者への回答はしないようにしてください。「教えたがり厨」なら仕方ありませんが・・・。

だが、「全ての状況を考慮した回答ならよい」とはどこにも書いてないんだが?
お前がそう考える理由を聞きたいね。

372名無しさん@そうだ選挙にいこう :2006/04/05(水) 10:32:59
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 マクロ

とあるCSVファイルを変換するためのマクロを作っていて質問であります。

例えばAのセルの85行目まで数字の入力値が入っていた場合には
B列の85行目まで自動的に2005年と入力するというマクロ?はどうやれば良いでしょうか?
今は手動で1行目に2005年と入れてそれをコピペしています。
B列以外にも同じようにC列、D列などもコピペする必要があるので自動化出来れば良いなと思っているのですが。

どうぞよろしくお願いします。


373TEIOU :2006/04/05(水) 10:37:24
>>370
1)集計行を選択、コピー
2)集計行を表示させたい場所(セル)を選択
  ※ウィンドウ枠を固定して上部に置くなど
3)Shiftキーを押しながら〔編集〕、〔図のリンク貼付け〕
4)印刷はせずに見るだけなら、〔図の書式設定〕-〔プロパティ〕で
  □オブジェクトの印刷 のチェックを外す

これで、集計行が常に表示されます。
行数を変えてもちゃんと反映されるようです。(確認済み)

374名無しさん@そうだ選挙にいこう :2006/04/05(水) 10:44:28
>>372
マクロ使わなくても数式で出来るよ。
=IF(ISNUMBER(A1),"2005年","")
みたいな感じで。

375名無しさん@そうだ選挙にいこう :2006/04/05(水) 10:51:41
>>374
でもそれだと、いちいちセルに入力しなければならないから、
1行目にデータを入れてコピペするのと同じ程度の手間になってしまいませんか?

376名無しさん@そうだ選挙にいこう :2006/04/05(水) 10:57:06
答えようと思わないけど、知っているマクロの知識を答えれば回答がもらえるんじゃね?
マクロを少し知ると簡単な操作だよ、マクロな人からすれば

377名無しさん@そうだ選挙にいこう :2006/04/05(水) 10:57:33
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】それすらもわかりません。

いろいろ関数は検索したのですが、どうしてもわからないので教えてください。

たとえば何かの大会があって1位の人に20点あげたい場合などどうす
ればよいのでしょうか?RANKを使って順位を出して、自動的に点数がでるように
したいのです。可能でしょうか?

378名無しさん@そうだ選挙にいこう :2006/04/05(水) 11:06:35
>>372
いちいちコピー&ペーストなんかしなくてもマウスのドラッグだけでできる
あまりにも基本機能なので、入門書の最初の章あたりの
「Excelの操作の仕方」でもよみなせい

379名無しさん@そうだ選挙にいこう :2006/04/05(水) 11:06:52
>>377
IF関数は調べてみた?
1位だけに20点あげたいならこんな感じで。
=IF(RANK(〜)=1,20,0)
1位に20点、2位に10点、3位に5点、・・・みたいにしたければCHOOSEを使うといい。

380名無しさん@そうだ選挙にいこう :2006/04/05(水) 11:08:43
>>379
IF関数は調べてません。初心者なものですみません。
全員に点をあげたいのでCHOOSEを試してみます!
ありがとうございました!

381名無しさん@そうだ選挙にいこう :2006/04/05(水) 11:09:20
>>377
可能ですよ
=IF(RANK(A1,A:A),20,0)

382名無しさん@そうだ選挙にいこう :2006/04/05(水) 11:15:49
>>378
マウスのドラッグだけだと、2005年、2006年、2007年とかになるしorz

383名無しさん@そうだ選挙にいこう :2006/04/05(水) 11:17:46
おお。CTRLを押しながらドラックすれば2005年のままドラック出来るのな。
でもそれでも複数列を同時には無理だよね?

384名無しさん@そうだ選挙にいこう :2006/04/05(水) 11:19:23
>>375
「A列には数値データが入っていたり入っていなかったりする。
入ってる場合は同じ行のB列に2005年と表示する」
という風に質問を解釈したんだけど、違うのかな?

「A1からA85までの全てのセルに数値が入っていたら
B1からB85までの全てのセルに2005年と表示する」
という事?

385名無しさん@そうだ選挙にいこう :2006/04/05(水) 11:22:02
>>383
B1〜D1セルを選択してD1セルの右下あたりを下方向にぐりぐりドラッグすれば
複数列同時にできるだろ

386375 :2006/04/05(水) 11:26:01
>>384
A列には必ず数字が入ることになります。

とあるソフトでCSVファイルをインポートする際に、例えばB列が空欄になるとエラー表示になって読み込めなくなるので、
そのB列(年の列)に2005年と入れたり、C列(月の列)に月数を入れたりする必要があるのです。
月数は数字から判断出来ないので手で入力しますが。



387375 :2006/04/05(水) 11:30:01
>>385

B列とE列だけコピペしたい、C、D列はやりたくないという時はどうしたら良いですかね?
CTRLで複数列は選択出来るけど、更に任意の列のみコピペするという方法が分からないっす。


388名無しさん@そうだ選挙にいこう :2006/04/05(水) 11:40:26
>>373
ありがとうございました、できました。

389名無しさん@そうだ選挙にいこう :2006/04/05(水) 11:40:30
>>387
VBAは不可って事は、マクロの記録と再生でやりたいって事だよね?
1.B列とE列に文字を入力
2.B1をコピー、B1〜B?に貼り付け
3.E1をコピー、E2〜E?に貼り付け
って操作を記録すればいいと思う。
カーソルをA列に移動してCtrl+↓でA列で数値が入ってる最後の行に飛べるから、
貼り付ける範囲も指定出来るはず。

390375 :2006/04/05(水) 11:45:11
>>389
すんません。VBAの可否の意味が「昔ベーシックとかやってたりビジュアルベーシックとかの知識のある人」と思っていたので
そういうのは無いですよー。という意味で書きました。
マクロとVBAは同義ないし一部同義なんですかね。

今は、変換用のエクセルファイルを1つ作って、そこに
「読み込み用マクロ」とか登録しています。
とりあえず、家に帰ってVBAマクロの本をもう一度読み返して勉強してみます。
また分からなかったら質問させてもらいます。
ありがとうございました。

391訂正 :2006/04/05(水) 11:47:24
>>389
× 1.B列とE列に文字を入力
○ 2.B1とE1に文字を入力

392名無しさん@そうだ選挙にいこう :2006/04/05(水) 11:54:12
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】連番 図表番号

報告書を作成していているのですが、
図-2.2.1 構造図1参照
図-2.2.2 構造図3参照
図-2.2.3 構造図4参照
のように文書内に参照する表番号,図番号が頻繁にでてきます。
図-2.2.1と図-2.2.2の間に
図-2.2.2 構造図2 を差し込めば、以下の図-2.2.2が図-2.2.3に
図-2.2.3が図-2.2.4に自動的に変わる機能はないのでしょうか?
一太郎の連番機能、wordの図表番号機能をイメージしています。



393名無しさん@そうだ選挙にいこう :2006/04/05(水) 11:58:23
>>372 はCSVをA列に読み込んだ時に
B列に"2005"を書き込むんじゃないのか。
ドラッグだ何だは見当はずれだろ。
しかし、

>【4 VBAでの回答の可否】 否
> 、、、というマクロ?はどうやれば良いでしょうか?

う〜ん、どうやって答えたもんかのう。

394375 :2006/04/05(水) 12:00:57
>>393
【4 VBAでの回答の可否】 否 →→→ おKカモンエブリボディ
というマクロ?はどうやれば良いでしょうか?

に変更します


395名無しさん@そうだ選挙にいこう :2006/04/05(水) 12:01:53
>>394
表示形式を「"図-"0.0.0」にしてA1に「2.21」入れて「=A1+0.01」とか

396名無しさん@そうだ選挙にいこう :2006/04/05(水) 12:54:50
【1 OSの種類         .】 Windows XP SP2
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel タイトル セルから

グラフタイトルにセルの文字列を使いたいので上の検索キーワードでググったところ、
適当なサイトが見つかりました。そこには、
『グラフタイトルのテキストボックスを選択し、「数式バー」に対象セルへの参照式を入力する。』
と書かれていました。この通りにすることで、セルの文字列をグラフタイトルに入れることは出来ました。

ここで質問なのですが、
F1に ***(数値)
F2に [kΩ]の抵抗で測定
と入力し、グラフタイトルに 『***[kΩ]の抵抗で測定』と入れたい場合には、どのように入力すれば良いのでしょうか?
F2の文章は変更しないので、セルに入れなくても実現出来るのであればそちらでお願いします。

397375 :2006/04/05(水) 13:05:10
>>389
ああ、改めて読んだら
「Ctrl+↓」で最終行に飛べることが分かったんで、これを利用すれば出来そうですね。
ありがとうございました。

398375 :2006/04/05(水) 13:51:28
本を読んでも無理っぽいっすorz

自分の出来る範囲は
>>389さんの言う
「VBAは不可って事は、マクロの記録と再生でやりたいって事だよね?」で間違いないことが分かりましたorz

>2.B1をコピー、B1〜B?に貼り付け

この最終行である「B?」が何行目であるかを知るにはどうしたら良いんでしょうか?
最終行をCTRL+↓で記録したマクロの内容はSelection.End(xlDown).Selectでしたが。

コピペするだけのマクロは、仮に8行目まで数字が入っているとすると

Range("B1").Select
Selection.Copy
Range("B2:B8").Select
ActiveSheet.Paste

のようです。
上記のB8の部分に「最終行」となるような代数?を入れてやれば良いんでしょうけど。

399名無しさん@そうだ選挙にいこう :2006/04/05(水) 14:01:28
>>398
VBAは置いといて、次のようにキーボードから操作してみて。

まずB1を選択
コピー

CTRL+↓

CTRL+SHIFT+↑
貼り付け

これでB1をB列の最終行までコピペ出来るっしょ?(E列も同様に)

400375 :2006/04/05(水) 14:31:57
>>399
何度も?
dクス

今やってみたんだけど、確かにその方法で上手く記録されたかのように見えるんだけど、
実際にそのマクロを実行してみると、
その記録した時の行数分だけコピペになって、必ずしも最終行を判定しているわけでは無いみたいなんですよね。。。

401375 :2006/04/05(水) 14:35:00
つまり、マクロ記録時に23行の数値が入っていたならば、
マクロ実行時に14行の数値しか入っていないとしても23行分のデータが書き込まれてしまうんですよね。

ただ、某ソフトでCSVファイルをインポートする際に、未完全な行はインポートされないわけだから、
コピペで指定する最終行はある程度余裕を持った大きな数字を適当に入れておけば良いだけかな。

402TEIOU :2006/04/05(水) 14:49:57
>>398
私が実際に使っているマクロです。
コピペしたい列の1行目(B1、C1…)を選択した状態でマクロを実行してみて下さい。

Sub コピペ()
  myrow = Application.WorksheetFunction.CountA(Range("A:A"))
  mycolumn = ActiveCell.Column
  ActiveCell.Copy
  Range(Cells(2, mycolumn), Cells(myrow, mycolumn)).Select
  ActiveSheet.Paste
  Application.CutCopyMode = False
End Sub

403375 :2006/04/05(水) 15:00:22
>>402
おおおおおお。キターーーー。
ありがとう。上手くいきました。

404名無しさん@そうだ選挙にいこう[ :2006/04/05(水) 15:15:27
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003 SP2
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】excel vba 行 コピー xlLastCell
1回分が15行単位のデータがあります。

5行目まではヘッダ部分なのでコピーしません。
(最初のデータは6行目から20行目となります)

ボタンを押すと21行目に1回分のデータをコピーします。
このときセルの値はコピーしませんが
書式(色など)、計算式、ロックされているセル(計算式が入っている部分など)
はロックされた状態でコピーしたいです。

2回目に押すと36行目、3回目は51行目・・・
という具合にコピーしたいです。
どうしたらよいでしょうか?



405TEIOU :2006/04/05(水) 15:41:27
>>404
そういう場合は、何も入力していないコピー元の用意をお勧めします。
私の場合、6行目〜20行目をコピー元とし、非表示にしています。
そして、ページ数のみを表示させる列も用意します。(印刷範囲外でも可)
例えば、お使いのデータがF列まであったとしましょう。
G列にページ数を表示させる数式を入れます。この場合、
=IF(MOD(ROW(),15)<>6,0,(ROW()-6)/15) です。これを使って
『次に追加するのが何ページ目なのか』を判別します。

Sub ページ追加()
  mypage = Application.WorksheetFunction.Max(Range("G:G")) * 15 + 21
  Range("A6:G20").Copy
  Range("A" & mypage).Select
  ActiveSheet.Paste
  Application.CutCopyMode = False
End Sub

この場合、全ての行の高さが同じでないと上手くいきません。
Rows("6:20").Copy とすると、行の高さも反映されますが
コピー元を非表示にしておけないんですよね…

406名無しさん@そうだ選挙にいこう :2006/04/05(水) 16:54:44
TEIOUもちゃんとインデント出来るようになったんだね。関心関心。
次は
>   ActiveCell.Copy
>   Range(Cells(2, mycolumn), Cells(myrow, mycolumn)).Select
>   ActiveSheet.Paste
>   Application.CutCopyMode = False

>   Range("A6:G20").Copy
>   Range("A" & mypage).Select
>   ActiveSheet.Paste
>   Application.CutCopyMode = False
をそれぞれ1行にまとめてみようか。

407名無しさん@そうだ選挙にいこう :2006/04/05(水) 18:06:15
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Googleやヘルプでの検索キーワード エクセル 条件 色を

B1:E30に1から100までの整数がランダムに入っているとします
A列に1以上の数値が入っていたらその行に入っている数値と同じ数値が入っているセルの色を変えるにはどうすればいいでしょうか?


408名無しさん@そうだ選挙にいこう :2006/04/05(水) 18:16:45
>>407
条件付き書式で「次の値に等しい」「=$A1」などしておけばいい

409TEIOU :2006/04/05(水) 18:18:11
>>406
1行!? 煤i゚Д゚; )ソンナコトガ!?

410407 :2006/04/05(水) 18:26:28
すいません説明不足でした
Aの列に入れた値と同じものをB〜Eで探すのではなく
Aに数字が入っている(用はチェックが入っている)場合に、
その行のB〜Eのセルと、それと同じ値が入っているセルの色を変えたいのです
わかりにくくてすいません

411名無しさん@そうだ選挙にいこう :2006/04/05(水) 18:26:43
>>407
[書式][条件付書式]
数式が =MATCH(B1,$A$1:$A$100,0)
書式は[パターン]で


412名無しさん@そうだ選挙にいこう :2006/04/05(水) 18:44:10
>TEIOUさん
>405は、例えば AA1 に20と入力しておいて、
  P = Cells(1, 27)
  Rows(P - 14 & ":" & P).Copy
  Rows(P + 1).Insert
  Cells(1, 27) = P + 15
最終データを入力する前に必ずマクロを実行すれば
行を非表示にする必要は無いのでは?
>402
Range(Cells(2, 2), Cells(Range("A65535").End(xlUp).Row, 2)) = Cells(1, 2)
>406漢字が違うぞ。

413407 :2006/04/05(水) 18:46:17
>>411
それだとAの列の値と同じものの色が変わってしまうようなのですが・・・
数字は何でもいいんです、というかチェックがつけられれば数字じゃなくても大丈夫なのです

例えばA3に数字が入っている(チェックがついている)ときにB3:E3の色を変え、
さらにB3、D3、E3と同じ値のセルをB1:E30から探しそこの色も変えたいのです

414名無しさん@そうだ選挙にいこう :2006/04/05(水) 18:58:26
>>407
408,411の応用

415名無しさん@そうだ選挙にいこう :2006/04/05(水) 19:09:39
【1 OSの種類         .】 Windows2000(1) Windows2000(2)
【2 Excelのバージョン   】 Excel2000(1) Excel2000(2)
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル フォント MSゴシック Excel2000 ずれる

(1)のPCで作成したエクセルを(2)のPCで開くと、枠内に収まっている文字がはみでて
表示されてしまいます。表示ははみでているのですが印刷プレビューや印刷したものを
みると枠内に収まっています。フォントはMSゴシック8ポイントです。
原因に心当たりがある方、是非ご教示ください。

416407 :2006/04/05(水) 19:55:36
いろいろ試してみましたができません
誰かお願いします・・・

417名無しさん@そうだ選挙にいこう :2006/04/05(水) 20:03:10
めんどくさいからVBA使えば?

418TEIOU :2006/04/05(水) 20:10:29
>>416
B1のセルの条件付書式として…
=COUNTIF($A:$A,B1)>0
で出来るように思います。

419sage :2006/04/05(水) 20:33:55
>>415
前にも似たようなレスがあったな
OSがWindowsなら、そういうもんだとあきらめろ!!
いやならMacに変えろ、どの機械で見たって同じだし
印刷も見たままの形,見たままの色で出来るから

420407 :2006/04/05(水) 20:50:08
VBAでもいいんでお願いします
418のはこっちの条件を勘違いしていると思われます

421名無しさん@そうだ選挙にいこう :2006/04/05(水) 20:56:03
>>420
あーうぜえよ

422名無しさん@そうだ選挙にいこう :2006/04/05(水) 21:46:08
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】否

すみません初歩的な質問になるかとは思いますが、悩んでいます。
どなたか教えてください。

年度別のデータを作っていますが、表の上下を逆にするには
どのようにしたらよいでしょうか?
下の左から右のように変換したいのです。
データが大量にあるので手作業では追いつきません。
お願いします。

2000年11112005年6666
2001年22222004年5555
2002年33332003年4444
2003年44442002年3333
2004年55552001年2222
2005年66662000年1111

423名無しさん@そうだ選挙にいこう :2006/04/05(水) 21:48:41
>>422
データ→並べ替え

424名無しさん@そうだ選挙にいこう :2006/04/06(木) 00:47:36
>>420
とりあえず俺は>>420の条件をよく理解できなかったんだが
誰か分かったやつ解説してくれ

425名無しさん@そうだ選挙にいこう :2006/04/06(木) 00:58:56
>>413の条件は
AnにデータがあるときBn:Enの色を変える
Bn:Enの色がかわっているときBn=Bm … En=Em のとき Bm … Em の色を変える
(小文字n,mは数字)
だと思うけど最初の条件と違いすぎて自身が無い

426名無しさん@そうだ選挙にいこう :2006/04/06(木) 01:10:09
Bn:Enの色がかわっているときBn=Bm … En=Em のとき Bm … Em の色を変える
                     ↑ここと、 ↑ここ 同じ列って指定はなくない?


11234
5678
3579
22458
1746

こういう状態だとB1:E5中の123458が入っているセルの色が変わるってことだと思った

427名無しさん@そうだ選挙にいこう :2006/04/06(木) 01:11:14
ぬお、ずれた
桁が足りないところの先頭に空白を補完してくれ

428TEIOU :2006/04/06(木) 10:19:51
>>420
>407の書き込みしか見とりませんでした…
一通り読んでサンプル作ってみましたがこういう事ですか?

ttp://up2.viploader.net/mini/src/viploader24601.zip.html

429407 :2006/04/06(木) 12:42:15
>>428
そういうことです、ありがとうございます!
できれば連番じゃない方がいいんですけどそこまで贅沢言ってられませんね

430TEIOU :2006/04/06(木) 13:27:58
>>429
サンプルをそのまま使おうとすると連番ですが
A列にチェック(文字列など)を入れて、同じものをH列の"チェック"に入力すればOKですよ。

でもそれだと2回入力しないといけないし、漏れる可能性があるので
サンプルは連番、自動ピックアップの形にしました。

431名無しさん@そうだ選挙にいこう :2006/04/06(木) 13:38:13
【1 OSの種類 】 WindowsXpsp2
【2 Excelのバージョン】 Excel2003
【3 VBAが使えるか】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード】 Excel アドイン 登録 

あるアプリケーションからExcelのアドインが配布されてます。
一応アドインの登録はツールバーのツール→アドイン→参照→OK
でいけるのですが、これだと、Windowsにログインするユーザーを
変えるたびに設定しなおす必要があります。
これをしないためにどのユーザーでログインしてもできれば初期状態で
そのアドインが登録されているようにしたいのですが、
そのような方法はありますか?

432名無しさん@そうだ選挙にいこう :2006/04/06(木) 14:09:34
忘れてました。アドインの種類は
comアドインじゃなくてExcelアドイン(〜.xla)です

433名無しさん@そうだ選挙にいこう :2006/04/06(木) 16:12:55
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 印刷 複数シート 1ぺージ 設定

1つのエクセルファイルで複数の5シート構成で内容が
1ページで印刷できるものや、複数ページにわたるものなど大小さまざまなものがあります。
それらの複数のシートを「縦方向で1ページずつに印刷」(出力される枚数は5枚)したいのですが
一括で設定できますか?
それとも1シートずつ設定しないといけないのでしょうか?

434431 :2006/04/06(木) 16:18:05
>>431
あれから調べてたらXLSTARTフォルダに
該当のアドインを入れればいいらしいとの記述ありました。
そうすればユーザーに関係なく起動時にアドインが起動すると・・・。
サンプルのアドインで試したところ確かにそんな動きしてます。

本番は今触れる状態ではないので来週にでも試します。
特に問題はないですかね。

435名無しさん@そうだ選挙にいこう :2006/04/06(木) 17:26:43
サンプルを見て、TEIOUがこのスレの帝王になる日は遠いなぁと思いました。

436名無しさん@そうだ選挙にいこう :2006/04/06(木) 17:50:37

教えてください…
どぉしても分からないんです。
セルに”1-23-8”(1分23秒8という意味)と入れて
”83-8”と出るように、秒に変換したいんです。
まだ初心者なのでこんなやり方もわかんないんです…
誰か、お願いします。

あと、逆のやり方も教えてもらいたいんですが…
”98-3”と入れたら”1-38-3”と変換されるように…

437TEIOU :2006/04/06(木) 17:56:02
>>435
だから日々頑張ってるんですよ〜 (TAT)
10年後くらいには帝王になれるでしょうか。

ちなみにマクロ書く場合、変数はちゃんと宣言しておいた方がいいんでしょうか?
社内の人から「宣言した方がイイよ」と言われました。
宣言して無くても動くものはそのままにしてるんですが…

438名無しさん@そうだ選挙にいこう :2006/04/06(木) 18:36:08
エクセルの行列演算に限界はありますか?
というのも52×52の逆行列は演算できるのですが,
53×53では演算できなくなってしまいました.
すいませんがご存知の方教えてください.

439名無しさん@そうだ選挙にいこう :2006/04/06(木) 18:36:35
当然だな。基本中の基本だ。
宣言しないと気持ち悪いし、原因不明のバグとかではまりやすいし、処理速度も違う

440名無しさん@そうだ選挙にいこう :2006/04/06(木) 19:14:36
【1 OSの種類       】 WindowsXP
【2 Excelのバージョン 】 Excel2002
【3 VBAが使えるか    】 いいえ
【4 VBAでの回答の可否 】 否


教えてください…
どぉしても分からないんです。
セルに”1-23-8”(1分23秒8という意味)と入れて
”83-8”と出るように、秒に変換したいんです。
まだ初心者なのでこんなやり方もわかんないんです…
誰か、お願いします。

あと、逆のやり方も教えてもらいたいんですが…
”98-3”と入れたら”1-38-3”と変換されるように…


441名無しさん@そうだ選挙にいこう :2006/04/06(木) 19:17:29
★書式のユーザー設定 と オートコレクト を使う方法
1、ツール>オートコレクトのオプション>修正文字列「-」 修正後文字列「:」>OK
2、(A1セルの)セルの書式設定>表示形式>ユーザー定義> [mm]"-"ss;@>OK
3、(B1セルの)セルの書式設定>表示形式>ユーザー定義> h"-"mm"-"ss;@ >OK
A1セルに 1-23-8 と入力する → 83-8 と表示される
B1セルに  98-3 と入力すると → 1-38-3 と表示される 
注意点:00-98-3 の「00」は省略不可
注意点:「-」を入力すると、「:」にされる
                ・・・対策:上記の1の手順を飛ばし、入力の時は 1:23:8 とする。またはFAQ>>11参照

★関数による方法
B1 =LEFT(A1,FIND("-",A1)-1)*60+MID(A1,FIND("-",A1)+1,FIND("-",A1,FIND("-",A1)+1)-FIND("-",A1)-1)&"-"&RIGHT(A1,LEN(A1)-FIND("-",A1,FIND("-",A1)+1))
A1セルに 1-23-8 と入力する → 83-8 と表示される
98-3を1-38-3に変換する式はめんどくさくなった。欲しかったら、上を参照に自分で組みたたてくれ。


442名無しさん@そうだ選挙にいこう :2006/04/06(木) 19:18:59
ディスクトップに置いたシートをダブルクリックしても、エクセルのグレーの画面しかでません。
スタート→エクセル→ディスクトップ→フォルダー→シートを選ぶと開くのですが…
ちなみに、ディスクトップに置いたエクセルのシートすべてが、同じ状態です
助けてください(@_@;)

443d :2006/04/06(木) 20:40:50
>>437
>変数はちゃんと宣言しておいた方がいいんでしょうか
Option Explicit が自動で挿入されるようにVBEの設定をしておいた方が良いと思います。^^

[ツール]-[オプション]、編集タブで「変数の宣言を強制する」にチェック


444名無しさん@そうだ選挙にいこう :2006/04/06(木) 23:45:08
>>442
ディスクトップに置いたシート?

445名無しさん@そうだ選挙にいこう :2006/04/06(木) 23:58:41
>>442
ツール→オプション→全般のところの
「他のアプリケーションを無視する」に、チェックが入ってたら
それを外す。

ディスクトップじゃなくて、デスクトップ
シートじゃなくてxlsファイル

446名無しさん@そうだ選挙にいこう :2006/04/07(金) 00:00:46
>>442
[ツール]-[オプション] の 「全般」の「他のアプリケーションを無視する」 の
チェックをはずすと直ることあるよ。

447名無しさん@そうだ選挙にいこう :2006/04/07(金) 00:10:10
データをWクリックしてアプリを起動汁のが
WINが出回ってから一般的になっていますが、
これはアプリを使う側の意識が薄れる点で
かなり問題があると個人的に思います。
だから助けられません。

448名無しさん@そうだ選挙にいこう :2006/04/07(金) 01:28:39
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

数値を置き換えたいのですが、教えてください。

124.9⇒12
125.0⇒12
125.1⇒13
126.0⇒13
126.1⇒13
135.0⇒13
135.1⇒14
144.9⇒14
145.0⇒14
145.1⇒15
1250.0⇒125
1255.0⇒125
1255.1⇒126

以上のように数値を置き換えるには、どのようにすればいいでしょうか。
頭が限界です。お願いします。



449名無しさん@そうだ選挙にいこう :2006/04/07(金) 01:40:04
>>448

数値がA列と仮定

=ROUND(ROUNDUP((A1-1)/10,1),0)

でどう?

450名無しさん@そうだ選挙にいこう :2006/04/07(金) 01:40:13
10で割って0.5を引きその結果を切り上げる、などの条件で無く
ただ置き換えるのなら、手作業で置き換えるか置換を使うかしかないかな

451名無しさん@そうだ選挙にいこう :2006/04/07(金) 02:18:43
>>449さん
本当にありがとうございます。
ROUNDの新しい使い方を覚えました。
IFでないとできないとばかり思っていたもので。。
やっと会社から帰れます。
本当にありがとうございました。

452名無しさん@そうだ選挙にいこう :2006/04/07(金) 02:31:04
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 FieldNames AutoFilter

オートフィルタで、条件抽出したデータを別のシートに移したいのですが、
私のVBA記述では、見出し部分も移ったり
「絞り込み条件に該当するデータ無し」の場合見出し部分のみ移ります。
どう改善すればよいでしょう?

Sub Macro1()

Sheets("Sheet1").Select
Selection.AutoFilter Field:=1, Criteria1:="<>"
Range("A1").Select
Selection.End(xlDown).Select
Selection.End(xlToRight).Select
Selection.Copy

End Sub


453名無しさん@そうだ選挙にいこう :2006/04/07(金) 07:28:12
>>452
offsetで1行分ずらした範囲をコピーすればいいんじゃね?

With Sheets("Sheet1").AutoFilter.Range
.AutoFilter Field:=1, Criteria1:="<>"
.Offset(1).Resize(.Rows.Count - 1, .Columns.Count).Copy
End With


454名無しさん@そうだ選挙にいこう :2006/04/07(金) 09:19:41
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

Excelの行列演算に限界はありますか?
52×52の行列では演算可能なのですが,53×53になってしまうと演算ができません.
ご存知の方いらっしゃいましたら教えてください.
宜しくお願いします.

455名無しさん@そうだ選挙にいこう :2006/04/07(金) 10:41:56
>>454 すこしおちつけ
[XL2000]配列のサイズの制限について
http://support.microsoft.com/default.aspx?scid=kb;ja;416526


456名無しさん@そうだ選挙にいこう :2006/04/07(金) 11:50:18
>>453
Error91
「オブジェクト変数またはWithブロック変数が設定されてません。」

とでました。
どう対応すればよいでしょうか?


457名無しさん@そうだ選挙にいこう :2006/04/07(金) 12:37:46
>>456
読んで字の如く

458名無しさん@そうだ選挙にいこう :2006/04/07(金) 14:08:42
>>456
そっか。オートフィルターがかかってない状態でやるとそのエラーになるね。すまんかった。
それだとオートフィルタをかけるとこからスタートすればいいわけだから、こんなかな?

Sheets("Sheet1").Range("A1").AutoFilter Field:=1, Criteria1:="<>"
With Sheets("Sheet1").AutoFilter.Range
 .Offset(1).Resize(.Rows.Count - 1, .Columns.Count).Copy
End With

セルA1基点にオートフィルタしてるけど違う場所だったら変えて

459名無しさん@そうだ選挙にいこう :2006/04/07(金) 14:45:34
>>458
ありがとうございます。
望み通り出来ました。


460名無しさん@そうだ選挙にいこう :2006/04/07(金) 16:52:55
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 1回講習に行ったが 詳しく理解していない
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 \ 印刷されない (他 何パターンか試しました)


ググっても解決しないので質問させて下さい

会社の配置換えがあり プリンターがかわったのですが
エクセルのMSゴシックの 半角\ が \(半角バックスラッシュ)
で印字されるようになってしまいました
数字が全体的に見た目がかわって細字な印象です

MSPゴシックに変えたら \ のまま印刷されるのですが
見栄えが悪いので なんとか戻す方法はありますか?

プリンタはEPSONで ドライバはインストールし直しました


461名無しさん@そうだ選挙にいこう :2006/04/07(金) 18:18:47
プリンタドライバのフォントまわりの設定じゃないのか?

462名無しさん@そうだ選挙にいこう :2006/04/07(金) 20:57:59
>>441さん
どうもありがとぉございます^^とても助かりました!!

463名無しさん@そうだ選挙にいこう :2006/04/08(土) 00:29:33
>>460
プリンタが何から何に替わったのか
プリンタの機種名ぐらい書きなよ

464名無しさん@そうだ選挙にいこう :2006/04/08(土) 03:58:25
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

折れ線グラフ作成で質問です
連続した数値、#N/A、#N/A、#N/A、連続した数値
の時に連続した数値だけに線を引くことはできますか?

465名無しさん@そうだ選挙にいこう :2006/04/08(土) 11:40:01
>>464
欠値のセルを#N/Aにしてしまったらできないんじゃないの?
#N/Aじゃなくそのセルの値をクリアしてしまえば、
勝手にお望みの形になると思うけど。

466460 :2006/04/08(土) 13:58:12
>>463
すいません 同機種への変更です
エプソンの LP-8600FXです

467名無しさん@そうだ選挙にいこう :2006/04/08(土) 15:43:53
こんにちは。
VBAのパスワードを解析するツールとかってよく見かけるんですけど、
どうやらブルートフォースとか辞書検索ではないようですが、VBAのパスってそんなに弱いんですか?

468名無しさん@そうだ選挙にいこう :2006/04/08(土) 16:08:02
弱いです。
もともとパスの存在理由が、他人の編集を不可能にすることではなく
初心者が誤って変更してはならない部分を変更してしまうことを防ぐこと
また、初心者が誤って保護(パス)を解除してしまわないようにすることだからです。
目的から言えばボタン一つで保護解除出来なくなればいいだけなので
どうやっても解除出来なくなるほど強力な暗号アルゴリズムは必要ないということ。

つまりは鍵ではなく安全装置であり、解除したいときに任意に解除出来なければならない。
中にはVBAごときでソース見られたくないとか言い出す自意識過剰者や
Excelアドイン程度を有償販売しようとする勘違いしたアホも居るけど
実務レベルから見れば、初心者が誤って編集しないようにするだけの機能があれば
あとはパスを知らないと絶対に編集出来ないようにすることより、万が一パスを紛失しても
解除する手段が有ることの方が重要ですから。一応解除出来ないようにする手段もあるけどね。

469名無しさん@そうだ選挙にいこう :2006/04/08(土) 16:18:57
↑なんかやなことあったの?

470名無しさん@そうだ選挙にいこう :2006/04/08(土) 16:24:28
>469
どうしたの?

471名無しさん@そうだ選挙にいこう :2006/04/08(土) 17:03:22
いやいや、何もなければそれが一番
お体お大事に?

472名無しさん@そうだ選挙にいこう :2006/04/08(土) 17:34:30
>>465
やはりそれしかないですか
関数で処理した数値なんでダメなんす
解答ありがとです

473名無しさん@そうだ選挙にいこう :2006/04/08(土) 17:40:42
>>472
ん?なんか話が見えないぞ
#N/Aなら、グラフはそこを無視して、数値部分だけで線を引くでしょう、元々。
何が問題なんだ?

474名無しさん@そうだ選挙にいこう :2006/04/08(土) 17:58:15
線を引いて欲しくないんだろ
データ要素の書式設定で線をなしとか

475名無しさん@そうだ選挙にいこう :2006/04/08(土) 18:04:49
あー、#N/Aの部分は補完せずに空白を残すってこと?
なるほど。

・・・しかし、それなら何でわざわざ#N/Aなんか入れてるんだろ?

476名無しさん@そうだ選挙にいこう :2006/04/08(土) 18:28:27
>>468
なるほど。セキュリティ的な意味はあまりないんですね。ありがとう。

477名無しさん@そうだ選挙にいこう :2006/04/08(土) 19:31:15
環境設定にそのまんまズバリ
空白セルのプロット:
 プロットしない(空白を残す)
 値0でプロットする
 補完してプロットする
の設定がありますがな

478名無しさん@そうだ選挙にいこう :2006/04/08(土) 19:37:25
>>477
NAエラーが発生してる時は、どれを設定していても「補完してプロット」されるよね

479名無しさん@そうだ選挙にいこう :2006/04/08(土) 19:51:38
あれそうだっけ
それはスマン

480名無しさん@そうだ選挙にいこう :2006/04/08(土) 19:59:39
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

EXCELでVisual Basic editerを起動し、標準モジュールを挿入し、
そこでマクロ文?を書き込んでたところ、そこでの日本語入力ができなくなりました。
Visual Basic editer以外での日本語入力はできている状況です。
もし解決方法のわかる方がいましたら、教えてください。
よろしくお願いします。



481名無しさん@そうだ選挙にいこう :2006/04/08(土) 21:56:09
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

ユーザー設定でマクロボタンをツールバー上に設定したけど、
消すにはどうすればいいですか?


482名無しさん@そうだ選挙にいこう :2006/04/08(土) 22:09:02
それはいえない

483名無しさん@そうだ選挙にいこう :2006/04/08(土) 22:14:09
ボタンを右クリック

484名無しさん@そうだ選挙にいこう :2006/04/08(土) 22:30:15
>>481
ツールの左端のを摘んで外に出して×で消す。
もしくは、ユーザー設定の画面にドラッグして戻す。

485名無しさん@そうだ選挙にいこう :2006/04/08(土) 23:48:17
>>484
ありがとうがざいます


486名無しさん@そうだ選挙にいこう :2006/04/09(日) 00:28:48
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

棒グラフを作成しているのですが、値の最大値が4なのでY軸が0.5単位になっています
単位を整数にしたい場合、どのように設定すればよいのでしょうか?

487486 :2006/04/09(日) 00:31:10
連続ですいません。
異なるシートの値を一つのグラフにすることは可能でしょうか?

例:シート1 今年の値
  シート2 去年の値
2期比較を行いたいのです

488名無しさん@そうだ選挙にいこう :2006/04/09(日) 02:09:36
DATEDIFなどの直接打ち込む関数を登録する方法はないのですか?

489名無しさん@そうだ選挙にいこう :2006/04/09(日) 05:10:31
派遣でバイトしたいんですが、どれもエクセルができないとだめなところが多いので、エクセルが少しでも理解できるようになりたいです。
どういう勉強法がいいのでしょうか?
当方勉強嫌いなので、なじみやすい勉強方法とか安くてよい通信講座とかあれば教えてください。
お勧めの独学法でもけっこうです・・・
よろしくお願いいたします。

490名無しさん@そうだ選挙にいこう :2006/04/09(日) 05:24:55
Microsoft Office Specialist(Excel)っていう試験を受けてみようと思っているのですが、
簡〜単な表計算や簡単な関数(Σのやつ)を少し大学で習った程度です。
そのくらいのレベルで独学で本を読めば、合格できるでしょうか?
それとも、講座などをうけたほうがいいでしょうか?

491名無しさん@そうだ選挙にいこう :2006/04/09(日) 06:42:16
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 office XP
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 OK
【5 検索キーワード     】 Googleやヘルプでの検索キーワード

モンテカルロシミュレーションをやってみたいんですが、正規分布する乱数発生関数ってVBAにありますか??

492名無しさん@そうだ選挙にいこう :2006/04/09(日) 07:08:32

Q:こんなワークシート関数ありませんか?こんなVBA関数ありませんか?
A:ワークシート関数の場合、なんでも一つの関数で済ませようと考えず、
  複数の関数を組み合わせて式を組んだり、作業セルを設けたりすることで対応することを考えましょう。
  それでもわからなかった時は、自分で書いた式をここに貼った上で質問しましょう。
  VBAでの関数とは作るものです。組み込み関数はヘルプに載ってるので、
  それ以外の関数が欲しかったら自分で作ってください。関数の組み方の質問はVB6スレの方でどうぞ。

493名無しさん@そうだ選挙にいこう :2006/04/09(日) 09:00:44
レスが付かなかったのでもう一度質問させてください。

【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 印刷 複数シート 1ぺージ 設定

1つのエクセルファイルで5つのシート構成で内容が
1ページで印刷できるものや、複数ページにわたるものなど大小さまざまなものがあります。
それらの複数のシートを「縦方向で1ページずつに印刷」(出力される枚数は5枚)したいのですが
作業グループでは一括で設定できませんでした。
どうすれば一括で設定できますか?
それとも1シートずつ設定しないといけないのでしょうか?


494名無しさん@そうだ選挙にいこう :2006/04/09(日) 09:09:41
>>493
全てのシートを選んでページ設定

495名無しさん@そうだ選挙にいこう :2006/04/09(日) 22:19:00
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 操作したらマクロ停止。スクリーンーセイバー作成

スクリーンセイバーみたいにほっとくとマクロが動いて、何か操作すると

マクロが止まるVBAがあれば教えていただきたいです。

あったら教えていただきたいです

496名無しさん@そうだ選挙にいこう :2006/04/09(日) 22:47:03

> スクリーンセイバーみたいにほっとくとマクロが動いて、何か操作すると
>
> マクロが止まるVBAがあれば教えていただきたいです。

VB6での方法と同じ方法で可能
具体的な話はスレ違いなので伏せる

497初心者 :2006/04/10(月) 00:10:01
すみません初心者なんですが。エクセルファイルをダイレクトにメール送信できなくなりました
(ファイル→送信にて添付ファイル)ワードは添付可能ですエクセルのみ送れません
このやり方に慣れてしまっていたので困っています・・・助けてください
一度エクセルは入れなおしました・・・

【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 否
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Googleやヘルプでの検索キーワード

498名無しさん@そうだ選挙にいこう :2006/04/10(月) 02:25:27

 1 2 3 4 5 ・・・・ 99
A
B
C

↑という表があったときセル幅にもよりますが、ある程度右に移動すると

10 11 12 13 14 15 ・・・



となり一番左のABCはスクロールして消えてしまいます。
これを
10 11 12 13 14 15 ・・・
A
B
C
と、一番左の行だけスクロールしないようにしたいのですが、どのようにやればよいでしょうか?

499名無しさん@そうだ選挙にいこう :2006/04/10(月) 02:36:34
>>498
ウィンドウ枠の固定

500498 :2006/04/10(月) 02:49:01
>>499
サンクス

501名無しさん@そうだ選挙にいこう :2006/04/10(月) 08:33:16
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可

質問させてください。
入力してある文字の一部分をBボタンで太字に
してあります。このシートを印刷するときに
太字のところだけ自動的に指定した色で印刷させたいのですが
どのようにすれば宜しいのでしょうか?
どなたかお願いいたします。

502名無しさん@そうだ選挙にいこう :2006/04/10(月) 09:15:50
太字の部分の文字色を変更してから印刷して
また文字色を元に戻すマクロでも書けばなんとかなるが、
Excelにそういう機能は組み込まれてないので、VBA否だとどうにもならない

503501 :2006/04/10(月) 09:52:32
>>502
即レスありがとうございました。
あきらめます。

504名無しさん@そうだ選挙にいこう :2006/04/10(月) 11:54:48
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 表の分割 表の配置 表の設定

質問させていただきます。
枠線(セル?)に沿わない表を作りたいのですがどうしてもうまくいきません。
図形化してしまうと文字が入力できなくなってしまいます・・・
姉が実際に作成していたのを真似ようと努力したのですが、、、
どうか教えて下さい。宜しくお願いいたします。


505名無しさん@そうだ選挙にいこう :2006/04/10(月) 12:06:59
オートシェイプにテキストは入りますが?
テキストボックスってのも有りますが?

506名無しさん@そうだ選挙にいこう :2006/04/10(月) 12:07:23
姐に聞け

507名無しさん@そうだ選挙にいこう :2006/04/10(月) 12:08:19
姐に挿入!?

508504 :2006/04/10(月) 12:13:11
>>505
罫線で作成した表なんですがオートシェイプ化できますでしょうか?
良ければお教えください。
>>506
姐は取り合ってくれませぬ・・・
>>507
近親相姦はあはあ

509名無しさん@そうだ選挙にいこう :2006/04/10(月) 12:19:35
頭大丈夫か?

510名無しさん@そうだ選挙にいこう :2006/04/10(月) 12:19:49
罫線?

意味不明〜w

511504 :2006/04/10(月) 12:20:26
>>509
大丈夫じゃないお( ^ω^)

512名無しさん@そうだ選挙にいこう :2006/04/10(月) 12:22:11
オートシェイプをてけとうに配置しておく。
対象となるセル範囲をコピーする。
オートシェイプを選択してからペーストしる。


513504 :2006/04/10(月) 12:22:19
>>510
頼む。教えて暮れええくぁwせdrftgyふじこlp;@:「」

514504 :2006/04/10(月) 12:23:42
>>512
神。いわゆるGOD!!!!!!!!!!1111111
早速試してみます!!!!

515名無しさん@そうだ選挙にいこう :2006/04/10(月) 12:26:22
なお、希望に沿えなかったとしても、一切の責任は持たないし
謝罪も賠償もしないニダw

516504 :2006/04/10(月) 12:36:53
>>515
もうだめぽ・・・

今度は妹が妙なことを・・・
妹「ctrlキーを押しながらクリックしてってあとはグループ化するんじゃない?」
おれ「( ゚д゚)」
おれ「( ゚д゚ )」

517名無しさん@そうだ選挙にいこう :2006/04/10(月) 13:09:38
テケストボックスなんぞてけとうに配置しとけばよろしいかと・・・・? 

518名無しさん@そうだ選挙にいこう :2006/04/10(月) 13:10:45
素直にオブジェクトをファイルから挿入しろ

519名無しさん@そうだ選挙にいこう :2006/04/10(月) 14:07:33
妹にチョコレートパフェを与えて全部やってもらえ

520名無しさん@そうだ選挙にいこう :2006/04/10(月) 15:40:50
妹とか姉とかてけとーに書けば食いつきの良いこと、良いこと w

521名無しさん@そうだ選挙にいこう :2006/04/10(月) 15:57:08
グループイヒ

522名無しさん@そうだ選挙にいこう :2006/04/10(月) 16:21:14
わかってるから踊らせてるんだろ。
ま、2chでは踊らせるつもりが踊らされてたなんてよくあることだから気にするな。

523名無しさん@そうだ選挙にいこう :2006/04/10(月) 17:04:47
>>504
ツールバーをカスタマイズして「カメラ」追加しる

524名無しさん@そうだ選挙にいこう :2006/04/10(月) 21:09:23
>>372
すげー適当に作ってみた。
シート名Sheet1で標準モジュール追加でコピペしてくださいな。
A列が空白になるとこまで動きます。

Sub 補完()
Set ws = Worksheets(1)
a = 1
Do Until ws.Cells(a, 1) = ""
ws.Cells(a, 2) = "2005年"
'C列に入れたいなら、ws.Cells(a, 3) = "12月"とかでここに追加
’D列はws.Cells(a, 4)ね
a = a + 1
Loop
End Sub


525名無しさん@そうだ選挙にいこう :2006/04/10(月) 22:16:11
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Googleやヘルプでの検索キーワード

どなたか教えて下さい。
納税額と税率・控除額を合わせた計算を式にしたいのですが
どうも関数を忘れてしまって出来ないのでご教授下さい。
具体的に何がしたいかというと、、

所得税が200万以下ならその数字×0.15%−0
200万以上330万以下ならその数字×0.2%-100000
330万以上700万以下ならその数字×0.3%−430000

このような形で関数を作りたいのですがどのようにすればいいのでしょうか?
ifとandを組み合わせたりしたのですがどうもうまくいきません。

どなたか教えて下さい。


526名無しさん@そうだ選挙にいこう :2006/04/10(月) 22:26:15
>>2 ・8
どう組み合わせて何がうまくいかないのか、こちとらエスパーじゃないんだからさっぱり分からんよ

527名無しさん@そうだ選挙にいこう :2006/04/10(月) 22:35:34
>>525
IFよりVLOOKUP等で表を引くようにした方がいいと思います

528名無しさん@そうだ選挙にいこう :2006/04/10(月) 23:23:56
>>527
それだ!
忘れちゃうんだよなぁ・・・・、この様な便利な関数

529名無しさん@そうだ選挙にいこう :2006/04/11(火) 03:12:17
1.
A1からA20まで縦にずらっと数字が不規則に並んでます。
単純に、このすべての数字に「1」を足すにはどうやったらいいですか?
関数などを使わずに、単純な操作ではできないのでしょうか?

2.
A1からA20までとB1からB20まで数字が並んでいます。
C列にAとBの合計を出すためにC1=SUM(A1,B1)と入れました。
仮にこれをC20までそれぞれ出すとするなら、
C1のセルを下までドラッグしていけば自動でC20=(A20,B20)となりますが、
B行だけは常にB1を参照(C20=(A20,B1)となるように)したいのです。
これを一気にドラッグなどでコピー(入力)することはできますか?
B2〜B20までは計算には使いませんが空欄にはしたくありません。

530名無しさん@そうだ選挙にいこう :2006/04/11(火) 04:32:17
>>529

1 どこか空いている列で

= A1+1

2 絶対参照($B$1)

Bの前にはいらないかもね。

531名無しさん@そうだ選挙にいこう :2006/04/11(火) 05:22:21
1足すのは加算貼り付けでいいんじゃね?

532名無しさん@そうだ選挙にいこう :2006/04/11(火) 05:47:42
>>531

正直、今の今までこんな機能あったの知らんかった。
問題は、529に理解できるかだね。

533名無しさん@そうだ選挙にいこう :2006/04/11(火) 13:36:00
メモ帳の文章をエクセルに移したいのですが、メモ帳の方で改行してあると
エクセルの方に貼り付けた時2つ以上の枠に分割されて貼り付けられてしまいます。
1つにまとめるためにサイドエクセルでコピー、ペースト、オルトエンターをしているのですが
最初から1つの枠内で収められないでしょうか?
もしできるのでしたら教えてください、お願いします。

534名無しさん@そうだ選挙にいこう :2006/04/11(火) 13:48:30
セルをダブルクリックして、貼り付け

535529 :2006/04/11(火) 13:51:26
初歩的な質問にもかかわらずありがとうございました。

>>530
絶対参照ですね。たしかに「$」を付けたら下にドラッグしてもそのままでした。

>>531
あ〜、なるほど。形式を選択して貼り付けですかね!?
適当なセルに「1」を入力してコピー。それを加算で貼り付ければいいということですね。
まさにこういう単純なのを求めてました。

536名無しさん@そうだ選挙にいこう :2006/04/11(火) 17:49:54
【1 OSの種類         .】 WindowsXP SP2
【2 Excelのバージョン   】 Excel2000(2003もありますが)
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Googleやヘルプでの検索キーワード

特定セル内(結合分もふくめて)文字の天地を逆転させる事は出来ますか?
90度以上の設定がわかりません。
セル内で行単位での天地逆転が理想なのですが。
よろしくお願いいたします。


537名無しさん@そうだ選挙にいこう :2006/04/11(火) 17:55:37
>セル内で行単位での
セル内改行があるということでしょうか。

あああ
いいい
ううう
 ↓
ううう   ←天地逆転文字
いいい ←天地逆転文字
あああ ←天地逆転文字

ということ?

538名無しさん@そうだ選挙にいこう :2006/04/11(火) 18:23:56
いや文字を逆さまにしたいってことでしょ

Excelは表計算ソフトであってDTPソフトじゃないんで
そんな無茶なレイアウトはできませんよ

539名無しさん@そうだ選挙にいこう :2006/04/11(火) 18:35:39
>>536
どうしてもやりたければ、コピーと図の貼り付けでセルを
「図」にするのが常道。

それ以外の方法もなくはないが、おまいさんの「理想」を
満たすものじゃないので省略。

540名無しさん@そうだ選挙にいこう :2006/04/11(火) 20:21:06
536本人が出てこないので、537への答えが不明だけど・・・

単に文字を逆さまにしたいなら、
フォントを「@MSゴシック」のように@付にして、配置で方向を90度とすれば可能

541名無しさん@そうだ選挙にいこう :2006/04/11(火) 20:37:22
>>540
確かに文字はそれで逆転するんだけど、536が言っている

>セル内で行単位での天地逆転が理想なのですが。

には使えないような気がする。

セル内改行と組み合わせれば、1行分の見かけだけなら
できなくもないが…。

542名無しさん@そうだ選挙にいこう :2006/04/11(火) 20:51:00
www

543名無しさん@そうだ選挙にいこう :2006/04/11(火) 20:58:16
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

xxx-01
yyy-05
zzz-08
これの文字列xxx,yyy,zzzを残してハイフン以降を消して
xxx
yyy
zzz
このようにするにはどうすればいいでしょうか?
よろしくお願いします。

544名無しさん@そうだ選挙にいこう :2006/04/11(火) 21:15:45
>>543
編集-置換で検索する文字列に「-*」と入れて「すべて置換」でできるよ
検索の時の*はワイルドカードっていう特殊記号で「-以降を空白と置き換える」って条件に出来るよ

545名無しさん@そうだ選挙にいこう :2006/04/11(火) 21:27:19
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel97古くてすみません
【3 VBAが使えるか    .】 いいえ 
【4 VBAでの回答の可否】 可
【5 検索キーワード     】列をつなげる

1つの列に31個セルがあって、A列が1月分、 B列が2月分、、、とデータを入力しています。
(30日、28日しかないとかはかんがえないものとしてすべての列が31個)
月ごとのグラフ(折れ線)は表示できたのですが、3ヶ月ごと、6ヶ月ごと、1年全部の推移もグラフにしたいのです。
12個に分けてある列のデータを1つの列につなげて参照?させて表示させればいいとおもうのですが、どうすればいいのでしょう?
A1からA31、B1からB31、C1からC31、、、を X1からX472までだだだっと表示させる方法はありますか?




546名無しさん@そうだ選挙にいこう :2006/04/11(火) 21:39:49
>>544
できました。ありがとうございました。

547460 :2006/04/11(火) 21:51:24
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 1回講習に行ったが 詳しく理解していない
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 \ 印刷されない (他 何パターンか試しました)


会社の配置換えがあり プリンターがかわった(EPSON LP-8600-FXから同機種)
のですが エクセルのMSゴシックが全体的に印字が細くなり
半角\ が \(半角バックスラッシュ)
で印字されるようになってしまいました

MSPゴシックに変えたら \ のまま印刷されるのですが
なんとか戻す方法はありますか?

ちなみにプリンタドライバはインストールし直しました


ここに聞くの スレ違いですかね?

548名無しさん@そうだ選挙にいこう :2006/04/11(火) 22:01:11
> ここに聞くの スレ違いですかね?
Excel以外でも再現するならスレ違い。
Excelのみで再現するならスレ違いじゃないけどここが最適とは言えない。

549名無しさん@そうだ選挙にいこう :2006/04/11(火) 22:08:50
>>547
プリンタの設定で、プリンタのフォントを使うかPCのフォントを使うか選ぶところは無いかい?

550460 :2006/04/11(火) 22:17:33
ありがとうございます
>>548 とりあえず 明日また wordでも やってみます

>>549 どこから探したらよいでしょうか?
プリンタの設定で プリンタのフォントを選択するところが
あるかも 知らないんです・・・

551名無しさん@そうだ選挙にいこう :2006/04/11(火) 22:52:28
【1 OSの種類         .】 WindowsXP SP2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 散布図 要素名 
散布図を描くときに、それぞれの要素に名前をつけることは可能ですか?




552名無しさん@そうだ選挙にいこう :2006/04/11(火) 23:03:57
初めて集計機能にトライしています。
ところが、集計欄だけを目で追おうとしてもなかなか見にくいんですね。
始終すぎてじゃっかん老眼入ってるせいもあるですが…(・_・;m

で、質問ですが、この集計欄だけ自動でセルに色を付けるとか、見やすく
する方法はあるんでしょうか? どなたか教えて下さい。

553 :2006/04/11(火) 23:06:20
セルにいろいろデータが入っている場合に任意に選んだデータの前に▲をつけて
他と区別したいと思ってます。データの前に▲を割り込ましてつける簡単な方法はあるのでしょうか。
何十個も▲をつけたデータを入れなおすのは大変なので▲をコピーで次々とデータの前につけたいのですがー

554名無しさん@そうだ選挙にいこう :2006/04/11(火) 23:13:01
>552
条件付書式でどうぞ
>553
セルの書式でどうぞ

555552 :2006/04/11(火) 23:29:49
分かりました! エクセル講座質問箱に書いてありました。
集計項目の「計」の字を見つけて、これがあった場合には
セルに色を付ける、などの条件付き書式でできました。

気になる方は http://www2.clis.ne.jp/cgi-bin/cbbs/cbbs.cgi?mode=alk&W=&no=3&page=25
で143番の清四郎さんのレスをご覧下さい。

お騒がせしました。

556名無しさん@そうだ選挙にいこう :2006/04/11(火) 23:34:16
>>553
セルの書式の「その他」ってことにマイナス書式としてあるよねぇ。

まぁ単純になんか追加したいってなら、
ALT+F11でVBA出して、挿入から標準モジュール追加して
Sub ▲()
ActiveCell.FormulaR1C1 = "▲" + ActiveCell.FormulaR1C1
End Sub
とコピペする。
で、マクロメニューのオプションからショートカットキー設定してやると。
エクセル上の任意のセル選択してショートカットキー押せば入るよ。

557名無しさん@そうだ選挙にいこう :2006/04/11(火) 23:37:54
>>553
どんなデータなのか、何をしようとしてるかにもよるが
▲を入力する列を別に用意した方がいいんじゃないかな。
データの中に入れてしまうと集計や分析などの応用が難しくなるよ。

558名無しさん@そうだ選挙にいこう :2006/04/11(火) 23:43:38
>>543
544さんの方法が一番早いと思うけど、
頭のxxxとかの桁が決まってるならこんな方法もあり。

1.データ 〜 区切り位置から区切る。
2.left関数

区切り位置だと書式とかもその時に設定できるから、結構重宝するよ。

559名無しさん@そうだ選挙にいこう :2006/04/11(火) 23:55:16
>557
セルの書式で十分だろ、集計や分析にも影響ない。
何か勘違いしてないかい!
"▲"G/標準でも"▲"#.##でも好きにすりゃいい
後はコピーで書式貼り付け

560552 :2006/04/12(水) 00:04:30
>553
@557さんが言うように、▲を入力するセルを別に用意するのが良い。
AA1に▲を入力し、B1には553さんの任意のデータが入っているとする。
Bずーっと右のどこか開いている列の一行目、たとえばZ1に=a1&b1と入力。
Cこれをコピーして、B1セル上で右クリック、
D「形式を選択して貼り付け」を左クリック、
E「値」をアクティブにして「OK」。
これでできると思いますが、質問の趣旨に合ってますか?

初めて答える側に立てたかも知れない。
選択。

561名無しさん@そうだ選挙にいこう :2006/04/12(水) 00:43:49
質問です。
選択した範囲の合計を求めたいんですが、セルの色を条件にして
赤のみを合計、青のみを合計ということは出来ますか?

562536 :2006/04/12(水) 08:00:48
遅くなりましたが、みなさんありがとうございました。
>>540>>741の2つを組み合わせてセル内で1行分を天地逆転できました。
用途的には会社で管理している図面の管理に使用するためのもので、
これで目的が達成できました。
入力を逆順にする事に気を付ければきちんと入力できました。

最初、文字を画像化して加工後、図(ファイル)の挿入で対応しようと思っていましたが
未熟さ故に思い通りにできませんでした。

ありがとうございました。

563460 :2006/04/12(水) 10:40:55
ありがとうございました 解決しました

管理者にプリンタのプロパティを変更できるように
設定してもらい "フォント代替をしない"に
変更したら 直りました


564名無しさん@そうだ選挙にいこう :2006/04/12(水) 13:54:37
>>553の質問だけでは何が最適とは簡単には言えない。
データが縦1列に並んでいて、▲を付けたデータの抽出やカウントなどに応用したいなら、>>557のように区別用の列を用意する。
そうでなければ>>559のように書式で対応するか、>>556のようにデータとして"▲"を挿入する。

565名無しさん@そうだ選挙にいこう :2006/04/12(水) 14:15:34
>>561
色を条件に計算するのはVBAでも使わないと無理。
VBAを使えばそういう関数を書けるかもしれんが、
条件付書式を使ってデータを元にセルの色を設定した方が簡単。

566d :2006/04/12(水) 15:03:59
>>561
例えば赤ならこんな感じ。
但し、条件付書式で付いている色はカウントされません。^^
Function SumRed(RR As Range) As Double
  Dim R As Range
  Dim S As Double
  For Each R In RR
    With R
      If .Interior.Color = vbRed Then
        S = S + .Value
      End If
    End With
  Next
  SumRed = S
End Function

567名無しさん@そうだ選挙にいこう :2006/04/12(水) 15:04:46
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel97
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】
初歩的な質問ですいません、エクセルを使っているうちにいつのまにかメニューバーが表示されなくなってしまいました。
ヘルプなどで調べてみたんですが戻し方がわかりません。
教えていただけると助かります。
よろしくお願いします。

568d :2006/04/12(水) 16:35:14
>>567
手作業でメニューバーを消してみようと試みましたが出来ませんでした。^^
行儀の良くないマクロを実行して消されてしまったのかもしれません。

Alt+F11でVBE画面を開き、Ctrl+Gで「イミディエイトウインドウ」を開きます。
そのウインドウに直接下記をコピペし、その行内でEnterを押してみてください。

CommandBars("Worksheet Menu Bar").Enabled=True


569名無しさん@そうだ選挙にいこう :2006/04/12(水) 17:43:04
>>567
ツール→オプション で何とかならない?

570名無しさん@そうだ選挙にいこう :2006/04/12(水) 17:43:50
間違えた
ツール→ユーザー設定

571名無しさん@そうだ選挙にいこう :2006/04/12(水) 18:08:19
>>567
http://www.juno-e.com/excel/waza/waza17.htm


572名無しさん@そうだ選挙にいこう :2006/04/12(水) 18:25:07
何とか復活しました。助かりました。
どうもありがとうございます。

573名無しさん@そうだ選挙にいこう :2006/04/12(水) 18:44:03
>>568
  大  恥  トホホ

574d :2006/04/12(水) 19:10:58
>>573
予想が外れたことが大恥ですか?
おもしろい日本語ですね。^^


575名無しさん@そうだ選挙にいこう :2006/04/12(水) 19:30:09
あれあれ、どうしたんですか?
顔が真っ赤ですよ

576d :2006/04/12(水) 19:45:40
一応補足しておきます。

先にも書いたとおり私の環境(Excel97,Excel2002)では手作業では
メニューバーは非表示に出来ませんでした。

[表示]-[ツールバー]-[ユーザ設定]で非表示にしても自動的に表示
に戻ってしまいました。

そこで、マクロで非表示になったのではと考えました。マクロで
.Enabled=Flaseに設定してしまうと[ユーザ設定]のリストには表示
されなくなってしまいます。

そこでダイレクトに.Enabled=Trueに設定を変えればよいのではと
回答したわけです。


577名無しさん@そうだ選挙にいこう :2006/04/12(水) 19:58:28
マイドキュメントからエクセルのファイルを開くと30秒ほど時間がかかってしまいます。
エクセルがひらいてファイルが開くまでも30秒ほどかかってしまいます。
デスクトップのエクセルから開くと早いのですが、、、助けてください。
困っています。おねがいします。

578名無しさん@そうだ選挙にいこう :2006/04/12(水) 20:03:52
マイドキュメントの中のマイピクチャも同じく反応が遅いです。
おねがいします。

579名無しさん@そうだ選挙にいこう :2006/04/12(水) 20:09:34
スレ違い

580561 :2006/04/12(水) 20:23:50
>>565,566
レスありがとうございます!
しかし私VBAはわかりませぬ。書いてなくてすみません。

改めて、質問です。
A3:A20までの範囲にて奇数セル(A3,A5・・)の合計をA21、偶数セル(A4,A6・・)の合計をA22ということは出来ますか?




581名無しさん@そうだ選挙にいこう :2006/04/12(水) 20:40:30
>>580
とても簡単に出来ます

582名無しさん@そうだ選挙にいこう :2006/04/12(水) 21:12:02
>>580
ttp://pc21.nikkeibp.co.jp/tech/excel36/05/

583 :2006/04/12(水) 21:17:00
皆様のご意見を参考に表を完成させました。
ありがとうございました。

584名無しさん@そうだ選挙にいこう :2006/04/12(水) 22:19:23
VBAから、IEの操作も多少するようなマクロをつくったんですけど
IEをリロードして、リロード前の表示位置までスクロールバーを動かすようにしているので、ExcelVBAでいう
Application.ScreenUpdating = False
みたいなことってできませんか?

585名無しさん@そうだ選挙にいこう :2006/04/12(水) 22:20:59
>>583
それだけかよ

586名無しさん@そうだ選挙にいこう :2006/04/12(水) 22:35:30
>>584
>>2・7

587552 :2006/04/13(木) 00:08:45
累進課税の表みたいなデータがあります。
例にするとこんな感じです↓
___所得_____税率
__100,000以下___0%
__300,000以下___10%
__600,000以下___15%
__1,000,000以下__20%
__1,500,000以下__25%
____:_____:__
____:_____:__
で、これを式にして、所得額から税率を求めたい場合、どのような方法が
あるか、どなたか教えて頂けますか? if関数ももちろん使いましたが、
累進の段階数が多すぎるために2ステップで計算せざるを得ず、ちょっと
困っています。

VBA等は身の程知らずなので、できれば関数と表だけでどうにかしたい
です。

588名無しさん@そうだ選挙にいこう :2006/04/13(木) 00:12:40
>>587

>>525-527


589名無しさん@そうだ選挙にいこう :2006/04/13(木) 00:18:48
【1 OSの種類         .】 Windows NT
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 棒グラフ 書式 項目

よろしくお願いします。初歩的な質問だと思いますが…

職場で棒グラフを使った資料を作るよう言われているのですが、
項目名がとても長いものがあります。
長い項目名は折り返しになりますが、どうやっても縦位置中央揃えになります。
コレを上揃えに出来ないでしょうか?
あと、出来るだけ折り返しをせずに済むように、項目のスペースを広げるにはどうしたらいいでしょうか。

項目名を短くする、斜めにする、横方向棒グラフにするのは不可です。

590名無しさん@そうだ選挙にいこう :2006/04/13(木) 00:19:23
上げそこねました。すみません

591587 :2006/04/13(木) 00:20:22
>>588
そんなすぐチカクノ過去ログにあったのに安易に質問してすみません。
Vlookupですか。○○以上△△以下とか、範囲の検索できるんでしたッけ?
勉強してみて、解らなかったらまた相談させてください。
ありがとうございました。

592名無しさん@そうだ選挙にいこう :2006/04/13(木) 00:20:24
どうやら525や552は何かの問題の解答をここで済ましてるみたいだな

593587 :2006/04/13(木) 00:40:41
>>587
解決しました。trueを使えば良いんですね。ありがとうございました。

594名無しさん@そうだ選挙にいこう :2006/04/13(木) 00:44:49
【1 OSの種類         .】 Windows XP SP2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可 がんばる
【5 検索キーワード     】 SUMPRODUCT ずれる

=SUMPRODUCT(A1:A500,B1:B500,C1:C500)
この式をD列に数式を貼り付けると=SUMPRODUCT(B1:B500,C1:C500,D1:D500)にずれるのはなぜですか?

=SUMPRODUCT(A1:A500,B1:B500,D1:D500)  
=SUMPRODUCT(A1:A500,B1:B500,E1:E500)とA列とB列は同じでC列以降を1つずつずらして連続で貼り付けたいのですが
どうしたらよろしいでしょう?

595580 :2006/04/13(木) 01:02:50
>>581,582
ありがとうございます!
参考になりました。

596名無しさん@そうだ選挙にいこう :2006/04/13(木) 01:07:14
>>594
ヒント:絶対参照

(こんなのイルカの仕事のはずなのにろくな答えが返ってこない…)

597名無しさん@そうだ選挙にいこう :2006/04/13(木) 01:22:44
>>596
ありがとう!!
=SUMPRODUCT($A1:$A500,$B1:$B500,D1:D500)で解決しました
明日までに仕上げなくちゃいけなくて手作業してました…
これで寝れますよ

598名無しさん@そうだ選挙にいこう :2006/04/13(木) 12:01:55
【1 OSの種類         .】 WindowsXP ←★今までME使っていましたが、昨日ハードをXPに変えました。
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 アウトルック(メールへの貼り付け)

よろしくお願いします。
1.にも書きましたが、OSをMEからXPに変えました。

いつもexcelで作成した計算式が入った文面をOEのメールに貼り付けていましたが
XPに変えたら、メールに貼り付けた文面が
・HTMLメールのように文字もセルも色付きのままペーストされてしまう。
・エクセルではルビはふっていないのに、ルビ付きになってしまいます。

OEは「テキストメール」の設定にしてあります。
メールを一度テキストメール→HTMLメール→テキストメールにすると
普通のテキストメールになりますが、漢字のルビが間に入ってしまいます。
(間アイダに入ハイってしまいます)←こんな感じに
どうやったら直るでしょうか。
うまく説明できなくてすみません。よろしくお願いします。

599名無しさん@そうだ選挙にいこう :2006/04/13(木) 12:03:22
エクセルじゃなくてOE側の問題なんでしょうか?

600名無しさん@そうだ選挙にいこう :2006/04/13(木) 12:26:29
すみません、>>598です。599も私でした。
アウトルックスレ見つけたのでそちらで聞きます。
スレ汚し失礼しました。

601名無しさん@そうだ選挙にいこう :2006/04/13(木) 16:36:25
写真を貼り付けするとファイルサイズが巨大になってしまうのは
仕方ない事なのでしょうか?

602名無しさん@そうだ選挙にいこう :2006/04/13(木) 17:55:17
小さな写真を貼れば小さなファイルサイズ
大きな写真を貼れば大きなファイルサイズ
、、、これ定説です。

603名無しさん@そうだ選挙にいこう :2006/04/13(木) 17:57:25
1メガの写真を貼ればExcelのファイルサイズも1メガ以上になるのは仕方無い。
小さくしたければ写真のピクセル数を減らすとか画質を落とすとかするしかない。

604名無質問房 :2006/04/13(木) 18:28:47
初歩的な質問で申し訳ないのですが、


【1 OSの種類        .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの 回答の可否】 否
【5 検索キーワード     】 印刷について、

 データの印刷時に数値がずれて印刷されてしまいます。

 自分なりに具体的に言いますと、入力データはすべて右詰め、入力モードは直接入力で行っております。次に、印刷プレビ
ューでの確認では、入力データはすべて右詰めになっております。 しかし、実際用紙に印刷しますと、数値がすべて右端で
はなく、右端が 0 以外左側へ微小にずれて印刷されてしまいます。

 どのようにしたらズレを起こさずに印刷できるのでしょうか?どなたが教えていただけないでしょうか?

 (参考)
印刷プレビュー
0
15,260
2,805

印刷された用紙
15,260
2,805
0

こんな感じで印刷されてしまいます。


605名無しさん@そうだ選挙にいこう :2006/04/13(木) 18:45:45
>>601
挿入−図−ファイルから−画像ファイルを選択、って方法はダメ?
同じ写真(画像ファイル)でも、コピーペーストだとファイルサイズがデカくなる。

さらにファイルサイズ小さくしたいなら
画像ファイルを右クリック−書式設定−「図」のタブ−「圧縮」
−解像度で「Web/画面」を選択するとか。
こっちはExcel2002・2003限定だけど、元画像によっては効果薄いかも知れない。

606名無しさん@そうだ選挙にいこう :2006/04/13(木) 19:02:18
>>604
ちょっとぐらいのズレなんて気にするな
それがWindowsなんだよ


607名無しさん@そうだ選挙にいこう :2006/04/13(木) 19:40:58
【1 OSの種類        .】 Windows XP
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 はい
【4 VBAでの 回答の可否】 可
【5 検索キーワード     】 パスワードロック、保存、セーブ

VBAのソースを閲覧不能にするためにパスワードロックをかけました。
しかしこの状態で保存しようとすると、エラーが出てしまって、保存できませんでした。
VBAのソースにパスワードを書けたまま、状態保存するにはどうしたらいいのでしょうか。
よろしくお願いします。


608名無しさん@そうだ選挙にいこう :2006/04/13(木) 19:58:58
【1 OSの種類】 Windows98
【2 Excelのバージョン】 Excel2000
【3 VBAが使えるか】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 わかりません

ダウンロードしたブックを開いた後、VBEにプロジェクトが追加されてました
これを外したいのですがどうしたらいいですか

609名無しさん@そうだ選挙にいこう :2006/04/13(木) 20:07:45
エクセルで04897とか数字を入力したら0が消えて4897になってしまうのですが
0を表示させる方法ってないでしょうか?

マジレスお願いします

610名無しさん@そうだ選挙にいこう :2006/04/13(木) 20:14:36
>>609
最初に「'」をつけるか表示形式を「000000」にする。

611名無しさん@そうだ選挙にいこう :2006/04/13(木) 20:56:00
>>607
どんなエラーメッセージでるのよ

612名無しさん@そうだ選挙にいこう :2006/04/13(木) 20:57:13
>>608
Excel側のツール-アドインか、VBE側の参照設定でいらないの外せばいいんじゃないかな?
ダウンロードしたとこに聞くのが確実かもね

613607 :2006/04/13(木) 21:10:34
>>611

VBAプロジェクトが保護されているため、このファイル形式に保存することはできません。
VBAプロジェクトの保護を解除するには VisualBasicEditorの[ツール]メニューの[プロパティ]を選択し、プロジェクトのパスワードを入力します。
[OK]

ユーザーに使わせるんだけど、現状保存をさせたいのね。
でも、ソースコードの公開はしたくない。

614名無しさん@そうだ選挙にいこう :2006/04/13(木) 21:14:04
>>609
君が使ってるのはエクセルだよ!
数字(文字)と数値を使い分けよう

615名無しさん@そうだ選挙にいこう :2006/04/13(木) 21:29:11
>>613
xls形式で保存してそのメッセージ出るんだったら、ファイル自体が壊れてるのかも。
ロックしたら保存できないなんて考えにくい(そもそも、保存せんとロックかからんし)。

いったん別名で保存したり、新しいブックに内容をうつして保存でいけるんでないかな?

616615 :2006/04/13(木) 21:34:33
>>613
あ、それか上位バージョン(例えば2003)で作って保護かけたブックを
下位バージョン(例えば2000)で保存しようとしてるんだったら、一旦

1:上位バージョンでパスワード無い状態のまま下位バージョン形式で保存
2:1のブックを下位バージョンで開いてあらためてパスワードかける

ってしないと駄目かな。そっちの問題かもね。


617607 :2006/04/13(木) 21:34:47
>>615
パスワードロックをかけた初回の状態では保存できる。
次回起動して、VBAのパスワードロックを解除すると保存できる。
パスワードロックを解除しないで保存しようとするとエラーが出る。

別名保存も無理だった。
新しいブックはちっとやってみる。

618609 :2006/04/13(木) 21:50:40
>>614
えっと、それってどういうことで?

619608 :2006/04/13(木) 21:56:50
>>612
両方見たのですがだめです。VBEの方でチェックがついてなかったです
2ちゃんでダウンロードしました

620607 :2006/04/13(木) 21:57:48
>>617
サンクス。
Office2000だったから、97-2000形式で保存していた。
それをExcelWorkBook形式で保存したらいけるようになった。

上位バージョンでいじったことはないんだけどなぁ。

621名無しさん@そうだ選挙にいこう :2006/04/13(木) 23:07:10
【1 OSの種類         .】 Windows2000 Windows98
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】EXCEL 同じ数値 同じ値 同じ数字が リンク 自動的に セル

たとえばA1のセルに‘4’と入力すると自動的にA5のセルの値も
‘4’になる方法があればおしえてください
よろしくお願いします

622名無しさん@そうだ選挙にいこう :2006/04/13(木) 23:14:57
>>619
じゃあお手上げ┐(´∇`)┌
それ拾ったスレで聞いたほうがいいんじゃない?

623621 :2006/04/13(木) 23:16:40
EXCEL 同じ値 セル 
で検索したところ解決しました
ありがとうございました

624名無しさん@そうだ選挙にいこう :2006/04/13(木) 23:20:22
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 いずれか 含む 部分一致 excel 関数 countif リスト 条件付き書式

セル内に30文字程度の文字列があります。
その中に指定の文字(200種類以上)が含まれる場合に
セルの色を変えたいのですが

この場合、指定の文字のリストから参照させる方法はありますか?
条件付き書式に

=IF(OR(COUNTIF(A1,"*あ*"),COUNTIF(A1,"*い*"),,,,,),1,0)

みたいな感じでしましたが、これでは容量が大きくなりすぎるので
何か良い方法はないでしょうか。

よろしくお願いします。

625608 :2006/04/13(木) 23:37:54
>>622
このスレです

626名無しさん@そうだ選挙にいこう :2006/04/13(木) 23:39:24
>>624
エクセルの使い方を根本的に間違ってるとしか思えない。

627名無しさん@そうだ選挙にいこう :2006/04/13(木) 23:45:19
>>626は道具にこだわりすぎて仕事が出来ないタイプ

628名無しさん@そうだ選挙にいこう :2006/04/13(木) 23:49:52
>>624
=SUM(COUNTIF(A1,B:B))と入れてSHIFT+CTRL+ENTER
B列は *あ* *い* ....
かな

629名無しさん@そうだ選挙にいこう :2006/04/14(金) 00:27:54
>>624
いやこりゃ使い方まちがってんだろ

630624 :2006/04/14(金) 00:35:28
>>628
ありがとうございます!
ばっちりできました。

使い方としては間違ってるかもしれないですが
誰でも使えるチェッカーになるんですよ。

631名無しさん@そうだ選挙にいこう :2006/04/14(金) 02:07:24
【1 OSの種類         .】 Windows 2000
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel LEFT IF

今セルにA1に10000−01といった感じで「-01」という枝がついています。
これをB1:10000として表示させようと思い、=LEFT(A1,4)で表示させ、
それをもとにIFでC1に=IF(B1=10000,"ハズレ","アタリ")
といった表示をさせたいと思っています。

何度やってもB1=10000として認識してくれないようなのですが
どうやったら枝番以下を綺麗に削除することができるのでしょうか?

632名無しさん@そうだ選挙にいこう :2006/04/14(金) 02:15:18
>>631
×=IF(B1=10000,"ハズレ","アタリ")
○=IF(B1="10000","ハズレ","アタリ")


633名無しさん@そうだ選挙にいこう :2006/04/14(金) 02:17:53
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】2-D横棒グラフ 

商品名・数量・理由(例:りんご・3・カビ)という感じの表を2-D横棒グラフにしたいのですが理由の部分をうまく組み込めません。
なにかいい方法はないでしょうか?
理由の部分をX2軸に表示できないものかと思ったのですがうまくいきませんでした

634631 :2006/04/14(金) 02:27:45
速レスありがとうございます。

IFの計算はなんとかなりました。(こんな簡単なことだったのかOTZ)

あとD1:1000 D2:1500 D3:2000
とした場合、MATCH
=MATCH(C1,D1:D3,0)

ではC1と一致させられないようでエラーがでてしまいます。
なんとかならないものでしょうか・・・?

635名無しさん@そうだ選挙にいこう :2006/04/14(金) 02:39:40
>>634
数値と文字列がごっちゃになってない?
たとえばC1に「1000」と表示されるけど実は文字列になってるとか。

636631 :2006/04/14(金) 02:54:08
セルの書式設定のことでしょうか?
標準を選択してるんですが。。。
他にもあるんでしょうか?

637名無しさん@そうだ選挙にいこう :2006/04/14(金) 03:25:10
>>631

流れを見てみたけど、文字列操作てるでしょ。
C1は文字列として認識されているのかもね。

=MATCH(VALULE(C1),D1:D3,0)

としたらどうなる?

638631 :2006/04/14(金) 09:12:05
おはようございます。

すばらしく解決しました。かなり鱗が飛んでいきました。
ありがとうございました。

639名無しさん@そうだ選挙にいこう :2006/04/14(金) 11:26:19
>>631 蛇足だけど・・・
書式設定の「標準」ては、数値として扱えるものは数として
それ以外は文字列として扱いますよ。という意味。

しかし、LEFT関数などは文字列操作関数と呼ばれる一群。
これらで得た結果は、すべて文字列になってる。
たとえ、「123456」という数値から、左2文字を得て「12」として
一見数値として扱えそうじゃんと思っても、それは文字列。
これは、「123456」が右詰めになるのに対して、「12」が左詰になるのでもすぐ分かる。

まして、10000-01はもともと文字列、ここから切り出した「10000」は勿論文字列。
>>632の "10000" も文字列としての「10000」を表し、
>>637のVALUE()関数は、文字列→数値に変換してから、MATCH関数にかけている。

640名無しさん@そうだ選挙にいこう :2006/04/14(金) 14:47:26
【1 OSの種類         .】 WindowsXPsp2
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 ヘルプ(関数→一般的に使用される数式の例)を参考にしました
関数についての質問です。
手数料計算をしたいと思います。
取引した金額の0.1575%の手数料がかかるものとします。
40万円なら630円、50万円なら787円(少数以下切り捨て)という感じですが、
最低手数料が525円とします。ですから、30万円なら472円ではなく
525円となります。
よろしくお願い致します。

641名無しさん@そうだ選挙にいこう :2006/04/14(金) 15:15:48
>>640
HLOOKUPとかVLOOKUPとかを使う手段もあるし。
IFを入れ子にする手段もあると思いますよ。

642名無しさん@そうだ選挙にいこう :2006/04/14(金) 15:56:32
階段式じゃないから、この場合はIFでしょう。
入れ子にする必要もないし。

つFAQ>>7

643640 :2006/04/14(金) 16:23:12
>>641-642
レスどうもです。
IFでできました。
FAQにもありましたね。スマソ。

644631 :2006/04/14(金) 16:34:08
>>639

どうもありがとうございます。
1週間くらいずっと悩んで、=で別セルに飛ばして書式設定して・・・
みたいなアホなことしてました。
基本なしで関数扱うと痛い目にあいますね。


645名無しさん@そうだ選挙にいこう :2006/04/14(金) 19:20:19
こんばんは
私、アルバイト先で従業員のシフト管理をしております
次期のシフトを作成しようとしたところ、
今年はじめに作ったBookのファイルサイズが異様に増えていました
1月は300k→昨日みたら4Mを超えていました
職場のPCがゴミスペックなので(CPUが667MHzくらいだった)印刷もままなりません」
何が原因なんでしょうか・・・


【1 OSの種類         .】 Windows98
【2 Excelのバージョン   】 忘れてしまいました
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

646名無しさん@そうだ選挙にいこう :2006/04/14(金) 19:26:46
ずっと下(あるいは右)のセルにごみが入ってる、に一票。
要らんとこに書式設定がしてあったりとかしてないか?
列や行単位でいじってたりね。


647645 :2006/04/14(金) 19:30:07
>>646
あー一番上は作業時に確認しました
残りの二つを確認してみます

ファイルサイズが確か300k→1M→・・・4Mというペースで増えて非常に困る・・・

648名無しさん@そうだ選挙にいこう :2006/04/14(金) 20:11:46
>>647
新しいbook作って、要るとこだけコピペすればいいのではないかな。
シート一枚一枚新しいbookにコピーしていちいち保存してサイズ計ってみるって手もある。

649名無しさん@そうだ選挙にいこう :2006/04/14(金) 20:44:48
共有設定されてるとか

650名無しさん@そうだ選挙にいこう :2006/04/14(金) 21:46:34
>>624

'sheet1のA列 検索対象文字列
'sheet2のA列 検索単語 例:*>>627 はいはい。*
Sub 検索君()
a = 1: b = 1
Do Until Sheet1.Cells(a, 1) = ""
If Sheet1.Cells(a, 1) Like Sheet2.Cells(b, 1) Then
Sheet1.Cells(a, 1).Select
With Selection.Interior
.ColorIndex = 37
.Pattern = xlSolid
End With
a = a + 1
b = 1
Else
If Sheet2.Cells(b, 1) = "" Then
b = 1
a = a + 1
Else
b = b + 1
End If
End If
Loop
End Sub

651名無しさん@そうだ選挙にいこう :2006/04/14(金) 22:02:59
>>647
以前に同じ様な現象がありましたよ。
その時は図形が描画されているセルを列(もしくは行)削除、
というのを繰り返し行っていたのが原因でしたが。


新しいブックにコピペするのが最もよいでしょう。

652608 :2006/04/15(土) 02:03:02
やはり再インストールになりますかね

653名無しさん@そうだ選挙にいこう :2006/04/15(土) 11:43:11
>>650 残念ながら >627に胴衣
Sub hoge()
  For i = 1 To Sheet2.Range("A65535").End(xlUp).Row
    For j = 1 To Sheet1.Range("A65535").End(xlUp).Row
      If Sheet1.Cells(j, 1) Like ("*" & Sheet2.Cells(i, 1) & "*") Then Sheet1.Cells(j, 1).Interior.ColorIndex = 37
    Next j
  Next i
End Sub

654名無しさん@そうだ選挙にいこう :2006/04/15(土) 20:00:53

VBAからcsvファイルを開く時に、
「2006/4/8」と記入されているセルのデータが
「2008/6/4」に変更されてしまいます。

ちなみに

「2006/4/8」→「2008/6/4」
「2006/4/9」→「2009/6/4」
「2006/4/10」→「2010/6/4」
「2006/4/11」→「2011/6/4」

というような感じで間違った値で表示されちゃいます。

VBAではなく普通に開くときちんと表示されます。
なぜなんでしょう????

ちなみ2003です。

655名無しさん@そうだ選挙にいこう :2006/04/15(土) 20:38:47
>>654
Excel97でさんざんそれに悩まされたのを思い出した。
結局俺はその日付については頭に「'」を入れて強制的に文字列に
することで済ましたけど。

全然解決策にはなってないんでスマンが。

656名無しさん@そうだ選挙にいこう :2006/04/15(土) 21:05:45

Windows XP で Excel2003 を使っています。
セルの中の値によってセルの色を変化させたいんですが、
どうやったらいいんでしょうか?
たとえば60以下なら赤、70までなら黄色、
80以上なら青というようなことなんです
すみませんが、どなたかよろしくお願いいたします



657名無しさん@そうだ選挙にいこう :2006/04/15(土) 21:14:54
>>654

VBAだと英語圏風にdd/mm/yyyyっていうふうに取得しなかったっけ?


658名無しさん@そうだ選挙にいこう :2006/04/15(土) 21:25:08
>>656
条件付き書式で3つ(既定色を含めれば4つ)までは設定出来る。
それ以上はVBAで。

659名無しさん@そうだ選挙にいこう :2006/04/15(土) 21:27:46
【1 OSの種類         .】 Windows XP HomeEdition SP2
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 はい(多少)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel VBA 印刷

初めまして。
いま、訳あって、ちょっとしたプログラムをExcelのVBAで書いています。
内容は、Excelに投入したデータから必要なデータを抽出して、Form上に
格好良く表示するというものです。
Try & Errorを繰り返しながら、抽出・表示はできるようになりました。

今度は表示したFormに印刷ボタンをつけて、Formをそのままのイメージで
印刷したいと思っています。いろいろと文献をあたったり、上記キーワードで
ググったりしたのですが、WorkSheetの印刷はあってもFormの印刷は
ありません。

なにか裏技みたいなのがあるのでしょうか?
皆さんのお知恵を拝借させてください。宜しくお願いします。

660名無しさん@そうだ選挙にいこう :2006/04/15(土) 21:33:18
657訂正

× VBAだと英語圏風にdd/mm/yyyyっていうふうに取得しなかったっけ?

○ VBAだと英語圏風にmm/dd/yyyyっていうふうに取得しなかったっけ?



661名無しさん@そうだ選挙にいこう :2006/04/15(土) 21:48:39
>>659
茨の道です。それ用にExcelのフォーマット用ファイルを作って、
開いてデータを放り込んで印刷して閉じる、っつー手順を
オートメーションで踏んでください。

つうか、抽出&表示&印刷ならAccessが得意です。

662659です :2006/04/15(土) 22:23:43
>>661
レスありがとうございます。
フォーマット用ファイルってなんでしょうか?f(^^;)
基本的なところかもしれませんが。。

>つうか、抽出&表示&印刷ならAccessが得意です。

はい、最初はAccessを使おうかと思ったのですが、そもそも
アプリケーションを持っていなかったので、プレインストール
されていたExcelを使ってます(汗あせ)


663名無しさん@そうだ選挙にいこう :2006/04/15(土) 22:25:20
> ググったりしたのですが、WorkSheetの印刷はあってもFormの印刷は
> ありません。
そりゃそうだろうな。Formに関することはExcelではなくVB側を調べるべきなので
Excelユーザーフォームにも通用するVBのFormに関する解説が腐るほどあるのに
わざわざVBAユーザーフォームに限って事細かに解説することは少ない。
それに抽出の部分はExcelに関係するが、
「Excelシート→<抽出>→VB Form(VBAユーザーフォームの実体はVB Formの簡易版)→<印刷>→紙面」の場合
Formから先はExcel関係ないので>>2・7


664名無しさん@そうだ選挙にいこう :2006/04/15(土) 22:48:30
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

フォームがいくつもあるエクセルのファイルを作りました。
それらを統括するフォーム(メインフォーム)を作りたいのですが
自動でフォームのリストをメインフォームのコンボボックスに追加する方法はないでしょうか?
今は
 cb.AddItem frmA.Caption
 cb.AddItem frmB.Caption
 ...
という感じで自分で列挙してやっています。
よろしくお願いします。

665名無しさん@そうだ選挙にいこう :2006/04/15(土) 22:52:09
>>658
Thanks!!

666名無しさん@そうだ選挙にいこう :2006/04/15(土) 22:52:45
非保護のセル間で、切り取り→貼り付けをしたら、書式や数式も移動します。
書式のコピーや移動はまだしも、数式が移動するのは思わぬ計算ミスにつながります。
何かいい方法がないものでしょうか?

667名無しさん@そうだ選挙にいこう :2006/04/15(土) 23:13:29
移動しない

668名無しさん@そうだ選挙にいこう :2006/04/15(土) 23:36:44
>>660
テキストでCSVを開いて見て、
さっき自分もそれに気づいた。

しょうがないので、間違った日付を
修正する関数作ったので一応解決できました。

669659です :2006/04/15(土) 23:43:27
>>663
お助け、ありがとうございます。
おっしゃるとおり、Excelとは別ですね。
で、VB Form 印刷 をキーにしてググったら、いろいろ出てきまして、
これかなって方法を試したら、印刷できました。

その方法とは、「printform」この1行だけでした。

ただプレビューとかダイアログが一切なしで、いきなり印刷処理に
入ったので、その辺のところをもう少し何とかします。

アドバイスありがとうございました。

670名無しさん@そうだ選挙にいこう :2006/04/16(日) 00:37:24
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 業務 集計
振り分けで数字を表示させる方法で質問です。
セル表示で(A)なら100000×数字(B)なら1000×数字、(C)なら10×数字、
Dなら1×数字と言うふうに表示させたいのですが?
( )には日本語が入ります。
数字に1〜6入力させて答えを出したいのですが?




671名無しさん@そうだ選挙にいこう :2006/04/16(日) 01:37:03
>>670
よくわかrん

672名無しさん@そうだ選挙にいこう :2006/04/16(日) 08:54:54
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】Excel 登場回数? 出現回数?

例えば貸出票みたいなもので↓の様に
    A    B
1 安倍さん  1回目
2 伊藤さん  1回目
3 安倍さん  2回目
4 上田さん  1回目
5 江川さん  1回目
6 伊藤さん  2回目

A列に不特定多数の名前を入力→B列に何回目の貸出になるのか
といったことを自動計算で表示させたいのですが
ぐぐっても自力で見付け出せず。
rankやcount関連でも関数式を思い付けませんでした。
VBA全く出来ないのですが、やはりVBAになるのでしょうか?

673名無しさん@そうだ選挙にいこう :2006/04/16(日) 09:33:53
>>670
=VLOOKUP(??,??,??)×数字

>>672
不特定多数のデータ処理はVBAが便利じゃないかな
まあCOUNTIF関数でも出来るけど
セルB2:=COUNTIF(B$1:B1,B2)+1 以下コピー

674673 :2006/04/16(日) 09:38:01
>>672
セルB2:=COUNTIF(B$1:B2,B2)
この方が良かったかな?
確かめてないので適当にやって

675名無しさん@そうだ選挙にいこう :2006/04/16(日) 09:39:14
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 業務 集計
わかりにくいと言うことで再質問します。

セルで入力規制した文字(みかん)に100000×A、(りんご)に1000×B、
(ナシ)に10×C、 ブドウに1×D の式があり、掛ける値を
別セル手動入力で1〜6の値のいれ数字を出したいのです。


676672 :2006/04/16(日) 09:54:21
>>673-674
ありがとうございます!ずっと悩んでいたのがこんなにもあっさり解決するとは…
セルB2:=COUNTIF(A$1:A1,A2)+1 もしくは
セルB2:=COUNTIF(A$1:A2,A2)
で出来ました。ありがとうございました。

677名無しさん@そうだ選挙にいこう :2006/04/16(日) 10:18:40
>>675
見事に説明が下手だね。
今作ってる表から具体的に説明すれば!

結局、答えは >>673だったりして

678名無しさん@そうだ選挙にいこう :2006/04/16(日) 15:40:06
名前の項目を基準にあいうえお順に並び替えさえるにはどうしたらよいのでしょうか?

679名無しさん@そうだ選挙にいこう :2006/04/16(日) 15:45:10
>>678
ソート

680名無しさん@そうだ選挙にいこう :2006/04/16(日) 15:47:17
ソート?

すいません、どこにあるのでしょうか?

681名無しさん@そうだ選挙にいこう :2006/04/16(日) 15:53:03
質問に答えていらっしゃる皆さんは独学で学ばれてスキル身につけたんでしょうか?
これから本かって勉強しようと思っているのですが、このスレの内容が高すぎてさっぱりです。
やっぱりどこかスクールに通われたんでしょうか?

682名無しさん@そうだ選挙にいこう :2006/04/16(日) 16:03:19
>>680
A Zに↑とか↓の矢印付いたアイコン。

或いは
データ→並び替え

683名無しさん@そうだ選挙にいこう :2006/04/16(日) 16:04:12
自宅に戻ったら早速試してみます、ありがとうございました

684名無しさん@そうだ選挙にいこう :2006/04/16(日) 16:22:49
>>681
Excelは、そこまでのバカは対象外です
早々にお引き取りください

685名無しさん@そうだ選挙にいこう :2006/04/16(日) 16:48:51
>681
入門書があればOK!仕事で使ってりゃ否が応でも覚えるよ
でも小学生レベルの算数が分ってなきゃ論外だね

686名無しさん@そうだ選挙にいこう :2006/04/16(日) 17:14:28
というかVBA以外は適当に使ったりヘルプ見たりしてれば
自然と身に付くもんだと思うが

687名無しさん@そうだ選挙にいこう :2006/04/16(日) 17:55:43
【1 OSの種類         .】 WindowsXP sp2
【2 Excelのバージョン   】 Excel2000 2003

3〜5はおそらく関係ないと思うので省きます。

PC
 NEC VL370
症状
 Excelの表示を改ページプレビューにしているファイルの読み書きに以上に時間がかかる
1シート当たり4秒程度かかる。そのためシート数が多くなると倍数で読み書きに時間がかかる

また表示を標準に設定してあっても 印刷プレビューを表示した後戻ると遅くなる

他のPCでは上記症状が出ないためPCのせいだと思います。
また他のソフト(業務用・JW-cad等)では症状が出ません。
同じofficeのWordは使用してないため確認が取れない。

Excelにしか現れない症状ですがNEC独特な物だと思います。
このような経験をされた方解決策を教えていただけませんでしょうか。

またここに質問するのもどうかと思いましたが、PC板を観ましたが
適切と思われるスレッドを見つけきれませんでした。
もし他のスレッドで適切だと思われるところがあれば誘導していただければ
そちらで伺おうと思いますので宜しくお願いします。


688名無しさん@そうだ選挙にいこう :2006/04/16(日) 18:28:50
>>687
NEC持ってないしその現象は見た事無いけど、
プリンタドライバ側の問題な気が。

EPSONかどっかのドライバ適当に入れてみて、
そいつでプレビューでも再発するか確認をしてみれば?

689名無しさん@そうだ選挙にいこう :2006/04/16(日) 19:09:41
私もプリンタードライバーを疑ってみた
キャノンから出ているSP2対応のドライバーに変更してみたが同じ症状

6年ほど前に9821であるCADが以上に重かった経験を思い出したが
その原因が常駐ソフトだったとおぼろげながら記憶している
ただなんともいえないので皆さんの力と経験を貸していただけたらと思います

指摘された方法は使用者の許可をとり明日試して見ます

690名無しさん@そうだ選挙にいこう :2006/04/16(日) 21:49:28
Excel2003です。

DAVERAGE関数で
Criteria式の部分にセル範囲を選択するのではなく、
条件式を直接書き込みたいのですが、

例えば、

フィールド1 が 10以上
フィールド2 が 空白でない

のAND条件を指定するにはどうすればいいでしょうか??

なるべく今日中でお願いします!


691659です :2006/04/16(日) 22:01:56
>>687
マクロが混入してない?

692名無しさん@そうだ選挙にいこう :2006/04/16(日) 22:03:29
>>687
ツール/オプション/の
[表示][ウインドウオプション]の
[改ページ]チェックをはずす

遅くなる原因は印刷範囲の描画が、エクセルを操作するたびに
再描画しなおしているためだと想われる

693名無しさん@そうだ選挙にいこう :2006/04/16(日) 22:26:56
>>691
わっはっは。変なコテハンつけちゃった。

694名無しさん@そうだ選挙にいこう :2006/04/16(日) 22:35:58
>>690
無理。そういう関数じゃないから。

695名無しさん@そうだ選挙にいこう :2006/04/16(日) 22:40:32
>>690
急ぐんならヘルプ見れば、、、

データベース関数は検索条件を複数設定できるから
すぐ解決するよ

696名無しさん@そうだ選挙にいこう :2006/04/17(月) 00:36:25
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 時間

A1にNOW関数で時間を入れておき、
B1にA1から持ってきた時間帯によって日常の挨拶が表示でるようにしたいです。
2〜10時・・・おはようございます
10時〜17時・・・こんにちは
18時〜2時・・・こんばんは
↓までは出来たんですが<3と>17のところが違うと思うんですが
どうしたらいいか、ずっと考えてもわかりませんorz
=IF(A1<3,"おはようございます",IF(A1>17,"こんばんは","こんにちは"))
宜しくお願いします。

697名無しさん@そうだ選挙にいこう :2006/04/17(月) 01:38:47
>>696
HOUR関数を使え

698名無しさん@そうだ選挙にいこう :2006/04/17(月) 14:02:37
以前打ち込んだ文と似た文を入れようとすると最初の数文字がそれと同じ場合、自動的に以前の文が表示されて
エンターを押すと以前打ち込んだ文が入力される機能がありますけど、あれはどういった名前の機能なんですか?
その設定を向こうにしたいのですが、教えてください。

699名無しさん@そうだ選挙にいこう :2006/04/17(月) 14:25:14
>>698
オートナンタラ

700名無しさん@そうだ選挙にいこう :2006/04/17(月) 14:39:16
ナンタラコレクト

701名無しさん@そうだ選挙にいこう :2006/04/17(月) 15:52:49
質問なんですが、
1行目に項目名を入れて2行目以下に数字を入ったシートで、
シート全体を、たとえばA列の降順にソートしたいんですが、
1行目だけはソートしても動かないように固定したいんですが、
やり方あればご教示いただけませんでしょうか?

702名無しさん@そうだ選挙にいこう :2006/04/17(月) 16:01:14
2行目から好きなだけドラッグしてうまく選べたらソート

703名無しさん@そうだ選挙にいこう :2006/04/17(月) 16:16:27
>>702
すみません、行数が多く、
(A1セルの左上の四角い部分を左クリックして、シート全体を選択して)
シート全体でソートしたいんです。
すみませんが、よろしくお願いいたします



704名無しさん@そうだ選挙にいこう :2006/04/17(月) 16:41:23
1行目を別シートに保存。
1行目を削除してシート全体でソート。
保存しておいた1行目を挿入。


705名無しさん@そうだ選挙にいこう :2006/04/17(月) 16:55:00
並べ替えで先頭行をタイトル行にすればいいだけじゃないの?

706名無しさん@そうだ選挙にいこう :2006/04/17(月) 17:39:00
702と704は、
恥ずかしくて恥ずかしくて
入る穴を探しています


707名無しさん@そうだ選挙にいこう :2006/04/17(月) 19:17:34
>>691
マクロの存在はVBAと範囲名称も確認してあるので100%ないとおもう。
それと今日ドライバーを入れ替る予定でしたが締め切り前で使用者の都合がつかず
延期となりました。

>>962
作業時は改ページプレビューでも標準でもそれほど変わりは有りません。
また保存時に改ページプレビューをはずすと保存が早くなることは確認済みです。
ただ一度印刷すると標準表示でも印刷範囲が破線で囲まれますよね。
その状態になると保存時に重くなる。
改ページプレビューの状態で保存してそのファイルを開くとシート数に比例して時間がかかる
おおよそ1シートあたり4〜6秒かかるので5シートあれば20秒から30秒

原因に思い当たるところが無く悩んでます。


708名無しさん@そうだ選挙にいこう :2006/04/17(月) 20:04:54
>>707
>ただ一度印刷すると標準表示でも印刷範囲が破線で囲まれますよね。
>その状態になると保存時に重くなる。

よく読みな、692がその対処と原因の推測だろ


709名無しさん@そうだ選挙にいこう :2006/04/17(月) 20:20:51
いや、思い当たるも何も。プリンタドライバとの通信の問題以外ありえないじゃん。馬鹿ですか?
もともとExcelはプリンタドライバとの通信に異常に時間がかかるアプリ。相性もあって、
ユーザー側ではどうにもならない問題。
改ページプレビューモードなんてExcelの一番苦手なことをいきなりやってんじゃ、遅いのは当然過ぎる。
めがねを頭の上に載せてどこにいったかわからないと深刻に悩んでるようなもんでしょ。

対策は簡単。改ページプレビューモードをやめる。
どうしてもやりたいなら、普通に保存しておいて手作業で毎回改ページプレビューモードにする。

710名無しさん@そうだ選挙にいこう :2006/04/17(月) 20:34:44
>>703
何故にシート全体を選択するですぅ?
何を基準にソートしたいんですかぁ?
ソートする列を選択すればいいんじゃないのですかぁ?
ソート基準が複数あれば、データメニューから該当するコマンドを使えば良いんじゃないですかぁ?

以上、釣りに対するレスでした。w

711707 :2006/04/17(月) 21:22:14
708,709
他のマシン(同じNECでsp1)ではその症状が出ない
プレビューを止めと良くなるって事は最初(687)に書きました
その上でそういうことになって解決した方がいないかって事です。


712名無しさん@そうだ選挙にいこう :2006/04/17(月) 22:20:44
>707と回答者
共に気持ちが通じ合わないみたいですね



なんだか面白い

713707 :2006/04/17(月) 22:42:20
>>712
面白っちゃあ、面白いですね。こういう症状は初めて当りました。
この症状 何処に原因があるか確かめたいのですが
なんせこのPCにだけインストールしてあるソフトもあり締め切りが迫り
今ピークなので止めて試すってことが出来ないのです。
おもしろついでに先週末にチョット試した事を
何処に原因があるかってことでシートを一つ残し削除しました。
そしてシート全体を選択して削除しても同じく遅い
その後シート全体を選択して罫線を削除 それでも同じ
エクセルを終了し再起動後sheet1だけ残して保存すると瞬時に保存出来る
その状態で画面をドラッグして印刷範囲を設定すると保存に4秒程度かかる
多分マシン特有な物だと思う同じ症状に当った方はいないのだろう
この物件が落ち着き次第NECに連絡とってみる事にします。


714名無しさん@そうだ選挙にいこう :2006/04/17(月) 23:56:25
質問です
指定した範囲に1,2,4,6,10など数字がある場合
その中で、例えば「2より大きくて7より小さいセルの数」を
数えたい場合の数式を教えて下さい!!

715名無しさん@そうだ選挙にいこう :2006/04/18(火) 00:01:54
プリンタの機種名とドライバのバージョンぐらい書けばいいのに・・・

716名無しさん@そうだ選挙にいこう :2006/04/18(火) 00:05:33
>>714
COUNTIFかもしれない

717名無しさん@そうだ選挙にいこう :2006/04/18(火) 00:40:13
>>716
ありがとうございます
countifで調べてみました
=countif(b5:b11,">55")
というような例があり
この場合b5からb11の中で
55より大きい数のあるセルの数がわかります。
ただ、条件が「2より大きくて7より小さい」
といったような場合はどうしたらよいか・・・
わかりません(長くなりました・・・すみません)

718名無しさん@そうだ選挙にいこう :2006/04/18(火) 00:51:16
7より小さいものから2以下のものを引く
あるいは、配列数式、SUM、IF等を組み合わせる

719名無しさん@そうだ選挙にいこう :2006/04/18(火) 00:58:30
7より小さいものから2以下のものを引く・・・で
解決しました!
ありがとうございました

720名無しさん@そうだ選挙にいこう :2006/04/18(火) 09:24:46
>>707
まず「私は間違っていない」って
考えるタイプの人なんだろうな
忍耐強い人、教えてあげて


721名無しさん@そうだ選挙にいこう :2006/04/18(火) 11:03:12
少し古いバージョンで2000なのですが、
セル内のデータが>0のときに強調表示する(又は色を変えるなど)
ということは出来るのでしょうか?

722名無しさん@そうだ選挙にいこう :2006/04/18(火) 11:20:04
>>721
いたって初歩的な操作、簡単にできるよ
ヘルプで「書式」関連を調べてごらん

723名無しさん@そうだ選挙にいこう :2006/04/18(火) 11:32:39
解決しました。ありがとうございました。

724名無しさん@そうだ選挙にいこう :2006/04/18(火) 13:41:00
>>700
オートコレクトとオートコンプリートを近藤しないように。

725名無しさん@そうだ選挙にいこう :2006/04/18(火) 14:46:15
>>724
勇足であった・・・・orz

726名無しさん@そうだ選挙にいこう :2006/04/18(火) 15:56:34
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】枠固定 印刷

枠固定をした表の部分印刷がしたいとき
印刷の範囲とともに固定した枠の行・列を印刷することは可能でしょうか?
それとも大きくなった表はシート分けして印刷するしか方法はありませんか?




727名無しさん@そうだ選挙にいこう :2006/04/18(火) 16:33:53
>>726
意味分んないけど
ページ設定の印刷タイトル
あたりを調べてみ

728名無しさん@そうだ選挙にいこう :2006/04/18(火) 16:43:39
http://j.pic.to/41q6m

729名無しさん@そうだ選挙にいこう :2006/04/18(火) 16:46:32
>>727
その通りでした!!
意味わかない書き方なのに、ご理解頂きありがとうございます!!!

730名無しさん@そうだ選挙にいこう :2006/04/18(火) 17:57:33
質問です。

バージョン:Excel2003
データ→入力規則→リスト
でリスト範囲を選択するときに不連続なセルを選ぶにはどうすればよいでしょうか?
カンマで区切ってもうまくいきませんでした。。
VBAを利用する方法でもかまいません。

教えて下さい。よろしくお願い致します。

731名無しさん@そうだ選挙にいこう :2006/04/18(火) 18:40:03
>>730
乱暴に言うとデータをひとまとめにしたものがリスト
まずデータを集めてリストを作ろう

732名無しさん@そうだ選挙にいこう :2006/04/18(火) 22:29:39
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 集計

1日の集計
     科目A  科目B  科目Cまで 
名前1  あ     は     あ     
名前2  し     し      は
名前3  は     は     は           
以下200人
それぞれコースが”あ”は”き”し”と4つあります
月末に名前ごとに各合計を出したいのですが良い方法ありませんか?
同じ集計が1日から31日まで作製されます。
また1日のDATAが台帳へコピーされます。
串刺しは200人もいるのでシート作製できません。

そこからまた名前ごとに伝票を印刷するのですがいままで○でしていたのですが
回数記入にしようと思います。
表は横に科目縦に1日から31日です。
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 時間




733名無しさん@そうだ選挙にいこう :2006/04/18(火) 22:35:45
自分で色々と調べたのですが判りませんので
よろしくお願いします。
A列に入れた数字+B列に入れた数字=C列に自動で出すのは
どうすれば良いんでしょう?
  A   B   C
1 100 100 =a1+b1 ←これで下にドラッグしていけば出るだろうけど・・
2 100 50      このやりかたでは無くて、
 
A列に数字入れて、B列に数字を入れると何処の行でも
自動でC列に表示される方法です。


734名無しさん@そうだ選挙にいこう :2006/04/18(火) 22:40:14
>>733
A1&B1

735名無しさん@そうだ選挙にいこう :2006/04/18(火) 22:40:52
違った・・・・orz

736名無しさん@そうだ選挙にいこう :2006/04/18(火) 22:48:04
>>733
何でその方法ではあかんの?

737名無しさん@そうだ選挙にいこう :2006/04/18(火) 22:48:36
全体を選択して

738名無しさん@そうだ選挙にいこう :2006/04/18(火) 22:58:47
もう春なのか、こいつら脳みそから虫が沸いて出てるな

739659です :2006/04/18(火) 23:23:13
>>733
C1の数式をC列にダーっとコピーすれば、
A列・B列に数字を入れなければC列には0が表示されて、
A列・B列に数字を入れればC列の数式にあった解が表示されるけど。

もしかして、0が表示されるのがだめなの?


740名無しさん@そうだ選挙にいこう :2006/04/19(水) 02:40:40
色々調べましたが分りません(と言うか元々出来ないのでしょうか?)。
例えば
  A 
1 あ
2 い
3 あ

と入れた場合、自動的に「あ」で重複するA1とA3のセルの色(または文字の色)
を換えることは出来ないのでしょうか?
宜しくお願い致します。


741名無しさん@そうだ選挙にいこう :2006/04/19(水) 08:57:42
>>740
「Excel 重複チェック」でぐぐっただけで出て来るんだが…。
http://www.juno-e.com/excel/waza/waza32.htm

742名無しさん@そうだ選挙にいこう :2006/04/19(水) 11:54:13
>Excel総合相談所・雑談・議論スレ
>399
>春はヘルプでも判る基本的な質問のオンパレード
>夏は厨房の嵐で大騒ぎ
>秋は知ったかぶりの解答神が横行し
>冬は問題集の質問
>毎年こんな事が繰り返されてるような???

当ってるな

743名無しさん@そうだ選挙にいこう :2006/04/19(水) 13:15:33
春と夏はイルカの責任だと思う

744名無しさん@そうだ選挙にいこう :2006/04/19(水) 14:04:49
【1 OSの種類         】 WindowsXP
【2 Excelのバージョン  .】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel 文字列変換

関数に関する質問です。
A  B     左記(表1)のような顧客コードの一覧があるとします(重複有)。Bは数値です。
 1 001    別シート(表2)に、下記のような顧客コードの一覧があるとします(重複無)
2 013 
1 008      A     B
3 114     1001   末日締
ア 001     1002   20日締
ア 001        (省略)
オ 002     ル001   末日締
 ・  ・      ワ001   25日締
 ・  ・      ワ002   末日締
 ・  ・

表1のC列に表2より抽出したB列の内容を表示させたいです。
CONCATENATE関数で表1のA列とB列を合わせ、表2をVLOOKUPで抽出しようかと思いましたが
表1B列が数値のため(表示をユーザー定義で000にしているだけ、入力都合上数値である必要有)、
上から"11","213","18"・・・という形になります。
表1B列を他の列で文字列に変換してCONCATENATE関数で合わせようかと試みましたが
0を表示した3桁で文字列変換できるには至っておりません。
表2A列をLEFT、RIGHT関数で別々にしてどうにか・・・とも考えましたが、その2列が同一の場合に表2の
B列を抽出する方法、が今度はスキル不足で考案できません。
上記と全く違うアプローチでも構いませんので、上記条件下における表2B列の上手い抽出方法を
ご教授いただければ幸いです。

745名無しさん@そうだ選挙にいこう :2006/04/19(水) 14:16:53
> 0を表示した3桁で文字列変換できるには至っておりません。
=TEXT(A1,"000")
=RIGHT("000"&A1,3)

この部分が解決できればあとは自分で何とか出来るってことだよね?

746名無しさん@そうだ選挙にいこう :2006/04/19(水) 14:21:02
  A  B  C
1 1 001 1001
2 2 013 2013
3 1 008 1008
4 3 114 3114
5 ア 001 ア001
6 ア 001 ア001
7 オ 002 オ002

VLOOKUP検索値を得られれば良いんですよね?
取り合えず、C列の値でOK? だったら、C1には、

=A1&REPT(0,3-LEN(B1))&B1

と入力すれば、あとはドラッグして出来ますよ。


747名無しさん@そうだ選挙にいこう :2006/04/19(水) 14:25:02
>>745
それじゃ何とか出来ないよね?

748名無しさん@そうだ選挙にいこう :2006/04/19(水) 14:38:47
>747
そうでもないよ

749744 :2006/04/19(水) 14:49:37
早速のご回答ありがとうございました。

>>745 まず、これらの関数での表記方法自体を知りませんでした、ありがとうございます。
     この表記+CONCATENATEで4桁表示できました。
>>756 の方法でも4桁表示できました、ありがとうございます。

それぞれの方法の理屈は追ってヘルプを見て確認・勉強し理解してきます。

ただ、表記上は4桁になったのですが、4桁にした数値(文字列?)を仮に表1のC列として、
=VLOOKUP(C1,表2!$A:$B,2,FALSE)
でも#N/Aエラーになります。
=VLOOKUP(1001,表2!$A:$B,2,FALSE)
だと"末日締"表示されるので、恐らく表上(か私の頭の中か^^;)で
文字列と数値がごっちゃになってるのかと。
これは別問題として自分なりに試行錯誤してみます、ありがとうございました。

750名無しさん@そうだ選挙にいこう :2006/04/19(水) 14:52:31
>>732

>月末に名前ごとに各合計を出したいのですが
>良い方法ありませんか?
>表は横に科目縦に1日から31日です。

 なんの合計ですか?
 名前ごとのシートを200余人分作り、
 一覧表をつくりたいということかな?

>同じ集計が1日から31日まで作製されます。
>また1日のDATAが台帳へコピーされます。

 どんな風に作成されるのですか?
 同じシート内? 同じブック内?「台帳」って何?
 INDIRECT関数でなんとかなるかな?

>そこからまた名前ごとに伝票を印刷するのですが
>いままで○でしていたのですが回数記入にしようと思います。

 「○でしていた」って何を?
 「回数記入」って何?


751740 :2006/04/19(水) 14:55:45
>>741
おかげさまで分りました。
ありがとうございました。

752名無しさん@そうだ選挙にいこう :2006/04/19(水) 14:58:45
>>749

>ただ、表記上は4桁になったのですが、
>4桁にした数値(文字列?)を仮に表1のC列として、
>=VLOOKUP(C1,表2!$A:$B,2,FALSE)
>でも#N/Aエラーになります。

こっちはエラーにならないですよ。 ちゃんと返ります。

753名無しさん@そうだ選挙にいこう :2006/04/19(水) 15:07:49
>>733

もし、
「A列とB列の両方に入力するまでC列を空白に
しておきたい」という希望なら、

=IF(COUNT(A1:B1)=2,A1+B1,"")

でいいですが。


754744 :2006/04/19(水) 15:20:02
>>752

表2A列セルをセルの書式設定で表示形式文字列にして、
数字を上から入力してセル左上の緑のエラー表示
「数値が文字列として保存されています」が出る状態にしてみたら
>>745 >>746どちらの方法でもVLOOKUPで抽出できました。
(表2データをTEXT関数で文字列変換する方法では駄目でした)
元のデータの問題だったみたいです。本当にありがとうございました。

755名無しさん@そうだ選挙にいこう :2006/04/19(水) 17:47:30
マクロのことで質問です!マクロ(VBA)が記述されているエクセルで
マクロを有効にしていないとブックを開かないようにすることはできるのでしょうか?
よろしくお願いします

756名無しさん@そうだ選挙にいこう :2006/04/19(水) 18:01:10
>>755
そのまんまの設定は無いけど、頭使えば出来るよ
やり方は>>1★1〜4を守ってないので自分で考えて

757名無しさん@そうだ選挙にいこう :2006/04/19(水) 18:22:27
解決方法書かないなら書き込むなボケ

758名無しさん@そうだ選挙にいこう :2006/04/19(水) 18:28:31
>>757

ヒント:>>3

759名無しさん@そうだ選挙にいこう :2006/04/19(水) 18:55:51
>>755
閉じるときにウィンドウ隠して、開くときにマクロで再表示させればいいんじゃね?
基本こんなで。

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Windows(ThisWorkbook.Name).Visible = False
ThisWorkbook.Protect Password:="abc", Windows:=True
ThisWorkbook.Save 
End Sub

Private Sub Workbook_Open()
ThisWorkbook.Unprotect Password:="abc"
Windows(ThisWorkbook.Name).Visible = True
End Sub

760名無しさん@そうだ選挙にいこう :2006/04/19(水) 19:10:37
>>750
>>732
レスありがとうございます

>名前ごとのシートを200余人分作り、
>一覧表をつくりたいということかな?

名前の人が来院した数です。
パソコンがぼろいので200ー500人ぐらい串刺し集計を使うと
止まりますので・・・

>どんな風に作成されるのですか?
>同じシート内? 同じブック内?「台帳」って何?
>INDIRECT関数でなんとかなるかな?

1日の記入表から名前一人ずつのサービス科目を便宜上
1、100、10000、と分けていました。そのDATAを別のブックのシートへリンクさせています。
1日例 名前1  101 意味(あ1回、は1回、き0回)、名前2 10001 意味(あ1回、は0回、き1回)

シングルは1、ダブル2を掛ける

名前3 202  意味(あ2回、は2回、き0回)、名前4 3003 意味(あ3回、は0回、き3回)

続きは下記



761名無しさん@そうだ選挙にいこう :2006/04/19(水) 19:11:09
>>750
続き
現在はそのコピーされたシートの縦軸に名前、横軸に日付、で順番に加算されます。
月末になると数字が増えますが、合計を割り算をすると何回が出ます。
今度から(あ)(は)(き)がそれぞれあ1、あ2、は1、は2、き1、き2、と細分化され
101010と言った方式では桁数が莫大となり悩んでいます。 いままでは

10000  =IF(AS5=0,"",INT((AS5-BK5*1000000)/10000))
100    =IF(AS5=0,"",INT((AS5-BK5*1000000-BD5*10000)/100))
1      =IF(AS5=0,"",INT((AS5-BK5*1000000-BD5*10000-BG5*100)))
でそれぞれのあはきの回数がでます。


>「○でしていた」って何を?
>「回数記入」って何?

月末になると名前ごとに伝票を作ります。縦に1〜31の日にち、横にあはきの数で
名前をプルタウンより選択すると該当するところに自動に○が出ていました
○印のセルの数式は=IF(AE55=0,"","○")のみです。
AE55というセルもどこにあるかみあたりません。またシートは他にないようです。

これからは該当するところに、あは1回、はは2、きは3と言う風回数を付けたいのです。





762名無しさん@そうだ選挙にいこう :2006/04/19(水) 19:27:49
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

aa,bb,4,cc
これを文字列aa,bb,ccを変えずに
aa,bb,4,cc aa,bb,5,cc aa,bb,6,cc aa,bb,7,cc
このように数字だけをひとつずつ増やしていきたい。
なるべく簡単な方法でよろしくお願いします。

763名無しさん@そうだ選挙にいこう :2006/04/19(水) 19:28:04
↑こんなにだらだらと書かれちゃ、考える気もしないな。


764名無しさん@そうだ選挙にいこう :2006/04/19(水) 19:40:44
>>762
オートなんとかで一発ok

765d :2006/04/19(水) 19:59:01
>>762
aa,bb,4,ccと入力したセルの右下にマウスカーソルを置き、黒十字の
状態でドラッグすれば自動的に連番が振られます。

ちなみにオートフィルという名前の機能で、右ボタンでドラッグすると
もっといろいろ出来ます。

766名無しさん@そうだ選挙にいこう :2006/04/19(水) 21:13:34
>>760 >>761

一生懸命さは伝わるが、中身が支離滅裂ですよ。
>>732
で「あ・は・し・き」だったのが「あ・は・き」になってるし。


>○印のセルの数式は=IF(AE55=0,"","○")のみです。
>AE55というセルもどこにあるかみあたりません。
>またシートは他にないようです。

↑意味不明。 もっと責任を持って文章を書いてください。




767名無しさん@そうだ選挙にいこう :2006/04/19(水) 21:26:29
733です。
>>753
ありがとうございました。その方法で無事解決しました。
m(_ _)m

768名無しさん@そうだ選挙にいこう :2006/04/19(水) 21:46:28
質問をうまくまとめられない人は
誰がいつどこでどういう目的のために何をやろうとしてるのか、
問題の背景をまず説明したらいいと思うよ。
どういう仕事をしていて自分がどういう立場だとかさ。

769名無しさん@そうだ選挙にいこう :2006/04/19(水) 22:00:31
>>766
文章のみで説明するのは難しいです。
画面で説明できればいいのですが個人情報満載なので・・・

前任者が作ったものを直していますので
プログラムの流れを理解するのに苦労しています。
 
あ・は・き・し です。書き忘れました。
○印入ったファイルを立ち上げるとマクロのコメントが出ます。

すべて一緒にすると動かないので分割して台帳集計、1日ごとの記入表(31日分)、出力です。
1にちの記入表が台帳集計にフィードバックされます。


770名無しさん@そうだ選挙にいこう :2006/04/19(水) 22:33:39
>>764>>765
できました
ありがとうございました

771名無しさん@そうだ選挙にいこう :2006/04/19(水) 22:49:52
まず、基本的な事がわからないのだけども、
<一日の集計表:シート名「1日」>
  A    B     C     D
1     科目A  科目B  科目C 
2 名前1  あ   は   あ
3 名前2  し   し   は
4 名前3  は   は   は
 ・
 ・
これを
<一月の集計表:シート名「名前1」>
  A    B     C     D
1     科目A  科目B  科目C 
2 1日   あ   は   あ
3 2日   し   し   は
4 3日   は   は   は
 ・
 ・
という具合にまとめたいのか、それとも、
<一月の集計表:シート名「名前1」>
  A    B     C     D
1      あ   は   き   し 
2 1日   2   1    0   0   
3 2日   1   0    1   1
4 3日   0   0    1   2
 ・
 ・
という具合にまとめたいのか、どっち?
キミの質問はアウトラインが見えないので・・

772名無しさん@そうだ選挙にいこう :2006/04/19(水) 23:00:24
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000

Ctrlキー + Endキー により、リスト最下段へカーソル移動
する際に、リスト最下段よりも更に下の何も入力されてい
ない列へ移動してしまします。
恐らく、以前にレコードがあった(今は削除済)ところまで、
リストが続いていると認識されているのだと思うのですが、
どうしたらそれを解除できるでしょうか?
ちなみにそのレコードは列ごと削除しました。

773名無しさん@そうだ選挙にいこう :2006/04/19(水) 23:24:16
> 列ごと削除しました。
じゃあ今度は行ごと削除して上書き保存してみな
使用範囲(Ctrl+Endでは使用範囲末行に移動する)は保存時に更新されるから

つーかレコードは行単位にするのが普通だよな
まぁAccessと違ってExcelでは列にレコードを当てることも出来るけどさ

774名無しさん@そうだ選挙にいこう :2006/04/19(水) 23:56:54
【1 OSの種類】 Windows XP
【2 Excelのバージョン】 Excel 2002
【3 VBAが使えるか】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード】 保存 遅い

わかる方いましたら教えてください.

モジュールを挿入するかしないかで随分と保存(Ctrl-S)時間がかわってきます.
新規作成しただけの空のファイルでは保存処理がコンマ数秒で済むところが,
空の標準モジュールを挿入しただけで1〜2秒かかるようになる.
ちょっとプログラムを記述した場合にはこれがあっという間に5〜6秒かかるようになる.

これはそういうものなのでしょうか?
また,回避する方法はあるのでしょうか?

ちなみに,作成した標準モジュールを試しに解放してみたのですが,
その場合でも保存時間は回復しませんでした.これも不思議です.

よろしくお願いします.


775名無しさん@そうだ選挙にいこう :2006/04/20(木) 01:20:00
>>772
Ctrl+→とCtrl+↓
これでもだめ?

776名無しさん@そうだ選挙にいこう :2006/04/20(木) 08:21:08
>>774
そういうもの。回避方法は無い。

777名無しさん@そうだ選挙にいこう :2006/04/20(木) 09:52:35
【1 OSの種類】 Windows XP
【2 Excelのバージョン】 Excel 2003
【3 VBAが使えるか】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード】 ドラック 書式 変更 しない 保護 等

エクセルのドラックアンドドロップ編集をセルの書式を変えることなくすることができるのですか?
罫線などの書式を変更することなくセルの内容だけをひっぱりたいです。おねがいします。



778名無しさん@そうだ選挙にいこう :2006/04/20(木) 09:57:55
>>777
【5 検索キーワード】貼り付け

779名無しさん@そうだ選挙にいこう :2006/04/20(木) 10:06:41
>>778
すいません。自分で処理を行う場合はそれで行っているのですが
第3者(あまりパソコンが詳しくない方)が使用することを考えて形式を選択して
貼り付けは使用しないようにしたいのです。

ドラックアンドドロップの値のみのひっぱりはやはり無理なのでしょうか?
オプションにもなかったので・・・・

780名無しさん@そうだ選挙にいこう :2006/04/20(木) 10:23:03
うん。無理。

781名無しさん@そうだ選挙にいこう :2006/04/20(木) 10:27:31
>>780
ありがとうございました^□^

782名無しさん@そうだ選挙にいこう :2006/04/20(木) 10:36:47
>>778
VBで書式が変更された場合初期の書式に書き換えるモジュール組んでみたらどうだろうか・・・?
テキストボックスやその他のオブジェクトが変更された場合のSubはあるんだがワークシートであったかな・・・
調べてこよっと

783d :2006/04/20(木) 13:07:09
>>777
右ボタンでドラッグすると機能を選べますがだめでしょうか。^^


784名無しさん@そうだ選挙にいこう :2006/04/20(木) 13:18:37
>>780
今度から、「私には無理。」と言うようにしてください

785名無しさん@そうだ選挙にいこう :2006/04/20(木) 17:22:49

このサイト
ttp://www4.kcn.ne.jp/~yamam/

に、「フォルダ構造」というエクセルマクロがあるんですが、
なぜか、VBエディタは空欄でソースがありません。
しかしきちんとマクロが動作しています。

これってどういう仕組みになってるんでしょ??
自分の作ったエクセルに組み込みたいのですが。。




786名無しさん@そうだ選挙にいこう :2006/04/20(木) 18:09:17
>>785
連絡先 (e-mail)
yamam_s@mouse.livedoor.com

なんで作者の連絡先が明記されてるのに作者に聞かず第三者に聞くかなぁ?

タネはわかってるけど意図的に隠してるソースのタネ明かしをするのも失礼なので
ちゃんと作者に聞いてくれ。作者が教えたくないって言ったらそれまでってことで。
例えばVB6製のアプリの機能の多くは、ソースが有ればExcelに組み込めるが
作者がソース公開したくないと言ったらそれまででしょ。それと同じだと思おう。

787名無しさん@そうだ選挙にいこう :2006/04/20(木) 18:40:38
>>785
ぱっと見結果を新規ブックに書き出して、マクロのブックは閉じてるだけじゃない?
変なメール出して作者を困らせないように。


788名無しさん@そうだ選挙にいこう :2006/04/20(木) 18:46:50
>>786-787
この流れを読むと、どっちが作者の意図に適っているのかわからなくなるな

789名無しさん@そうだ選挙にいこう :2006/04/20(木) 19:23:24
>>771
返答ありがとうございます。

1日のシート記入は下記の様になります。
<一日の集計表:シート名「1日」>
  A    B     C     D
1     科目A  科目B  科目C 
2 名前1  あ   は   あ
3 名前2  し   し   は
4 名前3  は   は   は

最終形で
<一月の集計表:シート名「名前1」>
  A    B     C     D
1      あ   は   き   し 
2 1日   2   1    0   0   
3 2日   1   0    1   1
4 3日   0   0    1   2

に出れば良いのですが。




790名無しさん@そうだ選挙にいこう :2006/04/20(木) 19:30:35
【1 OSの種類】 Windows 2000
【2 Excelのバージョン】 Excel 2000
【3 VBAが使えるか】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード】エクセル ファイル結合

A店 B店 C店 D店のごとに作った経営利益のファイルを
参照して全店総合に一気に出力したいのですが
どうも上手くいきません。。

過去のファイルを見ると4店合計の式が異常に長く
ちゃんと同じフォルダにあるファイルを参照できてる様なのですが
外部データの取り込みしてみても、やたら横に広くなったりします。

全然上手く説明できてませんが、ご教授お願いします。



791名無しさん@そうだ選挙にいこう :2006/04/20(木) 19:52:47
全然上手く説明出来ない場合はブックのうpをよろしく。
あ、固有名詞とか数値とか、社外に晒しちゃまずい部分は適当に伏せてもかまわないから。

792名無しさん@そうだ選挙にいこう :2006/04/20(木) 20:05:58
うーん・・すいません!
会社からフロッピー持ってきたけど
アドレスマークが、で読み込めてないです。
明日改めてCDにバックアップするっす。

簡単にすると。
A+B+C+D=合計。を更に合計する
をわざわざ打ち込むのが手間過ぎて
一気に合計出して一気に書き込んで
欲しいってだけなんスけどね。。
式は4行くらいずらーっと続いてて
C\経営\○○店\ って感じでずっと続いてました。

やたら難しいっす。

793名無しさん@そうだ選挙にいこう :2006/04/20(木) 20:24:29
急に割り込んですいません。
マクロのエラーメッセージで1004
というのは一般にどのようなエラーなのでしょうか。
ワードでは1001はメモリなどという意味と言うヘルプ
の文章が6.0のときあったのですが、エクセル4,0のヘルプを
もってないのでわかりません。
どなたか古いヘルプのデータをお持ちの方かエラーの
種類を解説している説明書などお持ちの方教えて下さい!



794名無しさん@そうだ選挙にいこう :2006/04/20(木) 20:34:46
>>785
このソフトあまり速くないね
ベクターあたりで「ファイル一覧」をキーに探してみたら


795名無しさん@そうだ選挙にいこう :2006/04/20(木) 21:03:30
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 Windows
【2 Excelのバージョン   】 Excel**2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル シートの保護 2000 2003


会社でWindowsXP+excel2003 という組み合わせで入力フォームを作り、シートの保護をかけました。
会社ではうまくいっていたのに、家に持ち帰って上の環境(w2k+excel2000)で開けたら、シートの保護が全体にかかってしまっていて、
どこにも入力できません。
シートの保護のかりかたを両方の環境で同じにすることは可能でしょうか。

796名無しさん@そうだ選挙にいこう :2006/04/20(木) 22:15:55
A列に評価が数字で入っていて
B列に映画のタイトルが
C列に監督名が入っているとします。

****という監督の一番評価が高いものを調べたいのですが
どういう式を書けばいいでしょうか?

監督名は分かっていて
求めたいのは映画のタイトルです。

797名無しさん@そうだ選挙にいこう :2006/04/20(木) 23:25:02
>>796

配列数式 (Shift+Ctrl+Enterで確定)

=VLOOKUP(MAX(IF(C:C=監督名,A:A,0)),A:B,2,0)


798名無しさん@そうだ選挙にいこう :2006/04/20(木) 23:40:59
【1 OSの種類】 Windows XP
【2 Excelのバージョン】 Excel 2003
【3 VBAが使えるか】 否
【4 VBAでの回答の可否】 否
【5 検索キーワード】 IF シート

例えばSheet1のB1にAAAAというデータが入ったら
Sheet2のC1(B1以外のセル)にAAAAと返したいのですが
どういう式を書けばいいのでしょうか
Sheet1側から返す形でもSheet2側から返す形でもいいのですが



799659です :2006/04/21(金) 00:09:46
>>798
IF文の論理式にSheet1!B1="AAAA"を入れてみそ。

800名無しさん@そうだ選挙にいこう :2006/04/21(金) 00:16:09
普通にSheet2のC1に

=IF(Sheet1!B1="","",Sheet1!B1)
じゃ駄目なのか?
AAAAは例だろ?

801659です :2006/04/21(金) 00:51:46
>>800
なるほど。
こっちのほうが、汎用性が高くていいね。

802名無しさん@そうだ選挙にいこう :2006/04/21(金) 01:20:07
1001
指定された操作に対して、十分なメモリまたはディスク領域の割り当て、またはアクセスができません。
1004
存在しないオブジェクトに対して処理を実行しようとしています

じゃないかな

803名無しさん@そうだ選挙にいこう :2006/04/21(金) 02:21:08
>>797
ありがとうございます。

実際は評価がBで、タイトルがE、監督名がJ、それと「Main」という別シートなので
(すいません最初にこう書くべきでした…)

VLOOKUP(MAX(IF(Main!J2:J2000=B5,Main!B2:B2000,0)),Main!B2:E2000,4,0)

であってますでしょうか?
後でやってみます。

804796 :2006/04/21(金) 02:22:53
それと書き忘れましたが、B5に監督名が記入されています。


805名無しさん@そうだ選挙にいこう :2006/04/21(金) 07:43:46
>>796
オートフィルタでぽちぽちっとやっちまえ

806798 :2006/04/21(金) 08:51:27
>>800
ありがとうございました〜
シートの名前をこっちで変えていたのでそれがうまく行ってなかった感じでした
助かりました

807名無しさん@そうだ選挙にいこう :2006/04/21(金) 13:39:08
>>802

ありがとう。引用はどこからでしょうか。よろしければ
教えて下さい。

808名無しさん@そうだ選挙にいこう :2006/04/21(金) 13:52:34
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2003sp2
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel 関数 if  論理式 複数 値 などを適当に組み合わせて

あるセルの内容が、
Aの条件に当てはまる場合には、セルa1の値を表示
Bの条件に当てはまる場合には、セルa2の値を表示
Cの条件に当てはまる場合には、セルa3の値を表示
条件に当てはまらない場合には、セルa4の値を表示

というようなことがやりたいです。
よろしくお願いいたします。


809名無しさん@そうだ選挙にいこう :2006/04/21(金) 13:55:00
>>808
=IF(A,a1,IF(B,a2,IF(C,a3,a4)))

810名無しさん@そうだ選挙にいこう :2006/04/21(金) 13:55:26
>>808
つ【VLOOKUP】

811名無しさん@そうだ選挙にいこう :2006/04/21(金) 13:57:46
何この早さ?
>>809,810
ありがとうございました!

812名無しさん@そうだ選挙にいこう :2006/04/21(金) 15:48:16
すみません、どなたか>>545にレスお願いします。催促してすみません。


813名無しさん@そうだ選挙にいこう :2006/04/21(金) 17:09:04
>>545
3ヶ月毎の合計した表を別に作る。そいつをグラフにする。
以下同様に、半年,1年を、
まづは手慣らしにこんなところから

814名無しさん@そうだ選挙にいこう :2006/04/21(金) 18:53:07
sheet1に商品の情報を表にして作っておき、sheet2に印刷用のフォーム
を作っておき、sheet2の特定のセルを印刷する商品の番号(sheet1で指定済)
を入力するとsheet2の内容が更新されるようにしたいのですが、こんな数式
を作っても駄目みたいです。

(sheet2上の商品名のセルの数式)

= {Sheet1!B(1+G3*6)}        G3セルはsheet2の特定のセルを印刷する商品の番号

sheet1の表は、ひとつの商品で6行使います。
うまく表現できませんが、ヒントお願いします。

815名無しさん@そうだ選挙にいこう :2006/04/21(金) 18:59:10
Lookup系関数やIndex等の関数で範囲の引数を指定する場合に名前をつけないのだろうか?


816名無しさん@そうだ選挙にいこう :2006/04/21(金) 19:14:59
= INDEX(Sheet1!B1:B13,1,1)

で、二番目の引数をG3の値と連動するように指定できればほぼ解決です。

817名無しさん@そうだ選挙にいこう :2006/04/21(金) 19:49:02
>>814
=+INDIRECT("Sheet1!B"&(1+G3*6))

818名無しさん@そうだ選挙にいこう :2006/04/21(金) 19:52:48
>>789
789 :名無しさん@そうだ選挙にいこう :2006/04/20(木) 19:23:24
>>771
返答ありがとうございます。

1日のシート記入は下記の様になります。
<一日の集計表:シート名「1日」>
  A    B     C     D
1     科目A  科目B  科目C 
2 名前1  あ   は   あ
3 名前2  し   し   は
4 名前3  は   は   は

最終形で
<一月の集計表:シート名「名前1」>
  A    B     C     D
1      あ   は   き   し 
2 1日   2   1    0   0   
3 2日   1   0    1   1
4 3日   0   0    1   2

に出れば良いのですが。

隠しセルにの下記のような数式がありました
=VLOOKUP($D$3,P!$B$4:$AO$1000,9,FALSE)
P!のシートに絶対参照D3を参照して範囲はB4からAOの1000行の9番目で
意味はあっていますか?






819名無しさん@そうだ選挙にいこう :2006/04/21(金) 21:00:16
>>818
もう来るな!!
そんな事はヘルプ見りゃすぐ分るだろ
お前がまず最初にやらなきゃいけないのは日本語だ

820814 :2006/04/21(金) 21:17:38
>>817
ありがとうございます!それがしたかったんです。本当にありがとうございます。

821名無しさん@そうだ選挙にいこう :2006/04/21(金) 22:19:22
>隠しセルにの下記のような数式がありました
>=VLOOKUP($D$3,P!$B$4:$AO$1000,9,FALSE)
>P!のシートに絶対参照D3を参照して範囲は
>B4からAOの1000行の9番目で意味はあっていますか?

確かに意味はあっていますが、、
「隠しセル」ってなんですか?
行とか列の非表示?それともグループ化?
だいたいその数式を出されても肝心な中身が何も分からないじゃないか。

822名無しさん@そうだ選挙にいこう :2006/04/21(金) 23:08:18
きびしい方もおりますが、本やログを使い関数を勉強中ですので
もう少しの間板汚しすみません。

>>821
非表示のセルです。他人が作ったので、気づいたのは最近です。
$D$3はプルタウンメニューの名前の部分を参照しています。
P!のシートはどこにあるか不明。

 A    B     C     D
1     科目A  科目B  科目C 
2 名前1  あ   は   あ
3 名前2  し   し   は
4 名前3  は   は   は

は集計のしやすい1、0の組み合わせを考えています。








823名無しさん@そうだ選挙にいこう :2006/04/21(金) 23:13:26
>>822
板を汚してると自分で分かってるなら書き込むのやめろよ。
勉強中だったら勉強が終わってから来い。

824名無しさん@そうだ選挙にいこう :2006/04/22(土) 00:13:47
要領を得ない質問者って無駄な改行をする人が多いな。
他人に対する配慮ってものが全く出来ない人なんだろうな。

825名無しさん@そうだ選挙にいこう :2006/04/22(土) 00:33:41
>822こいつ18日に登場以来何一つ進歩してねーな
確認レスにも何一つまともな返事はせず
ただただ質問するのみ
周りのヤツの苦労が目に浮かぶよ

826名無しさん@そうだ選挙にいこう :2006/04/22(土) 07:58:52
>>822
もう1から自分で作っちまえ

827名無しさん@そうだ選挙にいこう :2006/04/22(土) 09:36:16
>>822
メニューバーから、
「書式」→「シート」→「再表示」で
隠れているシート(P)があると思いますよ。

828名無しさん@そうだ選挙にいこう :2006/04/22(土) 09:38:04
>>822
>集計のしやすい1、0の組み合わせ

・・・って、具体的にはどういうものですか?

829名無しさん@そうだ選挙にいこう :2006/04/22(土) 10:46:40
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい(初歩的な部分のみで関数は作成できません)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 勤務人数 時間計算

複数のパートさんの出社時間と退社時間を入力して1時間毎に何人作業しているか計算したい。
なるべく数式で行いたいのですが、無理or記述が長くなるようであればVBAも考えています。

830名無しさん@そうだ選挙にいこう :2006/04/22(土) 10:54:08
>>829
0:00〜24:00を一時間後とに区切って24の作業列を設けます。
そして、Aさんが0:00-1:00に出勤していれば「1」してなければ「0」
という風にIFの数式を埋めていけば、
最後にSUM関数で、時間帯ごとの作業人数が出ます。

831829 :2006/04/22(土) 15:12:12
>>830
すごい膨大なスペースが必要になりそうなので、結局VBAでの作成になりました。

時間は12:00ではなく12と頭2桁で入力しています。
pin:出社時間、pout:退社時間
For count2 = 1 To 9
If pout = pin Then '退社時間なら何もしない
Else
If pin = 12 Then '時間帯毎にカウント
t12 = t12 + 1
Else
End If



If pin = 19 Then
t19 = t19 + 1
Else
End If
pin = pin + 1
End If
Next count2

1時間毎に勤務中なら変数に1を加えて行きます。
これをパートさんの数だけ集計して書き出します。それを1月分繰り返します。
同じような作業を続けるのですが、もっと簡潔にできないでしょうか?

832名無しさん@そうだ選挙にいこう :2006/04/22(土) 15:53:23
エクセルで分割とかじゃなくて
ウィンドウ2枚で開きたいのですがどうすればいいでしょうか
何回開いても表示は1枚でその上に積みかさなるようになってしまいます

833名無しさん@そうだ選挙にいこう :2006/04/22(土) 16:01:30
_□× のボタンが並んでいる下に
_呂× みたいに並んでるボタンがある。
この 呂 のボタンをクリック。

834名無しさん@そうだ選挙にいこう :2006/04/22(土) 16:02:53
_□×
↑↑↑
||閉じる
|最大化
最小化

わかるとは思うが一応

835名無しさん@そうだ選挙にいこう :2006/04/22(土) 16:18:03
できたー!ありがとうございました!!

836名無しさん@そうだ選挙にいこう :2006/04/22(土) 16:55:18
>>832
日本語で

837659です :2006/04/22(土) 18:07:54
>>831
え?こっちのほうが難しくない?
>>829さんのやり方のほうが、シンプルでいいと思うけど、なにか条件が抜けてたのかな?
ちなみに、プログラムは複雑なほどバグが混入しやすく、シンプルなほどバグは少なくなります。

838名無しさん@そうだ選挙にいこう :2006/04/22(土) 18:11:05
↑↑ 間違えました。
名前:659です→名無し
829さん→830さん

すんません


839名無しさん@そうだ選挙にいこう :2006/04/22(土) 18:15:16
>>832
これ?
ttp://www.trickpalace.net/windows/tips/excel.open.window.htm

840名無しさん@そうだ選挙にいこう :2006/04/22(土) 19:49:15
>>827
発見できました。ありがとうございます。

新しく作った方が早いかもしれませんが
とりあえず5月分ぐらいまで手直しして使います。

集計のしやすい1,0,とは名前Aが1日目のうち利用すれば1、なし0とし、それぞれ「あ1、は100、き1000、し100000の仮の数字としています」。31日毎日くれば、31、3100回・・
となりそれぞれ割り算すれば個別の回数がでます。







841名無しさん@そうだ選挙にいこう :2006/04/22(土) 20:20:15
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 セル 線 削除

初期設定でセルごとに枠線が引いてありますよね?
それを消す方法をお願いします

あくまで線を消すだけでその後も枠を表す線が無いだけの
セルとして扱っていきたいのです

だから全セルを結合するとかは無しでお願いします

842名無しさん@そうだ選挙にいこう :2006/04/22(土) 20:23:14
>>841
ツール→オプション→全般
「枠線」のチェックを外す。

843名無しさん@そうだ選挙にいこう :2006/04/22(土) 20:24:46
>>842
ありがとうございました
良く考えたら初心者質問でしたねすいません


844名無しさん@そうだ選挙にいこう :2006/04/22(土) 20:26:04
>>840
わざわざ数字に置き換えたって、入力するのも面倒だし、
間違えもおきやすいし、カウントするとき割り算するのも
面倒だし・・・そんなことをしなくても
COUNTIF関数で「あ」は何個「き」は何個と直で数えれば済むでしょう?

845名無しさん@そうだ選挙にいこう :2006/04/22(土) 21:30:25
エクセルに入力するとき、
変換対象であることを示す色(下線)が表示されません。
(MS-IMEをAtokのキー設定で使用しています)

ほかのソフトでは、ちゃんと機能してるのですが、
どうすればなおるでしょうか?
よろしくお願い島s。



846845 :2006/04/22(土) 21:30:57
すみません、よろしくおねがいします、です。


847名無しさん@そうだ選挙にいこう :2006/04/22(土) 21:48:09
再起動!

848845 :2006/04/22(土) 22:06:57
再起動も再インストールもやってるのですが、
なぜか戻らないんですよ。(TT)



849名無しさん@そうだ選挙にいこう :2006/04/22(土) 22:09:20
>>845
要は全角にならないってこと?

850名無しさん@そうだ選挙にいこう :2006/04/22(土) 22:11:30
【1 OSの種類         .】 Windows2000,XP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel フォーム 開く args


UserFormをFormName.Showで開くときに、呼び出し元のフォームから
引数を渡したいのですが、OpenArgsのようなものはありますか?

851659です :2006/04/22(土) 22:18:04
>>850
あまり賢いやり方じゃないかもしれませんが、
グローバル変数を使うのは駄目ですか?

852845 :2006/04/22(土) 22:22:41
>>849
いえ、変換はできるのですが、
変換対象がどこからどこまでか分からない状態です。
(本当なら、色や下線で表示されるはずなのですが)

文節の区切りを変えたくても、無駄に手探りが必要になります。



853名無しさん@そうだ選挙にいこう :2006/04/22(土) 23:12:20
文字をダダダーと打って、
一回スペース押すと変換対象範囲が仮に設定(下線で)されます。
その時にシフトを押しながら←カーソル→を押すと、変換対象範囲が
白黒反転表示し、短くなったり(←)、長くなったり(→)します。

↑ 要はこうならないって事?

854845 :2006/04/22(土) 23:36:06
>>853
そです!
機能自体は生きてるようですが、反転表示とかがされないのです。



855名無しさん@そうだ選挙にいこう :2006/04/22(土) 23:58:49
医者いけ

856名無しさん@そうだ選挙にいこう :2006/04/23(日) 08:59:38
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

エクセルで作った表を印刷しようとしてます。

印刷されたものを見ると、セルの文字列と次のセルの文字列が
近すぎるのですが、間隔をあげて印刷するのはどうしたら
いいんでしょうか?

教えてください。

857名無しさん@そうだ選挙にいこう :2006/04/23(日) 09:10:09
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel 2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

エクセルにあるリストのデータを置換したいが置換対象が複数ある。
ひとつひとつ置換すると膨大な時間がかかるし、マクロを組もうにもVBAの知識がない。
あらかじめ別シートに 置換対象・置換内容 がある場合として、利用できる関数orマクロを教えてください。

858名無しさん@そうだ選挙にいこう :2006/04/23(日) 10:19:51
>856
列幅の調整やセル書式の文字位置・サイズなどで対応できます。ただし、
エクセルは自分の理想通り印刷しようとすると、なかなか手間のかかる
くせものです。ある程慣れが必要なので何度も印刷プレビューを見ながら
チャレンジしてください。
最も重要なのは妥協でしょう
>>857
抽象的過ぎて答えにくい

859名無しさん@そうだ選挙にいこう :2006/04/23(日) 11:39:56
【1 OSの種類】 Windows XP
【2 Excelのバージョン】 Excel 2003
【3 VBAが使えるか】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード】 シート 削除

特定のワークシート4つを除き、すべてのワークシートを削除するVBAを作りたいのですが上手くいきません。
特定のワークシート4つの名前は常に一定でブックの最後にあります。
削除したいワークシートの名前は一定ではありません。

自分で以下のようなVBAを書いみましたが、必要なシートが削除されてしまい上手くいきません。
原因とか解決方法教えてください。


Sub mySheetDelete()

Dim i As Integer

Application.DisplayAlerts = False

For i = 1 To ActiveWorkbook.Sheets.Count - 4

Sheets(i).Delete

Next

Application.DisplayAlerts = True

End Sub

860名無しさん@そうだ選挙にいこう :2006/04/23(日) 11:55:55
>>696ですが、いまだにわかりませんorz
>>697さんに教えてもらったHOUR関数をどこで使えばいいかわかりません。
お願いします;

861名無しさん@そうだ選挙にいこう :2006/04/23(日) 11:59:23
>>859
For i = ActiveWorkbook.Sheets.Count - 4 To 1 Step -1


862857 :2006/04/23(日) 12:23:44
Sheet1が置換したいリスト、Sheet2のA列が検索する文字列、B列が置換後の文字列
よろしくお願いします。

Sheet1
  A  B  C  D
1 内 防 総 法
2 総 外 財 文
3 法 厚 農 内
4 経 外 国 環
5 公 厚 文 環


Sheet2
  A   B
1 内 内閣府
2 防 防衛庁
3 総 総務省
4 法 法務省
5 外 外務省
6 財 財務省
7 文 文部科学省
8 厚 厚生労働省
9 農 農林水産省
10 経 経済産業省
11 国 国土交通省
12 環 環境省
13 公 国家公安委員会

863859 :2006/04/23(日) 13:06:52
>>861さん、解決しました。ありがとうございます。

864名無しさん@そうだ選挙にいこう :2006/04/23(日) 13:08:32
>>857
http://www.vector.co.jp/soft/dl/win95/business/se364506.html
のことでしょう
有料だけどよく動きますよ

865名無しさん@そうだ選挙にいこう :2006/04/23(日) 13:21:53
>>862

その状況ならVLOOKUPで可能だったので

Sub 痴漢()
Dim rg As Range
Dim i As Integer, j As Integer

Sheets("Sheet2").Activate
Set rg = Range("A1:B13")

Sheets("Sheet1").Activate
For i = 1 To 5
For j = 1 To 4
Cells(i, j) = Application.VLookup(Cells(i, j), rg, 2, 0)
Next j
Next i

MsgBox "糸冬"
End Sub


866名無しさん@そうだ選挙にいこう :2006/04/23(日) 13:35:25
訂正・・
これだとVLOOKUPでエラーが出たときにエラー表示に書き換わってしまうので
For j・・・Nextのところを以下に置き換えてみてください

For j = 1 To 4
If IsError(Application.VLookup(Cells(i, j), rg, 2, 0)) = False Then
Cells(i, j) = Application.VLookup(Cells(i, j), rg, 2, 0)
Else
Cells(i, j).Interior.ColorIndex = 3
End If
Next j

867864 :2006/04/23(日) 13:59:48
>>862
100連続置換までは無料なので愛用してます
自分でつくるのはねえ?

868名無しさん@そうだ選挙にいこう :2006/04/23(日) 16:38:22
質問です。
いま、社内の営業の人間向けに、Excelを使った自動見積もりシステムを作っています。
資材の種類を選択し数量を打ち込んで見積もりボタンを押せば、
あらかじめ入力されているテーブルデータに従い見積もりがでるというものです。
数量を選択するのはコンボボックスでやらせているのですが、
セル上に作ったコンボボックスでは、別シート(また、別ファイル)にあるデータから
選択させるためには『名前』をつけなければいけないという問題にあたります。
将来的に、データ用シートは社内サーバに接続して自動更新が可能な状態にしたいため、
手作業設定が必要な『名前』では更新時に範囲が変わるなどで利用できなくなると考え、
あきらめました。
そこでVBA,UserFormを利用し、専用フォームを作ったのですが、営業の人間は
マック使用者が多くて、専用フォームが使えないらしいことがわかりました。
開発はWin,Excel2000で行っています。営業の人間のExcelのバージョンは知りません。
どういった解決策をとるのが妥当でしょうか?

869868 :2006/04/23(日) 16:39:28
すみません、記述ミスです。

×:数量を選択するのはコンボボックスで
○:資材を選択するのはコンボボックスで

870名無しさん@そうだ選挙にいこう :2006/04/23(日) 17:33:09
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 書式設定 日付

セルの書式設定の日付に/を入れたいのですが
どうしたらいいでしょうか?
今の設定では3/4と入れたいのに3 4 となります


871名無しさん@そうだ選挙にいこう :2006/04/23(日) 18:27:10
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 書式設定 24時間 全角表示 dbnum3

24:00以降の時刻を入力し、それを全角表示したいのですが
セルの書式を [DBnum3][h]:mm と設定しても24:00の場合
「2十4:00」となってしまいます。これを「24:00」
と表示させるにはどうすればいいのでしょうか?

872名無しさん@そうだ選挙にいこう :2006/04/23(日) 19:55:25
Excelを勉強したくて今日参考書を見に行きました。
で、Excel2003対応版っていう本がいっぱいあったんですが、家のパソコンに入っるExcelがそれ以前のものだと思います。2000かな?
結局判らず買わずに帰ってきたんですけど、2003年対応版って本はそれ以前のもカバーしてますか?

873名無しさん@そうだ選挙にいこう :2006/04/23(日) 20:36:56
>>872
2000, 2002 の機能の大部分はカバーしてると思いますよ。
ここらへんは、2003 まで、バージョンごとに新しい関数や機能を追加してきた歴史だから。
2003対応版で、2000 にない関数が載っていることはあっても、2000 にあった関数が
載っていないのは考えにくい。
また、こういう参考書は、最新バージョンに対応しないと売れないので、旧バージョン対応版が
残っていることはないです。

参考書をパラパラしてみることです。
「Excel 2000 でサポート」「Excel 2002 でサポート」というような表記があったら、買いだと思う。
2000用の参考書としてもひきやすいですからね。

874名無しさん@そうだ選挙にいこう :2006/04/23(日) 21:13:40
あるシートの先頭行を、他の全部のシートでも表示させるような方法があったように思えるのですが、やり方がわかりません。どなたかご存知ないでしょうか?

875名無しさん@そうだ選挙にいこう :2006/04/23(日) 21:59:51

【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 今勉強しているところ
【4 VBAでの回答の可否】 OK
【5 検索キーワード     】

VBEを起動し、既存のマクロのプログラムをいじったりしているのですが
エクセルに切り替えるボタンをいちいち押さなくても
エクセルとVBE画面が同時に見れる方法って無いんでしょうか?
できるEXCEL マクロ&VBA編見ながらやってるような初心者です・・・

876名無しさん@そうだ選挙にいこう :2006/04/23(日) 22:13:38
>>875
手動でウィンドウサイズを調節して2画面表示にする

877名無しさん@そうだ選挙にいこう :2006/04/23(日) 22:26:40
>>875
やっぱそういう原始的なやり方しか
無いんですね・・
どうもありがとうございました!

878名無しさん@そうだ選挙にいこう :2006/04/23(日) 22:27:59
>>876さま宛です。ごめんなさい。

879名無しさん@そうだ選挙にいこう :2006/04/23(日) 23:12:08
>>875

マルチモニターにする。
一度使うともうシングルには戻れなくなる。

880名無しさん@そうだ選挙にいこう :2006/04/23(日) 23:21:24
>>879
マルチモニターなんて初めて聞きました!
何やら高度そうなテクですね。
二度と戻れないのはリスク高いので
十分に吟味してからやってみたいとおもいます。
どうもありがとうございました!

881名無しさん@そうだ選挙にいこう :2006/04/24(月) 00:51:26
高度も糞もモニターもう一台買ってくるだけではないか

882名無しさん@そうだ選挙にいこう :2006/04/24(月) 00:55:09
>>880

笑っちゃいけないんだろうけど、マルチモニターとはモニターを複数台にすること。
シングルに戻れなくなるとは、すごく便利だからモニター1台には戻れないということ。
自分は1台は普通に、もう1台は縦長に配置するとVBEを使用するときいいよ。

883名無しさん@そうだ選挙にいこう :2006/04/24(月) 02:20:33
オレも17インチ液晶1台余ってるから中古のPCIのGA買ってくるかな
エクセルよりGyaoを見ながら作業したいだけなんだけど
(Gyaoの画面が全画面になっちゃうからだけど)

884名無しさん@そうだ選挙にいこう :2006/04/24(月) 03:42:35
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 はい。
【4 VBAでの回答の可否】 可

あるセル範囲を指定して、ClearContentsで値を消そうと思ったのですが、
非表示行を含む場合、非表示部分の値消去が実行されずに残ってしまいます。
非表示部分も含めて一気に消去する方法があれば教えてください。

885名無しさん@そうだ選挙にいこう :2006/04/24(月) 05:38:44
マルチモニターはいいよ。
特にトリプルにして1台を縦置きにすると最高。縦1600の作業領域はやめられない快適さ。
6年前デュアルモニタにして、4年前にトリプルにしたが、それ以来会社で禁断症状が出て、
私物モニタ持ち込んでデュアルにしてる。モニタ持ち込みの許可は下りたけど、PCの中身弄る
許可は出ないので、デフォでデュアルに出来るPCで良かったよ。

886名無しさん@そうだ選挙にいこう :2006/04/24(月) 08:38:48
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 学習中
【4 VBAでの回答の可否】 可

マクロを使って印刷範囲を設定したシートを新しいブックにコピーすると、印刷範囲の設定が消えてしまうのですが
回避する方法はないでしょうか?
知恵を貸してください><

887名無しさん@そうだ選挙にいこう :2006/04/24(月) 10:44:05
>>886
コピー対象のシートの印刷設定をVBで記録させて、コピー後のシートに設定値を渡すのはだめかな?

888名無しさん@そうだ選挙にいこう :2006/04/24(月) 11:33:17
>>884
Range(範囲).Deleteでいいんでないかな?

889名無しさん@そうだ選挙にいこう :2006/04/24(月) 11:52:32
>>886
試したけど消えないよ。

Worksheets(1).Cells.Copy Worksheets(2).Range("A1")
これはシートのコピーじゃないから、印刷設定まではコピーされない。

890名無しさん@そうだ選挙にいこう :2006/04/24(月) 11:55:02
【1 OSの種類】 Windows XP
【2 Excelのバージョン】 Excel 2000
【3 VBAが使えるか】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード】縦位置

エクセルを開いたとき、「セルの書式設定」¥「配置」¥「縦位置」は
『下詰め』になっていますが
最初から『中央揃え』にしておく方法はありますか?
いつも『中央揃え』の状態から仕事を始めたいのですが。

よろしくお願いします。

891名無しさん@そうだ選挙にいこう :2006/04/24(月) 12:04:28
>>890
C:\Documents and Settings\ログインしている名前\Application Data\Microsoft\Excel\XLSTART
のところに書式を変えた(縦位置を中央揃え)したエクセルを保存しておく。
するとエクセルを起動するとその書式等が反映されたエクセルを起動できる。
上記フォルダは隠しになっているのでファイルの表示を変えてみてちょ

>>Range(範囲).deleteでできなかったですか・・・もう一度調べてみます

892名無しさん@そうだ選挙にいこう :2006/04/24(月) 12:10:22
連続カキコすんません
>>889さんやっぱり.deleteで値の消去できます!
もしかしてだけど、ワークシートの選択をしてないからじゃないかな?
Worksheets(名前).Range(範囲).Delete
のようにしてみてください。ワークシートの表示(Visble)が非表示でも消去できました

893名無しさん@そうだ選挙にいこう :2006/04/24(月) 12:11:50
【1 OSの種類】 Windows XP
【2 Excelのバージョン】 Excel 2003
【3 VBAが使えるか】 はい
【4 VBAでの回答の可否】 可

状況に応じてワークシートを追加するマクロを書いて使用しています。
追加されたワークシートがアクティブになった時に呼び出したいプロシージャがあるので、追加するワークシートに初めからワークシートモジュールを持たせたいのですが、どのようにしたらよいでしょうか。よろしくお願いします。

894名無しさん@そうだ選挙にいこう :2006/04/24(月) 12:15:33
ごめんなさい;;>>889さん
非表示「行」でしたねorz非表示のシートと勘違いしてました・・・
調べます><

895名無しさん@そうだ選挙にいこう :2006/04/24(月) 12:27:20
その質問に答えられるスキルを持った奴はここにはいないぜ〜

896名無しさん@そうだ選挙にいこう :2006/04/24(月) 13:30:58
>>ちと邪道(?)かもしれないけど、1つづつセルの内容を消していくとか・・・
For a = 上 to 下 '縦の上から下まで
 For b = 左 to 右 '横の左から右まで

  Worksheets(名前).cells( a , b ).Clear

Next b
Next a

ちと自分にはこれ以上答えられんです;w;詳しい人おねがいしまつ

897名無しさん@そうだ選挙にいこう :2006/04/24(月) 13:39:05
2003 を使ってます。

版数を自動的に表示または印刷できないでしょうか?

898名無しさん@そうだ選挙にいこう :2006/04/24(月) 14:08:31
>>897
やりようによってはできなくもない

899名無しさん@そうだ選挙にいこう :2006/04/24(月) 14:17:10
>>893
新規ワークシートを追加するんじゃなく、あらかじめコードの書いてあるワークシートを
用意しておいて、それをコピーする。必要であれば追加用シートは非表示にするなり、
専用の外部ブックに置くなりしておけばおk

動的にコードを追加する方法もあるけど、Excelの設定自体を変更しないと駄目なので
あまりおすすめしない。自分のマシンだけで使うならいいけどね。

[ツール/マクロ/セキュリティ]-「信頼のおける発行元」の「VisualBasicプロジェクトへのアクセスを信頼する」にチェック
で、
Sub addNewSheet()
 Set m = ThisWorkbook.VBProject.VBComponents(Worksheets.Add.CodeName).CodeModule
  p = m.CreateEventProc("Activate", "Worksheet") '←これでイベントプロシージャ追加
 m.InsertLines p + 1, "MsgBox ActiveSheet.Name" '←これで内容記述
End Sub
こんな感じ。詳しくはgoogleとかでMicrosoft Visual Basic for Applications Extensibilityを調べてね。


900名無しさん@そうだ選挙にいこう :2006/04/24(月) 14:29:41
>>897
現状、版数はどうやって管理してるの?
どうしたら第1版が第2版になるの?

901名無しさん@そうだ選挙にいこう :2006/04/24(月) 14:59:31
【1 OSの種類         .】 WindowsXP HOME edition
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 日付 関数 エクセル


      A       B
    買い物     日付
1   りんご    2006/3/15  
2   みかん    2006/3/29
3   いちご    2006/4/21






こういったセルのA列に何か「買い物」を打ち込んだ場合、
自動的に打ち込んだ日付がB列に表示されるようにするには、
どういった関数式が必要でしょうか?TODAY関数だと、確かに
書き込んだ日付が今日で正しくても、一週間後でも「今日の日付」
が表示されてしまうので・・・。色々と試行錯誤してみましたが、
駄目だったので質問させて頂きました。宜しくお願い致します。

902名無しさん@そうだ選挙にいこう :2006/04/24(月) 15:01:55
>>901
むり
VBA使え

903名無しさん@そうだ選挙にいこう :2006/04/24(月) 15:42:57
TEXT関数で出来そうな気が…

904893 :2006/04/24(月) 15:45:58
>>899
ありがとうございます。やっぱり設定変えないとだめですか。
考えてみれば、確かに動的にコードを追加するのはセキュリティ的に問題ありますよね。
非表示の雛形をコピーするようにします。助かりました。

905名無しさん@そうだ選挙にいこう :2006/04/24(月) 15:51:04
>>901それはエクセルでは無理じゃないかな?
アクセスみたいに既定値に=Date()見たいに入れることができないからね。
VBでも、、どうだろ?隣接する値が更新OR入力されたら・・・っていう
ファンクションで作っても過去の値を修正したらそこも修正されるような・・・
ま、オレにはいい案は無いということで・・・

906名無しさん@そうだ選挙にいこう :2006/04/24(月) 16:05:03
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Cells(Target.Row, 2).Value = Date
End If
End Sub
とかでどうでしょうか。

907モタ :2006/04/24(月) 17:28:27
お初です。
エクセルで、数千もの莫大な行になるデータを扱う実験を行っています。
そこで、質問なのですが、オートフィルタ機能などを使って、【測定時間】という
行の、整数秒のみ、0.1、0.5、1、1.5、2・・・とあるものの整数のみを抽出するには
どのようにしたらいいのでしょうか?
これがわからず、作業が前に進みません・・・
宜しくお願いします。

908モタ :2006/04/24(月) 17:30:29
すみません、
〜〜【測定時間】という列の〜〜〜〜です。
訂正します。

909名無しさん@そうだ選挙にいこう :2006/04/24(月) 17:33:09
整数かどうかの作業列作ればいいじゃん

910モタ :2006/04/24(月) 18:47:01
その方法じゃいくつもの列をそれにあわせて並べ替えたりできないじゃん。


911名無しさん@そうだ選挙にいこう :2006/04/24(月) 19:14:19
モタさん、あのような大雑把な説明に
わざわざ答えてもらっているのに
ぞの返答は失礼じゃありませんか
909さんに一言わびるべきです

912モタ :2006/04/24(月) 19:16:49
909さんすみません


913モタ :2006/04/24(月) 19:18:13
ちなみに、説明は大雑把ですかね?
これ以上詳しく説明するのは無理です

914名無しさん@そうだ選挙にいこう :2006/04/24(月) 19:28:02
わかるけど、お前の態度が気に入らない

915モタ :2006/04/24(月) 19:30:09
んじゃもういいです。

916名無しさん@そうだ選挙にいこう :2006/04/24(月) 19:33:58


917名無しさん@そうだ選挙にいこう :2006/04/24(月) 19:50:17
コテハン + age = 糞

918名無しさん@そうだ選挙にいこう :2006/04/24(月) 19:58:40
コテハンもageも意味がわかりません。


919名無しさん@そうだ選挙にいこう :2006/04/24(月) 20:04:25
糞は読めません。

920名無しさん@そうだ選挙にいこう :2006/04/24(月) 20:12:20
ちんこ

921名無しさん@そうだ選挙にいこう :2006/04/24(月) 20:57:20
ちんこ

922名無しさん@そうだ選挙にいこう :2006/04/24(月) 20:58:57
ちんこ

923名無しさん@そうだ選挙にいこう :2006/04/24(月) 21:00:17
ちょっとした事でこんなになっちゃうううんだ
2chってすごいね

924名無しさん@そうだ選挙にいこう :2006/04/24(月) 21:48:43
csvファイルを保存するときに、
文字コードを指定する方法ってありますでしょうか?
マクロのが書けるので、方法あったらおせーてください!

925名無しさん@そうだ選挙にいこう :2006/04/24(月) 22:39:22
ADODB.Stream

926587 :2006/04/24(月) 22:40:22
ピボットテーブルを機能させるまでは何とかできました。
一つ困っているのが、このピボットテーブル上の数字をカンマ付き
小数点以下非表示としたいところ、カンマ付+小数点以下5桁まで
表示する書式を頑なに守り続けてくれるところです。
「セルの書式設定」やらツールボタンのカンマボタンで直しても、
ファイルを開くたびに元の書式に戻ってしまいます。
自分好みの書式を維持させるにはどうしたら良いんでしょうか。
どなたか教えて下さい。

927名無しさん@そうだ選挙にいこう :2006/04/24(月) 22:57:39
= FAQ: 基本 =
Q1:こんな関数ありませんか?
A1:「関数の挿入」にある検索機能や、ヘルプの検索を利用しましょう。
   また、一つの関数で目的を達成しようと思わずに、いくつかの関数を組み合わせて使うという発想を持ちましょう。

Q2:数式がエラーを返すんですけど
A2:関数をネストせず、数式を分解してみてください。
   どの関数がエラーになっているのか解れば、その関数の参照先や、ヘルプなどを見て大抵は簡単に解決できます。

Q3:計算結果やセルの値によって自動で書式を変更したいんですが
A3:条件付き書式を利用してください。数値比較で文字色のみの指定なら表示形式でもできます。

Q4:計算結果やセルの値によって表示形式を変えたいのですが
A4:表示形式のユーザー設定で複数条件の表示形式を指定できます。
   基本形式は「正の数;負の数;0の場合;文字の場合」です。(;は半角で)
   又は「[>=70]70以上の場合;[>=50]50以上の場合;50未満の場合;文字の場合」というような指定も出来ます。
   書式記号などに関することはヘルプを参照しましょう。



928名無しさん@そうだ選挙にいこう :2006/04/24(月) 23:35:12
VLOOKUPって、別のファイルや別のシートの表も参照できますよね?
なんか今日やったらうまくいかなくってエラーになるんですけど、書式設定とかも大切なんでしたっけ?
VLOOKUPで注意することがあったら教えてください。

929名無しさん@そうだ選挙にいこう :2006/04/24(月) 23:44:29
なにをどうしようとしたらどんなエラーになるんですけど??

930名無しさん@そうだ選挙にいこう :2006/04/24(月) 23:44:49
>>928
状況を詳しく書いてみて

931名無しさん@そうだ選挙にいこう :2006/04/25(火) 00:09:58
sumproduct関数を使って、同じ行の別々のセルに対し、それぞれの条件を設定して抜き出す場合、ワイルドカードは使えませんか?


932928 :2006/04/25(火) 00:21:41
今実際に手元にファイルがないので、うる覚えなのですが、


1つの商品に品番がすべて2つあります(国内用の品番と海外用の品番)。
品番は、国内用も海外用もすべて数字だけで構成されています。
国内用が6桁、海外用が4桁。

ファイルAとファイルBがあり、Aには国内用の品番だけ書いてある表があり、
Bには国内用の品番と海外用の品番が両方一つの表になっています。
Bは全商品の品番が載っている品番表のようなかなり膨大な表です。

Aの国内用の品番の横に、VLOOKUP関数を使って、Bより
海外用の品番を拾わせたいと思っています。


上記の通りですが、VLOOKUP関数を使ってもエラーが出てファイルBより海外用の品番を
拾ってきませんでした。

933928 :2006/04/25(火) 00:36:21
VLOOKUP(ファイルAの国内用品番,ファイルBの表の範囲,ファイルBの海外用の品番が書いてある列,0)
と式は立てました。

説明が下手ですみませんがよろしくお願いします。

934名無しさん@そうだ選挙にいこう :2006/04/25(火) 00:43:33
よく知らんが
>膨大な表
ってのは恐らく関係ないので

まず同一のファイルでテストデータを作って試す
次に別のファイルでテストデータを作って試す

ってのやるといいんでない?

935名無しさん@そうだ選挙にいこう :2006/04/25(火) 00:51:34
>書式設定
とりあえず文字列にそろえとけよ

936名無しさん@そうだ選挙にいこう :2006/04/25(火) 01:56:57
ファイルAとB?
ひとつのBOOKになっていないということか?

937名無しさん@そうだ選挙にいこう :2006/04/25(火) 02:12:29
>>933
>VLOOKUP(ファイルAの国内用品番,ファイルBの表の範囲,ファイルBの海外用の品番が書いてある列,0)

検索の型のところの「0」はなんだろう?

938名無しさん@そうだ選挙にいこう :2006/04/25(火) 05:21:05
>>937

検索の型をFALSEということじゃないかな。

939926ですが。 :2006/04/25(火) 06:44:49
スルーされてしまったのでしょうか…(・_・;
質問の仕方が悪かったのかな。誰か助けて下さい。

ピボットテーブルを使い始めたんですが、一つ困ってることがあります。
このピボットテーブル上の数字をカンマ付き小数点以下非表示としたい
ところ、カンマ付+小数点以下5桁まで 表示する書式を頑なに守り続けて
くれるところです。
「セルの書式設定」やらツールボタンのカンマボタンで直しても、ファイルを
開くたびに元の書式に戻ってしまいます。
自分好みの書式を維持させるにはどうしたら良いんでしょうか。
どなたか教えて下さい。

940名無しさん@そうだ選挙にいこう :2006/04/25(火) 08:02:26
自分で考えろ

941659です :2006/04/25(火) 09:56:55
>>939
>>1を見ましょう。と言ってもすでに遅いかも鴨。

942名無しさん@そうだ選挙にいこう :2006/04/25(火) 10:47:34
>>928
このあたりをとりあえず再確認してみては!

シートの設定について
・オプションの計算方法の設定はどうなっているか
VLOOKUP関数について
・ファイルBの保存先のフォルダー構成は合っているか
・TRUEとFALSE使い分けは正しいか

943名無しさん@そうだ選挙にいこう :2006/04/25(火) 11:42:51
>>933
「ファイルBの表の範囲」のところで
パス[ブック名.xls]シート名!範囲
とした時に、記号が何か抜けているんじゃないですか?

944名無しさん@そうだ選挙にいこう :2006/04/25(火) 14:32:26
>>902 >>905
ありがとうございました。
潔く諦めます。
切腹!

945名無しさん@そうだ選挙にいこう :2006/04/25(火) 14:34:08
>>944
vbaなら簡単にできるよ

946名無しさん@そうだ選挙にいこう :2006/04/25(火) 14:39:31
>>944
昨日も書いたけど、↓のコードでできる

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = 1 Then Cells(Target.Row, 2).Value = Date
End Sub

このコードを書く場所については「VBA ワークシートモジュール」とかで検索すれば解説してくれてるサイトがあるよ。VBAの知識なくても問題ないと思う。

947名無しさん@そうだ選挙にいこう :2006/04/25(火) 16:45:10
Windows2000  Excel2000  VBA勉強中 VBA可 です。よろしくお願いします。

最後の行の「列A」から処理を始めて、ひとつずつ上の行へと進み、全部で100行処理します。
Dim i As Integer
Dim Gaitou As Integer
Gaitou = 0
For i = 0 To -100 Step -1
If Cells(最後の行の行数 + i , 1) = 100 Then
Gaitou = Gaitou + 1
End if
Next
で、「最後の行の行数」のところはどうしたらいいでしょうか?


948名無しさん@そうだ選挙にいこう :2006/04/25(火) 16:57:31
意味がわからないんだけど、全部で100行の処理?

For i=100 To 1 Step -1
If Cells(i,1)=100 Then Gaitou=Gaitou+1
next

こういうことじゃなくて?

949947 :2006/04/25(火) 17:08:54
ありがとうございます。書き方がまずくてすいません。
それだとA100から上に100行処理しますが、データは毎日増えているので最新の100件
(つまりその日の最終行から上に100件だけ)処理したいんです。
その日の最終行の行番号を取得して、それを「最後の行の行数」のところに入れれれば
いいんですが・・・

950名無しさん@そうだ選挙にいこう :2006/04/25(火) 17:23:32
For lastRow = 1000 To 1 Step -1
  If Cells(lastRow, 1).Value <> "" Then Exit For
Next

とかってループをその前に入れてやるとかじゃダメ?

951名無しさん@そうだ選挙にいこう :2006/04/25(火) 17:30:29
>>947
オレはいつも最終行を求めるときはこれ使っているなぁ〜

最終行 = Worksheets(シート名).Cells(65536, 1).End(xlUp).Row '最終行検索

952名無しさん@そうだ選挙にいこう :2006/04/25(火) 17:31:51
それだ!

953947 :2006/04/25(火) 17:39:04
みなさん工夫しているんですね。あたま柔らかくてうらやましいです。
参考にさせてください。
>>948>>950-952さん、ありがとう。

954950 :2006/04/25(火) 17:40:33
>>953
オレのやり方は参考にしないで。
951さんのやり方がベスト。一瞬で出る。

955947 :2006/04/25(火) 17:58:46
あたまのなかで毛糸がからまったときにアドバイスもらって気持ちが落ち着きました。
プログラムできそうな感じしてきた。950さんありがとう。
951さん、すごい。それ使わせてください。

956名無しさん@そうだ選挙にいこう :2006/04/25(火) 18:09:11
>>933
「ファイルBの海外用の品番が書いてある列」ってのが気になる
ちゃんと2とか3とかの数字にしてます?
「ファイルBの表の範囲」の中で何列目かってことですよ

957名無しさん@そうだ選挙にいこう :2006/04/25(火) 18:20:23
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 VLOOKUP 近似値を求めるには

A1=199
範囲内の数値 1 10 100 150 200
セルにA1に一番近い値を返したい状況です。
VLOOKUPを使うとA1の値より小さい150が表示されます。
200を表示させる方法、つまりは範囲内で代償関わらず一番近い
数字を表示させれないでしょうか?




958名無しさん@そうだ選挙にいこう :2006/04/25(火) 18:21:03
代償→大小
です。失礼しました。

959名無しさん@そうだ選挙にいこう :2006/04/25(火) 18:29:00
>>957
FALSEじゃないほう

960名無しさん@そうだ選挙にいこう :2006/04/25(火) 18:44:04
>>959
だったらどうなるのか説明してみな

961名無しさん@そうだ選挙にいこう :2006/04/25(火) 19:17:01
>>957
こんなのしかうかばなかった
・準備
先頭列に[=RUNK]欄と[ABS(数値-検索値)]欄を追加する
RUNKは[ABS(数値-検索値)]に対して算定
・式
VLOOKUP(1,RUNK欄を含む範囲,数値の列番号,0)

962名無しさん@そうだ選挙にいこう :2006/04/25(火) 19:26:21
55、125、175の場合はどっち?

963名無しさん@そうだ選挙にいこう :2006/04/25(火) 19:37:49
RUNK?

964961 :2006/04/25(火) 19:56:24
ごめんRANKだったね

965928 :2006/04/25(火) 21:29:37
お礼が遅くなってすみません。
今日は試せなかったので、みなさんがくださったアドバイスを元に明日再トライしてみようと思います。
どうもありがとうございました。

966名無しさん@そうだ選挙にいこう :2006/04/25(火) 22:01:55
余所で弾かれたのでお邪魔いたします。

年度ごとの集計表を作りたいんですが
どんな関数を使えばいいでしょうか?

例えばA列に上から1・2・3と入れ
B列には上からH17.10.5、H17.12.1、H18.4.10と入れた表を作成します。
そして平成17年度のAの集計は?答えは1+2=3ですね。
こういう表を作りたいのに関数がわかりません。教えてください!

967名無しさん@そうだ選挙にいこう :2006/04/25(火) 22:32:03
>>966
YEARとSUMIFで出来るかな。

968659です :2006/04/25(火) 22:43:06
>>966
result = 0
For i = 1 to 終わりまで
 If Cells(i,2) => H171.1 and _
Cells(i,2) = < H17.12.31 then
result = result + Cells(i,1)
End If
Next i

こんな感じ。細かいところは、自分でTry&Errorして勉強してね。

969659です :2006/04/25(火) 22:45:37
>>967さんの方がエレガントかな?
まぁ、アルゴリズムあって、そのコーディングはいろいろあるってことですよ。



970名無しさん@そうだ選挙にいこう :2006/04/25(火) 22:53:40
>年度ごと
4月〜3月ですか?

971966 :2006/04/25(火) 23:01:20
回答ありがとう。

>>968
それはマクロですか?私は関数しか使えないんです。
>>970
そうです。年度単位です。


972名無しさん@そうだ選挙にいこう :2006/04/25(火) 23:05:40
>>971
>>967さんのレスでFAだよ

973名無しさん@そうだ選挙にいこう :2006/04/25(火) 23:48:43
余白の設定を標準設定にするにはどうすればよいでしょうか。
ヘルプで検索したらテンプレートを作れという内容のことが書いてあったのですが、
そのやり方がわかりません。

974名無しさん@そうだ選挙にいこう :2006/04/25(火) 23:52:36
>>968
それ本当に自分でやってみた?それでできると本当に思う?
あなたこそ勉強が必要ですよ。嘘書いても質問した人を混乱させるだけですよ〜

975名無しさん@そうだ選挙にいこう :2006/04/25(火) 23:58:02
>>966
年度って事であればYEARとMONTHとIFとSUMIFを使えば出来る。

976966 :2006/04/26(水) 00:06:02
>>973
おや?あなたもここに来たんですねw

>>975
明日試してみます。
年度って日本だけなのかな。だから年度を表す関数がないのかな。

977名無しさん@そうだ選挙にいこう :2006/04/26(水) 01:31:34
エクセルって、F5の Go to 機能はセルのアドレスを覚えてないと飛べないんだよね?
例えば印刷した30ページものの、28ページを修正したいときに、
セルアドレスを覚えてないけど、ページ28にカーソルを一気に移動って出来ない?


978名無しさん@そうだ選挙にいこう :2006/04/26(水) 01:37:27
エクセルで入力フォーム作るの面倒だな。もう飽きた。orz


979名無しさん@そうだ選挙にいこう :2006/04/26(水) 01:38:05
エクセルは印刷機能が弱い。

980名無しさん@そうだ選挙にいこう :2006/04/26(水) 02:40:02
【1 OSの種類】 Windows XP Pro
【2 Excelのバージョン】 Excel 2002
【3 VBAが使えるか】 既成のものアレンジして使う程度は・・・・
【4 VBAでの回答の可否】 可
【5 検索キーワード】 ハーパーリンク 画像 Windows 画像とFAXビューア

写真を参照できるデータベースを作成中です。品名の横にでも写真(.JPG)のありかの
ハイパーリンクを貼り、クリックで見たいときだけヴューワーを開くって感じで使いたいのです。
写真はひと品番で数名あるケースが多いので、枝番の若い順からめくっていく感じで使うつもり。
それには、→ボタンで移動させられる「Windows 画像とFAXビューア」が便利。なのに、普通に
画像クリックではそれが開くのに、Excel上のハイパーリンク経由だと、どうしてもIEやPhoto Editor で
開かれてしまいます。(拡張子に応じたプログラムの関連付けは当然やってます) どうにかなりませんか?
某大型パソコンQ&Aサイトでも同様な質問が寄せられていましたが、一週間放置プレー状態です。
いい知恵お貸しください。よろしくお願いいたします。


981980 :2006/04/26(水) 02:53:20
×【5 検索キーワード】 ハーパーリンク →○ハイパーリンク
×写真はひと品番で数名あるケース→○写真はひと品番で数枚あるケース

982926ですが。 :2006/04/26(水) 04:09:27
>>941
ありがとうございます。質問の仕方を勉強しました。こんな感じです。
【1 OSの種類         .】 WindowsXP-SP2
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 ???

983名無しさん@そうだ選挙にいこう :2006/04/26(水) 07:24:44
>>976
> 年度って日本だけなのかな。だから年度を表す関数がないのかな。

英語なら Financial Year って言葉でどこの国にも概念がある。
年度のはじまる月が会社によってバラバラだから、自分で実装しろってだけじゃないかな。

984名無しさん@そうだ選挙にいこう :2006/04/26(水) 07:27:52
>>982
で、質問はどこですか?
982だけじゃなくて過去ログを見ろってこと?
回答側があなたのいくつもの書き込みを探して読まなければいけない面倒は考えてますか?
回答する気になる人いないと思います。
質問の仕方をもういちど勉強しなおした方がいいですよ。

985名無しさん@そうだ選挙にいこう :2006/04/26(水) 08:29:04
>>974
頭に浮かんだアルゴリズムを表現したんですけど、間違いがありますか?
やってないけど、出来ると思ったので書いたんですけどね。


986名無しさん@そうだ選挙にいこう :2006/04/26(水) 08:47:25
>>976
配列数式で。
=SUM(IF(YEAR(DATE(YEAR(B1:B3),MONTH(B1:B3)-3,1))=2005,A1:A3))
と入力してCtrl+Shift+Enter
年度の処理がチョト強引かな。

987名無しさん@そうだ選挙にいこう :2006/04/26(水) 10:25:46
グラフの目盛りの最大値や間隔を変更しても反映されず
書式設定を見たら元に戻っているのですが
これって仕様ですか?
2002です。

988987 :2006/04/26(水) 11:31:21
いや申し訳ない。
書式設定のチェックボックスをチェックすると変更されるのだとばっかり思っていた。
よく見りゃ「自動」の文字が…

  orz
 


989名無しさん@そうだ選挙にいこう :2006/04/26(水) 12:09:28
>>985 [659です]ちゃん
回答してみたい気持ちは分るが、974さんが言っているように
不親切な答えは相手を混乱さすだけ、
一言「思いつきで確認はしていません」と、レスに追加しておくといいよ

990名無しさん@そうだ選挙にいこう :2006/04/26(水) 13:57:21
>>980
エクセルのハイパーリンクを使用する際に、関連付けされたソフトで開く方法があるのかどうかはわかりませんが、
WindousAPIのShellExecuteを使えば可能です。「API ShellExecute」などと検索してみて下さい。

991名無しさん@そうだ選挙にいこう :2006/04/26(水) 14:23:54
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 ?

初心者なし質問で悪いんですが

例えばBの2〜16の数値とC1の数値をそれぞれ掛け合わせた結果をCの2から16へ一気に出力

ということをしたいんですがどうすればよいのでしょうか?
よろしくお願いします


992名無しさん@そうだ選挙にいこう :2006/04/26(水) 14:56:18
C2に=B2*C1

これをC16までオートフィル

993名無しさん@そうだ選挙にいこう :2006/04/26(水) 15:09:37
>>991
失礼 C1は絶対参照で

994991 :2006/04/26(水) 15:22:45
>>993
おおっできました!
ありがとうございます


995名無しさん@そうだ選挙にいこう :2006/04/26(水) 15:41:20
うるせーよくたばれ

996名無しさん@そうだ選挙にいこう :2006/04/26(水) 16:43:31
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル 関数 カウント 同じ値 範囲

選択範囲内で、同じ数字が5つ以上ある場合に
該当する数字を抽出して、
数字そのものと個数を一覧表示したいです。

よろしくお願いいたします。


997980 :2006/04/26(水) 17:56:05
>>990
レスありがとうございます。少し光が見えて来た気もしないではありません。
私には少し難しいですが、頑張ってみます。

998990 :2006/04/26(水) 18:35:42
>>997
それではこういうのはどうでしょう。試しにまず、開きたい画像が入っているフォルダに新規のエクセルファイルを作ってみてください。
そしてエディターを開いて、標準モジュールを一つ追加し、以下のように記述して実行してみてください。
うまく動くようだったらいろいろといじって動きを確かめてみて下さい。実装の手助けになれば幸いです。

Public Declare Function ShellExecute Lib "SHELL32" Alias "ShellExecuteA" (ByVal hWnd&, ByVal lpOperation$, ByVal lpFile$, ByVal lpParameters$, ByVal lpDirectory$, ByVal nShowCmd&) As Long

Sub JPG画像を開くテスト()
  Dim hWnd As Long
  Call ShellExecute(hWnd, "Open", ThisWorkbook.Path & "\" & "○○○.jpg(開きたいファイル名)", "", "", SW_SHOW)
End Sub


999名無しさん@そうだ選挙にいこう :2006/04/26(水) 19:42:47
Excel総合相談所 43
2006/3/24〜2006/4/26
この間にウィークデイは何日あったでしょうか?
関数式で計算しましょう

1000名無しさん@そうだ選挙にいこう :2006/04/26(水) 20:05:53
1000

10011001 :Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


戻る
DAT2HTML 0.34 Converted.