カレンダー式Excelの当日セルへ値入力

(Aエクセルで取得した数を変数で持ったうえで)
Bエクセルの当日日付セルへ入力したいのですがうまくできません。
B2セルを1日として2行目が横へ日付が並んでいます。
3行目が変数取得した数字を入れたい行になります。
→本日なら10/31なので正解入力先はAF3セルになります。

恐れ入りますがご教授いただきますようお願いいたします。

  1. 今日の日付を取得(31日とする)
  2. 31に1を加える(B2セルが1日なので、入れたい列は32列目)
  3. 列番号をアルファベットに変換する(以下のURLを参照ください)
  4. 3で出したアルファベット + “3”(AF3)に記入する

これでいかがでしょうか!?
実際に試していないので、若干のミスがあるかもしれないですが、
おおかたこんな感じだと思います!

2 Likes

ありがとうございます!
まだ始めたばかりで上記を1つずつ試して理解していかないといけないので時間がかかりそうですが確認します!

3 Likes

こんばんは。
@n-shiumi さんの方法の方がきれいで汎用的だと思いますが、初心者ながら別の方法を考えてみたので共有させて頂きます。
セル B2:AF3 に、日付(1日,2日,3日…)が入っていることが前提です。

(1) 本日の日付を変数に入れる(System.DateTime.Today.Day.ToString + “日”)
(2)「範囲を読み込み」で「B2:AF3」を取得し、データテーブルに入れる
(3)「繰り返し(各行)」で(2)のデータテーブルを指定
(4)「代入」で 「row(日付) 」に入力したい文言を代入 ※日付は(1)の変数
(5)「範囲に書き込み」で"B2"に(2)のデータテーブルを書き込み
sample.zip (19.3 キロバイト)

何かヒントになれば幸いです。

不明点がございましたらまたご質問くださいませ!

nanohanaさん
ご丁寧にサンプルありがとうございます!
いろいろ試しながら理想の形にできるかチャレンジさせていただいています!

カレンダーエクセルが「日」が入っておらず関数セルなのでどっちを取るか考えながら勉強させていただいています!

こんにちは

参考レベルの話ですが...
@nanohana さんの方法を単純化するとヘッダがなくても所定のセルに書き込めます。
データテーブルの列はindex(数字)で指定できますので、今日の日付を取ってきて当該列番号に書き込み、最後にデータテーブルを書き戻せばOKです。以下サンプルです。(読み込み、書き込みともヘッダ無しにしてください。)

img20191102-1

1 Like

なるほど。DataTableの指定の行・列に書き込む方法がわからず、無駄にfor each rowを使ってしまいました(笑)。
勉強になりました!ありがとうございます。

1 Like

Yoichiさん

こんばんは、そしてありがとうございます!
恥ずかしながらいただいた情報を理解できずうまくできておりません。。。
2個目の代入でdt.Rows(0)(day)でエラーになっています。
変数の設定方法の誤りなのでしょうか。。。
もしお時間あれば教えて頂けると幸いです。

こんにちは

2個目の代入でdt.Rows(0)(day)でエラーになっています。

どのようなエラーでしょうか?

式"dt.Rows(0)(day)"の処理中にコンパイルエラーが発生しました。
RowsはIntegerのメンバーではありません。
というメッセージです。

よろしくお願いいたします。

在庫管理.zip (18.0 KB)
こちらが途中のサンプルです。。。
お時間があれば見て頂けると幸いです。

こんにちは

業務要件までは読み取れませんが、取り急ぎ、在庫管理.xlsx側のExcel Application Scopeな中身に手を加えてみました。

在庫入力.xaml (12.9 KB)

こんな感じでしょうか?

Yoichiさん
夜分遅くにありがとうございます。
ファイルが開けませんでした(><)

こんにちは

ファイル壊れてそうでしょうか?それともアクティビティパッケージの問題?
取り急ぎZipに固めたものupします。

在庫管理.zip (30.2 KB)

ありがとうございます。
1回目xaml、2回目Zip名前が 蝨ィ蠎ォ邂。逅 で文字化けしています。
アイコンも真っ白□になっていて開けないので破損しているのでしょうか。

こんにちは

とりあえずファイル名ASCII文字にしてみますね。
zaikokanri.zip (30.2 KB)

ちなみにご自身がupされたものも、ダウンロードすると文字化けしますか?

2 Likes

見れました!
そして理想通りに動いていることを確認できました!
ありがとうございます!
データテーブル.Rows(0)(day)

途中で送信してしまいました。。
上記部分がまだきちんと理解できていないので勉強致します!

親切に教えていただきありがとうございます!

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.