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桁に満たない場合 前にスペースで埋めたいのですがどうすれば良いのでしょうか? |
J.Jさん、こんにちは >A1からD1まで文字を入力して、CSVファイル形式で保存する時に >一つのセルに対して10桁固定とする時、入力値が10桁に満たない場合 >前にスペースで埋めたいのですがどうすれば良いのでしょうか? こんなんでどうでしょ? Right(Space(10) & Cells(1, 1).Value, 10) Cells(1, 1).Valueは実際のセル指定してね。 #ほかにもFormatとかでもできますね。 |
解答ありがとうございます。 >こんなんでどうでしょ? > >Right(Space(10) & Cells(1, 1).Value, 10) > >Cells(1, 1).Valueは実際のセル指定してね。 > >#ほかにもFormatとかでもできますね。 Right(Space(10) & Cells(1, 1).Value, 10) ↑ を何処にどのように使用すればいいのか分からないのですが。 どうかよろしくお願いします。 |
スペースで埋める場合、セル書式を文字列にして、 Cells(1, 1).NumberFormatLocal = "@" Cells(1, 1).Value = Space$(10 - Len(Cells(1, 1).Value)) & Cells(1, 1).Value でOKです。 |
通りすがりさんありがとうございます。 >スペースで埋める場合、セル書式を文字列にして、 > >Cells(1, 1).NumberFormatLocal = "@" >Cells(1, 1).Value = Space$(10 - Len(Cells(1, 1).Value)) & Cells(1, 1).Value > >でOKです。 使い方がよくつかめないので、何か一例をあげてもらえればうれしいのですが。 かってな希望ですいません。 |
J.Jさん、通りすがりさん、こんにちは ActiveWorkbook.SaveAs Filename:="C:\Work\Temp\Book1.csv", FileFormat:=xlCSV _ , CreateBackup:=False のような感じでCSVにするなら通りすがりさんの回答のようにセルの書式で空白埋めにしておきます。 VBA上で、ファイルをOUTPUTモードで開き、セルデータを読み込みながらPrit#で書き込む場合やFSOを使って同様なことをするなら、書き込みデータを私の回答のようにフォーマットしながら書き込みます。 #ちょっと早計でしたね、通りすがりさんの回答がJ.Jさんのやりたいことに近いようなきがします。通りすがりさん、フォローどうもです。 |
こうちゃんさん、ありがとうございます。 >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ファイルで保存する一例をお願いしたいのですが。 よろしくお願いします。 |
▼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 |
こうちゃんさん、ありがとうございます。 >なにがどううまくできないのかを書かれたほうが解決がはやいですね。 >とりあえず、単純なモジュールですが、標準モジュールにコピペして実行してみてください。 >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 うぉぉぉぉぉ、出来ました。 ボブサップ、ちゃんとなってました。 ソースを解析して理解を深めようと思います。 こうちゃんさん、通りすがりさん、どうもありがとうございました。 |
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 も追加しておいた方がいいかと・・・。 でわ。 |
>#ちょっと早計でしたね、通りすがりさんの回答がJ.Jさんのやりたいことに近いようなきがします。通りすがりさん、フォローどうもです。 スペース埋めに対して回答しただけで、 「CSVで保存」に対しては答えてませんでした。 ただ単にスペース埋めができないだけかと早トチリしてました。 迷惑かけました(笑)。 補足・・・セル書式を変えるのは、セル内データが数字の場合です。 |