質問: 電話料金の表を作成してまして やりたいことは UからXの最終行を範囲選択しそれをTの最終行までオートフィルしたいのですが 「rangeメソッドは失敗しました globalオブジェクト」と出てしまいエラーになります どうやれば出来るかコードの見直しお願いします... 該当の表には空白の列もあるので最終行の取得方法はこれでいきたいです 該当のコード ``` Range("Cells(Rows.Count,21).End(xlUp).Row:Cells(Rows.Count,24).End(xlUp).Row").Select Selection.AutoFill Destination:=Range("Cells(Rows.Count,24).End(xlUp).Row:Cells(Rows.Count,20).End(xlUp).Row"), Type:=xlFillDefault Range("Cells(Rows.Count,24).End(xlUp).Row:Cells(Rows.Count,20).End(xlUp).Row").Select ``` 表を再現しますと T U V W X 1761 1612 0 225000 1,612 3851 3532 0 225000 3,532 1981 1812 0 225000 1,812 3851 3532 0 225000 3,532 1804 1651 0 225000 1,651 1761 1612 0 225000 1,612 3861 3541 0 225000 3,541 3851 3532 0 226000 3,532 3851 2171 3862 3851 3864 ・ ・ こうなっていてUからXの最終行を範囲選択しTの最終列までオートフィルをしたいです T~Xの行数は毎回変わりますので最終行を取得して可変に対応させたいです しどろもどろですいませんその都度返信させていただきますのでよろしくお願いします
回答: なんかややこしい事になってますけど、単純にこういう事では。 ``` '元のソース Range("U271:X271").Select 'U271からX271を範囲選択する Selection.AutoFill Destination:=Range("U271:X368"), Type:=xlFillDefault 'X368までオートフィルで引っ張る Range("U271:X368").Select 'U271からX368を範囲選択する(いらないかも) ``` ``` '変数を使うとこうなる Dim row1 As Integer Dim row2 As Integer row1 = 271 row2 = 368 Range("U" & row1 & ":X" & row1).Select 'U271からX271を範囲選択する Selection.AutoFill Destination:=Range("U" & row1 & ":X" & row2), Type:=xlFillDefault 'X368までオートフィルで引っ張る Range("U" & row1 & ":X" & row2).Select 'U271からX368を範囲選択する(いらないかも) ``` 後は271と368を、それぞれU列とT列の最終行の記述にすれば完成。