
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も見ています
-
EXCELにて複数列を同条件(色)で一括フィルタリングする
Excel(エクセル)
-
Excelのセルの色を変えた行(すべてのシート)を別シートに抽出したい
Excel(エクセル)
-
VBマクロ 色の付いたセルを含む行をコピーしたい。
Visual Basic(VBA)
-
-
4
エクセル:色の付いたデータをまとめて抽出したい。
Excel(エクセル)
-
5
Excel VBA で色付きのセルの値を取得する
Excel(エクセル)
-
6
複数シートの色付きセルがある行を別シートに抽出
Excel(エクセル)
-
7
複数シートに色付きセル(条件つき書式で設定済み)の行を別シートに抽出
Visual Basic(VBA)
-
8
Excelで色付けしたセルに対し対応するセル値で返す方法
Excel(エクセル)
-
9
セルに背景色がある行を別シートにコピー
その他(Microsoft Office)
-
10
Excelで数値→文字列変換で指数表示になったものをいっぺんに直したい
Excel(エクセル)
-
11
【Excel】 セルの色での判断はできますか?
Excel(エクセル)
-
12
セル色なしの行一括削除
その他(プログラミング・Web制作)
-
13
エクセルの複数列を一度にフィルターしたい。
運輸業・郵便業
-
14
色つき行の一括削除は?
Word(ワード)
-
15
VBAで色の付いているセルの行削除
Excel(エクセル)
-
16
Excel 文字列の前後に、特定の文字を付加したい
Excel(エクセル)
-
17
色付き行の非表示について
Excel(エクセル)
-
18
エクセルでマクロにてセル色と文字を他シートのセルへコピーしたい
その他(コンピューター・テクノロジー)
-
19
特定の文字がある行以外を削除するマクロ
その他(Microsoft Office)
-
20
塗りつぶしのない行を非表示にするマクロ
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル 上下で列幅を変えるには
-
[EXCEL]ボタン押す→時刻が表に...
-
Excelのフィルター後の一番上の...
-
Excel 時刻の並び替え
-
エクセルで特定の文字列が入っ...
-
結合されたセルをプルダウンの...
-
電話番号の入力方式が違うデー...
-
EXCEL VBA マクロ 別シートの...
-
エクセルマクロ オートSUM(合...
-
エクセルVBA 最終行を選んで並...
-
エクセルで、ポインタのある行...
-
特定の文字がある行以外を削除...
-
セルに値が入力されると隣りの...
-
エクセル マクロ オートフィ...
-
サイズの違うセル 並べ変え
-
このような複雑な表をワードで...
-
Excel グラフのプロットからデ...
-
excel 小さすぎて見えないセル...
-
EXCELでセルの数値をすべて小数...
-
xls:CopyFromRecordset罫線描写
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル 上下で列幅を変えるには
-
【Excel関数】UNIQUE関数で"0"...
-
Excel グラフのプロットからデ...
-
[EXCEL]ボタン押す→時刻が表に...
-
エクセル マクロで数値が変っ...
-
excel 小さすぎて見えないセル...
-
結合されたセルをプルダウンの...
-
特定の文字がある行以外を削除...
-
Excelのフィルター後の一番上の...
-
エクセル マクロ オートフィ...
-
Excelで非表示のセルをとばして...
-
エクセルで特定の文字列が入っ...
-
罫線の斜線を自動で引くマクロ
-
A1に入力された文字列と同じ文...
-
エクセルVBA 最終行を選んで並...
-
EXCELで最後の行を固定
-
Excel ウインドウ枠の固定をす...
-
Excel 時刻の並び替え
-
電話番号の入力方式が違うデー...
-
VBAで色の付いているセルの行削除
おすすめ情報