
前回の続きの部分になりますが,テキストファイルの指定行の書き出しの必要性が出てきまして,どのように変更したらよいのか分からないので質問させて頂きます。
現状では1行目~空行までという風になっており,こちらの書き出しはうまくいっております。
今回はこれを1行目を省き,2行目~空行までという風に変更したいと考えております。初心者なものでこのような変更に対応できず困っておりますので,どなたかご教示頂けると幸いです。また,コードは下記に記載いたしますが,可能であればどこにどのように記載すると良いのかまでご教示頂けると大変助かります。
Private Function set_sheet(ByVal book_no As Long, ByVal sheet_no As Long) As Boolean
Dim i As Long
Dim fname As String 'テキストファイル名(フルパス)
Dim fileNo As Long 'ファイル番号
Dim lno As Long '行番号
Dim text As String '読み込んだテキスト
Dim RE As Object '正規表現オブジェクト
Dim sname As String 'シート名
Set RE = CreateObject("VBScript.RegExp")
'1行が空白行か否かの判定用
RE.Pattern = "^\s*$"
RE.Global = True
set_sheet = False
'array_fileの何番目かを求める
i = (book_no - 1) * 100 + sheet_no - 1
'上限を超えているならFlaseで終了
If i > UBound(array_file) Then Exit Function
'テキストファイル名及びその拡張子を除いたものを取得
fname = TextFolder & "\" & array_file(i)
sname = array_file(i)
sname = Left(sname, Len(sname) - 4)
fileNo = FreeFile
Open fname For Input As #fileNo
'ファイル終端まで読み込む
lno = 0
Do Until EOF(fileNo)
'1行読み込み
Line Input #fileNo, text
lno = lno + 1
'空白行なら終了
If RE.test(text) = True Then Exit Do
'A列の該当行へ設定
owb.Worksheets(sheet_no).Cells(lno, "A").Value = text
Loop
Close #fileNo
'シート名を設定
owb.Worksheets(sheet_no).Name = sname
'正常終了
set_sheet = True
End Function
No.3ベストアンサー
- 回答日時:
前々回の回答者です。
下記にアップしました。
https://ideone.com/47bW0x
前回の質問
https://oshiete.goo.ne.jp/qa/12776079.html
も含めて、回答しています。
不明点は、補足してください。
この度は誠にありがとうございました。
おかげさまで手作業だとかなり時間のかかる作業が大幅に改善されました。
今後ともExcelを用いた業務も増えていきそうなので,まずは自身でコードを読み解けるように努めてまいります。
No.2
- 回答日時:
んー。
結局自分で理解することを放棄したという事でしょうか。'1行読み込み
および
'空白行なら終了
の箇所を修正するだけですよ。
残念ですが、ここは自力で問題解決できるようにアドバイスを受ける場所ですので、
前回のように丸っとコードを教えてくださることは滅多にありません。
もしも自力で問題解決することが目的ではなく、
とにかく希望通りの処理を済ませたいという事であれば、
有料サイトで依頼することを薦めます。
このくらいの物であれば500円もしない値段で作ってくださる人がたくさんいると思います。
(自分なら200円から300円くらいかな。今後も仕様変更が頻繁にあると予想してリピートを期待した値段であれば100円から200円にするかもしれません)
ご指摘ありがとうございます。
理解することをあきらめたわけではないのですが,この分だけが早急に必要になっておりまして,現在ネットとにらめっこしながら一つ一つの動作に関しての理解を深めるよう努めております。今後このような依頼となってしまう場合は有料サイトでの依頼も視野に入れつつご質問させて頂きます。
No.1
- 回答日時:
こんにちは
>前回の続きの部分になりますが~
前回を知りませんので、内容はわかりませんけれど・・
>今回はこれを1行目を省き,2行目~空行までという
>風に変更したいと考えております。
テキストファイルを1行ずつ読み込む方式のようなので、
・ループの外側で、最初に1行読み捨てる
・lnoが1だったら出力せず、出力先の行番号を lno-1 にする。
のどちらかにしておけばよさそうに思われます。
あるいは、そのまま出力が終わったところで、シートの1行目を削除するのでも良いかも。
こちらの方法であれば、何もいじる必要もなく「マクロの記録」でも作成できます。
ご回答ありがとうございます。イメージとしては仰っていることは理解できるのですが,初心者過ぎてそれをコードにおこすことが難しい状況です。。
可能であればどのような書き方をすればよいかまでご教示いただけませんか?
削除の方も書いてはみたのですが,コード的に別のブック上での操作になりまして,そちらのブックをActiveにする際に必要なブック名が複雑な式になっており,そちらを参照することができず,別の手法を模索しておりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:12
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたい 6 2023/01/23 12:00
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ある文字列を含む行の抽出
-
iniファイルとの比較(iniファイ...
-
BCPユーティリティの使用法_...
-
VBのファイル処理について
-
VBAで新しい日付順にファイルを...
-
VBAでPowerPointからExcelにデ...
-
Excel.VBA テキストファイルを...
-
C#でのファイル編集と上書き保...
-
特定フォルダ内のテキストファ...
-
CFile Openで開いたファイルに...
-
ExcelVBAで以下のマクロを作成...
-
時間短縮のために、テキストフ...
-
大量のフォルダからひとつのフ...
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトのエラーに...
-
バッチでテキストファイルから...
-
[teraterm] waitコマンドで停止...
-
VBAでワークシートを引数として...
-
バッチファイル 文字列にスペ...
-
バッチ処理でファイルの中身を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ある文字列を含む行の抽出
-
特定フォルダ内のテキストファ...
-
VBAでPowerPointからExcelにデ...
-
VB6側からテキストファイルをク...
-
BCPユーティリティの使用法_...
-
Excel.VBA テキストファイルを...
-
unicode文字列(日本語)のファイ...
-
テキストファイルの行頭に文字...
-
access vbaでCSVファイルを文...
-
複数行の文字列を変数として使...
-
バッチでiniファイルの編集
-
excelにテキストファイルの指定...
-
RandomとBinaryモードの違い
-
時間短縮のために、テキストフ...
-
テキストファイルを直接置換す...
-
VB.NETでテキストファイルからH...
-
C#でのファイル編集と上書き保...
-
ExcelVBAで以下のマクロを作成...
-
VBSを用いてIPアドレスを取得し...
-
VBAで新しい日付順にファイルを...
おすすめ情報