
No.8ベストアンサー
- 回答日時:
やはりフォントではなくセルの色だったんですね。
とんだ回り道をしてしまいました。で、こんどは新条件登場ですか。
確認です。
データはZ列以降には入っていませんね?
データは4001行以降には入っていませんね?
A~D列のどれか一つでもセルに色がある行は抽出するのですね?
そうであれば以下で試してください。
今度は、上記の条件に合致するものを並べ替えで上にもってくるやり方です。
Sub IROTEST3()
For i = 1 To 4000
For x = 1 To 4
If Cells(i, x).Interior.ColorIndex <> xlNone Then Cells(i, 27).Value = 1
Next x
Next i
Range("A1:AA4000").Select
Selection.Sort Key1:=Range("AA1"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin
Range("AA:AA").ClearContents
End Sub
この回答への補足
ヤッター!大成功です。ほんとに遠回りさせてしまいました。説明不足ですみませんでした。さあ仕事頑張るぞー!これを機に未知のVBA?マクロ?を少し勉強してみようかなあと・・・でもさっぱり???です。皆さんはどのようにして覚えていかれたのでしょう?ほんとにありがとうございました。
補足日時:2004/04/21 14:18No.7
- 回答日時:
No2~5です。
行の色って、ひょっとしてフォントではなくセルの色のことですか?!
それだったらとんだ勘違いをしていました。
以下は、セルに色をつけてあるものだけをB列に転記するVBAです。
Sub IROTEST2()
n = 1
For Each c In Range("A1:A4000")
If c.Interior.ColorIndex <> xlNone Then
Cells(n, 2).Value = c.Value
n = n + 1
End If
Next
End Sub
この回答への補足
ごめんなさい返信がおそくなりました。あの~NO7で成功はしましたが・・・私の説明が少なかったですのでもう一度お願いいたします。一行にはデータがY列まで入ってます。Y列までの内、色はABCD列につけてます。この結果ではB列にA列の色つきのデータのみが順次表示されB列からは結果以前のデータで結果的にはデータが狂ってしまいます最初の質問的には成功だと思いますがA列からY列まですべてが順次移動できるようにはできないでしょうか?よろしくお願いいたします。ペコリ
補足日時:2004/04/21 11:47No.6
- 回答日時:
同じくVBAですが、色を付けていない行を削除する方法でどうでしょう。
色は、文字色ではなく、パターン(セルの色付き)の方で考えています。(1)シートのコピーをする。
(2)下記を実行する。
Sub test03()
cl = "n"
For i = 20 To 1 Step -1
For j = 1 To 10
If Cells(i, j).Interior.ColorIndex = 6 Then
cl = "y"
Else
End If
Next j
If cl = "n" Then
Rows(i).EntireRow.Delete
End If
cl = "n"
Next i
End Sub
色付きのセルの行のみ残ります。
(注意)For i = 20 To 1 Step -1の20は最下行の行数
で置き変える。また
For j = 1 To 10の10は列番号の左(A列)より何番目までデータがあるかで変える。J列までなら10、O列までなら15に変える。
色付きであるなら、
If Cells(i, j).Interior.ColorIndex = 6 Thenは
If Cells(i, j).Interior.ColorIndex <> xlAutomatic
Thenにする。
この回答への補足
回答ありがとうございます。知識がなにもなくて説明のとおり20を4000(行)に10を25(Y列)にその下の行は最後の説明をコピペしてマクロの実行をしましたが何も変わらなかったです。再度教えてください。お願いいたします
補足日時:2004/04/21 13:46先ほど新たにお願いをいたしましたがshiShishishiさんの回答で解決いたしましたので締め切りたいと思います。ありがとうございました。また教えてください。
No.5
- 回答日時:
了解です。
黄色以外の「色なし」とは「自動」ということですね?それならこれでどうだあ~っ。
もちろんNo5のみのコピペでいいですよ。
前にコピペしたのは消してくださいね。
だんだん自信がなくなってきました。(笑)
Sub IROTEST()
n = 1
For Each c In Range("A1:A4000")
If c.Font.ColorIndex <> xlAutomatic Then
Cells(n, 2).Value = c.Value
n = n + 1
End If
Next
End Sub
No.3
- 回答日時:
>A列がそっくりB列にコピーされただけ
おや、それはこまりましたね。
でもVBAが動いたことだけは確認できました。(笑)
それではこれで試してください。フォントはただの黄色なんですね?
それからさっきのではA列を上から下まで見るので時間がかかりすぎますね。とりあえず500行めまでにしてみましたが、もっとデータがあるのであればA500を変えてください。
Sub irotest()
n = 1
For Each c In Range("A1:A500")
If c.Font.ColorIndex = 6 Then
Cells(n, 2).Value = c.Value
n = n + 1
End If
Next
End Sub
この回答への補足
行は4000あるので500を4000に変えて実行しましたが今回は変化なしでした。no3のみのコピペでよかったのですよね。色は他につけてたところは色ナシにして黄色のみにしたのですが・・・すみませんまたよろしくお願いいたします。
補足日時:2004/04/19 16:19No.2
- 回答日時:
お急ぎということなので、VBAでの一発回答を。
A列にデータが入っていて、その中の色つきのセルのデータのみB列の上から順番に表示させる方法です。
失敗するとまずいのでまずはバックアップをとってからテストしてみてください。
1.Alt + F11
または、[ツール] メニューの [マクロ] をポイントし、 Visual Basic Editorをクリックします。
2.Visual Basic Editor ウィンドウのメニューから、
[挿入]→[標準モジュール] をクリックします。
3.表示されたコードウィンドウに以下のマクロコード(SubからEnd Subまで)をコピペします。
4.ワークシートに戻り、[ツール] メニューの [マクロ] →「マクロ」で今貼り付けたマクロ名(irotest)を選択して、実行。
Sub irotest()
n = 1
For Each c In Range("A:A")
If c.Font.ColorIndex <> 0 Then
Cells(n, 2).Value = c.Value
n = n + 1
End If
Next
End Sub
この回答への補足
実はマクロもVBAも全く知識なく一応コピペでA列に色つきを移動させて実行してみましたがA列がそっくりB列にコピーされただけで上から順番にも表示されませんでした。どこが悪かったのでしょうかよろしければ再度お願いいたします
補足日時:2004/04/19 14:11No.1
- 回答日時:
【エクセル技道場】
http://www2.odn.ne.jp/excel/
上記から名前定義の23名前定義で4.0マクロ関数を使う
を参照してください
これでなければVBAになると思います。
参考URL:http://www2.odn.ne.jp/excel/
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
エクセル:色の付いたデータをまとめて抽出したい。
Excel(エクセル)
-
VBマクロ 色の付いたセルを含む行をコピーしたい。
Visual Basic(VBA)
-
複数シートの色付きセルがある行を別シートに抽出
Excel(エクセル)
-
-
4
エクセルで色の付いたセルを抽出したいです
Excel(エクセル)
-
5
セルに背景色がある行を別シートにコピー
その他(Microsoft Office)
-
6
EXCELにて複数列を同条件(色)で一括フィルタリングする
Excel(エクセル)
-
7
VBAで色の付いているセルの行削除
Excel(エクセル)
-
8
Excelで色付けしたセルに対し対応するセル値で返す方法
Excel(エクセル)
-
9
エクセル 色のついた行番号を取得する
Excel(エクセル)
-
10
セル色なしの行一括削除
その他(プログラミング・Web制作)
-
11
エクセルでマクロにてセル色と文字を他シートのセルへコピーしたい
その他(コンピューター・テクノロジー)
-
12
Excel VBA で色付きのセルの値を取得する
Excel(エクセル)
-
13
エクセルの色も=イコールできますか?
Windows Me・NT・2000
-
14
特定の色のついたセルを削除
Visual Basic(VBA)
-
15
Excel 書式を関数で判断。
Excel(エクセル)
-
16
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
17
背景色の有無を判断をして別のセルに「1」と入力
Excel(エクセル)
-
18
エクセル 条件付き書式で色をつけたセルの個数を数えたいです。 ネットで調べてcountcolorAも
Excel(エクセル)
-
19
excelのCOUNTIF関数で、『範囲=色のついたセル』に設定したいです。
Excel(エクセル)
-
20
【Excel】 セルの色での判断はできますか?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
AのセルとB行を比較して、一致...
-
5
[EXCEL]ボタン押す→時刻が表に...
-
6
Excel グラフのプロットからデ...
-
7
直近の5個の平均を求めたい
-
8
エクセルで特定の文字列が入っ...
-
9
特定の文字がある行以外を削除...
-
10
excelのデータで色つき行の抽出...
-
11
アクティブになっている行をマ...
-
12
エクセルVBA 最終行を選んで並...
-
13
excel 小さすぎて見えないセル...
-
14
Excel 時刻の並び替え
-
15
VBAで「Shift+ctrl+↓」のような...
-
16
EXCELで最後の行を固定
-
17
セルの色によって条件文をつけ...
-
18
エクセル2016で時間を入力して...
-
19
エクセル 上下で列幅を変えるには
-
20
Excelのフィルター後の一番上の...
おすすめ情報
公式facebook
公式twitter