Excel VBA質問箱 IV

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

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


32606 / 76734 ←次へ | 前へ→

【49363】Re:一部更新しないマクロをつくりたい
発言  かつこ  - 07/6/2(土) 0:37 -

引用なし
パスワード
   続きです。
動きが確認できたコードはこれになります。

Sub kousin()
  Dim thename As String
  Dim thedir As String
  Dim thebook As Workbook
  Dim AROW As Long
  Dim i As Integer
  
  Application.ScreenUpdating = False
  thedir = "C:\documents and settings\kousin"
  thename = Dir(thedir & "\*.xls")
  
  thisworkbook.worksheets("一覧").range("A2:D65536").clearcontents  

  Do While thename <> ""
    Set thebook = Workbooks.Open(thedir & "\" & thename)
    AROW = ThisWorkbook.Worksheets("一覧").Range("A65536").End(xlUp).Row
    ThisWorkbook.Worksheets("一覧").Cells(AROW + 1, 1).Value = _
          Left$(thename, len(thename) - 4)
          
    With thebook.Worksheets("データ")
       For i = 1 To 3
         ThisWorkbook.Worksheets("一覧").Cells(AROW + 1, 1 + i) _
               .Value = .cells(2,i).value
       Next i
    End With
   
    thebook.Close savechanges:=False
    thename = Dir()
   Loop
  
   Application.ScreenUpdating = True
End Sub

BOOK1.xls
B  C  D
4月 5月 6月
100 200 300

BOOK2.xls
B  C  D
4月 5月 6月
300 400 500

もしBOOK1.xlsの4月を100→150に変えると
このコードでは
    4月 5月 6月
BOOK1 150 200 300
BOOK2 300 400 500
という結果になります。

もしBOOK1.xlsの6月を300→350に変えると
このコードでは
    4月 5月 6月
BOOK1 100 200 350
BOOK2 300 400 500
という結果になります。

現在5月15日だとすると5月はまだ終わっていないため確定できないが
4月(前月)までの転記先のデータ分は確定させたい。

    4月 
BOOK1 100 
BOOK2 300 

上記の部分を確定させたい。


    4月 5月 6月
BOOK1 100 200 350
BOOK2 300 400 500

という結果が出た後

BOOK1.xlsが
B  C  D
4月 5月 6月
100 200 300

B  C  D
4月 5月 6月
150 200 300
になっても
転記.xlsのほうには反映させたくない。
転記.xlsの4月分のデータは保護したい。

    4月 5月 6月
BOOK1 100 200 350
BOOK2 300 400 500
という結果のままにしたいです。

もし5月分に変更があった場合
B  C  D
4月 5月 6月
100 200 300

B  C  D
4月 5月 6月
100 250 300
5月分はまだ未確定なので
変更を受け付け、

    4月 5月 6月
BOOK1 100 250 350
BOOK2 300 400 500
という結果になるようにしたいです。

do while〜の直前に
if val(thisworkbook.worksheet("一覧").cells(1,2).value)_
           =month(date)-1 then
  cells(cells(2,2),cells(AROW+1,2).locked=true
end if
を付け加えて転記.xlsのセルを保護したらいいのかなと思ったのですが・・
違うようでした。

ん〜ん、伝わりましたでしょうか・・・

よろしくおねがいします。

10 hits

【49303】一部更新しないマクロをつくりたい かつこ 07/5/30(水) 20:29 質問
【49321】Re:一部更新しないマクロをつくりたい Jaka 07/5/31(木) 11:22 発言
【49350】Re:一部更新しないマクロをつくりたい かつこ 07/5/31(木) 21:25 発言
【49354】Re:一部更新しないマクロをつくりたい Jaka 07/6/1(金) 13:53 発言
【49360】Re:一部更新しないマクロをつくりたい かつこ 07/6/1(金) 23:37 発言
【49363】Re:一部更新しないマクロをつくりたい かつこ 07/6/2(土) 0:37 発言
【49405】Re:一部更新しないマクロをつくりたい Jaka 07/6/4(月) 13:23 発言
【49429】Re:一部更新しないマクロをつくりたい かつこ 07/6/4(月) 23:41 発言
【49452】Re:一部更新しないマクロをつくりたい Jaka 07/6/5(火) 14:50 発言
【49466】Re:一部更新しないマクロをつくりたい かつこ 07/6/5(火) 22:05 お礼

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