Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11411 / 13645 ツリー ←次へ | 前へ→

【16239】コメント機能について まり 04/7/21(水) 19:28 質問[未読]
【16240】Re:コメント機能について ichinose 04/7/21(水) 20:00 回答[未読]
【16242】Re:コメント機能について まり 04/7/21(水) 22:46 お礼[未読]
【16245】Re:コメント機能について Asaki 04/7/22(木) 0:23 回答[未読]
【16246】Re:コメント機能について ichinose 04/7/22(木) 1:15 発言[未読]
【16250】Re:コメント機能について Asaki 04/7/22(木) 10:47 発言[未読]
【16248】Re:コメント機能について まり 04/7/22(木) 9:34 お礼[未読]

【16239】コメント機能について
質問  まり  - 04/7/21(水) 19:28 -

引用なし
パスワード
   EXCELのコメント機能について質問です。

G1のセルに書き込まれている内容を全てF1に表示させたいのですが、
G1に書き込まれている文章に“改行”“スペース”が含まれているため
コメントが全部表示されません。

コメント枠のサイズを自動変更する方法があれば教えていただきたいのですが。

---↓コメントを表示するプログラムは以下のように書きました↓------------------

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim i As Integer
Dim n As Integer
n = 5
'
Do
 n = n + 2
 If Target.Column = n Then ' 入力列番号 A列=1,
  '         ここ ↓ がコメントの列番号
  With Cells(Target.Row, n - 1)
    .ClearComments
    If Target.Text = "" Then
      Exit Sub
    End If
  End With
 End If
 If n >= 59 Then
  Exit Do
 End If
Loop
End Sub
-------------------------------------------------------------------

よろしくお願いします。

【16240】Re:コメント機能について
回答  ichinose  - 04/7/21(水) 20:00 -

引用なし
パスワード
   ▼まり さん:
こんばんは。


>EXCELのコメント機能について質問です。
>
>G1のセルに書き込まれている内容を全てF1に表示させたいのですが、

>G1に書き込まれている文章に“改行”“スペース”が含まれているため
>コメントが全部表示されません。

セルG1の内容は、書き込まれている全ての内容が表示されている状態にセルの列幅及び、行幅が設定されていればの話ですが、コメント枠もセルの大きさに合わせてしまう
方法ではいかがですか?
以下は、セルG1に書き込まれている内容をセルF1のコメントとして表示する例です。

'=============================================================
Sub main()
  Dim cmt As Comment
  With Range("f1")
   On Error Resume Next
   .Comment.Delete
   On Error GoTo 0
   Set cmt = .AddComment(Range("g1").Text)
   With cmt
    .Shape.Height = Range("g1").Height
    .Shape.Width = Range("g1").Width
    .Shape.TextFrame.Characters.Font.Size = Range("g1").Font.Size
    End With
   End With
End Sub

確認して下さい。


>
>コメント枠のサイズを自動変更する方法があれば教えていただきたいのですが。
>
>---↓コメントを表示するプログラムは以下のように書きました↓------------------
>
>Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
>Dim i As Integer
>Dim n As Integer
>n = 5
>'
>Do
> n = n + 2
> If Target.Column = n Then ' 入力列番号 A列=1,
>  '         ここ ↓ がコメントの列番号
>  With Cells(Target.Row, n - 1)
>    .ClearComments
>    If Target.Text = "" Then
>      Exit Sub
>    End If
>  End With
> End If
> If n >= 59 Then
>  Exit Do
> End If
>Loop
>End Sub
>-------------------------------------------------------------------
>
>よろしくお願いします。

【16242】Re:コメント機能について
お礼  まり  - 04/7/21(水) 22:46 -

引用なし
パスワード
   ▼ichinose さん:


ご丁寧な回答ありがとうございます。

>セルG1の内容は、書き込まれている全ての内容が表示されている状態にセルの列幅及び、行幅が設定されていればの話ですが、コメント枠もセルの大きさに合わせてしまう
>方法ではいかがですか?

セルG1に書き込まれている内容が多いため、
その列幅および行幅が全て表示されるように設定していません。

他に方法はないでしょうか??


>▼まり さん:
>こんばんは。
>
>
>>EXCELのコメント機能について質問です。
>>
>>G1のセルに書き込まれている内容を全てF1に表示させたいのですが、
>
>>G1に書き込まれている文章に“改行”“スペース”が含まれているため
>>コメントが全部表示されません。
>
>セルG1の内容は、書き込まれている全ての内容が表示されている状態にセルの列幅及び、行幅が設定されていればの話ですが、コメント枠もセルの大きさに合わせてしまう
>方法ではいかがですか?
>以下は、セルG1に書き込まれている内容をセルF1のコメントとして表示する例です。
>
>'=============================================================
>Sub main()
>  Dim cmt As Comment
>  With Range("f1")
>   On Error Resume Next
>   .Comment.Delete
>   On Error GoTo 0
>   Set cmt = .AddComment(Range("g1").Text)
>   With cmt
>    .Shape.Height = Range("g1").Height
>    .Shape.Width = Range("g1").Width
>    .Shape.TextFrame.Characters.Font.Size = Range("g1").Font.Size
>    End With
>   End With
>End Sub
>
>確認して下さい。
>
>
>>
>>コメント枠のサイズを自動変更する方法があれば教えていただきたいのですが。
>>
>>---↓コメントを表示するプログラムは以下のように書きました↓------------------
>>
>>Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
>>Dim i As Integer
>>Dim n As Integer
>>n = 5
>>'
>>Do
>> n = n + 2
>> If Target.Column = n Then ' 入力列番号 A列=1,
>>  '         ここ ↓ がコメントの列番号
>>  With Cells(Target.Row, n - 1)
>>    .ClearComments
>>    If Target.Text = "" Then
>>      Exit Sub
>>    End If
>>  End With
>> End If
>> If n >= 59 Then
>>  Exit Do
>> End If
>>Loop
>>End Sub
>>-------------------------------------------------------------------
>>
>>よろしくお願いします。

【16245】Re:コメント機能について
回答  Asaki  - 04/7/22(木) 0:23 -

引用なし
パスワード
   こんばんは。

ichinose さんのコードをお借りして。
↓こういうのでしょうか?

Sub test()
  With Range("F1")
On Error Resume Next
    .Comment.Delete
On Error GoTo 0
    .AddComment(Range("G1").Text).Shape.DrawingObject.AutoSize = True
  End With
End Sub

【16246】Re:コメント機能について
発言  ichinose  - 04/7/22(木) 1:15 -

引用なし
パスワード
   ▼Asaki さん:
こんばんは。
DrawingObjectは非表示オブシェクトだし、私はあまり使わないので
気がつきませんでした(メモメモ)!!

で、これ見て同じだけど気がつきました。

>Sub test()
>  With Range("F1")
>On Error Resume Next
>    .Comment.Delete
>On Error GoTo 0
>    .AddComment(Range("G1").Text).Shape.DrawingObject.AutoSize = True
'    .AddComment(Range("G1").Text).Shape.TextFrame.AutoSize = True

>  End With
>End Sub

ありがとうございます。

【16248】Re:コメント機能について
お礼  まり  - 04/7/22(木) 9:34 -

引用なし
パスワード
   ▼Asaki さん:

ありがとうございました。
セルの内容を全て表示させることができました。


>こんばんは。
>
>ichinose さんのコードをお借りして。
>↓こういうのでしょうか?
>
>Sub test()
>  With Range("F1")
>On Error Resume Next
>    .Comment.Delete
>On Error GoTo 0
>    .AddComment(Range("G1").Text).Shape.DrawingObject.AutoSize = True
>  End With
>End Sub

【16250】Re:コメント機能について
発言  Asaki  - 04/7/22(木) 10:47 -

引用なし
パスワード
   ichinose さん、こんにちは。

>.AddComment(Range("G1").Text).Shape.TextFrame.AutoSize = True
ちゃんと隠しでないオブジェクトでいけたんですね。(^_^ゞ
勉強になります。m(_ _)m

11411 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free