Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


56628 / 76732 ←次へ | 前へ→

【24853】Re:「統合」の「統合元」を変数で指定するとエラーが?
発言  ichinose  - 05/5/11(水) 17:49 -

引用なし
パスワード
   つん さん、Jakaさん
こんにちは。

>
>うちの会社では「統合」をよくつかいます。
>標準機能でも十分なんですが、もちっと簡単にしてみようと、マクロにすることにしました。
>統合させる表は、全く構成の表で、例えば、「統合テスト.xls」の「4月」、「5月」、「6月」といった月別の表があり、それを同ブックの「1月〜3月累計」シートに統合させます。
>マクロは、「Personal.xls」に組んでいます。
>
>コードは以下の通りです。
>
>ユーザーフォーム上に
>
>ラベル lblSaki(統合先のシート名&範囲のアドレスを表示)
>リスト lstSheet (統合元のシート名をリスト(範囲は先と同じ))
>コマンドボタン 3つ(「追加」「削除」「実行」用)
>
>Option Explicit
>    Private pr_strAddress As String '統合範囲(R1C1型式)
>    Private pr_strSaki As String  '統合先の先頭アドレス
>    Private pr_ws As Worksheet   '統合先シート
>
>
>Private Sub UserForm_Initialize()
>
>  Dim r As Range
>  
>  If Selection.Areas.Count > 1 Then
>    MsgBox "範囲指定は一ヶ所にしてください"
>    Exit Sub
>  End If
>  
>  lblSaki.Caption = ActiveSheet.Name & " " & Selection.Address
>  pr_strAddress = Selection.Address(ReferenceStyle:=xlR1C1)
>  pr_strSaki = ActiveCell.Address
>  Set pr_ws = ActiveSheet
>
>End Sub
>
>
>Private Sub cmdOK_Click()’実行ボタン
>
>  Dim strTougou As String
>  Dim i As Long
>  
>  With lstSheet
>    If .ListCount = -1 Then
>      MsgBox "統合するシートを選んでください"
>      Exit Sub
>    Else
>      For i = 0 To .ListCount - 1
>        strTougou = strTougou & """'" & ActiveWorkbook.Path & "\[" & ActiveWorkbook.Name & "]" & .List(i) & "'!" & pr_strAddress & ""","
>      Next i
>    End If
>  End With
>  
>  strTougou = Left$(strTougou, Len(strTougou) - 1)
>  
>  Debug.Print strTougou
>  
>  pr_ws.Range(pr_strSaki).Consolidate sources:=Array(strTougou), Function:=xlSum
'Array(strTougou)が問題なんでは・・と思います。
'これで配列Array("a","b","c")とはなりませんよ!!
'Spilt(StrTougou,",")にしてみてはいかがてしょうか?


>End Sub
>
>これを実行すると、どうしても、上記(太字)の統合させる場所でエラーが出てしまいます。
>どういったエラーかというと、『統合元ファイル'[統合テスト.xls]4月"を開くことができません』です。
>
>試しに、マクロの記録で統合すると、以下のようなコードが生成されました。
>
>
>  Range("G13:AA24").Select
>  Selection.Consolidate Sources:=Array( _
>    "'C:\WINDOWS\デスクトップ\[統合テスト.xls]4月'!R13C7:R24C27", _
>    "'C:\WINDOWS\デスクトップ\[統合テスト.xls]5月'!R13C7:R24C27", _
>    "'C:\WINDOWS\デスクトップ\[統合テスト.xls]6月'!R13C7:R24C27"), Function:=xlSum, TopRow _
>    :=False, LeftColumn:=False, CreateLinks:=False
>
>もともと、これを参考にコードを組んだわけです。
>「Array()」の中を、変数(strTougou)なわけですが、
>
>Debug.Print strTougou
>
>で確かめると、
>
>中味は、
>
>"'C:\WINDOWS\デスクトップ\[統合テスト.xls]4月'!R13C7:R24C27",
>"'C:\WINDOWS\デスクトップ\[統合テスト.xls]5月'!R13C7:R24C27",
>"'C:\WINDOWS\デスクトップ\[統合テスト.xls]6月'!R13C7:R24C27"
>
>
>記録で生成されたコードと同じのようなんですが・・・
>何がいけないのか、さっぱりわかりません。
>ちなみに、マクロの記録も、実行ブックと別ブックに記録して、そこから実行してみると、正常に動きます。
>
>アドバイスの程よろしくお願いします。
>
>うまくまとめられず長くなりました(^^;
>すんません(>_<)

0 hits

【24845】「統合」の「統合元」を変数で指定するとエラーが? つん 05/5/11(水) 16:27 質問
【24851】Re:「統合」の「統合元」を変数で指定する... Jaka 05/5/11(水) 17:28 発言
【24853】Re:「統合」の「統合元」を変数で指定する... ichinose 05/5/11(水) 17:49 発言
【24856】Re:「統合」の「統合元」を変数で指定する... ichinose 05/5/11(水) 18:08 発言
【24857】Re:「統合」の「統合元」を変数で指定する... Kein 05/5/11(水) 18:24 発言
【24860】アホなことしてたのわかりました(>_<) つん 05/5/11(水) 20:05 発言
【24914】Re:アホなことしてたのわかりました(>_... Jaka 05/5/13(金) 15:26 発言
【24918】試行錯誤中です〜 つん 05/5/13(金) 19:23 発言
【24999】再びSOSです! つん 05/5/17(火) 13:22 質問
【25000】Re:再びSOSです! ウッシ 05/5/17(火) 14:29 回答
【25021】やっぱりアホでした・・・ つん 05/5/18(水) 9:38 お礼
【25020】Re:再びSOSです! Jaka 05/5/18(水) 9:36 発言
【25023】そのやり方は思いつきませんでした! つん 05/5/18(水) 9:44 発言
【25029】出来ました(^o^)ノ つん 05/5/18(水) 12:16 お礼

56628 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free