[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『日付シートの選択について』(ぷたろ)
分かる方がいらっしゃいましたら
コメントください ><
VBA初心者になります。
「20170224」や「20170210」といった日付シートが複数あります。
日々、最新の日付で更新するため
日付シートを削除したり、追加したりするので
シートネーム(日付)はバラバラです。
シート名がコロコロ変わらなければ
Sheets("20170224")というように指定したり、
固定位置であればSheets(1)で表すことが出来ますよね。
ですが、「20170224_最新版」や「20170210_旧版」といったように
日付のあとに文字が入っていた場合に
Sheets("")で指定することは可能なのでしょうか?
シートの並べ替えがしたいので、どうにかできないかと悩んでいます。
いくら調べてもこれといった内容が検索結果として出てこないため
こちらの方に投稿させていただきました。
よろしくお願い致します。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
とりあえず試す。が第一歩だと思いますが。。。
>シートの並べ替えがしたいので、どうにかできないかと悩んでいます。
「シートの並べ替え」で検索したらサンプルが見つかると思いますが?
おお。僕のエクセルにはシートの並び替え機能がついていた^^;;
http://software.opensquare.net/relaxtools/
便利だけどあんまりお勧めはしません。
(まっつわん) 2017/02/24(金) 12:28
Sub test() Dim AR As Object Dim i As Long
Set AR = CreateObject("System.Collections.ArrayList") For i = 1 To Sheets.Count AR.Add Sheets(i).Name Next i AR.Sort
For i = AR.Count To 1 Step -1 Sheets(AR(i - 1)).Move before:=Sheets(1) Next i End Sub (???) 2017/02/24(金) 13:11
ダウンロード形式では少し厳しいですね…
でもこういう機能がある物が知れて勉強になりました!
ありがとうございました^^
(ぷたろ) 2017/02/24(金) 13:18
起動してみました!日付シートが一番前に来るように
コードが書いてあるようですが、
Aシート、Bシート、日付シートといったように
並び替え可能なのでしょうか??
(ぷたろ) 2017/02/24(金) 13:21
For i = AR.Count To 1 Step -1 ↓ For i = 1 To AR.Count (???) 2017/02/24(金) 13:27
すみません
"Aシート"と"Bシート"の順番は降順ではなく、固定で、
日付は降順という意味です。
つまり、
A,Bシートは指定の順番、
Bシート以降は日付シート(降順)
ご説明不足で申し訳ありません。
(ぷたろ) 2017/02/24(金) 13:33
できました!
ご丁寧に、どうもありがとうございました。
(ぷたろ) 2017/02/24(金) 13:49
Sub test() Dim AR As Object Dim i As Long
Set AR = CreateObject("System.Collections.ArrayList") For i = 3 To Sheets.Count AR.Add Sheets(i).Name Next i AR.Sort
For i = 1 To AR.Count Sheets(AR(i - 1)).Move before:=Sheets(3) Next i End Sub (???) 2017/02/24(金) 13:59
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.