Sub 累積保存()について
未読分:4件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#4 2014年12月16日(火)14時10分 From: ちゃーちゃー | 返事 削除 変更 |
Sub 累積保存() Dim lRow As Long lRow = Worksheets("Sheet2").Range("C" & Rows.Count).End(xlUp).Row + 1 If lRow < 5 Then lRow = 5 With Worksheets("Sheet1") Worksheets("Sheet2").Cells(lRow, 3).Value = .Cells(1, 2).Value Worksheets("Sheet2").Cells(lRow, 4).Value = .Cells(2, 2).Value Worksheets("Sheet2").Cells(lRow, 5).Value = .Cells(3, 2).Value End With End Sub |
Message#3 2014年12月16日(火)14時08分 From: マスタージョイン | 返事 削除 変更 |
こんにちは。 A2をC5より、ということなんですが、この場合、「最初の転記」を正しくする 為だけに、コードを追加する必要があります。 1) コードを単純にしたい、変更量が一番少ない、という場合 C4セルに「見出し」を用意してあって、上記コードは lRow =Worksheets("Sheet2").Range("C50000").End(xlUp).Row + 1 With Worksheets("Sheet1") Worksheets("Sheet2").Cells(lRow, 3).Value = .Cells(1, 2).Value Worksheets("Sheet2").Cells(lRow, 4).Value = .Cells(2, 2).Value Worksheets("Sheet2").Cells(lRow, 5).Value = .Cells(3, 2).Value End With となります。 2) C4セルは空白で、C5から転記したい lRow =Worksheets("Sheet2").Range("C50000").End(xlUp).Row + 1 if lRow < 5 then lRow = 5 end if と、コードを追加してください。 累積のコードですから、追加したifが必要なのは、ほんとに、最初だけなんですけどね。 |
Message#2 2014年12月16日(火)11時49分 From: VBAマスター | 返事 削除 変更 |
>heet2のC5より順次保存するには、どのようにすればよいでしょうか。 ということですが、単純に Worksheets("Sheet2").Cells(lRow, 1).Value = .Cells(1, 5).Value Worksheets("Sheet2").Cells(lRow, 2).Value = .Cells(2, 5).Value Worksheets("Sheet2").Cells(lRow, 3).Value = .Cells(3, 5).Value にすればできませんか? 次々に保存するのであれば変数を設けて処理ごとに1プラスするようなやり方になるかと思います。 例) 変数i=5 処理の終わりにi=i+1を追記する。 > ネット上で > Sub 累積保存() > Dim lRow As LonglRow = Worksheets("Sheet2").Range("A50000").End(xlUp).Row + 1With Worksheets("Sheet1") > Worksheets("Sheet2").Cells(lRow, 1).Value = .Cells(1, 2).Value > Worksheets("Sheet2").Cells(lRow, 2).Value = .Cells(2, 2).Value > Worksheets("Sheet2").Cells(lRow, 3).Value = .Cells(3, 2).Value > End With > End Sub > というVBAを見つけました。これは、同一ファイル上での累積記録のようです。このまま使えば、Sheet2のA2より順次保存されます。これを例えば、Sheet2のC5より順次保存するには、どのようにすればよいでしょうか。 > Excel2007で以上のような作業をしたいと考えています。 > ご協力いただければ、幸いです。よろしくお願いします。 |
Message#1 2014年12月16日(火)11時42分 From: ワンクリック | 返事 削除 変更 |
ネット上で Sub 累積保存() Dim lRow As LonglRow = Worksheets("Sheet2").Range("A50000").End(xlUp).Row + 1With Worksheets("Sheet1") Worksheets("Sheet2").Cells(lRow, 1).Value = .Cells(1, 2).Value Worksheets("Sheet2").Cells(lRow, 2).Value = .Cells(2, 2).Value Worksheets("Sheet2").Cells(lRow, 3).Value = .Cells(3, 2).Value End With End Sub というVBAを見つけました。これは、同一ファイル上での累積記録のようです。このまま使えば、Sheet2のA2より順次保存されます。これを例えば、Sheet2のC5より順次保存するには、どのようにすればよいでしょうか。 Excel2007で以上のような作業をしたいと考えています。 ご協力いただければ、幸いです。よろしくお願いします。 |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降