
添付図のようなデータを取り込んだExcelデータがあります。
添付のように、
やりたいこと1:空欄となっているA,B列の行を自動的に上のセルの内容で埋めて、
やりたいこと2:空白が埋まったら値が入っている最下行の1つ下の行から新しいデータを取り込むようなマクロを組みたいのですが、うまくいきません…
Option Explicit Sub データ読込() '転記元ファイルの取得用変数 Const FILE_PATH = "C:あいうえお" Dim sFileName As String '転記元のシートの変数 Dim copyWb As Excel.Workbook Dim copyWs As Excel.Worksheet '転記先のシートの変数 Dim pasteWs As Excel.Worksheet '出力行 Dim iPasteRow As Integer '転記先のシートを取得 'マクロが書かれているブックの、アクティブなシート Set pasteWs = Excel.ThisWorkbook.ActiveSheet '出力する空白セルの指定 Dim pasteCell As Excel.Range Set pasteCell = pasteWs.Cells(pasteWs.Rows.Count, "A").End(xlUp).Offset(1) '出力行を取得(先頭行) iPasteRow = pasteCell.Row ソースコード途中省略 With pasteWs Dim a As String Dim r As Range a = "A2:B" & Range("C" & Format(Rows.Count)).End(xlUp).Row For Each r In Range(a) If r.Value = "" Then r.Value = r.Offset(-1, 0).Value Next End With 'pasteWs '空白も埋まったらデータ取り込みのため、行を1行下に進める iPasteRow = iPasteRow + 1 End If
マクロを実行すると、空白は埋まらず、A列の値が入っている次の行から一行ずつ新しいデータを取り込んでしまいます。
過去にも同じような質問をさせていただいており、恐縮ですが、
いまいちどうソースコード組みなおせばよいのかわかりません。
どうかお助けください。よろしくお願いします。

回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/01/31 06:34
2018/01/31 06:52
2018/01/31 06:55
退会済みユーザー
2018/02/02 01:54
退会済みユーザー
2018/02/02 01:56
2018/02/02 02:13
2018/02/02 02:15
退会済みユーザー
2018/02/02 03:31