Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9405 / 13646 ツリー ←次へ | 前へ→

【27537】同じ番号を探したいのですが・・・・・ リンゴ 05/8/11(木) 9:19 質問[未読]
【27540】Re:同じ番号を探したいのですが・・・・・ ちくたく 05/8/11(木) 10:33 発言[未読]
【27541】Re:同じ番号を探したいのですが・・・・・ リンゴ 05/8/11(木) 11:23 質問[未読]
【27543】Re:同じ番号を探したいのですが・・・・・ ちくたく 05/8/11(木) 11:44 回答[未読]
【27549】Re:同じ番号を探したいのですが・・・・・ リンゴ 05/8/11(木) 15:03 質問[未読]
【27557】Re:同じ番号を探したいのですが・・・・・ ちくたく 05/8/11(木) 17:13 回答[未読]
【27548】Re:同じ番号を探したいのですが・・・・・ Jaka 05/8/11(木) 15:02 回答[未読]

【27537】同じ番号を探したいのですが・・・・・
質問  リンゴ  - 05/8/11(木) 9:19 -

引用なし
パスワード
   すみません。教えてください。
シ-トわけして手入力している同じ番号を簡単に探したいのですが
どうしたら簡単に探せるでしょうか?

【27540】Re:同じ番号を探したいのですが・・・・・
発言  ちくたく  - 05/8/11(木) 10:33 -

引用なし
パスワード
   質問の意味がわかりませんので、逆に質問しますね。
例えば、Sheets(1)とSheets(2)に、
A   |   A
1   |   3
2   |   2
5   |   1

とか入っているときに、上から2行目の
[2]だけを取り出したいということですか?
Findメソッドとかでできると思うのですが、
シートの一部でも、記載してくれたら、
常連の皆様も答えやすいと思います。

▼リンゴ さん:
>すみません。教えてください。
>シ-トわけして手入力している同じ番号を簡単に探したいのですが
>どうしたら簡単に探せるでしょうか?

【27541】Re:同じ番号を探したいのですが・・・・・
質問  リンゴ  - 05/8/11(木) 11:23 -

引用なし
パスワード
   ▼ちくたく さん:
>質問の意味がわかりませんので、逆に質問しますね。
>例えば、Sheets(1)とSheets(2)に、
>A   |   A
>1   |   3
>2   |   2
>5   |   1
>
>とか入っているときに、上から2行目の
>[2]だけを取り出したいということですか?


すみません、言葉足らずでした。
Sheets(1)とSheets(2)に
 |A   |  A
−|−−−−−−−
1 | 1  |  3
2 | 2  |  2
3 | 5  |  1
4 | 5  |  6
5 | 2  |  1

という風になっていたとして
[2]となっているセルに色をつけたいのです。

シートが分かれているので、マクロが必要になると
思いますが、どのように組んだらいいですか?
書式設定でも可能でしょうか?
マクロは初心者のため、書式設定等で出来ると
嬉しいです。

また、色がつけられたセルを確認するには
目で確認していくのを避けたいのですが
色をつけたセルがどこにあるか簡単に確認するには
どうしたらいいでしょうか。
仮にSheet(3)に
Sheet(1) A2、A5
Sheet(2) A2
といったようにレポート結果を出すことができますか?

【27543】Re:同じ番号を探したいのですが・・・・・
回答  ちくたく  - 05/8/11(木) 11:44 -

引用なし
パスワード
   こんにちは。

>Sheets(1)とSheets(2)に
> |A   |  A
>−|−−−−−−−
>1 | 1  |  3
>2 | 2  |  2
>3 | 5  |  1
>4 | 5  |  6
>5 | 2  |  1
>
>という風になっていたとして
>[2]となっているセルに色をつけたいのです。

さらなる質問返しのようで申し訳ないのですが、
ある条件を満たす数字が入ったセルに色を付けたいということですね?
それなら、書式をつけたい範囲を選択して、
メニューの[書式]/[条件付き書式]を選択してください。
あとは、ヘルプで「条件付き書式」をひいてみてください。
これですむならできると思いますよ。
はずしていたらごめんなさい。

>また、色がつけられたセルを確認するには
>目で確認していくのを避けたいのですが
>色をつけたセルがどこにあるか簡単に確認するには
>どうしたらいいでしょうか。

エクセルの標準機能でもできるのかもしれませんが、
エクセルには詳しくないのでわかりません。
マクロでやるなら、セルの色とかでIf文でひっかけて、
Sheet(3)へ書き出しみたいな感じでできます。
ひとまず上記の条件付き書式を確認して頂けますか?
Sheets(3)への書き出しは、上記でよければ答えやすくなります。

【27548】Re:同じ番号を探したいのですが・・・・・
回答  Jaka  - 05/8/11(木) 15:02 -

引用なし
パスワード
   オートフィルタと作業列を使えば、標準機能だけで全て出来ます。
1行目項目名などとして、1行挿入して適当な名前を付ける。
A2からA列最後まで選択、条件付書式にて
セルの値が 次の値に等しい 2 で、ご希望の書式を選ぶ。
これをシート1,2に行う。

B列を作業列に使います。
B2に下記関数を入れ、フィル。
=IF(A2=2,ADDRESS(ROW(A2),COLUMN(A2),4),"")
これをシート1,2に行う。

A1を選択してオートフィルタして「2」を選ぶ、抽出されたB列を選択コピーして好きな所へペースト。
これをシート1,2に行う。

【27549】Re:同じ番号を探したいのですが・・・・・
質問  リンゴ  - 05/8/11(木) 15:03 -

引用なし
パスワード
   ▼ちくたく さん:
>こんにちは。
>
>>Sheets(1)とSheets(2)に
>> |A   |  A
>>−|−−−−−−−
>>1 | 1  |  3
>>2 | 2  |  2
>>3 | 5  |  1
>>4 | 5  |  6
>>5 | 2  |  1
>>
>>という風になっていたとして
>>[2]となっているセルに色をつけたいのです。
>
>さらなる質問返しのようで申し訳ないのですが、
>ある条件を満たす数字が入ったセルに色を付けたいということですね?
>それなら、書式をつけたい範囲を選択して、
>メニューの[書式]/[条件付き書式]を選択してください。
>あとは、ヘルプで「条件付き書式」をひいてみてください。
>これですむならできると思いますよ。
>はずしていたらごめんなさい。

回答ありがとうございます。
条件付書式は普段より使用しているのですが
3つまでしか条件がつけれなかったと思います。
今回は、10個〜20個の条件をつけたいので
この方法では十分に対応できませんでした。

>>また、色がつけられたセルを確認するには
>>目で確認していくのを避けたいのですが
>>色をつけたセルがどこにあるか簡単に確認するには
>>どうしたらいいでしょうか。
>
>エクセルの標準機能でもできるのかもしれませんが、
>エクセルには詳しくないのでわかりません。
>マクロでやるなら、セルの色とかでIf文でひっかけて、
>Sheet(3)へ書き出しみたいな感じでできます。
>ひとまず上記の条件付き書式を確認して頂けますか?
>Sheets(3)への書き出しは、上記でよければ答えやすくなります。

Sheet3への書き出しもIFを使ってみようと試みましたが
出来ませんでした。
すみませんが、ある条件を満たすセルの書き出し方法を
教えてもらえませんか?

【27557】Re:同じ番号を探したいのですが・・・・・
回答  ちくたく  - 05/8/11(木) 17:13 -

引用なし
パスワード
   こんにちは

私はエクセルに詳しくないので、わかりませんが、
Jakaさんの意見がいいのだろうと思います。

>条件付書式は普段より使用しているのですが
>3つまでしか条件がつけれなかったと思います。
>今回は、10個〜20個の条件をつけたいので
>この方法では十分に対応できませんでした。

10〜20も条件があるのなら、
If文を自分で書けないと厳しいかと。

>Sheet3への書き出しもIFを使ってみようと試みましたが
>出来ませんでした。
>すみませんが、ある条件を満たすセルの書き出し方法を
>教えてもらえませんか?

あくまで一例ですが、べたべたに書くとこんな感じ。
これも、多分Jakaさんの言っているやり方でやれば、
もっといいのでしょう。

Sub IF文みたいな()

  Dim i As Integer
  Dim wS As Integer
  Dim findValue As Integer
  Dim nowRange As Integer
  
  'ここに探したい数を入れる
  findValue = 2
  nowRange = 1
  
  For wS = 1 To Worksheets.Count - 1
    For i = 1 To 300
      If Sheets(wS).Range("A" & i).Value = findValue Then
        Sheets(wS).Range("A" & i).Font.Color = RGB(255, 0, 0)
        
        'シート3に書き出し。
        Sheets(Worksheets.Count - 1).Range("A" & nowRange) = _
        Sheets(wS).Name & "A" & nowRange
    Next i

End Sub

9405 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free