私はExcelのVBAでかなり新しく、この問題については本当に助けになります。範囲をコピーして同じシート上の1行下に移動します
ブックには、範囲A5:AZ1000のデータが含まれています(新しいクライアント情報は新しい行に入力されますが、ケースの性質によっては空白になる場合もあります)。ユーザーが新しいクライアント情報を入力すると(新しい行が始まる)、既存のデータ(範囲A5:AZ1000)が1行下に移動し、空白の行が範囲A5:AZ:5に表示されます。これを実現するために、ユーザーにマクロ「新規クライアント」をクリックさせたいと思います。
これは共有ブックであるため、新しい行を追加するマクロを作成することはできません。ここで
は、私が働いているコードです:
Sub shiftdown()
' shiftdown Macro
Dim lastRow As Long
Dim lastColumn As Long
Dim rngToCopy As Range
Dim rng As Range
Set rng = ActiveSheet.Range("A1").Value
lastColumn = ActiveSheet.Cells(4, Columns.Count).End(xlToLeft).Column
lastRow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
If rng > 0 Then
ActiveSheet.Range("A5" & lastRow).Select
Selection.Copy
PasteSelection.Offset(1, 0).PasteSpecial xlPasteValues
'Error Object Required
End If
End Sub
'PasteSelection.'を' Selection'に変更します。 Selectを使用しないようにする必要があります。http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros –
また、これをIF: 'ActiveSheet.Range(" A5 "&lastRow).Offset(1、0).Value = ActiveSheet.Range(" A5 "&lastRow).Value'そしてクリップボードは避けてください。 –
コードを削除したのはなぜですか? – YowE3K