5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Excel総合相談所 56

1 :名無しさん@そうだ選挙にいこう:2007/04/28(土) 13:01:55
Excelに関する質問は、ここで!

▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に>>2-20あたりの注意書きやQ&Aを必ず読むこと。
★4 質問テンプレ(雛形)は必須じゃないけど、
   OSやExcelのバージョン、VBAの可否など(下記テンプレ1〜4の情報)は必須情報。

▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
【5 検索キーワード     】 Googleやヘルプでの検索キーワード

※【4】は、VBAはわからないけどコード書いてくれるならVBAでもいいって場合は「可」
  VBAを使うのは避けたいって場合は「否」にしましょう。丸投げする場合は、必要に応じてブックをアップすること。

※【5】は、あなたがGoogleやヘルプで検索した際に使ったキーワードを書いてください。
  まだ検索してないなら、質問の前にGoogleやヘルプで検索してみてください。
  ttp://www.google.co.jp/

前スレ(55):http://pc11.2ch.net/test/read.cgi/bsoft/1174961523/l50

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

3 :名無しさん@そうだ選挙にいこう:2007/04/28(土) 13:05:08
★ルールを無視すると…
 >>1-2あたりのルールに従うか否かは自由だけど、従わないと以下のような不利益があるよ

 1.マルチをしてしまったら…
 A.謝っても他での質問を取り下げても、以後その質問に対する回答は付かない物と思ってください。
   それが嫌なら初めからマルチなんてしないように。>>2にマルチ禁止と書いてあり、
   マルチの意味が分からなければ検索すれば出てくるので、「知らなかった」は通用しません。

 2.>>1★4に従わず、必要な情報を出さないと…
 A.自分の使用しているバージョンで使えない機能を答えられたり、VBA使えないとか使いたくないと書かないと
   VBAでの解決OKで自分でコード書けるものと勝手に解釈されて、「VBAで出来るから自分でコード書いて」程度の
   適当な回答を返されたりします。また、ここではVBAコード書けない人の丸投げ依頼を許可してますが
   これはきちんとルールに従って質問、依頼した人のみの特権です。

 3.情報・条件を後出しすると…
 A.後から出された情報は意図的に無視されたり、質問自体を放置されたりします。
   >>1★4の必須情報はもちろんのこと、要望や条件、既に試したことなどは、
   長文になってもいいので詳細かつ明確かつ具体的に書きましょう。


★VBAについて
 VBAとは、『Visual Basic for Application』の略で
  Application
  ├Workbooks
  |└Workbook
  |  ├Worksheets
  |  |└Worksheets
 というApplication以下のオブジェクトを、VB言語で操作するものを指します。 
 例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
 セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。

4 :名無しさん@そうだ選挙にいこう:2007/04/28(土) 13:06:01
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)

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

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


5 :名無しさん@そうだ選挙にいこう:2007/04/28(土) 13:06:38
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)

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

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

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

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

6 :名無しさん@そうだ選挙にいこう:2007/04/28(土) 13:07:36
上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。
間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。
Excel2007についても未確認な項目が多いので変更点が有ればご指摘下さい。

また、ここに書かれてないことでも、Excelで出来ないことはたくさんあります。
ここに書かれてないからといって必ず出来るはずだなんて思わないように。

>▼環境・書式
> ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する
補足
2007ではページレイアウトビューの表示時に限り、幅・高さともcm単位で表示され、
指定も同じくcm単位でできる。
ただし大元がインチ系なのでなかなかピタリの値は出ない。1cm→0.98cmのように
近い値に勝手に丸められる。

7 :名無しさん@そうだ選挙にいこう:2007/04/28(土) 13:30:16
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】はい
【4 VBAでの回答の可否】 乳児レベル
【5 検索キーワード     】 関数 書式変更

関数計算の結果OKかNGかがセルに表示されるのですが
NGの場合背景色を(ボタン等を押さなくても)赤に自動的に
変わるようにするにはどうしたらいいですか?

8 :名無しさん@そうだ選挙にいこう:2007/04/28(土) 13:34:03
>1 乙でし!

前スレ998

計算値を使い回すならセルの書式設定で表示形式をいじろう。
見た目だけで良ければ
=SUM(A1:A3)&"人"
でおk

>7
条件付き書式でおk

9 :998:2007/04/28(土) 13:45:37
>>8
ありがとうございました!

10 :名無しさん@そうだ選挙にいこう:2007/04/28(土) 16:26:47
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 生まれたてのバンビレベル
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 COUNTIF 複数 指定

COUNTIFで抽出する際に、2つの引数を検索条件に指定するにはどのように行えば良いでしょうか
(複数条件という訳ではありません)
別々に抽出してSUMで合計だせば良いというのは分かるのですが、どうしても一つの式で出したいのです

11 :名無しさん@そうだ選挙にいこう:2007/04/28(土) 16:28:04
表にデータを追加したら、そのデータを使ったグラフで
自動的に追加データを取り込んで表示する方法があれば
教えて下さい。
例えば、B1〜B10にデータがあり、
その10ケのデータを折れ線グラフで表示している時に
B11にデータを入力したら、グラフが自動的に
B1〜B11のデータの折れ線グラフに変わるという事です。

12 :名無しさん@そうだ選挙にいこう:2007/04/28(土) 17:16:29
>>10
=COUNTIF(A)+COUNTIF(B)
or
=DCOUNT(C)

13 :名無しさん@そうだ選挙にいこう:2007/04/28(土) 17:42:06
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 否

私は、基本的にVBA付きエクセルファイルを受け取ることが嫌いです。
しかし、自分ではVBAを使いデータ処理をしますが、調査もので人からデータを
もらう場合は、プレーンなエクセルシートに入力フォーマットを作り配布します。
その後、自分の機械でVBAを使いデータ処理をします。

従ってVBA付きエクセルファイルをもらった時は、マクロを実行せずに、VBAエディター
でコードを読んでから安全を確認しマクロを実行します。

しかしこの前、国の農林水産省から送られてきたエクセルの調査様式には驚きました。
VBA付きエクセルファイルなのでいつものように、VBAエディターを立ち上げました。
そしたら「パスワードを入れてください」とほざきました。

5分ほどなやみ、やむなくマクロを実行しました。
その後のファイルを見ると、どうもそのマクロはあえてVBAを使うほどのものとも
思えないのですが、そこで質問です。
パスワードで保護されたVBAコードを読む方法は無いでしょうか?
もちろんVBAコードはリードオンリーで結構です。


14 :名無しさん@そうだ選挙にいこう:2007/04/28(土) 17:54:11
>>13
前振りが長い

15 :名無しさん@そうだ選挙にいこう:2007/04/28(土) 17:55:15
>>13
モラルの無い奴は来るな。勝手に調べろ!!

16 :名無しさん@そうだ選挙にいこう:2007/04/28(土) 18:00:23
>13
詐欺師みたいな文章だな

17 :名無しさん@そうだ選挙にいこう:2007/04/28(土) 18:37:30
>>14
>>15
禿同(w、モラルはちょとわかんない。

でも、俺もパスワードVBAエクセルファイルはやだな。


18 :名無しさん@そうだ選挙にいこう:2007/04/28(土) 20:20:54
▼━過去スレを見たい人━━━━━━━━━━━━━━━━
o2onで気長にまってたら落ちてくるかも。

o2on・・・2chのdatファイルを共有するP2Pソフトです。
現段階ではまだαバージョンですので、マターリいきましょう。

公式サイト
ttp://o2on.net/wiki/


19 :名無しさん@そうだ選挙にいこう:2007/04/29(日) 09:07:48
どなたか助けてください。VBA初心者なんですが、下記コードの
修正お願いします。
  やりたい事、(G2:H200)から文字を検索して同じ文字を(I2:J200)から探します。
  同じ文字が見つかった場合は、その下の行に数字が入っているので差額をM列に挿入したいです。
    ・文字と数字はセットになっているので、文字は2行おきにあります。
    ・空白の場合は無視します。
    ・G2:H200の文字より下の行にI2:J200の文字はあります。

Private Sub Worksheet_Calculate()
Dim 次の文字列 へAs Long
Dim 買い行 As Long
Dim 買い列 As Long
Dim 売り行 As Long
Dim 売り列 As Long
   For 次の文字列へ = 1 To 100
   For 買い行 = 2 To 200 Step 2
   For 買い列 = 9 To 10
If Cells(買い行, 買い列).Value = "" Then
   Next 買い列
   Next 買い行
Else
   For 売り行 = 買い行 + 2 To 200 Step 2
    For 売り列 = 7 To 8
     If Cells(売り行, 売り列).VALUE <> (買い行, 買い列).Value Then
   Next 売り列
   Next 売り行
    Else
    Cells(売り行, 13) = Cells(買い行 + 1, 買い列) - Cells(売り行 + 1, 売り列)
    End If
End If
     Next 次の文字列へ
End Sub

20 :名無しさん@そうだ選挙にいこう:2007/04/29(日) 12:46:27
>19
次の文字列へ  は意味がわからんので削除

Sub hoge()
  Dim 買い行 As Long, 買い列 As Long, 売り行 As Long
  For 買い行 = 2 To 200 Step 2
    For 買い列 = 9 To 10
      If Cells(買い行, 買い列) <> "" Then
        For 売り行 = 2 To 200 Step 2
          If Cells(売り行, 7) = Cells(買い行, 買い列) Then Cells(売り行, 13) = Cells(買い行 + 1, 買い列) - Cells(売り行 + 1, 7)
          If Cells(売り行, 8) = Cells(買い行, 買い列) Then Cells(売り行, 13) = Cells(買い行 + 1, 買い列) - Cells(売り行 + 1, 7)
        Next 売り行
      End If
    Next 買い列
  Next 買い行
End Sub

21 :名無しさん@そうだ選挙にいこう:2007/04/29(日) 13:31:35
>>19
Sub oioi()

Dim 買い行 As Long
Dim 買い列 As Long
Dim 売り行 As Long
Dim 売り列 As Long
Dim I As Long

I = 2
Range(Cells(2, 13), Cells(200, 13)).ClearContents
For 買い行 = 2 To 200 Step 2
For 買い列 = 9 To 10
If Cells(買い行, 買い列).Value <> "" Then
For 売り行 = 2 To 200 Step 2
For 売り列 = 7 To 8
If Cells(買い行, 買い列).Value = Cells(売り行, 売り列).Value Then
Cells(I, 13).Value = Cells(売り行, 売り列).Value
Cells(I + 1, 13).Value = Cells(買い行 + 1, 買い列).Value - Cells(売り行 + 1, 売り列).Value
I = I + 2
End If
Next
Next
End If
Next
Next

End Sub


22 :名無しさん@そうだ選挙にいこう:2007/04/29(日) 21:49:25
>>20
>>21
返信大変遅くなりすみませんでした。

親切に作ってくれてほんとにありがとうございます。
連休中いい事あるように祈っています。



23 :名無しさん@そうだ選挙にいこう:2007/04/29(日) 22:34:32
グラフ作成で、右縦軸と左縦軸でスケールの違うグラフって作れないのでしょうか?
例えば、右の軸は温度、左の軸は湿度、とかにして温度と湿度の折れ線グラフを同じグラフに表示する、
といったことです。
裏ワザでもかまいませんし、
他のソフトで簡単にできるようなものがありましたら、教えていただきたいのですが。



24 :名無しさん@そうだ選挙にいこう:2007/04/29(日) 22:53:21
>>23
右側の軸にスケールを表示させたいデータを選んでプロパティから第2軸を選択するだけ

25 :名無しさん@そうだ選挙にいこう:2007/04/29(日) 23:24:33
【1 OSの種類         .】WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 幼稚園レベルまで
【4 VBAでの回答の可否】 可

エクセルで作成した内容をメールの添付ファイルにし
同時にメールの件名・文面の作成することは出来ますか?

お手数ですが教えてください




26 :名無しさん@そうだ選挙にいこう:2007/04/29(日) 23:33:50
何方かご存知の方お願い致します。
エクセル(MS-Excel2000)で作成した棒グラフをWEBページで保存し、この
グラフをgif画像として取り出そうと考えております。

問題は、39,999という値の時に40,000の罫線にグラフが掛かってしまう
という事なのです。これを40,000まで罫線に掛からないように調整
する事は可能でしょうか?ちなみにこのグラフの最小値は0で最大値
は50,000、罫線は10,000ごとに引かれています。

27 :名無しさん@そうだ選挙にいこう:2007/04/29(日) 23:42:28
>>26
値が近すぎてグラフの大きさによっては重なるんだろうな
39,999を表示させて実際は違う値を入力するとか、
そのあたりを調節できる別のソフトで作るとかだな

28 :名無しさん@そうだ選挙にいこう:2007/04/29(日) 23:48:30
>>26
思うに、罫線ではないと思う。目盛り線だな

数値が微妙なんだから諦めろ
またはデータラベルをグラフに表示させて40,000でないことを強調するかだな

29 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 00:24:41
質問です。お願いします。
Excelで減価償却費をだしたいのですが、定率法(DB)だと月を入力できるので
最初の年と最後の年の半端な分を計算してくれるのですが、
定額法(SLN)だと月を入力できず、正しい値がでてきません。
何かいい方法はありますか?最初と最後の年は手作業で入力するしかないのでしょうか…


【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 減価償却 月 定額法


30 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 00:41:01
なんだかよくわからないけど12で割るんだ

31 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 01:07:56
貧乏くせーな会計ソフト使えよ

32 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 07:55:03
>>29
定額法に月?
計算式晒さないと答えようが無いね

33 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 09:45:04
セルをダブルクリックする(→セルの内容を編集できる状態にする)
という操作のショートカットキーって無いんですか?

34 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 09:46:14
>>33
F2

35 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 09:46:34
>>33
F2

36 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 10:57:39
>>33
F2

37 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 11:51:20
>>33
F2

38 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 12:07:32
折れ線グラフの色って自分で選べるの?


39 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 12:13:17
>>38
選べるよ

40 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 14:17:02
>>39
そうですか。ありがとうございました。


41 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 14:48:49
グラフの原点からオートシェイプで線をひく方法ってありますか?
ぴったり原点からひきたいんですが・・・

42 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 15:28:59
折れ線グラフの“折れ線”ごとにその名前を入れたいのですが、
データラベルを入れると、値ごとにデータの系列名が入ってしまい、
グラフがうるさくなってしまいます。
折れ線に1個だけ系列名の名前を添えたいだけなのですが、何かいい方法あるでしょうか?




43 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 15:58:09
>>41
画面を拡大してやれば、かなり不器用な人でもピッタリ合いますが。

>>42
テキストボックス

44 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 17:55:11
>>33
F2

45 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 18:04:40
>>33
F2

46 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 19:02:01
それじゃ漏れも

>>33
F2

47 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 19:22:35
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel*2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 数字に変換 ,

ダウンロードしたデータが3桁置きに半角カンマ「,」が入っています。
そのデータをオートサムで計算しようとしても出来ません。
で、セルの書式で数値&カンマをはずすにしてもカンマが取れません。
で、カンマをはずして数値を再入力すると計算してくれます。
データ元が手入力でカンマを入れているのかなと予想しているのですが、
自動でカンマを取るorオートサムで計算できるようにならないでしょうか?
データ元の数値は桁数がバラバラです。





48 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 19:25:42
>>47
ダウンロードしたデータの形式は?

49 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 19:41:57
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel*2003
【3 VBAが使えるか    .】 ほとんどいいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 マクロ 自作 VBA,

自分で記録・作成したマクロをVBA上で指示して実行することはできるようですが、具体的な方法などが
載っているサイトなどありますでしょうか。

シートAでコマンドボタンを設置して、それをきっかけにシートBでマクロを実行したいのですが、そこらへんも
VBA上できっちり記述しなければならないんですよね?

50 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 19:56:08
>>49

問1.http://www.sanynet.ne.jp/~awa/excelvba/kouza/chapt_03/010.html

問2.はい。


51 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 20:37:25
>>50
ありがとうございました!

52 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 20:56:49
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 名前をつけて保存

コマンドボタンを押すと、D4の文字列を参照して、それをファイル名にして現在のファイルを保存したいと思います。
どのようなコードを組めばいいでしょうか?

Private Sub CommandButton4_Click()
ファイル名 = Range("d4").Value
ActiveWorkbook.SaveAs _
filename:=ファイル名&".xls"

End Sub

こう書いてみましたが上手く動きません。どこが違うのでしょうか?



53 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 21:23:33
>>52
普通に保存できるな。
念のため&の前後にスペース入れてみ。

54 :47:2007/04/30(月) 21:28:01
>>48
IE上で、クリックするとエクセル画面に切り替わるHPです。
そこからセルをコピーして貼り付けています。
表現がちょっと悪かったですね。



55 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 21:45:51
>>54
どういうケースか分からないですが(私の場合は問題ないみたい)、
桁区切りを使用するのチェックは外れていますか?
又、数式バーにはどういう風に表示されているのでしょうか?

56 :47:2007/04/30(月) 21:57:20
>>55
いろいろとありがとうございます。
私が見た下記HPのBD11,AR23,T23をエクセルにコピーして計算できます?

http://www.tse.or.jp/market/data/sector/J_stk2_070303.xls


57 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 22:13:02
>>56
コピーした数字が「文字列」になってるんぢゃないの?
表示形式で確認してごらん。

58 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 22:16:38
>>56
できますよ
数字は文字列かテキスト形式なので数値に変換しないとだめですが…


59 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 22:17:05
>>57
数値にしてカンマをなくすにチェックをつけても計算してくれないんです。
何故でしょうか?


60 :56:2007/04/30(月) 22:22:54
>>59
ありがとうございます。
足し算とかだとできました。
オートサムは相変わらずダメです。

私の設定がなにか悪いんでしょうね・・・・・・





61 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 22:27:35
>>60
漏れの2003だからなぁ…2000ってどうっだか忘れてますので…
2003だと文字列として保存されている数値は教えてくれて修正してくれんるんですよ

62 :56:2007/04/30(月) 22:28:25
オートサムを縦方向で計算するとできました。
横方向だと0になります。
なぜなんでしょう?



63 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 22:34:17
>>62
文字列が含まれているから?
こちらでは問題ありません

64 :名無しさん@そうだ選挙にいこう:2007/04/30(月) 22:49:58
>>62
Excel2000は一旦文字列で確定された数値は表示形式を数値とかに変更しても文字列のままです。
数値に変換するには該当セルを編集するなど一手間かける必要があります。
(例えばセルを選択してF2を押してENTERを押すなどです。)

B1=(A1+A2+A3)とかであれば文字列でも数値と見なせる物は足してくれますが、
B1=SUM(A1:A3)だと無視されます。

65 :62:2007/04/30(月) 23:37:23
>>64
ありがとうございます。
そういう理由だったんですね。
こんな詳しい解説、感謝です。
勉強になりました。



66 :名無しさん@そうだ選挙にいこう:2007/05/01(火) 03:04:42
>>53
ありがとうございます。うまくできました。スペースも大切なんですね。

ところで、今このワークブックがあるフォルダに名前をつけて保存をしたいのですが、現状どこに保存してるのかよくわからない
状況になっています。
パスというかフォルダを同じ場所に指定したい場合、どのような記述をすれば良いのかわかりません。

どなたかご存じないですか?

67 :名無しさん@そうだ選挙にいこう:2007/05/01(火) 06:53:51
>>66
ThisWorkBook.Path & "\" & ファイル名

68 :66:2007/05/01(火) 11:13:03
>>67
ありがとうございます。これを>>52のコードに仕込めばいいわけですか?

69 :名無しさん@そうだ選挙にいこう:2007/05/01(火) 11:21:45
>>68
害は無いからやってみよう。

70 :名無しさん@そうだ選挙にいこう:2007/05/01(火) 14:32:33
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel  ?
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 2段リスト 多段リスト

リストを使って品物を入力したいのですが、普通のリストだと量が多く探すのがめんどうです。
リストを多段にできれば早いと思ったのですが、多段リストは作れるのでしょうか?

例えば、↓のようなリストがあったとしたら、

A10 A20 A30
B10 B20 B30
C10 C20 C30
D10 D20 D30

↓このように選択できるようにしたいです。

 A
 B
→C→C10
 D C20
   C30

71 :70:2007/05/01(火) 14:41:28
excel2002です。

72 :70:2007/05/01(火) 16:08:44
入力規則とINDIRECTを使ってなんとなくそれっぽいのは出来たのですが、
これを1つのセルに入力することはできませんか?

73 :名無しさん@そうだ選挙にいこう:2007/05/01(火) 19:21:59
以下の文がシートが1枚だったときは動いていたように思うのですが3枚目のシートになったら、
「オブジェクト変数またはwithブロック変数が設定されていません」となり、中断します。
setをどうかすればいいのでしょうか。丸投げで教えてください。
Dim rg As range
→ rg = range("c7:y41")


74 :名無しさん@そうだ選挙にいこう:2007/05/01(火) 20:07:43
>>73
Set rg = Sheets("Sheet1").Range("c7:y41")

75 :名無しさん@そうだ選挙にいこう:2007/05/01(火) 21:45:59
>>74
ありがとう!!


76 :名無しさん@そうだ選挙にいこう:2007/05/01(火) 23:08:58
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】断面図

いくつかの地点の水温を水深10メートルくらいまで測ったときのデータがあるとき、
断面図を描くにはどのようにすれば良いですか?

77 :名無しさん@そうだ選挙にいこう:2007/05/01(火) 23:11:48
>>76
オートシェイプで書けると思う

78 :名無しさん@そうだ選挙にいこう:2007/05/01(火) 23:16:57
>>77
手書きですか?グラフとして出ないですか?

79 :名無しさん@そうだ選挙にいこう:2007/05/01(火) 23:29:48
3D縦棒グラフ?

80 :名無しさん@そうだ選挙にいこう:2007/05/01(火) 23:32:30
ttp://www.fra.affrc.go.jp/kseika/nrifs/images/nrifs01003_2.gif

こんな感じのグラフを作りたいです

81 :名無しさん@そうだ選挙にいこう:2007/05/01(火) 23:40:23
うーん、等高線で作ってそう見えるように回転

82 :名無しさん@そうだ選挙にいこう:2007/05/01(火) 23:41:38
回転いらねーや・・・

83 :73:2007/05/02(水) 00:21:33
Dim rg As range とvbeで書いているのにrangeのrが何故か、Rにならずじまいです。
どうしてこうなるのかわかりませんので、原因を教えてください。

このためだと思うのですが、
Set rg = Sheets("Sheet1").Range("c7:y41") は「インデックスが有効範囲にありません」
とのエラーが出て、配列として認識されているようにあります。


84 :名無しさん@そうだ選挙にいこう:2007/05/02(水) 00:32:13
初歩的な質問ですまん。
エクセルを開いた時、

85 :名無しさん@そうだ選挙にいこう:2007/05/02(水) 00:33:54
初歩的な質問ですまん。
エクセルの初期設定はどうやるんですか?

86 :名無しさん@そうだ選挙にいこう:2007/05/02(水) 00:46:48
>>85
どんなとこを設定したいのですか?

87 :名無しさん@そうだ選挙にいこう:2007/05/02(水) 09:04:51
>83
ありがちなのがタイプミスで、こんな短い文で間違えようがないだろ
というところにミスがあったりします。(例 vbe
それか「dim rg as 」までタイプすると出てくるリストから選んでみたら?

88 :名無しさん@そうだ選挙にいこう:2007/05/02(水) 09:07:19
>>85
ユーザー登録を真っ先にやれ
話はその後だ

89 :名無しさん@そうだ選挙にいこう:2007/05/02(水) 10:56:09
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 集計 for 合計

データから集計という機能があると思うのですが、
集計の機能をマクロで実行したいのですが、
どうやったらいいですか?

forを使って、ループ回して、配列に入れて…、
などをやると思うのですが、スキルが追いつかず
うまくできません。



90 :名無しさん@そうだ選挙にいこう:2007/05/02(水) 11:49:40
VBAでコマンドボタンなどのオブジェクトのセル番地を取得する方法、ありませんか?

91 :名無しさん@そうだ選挙にいこう:2007/05/02(水) 14:46:35
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 画像 挿入 名前
【6 検索サイト     】 すぐマク

質問させていただきます。
マクロで画像を挿入する際の記述に関する事です。

フォームにテキストボックスが用意されていて、コマンドボタンでそこに入力したファイル名の
画像を挿入及び、画像の名前をファイル名と同一に変更。を実行したいのです。

例えば挿入された画像の名前を変えるには
ActiveSheet.Shapes("Picture 1").Name = "変えたい名前"
と書くまでは判ったのですが、以下の挿入時マクロの4行目にはどう書けば良いのでしょうか?

Private Sub CommandButton1_Click()
mypicture = TextBox1.Text
ActiveSheet.Pictures.Insert("保存先" & mypicture).Select
'挿入した画像(図形)の名前を mypicture に設定する記述
End Sub

また「選択されたセル」=ActiveCll の様に、「選択された画像」はどう書けば良いのでしょうか?

宜しくご教示お願い申し上げます。

92 :名無しさん@そうだ選挙にいこう:2007/05/02(水) 16:40:40
【1 OSの種類         .】 Windows2000SP4
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 ちょっと
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 *

「5.05**」「7.48*」「9.09」「4.87**」のように、「数字+半角アスタリスク(ありなし)」という
セルが連なっています。
このうち「*」のみを「上付き」に変更したいのですが、どうすればよいのでしょうか。
「~*」にして置換すると、*のみでなく、セル全体が上付きになってしまいました。

93 :名無しさん@そうだ選挙にいこう:2007/05/02(水) 20:39:32
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 二項分布

エクセルの関数に関する質問です。
個別項の二項分布の確率を求めるために二項分布で検索したところ、以下の関数が出てきました。

BINOMDIST(成功数, 試行回数, 成功率, 関数形式)

これに各数値を入力(以下の式をセルに入力)しましたが、#NUM!と表示され数値が求められません。

=BINOMDIST(188,26644,0.00887311,FALSE)

成功数 < 0 または 成功数 > 試行回数 である場合、エラー値 #NUM! が返されます。
成功率 < 0 または 成功率 > 1 である場合、エラー値 #NUM! が返されます。

とヘルプにありますが、入力した数値がエラーの出る範囲のものではないのでこれ以外にも入力する数値に制限があるのでしょうか?
どうすれば正しい計算結果が表示されるのでしょうか?

94 :ごぶりん:2007/05/02(水) 21:40:55
【1 OSの種類         .】 WindowsXP pro
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否 
【5 検索キーワード     】 複写
質問:三平方の定理の計算で1列をベースに↓へ複写していくと見た目では間違っていないはずの計算で”False”と出てくる。その原因を知りたいです
A B C D E F G H
A2+0.03 A2^2 C2+0.04 C2^2 B3+D3 F2+0.05 F3^2 E=G ←2行目の計算式
垂辺 垂辺の二乗 底辺 底辺の二乗 二乗の和 斜辺 斜辺の二乗 E=G
3.00   9.00 4.00 16.00 25.00 5.00 25.00 TRUE
3.03 9.18  4.04 16.32 25.50 5.05 25.50 TRUE  ←この行をすべて下方へ複写する
3.06 9.36  4.08 16.65 26.01 5.10 26.01 TRUE
3.09 9.55  4.12 16.97 26.52 5.15 26.52 TRUE
3.12 9.73  4.16 17.31 27.04 5.20 27.04 TRUE
・・・省略
3.60 12.96  4.80 23.04 36.00 6.00 36.00 TRUE
3.63 13.18  4.84 23.43 36.60 6.05 36.60 TRUE
3.66 13.40  4.88 23.81 37.21 6.10 37.21 TRUE
3.69 13.62  4.92 24.21 37.82 6.15 37.82 FALSE
3.72 13.84  4.96 24.60 38.44 6.20 38.44 FALSE
3.75 14.06  5.00 25.00 39.06 6.25 39.06 FALSE
3.78 14.29  5.04 25.40 39.69 6.30 39.69 FALSE


95 :名無しさん@そうだ選挙にいこう:2007/05/02(水) 21:42:16
>>93
入力によってはオーバーフローを起こす

http://support.microsoft.com/kb/827459/ja
「以前のバージョンの Excel の計算結果」を参照


96 :ごぶりん:2007/05/02(水) 21:44:52
1列をベースに →1行をベースに
確認ではずれていなかったが、結果ずれてしまった。
連スレ申し訳ない。訂正でした

97 :93:2007/05/02(水) 21:53:38
>>95
有難う御座います。

98 :名無しさん@そうだ選挙にいこう:2007/05/02(水) 22:00:29
>>94
演算誤差だな、内部では2進数で計算するから目で見て同じでも微妙に違う
計算結果をROUND関数に通すか
整数のみ使うか
オプションの計算方法で表示桁数で計算する


99 :名無しさん@そうだ選挙にいこう:2007/05/02(水) 23:41:27
すいません。
エクセルをしてたときにキーを押し間違えて画面が横向き
になってしまい、エクセルを消してもモニタ画面まで
横向きになってしまいました。一度パソコンの電源を
落としたのですがそれでも戻ってません。直しかたを教えてください。
お願いします。

100 :名無しさん@そうだ選挙にいこう:2007/05/03(木) 02:03:17
>>99
それ、Excel が原因じゃないから

ビデオカードのドライバーの設定・・・ホットキー辺りにローテイトってあるだろ。それだよ

101 :名無しさん@そうだ選挙にいこう:2007/05/03(木) 02:21:49
excelのマクロ機能を使って、進捗管理を行うテンプレートなどありますでしょうか?
やりたいこと
・資格試験勉強の管理が目的
・5教科ある項目の勉強の進捗を管理したい
・どの程度遅れているか、いつから、どのような教科の勉強をしなくてはならないかのスケジューリング
・進捗具合が一目で分かる表示などが出来るとなお良い。
・図として表示まで入らないけれど、クリティカルパスが設定できるとうれしい(5教科の効率よい順序だて)
こんな感じです。
よろしくお願いします。

102 :73=83:2007/05/03(木) 02:50:18
>73 :名無しさん@そうだ選挙にいこう :2007/05/01(火) 19:21:59
> 以下の文がシートが1枚だったときは動いていたように思うのですが3枚目のシートになったら、
> 「オブジェクト変数またはwithブロック変数が設定されていません」となり、中断します。
> setをどうかすればいいのでしょうか。丸投げで教えてください。
> Dim rg As range
> → rg = range("c7:y41")

>74 :名無しさん@そうだ選挙にいこう :2007/05/01(火) 20:07:43
> >>73
> Set rg = Sheets("Sheet1").Range("c7:y41")

>83 :73:2007/05/02(水) 00:21:33
> Dim rg As range とvbeで書いているのにrangeのrが何故か、Rにならずじまいです。
> どうしてこうなるのかわかりませんので、原因を教えてください。

> このためだと思うのですが、
> Set rg = Sheets("Sheet1").Range("c7:y41") は「インデックスが有効範囲にありません」
> とのエラーが出て、配列として認識されているようにあります。

>87 :名無しさん@そうだ選挙にいこう :2007/05/02(水) 09:04:51
> >83
> ありがちなのがタイプミスで、こんな短い文で間違えようがないだろ
> というところにミスがあったりします。(例 vbe
> それか「dim rg as 」までタイプすると出てくるリストから選んでみたら?

リストでやってみても、何をやってみても大文字が必ず、小文字に変換されてしまいます。
他のパソコンで試していますのでタイプミスはないです。原因に心当たりがあるとすれば
もう、5行のtipを貼り付けた後にこの現象が起こりだしたようだというぐらいしかないです。
何か対処方法をお願いします。


103 :名無しさん@そうだ選挙にいこう:2007/05/03(木) 08:46:12
>>102
全文引用ウザイ

104 :名無しさん@そうだ選挙にいこう:2007/05/03(木) 08:59:44
>>102
開いてるブック(個人用マクロブック含む)の何処かで
Public range As range
みたいな感じで誤定義されてるだけじゃないのか?


105 :名無しさん@そうだ選挙にいこう:2007/05/03(木) 09:02:36
とりあえず使いたいからexcel買おうとおもってんだけど2003でいい?
それとも97とかでもいいの?
ただの練習用です

106 :名無しさん@そうだ選挙にいこう:2007/05/03(木) 09:06:23
>>105
今から買うなら2007にしといたほうがいいかもしれんぞ。
2007とそれ以前とでインタフェースがまるで違う。
ただ、以前のバージョンよりメモリが必要だが。

2003以前なら97でも2000でも2002でも2003でも
基本的なところは変わらん。

107 :名無しさん@そうだ選挙にいこう:2007/05/03(木) 10:41:23
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 全く×
【5 検索キーワード     】 セルの設定書式

セルの設定書式→パターンで、セルの色を変えようとしているのですが、
その色パレットのデフォルト色がいつの間にか、全く様変わりしておりました。
マウスのポインタを新しく出来てしまった色の上に乗せると、ポップアップで
は「配色」と表示されています。
元のデフォ状態に戻すにはどうすれば良いのでしょうか?
それと、新しく自分の意図通りの色を作る(新しいパレットを作る)事なんて
出来るのでしょうか?よろしくご教授願います。

108 :名無しさん@そうだ選挙にいこう:2007/05/03(木) 11:00:59
>>107
とりあえずデフォに戻すなら、ツール>オプション>色で「リセット」

「変更」ボタンを使えばパレットをいじることも可能
ただしブック内で同時に使える色は56色までで変わりなし。

109 :107:2007/05/03(木) 11:34:59
>>108さん
ご回答ありがとうございます。
とりあえず、新規で立ち上げた場合のパレットはデフォに戻ったのですが、
ずっと記録してきたデータに関しては、そのリセットがうまく行かない
状態です。新規のデータに、古い方のデータをコピペしてみたのですが、
そうすると折角リセットしたパレットが元のめちゃくちゃな状態に
なってしまいました。(やはりリセットも効きません)
新しいデータにしこしこと手打ちするわけにもいかず、困ってます。

また、この状況を脱するための方法をどなたかご教授願います。

110 :名無しさん@そうだ選挙にいこう:2007/05/03(木) 11:36:16
セルのデータを並び替えたいのです。つまり、

  ABCD
  あいうえ

    ↓

   あA
   いB
   うC
   えD

と、いう風にしたいのですが。こんな機能ってありましたっけ?

111 :名無しさん@そうだ選挙にいこう:2007/05/03(木) 11:55:59
コピー → 形式を選択して貼り付け で
縦横を入れ替えて貼り付けたあと
列を移動する。


112 :名無しさん@そうだ選挙にいこう:2007/05/03(木) 12:15:33
>>109
なにかデータが壊れているような気もするし、保障はできないので
必ずバックアップコピーを取ってから試してみてくれ。

正しいパレットが表示されるブックと、おかしいパレットが表示される
ブックの両方を開く。
おかしいパレットが表示されるブックでツール>オプション>色
「コピー元ファイル名」で正しいパレットが表示されるブックを選択
OKをクリック

これで戻らなければ俺にはわからん。


113 :名無しさん@そうだ選挙にいこう:2007/05/03(木) 16:02:59
>>111
どうもありがとうございました。


114 :名無しさん@そうだ選挙にいこう:2007/05/04(金) 02:09:52
簡単な質問なのですが

ctrl+クリックの逆で

選択範囲の中から一つずつ除くには

ctrl+?+クリックなのでしょうか?

いろいろ押してみたのですができませんでした。

115 :名無しさん@そうだ選挙にいこう:2007/05/04(金) 02:39:11
逆は無い、そのまま

116 :名無しさん@そうだ選挙にいこう:2007/05/04(金) 10:33:45
エクセルのツールバーやらボタンやらを色々自分仕様に変えたのですが
MOS受けるにあたって標準に戻したいのです。
再インスコ以外で戻る方法ありますでしょうか?

117 :名無しさん@そうだ選挙にいこう:2007/05/04(金) 11:32:58
ユーザーフォームを作って顧客管理の名簿を作りたくて
ヘルプやグーグルで0からやってみたんですが
全然出来ません・・・
ここで間違いを指摘してもらう事はお願い出来ますか?
もし教えてもらえるなら
コードをコピペしたいと思います
(長いし全く始めて挑戦したのでかなりみずらいと思うのですが・・・)
スレ違いならどこで聞けばいいか教えて下さい

118 :名無しさん@そうだ選挙にいこう:2007/05/04(金) 11:33:34
>>116
ツール>ユーザー設定>ツールバーで「リセット」
一括リセットはできないので、ツールバーごとにこつこつやる

つーかMOS受けるくらいの意思があるなら、
こんなところで質問せず自分で調べてみたまい

119 :名無しさん@そうだ選挙にいこう:2007/05/04(金) 11:40:35
>>117
ここで答えが得られる保証は無いが
とりあえず長いならコピペするな
別のところに「うp」して場所を知らせろ

120 :名無しさん@そうだ選挙にいこう:2007/05/04(金) 12:07:20
>>119さん
ありがとうございます!
今 うPする方法探してました
メールの返信が来たら
それの場所をはればいいんですよね?

121 :名無しさん@そうだ選挙にいこう:2007/05/04(金) 13:20:16
おまいがうpする所はメールで返信されるのか?

122 :名無しさん@そうだ選挙にいこう:2007/05/04(金) 13:26:37
イメピタじゃないの?プゲラ

123 :名無しさん@そうだ選挙にいこう:2007/05/04(金) 14:49:44
どこまでうpしに逝ったんだ?

124 :名無しさん@そうだ選挙にいこう:2007/05/04(金) 14:50:48
浜松まで

125 :名無しさん@そうだ選挙にいこう:2007/05/04(金) 19:24:50
お知恵を貸してください。
下の問題をエクセルのソルバーを使って解きたいのですが、
工作機械の条件指定に行き詰ってしまいました。バイナリを指定して、、
といろいろ試しているのですがソルバーでイフ関数やマックスが使用できないのでそこから先に進めません。
どうかよろしくお願いします。

--------------------------------------------------------------
製品I〜IIIの3つの製品ラインナップがあり、それぞれのデータは下記の通り。
・製品I:収益: \12,500
・製品II:収益: \12,000
・製品III:収益: \3,000
製品Iを生産するのに印刷機器(\800,000)と切断機(\1,200,000)が新しく必要で、
製品IIを製造するには製品Iに必要なものと同じ切断機を購入しなければならない。
会社の人員数や、市場のサイズから当面販売できる上限は5,000個とする。
最も利益が大きくなる生産量の組み合わせを考えよ。

126 :名無しさん@そうだ選挙にいこう:2007/05/04(金) 19:42:48
>125
まず出題先がどこか言えよ
賞品それとも賞金どっちがでるんだ

127 :名無しさん@そうだ選挙にいこう:2007/05/04(金) 23:17:26
>>126
エクセル講座上級(すいません、解けなくてw)の宿題っす。

128 :名無しさん@そうだ選挙にいこう:2007/05/04(金) 23:30:07
どうやってわざわざソルバーを使えばいいんだろう?

129 :名無しさん@そうだ選挙にいこう:2007/05/04(金) 23:31:13
変動費が書かれていないが、原材料+人件費=0 でよいのかな?
[答]
印刷機器と切断機を買って製品Iだけ作ればよい。


130 :名無しさん@そうだ選挙にいこう:2007/05/04(金) 23:45:29
馬鹿ばっかだな

131 :117:2007/05/05(土) 00:12:28
すいません・・・
見つけられないうちに
来客でこんな時間になってしまいました_| ̄|○ il||li
うP場所教えて下さい・・・

132 :名無しさん@そうだ選挙にいこう:2007/05/05(土) 00:15:23
>>131
「うpろだ」でググれ

133 :117:2007/05/05(土) 00:21:34
>>132さん
ありがとうございます
http://www.uploda.net/cgi/uploader2/index.php?dlpas_id=0000032563.udn

です
お願いします・・・

134 :117:2007/05/05(土) 00:25:26
すいません
DLはaaaaです

135 :名無しさん@そうだ選挙にいこう:2007/05/05(土) 00:34:18
>>134
おぅ、この拡張子は.xlsでいいのか?

136 :117:2007/05/05(土) 00:34:51
はい
エクセルです

137 :名無しさん@そうだ選挙にいこう:2007/05/05(土) 00:37:12
>>136
まぁ俺のチンカスついたちんぽしゃぶってくれるか

138 :名無しさん@そうだ選挙にいこう:2007/05/05(土) 00:42:11
>>136
おまえにVBAは5年早いよ

139 :117:2007/05/05(土) 00:43:51
>>138さん
はい わかってるんですが・・・
全く知識のないとこからやってみたので
すいません・・・

140 :117:2007/05/05(土) 00:48:31
やっぱり かなりおかしな感じなんでしょうか?
みなさん すいません・・・
1件1件入力していった方がいいでしょうか・・・

141 :名無しさん@そうだ選挙にいこう:2007/05/05(土) 00:49:16
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 形式を選択して貼り付け、値

お世話になります

例えば、A1に12345.9、B1に12309.6と入力し
C1に=A1-B1と言う式を入力します
この場合、C1には36.3と表示されます
その後、C1の内容をコピーしてD1に形式を選択して貼り付けを行います
貼り付け内容は貼り付けの値を選択します <それ以外は選択しません
するとD1にも当然ですが36.3と表示されます
しかし、D1を選択し、数式バーで内容を確認すると
36.2999999999993となっており
計算結果が間違えています

A1,B1に入力される数字によって
間違いが起こる場合とそうでない場合があるようです
解決方法を教えてください

よろしくお願いします


142 :名無しさん@そうだ選挙にいこう:2007/05/05(土) 00:59:09
>>140
いいからしゃぶれよ馬鹿

143 :名無しさん@そうだ選挙にいこう:2007/05/05(土) 01:02:37
>>141
まず、C1の表示形式を数値の小数点以下13桁にするんだ
そしてこれを読むんだ
http://support.microsoft.com/kb/78113/ja


144 :名無しさん@そうだ選挙にいこう:2007/05/05(土) 01:04:17
>>140
フォームを表示させるのはThisWorkbookモジュールに

Sub workbook_open()

住所録.Show

End Sub

でおk
残りは自分でなんとかするか、超暇で超親切な人が現れるのを待て
これ全部修正するのはめんどくさすぎる
ここまでやったのなら参考書買えよ

145 :117:2007/05/05(土) 01:06:34
>>144さん
ありがとうございます
がんばってみます・・・
やっぱり基本から勉強した方がいいですよね・・・

146 :名無しさん@そうだ選挙にいこう:2007/05/05(土) 01:08:34
>>145
しゃぶれよ豚

147 :109:2007/05/05(土) 01:11:07
>>112さん
>>109
>なにかデータが壊れているような気もするし、保障はできないので
>必ずバックアップコピーを取ってから試してみてくれ。
この手法でも直りませんでした。
でも、おかしくなっていたデータを別なノートPCで開いてみると、
色パレットはごく普通のデフォ状態でした。
…PCによってファイルの色パレットが変わる事なんてあるんだろうか…。
謎だ。


148 :名無しさん@そうだ選挙にいこう:2007/05/05(土) 01:45:50
>>145
無駄な時間過ごしたなw

149 :名無しさん@そうだ選挙にいこう:2007/05/05(土) 02:51:48
>>129
ご回答ありがとうございます。
変動費の部分ははしょって書いてしまいました。
問題が意味をなさないですよね。。

え〜、一晩考えて分かってきたのでもう一度整理してから質問させてもらいます。

150 :名無しさん@そうだ選挙にいこう:2007/05/05(土) 05:44:57
>>149
ソルバーを使う以前に、数式を明確にしておかなければ解けないよ

151 :141:2007/05/05(土) 09:34:28
>>143
レスありがとうございます
解決の糸口が見えてきました


152 :名無しさん@そうだ選挙にいこう:2007/05/05(土) 10:25:20
>>151
まずちんちんしゃぶるんだ

153 :名無しさん@そうだ選挙にいこう:2007/05/05(土) 11:54:03
オートサムのように特定の関数をツールバーに表示させたいのですが
どうやればいいのでしょうか?

154 :名無しさん@そうだ選挙にいこう:2007/05/05(土) 13:19:27
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

作業日報の残業手当ての計算式なのですが、
1人が残業時給1100で3人が1050円あと全員1000円で、A31:A40の範囲に特定の
名前が入れば残業手当が記入されるようにしたいのです。
現在の計算式が
=IF(E31="","",IF(H31="","",IF(A31:A40="名前",1100*HOUR(H31)+1100/60*MINUTE(H31),1000*HOUR(H31)+1000/60*MINUTE(H31))))

これに1050円の人をいれてみたのですが、エラーでヘルプを見てもどうにもなりませんでした。
よろしくお願いします。

155 :名無しさん@そうだ選挙にいこう:2007/05/05(土) 14:01:17
>>154
式は共通で時給が変わるだけなんだから、
名前と時給の別表を作り、式中の時給の部分にVLOOKUP関数を
当てはめればいい

156 :名無しさん@そうだ選挙にいこう:2007/05/05(土) 14:42:41
>>154 別表なしをベタで書いたら文字数制限で蹴れられた・・・orz 実際はコレを1行に繋げて使う。

=IF(OR(A31="",E31="",H31=""),"",IF(ISERROR(VLOOKUP(A31,{"名前1",1100;"名
前2",1050;"名前3",1050;"名前4",1050},2,0)),1000*H31*24,VLOOKUP(A31,{"名
前1",1100;"名前2",1050;"名前3",1050;"名前4",1050},2,0)*H31*24))

157 :154:2007/05/05(土) 14:44:01
=IF(E31="","",IF(H31="","",IF(VLOOKUP(A31,AJ2:AK5,2,FALSE)*HOUR(H31)+VLOOKUP(A31,AJ2:AK5,2,FALSE)/60*MINUTE(H31),1000*HOUR(H31)+1000/60*MINUTE(H31))))

こういう風にしてみましたが、時給1000円のほうでしか計算してくれません><

158 :154:2007/05/05(土) 14:48:55
>>156さん
できました、ありがとうございます!

159 :名無しさん@そうだ選挙にいこう:2007/05/05(土) 16:13:31
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 10日でおぼえるVBA入門の4日目
【4 VBAでの回答の可否】 可です。

下記の2つのお願いを一緒に書いた時、エラーが出ないようにしたいんです。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Const rng As String = "C9:AG9,C12:AG12" '利用した日
If Application.Intersect(Target, Range(rng)) Is Nothing Then Exit Sub
If Target.Value = "" Then
Target.Value = "☆"
Else
Target.ClearContents
End If
Cancel = True
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Const rng As String = "C10:AG10,C11:AG11,C13:AG13,C14:AG14" '朝食と夕食
If Application.Intersect(Target, Range(rng)) Is Nothing Then Exit Sub
If Target.Value = "" Then
Target.Value = "○"
Else
Target.ClearContents
End If
Cancel = True
End Sub

よろしくお願いします。

160 :名無しさん@そうだ選挙にいこう:2007/05/05(土) 16:49:59
>>159取り敢えず組み合わせてみた

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   Const rngR As String = "C9:AG9,C12:AG12" '利用した日
   Const rngS As String = "C10:AG10,C11:AG11,C13:AG13,C14:AG14" '朝食と夕食
      If Not Application.Intersect(Target, Range(rngR)) Is Nothing Then
      If Target.Value = "" Then
         Target.Value = "☆"
      Else
         Target.ClearContents
      End If
      Cancel = True
   ElseIf Not Application.Intersect(Target, Range(rngS)) Is Nothing Then
      If Target.Value = "" Then
         Target.Value = "○"
      Else
         Target.ClearContents
      End If
      Cancel = True
   End If
End Sub


161 :159:2007/05/05(土) 16:58:50
>>160さん
ありがとうございました。

162 :名無しさん@そうだ選挙にいこう:2007/05/06(日) 21:41:52
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Exce 2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

Beta版は削除したのに右クリックとかの新規作成メニューで
Excel2007ブックという項目が残っています。
どうすれば削除できますか?
レジストリ触らないと無理ですか?

163 :名無しさん@そうだ選挙にいこう:2007/05/07(月) 02:33:26
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 否
【4 VBAでの回答の可否】 否

すみません
エクセルで000666というパスワード数値を入力したいのですが
666になってしまいます
セルの書式設定みてもどれにしていいかわかりません
よろしくお願いします

164 :名無しさん@そうだ選挙にいこう:2007/05/07(月) 03:06:54
>>163
文字列

165 :名無しさん@そうだ選挙にいこう:2007/05/07(月) 03:08:38
>>163
ユーザー定義 で 「000000」

166 :名無しさん@そうだ選挙にいこう:2007/05/07(月) 05:34:48
本当にありがとうございました

167 :名無しさん@そうだ選挙にいこう:2007/05/07(月) 08:38:09
>>152
完全無視される気分はどうだい?童貞君

168 :名無しさん@そうだ選挙にいこう:2007/05/07(月) 11:03:36
>>162
> レジストリ触らないと無理ですか?
当然でしょ。レジストリに値が残ってる故に表示されるんだから
消すにはレジストリ弄らないとねぇ。

169 :名無しさん@そうだ選挙にいこう:2007/05/07(月) 11:12:16
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 使えません
【4 VBAでの回答の可否】 否

エクセルどころか、WINDOWSもほとんど使えない状態で
一からエクセルを覚えていくのにお勧めの書籍ってありますか?

170 :名無しさん@そうだ選挙にいこう:2007/05/07(月) 11:35:05
>>169

>2 のB項を嫁

171 :名無しさん@そうだ選挙にいこう:2007/05/07(月) 11:37:25
>>170
黙れボケ

172 :169:2007/05/07(月) 11:49:01
>>170
読み落としていました,
スレ汚し申し訳ありません。

173 :名無しさん@そうだ選挙にいこう:2007/05/07(月) 15:11:14
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 使えません
【4 VBAでの回答の可否】 否

ExelやWordに張り付いたグラフをグラフとしてのデータを破棄して
オブジェクトとして貼り付けるにはどう操作すればいいのですか?
後からグラフをダブルクリックで編集できないようにしたいのです。

174 :名無しさん@そうだ選挙にいこう:2007/05/07(月) 16:46:24
>>173 コレで良いかな?

グラフエリアを選択してSHIFTを押しながら編集をクリック
図のコピー(外観とサイズはお好みで)→OK

貼り付ける場所を選択
SHIFTを押しながら編集をクリック
図の貼り付け

コレで図として貼られるから元データをいじってもグラフ(の画)は替わらないハズ

175 :173:2007/05/07(月) 17:31:15
>>174
おおこれです
SHIFTでメニューバーが変わるとは
ありがとうございました

176 :91:2007/05/07(月) 18:11:12
自己解決しました。
フォームのコマンドボタン部分の記述を下に記しておきます。


Private Sub CommandButton1_Click()

 If TextBox1 = "" Then
  MsgBox "配置した際の画像名を入力して下さい", vbOKOnly, "画像名指定エラー"
  Exit Sub
 End If

 myimagename = TextBox1.Text
 myimage = Application.GetOpenFilename(FileFilter:="画像ファイル(*.jpg),*jpg", Title:="画像の選択", MultiSelect:=False)

 If myimage <> False Then
  Range("B5").Select
  ActiveSheet.Pictures.Insert(myimage).Select
  Selection.Name = myimagename
 End If
End Sub


テキストボックスにファイル名を入力するのではなく、ダイアログボックスを表示させる方式にしました。
「選択された画像(図形)」の記述も、"Shape"を使う物とばかり思い込んで、答えに辿り着けなかったようです。

177 :162:2007/05/07(月) 18:43:04
>>168
「窓の手」で消せました(・∀・)


178 :名無しさん@そうだ選挙にいこう:2007/05/07(月) 20:13:38
Excel2003
OS XP PRO
マクロ不可

合計のシートにある
=4月!$A$!
ってのを
他のシートに移すとき、4月の部分を5月にすべてひとまとめで5月に変える方法は無いでしょうか?

また、シート名、ファイル名をワークシートに抜き出す方法は無いでしょうか?
最後に、ワークシートに書かれたファイル名やシート名に直接アクセスする方法は無いでしょうか。
作業用のセルを作っておいてINDIRECTを使って最初の質問をやろうとしたらうまくいきませんでした。

179 :名無しさん@そうだ選挙にいこう:2007/05/07(月) 21:14:35
>>178
編集→置換

180 :名無しさん@そうだ選挙にいこう:2007/05/07(月) 21:21:32
>>178
1個目
範囲選択して編集>置換
編集文字を4月!$
置換文字を5月!$

2個目
VBA使わんと無理じゃない?

3個目
挿入>ハイパーリンク

181 :名無しさん@そうだ選挙にいこう:2007/05/07(月) 21:21:53
>>179
レスありがとうございます。
それだとセルに含まれてる他の同じ文字列も置き換えられてしまわないでしょうか。

182 :名無しさん@そうだ選挙にいこう:2007/05/08(火) 08:28:48
>>181
どうなるか、やってみろ

183 :名無しさん@そうだ選挙にいこう:2007/05/08(火) 11:48:12
>>182
できました。ありがとうございました。

184 :名無しさん@そうだ選挙にいこう:2007/05/08(火) 15:13:14
別のフォルダにあるセルの値を関数で持ってくる方法はありますか?
ハイパーリンクができるかと思いましたがうまくいきません
バージョンは2002です

185 :名無しさん@そうだ選挙にいこう:2007/05/08(火) 15:55:48
>184
フォルダ2つ開いてセルに”=”マウスで
2つ目のフォルダの任意セルをクリック

186 :名無しさん@そうだ選挙にいこう:2007/05/08(火) 17:37:48
DBnumって「でぃーびーなむ」って読めばいいんでしょうか?

187 :名無しさん@そうだ選挙にいこう:2007/05/08(火) 18:48:05
だぶるばいとなんばーず

188 :名無しさん@そうだ選挙にいこう:2007/05/08(火) 19:05:18
"100"ごとに桁をかえないで、"60"ごとに次の桁へかえられるようにグラフ設定をすることは可能ですか??
時計と同じく60進数で。。。

857、858、859、900、901、902ってな感じでグラフを作りたいのですが。。。

189 :名無しさん@そうだ選挙にいこう:2007/05/08(火) 19:37:14
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 駆け出し
【4 VBAでの回答の可否】 可

Exelを起動したときに特定のシートの特定のセルをアクティブにするにはどう書いたらいいのでしょうか?
Private Sub Workbook_Open()
’output A1へ移動
Sheets("output").Select
Range("a1").Select
'シートを開いたらフォームを表示
frm入力フォーム.Show
End Sub
↑こういう風に書いたのですが反応がありませんでした

常にフォームを表示されるようにして直接セルを編集できないようにしたいのですが右上のバツボタンでフォームを消せてしまいます
バツボタンがないフォームって作れないのでしょうか?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'シート上の選択セルを移動した時フォーム表示
frm入力フォーム.Show
End Sub

Private Sub tbx品番_Change()
'該当セルを選択
Sheets("input").Select
Range("C6:E6").Select
'テキストボックスの内容を反映
Selection = tbx品番
End Sub
バツ消す方法思いつかなかったので消してもすぐ出るようにしようと思いこういう風に書いたのですが
実行時エラー'400’フォームは既に表示されているのでモーグル表示することは出来ません
ってエラーがでて止まってしまいます。

190 :名無しさん@そうだ選挙にいこう:2007/05/08(火) 21:02:25
>>188
マルチ乙

191 :名無しさん@そうだ選挙にいこう:2007/05/08(火) 21:31:27

       FOX★公認!!!

俺たちのクリックで日本を一位にしようぜ!!
“30年は日本に手は出せないな”という勝ち方をしたい
http://wwwww.2ch.net/test/read.cgi/news4vip/1178602852/

1. ポーランド  139,797,680
2. チリ     137,040,439
3. ★日本    86,475,213★
4. イスラエル  80,930,530
5. スロベニア  57,137,042
6. フィンランド  40,857,499

石を投げる戦争から人は進化・進歩を遂げ、剣や槍などの武器をもって戦うようになった
人間はさらに発展し兵器を使う戦争を始めた
そして今、指先一つを武器とした電脳戦争が勃発したのであった・・・
皇国を勝利へと導くには貴様らの参戦が不可欠である

・戦場
http://www.clickclickclick.com/default.asp
・まとめサイト
http://www33.atwiki.jp/clickvip/


192 :名無しさん@そうだ選挙にいこう:2007/05/08(火) 23:08:45
>>188
出来ないことはないけど、元データの加工が必要かと思われる。
それでも良ければ解決策の一例を提示するけど、OK?

193 :名無しさん@そうだ選挙にいこう:2007/05/08(火) 23:31:32
>>192
>>188はマルチなんで放置の方向で。

194 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 00:50:17
>>189
Private Sub Workbook_Open() はThisWorkbookに書いてありますか?

>常にフォームを表示されるようにして直接セルを編集できないようにしたいのですが
>右上のバツボタンでフォームを消せてしまいます
>バツボタンがないフォームって作れないのでしょうか?

好きな方法で↓
http://www.google.co.jp/search?hl=ja&rls=GGLG%2CGGLG%3A2005-48%2CGGLG%3Aja&q=Excel%20VBAフォーム閉じるボタン

195 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 02:29:59
Book1 のシート1を形式含め全て丸ごとコピーして
Book2 のシート1にペーストしたいのですが、
形式までコピーされず苦しんでいます。
どうすれば良いでしょうか?


196 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 02:52:07
winxpsp2
excel2003

グラフの凡例が2つあるグラフで、凡例の一つだけを消しました。
しかし、後になってやっぱり2つにしておこうと思い復活させようとしたんですが
どうやればいいのか分かりませんでした。
アドバイスお願いします。



197 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 04:53:02
>>195
シート名の所で右クリックしてシートごとコピーしたらどうなんだ?

198 :189:2007/05/09(水) 07:28:08
>>194
両方解決しました
ありがとうございました

199 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 07:34:03
>>196
グラフオプション>凡例>凡例を表示するチェックボックスを消す>OK
>グラフオプション>凡例>凡例を表示するチェックボックスをつける>OK

200 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 11:48:44
>>178
>また、シート名、ファイル名をワークシートに抜き出す方法は無いでしょうか?

ファイル名
MID((CELL("filename")),(SEARCH("[",(CELL("filename"))))+1,(SEARCH("]",(CELL("filename"))))-(SEARCH("[",(CELL("filename"))))-1)

シート名
RIGHT((CELL("filename")),(LEN(CELL("filename")))-SEARCH("]",(CELL("filename"))))

201 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 12:54:54
以前はこの式、テンプレに貼ってあったよね。

202 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 14:16:33
excel2003です。

関数の中に関数を入れようとする(ネスト)時、
2個目の関数を、fxボタンやメニューの関数の挿入で入れようとするのですが
そうすると最初の関数が立ち上がってしまうのですが、
2個目の関数式は手で関数式を入力するしかないのですか。
ボタンやメニューから入力することはできないのですか。

203 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 14:21:13
ネスト覚えたら関数はベタ打ち出きるようになろう

204 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 14:53:09
>>202
203に同感だけど、数式バー上で内側の関数部分をクリックしてから
fxボタンを使えば、内側の関数に対応した「関数の引数」ボックスが出る。

205 :204:2007/05/09(水) 14:55:52
あ。編集じゃなく最初に打つ場合か。
悪い。204は忘れてくれ。

206 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 15:33:17
203への回答にはならんが、コレ2007だとできるんだな。

2個目以降はfxボタンではなく、関数ライブラリのボタンで
個別に関数を選ぶことになるが。

207 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 17:14:41
アンカー間違えたのかな
× 203
>>202

208 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 17:48:05
http://pc11.2ch.net/test/read.cgi/bsoft/1176277910/
こんなスレ立てるやつがいるからスレタイにカタカナ「エクセル」も
入れたほうがいいんじゃね?


209 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 20:14:56
WindowsXP
Excel2003
VBAはわかりません、不可で御願いします。

質問です。

 項目A 120
 項目A 411
 項目B 32
 項目B 125
 項目B 29
 項目C 9 以下大量に続く

各項目別に集計だしたい(項目Aの値、項目Bの値等)のですが
どうやればよいでしょうか?

210 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 20:27:08
>>208
検索せずにスレ立てする奴に対しては、どんな配慮も無意味

「スレタイ検索してもエクセルスレが無かったので立てました」ではなく
検索もせずに立てられてる単発質問スレだからな

211 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 20:39:00
>>209
DSUMって使えなかったっけ? 俺は使った事はないんだけど。

212 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 20:54:46
>>211
レスありがとうです。臆せず試してみます。

213 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 20:55:46
>>209
ピボットテーブル

214 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 20:59:28
別にDSUMやらピボットテーブルを使うまでもなく、
項目をキーに並べ替えてから、
データ>集計とやればいい話だと思うんだけど。

215 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 21:11:22
>>214
いちいち回答をする前に他人の回答にケチを付ける理由がよく分からないんだが。
使える、使えないの判断は質問者がすべきことで、お前がどうこういうものじゃない。

データ集計が、DSUMやピボットテーブルと比べて絶対的に便利だという根拠が
あるなら別だが。



216 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 21:44:16
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 駆け出し
【4 VBAでの回答の可否】 可

Private Sub btnA_Click()
'変数の宣言
Dim 不良数P As Long
'不良数Pの計算
不良数P = tbxB * tbxC + tbxD - tbxE
Range("FF!G25").Activate
ActiveCell = 不良数P

tbxBからEのテキストボックスに入力された数値をボタンAを押すことで計算させてFF!G25に出力ってのを作ったのですが
tbxBからEのテキストボックスがどれか1つでも空欄だった場合はその空欄は0とみなして計算する処理をさせたい場合どうすればいいですか?

217 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 21:48:57
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 関数、返り値

よろしくお願いします。

セルに任意の値を入力すると、隣のセルなどにその値に対応した値が自動に入力される方法を教えてください。


218 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 21:52:09
>>217
例をあげてくれ
対応した値ってのがよくわからん

219 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 21:52:25
【1 OSの種類         .】 Windows98 XP
【2 Excelのバージョン   】 Excele色々です(会社PCの為各バージョン有り)
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 検索・色
50行5列程の各セルに8桁程度の数字が入っています。検索である8桁数字
を検索した時にその数字と同じセルの色をその検索時だけ分かりやすく
色つきに変えたいのですがどうすればいいでしょうか?
よろしくお願いいたします。

220 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 21:57:06
>>219
書式>条件付書式
で指定した数値の場合色をつけるって指定する

221 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 21:59:56
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 駆け出し
【4 VBAでの回答の可否】 可

フォームに入力された数値が全角だった場合でも
シートには半角で出力させたいのですがどういう風に書けばいいですか?

222 :217:2007/05/09(水) 22:01:52
>>218
説明不足ですみません。

シート2に
A  a-001
B  b-001
C  c-001
という表を作りました。

シート1のあるセルに「A」を入力すると、指定したセルに「a-001」と自動的に表示されるようにしたいのですが。

223 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 22:07:51
>>222
vlookup関数を調べてごらん

224 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 22:10:11
>>220
ありがとうございます。検索時のみ色を変え、次々と検索する必要が
あるのですが条件付書式では出来るのでしょうか?

225 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 22:25:04
>>202
関数を入力中は、エクセル画面左上(ツールバーの上書保存ボタンの下あたり)
に▼ボタンが出るっしょ?
それをクリックすれば幸せになれるよ。

226 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 22:34:44
>>224
出来るよ

227 :217:2007/05/09(水) 22:37:18
>>223
ありがとうございます。調べてみたらできました。お世話になりました。

228 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 22:52:40
>>216
Private Sub btnA_Click()
Dim 不良数P As Long, A(3) As Long
If tbxB <> "" Then A(0) = tbxB
If tbxC <> "" Then A(1) = tbxC
If tbxD <> "" Then A(2) = tbxD
If tbxE <> "" Then A(3) = tbxE
不良数P = A(0) * A(1) + A(2) - A(3)
Sheets("FF").Range("G25").Value = 不良数P
End Sub

229 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 22:53:46
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少々
【4 VBAでの回答の可否】 可


タブ区切りのテキストで保存するとダブルコーテーションが勝手に付くセルがあるんです。
そのセルの書式をいろいろ変えてもやっぱり付く
ただ、セルをコピーしてメモ帳開いて貼り付けると付かない・・
VBAでクリップボードにコピーしたものを、そのままテキスト保存することは
できますか?



230 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 23:46:53
エクセル2003を使っているのですが質問があります。

セルに数式を入れるとその結果が表示されますが、それを数式を表示させるようにしたいのです。
オプションで数式を表示するようにもできますが、それではなく既に数式を入力済のいくつかのセルだけ
その右のセルにでも入力したいのです。

コピー先のセルの書式を文字列にした上で、数式をコピー等をしてみたのですがうまくいかず結果が表示してしまいます。
関数でもいいので教えてください


231 :名無しさん@そうだ選挙にいこう:2007/05/09(水) 23:57:07
>>230
数式の先頭「=」の前に「'」をつけると数式が文字列扱いになる

232 :名無しさん@そうだ選挙にいこう:2007/05/10(木) 00:07:48
>>231
a1:a100に既に数式がいろいろはいっているのですが(当然表示はその数式の結果)
その数式を結果ではなくて数式でb1:b100に表示させたいのです。
表示が数式になってるが、実際の中身は結果というのでも構いません。
とにかく左のセルの数式を右のセルに表示したいのです。

  a1     b1
1 15   =c1*c2
2 1/15 =today()

のような。
説明下手で吸いません。

233 :名無しさん@そうだ選挙にいこう:2007/05/10(木) 00:09:02
下の表のa1 b1はa bと間違えました

234 :202:2007/05/10(木) 00:09:14
>>225
有り難うございます。
2000でやってみたらできたのに、何でできなくするのかなあ?
マイクロソフトは時々わからんことする。
>>203
関数はある程度覚えてきたけど、2つも3つも引数がある関数は…ヽ(`Д´)ノ


235 :名無しさん@そうだ選挙にいこう:2007/05/10(木) 00:17:00
>>232
質問用のテンプレを使ってくれてないせいで分からないんだが、
VBAでの回答はOKなの、ダメなの?

236 :名無しさん@そうだ選挙にいこう:2007/05/10(木) 00:24:55
遅いですが書きました
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 ほとんど不可
【4 VBAでの回答の可否】 可

VBAは勉強したてでほとんど分かりませんが
参考までに教えてもらえるとうれしいです。
コードをコピーして実行くらいはできます。
それと関数等ではできないと思っていいのでしょうか?

237 :名無しさん@そうだ選挙にいこう:2007/05/10(木) 00:41:31
>>232
だから数式をコピーして先頭に「'」を付ければ良いだけだろ?

238 :名無しさん@そうだ選挙にいこう:2007/05/10(木) 00:48:08
>>237
お前はもう回答しなくていいよ。

239 :名無しさん@そうだ選挙にいこう:2007/05/10(木) 00:53:53
>>238
おまえもなw

240 :名無しさん@そうだ選挙にいこう:2007/05/10(木) 01:25:09
俺も「'」を入れるやり方を使うな
  a     b
1 15   =A1
2 1/15 =B1

って感じでb列をオートフィルして置換で=を'=にすれば一気に置き換わるだろ
VBAでも簡単に出来るが上の方法の方がもっと簡単

241 :名無しさん@そうだ選挙にいこう:2007/05/10(木) 01:44:08
>>240
質問内容もう一回見直してみろ。
それから、お前の回答した手順で要件通りのことが出来るか試してみろ。

242 :名無しさん@そうだ選挙にいこう:2007/05/10(木) 01:54:27

Sub cpi()
Dim i As Long

For i = 1 To 100
Cells(i, 2).Value = "'" & Cells(i, 1).Formula
Next i

End Sub

式をコピーして行頭に「'」を入れる。
これぢゃダメなのか?>236 >238

243 :名無しさん@そうだ選挙にいこう:2007/05/10(木) 08:59:35
>>228
なるほど変数に変えてしまうわけですね
ありがとうございました

244 :名無しさん@そうだ選挙にいこう:2007/05/10(木) 09:02:03
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 駆け出し
【4 VBAでの回答の可否】 可

フォームの中のコンボボックスのプロパティのStyleで fmStyleDropDownListにして手入力できないようにしたのですが
Tabキーでしか次項目へ飛ばなくなりました。
手入力できない状態でENTERキーを押せば次項目へカーソルを移動させるようには出来ないのでしょうか?

245 :名無しさん@そうだ選挙にいこう:2007/05/10(木) 11:37:11
>>232 >>236
エクセル技道場(http://www2.odn.ne.jp/excel/index.html)より

マクロでユーザー定義関数を作成します。
1.Alt+F11 (メニュー[ツール]-[マクロ]-[VBE])
 →VBEが起動
2.メニュー[挿入]-[標準モジュール]
 →プロジェクトエクスプローラに[Module1]といった形で
   標準モジュールが追加/[Module1]のコードウィンドウが右に表示される。
3.コードウィンドウに以下のコードを入力

Function 数式表示(Rng As Range) As String
 数式表示 = Rng.Formula
End Function

4.上記手順を行った後、ワークシートで例えば、以下のように入力します。

=数式表示(A2

246 :名無しさん@そうだ選挙にいこう:2007/05/10(木) 11:47:25
>>242
>>245

解答ありがとうございました
今確かめることができないのですが、方法があるようなので助かりました。

ちなみに>>238は私ではないのであしからずw

247 :名無しさん@そうだ選挙にいこう:2007/05/10(木) 12:17:19
>>246

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Application.Intersect(Target, Range("A1:A100")) Is Nothing Then
  Target.Offset(, 1).Value = "'" & Target.Formula
End If

End Sub


248 :名無しさん@そうだ選挙にいこう:2007/05/10(木) 14:32:51
>>244
コンボボックスのKeydownイベントに

If KeyCode = 13 Then オブジェクト名.SetFocus

とかじゃダメなん?

249 :名無しさん@そうだ選挙にいこう:2007/05/10(木) 15:33:05
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 項目、合計、文字列、種類

  A
1 りんご
2 みかん
3 みかん
4 おれんじ
5 いちご
6 いちご
7 りんご
8 いちご
9 4(種類)

A列に上のように入力されていた時、その項目の種類の合計を数えたい。
上の場合、項目は「りんご」「みかん」「おれんじ」「いちご」の4種類なので、
A9に「4」と表示させるにはどうすればいいのか教えてください。

250 :名無しさん@そうだ選挙にいこう:2007/05/10(木) 17:42:27
>>249
B列に B1=IF(COUNTIF(A$1:A1,A1)>1,0,1)
この式をB8までコピー
B列の合計を計算:A9=SUM(B1:B8)

251 :249:2007/05/10(木) 18:14:04
>>250
ありがとう!
同じようなものが100列以上続くので、作業用シートを作ってやってみます。

252 :名無しさん@そうだ選挙にいこう:2007/05/10(木) 18:58:30
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 カウント、文字列、複数条件

  A   B   C   〜 BB  BC  〜
1     札幌 函館 〜 札幌 函館 〜
2 札幌 関東 関西 〜 中部 中部 〜
3 函館 関西 中部 〜 中部 関西 〜
4 青森 関西 関東 〜 関西 関西 〜
5 秋田 関西 関西 〜 関東 関西 〜
6 岩手 中部 関西 〜 関西 関西 〜


データはB2:II300にあります。
調べたいのは、例えば2行目「札幌」の行で、1行目が「札幌」の時に
「関東」は何個あるかです。同様に1行目が「函館」や「青森」の場合も・・・
これを各行単位でカウントするにはどうすればよいですか?

253 :名無しさん@そうだ選挙にいこう:2007/05/10(木) 19:42:44
>>252
=DCOUNT

254 :名無しさん@そうだ選挙にいこう:2007/05/10(木) 23:03:37
>>252
=SUM((B$1:II$1=$A2)*($B2:$II2="関東"))
上の式をCtrl+Shift+Enterで確定してコピー

255 :名無しさん@そうだ選挙にいこう:2007/05/10(木) 23:09:35
>>248
KeyCodeって便利なものがあるんですね
うまく動作しました。ありがとうございました

256 :名無しさん@そうだ選挙にいこう:2007/05/11(金) 00:02:02
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】はい
【4 VBAでの回答の可否】 駆け出し
【5 検索キーワード     】 EXCEL VBA マスタ 編集 フォーム コンボボックス

作業者がシートを直接いじれないようにするために全てフォーム上で入力するようなものを作っています
作業者がフォーム上でマスタ登録してコンボボックスで選ばせる物を作ったのですが
作業者が間違ったマスタ(例えばAAAの品番なのにAABと入力してしまったなど)を入力してしまい、
そのことに気づいた作業者が直そうと考えた場合どうさせたらいいでしょうか?
シート上で直接書き換えれば簡単なのですが作業者にそれをさせたくないのです
構想がまったく思いつかなくて調べようがなく困っています よろしくお願いします

257 :名無しさん@そうだ選挙にいこう:2007/05/11(金) 00:11:36
入力確定前に確認を取る
再入力用にインターフェースを作る

Excelと関係ないな・・・

258 :名無しさん@そうだ選挙にいこう:2007/05/11(金) 00:27:46
年賀状ソフトとか使ったことないわけ?

259 :名無しさん@そうだ選挙にいこう:2007/05/11(金) 00:48:49
ないっ!

260 :名無しさん@そうだ選挙にいこう:2007/05/11(金) 01:54:48
>>256
たとえば、セルのダブルクリックで
入力フォームを表示して、新たに入力させるとか。


261 :名無しさん@そうだ選挙にいこう:2007/05/11(金) 02:42:15
>>256
君の質問はExcel云々ではなく、アプリのデザインの話だ。
申し訳ないが、スレの趣旨から逸脱してる。他を当たった方がいい。

262 :名無しさん@そうだ選挙にいこう:2007/05/11(金) 10:30:34
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 駆け出し
【4 VBAでの回答の可否】 可

コンボボックスのプロパティでfmStyleDropDownListにして手入力不可にしているのですが
キーボードをコンボボックス上で入力すると押されたそれに近い文字の入った項目が自動で選ばれてしまいます。
この自動で選ばれる機能をOffにするにはどうすればいいですか?

263 :262:2007/05/11(金) 10:42:32
プロパティいじり回したら項目見つけました
fmMatchEntryNone 2でいけました

264 :名無しさん@そうだ選挙にいこう:2007/05/11(金) 12:02:55
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 ActiveSheet.CheckBoxes.Select

シートに貼り付けたいくつかのチェックボックス(それぞれ違うセルに設置)のうち、
指定したセル(チャック外しラジオボタンから見て右1下1など)にあるチェックボックスだけを選択したいのですが
ActiveSheet.CheckBoxes.Select では、すべてのボックスが選択されてしまいます。

どう記述すればよいのでしょうかm(__)m

265 :名無しさん@そうだ選挙にいこう:2007/05/11(金) 12:05:19
Worksheets("Sheet1").Checkbox1.value = True

266 :名無しさん@そうだ選挙にいこう:2007/05/11(金) 12:21:27
>>265
何か違うようです。
まずCheckbox1というのが何を指しているのか分かりません。
そしてもしそれが直接チェックボックスの名前(貼り付けた順番?)を指しているとしたら方向性が違います。

ラジオボタンもチェックボタンもシートに貼り付けてまして、そして
現在選択しているセル(そこにはラジオボタンが存在)から、
右にいくつ、下にいくつの場所にあるセルにあるチェックボックスを操作したい、ということです。

267 :名無しさん@そうだ選挙にいこう:2007/05/11(金) 12:50:18
複数のシートのD7を配列もしくは範囲指定して
Index関数で処理したいのですが、どういう風に記述すればいいのでしょうか?

=Index(`Sheet1:Sheet2`!D7,1,1)

などとしてみましたがダメでした
ヨロシクお願いします

268 :名無しさん@そうだ選挙にいこう:2007/05/11(金) 12:51:47
topleftcellで総当たりかな

269 :名無しさん@そうだ選挙にいこう:2007/05/11(金) 13:22:06
Excel 2007 で上書保存するだけで所有権の取得権限が無いユーザが
所有権を乗っ取れるのは既出?

270 :名無しさん@そうだ選挙にいこう:2007/05/11(金) 13:43:28
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はじめたばかり
【4 VBAでの回答の可否】 可
笑っちゃうような質問で申し訳ありません。

Private Sub CommandButton3_Click()
Cells(7, 3).Select
Selection.Font.Color = 3
End Sub

コマンドボタンを押すとセルの文字の色が変わる、というマクロを組むためにまず実験として本に載っている
マクロをほぼそのまま写しました。

これを実行しても、7,3のセルがアクティブになるだけで、フォントの色が変わりません。赤になるはずらしいのですが・・・。
何がおかしいのでしょうか・・・?

(ためしに手動でフォントの色を変えてみたところ、マクロの動作後黒のフォントに戻りました。???です。)

271 :名無しさん@そうだ選挙にいこう:2007/05/11(金) 13:51:05
それはおそらく ColorIndex だ

272 :270:2007/05/11(金) 14:42:25
あ!本にもそうかいてありました。

ありがとうございます。うひゃー、はずかしぃー。

273 :264:2007/05/11(金) 15:37:05
うーんやっぱりできません。

やりたいことは>>266に書いた通りなんですが、
ActiveSheet.CheckBoxes.value = True では、シート上のすべてのチェックがTrueになってしまいますよね。

'ラジオボタンにつけたマクロの一部
Cells(Application.Caller).Select 'これでラジオボタンのセルをセレクト
Me.Cells(row + 1, column + 2).Select 'ラジオの右右下に配置しておいたチェックのあるセルをセレクト
この後に、現在セレクトいるセルにあるチェックを外す、という作業は出来ないでしょうか。

現在のシートのチェックボックス達のうち、現在セレクトしているセルにあるチェックボックスの.value = True
みたいな感じのです。

274 :名無しさん@そうだ選挙にいこう:2007/05/11(金) 17:19:30
>>273
あなたは、昨日初心者スレで質問した人?

275 :名無しさん@そうだ選挙にいこう:2007/05/11(金) 17:42:00
>>273
お前が判らないものを俺達が解るわけない。

276 :名無しさん@そうだ選挙にいこう:2007/05/11(金) 17:58:57
set a = selection.address
for each o in activesheet.checkboxes
if o.topleftcell.address = r then o.value = false
next

277 :264:2007/05/11(金) 18:02:35
>>274
はい、(厳密に言うと違うのですが)そうです。

あちらで受けたアドバイスで進めることにしたのは私の同僚でして、
私は汎用性がなくても、ひとまず最初の方法で任意のチェックが外せることを確認したいです。

278 :名無しさん@そうだ選挙にいこう:2007/05/11(金) 18:11:31
>>277
恐らく、「フォーム」のチェックボックスのことを述べていると推測して。。。

チェックボックスを右クリック>コントロールの書式設定>「コントロール」タブ
の"リンクするセル"に特定のセルを指定する。
例えばそのセルがA1だとすると、チェックが入っているならA1に「TRUE」と表示される。

あるボタンのアクションでそのチェックボタンのチェックを外す場合は

Sub aaa ()

ActiveSheet.Range("A1").Value = False
<シートを指定する場合は、WorkSheets.("シート名").Range("A1").Value = False>

End Sub

というコードを書いて、ボタンを右クリック>マクロの登録で登録してやればよい。

279 :264:2007/05/11(金) 18:20:14
>>278
うおお、ありがとうございます。たった今コントロールツールとフォームの違いを習いまして(つд`;)
そうです、フォームです。

これでやってみます。
そして、おそらくセルをコピーしたときに
>チェックボックスを右クリック>コントロールの書式設定>「コントロール」タブ
>の"リンクするセル"に特定のセルを指定する。
で、ズレが出てくると思うので($をつけなければ相対になるかな?)
そしたらまた考えて見ます。

280 :252:2007/05/11(金) 18:25:22
>>254
そんな使い方があったんですね。
ありがとう。

281 :名無しさん@そうだ選挙にいこう:2007/05/11(金) 23:44:46
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はじめたばかり
【4 VBAでの回答の可否】 可

マクロを作ったのですがどんなバグによるエラーがでても
msg boxを出してExcelを終了するにはどうしたらいいんでしょうか?
ようはデバッグモードに入りたくないのですが全てのsub 〜 end sub に挟まったマクロに
On Error GoToを書き込むしかないのですか?

282 :名無しさん@そうだ選挙にいこう:2007/05/12(土) 11:31:18
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はじめたばかり
【4 VBAでの回答の可否】 可

日付のセルが条件によってフォントの色や背景色が変化するマクロを書いています。
【表】
(1) もとになる日付(G3:AK3)と曜日(G4:AK4)
(2) 任意で入力された土日以外の休業日(AO1:AS1) 
(3) "う"と任意で入力されているその他の条件(G2:AK2)
(4) (1)と同じ日付(G9:AK9)と曜日(G10:AK10)が入力されている
【マクロ実行】
(1)で土日なら同じ列の(4)のフォントの色が赤(Font.ColorIndex = 3)
(2)に表示された日付と(1)が同じものがあれば(4)のフォントの色が赤(Font.ColorIndex = 3)
(3)に"う"と入力されたセルと同じ列の(4)の背景色が水色(Interior.ColorIndex = 34)

書いていてやたら長いマクロになってしまいました。簡潔な記述方法を教えて下さい。

283 :282:2007/05/12(土) 11:32:47
Sub aaa()
Dim i As Long
For i = 7 To 37          
 If ((Weekday(Cells(3, i)) = 7) Or (Weekday(Cells(3, i)) = 1)) And (Cells(2, i) = "う") Then
   Cells(9, i).Font.ColorIndex = 3
   Cells(10, i).Font.ColorIndex = 3
   Cells(9, i).Interior.ColorIndex = 34
   Cells(10, i).Interior.ColorIndex = 34
 ElseIf ((Cells(3, i) = Range("AO1")) Or _
   (Cells(3, i) = Range("AP1")) Or _
   (Cells(3, i) = Range("AQ1")) Or _
   (Cells(3, i) = Range("AR1")) Or _
   (Cells(3, i) = Range("AS1"))) And (Cells(2, i) = "う") Then
   Cells(9, i).Font.ColorIndex = 3
   Cells(9, i).Interior.ColorIndex = 34
   Cells(10, i).Font.ColorIndex = 3
   Cells(10, i).Interior.ColorIndex = 34
 

284 :名無しさん@そうだ選挙にいこう:2007/05/12(土) 11:33:18
ElseIf Cells(2, i) = "う" Then
   Cells(9, i).Interior.ColorIndex = 34
   Cells(10, i).Interior.ColorIndex = 34
 ElseIf (Weekday(Cells(3, i)) = 7) Or (Weekday(Cells(3, i)) = 1) Then
   Cells(9, i).Font.ColorIndex = 3
   Cells(10, i).Font.ColorIndex = 3
 ElseIf ((Cells(3, i) = Range("AO1")) Or _
   (Cells(3, i) = Range("AP1")) Or _
   (Cells(3, i) = Range("AQ1")) Or _
   (Cells(3, i) = Range("AR1")) Or _
   (Cells(3, i) = Range("AS1"))) Then
   Cells(9, i).Font.ColorIndex = 3
   Cells(10, i).Font.ColorIndex = 3
 End If
 Next i
End Sub


285 :282:2007/05/12(土) 11:35:40
>>284>>283の続きです

286 :名無しさん@そうだ選挙にいこう:2007/05/12(土) 11:46:49
>>281
簡単な方法で一発で解決したい(ごまかしたい)という質問に見受けられるが、

そもそも論で言えば、設計段階からエラーハンドリングを適切に考慮した
プログラムなら、こんな議論が出てくること自体がない。

「動けばいい」という意識でどんどんコードを書いちゃうと、君のような問題に
頭を悩ませるようになる。設計する、という意識だけでも持つべき。


287 :名無しさん@そうだ選挙にいこう:2007/05/12(土) 13:17:40
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 駆け出し
【4 VBAでの回答の可否】 可

印刷プレビューから印刷ボタンを取り除くか
プレビューから印刷処理を行った後にイベントを実行するように
するにはどうすればいいでしょうか?

288 :名無しさん@そうだ選挙にいこう:2007/05/12(土) 13:37:40
>>282

試してないし、やりたい動作と一致してるかわからんがとりあえず提示

Sub test()
Dim i&, FontColor&, BackColor&, Week&
For i = 1 To 37
'フォント色チェック
Week = Cells(3, i)
If Week = 7 Or Week = 1 Or ((Cells(3, i) = Range("AO1")) Or _
(Cells(3, i) = Range("AP1")) Or _
(Cells(3, i) = Range("AQ1")) Or _
(Cells(3, i) = Range("AR1")) Or _
(Cells(3, i) = Range("AS1"))) Then
FontColor = 3
Else
FontColor = 1
End If
Cells(9, i).Font.ColorIndex = FontColor
Cells(10, i).Font.ColorIndex = FontColor

'背景色チェック
If Cells(2, i) = "う" Then
BackColor = 34
Else
BackColor = xlNone
End If
Cells(9, i).Interior.ColorIndex = BackColor
Cells(10, i).Interior.ColorIndex = BackColor
Next
End Sub
貼られたコードには条件不一致の場合の設定は書いてないけど勝手にいれてみた

289 :282:2007/05/12(土) 13:47:48
>>288
わかりやすく参考になります。ありがとです。

290 :288:2007/05/12(土) 13:53:34
If Week = 7 Or Week = 1 Or ((Cells(3, i) = Range("AO1")) Or _
(Cells(3, i) = Range("AP1")) Or _
(Cells(3, i) = Range("AQ1")) Or _
(Cells(3, i) = Range("AR1")) Or _
(Cells(3, i) = Range("AS1"))) Then

がなんかムカつくので

Dim Result As Range
Set Result = Range("AO1:AS1").Find(Cells(3, i).Value)
If Week = 7 Or Week = 1 Or Not Result Is Nothig Then

とかでもいい気がするけど、Findの使い方ってこんなんでいいんだっけか・・・
ん〜もっとすっきりさせたい

てか、これぐらいなら条件付書式で対応できそうな気もする

291 :282:2007/05/12(土) 14:04:12
>>290
重ね重ねありがとうございます。
>>287を試してみたところ、5行目の
Week = Cells(3, i) で引っかかってしまいます。

条件付き書式だと条件が多すぎて…。

292 :288:2007/05/12(土) 14:27:21
>>291
Week = WeekDay(Cells(3, i))
の間違いです。あたまわりー俺・・・

配列数式とか使えるといけるのかな?と思ったんですが
VBA以外は疎いんでアドバイスはできませんorz

293 :名無しさん@そうだ選挙にいこう:2007/05/12(土) 14:55:44
>>292
Week = Weekday(Cells(3, i))
あ、と思い試してみましたがまたもや引っかかります。
少し自分でも考えてみます。

294 :名無しさん@そうだ選挙にいこう:2007/05/12(土) 15:11:28
>>293
すいません。脳内変換してました
誤)For i = 1 To 37
正)For i = 7 To 37


295 :名無しさん@そうだ選挙にいこう:2007/05/12(土) 15:17:35
>>282 とりあえず・・・
Sub test2()

Dim i As Long
Dim j As Long

For i = 7 To 37
 If Weekday(Cells(3, i).Value) = 7 Or Weekday(Cells(3, i).Value) = 1 Then
  Range(Cells(9, i), Cells(10, i)).Font.ColorIndex = 3
 Else
  For j = 41 To 45
   If Cells(3, i).Value = Cells(1, j).Value Then
    Range(Cells(9, i), Cells(10, i)).Font.ColorIndex = 3
    j = 45
   Else
    Range(Cells(9, i), Cells(10, i)).Font.ColorIndex = 0
   End If
  Next j
 End If
 If Cells(2, i) = "う" Then
  Range(Cells(9, i), Cells(10, i)).Interior.ColorIndex = 34
 Else
  Range(Cells(9, i), Cells(10, i)).Interior.ColorIndex = xlNone
 End If
Next i

End Sub


296 :名無しさん@そうだ選挙にいこう:2007/05/12(土) 15:19:22
>>294
うお!こちらこそ気づきませんでm(_ _)m

297 :名無しさん@そうだ選挙にいこう:2007/05/12(土) 15:21:04
>>295
ばっちりです。ほんまにありがとうございました!お付き合いいただき感謝です。

298 :282:2007/05/12(土) 15:37:03
>>288
ElseIfで条件付けを繰り返し(それしか頭にありませんでした)ていたのが
マヌケでした。
あと>>290でご指摘いただいたところも最高にカッコ悪いと思ってましたが
そんな方法があったとは目から鱗でした。

299 :名無しさん@そうだ選挙にいこう:2007/05/12(土) 17:51:26
前スレで配列の垂直方向での表示方法をも教えてもらったのですが、もう、一度お願いします。
その時は水平方向しか関心がなかったので失念してしまいました。
今現在、次のように当てずっぽうで書いてみましたがだめです。よろしくお願いします。

Range("m1:m20").xlDialogPasteSpecial = Transpose.配列1


300 :名無しさん@そうだ選挙にいこう:2007/05/12(土) 17:55:43
>>299
Range("m1:m20").Value = WorksheetFunction.Transpose(配列1)

301 :名無しさん@そうだ選挙にいこう:2007/05/12(土) 18:06:32
>>300 ありがとうございます。

302 :名無しさん@そうだ選挙にいこう:2007/05/12(土) 18:13:09
どうもこのスレの住人は、プログラムの可読性や再利用性という意識は低いように見える。
コードをシンプルに書こうという努力には寸暇を惜しまないようだが、どうも議論の矛先が
低レベルだな。

まぁ、VB使いには文化的に元々そういう意識は根付いていないってのもあるんだろう。

303 :名無しさん@そうだ選挙にいこう:2007/05/12(土) 20:09:09
>>302

>>287これの高レベルな回答を教えてください

304 :名無しさん@そうだ選挙にいこう:2007/05/12(土) 20:41:02
>>302
そういう話題についてよいサイトなどがあればご紹介を・・・

305 :名無しさん@そうだ選挙にいこう:2007/05/12(土) 21:04:14
applicationupdate falseにすると見違えるように早くなるな

306 :名無しさん@そうだ選挙にいこう:2007/05/12(土) 21:14:07
terapadを一般的なエディターとして使っているので、これを
エクセルマクロで起動させ、A1セルの「Hellow World」を表示させたい。
できるかどうかもわからない初心者です。丸投げでお願いします。


307 :名無しさん@そうだ選挙にいこう:2007/05/12(土) 21:17:37
terapadを起動させる事と、 A1セルに「Hellow World」を表示させる事の関連性は?

308 :306:2007/05/12(土) 21:23:39
実は、エクセルに引き続き、terapadでいろいろと作業をしたいのです。
「Hellow World」表示は引き継ぐための1例です。


309 :名無しさん@そうだ選挙にいこう:2007/05/12(土) 21:25:52
>>308
外部アプリを起動するなら shell関数と言うのがあるけど、、、、

310 :名無しさん@そうだ選挙にいこう:2007/05/12(土) 21:31:37
セルの内容をterapadに渡すって意味ならAPIじゃねぇの?
VBAでそんなことできたっけ?
一回txtに書き出すかクリップボード経由すれば擬似的なことができなくもなさそうだけど

311 :名無しさん@そうだ選挙にいこう:2007/05/12(土) 22:07:53
テキストファイルに書き出して、ShellからTerapadを起動。
これくらいしか思いつかない。

312 :名無しさん@そうだ選挙にいこう:2007/05/12(土) 22:11:13
>>303
そーいうのを素養のない人間に見せても「無駄にコードを長くしただけ」とか
受け取られるのが関の山。

まずは自分のコードが「汚い」と感じられるようになれないと。

313 :306:2007/05/12(土) 22:33:39
>>309-311
shellとAPIをキーに調べていたら、エクセルマクロで、できると確信しました。
thanxです。
ここで教えてもらうの3回目です。感謝している1人です。
では、良い眠りを。


314 :名無しさん@そうだ選挙にいこう :2007/05/13(日) 12:13:56
エクセルの事で質問があります。

今、エクセルで、136(横)×66(縦)マスの表を作れと言われています。

用紙サイズA3(横)で、横を半角文字サイズ、
作れといわれております。

私の頭脳では、1つのセル幅を1.0にして、横136マス分作ろうとしているのですが、
用紙サイズA3には収まりません。

縦66マスは、なんとか納まるのですが。。。

どなたか、上手い事、A3の用紙サイズに納まるようなヒントを
お願いいたします。

スレ違いでしたら申し訳ありません。

315 :名無しさん@そうだ選挙にいこう:2007/05/13(日) 12:46:38
>>314
ページ設定の
拡大縮小印刷
○横□×縦□ページに印刷 にチェック
横1×縦1
にしてOK


316 :名無しさん@そうだ選挙にいこう:2007/05/13(日) 14:03:39
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 多分無理かも・・・
【5 検索キーワード     】 IF 8条件以上
C1="キーワード",D1="OK",IF(C1="キーワード",C1+C2+C3+C4+C5+C6+C7,IF(中略),C1))))))))
って感じで計算をしてるんですが、8条件以上の計算を行いたい時はどのような感じでやれば良いのでしょう?



317 :名無しさん@そうだ選挙にいこう:2007/05/13(日) 14:14:19
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル*検索
エクセルの識者の皆様、宜しくお願いいたします。
 A
 20010
 20015 
 20010
 20030
 20015 
 20010

この様にある列(例としてA列)に30種類位の値が100くらい連続して入って
います。この時に上から20010という数値は何回出てきたかという結果を
20010の隣のB列に出すという事は可能でしょうか?

この20010という値自体は部品番号の様な物で、数値ではありません。


318 :名無しさん@そうだ選挙にいこう:2007/05/13(日) 14:45:07
>>317
countif

319 :名無しさん@そうだ選挙にいこう:2007/05/13(日) 14:50:33
>>316
作業セルを使う。

320 :名無しさん@そうだ選挙にいこう:2007/05/13(日) 15:13:41
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 2番目 一致 すべて 抽出

  A     B
1 佐藤   広報
2 鈴木   開発
3 高橋   企画
4 田中   広報
5 渡辺   人事
6 伊藤   経理
7 山本   開発
8 中村   広報

このように、一致しない人名のみで構成された行Aと、割り当てる部署(7種類)が書かれた行Bがあります
ここからB行が広報であるものをすべて抜き出し、列Aの値を列Cに表示することはできますか?
実際は各年度ごとのデータを抜き出す必要があるので、1列ずつ抽出してコピペ、などとすることはできません
よろしくお願いします

321 :名無しさん@そうだ選挙にいこう:2007/05/13(日) 15:23:32
>>320
http://www.google.co.jp/search?hl=ja&q=Excel+%E6%8A%BD%E5%87%BA+&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=

322 :名無しさん@そうだ選挙にいこう:2007/05/13(日) 16:25:07
【1 OSの種類         .】 WindowsXP SP2
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel2007 テーブル名 リスト

コンボボックスで選択するリストで、テーブル名を指定することはできませんか?
「リスト」というシートを作って、「有無」というテーブルを作ったのですが、
リストの指定で、=有無[#Data]とやってもエラーが出てしまいます。

323 :322:2007/05/13(日) 16:29:15
x =有無[#Data]
o =有無[#データ]

324 :名無しさん@そうだ選挙にいこう:2007/05/13(日) 18:51:12
>>320
C1=IF(B1="広報",A1,"")
後はC1のフィルハンドルダブルクリック

325 :名無しさん@そうだ選挙にいこう:2007/05/13(日) 19:32:17
>>322
名前の定義はまだしてないのかな?

テーブルを選択した状態で「挿入」→「名前」→「定義」で

326 :名無しさん@そうだ選挙にいこう:2007/05/13(日) 23:29:18
【1 OSの種類         .】 Windows 2000 sp4
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 gcd excel 仕様

最大公約数を求めようと次のようにしているのですが、おかしな値が帰ってきてしまいます。
   A      B
1|26919000 =GCD(A1:A2)
2|13467600

こうすると、何故かB1が"1"になってしまいます。
試しに、B2に=GCD(26919000,13467600)を入力してみたら、5400になりました。
A2のセルをダブルクリックして入力状態にして、なにもせずに別のセルに移動するとB1の値が5400になります。

A列にはこんな数字がいっぱい入っているので、手でいじらなくても正しい値が欲しいのですが、何か間違ってたら教えてください。
ちなみに1になってしまうのはこの数字だけみたいです。なにか制限があるのでしょうか。。

327 :名無しさん@そうだ選挙にいこう:2007/05/13(日) 23:43:03
>>326
うちのExcel2000では再現できないので判りません。

328 :名無しさん@そうだ選挙にいこう:2007/05/13(日) 23:52:16
EXCELのVBAとプログラミングのVBってどう違うのですか?
VBAに慣れたらVBも扱えるようになりますか?

329 :326:2007/05/14(月) 00:11:09
>>327
ありがとうございます。
私のほうでも手で数値を入力すると再現しないことが分かりました。

ちょっといじっていて、この状態でA1を消すとB1が13467599になるのに気づきました。
どうも内部的になにか変な値になっているみたいです。
A列の内容をVBAで出しているので、そっちを見直して見ることにします。


330 :326:2007/05/14(月) 00:24:31
連書きでスマソ

vbaから出力するA列を、Longにキャストしてから書き込むようにしたら直りました。
もともとDoubleを1000倍してたので、近似して見えていたのかもしれません。
お騒がせしました。

331 :名無しさん@そうだ選挙にいこう:2007/05/14(月) 00:59:34
>>329
A1を26919000
A2を13467599.9
にしたら再現しました。
A列の数値に小数部がありませんか?

332 :名無しさん@そうだ選挙にいこう:2007/05/14(月) 01:00:20
>>331
あ、解決してたのか・・・。

333 :名無しさん@そうだ選挙にいこう:2007/05/14(月) 03:37:39
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

Private Sub Workbook_BeforePrint(Cancel As Boolean)
MsgBox "aaaaa"
End Sub

印刷のときに処理をさせたいのですが上記のように書くと
プレビューを見るときにもメッセージボックスが出てきてしまいます
プレビューを見るときには反応させず印刷の前だけに処理させるにはどうしたらいいですか?

334 :名無しさん@そうだ選挙にいこう:2007/05/14(月) 14:28:23
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 乳児レベル
【5 検索キーワード     】 Excel 関数 複合条件

A B
1| 99 佐藤
2| 92 鈴木
3| 87 佐藤
4| 85 鈴木

Excelの関数について質問です。
例えばこんな表から鈴木さんの最高点を表示させるにはどうすればいいでしょうか?
鈴木さんを含む行だけを抽出した後に列Aに対してMAX関数を使えばよいと
思うのですが、うまく実現できません(´・ω・`)

335 :名無しさん@そうだ選挙にいこう:2007/05/14(月) 15:19:46
>>334
C1=MAX(IF(B1:B4="鈴木",A1:A4,""))
を『配列数式』で行けないかな?

336 :334:2007/05/14(月) 15:32:15
>>335
キタワァ*・゜゚・*:.。..。.:*・゜(n‘∀‘)η゚・*:.。. .。.:*・゜゚・* !!!!!
ありがとうございました!!!

337 :名無しさん@そうだ選挙にいこう:2007/05/14(月) 16:13:35
もしかすると、過去にも同じような質問があったかも知れませんが
どなたか教えて下さい。

毎回ではないのですがエクセルを共有して使用していると、セーブしたタイミングでバグります。
具体的なバグの内容は
・SHEETがなくなる
・セルが違うSHEETに移動する
等と要はデータとしてかなり使い物にならない状態になります。
全く同時にセーブした時になるかと思い、試してみたのですが
そうでもないようです。
(もしかすると、私のタイミングがズレていたのかも知れないですが・・・)
どなたか同じような経験をされた方や、対処方をご存知の方が居ましたら
ご教授下さい。

ちなみにバージョンはOFFICE 2000です。


338 :名無しさん@そうだ選挙にいこう:2007/05/14(月) 16:35:03
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003SP2
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル csv保存 """

csvのファイルで

"名前","郵便番号","住所","電話番号",""

上記のファイル形式を、データ取り込み(文字列の引用符は{なし})して、
修正(一括で修正したいのでマクロを使用予定)後、
ファイルの種類を、CSV(カンマ区切り)(*.csv)で保存しました。

テキストエディタで中身を見ると

"""名前""","""郵便番号""","""住所""","""電話番号""",""""""

上記のように " が3つになります。 エクセルで "","",の形式で保存する方法はありますか。


339 :名無しさん@そうだ選挙にいこう:2007/05/14(月) 16:53:27
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】△
【4 VBAでの回答の可否】 ○
【5 検索キーワード     】vba excel フォーム チェックボックス リンク セル

A1にフォームのチェックボックスを置きコントロールの書式設定からB1にリンクさせ、チェックの状態がTRUEとFALSEで確認できるようにしました。
そしてA1:B1をコピーしてA2に貼り付けたんですが、A1とA2のチェックが同時に動きその状態がB1に表示され、B2は動きません。
おそらく理由として、シート上に存在する「B1にリンクするチェックボックス」をコピーしているからだということは分かりました。

そこで、チェックボックスが操作された瞬間(アプリケーションが呼ばれた瞬間)に、現セルから1列右にリンクするというマクロを作れば
コピーしたときに同じ場所にリンクしてしまう問題が解決できるのではないかと考えました。

1.これは可能ですか?
2.可能であれば、どういうコードを記述すれば良いのでしょうか。

キーワードが悪いのか、はたまた出来ないから載っていないのか、どうも検索しても出てきません。
ご教授ください、長文失礼しました。

340 :名無しさん@そうだ選挙にいこう:2007/05/14(月) 18:11:31
>>338
よくわからないけどそのテキストエディタで
""" → " に置換すればいいんじゃない?

341 :名無しさん@そうだ選挙にいこう:2007/05/14(月) 21:50:38
【1 OSの種類         .】 WindowsXPsp2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 ヘルプ(関数→一般的に使用される数式の例)を参考にしました
関数についての質問です。
不規則に○×が並んでいると仮定します。
○が出現した順に「0」で、次に○が出現したら「1」と返すようにしたいのです。
例)
○×○×××○×○××○・・・
0*1***0*1*0**1・・・
のようにです。きちんと並んで表示されていないと思いますが、すみません。
×のところはとりあえず「*」にしましたが、なんでもいいです。
よろしくお願い致します。


342 :名無しさん@そうだ選挙にいこう:2007/05/14(月) 22:07:11
1文字1セルなら

B1 =IF(A1="○",MOD(COUNTIF($A1:A1,"○")+1,2),"*")
これをコピーでOK

一つのセルに入った状態のまま処理するのは
たぶんVBAじゃないと無理

343 :342:2007/05/14(月) 22:08:41
まちごうた
B1じゃなくてA2
1行目に入ってる場合の話です

344 :341:2007/05/14(月) 22:31:40
>>342
レスどうもです。
完璧です。
ありがd

345 :名無しさん@そうだ選挙にいこう:2007/05/14(月) 23:53:50
【1 OSの種類         .】 WindowsXP sp2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】INDIRECT COLUMN 列番号 等

あるセルに
=INDIRECT("B"&ROW(A2))
と書くとそのセルにB2の中身が表示されます。

そこで今度は列を変えるようにして
=INDIRECT(COLUMN(a2)&"1"))や=INDIRECT(COLUMN(a2)&1))
にしてみるとエラーになります。

11になってしまうのが原因だと思いますが
COLUMN(や他の関数?)でアルファベットの列番号を取得はできないのでしょうか?
また、このままエラーが出ない書き方なんかあるのでしょうか?
お願いします。

346 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 00:07:45
>>345
ADDRESS関数を使用する。条件によってはOFFSET関数でもいいかも。

347 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 00:15:35
ありがとうございました
方法変更を検討します。

348 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 02:52:33
マウスコンピューターのPCを持ってるのでExcelが入ってないんですが、Excelって高いですね。

Excelみたいなソフトは入っていますがこれからの仕事のためにもちゃんとしたExcelをマスターしたいと思って。

やっぱ高くてもExcel買うべきですかね

349 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 09:14:50
仕事で使うならExcel買うべき
プライベートならマクロを使いたいかどうかだな

というか、そんな高い物でもないだろ
Office Professionalにしたって高額ソフトってわけでもないし

350 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 09:58:19
excel2002を使っています。

セル1をリスト入力で A,B,C と3種類の選択肢を作って選択入力にしました。
セル2にその入力内容を表示したいのですが、セル1の値がA,なら整数の5、
Bなら整数の7になるようにしたいのです。
どのようにすればよいでしょうか?お願いします。

351 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 10:11:02
>>350
セル2=VLOOKUP(A1,{"A",5;"B",7;"C",""},2)
または
セル2=IF(A1="A",5,IF(A1="B",7,IF(A1="C","","")))
とか。。。

352 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 10:18:31
やってみます。ありがとう!

353 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 10:19:50
>>351
完璧でした。

354 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 11:29:27
excel2003です。
フォームのオプションボタンをコピーしたら、情報を共有しているらしくどれか一つしか選択できません。
コピー元とコピー先のオプションボタンを別々に扱いたいのですが、どこかで設定できますか?

355 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 11:34:25
>>354
グループボックスで囲み分けるとか・・・。

356 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 11:44:06
>>348
は? 安いだろ


357 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 11:47:23
>>355
むむ、どうやってやれば良いんでしょうか・・・

358 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 11:47:32
>>356すいません、確認したいんですけどExcelっておいくらですか

359 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 11:54:57
>>357
フォームの中にXYZって書かれた四角いのがあるでしょ?
それを使って囲んだ分だけが同じグループになる。

360 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 12:15:56
>>359
ああ!シートの保護してあったため選べませんでした!
ありがとう〜

361 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 12:47:06
教えてください。

Aの縦のセルに次の数字が入力してありました。

321
5434
25
2645
5434
25
25
2645
5434

よくみると、実は次の数字だけで書かれていますが、
Bの縦のセルへこの4つの数字を抽出し記載するには、
どのようにすればよいでしょうか?

25
321
2645
5434


362 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 14:07:58
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 XP
【3 VBAが使えるか    .】 否
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 EXCEL BEEP

あるセルを常時監視し、一定の数値であった場合にBEEP音を鳴らすことは出来ませんでしょうか?
具体的には楽天証券のリアルタイムスプレッドシートマクロにより自動更新されるセルがあり、その数値によってBEEP音を鳴らしたいのです。
リアルタイムスプレッドシートマクロ内を弄るのが理にかなっているのかも知れませんが、規約等で出来ないものとしてお願いします。

363 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 18:01:30
>>361
まず、どこの課題か述べよ

364 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 18:20:33
>>362
計算結果の表示されるセル=C1として

Private Sub Worksheet_Calculate()
If Range("C1") > 10 Then Beep
End Sub

365 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 18:45:41
前々々任者が作ってくれたエクセルbookの表はよくできているので、仕事に欠かせない。ところが、出力様式が少し変わったので修正したいのだが、マクロを見ても出力範囲を表したものが見つからない。どう調べたらいいですか。vba以外にvbで書いているのがあるのかなー?


366 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 19:50:47
だからExcel何円だ!!

367 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 19:54:30
>>365
ファイルメニュー⇒ページ設定⇒シートタブにある印刷範囲で決めてるとか?

368 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 20:43:19
>>366
うるせぇなぁ
自分で調べろボケ
http://www.microsoft.com/japan/athome/lucky/default.mspx

369 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 21:50:23
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 ExcelXP
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
関数を教えてください

_A_. |_B_. |_C_. .|_D_.
aaa..|aaa..|今日|
bbb..|bbb..|明日|
ccc..|ccc..|昨日|
ccc..|ddd..|去年|
ddd..|
aaa..|

A列にあるデータを、B列を参照して、同じならC列の値をD列に吐き出させるにはどんな関数使えばいいでしょうか?
例えばA列がaaaならD列に今日、cccなら昨日となるようにしたい
ただし、Dに =Aがaaaなら今日とする といった命令ではなく、数式としたい
(実際はB列もC列も膨大なので)

わかりにくくてすいません

370 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 22:02:40
>>369 こゆこと?
D1=VLOOKUP($A1,$B$1:$C$4,2)

371 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 22:06:25
>>369
=IF(EXACT(A1,B1),C1,"")
これでいいのかな?

372 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 22:51:45
>>364
ありがとうございます!出来ました!

373 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 23:10:59
>>369
=if(A1=B1,C1,"")

これをコピーしまくりんぐ

374 :369:2007/05/16(水) 00:13:54
>>370-373
ありがとです。
>>370さんのがうまいですね
参照するB列とA列は1:1で対応してない(A列は数百行でもB列は数行)のでほかのやり方だとうまくなかったです。

Thanks

375 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 00:24:07
VBAで、セルの値が#N/Aであるかどうかを判定するにはどうすればいいのでしょうか?

376 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 00:32:31
>>375
If cells(1,1).Value = CVErr(xlErrNA) Then
でいけるとおもわれ

377 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 01:42:09
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

教えてください。

1 5 9
2 6 10
3 7 11
4 8 12

13  
14
・ 
・  24

25


   36

以上の値をコマンドボタンで出したいのですがどのようにすればいいのでしょうか?
初心者なのでまったく分かりませんのでよろしくお願いします。
   

378 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 02:39:26
意味府

379 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 03:01:38
パソコン一般板から誘導されてきました。
エクセルのマクロについて質問があります。
エクセルで作った一覧表のデータの高さ、巾等一部のデータをコピーして
別のエクセル表に貼り付けていき、終わったら、1行下に下がってまた
同じものをコピーして貼り付けていくマクロを作りたいのですが
1行分終わった後はどんなマクロを入れればいいのでしょうか?
また貼り付ける際に結合したセルに貼り付ける場所があるのですが、
その部分が結合したセルの一部分を変更することはできませんと
でるのですがどのようにすればいいでしょうか?
一連の操作を一回でやれるようにしたいと思っています。

【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】  はい (マクロの記録で簡単なのを作るくらいなら)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 マクロ 繰り返しで見てみましたが
違うようなのしかでてなくて意味がわかりませんでした。

380 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 03:16:49
【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】デザイン excel グラフ テンプレート 
Excel2007では「グラフのスタイル」という項目でグラフのデザインを一括して変更できますが、
現状ではプリセットのものからしか選ぶことができません。
これを自作で設定するようなことは可能なのでしょうか?


381 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 08:24:08
>>379
 逆に考えるんだ、「シートをコピーしていらないところを消せばいいさ」と考えるんだ

382 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 08:45:39
>>379
正直、その程度のかじり方でマクロの質問をされるのは困る。
質問→回答の応酬が際限なく続いて、スレが無駄に埋め尽くされてしまう。

マクロの質問するなら、回答されたマクロのメンテをある程度自分で出来る
程度に基礎を積んでからにしてくれないかな。

383 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 09:51:03
>>379
一行下がる
Cells(r, 1).End(xlUp).Offset(1).Select
こーいうこと?

セル結合の件
書いてある通り結合されたセルの一部分を変更する事はできない
これはVBAではなくEXCELの仕様なわけだが379はどうしたいんだ?

384 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 11:02:11
置換で文字の後ろに記号を打つことは出来ますか?
アアアア

アアアア☆


385 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 11:06:08
>>384
出来ますよ。

386 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 11:46:54 ?2BP(301)
先生! 列の数を最大256以上に拡張する裏技はないですか?

387 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 11:47:36
>>386
Excel2007を買えばいい。

388 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 11:48:30 ?2BP(301)
マジ?

389 :369:2007/05/16(水) 12:40:27
>>369です。
またわからないことが出て来てしまったのでアドバイス頂けないでしょうか?

_A_. |_B_. |_C_. .|_D_.
aaa..|aaa..|今日|
bbb..|bbb..|明日|
ccc..|ccc..|昨日|
ccc..|ddd..|去年|
ddd..|
aaa..|
sss.|

A列のデータからB列に該当する値を検索してC列の値をD列に表示したいということで教えて頂いた
D1=VLOOKUP($A1,$B$1:$C$4,2)
でうまくいったのですが、A列にB列のデータにはない値(ここではsss)があった場合「#N/A」が表示されてしまいます。

やりたいのは、B列にないデータの場合は、A列の値をそのままD列に表示したいのです。

調べるとA列に空白セルがある場合には
D1=IF(A1="","=D1",VLOOKUP($A1,$B$1:$C$4,2))
とやればよいようなのですが、【B列にあるデータ以外】にはという条件設定をするにはどうしたらよいでしょうか?

お知恵を拝借できれば助かります。

390 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 12:47:49
>>389
VLOOKUP関数を使った回答以外の回答もよくみてみろ
使える関数を用いた解答が付いてるぞ

391 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 13:09:32
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 2000
【3 VBAが使えるか    .】 否
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 EXCEL 抽出 列

>>361です。

初めA列に次のデータが記載されています。

321
5434
25
2645
5434
25
25
2645
5434

B列へ使われている数字を抽出するには、どのように関数を
使えばよいでしょうか?ちなみに次の4つの数字が抽出結果と
なり、B列に書かれるようにします。

25
321
2645
5434


392 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 13:44:33
=MIN($A$1:$A$9)
=SMALL($A$1:$A$9,RANK(B1,$A$1:$A$9,1)+COUNTIF($A$1:$A$9,B1))

393 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 14:52:44
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 抽出、複数条件、マッチ

シート1               シート2
  A B  C   D   E      A   B   C   D   E
1 1 20 田中 木村 東京   1     1    1   1   2
2 1 20 加藤 山田 大阪   2     19   20  25  13
3 1 20 鈴木 石田 福岡   3 田中 休み 東京 東京 東京
4 1 25 田中 加藤 東京   4 加藤 休み 大阪 休み 福岡
5 1 25 木村 後藤 大阪   5 鈴木 休み 福岡 福岡 大阪
6 1 25 山田 児島 京都   6 山田 休み 休み 京都 休み
7 1 25 鈴木 太田 福岡   7 青山 休み 休み 休み 埼玉
8 2 13 田中 加藤 東京   8 木村 休み 休み 大阪 休み
9 2 13 鈴木 木村 大阪   9 児島 休み 休み 休み 福岡

シート1に↑のように入力されたデータが2000行程度あり、それを元にして、
予め1行目と2行目、そしてA列が入力済みとなっているシート2のB3:IA50に、
シート1のE列の文字を抽出するにはどうすればよいのでしょうか?
VLOOKやMATCH関数ではうまく行かなくて・・・よろしくお願いします。

394 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 14:53:21
>>391
B1=MIN($A$1:$A$9)
B2=SMALL($A$1:$A$9,COUNTIF($A$1:A$9,"<="&$B1)+1)
B3=↓フィルコピー
B4=↓フィルコピー

395 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 15:30:40
XPのエクセル2000です。

シート1のN列に○がついている行があります。
○がついている行のA列とC列をコピーして
シート2の3行目以降にA列とB列に値のみを貼り付けたいです。
シートの表現が間違えていると思うので、直してもらえないでしょうか?

あと、常時このVBAを作動させたいです。方法を教えてください。
 Sub 判定書込み()
 Dim 判定行 As Long
 Dim 書込行 As Long
 書込行 = 3
   For 判定行 = 5 To 305
     If Not IsError(Worksheet(1).Cells(判定行, 14)) Then
       If Worksheet(1).Cells(判定行, 14).Value = "○" Then
         書込行 = 書込行 + 1
         Worksheet(1).Cells(判定行, 1).Select
         Selection.Copy
         Worksheet(2).Cells(書込行, 1).Select
         ActiveSheet.PasteSpecial Format:=3, Link:=1, DisplayAsIcon:=False, _
         IconFileName:=False
         Worksheet(1).Cells(判定行, 3).Select
         Selection.Copy
         Worksheet(2).Cells(書込行, 2).Select
         ActiveSheet.PasteSpecial Format:=3, Link:=1, DisplayAsIcon:=False, _
         IconFileName:=False
       End If
     End If
   Next 判定行
 End Sub

396 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 15:58:20
Sub hoge()
書込行 = 3
For 判定行 = 5 To 305
  If Sheets("Sheet1").Cells(判定行, 14) = "○" Then
    Sheets("Sheet2").Cells(書込行, 1) = Sheets("Sheet1").Cells(判定行, 1)
    Sheets("Sheet2").Cells(書込行, 2) = Sheets("Sheet1").Cells(判定行, 3)
    書込行 = 書込行 + 1
  End If
Next
End Sub

397 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 16:07:54
>>396
すげー・・・・
こんなに早くスリムな回答ありがとうございます。


398 :395:2007/05/16(水) 17:12:16
>>396
あっあと、エクセル起動中に常時このVBAを動かすには?


399 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 17:41:53
>>397 こんな感じでSheet1に書く

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
書込行 = 3
For 判定行 = 5 To 305
 If Sheets("Sheet1").Cells(判定行, 14) = "○" Then
   Sheets("Sheet2").Cells(書込行, 1) = Sheets("Sheet1").Cells(判定行, 1)
   Sheets("Sheet2").Cells(書込行, 2) = Sheets("Sheet1").Cells(判定行, 3)
   書込行 = 書込行 + 1
 End If
Next
End Sub


400 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 17:56:10
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 勉強中
【5 検索キーワード     】 columns

マクロの記述で、変数Aを行番号にしたいのですが、
columns ("A")
columns "A"
columns A

どれも正しく認識してくれません。
VBAの関数ってなんだか記述がしにくいなあ、と初心者として思っちゃいます。
どう書けばよいのでしょうか?

401 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 18:01:45
>>400
ヘルプ見れ

402 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 18:07:43
ヘルプは見ましたが、具体的な変数の使い方は載ってないようでした。

(”A”)のように書いてA列と表すのはわかりましたが、変数のほうは・・・。
今気づいたのですが、列と行を間違ってましたね。

403 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 18:21:33
>>402
HELPには、こう書いてある

>>次の使用例は、"myRange" という名前のセル範囲にある列 1 のすべてのセルの値を 0 に設定します。
>>Range("myRange").Columns(1).Value = 0

だからColumns(1)の1を変数に替えれば良いだけ。

404 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 18:22:24
なんで都合良く正解のみを外してるのかが理解できない
というかヘルプちゃんと読めば具体的に書いてあるし

「載ってないようでした」ではなく「絶対に載ってません」と断言できるくらいに読み漁れ

405 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 18:27:32
ヘルプ10回読めば理解できるのに
それすらしたくない奴にプログラムは無理

406 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 18:31:57
>>399
どうもありがとうございます。

407 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 18:51:54
>>404
>>405
連投しちゃうほど腹立たしかったのか?

408 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 19:07:13
連投?

409 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 21:11:09
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 わかりません
【4 VBAでの回答の可否】 わかりません
質問は、今まではキーボードの矢印キーを押せば、

下や横に行っていたんですが今日になって動きません。
どうしてでしょうか?

410 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 21:12:35
キーボードのScrollRockKeyがかかってるとか

411 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 21:13:26
Rock じゃなく Lock だった

412 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 21:21:15
あーありがとうございます!
そんな機能があるんですね・・・。治ってよかったです

413 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 22:16:17
>>393
VBAを使わないならインデックスになる列をつけるのが吉
たとえば
シート1のA列に1列挿入して
A1 =B1&”/”&C1&D1 
これをコピーすれば、
シート2!B3 =Vlookup(B$1&”/”&B$2&$A3,シート2!$A$3:$F$2000,6,0)
でOKのはず
ただ、VBA向きのシートだけどね^^;

414 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 22:43:28
>>393
参考までにユーザー定義関数
Function シフト(myrng As Range, m As Integer, d As Integer, myname As String)
    Dim i As Long
    Dim maxi As Long  
    maxi = myrng.Rows.Count
    For i = 1 To maxi
        With myrng
            If .Cells(i, 1).Value = m Then
                If .Cells(i, 2).Value = d Then
                    If .Cells(i, 3).Value = myname Then
                        シフト = .Cells(i, 5)
                        Exit Function
                    End If
                End If
            End If
        End With
    Next i
   シフト = "休み"
End Function

415 :369:2007/05/16(水) 23:03:16
>>390
ども

とりあえず
IFとISNA関数でなんとかやりたいことはできました

また困ったときはお知恵拝借にきます

416 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 23:13:32
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 勉強中
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 グラフ VBA

ChartObjects("index")
のindexに入れるインデックス番号やグラフ名はどこにのってますか?

今マクロの記録で覗いてみたら"グラフ 11"だったのですが
このインデックス番号やグラフ名は後から変更できるのですか?
1つ目のグラフが11になってるのが気に入らなくて1に直したいのです

417 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 23:24:15
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 変数の宣言

1回変数の宣言を行えばそのbook内ならいつでも使用可能にするにはどうすればいいですか?
今はプロシージャごとに毎回同じことを宣言しててなんか手間に思えます

418 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 23:26:55
複数ブックにあるそれぞれのシートを、
「一つのブックでの複数シート」という形にまとめる方法を教えてください。
数が非常に多いのでVBAでやりたいです。
ググってみたのですが、
「一つのブックの一つのシートにまとめる」というものしか探せませんでした。
よろしくお願いします。

419 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 23:29:21
>>

標準モジュールでPublicあたり。
しかし、当然ながら値は保持されたままなので
使いづらくなる予感。

420 :417:2007/05/16(水) 23:32:29
>>419
なるほど確かにそうですね
ありがとうございました

421 :名無しさん@そうだ選挙にいこう:2007/05/16(水) 23:35:11
>>420
プロシージャではなくモジュールの頭で宣言すれば
同じモジュール内だったら使える

しかし使いまわす目的なら毎回初期化する手間考えると
無意味だと思うが

422 :まこ:2007/05/17(木) 01:17:42
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可
【5 検索キーワード     】 グラフ
お世話になります。

1つのシートに2つのグラフがあり、シートが30ある1つのファイルを
つくりたいのですが、シートのコピーを行っていたところ、途中から
グラフの部分がコピーされなくなってしまいました。
1つのファイル内につくれるグラフの個数に、制限があるのでしょうか?

お分かりになる方教えていただければと思います。



423 :名無しさん@そうだ選挙にいこう:2007/05/17(木) 01:18:55
Excel2***
質問忘れた

424 :名無しさん@そうだ選挙にいこう:2007/05/17(木) 01:31:32
>>423
精神障害者の方ですか?

425 :名無しさん@そうだ選挙にいこう:2007/05/17(木) 01:44:43
424:名無しさん@そうだ選挙にいこう :2007/05/17(木) 01:31:32 [sage] >>423
精神障害者の方ですか?

426 :名無しさん@そうだ選挙にいこう:2007/05/17(木) 08:54:23
>>414
をいをいw

427 :名無しさん@そうだ選挙にいこう:2007/05/17(木) 10:29:23
Selection.Offset(6).Formula =
の右辺に
=COUNTIF(Sheet1!$D$1:$D$5000,"<20")
という計算式を入れたくて、さらに5000には変数を使いたいと思っています

Selection.Offset(6).Formula = "=COUNTIF(Sheet1!$D$1:$D$" & P & ","<20")"
と書いたのですが
最後の
","<20")"
の部分でコンパイルエラー:修正候補:ステートメントの最後
になってしまいます
どう書いたらいいのでしょうか?

428 :名無しさん@そうだ選挙にいこう:2007/05/17(木) 11:15:52
>>427
Selection.Offset(6).Formula = "=COUNTIF(Sheet1!$D$1:$D$" & P & ",""<20"")"


429 :名無しさん@そうだ選挙にいこう:2007/05/17(木) 15:07:59
562 | 4様
563 | ABCマート
563 | ニコニコ堂
564 | AAA会社

これを元に他のシート(下記のもの)作っているのですが
563という数字を持ったものを1列にするためABCマートの右側のシートに表示させる
ように関数を作っていますがうまくいきません。
index・lookupとう様々な方法を試したのですがいい関数はないでしょうか

562 | 4様     |
563 | ABCマート | ニコニコ堂 |
564 | AAA会社 |


430 :名無しさん@そうだ選挙にいこう:2007/05/17(木) 15:45:43
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003

セルの範囲をcells で指定するときはどう書くのでしょうか。
cells コマンドは、単一セル専用ですか?

431 :名無しさん@そうだ選挙にいこう:2007/05/17(木) 15:49:58
IFで、10%台の場合○を表示するってどうしたらいいでしょうか

432 :名無しさん@そうだ選挙にいこう:2007/05/17(木) 15:51:04
0.1以上0.2未満を丸

433 :名無しさん@そうだ選挙にいこう:2007/05/17(木) 16:32:52
=IF(0.1<=H5<0.2,"○","")
一体どこがおかしいんだ・・・・助けて

434 :名無しさん@そうだ選挙にいこう:2007/05/17(木) 16:40:29
>>433
=IF(AND(0.1<=H5,H5<0.2),"○","")

435 :名無しさん@そうだ選挙にいこう:2007/05/17(木) 16:41:20
=IF(P21<0.2,IF(P21>=0.1,"○",""),"")
これでなるから>>429のアンサーを頼む

436 :名無しさん@そうだ選挙にいこう:2007/05/17(木) 16:43:18
そーいやーANDなんて便利なもんがあったな・・・。
正直すまんかった。

437 :名無しさん@そうだ選挙にいこう:2007/05/17(木) 17:20:05
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

ウォーキングの記録を付けていて、A列に日付、B列以降に距離やカロリーを書いたシートを使っています。
A列には1年分の日付を、昇順でコピーしてあります。
このファイルを開いた時、若しくは何らかの操作を行う事で、今日付の行のB列(距離のセル)にカーソルを
移動させたいのですが、ググってみても何から勉強したらいいのか見当が付けられませんでした。
何かヒントをいただけませんでしょうか?

438 :393:2007/05/17(木) 18:34:30
>>413-414
ありがとう!
そっかー、インデックスつけると良いんですね。勉強になりました。
ちょっとゴテゴテだけど、IF(ISNA(VLOOKUP〜でなんとか出来ました。

439 :名無しさん@そうだ選挙にいこう:2007/05/17(木) 18:37:05
VBAで、A1セル(式あり、値あり)、B1セル(式無し、値あり)のときC1セルに
=A1*B1をいれるのと同じことをするため、
cells(1,3).value="=cells(1,2)*cells(1,1)" と書いてみたもののダメです。
直してください。よろしく。


440 :名無しさん@そうだ選挙にいこう:2007/05/17(木) 18:43:12
Cells(1, 3).Formula = "=A1*B1"

441 :名無しさん@そうだ選挙にいこう:2007/05/17(木) 18:49:26
>>439
値だけ入れたいのであれば
Cells(1, 3).Value = Cells(1, 2) * Cells(1, 1)

442 :名無しさん@そうだ選挙にいこう:2007/05/17(木) 18:50:27
>>431
=IF(ROUNDDOWN(A1,1)=0.1,"○","")

443 :名無しさん@そうだ選挙にいこう:2007/05/17(木) 19:27:05
>>437
 ↓ これを ThisWorkbook に書く。後は Help みたりぐぐったり。

Private Sub Workbook_Open()
  Cells(DateDiff("d", DateSerial(2006, 12, 30), Date), 2).Select
End Sub


444 :名無しさん@そうだ選挙にいこう:2007/05/17(木) 21:53:24
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

[1][4]
[2][5]
[3][6]
[][7]
[][8]
こんな感じで数値が並んでいてColumnAのRowが5以下ならば
ColumnBの頭から不足分をCut&Pasteして不足分を補い、ColumnBは
Cutした分だけ上へ移動
ってやりたいのですがどのように書いたらいいのでしょうか?
空白行は上から探したいです

sub test()
Dim R As Integer
ActiveSheet.Range("$A$1").End(xlDown).Address = R

ここから先がわかりません

445 :名無しさん@そうだ選挙にいこう:2007/05/17(木) 22:44:32
>>444
意味がよくわからないけどこういうこと?
Sub Macro1()
Dim r As Integer
    With ActiveSheet
        r = .Cells(65536, 1).End(xlUp).Row
        If r > 5 Then Exit Sub
        .Cells(r + 1, 1).Resize(5 - r, 1).Value = .Cells(1, 2).Resize(5 - r, 1).Value
        .Cells(1, 2).Resize(5 - r, 1).Delete Shift:=xlUp
    End With
End Sub


446 :439:2007/05/17(木) 22:52:20
>>440 >>441 サンクス ただ、
自分の説明が不十分でしたが、Cells(1, 3).Formula = "=A1*B1"はうまくいきます。自分もC1セルを選択後、activecell.value="=A1*B1"でうまくいくのですが、ループさせたいので、cells()を使って表したいのです。式でも値でもかまいません。
Cells(1, 3).Value = Cells(1, 2) * Cells(1, 1)も
cells(1,3).value="=cells(1,2)*cells(1,1)"と同様、型不一致エラーがでます。


447 :名無しさん@そうだ選挙にいこう:2007/05/17(木) 23:11:37
>>446
上のでエラーでないけど?

448 :名無しさん@そうだ選挙にいこう:2007/05/17(木) 23:15:35
>>446 ぢゃあコレもエラーになるか?

Sub nande()
Dim i As Long
For i = 1 To 10
 Cells(i, 3).Value = Cells(i, 2).Value * Cells(i, 1).Value
Next i
End Sub


449 :444:2007/05/17(木) 23:16:24
>>445
うまく動いてます ありがとうございました
Resizeの部分を理解するのに時間が掛かりましたがようやく飲み込めました
ところでIfについてわからないのですがElseもEnd Ifもないのにエラーにならないのはなぜなんですか?

450 :名無しさん@そうだ選挙にいこう:2007/05/17(木) 23:42:47
>>449
基本的な文法も知らずに闇雲に質問レスを入れるのは止めてもらえるかな。
スレの趣旨から逸脱してる

451 :439:2007/05/17(木) 23:53:24
>>447 >>448
サンクス おさがわせしすみません。型不一致エラーは別物で、教えていただいたとおりで値が正常に出ます。どうもです。


452 :445:2007/05/18(金) 00:24:31
>>449
if文内の処理が単一行の場合はend ifを省略できます。
>>450
VBAは素人が手探りでやることが多いものなので
基本的な文法ルールを知らないことも多いと思われます。
ってか、自分もそうだ(^^;)
もう少し生温かい目で見てくださいm(_ _)m


453 :名無しさん@そうだ選挙にいこう:2007/05/18(金) 01:18:10
【1 OSの種類         .】 WindowsXPPRo
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 シート
ひとつのシート内のデータを、60分割して、それぞれ別々のシートに貼り付けるマクロを作っています。
コードはループではなく、ベタ書きしています。(60個分ですが、コピペと微改造で済むので)
それなのに(?)27シート目以降、すべてのシートで、貼り付けのときに、
2行のデータを一回だけ貼り付ければいいところを、最後の行(65535行目)まで貼り付けてしまいます。
・27シート目の処理だけ飛ばすと、28シート目からこの現象になる。
・26シート目までの処理を飛ばし、27シート目の処理だけ実行したらOKだった。
・ 〃             28 〃
・データ量の多いシートがあったので、削除したけど、やはり同じところで発生する。
・かまわず実行し続けると29シート目あたりで、「リソース不足」と出る。
解決する方法はあるのでしょうか。。。あればご教授願います。
PCのスペック不足によるものならかなり絶望的な気がしないでもないですが。。


454 :名無しさん@そうだ選挙にいこう:2007/05/18(金) 01:24:57
不足なものが多すぎてどう言えばいいのやら
せめてコードくらい晒してくれ

455 :名無しさん@そうだ選挙にいこう:2007/05/18(金) 01:31:29
>>454
意味不明な質問は放置しておけばいいよ。

456 :名無しさん@そうだ選挙にいこう:2007/05/18(金) 09:41:23
>>443
ありがとう!思った通りの動作が出来ました。
日数が決まっているから、絶対位置を算出できるという事ですね。

どうやれば検索に使える日付を生成できるんだろう?と、
まったく見当違いな方向を調べてました・・・

457 :名無しさん@そうだ選挙にいこう:2007/05/18(金) 11:09:48
【1 OSの種類         .】 Windows VISTA
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】
【4 VBAでの回答の可否】
【5 検索キーワード     】 exel 2007 大きいアイコン


エクセルの上のほうのアイコンを大きくしたいのですが、どうやったらできますか?
2003や2001のときは普通にできたのですが、2007にしてからできません。


458 :名無しさん@そうだ選挙にいこう:2007/05/18(金) 11:41:06
しょーもない質問です

エクセルで「図の挿入」を選ぶと出るファイルメニューが
必ず、「縮小表示」なんですが、詳細表示に固定できませんか?

詳細表示に変えて挿入、おなじファイルですぐ図の挿入をやると、もう縮小表示に戻ってます

459 :名無しさん@そうだ選挙にいこう:2007/05/18(金) 11:50:07
あ〜 しょーもないっ

460 :名無しさん@そうだ選挙にいこう:2007/05/18(金) 11:54:33
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可
【5 検索キーワード     】excel セル番地 計算

A   B
---------
1   10
↓   20
↓   30
↓   40
↓   50
100

お世話になります。上記のようにA列に1〜100までの数値が
入ってるとします。ここでセルの内容を問わず、強制的に任意の
セル毎(例は10個おき)の内容をB列に羅列したいのですが、
セル番地の抽出(指定)方法がわかりません。
B列にはどんな関数(式?)を入力すれば良いでしょうか?
宜しくお願い致します。

461 :名無しさん@そうだ選挙にいこう:2007/05/18(金) 12:38:06

>セルの内容を問わず、強制的に任意のセル毎(例は10個おき)の内容をB列に羅列

とは、なんですか?
例があるといいのでは?(上の例ではわからない)


462 :名無しさん@そうだ選挙にいこう:2007/05/18(金) 12:38:38
エクセル2003です。

年月日を入力するセルがあります。
このデフォルト値を「(現在の年)年1月1日」にしたいのですが
どうすればいいでしょうか。
よろしくお願いします。

463 :名無しさん@そうだ選挙にいこう:2007/05/18(金) 12:41:03
例の通りだとすると
ROW関数でセルのある行番号を調べてそれに10を掛けると欲しい行数を得られる
それをINDIRECT関数でセルの番地に当てはめれやれば良い

 =INDIRECT("A"&ROW(B1)*10)

とか
場合によってはOFFSET関数も有用

それぞれの関数の詳細はExcelのヘルプを参照しろ

464 :名無しさん@そうだ選挙にいこう:2007/05/18(金) 12:43:52
>>462
デフォルトの値ってなんだよ

現在の年が欲しければ NOW関数で拾って来い
あとはYEAR関数で年数に変換すればいいだろ

465 :名無しさん@そうだ選挙にいこう:2007/05/18(金) 13:11:42
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 ほんの少々
【4 VBAでの回答の可否】 可

あるセルの範囲を、変数を使って指定したいのです。
x、y を変数として(y、x)から(y、x+20)までの範囲を指定したいと考えています。
マクロ自動記録でやってみたところ、

Range("A1:A20").Select

のようになり、根本的に違うような気がします。
検索してみたところ、unionなどそれらしいものもひっかかりましたが、それでもよくわかりません。
どなたかご教授下さい。

466 :名無しさん@そうだ選挙にいこう:2007/05/18(金) 13:30:50
>>465 このあたりかな?

Range(Cells(y, x), Cells(y, x + 20)).Select

または

Cells(y, x).Resize(1, 20).Select


467 :462:2007/05/18(金) 13:40:09
>>464
デフォルト値というのは語弊がありました。
YEAR(NOW())にすると、2007しか返ってきませんよね。
要するに「年1月1日」というのは固定で、
2007の部分だけが変動するようにしたいわけです。
これを1つのセルで表示するには、どうしたらいいでしょうか。

468 :名無しさん@そうだ選挙にいこう:2007/05/18(金) 13:42:19
>>467
=DATE(YEAR(NOW()),1,1)

469 :名無しさん@そうだ選挙にいこう:2007/05/18(金) 13:44:00
>>467-462
日付関数調べりゃわかる事だろ

470 :462:2007/05/18(金) 13:48:14
>>468-469
な、なるほど!
できました。ありがとう〜!

471 :460:2007/05/18(金) 14:03:59
>>463
ありがとうございます。m(__)m


472 :458:2007/05/18(金) 14:55:00
>>459
そういわずに教えてくださいよ
googleで検索したら

「普通は前回のを覚えてるはず、あなたのPCがおかしい」→再インストールで治った

ってのがかかったけど、覚えてるもんですか?
再インストールは、なんか正規のやり方があったら馬鹿らしいんで

473 :458:2007/05/18(金) 15:04:27
失礼、見つけました
ttp://support.microsoft.com/kb/301459/ja

あとは自分で何とかします

474 :名無しさん@そうだ選挙にいこう:2007/05/18(金) 18:18:09

391です。

ありがとう。

475 :名無しさん@そうだ選挙にいこう:2007/05/18(金) 20:32:13
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 いいえ

下の例のように参照セル位置を計算式で求めるように
したいのですがどのようにすれば可能でしょうか?

例.
B5のセル…=B1
C5のセル…=R1
B1にB5のセル内容を表示、C5にR1のセル内容を表示

今 こうしているのを
B5のセル…=B1
C5のセル…=(B1+16) ←ここの計算式を知りたい
のようにしてR1セルの値を表示させたい

476 :名無しさん@そうだ選挙にいこう:2007/05/18(金) 20:37:38
>>475
OFFSET関数

使い方はヘルプ参照

477 :名無しさん@そうだ選挙にいこう:2007/05/18(金) 20:53:47
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

質問させてください。
エクセルで除算や乗算をするときに必ず100単位で答えを出させる事なんかは出来ないでしょうか?
十の位で四捨五入とかでいいので。
書式設定とかで何とかならないでしょうか?


478 :名無しさん@そうだ選挙にいこう:2007/05/18(金) 21:27:09
必ずROUND関数の中で除算や乗算をするようにすればいい
関数使いたくないとかの条件後出しは無しでよろしく

479 :名無しさん@そうだ選挙にいこう:2007/05/18(金) 21:57:50
>>478
期待通りの結果が得られました。
また一つ便利な関数を学びました。
有り難うございます。


480 :名無しさん@そうだ選挙にいこう:2007/05/18(金) 22:51:28
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

とあるWINDOWSベースの専用ソフトを使った測定器で40万個ぐらいから得られた
数値からMAX、AVERAGE、STDEV、CPKが得られるのですが、
この得られた元の数値をtxt出力してEXCELで加工してEXCELで計算させると
MAX以外測定器と結果が違って出てきます
EXCELの関数計算って信用しても大丈夫ですか?
古い測定器なのでそっちを疑ったほうがいいのでしょうか?

481 :名無しさん@そうだ選挙にいこう:2007/05/18(金) 22:54:23
>>477
っROUND関数

482 :名無しさん@そうだ選挙にいこう:2007/05/18(金) 22:57:12
>>480
演算誤差だったならここらあたりを参考にしてみては
ttp://pc.nikkeibp.co.jp/pc21/special/gosa/index.shtml

483 :名無しさん@そうだ選挙にいこう:2007/05/18(金) 23:10:07
>>481

ありがとうがざいます。


484 :名無しさん@そうだ選挙にいこう:2007/05/19(土) 00:18:31
>>480
両方疑って他の方法で計算して比べたほうが良い

485 :名無しさん@そうだ選挙にいこう:2007/05/19(土) 10:26:56
たぶん484が正答。
俺なら自分でマクロを組むなり、CSVを読んで計算するプログラムを作って結果を出すなりしてると思う。

486 :名無しさん@そうだ選挙にいこう:2007/05/19(土) 13:00:50
三井三菱

487 :名無しさん@そうだ選挙にいこう:2007/05/19(土) 19:37:48
>>480
少数のサンプルで比較すると分かりやすいぞ

いきなり全数比較なんてしてもしんどいだけ
適度な数のサンプルで比較して原因を調べる事を薦める

488 :名無しさん@そうだ選挙にいこう:2007/05/19(土) 20:44:52
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

A1に文字(数字なり)が入力されたらB1にA1の文字が飛んで
A1に何も入力されてなければ空欄のまま。
B1に「=A1」と入力して「0」と表示させないようにする数式



489 :488:2007/05/19(土) 20:47:12
すいません。
間違って送信してしましました・・・。
自己解決しました。
もうしわけないです

490 :名無しさん@そうだ選挙にいこう:2007/05/19(土) 22:31:55
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はじめたてです
【4 VBAでの回答の可否】 可


日付に関する質問なのですが、ちょっと入り組んでいて分かりにくくなると
思うのですが、どうかよろしくお願いします。また長文になってしまったので、
2つに分けて書き込みします。

{現状:うまく日付が表示されないため、別に新しくエクセルたててそこで色々試行中}

今新しく立ち上げてるエクセルをエクセルB、元使っていたのをエクセルAと呼ぶ事にします。
今、エクセルBのA1に =TODAY() といれて、2007/5/25と表示されてます
違う場所で、=DATE(A1,A1,25)といれて、2007/5/25と表示させようとしてるのですが
#NUM!と表示されてしまいます。
そして、今度は=DATE(YEAR(A1),MONTH(A1),25)といれると、A1と同じ列なら
きちんと2007/5/25と表示されるのですが、違う列に入れると#######と表示されてしまいます。
その#######を書式で一度5月25日と表示させてから元にもどすと、きちんと2007/5/25と表示されるようになりました。
最後に、=DATE(YEAR(A1),MONTH(A1),DAY(25))といれて試してみたところ、どこに入れても
2007/5/25と1発ででて成功しました。

しかし、これは新しく立ち上げたエクセルBの結果で、私が実際いれたいエクセルAの方だと
=DATE(YEAR(H145),MONTH(H145),DAY(25)) と入れても表示されません。
*H145に=TODAY()といれて2007/5/25と表示されてます。
書式のところをいじれば、H19.5.25や5月25日とはきちんと表示されるのですが
他の2007/5/25等の表示にしようとすると#######とでてどうしても出来ません。


491 :490の続き:2007/05/19(土) 22:33:53
そこで、質問したいのですが

=DATE(A1,A1,25)、=DATE(YEAR(A1),MONTH(A1),25)、=DATE(YEAR(A1),MONTH(A1),DAY(25))
の3つ式は間違っているのでしょうか?

なぜエクセルBでは、=DATE(YEAR(A1),MONTH(A1),DAY(25))を入れたらきちんと
表示されるのに、エクセルAで同じようにしても表示されないのでしょうか?

そして、どうすれば、エクセルAの方で2007/5/25と表示させることができるのでしょうか?

すごく長くて解りにくい文なので、何かわかりにくところがあれば
全てお伝えしますので、どうか教えてください。


492 :名無しさん@そうだ選挙にいこう:2007/05/19(土) 22:58:18
>>490-491
表示が######となるときはセルの幅が足りないと思う。

=DATE(A1,A1,25)の式は上手くないと思う。
A1=2007/5/25と入ってるとき、A1をG/標準にすると「39221」というシリアル値が表示される。
この「39221」を=YEAR()、=MONTH、=DAY()に入れてやれば年や月や日が表示される。


493 :名無しさん@そうだ選挙にいこう:2007/05/19(土) 23:01:50
>>490-491
何を期待して書いたかによるけどこの内容だと2つ目以外は間違いだと思う。
なぜかという問いには、
それぞれの関数のヘルプを読みましたか?
それを理解しましたか?

494 :490-491:2007/05/19(土) 23:15:22
>>492
セルの幅を最初から広げていても#####になってしまうのです・・・
あと、A1をG/標準にする、というところを詳しく教えていただけませんか?

>>493
2つ目の式は正解なのですか?
式は合っているのに、エクセルAの方できちんと表示されないのは何故でしょう・・・
関数のヘルプはだいたい読んで、自分に考えられる
3つの方法で試したのですが、それでもダメだったので
ここで質問させてもらっています


495 :名無しさん@そうだ選挙にいこう:2007/05/19(土) 23:43:16
>>494
参照しているセルの表示形式が文字列になってるとかじゃないよな?
「####」の列をダブルクリックして自動で列幅調整しても「###」のまま?
ヘルプみたんならシリアル値は理解してるよな?


496 :495:2007/05/19(土) 23:48:52
###...の補足

エラー値 ##### の意味
セルの幅よりも長い数値、日付、時刻が入力されている場合、
または結果が負の値になる日付または時刻の数式が入力されている場合、
エラー値 ##### が表示されます

てか、ヘルプで検索かけると普通にでてくるよ

497 :490-491:2007/05/19(土) 23:51:32
あう、本当にバカですみません・・・
幅広げるのも試したはずだったのですが
今また広げてみたら、普通に表示されてしまいました・・・orz
皆様本当にご迷惑おかけしました・・・

498 :名無しさん@そうだ選挙にいこう:2007/05/20(日) 11:30:21
>472-497
バカ漫才ですか?

499 :名無しさん@そうだ選挙にいこう:2007/05/20(日) 22:51:37
Excelを極めると
神になれると聞いたんですが、何か良いExcelの書籍ないでしょうか?

500 :名無しさん@そうだ選挙にいこう:2007/05/20(日) 23:20:24
>>499
>>2・B

501 :名無しさん@そうだ選挙にいこう:2007/05/20(日) 23:24:09
メールに添付してあるエクセルを開こうとすると開けないんですが…原因がわかりません

502 :名無しさん@そうだ選挙にいこう:2007/05/20(日) 23:32:06
・デコード出来てない (→Excel関係ないのでスレ違い)
・ファイルが破損している (→Excel関係ないのでスレ違い)

503 :名無しさん@そうだ選挙にいこう:2007/05/20(日) 23:53:53
>499
エクセルなんか極めなくても、早く届くジャンプをうpすれば
神になれるよ。捕まるけど。

>501
添付ファイルを一旦どこかに保存して、エクセルの
ファイル→開く、から開いてみれ。

504 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 00:06:36
範囲選択した全ての数値から-100をしたいのですがどうやればいいでしょう?

505 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 00:09:31
全部-100すればok

506 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 00:12:10
量が多すぎます><

507 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 00:14:09
対象範囲と同じ大きさの空範囲を選択して、100を入力しCtrl+Enter
そのままコピーして対象範囲を選択し、形式を指定して貼り付けで減算すればいい

又は=対象-100の式をフィルか配列数式で作ってコピーし、対象範囲に値の貼り付け

508 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 00:16:12
>対象範囲と同じ大きさの空範囲を選択して、100を入力しCtrl+Enter

一カ所のセルに「100」と入力するだけでOK

509 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 00:17:43
( ゚д゚)ポカーン

510 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 00:40:11
失礼します。
中学校数学における文字式の計算ですが,エクセルでも
簡単な数式処理は可能でしょうか?

たとえば,

2a + 3a = 5a

などの計算をエクセルに担当させたいのです。

環境は以下の通りですので,ご回答よろしくお願いします。


【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 文字 エクセル 計算



511 :504:2007/05/21(月) 00:41:33
減算出来ました
ありがとうございます

512 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 00:42:18
>>507
>対象範囲と同じ大きさの空範囲を選択して、100を入力しCtrl+Enter

空範囲の左上セルに
=対象範囲の左上セル-100
でCtrl+Enterでおk
それを貼り付けるぐらいなら>>508かね

513 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 00:52:37
>>510
無茶

514 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 01:08:02
>>513
VBAを利用してもやはり不可能でしょうか?

515 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 01:12:45
>>514
VBA使えば可能だよ
何ならユーザー定義関数作ってしまうと良い

516 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 01:13:58
誤爆スマソ

517 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 01:14:27
>>515
ありがとうございます。
ネットでフリーの文字式計算用のVBAを探しているのですが,
なかなか見つからないもので書き込みをしました。

518 :510:2007/05/21(月) 01:15:12
>>517
名前を忘れていました。すみません。

519 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 01:21:19
>>518
数式のパース処理を自作するなら、どこまで対応させるかによって
プログラムの難易度は全然違ってくる。

例えば、

3(2a - 4) + 5a = 11a - 12 とか

a^2 + a(5a - b) + ab(c + d + 2) = 6a^2 + ab + abc + abd

のような計算にも対応が必要なら、必要なプログラムはかなり高度になる。

520 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 01:21:23
>>517
VBAを勉強して自分で作ればいいヤン

521 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 01:50:12
VBAは探すものではなく「作る」又は「書く」ものだからな

522 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 08:54:54
>>510
授業に使うならなら、これでしょ!
カルキング http://www.simplex-soft.com/

ホント便利だよ

523 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 09:57:13
XP、エクセル2003、VBA初心者です。
顧客データから単票シートに呼出をしたいのですが、
規則性の無いセル(例えばF2、D6、D4、I4・・・・)が100弱有ります。
これらのセルに別シートから取得した値(個数はやっぱり100弱)を順番に入れるには?
以下の様に作って見ましたが、記述法がわかりません。
何か良い方法が有れば教えて下さい。

'呼び出す列を変数「yobretu」として宣言
Dim yobretu As Byte

'指定のIDに対応するデータシートの内容(操作シートに入力する値)を「yobareta」と定義
Dim yobareta

For yoburetu = 2 To 83


yobareta = Application.WorksheetFunction.VLookup(Worksheets("単票").Range("P2"), _
Worksheets("データ").Range("A:CD"), yoburetu, False)

Worksheets("単票").【この部分が分かりません】 = yobareta

Next yoburetu


524 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 10:47:54
マクロ作成の相談もここで良いのか?
知らなかった。

525 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 10:50:53
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

タテヨコ軸の入れ替えを一気にやる方法ってありますか?
セルの位置で表現するとこういうことです。

12345
あいうえお
アイウエオ
ABCDE
  ↓
1あアA
2いイB
3うウC
4えエD
5おオE

手作業のカット&ペーストでやれるような少ないセル数ではないので、
なにか楽な方法があればと思いまして。
どなたかよい知恵がございましたらアドバイスください。
どうぞよろしくお願いいたします。

526 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 10:52:17
VBA初心者と言いながら、実際はVBA入門者以前だな
まずは入門者の位置までは自力で来てください
そうでないとお互い話すら伝わりません

527 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 11:12:41
>>525
編集⇒形式を選択して貼り付け⇒行列を入れ替えるにチェック⇒OK

528 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 11:42:19
>>527 サンクス!
こんな初歩的なことにいままで気づかなかった自分が恥ずかしい...................oTL

529 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 16:57:20
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel 行 制限、スクロールなどなど

複数のセルを選択するとき、現在既にあるデータ以上にスクロールさせると勝手に行や列が増えていく仕様がありますが、
これを無くしたいのですがどうしたらいいでしょう

530 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 21:00:47
仕様が気に入らないなら、Excel使うのやめればいい

531 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 22:46:15
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 生まれたての赤ん坊
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 チェックボックス

チェックボックスのオン・オフで飛び飛び複数行の表示・非表示の仕方がわかりません
よろしくお願いします。

532 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 23:06:36
飛び飛びでない場合と同じです
一つの命令では無理な場合があるので、必要なだけ分けるかループにします

533 :名無しさん@そうだ選挙にいこう:2007/05/21(月) 23:54:50
相談したい事があるんですが、恐らく実ファイルを参考にしながらでないと上手く説明できません。
**.xlsをupできるところの紹介から相談させて頂いていいでしょうか?
教えていただければすぐにup出来ます。

面倒おかけしますが、よろしくお願いします。




534 :名無しさん@そうだ選挙にいこう:2007/05/22(火) 00:21:11
>>533
それくらい自分で探す努力をしてくれよ。

535 :名無しさん@そうだ選挙にいこう:2007/05/22(火) 00:27:05
いいから書け
書いてるうちに自分でも整理できるから

536 :名無しさん@そうだ選挙にいこう:2007/05/22(火) 00:48:53
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 生まれたての小鹿レベル
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 データベース

アクセスで作ったごく単純なmdbファイルにVBAでエクセルからデータを書き込み&抽出してるんですが、

エクセルには外部データの取り込みとかMSクエリとかって機能がありますよね
あれってどういうときに使うんですが?一覧取得の際に便利に有効活用できるならしたいんですが

537 :533:2007/05/22(火) 03:01:17
遅くなりました…うたた寝してしまってました。
では、とりあえず書いてます。

営業成績の表を作ってるんですが
A行:日にち B行:売り上げ目標 C行:営業実績 D行:総売り上げ目標に対する達成率 E
行:到達率(当日までの達成率)
それぞれ上から下に伸びています。
A〜C行は純粋に数字が直接入力されていまして、
D:
=IF($D$7:D7<>0,D7/C7,"")
    …
=IF($D$7:D29<>0,D29/C29,"")

E:
=IF($D$7:D7<>0,SUM($D$7:D7)/SUM($C$7:C7),"")
     …
=IF($D$7:D29<>0,SUM($D$7:D29)/SUM($C$7:C29),"")

となっています。これはこれでひとまず思い通りの答えが出てるんですが
D行/E行のそれぞれ一番下には割合(%)ではなく実際の”差”を表示させたいんです。


538 :533:2007/05/22(火) 03:04:23
続きです。


D行最下列は
=D30-C30 (売り上げ実績-売り上げ目標)で、総売上目標に対しての差が計算出来るんですが

E行最下列に ”当日までの目標に対する当日までの売り上げ実績との差” が欲しいんです。

(その日までの売り上げ)-(その日までの目標の合計)

という事になるんですが、この数式を教えて貰えませんでしょうか?
売り上げ目標を毎日一日ずつ入力していってれば何てこと無いことなんですが、
売り上げ目標は月の初めに20日分、上から全て入力された状態です。

解りにくく長い説明になってしまいましたが…よろしくお願いします。



539 :名無しさん@そうだ選挙にいこう:2007/05/22(火) 09:09:27
>>537
まずは行と列を理解しようね。
 A,B,C,Dは列(A列、B列)、1,2,3,4は行(1行、2行)。
夜勤明けだから脳内変換するだけで精一杯だよ。

>D:
>=IF($D$7:D7<>0,D7/C7,"")
>    …
>=IF($D$7:D29<>0,D29/C29,"")
(中略)
>これはこれでひとまず思い通りの答えが出てるんですが

嘘つけ〜っ!循環参照になってまともな値が返るはずない。
悪いけど脳みそが半分寝てるんです。どう間違えているのか見当付きません。
修正してちょ。

>D行/E行のそれぞれ一番下には割合(%)ではなく実際の”差”を表示させたい

一番下って言うのは、最後に入力した行と言うこと?
それなら、元の計算式が割合を求めるように作ってあるんだから無理。
もう1つIF関数を使って差の計算式を加ましょう。
条件は「下のセルが空白なら差の計算式、空白でなければ割合の計算式」

>>538
>(その日までの売り上げ)-(その日までの目標の合計)
COUNTA関数かCOUNTIF関数でC列に何個データが入力されているのかを調べて
OFFSET関数でセルを指定して計算できる
 =SUM(OFFSET(C7,0,0,COUNTA(C7:C29),1))-SUM(OFFSET(B7,0,0,COUNTA(C7:C29),1))

540 :名無しさん@そうだ選挙にいこう:2007/05/22(火) 09:28:24
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 図形 フリーフォーム

エクセルで図形を描いているんですがフリーフォームだとALTキーを押しながら書くと
セルの交点を捉えられると思ったんですが(以前はできたので)
今回描いていたらそれが出来なくなってしまいました。
直線などでは出来るのですがフリーフォームに限ってできません。
セルの書式設定などは全くいじってない状態です。
何が違ってフリーフォームだけできないんでしょうか?

541 :名無しさん@そうだ選挙にいこう:2007/05/22(火) 11:24:35
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel rank 色


5つランクの結果に上位3つを@のような丸文字で
かこみたいのですがユーザー定義をどういじっても
出来ません。どなたか教えて下さいませ。

542 :533:2007/05/22(火) 11:45:12
>>539
夜勤お疲れさまです。
列と行が逆さまでしたね、紛らわしくてすいません。
指摘、ありがとうございます。

やはり上手く伝えられないので、今夜帰ったらUPできるところ探してみます。

その時はまた添削お願いします。


543 :名無しさん@そうだ選挙にいこう:2007/05/22(火) 12:10:46
EXCELが急に使用できなくなりました。
何か、「ディスクを入れてください」とかいう
メッセージがでます。

どういうことでしょうか?

544 :名無しさん@そうだ選挙にいこう:2007/05/22(火) 13:17:40
入れろよ

545 :名無しさん@そうだ選挙にいこう:2007/05/22(火) 17:51:42
>>545
おかしくなる直前の操作やWindowsの挙動など書かないと
誰も答えようが無いと思いますよ。
あと、おかしくなったのはEXCELかもしれませんが、
スレ違いだと思うのでWindowsスレとかの方が良いと思います。


546 :名無しさん@そうだ選挙にいこう:2007/05/22(火) 17:53:44
>>540
フリーハンド、フリーフォームでは、元からグリッド吸着は出来ないけど
以前は出来たってのは君の勘違いだろうな
フリー線というものの特徴を考えたら、グリッド吸着は出来なくて当然だし

>>543
Office(Excel)のディスク入れろ
それでもダメならOffice(Excel)再インストール
それでもダメならOSクリーンインストール後にOffice(Excel)再インストール

ディスク無い場合の対処法は、割れユーザーを助長しない為にも教えられないので
ディスク無くてもどうにか出来る方法教えてとかは無しの方向で

547 :名無しさん@そうだ選挙にいこう:2007/05/22(火) 18:11:53
XPのエクセル2000です。
Sheet2の数値をSheet3に貼り付けたいのですが、助けてください。

Sheet2の数値は、52項目の列数にデータが3行目以降につめて書かれています。
何も書き込まれていない行の1つ上までをコピーして、Sheet3に貼り付けたいです。
  Sub データ移行()
   Dim 列 As Long
   Dim 行 As Long
  Sheets("Sheet2").Select
    For 行 = 3 To 40
    For 列 = 1 To 52
   If Cells(行, 列) = "" Then
   Next 列
     If 行 <> 3 Then
        Sheets("Sheet3").Select
        'コピー
       Sheets("Sheet2").Select
       Rows(" 3 : 行 - 1").Select
       Selection.Copy
        '貼り付け
        Sheets("Sheet3").Select
        Rows("5:5").Select
        Selection.Insert Shift:=xlDown
        ActiveWindow.LargeScroll Down:=1
     End If
   Else
    Next 行
   End If
End Sub
  '実行すると列に対応するForがないと言われます。

548 :名無しさん@そうだ選挙にいこう:2007/05/22(火) 18:53:01
>>547
携帯からだからコードがよくわからんが
最後の「Next 行」の下の
「End If」じゃないの?


549 :547:2007/05/22(火) 19:05:49
>>548
レスありがとうございます。
具体的にEnd Ifをどのように変えれば・・・・・・?


550 :名無しさん@そうだ選挙にいこう:2007/05/22(火) 19:15:00
>549
文法が無茶苦茶・・・。

551 :548:2007/05/22(火) 19:16:38
>>549
どうってか…
携帯からみるときちと入れ子(ネスト)されてないんだけど?

forの外にIfがないのに
end ifが出ててない?

552 :名無しさん@そうだ選挙にいこう:2007/05/22(火) 19:27:27
>>547
Sub データ移行()
Dim 列 As Long
Dim 行 As Long
Sheets("Sheet2").Select
For 行 = 3 To 40
For 列 = 1 To 52
If 行 <> 3 Then
'やりたいこと
End If
Next 列
Next 行
End Sub

こんな感じ?

553 :547:2007/05/22(火) 19:34:43
みなさんありがとうございます。

もう一度、修正してきます。

554 :名無しさん@そうだ選挙にいこう:2007/05/22(火) 19:37:34
Forでまわしてんだから

>If 行 <> 3 Then
>End If

っていらなくね?


555 :名無しさん@そうだ選挙にいこう:2007/05/22(火) 19:57:00
オートフィルタは一カ所しか作れない?

556 :名無しさん@そうだ選挙にいこう:2007/05/22(火) 20:15:37
>>547
インデントをチキンと取らないと訳が分らなくなるぞ。

For 行 = 3 To 40
  For 列 = 1 To 52
    If Cells(行, 列) = "" Then
      If 行 <> 3 Then  '←不要
        Sheets("Sheet3").Select  '←不要
        Sheets("Sheet2").Select
        Rows(" 3 : 行 - 1").Select  '←" 3 : " & 行 - 1
        Selection.Copy
        Sheets("Sheet3").Select
        Rows("5:5").Select  '←上と1行にまとめる
        Selection.Insert Shift:=xlDown
        ActiveWindow.LargeScroll Down:=1
      End If  '←不要
    Else  '←不要
      Next 行  '←不要
    End If
  'ここに Next が無い
'ここにも Next が無い

557 :547:2007/05/22(火) 20:20:04
>>556

ありがとうございます。
手直ししてみます。


558 :名無しさん@そうだ選挙にいこう:2007/05/22(火) 22:27:37
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】演算子 含む

AN2が"A"or"B"を含む場合には○○をするといった構文を作りたいのですが、
どのような構文になるんでしょうか?

559 :名無しさん@そうだ選挙にいこう:2007/05/22(火) 22:39:25
【1 OSの種類         .】 Windows XP Home
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel 時間 合計

Excel2007の97-2003形式のファイルで作業してまふ。
機械の運転時間合計を計算したいのですが・・・。
例えば、10000時間+110時間の単純な和算ですが出来ません。
セル書式設定は [h]:mm になっているのですが、
数式バーには 1900/1/6 10:30 のような西暦表示になっています。
10000時間っていうのが、Excelでは認識されていないのでしょうか?



560 :名無しさん@そうだ選挙にいこう:2007/05/22(火) 22:48:57
>>558
If InStr(AN2,"A") > 0 or InStr(AN2,"B") > 0 Then
'やりたいこと
End If
とか

If AN2 Like "*[AB]*" Then
'やりたいこと
End If
とか

561 :名無しさん@そうだ選挙にいこう:2007/05/22(火) 22:52:47
>>559
時間も日付もシリアル値という同一の表現で表しているExcelの都合でそうなってるのだと思います
計算結果はあってると思いますけどどうでしょう?

562 :名無しさん@そうだ選挙にいこう:2007/05/22(火) 23:13:32
>>558 チョット不細工だな・・・。
=IF(AND(ISERROR(SEARCH("a",AN2,1)),ISERROR(SEARCH("b",AN2,1))),"無い","在る")

563 :533:2007/05/22(火) 23:15:09
遅くなりましたがupしたので見ていただけますでしょうか?

ttp://www.uploda.org/uporg819433.xls.html
コメントに「Excel総合相談所 56の>>533です」とあるファイルです。passは無しです。




564 :名無しさん@そうだ選挙にいこう:2007/05/22(火) 23:20:55
丸投げうぜえ

565 :533:2007/05/22(火) 23:32:30
ttp://www.uploda.org/uporg819460.xls.html

すいません、式がコピー出来てなかったので再upさせてもらいました。
次のは計算式も説明も書いてありますので、何卒よろしくお願いします。



566 :名無しさん@そうだ選挙にいこう:2007/05/22(火) 23:44:50
>>565
D1=IF($C$2:$C2<>0,C2/B2,"")
E1=IF($C$2:$C2<>0,SUM($C$2:$C2)/SUM($B$2:$B2),"")
E25=SUM(B2:INDIRECT("b"&(COUNT($C$2:$C$24))+1))-SUM($C$2:$C$24)
でどうだ?

567 :名無しさん@そうだ選挙にいこう:2007/05/22(火) 23:48:18
>>565
>>564
E25=SUM($C$2:$C$24)-SUM(B2:INDIRECT("b"&(COUNT($C$2:$C$24))+1))
に訂正

568 :名無しさん@そうだ選挙にいこう:2007/05/22(火) 23:54:15
>>539に答え書いてあんじゃん

最初の質問と範囲が違うから訂正するとこんな感じか?
=SUM(OFFSET(C2,0,0,COUNTA(C2:C24),1))-SUM(OFFSET(B2,0,0,COUNTA(C2:C24),1))
>>567でもOKっぽいけど

せっかくレスくれてんだから試せばいいのに。

569 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 00:11:41
ごまかし手法で試したが上手くいかないのでお助け
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 凡例 順序、凡例 順番

データ系列Aとデータ系列Bがあって、AはY主軸、BはY第軸、X軸の項目は同一
Aは折れ線(または散布図)、Bは棒(縦)というグラフを作成したいのだけど
凡例がグラフの優先表示順序になってしまい、上からBの凡例、Aの凡例となってしまう

オートシェイプ等無しで、どうにかして凡例の順序をA、Bと並べたいのだけど
どうにかなる手立てはないでしょうか。

570 :569:2007/05/23(水) 00:19:29
イメージとしてはこんな感じ
http://www.uploda.org/uporg819554.jpg

571 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 00:26:40
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 NO
【4 VBAでの回答の可否】 YES
【5 検索キーワード     】 セル 選択

セルの上にオートシェイプ等を置くとその下のセルがうまく選択できません。
これをショートカットキーか何かを押しながらだと、下のセルを選択できるといったことはないでしょうか?

いまは隣のセルを選択して、カーソルキーで移動させています・・・

572 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 02:36:29
Excel2003を使っています。
計算式で出た値の小数点以下を切り捨てしたいのですが、
どうすればいいのでしょうか?
そのままにしていると四捨五入されてしまいます。
(もうシートに数が入力されてしまっているので・・・)

573 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 02:42:33
>>572
マルチは止めようね。
アッチのスレで答え貰ってるヤン。

574 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 02:47:26
>>573
すいまそん
明日の会議にもって行きたい資料のデーターを作成中のため、
めっちゃ焦っているのです・・・


575 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 08:36:37
>>574
そんな個人の事情が人に迷惑をかけてもいい理由になるのかい?

576 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 10:39:10
Excel2002です。
ショートカットキーが思い出せず、検索してもヘルプを見ても
いまいちわかりません。

検索しながらデータをいじりたいのですが、
途中でマウスを使いたくありません。
検索ウィンドウからデータの方にショートカットで移動するには
どうしたらいいんでしたっけ・・・どなたか教えてください。


577 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 10:59:46
[ctrl]+[f]かな

578 :576:2007/05/23(水) 11:04:38
>577
わかりにくくてすいません。検索ウィンドウの出し方ではなく、
検索ウィンドウが出ている状態で、マウス無しで
データと検索ウィンドウを行き来したいんです。

579 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 11:07:26
Alt+Tab と Alt+Shift+Tab
で、検索ウィンドウとワークシートを行ったり来たり出来る
当然Excel以外のウィンドウも切り替え対象になるけど

Ctrl+F と Esc
で、検索ウィンドウを出したり消したり出来る

580 :576:2007/05/23(水) 11:12:34
>579
なるほど。ほかのアプリ落としときゃいいのか。
ありがとうございました!!

581 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 11:25:28
>>575
性格悪いなあ〜。別にいいじゃないか。

582 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 11:44:03
Excel2007で、選択した範囲のセルの色が薄くて、選択したかどうか分らないんですけど…

何か解決方法ありませんか?

583 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 12:05:49
A2のセルの中の任意の数字(例1000)をマクロ内の変数Int_Aに代入したいのですが
どのようにすればよいのでしょうか?
マクロの記録からA2の数字をコピーすると
Range("A2").Select
ActiveCell.FormulaR1C1 = "1000"
というように1000というように一意に決まってしまいます。
これを
Range("A2").Select
ActiveCell.FormulaR1C1 = "A2"
Int_A = ActiveCell.FormulaR1C1
のように書きたいのですが。どなたかお願い致します。

584 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 12:26:38
Int_A = range("A").value

じゃいかんの?

585 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 12:33:18
>>581
質問者本人乙
(どうせ口先では否定するだろうけど)

586 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 13:10:51
>>581
>>3

587 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 14:19:51
>>569
似たような事やったことあるが無理
仕様上グラフ内での表示面積が大きい種類が凡例上位に来る

面、棒、線、散布 みたいな感じ

588 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 16:52:35
Excel2003で、ハイパーリンクを設定した文字の上に(アクセスするのではなく)
カーソルをもっていくと文字の色が変わるようにしたいんですが。
もしできるようでしたら教えてください。

589 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 19:25:47
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 いいえ
【5 検索キーワード     】 オートシェイプ

オートシェイプで円や線を書くと、2つめ書くのにいちいちもう一度選択し直さなければなりません。
繰り返して同じオートシェイプを使うのに、何かショートカットキーはありませんか?

590 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 20:18:46
ここでいいのかわかりませんが質問します。
Excelに代わるソフトを探しています。
Excelの行数(256?)の制限がうっとうしいのです。
512行程度使えるもので、多少の計算ができるものあればなんでもいいのですが、
ご紹介いただけますでしょうか?
そんなソフトがないならないの助言でも結構です。


591 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 20:28:17
エクセルの行数が256って、いつのの話?

592 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 20:29:47
>>590
普通につかえるし、列の間違いなら2007使え

593 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 20:42:21
>>590
???Excel2000でさえ65536行も使えるというのに・・・。

594 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 20:45:54
590です。

列の間違いでした。現在2003を使っています。
2007ですね。

595 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 21:07:24
>>589
コピペしたらダメなん?

596 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 21:28:50
>>589
ヒント:ダブルクリック

597 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 21:33:00
>>590
うちの会社は見積もりにExcel2003を使っているけど、セルへの代入は
VBAを使って記述してるよ。何段にも表を下に重ねていけば横はそんなに
いらないしな。いざとあればページを増やせばいいし。

598 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 21:42:51
【1 OSの種類 .】 WindowsXP   【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい 【4 VBAでの回答の可否】 否
【5 検索キーワード     】 「excel 初心者」「excel オートフィルタ 結合」

すいません。下記のような、回答者の名前つきのQ&Aがありまして
「回答者」の行は、「Q」が入っている行と「A」が入っている行を結合してあります。
(A2とA3、A4とA5、A6とA7・・・がそれぞれ結合してあります)
    A       B      C
1│回答者  │     │質問・回答内容
 ├────┼────┼──────┼
2│田中   │Q     │今何時?  │
 │      ├────┼──────┼
3│      │A     │5時です    │
 ├────┼────┼──────┼
4│佐藤   │Q     │何する?    │
 │      ├────┼──────┼
5│      │A     │何も。    │
 ├────┼────┼──────┼
6│田中   │Q     │いくら?    │
 │      ├────┼──────┼
7│      │A     │200円です │
 ├────┼────┼──────┼
この時、「回答者」でオートフィルタをかけて「田中」を指定してもQの行だけが出てきてしまいます。
    A       B      C
1│回答者  │     │質問・回答内容
 ├────┼────┼──────┼
2│田中   │Q     │今何時?  │
 ├────┼────┼──────┼
6│田中   │Q     │いくら?    │
 │      ├────┼──────┼
「田中」を指定したときに、田中のQ&Aを両方表示できる方法はありませんでしょうか?

599 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 21:59:08
>>598
実現したい目的に対する表組みの設計がそもそも間違えてないか?
そっちの改善を検討した方がいい。

例えば

A列:回答者
B列:Q
C列:A

とするとか。


600 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 22:04:38
うんうん、【閲覧表作成】の思考回路で【計算表作成】をしてるよね
表だけならワープロでもCADでもDrawソフトでも書けるのに
なぜ表計算ソフトというものが存在し、これほど多く使われているのか考えてみよう

601 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 22:13:11
確かにそうですね・・・一番最初にこのフォーマットを作った人を恨みます。
(私は前任からこの表を引き継いだだけなので、さっさと作り変えます)

一応、対処法は自分で思いついたので自己レスしておきます。

D2に「=A2」を入力して一番下までオートフィル、で、D列でオートフィルタをかける


602 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 23:11:38
すいません
人の作った表をマウスでクリクリスクロールさせてると、
ある行に来たところで行番号と列記号の部分が
ヒュッっと細くというか小さくなることがあるんだけど
これは何だかわかりますか?

困ってるということではないんですが、
いつも気になってます。

603 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 23:16:36
590です。

>>597
今回の場合、横をかなり使うから問題なわけでして。
別シートにすればいいのだが、やりたいことは”昇順に並び替え”とか。
これについては、”すべてのシートを選択”しても
”昇順に並び替え”の機能を使うことができない。
これができれば512列もいらないのだが。

ちなみに2007は16000列(100万行)まで使えるようです。

604 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 23:18:51
>>603
Kingsoft Office

605 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 23:48:20
誰か教えて下さい
小数点のだしかたなんですが
例えば
1857
1525
5263
と打ってセルをまとめて
小数点をそろえて
185.7
152.5
526.3
な感じにする事はできますか?
やり方が解りません

606 :名無しさん@そうだ選挙にいこう:2007/05/23(水) 23:51:16
>多少の計算ができるものあればなんでもいい

>やりたいことは”昇順に並び替え”とか

これを条件の後出し といいます。

607 :名無しさん@そうだ選挙にいこう:2007/05/24(木) 00:38:10
>>605たとえば・・・
   A   B
1 1857  10
2 1525  10
3 5263  10

B列(の必要範囲)に「10」を入力
B列(の必要範囲)を選択⇒コピー
A列(の必要範囲)を選択⇒編集⇒形式を選択して貼り付け⇒貼り付け「すべて」と演算「除算」をチェック⇒OK
・・・とすると

   A   B
1 185.7  10
2 152.5  10
3 526.3  10

ってな感じになるからB列を削除する。

608 :名無しさん@そうだ選挙にいこう:2007/05/24(木) 00:51:26

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

イベントマクロが実行されるタイミング等に関する質問をさせてください。

セルに値を入力するとシートイベントマクロが実行されますが、

1.セルをアクティブ(キャレットが出ている状態)にして、何も入力せずにエンターを押しても
 イベントマクロが実行されます。
2.また、値のクリア等の処理を行っても実行されます。

これはエクセルの仕様だと思いますが、マクロを用いて上の1.2.の場合のみ
イベントマクロを実行しないようにする方法がもしあれば、教えてください。
どうぞよろしくお願いします。

609 :名無しさん@そうだ選挙にいこう:2007/05/24(木) 01:14:13
>>604
Microsoft Office 2003と同じ仕様で出来ない。
が、Kingsoft Officeに感心した。

610 :名無しさん@そうだ選挙にいこう:2007/05/24(木) 01:47:24
>>608
Intersect

611 :名無しさん@そうだ選挙にいこう:2007/05/24(木) 01:53:00
>>607さん

出来ましたo(^-^)o
ありがとうございました

612 :名無しさん@そうだ選挙にいこう:2007/05/24(木) 10:19:12
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル 計算 の時だけ

[A:1]に入力した品物の単価を[B:1]に表示させて[C:1]に個数を入力し、
[B:1]の値と[C:1]の数字の計算結果を[D:1]に表示させてるのですが、
[A:1]に入力した文字が品物以外の物で単価がない時、[B:1]・[D:1]に何も表示させない方法ってありますか?


[A:1]はドロップダウンリストから選択
[B:1]=IF(A1="","",(VLOOKUP(A1,C60:D108,2,0)))
[C:1]は直接入力
[D:1]=IF(COUNT(B1:D1)=0,"",SUM(B1*C1))

これだと[A:1]が品物以外の場合、[B:1]・[D:1]に0と表示されています。

613 :612:2007/05/24(木) 10:21:22
○ [D:1]=IF(COUNT(B1:C1)=0,"",SUM(B1*C1))
× [D:1]=IF(COUNT(B1:D1)=0,"",SUM(B1*C1))
でした。。。

614 :名無しさん@そうだ選挙にいこう:2007/05/24(木) 11:19:53
=IF(B1*C1=0,"",B1*C1)

615 :612:2007/05/24(木) 11:30:50
>>614
なるほど・・・。sumは簡単な計算なら削ったりもできるんですね。
ありがとです。



616 :名無しさん@そうだ選挙にいこう:2007/05/24(木) 11:40:17
>>612
A列はリスト以外入力できないようにしておけばOK
B1にゼロが出るのはリストにある品物で表に単価が入って無い物だけだと思うけど・・・一応
B1=IF(OR(VLOOKUP(A1,$C$60:$D$108,2,0)=0,A1=""),"",(VLOOKUP(A1,$C$60:$D$108,2,0)))
D1=IF(SUM(B1)*C1=0,"",B1*C1)
    ↑SUMがあるのはB1=""の場合にB1*C1をやると#VALUE!がでるハズなので予防策。

617 :612:2007/05/24(木) 13:46:28
できました!
ありがとです。

618 :名無しさん@そうだ選挙にいこう:2007/05/24(木) 13:55:08
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

初めまして、ショートカットキー(?)について質問させてください。

連続して入力されている縦列で「Alt」+「↓」を押したときに、そのセルまでの
入力データがリスト化されてたものが表示されます。
ですが、このときに途中で空白セルがあるとそこでリストは途切れるみたいです。
これを回避したいのですがどのような方法があるでしょうか?

空白セルに「’」や「スペースを入力する」という方法は無しでお願いします。


これから出勤しますのでご返事は深夜になると思います。
分かりにくい文章で申し訳ありませんが、よろしくお願いします。

619 :618:2007/05/24(木) 14:01:07
すいません、書き忘れてました。

「入力規則」でリスト化したものを「Alt」+「↓」で表示させるのではなく、
あくまでもそれまでのセルに入力したものをリスト化させる、ということでお願いします。


620 :名無しさん@そうだ選挙にいこう:2007/05/24(木) 14:01:42
>>618
無理

621 :名無しさん@そうだ選挙にいこう:2007/05/24(木) 16:01:27
【1 OSの種類         .】 WinXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

セルに入力した数値をある桁数で強制的に切り捨てしたいのですが
関数を使わず、入力した元のデータ自体も切り捨てるにはどうすりゃいいんでしょう?

ex.
「0.12345」と入力すると、セルの表示も数式内も「0.123」になる

622 :621:2007/05/24(木) 16:43:11
っと、自己解決した

ツール→オプション→計算方法→表示桁数で計算する
だった

623 :名無しさん@そうだ選挙にいこう:2007/05/24(木) 19:38:30
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

A列に順番に番号が入っている状態でB列にA列の値を引用した文をつくりたいのですが、B列にどんな書き方をすれば良いのか分かりません。
具体的には下のようなB列をつくりたいのですが、うまくいきません

A列  |  B列
一郎  |わたしは一郎です
裕子  |わたしは裕子です
・       ・
・       ・    (以下延々とデータが続く)

624 :名無しさん@そうだ選挙にいこう:2007/05/24(木) 19:45:00
自己解決は目出たいが、ちゃんと【切捨て】になっているんだらうね。

625 :名無しさん@そうだ選挙にいこう:2007/05/24(木) 19:49:12
例題を元に

一郎さんが1行目なら
="わたしは"&A1&"です"

であとはコピーすればおk?

文字の連結は&を使用


626 :名無しさん@そうだ選挙にいこう:2007/05/24(木) 19:51:23
>>625
できました!ありがとうございました
VBAでは見慣れた”や&でしたが、普通のシートで使うことを思いつきませんでした・・・

627 :名無しさん@そうだ選挙にいこう:2007/05/24(木) 23:05:55
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 ピボットテーブル グループ化

最近使ってないファイルを整理(思い切って削除)するため、
各ファイルの参照日と更新日を調べています。
 A列:ファイル名 B列:直近の参照日付 C列:直近の更新日付
さらに、そもそもディレクトリ自体使われてるかどうかの目安として
「最近のアクセス時期」をまとめる必要ができました。

D列には「最近使った日」の目安として
 =MAX(B1,C1)
(1行目のとき)としました。
最近のアクセス時期をまとめる分析のため、
 列:指定なし 行:D列 値:A列(データの個数)
というピボットテーブルを作りました。
ここで、ピボットテーブルの行を月ごとにまとめて
 5月中に使ったファイルは○個、最近使ったのが4月のファイルは○個、3月のは……
としたいのですが、「グループ化」のピボットグラフメニューで月ごととかそういう選択ウィンドウが
開きません。
関数の戻り値はピボットテーブルにとって日付と解釈されない、と言うことなのでしょうか?
どうにかして日付として解釈させる方法はありませんか?

628 :名無しさん@そうだ選挙にいこう:2007/05/24(木) 23:15:02
>最近使ってないファイルを整理(思い切って削除)するため、

に対して、やってることの大半が無駄な点は気にしないのか。

629 :名無しさん@そうだ選挙にいこう:2007/05/24(木) 23:23:34
フォルダを詳細表示にして日付順に並び替えれば使ってないファイルがフォルダの中で一箇所に集まると思うのは俺だけか?

630 :名無しさん@そうだ選挙にいこう:2007/05/24(木) 23:24:02
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

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

12
33
45
92
43
21
 ・
 ・
 ・

こんな感じで並んでる、ある列の各データの対数(LN)をとって出力させたいんですが、
これを一気に計算させる方法ってないでしょうか?
今までは一つ一つの項に関数を手打ちしてました。助けてください。

631 :名無しさん@そうだ選挙にいこう:2007/05/24(木) 23:37:05
>>629
それ以前に、Explorerのファイル検索で、ファイル更新日や
アクセス日を条件に全ドライブ検索をすれば良いだけの話。

632 :618:2007/05/24(木) 23:50:53
会社で色々試してましたら自己解決致しました。
お手数おかけしました。

633 :名無しさん@そうだ選挙にいこう:2007/05/25(金) 00:32:42
ブック単価表にワークシートaがあり、A列に品名、B列に単価がはいり
ブック売上票にワークシートbがあり、当日売上のデータがA列に品名、B列に個数がはいっているとき、
ブック売上票のC列に対応する単価を表示させたいのですが、findを使うだろうというぐらいしかわからないこと、ファイル関係の表示方法もわからないので、vba丸投げでお願いします。投稿は深夜となりましたが日中に相手にしてください。


634 :名無しさん@そうだ選挙にいこう:2007/05/25(金) 00:42:44
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】?
【4 VBAでの回答の可否】?
【5 検索キーワード     】折れ線グラフ(?)


折れ線グラフの作り方について、質問です。

ひとつの データは、調査年度が1978年から5年ごと。
もうひとつのデータは、調査年度が1980年から5年ごと。

これを、ひとつのグラフのなかに納めることはできますでしょうか?
よろしくお願いいたします。



635 :630:2007/05/25(金) 00:45:34
解決しました。ありがとうございました。

636 :名無しさん@そうだ選挙にいこう:2007/05/25(金) 00:48:04
>>634
散布図

637 :名無しさん@そうだ選挙にいこう:2007/05/25(金) 07:17:20
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 ユーロ? レート変換
単価×数量をユーロに変換して、3桁でカンマ区切りで少数点第2位までの
計算方法を教えて下さい。

638 :名無しさん@そうだ選挙にいこう:2007/05/25(金) 08:12:27
>>637
=ROUND(単価×数量×ユーロレート,2)
or
=TEXT(単価×数量×ユーロレート,”#,###.00”)

639 :名無しさん@そうだ選挙にいこう:2007/05/25(金) 08:22:02
>>635
誰も返答してくれなかったね。
あくびが出るほど単純な質問だったの、気づいた?

640 :名無しさん@そうだ選挙にいこう:2007/05/25(金) 10:21:08
一通り関数見てみましたが、それっぽい物が見つけられないので質問します。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可
【5 検索キーワード     】 Excel 関数 Count 文字数

セル内に「&」がいくつか任意の文字と一緒に入っている。
&の数を出すにはどうすればいいでしょうか。
A1の内容 top&no&id&&&
A2の内容 top&&&&&

641 :名無しさん@そうだ選挙にいこう:2007/05/25(金) 10:32:49
=LEN(A1)-LEN(SUBSTITUTE(A1,"&",))


642 :641:2007/05/25(金) 10:38:53
>>640
あたた、説明文入れるの忘れた

SUBSTITUTE関数で&を空白に置き換えてLEN関数で元の文字列の長さと比較する

643 :名無しさん@そうだ選挙にいこう:2007/05/25(金) 10:49:33
VBAとか使ってると
(A1,"&",)みたいな書き方は気持ち悪い
(A1,"&","")って書きたくなる
この方が可読性上がるし

644 :640:2007/05/25(金) 10:51:15
>>641
あ。なるほど〜〜!!!!
そういう考え方か・・・
ありがとうございました。

645 :名無しさん@そうだ選挙にいこう:2007/05/25(金) 11:16:58
>>627
現実的な回答は皆から寄せられているので、あくまで手法として
元データのD列って日付の書式設定してる?

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

Sub Macro3()
Workbooks.OpenText Filename:="C:\1.txt", StartRow:=1 _
, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array(4, 1), Array(10, 1 _
), Array(19, 1), Array(28, 1), Array(35, 1), Array(40, 1), Array(45, 1), Array(50, 1), Array _
(55, 1))
Columns("B:I").Select
Range("I1").Activate
Selection.SpecialCells(xlCellTypeConstants, 22).Select
Selection.EntireRow.Delete
End Sub

マクロの記録で上のを取り込んだのですが
Selection.EntireRow.Delete
ここの部分で
実行時エラー1004
重複する選択範囲に対してそのコマンドを使用することはできません
ってエラーが出ます。
記録したマクロをいじってなくてもエラーが出るのですが解決策はないですか?

やりたい操作としては
1.txtをスペース区切りで開いてB:Iの中で定数の数字以外を選んでその行全体を削除
です

647 :名無しさん@そうだ選挙にいこう:2007/05/25(金) 12:16:51
一時変数を使わない整数の入れ替えだと思うんだが
#define swap(a,b) a^=b^=a^=b
これってVBだとどう書くの?

648 :名無しさん@そうだ選挙にいこう:2007/05/25(金) 12:37:20
>>647
そういう関数作ればいい
当然関数の中では一時変数使うけど
>>647だって内部的に見えないところで一時変数使ってるわけだし

649 :名無しさん@そうだ選挙にいこう:2007/05/25(金) 14:34:37
>>647
なんかそれと意味は違うかも知らんけど

a = 5
b = 2

b = a + b
a = b - a
b = b - a


650 :名無しさん@そうだ選挙にいこう:2007/05/25(金) 15:00:33
突然すみません。
Excelの関数計算のところなんですが、IFの操作の仕方が全く分かりません。

成績を出すやつなんですが

100〜90(点数)の人数を出すためにはどうしたらいいのでしょうか?

651 :名無しさん@そうだ選挙にいこう:2007/05/25(金) 15:04:50
>>650
関数はSUMIF、条件は90以上

652 :名無しさん@そうだ選挙にいこう:2007/05/25(金) 15:47:17
あれれ?

countifで
=countif(範囲,">=90")
じゃないの?

653 :647:2007/05/25(金) 16:16:01
>>648
>>649みたいな方法を探してました。


654 :名無しさん@そうだ選挙にいこう:2007/05/25(金) 17:03:43
countifみたいね。

つ http://digipot.web.infoseek.co.jp/itiran01.html#countif

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

ActiveSheet.ChartObjects("グラフ 1").Activate
これのグラフ 1のところの1を変数にしたいのですがどう書いたらいいんですか?
("グラフ " & F & """)
とかいろいろ試したけどエラーになってしまいます

656 :名無しさん@そうだ選挙にいこう:2007/05/25(金) 18:54:45
634です。
>>636

ありがとうございました。御礼が遅れ、失礼いたしました。
さっそく、トライします。


657 :655:2007/05/25(金) 20:25:28
自己解決
ActiveSheet.ChartObjects("グラフ " & F).Activate
でいけました
変数は""で囲まなくてもよかったのですね

658 :627:2007/05/25(金) 21:19:13
>>645
D列の書式は、ユーザ定義で yyyy/mm/dd としていました。
日付書式から選択する必要がある、と言うことでしょうか。試してみます。

現実問題として作業手順がおかしい、という皆様の指摘も尤もです。
リモートファイルの一覧だけ渡された、とか
実は削除以外にもオプショナルなアクションを起こす場合がある、とか
余分な条件があったので、回りくどい手順をかける必要がありました。
余分な条件を省いて状況説明をしようとしたら、かえって不自然になってしまいました……。

659 :633:2007/05/25(金) 21:29:21
>>633です。どなたか、教えてください。よろしくお願いします。



660 :名無しさん@そうだ選挙にいこう:2007/05/25(金) 21:43:02
>>659
だれも相手にしてくれないね。


vbaを使いたいの?
vlookupにしときなさい。悪いこと言わんから♥

普通、品名以外に品コードを使ったりするんだろうけど。



661 :名無しさん@そうだ選挙にいこう:2007/05/25(金) 21:49:29
>>660
そのやりかたじゃ、商品マスタの単価が変化した場合にエラーが起きる。
(過去の売上金額が現在の単価をベースに計算されちゃうから)

それを防ぐために、売上日ごとの単価情報を複製保持させておきたいと
いうことだろう。

俺も回答する気はないが。

662 :名無しさん@そうだ選挙にいこう:2007/05/25(金) 21:54:46
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel200
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】ウェーバー比 グラフ Excel

「ウェーバー比のグラフの作り方を教えてください。」

生物の授業で圧覚のデータを取りました。
基礎刺激量xと変化量yのデータは揃ったのですが
ここからウェーバー比のグラフを作らなければなりません。
ウェーバー比は、【y/x=(ある範囲で)一定】という意味だそうです。
ノートには
y=ax+b(ウェーバー比)、γ=0〜1(相関関数)
とメモしてあります。

グラフは、分布図の点の中に比例の直線が描かれているようなイメージになるようなのですが
エクセルでどう作ればいいのかわかりません。
授業ではマック+ロータスを使っていたようなのですが…エクセルでもできますよね?

実験自体よく理解してないかも知れず、意味不明な説明だったらごめんなさい。
脳内補完できる方、よろしくお願いいたします。


663 :名無しさん@そうだ選挙にいこう:2007/05/25(金) 22:00:39
データがそろったのなら範囲を選択してグラフウィザードで散布図を選んで終わりじゃないの?

664 :633:2007/05/25(金) 22:32:48
>>660 >>661 もちろん、実際には品コードもあります。品名も品コードも扱いは一緒だと思って設問にしましたが、型が異なるのに気づきました。
>>661 その通りです。
設定は一番いい方法と思ったのですが、私のようにVBA入門者レベルでは無理ですね。他の方法を含めて、土日で試行錯誤やってみます。
どうもです。


665 :662:2007/05/25(金) 23:01:39
>>663
散布図は作れたのですが、
直線の出し方が分かりません。
手書きで書き加えるのかなぁ…とも考えたのですが
意味もよく分かっておらず;

666 :661:2007/05/25(金) 23:55:57
>>664
1から作ったら苦労するだろう。
サンプルみたいなもので良ければ作ろうか?

667 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 00:04:57
【1 OSの種類         】 Win2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 その名前は正しくありません

「困ってる事象、やったこと」
名前の定義が削除できません。(エラー:その名前は正しくありません)
定義された名前は文字化けしているようで"・・・印"と表示されています。
Sub ClearAllNames()
 Dim objName As Name
 For Each objName In ActiveWorkbook.Names
  objName.Delete
 Next objName
End Sub
↑試しましたがうまくいきません(同様のエラー発生)。

「背景、解決したいこと」
社内で使いまわされたファイルのようで、かなりの名前が定義されて意味不明の
外部リンクが残っています。(ファイルを開くときに確認をなくしたい)
上のマクロできれいになるものあるのですが、エラーも多発します。
定義で使えない文字種であるケースが多いのですが、多くは手で削除できるのですが、上のケースはなんともなりません。
そもそも、なぜファイル作成者が意図しない名前定義がされるんでしょうか?
(社内的には図のリンク貼り付けを多用する傾向があります)
よろしくお願いします。


668 :633:2007/05/26(土) 00:12:36
>>661 さん、お願いします。
サンプルになるのを求めて、ずっと検索していましたがどうも合わないものしか見つかりませんでした。よろしくお願いします。


669 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 00:15:09
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 連続 データ 法則

皆様、お知恵をお貸し下さい。

BOOK1のA列に1,2,3,・・・・・・500までと連続したデータが入ってるのですが、
それをC列に1,1,1,2,2,2,3,3,3・・・・・・500,500,500,と3行ずつに一気に貼り付ける方法をお教え頂きたく書き込ませて頂きました。
何卒よろしくお願いいたします。

670 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 00:17:27
>>665
近似曲線のことか?
使い方はヘルプを参照してくれ

671 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 00:18:31
>>668
天麩羅使わない人はスルーがデフォらしいです。

ご愁傷様でした。

672 :662:2007/05/26(土) 00:18:44
度々失礼します。
今あちこち調べているのですが、
ttp://www.datamining.jp/jirei/j001_frame.htm
によると
『直線の式と相関係数を求めると』、書きたかったグラフができそうです。
…が、その意味が分かりません…
散布図から近似曲線(直線)を追加するのとも、違うのでしょうか。

673 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 00:45:24
新しく購入したPCに、Excel 2003をインストールしたのだが、
以前のExcel 2003の設定や環境をそのまま、持っていきたい。

バックアップすべき、ファイル、レジストリを教えてくれ。

674 :663:2007/05/26(土) 00:48:43
>>671
このスレにそんな原則はないよ。「できれば」(伝わり、回答しやすい、わかりやすいように)点プレを
使ってねと書いてある。これでも、伝えたいことを正確にするために、設定を単純化して伝わりやすくす
るのに数日かかった。点プレでxp 2003等書いても、この場合、スペースの無駄と思っただけ。

675 :633:2007/05/26(土) 00:52:11
前の633の間違い


676 :662:2007/05/26(土) 00:57:00
相関係数はCORREL関数で求められました(0〜1の範囲でした)。
しかしどうやらaとbの定数を求めなければならないようで?
近似曲線(線形近似)のオプションで表示した数式のab部分=定数ってことでいいのしょうか
なんだか数学できないっぷりを露呈してるだけな気が…

677 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 02:10:17
>>674
>>1
★4 質問テンプレ(雛形)は必須じゃないけど、
   OSやExcelのバージョン、VBAの可否など(下記テンプレ1〜4の情報)は『必須情報』

バージョンによって使える機能・関数・メソッドは異なります。
不要な情報ではありません。
お願いする立場なら、指摘には(間違ってると思っても)従うほうが良いのでは?

678 :677:2007/05/26(土) 02:11:40
>>674 文句だけ言うのは性に合わないので
Option Explicit
Public buf As Variant, tkrws As Long
Sub tanka_torikomi()
  Const tankafile = "C:\Users\kakui\Desktop\単価表.xls"
  Dim myrng As Range, i As Long
  Workbooks.Open Filename:=tankafile
  Set myrng = ActiveWorkbook.Sheets("a").Range("A1").CurrentRegion
  tkrws = myrng.Rows.Count: ReDim buf(tkrws, 2)
  buf = myrng: ActiveWindow.Close
End Sub
Sub tanka_syuturyoku()
Dim lc As Long, i As Long, mxlc As Long
  With ThisWorkbook.Sheets("b")
    mxlc = .Cells(1, 1).CurrentRegion.Rows.Count
    For lc = 1 To mxlc: For i = 1 To tkrws
      If .Cells(lc, 1).Value = buf(i, 1) Then
         .Cells(lc, 3).Value = buf(i, 2): Exit For
      End If
    Next i: Next lc: End With
End Sub



679 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 02:22:21
>>669
c列にこれを張る
=INDIRECT("A"&ROUNDUP(ROW()/3,0))

680 :669:2007/05/26(土) 03:19:42
>679
有り難うございます。。。感謝です。

ちなみに別シートに貼り付ける場合だと結構複雑な関数に為るのでしょうか?

681 :661:2007/05/26(土) 05:32:40
>>668
一眠りしてからサクっと作ってみた。
使い方は「売上票」シートの「使い方」シートを参照。

http://ddo-jp.ddo.jp/download.php?no=1370

ダウンロードキーは「123」

682 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 07:49:40
>>677
>お願いする立場なら、指摘には(間違ってると思っても)従うほうが良いのでは?
お前は囚人か?

683 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 07:59:39
正直、ここの回答者は呆れるほど低レベルな連中も多い。
上から目線で偉そうに受け答えしている奴らほど役に立たない。

そんな状況で
>お願いする立場なら、指摘には(間違ってると思っても)従うほうが良いのでは?

なんて意見を持ち出したら、オバカさん達が増長して、スレがだんだん腐っていく
だろうな。

むしろ、回答する側も読解力、思考力、問題解決能力を養う場だと考えて、
質問者からのフィードバックを真摯に受け止めた方がお互いに建設的じゃないかね。



684 :677:2007/05/26(土) 08:28:07
>>682-683
確かに従う必要のない指摘が大半ですね^^;
正しくは、
『万が一 自分のほうが間違ってた時印象が悪いので、(馬鹿な指摘だと思っても)反論する時は腰を低く』
ですかね

685 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 08:29:03
お願いする立場なら、指摘には(”自分では”間違ってると思っても)従うほうが良いのでは?
”間違ってる、という考え自体が間違ってることだってよくあることだし”

こういう補完をしたんだけど、違うのか?

686 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 08:30:56
リロード忘れたときに限って一拍遅れのレスになる、これは間違いなく孔明の罠

687 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 08:37:35
>>680
indirect は利用価値高いので、しっかり理解するために、ヘルプを見て自分で考えてみてください。
なお、
"A"&ROUNDUP(ROW()/3,0)は、”A1”の形でアドレスを文字列として取得しています。



688 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 09:19:50
この場合はINDIRECTよりもOFFSETの方がいいけどね
OFFSETは相対指定だから初心者には難しいのかな?

689 :661:2007/05/26(土) 09:24:51
>>668
さっきアップしたファイルには軽いバグがあったので修正版を再アップ。
こっちを使って。

http://ddo-jp.ddo.jp/download.php?no=1387

ダウンロードキーは相変わらず「123」

あと、同一ブック内に複数の売上票シートを持てるように改善を図った。
(シートの複製は手作業で)


690 :633:2007/05/26(土) 10:27:50
>>661さん、>>677さん 他の方もありがとう。
>>661さん ダウンロードさせてもらいました。最初のをDLするとき、DLマネージャーが起動しなかったことから
変だなと思いスキャン等していました。マクロウィルスが怖いのでDLするかどうか迷っていた最中に前のを削除され
たことがわかりました。DLは自己責任で行うものとわかっていますのでDLさせてもらいました。
私は無神論者ですが、他に言葉がないので、すみません。「貴方に神のご加護がありますように!」と感謝させてください。
これを機会に勉強に励みます。重ねて、ありがとう。


691 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 10:46:38
わたし関係ない者ですけどあなた、律儀な人ですね。
きっといい男でしょう。

692 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 10:55:13
【1 OSの種類         .】 WindowsXP home
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 書式 時間 エクセル


例えば 2,730:314:06:44:07 という数字を

2730年314日06時間44分07秒と表示するには書式をどのように設定すればよいでしょうか?

693 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 10:59:25
637です。
お礼を言うのが遅くなりましたが、
>>638さん どうもありがとうございます。

694 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 11:21:13
>>692
できません

695 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 12:17:52
>>689
関係ないけど見させてもらった。

あなたってカコイイね・・・。

696 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 12:26:15
2,730:314:06:44:07 は数字ではありません。

697 :633:2007/05/26(土) 12:52:57
>>661 さん 
私のレベルを見破って、完璧な説明と結果のものをありがとうございました。
とても、私が半年かけてもできないものです。

追記ですが、いろんな方に役立つと思います。最初のと違い、無制限のDL可とされたので自信も伺えます。
私はマクロウィルスのチェックはAVSで行いました。これは、無料ですが、有料ノートンのでも排除でき
なかったトロージャン・スパイウィルスを退治したものですので、ノーウィルスとしてDLも安心して行え
ます。
本当にありがとうごさいました。

698 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 13:39:11
【1 OSの種類         .】 WindowsXP SP1
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 どちらかというと否だけど、必要に応じて
【5 検索キーワード     】 excel 連続 印刷
Excelで特定のシートの一部のデータのみ書き換えて連続して印刷するにはどうすればよいのでしょうか?
具体的には、「生徒ID、生徒名、科目1、点数、科目2、点数・・・」となっているデータ用のシートと
あるセルに生徒IDを入力し、それをもとに先のシートからデータを取得して印刷用に体裁を整えた
出力用シートがあるファイルで、
出力用シートにて順繰りに全員分の成績表を印刷したいのです。
生徒IDは必ずしも連番ではなく、飛び飛びになっていたりするので、
データ用シートの生徒IDの列を1行目から順番に参照して印刷する、といったことは可能でしょうか?

以前VBAを本を参照しながらいじったことはありますが、
PHPと違ってどうにも複雑でてこずりました。
単純な記述であれば対応できるとは思いますが、どなたかアドバイスよろしくお願いします。

699 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 14:06:11
>>698
VBAを使えば順番印刷までできる。
1つ1つ手動で書き換えるのであれば、関数でも出来ないこともない。
エスパーでないのであなたの文面からではこれ以上のことは言えません。

700 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 14:52:37
>>692
対象文字列の書式(文字数)が一定なら、個々に抽出して文字を再構築すればできるが、汎用性はきわめて低いよ。
=LEFT(対象文字列,5)&"年"&MID(対象文字列,7,3)&"日"&MID(対象文字列,11,2)&"時間"&MID(対象文字列,14,2)&"分"&RIGHT(対象文字列,2)&"秒"

701 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 15:22:05
【1 OSの種類         .】 WindowsXp SP2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 「マクロ・ボタン・withevents・command・click」

印刷処理を行うコマンドボタンを7つ作りました。
(ツールボックスのボタンを使ったので、コントロールオブジェクト?)

1つのコマンドボタンで
この7つのボタンを順次クリックしていく処理を行わせたいです。

7つのボタンに記述したコードをすべてコピーして、
1つのボタンにすべて貼付ていけば事たりるのですが、
今後ボタン処理の変更があった時、手直し作業が重複してしまうので避けたいと思っています。

「マクロの記録」で調べようにもデザインモードになってしまうので処理の記録ができません。

どなたかお願いします。。

702 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 16:29:08
サブルーチン化するか呼ぶか

703 :701:2007/05/26(土) 17:44:59
>>702

ググってみました。
おかげで解決しました。
『Load』でOkですね。

「サブルーチン」は分からなかったのですが、
「呼ぶ」で「コントロール配列」とか繰り返し処理での「Load」という
キーワードが手に入りました。
多謝!

704 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 18:37:33
>>703
解決したんならもういいんだが一応

印刷サブルーチン{
  印刷処理Aを実行
  印刷処理Bを実行
  印刷処理Cを実行
   :
  印刷処理Gを実行
}

簡単に説明したらこんな感じ。
7つの処理を1セットにしちまうの

705 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 19:07:46
VBA覚えて日が浅いんだけどメインとかサブみたいに
プロシージャは分けて書いたほうがいいの?
今はひとつのプロシージャにずらーっと書いていってるんだけど
処理が重くなったりするのかね?

サブルーチンつながりで質問なんだけど変数に入ってる数値を
別のプロシージャの変数に渡す方法を教えてください


706 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 19:45:57
Sub test1()
dim a as integer

call test2(a)

end Sub

Sub test2(dim a as integer)



end Sub

707 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 20:46:13
むかしMSXでbasicをかじったんだけど、VBAには行番号がないのでびっくりしたな。

でもちゃんと機能するから、別に必要ないものだったんだなあ。

708 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 20:58:02
懐かしいな。
X68000のHu-BASICでは組みようでは行番号はあまり意味を成さなかったな。

思い出しついでに、X68000のSX-Windowシステムはデザインが秀逸だったな。
あの使い勝手も画期的だったし。

709 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 22:32:31
>>705
> プロシージャは分けて書いたほうがいいの?
一概に良い悪いってものじゃない。
分けるべき所、分けない方が良い所は、自分で判断できるようになるしかない。

> 処理が重くなったりするのかね?
一応プロシージャ分けない方が速い軽い。因みに同じ処理を100回繰り返す場合も、
実はループ使って3行で書くより、ずらずらと100行書いた方が速かったりするが
速いから良いコーディングだとは言えない。

>>706
> Sub test2(dim a as integer)
dim要らない、というか入れちゃダメ。

それとCallは使わない方が基準となるので、人に教える場合
特別Callを使う必要が無い処理では使わない方がいいよ。
test2 a
俺も自分だけで使う場合は、可視性向上のために不要でもCallで呼ぶことが多いけど。

710 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 22:44:24
【1 OSの種類         .】 Windows ビスタ
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 いいえ
【5 検索キーワード     】 excel

名簿を打ち込んだのですが、あいうえお順やローマ字順に並べ替える方法はありますか?

711 :名無しさん@そうだ選挙にいこう:2007/05/26(土) 23:12:05
>>710
> あいうえお順
作業列にフリガナ出して、その列で並び替え
フリガナの出し方はヘルプ参照。

> ローマ字順
Excel組み込みでそういう機能が無いから、たぶんVBA使わないと無理。
VBA使えば一応「漢字→ローマ字変換」も可能なので、フリガナと同じく
作業列にローマ字で書きだして並べ替えるだけだが。

2007は使ってないから、もしかしたらそういう機能付いたかも知れないけど。

712 :名無しさん@そうだ選挙にいこう:2007/05/27(日) 07:19:44
>>710
そんないい加減な質問の書き方で、的確な回答がもらえると思わない方がいい。


713 :名無しさん@そうだ選挙にいこう:2007/05/27(日) 08:04:53
>>705
メソッド分割はVBAに限った話じゃなく、どんな言語を使っていても
必ず検討が必要になる話題で、その考え方には、言語に依らない
共通的な指針がいくつもある。

VBAに限って言うと、設計思想に関する本は殆ど出ていない。
初心者向けの基本的なもの、中級者向けのやや高度なテク
ニック・ギミックを紹介するものばかりだ。

本当に使える知識として身につけたいなら、他の言語も一度
勉強してみるといいんじゃないかな。

ちなみに俺の場合、オブジェクト指向に関する勉強が
VBAの設計にも大いに役立った。


714 :名無しさん@そうだ選挙にいこう:2007/05/27(日) 10:06:10
【1 OSの種類         .】 WindowsXP SP2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

IE7で表示しているホームページの「1-2-3」という文字列をコピーして張り付けると勝手に「2001/2/3」と
日付になってしまいます。何か設定の問題でしょうか?

715 :名無しさん@そうだ選挙にいこう:2007/05/27(日) 10:18:33

書式の設定を文字列にすれ
以上

716 :名無しさん@そうだ選挙にいこう:2007/05/27(日) 16:15:29
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 条件付き書式

ある文字列からMIDで2ケタの数値を抽出してまして、
その数値が50以上の場合セルを赤色にしたいです。
条件付き書式はどう設定すればいいでしょうか?

717 :名無しさん@そうだ選挙にいこう:2007/05/27(日) 16:30:52
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 いいえ
【5 検索キーワード     】 excel

グラフでY軸を4つにしたいんですが、これは不可能なのでしょうか?

718 :716:2007/05/27(日) 16:38:36
自己解決しました。
失礼しました。

719 :名無しさん@そうだ選挙にいこう:2007/05/27(日) 20:08:57

【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 日付の範囲 指定 エクセル など

sumif の検索条件で、 2007/5/1 〜 2007/5/30 の 間の期間を
指定したいです。

2007/5/1以降であれば、
">=2007/5/1"
とやればいいことまでは分かりました。 

5月31日までを入れるにはどうしたらいいのでしょうか?

よろしくお願いします。

720 :名無しさん@そうだ選挙にいこう:2007/05/27(日) 20:29:28
>>719
=SUMIF(範囲,"<=5/31",合計範囲)-SUMIF(範囲,"<=4/30",合計範囲)

721 :名無しさん@そうだ選挙にいこう:2007/05/27(日) 20:31:00
2007/5/30までから2007/5/1以前を引く

722 :名無しさん@そうだ選挙にいこう:2007/05/27(日) 20:33:58
5/1以前を引いたらいかんと思うんだが…
それと、「5/31まで」な。

723 :名無しさん@そうだ選挙にいこう:2007/05/27(日) 21:21:54
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 作成者 削除

ファイルの作成者・所有者情報を削除したいのですが、どうすればよいでしょうか。
ファイルのアイコンを右クリック→プロパティを表示させても[全般]タブしかなく、
削除(もしくは変更)が出来ません。

シートの保存フォルダで[表示]→[詳細情報の設定]で所有者と作成者の表示にチェックを入れると
名前の確認は出来ます。
これを何とかしたいのです。

724 :名無しさん@そうだ選挙にいこう:2007/05/27(日) 21:25:24
↑Excel のファイル>プロパティ
から変更できる希ガス

725 :名無しさん@そうだ選挙にいこう:2007/05/27(日) 21:28:36
>>724
即レスありがとうございます。

それが出来ないんです〜
ファイル>プロパティだと空欄なんですが、
いざ保存フォルダで確認するとしっかり名前が入ってるんです。。。


726 :名無しさん@そうだ選挙にいこう:2007/05/27(日) 21:33:20
おかしいなぁ…
漏れはExcel2003だけど
Excel の[ファイル(F)]>プロパティで空欄にすると
しっかり反映されるのだが…

727 :名無しさん@そうだ選挙にいこう:2007/05/27(日) 21:40:52
>719
ちょっと強引だけど
{=SUM((範囲<=39232)*(範囲>=39203)*(合計範囲))}

728 :名無しさん@そうだ選挙にいこう:2007/05/27(日) 21:43:45
>>726
そうですよねぇ‥私もそうだと思っていました。
別のPC(←今家に無い)だとバージョンが2000で、もちろん変更できたので、
今問題のあるPCがバージョン2003だから変更できぬよう固定されてしまっているのか、
それともやり方が悪かったのか、わかりかねてしまいました。

本来は出来るんですね。
ありがとうございます。
会社でシートの複製などして対応したいと思います。

729 :名無しさん@そうだ選挙にいこう:2007/05/27(日) 21:45:10
>>725
全く関係ない文字を適当に入れて保存してみたら?

730 :名無しさん@そうだ選挙にいこう:2007/05/27(日) 21:46:11
>>728
これじゃだめ?

1.「ツール(T)」メニューから「オプション(O)...」をクリック。

 2.「オプション」ダイアログの「セキュリティ」タブをクリッ
   ク。

 3.「プライバシーに関するオプション」の「このファイルに保
   存された個人情報を削除する(R)」のチェックボックスにチ
   ェックを入れて、OKを押します。

 これで、このブックを保存すると、プロパティに含まれる個人情
 報などが削除されます。

ttp://homepage2.nifty.com/dimple1/Excel0511.htm

731 :名無しさん@そうだ選挙にいこう:2007/05/27(日) 21:49:54
>>725
エクスプローラー等でファイルを右クリックしてプロパティ見ていると思ふ。

対象のファイルを開いて「Alt」→「F」→「I」したら全般タブは無いよ

732 :725=728:2007/05/27(日) 22:03:05
>>730
無事に消えました!
ありがとうございます。

>>731
Alt→F→Iでは所有者情報がなくても、
保存先のフォルダ内のアイコンでは載っている、そういう状態でした。
なので質問した次第だったんです。
不思議ですよね‥。

733 :名無しさん@そうだ選挙にいこう:2007/05/27(日) 22:54:39
シート1の内容をシート2にコピーする際、
シート内の列幅や関数、データはコピーできますが
ページ設定の内容(余白など)がコピーできません

無理でしょうか?

734 :名無しさん@そうだ選挙にいこう:2007/05/27(日) 23:14:20
Excel (Office Professional 2003) WindowsXP SP2

=A2/B2 などと計算式を C2 に入れて、結果がセルに表示されますが、
その際、小数点以下を「切捨て」で表示させるにはどうしたらよいでしょうか?



735 :名無しさん@そうだ選挙にいこう:2007/05/27(日) 23:16:31
>>734
ROUNDDOWN関数

736 :名無しさん@そうだ選挙にいこう:2007/05/27(日) 23:20:18
セルの書式設定→表示形式「数値」→小数点以下の桁数「0」

737 :名無しさん@そうだ選挙にいこう:2007/05/27(日) 23:22:26
>>735 Thx!できますた!
>>736 それだと四捨五入になってしまいました。


738 :名無しさん@そうだ選挙にいこう:2007/05/27(日) 23:32:54
>>733
ちゃんとページ設定の内容もコピーされるぞ
シートをコピーしてるのではなく、全セルのコピーをしてないか?

左上にある行番号と列番号の交点部分をクリックして
全セル選択した状態でコピーし、別シートに貼り付けるのは
シート内容のコピーではなく全セルのコピーだぞ

シートのコピーはシートタブの右クリックメニューから
「移動またはコピー」でやるんだぞ
ページ設定とかは、セルではなくシートそのものに設定されてるんだから
セル内容だけコピーしたって反映されないのは当然だろ

739 :名無しさん@そうだ選挙にいこう:2007/05/27(日) 23:43:51
>>738
ありがとうございます!
まさしくおっしゃるとおりでした。

左上にある行番号と列番号の交点部分をクリックして
全セル選択した状態でコピーし、別シートに貼り付ける

これでコピーしてましたorz

740 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 00:12:12
VLOOKUPを使って、正しい数式のはずなのに何故か答えが「0」で返ってくるのは何故?

違うシートに参照用データをコピペして、IFISERRORもつかってやってるんだけど、
そんなのも原因じゃないよな?
偉い人教えて下さい…。

他のSUMとかでも0で答えが返ってきたりする。何故だ!?

741 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 00:17:39
ほぼ100%の確率であなたが間違っているからです

742 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 00:19:26
× 正しいはず、間違ってない
○ 間違いに気付いてない

743 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 00:22:06
そうなんですか…。

なんで「0」が返ってくるのでしょうか?
エラーは別の形で出てくるのでは?

744 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 00:24:53
おまいさんのExcelは1+1と1-1を間違ったら自動的に判断してエラーを返してくれるのかい?

745 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 00:31:51
参照列が漢字の筈なので、ゼロが返ってきたりするわけはないと思ったんですが…。

「表示されない」列も、参照列の数に入るんですかね?(VLOOKUPの最後に入力するとこ)
「D」を表示しない設定の場合でも、E列から探す場合は左から4番目の「4」ではなく「5」にするとか?

746 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 00:54:56
>>745
非表示列も列数に含まれたはず。

747 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 01:03:55
>>746
そうなんですね〜。
でもそれならそれでずれた先のセルが参照される筈なのではないのでしょうか?
何故ゼロになるんでしょう。

748 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 01:24:39
何故かは君がどういう間違いをしてるのかブツを見ないとわかんねーよ
ブックをうpする気が無いなら、書き込みやめて一人で悩んでてくれ
エスパー能力者にしか解決できない問題を延々と投げかけられても困る

749 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 01:29:43
>>748
そうですね、UP出来ないんで独りで悩んでみますね。
みなさん感謝です。

750 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 01:34:20
>>749
次からは、思いこみと独り言でスレを汚さないようにしてくれ。

751 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 02:14:46
セルにURLが書かれていて、HTMLの<title>から</title>までの間の文字列を取得して、
そのURLの1つ横のセルに入力するマクロを教えてください。

752 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 02:27:20
>>751
スレ違い

753 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 02:39:49
おちんちんおっき

754 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 08:40:37
>>752
スレ違いってことはないだろう。VBAでWeb上のHTMLを取得して
<title>の中身を取得する。れっきとしたExcelの質問だ。

まぁ、やり方分からないので回答しないけど。

755 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 09:09:19
>>754
ヒント:>>3★VBAについて

任意のURLにあるHTMLのtitleタグの内容を取得する部分は
どう考えてもExcel関係ないので、その部分を関数として自力で作ったなら
その関数にセルのURL文字列を引数として与えて、戻り値を一つ右のセルに代入するという
Excelに関係有る部分だけは教えてもいいけどね

756 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 13:13:18
windows xp、excel2003でバーコードを使って入力をしてデータを自動的に引き出すデータベースを作りたいと思っています。

vlookupで手入力で数字を打ち込めばデータが呼び出されるところまでは作れました。
あと、バーコードの部分がよくわかりません。検索してみると、excel2000ではフォローしていたようですが、
2003ではヘルプを検索してもそれにあたる項目がないようです。

バーコードとexcelについて詳しくわかるサイトなど、ありませんでしょうか。

757 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 13:29:30
>>756
二行目でバーコードから検索するという目的を達成しているように思う
何をしたいのかわからない


758 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 13:33:20
>>757
使うのはエクセルのことをよく知らないおばちゃんだったりするので、
マクロと組み合わせてピッと通せば時間、種類が記録されていく・・・とこういう形をとりたいわけです。

自分でやるなら、もちろん手入力でいいわけですけども・・・。

759 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 13:37:32
>>758
「ピッと通せば」というのがレジにあるような読み取り機のことなら
その機械が絡んでくるので、その機械のメーカーに聞いた方が良いんじゃないかな?

760 :633:2007/05/28(月) 19:31:06
質問でないけれど、書かせてもらいたい。マクロ、VBAを勉強したい、関心があるという
事務屋さんや学校の先生、その他数字をあたる人は >>681 さんがアップしてくれている
単価表と売上(個数・)額表のブックのをとりあえず、ダウンロードさせてもらっといて
損はしないと(土日に見ていない人も居ると思うので)。マクロウィルスの心配無用です。
先ほど見たら、ダウンロード数20件だった。

761 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 19:34:54
ふぁいるないよ?

762 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 20:00:42
Qさまに大木c出てるぞ

763 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 20:01:15
ごめん誤爆

764 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 20:48:01
>>760
丸投げで人に作らせおいて、マクロウイルスが云々と何度も書くのは>>681氏に失礼だと思うが。

765 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 21:06:14
うぜーどっちも消えろ

766 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 21:08:55
>>758
んなものをExcelで実現させようとしてるのは無理があるんじゃないか

767 :633:2007/05/28(月) 21:11:42
>>764
681さんに失礼があったら、お詫びする。その心配はもとよりしている。
が、ダウンロードする側からみると安全性を強調するのは必要で、セット。
お世話になったものが言うのが一番、伝わると思ってね。


768 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 21:22:32
そろそろ「自演乙」って言ってもいい頃か?

769 :681:2007/05/28(月) 21:29:16
>>767
個人的にはかなりシンプルで手のかかってないマクロだし、VBAを多少かじった人が見れば、
全然大したマクロでもないわけで。あんまり宣伝してもらうのも、逆に少し恥ずかしくもある。

けど、ずいぶん喜んでもらえたようで良かった。このマクロだけじゃできることなんてかなり
限られるから、自分で作り込めるくらいに勉強するといいかもね。

>>768
お好きにどうぞ。

770 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 21:37:43
DLできないのに何必死になってるんだ?

771 :681:2007/05/28(月) 21:52:11
何が悲しくて誰彼かまわず噛みついてるのか知らんが、こんな場末で人を貶して
憂さ晴らししているヒマがあったら、もう少し心にゆとりを持って生きられる工夫でも
したらどうかね。

まぁ、そろそろ周囲から煙たがられてるのかな。以降は名無しに徹するよ。

772 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 22:07:27
はじめまして。
Excel2007つかって初めてレポート書いています。

質問ですが、セルに12.20というように小数点以下の最後の桁にゼロを入力しても表示されません。
表示されるようにするにはどうしたらいいですか?

まったく初心者でごめんなさい。

773 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 22:08:16
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 「検索 マクロ」「active」「Find」

シートの中で検索をかけて、「引っかかったセルの、行全体を指定」
というのは、どういう記述をすればよいのでしょうか?

たとえば
    A      B         C       D         E
1  No.      氏名     生年月日   住所      電話番号
2   1    西村 博之   1976/04/25  東京都○○  ×××
3   2    坂本 金八   1954/03/16  福岡県○○  ×××

というシートが縦に続いている時

Cells.Find(What:="氏名", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, MatchByte:=False, SearchFormat:=False).Activate

と検索すると、B1が指定されますが、この時にColumns("B:B").Selectになるようにしたいのです。
(マクロ文は「マクロの記録」をそのまま引用していますので、余りよく意味はわかっていません・・・)

どなたか、よろしくお願いいたします。

774 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 22:09:41
>>770
今でも問題なく落とせるが?

775 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 22:11:04
>>772
セルの書式設定で数値にして、小数点以下の桁数を2にする

776 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 22:11:51
>>772

画面の上の方にハサミのマークとか「B」とか「I」とか並んでるでしょー。
その中の
 ← .0   .00
   .00  →.0
っていうマークの、矢印が左向いてる方を押せばいいのだよ。


画面上にそんなマークが無いって言うなら、
表示→ツールバー→書式設定で出てくる。


777 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 22:16:34
解決しました!
ありがとうございました。

学生寮住まいなもので、ネットにPC繋がれてなく、テンプレをコピペすることができませんでした。
大変失礼しました。


778 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 22:21:21
>>774
他の人は落とせるのか?
ファイルが存在しません。って出てDLできないんだが。

779 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 22:23:28
>>773
Dim str As String

733の選択するコード

str = ActiveCell.Address
str = Mid(str, 2, 1)
MsgBox str
Columns(str).Select

でいけた。コードきちゃないから直してね。

780 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 22:37:29
>>779
ありがとうございます!できました!
いろいろと応用ききそうなのでいじってみます!

781 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 22:54:32
複合参照で
A$9と
$A9の用に
$の位置の意味が
よくわかりません。
どなたか教えて下さい

782 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 23:00:15
>>781
絶対参照でググれ

783 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 23:02:07
$は楔と考えると。
$A$9 はAと9に楔を打ち込まれて動けない。
$A9 はAに楔を打ち込まれて数字は動く
A$9 は以下同文。


784 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 23:07:26
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 苦手
【4 VBAでの回答の可否】 否

日付が入ってるセルから日付をテキストにして抜き出したいのですが、どういう書き方をすればいいのでしょうか。
2007/5/28から20070528 のようなセルをつくってテキストファイルで利用したいのです。

書式をいじってYYMMDDにして値のみコピーしたり、RIGHT関数やMID関数を使ってもできませんでした・・・

785 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 23:09:58
783さん
ありがとうございました

786 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 23:16:55
>>784
A1に日付が入っているとすると
=TEXT(A1,"yyyymmdd")

787 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 23:25:53
>>786
ありがとうございました
いまいちTEXT関数の仕様が腑に落ちませんが勉強してみます

788 :名無しさん@そうだ選挙にいこう:2007/05/28(月) 23:27:09
>>778
>>689

789 :名無しさん@そうだ選挙にいこう:2007/05/29(火) 00:07:37
今度Excelのスペシャリストを受けようと思ってますが範囲がイマイチ解りません
関数の問題も出るんですか?

790 :名無しさん@そうだ選挙にいこう:2007/05/29(火) 00:08:52
>>789
MOSの公式サイト見てみたほうがいいですよ

791 :名無しさん@そうだ選挙にいこう:2007/05/29(火) 11:50:08
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可

同列内の数値に一括して、同じ数字を足す事はできますか?
例:A1〜A3まで1,2,3となっているのを全て+2して3,4,5に

以上、お願いします。

792 :名無しさん@そうだ選挙にいこう:2007/05/29(火) 12:23:42
>>791
B1〜B3に「2」を入れる。(AA1〜AA3でもOK つまり何処でもイイ)
B1〜B3を選択してコピーする。
A1〜A3を選択し編集⇒形式を選択して貼り付け(貼り付け:全て/演算:加算にチェック)⇒OK
B1〜B3を削除

テストシートで確認してちょ。

793 :名無しさん@そうだ選挙にいこう:2007/05/29(火) 13:17:34
>>792
3年以上使ってて形式を選択して貼り付けって項目すら今まで気づきませんでした。
基礎から勉強し直します。
ありがとうございました。

794 :名無しさん@そうだ選挙にいこう:2007/05/29(火) 14:06:55
コピー元は普通ひとつだろ、常識的に考えて、

795 :名無しさん@そうだ選挙にいこう:2007/05/29(火) 14:56:43
だから?

796 :名無しさん@そうだ選挙にいこう:2007/05/29(火) 15:20:17
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 COUNTIF、VLOOKUP、IF

シート1           シート2
  A   B   C       A   B   C   D   E
1 井上 木村 東京   1     東京 大阪 京都 福岡
2 加藤 伊東 大阪   2 伊東  0   3    2  13
3 加藤 井上 福岡   3 井上  1   0    0   0
4 木村 鈴木 東京   4 沖田  0   0    5   0
5 加藤 井上 大阪   5 加藤  0  20    14  27
6 山田 加藤 京都   6 木村  9  13    0   0

シート1に↑のように入力されたデータ(A列は本人、B列はその穴埋め)が
1000行程度あります。シート2には予め1行目とA列が入力済みで、
それぞれ誰が何処へ何回行ったかを表示させたいのですが、どのような
関数で式を書けば良いのでしょうか?よろしくお願いします。

797 :名無しさん@そうだ選挙にいこう:2007/05/29(火) 18:59:16
>796
countifが適当だと思う

798 :名無しさん@そうだ選挙にいこう:2007/05/29(火) 19:12:26
>>778
「ファイルが存在しません」ってなるね。
このあいだはたしかにダウンロードできたから、時間がたったら消えるんじゃないの?

799 :797:2007/05/29(火) 19:13:30
>796
ごめん駄目だ
こうしてくれ
sheet2のB2に=SUM(IF(Sheet1!$A$1:$A$6=Sheet2!$A2,IF(Sheet1!$C$1:$C$6=Sheet2!B$1,1,0)))
と入力してctrlとshift押しながらenter押してみて
あとはドラッグアンドドロップ

800 :名無しさん@そうだ選挙にいこう:2007/05/29(火) 19:22:04
>>791 の例で、A2の「2」をコピーして加算貼り付けすると
A2は当然「4」だけど、A3はその「4」が加算されるのな。

だから何?と聞かれても困るが

801 :633:2007/05/29(火) 19:45:00
>>778
折れが悪かったようだ。>>681のアドレスの分は削除されている。681さんが再アップ
してくれている
 >>689 からはいればDLできるよ。
前スレから見ているけれど、VBAに関するいくつかの質問の実回答例がそこにあったこと、
個々端々のでなく、組み立てを見ることができるというのも強力な推薦理由です。

折れは生涯学習版の方の長年の住民だよw 今回でフェードアウトします。
サンクス


802 :名無しさん@そうだ選挙にいこう:2007/05/29(火) 20:02:11
>>800
何処にA2をコピーすると書いてあるかな?
コピーする元はB列だから全部2だけど?
A列には加算して貼り付けるだけだから4を加算なんてしない。

A2をコピー元にすればキミの言うとおりになるのも解ってる。
B1に2を入れてからコピーしてA1〜A3を選択して加算すればコピー元が1ヶ所で良いのは解ってる。

もう一度レスを冷静に読んでは貰えないか??

803 :名無しさん@そうだ選挙にいこう:2007/05/29(火) 20:06:46

【1 OSの種類 .】 Win xp pro sp2
【2 Excelのバージョン  】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否 】 否
【5 検索キーワード     】if 重複・2重


C2へ
A2と同じ値が他のA列にあって、その行のE列が18であれば
その行のF列の値をコピー
と言うようにIF関数が2重になるような式は作れますか?
ググったのですが見つかりはするものの、応用の仕方がわかりませんでした

次に
Eの列に18があれば、その行を削除
と言うような関数はありますか?

よろしくお願いします。

804 :名無しさん@そうだ選挙にいこう:2007/05/29(火) 22:06:06
>>803
コピーや削除といった関数はありません

805 :名無しさん@そうだ選挙にいこう:2007/05/29(火) 22:10:21
関数は値を返す物であって、操作を行うものではないからな

806 :名無しさん@そうだ選挙にいこう:2007/05/29(火) 22:41:01
>>792
こんな使い方あったのね。
知らんかった。ありがトン

807 :803:2007/05/29(火) 22:58:23
>>804
>>805
レスありがとうございます、
削除は手動でがんばります
改めまして
C2に
A2と同じ値が他のA列にあって、その行のE列が18であれば
その行のF列の値を返す
という式を教えてください、


808 :名無しさん@そうだ選挙にいこう:2007/05/29(火) 23:03:14
すみません。ちょっと質問させて下さい。

ActiveCell.FormulaR1C1 = "=sheet2!R[変数]C[3]"

R1C1方式で、変数を入れるとエラーになります。
ならない方法教えてください。


809 :名無しさん@そうだ選挙にいこう:2007/05/29(火) 23:14:03
>>808
ActiveCell.FormulaR1C1 = "=sheet2!R[" & 変数 & "]C[3]"

810 :名無しさん@そうだ選挙にいこう:2007/05/29(火) 23:16:01
>>809
神様ありがとう。


811 :808:2007/05/29(火) 23:26:58
すみません、もう1回質問。

ActiveCell.FormulaR1C1 = "=sheet2!R[" & 変数 & "-" & 代数 & "]C[3]"

この場合はどうすれば・・・・


812 :名無しさん@そうだ選挙にいこう:2007/05/29(火) 23:33:52
>>811
意味ワカンネ

変数=3
代数=1
でR[2]C[3]にしたいって感じなら

ActiveCell.FormulaR1C1 = "=sheet2!R[" & 変数 - 代数 & "]C[3]"



813 :811:2007/05/29(火) 23:35:48
>>812
天子さま、ありがとうございました。

814 :名無しさん@そうだ選挙にいこう:2007/05/29(火) 23:50:27
>807
出来なくはない。ただし作業列を用意した方がいい
なぜならその条件と一致するセルが一つとは限らないからだ

例えばG3に=(A3=$A$2)*(E3=18)*F3とすれば抽出出来るから、これでガマンした方がいいだろう

一応これの応用でC2に{=sum((A3:A10=$A$2)*(E3:E10=18)*F3)}と入れれば
条件に合致するF列の値の"合計"を求める事はできるが、同一条件が複数あったら"合計"されちゃう。

815 :814:2007/05/29(火) 23:52:45
× {=sum((A3:A10=$A$2)*(E3:E10=18)*F3)}
○ {=sum((A3:A10=$A$2)*(E3:E10=18)*F3:F10)}

816 :803:2007/05/30(水) 00:15:21
>>815
レスありがとうございます
コピーして貼り付けたのですがうまくいきませんでした
参考にうPしました(丸投げになって申しわけありません)
http://ddo-jp.ddo.jp/download.php?no=1922
キー「5432」

817 :803:2007/05/30(水) 00:17:19
すみません
キーは「54321」でした
よろしくお願いします

818 :名無しさん@そうだ選挙にいこう:2007/05/30(水) 08:28:57
>>817=803
>807の説明とアップデータの内容が合ってない
何がしたいか想像するの面倒だから、
シートの項目名で説明やり直して

819 :名無しさん@そうだ選挙にいこう:2007/05/30(水) 08:30:55
{ }で囲ってある式は配列数式って意味だよ
実際には{ }以外をコピペして、Ctrl+Shift+Enterで確定する
するとExcelの数式バーでも{ }が付いた表示になる

ネストと並んで数式の基本中の基本

820 :名無しさん@そうだ選挙にいこう:2007/05/30(水) 09:50:46
【1 OSの種類 .】 Win xp
【2 Excelのバージョン  】 Excel2003
【3 VBAが使えるか    .】 ただいま勉強中

VBAの記述について質問です。
変数num を用意して、そこにrange("A1").mergearea でA1を含む結合セルの文字列を読み込みました。

これを if 式で if num<>"" のように表記すると「型が一致しません」とのエラーが出ます。
結合セルの文字列をC1 =A1 でコピーして同様の表記をしたところ、エラーは出ませんでした。

どうも結合セルの値を用いたことが原因らしいということはわかりましたが、そういうものなのでしょうか。
少し不便な気がするので、回避方法などありましたらご教授くださいませんか?


821 :名無しさん@そうだ選挙にいこう:2007/05/30(水) 10:31:58
>>820
結合セルは複数のセルの塊(rangeオブジェクト)だから型がちがう。
だからそのなかの先頭のセルの「値」を代入すればいいんじゃね?

range("A1").mergearea.cells(1).value

822 :名無しさん@そうだ選挙にいこう:2007/05/30(水) 10:35:55
>>820
エリアを返すので MergeArea(1) とするとか、そもそもMergeAreaをつけないとか

823 :名無しさん@そうだ選挙にいこう:2007/05/30(水) 13:58:31
Office2007を使ってるんですが
オートフォーマットが何処にあるか解りません
誰か教えて下さい

824 :名無しさん@そうだ選挙にいこう:2007/05/30(水) 15:43:29
>>823
[ホーム]タブの[スタイル]-[テーブルとして書式設定]がそれ

825 :名無しさん@そうだ選挙にいこう:2007/05/30(水) 15:43:32
>819の独り言が気持ち悪い

826 :名無しさん@そうだ選挙にいこう:2007/05/30(水) 15:44:56
【1 OSの種類 .】 Win xp
【2 Excelのバージョン  】 Excel2000
【3 VBAが使えるか    .】 ちょっと

標準モジュールでは、正常に動くのですが、Sheet2にコマンドボタンをつけて実行するとエラーになります。

Private Sub CommandButton1_Click()
変数 = 3
For ネックスト = 5 To 500
If Not IsError(Sheets("Sheet1").Cells(ネックスト, 12)) Then
If Sheets("Sheet1").Cells(ネックスト, 12) = "中" Then
Sheets("Sheet2").Cells(変数, 3) = Sheets("Sheet1").Cells(ネックスト, 1)
Sheets("Sheet2").Cells(変数, 4) = Sheets("Sheet1").Cells(ネックスト, 3)
変数 = 変数 + 1
Sheets("Sheet2").Cells(変数, 3) = Sheets("Sheet1").Cells(ネックスト, 9)
Sheets("Sheet1").Select
Cells(ネックスト, 9).Select  ' ←ここでエラーになります。
Selection.Copy
Sheets("Sheet2").Select
Cells(変数, 4).Select
ActiveSheet.Paste
変数 = 変数 + 1
End If
End If
Next


何故エラーになるか教えてください。


827 :796:2007/05/30(水) 16:03:18
>>799
ありがとう。出来ました!

828 :名無しさん@そうだ選挙にいこう:2007/05/30(水) 16:03:43
>>826
Private Sub CommandButton1_Click()
変数 = 3
For ネッッックスト = 5 To 500
If Not IsError(Sheets("Sheet1").Cells(ネッッックスト, 12)) Then
If Sheets("Sheet1").Cells(ネッッックスト, 12) = "中" Then
Sheets("Sheet2").Cells(変数, 3) = Sheets("Sheet1").Cells(ネッッックスト, 1)
Sheets("Sheet2").Cells(変数, 4) = Sheets("Sheet1").Cells(ネッッックスト, 3)
変数 = 変数 + 1
Sheets("Sheet2").Cells(変数, 3) = Sheets("Sheet1").Cells(ネッッックスト, 9)
Sheets("Sheet1").Cells(ネッッックスト, 9).Copy Sheets("Sheet2").Cells(変数, 4)
変数 = 変数 + 1
End If
End If
Next

みたいにselectを使わないで直接コピーしてみるとどうでしょ?


829 :796:2007/05/30(水) 16:14:44
B2=SUM((Sheet1!$A$1:$A$1000=Sheet2!$A2)*(Sheet1!$C$1:$C$1000=Sheet2!B$1))
Ctrl+Shift+Enterでもいいんですね。なるほど。

830 :名無しさん@そうだ選挙にいこう:2007/05/30(水) 16:30:07
>>828
レスさんくす。

早速確認したが、エラーになります。
Sheets("Sheet1").Cells(ネッッックスト, 9).Copy Sheets("Sheet2").Cells(変数, 4)
                             ↑この間は空白だけでいいんですよね?

831 :名無しさん@そうだ選挙にいこう:2007/05/30(水) 17:10:59
>>824さん
ありがとうございました。
ついでなんですが2003とは内容が大分違うんですか?

832 :名無しさん@そうだ選挙にいこう:2007/05/30(水) 17:19:37
>830
copyじゃなくて"="で良くね?

833 :826:2007/05/30(水) 17:27:03
>>832
=だと、セルの値がコピーされてしまう。
セルの数式がほしいのです。


834 :名無しさん@そうだ選挙にいこう:2007/05/30(水) 17:36:57
>833
確認してないけど
cells(a,b)に何も付けないとcells(a,b).valueと同じ意味になるんじゃないの
だから省略せずにcells(a,b).formulaとしてみたらどう?

835 :826:2007/05/30(水) 17:49:25
>>834
ありがとう。
数式コピーできました。

しかし、セルの背景色もコピーしたいんですが・・・・・

わがままですいません。
でもこれ勉強になりました。


836 :名無しさん@そうだ選挙にいこう:2007/05/30(水) 17:53:29
>>826
10〜15行目を↓に書替え

Sheets("Sheet1").Cells(ネックスト, 9).Copy
Sheets("Sheet2").Cells(変数, 4).Select
Paste

837 :826:2007/05/30(水) 18:10:12
>>836
ありがとうございます。
完璧にできました。



838 :名無しさん@そうだ選挙にいこう:2007/05/30(水) 18:53:03
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン  】 Excel2003
【3 VBAが使えるか    .】 僅かに
【4 VBAでの回答の可否 】 可能なら否
【5 検索キーワード     】 入力規則

入力規則の日付を設定したのですが
こうすると数式を受け付けてくれません

日付に関する数式や空白を受け付けるように
ある程度自由度を設けたい場合はどのように入力規則を設定したら良いでしょうか

839 :名無しさん@そうだ選挙にいこう:2007/05/30(水) 20:00:40
>>838
今の設定内容を書かなきゃ答えは遠いぞ

840 :名無しさん@そうだ選挙にいこう:2007/05/30(水) 20:14:23
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否【5 検索キーワード     】 SUMIF COUNTIF IF AND OR

基本的な事かもしれませんが、SUMIFの条件を複数設定することは可能なんでしょうか?
例えばA列に日付、B列に場所、C列に行動がズラーっと書いてあるとして、
「今日東京に行った人」の数=(A列が5/30で、かつB列に「東京」と入っている人数)を表示するためにはどういう式になるのでしょう
集計用にD列に全て「1」を入れたりしてみましたが、
SUMIFやCOUNTIFの式の中にANDやORを入れるやり方がわからず頓挫しました
どなたかわかる方おられますか?

841 :838:2007/05/30(水) 20:37:20
>839
今の設定は日付→次の値以上→1

とにかく日付を入力させたいので
自然数か空白か数式が入れば良いのですが
ユーザー設定で可能なのかも判らないし使い方も判ってないのです

>840
複数の条件で合計したい場合は配列数式ですよ

842 :名無しさん@そうだ選挙にいこう:2007/05/30(水) 21:32:25
>>838
ユーザー設定でがんばる

843 :名無しさん@そうだ選挙にいこう:2007/05/30(水) 21:56:13
>>838
データの入力規則→エラーメッセージ→スタイル
を『注意』か『情報』にしておく

844 :名無しさん@そうだ選挙にいこう:2007/05/30(水) 22:05:07
>825の独り言が気持ち悪いw



845 :名無しさん@そうだ選挙にいこう:2007/05/30(水) 22:08:02
>>819の独りよがりのレスは、確かに少し気持ち悪い

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

たとえば、ある列のデータのうち、0ではない値だけを取り出して、
順番に並べることはできるのでしょうか?

847 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 00:02:55
>>846
フィルターで0以外を選択した後に並び変えたら?

848 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 00:21:33
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】excel ファイル 挿入

会社で使用しているフォームに画像ファイルを挿入したいのですが
「挿入」→「図」と選択しても、その後の選択肢が選択できない状態になっているファイルがあります。

別のフォームではちゃんと挿入できるのですが
同じような操作で挿入するには、設定のどの部分を変更したらよいのでしょうか? 

849 :846:2007/05/31(木) 00:22:01
フィルタをかけ出てきたセルたちを、
自動に新たに行番号が飛び飛びにならないようにできないのでしょうか?

850 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 00:26:51
>>849
もう少し日本語を何とかしてくれ。
何が言いたいのかさっぱりワカラン

851 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 00:32:41
エクセルについての質問なのですが。
数値を入力して、自動的に秒数表示にするにはどうすれば良いのでしょうか?
たとえば98.4と入力すると1:38:4と表示させたいのですが。

PC初心者スレで質問したところ、関数を作らなければ駄目なのではと教えて頂いたのですが。

852 :846:2007/05/31(木) 00:34:26
>850
すみません。。。

たとえば、ある値(たとえばA3)から4つ加えたいとすると、
普通は=SUM(A3:INDIRECT("A"&ROW(A3)+4-1)) でできますが、
フィルターをかけた表でやると、行数が連続していないので、変な計算になってしまいます。
それを修正したいのですが、なにか方法はないでしょうか?

わざわざINDIRECTを使うのは、4という数字を自由に変えたいからです。

853 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 00:42:32
>>852
むりだとおもうよ
代わりに何か識別符号を付けてそちらで参照するとか

854 :846:2007/05/31(木) 00:46:09
わかりました。ありがとうございます。

855 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 00:48:39
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 付加
【5 検索キーワード     】 第2軸

http://up.spawn.jp/file/up23451.gif
このグラフの「高齢化率」「70歳以上人口割合」の
点の位置がおかしいんですが何か解決策はありますか?

856 :853:2007/05/31(木) 00:56:50
すこし変なこと書いた

857 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 01:09:29
>842-843
ありがとうございます

規定外の入力があるとデータベースファイルに書き込む際エラーになるので警告は嫌なのです

やろうとしている事を入力規則のユーザー定義で規定する方法が思いつかないので
とりあえずセルに数式を入れないで済むように自動実行マクロで回避しました

既に同じシートに自動実行マクロを一個設定してしまっているので
ごちゃごちゃするから嫌だったんですが

>851
A1に98.4と入力されているとしてB1に=time(0,0,A1)と入れてみて

858 :851:2007/05/31(木) 01:23:20
>>857
ありがとうございます。

早速試したところ「12:01AM」となってしまいました。
やり方が悪かったのでしょうか。。。

859 :857:2007/05/31(木) 01:31:13
>851
さっきのは本当に秒として変換する場合で書式設定すれば0:1:38とまでは表示する事はできる
でもエクセルではコンマ何秒とかの書式設定はないのでどうしても表示させたい場合は

A1の値に対して↓こういう式を使って文字列にしちゃえば一応表示だけは出来る…長い

=QUOTIENT(A1,60)&":"&INT(MOD(A1,60))&":"&INT(MOD(A1,1)*100)

860 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 01:34:29
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 自己流1ヶ月です><
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 アクティブセル 折り返 範囲 移動
ユーザーフォームにコマンドボタンを作ってマウスクリックでアクティブセルを動かしたいのですが
セルの動ける範囲をB2からH10に指定し、行や列の終わりに行くと次の行・列に折り返したいのですが
やり方がわかりません。
また、このコマンドボタンの.Acceleratorに矢印ボタンを登録することは出来ないのでしょうか
よろしくおねがいします。

Private Sub CommandButton1_Click() '↑
ActiveCell(-1, 1).Select
End Sub
Private Sub CommandButton2_Click() '←
ActiveCell(1, 0).Select
End Sub
Private Sub CommandButton3_Click() '↓
ActiveCell(3, 1).Select
End Sub
Private Sub CommandButton4_Click() '→
ActiveCell(1, 2).Select
End Sub

861 :846:2007/05/31(木) 01:40:17
>856
Aに識別子(ゼロじゃない値に対して、1から順番に番号を当てる。)をつけて、
Bに行番号を返すことで、解決しました。
Aを参照して、vlookupでBを探して、INDIRECTでセル番号にして。。。

ありがとうございます。

862 :851:2007/05/31(木) 01:56:51
>>859

何度もありがとうございます。
試してみたのですが「#NAME?」となってしまいました。
せっかく教えて頂いているのに、上手く使えなくて申し訳ありません。

863 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 02:12:28
>>860
テキストの代わりにイメージを貼り付けてボタン色を背景色と同じ色にすれば?

アクティブセルを制御する方法はいろいろある。
まずIF文を使って、コマンドボタンを押したときのアクティブセルがH列の時、
1行下のB列を選択する方法。
あと、SelectionChangeイベントであらかじめ設定した範囲外が選択されたら
アクティブセルの1行下のB列を選択する方法。

864 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 03:08:30
>862
ごめん気がつかなかった
>859の式には特殊な関数が入っていた

ツールメニュー-アドイン-分析ツールにチェック、で使えると思う

865 :864:2007/05/31(木) 03:19:13
度々ごめん
変な関数使わないで

=INT(A1/60)&":"&INT(MOD(A1,60))&":"&INT(MOD(A1,1)*100)

でいいんだよね
間抜けだ、俺

866 :851:2007/05/31(木) 03:34:34
>>865
わっ、すごい!!
教えて頂いた通りにすれば、見事できました!

何度も何度もフォロー頂き、ホントありがとうございました!!

867 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 07:21:59
>>840
複数の条件での集計方法の1例は、
「D1=A1&B1」の様に条件を「&」で連結して1つにしてしまう
これで簡単にSUMIFやCOUNTIFの設定が出来るよ

>>841
中途半端な回答は相手を悩ますだけだ。
断定的な書き方は、するんじゃない。

868 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 07:27:06
>>867
だまれチンカス

869 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 07:35:53
Shift+Spaceでの行選択をVBAで実現させようと思ってます。
(IME ONとカブるのがうざいので)

普通に、アクティブセルのある行を選択するように組むと、
行内選択範囲のA列がアクティブセルとなってしまいます。。

選択範囲内でアクティブなセルを変えるには、どうしたらいいですか?

870 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 09:50:46
>>851
=A1/86400
書式を mm:ss.0
.4 になるが、秒コンマを :4 と表現しない方が良い。
>>859
コンマ何秒とかの書式設定はないとか、嘘を教えないように。

871 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 11:34:02
>868
あまりに程度の低い返しに、つい笑ってしまった
君はすごいヤシだな

872 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 14:44:29
excel2003を使っています。
XML形式に変換したいのですが
ヘルプを見るとデータメニュー→XMLを選択と書いてあるのですが、
XMLの項目がありません。

わからなく近くの本屋に行って確認すると本の画像にはXMLの項目が確認できました。
2003にもバージョンで内容が違う等があるのでしょうか?

873 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 14:59:19
携帯から失礼します。
以下の手順をExcel内に作るボタンを押しVBA等で
全て処理出来るかどうか教えてください
Excelで住所録を作成、その時々の出力対象にフラグ立てをして保存。
Wordのラベル印刷用(封筒印刷)の定型ファイルを呼び出しクエリ抽出。
印刷設定を手差しトレイに変更の上印刷。<ここまで>
【1 OSの種類】 Windows2000
【2 Excelのバージョン】 Excel2000
【3 VBAが使えるか】 使えません。これから覚えます。
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 差し込み 印刷 名簿 VBA Excel Word


874 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 15:06:38
>>872
XML関連の機能がフルに使えるのはOffice 2003Professional Edition
または単体販売のExcel2003のみ。
他にもEditionによって機能が異なる例はいくつかある。

875 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 15:27:10
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 目下勉強中

”元”というシートのコマンドボタンを押すと、
練習 というシートを選択して、そのシートのH2がtrue なら false 、false なら true にするマクロを記述したつもりです。

worksheets("練習").select

If Range("h2").Value = True Then
Range("h2").Value = False
Else
Range("h2").Value = True
End If

End Sub

true と false の切り替えはうまく行きましたが、”元”のH2の値が書き換わってしまいます。
一体何を間違えているのでしょうか???
”練習”シートは選択されるのですが・・・。

876 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 16:08:54
  With Sheets("練習")
    .Select
    If .Range("h2") Then
      .Range("h2") = False
    Else
      .Range("h2") = True
    End If
  End With

877 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 19:24:57
>>873
> 印刷設定を手差しトレイに変更の上印刷。

これはプリンタドライバのお仕事なのでExcel関係なす。

878 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 20:20:40
エクセルで、対数正規分布の乱数の発生は可能でしょうか。


879 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 20:28:33
はい

880 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 20:39:14
あ〜っ、書き直します。
平均値 Ave,標準偏差 sd  の乱数を得るとき、
=NORMINV(Rand(),Ave,sd) で正規分布の乱数を得ることが出来ますが、
対数正規分布の乱数は、
=LOGINV(Rand(),Ave,sd) でよろしいでしょうか?
ただし、Ave, sd 値は、正規分布での値です。
よろしくお教えお願いします。


881 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 21:05:22
一度後出しする奴は、その後もなんやかんやと後出し続ける可能性があり
答えても答えても終わらないなんてこともあるので、後出しする奴は放置の方向で

882 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 21:18:01
質問です。
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 使えない

=(1/275)+(1/550)と計算したときに、答えが3/550になりますが、
この答えを1/183.3 と分子を1に統一したいのですが、やり方わかる方お願いします。


883 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 21:25:11
>>882
計算式がA1に書いてあり、「分子を1に統一した結果」をB1に表示する場合、B1に

="1/"&1/A1

と書く。
分母の値を適当に四捨五入したい場合は、もうちょっと工夫してみてもよし。

つーかこれ、Excelじゃなくて算数の質問だな。


884 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 21:32:28
できました。分母の四捨五入のしかたもお願いします><

885 :848:2007/05/31(木) 21:40:28
848の者ですが、引き続きご回答をお待ちしてます。
宜しくお願いします。

886 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 21:46:30
>>885
シートが保護されているのでは?
ツール→保護→シート保護の解除→パスワード入力

887 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 21:47:30
>>884
イルカさんに「ROUND」って聞くと分かる

888 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 22:00:10
>>887

="1/"&ROUND(1/(A1),1)
できた!ありがとー><

889 :名無しさん@そうだ選挙にいこう:2007/05/31(木) 23:28:58
どうして A1 を( )でくくるん?

890 :848:2007/05/31(木) 23:31:23
>>886
回答ありがとうございます。
パスがわからないので諦めざるを得ないようです。
お手数おかけしました。

891 :873:2007/05/31(木) 23:59:10
877さん
レスありがとうございます。
> これはプリンタドライバのお仕事なのでExcel関係なす。

ではこの直前までは辿りつけるのでしょうか

892 :名無しさん@そうだ選挙にいこう:2007/06/01(金) 08:55:00
>>891
VBAで出来るかと問われれば「出来る」だけど
>>2・7に該当する部分なので、やりたければ自分で調べてね
ここで聞いたり丸投げしたりは無しの方向で

893 :875:2007/06/01(金) 15:08:37
>>876
うまくできました。ありがとうございました!

基本的に別のシートを指定するのは面倒なものなんですね・・・。

894 :名無しさん@そうだ選挙にいこう:2007/06/01(金) 15:38:19
よろしくおねがいします。
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 使えない

-100から100の値が入ったセル範囲があり、コレの
・絶対値の最大
・絶対値の最小
・絶対値の平均
・絶対値の合計
を求めたいのですが、あらかじめabsを使って
別セル範囲を準備せずに済む方法が有れば教えてください。

平均と合計はsumifとを使えば出せるとおもうのですが、
最大、最小をどう処理すれば良いか思いつきません。

では、よろしくおねがいします。

895 :名無しさん@そうだ選挙にいこう:2007/06/01(金) 16:20:46
範囲がA1:A10として
配列数式を使う場合
{=MAX(ABS(A1:A10))}
{=MIN(ABS(A1:A10))}
配列数式を使わない無い場合
=MAX(-MIN(A1:A10),MAX(A1:A10))
=SUMPRODUCT(MIN(A1:A10*(2*(A1:A10>0)-1)))

896 :名無しさん@そうだ選挙にいこう:2007/06/01(金) 17:04:13
配列数式ってものを初めて知りました。
不勉強で申し訳ないです。

ありがとうございました。


897 :名無しさん@そうだ選挙にいこう:2007/06/01(金) 17:14:56
【1 OSの種類         .】 WindowsXP SP2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel バー セルの内容 表示

セルの内容を数式バーに表示させる機能をオフにすることは可能なのでしょうか?

データの入ったセルをマウスでクリックすると、内容が数式バーに表示されますが、
たとえばセル内で改行を使用している場合、数式バーの表示にも改行が反映され、
そのようなセルを選択すると、結果的に数式バーから表示がはみ出て
シートの一部が隠れてしまいます。
20行くらい改行のある文章をひとつのセルに入力してから選択したところ、
数式バーの表示がおもいっきりはみでるので非常に邪魔です。
消すか、改行を反映させない等、本文の邪魔にならないようにすることは可能でしょうか?

898 :名無しさん@そうだ選挙にいこう:2007/06/01(金) 17:49:37
【1 OSの種類         .】 WindowsXP SP2
【2 Excelのバージョン   】 Excel2002 SP3
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 小数点 0 非表示

単純な質問ですがよろしくお願いいたします。
「0.5」などの小数点を「.5」と表示させる方法はあるでしょうか?
理由は、現在在庫の一覧表を作成しているのですが
単価が1円以下の数値を含むものがあり(2円50銭など)
この「50銭」を見やすくするために小さく表示させたいと思い、
例えば2円50銭なら「2」「.5」とセルを分けて入力したいと考えています。

「文字列」として入力したくない理由は、このセルの右側に合計欄を作るため、
「.5」は「0.5」という意味を持たせたいのです。
数式は「=数量×(「2」+「.5」)」とするつもりなのですが、
可能でしょうか?

899 :名無しさん@そうだ選挙にいこう:2007/06/01(金) 17:53:22
>>897
シートの保護と併用すれば可能(※)だけど、あまりおすすめできない。

※対象範囲のセル全部を選択して、書式>セル>保護
「ロック」のチェックを外し、「表示しない」にチェックを入れる
ツール>保護>シートの保護で求める状態になる

質問の趣旨からははずれるけど、2007なら数式バーからのはみ出しは起きない。

900 :名無しさん@そうだ選挙にいこう:2007/06/01(金) 18:42:16
>898
書式設定を「.0」or「.?」に

901 :名無しさん@そうだ選挙にいこう:2007/06/01(金) 19:53:55
>897
セルの内容が反映されなくて良いなら
数式バーなんか消せば良いのに。。

902 :名無しさん@そうだ選挙にいこう:2007/06/01(金) 21:08:26
>>898
【別案】
うちの会社でやってる方法だけど参考にして!
表示形式を「 0"円".00"銭" 」にすると
100が → 100円.00銭 と表示されます。
小数点が邪魔なようだけど数字ずらっと並ぶとかえって見やすいです

903 :名無しさん@そうだ選挙にいこう:2007/06/01(金) 21:48:19
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 使えない
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 複数シート 統合 住所録

質問します。

複数のシートにある住所録を一つのシートに自動で統合
するようにしたいのです。
さらに統合する際に並び替えを行いたい。たとえば年齢順
そして現在から3ヶ月後までに誕生日になる人のセルの色を
変えたいんですけど。自動で。



904 :名無しさん@そうだ選挙にいこう:2007/06/01(金) 21:52:31
>>903
コピー&ペーストして並べ替え
条件付き書式で処理する

905 :名無しさん@そうだ選挙にいこう:2007/06/01(金) 21:53:46
>>904
いや・・・データーの入力は複数シートの方で
やりたいんだわ

906 :名無しさん@そうだ選挙にいこう:2007/06/01(金) 21:59:50
>>905
>>904はコピー元消せとは言ってないと思うけど?

907 :名無しさん@そうだ選挙にいこう:2007/06/01(金) 22:13:29
SUMIF関数で
検索の条件を
入力済みのセルに指定するにはどうすればいいのでしょうか?

エクセル2002です

908 :名無しさん@そうだ選挙にいこう:2007/06/01(金) 22:16:54
>>904
2行目役に立ったありがとう


909 :名無しさん@そうだ選挙にいこう:2007/06/01(金) 22:59:52
>907
俺の解釈だと
例えばA列に入力がある行だけからB列の合計を出したいって事かな
=SUM(B:B)-SUMIF(A:A,"",B:B)
あるいは一つの式で済ませたいなら配列数式を覚えておくと色々応用が利くよ

910 :名無しさん@そうだ選挙にいこう:2007/06/02(土) 00:03:57
>>907
普通にSUMで良いだろ。
入力済みは足されるけど、入力されていなければ
足されない。

911 :名無しさん@そうだ選挙にいこう:2007/06/02(土) 07:38:03
>>907
=SUMIF(A:A,C1,B:B) って事?

912 :898:2007/06/02(土) 09:43:57
>>900
出来ました!ありがとうございます^^
>>902
試してみました!0円以下の単価が多いグループはこちらでやってみます。
ありがとうございました^^

913 :807:2007/06/02(土) 10:27:21
>>809のやり方で出来ました!
ありがとう

914 :907:2007/06/02(土) 10:35:01
>>909でした

915 :名無しさん@そうだ選挙にいこう:2007/06/02(土) 19:30:43
tesu


916 :名無しさん@そうだ選挙にいこう:2007/06/02(土) 20:57:01
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007

Excel2003からExcel2007に乗り換えました。2003で円グラフを作ったときに
モノクロ印刷でも大丈夫なように色でグラフを分けるのではなく塗りのパターン
(波線や煉瓦模様など)で分けることが出来ましたが2007では出来ないのでしょうか?

917 :名無しさん@そうだ選挙にいこう:2007/06/02(土) 22:02:44
>>916
同じでしょ。
データ要素ごとに選択すれば、いくらでも塗り分けできますが?

918 :名無しさん@そうだ選挙にいこう:2007/06/02(土) 22:55:48
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 「ワークシート関数」かな?
Excelでテストケース表作りたいです。
sum((rounddown(a1*b1/10000,0)),(rounddown(a2*b2/10000,0)))<>rounddown(sum(a1*b1/10000,a2*b2/10000),0)
って感じになるようなa1,b1,a2,b2を求めたい。
どんな式で求められるだろ?
教えて、エロイ人!



919 :名無しさん@そうだ選挙にいこう:2007/06/02(土) 23:09:24
また算数の問題か

920 :名無しさん@そうだ選挙にいこう:2007/06/03(日) 00:14:48
それExcelの質問じゃないから
よそでやって

921 :名無しさん@そうだ選挙にいこう:2007/06/03(日) 00:54:34
EXCEL2003を使用しています。
行列番号が通常縦に123…横にABC…となるところが、
縦横どちらも123…となってしまいました。
元に戻したいのですが、どうしたらいいでしょうか?

922 :名無しさん@そうだ選挙にいこう:2007/06/03(日) 01:12:29
>>921
ツール→オプション→全般→R1C1参照形式を使用する のチェックをはずす

923 :名無しさん@そうだ選挙にいこう:2007/06/03(日) 02:01:41
>>922
これってたまに聞くが実は自分で設定いじっているせいなの?
自分ではこんなこと一度もないけど。

924 :名無しさん@そうだ選挙にいこう:2007/06/03(日) 02:14:56
>>923
俺もない。VBA組むとき、めんどいから「R1C1表示」みたいな
単発マクロを入れてるけど…。

925 :名無しさん@そうだ選挙にいこう:2007/06/03(日) 03:21:49
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】わかりません
【4 VBAでの回答の可否】 無理です、すいません
【5 検索キーワード     】 データ呼び出し

同じブック内のシート1からシート2への呼び出し(?)なのですが、シート1に

  A   B   C
 商品番号 商品 個数
1 10-1   A   4個
2 10-2   B   1個
3 10-3   C   3個

となっている状態で、シート2に10-1と入力した時に「10-1   A   4個」と出てくるようにしたいのですが、
どのようにすればよろしいのでしょうか、よろしければご指南願えませんでしょうか。

926 :名無しさん@そうだ選挙にいこう:2007/06/03(日) 06:14:45
>925
混乱してるのは判るけど質問するときは5W1Hをきちんと書いた方がいいよ

・10-1と入力したセルに「10-1   A   4個」と自動で上書きさせたいならマクロでないと無理

・例えばシート2のA列に10-1と入力した時にB列に「10-1   A   4個」と表示させるならVLOOKUPで出来る
方法は以下の通り、どれがどういう意味を持ってるのかはヘルプを見ると詳しい解説が載ってるよ

1, シート1の検索させたい範囲にメニューの"挿入(I)"から"名前"−"定義"で名前を付ける
  (例えばA1:C3に"範囲"という名前を付けたとする)

2. シート2のA1に商品番号を入れB2に次の式を入れる
  =A1&"   "&VLOOKUP(A1,範囲,2,FALSE)&"   "&VLOOKUP(A1,範囲,3,FALSE)

3.B2以下にもB1の数式をコピー

927 :名無しさん@そうだ選挙にいこう:2007/06/03(日) 06:41:08
>>923
他人が作ったexcelの表なんかを開くと、列も数字になっていたりしているという事があるな
原因わからんけど。

928 :名無しさん@そうだ選挙にいこう:2007/06/03(日) 13:04:46
ひとつ教えて下さい。
三角印を押すとずらーっと選択肢が出てくるやつあるじゃないですか?
何かの申し込みとかで住所→東京都とか選ぶやつ、あれをエクセルで
作るにはどうやったらいいのですか?

友達にとりあえず「入力規制」から、と言われましたがやり方がよくわかりません。
希望としては三角印押したら最低3つか4つぐらいの選択肢が出てくるようにしたいです。

929 :名無しさん@そうだ選挙にいこう:2007/06/03(日) 13:17:25
コンボボックス、もしくはリストボックスで検索

930 :名無しさん@そうだ選挙にいこう:2007/06/03(日) 13:30:45
>>928
[データ]→[入力規則]→[入力値の種類]でリストを選択
[元の値]に選択肢のセルを指示してやるとできますよ

931 :名無しさん@そうだ選挙にいこう:2007/06/03(日) 14:38:05
5W1H というと、こうか?

昨日の昼頃でしょうか、自宅で、私が、データを
カタカタとキーボードから打ち込んでいたのですが、
なんとか手を抜く方法がないかと考えまして、
    … 略 …
「10-1   A   4個」と出てくるようにするには
どうすればよろしいのでしょうか?

932 :名無しさん@そうだ選挙にいこう:2007/06/03(日) 16:27:41
>>931
>>926は聞きかじりの言葉を使いたかっただけだろう。

質問スレで必要なのは、せいぜいWhat、How程度。
Why、Who、Where、Whenが必要なケースは希だな

933 :名無しさん@そうだ選挙にいこう:2007/06/03(日) 17:27:31
かわいいね!

934 :名無しさん@そうだ選挙にいこう:2007/06/03(日) 17:33:36
>932
たしかに人に使うのは初めてだけども寝起きだったんで使い慣れない言葉使ってみた
Whereは普通"どこで"だけど、この場合の"どこに"出したいのかもWhereでしょ、と思って

935 :名無しさん@そうだ選挙にいこう:2007/06/03(日) 18:03:36
>>934
それはHowだ

936 :名無しさん@そうだ選挙にいこう:2007/06/03(日) 18:59:32
うぜえ

937 :926:2007/06/03(日) 22:41:54
>935
そうなんだ
勉強になった

938 :名無しさん@そうだ選挙にいこう:2007/06/03(日) 23:00:17
こんばんわ 早速ですけど質問です。
WinXp EXCELL2003にて
他のBookの項目25000ほどのデータをVlookupで外部参照しているのですが
Excel2003の問題で外部参照のデータが16376?を超えると保存するときに
エラーがでてしまいます。

その為、2回に分けて参照するようにしたいのですが、
どういった記述にしたらいいでしょう?

イメージとしてはもし1〜12500までに値が存在しなかったら
12501〜25000を外部参照するという形にしたいのですが・・・
何か不足している説明ありましたらレスってください。
よろしくお願いします。


939 :名無しさん@そうだ選挙にいこう:2007/06/04(月) 04:22:42
WindowsME上で動くExcelとPowerPointが欲しいんですが。。
MEで使える最後のバージョンは2002?
正規版ですが、どこかで手に入らないですかね?

940 :名無しさん@そうだ選挙にいこう:2007/06/04(月) 06:00:28
Excel2002やPowerPoint2002は見あたらないが
Office XP Standardならまだ結構あるじゃん
XPってのが2002バージョンのスイートパッケージで
価格的にもExcel+PowerPointとOffice Standardは大差ない

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

A   B
1   10
1   15
1   20
2   1
2   6
2   8
2   10
3   1
3   2
3   9
Aの列の同一の数字を選んで該当するROWの中でMAXからMINを引く計算ってどう書いたらいいのでしょうか?
例えばA=1なら20-10=10
A=2なら10-1=9
A=3なら9-1=8
といった具合です


942 :名無しさん@そうだ選挙にいこう:2007/06/04(月) 11:59:29
>>941
データ量はどれくらい?
ソートされてる?


943 :名無しさん@そうだ選挙にいこう:2007/06/04(月) 13:18:09
>942
データは多いときで600ぐらいで群分けだと14です。ソートも可能です。

944 :名無しさん@そうだ選挙にいこう:2007/06/04(月) 14:18:23
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】勉強中
【4 VBAでの回答の可否】 可

ユーザーフォーム内に、テキストボックスの内容に反応して変わる文字列を表示できるでしょうか。
テキストボックスを一つ置いてあり、未入力と入力後で文字列の表示を変えたい、ということなのですが・・・。


945 :名無しさん@そうだ選挙にいこう:2007/06/04(月) 14:46:14
>>944
どこの文字列の表示を変えるの?

テキストボックスのイベント使って
対象の文字列を変更すればいいのではないでしょうか

946 :名無しさん@そうだ選挙にいこう:2007/06/04(月) 16:30:18
>>941
A列でソートされていて、1行目がタイトルとして
C2に =IF(A1=A2,IF(B2>C1,B2,C1),B2)
D2に =IF(A1=A2,IF(B2>D1,D1,B2),B2)
E2に =IF(A2=A3,"",C2-D2)
C2:E2を選択、オートフィル

947 :名無しさん@そうだ選挙にいこう:2007/06/04(月) 17:00:50
>>941
A=1のとき
{=MAX(IF($A$2:$A$11=1,$B$2:$B$11,""))-MIN(IF($A$2:$A$11=1,$B$2:$B$11,""))}
A=2のとき
{=MAX(IF($A$2:$A$11=2,$B$2:$B$11,""))-MIN(IF($A$2:$A$11=2,$B$2:$B$11,""))}
A=3のとき
{=MAX(IF($A$2:$A$11=3,$B$2:$B$11,""))-MIN(IF($A$2:$A$11=3,$B$2:$B$11,""))}

大外にある{}は配列関数な
上のをそのままコピペしても{}は使えない
Ctrl+Shift+Enterで{}を出してくれ

948 :名無しさん@そうだ選挙にいこう:2007/06/04(月) 17:01:24
一度に済ませたいのなら
=IF(A2=A3,"",MAX(INDIRECT("B"& MATCH(A2,A$1:A2,0)&":B" & ROW()))-MIN(INDIRECT("B"& MATCH(A2,A$1:A2,0)&":B" & ROW())))

949 :名無しさん@そうだ選挙にいこう:2007/06/04(月) 18:26:16
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel03
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可(VBAを使うしかないなら)
【5 検索キーワード     】 Excel ひらがな 小文字を大文字に

セルに文章入力後、仮名の小文字部分が大文字に自動置き換えされるようにするにはどうすればよろしいでしょうか?
例.キャッキュバック→キヤツシユバツク
SUBSTITUTEとかSEARCHとかその他いろいろ組み合わせて試してみましたが駄目でした

950 :名無しさん@そうだ選挙にいこう:2007/06/04(月) 19:16:24
キャッキュバック

951 :名無しさん@そうだ選挙にいこう:2007/06/04(月) 19:20:54
>どうすればよろしいでしょうか?
慣れない敬語はかえって失礼だよ

952 :名無しさん@そうだ選挙にいこう:2007/06/04(月) 19:37:38
セルに文章入力後、仮名の小文字部分が大文字に自動置き換えされるようにするにはどうすればいいか教えろ
例.キャッキュバック→キヤツシユバツク
ちなみにSUBSTITUTEとかSEARCHとかその他いろいろ組み合わせて試しても駄目だからな

953 :803:2007/06/04(月) 19:38:50
すみません、しばらく書き込みができませせんでした
http://ddo-jp.ddo.jp/download.php?no=2686
キー「12345」
これでわかりますか?

954 :名無しさん@そうだ選挙にいこう:2007/06/04(月) 21:22:52
前に丸投げ依頼で似たようなの作ったな・・・

955 :803:2007/06/04(月) 22:04:53
>>954
はい!わりづらいから「書き直し」と言われて
書き直してきました・・・やはりわかりづらいですか?

956 :名無しさん@そうだ選挙にいこう:2007/06/04(月) 22:22:14
>>953
過去のレスを一通り読んで、>>953のファイルを開いてみた。が、やはり意味不明。

申し訳ないが、人に理解してもらえる程度の文章力を養ってから
出直してもらえないだろうか。このままじゃ無駄なレスの応酬で
スレが汚れるのは目に見えてる。

しっかし、「商品名」欄に「場所名」が入っている辺りを見ると、表の設計にも
かなり問題ありそうだなぁ

957 :803:2007/06/04(月) 22:43:08
>>956
そうします
ありがとうございました

958 :名無しさん@そうだ選挙にいこう:2007/06/04(月) 23:16:59
【1 OSの種類         .】 WindowsXP HE
【2 Excelのバージョン   】 Excel2003

決まった時刻から決まった時分(50分とか)を引いた時間を
出すにはどんな式を立てたらよいのでしょうか?

959 :名無しさん@そうだ選挙にいこう:2007/06/04(月) 23:22:27
たとえば
A1に決まった時刻を書いて
A2に決まった時分を書いて
A3に =A1-A2

960 :名無しさん@そうだ選挙にいこう:2007/06/04(月) 23:22:46
決まってるんなら、ズバリ書いちゃえばいいじゃない。

961 :名無しさん@そうだ選挙にいこう:2007/06/04(月) 23:29:19
>>959-960
決まった時間が55分なら0:55でやったら出来ました。
しかしその55分を表の中に記入しないでやる方法なんかは
無いでしょうか?

962 :名無しさん@そうだ選挙にいこう:2007/06/04(月) 23:43:16
>>961
ちょっとWebやヘルプを見ればいくらでも答えが載ってる。
少しは自分で調べる努力をしてから質問してくれ。

963 :944:2007/06/04(月) 23:47:10
>>945
できました!ありがとうございます。

964 :939:2007/06/04(月) 23:58:05
>>940
ちょっと遅くなりましたが、ありがとうございます!
なるほどOffice XP Standardですか。
これを手に入れる事にします♪

965 :名無しさん@そうだ選挙にいこう:2007/06/05(火) 00:14:47
保存しようとするとテンポラリーファイルで
保存されてしまっていちいち名前を変えないと
いけないのですが、どうすればいいでしょうか?


966 :名無しさん@そうだ選挙にいこう:2007/06/05(火) 00:16:42
>>965
どんなファイルを保存しようとしてもそうなるのか、特定のファイルだけそうなるのか。

967 :名無しさん@そうだ選挙にいこう:2007/06/05(火) 00:49:32
特定のファイルです 

968 :925:2007/06/05(火) 03:15:40
質問から音沙汰無しですみません、問題のほう解決致しました。
>>926
ありがとうございました。
>>931
すみません、手を抜くとかではなくvlookup自体を知らなかったのでどうすればいいか途方にくれていました。
社のデータは保護の上にパスがかかっていてfx関数自体を参照することができませんでした・・・。

969 :名無しさん@そうだ選挙にいこう:2007/06/05(火) 08:09:35
>>967
読み取り専用属性でも付いてるんじゃないのか

970 :名無しさん@そうだ選挙にいこう:2007/06/05(火) 11:01:17
>>965
まれになること有るな
本ファイルを改名して、テンポラリファイルを
本ファイル名にしてごまかしているよ。
私の場合、原因は、解明し切れていない。

971 :名無しさん@そうだ選挙にいこう:2007/06/05(火) 14:16:13
>>968
シートやブックに保護が掛かっているなら、他のブックからそのブックを参照するようにすればよろし

 参照元になるブックを開く
  ↓
 新規ブックを開く
  ↓
 新規ブックから参照元のブックを参照するように関数式を作る

参照セルをブック名を含めて>>965のように作るだけだ
新規ブックでイコール(=)を入力したら参照元のブック・シート・セルをクリックして選ぶだけで難しくは無い

とりあえずはこんなんで作成できるが、仕事であれば保護を掛けた奴に責任持ってやらせるのが一番だぞ

972 :名無しさん@そうだ選挙にいこう:2007/06/05(火) 14:46:04
すんませんが、Excel2007で、グラフやオートシェイプの2色グラデーションを
設定する方法がわかりません。

以前のバージョンなら簡単にいけたんだけど。



973 :名無しさん@そうだ選挙にいこう:2007/06/05(火) 15:38:20
>>972
書式>図形のスタイル>図形の塗りつぶし>グラデーション>その他のグラデーション
または
右クリック>図形の書式設定>塗りつぶし>塗りつぶし(グラデーション)

974 :名無しさん@そうだ選挙にいこう:2007/06/05(火) 16:30:16
>>973
通りすがりの俺にも答えてくれてありがたい。
しかしながら、Excel2007からセルの色を「グラデーション」する機能が追加されたようだが、このときにプロパティ設定するときの
「塗りつぶし」フォームと同じような操作がしたい。
いわゆる2色選んで、グラデーションの方向を決めるだけの簡単なやつ。

教えてもらったやり方だと、グラデーション設定がむずいんですが、これからは、こういうものなんでしょーか?


975 :名無しさん@そうだ選挙にいこう:2007/06/05(火) 16:31:06
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

ユーザーフォームでテキストボックスに記入された数字をキーに検索した結果を返すマクロを作っています。
検索部分は今のところ問題ないのですが、テキストボックスのchange をキーに自動化しようとすると、一桁打った時点で
すぐに検索が始まってしまいます。

バーコードで数字を入力する場合もあるので、できれば自動化したいのですが、
例えば”24”のバーコードを入力した場合、別個の”2”と”4”と解釈するようです。

何かきっかけとして上手い手はありますでしょうか。

976 :名無しさん@そうだ選挙にいこう:2007/06/05(火) 16:40:05
>>974
図形に対してはその形のグラデーションしか用意されてないから仕方がない。

セルの場合と方法が異なるのは、何らかの理由があるんだろうけど、
俺にはわかりません。以上。

977 :名無しさん@そうだ選挙にいこう:2007/06/05(火) 18:56:25
>>975
キーの入力が終わったことを自動で判断させて検索を開始するってこと?

978 :名無しさん@そうだ選挙にいこう:2007/06/05(火) 20:01:46
>>975
AfterUpdate

979 :名無しさん@そうだ選挙にいこう:2007/06/05(火) 21:34:37
>>975
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
'Enterキーを押したら検索
If KeyCode = 13 Then Call 検索処理(TextBox1.Text)
End Sub


980 :名無しさん@そうだ選挙にいこう:2007/06/05(火) 22:52:51
>>977
はい、そうです。

>>978
>>979
ありがとうございます。どちらでもうまくいきました。

親身にありがとうございました。大変勉強になりました!

981 :名無しさん@そうだ選挙にいこう:2007/06/06(水) 00:29:00
質問です
ボタンを押したら
メニュー→ファイル→名前を付けて保存する→csv(カンマ区切り)
を実行するようにできないでしょうか?


982 :名無しさん@そうだ選挙にいこう:2007/06/06(水) 03:58:19
>>981
手っ取り早いのはマクロの記録を実行して
フォームのボタンにそのマクロを登録すればできます

983 :名無しさん@そうだ選挙にいこう:2007/06/06(水) 08:42:58
>>982
そのボタンとマクロはどこに仕込むか。
CSVファイルには保存できない。

984 :名無しさん@そうだ選挙にいこう:2007/06/06(水) 09:09:45
マクロをCSVに保存しろとは書いてない。

985 :名無しさん@そうだ選挙にいこう:2007/06/06(水) 12:06:44
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 触ったことないです
【4 VBAでの回答の可否】 出来ることなら否

excelのヘルプより
>TREND 関数では、異なる指数でべき乗される同一の変数に対して回帰推定することで、
>多項式曲線に当てはめることができます。たとえば、列 A に y の値、列 B に x の値が
>含まれているとします。列 C には「x^2」、列 D には「x^3」などのように入力し、列 B 〜 D を
>列 A に対して回帰推定します。

上のやり方がわかりません

TREND関数で線形的に値を予想することは出来たのですが
上のような多項式に当てはめるというのがどうもできません
分析ツールで分析して別のシートで作るのではなく
TREND関数ひとつで多項式に当てはめて値を予想するには
どのようにすればいいのでしょうか?
それともVBAとか使わないと無理でしょうか?

よろしくお願いします

986 :名無しさん@そうだ選挙にいこう:2007/06/06(水) 14:00:11
=TREND(A1:A10,B1:D10,B11:D11)
など、複数のXで予想しますってことだな

987 :名無しさん@そうだ選挙にいこう:2007/06/06(水) 16:22:13
Excel2000を使っているんですが
グラフを新しいシートに作成しようとしても
新しいシートには何も表示されません。
どのように設定すれば直るのでしょうか?
お願いします。

988 :名無しさん@そうだ選挙にいこう:2007/06/06(水) 16:26:11
一度ソフトを終了させて再起動。

989 :987:2007/06/06(水) 16:28:02
>>988
何回も再起動をしているのですが全く直りません。
データと同じシート上には表示できるので
何か設定の問題だと思うのですが。。

990 :名無しさん@そうだ選挙にいこう:2007/06/06(水) 16:42:34
>>989
んー。そういう設定は記憶にないなあ。
データと同じシート上に作れるなら、右クリック>場所(またはグラフ>場所)で
変更できないか?

ブックの保護がかかっているってわけじゃないよね。
それならなにかしら文句が出るし。

991 :987:2007/06/06(水) 17:49:42
>>990
場所変更でも出てきませんでした。

再インストールしかないでしょうか。。

992 :名無しさん@そうだ選挙にいこう:2007/06/06(水) 18:10:11
Excel 2000、2003 ともに
関数 EMONTH、EOMONTH を使用すると、
#NAME?
としか表示されない。
アドイン 「分析ツール」は on(チェック済)
どうすれば正常に機能するのか、次スレでもいいから教えてください。


993 :名無しさん@そうだ選挙にいこう:2007/06/06(水) 18:24:06
>>992
分析ツール-VBAをチェックだ。

994 :名無しさん@そうだ選挙にいこう:2007/06/06(水) 18:32:17
たとえば =EOMONTH(DATE(2001,1,1),1) で動くけど


995 :名無しさん@そうだ選挙にいこう:2007/06/06(水) 19:01:31
>>991
新しいブックで試してもダメ?
再インストールつーよりデータの問題のような気もしなくはないんだが。

手元で再現しないので、悪いがこれ以上はなんとも言いようがない。

996 :名無しさん@そうだ選挙にいこう:2007/06/06(水) 20:46:50
123456の各桁の和をとり,1からその和までの整数の乱数を5000個発生させよ
(rand() とint()を組み合わせて).

ちっともワカンネ・・・おまいらおしえれください。


997 :名無しさん@そうだ選挙にいこう:2007/06/06(水) 20:55:12
 

998 :名無しさん@そうだ選挙にいこう:2007/06/06(水) 21:04:17
                                                  

999 :名無しさん@そうだ選挙にいこう:2007/06/06(水) 21:08:48
                                                  

1000 :名無しさん@そうだ選挙にいこう:2007/06/06(水) 21:18:15
1000

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

332 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)