アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは、ファイの中にエクセルデータが複数あります。
そのなかの一つ「ベース」というデータの1行目から7行目をそれ以外のエクセルデータの上部に挿入する事をマクロで制作する事は可能でしょうか?

チャットGPTで何度かチャレンジしていますが、ずっとNGでそもそもそんな事出来ないのでは?と思いました。

実際の所どうなんでしょうか?

A 回答 (6件)

前提として


(1)同じブックの中に、「ベース」「京都」「滋賀」「三重」…という複数のシートがある(別ブックではない)
(2)「ベース」シートも含めて複数あるシートの全ての1行目から7行目が同じものになる(例外はない)
(3)各シートの1行目から7行目に仮に空行があっても、特段の配慮はしない(空行処理しない)
(4)「ベース」シート以外のシートの元データは7行分下方向へ移動することでよい(並べ替えなし)
ということだとして、
>チャットGPTで何度かチャレンジしていますが、ずっとNGで・・・・
ということなので、こちらでチャットGPTに質問を投げてみました。以下のコードが提示されました。こうすればできるという最低限のコードのようです。参考にしてください。

Sub InsertRows()
Dim ws As Worksheet
Dim baseSheet As Worksheet
Dim i As Integer

Set baseSheet = ThisWorkbook.Sheets("ベース")
Application.ScreenUpdating = False
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> "ベース" Then
' Insert 7 rows at the top of the sheet
ws.Rows("1:7").Insert Shift:=xlDown
' Copy the range from the base sheet
baseSheet.Range("1:7").Copy
' Paste the copied range into the new rows
ws.Range("1:7").PasteSpecial xlPasteAll
End If
Next ws
Application.ScreenUpdating = True
End Sub
    • good
    • 1

No3です。

補足ありがとうございました。
追加の確認です。
1.複数のエクセルデータがあり、シート名は「京都」「滋賀」「三重」・・・となっています。 ということですが、

挿入先のシートですが、同じブック内の「ベース」以外の全シートに挿入する。・・・であってますか。

このシートだけは挿入したくないというようなシートはありますか。
他のブックのシートには挿入しませんがよろしいでしょうか。


2.挿入先の1行目の前に7行分を挿入する。と理解しましたがあってますか。添付図の上が挿入前、下が挿入後の画像です。

3.マクロをそのブックに組み込むと、拡張子はxlsmに変わります。
ベース.xlsxからベース.xlsmになりますが、よろしいでしょうか。
「エクセルマクロについて」の回答画像5
    • good
    • 1

>>パソコンのデスクトップにフォルダーが1つあり、その中にエクセルデータが複数はいっています。


1つのデータにシートが1つあります。

フォルダ内にエクセルブックが複数個有って、1ブック1シート構成だと解釈します。
そうで有れば、普通にvbaで記述出来ます。

必要な情報は、フォルダ名、フォルダ中のブック名(又は拡張子)、シート名です。
拡張子と言ってるのは、.xlsx全部を対象にする、とかの場合です。
ブック名が事前に解っていれば、ブック名で検索できます。
    • good
    • 1

たぶん、できると思いますが、あなたのなさりたいことが正確に伝わっていません。


不明点です。
1.「ベース」というデータ・・・と言ってますが、ベースというのはシート名のことでしょうか。
(添付図の青線で囲んだ名称)

2.1行目から7行目ということですが、横は何列までが対象になりますか。
(添付図の場合、赤線で囲んだ箇所が対象になりますが、この例ではE列までが対象となっています)

3.それ以外のエクセルデータの上部に挿入する・・・ということですが、
それ以外のシートは、1つですか。それとも、複数ですか。
1つなら、そのシート名は何ですか。
複数なら、添付図の例では、Sheet2,Sheet3となります。

4.エクセルデータの上部に挿入するの正確な意味が分かりません。
挿入前の状態と挿入後の状態の画像を提示していただけませんでしょうか。
「エクセルマクロについて」の回答画像3
    • good
    • 1
この回答へのお礼

こんにちは、下記に回答致します。
1. シート名もエクセルの名前もベースにしています。
2. 横はJ列までになります。
3. 複数のエクセルデータがあり、シート名は「京都」「滋賀」「三重」・・・となっています。
4. ここのエクセルにデータが入力されており、その上部にベースのデータを挿入し、最初からあるデータはその分下に下がるイメージです。

お礼日時:2023/05/06 13:31

こんにちは



きちんと論理的に決められる内容であれば、マクロ化することは可能です。

ご質問のような抽象的なレベルだと、『多分、可能でしょう』としか回答できません。
    • good
    • 0

>>ファイの中にエクセルデータが複数あります。



ファイルがエクセルブックかシートの事を指しているので有れば出来ます。
    • good
    • 0
この回答へのお礼

すいません、表現が下手でした。
パソコンのデスクトップにフォルダーが1つあり、その中にエクセルデータが複数はいっています。
1つのデータにシートが1つあります。
上記条件でも先程お聞きしたベースの1行目から7行目をその他のシートに挿入する事はマクロで対応可能でしょうか?

お礼日時:2023/05/06 13:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!