
一つのブックに、シート”入力票”及びシート”様式”があるとします。
入力票にデータ入力することで様式に反映(様式は日付ごとに別シートが生成)されるようなものをイメージしています。
入力票B3セルには日付が入力([Ctr]+[;]で)されるとします。
日付が入力されたのち、入力票上に別途作成されたコマンドボタンを押下すると、シート”様式”がコピーされ、シート名を入力票のB3セルに入力された日付(月日のみで表示)として生成される処理をご教示願います。
シート様式は、原本扱いなので、そのまま残ります。
VBA初心者でマクロの記録では作成できたのですが、汎用性のあるコードに修正できず苦労しております。
No.2ベストアンサー
- 回答日時:
>入力票にデータ入力することで様式に反映
ここについては、マクロの記録で作成されているとして
>入力票上に別途作成されたコマンドボタンを押下すると、シート”様式”がコピーされ、シート名を入力票のB3セルに入力された日付(月日のみで表示)として生成される処理
Private Sub CommandButton1_Click()
Dim nShtName As String
'入力チェック
If Sheets("入力票").Range("B3") = "" Then MsgBox ("日付を入力してください"): Exit Sub
'----
'出力用データの作成
With Sheets("入力票")
' 変数 = データ
' 配列など = データ群
End With
'様式シートを複製
nShtName = Format(Sheets("入力票").Range("B3"), "m月d日")
Worksheets("様式").Copy After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = nShtName
'----
'出力(書き込み)
With Sheets(nShtName)
' データ = 変数
' データ群 = 配列など
' .Range = Sheets("入力票").Range
End With
End Sub
どの部分に記録で作成したマクロを入れるかですが、
サンプルの様にデータ作成と書き込みに処理を分ける事が難しいようであれば、
'様式シートを複製の前に
念のため 様式シートの入力箇所をクリアー
'様式シートに入力票シートの内容を入力して、(記録で作成されマクロ)
様式シートを複製 のような手順になるかと思います。
様式シートに入力票シートの内容を入力は、
シートイベントなどで都度、様式シートに値を入れていくのも良いのですが
数式での参照は、コピーされてしまうので不具合の元です。
様式シートには、他のシートを参照する関数式などは禁物ですよ。
No.1
- 回答日時:
自身もコード見ないと何とも言えませんが、
1)シートのコピー
2)その後にシート名を変える
その仕様のマクロを自動記録で作ります。
たぶん、手動でシート名を変えるマクロのところで、新しいシート名が読み取られると思います。””(ダブルコーテーション)でくくって出ます。
その前の命令で
シート名=Range(”B3”)
と一行挿入
新しいシート名のところを「シート名」に置き換えればできないでしょうか。
(VBAコードが提示されていないので、イメージでしかコメントできませんが…。)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル マクロを使って日々...
-
Excelの選択肢をポップアップリ...
-
VBA セルの値と同じ名前のシー...
-
IF, ISNUMBER, INDIRECTの組み...
-
エクセル:複数シートのデータ...
-
excel vba 複雑な奴です
-
エクセルで入力シートから別シ...
-
エクセル 毎日更新する表のデ...
-
ExcelVBAで、指定したシートに...
-
エクセルで入力→日付を自動判別...
-
Excelで数値→文字列変換で指数...
-
Excelで行ごとコピー、同じ行を...
-
テキストボックス内の文字のふ...
-
Excelの関数について、特定の文...
-
日付が1年以内になると他のセル...
-
エクセルでグラフタイトルが折...
-
負のデータが含まれている場合...
-
エクセルにおける、グラフの指...
-
C+vのvは英語で何の頭文字...
-
【Excel】貼り付けた画像がいつ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで入力シートから別シ...
-
エクセルのワークシートが重く...
-
VBA セルの値と同じ名前のシー...
-
Excel ハイパーリンク先のセル...
-
Excelの中央値の複数条件について
-
IF, ISNUMBER, INDIRECTの組み...
-
エクセルで入力→日付を自動判別...
-
ExcelVBAで、指定したシートに...
-
エクセル マクロを使って日々...
-
VBAを利用しオートフィルタで日...
-
【Excel】VLOOKUP関数で複数の...
-
エクセルにて別シートの値を参...
-
VBAのoffsetの動き方について教...
-
Excel 複数のシートからグラフ...
-
エクセルについて質問です 日付...
-
EXCEL VBA 一致しないデータの...
-
エクセルVBA:表の内容を担当者...
-
指定した日付の範囲内でデータ...
-
Excelマクロで毎月のデータ一覧...
-
Excel日付変更との参照先の連動
おすすめ情報