SSブログ

Excel2000 VBA 選択セル範囲の文字列を結合して新しい文字列を作る [Excel2000 VBA独習]

Excel2000 VBA 選択セル範囲の文字列を結合して新しい文字列を作る

 

Sub 選択セル範囲の文字結合()
'実験バージョン
'inputBoxで選択したセル範囲の値を結合して、選択した1つのセルに記入する
'
'

  Dim select_range, target As Range
  Dim i As Integer
  Dim r(10), newstr As String
  Dim Prow, Pcol As Long
 
  'InputBoxで選択範囲を取得
    Set select_range = Application.InputBox("文字を結合するセルの範囲を選択してください。", "文字を結合する範囲選択", , , , , , 8)
    If Err.Number <> 0 Then Exit Sub    'キャンセルボタンがクリックされたら終了
   
  'セレクトセルの値を取得して結合する
 
    For Each target In select_range
        r(i) = target.Value
        newstr = newstr & r(i)
        i = i + 1
        'Debug.Print newstr
    Next target
   
  '貼り付け先を選択し記入
    i = 0
   Set select_range = Application.InputBox("結合した文字の貼り付け先を選択してください。", "貼り付け先", , , , , , 8)
    If Err.Number <> 0 Then Exit Sub    'キャンセルボタンがクリックされたら終了

    For Each target In select_range     '記入さきセルを選択(1セルのみ)
        i = i + 1
        Pcol = target.Column
        Prow = target.Row
        If i = 1 Then Cells(Prow, Pcol) = newstr
    Next target
   '追記 クリップボードにコピー
    Dim TempObject As MSForms.DataObject
   
    Set TempObject = New MSForms.DataObject
   
    With TempObject
        .SetText newstr
        .PutInClipboard
    End With
              
    Set TempObject = Nothing


End Sub


タグ:Excel2000 VBA
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。