Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : 指定なし)
文字列がユーザー定義型になってしまう
投稿日時: 25/12/22 16:39:24
投稿者: blue_cars

お世話になります
  
文字列変数tmpStr6には文字列で1:2とか1:3とか1:4が入ります
  
db11Sh.Cells(1, "A").Value = Application.WorksheetFunction.text(tankaSh.Cells(1, "I"), "yyyy/m/d") & " " & tmpStr6
このように連結して
  
2025/12/22 1:2
2025/12/22 1:3
2025/12/22 1:4
文字列でいずれかがA1セルに入る事を期待したいのですが
  
2025/12/22 1:02
2025/12/22 1:03
2025/12/22 1:04
結果はユーザー定義型yyyy/m/d h:mmで入ってしまいます
  
何か方法があるでしょうか?

回答
投稿日時: 25/12/22 18:21:47
投稿者: 半平太

文字列データのままにしたいのであれば、
入力前にそのセルのNumberFormatプロパティを"@"(つまり文字型)に
設定しておけばいいんじゃないですか?

投稿日時: 25/12/22 19:01:17
投稿者: blue_cars

半平太さん
そう考えて手前で
db11Sh.Columns(1).NumberFormatLocal = "@"
 
入れていてもユーザー定義型になってしまうんですよ

回答
投稿日時: 25/12/22 20:27:00
投稿者: 半平太

そうですか。
こちらではトラブルが再現しないので、ちょっと分かりません。
他の回答者のレスをお待ちください。

回答
投稿日時: 25/12/22 21:23:46
投稿者: WinArrow

ヒント
 
    tmpTEXT = "1:2"
With Range("B1")
    .NumberFormatLocal = "yyyy/m/d h:m"
    .Value = WorksheetFunction.Text(40000, "yyyy/m/d") & " " & tmpTEXT
End With

投稿日時: 25/12/22 21:34:24
投稿者: blue_cars

半平太さん、お付き合いいただきありがとうございました
WinArrowさん、ヒントというか答えですね(笑
> "yyyy/m/d h:m"
で出来ました
ありがとうございました