
VBAでシートの値をコピーして別シートの最終行に追加するようVBAで作業を進めていますが、コピー先の見出し行に結合セルがあるとエラーを返してきます。コピー元は"作業フォルダ"、コピー先は"記録"のC5からENDまで、見出し範囲はA1~U4まで。いろいろ見出し範囲を回避するべく試してみたのですがうまく行きません。どうかご教授のほどよろしくお願いします。
Dim LastRow1 As Long
Dim LastRow2 As Long
LastRow1 = Sheets("作業フォルダ").Range("a" & Rows.Count).End(xlUp).Row
LastRow2 = Sheets("記録").Range("c" & Rows.Count).End(xlUp).Row
Sheets("作業フォルダ").Range("ao3:az" & LastRow1).Copy Sheets("記録").Cells(LastRow2 + 1, 3)
'
Sheets("記録").Select
Columns("C*C").Select
Selection.TextToColumns Destination:=Range("C1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), TrailingMinusNumbers:=True
Columns("D:D").Select
Selection.TextToColumns Destination:=Range("D1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), TrailingMinusNumbers:=True
Columns("E:E").Select
Selection.TextToColumns Destination:=Range("E1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), TrailingMinusNumbers:=True
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちは、
なさりたい事を理解できていませんが、
Sheets("作業フォルダ").Range("ao3:az" & LastRow1).Copy Sheets("記録").Cells(LastRow2 + 1, 3) でエラーになるのでしょうか?
結合セルの為、エラーが返るのなら
LastRow2 = Sheets("記録").Range("c" & Rows.Count).End(xlUp).Row
は、最終行を示していないと言う事でしょうか?
もし、C列空白行以下のセルが結合セルになっているのであれば、結合セルにしてく必要が無いと思いますので、解除すれば良いように思います。手作業で解除するも良いと思いますし、VBAなら、
掲示のコードを使う場合、
LastRow1 = Sheets("作業フォルダ").Range("A" & Rows.Count).End(xlUp).Row
LastRow2 = Sheets("記録").Range("C" & Rows.Count).End(xlUp).Row
Sheets("記録").Range("C" & LastRow2 + 1 & ":N" & LastRow2 + 1 + LastRow1 - 3).UnMerge
Sheets("作業フォルダ").Range("AO3:AZ" & LastRow1).Copy Sheets("記録").Cells(LastRow2 + 1, 3)
ペースト先範囲をこんな感じで解除しても良さそうです。
Sheets("記録").Select 以下に関しては、データ内容が分らないので、何とも言えませんが、Tab:=Trueなのに、C、D、E列と続けてしまってよいのかなと思いました。また、データを追加していくような処理であれば、列全体を対象にしなくても良さそうな、、感じですかね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) エクセルのマクロについて教えてください。 2 2023/02/04 14:20
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/06 13:01
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/04 12:47
- XML エクセルのマクロについて教えてください。 3 2023/02/06 09:06
- Excel(エクセル) エクセル VBAでシートのコピーを作りたい 1 2023/05/18 07:42
- Visual Basic(VBA) エクセル VBA 処理スピードを上げたいのですが。 6 2023/03/31 20:52
- Visual Basic(VBA) 複数シート一括作成後に、特定範囲の数式は値で貼り付けしたい 3 2022/10/07 11:18
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
任意フォルダから画像をすべて...
-
エクセルvbaで、別シートの最下...
-
i=cells(Rows.Count, 1)とi=cel...
-
ExcelVBAを使って、値...
-
Excelで指定した日付から過去の...
-
【VBA】シート上の複数のチェッ...
-
任意フォルダから画像をすべて...
-
エクセルvbaのワークシート関数...
-
【Excel】指定したセルの名前で...
-
特定のセルが空白だったら、そ...
-
EXCELのVBA-フィルタ抽出後の...
-
Word版VBで表の任意の箇所を...
-
Application.Matchで特定行の検索
-
Excel VBA、 別ブックの最終行...
-
VBAでセルをクリックする回...
-
【Excel VBA】指定行以降をクリ...
-
DataGridViewでコードで値を入...
-
EXCELで変数をペーストしたい
-
VBA初心者です。結合セルを保持...
-
Excelに保存されているユーザー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
i=cells(Rows.Count, 1)とi=cel...
-
Excelで指定した日付から過去の...
-
エクセルvbaで、別シートの最下...
-
特定のセルが空白だったら、そ...
-
VBA実行後に元のセルに戻りたい
-
【Excel VBA】指定行以降をクリ...
-
任意フォルダから画像をすべて...
-
【Excel】指定したセルの名前で...
-
VBAでセルをクリックする回...
-
【VBA】シート上の複数のチェッ...
-
Excelのプルダウンで2列分の情...
-
EXCELのVBA-フィルタ抽出後の...
-
Excel vbaで特定の文字以外が入...
-
”戻り値”が変化したときに、マ...
-
TODAY()で設定したセルの日付...
-
ExcelのVBAで数字と文字列をマ...
-
VBA ユーザーフォーム ボタンク...
-
Excel VBA マクロ ある列の最終...
-
Excel VBA、 別ブックの最終行...
おすすめ情報