| 
    
     |  | こんにちは^^ お世話になります〜
 
 最近仕事がばたばたして、なかなか時間がとれないでいました。
 合間を縫って、試行錯誤してるんですが、どうもわかりません。
 もう一度、SOS出せていただきます。
 
 えと、皆様のアドバイスを元に、
 
 Private Sub cmdOK_Click()
 
 Dim strTougou() As String
 Dim i As Long
 
 
 With lstSheet
 If .ListCount = -1 Then
 MsgBox "統合するシートを選んでください"
 Exit Sub
 Else
 ReDim strTougou(.ListCount - 1)
 For i = 0 To .ListCount - 1
 strTougou(i) = """'" & ActiveWorkbook.Path & "\[" & ActiveWorkbook.Name & "]" & .List(i) & "'!" & pr_strAddress & """"
 
 Next i
 End If
 End With
 
 pr_ws.Range(pr_strSaki).Consolidate sources:=strTougou, Function:=xlSum
 
 End Sub
 
 とやり直してみました。・・・が、やっぱり上手くいきません。
 
 途中に
 
 For i = LBound(strTougou) To UBound(strTougou)
 Debug.Print strTougou(i)
 Next i
 
 と入れて、配列の中味を確かめたところ、
 
 "'C:\WINDOWS\デスクトップ\[統合テスト.xls]4月'!R13C7:R24C27"
 "'C:\WINDOWS\デスクトップ\[統合テスト.xls]5月'!R13C7:R24C27"
 "'C:\WINDOWS\デスクトップ\[統合テスト.xls]6月'!R13C7:R24C27"
 
 と、なりました。
 そして、
 統合のメイン処理のところに、これを直接入れてみたら、
 
 pr_ws.Range(pr_strSaki).Consolidate sources:=Array("'C:\WINDOWS\デスクトップ\[統合テスト.xls]4月'!R13C7:R24C27", "'C:\WINDOWS\デスクトップ\[統合テスト.xls]5月'!R13C7:R24C27", "'C:\WINDOWS\デスクトップ\[統合テスト.xls]6月'!R13C7:R24C27"), Function:=xlSum
 
 正常に動きました。
 なので、引数の文字列は正しいと思うんですが・・・何故、配列変数だとダメなんでしょう?
 前回と同じく、「ファイルが開けません」のメッセージが、3回(4月、5月、6月分)出ます。
 
 ichinoseさんに
 
 '==============================================
 >>      For i = 0 To .ListCount - 1
 >>        strTougou = strTougou & """'" & ActiveWorkbook.Path & "\[" & ActiveWorkbook.Name & "]" & .List(i) & "'!" & pr_strAddress & ""","
 >>      Next i
 
 よくみると↑この文字列の連結も気になりますねえ・・・。
 ""で文字列内にダブルコーテションが入っていますが、確認してみて下さい。
 '==============================================
 とのアドバイスを頂いたのも、恥ずかしながらよくわかんないです。
 だって、マクロの記録で生成したコードにもダブルコーテーション入ってるんですもの〜
 
 
 またもや、アホなことをしてるんかも・・・
 どうぞ、再びアドバイスお願いいたしますm(__)m
 
 
 |  |