- ベストアンサー
ExcelVBA シートコピー
- ExcelVBAで管理表を別のシートにコピーするVBAを修正したい
- 選択範囲を最終行と最終列に修正してコピー貼り付けができない
- 理由がわかる方がいれば教えてほしい
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
コードだけコピペして、忙しい人も居る読者に読ませて、回答をくれとは? やっていることや、したいことを、エクセルや、VBAの言葉で(用語を使って)を文章で表す練習をすること。 用例集などを読まないと、これができない。 なぜかと言うと、これができないと、WEBの関連記事や本の関係個所(目次や索引を調べるにも)がどこか、判らないので、勉強をしようにも、できない。 これが普通は訓練すると、数行の文章で表せる場合がほとんどだ。 本件は (1)フィルタ―を使っているのか?コードではよく判らないが? (2)その結果の可視セル(シートで見えているデータ)をコピーしたのシートやセル範囲に 張り付ける 「可視セル」というのが、エクセルの術語だ。 という課題は、WEBに記事があるはず。 ーー 「VBA フィルタ― 結果 可視セル 貼り付け」でGoogleで照会すると、記事が出る。 http://officetanaka.net/excel/vba/tips/tips155c.htm >CurrentRegionプロパティを使います この件(点)は、勉強してないと、おもいつかないわね。 ーー 表題だけ読むと、初めは Sub test01() rowa = Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row MsgBox rowa End Sub Sub test02() rowa = Worksheets("Sheet1").Cells(1, Columns.Count).End(xlToLeft).Column MsgBox rowa End Sub の問題かと思ったが、可視セルという点で、違った方法を要する。
その他の回答 (1)
- SI299792
- ベストアンサー率47% (780/1631)
プログラムを見る限り、1ファイル開いてコピペするだけの様です。 動作確認していないのですが 「シート1」半角 「シート1」 全角が混在します。それが原因では? .currentdirectory は私の環境では動きませんでした。大文字に変換されていないという事は、貴方の環境でも動かないのでは? https://xtech.nikkei.com/it/atcl/column/15/090100207/090100082/ ¥¥(半角だと\ になるので全角にしてあります)を付けないといけないのではないですか。 貴方のプログラムは長すぎて理解できないので、新規作成しました。 使っている範囲だけコピペするのですね。 Option Explicit ' Sub Macro1() Const ISheet = "シート2" Dim Address As String ' Sheets("シート1").Select ChDir "\\ファイル格納先" 'この行は動作未確認 Address = Application.GetOpenFilename("Microsoft Excelブック,*.xls?") ' If Address = "False" Then End End If Cells.ClearContents Application.ScreenUpdating = False Workbooks.Open Address, False, True On Error Resume Next Sheets(ISheet).AutoFilterMode = False ' If Err = 9 Then MsgBox ISheet & "がありせん", vbCritical End ElseIf Err <> 0 Then MsgBox Error(Err), vbCritical End End If Address = Sheets(ISheet).UsedRange.Address ActiveWorkbook.Close False End Sub
お礼
早い回答ありがとうございます。インターネットにあった例文を合わせてみただけなので、長文となってしまいました。回答いただいたプログラムで試してみます。ありがとうございます。