Sheet1に入力シートを作成し、Sheet2に蓄積シートを作成しました。
Sheet1で作成されたデータをSheet2に蓄積させておきたい。
Sheet1のA2の値が入力された場合に実行するとすると
Sheet1のデータ数は、毎回異なります。
他を参考に以下のように作ってみたのですが、
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lastA As Long, lastB As Long, ws1 As Worksheet, ws2 As Worksheet
Set ws1 = Sheets("入力シート")
Set ws2 = Sheets("蓄積シート")
With Target
If .Address <> "$A$2" Or .Count <> 1 Or IsEmpty(Target) Then Exit Sub
If WorksheetFunction.Count(ws1.Range("a1:s1")) <> 19 Then Exit Sub
lastA = ws2.Range("a65536").End(xlUp).Row
lastB = ws1.Range(("a2:s2"), Selection.End(xlDown)).Select
ws2.Range("a" & lastA + 1).Resize(1, 19).Value = _
ws1.Range("a2:S2").Resize(1, 19).Value
End With
End Sub
'ws1.Range("a2:S2").Resize(1, 19).Value の部分で
'上記ws1の範囲の内、Row2の値しかws2へ反映されません
どなたか教えて頂けないでしょうか。
こんにちは
昨日質問させていただいた、コードを修正して
開かれるファイル名が可変である場合にも対応させたいのですが、"*"をもちいてみてもうまく行きません。
どの様に指定するのかご存知の方教えてください。
"\Fuji.txt"これを\****.txt
\*.txtとやってみましたがダメでした。
なお、041221_fuji.txtのように日付を6桁と"_"を入れてfujiとしたく、日付の6桁の数字のみ変えたいのです。
それを下記のコードに盛り込みたいのですが、何が足りないのかうまく行きません。
宜しくお願いします。
Sub ReadTxt()
Dim myTxtFile As String
Dim myBuf As String, wkdt() As String
Dim i As Integer, j As Integer
Application.ScreenUpdating = False
myTxtFile = ActiveWorkbook.Path & "\Fuji.txt"
Worksheets("郵便番号").Activate
Open myTxtFile For Input As #1
Do Until EOF(1)
Line Input #1, myBuf
wkdt = Split(myBuf, vbTab)
'データをセルに展開する
i = i + 1
For j = 0 To UBound(wkdt)
Cells(i, j + 1) = wkdt(j)
Next j
Loop
Close #1
End Sub