日付の書式設定を与えたセルの数式バーが望んだ表示にならない
Python
1import openpyxl as px 2from openpyxl.styles import numbers 3 4wb = px.load_workbook(file_path) 5ws = wb['Sheet1'] 6mr = ws.max_row 7 8datalst = ['3/4', '4/4', '5/4', '6/4'] 9n = 0 10 11for d in datalst: 12 tmp = ws.cell(row=mr+n, column=1) 13 tmp.value = d 14 tmp.number_format = 'm/d' 15 n += 1 16 17wb.save(file_path)
例として上記の様に、ファイル、シートを指定し
一番最後の入力されている行の次の行に日付を書き込み保存する
というコードとなります。
望んだ形としてはセル表示は「3/4」数式バーの中身は「2020/3/4」
といった形を目指しております。
(後からExcelをソートする際、年単位で区切る事ができる為)
上記ではリスト内のスラッシュ区切りの日付データをセルに書き込
み保存し、保存したファイルを開いて入力したセルの数式バーを確
認すると「3/4」のままとなっています。
一度セルをアクティブにしてあげると「2020/3/4」という表示に
数式バーが切り替わります。
普段手入力をする場合には、予め対象のセルには書式設定をしてあり
手入力で「3/4」とデータを入力すれば自動で「2020/3/4」と数式バー
は置き換わってくれます。
・ 見た目上は月/日
・ 数式バー上では西暦/月/日
以上の形を目指す為の方法がわかる方またはアドバイスを頂けると
幸いです。
試してみた方法
与えるデータを予め2020/3/4としてデータを渡した場合には数式バー
のみならず見た目上まで2020/3/4となってしまいました。
考察
恐らく処理のプロセスとしては
直接入力で対象のセルに値を入力→任意の書式設定へ変更
という事でしょうか?
これを手作業で行った所、質問内容と同じ症状になりました。
一度クリック等し、アクティブにさせ、そのセルの選択を解除する
事で目標としていた状態となります。(手作業の場合は)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。