|
▼こたつねこ さん:
貴重なコメントありがとうございました。
このコードを実際に仕事に活用しますので、自分なりに
コードの解釈と、部分的な変更が対応でき、自分に自信と
活用する勇気を得るために、色々とお聞きしご迷惑をかけました。
単純なWith構文は自分でも作成するのですが、貴殿の書かれた
この後半のWith構文の構成が理解できていません。
どのように理解すると良いのか、もしコメントいただければ幸いですが。
>Sub 順次選択貼付け()
>
>Dim r As Range
>Dim myr As Range
>Dim dteDate As Date
>
>With Sheets("集計表")
> '日付の入力のある範囲をセット
> Set myr = .Range("A4", .Range("A65536").End(xlUp))
> '日付を変数に格納
> dteDate = .Range("A1").Value
>End With
>
>'日付の入力のある範囲を1セルづつ繰り返し変数rにセットする
>For Each r In myr
> '営業所名がNullでない場合実行
> If r.Offset(, 1).Value <> "" Then
> '転記先のシート名が=営業所名なので日付の1列右のセルの値を
> 'シート名として指定
⇒ ここでのWith Sheetsは転記先のシートを指すのですか?
転記先と理解する判断基準は何なのでしょうか。
r.Offset(,1).valueは"集計表"での営業所名の列で、シートの
異なるもの(内容)が同居して、よくコードが成り立つのが不思議です。
どのように理解すると良いのでしょう?
> With Sheets(r.Offset(, 1).Value)
> '指定シートのA列最終行+1に日付を転記
> .Range("A65536").End(xlUp).Offset(1).Value = dteDate
> '指定シートのC列最終行+1に売上高を転記
> .Range("C65536").End(xlUp).Offset(1).Value = r.Offset(, 2).value
> End With
> End If
>Next
>
>End Sub
|
|