2

エラーが発生し続けます (パターンや認識された理由なしに発生します)。ペーストスペシャル (数式または値) を実行しようとすると、エラーが発生します。配列内の行数が可変 (1 ~ 100) である場合に、値または数式を VBA に貼り付ける別の方法があるかどうか知りたいです。以下にコードのスニペットを添付しました。

'長さと選択領域の両方が文字列として定義されています

Range("P1").Select

'長さは、テーブルの長さをカウントするセル内の数式です

length = ActiveCell.Value
selectionarea = "B3:CM" + length
Range("B2:CM2").Select
Selection.Copy
Range(selectionarea).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
selectionarea = "C2:O" + length
Range(selectionarea).Select
Selection.Copy
Range("BL3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
4

2 に答える 2

2

このようなことを試してください

Dim rng As Range, Length

Length = Range("P1").Value

'EDIT use this for formulas
Range("B2:E" & Length).Formula = Range("B2:E2").Formula
'or this should also work
'Range("B2:E" & Length).FillDown

Set rng = Range("C2:O" & Length)
Range("BL3").Resize(rng.Rows.Count, rng.Columns.Count).Value = rng.Value
于 2013-04-09T21:36:16.293 に答える
1

エラー: オブジェクト '_Worksheet' のメソッド 'Paste' が失敗しました - 1004
解決策: あるシートから別のシートに図形をコピーする前に、Excel の問題を覚えておく必要があります。

  1. シートをアクティブにします (コピー元から)。
  2. シートから形状を選択します。
  3. シートから形状をコピーします。
  4. 目的のシートにシェイプに貼り付け

例: 以前の私のコードは以下のようなものです:

           Sheet1.Shapes(0).Copy
           Targetsheet.Paste

以下のように修正しました。

           Sheet1.Activite
           Sheet1.Shapes(0).Select
           Sheet1.Shapes(0).Copy
           Targetsheet.Paste

現在、正常に動作しています。

于 2013-09-11T06:24:54.510 に答える