- ベストアンサー
vba 「02」を返したいのですが
Meegerenの回答
- Meegeren
- ベストアンサー率44% (204/459)
Debug.Print Format(Date, "mm") Month関数自体が不要。
関連するQ&A
- DatePartを関数使うと、スペースがはいる
Sub test1() Debug.Print Format(Date, "m") End Sub Sub test2() Debug.Print DatePart("m", Date) End Sub 二つを実行すると、DatePartの場合は 戻り値の前にスペースが入ります。 「12」 「 12」 という結果になります。 なぜなのでしょうか?
- ベストアンサー
- その他MS Office製品
- VBA 日付型を8桁数値へ変換
VBAの中で、Date型の日付をバッチファイルに渡す時に、8桁数値へ変換したいのですが、0埋めのやり方が分からずに困っております。 Date型 yyyy/mm/dd 8桁数値 yyyymmdd Private Sub cmdBSubmit_Click() Dim rc As Integer Dim sDate As Date Dim eDate As Date '開始日・終了日処理 sDate = DateAdd("d", -5, txtsDate) eDate = DateAdd("d", 5, txteDate) Debug.Print "----------------------" Debug.Print "開始日-5:" & sDate Debug.Print "終了日+5:" & eDate 'パブリック変数へ、日付格納 sDateP = Year(sDate) & Month(sDate) & Day(sDate) eDateP = Year(eDate) & Month(eDate) & Day(eDate) Debug.Print "----------------------" Debug.Print "開始日:" & sDateP Debug.Print "終了日:" & eDateP rc = MsgBox("開始日 : " & sDate & vbCrLf & _ "終了日 : " & eDate & vbCrLf & _ "抽出を開始します宜しいですか?", vbYesNo + vbQuestion, "確認") If rc = vbYes Then '集計バッチを実行 'MsgBox "実行" Call 抽出 Else '中止 MsgBox "中止" End If End Sub 'パブリック変数へ、日付格納 sDateP = Year(sDate) & Month(sDate) & Day(sDate) eDateP = Year(eDate) & Month(eDate) & Day(eDate) この書き方だと、月・日が一桁の場合、例えば「2013/01/01」だと、”201311”になってしまいます。 これを、"20130101"にしたいのですが、どう書けば宜しいでしょか? 最初から、8桁日付で入力すればよいのでしょうか、入力した日付の前後5日を自動的に増やす必要がある為に上記の仕様にしてます。
- ベストアンサー
- Excel(エクセル)
- VBA 複数の文字のコードを一気に返すには
Sub test1() Dim myStr As String myStr = "abc" Debug.Print Asc("a") Debug.Print Asc(myStr) End Sub このコードは、どちらも97が返るのですが、 myStrは3文字です。 3文字全ての文字コードを返すには、 Sub test2() Dim myStr As String myStr = "abc" Debug.Print Asc(Mid(myStr, 1, 1)) & Asc(Mid(myStr, 2, 1)) & Asc(Mid(myStr, 3, 1)) End Sub のようにするしかないのでしょうか?
- ベストアンサー
- オフィス系ソフト
- vbaで今年があと残り何日かを求めたいのですが
vbaで今年があと残り何日かを求めたいのですが Sub test() Debug.Print Year(Date) & "/12/31" - Date End Sub これだと、型が一致しませんになります。 なぜエラーになるのでしょうか? その原因がわかれば解決できそうな気が・・・
- ベストアンサー
- その他(プログラミング・開発)
- VBAコードでイミディエイトウィンドウを表示する方
VBAコードでイミディエイトウィンドウを表示する方法はありますか? 例えば、 Sub test() Debug.Print Now End Sub を実行したときに イミディエイトウィンドウが表示されていなければ結果がわかりませんよね。 Ctrl+Gでイミディエイトウィンドウを表示出来る事は知っていますが サブプロシージャーと実行とともに、 イミディエイトウィンドウをVBAで表示する方法を教えてください。 Sub test() Debug.Print Now イミディエイトウィンドウを表示 End Sub のようにしたいです。 ご回答よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- VBAで期間が何か月間なのかを取得する方法
VBAで期間が何か月間なのかを取得する方法を教えてください。 Sub test1() Dim dateStart As Date Dim dateEnd As Date dateStart = "2013/1/1" dateEnd = "2013/12/31" Debug.Print 12 & "カ月です" End Sub この場合、12か月ですが、 例えば dateStart = "2013/7/1" の場合、6カ月を返したいのですが それを取得するコードを教えていただけますか? よろしくお願いします。
- ベストアンサー
- Excel(エクセル)
- エクセルvba 検索対象をシートではなく、ブック全
このコードでシート内に検索文字があるかどうかを取得できるのですが 検索対象をシートではなく、ブック全体にするには どうすればいいでしょうか? Sub Sample() If Not Cells.Find(What:="test", LookAt:=xlPart) Is Nothing Then Debug.Print "あります" Else Debug.Print "ありません" End If End Sub
- ベストアンサー
- オフィス系ソフト
- ひらがなとカタカナを区別して置換するには?VBA
カタカナの「ア」があるのなら置換したいので Sub test() Debug.Print Replace("ア111", "ア", "") End Sub としたのですが、これで問題なく置換されるのですが どうやらひらがなの「あ」も上記のコードで置換されるようです。 Debug.Print Replace("あ111", "ア", "") だと、返り値が「111」でした。 ひらがなとカタカナを区別するには小津すればいいでしょうか? Replace("あ111", "ア", "")の返り値は「あ111」がいいです。
- ベストアンサー
- オフィス系ソフト
- VBA 「何時間何分何秒」にするにはどうすればいい
Declare Function GetTickCount Lib "KERNEL32" () As Long Sub Sample() Debug.Print GetTickCount & "ミリ秒" End Sub これで取得される値を 「何時間何分何秒」にするにはどうすればいいでしょうか? Format(GetTickCount, "hh:mm:ss") にするとなぜかオーバーフローしてしまいました。
- ベストアンサー
- オフィス系ソフト
お礼
ありがとうございました。