-PR-
締切り
済み

Excel VB 書式設定

  • 困ってます
  • 質問No.92558
  • 閲覧数573
  • ありがとう数2
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 39% (25/64)

あるセルから別のセルに書式を一気に転記したいのですが、現状ではfontstyle、interiorcolorindex、columnwidth、rowheightなどをひとつひとつ転記しています。
これらをまとめて、ひとつのプロパティとして取得し、そのまま別のセルに設定できないのでしょうか?
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全4件)

  • 回答No.1
レベル13

ベストアンサー率 59% (729/1235)

"マクロの記録"はご存知ですか?
"マクロの記録"はご存知ですか?


  • 回答No.2
レベル9

ベストアンサー率 21% (13/60)

マクロの記録を開始して形式を指定して貼り付けから書式を選べば使えるコードが生成されますよ。(知ってると思いますが。) ...続きを読む
マクロの記録を開始して形式を指定して貼り付けから書式を選べば使えるコードが生成されますよ。(知ってると思いますが。)
補足コメント
raly-raly

お礼率 39% (25/64)

もちろん知っていますし、参考になるかと思って既にやっています。
select-copy-paste以外の、直接的なやり方がないのか知りたかったのでこの質問をしました。

2件とも同じ回答(マクロの自動生成)が来るところをみると、もしかしてこれ以外に方法がない???
投稿日時 - 2001-06-19 22:41:26
  • 回答No.3
レベル13

ベストアンサー率 68% (791/1163)

独自のStylesコレクションを定義したらどうでしょうか。
独自のStylesコレクションを定義したらどうでしょうか。
  • 回答No.4
レベル12

ベストアンサー率 65% (276/422)

どもども田吾作7です。 見てるかなー・・・見てねーだろうなー。 今7/9だもん。見てないよなー・・・ でも書いときます。 書式のコピーロジック Dim NowSelectObj As Object '現在選択されているものを記憶する Dim wkRangeA As Range 'コピー元 Dim w ...続きを読む
どもども田吾作7です。

見てるかなー・・・見てねーだろうなー。
今7/9だもん。見てないよなー・・・

でも書いときます。

書式のコピーロジック

Dim NowSelectObj As Object '現在選択されているものを記憶する

Dim wkRangeA As Range 'コピー元
Dim wkRangeB As Range '貼り付け先

'現在選択されているものを記憶する
On Error Resume Next
Set NowSelectObj = Selection
On Error GoTo 0


'書式のコピー元を設定
Set wkRangeA = Range("A1") 'Cells(1, 1)でもいい
'書式の貼り付け先を設定
Set wkRangeB = Range("B1") 'Cells(1, 2)でもいい
'もし貼り付け先が複数存在する時は、RangeとUnionをヘルプで調べてください。

'コピーする
wkRangeA.Copy

'書式だけ貼り付ける(カーソルがwkRangeBに移動する)
wkRangeB.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

'コピーモードを解除する
Application.CutCopyMode = False

'カーソルが移動してしまうので、もとの位置に戻す
If Not (NowSelectObj Is Nothing) Then
NowSelectObj.Select
End If

'それぞれ開放
Set wkRangeA = Nothing
Set wkRangeB = Nothing
Set NowSelectObj = Nothing


ってな感じでしょうか?
これはエクセルの書式のコピーをそのまま行っていますので、セルの移動が行われています。一応 NowSelectObjにて、カーソルを元の位置に戻していますが、画面のちらつきが発生する恐れがあります。そのときには
プログラムの開始時にScreen.Updating = False
プログラムの終了時にScreen.Updating = True
を記述し、画面の更新を制御してやってください。

っていうか 見てるかなー・・・・

でわでわ
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ