[過去ログ] Excel VBA 質問スレ Part68 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
276
(1): (ワッチョイ b7cc-lMKa) 2020/09/17(木)11:44 ID:1/N+zsdG0(1/2) AAS
同じフォルダにある"〇〇"というCSVを開いて、そのシートの最終行を取得したいのですが
「インデックスが有効範囲にありません」というメッセージでとまります

Sub salegrp()
Workbooks.Open ThisWorkbook.Path & "\〇〇", ReadOnly:=False
MsgBox Sheets("〇〇").Cells(Rows.Count, 1).End(xlUp).Row
End Sub

他のブックの最終行を表示する方法を教えてください
(A列には最終行まで値が入っています)
277
(1): (テテンテンテン MM8f-V038) 2020/09/17(木)11:54 ID:DZPRMbPmM(1) AAS
csv開いたてからActiveWork ook.ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Rowすれば
278: (ワッチョイ b7ce-W2Jb) 2020/09/17(木)12:14 ID:qGYgSA/Y0(1/2) AAS
>>276
必要なのは最終行に入ってるデータの内容?行数を知りたいだけ?
全データをワークシートに入れる必要がなければテキストファイルとして開いた方が早いかも
279
(2): (ラクッペペ MM8f-gT2D) 2020/09/17(木)12:24 ID:D1QZID39M(1) AAS
Workbooks.Openの返り値をとってそれを操作する

なおRows.Countも省略せずにシート指定する
280: (ワッチョイ b7cc-lMKa) 2020/09/17(木)13:03 ID:1/N+zsdG0(2/2) AAS
>>277
できました。
281: (ワッチョイ 9f01-z5Vf) 2020/09/17(木)16:10 ID:mN4YvgPv0(1/2) AAS
>>267
Sub tessstttt()
Dim str1 As String
Dim str2 As String

str1 = "あいうえお"
str2 = "かきくけこ"

MsgBox str1 & str2 '結果「あいうえおかきくけこ」

MsgBox str1 & "かきくけこ" '結果「あいうえおかきくけこ」

MsgBox "あいうえお" & "かきくけこ" '結果「あいうえおかきくけこ」
End Sub
282: (ワッチョイ 9f01-z5Vf) 2020/09/17(木)16:17 ID:mN4YvgPv0(2/2) AAS
>>279

VBA続けるつもりならこっちでやれるようにした方が
283
(2): (ワッチョイ 9f02-5MQP) 2020/09/17(木)16:44 ID:T9Rqn+gv0(1) AAS
他のbookやsheet絡むととたんに冗長になるんだよなぁ
Range(.Cell(a,b))とか .Cellの前にもブックやシート指定しないとならんし
284: (ワッチョイ 973d-lnJt) 2020/09/17(木)17:02 ID:pIQJoJyT0(2/2) AAS
>>283
むしろ1シートだけしか使わない場合でも、実効中に人がシート変更とかしても大丈夫なようにブック明記した方がいい
285
(1): (アウアウカー Sa2b-gF9/) 2020/09/17(木)17:07 ID:N0wmq1hya(1) AAS
ブックとシート明示してworksheetオブジェクトの変数作ってそれ経由でアクセスさせるのが鉄板かね〜
286
(2): (ワッチョイ 9fad-dpHK) 2020/09/17(木)17:41 ID:dgD4TP5z0(1/2) AAS
csvの最終行だったらテキスト形式でEOFまで吸い上げてってやった方が動作時間的には良さそうな気がした
287: (テテンテンテン MM8f-V038) 2020/09/17(木)18:04 ID:aPn4iHhdM(1) AAS
CSVの読み込みをしっかりやるならPowerQuery使おうみたいな話もあったりなかったり
288
(1): (ワッチョイ 9f01-RDjc) 2020/09/17(木)18:51 ID:1zO/WKqm0(1) AAS
>>285
てか、基本でしょ
289: (アウアウウー Sa5b-lnJt) 2020/09/17(木)18:59 ID:DNVG/ozSa(1) AAS
>>288
鉄板と基本の違い教えて
290: (ワッチョイ f77c-5MQP) 2020/09/17(木)19:13 ID:ncMNPksn0(2/3) AAS
シート明示してないコードほんと多い
よくやるわ
291: (スップ Sdbf-k5ub) 2020/09/17(木)19:55 ID:iixTl117d(2/4) AAS
>>279
俺なんて、必ずBookから書くぜ。
WithとSetを多用することになるが。
292: (スップ Sdbf-k5ub) 2020/09/17(木)19:56 ID:iixTl117d(3/4) AAS
>>283
その例ならRangeの前にも"."が必要。
293: (スップ Sdbf-k5ub) 2020/09/17(木)19:58 ID:iixTl117d(4/4) AAS
>>286
うん、CSVはLine Inputで1行ずつ+Splitで分解にすることが多い。
294
(1): (ワッチョイ 9fad-dpHK) 2020/09/17(木)20:23 ID:dgD4TP5z0(2/2) AAS
VBA覚えたての頃はいちいちアクティブシート切り替えてシート指定省いてたけど
Sheet1.Cells(a,b)って書く癖は絶対つけといた方が良いって今は思ってる
可読性が段違いだもん
暫く同じシートのセルをいじくりたおすならWithで目立つように囲ってやりゃあ良いし
295: (ワッチョイ 9f2f-qc2B) 2020/09/17(木)20:32 ID:0EHVBisp0(2/2) AAS
>>286
項目中に改行含むcsvとかも存在するからなぁ
汎用的なcsvを真面目にパースするとかなり面倒
そしてEXCELは最強のCSVパーサ(笑)
1-
あと 707 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.028s