エクセルVBA表示形式(日付)について
未読分:3件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#3 2014年12月16日(火)11時53分 From: VBAマスター | 返事 削除 変更 |
8桁表示でも日付扱いであればそのセルの書式設定に順ずる形になるかと思います。 書式設定で対応せずにエクセルのVBAで行うというのであれば、文字列扱いで代入するのが一番早いかもしれませんね。 他の回答者の方のを利用すると以下になります。 付け加えた点は8桁の数字の先頭に「'(シングルクォーテーション)」をつけています。 これにより書式設定に影響されず文字列扱いとして代入することが可能です。 ws.Cells(g, 6).Value = "'" & Format(Cells(g, 5).Value, "yyyymmdd") |
Message#2 2014年12月16日(火)11時50分 From: 雪っこ | 返事 削除 変更 |
ws.Cells(g, 6).Value = Format(Cells(g, 5).Value, "yyyymmdd") こういうことでいいのかな? 「表示形式」ではなく値そのものを 変更しちゃってますが・・・^^;; 見当ちがいでしたらごめんなさい。 |
Message#1 2014年12月16日(火)11時43分 From: 賃上げ賛成 | 返事 削除 変更 |
エクセルVBA表示形式(日付)についてご教授をお願いします。 シート2にテキストファイルから読込んだデータがあり そのデータを元にシート3に不要な列を削除し列を並べ替えて 転記するプログラム作成しました。 シート2の納品日の列の表示形式はyyyy/mm/ddの「日付」となっているのですが 転記する際にシート3の納品日の列の表示形式を8桁の「標準」にしたいのですが 上手くいきません。 お手数ですが宜しくお願いします。 Dim lastrow As Integer Dim ws As Worksheet Dim g As Integer Set ws = ActiveWorkbook.Worksheets(3) lastrow = Range("A1048576").End(xlUp).Rows For g = 4 To lastrow ws.Cells(g, 1).Value = Cells(g, 1).Value ws.Cells(g, 2).Value = Cells(g, 3).Value ws.Cells(g, 3).Value = Cells(g, 8).Value ws.Cells(g, 6).Value = Cells(g, 5).Value ws.Cells(g, 7).Value = Cells(g, 6).Value ws.Cells(g, 8).Value = Cells(g, 19).Value ws.Cells(g, 9).Value = Cells(g, 10).Value ws.Cells(g, 11).Value = Cells(g, 15).Value ws.Cells(g, 12).Value = Cells(g, 16).Value ws.Cells(g, 13).Value = Cells(g, 17).Value Next g Range("F4:F" & Range("F65536").End(xlUp).Row).NumberFormat = "general" End Sub |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降