名前付き範囲(またはユーザー定義範囲)には6列ありますが、行数は他の機能に基づいて変更されることがあります。TextBoxへのnamed_rangeのVBAコピー値
6つの列とすべての行の、その範囲の値全体をTextBoxに取得しようとしました。行はタブで区切られます。
次のコードを返しますが、エラー定義されたオブジェクトなど
UserForm1.TextBox1.Value = Sheet1.Range("named_range").Value
感謝すべてのヘルプ。
編集:
FunThomasが正しいと、私はそれを別の行を宣言しない範囲の値を取得することができwon'e。だから私は、マルチラインのmsgBoxで範囲を表示するのにうまくいく以下のコードから始めました。
どのように追加のInputBoxを取り除き、制限された機能を持つmsgBoxの代わりにUserForm1.TextBox1に結果を表示しますか?あなたが複数の行を持っていたよう
Sub showOfferRange()
Dim xRg As Range
Dim xTxt As String
Dim xCell As Range
Dim xStr As String
Dim xRow As Long
Dim xCol As Long
On Error Resume Next
xTxt = ThisWorkbook.Names("offers_running")
Set xRg = Application.InputBox("Offer range:", "Display offers", xTxt, , , , , 8)
'Set xRg = xTxt
If xRg Is Nothing Then Exit Sub
On Error Resume Next
For xRow = 1 To xRg.Rows.Count
For xCol = 1 To xRg.Columns.Count
xStr = xStr & xRg.Cells(xRow, xCol).Value & vbTab
Next
xStr = xStr & vbCrLf
Next
MsgBox xStr
End Sub
参照[リンク](https://stackoverflow.com/documentation/excel-vba/1576/common-mistakes#t=201707270717591076459)リンクがどのように – FunThomas
わからないにsteatementsを変更示唆します私の質問に関連して。 – joell
おそらく、あなたはワークブックの 'sheet1'にアクセスしたいと思いますが、' sheet1'という名前の変数にアクセスしています。ですから、 'thisWorkbook.sheets(" sheet1 ")'や 'activeWorkbook.sheets(" sheet1 ")'のようなものが必要だと思いますが、これは推測に過ぎません。このリンクでは、ブックやワークシートオブジェクトにアクセスする方法について説明しています。 – FunThomas