
No.2ベストアンサー
- 回答日時:
"H列”を見落としてました。
↓でお試しください。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value Like "*" & vbLf & "*" And Target.Column = 8 Then
MsgBox "H列かつセル内改行あり"
End If
End Sub
No.7
- 回答日時:
これはVBAでなくても、データー入力規則ーユーザー設定ー =ISERROR(FIND(CHAR(10),A1)) でできることです。
ですからそれをマクロの記録をとったものを下記に挙げておきます。
Sub Macro1()
With Range("A:A").Validation
.Delete
.Add Type:=xlValidateCustom, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=ISERROR(FIND(CHAR(10),A1))"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = "セル内改行禁止"
.IMEMode = xlIMEModeNoControl
.ShowInput = True
.ShowError = True
End With
End Sub
A列の例ですから、H列なら With Range("H:H").Validation
と変えます。
No.5
- 回答日時:
入力時(コピー&ペースト)ということなら下記で強制的に改行を解除できます。
Private Sub Worksheet_Change(ByVal Target As Range)
For Each RG In Target
If RG.Column = 8 Then
If InStr(1, RG.Value, Chr(10)) > 0 Then
MsgBox "セル" & RG.Address & "に改行を取り消します。", , "改行禁止"
RG.Value = Replace(RG.Value, Chr(10), "")
End If
End If
Next RG
End Sub
この回答へのお礼
お礼日時:2008/02/05 09:52
出来ました!
今回は改行を解除しないでメッセージだけ表示したかったのですが、
こちらもとても役に立ちそうです。
ありがとうございました。
No.4
- 回答日時:
ちょっと仕様が変更して、
改行コード Vblfが
当該シートの H列に入力されると エラーメッセージを表示した後に、
改行コードを削除します。
ぐらいの使用にした方が簡単だと思いますが、いかがですか?
これでよいなら、
当該シートのモジュールに
'=======================================================
Private Sub Worksheet_Change(ByVal Target As Range)
Dim trng As Range
Dim crng As Range
Set trng = Application.Intersect(Target, Range("h:h"))
If Not trng Is Nothing Then
Application.EnableEvents = False
For Each crng In trng
If InStr(crng, vbLf) Then
MsgBox "改行はできません"
With crng
.Value = Replace(crng.Value, vbLf, "")
End With
End If
crng.WrapText = False
Next
Application.EnableEvents = True
End If
End Sub
として、H列に入力して試してみて下さい。
No.3
- 回答日時:
シートモジュールに貼り付けてください。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim myrng As Range
For Each myrng In Target
If myrng.Column = 8 Then
If InStr(myrng.Value, Chr(10)) > 0 Then
MsgBox "セル内改行禁止"
End If
End If
Next myrng
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Chr(13)とChr(10)の違いは?
-
【エクセル】セル最後にある無...
-
エクセルでセル内改行の複数行...
-
wordで均等割り付けをするとき...
-
Excel VBAで改行を含めたセルの...
-
VBA フォームのテキストボック...
-
パワーポイントのテキストボックス
-
メールに添付する写真を並列さ...
-
EXCEL(VBA) 末尾の改行のみ削...
-
履歴書の志望動機の所で、「ま...
-
Tera Term のマクロでの改行コ...
-
棒グラフ 横軸の縦書き2列にし...
-
いつも、LINEとかで変なところ...
-
PDFの改行URLを有効にす...
-
Excel、VBA、1行中複数セルに...
-
Accessにインポートしようとす...
-
イミディエイトウインドウの最...
-
wordの何も書かれていない2ペー...
-
EXCELで"-"で勝手に自動改行し...
-
バッチで指定ファイルの文末に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Chr(13)とChr(10)の違いは?
-
wordで均等割り付けをするとき...
-
SJISで、全角文字Aの文字コード...
-
パワーポイントのテキストボックス
-
VBA フォームのテキストボック...
-
エクセル
-
エクセルでセル内改行の複数行...
-
PDFの改行URLを有効にす...
-
Word 途中で勝手に改行してしま...
-
【エクセル】セル最後にある無...
-
棒グラフ 横軸の縦書き2列にし...
-
Tera Term のマクロでの改行コ...
-
Excel VBAで改行を含めたセルの...
-
バッチで指定ファイルの文末に...
-
履歴書の志望動機の所で、「ま...
-
Excel セル内の最初と最後の改...
-
メールに添付する写真を並列さ...
-
excelで勝手に改行されます
-
短歌が1行で収まらない場合、...
-
Wordで原稿用紙設定の時に、ペ...
おすすめ情報