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.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
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.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.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
と変えます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA横データを縦にしたいです 2 2023/08/08 19:38
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2023/01/20 14:36
- Visual Basic(VBA) 該当セルに行替えを含むデータを命令文に入れて、2行に表示したい。 5 2023/07/20 11:51
- Visual Basic(VBA) vbaの計算 if elseと範囲について 6 2022/11/26 01:49
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
wordの何も書かれていない2ペー...
-
【Microsoft OneNote→Google Ke...
-
履歴書の志望動機の所で、「ま...
-
せりふが長いときのかぎかっこ...
-
wordで均等割り付けをするとき...
-
PDFの改行URLを有効にす...
-
エクセルで複数セルをひとつの...
-
パワーポイントのテキストボックス
-
TeraPadで改行が
-
400~800字程度といわれれば?
-
短歌が1行で収まらない場合、...
-
instagramの原稿を打ってる時は...
-
Accessにインポートしようとす...
-
Chr(13)とChr(10)の違いは?
-
Word 途中で勝手に改行してしま...
-
excelで勝手に改行されます
-
セル内改行をそんままテキスト...
-
新聞一面コラム
-
CommandButtonのCaption(複数行...
-
text変換時、行末以外以外で改...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
wordの何も書かれていない2ペー...
-
Chr(13)とChr(10)の違いは?
-
【エクセル】セル最後にある無...
-
wordで均等割り付けをするとき...
-
履歴書の志望動機の所で、「ま...
-
PDFの改行URLを有効にす...
-
Accessにインポートしようとす...
-
excelで勝手に改行されます
-
EXCELで"-"で勝手に自動改行し...
-
棒グラフ 横軸の縦書き2列にし...
-
Tera Term のマクロでの改行コ...
-
PCの表示の文書をコピーすると?
-
イミディエイトウインドウの最...
-
EXCEL(VBA) 末尾の改行のみ削...
-
バッチで指定ファイルの文末に...
-
Excel セル内の最初と最後の改...
-
パワーポイントのテキストボックス
-
パワーポイントのリンク管理に...
-
Word 途中で勝手に改行してしま...
-
エクセルでセル内改行の複数行...
おすすめ情報