• ベストアンサー

VBA シート名を先月の名前にしたい

bin-chanの回答

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

> 当月ならうまくいくのですが 「どうやったか」は質問文中に書くべき =format(Now()-day(Now()),"yyyy年m月")

mattbianco2011
質問者

お礼

申し訳ありません ActiveSheet.Name = =format(Now()-day(Now()),"yyyy年m月") でうまくいきました。 感謝します。

関連するQ&A

  • VBAコード”当月”のシートの選択

    いつもお世話になっております。 下記についてどうしてもうまい方法が思いつかないので、 どなたかご教示願います。 ・当月のシートを選択させたい ・詳細 エクセルBOOKでシート名が【2019年4月】【2019年5月】【2019年6月】があり、 今後も7月8月と増えていく →このシートの中の”当月”のものを選択させたい! ※月が新しくなる度に書き換えるてまを省きたい。 以上です。 どうぞご回答お願い致します。

  • エクセルVBAでシート名を変更する方法を教えて下さい。

    いつもお世話になっています。 エクセルである月ごとの表を作っています。 1シートひと月で、翌月はそのシートをコピーして新しいシートを作り、 使用しています。 VBAでシートをコピーすることはできたのですが、 その名前を翌月にする方法がわかりません。 シート名は単純に4月分なら「4」 5月分なら「5」です。 4月のシートをコピーすると、シート名が 「4(2)」となりますが、 これを自動で「5」とするにはどうしたら良いのでしょうか?

  • vba 西暦年表示の件

    お世話になります。 VBAで、西暦年表示を下2桁で表示させたく、 そして、月も含めて大文字に変換してエクセルシート のシート名としたいのです。 下記の様なイメージです。 月表示は一桁の月は一桁表示です。 シートは当月と次月分と二つ作りたいのですが、 ご教示頂きたく宜しくお願い致します。        記   ○○年○月

  • シートの名前の変更について(VBA)

    いつもお世話になっております。 VBAでシートの名前の変更を行おうと考えています。エクセルのシートで手動でシートの名前変更を入力すると使用できない文字は、入力が出来ないようになっています。VBAでテキストボックスへの入力を同じように規制する場合、Change()を使って1文字づつチェックするルーチェンを組むしかないのでしょうか? 取って置きの手法がありそうな気がしますが、思いつきません。どなたか?助けて頂けないでしょうか?よろしくお願いいたします。

  • vba ブック間でシート名のコピーをするには

    始めまして、よろしくお願いします。 excel vba 初心者のものです。 2つのブックがあり同時に開いている状態です。1つのブックはデータがあります。 もう1つは空のブックです。 データのあるブックのシートには、 シート1のシート名は「8月1日」 シート2のシート名は「8月2日」 シート3のシート名は「8月4日」 シート4のシート名は「8月5日」 シート5のシート名は「Sheet1」 やりたいこと データ、シート名があるブックから、 空ブックのシートにシート名をコピーしてきてセルに貼り付けたいです。 シートに名前を付けてるシート数は不規則なので「Sheet1」まで来たら終了したいです。 どうぞご教授の程よろしくお願い申し上げます。

  • VBAでのエクセルワークシート作成について

    お世話になります。 VBAで、オープンにしているエクセルファイルで、 シートを検索してシート「TEST」(仮名)が見つからなければ 「TEST」名で新規ワークシートを作成する。 尚且つ、「TEST2」のシート(一番後ろにあるシート)の前に 作成したいのです。 何卒、ご教示下さいます様、宜しくお願いします。

  • VBA シート操作

    エクセル2002使ってます。 VBAにて雛型のシートを27枚コピーし、集計用のシートに入力されている名簿の名前の通りにシート名を変更したいと思い、式を組みました。 しかし、雛型のコピーまではできましたが、シート名を上手く変更できません。 シート名を変更したいシートは雛型(2)~雛型(28)の名前で、ブックの一番左から並んでます。 これをシート名変更するにはどうすればいいでしょうか?

  • VBAでエクセルをシート名を気にせず読み込むには?

    ACCESS2000のVBAでエクセルを読んでいるプログラムを作成しています。 今までは、その受け取っているエクセルのシート名が固定だったのですが、次回からシート名が可変になります。そこで相談なのですが、シート名が可変でも読み込む方法はありますか。ちなみにシートは1つです。(インポート以外でお願いします。) 現在のコーディング例 一部抜粋 Dim wb As Workbook 'ワークブック Dim ws As Worksheet 'シート 'マスタのExcelファイルを開く Set wb = Workbooks.Open("test") Set ws = wb.Worksheets("SHEET1") <=ここが可変になります。 i = 0 Do Until IsEmpty(ws.Cells(StartRow + i, StoreNoCol)) nohindate = ws.Cells(StartRow + i, 2) '日 i = i + 1 Loop 宜しくお願いします。

  • エクセルVBAの処理でブックの中に複数のシートがあり、そのシート名と同

    エクセルVBAの処理でブックの中に複数のシートがあり、そのシート名と同じ名前の他のブックにそのシートを順々に挿入していきたいのですがどうすればよいのでしょうか。 宜しくお願い致します。

  • エクセルのVBAでシート名が重なるときの処理 

    お世話になります。 エクセルのVBAにてリストボックスで選択した単語をシート名に 反映させるマクロを作成しました。 が、一度シート名を作ると2回目に同じ単語を選択すると、 デバック?画面になってしまいます。 『同じ名前のシート名は作れません・・・』 希望としては、同じ名前が出たら自動に連番が割り振られる ようなものを希望しています。 マクロの記録で確認しても、やはり同じデバック要画面がでます。 別シートにシート名を反映させて、同じ名前がヒットしたら 文字列を追加して、そのシートに反映し続ける・・・ ようなことは考えられますが、どうも不細工で気が向きません。 もっとスマートな考えがあれば教えていただきたく よろしくお願いします。 参考に作ったVBAを下記します。 これだと、途中でシートを削除してしまうと デバック画面が発生してしまいます。 (マクロの切り抜きなので、  リストで選択したものが反映されるマクロではありません) Dim シート名 As String Dim n As Integer Sheets("伝票マスター").Select Worksheets("伝票マスター").Copy before:=Worksheets("伝票マスター") n = Sheets.Count Sheets("伝票マスター (2)").Select ActiveSheet.Name = "伝票" & n - 1 Range("D2") = n - 1 Range("D1").Select 、