いつもお世話になっております。
エクセルでVBAを使いユーザーフォームのテキストボックスで
文章入力をしようと思っているのですが、少しトラブルがありましたのでお教え願います。
エクセルシートの横がa~k、縦を9~34までのシートを結合して
その中にテキストボックスで入力した文章を入れるように作っています。
MultiLineとEnterKeyBehaviorをTrueにして
Private Sub CommandButton1_Click()
Unload Me
End Sub
Private Sub TextBox1_Change()
Sheets("sheet1").Range("a9") = UserForm1.TextBox1
End Sub
Private Sub UserForm_Initialize()
TextBox1.Value = Range("a9").Value
End Sub
Private Sub UserForm_Activate()
With Me
.Left = Application.Left
.Top = Application.Top
.Left = .Left + 350
.Top = .Top + 80
End With
End Sub
という状態になっているのですが、文章を入力して16行目で改行するとシートの方で「#VALUE!」と出てきてしまうので一旦ユーザーフォームを閉じてもう一度フォームを立ち上げると
「実行時エラー’-2147352571(80020005) Valueプロパティが設定できません。種類が一致しません。」
と出てきます。
デバッグすると
Private Sub CommandButton1_Click()
→ UserForm1.Show
End Sub
と出てきます。
なにがおかしいのでしょうか?
今回初めてVBAを作っているので初歩的な間違いかもしれませんがよろしくお願いします
No.1ベストアンサー
- 回答日時:
追体験しましたが、質問のようになりませんでした。
とりあえず報告します。>横がa~k、縦を9~34までのシートを結合して
横方向にA列からk列、縦方向に第9行から第32行まで、セルを
(シートでなく)結合しているでしょう。
ーー
文章でも何がやりたいか、主なるものを書き添えてください。
今回はセルに入力しないでテキストボックスに入力して、セルの値にしたい、ですね。
ーー
私がやったら、質問の状況になりませんでした。(セル結合は小範囲でテストしましたが)
1行が長い文章でしょうか。
ーー
それで
消去法で
(1)セル結合をやめる
(2)Private Sub UserForm_Activate()
をやめる。課題の本質と関係ないと思うので。
(3)Private Sub UserForm_Activate()
をやめる
(4)1行を短い文章にして、16行目で同じになるか。
をやって、どうなるか見てはどうでしょう。
ご回答有難う御座います。
原因が解りました!
16行目 ではなく 255文字以上入力すると Value となっていました。
たまたま16行目が256文字目だった訳です・・・
で、
Private Sub TextBox1_Change()
Sheets("sheet1").Range("a9") = UserForm1.TextBox1
End Sub
の= UserForm1.TextBox1を= UserForm1.TextBox1.text
にしたら解決しました。
文字制限があったなんて知りませんでしたw
有難う御座いました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- PowerPoint(パワーポイント) ExcelのVBAコードについて教えてください。 3 2022/05/25 14:32
- Visual Basic(VBA) Excel VBA ユーザーフォーム1のコンボボックスに別ブックの値を反映させたいです。 6 2023/03/21 16:12
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/05/26 17:19
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Rangeメソッドは失敗しました。...
-
エクセルで、勤務表から 日付...
-
シート参照で変数を使いたい(EX...
-
エクセルのセルに、マウスで選...
-
自動で複数セルの内容をシート...
-
エクセルで1月0日と表示される!!
-
エクセル A8と同じシート名のG...
-
ExcelでTODAY関数を更新させな...
-
エクセルで20万行あるシート...
-
日付が未入力の際はゼロか、空...
-
セルの値と同じ名前のシートを...
-
エクセルで他のシートを動的に...
-
エクセルVBA テキストボックス
-
Excelシートの保護時にデータの...
-
Excelの「0」だけ非表示、小数...
-
VBAで変数に関数式の結果をセッ...
-
excelでハイパーリンクになって...
-
Excelでスクロールすると文字が...
-
マクロ 貼り付け先のセルを変...
-
(Excel)あるセルに文字を入力...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの「0」だけ非表示、小数...
-
日付が未入力の際はゼロか、空...
-
エクセルで条件に一致したセル...
-
エクセルで1月0日と表示される!!
-
(Excel)あるセルに文字を入力...
-
別シートのセルを絶対参照にする
-
Rangeメソッドは失敗しました。...
-
Excelシートの保護時にデータの...
-
複数シートの同じセル内容を1シ...
-
エクセルで、加筆修正したセル...
-
シート参照で変数を使いたい(EX...
-
エクセルで複写のように自動入...
-
Excelで複数シートの選択セルを...
-
INDIRECTを使わず excelで複数...
-
ExcelでTODAY関数を更新させな...
-
式の説明をお願いします。
-
excelでハイパーリンクになって...
-
エクセルのルビがついたセルを...
-
Excelでスクロールすると文字が...
-
エクセル ハイパーリンクで画像...
おすすめ情報