• ベストアンサー

エクセルのWEBクリエで取り込めないデータ

DOUGLAS_の回答

  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.11

 先ず、 >関数式がひとつめのブックでは問題ないのですが、 >ふたつめ、みっつめと進むうちに下の方から >だんだん式が削除されてしまい、 >10こめのBookでは1行目の式しか残っていませんでした。  これは、 Columns("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete によって、回数が進むにつれて、行数が減っていくためです。  私の配慮が足りませんでした。  <(_ _)>  この コード を Sheets("Sheet1").Copy の後に持って行けば、問題はなくなるかと存じますが、私的には、そもそも、noro6857 さんのお手許の ブック に「関数式」がどのようにちりばめられているのかが気になります。  例えば、C1:H1 まで、いろいろな数式が立てられているとして、これを最終行まで オートフィル しただけの「関数式」なのか、あるいは、(これは無いかとは存じますが)行によって「関数式」が違うのか?【問9】  前者であるとすれば、「C1:H1」の範囲は「C1:」からどこまでなのか?【問10】  前者であれば、WEBの表を貼り付けて成形した後に、C1:H1 を最終行まで コピー する方が、ワークシート としての見栄えも数段よくなるかと存じます。 -------------------------------------------------- >2010のマクロ有効ファイルはxlsxでなく >xlsmでしたのでその拡張子で試しました。  そうですね。仰るとおり、「マクロ有効ファイル」の拡張子は「xlsm」のようですが、チャンネル ごとに保存する ブック には、マクロ は含まれないかと存じますので、「xlsx」でよいのではないでしょうか?  それとも、「Sheet1」に シートモジュール でも書かれているのでしょうか?【問11】 >生成されるシートはxlsで作られるため、 >出来上がりを開くときにその都度メッセージが・・・  これは、どういうことでしょうか? ActiveWorkbook.SaveAs ~~~ .xls の行の最後の「xls」を「xlsm」なり「xlsx」に書き換えていらっしゃいますか?【問12】  書き換えて マクロ を実行していらっしゃるのに、 >生成されるシートはxlsで作られる とは、どういう意味でしょうか? ActiveWorkbook.SaveAs ~~~ .xlsm(xlsx) にしても、「.xls」で保存されてしまうのでしょうか?【問13】 -------------------------------------------------- >出来上がりがどうも安定しなくて・・・ >(STOPはいずれもペーストできないとのメッセージ)  恐らく、WEB からの ダウンロード が上手くいっていないのではないかと思われます。  この点に付きましては、今朝、画期的な方法を思い付きましたので、上記の質問にお答えいただいてから、 >Book単位での作成なので前段のマクロを使いました) >削除行はうまく処理されていました。 を踏まえて、再度、コード を書き直します。

noro6857
質問者

お礼

問9/問10 関数式はD~Hに入っています。 無駄な式が入っているとまた叱られそうですが、何度も継ぎ足しで書き加えたのと何の目的でいれたのかわからなくなってしまいそのまま放置してあります。 たぶん曲名とアーチスト名(1行目と途中見出しはタイトルコード)を再表示させているのですが、実は以前のこのサイトは、文字間にスペースが頻繁に入り込んでいたため、これを排除するために関数を入れたような気がします。 たぶんもう一度やりなおせば不必要な関数式もありそうです。 当然呼び出しデータの行まででいいのですが、あらかじめ200行くらいまで入れてあります。 D =TRIM(IF(C1="",B1,B1&C1)) E =IF(ISERR(FIND("放送日",A1)),A1,"■"&ASC(MID(A1,9,2)&"0"&MID(A1,12,1)&MID(A1,14,2))&"SD"&ASC(MID($A$1,4,3))) F =IF(D1="","",IF(ISERROR(FIND(" ",TRIM(D1))),D1,IF(ISNUMBER(FIND(" ",TRIM(D1))),IF(LENB(MID(TRIM(D1),FIND(" ",TRIM(D1))-1,3))-LEN(MID(TRIM(D1),FIND(" ",TRIM(D1))-1,3))>1,SUBSTITUTE(TRIM(D1)," ",""),TRIM(D1))))) G =TRIM(E1) H =TRIM(F1) このG列とH列をコピペして別作業に使います。 (実はここから先はLotus123シートで作成してしまったため、このような方法をとっています。その部分も改めてエクセルで作り治せばその必要もないのですがまたVBAや関数を色々考える必要があるため当面手抜きしています。) 問11/12/13 VBAの保存拡張子をxlsmに直したら、「対応していない拡張子」とかでとまってしまったので、デフォルトのxlsのままにしてあります。 xlsでもセキュリティを「低」にしてマクロは実行されるようにしています。 なおA12のご質問は 3)「■J-POP最新ヒットチャート」で始まる長~いメッセージ になりました。

関連するQ&A

  • Webクリエ うまく読み込みできません><

    Webクリエ うまくできません>< http://fx.himawari-group.co.jp/report/weeklycalendar.html のサイトのカレンダーを読み込みたいのですが・・・ エラーが出てしまいます! *画像参照お願い致します!

  • 新しいクリエ買ったのはいいんですが

    とうとうVZ90買いました。 いままで使っていたクリエからデータを移したいのですが、そのままできるんじゃないかなと思い、 強引にホットシンクさせたらやっぱりダメでした。 前のクリエの全部のデータをそのまま移せる方法って ないんでしょうか・・・? MSバックアップで移行もしてみましたが、このデバイスでバックアップされたものではないと蹴られてしまいました

  • ウェブサイトのデータの入手方法

    VisualBasic6.0でウェブサイトのデータをオブジェクトとして 取得する方法が判りません。 ExcelのWebクリエのようにHTMLのテーブルタグの内容が直接 オブジェクトとして取得できるようにしたいのですが、方法 が判りません。 今は、タグを一つ一つ外してから、読み込むようにしている のですが、サイトが変更されると一からやり直しなので、で きればもっと簡単な方法があればお願いします。

  • エクセルのデータを自動的にWebに入れるには?

    いつもお世話になっています。 エクセルのデータをホームページに入れる時、決まった動作の繰り返しをするので、これを自動化することは出来ないでしょうか?VBAだとエクセル内部でしか出来ないのではないでしょうか? こういう操作です。 エクセルの場面でセルをCtrl+Cでコピーして、リターンキーを押して(セルが次のセルへ飛ぶ)、Alt+TabでWeb画面へ移動して、Ctrl+VでWebにエクセルの数値を貼り付けて、Tabキーを数回(回数は一定)押して次の入力欄へ移動させて、Alt+Tabでエクセル画面へ戻って、またCtrl+Cでコピー。 この繰り返しでエクセルの数値をWeb画面に入力するのです。このような定型的な動作はコンピューターが得意とするはずですが、VBAでは実現できない(と思う・・。エクセルの外部にまで操作出来るのでしょうか?)。 何か方法があるはずですが、ご存知の方がいらっしゃればよろしくお願いしたします。

  • ボタン天国をインストールするとWEBからのデータ取り込みができない

    Excel用ボタン天国100をインストールしたところ、「データ」→「外部データの取り込み」→「新しいWEBクリエ」によるWEBデータの取り込みが出来なくなりました。

  • VBAを用いて、ウェブからデータを取り込みたい

    エクセルVBAでウェブからデータを取り込みたいと思い、いろいろ挑戦していますが、以下のやり方(1)と(2)は失敗中です。 取り込みたいのは、ウェブページ中に描かれてある「表」の部分のデータです。 アドバイスをお願いいたします。 ◆◆◆◆◆失敗(1)◆◆◆◆◆ ActiveSheet.QueryTables.Add(Connection:="url;http://***省略***.htm", Destination:=Range("A1")) の方法の場合、取得したデータをエクセルシートに張り付けた場合に生じる文字化けがなおらず挫折・・・ QueryTableは文字コードを指定して読み込めないので困難という結論に至りました。 ちなみに目的のウェブページはshift-JISでcharsetされてますが、取得したいデータ部分はSQLサーバーでUTF-8で記述されていると思われます。 →http://okwave.jp/qa/q7864296.html ◆◆◆◆◆失敗(2)◆◆◆◆◆ ユーザーフォーム機能から、WEBブラウザーコントロールを用いて目的のウェブページを表示する方法では、表示したウェブページの情報をエクセルシートに転記する方法が分からず挫折・・・ url_report = "http://****省略.htm" WebBrowser1.Navigate url_report 'ここから先、どうすればエクセルシートにデータ取得できる? 上記(1)や(2)以外で他のやり方も含め、経験者の方のアドバイスをお願いいたします。 ウェブページ中の表データをエクセルシートにVBAで自動取得したいのですが・・・何か良い方法がありますでしょうか? ((+_+))

  • クリエでMacでMP3は聴けますか?

    クリエ(Clie)のPEG-N700CがMP3に対応したと雑誌で読みました。 これまで、MacからクリエにはOpenMG形式のファイルを落とせなかったようですが、MP3になって、Macからもクリエに音楽データを落とせるようになるのでしょうか? Macユーザーなんですが、クリエでMP3を聴きたいのです。方法を教えてください。 まず、メモリースティックとメモリースティックリーダーはやっぱり必要なんですよね? また、ダウンロードが始まったというAudioPlayer Ver.2はMacでも使えるのでしょうか?

  • Excel VBA で Webからデータを取得する方法

    Excel VBAを使ってWebページからデータを 取得する方法を探しています。 最初に、そのWebページの認証ページにIDをパスワード をVBAから自動で送信したいのですが、方法が全く わかりません。 認証ページはJavascriptを利用したページです。 どちらかご存知の方がおられましたら、 ご教授ください。

  • またまたエクセルでWEBデータを取り込む

    下のVBAは以前にお世話になった方に教えていただいたWEBからのデータ取得するものです。 日付を入力することで、その日のデータを取り出すことができます。 ところがWEBのURLが変更になってしまいました。 当方、VBAは疎いため適当に部分修正で利用しようとしたもののなかなかうまくできません。 呼び出したデータも以前と若干形式がちがっているためそのへんも直したいところがあるのですが 取りあえずWEBの取り出し方記述を教えていただければありがたいです。 (70, 80, 32, 62, 101,…というのはたぶんジャンル区分なので今回は不要です。) よろしくお願いします。 WEBURL(旧) http://www.m******/****/0062/00620726.html WEBURL(新) http://m*****/*****/2012-04-17/ ●旧WEB取り出しVBA Sub Using_Web_query30A() Dim arrMenu As Variant Dim myDate As String Dim myURL As String Dim Connection_URL As String arrMenu = Array(70, 80, 32, 62, 101, 102, 90, 120, 40, 22, 31) myDate = InputBox("オープンする日付を「月/日」のように入力してください。", _ "日付の入力", Format(Date, "m/d")) myURL = "0062/0062" & Format(Split(myDate, "/")(0) * 1, "00") & _ Format(Split(myDate, "/")(1) * 1, "00") Connection_URL = "http://www.m*********/***/" & myURL & ".html" Columns(1).ClearContents With ActiveSheet.QueryTables.Add(Connection:= _ "URL;" & Connection_URL, Destination:=Range("A1")) .WebFormatting = xlWebFormattingNone .WebTables = "9" .Refresh BackgroundQuery:=False End With

  • エクセルのWEBクエリで取り込めないデータ(続)

    QNo6887062で教えていただいたWEBからデータを取り出すVBA(A15)で対象URLのレイアウトが変更になってしまいました。そこで引き続き活用したいため修正方法を教えていただければと思います。 URLの変更については一部対応できたのですが、取り出す範囲、除去する方法です。 具体的にはQ&Aの中で書きますので、上記VBAを修正できる方でお願いします。 Excel2010/WinXP