|
▼β さん:
こんにちは。先日は色々教えて頂きありがとうございました。あの後実証してみる時間がなくて、最近やっと時間ができましたので、頂いたコードを動かしてみました。最初のサンプルは動作が確認できたのですが、2つ目の方はエラーは出ないのですが、転送先のシートに何も表示されません。そこで、質問があるのですが、
> shT.Range("A1:F1").Formula = ref & "A2"
> shT.Range("A2:F2").Formula = ref & "A9"
> shT.Range("A1:F2").Value = shT.Range("A1:F2").Value
の部分は、左側で指定したセル範囲に右側のA2のFormulaをコピーし、
右側のセル範囲の値を左側で設定したシートのセル範囲にコピーするということであってますでしょうか?
お時間のある時にお返事頂ければ幸いです。
よろしくお願い致します。
>▼ayu さん:
>
>もう1つ。
>転記レイアウトは アップ済みのものとはかえてあります
>外部参照数式を使い、ブックを開かないタイプ。
>処理上もループをなくしてあります。
>元ブックのフォルダは、アップ済みのもの同様、マクロブックと同じフォルダにしてあります。
>
>Sub Sample2()
> Dim fPath As String
> Dim ref As String
> Dim shT As Worksheet
> Dim r As Range
>
> fPath = ThisWorkbook.Path
> ref = "='" & fPath & "\[元のブック.xlsx]該当のシート名'!"
> Set shT = ThisWorkbook.Sheets("転記先のシート名")
> shT.Cells.ClearContents '転記前にクリア
> shT.Range("A1:F1").Formula = ref & "A2"
> shT.Range("A2:F2").Formula = ref & "A9"
> shT.Range("A1:F2").Value = shT.Range("A1:F2").Value
>
> With shT.Range("A2:F2")
> .Replace 0, Empty, xlWhole
> On Error Resume Next
> .SpecialCells(xlCellTypeBlanks).EntireColumn.Delete
> On Error GoTo 0
> End With
>
>End Sub
|
|