こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

EXCEL VBA 文中の書式ごと複写するには

EXCEL VBAのプログラミングについて教えてください。

セルA1とセルB1が結合されており、セルには「あいうえお」と入力されています。
入力された「あいうえお」の内、「いうえ」は赤文字+太字を設定したと仮定します。

その結合されたセルの文章と文字色+太字を、結合されていないA3というセルに複写する場合、
下記の様なコードを考えてみましたが、長文になると処理が遅いので知恵を貸してください。

Range("A3").Value = Range("A1").Text
For i = 1 To Len(Range("A1").Text)
  Range("A3").Characters(i, 1).Font.Color = Range("A1").Characters(i, 1).Font.Color
  Range("A3").Characters(i, 1).Font.Bold = Range("A1").Characters(i, 1).Font.Bold
Next i

よろしくお願いします。

投稿日時 - 2009-04-14 01:03:20

QNo.4877607

困ってます

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

こんにちは、

Range("a1").Copy
Range("a3").PasteSpecial xlPasteAll

で、どうでしょう。

投稿日時 - 2009-04-14 08:38:40

お礼

参考にさせて頂きました。
ありがとうございました。

投稿日時 - 2009-04-15 00:09:55

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

結合されたセルの値やその属性は一番左上のセルの値として保存されていたと思います。
なので
Range("A1").Copy Range("A3")
でいいのでは?

投稿日時 - 2009-04-14 11:50:43

ANo.2

・B3に値がなければ、一旦コピペしてから結合を解除する。
・B3に値があれば、一旦変数に取り込んでコピペし、結合を解除してからB3に代入する。
とかかな???

投稿日時 - 2009-04-14 11:16:04

あなたにオススメの質問