[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『構文エラーとでるのですが』(困ったちゃん)
Sub 値複写上下指定()
Sheets("出金・入金票データ").Select i = Cells(Rows.Count, "h").End(xlUp).Row + 1 n = Cells(Rows.Count, "b").End(xlUp).Row + 1 Range("H2").Select Selection.Copy Range(H" & i.H" & n).Select ActiveSheet.Paste Application.CutCopyMode = False Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False End Sub '
繰り返しなおしてみたのですがうまくいきません。どうしたら
いいのでしょうか
< 使用 Excel:Excel2007、使用 OS:unknown >
Range(H" & i.H" & n) ↓ Range("H" & i & ":H" & n)
「""」で囲むべき部分が間違ってるうえに、「:」と[.]を書き間違っているからです。
■2
VBAの世界では基本的にシートやセル(オブジェクトと言います)をきちんと明示すればいちいちアクティブにしたり選択したりする必要はありません。
■3
既に指摘がありますが、Excel君の忖度でなんとかなっちゃいますが、 "h"、"b"は【半角大文字】にされたほうがスマートでしょう。
■4
一旦貼り付けてから、再度値貼付をしなおしていますが、コピーして値貼付をすれば1度で済みます。
■5
PasteSpecialで既定値もわざわざ指定しています。ダメではありませんが必要の無いものは省略されたほうがスマートでしょう。
■6
ということを踏まえるとこんな感じではないでしょうか?
Option Explicit
Sub 値複写上下指定_整理() Dim i As Long, n As Long
'ブレークポイントの代わり With Sheets("出金・入金票データ") i = .Cells(.Rows.Count, "H").End(xlUp).Row + 1 n = .Cells(.Rows.Count, "B").End(xlUp).Row + 1
.Range("H2").Copy .Range("H" & i & ":H" & n).PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False End With End Sub
(もこな2 ) 2022/01/20(木) 17:04
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.