2017-08-02 18 views
0

ダイナミックな名前付き範囲をmsgBoxに入力しようとしましたが、タイプが一致していないというエラーが表示されています(Set xRg = xTxt)。感謝VBAパス文字列が範囲にあり、タイプが一致しないエラー

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("named_range") 
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 

:以下

コードです。

答えて

2

Rangeオブジェクトを文字列変数に設定することはできません。したがってタイプが一致しません。

これを行います。

Set rng = Range("named_range") 'since it's a workbook level name anyway

+0

すごいです!期待通りに働いた – joell

+0

@joell - 素晴らしい。他の人が前進することを知ってもらうために、回答としてマークすること –

関連する問題