• ベストアンサー
  • すぐに回答を!

文字列aを一文字ずつExcelのセルに入力する方法

  • 質問No.7082630
  • 閲覧数560
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 61% (38/62)

Excel VBAについて確認させてください。

下記のエクセルマクロはエクセルのA列に入力されてある文字を順に読み込んで
ユーザが入力したテキストファイル(=FN1)を開いて
エクセルのA列に入力されてある文字が見つかった場合は削除する作業を
文字が入力されてある最後の行までループによって行い、
最終的に処理した文字列aを出力ファイル(=FN2)に保存するプログラムです。

このプログラムを改良して文字列aを出力ファイル(=FN2)に保存するのをやめて
文字列aを一文字ずつ、Excelのセルごとに1行ずつ入力するプログラムを作成したいのですが
どのようにすればよいかご教授いただけますでしょうか。

以下、プログラム本文です。
-------------------------

Sub sample()

Dim a As String
Dim y As Long
Dim x As String
Dim FN1 As String
Dim FN2 As String

x = InputBox("チェックするファイル名を入力してください。(拡張子も含めてください。)")

FN1 = ThisWorkbook.Path & "\" & x
FN2 = ThisWorkbook.Path & "\チェック済" & x

With CreateObject("Scripting.FileSystemObject").GetFile(FN1).OpenAsTextStream

a = .ReadAll

For y = 1 To Cells(Rows.Count, 1).End(xlUp).Row

a = Replace(a, Cells(y, 1), "") '読み込んだテキストファイルにエクセルのA列にある文字が見つかった場合削除
a = Replace(a, vbCrLf, "") '改行コードの削除
a = Replace(a, vbTab, "") 'タブコードの削除

Next
.Close
End With

With CreateObject("Scripting.FileSystemObject").OpenTextfile(FN2, 2, True)

.Write a
.Close

End With

End Sub

質問者が選んだベストアンサー

  • 回答No.1
  • ベストアンサー

ベストアンサー率 28% (4497/16046)

お礼欄で補足お願い。
シートのA列の数行の模擬データを質問に載せて、どういう場合に、どうしたいのか、文章で1ステップずつ表現してみてください。
あくまで書き方の例
(1)A1セルでaがガ無いか探す
(2)在れば何何する
ーー
この質問は相当読みにくい。
(1)自分のVBAコードなど書く必要ないでしょう(回答者は参考にするほどの初心者ではないはず)。
(2)「何々せずに」の部分も質問には書く必要は無いでしょう(回答に関係のない質問者の思考過程でしかない)
お礼コメント
rotawota7

お礼率 61% (38/62)

遅くなって申し訳ございません。

早速のご回答ありがとうございます。

分かりやすいご説明、誠にありがとうございます。

ご参考にさせていただきます。
投稿日時:2011/11/24 00:54
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ