Excel VBA 質問スレ Part78

■ このスレッドは過去ログ倉庫に格納されています
2022/10/30(日) 13:43:16.31ID:6yf2E1Gz0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を3行貼り付けること

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

次スレは>>980が立てること
無理なら細かく安価指定

※前スレ
Excel VBA 質問スレ Part77
https://mevius.5ch.net/test/read.cgi/tech/1658009255/

-
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
241デフォルトの名無しさん (ワッチョイ c001-g9pY)
垢版 |
2022/12/03(土) 17:35:51.41ID:su8PlnK50
>>235
それ、朝鮮総連のマニュアルだよ。
「あなたは朝鮮人の可能性があると言って相手の反応を見ましょう」
2022/12/03(土) 18:08:54.01ID:i+Roms8I0
>>224
それ、ちょっと思いついてネタ的に作ってみようかと思ったが
そもそもブロックレベルのスコープもたないVBAでやると大変なことになるだけだったわ
2022/12/03(土) 18:30:19.13ID:pfZ7JepId
>>232
回答もできず
できることで負けてるから若さで勝ち誇りたいプライドもかわいそうだな
そのまま年取るなよ

>>242
ある程度まとまったコードを例えば分岐のいくつかでやりたいとかの場合は有効かもしれんけどね
244デフォルトの名無しさん (ワッチョイ 6eda-k08R)
垢版 |
2022/12/03(土) 19:16:17.53ID:lRZF9sqh0
>>238
Class内にDictionaryなりCollectionなりをSetしておいてItemをため込み、
Property Getで取得することはできそうな気がする。。。

ごめん、検証してないし希望とは違うかもしれんけど。
2022/12/03(土) 22:12:00.65ID:K9qqP04ra
複数行にまとめてVLOOKUP関数を埋め込みたいのでFormulaR1C1プロパティを使っているのですが、マジックナンバーを避けるために検索範囲や列番号を変数で表現すると一行がやたら長くなってしまいます
出来るだけ簡潔に書きたいのですが、何かいい方法はありませんかねえ
2022/12/03(土) 22:38:24.22ID:RHVI1GN10
>>245
やたら長いとやらを貼らないと意味が分からない
2022/12/03(土) 22:54:43.08ID:y5TLnC6XH
>>245
indirectかませてるって事?
248デフォルトの名無しさん (ワッチョイ 6eda-RX5i)
垢版 |
2022/12/04(日) 05:27:51.07ID:c2Va4wZ/0
>>245
長くなるというのがどういう状況かわからんけど、範囲をテーブル化して
構造化参照するとかListobjectで指定するとかは?
2022/12/04(日) 05:34:26.58ID:SnW1Fv340
テーブルとか職場の人が嫌がるのですが
250デフォルトの名無しさん (ワッチョイ 6eda-RX5i)
垢版 |
2022/12/04(日) 07:20:23.13ID:c2Va4wZ/0
>>249
あーテーブル嫌がる人けっこう多いよねーw
>>245の件としてレスするけど、テーブル書式設定をクリアしてテーブルっぽく見せないってごまかしは置いてくとしてw
変数って書いてるからVBAコード内での一行なのだろうと仮定して、変数にすると長くなるのであれば変数名を短くするしかないかと。
多少なりともわかりやすくというなら列番号はEnum定義しておくとか。そのくらいかな。
的外れなレスだったらごめんね。
2022/12/04(日) 07:55:31.27ID:CPo+UFwT0
構造化参照も理解できない方たちが事務やってるの多いもんな

変数てLET関数のことかな
VBAの変数名の付け方が参考になるんじゃないか
むしろVBAだと変数名は少し長くなっても後から理解できるようにしておくというのが多いけど
2022/12/04(日) 08:09:42.33ID:TGszPi/mH
>>240
新旧の互換性を維持する系の言語は
いろいろ個性が強くなりますので
できないことはできないで教えていただけてすっきりです

>>244
アドバイスありがとうございます
クラスモジュール内のプロシージャーをすべてprivateにして
各プロシージャーの処理結果をモジュール変数の参照のようにしたいのです
そうすれば多少は依存性が解消できて見通しよくなるような気がしてます
何かいい方法ないでしょうか?
2022/12/04(日) 08:10:27.13ID:TGszPi/mH
>>239
ありがとうございます
何か自分の設定がおかしいのかもしれません
調べてみます
2022/12/04(日) 10:02:49.72ID:ep+/H4bNd
自分はテーブル大好き派なんだが嫌いな人多いんだ
2022/12/04(日) 12:51:49.12ID:SnW1Fv340
嫌いどころかデータ蓄積の入力用シートすら作ってない不思議な人達ばかりよ現場は。
ひとつの表で完結させようとしている。

良くそれで仕事を完遂できるなと
256デフォルトの名無しさん (ワッチョイ e23e-YDcJ)
垢版 |
2022/12/04(日) 13:25:18.39ID:pUfIiilw0
すみません
凄く基本的なマクロの質問になると思いますが質問させてください
シート2のA2からA列の最終行までの値をコピーして
シート1のB3に貼り付けをしたいのですがどうしたらいいでしょうか?
範囲を最終行に応じて自動的に変化させたいです

他にもB2から最終行まで、D3から最終行までとするにはどうしたら良いでしょうか?
257デフォルトの名無しさん (ワッチョイ aa19-vo7k)
垢版 |
2022/12/04(日) 14:09:55.48ID:5CZT7HJs0
>>252
クラス内のプロシージャを全てPrivateにして外部のモジュールから参照するのはしようと思えば出来る。
2022/12/04(日) 14:24:22.61ID:S/+N28Tr0
>>256
VBA 最終行 でググれ
https://www.excel-ubara.com/excelvba1/EXCELVBA318.html

> シート2のA2からA列の最終行
なら
With Worksheets("シート2")
LastRow =.Cells(.Rows.Count, "A").End(xlUp).Row
End With
2022/12/04(日) 15:39:27.71ID:E+FYkBejd
>>256
クリップボード経由しないならこんな感じじゃない
Dim iLastRow As Long
iLastRow = Worksheets("Sheet2").Range("A1").SpecialCells(xlLastCell).Row
Worksheets("Sheet1").Range("B1:B" & CStr(iRow - 1)).Value = Worksheets("Sheet2").Range("A2:A" & CStr(iLastRow)).Value
ちなみに代入元と代入先の行数を合わせる必要があるからそこは必要に応じて書き換えてね
2022/12/04(日) 15:42:10.01ID:TGszPi/mH
>>257

dim cls as class1
set cls =new class1

cls.arry(0)
cls.dictionary("x")

みたいなことできますか?
プログラムはかなりできあがってきたんですが
出来るようなら書き換えたいです
2022/12/04(日) 16:08:10.76ID:TGszPi/mH
神様の皆様、よろしくお願いします
動的配列を使って要素を追加するケースで質問です

dim ar() as variant
redim ar(0)
for i=0 to 9
ar(i)=i
redim preserve ar(ubound(ar)+1)
next
redim preserve ar(ubound(ar)-1) // A

A部分はar(10)を削除しようとして記述しています
この記述は、ar配列の最終要素を削除する動作を保証しているのでしょうか?
それとも何かの影響でarの最終要素以外の要素を削除することはあるのでしょうか?
262デフォルトの名無しさん (ワッチョイ ae4b-lCwf)
垢版 |
2022/12/04(日) 16:43:26.32ID:cmQKIRXH0
>>261
VBE上でローカルウィンドウを出してF8を繰り返し押せば確認できるよ
2022/12/04(日) 16:53:49.22ID:S/+N28Tr0
>>261
自分でシミュレーションしてみ

' i = 9 から...

ar(i)=i ' ar(9)=9
redim preserve ar(ubound(ar)+1) ' redim preserve ar(9+1)
redim preserve ar(ubound(ar)-1) ' redim preserve ar(10-1)
264デフォルトの名無しさん (ワッチョイ e23e-YDcJ)
垢版 |
2022/12/04(日) 16:55:07.12ID:pUfIiilw0
>>258-259

ありがとうございます
凄く助かります
2022/12/04(日) 17:09:39.48ID:TGszPi/mH
>>262
>>263
ありがとうございます
例えば1万回は最終要素を削除できたけれど
10億回すると削除されない、もしくは最終要素以外を削除してしまう
という挙動はあり得ないのでしょうか?

言い換えてると
vbaの仕様として、ubound(ar)は配列の最終要素を参照しており
ubound(ar)-1は、最終要素の1つ手前を参照することを保証していると考えていいでしょうか?
2022/12/04(日) 18:25:54.71ID:SVL4/CbaH
>>265
良い。問題無い。

保証されないのはforeach
あれは順番が変わる事があるので、foreachで同じ事をやるのは絶対にNG
2022/12/04(日) 18:42:02.29ID:QfYm9r1x0
請求書をつくるとき取引先ごとの売上をいれてるシートをピボットテーブルで日付ごとに合算してそれをコピペして請求書シートに貼ってるんですが
これをうまい具合に自動化することはできませんか?
2022/12/04(日) 18:44:43.55ID:E+FYkBejd
そういうコードをかけばいいんじゃない?
269デフォルトの名無しさん (ブーイモ MMba-5Y9H)
垢版 |
2022/12/04(日) 18:57:53.90ID:k+5uNib2M
ピボットテーブルの特定セルを参照する関数なかったっけ?
2022/12/04(日) 19:30:14.40ID:SVL4/CbaH
>>267
取引先ごとの売上をいれてるシートをピボットテーブルで日付ごとに合算してそれをコピペして請求書シートに貼ってる

請求書シートの所定の場所に、ピボットテーブルを表示させる

でいいんじゃないの?
取引先や日付範囲でフィルタすれば全自動になると思う
2022/12/04(日) 20:19:07.12ID:QfYm9r1x0
>>270
そのまま別のデータをコピペすることもあるので
ピボットテーブル直接表示させたらズレませんか?
2022/12/04(日) 20:33:04.86ID:SVL4/CbaH
>>271
どうズレるかはよく分からんけど・・・

ズレるのが怖いなら、
単純に参照すれば良い。黄色の部分は本当にシンプルな式だけで良いと思う
https://i.imgur.com/rwpq1hu.png
2022/12/04(日) 20:47:06.88ID:dKAtQmN50
>>267
ピボットテーブルのフィルターに「取引先」を設定して
コピペするときにリンク貼り付けすれば
後はフィルターを切り替えるだけじゃないだろうか
2022/12/04(日) 22:29:31.05ID:TGszPi/mH
>>266
ありがとうございました
これでUboundを業務で使えます
これからもご指導よろしくお願いします
2022/12/05(月) 00:46:19.76ID:TwFYHOyP0
>>272
>>273
いずれもコピーは必要なんですね
ここに貼り付ける、ときたら
勝手に集計したのを貼ってくれといいのですけど

ちなみに零細で月に10枚程度しか請求書ださないとこは
ExcelのなんちゃってDBで十分ですかね?

フリーSQLも含めACCESSやファイルメーカーもたかってみたがデータの柔軟性がなさすぎて困った
これとこれをグループ化とかも簡単にできないし
2022/12/05(月) 01:25:43.19ID:vai3YpAKH
>>275
>ちなみに零細で月に10枚程度しか請求書ださないとこは
>ExcelのなんちゃってDBで十分ですかね?
じゃなくて、成長率
毎年の成長率が高い企業は、本当に気をつけたほうがいい

>フリーSQLも含めACCESSやファイルメーカーもたかってみたがデータの柔軟性がなさすぎて困った
Excelがおかしな事をしているだけなんだよ
それがたまたま日本の零細~中小に合致しているだけ
2022/12/05(月) 01:33:53.42ID:TwFYHOyP0
>>276
ファイルメーカーつかってたが
レコードを日付でまとめて一覧ししてレポートだす機能もないんだよ…
2022/12/05(月) 01:36:52.68ID:TwFYHOyP0
外部からインポートもコピペではできないし
テーブルを全く計算も不得意ときてる
279デフォルトの名無しさん (スプッッ Sd70-e7tZ)
垢版 |
2022/12/05(月) 03:27:44.54ID:FhvtASfFd
安い販売管理アプリすら買えない貧乏会社は潰れろ
2022/12/05(月) 06:57:51.15ID:/0dw54cWH
今どきはフリークラウドの管理ソフト(販売系、経理系、労務系)のサービスが山ほどあるでしょ
提供会社が無償提供やめたり、提供自体やめると面倒だけど
データ移行性を確保できるのならそっち方法がいい
2022/12/05(月) 07:47:07.80ID:TwFYHOyP0
>>279
>>280
それこそつかいにくい
2022/12/05(月) 11:40:12.06ID:BG/y+01pF
>>246
一例をそのまま貼ると、こんな感じです。

Dim VLOOKUP商品名 As String
VLOOKUP商品名 = "=VLOOKUP(RC" & eCols_明細.得意先コード & "," & WsName得意先テーブル & "!R" & eRows_通常.開始行 & "C" & eCols_得意先テーブル.得意先コード & ":R" & EndRow得意先テーブル & "C" & eCount_得意先テーブル & "," & eCols_得意先テーブル.得意先名 & "," & 完全一致 & ")"
めちゃくちゃ長くて可読性が悪いなと……
2022/12/05(月) 12:03:42.76ID:2GrVmVNid
変数に代入している際の話なら
VLOOKUP商品名 = ""
VLOOKUP商品名 = VLOOKUP商品名 & "AAA"
VLOOKUP商品名 = VLOOKUP商品名 & "BBB"
VLOOKUP商品名 = VLOOKUP商品名 & "CCC"
とかきりのいいところで分割して代入すればいいんじゃない?
284デフォルトの名無しさん (アウアウウー Sa3a-zfUU)
垢版 |
2022/12/05(月) 12:08:08.63ID:1vq1KTlma
>>282
それ自力で展開できないようじゃやばいよ
2022/12/05(月) 12:14:29.23ID:EBZoNox0M
>>283
一応テーブルを参照する部分(VLOOKUP関数の参照範囲の箇所)を変数に代入することで少しは可読性があがったのですが、そもそも複数行へのVLOOKUP関数の埋込みをFormulaR1C1プロパティを使わなくても出来ないものなのかなあ、と思いまして
>>284
「展開」とは?
2022/12/05(月) 12:36:26.38ID:2GYg1OhQ0
>>267
「GROUP BY 複数条件」じゃないの?

GROUP BY 取引先, 日付
2022/12/05(月) 18:30:47.05ID:ovLbu+Xd0
>>285
「そもそも複数行へのVLOOKUP関数の埋込みをFormulaR1C1プロパティを使わなくても出来ないものなのかなあ」ってのがよくわからん
どんな機能を使おうが、セルに代入したいなら必ず一度はコードに記載しなきゃいけないんだから「eCols_明細.得意先コード」とかの変数名を短くするくらいしかないでしょ
288デフォルトの名無しさん (ワッチョイ 6eda-RX5i)
垢版 |
2022/12/05(月) 20:42:26.49ID:vfUaA4330
>>282
VBAからvlookup関数を埋め込んだことが無いので処理のイメージがつかめないんだけど、
今やろうとしていることはvlookup関数の字面を文字列を繋げて作り上げようとしてる感じなのかな?

そもそもVlookup関数の構文は VLOOKUP(検索値, 範囲, 列番号, 検索の型)なのだから変数を使うのであれば
検索値や範囲を変数に格納して繋げれば良いのでは? 例えば,,,

Dim val as String: val="値"
Dim rng as Range: set rng = range(”A1”,"B10")
Dim col as long: col = 2
Dim FormulaStr as string

FormulaStr = "=VLOOKUP(" & val & "," & rng.Address & "," & col & ", false)"

みたいな感じ? 値や範囲をセルによって可変にしたいなら変数に格納する値を変えればいいわけだし。。。
こういうことじゃないのかな?
2022/12/05(月) 20:47:00.71ID:imBemMvO0
そもそも数式をVBAで入力することってあんまりないよな
290デフォルトの名無しさん (ワッチョイ 6eda-RX5i)
垢版 |
2022/12/05(月) 21:46:02.27ID:vfUaA4330
>>289
そうですねぇ、あんまりないですね。
経験としては、計算式があるのにどうしても直打ちされて消されてしまうシートに
ボタン一発で計算式を復旧させる機能を付けた時くらいですかねw
2022/12/05(月) 22:43:24.64ID:/0dw54cWH
やっぱりVlookやsumifみたいな
組み込み関数のほうが、普通にコードするより速く強力なんでしょうか?
2022/12/06(火) 00:26:23.27ID:/P6wRT1K0
コードが短くなるから
293デフォルトの名無しさん (ワッチョイ 6eda-RX5i)
垢版 |
2022/12/06(火) 05:54:39.62ID:iYcy7y+Q0
>>291
Excelに備わっている関数は強力だと思うし使い勝手が良かったりするものもありますね。
私の場合はcountifやmatch、max、minあたりはVBA上でもWorksheetfunctionからよく使います。
2022/12/06(火) 06:19:16.90ID:MaIfapT+0
>>291
かなり最適化されてるしマルチスレッドで動作するから同じ処理ならVBAより相当速い
2022/12/06(火) 07:43:11.23ID:Al8BgWGSd
>>275
零細だったらそれこそappsheetでもいいんじゃないですか?
2022/12/06(火) 08:29:25.79ID:AKPIYKETr
関数を直接入力するとその後にシートに何かしら入力するたびに再計算されるから面倒だわ
その再計算が気にならないってんならvbaで処理しても気にならないレベルでしょ
countifなんか特に再計算に3分とかかかる場合もあるし
2022/12/06(火) 09:00:18.69ID:0FDDxcj9H
>>296
ピボットあたりにしてみては?
coutif遅いよ
2022/12/06(火) 11:03:13.75ID:jhjyA+WOr
>>297
意味が分かりにくくてすまん
だから関数を直接セルに入力するようなことはせずに、vbaでworksheetFunctionとかDictionaryとか使って結果だけを出力するなって意味
vbaで関数を入力するのは引き継ぎとか他人に渡すのを想定したときくらいかな
2022/12/06(火) 11:13:52.38ID:64yedq7Nd
2行目もよくわからんし
VBAで関数を入力とかイミフなんだが
2022/12/06(火) 11:40:45.39ID:QNWFDahpa
Application.Calculation = xlCalculationManual はとりあえず書いとくでしょ
2022/12/06(火) 13:28:57.18ID:/P6wRT1K0
つかVBAで関数使えるなんて最近知ったわ
302デフォルトの名無しさん (ブーイモ MMba-5Y9H)
垢版 |
2022/12/06(火) 13:35:48.17ID:41AW+NFUM
>>301
お馬鹿自慢要らない
303デフォルトの名無しさん (ワッチョイ 2cda-WJTY)
垢版 |
2022/12/06(火) 18:35:08.85ID:+0skKz+k0
どんな機能も馬鹿には使えない
2022/12/06(火) 22:10:52.72ID:0FDDxcj9H
>>300
昔書いてたけど、最近はほとんど書いてないな
PCスペックが大幅に向上し、負荷のないコードが自然に掛けるようになった
2022/12/06(火) 23:34:20.45ID:HLCihNOZ0
2行目がひどすぎる
2022/12/07(水) 01:18:20.40ID:X43S603Q0
なにが?
2022/12/07(水) 07:13:11.50ID:FarCeGHLH
演算処理能力、メモリ容量、基盤の伝送量と速度が大幅に向上し
組み込み関数による処理、VBA関数による処理などの差によるメモリ効率、処理速度を考えず
組み込み関数に依存しないコーディングを書けるようになった

言い換えると3行になるな
メモリ効率を悪化させてしまった
2022/12/07(水) 11:24:59.17ID:D8w4iSDKd
>>304
関数が入っているセルを参照するようなコードの場合
例えばCells(4, 3)にCells(3, 3)の値を10倍するような関数が入っているとして
Cells(3, 3).Value = 40
Debug.Print Cells(4, 3).Value
とやった場合、自動になっていればCells(4, 3)は400になった値が参照できて
手動ならもともと入っている値が参照できるという状態でしょ
スペックが向上、負荷のないコードだから書かないというのは危険な考えでは
2022/12/07(水) 11:32:32.02ID:utJNEW7kH
>>308
再計算に左右されるコードを書く事がそもそもおかしいんですわ
2022/12/07(水) 12:12:32.61ID:LcpUtl7xM
配列がらみのFunctionを作ったときにメモリを空けようと「一時的な配列」を初期化しているのだけれどもしかしてあんまり意味ない?
たとえばこのように↓

Function 戻り値配列 (引数)As Variant

Dim TempArr As Variant
(……何らかの処理)

戻り値配列 = TempArr
Erase TempArr ← これ

End Function

同じ要領で“TempDic”をRemove allしたら戻り値の連想配列も空になっちゃったけどこれはなんでなんだろう
2022/12/07(水) 12:16:33.70ID:utJNEW7kH
>>310
function抜けたらメモリ勝手に空くから特に意味はない
それに今は潤沢にメモリあるから、メモリの空き容量なんて気にしなくていいよ
2022/12/07(水) 12:21:53.20ID:D8w4iSDKd
>>309
なるほど
こういう回答するやつとは通じ合えないのがわかったわw
しかも>>311の回答も適当だしな
2022/12/07(水) 13:54:56.12ID:wBRRjjXH0
>>312
vbaって配列の要素に変数を入れ込んでから配列を初期化すると、
要素変数への参照は切れるけれどメモリ領域は解放されないのでは?
それともvbaって配列要素への参照切れで割りあてたメモリを開放するの?
2022/12/07(水) 14:42:43.86ID:snBsCL7QM
調べてから質問しよう
2022/12/07(水) 15:06:50.61ID:y9uo2cdUa
とりあえず「Erase」を書くのはあんまり意味無いっぽいんでやめます
2022/12/07(水) 18:33:11.05ID:utJNEW7kH
>>312
といいつつなにも訂正できないアホ
2022/12/07(水) 18:52:51.37ID:CifLjB7Ga
>>310
> 同じ要領で“TempDic”をRemove allしたら戻り値の連想配列も空になっちゃったけどこれはなんでなんだろう
そりゃ参照を返してるだけで実体は一個しかないからRemoveAllしたら消えるよ
その後 TempDic を使わない事を明示したいなら
Set TempDic = Nothing
でもしとけばいいけどまあ関数抜けたら TempDic はなくなっちゃうんだから気にしなくていいと思うよ
318デフォルトの名無しさん (ワッチョイ aa19-vo7k)
垢版 |
2022/12/08(木) 00:25:28.15ID:+1lRH4XG0
まぁでも関数やメソッド抜けるまでは保持し続けるから単一責任原則を守ったコードに慣れるまでは
使い終わったらさっさと解放することに越したことはないよ。

最近当たったんだけどボタンを押して呼んだ関数の中で数万のインスタンスを生成する処理があって、
完了メッセージを出した後もその関数抜けるときにメモリを解放しているもんだから暫く待たされるという残念なコードを見てる。

生成した後のごちゃごちゃした処理は別関数でやってたのに実に残念なツールになってたよ。
2022/12/08(木) 01:16:01.92ID:WwdCwmmca
意識高い系のVBA使いとか生きるの辛そうだな
プログラミング界ではそもそもVBAな時点でみんな半端者扱いなんだから気楽にやろうぜ
2022/12/08(木) 02:22:15.27ID:tbk78NJr0
vbaを使ってて0.01秒早くしてどうすんだ?って思うときはある
2022/12/08(木) 06:20:02.03ID:lmp5fbT90
>>318
> まぁでも関数やメソッド抜けるまでは保持し続けるから単一責任原則を守ったコードに慣れるまでは
> 使い終わったらさっさと解放することに越したことはないよ。
呼び出し元に返す話に何を言ってるんだ?
2022/12/08(木) 07:04:26.73ID:HFBnNvT0H
ならやっぱり配列要素がプリミティブでなければ
要素そのものを解放しないと
配列だけ初期化する意味なんてあるの?
2022/12/08(木) 07:26:25.62ID:HFBnNvT0H
というか、vbaには参照切れで自動的にメモリ開放する機能がないってことなのか
324デフォルトの名無しさん (ワッチョイ aa19-vo7k)
垢版 |
2022/12/08(木) 08:07:05.00ID:+1lRH4XG0
>>322
例えば配列にループしてインスタンスを設定するとして、そのループの中でひとつの変数にNewしてインスタンスを作成して、
そのインスタンスを配列に設定した場合、前回のループで設定したインスタンスは配列の内容が削除されれば、他に参照しているところがない限りメモリから解放されるよ。
2022/12/08(木) 08:35:17.09ID:yLcZaBdRH
>>323
ガベージコレクションね
無いよ

逆に参照が合った時に初めてnewされるよ
2022/12/08(木) 10:09:55.21ID:JnPWza2ja
>>322
配列の話じゃねーから絡んできて頓珍漢なこというのはやめてくれ

> 同じ要領で“TempDic”をRemove allしたら戻り値の連想配列も空になっちゃったけどこれはなんでなんだろう
2022/12/08(木) 10:17:37.27ID:owyQh2KqM
>>326
仕様ですが何か?
2022/12/08(木) 10:23:17.17ID:ch+LF4H/0
配列の話じゃなかったんですね、すみません
2022/12/08(木) 10:27:25.77ID:owyQh2KqM
よく見たら >>317 で解決済みじゃんか
330デフォルトの名無しさん (ワッチョイ aa19-vo7k)
垢版 |
2022/12/08(木) 12:32:14.89ID:+1lRH4XG0
>>326
それは済まなかった
でもそんなにイライラするなよ
ハゲが止まらなくばるぞ
331326 (ワッチョイ 7274-JnHA)
垢版 |
2022/12/08(木) 14:20:26.49ID:65k1Y+1Y0
>>330
いやわたしはハゲちゃおらんよ。
君みたいなハーゲマンと一緒にしないでくれ。
2022/12/08(木) 17:59:48.27ID:sOdFjo8m0
またヘアの話してる。。
ヘア話好きだなぁお前ら
2022/12/09(金) 01:27:21.92ID:hGMGk7SH0
クエリA
UNION ALL
クエリB
→文字化け

クエリB
UNION ALL
クエリA
→正常

なんでやねん!
何で上下入れ替えると直る?
因みに、文字化けする方も文字列型にすると化けないので、
文字コードの問題ではない。
334デフォルトの名無しさん (アウアウウー Sa3a-zfUU)
垢版 |
2022/12/09(金) 02:00:05.39ID:6OFfyKzYa
コードだせよ
2022/12/09(金) 02:12:16.40ID:Uc0MJbfu0
毛出せよ
336デフォルトの名無しさん (ワッチョイ 0a19-vo7k)
垢版 |
2022/12/09(金) 04:09:12.16ID:u4+GnlEA0
>>333
何に大してSQL投げてる?
2022/12/09(金) 07:02:42.07ID:KfOH1QpXH
神様皆様おはようございます
神様たちのお導きで50万行*80列のデータから
所望のデータを抽出できました
ありがとうございました!
2022/12/09(金) 13:09:40.12ID:rQKM0wa8M
OneDriveで自動保存設定してるブックに手動保存するときだけbeforesaveイベントする方法はある?
2022/12/10(土) 04:11:06.01ID:sYCK+UIk0
>>336
CSV
schema.iniも使ってる。
340デフォルトの名無しさん (ワッチョイ bf19-TX1J)
垢版 |
2022/12/10(土) 07:54:03.42ID:07zUVtVr0
>>339
SELECT句の中にアスタリスク使ってない?
UNION句で挙動がおかしくなるのはCSVファイルじゃなくてEXCELのシートにSQL投げたときに起こるのも見たことあるけど
まぁそもそもDBに投げてる訳じゃないからある程度は仕方ないってところもあるよ。

CSVファイルはUTF-8かSJISかってのもあるけど
UNION句の上下入れ替えたら直ったというのであれば今回は関係なさそうだしね。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。