Excel VBA質問箱 IV

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

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


28393 / 76732 ←次へ | 前へ→

【53637】Re:セル内での改行
発言  ichinose  - 08/1/27(日) 20:40 -

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

>Excelのセル内で改行しようとするとき、通常は、「Alt+Enter」で
>できますが、これを「Enter」だけで改行できるように、VBAで作ろうと
>思いました。
Excelのインターフェースを敢えて替えるなんてことは
私は、絶対にしませんけどねえ!!
(それなら仕様書でAlt+Enterという仕様をくどいくらい説明します)


当該シートモジュールに
'======================================================
Private Declare Function GetAsyncKeyState Lib _
    "User32.dll" (ByVal vKey As Long) As Long
'========================================================
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim rng As Range
  For Each rng In Target
   If key_code(13) = 13 Then
     rng.Select
     SendKeys "{F2}", True
     SendKeys "%{ENTER}", True
     End If
   Next
End Sub
'=====================================================
Function key_code(code As Long) As Long
  Dim inkey As Long
  key_code = 0
  inkey = GetAsyncKeyState(code)
  If inkey <> 0 Then key_code = code
End Function

なんてすると、Enterキー改行、
マウスで別のセルの選択やTabでは改行はしません。

参考程度に見てください。

0 hits

【53634】セル内での改行 DONPON 08/1/27(日) 16:37 質問
【53637】Re:セル内での改行 ichinose 08/1/27(日) 20:40 発言
【53658】Re:セル内での改行 DONPON 08/1/29(火) 21:50 お礼

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