ここから本文です

エクセル初心者です。マクロでAフォルダのシートから必要な部分を Bフォルダのシ...

kir********さん

2018/11/3013:55:18

エクセル初心者です。マクロでAフォルダのシートから必要な部分を
Bフォルダのシートへコピーしたいのですが、
どうすれば必要な情報を抜き出せるかわかりません。

図のように空白は無視して、同じ人が居る場合は時間の早いほうだけ
Bフォルダのシートにコピーしたいのです。

青は行番号で赤は列番号です。
Aフォルダのシートはシート名が1(月初)から(月末の)31まであります。
Bフォルダのシートを新しく作っていく感じで出来るでしょうか?

シート,Bフォルダ,行番号,End With,Aフォルダ,エクセル初心者,Sort Key1

閲覧数:
56
回答数:
2
お礼:
250枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

tra********さん

2018/11/3016:52:00

ブック:A.xlsxからブックB.xlsx へコピーする例です。

Sub 一例です()
Dim sh As Worksheet
Application.ScreenUpdating = False
For Each sh In Workbooks("A.xlsx").Worksheets
With Workbooks("B.xlsx")
With .Worksheets.Add(after:=.ActiveSheet)
.Name = sh.Name
With sh
.Range("I1", .Cells(Rows.Count, "N").End(xlUp)).SpecialCells(xlCellTypeConstants).Copy
End With
With .Range("B1")
.PasteSpecial
With .CurrentRegion
.Columns(2).Cut .Columns(1)
.Sort Key1:=.Columns(3), Order1:=xlAscending
.RemoveDuplicates Columns:=1, Header:=xlNo
End With
End With
End With
End With
Next sh
Application.ScreenUpdating = True
End Sub

  • 質問者

    kir********さん

    2018/12/408:29:03

    有難うございます。
    "A.xlsx"のAと"B.xlsx"のBの所にファイル名を
    入れるのですよね!?
    私のエクセルのファイル名の形式が.xlsmに
    なっているのですが、関係ないものなのでしょうか?

    name=sh.nameのところはそのままで大丈夫ですか?

    なぜか上手く動いてくれません(>_<)

  • その他の返信(1件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜1件/1件中

プロフィール画像

カテゴリマスター

aka********さん

2018/11/3015:02:39

まず フォルダーでは 有りません。
フォルダーというのは ファイルを保存する場所の事です。
ブックまたは ファイルと 呼びます。

いろんなやり方があります。
初心者で 分かりやすいという事であれば

①Aブックのシートを シート毎Bブックにコピー
②時間で 昇順に ソートを 掛けます。
③名前で 重複の削除((データータブにあります)

これで できます。

これを マクロの記録をクリックした後 一度 行えば
マクロのコードが 自動で 書きこまれます。

後は マクロをみて 範囲が指定してるようなところを 修正します。

たとえば RANGE("A1:H200") などとなっていれば
RANGE("A:H") と しておけば その時のデーターの 行数が 違っても
問題なく できます。

このようにして マクロは 独学できます。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる