Excel VBA質問箱 IV

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

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


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

【17506】セルのaddressをcsvファイルに書き出した... tama 04/8/31(火) 22:20 質問[未読]
【17509】Re:セルのaddressをcsvファイルに書き出し... Asaki 04/8/31(火) 22:32 発言[未読]
【17510】Re:セルのaddressをcsvファイルに書き出... tama 04/8/31(火) 22:41 質問[未読]
【17511】Re:セルのaddressをcsvファイルに書き出... Asaki 04/8/31(火) 22:59 回答[未読]
【17512】Re:セルのaddressをcsvファイルに書き出... tama 04/8/31(火) 23:10 お礼[未読]

【17506】セルのaddressをcsvファイルに書き出した...
質問  tama  - 04/8/31(火) 22:20 -

引用なし
パスワード
   初心者です。

表の中の色のついたセルのaddressをcsvファイルに書き出したいのですが、
どのようにすればよいのでしょうか?
また、逆にセルのaddressが保存されているcsvファイルを読み込んで、表のセルに
色をつけることも同時にしたいのですが。

よろしくお願いします。

【17509】Re:セルのaddressをcsvファイルに書き出...
発言  Asaki  - 04/8/31(火) 22:32 -

引用なし
パスワード
   こんばんは。

ご自分では何処まで出来ていて、何処がお解りになりませんか?

【17510】Re:セルのaddressをcsvファイルに書き出...
質問  tama  - 04/8/31(火) 22:41 -

引用なし
パスワード
   ▼Asaki さん:
>こんばんは。
>
>ご自分では何処まで出来ていて、何処がお解りになりませんか?

早速のお返事、ありがとうございます。

Dim myrange As Range
Dim r As Integer

  r = Range("B5").End(xlDown).Row     '下端検出
  
  For Each myrange In Range(Cells(6, 9), Cells(r, 20))
    If myrange.Interior.ColorIndex = 8 Then
      myrange.Address ←ここから先にすすめません。
    End If
  Next

4つのmyrange.Addressが取得できているのですが、
ここからどうしたらいいのかわかりません。
お願いします。

【17511】Re:セルのaddressをcsvファイルに書き出...
回答  Asaki  - 04/8/31(火) 22:59 -

引用なし
パスワード
   とりあえず、出力するほうだけ。
ファイル名などは、とりあえず、固定にしています。

Sub 書き出しtest()
  Dim FileNo   As Integer
  Dim FileName  As String
  Dim myrange   As Range
  Dim r As Integer
  
  r = Range("B5").End(xlDown).Row     '下端検出
  FileName = "C:\test\色付きセルアドレス.csv"
  FileNo = FreeFile()
  Open FileName For Output As #FileNo
    For Each myrange In Range(Cells(6, 9), Cells(r, 20))
      If myrange.Interior.ColorIndex = 8 Then
'        Write #FileNo, myrange.Address
        Print #FileNo, myrange.Address
      End If
    Next
  Close #FileNo
End Sub

CSV ということですが、出力セルをすべてカンマ区切りで出力するのですか?
そうであれば、上記の例では、1セルアドレスごとに改行になるので、
ループ中では変数に格納するだけにして、ループ終了後に1度だけ
ファイルに書き出すようにすればよいと思います。

【17512】Re:セルのaddressをcsvファイルに書き出...
お礼  tama  - 04/8/31(火) 23:10 -

引用なし
パスワード
   >CSV ということですが、出力セルをすべてカンマ区切りで出力するのですか?
そうです。

>そうであれば、上記の例では、1セルアドレスごとに改行になるので、
>ループ中では変数に格納するだけにして、ループ終了後に1度だけ
>ファイルに書き出すようにすればよいと思います。
わかりました。

こんなに早く回答していただけるなんて感激です。
ほんとうにありがとうございました。

読み込むほうは、何とかがんばってみます。
また、わからなかったら、質問させてください。
よろしくお願いします。

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