■戻る■ 元のスレッド

2chライブラリー
Excel総合相談所 53

1名無しさん@そうだ選挙にいこう :2007/01/26(金) 19:11:06
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/

前スレ(52):http://pc10.2ch.net/test/read.cgi/bsoft/1167923180/

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

3名無しさん@そうだ選挙にいこう :2007/01/26(金) 19:11:27
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)

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

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

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

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

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

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

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

5名無しさん@そうだ選挙にいこう :2007/01/26(金) 19:11:37
上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。
間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。

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

6名無しさん@そうだ選挙にいこう :2007/01/26(金) 20:13:15
ハ〜ぁ、バカな質問とバカな回答の繰り返しか
レベル落ちたなぁ〜

7名無しさん@そうだ選挙にいこう :2007/01/26(金) 20:17:54
>>6
おまいさんの実力みせてもらおう

8名無しさん@そうだ選挙にいこう :2007/01/26(金) 20:28:38
前スレ996です
馬鹿でサーセンwwwww自己解決しますたwwwwwww

9名無しさん@そうだ選挙にいこう :2007/01/26(金) 20:28:53
>>6のレベルじゃ、スレのレベルが落ちたかどうかなんて判断できないだろ
例え落ちたとしても、>>6の及び付かぬ領域だからな

10名無しさん@そうだ選挙にいこう :2007/01/26(金) 21:04:13
スグ興奮しちゃって、カワウィー

11名無しさん@そうだ選挙にいこう :2007/01/26(金) 21:11:50
なぜこんなに簡単に釣れるのだろう…

12名無しさん@そうだ選挙にいこう :2007/01/26(金) 21:16:41
この時期は毎年オコチャマが集まるからしかたないね

13名無しさん@そうだ選挙にいこう :2007/01/26(金) 21:31:18
エクセルで、文字色変更を普通にしようとすると
20秒くらいかかります。
ひとつのセルですし、他のアプリでメモリくってるわけでもないのに
文字色変更がやたら遅いです。

セルの塗りつぶしはさっとできるんですけどね・・・。

xp home Pen4 2.2G メモリ512
エクセルは2002です。


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

   A   B
1 | 3.4 | 2.3
2 | 5.6 | 1.7
3 |空白| 空白
4 |空白| 空白
5 |12.3 | 1.3
:
10| 2.4 | 3.4
11|空白| 空白
12|空白| 空白
13|14.4 | 2.4
:

上のような一つのシートに空白2行で区切られた複数行2列のデータを
それぞれ別々のシートに分けたいのですが、データ数がとても多いので
簡単な方法はないでしょうか?

15名無しさん@そうだ選挙にいこう :2007/01/26(金) 23:00:47
>>13
Excel完全に消してから、再度インストールしなおしてみ。

16名無しさん@そうだ選挙にいこう :2007/01/26(金) 23:02:21
>>14
その説明じゃ、どうしたいのかが、誰にも伝わらないかと。

17名無しさん@そうだ選挙にいこう :2007/01/26(金) 23:06:08
>>13
それはエクセルを立ち上げて最初の文字色変更時だけですか?

18名無しさん@そうだ選挙にいこう :2007/01/26(金) 23:13:40
>>14
1行空白(連続しない空白行)が存在する可能性はあるの?
あるとしたらその場合はどうするの?

最後以外で3行以上の連続空白行が存在する可能性はあるの?
あるとしたらその場合はどうするの?

データは数値だけ?
それとも書式も設定してあるの?

19みそ :2007/01/26(金) 23:29:55
エクセルです

複数のセルに入力されている範囲を
まとめて絶対値に変えるのはどうしたらいいすか?

終電行ってしまうまえにだれかぼすけて・・・


20名無しさん@そうだ選挙にいこう :2007/01/26(金) 23:32:52
>>19
別な場所に関数で絶対値を返して、
元の場所に値をコピーして、関数を消去してみそ

21名無しさん@そうだ選挙にいこう :2007/01/26(金) 23:37:21
「A班からF班までが総当りで試合をする。表の灰色の部分(罫線で区切られた右側)
に自分たちの班から見た得点を例えば15-5のように入力すると白の部分(罫線で区切られた左側)には相手の班からみた
得点5-15という表示がされ同時に勝ち数、負け数、引き分けの数、勝ち点、順位が表示されるような表を作れ。
勝ち点は、勝ち・・・3点、負け・・・0点、引き分け・・・1点で計算
順位は勝ち点の多いほうが上位とする。同順も可。」

A B C D E F
A\ ←15-5
B \    
C↑ \   
D5-15 \  
E    \ 
F     \これの「15-5と入力すれば5-15と返す」、「勝ち負けの判定をする」がわかりません。
得点入力のセルは全ておなじ「15」、「-」、「5」を三つに分けてはいけないのです・・・お願いします。m(_ _)m

22みそ :2007/01/26(金) 23:46:43
>>20ありがとうですもう少しバカな俺に
詳しく教えてくださいです申し訳ありません

今使ってる1枚目のシート(ご飯汁)に別のシート(みそ)から
小計を合計しながらひっぱって来てるデータが
B2に=SUM('みそ'!AD96:AD100)
B3に=SUM('みそ'!AD101:AD110)
B4に=SUM('みそ'!AD111:AD150)
とかってえんえんと入ってて、ご飯汁シートのリンク先の
みそシートの範囲をまとめて絶対値にしたいのです
要は
B2に=SUM('みそ'!$AD$96:$AD$100)
B3に=SUM('みそ'!$AD$101:$AD$110)
B4に=SUM('みそ'!$AD$111:$AD$150)
にしたいのです・・・


23名無しさん@そうだ選挙にいこう :2007/01/26(金) 23:46:50
>>14
基本こんなかな?フィルタかけて、空白以外を抽出して、
それぞれをコピーする感じ。
新規シートの位置とか名前は適当にかえてみて

Set r = Worksheets("sheet1").Range("A1:B17")
r.AutoFilter 1, "<>"
Set r = r.SpecialCells(xlCellTypeVisible)
For i = 1 To r.Areas.Count
 Set s = Worksheets.Add
 r.Areas(i).Copy s.Range("A1")
Next
r.AutoFilter

24名無しさん@そうだ選挙にいこう :2007/01/26(金) 23:49:38
>>21
文字列関数使え
特定文字が先頭から何番目にあるかを調べる関数とか、
先頭から何文字、指定位置から何文字を切り出すなんてことが出来る関数もあるので
=「-」の次から末尾まで&"-"&先頭から「-」の前まで
という式で、15-5を5-15に出来る(他にもやり方はあるが、これが一番基本)
左辺と右辺の数字切り出しが出来てしまえば、比較して勝ち負け判定するのは簡単でしょ

25名無しさん@そうだ選挙にいこう :2007/01/26(金) 23:51:26
>>21
LEN FIND LEFT RIGHT IF RANK
で、どうにかなるかな・・・

26名無しさん@そうだ選挙にいこう :2007/01/26(金) 23:53:15
基礎学力のない子ばっかだね

27名無しさん@そうだ選挙にいこう :2007/01/26(金) 23:53:29
>>22
絶対値ttp://ja.wikipedia.org/wiki/%E7%B5%B6%E5%AF%BE%E5%80%A4
ではなく

絶対参照(A1→$A$1)にしたいのか?
そうなると話は別だ

28みそ :2007/01/26(金) 23:56:30
>>27
そうです絶対参照(A1→$A$1)にしたいのです
まとめてやる方法が分らないんです

もう一時間以上F2押してF4を押していく方法で
やってたんですがくたびれました・・・
このままじゃ終電に間に合いそうにありません…

29名無しさん@そうだ選挙にいこう :2007/01/27(土) 00:06:31
>>28
Sub 絶対参照に変換()
  Dim objCell As Range
  For Each objCell In Selection
    objCell.Formula = Application.ConvertFormula(objCell.Formula, xlA1, xlA1, xlAbsolute)
  Next objCell
End Sub

絶対参照に変換したい範囲を選択して、このマクロを実行しろ
例外処理取ってないんで、範囲選択はきちんとしろよ
VBAは嫌とか言うなら俺はパス

3021 :2007/01/27(土) 00:06:43
解決しました。
みなさんありがとうございます。

31名無しさん@そうだ選挙にいこう :2007/01/27(土) 00:07:49
>>28
それ一括でやるのは難儀だな。
なぜそうしたいのか分かれば、そっち方面から突破口考えるが?

3231 :2007/01/27(土) 00:08:28
ああ、>>29で解決な…w

33名無しさん@そうだ選挙にいこう :2007/01/27(土) 00:14:52
絶対値って中学で習うよね。それを知っていれば$A$1形式を絶対参照と呼ぶってことを知らなくても
絶対値と呼ぶのが明らかに間違ってるってことは解るはずだが、みそは中学生以下か?
そんな子供が終電時間と競りながらExcelと格闘?いったいどういう状況なんだか。

34みそ :2007/01/27(土) 00:15:38
>>29
ありがとうございます
アホなんでVBAはスイッチ切ってあります

>>31
課長の言い付けです。今日中に仕上げねばなりません


35名無しさん@そうだ選挙にいこう :2007/01/27(土) 00:19:43
>>34
VBA無効にしてあるなら、有効にして実行すればいいだけだね。
解決して良かったな。

36名無しさん@そうだ選挙にいこう :2007/01/27(土) 00:42:49
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 弩初心者
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 VBA 分析 連続 一定間隔

下図のようにランダムにABCや●が入ったシートがあります。
1つの列の中で,●と●の間にあるABCの個数が6以上なら,
その個数をQの列にそれぞれ出したいです。

  A  B  C  D  E  F  G  H   I  J  K  L  M  N  O  P  Q

1 B  A  B  B  C  A  ●  B  C  .A  B  C  A  ●  ●  .A  2

2 ●  C  A  B  C  .●  B  .C  A  .●  A  B  C  A  ●  ●  0

3 C  A  B     A  C  .A  ●  .C  .A  B  C  A  C  ●  .B  1

4 A  B  C  ●  B  C  .A   B  A  B  C                 .1

※行3のようにA〜Cのデータの途中に空白がある場合は,その分はカウントしません。
※行4のように空白があってもA〜Cのデータが連続していれば,Q4に数値を算出します。

このような条件の時,どのようにしたらいいのでしょうか。ご教示お願いします。

37名無しさん@そうだ選挙にいこう :2007/01/27(土) 00:55:55
excelで
  1/27
と入力すると、今年であれば
  2007/1/27
に解釈されますが、これを
  2006/1/27
と解釈させる方法は無いでしょうか?
関数使って1年引く方法も考えたんですが、
列を増やしたり削ったりする分かえって作業が
増えてしまう感じだったのでやめました。
  2006/1/27
と入力すれば済むことのなのでしょうが、
  2006/
を入力しないで済むならそうしたいのです。

38名無しさん@そうだ選挙にいこう :2007/01/27(土) 01:02:53
>>37
パソコンの時計を一年前にする

39名無しさん@そうだ選挙にいこう :2007/01/27(土) 01:05:55
そのやりかたは、おじさん賛成できないな。

40名無しさん@そうだ選挙にいこう :2007/01/27(土) 01:33:15
>>36
>1つの列の中で,
は行の間違いだな?
Function CountX(ByVal Target As Range)
Dim c As Range, burstFlag As Boolean, countBurst As Long, counter As Long
burstFlag = False
countBurst = 0
counter = 0
For Each c In Target
If c.Value = "●" Then
If burstFlag Then counter = counter + 1
countBurst = 0
burstFlag = False
ElseIf InStr("_ABC", c.Value) > 1 Then
countBurst = countBurst + 1
If countBurst >= 6 Then burstFlag = True
Else
countBurst = 0
End If
Next
If burstFlag Then counter = counter + 1
CountX = counter
End Function

=CountX(A1:P1)

41名無しさん@そうだ選挙にいこう :2007/01/27(土) 01:47:40
>>40
ありがとうございます!
「1つの列の中で」は「行の中で」の誤りです。スミマセン。

42名無しさん@そうだ選挙にいこう :2007/01/27(土) 01:56:54
Excel2002を使っています。

セルに小数の数字を入力するとき、
小数点以下の桁を指定することは出来ますが
有効数字を指定するにはどうしたら良いのでしょうか?

例えば
322
4.23
0.00567

みたいな感じで上3桁だけ残したい場合にはどうしたら良いのでしょうか?


43名無しさん@そうだ選挙にいこう :2007/01/27(土) 02:03:09
=TEXT(TEXT(A1,"0.00E+00"),"G/標準")
こんな感じかな・・・

4437 :2007/01/27(土) 02:10:40
>>38
やっぱ時計いじるのが手っ取り早いですよね。
不整合は起きないだろう、と勝手に思ってますが、
時計を戻し忘れてしまいそうなのが若干心配。。。

45名無しさん@そうだ選挙にいこう :2007/01/27(土) 02:46:07
Excel2002を使っています。

Excelでグラフを書くときに
目盛り線はY軸のものしか付けることが出来ないのでしょうか?
X軸(垂直な目盛り線です)にも付けたいのですがどうすれば良いのでしょうか?

46名無しさん@そうだ選挙にいこう :2007/01/27(土) 02:55:47
>>43
回答ありがとうございます。
でもその式はどのようにして使えば良いのですか?
コピペしてもうまく使うことが出来ないのですが。

47名無しさん@そうだ選挙にいこう :2007/01/27(土) 03:07:20
>>34
すんごい遅レスだが
絶対参照に変換するセル番地が殆ど一緒で
他に可変にする必要が無い という条件下でだが

Ctrl+H
検索対象 AD  なり  みそ'!AD  なり  !AD  なり好きなのを。
置換後を $AD$ なり $AD(列だけ絶対参照にするなら

エクセル98は知らんが2000から数式内の文字列置換は標準で装備されてる。
わざわざVBA使うまでも無い。

48名無しさん@そうだ選挙にいこう :2007/01/27(土) 07:41:03
そして仕事放棄して終電で帰ったのか

49名無しさん@そうだ選挙にいこう :2007/01/27(土) 11:45:17
>>37
置換

5045 :2007/01/27(土) 13:05:48
どうなんでしょうか?
お願い致します。


51名無しさん@そうだ選挙にいこう :2007/01/27(土) 13:20:01
>>50
http://www.google.co.jp/search?hl=ja&ie=Shift_JIS&q=Excel+%83%4F%83%89%83%74+%22X%8E%B2%22+%96%DA%90%B7%82%E8%90%FC&num=50

52名無しさん@そうだ選挙にいこう :2007/01/27(土) 13:51:35
>>46
↓これのどこが上3桁なの?
例えば
322
4.23
0.00567

53名無しさん@そうだ選挙にいこう :2007/01/27(土) 14:12:53
>>52
有効桁ってことだろう

54みそ :2007/01/27(土) 14:29:12
みなさん本当にありがとうございます
無事今朝方お仕事終わりました。
おはようございますです。

>>47
実はあなたのレス以降さくさくと進めることができました。
数式内の文字列置換が出来ることを忘れておりました。
本当にありがとうございました。

5537 :2007/01/27(土) 15:47:21
>>49
置換をすっかり忘れてました。(日付データは1900/1/1からの日数で
保持しているのだろうから置換はできない、と勝手に決め付けてました)
ありがとうございました。

56名無しさん@そうだ選挙にいこう :2007/01/27(土) 17:36:03
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

A(身長):161/165/176/163/169/155....
B(体重): 58/ 46/ 73/ 45/ 57/ 38/...
C(性別): M/ F/ M/ M/ M/  F/...

なる表があり,フィルタ機能で「M」を抽出,身長−体重のグラフを作りました。
次に「F」でフィルタすると先に作ったグラフが「Fのデータ」に変ってしまいます。

先に作ったグラフを固定(後日Excelとしてデータ改定可能な状態で)する方法があれば
教えて下さい。現在はそれぞれCopyして別の表にしてからグラフを作成しています。

57名無しさん@そうだ選挙にいこう :2007/01/27(土) 18:11:33
>>56
グラフを貼り付ける際に図として貼り付ければフィルタを変更してもグラフの要素は変わらないが
データを増やした時には再度グラフを貼り付けなおさないとできない。
俺はVBA無しで思い当たる方法は無かった。

58名無しさん@そうだ選挙にいこう :2007/01/27(土) 18:33:44
>>56
データの抽出にフィルタを使わなければ出来るが
それはVBAじゃないと無理っぽい

5956 :2007/01/27(土) 22:31:32
>>57-58

所用有り、遅くなりました。VBAなるものを調べて(勉強して)から出直します。

6056 :2007/01/27(土) 22:36:45
途中で送ってしまったので、以下書き直します。
---------------------------------------------

>>57-58

所用有り、遅くなりました。VBAなるものを調べて(勉強して)から出直します。
ありがとうございました。

ただ、調べたり詳しい人に聞けば理解可能かも知れませんので、その「VBAを使った対応策」の
例を教えて頂ければ幸いです。

61名無しさん@そうだ選挙にいこう :2007/01/27(土) 22:43:45
初心者です。A1に1と入れると20とC1に表示されて
A2に3と入れるとC2に140というように対応した数字を
計算でなく表示させるのはどうすればいいでしょうか。

62名無しさん@そうだ選挙にいこう :2007/01/27(土) 23:20:00
>>61
自分で入力すりゃいいだろ
そんな質問文じゃこんな回答しか来ねぇぞ

63名無しさん@そうだ選挙にいこう :2007/01/27(土) 23:37:26
>>62 別表作って、
=VLOOKUP(A1,Sheet2!$A$1:$B$100,2,FALSE)
と入れても動かないんですよ。別表のA1は数字じゃ駄目?

64名無しさん@そうだ選挙にいこう :2007/01/28(日) 07:30:39
>61,63から答えを導き出せる奴は天才
質問の意図が全く分からん

65名無しさん@そうだ選挙にいこう :2007/01/28(日) 07:33:34
C1=IF(A1=1,20,"")

66名無しさん@そうだ選挙にいこう :2007/01/28(日) 09:32:50
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 VBE 開かない

excelのVBEを開こうとすると、VBEを開けるどころかexcelそのものが閉じてしまいます。
ウィルススキャンをしたところウィルスに感染はしていませんでした。
ちなみにwordのVBEは普通に開けます。
どうすれば正常にVBEが開けるようになれば良いのか、よろしくお願いします。


67名無しさん@そうだ選挙にいこう :2007/01/28(日) 09:59:48
すれ違いかもしれないけど、あえて質問させてもらいます。
エクセルのエキスパート(MOS)の検定とエクセル1級では何が違うのですか?
どちらの方が権威が上なのですか?

68名無しさん@そうだ選挙にいこう :2007/01/28(日) 10:11:58
「権威」なんて言葉は、詐欺師・役人・成金が使う言葉
気にするな!

69名無しさん@そうだ選挙にいこう :2007/01/28(日) 10:40:47
>>66
マルチは帰れ

70名無しさん@そうだ選挙にいこう :2007/01/28(日) 11:55:43
>>61
やってみたけど普通に動いた

71HIRO :2007/01/28(日) 12:48:10
【1 OSの種類         .】 WindowsXP【2 Excelのバージョン   】 Excel2000【3 VBAが使えるか    .】いいえ 【4 VBAでの回答の可否】 否 
タイピングのデータ整理をするためにエクセルで2つの文を比較して間違いを検索し、 その文字と単語を抽出したいです。 それぞれの数を調べたいとおもっています。 テキスト文は英文です。何かいい方法はありませんでしょうか?
the deed freed the rugged deer
rhe deed freed rhe rugged deer

72HIRO :2007/01/28(日) 12:50:03
先ほどのつけたしなのですが、
文字を1つのセルにして同じような処理はできないでしょうか?
表示例.
___________________________
i n m y f a m i l l y
i n m u f a m u l
y:1 u:
my:1 familly:1
____________________________

myのyを間違えているのでこれをぬきだし、文字数を調べたいです。
同様にfamillyのiを間違えているのでこれをぬきだし、文字数を調べたいです。
そして間違えたmyとfamillyをぬきだし、
この間違えた数を調べたいのですが、セルの関数などで、この様な方法はできないでしょうか?
セルの関数にできれば、根気よくコピー、ペーストでさがしていきたいのですが…
よい考えをお持ちの方よろしくお願いいたします。

73名無しさん@そうだ選挙にいこう :2007/01/28(日) 13:19:39
>>71-72
普通に切り出して単純に比較すればいいじゃん。
A1:A2に
the deed freed the rugged deer
rhe deed freed rhe rugged deer
を入れるとしたら、
B1=MID(A$1,ROW(),1)
C1=MID(A$2,ROW(),1)
D1=IF(B1=C1,"",B1&" / "&C1)
とかをフィルコピーすれば、文字単位での違いは簡単に見つかる。
文字単位の違いが解れば、ROW()の値を元に違いのある単語の切り出しが出来る。
ROW()が16を返したら、「the deed freed the rugged deer」の先頭から16文字目が
違うってことだから、16文字目を含むスペースで囲われた範囲を切り出せば良いだけ。
間違い文字数はBかC列が空白な行単位で、D列が空白じゃない個数をカウントすれば良い。

あとはヘルプを読んで自分で頑張ろう。でもこれ、Excelの仕事じゃないぞ。
スレ違いだから紹介は控えるが、専用ソフトもあるし、自分でやるにしても「コ根気よくピー、ペーストで」ってことは
元々Excel上にあるデータじゃないんだから、PerlやWSHなんかでやった方がいいだろうし。

74名無しさん@そうだ選挙にいこう :2007/01/28(日) 13:22:49
>>60
適当に直して
Sub sample()
Dim i As Integer
Dim Rng As Range

If Cells(2, 3) = "M/" Then
Range(Cells(2, 1), Cells(2, 2)).Select
Set Rng = Selection
End If
For i = 3 To 7
If Cells(i, 3) = "M/" Then
Range(Cells(i, 1), Cells(i, 2)).Select
Set Rng = Union(Rng, Selection)
End If
Next i
Set Rng = Union(Rng, Range("A1:B1"))
Rng.Select

Charts.Add
With ActiveChart
.ChartType = xlColumnClustered
.SetSourceData Source:=Rng
.Location where:=xlLocationAsObject, Name:="Sheet1"
End With

Set Rng = Nothing
End Sub


75名無しさん@そうだ選挙にいこう :2007/01/28(日) 13:25:10
>>71-72
できません。

76名無しさん@そうだ選挙にいこう :2007/01/28(日) 13:57:06
Excelでカレンダーを作ってるんですが、
祝日を自動的に入れる方法がよくわかりません。
教えていただけませんか?

77名無しさん@そうだ選挙にいこう :2007/01/28(日) 14:07:28
>>76
マクロ組むか休祭日の条件を判断する列や行を作れ

78HIRO :2007/01/28(日) 14:07:34
返信ありがとうございます。
頑張ってやってみます。
他のアプリケーションを勉強がらやる時間がないので
地道に努力します。
また、こんなのあるじゃん!!みたいなのを思いついたら
教えてください♪(^0^)


79名無しさん@そうだ選挙にいこう :2007/01/28(日) 14:58:12
>>74
間違いだらけで、一から書いた方が良さげなふいんき

80名無しさん@そうだ選挙にいこう :2007/01/28(日) 17:28:39
>>79
じゃあ書いて

81名無しさん@そうだ選挙にいこう :2007/01/28(日) 18:28:44
http://vista.crap.jp/img/vi6997563313.jpg

8260 :2007/01/28(日) 18:36:57
>>74

ありがとうございました。色々調べてみます。

83名無しさん@そうだ選挙にいこう :2007/01/28(日) 21:24:52
>>70
速攻自分でできました。すいません。案外簡単ですね。
こんなもんやる気でやったらすぐ上級まで行けそう。

84名無しさん@そうだ選挙にいこう :2007/01/28(日) 21:31:51
とりあえず、やってみようとせずに質問すんの、やめぃ。

85名無しさん@そうだ選挙にいこう :2007/01/28(日) 21:44:41
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 可

http://vista.crap.jp/img/vi6998742850.gif

セルの幅より長い文字列だと右側にはみ出して表示されるのですが、
画像下の様にはみ出さないように表示させるにはどうしたら良いでしょうか?
画像は右側のセルに空白を入れてはみ出ていない様に見せかけています。
初心者質問ですみませんが宜しくお願いします。


86名無しさん@そうだ選挙にいこう :2007/01/28(日) 21:50:25
ExcelとAccessのピボットテーブルの違いがわかる方いますか??
それぞれの長所と短所とか教えていただけたら助かります。
よろしくお願いします。

87名無しさん@そうだ選挙にいこう :2007/01/28(日) 21:55:55
>>85
書式の設定→配置で折り返して全体を表示する をチェックするとか

88名無しさん@そうだ選挙にいこう :2007/01/28(日) 22:02:06
>>86
使って分からないなら、ExcelとAccessの差だけと思ってればおk。
総計とかデフォで出ないのがAccess。

89名無しさん@そうだ選挙にいこう :2007/01/28(日) 22:35:58
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】勉強中
【4 VBAでの回答の可否】 可 と言うか、お願い
ix = 0
i = 0
Do
i = i + 1
If Cells(i, 10) = "a" Then
ix = ix + 1
Worksheets("sheet1").Range(Cells(i + 1, 1), Cells(i + 1, 9)).Copy _
Destination:=Worksheets("結果").Range(Cells(ix, 2), Cells(ix, 10))
Worksheets("結果").Cells(ix, 1) = "a"
End If
If Cells(i, 11) = "b" Then
ix = ix + 1
Worksheets("sheet1").Range(Cells(i + 1, 1), Cells(i + 1, 9)).Copy _
Destination:=Worksheets("結果").Range(Cells(ix, 2), Cells(ix, 10))
Worksheets("結果").Cells(ix, 1) = "b"
End If
Loop Until Cells(i, 1) = ""

と書いたマクロで
Worksheets("sheet1").Range(Cells(i + 1, 1), Cells(i + 1, 9)).Copy _
Destination:=Worksheets("結果").Range(Cells(ix, 2), Cells(ix, 10))

の部分でエラーになっています。
実行時エラー '1004'
アプリケーション定義またはオブジェクト定義のエラーです。
ってメッセージが出てるんですけど、どう直せば良い?

90名無しさん@そうだ選挙にいこう :2007/01/28(日) 22:59:29
>>89
CellsにもWorksheetsをつけてやれ

91名無しさん@そうだ選挙にいこう :2007/01/28(日) 23:30:56
>>90
ありがとぉ〜

Worksheets("sheet1").Range(Worksheets("sheet1").Cells(i + 1, 1), Worksheets("sheet1").Cells(i + 1, 8)).Copy _
Destination:=Worksheets("結果").Range(Worksheets("結果").Cells(ix, 2), Worksheets("結果").Cells(ix, 9))

としつこく Worksheets("〜"). を付けて直りました。

92名無しさん@そうだ選挙にいこう :2007/01/28(日) 23:35:57
dim s as variant, k as variant
set s = sheets("sheet1")
set k = sheets("結果")

s.Range(s.Cells(i + 1, 1), s.Cells(i + 1, 8)).Copy _
Destination:=k.Range(k.Cells(ix, 2), k.Cells(ix, 9))

最後に
set s = nothing
set k = nothing

こっちのほうがコードが見やすいと思う。


9389 :2007/01/28(日) 23:46:33
>>92

おぉぉ〜、、確かに!ありがとです!

94名無しさん@そうだ選挙にいこう :2007/01/29(月) 00:19:25
> dim s as variant
dim s as Worksheet
型宣言はきちんと

> set s = sheets("sheet1")
set s = Worksheets("sheet1")
sheetsはグラフシートを含むコレクション
ワークシート限定の場合はWorksheetsコレクションを使う

> 最後に
> set s = nothing
> set k = nothing
不要。
プロシージャレベル変数は、プロシージャを抜けるときに自動で破棄される。
Terminateイベントに処理があるものは明示的に破棄した方がいいし
グローバル変数では必要に応じて任意に破棄しなきゃならないけどね。


あと、これは間違いではないけど、一文字変数はループカウンタ以外ではやめとけ

95名無しさん@そうだ選挙にいこう :2007/01/29(月) 10:46:55
教えてください。
2つのブックを持つひとつのワークシートが有り、ブックAに項目[A番号][共通]、
ブックBには[B番号]が有ります。

[A番号]にある番号が[B番号]にもある場合[共通]に[B番号]、あるいは何かのマークを
表示したいのですが[共通]の項目のセルにどのような関数を書けば良いのでしょうか?

96名無しさん@そうだ選挙にいこう :2007/01/29(月) 10:51:05
>>95
ワークシート関数「VLOOKUP」をGoogleなどで調べてごらんなさい。
あと、ブックとシートの考え方が間違ってる。逆。

97名無しさん@そうだ選挙にいこう :2007/01/29(月) 10:51:06
教えてください。
2つのブックを持つひとつのワークシートが有り、ブックAに項目[A番号][共通]、
ブックBには[B番号]が有ります。

[A番号]にある番号が[B番号]にもある場合[共通]に[B番号]、あるいは何かのマークを
表示したいのですが[共通]の項目のセルにどのような関数を書けば良いのでしょうか?

98名無しさん@そうだ選挙にいこう :2007/01/29(月) 10:53:19
>>96
ありがとうございます。調べてみます。

PS. 2重投稿してしまいました。すみません

99名無しさん@そうだ選挙にいこう :2007/01/29(月) 11:35:16
>>97
=IF(A番号=B番号,共通,"")

100名無しさん@そうだ選挙にいこう :2007/01/29(月) 11:58:14
こういうことか?
http://vista.crap.jp/img/vi7003946749.jpg

101名無しさん@そうだ選挙にいこう :2007/01/29(月) 14:51:48
Excel2003を使っていますがどうしても分からなかったので質問させていただきます。

10
25
43
37

と縦に並んでいる数値の上位3位までを自動で足したい場合どのような関数を使えばよいのでしょうか。
数値は横列計算で弾き出される数値ですので固定ではありません。



102名無しさん@そうだ選挙にいこう :2007/01/29(月) 15:03:41
>>101
=RANKと=IFと=SUM

103名無しさん@そうだ選挙にいこう :2007/01/29(月) 15:03:49
>>101
例えばA1:A20が集計範囲だとしたら、配列数式で
{=SUM(A1:A100*(RANK(A1:A100,$A$1:$A$100,0)<4))}
とかかな?
RANK関数で順位を計算して、その上位3つを足し算してる。
同じ値のものがあると、意図したようには動かないかも。
そんな場合はいきなり関数でなくて、並べ替えしてから、
=SUM(A1,OFFSET(A1,1,0),OFFSET(A1,2,0))
とかでいいんじゃないかな?

104名無しさん@そうだ選挙にいこう :2007/01/29(月) 15:04:30
あ、A1:A20でなくて、A1:A100の場合の式だった。ごめんごめん。

105101 :2007/01/29(月) 15:27:07
>>102-104 の方
ありがとうございました、少しやってみます!

>>103にあるように並べかえれば楽なんですが横計算によっては順位がガラリと変わってしまうのでどうしてもそれが出来なかったのです。


106名無しさん@そうだ選挙にいこう :2007/01/29(月) 15:28:55
別シートにでも、ピボット組んでおけば、更新するだけで、
毎回上位順に並ぶけど。…ってもう解決してんだね。。

107名無しさん@そうだ選挙にいこう :2007/01/29(月) 15:31:00
LARGEがいいとおもう

108名無しさん@そうだ選挙にいこう :2007/01/29(月) 17:03:30
1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003

「レーザープリンター」を縦書きで書きたいんですが、
セルの書式設定→文字列でやると、





プ




  となってしまいます。哀れな僕に一のところを縦棒に変換する方法教えてくださいませ。


109名無しさん@そうだ選挙にいこう :2007/01/29(月) 17:19:12
>>108
普通にやれば縦棒になるが

110名無しさん@そうだ選挙にいこう :2007/01/29(月) 17:27:53
>>108
セルの書式設定の方向って囲みの中、

 文
 字
 列

って書いてる所をクリックしておk。

111名無しさん@そうだ選挙にいこう :2007/01/29(月) 17:55:38
Excelアウトプットにコメントを加えなさいって言われたけど
Excelアウトプットってなに?


112名無しさん@そうだ選挙にいこう :2007/01/29(月) 18:18:26
言った奴に聞いてくれ

113名無しさん@そうだ選挙にいこう :2007/01/29(月) 18:26:14
ヘッダかフッタだろうと予想

114名無しさん@そうだ選挙にいこう :2007/01/29(月) 18:37:06
>>101

107の言う通り。
=LARGE(範囲,1)+LARGE(範囲,2)+LARGE(範囲,3)
でできると思う。

115108 :2007/01/29(月) 18:41:17
109さん.110さん。アドバイスありがとうございます。
職場のパソコンだとできなかったんですが、
家のパソコンでやったら普通にできました。


116名無しさん@そうだ選挙にいこう :2007/01/29(月) 20:27:54
質問です
同じセル内に文字と数値を入れて、数値だけを合計計算できますか?

たとえば、

セット
5000


6000


3000


セット
2000

のような感じで、一つのセルの中に文字が入る場合でオートサムを使えますか?

117名無しさん@そうだ選挙にいこう :2007/01/29(月) 20:33:11
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 VBA、JS、DS、インポート、共通、別ファイル、tips

同じ関数(モジュール?)を複数の別ファイルで使いたいのですが、その方法が分かりません。
人にちらっと聞いたところ、DSだかの拡張子のファイルを作成しインポートするというのを聞きました。
しかし検索してもDSだと全くヒットしないので、もしかしたらJSかと思って検索をしていますが、やっぱり分かりません。
共通のファイルをインポートするだけでいけるのか、DLLしか方法はないのか、良い方法を教えてください。

118名無しさん@そうだ選挙にいこう :2007/01/29(月) 20:44:38
>>116
オートサム限定ならやったんだろ?無理だよ。
つか、計算する数字を何故に文字列と同セルにぶちこむ?

119名無しさん@そうだ選挙にいこう :2007/01/29(月) 20:51:41
>>117
ttp://www.google.co.jp/search?hl=ja&q=EXCEL+%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E5%AE%9A%E7%BE%A9%E9%96%A2%E6%95%B0&lr=

120名無しさん@そうだ選挙にいこう :2007/01/29(月) 20:58:33
>>118
そうですか・・・無理ですか
一つの商品に、一つの値段じゃないもので、セット価格と言う意味でわかりやすく作ったのですが、
計算ができず。

121117 :2007/01/29(月) 20:59:39
>>119
なるほどアドインを使うんですね。分かりました。
クラスモジュール?と探していたところでした。
ありがとうございます。

122名無しさん@そうだ選挙にいこう :2007/01/29(月) 23:33:17
もう一台PCがないとVBA走らせてる間なーもでけんヽ(冫、)ノ

123名無しさん@そうだ選挙にいこう :2007/01/29(月) 23:39:52
>>122
VistaPC買え

124名無しさん@そうだ選挙にいこう :2007/01/29(月) 23:42:22
あと20分くらい?

125名無しさん@そうだ選挙にいこう :2007/01/30(火) 21:23:11
今日は静かだな

126名無しさん@そうだ選挙にいこう :2007/01/30(火) 21:52:16
Excel2007で遊んでいるのか?

127名無しさん@そうだ選挙にいこう :2007/01/30(火) 21:59:24
質問答えるしか趣味無い奴必死だなw

128名無しさん@そうだ選挙にいこう :2007/01/30(火) 22:40:33
質問お願いします

ある特定のセルの値が「達成」なら「達成」
違えばあとB1のセルとC1のセルの差を出し、
「あと○○%です」と返す式を作りたいのですが、

=if(A1="達成","達成","あと"B1-C1"です")

と言う式だと作成することができません。
このようなことは可能でしょうか?

129名無しさん@そうだ選挙にいこう :2007/01/30(火) 22:56:26
>>128

=if(A1="達成","達成","あと"&B1-C1&"です")

130名無しさん@そうだ選挙にいこう :2007/01/30(火) 22:57:30
>>129
マジでサンクス

131名無しさん@そうだ選挙にいこう :2007/01/30(火) 23:56:04
>>89
亀だが、

Destinationはシートが違うと使えん。少なくとも俺は。
範囲コピー→コピー先アクティブ→ペースペ
で我慢。

132名無しさん@そうだ選挙にいこう :2007/01/31(水) 00:20:29
初心者質問ですみません
二つ以上の条件に一致した件数を抽出するにはどうすればよいのでしょうか?
countifでは1つの条件にしか適用できず困っております

133名無しさん@そうだ選挙にいこう :2007/01/31(水) 00:22:43
>>132
複合して使う

134132 :2007/01/31(水) 00:25:29
>>133
早速のレスありがとうございます
複合とはどういった処理でしょうか?

135名無しさん@そうだ選挙にいこう :2007/01/31(水) 00:29:26
>>134
組合すの
=COUNTIF(…)-COUNTIF(…)とか
どういう複数条件か知らないのでこれは一例
具具って調べて

136132 :2007/01/31(水) 00:44:56
度々すみません
例:列Bが「Aさん」でかつ列Cが「有休」である件数を抽出

    A B C(列)
1  1日 A 有休
2  2日 B 有休
3  3日 A 有休
4  4日 C 有休
(行)

※実際には有休以外に項目はあります
どのような数式を当てはめればよいのでしょうか?


137名無しさん@そうだ選挙にいこう :2007/01/31(水) 00:57:04
>>136
=SUMPRODUCT((B1:B4="A")*(C1:C4="有給"))


138名無しさん@そうだ選挙にいこう :2007/01/31(水) 01:00:33
>>136
D1に=AND(B1="A",C1="有休")
下までコピー
COUNTIFでTRUEの数を数える

139132 :2007/01/31(水) 01:02:50
>>137
>>138
ご回答ありがとうございました。
早速試してみます

140名無しさん@そうだ選挙にいこう :2007/01/31(水) 02:16:44
すいません。
マクロで複数のシートで同一形式のグラフを作りたいんですが、
シートごとに要素数が異なるためうまくつくれません。
アクティブなシートごとに行数を取得する方法はありませんか?
例えば
Sheet1:A1:A898
Sheet2:A1:A894
の場合、Sheet1でできてもSheet2では引数が足りずエラーになります。

よろしくお願いします。

141名無しさん@そうだ選挙にいこう :2007/01/31(水) 04:45:42
>>140
CurrentRegionプロパティ使ってみたらどう?
Range("A1").CurrentRegion.Select でA1からの表を選択

142名無しさん@そうだ選挙にいこう :2007/01/31(水) 05:18:29
>>141

ActiveChart.SetSourceData Source:=Sheets _
("hoge").Range("A1:A893,D1:D893"), PlotBy:=xlColumns

の場合Range("A1").CurrentRegion.Selectをどう使えばよいでしょうか?


143名無しさん@そうだ選挙にいこう :2007/01/31(水) 17:23:50
▼がセルの右側に出て
複数の選択で選ぶことのできるヤツってどうすればできますか?

144名無しさん@そうだ選挙にいこう :2007/01/31(水) 17:31:06
入力規則のリストか
コントロールツール、又はフォームツールのコンボボックス

145名無しさん@そうだ選挙にいこう :2007/01/31(水) 17:43:54
>>143
多分、
データ→入力規則
の事かと。

146名無しさん@そうだ選挙にいこう :2007/01/31(水) 18:57:06
>>144-145

ありがとうございます。無事できました
エクセル2000です。
1.他のシートに選択肢の一覧を置いて選択できるようにはできないのですか?

=CONCATENATE(A1+B1)を他のシートを参照したいのですが。


147名無しさん@そうだ選挙にいこう :2007/01/31(水) 19:34:57
>>146
名前

148名無しさん@そうだ選挙にいこう :2007/01/31(水) 19:46:24
すみません
これで
http://rosso.1717.info/upload/data/20070131.jpg

今はC列を手動で入力してるんですけど、これをB列
を入力しただけで、自動的にC列が表示されるように
するには、どういう計算式をC列セルに入れておけば
いいのでしょうか?

=●+●とかオートフィルを使って、B列の一日ごとに
入力するたびに、それまでのB列の合計をC列に表示
させたいんですけど…


14989 :2007/01/31(水) 19:49:41
>>131
ExcelヘルプのRange オブジェクトの Copy メソッド の使用例にはこうあるんですよ。
それでこれを使おうと思ったんです。

次の使用例は、シート 1 のセル範囲 A1:D4 をシート 2 のセル範囲 E5:H8 にコピーします。

Worksheets("Sheet1").Range("A1:D4").Copy _
destination:=Worksheets("Sheet2").Range("E5")

150名無しさん@そうだ選挙にいこう :2007/01/31(水) 20:10:36
>>148
IF関数

151名無しさん@そうだ選挙にいこう :2007/01/31(水) 20:14:48
>>148
C3は = C2 + B3
C4以降はC3をフィル

152名無しさん@そうだ選挙にいこう :2007/01/31(水) 20:20:29
>>151
ありがとうございます
できました

153名無しさん@そうだ選挙にいこう :2007/01/31(水) 22:46:39
復活したかな?

154名無しさん@そうだ選挙にいこう :2007/01/31(水) 23:16:28
読み取り専用にチェックがついていないエクセルファイルを
読み取り専用で開く方法を教えて下さい

155名無しさん@そうだ選挙にいこう :2007/01/31(水) 23:17:13
>>154


156名無しさん@そうだ選挙にいこう :2007/01/31(水) 23:22:55
>>155
読み取り専用で開く場合って、右クリ⇒プロパティの読み取り専用にチェック
するじゃないですか

そうじゃなくて、読み取り専用でないファイルを読み取り専用で開く方法ないですかね?
ってこと

157名無しさん@そうだ選挙にいこう :2007/01/31(水) 23:27:16
>>156
「シートの保護」or「ブックの保護」でGoogle

158名無しさん@そうだ選挙にいこう :2007/01/31(水) 23:32:10
>>156
ファイルを開くダイアログでファイルを右クリック

159名無しさん@そうだ選挙にいこう :2007/02/01(木) 00:03:45
エクセルで
1.テキストファイルを大量に検索して
2.そこにある特定の文字列を正規表現で抜き出す
3.セルに書き出す

ってできますか・?

160名無しさん@そうだ選挙にいこう :2007/02/01(木) 00:05:20
>>159
質問があいまいなので出来るとも出来ないとも言える

161名無しさん@そうだ選挙にいこう :2007/02/01(木) 00:23:20
1.とあるフォルダに入ってる大量のファイルから
2.特定のパターン文字列を取り出して  
<font size="3"><b>大阪名物</b></font>
p;[0120]
(500円(税込))
3.エクセル内のセルに貼り付ける
行A          B     C
大阪名物 |  0120  | 500
 


162名無しさん@そうだ選挙にいこう :2007/02/01(木) 00:27:44
>>159
出来る。

163名無しさん@そうだ選挙にいこう :2007/02/01(木) 00:29:30
すみません、このサイトの
中央職業能力開発協会(JAVADA) ttp://www.javada.or.jp/top.html
ここ↓のページからダウンロード出来る 表計算部門 3級の問題を解いているのですが
ttp://www.javada.or.jp/jigyou/gino/sinsa_comp/siken.html
どうしてもX軸がプロットエリアの上に来てしまい、解答のように作れません
どうしたら出来るのか、ご存じの方いらっしゃいましたら教えてくださいorz

ここまでは出来ているのですが・・・根本的に間違っているのでしょうか?orz
http://kjm.kir.jp/pc/?p=29050.jpg

164名無しさん@そうだ選挙にいこう :2007/02/01(木) 00:31:03
>>161
>>159の人?
「特定パターン」の必要な情報がさっぱり無いからはっきりとは言えないが、書かれている内容から推測すると正規表現では難しそうだね

165名無しさん@そうだ選挙にいこう :2007/02/01(木) 00:37:06
>>163
軸の書式設定→パターン→目盛ラベル

166名無しさん@そうだ選挙にいこう :2007/02/01(木) 00:42:43
>>165
できました!!!
ありがとうございます!!!

167名無しさん@そうだ選挙にいこう :2007/02/01(木) 01:50:11
シート名が変更できなくなってしまいました。

変更すると頭に .8.xls] と自動で入ってしまい、
それ以外に変更しようとすると、
シートまたはグラフの名前が正しくありません のエラーが出てしまいます。

ご助力お願いします。

168名無しさん@そうだ選挙にいこう :2007/02/01(木) 04:48:00
>>161
grepなどで正規表現置換したあとExcelにインポートするか
VBAでテキストファイル読み込んで解析・整形・代入をするかだね。
正規表現についてはスレ違いだし、VBA書けないという情報は出されてないので
コードは自分で書いてね。

164は難しそうとか言ってるけど、数値と「大阪名物」の部分が
可変なだけなら正規表現でも簡単に出来るから。

169名無しさん@そうだ選挙にいこう :2007/02/01(木) 05:25:37
>>142
離れている行ならこんな感じで

Dim rngA As Range
Range("A1").Select
Set rngA = Union(Range("A1").Range(Selection, Selection.End(xlDown)), _
Range("D1").Range(Selection, Selection.End(xlDown)))
ActiveChart.SetSourceData Source:=rngA, PlotBy:=xlColumns

170名無しさん@そうだ選挙にいこう :2007/02/01(木) 12:32:37
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel 合計 組み合わせ 特定

ある列の数値の内いくつかを合計した数値だけがわかっています。
どの数値を合計したものなのかを特定する方法があれば教えて頂きたく思います。
ちなみにいくつの数値を合計したものなのかはわかりません。

具体的にはこんな感じです。
「この中から足すと87になる数値の組み合わせを特定しなさい」

15
25
3
56
34
28
35
60

よろしくお願いします。

171名無しさん@そうだ選挙にいこう :2007/02/01(木) 13:25:39
>>170
B1:I1にその15〜60
B2:I2に1 2 4 8 16 32 64 128
A3:A258に1〜255
B3に =MOD(INT($A3/B$2),2)*B$1 I258までフィル
J3に =SUM(B3:I3) J258までフィル
オートフィルタで抽出

データ数が増えると簡単に破綻するけどね

172名無しさん@そうだ選挙にいこう :2007/02/01(木) 13:40:28
>>171
ワークシート関数だけでってスゲェ…。

173名無しさん@そうだ選挙にいこう :2007/02/01(木) 14:02:30
つーか確定された手法でしょ
公式に当てはめてやるのと同じ

174名無しさん@そうだ選挙にいこう :2007/02/01(木) 14:38:19
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel 文字の大きさ 揃える

半角、全角それぞれ一文字の大きさを揃える方法は
無いでしょうか?

例えば
’あああああ’と、
’くくくくく’と書いた場合の長さを揃えたいのです。


175名無しさん@そうだ選挙にいこう :2007/02/01(木) 14:47:04
プロポーショナルフォントを使う
ゴシック → Pゴシック
等に変更する

176名無しさん@そうだ選挙にいこう :2007/02/01(木) 14:47:51
>>174
プロポーショナルフォント(文字毎に文字幅が異なるフォント)を使わなければ良いだけでは?
具体的には「MS Pゴシック」の変わりに「MS ゴシック」とか

>>175
逆だろw

177174 :2007/02/01(木) 14:58:27
「MS ゴシック」で出来ました。
ありがとうございました。

178名無しさん@そうだ選挙にいこう :2007/02/01(木) 16:17:33

セルA-1 draemon
セルA-2 nobi nobita

とあってもし空白があったら
空白を+に置き換えしてなければそのままでBに返すってできますか?


セルA-1 draemon
セルA-2 nobi+nobita


179名無しさん@そうだ選挙にいこう :2007/02/01(木) 16:20:45
>>178
>>4
> ★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)
>  ▼数式・関数
>   ・ 値の書き換え、値の保持 (VBA)

別な場所に結果を返して元の場所に値の貼付をするか、VBA使うしかない

180名無しさん@そうだ選挙にいこう :2007/02/01(木) 17:43:45
>>178
文字列があるかどうかの判定は「=FIND()」関数。
あとはオートフィルタで絞ってGo。

181名無しさん@そうだ選挙にいこう :2007/02/01(木) 18:53:19
置換つかえ

182名無しさん@そうだ選挙にいこう :2007/02/01(木) 19:35:34
ふむ、フィルタ(" "を含む)と置き換えでおkだな

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

1  ○○   1  ○○
2        2
3        3
4        4
5        5
6        6
・        ・
・        ・
・        ・
・        ・
25 ○○   148 ○○
・        ・
49 ○○   289 ○○ 
・        ・
73 ○○   433 ○○

左図を右図のように、行挿入を繰り返したいのですが、
達人お教えください。


左図を右図のように行の挿入を行いたいのですが、


184名無しさん@そうだ選挙にいこう :2007/02/01(木) 20:43:29
疲れているんだろうか・・・>>183が何を聞きたいのか分からない

185名無しさん@そうだ選挙にいこう :2007/02/01(木) 20:51:19
俺漏れも…

186名無しさん@そうだ選挙にいこう :2007/02/01(木) 20:52:55
手動でやってくれ

187名無しさん@そうだ選挙にいこう :2007/02/01(木) 20:55:16
すみません。みなさんは疲れてません俺が馬…。
24行おきの行を
144行おきにかえたいのですよ。

上の右図148は間違いで145でした。

188名無しさん@そうだ選挙にいこう :2007/02/01(木) 20:57:03
どういう処理でそれが発生しているのか、非常に気になるw

189名無しさん@そうだ選挙にいこう :2007/02/01(木) 20:58:35
>>187
+24でまわしてるループを+144でまわせばいいじゃん。

190名無しさん@そうだ選挙にいこう :2007/02/01(木) 21:02:49
>>183
@B列をクリア
AC1あたりに、「=MOD(A1,145)」と書き、下までフィル
Bオートフィルタ展開→C列が「0」で絞る
CB列にマーキング
DC列をクリア

1行目は手動で。

191名無しさん@そうだ選挙にいこう :2007/02/01(木) 21:05:13
>>187
これでどうだ。

Sub test()
Dim cnt As Long
Dim arr As Long
Dim arr2 As Long
Dim temp() As String
cnt = 0
arr = 0
arr2 = 0

Do While cnt < 1000
temp(arr) = Cells(cnt, 1).Value
arr = arr + 1
cnt = cnt + 24
Loop
ActiveSheet.Clear
cnt = 0
For arr2 = 0 To arr
Cells(cnt, 1).Value = temp(arr2)
cnt = cnt + 144
Next
End Sub

ちなみに未テスト

192名無しさん@そうだ選挙にいこう :2007/02/01(木) 21:05:54
一年間、一時間ピッチのデーターを10分ピッチのデータに貼り付けるのです。

>>190さん
やってみます。できるかなー。


193名無しさん@そうだ選挙にいこう :2007/02/01(木) 21:07:18
>>192さん
それもやってみます。

みなさん、忙しいのに感謝。

194名無しさん@そうだ選挙にいこう :2007/02/01(木) 21:11:25
temp(arr) = Cells(cnt, 1).Value

デバックエラーがでまつ。

195名無しさん@そうだ選挙にいこう :2007/02/01(木) 21:14:03
>>194
ぱっと見、動的配列で宣言してるからじゃないのか?
めんどくさいからためすことはないが

196名無しさん@そうだ選挙にいこう :2007/02/01(木) 21:16:33
時間かけてVBAでやる必要はないしなw

197名無しさん@そうだ選挙にいこう :2007/02/01(木) 21:20:40
ああ、わたしのレベルでは無理そうです。
朝まで手動でいきます。

ありがとうございました。

198名無しさん@そうだ選挙にいこう :2007/02/01(木) 21:23:12
>>197
>>190が出来ないと?

199名無しさん@そうだ選挙にいこう :2007/02/01(木) 21:23:44
>>194
Do While cnt < 1000
Redim preserve temp(arr + 1)
temp(arr) = Cells(cnt, 1).Value

じゃあこうに変更でどうだ。
テストなしじゃ通らんな。

200名無しさん@そうだ選挙にいこう :2007/02/01(木) 21:23:45
>>197
Doの上の行に ReDim temp(arr) って付けてみ
俺は試さないが

201170 :2007/02/01(木) 21:28:07
>>171
レスありがとうございます

勉強不足を痛感しました
頭の使い方が悪かったのも理解しました

これから励みます

202名無しさん@そうだ選挙にいこう :2007/02/01(木) 21:34:10
temp(arr) = Cells(cnt, 1).Value
やはりでバックエラーでつね。

>>198
すみません。ほんとだめなやつなんす。

203名無しさん@そうだ選挙にいこう :2007/02/01(木) 21:58:43
>>197
Sub test()
Dim cnt As Long
Dim arr As Long
Dim arrTwo As Long
Dim temp() As Variant
cnt = 1
arr = 1
arrTwo = 1

Do While cnt < 65500
If Not IsEmpty(ActiveSheet.Cells(cnt, 1)) Then
ReDim Preserve temp(arr)
temp(arr) = ActiveSheet.Cells(cnt, 1).Value
arr = arr + 1
End If
cnt = cnt + 24
Loop
ActiveSheet.Cells.Clear
cnt = 1
For arrTwo = 1 To arr - 1
ActiveSheet.Cells(cnt, 1).Value = temp(arrTwo)
cnt = cnt + 144
Next
End Sub


完成。
テスト済み

204203 :2007/02/01(木) 22:09:39
シートがどういう状態かしらんけど、
このマクロは動くからな、ちゃんとコピーして予備つくっといてくれよ。
24行ごとが144行になるってことは1万行くらい書いてあったらあふれるんだからな。

手遅れでもしったこっちゃないが。

205名無しさん@そうだ選挙にいこう :2007/02/01(木) 22:13:10
ありがとうございました。出来ました。スゴス。
これを機会に私も勉強してみます。

連続した行に144行空けるってーのは
簡単に出来るもんなんすか?

206名無しさん@そうだ選挙にいこう :2007/02/01(木) 22:16:16
http://vista.jeez.jp/img/vi7033547985.jpg

これはF列までが有効になっており、カーソルもF列より右には行かないですが、
このように特定の列や行までを有効にするにはどうしたらいいですか。

207名無しさん@そうだ選挙にいこう :2007/02/01(木) 22:22:53
>>205
1発で動かんかったからでかいことはいえんけども、
単純な入力作業を楽にするってだけなら簡単。
[VBA]でぐぐって頑張って。
簡単なのは[マクロの自動記録]で。

208名無しさん@そうだ選挙にいこう :2007/02/01(木) 22:25:20
>>207
自動記録。うし、やってみます。
あのマクロは大事にとっておきます。
どもでした。

209名無しさん@そうだ選挙にいこう :2007/02/01(木) 22:30:12
>>206
表示 〜 改行プレビュー
とか何とか、その辺じゃねーの



210名無しさん@そうだ選挙にいこう :2007/02/01(木) 22:38:18
>>206
E列より右の全列が非表示になってるだけ。
書式→列→表示しない

211206 :2007/02/01(木) 22:39:05
>>209
表示系のメニューも含めてほぼ全メニューを見たのですが、
どうしてもわからないのです。。。

212206 :2007/02/01(木) 22:45:27
>>210
どうもありがとうございます。

部分的な列の非表示はやったことがあったのですが、
「E列より右の列全て」非表示という発想がありませんでした。

ありがとうございました。

213名無しさん@そうだ選挙にいこう :2007/02/01(木) 23:17:40
windows xp
excel2003を使用しています

画像を挿入して、その画像の上に文字を入力したいのですがわかりません

貼り付けた画像→右クリック→順序→背面へ移動
としてみましたが、何もかわらず・・・・・

わかる方いらっしゃいましたらよろしくお願いいたします。
質問の意味わかりにくいでしょうか?


214名無しさん@そうだ選挙にいこう :2007/02/01(木) 23:19:54
>>191って行の挿入じゃなくね?
質問した>>183が満足なら問題ないんだが。

215名無しさん@そうだ選挙にいこう :2007/02/01(木) 23:24:55
>>213
セルの背景に画像を表示させる感じにしたいのか?
画像の上に矢印やら注釈文を付けたいのか?

前者は無理だった気がするが、後者ならテキストボックスを挿入しろ

216名無しさん@そうだ選挙にいこう :2007/02/01(木) 23:29:35
>>214
大満足してますよ。

今は別のことで悩んでる。
もう、聞く勇気はありません。

217名無しさん@そうだ選挙にいこう :2007/02/01(木) 23:30:35
エクセルの質問ではないのだが、ここで質問している奴、答えている奴は普段はどんな仕事
してるんだ?

職場(事務の仕事なんだが)ではエクセルを使うことが多くて、ある程度のことなら(基本作業なら)できるが、
このスレの質問のレベル、答えている人のレベルはかなり高いと思う。

どうやってここまで知識を得たのか教えてくれないか?お勧めの参考書などがあれば
教えてくれ

218名無しさん@そうだ選挙にいこう :2007/02/01(木) 23:38:01
>>217
習うより慣れ
参考書よりMSDN

219名無しさん@そうだ選挙にいこう :2007/02/01(木) 23:39:16
>>216
http://pc10.2ch.net/test/read.cgi/tech/1168308855/
余裕あったら一切期待しないでこっちに書いてみて。
今VBA勉強中の身で質問求むなので。
運がよければ即答できるかもしれないじゃないか。

>>217
大村なんとかの三巻で一セットのやつオススメ
基本、応用、コントロールのやつ。
あとは、グーグルで、[OLEObject]と[DOM]をぐぐりまくる。
APIはおいらも勉強中。

220名無しさん@そうだ選挙にいこう :2007/02/01(木) 23:42:53
>>219
こんなスレがあったのですね、
ちょっとのぞいてみます。ありがとう。

221名無しさん@そうだ選挙にいこう :2007/02/01(木) 23:54:17
>>215
ありがとうございます
前者のほうなんですが、後者でも十分いけそうです

前に使っていたスタースイートでは出来たのでエクセルでも出来るかと思ったのですが無理なんですね・・・

すっごく早いレスありがとうございました


222名無しさん@そうだ選挙にいこう :2007/02/01(木) 23:55:43
>>217
株やってるとVBAまで使いこなせるようになるよ。
毎日のデータ更新、明日の仕掛ける銘柄の計算があるから。
理論、数式をコードに書き換えるだけだから、はじめは時間が
かかってもそれなりに動くよ。

必要は発明の母。株をやってエクセルも金も一石二鳥(嘘半分

223名無しさん@そうだ選挙にいこう :2007/02/02(金) 00:43:50
>>218
基礎的な知識無しでMSDN読んでると眠くなりそうな気がw

224名無しさん@そうだ選挙にいこう :2007/02/02(金) 06:40:37
>>223
昼間でも眠たくなること請け合い w

225名無しさん@そうだ選挙にいこう :2007/02/02(金) 06:48:24
バカで無知な奴がMSDN読むと眠くなる
予備知識のある奴や、頭の回転が良い奴なら問題ない
本来こうではいけないんだけどな
こういうものは無知なバカが理解できるように作らないと

226名無しさん@そうだ選挙にいこう :2007/02/02(金) 08:55:51
この「日本語訳」丸出しの文章が難だよなぁw

227名無しさん@そうだ選挙にいこう :2007/02/02(金) 09:26:53
英語ページ読めばいいだけじゃん。
英語ページの方が情報量も多いし。

228名無しさん@そうだ選挙にいこう :2007/02/02(金) 09:52:14
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 移動 マクロ オブジェクト

グラフの上にテキストボックスとオートシェイプをいくつか配置してあり、
そんなシートが60枚ほどあります。
全てのシートのテキストボックスだけをグラフの端に揃えたいのですが
マクロでやろうとすると元の位置から○○座標分移動となってしまい上手くいかんとです

Selection.ShapeRange.IncrementLeft 31.5
これを指定した絶対座標に移動させるにはどうやったらいいんでしょうか?

229228 :2007/02/02(金) 10:26:57
ごめん、事故解決しますた
Selection.ShapeRange.IncrementLeft -9999
Selection.ShapeRange.IncrementLeft 移動量

ヘルプ見ててもサッパリわからず、一度X座標を0に揃えてやる方法しか思いつかなかった
玄人目にはダメダメに見えるかもしれないけど・・

230名無しさん@そうだ選挙にいこう :2007/02/02(金) 10:40:36
windowsXPを持っているのですが、excelが入っていません。
どこか無料でダウンロードできるところがあるでしょうか?


231名無しさん@そうだ選挙にいこう :2007/02/02(金) 10:43:50
>>230
ちょっと違うが。
http://www.google.co.jp/search?num=50&hl=ja&inlang=ja&q=OpenOffice&lr=

ちなみにExcelは有償ソフトです。

232名無しさん@そうだ選挙にいこう :2007/02/02(金) 10:46:15
   ∩___∩         |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |      >>230
/     ∩ノ ⊃  ヽ
(  \ / _ノ |  |
.\ “  /__|  |

233名無しさん@そうだ選挙にいこう :2007/02/02(金) 17:51:45
テストを受けなかった人は零点なんですが、零点の人を除いて平均を出した
いときはどうすればいいですか?(受けて零点、というケースはないとして)



234名無しさん@そうだ選挙にいこう :2007/02/02(金) 18:01:13
>>233
それに対応した関数があるのでヘルプで調べてごらん

235名無しさん@そうだ選挙にいこう :2007/02/02(金) 19:40:46
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】合計


たとえば、
2  4   5   4
2  6  11  15


というように、上の段が今日の数字。下の数字がそれまでの数字の合計。
自動的に、上の段の数字を入力するだけで、下の合計を出す関数ってありますか?

236名無しさん@そうだ選挙にいこう :2007/02/02(金) 19:54:04
>>235
自分自身は足せないと思う。
関数では。

237名無しさん@そうだ選挙にいこう :2007/02/02(金) 20:04:19
>>233
A1〜A10に点数がある場合。
=SUM(A1:A10)/COUNTIF(A1:A10,"<>0")


>>235
もう1行、数式を入れる行を用意すれば可。

2  4   5   4  →今日の数字
=SUM(A1,A3)      →この行を挿入。
2  6  11  15  →昨日までの数字

238名無しさん@そうだ選挙にいこう :2007/02/02(金) 20:15:36
関数なんか使わんだろ

  A   B   C   D
1 2   4   5   4
2 2   6  11  15

A2=A1
B2=B1+A2
C2からはB2をフィルコピー

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

2002年から2006年までの膨大な情報を年毎にフォルダに分け、
それぞれの年間総合計シートを筆頭に、2枚目以降のシートは
月毎にIDナンバー順に並べ替えるという作業をしています。
同じ作業の繰り返しなので、マクロ記録をして簡略化しています。
が、基本となる年間総合計シートの名前がそれぞれ違うので、
実行するとエラーになります。そのためフォルダ毎に
マクロ記録を1から作り直しています。
何か無駄な作業をしているような気がします。
もっと一回作った記録を使いまわせる効率のいい方法があるような…。
あと何が悪いのか、作った記録がエラーになる場合も多いです。
今回初めて使う機能なので戸惑います。
マウスに少し触れてしまって行の幅がずれてしまっただけでもう実行
してくれないものなのですね。
何かあらかじめこういうところに気をつけてから記録を開始したら
エラーを防げるよなど知恵があれば授けてください。
いくらでも時間をかければ仕上げられますが、量は膨大でも
簡略化さえできればきっと短時間で終わる作業だろうと思っています。

240名無しさん@そうだ選挙にいこう :2007/02/02(金) 20:35:19
>>239
そのシートが常に一番左にあるなら、
Worksheets(1)
と指定してやればおk。

241名無しさん@そうだ選挙にいこう :2007/02/02(金) 20:50:21
>>236
>>237
>>238
ありがとうございました。

242名無しさん@そうだ選挙にいこう :2007/02/02(金) 21:42:06
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 もはやプロ級で、神の領域にすら到達しつつあるようだ。
【4 VBAでの回答の可否】 可
【5 検索キーワード     】色々検索しすぎて忘れちゃったよ。もう歳なのかな。

既に作られているオートシェイプや図が、どのセルに表示されているか取得することは可能?

243名無しさん@そうだ選挙にいこう :2007/02/02(金) 21:48:16
つまんね

244242 :2007/02/02(金) 21:50:32
褒めてくれてありがとう。

245名無しさん@そうだ選挙にいこう :2007/02/02(金) 21:52:48
どのセルかってのは知らん。
位置なら、
Sheets(1).Shapes.Item(1).Left
                .Top
で取れるんじゃ?

246242 :2007/02/02(金) 22:07:17
それって、図が表示されてるドットとかの位置での取得じゃ?
セル単位での位置の取得方法は無いでございますか?

さぁ我慢しないで答えてくれたまえ
君のためならこの命尽きるまで待ってあげるから・・・

247名無しさん@そうだ選挙にいこう :2007/02/02(金) 22:10:33
>>242
http://www2s.biglobe.ne.jp/~iryo/2vba/vba29.html#no299

248名無しさん@そうだ選挙にいこう :2007/02/02(金) 22:11:35
>>242
自分で調べろ!

249242 :2007/02/02(金) 22:13:54
>>247
アアあった。どうもありがとうございまする。

>>248
私の質問は君が調べなさい。


それではエクセル制作に戻るので、ごきげんよう。

250名無しさん@そうだ選挙にいこう :2007/02/02(金) 22:22:02
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 少しぐらいなら
【4 VBAでの回答の可否】 可!

Excelでテストをして、その結果を結果n(nは1,2,3〜)シートを
作成して貼り付けていきたいと思ってます。んで、そこで現在
結果nの最大値は何かって知りたいんですけど。
最初の時点では当然結果1シートも無いので、そこから判断していく
方法を教えたってください〜。

251名無しさん@そうだ選挙にいこう :2007/02/02(金) 22:26:51
>>250
メモリに依存するのでは?

252名無しさん@そうだ選挙にいこう :2007/02/02(金) 23:07:14
Sheets.Count

253名無しさん@そうだ選挙にいこう :2007/02/02(金) 23:29:01
>>250
結果nを随時シートにコピーしていくなら
ForEachステートメントでワークシートをカウントして調べるか
シート名を調べれば拾える
結果nをシートにコピーしていない状態だと>>251の言うとおり
メモリに依存するかもしれない
というか詳細書いて無いから詳しく答えられん

254名無しさん@そうだ選挙にいこう :2007/02/02(金) 23:45:44
Excel2002を使用しています。
出勤表を作成していますが

A B   C
出    退    出勤時間
8:30 17:00   7.5

7時間半勤務なので↑こんな風にCを7.5と表示させるにはどうすればようでしょうか?

255名無しさん@そうだ選挙にいこう :2007/02/02(金) 23:46:45
ものすごいズレてしまいました。お願いします……

256名無しさん@そうだ選挙にいこう :2007/02/02(金) 23:59:58
>>254
=MAX(7.5,(B2-A2)*24)
こうですか?

257名無しさん@そうだ選挙にいこう :2007/02/03(土) 00:00:03
質問させてください
手書きで上がってきた紙ベースのデータを
日々、打ち込むという単純作業をしています
これを以下のようにして短絡化するのは無理でしょうか?

@手書きのデータを(A3)スキャンする
Aスキャンしたデータを文字だけのデータにして(ラスタデータみたいなかんじ)
 縮尺をPC内のエクセル表と同じ倍率にして貼り付ける
B手書きのデータの数字がPC内の表に貼り付けられる
C数字が貼り付けられたところをなぞるイメージでデータ打ちこみ

というかんじです
CADのトレース作業などでよく行われる手法ですがそれを
エクセルでも応用できるでしょうか?
またそのためのフリーソフトなどありましたら教えてください。

258256 :2007/02/03(土) 00:10:21
MINだったか

259名無しさん@そうだ選挙にいこう :2007/02/03(土) 00:11:00
>>257
http://www.google.co.jp/search?hl=ja&ie=Shift_JIS&q=OCR%83%5C%83%74%83%67&num=50

260名無しさん@そうだ選挙にいこう :2007/02/03(土) 00:12:39
>>257
Excel単体じゃ無理。
OCR系のソフト買って、テキストエディタで加工して貼り付けがベター。
直でExcel形式に取り込めるものだと、うまくいかない場合が多い。

261名無しさん@そうだ選挙にいこう :2007/02/03(土) 00:13:38
>>256さん有難うございました。
どうやら24を掛け算するだけで僕は幸せになれそうです。

262名無しさん@そうだ選挙にいこう :2007/02/03(土) 00:14:13
>>257
OCRソフトであるかもしれませんね

263名無しさん@そうだ選挙にいこう :2007/02/03(土) 00:15:47
手書きだからOCRはどうかな?
まあ、なに使うかは自由だけど

264名無しさん@そうだ選挙にいこう :2007/02/03(土) 00:21:02
手書きだったら読めないな

265名無しさん@そうだ選挙にいこう :2007/02/03(土) 00:23:33
どうして24掛けるの?

266名無しさん@そうだ選挙にいこう :2007/02/03(土) 00:24:57
人によっては手書き対応のOCRでも読めないよ

267257 :2007/02/03(土) 00:50:37
皆様、反応ありがとうございます
OCRソフトというものがあるんですか 知らなかった・・
ちょっとじっくり勉強させてもらいます 
その後また報告させてください

268名無しさん@そうだ選挙にいこう :2007/02/03(土) 00:57:26
>>250
これがわからん。
@どの段階でシートが作られるのか
Aどんな形式でシートに結果が出力されるのか
B結果1シートがない状態(つまりなにも結果がない状態)で最大値を判断とは

シートのすべてのセルを走破して値を調べてたらえらいかかるし…。

269名無しさん@そうだ選挙にいこう :2007/02/03(土) 08:15:17
>>265
24時間を0〜1に等分しているから

>>266
俺だ....orz

270名無しさん@そうだ選挙にいこう :2007/02/03(土) 08:22:10
>>237
ありがとうございました!

271名無しさん@そうだ選挙にいこう :2007/02/03(土) 11:58:55
一見セルの中には文字列、例えば「二十歳」とあるけど、
数値として「20」が記入されている様にするには、どうすればいいの。


272名無しさん@そうだ選挙にいこう :2007/02/03(土) 12:25:53
携帯のメールみたいに予想入力する方法ってあるんですか??


273名無しさん@そうだ選挙にいこう :2007/02/03(土) 12:26:26
>>271
http://www.google.co.jp/search?hl=ja&ie=Shift_JIS&q=Excel+%8A%BF%90%94%8E%9A+%8A%D6%90%94

274名無しさん@そうだ選挙にいこう :2007/02/03(土) 12:29:37
>>272
純粋な予測入力は無い。
同じ列に以前に入力されているものを予測して出す機能はある。
http://www.google.co.jp/search?num=50&hl=ja&inlang=ja&q=Excel+%E3%82%AA%E3%83%BC%E3%83%88%E3%82%B3%E3%83%B3%E3%83%97%E3%83%AA%E3%83%BC%E3%83%88

275名無しさん@そうだ選挙にいこう :2007/02/03(土) 12:34:51
>>271
273の「Excel 漢数字 関数」は間違い
関数ではなく表示形式で出来る

関数だと別セル表示になっちゃうからな

>>272
予測入力はVBA使わないと出来ない
同列入力値からの補完なら標準で有効になってるはず


276名無しさん@そうだ選挙にいこう :2007/02/03(土) 12:51:50
>>274

ありがとお

277名無しさん@そうだ選挙にいこう :2007/02/03(土) 13:20:11
メールアドレスを入力するとメーラーが起動してしまいます。
これを無効にしたいのですがどうしたら良いでしょうか?


278名無しさん@そうだ選挙にいこう :2007/02/03(土) 13:52:39
>>277
ツール > オプション
の中をよーく調べよう

279名無しさん@そうだ選挙にいこう :2007/02/03(土) 16:47:29
5分ごとに自動保存するにはどこで設定したらいいですか?

280名無しさん@そうだ選挙にいこう :2007/02/03(土) 17:20:03
>277 メールアドレスを入力しただけでは起動しません。
>278 バージョンで異なるのでは?

281名無しさん@そうだ選挙にいこう :2007/02/03(土) 17:50:36
>>279
オプションの中に「自動保存」タブがあれば、そこで。
古いバージョンだと無い。

282名無しさん@そうだ選挙にいこう :2007/02/03(土) 17:54:02
>>273,275
どうもありがと。おかげで出来ました。


そうだ、明日は県知事選挙だ。



283名無しさん@そうだ選挙にいこう :2007/02/03(土) 17:55:12
愛知?
http://up.nm78.com/old/data/up124657.jpg

284名無しさん@そうだ選挙にいこう :2007/02/03(土) 17:55:24
2000なので、ないですか。。。ありがとうございました。

285名無しさん@そうだ選挙にいこう :2007/02/03(土) 19:13:32
>>284
Excel2000なら
ツール→アドイン
の中にないか?
そこにチェックを入れればツールメニューに出るはず。

286名無しさん@そうだ選挙にいこう :2007/02/03(土) 20:02:08
アドイン使うなら、Excel97からあるはず。

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

すいません。日報にexcelを使用したいのですが。

簡潔に、日々の売上累計を記入するにはどのような方法がありますか?

やはり、関数を使用して、本日売上を記入してその後累計を求めるしか無いのでしょうか?

理想は、本日売上のみを日々記入すれば、完了っと言うのが良いのですが。。。

288名無しさん@そうだ選挙にいこう :2007/02/03(土) 20:33:21
>>287
オマイが何を売っていて、どのような表になるかを書け。

289名無しさん@そうだ選挙にいこう :2007/02/03(土) 20:37:53
>>285>>286
ありがとうございます。
アドインにありました。ディスク要求されましたが、うまくいきました。
この自動保存って、Wordの自動保存と同じですよね?
みなさんは使ってらっしゃらないんですか?

290287 :2007/02/03(土) 20:56:02
2/1                                           2/2
     本日         累計                    本日   累計
A  ¥100         ¥100        A¥200  ¥300
B   ¥100         ¥100                B¥300  ¥400
C  ¥200         ¥200                C¥100  ¥300
D  ¥500         ¥500                D¥300  ¥800

計 ¥900         ¥900                計¥900  ¥1800

って感じです。日々を数字と入力後、ページレイアウトで1ページ毎に区切って、1ページづつプリントする予定です。
1シートで1ヶ月分を作成したいと考えてます。

宜しくお願いします。



291名無しさん@そうだ選挙にいこう :2007/02/03(土) 21:27:25
>>290
SUBTOTALかな?

292名無しさん@そうだ選挙にいこう :2007/02/03(土) 21:28:42
>>287
その表を縦に繋いで書いてって、どっかにピボットテーブルで
日々の合計と累計取っておき、毎日ピボットを更新、みたいな。
SUMIFでも何でも良いが。

何せ、日別に表を横に進めるのは、データの使い方を間違ってる。

日付  商品  売上
02/01 A    \100
02/01 B    \100
02/01 C    \200
02/01 D    \500
02/02 A    \200
02/02 B    \300
02/02 C    \100
02/02 D    \300

こんな感じ。
印刷する時は、オートフィルタで日付を絞ってから。

293EX音声読み上げ :2007/02/03(土) 23:05:47
すみません。2003では設定すれば「ツール」→「音声」→「[読み上げ]ツールバー」でできた音声読み上げが
VistaでExcel2007ではできません。vbaではspeakメソッドで英語だけは読むのですが。
どなたか、お教えいただくか、何かの情報をいただけないでしょうか。


294名無しさん@そうだ選挙にいこう :2007/02/03(土) 23:42:02
>>293
その環境を持ってるの、君だけだと思うので、
Microsoftに訊いてみよう。

295名無しさん@そうだ選挙にいこう :2007/02/03(土) 23:45:37
>>293
スクリーンリーダー入れてるとか…

296名無しさん@そうだ選挙にいこう :2007/02/04(日) 00:33:54
293はマルチだから放置でいいよ

297名無しさん@そうだ選挙にいこう :2007/02/04(日) 01:10:04
>>230
すげー遅レスだけど、いまならOffice2007体験版が使えるよ。
2か月だけだけどExcelも入ってる。

298名無しさん@そうだ選挙にいこう :2007/02/04(日) 01:28:41
293です。
申し訳ありません。ルールをよく知らなかったもので。
もし、おわかりになりましたら、お教え願えないでしょうか。

299名無しさん@そうだ選挙にいこう :2007/02/04(日) 01:45:47
まだVista使ってる人少ないから気長に待ちましょう。

300名無しさん@そうだ選挙にいこう :2007/02/04(日) 01:46:27
願えません

万引きが犯罪とは知らなかったので、このまま金も払わず
商品を持ち帰ることを見逃してもらえないでしょうか

ってのと同じだ

こういうのに教えちゃうと「教えたがり厨」の烙印押されるし

301名無しさん@そうだ選挙にいこう :2007/02/04(日) 01:59:07
>>300
喩えないほうがいいよ・・・

302名無しさん@そうだ選挙にいこう :2007/02/04(日) 02:30:40
すいません。教えて下さい。
例えば、間借りで申し訳ないですが、>>148サンのシートで(A列)日付部分が部門別のの表示、(B列)が本日売上として、(C列)にその累計を表示します。
それを(>>148サンのシート)で当日売上として保存して、なお同じシート内で次の日の計算を行うには、どの様な方法がありますか?

部門別の売上(毎日更新)と光熱費(月イチで各種更新)とその他日誌的スペースを備えた日報を作成したいのです。

当日の数字の足し引きは解るのですが、本日累計を次の日に持って行き、
更に次の日の本日売上を累計する方法が解りません。
何か適切な関数があれば教えて下さい。

148サンをお借りした、たとえは余分だったかも知れません。。。。



303名無しさん@そうだ選挙にいこう :2007/02/04(日) 04:51:26
VBAでセルA1〜J1までに、ランダムで0〜9までの数字を入れる
にはどうしたらいいですか??

304名無しさん@そうだ選挙にいこう :2007/02/04(日) 04:56:37
>>302
よくわからんが部門を列方向に作れば良いのでは?

   A   B    C    D      E        F
1 日付 部門1 部門2 部門3   合計      累計
2  3/1  100   200   300  =SUM(B1:D1)  =E1
3  3/2  200   300   400  =SUM(B2:D2)  =F1+E2
          :
32 3/31 100   200   300  =SUM(B32:D32) =F31+E32


日付が代わっても毎回同じセルに入力をしたいとか思ってるのかも知れないけど
それじゃ記録が残らないし、間違って入力した場合の修正も面倒。
そもそも>>4に書いてあるように関数では不可能でVBA必須になるし。
そういうことをやりたい場合でも、上記のような日別の表を作った上で
ユーザーフォームなりシート上のどこかなりに入力インターフェイスを用意すべきだ。


>>303
Rnd()で乱数発生させてForでループ回して代入すればいいと思うよ。
最初にRandomizeをお忘れなく。

305303 :2007/02/04(日) 06:02:02
>>304

ありがとう、いかんせん初心者なもんで、
自分なりにやってみたんですけど
全くできません、どこが悪いんですか??

少数のランダムが入っちゃうから0〜9の命令が効いて
ないと思うんですけど…。


Private Sub CommandButton1_Click()
Randomize
Dim A As Integer

For A = 0 To 9
Next
With Worksheets("sheet1")
.Range("A1").Value = Rnd(A)
.Range("A2").Value = Rnd(A)
.Range("A3").Value = Rnd(A)
.Range("A4").Value = Rnd(A)
.Range("A5").Value = Rnd(A)
.Range("A6").Value = Rnd(A)
End With


306名無しさん@そうだ選挙にいこう :2007/02/04(日) 07:15:44
>>305

普通に10倍して少数切り捨てればいいじゃないか。

Int(Rnd *10)

でいいだろ。

307名無しさん@そうだ選挙にいこう :2007/02/04(日) 07:34:22
あっ、なんか嫌な予感。
もしかして、重複なしか?
だったら既出の数字をさらう必要もあるね。

それから、細かいことだがループカウンターはi,j,kを
使用したほうがいいよ。コーディング上の慣例だから。

308名無しさん@そうだ選挙にいこう :2007/02/04(日) 07:45:37
重複なしの場合、既出をさらうより、
配列に順番に数字を入れて、その配列をランダムソートしたほうがいいよ

ついでに言うとループカウンターはIntegerではなくLong使おう
これは慣例ではなく実際にLongの方が処理が速いから

309303 :2007/02/04(日) 09:27:50
>>307
>>308
ありがとうございます。そうなんです、重複なしで入れたいんです。
ループカウンタのi,j,kとはどういうことですか?
それとやっぱりFor Nextが全く意味が無いのですが、どうしたらいいの
でしょうか??

Private Sub CommandButton1_Click()
Randomize
Dim A As Long
For A = 1 To 3

With Worksheets("sheet1")
.Range("B3").Value = Int(Rnd * 10)
.Range("B4").Value = Int(Rnd * 10)
.Range("B5").Value = Int(Rnd * 10)
.Range("B6").Value = Int(Rnd * 10)
.Range("B7").Value = Int(Rnd * 10)
.Range("B8").Value = Int(Rnd * 10)

End With
Next
End Sub

1〜3までって言ってるのにやっぱり0〜9から選ばれちゃうんですよ〜。

310名無しさん@そうだ選挙にいこう :2007/02/04(日) 09:29:38
3重にループさせろって事じゃね?

311303 :2007/02/04(日) 09:48:09
すいません、乱数生成は0〜1までの実数なんですね。
For Nextの意味を履き違えてました。
配列に数字を入れて、順番を入れ替えてなんてできるんですか??
ネットでVBA入門検索しても全然わかりません…。

312名無しさん@そうだ選挙にいこう :2007/02/04(日) 10:03:10
Private Sub CommandButton1_Click()
  Dim lngArray(9) As Long
  Dim lngBuf As Long, lngRnd As Long, i As Long

  ' 配列に0〜9の数値を代入
  For i = 0 To 9
    lngArray(i) = i
  Next i

  ' 配列の値をランダムに入れ替え
  Randomize
  For i = 0 To 9
    lngRnd = Int(Rnd() * 10)
    lngBuf = lngArray(lngRnd)
    lngArray(lngRnd) = lngArray(i)
    lngArray(i) = lngBuf
  Next i

  ' セルに代入
  Range("A1:J1").Value = lngArray
End Sub


313303 :2007/02/04(日) 10:18:02
>>312
すごい、できました。
自分じゃ絶対書けないプログラムです…。
ありがとうございました!!

314名無しさん@そうだ選挙にいこう :2007/02/04(日) 10:23:29
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Ctrl+D

範囲指定した後,Ctrl+D で下方向へコピーできますが,罫線もコピーされてしまいます。
「罫線がコピーされない下方向へのコピー」 をVBAで実現する方法を教えて欲しいです。

315名無しさん@そうだ選挙にいこう :2007/02/04(日) 10:34:51
>>314
ツール→マクロ→新しいマクロの記録で、
カーソル右下角を下方向に右クリフィル→値のコピー
を記録してコード見てみ。

ただ、数字の連番にはならん。

316名無しさん@そうだ選挙にいこう :2007/02/04(日) 10:43:46
>>312
10枚カードがあるから10回切ればランダムソートという考え方はナンセンス。
その考え方では10回切ろうが100回切ろうが同じ。元に戻る可能性があるからね。

10枚カードがあったら1枚づつ別の山へと抜き出していくという考え方がオーソドックス。
一度選んだカードは元に戻らないように二度と動かさない。
ひとつの配列でやりたいなら、ランダムに入れ替える配列の位置をきちんと制御する。

cardList = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
For i = UBound(cardList) - 1 To 0 Step -1
 tmpCard = cardList(i + 1)
 pulledOutCardPosition = Int(Rnd() * i)
 cardList(i + 1) = cardList(pulledOutCardPosition)
 cardList(pulledOutCardPosition) = tmpCard
Next
[A1:J1].Value = cardList


317名無しさん@そうだ選挙にいこう :2007/02/04(日) 10:48:50
>>316
何を勘違いしてるの?

318名無しさん@そうだ選挙にいこう :2007/02/04(日) 11:38:15
立方メートルの、「m」と「小さい3」を別々に打ちたいんですけど
小さい「3」のみってどうしたら出るのですか?
できるようなら教えてください、お願いします


319名無しさん@そうだ選挙にいこう :2007/02/04(日) 11:39:24
>>316
こいつバカだな

320名無しさん@そうだ選挙にいこう :2007/02/04(日) 11:40:44
>>314
前にも同じこと聞いてるだろ

321名無しさん@そうだ選挙にいこう :2007/02/04(日) 11:48:11
>>316
カードを10回切るのとは全く違う。
順次、ランダムな位置との入れ替え。それによって結果がランダムになる。

もちろん元に戻る(「インデックス=値」になる)可能性もあるが、
君の方法だって「インデックス=値」になる場合もある。
要素数分の一の確立でそうなんることを含めてランダムと言うんだよ。

322名無しさん@そうだ選挙にいこう :2007/02/04(日) 11:53:44
>>318
3だけ後からフォント指定で上付きにするしかない

323名無しさん@そうだ選挙にいこう :2007/02/04(日) 12:43:34
>>315
「A1の内容を,A2〜A9の範囲へ下方向コピーする」
 1.マクロ記録開始
 2.A1を選択
 3.A1の右下を右クリックしてドラッグし,「書式なしコピー(フィル)」を実行
 4.記録終了
とすると,

Sub Macro1()
Range("A1").Select
Selection.AutoFill Destination:=Range("A1:A9"), Type:=xlFillValues
Range("A1:A9").Select
End Sub

と記録されました。この決めうちで記録された範囲の部分を,
「現在選択している範囲」に置き換えられたらよいのですが…

>>320
初めてなのですが…もし過去に同様の解決策が出ていましたら教えてください。

324名無しさん@そうだ選挙にいこう :2007/02/04(日) 12:48:26
こんな教科書に載るほどのオーソドックスな手法を知らない奴もいるんだなw
お前らはそのままでいいよ。
他の人が馬鹿の方法を鵜呑みにするのに疑問を持ってくれればね。

325名無しさん@そうだ選挙にいこう :2007/02/04(日) 12:53:18
>>321
偉そうな御講釈。ありがとう。
数学的に無知な速度厨の方ですか?
それともアルゴリズムに興味無い速度厨の方ですか?
いやあ、勉強になりましたwww

326名無しさん@そうだ選挙にいこう :2007/02/04(日) 12:56:10
>>323
VBA使用→可なんじゃないの。
「選択範囲」という用語が分かってるなら、検索したまえよ。

327名無しさん@そうだ選挙にいこう :2007/02/04(日) 13:03:06
元に戻ることも含めてランダムじゃないか

328名無しさん@そうだ選挙にいこう :2007/02/04(日) 13:11:56
>>324
>>326
EXCEL VBA 選択範囲 取得 などで先ほどから検索しているのですが…

y1 = ActiveCell.Row'選択範囲左上の行番号
x1 = ActiveCell.Column'選択範囲左上の列番号
y2 = Selection.Rows.Count'選択範囲の行数
y2 = Selection.Columns.Count'選択範囲の列数
として,Range(y1,x1,y2,x2)などとしてみたのですが…
うまくいきません。

329名無しさん@そうだ選挙にいこう :2007/02/04(日) 13:14:38
>>327
数学やってる人に聞いてみればわかるよ。
俺もそう思ってた。
元に戻ることが重要じゃないんだ。
元の集団に戻すことがアホなんだ。


330名無しさん@そうだ選挙にいこう :2007/02/04(日) 13:16:24
>>323
適当に直して
Sub sample1()
Selection.Copy Destination:=Selection.Offset(1, 0)
Selection.Offset(1, 0).Select
With Selection
.Borders(xlEdgeBottom).LineStyle = xlNone
.Borders(xlEdgeRight).LineStyle = xlNone
.Borders(xlEdgeLeft).LineStyle = xlNone
End With
End Sub

331名無しさん@そうだ選挙にいこう :2007/02/04(日) 13:23:56
>>330
ありがとうございます。
でも,思うような動作にはならないようですので,参考にさせていただきます。

332名無しさん@そうだ選挙にいこう :2007/02/04(日) 13:24:11
ソートだのシャッフルだのというアルゴリズムはVBAが生まれる前から
プログラミングの世界では最も基本となるスタンダードな処理。
当然、その処理のためのアルゴリズムも何十年も前から様々に議論されてる。
その中の「間違い」と同じコードを書きながら「俺は正しい」みたいな
アホ丸出しの態度を散れるやつは井の中の蛙。恥ずかしすぎるww

偉そうに講釈垂れたいならせめて先人の苦労したノウハウくらいは頭に入れとけ馬鹿。
地方の中小企業の自称SEにでもなってお山の大将気取ってたいなら
そのままでおk。

333名無しさん@そうだ選挙にいこう :2007/02/04(日) 13:29:04
>>325
m9(^Д^)プギャー

>>332
全くその通りだな
316みたいなバカはここには来ないで欲しい

334名無しさん@そうだ選挙にいこう :2007/02/04(日) 13:34:28
VBAごときであらそうな( ´∀`)σ)´Д`)

335名無しさん@そうだ選挙にいこう :2007/02/04(日) 13:54:26
>>334
そう思うよ。マクロの自動記録ベースで思ったようなことができるのが
VBAの魅力。好きに書けばいい。無駄なコードでも本人的にOKならそれでいい
ってのが魅力。

でも型変換に拘って速度廚っぷりを発揮してるくせにアルゴリズムは
馬鹿丸出し。しかも本人は気づいてもいないような馬鹿にはしっかり馬鹿だと
言ってあげないといけない。なぜなら馬鹿はいるだけでウザいから。

336名無しさん@そうだ選挙にいこう :2007/02/04(日) 13:56:51
>>316はまだ何が間違ってるのかわかってないんだろうな。
こういうヤツと仕事するとすげー疲れる。
能無しのくせに口だけは減らないヤツ。

337名無しさん@そうだ選挙にいこう :2007/02/04(日) 14:00:19
つーか速度にしてもあっちのが早いんだけどな。

338名無しさん@そうだ選挙にいこう :2007/02/04(日) 14:00:41
はいはい、おしまい。


↓次の質問ドゾー( ´_ゝ`)

339名無しさん@そうだ選挙にいこう :2007/02/04(日) 14:03:57
>>336
ゲラwww
お前が周りにそう思われてるってwwww
典型的wwwww

340名無しさん@そうだ選挙にいこう :2007/02/04(日) 14:04:47
>>338
ごめんごめん。もう書かないよ。
このスレを見てるVBA勉強したい人、馬鹿の断定は常に
疑って自分で試すことをしようね。

341名無しさん@そうだ選挙にいこう :2007/02/04(日) 14:54:46
>>339
余程悔しかったんだね
そんな顔真っ赤にしてモニター睨んでもどうにもならないよ

342名無しさん@そうだ選挙にいこう :2007/02/04(日) 15:40:16
だから、もうやめとけって馬鹿

343名無しさん@そうだ選挙にいこう :2007/02/04(日) 17:13:35
本当にやめとけよ、馬鹿!

344名無しさん@そうだ選挙にいこう :2007/02/04(日) 17:16:13
蒸し返して悪いが、>>312は下の2つを混同してると思うよ。

For i = 1 To 100 '100回シャッフル
  lngRnd = Int(Rnd() * 10)
  lngBuf = lngArray(lngRnd)
  lngArray(lngRnd) = lngArray(0)
  lngArray(0) = lngBuf
Next i

For i = 0 To 8
  lngRnd = Int(Rnd() * (10 - i)) + i
  lngBuf = lngArray(lngRnd)
  lngArray(lngRnd) = lngArray(i)
  lngArray(i) = lngBuf
Next i

345名無しさん@そうだ選挙にいこう :2007/02/04(日) 17:29:01
>>341
よく俺が血まみれだと分ったな。
いま341を殺してきたところだ。

346名無しさん@そうだ選挙にいこう :2007/02/04(日) 17:36:53
結局無理でした…
教科書並みとのことでしたが,検索しても欲しい情報には行き当たらず…

Sub Macro1()
y1 = ActiveCell.Row '選択範囲の左上の行番号
x1 = ActiveCell.Column '選択範囲の左上の列番号
y2 = Selection.Rows.Count '選択範囲の行数
y2 = Selection.Columns.Count '選択範囲の列数
Selection.AutoFill Destination:=Range(R&y1&Cx1:R&y2&Cx2), Type:=xlFillValues
Range(R&y1&Cx1:R&y2&Cx2).Select
End Sub


347名無しさん@そうだ選挙にいこう :2007/02/04(日) 17:47:40
>>346
Selection.Rangesは試したか?

348名無しさん@そうだ選挙にいこう :2007/02/04(日) 17:48:07
これもダメでした・

Sub Macro2()
y1 = ActiveCell.Row '選択範囲の左上の行番号
x1 = ActiveCell.Column '選択範囲の左上の列番号
y2 = Selection.Rows.Count '選択範囲の行数
y2 = Selection.Columns.Count '選択範囲の列数
Selection.AutoFill Destination:=Range(Cells(y1, x1), Cells(y2, x2)), Type:=xlFillValues
Range(Cells(y1, x1), Cells(y2, x2)).Select
End Sub


349名無しさん@そうだ選挙にいこう :2007/02/04(日) 17:54:16
>>347
やってみます。ありがとうございます。


350名無しさん@そうだ選挙にいこう :2007/02/04(日) 18:26:06
>>314
Sub hoge()
  With Selection
    For i = 0 To .Columns.Count - 1
      Range(Cells(.Row, .Column + i), Cells(.Row + .Rows.Count - 1, .Column + i)) = Cells(.Row, .Column + i)
    Next
  End With
End Sub

351名無しさん@そうだ選挙にいこう :2007/02/04(日) 18:28:59
>>331
式でも入っているのか?
Sub Sample()
Dim Rng As Range
Dim fillRng As Range
Set Rng = Selection
Set fillRng = Application.Union(Selection, Selection.Offset(1, 0))
Rng.AutoFill Destination:=fillRng, Type:=xlFillValues
End Sub


352名無しさん@そうだ選挙にいこう :2007/02/04(日) 18:34:05
>>350
ああ、そういうことか。
勘違いしてたよ。

353名無しさん@そうだ選挙にいこう :2007/02/04(日) 18:46:01
>>331
んじゃこれは?
Sub Sample2()
  Selection.Cells(1, 1).Copy Destination:=Selection.Cells(2, 1)
  With Selection.Cells(2, 1)
    .Borders(xlEdgeBottom).LineStyle = xlNone
     .Borders(xlEdgeRight).LineStyle = xlNone
     .Borders(xlEdgeLeft).LineStyle = xlNone
  End With
End Sub

354名無しさん@そうだ選挙にいこう :2007/02/04(日) 18:50:11
>>350
>>350
ありがとうございます。でも,やっぱり異なるようです。
参考にさせていただきます。

もともとの目的が,「CTRL+D 下方向コピー」で,罫線もコピーされてしまうことを
回避したいことですから,式が入っていることも多いですし,番地も相対的に変わって
ほしいわけです。

例えば,カレンダーを作るとして,日曜日の日付を羅列するときに,
A1 2007/2/4
A2 =A1+7
A3 =A2+7
・・・
となるとして,A2〜A50を選択してからCTRL+Dを押せば,一気にすべて下方向コピー
してくれるわけですが,罫線もコピーされてしまいます。それを回避したいと…

y1 = ActiveCell.Row '選択範囲の左上の行番号
x1 = ActiveCell.Column '選択範囲の左上の列番号
y2 = Selection.Rows.Count '選択範囲の行数
y2 = Selection.Columns.Count '選択範囲の列数
で,選択範囲の左上と右下の座標を取ることはできたので,
それを,Rangeの引数として入れることができればよいのですが…

もう少し頑張ってみます。

もう少し頑張ってみます。



355名無しさん@そうだ選挙にいこう :2007/02/04(日) 18:59:58
>>353
ありがとうございます。
でも,上左右の罫線を消すわけではなく,コピー先の元の書式(罫線)のままにしたいのです。

1.A1〜A50にはすでに同じような式が入っていて,罫線も引いてある。
2.A1の式を手直しした。
3.A1〜A50をctrl+Dで下方向へコピー
4.式はきちんと相対的な番地になってコピーされた。
5.でもA2〜A50の罫線も,A1のものになってしまった。
という流れのうち,5だけを削りたいと。

そろそろ疲れてきました…

356名無しさん@そうだ選挙にいこう :2007/02/04(日) 19:10:43
>5.でもA2〜A50の罫線も,A1のものになってしまった。
>という流れのうち,5だけを削りたいと。

何を削るのか良く分からない。
罫線は要るのに罫線を削りたいとはこれいかに?

まあ、詳しい情報が後から後から出てくるんじゃ仕方ないな('A`)

357名無しさん@そうだ選挙にいこう :2007/02/04(日) 19:20:51
>>355
そろそろ疲れてきました…

Sub Sample2()
  Dim Rng As Range
  Dim fillRng As Range
  Set Rng = ActiveCell
  Set fillRng = Selection
  Rng.AutoFill Destination:=fillRng
End Sub

358名無しさん@そうだ選挙にいこう :2007/02/04(日) 19:31:42
>>356
罫線を削りたいのではなく,「罫線が変更される」ということを削りたい という意味です。

「情報後出し」になってしまっているというご指摘ですが,
本来,>>341に書いたとおり,
>範囲指定した後,Ctrl+D で下方向へコピーできますが,罫線もコピーされてしまいます。
>「罫線がコピーされない下方向へのコピー」 をVBAで実現する方法を教えて欲しいです。
しかないのです。

「Ctrl+D での下方向コピー」は,もちろん「式」もコピーされますし,相対番地もきちんと
コピーされます。ただ罫線もコピーされてしまうのが難だと…
それとも「Ctrl+Dでの下方向コピー」とうショートカットキーは,データの中身も提示しないと
意図が伝わらないマイナーなショートカットキーだったのでしょうか…orz

>>357
ありがとうございます。後で試させていただきます…

359350 :2007/02/04(日) 19:52:18
=Cells(.Row, .Column + i) を
=Cells(.Row, .Column + i).Formula に

360名無しさん@そうだ選挙にいこう :2007/02/04(日) 20:27:59
>>357
感激です。
Type:=xlFillValues
を付加して,ようやく完成しました…ありがとうございます。
Sub Macro357()
Dim Rng As Range
Dim fillRng As Range
Set Rng = ActiveCell
Set fillRng = Selection
Rng.AutoFill Destination:=fillRng, Type:=xlFillValues
End Sub

>>359
これもバッチリです。ありがとうございます。
Sub Macro359()
With Selection
For i = 0 To .Columns.Count - 1
Range(Cells(.Row, .Column + i), Cells(.Row + .Rows.Count - 1, .Column + i)) = Cells(.Row, .Column + i).Formula
Next
End With
End Sub

>>357は,コピー先の表示形式を変えず
>>359は,コピー先の表示形式をコピー元のものに変える
という違いがあって,それぞれ使い分けができそうです。
ありがとうございました。

361名無しさん@そうだ選挙にいこう :2007/02/04(日) 21:33:28
始めにある行を選択して、書式を Century にしました。
ところが、実際に入力すると MSP明朝になってしまうのはどうしてでしょうか?
入力のときは、半角英数でアルファベトを入れてるんでsが。

362名無しさん@そうだ選挙にいこう :2007/02/04(日) 21:59:36
すんませんヒントきぼん

環境
XP,office2003

やりたいこと
雛形にcsvを流し込みたい
(ハメこみたい)

なんかヒントありましたら
ご教示ねがいますm(._.)m

363名無しさん@そうだ選挙にいこう :2007/02/04(日) 22:01:40
>>344
m9(^Д^)プギャー

364名無しさん@そうだ選挙にいこう :2007/02/04(日) 22:30:30
エクセルXPでVBA可です
セル内に × がいくつあるか判定できる方法ってあります?
例えば
「100」なら 0
「100×200」なら1
「100×200×300」なら2
ってな感じの値を隣の列に出し、それにIF文で処理わけするつもりなんです。
LEFT関数とか組み合わせればいけそうなんですが脳味噌がたりないようです。どなたか知恵貸して下さい

365名無しさん@そうだ選挙にいこう :2007/02/04(日) 22:49:44
>>364
split関数を使うとか

366名無しさん@そうだ選挙にいこう :2007/02/04(日) 23:01:04
>>364
1)何も無いシートのB列にずらっとデータを貼る。
2)データ→区切り位置。「×」で区切る。
3)A1に「=COUNTA(B1:IV1)-1」。下までフィル。

A列が答え。

367名無しさん@そうだ選挙にいこう :2007/02/04(日) 23:03:03
>>361
セルの書式設定→フォントタブ

>>362
状況が見えてこない

368名無しさん@そうだ選挙にいこう :2007/02/04(日) 23:03:51
>>360 それ以外の違いとして、
>>357の処理は1列のみ、それとActiveCellだから
下から上に選択した場合、一番下の値がコピーされる。
これは Ctrl+D と異なる。

>>363 ども

369名無しさん@そうだ選挙にいこう :2007/02/04(日) 23:04:55
>>364
A1にデータがあったらB1とかに=LEN(A1)-LEN(SUBSTITUTE(A1,"×",""))
でできる。

370名無しさん@そうだ選挙にいこう :2007/02/04(日) 23:08:31
>>362
どっちかでやるんだろうね。
1) VBAでCSVを直読みして好きなように雛形に貼り付けていく
2) Sheet1に雛形、Sheet2でCSVを読み込む。Sheet1からSheet2へしこしこと
 参照式を書いていく。CSVってんだから同じ形式なんでしょ。


371364 :2007/02/04(日) 23:09:38
>366 サンキュ、それでいきます
>365 それつかったほーが軽そうだから時間あるときやってみまーす

372364 :2007/02/04(日) 23:11:21
>369 それサイコーです考えて形です
ありがとです

373名無しさん@そうだ選挙にいこう :2007/02/04(日) 23:39:06
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 初心者
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 VBA Worksheet_Calculate

下のようなシートで、A列に名前が、E列に式が入っています。
B列からD列は数値入力用のセルです。

  A    B  C  D  E
1 山田  2  1  2  =sum(B1:D1) 
2 佐藤  1  2  1  =sum(B2:D2)
3 鈴木  1  1  2  =sum(B3:D3)
4 田中  1  2  1  =sum(B4:D4)

さて、特定の行を入力していて、途中でも、
その行のD列の計算値が5以上なら、メッセージボックスで
"山田さんの数値が5を超えています"のように、当該行A列
の文字列を表示させたい場合、どのようなマクロを書いたら
よいのでしょうか?

ちなみにシートの中には、他にもたくさん式が入っており、
セルE1〜E4までの範囲の中だけでこの処理を行いたいです。
宜しくご教示お願いいたします。

374373 :2007/02/04(日) 23:43:09
訂正です。

下から8行目
「その行のD列の計算値」×
「その行のE列の計算値」○
 スミマセン m(_ _)m

375名無しさん@そうだ選挙にいこう :2007/02/04(日) 23:46:25
>>373
条件付書式で一発ですよ

376373 :2007/02/04(日) 23:55:02
>>375
お返事ありがとうございます。条件付き書式でE列の表示を変える
ことは出来るのですが、「○○さんの数値が5を超えています」
のような警告をだしたいのです。

377名無しさん@そうだ選挙にいこう :2007/02/05(月) 00:09:46
>>376
ならデータの入力規則ってやつでおけ

378373 :2007/02/05(月) 00:23:13
>>377
たしかにそれでもいいのですが、VBAでそれをやったら
どのようになるのか、知りたくて書き込みました。
わざわざなんでそんなことをするのと叱られそうですが
教えてください。

379名無しさん@そうだ選挙にいこう :2007/02/05(月) 01:21:01
>>378
うっとうしいかも

Private Sub Worksheet_Calculate()
  Dim i As Integer
  For i = 1 To 4
    If Cells(i, 5).Value >= 5 Then
      MsgBox Cells(i, 1).Value & "さんの数値が5を超えています"
    End If
  Next i
End Sub

380373 :2007/02/05(月) 01:59:13
>>379
大変ありがとうございます。すごい…。
でも仰るとおりうっとうしいですね。

入力した行の式が格納されたところだけ、
判定してくれるようにしたいです。いい手はありませんでしょうか?

381名無しさん@そうだ選挙にいこう :2007/02/05(月) 02:22:49
5以上で通知するの?それとも5を越えたら通知するの?
「5」は、「5以上」だけど「5」を越えてはいない。>=なのか>なのか解らん。

それと、5以上の場合は、通知するだけで入力訂正の必要は無いのかい?
入力訂正を義務付けないなら、複数箇所で5以上になる可能性が出てくるわけだが、その場合はどうするの?
最後に入力した部分だけ通知するのか、5以上のもの全て通知した方が良いのか。

もうちょっと条件固めようよ。
あと、俺だったらMsgBoxではなくBeepとStatusBarで通知するな。

382373 :2007/02/05(月) 02:43:30
>>381
スミマセンはっきりしてなくて…。

5>=です。

入力訂正の必要はありません。(警告だけ)

最後に入力した部分だけ通知したいです。

383373 :2007/02/05(月) 02:45:50
訂正します。
>= 5 です

384名無しさん@そうだ選挙にいこう :2007/02/05(月) 03:15:42
Private Sub Worksheet_Change(ByVal Target As Range)
  If Intersect(Target, Range("B1:D4")) Is Nothing Then Exit Sub
  If Target.Count > 1 Then Exit Sub
  With Target.EntireRow
    If .Cells(5).Value >= 5 Then MsgBox .Cells(1).Value & "さんの数値が5を超えています"
  End With
End Sub

385373 :2007/02/05(月) 06:16:19
>>384
ありがとうございます。完璧です!!

386名無しさん@そうだ選挙にいこう :2007/02/05(月) 09:54:25
教えてください。

1001東京池袋店
1002広島店
1004鹿児島店

ある項目に上記の3つのデータがあるとして別項目にこの項目の
最初の4桁だけを以下のように置換えて一括入力するにはどんな関数を使えばいいのでしょうか?

1001
1002
1004

387名無しさん@そうだ選挙にいこう :2007/02/05(月) 10:30:42
LEFT
詳しくはネットで検索してください

388名無しさん@そうだ選挙にいこう :2007/02/05(月) 10:35:11
>>386
単なる置換え?
4桁の数字を入力したら前文のデータが入るようにしたいの?

夜勤明けなんで頭回らんのだ
分かりやすく説明ヨロシク

389386 :2007/02/05(月) 10:37:34
>>387
ありがとうございました。

390386 :2007/02/05(月) 11:48:07
>>388
レスを見落としました。回答ありがとうございます。
>>387さんのLEFT関数でうまくいきました。

もうひとつ質問が出てきてしまったのでまたお願いします。

>>386で変換した下記の値を文字列に変更するにはどうすればいいのでしょうか?

1001
1002
1004

391名無しさん@そうだ選挙にいこう :2007/02/05(月) 14:59:46
LEFT の戻り値は文字列、わざわざ変更する必要はない。
数値に変更したいのであれば VALUE

392名無しさん@そうだ選挙にいこう :2007/02/05(月) 15:05:26
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 Windows2000とXP
【2 Excelのバージョン   】 Excel2003と2007
【3 VBAが使えるか    .】 いいえ (使わないとできないなら覚えます)
【4 VBAでの回答の可否】 一応可
【5 検索キーワード     】 エクセルの説明が載っているサイトを見てみましたがわからないのでお願いします。

現在エクセルで商品管理や顧客管理を行っています。
日付、顧客の名前、住所、連絡先、注文商品番号
のように分けているのですが
商品番号は
001.003.009.052.006
のようにピリオドで区切り一つのセルに入れています。
これを今までのデータなどすべて売り上げランキングのようなものを出したいのですが
どのようにすればいいでしょうか?
現在は001などで検索をかけて数えています。

393386 :2007/02/05(月) 15:23:03
>>391
ありがとうございました。
うまくいきました。

>文字列に変更するにはどうすればいいのでしょうか?←×間違いでした

数値に変更するにはどうすればいいのでしょうか?←○正しくはこっちでした。


394名無しさん@そうだ選挙にいこう :2007/02/05(月) 15:28:08
>>392
商品番号の入ったセルだけを全部コピーする
適当に新規作成でまっさらなBookに貼り付ける
名前を付けて保存→、txt形式(タブ区切り)で保存
保存したtxtファイルを適当なエディタで開き、置換「.」→「,」
csv形式で保存し、それをエクセルで開く
好きなように図表作っておk。

まずピリオドを使うような糞システムの開発に文句言え

395名無しさん@そうだ選挙にいこう :2007/02/05(月) 15:51:49
>>392
[データ]-[区切り位置]で[区切り文字]の「その他」に「.」を指定すればいいよ。

>>394
テンキーだけで読み上げながらデータ入力してんじゃね?
ものすごい普通の入力方法だよ?

396392 :2007/02/05(月) 16:05:07
ありがとうございます。
1個のセルに1つの数字になるようですが
今後データを入力するときは1個のセルに1個のデータの方がいいのでしょうか?
その場合は別に注文表だけのファイルを用意しようかと思います。

397392 :2007/02/05(月) 16:07:55
すみません別のファイルではなくシートでした。

398名無しさん@そうだ選挙にいこう :2007/02/05(月) 16:11:12
>>392
セル内で番号の重複なし、番号桁数固定なら、E1:E20に番号が入っているとして
=SUMPRODUCT((SEARCH("001",$E$1:$E$20&"."&"001")<=LEN($E$1:$E$20))+0)
とか

399392 :2007/02/05(月) 16:30:53
>>398
ありがとうございます。
重複は別のセルにすればいいのですが
商品数は200ほどあるのでその場合全部作らないといけないことになるので
グラフでやっても大変なことになりそうです。

例えば
別のシートに売り上げ個数順(もしくは注文番号順)にならべ下記の用に横のセルに売り上げ数字を出すことは叶でしょうか?

001 6
005 5
004 4
009 4
035 3


400名無しさん@そうだ選挙にいこう :2007/02/05(月) 16:40:29
>>389
とりあえず、多少なり調べるか試してからレスしろ
ちょっとベースさえ作れば簡単な事を1から全部他人に丸投げすんな

401名無しさん@そうだ選挙にいこう :2007/02/05(月) 16:41:31
丸投げおk擁護派が登場すると見たw

402386 :2007/02/05(月) 16:51:20
VLOOKUP関数で値が見つからなかったときには#N/Aのようなエラー表示になるのですが
その場合未定義or空欄(表示上)にする方法を教えてください。


403386 :2007/02/05(月) 16:54:25
>>400
一応ぐぐって調べているんですが調べ方が足りなかったかもしれません。
もうちょっと調べてから質問します。

404名無しさん@そうだ選挙にいこう :2007/02/05(月) 17:01:10
>>400>>389へのレスなのか?>>399へのレス間違いなのか?
解決してるのに何故今更

405名無しさん@そうだ選挙にいこう :2007/02/05(月) 17:05:15
>>402
IFとネスト。

406386 :2007/02/05(月) 17:30:49
>>405
ぐぐりまくって何とか解決しました
http://support.microsoft.com/kb/816370/ja
このページのやり方でうまくいきましたがこんなに複雑な式になるとは
思いませんでした。

>>404
>>400は私へのレスじゃなかったのかも?

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

機能があるか教えてください。

1 12
3 16
6 18  こんなのを

1 12
2 12
3 16
4 16
5 16
6 18

見たいに、連続値データにできますか?
フィルではできませんでした。教えてください。

408名無しさん@そうだ選挙にいこう :2007/02/05(月) 17:46:24
>>407
無い

409名無しさん@そうだ選挙にいこう :2007/02/05(月) 17:52:39
>>408
そうですか。ありがとうございます。

410392 :2007/02/05(月) 17:56:38
すみませんたぶん私へのレスですね。
もう少し調べてみます。

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


A    B       C
5    4      −1
6    3      +3
5    5      +- 0


こんな風にA〜Bを引いて、Cに答えを出すときに、自動的に+とかマイナスとかに出す設定は
ありますか?
また、+-のように出すようにするにはどうしたらいいですか?

412名無しさん@そうだ選挙にいこう :2007/02/05(月) 18:38:41
>>411
セルの書式設定

413名無しさん@そうだ選挙にいこう :2007/02/05(月) 18:49:14
>>412
書式設定によって、マイナスは設定できるのですが、+と、+-が出来ません

どこを設定すればよいのですか?

414名無しさん@そうだ選挙にいこう :2007/02/05(月) 18:58:33
書式設定→表示形式から探せ
ちょうど自分の用途に合うものがピッタリ無ければ
一番下のユーザー定義で設定

415名無しさん@そうだ選挙にいこう :2007/02/05(月) 19:03:41
>>411
ユーザー定義で以下の一行を入れて。
[>0]"+"0;[=0]"+-"0;[赤]0

>>414
それが見つけられないし、作れないんだろ。

416414 :2007/02/05(月) 19:09:27
そこまで言えば
ユーザー定義 書式設定 等で検索すれば
幾らでも作り方ぐらいヒットするだろ。

417名無しさん@そうだ選挙にいこう :2007/02/05(月) 19:30:32
>>415
>>416
ありがとうございました。  
自分で出来るだけやってみます

418名無しさん@そうだ選挙にいこう :2007/02/05(月) 19:32:49
>>415
表示形式は、標準で 「正数;負数;0;文字列」 という形式なので正数と負数と0で表示形式を分けるなら、[>0]とか[=0]等の条件は不要。
ついでに言うと+,-符号は""囲みしないのが慣例になってる。+-の代わりに±を使うなら""囲み必要だけどね。

[>0]"+"0;[=0]"+-"0;[赤]0
  ↓
+0;-0;+-0

それに[赤]が必要とも書いてないので、親切のつもりなら[赤]は抜いておいて「最後の 0 を [赤]0 にすると、負数が赤文字になるよ」と添えるのが良いのでは?
俺が書いたやつなら「真ん中の -0 を [赤]-0 にすると、負数が赤文字になるよ」だね。
そうでないと無駄で余計なお節介になりかねない。(もしかしたら書き忘れただけで希望通りかも知れないけど)

419名無しさん@そうだ選挙にいこう :2007/02/05(月) 19:34:37
>>418
すまん、ググって適当にコピペしたもんで。

420名無しさん@そうだ選挙にいこう :2007/02/05(月) 19:58:45
教育改革の犠牲者だから仕方ないよ
ほんと生まれた時代が悪かったね
可哀想〜〜〜〜〜


421名無しさん@そうだ選挙にいこう :2007/02/05(月) 21:36:53
>>360
修正したお

Sub Sample3()
  Dim Rng As Range
  Dim fillRng As Range

  On Error Resume Next
  Set Rng = Selection.SpecialCells(xlCellTypeFormulas)
  If Rng Is Nothing Then
    Set Rng = Selection.SpecialCells(xlCellTypeConstants)
  End If
  On Error GoTo 0
  Set fillRng = Selection

  Rng.AutoFill Destination:=fillRng, Type:=xlFillValues
End Sub


422名無しさん@そうだ選挙にいこう :2007/02/05(月) 21:46:33
エクセルの条件付き書式で、あるセルに何かしらの文字が入っていたら色を変えるということをやりたいのですが、
どうやったらいいでしょうか?
特定の文字のやり方は分かったのですが、
不特定の文字の場合はどうすればいいのかが分かりません。


423名無しさん@そうだ選挙にいこう :2007/02/05(月) 21:48:28
>>422
ヒント:何か文字が入っている=空白ではない

424417 :2007/02/05(月) 22:05:47
>>418
ありがとうございます。
その形でやってみました。
そしたら・・・


>>411を例として話します。
C2に、=A2−B2
ってしたら、なぜかエラーが出てしまって・・・
エラーが出る原因がわからず、そこから先に進みません・・・



425名無しさん@そうだ選挙にいこう :2007/02/05(月) 22:08:58
>>422
[セルの値が]→[次の値に等しくない]→[=""]

426392 :2007/02/05(月) 22:30:56
すみませんシートからシートで関数を使うやり方はわかったのですが
希望の方法のやりかたが見つからないので教えてもらえないでしょうか?
現在はシート1に顧客の情報
シート2に顧客の名前と注文を入れています。
シート3に上から順に
|商品番号|売れた数|
の形式で売れた数の順でソートをかけたいのですが
リストや集計ではうまくできないのでやり方を教えてください。




427名無しさん@そうだ選挙にいこう :2007/02/05(月) 23:11:22
>>423,>>425
レスありがとうございます。

[数式が]で、複数の条件をつけるにはどうしたらいいのでしょうか?
Aセルが「日曜日」という条件と、
Bセルに何かしら不特定の文字が入っている場合に条件付き書式で書式を変えたいのですが。。。

「!=」←こういう条件は使えないみたいで困っています・・・

428名無しさん@そうだ選挙にいこう :2007/02/05(月) 23:19:56
>>426
.区切りの状態からやりたいならVBA使った方が手っ取り早いよ
商品番号が固定桁数なら、ちょっと邪道だが全行の商品番号をつなぎ合わせた文字列を作り、
商品番号でSlpitしてUBoundを調べるだけで、その商品番号が何個含まれてるか解るよ。

429427 :2007/02/05(月) 23:20:39
どうやら「<>」を使えばできるみたい?ですかね?

430名無しさん@そうだ選挙にいこう :2007/02/05(月) 23:24:24
>>427
関数の「IF、OR、AND」を調べてごらん

431427 :2007/02/05(月) 23:34:53
ORは使ってたんですが、「!=」のやり方が分かりませんでした。
「<>」を使ったらできました。ありがとうございました。m(_ _)m

432名無しさん@そうだ選挙にいこう :2007/02/05(月) 23:40:03
>>427
追加ボタンを押して条件を追加したらダメなの?

433名無しさん@そうだ選挙にいこう :2007/02/05(月) 23:56:23
内部収益率を算出するXIRRという関数がありますが、これを自前で計算することは
可能でしょうか?よろしくお願いします。

434名無しさん@そうだ選挙にいこう :2007/02/06(火) 00:03:27
>>433
それがめんどくさいから関数が用意されてるわけで・・・
それでも良いなら自分でIRRの公式に該当セルを入れてけば。

435427 :2007/02/06(火) 00:03:43
>>432
追加で設定できる条件は3つまでのようで、
全て使い尽くしてしまっている関係上無理でした。
Excel2007では条件追加は無制限らしいので羨ましいですねぇ。

436名無しさん@そうだ選挙にいこう :2007/02/06(火) 00:04:31
>>433
Excelとしては可能。
君自身がそれを可能とするスキルを持ち合わせてるかどうかは知らないけど。

437名無しさん@そうだ選挙にいこう :2007/02/06(火) 00:05:48
>>433
ネットとかで調べないでこんなところで聞くの?

438433 :2007/02/06(火) 01:32:45
レスありがとうございます。
現在Excelで内部収益率を算出しているのですが、別言語で算出する必要が
ありましてうまく算出する方法があるのかと思い質問させていただきました。
ネットでもある程度は調べたつもりですが、いい案が記載されているものが
見つからなかったため、こちらで質問させていただきました。
言葉足らずで済みませんでした。


439名無しさん@そうだ選挙にいこう :2007/02/06(火) 01:42:20
そういうことならスレ違いだし

440たのんます :2007/02/06(火) 02:07:19
エクセルに関する質問なんですが
統計数字データをグラフに変換して、統計データによるグラフを作成する際に
統計データの始点と終点を同じにして、重ねて比べられるようなグラフにしたいのですが
統計データの量が、比較したいAとBでは異なるため、
始点終点を同じにして、重ねて比べることができません。
何か関数とかその他の方法で、
違うデータ量のものを重ねて比較する方法はないでしょうか?

441名無しさん@そうだ選挙にいこう :2007/02/06(火) 02:19:24
あるけどマルチしたので教えません

442名無しさん@そうだ選挙にいこう :2007/02/06(火) 13:45:23
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 2軸上 縦棒 複合グラフ

2軸上の縦棒と折れ線の複合グラフというのがありますが
縦棒のみで複合グラフを作りたいと思っています。
ただ、やろうとするとグラフの縦棒が重なってしまいます。
重ならないようにする方法はありますか?

443名無しさん@そうだ選挙にいこう :2007/02/06(火) 13:55:26
>>442
質問の内容がハッキリつかめないが
http://www.uploda.org/uporg682724.jpg
↑こういうのなら重ならないようにする方法はある。

444名無しさん@そうだ選挙にいこう :2007/02/06(火) 14:01:15
>>443
その画像のようなもので右軸の目盛りが
たとえば10,20,30,40,50となっているようにしたいのです。

445名無しさん@そうだ選挙にいこう :2007/02/06(火) 14:19:55
>>444
グラフウィザードで、グラフの種類を「積み上げ棒グラフ」にすりゃいい。
あと、目盛りの間隔は、グラフが出来てから、目盛りの所を右クリックして
軸の書式設定から変えれる。

446名無しさん@そうだ選挙にいこう :2007/02/06(火) 14:37:31
>>445
ごめん、言い方が悪かった。
積み重なってちゃマズイ。
目盛り幅が違ってて横に並んだ状態にしたい。

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

エクセル表の一番上の行に「品名」「数量」など項目の行がある。
印刷すると2枚目以降はこの一番上の行が印刷されない。
プレビューの設定をさんざん見たけど分かりませんでした。
2枚目以降も印刷する場合の設定法をお教えください。

448名無しさん@そうだ選挙にいこう :2007/02/06(火) 16:00:21
ページ設定、シートタブの印刷タイトル

449名無しさん@そうだ選挙にいこう :2007/02/06(火) 16:07:56
>>448
どうもありがとうございます。
そこは何度も見ているのですが、チェック箇所がグレーになっており
クリックできません。白くなっている状態にするにはどうしたら
いいですか?何度もすみません。

450名無し募集中。。。 :2007/02/06(火) 16:17:38
プレビューの設定からではなく

ファイル→ページ設定

451名無しさん@そうだ選挙にいこう :2007/02/06(火) 16:20:19
わかった!!ありがとうございました!

452名無しさん@そうだ選挙にいこう :2007/02/06(火) 16:24:21
プレビューから入らずに
ファイル→ページ設定

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

Wordに2列10行ほどの表があります。(シンプルなプロフィール表みたいなもの)
左の列に項目名(住所、氏名、電話etc)、右に内容となっています。
毎ページごとにこの表が1個あり、改ページがなされています。
これが100ページほどあります。
巨大な1個の表であればExcelで取り込んでしまえると思うのですが、このように
統一形式の表が大量に毎ページあるようなものをExcelに取り込む方法は無い
でしょうか?

住所 氏名 電話
xxx  aaa  1234
zzz  bbb  5678

このようなExcel表へと取り込みたいと考えています。

454名無しさん@そうだ選挙にいこう :2007/02/06(火) 18:15:49
>>453
項目が全ページ同じ行数なら、Excelにベタっとコピペして、
項目の方の列(A列か?)で並び替えれば、
名前ばかり→住所ばかり→電番ばかり→…って感じになるだろうから
別シートにでも貼り付けたら。

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


A   B   C   
5   7   4
3   5   5
3   6   1
・    ・   ・
・    ・   ・


たとえば、C列だけ一気に(   )をつけることは出来ますか?

456名無しさん@そうだ選挙にいこう :2007/02/06(火) 19:17:09
>>455
D1に、
="("&C1&")"
下方向にフィル。

457名無しさん@そうだ選挙にいこう :2007/02/06(火) 19:30:14
>>456
ありがとうございます。

ついでといってはなんですが、その関数(っていうのかな?)の意味ってどういう意味ですか?
ダブルクオテーションの使い方というか・・・
お願いします。

458名無しさん@そうだ選挙にいこう :2007/02/06(火) 19:32:59

ついでといってはなんですが、自分で調べてみてはいかがですか
お願いします。

459名無しさん@そうだ選挙にいこう :2007/02/06(火) 19:55:32
すみません、また自動保存の件なんですが、10分ごとに自動保存する設定
にしていると、最後にファイルを閉じるときに「変更を保存しない」を選択
しても、最初にファイルを開いたときの状態にはもどないんですが、どうした
らいいでしょうか?



460名無しさん@そうだ選挙にいこう :2007/02/06(火) 19:56:18
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel 関数 中身

Excel関数の中身って分からないのでしょうか?
MSだけのひ・み・つなのでしょうか?

こんな事を聞くのは、例えばExcel2007でCOUNTIFSとか新しい関数が使えますよね。
こういうなのはユーザー定義関数とかで同じような機能を実現できないでしょうか?
いちからというのはとても…という感じなのでヒントでもないかなあと思って。
C言語とかみたいに関数の使い回しとか出来たらいいのにと思います。
宜しくおねがいします。


461名無しさん@そうだ選挙にいこう :2007/02/06(火) 20:00:16
>>460
VBAからもWorksheetFunctionオブジェクトのメンバとしてワークシート関数が呼び出せるが
当然ソース自体は参照できないよ。仮にも商用ソフトだからね。

462名無しさん@そうだ選挙にいこう :2007/02/06(火) 20:15:53
>>459
多分、そのアドイン誰も使ってないから、MSに質問しては?

463名無しさん@そうだ選挙にいこう :2007/02/06(火) 20:20:13
>>462
ありがとうございました。あきらめます。

464460 :2007/02/06(火) 20:23:42
>>461
レスありがとうございます。
やっぱりブラックボックスなんですね。

465名無しさん@そうだ選挙にいこう :2007/02/06(火) 20:26:20
1から全部自分で作れば桶

466名無しさん@そうだ選挙にいこう :2007/02/06(火) 20:40:11
>>465
それが出来れば苦労はしない

467名無しさん@そうだ選挙にいこう :2007/02/06(火) 21:28:34
>>460
Excel2000(無印)でマイクロソフトがパスワードかけ忘れで、アドインの関数が読めた。

468名無しさん@そうだ選挙にいこう :2007/02/06(火) 21:58:50
>>466
苦労して汗水たらして生きていくんだ
その先に きっと希望はあるから OH My Baby

469名無しさん@そうだ選挙にいこう :2007/02/06(火) 22:32:20
>>468
汗かくの嫌いだもん

470名無しさん@そうだ選挙にいこう :2007/02/06(火) 22:46:43
じゃあ死ね とにかく死ね

471名無しさん@そうだ選挙にいこう :2007/02/06(火) 22:48:40
命を粗末にしちゃいけない

472名無しさん@そうだ選挙にいこう :2007/02/06(火) 23:08:07
これがExcelのスレでのやりとりかw


468 名無しさん@そうだ選挙にいこう sage 2007/02/06(火) 21:58:50
>>466
苦労して汗水たらして生きていくんだ
その先に きっと希望はあるから OH My Baby

469 名無しさん@そうだ選挙にいこう sage 2007/02/06(火) 22:32:20
>>468
汗かくの嫌いだもん

470 名無しさん@そうだ選挙にいこう sage 2007/02/06(火) 22:46:43
じゃあ死ね とにかく死ね

471 名無しさん@そうだ選挙にいこう sage 2007/02/06(火) 22:48:40
命を粗末にしちゃいけない

473名無しさん@そうだ選挙にいこう :2007/02/06(火) 23:33:22
フラシュメモリーに保存してるファイルが開けん
サイズは6MB
会社では開けるxp
自宅98




474名無しさん@そうだ選挙にいこう :2007/02/06(火) 23:35:48
>>472
(´;∀;)イイハナシダナー

475名無しさん@そうだ選挙にいこう :2007/02/06(火) 23:38:30
>>473
自宅のExcelのバージョンを上げて下さいです。
下位互換。

476名無しさん@そうだ選挙にいこう :2007/02/06(火) 23:51:51
それExcelのバージョンか?

477名無しさん@そうだ選挙にいこう :2007/02/06(火) 23:55:33
フラッシュメモリのドライバをインストール
Excelをインストール

478名無しさん@そうだ選挙にいこう :2007/02/06(火) 23:56:14
なんで6MBもあるんだ?
変なもの入れてるな。

479名無しさん@そうだ選挙にいこう :2007/02/06(火) 23:58:47
>>475
くぐってきたが脳が末期った
>>476
osです
>>477
高度すぎる

480名無しさん@そうだ選挙にいこう :2007/02/06(火) 23:59:55
>>478
ワークシートのみです

481名無しさん@そうだ選挙にいこう :2007/02/07(水) 00:04:48
策を出してもこうもやる気がなく、ネタで返すなら、諦めた方がいいな。

482名無しさん@そうだ選挙にいこう :2007/02/07(水) 00:05:14
USBフラッシュメモリは、WinXPでは自動認識されますが
Win98では、デバイスドライバをインストロールしないと
認識されません。フラッシュメモリを認識した上で読めないのか
メモリ自体が認識できないのか、切分けてください。

483名無しさん@そうだ選挙にいこう :2007/02/07(水) 00:13:09
>>481
気に障ったらスマン

>>482
認識はしてる
一緒に入ってるファイル KB程度はサックと開く
MBのファイルをクリックすると
ファイルを開いていますとなり、フリーズみたくなる


>>475
で、あった様に新しいのをインストールすれば解決するとは思うが


知恵を借りたい

484名無しさん@そうだ選挙にいこう :2007/02/07(水) 00:16:05
>>483
可能性的には、外部メモリに移す際にファイルが壊れたものと思う。
そのファイルをデスクトップなどにコピーしても開けないか?
あとそのファイルは、もともとMBあったのか?
画像とか貼りまくってんのか。

485名無しさん@そうだ選挙にいこう :2007/02/07(水) 00:19:21
HDD上にコピーしてから開いてみろ

486名無しさん@そうだ選挙にいこう :2007/02/07(水) 00:20:15
>>484
デスクトップに移しても同じ症状だ
容量がでかいのが原因?
ファイルはワークシートが6つに計算式

487名無しさん@そうだ選挙にいこう :2007/02/07(水) 00:24:01
出し惜しみすんなよ。Excelのバージョンは同じなのか?
同じであれば、きっと壊れてんぜぇ。
デカいのが原因じゃなく、移す際にファイルが壊れてる。
例えば、データの断片が入りきる前に抜いたとか。

488名無しさん@そうだ選挙にいこう :2007/02/07(水) 00:25:41
ExcelViewer使って開かんかな?
開かなかったらファイルが壊れているかメモリ不足だと思う。
マンキツでも逝って来い。

489名無しさん@そうだ選挙にいこう :2007/02/07(水) 00:28:02
ExcelViewer2003はWindows98にはインストールできないと思った

490名無しさん@そうだ選挙にいこう :2007/02/07(水) 00:28:42
ExcelViewerは根本が同じだから無理だとオモ
他社製のExcel読めるアプリがあれば、断片的に数字を見る事は可能かも。
ファイルメーカーなどの簡単なデータベースソフトとか。

491名無しさん@そうだ選挙にいこう :2007/02/07(水) 00:32:07
OpenOffice 2.0.4 か・・・

492名無しさん@そうだ選挙にいこう :2007/02/07(水) 00:32:20
Vista買え!

493名無しさん@そうだ選挙にいこう :2007/02/07(水) 00:33:40
>>487
会社のは2002以上だと思う
自宅のはexcel2000みたいだ

>>488
ダウンロードしてみる

494名無しさん@そうだ選挙にいこう :2007/02/07(水) 00:36:08
>>489
ほんとだ

サポートされているオペレーティング システム : Windows 2000 Service Pack 4; Windows Server 2003; Windows XP

だって

495名無しさん@そうだ選挙にいこう :2007/02/07(水) 00:37:58
まずExcelViewerでいけたとして、見るだけのソフトなのだが、
それで良いのか、とw

あれだな、2002ファイル形式でしか無い機能使ってたりするんだろうな。
ファイルは生きてるが、下位バージョンでは開けないと。

496名無しさん@そうだ選挙にいこう :2007/02/07(水) 00:39:08
壊れていないことが分かるだけでも前進だ

497名無しさん@そうだ選挙にいこう :2007/02/07(水) 00:39:29
>>489
>>490
新しいwindowsが必要って言われた


買い換えは考えているが
明日、使うんだよなぁ

498名無しさん@そうだ選挙にいこう :2007/02/07(水) 00:40:51
>>497
491が言ってたOO.orgは?

499名無しさん@そうだ選挙にいこう :2007/02/07(水) 00:46:52
>>498
ダウンロードしてみる
10分くらいかかるみたいだ

500名無しさん@そうだ選挙にいこう :2007/02/07(水) 01:20:04
インストールはできた
ファイルをクリックすると
ドキュメントを開く、行の高さを調節ってのはサクサクと進んだが
計算ってとこで少しずつ進んでいる状況

501名無しさん@そうだ選挙にいこう :2007/02/07(水) 02:34:49
ある列の任意のセルをダブルクリック(DC)すると
その列の数値が最初のDCで昇順に、次のDCで降順に
ソートされるようにしたいと思います。
(各行のデータも列と一緒に並べ替えます。)

拾ったコードを混ぜ合わせたものの、所詮は私、ここまでが限界でした。
xlDescending も使うことになるはずなのですがorz

Sub prcSort()
ActiveSheet.OnDoubleClick
Range("A2:G60").Sort _ 'A1からG1まではデータ種別が入っています'
Key1:=Column. _ 'ここがまずいのでは・・・'
, Order1:=xlAscending _ '昇順'
, Header:=xlGuess _
, MatchCase:=False _
, Orientation:=xlTopToBottom _
, SortMethod:=xlPinYin
End Sub

当然、このままではエラーが出てしまいます。
有識者の方、どうか回答をお願いします。

【1 OSの種類         .】 Windows XP Professional
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 ・・・は、はい、ColorIndex云々程度なら(汗)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel VBA 並べ替え ダブルクリック 等

502名無しさん@そうだ選挙にいこう :2007/02/07(水) 03:07:35
今は2000を使ってるんですがそれより新しいエクセルって
セルにフォーカスするだけで計算式に含まれるセルの枠の色が変わるようになってないですか?
計算式チェックを手早くしたいので

503名無しさん@そうだ選挙にいこう :2007/02/07(水) 06:26:03
>>501
Private lngBeforeSortCol As Long

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  If Target.Row <> 1 Then Exit Sub
  Dim lngTargetCol As Long
  lngTargetCol = Target.Column
  If lngTargetCol > 7 Then Exit Sub

  Range("A2:G20").Sort Key1:=Target, Order1:=IIf(lngBeforeSortCol = lngTargetCol, xlDescending, xlAscending)
  lngBeforeSortCol = IIf(lngBeforeSortCol = lngTargetCol, 0, lngTargetCol)
  Cancel = True
End Sub

こういうことか?

>>502
2003だと
メニュー > ツール > オプション > 表示 > ウィンドウオプション > □数式
にチェックを入れると、セルの表示が数式結果ではなく数式そのものになり
そのセルを選択すると参照先が色枠表示されるようになる。
確か2000でも同じようなことが出来たような気がするが。

いちいちオプションダイアログで切り替えるのが面倒なら、ツールバーを右クリックして
ユーザー設定 > コマンド > ツール > ワークシート分析モード(たぶん一番下の方)
のコマンドボタンをツールバーに出しておくと良い。Ctrl+Shift+@でも切り替えられる。

504名無しさん@そうだ選挙にいこう :2007/02/07(水) 09:48:27
フォントは普通何使えばいいんだ?

505名無しさん@そうだ選挙にいこう :2007/02/07(水) 09:51:29
>>504
普通って何だ。
デフォルトは「MS Pゴシック」。

506名無しさん@そうだ選挙にいこう :2007/02/07(水) 10:01:46
>>505
会社の書類を作り直さなきゃいけないんだが
記号とか入ってると文字の幅が下と崩れたりするから
通常、皆さんはどぉしてるのかと…。

507名無しさん@そうだ選挙にいこう :2007/02/07(水) 10:07:57
>>506
書類によるから「普通」とかは無い。
文字の横幅を揃えたいだけなら、「MS ゴシック」など
等幅フォントを選んでおけば、安定。

508名無しさん@そうだ選挙にいこう :2007/02/07(水) 10:28:59
>>506
dd

509名無しさん@そうだ選挙にいこう :2007/02/07(水) 12:29:10
画面上でのセルの数字は「50,422」でもクリックすると数式が入っていて
「=G147-N147」などの場合、数式はコピーせずに画面上に現れた数字のみを
コピーすることはできますか?

510名無しさん@そうだ選挙にいこう :2007/02/07(水) 12:38:41
>>509
貼り付けるときに形式を選択すればおk

511名無しさん@そうだ選挙にいこう :2007/02/07(水) 12:50:07
>>509
貼り付けたいセルを選択→Altキー→Eキー→Sキー→値を選択→Enter

512名無しさん@そうだ選挙にいこう :2007/02/07(水) 13:36:30
【1 OSの種類         .】 WindowsXPsp2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可

教えてください。
ユーザフォーム上にテキストボックスとラベルとボタンがあり、ボタンを押して
各コントロールに書かれているテキストを取ろうと
Private Sub CommandButton1_Click()
MsgBox TextBox1.Text
MsgBox Label1.Text
End Sub
としましたが、実行すると「コンパイルエラー:メソッドまたはデータメンバが見つかりません」とアラートが出てしまいます。
フォーム上のラベルに書いた文字列が取得したいのですが、どうしたらいいのでしょうか。
よろしくご教示下さい。

513名無しさん@そうだ選挙にいこう :2007/02/07(水) 13:43:55
>>512
Label1.Caption

514512 :2007/02/07(水) 13:51:14
>>513
ありがとうございました。
たすかりました。

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

 [A]
1: 10
2: 20
3: 40
4: 50
5: =SUM(A1:A4)

という感じのとき
4行目と5行目の間にデータを追加したいのですが
5行目を選択して行挿入をしても5行目の計算式は
=SUM(A1:A4)のまま

4行目を選択して挿入をすると計算式は自動で変わりますが
3行目と4行目の間のデータ追加になってしまいます

どっちかやって修正するしかないんでしょうか

516509 :2007/02/07(水) 14:19:53
>>510 511ありがとうございました!

517名無しさん@そうだ選挙にいこう :2007/02/07(水) 14:26:45
「10684.764」 などをコピーしたら自動的に「10685」に繰り上げられています。
コピー先で、繰り上げずに小数点以下切捨てに設定するにはどうしたらいいですか?


518名無しさん@そうだ選挙にいこう :2007/02/07(水) 14:30:58
>>517
自動的に切り上げられてるんじゃなく、表示形式で、そう見えてるだけ。
セルを右クリ→セルの書式設定の一番左のタブで設定。
完全に、切り捨てたいなら、関数「=ROUNDDOWN()」。

519名無しさん@そうだ選挙にいこう :2007/02/07(水) 14:36:30
>515
=SUM(INDIRECT("A1:A"& ROW() - 1)) とか

520名無しさん@そうだ選挙にいこう :2007/02/07(水) 14:48:16
>>518
ありがとう!!

521名無しさん@そうだ選挙にいこう :2007/02/07(水) 15:44:50
>>519
ぬおーすごいです!ばっちりです
ありがとうございました

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

ひとつのセルの中に
73827−47832B−1

という数字と文字を入れています。
その一つのセルの中にある文字を、

A  B  C  D  E   F   G・・・・・
7  3  8  2   7   -   4・・・・

という風に、分ける方法を教えてください

523名無しさん@そうだ選挙にいこう :2007/02/07(水) 19:08:06
>>522
A1に元データが入ってる場合。

A2に「=MID($A$1,COLUMN(),1)」、
右方向にフィル。

524名無しさん@そうだ選挙にいこう :2007/02/07(水) 19:14:31
>>523
すげえええええ
ありがとうございました。ほんとに助かりました 
この感謝の気持ちは忘れません


525501 :2007/02/07(水) 20:00:19
>>503
すごーい!!カンペキです!
仕事が楽になりました。ありがとうございます!

526名無しさん@そうだ選挙にいこう :2007/02/07(水) 20:10:19
全国から喜びの声が続々と届けられています−状態だな。

527名無しさん@そうだ選挙にいこう :2007/02/07(水) 20:15:12
SUM使うときにかっこの中に数字入れる時、A〜Cは入れられるのですが、
A〜C+Eの合計出すときはどう入力するのですか?



528名無しさん@そうだ選挙にいこう :2007/02/07(水) 20:20:29
>>527
自分でやってみたらいいじゃん
=SUM(A:C,E)


529名無しさん@そうだ選挙にいこう :2007/02/07(水) 20:41:11
エクセルのアイコピーのやり方おしえてください

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

  A B C D E  F・・・
1 4 5 3  4 6・・・


上のような行になった数字を、列に変換する方法を教えてください

531名無しさん@そうだ選挙にいこう :2007/02/07(水) 21:03:24
[コピー]→[形式を選択して貼り付け]→[行列を入れ替える]にチェック→OK

532名無しさん@そうだ選挙にいこう :2007/02/07(水) 21:21:55
>>531
ありがとうございました

533名無しさん@そうだ選挙にいこう :2007/02/07(水) 23:01:56
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 VBA、1つのセル、上限、まとめる、複数のセル、マクロ
他のスレッドにもお邪魔したのですが、誰もいらっしゃらないようだったので、
こちらでも質問させてください。
例えば、A1〜A3000位まであるセルの文字列を1つのセルにまとめたいのですが、
関数の"CONCATENATE"や"=A1&A2&A3・・・・"のようなやり方では時間が掛かりすぎる為、
良い方法があれば教えてください。
総文字数は、問題無く1つのセルに入りきる量です。


534名無しさん@そうだ選挙にいこう :2007/02/07(水) 23:06:59
コピーしてメモ帳とかワープロに張り付けてそれをまたコピーしてひとつのセルに貼り付け

535名無しさん@そうだ選挙にいこう :2007/02/07(水) 23:19:05
>>533
ttp://www.relief.jp/itnote/archives/001342.php

536533 :2007/02/07(水) 23:23:41
>534
ああ。
ありがとうございます。こんなに単純な事だったんですね。
とても助かりました。そして、すごく恥ずかしい。


537533 :2007/02/07(水) 23:27:58
>536
レスありがとうございます。
今後の為に今からよく読みます。

538名無しさん@そうだ選挙にいこう :2007/02/08(木) 01:12:38
質問させてください。

A
2 あ
3 あ
4 い
5 あ
6 あ

 のように1つでも違う場合にA7に印を付けたいのですが、
IF(A2=A3,IF(A3=A4,IF(A4=A5,IF(A5=A6,""),"★")))
ではうまくゆかない場合があります。どうしてなのでしょうか。
(違うものの出現はランダムで、複数個ある場合もあります。)

539名無しさん@そうだ選挙にいこう :2007/02/08(木) 01:22:37
>>538
全てのIFに対して条件が偽のときの値を設定していないから
つまりその書き方では"★"が1つじゃ足りない

540名無しさん@そうだ選挙にいこう :2007/02/08(木) 01:22:57
>>538
ネストごとに判定してあげないとうまくいかないんじゃね?
=IF(A2=A3,IF(A3=A4,IF(A4=A5,IF(A5=A6,"全部同じ","★"),"★"),"★"),"★")

それか考え方変えて、A2に入力してある内容が5個なきゃ違うって考えるとか
=IF(COUNTIF(A2:A6,A2)=5,"5つ同じ","★")

541名無しさん@そうだ選挙にいこう :2007/02/08(木) 02:15:56
>>539 >>540
早速の御回答、恐縮です。。
うまくゆきました。理由も納得です。
単純なことなのに、恥ずかしいです。
COUNTIFを使うというのは洗練されている感じですね。
どうもありがとうございました。


542名無しさん@そうだ選挙にいこう :2007/02/08(木) 05:04:42
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 初心者
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 VBA 入力規則 Change

以前このスレで(勤務表の作成で)お世話になった者です。
更に質問します。

いろいろ教えていただいたことを元にばっちり動くようになりました。
ところが、入力規則を設定し、リスト▼で勤務の部分を入力するように
設定したら、この下に書くマクロがほとんど動かない状態になりました。
一部、'BA勤務等を警告するのみ通常に動きますが、他が動きません。
キーボードで打ち込めば、すべて動くのですがどうしてでしょうか?

543542 :2007/02/08(木) 05:07:25
This Work Bookに格納↓

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

'Targetが"E11:AH52"以外の場所で処理を中止
If Intersect(Target, Range("E11:AH52")) Is Nothing Then Exit Sub
Dim r As Long, c As Long
r = Target.Row: c = Target.Column

'"E"及び"E1"と入力したら,右隣のセルに"-"と自動入力する
If cells(r, c) = "E" Or cells(r, c) = "E1" Then cells(r, c + 1) = "-"

'右隣のセルが"-"の時,"A"〜"研"と入力したら,右隣のセルを消去する
If cells(r, c) = "" And cells(r, c + 1) = "-" Then cells(r, c + 1).ClearContents

'<中略>

544542 :2007/02/08(木) 05:08:01
'BA勤務等を警告する、警告1は標準モジュールに格納されています。
If cells(r, c) = "A" And cells(r, c - 1) = "B" Then 警告1
If cells(r, c) = "B" And cells(r, c + 1) = "A" Then 警告1

'<中略>

'もし6日連続勤務以上なら冴子先生が警告する
If Intersect(Target, Range("E6:AI52")) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
With Target.EntireRow
If .cells(49).Value >= 1 Then
With Assistant.NewBalloon
Assistant.Filename = "saeko.acs"
.Heading = cells(r, 1).Value & "さんが6連勤です。"
.Show
End With
End If
End With
End Sub

545名無しさん@そうだ選挙にいこう :2007/02/08(木) 05:29:41
>>542
デバッグすればいい
デバッグはコード書き始める前に覚えるべきことだから、初心者でも出来るだろ

デバッグできないならブックうp
公開しちゃまずいデータは適当なものに置換してもいいけどね

ブックうpも出来ないならさようなら

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


セルの結合で悩んでいます。

     A      B
1   行程    1.削る
2          2.磨く
3          3.着色

このように3行になっている表を、

     A      B
1   行程    1.削る
           2.磨く
           3.着色

といった具合に、B1セル内に改行された状態で格納し、行程という項目の1行で
収めたいのです。
セルの結合を使うと「1.削る」だけになってなってしまうので困っています。
これがシート内に数十箇所あるのでうまく1セル内に格納しながら作業を進めて
行きたいのですが、何か良い方法はあるでしょうか?

547名無しさん@そうだ選挙にいこう :2007/02/08(木) 13:00:06
>>546

>>533-534 でどうよ?

548名無しさん@そうだ選挙にいこう :2007/02/08(木) 13:25:58
結合じゃなく、Alt+Enter

549名無しさん@そうだ選挙にいこう :2007/02/08(木) 13:59:57
>>547
やはりそれしかありませんか。orz
今のファイルでざっと見で80箇所ほどあるので効率化を考えてたんですが
これはキツそうですね。

550名無しさん@そうだ選挙にいこう :2007/02/08(木) 14:38:06
>>546
・A、B列に全部データがあるということ。
・B列のデータは3個ずつであること。
が確定であれば、

@C1に「=A1」
  D1に「=B1&CHAR(10)&B2&CHAR(10)&B3」
  E1に「=MOD(ROW(),3)」
  C、D、E列とも下までフィル。
Aオートフィルタ展開→E列を「1と等しくない」で絞る。
B絞った状態のC、D列の2行目より下をDeleteキーで数式削除。
Cフィルタを「全て表示」→C、D列を選択して値で貼り直す。
D今度はC列「空白セル」で絞る
E絞った状態で、全行を行ごと削除。
Fフィルタ外して、A、B、E列を削除。

551550 :2007/02/08(木) 14:41:39
ごめん、よく見たら、Dで全行消さず、1行目残さないと。
あと、E列いらんなw
A列で絞れば良いんだ。すまん。

552名無しさん@そうだ選挙にいこう :2007/02/08(木) 14:43:03
80程度なら下の関数を使ってコピペでもいいかな
区切り文字は CHAR(13)&CHAR(10)

'値でセル範囲を連結
Public Function JoinValue( _
ByRef Source As Range, _
Optional ByVal Delimiter As String = "" _
) As String
Application.Volatile

Dim strJoin As String
Dim objCell As Range

For Each objCell In Source
If objCell.Value <> "" Then
strJoin = strJoin & objCell.Value & Delimiter

End If

Next objCell

If strJoin <> "" Then
JoinValue = Left$(strJoin, Len(strJoin) - Len(Delimiter))

End If

End Functiontion

553名無しさん@そうだ選挙にいこう :2007/02/08(木) 15:15:43
>546
B列じゃなくて、A列を結合すれば?

554名無しさん@そうだ選挙にいこう :2007/02/08(木) 15:22:11
1行で納めるのが目的なんでは。

555名無しさん@そうだ選挙にいこう :2007/02/08(木) 15:48:53
自分もA列を結合したほうが良いと思う
一行に収めたいなら、行列置換えで十分な気がする

556名無しさん@そうだ選挙にいこう :2007/02/08(木) 16:12:25
>546
C1に =B1&CHAR(10)&B2&CHAR(10)&B3
C1:C3を選択して下へオートフィル
選択状態のまま コピー⇒値貼り付け
選択状態のまま 編集⇒ジャンプ⇒セル選択⇒空白セル
削除⇒行全体
B列削除

557名無しさん@そうだ選挙にいこう :2007/02/08(木) 16:16:19
結合の方が処理大変だろ。
ま、Excelの結合機能や、セル内改行使う奴は、基本印刷目的だろ。
そんなのどっちでも一緒。やりやすい方法でやりゃ良い。
どっちもデータとしては使い回しの効かない糞だがな。

558546 :2007/02/08(木) 17:25:12
ありがとうございます。
ファイルの随所に問題の個所があるので、教えていただいた方法を
組み合わせて試みたいと思います。

559名無しさん@そうだ選挙にいこう :2007/02/08(木) 17:28:14
セル結合は、極力使わない方が良いと思うが、
処理は、書式コピペで、そんなに大変じゃない。

560名無しさん@そうだ選挙にいこう :2007/02/08(木) 18:02:54
>>559
後学の為に教えてください。
80箇所あれば80回、F4キーしか思いつかない…。

561名無しさん@そうだ選挙にいこう :2007/02/08(木) 18:04:55
>>560
フィルのコピー→書式

562名無しさん@そうだ選挙にいこう :2007/02/08(木) 18:07:27
>>561
それじゃ行数固定しか無理っすよね。

563名無しさん@そうだ選挙にいこう :2007/02/08(木) 18:22:27
>>562
コピー元の範囲を選択し右クリック→コピー
対象セルをCtrlを押しながら順次クリック(希望範囲の左上角に該当するセルだけで良かったはず)
選択が完了したら右クリック→形式を選択して貼り付け→書式→OK

ってのはダメ?


564名無しさん@そうだ選挙にいこう :2007/02/08(木) 18:26:16
行数が固定じゃないなら無理だな。

VB無しじゃ、
{選択→F4→}×α
しかやりようがない。

565542 :2007/02/08(木) 18:29:32
http://555.sytes.net/up/img/373.zip

Upしました。遅くなってすみませんでした。

566名無しさん@そうだ選挙にいこう :2007/02/08(木) 19:33:53
こんばんわ。

約6万データをグラフ化するのに
突出していた部分のひげを手動でとっていました。

それを間違えて消してしまった。
簡単に取れる方法ないですか?泣きそう。

なだらかなグラフを作りたいのです。
手動でとったあと、移動平均を掛けようと思ってたんです。

わー、だめだ。説明も悪い。

567名無しさん@そうだ選挙にいこう :2007/02/08(木) 20:23:00
>>565
> どうしてでしょうか?
 セルへの代入部分で
 「アプリケーション定義またはオブジェクト定義のエラーです。」
 というエラーが発生しているから。(非通知)

原因
 CountXというユーザー定義関数。

対処法
 いろいろ。このくらいは自分で見つけよう。


それにしても、やたらと冗長な処理を書くのが好きなんだね。
>>543-544で'<中略>した部分に書いてある数十行のコードなんて10行も使わずに書けるのにさ。
他にも引数取れば1つで済む関数を幾つも並べたり。

568名無しさん@そうだ選挙にいこう :2007/02/08(木) 20:27:34
>>566
日本語でおk

予想で書くが、グラフの元データが万を超えるなんて、
何の意味もないかと。

569542 :2007/02/08(木) 20:40:19
>>567
ご指導ありがとうございました。勉強します。

570名無しさん@そうだ選挙にいこう :2007/02/08(木) 20:57:19
すみません、VBAのことで質問です。
リンク先のプログラムで、コマンドボタンを押した後に表示されるフォーム(モーダレス)の
コマンドボタンを押して処理を実行中にシートをダブルクリックしたりすとエラーで落ちちゃう
んですが、これを防ぐにはフォームをモーダルでshowするしかないですかね?

http://555.sytes.net/up/img/375.zip

571名無しさん@そうだ選挙にいこう :2007/02/08(木) 21:07:36
>>570
ダブルクリックする暇ないと思うけど…
無理やりダブルクリックしたらエラーメッセージが出るだけだった

572名無しさん@そうだ選挙にいこう :2007/02/08(木) 21:12:10
>>570
ダブルクリックするコツを教えてくれ
俺には無理だった・・・

573名無しさん@そうだ選挙にいこう :2007/02/08(木) 21:13:59
エラーを無視したら?

574570 :2007/02/08(木) 21:27:16
>>571>>572
ごめん、upする奴だからあんまり回しすぎると迷惑かと思って500しかカウントしてないです
コマンドボタンを押した後にすぐシートのセルをダブルクリックすると1004のエラーがでます

多分、Rangeプロパティの参照がおかしくなってるからだと思うんですが・・・

>>573
実際は他にも処理が走るので、その処理のエラーまで無視できないんです。


575名無しさん@そうだ選挙にいこう :2007/02/08(木) 21:30:21
みなさまこんばんは。
エクセル2003使用者です。
質問なのですが
>相対参照 ある数式を別の列または行にコピーすると、その数式の中の相対セル参照は変更されます。
とマイクロソフトのサイトに書いてあったのですけど

以下の式だとコピーしても行が9のままで10、11…と行が変更になって欲しいところがそのまま9から変わりませんでした。

=IF(ISNUMBER(FIND("買",E9)),I9*J9, "-I9*J9")

これをコピーでうまく入力する方法はありませんか?

576名無しさん@そうだ選挙にいこう :2007/02/08(木) 21:44:22
>>575
=IF(ISNUMBER(FIND("買",E9)),I9*J9, "-I9*J9")
                        ↑
           ここにスペースが入ってるから。

ズレそうだなぁ。
ダブルクォーテーションの前。

577名無しさん@そうだ選挙にいこう :2007/02/08(木) 21:52:56
スペースが入ってるのもアレだが、計算式に
ダブルクォーテーションがついてるの自体、
表の作りとして、間違ってる予感w

578名無しさん@そうだ選挙にいこう :2007/02/08(木) 22:03:35
>>575
("買",E9)),I9*J9
ここは数式だから変わるけど

"-I9*J9"
この部分は文字列だから変わらないんぢゃなかったっけ?

579名無しさん@そうだ選挙にいこう :2007/02/08(木) 22:24:14
>>542
まだ見てらっしゃるでしょうか?

とりあえず、CountXは関係ないと思いますよ。
どうやってCountXが動いてるのかすごい知りたいですが…。

おそらく入力規制中の値の変更は受け付けないようです。(アクティブセルの変更なんかもできませんでした。)
まだ解決策は考えていませんが(考えないかもしれませんが…。)
入力規制が終わったタイミングで、改めて値が変更されたセルの値を調べる形にすることに
なるんじゃないかと思います。
この間そういうのと同じようなツール作ったんですけども、会社いかないとどんなんだったか思い出せません…。

580名無しさん@そうだ選挙にいこう :2007/02/08(木) 22:27:20
日本語でおkですね、すみません言い直します。


入力規制が終わったタイミング→カーソルが移動したタイミング
です。

581名無しさん@そうだ選挙にいこう :2007/02/08(木) 23:37:36
誰か徹夜になる前に助けて欲しい…(;_;)
Excelであるコード番号を入れたら、それに該当する品名が隣りのセルに出るようにするには、
どうしたら出来る?特急で教えて欲しいよ〜。

582名無しさん@そうだ選挙にいこう :2007/02/08(木) 23:41:44
テーブルを作って、それを参照するように
すれば良いと思うよ。

583名無しさん@そうだ選挙にいこう :2007/02/08(木) 23:42:25
?LOOKUP

584名無しさん@そうだ選挙にいこう :2007/02/08(木) 23:43:00
急いでるならぐぐれ!

585名無しさん@そうだ選挙にいこう :2007/02/08(木) 23:44:35
>>583
優し杉

586名無しさん@そうだ選挙にいこう :2007/02/08(木) 23:46:28
おまいら特急だぞ!ここはスルーだ!

587581 :2007/02/08(木) 23:52:27
ありがとうごぜいました。みんな!
速攻でできました!

588名無しさん@そうだ選挙にいこう :2007/02/08(木) 23:55:42
VBAでこれのアスタリスクってどういう機能なの?

Dim Lpstr As String * 5000

589名無しさん@そうだ選挙にいこう :2007/02/08(木) 23:56:03
>>579
おいらはよくわからないけど、CountXを消したら問題なく動いたよ
やりかたは3月シートの保護を解除したらAW15のCountX式を消す
次にO14,O15でそれぞれEを選ぶ
CountXを消した15行目は右となりに-が出るけど、14行目はちゃんと動かない
AW14の式を消してAW15の式を残せば、結果もそれに追従する

590名無しさん@そうだ選挙にいこう :2007/02/09(金) 00:02:30
>>588
固定長文字列

その意味についてはググれ

591名無しさん@そうだ選挙にいこう :2007/02/09(金) 00:05:48
テーブル作ってLookup関数使えはいいのか〜!さっそくやってみよっ。

592名無しさん@そうだ選挙にいこう :2007/02/09(金) 00:10:33
vlookupな。

593579 :2007/02/09(金) 00:31:10
>>589
どうもです、申し訳ない。
CountXがどこで動いてるのかわかりました。
質問者さんとは関係ないですけど感謝いたします。あんな技あったんですね…。

CountXは必要な処理っぽかったのでそのまま残すと考えて、
共通変数をひとつとり、
今"-"をいれてるところでフラグをON
Selection_ChangeでフラグチェックしてONだったら"-"をTargetの右上に挿入→フラグをOFF
って感じで考えてたもんであの答えに行き着いてるわけです。
今試してみて無事に動いたのでまぁ悪かないかと…。

594名無しさん@そうだ選挙にいこう :2007/02/09(金) 01:06:14
【1 OSの種類         .】 Windows*XP
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 積み上げグラフ 積み上げ横棒 入れ替え 順序

積み上げ横棒グラフを作成したのですが、
割合が多いものを左端に寄せたい場合はどうすればいいのでしょうか?
データ系列の書式設定で系列の順序を入れ替えると、
入れ替えたくない項目の系列まで入れ替わってしまいます。
分かりにくいのですが、例で言うと下記のような感じのグラフにしたいです。
(1月、2月、3月というのは項目です。)

今のグラフ
1月 | a200 b150 c100 |
2月 | a100 b150 c150 |
3月 | a150 b200 c150 |
↓こう並べ替えたい
1月 | a200 b150 c100 |
2月 | b150 c150 a100 |
3月 | b200 a150 c150 |

595名無しさん@そうだ選挙にいこう :2007/02/09(金) 03:32:03
>>594
元のデータを並べ替え

並べ替えの方法くらいは自分で考えろ

596542 :2007/02/09(金) 07:26:33
>>579,589,593
ありがとうございます。返信もせず申し訳ありませんでした。

確かにCountXが問題になっています。だがその先が皆目見当が付きません。
とりあえず会社に行きます。いい方法があったら教えて下さい。

597542 :2007/02/09(金) 08:33:33
>>593
解答を提示していただいたのによく読まないで出勤してしまいました。
お詫び申し上げます。会社でやってみます。

598名無しさん@そうだ選挙にいこう :2007/02/09(金) 10:17:46
VBAでWebにあるファイルをダウンロードして指定したフォルダに保存するには、どうしたらいいですか?

599test :2007/02/09(金) 11:10:21
TEST

600名無しさん@そうだ選挙にいこう :2007/02/09(金) 11:15:47
すみません。教えてください。

ひとつのパソコンで作った計算式が入ったエクセルファイルを、別のPCで開くと、計算式のところが「###」となってしまいます。
計算式は「=IF(I5=0,"",QUOTIENT(L5,I5))」こんな感じのもので、ちゃんと計算されるものと、「###」になるものがあります。
何か設定が必要なのでしょうか?

どちらのパソコンも2003です。よろしくお願いいたします。

601名無しさん@そうだ選挙にいこう :2007/02/09(金) 11:16:45
セルの幅と書式設定見ろ

602名無しさん@そうだ選挙にいこう :2007/02/09(金) 11:27:09
ありがとうございます。
セル幅は問題なさそうなので、書式設定を確認しようとしたのですが、「書式設定」がアンクリッカブルになっています。
これは何かの設定なのでしょうか。

また、セル幅も変えられないようになっているようです。

すみません。エクセルをあまりつかったことがなくて・・・

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

603名無しさん@そうだ選挙にいこう :2007/02/09(金) 11:28:45
>>602
http://www.google.com/search?num=50&hl=ja&safe=off&q=%E3%82%A8%E3%82%AF%E3%82%BB%E3%83%AB%E3%80%80%E4%BD%BF%E3%81%84%E6%96%B9&lr=lang_ja

604名無しさん@そうだ選挙にいこう :2007/02/09(金) 11:41:24
ありがとうございます。

なんか、分析ツールっていうものをアドオンすると使えるようになりました。

助かりました・・・

605福さん :2007/02/09(金) 11:58:44
excel で ソートするとハイフンは」無視されるのですか?
半角の英数字です。無視しない方法を教えて下さい。


606名無しさん@そうだ選挙にいこう :2007/02/09(金) 12:15:40
>>598
>>2・7

607福さん :2007/02/09(金) 15:56:26
VBAでAシートで実施していることをBシート(同じブック)で実施しようと
ActivateやらselectなどやってみたのですがAシートでしか動きません。
助けて下さい。


608名無しさん@そうだ選挙にいこう :2007/02/09(金) 15:57:57
>605
A.EXCEL95をつかう
B.自分でソートマクロを組む
C.置換⇒ソート⇒置換
D.あきらめる

609名無しさん@そうだ選挙にいこう :2007/02/09(金) 16:11:20
>>607
 >>1★1-4
 >>2・8、・3

610名無しさん@そうだ選挙にいこう :2007/02/09(金) 16:33:30
この時間に自治厨が現れたかw

>>607
VBEのAシートの所に書いてあるのを、Bシートの所にも
コピペすりゃ、だいたいそっちで動くよ。

611名無しさん@そうだ選挙にいこう :2007/02/09(金) 16:34:20
Excel2003です。
急に、斜め方向にドラッグして選択ができなくなりました。
縦か横にしか選択範囲が動かず、必ずオートフィルオプションが出ます。
特にオプションなど変えてないのですが・・・
再起動しても変わらず、どのファイルを使っても同様です。

よろしくお願いします。

612名無しさん@そうだ選挙にいこう :2007/02/09(金) 16:44:14
>>611
マウスを刺し直す
別のマウスに変えてみる

613名無しさん@そうだ選挙にいこう :2007/02/09(金) 16:47:06
610

614名無しさん@そうだ選挙にいこう :2007/02/09(金) 16:51:28
>>611
Excelだけじゃなく、OSを再起動する。

615名無しさん@そうだ選挙にいこう :2007/02/09(金) 19:14:41
散らかしたまま、飲みに逝ってしまったか、、、3連休だもんな、、

616名無しさん@そうだ選挙にいこう :2007/02/09(金) 19:21:32
世間は3連休か。
言い身分じゃないか、え?オマエら。

俺?俺はあれだ。今日で何連休目だこれ。

617名無しさん@そうだ選挙にいこう :2007/02/09(金) 19:28:23
ちょっwそれ、お前ニー(ry

618名無しさん@そうだ選挙にいこう :2007/02/09(金) 20:04:25
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 計算・演算・割り算
ttp://www.uploda.org/uporg686737.png.html
これのB2の値でB2〜B22をそれぞれ割りたい(Bn/b2)んですが、一気にやる方法はありませんか?

619名無しさん@そうだ選挙にいこう :2007/02/09(金) 20:38:09
すみません。
関数の引数でセル範囲指定する場合ってありますよね。
あのセル範囲指定を簡単に指定する方法ってありますか?

たとえば、ある2つのセルにそれぞれA2、A10と入れれば、
その二つのセルを参照して関数の引数のセル範囲指定(A2:A10)できるような方法なんですが・・・

620名無しさん@そうだ選挙にいこう :2007/02/09(金) 20:59:30
>>618
俺が頭悪いのか、やりたいことが今一つ分からないんだけど、
つまりこういう事?
http://www.google.co.jp/search?num=50&hl=ja&inlang=ja&q=Excel+%E7%B5%B6%E5%AF%BE%E5%8F%82%E7%85%A7&lr=

621名無しさん@そうだ選挙にいこう :2007/02/09(金) 21:01:03
>>619
INDIRECT関数をヘルプとGoogleで見てみよう。

622名無しさん@そうだ選挙にいこう :2007/02/09(金) 21:10:34
>>621
レスありがとうございます。
やっぱりINDIRECTですか・・・ヘルプみたんですけど、それみたら逆にわからなくなってきてしまったもんで・・・
調べてみます。
ありがとうございました。

623名無しさん@そうだ選挙にいこう :2007/02/09(金) 23:28:03
>>576さん
>>577さん
>>578さん
ありがとうございます。
今おっしゃるとおりにやってみましたらできました。

624名無しさん@そうだ選挙にいこう :2007/02/10(土) 06:53:49
>>622
A1=B1
A2=B10
A3=SUM(INDIRECT(A1&":"&A2))
これでB1からB10の合計がA3にはいる

625名無しさん@そうだ選挙にいこう :2007/02/10(土) 09:29:13
とあるExcelファイルを開こうとしたとき、「ファイルエラー:データが失われた可能性があります」
ってエラーメッセージが出てきて開かない。ファイルが壊れているのかを確認しようと、もう1台の
PCにその開かないExcelデータを移動して試してみたら、今度は開いた。ちなみにデータが開かない方のPCは
WinXP (SP2) Excel2003で、データが開いた方のもう1台のPCはWin98 Excel2002。
それでWin98の方で開くときに「このブックには、ほかのデータソースへのリンクが設定されています。」って
メッセージが出てくるんだが、これはデータが開く開かないに関係があるのか?

誰か詳しい人教えてください

626名無しさん@そうだ選挙にいこう :2007/02/10(土) 12:14:23
【1 OSの種類         .】 WindowsXPsp2
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

Ctrl+ページダウン・アップでのショートカットキーを押しても反応がありません・・
よろしくお願いします。


627名無しさん@そうだ選挙にいこう :2007/02/10(土) 12:16:26
>>626
>>2・6

628名無しさん@そうだ選挙にいこう :2007/02/10(土) 14:04:50
1 | 2
AB | CD

という表があったとしまして,数字の場合は単純に合計(1+2=3),文字の場合はABCDと文字をつなぎ,どちらも同じ計算式で行いたいのですが,どうやったらよいでしょうか?
オートフィルでさくっとやる必要があります.
どなたか教えてください.

629名無しさん@そうだ選挙にいこう :2007/02/10(土) 14:12:16
>>620
あー、すみません。自己解決しました。
ありがとうございます。

630名無しさん@そうだ選挙にいこう :2007/02/10(土) 14:32:35
>628 A、B列で文字と数値の混在はないものとする。

=IF(ISNUMBER(A1),A1+B1,A1&B1)

631名無しさん@そうだ選挙にいこう :2007/02/10(土) 14:51:02
>>628
その1とか2とかABってのはその文字ひとつでひとつのセル?
A1=1、A2=2でA1+A2ってことならば

Function test(target As Range)
If IsNumeric(target.Offset(0, -1).Value) And IsNumeric(target.Offset(0, -2).Value) Then
test = target.Offset(0, -2).Value + target.Offset(0, -1).Value
Else
test = target.Offset(0, -2).Value & target.Offset(0, -1).Value
End If
End Function

かのぅ…。

632名無しさん@そうだ選挙にいこう :2007/02/10(土) 15:10:33
VLOOKUPでシート内を検索しているのですが、
VLOOKUPの戻り値はセルの値ですよね?

ここでセルの値ではなくセルの座標を欲しいときはどうしたらいいんでしょうか?
よろしくお願いします。

633名無しさん@そうだ選挙にいこう :2007/02/10(土) 15:33:29
>>632
MATCHとかADDRESSとか

634名無しさん@そうだ選挙にいこう :2007/02/10(土) 15:52:16
>>628
A1に 1 でA2に 2 とか  A1に 1 でA2に CD とか
A1に AB でA2に CD とか  A1に AB でA2に 2 とかだったら

A3に =IF(AND(ISNUMBER(A1),ISNUMBER(A2)),A1+B1,A1&B1)

635名無しさん@そうだ選挙にいこう :2007/02/10(土) 15:55:26
>>634 ごめん

× A3に =IF(AND(ISNUMBER(A1),ISNUMBER(A2)),A1+B1,A1&B1)

○ A3に =IF(AND(ISNUMBER(A1),ISNUMBER(B1)),A1+B1,A1&B1)

636名無しさん@そうだ選挙にいこう :2007/02/10(土) 16:44:41
マクロの記述で
Range("F8").PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False

これが上手く動いてないようなんですが、何故でしょう。

やろうとしてる事は
A1に在る顧客番号をA4に【=A1】を使用して、反映です。

イマイチ言ってる事がわからないと思いますが、これだけで理解していただける方教えてください。

637名無しさん@そうだ選挙にいこう :2007/02/10(土) 17:24:42
>>636
理解できませんが
>A1に在る顧客番号をA4に【=A1】を使用して、反映
ということなら
Sub test()
  Range("A4").FormulaR1C1 = "=R[-3]C"
End Sub


638名無しさん@そうだ選挙にいこう :2007/02/10(土) 17:48:08
>>611です
回答くださったかたありがとうございました。
OS再起動も試しました。
また、複数台のマシンで
同じ現象が出ているのでマウスとは考えにくいかなと。
再インスト試してみます。

639名無しさん@そうだ選挙にいこう :2007/02/10(土) 20:10:14
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 VBA 取得 空白以外

選択範囲の空白以外のセルを一度にselectするコードは
どうかいたらいいでしょうか?
よろしくおながいします。

640名無しさん@そうだ選挙にいこう :2007/02/10(土) 21:45:37
>>639
Sub test()
Range("A1:E5").SpecialCells(xlCellTypeConstants).select
End Sub

.value = "abc"
とかいう使い方はできますがどうでしょう。

641名無しさん@そうだ選挙にいこう :2007/02/10(土) 22:05:19
>>640
それだと数式が入ってるセルがSelectされないよ。空白以外ということは固定文字と数式両方対象なんだから
Union(Range("A1:E5").SpecialCells(xlCellTypeConstants), Range("A1:E5").SpecialCells(xlCellTypeFormulas)).Select

但し、この方法では数式が""を返しているセルも、表示形式で空白にしているセルもSelectの対象になる。
人が見た目には、空白セルも空文字""を返しているセルも同じに見えるけど、Excelはこれらを区別するから。
なので空白セル以外ではなく可視値を返していないセルを除外したいならループ回してrng.Text <> ""の条件で
Unionメソッドを使い変数に範囲を結合していき、最後にSelect。

642639 :2007/02/10(土) 22:21:02
>>640
レス有難うございます。
その方法でもいいんですが
641さんのおっしゃるように数式には対応できないので弱るところです。

>>641
レスありがうございます。
数式か定数のどちらか一方しか場合はエラーになると思うんですが…

>Unionメソッドを使い変数に範囲を結合していき、最後にSelect
例えば最初のセルが空白だった場合、Unionを使うとエラーになりませんでしょうか?
うまいコードがあればおながいします。

643名無しさん@そうだ選挙にいこう :2007/02/10(土) 22:45:17
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】少し
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 思いつきませんでした

=A9
空白のセル
空白のセル
=A9
空白のセル
空白のセル
=A9
このように縦に入っているデータを

=A9
空白のセル
空白のセル
=A10
空白のセル
空白のセル
=A11
後ろの数字を1ずつ増やしたいです。
よろしくお願いします。

644名無しさん@そうだ選挙にいこう :2007/02/10(土) 22:57:32
すみません。テンプレ読み直して>>643の訂正です。
【3 VBAが使えるか    .】いいえ

645640 :2007/02/10(土) 23:05:09
>>641
どうもです。
学習いたしました。

>>642
Unionの説明はできませんけども、
空白セルをifでひろって、rngが空だったらそこにセット
rngが空でなかったらUnion
アクティブセルをrngに保存
見たいな感じでよさそうじゃないでしょうか?(変数適当です、複数使うと思います。)

646640 :2007/02/10(土) 23:07:13
>>645
訂正です…。
アクティブセルじゃないです、Unionのセルです…。
雰囲気でお願いします。

647名無しさん@そうだ選挙にいこう :2007/02/10(土) 23:23:56
>>642
条件判定すればいいだけ
Sub Test()
  Dim objCellsBuffer As Range, objCell As Range
  
  For Each objCell In Range("A1:E5")
    If Not IsEmpty(objCell.Value) Then ' 空セルを除外
    'If objCell.Text <> "" Then ' 可視データの無いセルを除外
      If objCellsBuffer Is Nothing Then
        Set objCellsBuffer = objCell
      Else
        Set objCellsBuffer = Union(objCellsBuffer, objCell)
      End If
    End If
  Next
  
  If Not (objCellsBuffer Is Nothing) Then objCellsBuffer.Select
End Sub

>>643
=INDIRECT("A"&ROW(A27)/3)
これを入れたら、その下2セルを含む3セルを選択して下方にフィルコピー

648名無しさん@そうだ選挙にいこう :2007/02/10(土) 23:34:01
ttp://www.sourcenext.com/cp/s/0702/05_exbtn.html?i=idx

これと同じようなことが出来るフリーソフトはない?

649639 :2007/02/10(土) 23:34:51
>>646
ご意見を参考にして正しいのかどうかは別にして
やりたいことが出来るようになりました。有難うございます。
Sub Smp()
  Dim rg1 As Range
  Dim rg2 As Range

  Set rg2 = Selection

  On Error Resume Next
  Set rg1 = Application.Union(rg2.SpecialCells(xlCellTypeConstants), rg2.SpecialCells(xlCellTypeFormulas))
  If rg1 Is Nothing Then
    Set rg1 = Selection.SpecialCells(xlCellTypeConstants)
    If rg1 Is Nothing Then
      Set rg1 = Selection.SpecialCells(xlCellTypeFormulas)
    End If
  End If
  On Error GoTo 0

  rg1.Select
End Sub

>>647
レス有難うございます。
教えていただいたコードを試したんですが
数式の入ったセルが選択できませんでした。
なぜでしょう?

650名無しさん@そうだ選挙にいこう :2007/02/10(土) 23:39:18
>>643
Sub test()
Dim str As String
Dim str1 As String
Dim str2 As String
Dim cnt As Long
Dim rng As Range
str = ActiveCell.Formula
cnt = 1
Do While True
If Not IsNumeric(Right(str, cnt)) Then
cnt = cnt - 1
str2 = CInt(Right(str, cnt))
str1 = Left(str, Len(str) - cnt)
Exit Do
End If
cnt = cnt + 1
If cnt > 6 Then
MsgBox "選択セルの数式が不正です"
Exit Sub
End If
Loop
Set rng = ActiveCell
Do While rng.Row < 10000
If rng.Formula = str Then
rng.Formula = str1 & str2
str2 = CStr(CInt(str2) + 1)
End If
Set rng = rng.Offset(1, 0)
Loop
End Sub
一番上の=A9が入ってるセルを選択してマクロを実行でどうでしょう。(失敗したときのためにコピーとっといてください)

651名無しさん@そうだ選挙にいこう :2007/02/10(土) 23:40:57
>>648
Excel

フリーじゃないけど、それが使いたいってことはExcelは持っているんだろうから
金は掛からないので実質フリーと同じ。あと必要なのはスキルだけ。

スキルが無いなら金払え。金払いたくなければスキルを身に付けろ。
というかスキル無くても、Web上でマクロサンプル拾いまくればそれ以上のものが出来るけどね。
金、スキルを身に付ける努力、Web上を探す手間、どれを避けるかは君の自由。

652639 :2007/02/10(土) 23:44:18
>>647
すいませんでした。勘違いしてました。
Range("A1:E5")→Slectionに変えて無事動きました。
どうもありがとうございました。

653名無しさん@そうだ選挙にいこう :2007/02/10(土) 23:46:09
>>648
つVBA

654名無しさん@そうだ選挙にいこう :2007/02/10(土) 23:50:54
>>647>>650
ありがとうございます
両方試してみます

655名無しさん@そうだ選挙にいこう :2007/02/11(日) 01:42:18
【1 OSの種類         】 WindowsXP
【2 Excelのバージョン  .】 Excel2003
【3 VBAが使えるか    .】 初心者
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル excel アドイン addin マクロ タブ切り替え タブ切替

エクセルのブックをタブブラウザのようにタブで管理する方法はないでしょうか?
色々と検索してみたのですが、見つかりませんでした。
アドインでもマクロでも実現方法があるのでしたら、お聞きしたいです。
よろしくお願いします。

656名無しさん@そうだ選挙にいこう :2007/02/11(日) 09:57:33
>>630
今回は混在がなく,それでできました.

>>631
一つのセルではありますが.
私にはレベル高すぎて,なんと答えていいものやら.

>>634
そういう手もあるんですね.

ありがとうございました.


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

SHEET1のAに当てはまる値をSHEET2、SHEET3、SHEET4のデータから、
順番に探したい。検索が面倒なので、1発でわかる方法を
宜しくお願いします。


658名無しさん@そうだ選挙にいこう :2007/02/11(日) 14:44:44
>>657
SHEET2、SHEET3、SHEET4をひとつにまとめてオートフィルタ

659名無しさん@そうだ選挙にいこう :2007/02/11(日) 15:18:33
>>657
「検索」−「オプション」で検索場所をブックにするってのでダメ?

660名無しさん@そうだ選挙にいこう :2007/02/11(日) 15:43:53
qqr2rr
rr2tt
aa4ccc
ww1ee
のように文字の中にある数字で並べ替えは出来ますか?
文字の数は(数字から見て)左右きっちりそろってないものとして。


661名無しさん@そうだ選挙にいこう :2007/02/11(日) 16:09:09
たとえば
=MID(A1,MIN(FIND({"0","1","2","3","4","5","6","7","8","9"},A1&"0123456789")),LEN(A1))
として並べ替え

662名無しさん@そうだ選挙にいこう :2007/02/11(日) 16:23:24
一桁なら可能
=MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},ASC(A1)&"0123456789")),1)
取り出した数字を元にならべかえる

663662 :2007/02/11(日) 16:30:33
661さんんとほとんど同じでしたね。
すいませんでしたm( _ _ )m

664名無しさん@そうだ選挙にいこう :2007/02/11(日) 17:55:28
>660
また何処かの問題の解答かよ、あぁ、人まかせ

665名無しさん@そうだ選挙にいこう :2007/02/11(日) 19:38:02
>>660
1)いったん数字だけを取り出して別のセルに記入
2)その数字だけのセルでソート
っていう二段構えにする必要がある
あと数字は一桁しかありえないのか?a1v1ccってのはないの?

666名無しさん@そうだ選挙にいこう :2007/02/11(日) 20:02:05
>>661
げげげ!
FINDにこんな使い方があったなんて!
2002だけどヘルプにも載ってないぞ!!

667名無しさん@そうだ選挙にいこう :2007/02/12(月) 00:51:18
Aの場合は1と表示
Bの場合は2と表示
Cの場合は3と表示・・・
といった具合の場合わけをしたいのですが、
IF関数の中にさらにIF・・・といったIFを大量に使わずに、
簡潔に済ませることはできないのでしょうか?

668名無しさん@そうだ選挙にいこう :2007/02/12(月) 00:58:00
>>667
MATCH

669名無しさん@そうだ選挙にいこう :2007/02/12(月) 11:32:58
表を作ってVLOOKUP

別シートでリストを作って
別シートにVLOOKUPで

670名無しさん@そうだ選挙にいこう :2007/02/12(月) 11:44:25
すいません、途中でした

VLOOKUPで表を作って
その表をコピーしたときに
コピー先のセルにエラー表示がでます。
クリックしてみると
微妙に範囲がずれてました
直してエラーはきえたんですが
この表をかなりたくさんコピーするんですが
そのたびに一つずつ直していくしか方法はないのでしょうか?

ちなみに2003を使ってます

671名無しさん@そうだ選挙にいこう :2007/02/12(月) 11:58:49
>667
=CODE(A1)-64
>670
直した方をコピーすれば?

672名無しさん@そうだ選挙にいこう :2007/02/12(月) 13:15:43
>>667
A、B、C ってのは文字列か?

SEARCH(A1,"ABCDEF")
MATCH(A1,{"A","B","C","D","E","F"})
VLOOKUP(A1,{"A",1;"B",2;"C",3;"D",4;"E",5;"F",6},2)
COLUMN(INDIRECT(A1&1))

{ } で囲まれてる中は範囲にしてもOK、てか推奨

673名無しさん@そうだ選挙にいこう :2007/02/12(月) 15:46:57
質問です。
セルに計算式を表示させたいのですが(印刷で反映させたい)
どのようにすれば良いのでしょうか?
どなたかお知恵を貸してください!

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


674名無しさん@そうだ選挙にいこう :2007/02/12(月) 15:58:52
ツール→オプションで
表示 計算式にチェックつけると計算式が表示される

675名無しさん@そうだ選挙にいこう :2007/02/12(月) 15:59:09
>>673
オプション>表示>数式

676673 :2007/02/12(月) 16:10:50
>674さん,675さん

ご親切に、ありがとうございました!

677名無しさん@そうだ選挙にいこう :2007/02/12(月) 18:34:28
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel 関数 検索 セル

いろいろやってみたのですがうまくいかず・・EXACTやMATCHなどは使い道がちがうようでした・・

A1:A10(検査範囲)の各セルに数字が入っています。
その中からB1:B10(検査値)と合致するセルのデータを別のセルに表示させたいのです。
どんな関数を使えばよいでしょうか。

よろしくお願いします。

678名無しさん@そうだ選挙にいこう :2007/02/12(月) 20:07:42
>>677
意味が分からん。何をしようとしているのだらう。
「B1:B10(検査値)」ということは検査値が複数あると?
A1=B1だったらA1を表示させたらいいということなのか?

679677 :2007/02/12(月) 21:40:56
すみません・・・

検査値が複数あります。

A1=B1だったら C1にそのデータを表示させたいのです。

680名無しさん@そうだ選挙にいこう :2007/02/12(月) 21:47:09
>>679
それだと
=IF(A1=B1,A1,"")
だけど
どんな単純なことじゃないよね?

681677 :2007/02/12(月) 21:58:09
それだと 1対1しかできないので・・
A1:A10のなかでB1:B10と同じデータをC1からCxに表示させたいのです。


682名無しさん@そうだ選挙にいこう :2007/02/12(月) 22:07:15
>>681

よく解らんが、要はVLOOKUPのこと?

683名無しさん@そうだ選挙にいこう :2007/02/12(月) 22:23:57
ofifice スレとマルチになってしまいますが反応なかったのでこちらでご容赦願います。

普段 WheelPlus というソフトを使ってます
(カーソルが非アクティブウインドウをスクロール出来る)

で本題なんですけど、
excelでコンボボックスの上にカーソルを持って行き
ボタンを押さずにスクロールでフォントサイズを変更出来る(WheelPlusでは出来ない)
WheelPlusのようなソフトありませんか?
知ってる方いたらお願いします。

ctrl+shift+p→上下は使いかってが悪いし早くないので。

684名無しさん@そうだ選挙にいこう :2007/02/12(月) 22:30:00
>>681
よく分からんが表示させるだけでいいの?

Sub wakewakaran()
  Dim i As Integer
  Dim j As Integer
  For i = 1 To 10
    For j = 1 To 10
      If Cells(i, 1).Value = Cells(j, 2).Value Then
        Cells(i, 3) = Cells(i, 1).Value
      End If
    Next j
  Next i
End Sub


685名無しさん@そうだ選挙にいこう :2007/02/12(月) 22:37:03
=IF(ISERROR(MATCH(A1,$B$1:$B$6,0)),"",A1)
じゃね?

686677 :2007/02/12(月) 23:05:33
>>685
試したところできました。
しかし A1のデータが =(X1)&(Y1)&(Z1) の組みあせてできた数値の場合
できません。どうしたらいいでしょうか。


687名無しさん@そうだ選挙にいこう :2007/02/12(月) 23:27:45
>>686
&で連結したものは数値じゃなくて文字列だよ。
「ひゃくにじゅうさん」という三桁の数値と、「いち に さん」という3文字の文字列は
人間の目で見れば同じだが、データ的には一致しない。
これを一致させたければ、データの型を合わせろ。
変換は関数で一発だからこれくらいは自分で調べよう。

因みにXYZがそれぞれ100の位、10の位、1の位を表現してるとすれば
=(X1)&(Y1)&(Z1)という式は間違いだぞ。

688677 :2007/02/12(月) 23:54:16
>>687
VALUE関数で解決しました。ありがとうございます。

>>685
VALUEで対処したのですが、
=IF(ISERROR(MATCH(A1,$B$1:$B$6,0)),"",A1)
の B1:B6が たとえば B1:C8 のように列が複数になるとMATCH関数は使用できないのでしょうか。


689名無しさん@そうだ選挙にいこう :2007/02/13(火) 00:04:39
かわりに
=IF(SUMPRODUCT(1*(A1=B1:C8)),A1,"")
だとか

690677 :2007/02/13(火) 00:53:21
>>689
ありがとうございます。
できました。

データ量が多いと面倒なことになりそうことになりそうなので・・
別のやり方で、

たとえば 表1がA1:C10 表2がD1:F10 とします。両表には数値が入っているものとします。
この両表でお互いに完全一致する数値(セル)だけを 表3(G1〜) に表示させるにはどうしたらいいでしょうか。

はじめからこうしておけばよかったです。すみません・・・


691名無しさん@そうだ選挙にいこう :2007/02/13(火) 01:25:25
すいません
>>670で質問したものです。
やはり自分では解決策がなかったものですから
も一度質問させてください。
>>671の言うとおり
=VLOOKUP(B5,資料!A3:C543,2,FALSE)をコピーすると
=VLOOKUP(B6,資料!A4:C544,2,FALSE)
=VLOOKUP(B7,資料!A5:C545,2,FALSE)
=VLOOKUP(B8,資料!A6:C546,2,FALSE)
=VLOOKUP(B9,資料!A7:C547,2,FALSE)となります。

すべてのセルの範囲だけ一気に一番上の「資料!A3:C543」にしたいのですが
何かいい方法はありませんでしょうか?
>>670でも書きましたようにコピーするのは上記だけではなく
たくさんコピーするのでその後に一気に直したいと思うのです。
今までは一つずつセルをクリックし「資料!A3:C543」を貼り付けていました。
やはり、この方法しかないのでしょうか?

692名無しさん@そうだ選挙にいこう :2007/02/13(火) 01:27:17
>>691

=VLOOKUP($B$5,資料!$A$3:$C$543,2,FALSE)

693名無しさん@そうだ選挙にいこう :2007/02/13(火) 01:29:38
692を訂正

=VLOOKUP(B5,資料!$A$3:$C$543,2,FALSE)

694名無しさん@そうだ選挙にいこう :2007/02/13(火) 01:36:16
>>692さん早速ありがとうございます!
早速一番上に=VLOOKUP(B5,資料!$A$3:$C$543,2,FALSE)
を貼り付けてもう一度コピーすると
すべてが=VLOOKUP(B5,資料!$A$3:$C$543,2,FALSE)になりました。
ありがとうございました。

もしよろしければ=VLOOKUP(B5,資料!$A$3:$C$543,2,FALSE)の簡単な説明をしていただけませんでしょうか?
お願いします。

695簡単な説明 :2007/02/13(火) 01:38:30
絶対参照

696名無しさん@そうだ選挙にいこう :2007/02/13(火) 01:39:04
初心者ですが、一日20分くらいしか勉強できないのですが
表計算など、エクセルを堪能に使えるようになるまでに
およそどれくらい掛かりますか?
勉強にお勧めのサイトがあれば教えて欲しいです。


697名無しさん@そうだ選挙にいこう :2007/02/13(火) 01:44:30
>>692
>>693
>>695さんありがとうございます。
理解できました。
ほんとにデータ量が多かったので困っていたところです。
これで楽に作業できます。


698名無しさん@そうだ選挙にいこう :2007/02/13(火) 02:12:23
>>696
君の基本性能(理解力、集中力、記憶力など)と
予備知識(PCの基礎知識、表計算の基礎知識など)次第

更にはどの程度を「エクセルを堪能に使える」というのかも
個人の感覚によって違うので一概には言えない

そういうことに気付いてない時点で相当なバカだろうから
平均以上に時間は掛かるだろうな

699名無しさん@そうだ選挙にいこう :2007/02/13(火) 02:51:49
>>698
それは説明するのが難しいので書かなかったです。
長文になると見てくれないだろうし。

1〜3ヶ月とかアバウトで、自分ならどれくらいかってことでいいのですが

700名無しさん@そうだ選挙にいこう :2007/02/13(火) 03:13:25
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい(勉強中)
【4 VBAでの回答の可否】 可

Excel2003のVBAで線形リストのようなものを作るにはどうすれば
よいのでしょうか?

例えばC言語で書くと↓のようなものを作りたいのですが。

typedef struct hoge_t hoge;

struct hoge_t {
  int i;
  hoge *next;
};

701名無しさん@そうだ選挙にいこう :2007/02/13(火) 05:00:16
>>699
3ヶ月〜20年

>>700
Class使えば出来るけどVBAの質問じゃないね。

Visual Basic for Applicationでは、Applicationオブジェクト以下の
ブックやらシートやらを操作するからVBAであって、Excel付属のVBE使おうと
Applicationを操作しないものは全てVB(VB6.0)の分野の話だよ。>>2・7

702名無しさん@そうだ選挙にいこう :2007/02/13(火) 10:24:22
犯人は10代〜20代、もしくは30代〜40代と似たような表現だな

703G :2007/02/13(火) 13:25:32
【1 OSの種類】 WindowsXP
【2 Excelのバージョン】 Excel2003
【3 VBAが使えるか】いいえ
【4 VBAでの回答の可否】 出来れば否

グラフで質問です。
元データに数式が入っているのですが、数式を導き出す
データが入っていない場合は空白表示になるようにした場合、
グラフ上では「0」を表示してしまいます。
数式が空白をデータとして吐き出しているのは理解できているのですが
実数が入った段階(値が表示された段階)でグラフに反映させる方法は
ないでしょうか?


704名無しさん@そうだ選挙にいこう :2007/02/13(火) 13:26:21
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 したけど見つからない

質問内容
IF(G10="",""FIXED(B2,0)&CHAR(10)&(IF(C2="","","("&FIXED(C2,0)&")")))
IF関数でこのような条件文の時に、参照元が何箇所か全角日本語の所があります。
その日本語の個所だけそのまま日本語の文字で表示しつつ、計算部分は上記の
関数をそのまま活用したい場合はどのような関数にすればいいんでしょうか?
出来ればCHAR(10)=改行は計算式を使った所のみ適応したいです。
(日本語の文字を表示する部分には必要ないという意味です)

705名無しさん@そうだ選挙にいこう :2007/02/13(火) 14:02:18
>>703
空白でなく NA() にする

>>704
その式が動かないし文から意味もよく読み取れないが
FIXED(C2,0)のかわりにIF(ISERROR(FIXED(C2,0)),C2,FIXED(C2,0))かも

706名無しさん@そうだ選挙にいこう :2007/02/13(火) 14:05:34
【1 OSの種類         .】 WindowsXP SP2
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 DATEDIF 昭和 和暦 誤差

=DATEDIF(A13,$S$5,"Y")で計算し、和暦表示させたところ、
40歳以上の人が25年少なく表示されてしまいます。

707G :2007/02/13(火) 14:10:46
>>705
感謝!
エラー吐いたら反映されないのか・・・
あとはエラー吐いたら白セルで白文字にしてごまかします♪

708名無しさん@そうだ選挙にいこう :2007/02/13(火) 14:44:51
>>705
すいません、式間違ってました。思い出し書きをしたので)が抜けてたり
他も間違っていたりしました。
でも、回答のとおりの条件文を入れたらおかげさまでうまくいきました。
ありがとうございました。

709名無しさん@そうだ選挙にいこう :2007/02/13(火) 14:48:54
【1 OSの種類         .】 WindowsXP SP2
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 ?

横列を固定して下にスクロールしても表示されるようにしたいのですがどうすればいいでしょうか?

分かりやすくいうと、
1を固定するとどんなに下に行っても一番上が1でその後に通常のスクロールした横列がつづく感じです

710名無しさん@そうだ選挙にいこう :2007/02/13(火) 14:51:18
>>709
ググれゴミ人間が

http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=%E3%82%A8%E3%82%AF%E3%82%BB%E3%83%AB+%E5%88%97%20%E5%9B%BA%E5%AE%9A&num=50

711名無しさん@そうだ選挙にいこう :2007/02/13(火) 14:53:12
>>709
ウインドウ枠の固定じゃだめなの?

712名無しさん@そうだ選挙にいこう :2007/02/13(火) 16:09:23
これは酷いwwwwwww
ウィンドウ枠固定位何見ても載ってるだろ。

713名無しさん@そうだ選挙にいこう :2007/02/13(火) 16:14:17
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】否
【5 検索キーワード     】ピボットグラフ
ピボットテーブルからピボットグラフを作成すると
ズームのところの表示が248%というとても小さなグラフが
作成されてしまいます。
フォントサイズを最小の6に設定しても
文字間隔が狭い見栄えの悪いグラフになってしまいます。

データーから作成するように大きさの変更はできないのでしょうか。


714名無しさん@そうだ選挙にいこう :2007/02/13(火) 16:38:20
>>709,>>712
2chの藻屑が!!!!
怨んでやる!

715名無しさん@そうだ選挙にいこう :2007/02/13(火) 17:47:44
そんな事で怨んでやるって言葉を書きこめるお前、酷いな

716名無しさん@そうだ選挙にいこう :2007/02/13(火) 20:07:55
>>706
漏れのは少なくならないが…
何を和暦表示させたの?
まさかDATEDIFの結果を和暦表示させたという
落ちはやめてくれよ

717名無しさん@そうだ選挙にいこう :2007/02/13(火) 23:23:05
>>714
自分も含めてということか、わかってるじゃん。

718名無しさん@そうだ選挙にいこう :2007/02/14(水) 01:52:36
>>716
普通に和暦でも出るんじゃないの?
もちろん和暦自体では出てこないけど

719名無しさん@そうだ選挙にいこう :2007/02/14(水) 02:04:07
一度広がってしまったシートを狭くするには
どうしたら良いでしょうか

(セル番地が3000行まで大きくなってしまったものを、
空白を無くして、セルに入力されている200行くらいの大きさに
したいのです)

720名無しさん@そうだ選挙にいこう :2007/02/14(水) 02:53:26
DATEDIF関数を、f(x)ウィンドウにデフォルトで出るようにさせたいんですけれども
拡張できませんかね?

(Excel2007)

721名無しさん@そうだ選挙にいこう :2007/02/14(水) 08:58:16
>>719
行の削除

722名無しさん@そうだ選挙にいこう :2007/02/14(水) 09:53:32
>>720
2007で試してないけど、標準モジュールで

Sub ExecuteMe()
Application.MacroOptions Macro:="DATEDIF", _
Description:="DATEDIFを行います", _
Category:=2
End Sub

Function DATEDIF(Date1, Date2, Unit)
DATEDIF = "これはダミーです"
End Function

723名無しさん@そうだ選挙にいこう :2007/02/14(水) 12:03:04
質問です。

エクセル2003でグラフなのですが、
A列に日付(2006/1/13・・・等々)が、B列に値が並び(かなり多数)、折れ線グラフで表示したのですが、
「軸の書式設定」→「目盛」のところが日付仕様になってくれません。
元データの表示形式が日付形式の場合、項目軸が日付専用の時系列軸に
なると入門書に書いてあるのですが・・・

この場合、どのようなケースが考えられるでしょうか。
一応列は日付形式になっているようなんですが・・

具体的にやりたいのは、グラフの横軸を年単位でまとめて、
「2002年  2003年 ・・」というようにスッキリさせて表示させたいのです。

よろしくお願いします。


724名無しさん@そうだ選挙にいこう :2007/02/14(水) 13:06:24
>>723
できない。が、方法はある

グラフから軸の書式設定を開く
表示形式をユーザー定義に変更する
種類からyyyyでも適当に選び、

yyyy"年"

と入力すれば、グラフの項目も年のみ表示になる
表示を変えたら君の持ってる入門書のとおり、目盛の設定を弄ってやればおk

725名無しさん@そうだ選挙にいこう :2007/02/14(水) 13:16:13
>>724
回答ありがとうございます。

それが、軸の書式設定から表示形式を変えても、軸の表示がいっこうに変わってくれないのです。
ユーサー定義にしても「○○年○○月」形式にしても、
表示は「2006/1/5」のままなんです。
元データの方を「○○年」形式にしたらさすがにできましたが。

うーん、不思議。




726名無しさん@そうだ選挙にいこう :2007/02/14(水) 13:43:48
マジさ、このスレには感謝するわ。
職場で「こーゆう事午後までにしたんだけど、やり方わかんね。
でも、聞くとこもねーし、どうすっかなー・・・」って時に
マジ助けられる。
まあだから出来るだけ俺もわかる範囲では答えてるわ。
回答常連さんはほんと昼飯位1回位おごらせてもらいたい気分。

727名無しさん@そうだ選挙にいこう :2007/02/14(水) 13:45:18
それ、元のデータが日付じゃなく文字列になってると思う

728723 :2007/02/14(水) 13:54:20
>>727
私もそう思ったのですが、表示を数字にかえるとちゃんと5ケタのシリアル値になってるんです・・。

試しに、そのデータのごく一部だけコピーしてグラフを描くと、
ちゃんと日付扱いになってくれます。
データ量が多いとバグるんでしょうかね?謎だ・・・

729723 :2007/02/14(水) 14:03:00
自己解決しましたのでご報告します。

A列をまとめて選択していたのが原因だったようです。
「A2:A1300」というようにちゃんと範囲を指定してあげたら
きちんと日付として認識してくれました。
どうも下の列のスペースを文字として認識してしまっていたようですね。

お騒がせしました。
親身にご相談に乗って頂いた方、ありがとうございました。

730名無しさん@そうだ選挙にいこう :2007/02/14(水) 14:49:41
【1 OSの種類         .】 WindowsXp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

今セルに計算式を入れて
C15+C21-C26を求めようとしています。
しかしこの3つのセルの値は固定値ではなく常に変わるため
どれかブランクが入るものが出てきます。

そのため下記のような式を入れて、ブランクのときに"VALUE!"とでないようにしたのですが、
関数がおかしいらしく、うまくいきません。
どなたかご教授ください。
=IF(AND(OR(C15=0,C15="")*OR(C21=0,C21="")*OR(C26=0,C26="")),"",
IF(OR(C15=0,C15=""),0+C21-C26,IF(OR(C21=0,C21=""),C15+0-C26,
IF(OR(C26=0,C26=""),C15+C21,
IF(AND(OR(C15=0,C15="")*OR(C21=0,C21="")),-C26,
IF(AND(OR(C15=0,C15="")*OR(C26=0,C26="")),C21,
IF(AND(OR(C21=0,C21="")*OR(C26=0,C26="")),C15,
C15+C21-C26)))))))

731名無しさん@そうだ選挙にいこう :2007/02/14(水) 15:04:04
>>730
正直見て思った
「うわぁ」

732名無しさん@そうだ選挙にいこう :2007/02/14(水) 15:06:42
Excelにて。
表計算を作ってるのですが。フォントで赤くしたのと、青くした数値の合計を色分けで合計を出したいのですが、どおすればよいですか?

733名無しさん@そうだ選挙にいこう :2007/02/14(水) 15:10:21
Excel2007になってデータ点の多いグラフが異常に重くなったんですが、なんとか
軽くは出来ないものでしょうか?
グラフは散布図。単にデータ点をばら撒いた(線等で結ばない)状態でも重くて
ほとんどグラフに関する操作を受け付けない(数分ぐらい待たされる)状況です。
データ点数千ぐらいまでは大丈夫なようですが、それがいくつかの系列で計2-3万
になるともう駄目です。
なにぶん実験データで全点必要ですので間引くわけにもいかず、グラフィックか
何かを簡略化してもっと軽快に動いてくれるようになる方法はないものかと。

2002では普通に扱えていたので、2007のちょっと見た目を良くしたような処理
あたりが悪さをしているとは思うのですが。

734名無しさん@そうだ選挙にいこう :2007/02/14(水) 15:11:10
>>730
=IF(ISNUMBER(C15),C15,0)+IF(ISNUMBER(C21),C21,0)-IF(ISNUMBER(C26),C26,0)
で良いのでは?

>>732
> ★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)
>  ▼数式・関数
>   ・ 表示形式以外の書式の取得設定、書式情報を条件とする数式 (ユーザー定義関数)
ということでVBA必須だが、>>1★4を書いてないので、あとは自分でなんとかしてね。

735名無しさん@そうだ選挙にいこう :2007/02/14(水) 16:03:23
>>733
良いPCを買う

736名無しさん@そうだ選挙にいこう :2007/02/14(水) 16:29:49
>>733
バージョンアップすると重くなるのはいつものこと

737700 :2007/02/14(水) 17:29:03
>>701
スレ違い失礼しました。

738名無しさん@そうだ選挙にいこう :2007/02/14(水) 18:30:16
【1 OSの種類         .】 Windows2000SP4
【2 Excelのバージョン   】 Excel2002SP3
【3 VBAが使えるか    .】 キーマクロの修正程度なら可能
【4 VBAでの回答の可否】 可

「書式設定」ツールバーの右から3番目にある「罫線」ボタンを使うと、
複数のセルを選択してからワンクリックで罫線囲みができます。
このような操作性で、「赤罫線」ボタンをクリックすると赤色の
罫線で囲み、「青罫線」ボタンをクリックすると青の罫線で囲む、
というようなことはできないでしょうか?
ボタンにはこだわりませんが、セルを選択して定型的操作で実行したい。

739733 :2007/02/14(水) 18:34:11
>>735

CPUとメモリの現スペックが
Athlon64 X2 4800+
PC-3200 2GB
ですんで多少強化してもあまり変わらなそうな予感。
仮に何もかもが倍速になっても、5分待たされてるのが2分半、ですので。

>>736

まあ覚悟はしていたんですが、まさかグラフ内を間違ってクリックするたびに
毎回毎回数分待たされるほどとは思いませんでしたよ。


とりあえずMicrosoftに要望だけは出しておいて、当面はグラフ関係はカレイダ
でも使っていようかと思います。
でもちょっとデータ処理したりするにはExcelの方が便利なんですよねぇ。

740名無しさん@そうだ選挙にいこう :2007/02/14(水) 18:39:05
>>739
2007は詳しく無いが、自動計算切ったり
オプションの設定を覗いてみてくれ。
βじゃなく製品版ならUpdateがいくつかきてるのでそれの適用も

741名無しさん@そうだ選挙にいこう :2007/02/14(水) 18:54:39
>>721
行の削除しても駄目なんです

742名無しさん@そうだ選挙にいこう :2007/02/14(水) 18:57:47
>>741
セルの書式設定>配置か?

743名無しさん@そうだ選挙にいこう :2007/02/14(水) 19:03:08
>>742
わかりにくいかと思うんですが、
列ごとコピーペーストしたりすると、
シートが最大の6万数千行まで広がってしまって
でも数値が入ってるのは一部だけで、下は全部空白なんです
新規作成したのように必要なセルだけ表示させたいんですが

744名無しさん@そうだ選挙にいこう :2007/02/14(水) 19:09:46
>>743
削除して保存して再起動してもダメなの?

745名無しさん@そうだ選挙にいこう :2007/02/14(水) 19:29:44
マッタク イミガ ワカラナイ

746名無しさん@そうだ選挙にいこう :2007/02/14(水) 20:15:19
>>738
マクロの記録で作ればいいやん

747名無しさん@そうだ選挙にいこう :2007/02/14(水) 20:52:27
WindowsアップデートしたらWebクエリの読み込みに失敗するようになった
何が悪いんだろ?

748名無しさん@そうだ選挙にいこう :2007/02/14(水) 21:14:50
>>738
ほれ

Sub 赤()
  With Selection.Borders
    .LineStyle = xlContinuous
    .ColorIndex = 3
  End With
End Sub

Sub 青()
  With Selection.Borders
    .LineStyle = xlContinuous
    .ColorIndex = 5
  End With
End Sub

749名無しさん@そうだ選挙にいこう :2007/02/14(水) 21:39:29
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
「ファイルを読み込めません」とでてVBAのコードが表示されません。
モジュールを取り出す方法を知りませんか?
バックアップが正常に作動してなかった…一週間分のコードがorz

750名無しさん@そうだ選挙にいこう :2007/02/14(水) 21:47:49
一週間分程度でよかったじゃん。
今回のことを教訓に、今後はこまめにバックアップ取るようにしましょう。
簡単に解決しちゃうと教訓にならないからな。

751738 :2007/02/14(水) 22:47:41
>>746
>>748
さんくすこです。
キー操作のマクロ登録と比較してなんとか完成させました。

752名無しさん@そうだ選挙にいこう :2007/02/15(木) 02:51:27
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】エクセル VBA  Autofilter 可視
<<Sheet1>>
    A    B   C
1 あ   11
2 い   22
3 う   33
4 え   44
5 お   55
6 か   66

<<Sheet2>>
   A   B   C 
4  き   77

:実行

<<Sheet1>>
    A   B   C
1 あ   11
2 い   22
3 う   33
4  き   77 <<
5 お   55
6 か   66



753名無しさん@そうだ選挙にいこう :2007/02/15(木) 02:52:31
マクロ上のオートフィルターで
と上記のようにしたいのですが、
以下のマクロだと変えたい4行以外の7行以下(空白部)まで変更されてしまいます。
Range("A2").CurrentRegion.AutoFilter field:=1, Criteria1:="え"
Range("A2", Range("C2").End(xlDown)).SpecialCells(xlCellTypeVisible).Select
Sheets("Sheet2").Select
Selection.Copy
Sheets("Sheet1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

どのように変更すればよいでしょう?

754名無しさん@そうだ選挙にいこう :2007/02/15(木) 03:02:32
フィルターじゃないしw

755名無しさん@そうだ選挙にいこう :2007/02/15(木) 09:41:44
【1 OSの種類         .】 WindowsXP HOME
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】エクセル 背景 色 変わらない

セルで背景の色の変更をしても背景は白(もしくは無し)のまま変わりません
ただしそれは表示だけで、印刷プレビュー、印刷には反映されてます
画面にだけ色の変更が反映されないという事象です
他のPCでは赤なら赤、黄色なら黄色に変わります

基本的な事で申し訳ありませんが、宜しければご教授ください

756名無しさん@そうだ選挙にいこう :2007/02/15(木) 09:55:42
>>755
OS入れなおせ
Excelの問題じゃない

757名無しさん@そうだ選挙にいこう :2007/02/15(木) 10:00:44
>>755
EXCELのインストールし直しでも直るかも
いずれにしてもソフトの異常

758名無しさん@そうだ選挙にいこう :2007/02/15(木) 13:49:13
回答有難うございます
これより作業に取り掛かります

759名無しさん@そうだ選挙にいこう :2007/02/15(木) 15:45:29
EXCEL2003で作った英単語と意味のデータを番号1〜50までと指定した範囲をランダムで20問選んで、印刷したいんですけど、どうやったらいいか教えて下さい。
それぞれのレコードに対して乱数を割り当てて,フィルタやソートで必要なものを取り出したり並びかえたりすればいい。と教えて貰ったんですが、それを毎回手作業でやらずに
自動化して、Wordの文書に貼り付けしたいんですが、出来ますか?
教えて下さい。よろしくお願いします。


760名無しさん@そうだ選挙にいこう :2007/02/15(木) 16:04:43
>>730
最後のIFの中のORで止まってしまうようですね。
関数の間違いではなく、ネストが深すぎるようです。

ANDの引数はちゃんと「,」でつなげましょう。
「*」はまた別の方法で、この場合、ANDは使いません。

"" はともかく 0 の時は、0として計算するから
条件に入れなくても良いのでは?

ところが "" も計算の中では、自動的に 0 にされて
しまうから、#VALUE! は現れませんよ。

761名無しさん@そうだ選挙にいこう :2007/02/15(木) 16:06:31
>>759はマルチなので放置の方向で

762名無しさん@そうだ選挙にいこう :2007/02/15(木) 19:43:35
ワークシートは列や行の境目に縦横に引かれた線で区切られていますが、
これを表示せず見かけ上、無地のノートのように見せることは可能ですか?
ワークシートのうちの何枚かを使用者に対するマクロの説明に使っており、
升目が目障りなのでできれば表示させないようにしたいと思っています。
表示は「標準」を使っています。
よろしくお願いします。

1 OSの種類. Mac OS X 10.4.8
2 Excelのバージョン. Excel 2004 for Mac ver. 11.3(060914)
3 VBAが使えるか. はい
4 VBAでの回答の可否. 可
5 検索キーワード. Excel & (グリッド or 線 or 升目)& 消

763名無しさん@そうだ選挙にいこう :2007/02/15(木) 19:54:17
>>755
ヒント:ユーザー補助、ハイコントラスト

764名無しさん@そうだ選挙にいこう :2007/02/15(木) 19:55:02
>>762
Win版のExcel2003だと
メニュー > ツール > オプション > 表示 > □枠線
のチェック外せば消えるけど。

765762 :2007/02/15(木) 20:08:08
>>764
「枠線」のキーワードでヘルプを検索し直して、Mac 版ですと
Excel > 環境設定… > 表示 > ウィンドウオプション > 枠線
のチェックを外すことによって消すことができました。
早速の回答どうもありがとうございました!

766名無しさん@そうだ選挙にいこう :2007/02/15(木) 20:16:50
>>761
マルチと言うならどこのスレとのマルチなのかを示してくれよ。
皆があらゆるスレを覗いてるわけじゃないんだから。

767名無しさん@そうだ選挙にいこう :2007/02/15(木) 20:29:47
★Word/Excel (MS-OFFICE) 初心者スレッド Part30★
http://pc9.2ch.net/test/read.cgi/pcqa/1169494252/230

768名無しさん@そうだ選挙にいこう :2007/02/15(木) 20:49:07
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 オートフィルタ、バグ、並び順、セルの書式、その他色々

質問お願いします。
データ入力の仕事していますが、先方の住所データに関して問題がありまして・・・。

先方データを「文字列」インポート(頭に0があったときなどの対処法だそうです)し、外国住所のみ抜き出したいため、オートフィルタの「昇順」で数字が頭に入っているもののみ上に寄せるようにします。

しかしその際、一部の住所のみ(3万件のうち3件とか5件とか)オートフィルタで上に寄せることができません。

例を挙げると、
1行目:3-5-8,dokkanokuni
2行目:2-5 greenland,dokka
3行目:newyork,america,1-23-4
4行目:北海道帯広市なんたら
5行目:東京都練馬区ほにゃらら

↑こうなって欲しいんですが、

769名無しさん@そうだ選挙にいこう :2007/02/15(木) 20:49:39
1行目:2-5 greenland,dokka
2行目:newyork,america,1-23-4
3行目:中華人民共和国 ほにゃらら省なんちゃら
4行目:3-5-8,dokkanokuni        ←※ここ注目!
5行目:東京都練馬区ほにゃらら

↑4行目がほんとは上にないとおかしいはず。


こんな状態になります。
何かデータにおかしな値が入っているかもしれないと考え、一旦メモ帳にコピペして再度読み込みさせてみても、セルを「文字列」や「標準」に直してみてもどうしてもうまく上に寄ってくれません。

数式バーを見てもセル上の内容と変わらないように見えるので困ってます。
何か原因を思いつく方いらっしゃいましたらお力を貸してください。
お願いします。

770名無しさん@そうだ選挙にいこう :2007/02/15(木) 20:51:53
あ、>>768の1行目と2行目逆ですね・・・すいません。

771名無しさん@そうだ選挙にいこう :2007/02/15(木) 20:56:58
>>768
その例で、君の環境では実際に>>769のようになるの?
ならないなら、ちゃんと現象が再現するデータを出して。
実データを出せないのは仕方ないとしても、
最低限問題が再現するデータを用意して貰わないとねぇ。

772名無しさん@そうだ選挙にいこう :2007/02/15(木) 21:13:21
>>771
やっぱりそうですよね・・・実データないとだめなのはわかるんですが、なにぶん守秘義務
があって・・・。

実際に自分がイチから手入力したものに関しては再現不可能だったんで、何か「こういうセ
ルの設定だとこうなるんじゃね?」みたいなヒントだけでもあればと思ったものでして。

ちなみにそのデータは職場のどのPC使っても同じような現象が起きます。

773名無しさん@そうだ選挙にいこう :2007/02/15(木) 21:27:49
>>772
並べ替えがおかしいといえば、ふりがな?

774名無しさん@そうだ選挙にいこう :2007/02/15(木) 21:54:12
コピペしなおしてるからフリガナは入ってないはず

775名無しさん@そうだ選挙にいこう :2007/02/15(木) 21:58:12
「おかしな行」の先頭の文字を変えてみたり
文字列を削って見たり逆に増やしてみたり
手で打ち直してみたり、記号を取ってみたり付けてみたり
色々試せる事はあると思うんだが・・・

776名無しさん@そうだ選挙にいこう :2007/02/15(木) 22:00:34
>>759
VBAが使えれば問題なくできます。
要は乱数を20個作って、対応する行をWordに出力すればよいのです。
VBAを覚える手間か、毎回問題をつくりなおす手間かというところで。

777768 :2007/02/15(木) 22:14:06
ありがとうございます。

>>773,774
ふりがなは確認しましたがありませんでした。


>>775
その「おかしな行」を見つけるのにけっつまづいてるんです・・・orz
行数が3万とか5万とかある中からそいつを見つけなければならないのが一苦労なんです。

778名無しさん@そうだ選挙にいこう :2007/02/15(木) 22:17:47
>>769 の例で行くと4行目がおかしな行でないの?


779名無しさん@そうだ選挙にいこう :2007/02/15(木) 22:23:44
>>778
そうです。まぁ、あくまで例なので、実際にはこういう風なケースが12756行目と28160行目と31259行目と・・・みたいな感じで本来上に寄せられるはずのものが分散されて入ってきます。

780名無しさん@そうだ選挙にいこう :2007/02/15(木) 22:31:32
原因を突き止めるのは保留にしておいて
先頭に数字が入ったレコードだけを抜き出すって事を他の手段でやったらいいんじゃないかい?
B列に
=LEFT(A1,1)
みたいな式を入力しておいてB列でソートしてみるとか

781名無しさん@そうだ選挙にいこう :2007/02/16(金) 01:01:44
Windows2000でExcel2000を使用しているのですが、F1キーでヘルプを表示しようとすると、

msohelp.exe -アプリケーション エラー
"0x5743b06a"の命令が"0x00000000"のメモリを参照しました。メモリが"read"になることはできませんでした。

と、表示されてヘルプ画面が開かなくなってしまいました。
MSOHELP.exeファイルをドライブから検索して他の正常なPCの同ファイルと入れ替えましたが駄目でした。
Excel2000を再インストールしても駄目でした。
ウイルスバスター2005(最新パターン更新済み)で全ファイルのチェックをしましたが感染はありませんでした。
IE6 SP1も入れなおしましたが駄目でした。
マイクロソフトアップデートは実行済みです。
OSのCDからブートし、システムの修復もしましたが駄目でした。

他のオフィス製品でAccess2002も入れていますが、これも同じようにヘルプファイルが開けません。
いろいろ検索して回りましたが、どうしても解決できません。よろしくお願いいたします。

782名無しさん@そうだ選挙にいこう :2007/02/16(金) 01:17:10
ちょっと質問としてずれてるかもしれませんが
初歩的なエクセルの使い方を解説してるサイトで
おすすめありませんでしょうか?
できれば書籍もお願いします。明日買いに行こうとおもっております

783名無しさん@そうだ選挙にいこう :2007/02/16(金) 02:19:44
EXCELのデータをWordで差し込み印刷する時に、1ページに1つのデータ行だけでなく、複数のデータを差し込むにはどうすればいいんでしょうか。

784名無しさん@そうだ選挙にいこう :2007/02/16(金) 02:23:44
>>783

Wordの問題だろ。

785名無しさん@そうだ選挙にいこう :2007/02/16(金) 02:34:18
>>784
そうですよね。てっきりEXCELだと思ってました。スイマセン。

786名無しさん@そうだ選挙にいこう :2007/02/16(金) 06:45:16
>>782
Excel関連のリンク集
http://www2s.biglobe.ne.jp/~iryo/sonota/excel3.html

こん中から好きなん選べ

787名無しさん@そうだ選挙にいこう :2007/02/16(金) 15:08:34
エクセル2003でセルの右寄せ、中央揃え、左寄せのショートカットは何?

788運送会社勤務 :2007/02/16(金) 16:21:31
県ごとに運送賃金が違っていて、更に15t,10t,7t,4tとあり、賃金も違います。
例えば、
110とゆうコードの県に4t車で行く場合、
120とゆうコードの県に10t車で行く場合、
と複雑で‥
コードを打ち込めばそれぞれ条件にあった答えがでる!
そうゆう式をつくりたいのですが‥?
どうゆう式で作ればいいのでしょうか?

789名無しさん@そうだ選挙にいこう :2007/02/16(金) 17:31:02
>>788
検索用の列(行)を用意して
「=条件1&条件2&・・・条件n」ってな式で条件を連結する
VLOOKUP(HLOOKUP)関数で目的のデータを抽出

790名無しさん@そうだ選挙にいこう :2007/02/16(金) 17:32:53
県のコードと車種の全組み合わせと料金のリストを作っておいて、LOOKUP

791名無しさん@そうだ選挙にいこう :2007/02/16(金) 17:56:06
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003

ブラウザでコピーした画像を
「拡張メタファイル」・「前面(レイアウト)」で貼り付けたいと思って

Sub 図貼付()
With Selection
.PasteSpecial DataType:=wdPasteEnhancedMetafile
.ShapeRange.WrapFormat.Type = 3
End With
End Sub

とやってみたんですが、上手くいきません。
どこが間違ってるか、何が足りないか教えてくだされ。

792名無しさん@そうだ選挙にいこう :2007/02/16(金) 19:30:46
初心者です。
http://www.relief.jp/itnote/archives/000046.php
この内容ですが、計算方法が自動だと値を変更したら全部の式を計算するのでしょうか?

793名無しさん@そうだ選挙にいこう :2007/02/16(金) 20:06:53
自分で試して見ろよ w

794名無しさん@そうだ選挙にいこう :2007/02/16(金) 20:13:33
>>792
そのリンク先、間違ったこと書いてることも多いけど、その記事は間違ってないよ。

795名無しさん@そうだ選挙にいこう :2007/02/16(金) 21:54:19
>>794
嘘を教えちゃいかんよW

796名無しさん@そうだ選挙にいこう :2007/02/16(金) 22:01:50
エクセル2007のブックを2003で開くことはできますか。
行と列の数の違いがあっても大丈夫なのでしょうか。
オフィース2007にしようと思っているのですが、
まわりの仲間が2003なので・・・・
どなたか教えてください。

797名無しさん@そうだ選挙にいこう :2007/02/16(金) 22:06:12
>>796
君が2007で周りが2003以前ということなら問題ない。
君が2003形式で保存すればいいだけだ。

798名無しさん@そうだ選挙にいこう :2007/02/16(金) 22:20:27
エクセル2007にしたら100Mぐらいのブック作っても大丈夫かな?
2003だと100M近くになると壊れたり、リソース不足がでるんだけど。
メモリ使用量も300Mぐらい空いてるのに不足って言われる

799名無しさん@そうだ選挙にいこう :2007/02/16(金) 22:27:38
初歩的な質問でホントにすいません;

エクセルのシート上にファイル等から画像を挿入したとします。
そして、
その画像を文字列の背面に持っていく方法がわかりません;

背景に設定するのとはまた違うんだと思うんですが;
(ちなみに背景も小さい画像を選んでで設定すると
ビッチリ並んで出てきますが、好きな場所に1個だけ、
とか出来るんでしょうか?)

よろしくお願いします;


800名無しさん@そうだ選挙にいこう :2007/02/16(金) 22:41:39
エクセルで数値を代入する方法ってどうするのですか?

a=10 b=20 と言う風に指定しておいて
他のセルで
=a+b と入力すると
A30 みたいな感じに操作できるようにしたいのですがわかりましたらどうかお願いします

801名無しさん@そうだ選挙にいこう :2007/02/16(金) 22:56:25
セルA1にaの値、セルB1にbの値、とか決めておいて(運用として)
 a+bの値が欲しいセルには =A1+B1
 a×bの値が欲しければ =A1*b1
とかすれば済むじゃん

結果を表示するセルで式にaとかbとか使いたいなら セル範囲の名前
結果の表示に“A”とか付けたいなら 表示形式
を調べてみるが吉

802名無しさん@そうだ選挙にいこう :2007/02/16(金) 23:07:49
同じような質問ですが、具体的にお聞きします。
80000行のデーターを持ったエクセル2007のブックを
エクセル2003で80000行というデーターをそのまま開くことは
可能ですか。

803名無しさん@そうだ選挙にいこう :2007/02/16(金) 23:09:33
>>802
むり

804名無しさん@そうだ選挙にいこう :2007/02/16(金) 23:19:13
>>800
名前

805名無しさん@そうだ選挙にいこう :2007/02/17(土) 00:28:03
>>799 そんな事できたっけか?

806名無しさん@そうだ選挙にいこう :2007/02/17(土) 00:37:28
画像オブジェクトを背景に文字オブジェクトを表示するってことは可能だけど
個別のセルに背景画像を設定するってのは不可能だよ。

807名無しさん@そうだ選挙にいこう :2007/02/17(土) 05:32:26
>>798
実際に100MBのブックを作ったことはないが一般論として。

2003までは行数列数制限以外にもいろいろ隠れた制限があり、
どれかひとつでも引っかかると他が大丈夫でもアウトになったりする。
2007でも制限はあるが、おおむね2003までよりゆるやかになっているので、
大量データに対する耐性は高いと思う。

満足できる速度が得られるかどうかは別問題だけど。


808名無しさん@そうだ選挙にいこう :2007/02/17(土) 05:46:08
100MBのブックを展開するのに必要なメモリ容量は、オブジェクト無しの場合で150〜600MB、
グラフ、画像などのオブジェクトを使ってる場合は1000MB以上必要になることもある。

保存のために圧縮されたデータと、表示・操作の為に展開されたデータの容量が同じだなんて思わないように。
圧縮と言っても2003までは書庫圧縮では無いけどね。それとリソース=メモリじゃないよ。

809名無しさん@そうだ選挙にいこう :2007/02/17(土) 07:41:30
XPと2002/2003でvbaです
セルに「123」が入力されています
ユーザーフォームのテキストボックスに「123」を入力してボタンを押します
これらを比較するときの条件式で教えてください

Msgboxセルでは「123」と表示されます
Msgboxテキストボックスでは「123」と表示されます
If Range("A1")-Textbox1=0Thenの式だとTrueに行くのですが
If Range("A1")=Textbox1Thenの式だとTrueに行きません
数字だけじゃなく英字もあるので前者で代用もできないんです

やりたいことはテキストボックスに入力した文字が
あらかじめセルに入力された文字と同一なら〜違うなら〜と振り分けたいのです

810名無しさん@そうだ選挙にいこう :2007/02/17(土) 08:00:22
>>806
画像オブジェクトを背景に文字オブジェクトを表示!!
それです!!
やり方教えていただきたいです;

811名無しさん@そうだ選挙にいこう :2007/02/17(土) 08:37:10
>>809
If CStr(Range("A1").Value) = TextBox1.Text Then

If Range("A1").Text = TextBox1.Text Then
だと、ちょっと意味が違ってくるので。
あと、デフォルトプロパティとか、型変換とかを省略しない方がいいぞ。

812名無しさん@そうだ選挙にいこう :2007/02/17(土) 09:43:22
>>810
「テキストボックス」で調べなさい

813名無しさん@そうだ選挙にいこう :2007/02/17(土) 14:10:13
このような場合、”A”と”a”では区別できません。
=COUNTIF(A1:C2,"A")

区別して数えさせることが出来るとすれば、どのような方法がありますか?

814名無しさん@そうだ選挙にいこう :2007/02/17(土) 15:20:11
>>813
=SUMPRODUCT(EXACT(A1:C2,"A")*1)

815名無しさん@そうだ選挙にいこう :2007/02/17(土) 15:57:48
「特定の文字」を「定めた数値」として扱うようにすることはエクセルで可能ですか?
可能であればどうすればいいのでしょう?

816名無しさん@そうだ選挙にいこう :2007/02/17(土) 16:29:10
>>815
意味がよくわからん。
C言語でいうところの #define みたいなことがしたいのか?

817813 :2007/02/17(土) 16:51:38
>>814
ありがとうございます!!感謝

818名無しさん@そうだ選挙にいこう :2007/02/17(土) 17:19:32
>>815
名前

819名無しさん@そうだ選挙にいこう :2007/02/17(土) 17:57:28
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2000
bookを開くとき、
「ファイル」→「開く」でbookを選んだら開けるんですが、
bookをダブルクリックしても開かなくなりました。
なぜでしょうか?

820名無しさん@そうだ選挙にいこう :2007/02/17(土) 18:19:52
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2000

     A     B
1   赤     合格
2   青     合格
3   赤     不合格
4   赤     合格
5   青     不合格
6   赤     合格

このような表の時、A列で「赤」、かつ、B列で「合格」の数を数えたいのですが、どうしたらいいですか?
A列で「赤」だけなら、COUNTIFを使えばいいのですが、二つの条件を満たす数え方を教えてください。
よろしくお願いします。


821名無しさん@そうだ選挙にいこう :2007/02/17(土) 18:28:05
>>820
DCOUNTまたは>>789の変形

822名無しさん@そうだ選挙にいこう :2007/02/17(土) 18:43:29
>>820
番外。Excel2007に変える。
COUNTIFSという関数でお望みのことができる。

823名無しさん@そうだ選挙にいこう :2007/02/17(土) 18:57:17
>820
6つ前のレスに、使えそうなのがあるじゃないか。
=SUMPRODUCT(EXACT(A1:A6,"赤")*EXACT(B1:B6,"合格"))

824名無しさん@そうだ選挙にいこう :2007/02/17(土) 20:00:12
>>816
definというものがわからないのですが

825名無しさん@そうだ選挙にいこう :2007/02/17(土) 20:40:44
>>819
関連付けが外れてるとか

826名無しさん@そうだ選挙にいこう :2007/02/17(土) 20:50:29
面倒な関数覚える暇があったらsum(if(.......で配列数式にすれば何でもできるだろ

827名無しさん@そうだ選挙にいこう :2007/02/17(土) 21:29:48
エクセルの関数ごときに、
暇がないと覚えられないとは、
なんとも可哀そうな脳みそだね

828名無しさん@そうだ選挙にいこう :2007/02/17(土) 21:38:41
>>816
ググれ!
記号定数の記述に使う

829名無しさん@そうだ選挙にいこう :2007/02/17(土) 21:43:00
その関数ごときに、
リボンの1/3以上の面積を割り振って分類して
わざわざ選択時にツールチップを表示までさせてるのは
他ならぬMSだけどな。

830828 :2007/02/17(土) 21:46:55
>>816 ×
>>824 ○


831名無しさん@そうだ選挙にいこう :2007/02/17(土) 22:58:14
>>827
配列数式でできることをいちいち覚える必要はないな

832名無しさん@そうだ選挙にいこう :2007/02/17(土) 23:05:44
配列数式で作った式でも、ダブルチェックのために関数使って計算するのもありだよ
安全に越したことはないし。

833名無しさん@そうだ選挙にいこう :2007/02/17(土) 23:14:31
>>820
Sub akagoukaku()
  Dim i As Integer
  Dim Cnt As Integer
  Cnt = 0
  For i = 1 To 6
    If Cells(i, 1).Value = "赤" And Cells(i, 2).Value = "合格" Then
      Cnt = Cnt + 1
    End If
  Next i
  MsgBox "A列「赤」かつB列「合格」の数は" & Cnt & "個です。"
End Sub

834名無しさん@そうだ選挙にいこう :2007/02/17(土) 23:59:01
必要があれば、面倒な関数でも覚えなきゃならん。
配列数式にすれば何でもできるという訳ではないから。

835名無しさん@そうだ選挙にいこう :2007/02/18(日) 00:28:54
>>832
なら安全のため配列数式も使って毎回計算するのか?
うそ癖ー w

836名無しさん@そうだ選挙にいこう :2007/02/18(日) 00:30:34
>>834
当たり前のことを、、、

837名無しさん@そうだ選挙にいこう :2007/02/18(日) 00:37:58
>>835
可能なら関数と配列数式で計算するけど。
VBAで2つともコードを書くから手間もかからんし
仕事で使うんだからあたりまえだろ?趣味なら適当ーにw

838名無しさん@そうだ選挙にいこう :2007/02/18(日) 01:25:06
決められたセルで計算されたものを自動的に別の場所にコピーしていくようなことは可能でしょうか?
またコピーされるセルを↓や→にずらすようなことはできますか?

839名無しさん@そうだ選挙にいこう :2007/02/18(日) 02:03:31
>>838
計算結果を別な場所にコピーしたいならVBA使えば出来るよ。
>>1▼━ 質問のしかた ━に従ってないのでコードは自分で書いてね。

840名無しさん@そうだ選挙にいこう :2007/02/18(日) 03:26:50
質問テンプレ必須じゃないって書いてるけどめんどくさいものならやるつもりもないのでもういいわ

841名無しさん@そうだ選挙にいこう :2007/02/18(日) 03:43:10
うん、質問テンプレは必須じゃないよ。そして誰もテンプレ使ってないことについては何もとやかく言ってない。

ただ
> 質問テンプレは必須じゃないけど、
> OSやExcelのバージョン、VBAの可否など(下記テンプレ1〜4の情報)は必須情報。
> これを書かなかった場合は、以後まともな回答は付かないと思ってください。
ってことなのでよろしく。

雛形を使うかどうかは自由だが、まともな回答が欲しかったら指定された情報は出そう。
まぁ今更出しても後出しってことになるから、こういう扱い受けたくなければ次回から気を付けようね。

842名無しさん@そうだ選挙にいこう :2007/02/18(日) 05:14:39
OpenOffice.orgはこちらではNGでしょうか?
OKであれば質問させていただきたいのですが・・・


843名無しさん@そうだ選挙にいこう :2007/02/18(日) 05:21:16
OpenOffice.orgってどうなの?Part8
http://pc10.2ch.net/test/read.cgi/bsoft/1167570382/

844名無しさん@そうだ選挙にいこう :2007/02/18(日) 05:40:13
【1 OSの種類         .】  XP
【2 Excelのバージョン   】  2003 
【3 VBAが使えるか    .】  いいえ
【4 VBAでの回答の可否】   否
                マクロ言語(?)の修正は可能です

「数千個のブックオープン⇒データ抽出」のマクロを組んで実行してます
「ツール→マクロ→セキュリティ」は「低」に設定してます

ブックオープン時の「ウィルスの検索」を省略させるにはどうすれば良いでしょうか?
お願いします

845名無しさん@そうだ選挙にいこう :2007/02/18(日) 05:50:36
>>843
誘導ありがとうございます。
見てみます。

846名無しさん@そうだ選挙にいこう :2007/02/18(日) 10:02:55
>これを書かなかった場合は、以後まともな回答は付かないと思ってください。
この表現が幼いから誤解を招くんだ

最低これだけの情報がないと、回答が広範囲になり質問者が何をしたいのか
探り出すことに回答者も面臭くなる。なによりも、なかなか答えが得られない。
これは質問者にとってもいい事はない。だから初期情報が大切なので必要だ。
って事でしょ。

誰かこれを分り易い簡潔な言葉にして、あの幼稚な表現を修正してちょうだい。

847名無しさん@そうだ選挙にいこう :2007/02/18(日) 10:21:16
>>846
「これらの情報がないと優しい回答者さんはテキトーな回答者さんに変身します。」

848名無しさん@そうだ選挙にいこう :2007/02/18(日) 10:24:49
>>846
君は幼いなぁ

849名無しさん@そうだ選挙にいこう :2007/02/18(日) 11:49:34
>>847
それいいね!
>>848
使い古された、そのパターン以外に何かない?

850名無しさん@そうだ選挙にいこう :2007/02/18(日) 11:56:17
>>846
そんな広範囲になることは少ないだろう
そうだとしたらその旨伝えればいいだけなことなのに
ただの回答車の嫌がらせにしか俺には思えないね

>>847
「これらの情報がないと優しい回答者さんは幼稚な回答者さんに変身します。」

851名無しさん@そうだ選挙にいこう :2007/02/18(日) 12:10:46
なにこの幼稚な流れ

852名無しさん@そうだ選挙にいこう :2007/02/18(日) 12:14:51
>>844
Excelの範疇の問題ではナイキがする。ウィルス対策ソフトのほうでは?

「・・・はXXな回答者さんに変身します。」でいいんじゃない。

853名無しさん@そうだ選挙にいこう :2007/02/18(日) 12:21:25
>>844
ウイルスの検索をしているのはノートンです。
マクロののセキュリティは中にしといた方がいいですよ。
開く時ダイアログが出るのがうざいならデジタル署名を使って
ダイアログを出さないようにした方がいいと思いますよ。

854名無しさん@そうだ選挙にいこう :2007/02/18(日) 12:58:30
【1 OSの種類         .】  XP
【2 Excelのバージョン   】  2003 
【3 VBAが使えるか    .】  初心者レベル
【4 VBAでの回答の可否】   可

Aのブックに商品のコードと簡略化された品名、取引先、入荷日がある。
この表は入荷と未入荷が混在してるが、入荷したものだけ日付を入れる列がある。
この表から特定の期間に入荷したものだけ商品コードを拾って、Bのブッのコード品名取引先マスターと照合して、
Cのブックにコード、品名、取引先名、入荷日の順で表示する方法を教えて下さい。
VBAに取り組んでるけどなかなか難しくて…みんなの神のような知恵をお貸し下さい。

855名無しさん@そうだ選挙にいこう :2007/02/18(日) 13:21:15
【1 OSの種類         .】  win XP
【2 Excelのバージョン   】  2003 
【3 VBAが使えるか    .】  少しなら
【4 VBAでの回答の可否】   可

A1:D50まで数値データが入力されています。
ところどころ空欄があります。

A1:D50までのデータで、空欄を詰めて別のセル(複数列ではなく1列)にコピーすることはできますか。



856名無しさん@そうだ選挙にいこう :2007/02/18(日) 13:38:46
>>855
A1:D50を選択してコピーします。
右クリックで形式を選択して貼り付けを選ぶと
空欄を無視するというチェックボックスをつけてはりつけます

857名無しさん@そうだ選挙にいこう :2007/02/18(日) 13:59:56
@ABC列選択⇒列挿入(A1:D50はD1:G50に)
AD1:G50コピー⇒C51、B101、A151ペースト
BD列を残し列削除(D列はA列に)
CA列選択⇒編集⇒ジャンプ⇒セル選択⇒空白セル
D選択された空白セルを削除⇒上方向にシフト

858855 :2007/02/18(日) 14:58:54
ありがとうございます。

>>856 
空欄を無視してもうまくいきませんでした。

>>857
Cの段階でうまくいきません。空白セルが見つからないようです。


データは手入力ではなく 関数を使って出た数値なのです。
ですので空欄にもなにかあるため空白とはいえないのかもしれません。

そこでデータを別のセルに 値のみコピーして ジャンプで空白をさがしたのですが見つかりません。
ためしに空白セルを選択し数式バーをみたのですがなにも表示されていません。
そこで、空白セルを選択しデリートキーを押して、再度ジャンプで探したところヒットしました。

ということは目に見えないなにかデータが・・。おそらく「""」もデータとみなされてしまうのでしょうか。

そこで特定範囲の「数式のみ」を削除することは可能でしょうか。






859名無しさん@そうだ選挙にいこう :2007/02/18(日) 16:18:59
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 ユーザーフォーム 変数

3行目から502行目までA列に顧客番号 B列に名前 C列に1か空白 D列にはSUM(E列:G列)が入力されていて、
Cが1で、Dが1以上の顧客の人数分でユーザーフォームのラベルにそれぞれ番号、名前を出してその隣にチェックボックスを作り、
任意の人のチェックを入れてOKボタンを押すとチェックした人のC列に1を、していない人のC列に2を入力したいです。
こういったことは出来るのでしょうか?



こんな感じのユーザーフォームです。
 ----------------------
|                |
|  番号  名前  □   |
|  番号  名前  □   |
|  番号  名前  □   |
|  番号  名前  □   |
|  番号  名前  □   |
|                |
|          OK    |
 ----------------------

860名無しさん@そうだ選挙にいこう :2007/02/18(日) 16:20:01
>>858
VBAの学習サイトの内容をパクって作ったものです。VBAです。
結構便利でお世話になっているので参考程度に紹介。

---こっから

Sub 適当マクロ()

'範囲 A1:D20 の中で要素が(要素.valueは値、要素.Formulaなら=で始まる数式)だったら値をクリアします。

Dim 範囲, 要素
Set 範囲 = Range("A1:D50")
For Each 要素 In 範囲
If 要素.Formula = "=SUM(B1:B2)" Then
'要素内の数式が=SUM(B1:B2)だたら

要素.ClearContents
'値をクリアにします。

End If
Next 要素
End Sub

---ここまで

861859 :2007/02/18(日) 16:20:37
補足 その都度人数は変わります。

862名無しさん@そうだ選挙にいこう :2007/02/18(日) 16:44:13
>860
ジャンプで空白を認識するようにマクロ組むワケねw

>>855のマクロ作った方が、早くね?

863名無しさん@そうだ選挙にいこう :2007/02/18(日) 18:31:18
>>854
おまえだけが分かって、怪盗社が状況を掴めない説明にはまともな回答付かないよ
面倒でも雛形っぽい例をあげなさい
でなけりゃブックをUPしましょう

864859 :2007/02/18(日) 19:26:01
※訂正
Cが1で、Dが1以上の顧客 ×
Cが空白で、Dが1以上の顧客 ○
でした。どなたかお願いします。

865名無しさん@そうだ選挙にいこう :2007/02/18(日) 19:41:19
みんなAccessの質問みたいだね

866名無しさん@そうだ選挙にいこう :2007/02/18(日) 19:50:05
>>865
たしかに。
SQLで投げれば一発ってのが多い。

867854です :2007/02/18(日) 21:25:13
>>863
すみません説明悪くて…。
ブックAのA1に数字列の商品コード、B1に略称の品名、C1に取引先名、D1に納入日が入っています。
ブックBのA1に同じ商品コード、B1に正式品名、C1に取引先名が入っています。
この状態でブックAの特定期間の納入日だけを拾って、略称の品名を正式品名に置き換えて、
ブックCのA1に商品コード、B1に正式品名、C1に取引先名、D1に納入日という順に並べて出したいのです。
分かって頂けましたでしょうか?

868名無しさん@そうだ選挙にいこう :2007/02/18(日) 21:25:38

在日=竹石圭佑らしいが、熊本の済々黌の弓削達也って奴も朝鮮人だろ
在日って顔が日本人とは全然違うもんな

869名無しさん@そうだ選挙にいこう :2007/02/18(日) 22:30:07
>>867
ブックAの略称の品名を正式名称に変えればいいんじゃないの?
ブックCを作る意味が分からない。

870854です :2007/02/18(日) 22:46:24
>>869
ブックAは納入済みと未納入のデータが混在してるので、
納入済み一覧表としてのブックCを作りたいのです。

871名無しさん@そうだ選挙にいこう :2007/02/18(日) 22:52:02
>>870
だから納入済みのみフィルタを欠けてコピーした方が早いのでは?

872名無しさん@そうだ選挙にいこう :2007/02/18(日) 22:57:33
【1 OSの種類         .】 Windows*XP
【2 Excelのバージョン   】 Excel2003

EXCELで10−14という風に入力したいのですが、
こう入力すると勝手に10月14日と変換されてしまいます。
この機能をOFFにするにはどのようにすればいいのでしょうか?

873名無しさん@そうだ選挙にいこう :2007/02/18(日) 23:01:23
'10-14 or 書式で文字列に

874872 :2007/02/18(日) 23:16:00
>>873

どうもありがとうございます。
セルの書式設定を文字列に変更し解決致しました。

875名無しさん@そうだ選挙にいこう :2007/02/19(月) 05:39:08
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002

会社のPCなんだけど、excel開いて入力しようとセルをクリックしたら
そこからshiftキー押したみたいな状態でどんどん選択セルが広がっていく症状に・・・
しかもそうなったらexcel画面上の一切の入力が受け付けないんですけど、
どなたか対処法知っていますか?


876名無しさん@そうだ選挙にいこう :2007/02/19(月) 05:42:25
>>875
Excel再起動 → OS再起動 → Excel再インストール → OS再インストール
の順で試せ。
会社のPCだと、勝手には再インストール出来ないだろうが、
業務に差し障るなら、そのことを伝えて許可をもらうんだな。

877名無しさん@そうだ選挙にいこう :2007/02/19(月) 05:47:51
>>876
うお!こんな時間なのに回答ありがとうございます。
勝手に再インストはしてもかまわない程度の職場なんで
早速再インストしてみます。

878名無しさん@そうだ選挙にいこう :2007/02/19(月) 16:10:01
1行目にA項目 B項目 などと見出しみたいにいろいろ書いてあるんですが、
40行目あたりで作業しているときに、上にスクロールせずにその1行目が
見えるようにするにはどうしたらいいですか?



879名無しさん@そうだ選挙にいこう :2007/02/19(月) 16:11:25
>>878
>>711

880名無しさん@そうだ選挙にいこう :2007/02/19(月) 16:20:51
あ、ありがとうございます!

ウインドウ枠の固定はどうすればいいんですか?

881名無しさん@そうだ選挙にいこう :2007/02/19(月) 16:25:07
だめだ。

882名無しさん@そうだ選挙にいこう :2007/02/19(月) 16:29:43
固定したい行や列+1行(列)分選択する
ウインドウ→ウインドウ枠の固定

少しくらい試せ調べろ考えろボケ

883名無しさん@そうだ選挙にいこう :2007/02/19(月) 16:33:30
選択は、固定したい行の下の一行だけでいいよ。

884名無しさん@そうだ選挙にいこう :2007/02/19(月) 16:35:18
途中の一行だけ固定したいときはどうすればいいですか?

たとえば、20秒目だけを固定して、その上下は動く!ようにしたいとき。

885名無しさん@そうだ選挙にいこう :2007/02/19(月) 17:43:02
エクセルで表を自動でつくることはできるのでしょうか。

ある値とある値の境で自動で罫線をいれたり、
あるシートにレコードが増えるようなかたちで入力されると、その値が別シートに反映されるとき、
その別シートのほうで自動で罫線が入り表ができるようなことはできますか?

VBAの知識とかが必要なのでしょうか?

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


886885 :2007/02/19(月) 17:51:53
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003

です。

よろしくお願いします。

887名無しさん@そうだ選挙にいこう :2007/02/19(月) 18:01:49
>>885
VBAのみ。
しかもVBAでも書き上げるのがとんでもなく面倒

888885 :2007/02/19(月) 18:05:47
ありがとうございます。

VBAでも難しいですか・・・

HTMLとPHPの簡単なのくらいしかわからなくて、VBAを覚えていこうかとおもったのですが、
仕事で使う表であまり時間を掛けれないので、別の方法をさがします。

ありがとうございました。

889名無しさん@そうだ選挙にいこう :2007/02/19(月) 18:59:23
>>884
できる事とできない事をよく理解しよう
http://www.microsoft.com/japan/users/tips/Excel/152.mspx

890名無しさん@そうだ選挙にいこう :2007/02/19(月) 19:09:48
>>884
タイマーで20秒目になると動かなくする。

891名無しさん@そうだ選挙にいこう :2007/02/19(月) 19:12:22
ちょっとだけワロタ

892名無しさん@そうだ選挙にいこう :2007/02/19(月) 19:21:59
ありがとうございました。

20行目の書きまちがいです。これはできないんですね。ありがとうございました。



893名無しさん@そうだ選挙にいこう :2007/02/19(月) 19:39:33
>>892
固定ぢゃ無いけどウインドウを分割してみれば?
上下分割すれば似た様なことが出来るかも。

894名無しさん@そうだ選挙にいこう :2007/02/19(月) 21:47:26
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 グラフ関連をいくつか

現在8品目で円グラフを作っているのですが、EXCELのグラフ機能で、
売上の大きい順に並べて円グラフを作成することは可能ですか?

または、品目ごとの売上高は月ごとに変動するため、単純なソートのボタンを使ってではなく、
関数などを使うなどして、自動的に並び替えられるようにしたいです。
http://www.juno-e.com/exdun/urisorto.htm
このテンプレートで売上がゼロでもN/Aエラーがでないようになれば、全てOKといった感じです。




895名無しさん@そうだ選挙にいこう :2007/02/19(月) 21:55:53
LARGE関数使って工夫すれば何とか

896名無しさん@そうだ選挙にいこう :2007/02/19(月) 22:14:21
>>895
数値だけの並び替えならなんとかLARGEでできたのですが、
D列の計算結果に応じて、C列の品目名も同じ順番に並べることは可能でしょうか?

897名無しさん@そうだ選挙にいこう :2007/02/19(月) 22:21:36
>>896
元の数値+αしたものを作る(データの重複防止用)
それをLARGE関数で並べ替え
その数値を+αした表に検索関数にかける
その結果で品目がわかる

898名無しさん@そうだ選挙にいこう :2007/02/19(月) 22:39:23
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 セル範囲


sumproductで式を作ったのですが、式内の絶対参照した
範囲がその範囲の上に一行挿入するとずれてしまいます。

a2:a20まで参照したいのに、a2に新しい行を挿入すると
a3:a31と絶対参照がずれてしまいます。

これを回避し、常にa2:a20を参照するる方法はないでしょうか?

範囲に名前をつけてみたのですが、sumproductでは
エラーで返ってきてしまいました。

899名無しさん@そうだ選挙にいこう :2007/02/19(月) 22:51:29
>>897
ありがとうございます、無事できました!

900名無しさん@そうだ選挙にいこう :2007/02/19(月) 22:59:47
エクセル2003、OSはwin2000です。VBAはわかりません。
A    B   C
カテゴリ 階級  点数
3    5    20
1    3    50
3    8    85
2    2    60
3    1    40
2    9    12

こんなデータがあって、カテゴリを指定すると、そのカテゴリ
だけのデータを拾った「階級−点数の相関グラフ」を描きたいのです。
例えばあるセルにカテゴリを2と指定すると、

(階級)
10
9  ・
8
7
6
5
4
3
2         ・
1
−−−−−−−−−−−−−−−−−−−−
       50       100(点)

こんな感じのグラフを自動で描画してくれるような。
もちろん実際のデータはもっと多量なのですが。
もしこのようなことが可能でしたらヒントを下さい。

901名無しさん@そうだ選挙にいこう :2007/02/19(月) 23:48:42
>>900
マクロを使う
カテゴリ2だけならできるだろ?

902名無しさん@そうだ選挙にいこう :2007/02/20(火) 00:10:07
>>898
A2:A20の代わりに「INDIRECT("A2:A20")」か「OFFSET(A1,1,0,19)」のどちらかを入れる
ちなみにA2:A20がA3:A21にズレるならわかるがA3:A31にズレるのは怪現象だな

>>900
指定カテゴリに該当するものを何処かに列挙し
それをソースにグラフ作れば良いだけじゃん

903名無しさん@そうだ選挙にいこう :2007/02/20(火) 01:10:30
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 散布図 軸 ゼロ

散布図を作成する際、x目盛範囲に勝手にゼロが入り、
表示が乱れて困っています。

例えば
X Y
500 2
520 3
510 2
のような散布図ではx目盛範囲は[495:525]ですが、
X Y
50 2
70 3
60 2
では[0:80]になります。いちいち目盛りを指定するのは面倒なので
これを自動で[45:75]にするようなオプションはないでしょうか?

904名無しさん@そうだ選挙にいこう :2007/02/20(火) 01:27:23
オプションは無い、VBA使えば自動化は出来る、VBA使いたくないなら手動でやれ

905名無しさん@そうだ選挙にいこう :2007/02/20(火) 02:16:40
セルの書式設定のデフォルトを変更するにはどうすればいいのでしょうか?

「0001」という文字列をエクセルで開くと「1」という表示になってしまい、その後書式設定→表示形式で「文字列」に設定しても「1」という表示のままになってしまいます。
開いたときから表示形式を「文字列」にして「0001」と表示させたいのですが・・・

906名無しさん@そうだ選挙にいこう :2007/02/20(火) 02:45:17
>>905
テンプレート

907名無しさん@そうだ選挙にいこう :2007/02/20(火) 03:23:55
エクセルのグラフで、
x軸が共通しているがグラフの形式やy軸の値の異なる2つのグラフを
上下に重ねて表示させるにはどうすればいいのでしょうか?
例: http://quote.yahoo.co.jp/q?s=5401.t&d=c&k=c3&a=v&p=s&t=3m&l=off&z=m&q=c

グラフを2つつくって、上下に単に並べるだけだと、データを追加したりした場合、
x軸の縮尺やmax・minの位置が簡単にずれてしまうので、
マウスで再度位置・サイズ調整をしなければならず、煩雑です。

908名無しさん@そうだ選挙にいこう :2007/02/20(火) 03:30:30
>>907
VBAで

909名無しさん@そうだ選挙にいこう :2007/02/20(火) 03:39:52
>>908
VBAでそんなことできましたっけ?

910名無しさん@そうだ選挙にいこう :2007/02/20(火) 04:09:11
>>909
うん、出来る。がんばって。

911名無しさん@そうだ選挙にいこう :2007/02/20(火) 10:45:49
>>910
せ、せめてヒントをおながいします…

912名無しさん@そうだ選挙にいこう :2007/02/20(火) 10:53:08
ヒント:>>1★4の3行目

913名無しさん@そうだ選挙にいこう :2007/02/20(火) 11:14:55
こういうexcelやwardの解説ソフトはvistaと一緒についてくる2007バージョンのものにも
対応しているのでしょうか?
もし、大分仕様が変わっているのなら、購入を見合わせようかとおもっています。
ttp://www.amazon.co.jp/%E3%82%BD%E3%83%BC%E3%82%B9%E3%83%8D%E3%82%AF%E3%82%B9%E3%83%88-%E7%89%B9%E6%89%93%E5
%BC%8F%E3%83%91%E3%82%BD%E3%82%B3%E3%83%B3%E5%85%A5%E9%96%80-Excel-Word-%E6%94%BB%E7%95%A5%E3%83%91%E3%83%83%E3%82%AF/dp/B0009VV03Q/sr=1-3/qid=1171937397/ref=sr_1_3/249-9007360-0290732?ie=UTF8&s=software

914名無しさん@そうだ選挙にいこう :2007/02/20(火) 11:15:54
URLまちがえました、こっちです
http://www.amazon.co.jp/o/ASIN/B0009VV03Q/ref=s9_asin_image_1/249-9007360-0290732

915名無しさん@そうだ選挙にいこう :2007/02/20(火) 11:18:42
>>914
大体あってる
が、Office2007から勉強しだす初心者ならその本は買わない方がいい。
2003なりXPなり2000なりのバージョンを持ってるなら別に問題無い


916名無しさん@そうだ選挙にいこう :2007/02/20(火) 11:31:48
2007はかなり違うよ。
本質的な機能の動作は殆ど変わってないが
その機能を呼び出す手順、インターフェイスの部分が大きく改変されたから
2003までの解説じゃ相当混乱すると思う。関数のみなら問題ないけどね。

VBAも構文規則は変わってないが、オブジェクト構造が大きく変わった。
一応旧メンバへもアクセスできるようになってるが、旧メンバを使うと処理速度が落ちる。

というか、「一緒についてくる」ってなんだよ?
Office2007はWindowsVistaの付属品じゃないぞ。
メーカーPCではバンドルされてるものが多いかも知れないが。

917名無しさん@そうだ選挙にいこう :2007/02/20(火) 11:49:46
>>915 >>916
どうしてもエクセルワードをマスターしなければならない状況になって
別途にOffice2003を買うくらいなら、買ったばかりのノーパソに入ってる2007で間に合わせようと思っていましたが
ちょっと厳しい感じっぽいですね・・・。
解説書を見ながら地道にやってくのは大変そうなので、できれば解説ソフトなんかがあれば良いのですが。まだ無いかなぁ

918898 :2007/02/20(火) 11:51:47
>>902

無事できました!
本当にありがとうございます。

確かにA3:A31にズレるのは怪奇現象ですね・・・
間違えました。
申し訳ありません(^ω^;)

919名無しさん@そうだ選挙にいこう :2007/02/20(火) 12:02:17
>>917
初歩の操作なら、Office Onlineに用意されてる「トレーニング」で十分。
一度、アクセスして試してみな。

つーか出来のいい入門書なら、ヘタなソフトよりよほど確実に身に付くんだがなあ。

920名無しさん@そうだ選挙にいこう :2007/02/20(火) 12:39:07
2007に慣れてから2003を慣らすのは
逆のパターンよりきついと思うぞ

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

すみません、オートフィルで連続データの表をつくりたいのですが、 
たとえば、1.25 1.50 1.75 2.00 というように、0.25と間隔でデータを入力する方法はありますか?

922名無しさん@そうだ選挙にいこう :2007/02/20(火) 14:06:03
すいません。1-1といれると1月1日とかってに変換されるのですが。されないようにするにはどうしたらいいですか

923名無しさん@そうだ選挙にいこう :2007/02/20(火) 14:07:15
>>922
>>873


924名無しさん@そうだ選挙にいこう :2007/02/20(火) 14:11:40
>>920
それは同感。

925名無しさん@そうだ選挙にいこう :2007/02/20(火) 14:17:57
>>923
二つ目のほうが理解できないんですが・・・


926名無しさん@そうだ選挙にいこう :2007/02/20(火) 14:22:04
>>925
ここはお前のようなnoob過ぎる奴が来る場所じゃない

PC初心者
http://pc9.2ch.net/pcqa/

927名無しさん@そうだ選挙にいこう :2007/02/20(火) 14:23:57
>>925
右クリック>セルの書式設定
もしかするとバージョンによっては違うかもしらんが

928名無しさん@そうだ選挙にいこう :2007/02/20(火) 15:47:01
Excel2007で、図形関係の操作を、マクロ自動記録させたいのですが
どうしても、できません。
これはバグ?それとも仕様?
図形の塗りつぶしのマクロすら記録されない・・・・

929名無しさん@そうだ選挙にいこう :2007/02/20(火) 16:06:32
>>927
あ、できました。ありがとうございます。

>>926
了解ッス。次からはそちらに

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


質問です 
置換を行おうと思っていたのですが、出来ません。

10/27*11/6
11/3*12/4
無し
有り
500

など・・・
この*を〜にしたいのですが、何故か他の文字も一緒に変換されてしまいます。
どこか設定をいじらなければいけないのでしょうか?

931名無しさん@そうだ選挙にいこう :2007/02/20(火) 17:24:18
>>930
http://www.google.com/search?num=50&hl=ja&safe=off&q=%E3%82%A8%E3%82%AF%E3%82%BB%E3%83%AB%E3%80%80%E7%BD%AE%E6%8F%9B%E3%80%80%E3%82%A2%E3%82%B9%E3%82%BF%E3%83%AA%E3%82%B9%E3%82%AF&lr=lang_ja

少しはググれカス

932名無しさん@そうだ選挙にいこう :2007/02/20(火) 17:26:47
イルカちゃんヘルプにも載ってんじゃねーか
調べるモンも調べず、テンプレすら最後までまともに読めん奴ばっかりなのか?

933名無しさん@そうだ選挙にいこう :2007/02/20(火) 18:45:16
一流は学びたがり
二流は教えたがり
三流は文句を付けられる場所を必死に探す

934名無しさん@そうだ選挙にいこう :2007/02/20(火) 19:39:18
>933
あんたも建設的じゃないね。

>930
ワイルドカードの場合、頭にチルダ「~」を付ける

935名無しさん@そうだ選挙にいこう :2007/02/21(水) 10:44:03
Excel2003で
なぜかシートのコピーや削除、挿入が出来なくなったのですが
原因がわかる方いらっしゃいますでしょうか?

936名無しさん@そうだ選挙にいこう :2007/02/21(水) 10:46:47
ブックの保護、シートのロック

937名無しさん@そうだ選挙にいこう :2007/02/21(水) 12:28:26
Excel2007の初心者向けハウツー本で、2ch住人オススメの良書ってありますか?

938名無しさん@そうだ選挙にいこう :2007/02/21(水) 13:01:54
>>937
スレ違い
ここは書籍紹介スレではなくExcelの技術的相談スレ

939名無しさん@そうだ選挙にいこう :2007/02/21(水) 15:36:25
【1 OSの種類         .】 WindowsXP【2 Excelのバージョン   】 Excel2000 【3 VBAが使えるか    .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード     】 Excel グラフ 幅


あるデータの最大値と最小値をまとめ、折れ線グラフに出しました。
最大値と最小値の線の間を色で塗り潰して、幅を表したいんですが、
やり方ってあるんでしょうか?
下のページを開くと出てくるグラフのようにしたいんです。
よろしくお願いします。

940名無しさん@そうだ選挙にいこう :2007/02/21(水) 15:43:49
下のページ?

941名無しさん@そうだ選挙にいこう :2007/02/21(水) 15:45:49
>>940
シート切り替えのことじゃまいかと

942名無しさん@そうだ選挙にいこう :2007/02/21(水) 15:52:06
すいません、URL書き忘れました。

ttp://www.gcmtravelstats.com/GCMLink.aspx?GCMLinkID=IL-TIMS-I_294-S-26

943名無しさん@そうだ選挙にいこう :2007/02/21(水) 18:26:32
Excelスペシャリストの資格って簡単?
取って意味ある?
教えて!

944名無しさん@そうだ選挙にいこう :2007/02/21(水) 18:41:01
>>939
面グラフを重ねて書き、中間に折れ線グラフを書く。

945名無しさん@そうだ選挙にいこう :2007/02/21(水) 19:04:34
>>943
俺にとっては簡単で意味のないものだが
君にとって簡単かどうか、意味があるかどうかは解らない

946名無しさん@そうだ選挙にいこう :2007/02/21(水) 19:12:32
典型的な馬鹿だなwww

947939 :2007/02/21(水) 19:19:50
>>944
レスありがとうございます。
確かに面グラフなら狙った物が書けそうでしたが
折れ線グラフを重ねたり、またx軸から最小値までの領域だけは透明にして
目盛り線は残したいんですが
どうすればいいんでしょうか?

948名無しさん@そうだ選挙にいこう :2007/02/21(水) 19:41:00
ホント典型的な馬鹿だ。
なんでこういう個人の能力や業種、立場等によって変わってくるようなことを、
不特定多数相手に聞こうとするのかねぇ。
これもゆとり教育の(ry

949名無しさん@そうだ選挙にいこう :2007/02/21(水) 20:14:27
個人の能力や業種、立場等によって変わってくるようなことを、
不特定多数相手に聞く場所ですから、ここは。

ま、あなたが来る場所じゃない。

950名無しさん@そうだ選挙にいこう :2007/02/21(水) 21:07:53
>>949m9(^Д^)プギャー


951名無しさん@そうだ選挙にいこう :2007/02/21(水) 21:32:15
>>948

952名無しさん@そうだ選挙にいこう :2007/02/21(水) 21:34:06
>>949
うちの息子がVBAを習得するのに必要な日数と
うちの息子が理解しやすい書籍を教えてください。

953名無しさん@そうだ選挙にいこう :2007/02/21(水) 21:35:29
>>947
目盛り線を表示しないで、目盛り線を折れ線グラフで書く。

954名無しさん@そうだ選挙にいこう :2007/02/21(水) 22:17:21
>>952
いくら先っぽで考えることができるからと言っても

      ちんちんには無理

955名無しさん@そうだ選挙にいこう :2007/02/21(水) 22:18:31
【1 OSの種類         .】 Windows2K
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
一つのセルの中に↑のような
【見出し1】データ1(改行)
【見出し2】データ2
という構造があるのですが、ここから【見出し1】データ1、またはデータ1部分だけを
取り出したいのです。(必ずしも【見出し1】がセルの先頭にあるとは限りません)
文字列関数でなにか出来ないかと考えていますが、どのようにすればよいでしょうか?


956939 :2007/02/21(水) 22:26:28
>>953
グラフを重ねて書くのはどうやればいいんでしょうか?

957名無しさん@そうだ選挙にいこう :2007/02/21(水) 23:07:17
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい

VBAでシートを保護しているブックを複数の人で同時に編集したい(共有フォルダに置いている)ので、ブックの共有という機能を使用したところ、エラーがでます。共有ブックはシートの保護が出来ないのでしょうか。
特定のセルだけロックを解除し、シートを保護してそのセルだけ入力できるようにしています。

958名無しさん@そうだ選挙にいこう :2007/02/21(水) 23:24:35
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 "シート保護""フォーム"

ユーザーフォームでラジオボタンまたはチェックボタンのリンクするセルを指定してから、
シートを保護するとボタンにチェックを入れることが出来ません。
リンクしてあるセルを編集許可にして、そのセルの数値を変えるとボタンはチェックが入ったりするのですが、
ボタンを直接クリックしてチェックをいれるようには出来ないでしょうか?

959名無しさん@そうだ選挙にいこう :2007/02/21(水) 23:37:35
>952
うん、そーやって、どんどん尋ねたら良いと思うよ。
ただ、情報が足りないと、答えようがない。

960名無しさん@そうだ選挙にいこう :2007/02/22(木) 00:21:59
>>955

一つ目の"【"
 =SEARCH("【",A1,1)
二つ目の"【"
 =SEARCH("【",A1,SEARCH("【",A1,1)+1)

一つ目の"】"
 =SEARCH("】",A1,1)
二つ目の"】"
 =SEARCH("】",A1,SEARCH("】",A1,1)+1)

あとは自分で考えろ

961名無しさん@そうだ選挙にいこう :2007/02/22(木) 01:44:06
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ(要るなら学びます)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】表 組み換え Excel

以下のような、お小遣い帳のようなものが、csv形式で既にあります。

場所1,場所2,場所3
日付1,日付2,日付3
金額1,金額2,金額3
日付4,日付5,日付6
金額4,金額5,金額6
 :
 :
 :

金額の直上の日付に、その金額、一番上のセルの場所で散財しました、という表です。
全てのセルを見渡せば、日付は”同じ日”も結構な数混じっていて、「全て違う日」と言うわけではありません。
同じ日にいろんな場所で散財することもあるので。
一つの縦の列の中に”同じ日”のダブりがあったりもします。
日付は月日(MM/DD)でcsvに書かれています。全部で366日分のデータになります。


962961 :2007/02/22(木) 01:45:28
>>961つづき
コレを、日付ごとにいくら使ったか、な表に書き換えたいのですが、
Excel付属の関数でいいものありますでしょうか?

Aの日の散財計,日付A,場所a,金額aA,場所b,金額bA,・・・
Bの日の散財計,日付B,場所a,金額aB,場所b,金額bB,・・・

↑こんな感じになると幸いです。

なお、VBAでもかまわないので、VBAのほうが楽だよという話であれば、
そちらでの回答でもかまいません。

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



963名無しさん@そうだ選挙にいこう :2007/02/22(木) 05:53:22
csvファイルとxlsファイルってどう違うんですか?

964名無しさん@そうだ選挙にいこう :2007/02/22(木) 06:59:13
csvはテキストファイル 書式などのデータは持たない(持てない)。当然のことながらグラフ等のオブジェクトも。

965名無しさん@そうだ選挙にいこう :2007/02/22(木) 09:18:51
すみませんがわからないので教えてください。

1-1や2-4などを含むcsvファイルを
ファイルをクリックしてエクセルで開くと
1-1が1月1日などと勝手にかえられてしまいます。
これを阻止するためには何処の設定を変えればよいのでしょうか?
いろいろ見てみたのですがわかりません・・・
よろしくお願いいたします。

966名無しさん@そうだ選挙にいこう :2007/02/22(木) 09:41:00
>>965
エクセルのバージョンを書いてないので操作は書かないけど、
CSVファイルを直接開くのではなく、外部データの取り込みを使って
1-1とかが入っている列を「G/標準」から「文字列」に変える。

967名無しさん@そうだ選挙にいこう :2007/02/22(木) 10:12:53
質問です。円グラフの対応する部分の上に判例の文字を入れたいのですが、定番の方法はありま
すでしょうか?よろしくお願いします。

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





968965 :2007/02/22(木) 10:25:50
>>966

バージョンは2002です。
直接開く場合は出来ないってことでよいのでしょうか?

969967 :2007/02/22(木) 10:54:50
>>967
自己解決しました。
データ系列の書式設定-データラベル-ラベルの内容で値にチェックするとできました。
定番の別のやり方がありましたら、よろしくお願いします。

970名無しさん@そうだ選挙にいこう :2007/02/22(木) 10:59:17
>>968
拡張子をTXTに変えろ
バージョン書かないんでそれ以上わからん。

971名無しさん@そうだ選挙にいこう :2007/02/22(木) 11:10:07
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 Yes

結合されたセルの中に別のセルのテキストやテキストエディターで編集したテキストを
コピーして挿入したいのだができない。 なにかよい方法ない?
 VUPしたらできるとか?

972名無しさん@そうだ選挙にいこう :2007/02/22(木) 11:12:41
>>971
数式バーをクリックしてそこに貼り込めばいいんでない?

973名無しさん@そうだ選挙にいこう :2007/02/22(木) 12:02:56
ume

974956 :2007/02/22(木) 12:16:36
どなたか、ご存知ないですか?

975名無しさん@そうだ選挙にいこう :2007/02/22(木) 12:47:57
>>974
折れ線じゃなく面グラフを使って、
下のほうを「塗りつぶしなし」にすればいいような気がする。

976955 :2007/02/22(木) 13:21:20
>960
道筋をつけることができます。ありがとうございました!

977956 :2007/02/22(木) 13:51:33
>>975
それだと一番上の面の色が出ちゃうんですよね。
一番下から一番上の領域だけ塗り潰して、その中に一本、平均を表す折れ線が引ければいいんですが…

978名無しさん@そうだ選挙にいこう :2007/02/22(木) 14:47:58
>>977
975で普通にお望みのものができると思うが?

979名無しさん@そうだ選挙にいこう :2007/02/22(木) 14:48:07
失礼します。
他変数分析をしようと思って,

変数x1,x2,....xnをC列の4行から12行,L列の4行から12行,・・・L列の4行から12行,
y1,y2,...ynをC13:L13に入力し,
y=m1x1+m2x2+...mnxn+bのm1,m2,...mn,bを求めるため
あるセルに
LINEST(C13:L13,C4:L12,TRUE,FALSE)

と入力したのですが,#value!となってしまいます。
念のため,変数を1つにしてLINEST(C13:L13,C4:L4,TRUE,FALSE)
とすると,b(?)のみの表記で,m1が計算されません。
どうしたらよろしいでしょうか。Excel2003,XPです。


980名無しさん@そうだ選挙にいこう :2007/02/22(木) 17:37:24
Win2000で、Excel2003を使用しています。

表中で文字列の結合を使う場面があり 「= A1 & "と" & B1」のように数式で実現しているのですが
結果は「リンゴとバナナ」、この結果をA1セル・B1セル削除後でも残せるようにはできないでしょうか?

現在CSVに一回出力して、結果を固定化後A1・B1セルを削除する力技を使っていますが、
もっと固定化にスマートな方法があるように思えてなりません。

どなたかご存知の方いらっしゃいましたら、お教え願えませんか?



981名無しさん@そうだ選挙にいこう :2007/02/22(木) 17:44:09
>>980
コピー→別のセルに貼り付け→形式を選択して貼り付け→値

982名無しさん@そうだ選挙にいこう :2007/02/22(木) 17:44:22
>>979
その関数は配列だけど、設定は配列になってるの?

983名無しさん@そうだ選挙にいこう :2007/02/22(木) 18:04:37
>>981
その方法で実践してみます。やっぱり力技になってしまうんですねぇ。

984名無しさん@そうだ選挙にいこう :2007/02/22(木) 18:17:21
初歩的な質問ですみませんが教えて下さい。excel2002、win xp proを使っています。
セルに文字を入力する際、フォントはMS明朝、フォントサイズは9.5で、
文字ピッチを12.75ptにしたいのですがどのように設定すれば良いのでしょうか?


985名無しさん@そうだ選挙にいこう :2007/02/22(木) 18:19:23
>>980

Sub Macro1()
Dim i As Integer

i = 1
Do
Range("C" & i) = Range("A" & i) & "と" & Range("B" & i)
i = i + 1
Loop Until Range("A" & i) = ""

Columns("A:B").Delete Shift:=xlToLeft

End Sub


986名無しさん@そうだ選挙にいこう :2007/02/22(木) 18:42:35
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可
【5 検索キーワード     】引数  変数 範囲

VBAで範囲指定の中に変数を入れたいときはどうすればいいですか?

例えば、
range("a1:a10")という記述の"a1:a10"を変数で指定したいのですが
記述方法が分かりません。

宜しくお願いいたします。


987名無しさん@そうだ選挙にいこう :2007/02/22(木) 18:57:36
ひとつ前のレス

988名無しさん@そうだ選挙にいこう :2007/02/22(木) 19:00:45
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】否
【5 検索キーワード     】 エクセル 数字だけ削除

◎◎1
○○3
△△8
●●2

のような文字列と数字の組み合わせが一列にだーっと並んでいるのですが、
これの数字部分だけを削除するのはどうしたらいいんでしょうか?

◎◎
○○
△△
●●

こういうイメージです。
どなたか宜しくお願い致します。

989名無しさん@そうだ選挙にいこう :2007/02/22(木) 19:17:19
>>984
ワードじゃないんだから文字ピッチの設定はできない
等幅フォントを使うのなら、全体の文字数からセルの幅を予測するのも簡単だろ

990名無しさん@そうだ選挙にいこう :2007/02/22(木) 19:21:08
>>988
数字を空白に「置き換え」
0から9まで10回やれば、OK

991名無しさん@そうだ選挙にいこう :2007/02/22(木) 19:28:45
表計算をエクセルで3時間かかって作りました。
その作業中に別のエクセルデータを開く用事があって開いて、見て、閉じようとしたら
データ保存のメッセージが出たのですがNOにして閉じたら、3時間かかって作ったデータも消えました…
復活させる方法ないですか?泣きたいです。


992名無しさん@そうだ選挙にいこう :2007/02/22(木) 19:36:30
つ 僕の胸

993991 :2007/02/22(木) 19:38:19
>>992
俺37歳♂だけどいいのかい?

994名無しさん@そうだ選挙にいこう :2007/02/22(木) 19:56:35
50以下の男に用はねーよ
さっさと帰れ

995名無しさん@そうだ選挙にいこう :2007/02/22(木) 20:06:21
50超えたオッサンならOKなのね

とりあえず、>>991 は諦めろ
オートバックアップが残っていれば、そこから復活は可能
バックアップファイルを見つけるまで、まちがってもエクセルを立ち上げ直さないこと

996名無しさん@そうだ選挙にいこう :2007/02/22(木) 20:17:38
うめ

997名無しさん@そうだ選挙にいこう :2007/02/22(木) 20:18:09
うめ

998名無しさん@そうだ選挙にいこう :2007/02/22(木) 20:18:39
うめ

999名無しさん@そうだ選挙にいこう :2007/02/22(木) 20:19:15
うめ

1000名無しさん@そうだ選挙にいこう :2007/02/22(木) 20:19:46
さようなら

10011001 :Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


戻る
DAT2HTML 0.34 Converted.