ベストアンサー VB2008でExcelのセルを読み込む 2014/10/12 18:11 VB2008でExcel(.xls)のセルデータを読み込もうと思い、ネットにあるものを試しましたが、全くよみこめません。列と行を整数型変数で指定して読み込む方法を教えてください。 みんなの回答 (1) 専門家の回答 質問者が選んだベストアンサー ベストアンサー RandenSai ベストアンサー率54% (305/561) 2014/10/24 17:04 回答No.1 ExcelのVBAだったら簡単にできますが、普通のVBからだと手間が余分に必要です。以下がズバリの操作を行っているサンプルです。 http://homepage2.nifty.com/nonnon/SoftSample/VB.NET/SampleExcelOpe.html また、上記サンプルでセルの位置を指定するのに使われているRangeオブジェクトは、以下のExcel VBAの解説をあたってください。RangeとCellsの組み合わせで指定されたセルを操作するので、ここを理解しないと先に進めないはずです。 http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_070_10.html 質問者 お礼 2014/10/27 09:30 有り難うございます。参考にさせて頂きました。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 1 カテゴリ [技術者向] コンピュータープログラミング・開発Visual Basic 関連するQ&A VBでエクセルのセルのバックカラーをつけるには? お世話になります 表題のように、VBを実行して、エケセルのあるセルに 色(赤)をつけたいのですが どうしたらいいか、アプローチを教えてください ちなみに下記のようなVBは実行して からくりが理解でしました ------------------------------------------ Function Excel_SelectSel_Export1() Dim Xls As Object Set Xls = GetObject("c:\vba\実践VBA.xls") Xls.Application.Windows(1).Visible = True 'ワークシートをアクティブにする Xls.Application.worksheets("sheet1").Activate 'エクスポート先セルをRow(行)とColumn(列)の形式で指定する Xls.Application.Goto "r3c2" 'セルに値をエクスポートする Xls.Application.activecell.Value = "★彡☆彡" Xls.Application.Goto "r4c2" Xls.Application.activecell.Value = "☆彡★彡" Xls.Application.Quit 'Excelを閉じる Set Xls = Nothing Debug.Print "Completed!!" End Function VBでExcelファイルに書き込んで、、 下記は本であった例題です↓。 'エクスポート先セルをRow(行)とColumn(列)の形式で指定する Xls.Application.Goto "r2c3" 'セルに値をエクスポートする Xls.Application.activecell.Value = "★彡☆彡" Xls.Application.Quit 'Excelを閉じる Set Xls = Nothing Debug.Print "Completed!!" End Function 質問ですが、 このVBを実行した後に、 「更新した内容を保存しますか」 と聞いてきます そこで、VBの中で、保存するようにするには? つまり、「保存しますすか」のメッセージを出さない ようにしたいのです よろしくお願いします VB.netでのExcelデータの読み込み プログラミング初心者です。VB.net2003を使っています。 エクセルでBの列のセルデータを読み込みたいのですが、Bの列の3行目のセルから同列の最後のデータが入っているセルまでを1つずつ順番に取得して、それを配列に代入するにはどうすれば良いのでしょうか? 初歩的な質問で申し訳ないのですがよろしくお願いします。 ネットワークエンジニアとは?技術職の未来を考える OKWAVE コラム VBからEXCELを起動する VBよりExcelを起動するプログラムで困っています。 1.VBよりGetObject関数でTest.xlsを開く 2.Test.xls内のAuto_Openマクロでパラメータファイルをよみ、そこに指定されているエクセルファイルを新しいブックでを開く ということをしたいのですが(「マクロを有効にする」のダイアログは表示されてもかまわないです)、何故かTest.xlsが開いたと思ったらすぐ閉じてしまいます(Excel自体は終了してないですべてのワークシートが閉じた状態)。 Auto_Openマクロは走ってるようなのですが、ついでにCloseマクロも走ってしまいます。 ちなみにTest.xlsを単体で動かしたときは問題なく動くのです・・・。 以前はVB4+Excel95の環境でAPI(CreateProcess)を使用し同作業を行っていたのですが、そのAPIが長いファイル名のスペース(OFFICEがある「Program File」のスペース)を認識しないそうで、この方法が使えないということでGetObjectを使用してみたのですが・・・。 何か根本的な間違いをしているのか、それともコードにエラーがあるのかさっぱりわからずお手上げです。 うまく疑問点を説明できているか不安なんですが、わかる方、どうかご指導願います。 よろしくお願いします。 ---------------------------------------- OSは、Windows 2000 アプリケーションは、Excel 2000 です ---------------------------------------- エクセルデータ読み込み vb.net2008です。 エクセルのAの列のセルデータを読み込みたいのですが 実際のデータはいくつ入っているか毎回かわります。 固定数のセルデータを読み込むことはわかるのですが 毎回データ数が変わる場合どのようにすればいいのでしょうか? ヒントをお願いいたします。 Excelのセルをミリ設定する VB.netで作成したアプリから、Excel(Excel2010)へ必要な情報を出力し、帳票を作成しているのですが、VB.netで作成したアプリから、セルの[列の幅]、[行の高さ]をミリ単位で設定し帳票を作成したいと考えております。セルの[列の幅]、[行の高さ]はピクセル単位での設定になると言われたのですが、ミリ単位で設定する事は可能なのでしょうか。 どなたか、分かる方がいらっしゃいましたら、ご教授お願い致します。 ※帳票イメージとしては添付画像のような帳票となります。 VB2005 で立ち上がった状態のEXCELファイルからデータ読込みだけしたいのですが どなた様かお助けください。VB2005を勉強中の素人です。 既に立ち上げた状態のEXCELファイルから単純に特定セルの数値をVBのラベルに読み取りたいだけなのですが、ネットや書籍にてVBでのEXCEL読込み方法について調べたのですが、どこの情報をみても、EXCELの立ち上げとクローズがセットになっており、既にEXCELファイルを開いた状態からでは2重起動となり、読み込みだけの仕方が分かりません。一応下記でファイルのオープンからのクローズまでができるようですが、[open]のところを取り除くとエラーになってしまいます。 ファイル名とセルだけが私の指定したい条件なのですが、なにか単純な読み取り方法はないでしょうか? というか私がアホすぎるのも原因だとは思いますが、ちょっとEXCEL情報読み込ませたかっただけなのにもう2日も悩んでおり、こんなに難しいとは思いませんでした。VBって初心者向けとかいわれていますけど6.0やら.netやらと情報が分散していて何するにも一苦労ですね。 いろいろ調べて下記のコードで最低限読み込みはできるようになりました。(短いコードが好きなので宣言とかはかなり除去しているからかな?時々表示されるセルデータもおかしくなります) EXCELオブジェクトライブラリの参照は済です。 ファイルのオープンとクローズを除去し最終的には立ち上げっぱなしのEXCELから単純な読込み(のみ)を1秒に1回程度繰り返してラベル表示を随時更新するのが目的です。ご助言お願いします。 Dim xlApp As New Excel.Application Dim xlFilePath As String = "C:\あつし\sample.xls" label1.Text = xlApp.Workbooks.Open(xlFilePath).Worksheets.Item(1).Range("A3").Value() xlApp.Quit() VB6でEXCELの表をHTML形式で保存する方法は? VB6でEXCELのデータを作成してHTML形式で保存したいのですが、根本的にできないものでしょうか? EXCELのVBAではWebページで保存ということができるので試行錯誤してみたのですが VB6のヘルプでSaveAsメソッドを見る感じでは新しいファイル名までは指定できますが保存形式はEXCEL VBAのように指定できないようです。 XLSファイルの表までは完成できますが、そのXLSファイルをHTMLファイルにできればぃぃんです。 VB6からEXCELを制御してHTML形式で保存させるとか なにかいい方法はないでしょうか? Excel VBAでのセルの範囲指定 Excel2000 Win2000です。 あるbook「A.xls」にある表「a」を「B.xls」にコピペ&行列反転するマクロを作っています。 A.xlsの表「a」のサイズが作成の都度変わるため、 B.xlsからサイズの取得をする為、 Workbooks.Open Filename:="A.XLS" I1 = 1 ' 行数の取得 DO WHILE CELLS(I1,1).VALUE <> "" I1 = I1 + 1 LOOP I2 = 1 '列数の取得 DO WHILE CELLS(1,I2).VALUE <> "" I2 = I2 + 1 LOOP として、行と列の数を取得しています。 で、ここまで来てセルの範囲をどうやって指定していいのか分からなくなりました。 例えば、I2の値をExcelの列のアルファベット表記に変える等、 なにかいい方法はありませんか?? VBでエクセルのバージョンを指定して開く PCにEXCEL2002と2013がインストールされています。 VBでエクセルを起動し、マクロを実行したいのですが、その際に起動するエクセルのバージョンを指定したいと考えています。 以下でやると標準設定のEXCELが開いてしまい、バージョンの指定ができません。 Dim xlApp As New Excel.Application() Dim xlBooks As Excel.Workbooks xlBooks = xlApp.Workbooks xlBooks.Open("C:\test.xls") xlApp.Visible = True xlApp.Run("test.xls!macro") なにか方法はありますでしょうか? VBでExcelが起動されているか知りたい 環境 winXP Office2000 Excel VB6.0 sp5 VBからExcelが起動されているか知りたいのです。 【状況1】 [a.xls]を起動している状態で下記を実行すると問題なく起動が確認できます。 【状況2】 [a.xls][b.xls]を起動してて[b.xls]が前面にある場合は下記を実行しても[a.xls]を探せません。 またウインドウを最大化にしていない場合も"Microsoft Excel -"という文言がいらない?せいか探せません。 [FindWindowEx]を使用すればできるのかと思いましたがイマイチ使い方が分からず困っています。 よろしくお願いします。 'sampleソース--------------------------------------------- hwnd = FindWindow("XLMAIN", "Microsoft Excel - a.xls") If hwnd = 0 Then Msgbox(" 0 は、Excel が起動していないことを示します。") Else Msgbox(" 起動中") End If 'sampleソース--------------------------------------------- エクセルからVBへインポート(?) エクセルのA列にデータが入っているとします。 それをVBの変数に入れる方法ってあるのでしょうか? 例 A 青木 田中 木田 遠藤 塚本 変数 de(1) de(2) ・ ・ ・ から順番に最後まで自動的に入れます。 AIは使う人の年齢や市場にも影響する?人工知能の可能性 OKWAVE コラム DataGridViewで指定したセルに書き込み こんばんは。 VB2008のDataGridViewで指定したセルに書き込みをする方法はありますか? 例えば(2,1)と指定して1行目2列目に「Hello」と書き込む感じです。 どなたか知っている人が教えてください。 VB6.0でのエクセルのセルのクリア VB6.0でのエクセルのセルのクリア VB6.0でエクセルからCSVファイルを作成しています。 それ自体はできているのですが、CSVファイルを作成後に 元のエクセルのセルをクリアしたいと思っております。 5行目以降のB・C・D・Eの列に入っている値(すべて数値が 入っています)をBに数値が入っている行までクリアしたいとい うのが希望です。 どういう構文で実行すればよいか、アドバイスいただければ 幸いです。宜しくお願い致します。 VB5.0でカンマ区切りで編集した値をEXCELのシートに移送したい VB5.0でカンマ区切りで編集した文字型変数を、Excelのシートに移送したいのです。 1項目ずつなら xlSheet.Cells(Row, col) = 変数名 でよいと思うのですが、レスポンスの問題があり、カンマ区切りで複数行にわたり編集した変数を1行で、Excelシートに移送できないかと思っています。 VBで条件に合ったセルを含む行に色を付けたいのですが… VBで条件に合ったセルを含む行に色を付けたいのですが… 条件に合ったセルを含む行に色を付けたいのですが… いつもお世話になってます。 VB初心者ですが、こちらでご指導頂きながら勉強しております。 今回もアドバイスお願い致しますm(__)m G列~R列で"未作業"という文字が入ったセルがあれば、 その行に色を付けたいのです。 ただし、同じ行に"発注済"という文字が入ったセルがあれば、 行に色は付けなくてもよいです。 さらに、色の付いた行のみ次のシートにデータコピーしたいのですが… 何かよい方法はありますでしょうか? ExcelデータをVB.NETに取り込みたいのですが 現在ExcelデータをVB.NETに取り込もうとしています。ただ単純に取り込む方法では出来ないと思われ、是非皆さんに知恵を貸して頂きたいと思います。 セルA1~G1、A2~G2、A3~G3のセル位置をそれぞれ座標(1,1)~(1.7)、(2.1)~(2,7)、(3,1~3,7)とみなし、そのセルの数値を(i、j)の変数を用いて配列的に取り込むにはどうすればよろしいでしょうか? 例えばA1の数値が5、B1の数値が7、A2の数値が3だった場合、VB内では(1,1)=5、(1,2)=7、(2,1)=3というようにExcelデータを取り込みたいのです。この場合はデータ数が少ないので手動でVBにデータを入力すればよいのですが、実際はデータ量が多く、なんとか配列を用いて処理したいと思っています。 よろしくお願いいたします。 説明が足りない場合は遠慮なくお申し付けください。 VBから起動したEXCELの表示設定 いつもお世話になります。VB2005、EXCEL2003です。 表題のようにVBからExcelを起動して、VB上のデータを送りつけて表示します。この時、Excelの列の幅、行の高さ、セルの表示形式を通貨、パーセントスタイルなど、VB上で指定しておくことができないものなのでしょうか? あるいは、あらかじめ項目など要求する表示形式を決めたExcelに、VBよりデータのみ送りつけることができててもよいのですが。 以上、可能であればご教授願います。 vb2005からExcelの変数に値をセット vb2005、WindowsXP、Excel2000で開発しています。 vb2005にて、Excel内にコーディングしてあるVBAの変数に値をセットする ことは可能なのでしょうか。 Excel4MacroSheets.Applicationとかそうかなと思ったのですが行き詰って しまいました。 どなたかご存知の方がいらっしゃいましたら教えて下さい。 宜しくお願いします。 VB初心者です。 二つのブックを開いているときに。 1のブックの指定の文字を含む行のみを2のブックに参照していく作業をしたいのですが、色々webで探していたのですが、いまいちよくわからなかったので質問させていただきました。 やりたい内容 (1) ブック1とブック2を同時に開いている (2) ブック2でVBを実行する (3) ブック1の1列目を参照して任意の文字ががある場合にブック2の1行目からどんどんコピペしていく ブック1 1列目 2列目 3列目 4列目 5列目 指定 あ い う え 不一致 か き く け 不一致 さ し す せ 指定 た ち つ て ブック2 1列目 2列目 3列目 4列目 5列目 指定 あ い う え 指定 た ち つ て このような状態にしていきたいのですが、お分かりになる方いらっしゃいましたら、お力添え頂ければ幸いです。 よろしくお願い致します。 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ [技術者向] コンピューター プログラミング・開発 Microsoft ASPC・C++・C#CGIJavaJavaScriptPerlPHPVisual BasicHTMLXMLCSSFlashAJAXRubySwiftPythonパフォーマンス・チューニングオープンソース開発SEOスマートフォンアプリ開発その他(プログラミング・開発) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など
お礼
有り難うございます。参考にさせて頂きました。