ワークブックにこの小さな問題があります。配列数式を使用して、非常に長い関数を単純化したかったのです。この式はうまく機能し、期待どおりの結果が得られます。ただし、私の VBA マクロでは、コピーしてから数式を貼り付け、次に書式を貼り付けます。フォーマットの貼り付けは、「コピーと貼り付けのゾーンのサイズが異なるため、貼り付けできません」(またはそれに類似したもの) でクラッシュします。配列数式以外の数式を使用すると、この問題は解決します。
誰かがこれを以前に経験し、適切な解決策を見つけましたか? Google でヘルプが見つからないようです。必要に応じてコードを投稿しますが、かなり単純で ( Row.Copy ... Rows(something, something).PasteSpecial...
)、とにかく非配列式で動作します。
編集:コード:
sRapDetail = "rap - détails"
Sheets(sRapDetail).Select
iStart = 17
iFormuleExceptionRNIAC = 13
iFormule1 = 14
iFormule2 = 15
iFormuleExceptionAR = 16
range(Rows(iStart - 1), Rows(1000)).Hidden = False
iLastRow = Cells(65535, "B").End(xlUp).Row
range("A" & iStart & ":AL" & iLastRow).Select
' selection.Borders(xlInsideVertical).LineStyle = xlNone
' selection.Borders(xlEdgeBottom).LineStyle = xlNone
selection.Delete Shift:=xlUp
'RNIAC
Sheets("Zoom0").Select
If Cells(21, "B").Value = "" Or Cells(22, "B").Value = "" Then
iLastRow = 21
Else
iLastRow = Cells(21, "B").End(xlDown).Row
End If
iNbRow = iLastRow - 20
Sheets(sRapDetail).Select
Rows(iFormuleExceptionRNIAC).Select
selection.Copy
range(Rows(iStart), Rows(iStart - 1 + iNbRow)).Select
selection.PasteSpecial xlPasteFormulas
selection.PasteSpecial xlPasteFormats
(そして、はい、の使用が醜いことは知っていますselection
(または少なくともこの場合)が、これは同僚によって書かれました)