X



Excel VBA 質問スレ Part49©2ch.net
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ bb2e-8SzA)
垢版 |
2017/06/26(月) 02:15:14.60ID:T3ylemnb0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512

スレ立ての際は一行目に
!extend:checked:vvvvv:1000:512
と入れてスレ立てして下さい

ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK

※前スレ
Excel VBA 質問スレ Part48
http://mevius.2ch.net/test/read.cgi/tech/1494890685/

※関連スレ
VBAなんでも質問スレ Part2
http://mevius.2ch.net/test/read.cgi/tech/1432173164/
Access VBA 質問スレ Part1
http://mevius.2ch.net/test/read.cgi/tech/1328536426/
Excel総合相談所 126
https://mevius.2ch.net/test/read.cgi/bsoft/1496487719/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
0807801 (ワッチョイ 9352-jLVh)
垢版 |
2017/08/18(金) 06:47:56.97ID:r9Ad8ntQ0
>>802
いや、ここに居座る。

>>803
VSってVisual Studioですかね?かなり本格的なツールと思いますが
Javascriptでインテリセンスだけできたらいいのですがシンプルなツールはないものでしょうか?
というよりJavascriptやってる人の使用ツールの使用率みたいな円グラフはないでしょうか?

あとExcelVBAでよくやるブレークポイントを使ってF8のコマ送りや実行途中で変数の値を見るのって
Javascriptで使うツールでもできるんですかね?
0810デフォルトの名無しさん (ワッチョイ 9352-jLVh)
垢版 |
2017/08/18(金) 07:14:13.91ID:r9Ad8ntQ0
なんだよ、ここじゃ教えてくれないのです?
0811デフォルトの名無しさん (ワッチョイ 9352-jLVh)
垢版 |
2017/08/18(金) 07:15:23.14ID:r9Ad8ntQ0
             / ̄ ̄ ̄ ̄ ̄\
         /           \
         /              ヽ 
   / ̄\ l      \,, ,,/      | そりゃないよ
  ,┤    ト |    (●)     (●)   | かあちゃん!
 |  \_/  ヽ     \___/     |  
 |   __( ̄ |    \/     ノ 
 ヽ___) ノ
0812デフォルトの名無しさん (ワッチョイ 9352-jLVh)
垢版 |
2017/08/18(金) 07:17:18.70ID:r9Ad8ntQ0
>>809
VSは会社で気軽にインストールできないじゃん
0815デフォルトの名無しさん (オッペケ Sr4d-uth0)
垢版 |
2017/08/18(金) 07:36:13.08ID:fGYkVGPpr
>>812
そこなんだよ、問題は。

じゃ、テキストエディタは気軽にインスコできるのかっつーと、インテリセンス実現するためには、やれプラグインだなんだって追加する必要が出てくる。

ソフトのインストール申請は1回で済ませたいよね。
となると、なんだかんだでVSが最良の選択肢になる。
配布元がMSなのも安心だし。

HTMLやCSSも入力補完できるからね。
入れておくとめちゃ便利でっせ、旦那。
0820デフォルトの名無しさん (ワッチョイ 9352-jLVh)
垢版 |
2017/08/18(金) 09:27:19.77ID:r9Ad8ntQ0
>>819
こんな掲示板のルールは守る必要がない。

そもそも20年くらい前のインターネット創始期にリアル世界からバーチャル世界への人々の続々の初参加で
みんなが気軽に参加さえできればどこでもいい掲示板がたまたまここだっただけで
まるで自分のアイデアで発明して作り上げた掲示板と勘違いした管理人が有名になったことも利用して年収数億円にもなった
そんなずるいアホの作ったルールを守る必要あるか?
0822デフォルトの名無しさん (ワッチョイ 9352-jLVh)
垢版 |
2017/08/18(金) 09:37:07.95ID:r9Ad8ntQ0
>>821
それはあちらのスレでもだれかが言ってたvisual studio codeですか。
評判よさそうなので使ってみます。
0823デフォルトの名無しさん (ワッチョイ 9352-jLVh)
垢版 |
2017/08/18(金) 09:39:00.89ID:r9Ad8ntQ0
あと最重要なことを忘れていた。
Excel VBAのF2で呼び出せるオブジェクトブラウザは上級者ならこの便利さは涙ものだと思うけど
これに相当するものはJavascriptでも使えるんですよね?
たいていのツールならJavascriptでのオブジェクトブラウザは見れる仕様になってるの?
0824デフォルトの名無しさん (ササクッテロロ Sp4d-wXqg)
垢版 |
2017/08/18(金) 09:39:54.13ID:AHP5pPkPp
visual studio codeはフリーで商用利用も可能だったはず
0830デフォルトの名無しさん (ワッチョイ 9352-jLVh)
垢版 |
2017/08/18(金) 12:44:31.00ID:r9Ad8ntQ0
しかもそいつはYoutube動画のすべてのサムネイルで
自分のカバみたいなデカい顔を恥ずかしげもなくデカデカとのせてる。
https://www.youtube.com/channel/UCWlenAgH6lBO36CKiAQR6gQ/videos
これが許させるのはイケメンだけではないか?
勘違いもはなはだしい。
0831デフォルトの名無しさん (ワッチョイ 9352-jLVh)
垢版 |
2017/08/18(金) 12:57:32.20ID:r9Ad8ntQ0
動画の内容も幼稚。
こんな低レベルのことしか考えれないのにしゃべるな!というレベル。

例えばプログラミングついての動画見てよ。
https://www.youtube.com/watch?v=N9Xl2m-GZwc
コピペが最良とか言ってて、こんなんやってたら共同作業でプログラングやってたらめちゃめちゃになる。
このレベルじゃデザインパターンとかリファクタリングのことを全く知らないしろうとだとわかる。
この人さっぱりプログラミングできないのは明らか。
言語の見解としてCOBOLはやる人がいないからチャンスかも、というのもそれは違うだろ。
0833デフォルトの名無しさん (アウアウカー Sa1d-R5c0)
垢版 |
2017/08/18(金) 13:55:05.43ID:HoFsfG3Ua
>>831
まあ、どうでも良いんだがjavascriptは詳しくないからなあ。
有用な回答が得られるかっていうと知らんということでjavascriptのスレよりは難しいんじゃないか?

ところでググることぐらいはしてるんだろうね。
OmniSharpが使えるエディタならなんでもいけるかも。

あと、マイナーかもしれんがScite4がいけるかも。
AutoItで使ってるからjavascriptはどの程度使えるかは分からんが。
0834デフォルトの名無しさん (アウアウカー Sa1d-R5c0)
垢版 |
2017/08/18(金) 14:04:26.04ID:HoFsfG3Ua
>>814
うん、DOMの構造を調べて求めるデータがgetElementsByTagname("TR")の何番目なのかや、実際にはその子どもや孫の可能性もあるからその何番目かっていうのを簡易ツールで調べて欲しいんだがね。
テーブルの場合、連続した番号にならないことも多いから何個飛ばしかが分かれば取ってこれると思うんだけど。
0836デフォルトの名無しさん (ワッチョイ e14b-XaGt)
垢版 |
2017/08/18(金) 17:40:24.80ID:AdXlT0dS0
TR取れない君です
>>790に書いてますが取得は出来てます
3サイト程試したので理解は出来ているかと思います
昨日はcellに出力まで出来ました。
Set colTable = htmlDoc.getElementsByName("oppai")

Dim el As IHTMLElement
For Each el In colTable

Set colTH = el.getElementsByTagName("th")
Set colTD = el.getElementsByTagName("td")

i = 2
Cells(i, "B") = colTD(2).innerText
Cells(i, "C") = colTD(3).innerText
Cells(i, "D") = colTD(4).innerText

Next el

後はA列に記載のURLから順に情報を取得して上のcellに格納していくのと
MSXML2.XMLHTTPやMSHTML.HTMLDocument化です

A列に記載のURL(B2からB101)から順に情報を取得して上のcellに格納の
具体的なコードを教えて頂けないでしょうか
0837デフォルトの名無しさん (ワッチョイ e14b-XaGt)
垢版 |
2017/08/18(金) 17:41:43.48ID:AdXlT0dS0
A2からA101の間違いです
0838デフォルトの名無しさん (ワッチョイ 2baa-PF2c)
垢版 |
2017/08/18(金) 17:55:29.64ID:MkY1nhvU0
>>798
1つのドメインにつき、1日1回までにしておかないと、業務妨害で逮捕されるぞ。
同じサイトへ、しつこくアクセスするなよ

普通のサイトは、ツールでのアクセスは認めていないから

robots.txt に、検索エンジンのクローラー(ロボット)に対する、命令が書いてあって、
それに従わないアクセスは、業務妨害で逮捕される
0839デフォルトの名無しさん (ワッチョイ e14b-bEti)
垢版 |
2017/08/18(金) 20:31:07.04ID:AdXlT0dS0
>>838
えっ1日に2回サイトにアクセスすると逮捕って日本の法律?
じゃあスクリプト組んで商品買ってるやつみんな逮捕されてんの
コードの書き方書いてるやつやソフト屋も幇助で逮捕されてるんだ

ちなみに取りに行くの海外サイトなんだけど同じなの?
国際指名手配とかになると困るんだけど
0842デフォルトの名無しさん (ワッチョイ 932e-oL0b)
垢版 |
2017/08/18(金) 23:15:13.61ID:b4AgNHol0
>>840
> 岡崎図書館アクセス事件か
wikiを見てみると、1秒に1アクセスは「常識的で礼儀正しい」って世間の認識のようだね

男性の作成したクローラの動作
このクローラは、同時には一回しかリクエストを送らず、受信後に間隔をおいてから次のリクエストを送信していた
(1秒に1アクセス程度に調整)。これはクローラの動作としては「常識的」「礼儀正しい」程度のものであり、
応答を待たずに過大なアクセスを行うことで高負荷にさせる攻撃用のプログラムと異なる動作であった。

男性の業務妨害の強い意図が認められないとして起訴猶予処分となった
0844デフォルトの名無しさん (ワッチョイ ab4b-bEti)
垢版 |
2017/08/19(土) 00:40:39.77ID:vs90uVQG0
>>841 >>843
OKです

例えばですが同一サイトの目的の個別ページに100アクセスするのと
1アクセスになるのかわからないけど根こそぎリンクたどっていくのとどっちがいいのでしょうか

前者のやり方はググっても同じやり方の参考になるサイトがなくてコードを希望しました
後者なら似た感じのがあったので自分でも作れそうです
欲しい情報のほとんどが各ページ10字程度のTD1ケ所だけです
素人考えで該当のページから必要な部分だけ抜いたほうがいいのかなって思ったんですがどっちがいいのでしょうか
0847デフォルトの名無しさん (ワッチョイ 9306-JJVS)
垢版 |
2017/08/19(土) 09:53:56.58ID:OPyAj3On0
必要な情報は提供せず、こちらが知りたいことだけ教えろ!
これがこのスレの質問者のデフォ
0849デフォルトの名無しさん (ワッチョイ 2baa-PF2c)
垢版 |
2017/08/19(土) 12:32:35.39ID:9KU7ntuJ0
岡崎図書館事件では、逮捕されている。
第三者機関である裁判所から、逮捕状も取れている

裁判所だから、警察などの行政執行機関じゃなくて、司法の判断で、ほぼ有罪になる。
単に、起訴猶予処分にしたというだけ

1秒に1回なら、アクセスしても無罪というのは、
無罪になるために、こういうのが常識ですよって広めただけで、
実際には、逮捕状も取れている

robots.txt に従っていないと、相手のサイトが訴えるのは自由だから、
各社の検索エンジンは、1日1回しかアクセスしない
0852デフォルトの名無しさん (アウアウカー Sa1d-R5c0)
垢版 |
2017/08/19(土) 13:55:32.82ID:stRE+6ELa
>>836
そこまで分かってて何で組めんの?
基本的な問題で躓いてるみたい。

君はどういう方針で組んでるの?
普通はそういうサンプル組めたらURLを変数に置き換えて、指定のURLを引数にして4つのデータを取得するプロシージャ作ると思うんだが。

Function Get4Data(strURL As String) As String()
Dim strData() String
.
.
.
Get4Data=strData
End Function

Sub MainProc()
Dim strData() As String
Dim i As Long
Dim j As Long
For i=2 To 102
strData=Get4Data(Cells(i,1).Value)
For j=0 To 2
Cells(i,j+2).Value=strData(j)
Next j
Next i
End Sub

4つのデータに意味を意識するならユーザー定義型を返すプロシージャにしてメインでは配列の利点を使わない。(jを使わない)
この辺は趣味の問題だと思うけど。

なお、スマホから打ってるからコードには間違いが有るかも。
0853デフォルトの名無しさん (ワッチョイ 2baa-PF2c)
垢版 |
2017/08/19(土) 13:57:02.56ID:9KU7ntuJ0
別に反対とは言わないけど、
相手のサイトが、業務妨害で訴えるのは自由だから、逮捕されるよってだけ

コンビニのアイスクリームのケースに入って、写真を撮っただけで逮捕されてる

被害額は、0円なのにw
気持ち悪くて、客に出せないから、アイスクリームを全部捨てましたって

相手は、何とでもできる。
無傷でも、被害額を請求できる
0855デフォルトの名無しさん (アウアウカー Sa1d-R5c0)
垢版 |
2017/08/19(土) 14:16:21.11ID:stRE+6ELa
岡崎図書館の場合は図書館側に問題があって、プログラムでアクセスした時にそれが顕在化したということだったと思うが。

ただし、プログラムでのアクセスはサーバーをダウンさせることもあり得るわけでそれはアクセスの程度問題であるということ、過度なアクセスはサーバー側にとっては迷惑であるということ、不正アクセス防止法は意図しなくても問えるということは、留意する必要があるだろう。

要は無断でのアクセスは迷惑になるから気をつけてってこと。
そういう意識があって、でもそれほどアクセスが有るわけじゃ無いから連絡はしなくても良いだろうという判断ならそれもありじゃないかとも思う。
これが全く気にもせず、人のことはどうでも良いと考える人ならもう教えないし、プログラム組むのも辞めた方が良いと思う。
そういう人のプログラムって動けばOKの独りよがりプログラムになって周りが迷惑になりがちだから。
0858デフォルトの名無しさん (アウアウカー Sa1d-R5c0)
垢版 |
2017/08/19(土) 14:33:28.32ID:stRE+6ELa
仕事でWebから情報取って来るプログラムを作ったときは客にその旨を説明し、先方には実際のプログラムのソースコードと一緒にどういう手順でアクセスするかの説明を提示して貰った。
先方と言っても会社は違うけど客の会社の関連会社で情報取って来るプログラムもその会社関連の仕事の中の一部だったわけだけど。
先方が承諾することは分かってたけど一応報告すべきってことで。

>>839
そういうわけで手順を踏んで許可を取れば問題ないから幇助には当たらない。
0864デフォルトの名無しさん (ワッチョイ 932e-oL0b)
垢版 |
2017/08/19(土) 18:37:05.55ID:lbryh9n10
>>849
> 1秒に1回なら、アクセスしても無罪というのは、
> 無罪になるために、こういうのが常識ですよって広めただけで、
> 実際には、逮捕状も取れている
不起訴になってるじゃん
前例ができたから、今後は逮捕されることもないでしょ
0867デフォルトの名無しさん (ワッチョイ 5991-7WL/)
垢版 |
2017/08/19(土) 22:32:40.39ID:+zJz2sC40
>>862
逆に言うと
その程度の脳みそだから教えてもらわないとわからないってことなんだろうな

低レベルな質問するやつほど
自分の環境言わなかったりコード提示しないイメージ
0871デフォルトの名無しさん (ワッチョイ 710d-Jcyw)
垢版 |
2017/08/20(日) 09:23:54.53ID:B8YXLqYv0
>>861
コードが間違ってるから
0873デフォルトの名無しさん (ワッチョイ 1101-bEti)
垢版 |
2017/08/20(日) 11:34:29.55ID:xnxdM6Sy0
初心者ですいません。教えてほしいです。

シートが2枚あり、1枚目のシートの特定セルに「デリ」と入力後、
2枚目シートの特定セルにデリと入力されるのを作ってるのですが1枚目のC13のは反映されるのですが、C14以降が反映されません
ご教授お願いします
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
Dim name As Variant
Dim linenm As Integer
For i = 13 To 52
If Intersect(Target, Cells(i, 3)) Is Nothing Then
Exit Sub
Else
'デリがもし記載されていれば
If Cells(i, 3).Value = "デリ" Then
'デリが記載の名前をnameに代入
name = Cells(i, 3).Offset(0, 1).Value
'ワークシート(シフト)で、nameに代入されている名前の行数を取得
linenm = Application.Match(name, Worksheets("シフト").Range("A1:A60"), 0)
Worksheets("シフト").Cells(linenm, 2).Value = "デリ"
End If
End If
Next i
End Sub
0874デフォルトの名無しさん (ワッチョイ 5b6d-5Iur)
垢版 |
2017/08/20(日) 13:16:25.67ID:hXI6dDhp0
>>873
ここがおかしい
targetがcells(14,3)だとループから即抜けて終わる
For i = 13 To 52
If Intersect(Target, Cells(i, 3)) Is Nothing Then
Exit Sub
Else

以下のように書き換える


Dim linenm As Integer
'範囲外だったら終了
If Intersect(Target, range(Cells(13, 3),cells(52,3))) Is Nothing Then
Exit Sub
endif

'メイン処理
For i = 13 To 52


こうすれば何をしているかわかりやすいと思う
0875デフォルトの名無しさん (ワッチョイ 5b6d-5Iur)
垢版 |
2017/08/20(日) 13:17:04.87ID:hXI6dDhp0
で、更に言うと、スコープの関係でWorksheet_Changeから別シートは触れ無くないか?
以下はエラーになる気がする
Worksheets("シフト").Cells(linenm, 2).Value = "デリ"

以下のようにすると動くと思う
'worksheet1
Private Sub Worksheet_Change(ByVal target As Range)
'無限ループを抑制する
Application.EnableEvents = False
'この時点で選別する
If Intersect(target, Cells(i, 3)) Is Nothing Then
Exit Function
Else
'標準モジュールに投げる
foo (target)
End If
Application.EnableEvents = True
End Sub

'標準モジュールの内容
Function foo(ByVal target As Range)

Dim i As Integer
Dim name As Variant
Dim linenm As Integer

'範囲外だったら終了
If Intersect(Target, range(Cells(13, 3),cells(52,3))) Is Nothing Then
Exit Sub
endif

'メイン処理
For i = 13 To 52
0876デフォルトの名無しさん (アウアウカー Sa1d-Enn5)
垢版 |
2017/08/20(日) 14:44:51.18ID:Qs6CySsIa
>>875

874理解しました。
なるほどです。

外出中なので検証できませんが、
changeイベントはシート1の値を対象で
イベントが発生すればifを実行

ifでシート1にデリが記載されていれば
シート2にデリを入力

というのは不可能なんでしょうか、、
帰ったらやってみます。
0879デフォルトの名無しさん (ワッチョイ 1101-8l/3)
垢版 |
2017/08/20(日) 22:03:48.69ID:xnxdM6Sy0
>>878
今戻って書き直したら正常に動作しました。

ありがとうございます。

別件の質問なんですが、
worksheet_changeは
セルの値を削除した際には対応していないのでしょうか。
うまくいかない・・。
0882デフォルトの名無しさん (ワッチョイ ab4b-ClLO)
垢版 |
2017/08/20(日) 22:32:57.93ID:ikiDo2Le0
>>846
余った金で買ってるですら時間かけれなくて基本放置メインの優待株なのにちまちま転売なんて時間ないですよ
休みは家族サービスしなきゃなんないし
暑いなかヨドバシ並んだり労力に合わないこと無理

>>845
いや初心者なんでほんと申し訳ないが相手のサーバーの性能とか構成とかどうやって調べるの?
知りたいしやり方具体的に教えてほしい

自分で貼ったコードは今は理解出来てるけど
初心者からすると3日前ならポカーン
正直debug→sellsなんて簡単な事すらわからないレベルが初心者ですw

>>852
ありがとうございます
変数の置き換え等がまさに知りたかった事です
改変出来るサイトが見つけられず完全にお手上げでした
お酒入ってるんで明日試してみます

質問ですが456行目の...はなにか入るかのでしょうか?それともこのままでしょうか?
tb3のみの取得の場合でもこれでいけるのでしょうか?
0886デフォルトの名無しさん (オッペケ Sr4d-lC4d)
垢版 |
2017/08/21(月) 12:19:06.20ID:EyA7fO9yr
すまぬ。助けてほしい。

シート上にActiveコントロールのボタン配置します。
なぜか、勝手に大きくなったりちいさくなったりして堪らん。

解決策ありますか?


別件でもうひとつ。
シート右クリックメニューにコマンド追加してます。(マクロで追加)

端末によって、改ページシート表示時なら、コマンド表示されるけど、標準表示時は標準されない。

何が原因ですかな。標準表示でだしたいの。
0887デフォルトの名無しさん (アウーイモ MM85-vD8I)
垢版 |
2017/08/21(月) 12:42:03.35ID:a8XpI6K5M
>>886
後者に関しては
Cellって名前のCommandBarを取得して変更してると思うけど
改ページと標準で名前はどちらもCellだけど実体は別々のCommandBarだから
改ページの方だけしかメニュー追加できてないんだろう
ついこないだ自分も全く同じ現象にハマった

そのことも加味して作ってるサンプルググれば出てくるよ
出先だから細かいことは書けん
0893デフォルトの名無しさん (ワッチョイ 5b6d-DBYK)
垢版 |
2017/08/21(月) 20:36:29.86ID:F/qAyFl80
変数のウォッチ式を見ていると、変数の中身が勝手に変わるという現象に遭遇しました
以下のコードのどこかに問題があると思います。問題を絞り込み切れませんでした
直前にIEで「メモリを使い切りました」というエラーが出た場合に起こる頻度が高い気がしています
(このマクロは、IEから落とした巨大なデータに対して処理をかけるものです)
PCをしばらく動かしてからマクロを走らせると、何度やっても
特売コード名 = ""
のところで勝手に変数が書き換わります
再起動直後には変わる事はありません
IEのエラーに原因があるのでしょうか?
また、他に見るべきところなどはあるのでしょうか

マクロの内容は
・マクロファイル自体はマクロだけです
・データファイルをopenし、フィルターを掛けて新ブックにコピー、保存
これを繰り返しています

コードは以下です

Set 特売コードリスト = ThisWorkbook.Worksheets("list")
リスト最終行 = 特売コードリスト.Cells(Rows.Count, 1).End(xlUp).Row 'この時点で変数「リスト最終行」にはdoubleの140が格納されている

'特売コードのタイトル設定
For i = ヘッダ列数 + 1 To 最終列 Step 7
特売コード = RIファイル.Sheets(1).Cells(ヘッダ行数 - 1, i).Value * 1 '特売コードはlongの13桁です(JANコードです)
特売コード名 = "" '何故かここで変数変数「リスト最終行」が「特売コード」の値になります。13桁なのでものすごい量の処理になってしまいます
'以降、他の処理
Next
0895デフォルトの名無しさん (ワッチョイ 5b6d-DBYK)
垢版 |
2017/08/21(月) 20:48:40.29ID:F/qAyFl80
>>894
宣言は型も指定して、最初にまとめてしてます。
しかし宣言を削除しても変わりませんでした

代入は、していません。
ステップインで以下の行を実行すると、「リスト最終行」という全く関係ない変数の値が変わっています
可変変数かと思いましたが、一体何なんでしょうか
特売コード名 = "" '何故かここで変数「リスト最終行」が「特売コード」の値になります。13桁なのでものすごい量の処理になってしまいます

また、コードの最初に以下の高速化を入れていますが、関係あるでしょうか(もちろん最期に解除しています)
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
0896デフォルトの名無しさん (ワッチョイ c191-wXqg)
垢版 |
2017/08/21(月) 21:01:33.61ID:UpqFzRYS0
>>895
コードを切り出す時に本当は関係ある所を
関係ないと思い込んでいる可能性があるから
コード全体を何処かにアップした方が早く解決すると思う
0898デフォルトの名無しさん (ワッチョイ b111-Ovym)
垢版 |
2017/08/21(月) 21:21:28.12ID:WASZaGRQ0
>>895
long型の変数なら何らかの形で代入処理してないとあたいは変わらんはずだがな
自作関数にbyrefで渡したりしてねーかな
まあ、何にせよ上の人が言ってるようにもう一度全体を見直そう
0900デフォルトの名無しさん (ワッチョイ 5b6d-SlN8)
垢版 |
2017/08/21(月) 21:41:38.22ID:F/qAyFl80
>>898
参照みたいというのは、私も感じました
しかし本当にこの行だったのです
特売コード名 = "" '何故かここで変数「リスト最終行」が「特売コード」の値になります
何度やっても結果が参照だか可変変数だかコード内の改行「 _」にしか見えなかったのですが、絶対に違うのです
メモリが書き換えられているのか、ポインタがぶっ飛んでいるのが、そこまで調査する能力はありません

同僚に「顔青白いけど大丈夫か!?」と言われました。

明日もう一度試してみます
0903デフォルトの名無しさん (ワッチョイ 5b6d-bEg4)
垢版 |
2017/08/21(月) 22:55:53.80ID:F/qAyFl80
>>902
プロンプトでデータファイルを指定し、開いた直後に最終行列を取得しています
もちろんこの際にキャンセルなどの処理は行っておらず、普通に選択しています

若干うろ覚えですが、以下のはずです

'dataファイルを指定
Set data = Workbooks.Open(Application.GetOpenFilename("Microsoft Excelブック,*.xls?"))

'最終行列
最終行 = data.sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
最終列 = data.sheets(1).Cells(ヘッダ行数, Columns.Count).End(xlToLeft).Column
レス数が900を超えています。1000を超えると表示できなくなるよ。

ニューススポーツなんでも実況