No.3ベストアンサー
- 回答日時:
同一ブック内にシートを追加し、指定範囲をA1基点に下方向に連続コピー
Sub Macro1()
Dim sno As Integer
Dim I As Integer
sno = Worksheets().Count
Sheets(1).Select
Sheets.Add
For I = 2 To sno + 1
Sheets(I).Range("BQ6:SC6").Copy
Sheets(1).Range("A65535").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Next
End Sub
適当に手直しをしてください。
回答ありがとうございます。
実行してみましたがデバックがおきてしまいました><
実行時エラー'1004'
アプリケーション定義またはオブジェクト定義のエラーです。
と表示がでます。改善点のヒントがあれば頂きたいです。
何度も申し訳ございません。
No.4
- 回答日時:
ChocoBambiさんがやりたいことって、ただ「値」に変換することですか。
拝見したコードは、個々のシートを「値」で貼り付けしているだけです。
個々のシートにある表を、一つのシートに纏めたい、のではなかったのですか?
実作業(やりたいこと)を、「マクロの記録」してくださいと、アドバイスを差し上げました。
コードを拝見すれば、例えば、For~Loop出来るような規則性があるのかどうか判断ができます。
残念ながら、提示していただいたコードでは何も分かりません。
> Sheets("Sheet1").Select
> Cells.Select
> Range("AC1").Activate
> Selection.Copy
> Selection.PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
は
Sheets("Sheet1").Cells.Copy
Sheets("Sheet1").Cells.PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
あるいは
With Sheets("Sheet1")
.Cells.Copy
.Cells.PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End With
というように纏めることができます。
大変申し訳ありません。
VBAの内容を理解せず文を区切ってしまったために、
最初に値にして貼り付けるの値にするところだけ抜粋してしまいました><
以下のコードが貼り付けの内容です。
ちなみに1.全部のシートを値にする。
2.BQ6から表のある範囲をCtrl+Shiftで表のある範囲を指定
表は(BQ6:SC6)一番左のセルだけ項目まで
コピーしてますがそれはなくても構いません。
3.集計というシートに貼り付け
ご指定ありがとうございます。
値のコードも纏めてみます^^
Sheets("○").Select
Range("BQ5:CS6").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("集計").Select
Range("A1").Select
ActiveSheet.Paste
Sheets("△").Select
Range("BQ6").Select
Range(Selection, Selection.End(xlToRight)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("集計").Select
Range("A3").Select
ActiveSheet.Paste
Sheets("□").Select
Range("BQ6").Select
Range(Selection, Selection.End(xlToRight)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("集計").Select
Range("A4").Select
ActiveSheet.Paste
No.2
- 回答日時:
マクロ作成時
>シート名が固定でない
Worksheets(シート番号)で指定すればシート名に左右されない。
>シート数が20~30と複数あり、数も決まってないこと
Worksheets.Countでシート数は確認できます。
For~Next文でセル範囲コピーを繰り返すことで集計できると思います。
早速のご回答ありがとうございます。
自分でVBAを解析する能力はなくて、For~Next文もどこに追加してよいのか分かりません。
WorkSheet(シート番号)でやるとセルの指定ができなくなってしまいます。
Worksheet,Countをどこにつけていいのかわかりません。
自業自得ですが、VBAのヘルプ機能はCDを無くしてしまって使えなくなってしまいました。
せっかくヒントを下さったのに申し訳ありませんが、自分で書き換えるのはやはりうまくいきませんでした(´・ω・`)
No.1
- 回答日時:
> VBAの貼り付け、マクロの自動登録くらいのスキルしかありません。
これを機会に、理解を深めていってください。
コードを拝見した方がアドバイスし易くなります。
表を2~3個、一つのシートにコピペする作業を「マクロの記録」して、得られたコードを提示してください。
表を纏めるシートをシート1と仮定します。シート1から記録を始めてください。
表のあるシートに移動、表の範囲を選択、コピー、シート1で「形式を選択して貼り付け」の「値」で貼り付け。
表の罫線とかも貼り付けるなら、そのままの状態で「形式を選択して貼り付け」の「書式」で貼り付け
次の表のあるシートに移動、以下同じ作業の繰り返し
といった手順になると思います。
全ブックの表を、ひとつのシートに集めるのですか?
それともブック単位で行えばよいのですか?
アドバイスありがとうございます。
こちらの情報が少なくて、申し訳ありませんでした。
ブック単位で集計です。
コードをとってみました・・・がとても自信がありません><
シート名は各店舗の名前が入っているので数字に変えてみました。
Sheets("1").Select
Cells.Select
Range("AC1").Activate
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("2").Select
Cells.Select
Range("AI1").Activate
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("3").Select
Cells.Select
Range("U1").Activate
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelの複数ファイルの複数行を別ファイル1つのシートにVBA、マクロで集約する方法 5 2022/09/13 06:30
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) EXCEL マクロで 同じフォルダ内の複数ファイルの複数行全体を選択して1つのファイルに集約 4 2022/09/27 18:41
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
- Excel(エクセル) 前の(左隣の)シートを連続参照するように、あとから変更したい 1 2023/02/22 00:51
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/01/25 11:42
- Excel(エクセル) エクセルの数式について ブック内の別シートの値の含まれたセルの個数を集計したい 全シート一覧のシート 1 2022/07/21 19:28
- Visual Basic(VBA) ExcelのVBAを使い、複数シートの同一箇所を、同一条件にて一括でソルバーを回す方法について 1 2022/04/23 11:49
- Excel(エクセル) 複数のExcelブックのシート1の内容を1つのExcelブックにコピー貼り付けたいのでvbaコードを 7 2023/02/10 23:20
- Excel(エクセル) マクロVBA別Excelブックにデータ転記 2 2022/07/10 23:35
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
複数シートの同じセル内容を1シートに順番に貼り付けたい
その他(Microsoft Office)
-
EXCEL VBAで複数シート内のセルをまとめて表を作成
Visual Basic(VBA)
-
EXCEL VBAで複数シートから該当列のみを別シート列方向に順番に貼り付け
Visual Basic(VBA)
-
-
4
エクセルVBA 別シートの複数のセルの値をコピーする方法
Excel(エクセル)
-
5
Excelで後ろにスペースを入れて文字数を一度に揃えることってできますか?
その他(ソフトウェア)
-
6
エクセルで複数シートのセルに同じ名前の定義を
Excel(エクセル)
-
7
エクセル 複数シートの同一セルを別シートへ集計
Visual Basic(VBA)
-
8
対象セル内(複数)が埋まったら文字を表示させたい
Excel(エクセル)
-
9
EXCEL:複数シートから特定行を一覧化したい
その他(Microsoft Office)
-
10
複数のExcelブックから特定シートの特定セル抽出
その他(Microsoft Office)
-
11
VBAで繰り返しコピーしながら下へ移動させる方法
Excel(エクセル)
-
12
VBAでシートコピー後、シート名が重複している時の処理
Excel(エクセル)
-
13
VBA別シートの最終行の次行へ転記したい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルVBAでパスの¥マークに...
-
エクセルの複数シートの保護を...
-
エクセルで前のシートを連続参...
-
EXCELで同一フォーマットのシー...
-
Excelで金銭出納帳。繰越残高を...
-
EXCELで1ヶ月分の連続した日付...
-
エクセルで、「1つ前のシート...
-
VBAでシートコピー後、シート名...
-
別シート参照のセルをシート毎...
-
スプレッドシートの関数VLOOKUP...
-
前の(左隣の)シートを連続参...
-
EXCEL:同じセルへどんどん足し...
-
シートの保護のあとセルの列、...
-
特定のシートの削除を禁止した...
-
VBA セルの値と同じ名前のシー...
-
複数シートの特定の位置に連番...
-
Accessのマクロを使用してExcel...
-
エクセルの数式について ブック...
-
Accessのスプレッドシートエク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルの複数シートの保護を...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルでファイルを開いたと...
-
EXCELで1ヶ月分の連続した日付...
-
エクセルVBAでパスの¥マークに...
-
EXCEL:同じセルへどんどん足し...
-
シートの保護のあとセルの列、...
-
別シート参照のセルをシート毎...
-
エクセルで前のシートを連続参...
-
前の(左隣の)シートを連続参...
-
EXCELで同一フォーマットのシー...
-
VBAでシートコピー後、シート名...
-
Excel 連番を入力する方法
-
エクセル 計算式も入っていない...
-
エクセルで前シートを参照して...
-
エクセルでシート名を自動入力...
-
Accessのスプレッドシートエク...
-
複数シートの特定の位置に連番...
-
エクセルのシート名をリスト化...
おすすめ情報