• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel VBA)

Excel VBAのテキストを片手に色々試しています!コピー元の文字と書式を反映する方法は?

このQ&Aのポイント
  • Excel VBAのテキストを片手に色々試しています。セルをダブルクリックしたときに実行するマクロを作成しましたが、書式が崩れる問題があります。コピー元の文字と書式を反映する方法を教えてください。
  • Excel VBAのテキストを使って色々な試行錯誤をしています。セルをダブルクリックした際に実行するマクロを作成しましたが、書式が崩れる問題が発生しています。コピー元の文字と書式を反映する方法を教えていただけますか?
  • Excel VBAでテキストを試している最中です。セルをダブルクリックした際に実行するマクロを作成しましたが、書式が崩れてしまう問題があります。コピー元の文字と書式を正しく反映させる方法を教えてください。

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

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

COPYを行うと、セルがコピーされるからです。 値だけでよいのであれば、=を使います。 Target.Value = Worksheets("コピー元").Range("A2").Value

tanpopo199
質問者

お礼

ありがとうございます。言われてみるとコピーしてますね。 ただ、VB初心者なので疑問に思うことはあっても修正することが出来ず困ってしまいます。答えていただいたついでに、ダブルクリックで太字にしたり文字の色を変えたりする場合はどうしたらよいのでしょうか?色々試したのですがうまくいきません。スミマセン。

その他の回答 (1)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

> ダブルクリックで太字にしたり文字の色を変えたりする場合はどうしたらよいのでしょうか? ダブルクリックイベントはすでにWorksheets("コピー元")からのデータ転記で使っていますので、さらに別に書くとエラーになるはずです。 以下は、空白のセルでダブルクリックしたらコピー元のデータを表示し、空白以外のセルでダブルクリックしたら太字&赤色に変える例です。 Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) Cancel = True With Target If .Value = "" Then .Value = Sheets("コピー元").Range("A2").Value Else .Font.Bold = True .Font.ColorIndex = 3 End If End With End Sub

tanpopo199
質問者

お礼

ありがとうございました。色々と教えていただいて少しずつわかってきたような気がします。そこでもうちょっと質問なんですが…。 If .Value = "" Then .Value = Sheets("コピー元").Range("A2").Value Else の Then と Else の意味を教えてください。初歩的ですがスミマセン。

tanpopo199
質問者

補足

すみません。この質問を除いた方。本当に基本的なことでした。調べたらわかりました。簡単なことでした。

関連するQ&A