
いつもお世話になります。
エクセルのシート名の入力について質問です。
「A1」に「あああ」と入力したらシート1の
名前が「あああ」となるようにしたい。
さらに「B1」に「いいい」と入力したらシート2の
名前が「いいい」となるようにしたい。
この質問が↓近いのですが、A1のみ?
http://oshiete1.goo.ne.jp/qa2025849.html
A1、B1、C1・・・・もしくは、A1、A2、A3・・・と
行で続いても列で続いてもいいのですが・・・
更にもう一つ質問がございます。
別のシートに連番を割り振ることは、可能でしょうか?
例えばシート1~シート20まで有るとします。
シート1のセルA5に「101」と数字を入力し
シート2のセルA5には「102」、シート3のセルA5には「103」と
連番を一挙にコピーできますでしょうか?
どうぞ宜しくお願い致します。
No.4ベストアンサー
- 回答日時:
A1、B1、C1…に入力された値をシート名にするマクロです。
シート名を入力するシートの「シート名タブ右クリック」→「コードの表示」で開く画面に貼り付けてください。シートに戻り値を入力するとシート名が変わります。
入力した列に対応するシートがないときや、シート名に使用できない値を入力したときはエラー表示しています
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo err0
If Target.Row = 1 Then
If Target.Column > Worksheets.Count Then
MsgBox ("対応するシートがありません")
Else
Worksheets(Target.Column).Name = Target.Text
End If
End If
Exit Sub
err0:
MsgBox ("入力したシート名が不適切です")
End Sub
以下は後半部分のマクロです。こちらのマクロはALT+F11でVBE画面を開き、「VBAProjectエクスプローラのシート名右クリック」→「挿入」→「標準モジュール」で表示される画面にペーストして下さい。実行はシート画面に戻って、ALT+F8を押してマクロ一覧からマクロ名(Macro2)を選択して実行します。(実行は手動です。値を入れても自動では動きません)
連番の開始値を入力するシート名、セルアドレスは実際のものに変更してください。なお連番は整数値を想定しています。
Sub Macro2()
Dim idx, cnt As Integer
Const sh As String = "aa" '連番のスタートを入力するシート
Const adr As String = "A5" '連番を入力するセル
If IsNumeric(Sheets(sh).Range(adr).Value) Then
cnt = Sheets(sh).Range(adr).Value
For idx = 1 To Worksheets.Count
If Sheets(idx).Name <> sh Then
cnt = cnt + 1
Sheets(idx).Range(adr).Value = cnt
End If
Next idx
Else
MsgBox ("開始値が数値ではありません")
End If
End Sub
でも質問の内容は「例えばこのセルに値を入力したら」という書き方ですから、たぶんこのままでは使えないかもしれませんね。その場合はご自身で修正をお願いします。
No.3
- 回答日時:
これは、マクロという機能を使用します。
マクロとは、特定の操作手順を登録しておいて自動化する機能だと思って下さい。
今回のケースだと、A1の内容をシート1の名前に、B1の内容を・・・と、繰り返し行う処理を登録しておいて、一括処理するということです。
プログラムの記述にはVisual Basic Ediorを使います。
対象のファイルを開き、「ツール→マクロ→Visual Basic Edior」
これでEditor画面が開きます。
次に、editor画面の「挿入→標準モジュール」
これで記述するメモ帳のようなものが表示されます。
Sub シート名入力
と入力し、Enterを押してください。自動で、End Subと表示されます。
Sub ~ End Sub の間に、先ほどのプログラムを入力して下さい。
連番入力も同じように行って下さい。
次に、Editor画面を閉じます。
Excelの通常の画面に戻ったら、「ツール→マクロ→マクロ」
シート名入力と、連番入力が表示されているので、任意の題名を選び、実行。
これで完成です。
No.2
- 回答日時:
No1の者です。
補足です。(1)シート名の入力
使えない文字列が含まれる可能性がある場合には、エラー処理も必要になるので注意して下さい。
(2)連番入力
10 & i ですと、101~109までしか使えません。
100 + i の方が良いです。
No.1
- 回答日時:
シート名の入力
Dim i As Integer
For i = 1 To Worksheets.Count
If ActiveSheet.Cells(1, i) <> "" Then
Sheets(i).Name = ActiveSheet.Cells(1, i)
Else
Exit For
End If
Next i
連番入力
For i = 1 To Worksheets.Count
Sheets(i).Range("A5") = 10 & i
Next i
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) シート参照を含む数式を連続コピー 3 2022/12/10 11:42
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) 前の(左隣の)シートを連続参照するように、あとから変更したい 1 2023/02/22 00:51
- Excel(エクセル) エクセル 別シートの各セルそれぞれの比率を計算したい 4 2023/08/05 15:20
- Excel(エクセル) Excel関数について質問です。 シート1に入力シートがあります。 =A1 =B1などで離れた数字な 5 2022/12/18 13:42
- Excel(エクセル) 3つのエクセルをそれぞれのシートのセルに反映させたいときはどうしたらいいでしょうか? 例えば①シート 4 2023/04/25 20:13
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Excel(エクセル) vba アクティブシートのA1セルの値を基準に複数のシートコピー&シート名を 6 2023/04/12 18:36
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のセルだけ結果がおかしい...
-
前の(左隣の)シートを連続参...
-
別シート参照のセルをシート毎...
-
Excel、同じフォルダ内のExcel...
-
エクセルの複数シートの保護を...
-
エクセルで前シートを参照して...
-
エクセルでファイルを開いたと...
-
EXCEL:同じセルへどんどん足し...
-
(Excel)マクロで複数シートを...
-
VBAで条件によりフォントサイズ...
-
シートの保護のあとセルの列、...
-
特定のシートの削除を禁止した...
-
エクセルVBAでパスの¥マークに...
-
エクセル 計算式も入っていない...
-
複数シートの特定の位置に連番...
-
EXCEL マクロで 同じフォルダ内...
-
【EXCEL-VBA】シートの有無を確...
-
Excel シートに画像が貼ってあ...
-
EXCELで1ヶ月分の連続した日付...
-
EXCELで同一フォーマットのシー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの複数シートの保護を...
-
前の(左隣の)シートを連続参...
-
別シート参照のセルをシート毎...
-
エクセルでファイルを開いたと...
-
特定のシートの削除を禁止した...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルで前シートを参照して...
-
エクセル 計算式も入っていない...
-
EXCEL:同じセルへどんどん足し...
-
Excel、同じフォルダ内のExcel...
-
複数シートの特定の位置に連番...
-
エクセルVBAでパスの¥マークに...
-
Excelのシートを、まとめて表示...
-
VBAで条件によりフォントサイズ...
-
【Excel関数】値が合致するセル...
-
Accessのスプレッドシートエク...
-
エクセルで前のシートを連続参...
-
VBAでシートコピー後、シート名...
-
EXCELで1ヶ月分の連続した日付...
-
シートの保護のあとセルの列、...
おすすめ情報