X



Excel VBA 質問スレ Part58
レス数が1000を超えています。これ以上書き込みはできません。
0005デフォルトの名無しさん
垢版 |
2018/11/22(木) 09:37:41.30ID:ZIGZU+Kk
>>1
=LEFT("おつかれあかたあまや",4)
0008デフォルトの名無しさん
垢版 |
2018/11/23(金) 09:01:48.81ID:pYaMx0la
ややExcelと離れるのですが、他に適切な場所が見当たらないのでこちらで質問。

WordやPowerpointに、埋め込み、またはリンクで表示されているExcelの表やグラフについて、
1:ファイル名(フルパス、ないし相対パス)
2:表示されているシート名(またはシート番号)
3:表示されている表の範囲(A1からB20まで、みたいな)
を、WordやPowerpointで動かすVBAから列挙する、みたいなのを作りたいと考えてます。

(1)についてはある程度(たまに取れないのがある)なんとかなるのですが、
(2)と(3)の手段が分からないでいます。
この辺を得る手段について、ご存じの方いましたら教えてください。
0009デフォルトの名無しさん
垢版 |
2018/11/23(金) 10:13:26.49ID:NlhnMW/X
表示されているシート名 って要は現在アクティブなシートってことでしょ?
ActiveSheet.Nameで取れるんじゃ?
0010デフォルトの名無しさん
垢版 |
2018/11/23(金) 11:15:52.26ID:OdmoxaxG
>>8
やったことがないから保証できないが、
OLEObject.ObjectプロパティからOLEオブジェクトのコントロールを取得できるはず
ここからExcelのオブジェクトモデル経由でシート名等は取れるかも
00118
垢版 |
2018/11/23(金) 11:27:11.08ID:pYaMx0la
>>9,10

 そういえば、シート名はそれで取れますね。うっかりしてました。
ただ、Powerpointで表示されている、シート上の範囲( >>8 の(3) )がマジわからん。
ActiveSheetまでは到達出来るので、シート全体のデータは取れるのだけども、
表示範囲となるとどこを見れば良いのやら……
0012デフォルトの名無しさん
垢版 |
2018/11/23(金) 16:52:45.93ID:NlhnMW/X
表示範囲っての意味がよく判らない。使用されている範囲ならUsedRangeプロパティだけどそうじゃない?
0013デフォルトの名無しさん
垢版 |
2018/11/23(金) 18:46:47.55ID:A5v+c7Q3
QueryTables.addを利用して取り込んだテキストデータを
TextFileFixedColumnWidths = array(5,4,2)
とVBソースに記述して5、4、2バイト目で区切ってエクセルに貼り付けしているのですが、
このarrayのカッコ内の値5,4,2の部分を1つのセル内に定義しておき、そこから取得して処理する方法を教えてください。(セル値を変えるだけで区切りバイトを変えられるようにしたいです)
セル内の定義は下記のような感じの形式で実現できたらいいなと思っています。
5,4,2
または
"5","4","2"
など
よろしくお願いします。
0014デフォルトの名無しさん
垢版 |
2018/11/23(金) 18:47:07.61ID:pYaMx0la
>>12
UsedRangeは、まさに「Excel上で利用されている範囲」になるので、ちょっと違う。

探しているのは、(WordとかPowerpointとか) 「被貼付側から見えている範囲」。
コピペを行うときにExcel上で範囲指定してる、まさにその範囲の情報が欲しいのです。
『広い範囲が使われているシート(埋め込みオブジェクト)の一部分だけが表示されている時、
 その表示部分を特定する』がやりたいの。
0015デフォルトの名無しさん
垢版 |
2018/11/23(金) 20:29:14.68ID:SJrbhhQk
>>13
3つパラメータがあるならそもそも3つのセルで管理すればいいんじゃないかと思うが、区切る回数も動的にしたいのかな?

パラメーター記述用のセルに5,4,2と入力しておいて、コード内でSplit関数を使いそのセルの値をカンマ区切りで配列化するのが普通かな

そうやって得たString配列の要素全てをCIntで型変換してInteger配列に入れ直せば、TextFileFixedColumnWidthsプロパティに代入できる
0018デフォルトの名無しさん
垢版 |
2018/11/26(月) 18:21:38.61ID:jE4mmGCd
ユーザーフォームのボタンでExcel以外のファイルを開くのにShell.Execute使ったんだけど、ボタンを押しても何も反応しない

CreateObject("Shell.Application").ShellExecute "c:\test\test.pdf"
0021デフォルトの名無しさん
垢版 |
2018/11/26(月) 20:06:27.80ID:c8QT25Tm
検証ありがとう!
ちな標準モジュールに書くと普通に動く。
どうもユーザーフォームに書くとダメみたい
0023デフォルトの名無しさん
垢版 |
2018/11/26(月) 22:08:01.92ID:sSO4v+r+
ユーザーフォーム作ってボタン配置してボタンのOnClickにコード書いたけど問題ない
0024デフォルトの名無しさん
垢版 |
2018/11/26(月) 22:25:28.75ID:c8QT25Tm
みんなマジか〜
環境は2010、2007ともにダメだった。
明日2016で試してみる。
ちなみにパスがフォルダ指定までなら動く。
もう意味わからん
0025デフォルトの名無しさん
垢版 |
2018/11/26(月) 22:57:14.49ID:sSO4v+r+
>>24
もしかしてpdfをダブルクリックした時に「このファイルを開くアプリ」の選択メニューが出てない?
0026デフォルトの名無しさん
垢版 |
2018/11/27(火) 08:58:52.14ID:TmwvOLJp
>>25
すまぬすまぬ。実は開かないのは.xlsxや.xls。
さっきやったら.txtや.bmpに書き換えるとちゃんと動いた。関連付けがおかしいかと思ったけどファイルダブルクリックでexcelファイルは開く。
0029デフォルトの名無しさん
垢版 |
2018/11/27(火) 21:03:19.26ID:JHhXTC3j
>>26
VISTA32ビットのEXCEL2007で再現した
ちなみにブレークポイントはってステップインさせたらちゃんと動いた
0030デフォルトの名無しさん
垢版 |
2018/11/28(水) 21:03:32.22ID:btdWGy6U
切り取り・コピーしようとしたら「クリップボードを開くことが」と表示されました 前までは正常に出来てたのに急にあんなになるなんて
どうしたらなおるんですか

原因不明の謎の症状
003130
垢版 |
2018/11/28(水) 21:11:36.27ID:btdWGy6U
>>30のところ、再起動したら直りました
自己解決
0032デフォルトの名無しさん
垢版 |
2018/11/28(水) 21:55:41.99ID:6iHSQiFE
WorksheetFunctionを使うと遅くなると聞きました。セルで計算して取得したほうがいいですか?
0034デフォルトの名無しさん
垢版 |
2018/11/28(水) 23:27:06.65ID:6iHSQiFE
>>33
ありがとうございます
0035デフォルトの名無しさん
垢版 |
2018/11/30(金) 08:07:23.94ID:yuW+a+er
workbook.Aのマクロから、workbook.Bのマクロパスワードを解除できますか?
*パスワードは分かっています
**windows10 / excel 2016

同じパスワードをかけた大量のファイルのマクロパスワード解除が必要になった為
0037デフォルトの名無しさん
垢版 |
2018/11/30(金) 08:53:39.83ID:yuW+a+er
>>36
ありがとうございます。

VBAでsendkeyでパスワード入れたいのですが、プロジェクトエクスプローラーのウィンドウで、目的のworkbook.Bを選択してパスワードウィンドウを開く事がうまくできないところです。
0038デフォルトの名無しさん
垢版 |
2018/11/30(金) 09:06:54.20ID:cHj05URw
>>37
いや、Sendkeysは絶対使っちゃいかんものNo.1だろ。
制御出来ないからな。
わかってて一過性のプログラムで使う以外に使うことは無い。
0042デフォルトの名無しさん
垢版 |
2018/11/30(金) 18:57:50.86ID:cHj05URw
そもそもマクロパスワ―ドってことはVBEを弄ることになるから普通はセキュリティ設定に引っかかる。

VBAでVBEを弄れる設定になってるなら、参照設定でVisualBasic for Applications Extencibilityを追加して頑張ることになるわけだけどセキュリティ皆無となって危険だぞ。

それにそのコードがウィルス判定されるかも。
0043デフォルトの名無しさん
垢版 |
2018/11/30(金) 19:30:48.61ID:D2Lo7Qd2
>>41
この質問者が「解除」という言葉で言いたいのは、パスワードなしのファイルとしてファイルを再保存することじゃなくて、ただ単に読み取りパスワード付のファイルを普通に実行することだと思うぞ
Sendkeysとか恐ろしいことを上で言ってるので
004535
垢版 |
2018/12/01(土) 07:37:11.82ID:0dTVd6NK
>>43
マクロのロック解除です。

ワークブックと書いて混乱を招いてしまいました。
ファイルは開けます。

現状はマクロでVBAをアクティベートし、vbkeyで操作する方法で試してますが未だにうまく動かないです。
0046デフォルトの名無しさん
垢版 |
2018/12/01(土) 12:13:55.48ID:bMs1CWzL
>>45
VBAのsendkeyは不安定なので、vbsとかを経由しろとか聞いたことある気がする。ちょっと調べてみては?
004735
垢版 |
2018/12/01(土) 12:16:20.34ID:0dTVd6NK
>>46
ありがとうございます。
試してみます。
0048デフォルトの名無しさん
垢版 |
2018/12/01(土) 12:20:42.98ID:TS4bNkMJ
フォルダ内にある全てのtxtファイルをピボットテーブルで変換して一つのファイルに結合するにはどうしたら良いですか?
0052デフォルトの名無しさん
垢版 |
2018/12/01(土) 17:27:15.14ID:qC6lat5H
>>47
vbsとか経由でも駄目だろ。
何が駄目かと言うと入力したい所にピンポイントで入力するわけじゃ無いところ。
直前に入力したい所にフォーカスを当てるとか工夫してる人もいるけど根本的によろしく無いんだよ。
動かしてる時に別の何かをクリックしたりするとそっちに入力されちまう。

改めて確認するけどVBAがパスワード保護されてコ―ド編集出来ない状態になっている。
パスワードは分かっていて手動で解除出来るけどブックが大量で解除と再設定が大変という問題?
0053デフォルトの名無しさん
垢版 |
2018/12/01(土) 17:45:25.58ID:qC6lat5H
>>51
そのテキストファイルはどんなファイル?
データベースのデータのようなものなの?
その104万行というのは、そもそも全部必要なの?

全部必要じゃない、特にもし必要なのはごく一部というのだったら、テキストファイルとして開いて1行ずつ読み込んで、必要あるデータのみ抜き出すという方法が良いと思う。

全部必要だったらAccessを使うべきデータ量だな。
でも、そのデータをどんな風に扱いたいか分からないから一概には言えない。
005435
垢版 |
2018/12/01(土) 17:56:01.08ID:0dTVd6NK
>>52
おっしゃる通りです。
マクロで大量に作ったマクロパスワードが同じファイルのパスワードを解除し、マクロを消すプログラムを作りたいです。
マクロを消すプログラムはマクロパスワード無しのファイルに関しては全てうまく動いています。
またエクセルファイルにはパスワードはかけていません。

過去に作ったエクセルファイルは残したままマクロを全て消せとの指令で必要となっています。
0056デフォルトの名無しさん
垢版 |
2018/12/02(日) 12:24:29.74ID:RxJGbltM
そんな大量のデータ、一行ずつ読んでたら日が暮れるぞ。
バイナリモードで開いてメモリの許す半範囲で読んで、末尾の改行までを消すの繰り返して読み込んだ方が遥かに早いよ
0057デフォルトの名無しさん
垢版 |
2018/12/02(日) 13:35:42.09ID:QrHhUpeR
100万行越えのデータは、まず複数列、複数シートを使って読み込んでみれば?
内容によっては固まって何もできなくなる悪寒しかないけど
0058デフォルトの名無しさん
垢版 |
2018/12/02(日) 17:24:20.84ID:L8bj4c7S
100万行が大量か?
それはどんな100万行かによる。
100万個の改行だって100万行だ。
0060デフォルトの名無しさん
垢版 |
2018/12/02(日) 21:09:54.29ID:V0qE8100
ユーザーフォーム上のクリックボタンが、Tabで通過する分には何も起こらないのだけどカーソルキーで通過するとチェック入るのだけど、コード書いて制御するしかない?
0062デフォルトの名無しさん
垢版 |
2018/12/03(月) 00:04:08.66ID:X8MytAwB
EXCELのVBA使いたいのですが
どうやったら起動できますか?
最初からEXCELにソフト入ってるんですか?
0064デフォルトの名無しさん
垢版 |
2018/12/03(月) 07:02:37.21ID:F098t6Ls
>>61
すみません、チェックボックスでした
0066デフォルトの名無しさん
垢版 |
2018/12/03(月) 23:49:02.49ID:Ks+qj00w
フランス政府からマクロン消したら市民が泣いて喜ぶよね
ありがとうございます
0069デフォルトの名無しさん
垢版 |
2018/12/04(火) 09:00:31.20ID:F519qlgb
"ab","bc","c
d"
みたいなcsvがあり、これを処理速度重視で読み込みたいんですがなにかいい方法無いですかね
なんか配列操作で計算、集計して最後シート出力すると早いと思うので配列に入れたいんですが1行ずつの読み込みだとうまく行かずで困ってます
fsoで全文読んでも改行されてますし…
0070デフォルトの名無しさん
垢版 |
2018/12/04(火) 09:15:39.52ID:TjlcF2tR
>>69
めんどそう
そんなんじゃ " のエスケープとかも考慮しなきゃいけないんでしょ?

だけど気合い入れてアルゴリズムごりごり実装するのを勧める
0071デフォルトの名無しさん
垢版 |
2018/12/04(火) 09:18:52.95ID:FU2ewWox
>>69
ボトルネックがFile I/Oならバイナリで全部読んでコンマでsplit
ただし文字列変数の限界は2GBなのでファイルサイズに注意
0072デフォルトの名無しさん
垢版 |
2018/12/04(火) 12:54:59.46ID:HOLQGFa9
どうでも良いけど1レコードの定義をちゃんとしないと膨大なカラムの1レコードデータになっちまうぞ。

バイナリ読み込みでやるのは確かに早いんだが、そこを気にする程のデータ量なのかなあ。
この間の100万行デ―タもサンプル作って読み込んだら10秒とかだったぞ。
0073デフォルトの名無しさん
垢版 |
2018/12/04(火) 13:26:11.27ID:F519qlgb
全文読んだ後にレコード単位に分けてカンマ区切りで分けてーをしっかりアルゴリズム書くて感じですかね
そこそこ面倒臭いですねこれ
0074デフォルトの名無しさん
垢版 |
2018/12/04(火) 13:31:22.51ID:nDNFtNox
セルコピーでValudatonの中身までコピーする方法ってありますか?
愚直にコピーすると設定したプルダウン情報が消えてしまいます
0077デフォルトの名無しさん
垢版 |
2018/12/04(火) 23:45:07.95ID:foGY0MAA
外部のExcelマクロを呼び出し、その処理の中でMsgBoxが表示された場合、それを呼び出し元で認識する方法はありますか?
Msgboxを操作したいとかではなく、表示されたということがわかればいいです
0079デフォルトの名無しさん
垢版 |
2018/12/05(水) 08:11:01.31ID:j7wcFAGs
>>77
外部のExcelマクロというのが別プロセスのExcel上で動いてるマクロという意味なら方法はある。

内部でもExcelが落ちる可能性を承知するならある。
0080デフォルトの名無しさん
垢版 |
2018/12/05(水) 18:51:03.67ID:cxhucZsa
>>78,79
APIでの実現方法がよくわからなかったので、呼び出されるマクロに認識用のモジュールを追加することにしました
ありがとうございました
0081デフォルトの名無しさん
垢版 |
2018/12/05(水) 22:21:05.50ID:LTu8VXCT
>>76
自己レス
adodbも面倒臭かったacces無いんでcsvのデータ型判定の為にschma.iniみたいなの作る必要あったり…
元の文字コードとかbomとか考慮しないといけないけどworkbookのopen使ってマズかったらエラー出した方が早かったかも
0084デフォルトの名無しさん
垢版 |
2018/12/07(金) 08:39:50.57ID:a2+Odvtp
普通にOpenしてLine Inputした方が速くて簡単だったんじゃない?
と思ったら文字コード?BOM?

最初の質問は何だったのか。
文字コード考えなきゃならんのなら、
最初から選択が限られるだろ。
0088デフォルトの名無しさん
垢版 |
2018/12/08(土) 10:23:21.41ID:qbpmcynn
この手のことはだいたい同じ事を先に考えている人がいるから、
参考にするなりDLして利用するなりすれば、やりたいことは秒で完成させられる
理解するのはまた別で、ちゃんとソース読めな話になるけど。

たとえば、「VBA CSV BAS」でググって即出るヤツだとこんなとか。
ttps://github.com/sdkn104/VBA-CSV
0089デフォルトの名無しさん
垢版 |
2018/12/08(土) 11:33:49.23ID:KOgxZmAl
Range("C1:C10") = "=A1+B1"
とセルに式を埋め込むと自動で A2+B2、A3+B3 とやってくれますが
WorksheetFunctionで上と同じ事を1行で簡単に書くことってできますか?
うまい方法思いつかないのでいつも 関数埋め込み→値貼り付けで式を消す とやってます
WorksheetFunctionのループは式の埋め込みより遅かったです
0090デフォルトの名無しさん
垢版 |
2018/12/08(土) 15:59:33.39ID:/nD5g8zA
>>89
わざわざVBAを使って、最後に値貼り付けするぐらいなら、俺ならVBAで計算して結果だけ書き込む
For r = 1 To 10
  cells(r, 3) = cells(r, 1) + cells(r, 2)
Next

式がワークシート関数バリバリでVBAで再現するのが面倒なら、最後の値貼り付けをVBAで書く
set r = Range("C1:C10")
r.Copy
r.PasteSpecial Paste:=xlPasteValues
0094デフォルトの名無しさん
垢版 |
2018/12/08(土) 19:19:47.59ID:I01ncySI
ワークシートか配列へ代入したり配列をワークシートに直接貼り付けたりって技いつ頃から一般的になった?
なんか20年前からやってたという人がいて本当かよと思ったんだが。
0095デフォルトの名無しさん
垢版 |
2018/12/08(土) 20:28:45.94ID:/nD5g8zA
>>94
特定の個人が知ってたのと、一般的かどうかなんて全然関係ないじゃん
ExcelもVBAも20年以上前からあるんだし、知ってても不思議じゃない
0096デフォルトの名無しさん
垢版 |
2018/12/08(土) 20:53:05.77ID:dkUbxCqg
>>95
ああごめんなさい
「そんなの20年前から一般的だったよ」みたいなニュアンスで言われたんですよ。
自分としてはここ2〜3年で知られた新しめのテクニックだと思ってたんで、「マジか?」と。
0097デフォルトの名無しさん
垢版 |
2018/12/08(土) 21:00:40.14ID:/nD5g8zA
20年前のことは知らんけど、さすがにここ2〜3年てことはない
もっと昔から知られてた
0098デフォルトの名無しさん
垢版 |
2018/12/08(土) 21:04:04.90ID:Ac8D4eVv
>>97
ですね。

そもそもいちいちセル移動して操作なんて、トロくさくてやってられん。

Google Apps Scriptなんかでも配列で操作なんて、速度稼ぐ為に普通に使う枯れたテクニック。

あまりにもセル操作という初歩だけが広まった弊害だね。
0099デフォルトの名無しさん
垢版 |
2018/12/08(土) 21:07:43.53ID:KOgxZmAl
A いつも自分がやっているやり方
Range("C1:C10000") = "=A1+B1"
Range("C1:C10000").Copy
Range("C1:C10000").PasteSpecial Paste:=xlPasteValues

B 90案
For r = 1 To 10000
Cells(r, 3) = Cells(r, 1) + Cells(r, 2)
Next

C 92案
Range("C1:C10000").Formula = "=A1+B1"
Range("C1:C10000").Value = Range("C1:C10000").Value

D 配列 
計算元の配列= Range("A1:B10000")
For i = 1 To 10000
計算結果格納配列(i, 0) = 計算元の配列(i, 1) + 計算元の配列(i, 2)
Next i
Range("C1:C10000").Value = ans

E 半分配列
For r = 1 To 10000
計算結果格納配列(r, 0) = Cells(r, 1) + Cells(r, 2)
Next
Range("C1:C10000").Value = ans

A0.035
B0.265
C0.031
D0.015
E0.062
0100デフォルトの名無しさん
垢版 |
2018/12/08(土) 21:09:26.57ID:KOgxZmAl
時間(秒)
A 0.035
B 0.265
C 0.031
D 0.015
E 0.062

配列は頭がごちゃごちゃして苦手なんだけどやっぱ配列かなー
いつものは書くのが楽だけど見栄えがあんま良くない
Range("C1:C10000") = "=A1+B1"の部分を数式残さずWorksheetFunction一括で書けないかなーと思ってた
みなさんどうも
0104デフォルトの名無しさん
垢版 |
2018/12/08(土) 23:21:36.60ID:Q+l9Re6e
>>102
あーなんかいいのがあったはずだと思っていたがEvaluateかーー
くやしいから
Range("c1:c10") = [a1:a10+b1:b10]
0105デフォルトの名無しさん
垢版 |
2018/12/09(日) 07:19:28.94ID:Pe0BknB8
データを蓄積、変更して管理するシステムをVBAで作るとして、普通、データとプログラムを分けるよな?
0106デフォルトの名無しさん
垢版 |
2018/12/09(日) 08:55:53.41ID:BPsncq85
>>105
分けるけど、わざわざそういう質問するってことは現状データをBookに蓄積先してる状況なのかな?
入出力画面をExcel & VBAで作って、データはDBに蓄積するってのがこの場合の模範解答だと思うが。
0107デフォルトの名無しさん
垢版 |
2018/12/09(日) 21:01:53.98ID:F2zjByp1
>>94
配列数式ってのは大昔からあったな。エクセルはVBA書かないと標準機能ではクロス集計が
面倒くさいダメダメ君だった。「条件付き合計式ウィザード」なんていう冴えないシロモノに失望して
0108デフォルトの名無しさん
垢版 |
2018/12/10(月) 12:24:50.65ID:F1/sCBz9
>>96
おまえが2〜3年前に知ったからってなんで勝手に一般化して皆そうだと思うんだよ
0109デフォルトの名無しさん
垢版 |
2018/12/11(火) 08:00:45.59ID:VzVuR/sH
みんな、落ち着いて聞いてくれ。
間も無く2019年だ。2019だぞ?
配列に突っ込んで一括処理するのは、少なくともEXCEL98から使われてきた手法だ。
既に20年経過してやがる。
0111デフォルトの名無しさん
垢版 |
2018/12/11(火) 08:41:05.40ID:mN+cBX2v
空白行が複数ある範囲から、空白行を除いて配列に取り込むのはどうやるのが効率がいい?
条件
・行内は完全に空白かそうでないかで中途半端にデータが入ってるところはなし
・空白行を除いたデータ総数は300前後で最大で16程度に分割されている
・空白行は連続することもある

一行一行調べるより、データの塊の上下の行番号を調べるのが正解な気がするんだけど
0112デフォルトの名無しさん
垢版 |
2018/12/11(火) 08:55:39.61ID:OAAPkOpt
>>111
そのデータがワークシート上にあるんなら、オートフィルターかければ?
VBAで1行で書けるぞ
0113デフォルトの名無しさん
垢版 |
2018/12/11(火) 09:27:01.56ID:zUaOIyWC
>>111
> データの塊の上下の行番号を調べる
それ一行一行調べないとわからないんじゃね?

普通に一気に配列に読み込んで空白行を詰める処理を入れればいいかと

>>112
フィルタ掛けた結果を一気に配列に読み込むってできたっけ?
0114デフォルトの名無しさん
垢版 |
2018/12/11(火) 11:43:07.63ID:U/EFAptV
>>109
fjだかのExcel会議室では配列がホットな話題になったよ
t.Tanaka氏とかもコテハンで議論に参加してさ
なつかしいなあ
0117デフォルトの名無しさん
垢版 |
2018/12/11(火) 14:13:54.04ID:mN+cBX2v
>>113
下からCtrl↑で止まったセルの行番号を取得するを繰り返せば毎行調べなくて済む

オートフィルターで絞った結果を可視セルだけ選択しても、取り込まれるのは左上だけになるから無理だね
一行一行調べる羽目になる
やるなら作業シート作ってコピペしてから取り込むんだけだ、それはやりたくない訳で
0118デフォルトの名無しさん
垢版 |
2018/12/11(火) 14:39:45.96ID:zUaOIyWC
>>117
> 下からCtrl↑で止まったセルの行番号を取得するを繰り返せば毎行調べなくて済む
それはそうだけど速いかどうかは状況次第だね
>>112 > VBAで1行で書けるぞ
って方法があるみたいなことを書いてるので聞いただけ
0119デフォルトの名無しさん
垢版 |
2018/12/11(火) 20:47:54.18ID:r2my7w49
>>118
元々、どういう考えで>>112が言ったのかは分からんけど、配列に取り込むまでを1行って言ってたのかなあ。
オートフィルタをかけるコードが1行という意味じゃないかな。

だからといって、そこからどうするんだ?とは思うけどさ。
0120デフォルトの名無しさん
垢版 |
2018/12/11(火) 21:00:32.57ID:zUaOIyWC
>>119
元々は
>>111
> 空白行が複数ある範囲から、空白行を除いて配列に取り込むのはどうやるのが効率がいい?
なので、フィルターだけの事を言われても…
0121デフォルトの名無しさん
垢版 |
2018/12/11(火) 21:34:59.21ID:OAAPkOpt
クリップボード経由でデータを一気に取得、オートフィルタにも対応
※最小設定FM20.DLLが必要
Sub Macro1()
  ActiveSheet.Range("A1:C10").Copy
  With New MSForms.DataObject
    .GetFromClipboard
    str = .GetText
  End With
  MsgBox str
End Sub
0123デフォルトの名無しさん
垢版 |
2018/12/11(火) 21:40:19.21ID:r2my7w49
>>120
そりゃそうだけど、>>112を読む限り1行ってのはオートフィルタだけについて言ってるように受け取る方が自然じゃん。
だから、そこからどうするんだという感想になるわけ。
そもそも>>112は配列に取り込むことなんて想定してないかもしれない。
空白があって見にくいのを何とかしたいんだろうとか、勝手に先読みして配列に取り込むという元のお題をほったらかしとか。

そもそも300行程度のデータならどんな方法でも良いんじゃないかと思う。
そんなんで思い悩むのは無駄だよ。
0126デフォルトの名無しさん
垢版 |
2018/12/11(火) 22:53:52.01ID:8DZhL+mg
それこそVariant型配列にでもぶっ込めば手っ取り早いし処理もそれなりに速そう
0127デフォルトの名無しさん
垢版 |
2018/12/11(火) 23:25:52.21ID:mBAHWwo2
UI Automationのレイトバインドって、どうやればいいんでしょう?
レジストリ調べてもクラスID出てこないし・・。
0133デフォルトの名無しさん
垢版 |
2018/12/12(水) 12:29:40.76ID:4PEjGm8G
>>132
どこから日本語とか出てくるんだろう?
日本語ができないという自覚はあるってことなのか? w
0134デフォルトの名無しさん
垢版 |
2018/12/12(水) 19:01:00.09ID:pifCGzoS
グラフ作成マクロ作ったんだけど結構面倒くさくない?慣れの問題?
特に細かなフォーマットとか云々がめんどい
それに出力シートのセルいじられて(1行目削除)出力セルがズレたせいでフォーマット崩れたとか言われて頭痛いんだけどどう対処するのが良いのこれ
0135デフォルトの名無しさん
垢版 |
2018/12/12(水) 20:01:12.49ID:K6Ng+wlm
使用方法まとめたドキュメント作ってないなら作成者が悪い。
作ってるなら碌に読まないで文句いってる使用者が悪い。
作り方次第で解決するとは思うが。
0137デフォルトの名無しさん
垢版 |
2018/12/12(水) 22:32:28.50ID:3KU1fzXl
>>134
逃げる。
いや、マジで。
フォーマットを壊す人ような人の依頼を受けると碌なことない。
どうしてもやらなきゃダメなら、
ちょっとでも崩れたら、エラーメッセージが出るようにする。
あなた壊しましたね。直さないと出力できませんよ的な。
0141デフォルトの名無しさん
垢版 |
2018/12/13(木) 12:28:02.78ID:yiVhwKQv
>>140
> 人の話が理解出来てないから
既にガイジかよって指摘されてるだろ w

そもそも配列に取り込むという要件明記されてるのにオートフィルターなら1行で書けるとか頓珍漢にも程がある
0143デフォルトの名無しさん
垢版 |
2018/12/13(木) 22:36:46.58ID:X2R1LlWK
CreateObject("Excel.Application").ExecuteExcel4Macro("CALL(DLL, 名前, ""JJ"", variant型の配列)")

これにvariant型の配列を渡す場合はどうすればいい?
OとかKとか入れてもダメなんですけど。
普通に呼べとか言わないで。
0146デフォルトの名無しさん
垢版 |
2018/12/14(金) 09:13:11.97ID:GTuXeJsU
>>141
想像した通りだ。
日本語勉強しような。

俺は>>112ではないという基本的なことも無視かね?
>>112には全く賛同出来ないが、かといって>>112は君の要件に対して1行で書けると言っているとは限らないと読み取れると言っている。

1行で書けるというのは、その直前のオートフィルタをかけるという部分を受けてのものとも読み取れるのが日本語の解釈だ。
もちろん、君の要件に対してのものというのを全面的に否定するものでもない。
どっちにも受け取れるのが日本語の曖昧さだ。
0147デフォルトの名無しさん
垢版 |
2018/12/14(金) 12:34:42.08ID:8Omm9ucp
>>146
> >>112には全く賛同出来ないが、かといって>>112は君の要件に対して1行で書けると言っているとは限らないと読み取れると言っている。
別に俺が出した要件じゃねーけどな
敵は1人に見える病気かな? w
フィルター云々はいいとして要件にそぐわない事書いて意味あるんか?
って話な
フィルター掛けときゃすげー楽になると言うならまだしも>>117とか恥の上塗りにしかなってないだろ
ここまで説明しないとダメなの?
0148デフォルトの名無しさん
垢版 |
2018/12/14(金) 19:29:44.65ID:GTuXeJsU
>>147
>別に俺が出した要件じゃねーけどな
全く、馬鹿らしいがそんなことは想定済みだ。
こういう場合、要件出したのが君だろうが違かろうが「君の要件」と書いておけば通じるという想定だ。
それまでの君の発言を見て要件出した奴かどうかなんて調べるのがめんどうということだ。

>フィルター云々はいいとして要件にそぐわない事書いて意味あるんか?
って話な
そんなことは要件出した奴が判断することだし、俺はそんな所にレスしたわけじゃない。
単純に1行が要件そのものに対してとは限らんと言ってる。
それに「VBAで1行で書けるぞ」が要件のことを言っていなくてもトータルで要件にそぐうこともあり得る。
フィルタのコードに1行、他に何十行かで要件を満たしているかもしれないわけだ。

>フィルター掛けときゃすげー楽になると言うならまだしも>>117とか恥の上塗りにしかなってないだろ
>>112=>>117とは限らん、というか違うと思うわけだが、イコールとは限らない以上、>>112の意図が「フィルター掛けときゃすげー楽になる」という可能性を排除できない。
つまり、君の言う「まだしも」の可能性が残っている。
それに、俺が書いたように>>112が要件にそぐわないものを出した可能性もある。
したがって、「1行で書ける」というのが要件そのものに対してではなくフィルタをがける処理のみに対してである可能性は十分ある。
これは日本語でのやり取りなら十分あり得ることだ。
0149デフォルトの名無しさん
垢版 |
2018/12/14(金) 19:35:29.16ID:GTuXeJsU
>>146
>ここまで説明しないとダメなの?

ちなみに、君のその説明、一番最初から分かってるから。
その君の主張が甘いんじゃねということを言ってるのが最初からの俺の主張だぞ。
0151デフォルトの名無しさん
垢版 |
2018/12/14(金) 20:29:48.28ID:8Omm9ucp
>>148
> つまり、君の言う「まだしも」の可能性が残っている。
なら早く出せよ w
出せない時点で中身のない長文乙
にしかならんよ
0152デフォルトの名無しさん
垢版 |
2018/12/14(金) 21:50:27.31ID:GTuXeJsU
>>151
???
出すのは>>112であって俺では無いし、それにこの議論が始まるまでの話だから今さら出す、出さない関係無く>>118のの時点で1行が要件に対してと決めつけたのは間違いなんだが。
0154デフォルトの名無しさん
垢版 |
2018/12/14(金) 22:48:04.67ID:yDEitqc6
>>152
お前に出せないのはわかってるよ w
出せないのに
> つまり、君の言う「まだしも」の可能性が残っている。
とかアホでしょ?
って話な

そもそも>>118どころか>>113の時点で
> フィルタ掛けた結果を一気に配列に読み込むってできたっけ?
>>112がおかしいことを指摘してる
0155デフォルトの名無しさん
垢版 |
2018/12/14(金) 23:06:35.41ID:GTuXeJsU
>>154
???
まだ分かって無いのか?

>>112の意図がまだ分かっていない時点では>>112が正しい可能性が残っていると言っている。
残っている以上、>>112をおかしいと決めつけたお前がおかしいということだ。

出す必要なんて最初からないんだよ。
0156デフォルトの名無しさん
垢版 |
2018/12/14(金) 23:13:37.60ID:GTuXeJsU
>>154
>そもそも>>118どころか>>113の時点で
> フィルタ掛けた結果を一気に配列に読み込むってできたっけ?
>>112がおかしいことを指摘してる

>>112がフィルタをかけることだけについて1行と言っているのなら―気に読み込まなくても>>112は正しい可能性が残る。

つまり、お前の指摘は間違っていることになる。
>>112がおかしいというのなら正しい可能性が残らないように指摘しなければならない。
0158デフォルトの名無しさん
垢版 |
2018/12/15(土) 03:21:06.31ID:WK8Eb1ay
>>157
なんだ、反論できんのか?
だったら何も言うことは無い。

まともに日本語が理解出来ないのは哀れだねえ。
0159デフォルトの名無しさん
垢版 |
2018/12/15(土) 07:16:14.22ID:lJT07BrA
>>155
> >>112が正しい可能性が残っていると言っている。
バカなの?
>>112の内容が間違ってるとか言う話じゃなくて「頓珍漢」だと言ってるの
まあ>>117はさらに頓珍漢だけどな

> まともに日本語が理解出来ないのは哀れだねえ。
ブーメラン過ぎる w
0163デフォルトの名無しさん
垢版 |
2018/12/15(土) 10:31:11.19ID:WK8Eb1ay
だいたい、俺の意見はお前と近いんだよ。
お前みたいな甘さが無いだけで。
だから「そこからどうするんだ」という発言が出てる。
頓珍漢だろうとは思ってるの。
確定してないから決めつけてないだけで。

だいいち、頓珍漢だとしてもお前の決めつけが間違ってるのは変わらないだろう。
頓珍漢だなんてのは反論になってないな。
だから日本語を勉強しようなという話になる。
0164デフォルトの名無しさん
垢版 |
2018/12/15(土) 10:57:25.02ID:0SCAvoVT
>>162-163
頓珍漢の根拠まで書いてあるのに何を言ってるんだこのアホは w

>> 空白行が複数ある範囲から、空白行を除いて配列に取り込むのはどうやるのが効率がいい?
> なので、フィルターだけの事を言われても…
0165デフォルトの名無しさん
垢版 |
2018/12/15(土) 12:42:24.61ID:lWJaBIbu
いつまでネコパンチ打ち合うつもりやねんおまえら
0167デフォルトの名無しさん
垢版 |
2018/12/15(土) 15:45:43.01ID:n3n4s8WM
>>166
じゃ、ひとつ

Excel VBAで、Google OAuth認証などをやってるが、Clien_IDやSecretはコード中に書くとしても、取得したAuth CodeやAccess_Token、Refresh_Tokenなどはどこに安全に格納出来るか?

.NETアプリやAccessのようにappconfigや仕舞えるテーブルが無いので、皆どうしているのかね?
0168デフォルトの名無しさん
垢版 |
2018/12/15(土) 15:53:11.37ID:mgmsvi+C
>>167
そんなものをVBAで作らない
もしどうしても必要があるなら外部のコンソールアプリを呼び出す形にする
0170デフォルトの名無しさん
垢版 |
2018/12/15(土) 16:17:18.77ID:U8VjJ+lV
app.configとかテーブルとかが安全だと思ってるなら、
セルに書いといて保存でもテキストファイル書き出しでも好きにすればいいんじゃね
0171デフォルトの名無しさん
垢版 |
2018/12/15(土) 16:44:01.14ID:2qRdp2bE
>>167
> appconfigや仕舞えるテーブル
そんなのでいいなら適当なファイルとかブックのドキュメントプロパティに入れときゃいいんじゃね?
0172デフォルトの名無しさん
垢版 |
2018/12/15(土) 16:57:49.47ID:WK8Eb1ay
>>164
バーカ
>>112の書き方ではフィルタだけとは限らない。
>>112だけで終わりとは限らない書き方だろうが。
あの書き方では、その後に何かあるか、それとも後は察しろという風にも読み取れる。
だから俺は「そこからどうするんだ」という発言になる。
たぶん頓珍漢だろうけど、そこからどうするか聞いてからじゃないと確定出来ないからだ。

それに頓珍漢で逃げたいかもしれんが、頓珍漢かどうかは反論にならない。
頓珍漢だとしても1行が要件全体にかかってると決めつけたお前の解釈が甘いことには変わりが無い。
0173デフォルトの名無しさん
垢版 |
2018/12/15(土) 18:04:57.01ID:lJT07BrA
お前がどう思うかなんてどうでもいい
>>112>>111の要件を満たしてない頓珍漢なレスであることに変わりない
まあ、続きのつもりかどうかは知らんが>>117みたいな斜め上のレスをするアホもいるけどな w
0174デフォルトの名無しさん
垢版 |
2018/12/15(土) 18:13:07.03ID:zDjD9XpS
>>168-171
結局、お前らがここで、くだらない議論してる間抜けを招いてる元凶ってにはよくわかったよ。

まともな回答もできん、技術力ないアホってのもなwww
0175デフォルトの名無しさん
垢版 |
2018/12/15(土) 18:28:50.08ID:lJT07BrA
> 元凶ってにはよくわかったよ。
煽ろうとしてカミカミとか恥ずかしすぎるww
0176デフォルトの名無しさん
垢版 |
2018/12/15(土) 18:33:30.22ID:WK8Eb1ay
>>173
つまりお前の日本語解釈能力の低いことが確定ということだ。

甘いねえ。
>>117>>112の後だ。
お前の指摘の後でもある。
>>117の存在はお前の頓珍漢だという決めつけを補強しない。
なぜなら>>117より以前にお前は決めつけをしてるんだからな。

因みに俺は>>117じゃないんで別に>>117が頓珍漢でも全くかまわん。
0177デフォルトの名無しさん
垢版 |
2018/12/15(土) 18:45:26.64ID:lJT07BrA
>>176
> つまりお前の日本語解釈能力の低いことが確定ということだ。
根拠のない勝利宣言 w
低能にありがちな行動
0179デフォルトの名無しさん
垢版 |
2018/12/15(土) 20:42:55.07ID:NkuNHsZU
病気の人に失礼だろそれは
0180デフォルトの名無しさん
垢版 |
2018/12/15(土) 22:10:19.68ID:WK8Eb1ay
>>177
根拠?
既に何度も示してお前が反論出来なくなっているわけだが。

>>112は要件全てではなくオートフィルタのみについて1行と言っていた可能性がある時点でお前の決めつけは間違っている。

頓珍漢かどうかは関係ない。
>>112が頓珍漢でもお前は間違ってる。
0181デフォルトの名無しさん
垢版 |
2018/12/15(土) 22:12:08.06ID:WK8Eb1ay
何故、お前が間違った決めつけをしたのか?
それはおまえの日本語解釈能力が低いからだ。
0183デフォルトの名無しさん
垢版 |
2018/12/15(土) 23:20:05.72ID:lJT07BrA
>>180-181
> >>112は要件全てではなくオートフィルタのみについて1行と言っていた
それが頓珍漢だって言ってるのに w
続きがあるかもしれないから頓珍漢じゃない可能性があるとかバカかよ
そんなこと言い出したらなんとでも言えるわ
0185デフォルトの名無しさん
垢版 |
2018/12/16(日) 15:01:54.86ID:wWzCJETE
>>183
バカ?
頓珍漢でもお前の間違いは変わらんと言ってる。
反論出来ないからといって見当違いばかりだな。
0186デフォルトの名無しさん
垢版 |
2018/12/16(日) 15:15:50.29ID:Waa1ZwFh
この罵り合いって一人で自演やってるの?
それとも馬鹿が2人もいるの?
0187デフォルトの名無しさん
垢版 |
2018/12/16(日) 15:21:47.19ID:7UXd2BE0
もう言ってることが無茶苦茶
> 反論出来ないからといって見当違いばかりだな。
またブーメランかよ w
0189デフォルトの名無しさん
垢版 |
2018/12/16(日) 15:34:57.02ID:wWzCJETE
>>187
>>112はオートフィルタのみについて1行と言った可能性があるのに要件全てに対してだと決めつけたのは間違いであり、>>112が頓珍漢かどうかに関係なく>>113の発言は思慮が浅いと思うんだが、それについては反論出来ないということでOK?
0190デフォルトの名無しさん
垢版 |
2018/12/16(日) 15:38:49.65ID:wWzCJETE
見当違いなのは、頓珍漢かどうかに関係なく間違いだと言ってるのに、いつまでたっても頓珍漢で押し通そうとしてるからなんだが。
0192デフォルトの名無しさん
垢版 |
2018/12/16(日) 16:18:10.73ID:wWzCJETE
>>191
そんなことは無い。
日本語には2通りの解釈が出来る場合があって、>>112は明確にその場合だ。
どんな場合でも複数の解釈が出来るとは限らんし、普通に複数の解釈が出来る場合に決めつけをすることは無い。

で、お前は間違えを認めるのか?
0193デフォルトの名無しさん
垢版 |
2018/12/16(日) 16:23:40.16ID:7UXd2BE0
>>192
2通りの解釈?
後付していいなら2通りどころかなんとでも解釈できるように書けるぞ

> そのデータがワークシート上にあるんなら、オートフィルターかければ?
> VBAで1行で書けるぞ
でも、〇〇した方がもっといいけどな

ってか? w
0194デフォルトの名無しさん
垢版 |
2018/12/16(日) 18:04:23.80ID:wWzCJETE
>>193
???
本当に日本語ダメなんだな。
後付けなんてしてない。
>>112のみで2通りに解釈できるんだが。
それを理解出来ずに見当違いの言い訳するから「日本語勉強しような」と言われるんだ。
0197デフォルトの名無しさん
垢版 |
2018/12/16(日) 19:12:31.97ID:7UXd2BE0
>>196
> >>112だけで終わりとは限らない書き方だろうが。
とか書いてたアホとは他人なの?
なら黙っててね
それとも恥ずかしくてごまかそうと必死なのかな? ww
0198デフォルトの名無しさん
垢版 |
2018/12/16(日) 19:15:43.10ID:wWzCJETE
>>197
まず、お前が間違ってたのを認めるかどうかが先だ。
お前の間違いは1つだけでは無いので話を変えて逃げようとしても無駄だ。

後付け云々についてはその後だ。
0199デフォルトの名無しさん
垢版 |
2018/12/16(日) 19:18:42.74ID:wWzCJETE
悔しいのは分からんでも無いが、客観的に見て自分に間違いがあるなら認めような。
間違いが無いなら別の話に持ってこうとせずに真正面から反論すべきだな。
0200デフォルトの名無しさん
垢版 |
2018/12/16(日) 19:29:40.20ID:7UXd2BE0
>>198-199
ごまかそうと必死すぎて笑える
まずは
> >>112だけで終わりとは限らない書き方だろうが。
> とか書いてたアホとは他人なの?
に、答えなよ
0203デフォルトの名無しさん
垢版 |
2018/12/16(日) 23:06:44.08ID:jPkme8um
>>202
バー力。
頓珍漢でもお前は間違ってると言ってるだろ。
つまりお前はまだ何一つ反論をしていない。
お前が間違っているという俺の指摘に何ーつ反論していない。

このまま間違いを認めるのかねw
0204デフォルトの名無しさん
垢版 |
2018/12/16(日) 23:17:12.24ID:7UXd2BE0
>>203
> 頓珍漢でもお前は間違ってると言ってるだろ。
お前は何を言ってるんだよ、>>112が頓珍漢なら俺が正しいことになるんだが…
マジでバカすぎる w
0205デフォルトの名無しさん
垢版 |
2018/12/17(月) 03:10:52.43ID:Lv/9aVPQ
>>204
ならないんだが。
何度も言ってるのに無視かよ。
よっぽど頭が悪いんだな。

>>112はオートフィルタのみについて1行と言っている可能性がある以上、配列に読み込む部分を含めて1行と決めつけて解釈したお前は間違い。
それは頓珍漢なこととは別の問題だ。
0207デフォルトの名無しさん
垢版 |
2018/12/17(月) 07:18:53.33ID:QtVZQcqx
>>205-206
> >>112はオートフィルタのみについて1行と言っている可能性がある
だからそれが頓珍漢だって言ってるのに…
人の話を無視して論破されてる話を何度も繰り返すのは低能にありがちな行動だけどな w

> 物事をきちんと分けて考えられないのもこのバカの特徴だな。
ブーメラン乙
0210デフォルトの名無しさん
垢版 |
2018/12/17(月) 09:21:28.94ID:Lv/9aVPQ
頓珍漢でもお前は間違ってるんだよ。
全く反論になってないと言ってるだろうに。

>>112が頓珍漢では無い場合
→お前は間違ってる
>>112が頓珍漢な場合
→お前は間違ってる

お前の発言「だから>>112は頓珍漢なんだよ」

つまり、お前は間違ってる

日本語ワカリマスカ?
0211デフォルトの名無しさん
垢版 |
2018/12/17(月) 09:26:32.36ID:Lv/9aVPQ
>>209
冷静に見ればよっぽど悔しく見えるのは両方だ。
劣勢だからって同意を求めようとするな。
0212デフォルトの名無しさん
垢版 |
2018/12/17(月) 12:18:18.33ID:5M+6Ly1a
どっちも劣勢なんやからいい加減諦めろやw
0213デフォルトの名無しさん
垢版 |
2018/12/17(月) 12:22:59.36ID:QtVZQcqx
>>210
> >>112が頓珍漢な場合
> →お前は間違ってる
一体どういう思考回路なんだろ?
ガイジを装ってウヤムヤにしようと思ってるのかな?
そんなことしなくても既にガイジ並の思考能力しかないことはバレてますよ w

>>211
ごめんな、流石に俺は夜中の3時にレスするほど悔しくはないんだよ… w
0214デフォルトの名無しさん
垢版 |
2018/12/17(月) 12:32:00.75ID:Lv/9aVPQ
>>207
俺が物事をきちんと分けて考えられないというなら、何を分けて考えられなかったかを示す必要がある。
俺はお前が何を分けて考えられていなかったか示してるぞ。

適当にブ―メランなどと言っても根拠0じゃ何の説得力も無い。
0215デフォルトの名無しさん
垢版 |
2018/12/17(月) 12:35:07.44ID:Lv/9aVPQ
>>213
バーカ
頓珍漢だとしてもお前は2通りの解釈が出来なかっただろうが。

オートフィルタのみ1行(の可能性がある)なのにお前は要件全てだと勘違いして決めつけた。
0216デフォルトの名無しさん
垢版 |
2018/12/17(月) 12:38:15.60ID:Lv/9aVPQ
>>213
プッ。
この期に及んで悔しくないなどと言っても笑われるだけだぞ。
誰もそんな話信用しないわ。
0217デフォルトの名無しさん
垢版 |
2018/12/17(月) 19:29:53.15ID:QtVZQcqx
>>214-215
もうアホには何度言っても無駄なんだろうな w
2通りの解釈どころかその後に付け加えるなら何でもありあり
付け加えないなら>>111の要件を満たさない頓珍漢なレス
で、世間では普通は書いてもない事を付け加えて解釈なんてしない
(まあ一時話題になった忖度とかはあるけどな)
要するに>>112単体では頓珍漢なレスで確定なんだよ
オートフィルターが1行とか言われても、はあ?それがどうしたって話になるだけ

>>216
うんうん、君が夜中の3時にレスしてると言う「事実」があるだけだね w
0218デフォルトの名無しさん
垢版 |
2018/12/17(月) 20:17:28.92ID:Lv/9aVPQ
>>217
頓珍漢でもお前は間違ってると何度言っても、頓珍漢で押し通そうとするのが笑える。
>>112単体で2通りの解釈が出来ると言っても後付けすればなどと見当違いなことを言う。

この期に及んでも何ーつ反論していないバカ。
0219デフォルトの名無しさん
垢版 |
2018/12/17(月) 20:52:45.62ID:QtVZQcqx
>>218
> 頓珍漢でもお前は間違ってる
根拠も示せずに何度もほざかれても困るし

> >>112単体で2通りの解釈が出来る
解釈書いてみ
まさかこの期に及んでオートフィルターガーとか言うのはやめれくれよ

> この期に及んでも何ーつ反論していないバカ。
またブーメランかよ…
好きだねー w
0221デフォルトの名無しさん
垢版 |
2018/12/17(月) 21:34:11.65ID:Lv/9aVPQ
>>219
何度も書いてる。
1行はオ―トフィルタを掛けるコードが1行と解釈できる。

何度書いても理解出来ないバカ。
日本語に弱いから仕方ないのかねえ。

ハンバーグステーキを作ろうとしてる奴に「付け合わせのマッシュポテトはじゃかりこにお湯を注げば。
1分でできるぞ。」
と言った時、こいつの脳内ではハンバーグステーキが1分でできることになってしまうのだ。
0222デフォルトの名無しさん
垢版 |
2018/12/17(月) 22:41:30.96ID:yChZzMqc
>>221
> 1行はオ―トフィルタを掛けるコードが1行と解釈できる。
それがなんの意味もない頓珍漢なレスだ
って何度も書かれてるのに w

> 何度書いても理解出来ないバカ。
> 日本語に弱いから仕方ないのかねえ。
お前がな

> ハンバーグステーキを作ろうとしてる奴に「付け合わせのマッシュポテトはじゃかりこにお湯を注げば。
> 1分でできるぞ。」
> と言った時、こいつの脳内ではハンバーグステーキが1分でできることになってしまうのだ。
意味不明な例え乙
これぞ頓珍漢だな w
0223デフォルトの名無しさん
垢版 |
2018/12/17(月) 23:23:37.71ID:Lv/9aVPQ
バカは何度でもループする。

「頓珍漢でもお前は間違い。」に対しての反論が「頓珍漢だ」じゃ反論にならない。

救いようがない程のバカw
0225デフォルトの名無しさん
垢版 |
2018/12/17(月) 23:57:53.98ID:yChZzMqc
>>223
> バカは何度でもループする。
自覚はあるんだ w

>> 頓珍漢でもお前は間違ってる
> 根拠も示せずに何度もほざかれても困るし
は、ガン無視だし
どう反論しろと…
0226デフォルトの名無しさん
垢版 |
2018/12/17(月) 23:59:31.81ID:yChZzMqc
ハンバーグ作ろうとしてる奴にドヤ顔でマッシュポテトの作り方語るバカがなにかほざいてるな w
0228デフォルトの名無しさん
垢版 |
2018/12/18(火) 06:46:14.46ID:mQMHvFDr
木枯しを吹き飛ばす熱い闘いが続いております
5ちゃんねら〜の意地と意地とのぶつかりあい
書くのをやめたレスバトラーに待ちうけるのは「敗北」という恥辱にまみれた二文字のみ
「止められないレスがそこにある!」

それでは引き続きおたのしみ下さい

 バカ vs バカ

ファイッ!!!!!!!!
0229デフォルトの名無しさん
垢版 |
2018/12/18(火) 08:11:45.42ID:C3RGy1+P
>>225
2通りに解釈できるものをお前は理解出来なかったのが根拠と何度も書いているが。

>>112とお前の両方が頓珍漢ということは普通にあり得る。
したがって>>112が頓珍漢だというお前の主張はお前が頓珍漢であることの反論にはならない。
0230デフォルトの名無しさん
垢版 |
2018/12/18(火) 08:17:07.32ID:C3RGy1+P
>>226
マッシュポテトはハンバーグの付け合わせだから元々作ることになっている。
ハンバーグの部分であるマッシュポテトの時短への言及であり、1分とはその部分にかかる時間である可能性がある。
全体にかかる時間ではないかもしれないと考えるのがまともな日本人だ。

お前は日本人じゃ無さそうだから理解出来んかもしれんが。
0231デフォルトの名無しさん
垢版 |
2018/12/18(火) 08:34:19.90ID:/UA4EEmu
ハンバーグの付け合せにマッシュポテトしか思いつかないとかどんだけ発想が貧しいんだよ w
知識も知能もスッカスカやん
0233デフォルトの名無しさん
垢版 |
2018/12/18(火) 10:39:29.20ID:o0ORzhLh
二人のやりとりでここまで日を跨いで続くのってあまり見ない気がするけど、やっぱりム板住人気質ってことなんだろうな。
頭はあまり良くないのにその自覚が乏しく、細かいことに異常に拘る。自分も少なからずそういう傾向があるから、気をつけないとな……。
0237デフォルトの名無しさん
垢版 |
2018/12/18(火) 20:17:01.94ID:C3RGy1+P
>>235
また新たに日本語を理解出来ない事象が発生かよ。

発想が貧しいなどと今までの話とは関係ない方向へ持ってこうとしたことに対して単なる例と言ったのであって、例としては全くもって的確だ。
0238デフォルトの名無しさん
垢版 |
2018/12/18(火) 20:17:38.62ID:mQMHvFDr
バカ共もさすがに恥を知ったんかなw
0239デフォルトの名無しさん
垢版 |
2018/12/18(火) 20:18:08.69ID:mQMHvFDr
と思たらまだ続いとったwナイスバカw
0240デフォルトの名無しさん
垢版 |
2018/12/18(火) 22:18:11.50ID:ncFc1flt
>>237
まだやるの?
> 決めつけたのは間違いなんだが。
とか言う奴が
> マッシュポテトはハンバーグの付け合わせだから元々作ることになっている。
とかどの口で言ってるんだよ w

配列への格納とオートフィルターが常に関係するわけじゃないのと同じでハンバーグとマッシュポテトは常に関係するわけじゃない
それぐらいは理解できるよね?

なお反論したいなら
> マッシュポテトはハンバーグの付け合わせだから元々作ることになっている。
が正しいと言う根拠持ってきてからにしてくれ
0241デフォルトの名無しさん
垢版 |
2018/12/18(火) 23:27:31.75ID:fQRWG6oh
> まだやるの?
たぶんこのスレ皆が君ら2人に対して同じことを思ってるよ。
これだけ思う存分、頭の悪さを見せ付けることができたんだからもう満足だろ? まだ足りないの?
0244デフォルトの名無しさん
垢版 |
2018/12/19(水) 01:44:12.73ID:sYwMlaDi
すみません、先輩方教えて下さいIF 文がうまくいかず困っています。

For分のループの中で
 IF文の条件が一致したら 処理A、処理B、と20個くらい連続で複数実行したいのですが。

条件が一致しなくても処理Bからが動いてしまいます。

どのように記述すればよいのでしょうか。
EXCELの勉強サイトで質問をしても、条件1個くらいしか実施しないものしかなく困っております。
0245デフォルトの名無しさん
垢版 |
2018/12/19(水) 02:24:14.86ID:38k2t73z
For ...
 If 条件 Then
  処理A
  処理B
  ...
 End If
Next
ってことか?

Select Case かElseIf使えって話か?
0246デフォルトの名無しさん
垢版 |
2018/12/19(水) 02:27:25.69ID:esnyd6IN
Ruby なら、a が1 の時は、処理1・2、
aが2 の時は、処理A・B、
上記以外は、処理X・Y

if a == 1
処理1
処理2
elsif a == 2
処理A
処理B
else
処理X
処理Y
end
0247デフォルトの名無しさん
垢版 |
2018/12/19(水) 02:40:37.42ID:DnYaqc+Z
>>244
まず今のコード晒せよ
みんなエスパーじゃないんだから
0248デフォルトの名無しさん
垢版 |
2018/12/19(水) 06:44:44.72ID:sYwMlaDi
>>245さん
そのような処理が行いたいです。
>>246
cではそのような処理は可能でした。
ruby ではない、rubyが動く環境ではないので
0250デフォルトの名無しさん
垢版 |
2018/12/19(水) 08:02:19.27ID:+DSMRKxP
if文のthen で
処理複数行実行できますか?というだけのつもりでしたが。
コード準備してまた質問します。
ありがとうございました。
0251デフォルトの名無しさん
垢版 |
2018/12/19(水) 08:10:35.82ID:meuITI5l
>>240
???
例だと言ってるのにw
例を挙げたのは俺だから決めつけも糞もない。
日本語の問題なのか悔しくて冷静な判断もできないのか分からんが相変わらず頓珍漢な所に絡んでくるねw

ハンバーグを作るという要件に対して>>112はマッシュポテトを元々作るということになっていると思った。
それでじゃかりこにお湯を注げば1分という発言になった。

それをお前は頓珍漢と断ずるには、その発言の内容を理解しなければならない。
内容が全く分からなかったら頓珍漢かどうかも分からないからな。
そのお前の理解(ハンバーグが1分でできると解釈)が頓珍漢なんだろうが。

従って>>112が頓珍漢かどうかに関係なくお前が頓珍漢なのが確定なんだよ。
0252デフォルトの名無しさん
垢版 |
2018/12/19(水) 08:15:13.01ID:6uBXCGRB
>>250
ThenからEnd Ifまでは処理をいくつ書いてもすべて実行される
If 条件 Then
 処理1
 処理2
 処理3
End If
0253デフォルトの名無しさん
垢版 |
2018/12/19(水) 08:19:00.70ID:rGeO8V+1
>>251
> ハンバーグを作るという要件に対して>>112はマッシュポテトを元々作るということになっていると思った。
何度書いても頓珍漢なものは頓珍漢なままだよ

> なお反論したいなら
>> マッシュポテトはハンバーグの付け合わせだから元々作ることになっている。
> が正しいと言う根拠持ってきてからにしてくれ
に答えられないなら黙ってた方がいいぞ w
0254デフォルトの名無しさん
垢版 |
2018/12/19(水) 08:27:36.44ID:meuITI5l
>配列への格納とオートフィルターが常に関係するわけじゃないのと同じでハンバーグとマッシュポテトは常に関係するわけじゃない
それぐらいは理解できるよね?

常に関係しなくても全くかまわないんだよ。
普通の人間は相手が何かを言った時、それはどういう意味か理解しようとする。
理解しないと頓珍漢かどうかも分からないから当然のことだ。
常に関係するわけじゃなくても、>>112の頭の中ではハンバーグの付け合わせにマッシュポテトを考えたのだろうくらいは想像する。
そういう想像も全くせずに頓珍漢だというなら1分に言及することなく最初から頓珍漢だと言うだろう。

そこでお前はお前の理解の元に「じゃがりこにお湯を注いだくらいでハンバーグが1分で出来るの?」と発言したのと同じ状態になっている。
俺はそのお前の理解の元がおかしいのではないかと言っている
0255デフォルトの名無しさん
垢版 |
2018/12/19(水) 08:30:26.96ID:meuITI5l
>>253
頓珍漢であってもお前は「じゃがりこにお湯を注いだくらいでハンバーグが1分で出来るの?」と発言した状態になっている。

この発言が正しいのか?
0256デフォルトの名無しさん
垢版 |
2018/12/19(水) 12:22:13.52ID:wuMW/q40
なんでプログラム板住民は機械言語じゃなくて自然言語の言葉尻を捉えて追求したがるの?
0257デフォルトの名無しさん
垢版 |
2018/12/19(水) 12:31:57.08ID:rGeO8V+1
>>254
> 普通の人間は相手が何かを言った時、それはどういう意味か理解しようとする。
だから>>113
> フィルタ掛けた結果を一気に配列に読み込むってできたっけ?
って確認してる
それに対して>>117みたいな頓珍漢なレスが来たんだが w

>>255はマジで意味不明だから無視するね
0258デフォルトの名無しさん
垢版 |
2018/12/19(水) 12:56:12.77ID:meuITI5l
>>257
相変わらずのバカっぷり。

お前の>>118で「(要件を満たすのに)VBAで1行で書けるぞ
って方法があるみたいなことを書いてるので聞いただけ」という発言に対して俺は「>>112の発言の1行とは(オートフィルタを掛けるのに)VBAで1行で書けるぞ」という意味なのでは?聞いたんだが。
0259デフォルトの名無しさん
垢版 |
2018/12/19(水) 17:12:30.63ID:rGeO8V+1
>>258
> (オートフィルタを掛けるのに)VBAで1行で書けるぞ
だからその回答になんの意味があるんだよ?
って何度も書いてあるんだが
意味があるというならその意味を書いてみなよ
0261デフォルトの名無しさん
垢版 |
2018/12/19(水) 18:26:58.94ID:meuITI5l
>>259
意味が有ろうが無かろうがお前の解釈が間違いだと言ってる。

意味が無かったらお前の間違いは無くなるのか?
無くならねえよ。
0262デフォルトの名無しさん
垢版 |
2018/12/19(水) 18:39:33.72ID:meuITI5l
元々のやり取りは以下の通り。

>>112「VBAで1行で書けるぞ」
>>113(お前)「フィルタ掛けた結果を一気に配列に読み込むってできたっけ?」
>>119(俺)「1行とはフィルタ掛ける部分のことを言ってるんじゃない?」
>>118(お前)「要件とは違うフィルタだけのことを言われても」
>>123(俺)「そうだけど、>>112で言ってる1行はフィルタだけと受け取る方が自然」
>>124(お前)「ガイジなのかな?」

どっちがガイジだよ
0264デフォルトの名無しさん
垢版 |
2018/12/19(水) 19:02:08.13ID:rGeO8V+1
>>261
> 意味が有ろうが無かろうがお前の解釈が間違いだと言ってる。
> 意味が無かったらお前の間違いは無くなるのか?
> 無くならねえよ。
根拠出さないと何度繰り返してもそれこそ「意味ないぞ」w

>>262
誰も自然かどうかなんて聞いてないからな
ガイジかもしれないと思うのは当たり前のこと
0265デフォルトの名無しさん
垢版 |
2018/12/19(水) 20:15:44.96ID:As82n4u7
>>262
くだらない言い争いの元ってこれなのか?
:で区切れば1行で書けるだろ。

お前ら馬鹿か?
0266デフォルトの名無しさん
垢版 |
2018/12/19(水) 21:21:27.33ID:38k2t73z
>>250
Thenのあとに続けて同じ行に命令書いてないか?
Thenで改行したら、End If(かElse)まで条件判定で実行されるぞ
0268デフォルトの名無しさん
垢版 |
2018/12/19(水) 22:22:43.60ID:meuITI5l
>>264
根拠は何度も出している。
日本語が不自由なお前が理解出来て無いだけ。

そりゃお前は自然かどうかは聞いてないさ。
お前が聞いたこと以外を言うとガイジになるなら皆がガイジはお前と言うだろう。
0271デフォルトの名無しさん
垢版 |
2018/12/19(水) 23:22:19.99ID:DnYaqc+Z
カメラ機能で貼り付けて回転させればワンチャン
0273デフォルトの名無しさん
垢版 |
2018/12/20(木) 00:16:14.50ID:JEb4hZ4L
バカとバカの死闘もう決着ついたんか?バカ勝った?
0274デフォルトの名無しさん
垢版 |
2018/12/20(木) 06:48:12.04ID:As7dWUw1
>>268
> 根拠は何度も出している。
> 日本語が不自由なお前が理解出来て無いだけ。
ん?
2通りの解釈ガーってやつのこと?
どう解釈しても頓珍漢なことに変わりないと何度も書いてるし、そもそもその2通りの解釈すら具体的に提示されてない

> そりゃお前は自然かどうかは聞いてないさ。
> お前が聞いたこと以外を言うとガイジになるなら皆がガイジはお前と言うだろう。
会話の中でいきなり聞いてもないことを喋りだす?
お前がコミュ障であることはわかったよ w
0275デフォルトの名無しさん
垢版 |
2018/12/20(木) 08:04:34.66ID:5qyubQfm
>>274
どうしょうも無いバカ。
頓珍漢でもお前は間違いと言ってるだろ。
その根拠も既に何度も書いてる。
2通りの解釈も何度も書いてる。

オ―トフィルタを掛ける処理のみを1行と解釈するのと要件全てを満たす処理に1行と解釈するのの2通りだ。

日本語か通じないバカ。
>>119>>123>>146>>148>>156>>180
0277デフォルトの名無しさん
垢版 |
2018/12/20(木) 08:11:10.39ID:5qyubQfm
>>274
会話のやり取りとして関係有るなら聞かれたこと以外を話すのは全くおかしくない。
少なくとも>>118>>123のやり取りをおかしいというならガイジはお前だろう。
0278デフォルトの名無しさん
垢版 |
2018/12/20(木) 08:32:01.59ID:As7dWUw1
>>275-277
> オ―トフィルタを掛ける処理のみを1行と解釈
要件を満たさない頓珍漢な回答

> 要件全てを満たす処理に1行と解釈
それかと確認したらより頓珍漢な>>117がしゃしゃり出てきた w

いずれにせよ質問者の要件満たしてないクズ解釈

> 日本語か通じないバカ。
お・ま・え だよ

> 会話のやり取りとして関係有るなら聞かれたこと以外を話すのは全くおかしくない。
お前はあえて無視してるみたいだけど>>113で関係性を問うてるからその解釈は無理がある
0279デフォルトの名無しさん
垢版 |
2018/12/20(木) 09:21:52.23ID:5qyubQfm
まだ分かってないのかよ。
お前が>>112が頓珍漢かどうかを判定するところでお前はもう間違っている。
ということはお前は>>112が頓珍漢かどうかも判定出来ていないということだ。
だから結果的に>>112が頓珍漢だったとしてもお前も頓珍漢なんだよ。

お前は間違った判断の元に>>112を頓珍漢と言ってる。

>普通に一気に配列に読み込んで空白行を詰める処理を入れればいいかと

に対して「空白行を詰める処理を入れれば」の文言を理解出来ずに、配列に空白行が残るなとどしてお前の案を頓珍漢と断じることに問題は無いのか?
文言を理解出来ない方が頓珍漢だろう。

これと同じでお前の>>112を頓珍漢だとする根拠が間違ってる。
0280デフォルトの名無しさん
垢版 |
2018/12/20(木) 09:43:04.50ID:uzBoRH9c
https://youtu.be/HjJjqSjTJwY

この人の頭いい自慢、笑いがとまらない(ワラ
自画自賛のみの動画。
自分が恥ずかしくならないのか?
たぶん恥ずかしい動画と気づいたらすぐ消すだろうが今はそれに気づいていない。

とにかく笑えます。
0281デフォルトの名無しさん
垢版 |
2018/12/20(木) 12:23:32.88ID:As7dWUw1
>>279
> お前が>>112が頓珍漢かどうかを判定するところでお前はもう間違っている。
根拠のない妄想乙

> ということはお前は>>112が頓珍漢かどうかも判定出来ていないということだ。
妄想に基づく頓珍漢な解釈乙

> だから結果的に>>112が頓珍漢だったとしてもお前も頓珍漢なんだよ。
もう論理も何もない幼児が喚いてるレベル

> お前は間違った判断の元に>>112を頓珍漢と言ってる。
それ、お・ま・え

> に対して「空白行を詰める処理を入れれば」の文言を理解出来ずに、配列に空白行が残るなとどしてお前の案を頓珍漢と断じることに問題は無いのか?
バカなの?
書いてあって理解できないことと、書いてもないことは全然違う話
そんな理解力もないから
> これと同じでお前の>>112を頓珍漢だとする根拠が間違ってる。
なんて頓珍漢な結論で玉砕するんだよ w
0282デフォルトの名無しさん
垢版 |
2018/12/20(木) 12:50:33.53ID:5qyubQfm
>>281
根拠は既に何度も書いているのに理解出来ないバカ。
反論出来ないからもうそれでやり過ごそうとする意図がミエミエ。
もうお前の根拠無いは通じない。
根拠はあると言ってるし、場所も言っている。
その根拠がおかしいというならわかるが無いじゃ話にならん。

ところで全く笑わせてくれるが、お前の発言こそ全部ブーメランだ。

>それ、お・ま・え
プッ。
俺は>>112を頓珍漢だなんて断じて無いんだが。
日本語ワカリマスカ?

全然違う話ではない。
間違った判断の元に相手を断じれば、結果的に頓珍漢でも頓珍漢でなくても間違いだ。
書いてある、書いてないは関係ない。
この例は、お前の主張通りだと断じる側が頓珍漢で間違った判断をすれば断じられる側が頓珍漢になってしまうのか?という例だ。

2通りの解釈ができなかったお前が>>112を頓珍漢と断じてもダメということだ。
0283デフォルトの名無しさん
垢版 |
2018/12/20(木) 16:14:40.53ID:bktnWAv8
馬鹿の馬鹿による馬鹿同士の罵り合い
0286デフォルトの名無しさん
垢版 |
2018/12/20(木) 17:56:31.30ID:2i7dcD7b
(このレスを含まないで)のアスペ感w
0287デフォルトの名無しさん
垢版 |
2018/12/20(木) 18:37:50.96ID:As7dWUw1
>>282
> 2通りの解釈ができなかったお前が
まだ言ってるの?
お前はわざと無視してるけどそんな可能性は>>113で確認してる
>>112が回答すれば良かったものをガイジの>>117がしゃしゃり出てきて頓珍漢なレスしただけだろ w
0289デフォルトの名無しさん
垢版 |
2018/12/20(木) 20:10:52.84ID:2i7dcD7b
>>288
もう相当飽きとるでおまえみたいなバカがおもろいんは一時的なもんやし
0290デフォルトの名無しさん
垢版 |
2018/12/20(木) 22:31:27.95ID:/FsMMWOI
VBAエンジニアって宣言するのって恥ずかしいことなのかな?
ツイッターのWEB屋達からは苦笑されるし、現場でもVBAは簡単的な扱いで
あまりいい意味で捉えられないように感じる

経歴的にVBA触ってた時間が長いし、
Windows と相性良いし、
VBAなんで叩かれてるんだろう?
0291デフォルトの名無しさん
垢版 |
2018/12/20(木) 22:38:23.73ID:2i7dcD7b
webパーはバカやからおいとくとしても
VBAエンジニアとゆうてもうたら言語としてのVBAをメンテナンスしとるエンジニアと思われるやろ
そこはただのエンジニアでええねん開発言語として主にVBAつことるゆうだけで

てかVBA叩いとるのこのスレにおるプロさんゆうバカな連中だけやぞw
0293デフォルトの名無しさん
垢版 |
2018/12/20(木) 23:13:35.65ID:7HwS24Ld
>>290
恥ずかしいんじゃなくて、根本的に間違ってるんだよ

アプリの開発にはVBAは適してないし、普通は使わない
ちょっとでも複雑なことをしようとするとAPIが必須になるし、ツールも貧弱で開発の効率が悪いから
そして、ワークシートに付属のマクロを書くだけの人はエンジニアと呼べるレベルにないことが多い

まあVBAで作られた社内アプリもあちこちで見た事あるけど、とにかく結果さえ出ればいいって感じでひどいもんだった
体裁の整ったアプリも作れないことはないけど、それこそVBAでは無駄に手間がかかるだけで、ようするに言語(道具)の選び方が適切じゃない
0294デフォルトの名無しさん
垢版 |
2018/12/20(木) 23:17:37.85ID:7HwS24Ld
>>292
趣味ならいいけど一般的に商品はVBAで作るわけにいかない
同じ物がVB.netならもっと少ない手間で作れるんだから、開発コストの無駄遣いになる
0295デフォルトの名無しさん
垢版 |
2018/12/20(木) 23:19:19.18ID:7HwS24Ld
「趣味でシステムエンジニアやってます」というのは成立しないと思うのは俺だけか?
趣味の一つとして認知されてるんなら、ここまで俺が書いたことは完全にひっくり返ってしまう
0296デフォルトの名無しさん
垢版 |
2018/12/20(木) 23:22:10.52ID:7HwS24Ld
別に国家資格が必要なわけじゃないから「俺は(VBA)エンジニアだ」と名乗るのは自由
聞いた人がどう思うか、どう思われるかはわからない
0297デフォルトの名無しさん
垢版 |
2018/12/21(金) 00:33:22.33ID:ykBrDntQ
>>290

 VBAは、あくまでOffice付属のマクロ言語なので、そこに何十年(最大24年)もしがみついてるとかだと、
自己紹介でそうと言われたら、叩くまではないにしても、「はぁ」で流しはするかも知れない。
 他の色々出来る中で、「VBAも触れます」なら、構えられることもないんじゃないかな。
0298デフォルトの名無しさん
垢版 |
2018/12/21(金) 00:45:40.95ID:t4pJ79vS
情報処理資格を受かった学生が「こんなの誰でも受かりますよ」って言うけど、
10年以上受からない奴は「いや、そんな簡単じゃないよ」って答える

会社では、新人・老害の会話が噛み合わないw
そういう老害が新人に教えるから、矛盾だらけw

勉強していない奴は、システムを組めない。
何も知らんからw

データ処理に適さない、表示情報が入った、Excel, PDF を成仏させる供養寺を、
住職(エンジニア)が開催してるw
0299デフォルトの名無しさん
垢版 |
2018/12/21(金) 01:07:43.82ID:KP9XHOoX
普通にプロとしてやってる人なら、言語仕様とライブラリ構成さえわかれば、どんな言語でも一定の結果は出せるもんだ
VBAだって言語の一つとして、文法や演算子、変数タイプ、組み込み関数なんかが把握できればプログラムは書けて当たり前なんだよ
0300デフォルトの名無しさん
垢版 |
2018/12/21(金) 02:33:59.15ID:j+w4FFhE
>>287
バ−カw
お前が確認したのはお前の1通りの解釈を元に一気に配列に読み込めるかどうかだけだ。

本来、以下のようにすべきところを
Function Check112(strHatsugen As String) As String

If strHatsugen="要件全てを1行" Then
Check112="頓珍漢"
Else If strHatsugen="オ−トフィルタのみ1行" Then
Check112="頓珍漢"
End If

End Function

お前のコードは以下の通りだ。
Function Check112(strHatsugen As String) As String

If strHatsugen="要件全てを1行" Then
Check112="頓珍漢"
End If

End Function

お前のコードではstrHatugen="オートフィルタのみ1行"の場合、戻り値は"頓珍漢"とならない。
0301デフォルトの名無しさん
垢版 |
2018/12/21(金) 03:18:22.04ID:KP9XHOoX
空白を取り除いて配列に入れるのって、結局どうやるのが一番シンプル?
マルチステートメントはとりあえず無しとして、作業シートを使って3行までは短縮できたけど
(セル範囲が決め打ちだからできたとは言えないかな

Sheets("Sheet1").Range("A:C").AutoFilter Field:=1, Criteria1:="<>"
Range("A1:C5").Copy Destination:=Sheets("Sheet2").Range("A1")
ary1 = Sheets("Sheet2").Range("A1:C3")
0303デフォルトの名無しさん
垢版 |
2018/12/21(金) 07:57:42.03ID:zXpLrdoZ
>>290
他の言語と比べて微妙だから
vbaでも出来るけど他の言語ならもっと楽 なんで使わないの言語使えないの?て思考する人が一定数いるから
0304デフォルトの名無しさん
垢版 |
2018/12/21(金) 08:20:20.78ID:j+w4FFhE
>>302
普段から寝るのはあんなもんだ。

>>301
実際のところ、俺も「普通に一気に配列に読み込んで空白行を詰める処理を入れればいいかと」だね。

でも、データ総数300とかじゃどんなやり方でも良いし、気にしない。
効率を気にするなどと言っていても、実際は他で大きなロスしてても気にしない奴多数。
動かした所で大きなロスをしてる所がデータ読み込み部分と分かってから考えれば良い。
俺は一気に配列に読み込むのに慣れてるし、それで早いからそうするのが普通なだけで。

そもそもこういう場合でよくよくやりたいことの詳細を聞くと配列に取り込む必要が無かったりする場合も多い。
0305デフォルトの名無しさん
垢版 |
2018/12/21(金) 08:22:45.52ID:j+w4FFhE
>>301
あと、コードの量を減らすのはあまり意味が無い。
速度のためにコードの量はかなり増えることがある。
0316デフォルトの名無しさん
垢版 |
2018/12/23(日) 14:14:36.79ID:52OagQlj
バカvsバカはまだ静かに継続中かw
0317デフォルトの名無しさん
垢版 |
2018/12/23(日) 15:09:00.33ID:O7Ty6bBB
listviewでマルチセレクトから通常にもどすさいに再描画してるんですが、そのさい行がずれるんですが listboxのtopindexみたいなものはないのでしょうか? どうすればずれないようにできますか?
0318デフォルトの名無しさん
垢版 |
2018/12/23(日) 19:45:55.65ID:M7vXJwnP
チェックボックス有効無効をきりかえるため再描画してます。その際行がずれます。 すみませんでした。
0323デフォルトの名無しさん
垢版 |
2018/12/25(火) 00:16:00.70ID:su/K5Fi6
参照設定もVBAの機能の一つだろ
デフォルトでもいくつか入ってるし、ファイル操作する時はFSOを追加するし、Outlookの操作も定番のテクニックだし
0324デフォルトの名無しさん
垢版 |
2018/12/25(火) 01:26:51.15ID:fCRLWXqM
ListViewはライセンス的に微妙なんだよな。
配る場合はダメだった気がする。

恐ろしく面倒な方法で実装すればライセンス的にも問題無いけどそこまでやれる人は殆どいないと思う。
0325デフォルトの名無しさん
垢版 |
2018/12/25(火) 01:55:29.77ID:fCRLWXqM
あとツールボックス右クリックでその他のコントロールを参照設定とは呼びたくないな。
0327デフォルトの名無しさん
垢版 |
2018/12/25(火) 08:33:21.08ID:gnAfBdjP
お前が呼びたいとか呼びたくないとか、お前の気分なんぞ知ったことではない
0329デフォルトの名無しさん
垢版 |
2018/12/25(火) 23:18:20.70ID:wH59ARy4
入っとるね
0332デフォルトの名無しさん
垢版 |
2018/12/26(水) 13:12:31.75ID:RgV9orAX
シートのコピーでafter:=worksheets.countしても最後尾に追加されないことがあるんだけど何これ
通常なら問題無い 非表示シートだか同名シートだかが混ざると不穏な動きする
0336デフォルトの名無しさん
垢版 |
2018/12/27(木) 18:50:28.99ID:0mQlyYIj
Worksheets.Countだけ指定して最後尾にシート追加することもできるんだな。初めて知ったわ。
0337デフォルトの名無しさん
垢版 |
2018/12/28(金) 00:28:35.21ID:M7adF/cl
>>333
解決してるけど状況だけ説明
Thisworkbook.Worksheets("雛形").Copy After:=Thisworkbook.Worksheets(Worksheets.Count)
普通に実行出来て追加される けど末尾に追加されない
雛形シートは非表示で他にブック開いてないのが前提
原因は他の非表示シートが末尾にあったから?ぽい見えるシートの末尾に追加されてた
原因があってるのかは不明だけどコピーの前に全シート表示させる処理書いたら想定どおりに末尾に追加されたから解決としてそれ以上調べてない
0338デフォルトの名無しさん
垢版 |
2018/12/28(金) 08:07:29.84ID:7PkHI2ZE
>>337
これで解決は酷いなあ。
このコードじゃダメだろ。
初心者が一番ハマるのに引っ掛かってる。

Worksheets.Countはどのブックのシート数を示してるの?
人間の思い込みと現実が違うことはよくある。
ブックが複数開いてたらThisworkbookがActiveとは限らない。

まあ、これが原因かどうかは分からんけど。
0340デフォルトの名無しさん
垢版 |
2019/01/03(木) 20:12:26.04ID:m9d94GZ9
すみません、一般論として教えてください

一つのプロージャ内に複数のForNext文を使う場合
カウンタ変数はそれぞれ用意したほうがいいんでしょうか?
それとも全部「i」とかで固定したほうがいいんでしょうか?
0341デフォルトの名無しさん
垢版 |
2019/01/03(木) 20:38:50.80ID:rHu6ErP8
単純にカウンタとしてしか意味が無くて充分に短いループなら全部iでいいよ
0342デフォルトの名無しさん
垢版 |
2019/01/03(木) 20:52:55.74ID:m9d94GZ9
>>341
ありがとう
これまで全部「i」で統一してて他で使いたいときは違う変数に明け渡したり…ってしてたんだけど
この前業者の人が書いたコードを見たらそれぞれに変数を与えてたので…
デバッグの時に有利?とか何かプログラム業界の常識みたいなのがあるのかな?と気になって
0343デフォルトの名無しさん
垢版 |
2019/01/03(木) 21:24:04.00ID:3ahyrkeA
>>342
自分の頭使えよ
0348デフォルトの名無しさん
垢版 |
2019/01/03(木) 22:57:49.15ID:YFBXiFl7
>>342
ループがネストする場合にi,j,kとしたりするのは
FORTRAN由来でコンピュータ黎明期からある
https://qiita.com/yaju/items/38f63900491d4ac51af7
座標だとx,yとかで回したりもするがあまり長い名前は使わない方が良いかと
0349デフォルトの名無しさん
垢版 |
2019/01/03(木) 23:18:24.27ID:rHu6ErP8
i,j,kは慣習だけど、それ以外はループ変数といえど意味のある変数名を使うほうがいいぞ
長い名前使うなとか、インタプリタ時代の悪習でしかない

いかにわかりやすい変数名つけるかはセンスもあるけどな
0350デフォルトの名無しさん
垢版 |
2019/01/03(木) 23:56:28.99ID:2qiD+7+U
俺は行ならrow、列ならcolumn、インデックスならindexとかにして
なるべくi, j, kとか使わないわ、別にこだわりはないけど
0351デフォルトの名無しさん
垢版 |
2019/01/04(金) 00:30:47.29ID:3QLIqJfD
俺は一文字だけじゃ見失うから
iii jjj kkk ccc rrrって3文字連打してる
別の変数名への置換もしやすいしね
0352デフォルトの名無しさん
垢版 |
2019/01/04(金) 00:32:01.54ID:GFUZolCB
みなさんどうもありがとう
自分はプログラム屋ではないので業界の常識?みたいなものがあれば知りたくて

今までは使うなら「i」、構造的にかぶるなら「j」あたりを使ってましたが
その都度意味のある変数を使う方が多いんでしょうか
その他の変数も基本一文字が多いんですけどこれもあまり誉められたことでは無いのかな
0353デフォルトの名無しさん
垢版 |
2019/01/04(金) 00:39:25.54ID:T+XMZC4N
>>352
馬鹿は頭を使うことができんの?
0356デフォルトの名無しさん
垢版 |
2019/01/04(金) 07:27:59.80ID:M3G9sl2d
シート上の特定Rangeを表してるときならrowとcolumnもありだけど、一般にはiとjかな
それ自体が検索対象になることもまずないし
0357デフォルトの名無しさん
垢版 |
2019/01/04(金) 08:41:36.91ID:zy8oD3uq
ローカルのカウンタ変数をiで使いまわしてるけどi2とか分けたほうが良いの?
好み?
0358デフォルトの名無しさん
垢版 |
2019/01/04(金) 09:27:17.18ID:+4+fWqKR
>>357
誤読の可能性があるなら、分けた方がいいと思う。

>>349,350あたりが妥当じゃないかな。ただ、例えば行そのものでは
なく行を導出するための数値を入れる変数には、rowじゃなくてrowナントカ
だのにした方がいいのかな。単なるループカウンタならヘタに意味のある
名前を付けない方が「無意味なカウンタ変数です」ということを示すことが
できる気も。自分はループカウンタはとりあえず一文字二文字の変数を
放り込んでそのまま、ということが多い(簡単な処理しか書いたことない)。
0359デフォルトの名無しさん
垢版 |
2019/01/04(金) 09:54:15.33ID:DCvNugNP
個人目的ならそれこそ自由、自分が解りやすければなんでもいい
社内使用で他の人が今後も手を加える可能性があるなら
可読性と一般的な用途を考えてijk辺りがよいと思う
0360デフォルトの名無しさん
垢版 |
2019/01/04(金) 10:05:37.21ID:NtMlYI+L
カウンタ変数の1つや2つぐらいケチらず定義しろよ
それこそ先頭で
Dim i1 As Integer , i2 As integer,,, とかやっとけばいいだろ。
こう書くとIntegerよりLongだとか言い出すやつも出てくるけど w
0361デフォルトの名無しさん
垢版 |
2019/01/04(金) 11:53:23.85ID:aVQoc2JA
>>359
3ヶ月後の自分は他人

>>360
おれならそう書いてあったら、i1とi2になにかしら特別な意図があるのかと思う
それならちゃんと分かりやすい変数名をつけるべき
0362デフォルトの名無しさん
垢版 |
2019/01/04(金) 12:16:24.95ID:YvLbWmko
べきとかええねん
好きなようにしろや
0367デフォルトの名無しさん
垢版 |
2019/01/04(金) 17:11:54.33ID:JnujQIz6
個人プログラムのときは Jは大文字にしてる
ijだとぱっと見差がないから
それから、行と列はc、r変数にしてる
0372デフォルトの名無しさん
垢版 |
2019/01/05(土) 01:06:17.29ID:oO8mkqZ6
何が書いてあるのか、未来の自分がわかり、他人もわかるのが理想
昔ながらのルール(慣習)は理由なく破るべきではない
0374デフォルトの名無しさん
垢版 |
2019/01/05(土) 07:37:32.77ID:1YbtJ0wD
i j kは使い捨てのループカウンターとして世界中に広く認知されてるし入力のコストも低い
いちいち For TemporaryLoopCounter = 1 To 5 とか書きたい人は自由にすればいいけど、それこそ自己満足の世界だと思う
0375デフォルトの名無しさん
垢版 |
2019/01/05(土) 08:45:01.70ID:ORiRzU3d
長く使うプログラムほど扱う対象が汎用的で、変数が具体的に何を指すとか
限定できないため i, j, k になりがち。
逆に具体的対象を扱うプログラムだと変数名も具体的にした方が良いだろうが
汎用的に長く使うものではない。
何が言いたいかというと別に何でもありません。
0377デフォルトの名無しさん
垢版 |
2019/01/05(土) 09:12:48.40ID:tCoREms1
>>376に同意
一般論でいうと、メンテナンス性に優れたプログラムを書くには次の点を意識するとよい
・変数の生存範囲はできるだけ狭く
・変数の生存期間はできるだけ短く
で、これを意識したプログラムの変数名は自然に短くなる
極論すれば、サブルーチンが適切に分割されていてサブルーチン名だけで何やってるか明らかなら、
その中の一時変数名なんか全部一文字でもいい
0380デフォルトの名無しさん
垢版 |
2019/01/05(土) 14:28:05.44ID:c7wm3fbX
For Each とループカウンタ使うのとどちらも一長一短あるのを知らない人は早く初心者を脱出してね。
0381デフォルトの名無しさん
垢版 |
2019/01/05(土) 15:07:14.98ID:ORiRzU3d
一長一短ていうか For Each はワンパターンな使い方しか出来ないからドヤ顔するようなもんじゃないな
0382デフォルトの名無しさん
垢版 |
2019/01/05(土) 15:49:59.34ID:xejHmutN
>>378
配列Aと配列Bの要素同士を足して配列Cに入れる
って言うのを
For a, b, c in A, B, C
c = a + b
Next
みたいに書けるならいいんだけどなぁ
0385デフォルトの名無しさん
垢版 |
2019/01/05(土) 16:17:56.11ID:xejHmutN
>>383
それ自由度が低い
For a, b, c in A, B, C
If b <> 0 Then c = a / b Else c = 0
Next
みたいなことを書きたくなるとかありそうだし
0389デフォルトの名無しさん
垢版 |
2019/01/05(土) 20:53:20.75ID:tCoREms1
>>387
まともなプログラマならブロックスコープが欲しくなるような大きなプロシージャは書きません
0390デフォルトの名無しさん
垢版 |
2019/01/05(土) 20:57:58.68ID:FzRtN9wJ
実際使い捨てならそれで問題になる事はないんだが
使い捨てのループ変数がループ内でスコープが閉じないのがなぁ
あと宣言位置の問題もあるけど
0391デフォルトの名無しさん
垢版 |
2019/01/06(日) 01:37:57.50ID:ckNCIF8F
わかる方がいれば教えてください
ユーザーフォームに配置したラベルに、選択中のセルの値を表示したいです
他のセルをアクティブにしたらラベルの内容も次々と変わるようなものを作りたいです

初心者なりに考えたのですが、
セルの選択をダブルクリックにしてシートモジュールの
Private Sub Worksheet_BeforeDoubleClick(〜)
みたいなものを使うパターン、
ユーザーフォーム側にアクティブセルの値を表示するためのボタンをつけるパターン、
それくらいしかラベルに表示する方法が思いつきません
思っていた上に書いたような動きのものが作れません
そもそもそんなものは不可能でしょうか
セルをアクティブにするだけでそんな動きをするものは作れたとしても重くて(?)実用的じゃないでしょうか
0392デフォルトの名無しさん
垢版 |
2019/01/06(日) 01:43:01.14ID:ckNCIF8F
ユーザーフォームが出ている時だけワークシートイベントを発生させることってできますか?
0394デフォルトの名無しさん
垢版 |
2019/01/06(日) 02:17:03.95ID:GQx3m9rS
>>392
発想が根本的に間違っている
イベントは自然に発生するものであり、それを制御しようなどと考えてはいけない
ユーザーフォームが出ていないときはイベントを無視すればよい
0395デフォルトの名無しさん
垢版 |
2019/01/06(日) 06:33:59.75ID:VjyciGNt
自分もVBA初心者だけど書いてみます

>>392
既に言われてるけど、
イベントの発生は操作できないから受け取り側でフォームが読み込まれてるか調べて、
実行するか選択する形になる

思いつく方法は、
・フォームが一つしかないなら、UserFormsコレクション(読み込まれたフォームの一覧)の要素数が1以上かを調べる
・UserFormsコレクションに該当のフォーム名(typename関数で取得できる)があるか調べる
・印になるパブリック変数を宣言し、フォームのInitializeイベント(読み込まれた時に発生するイベント)で適当な値を代入させ、その値を調べる。

もしくはWithEvents(これを付けて宣言した変数のイベントを受け取れる)でシートのイベントを受け取るクラスモジュールを用意して、
それにフォームのラベルを操作させる方法もある
余程シートに依存した目的でない限り、個人的にはこちらの方が自然だと思う
0397デフォルトの名無しさん
垢版 |
2019/01/06(日) 13:03:05.58ID:BkO4LwOx
>>395
こんな初心者おる?
0398391-392
垢版 |
2019/01/06(日) 13:13:13.46ID:ckNCIF8F
>>395さんが言ってることが全く分からないというか一度も触れた事がないので
これを機会に勉強してみます
謎のクラスモジュールを使ってみたいと思っていたので良かったです
みなさんありがとうございました
0399デフォルトの名無しさん
垢版 |
2019/01/06(日) 13:25:33.73ID:kaEteaA+
>>397
ググれば出てくることなんだから、初心者でも答えれるやろ。
まあ人によっては初心者は卒業したって判断しそうなくらいのレベルはありそうだが。
0401デフォルトの名無しさん
垢版 |
2019/01/06(日) 15:46:11.59ID:BcE7MgiE
>>398
UserFormで直接WithEvents付きの変数使えるぞ
いろいろチェックとかはぶくとこんな感じ

Private WithEvents ws As Worksheet
Private Sub UserForm_Initialize()
Set ws = ThisWorkbook.Worksheets(1)
End Sub
Private Sub ws_SelectionChange(ByVal Target As Range)
Me.Label1.Caption = Target.Value
End Sub
0402デフォルトの名無しさん
垢版 |
2019/01/07(月) 02:40:02.74ID:pgy1rNuG
>>397
プログラミング経験無いまま前任者から引き継いでしまったので、ここで色々教えて貰ってました
最近は調べ方も大体わかってきたので余り来ていませんでしたが、
アドバイス側に回ってもいいかなと思って書いてみました

>>398
分からないのはどの部分でしょうか
後半は>>401さんの通りです

>>401
ヘルプにクラスのみと書かれていたので、フォームでは使えないと思ってました・・・
0403デフォルトの名無しさん
垢版 |
2019/01/07(月) 05:30:38.59ID:fq4DjYiu
IntegerよりLongだ
0404デフォルトの名無しさん
垢版 |
2019/01/07(月) 06:49:25.01ID:fq4DjYiu
>>360
0408デフォルトの名無しさん
垢版 |
2019/01/07(月) 23:07:15.99ID:93Abj8CI
セルにindirectを入力しないでプルダウンを連動させる方法はありませんか?

名前”地区” 第一 第二 第三
名前”第一” 製造 塗装 
名前”第二” プレス 溶接
名前”第三” 組立 検査

J列にプルダウン”地区”第一 第二 第三
K列が隣のJ列を参照してプルダウン(indirect)が変わるようにしたいのですが、
K列に=indirectを入力するとファイルサイズが大きくなるので避けたいのです。
何か良い方法はありませんか?

https://dotup.org/uploda/dotup.org1740935.zip.html
入力用のブックとupローダーに挙げた台帳ブックを分けた方がいいのは
確かなんですが、要求元は台帳で連動するプルダウンを使いたいとのことで
困っています。ご指導ご鞭撻のほどお願い申し上げます。
0409デフォルトの名無しさん
垢版 |
2019/01/09(水) 10:11:24.83ID:pekX2UBC
新元号対応の更新プログラムで早速バグ発生かよwww
0410デフォルトの名無しさん
垢版 |
2019/01/09(水) 16:10:15.28ID:HhjCvbTy
新元号対応パッチは4月1日以降にしか出せないだろ
それに今はOffice単体じゃなくてWindows側の日付管理APIで一括対応する仕組みになってるし
0412デフォルトの名無しさん
垢版 |
2019/01/09(水) 17:45:40.84ID:Ybhx7jcq
ただちに影響、出てるじゃん、何が立憲民主党だ、ホラ吹きの枝野!

2008年 12808万人 + 5万 △△△△△
2009年 12803万人 − 5万 ▼▼▼▼▼
2010年 12806万人 + 3万 △△△
2011年 12780万人 −26万 ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
2012年 12752万人 −28万 ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
2013年 12730万人 −22万 ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
2014年 12709万人 −21万 ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
http://lavender.5ch.net/test/read.cgi/asaloon/1546600138/l50
【モンサント、アマルガム】 厚労省、危険物を安心て、ふざけんな、国いらん。オノ・ヨーコ「来るな」
http://rosie.5ch.net/test/read.cgi/liveplus/1547000522/l50
0413デフォルトの名無しさん
垢版 |
2019/01/09(水) 18:41:39.05ID:B8oaeAR+
「ぼくが政権にいる間は影響無いことにしておきます」(のんのん)
0415デフォルトの名無しさん
垢版 |
2019/01/10(木) 00:17:06.97ID:RQUJx46Y
VBAのフォームのツールボックスにコントロールを追加したいのですが、右クリックで「その他のコントロール」を追加してもコントロールの追加ダイアログが表示されず無反応のまま終わってしまいます。
WIN7(64) OFFICEは2010(32) 2013(32) 2016(32)を入れ替えましたが全て同じでした。
C:\Windows\System32 C:\Windows\SysWOW64 どちらにもFM20.DLLは入っています。
オフィスのクリーンアンインストールも試しました。ツールの参照設定で参照しなおしてもNGです。
OSに問題があるかもしれませんが、何かチェック事項はありますか?
よろしくお願いします。
0418デフォルトの名無しさん
垢版 |
2019/01/10(木) 15:17:22.62ID:sOvEngqx
>>417
追加前の標準フォームのコントロール群です。
フォームを挿入するとエクセルのツールのメニューの方で自動的に有効になります。
ActiveXとかツールボックスのコントロールとか関係あるでしょうか?
0419デフォルトの名無しさん
垢版 |
2019/01/10(木) 20:21:39.50ID:MwVMQTRa
プログラム初心者ですがVBA勉強するのに優しく解説してくれてるサイト教えてください
0420デフォルトの名無しさん
垢版 |
2019/01/10(木) 21:44:24.98ID:RQUJx46Y
>>415です
C:\Documents and Settings\ユーザ名\Application Data\Microsoft\Forms
の中を見たところEXCEL.boxのみでしたが、他何か入っていますか?
0424デフォルトの名無しさん
垢版 |
2019/01/10(木) 23:01:57.46ID:RQUJx46Y
>>421
有効になるのは「標準のコントロール」のみだけです。
使いたいのはWebBrowserコントロールなのですが、それはデフォで表示されていないので追加をする必要があります。
他のPCでは問題なく出来ていますが、1台だけ同じ手順で追加できないPCがあるので困っています。
http://image.itmedia.co.jp/ait/articles/1502/06/ExcelVBA9TipsForm_02.png
このイメージでいうとツールボックスに地球のアイコンがありますよね。これを追加するために
イメージ右半分のコントロールの追加のダイアログを出したいのですが出ないという意味です。
0425デフォルトの名無しさん
垢版 |
2019/01/11(金) 02:46:48.54ID:OnlOg3zM
>>424
同じ手順でできるPCとできないPCがあるならPC個別の問題かな
うちの環境では MicrosoftWebBrowser なら ieframe.dll を使っているようだけど
0426デフォルトの名無しさん
垢版 |
2019/01/11(金) 03:33:50.23ID:OnlOg3zM
フォームが表示されている画面で 表示→ツールボックス 
でツールボックスを表示してないと「その他コントロール」の項目が選択できないってやつかな?
0427デフォルトの名無しさん
垢版 |
2019/01/11(金) 08:37:10.61ID:sIbnloi9
いやいや、これは何かが壊れているわけで、当然PC個別の問題だし、ツールボックスが表示されている状態でその他のコントロールを選択すると普通は表示される筈のダイアログが表示されないという問題。

ExcelじゃなくてWindowsに問題のある可能性もある。
0428デフォルトの名無しさん
垢版 |
2019/01/11(金) 09:14:26.57ID:YHHsLUsK
返信ありがとうございます。
私もOS自体に問題があると思いますが出先のPCなので実際誰が何をしているのやらな状態です。
私はプログラマーではないので詳細はわからないのですが、ダイアログの参照先を調べてみた限りでは
ActiveXコントロールのDLLを色々なフォルダに参照にいっているようで、さすがにこれだけけのコントロールが壊れているとは考えにくいため
コントロールを表示するためのOSとの手続きの部分がおかしくなっている気がします(office側の要求にOSが応えない)
OSを初期化してしまえば良いと思うのですがもしそれで何かあった場合私では責任が取れないのでお手上げの状態です……トホホ
まずはiframe.dllの所在を調べてみます。上司は私より疎いのでなんとかならないの?の一点張りですが
もしどうしようもない場合もう一度言ってみたいと思います。(多分ここで解らなければお手上げだと思うので)
>>426 ツールボックスは表示できます(フォームをアクティブにして、メニューの表示で選択)
0429デフォルトの名無しさん
垢版 |
2019/01/11(金) 12:08:47.38ID:OnlOg3zM
あと一つだけ、参照設定画面でライブラリの優先順位が正常なPCと同じかどうか見たほうがいいかも
0430デフォルトの名無しさん
垢版 |
2019/01/11(金) 12:39:42.06ID:1sVePy4G
>>428
多分、レジストリに登録されているActiveX情報を見に行っているだけで実際のdllは見に行っていないと思う。
dllを見に行くのはダイアログ上でチェックした時じゃないかな。

リストアップに問題があるとすればレジストリに問題があるとか。
でも単純にそのダイアログを表示するだけの所でこけている可能性もある。

WordとかAccessでも同じ状況なのかな?
他にOffice以外でActiveXのリストを表示できるアプリがあれば、そこでは問題無いかなど。
0432デフォルトの名無しさん
垢版 |
2019/01/11(金) 18:28:05.98ID:s+JlNqnO
オフィスを少し古いバージョンにロールバックさせてみれば?
2010とか2003にしろって言ってるわけではなくて
2016のパッチの適用状態を最新から4世代くらい前に戻してみてはどうかって言う話ね
0433デフォルトの名無しさん
垢版 |
2019/01/12(土) 11:49:00.24ID:uvKv7UXV
まだエクセルωなんて使ってるのかωω
0434デフォルトの名無しさん
垢版 |
2019/01/12(土) 12:31:34.63ID:e9xF8Gpo
・客とのデータ交換フォーマットのデファクトスタンダード
・文字列、表、図形を混合したセマンティックレスな文書作成ツールとして優秀
・インストール監査がかからない

この条件を満たすツールは今のところエクセルしかないのでエクセルは必要
でもVBAの存在意義には正直なところ懐疑的かな
0437デフォルトの名無しさん
垢版 |
2019/01/12(土) 16:04:54.69ID:+r4m8XcO
おちんちん
0439デフォルトの名無しさん
垢版 |
2019/01/13(日) 00:05:22.07ID:hjY5Ys6w
割り当てたショートカットキーが競合した際の優先順位ってどうなっているのでしょう。
複数ブックでマクロオプションが競合した場合は、先勝ちのような気がします。
OnKeyはそれよりも強い?
自ブックに割り当てたショートカットを優先させる手段はありますか?
0441デフォルトの名無しさん
垢版 |
2019/01/13(日) 06:56:01.77ID:SAPxjsPr
>>440
えーと、同じキーアサインを持っているブック、A→Bの順に開いて、Bにフォーカスが当たっている状態で、Aのキー割付が反応しました。
先に読み込まれた方が居座るのかと、、
フォーカス順ってどういう状態?
0444デフォルトの名無しさん
垢版 |
2019/01/13(日) 20:14:37.35ID:9xnKbe6r
こんにちは>>415です。
更新の削除(ロールバック)も試してみたのですが改善しなくて結局もうお手上げ状態でした。
他のofficeアプリでも呼べなかったのでとりあえずドライブごとバックアップ取ってシステム入れ直すことにしました。
パスワードがないとか、アクティベーションができないとか、インストールしていたプログラムの原本がないとかどうなってんだよこの会社は程度には散々な目に合いました。
今どうにかこうにか復旧できて明日の業務には間に合いそうです。
ID・PWを統合管理する何かを作らないとダメかも・・・
もうしんどいのでおうち帰りますT−T
アドバイスくださったかたどうもありがとうございました。
なんかおいしいものたべたい……
0447デフォルトの名無しさん
垢版 |
2019/01/13(日) 23:49:20.57ID:mzAlUYGr
かわいそうに
くだらないトラブルで連休が潰れるなんてな
最初から.NETにしてたらゆっくり休めたかもなぁ
0448デフォルトの名無しさん
垢版 |
2019/01/13(日) 23:56:50.10ID:LesaGnrm
会社がシステム更新の費用をケチって社員に残業や休出を強いるのはブラック判定丸です
0451デフォルトの名無しさん
垢版 |
2019/01/14(月) 06:51:38.95ID:ztoWl03f
じゃjavascriptってvbaと比べて難易度高い?
0453デフォルトの名無しさん
垢版 |
2019/01/14(月) 09:44:43.02ID:p535EsUF
Calcのほうがマシでは?
機能面でも上だし無料でライセンスやインストールでのトラブルなどないからね
0454デフォルトの名無しさん
垢版 |
2019/01/14(月) 09:53:44.76ID:/nPFdxzS
>>451
VBA(というかVBシリーズ一般)ユーザーは他のものを覚えようとしないから未だにVBAユーザーなのだから、
VBAではないものは何であろうと極めて難しいよ
0455デフォルトの名無しさん
垢版 |
2019/01/14(月) 10:04:01.93ID:p535EsUF
高い金を払ってるのだから問題をサポートに投げなきゃ損だよ
連休を使って自力解決するぐらいなら最初から無料・サポート無しのOSSツールを使うのが正解
0456デフォルトの名無しさん
垢版 |
2019/01/14(月) 10:21:32.96ID:Gjhb4oYZ
Calc使ったこと無いだろ…
動作が安定しないしよくわからない独自仕様があるから困るわ
絶対パス使って別ファイルのデータを参照しにいったら、内部的に相対パスに変換されてるらしくて、
ファイルの位置を変えたらリンクを張り直さないと動かないとかだし
0457デフォルトの名無しさん
垢版 |
2019/01/14(月) 10:27:00.01ID:p535EsUF
エクセルだって
動作安定しない(ちょくちょく落ちる、ファイル壊れる、操作が失敗する)
へんな独自仕様の塊(そもそも表計算の標準仕様とは?)
ファイル移動したらリンク切れる(当たり前)

もしかしてなんか違うツールの話してる?
0458デフォルトの名無しさん
垢版 |
2019/01/14(月) 10:49:16.77ID:rhE9Hj5A
calcってwindowsの電卓のことじゃなかったのか?
0459デフォルトの名無しさん
垢版 |
2019/01/14(月) 10:53:17.36ID:rhE9Hj5A
プロのプログラマならショートカット使うから
Winキー + E + calc + ENTERキー
でいつも瞬時に電卓立ち上げてるからな
その間0.1秒
0462デフォルトの名無しさん
垢版 |
2019/01/14(月) 12:42:47.66ID:aPj/koI6
>>444
おまえが壊したんだろどうみても
0465デフォルトの名無しさん
垢版 |
2019/01/14(月) 15:19:29.30ID:kL0Onkfi
>>457
馬鹿は新しいものが良いものだと思ってるバージョンすぐ上げるからそうなる
0466デフォルトの名無しさん
垢版 |
2019/01/14(月) 16:17:48.40ID:p535EsUF
と思ってる人がセキュリティ事故や上の方でやらかしたようなトラブルにハマっっちゃうんだよな
何事も枯れてるほうがいいなんてのはとうの昔の話で、今は素早いアップデート(とテスト)が大切なんだよ
0467デフォルトの名無しさん
垢版 |
2019/01/14(月) 17:26:03.90ID:YUjplXjc
ID:p535EsUF

本日の死んだ方がいい大馬鹿
0468デフォルトの名無しさん
垢版 |
2019/01/14(月) 17:36:28.59ID:Kh7Ilxpb
でもVBAなんて未来ないじゃん
今から覚える意味ないのは間違いない
0469デフォルトの名無しさん
垢版 |
2019/01/14(月) 19:11:25.88ID:p535EsUF
ロジカルに意見できなくなって暴言を吐くしかできなくなった人ってたまに居るけどなんかかわいそう
0472デフォルトの名無しさん
垢版 |
2019/01/14(月) 19:21:43.79ID:qRVrYCla
いい加減、マクロの実行だけはできるけどVBEは別途開発者ライセンスの購入が必要、くらいの弾圧はしていいと思う
さすがにいつまでも甘やかしすぎ
0474デフォルトの名無しさん
垢版 |
2019/01/14(月) 20:35:40.54ID:Cz3RFHYj
ろくに組めない奴がマウント取りたがってる構図だな。

実際、俺の回りにいるできる奴はVBAを駄目だとか言う奴はいない。
0475デフォルトの名無しさん
垢版 |
2019/01/14(月) 20:43:07.10ID:qRVrYCla
>>474
実際、できる奴なら必ず他の選択肢を持っているからね
VBAに縛られていないから悪く言う必要もないだけであり、彼らが積極的にVBAを選択することはないよ
0477デフォルトの名無しさん
垢版 |
2019/01/14(月) 21:02:23.95ID:qRVrYCla
>>476
無意味な拘りで3倍の工数をかける奴は「できる奴」とは言わない
ただの迷惑で無能なオタクだな
0478デフォルトの名無しさん
垢版 |
2019/01/14(月) 21:57:12.74ID:fMQSLe21
C#やC++のスレでは自慢できないからここでマウントしたがる…というわけですね
0479デフォルトの名無しさん
垢版 |
2019/01/14(月) 22:21:10.88ID:HbfNSvAf
vbaのいいところってエクセル持ってれば無料で使えて大体のクライアントpcにエクセル入ってるって事なんだからあんまりあーでもないこーでもない言ってやるなよ
0480デフォルトの名無しさん
垢版 |
2019/01/14(月) 22:26:43.78ID:HmGTNO3E
エクセルのVBAってシート=変数の一覧みたいなものだし
素人にはやりやすいだからエクセルは好きですよ。
そんな感じでプロの人と棲み分けできていると思う。
0482デフォルトの名無しさん
垢版 |
2019/01/14(月) 22:34:56.07ID:HmGTNO3E
JavaScriptっていますごく人気あるんじゃないの?
0483デフォルトの名無しさん
垢版 |
2019/01/14(月) 23:07:34.41ID:Cz3RFHYj
結局、出来ない奴ってのはオラが世界だけなんだよな。

C#なんて出来ないこといっぱいあるのに工数とかいって言い訳するんだよ。
なんであんな遅くて出来ないこといっぱいのクソ言語使うのかねえ。

なんて言われた時の反論がバカにしてるVBAと同レベルの反論をするんだよな。

まともな奴ならそういう都合が分かってるからマウントなんて取らないものなんだが。
0484デフォルトの名無しさん
垢版 |
2019/01/14(月) 23:28:28.98ID:HmGTNO3E
>>483
あなたのいう出来る出来ないっていうのは何を指しているのかは解りませんが私にとっては何の価値も意味もないです。
それともあなたは自分が出来る奴っていう自慢をしたいんですか?
あなたが本当に凄いならあなたのいう下らないレベルの言語のスレではなく、もっと凄い人が沢山いるスレが相応しいと思います。
0486デフォルトの名無しさん
垢版 |
2019/01/15(火) 01:46:38.96ID:yHGEgwFF
>>466
働いたこともない無職か
0487デフォルトの名無しさん
垢版 |
2019/01/15(火) 08:47:01.01ID:2H7V8WUe
>>484
出来る奴ってのはどんな言語にもいるけど言語の優劣を語るような奴は出来ない奴の典型。

C#の方が...などと言う奴の言ってることってのは突き詰めると「プログラマーなんて底辺」なんてのと一緒なんだよ。

そんなことも分からないからマウント取ろうと頑張るんだね。
自分のバカさ加減を喧伝するようなもんだ。
0488デフォルトの名無しさん
垢版 |
2019/01/15(火) 09:14:01.41ID:S3yO0kW1
>>487
自己紹介乙
0490デフォルトの名無しさん
垢版 |
2019/01/15(火) 15:44:09.85ID:+MTMyzJj
アプデしたらExcelうごかんくなった
たすけてえろいひと
0492デフォルトの名無しさん
垢版 |
2019/01/15(火) 17:49:29.10ID:yHGEgwFF
>>490
ID:p535EsUFに聞け
0493デフォルトの名無しさん
垢版 |
2019/01/15(火) 17:53:44.09ID:LAAyKIEn
>>487
できる奴ほど言語のメリットデメリットを正確に理解してるから優劣を語る
出来ない人はそもそも語るほどの知識がない
0494デフォルトの名無しさん
垢版 |
2019/01/15(火) 20:59:40.68ID:2H7V8WUe
>>493
メリット、デメリットを把握してたら優劣つかないんだが。

そうだな、このスレで何度となく言われてることだが、Excelのみで完結できるというメリットを挙げると、別ファイルが有っても大きな問題じゃないとかくだらない言い訳を始めるんだよ。
今まで、どんな場合でもVBAは駄目とか言ってたくせに。
0497デフォルトの名無しさん
垢版 |
2019/01/16(水) 12:53:07.07ID:dguj1mvw
どんな場合でもと言ってたのが破綻したわけだ。
それに、この点は全てに係る重要な点だ。

他にも沢山あっただろ。
でもこれ1つで「どんな場合でも」は破綻したな。
0498デフォルトの名無しさん
垢版 |
2019/01/17(木) 10:25:15.47ID:yJSDrWu9
そもそも職場でexcelしか許可されてなくてほかのソフトが入れられない人にとって
ほかの言語がどれだけメリットがあっても使わせてもらえなければどうしようもないんじゃね
俺はVBA以外も多少知っているけどそっちの話は別のスレでやってる
0499デフォルトの名無しさん
垢版 |
2019/01/17(木) 11:51:25.20ID:a+HEJ0Au
本当に必要なら申請すれば入れさせてもらえるはずとか言ってもねぇ
VBAでは絶対無理ってわけでもなく、出来ないこともないので、
本当に必要かって言われるとそうではないことも多いからなぁ
0500デフォルトの名無しさん
垢版 |
2019/01/17(木) 12:21:24.46ID:oU9OMPiG
C#やPowershellも含めて使えないってことは滅多にないだろ
そういう特殊環境を前提に語るべきではない
0501デフォルトの名無しさん
垢版 |
2019/01/17(木) 12:56:14.54ID:JYUOuN3I
仕事ではその特殊環境となる場合が結構あるんだが。
VBA禁止って所もある。

けどこのスレはVBAが前提なんでね。
C#やPowerShell禁止はデメリットになるけどVBA禁止はデメリットにならないという前提を理解出来ない奴は結構来るけど。
0502デフォルトの名無しさん
垢版 |
2019/01/17(木) 13:09:47.45ID:gy8QMGRk
VBA禁止の本当の意味は、
馬鹿が作ったVBA禁止
0503デフォルトの名無しさん
垢版 |
2019/01/17(木) 13:42:50.54ID:K8cT5dis
IEをオブジェクトにしてフォームに入力、実行まではできます。
実行後、更新されたHTMLを取得するにはどうすればよいのでしょうか?
0504デフォルトの名無しさん
垢版 |
2019/01/17(木) 13:45:27.52ID:Vm2XnGVD
>>498
わかるわ。うちもシンクライアントでガチガチにOS固められてるから必然的にVBAとJavascript覚えた。
0507デフォルトの名無しさん
垢版 |
2019/01/17(木) 16:39:45.91ID:Vm2XnGVD
>>503
objIE.Document.Body.innerHTML で読めないの?
0508デフォルトの名無しさん
垢版 |
2019/01/17(木) 16:44:36.37ID:YCcy3q+Y
>>500
ここはVBAのスレ。文字読めないヴァカ?
C#やPowershell自慢やりたいんならそのスレに逝けアホンダラ
0509デフォルトの名無しさん
垢版 |
2019/01/17(木) 16:47:10.66ID:6nl0xXGy
>>508
何で自慢になるんだ?
馬鹿なのか?
0510デフォルトの名無しさん
垢版 |
2019/01/17(木) 17:43:02.84ID:8rj4oJ0j
馬鹿には無理
0512デフォルトの名無しさん
垢版 |
2019/01/17(木) 19:42:56.03ID:buYHz7fQ
>>503
普通は、Ruby, Selenium WebDriver, Nokogiri で、スクレイピングするけど、

ピラフ大王は、5ch のスレを、PowerShell でスクレイピングしていた、強者!
0513デフォルトの名無しさん
垢版 |
2019/01/17(木) 19:57:04.61ID:Vm2XnGVD
>>512
あ、俺Seleniumでスクレイピングしてるわ
IE面倒なんだもんw
0514デフォルトの名無しさん
垢版 |
2019/01/17(木) 20:39:11.18ID:JYUOuN3I
IEオブジェクトはHTMLコード内の改行も1つのノードとして扱ってる点が特殊だな。
MSXML2.XMLHTTPとかhtmlfileでやる場合はそんなこと無いけど。
0515デフォルトの名無しさん
垢版 |
2019/01/17(木) 20:51:55.46ID:/w6CmWBz
スクレイピングをわざわざVBAでやろうという発想がどこから出てくるのか不思議だな
個人なら裁量があるのにあえてVBAを使う選択はありえないし、
会社だとするとスクレイピングをやろうと考える程度にリテラシーがありコンプライアンス意識が低く、
かつ他のツールを使えない程度には厳格なちゃんとした企業なのにRPAを買う金はない?
0516デフォルトの名無しさん
垢版 |
2019/01/17(木) 21:30:07.38ID:Vm2XnGVD
>>515
どうしてって、うーん、ただPCにOFFICEが入ってたから使ってるw
javascriptもPerlとかも無料だし、大体どこでも使えるし何か買うほどやる気ないし……
あなたの思っていることは理にかなっていると思うよ、多分色々なことを知っててそれが出来れば視野も広がるって親切心なんだろう。
でも、なんつーか個人で使うだけだから脱線しててもやりたいことが短時間で出来ればいいっていう視点もまぁ理解して欲しい。困ったら聞くかもしんないけどお手柔らかに頼みますw
あとありがとう。
0518デフォルトの名無しさん
垢版 |
2019/01/17(木) 23:47:45.37ID:1381LMvg
>>499
俺もそんな理由でVBS使ってるわ。
本当は専用の開発ソフト欲しいけど、
やろうと思えばメモ帳だけで出来なくもない、ってのが曲者。
0519デフォルトの名無しさん
垢版 |
2019/01/18(金) 00:09:50.30ID:3Aai6ayN
うーんどうやら開発ツールを申請できない/入れてもらえない会社が無視できないくらい存在する、
というのはデタラメじゃなかったんだな
0521デフォルトの名無しさん
垢版 |
2019/01/18(金) 04:56:39.52ID:iqHxmsyd
馬鹿には入れさせないだけ
0522デフォルトの名無しさん
垢版 |
2019/01/18(金) 08:20:26.64ID:FdTpqa5z
>>515
別にわざわざでは無いけどね。
一瞬で出来るんだわ。
それ用のツールを昔、作ったんでね。

>>519
それは仕事の規模によるだろ。
それに、こっちも入れる迄もないと思ってるから申請なぞせんぞ。
VBAだとどうにもならない仕事が継続的に続くなら申請するんだろうが。
0523デフォルトの名無しさん
垢版 |
2019/01/18(金) 08:59:50.59ID:HmTdANXo
まずOS標準のPowershellでできることをやる
規模が大きくなって型安全性などが欲しくなったら.net CLIとVSCodeを入れる
VBAは本当にVBAが必要で他に選択肢がない場合にしょうがなく使う
0526デフォルトの名無しさん
垢版 |
2019/01/18(金) 10:27:15.84ID:02H4sO2V
うちは無料ならツール申請すれば通常通るし、理由もそんなに掘り下げて詮索されることはない。
有料だととたんにハードルが上がるけど。
んでVisual Studioやらなんやら入れた後もVBAはがんがん使ってるな。
C++/C#と比較してもアドバンテージはあると思うよ。
ちなみにPowershellは起動できないようになってる。権限の問題だから単なるインストール申請よりハードル上がるとおもう。
0527デフォルトの名無しさん
垢版 |
2019/01/18(金) 12:01:36.56ID:dGgLcYHd
>>526
C# を禁止せずに PowerShell 禁止とか意味わからん
まあよくわかってない情シスとかが決めてたりするんだろうな
0528デフォルトの名無しさん
垢版 |
2019/01/18(金) 12:06:44.97ID:Xg90leRQ
>>527
そりゃ情シスなんかちょっとだけ意識高いPCユーザーに過ぎないんだから、その辺の層の人にとってexeは怖いでしょ
PowerShellなんか所詮テキストファイルだから安心
0529デフォルトの名無しさん
垢版 |
2019/01/18(金) 12:54:22.16ID:FdTpqa5z
PowerShellはデフォルトで実行出来ないでしょ。
で、実行できるようにして良いかが問題となる。
0530デフォルトの名無しさん
垢版 |
2019/01/18(金) 13:32:03.41ID:ld1N2+LD
うちは共有pcだと社員の個人情報とか社外秘のデータも扱っているから
情報漏洩やコンプライアンスはうるさいんだよね
そういうの適当な会社がうらやましいよ
0532デフォルトの名無しさん
垢版 |
2019/01/18(金) 13:52:14.57ID:dGgLcYHd
>>529
> PowerShellはデフォルトで実行出来ないでしょ。
できるよ
powershell -ExecutionPolicy RemoteSigned xxxx.ps1
ってやるだけ
0533デフォルトの名無しさん
垢版 |
2019/01/18(金) 15:05:03.66ID:u9bkOu0s
PowerShellデフォルトでスクリプト実行できないのは致命的。
「え?デフォルトからセキュリティ弛めるの?大丈夫なの?」ってなる。
0536デフォルトの名無しさん
垢版 |
2019/01/18(金) 18:21:14.18ID:FdTpqa5z
>>532
それをどこでやるの?
当然ダブルクリック1発でできるんだよね。

もしかしてそのためにバッチファイルも作るとか言わんよな。
0537デフォルトの名無しさん
垢版 |
2019/01/18(金) 18:36:02.88ID:dGgLcYHd
>>536
やれる/やれないの話な
後出しでダブルクリックガーとか恥ずかしすぎるだろ w
ちなみに若干トリッキーだがバッチファイルにPowerShellのソースを入れちゃうこともできる
0538デフォルトの名無しさん
垢版 |
2019/01/18(金) 19:50:38.17ID:BPWAMvDw
ExecutionPolicyはCurrentUserスコープなら権限不要で変更可能

この情報はプロならみんな知ってるけどアマチュアは知らない人が多いね
0540デフォルトの名無しさん
垢版 |
2019/01/18(金) 20:43:46.91ID:FdTpqa5z
>>537
???
今まで何の話をしてたんだ?
PowerShellの方がVBAより有利だと言いたかったんじゃないの?

君の発言を聞いてるとPowerShellはますます使いものにならないように感じるんだが、もしかして君は実はVBAの方が有利だと言いたかったのか?
0541デフォルトの名無しさん
垢版 |
2019/01/18(金) 21:06:07.91ID:dGgLcYHd
>>540
> 今まで何の話をしてたんだ?
>>529 > PowerShellはデフォルトで実行出来ないでしょ。
とか言う情弱がいたって話 w
0543デフォルトの名無しさん
垢版 |
2019/01/18(金) 22:19:33.59ID:dGgLcYHd
>>542
まあ設定いるんだけど管理者権限は要らない
PowerShell も>>538が言うように管理者権限不要だけど>>529はSet-ExecutionPolicyの-scopeを知らなかったんだろうな
0544デフォルトの名無しさん
垢版 |
2019/01/18(金) 23:37:19.13ID:c34mocfv
設定を変えなければ動かないことをデフォルトでは動かないというんじゃないかね
設定を変えるのが簡単かどうかは別問題だろ
0546デフォルトの名無しさん
垢版 |
2019/01/19(土) 00:13:36.27ID:Fjsb0QYM
既定では
右クリック→管理者として実行
右クリック→やWindowsPowerShellで実行

いずれも.ps1スクリプトは実行できない

>>543もまちがい
既定状態のPCでも
powershell -executionpolicy remotesigned -file 'hoge.ps1'
などと打てば自動的にプロセススコープで自作のスクリプトなどを実行可能
0548デフォルトの名無しさん
垢版 |
2019/01/19(土) 05:10:03.36ID:+IqL7b8U
>>544
だからそんなこと言い出したらVBAだってディフォルトでは動かないって話
逆にPowerShellはオプションつければ設定変更なしに実行可能
要するに>>529が情弱っていう事実は変わらない

>>546
> >>543もまちがい
話の流れを読めよ…
既に>>532に書いてあることでドヤ顔されても困る w
0549デフォルトの名無しさん
垢版 |
2019/01/19(土) 06:27:03.00ID:wkXfpZQC
VBAってデフォルトでは動かないんだっけ?
マクロ入りファイルを開く時は許可か設定が必要だけど、新規ブックならいきなり使えたような
再インストールして確認するのは面倒だからうろ覚えだけど
0550デフォルトの名無しさん
垢版 |
2019/01/19(土) 07:08:08.04ID:fPDnzLoP
VBAはそもそもオフィスのインストールという過酷な作業が必要だからな
アマチュアの事務員さんは用意されたパソコンを使うだけだから知らないのかもしれないがな
プロはプロジェクトのたびに全員のパソコンを誰かが準備しなきゃならんのよ
オフィスのインストール作業は地味にでかい工数になるんだ
0551デフォルトの名無しさん
垢版 |
2019/01/19(土) 08:17:46.72ID:pNQS4Xn+
デフォルトで信頼されてる場所のファイルでも動かなかったっけ?

大昔のエクセルならデフォルトでどこでもマクロ動いてたけどなw
0552デフォルトの名無しさん
垢版 |
2019/01/19(土) 10:55:07.59ID:gJfblIQ2
実行するファイルとは別に呼び出す仕組みを用意する必要があるからpowershellがクソだって言われてるのが分からないのか?
頭悪すぎない?
0553デフォルトの名無しさん
垢版 |
2019/01/19(土) 11:03:22.61ID:Fjsb0QYM
実行スコープを細かく規定出来るのは進歩。クソだとのたまうアホはセキュリティ意識がおかしい
0555デフォルトの名無しさん
垢版 |
2019/01/19(土) 11:12:21.71ID:gJfblIQ2
そのスコープを組み込めない時点で終わってるという話をしているんですよ?
0556デフォルトの名無しさん
垢版 |
2019/01/19(土) 11:39:33.19ID:fPDnzLoP
スコープを組み込む

この言葉の意味がよくわからんので詳しく説明してみて
0557デフォルトの名無しさん
垢版 |
2019/01/19(土) 11:47:23.37ID:fPDnzLoP
vbaもエクセルファイル自体が実行可能な訳じゃなくエクセルというプログラムが解釈してやってるだけ
なのでvbaも別に呼び出す仕組みが必要と言っていい
その仕組みは膨大なインストール時間とライセンス料金を支払ってオフィスをインストールするという苦行を乗り越えないと利用できない

それに比べたらパワーシェルは実行までの手間は殆ど無視できるほど小さい
シェルでたったの1行コマンドレットを打つだけでOK
しかも無料なので嬉しいね
0558デフォルトの名無しさん
垢版 |
2019/01/19(土) 11:47:30.68ID:gJfblIQ2
OSのデフォルト状態で出来ることが前提
拡張子が.ps1の場合右クリックのメニューにremotesingedを表示させるとか?
0561デフォルトの名無しさん
垢版 |
2019/01/19(土) 12:11:34.94ID:lm8WiCyM
現実社会では話ができない寂しい「プロ」」のプログラマどもが何やらくだらん
雑談をしてスレを潰してるけど質問者の皆さんはそんなヨタ話に付き合う必要
はありませんので、遠慮なく質問をどぞ〜
0562デフォルトの名無しさん
垢版 |
2019/01/19(土) 12:14:32.41ID:oaSrkPrl
ところでホンマにブロなん?プロさんて?なんかあやしいんですけどw
0566デフォルトの名無しさん
垢版 |
2019/01/19(土) 13:21:53.40ID:+IqL7b8U
>>563
うちの会社は開発専用機にはインストールしないけどそういう機器は自分でセットアップするからなぁ
>>550の言うプロジェクトの度に準備とかはよくわからんな
0567デフォルトの名無しさん
垢版 |
2019/01/19(土) 13:26:53.56ID:4FsWRGgY
CADなんかの専用ソフトしか動かさんとか開発機とかそういうのならわかるけど、
このスレで話題にする以上関係ないというか対象外でしょ
0569デフォルトの名無しさん
垢版 |
2019/01/19(土) 14:06:33.45ID:/+FUwnIm
>>558
へえ、ExcelってOSのデフォルト状態で使えるんだ?
0570デフォルトの名無しさん
垢版 |
2019/01/19(土) 14:46:59.67ID:Qiw5pxsO
WSHだろ常考
0571デフォルトの名無しさん
垢版 |
2019/01/19(土) 15:22:25.47ID:wiNfQeeu
>>523-537
例えば、クリップボードでも、Ruby から、powershell コマンドを呼ぶ。
a.rb

str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換

これをダブルクリックで起動したいのなら、バッチかVBS で起動する。
a.bat

ruby .\a.rb

テキスト処理は、VSCode, Rubyで十分!
0572デフォルトの名無しさん
垢版 |
2019/01/19(土) 15:49:39.46ID:BW5TF7JU
>>571
VSCodeは個別にライセンスのある膨大な数のオープンソースソフトウェアの塊であり、
PowerShellを禁止しているような糞組織のPCにインストールすることは不可能
RubyもライセンスにGPLの文字を見つけた途端に情シスが卒倒するレベルで全くもって論外
0573デフォルトの名無しさん
垢版 |
2019/01/19(土) 21:28:25.59ID:AuMD8hxP
プロさんてバカしかおらんの?
0575デフォルトの名無しさん
垢版 |
2019/01/19(土) 21:40:37.46ID:AuMD8hxP
>>574
開きなおるなバカ
0579デフォルトの名無しさん
垢版 |
2019/01/20(日) 00:48:58.52ID:QFn18v7i
dictionaryに格納してるItemを検索して、存在してればKeyを返却する方法が知りたいのだけど、ループさせてヒットしたら値を出す方法以外でfind的な一発でポンと返す記述の仕方はない?
0580 ◆QZaw55cn4c
垢版 |
2019/01/20(日) 01:04:30.85ID:yiNhGfDQ
>>579
Item 間に順序関係があればそれを利用して二分探索を適用できる、無論、記述はループチェックに比べて量が多くなる
0581デフォルトの名無しさん
垢版 |
2019/01/20(日) 03:54:11.74ID:IAu7YphR
>>579
一行で書きたいということなら、文字列ならワークシート関数Matchで検索できます。
ただ存在しなかった場合はエラーが返るので例外処理か事前に調べておく必要があります。

例)
Dim map As Dictionary
Set map = New Dictionary
map.Add "みかん", "橙"
map.Add "りんご", "赤"
map.Add "さくらんぼ", "赤"
map.Add "ぶどう", "紫"

On Error Resume Next

Debug.Print map.Keys(WorksheetFunction.Match("赤", map.Items, 0) - 1)
'りんご
Debug.Print map.Keys(WorksheetFunction.Match("白", map.Items, 0) - 1)
'エラー

On Error GoTo 0

個人的には普通に関数作った方が使いやすいと思います。
0582デフォルトの名無しさん
垢版 |
2019/01/20(日) 08:04:01.23ID:cWi8furK
>>439
Excel.Application.Onkey で最優先ショートカットキーにできる
次いで.macroOptionsの古いほうが動くよ
0583デフォルトの名無しさん
垢版 |
2019/01/20(日) 08:25:03.17ID:KJwN8fo6
配列とかコレクションに対してSQLが使えればいいんだけどな。
matchやvlookupより速いんだけど、いちいちシートとかcsvに書き出さなきゃならん。
0586デフォルトの名無しさん
垢版 |
2019/01/20(日) 09:32:11.24ID:brNktcWU
>>582
おっと、回答いただけるとは。
onkeyだと、activeworkbookだろうが、thisworkbookだろうが、後定義したほうが上書き、後勝ちしません?
active側に定義されたショートカットがそれぞれ反応してくれると嬉しいのですが。
0587デフォルトの名無しさん
垢版 |
2019/01/20(日) 10:54:01.49ID:mVpLWWyp
>>583
MSにExcelでC#使えるようにしてくれ〜
って要望をガンガン出せばお前の望みが叶うかも知れない
0588デフォルトの名無しさん
垢版 |
2019/01/20(日) 13:02:37.66ID:QFn18v7i
>>580,581
ありがとう
Itemには順序関係ないから二分探索は出きなさそう
worksheet関数は完全に意識無かったので見た瞬間にあぁ!その手があったか!と目からウロコでした
0589デフォルトの名無しさん
垢版 |
2019/01/20(日) 13:13:34.11ID:k7Xn9dKz
C#スクリプトってOSSで軌道に乗っちゃってるからExcelの処理系として採用されることはないと思うぞ
同じものをClosedで再発明するってのも馬鹿馬鹿しいしな

強力な言語を使いたいならその言語を主としてExcelをコントロールすればいい
それで十分だ
わざわざExcelに乗っける必要性は薄い
0591デフォルトの名無しさん
垢版 |
2019/01/20(日) 16:43:57.95ID:tNp2z70l
この場合の再発明と言われれば車輪の再発明を連想出来ないのはかなり緩いんだろう
0593デフォルトの名無しさん
垢版 |
2019/01/20(日) 17:32:05.81ID:mVpLWWyp
いや、車輪の再発明はいいとして何を再発明するんだよって話
C#処理系のソースライセンス見てないけどMSが自社製品に使えなくなるようなライセンスにはなってないだろうし(なってたらVisual Studioの有償版とか売れなくなる)
普通にExcelに組み入れるだけだろ
0594デフォルトの名無しさん
垢版 |
2019/01/20(日) 17:45:17.54ID:TQeakhfS
>>593
メンテナンスのコストを甘く見すぎ
Excelに入れるなら最低でも以後10年は完全な互換性を維持し続けなきゃいけないわけ
今メインストリームのC#環境を入れるなら.NET Coreを組み込むことになるだろうけど、
.NET Coreって完全なサイドバイサイドを前提にガンガン破壊的変更をぶっ込んでいくスタイルだから、
Excelのバージョンアップのときに単純に.NET Coreのバージョンを上げるわけにはいかなくて、
Excel専用のブランチを作って継続的にメンテしていかざるを得ないの
それは実質的には新たに.NETの兄弟分を作って独立して育てていくことに他ならず、多大なメンテナンスコストを生じる上、
.NET エコシステムの分断を生むことになる
そんな馬鹿げたことをするくらいなら普通に.NET Coreを直接使わせた方が遥かにマシだろう
0595デフォルトの名無しさん
垢版 |
2019/01/20(日) 17:59:54.91ID:mVpLWWyp
>>594
> Excelに入れるなら最低でも以後10年は完全な互換性を維持し続けなきゃいけないわけ
それVBAの開発担当者にも言ってくれよ w
0596デフォルトの名無しさん
垢版 |
2019/01/20(日) 18:07:02.56ID:TQeakhfS
>>595
煽りはいいから直近10年でVBAに対して行われた破壊的変更を具体的に挙げてくれよ
当たり前だが不具合の話はしてないぞ?
0597デフォルトの名無しさん
垢版 |
2019/01/20(日) 18:28:52.57ID:mVpLWWyp
>>596
いや破壊的かどうかは別にしてもVBAも色々機能追加とかされてるだろ
VBAの機能追加をやめてそのリソースをC# for Officeに割くだけだよ
そもそもMac版はともかくWindows版のOfficeなら.NET Coreじゃなくて.NET Framework上に構築するだろうしな
0598デフォルトの名無しさん
垢版 |
2019/01/20(日) 18:31:24.08ID:wKV5+GB/
みっともないからいいかげん止めや似非プロさんの一人語り
そもそも出鱈目やってバレバレのプロ風の話して誰に対してマウント取りたいねんw
0599デフォルトの名無しさん
垢版 |
2019/01/20(日) 18:46:13.28ID:TQeakhfS
>>597
Full .NET はメンテナンスモードに入ったよ
4.8を最後に、今後大きな機能追加はない
残念ながら、今入れても新たに時代遅れのゴミが増えるだけだ
0600デフォルトの名無しさん
垢版 |
2019/01/20(日) 20:02:31.83ID:mVpLWWyp
>>599
逆に都合がいいじゃん
.NETFrameworkは簡単に廃止できないから君が大事にしてる互換性も保ちやすいしね
0601デフォルトの名無しさん
垢版 |
2019/01/20(日) 22:44:30.32ID:aU4dkoPo
A4用紙に上から4件ずつ異なるデータを入力して、
印刷したいのですが、どうすればいいか教えて下さい。
データ数は日によって異なり、30件〜50件程度あります。
1ページ目に1〜4、2ページ目に5〜8・・・という感じです。
うまく説明出来なくてすいません。
4つデータを入力して印刷したら次、っていう感じの
ループ処理のコードのサンプルなどありましたら教えてください。
0604デフォルトの名無しさん
垢版 |
2019/01/21(月) 09:00:45.75ID:MgnF8xe3
このループw
他言語を推奨してる奴らには馬鹿しかいない。

ExcelVBAのスレなんだからExcelが動いてるのが大前提なんだよ。
そこへノコノコ乗り込んで来てOfficeインスト―ルとか言ってる馬鹿は滑稽。

テキスト処理とかもアホ丸出し。
Excel関係無いなら、そもそもVBAでやる必要全く無い。
そして全くのスレ違い。
0605デフォルトの名無しさん
垢版 |
2019/01/21(月) 09:04:27.40ID:MgnF8xe3
その後のC#やPythonを組み込んでくれって話はどうでもいい。
入って来たらそれで組むだけだ。
0607デフォルトの名無しさん
垢版 |
2019/01/21(月) 12:17:14.05ID:HulQp10o
言われてみればVBAの破壊的仕様変更ってまったく無いよな。
オブジェクトを省略してて挙動が変わったくらいならあるけど。

64bit対応くらいじゃ無いか?
0611デフォルトの名無しさん
垢版 |
2019/01/21(月) 22:36:48.74ID:+ZXh/xZN
改ページ位置の誤検出がヒドイ。
一旦、改ページプレビューにしてから戻せば大丈夫ですとか、何だよそれ。
0613デフォルトの名無しさん
垢版 |
2019/01/22(火) 00:07:05.98ID:TC75Tgsq
よろしくお願いします。
あるシートのコピーだけを新規の別ファイルとして保存したいのですが、

1 dim fn as string
2 fn="c:\*****\集計表.csv"
3 ThisWorkbook.Worksheets("集計表").Copy
4 Application.DisplayAlerts = False
5 ActiveWorkbook.SaveAs fileName:=fn, FileFormat:=xlCSV
6 ActiveWorkbook.Close

このように書きました。普通だと問題なくいっているのですが、この処理をしている途中で、
使用者がガチャガチャとマウスをイジり、いくつも開いているうちの適当なブックをアクティブにしてしまった
りなどしてると、想定通りの動作をしなくなってしまいます。
3行目でコピーしたときに、コピー先のその新しいブック自体を名指しできれば、いいのではないかと
思うのですが、いかがでしょうか?
「ActiveWorkBook」ではなく、ちゃんと名指しする方法ってないでしょうか?
0614 ◆QZaw55cn4c
垢版 |
2019/01/22(火) 00:33:28.43ID:zFHfz07h
いろいろな事情があって、ExcelVBA に専心することになりそうです…Excel VBA から任意の win32api を呼び出すことは可能ですか?
0615デフォルトの名無しさん
垢版 |
2019/01/22(火) 00:44:54.38ID:KMNb7p7Q
>>613
処理中いじるなと表示させたフォームをモーダルにして処理終わるまで×ボタン消しとくとかは?
0617デフォルトの名無しさん
垢版 |
2019/01/22(火) 05:03:39.16ID:1xYsQegz
>>613
方法1:新規ブックはWorkbooksコレクションの末尾に追加されるはずなので、Workbooks (Workbooks.Count)で参照できます。

方法2:先に新規ブックを作っておけば参照出来ます。
余計な新規シートが触られる不安があるなら削除する必要があります※
例)
With Workbooks.Add
  Dim fn As String: fn = "c:\*****\集計表.csv"
Worksheets("集計表").copy Before:=.Worksheets(1)
Application.DisplayAlerts = False

Dim elem As Worksheet '※
For Each elem In .Worksheets
If elem.Name <> "集計表" Then elem.Delete
Next elem

.SaveAs Filename:=fn, FileFormat:=xlCSV
.Close
End With

方法3:集計表なので数式が入っていると思いますから、Copy時のCalculateイベントでシート自身に保存させます。
例)
Private Sub Worksheet_Calculate()
If Worksheets.Count > 1 Then Exit Sub 'Copyされた単一シートか判定
Dim fn As String: fn = "c:\*****\集計表.csv"
Application.DisplayAlerts = False
ThisWorkbook.SaveAs Filename:=fn, FileFormat:=xlCSV
ThisWorkbook.Close
End Sub
上記を集計表シートのシートモジュールに書き込むと、Worksheets("集計表").Copy だけで自動的に保存されます。
0618デフォルトの名無しさん
垢版 |
2019/01/22(火) 05:11:20.49ID:1xYsQegz
Worksheets("集計表").copy
↓修正
ThisWorkbook.Worksheets("集計表").Copy 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
0620デフォルトの名無しさん
垢版 |
2019/01/22(火) 08:14:29.14ID:J7GVb3Rk
>>614
任意ってのはどういう意味?
動的に呼び出したいってこと?

それだったらかなり高度になる。
0621デフォルトの名無しさん
垢版 |
2019/01/22(火) 12:45:48.79ID:/p6ZcYuK
declareで追加するだけでしょ
ぐぐればサンプル大量に出てくるし
高度でもない
0622デフォルトの名無しさん
垢版 |
2019/01/22(火) 13:00:35.87ID:/wbMKv3O
厚生省の中の人がプログラムで不正するように描いてたのってExcel?
0623デフォルトの名無しさん
垢版 |
2019/01/22(火) 14:06:11.20ID:Hs2/RF8Y
あれはファイルの更新日をいじっただけだったはず(開いて上書き保存かもしれんが)
0625デフォルトの名無しさん
垢版 |
2019/01/22(火) 20:39:31.87ID:J7GVb3Rk
>>621
それは静的に呼び出すということ。

動的の場合は、LoadLibraryとかGetProcAddressとかを使う話になる。

昔、調べまくってサンプル作ったことあるけど、何でも自由に動かせるものじゃなかった。
というより殆どのAPIは動かなかった記憶が。
0628デフォルトの名無しさん
垢版 |
2019/01/22(火) 22:38:47.81ID:CihaJZ6+
Excelはどのくらいポリゴン表示出来るの?

1. PS並み
2. PS2並み
3. PS3並み
4. PS4並み
0629デフォルトの名無しさん
垢版 |
2019/01/23(水) 00:32:34.72ID:glGBkXdT
5. PS5並み
0634デフォルトの名無しさん
垢版 |
2019/01/23(水) 13:59:08.25ID:b9b+73n9
>>625
馬鹿には無理
0636デフォルトの名無しさん
垢版 |
2019/01/23(水) 16:19:34.41ID:CpZRwgZL
回答者の連中が勝手に条件を考えて話をややこしくするのも
質問者がそれを修正しようとしないのもこのスレのお約束
0637デフォルトの名無しさん
垢版 |
2019/01/23(水) 17:37:28.67ID:uebkOjvn
だいたいDeclareなしに呼び出さなきゃいけない要件なんてあるか?
候補となるAPIの範囲なんてどう考えても限られてるだろう。
ジグネチャ情報ごと外部からもらうのか?
0638デフォルトの名無しさん
垢版 |
2019/01/23(水) 21:06:47.46ID:e5qX8jhS
>>637
プラグインdllを呼び出すような要件だな。
プラグインdllを指定のフォルダに入れてもらうようにしておいて、呼び出し方はこちらで決めておく。
指定フォルダからdllファイルを列挙して、ファイル名と、決められた通りの呼び出し方で呼び出すやり方になるからDeclareは使えない。

まあ、めったに無いだろう。

>>635
「任意」の意味がよく分からん。
動かしている最中に「任意」のAPIを呼び出したいという意味かと思った。
それともcdecl呼び出しのAPIは基本的に出来ないっていうような話をすれば良かった?
まあ、DispCallFuncでゴニョゴニョで出来るんだけども。
0639デフォルトの名無しさん
垢版 |
2019/01/23(水) 22:47:22.53ID:9/VHRHNs
VBAでは(トリッキーなことしないと)作れない引数型のAPIのこととかじゃね?
0640デフォルトの名無しさん
垢版 |
2019/01/24(木) 09:54:58.66ID:9Yy7hd5n
初歩的かもしれない質問でお恥ずかしいのですが、知恵をお貸しいただきたいです。

1年の中で最大の数値が含まれる日付の値全てを別シートに貼り付けるというVBAプログラムを作成したいです。
また、この場合の1日とは前後1日分ではなく、その時間が含まれる1日の事です。

例えば、30分毎の売り上げ金額が入力されたexcelシートが1年分あるとします。

1年間の中で最大の売り上げ金額が、2018/2/14 12:30に存在すると仮定します。

その場合に、2018/2/14 0:00〜 2018/2/14 23:30
の値を抜き出し、別シートに貼り付けるというプログラムを作成したいです。

データの形は、

2018/2/14 0:00 300
2018/2/14 0:30 200



2018/2/14 23:30 500

のようになっています

自分でも一通り調べてみたのですが、どうしてもしっくり来るものが見つかりませんでした。

どうぞよろしくお願い致します。
0641デフォルトの名無しさん
垢版 |
2019/01/24(木) 12:17:49.04ID:6DEMoFXg
>>638
おまえは頭が悪くて他人にものを教えられる様な人間やない
ちゅう事をそろそろ思い知った方が幸せになれるで
0642デフォルトの名無しさん
垢版 |
2019/01/24(木) 12:27:34.76ID:kIY0kOtD
>>640
問題を分割して考えよう

1. 最大の値を持つ行(と言うか日時)を取得する → 最大日時とする
2. 以下を最初の行から最後の行までループする
2.1 行が持つ日時と最大日時の日付部分だけ比較する
2.2 日付部分が合致してたらコピーする

で、どこがわからないの?
0643デフォルトの名無しさん
垢版 |
2019/01/24(木) 12:37:36.92ID:6BCdjRMd
調べるだけで頭を使っていないのだからわかるわけない
ゆとり教育世代にありがち
0644デフォルトの名無しさん
垢版 |
2019/01/24(木) 12:38:49.74ID:FgOMH45t
>>641
自分が頭が良いということを全く証明もせずに絡んで来られても困るんだがw

こういう絡み方で頭悪そうだとは思うけどね。
0645デフォルトの名無しさん
垢版 |
2019/01/24(木) 12:55:51.34ID:6DEMoFXg
実にバカらしい困り方やね
0646デフォルトの名無しさん
垢版 |
2019/01/24(木) 13:12:21.15ID:Ay2CLdQj
>>643
マウント取りたいだけの老害
なんの生産性もないからやめた方がいいよ
0647デフォルトの名無しさん
垢版 |
2019/01/24(木) 13:13:31.30ID:+O0AGYtG
hoge.dll だけあるときに hoge.def を作りたいんだけどどうすればいい?
0648デフォルトの名無しさん
垢版 |
2019/01/24(木) 13:38:55.05ID:pEQDGUsa
>>646
悔しかったか、ゆとり世代
0649デフォルトの名無しさん
垢版 |
2019/01/24(木) 14:52:02.40ID:DfMDGTcZ
>>642
おっしゃる通り1つずつこなしていきたいと思います。

最大値を取得する所まではなんとかなりましたが、最大値が入っているセルの左からoffsetによって値の取得をしようとしています。しかしエラーが出てしまい(91エラー)詰まっています。
0651デフォルトの名無しさん
垢版 |
2019/01/24(木) 15:26:49.03ID:ou4FYlNm
>>649
馬鹿過ぎだろ
もっと悩んでから来い、ゆとり
0653デフォルトの名無しさん
垢版 |
2019/01/24(木) 15:53:26.03ID:DfMDGTcZ
>>651
そうします
ありがとうございます
0655デフォルトの名無しさん
垢版 |
2019/01/24(木) 17:31:43.23ID:uc3iE4iQ
>>642で答えを教えてもらっても理解できないような頭の悪さが問題だろう。こんな頭の悪い奴はプログラムするなと俺は思う。
0656デフォルトの名無しさん
垢版 |
2019/01/24(木) 17:52:28.54ID:Ay2CLdQj
ほー
>>655くらいの天才になると最初からプログラム完璧に理解できたらしいな
凄い凄い

>>653
めげずに頑張ってくれよ
だれでも最初は初心者だ
0657デフォルトの名無しさん
垢版 |
2019/01/24(木) 18:00:27.00ID:A3Pe4Ldy
VB6で作ったADOを使ってデータベースからエクセルシート名をComboBoxに入れるソフトがあって、それをwindows10で動かすとエラーで止まるんだけど原因分かりますか?
シート名が一文字の時だけエラーが出るのは分かったけど何か理由だと思いますか?
0658デフォルトの名無しさん
垢版 |
2019/01/24(木) 18:15:16.93ID:pEQDGUsa
>>657
ここが何のスレだかわかってるか、馬鹿
0659デフォルトの名無しさん
垢版 |
2019/01/24(木) 18:58:14.37ID:5lzQ1hz1
>>640
その日付でアドバンスフィルタ。
検索する側の日付と、検索される側の日付は、
何型でもいいから統一する。
LeftやMidと"/"を組み合わせとか、
Format(日付, "yyyy/mm/dd")とか適当に。
0660デフォルトの名無しさん
垢版 |
2019/01/24(木) 19:06:26.31ID:5lzQ1hz1
アドバンスフィルタが何なのかわからなかったら、
フィルタオプションの設定の使い方を覚えて、
マクロの自動記録をするといい。

ちなみに、ループより激速だから。
0661デフォルトの名無しさん
垢版 |
2019/01/24(木) 19:32:10.91ID:fZR3dOZW
>>640-642
Ruby で作った

# 各行は空白で区切った、3列の配列。
# 全行は各行の配列、つまり配列の配列
all_rows = File.readlines( "input.txt" ).map( &:split )

# row[ 2 ]、金額が最大数値の行を求める
p max_row = all_rows.sort_by { |row| row[ 2 ].to_i }.last

# 全行からrow[ 0 ]、同じ日付の行だけを集める
p all_rows.select { |row| row[ 0 ] == max_row[ 0 ] }
0663661
垢版 |
2019/01/24(木) 21:19:22.76ID:fZR3dOZW
>>661
修正

# row[ 2 ]、金額が最大数値の行を求める
>p max_row = all_rows.sort_by { |row| row[ 2 ].to_i }.last
p max_row = all_rows.sort_by { |row| row[ 2 ].to_i * -1 }.first

last だと、最後まで配列を作ってしまう。
一方、first では最初の1つだけを求めるから、速い
0664デフォルトの名無しさん
垢版 |
2019/01/24(木) 22:01:17.17ID:KN/tNrgV
>>661
ボクタンンRubyが出来るんだぞぉおエライんだ。ボクタンンを褒めろぉぉお
Rubyのスレでは褒める奴が居ないからここでエラぶりたいんだよぉお
なウスラバカ
0667デフォルトの名無しさん
垢版 |
2019/01/25(金) 12:18:15.80ID:aKVOVgYE
プロさん荒ぶりまくっとってワロタw
0669デフォルトの名無しさん
垢版 |
2019/01/25(金) 12:52:29.05ID:EnRgcOgq
dumpbin /exports hoge.dll

lib /def:hoge.def
でいけるな
0671デフォルトの名無しさん
垢版 |
2019/01/26(土) 07:48:55.80ID:SzhvFgNa
Private Function getIE(arg_title As String) As InternetExplorer

こういう書き型ってどういう意味になるんですか?
普通に関数を作るなら
private fanction 関数名(ByVal 引数名 as 引数の型)
みたいな形になると思うんですが
上記にあげた例でとくに引数を()で閉じた後のas InternetExplorerの部分がよくわかりません
0673デフォルトの名無しさん
垢版 |
2019/01/26(土) 09:22:53.54ID:xtvWXKE/
Private Sub 関数名(引数名 As 引数の型)
Private Function 関数名(引数名 As 引数のデータ型) As 戻り値のデータ型
0674デフォルトの名無しさん
垢版 |
2019/01/26(土) 09:34:59.74ID:HSTKeB2g
VBAやってるなんて恥ずかしくて言えないだろ?
0675デフォルトの名無しさん
垢版 |
2019/01/26(土) 09:38:00.59ID:+NbQI97A
>>671
中の処理を見ないとわからんけど、
そういう書き方をする場合、普通に考えたら、
getIEにInternetExplorerのオブジェクトがセットされて返ってくる。
0676デフォルトの名無しさん
垢版 |
2019/01/26(土) 09:49:01.06ID:/P2VC+Mr
タイトルバーの文字列からウィンドウを検索する関数だろ
IE操作のサンプルとして、ネットでも本でも色んな所で見かけるやつ
0677デフォルトの名無しさん
垢版 |
2019/01/26(土) 09:59:33.30ID:0//Vwm17
>>674
あらたまって「俺VBAできます」なんて言うことは無いけど
問題の解決にVBAが最善なら偏見持たずに採用するよ
0679デフォルトの名無しさん
垢版 |
2019/01/26(土) 10:33:16.30ID:MaEquCGy
どうしても使わなきゃならない場合にはVBAを使う
なにも理由がなければこんなもの使わない方が精神的に健全
0680デフォルトの名無しさん
垢版 |
2019/01/26(土) 10:56:55.38ID:z7S/RMkn
Windows10のアップデート1809を適用したらcreateobject("InternetExplorer.application")でオートメーションエラー(実行時エラー -2125463506)が発生するようになりました。

これを回避する方法があれは教示ください。
0683デフォルトの名無しさん
垢版 |
2019/01/26(土) 11:09:00.46ID:z7S/RMkn
>>681
会社の方針でOffice以外のアプリや言語は使えません。そのため、VBAのみとさせてください。
0685デフォルトの名無しさん
垢版 |
2019/01/26(土) 11:17:13.78ID:z7S/RMkn
>>682
参照設定はInternetcontrolsとHTML object libraryを設定しています。これは適用前と変わりません。

New InternetExplorerMediumでもおなじエラーが発生します。

1809適用前の他PCでは正常に動きます。
0686デフォルトの名無しさん
垢版 |
2019/01/26(土) 11:18:26.43ID:z7S/RMkn
>>684
すみません、クロームやエッジは使えませんが、IEは可能です。
0687デフォルトの名無しさん
垢版 |
2019/01/26(土) 11:32:26.37ID:MaEquCGy
なるほど状況はわかりました

問題の検証にはまず最初に他の言語が必要です
パワーシェルの使用許可を取ってください
0689デフォルトの名無しさん
垢版 |
2019/01/26(土) 12:33:07.15ID:SzhvFgNa
>>672
>>673
>>675
ありがとうございます。VBAは戻り値の型も指定できるんですね。
というか、思い出しました、C言語でも頭にstringとかintとかつけましたね。
あれが末尾に来てこういう書き方になると。
ありがとうございました。
0690デフォルトの名無しさん
垢版 |
2019/01/27(日) 07:11:52.32ID:KwlBhw9C
しかしVBAは良くて他がダメっておかしな話だな
使い勝手が違うだけで、大概の事出来ちゃうだろ
0695デフォルトの名無しさん
垢版 |
2019/01/27(日) 08:13:04.45ID:/fU4frLP
IE参照とか終わっとる
0696デフォルトの名無しさん
垢版 |
2019/01/27(日) 08:29:08.12ID:MJttX1my
>>692
そらWebアプリとかスマホアプリとかMac/Linuxとかゲームとか科学技術計算とかいくらでもある
VBA(API, COMなし)で無理なく可能、かつExcelワークシート操作が必要な場合に態々C#を使うのはそれこそ馬鹿の一つ覚えだと思うけどね
0697デフォルトの名無しさん
垢版 |
2019/01/27(日) 08:59:08.57ID:DsJJt6N4
希に、変数が定義されてませんみたいなエラーが出るんだけど、何だろう?
しかも変な位置で。

Dim a As Long : a = 1
Dim b As Long : b = 1
MsgBox a        ←普通、aにエラーが出るとしたらここだけど、
Cells(a, 1).Value = b ←なぜかこの時点で出る

Excelを再起動しても治らないんだけど、
3行目と4行目を入れ替えて、また戻すと治る。
わけわからん。
0704デフォルトの名無しさん
垢版 |
2019/01/27(日) 16:30:18.65ID:DsJJt6N4
>>698
特殊なものはつかってないけど・・。

>>700
表示前にエラーになったから見てないや。

>>701
VBSで全角空白がダメなのは知ってるけど、VBAでは実行できてたので、気にしてなかった。
マルチステートメントって「:」使うやつ?
0705デフォルトの名無しさん
垢版 |
2019/01/27(日) 16:31:28.53ID:DsJJt6N4
↑途中送信しちまった。

Constは1行で書けるのに、Dimが2行になるのが嫌なので、宣言は1行にしてる。
0706デフォルトの名無しさん
垢版 |
2019/01/27(日) 16:33:56.14ID:DsJJt6N4
>>699
こっちは2013。
普通は問題ないんだよ。行を入れ替えて戻せば治るから、
構文的におかしいことも無いだろうし。
0707デフォルトの名無しさん
垢版 |
2019/01/27(日) 18:01:05.46ID:OBIAkwM2
コードのコピペをミスったとかじゃないかな
どこか編集すると大文字小文字や空白が自動的に修正されて直るとか
0708デフォルトの名無しさん
垢版 |
2019/01/27(日) 18:29:58.57ID:k4Sj+hy8
>>697
たぶんデバッグ中に宣言書いたりしたんやろ?
そう言うことするとバグる。

一旦コードコピーして、モジュール作り直せばいいよ
0710デフォルトの名無しさん
垢版 |
2019/01/28(月) 20:10:52.48ID:i9xb9DBB
1行目にデータを取って2行目に1行目を参照したmid関数を1行目と同じ数だけ用意したいのですが

Dim m As Integer
m = 1 'カウンタmを用意して1を設定
Do While Cells(m, 1) <> "" '1行目が空になるまでループ
Cells(m, 2).Formula = "=mid(" & Cells(m, 1) & ",15,5)" '2行目には真横のセルを参照したmid関数を入れる
m = m + 1
Loop

これじゃダメなんですが、4行目のmid関数をセルに代入するとき相対的にcells(m,1)を参照させていきたいんですが
どういう風に書けばいいんでしょうか?
0711デフォルトの名無しさん
垢版 |
2019/01/28(月) 20:41:36.83ID:9NcZtM+2
Cells(m, 2).Formula = "=MID(" & Cells(m, 1) & ", 15, 5)"

Cells(m, 2).FormulaR1C1 = "=MID(RC[-1], 15, 5)"
0714デフォルトの名無しさん
垢版 |
2019/01/29(火) 18:20:14.94ID:uYHQBjCX
1から30の乱数字を5回ループした合計を出したい。
同一数字が出ることをよしとした場合のコードってどんなですか?
0715デフォルトの名無しさん
垢版 |
2019/01/29(火) 18:28:48.64ID:ywRkqTQf
>>714
For i = 1 To 5
  s = s + Int(Rnd()*30+1)
Next

細かいことを言うと、「同じ数字が出てはいけない」などの条件を付けた時点で、それは乱数じゃなくなる
0716デフォルトの名無しさん
垢版 |
2019/01/29(火) 19:08:34.73ID:+icPBYbY
>>715
> 細かいことを言うと、「同じ数字が出てはいけない」などの条件を付けた時点で、それは乱数じゃなくなる
べつに乱数が欲しいとは言ってないようだが?
0723デフォルトの名無しさん
垢版 |
2019/01/29(火) 22:06:13.32ID:5yOKK0P6
int(rnd()*146)+5
0724デフォルトの名無しさん
垢版 |
2019/01/29(火) 22:13:12.12ID:TIeo+FQH
>>723←これが世間でバグと言われるものです
0725デフォルトの名無しさん
垢版 |
2019/01/29(火) 22:19:46.43ID:5yOKK0P6
>>724
どこがバグ?
0726デフォルトの名無しさん
垢版 |
2019/01/29(火) 22:22:56.72ID:TIeo+FQH
>>725
それぐらい自分で考えろやプロさんw
脳ミソついとらんかプロさんの頭にはw
0728デフォルトの名無しさん
垢版 |
2019/01/29(火) 22:57:33.37ID:ywRkqTQf
>>725
もっと簡単な例で考えれば分かる
1〜6のサイコロ2個と、2〜12のサイコロ1個で合計7の出る確率は、前者は6/36=1/6、後者は1/11
結果(確率)がまったく違うから、同じプログラムとは言えない
0729デフォルトの名無しさん
垢版 |
2019/01/29(火) 23:02:31.19ID:TIeo+FQH
ワイは>>727の恥ずかしさをもっと掘りさげたいんやw
0731デフォルトの名無しさん
垢版 |
2019/01/29(火) 23:13:55.62ID:TIeo+FQH
話をそらさずにもっと>>727の恥ずかしさを語り明かそうやw
0732デフォルトの名無しさん
垢版 |
2019/01/30(水) 00:12:38.41ID:7kXOqwqB
数学の確率は人間の直感を裏切ることがけっこうあるから、慎重に扱わないと痛い目を見る
0735デフォルトの名無しさん
垢版 |
2019/01/30(水) 00:21:14.29ID:Q4JlCs68
バグと確率の問題をすり替えて逃げてる馬鹿がいる。どこにバグがあるか指摘してみろや。
VBAしかしらない馬鹿どもが。
0736デフォルトの名無しさん
垢版 |
2019/01/30(水) 00:26:30.71ID:4G8qGWeY
「乱数字」という言葉の意味がわからない限り、誰も何も回答できないわけだが
回答者が勝手に問題を作って議論を始めるいつものパターンになってるな
0737デフォルトの名無しさん
垢版 |
2019/01/30(水) 00:34:51.85ID:3ZvsJrgT
結果が意図と違っていたらバグ
たとえば乱数でサイコロをシミュレーションするプログラムで、どれだけ試行しても確率が1/6に収束しようとしなかったらバグがある
0739デフォルトの名無しさん
垢版 |
2019/01/30(水) 07:02:27.20ID:3/CBrgdG
>>735←バグの意味を知らんプロさんwwww
ええでもっと恥ずかしがってもwww
0740デフォルトの名無しさん
垢版 |
2019/01/30(水) 12:54:53.35ID:X+zaqEGo
よろしくお願いします。

あるxlsmファイルを、1ヶ月間だけ使える、という形にしたいです。
つまり、各使用者がそのファイルを自分のPCに置いてから、1ヶ月だけは操作できると
いうことなのですが、どのようにしたらよいかわかりません。

ファイルを開いたときに、そのファイルが設置後1ヶ月経っていたら「もう期限切れ」とメッセージを出して
操作を不可能にしてしまうのを考えていたのですが、その設置日というのをどう取得すればいいのか。

「USBメモリなどから、そのファイルがそのPCにコピーされた日」を取得するにはどうすればよいでしょうか?
0741デフォルトの名無しさん
垢版 |
2019/01/30(水) 13:21:11.92ID:TCBbgKI9
「ブックの作成日」でググって出てきた二つ目のサイト
ttps://www.moug.net/tech/exvba/0130015.html
0743デフォルトの名無しさん
垢版 |
2019/01/30(水) 19:54:50.43ID:E22FaIEN
Excel 2016 (64bit) のVBAで質問です

とある理由で、大規模桁の計算をしないといけなくなったので
取り急ぎLongLong型の配列を作って必要な演算を作ろうかと

そこで、エラーが出て悩んでいる案件と、ちょっとした疑問が

とりあえず、代入されるものが数値であるかのチェックは必要よね…と思い
IsNumeric関数を使おうかと思うのですが
これって、例えば100桁の整数を表す文字列でも通るんでしょうか…って通るみたいなんですが
上限は文字列として扱える上限まで行けるんでしょうか?

計算の都合で商を求める演算「\」を使ったところ、10^12 \ 2^22 あたりの計算でオーバーフローとなりました
(実際には、2^22のところはそのオーダーの定数)
「\」の計算は64bitに非対応なのでしょうか?
0745デフォルトの名無しさん
垢版 |
2019/01/30(水) 22:56:12.99ID:dsQEAAmt
>>740
基準日をどうするかにもよるけど、
一番簡単なのは、If 今日の日付 = 2019/2/28 Then Exit Sub 的なやつ。
0747デフォルトの名無しさん
垢版 |
2019/01/31(木) 07:12:05.16ID:Z5McOm4q
コピーされた日なんてどこにも記録されてないんだから取得のしようもないだろ
0748デフォルトの名無しさん
垢版 |
2019/01/31(木) 07:50:39.64ID:tKdk8GYp
起動時にあるセルが空白なら今の日付入れる。
空白でないのなら、セルの内容と今の日付を比べる。
セルは非表示のシートとかでよくね?
0750デフォルトの名無しさん
垢版 |
2019/01/31(木) 10:24:09.90ID:ivIRiWY+
スルーされてるけど>>741に日付取得のソースが丸々載ってますよ
余程変なことをしなければ、コピー日時はファイルの(≠エクセルのプロパティ)の作成日時です
適当なセルをパスワード保護して、ブックモジュールのOpenイベントに空白条件で日付を入れるコードを書けば初回起動で記録されます。

>>743
\演算子が良く分からないのですが、除算の結果から小数点以下を消すという意味なら
Int(10 ^ 12 / 2 ^ 22)
でどうでしょうか
0753デフォルトの名無しさん
垢版 |
2019/01/31(木) 12:52:33.19ID:xxTKFGAk
>>752
VBAでやろうとすれば自前で多倍長整数演算を実装する必要があり、開発とテストで誇張抜きで工数数百倍かかるよ
0754デフォルトの名無しさん
垢版 |
2019/01/31(木) 16:39:19.38ID:aH0rCOCG
>LONGLONG

>100桁の整数

あほですか
0755デフォルトの名無しさん
垢版 |
2019/01/31(木) 19:07:59.37ID:B2lY3/DV
>>753
だからさ、まずお前の結論としてVBAじゃ無理というのがあって、それからだろPowerShell云々は。

で、本当のところ、無理かどうかは分からんが、仮に無理だとしてどうしてPowerShellになるんだ?
別に他でも良いわけだろ。
0756デフォルトの名無しさん
垢版 |
2019/01/31(木) 19:08:45.03ID:2eoSLZbf
>IsNumeric関数を使おうかと思うのですが

On Error Resume Next
数字じゃないとエラーが起きるような処理
エラーが起きたら終了みたいな
On Error Goto 0
0757デフォルトの名無しさん
垢版 |
2019/01/31(木) 19:28:01.37ID:ivIRiWY+
>>743
>>IsNumeric関数を使おうかと思うのですが、上限は文字列として扱える上限まで行けるんでしょうか?

ちょっと質問内容が良く分からないのですが、

・そもそもLongLong型(64bit=8バイト)の話では無かったのですか?100桁とは?
・ヘルプに有る通り文字列型の上限は2GBですが(以下同様)

仮に2GBの判定が出来たとしても、その膨大な時間を使うよりは例外処理してしまった方が早いと思います。
0759デフォルトの名無しさん
垢版 |
2019/01/31(木) 19:31:09.20ID:ivIRiWY+
お話を聞いてる限り、恐らく元々の依頼内容も勘違いされている部分があると思うので、
差し支えない範囲で教えて貰えれば根本的な部分に回答が出来るかもしれません。
0761デフォルトの名無しさん
垢版 |
2019/01/31(木) 21:50:14.70ID:xxTKFGAk
>>755
別にPowerShellでなくてもいいけど、標準のWindowsだけで特に追加で何か入れることなく使えて
多倍長演算もサポートしててVBAから簡単に呼べるのなんて他にある?
0762デフォルトの名無しさん
垢版 |
2019/02/01(金) 01:19:40.80ID:UQQ7ub0a
>>757
そちらの質問は興味本位です。与えられた数値に見える文字列を信じるなら不要です
それと、LongLong型で済むなら配列はいりませんし

やりたいことは、例えば「100桁同士の四則演算をする」というようなことです。
コンパイラのインストールをセキュリティポリシーで禁止されているので
困っているのですよ。

>>759
そちらは時間があれば勉強してみようかと
ただ、それで実装すると引き継ぐときに後の人が大変そうですが
0765デフォルトの名無しさん
垢版 |
2019/02/01(金) 04:03:45.69ID:bJm3iiDn
>>750
初回起動で設定しても元のブックをコピーし直せば何度でも使える
何の条件で期間指定したいのかわからないけど
パソコン限定ならレジストリでも使うのかな
0768デフォルトの名無しさん
垢版 |
2019/02/01(金) 07:44:04.79ID:eMw5OSNU
答えられない質問はとりあえず馬鹿にして勢いで乗り切る方針のプロさんw
バカwww
0769デフォルトの名無しさん
垢版 |
2019/02/01(金) 08:37:10.62ID:UEAxmDKm
ComboBoxで↓を押して表示されるリストの行数は固定でしょうか?
表示行数を増やす方法がありましたら、ご教授ください

よろしくお願いします
0770デフォルトの名無しさん
垢版 |
2019/02/01(金) 08:51:37.94ID:76fUr+Yk
>>765
Excelのレジストリ操作だと簡単なのはそのパソコンのユーザー毎の設定だな
無論APIを使えば何でもできるけどね
所詮はバーチャルマシンも考えればユーザー側も何でもできる
その程度と思って使うか ネットにDB持つかだな
0771デフォルトの名無しさん
垢版 |
2019/02/01(金) 08:51:40.44ID:8kRZ6Lw/
最近はexcel2010とVB.netで改元対応しています。
excelのイベント少ないなって思っているのですが、2016などの新しいのはイベントや関数などは増えているのでしょうか?
2019なんかはタブレット操作用のイベントもあったりするとかでしょうか?
0772デフォルトの名無しさん
垢版 |
2019/02/01(金) 09:05:53.38ID:qPCno0Ra
なんかすごいところだな
>>764とか上から目線ってかもう天から垂直に見下ろして魔法打ち込んでるレベルだな
しかも書き込んでる時間が深夜3:00とか超絶生活者
0773デフォルトの名無しさん
垢版 |
2019/02/01(金) 10:01:49.43ID:FlvBcwUR
763 名前:デフォルトの名無しさん[sage] 投稿日:2019/02/01(金) 02:51:10.44 ID:Jdk/7rOF
100桁ぐらいなら、Ruby でも演算できる


ゲラゲラゲラゲラゲラゲラ
0775デフォルトの名無しさん
垢版 |
2019/02/01(金) 10:54:24.80ID:rRNrmt+/
>>771
VBAはレガシー扱いだからMSのポリシー的に積極的な機能追加は不可
ちなみにVB.NETのWindowsフォームも既にレガシーで開発終了してる
0776デフォルトの名無しさん
垢版 |
2019/02/01(金) 10:55:12.36ID:3Ud/K8J0
>>773
計算できるライブラリーがあるだけじゃないの
どんな言語でも、4則演算程度なら作れるだろ
0777デフォルトの名無しさん
垢版 |
2019/02/01(金) 10:56:26.07ID:wTTD69jh
VBAだって超多倍長演算ライブラリぐらいネットに転がってんじゃない?
ちなLongLongで扱えるのは18桁まで、乗除算でオーバーフローを起こさないようにするなら半分以下の桁で使うのが無難
0779デフォルトの名無しさん
垢版 |
2019/02/01(金) 15:50:46.63ID:eD54qyaY
VBAなんて低級言語を真剣にやってるバカ
言い訳は色々あるんだろうけどそろそろちゃんとしたのを覚える時期だよ
0782デフォルトの名無しさん
垢版 |
2019/02/01(金) 18:56:31.92ID:dMBA0PwK
もしレベル的な意味合いで貶すなら下級または低俗じゃないかな
低級だと金額的な意味合いだからオフィス製品みたいな安い言語使いやがって、という意味か
高い開発言語ってなんだろ
0784デフォルトの名無しさん
垢版 |
2019/02/01(金) 19:21:01.59ID:69So7CMb
どんな状況で100桁の計算が必要なんだよwwwwww
弾道計算でもするのかよwwwwww

どうしても必要だとして、
16777216を、256×256×256で表現するRGBみたいに、
分離して計算できないの?
0785デフォルトの名無しさん
垢版 |
2019/02/01(金) 19:48:56.75ID:oMFegD+z
桁数じゃあなくて精度の問題だろ
何桁精度が必要か
全部なら分けて計算するんだろ
整数限定かよ
0786デフォルトの名無しさん
垢版 |
2019/02/01(金) 20:43:56.48ID:ldeBmXAI
>>762
Mid関数がString型の限界である20 億文字(桁)まで対応出来るようなので、限界まで判定可能です。
実際に試そうと思ったのですが、1000万桁あたりからエラーは起きないものの処理が終わる気配がありませんでした。
また、311桁目から判定がFalseとなり正常に判定できませんので注意してください。
0787デフォルトの名無しさん
垢版 |
2019/02/01(金) 21:29:30.54ID:6BaLLxbK
>>772
腹筋イタイwww
0789デフォルトの名無しさん
垢版 |
2019/02/01(金) 23:01:14.33ID:UXXgl86T
>>764
中学生かそれ以下の質問だな
0790デフォルトの名無しさん
垢版 |
2019/02/01(金) 23:02:01.30ID:UXXgl86T
>>769
64kbの壁でぐぐれ
0793デフォルトの名無しさん
垢版 |
2019/02/02(土) 06:09:03.94ID:jIzNjlQE
>743
何桁通るかは別として、IsNumericって例えば"1.2e3"とか"\30"とかでもTrue返すんだけど、それはいいの?
0794デフォルトの名無しさん
垢版 |
2019/02/02(土) 09:04:05.51ID:jIzNjlQE
あと"&hDEADBEEF"とか"&o77"とか
ついでに全角/半角が混在しててもTrueだし、文字列の前後にスペースタブ改行なんかが入っててもTrueだね
0795デフォルトの名無しさん
垢版 |
2019/02/02(土) 11:42:55.97ID:QW9QiURg
declareのシグニチャー間違えたらフリーズするんだけどdllから型情報取れないの?????
0797デフォルトの名無しさん
垢版 |
2019/02/02(土) 19:22:50.38ID:VsnxbMPu
そんなに桁数使うことあるの?
桁数ならアセンブラなら言語的な制限がないから
C++のインラインアセンブラで作ってDLL化しておけばいいんじゃない?
ま、あまり桁数が多い場合は外に出しても数字として扱えないだろうから
文字列として扱うしかないけど
0800デフォルトの名無しさん
垢版 |
2019/02/02(土) 22:18:38.36ID:Ep74GMaU
昔々、256桁の四則演算ルーチン組んだことある。アセンブラで。
今なら VBAでも同じくらいの速度で動くんだろうな…
0801デフォルトの名無しさん
垢版 |
2019/02/02(土) 22:40:50.50ID:nzR6xkI9
このスレで質問する薄ら馬鹿に匹敵する馬鹿ばっか
Python3使えよというまともな提案が未だなし
0803デフォルトの名無しさん
垢版 |
2019/02/02(土) 23:30:42.83ID:32vETS5N
シート1をアクティブにしてWEBクエリで取り込んだあとReplaceで置換したいのですが
うまくいきません。なぜかF8でステップ実行したらできるのですが、普通に実行すると置換されません。
何がいけないんでしょうか。
0804デフォルトの名無しさん
垢版 |
2019/02/03(日) 00:12:07.90ID:1X9tFGjy
>>798
アホか桁繰り上げ繰り下げのフラグを知らんのか?
むかーしのZ80や6502だってメモリの許す限り
際限なく計算出来るわ
0805デフォルトの名無しさん
垢版 |
2019/02/03(日) 00:35:40.02ID:1X9tFGjy
そもそもそう言った計算方法を
知らなかったとしても
8bitや16bitしか演算に扱えなかった時代に
テレビゲームとかで255や65535を超える
スコアが表示されていたことを思い出せば
普通は人をアホ呼ばわりすることを
書き込む前に気付きそうなもんだけどな
0806デフォルトの名無しさん
垢版 |
2019/02/03(日) 06:14:34.05ID:eVzJd4zP
そういう処理をアセンブラでしかできないと思ってるからアホだって言われるんだよ
0807デフォルトの名無しさん
垢版 |
2019/02/03(日) 06:43:05.61ID:Q6V8DKqV
多少非効率になるけどたいていの言語で多倍長演算はできる
なので
> 桁数ならアセンブラなら言語的な制限がないから
とか意味わからん、って話だろ
0808デフォルトの名無しさん
垢版 |
2019/02/03(日) 06:57:12.02ID:1X9tFGjy
>>806
いや>>798はあからさまに
「CPUがネイティブで扱える桁数は決まっている」からって言ってるんだが?

それに俺は実現方法の一例を挙げただけだと思うが「アセンブラでしか出来ない」なんて
どこに書いてあるんだ?

もっとも、桁数制限のない計算を
もっと効率よくVBAで使用する方法が
あるのであればそれはそれで聞いてみたいけど
0809デフォルトの名無しさん
垢版 |
2019/02/03(日) 07:06:03.78ID:1X9tFGjy
>>807
効率を考えなければ別にC++の時点で出来るんだよ
なんでC++からインラインアセンブラを
使用するような話をしていると思う?
0812デフォルトの名無しさん
垢版 |
2019/02/03(日) 09:10:44.36ID:eVzJd4zP
>>808-809
なに効率とか後付けしてんだアホ

あと「コンパイラのインストールをセキュリティポリシーで禁止されている」って書いてあるのを読めてないのもアホ
0813デフォルトの名無しさん
垢版 |
2019/02/03(日) 09:36:56.46ID:C7VVL/VH
ゼビウス1000万点超えは9999990で表示が止まるがゲーム続行
0815デフォルトの名無しさん
垢版 |
2019/02/03(日) 10:00:11.19ID:tEc8TngX
>>812
> あと「コンパイラのインストールをセキュリティポリシーで禁止されている」って書いてあるのを読めてないのもアホ
今時C#とかVB.NETのコンパイラなんてインストールいらんぞ
情弱なのかXPでドヤってるのかは知らんけどw
0819デフォルトの名無しさん
垢版 |
2019/02/03(日) 11:42:00.66ID:o6ig8vkN
>>818←恥を知らないプロさんwww
0822デフォルトの名無しさん
垢版 |
2019/02/03(日) 15:51:29.62ID:xJhhUajw
html?のようなパラメーターのあるURLから ActiveSheet.QueryTables.Add を使って
WEBクエリで取り込むにはどうすればいいでしょうか?
一部変数を使うのですが文字列を結合するやり方ではうまくいきません。
0823デフォルトの名無しさん
垢版 |
2019/02/03(日) 16:02:39.05ID:vrXjtSxX
>>822
認証やクッキーが必要か、URLが間違ってるか、エンコードが必要か、原因は色々考えられる
0824デフォルトの名無しさん
垢版 |
2019/02/03(日) 22:56:23.72ID:xJhhUajw
>>823
エンコードが原因みたいです。
&や=は使えないのですね。
返信ありがとうございました。
0825デフォルトの名無しさん
垢版 |
2019/02/03(日) 23:53:48.67ID:OgrV47La
以下のアプリを作って欲しい

画面上でオンスクリーンかなんでもいいので、文字が瞬間的に現れて消えるアプリ。
1つのばりばらに並んだ文字につき!約1秒から0.05秒の間で調節できるようにしたい。

文字のデータベースは、同ブック内の別シートにて管理するものとする。
0827デフォルトの名無しさん
垢版 |
2019/02/04(月) 03:07:11.70ID:ZoDPv0KA
>>825
ExcelとかVBAじゃなくていいなら作るけど
0828デフォルトの名無しさん
垢版 |
2019/02/04(月) 06:46:04.48ID:d8a/a/xM
>>825
作るのは他の要件が有るだろうから他の人に
Excelのシートから枠線を消して全画面表示
ランダムに出す文字はワードアートを挿入したり
消すだけでいいだろ
0829デフォルトの名無しさん
垢版 |
2019/02/04(月) 07:25:45.63ID:d8a/a/xM
>>824
>&や=は使えないのですね。
エンコードでは使えるだろ、デコードはデコードする
文字の法則があるけど
ちなみに、エンコードやデコードは必要なの?
0831デフォルトの名無しさん
垢版 |
2019/02/04(月) 08:04:31.54ID:q/1gUcq+
>>827
じゃあ、Androidアプリでいいから、つくってフリーでGoogleストアにだせる?
0833デフォルトの名無しさん
垢版 |
2019/02/04(月) 09:55:11.03ID:fGXzCPh9
>>831
Androidアプリ関係ないだろ
VB C#なんかでCVS形式などでパラメーターで受けて表示するプログラムなら簡単に作れるってことだろ
0835デフォルトの名無しさん
垢版 |
2019/02/04(月) 12:14:30.52ID:q/1gUcq+
>>834
イエス。言語を選ばないとやっぱり難しい?
0836デフォルトの名無しさん
垢版 |
2019/02/04(月) 12:40:18.01ID:OuHrukdw
>>835
別にVBAでも簡単だと思うけど作成依頼だったら費用が発生するのが普通だと思うんだが。

0.05秒ってのがどうかだね。
0837デフォルトの名無しさん
垢版 |
2019/02/04(月) 12:58:23.32ID:+5141PVg
費用が発生しとる作成依頼なんか見たことないわw
何を言っとるんやこのバカw
0839デフォルトの名無しさん
垢版 |
2019/02/04(月) 14:32:52.57ID:d8a/a/xM
>>835
別に難しくない
0.05秒を気にしている人もいるが、正確な時間を取得することは出来る
ワードアートの作成・削除の時間を気にしているなら、表示・非表示の切り替えで
対応すればよいだけ
全画面表示・タイトルバー・スクロールバー・シートタブの非表示
ボーダーも0に設定すれば良いだけ
0840デフォルトの名無しさん
垢版 |
2019/02/04(月) 14:47:47.78ID:Mgc+6WQD
取得できても(人間の反応速度と比較して無視できる程度の誤差で)正確に表示するのはExcelでは厳しいでしょ
ちらつきまくるよ
0841デフォルトの名無しさん
垢版 |
2019/02/04(月) 15:08:11.96ID:d8a/a/xM
まあ、出来ない人間には出来ないだけ、書き込む必要もないのに
やり方なんていくらでもある
0843デフォルトの名無しさん
垢版 |
2019/02/04(月) 18:26:41.76ID:OuHrukdw
>>841
やってから言ってんの?
俺はまだ、やってないから気にしただけなんだが。

ちなみに、俺はVBAのUserFormもシートも使うつもりは無い。
スピードも速いとは思うが、何ぶん計測したことは無いからね。
0848デフォルトの名無しさん
垢版 |
2019/02/04(月) 19:59:53.09ID:q/1gUcq+
>>845
1に作成依頼受け付けますと書いてあったから期待して依頼したが、馬鹿を見たよ
0850デフォルトの名無しさん
垢版 |
2019/02/04(月) 20:08:32.00ID:5NG821Xc
>>848
分かったよ
受けるよ
0854デフォルトの名無しさん
垢版 |
2019/02/04(月) 22:52:12.63ID:WAN0VVnl
高速でシートを切り替えるとか、
ふざけるのかと思ったら、結構真面目に作っててワロタ。
0860828
垢版 |
2019/02/05(火) 11:08:12.53ID:Kjw5jSR6
>>828 デフォルトの名無しさん2019/02/04(月) 06:46:04.48ID:d8a/a/xM
>>825
> 作るのは他の要件が有るだろうから他の人に
> Excelのシートから枠線を消して全画面表示
> ランダムに出す文字はワードアートを挿入したり
> 消すだけでいいだろ
最低限でもこの程度のことやれよっと、ワードアートの動作速度が問題なら全て作成してから
表示非表示を切り替えるだけだよっと
0863デフォルトの名無しさん
垢版 |
2019/02/05(火) 11:25:28.34ID:Kjw5jSR6
行間を読めない奴はいつまでたってもろくなもの作れないんだよ
おれは、年取ったから行間いっぱいある奴は遠慮するけどな
0865デフォルトの名無しさん
垢版 |
2019/02/05(火) 12:15:44.59ID:jg7BNmXb
なんやバカ必死やなw
0868デフォルトの名無しさん
垢版 |
2019/02/05(火) 12:53:49.77ID:jg7BNmXb
加速するバカw
0871デフォルトの名無しさん
垢版 |
2019/02/05(火) 13:05:08.57ID:Kjw5jSR6
>>869
知らねえと言われても

ファイルが見つかりません
既にファイルが削除されたか、期限切れになったか、ダウンロード上限数に達した、若しくは誤ったURLが指定されています。
再度ご確認下さいますようお願い致します。
0872デフォルトの名無しさん
垢版 |
2019/02/05(火) 15:50:53.68ID:Kjw5jSR6
>>870
今さっき起きた。
ソースを1分程度見たけど、毛が1本生えただけだろ
オリジナル性もない、引かれている部分もありで
評価はマイナスだな、マクロを動かす気にもならん
0873デフォルトの名無しさん
垢版 |
2019/02/05(火) 16:03:55.64ID:Kjw5jSR6
>>857
ホントなんだよ、この映像少なくとも全画面表示で
他の表示はテスト中いらないは
結果は、答え合わせでちゃんと出るようにな
問題作成だって、何の機能もないって考えてないだろ
指定した桁数で数字を作成しろよ・・・こんなの仕様の内の一寸な
0874デフォルトの名無しさん
垢版 |
2019/02/05(火) 16:18:43.72ID:Kjw5jSR6
>>870
テストしないのは申し訳ないと思ってもう一度20秒ぐらい見た
あまりにごみで、テストしてない
0875デフォルトの名無しさん
垢版 |
2019/02/05(火) 20:09:31.48ID:2313QgIt
必死すぎてアンタッチャブルのバカw
0881デフォルトの名無しさん
垢版 |
2019/02/06(水) 00:44:18.42ID:ZnA/X3oO
A B
1 あ
2 い
1 か
2 き
3 く
1 さ
1 た
2 ち

となっているデータを、連番でまとめて

あい
かきく

たち

とするにはどうすればいいですか?
0884デフォルトの名無しさん
垢版 |
2019/02/06(水) 10:06:21.68ID:pkuTd0pW
>>881
関数で直接は難しいけどVBAでやるなら簡単だろ
ただそれもわからない人間に提示しても無駄だな
0885デフォルトの名無しさん
垢版 |
2019/02/06(水) 10:48:09.84ID:pkuTd0pW
>>880
マクロを実行してみた、君は自分で考えてるんで良いと思う
1.出力する問題は固定ではなく文字とか長い数字もいらない
  桁数(上限・下限)を指定してランダムに数値を発生すること
  フラッシュ暗算を考えると余分な機能はいらない
2.バックを全画面表示にすること
  もちろん、画面の中央に表示する、画面の大きさから割合で文字の大きさを指定する
3.タイミングをmsで指定指定しているが
  ディスプレーって最大解像度ではリフレッシュレート60hz(16.6msおき)程度なんだよ
  ディスプレーの反応速度も早くて5msかかる、10ms単位で十分だが、好みはある
4.答えの表示がチェックだが
  要するに終わった後、計算が合ってるかを確認するんだから
  終了後に特定のキーを押したら答えを出すでいいだろ
ざっくり、大きく気になった点だけ、やり方は分からなければ聞け
0886デフォルトの名無しさん
垢版 |
2019/02/06(水) 10:57:13.19ID:pkuTd0pW
全画面表示は数字表示部をユーザーフォーム(全画面)で表示文字をVBAで切り替えたほうが簡単だな
0887デフォルトの名無しさん
垢版 |
2019/02/06(水) 11:03:53.28ID:inxqkSwn
上司気取りの人が上から目線でダメだしし出したけどこの人どんだけ偉いの?
まさか感謝でもしてもらえるとか妄想してんのかな
0889デフォルトの名無しさん
垢版 |
2019/02/06(水) 11:34:27.39ID:pkuTd0pW
まあ、自分で作って「フラッシュ暗算」で面白いものを作ってみろよ
自分で満足できないものは、他人は評価しないよ
0890デフォルトの名無しさん
垢版 |
2019/02/06(水) 12:26:19.63ID:FGND1cQA
おいwこのバカ必死すぎてダメ出しとかしだしたでw
0891デフォルトの名無しさん
垢版 |
2019/02/06(水) 12:43:34.25ID:eyuAOAwV
>>881
Dim i As Long
i = 1

Do While Range("A1").End(xlDown).Row > i
Cells(Cells(i, 1), 3) = Cells(Cells(i, 1), 3) + Cells(i, 2)
i = i + 1
Loop

答えやアドバイスをしないでマウントしてくるやつは結局何も出来ないやつと同じなので放置で。
0892デフォルトの名無しさん
垢版 |
2019/02/06(水) 12:45:00.03ID:eyuAOAwV
あ、質問の意味まちがえてたw
0893デフォルトの名無しさん
垢版 |
2019/02/06(水) 12:50:23.01ID:oteDmMe3
>>892
だよね
ひらがなのあ行か行…で括るっぽいし
2行目の2と4行目の2が紐づく1が違うから考えれば出来そうだけど面倒そう
0896デフォルトの名無しさん
垢版 |
2019/02/06(水) 13:07:21.25ID:eyuAOAwV
これでどうや!w

Dim i, j, k As Long
i = 1: j = 1: k = 1 'i=データの行 j=書き込みセルの行 k=数列のカウント用

Do While Range("A1").End(xlDown).Row >= i

Cells(j, 3) = Cells(j, 3) + Cells(i, 2)

If Cells(i + 1, 1) <> k + 1 Then j = j + 1: k = 0
i = i + 1
k = k + 1
Loop
0897デフォルトの名無しさん
垢版 |
2019/02/06(水) 13:15:51.19ID:pkuTd0pW
>>896
>これでどうや!w
何に対して言ってるのかな?。なんだろう?こんなの提示して?
よくわからんな
0898デフォルトの名無しさん
垢版 |
2019/02/06(水) 13:22:01.82ID:eyuAOAwV
>>897
ばっかだなぁ、881に対していってんだろw
つかお前マウントとることしかしないASDのザコという認識だから何も求めてない。レスいらない。
するならちゃんと自分で作ったものを提示してからだ。できたらあやまる。
0899デフォルトの名無しさん
垢版 |
2019/02/06(水) 13:25:32.81ID:pkuTd0pW
例えば
「Do While Range("A1").End(xlDown).Row >= i 」
こんなの"A1"と変数jとiが同期できていないことでプログラムじゃないよ
0903デフォルトの名無しさん
垢版 |
2019/02/06(水) 13:37:03.76ID:eyuAOAwV
>>899
いや、そうじゃなくってよ。

俺はプロじゃないから変なことしてるかもしれない。いやあるだろう。
そいでお前は凄いのかもしれないけど結局何も作ってないわけだろ?
それって何も出来ないのと同じなんだから偉そうにするなって言いたいの。
お前さ、俺の言っている意味解ってる?
0904デフォルトの名無しさん
垢版 |
2019/02/06(水) 13:41:27.75ID:pkuTd0pW
>>903
無能が無能に教える意味あるか、無能が威張る意味あるか?
役に立つってなんだよ?
お前の満足は何だよ、作ったってことか?
0905デフォルトの名無しさん
垢版 |
2019/02/06(水) 13:43:57.13ID:eyuAOAwV
>>904
ん?お前無能なの?無能なのに威張ってるの?ダメじゃん。
役に立つって何?満足って何ってどういう意味?
俺はそんなこと書いてないけどそれはどこから出てきたんだ?
お前ののーみそか?
0907デフォルトの名無しさん
垢版 |
2019/02/06(水) 13:53:46.56ID:eyuAOAwV
ああ、そういうことか。
質問には答えるけど代りにお前が作ることはないって意味でいいのか?
それがお前のポリシーなら俺はお前に口はさまないよ。
偉そうにされて終わるだけみたいだからお前には質問もしたくないけどな。

質問してるやつはいろいろ試して困ってるんだろ?
俺は動くもの見せて、あとは自分で工夫するなりなんなりした方が良いと思ってる。
だって、具体的なほうが解りやすいじゃん。
それに対してお前がどうこう言うことはないだろ?俺はお前に何も聞いてないんだから。
0908デフォルトの名無しさん
垢版 |
2019/02/06(水) 13:57:29.30ID:pkuTd0pW
>>907
まあ、補足すると具体的なものを使えるのは少し考えたやつ
考えない奴は応用できない、だから答えではなくヒントなんだがな
0909デフォルトの名無しさん
垢版 |
2019/02/06(水) 14:10:39.95ID:eyuAOAwV
>>908
うーん、辞書がわりに次々聞かれても結局俺が作ってるかいー!
みたいになりそうで確かに嫌だな。
ただお前凄そうなんだからそんくらいしてやってもバチあたらんべ。
あ、そこらへんは俺が口はさむことじゃないな、すまん。でももったいないわーほんまに。
俺は基本は自分で調べるから聞くことってほとんどないけど
本当に困っててもまともな返答来なさそうでここで聞けないからさらに困ることあるもん。
お前に言ってるわけじゃないけどライトユーザーからしたら雰囲気怖いよここ。
0910デフォルトの名無しさん
垢版 |
2019/02/06(水) 14:12:54.78ID:pkuTd0pW
>>880
お前、ちゃんと満足いくもの作ってみろ
やめるのは簡単だまんぞくできるレベルもお前しだい
おれは、ダメ出しはしてやるよ、ダメな点は数多いがプライオリティは下がっている
0915デフォルトの名無しさん
垢版 |
2019/02/06(水) 14:48:20.14ID:54X0jJM7
マウントしたがりのバカしか居ないスレですけど、それでもよかったら質問をどうぞ
0917852
垢版 |
2019/02/06(水) 23:08:35.09ID:gXPhlUR0
作ってるうちに楽しくなってつい作りこんでしまいました
https://www.axfc.net/u/3958012
変更点
・ランダム表示
・乱数生成
・(ほぼ)フルスクリーンモード(1920x1080、1600x900、1280x720、800x600の4種類の画面に対応)
・ユーザーインターフェースの強化
・デバッグを少々

最初に作ってほしいといっていた人の要望にかなってるかが心配
0919852
垢版 |
2019/02/06(水) 23:33:49.56ID:gXPhlUR0
いえ、知識がないだけです
0920デフォルトの名無しさん
垢版 |
2019/02/07(木) 00:04:38.13ID:o0PdMVgb
Excelの起動画面、ドラクエでエンカウントしたみたいな感じにできないかな。
緑画面に白文字でExcelって、ちょっと地味じゃない?
0921デフォルトの名無しさん
垢版 |
2019/02/07(木) 00:55:54.67ID:XTuXysWv
ID:pkuTd0pWだけど
やっぱり午前中はましだが午後は酒がだいぶ効いて
すまんな
まあ文字結合のお題はExcelの問題をコピペしたものだろう
これ関数とExcelの機能を使って解いた方が面白い
0924デフォルトの名無しさん
垢版 |
2019/02/07(木) 06:41:43.06ID:C6bM/gU/
質問です

同じブック、同じシート上にある
任意の二つのセル間を
セルで直線を引きたいと思っています

例えばA1セルとD4セルを指定したら
A1、B2、C3、D4のセルが黒く着色されるような
そんな感じです

どのようなロジックを組めば宜しいでしょうか?
0925デフォルトの名無しさん
垢版 |
2019/02/07(木) 07:17:58.06ID:sLOxqlfO
>>924
まず動作仕様を決める
1,指定の仕方をどうするか クリック Or 別セルで指定
2,複数回線を引くのか 取り消しは同じ指定で取り消すのか
3,クロスしたセルの色は
4,線の色はどの様に指定するのか
5,全てクリアーする処理は必要か?
0926デフォルトの名無しさん
垢版 |
2019/02/07(木) 07:27:46.12ID:sLOxqlfO
>>924
セルの色の指定方法は、マクロの記録でセルの色を変えて、マクロの記録の終了で確認してください
0928デフォルトの名無しさん
垢版 |
2019/02/07(木) 08:46:47.16ID:C6bM/gU/
>>925
返答ありがとうございます
特にトリガーは定めていませんし
複数回引くことも考慮しなくていいです
こちらとしては
「二つのセル間にセルで線を引くこと」の
実際にどのセルが着色対象となるのかが
求められるロジックが必要となっています

>>926
ありがとうございます
ただ、上記しました通り
着色自体が焦点ではなく
どのセルが着色対象となるのかを
求めることができればなぁと考えています
0929デフォルトの名無しさん
垢版 |
2019/02/07(木) 09:04:22.19ID:sLOxqlfO
>>928
セルの位置情報から列の差が大きいか行の差が大きいかでループする側を決定します
ループする側は1増えるいく
その数に小さい側を大きい側で割って少数側を四捨五入したものが小さい側の増分でいいでしょう
0930デフォルトの名無しさん
垢版 |
2019/02/07(木) 09:09:14.04ID:sLOxqlfO
追記 ループ変数は0から差分まで
列ぎょうとも 初期値に増分を足していく
0933デフォルトの名無しさん
垢版 |
2019/02/07(木) 10:30:41.24ID:nA5U51xW
>>931
すまん、関係あるなそれをかんがえると確かに難しいが
実質的にその構造で線を引く意味あるのかな?
0935デフォルトの名無しさん
垢版 |
2019/02/07(木) 11:16:37.25ID:nA5U51xW
>>931
所詮線はシェイプで引けばいいだけだからな
セルの色を変えることにどんな意味があるかが問題
0937デフォルトの名無しさん
垢版 |
2019/02/07(木) 11:59:06.94ID:nA5U51xW
>>936
セルの色を変える仕様が実質的に意味あるかが疑問なだけ
意味ないもの検討する必要ないからな
0938デフォルトの名無しさん
垢版 |
2019/02/07(木) 12:08:17.49ID:nA5U51xW
まあ、意味あることならいくらでも方法がある(各行列のプロパティから幅なんて取れるからな)けど
お題が意味ないこと検討する必要もない
0940デフォルトの名無しさん
垢版 |
2019/02/07(木) 14:00:56.39ID:C6bM/gU/
皆さんありがとうございます
セルで線を引く質問をした者です

セル幅がまちまちのケースは
こちらも想定外でした
均等幅で求められれば良いと
考えていましたから
既に回答して頂いた方法で
試してみたいと思います

どうもありがとうございました
0941デフォルトの名無しさん
垢版 |
2019/02/07(木) 16:33:46.50ID:IUpQT5qY
質問です

文字列のカラムと数値のカラムが混在する表
数値カラムは空欄セルもある
この表からセル値をコピーするとき、数値カラムでセルが空欄の時はコピー先を0にしたい
文字列カラムでセルが空欄の時はコピー先も空欄

タイトル名で判定するのはスマートじゃないと思って
セルや変数の仕様を使って上手くできないでしょうか
0944デフォルトの名無しさん
垢版 |
2019/02/07(木) 22:22:10.23ID:kH7/pekJ
数値カラムの空欄はそのまま空欄で
文字カラムの空欄を長さ0の文字列にしておけばセル参照で
0945デフォルトの名無しさん
垢版 |
2019/02/07(木) 23:16:40.13ID:o0PdMVgb
>>881
1が出てくる回数をそのまま行番号に使って、
1・2・3という数字を、そのまま列番号に使う。
0947デフォルトの名無しさん
垢版 |
2019/02/08(金) 00:39:13.26ID:nir6IlOg
質問です
C言語のFILEポインタをexternしているdllをvbaから呼び出すときにシグニチャーは何型ですか
0948デフォルトの名無しさん
垢版 |
2019/02/08(金) 00:50:45.35ID:WrxcLohJ
>>946
ごめん、勘違いしてた。
何とかできたけど、ものすごくダサい。

C列 =COUNTIF(INDIRECT("A1:A"&ROW()),A:A)
D列 =MATCH(ROW(),C:C,0)
E列 =LEFT(F:F&G:G&H:H&I:I&J:J&K:K,FIND("0",F:F&G:G&H:H&I:I&J:J&K:K)-1)
F列 =INDEX($1:$1048576,INDIRECT("D"&ROW())+COLUMN()-6,2)
G列以降 =IF(INDEX($1:$1048576,INDIRECT("D"&ROW())+COLUMN()-7,1)<=INDEX($1:$1048576,INDIRECT("D"&ROW())+COLUMN()-6,1),INDEX($1:$1048576,INDIRECT("D"&ROW())+COLUMN()-6,2),0)

E列が答えだけど、2016なら、ここはCONCATENATEで。
0950デフォルトの名無しさん
垢版 |
2019/02/08(金) 04:25:07.76ID:49YgIYkI
よろしくお願いします。

ある住所リストを宛名印刷するためのVBAを書きました。
印刷したときに、枠に収らないとまずいし、とはいえ町名の途中などで機械的に次の
行になるのもまずいので、途中、全角スペースがあったら次の行にする、という
ことを考えて、名簿リストを入力する係の人に「だいたい○文字目くらいで、市町村名あたりの
キリのいいところで全角スペースを入れておいてください」と頼んでおきました。

Jusho = sheets("名簿").cells.(rowcnt,2)
If InStr(Jusho, " ") Then
  tmp = Split(Jusho, " ")
Jusho1 = tmp(0)
Jusho2 = tmp(1)
Else
Jusho1 = Jusho0
Jusho2 = " "
End If
sheets("印刷元").range("A1")=Jusho1
sheets("印刷元").range("A2")=Jusho2
sheets("印刷元").printout

こうやって、長い住所を2行に分けることに成功したのですが、
今になって、マンション名やらなんやらで、全角スペースがいくつもある場合があることがわかりました。
つまり、Jusho0に、2つ以上のスペースがある場合が出てきて、そうすると、tmp(2)やtmp(3)が
発生することなってしまい、印刷の住所が途切れてしまうことになりました。
私のVBAの書き方が悪かったのだと思います。

「1つ目のスペースで2つに分ける。2つ目以降のスペースは無視」というVBAを書きたいです。
どうすればよいでしょうか?
0951デフォルトの名無しさん
垢版 |
2019/02/08(金) 05:17:51.52ID:0dQnaPPd
>>881
Ruby で作った

require 'csv'

results = [ ]
# 空白区切りで、ヘッダー有り
options = { :headers => true, col_sep: " " }

# CSV 入力ファイルを、1行ずつ処理する
CSV.foreach( "input.csv", options ) do | row |
if row[ 0 ] == "1"
results.push row[ 1 ] # 要素の追加
else
results[ -1 ] += row[ 1 ] # 最終要素に文字列を連結
end
end

puts results
0953デフォルトの名無しさん
垢版 |
2019/02/08(金) 06:20:13.15ID:Ec5y9MTZ
>>950
Instrは検索文字が文字列の左から何文字目にあるかを返すよ
Instr(“東京都 渋谷区 ほげほげ町”, “ ”) は4が返ってくるのでそれでSplitする
ちなみに右から調べるInstrRevもある
0954デフォルトの名無しさん
垢版 |
2019/02/08(金) 06:40:44.15ID:Ec5y9MTZ
>>950
あと検索文字がない場合は0を返すから条件式で使うなら
Instr(Jusyo, “ ”) <> 0 Then にしといた方がいいかも
他の人が見たとき「?」になる
0955デフォルトの名無しさん
垢版 |
2019/02/08(金) 07:17:52.94ID:SOh8GklL
>>948
やってみた
結果、E列

あ い 
か き く 
さ た ち 
た ち 

答えは以下が正しいのとG列の式を
H列以降に無限に張らなければいけないのが問題ある
他にも問題があるかもしれないが・・・

あい
かきく

たち
0956デフォルトの名無しさん
垢版 |
2019/02/08(金) 07:21:27.36ID:SOh8GklL
>>923
ここで、ヒントを出してるのに
作業列は1列で十分
0957デフォルトの名無しさん
垢版 |
2019/02/08(金) 07:26:35.12ID:ViZCNFeP
フラッシュ演算のやりとり見てて思ったけど
文字にして答えを文字結合すればアルツハイマーテストに使えるんじゃね?
0959デフォルトの名無しさん
垢版 |
2019/02/08(金) 11:14:58.05ID:SOh8GklL
>>950
住所印刷なら、郵便番号が有るだろう
郵便番号の住所変換ルーチンはある
住所は郵便番号と比較すべきで比較してエラーを出すべき
郵便番号に合致する部分を1行目、それ以外を2行目が良いだろ
0960デフォルトの名無しさん
垢版 |
2019/02/08(金) 11:46:52.42ID:SOh8GklL
>>957
色々使えるだろうね
文字の表示位置を変えてタッチパネルでやるとか
応用範囲は広いがちゃんと全画面表示や文字の大きさ位
自動でできないとな、今時4Kモニターも出てるし・・・
0961デフォルトの名無しさん
垢版 |
2019/02/08(金) 12:00:58.70ID:CDEogeBV
>>950
limitオプションで回答は出てますが、実用的には長い住所の時は複数回改行も有り得るんではないでしょうか
またフォーマットが変わったときに全ての住所録の全角位置を調整するのが大変だと思われます
なので記入者には単純に単語毎にスペースを入れて貰って、適時自然な位置で改行するのはどうでしょうか
0962デフォルトの名無しさん
垢版 |
2019/02/08(金) 12:14:24.08ID:WyTY+E9f
>>961
運用でカバーできたら誰も苦労しないよね
0963デフォルトの名無しさん
垢版 |
2019/02/08(金) 12:19:37.60ID:jEYFKApV
自然な位置てなんやねん
0964デフォルトの名無しさん
垢版 |
2019/02/08(金) 12:29:29.52ID:CDEogeBV
一行の文字数を決めて、そこからInStrRevで最後のスペース位置を検索してLF挿入です
コード書いたんですが何故かブロックされます・・・
0965デフォルトの名無しさん
垢版 |
2019/02/08(金) 12:31:14.56ID:SOh8GklL
>郵便番号に合致する部分を1行目、それ以外を2行目が良いだろ
2行目があふれても、それは枠内で表示するだけで問題ないだろ
どうせ印刷はWordのあて名書きだろ2行目の表示エリアを広くしておけば問題ない
0967デフォルトの名無しさん
垢版 |
2019/02/08(金) 12:59:45.99ID:WyTY+E9f
>>965
普通は郵便番号と住所は別カラムだろ
というか質問者は郵便番号の話してないから
0968デフォルトの名無しさん
垢版 |
2019/02/08(金) 13:11:41.88ID:SOh8GklL
>>967
空想の世界で生きるのも人生
実態を考えるのも人生 好きにしてね
ちなみに、午後だからやばいかも
0970デフォルトの名無しさん
垢版 |
2019/02/08(金) 13:19:24.26ID:WyTY+E9f
>>968
くっさ
0971デフォルトの名無しさん
垢版 |
2019/02/08(金) 15:18:18.79ID:ZcpxXTEs
>>961
うちのシステムだとテキストボックスが既に3つになってて一段目が市区町村まで、二段目が枝番まで、三段目が物件名と部屋番+様方、会社名とかって決まってる。
0972デフォルトの名無しさん
垢版 |
2019/02/08(金) 15:20:53.99ID:SOh8GklL
まあ、なんだな住所を2行にしたいなんてあて名書きだけだろ
それって、Wordのあて名書き印刷ぐらい
で、きれいに住所を分けるのは郵便番号に載っている住所で区切るんだよ
それ以外は長いマンション名あるけど適当に範囲内で打てばいいんだよ
今時郵便番号を管理しない住所録もないだろ
まあ、引きこもりにはわからないかもしれないが
0975デフォルトの名無しさん
垢版 |
2019/02/08(金) 15:29:02.53ID:SOh8GklL
>>971
お前の所への質問じゃないな
あと、分けて入力するフォームも結構あるが
無視されることも多いだろ
気にしているところは、まず郵便番号を聞くな
0976デフォルトの名無しさん
垢版 |
2019/02/08(金) 16:46:02.55ID:QatAiOm8
>>950
「1つ目のスペースで2つに分ける。2つ目以降のスペースは無視」という解決ではなく
「分割が発生したら住所を2つに再結合する」という解決だけど

Sub test()
Dim tmp As Variant
Dim i As Integer
Dim jusho0 As String
Dim jusho1 As String
Dim jusho2 As String
jusho0 = Sheets("住所").Range("A1").Value '参照するセルは自分で書いてください
tmp = Split(jusho0, " ") '文字を分割して
If UBound(tmp) > 0 Then '分割が発生していたら再結合する
jusho1 = tmp(0)
For i = 1 To UBound(tmp)
jusho2 = jusho2 & tmp(i)
Next i
Else
jusho1 = jusho0 '分割が発生していなかったらそのまま代入する
jusho2 = " "
End If
Sheets("印刷元").Range("A1") = jusho1
Sheets("印刷元").Range("A2") = jusho2
End Sub

これでいけるはず
0978デフォルトの名無しさん
垢版 |
2019/02/08(金) 19:06:53.88ID:imEPOnT1
>>976
もしSplit( )で分割数の制限ができなくて
> 「分割が発生したら住所を2つに再結合する」
としても
Sub test()
Dim tmp As Variant
Dim i As Integer
Dim jusho0 As String
Dim jusho1 As String
Dim jusho2 As String
jusho0 = Sheets("住所").Range("A1").Value '参照するセルは自分で書いてください
tmp = Split(jusho0, " ") '文字を分割して
jusho1 = tmp(0)
jusho2 = ""
For i = 1 To UBound(tmp)
jusho2 = jusho2 & tmp(i)
Next i
Sheets("印刷元").Range("A1") = jusho1
Sheets("印刷元").Range("A2") = jusho2
End Sub
でいいだろ
ちょっとトリッキーだけど
jusho1 = tmp(0)
tmp(0) = ""
jusho2 = Join(tmp, "")
ってやる手もあるな
0979デフォルトの名無しさん
垢版 |
2019/02/08(金) 20:28:18.13ID:v6US6OW1
どこで質問していいのかわからないので、ここにお邪魔します
Jscript、  拡張子がjsのファイルですが、これでエクセルを操作するのですが、
複数のワークシートがあるxlsファイルを開いた状態で

var book = GetObject("C:\\file.xls");
var sheet = book.Worksheets( 1 );
sheet.cells( 2, 2 ).Select;

としたとき、1のワークシートを開いているときは問題ないのですが、他のワークシートを開いているときは
エラーになります。でも、
sheet.cells( 2,2 ) = 5
は問題なくできます

つまり、タブで対象となるワークシート以外の他のワークシートを選択しているとき、
代入はできるのに、選択ができないのです
選択をできる方法ってありますか
0981デフォルトの名無しさん
垢版 |
2019/02/08(金) 21:17:15.14ID:v6US6OW1
あ、出来た。シートのセレクトってできたんですね。ありがとうございました
0982デフォルトの名無しさん
垢版 |
2019/02/09(土) 09:52:28.52ID:45ZMFjRM
コード書く画面を
背景黒、文字色白にするには
どうしますか?
0983デフォルトの名無しさん
垢版 |
2019/02/09(土) 10:11:07.65ID:0f9Fhb3P
>>917
あとでみます。
0985デフォルトの名無しさん
垢版 |
2019/02/09(土) 10:52:22.81ID:4JLmAX8Q
依頼者ですがみました。ここまでやってくれるとは思わなかった、それぐらいの完成度の高いです。感謝です。

フラッシュ演算「のような」ツールがほしいニュアンスで言ったのですが、演算までやってくれるプラスアルファまでやってくれるとは思わなかったです。恐れ入りました。
0986デフォルトの名無しさん
垢版 |
2019/02/09(土) 10:59:52.07ID:76xhR9ul
>>881
まあ、Excelの関数や機能でやるのはスレ違だが
基本的にVBAでやるのは最終手段っと考えてるのであしからず

A1 B1から始めてるとして C1に入れる式は「=IF(A1>0,IF(A2>A1,B1&C2,B1),"")」
これをC列にコピーすれば、A列に1が入っているところに答えが入る

A列B列C列に、フィルターを設定して、A列の1のみを表示するだけ 
0987デフォルトの名無しさん
垢版 |
2019/02/09(土) 11:07:15.59ID:4JLmAX8Q
連投すみません。
さらに要望なのですが、
要望その一
現状、横並びでフラッシュ表示しますが、縦並びに切り替えることはできます?
可能であれば対応いただきたいです。できたら、円並び、ランダム配置といったバリエーションも検討いただきたく。

要望その二
「問題セット」シートにて、登録した文字列の順序をボタン一つでランダムに入れ換えることは可能でしょうか?
可能であれば対応いただきたいです。
もともと登録した文字列は同一シート内の別の列に退避させてください。
0990デフォルトの名無しさん
垢版 |
2019/02/09(土) 11:21:46.36ID:4JLmAX8Q
要望その二はわかりづらいと思うので、具体的には「きりん」を登録します。
これをランダムで文字を入れ換えて「んきり」といったイメージです。
「んきり」をみてばらばらの文字を自分が知っている既知の情報「きりん」に変換し、きりんをイメージする。

個人的な、ツールの用途として、左脳で文章をよまず、文章をぱっと見で右脳でビジュアルに思い描く右脳活性化のための訓練として扱いたいのです。

これができるようになると、本を読むとき、文章で読むより右脳でイメージでとらえながら読むので、速読が可能そしてイメージでみるので記憶に残りやすくなります。
0991デフォルトの名無しさん
垢版 |
2019/02/09(土) 11:32:56.47ID:6oInKB58
こんちには みさなん おんげき ですか?
わしたは げんき です。

この ぶんょしう は いりぎす の ケブンッリジ だがいく の けゅきんう の けっか
にんんげ は もじ を にしんき する とき その さしいょ と さいご の もさじえ
あいてっれば じばんゅん は めくちちゃゃ でも ちんゃと よめる という けゅきんう に
もづいとて わざと もじの じんばゅん を いかれえて あまりす。
どでうす? ちんゃと よゃちめう でしょ?

ちんゃと よためら はのんう よしろく
0992デフォルトの名無しさん
垢版 |
2019/02/09(土) 11:44:46.80ID:76xhR9ul
---------上記はワッチョイ表示用(この行の後を1行目から )--------
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑の二行はワッチョイつけ忘れ防止用の予備です。 立てた時点で1行消耗します
スレを立てる方は本文の文頭に上記行を三行重ねて立てて下さい

ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part58
https://mevius.5ch.net/test/read.cgi/tech/1542577644/
---------上記はワッチョイ表示用(この行の前)---------
私は新参者なのでスレたては控えさせていただきますが
ワッチョイを入れることも検討してください
0995デフォルトの名無しさん
垢版 |
2019/02/09(土) 16:27:54.49ID:dlyNQvdo
スレ最後の質問。

あるファイルに、
on error goto err
******
exit sub
err:
msgbox err.description
end sub


こういうコードをたくさん書いてきました。
しかし、エラーが出たときに、どのプロシージャで発生したのか知りたくなり、
msgbox err.description & このプロシージャ名
に変更したくなりました。
「このプロシージャ名」を書く方法ってあるのでしょうか?
0997デフォルトの名無しさん
垢版 |
2019/02/09(土) 18:34:38.97ID:gPze9fmT
乗りかかった船だし、自分自身も勉強になっているのでこの案件は、できるところまでやりたいと思います。

>>987
要望その1
縦並び = 今でも(一応)可能。セルの書式設定からB2の書式で「配置タブ」の「方向」で縦を選んでみてください。
        文字の大きさとかも合わせて調整したら画面に収まりきると思います。後はセルの大きさも調整してみて。
ランダム配置 = スレの上のほうで案が出てたけどオートシェイプとかワードアートでできるかもしれないしできないかもしれない。あんま期待しないで。
円並び = 自分にはできません。

総じて、要望その1はあまり自信なしです!!!

要望その2
おそらく可能。まずはこっちから手をつけます。

時間がかかると思うのでのんびり待ってください。

>>922
922さんが想定された使い方かどうかはわかりませんが、使い方が解った気がします。
ヒントありがとうございます。
0998デフォルトの名無しさん
垢版 |
2019/02/09(土) 18:56:58.62ID:2u7e0Xtv
>>997
要望その二ができれば、要望その一のランダム配置は解決済みでよいです。
本は横書きと縦書きな二種類しかないので、円並びはあまり意味がないかなとおもうので対応は不要です。縦並びの実現はセルの書式設定で変えることができるので、実質要望その二だけになります。

余談ですが、Androidアプリでフラッシュカードというフリーのアプリを一週間前から使ってましたが、スマホでデータ登録は面倒、フラッシュ速度最大にしても0.5秒くらい望んでるものではないのでアンインストールしました。
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 82日 14時間 28分 22秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


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

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

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

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

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