VBでExcelを読み込こむ処理をしているのですが、指定の行から最終行までの各データを取得できる書き方を教えて頂きたくご質問しました。
■現在のコード(取得時)
dtCmd.CommandText = "SELECT * FROM [" & SheetName & "$A3:V3377] "
dtCmd・・・OledbCommand
SheetName ・・・シート名
上記でも読み込みは出来るのですが、これだとA3:V3377の範囲しか取得できず
もし範囲外のデータが来たときは、当然ですが読み込みできません。
これをどんな数のデータが来ても、ちゃんと最終行までを判断し、読み込んでくれるようにしたいです。
お手数ですがよろしくお願いいたします。
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
>Excelの読み込み時は、VBAと書き方は変わらないですかね??
先にも記載しましたが同じように書くとトラブルの原因にもなりかねません。
基本違うものと考えた方が良いとは思います。(それでもVC#で書くよりはVBAに近いかもですけど)
No.4
- 回答日時:
ならば6000行固定でも宜しいのでは?
ほぼ出来上がっての質問なら、一度お試しを
回答ありがとうございます。
ちょっとデバックしてた際に、致命的な設計バグが見つかったので、DataTableに格納する方法は今回は避けたいと思います。
Excelを読み込む際に、1行ずつ読んで、空白時が見つかったらそこで処理を辞めるという方法に切り替えようと思ったのですが、そちらの方法で何かアドバイスを頂くことは可能でしょうか?
急で申し訳ありません...
No.3
- 回答日時:
No.2です。
シートの最終行を取得するにはExcelブックを開いてって事になりますが、それならそもそもの ADODB 等による接続~データ取得って必要なくなるのでは?
それに書き方については特に閉じた後の変数の解放が重要になるかもですが、そこは宣言と合わせてVBAで作成する物とはレベルが違うんじゃないかと初級者は感じました。
まぁ、古いバージョンでやってたので今のバージョンでは楽に出来るって事での話でしょうけど。
回答ありがとうございます。
目星ですが、だいたい4000~5000行くらいで、1万行はいかないと思います。
あとDataTableに格納する方法を取ってますので、接続~データ取得は処理は外せないかなと思っています...
No.2
- 回答日時:
ところでExcel側にあるデータ行数っておおよその目星は立たないのでしょうか?
例えば1万行とか10万行とか。
別に指定した範囲より実際のデータ行数が少なかったとしても取り込みには問題にならないと思うのですが。
仮になったとしても WHERE句でとあるフィールドが空白でない場合とか指定しておけば宜しいのではないかと。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Excel(エクセル) VBA : スクレイピングできない 4 2023/05/12 22:26
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- その他(プログラミング・Web制作) Pythonを勉強しています。 5 2023/08/25 09:51
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Access(アクセス) accessでexcelを読み込む時のデータ型 1 2022/03/28 19:45
- Visual Basic(VBA) ExcelVBAの複数指定範囲の構文 2 2022/05/26 22:39
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
エクセルのセル最終行取得
Visual Basic(VBA)
-
VB.NET Excelを読み込んでDataTableに格納し、DBにデータをINSERTする
Microsoft ASP
-
VB.netでのExcelデータの読み込み
Visual Basic(VBA)
-
-
4
VB.NETの配列にExcelから読み込んできたデータを格納したい
Visual Basic(VBA)
-
5
VBからEXCELのセルの値を取得する方法
Visual Basic(VBA)
-
6
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
7
vb.netからエクセル関数書き込み
Visual Basic(VBA)
-
8
文字列の後ろから必要分だけ削除したい。
Visual Basic(VBA)
-
9
.NET上でエクセル上に罫線を引く
Visual Basic(VBA)
-
10
VB2010でExcelの行をコピーして挿入する
Visual Basic(VBA)
-
11
VB.NETでEXCELファイルを開き、保存先をデフォルトで指定したい。
Visual Basic(VBA)
-
12
vb.netによるEXCEL値取得
Microsoft ASP
-
13
配列の重複する値とその個数を取得したい
Visual Basic(VBA)
-
14
【VB】タブ切り替え時のイベント
Visual Basic(VBA)
-
15
VB.NETからVBAマクロ(引数)を呼び出す方法
Visual Basic(VBA)
-
16
エクセルデータをVBで検索できますか?
Visual Basic(VBA)
-
17
エクセルのファイルを,VB.NETで読み込みたいです。
Visual Basic(VBA)
-
18
エクセルへのデータの貼付時に書式が反映されない!
Visual Basic(VBA)
-
19
VB.net 任意の例外を発生させるには・・・
Visual Basic(VBA)
-
20
VBで既存エクセルシートを新規ブックにコピー
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【VB.NET】Excelの最終行までの...
-
「Nullの使い方が不正です」の...
-
C# DataTableに最後に追加した...
-
【C#】textBoxの指定行のデータ...
-
非同期のプロセス間通信(パイプ...
-
batでレジストリキーから読み取...
-
java / jsp selectedについて
-
エクセルのマクロ コンボボッ...
-
Excel VBAでグラフの可変データ...
-
ADODBでの行番号の取得、もしく...
-
VBAコンボボックスの内容が反映...
-
VB2005 で NetworkStream で取...
-
ActiveReportのdetailをデータ...
-
COBOL数値転記の仕様
-
MSFlexGrid 行選択状態
-
エクセルのCSV読み込みについて
-
アクセスでウェブ上のデータを...
-
XMLでデータとして画像を指定す...
-
[リボンのキーボード ショート...
-
VBAでアクセスDBからデータの取...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
XMLでデータとして画像を指定す...
-
【C#】textBoxの指定行のデータ...
-
VBAでアクセスDBからデータの取...
-
Excel VBAでフォルダ内の全テキ...
-
【VB.NET】Excelの最終行までの...
-
C# DataTableに最後に追加した...
-
「Nullの使い方が不正です」の...
-
VBAコンボボックスの内容が反映...
-
COBOL数値転記の仕様
-
クリスタルレポートでレコード...
-
VB2010で、選択した系列を最前...
-
アクセスでウェブ上のデータを...
-
Excel VBAで1週間毎にカテゴリ...
-
非同期のプロセス間通信(パイプ...
-
エクセルのセル最終行取得
-
ActiveReportのdetailをデータ...
-
富士通(汎用機)のAIMについて
-
Excel VBAでグループ毎に集計す...
-
エクセルのCSV読み込みについて
-
AccessVBAでのExcelメモリ解放
おすすめ情報