
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
FindとCopyの間の「7行目のSelect」と「B7のActivate」は、どんな操作を記録したんですか?ここが決め打ちだとFindした意味が無いですよね。
たぶん、「その行をシフト+スペースで選択して」の部分だと思いますが、ここをちょっと工夫すれば、行けそうな気がします。
ちなみに、私の環境(Excel2010)では、「シフト+スペース」が上手く機能しなかったので、「End、Shift+→」で記録すると次のようになりました。これで、うまくいきませんかね?
Cells.Find(What:="総計", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, MatchByte:=False, SearchFormat:=False).Activate
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
ちょっと話は逸れますが、「総計」って、行の計と列の計の2ヶ所ありませんか?
これって、欲しい方がちゃんと検索できるように、すでに考慮済みと考えて良いのですよね?
No.5
- 回答日時:
こんにちは、
Dim myRange As Range
Dim srcRow As Long
Dim keyWord As String
keyWord = "総計"
With ActiveSheet
Set myRange = .Range("A1:A" & .Cells(Rows.Count, "A").End(xlUp).Row)
On Error Resume Next
srcRow = myRange.Find(keyWord, LookAt:=xlWhole).Row
If Err > 0 Then
MsgBox (keyWord & "は、ありませんでした")
Else
.Rows(srcRow).Copy
.Rows(1).Insert Shift:=xlDown
.Range("A1").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End If
End With
サンプルを書きました、参考に成ればと思います。
変更や改修が必要になった時は、ご自身で直せますでしょうか?
VBAは、ある程度のスキルがない場合、デバッグにはそれなりの時間コストがかかる事を
予め認識しておく必要があると思いますのでお願いします。
No.3
- 回答日時:
「コピーして別シートで加工する」ということですが、そもそもピボットテーブルをコピーするコードは書けているのでしょうか?書けているのであれば、補足にアップしてみて下さい。
もし、それすら書けないのであれば、総計の行を選択できたとしても、どうしようも無いですよね?
No.2
- 回答日時:
#1です
マクロ実行時に総計があるセルを探しに行くので、変わっても大丈夫だと思いますよ
何より、ミニマムを作成して検証してみては?
あと、コピーについてですが、総計の行に数式がある場合、コピー先によっては
エラー(正しく計算されない)になる可能性があります。したがって値のみのコピペが良いでしょう。
この辺りは、理解しておきましょう。
No.1
- 回答日時:
こんにちは、
色々方法はあると思いますが、行はともかく列も変わりますか?
一例として
Find メソッドを使用します。 https://www.tipsfound.com/vba/07030#:~:text=%E7% …
A列固定で行が変わる場合
Sub test()
Dim myRange As Range
Dim myObj As Range
Dim keyWord As String
Set myRange = Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row)
keyWord = "総計"
Set myObj = myRange.Find(keyWord, LookAt:=xlWhole)
If myObj Is Nothing Then
MsgBox (keyWord & "は、ありませんでした")
Else
Rows(myObj.Row).Select
MsgBox (keyWord & "は、" & myObj.Row & "行目にあります")
End If
End Sub
A列以外にも移る場合は、Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row)で変更します。
複数ある場合は、参考サイトをご覧ください。
対象の行を切り取って他の行に挿入するなどは、自動記録だも出来ると思いますので、この辺で
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) ピボットテーブルへの集計フィールド挿入 1 2023/02/26 11:33
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- Excel(エクセル) Excel シート複数 金額日計表と日付 簡単にシートコピーしたら前日の残高と日付を変更させたい 1 2022/07/15 22:10
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Excel(エクセル) 別シートに毎回異なるデータをコピーする 7 2022/06/24 09:02
- Excel(エクセル) VBA オリジナル関数で選択セルの合計を作成したい 3 2023/03/19 19:45
- Visual Basic(VBA) ExcelのVBAを使い、複数シートの同一箇所を、同一条件にて一括でソルバーを回す方法について 1 2022/04/23 11:49
- Excel(エクセル) 【Excelの集計について質問です。】 7 2022/12/03 16:51
- Excel(エクセル) Excel ピボットテーブルの表示方法を変更したいのですが、、、(合計値を下部に) 3 2023/06/18 21:10
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルのピボットテーブルの書式設定が、データ更新のたびに元に戻る
Excel(エクセル)
-
エクセルの複数シートの保護を一括でする方法を教えてください(編集したいセルあり)
Excel(エクセル)
-
ピボットテーブルオプション「更新時ににセル書式を保持する」
Excel(エクセル)
-
-
4
パワーポイントをエクセルファイルへ
PowerPoint(パワーポイント)
-
5
エクセルのピポットテーブルで月順に並びません
Excel(エクセル)
-
6
Excelで数値→文字列変換で指数表示になったものをいっぺんに直したい
Excel(エクセル)
-
7
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
8
VLOOKUP関数を使用時、検索する値は昇順に並べ替える必要がありますか。
Access(アクセス)
-
9
Excel で行を指定回数だけコピーしたい
Excel(エクセル)
-
10
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
11
Excleピボットでデータのない部分も時系列で表示したい
Excel(エクセル)
-
12
リストと一致する値のセルを塗りつぶしたい。
その他(Microsoft Office)
-
13
31:30:00が1900/1/1 7:30:0
その他(Microsoft Office)
-
14
【Excel】[Expression.Error] キーがテーブルのどの行とも一致しませんの解決法?
Excel(エクセル)
-
15
Excelピボットテーブルで余計な行を消したいのです
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
一つのシートの中に複数のペー...
-
エクセルでの並べ替え
-
エクセル 行と列の入れ替え
-
EXCELで「行幅」を保持したまま...
-
エクセルの行と列の入れ替え
-
エクセルへの表化を効率よくや...
-
集計表をエクセルで作成したい。
-
エクセルで作成した縦に長い表...
-
エクセルの関数について
-
Access2000のビルダ選択
-
エクセル2007の表示について
-
エクセル 相対参照ができない
-
VBAのスピードについてご教示く...
-
エクセルで行と列の入れ替えで...
-
エクセルで2±0.1のような数を計...
-
EXCEL(エクセル)で、0.01以上...
-
VBAのやり方とマクロ
-
複数の入力規則について教えて...
-
セルをクリックするだけで○で囲...
-
エクセル データを軽く出来ま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
一つのシートの中に複数のペー...
-
エクセルで作成した縦に長い表...
-
WEB上の表の列コピー選択方法は?
-
オートフィルタのリストを順番...
-
【エクセル】行挿入で数式もい...
-
エクセルVBAで、行コピーを複数...
-
Excelピボットテーブルで 総計...
-
ピボットテーブル→参照が正しく...
-
メモ帳からエクセルに貼り付け...
-
Excelの数式のコピーで列移動で...
-
エクセルのリストから欠番を拾...
-
エクセルの列幅
-
Excel 表から値をさがして隣の...
-
エクセルの関数の使い方 繰越...
-
エクセルに詳しい方、助けてく...
-
エクセルで各ページに同じ文書...
-
PDFからExcelに変換する時に「...
-
地番を順に並べたい。
-
Excelで検索結果をテキストボッ...
-
◆エクセルで行単位で重複検索し...
おすすめ情報
ありがとうございます!
項目数は変わらないので、列は固定です。
行だけ変わる感じです!
教えていただいたもので、総計セルを検索して、検索した行をコピーしてある行へ貼り付けるのをマクロで作成しようとすると、毎回行は固定されちゃいますか?
例えば今回総計がA50にあったとして
、総計の場所検索してコピーしてある行へ貼り付けます。その行をコピーして貼り付けます。
次回総計がA100にあったとしても、
A50の行をコピーされるのではなく、ちゃんとA100がコピーされますか?そんな都合の良い感じではできませんか?分かりにくくてすみません。
vbaできないので、マクロで操作を保存してます。
コントロール+Fで総計を検索して、
その行をシフト+スペースで選択して
A4のセルに貼り付けをしました。
貼り付けするところは同じですが、
やはり行が変わると、対応できないです。
検索は毎回できてます。
やはり無謀ですかね。。
どのようにすれば、検索した文字の列を選択できますでしょうか?お手数おかけします。