お世話になります。
午前中に似た様な質問をさせて頂いたのですが、苦闘しており
お知恵を拝借したく再度質問を致します。
以下の様なコード(一部)でset myRng の値だけ(もしできればA列~F列まで)
workingsheet に貼り付けたいのですが、どのように修正を
行えばよいでしょうか? よろしくお願い致します。
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row '
lastCol = .Cells(1, Columns.Count).End(xlToLeft).Column '
Set myRng = Range(.Cells(2, "A"), .Cells(lastRow, lastCol)).SpecialCells(xlCellTypeVisible)
myRng.Copy wS.Cells(Rows.Count, "A").End(xlUp).Offset(1)
本日中には補足やお礼をできないかもしれませんが、
何卒よろしくお願いします。
No.1ベストアンサー
- 回答日時:
前回のご質問の読んでいたけれども、間に合わなかったようです。
前回のご質問で解決をしたのなら良かったけれども、配列での値コピーは、両方のサイズを同じにしないて行けませんし、今回のようなVisible セルだけの値をコピーするのは前回の方法では、逆に複雑になってしまったように思います。
私の記憶では、オートフィルタだけなら、
SpecialCells(xlCellTypeVisible)
は不要だったと思います。しかし、テーブルのフィルタでは利きませんので注意が必要になります。
以下は、貼り付け先とデータ元と間違えると大変なことになりますから、十分に調べてから、本番でお使いになるようにしてください。
'//
Sub TestMacro()
Dim myRng As Range
Dim lastRow As Long, lastCol As Long
Dim fn As String
Dim fn2 As String
Dim ws As Worksheet
Dim ws2 As Worksheet
fn = "BookA.xlsx" 'データ
fn2 = "BookB.xlsm" '貼り付け先
Set ws2 = Workbooks(fn).Worksheets("Sheet1") 'データ
Set ws = Workbooks(fn2).Worksheets("Sheet1") '貼り付け先
With ws2
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row '
lastCol = .Cells(1, Columns.Count).End(xlToLeft).Column '
Set myRng = .Range(.Cells(2, "A"), .Cells(lastRow, lastCol)).SpecialCells(xlCellTypeVisible)
End With
If myRng Is Nothing Then Exit Sub 'これはありえないかもしれません
myRng.Copy
ws.Cells(Rows.Count, "A").End(xlUp).Offset(1).PasteSpecial (xlPasteValues)
Application.CutCopyMode = False
End Sub
ご回答ありがとうございました。
うまく行きました。
大変助かりました。コードの内容的に理解できていない部分も
あるのですが、勉強していきます。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Visual Basic(VBA) 形式を選択して貼り付け 以下のコードで「元」シートと「先」シートのA列に同じ値があったら指定範囲をコ 5 2022/11/11 07:30
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- Visual Basic(VBA) ユーザーフォームの書き出しで追加のご相談 ユーザーフォームの値をシートに書き出す際、コードが表示され 2 2022/08/05 10:58
- Visual Basic(VBA) ExcelVBAで、index、match関数を使用して、指定範囲に出力したい 3 2022/10/18 21:53
- Excel(エクセル) マクロで最終行から上に検索を逆にしたい 1 2022/05/17 18:27
- Visual Basic(VBA) ExcelVBAの転記について 1 2022/03/23 20:13
- Visual Basic(VBA) 集計シートA列のコードと一致する右に並んだシート名(コード)の3行目から10行目をコピーして貼り付け 4 2022/08/18 15:24
- Excel(エクセル) マクロで列を加えたら上手くいかなくなりました。 2 2022/05/23 17:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ハッシュテーブル(連想配列)が...
-
PysimpleGUIでデータベースを作る
-
power BI クエリエディター 〇...
-
VBA 違うシートにコピペしてソ...
-
rand関数の割合変更
-
テキストボックスのvalueとtext...
-
オペランド
-
VBA 「実行エラー”13” ...
-
ユーザーフォームのテキストボ...
-
aspx.csからJSON形式にする方法
-
OracleでRecordCountが正しくな...
-
値を返さないコード パス
-
マクロ 特定のセル値のみクリ...
-
形式(値だけ)を選択して貼り...
-
パスワードの再入力処理
-
VBでBtrieveファイルにアクセス...
-
VBのテキストボックスに値が...
-
pingを行うプログラム
-
C# get set
-
マクロで奇数と偶数の値を2か所...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックスのvalueとtext...
-
マクロ 特定のセル値のみクリ...
-
VB.NETでコンボボックスの1行目...
-
変数名の取得
-
値を返さないコード パス
-
Excel VBAのリストボックスの値...
-
VB初心者。小数点以下の表示で...
-
ハッシュテーブル(連想配列)が...
-
textboxとLabelを動的に変更する
-
PL/SQLでのTO_DATEの時間取得に...
-
VB.NETでアクティブなformを知...
-
Excel vba ユーザーフォームテ...
-
マクロで奇数と偶数の値を2か所...
-
DataTableに対するLINQについて
-
【C++/CLI.NET】コンボボックス...
-
[VBA]選択範囲の下から上に処理...
-
範囲が指定されている乱数について
-
[VB.net] DataGridViewのコンボ...
-
変数に代入してある数値を表示...
-
vbscriptを使いexcelを参照して...
おすすめ情報