Excel VBA 質問スレッド №2018 (解決済)

別シートへの転記

投稿者 : vb初心者     投稿日時 : 2024/10/05(Sat) 08:50:38     OS : 未指定     EXCEL : 未指定
日々の記録を月報にまとめるためのVBAを見よう見まねで作成しています。
日々の記録が1、1(2)と増やすこともあるだろうと数字になっている全シートから当該の値を、抽出しようと思っているのですが、
うまく動作しません。日々のシートを選ぶことができないようなのですが。
お分かりの方、教えて欲しいです。
よろしくお願いいたします。
以下、Webからコピペしながら作成したものです。

Dim WS As Worksheet

For Each WS In Worksheets

If WS.Name <> "○" And _
WS.Name <> "☆" And _
WS.Name <> "◇" Then

Dim LastRow As Integer
LastRow = Cells(Rows.Count, 2).End(xlUp).Row + 2

WS.Select
Range("E6:H25").Select
Selection.Copy

Sheets("◇").Select
Range("B" & LastRow).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

WS.Select
Range("R6:R25").Select
Selection.Copy

Sheets("◇").Select
Range("L" & LastRow).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

End If
・・・

スポンサーリンク
[返信 1] Re : 別シートへの転記
投稿者 : ピロリ     投稿日時 : 2024/10/05(Sat) 11:09:27
■[質問] vb初心者さん(2024-10-05 08:50:38)の記事
> 日々の記録が1、1(2)と増やすこともあるだろうと数字になっている全シートから当該の値を、抽出しようと思っているのですが、
> うまく動作しません。日々のシートを選ぶことができないようなのですが。
どう上手くいかないのか分かりませんが、シート名の 1文字目が 「0」~「9」の数字なら「日々の記録シート」と判断して良いなら、下のような感じ?

Sub Sample()
    Dim FromSh As Worksheet         'コピー元の日々の記録シート
    Dim ToSh As Worksheet           'コピー先の集計シート
    Dim LastRow As Long
    
    Set ToSh = Worksheets("◇")                     'コピー先の集計シート
    For Each FromSh In Worksheets
        If Left(FromSh.Name, 1) Like "[0-9]" Then   'シート名の1文字目が数字ならば、
            LastRow = ToSh.Cells(Rows.Count, "B").End(xlUp).Row + 2
            FromSh.Range("E6:H25").Copy
            ToSh.Range("B" & LastRow).PasteSpecial Paste:=xlPasteValues
            FromSh.Range("R6:R25").Copy
            ToSh.Range("L" & LastRow).PasteSpecial Paste:=xlPasteValues
        End If
    Next
    Application.CutCopyMode = False                 'コピーモードの解除
End Sub

[返信 2] Re : 別シートへの転記
投稿者 : vb初心者     投稿日時 : 2024/10/05(Sat) 12:43:02
ピロリさん

説明が十分でない中で、回答ありがとうございました。
日々の記録以外のシートを除く設定がうまくできず、結果的にエラーが出続ける状況が数日続いていたのですが、
お陰様で解決しました。
「数字なら…」か。大変助かりました。

当掲示板について
  • Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
  • 記事内ではHTMLのタグは使用できません。
  • 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
  • Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
  • Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
お 名 前  :
内  容   :

ステータス  :

認証コード  : キャプチャ画像 




( 処理日時 : 2025-07-05 17:35:19 )
タイトルとURLをコピーしました