シート複製のやり方を教えて下さい。
sheet1を原紙といたします。"C3"に 日付(6/1) が入っています。
"E3"に1班~4班とリスト表示しています。
作成のボタンを作りボタンを押すことによりコピーしてシート2に複製したいです。
例えば、
複製シート名を"C3"に日付(6/1)と"E3"に1班をピックアップして
シート名を " 6,1(1班)と緑色" と表示。
(2班)を青色表示。(3班,4班)をオレンジ色に 一覧と紐付の左側に最新複製シート表示したいと思います。どの様にしたら良いのか教えて下さい。
お願いします。
No.6ベストアンサー
- 回答日時:
sh1,sh2みんな要らないですね。
Worksheets("原紙").Copy After:=Worksheets(Worksheets.Count)
with Worksheets(Worksheets.Count)
.name=format(Range("C3"),"m.d")&Range("E3")
.Tab.ColorIndex = 8
End With
でどうでしょう?
有難うございます。あと少し教えて下さい。Range("E3")のE3のセルの値が変われば、コピーして追加のシートに色を変更かけたいのですが
どようにしたらよいのでしょうか。E3に1班→2班になれば追加シートにオレンジ色という内容になります。お願いします。
No.5
- 回答日時:
怒っているのでは、ありません。
あなたは多分意識していないと、思ったので
客観的にみるとこうですよと、伝えたかっただけです。
つまり出来なかったときは、その症状詳細を伝えるための
分析が必要、そこからあなたの理解も始まっているんです。
それをすっ飛ばして聞いてたら右から左へ受け流すだけ。
どこがおかしいか、ひとつづつ解決しないとプログラムなんて
出来っこありません。姿勢が大切なんです。
例えば
Application.ScreenUpdating = False
こんなの完成してから、入れるべきもので
人に訊くのに入れてる時点で、程度が知れます。
〇最初の
With sh1
どうして withが必要?
〇また答えてもらってないけど尋ねた
sname =Mid$(Range("C3")."m/d") & Range("E3")
がWithの中にある目的は?
format(Range("C3"),"m.d")&Range("E3")
がしたいことじゃないのかな?
ね、一行一行真剣に取り組まないとちゃんとしたものなんて
出来ないんです。
〇まずね、複製は原紙から作るんですよね。
その時シートの名前は原紙(2)とかにならないですか?
For cnt = 1 To Worksheets.Count
で名前探してるけど、変えたい名前はまだ探しても
ないんじゃないかな?
一気に仕上げたいのは、誰でもそうですけど
一行一行動作確認しなきゃいけないのも、また事実なんです。
全部一気に訊こうと思わないで、どうしても動かないのが
理解できないポイントひとつづつを尋ねるのがきっと
あなたのためになると思います。
ステップ実行や、ブレークポイントは理解していますか?
それは、最低限マスター願います。
No.4
- 回答日時:
>としましたが出来ません。
教えて下さい。出来ませんだけしか言わないのはとても失礼なことです。
あなただけがエラーが起きた、もしくは思い通りにならなかった
症状を確認しています。エラーなら発生した行をみているのも
あなただけなんです。
それらを伝えないで、いちから考えろというのは非合理的以外の
何物でもありません。
>sname =Mid$(Range("C3")."m/d") & Range("E3")
これって何がしたいんですか?
Rangeに"m/d"なんてメンバーあるわけないと思いますけど。
No.3
- 回答日時:
VBAの勉強目的であれば、No.1・No.2の回答者さんの仰る方法でよいと思います。
実務目的なら、一つずつ手でやりましょう。
例え分類するシート数が300あっても30分もあれば作業は終わります。
(どう考えても今回限りの作業のようなんです)
有難うございます。分かりやすい表ですが実際は、更に関数やシートが複数存在します。
ただ多数の人が携わっているためか原紙が消せらてたり関数が勝手に違うセルを指定されているのが現状です。
いくつものシートを先に作成するとどれがどれなのか入力がなかったりしてしまいます。サービス残業を極力へらしたいと思っています。
No.2
- 回答日時:
とりあえずエクセルのVBAの本を購入しましょう。
それを読んで、ある程度わかれば、あなたのやりたいことはかなえられます。
有難うございます。この様にしてみたのですが…
Sub シート複製()
Dim sh1 As Worksheet, sh2 As Worksheet
Dim cnt As Integer
Dim sname As String
Application.ScreenUpdating = False
Set sh1 = Worksheets("原紙")
With sh1
.Copy After:=Worksheets(Worksheets.Count)
sname = Mid$(Range("C3")."m/d") & Range("E3")
End With
For cnt = 1 To Worksheets.Count
If Worksheets(cnt).Name = sname Then
sname = sname & "(2)"
Exit For
End If
Next cnt
Set sh2 = Worksheets(Worksheets.Count)
With sh2
.Name = sname
.Tab.ColorIndex = 8
End With
Application.ScreenUpdating = True
End Sub
としましたが出来ません。教えて下さい。
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/01/25 11:42
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Access(アクセス) Access2016でフォーム内にExcelの複数シートを 表示させるイメージで複数テーブルの デー 1 2022/11/25 15:30
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Excel(エクセル) vba 同じブック内での転記について 4 2023/01/15 14:42
- Excel(エクセル) 複数のExcelブックのシート1の内容を1つのExcelブックにコピー貼り付けたいのでvbaコードを 7 2023/02/10 23:20
- Visual Basic(VBA) 【ExcelVBA】動的にボタン、ボタン名を生成できますか? 7 2022/04/08 12:54
- Excel(エクセル) EXCEL ActiveX コマンドボタンで実行する前にいったんmsgBoxで確認を求めたい 1 2022/07/06 19:41
- Excel(エクセル) iphonからone driveに保存してあるExcelを閲覧すると表示の仕方がちがうデータ 2 2022/12/21 13:51
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/06/19 10:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで複数のシートを一度に「...
-
エクセルでブック内の倍率がバ...
-
エクセルで複数のシートに画像...
-
Accessのテーブルを既存のExcel...
-
特定のシートのみ再計算させな...
-
Wordで差し込み印刷時に表示す...
-
ワークシートそのものの色を変...
-
EXCELの「シートの見出し」のフ...
-
accessへエクセルの複数のシー...
-
EXCELの図形(テキストボックス)...
-
PowerQueryで行数の指定はでき...
-
エクセルでシートを追加したと...
-
【ExcelVBA】マクロの入ったシ...
-
エクセル 非表示のシートをハ...
-
エクセルのシート連番の振り直し
-
エクセル、特定のシートにパス...
-
エクセルを開くとメニューバー...
-
SUMIF関数【複数のシート...
-
【Excel VBA】コンボボックスで...
-
指定したシート名以外を非表示...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで複数のシートを一度に「...
-
エクセルで複数のシートに画像...
-
特定のシートのみ再計算させな...
-
エクセルでブック内の倍率がバ...
-
ワークシートそのものの色を変...
-
【ExcelVBA】マクロの入ったシ...
-
エクセルの2つのシートを並び...
-
EXCELの図形(テキストボックス)...
-
ハイパーリンクでジャンプした...
-
エクセルのシート連番の振り直し
-
特定の複数のシートに同じ処理...
-
エクセルのシー名を二段表示に...
-
Wordで差し込み印刷時に表示す...
-
エクセルで、シートの名前を変...
-
エクセルでリンク貼り付けした...
-
エクセル、特定のシートにパス...
-
accessへエクセルの複数のシー...
-
Accessのテーブルを既存のExcel...
-
【Excel VBA】データ貼り付け先...
-
EXCELの「シートの見出し」のフ...
おすすめ情報