[[20190115223521]] 『データが何故か行が空く』(ブル) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『データが何故か行が空く』(ブル)

こういうコードを作ってウェブのデータを抽出しようとしましたが
なぜか



と間が行が空いてしまいます



というふうにしたいのですが
ーーーー
Option Explicit

Sub 処理改造中()

    Dim 出馬表テスト As Worksheet
    Dim 処理後出馬表 As Worksheet
    Dim 元データ As Range

    Set 処理後出馬表 = Worksheets("処理後出馬表")
    Set 出馬表テスト = Worksheets("出馬表テスト")
    Set 元データ = 出馬表テスト.UsedRange

    Dim 最終行 As Long
    Dim 開始行 As Long
    Dim r As Long

    開始行 = 元データ(1, 1).Row
    最終行 = 元データ.Rows.Count + 開始行

    'レース名取得
    Dim レース名 As String
    For r = 開始行 To 最終行
        If 元データ(r, 2).Value <> "" Then
            レース名 = 元データ(r, 2).Offset(2, 0)
            Exit For
        End If
    Next r

    '馬情報開始行取得
    Dim 馬情報行 As Long
    For r = 開始行 To 最終行
        If 元データ(r, 6) <> "" Then
            馬情報行 = r + 2
            Exit For
        End If
    Next r

    'レース内容取得と書き出し
    Dim 枠順, 馬番, 斤量, 調教師, 父枠順, 母枠順
    Dim cnt As Long
    cnt = 15
    For r = 馬情報行 To 最終行
        If 元データ(r, 6) <> "" Then

            cnt = cnt + 1 'カウンタ

            'データ取得
            枠順 = 元データ(r, 1).Value
            馬番 = 元データ(r, 2).Value

            'データ書き出し
            処理後出馬表.Cells(cnt, 1) = 枠順
            処理後出馬表.Cells(cnt, 2) = 馬番
            処理後出馬表.Cells(cnt, 7) = レース名

            '元データシート削除
            '*******************************
            'マクロの記録で記録されたコードを追加
            '*******************************

        End If
    Next r
                Sheets("処理後出馬表").Select
End Sub

判りにくいかもしれませんがよろしくお願いします

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 ステップ実行って知ってますか?
 F8キーを押して1行づつプログラムを進める方法です。
 これで変数の中身を確認しながら動作確認をしてみてください。

(BJ) 2019/01/16(水) 04:39


ステップ実行は知っていますただ繰り返しが多くどこが悪いかがわかりません
(ブル) 2019/01/16(水) 16:50

 >こういうコードを作ってウェブのデータを抽出しようとしましたが

 本当に自分で作ったのでしょうか?
 VBA デバッグ方法
https://www.239-programing.com/excel-vba/basic/basic023.html
http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_030.html
https://excel-excel.com/vbachair/step1-7.html
https://www.sejuku.net/blog/66208
https://www.tipsfound.com/vba/01010
(BJ) 2019/01/17(木) 12:09

 もう、こちらにはこないかも
https://www.moug.net/faq/viewtopic.php?t=77842&sid=25c0a493ca5b086dae421dcc7ed10a54
(マナ) 2019/01/17(木) 20:01

 まあ、来ないでしょうね。
 楽して金もうけのデータ集め??したいだけだから、VBAの勉強とは程遠く、
 できがったら終わり。
 で、次の案が出たらまたこういうところで作ってもらうだけ。

 >繰り返しが多くどこが悪いかがわかりません

 にしたって、確認したいところにブレークポイントを置けばそこで止まってくれるし。
 某カウント数で止めたければ。

 If カウント >= 止めたいカウント数 then
    a = 0    ここにブレークポイント
 end if

 で、すむし。
 数千、数百のループでなければ、私はF8キー押しちゃう方だけど。
 提示されたコードも、どこぞで拾ってきたコードだと思います。
 ステップ実行を知っているというのも、本当とは思えないし。
 知ってれば、ブレークポイントで止めて確認後実行の続き、ブレークポイントで止める、
 確認、実行の続きを繰り返すをやるだけ。
 ブレークポントの位置も数か所おけるし、都度位置も変えられる。
(BJ) 2019/01/17(木) 23:59

ありがとうございます
結合セルがある関係で行が空いてしまうようです
別の方法を考えます
ありがとうございます
(ブル) 2019/01/18(金) 17:29

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.