|
はじめまして、現在会社でエクセルを使って
作業をすることとなりVBAを組んでいるのですが
Book1.xlsに作ったコマンドボタンを押すと
同名、同フォルダに存在するBook1.csvというファイルから
<data>という行から</data>という行までの行番号を検索して
その間の内容をすべてxlsの方にコピーする。
というプログラムを作っているのですがどうしても検索がcsvの方ではなくて
xlsの方を検索してしまいます。
どこが違うかご指摘願えないでしょうか
Book1.csv構成
<data>
test1, test1_xxx, test1_yyy ・・・
test2, test2_xxx,
・
・(行、列ともに数は不定)
</data>
(プログラム)
Private Sub CommandButton1_Click()
'ファイル名を取得
ansiFileName = ActiveWorkbook.Name
ansiFullName = ActiveWorkbook.FullName
'"."以降の文字列を削除
nDotIndex = InStr(ansiFileName, ".") '
If nDotIndex > 0 Then
ansiFileNameCutExt = Left(ansiFullName, Len(ansiFullName) - Len(ansiFileName) + nDotIndex - 1)
Else
ansiFileNameCutExt = ansiFullName
End If
' 同名のcsvファイルの読み込み
load_file = ansiFileNameCutExt + ".csv"
Workbooks.Open Filename:=load_file
'<data>〜</data>までの位置検索
start_pos = GetLine("<data>")
end_pos = GetLine("</data>")
'xlsの方にコピー (わからない部分)
'Range("A1:C8").Copy ThisWorkbook.Sheets("Sheet1").Range("A2")
Workbooks(load_file).Close
End Sub
Public Function GetLine(ByVal w_findstr) As Integer
Dim i As Integer
For i = 1 To Range("a1000").End(xlUp).Row
If Cells(i, "a").Value = w_findstr Then
GetLine = i
Exit Function
End If
Next i
End Function
|
|