X



Excel VBA 質問スレ Part79(ワッチョイあり)
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん (ワッチョイ aaa4-I2zm)
垢版 |
2023/01/28(土) 12:12:12.41ID:UjlIZ1Ov0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を3行貼り付けること

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

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

※前スレ
Excel VBA 質問スレ Part77
https://mevius.2ch.net/test/read.cgi/tech/1658009255/
Excel VBA 質問スレ Part78
https://mevius.2ch.net/test/read.cgi/tech/1667104996/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
0004デフォルトの名無しさん (アウアウウー Sa47-B/zI)
垢版 |
2023/01/28(土) 15:04:00.65ID:uWWFw1N+a
1gj
0005デフォルトの名無しさん (ワントンキン MM8a-bQbc)
垢版 |
2023/01/28(土) 15:34:06.67ID:YZOoYTJxM
わかった気で勘違いしている馬鹿の間違いや馬鹿さ加減を指摘するとスレが荒れるので無視しましょう
最近では零細企業のあれです
0006デフォルトの名無しさん (ワッチョイ 9a02-5T4A)
垢版 |
2023/01/28(土) 21:43:50.55ID:cCrz+GwL0
エクセルでスクレイピングはできそうだけどね。
0007デフォルトの名無しさん (ワッチョイ 9a02-5T4A)
垢版 |
2023/01/28(土) 22:05:54.66ID:cCrz+GwL0
分かりづらい質問だな。
「エクセルファイルのシートにボタンを置いて、それをクリックしたら
あるアプリを立ち上げたい。これが可能ですか?」

ということかな。答えは可能。
0009デフォルトの名無しさん (ワッチョイ 9a02-5T4A)
垢版 |
2023/01/29(日) 09:15:12.97ID:KzySl/Bm0
httpリクエストとか、api接続とか、一般的な表計算の操作が中心の
エクセルユーザーの範囲外なんだけど。
ただ、ExcelでなくてGoogleスプレッドシートはapi接続に相性が良さそう。
クラウドにアプリがあるっていうのは、それだけ優位な気がする。
会社での表計算もほとんど、ExcelでなくてGoogleスプレッドシート使うようになってきて、
今Excelとして残っているのは、過去開発されたマクロで運用する箇所があるから。
こんなことになるとは数年前には思っていなかった。
0011デフォルトの名無しさん (ワッチョイ db10-+rQD)
垢版 |
2023/01/29(日) 10:26:38.51ID:nRF7bUNu0
A列セルに3桁のアルファベットと番号(AAA 1000)、B列セルに金額が入っており
A列セルは番号部分が同セル内に/で区切られ増えるパターンあり(AAA 1000/1001/1002)
これを/がある場合は/で区切り、番号ごとに行を追加して
更にB列の金額も追加した行数で分割するといったことを最終行まで繰り返し処理したいのですが

    A列      B列
AAA 1000/1001  1,000
       ↓↓↓
    A列      B列
AAA 1000      500
AAA 1001       500

金額を行数で分割する方法と
番号ごとに行を追加した時にアルファベットAAAを番号前に追加するにはどうすればよいでしょうか。
0012デフォルトの名無しさん (ワッチョイ db10-+rQD)
垢版 |
2023/01/29(日) 10:28:09.50ID:nRF7bUNu0
続き
コードはこれなのですが
どうかよろしくお願いします

Dim i As Long
Dim n As Long
Dim LastRow As Long
Dim SplCell As String
Dim temp As Variant
Dim AddRow As Long

LastRow = Cells(Rows.Count, 1).End(xlUp).Row

For i = LastRow To 1 Step -1
  SplCell = Cells(i, 1)
  temp = Split(SplCell, "/")
  AddRow = UBound(temp)
 If AddRow > 0 Then
  Range("A" & i + 1).Resize(AddRow).EntireRow.Insert
 End If

 For n = 0 To AddRow
  Cells(i + n, 1) = temp(n)
  Cells(i + n, 2) = Cells(i, 2)
 Next n
Next i
End Sub
0013デフォルトの名無しさん (ワッチョイ df49-+rQD)
垢版 |
2023/01/29(日) 11:46:37.73ID:WTXbQyE20
>>12

考えてみた。

Sub test()

Dim i As Long
Dim n As Long
Dim LastRow As Long
Dim SplCell(1) As String ←変更。(0)はアルファベットを格納、(1)はアルファベット以降の金額部を格納。
Dim temp As Variant
Dim AddRow As Long
Dim m As Double ←追加。行数で分割した金額。

LastRow = Cells(Rows.Count, 1).End(xlUp).Row

For i = LastRow To 1 Step -1
SplCell(0) = Left(Cells(i, 1), 4) ←追加
SplCell(1) = Mid(Cells(i, 1), 5) ←変更
temp = Split(SplCell(1), "/")
AddRow = UBound(temp)
If AddRow > 0 Then
Range("A" & i + 1).Resize(AddRow).EntireRow.Insert
End If

m = Cells(i, 2) / (AddRow + 1) 追加
For n = 0 To AddRow
Cells(i + n, 1) = SplCell(0) & temp(n) ←変更
Cells(i + n, 2) = m ←変更
Next n
Next i
End Sub
0015デフォルトの名無しさん (オッペケ Sr3b-O9ZV)
垢版 |
2023/01/29(日) 14:40:20.12ID:cIjm/G+Or
>>9
It sounds like you are saying that Excel users may not have experience with things like HTTP requests and API connections, but that Google Sheets may be better suited for those types of tasks because it is a cloud-based app. You also mention that your company has been transitioning away from using Excel and towards using Google Sheets for most of their spreadsheet needs, with the exception of some areas where older macros developed in Excel are still in use. It's interesting to see how technology and user preferences can change over time.
0019デフォルトの名無しさん (ワッチョイ 5f10-bQbc)
垢版 |
2023/01/29(日) 16:52:45.66ID:wtQ124Fo0
こっちも零細企業荒らしがいるのか
0020デフォルトの名無しさん (ワッチョイ b666-5T4A)
垢版 |
2023/01/29(日) 18:16:29.96ID:OkpG00lK0
クラスモジュールを使っていく勉強しています。
ClassAのプロパティとしてClassB,ClassCから作るオブジェクトを持たせる事で階層型に
整理できるようですが、これも正しいオブジェクト指向の形なのでしょうか?

メインコードからObjA.ObjB.プロパティAみたいに呼び出せるのです。
ObjAは例えば初期値というカテゴリ
ObjBは初期値の中の日付に関連するもの
ObjCは初期値の中の料金に関するもの
ObjA.の時点で候補が出てくるのも便利です。なんだかただの変数みたいに使ってる気もしますが。

そしてJavaでいうところのメソッドの継承ですが、親側ObjAのメソッドと同じ名前のメソッドを子側ObjBに作り、
中身は親側ObjAのメソッドを呼び出すだけとすれば継承と同じ動作をするような気がします。
子側クラス内で親側クラスのインスタンスを作成しているので、循環しているような気持ち悪さはありますが、内部はメインコードからは見えませんし。
オーバーライド?というのも親側ObjA側のメソッドを呼ばずに子側のObjBのメソッドに処理を好きなように書けばいいだけと思いました。

そして関数型にありがちな関連性のない関数群Module1とかもClassMultiにプロパティのないクラスとして書いて、
オブジェクト化すると、マルチに活躍する便利屋みたいな存在として、これもオブジェクト指向な気がしてきました。

しかも先ほどの継承みたいに別のクラスから同名メソッドで呼ばせれば、同じメソッドをクラス毎に書く必要もありません。
メイン側から見るとオブジェクト指向そのものにも思えます。

オブジェクト指向を人間や動物に例えると、とてもわかりづらかったのですが、
ネームタグみたいな説明をしているサイトから、単なる整理整頓の為の思考技術みたいに考えて。
見せかけのオブジェクト指向を目指してみると、本物と大差ない気がしてきているのですが間違っていますか?

このままなんちゃってオブジェクト指向で進むことをお勧めできない理由がありましたら教えてください。
CallByNameとかImplementsとか勉強すればもっと本物に近づくような気がしています。
0022デフォルトの名無しさん (ワッチョイ 8a3d-0rrK)
垢版 |
2023/01/29(日) 23:11:48.83ID:QtxW6Mg40
ワッチョイ付きに誘導されますた。

Type RecClass0
 field01 As String * 6
End Type
Type RecClass1
 field01 As String * 4
 field02 As Integer
End Type

Sub test()

 data = "abcdyyzzzz・・" ← HEXにすると "414243440006??????・・"

 Dim rec0 As RecClass0
 Dim rec1 As RecClass1
 rec0.field01 = data

 rec1 = rec0   ←型が一致しません

 Debug.Print Len(rec1.field02)
End Sub

dateの0006にあたる6を取ってきたいんだけど、上記のようなコードを考えてみた。
型が一致しませんになる。
代入て無理なのか?
コボルだとできるよな。
上のコードはインデントのために全角空白を使ってるので、半角にしてくれ。
0025デフォルトの名無しさん (ワッチョイ 3619-GWjr)
垢版 |
2023/01/30(月) 08:01:49.37ID:1uz9zngm0
>>20
> 子側クラス内で親側クラスのインスタンスを作成しているので、循環しているような気持ち悪さはありますが、内部はメインコードからは見えませんし。

堅牢性から考えるとVBAに限らずここがまずいかな
子クラスCで親クラスAを生成すると言う事は、
もし同じような親クラスDを作成して同じ子クラスを
使おうとするとその中で親クラスAを作成することが
前提となってしまい、親クラスDでは使えない場合が出てくる。

子クラスではあくまで子クラスの役割を
与えるべきであって、もし親クラスの機能を
使いたいなら直接子クラスの中で生成するのではなく、
CallByNameやインターフェースを使用するかして
処理を移譲させるようにした方がいいと思うよ。
0026デフォルトの名無しさん (スププ Sdba-5IHC)
垢版 |
2023/01/30(月) 09:39:47.20ID:e2a+Lyz1d
CSVファイルって、Excelで開いて編集して保存すると文字コードの問題でデータの後ろに半角スペースが入ることがあるのでしょうか?
0027デフォルトの名無しさん (スププ Sdba-5IHC)
垢版 |
2023/01/30(月) 09:40:56.25ID:e2a+Lyz1d
元々半角スペース入ってなかったのにデータをかきかえたりすると文字コードがShiftJISではない場合、文字化けして半角スペースが入るのでしょうか?
0030デフォルトの名無しさん (スププ Sdba-5IHC)
垢版 |
2023/01/30(月) 15:20:40.00ID:e2a+Lyz1d
>>29
たぶん、それだわ
ありがとう
0033デフォルトの名無しさん (ワッチョイ 172f-DSsr)
垢版 |
2023/01/30(月) 21:40:04.89ID:dCL8a0ux0
>>32
正しい余白ならインデントってのがあるが

CSVにしたらどうせ書式はなくなるのに、書式を空白で表そうとするEXCELが気持ち悪いのか
そのくせインデントは無視するという
0036デフォルトの名無しさん (アウアウウー Sa47-B/zI)
垢版 |
2023/01/31(火) 12:24:23.88ID:XEbPQm8Ra
余白は木を切る~
003820 (ワッチョイ b666-5T4A)
垢版 |
2023/02/01(水) 15:16:25.31ID:J3cdB8RP0
>>25
レス感謝です。
呼び出しだけなので「お父さんやって」的なイメージでした。

>もし同じような親クラスDを作成して同じ子クラスを
>使おうとするとその中で親クラスAを作成することが
>前提となってしまい、親クラスDでは使えない場合が出てくる。

ここがわかりませんでした。

ClsFatherとClsSonの二つがあるとします。
メインでClsFatherから父親シルバを作成、
自動的にClsFatherの中で息子キルアが作成されて父親のプロパティにセットされる
親クラスDにあたる父親ジンをClsFatherから作成して、息子ゴンがを作成される
息子ジンが継承もどきで使う機能は父親ドンのだけのつもりでしたが、
継承って本来は父親シルバ、息子ゴンみたいな組合せも自由に出来るものって意味だから
それじゃ違うよってことですか?

息子ゴンのメソッドでどの親メソッドを継承するかをImprementsとかで動的にしなさいということですか?
004038 (ワッチョイ b666-5T4A)
垢版 |
2023/02/01(水) 19:12:55.35ID:J3cdB8RP0
>>39
そうです。子も親のインスタンスを生成します。
当然オブジェクトとしては別物ですが、同じクラスからの生成ですので、
同じ親の機能を使えるという意味です。

実際にゴンはジンを作れず、ジンとほぼ同じ能力を持つ別の何かの力を使って
継承に見せかけるという事です。

この見せかけ行為が本当の意味での親オブジェクトの機能継承にあたらず危ないよって意味でしょうか?
で、本当の意味での親オブジェクトの機能を使うならCallByNameやImprementsを使いなよって意味でしょうか?
004140 (ワッチョイ b666-5T4A)
垢版 |
2023/02/01(水) 22:04:53.94ID:J3cdB8RP0
すみません。質問途中に別の質問をする事になってしまいます。
自力で解決出来ませんでした。

VBEのCtrl+hボタンで出てくる置換機能で、パターンマッチングを使用するにチェックを入れました。
Ai.Erase
Ai.Create
AiErase
AiCreate

この4つのワードにおいて、パターンマッチングとして
Ai[AE]としたら下の二つにだけマッチングしました。
そしたら一致したAとEは温存しつつAiとA or Eの間にどっとを入れたいのです。

実際はもう少し複雑なパターンなのですが。簡略化するとこんな感じです。
一致したAとEが消えてしまうので困っているのです。
一致した[AE]のどちらかをそのまま残したいと
Ai.[AE]みたいにしても置換後文字列はAi.[AE]がそのまま出てきてしまいます。

思ってるような使い方は出来ないという事でよろしいでしょうか?
0042デフォルトの名無しさん (ワッチョイ 8a3d-0rrK)
垢版 |
2023/02/03(金) 01:33:26.18ID:0K9bvbAh0
Sub test_if()
a = -1
If a >= 2 Then
Debug.Print "aは2以上"
Else
Debug.Print "aは2未満"
End If
End Sub

というマクロなんだけど<>を使わずに同じことが可能?
<>はネット上では禁止されてる場合があるので。
0050デフォルトの名無しさん (ワッチョイ ff19-gKyW)
垢版 |
2023/02/04(土) 01:29:18.62ID:Wbq5qWPo0
>>38
そそ、
そういう「どっちの親でも使える」ようにするために
そういう場合は継承は使わずに、移譲でやるのがいいんじゃないかと。
そもそもVBAじゃ厳密な意味の継承は使えないけどね。
0051デフォルトの名無しさん (ワッチョイ 4f01-Rev0)
垢版 |
2023/02/04(土) 03:13:48.63ID:5cp+GCIG0
一次元配列の中に二次元配列を入れるのってシートから二次元配列として取り込まない限り無理ですか?
例えばa(2)って一次元配列を作って
a(0)=cells(1,1).currentregion
とした場合、a(0)(1,1)と格納されるよね。
一方、b(2)って一次元配列をつくってそこに2次元配列を格納しようとしてredim b(0)(100,100)って宣言してもエラーになるよね?
0052デフォルトの名無しさん (ワッチョイ 4f01-Rev0)
垢版 |
2023/02/04(土) 03:22:13.04ID:5cp+GCIG0
特に複数のcsvを一次元配列ごとに二次元配列として取り込みたかったんたけど、それができなくて困ってます
0.csv→a(0)に二次元配列として格納
1.csv→a(1)に二次元配列として格納
2.csv→a(2)に二次元配列として格納
よくありそうなパターンですけどネットで調べても出てこなくて…
何かいいアイディアはあるでしょうか?
0058デフォルトの名無しさん (スプッッ Sda3-D+99)
垢版 |
2023/02/04(土) 09:14:10.73ID:xQtdr6Ugd
>>45
AIさんからの天の声です

Sub CheckSortOrder()
Dim sortOrder As Boolean
sortOrder = ActiveSheet.AutoFilter.Sort.SortOn
If sortOrder = True Then
MsgBox "The column is sorted in ascending order."
Else
MsgBox "The column is not sorted in ascending order."
End If
End Sub
0059デフォルトの名無しさん (ワッチョイ 8fda-EOzK)
垢版 |
2023/02/04(土) 10:59:33.56ID:mzRI23fF0
>>58
だからさ、そのコードが有効かどうかを、先ずはじぶんで検証しろよ ゴミコードだろうと何でも貼りゃあいいってもんじゃねーぞ
△! オブジェクトは、このプロパティまたはメソッドをサポートしていません。だぞ おま環のせいで動作しないだけってか?
検証もしてない野良コードは世間の大迷惑 AIなら間違わないってか? 訊ねる人間側に問題あるからゴミコード吐くのに気付け
0060デフォルトの名無しさん (スプッッ Sddf-D+99)
垢版 |
2023/02/04(土) 11:20:43.51ID:EUGDlgP1d
>>59
そのコードを検証することは重要です。そのコードが有効かどうかは、まず自分で確認する必要があります。「AIなら間違わない」という考え方は誤りです。AIモデルはトレーニングデータから学習するだけであり、常に正確ではありません。野良コードを使用しても問題が起こる可能性があり、それが世間を混乱させることがあります。
0061デフォルトの名無しさん (ワッチョイ 4f01-Rev0)
垢版 |
2023/02/04(土) 13:12:21.87ID:sIc7L3oe0
>>53
「csvを格納するならそのまま格納して」って言うのが、まさにその方法を知りたいっていう質問でした
Line Inputをつかって一行ずつ一次元配列に分割して、それを二次元配列に格納して、二次元配列の一次元目を増やして…ってのを繰り返すってのを考えました
(二次元配列の一次元目を増やすプロシージャを作成する前提)
ところがredim b(0)(100,100)という宣言自体がエラーになるのでどうしたものかと
0062デフォルトの名無しさん (ワッチョイ 0fda-kmO4)
垢版 |
2023/02/04(土) 14:48:40.79ID:JIMr/Iwq0
>>61
お役に立てたのならなによりっす。

でもその内容を聞いた感じだとcollectionかdictionaryを使ったほうがいい気もする。csvがどのくらいの文字数かわからんけど下手するとオーバーフローしそうな気が、、、

あとそもそもファイル操作で読み込むんじゃなくてPowerqueryとかでデータテーブル化してしまえば扱いやすい気も、、、あ、スマンね。いらぬお節介やった。
0063デフォルトの名無しさん (ワッチョイ cf79-p19T)
垢版 |
2023/02/04(土) 18:22:34.02ID:Av2vQos/0
>>61
そういうのって1次元の配列にCSVから作った2次元配列を足していくジャグ配列だよね
a(b)(c,d)として使いたいってそういう事だよね
CSVから2次元配列に落とす部分は自力で適当に作るしかないと思うよ
0065デフォルトの名無しさん (ワッチョイ 4f01-Rev0)
垢版 |
2023/02/04(土) 22:05:52.42ID:sIc7L3oe0
>>62
ジャグ配列はまさにその通りです!
色々調べてみたところ、Workbooks.OpenTextで一度新しいブックを開いて、そこをcurrentregionで二次元配列として取得するのが一番早そうでした
シート一度貼り付けて、そこから取得するのがちょっとかっこ悪い気もしますが、コード的には一番楽のだと思うのでそれでいきたいと思います
ありがとうごさいました!
0067デフォルトの名無しさん (ワッチョイ 0fda-kmO4)
垢版 |
2023/02/05(日) 06:12:14.98ID:zxOMW0wY0
>>65

解決の糸口が見つかってよかったです。
シートに貼り付けるのは一見かっこ悪く見えるかもしれませんが、エクセルの場合シート自体が目視できる2次元配列みたいなものなのでデータ用のシートを用意しておくのはデバッグの意味でも有効と思います。
最終的に非表示にしておけばデータを変えて不具合が出たときに参照できますしね。
0069デフォルトの名無しさん (スップ Sd5f-dHSc)
垢版 |
2023/02/08(水) 13:33:38.06ID:yPPt1d0+d
名前の定義で範囲に名前をつけると数式で使用できますが、
VBAで自作関数を作り、その引数として定義した名前を使用するとエラーとなってしまいます。
一応定義した名前の後に&“”を付けて文字列化すればエラーを回避できるのですが、毎回これを入力するのは煩わしく見栄えも悪いのでできることならなんとかしたいのですが
解決策ありましたらご教示の程お願いいたします。
0071デフォルトの名無しさん (アウアウウー Sa93-4QSx)
垢版 |
2023/02/08(水) 15:37:35.62ID:FTgAG7p2a
毎回やるならインターフェース関数作ればいいだけ
0073デフォルトの名無しさん (スップ Sd5f-dHSc)
垢版 |
2023/02/08(水) 23:15:53.95ID:Gaz3gRVpd
言葉でうまく説明できないので画像で説明させていただきます。
例えば引数の文字列に別の文字列をくっつけて返すだけのシンプルな関数を作ります。
当然引数にセルを指定すれば問題なく使用できます。
https://i.imgur.com/SnSyEby.png

次に、範囲に名前をつけてそれを引数として使用します。
https://i.imgur.com/6mcu5nn.png

するとこのように「#VALUE!」エラーが出ます。
https://i.imgur.com/9NNr0sB.png

ちなみに範囲の名前に&“”をつければ期待通りの結果になります。
https://i.imgur.com/haXX7gC.png

と、SS撮ってて気づきましたが範囲の中から同じ行のセルを選んで渡す必要があるのですね。
VLOOKUPの第一引数なんかで同じことをすると自動的に同じ行だけを渡せるので勘違いしていました。
0074デフォルトの名無しさん (ワッチョイ 0fda-zLlH)
垢版 |
2023/02/09(木) 07:05:59.22ID:bJr31kU+0
>>73
検証してないので的外れかもしれないけどたぶんRangeのデフォルト値の問題かと。
うろ覚えだけどvariant型で渡されているからセル単体を引数で渡すとセル内容の値の型(今回はstring型)を渡すけど
複数セルを渡すとrange型のオブジェクトとして渡されてるんじゃないかな。
なので自身で書かれているようにセルを特定してあげないといけないのだと思う。
0077デフォルトの名無しさん (スッップ Sdaa-GMxD)
垢版 |
2023/02/13(月) 07:05:23.93ID:HpzJjAlxd
>>76
Excelでは少数を厳密には表現できないから
0.1と書いても実際の値には0.12...みたいなのが入る
そのズレた値同士の足し算をズレた値と比べるからガタガタで合わなくなる
0078デフォルトの名無しさん (ワッチョイ d301-0qku)
垢版 |
2023/02/13(月) 07:53:01.46ID:/kiwbSJJ0
>>76
きちんと型宣言すればちゃんと計算できる
詳しくは下を見た方が早い
https://excel-ubara.com/excelvba4/EXCEL_VBA_427.html#:~:text=Single%EF%BC%88%E5%8D%98%E7%B2%BE%E5%BA%A6%E6%B5%AE%E5%8B%95%E5%B0%8F%E6%95%B0%E7%82%B9%E6%95%B0%E5%9E%8B%EF%BC%89%E3%81%AF4%E3%83%90%E3%82%A4%E3%83%88,%E7%99%BA%E7%94%9F%E3%81%97%E3%81%A6%E3%81%97%E3%81%BE%E3%81%84%E3%81%BE%E3%81%99%E3%80%82
0079デフォルトの名無しさん (アウアウウー Sa4f-qaxQ)
垢版 |
2023/02/13(月) 10:13:40.33ID:QGUistpWa
>>76
ほんとだよく気付いたね って言ってほしいのか?
0080デフォルトの名無しさん (ワッチョイ ff35-fTjZ)
垢版 |
2023/02/13(月) 10:18:31.40ID:86tN/4J60
すみません、マクロスレに誘導されてきました。教えてください
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel16.0
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
◆やりたいこと
データモデルに値を格納し接続先を作成している
その接続先にあるリストを、検索フォーム、コンボボックスなどのデータソースにしたい
◆補足情報とし調べがついてること
・ピボットテーブルにはビボットテーブル→データモデルからで設定できた
・選択リストもINDIRECT関数で設定できた
・コンボボックスや検索フォームは、RowSourceTypeにテーブルクエリーを設定
・RowSourceプロパティにテーブル名を設定
ここまではわかっていますが、うまく設定ができません

具体的には、下記コードでエラーが出ます
実行時エラー‘13’
型が一致しません

エラーの出たコード
Privets Sub UserForm1 Initialize() {
Me.ComboBox1.RowSourceType = “Table/Query”
Me.ComboBox1.RowSource = “syamei1”
}

上記のコードの書き方、サンプルコードがあれば教えて下さい。よろしくお願いします
0081デフォルトの名無しさん (ワッチョイ ff35-fTjZ)
垢版 |
2023/02/13(月) 10:21:58.10ID:86tN/4J60
連投すみません
コンボボックスじゃなくても構いません
やりたいことは大量のデータをもとに入力用のポップアップウインドウを作りたいです
レコードが合計で100万以上あり、重たくなるのを避けるために、データモデルの概念を知り、それで入力フォームを作ろうとしています
その方法でコンボボックスを見つけましたが、元となるデータソースがデータモデルの接続先から選べるなら、コンボボックスの形式じゃなくても構いません

入力規則で選択リストの値を持ってくることはできましたが、レコード件数が多いので、フォームで出したいと思っています

よろしくお願いします
0082デフォルトの名無しさん (アウアウウー Sa4f-qaxQ)
垢版 |
2023/02/13(月) 11:40:19.98ID:GyFZ7uvya
Privets ?
0083デフォルトの名無しさん (ワッチョイ ff35-fTjZ)
垢版 |
2023/02/13(月) 14:18:20.91ID:86tN/4J60
スマホ手打ちなので誤字は勘弁を
0085デフォルトの名無しさん (アウアウウー Sa4f-qaxQ)
垢版 |
2023/02/14(火) 11:37:45.99ID:nNkhowbBa
拙者も携帯なので試せないでござるよ
0086デフォルトの名無しさん (アウアウウー Sa4f-mhYO)
垢版 |
2023/02/14(火) 13:19:18.08ID:YTnfnco6a
現場で使えるテクニック満載のVBAの本を教えて下さい。
0088デフォルトの名無しさん (ワッチョイ aff9-UHi0)
垢版 |
2023/02/15(水) 09:38:23.37ID:dWAC20qI0
syamei1ってテーブルを指定してるようだけど
ちゃんとテーブルが存在してるの?
RowSourceでクエリやsql指定してみたら?
0090デフォルトの名無しさん (ワッチョイ c619-xn9B)
垢版 |
2023/02/15(水) 19:27:38.40ID:HlAv3bv30
ネットが見れない環境なんかね?
銀行系ではよくある話だけど
0094デフォルトの名無しさん (ワッチョイ a705-0qku)
垢版 |
2023/02/16(木) 14:14:15.80ID:TeVuhO500
Excel 365なんだが
ActiveXのコンボボックスをシートに配置すると
ブックを閉じるときにコンボボックスのChangeイベントが発生して
Changeイベントのコードが実行されるんだが、なんで閉じるときに発生するん?
バグじゃねーの?
0095デフォルトの名無しさん (スププ Sdaa-GKAg)
垢版 |
2023/02/16(木) 17:40:38.79ID:ImcZX1+Nd
アクティブXコントロールでボタン作ると、ボタン押した時にボタン内の文字が左に寄るのですが、これは治せるのでしょうか?
0096デフォルトの名無しさん (ワッチョイ 07da-8lmq)
垢版 |
2023/02/16(木) 17:44:23.49ID:IvN11mYG0
ActiveXオブジェクトは、自分(Application)のオブジェクトに見えても、実は外部のオブジェクトです
Application イベントの扱いで記述不足や漏れが無いか、プロパティの見直しなどしてみるかコードを貼ってみるなり
0098デフォルトの名無しさん (ワッチョイ a705-0qku)
垢版 |
2023/02/17(金) 07:12:43.98ID:WORa0xXL0
ActiveXはExcelシートで使うもんじゃないってのは今でも定石!
0102デフォルトの名無しさん (ワッチョイ 4600-XLfl)
垢版 |
2023/02/17(金) 15:42:35.67ID:WFsPqw+S0
検索で例えば「あ」という文字をすべて探し出して
その一文字前を選択したいんですがどうすればいいですか?
Selection.Find
 .Text = "あ"
 Selection.Words.First.Previous.Select
としてみましたがうまく行きませんでした
カーソルのある前の文字が選択されます
0106デフォルトの名無しさん (ワッチョイ 4600-XLfl)
垢版 |
2023/02/17(金) 20:59:53.94ID:WFsPqw+S0
>>105
ありがとうございます
けど"あ"が複数あるセルも多いので…複数回走査したらループ終わらなくなりますし
"あ"は目印として入れてあるだけで最後にまとめて消すつもりだったんですが
一回フォント変更の処理したらそこの"あ"を消してもう一度検索がいいんでしょうか…
0107デフォルトの名無しさん (スプッッ Sd4a-GMxD)
垢版 |
2023/02/17(金) 22:23:30.64ID:v2XGnFXnd
>>106
Mid( Range.value, x)で
セル内のx文字目から後ろを切り出せる
Instr( Mid( Range.value, x), z)で
セル内のx文字目から切り出した中で文字列zが何文字目にくるのか知ることができる
Range.characters(x, y).Fontで
セル内のx文字目からy文字分みたいな一部指定でのフォント変更が出来る

これらのxやyをForで変更しながら処理すればいけると思う
0108デフォルトの名無しさん (ワッチョイ 4600-XLfl)
垢版 |
2023/02/17(金) 22:57:47.99ID:WFsPqw+S0
>>107
あああなるほどなるほど
仰ってる意味はギリわかるんですけどコードいじるのほぼ10年ぶりとかなんでハードル高い~~~
どうにかがんばってみます……
ありがとうございました
0109デフォルトの名無しさん (ワッチョイ fd49-BTrK)
垢版 |
2023/02/18(土) 11:21:39.71ID:wyxXLbRL0
>>108
コードを書いてみた。
所定のフォントを変えた後、最後にまとめて「あ」を空白に置換させている。

Sub findあ()
 Dim foundcell As Range, firstcell As Range, target As Range, Num As Long, flag As Boolean
 Set foundcell = Cells.find(What:="あ")
 If foundcell Is Nothing Then Exit Sub
  Set firstcell = foundcell:Set target = foundcell
  Do
   Num = InStr(foundcell, "あ")
   If Num > 1 Then
    flag = False
Do
If flag = False Then Num = 0
Num = InStr(Num + 1, foundcell, "あ")
If Num = 0 Then Exit Do
foundcell.Characters(Start:=Num - 1, Length:=1).Font.Name = "BIZ UDゴシック":flag = True
Loop
End If
Set target = Union(target, foundcell)
Set foundcell = Cells.FindNext(foundcell)
Loop Until foundcell.Address = firstcell.Address
target.Replace What:="あ", Replacement:=""
End Sub
0110109 (ワッチョイ fd49-H4qV)
垢版 |
2023/02/18(土) 11:39:38.68ID:wyxXLbRL0
途中で書き込んでしまったので
もし使うならインデント調整して下さい
0112デフォルトの名無しさん (ワッチョイ 2302-3nnD)
垢版 |
2023/02/19(日) 13:44:33.87ID:E1njzG6f0
次のようにA列にid番号、B列に削除されるid番号あります。
A,B
1,3
2,5
3,7
4,
5,
6,
7,
8,
9,

C列にAからBの番号を除外したものが残ります。
C,
1
2
4
8
9

これを実現するのに、みなさんならセル関数を使いますか?VBAを使いますか?
0113デフォルトの名無しさん (ワッチョイ 9b8c-DN/W)
垢版 |
2023/02/19(日) 14:09:46.37ID:fQjaN3Vg0
バージョンは
0117デフォルトの名無しさん (ワッチョイ 2302-3nnD)
垢版 |
2023/02/19(日) 16:36:15.42ID:E1njzG6f0
以下の実行が通りません。
If init_id(i) = del_id(j) Then
の個所でインデックスの範囲外というエラーがでました。
配列に対して添字を()しているのが問題でしょうか?

Sub 次の問題()
Dim totalQuestions As Long, pastQuestions As Long, Nextnum As Long, n As Long
Dim init_id() As Variant, del_id() As Variant

totalQuestions = Worksheets("Play").Cells(Rows.Count, 1).End(xlUp).Row - 1
Randomize
Nextnum = Int(totalQuestions * Rnd + 1)
n = Worksheets("arrData").Cells(Rows.Count, "B").End(xlUp).Row + 1
Worksheets("arrData").Cells(n, "B") = Nextnum

init_id = Worksheets("Play").Range(Worksheets("Play").Cells(2, 1), Worksheets("Play").Cells(totalQuestions + 1, 1)).Value

pastQuestions = Worksheets("arrData").Cells(Rows.Count, 2).End(xlUp).Row - 1
del_id = Worksheets("arrData").Range(Worksheets("arrData").Cells(2, 2), Worksheets("arrData").Cells(pastQuestions + 1, 2)).Value

Dim i As Integer, j As Integer
For i = 1 To totalQuestions
For j = 1 To pastQuestions
If init_id(i) = del_id(j) Then
Debug.Print init_id(i).Value
End If
Next j
Next i

End Sub
0121デフォルトの名無しさん (ワッチョイ 1501-rVJW)
垢版 |
2023/02/19(日) 17:39:18.41ID:j3UrUaev0
>>120
init_id = Worksheets("Play").Range(Worksheets("Play").Cells(2, 1), Worksheets("Play").Cells(totalQuestions + 1, 1)).Value

del_id = Worksheets("arrData").Range(Worksheets("arrData").Cells(2, 2), Worksheets("arrData").Cells(pastQuestions + 1, 2)).Value
でinit_idとdel_idにセルの値を配列として代入しているけど、これは2次元配列として代入している
だからinit_id(i)という一次元配列は存在しない
init_id(1,1)とかinit_id(2,1)の二次元配列として存在している
よってinit_id(i)は存在しませんってエラーが出てる
ローカルウインドで確認するといい
0122デフォルトの名無しさん (ワッチョイ 2302-3nnD)
垢版 |
2023/02/19(日) 17:44:28.85ID:E1njzG6f0
ありがとうございました。よくわかりました。
なんとか1次元の配列を作りたいと思います。
セルデータから簡単に配列つくれるということでこの作り方になったのですが。
列番号を1つにすれば1次になるかと浅はかでした。。
0124デフォルトの名無しさん (ワッチョイ fd49-BTrK)
垢版 |
2023/02/19(日) 18:17:57.66ID:FtkTxk830
>>112
VBAならこんな感じか。
後、C列に6がないのは記入漏れ?

Sub C列に書く()

Dim i As Long, cnt As Long, dRange As Range
Set dRange = Range("B1:B3")
cnt = 1

For i = 1 To 9
If WorksheetFunction.CountIf(dRange, Cells(i, 1)) = 0 Then
Cells(cnt, 3) = Cells(i, 1)
cnt = cnt + 1
End If
Next i

End Sub
0126デフォルトの名無しさん (ワッチョイ 2302-3nnD)
垢版 |
2023/02/19(日) 18:28:42.83ID:E1njzG6f0
>>124でおしえていただいた方法で進めたいのですが。
これで、エラーがでたのはなぜでしょう?
Sub 次の問題()
Dim totalQuestions As Long, pastQuestions As Long, Nextnum As Long, n As Long
Dim init_id() As Variant, del_id() As Variant

totalQuestions = Worksheets("Play").Cells(Rows.Count, 1).End(xlUp).Row - 1
Randomize
Nextnum = Int(totalQuestions * Rnd + 1)
n = Worksheets("arrData").Cells(Rows.Count, "B").End(xlUp).Row + 1
Worksheets("arrData").Cells(n, "B") = Nextnum
pastQuestions = Worksheets("arrData").Cells(Rows.Count, 2).End(xlUp).Row - 1

Dim i As Integer
For i = 1 To totalQuestions
init_id(i) = Worksheets("Play").Cells(i+1, 1)
Next i
For i = 1 To pastQuestions
del_id(i) = Worksheets("Play").Cells(i+1, 1)
Next i

End Sub
0130デフォルトの名無しさん (ワッチョイ 615f-djih)
垢版 |
2023/02/25(土) 22:54:00.85ID:IaGdb0E30
VBA初心者です
退職済みの前任者が作ったマクロで多発してるエラー対応をしています

Dim 範囲 As Range
Set 範囲 = Worksheets(″Sheet1″).Range(″A1″).CurrentRegion

・変数に日本語を使うメリットとデメリット
・Range型の変数を使うメリットとデメリット
教えてもらえないでしょうか?
0131デフォルトの名無しさん (スップ Sdda-iutv)
垢版 |
2023/02/25(土) 23:47:26.72ID:tG3tii0/d
>>130
お前のレベルで手を出すな
0135デフォルトの名無しさん (オッペケ Sr75-WNy4)
垢版 |
2023/02/26(日) 10:08:54.14ID:B6f81u3Mr
日本語のメリット
人によっては視覚的に分かりやすい
デメリット
その度に切り替えボタンを押すのが面倒

後任者が分かりやすいように日本語にしといてくれたんだろう
0136デフォルトの名無しさん (ワッチョイ b6da-aucd)
垢版 |
2023/02/26(日) 10:54:07.84ID:/hhgnOlt0
値1 と 値1 が混ざって変数宣言を省略してるとか
漢字の間違いや全角の空白が紛れてたこともあったな昔のことだが
0138デフォルトの名無しさん (ワッチョイ 9d5f-kDor)
垢版 |
2023/02/26(日) 12:27:06.36ID:pTLOSYzf0
Excelって非アクティブからクリックでアクティブにするとき、クリックしたセルが一発でアクティブにならんのな
前回操作時のセルがアクティブなる
デュアルモニターでマウス行ったり来たりしてExcel入力してるから面倒くさいったりゃありゃしない
スプレッドシートは問題ないんだけどさ
スレチだったらすまん
0139デフォルトの名無しさん (ワッチョイ ee8c-trCw)
垢版 |
2023/02/26(日) 13:44:06.75ID:2K5zmO2D0
非アクティブのウィンドウにマウスをもっていったら自動的にアクティブになる
無料のユーティリティソフトを入れたらいいんじゃね
0143デフォルトの名無しさん (ワッチョイ 9d5f-kDor)
垢版 |
2023/02/26(日) 21:41:09.74ID:pTLOSYzf0
いや、デュアルモニターの隣りの画面でFXのチャートの値幅をマウス操作で計測し、その値を隣の画面のExcelに打ち込んでデータ分析してるんだが……
一回入力するたびに隣の画面にポインタ移動するから、そのたびExcelが非アクティブになるんだよ
なんか俺めんどくさいことしてるのかな……?
まあ、これ以上はスレチになるからここで終わりにしておく
すまんかった
0144デフォルトの名無しさん (ワッチョイ 5a02-ZYAP)
垢版 |
2023/02/26(日) 22:07:07.64ID:6/0OFtJ50
これじゃダメかい?
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
 Sh.Selection.Active
End Sub
0145デフォルトの名無しさん (ワッチョイ 9d5f-kDor)
垢版 |
2023/02/26(日) 23:34:16.33ID:pTLOSYzf0
>>144
うまくできんかった。
chatGPTでもマクロを教えてもらったが、そっちも機能せず
もしかしたらオマカンかもしれん
だからスプレッドシート使うことにした
わざわざすまんかった
ありがとう
0146デフォルトの名無しさん (オッペケ Sr75-WNy4)
垢版 |
2023/02/27(月) 01:12:31.98ID:ykCEF1qar
ん?よくわからんけど、vba起動したら別のソフトがアクティブになるってこと?
別のソフトをアクティブにする前にに次に使いたいセルをSelectかActivateにしとけばいいんでない?
そもそもセルに手打ちってのもよくわからんけど
0147デフォルトの名無しさん (ワッチョイ b12f-1yY1)
垢版 |
2023/02/27(月) 20:02:31.12ID:Akgqa2X30
>>138
エクセルのアクティブ化とアクティブセルの変更を1クリックでやりたいって話だろ
デュアルモニターとか関係ない

Activate系のイベントでマウスカーソルの位置拾ってセル位置判定してアクティブ化するマクロを書けばできる気はする
マウスカーソルの位置ひらうのがVBAだけで出来なかった気がするから面倒だな
0148デフォルトの名無しさん (スプッッ Sdfa-XBvd)
垢版 |
2023/02/27(月) 23:06:45.60ID:oBF60fgLd
そもそもFX側のプログラムから
記録用CSVなりに追記する形で出力にすればいいのでは
目的と手段を混同しているように見える
0149デフォルトの名無しさん (ワッチョイ 9d5f-051A)
垢版 |
2023/02/28(火) 10:02:05.35ID:7Eonwnxx0
FX側はきっと既成のソフトウェアで手を入れられられず出力機能もないのだろう。
でなければマウスで幅を計測なんて、Excel抜きでも面倒な事をしてないと思う。

FX側ソフトウェアに要望を出す、別のものに変更する、または特注するのは有りだと思う。
0150デフォルトの名無しさん (オッペケ Sr75-Dmqe)
垢版 |
2023/02/28(火) 12:23:19.77ID:nICQ8lOdr
B行に日付 C行以降は各項目
2023/4/3 パン 150
2023/4/16 米 500
2023/5/20 サラダ 230

2023/8/13 牛乳 150
などと表があるとこから、VBAでinputboxで何月を取り出したいですか?など質問をして、その月だけを別シートに抽出したいのですが…findを使う?
どうすればいいのか教えて頂きたいです。
0151デフォルトの名無しさん (スプッッ Sdda-XBvd)
垢版 |
2023/02/28(火) 12:42:03.99ID:O8AX5fZ9d
>>149
そいつがやるべきはVBAじゃなくFXソフトのお勉強からだな
少なくともメタトレーダー系ならExcelに対するVBAのようなプログラム制作用機能が充実してるから値幅計測ぐらいわけない
0152デフォルトの名無しさん (オッペケ Sr75-WNy4)
垢版 |
2023/02/28(火) 15:14:30.22ID:kIDllaukr
>>150
どうればいいのかって…
VBAでinputboxで何月を取り出したいですか?など質問をして、その月だけを別シートに抽出してくださいってしか言えんだろ
具体的にコード出さないと何も言えない
0153デフォルトの名無しさん (ワッチョイ 41f9-44A5)
垢版 |
2023/02/28(火) 15:55:23.62ID:d2Gt5PsA0?PLT(15000)

VBAでやるよりピボットテーブルの方が・・・
0155デフォルトの名無しさん (スプッッ Sdda-XBvd)
垢版 |
2023/02/28(火) 17:32:55.16ID:O8AX5fZ9d
もしかして:For

まあ他人と共用するマクロなんだろうし
その他人の中にマクロのことを聞けるやつもいないんだろうから
手作業をマクロで書いただけみたいなので正解かもしれんな
0158デフォルトの名無しさん (ワッチョイ b6da-W5vA)
垢版 |
2023/03/02(木) 14:19:36.36ID:wSjrNglr0
マクロを作った人間の責任とサーバー上のファイルを管理している管理者
業務としてマクロを使う作業を指示している上司に変更内容を確認してもらう必要があるよね
0160デフォルトの名無しさん (ワッチョイ 7b66-QeO8)
垢版 |
2023/03/05(日) 14:08:33.99ID:SCRVkcxh0
Public Sub aiueo()
Dim Ary(2) As Variant
Ary(0) = 10
Ary(1) = "文字列"
Ary(2) = CDate("2021/2/2")
Dim test As Variant
test = Ary
Call aiueo2(test)
Call aiueo3(Ary())
End Sub
Public Sub aiueo2(ByRef Ary As Variant)
MsgBox TypeName(Ary)
End Sub
Public Sub aiueo3(ByRef Ary() As Variant)
MsgBox TypeName(Ary())
End Sub

関数への配列をどう渡すかで悩んでいます。
配列として渡すのか、Variant型のスカラー変数にして渡すのか。

VBAのVariant変数は配列さえも入るスカラー変数だと認識しています。
なので、配列そのものを入れてるだけで、Variant型の配列変数とは少し違うと思っていました。
しかし上記の結果は同じでした。そうなってくると
どっちでもいいということなのでしょうか?

もう一つ気付いたのはaiueo3はByVal渡しが出来ないけど、aiueo2ではByVal渡しが出来るので、
大元の配列の中身をいじらないで済むという違いがわかりました。

他に違いはありますか?
0161デフォルトの名無しさん (ワッチョイ 1379-rvSK)
垢版 |
2023/03/05(日) 15:00:07.80ID:RB9OOifa0
>>160
Variantの配列は結局Variantだから下のように配列指定の括弧を取って関数宣言すれば値渡しもできるよ
Public Sub aiueo3(ByVal Ary As Variant)
関数引数の宣言で配列を受けるように書いてしまうと参照渡ししかできなくなるってだけ
0163160 (ワッチョイ 7b66-QeO8)
垢版 |
2023/03/05(日) 19:19:12.03ID:SCRVkcxh0
>>161
ありがとうごございました。
スカラーで受けるか配列で受けるかにこだわっていました。
あれからもう一つ気付けたのは
Public Sub Sample(Byref Ary() as Class1)
Public Sub Sample(Byref Ary as Class1)
この時に大きな違いが出ました。前者はAry(i).と書くだけでClass1のプロパティメソッド一覧がサジェストしてくれますが、
後者だとVBE的には配列と認識してないのでサジェストしてくれません。
これを決定打として前者の書き方に統一しようと思います。

>>162
8割出来てたソフトをクラスを導入して書き直したら拡張しやすいコードに生まれ変わると信じてトライ中です。
月に数日しか触る時間が取れなくてちっとも進んでないです。
久しぶりに触ると自分が書いたコードさえ複雑すぎて読めないです。
0167160 (ワッチョイ 7b66-QeO8)
垢版 |
2023/03/06(月) 01:52:26.46ID:PqTDPu/H0
>>165
そうなのですか?
クラスを配列にしているというよりは、配列の中にクラスのインスタンスが入ってるという事なのですが。
例えばA組には生徒が100人います
生徒の遺伝子情報を持つ精子がそれぞれ1億匹います
しかもそれが毎日吐き出されます。
もちろん日別にそのインスタンスは微妙に違います。

まさにそれが配列の中にクラスのインスタンスがある状態かと思ってました。
とても理にかなった行為に思えます。
配列の中にクラスのインスタンスを入れる事は。

クラスはあくまでも階層図なのではないでしょうか。
配列を横の広がりとするなら、クラスは入れ子をする事で深さを表すと思い込んでいます。
5次元配列とかイメージも出来なくてわからないのですが、クラスの入れ子で5層を作るのは案外わかりやすいです。
0168デフォルトの名無しさん (ラクッペペ MMeb-UQad)
垢版 |
2023/03/06(月) 03:53:47.03ID:GSPsPwm3M
クラスの配列なら横への広がりのイメージだな
クラスの深さなら継承の概念が必要
本格的なオブジェクト指向言語なら普通に使われるけどなんちゃってオブジェクト指向のVBAでは記述できない
0169デフォルトの名無しさん (ワッチョイ 7b19-kCZp)
垢版 |
2023/03/06(月) 07:22:39.83ID:AsR8H3/e0
クラス使うと一挙に視野が広がるよ
ついでを言うと配列の代わりに
コレクションやディクショナリを
使うことも視野に入れるといいと思うよ
0172デフォルトの名無しさん (アウアウエー Sae3-4fLd)
垢版 |
2023/03/06(月) 13:36:46.14ID:diWxUEyJa
あえて言えば
フォーム指向だな
0173デフォルトの名無しさん (ラクッペペ MMeb-UQad)
垢版 |
2023/03/06(月) 14:45:16.86ID:9+J+ARGqM
敢えて言うならフォーム指向というよりコンポーネント指向
excel(Application)、book、worksheetなどすべてのオブジェクトはCOMコンポーネント
フォームもCOMコンポーネントの中のひとつ
0175デフォルトの名無しさん (ワッチョイ 112f-3zFX)
垢版 |
2023/03/06(月) 15:12:57.72ID:ai8Q1Y+e0
>>167
たとえばエクセルブックは複数のワークシートをもってるが、それを配列で管理したりしてないだろ
まあ、VBAはコレクション系が弱いので配列で実装することもままあるがな

>>174
ここで言うオブジェクト指向できるかどうかってのは、
言語側にそのサポート機能がどのくらいあるかって話なんだと思わないかね?

太古のBASICはもとより、VisualBasicも出始めはオブジェクト指向を意識したものではなかったからな
互換性を残しつつオブジェクト指向を取り入れたのでかなり中途半端な出来なのはまあしょうがない
0180デフォルトの名無しさん (ワッチョイ 7b19-kCZp)
垢版 |
2023/03/06(月) 18:42:11.32ID:AsR8H3/e0
VBAのクラスは中途半端と言えばまぁそうだけど
VB.Net、おいてはC#とかをやる際の
練習には・・・いや、ちょっと厳しいか

でもObject指向言語いきなり入ると
継承ばっかに目が行って
移譲が疎かになったりするから
まぁいいんじゃないかな
0187デフォルトの名無しさん (ブーイモ MM75-QeO8)
垢版 |
2023/03/10(金) 13:34:04.07ID:p0hGObdpM
ExcelとVBAを使って商品の在庫管理をしようと考えています。
1つの商品の販売数は概ね1〜10程度に収まっていますが、たまにそれを超える数が出る事があります。
入力を簡単にするため10個以下のときはドロップダウンリストから選択し、それ以上の時は直接入力で
対応しようと思ったのですが、コンボボックスでは直接入力した値を取得できません。

直接入力とドロップダウンの両方で値を取得出来る方法はありませんか?
0188デフォルトの名無しさん (ワッチョイ 41da-W5Lg)
垢版 |
2023/03/10(金) 16:23:53.92ID:fVzcNxhh0
フォームコントロールのコンボボックスだとプロパティに無いから出来ない
もし、セルの[データの入力規則]でもいいなら、エラーメッセージタブの □ 無効なデータが入力・・・
のチェックを外せば、リスト外の文字列(数値含む)も入れられる
0192デフォルトの名無しさん (ラクッペペ MMeb-UQad)
垢版 |
2023/03/10(金) 17:10:02.40ID:Q4TOUEdVM
>>187
自分なら基本テキストボックスで直接入力
ただマウスで操作したい要望に対してはボックス横にスピンボタンを追加することで対処する
初期値を1、増減分も1にしておけば1桁程度の値ならコンボボックスと大して変わらないと思う
0195187 (ワッチョイ 8b10-vuQE)
垢版 |
2023/03/10(金) 23:47:02.61ID:Qa3px4vn0
今時PCが殆ど使えない、新しい事覚えようとしないオバさんに使わせるのでなるべくキーボード入力をしないよう、パッと見で簡単に見えるように作りたいのです。
本来ならこのオバさんクビにして新しい子雇うのが早いと思うのですが…
ありがとうございました。もう一度UI考え直してみます。
0197デフォルトの名無しさん (スップ Sd7a-P/R7)
垢版 |
2023/03/11(土) 00:27:12.35ID:dLGlL2PJd
質問者も頭が悪い
わからない人になぜ標準と異なるインターフェースを使わせようとするのか
こういう人が現場に混乱をもたらす
0200デフォルトの名無しさん (ワッチョイ 19da-mIEw)
垢版 |
2023/03/11(土) 12:35:58.60ID:QVD3K1L30
いや、昨今のWebアプリ(というかWeb入力)画面は、そういうの多く成ってるぞ
和暦、年、月、日、数量なんかもそのたんびドロップダウンしてスクロールしてクリック
一月一日生まれならスクロール不要だけど、十二月三十一日生まれだと毎回面倒臭い とか
おぢさんおばさんのUIと「新しい人」向けのUIも変わって来るんだろう、たぶん
社会に出た時にそういうUIが当たり前 なんてぇ連中にとっては「何で?」の疑問符も湧かないんだろ
タッチパネルUIがメインに成ってくと、やむを得ないとかなのか知らんけど(工夫が足りないだけ?)
0201デフォルトの名無しさん (ワッチョイ 7a79-EKUa)
垢版 |
2023/03/11(土) 13:08:52.71ID:M3BsWLaP0
左にラジオボタン用意して
●10以下 [ ドロップダウンで数を選択 ]
○直接入力 [ テキストボックス直接入力 ]
みたいにしたらどうかな。
直接入力したければできるようにどれが最適かわからなければ手段を複数開放しとけば許されるかも
0202デフォルトの名無しさん (ワッチョイ 19da-mIEw)
垢版 |
2023/03/11(土) 13:20:16.65ID:QVD3K1L30
そういう小手先のお節介機能が、後々鬱陶しくなって属人化と揶揄されて忌避されてく元
シンプルイズベストに徹してみるのも、使い続けるためには必要 なのかも
0203デフォルトの名無しさん (ワッチョイ c12f-lsaJ)
垢版 |
2023/03/11(土) 14:59:28.59ID:ifuXB3L30
UIだけじゃなくて入力デバイスのことも考える必要があるって話だな

ところで入力させるのはどこなんだよ?
シートなら>>188で解決だから、シートに入力させればいいんじゃねえか
0207デフォルトの名無しさん (テテンテンテン MMee-Cjjx)
垢版 |
2023/03/14(火) 22:17:45.06ID:XoNyGxquM
ttps://my.au.com/cmn/WCV009001/WCE009001.hc
のようなサイトにおいて、ボタンのid属性などが不明の場合、
どのようにすれば
objIE.document.getElementById(“nav-search-submit-text”).Click
のようにクリック処理が記述できるのでしょうか?
0210デフォルトの名無しさん (テテンテンテン MMee-Cjjx)
垢版 |
2023/03/15(水) 19:59:06.05ID:kKwjf9a5M
>>208,209
ありがとうございます。
0211デフォルトの名無しさん (ワッチョイ 138f-DNU4)
垢版 |
2023/03/22(水) 19:26:33.26ID:K2J+yUPS0
VBAをやらざるを得なくなってしまい、半月ほど初心者向けサイトをざっと見したんだけど、復習しながら練習するのにいいサイトとかないですかね??YouTubeとかでもいいです。
0212デフォルトの名無しさん (アウアウウー Sa95-XfdO)
垢版 |
2023/03/22(水) 20:16:54.25ID:imBU3GyRa
教えてもらうくせに上から目線でサイト探しているの?
0218デフォルトの名無しさん (アウアウウー Sa95-XfdO)
垢版 |
2023/03/22(水) 23:32:19.46ID:7f9FP/voa
半年探していいサイトが無かったように聞こえたな
0219デフォルトの名無しさん (アウアウウー Sa95-XfdO)
垢版 |
2023/03/22(水) 23:32:43.87ID:7f9FP/voa
半月だ
0223デフォルトの名無しさん (ワッチョイ 89f9-lgPN)
垢版 |
2023/03/23(木) 09:53:16.93ID:B+OiUivh0
その都度ググればよくね?
俺はそうしてる
0224デフォルトの名無しさん (ブーイモ MMeb-ot4a)
垢版 |
2023/03/23(木) 11:11:45.25ID:8DIiCOGWM
ChatGPTに聞きまくり+ネットのコピペまくりでごまかしてるわ
コメントつけて何とか弄れるようにはしてあるけど
無駄だったり重複する処理を消したりはしない、というか下手に出来ない
0225デフォルトの名無しさん (スプッッ Sd73-LK7t)
垢版 |
2023/03/23(木) 12:55:45.78ID:c5DGLB5Nd
>>224
こんなのが作ったVBAを使わされる方がかわいそう
0229デフォルトの名無しさん (ワッチョイ 42b5-Q9zM)
垢版 |
2023/03/25(土) 17:09:50.33ID:zf3m1D9l0
恐ろしいぐらいめんどくさかったけど複雑な処理をするマクロが完成して改善の部門賞で去年3万貰えたけどそれを超えるマクロが完成しそう
こりゃ社長賞狙えるかな
0230デフォルトの名無しさん (スプッッ Sd62-sLGM)
垢版 |
2023/03/25(土) 17:16:33.67ID:JIVU3ZWvd
典型的な頭の弱い社畜の書き込み
井の中の蛙
0232デフォルトの名無しさん (ワッチョイ 8619-+msU)
垢版 |
2023/03/25(土) 20:39:39.60ID:1snJqDno0
まぁEXCEL VBAはEXCEL扱うのはめっぽう強いし
ちょこっとした処理を作るのに長けているから
プログラマ主体でなくて業務側についてる人でも多く使っているからね。

他の言語使っててもUTとかの際に
エビデンス取るとき整合確認とかで
EXCELの数式やVBA知ってると
かなり時間短縮出来たりするし。
0247デフォルトの名無しさん (ワッチョイ df05-RaML)
垢版 |
2023/04/04(火) 19:57:38.37ID:gM2C6lf70
>>244
プリンタの問題なのかその破線だと印刷されません
ブラザーのモノクロレーザーなんですが
色々と調べたところインクジェットだと滲むから印字されるけどレーザーだと細すぎて印刷できないみたいです
0249デフォルトの名無しさん (スプッッ Sd1f-j25d)
垢版 |
2023/04/04(火) 20:27:01.14ID:6BEiQs1Sd
馬鹿は馬鹿な頭で馬鹿な方法を考えついて馬鹿な質問をする法則
例の零細企業の馬鹿でわかったはずだろ?
0251デフォルトの名無しさん (ワッチョイ df05-RaML)
垢版 |
2023/04/04(火) 22:10:24.26ID:gM2C6lf70
ちなみに点線は印刷業界でいうヘアラインというやつでプリンタの一番細い線を出すという命令なので
いいプリンタほどほぼ印字されないそうです
なので設定は無関係です
300dpiにすれば印字されますが文字が汚いです

印刷のアドバイスを聞きたいわけでも情報を後出ししているわけでもなく、
オートシェイプで線を引くコードが知りたかっただけです
0253デフォルトの名無しさん (ワッチョイ dfda-icd+)
垢版 |
2023/04/04(火) 22:33:10.85ID:zXZGFdaS0
Sub Macro1()
Dim rr As Range
Set rr = Selection
rr.Parent.Shapes.AddLine(rr.Left, rr.Top + rr.Height, rr.Left + rr.Width, rr.Top + rr.Height).Select
With Selection.ShapeRange.Line
.Weight = 1
.ForeColor.RGB = RGB(0, 0, 0) '255,255,153 薄いイエロー 204,255,255 薄いブルー
End With
rr.Select
End Sub

Sub Macro2()
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlHairline 'xlThin
.ColorIndex = xlAutomatic
End With
End Sub
Macro1が直線を引く場合 Macro2が罫線を引く場合 Weight = 1を0.5にしても変わらない xlHairline細線xlThin極細
直線を引くと消す作業が必要に成る
0254デフォルトの名無しさん (ワッチョイ ffda-kVuH)
垢版 |
2023/04/04(火) 22:57:58.66ID:H3UIOgUM0
下線を付ける場合って普通はアンダーライン機能使うし、空欄の下線なら___ (シフト+「ろ」)
~~~~~~~~~~ (半角波線) ^^^^^^ (ハット) で上行の強調みたいな書き方したり
───── (罫線文字) ━━━━━ (罫線文字太い)  でたいていは済むと思うが
0256デフォルトの名無しさん (ワントンキン MMdf-QXPF)
垢版 |
2023/04/04(火) 23:30:14.47ID:khpg5U9yM
>>249
馬鹿は馬鹿な質間の後に後出し条件を付けるも追加で
0259デフォルトの名無しさん (ワンミングク MM03-5SDg)
垢版 |
2023/04/05(水) 01:00:51.04ID:XcJibMPkM
何が問題なのかわからない馬鹿ばっかのところが見つかるといいね
0264デフォルトの名無しさん (ワッチョイ dfda-icd+)
垢版 |
2023/04/05(水) 11:34:30.61ID:Pachb7xx0
>>258
オイオイw 提示したコード試したンか?w オートシェイプの線と罫線と両方をサンプルして
尚且つ、線種や色を改良しやすいように例示もしたってのに 
出力できる太さに限界があるなら色を変えることで改善させるのもひとつの解決策だろうに
0265デフォルトの名無しさん (スプッッ Sd9f-j25d)
垢版 |
2023/04/05(水) 14:48:49.66ID:RBswHKfYd
>>264
そういうまともな発想が通じない自分の馬鹿な解決方法とやらに拘るのが馬鹿の馬鹿たる所以だ、残念なことに
0268デフォルトの名無しさん (ワッチョイ c5da-Rzwh)
垢版 |
2023/04/09(日) 10:34:21.92ID:RxxIHycr0
うおおw またどっかに吸い込まれたw なにがイカン?
 tps://www.post.japanpost.jp/img/int/use/writing/pic_invoice.jpg 日本郵便のサンプル
 tps://learn.microsoft.com/ja-jp/dynamics365/finance/localizations/media/apac-tha-tax-invoices-tax-invoice.png
 tps://templates.invoicehome.com/invoice-template-en-neat-750px.png
各国のインボイス画像何枚か貼り付けたレスだが、取り敢えずアタマ削って書き込んでみるw

現地の駐在員が日本人の可能性もあるぞ と書きたかったw それらの国でもイージーな書式でも通用するから
敢えて日本向けに罫線書式で送り付けてきてる可能性だってある 何かに憑り付かれたように「これでなきゃだめ」
なのは、使う側が融通効かない石頭揃いなせいが大 容易に使えてそれを容認するような文化 が無い(劣ってる)とは言える
0269デフォルトの名無しさん (ワッチョイ 022c-0l8A)
垢版 |
2023/04/09(日) 12:18:38.23ID:xFg640up0
部署で唯一VBA使える人が異動しそうなので
なにか力になりたいけれども、マイクロソフトのVBAスタンダードの
勉強をするよりはその人のコードを見て調べて…の方が良いでしょうか。
資格は実務に役立たないとよく聞くので。
0271デフォルトの名無しさん (ワッチョイ 0279-90pI)
垢版 |
2023/04/09(日) 12:49:57.62ID:I9Qf3W7D0
何も知らないやつが仕事で力になりたいけどとか簡単に言っちゃいけないよ
他人のVBAコードは不条理の塊と見なせるから、担当が自分に振られたのでなければ下手に関わらない方がいい
異動なら連絡は付くだろうし、君が心配しなくとも引継ぎ担当が面倒見てくれるよ
0273デフォルトの名無しさん (ワッチョイ 2559-uxwc)
垢版 |
2023/04/09(日) 13:03:59.67ID:fQMTK17W0
こっそりYouTubeで解説動画見て、簡単なの自分で作って、実務のVBA眺めて意味を考えてググって分からなかったらここで聞いて勉強してからじゃない?
最初は使い方だけ聞けばいいし、中身変更なんて頻繁にないでしょ。
0276デフォルトの名無しさん (アウアウウー Sa05-MV9R)
垢版 |
2023/04/09(日) 21:15:17.28ID:/EJLPp0Da
おちつけ
0277デフォルトの名無しさん (ワッチョイ c619-5xw/)
垢版 |
2023/04/11(火) 06:32:54.99ID:2FEVzV7Z0
>>269
VBAの試験なんて
適当にVBA組んでれば
その内何も勉強しなくても
エキスパートいきなり受けても受かる試験だから
そん時受ければいいよ。

EXCELの試験の方が難しいらしい
0279デフォルトの名無しさん (ワッチョイ 7f33-S3w6)
垢版 |
2023/04/15(土) 17:32:15.76ID:m9DY7U8S0
エクセルのチェックボックスにチェック入れたら、特定のセルに文字を入力する方法を教えてください
↓みたいにチェック入れたり外したりしたら、セルB2に入る文字を変えたいです
https://jsfiddle.net/07ed2ajc/
0281デフォルトの名無しさん (スプープ Sdea-/HYv)
垢版 |
2023/04/22(土) 08:24:42.08ID:Ir4lduVSd
A列の「作業結果」ごとに振り分けたいんだけど良い方法ない?
ピポッド組んだ方がはやいかな?

A列     B列
作業結果 氏名
不備なし 田中
不備あり 佐藤
不備なし 佐々木
不備あり 加藤

↓別シートに転記したい

A列
不備なし

田中
佐々木

不備あり

佐藤
加藤
0282デフォルトの名無しさん (スプープ Sdea-/HYv)
垢版 |
2023/04/22(土) 08:27:50.42ID:Ir4lduVSd
フィルタかけて 「不備なし」、「不備あり」ごとに転記

作業結果  氏名
不備なし 田中
不備なし 佐々木

不備あり 佐藤
不備あり 加藤

「作業結果」列で重複データのみを削除
Sheets("Sheet2").Range("A1").CurrentRegion.RemoveDuplicates Columns:=1, Header:=xlYes

作業結果  氏名
不備なし 田中
     佐々木

不備あり 佐藤
     加藤

ここまではイメージしたのだけれど、
そもそもとして、A列の属性ごとにまとめたいから、上記ではうまくいかないような…
0288デフォルトの名無しさん (スプープ Sdea-/HYv)
垢版 |
2023/04/22(土) 09:43:24.98ID:Ir4lduVSd
>>287
これいけそうだね。

毎日集計ださなければならないんだけど、
日付で絞るのは楽勝だとして、

不備なし
不備あり

ごとにFILTERかければいいんだね。
なるべく誰でも分かるものにしろ、
とのお達しなので来週ためしてみるよ。
どうもありがとう。
0289デフォルトの名無しさん (ワッチョイ 1e5e-9dEq)
垢版 |
2023/04/24(月) 16:29:17.11ID:51aj6gGh0
Excelのシートにpdfを貼り付けたいんですが(一枚目だけでいい)
OLEObjecps.Add
でファイルパスを与えて取り込むと
文字が読みづらいレベルで
解像度が低く取り込まれてしまいます

簡単なプレビューをエクセル上でしたいだけで
pdfのパスが入ってるセルを選択したら
シート上に表示、といったことがやってます

別のファイルを選択したら前のプレビューは消して次のファイルをプレビューする、みたいな

Acrobat Readerはインストされてますが
無料環境でやりたいです。
0290デフォルトの名無しさん (スプッッ Sd0a-bITu)
垢版 |
2023/04/24(月) 16:37:38.75ID:nUpPvlxcd
>>289
Windowsも有料だし、電気代も掛かるし無料は無理でしょ
他は現状報告だけで答える部分はありませんね

質問やり直せ
0293デフォルトの名無しさん (ワッチョイ 1e5e-9dEq)
垢版 |
2023/04/25(火) 12:49:16.15ID:S+8jDJ380
>>291
ありがとうございます
設定試してみましたが、症状はかわりませんでした…

>>292
一応考えはしましたが、面倒で躊躇していました…


pdfを取り込むという方針でばかり検索していたので見つかりませんでしたが
webbrowserに表示するという手に逃げることにしました
フォームのModalをオフにしてサイズを可変にすれば
シート上のオブジェクトと似たような操作性にはなるので
これで行こうと思います
0295デフォルトの名無しさん (ワッチョイ 11da-/HYv)
垢版 |
2023/04/25(火) 13:26:27.30ID:OOi8qz2x0
そこはほら、ファイルパスを指定して読み込む という部分で察するに
表示されたPDFに関連した他の情報もSheet上にいろいろあれこれ連動して表示されるとか
そういうつくりに成ってるのかも知れない デュアルモニタでも無いんで目が散るとかも
pngやjpgとかの画像ならオブジェクト扱いで拡大縮小すれば何とか処置できるかも知らんけど
PDF固有の問題とかなんだろ
0296デフォルトの名無しさん (アウアウウー Sa21-9dEq)
垢版 |
2023/04/25(火) 14:59:34.57ID:OylHipqda
>>294
すいません
pdfだけじゃなくて
普通の画像もユーザーに同じUIで操作させたいのと
普通のReaderはファイルを連続で開くと
タブで複数開こうとするので諦めました…
新しいファイルを開いたら
新しいインスタンス作らず開き直してくれれば近い動作になるんですが

あと、AlwaysTopにする必要もありますし
余計に大変だと考えていませんでした

>>295さんの内容でだいたい正解です
0297デフォルトの名無しさん (ワッチョイ ea79-lTfL)
垢版 |
2023/04/25(火) 22:10:00.33ID:RtJhGNCC0
1 PDFをAdobeReaderで開く
2 AdobeReaderにCtrl+Lを送ってフルスクリーンにする
3 画面キャプチャする
4 クリップボードの画像をシートに貼り付ける
5 AdobeReaderを閉じる
何が面倒なんだこれ
0300デフォルトの名無しさん (ワッチョイ c55f-6css)
垢版 |
2023/04/26(水) 22:50:11.08ID:hkryowTT0
まぁwebbrowserで済むなら
そっちのほうが良いだろね
readerのインスタンス閉じたり開いたりしなくていいし
いちいち画像スクショのフローも通す必要ないし
処理もパスを渡すだけで済むし
なんだったら複数ページでもスクロール確認できるし
0302デフォルトの名無しさん (スップ Sdbf-v/6/)
垢版 |
2023/05/03(水) 22:23:40.94ID:sgDEJw+Jd
>>301
馬鹿は消えろ
0303デフォルトの名無しさん (ワッチョイ 7759-gUqw)
垢版 |
2023/05/04(木) 03:04:51.18ID:0+hX2o4p0
表示形式変えたら良くね?
0304デフォルトの名無しさん (ワッチョイ b7da-pJvN)
垢版 |
2023/05/04(木) 07:02:56.52ID:OlPgSuVa0
>>301
随分前に取り込んだcsv内のデータが指数表示になって困ったことがある。
セルの書式設定が標準だと12桁以上の数値は自動的に指数表示になるexcelの仕様らしいので書式設定を数値にするか、頭にアポストロフィをつけて文字列として入れたかのどちらかで対応した記憶。
0308デフォルトの名無しさん (スップ Sdbf-v/6/)
垢版 |
2023/05/04(木) 19:48:22.72ID:pc2Dfs+qd
>>307
よく読んでいないのに決めつける馬鹿
お前らにはわからない時には時々答えているぞ
0315デフォルトの名無しさん (ワッチョイ a32d-Q5z4)
垢版 |
2023/05/15(月) 07:09:01.65ID:Rm921WLC0
会社のシステム(黒バックに緑の字)で“数字→Ent”で画面表示を切り替えて行くんだけど、どうしてもSendkeyでEnt(テンキー側)が押せない。(それ以外は押せている)
NumLockの問題では無いと思うんだけど、何が問題なんだろう?
“{ENTER}”でも“~”でもダメでした。
どうもメインキー側のEntを押している感じがする。(Entはそれぞれ別の機能か割り振られている)
Sendkeyで無理なら他の方法ってない?

ちなみにVBAは独学でやっている初心者なので、お手柔らかに。
0316デフォルトの名無しさん (スプープ Sd1f-kDbr)
垢版 |
2023/05/15(月) 07:44:39.36ID:S3yoUkobd
大きいEnterとテンキーのEnterはキーコードが違う
テンキー側は{ENTER}
sendkeysで{PRTSC}やっても画面キャプチャ撮れないのと同じようなものかも
AutoHotKeyみたいなツール使った方が簡単かもよ
0317デフォルトの名無しさん (ワッチョイ a32d-Q5z4)
垢版 |
2023/05/15(月) 08:33:02.84ID:Rm921WLC0
>>316
いや、返信が早いのはありがたいんだけど、エンターキーが別なのは分かってるから、テンキー側か押せないと書いてるワケなんだけど…。
会社のパソコンだから、勝手に別アプリは入れられない。
0319デフォルトの名無しさん (スプープ Sd1f-kDbr)
垢版 |
2023/05/15(月) 10:32:40.13ID:TS5z6+d2d
>>317
.exe叩くことすら不可能なら諦めろ
AutoHotKeyはAS/400のターミナル操作で右ctrl無いノートPCで右altで右ctrl操作したり、
テンキーがないノートPCでてんきーのEnter押下操作したりした実績がある
0320デフォルトの名無しさん (アウアウウー Sa67-0O/8)
垢版 |
2023/05/15(月) 11:57:22.16ID:SjuerCeea
上司にできませんって言うのも勇気
0322デフォルトの名無しさん (ワッチョイ a32d-Q5z4)
垢版 |
2023/05/15(月) 13:00:05.62ID:Rm921WLC0
コレ(>>315)は仕事の話だけど、別に上司に言われてやってるんじゃなくて、仕事の効率を上げる為に自分が勝手にやってるだけ。
俺はExcelを使ってるけど、他の人は画面を見て手打ちしたり紙に書き写したり、何なら電卓叩いてる。
で、今は会社のシステムのマクロ(Excelで操作を記録するのと同じ様なモノ)にEntを登録して、画面上部にあるそのアイコンをVBAでマウスを操作してクリックすると言う、無理矢理なやり方でやってる。
やっぱりWin32APIでやってみるかな。
みんなありがとう。
長文でスマン。
0323デフォルトの名無しさん (ワッチョイ 13da-Np+b)
垢版 |
2023/05/15(月) 13:53:06.37ID:+mRHKUjh0
いくつか疑問が :
(黒バックに緑の字)で“数字→Ent”で画面表示を切り替えて行く ここは実際のキーを叩いてる?
ユーザーフォーム上とかの数字をクリックしてEnterボタンとかを押してる?

“{ENTER}”でも“~”でも ENTERには{}付けてるのに ~には{}付けないのは単なるタイポ?

(黒バックに緑の字) それってPower Shell とか コマンドプロンプトとかで無くて?

どうしてもSendkeyでEnt(テンキー側)が押せない テンキー側である必要は? メインのENTERキーが押せれば充分なのでは?
0324デフォルトの名無しさん (ワッチョイ 6393-kDbr)
垢版 |
2023/05/15(月) 14:07:11.48ID:hcGmEYCb0
>>323
一部のターミナルエミュレータ(IBM iSeriesとか)ではテンキーのEnterとテンキーではないEnterや、
右ctrlと左ctrlなんかに別々の動作が割り当てられてるからでしょ
PSやコマンドプロンプトなら別の動作ではないし、
画面の配色もデフォルトで黒地に白文字でわざわざ変えるとも思えない
0325デフォルトの名無しさん (ワッチョイ 13da-Np+b)
垢版 |
2023/05/15(月) 14:27:07.62ID:+mRHKUjh0
あぁ、「会社のシステム」ってのが別にあって、他の社員はその画面上だけで処理してるけど
相談者はそこに別途起動したExcelでキー操作したい ってことか?
だからメインのENTERキーとテンキーのENTERキーは区別して使いたいと?(メインだとベースのシステム側が
反応しちゃうから とか) 結構無理やりな使い方のような
Sendkeysはプレーンの状態しか想定してないような もうひとつのシステムとのアクティブが問題とか?

https://learn.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/keycode-constants
Sendkeysはやめて、ここのキーコードでコード書いた方が安全安心なような
0326デフォルトの名無しさん (アウアウウー Sa67-0O/8)
垢版 |
2023/05/15(月) 15:18:05.10ID:n5uW0pS1a
>>322
指示されたとか業務を請け負ったわけでもなく
自力でできない改造を勝手にやって周りに困ってるとか言い出してるのね
他に優先する仕事無いの?
0327デフォルトの名無しさん (ワッチョイ a32d-+/XS)
垢版 |
2023/05/16(火) 13:42:46.21ID:eYLYq0u20
>>315です。
もうSendkeys以外でやろうと思っていましたが、323さんが疑問を持ったままだとモヤモヤするでしょうし、一応返信しておきます。
注意:長文・駄文になるので、興味の無い方は無視してください。
(レスアンカーが多過ぎたので、レス番号のみにしています。)

まず会社のシステムをソフトウェア名で検索したら、まさに324さんが言っているモノでした。
今やっているのは、その操作をExcel_VBAからSendkeysで叩かせてメニューを操作し、必要なデータをExcel側に持って行って処理しようとしています。
(会社のシステム上では、現状その処理が出来ない為。)
主に毎日出るデータから必要な数値を関数を使って抜き出して計算する為です。
現在その作業をやっている人があまりにも時間が掛かり過ぎていて、作業効率をUPする為にやっています。
(画面上の数値を目視で探して紙に書き留め、電卓で計算してExcelに手入力すると言うアナログな方法です。)
テンキー側のEnterが押せない以外は出来ていて、作業時間は1/3の以下に出来ました。
自分も323さんが325で言っている様に、無理矢理な使い方(特にEnterの入力法)をしているとは思っています。
もう一度調べ直して、325のリンクのキーコードに切り替えてみます。
ありがとうございます。ヒントになりました。
0328デフォルトの名無しさん (スッップ Sd1f-+Xfm)
垢版 |
2023/05/16(火) 16:04:00.86ID:/kT0iQ0Cd
無知な人は無知だから解決方法のアプローチすら間違う
IBMのCOMオブジェクトがあるだろ
0329デフォルトの名無しさん (スッップ Sd1f-+Xfm)
垢版 |
2023/05/16(火) 16:15:00.01ID:/kT0iQ0Cd
少し囓ったレベルでそもそも何を使ってるかすらわからなかったようなレベルの奴が変に弄くり回すなよ
0330デフォルトの名無しさん (ワッチョイ 13da-Np+b)
垢版 |
2023/05/16(火) 17:06:14.83ID:3pcpoJhK0
無知は恥じることじゃ無い 怯むことでも無い 懸命に解を見付けようとするのは悪いことでも無い
ただ、敵(IBM iSeriesとか)の壁は高そうだ 敵を知り己を、って奴が遠回りでも結果的には近道なのか
IBMのCOMオブジェクトというヒントだけでゴールに辿り着けそうなら進んでもいいかも知らんし(やめとけ)

エミュレータで運用しなきゃいけないほど投資も出来ず利用者も不平不満を言えないような環境なら
それ壊したら損賠しきれない被害になるだろうから、ヘタに横からアドバイスも出来ないんだな(やめとけ)
結論はいぢくりまわすのはやめとけ てことで
0331デフォルトの名無しさん (ワッチョイ 6393-kDbr)
垢版 |
2023/05/16(火) 18:47:42.45ID:KioSfVLt0
>>330
> エミュレータで運用しなきゃいけないほど
今時ダム端末なんて使ってるところ無いよ
というよりそもそも作ってすらないでしょ
それともサーバを直接叩けっていう意味?
知ったかぶりでマウント取るより素直に質問や礼ができる>>327の方が将来性があるよ
0332デフォルトの名無しさん (ワッチョイ 13da-Np+b)
垢版 |
2023/05/16(火) 22:45:00.74ID:3pcpoJhK0
いや、>>324が例をあげて質問者が「それだ」っつーから「なにそれ?」でググったら
https://ja.wikipedia.org/wiki/IBM_i#/media/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:Ibmi-main-menu.png
こんなんが出てきて、そういやどっかで見掛けたことあるな、とか思って、これだとフル画面だけど別途Excel開けるだけの
スペースが画面上にある様子だし、ターミナルエミュレータって書かれてるし「いぢるな」に成ってもおかしくないだろ?
Win11でもWindows3.1のゲームが出来る(どころかスーパーマリオまでできる)
https://archive.org/details/softwarelibrary_win3_games みたいなもんだろ(ちがうか)
リモートデスクトップやTeamViewerみたいに、キーボード操作もマウス操作も別画面に吸い込まれる みたいなもんだろ 違うのか?
0333デフォルトの名無しさん (ワンミングク MMe7-uAqT)
垢版 |
2023/05/16(火) 23:38:51.78ID:3Jn4PeXnM
そもそも開発環境が用意されてるわけでもなく本番環境でやろうとしてるのは明らかだろ
それも無断で
0337デフォルトの名無しさん (ワッチョイ 13da-Np+b)
垢版 |
2023/05/17(水) 10:40:39.29ID:edeIW3zk0
マウントマウントうるせーよ 何でもマウントだと思うその僻み根性直せよ
どこがマウントなんだよ 忠告っつーんだろが 引き留めてんだ
つまんねコト書いてねーで、知ってんなら対策と傾向教えてやれや できねんか?
0339デフォルトの名無しさん (スプープ Sd1f-kDbr)
垢版 |
2023/05/17(水) 11:41:51.42ID:8WDvU+6md
>>337
無知は恥じることじゃ無い
忠告の前提が間違った知識あるいは勘違いに由るものなら
その忠告は間違っているかもという自認はしておくべき
俺は自分の環境(iSeriesの前身AS/400、ターミナルエミュレータはiSeriesと同じ)で使えたAHKって代替策と、
Win32API叩けばできるって代替策案内した
あなたはマウント取ろうとする以外に何かしたっけ?
0340デフォルトの名無しさん (ワッチョイ 13da-Np+b)
垢版 |
2023/05/17(水) 12:45:51.36ID:edeIW3zk0
どこをどう読んでも新人のヒラ社員(歳が若いかどうかまではわからんけど)が悪戦苦闘してる風 と、
方や、それなりに業務をこなしてきただろう人物が経験則を元に導き出した解で効率化を成し得た のと、
そういう読み方をしたんで、やめとけ・無理すンな、と
そのAHKとかWin32API叩く方法が、左程メインのシステムに影響を及ぼさず問題無く解決できる手段だとするなら
相談者もそっちにすがった方がいいんだろう どちらを選ぶかは相談者次第 とりまkeycodeのリンクは貼った
0342デフォルトの名無しさん (ワッチョイ 13da-Np+b)
垢版 |
2023/05/17(水) 13:35:49.51ID:edeIW3zk0
予めリスクのコストを計れるならやらない手は無いだろうけど、住人の指摘で「まさにそれ」って応じてるレベルなら
後先顧みずに無鉄砲な操作が先走ってるということでもあり、めくら蛇に動じずの喩えにハマってるようなもの
本職だって他社のシステムと云われた途端にそれなり身構えるものだろ?
リスクコストそっちのけで「こうしろ」だの「ああしろ」だの無責任に言い募れない だからやめとけと
 うん、こう書いた方がかっちょ良かったかも 上のカキコは無しで
0343デフォルトの名無しさん (アウアウウー Sa67-Q5z4)
垢版 |
2023/05/17(水) 13:57:52.40ID:PligybPra
そもそもSendkeysってキーボードの操作をアクティブなウィンドウに送信してるだけなのに『いぢくりまわす』ことになるの?
リスクって何?
それがダメなら手入力での作業も出来ないでしょ。
あと作業時間が1/3になってるんだから実際に効率UPしてるワケで『それなりに業務をこなしてきただろう人物が~効率化を成し得た』は意味不。
手書きと電卓のどこが効率的なの?
まぁ~やり方が強引なのは間違いないけど。
0345デフォルトの名無しさん (スッップ Sd1f-+Xfm)
垢版 |
2023/05/17(水) 16:30:50.87ID:WTJnQ5K1d
ちょっと囓っただけの知ったかが色々やらかしてくれるのはよくある
0346デフォルトの名無しさん (ワントンキン MM9f-5mEy)
垢版 |
2023/05/17(水) 19:06:16.88ID:Rj02nJNFM
>>343
素人が勝手に作ったマクロをその内容も知らずに別の素人が使ったらどうなると思う?
0347デフォルトの名無しさん (スプープ Sd1f-kDbr)
垢版 |
2023/05/17(水) 20:35:36.27ID:gNzv1Kdtd
>>346
そんなのマクロに限った話じゃない
素人がシュレッダーで書類切っちゃったらどうするとか、
素人が容量超えてるコンセントにプラグ刺しちゃったらどうするとかいちいち考えてるの?
0348デフォルトの名無しさん (ワッチョイ 13da-Np+b)
垢版 |
2023/05/17(水) 21:03:27.97ID:edeIW3zk0
師匠がSendkeysは使うなって言い残してたからそれに倣ってたけど、他アプリにも使える
https://excel-ubara.com/excelvba1/EXCELVBA421.html   みんな大好き神髄サイト
>>340 は一行目が相談者で、二行目は経験者の>>324 を対比させてる
操作する相手のアプリが見知ってるモノなら万が一を回避できるかも知らんが、業者が納めたガチガチのシステムだと
どんな仕様かも不明の上、どのキーに何が割り振られてるか知れたもんじゃ無い
メンテ用とかで隠しコマンドとか埋め込まれてた日にゃあ(まあ、キー1個に割り振る事は無いだろうとは言え)
たまたま1/3で済ませられてても、イレギュラーな運用には違いない 壊した時のことを懸念してるだけ
キチンと上司上長の許諾を得てからの改良なら >>324 が手取り足取り教えてくれるかも知れない
0349デフォルトの名無しさん (ワントンキン MM9f-5mEy)
垢版 |
2023/05/17(水) 21:34:13.85ID:Q9NzDdvVM
>>347
こういう馬鹿が問題を引き起こす
0352デフォルトの名無しさん (スッップ Sd1f-+Xfm)
垢版 |
2023/05/18(木) 00:44:58.59ID:Lo9/fXs8d
>>350
だから、「ノウハウもない能力もない素人が勝手に」が問題なんだろ
0354デフォルトの名無しさん (スッップ Sd1f-+Xfm)
垢版 |
2023/05/18(木) 02:32:12.49ID:Lo9/fXs8d
>>353
馬鹿はRPAがそれが理由で下火になって撤退が相次いでいることを知らんのだな
結局素人が作ったものは使い物にならないとか問題を引き起こすことがわかったからだぞ
0355デフォルトの名無しさん (アウアウウー Sa67-yuEU)
垢版 |
2023/05/19(金) 18:19:33.08ID:PQ/SGKnqa
>>354
うちの会社でも馬鹿が一生懸命量産してるよ
これが自動で出来るようになりました!
って画像認識たっぷり含んでてHTML・CSSも知らないもんだから
サイトのフォントがちょっと変わっただけで
ストップするようなRPAが大量に作られてる
0357デフォルトの名無しさん (スップ Sd1f-fNc9)
垢版 |
2023/05/19(金) 19:25:48.13ID:69LLabS5d
>>356
そういうやつの例が>>353というわけだ

この手の「素人でも~」というツールは結局素人とか素人に毛が生えただけの知ったかが使って混乱を引き起こすだけ
わかる人が作っても、ツールの仕様を他の誰かが理解していないとメンテ不可能になって終わる
0359デフォルトの名無しさん (ワンミングク MM9f-ujIn)
垢版 |
2023/05/19(金) 23:28:52.13ID:4QMqiQyZM
自分でRPAの話しを出しておいて悔しかったからと捨て台詞
0361デフォルトの名無しさん (アウアウウー Sa2f-hxPd)
垢版 |
2023/05/20(土) 02:10:46.12ID:g4ASJdAna
毒吐きw
0365デフォルトの名無しさん (スッップ Sdea-6Vlr)
垢版 |
2023/05/21(日) 22:08:02.77ID:JkAFBIVPd
名前が変わったことも知らないにわか
0366デフォルトの名無しさん (ワッチョイ 5ebb-Nc0r)
垢版 |
2023/05/22(月) 20:51:05.95ID:kSQcnoWG0
行数が同じ配列A,Bがあります
VBAで、ワークシート関数で言うとhstack(A,B)みたいな事がしたいのですがどう書けば良いですか
0368デフォルトの名無しさん (ササクッテロラ Spcf-tLvz)
垢版 |
2023/05/27(土) 20:53:59.53ID:itVWVmnLp
>>366

二次元配列の列方向に連結したい、と。
配列AとBが同じ行数という前提なら、
こんな感じのコードで実現可能かと。

Dim C() As Variant
ReDim C(1 To UBound(A, 1), 1 To UBound(A, 2) + UBound(B, 2))

For i = 1 To UBound(A, 1)
For j = 1 To UBound(A, 2)
C(i, j) = A(i, j)
Next j
For j = 1 To UBound(B, 2)
C(i, j + UBound(A, 2)) = B(i, j)
Next j
Next i

これでCがAとBのhstack(A, B)に
相当する配列になるはず。
0369デフォルトの名無しさん (ワッチョイ 9f10-HeY/)
垢版 |
2023/05/28(日) 01:44:19.65ID:Y6pndVpt0
拡大率が違う画面を複数使ってるとコマンドボタン押せなくなるのはどうにかならんの?
100%と150%で使ってると、後者ではボタンがきかず、エクセル画面を前者側に持っていくときくようになる。
0371デフォルトの名無しさん (ワッチョイ 1bda-/RYi)
垢版 |
2023/05/28(日) 20:56:12.40ID:aECve9cA0
おおかた、モニターがスクエアだった時分のを未だに使わざるを得ない環境なんだろうが
150%になんかしないといけない環境を、いち早く改修することのが先決
そもそもディスプレイのカスタム スケーリングをしようとすると「テキストやアプリを読み取ることができなくなる云々」と
メッセージされる それを突破して設定してンだから、文句を言う筋合いじゃ無い
それとも、Excelの画面だけ150%にしてる? それだとちゃんとボタン押せるが?
0372デフォルトの名無しさん (ワッチョイ 9f10-HeY/)
垢版 |
2023/05/28(日) 22:26:37.23ID:Y6pndVpt0
カスタムなんかしてないよ。
推奨が150%なんだわ。
会社で支給されたノートPCがフルHD、
自分が持ってるサブモニターが4Kなのでそんなことになってる。
しょうがないから4Kの方を100%にして合わせてるんだけど、んまー文字が小さいこと。
0374デフォルトの名無しさん (ワッチョイ 1bda-/RYi)
垢版 |
2023/05/29(月) 10:35:10.47ID:4Pg0mNi+0
どーもすいませんでした ボタンが押せないとかいう症状から勝手に憶測で書きました
じゃあ4KでExcel側を400%とか500%とかにしてもボタン押せない?
押せるような工夫が必要なんだから、押せる方のモニタ使うのとは別の解決が必要なんだろうし
0375デフォルトの名無しさん (ワッチョイ 9f3e-9MR1)
垢版 |
2023/05/31(水) 07:32:30.31ID:Akn6fcLj0
🐈
0376デフォルトの名無しさん (スププ Sdbf-9MR1)
垢版 |
2023/05/31(水) 08:49:25.09ID:NbDCLN/4d
すごーく初歩的な事を聞いて申し訳ないですが
エラーが発生した時にどこで発生しているのか、どこで処理が止まっているのかを必ず表示させるにはどうしたらいいでしょうか?
0380デフォルトの名無しさん (ワッチョイ ef19-9dwr)
垢版 |
2023/05/31(水) 16:14:37.52ID:5IfBNuLp0
>>376
エラー処理を何も書かない。
そうすれば実行した際に
エラーが発生した箇所が黄色くなって止まっているはず。

エラー処理を付けたいのであれば、
エラーが発生した際の表示文言に
エラー内容、モジュール名、関数名等を
記載するようにする。
コードの何行目で発生したのかは
以前色々試したことがあったけど
結局上手く出来なかった。

なのでエラー行を捕まえることが出来たら
その方法をむしろこちらが教えて欲しいくらい。
0381デフォルトの名無しさん (ワッチョイ 9f3e-9MR1)
垢版 |
2023/05/31(水) 19:46:37.97ID:Akn6fcLj0
度々すみません
mac os でsaveusメゾットを実行するにはファイル毎にアクセス権を付与する必要があると聞いたのですが本当なのでしょうか?
0383デフォルトの名無しさん (ワッチョイ fb6e-S+HU)
垢版 |
2023/05/31(水) 21:42:18.20ID:XRB5mG0o0
Application.Wait (Now + TimeValue("0:00:05"))でデータを随時取得すると
その間、エクセルでほかの作業が出来ないことが困っています。
他の作業をやりながらデータを定期取得する方法はありますか?
0387デフォルトの名無しさん (ワッチョイ 1bda-/RYi)
垢版 |
2023/06/01(木) 16:19:44.21ID:F7uugm6A0
じゃね じゃなくてできるけど、誰かさんが嘘を回答してしまったので、質問者は去ってるな
同じファイルだと読み取り専用に成っちゃうけど
活発なスレならすぐさま誰かがいちゃもん付けてくれるけど、寂れてるとそれも叶わない
そんなのが繰り返されると雪だるま式に過疎ってしまう 諸行無常って奴か
アホの子が建ててる方のスレだと雑談だらけだけど、稀にまともな質問回答も混ざって来る こちらを活性化すべき
0388デフォルトの名無しさん (ワッチョイ fb6e-S+HU)
垢版 |
2023/06/01(木) 19:57:38.15ID:Gfjlh7Ly0
>>386
>>387
まだいます。
別インスタンスというワードを初めて聞きました。
ググってみたら色々出てきたので調べてみます。
分からないことがあればまたお願いします。ありがとうございました。
0389デフォルトの名無しさん (スッップ Sdbf-S+HU)
垢版 |
2023/06/01(木) 20:41:09.09ID:XMwKl3Eud
>>388
別インスタンスはタスクマネージャ見るとわかるけどExcel.exeを複数起動する話
普通はブックをダブルクリックなんかで開くと1つのプロセスで複数ブック開くからブック間のシート移動なんかができるけど
複数のプロセスになるとそれができない
それとダブルクリックで開くとWait中のブックで開こうとしたりするから開くときはファイルを開くで開かないとだめとか注意が必要
まあVBAの話というよりExcelそのものの話だからソフトウェア板のExcelで聞いたほうがいいかもね
0390デフォルトの名無しさん (ワッチョイ 9fb5-BOre)
垢版 |
2023/06/01(木) 21:47:01.00ID:atoxlyuQ0
相談されたのでここで相談させてください。
毎日製造部の自動画像判定機のデータが3000枚くらいjpgで排出される
OK、NGの判定をjpgのデータ名に取得してくれればまだいいのに
まさかのこっちは判定するだけ、こっちは写真取るだけという連動してないゴミ仕様
jpgは日付時刻のみ、
抽出やふるい分けをするのに
画像の特定の部分の色が赤か緑かでRGB処理させるのは化石すぎるかな?

素直にpythonや他のツール使うべき何だろうけどVBAで何とかしてきたおじさんだから今更新しいのは頭に入らない、、
0391デフォルトの名無しさん (ワッチョイ ef19-9MR1)
垢版 |
2023/06/01(木) 22:04:21.98ID:54ogaD2/0
そうね
excelには.Netで言うBackgroundWorkerみたいな機能がないからマルチスレッド処理みたいなのやるにはちょい頭使わないといけない。
比較的お手軽なのはVBS立ち上げてそっちから今開いているお目当てのEXCELに書き込んでやることかな?
VBSなら文法はVBAと一緒だし、変数はスカラー変数だったりVBAみたいにトレースが出来なかったりとかちょい面倒な面もあるけど、
こなれた言語だからググれば方法はすぐ出てくると思うよ。
0392デフォルトの名無しさん (ワッチョイ 1bda-/RYi)
垢版 |
2023/06/01(木) 22:25:20.11ID:F7uugm6A0
>>390
その自動画像判定機メーカーお薦めのアプリとかあるんじゃないのか? 新旧メーカー雑多に混在してるとか?
毎日3000枚を一枚ずつシートに読み込んで判定してくとか考えてる訳じゃあるまい?
そもそも、NGをその場でハネるために撮影してるんじゃないのか? OK・NGまとめて流して、後で画像で判定?
非効率も甚だしい 社長に直談判して専用アプリ入れるのが長期的な目で見ても賢明
 あと、出来もしないことは請けないように まだ相談の段階だからいくらでも断れる

https://vbasokkou.dokkoisho.com/bmp.html
https://vbaexcel.slavesystems.com/vba/?p=404
https://mamesand.com/image/image_processing_j.html こういうのに目を通して容易に理解できそうなら引き留めないが
0393デフォルトの名無しさん (ワッチョイ ab8e-2oUs)
垢版 |
2023/06/01(木) 22:36:33.54ID:3L8c5P4r0
>>390
相談相手がお前しかいない会社なの?
0395デフォルトの名無しさん (ワントンキン MMbf-ctSs)
垢版 |
2023/06/01(木) 22:52:25.93ID:WiGRvadKM
>>390
残念ながら君には無理
引き返す勇気も必要
0397デフォルトの名無しさん (ワッチョイ 1bda-/RYi)
垢版 |
2023/06/02(金) 11:45:15.15ID:rnTTx//t0
待て待てw あくまでもVBAで画像ファイルを扱うサンプルってだけだぞw
実務に載せるにはこれを踏まえたうえでとんでもない工数必要なのを、この時点で予想できんのか?
日に3000枚だろ? まあ、やりたきゃどうぞだけど、またこれでひとつの企業の発展が遠退くわ
0398デフォルトの名無しさん (スッップ Sdbf-2oUs)
垢版 |
2023/06/02(金) 12:55:53.88ID:zeIkdv7hd
VBAしかわからんくせに自信を持ってるような奴に何を言ってもむだ
0399デフォルトの名無しさん (スップ Sdbf-S+HU)
垢版 |
2023/06/02(金) 13:47:19.23ID:pjc5ka8Rd
>化石すぎるかな?
質問はこれなんだからYesかNoを返してやればいいんじゃね
VBA自体は化石言語(ツール)でもなんでもないからNoだろ

そもそも今までどうやって(どの程度の時間で)3000枚/日のjpegを処理してたかわからんけど
それが大幅に改善できるならなんでもいいんじゃね
0400デフォルトの名無しさん (アウアウウー Sa8f-BOre)
垢版 |
2023/06/02(金) 14:21:36.48ID:ncdJVYAma
いや、今まで作ったプロシージャと応用したら出来たわ
社内での正式運用するソフトの提案は情シスに投げといた
自部内の常用してない共用パソコンで動かしたらいつの間にかふるい分け全部出来てた
最適ではないけどVBAおじさんでいいわ
0401デフォルトの名無しさん (アウアウウー Sa8f-Nnh9)
垢版 |
2023/06/02(金) 15:10:31.04ID:gVqTCBWka
実は優秀だったってことかなw
0402デフォルトの名無しさん (スッップ Sdbf-2oUs)
垢版 |
2023/06/02(金) 16:20:00.31ID:zeIkdv7hd
いや、実験レベルなら組めても実務で使うのとはことなる
そもそもエクセルなんか使ってはダメな例
0403デフォルトの名無しさん (ワッチョイ 1bda-/RYi)
垢版 |
2023/06/02(金) 16:36:38.41ID:rnTTx//t0
よく見ろ 自演だ しかもどーせ成りすまし
例示のリンク先も自分で見付けられないようなレベルで、教えられた翌日、半日で仕上げられる訳も無い
情シスに投げた? 情シスの仕事は?w VBAロートルじじいに相談して、そ奴がこしらえたVBAをベースに
開発するのがお仕事か? 社内から要望 → 情シス → じじい → 情シス なんちゅう経路だっつーの そら、ITも衰退する訳だ
0404デフォルトの名無しさん (スッップ Sdbf-2oUs)
垢版 |
2023/06/02(金) 17:13:27.84ID:zeIkdv7hd
>>403
確かに自演だな
こういう奴が一番厄介
まあ、困るのはこんなのの言うことを信じる会社だからな
こうやって日本の品質が落ちていく
0405デフォルトの名無しさん (ブーイモ MM8f-BOre)
垢版 |
2023/06/02(金) 17:54:53.55ID:nCmch2SWM
え?自演?そもそもどれが自演なんだ…
まさか>>402の人が書いた皮肉レスを文面通り受け取ってるのか…
トヨタグループティア1の品管だけど
情シスなんて社内の部署の細かい要望なんて聞いちゃくれんぞ
情シス仕事はこっちが聞きたいわ
勤怠システムや文章システム管理してるぐらいだぞ
中小は知らんが、自演なぁ…変なの
0406401 (アウアウウー Sa8f-Nnh9)
垢版 |
2023/06/02(金) 18:34:08.20ID:6XYd34FIa
同じauだが別人な
0409デフォルトの名無しさん (ワッチョイ 4b01-EoPE)
垢版 |
2023/06/02(金) 20:39:35.69ID:7Hq5KpZ60
>>408
女子高生かもしれんだろ
0410デフォルトの名無しさん (ワッチョイ fb6e-S+HU)
垢版 |
2023/06/02(金) 21:27:52.13ID:x/1a+Vzx0
お願いします。
今日の日付を取得し、A列から一致する日付を探したいのですが上手くいきません。
表示形式を画像のように mm/dd(aaa) としているのが原因のようですが変更方法がわかりません。
ttps://i.imgur.com/yryvsxM.png

currentDate = Date

Set foundCell = ws.Range("A1:A" & lastRow).Find(What:=currentDate, LookIn:=xlValues, LookAt:=xlWhole)
0413デフォルトの名無しさん (ワッチョイ eef2-nzdr)
垢版 |
2023/06/04(日) 20:38:17.04ID:LZlt8Gxt0
初歩の質問ですが、シート増やしたりするマクロ組むと一瞬画面がガチャガチャして結果が表示されるんですが、何かバックで動作して結果だけ表示される方法はないですかね?
0415デフォルトの名無しさん (ワッチョイ eef2-nzdr)
垢版 |
2023/06/04(日) 20:56:59.39ID:LZlt8Gxt0
>>414
ありがとうございました!できました。スッと表示されるようになりました。
0424デフォルトの名無しさん (ワッチョイ 85da-sceX)
垢版 |
2023/06/06(火) 10:51:50.21ID:4I+N0+2J0
それはw 小学生の英語ぢゃねーか どうやったら間違えるんだ
独仏伊蘭どの言語でも無く英語でしか使わないってのに 耳文字でエウスってか? それ言い出したら全部違うけど
0425デフォルトの名無しさん (アウアウウー Sac5-1f3X)
垢版 |
2023/06/06(火) 12:26:16.59ID:vUDmlZfra
あえて初心者のまねしてるだけだし
0426デフォルトの名無しさん (アウアウウー Sac5-Rr/m)
垢版 |
2023/06/06(火) 13:24:20.68ID:h4TMdgn6a
>>420
ウィンドウズωもかなり恥ずかしい表記
0430デフォルトの名無しさん (ワッチョイ e29d-cB04)
垢版 |
2023/06/06(火) 19:20:42.66ID:HmvxNuKJ0
なかなか 俺のファルス発言で盛り上がってるじゃないか

コンピューターに英語で話しかけてるわけではなく、所詮 記号なんで覚えやすいファルスで頭の中は統されてるわ

それに Falseって普通の文章や 会話で使ったことないし、フォルスを使わなくて困ったことないわ
0431デフォルトの名無しさん (ワッチョイ 4619-ptFv)
垢版 |
2023/06/06(火) 21:23:43.30ID:B6GtaKxP0
兎に角
なんだかよくわからない
長ったらしい英単語は
アイエニューメラブルってよんどけ
0437デフォルトの名無しさん (ワッチョイ e29d-cB04)
垢版 |
2023/06/07(水) 12:43:49.08ID:Snmtqfef0
>>435
ありがとう そういう意味だったんですね

>>433
托をキモと読ませるのはFalseをファルスと読む100倍斜め上いってるとおもわんかい?
まあそのあたりに気づくほどのオツムがあれば433のような書き込みはしないだろうけどな(笑)
0438デフォルトの名無しさん (ワッチョイ 01a2-H2rc)
垢版 |
2023/06/07(水) 16:57:56.82ID:+QZr+yNU0
ワッチョイなしスレから誘導されてきました

t検定で「範囲」にCOUNTIFやAVERAGEIFみたいな感じで対象とするセルをIF指定することはできませんか?
検定したい群を最初から整列して2群に分けておく必要があるでしょうか?
0440デフォルトの名無しさん (ワッチョイ 4619-ptFv)
垢版 |
2023/06/07(水) 19:53:14.11ID:JXvXtIEV0
>>438
WorkseetFunction使ったらいかんの?
0441デフォルトの名無しさん (スップ Sd02-MzG0)
垢版 |
2023/06/07(水) 23:28:59.63ID:qpHjGrvpd
>>438
ここは何のスレかわかってる?
0447デフォルトの名無しさん (ワッチョイ 823e-XtQ1)
垢版 |
2023/06/08(木) 19:41:38.42ID:zo01FRG40
仕事を引き受ける時には
今までした事のない事、やった事のない事、実績のない事は
「やった事がないので出来ません」
とハッキリ言って断るべきなんですよね?
0453デフォルトの名無しさん (ワッチョイ 823e-XtQ1)
垢版 |
2023/06/08(木) 20:00:05.44ID:zo01FRG40
>>450
職場の私よりお偉いさんたちは
出来もしない事はするな
とか
できるのか出来ないのかわからない事はできると言うな
とか
出来ると言って出来なかったら嘘つきとか詐欺師とか
そんな事を言ってきます
なのでやった事のない事、実績のない事は やるな
という事なのだと理解しました

どうして未経験者に経験や実績が最初からあるのでしょうね

会社は学校じゃないらしいです
0454デフォルトの名無しさん (ワッチョイ 2eda-N/Lw)
垢版 |
2023/06/08(木) 20:11:07.38ID:uYSjYq8B0
>>453
仕事頼まれて内容を確認しないでこんなの簡単とかすぐできるとか言う奴もいるからな
そのつもりで頼んだのに後になってうまく動かないとかなったら上司の責任問題になる
0455デフォルトの名無しさん (ワッチョイ 823e-XtQ1)
垢版 |
2023/06/08(木) 20:19:16.31ID:zo01FRG40
>>454
私はそう言う事が初めての経験で全く何が何だかさっぱりわからなくて理解が出来ていません

それを言うならば未経験の事はするな、引き受けるな、出来ると言うな
という話になると思います
それにOJTとはなんですか?
0457デフォルトの名無しさん (ワッチョイ 823e-XtQ1)
垢版 |
2023/06/08(木) 20:28:49.61ID:zo01FRG40
私は今まで働いてきて聞いた限りの話では
出来ない事を安請け負いするな、仕事だから
みたいな話なのでこれからはやった事がない事は全て断ろうと思います
0461デフォルトの名無しさん (ワッチョイ 823e-XtQ1)
垢版 |
2023/06/08(木) 21:30:46.15ID:zo01FRG40
>>460
出来ない事やわからない事を出来るというな、とか引き受けるなとか言うなら
何にも引き受けられませんよー
0463デフォルトの名無しさん (ワッチョイ 823e-XtQ1)
垢版 |
2023/06/08(木) 23:03:31.49ID:zo01FRG40
>>462
素敵🥹
0465デフォルトの名無しさん (スッップ Sda2-RwsM)
垢版 |
2023/06/09(金) 07:51:36.36ID:BdvP8KZKd
>>459
遠回しに言っても理解できないみたいだから丁寧に言うと、
> なかなか 俺のファルス発言で盛り上がってるじゃないか
匿名掲示板で自己顕示欲を発露させてるのがまずキモい
それも誇れるどころかむしろ恥である読み間違いにおいてってところがまたキモい

> コンピューターに英語で話しかけてるわけではなく、所詮 記号なんで覚えやすいファルスで頭の中は統されてるわ
>
> それに Falseって普通の文章や 会話で使ったことないし、フォルスを使わなくて困ったことないわ

誰も聞いてないのに間違いの言い訳始めるのがキモい
角行間に改行入れてるのがキモい
隙あらば自分語りがキモい
それらを踏まえた上での托
要するに間違いそのものより精神性が気持ち悪い
0466デフォルトの名無しさん (スププ Sda2-XtQ1)
垢版 |
2023/06/09(金) 07:55:56.79ID:kQpJ5obDd
やったとこがない仕事を勉強してやる事さえ否定的な考えの人たちが世の中には多いみたいなので
やった事がない事は何もするべきではないのでは
私が色々聞いた話の理解では、例えば医療従事者は例えどんな些細なミスでも許されない、という様な話でした
0472デフォルトの名無しさん (アウアウウー Sac5-oNDf)
垢版 |
2023/06/09(金) 14:23:04.85ID:smTSxqoia
簡単なユーザー定義型(2~3値を格納しておくだけの構造体)をtypeじゃなくクラスで作って、dictionaryオブジェクトのitemに9万個ぐらいインスタンスを紐付けたら、
コード終了時のオブジェクト解放にめちゃくちゃ時間がかかるようになった(数十秒)
やっぱこういうときは配列にするしかないのかな?
0474デフォルトの名無しさん (ワントンキン MMd2-zw02)
垢版 |
2023/06/09(金) 20:25:26.92ID:tjC4mlZIM
オブジェクトの開放だけで数十秒もかかるのか

俺もその手法を多用するから興味あるな
俺が扱うデータは一万から三万行程度だけどどのコードも一~二秒くらいで終わる
0475デフォルトの名無しさん (ワッチョイ 3910-atBl)
垢版 |
2023/06/10(土) 13:37:17.92ID:l4DrLtSE0
>>473-474
レスサンクス
言われてみると確かに時間かかりすぎてるし変だなと思ってよくよく確認したら、
まず、9万個のインスタンスを紐付けた辞書の他に、16万個のインスタンスを紐付けた辞書が作られてた
更に、プロパティの一つに別のユーザー定義型のインスタンスが格納されてた
(コンストラクタあるしGetプロパティもSetで返ってたが見落としてた)
そっちのクラスのデストラクタが書かれてなかったので記述したら、普通に一瞬で終了するようになった
色々と教訓になった、ありがとう
0481デフォルトの名無しさん (ワッチョイ 132f-fKuP)
垢版 |
2023/06/12(月) 16:01:58.40ID:SIXj/4hV0
>>480
随時なら、デストラクタに来るまでに解放するってことなんだが...

デストラクタで解放されなかったメモリを解放したって話なら、循環参照してたぐらいしか思いつかんが
それをデストラクタの段階で解放して処理が早くなるとは思えんが

そもそもメモリ圧迫で速度低下したって話なら、もとの
>コード終了時のオブジェクト解放にめちゃくちゃ時間がかかるようになった
ってのが間違った前提だったって話になるんだが
0482デフォルトの名無しさん (アウアウウー Sadd-nIed)
垢版 |
2023/06/12(月) 22:08:42.75ID:14kLXnCoa
>>481

まぁ、デストラクタの記述でメモリが開放されることはないのはあなたの言う通りだね

文面を読むにClassTerminate記述のことじゃなくて
単に意図しないオブジェクトに対してNothingを設定したって意味だと思ってたけど違うのかな?
0483デフォルトの名無しさん (ワッチョイ 8bf2-woSW)
垢版 |
2023/06/13(火) 18:54:34.11ID:hIiZm8YL0
オブジェクト指向が理解できねぇ
0485デフォルトの名無しさん (アウアウウー Sadd-nIed)
垢版 |
2023/06/14(水) 11:48:51.61ID:eB6yauOia
実際のところ、VBA使用者の中でオブジェクト指向まで
使えるようになる人の割合ってどの程度なんだろう?

ただ配列が使えるようになるとかとは学習コストの次元が違うから相当少ないとは思うけど、
他言語やってた人ならオブジェクト指向は使えて当然だしなぁ。
0488sage (ワッチョイ 8b10-mVGR)
垢版 |
2023/06/14(水) 15:15:49.61ID:x/1GcB560
半角アルファベットと記号の文字列があると仮定して
半角カタカナに変換して
[0(ゼロ)]と[O(オー)]、「I(アイ)」と「l(エル)」と「1(イチ」
の違いをわかりやすく可視化する時
どう組まれてますか?

0O10l1I ⇒ ゼロ,オー,イチ,ゼロ,エル,イチ,アイ

全部パターン分けで組まないといけない感覚あり
0490sage (ワッチョイ 8b10-mVGR)
垢版 |
2023/06/14(水) 16:01:17.58ID:x/1GcB560
そうですよね
「Consolasでいいじゃないですかw」という話をしていました(汗
0491デフォルトの名無しさん (スプープ Sd73-iGu4)
垢版 |
2023/06/14(水) 20:22:58.59ID:YJj23+3Vd
継承もできない、まともなエラー処理もできない言語
そんなのでオブジェクト指向プログラミングなんて苦行をあえてする必要ない
VBAでオブジェクト指向プログラミングすることが目的の奴だけがやるべき
openPyXlとかxlwingsとか使ってpython使うのが正解
0492デフォルトの名無しさん (オイコラミネオ MM8b-woSW)
垢版 |
2023/06/14(水) 21:29:42.81ID:Lrgg+dc1M
じゃあそもそもVBAのクラスモジュールは何の為にあるんだよ
0497デフォルトの名無しさん (アウアウウー Sadd-nIed)
垢版 |
2023/06/15(木) 01:24:53.94ID:mmfDb7UAa
クラスモジュール、普通に便利だけどね
特に再利用と拡張が楽なのがいい

そういえば継承をVBAで使いたいと思ったことないな
合成、オーバーライド、インターフェースあたりは使えればいいなとおもうけど

でもそんなのよりパラメータ付コンストラクタを普通に使えない、とかのほうが俺的には余程ストレスだな
0498475 (ワッチョイ 13e3-atBl)
垢版 |
2023/06/15(木) 09:33:06.27ID:6h46zCNd0
>>479
Class_TerminateにSet xxx=Nothingを書いた
諸々の処理が「終わってから」なかなか終了しなくなったんで、たぶんどこかで循環参照になってたか、カウンタがゼロにならないとかでオブジェクトへの参照がまだ残ってる判定になってたんだと思った
でも、今同じように戻しても再現しなくなってしまったが、コードを変えた直後の最初の一回だけ終了にやたら時間がかかるケースが出てきた
(「コンパイル」を実行して保存しても最初の一回だけ遅くなる)
クラスが7つもあってごちゃごちゃしてるから、その辺から整理しないと本当は何が悪かったのかまで今はまだわからん
0499デフォルトの名無しさん (ワッチョイ 7b19-ydOm)
垢版 |
2023/06/15(木) 12:32:47.10ID:RQPtceb60
>>497
オーバーロード、オーバーライドは使えないけど
インターフェースは使えるよ。

パラメータ付きコンストラクタは使えないけど
その辺拘るならCallByNameやAPIのコールバックで
何とか汁。
0502デフォルトの名無しさん (ワッチョイ 132c-mVGR)
垢版 |
2023/06/16(金) 11:57:31.84ID:CbHDsKK60
人名がずらずらと並んでいるプルダウンをチェックボックス形式にする。
一人だけ選択ならそのままセルに入力され、複数人選んだら一人目の頭に@
半角スペースが空いて二人目の頭にAと自動でついて入力されたらとても嬉しいのですが、
どういうコードが考えられるか悩んでおります。
0504デフォルトの名無しさん (アウアウウー Sadd-wxnb)
垢版 |
2023/06/16(金) 20:08:57.82ID:ZRdkd62Ia
○の中の番号って20まで?
0506デフォルトの名無しさん (ワッチョイ 368c-0LQ2)
垢版 |
2023/06/17(土) 00:19:14.62ID:BthtTHXs0
(2)
括弧でええやん
0510デフォルトの名無しさん (ワッチョイ d98e-kLz7)
垢版 |
2023/06/18(日) 02:43:33.18ID:LkDYlGEI0
>>502
こんなことで悩むようなら止めとけ
0515デフォルトの名無しさん (ワッチョイ f29d-qfRM)
垢版 |
2023/06/18(日) 11:19:52.82ID:n7dHmRLe0
>>502
513 だけど ビーングに聞いてみたよ
回答結果 貼っておくね
正しいかどうかは自分で判断してね


そのような処理を実現するために、次のようなコードが考えられます。

```vb
Sub CheckBoxToCell()
Dim i As Integer
Dim count As Integer
Dim result As String
count = 0
For i = 1 To 10 ' チェックボックスの数だけ繰り返す
If ActiveSheet.CheckBoxes(i).Value = 1 Then ' チェックされている場合
count = count + 1
If count = 1 Then ' 最初の選択肢の場合
result = ActiveSheet.CheckBoxes(i).Caption
Else ' 2つ目以降の選択肢の場合
result = result & " " & ChrW(9311 + count - 1) & ActiveSheet.CheckBoxes(i).Caption
End If
End If
Next i
Range("A1").Value = result ' 結果をセルに入力する
End Sub
```

このコードは、10個のチェックボックスがあると仮定しています。チェックボックスの数に応じて、`For i = 1 To 10` の部分を変更してください。また、結果が入力されるセルは `Range("A1")` になっていますが、必要に応じて変更してください。
0520デフォルトの名無しさん (ワッチョイ 0dce-L1I+)
垢版 |
2023/06/19(月) 21:15:03.13ID:DAevJAQS0
AIは、ちょっと複雑なコードを要求すると、実在しない理想の関数とか持ち出してくる
その関数はどこにあるか聞くと自分で作れと言われる
そこの部分が一番知りたかったのに
半月ぐらい前に経験した実話よ
0523デフォルトの名無しさん (ワッチョイ f29d-qfRM)
垢版 |
2023/06/20(火) 02:18:29.21ID:A7irJ18X0
>>520
その関数の機能は AI の方から説明があると思うので それをそのまま AI に聞いて 関数を作ってもらうことはできないの?
完璧なコードでなくても大きなロジック が分かるだけでもすごく時間 節約になると思うけど
0526デフォルトの名無しさん (ワッチョイ a510-bte+)
垢版 |
2023/06/24(土) 10:49:09.24ID:FqfK6b2x0
ビットマップファイルを読み込んで画素を1px x 1pxに幅設定したセルの背景色として割り当てて、
シート状にビットマップ画像を表示するプログラムを作りました。
うまくいくときはうまくいくのですが、ときどき、
「セルの書式が多すぎるため、書式を追加できません」
とエラーが出て処理が止まります。
chatGPTに効いたらActiveworksheet.Stylesを削除すればいいと言われたので、
For k = ActiveWorkbook.Styles.Count To 1 Step -1
If InStr("Hyperlink,Normal,Followed Hyperlink", ActiveWorkbook.Styles(k).Name) Then
'pass
Else
Debug.Print ActiveWorkbook.Styles(k).Name
ActiveWorkbook.Styles(k).Delete
End If
Next k
こういう処理をループにかませてスタイルを削除させていたのですが、うまくいきません。
端的にいうと、スタイルがそんな増殖しているわけでもないみたいです。47個ぐらいにしかなりません。

もっと別の理由で「セルの書式が多すぎるため、書式を追加できません」と出るようなのですが、他にどういう理由で
このエラーが発生する可能性がありますか。
0527デフォルトの名無しさん (ワッチョイ ddce-OfpS)
垢版 |
2023/06/24(土) 14:45:58.27ID:TJX+Ujua0
>>526
Interior.Colorを設定した時に内部的に自動で追加されるスタイルは、実はStyles().Deleteでは消せない
これをマクロから消す方法はなくて、ワークシート全体の書式をクリアしてからExcelを再起動するしかない

あと、Google検索で解決できない質問は、ChatGPTに聞いても無駄だよ
同じブログや質問サイトから答えを拾ってきてるだけだから
0528デフォルトの名無しさん (ワッチョイ ddce-OfpS)
垢版 |
2023/06/24(土) 14:58:19.61ID:TJX+Ujua0
>>526
画像を続けて何枚も表示したいときは、もう一つ解決方法があって、画像を15bitパレットに減色すれば(ほぼ)エラーが出なくなる

15bitパレットにする一番簡単な方法は、RGBそれぞれの下位3bitをすべて100(2)などに固定する
ただし微妙な階調は表現できなくなる
0529デフォルトの名無しさん (スプッッ Sd43-PAG3)
垢版 |
2023/06/24(土) 16:14:25.27ID:zDQnymy5d
ドンピシャな回答ありがとうございます
やはりstyles().deleteで削除できないスタイルなんですね。
RGB関数を使って背景色割り当てていたので、組み合わせが膨大になって書式の限界値超えてしまうことが原因ってことで、色調をもっと荒くしてみます。

実際問題画像の綺麗さは二の次でして、AIの学習をエクセルでやるためにビットマップデータを読み込ませて誤差逆伝播法やるのが本筋で
画像表示はデモンストレーションです。
流石に何万枚も画像データの読み込みは無理ですが、ある程度の精度が出るくらいはエクセルでも処理できるのではないかという目算です。
0530デフォルトの名無しさん (アウアウウー Sa69-waoq)
垢版 |
2023/06/26(月) 14:01:44.74ID:+fVe3jTma
Worksheetfunctionで配列数式を入れたいのですがそういうコマンドってありますか?
forで代用するしかないのでしょうか?
0531デフォルトの名無しさん (ワッチョイ 2da5-wYA+)
垢版 |
2023/06/26(月) 14:40:01.51ID:tFrwHTpK0
今月(2023/6)に入ってから、今まで問題なく使用できていたマクロの処理時間が異常に長くなる現象が発生しています。
処理を一つ一つ試していくとCopyメソッドに特に時間がかかっているようです。
実験として以下のコードを作成してみました。
Sub CopyTest1()
Dim i As Long, maxRow As Long
Dim STime As Double, ETime As Double

STime = Timer
Application.ScreenUpdating = False
maxRow = Cells(Rows.Count, 5).End(xlUp).Row

For i = 1 To Cells("A1")
Cells(2, 1).Copy
Cells(2, 2).PasteSpecial
Cells(2, 3).Copy
Cells(2, 2).PasteSpecial
Next i

Application.ScreenUpdating = True
ETime = Timer

Cells(1, 2) = ETime - STime
Cells(maxRow + 1, 5) = ETime - STime
End Sub
A1セルの値が5の状態で10回実行し、E列に書き出された処理時間(秒)は以下の通りでした。
{14.82, 2.00, 5.67, 14.82, 2.00, 14.82, 14.82, 14.82, 14.83, 14.83}
また、ペーストを行わず、コピーだけをForで繰り返した結果は
{14.83, 14.82, 14.83, 14.82, 3.84, 14.81, 7.50, 1.99, 13.01, 14.83}
コピーを1回行った後、Forでペーストを10回行うようにした結果は
{0.05, 0.05, 0.03, 0.04, 0.05, 0.04, 0.04, 0.04, 0.04, 0.05}
問題が発生しているのはExcel2021を使用しているPCのみで、同じネットワーク内のExcel2019を使用しているPCでは処理速度の低下は確認できませんでした。
セルの書式をコピーしたい場面が多いので配列を使用するのも難しいです。何か処理時間を短縮させる方法はあるでしょうか。
0533デフォルトの名無しさん (ワッチョイ 2da5-wYA+)
垢版 |
2023/06/27(火) 11:10:53.92ID:79VdYiQe0
>>532
社内で使用しているOfficeはH&Bの買い切りで、2019は一部の部長や専務クラスのPCにのみ残っています。
なのでおいそれと「マクロ使いたいのでPCを使わせてください」と言うのも憚られます。

サブスクリプションでない場合でも過去のバージョンをインストールすることが可能でしょうか。
もしくは、過去バージョンの互換モードのようなものはあるのでしょうか。
0534デフォルトの名無しさん (ワッチョイ cbda-F8yx)
垢版 |
2023/06/27(火) 11:50:49.43ID:HcS+dZLb0
>>533
同じマクロを別のPCで動作させて処理時間に差が出た場合、PC本体の性能の違いなのか
インストールされているソフトの違いなのかを切り分ける場合どんなテストが必要だと考えてますか?
0535デフォルトの名無しさん (ワッチョイ 2da5-aaG3)
垢版 |
2023/06/27(火) 12:12:37.25ID:79VdYiQe0
>>534
処理の早いExcel2019のPC
CPU:Intel Core i3 8100
RAM:4.00GB
処理の遅いExcel2021のPC
CPU:Intel Core i5 12400
RAM:8.00GB
となっています
個体差や処理との相性などがあるのかはわかりませんが、性能の高低による変化である可能性は低いと考えています。
先月くらいまではどのPCでも使えていたマクロが全く同じコードで低速化した点、
Excel2019のPCで>>531のテストを行うといずれも1秒以内で終了する点
などもそう考える根拠の一つです
0537デフォルトの名無しさん (ワッチョイ 2da5-aaG3)
垢版 |
2023/06/27(火) 12:49:59.40ID:79VdYiQe0
>>356
先月まではExcel2021のPCでもコピーが遅くなる現象はありませんでした。
具体的な発生のタイミングは分かりませんが、今月頭か月中かのビルドアップデートも原因の一つではないかとも考えています。

Excelのバージョンが原因である場合、どういった対応が考えられるでしょうか?
0538デフォルトの名無しさん (ワッチョイ cbda-F8yx)
垢版 |
2023/06/27(火) 13:13:57.43ID:HcS+dZLb0
>>537
先月まで遅くなかったのなら関係ないと思うが
昔なら扱えるデータ(最終行)が違ったり、省略した引数の初期値が違っているとか
使うメモリ量も変わってくる
ネットワークの速度、セキュリティーソフト、ストレージの速度、空き領域、OS側なんかも影響出る可能性はある
あと画面の更新しか止めてないのも中途半端だし
0540デフォルトの名無しさん (ワッチョイ 03bd-waoq)
垢版 |
2023/06/27(火) 13:54:20.09ID:P3UB99BO0
昔自分が経験した備忘録だけど、IMEのよくわからんバグでofficeアップデートした際に極端に動作遅くなったことはあった
旧verのIMEにしたら治ったけど根治には至らなかった
0541デフォルトの名無しさん (ワッチョイ 2da5-wYA+)
垢版 |
2023/06/27(火) 15:25:29.19ID:79VdYiQe0
低速化が発生していなかったビルド16327.20248に戻して実行してみましたが、コピー10回にかかる時間は大きく変化しませんでした。
試すのに時間がかかったのは、Officeの導入などが社外への委託となっていてプロダクトキー等がすぐに確認できない状況であったためです。

次は>>540のお話を参考にIMEのバージョンを試してみようと思います。
0542デフォルトの名無しさん (ワッチョイ 2da5-wYA+)
垢版 |
2023/06/27(火) 16:31:16.55ID:79VdYiQe0
とりあえず場当たり的というか、根本的でない方法での解決ができたように思うので報告します。
まずIMEのバージョンでは処理速度の変化は見られませんでした。

PasteSpecialでなくCopyに時間がかかっているという状況から、クリップボードが関係していると推測しました。
クリップボードの初期化やCutCopyModeをFalseにするなど試してみましたが変化はありませんでした。
その後いろいろ調べてみたところ、某解説サイトの「クリップボードを使わないセルのコピー」というページでValueに引数を入れられることを知りました。
>>531のマクロを以下のように変更したところ、期待する処理内容で0.05秒程度までの短縮ができました。

Sub CopyTest1()
Dim i As Long, maxRow As Long
Dim STime As Double, ETime As Double

STime = Timer
Application.ScreenUpdating = False

maxRow = Cells(Rows.Count, 5).End(xlUp).Row

For i = 1 To Cells(1, 1)
Cells(2, 2).Value(xlRangeValueXMLSpreadsheet) = Cells(2, 1).Value(xlRangeValueXMLSpreadsheet)
Cells(2, 2).Value(xlRangeValueXMLSpreadsheet) = Cells(2, 3).Value(xlRangeValueXMLSpreadsheet)
Next i

Application.ScreenUpdating = True
ETime = Timer

Cells(1, 2) = ETime - STime
Cells(maxRow + 1, 5) = ETime - STime
End Sub

お返事いただいた方々に感謝いたします。
0544デフォルトの名無しさん (ササクッテロラ Sp81-x21g)
垢版 |
2023/06/29(木) 11:52:40.63ID:3tm6uAsep
リクナビnext
求人キーワード検索ヒット数の比較

Java 5300
SQL 2970
Python 2400
RPA 1800
VBA 238

ググれば簡単に出てくるVBA
採用側からしたらスキル扱いされてない現実

残念ながら
VBAでプログラム書けますって
Excel使えます程度
0546デフォルトの名無しさん (スププ Sd43-2HPs)
垢版 |
2023/06/29(木) 12:21:45.26ID:u0QQbW4Md
VBA使うと脳が退化する
マジで勘弁
0547デフォルトの名無しさん (ササクッテロラ Sp81-x21g)
垢版 |
2023/06/29(木) 12:30:46.05ID:3tm6uAsep
>>545
もちろん、ココで丁寧に教えてる方は素晴らしいと思う

ただVBAだけでは武器にならないのは、
転職サイトの検索数が物語ってる

企業が欲しいのは、
時代の流れに柔軟に対応出来る人材
0549デフォルトの名無しさん (ワッチョイ 639d-jvQs)
垢版 |
2023/06/29(木) 12:43:21.04ID:lAWWyS/I0
>>547
日本語喋れるだけでは武器にならないなと同じだな

でも VBA ができないと転職先でプロ 扱いされないぞ

ユーザーさん「ちょっと さ、こういうことできる マクロ 作ってくんない」
プログラマー「僕 Java の専門家 なんで VBA はわからないんです」
ユーザーさん「VBA じゃなくてマクロ だよ、 マクロ」
プログラマー「マクロ と VBA は同じなんですけど」
ユーザーさん「なんだよ エクセルも使えないのか  何で質問はこんなポンコツ やっとったんだよ」
ご愁傷様です
0551デフォルトの名無しさん (ササクッテロラ Sp81-x21g)
垢版 |
2023/06/29(木) 12:46:51.78ID:3tm6uAsep
>>549
おれはVBAを批判してる訳じゃない
実際、おれもVBAばかり使ってきた

ただ、おれが言いたいのは、
GoogleやYouTube、チャットGPTで幾らでも調べられる時代
VBA程度では前みたいに重宝されなくなったんだよ

他人と差をつけて貴重な人材になるためには
VBAに拘りすぎてたら手遅れになるってこと
転職サイトのキーワード検索数が全てを物語ってる

この業界はものすごい勢いで進化してる
ずっと竹槍で鍛えてても、
弓矢や鉄砲には勝てないのと一緒
0552デフォルトの名無しさん (ワッチョイ 9d49-F8yx)
垢版 |
2023/06/29(木) 12:56:11.73ID:Gia+1urj0
549は竹槍しか扱え(わ)ない滅びゆく企業にしがみつけてることで悦に入ってるんだから、
そっとしておいてやれよ
猿が竹槍はつかえても鉄砲を認識できないようなもんだろ
0553デフォルトの名無しさん (ササクッテロラ Sp81-x21g)
垢版 |
2023/06/29(木) 12:56:12.68ID:3tm6uAsep
ここは質問スレで
VBAを丁寧に答えてる方に失礼になるから
おれは消えるけど

おまえら
時代の流れに柔軟に対応するんだぞ
何が出来るようになれば希少価値高い人材になるか
高年収GET出来るか
いつも考えるんだぞ

じゃあバイトに戻るわw
0556デフォルトの名無しさん (アウアウウー Sa69-rAl0)
垢版 |
2023/06/30(金) 12:39:10.95ID:n+Odt7Dva
AIや時代の流れでVBAがなくなる時代なんて全然来そうにないんだけど本当にくるの?
ChatGPTに聞きまくって便利だけど複雑な処理はまだまだだと使うほど思うし
今更VBAどころかそもそも扱える人がほとんどいない
大手自動車グループに出向したときもそう
猿でも出来る、AIが全部やるようになる
ってネットで言う割にやれてもマクロの記録レベルの人
情シスなんて社内システムにかかりきりで他部署の依頼だったり共有するVBAなんて作る気もない

と外資系に勤務している俺は思うわけですが
0557デフォルトの名無しさん (ワッチョイ 9b19-GWUh)
垢版 |
2023/06/30(金) 12:44:04.18ID:b3LF+rqB0
まぁ
VBAは他のObject指向言語やったことあるかないかで
組み方に雲泥の差が出るのは認める
0558デフォルトの名無しさん (アウアウウー Sa69-rAl0)
垢版 |
2023/06/30(金) 18:21:19.19ID:n+Odt7Dva
5ちゃんでExcel触るどころか働いたことない様な奴が今時VBAなんて時代遅れとかAIで全自動化出来るだの今時エクセルなんて使ってる企業、とかただ脳死レスをするけどさ
Excel使わない企業をかつて見たことないんだけど
ゴリゴリの外資系でもそうだしトヨタ系でもそう
じゃあそういうニート連中は何を想像して書き込んでるんだ?
0559デフォルトの名無しさん (アウアウウー Sa69-rAl0)
垢版 |
2023/06/30(金) 18:28:52.62ID:n+Odt7Dva
・何でもVBAでやろうとするのは時代遅れ、これは間違いない 
・VBAいじれる人ってどこの会社、部者でも本当に少ない 
・その人がいなくなると死ぬマクロも多いのも事実
・ChatGPTは本当に凄い、かなりお世話になるレベルで凄い、このスレの回答者なんてもっと凄い


ここで質問に答えてる人達に聞きたい
おたくらレベルの猛者って職場にゴロゴロいないでしょ?Excel、officeが無くなる気配ないでしょ?どのPCにも気軽に配布出来てこれがなくなる時代は俺の定年までくる気配ないんだが
0560デフォルトの名無しさん (アウアウウー Sa69-rAl0)
垢版 |
2023/06/30(金) 18:34:54.75ID:n+Odt7Dva
このスレの質問に答えてるレベルの人さ、
教えてくれよ
「俺のマクロの知識なんて職場の人達に到底敵わんよ」
なんて人はいないだろ、おたくの勤務先でも作る、メンテする、の中枢ポジだろ?

転職活動の時にVBA出来ますアピールなんて価値はないけど、異動や転職時に使える超汎用スキルだと思うんよ 

車がハイテク化していく社会での自転車のような立ち位置だとネットで見た
自転車がなくなる近い未来は見えないでしょ?
0561デフォルトの名無しさん (アウアウウー Sa69-rAl0)
垢版 |
2023/06/30(金) 18:47:16.59ID:n+Odt7Dva
職場で一千万とか二千万とかする解析や測定する設備を導入してるけどまぁ優れた解析ソフトが付随してるのよ
でも社内や社外に展開する時はExcelデータを欲しがるから結局ソフトからcsvかtxtでデータを吐き出すわけよ
閲覧出来る拡張子じゃないのととにかくExcelで欲しいと言われるから

繰り返し自動判定で学習させてく設備は担当者がpython使ってる
けど毎回、臨機応変に解析や測定する設備ほどVBAの方が手軽でかゆい所に手が届くんよ

ミツトヨや東京精密、島津とか設備メーカーの担当者と話しても高機能設備はマクロ組めるのが一番相性がいいと言ってる

VBAが化石化してAIが全てやる近い未来なんて俺には全く見えないんよ

ここの玄人ほどそう思ってるでしょ?
そういう人がまた別の高位の言語を学んでるのは正しいと思う訳よ
0562デフォルトの名無しさん (アウアウウー Sa69-rAl0)
垢版 |
2023/06/30(金) 18:55:06.20ID:n+Odt7Dva
長文を全部読んでくれとは言わん
ここで質問に対して答えてるレベルの玄人に告ぐ
少なくともおたくらが定年まではVBAの需要がなくなることはない
AIがそれを減らすのは間違いないけど
おたくらは定年までは職場でVBAの頼まれ事をしたりこのスレで答えを提示する運命から逃れられん
ざまーみろ

さよなら
0563デフォルトの名無しさん (ラクッペペ MM4b-jvQs)
垢版 |
2023/06/30(金) 19:02:52.90ID:qk+XzPB+M
>>562
あんたはわかってると思うけどAIをつかってVBAのコードを組めるのはVBAを熟知してる人だけ
VBAを熟知してないとAIのコードがうまく行かないときどこを直したらいあかわからん
AIと全ての言語は補完的。
0566デフォルトの名無しさん (ワッチョイ 9dda-OfpS)
垢版 |
2023/06/30(金) 20:18:04.05ID:ExkK5Q1b0
ChatGDPとかもググれば出て来るな いろんなバージョンあるんだな
ChatGDP、ChatGPD、ChatGDT ねーよ
脳内に Option Explicit 付けろよ プログラムする人間で文字打ち間違いする奴は信用に値しない そのシステムは動かないから
平文でお遊びやギャグ、ふつうにタイポ 以外で、肝心な所をスペルミスする奴はお里が知れる
0567デフォルトの名無しさん (アウアウウー Sa69-rAl0)
垢版 |
2023/06/30(金) 20:19:04.76ID:ST5Xi1//a
さよならと見せかけで再登場

>>563
そこのおめーさんよ
俺にレスしたのも何かの縁だと思って俺の長文のレス全部読んでくれよ
そして俺が頓珍漢な事言ってたら指摘してくれよ
そんなゴミにレスするような無意味な事すんな

ChatGPTを使えば使うほど凄さと便利さを感じるけどまだAIが完全に理解して自動化するまでの遠さも同時に感じるわけよ
説明の仕方が下手とかそういうんじゃないわけよ

脱Excel、脱officeをしてる日本と関わりのある有名な企業やグループがあるなら教えてくれよ
お前俺から絶対逃げるなよ
0568デフォルトの名無しさん (アウアウウー Sa69-rAl0)
垢版 |
2023/06/30(金) 20:22:37.95ID:ST5Xi1//a
>>566
そこの玄人臭のするおめーさんも俺の全文を読んだ上で俺をボコボコに論破するくらい絡んでこいよ
言ってる事がおかしかったら教えてくれよ
VBAにすがるわけじゃねーんだ
VBAが無くなる近い未来がみえねーんだわ 俺から逃げるなよ
0570デフォルトの名無しさん (ワッチョイ 9b19-GWUh)
垢版 |
2023/06/30(金) 21:06:43.71ID:b3LF+rqB0
そもそもVBA熟知していたらChatGTPなんか使わない
何故なら既に単一責任原則を守って作成した部品を
それを骨組みにして色々なツールを作れるくらいは抱えているし、
例え部品を持っていなくても自力ですぐに作れるから。

せいぜい、「あれどんな感じで作ってたっけ?」となったときにちょっと使う程度だけど
その程度ならネットで検索したりマクロ先生に聞くだけで十分だからね。
0572デフォルトの名無しさん (ササクッテロ Sp81-x21g)
垢版 |
2023/06/30(金) 22:59:38.59ID:Wy/PPotCp
>>561
マクロ組めるのが一番相性いいって

ただ生データを加工(グラフ化)するだけでしょ?
PowerBIとか使ってないの?
0573デフォルトの名無しさん (ササクッテロ Sp81-x21g)
垢版 |
2023/06/30(金) 23:52:08.05ID:EwCW9hA/p
>>559
> 何でもVBAでやろうとするのは時代遅れ、
分かるわ
ピボットテーブル、Power query、PowerBI…
この辺りの知識もなしにVBAに拘る時代遅れの残念な人が多い

あと、研究所でよくある話。
「計測器で得た生データを加工し発表用に仕上げ定期的に配信する」
この流れを考えた時、どうイメージするか。
•ネットワーク関連(IPアドレス、サブネットマスク、ping)
•データベース関連(logger、ロギング周期、データ形式)
最低限、この辺りを理解してないとねぇ
「データ貰えたらVBAで加工出来ますよ」って言う人いるけど
そのくらい誰でも出来るわってなる
0575デフォルトの名無しさん (ササクッテロ Sp5f-JA+y)
垢版 |
2023/07/01(土) 00:06:49.62ID:d2dum+3bp
>>574
実際居るんだよ
VBAに拘る時代遅れの人

求人見て思うのは
拘りを捨てて柔軟に対応出来る人材が求められてると思う
0576デフォルトの名無しさん (アウアウウー Sabb-UYgO)
垢版 |
2023/07/01(土) 00:32:00.27ID:YCqSMBMGa
しょうもない揚げ足取り合戦はやめなさい

>>572
そんな簡単に済むわけないだろ
主要自動車メーカー、関連企業、グループ企業と各サプライヤで要求されるデータも仕様も全然違うししょっちゅう改定されるわ
VBAより柔軟に手軽に共有出来て設変出来るものがあったら是非欲しいわ

社内だけで運用管理するデータほどVBAなんて使わずにベース化しやすいだろ
骨組みが決まっとるし情シス軍団が貼りつくし仕様変更の頻度が少なくて済む

最大手はなんちゃらsparkやら投稿システムに数年で変わったけどそれまでのデータ作成はどこもバチクソVBA使っとる

理由は簡単
VBAというよりエクセルが世界一優秀なソフトだから
印刷プレビューの文字ズレというカッスい弱点を未だに抱えてるくせに
0577デフォルトの名無しさん (ワッチョイ 029d-ZEnY)
垢版 |
2023/07/01(土) 00:40:07.01ID:G9bG2R8/0
>>567
563 だけど何か 誤解してないか
あなたの長文は全部読んだ上で賛成してるんだよ
だから「あんたは分かってると思うけど」と書いてるじゃない
VBA をディスってるやつに言ってるんだよ
562のアンカーをつけたのはあんたの話に関連してるから

これでいいかな
0578デフォルトの名無しさん (アウアウウー Sabb-UYgO)
垢版 |
2023/07/01(土) 01:16:42.11ID:dcUtPda/a
>>577
わかってる上で全方位レスしてるだけ
普通に社会人やっててVBAが全く無くなる気配なんて全くないんだよな
レスありがとう

そしてここでとある業務
例えばCADとの座標関係やデータムの組合せも可能で自動測定プログラムも組める今の世で一番信頼性の高い測定値を出すのが接触式三次元測定機
世界シェア一位二位を誇る2メーカーが出してる
それ以外のを使う会社は馬鹿にされるレベルで突出した精度

社外とデータのやりとりする事前提とするともうVBA一択なんよ、しょぼいのに糞高いマクロをメーカーが有料オプションで用意してあるほどにExcel向けにソフトが出来てる

設計はCADソフトの社内データベース運用し始めた
生技はpythonやAI導入で設備を仕上げてる
経理や総務や人事は社内システムつこうてる
けど品証もpythonを導入し始めたけどVBAを使わないのは死を意味する

明日も居座るからVBAなんていらないニートおじさんはいつでもカモン
0579デフォルトの名無しさん (ワッチョイ ce19-/ugh)
垢版 |
2023/07/01(土) 02:35:38.67ID:1PnTRWpn0
いや、何かみんなVBA「だけ」やってる前提で話してるけど
どっちかと言えばそんな人の方が少数派なんじゃないの?
VBAはOfficeSoftに特化した言語だからEXCELやACCESS使うことが前提なわけで
VBAでWebサイト作りましょうとか、システム作りましょうとかはまずならない。

ただ、EXCEL扱うのにはVBA知ってた方が圧倒的に便利だし、
何か試す際にかなり手軽に出来るから
それはそれで面白くて気になるからこのスレ来てる人が殆どかなと思ってたけど違うのかな?
0580デフォルトの名無しさん (ワッチョイ 4fb1-Jyjt)
垢版 |
2023/07/01(土) 03:06:39.70ID:c/vEPI310
自分は十数年VBA使いまくってるけど、アラフォーで飲み込みも悪くて基本コード書くときはネットで例題見つけてはそれを加工してる
最近ChatGPT使い始めて、確かに簡単な注文するだけでコードガンガン書いてくれて本当に驚くばかり
ちゃんとコメントも付けてくれて、そして細かいダメ出しにもすぐに対応してくれる

でもやっぱり、最終的にはデバッグは自分でやらなきゃいけないから、結局はそのコードを自分なりに理解しなきゃいけない
そういう意味では、ネットで例題見つける時間を大幅に短縮してもらえるようにはなったなというイメージ

しかし、ネットで見つけてくる例題ほどの完成度はあるのか…?という心配が常につきまとう
シートの操作や簡単な統計のようなものならまだしも、詳細な理論演算とかは出力結果みてもそれが適切な解なのか自信がもてない
そしてこれまでの経験ではちょいちょいおかしな理論をもちこまれる

結局はネットでそれなりの権威の持ち主が公開してるコードじゃなきゃ怖くなってしまう
もしくは自分なりに理論的に構築したロジックをなんとか具現化したものでもなきゃ責任が持てない

ChatGPTでものすごい進化と変化は起こったけど、それで全てがリセットされるというのはまだ先の話かな
そして今後はChatGPTを使いこなすという技術があらたに生まれてくるのかなと思ってみたり
ChatGPTをエンジンとしたコード生成ツールとかできたりして
0581デフォルトの名無しさん (アウアウウー Sabb-fE17)
垢版 |
2023/07/01(土) 04:10:02.52ID:ttt+olIpa
ここではVBAの話だけしかしないのが正しい
0583デフォルトの名無しさん (スププ Sd02-+VJx)
垢版 |
2023/07/01(土) 11:38:52.38ID:X5+rBfw5d
>>558
>Excel使わない企業

Excelなんてこの世に存在しなかった
バブル崩壊前の日本は世界一の経済国だったな
0591デフォルトの名無しさん (ラクッペペ MM8e-ZEnY)
垢版 |
2023/07/01(土) 19:06:53.69ID:8xr8XSCFM
>>586
それより前にMSDOSの上で動くwindows2とか3の時代があって初期のエクセルはそういうwindowsもどきの上で動いていた。ロータス123はのMSDOSの上で動いていたけど、もどきの上のエクセルのほうが優れていたから金融機関の先端部署はエクセルにシフトしていたよ。大衆に普及するのはwindows95以降だけど
0593デフォルトの名無しさん (ワッチョイ 029d-ZEnY)
垢版 |
2023/07/01(土) 19:57:47.85ID:G9bG2R8/0
じゃあ何で俺は使えてたのかな
海外の同僚に Windows 2.1 送ってもらったのかな
グローバルビジネスだから日本語 いらんのでそうしたかも
ともかく 海外の同僚がエクセルを使ってるのが羨ましかった記憶だけはあるわ
0597デフォルトの名無しさん (ワッチョイ 23da-+Mc8)
垢版 |
2023/07/01(土) 21:31:34.20ID:FiZzg/q70
MS-DOSの時代からあったMicrosoft Works ワードプロセッサ、表計算、データベース、スケジュール管理、通信が
ひとつにまとまった、Microsoft Officeの前身みたいな製品 2009年10月まで販売されていた(らしい)
それと勘違いしてるか、若しくはもうすでに認知sy
5inchだったか3.5inchだったかのFD10枚セットパッケージにサンプル品としてExcel4.0デモ版が添付されてて
それでExcelの機能をお試しできた(らしい)
0600デフォルトの名無しさん (ワッチョイ 6710-jj/n)
垢版 |
2023/07/01(土) 21:58:16.58ID:r23DAN/K0
Wikipediaによれば、PC-9800シリーズ用Windows 2.1日本語版は1989年6月にを出荷開始

あと「動け!Windows」なるサイトの「歴代Windows」ってページによれば、PC-9801用Windows2.0日本語版は1988年9月に販売開始
0603デフォルトの名無しさん (アウアウウー Sabb-UYgO)
垢版 |
2023/07/01(土) 22:11:05.38ID:Qw99Rlz6a
VBAなんていらないおじさんがいないかハンティングにきたけど山に帰ったか
いいことだ

アメリカで優秀だと評判な韓国系の記事を前に読んだが名前もソースも覚えてない
キムなんとか?いわく

あるシーンを乗り越えようとする時、VBA(Excel)を使う選択肢がベストでない事を作る本人は理解している。だが、やろうと思えばVBAで最低限のものは出来てしまう。Excelがあらゆるものをそのレベルへの対応を可能にしてしまう。
それ故に良くも悪くもVBAは根強く残るのだ。Excelが優秀な事が足枷にもなるのだ。
「僕のオフィスは未だにExcelがメインツールなんだよ」
これは地球上の多くのカンパニーで呟かれているのさ

おしまい
0604デフォルトの名無しさん (アウアウウー Sabb-UYgO)
垢版 |
2023/07/01(土) 22:25:46.41ID:Qw99Rlz6a
ちなみに俺のVBAの熟知レベルなんて一年生レベル
ここの回答者には心の底から尊敬しかないね
質問に対して見下すレスは好きじゃないが

ここまで偉そうに要約もせずに長ったらしいレスを延々と続けたわけだがこうみえてパワポの資料作成とプレゼンは多分ここの玄人には負けない
役員報告も毎回俺が担当してる
自動車業界のQC全国大会に北海道まで行った事もある
上にいけばいくほどみんなアニメーションが大好き
理想の処理をさせる玄人と違ってパワポ映えさせて口でそれっぽくストーリーを作る虚構の権化、それが俺

使えてもいないAIを知った風に語るニートが現れたらまた狩りにくるわ
0606デフォルトの名無しさん (ワッチョイ d701-JA+y)
垢版 |
2023/07/02(日) 00:07:59.02ID:9XSikxk90
>>604
師匠と呼ばせてください。

師匠、Excelやっておけば社会で通用しますよね?
天下取れますよね?
0608デフォルトの名無しさん (アウアウウー Sabb-hiKC)
垢版 |
2023/07/03(月) 09:02:24.50ID:XuaWdgM7a
キムバレークラークのトイペはなぜあんなに使い難いんだぜ
0609デフォルトの名無しさん (ワッチョイ 0bad-NjMy)
垢版 |
2023/07/06(木) 20:30:12.67ID:IUM+zzRi0
横に長い表があります
これの入力用にフォームを作っていますが、セルの値のフォームへの反映、フォームの値のセルへの反映を簡単に設定する方法はありますでしょうか?

今は、選択しているセルの行数をもとに、フォームのテキストボックスのCONTROLSAUCEを変更するVBAを使用しています

アドバイスを頂けると助かります!
0613デフォルトの名無しさん (アウアウウー Sabb-fE17)
垢版 |
2023/07/07(金) 15:45:30.02ID:jtTfuF+Ga
>>609
入力で手を抜かない
入力ミスをチェックする
カンマ区切りでsplitとか
0614デフォルトの名無しさん (アウアウウー Sabb-XxlQ)
垢版 |
2023/07/07(金) 16:46:13.42ID:fKwbBwpWa
すみません、ヒント・アドバイスありましたらお願いできませんでしょうか。

ネットワークよりJSONを取得しExcel内に表展開するVBA付ExcelをWindows環境で使用しているのですが、このMAC対応で苦慮しています。
MAC対応のため一部コードの修正・変更を行い、自分が借用したMACでは何の警告もエラーもなく動作するようになったのですが、先方に渡したMACで動作させると、下記URL画像の警告が出てしまいます。

https://imgur.com/nq4WNPk
メッセージも何もありません。

バージョンは全く同じ Microsoft Excel for MAC 16.74 (23061100) です。

HTTP通信を行う部分は、JsonConverterモジュールの一部FunctionをPublicに変更いたしました。
また、MAC対応のためDictionaryクラスモジュールをインポート済みです。

なお、当方MACは非常に不慣れです...
どなたか、アドバイスありましたらお願いできませんでしょうか。
0615デフォルトの名無しさん (ワッチョイ 23da-+Mc8)
垢版 |
2023/07/07(金) 17:04:26.85ID:0VfWs2EP0
不慣れなのに請け負うから これを解決しても続けざまにアレコレ発生するのが目に見える
検証用に一台入手して今後のトラブルに備える覚悟無いならやめとけとしか
古いけどこういうことなんだろう
https://rogolog.com/excel-vba-mac/
https://memorandums.3ki3ki.com/mac-macro/
本家 (相変わらずなんちゅーアドレス
https://support.microsoft.com/ja-jp/office/set-the-properties-for-a-visual-basic-project-in-office-for-mac-23b73fb9-0467-46b1-b996-0a3453474881
0616デフォルトの名無しさん (ワッチョイ 7f8e-PlBh)
垢版 |
2023/07/07(金) 17:08:05.71ID:kZsObKAx0
そもそもVBAを使うのが間違い
0617デフォルトの名無しさん (ワッチョイ 4fb1-Jyjt)
垢版 |
2023/07/07(金) 17:26:38.99ID:7Kb0twbt0
>>612
そうなんだ、自分の周りではまだまだ32bitが主流なんで自分も64bitに変えられずにいる
てかごく一部だけどファイルのやりとりすると未だ.xlsで返してくるところもある
早く64bitが当たり前になってほしいな
0618デフォルトの名無しさん (ワッチョイ ce19-/ugh)
垢版 |
2023/07/07(金) 20:07:48.30ID:fswiLlFY0
>>616
他言語やっててもVBAくらいは使えるようにしとけ
Excel 使うならWebでJavaScript使うのと同じくらい重要だぞ
0619デフォルトの名無しさん (スプッッ Sd02-PlBh)
垢版 |
2023/07/07(金) 20:23:21.30ID:abSR6fudd
>>618
馬鹿は話しの流れを読み取れない
0620デフォルトの名無しさん (ワッチョイ ce19-/ugh)
垢版 |
2023/07/07(金) 20:41:10.81ID:fswiLlFY0
>>619
無能はスレに趣旨も読み取れない
0622デフォルトの名無しさん (ワッチョイ 9f94-rqKn)
垢版 |
2023/07/08(土) 11:38:12.90ID:ijl4CXnn0
すみません。ど素人なのですが
excelのコメントの背景に画像を埋め込んで
画像をポップアップ表示していたのですが
列の操作をしていたらコメント表示が崩れてしまいます。
その度に一つ一つセルを選択して元に戻していたのですが
セルを選択して選択範囲のコメントを元に戻すマクロを作りたいです。

Range("選択範囲").Comment.Shape.LockAspectRatio = msoFalse
;縦横比を固定するの解除

Range("選択範囲").Comment.Shape.Width = 385
;サイズと角度の幅を385に指定;

上記2つの処理を選択したセルで実行したいです。
どなたかご教授願えませんでしょう?
0624デフォルトの名無しさん (ワッチョイ b76e-rqKn)
垢版 |
2023/07/11(火) 11:46:33.86ID:Hz6uZt090
条件付き書式設定だけを直接コピー&ペーストする方法はありますか?
PasteSpecial メソッドの xlPasteFormatsだと値もコピーされるので困っています。
0626デフォルトの名無しさん (ワッチョイ eea5-5LlG)
垢版 |
2023/07/18(火) 10:54:26.03ID:LvCNnvc20
>>624
xlPasteFormatsなら書式設定だけが貼り付けされるはず
値もコピーされる状況が再現できるならコードがどこか間違ってるんじゃないかな
xlPasteFormulasになってるとか-4122が-4123になってるとか
0627デフォルトの名無しさん (ワッチョイ eea5-5LlG)
垢版 |
2023/07/18(火) 11:30:44.90ID:LvCNnvc20
あ、もし条件付き書式以外の書式設定を貼り付けたくないって場合ならPasteSpecialじゃできないよ
コピー元のFormatConditionsコレクションのインデックスをループして、
ModifyAppliesToRangeとかAppliesTo.Resizeとかで範囲を変えるしかないんじゃないかな
連レス失礼
0632デフォルトの名無しさん (ワッチョイ dada-/jfo)
垢版 |
2023/07/21(金) 21:59:28.58ID:UW9xrttc0
一太郎2023 でてるよ
0635デフォルトの名無しさん (スプープ Sd7f-edyX)
垢版 |
2023/07/22(土) 09:06:11.45ID:Zehs4MrMd
今みたいにネットで調べることが出来ないので、サポートデスクに電話して教えてもらうんだけど、口頭だとなかなか言いたいことが伝わらないで大変だった。
爺の昔話は苦情が来るからここまで。
0639デフォルトの名無しさん (ワッチョイ 7fda-aMqs)
垢版 |
2023/07/23(日) 10:54:22.50ID:XZ7bFq0A0
まわるまわるよ時代は回る
0641デフォルトの名無しさん (ワッチョイ 5f33-T5WS)
垢版 |
2023/07/24(月) 10:59:23.04ID:2E5Woh530
仕事でエクセル2003を使っています。
表の中に2つのSUM関数があります。

・0が表示されているSUM関数
・合計の数が表示されているSUM関数

マクロで、
「0が表示されているSUM関数のセル」
だけを選択する事は可能でしょうか。

自分でやった事は以下です。

・ジャンプ機能で数式をチェックする
 「すべてのSUM関数」が選択される。選択不可。
・検索機能で、0を検索する
 「検索条件に一致するデータは見つかりません」
 と表示される。選択不可。


知識がなくて大変申し訳ありません。
皆様のご指導をよろしくお願いします。
0642デフォルトの名無しさん (ワッチョイ 7fda-onGn)
垢版 |
2023/07/24(月) 12:05:35.50ID:XScBRRuC0
検索対象に「値」ってないのか? 2003持ってないのでよくわからんが
0643デフォルトの名無しさん (スップ Sdff-SdiU)
垢版 |
2023/07/24(月) 14:33:06.59ID:ps4dvXgGd
>>641
馬鹿はこのスレが何のスレか知ってるか?
0644デフォルトの名無しさん (ワッチョイ 5f33-UQg9)
垢版 |
2023/07/24(月) 17:55:27.73ID:2E5Woh530
>>検索対象に「値」ってないのか? 

数式
・数値
・文字
・論理値
・エラー値

ジャンプ機能の、数式の数値にチェックを
入れれば、SUM関数が選択されます。しかし、
すべてのSUM関数が選択されてしまいます。

「0が表示されているSUM関数のセル」だけを
選択できるマクロ・VBAはないでしょうか。
0645デフォルトの名無しさん (スップ Sdff-SdiU)
垢版 |
2023/07/24(月) 18:10:05.43ID:ps4dvXgGd
>>644
馬鹿が後付けの質問し直し
で選択してどうすんの?
馬鹿は消えろ
0646デフォルトの名無しさん (ワッチョイ 7fda-onGn)
垢版 |
2023/07/24(月) 18:54:14.46ID:XScBRRuC0
夏休みの宿題かな
0647デフォルトの名無しさん (アウアウウー Sa2b-onGn)
垢版 |
2023/07/24(月) 20:06:13.43ID:MGheshjRa
Excel2021で勉強中で初歩的な質問で申し訳ないです
インテリセンスについて質問させてください
インテリセンスで表示される引数について、
[ ] で囲われた引数は省略可だと思いますが、
例えば、InStr関数については、すべての引数が [ ] です
これはどう理解したらいいのでしょうか?
https://i.imgur.com/RXDupxq.png
よろしくお願いします
0648デフォルトの名無しさん (ワンミングク MMbf-XHZ2)
垢版 |
2023/07/24(月) 20:35:39.66ID:z51ku1oZM
夏休みか
0649デフォルトの名無しさん (ワッチョイ dfea-SN+J)
垢版 |
2023/07/24(月) 21:16:06.87ID:TaKpevNO0
>>641
こんな方法があるようで。
Sub SelectZeroSumCells()
Dim ws As Worksheet
Dim cell As Range
Dim formulaString As String
Dim selectionRange As Range
Set ws = ActiveSheet ' アクティブなシートを取得
Set selectionRange = Nothing ' 選択範囲を初期化
For Each cell In ws.UsedRange ' シート内の各セルをチェック
If Left(cell.Formula, 4) = "=SUM" Then ' セルの数式がSUM関数かどうかを確認
formulaString = Mid(cell.Formula, 2) ' セルの数式を取得(=を除く)
If Evaluate(formulaString) = 0 Then ' 数式を計算し、合計が0の場合はセルを選択
If selectionRange Is Nothing Then ' 初めて該当するセルが見つかった場合
Set selectionRange = cell
Else
Set selectionRange = Union(selectionRange, cell) ' 2つ目以降の該当するセルが見つかった場合、既存の選択範囲に追加
End If
End If
End If
Next cell
If Not selectionRange Is Nothing Then ' 該当するセルを選択
selectionRange.Select
End If
End Sub
0651デフォルトの名無しさん (ワッチョイ 7fda-onGn)
垢版 |
2023/07/24(月) 23:26:26.61ID:XScBRRuC0
>>647
インテリセンスの表示でなく、Netのヘルプ見たら string1とstring2 は[]が付いていないので
省略できないのが正しいと思う
0653デフォルトの名無しさん (ワントンキン MMcf-XHZ2)
垢版 |
2023/07/25(火) 00:13:56.48ID:eKqn2vaBM
>>652
自分の間違いを認められない奴は二度と来るな
0654デフォルトの名無しさん (ワッチョイ 5f33-UQg9)
垢版 |
2023/07/25(火) 00:32:36.47ID:VciGrMU40
>>645

>>で選択してどうすんの?
宿泊施設で働いています。
施設内に冷蔵庫が3つ(A・B・C)あります。
盛り付けた料理を冷蔵庫に運び、保存します。
お客様の人数が少ない日は、AとBだけ使い、
Cを使いません。

(エクセルの表)
A小計・B小計・C小計・ABCの合計

 @空白セルを選択、ムダな列を非表示
★ACのSUM関数による小計0を選択、ムダな列を非表示
 B表全体を印刷

Aが「0が表示されているSUM関数のセル」です。
AさえVBAで自動化できれば、@からBまでの
すべてを自動化でき、ムダがなくなります。

ややこしい説明で申し訳ありません。
0656デフォルトの名無しさん (ワッチョイ dfea-SN+J)
垢版 |
2023/07/25(火) 04:35:19.33ID:eLLZuLdp0
>>654
sum文がどこのセルにあるかわからないなら >>649 のコードだけど、表形式のデータでsum文があるセルが固まって存在するならその範囲のセルの値を調べて値が0ならその列を非表示というVBAにしたほうがシンプルかと。
0657デフォルトの名無しさん (ワッチョイ 7fda-onGn)
垢版 |
2023/07/25(火) 12:19:49.55ID:HKHhNjAB0
あくまで想像だがこんなシート?
a,=sum(1+2)
b,=sum(3+4)
c,=sum(5+6)
abc,=sum(a+b+c)
a,=sum(2+3)
b,=sum(1+0)
c,=sum(0+0) ←この行を非表示
abc,=sum(a+b+c)
...
0658デフォルトの名無しさん (アウアウウー Sa2b-onGn)
垢版 |
2023/07/25(火) 15:40:59.03ID:En1UaVrHa
>>651
ありがとうございます
すみません、インテリセンスではなくクイックヒントでした
MicrosoftのHPでそこは確認できているのですが、
クイックヒントとの相違についてが、調べきれませんでした
0659デフォルトの名無しさん (ワッチョイ 7fda-onGn)
垢版 |
2023/07/26(水) 03:03:30.47ID:zCZ/0Zp20
>>658
表示の誤りはよくあるのであまり気にしない方がいいぞ
どうしても気になるならサンプルコード書いて動作確認すればいい
修正パッチや最新バージョン入れたら直ってるかもしれんし、しらんけど
0661デフォルトの名無しさん (ワッチョイ 5f33-UQg9)
垢版 |
2023/07/26(水) 19:00:57.27ID:WqknVGST0
>>657

そんな感じです。ややこしい説明で申し訳ありません。

(表の並び方)
A・B・C・ABCの合計

A  セル・セル・SUM関数(左のセルの数字を合わせた小計)
B  セル・セル・SUM関数(左のセルの数字を合わせた小計)
C  セル・セル・SUM関数(左のセルの数字を合わせた小計)
ABC SUM関数(AとBとCの合計)

Cの表を使わない場合、セルに数字を入力しませんので、
SUM関数のセルには「0」が表示されます。
「0が表示されているSUM関数のセル」を
選択し、列を非表示にするVBAを知りたいです。
0663デフォルトの名無しさん (スップ Sdff-SdiU)
垢版 |
2023/07/26(水) 20:12:43.45ID:I3jexMSod
こんな低能にVBAを弄らせるなよ
後でトラブルが発生するのは確実だろ
0664デフォルトの名無しさん (アウアウウー Sa2b-aMqs)
垢版 |
2023/07/26(水) 20:17:42.86ID:wSHYoxMZa
見えなくなったの戻せないとか言うんじゃね
0669デフォルトの名無しさん (ワンミングク MMbf-XHZ2)
垢版 |
2023/07/27(木) 01:50:48.93ID:gFWuor0jM
>>667
お前みたいな無知蒙昧の同類だろ
0673デフォルトの名無しさん (ワッチョイ 1710-azQd)
垢版 |
2023/07/29(土) 05:39:19.04ID:gWGSOie+0
この程度の頭の連中がマイナンバーシステムを作ったのだろうな
0681デフォルトの名無しさん (ワッチョイ da3d-n8TV)
垢版 |
2023/07/31(月) 01:23:29.89ID:5P8TOtn70
「そこが知りたい!Excel VBAプロの技 Excel97/2000/2002/2003対応!」
という本が「幻の名書」てことで、
アマゾンでも中古で8,575円になってる。
”素人には見向きもされない難解な本”らしい。
https://thom.hateblo.jp/entry/2015/08/17/211757

調べてみると東京都稲城市立中央図書館にあるとのことで、
18きっぷで南多摩まで行ったわ。
(ちなみに南多摩は無人駅だから・・・・・)
開架なので、誰かが借りてなければ閲覧できる。
かなりマニアックなことが書いてあるのかと思えばそうでもかなったな・・・・。
無駄足だった。
ほほーって思った記事は、for-nextよりfor-eachのほうが早いってことかな。
興味があるやつは稲城に急げ。
0682デフォルトの名無しさん (スッップ Sd8a-Be6Z)
垢版 |
2023/07/31(月) 02:34:47.30ID:LEmGEeTtd
と転売屋が書き込んでます
0687デフォルトの名無しさん (ワッチョイ 7eda-CF7t)
垢版 |
2023/07/31(月) 17:54:55.55ID:bEWQsMnv0
どうでもいいけど 3*0.3333..... ってやると
勝手に桁数直される時は1で直されん時は0.9999.... になるが見た目区別できない
0693デフォルトの名無しさん (スッップ Sd8a-Be6Z)
垢版 |
2023/08/01(火) 19:11:32.30ID:IJ3FqPP3d
こういうスレを見てるとわかるように馬鹿は厚かましくしつこく聞いてきて挙げ句の果ては作ってくれと言い始める
0696デフォルトの名無しさん (ワッチョイ 7eda-p9y8)
垢版 |
2023/08/02(水) 02:05:58.77ID:oR2VXJHY0
相談にはにっても、やってというのは受けない方がいいと思う
0697デフォルトの名無しさん (アウアウウー Sa1f-IPSQ)
垢版 |
2023/08/02(水) 08:57:59.43ID:4pI1Wfnva
にかった
0698デフォルトの名無しさん (アウアウウー Sa1f-p9y8)
垢版 |
2023/08/02(水) 10:26:10.96ID:l89J1l2ha
乗るw
0702デフォルトの名無しさん (アウアウウー Sa1f-vR7y)
垢版 |
2023/08/04(金) 15:12:43.43ID:IuB8EIWua
vbaにブレークポイント付ければ良いのでは
0704デフォルトの名無しさん (ワッチョイ aa59-rfHk)
垢版 |
2023/08/04(金) 17:27:37.71ID:xOpPMRcx0
ブレークポイントで特定できた
ありがとう
なんかセル更新時に重いなって思ってたらユーザー定義関数を都度都度大量に再計算してた
揮発性無効にしても効果がないのでなんでかなと思ったらVLOOKUPの第2引数の範囲に入ってるのが原因
面倒だけどユーザー定義関数やめて普通の長ったらしい関数記述するしかないか……
0705デフォルトの名無しさん (ワッチョイ 7eda-CF7t)
垢版 |
2023/08/04(金) 20:57:58.34ID:AtJZBxCM0
高速化のテクニックは無数にある
無駄な計算を実行しないとか、画面表示を止めるとか、同じ計算を1か所にまとめるとか
0709デフォルトの名無しさん (ワッチョイ 7f59-LTUu)
垢版 |
2023/08/05(土) 08:17:27.77ID:rnXgWpu00
なんか仕事の愚痴吐く人目立つけど仕事で使ってる人ばっかなの?
ゲームのデータ管理やオカズの整理にしか使ってないのに質問したの申し訳なくなるな……
0711デフォルトの名無しさん (ワッチョイ 7f59-LTUu)
垢版 |
2023/08/05(土) 10:49:21.65ID:rnXgWpu00
でも独学で手探りでやってる身としては仕事でやらせてもらえる人羨ましくも思うわ
書籍とか買うにも自腹だし誰も教えてくれる人も居ないし
何よりそれでお金貰えるの結構モチベになるんじゃない?
0712デフォルトの名無しさん (ワッチョイ c5da-4ObG)
垢版 |
2023/08/05(土) 14:50:20.84ID:pQVEDhUA0
>>711
ほれ、あれだ。
「仕事でやらせてもらえる」
というのは当然、「成果」を期待されているわけで。

あーでもない、こーでもないと言いながら、
こうはできないか、ああはできないかを自分の時間でする
てのが、一番楽しいのかも知れん。

「VBA研究職」なんてのは、世の中にはないし。
0713デフォルトの名無しさん (ワッチョイ 33da-c/5M)
垢版 |
2023/08/05(土) 20:48:08.79ID:9WxAdaD/0
税金から給料もらえる仕事に就くといいのでは
0714デフォルトの名無しさん (ワッチョイ bbb1-AMxq)
垢版 |
2023/08/06(日) 16:55:42.25ID:1mg8NGPW0
個人としてみれば、貴重な時間を割いて手伝ったところで他人の成果の向上につながるだけで見返り無し(どころか自分の業務を圧迫することも)
組織としてみれば、VBAで処理できる内容をスキル不足と協調性の無さから手作業でやられたりすれば非効率になる一方なわけで

大手なら教育体制やら個別技能評価あたりで全体を押し上げることもできるんだろうけど、中小零細じゃ厳しいよね
格差は広がる一方だね
0719デフォルトの名無しさん (ワッチョイ 33da-c/5M)
垢版 |
2023/08/09(水) 10:14:25.88ID:qEKEd4/l0
理想はそうだが現実はそううまくいかないことが多い
0723デフォルトの名無しさん (ワッチョイ 33da-c/5M)
垢版 |
2023/08/11(金) 19:25:22.67ID:edq/zelf0
>>722
それはあなたの職場の利益はVBAがメインではないというだけの事
0725デフォルトの名無しさん (ワッチョイ 0eda-eQmn)
垢版 |
2023/08/13(日) 21:24:47.27ID:uv4CALxs0
職場の中にVBAが書ける人が数えるくらいしかいないのか、大勢書けるのかはそういう職場ってだけで
それで利益が出ている会社(組織)であれば問題ないと思う
0727デフォルトの名無しさん (ラクッペペ MMb6-DWIq)
垢版 |
2023/08/14(月) 08:51:33.33ID:OCn697tAM
エンジニアというかプログラミングが本業で別言語が専門ならVBAにこだわる必要もないしな
というかBASICの派生言語は初心者向けと見做している節があるので必要が無いならあえて手を出そうとはしないだろ
0728デフォルトの名無しさん (ワッチョイ 0eda-eQmn)
垢版 |
2023/08/14(月) 10:01:28.83ID:ZKbk/ejd0
>>726
自分より劣っている人みてどう思う?
そうなりたくないと思うのか、一緒になって馬鹿やっていくつもりなの?
0733デフォルトの名無しさん (ワッチョイ 1ab1-VPys)
垢版 |
2023/08/14(月) 20:38:20.98ID:kEtDriiW0
>>726
要は、それでその部署の業務効率がそれなりに上がっているのなら何の問題もないってこと
もしかするとあなたがVBAを使うことに拘っているだけで、そんな部署で周囲が不慣れなVBAを使う方が逆に非効率化につながったりするかもね

例えばただの会計部門があるとして、そこで発行する請求書の金額計算をVBAで即時計算するシートを作ったとして、これは本当に効率的なんだろうか?
そして他の社員から「消費税率変えたいんだけどやり方が分からないから書き直して」と言われたときに、「あー、これだからレベルの低い社員はー」とか嘆いた場合…
レベルが低いのはいったいどっちなんだろうか
0734デフォルトの名無しさん (スッップ Sdba-mZuj)
垢版 |
2023/08/15(火) 00:12:24.51ID:oAFI4asrd
そもそも会計ソフトがない職場って…
ニートなのか?
0738デフォルトの名無しさん (ブーイモ MMb3-pwIG)
垢版 |
2023/08/22(火) 16:00:04.20ID:iKCtheYZM
質問ですみません

とあるログイン画面で
IDとPWをsendkeysで入力して
オートログイン試みたのですが
PW欄は入力反映してID欄は空白の状態です。

試しに、かな入力モードにして実行すると
ID欄にかな入力で反映されますが、
変換(例:testだと「てst」になる)
されているためログインできません。
これはログインID欄側のセキュリティ等の
問題なのでしょうか?

IDとPWは半角英数字で、
事前にセルに入れてあるのをvalueで得て
sendkeysで送ってます

送信先をセルやWordにすると共に
入力されるのは確認できます。
0740デフォルトの名無しさん (ワッチョイ c132-hPrW)
垢版 |
2023/08/22(火) 16:50:30.86ID:hH58UM4T0
メモ帳でsendkeysを使ったら、Windows 10とWindos 11とで
メモ帳が完全に立ち上がるまでの時間にわずかな差があるから、
Windows 11では発行が早すぎて何も起こらなかったことがある。
0742デフォルトの名無しさん (ブーイモ MMb3-pwIG)
垢版 |
2023/08/22(火) 17:35:32.69ID:zRHQEGsEM
皆さま、ありがとうございます

最初早すぎだと思って
試しにIDで止めてみても
マウスポイントがチカっと光って(送られてる?)
何も反映されませんでした。
次にID欄に実行してるのを
PW欄だけで実行すると入力されたので
ID欄自体の問題かなと考えてます。

学校のedgeからIEモードで開いた
ログインサイトで
家のPCでは出来たのですが
学校配布のPCで実行するとダメでした。

夏休みの自由課題としてやっていたのですが
行き詰まってしまいました。
0744デフォルトの名無しさん (ブーイモ MMfd-++yE)
垢版 |
2023/08/22(火) 20:47:58.60ID:57wATwN5M
Selenium使ってVBAでサイト開いてログインしたいって話でしょ
すぐわかったけど
エッヂのバージョンとウェブドライバーのバージョンが合ってないとかその辺か
0748デフォルトの名無しさん (ワッチョイ b3bd-oHaR)
垢版 |
2023/08/23(水) 22:51:14.34ID:BlvzWZd70
>>738
DOMってわかる?
ウェブサイトってタイトルやフォームみたいなパーツで作られてるのは直感的にわかると思うんだけど、
それらは全部住所みたいなものを使って直接触ることができるのね。

そのDOMを使ってID欄やPW欄の入力されてる文字自体を変更し、
次に送信ボタンを触ってclickメソッドを実効するのが一般的な方法だと思う。
「スクレイピング ログイン vba」とかで検索すると簡単に出てきます。

sendkeyだとタイミングの問題の他、そもそも入力欄が選択されているのかの問題もあるから、
ゲームみたいなそもそも入力欄がないような場面でしか使わない。

タイミング問題はDOM操作にも発生するけど、
読み込みを待つための定番コードがあって比較的安全にアクセスできる。
こちらも「selenium 待つ vba」で検索すると出てきます。
0751デフォルトの名無しさん (ササクッテロロ Sp0d-uDNR)
垢版 |
2023/08/24(木) 20:06:04.03ID:VgGK6Go7p
>>749
来た・・・のか?
0755デフォルトの名無しさん (ワッチョイ 2b8e-1fKg)
垢版 |
2023/08/24(木) 22:05:02.11ID:PZycjr7d0
実際の実行はクラウド上で行うからだろ
インターフェースを追加しただけだ
0772デフォルトの名無しさん (ワンミングク MM8a-d/CV)
垢版 |
2023/09/13(水) 18:14:01.15ID:mjWmASTcM
職業訓練校通いのおじさんが自慢するスレ
0776デフォルトの名無しさん (スッップ Sdba-7VGn)
垢版 |
2023/09/13(水) 21:01:18.08ID:80Drqb83d
>>773
普通の人は職業訓練校なんて行かんよ
0778デフォルトの名無しさん (スッップ Sdba-Tt2Y)
垢版 |
2023/09/14(木) 02:45:37.99ID:8m/4KAKkd
職業訓練校通いの無職男性の年寄りがドヤ顔
こいつ例の零細企業勤めの爺だろ
0779(EXCEL版)優待スレからレア情報の発掘ツール (ワッチョイ da89-KCBg)
垢版 |
2023/09/14(木) 07:05:27.33ID:0Z3SKyG70
お前ら 勘違いしてるぞ! 俺のスペックを紹介するよ。
親父が 高卒の元公務員(警察官)で、
我が家は 世帯の金融資産が1億円を超える『富裕層』なんよ。
日本には富裕層が わずか2.7%しか居ない。
だから、生活のために働く必要なんてないんだわ。
しかし、無職の頃 モンハンにハマってたら 親父に殴られた。
仕方なく ラクなバイト(工場の守衛室)週2回 夜間だけ働いてるわ。
遺伝子のおかげで 格闘技は強いんだが、脳ミソまで筋肉やがな(笑)
プログラミングは『金持ちの道楽』
ExcelVBAは、おもに 株のデータ分析に活用してる。
お前らもスペック書いてよ!
0780(EXCEL版)優待スレからレア情報の発掘ツール (ワッチョイ da89-KCBg)
垢版 |
2023/09/14(木) 07:27:55.14ID:0Z3SKyG70
職業訓練校は 去年の話や。
IT系コースで ExcelVBAとACCESSを習った。
授業のペースが早くて理解できず、ほとんど身に付かなかったわ。
グループワークで 20代後半の女性と話すのも新鮮だったわ。
就職の為ではなく 『失業手当の延長』が最大の目的だ。
去年は 失業手当の総額が 100万円を超えてた。
実は、職業訓練校に通ったのは 去年が4回目。
0782デフォルトの名無しさん (ワンミングク MM8a-d/CV)
垢版 |
2023/09/14(木) 15:56:44.63ID:CPm14Qh/M
職業訓練校の授業にもついていけなかった無職の子供部屋おじさんがいきりはじめました
0786デフォルトの名無しさん (ワントンキン MM8a-d/CV)
垢版 |
2023/09/14(木) 17:29:04.17ID:UVo7YKcqM
無職子供部屋おじさん

もろに英一郎案件
0802デフォルトの名無しさん (ワッチョイ 0f9b-5Uth)
垢版 |
2023/09/18(月) 10:43:43.03ID:UcHLSTJh0
l_i_t_e(邪魔という方は左記をNGお願いします)

更に家族にも教えて追加で¥4000をゲットできる!
https://i.imgur.com/JnCgXpC.jpg
0823デフォルトの名無しさん (ワッチョイ 869b-lrL5)
垢版 |
2023/09/26(火) 18:28:27.80ID:RHujdELN0
MS製だから信用できんのだろうが
0824デフォルトの名無しさん (ワッチョイ fabd-ntr7)
垢版 |
2023/09/26(火) 19:32:53.14ID:wjfDMRbv0
copilotってVBEでも使えるの?
他言語だがVSCodeでは使ってる
あれ凄いよね、もはや上手いコメント書いたら殆どコーディングしてくれる
体験版終わったら脳死で課金した
0825デフォルトの名無しさん (ワッチョイ 1e8e-XHBf)
垢版 |
2023/09/26(火) 20:10:45.32ID:UX+CVdyj0
>>824
基本的なことがわからない探せないお前みたいな低次元の無能な人が重宝するだけ
0834デフォルトの名無しさん (ワッチョイ 23ea-/hnu)
垢版 |
2023/09/30(土) 10:41:38.51ID:e5dXzvv10
>>832
う〜ん、言っている内容がわからない。画面キャプチャして貼ってみて。
https://i.imgur.com/LPlz6iE.jpg
0836デフォルトの名無しさん (ワッチョイ 8501-E3Lm)
垢版 |
2023/09/30(土) 19:39:00.90ID:HRNdSGlC0
度々すいません

Sub test()

Dim Arry()

Arry = Sheet1.Range(“A1”).CurrentRegion.Value

Redim Arry(1 to Ubound (Arry) , 5 to 10)

End Sub

これで二次元側の値をArryの5〜10の値を格納したいけど1〜6の値がはいります

そもそも無理なんでしょうか?
0839デフォルトの名無しさん (ワッチョイ 23ea-4a9y)
垢版 |
2023/09/30(土) 21:43:15.63ID:e5dXzvv10
>>836
何をやりたいのか書いた方がいいかも。
見た感じ、Redimの使い方を間違ってる、機能を誤解している印象。
0841デフォルトの名無しさん (ワッチョイ 23ea-/hnu)
垢版 |
2023/10/01(日) 08:29:59.20ID:Po2H+ILb0
Redimは配列の要素数を変更するもの。元々の添字が1〜10でRedimで5 to 10としたら要素数を6に変更し添字が5から始まるようになるだけ。 Preserveを使っているなら元の値の頭から変更後の要素数分だけ持ってくる。

てか、この後どう使っているか知らないけどRedimする必要ある?
配列から値を読み出す時に添字をいじればいいんじゃない?

c = 4 ‘今回の使い方だと-4?
d = arry(a, b + c)
0842デフォルトの名無しさん (ワッチョイ 0502-5C2y)
垢版 |
2023/10/01(日) 14:22:43.95ID:n3YXj22r0
素人質問で申し訳ありません。
VBAをコピーしつつ組んだのですが下記がエラーが出てしまいます。
ご教示いただけますと幸いです。
A行(A1:A100)をダブルクリックするとA行に1加算され、
B行(B1:B100)をダブルクリックすると、B行には年月日が、C行には時間が記載される。
D行(D1:D100)をダブルクリックすると、D行には時間が記載される。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Not Intersect(Target, Range("A1:A100")) Is Nothing Then Target.Value = Target.Value + 1
If Not IsEmpty(Target) Then Exit Sub
If Intersect(Target, Range("B1:B100,D1:D100")) Is Nothing Then Exit Sub
If Target.Column = 2 Then
Target.Value = Date
Target.Offset(, 1).Value = Time
ElseIf Target.Column = 3 Then
Target.Value = Time
ElseIf Target.Column = 4 Then
Target.Value = Time
End If
Cancel = True
Cancel = True
End Sub
0844842 (ワッチョイ 0502-UA51)
垢版 |
2023/10/01(日) 17:20:06.14ID:n3YXj22r0
>>843
すみません。エラーが出るというより、A行とD行しか反応しません。
0845デフォルトの名無しさん (ワッチョイ 7dce-VEJP)
垢版 |
2023/10/02(月) 03:50:19.29ID:oQhLkSNR0
>>842
とりあえずこれで動くけど、何か説明が抜けてない?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  If Intersect(Target, Range("A1:A100,B1:B100,D1:D100")) Is Nothing Then Exit Sub
  If Target.Column = 1 Then 'A列
    Target.Value = Target.Value + 1
  ElseIf Target.Column = 2 Then 'B列
    Target.Value = Date
    Target.Offset(, 1).Value = Time
  ElseIf Target.Column = 4 Then 'D列
    Target.Value = Time
  End If
  Cancel = True
End Sub
0846842 (ワッチョイ 756f-4zuU)
垢版 |
2023/10/02(月) 08:22:38.98ID:9fso2rak0
>>845
ありがとうございます。
やってみます。
説明できる限りのことは書いたのですが
要領を得なかったら申し訳ありません。
0847デフォルトの名無しさん (スッップ Sd43-VEJP)
垢版 |
2023/10/02(月) 09:11:09.89ID:MMPwIajKd
>>846
自分の書いてる説明には
If Not IsEmpty(Target) Then Exit Sub
これに相当することが書かれてないけど必要なの?
これがあるとB列とD列は一度設定されると以降の処理が動作しないよね(未設定の時だけ設定される動作)
(そういう点では>>845のコードは説明に合わせたコード)
あと
ElseIf Target.Column = 3 Then
Target.Value = Time
これは自分の説明にはない動作だよね(「C列をダブルクリックしたら時間を設定」だけど実際にはIntersectの範囲に含まれないから動作しない)
0848デフォルトの名無しさん (ワッチョイ 7d9a-/sIl)
垢版 |
2023/10/02(月) 12:25:48.10ID:ld9+k8U+0
>>反応しません
ってので見てるとこがね…
0849デフォルトの名無しさん (ワッチョイ 7d9a-/sIl)
垢版 |
2023/10/02(月) 12:26:02.80ID:ld9+k8U+0
>>反応しません
ってので見てるとこがね…
0850デフォルトの名無しさん (ワッチョイ 859d-iLfk)
垢版 |
2023/10/11(水) 12:18:31.21ID:VviNns4z0
vbaを含むxlsmファイルのライセンスってどこに含めるのが一般的ですか?
0851デフォルトの名無しさん (ワッチョイ 8554-tLBJ)
垢版 |
2023/10/11(水) 12:24:39.89ID:nuQ0rfxo0
つくったとこじゃね
0854デフォルトの名無しさん (ワッチョイ fbbf-3tBr)
垢版 |
2023/10/15(日) 14:15:54.32ID:BVKbSlte0
>>852
馬鹿
0857デフォルトの名無しさん (ワッチョイ 0bda-xRLz)
垢版 |
2023/10/15(日) 17:42:26.62ID:H9M8XB6j0
excelが悪い
0859デフォルトの名無しさん (アウアウウー Sadd-f0fU)
垢版 |
2023/10/16(月) 09:59:53.14ID:kgcCjrnKa
>>856
同じ理由ならpowershellも廃止すべきでは
0860デフォルトの名無しさん (ワッチョイ 2bf7-xRLz)
垢版 |
2023/10/17(火) 07:51:58.43ID:mIHb8CZV0
自分が使わなければいいだけでしょ
0870デフォルトの名無しさん (ワッチョイ ce2f-Nl27)
垢版 |
2023/10/21(土) 03:50:37.64ID:4nC0eILg0
>>866
RowSourceとかControlSourceとか
https://learn.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/listbox-control-boundcolumn-controlsource-rowsource-properties-example

>>869
今のエクセル、入力用フォーム自動生成してくれるのか
もう無茶苦茶な機能追加だな
でも自分でそのフォームカスタマイズできないのは魅力半減だな
0872デフォルトの名無しさん (ワッチョイ 7ae6-RhFg)
垢版 |
2023/10/25(水) 10:36:26.65ID:eJmjtmbA0
Excelなのですが、複数セルに条件付き書式を一括で追加したいです。(条件は各行変化する)
FomulaとFormatConditions.addを組み合わせる様な事をしたいのですが、
実際やるとエラーで通りません。

例えば
FormatConditions.Add(2,3, '=A2TRUE')
と言った具合で、範囲で追加したときAの値A2,A3,A4と変化させたい感じです。

また別言語(Powershell)から呼び出しているのでWith構文は使えないと思います。
Forで回しても良いのですが、1000行近くあるので時間が結構かかる為避けたいです。
0873デフォルトの名無しさん (ワッチョイ c1a0-i2wx)
垢版 |
2023/10/25(水) 12:26:50.69ID:SA71alYG0
もっとよく考えたほうがいいと思う
0877デフォルトの名無しさん (スッププ Sd9a-pqHO)
垢版 |
2023/10/26(木) 11:38:24.30ID:ewuxy2JXd
実際のセルの処理は時間がかかる
描画を止めてから処理すれば多少早くなるから、
Application.ScreenUpdating=Falseしてから処理をはじめ、
終わったらApplication.ScreenUpdating=True
計算処理も同様に
Application.Calculation = xlCalculationManual
やってからはじめて、
Application.Calculation = xlCalculationAutomaticでおえる
0882デフォルトの名無しさん (ワッチョイ dd51-CxP9)
垢版 |
2023/10/26(木) 14:46:30.23ID:Sxr6n1fv0
> VBA内なら1000行すぐ終わるかも知れませんが
> Powershellから呼び出しだと結構時間かかります

これよくわからない
時間がかかってるのはExcelの起動やらとかであって、Forの実行はVBA内で行われるんじゃないの?
0884デフォルトの名無しさん (ワッチョイ dd4e-CxP9)
垢版 |
2023/10/27(金) 15:12:43.55ID:fcYuq+zB0
>>883
> また別言語(Powershell)から呼び出しているのでWith構文は使えないと思います。
これもよくわからないし

Powershellって人がプロシージャに書いてある文章を一行ずつ読みにいって、自己解釈の元で自分で実行するみたいな発想だったのかね
ここまで意味不明な解釈してる人がどこで何に気がついたのか知らないけど>>879の捨て台詞は必要だったのかね
そして何よりもID:ewuxy2JXdが不憫で仕方がない
0885デフォルトの名無しさん (ワッチョイ a551-dytz)
垢版 |
2023/10/27(金) 17:17:23.69ID:NmWpMbd70
これからこういう人多く成るんだよ? 高学歴が邪魔するのか何だか知らんけど
プライドだけは変な方向に高い 実務に即さない解決策を講じる 選択肢が間違ってても突っ走る
0887デフォルトの名無しさん (ワッチョイ 4ec2-WPgu)
垢版 |
2023/10/27(金) 21:02:38.87ID:4EmYUF1P0
馬鹿が考える解決方法はそんなもの
馬鹿ほど己の間違え方法にこだわる
0895デフォルトの名無しさん (ワッチョイ 296e-mA8z)
垢版 |
2023/10/29(日) 01:44:54.53ID:IGVL7C2J0
>>894
標準か文字型
○○は漢字で、
Cells(1, 1).Text = "○○" がFalseで、
Cells(1, 1).Value = "○○" がTrueになったので、
んなわけあるか!と思ってDebug.Printしたら、
.Textには前後に変な空白があったのよ
0898デフォルトの名無しさん (ワッチョイ d949-CP9B)
垢版 |
2023/10/29(日) 12:32:43.45ID:T4jRmqRS0
>>895
問題のセルがA1だったとして、A1の表示形式を"標準"にする。
(一旦別の表示形式にして"標準"にするのがよい)
その状態からF2で一旦入力状態にして、Enterで確定。

これで同じになれば値をどうやって入れたかを調べる。
同じ列の別の行で同じことが起こるか、などいろいろ。

動けばいいんだったら、違うことを前提にして回避策をいれればいい。
0901デフォルトの名無しさん (ワッチョイ 1949-NstI)
垢版 |
2023/10/30(月) 10:34:02.92ID:upgSC0LO0
Textはあくまで見た目のデータだからね
書式設定のウインドウでも位置がズレることが確認できるはず
何故かはしらん、マイナスとかついたときの位置を固定するためとかやろ
0903デフォルトの名無しさん (ワッチョイ 19e0-2XMF)
垢版 |
2023/10/30(月) 12:07:45.37ID:RmOFtzKv0
前の空白は数値で付くのはわかるが後ろの空白は謎
0906デフォルトの名無しさん (ワッチョイ 1949-vgKx)
垢版 |
2023/10/30(月) 16:33:05.01ID:upgSC0LO0
いやそれが何故かっていう疑問なんじゃないの・・・
(言い換えれば空ける理由、空けなくてもいいんじゃない?っていう疑問だと思う)

答え出るかわからんし闇っぽいから、はい次の方
0909デフォルトの名無しさん (ワッチョイ 1387-zW/F)
垢版 |
2023/11/01(水) 01:09:45.26ID:hjpDJv/i0
【質問】
Excelのソートに関しての質問です。

①シートの1列目の文字列に基づいて昇順でソートする。
②シートの1列目の文字列の先頭に「○」や「☆」などの記号がある場合は、それらを無視して2文字目の文字に基づいてソートしたい。

そこで下記コードを実行したところ、
「実行時エラー '1004': 並べ替えの参照が正しくありません。」というエラーが出ます。
どこをどう修正すればよいでしょうか?
0910デフォルトの名無しさん (ワッチョイ 1387-zW/F)
垢版 |
2023/11/01(水) 01:11:37.64ID:hjpDJv/i0
Sub CustomSort()
Dim LastRow As Long
Dim SortRange As Range
Dim SortKeyRange As Range
Dim i As Long

With ActiveSheet
LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
Set SortRange = .Range("A2:A" & LastRow)
Set SortKeyRange = .Range("B2:B" & LastRow)
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=SortRange, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.Sort.SetRange SortRange
.Sort.Header = xlNo
.Sort.MatchCase = False
.Sort.Orientation = xlTopToBottom
.Sort.SortMethod = xlPinYin
.Sort.Apply
End With
0911デフォルトの名無しさん (ワッチョイ 1387-zW/F)
垢版 |
2023/11/01(水) 01:12:11.61ID:hjpDJv/i0
For i = 2 To LastRow
If Left(SortKeyRange(i, 1), 1) Like "[○☆]" Then
SortKeyRange(i, 1) = Mid(SortKeyRange(i, 1), 2, 1)
End If
Next i

With ActiveSheet
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=SortKeyRange, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.Sort.SetRange SortRange
.Sort.Header = xlNo
.Sort.MatchCase = False
.Sort.Orientation = xlTopToBottom
.Sort.SortMethod = xlPinYin
.Sort.Apply
End With

For i = 2 To LastRow
If Left(SortKeyRange(i, 1), 1) Like "[○☆]" Then
SortKeyRange(i, 1) = "○" & SortKeyRange(i, 1)
End If
Next i
End Sub
0912デフォルトの名無しさん (ワッチョイ d9ce-H9h+)
垢版 |
2023/11/01(水) 03:09:14.48ID:u6oKBIyz0
>>909
何もかも違ってる気がするので丸ごと作り直してみたけど、これで希望の結果になってるかはわからない

Sub CustomSort()
  Dim LastRow As Long
  Dim SortRange As Range
  Dim SortKeyRange As Range
  Dim i As Long

  With ActiveWorkbook.ActiveSheet
    LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
    Set SortRange = .Range("A2:B" & LastRow)
    Set SortKeyRange = .Range("B2:B" & LastRow)
    .Range("A2:A" & LastRow).Copy Destination:=SortKeyRange
    For i = 2 To LastRow
      If Left(.Cells(i, 1), 1) Like "[〇☆]" Then
        .Cells(i, 2) = Mid(.Cells(i, 1), 2, 1)
      End If
    Next i

    With .Sort
      .SortFields.Clear
      .SortFields.Add2 Key:=SortKeyRange
      .SetRange SortRange
      .Header = xlNo
      .MatchCase = False
      .Orientation = xlTopToBottom
      .SortMethod = xlPinYin
      .Apply
    End With
  End With
End Sub
0913デフォルトの名無しさん (スフッ Sd33-wFsA)
垢版 |
2023/11/01(水) 03:13:41.64ID:H7+Ix2LYd
>>909
ほぼマルチんこ
0914デフォルトの名無しさん (ワッチョイ 1387-zW/F)
垢版 |
2023/11/01(水) 07:02:30.74ID:hjpDJv/i0
>>912
ありがとうございます。
ただ、そのコードを実行してみたら、ちょっとセルの中身がずれたりしていたので、色々試した結果、下記のコードで解決しました。

Sub CustomSortWithSymbol()
Dim LastRow As Long
Dim ws As Worksheet
Dim i As Long, j As Long, k As Long
Dim sortKey As String
Dim originalValue As String

Set ws = ThisWorkbook.ActiveSheet ' アクティブなシートを設定
LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' 最後の行を取得

Dim sortKeys() As String ' カスタムソートのため、ソートキーを一時的に保持
ReDim sortKeys(1 To LastRow)

For i = 2 To LastRow ' ○や☆の文字で始まる文字列の場合、次の3文字をソートキーとして設定
originalValue = ws.Cells(i, 1).Value
If Left(originalValue, 1) = "○" Or Left(originalValue, 1) = "☆" Then
sortKeys(i) = UCase(Mid(originalValue, 2, 3))
Else
sortKeys(i) = UCase(Left(originalValue, 3))
End If
Next i
0915デフォルトの名無しさん (ワッチョイ 1387-zW/F)
垢版 |
2023/11/01(水) 07:04:31.49ID:hjpDJv/i0
For i = 2 To LastRow ' ソートキーを使ってソート順を決定
For j = i + 1 To LastRow
If sortKeys(i) > sortKeys(j) Then
Dim tempKey As String ' ソートキーの順序を入れ替え
tempKey = sortKeys(i)
sortKeys(i) = sortKeys(j)
sortKeys(j) = tempKey

Dim tempValue As String ' A列のセルの値も入れ替え
tempValue = ws.Cells(i, 1).Value
ws.Cells(i, 1).Value = ws.Cells(j, 1).Value
ws.Cells(j, 1).Value = tempValue

For k = 2 To 10 ' B列~J列のセルの値も入れ替え
tempValue = ws.Cells(i, k).Value
ws.Cells(i, k).Value = ws.Cells(j, k).Value
ws.Cells(j, k).Value = tempValue
Next k
End If
Next j
Next i
End Sub
0918デフォルトの名無しさん (ワッチョイ f3ad-2XMF)
垢版 |
2023/11/02(木) 12:10:56.31ID:T6fjkERA0
swap関数作るともっと簡単に
0919デフォルトの名無しさん (ワッチョイ d23d-GxXh)
垢版 |
2023/11/10(金) 14:54:35.91ID:A5qmTFWx0
VBAでスクレイピングをしてるんだが

これはOK
Set o_elem = Driver.FindElementsByCss("ul.M_pager > li[class = 'next'] > a")
これはOK
Set o_elem = Driver.FindElementsByCss("ul.M_pager > li[class *= 'next'] > a")
これはエラーになる
Set o_elem = Driver.FindElementsByCss("ul.M_pager > li[class != 'next'] > a")

VBAのFindElementsByCssで!=を使う方法てある?
もちろん<>もだめ。
0924デフォルトの名無しさん (ワッチョイ ff4f-ljUV)
垢版 |
2023/11/12(日) 20:06:42.57ID:evQWrDt50
デスクトップに保存したhtmlファイルを、Shell ("エッジのパス\msedge.exe" & path, vbNormalFocus)で開いています。
んで、そのhtmlファイルには複数個のリンクがあります。
各リンクを自動的にonClick()でクリックするにはどのようにすればいいでしょうか?
0926デフォルトの名無しさん (ワッチョイ 7f53-5PwW)
垢版 |
2023/11/13(月) 07:48:09.28ID:qmUd3R410
>>924
ウイルスみたいなことは止めてね
0929デフォルトの名無しさん (スプッッ Sd7f-EFnx)
垢版 |
2023/11/13(月) 11:23:51.91ID:MRrvj9HMd
>>924
イベントハンドラ(onClick)を自動的にクリックとか表現してるあたり、なんか基本がわかってなさそうなふいんきだけど、大丈夫?

Edgeに限らず、Shellで開いたアプリをクリックするのは不可能じゃないけどかなり大変
APIを使わないと無理なんだけど、Shell以外の方法で開くのはだめなの?
0931デフォルトの名無しさん (ワッチョイ 7f07-1GGZ)
垢版 |
2023/11/14(火) 05:23:36.97ID:OZUGvDNw0
アクティブブックを保存してBluetoothでファイル転送。の方法をお教えいただきたくお願いいたします。

上記についてはウェブサイトでも見つかりませんでした。今は手段をメール添付にして似た動作で行っていますが、ローカルPCでも自動ファイル転送するケースがでてきたため、Bluetooth転送方法をお願いいたします。
0934デフォルトの名無しさん (ワッチョイ ffbd-f7HJ)
垢版 |
2023/11/16(木) 21:59:20.91ID:NlRecVbU0
Microsoft 365 Excel バージョン2310 ビルド 16924.20124だけど、
name no
a 1
b 2
c 3
みたいなテーブル1を作ってワークシート上で
XLOOKUP("a",テーブル1[name],テーブル1[no],"")
ってやると当然1が帰るけど、
vbaで
With ThisWorkbook.Sheets(1).ListObjects("テーブル1").DataBodyRange
MsgBox Application.WorksheetFunction.XLookup("a", .Range("テーブル1[name]"), .Range("テーブル1[no]"), "")
End With
みたいにするとaだけ帰ってこない b以降はOK これは何でしょ?
0935デフォルトの名無しさん (ワッチョイ 9ffd-Oetp)
垢版 |
2023/11/17(金) 00:30:19.09ID:82JP36FI0
With ThisWorkbook.Sheets(1).ListObjects("テーブル1").DataBodyRange
MsgBox Application.WorksheetFunction.XLookup("a", .Range("テーブル1[name]A1:A3"), .Range("テーブル1[no]"), "")
End With

こんなカンジで試してみてどーかぬ
0936デフォルトの名無しさん (ワッチョイ 7fea-ElWn)
垢版 |
2023/11/17(金) 05:58:28.92ID:cP0QxO9W0
>>934
そのコードで本当に動いた? エラーになるけど。
そのWithの指定だとテーブルの中身だけ持ってくるから .Range("テーブル1[name]") で参照出来ないと思う。
0938デフォルトの名無しさん (ワッチョイ ff02-czGt)
垢版 |
2023/11/17(金) 12:35:58.54ID:pS9NmqjV0
商社から上司経由でシステムの売り込みとかよく来るしpython勉強すればもっと広い範囲で出来たりするんだろうけど
vbaで何とかしようと考えちゃう悪癖が無くならない
42歳だけど化石人種のまま定年になるんかなぁ
0941934 (ワッチョイ ffbd-f7HJ)
垢版 |
2023/11/17(金) 20:54:07.11ID:Z3gLVdXN0
With ThisWorkbook.Sheets(1).ListObjects("テーブル1")
MsgBox Application.WorksheetFunction.XLookup("a", .ListColumns("name").Range, .ListColumns("no").Range, "")
End With

結局これでうまくいった おまえらありがとう
0956デフォルトの名無しさん (ワッチョイ a12f-f5/H)
垢版 |
2023/11/21(火) 22:17:10.20ID:HpmNczC40
ほほう、「RPA 不具合」でググると散々だな けちょんけちょんに貶されてる まだ時期尚早てか
アホでは無いひとはスイスイそれらのトラブルを回避し続けてるということか さすがです
クラウドもオンプレもどっちもロクな事書かれてない 実務で導入・運用はこええじゃん 潔いな
0957デフォルトの名無しさん (ワッチョイ 6101-lMS9)
垢版 |
2023/11/22(水) 00:08:04.33ID:x/9NhZOn0
まあそこは色々な言い方があるだろうな
全銀がトラブルくらいなら各銀行は信用ならんと言う人もいるだろう
相変わらずリコール出してる車ってものは信用ならんと言う人もいるだろう
30年前は事務のおばちゃんは殆どがPCなんて使ってなかっただろう。今はEXCEL詳しいおばちゃんもいる
30年後にはAIは様々な形で普通に使われているだろう
RPAはその一部かもわからないが、実績を上げてる事例は既に多い
現場のおばちゃんが使い出したとこもある
システム開発に多額な費用出せない中小企業には救いなソリューションかもしれない
0961デフォルトの名無しさん (スプープ Sd22-6ynB)
垢版 |
2023/11/22(水) 10:33:46.71ID:bjy9vKhqd
いやRPAは自動化システム全体を指すし、
それの実装方法の一つとしてVBAやらPythonやらベンダーのソフトやらがある
ノーコードだって一人情シスがシコシコVBA組んだって、
それで作業自動化ができればそれはRPA
VBAだとoffice以外の自動化がしにくかったのは昔の話だし
0962デフォルトの名無しさん (ワッチョイ a1b0-f5/H)
垢版 |
2023/11/22(水) 13:09:03.96ID:KWP7ULRA0
言い出しっぺが、RPAでXLファイル更新させたら って書いてんだから、VBAじゃあ無いんだろう
RPAってなんぞ? と少しく調べてみたら、何のことは無い 自動化を言い換えただけ
MS謹製のもあるし日立とかのもあったりする様子だけど、古来そおゆうのが蔓延った試しが無い
云わば吊るしのスーツに体を合わせろの姿勢 個々の企業の千差万別の業務に特化したオーダーメードには
やっぱりVBAで対応するのが何より
その先の他業務との連携に関してはRPAがございます どうぞよろしく な立ち位置なのか
特にクラウド系の、外部に居てもアクセスできます 部外者へのお披露目関連はこの鯖つこてください
とかなら、ネットに疎いみなさんでも容易に使えて都合がいいのかも知れない

ただ、自動化の困るところは、いざトラブった時の原因の切り分けが必要以上に厄介に成るところ
一人情シスの手に負えるところじゃ無くなる 要員増やさなきゃ仕事に支障が出る 若しくは外注
中小零細はVBAでいいんだ
0964デフォルトの名無しさん (ワッチョイ a1b0-f5/H)
垢版 |
2023/11/22(水) 15:08:56.43ID:KWP7ULRA0
一人情シスをボロボロになるまで使い倒す気マンマンでワロタ
本人がやる気満々のうちはいいだろうが、寿命縮むぞ そう長期に亘って携わっていられる業務じゃ無くね?
何よりどんどん投入されるこういった新しい技術も知的財産として蓄えてかなきゃならない
それが実務に応用できるかの検証が必要 デバイスもコロコロ変わる 相互の親和性とかもチェックし続け
そおゆうのをひとりっきりに任せっぱなしだと、後継者がいざ現場に就いた時に玉手箱明けたウラシマ状態
「なんじゃこりゃあ!」と必ず叫びたくなる 情報共有の重要性を切実に訴えたい
そういうトコを切り詰める企業は先細り
いや、経営陣はそんなの知ったこっちゃ無い「お金掛けてるのになんでできないの?」「失敗したら責任な」
そんなのが大半だから、ボトムアップで訴えを上げ続けないと   って、スレチだな ついな
0966デフォルトの名無しさん (スプープ Sd22-6ynB)
垢版 |
2023/11/22(水) 16:39:38.78ID:izBzFnSKd
>>964
RPAがオワコン呼ばわりされてるのは、
結局やってることが草の根VBAと同じだからよ
RPAそのものより、その運用ノウハウの方が高く売れる
述べてる情報共有方法だったり、業務フローの資料化だったりね
0968デフォルトの名無しさん (ワッチョイ a1b0-f5/H)
垢版 |
2023/11/22(水) 17:58:45.17ID:KWP7ULRA0
オワコンとは思わんが
MSが推進しようとしている、総合型コラボレーションプラットフォーム Teams だの Azure だの
それぞれ単品で試してウケが良かったら一つにまとめて行って高値付けて一儲けしよう という方向性がね
尻馬に乗っかろうって他社も同様 万単位で開発者が居るような統合アプリを、一人情シスでは捌ききれん
中小零細がそれをどれだけ導入するかにも依るが いずれは避けて通れなく成ってくんだろうとは思う
「親会社の要請で」だの「導入してないと仕事も貰えない」だの
 ノウハウ売るだけでサポートなんかしません っつー商売はいいトコに目を付けたと思う 精々お励みください
0973デフォルトの名無しさん (ワッチョイ a1b0-f5/H)
垢版 |
2023/11/22(水) 21:46:54.92ID:KWP7ULRA0
>>971 ありがとう 見てきた ほんの2日前に初めて意識したRPAだが(w ずっとシステムとかに
携わってきた人間なら辛うじて付いて行けるだろうけど、一般の事務職や、まして中小零細の経営陣が
これに付いて来れるとは到底思えんな 上場の大企業サマ達がすったもんだし続けていて欲しい
そこで熟されたのが末端に徐々に浸透してくならまだしも という感想
末端の実務でも「おおおっ!!」と感嘆符付けるような具体例があるなら加速するのか

PowerAutomate なんてのもそんなに普及してるとは知りもしなかったし、ために成るスレだ
(導入するかどうかは別として
0977デフォルトの名無しさん (ワッチョイ 923d-iyJA)
垢版 |
2023/11/23(木) 22:53:02.20ID:1paod0yW0
>>976
会社でVBAを使える人はその能力を隠す傾向にある。
VBAの使い手だといろんな仕事を押し付けられる可能性がある。
そしてそれは大概人事の評価にはならない。
会社もそういう人をIT担当にするわけでもなく、
大概IT担当は使えないやつがあてがわれる。
0988デフォルトの名無しさん (ワッチョイ 479b-1fOb)
垢版 |
2023/11/27(月) 11:04:12.33ID:CI3qhd280
まるで、ペーパードライバー 能力を持っていながら才能を発揮して無きゃ
いざ!の時に錆び付いてて使い物に成らない 過去の遺物を触れるってだけ
そんなのを能ある鷹とは呼べず、No!だけのタコと呼んでもいい
0989デフォルトの名無しさん (ワッチョイ 07aa-NBHV)
垢版 |
2023/11/27(月) 12:15:29.53ID:JK0eRP930
タコに脳は9つあるよ
0993デフォルトの名無しさん (ワッチョイ 4701-b0Sf)
垢版 |
2023/11/27(月) 16:43:18.10ID:YdGgb4vX0
ゆとり教育で漢字書くのはそれほど重視されなくなった
オレはとっくに重視してなくて、書けない漢字山ほどあるわw
0999デフォルトの名無しさん (ワッチョイ 479b-1fOb)
垢版 |
2023/11/27(月) 21:29:40.40ID:CI3qhd280
ダジャレかな ダジャレじゃ無いよラップだよ
のーあるたか!のーだけのたこ! のーあるたか!のーだけのたこ! のーあるたか!のーだけのたこ!
三回唱えりゃよっくわっかる 頭韻踏んでるラップだよ!  なんつて  どーもすみませんでした
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 303日 9時間 51分 35秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はUPLIFT会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
4 USD/mon. から匿名でご購入いただけます。

▼ UPLIFT会員登録はこちら ▼
https://uplift.5ch.net/

▼ UPLIFTログインはこちら ▼
https://uplift.5ch.net/login
レス数が1000を超えています。これ以上書き込みはできません。

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