0

選択した範囲のセルを Excel から UserForm テキストボックスに表示しようとしているときに問題に直面していC1:E14.ますRuntime error '13' Type Mismatch

Private Sub CommandButton1_Click()
Dim ActSheet As Worksheet
Dim SelRange As Range
Set ActSheet = ActiveSheet
Set SelRange = Selection
Range("TABLE").Select
Application.Goto "TABLE"
UserForm1.TextBox1.Text = Range("C1:E14").Value
'UserForm1.TextBox1.Text = Range("C1:E14").Select
End Sub

使用する.Valueと上記のエラーが発生しますが、使用.Select "True"すると UserForm テキストボックスに印刷されます。

4

1 に答える 1

0

コメントは正しいです。範囲を文字列に設定しようとしています。

このようなものを使用して範囲に変えることができます

Public Function Join(seperator As String, rng As Variant) As String

    Dim cell As Variant
    Dim joinedString As String
    For Each cell In rng
        joinedString = joinedString & cell & seperator
    Next cell
    joinedString = Left(joinedString, Len(joinedString) - Len(seperator))
    Join = joinedString

End Function

それで

UserForm1.TextBox1.Text = Join(",",Range("C1:E14"))

または、各セルから新しい行を作成する場合

Dim joinedString as string
joinedString  = Join("|",Range("C1:E14"))
UserForm1.TextBox1.Text = Replace(joinedString  , "|", vbCrLf)
于 2012-10-29T15:26:29.997 に答える