

始めて投稿します。
Sheet1に設置したボタンを押すとSheet2のデータを処理するようにしたいのですがうまくいきません。
処理内容は一定の行を隠し、表示セルのみのデータを新規シートに貼り付け(Sheet3)貼り付けたシートのみを新規ファイルにして共有することを目的にしています。
(Sheet2はSheet3の閲覧者には見せたくないデータがあるため)
(Sheet2にボタンを置くと上手くいくのですがSheet2にボタンを置きたくないです。最初はSheet2にボタンを置いて作りました。指定ファイルだけ新規ファイルに保存する方法もうまくいかず、貼り付けと保存は一つにしたいのですが後付けで作ったの別々になってしまいました。)
何か足りないのだろうということはわかるのですが何を書き足せば実行できるようになるのかお知恵をお貸しいただけますでしょうか。
Private Sub Cmd隠す_Click()
Sheets("Sheet2").Activate
Dim 行番号 As Long
'行を隠す
For 行番号 = 1 To 10
If Cells(行番号, 6).Value = "A" Then
Cells(行番号, 1).EntireRow.Hidden = True
End If
Next 行番号
End Sub
Private Sub Cmd表示_Click()
Sheets("Sheet2").Activate
'表全体を再表示する
Cells.Select
Selection.EntireRow.Hidden = False
Selection.EntireColumn.Hidden = False
Cells(1, 1).Select
End Sub
Private Sub Cmd貼付_Click()
' 可視セル貼付
Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Sheets("Sheet3").Select
Range("A2").Select
ActiveSheet.Paste
Columns("B:B").EntireColumn.AutoFit
Columns("E:E").EntireColumn.AutoFit
Range("A2").Select
End Sub
Sub 最終更新日を取得して保存()
' 最終更新日を取得して保存
Dim myFile As String
myFile = ThisWorkbook.Path & "\" & "Sheet3" & Format(Date, "yymmdd") & ".xlsm"
ThisWorkbook.SaveAs Filename:=myFile
End Sub
No.5ベストアンサー
- 回答日時:
あ、取得と反映です。
A1セル=Sheets("Sheet1").Cells(1,1)
※スマホなんで、時間がかかってしまいます。
If Sheets("Sheet2").Cells(行番号, 6).Value = "A" Then
Sheets("Sheet2").Cells(行番号, 1).EntireRow.Hidden = True
End If
これで隠す方のボタンは非表示シートで反映しましたが
隠した行ふくめ全部を再表示するボタンで
同じように各処理にシート名を指定するとデバッグになってしましました。。。
Sheets("Sheet2").Cells.Select
Sheets("Sheet2").Selection.EntireRow.Hidden = False
Sheets("Sheet2"). Selection.EntireColumn.Hidden = False
No.3
- 回答日時:
一応、2つの案です。
①「Select」「Paste」を使わずに、セルに1ずつ代入すれば、アクティブシートでなくても出来ます。
②「Application.ScreenUpdating = False」を貼り付け先のシートを開く前に実行し、処理が終わったところで、元のシートに戻してから「Application.ScreenUpdating = True」を実行するのも良いかもです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Visual Basic(VBA) vbaのvlookup関数エラー原因を教えていただけないでしょうか。 3 2022/04/25 16:16
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
このQ&Aを見た人はこんなQ&Aも見ています
-
VBA アクティブでないシートのセルを選択したり、クリアしたり
Excel(エクセル)
-
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
EXCELマクロで、開いてはいるがアクティブでないファイルをアクティブにする方法?
Excel(エクセル)
-
-
4
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
5
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
6
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
7
Excel_マクロ_現在開いているシートにマクロを実行したいです
Visual Basic(VBA)
-
8
Enterキーでマクロを起動さす。
その他(ソフトウェア)
-
9
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
10
VBA=一定時間エクセルの入力操作がない場合、自動的にそのブックを閉じたい
Windows Vista・XP
-
11
エクセルマクロ 【空白セルを無視する方法を教えてください】
Excel(エクセル)
-
12
Excel2000/VBA:値と書式のみ貼り付けたい。
Excel(エクセル)
-
13
エクセルvba (ByVal Target As Range)について
Excel(エクセル)
-
14
マクロでプリンタ、用紙、給紙先を指定するには?
Excel(エクセル)
-
15
VBAで指定シート以外の選択
Visual Basic(VBA)
-
16
Excelブックがアクティブになっているかどうか
Visual Basic(VBA)
-
17
VBA セルに合わせて移動するが、サイズ変更はしない
Visual Basic(VBA)
-
18
VBA 同じ名前のオブジェクトを選択したいのですが
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelマクロのエラーを解決した...
-
他のシートから値をコピーし、...
-
VBA 計算式で10%未満だったら...
-
VB:アクティブなシート以外で...
-
ユーザーフォームに入力したデ...
-
シート毎に別々のファイルに保...
-
実行時エラー'1004': WorkSheet...
-
エクセルで通し番号を入れてチ...
-
ExcelのVBAでのグラフ操作について
-
【ExcelVBA】全シートのセルの...
-
VBA 最終行まで数式をコピーする
-
XL:BeforeDoubleClickが動かない
-
特定の文字を含むシートだけマ...
-
VBA 存在しないシートを選...
-
ACCESS VBAで、エクセルファイ...
-
VBAで複数のシート名を置換する...
-
ExcelVBA シート名を複数セルか...
-
ACCESS VBAで作成済のExcelのコ...
-
シート名の一部を変更する方法...
-
エクセルVBA 別シート間の列の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定の文字を含むシートだけマ...
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
ユーザーフォームに入力したデ...
-
実行時エラー'1004': WorkSheet...
-
XL:BeforeDoubleClickが動かない
-
エクセルVBA Ifでシート名が合...
-
実行時エラー1004「Select メソ...
-
エクセルのシート名変更で重複...
-
【ExcelVBA】全シートのセルの...
-
VBA 存在しないシートを選...
-
ブック名、シート名を他のモジ...
-
Excel チェックボックスにチェ...
-
VBA 検索して一致したセル...
-
エクセルで通し番号を入れてチ...
-
シートが保護されている状態で...
-
【VBA】特定の文字で改行(次の...
-
ExcelのVBAのマクロで他のシー...
-
Worksheet_Changeの内容を標準...
-
EXCELVBAを使ってシートを一定...
おすすめ情報