週ごとのレポートを整形して作成するマクロを作成しようとしています。 移動する必要がある5つの列があります:Key、Summary、Created、Status、Fix Version/s。Excel VBA:行と列のヘッダーに基づいて選択範囲をコピーアンドペーストする
キー列の行2で始まり、修正バージョン/列の最後の行で終了し、「優先度の問題」というシートに貼り付けられる選択をコピーする必要があります。私はこの特定の選択をコード化する方法が不明です。
最後の行が週ごとに変わる可能性があるため、最後の行を変数に格納する必要があります。本質的には、2行目とKey列の交差点から最後の行とFix Version/s列の交差点までの選択を可能にするコードを探していますが、その方法はわかりません。
Function FindCol(toFind As String) As Range
Dim Rtn As Range
Set Rtn = Rows(1).Find(What:=toFind, LookIn:=xlValues, _
LookAt:=xlWhole, MatchCase:=True)
Set FindCol = Rtn
End Function
Sub Move_Severity()
Dim Severity As Range
Dim Key As Range
Dim Fix_Version As Range
Dim LastRow As Long
Set Severity = FindCol("Severity")
Set Key = FindCol("Key")
Set Fix_Version = FindCol("Fix Version/s")
LastRow = Cells(Rows.Count, Severity.Column).End(xlUp).Row
'This is where I am running into problems
Range(Cells(2, Key), Cells(LastRow, Fix_Version)).Copy
Sheets("Priority Issues").Range("A2").Paste
End Sub
Range'として '薄暗いFix_Versionへ
With-End With
の部分は、あなたが'細胞(LASTROW行うことを変更、Fix_Version) 'しかし、' cells'は範囲にない数を必要とします。私は関数が適切に動作すると推測しますか?編集:2つのオプションがあります。列番号を返す関数を変更するか、変数を長く設定し、 'FindCol(" Key ")。column'を実行します。 – findwindow'FindCol'では、代わりにこれは必要ありませんか? 'Set FindCol = Rtn.Column'? – BruceWayne
バットマン、それは範囲を返します。編集:しかし、はい、列番号を返すことに意味があります^^ – findwindow