No.1
- 回答日時:
一応確認ですが、下図のようなにB2セルは標準、Cセルは太字&下線これをコピーして、B4セルとC4セルと結合したところに、それぞれの書式を持ったまま貼り付けたいということですか?
それならば可能ですけど、セル数が増えると面倒かもしれません。
おっしゃったようなケースもありますが、はじめからB4セルのようなものもあります。
イメージとしてはB2、C2、B4を結合したいという感じです。
No.2ベストアンサー
- 回答日時:
>そもそもこんなこと可能なんでしょうか。
可能だと言えば可能ですが、質問者さんはどんなイメージを持っているのでしょうか。たぶん結合する範囲を選択して、それで、ボタンを押して、連結した時に、色などの書式が反映されているということになるのでしょうか。しょせん、マクロ自体は、人のやることをコード化したものだと考えると、無理なことは無理なのです。
しかし、例えば、書式のみで成立する日付などは、テキスト化しないといけません。そういう所までを、是非とも、ご自身でも考えていただきたいと、個人的には思うのです。
もうここらへんまで来ると、Excelの仕様に関わってくるので、それはもう、私個人としては、Q&Aという意義がなくなってしまうと思っています。
以下は、一例として考えてみました。(フォントのプロパティをすべて入れてはいません)
これは、また、その後に、QATのボタンにするのが一般的かとは思います。出来上がったものをコピーにまでは入れられますが、手動でペーストにすることになります。結合した所を元に戻すには、元に戻すマクロが必要になります。
'//
Private Type FontForm
'色・書体・フォント・フォントサイズ・下線・取り消し線
iColor As Long
bBold As Boolean
sFontName As String
iFontSize As Single
bUnderline As Boolean
bStrike As Boolean
End Type
Sub formatMerge()
Dim Rng As Range
Dim mFormat() As FontForm
Dim c As Range
Dim i As Long, j As Long
Dim mTxt
If TypeName(Selection) <> "Range" Then Exit Sub
Set Rng = Selection
If Rng.Cells.Count = 1 Then Exit Sub
If Rng.MergeCells Then
Rng.MergeCells = False
Exit Sub
End If
ReDim mFormat(Rng.Cells.Count - 1)
ReDim mTxt(Rng.Cells.Count - 1)
For Each c In Rng.Cells
mTxt(i) = Trim(c.Text)
With mFormat(i)
.bBold = c.Font.Bold
.iColor = c.Font.Color
.iFontSize = c.Font.Size
End With
i = i + 1
Next c
Rng.ClearContents
Rng.ClearFormats
Rng.Merge
With Rng
.Cells(1).Value = Join(mTxt, "")
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlVAlignTop
.WrapText = False
.Orientation = 0
.AddIndent = False
j = 1
For i = 0 To UBound(mTxt)
With .Characters(j, Len(mTxt(i))).Font
.Color = mFormat(i).iColor
.Size = mFormat(i).iFontSize
.Bold = mFormat(i).bBold
End With
j = j + Len(mTxt(i))
Next i
Rng(1).MergeArea.Copy
End With
End Sub
ご提示いただいたサンプルコードを参考に、なんとか実現する事が出来そうです。
> 結合する範囲を選択して、それで、ボタンを押して、連結した時に、色などの書式が反映されているということになるのでしょうか。
そのとおりです。
難しかったですが、実現のめどは立ちました。
※Charactersを使うと処理速度が異常に遅くなるようですが、致し方ないですね・・
出来る限り高速化を考えますが、望みは薄そうですね。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelで数式をそのままコピーしたい どうすればいいですか? 4 2022/09/16 02:16
- Excel(エクセル) エクセルの書式設定の表示形式で設定した文字を文字列としてコピーしたい 1 2022/12/21 10:41
- Excel(エクセル) VBA 特定の列に入っているテキストをコピペ 2 2023/06/14 11:24
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
- Excel(エクセル) Excelマクロ(VBA)CELL形式とA1形式の使い分け 6 2022/08/27 23:35
- その他(Microsoft Office) Excelの条件付き書式についての質問です。 2 2022/09/08 01:25
- Excel(エクセル) エクセルでシート保護のかかり方の違いとセルの非保護の設定 3 2022/08/09 10:02
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- Excel(エクセル) エクセルでの左のセルのコピー 3 2022/07/25 12:31
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
EXCEL VBA 文中の書式ごと複写するには
Visual Basic(VBA)
-
Excel2000/VBA:値と書式のみ貼り付けたい。
Excel(エクセル)
-
取り消し線が入った文字を削除する処理を速くしたい(VBA)
Excel(エクセル)
-
-
4
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
5
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
6
Excel 関数を使ってデータと一緒にその書式もコピーしたいのですが・・・
Excel(エクセル)
-
7
array関数で格納した配列の型を変更する
Visual Basic(VBA)
-
8
VBA Shapesの座標からセル位置取得について教えてください
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
E列のセルに数値が入れば(空白...
-
Excel にて条件付き書式の色に...
-
エクセルの枠の中の文字が青文...
-
エクセルで特定の数字等を表示...
-
条件付き書式で、結果が1行ずれる
-
エクセル 条件付き書式で色をつ...
-
条件付書式で「=#N/A」に色を付...
-
Excelの条件付き書式にて空白セ...
-
Excelのテキストボックスでフォ...
-
【エクセル】シフトで○が6個以...
-
条件付き書式で太罫線を引く方法
-
EXCELのセルへの色づけ
-
EXCELで、色つきセルだけカウン...
-
エクセル内で複数の文字(50個ぐ...
-
VBAで特定の条件のセルのみクリ...
-
エクセルで日付を入力したらカ...
-
別シートのセルの色も同じ色に...
-
条件付き書式を教えてください
-
エクセルで作った表にワンタッ...
-
エクセルの条件付き書式で*を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
E列のセルに数値が入れば(空白...
-
Excel にて条件付き書式の色に...
-
条件付書式で「=#N/A」に色を付...
-
条件付き書式で、結果が1行ずれる
-
エクセルの枠の中の文字が青文...
-
エクセルで特定の数字等を表示...
-
エクセル 条件付き書式で色をつ...
-
Excelの条件付き書式にて空白セ...
-
エクエルで隣のセルの文字が赤...
-
条件付き書式で太罫線を引く方法
-
エクセル内で複数の文字(50個ぐ...
-
セル結合させてるときの 条件...
-
Excelについて あるセルに文字...
-
Excelで2つのファイルを比較し...
-
エクセルで一定期間が経過した...
-
エクセルで1以上は全て1にするには
-
エクセルでカーソルのある行を...
-
セルの値が空白じゃないなら色...
-
【エクセル】今日の日付に赤枠...
-
エクセルで日付を入力したらカ...
おすすめ情報