
No.3ベストアンサー
- 回答日時:
#1です。
先頭行に「Option Strict On」がありませんか?
これは「遅延バインディングを禁止」する命令です。
それがある場合には
「ExlSheet.OLEObjects.Add("Forms.TextBox.1")」
は直接呼び出せません。。。。
「Option Strict On」の行を取り除くのもひとつの解決策だとは思いますが、取り除かない場合は以下のようにしたらできると思います。
Dim objOLE As Excel.OLEObjects
objOLE = Ctype(ExlSheet.OLEObjects,Excel.OLEObjects)
objOLE.Add("Forms.TextBox.1")
ではどうでしょうか?
また、#2さんの言われる「テキストボックス」と私の言う「テキストボックス」は基本的には異なるオブジェクトですが、使用方法は同一となりますので、ご使用になりたいオブジェクトを利用されることをお勧めします。
(#2さん=Shape、私=OLEObject)
「Option Strict On」を取り除かない方法で解決しました!遅延バインディングについても勉強してみます。
takkunnetさんありがとうございました。
お礼が遅くなりすみません。
また宜しくお願いします。
No.2
- 回答日時:
ExlSheet.Shapes.AddTextbox(1, 100, 100, 200, 50)
ではどうでしょう
AddTextbox(Orientation, Left, Top, Width, Height)
No.1
- 回答日時:
Sheet1上にTextBoxを追加する場合は
Call Sheet1.OLEObjects.Add("Forms.TextBox.1")
で追加できます。
作成する位置なども調整可能です。
詳しくは Excel VBA のヘルプ(OLEObjectsで調べると良いです)を参照することをお勧めします。
この回答への補足
takkunnetさんありがとうございます。
下記が作成中のコードなのですが、テキストボックスを生成する箇所のコードで"遅延バインディングを使用できません"とのエラーが発生してしまいます。
シートの宣言の箇所でのミスでしょうか?
'表作成
Private Sub Button1_Click(~) ~
Dim Exl As New Excel.Application
Dim ExlBook As Excel.Workbook
Dim ExlSheet As Excel.Worksheet
Exl = CType(CreateObjec("Excel.application"), Excel.Application)
ExlBook = CType(Exl.Workbooks.Add, Excel.Workbook)
ExlSheet = CType(ExlBook.Worksheets(1), Excel.Worksheet)
'テキストボックスを生成
ExlSheet.OLEObjects.Add("Forms.TextBox.1") ←エラー
Exl.Application.Visible = True
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/06/01 14:45
- Excel(エクセル) Excelでのデータ管理 6 2022/12/24 09:33
- Excel(エクセル) iphonからone driveに保存してあるExcelを閲覧すると表示の仕方がちがうデータ 2 2022/12/21 13:51
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- その他(Microsoft Office) Excelで総数量を変動させたい 2 2022/11/04 23:49
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/03/28 14:52
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
テキストボックス中の文字列の...
-
実行時エラー 3265「要求された...
-
エクセルのVBAの標準モジュール...
-
Excelでフィルタをかけると警告...
-
EXCEL VBA オートシェイプナン...
-
textBox isNot Nothing とは
-
[C#]static void 関数内でthis
-
ある文字列が全て数字であるか...
-
【VB】【エクセル操作】 SaveAs...
-
WSH createobjectで指定出来る...
-
VBScriptでファイルの日時順(降...
-
UserForm1.Showでエラーになり...
-
VBAで既に開いている別アプリケ...
-
vbsでexcelのクリアとフォーム...
-
EXCELに接続 DAOで
-
「オブジェクト変数または With...
-
横軸ラベルの追加に関するエラ...
-
EXEL2000のマクロが2010でエラ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
エクセルのVBAの標準モジュール...
-
Excelでフィルタをかけると警告...
-
実行時エラー 3265「要求された...
-
VBAで既に開いている別アプリケ...
-
テキストボックス中の文字列の...
-
ExcelVBAでのNZ関数について
-
[VBA]CDOメッセージ送信エラー
-
EXCEL VBA オートシェイプナン...
-
VBAで Set wb = Sheets(1).Cop...
-
エクセルマクロエラー「'Cells'...
-
AccessVBAで「dim dbs as datab...
-
Excel VBAでWordの複数ファイル...
-
オブジェクトが見つかりません
-
CreateObjectとGetObjectの違い
-
エクセルVBAで配列内に空白デー...
-
オブジェクト変数またはWITHブ...
-
VBScriptからDLL参照設定したい
-
エクセルVBAでcode128のバー...
おすすめ情報