C列が空白となるまで、F列・・・L列の空白セルに0を代入する。
という処理を行いたく以下コードで実行をして
ファイル種類をCSVにて、保存した後名前の変更で拡張子をTXTにすると
データ入力された列の以降がカンマの羅列が「,,,,,,,,(改行)」の繰り返しで表示されてしまいます。
(CSV保存の後、視覚的に空白部分を行選択して削除するとなくなります。)
どうすれば、このカンマが表示されなくなるでしょうか。
うまく説明できてないですが、アドバイス御願いします。
Dim i As Long
i = 3
Do Until Cells(i, 3).Value = ""
If Cells(i, 6).Value = "" Then
Cells(i, 6).Value = "0"
End If
If Cells(i, 7).Value = "" Then
Cells(i, 7).Value = "0"
End If
If Cells(i, 8).Value = "" Then
Cells(i, 8).Value = "0"
End If
If Cells(i, 9).Value = "" Then
Cells(i, 9).Value = "0"
End If
If Cells(i, 10).Value = "" Then
Cells(i, 10).Value = "0"
End If
If Cells(i, 11).Value = "" Then
Cells(i, 11).Value = "0"
End If
If Cells(i, 12).Value = "" Then
Cells(i, 12).Value = "0"
End If
i = i + 1
Loop
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
質問のコードは、同じような繰り返しコードが多くて、何とかしたいと思いませんか?
Sub test04()
d = Range("C65536").End(xlUp).Row
For i = 3 To d
For j = 6 To 12
If Cells(i, j) = "" Then
Cells(i, j) = 0
End If
Next j
Next i
End Sub
多分こんなに簡潔になるよ。
ーーーー
>ファイル種類をCSVにて
CSVファイルではエクセルの空白セルはkannmaカンマの2つ連続になる。
質問の何か不思議でもない。
>名前の変更で拡張子をTXTにすると
拡張子だけ変更しても、ファイルの中身は何ら変わらないが、なぜこんなことをするのかな。
テキスト類のファイルの拡張子(CSV、TXT,PRNなど)間では余りその後影響は少ないと思うが。
>CSV保存の後、視覚的に空白部分を行選択して削除するとなくなります
エクセルのシートの「空白部分を行選択して削除す・・」のか?
空白部分をデータ削除しても変わらないのでは?
0と表示されているセルを空白にしたのか。
再度CSVファイルを保存しなおしたのか。言葉足らずで質問の意味がわからない。
ーーー
質問の空白を0にするプログラムを実行し、Csvファイルで保存して、メモ帳で見たら、第6列ー第12列は0で保存されましたが。
ーーー
聞きたいことがよくわからない。
No.2
- 回答日時:
あまりTXTに変換したことがないので,そちらの方面ではお答えできないのですが...
ExcelのVBAを使っているのなら,TXTに変換する動作をVBAで書いてみてはどうでしょう?
例えば…
┏ ABCDEFG
1 ad
2 fg
3 z e
4 z e
5
上のようなものを
a,d,,,,,,f,g,,,,,,z,,e,,,,,,,,z,,e,,,,,,,
とせず,
a,d,f,g,z,e,z,e
のようにしたいということですよね?
(こちらの勝手な解釈なので,違うのであればすいません…)
それならば,
Dim s as String
Dim i as integer, j as integer
for i = 1 to 5
for j = 1 to 6
'ここの処理はご自由に
if not cells(i, j) = "" and not cells(i, j) = 0 then
s = s & "," & cells(i, j)
end if
next j
next i
'一番左の","を消す
s = right(s, len(s) - 1)
'結果をどこかのセルに返す
cells(6, 1) = s
'もしくは debug.print s
という具合にすれば一応後はコピペでテキストは取り出せると思います.
結果をセルに返す場合はたしか文字数の制限があったと思いますので,文字数が多い場合は,debug.printで標準出力した方がいいかもしれません.
結果をファイルに直接書き出す方法もVBとしてはあるのかもしれませんが,ExcelのVBAとなると,そちらの方は私もよくわかりません><(あるのかな?)
的が外れた回答になっていたらすいません>< 自分がExcelのデータをテキスト形式にまとめるときなどはこのような方法をとっています.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) このマクロの説明文を教えてほしいです。 1 2023/01/12 09:17
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 4 2023/05/26 10:43
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) エラーコード1004 6 2022/06/09 14:12
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/02/02 09:25
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Visual Basic(VBA) vbaを早くしたい 5 2022/09/09 10:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBAでほかのアプリケーシ...
-
読み取り専用ファイルを上書き...
-
Excel VBAで作成したマクロをxl...
-
EclipseでJavaScriptファイルの...
-
VBScriptで日本語が変です
-
VBScriptでのSaveAsについて
-
VBA メモ帳の上書き保存がしたい
-
EXCEL VBAでカンマ区切りCSVフ...
-
JavaScriptを実行するリンクで...
-
CImageのファイル名を指定して保存
-
ファイルのダウンロード保存先...
-
vbaでIEの名前を付けて保存(A)...
-
VBAで、強制保存してブックを閉...
-
VSCodeの自動保存の2か所を無...
-
コマンドプロンプトでデスクト...
-
VBSでHPを保存するにはど...
-
ExcelVBAでデスクトップのPATH...
-
意味不明のタグが挿入されてい...
-
Corel Digital Studioの動画をS...
-
エクセルマクロ PDF出力、CSV出力
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
読み取り専用ファイルを上書き...
-
Excel VBAでほかのアプリケーシ...
-
VBAで、強制保存してブックを閉...
-
Excel VBAで作成したマクロをxl...
-
Corel Digital Studioの動画をS...
-
エクセルで「名前を付けて保存...
-
VBA メモ帳の上書き保存がしたい
-
コマンドプロンプトでデスクト...
-
vbaでIEの名前を付けて保存(A)...
-
VB.NETでEXCELファイルを開き、...
-
VBScriptでのSaveAsについて
-
エクセル:マクロ:保存時に連...
-
Pivot table で集計されたデー...
-
AccessVBAでレポートをPDFで出力
-
VBScriptで日本語が変です
-
ExcelVBAでデスクトップのPATH...
-
htmlから取り込んだ を消...
-
EXCEL/VBA:WORDファイルの上書...
-
AccessVBAでIEを操作、ページ内...
-
webページの特定の部分だけ消し...
おすすめ情報