ファイル名をフォルダに作成するVBAを作りました。そのファイル名を①オプションボタン1~4を押したらファイル名の拡張子を除いてお尻に文字列”あ”を入れる。オプションボタン2を押す→い、3→う、4→えという風に。例)72030001(拡張子ナシ)あ。選択しない場合は選択を促す。ユーザーフォーム1,2,3,4のそれぞれのテキストボックス1にその値を転記する。②同じワークブックのシート1,2,3,4のそれぞれのB1セルにも同じ値を転記する。(ユーザーフォーム1=ワークシート1)仕事に必要で尚且つ最近VBAを始めたばかりで、どうすればいいのか困ってしまい相談しました。どうぞよろしくお願いします。
Sub test()
Const fpath As String = "C:\work\"
Dim nen As Integer
Dim wpath As String
Dim fname As String
Dim no As Integer
nen = Year(Date) - Year(DateSerial(2023, 1, 1)) + 72
wpath = fpath & nen
If Dir(wpath, vbDirectory) = "" Then
MsgBox "今年のフィルダが作成されていません"
Exit Sub
End If
fname = Dir(wpath & "\*.xlsx", vbNormal)
Do Until fname = ""
If Mid(fname, 5, 3) * 1 > no Then
no = Mid(fname, 5, 3) * 1
End If
fname = Dir()
Loop fname = wpath & "\" & nen & Format(Month(Date), "00") & Format(no + 1, "000")
ThisWorkbook.SaveAs fname & ".xlsm"
End Sub
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんばんは
オプションボタンは説明にあるのみで、どこにも出てこないので、どうなっているのかサッパリですが・・・
>オプションボタン2を押す→い、3→う、4→えという風に
単純に変数をひとつ作成しておいて、オプションボタンのクリックイベントで、その変数を「あ」、「い」、「う」・・に置き換えるだけで済みそうですね。
最終的に処理を行う際に、その変数の値を付加するようにしておけば良いでしょう。
変数にしなくても、フォームの非表示ラベルに記録しておいたり、シートの空きセルを利用するなどしても(どこに記憶しておくかだけなので)可能と思います。
>同じワークブックのシート1,2,3,4のそれぞれのB1セルにも同じ値を転記する。
シートのセル値を読むのとほぼ同様の処理で行えます。(右辺と左辺が変わるだけ)
例えば、シート名 "hoge" の「B10」セルに値 "fuga" を設定するなら
Worksheets("hoge").Range("B10").Value = "fuga"
といった要領です。
上記は文字列で直接指定していますが、もちろん変数で指定することも可能です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルVBA、ファイル名をセルの値で保存の方法を教えてください。 おそれいります。こちらで数々のエ 6 2023/06/30 22:17
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:12
- Visual Basic(VBA) 特定の文字を含むシートだけマクロ処理をしたい 1 2023/05/22 01:43
- Visual Basic(VBA) 【VBA】印刷マクロのループ処理が反映されません 3 2022/08/09 02:15
- Excel(エクセル) エクセルVBA、間違っているコード内容を正して頂けませんか? エクセルワークシートに納品書を作ったの 2 2023/08/02 21:13
- Excel(エクセル) このコードに追記事項の仕方を教えて下さい。 以下のコード内容に出てくる。セルH3が空白の場合、エラー 4 2023/08/03 00:22
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Excel(エクセル) エクセル2019でPDFファイル名に枝番号をつけたい。 アクティブワークシートを印刷した後の処理とし 4 2023/06/06 21:00
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~12/6】 西暦2100年、小学生のなりたい職業ランキング
- ・ちょっと先の未来クイズ第5問
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語 exitの使い方
-
Excel-vba 文字列と変数を...
-
VB6.0-整数と余りを求める
-
フォームを開くときに、コンボ...
-
VBAの定数の使い方で、計算値を...
-
バッチファイルで正規表現を使...
-
世界のナベアツ
-
1つ前の値を変数に保存する方法
-
ラジオボタンの値の取得につい...
-
DWORDって
-
c言語で乱数を扱うときの
-
3bitアップダウンカウンタ(Up/...
-
エクセルのマクロについて教え...
-
関数で複数の値を戻り値として...
-
VBAでダブルコーテーション入り...
-
エクセル、この関数の意味は?
-
配列の値を置換するにはどうす...
-
excelの、ある数式内の{}の意...
-
エラーの意味は? Lvalue req...
-
Accessで文字列のバイト数読み込み
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語 exitの使い方
-
フォームを開くときに、コンボ...
-
Excel-vba 文字列と変数を...
-
VB6.0-整数と余りを求める
-
数字の位ごとの値を表示するプ...
-
足して100になるような乱数のア...
-
VBAの定数の使い方で、計算値を...
-
C#で動的にコントロールを取得...
-
Nullってどういう意味ですか?
-
1つ前の値を変数に保存する方法
-
VBAで配列のNULL判定
-
DWORDって
-
DataGridView 複数行同時変更...
-
ラジオボタンの値の取得につい...
-
4択問題のプログラムでランダム...
-
フリーランタイマーの時間差分...
-
関数で複数の値を戻り値として...
-
VBA コンボボックスの値をスピ...
-
世界のナベアツ
-
long型のランダムな値を返す方法
おすすめ情報
すみません補足します。ユーザーフォーム90のコマンドボタン1を押すとユーザーフォーム0が開き、ユーザーフォーム0にオプションボタンが縦に4つ並んでいます。そして今回依頼の流れになります。記載のコードは他の方にお願いして書いて頂いたものです。勉強中の身で、切迫しており何分よろしくお願いします。