ここから質問投稿すると、最大4000ポイント当たる!!!! >>

初歩的な質問かもしれませんが、表題のとおりです。

文字データが入っているセルの背景色を、
文字データはいじらずに色だけをコピーして、
別の文字データが入っている他のセルへペーストしたいのです。

コピーして「形式を選択して貼り付け」で「書式のみ」にすると
文字の書式がペーストされてしまいます。それを避けたいのです。

方法がありましたらぜひ教えてください!!

このQ&Aに関連する最新のQ&A

A 回答 (4件)

#2です。


補足を拝見して意味が解りました(フォントなど変えたくない)
確かにExcel2000でその様になりますね。

で、ふと疑問ですが、
「書式ツールバー」の「塗りつぶしの色」ボタンで背景色設定するのが
手間が掛かるからという事?ですか。

コピーしてくるのも大して代わらず手間ですよね。
右クリック左クリック・・等

実際どういう風に使うのでしょうか。
例えばですが、見積書や顧客管理や宛名整理・・など?

どういう場面で、おっしゃる質問内容をしたいのか、
もし、説明が可能であれば また回答も出来るかもしれません。
    • good
    • 0
この回答へのお礼

二度のご回答ありがとうございます。私は単純な使い道でしか使っていないです。
そうか~!書式ツールバーで色を変えるのが一番簡単で早いですね。
すいません。私は今までセルの書式設定で変えていました…。
ありがとうございました。

お礼日時:2007/02/08 22:04

セルの背景色・パターン色はセルの「書式」に含まれると思いますが


書式だけ
罫線を除く全て
などはありますが
セルのパターンだけ
は有りません。
VBAでプログラムを組んで作るよりほか内でしょう。
ただ
Interior.Color=
Interior.ColorIndex=
があり
右辺は前記はVbRed式(約10数種)、QBColor式、RGB式(多種)の指定ができるが
当初の設定時の設定(ColorIndex式(約50種)、手動設定も含め)のやり方が、色を読み取る際のコードに影響するかどうか私の不勉強であいまい。

この回答への補足

ありがとうございます。これは簡単にはいかないものだったのですね。
すいません、そういうプログラムについては全く理解できてないので、セルの書式設定で変えることにします☆

補足日時:2007/01/28 05:56
    • good
    • 1

Excel2000です。



文字データが入っているセルをコピー
任意のセルを選択
右クリック 
「形式を選択して貼付(s)」

当方、問題なくセルの色を貼付ますが、
バージョンが違いますか?

補足を下さい。

あるいは
VBAなら例えば
A2の書式をA3へコピーの場合

Sub test()
Range("A2").Copy
Range("A3").PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End Sub

この回答への補足

ありがとうございます。当方もエクセル2000です。
「形式を選択して貼り付け」にすると、希望どおり色は貼り付けられるのですが、変えたくない文字の書体や大きさまで変わってしまいます。
それで書体と大きさをもとに戻す、というのがめんどうだったので、この質問をしました。
マクロのことはさっぱりなので、申し訳ありません(>_<)

補足日時:2007/01/28 05:52
    • good
    • 0

そのような事はできません。

    • good
    • 0
この回答へのお礼

ありがとうございます!

お礼日時:2007/01/28 05:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q【Excel2007】条件付き書式の色だけコピーしたい

条件付き書式のコピーに関しての質問です。

在庫の管理でエクセルを使っていて、基準在庫、現在在庫、そして比較の3つのシートが存在しています。
基準在庫を下回った商品をわかりやすく表示するため比較シートに(現在在庫-基準在庫)を計算させて、出た値が負だった場合の条件付き書式を設定しています。

ただ現在の方法だと、条件付き書式で表示が変わるのは"比較シート"だけなので、比較シートの条件付き書式で基準在庫を下回った品目は分かっても、現在在庫シートで基準在庫を下回った商品がどれだけあるか等が判断できないので困っています。
そこで"比較シート"の条件付き書式の書式(色やフォント)だけを別のシート(現在在庫シート)にコピーしたいのですが、方法はありますでしょうか?
通常のコピー&ペーストだと条件付き書式の"条件"のコピーとなってしまって困っています。詳しい方がいましたらよろしくお願いします。

Aベストアンサー

>条件付き書式の書式(色やフォント)だけを別のシート(現在在庫シート)にコピーしたいのですが、方法はありますでしょうか?
ありません。

比較シートの内容で在庫シートの判定をするのなら1例ですが
比較シートの内容
 A      ・・・・ Z
1 ・・・・・ ・・・・ 基準在庫
2 ・・・・・ ・・・・ 100
3 商品コード ・・・・ 現在在庫
4 A200    ・・・・ 50
比較シートのZ2を「挿入」「名前」「定義」で「基準」と名付け
比較シートのA3:Z500を「挿入」「名前」「定義」で「現在」と名付け

条件付書式で
「=VLOOKUP(商品コードのセル座標,現在,16,false)<基準」で書式を設定

※上記のように範囲を名前付けすることで別シートの内容を条件にした条件付書式が作れます。

Q条件付書式設定でつけた色を残したまま条件式を解除する方法は?

エクセルで条件付書式設定を、条件に数式をいれて色付けしました。
そのセルの色表示を固定したいのですが、条件を削除してしまえば当然のことながら色表示までなくなります。

書式のコピーをしたら当然のことながら条件付書式設定まで一緒に引っ張って行ってしまいます。

なにかいい方法ご存知のかたいらっしゃいますか?

Aベストアンサー

こんばんは。Wendy02です。

このマクロは、条件付書式が、「数式が 」で設定されたものに限ります。そうでない場合、オプションを作らなくてはなりません。色は、フォントとパターンのみに対応しています。

'なるべく、標準モジュールに設定してください。
Sub FindFCondition2Format()
'条件付書式の色設定を、一般書式の色に換える
 Dim r As Range
 Dim c As Range
 Dim i As Integer
 Dim fc As Object
 On Error GoTo ErrHandler
 Set r = ActiveSheet.UsedRange.SpecialCells(xlCellTypeAllFormatConditions)
 Application.ScreenUpdating = False
 For Each c In r
  'セルを動かさないと、数式が取れない
  c.Activate
  Set fc = c.FormatConditions
  For i = 1 To fc.Count
   '判定
   On Error Resume Next
   If Evaluate(fc(i).Formula1) Then
    c.Font.Color = fc(i).Font.Color
    c.Interior.ColorIndex = fc(i).Interior.ColorIndex
   End If
    On Error GoTo 0
  Next i
  c.FormatConditions.Delete
 Next c
 Set r = Nothing
 Application.ScreenUpdating = True
 Exit Sub
ErrHandler:
 MsgBox "条件付書式が見つかりません。", vbInformation
End Sub

こんばんは。Wendy02です。

このマクロは、条件付書式が、「数式が 」で設定されたものに限ります。そうでない場合、オプションを作らなくてはなりません。色は、フォントとパターンのみに対応しています。

'なるべく、標準モジュールに設定してください。
Sub FindFCondition2Format()
'条件付書式の色設定を、一般書式の色に換える
 Dim r As Range
 Dim c As Range
 Dim i As Integer
 Dim fc As Object
 On Error GoTo ErrHandler
 Set r = ActiveSheet.UsedRange.SpecialCells(xlCellTy...続きを読む

QEXCEL(IF関数)でCELLの色を変える。

例えば、IF関数で真ならセルの色を赤色にしたり、文字の色を変えたりする関数とかはあるのでしょうか?わかりません・・・知ってる方いらっしゃれば教えて下さい。

Aベストアンサー

こんばんは。

関数ではありませんが‥

<条件付き書式>ではダメなのでしょうか?

メニュー<書式>-<条件付き書式> です。

どのような条件を想定していらっしゃるのかわかりませんが、
<条件付き書式>については↓の参考URLをご覧ください。

▽条件付き書式・その1
http://homepage1.nifty.com/kenzo30/ex_kisosyo/ex_ks_syokyu4.htm

▽条件付き書式・その2
http://homepage1.nifty.com/kenzo30/ex_kisosyo/ex_ks_syokyu5.htm

参考URL:http://homepage1.nifty.com/kenzo30/ex_kisosyo/ex_ks_syokyu4.htm

Qエクセルで値だけコピーして背景色はそのままにしたい

EXCEL2007 を使っています。選択されたセルの右下をドラッグして内容をコピーしたときにセルの背景色までコピーされてしまいます。値だけコピーして背景色や文字色はそのままにしたいのですが、どうしたらよいですか?

Aベストアンサー

》 選択されたセルの右下をドラッグして…

その操作をマウスの左クリックでなく、右クリックしたままでやってみてください。
ドラッグが終わったら一旦マウスから指を話した後で、“書式なしコピー(フィル)”を選択するのです。

Qエクセルでマクロにてセル色と文字を他シートのセルへコピーしたい

他質問者様へのご回答を検索し、自分なりに挑戦してみましたがVBA初心者の為うまくいかず、どなたかご指導いただけないでしょうか。

現在エクセルにて、sheet1のA1からA5000のセルに入力した文字と色(他書式は必要ありません)をsheet2のF1からF5000へ自動でコピーという動作を何ヶ所かしたいのですが、マクロのコードを教えて下さい。

お時間のある方、どうぞ宜しくお願いします。

Aベストアンサー

またまた登場、myRangeです。

>色のコピーが上手くいきません

「文字」の色をちゃんとコピーしてますが、
まさか「セル」の色と勘違いるのではないでしょうねぇ。
質問には、「文字」の色とありますよね。

 ●今回のサンプルでは、セルの色 にしてあります●
 

>A列をF列へ、B列をG列へ、C列をH列へという感じです。

この組み合わせが少なければ
下記のように、列を変えて必要な分だけコピーすればいいですね。

'--------------------------------------------
Sub Test3333()
Dim R As Long

Sheets("Sheet1").Select

For R = 1 To Cells(Rows.Count, "A").End(xlUp).Row
Sheets("Sheet2").Cells(R, "F").Value = Cells(R, "A").Value
Sheets("Sheet2").Cells(R, "F").Interior.ColorIndex = Cells(R, "A").Interior.ColorIndex
Next R

For R = 1 To Cells(Rows.Count, "B").End(xlUp).Row
Sheets("Sheet2").Cells(R, "G").Value = Cells(R, "B").Value
Sheets("Sheet2").Cells(R, "G").Interior.ColorIndex = Cells(R, "B").Interior.ColorIndex
Next R

For R = 1 To Cells(Rows.Count, "C").End(xlUp).Row
Sheets("Sheet2").Cells(R, "H").Value = Cells(R, "C").Value
Sheets("Sheet2").Cells(R, "H").Interior.ColorIndex = Cells(R, "C").Interior.ColorIndex
Next R

End Sub
'---------------------------------------------------


組み合わせが多ければ、また別な方法があります。
更に言えば、規則的であれば、また別な方法もあります。
が、それらは、先ず、上記サンプルのような基本的な使い方を理解してからでいいのでは、
と考えます。
以上ここまで。

またまた登場、myRangeです。

>色のコピーが上手くいきません

「文字」の色をちゃんとコピーしてますが、
まさか「セル」の色と勘違いるのではないでしょうねぇ。
質問には、「文字」の色とありますよね。

 ●今回のサンプルでは、セルの色 にしてあります●
 

>A列をF列へ、B列をG列へ、C列をH列へという感じです。

この組み合わせが少なければ
下記のように、列を変えて必要な分だけコピーすればいいですね。

'--------------------------------------------
Sub Test3333()
Dim R...続きを読む

Qエクセル・・色の着いたセルの個数を数える関数はある?

エクセルの表内で塗りつぶしされているセルだけを数える様な関数はありますか?
セルには文字や数値は入力されておらず、塗りつぶしているだけです。
よろしくお願いいたします。

Aベストアンサー

こんにちは。

ユーザー定義関数で作ってみました。Ver4 マクロ関数で十分だと私は思いますが、Ver 4 マクロ関数ではケシカランというような方?は、以下のようなVBAでの解決方法が便利かなって思います。

VB Editor の標準モジュールに貼り付けてください。(挿入-標準モジュール)

なお、一般のブックの標準モジュールのユーザー定義関数に、Public キーワードをつけたところで、グローバル関数になるわけではありませんので、もしその点に不安のある方は、マニュアル等で、確認されたほうがよいかもしれませんね。

なお、以下は、引数のインデックスに0を入れると、配列出力するようにしてあります。

'------------------------------------
Function ColorCellCount(範囲 As Range, Optional インデックス As Integer = 1, Optional パターン As Integer = 0)
  Dim myRng As Range
  Dim myIndex As Integer
  Dim myPattern As Integer
  Dim myColor() As Integer
  Dim Ret() As Double
  Dim c As Range
  Dim i As Long
  Dim j As Long
  Set myRng = 範囲
  myIndex = インデックス
  myPattern = パターン
For Each c In myRng
   On Error Resume Next
   If myPattern = 0 Then
     i = WorksheetFunction.Match(c.Interior.ColorIndex, myColor, 0)
   Else
     i = WorksheetFunction.Match(c.Font.ColorIndex, myColor, 0)
   End If
   If i = 0 Then
     ReDim Preserve myColor(j)
     ReDim Preserve Ret(j)
      If myPattern = 0 Then
       myColor(j) = c.Interior.ColorIndex
      Else
       myColor(j) = c.Font.ColorIndex
      End If
      Ret(j) = 1
     j = j + 1
     On Error GoTo 0
     Else
      Ret(i - 1) = Ret(i - 1) + 1
   End If
  Next
  If myIndex <= 0 Then
   ColorCellCount = Ret()
  ElseIf myIndex > UBound(Ret) + 1 Then
   ColorCellCount = Ret(UBound(Ret()))
   Else
   ColorCellCount = Ret(myIndex - 1)
  End If
  Set myRng = Nothing
End Function

ワークシート上での使い方は、

A列
色付き
色なし
色なし
色付き
色付き

=ColorCellCount(A1:A5, 1 )

とすれば、上から数えて、1番目の色のセルの数が出ます。

=ColorCellCount(A1:A5, 2 )
を入れれば、色なしのセルの数が出ます。

=SUMPRODUCT(ColorCellCount(A1:A5, 0 ))

とすれば、全部の合計が出ます。

なお、
=ColorCellCount(A1:A5,1,1)

とすれば、文字の色を数えます。

こんにちは。

ユーザー定義関数で作ってみました。Ver4 マクロ関数で十分だと私は思いますが、Ver 4 マクロ関数ではケシカランというような方?は、以下のようなVBAでの解決方法が便利かなって思います。

VB Editor の標準モジュールに貼り付けてください。(挿入-標準モジュール)

なお、一般のブックの標準モジュールのユーザー定義関数に、Public キーワードをつけたところで、グローバル関数になるわけではありませんので、もしその点に不安のある方は、マニュアル等で、確認されたほうがよいかもし...続きを読む

Qエクセル 別シートへのコピーを,セルの色や太字斜体までやりたい。

T関数を使って,シート1からシート2へ同じ文字をコピーしています。
その時に,そのセルの色や,太字,斜体などは,コピーすることができませんよね。なんとか,そのセルの色や太字,斜体などもコピーしたいのですが,そんなことは可能でしょうか。お教えください。

Aベストアンサー

残念ながら、一般関数ではセルの属性そのものを取り入れることはできません。
#1さんのおっしゃるように、いわゆるコピペしか方法はありません。

どうしてもということでしたら、VBAの世界です。
Sheet1 の A1 を Sheet2 の B3 にコピーする場合、マクロ自動記録機能を使えば、
次のようなマクロが取得できます。
Sub Macro1()
Sheets("Sheet1").Select
Range("A1").Select
Selection.Copy
Sheets("Sheet2").Select
Range("B3").Select
Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub

これを応用して――
Sub Macro1()
Sheets("Sheet1").Select
ActiveCell.Copy
Sheets("Sheet2").Select
ActiveCell.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub

とすれば――
Sheet1 のコピー元セルをクリックしてから Sheet2 のコピー先のセルをクリックし、このマクロを実行することによって、コピー元のすべての情報がコピー先セルに引き継がれます。
Sheet2 にマクロボタンを作成し、このマクロを登録しておけば処理も簡単ですね。

残念ながら、一般関数ではセルの属性そのものを取り入れることはできません。
#1さんのおっしゃるように、いわゆるコピペしか方法はありません。

どうしてもということでしたら、VBAの世界です。
Sheet1 の A1 を Sheet2 の B3 にコピーする場合、マクロ自動記録機能を使えば、
次のようなマクロが取得できます。
Sub Macro1()
Sheets("Sheet1").Select
Range("A1").Select
Selection.Copy
Sheets("Sheet2").Select
Range("B3").Select
Selection.PasteSpecial Paste:=xlAll, Operation:=x...続きを読む

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Qエクセルで打ち込んだ数字を自動で別シートに表示したい

エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。

例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。

また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

Aベストアンサー

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コピー&リンク貼り付けを使うと便利です。

例)例)シート1のC1~C5に何かを入力したら、
  シート2のD2~D7にシート1で打ち込んだものが自動で表示される

  シート1にあるコピー元のセルを範囲選択して、
  シート2のD2の上で「右クリック」⇒「形式を選択して貼り付け」
  をクリックします。

  そして出てきた小さな画面の左下にある「リンク貼り付け」という
  ボタンをクリックすると完成です。
  試してみてください。。

  念のためにリンク貼り付けを図解しているURLを載せておきます。
  参考にしてみてくださいね。。
  http://www.geocities.jp/office_inoue/excel/eq21.htm

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コ...続きを読む

Qエクセルで重複しているデータの抽出のしかたを教えてください。

エクセルで重複しているデータを抽出したいのですが・・。なにぶん初心者なもので簡単な方法があればよいのですが・・。
A列に日付 B列に企業名このデータが300件ほどあります。

 Å列      B列
1月 1日    AAAA社
1月 4日   BBBB社
1月 8日   CCCC社
2月 1日   BBBB社
2月20日    DDDD社
3月 2日   AAAA社

と、あるとしてB列の企業名が重複しているものを抽出したいのですが・・・。この場合 AAAA社とBBBB社ですが。
これを簡単に抽出する方法はないでしょうか?
教えてください お願いいたします。

Aベストアンサー

企業名がセルB2からセルB300まで入力されていると仮定します。
セルC2に IF(COUNTIF($B$2:B2,B2)>1,"*","") を入力し、セルC300までコピーして下さい。すると重複したデータの二番目以降に "*" のマークが付きます。
(注) 数式を下のセルまでコピーするため、COUNTIF($B$2 は絶対参照にして下さい。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング