• ベストアンサー

VLOOKUP関数

複数のシートにあるデータをVLOOKUP関数で、一つのシートにまとめることができたのですが・・ それぞれの複数のシートの元のデータに黒以外の色のデータがあり、その書式(フォントの色)もまとめたシートに反映するには、どうしたらいいのでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#123709
noname#123709
回答No.4

#1です。 >VBAではどうやったらできますか? 下記に一例を提示しますが・・・。 >わかれば教えて下さい! あなたが分かるかどうかの方が気になります。さっぱり分からないのであれ ば内容を理解してから使用されるか止めておくべきかな?と思います。 回答する側はあなたの正確な状況はわかりませんので当然下記コードは修正 する必要があります。因みにVLOOKUPの内容も含んでおります。 Sub 集計() Application.ScreenUpdating = False Dim i As Long, j As Long With Sheets("sheet2") For j = 1 To .Range("A65536").End(xlUp).Row For i = 1 To Sheets("sheet1").Range("A65536").End(xlUp).Row If Sheets("sheet1").Cells(i, 1).Value = .Cells(j, 1).Value Then .Cells(j, 2).Value = Sheets("sheet1").Cells(i, 3).Value .Cells(j, 2).Font.Color = Sheets("sheet1").Cells(i, 3).Font.Color End If Next i Next j End With Application.ScreenUpdating = True End Sub

k77777
質問者

お礼

大変ありがとうございました。 少し勉強してから参考にさせていただきます!

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

#2の補足について。 関数で1つのシートにまとめたあとに、VBAで元シートのデータ を探さないとなりません。これがプログラムが面倒になる見込みです。これが不可能だったり、難しかったりします。1つのシートに流れ込んでも、元のシートが判りかつ独自性があるデータ項目でもあれば可能でしょう(たとえば全校統一生徒番号)。 ですから、それらが判らないので具体的にコードは上げられません。 VBAでやるなら、まとめるシートに持ってくるときに、フォント書式を写すので、苦労はありません(VBAコードは1行増加で済みます)。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

エクセルの「関数」は、セルの「値」を使って、計算、加工して、「値」!!を還すものです。 セルの色文字の色は、書式の情報として記録されいて、関数では処理できません。 そのほかに表・行・列の構成や状況を変える、削除、挿入、可視・不可視・幅や高さ変動などできません。 形式を選択して貼り付けの「貼り付け」に出てくる、「値」以外の入力規則やコメント・数式・書式は全て扱えません。 多分情報記録が「値」と別系統・別構成なのだと思います。 同類の質問が何度も出ますが、この原理を知っていると、質問すべきかどうか、答えがあるか、判断できます。 コピーなどの操作かVBAを使わないとできません。

k77777
質問者

補足

さっそくご丁寧にありがとうございます。 VBAではどうやったらできますか? わかれば教えて下さい! よろしくお願いします。

noname#123709
noname#123709
回答No.1

関数では無理だと思いますよ。 マクロでも組まれてはいかがですか?

k77777
質問者

補足

さっそく回答ありがとうございます。 それはどうやったらできますか? マクロのコードなどはほとんどわからないのですが・・ その式というのは、どうすればいいのでしょうか? よろしくお願いします。

関連するQ&A