Excel VBA質問箱 IV

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

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


92 / 13340 ツリー ←次へ | 前へ→

【80595】フォルダ内のファイルの一部シートの集計 mkmk 19/3/17(日) 12:00 質問[未読]

【80606】Re:フォルダ内のファイルの一部シートの集計 マナ 19/3/17(日) 17:01 発言[未読]
【80607】Re:フォルダ内のファイルの一部シートの集計 mkmk 19/3/17(日) 17:18 質問[未読]
【80608】Re:フォルダ内のファイルの一部シートの集計 マナ 19/3/17(日) 17:26 発言[未読]
【80609】Re:フォルダ内のファイルの一部シートの集計 mkmk 19/3/17(日) 20:33 質問[未読]
【80610】Re:フォルダ内のファイルの一部シートの集計 マナ 19/3/17(日) 21:56 発言[未読]
【80611】Re:フォルダ内のファイルの一部シートの集計 mkmk 19/3/17(日) 22:11 質問[未読]
【80612】Re:フォルダ内のファイルの一部シートの集計 マナ 19/3/17(日) 22:28 発言[未読]
【80613】Re:フォルダ内のファイルの一部シートの集計 mkmk 19/3/17(日) 23:04 質問[未読]
【80614】Re:フォルダ内のファイルの一部シートの集計 マナ 19/3/17(日) 23:18 発言[未読]
【80615】Re:フォルダ内のファイルの一部シートの集計 mkmk 19/3/17(日) 23:50 質問[未読]
【80618】Re:フォルダ内のファイルの一部シートの集計 マナ 19/3/18(月) 18:49 発言[未読]

【80606】Re:フォルダ内のファイルの一部シートの...
発言  マナ  - 19/3/17(日) 17:01 -

引用なし
パスワード
   ▼mkmk さん:

>ただ、やはり貼付先の集計FILE SHEET全集計には貼りつきません。

現在のコードを、もう一度、ここに貼り付けてください。

【80607】Re:フォルダ内のファイルの一部シートの...
質問  mkmk  - 19/3/17(日) 17:18 -

引用なし
パスワード
   何度もすみません・・。

Sub sample()
  Dim myPath As String
  Dim myFile As String
  Dim target As Range
  On Error Resume Next
  
  myPath = ThisWorkbook.Path & "\"
  Application.Calculation = xlCalculationManual
  Application.ScreenUpdating = False
  
  myFile = Dir(myPath & "*.xlsx")
  
  Do Until myFile = ""
  
   If myFile <> ThisWorkbook.Name Then
  
  
  Set target = ThisWorkbook.Worksheets("全集計").Cells(1, Columns.Count)
   
   
  With Workbooks.Open(Filename:=myPath & myFile)
  .Worksheets("集計").Range("a1:b30").Copy Destination:=target.Offset(0, 1)
  .pastspecial Paste:=xlPasteValues
  Application.CutCopyMode = False
  .Close savechanges:=False
   End With
   End If
   myFile = Dir()
  Loop
 
  End Sub


▼マナ さん:
>▼mkmk さん:
>
>>ただ、やはり貼付先の集計FILE SHEET全集計には貼りつきません。
>
>現在のコードを、もう一度、ここに貼り付けてください。

【80608】Re:フォルダ内のファイルの一部シートの...
発言  マナ  - 19/3/17(日) 17:26 -

引用なし
パスワード
   ▼mkmk さん:

指摘箇所が、修正されていないのはなぜでしょうか?
ここまでの、やり取りを、再確認お願いします。

【80609】Re:フォルダ内のファイルの一部シートの...
質問  mkmk  - 19/3/17(日) 20:33 -

引用なし
パスワード
   すみません。

ご指摘の通り、記述に漏れがありました。
.End(xlToLeft)
無事、転記ができました。
ただ、貼り付けは行方向に追加したかったのですが、
列方向に貼り付く記述でした。
最初の記述に気が付きませんでした。


貼り付け元a1:b30 で、貼り付け先での2ファイル目からa30:b60
というように行方向に追加されるには

再度申し訳ございません。自身でも
Cells(Rows.Count, 1).End(xlUp)とOffset(30, 0)等行ってみたのですが、
上手くいきません
教えて頂けないでしょうか。


Sub sample()
  Dim myPath As String
  Dim myFile As String
  Dim target As Range
  On Error Resume Next
 
  myPath = ThisWorkbook.Path & "\"
  Application.Calculation = xlCalculationManual
  Application.ScreenUpdating = False
 
   myFile = Dir(myPath & "*.xlsx")
 
   Do Until myFile = ""
  
   If myFile <> ThisWorkbook.Name Then
   Set target = ThisWorkbook.Worksheets("全集計").Cells(1, Columns.Count).End(xlToLeft)
   With Workbooks.Open(Filename:=myPath & myFile)
  .Worksheets("集計").Range("a1:b30").Copy target.Offset(0, 1)
  .pastspecial Paste:=xlPasteValues
  Application.CutCopyMode = False
  .Close savechanges:=False
   End With
   End If
   myFile = Dir()
  Loop
 
  End Sub

【80610】Re:フォルダ内のファイルの一部シートの...
発言  マナ  - 19/3/17(日) 21:56 -

引用なし
パスワード
   ▼mkmk さん:

>無事、転記ができました。

本当ですか?

>  .Worksheets("集計").Range("a1:b30").Copy target.Offset(0, 1)
>  .pastspecial Paste:=xlPasteValues


実際のコードを、ここにコピー貼り付けけしていただけませんか。

【80611】Re:フォルダ内のファイルの一部シートの...
質問  mkmk  - 19/3/17(日) 22:11 -

引用なし
パスワード
   おかしい状態ですか?

.Worksheets("集計").Range("a1:b30").Copy target.Offset(0, 1)
.pastspecial Paste:=xlPasteValues
Application.CutCopyMode = False

転記先の全集計シートの表示結果は下記
A    B        C      D     E    ・・・・・
    日付     金額   日付     金額
    20190225    1    20190226    2
    20190225    1    20190226    2
     ・      ・     ・     ・
     ・      ・     ・     ・
 
>▼mkmk さん:
>
>>無事、転記ができました。
>
>本当ですか?
>
>>  .Worksheets("集計").Range("a1:b30").Copy target.Offset(0, 1)
>>  .pastspecial Paste:=xlPasteValues
>
>
>実際のコードを、ここにコピー貼り付けけしていただけませんか。

【80612】Re:フォルダ内のファイルの一部シートの...
発言  マナ  - 19/3/17(日) 22:28 -

引用なし
パスワード
   ▼mkmk さん:
>おかしい状態ですか?
>
>.Worksheets("集計").Range("a1:b30").Copy target.Offset(0, 1)
>.pastspecial Paste:=xlPasteValues
>Application.CutCopyMode = False
>


なぜ、そうなるのですか?

ht tp://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=80604;id=excel

【80613】Re:フォルダ内のファイルの一部シートの...
質問  mkmk  - 19/3/17(日) 23:04 -

引用なし
パスワード
   すみません。
pastspecial→PasteSpecialですね!!
何故か動きました。

80604で記述頂いたCDをコピペしました。
.Worksheets("集計").Range("a1:b30").Copy
target.Offset(0, 1).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False


▼マナ さん:
>▼mkmk さん:
>>おかしい状態ですか?
>>
>>.Worksheets("集計").Range("a1:b30").Copy target.Offset(0, 1)
>>.pastspecial Paste:=xlPasteValues
>>Application.CutCopyMode = False
>>
>
>
>なぜ、そうなるのですか?
>
>ht tp://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=80604;id=excel

【80614】Re:フォルダ内のファイルの一部シートの...
発言  マナ  - 19/3/17(日) 23:18 -

引用なし
パスワード
   ▼mkmk さん:

>ただ、貼り付けは行方向に追加したかったのですが、
>列方向に貼り付く記述でした。

>貼り付け元a1:b30 で、貼り付け先での2ファイル目からa30:b60
>というように行方向に追加されるには
>

以下の2行の意味を説明してください。

Set target = ThisWorkbook.Worksheets("全集計").Cells(1, Columns.Count).End(xlToLeft)

target.Offset(0, 1).PasteSpecial Paste:=xlPasteValues

【80615】Re:フォルダ内のファイルの一部シートの...
質問  mkmk  - 19/3/17(日) 23:50 -

引用なし
パスワード
   下記のような認識です。
▼マナ さん:
>▼mkmk さん:
>。
>>ただ、貼り付けは行方向に追加したかったのですが、
>>列方向に貼り付く記述でした。
>
>>貼り付け元a1:b30 で、貼り付け先での2ファイル目からa30:b60
>>というように行方向に追加されるには
>>
>>
>Set target = ThisWorkbook.Worksheets("全集計").Cells(1, Columns.Count).End(xlToLeft)

→全集計シートの1行目の最終列から空白セルを除いた最終列箇所

>target.Offset(0, 1).PasteSpecial Paste:=xlPasteValues
→offset(0.1)で右方向(列)を1列づつずらして転記

【80618】Re:フォルダ内のファイルの一部シートの...
発言  マナ  - 19/3/18(月) 18:49 -

引用なし
パスワード
   ▼mkmk さん:


>→全集計シートの1行目の最終列から空白セルを除いた最終列箇所

>→offset(0.1)で右方向(列)を1列づつずらして転記

では、列方向でなく、行方向に、転記するためには、
それぞれ、どう変更したらよいか考えてください。
コードでなくて良いです。
日本語の文章だとどうなるか考えてください。

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