Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5104 / 13646 ツリー ←次へ | 前へ→

【52608】データ貼り付け後の書式変更反映 モンド 07/11/21(水) 15:21 質問[未読]
【52609】Re:データ貼り付け後の書式変更反映 Jaka 07/11/21(水) 15:43 発言[未読]
【52610】Re:データ貼り付け後の書式変更反映 モンド 07/11/21(水) 16:00 発言[未読]
【52611】Re:データ貼り付け後の書式変更反映 Jaka 07/11/21(水) 16:15 発言[未読]
【52612】Re:データ貼り付け後の書式変更反映 モンド 07/11/21(水) 16:58 お礼[未読]

【52608】データ貼り付け後の書式変更反映
質問  モンド  - 07/11/21(水) 15:21 -

引用なし
パスワード
   SQLで取得したデータをシートに貼り付けた後で
データ"yyyy/mm/dd hh:mm:ss"の内容の列に対して
  Columns("A:A").NumberFormatLocal = "yyyymmdd"
と書式変更しているのですが、うまくいきません。
一度、セルをF2で編集モードにして、何も変更せずに実行キーを押すと書式が反映されます。
ちなみに、列幅の自動修正(AutoFit)は同じタイミングでうまくいきます。

このタイミング(データを貼り付けた後の書式変更)でうまく表示が変更される方法はあるでしょうか?

よろしくお願いします。

【52609】Re:データ貼り付け後の書式変更反映
発言  Jaka  - 07/11/21(水) 15:43 -

引用なし
パスワード
   ▼モンド さん:
>SQLで取得したデータをシートに貼り付けた後で
>データ"yyyy/mm/dd hh:mm:ss"の内容の列に対して
>  Columns("A:A").NumberFormatLocal = "yyyymmdd"
>と書式変更しているのですが、うまくいきません。
>一度、セルをF2で編集モードにして、何も変更せずに実行キーを押すと書式が反映されます。
どうやって貼り付けているのか解らないけど、
文字列として張り付いちゃっている訳ですね。
どういう内容の値なのか全然解らないけど。

A列を選択して、
データ → 区切り位置 → 何もしないで 完了
じゃダメ?

【52610】Re:データ貼り付け後の書式変更反映
発言  モンド  - 07/11/21(水) 16:00 -

引用なし
パスワード
   ▼Jaka さん:
説明足らずで申し訳ありません。
貼り付けている部分は、
  With wsSheet
    ilngloop = intRow
    Do While Not rdnySQL.EOF
      For ilngCol = 0 To rdnySQL.Fields.Count - 1
        .Cells(ilngloop, ilngCol + intCol) = rdnySQL(ilngCol)
      Next
      ilngloop = ilngloop + 1
      rdnySQL.MoveNext
    Loop
  End With
です。

>A列を選択して、
>データ → 区切り位置 → 何もしないで 完了
>じゃダメ?
これで大丈夫でした。
ありがとうございます。
ただ、「マクロの記録」でやった際の内容そのままなので、
   Columns("J:J").Select
  Selection.TextToColumns Destination:=Range("J1"),DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False,Tab:=True, _
    Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
    :=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
となっています。
このサイトで「"Selection.〜" は良くない」という書き込みを見たことがあります。
まぁこれでもちゃんと機能しているのですが、"Selection.〜"を使用しない
記述の仕方を出来たら教えていただけますでしょうか?

よろしくお願いします。

【52611】Re:データ貼り付け後の書式変更反映
発言  Jaka  - 07/11/21(水) 16:15 -

引用なし
パスワード
   > このサイトで「"Selection.〜" は良くない」という書き込みを見たことがあります。
> まぁこれでもちゃんと機能しているのですが、"Selection.〜"を使用しない
> 記述の仕方を出来たら教えていただけますでしょうか?
考え方。(選択しないと出来ないものもありますが。)
ht tp://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=36559;id=excel

因みに、Valueプロパティを省略しているのがいけないようにも思えます。
(SOL知らないけど、なんとなく)
.Cells(ilngloop, ilngCol + intCol).Value = rdnySQL(ilngCol)

【52612】Re:データ貼り付け後の書式変更反映
お礼  モンド  - 07/11/21(水) 16:58 -

引用なし
パスワード
   ▼Jaka さん:
Valueの件も含めて、いろいろ勉強しながら試してみたいと思います。
ありがとうございました。

5104 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free