過去ログ

                                Page     411
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼スペースで・・・  J.J 02/11/29(金) 11:52
   ┗Re:スペースで・・・  こうちゃん 02/11/29(金) 12:08
      ┗Re:スペースで・・・  J.J 02/11/29(金) 14:56
         ┗Re:スペースで・・・  通りすがり 02/11/29(金) 15:29
            ┣Re:スペースで・・・  J.J 02/11/29(金) 15:50
            ┗Re:スペースで・・・  こうちゃん 02/11/29(金) 15:52
               ┣Re:スペースで・・・  J.J 02/11/29(金) 16:23
               ┃  ┗こんな感じです  こうちゃん 02/11/29(金) 16:33
               ┃     ┗Re:こんな感じです  J.J 02/11/29(金) 16:42
               ┃        ┗Re:文字列が全角なら  通りすがり 02/11/29(金) 17:04
               ┗Re:スペースで・・・  通りすがり 02/11/29(金) 16:24

 ───────────────────────────────────────
 ■題名 : スペースで・・・
 ■名前 : J.J
 ■日付 : 02/11/29(金) 11:52
 -------------------------------------------------------------------------
   A1からD1まで文字を入力して、CSVファイル形式で保存する時に
一つのセルに対して10桁固定とする時、入力値が10桁に満たない場合
前にスペースで埋めたいのですがどうすれば良いのでしょうか?
 ───────────────────────────────────────  ■題名 : Re:スペースで・・・  ■名前 : こうちゃん <nakajima19@hotmail.com>  ■日付 : 02/11/29(金) 12:08  -------------------------------------------------------------------------
   J.Jさん、こんにちは

>A1からD1まで文字を入力して、CSVファイル形式で保存する時に
>一つのセルに対して10桁固定とする時、入力値が10桁に満たない場合
>前にスペースで埋めたいのですがどうすれば良いのでしょうか?

こんなんでどうでしょ?

Right(Space(10) & Cells(1, 1).Value, 10)

Cells(1, 1).Valueは実際のセル指定してね。

#ほかにもFormatとかでもできますね。
 ───────────────────────────────────────  ■題名 : Re:スペースで・・・  ■名前 : J.J  ■日付 : 02/11/29(金) 14:56  -------------------------------------------------------------------------
   解答ありがとうございます。

>こんなんでどうでしょ?
>
>Right(Space(10) & Cells(1, 1).Value, 10)
>
>Cells(1, 1).Valueは実際のセル指定してね。
>
>#ほかにもFormatとかでもできますね。

Right(Space(10) & Cells(1, 1).Value, 10)

を何処にどのように使用すればいいのか分からないのですが。

どうかよろしくお願いします。
 ───────────────────────────────────────  ■題名 : Re:スペースで・・・  ■名前 : 通りすがり  ■日付 : 02/11/29(金) 15:29  -------------------------------------------------------------------------
   スペースで埋める場合、セル書式を文字列にして、

Cells(1, 1).NumberFormatLocal = "@"
Cells(1, 1).Value = Space$(10 - Len(Cells(1, 1).Value)) & Cells(1, 1).Value

でOKです。
 ───────────────────────────────────────  ■題名 : Re:スペースで・・・  ■名前 : J.J  ■日付 : 02/11/29(金) 15:50  -------------------------------------------------------------------------
   通りすがりさんありがとうございます。

>スペースで埋める場合、セル書式を文字列にして、
>
>Cells(1, 1).NumberFormatLocal = "@"
>Cells(1, 1).Value = Space$(10 - Len(Cells(1, 1).Value)) & Cells(1, 1).Value
>
>でOKです。

使い方がよくつかめないので、何か一例をあげてもらえればうれしいのですが。
かってな希望ですいません。
 ───────────────────────────────────────  ■題名 : Re:スペースで・・・  ■名前 : こうちゃん <nakajima19@hotmail.com>  ■日付 : 02/11/29(金) 15:52  -------------------------------------------------------------------------
   J.Jさん、通りすがりさん、こんにちは

ActiveWorkbook.SaveAs Filename:="C:\Work\Temp\Book1.csv", FileFormat:=xlCSV _
    , CreateBackup:=False

のような感じでCSVにするなら通りすがりさんの回答のようにセルの書式で空白埋めにしておきます。

VBA上で、ファイルをOUTPUTモードで開き、セルデータを読み込みながらPrit#で書き込む場合やFSOを使って同様なことをするなら、書き込みデータを私の回答のようにフォーマットしながら書き込みます。

#ちょっと早計でしたね、通りすがりさんの回答がJ.Jさんのやりたいことに近いようなきがします。通りすがりさん、フォローどうもです。
 ───────────────────────────────────────  ■題名 : Re:スペースで・・・  ■名前 : J.J  ■日付 : 02/11/29(金) 16:23  -------------------------------------------------------------------------
   こうちゃんさん、ありがとうございます。

>ActiveWorkbook.SaveAs Filename:="C:\Work\Temp\Book1.csv", FileFormat:=xlCSV _
>    , CreateBackup:=False
>
>のような感じでCSVにするなら通りすがりさんの回答のようにセルの書式で空白埋めにしておきます。
>
>VBA上で、ファイルをOUTPUTモードで開き、セルデータを読み込みながらPrit#で書き込む場合やFSOを使って同様なことをするなら、書き込みデータを私の回答のようにフォーマットしながら書き込みます。
>
>#ちょっと早計でしたね、通りすがりさんの回答がJ.Jさんのやりたいことに近いようなきがします。通りすがりさん、フォローどうもです。

どうもうまくできないのですが、
A1のセルに”ボブサップ”と入力して
ActiveWorkbook.SaveAs Filename:="C:Temp\test1.csv", FileFormat:=xlCSV _
, CreateBackup:=False
でCSVファイルで保存する一例をお願いしたいのですが。

よろしくお願いします。
 ───────────────────────────────────────  ■題名 : こんな感じです  ■名前 : こうちゃん <nakajima19@hotmail.com>  ■日付 : 02/11/29(金) 16:33  -------------------------------------------------------------------------
   ▼J.J さん:

>どうもうまくできないのですが、
>A1のセルに”ボブサップ”と入力して
>ActiveWorkbook.SaveAs Filename:="C:Temp\test1.csv", FileFormat:=xlCSV _
>, CreateBackup:=False
>でCSVファイルで保存する一例をお願いしたいのですが。
>
>よろしくお願いします。

なにがどううまくできないのかを書かれたほうが解決がはやいですね。
とりあえず、単純なモジュールですが、標準モジュールにコピペして実行してみてください。
A1セルに”ボブサップ”と入力しておいてくださいね。

Sub test()

  Cells(1, 1).Value = Space$(10 - Len(Cells(1, 1).Value)) & _
                         Cells(1, 1).Value
  ChDir "C:\TEMP"
  ActiveWorkbook.SaveAs Filename:="C:\TEMP\Book1.csv", _
               FileFormat:=xlCSV, CreateBackup:=False

End Sub
 ───────────────────────────────────────  ■題名 : Re:こんな感じです  ■名前 : J.J  ■日付 : 02/11/29(金) 16:42  -------------------------------------------------------------------------
   こうちゃんさん、ありがとうございます。

>なにがどううまくできないのかを書かれたほうが解決がはやいですね。
>とりあえず、単純なモジュールですが、標準モジュールにコピペして実行してみてください。
>A1セルに”ボブサップ”と入力しておいてくださいね。
>
>Sub test()
>
>  Cells(1, 1).Value = Space$(10 - Len(Cells(1, 1).Value)) & _
>                         Cells(1, 1).Value
>  ChDir "C:\TEMP"
>  ActiveWorkbook.SaveAs Filename:="C:\TEMP\Book1.csv", _
>               FileFormat:=xlCSV, CreateBackup:=False
>
>End Sub

うぉぉぉぉぉ、出来ました。
ボブサップ、ちゃんとなってました。
ソースを解析して理解を深めようと思います。
こうちゃんさん、通りすがりさん、どうもありがとうございました。
 ───────────────────────────────────────  ■題名 : Re:文字列が全角なら  ■名前 : 通りすがり  ■日付 : 02/11/29(金) 17:04  -------------------------------------------------------------------------
   Cells(1, 1).Value = Space$(10 - LenB(StrConv(Cells(1, 1).Value, vbFromUnicode))) & Cells(1, 1).Value

で。
それと、その前に
If LenB(StrConv(Cells(1, 1).Value, vbFromUnicode)) < 10 Then
も追加しておいた方がいいかと・・・。

でわ。
 ───────────────────────────────────────  ■題名 : Re:スペースで・・・  ■名前 : 通りすがり  ■日付 : 02/11/29(金) 16:24  -------------------------------------------------------------------------
   >#ちょっと早計でしたね、通りすがりさんの回答がJ.Jさんのやりたいことに近いようなきがします。通りすがりさん、フォローどうもです。

スペース埋めに対して回答しただけで、
「CSVで保存」に対しては答えてませんでした。
ただ単にスペース埋めができないだけかと早トチリしてました。
迷惑かけました(笑)。

補足・・・セル書式を変えるのは、セル内データが数字の場合です。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 411