Excel VBA質問箱 IV

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

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


7683 / 13645 ツリー ←次へ | 前へ→

【37516】テキストファイルに書き出したい nishi 06/5/9(火) 22:02 質問[未読]
【37520】Re:テキストファイルに書き出したい neptune 06/5/9(火) 22:35 発言[未読]
【37522】Re:テキストファイルに書き出したい nishi 06/5/9(火) 22:47 発言[未読]
【37524】Re:テキストファイルに書き出したい Jaka 06/5/10(水) 10:06 発言[未読]
【37529】Re:テキストファイルに書き出したい ちくたく 06/5/10(水) 13:20 回答[未読]
【37530】Re:テキストファイルに書き出したい Kein 06/5/10(水) 17:46 回答[未読]
【37535】Re:テキストファイルに書き出したい nishi 06/5/10(水) 21:08 お礼[未読]

【37516】テキストファイルに書き出したい
質問  nishi  - 06/5/9(火) 22:02 -

引用なし
パスワード
   VBA初心者で困っています。

A列   B列   C列
りんご みかん いちご
りんご みかん いちご
りんご みかん いちご

上のようなシートをテキストファイルに書き出したいのです。
行はデータが入力されている部分までを範囲とし(範囲指定なし)、
その際、区切りを*としたいです。

どうかご教授下さい。
よろしくお願い致します。

【37520】Re:テキストファイルに書き出したい
発言  neptune  - 06/5/9(火) 22:35 -

引用なし
パスワード
   >どうかご教授下さい。
ですが、何がわからないのでしょう?

とりあえず、Helpで
Open ステートメント
を読んでみましょう。使用例もありますから。

セルからのデータの取り出しはRangeオブジェクトを見ると良いでしょう。

********************************************
お願い
管理人ではありませんが、当サイトの「VBA質問箱基本ポリシー」の
質問者の方へのお願い をよく読んでください。
ルールを守って質問も回答も気持ち良くしたいものです。
********************************************

【37522】Re:テキストファイルに書き出したい
発言  nishi  - 06/5/9(火) 22:47 -

引用なし
パスワード
   申し訳ありません。
以後、気をつけます。

【37524】Re:テキストファイルに書き出したい
発言  Jaka  - 06/5/10(水) 10:06 -

引用なし
パスワード
   シートをタブ区切りかスペース区切りでテキスト保存。
そのファイルをワードで開いて、タブかスペースを「*」に全て変換。
メモ帳で開けるなら、メモ帳を使っても良いけど、速度はワードのが速い。

【37529】Re:テキストファイルに書き出したい
回答  ちくたく E-MAIL  - 06/5/10(水) 13:20 -

引用なし
パスワード
   nishi さん
こんにちは。

>VBA初心者で困っています。
あんまり真面目に書いていないですが。

Sub test()
  Dim f As Integer
  Dim myR As Range, i As Integer, j As Integer
  Dim myTxt As String
  
  f = FreeFile
  
  Open "D:tmp.txt" For Output As #f
    
    Set myR = ActiveSheet.UsedRange
    
    For i = LBound(myR.Value, 1) To UBound(myR.Value, 1)
      myTxt = myR.Value2(1, i)
      For j = LBound(myR.Value, 2) To UBound(myR.Value, 2) - 1
        myTxt = myTxt & "*" & myR.Value2(i, j + 1)
      Next j
      Write #f, myTxt
    Next i
    
  Close #f
End Sub

【37530】Re:テキストファイルに書き出したい
回答  Kein  - 06/5/10(水) 17:46 -

引用なし
パスワード
   これでどうでしょーか ?

Sub Mk_MyText()
  Dim i As Long
  Dim Ary As Variant, Ary2 As Variant
  Dim MyF As String, Buf As String
 
  MyF = Application.DfaultFilePath & "\Test.txt"
  If Dir(MyF) <> "" Then Kill MyF
  Open MyF For OutPut Acess Write As #1
  For i = 1 To Range("A65536").End(xlUp).Row
   Ary = Cells(i, 1).Resize(, 3).Value
   With WorksheetFunction
     Ary2 = .Transpose(.Transpose(Ary))
   End With
   Buf = Join(Ary2, "*")
   Print #1, Buf
   Erase Ary, Ary2
  Next i
  Close #1
  With Application
   ChDir .DfaultFilePath
   .Dialogs(xlDialogOpen).Show Arg1:="Test.txt"
  End With
End Sub

【37535】Re:テキストファイルに書き出したい
お礼  nishi  - 06/5/10(水) 21:08 -

引用なし
パスワード
   みなさん、初心者かつ無礼な私の質問に
回答いただき、有難うございました。

こちらを元に、早速これから学習いたします。
また疑問が出て、解決できなくなりましたら
質問させていただきます。

本当に有難うございました。

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