2ch勢いランキング アーカイブ

Excel VBA 質問スレ Part58


デフォルトの名無しさん [sage] 2018/11/19(月) 06:47:24.99:Qq88xGOU
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK


※前スレ
Excel VBA 質問スレ Part57
ttps://mevius.5ch.net/test/read.cgi/tech/1536583359/
デフォルトの名無しさん [sage] 2018/11/19(月) 09:52:02.94:5k0nvJVR
デフォルトの名無しさん [sage] 2018/11/20(火) 22:35:35.36:HCcZ0ovU
Dim Otimpo As Variant
Set Otimpo = New Penis
Otimpo.Insert Woman.Vagina
デフォルトの名無しさん [sage] 2018/11/20(火) 22:46:03.40:vvK8gepa
俺だったらInsertToメソッドにする
デフォルトの名無しさん [] 2018/11/22(木) 09:37:41.30:ZIGZU+Kk

=LEFT("おつかれあかたあまや",4)
デフォルトの名無しさん [sage] 2018/11/22(木) 09:49:09.43:hMczrcoU
昭和の臭いプンプン
デフォルトの名無しさん [sage] 2018/11/22(木) 11:44:50.42:DvNJLexV
昭和なら $ 付けるだろ
デフォルトの名無しさん [] 2018/11/23(金) 09:01:48.81:pYaMx0la
ややExcelと離れるのですが、他に適切な場所が見当たらないのでこちらで質問。

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

(1)についてはある程度(たまに取れないのがある)なんとかなるのですが、
(2)と(3)の手段が分からないでいます。
この辺を得る手段について、ご存じの方いましたら教えてください。
デフォルトの名無しさん [sage] 2018/11/23(金) 10:13:26.49:NlhnMW/X
表示されているシート名 って要は現在アクティブなシートってことでしょ?
ActiveSheet.Nameで取れるんじゃ?
デフォルトの名無しさん [sage] 2018/11/23(金) 11:15:52.26:OdmoxaxG

やったことがないから保証できないが、
OLEObject.ObjectプロパティからOLEオブジェクトのコントロールを取得できるはず
ここからExcelのオブジェクトモデル経由でシート名等は取れるかも
8 [sage] 2018/11/23(金) 11:27:11.08:pYaMx0la
,10

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

UsedRangeは、まさに「Excel上で利用されている範囲」になるので、ちょっと違う。

探しているのは、(WordとかPowerpointとか) 「被貼付側から見えている範囲」。
コピペを行うときにExcel上で範囲指定してる、まさにその範囲の情報が欲しいのです。
『広い範囲が使われているシート(埋め込みオブジェクト)の一部分だけが表示されている時、
 その表示部分を特定する』がやりたいの。
デフォルトの名無しさん [sage] 2018/11/23(金) 20:29:14.68:SJrbhhQk

3つパラメータがあるならそもそも3つのセルで管理すればいいんじゃないかと思うが、区切る回数も動的にしたいのかな?

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

そうやって得たString配列の要素全てをCIntで型変換してInteger配列に入れ直せば、TextFileFixedColumnWidthsプロパティに代入できる
デフォルトの名無しさん [sage] 2018/11/23(金) 20:45:52.52:A5v+c7Q3

区切る回数も動的にしたいんです。
さっそく試してみます。ありがとうございます。
デフォルトの名無しさん [sage] 2018/11/24(土) 07:26:12.22:XV/jbN3E

無事にやりたいことが実現できました。ありがとうございました。勉強になりました。
デフォルトの名無しさん [sage] 2018/11/26(月) 18:21:38.61:jE4mmGCd
ユーザーフォームのボタンでExcel以外のファイルを開くのにShell.Execute使ったんだけど、ボタンを押しても何も反応しない

CreateObject("Shell.Application").ShellExecute "c:\test\test.pdf"
デフォルトの名無しさん [sage] 2018/11/26(月) 19:08:14.69:sSO4v+r+

試してみたけど、そのコードで問題なく動くなあ
デフォルトの名無しさん [sage] 2018/11/26(月) 19:30:02.47:VtKrTehC

デザインモードがオンになってるとかじゃね
デフォルトの名無しさん [sage] 2018/11/26(月) 20:06:27.80:c8QT25Tm
検証ありがとう!
ちな標準モジュールに書くと普通に動く。
どうもユーザーフォームに書くとダメみたい
デフォルトの名無しさん [sage] 2018/11/26(月) 20:09:03.00:c8QT25Tm

違った
ユーザーフォームじゃなくてユーザーフォーム内のボタンね
デフォルトの名無しさん [sage] 2018/11/26(月) 22:08:01.92:sSO4v+r+
ユーザーフォーム作ってボタン配置してボタンのOnClickにコード書いたけど問題ない
デフォルトの名無しさん [sage] 2018/11/26(月) 22:25:28.75:c8QT25Tm
みんなマジか〜
環境は2010、2007ともにダメだった。
明日2016で試してみる。
ちなみにパスがフォルダ指定までなら動く。
もう意味わからん
デフォルトの名無しさん [sage] 2018/11/26(月) 22:57:14.49:sSO4v+r+

もしかしてpdfをダブルクリックした時に「このファイルを開くアプリ」の選択メニューが出てない?
デフォルトの名無しさん [sage] 2018/11/27(火) 08:58:52.14:TmwvOLJp

すまぬすまぬ。実は開かないのは.xlsxや.xls。
さっきやったら.txtや.bmpに書き換えるとちゃんと動いた。関連付けがおかしいかと思ったけどファイルダブルクリックでexcelファイルは開く。
デフォルトの名無しさん [sage] 2018/11/27(火) 09:23:34.69:OWqQZ565
さすがにExcelはOpen関数使えよ。。。
デフォルトの名無しさん [sage] 2018/11/27(火) 11:44:24.61:Y7caogE6

やっぱりそうですよね、、
ありがとうこざいました!
デフォルトの名無しさん [sage] 2018/11/27(火) 21:03:19.26:JHhXTC3j

VISTA32ビットのEXCEL2007で再現した
ちなみにブレークポイントはってステップインさせたらちゃんと動いた
デフォルトの名無しさん [] 2018/11/28(水) 21:03:32.22:btdWGy6U
切り取り・コピーしようとしたら「クリップボードを開くことが」と表示されました 前までは正常に出来てたのに急にあんなになるなんて
どうしたらなおるんですか

原因不明の謎の症状
30 [] 2018/11/28(水) 21:11:36.27:btdWGy6U
のところ、再起動したら直りました
自己解決
デフォルトの名無しさん [] 2018/11/28(水) 21:55:41.99:6iHSQiFE
WorksheetFunctionを使うと遅くなると聞きました。セルで計算して取得したほうがいいですか?
デフォルトの名無しさん [sage] 2018/11/28(水) 22:15:02.98:T0n8cI1t

遅いと言っても、よほど大量のデータを処理しない限り大差ないから気にしなくていい
デフォルトの名無しさん [] 2018/11/28(水) 23:27:06.65:6iHSQiFE

ありがとうございます
デフォルトの名無しさん [sage] 2018/11/30(金) 08:07:23.94:yuW+a+er
workbook.Aのマクロから、workbook.Bのマクロパスワードを解除できますか?
*パスワードは分かっています
**windows10 / excel 2016

同じパスワードをかけた大量のファイルのマクロパスワード解除が必要になった為
デフォルトの名無しさん [sage] 2018/11/30(金) 08:09:10.42:cHj05URw
できるかと言えばできる。
デフォルトの名無しさん [sage] 2018/11/30(金) 08:53:39.83:yuW+a+er

ありがとうございます。

VBAでsendkeyでパスワード入れたいのですが、プロジェクトエクスプローラーのウィンドウで、目的のworkbook.Bを選択してパスワードウィンドウを開く事がうまくできないところです。
デフォルトの名無しさん [sage] 2018/11/30(金) 09:06:54.20:cHj05URw

いや、Sendkeysは絶対使っちゃいかんものNo.1だろ。
制御出来ないからな。
わかってて一過性のプログラムで使う以外に使うことは無い。
デフォルトの名無しさん [sage] 2018/11/30(金) 11:07:00.94:yuW+a+er

ご忠告ありがとうございます。
デフォルトの名無しさん [sage] 2018/11/30(金) 12:03:29.38:LyLvfax5

MSDNライブラリでWorkbookオブジェクトのOpenメソッドの説明を詳しく読めば解決
デフォルトの名無しさん [sage] 2018/11/30(金) 18:19:35.02:RELaXAo9

マクロのパスワード解除ってワークブックオープン関係なくね。
デフォルトの名無しさん [sage] 2018/11/30(金) 18:57:50.86:cHj05URw
そもそもマクロパスワ―ドってことはVBEを弄ることになるから普通はセキュリティ設定に引っかかる。

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

それにそのコードがウィルス判定されるかも。
デフォルトの名無しさん [sage] 2018/11/30(金) 19:30:48.61:D2Lo7Qd2

この質問者が「解除」という言葉で言いたいのは、パスワードなしのファイルとしてファイルを再保存することじゃなくて、ただ単に読み取りパスワード付のファイルを普通に実行することだと思うぞ
Sendkeysとか恐ろしいことを上で言ってるので
デフォルトの名無しさん [sage] 2018/11/30(金) 23:26:49.39:1+TlpALp

プロジェクトエクスプローラーって言ってるのにそんなわけ無いだろ
35 [sage] 2018/12/01(土) 07:37:11.82:0dTVd6NK

マクロのロック解除です。

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

現状はマクロでVBAをアクティベートし、vbkeyで操作する方法で試してますが未だにうまく動かないです。
デフォルトの名無しさん [sage] 2018/12/01(土) 12:13:55.48:bMs1CWzL

VBAのsendkeyは不安定なので、vbsとかを経由しろとか聞いたことある気がする。ちょっと調べてみては?
35 [sage] 2018/12/01(土) 12:16:20.34:0dTVd6NK

ありがとうございます。
試してみます。
デフォルトの名無しさん [sage] 2018/12/01(土) 12:20:42.98:TS4bNkMJ
フォルダ内にある全てのtxtファイルをピボットテーブルで変換して一つのファイルに結合するにはどうしたら良いですか?
デフォルトの名無しさん [sage] 2018/12/01(土) 12:22:51.76:TS4bNkMJ

一つのテキストファイルあたりExcelの104万行を超えています
デフォルトの名無しさん [sage] 2018/12/01(土) 12:30:20.41:Yrektqt+

Accessに取り込んで104万件以下に整理してからExcelに読み込む
デフォルトの名無しさん [sage] 2018/12/01(土) 13:39:55.20:TS4bNkMJ

Accessで一括に読み込めますか?
デフォルトの名無しさん [sage] 2018/12/01(土) 17:27:15.14:qC6lat5H

vbsとか経由でも駄目だろ。
何が駄目かと言うと入力したい所にピンポイントで入力するわけじゃ無いところ。
直前に入力したい所にフォーカスを当てるとか工夫してる人もいるけど根本的によろしく無いんだよ。
動かしてる時に別の何かをクリックしたりするとそっちに入力されちまう。

改めて確認するけどVBAがパスワード保護されてコ―ド編集出来ない状態になっている。
パスワードは分かっていて手動で解除出来るけどブックが大量で解除と再設定が大変という問題?
デフォルトの名無しさん [sage] 2018/12/01(土) 17:45:25.58:qC6lat5H

そのテキストファイルはどんなファイル?
データベースのデータのようなものなの?
その104万行というのは、そもそも全部必要なの?

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

全部必要だったらAccessを使うべきデータ量だな。
でも、そのデータをどんな風に扱いたいか分からないから一概には言えない。
35 [sage] 2018/12/01(土) 17:56:01.08:0dTVd6NK

おっしゃる通りです。
マクロで大量に作ったマクロパスワードが同じファイルのパスワードを解除し、マクロを消すプログラムを作りたいです。
マクロを消すプログラムはマクロパスワード無しのファイルに関しては全てうまく動いています。
またエクセルファイルにはパスワードはかけていません。

過去に作ったエクセルファイルは残したままマクロを全て消せとの指令で必要となっています。
デフォルトの名無しさん [sage] 2018/12/01(土) 18:47:27.12:X1CAEXrd
xlsxで保存すればマクロは消えない?
デフォルトの名無しさん [sage] 2018/12/02(日) 12:24:29.74:RxJGbltM
そんな大量のデータ、一行ずつ読んでたら日が暮れるぞ。
バイナリモードで開いてメモリの許す半範囲で読んで、末尾の改行までを消すの繰り返して読み込んだ方が遥かに早いよ
デフォルトの名無しさん [sage] 2018/12/02(日) 13:35:42.09:QrHhUpeR
100万行越えのデータは、まず複数列、複数シートを使って読み込んでみれば?
内容によっては固まって何もできなくなる悪寒しかないけど
デフォルトの名無しさん [sage] 2018/12/02(日) 17:24:20.84:L8bj4c7S
100万行が大量か?
それはどんな100万行かによる。
100万個の改行だって100万行だ。
デフォルトの名無しさん [sage] 2018/12/02(日) 17:27:05.82:L8bj4c7S

が書いてるようにxlsxで保存するようなのは駄目なのか?
デフォルトの名無しさん [] 2018/12/02(日) 21:09:54.29:V0qE8100
ユーザーフォーム上のクリックボタンが、Tabで通過する分には何も起こらないのだけどカーソルキーで通過するとチェック入るのだけど、コード書いて制御するしかない?
デフォルトの名無しさん [sage] 2018/12/02(日) 22:14:16.48:KrKU+109
クリックボタンにチェックとは?
デフォルトの名無しさん [sage] 2018/12/03(月) 00:04:08.66:X8MytAwB
EXCELのVBA使いたいのですが
どうやったら起動できますか?
最初からEXCELにソフト入ってるんですか?
デフォルトの名無しさん [sage] 2018/12/03(月) 00:39:02.99:eKdLT8zi
Microsoft Visual Basic for Applications(VBA)エディターが開きます。

Alt+F11
デフォルトの名無しさん [] 2018/12/03(月) 07:02:37.21:F098t6Ls

すみません、チェックボックスでした
デフォルトの名無しさん [sage] 2018/12/03(月) 19:46:40.74:zpf7CT60



xlsx保存し元ファイルを全て消すでやりたい事ができました。
ありがとうございます
デフォルトの名無しさん [sage] 2018/12/03(月) 23:49:02.49:Ks+qj00w
フランス政府からマクロン消したら市民が泣いて喜ぶよね
ありがとうございます
デフォルトの名無しさん [sage] 2018/12/04(火) 00:09:42.14:fkKXq52U

まずは首を括れよ
デフォルトの名無しさん [sage] 2018/12/04(火) 06:14:33.41:Jf/aCYja

消えろ小僧
デフォルトの名無しさん [sage] 2018/12/04(火) 09:00:31.20:F519qlgb
"ab","bc","c
d"
みたいなcsvがあり、これを処理速度重視で読み込みたいんですがなにかいい方法無いですかね
なんか配列操作で計算、集計して最後シート出力すると早いと思うので配列に入れたいんですが1行ずつの読み込みだとうまく行かずで困ってます
fsoで全文読んでも改行されてますし…
デフォルトの名無しさん [sage] 2018/12/04(火) 09:15:39.52:TjlcF2tR

めんどそう
そんなんじゃ " のエスケープとかも考慮しなきゃいけないんでしょ?

だけど気合い入れてアルゴリズムごりごり実装するのを勧める
デフォルトの名無しさん [sage] 2018/12/04(火) 09:18:52.95:FU2ewWox

ボトルネックがFile I/Oならバイナリで全部読んでコンマでsplit
ただし文字列変数の限界は2GBなのでファイルサイズに注意
デフォルトの名無しさん [sage] 2018/12/04(火) 12:54:59.46:HOLQGFa9
どうでも良いけど1レコードの定義をちゃんとしないと膨大なカラムの1レコードデータになっちまうぞ。

バイナリ読み込みでやるのは確かに早いんだが、そこを気にする程のデータ量なのかなあ。
この間の100万行デ―タもサンプル作って読み込んだら10秒とかだったぞ。
デフォルトの名無しさん [sage] 2018/12/04(火) 13:26:11.27:F519qlgb
全文読んだ後にレコード単位に分けてカンマ区切りで分けてーをしっかりアルゴリズム書くて感じですかね
そこそこ面倒臭いですねこれ
デフォルトの名無しさん [sage] 2018/12/04(火) 13:31:22.51:nDNFtNox
セルコピーでValudatonの中身までコピーする方法ってありますか?
愚直にコピーすると設定したプルダウン情報が消えてしまいます
デフォルトの名無しさん [sage] 2018/12/04(火) 17:53:21.87:eg0Zt3qJ

エスケープなし、カンマのみ項目なし、改行のみ項目なしなら楽なんだけどね
デフォルトの名無しさん [sage] 2018/12/04(火) 18:44:19.91:F519qlgb

自己レス
adodb使ったらなんかいい感じにいけました
デフォルトの名無しさん [sage] 2018/12/04(火) 23:45:07.95:foGY0MAA
外部のExcelマクロを呼び出し、その処理の中でMsgBoxが表示された場合、それを呼び出し元で認識する方法はありますか?
Msgboxを操作したいとかではなく、表示されたということがわかればいいです
デフォルトの名無しさん [sage] 2018/12/05(水) 01:51:39.17:bmTXilR5

APIでHWNDを列挙
デフォルトの名無しさん [sage] 2018/12/05(水) 08:11:01.31:j7wcFAGs

外部のExcelマクロというのが別プロセスのExcel上で動いてるマクロという意味なら方法はある。

内部でもExcelが落ちる可能性を承知するならある。
デフォルトの名無しさん [sage] 2018/12/05(水) 18:51:03.67:cxhucZsa
,79
APIでの実現方法がよくわからなかったので、呼び出されるマクロに認識用のモジュールを追加することにしました
ありがとうございました
デフォルトの名無しさん [sage] 2018/12/05(水) 22:21:05.50:LTu8VXCT

自己レス
adodbも面倒臭かったacces無いんでcsvのデータ型判定の為にschma.iniみたいなの作る必要あったり…
元の文字コードとかbomとか考慮しないといけないけどworkbookのopen使ってマズかったらエラー出した方が早かったかも
デフォルトの名無しさん [sage] 2018/12/06(木) 08:13:12.56:5yG8Yqq9

いい肥やしになったと思います
デフォルトの名無しさん [sage] 2018/12/06(木) 23:32:22.39:O2YT1bAS
肥やしって具体的には何のこと?
デフォルトの名無しさん [sage] 2018/12/07(金) 08:39:50.57:a2+Odvtp
普通にOpenしてLine Inputした方が速くて簡単だったんじゃない?
と思ったら文字コード?BOM?

最初の質問は何だったのか。
文字コード考えなきゃならんのなら、
最初から選択が限られるだろ。
デフォルトの名無しさん [sage] 2018/12/07(金) 23:08:14.09:vEdbg58X
まあでもsplitはないよな
デフォルトの名無しさん [sage] 2018/12/07(金) 23:45:43.79:ny7N65D8
データ内の改行やカンマを正しく解釈するためにモジュール自作してる
デフォルトの名無しさん [sage] 2018/12/08(土) 08:49:31.99:D25PXYri
データ内のダブルクォーテーションもあるで
デフォルトの名無しさん [sage] 2018/12/08(土) 10:23:21.41:qbpmcynn
この手のことはだいたい同じ事を先に考えている人がいるから、
参考にするなりDLして利用するなりすれば、やりたいことは秒で完成させられる
理解するのはまた別で、ちゃんとソース読めな話になるけど。

たとえば、「VBA CSV BAS」でググって即出るヤツだとこんなとか。
ttps://github.com/sdkn104/VBA-CSV
デフォルトの名無しさん [sage] 2018/12/08(土) 11:33:49.23:KOgxZmAl
Range("C1:C10") = "=A1+B1"
とセルに式を埋め込むと自動で A2+B2、A3+B3 とやってくれますが
WorksheetFunctionで上と同じ事を1行で簡単に書くことってできますか?
うまい方法思いつかないのでいつも 関数埋め込み→値貼り付けで式を消す とやってます
WorksheetFunctionのループは式の埋め込みより遅かったです
デフォルトの名無しさん [sage] 2018/12/08(土) 15:59:33.39:/nD5g8zA

わざわざ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
デフォルトの名無しさん [sage] 2018/12/08(土) 16:47:33.14:X2RnV3YS
俺ならVBAで各セルに計算式埋めるけどな
デフォルトの名無しさん [sage] 2018/12/08(土) 17:13:31.83:Zw8nZFqz
Range("C1:C10").Formula = "=A1+B1"
Range("C1:C10").Value=Range("C1:C10").Value
デフォルトの名無しさん [sage] 2018/12/08(土) 18:00:32.80:FvhEiENk

人に教えてもらう分際で、一行でとか注文つけてんじゃねーよ。
デフォルトの名無しさん [sage] 2018/12/08(土) 19:19:47.59:I01ncySI
ワークシートか配列へ代入したり配列をワークシートに直接貼り付けたりって技いつ頃から一般的になった?
なんか20年前からやってたという人がいて本当かよと思ったんだが。
デフォルトの名無しさん [sage] 2018/12/08(土) 20:28:45.94:/nD5g8zA

特定の個人が知ってたのと、一般的かどうかなんて全然関係ないじゃん
ExcelもVBAも20年以上前からあるんだし、知ってても不思議じゃない
デフォルトの名無しさん [sage] 2018/12/08(土) 20:53:05.77:dkUbxCqg

ああごめんなさい
「そんなの20年前から一般的だったよ」みたいなニュアンスで言われたんですよ。
自分としてはここ2〜3年で知られた新しめのテクニックだと思ってたんで、「マジか?」と。
デフォルトの名無しさん [sage] 2018/12/08(土) 21:00:40.14:/nD5g8zA
20年前のことは知らんけど、さすがにここ2〜3年てことはない
もっと昔から知られてた
デフォルトの名無しさん [sage] 2018/12/08(土) 21:04:04.90:Ac8D4eVv

ですね。

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

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

あまりにもセル操作という初歩だけが広まった弊害だね。
デフォルトの名無しさん [sage] 2018/12/08(土) 21:07:43.53: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
デフォルトの名無しさん [sage] 2018/12/08(土) 21:09:26.57:KOgxZmAl
時間(秒)
A 0.035
B 0.265
C 0.031
D 0.015
E 0.062

配列は頭がごちゃごちゃして苦手なんだけどやっぱ配列かなー
いつものは書くのが楽だけど見栄えがあんま良くない
Range("C1:C10000") = "=A1+B1"の部分を数式残さずWorksheetFunction一括で書けないかなーと思ってた
みなさんどうも
デフォルトの名無しさん [sage] 2018/12/08(土) 21:12:06.71:KOgxZmAl
書き間違い
ans→計算結果格納配列
デフォルトの名無しさん [sage] 2018/12/08(土) 22:34:44.30:Pds2yprW
Range("c1:c10") = Evaluate("=a1:a10+b1:b10")
デフォルトの名無しさん [sage] 2018/12/08(土) 23:08:03.54:KOgxZmAl

速くて簡潔
今までの中で一番早い
Evaluate知らないので勉強してみます。有難う。
デフォルトの名無しさん [] 2018/12/08(土) 23:21:36.60:Q+l9Re6e

あーなんかいいのがあったはずだと思っていたがEvaluateかーー
くやしいから
Range("c1:c10") = [a1:a10+b1:b10]
デフォルトの名無しさん [] 2018/12/09(日) 07:19:28.94:Pe0BknB8
データを蓄積、変更して管理するシステムをVBAで作るとして、普通、データとプログラムを分けるよな?
デフォルトの名無しさん [] 2018/12/09(日) 08:55:53.41:BPsncq85

分けるけど、わざわざそういう質問するってことは現状データをBookに蓄積先してる状況なのかな?
入出力画面をExcel & VBAで作って、データはDBに蓄積するってのがこの場合の模範解答だと思うが。
デフォルトの名無しさん [sage] 2018/12/09(日) 21:01:53.98:F2zjByp1

配列数式ってのは大昔からあったな。エクセルはVBA書かないと標準機能ではクロス集計が
面倒くさいダメダメ君だった。「条件付き合計式ウィザード」なんていう冴えないシロモノに失望して
デフォルトの名無しさん [] 2018/12/10(月) 12:24:50.65:F1/sCBz9

おまえが2〜3年前に知ったからってなんで勝手に一般化して皆そうだと思うんだよ
デフォルトの名無しさん [sage] 2018/12/11(火) 08:00:45.59:VzVuR/sH
みんな、落ち着いて聞いてくれ。
間も無く2019年だ。2019だぞ?
配列に突っ込んで一括処理するのは、少なくともEXCEL98から使われてきた手法だ。
既に20年経過してやがる。
デフォルトの名無しさん [sage] 2018/12/11(火) 08:30:34.19:jr4KaA92

٩(๑`^´๑)۶\(^-^ ) ヨシヨシ
デフォルトの名無しさん [sage] 2018/12/11(火) 08:41:05.40:mN+cBX2v
空白行が複数ある範囲から、空白行を除いて配列に取り込むのはどうやるのが効率がいい?
条件
・行内は完全に空白かそうでないかで中途半端にデータが入ってるところはなし
・空白行を除いたデータ総数は300前後で最大で16程度に分割されている
・空白行は連続することもある

一行一行調べるより、データの塊の上下の行番号を調べるのが正解な気がするんだけど
デフォルトの名無しさん [sage] 2018/12/11(火) 08:55:39.61:OAAPkOpt

そのデータがワークシート上にあるんなら、オートフィルターかければ?
VBAで1行で書けるぞ
デフォルトの名無しさん [sage] 2018/12/11(火) 09:27:01.56:zUaOIyWC

> データの塊の上下の行番号を調べる
それ一行一行調べないとわからないんじゃね?

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


フィルタ掛けた結果を一気に配列に読み込むってできたっけ?
デフォルトの名無しさん [sage] 2018/12/11(火) 11:43:07.63:U/EFAptV

fjだかのExcel会議室では配列がホットな話題になったよ
t.Tanaka氏とかもコテハンで議論に参加してさ
なつかしいなあ
デフォルトの名無しさん [sage] 2018/12/11(火) 11:50:12.79:s7r8QuRW




デフォルトの名無しさん [sage] 2018/12/11(火) 12:15:58.68:/u4ZG0F2

当時からおっさんだったら、今頃じーさんかも知れないぞ。
デフォルトの名無しさん [sage] 2018/12/11(火) 14:13:54.04:mN+cBX2v

下からCtrl↑で止まったセルの行番号を取得するを繰り返せば毎行調べなくて済む

オートフィルターで絞った結果を可視セルだけ選択しても、取り込まれるのは左上だけになるから無理だね
一行一行調べる羽目になる
やるなら作業シート作ってコピペしてから取り込むんだけだ、それはやりたくない訳で
デフォルトの名無しさん [sage] 2018/12/11(火) 14:39:45.96:zUaOIyWC

> 下からCtrl↑で止まったセルの行番号を取得するを繰り返せば毎行調べなくて済む
それはそうだけど速いかどうかは状況次第だね
> VBAで1行で書けるぞ
って方法があるみたいなことを書いてるので聞いただけ
デフォルトの名無しさん [sage] 2018/12/11(火) 20:47:54.18:r2my7w49

元々、どういう考えでが言ったのかは分からんけど、配列に取り込むまでを1行って言ってたのかなあ。
オートフィルタをかけるコードが1行という意味じゃないかな。

だからといって、そこからどうするんだ?とは思うけどさ。
デフォルトの名無しさん [sage] 2018/12/11(火) 21:00:32.57:zUaOIyWC

元々は

> 空白行が複数ある範囲から、空白行を除いて配列に取り込むのはどうやるのが効率がいい?
なので、フィルターだけの事を言われても…
デフォルトの名無しさん [sage] 2018/12/11(火) 21:34:59.21:OAAPkOpt
クリップボード経由でデータを一気に取得、オートフィルタにも対応
※最小設定FM20.DLLが必要
Sub Macro1()
  ActiveSheet.Range("A1:C10").Copy
  With New MSForms.DataObject
    .GetFromClipboard
    str = .GetText
  End With
  MsgBox str
End Sub
デフォルトの名無しさん [sage] 2018/12/11(火) 21:35:27.33:OAAPkOpt
参照設定
デフォルトの名無しさん [sage] 2018/12/11(火) 21:40:19.21:r2my7w49

そりゃそうだけど、を読む限り1行ってのはオートフィルタだけについて言ってるように受け取る方が自然じゃん。
だから、そこからどうするんだという感想になるわけ。
そもそもは配列に取り込むことなんて想定してないかもしれない。
空白があって見にくいのを何とかしたいんだろうとか、勝手に先読みして配列に取り込むという元のお題をほったらかしとか。

そもそも300行程度のデータならどんな方法でも良いんじゃないかと思う。
そんなんで思い悩むのは無駄だよ。
デフォルトの名無しさん [sage] 2018/12/11(火) 21:51:43.64:zUaOIyWC

ガイジなのかな?
デフォルトの名無しさん [sage] 2018/12/11(火) 22:40:05.46:r2my7w49

君が?
それとも?
デフォルトの名無しさん [sage] 2018/12/11(火) 22:53:52.01:8DZhL+mg
それこそVariant型配列にでもぶっ込めば手っ取り早いし処理もそれなりに速そう
デフォルトの名無しさん [sage] 2018/12/11(火) 23:25:52.21:mBAHWwo2
UI Automationのレイトバインドって、どうやればいいんでしょう?
レジストリ調べてもクラスID出てこないし・・。
デフォルトの名無しさん [sage] 2018/12/11(火) 23:34:38.12:r2my7w49

基本的に出来ない。
デフォルトの名無しさん [sage] 2018/12/12(水) 00:19:46.28:3KU1fzXl

参照設定は出来るのに、CreateObjectは不可なんてのがあるんですか?
デフォルトの名無しさん [sage] 2018/12/12(水) 06:08:42.05:yHW8d60g

自覚がないのは可哀想
デフォルトの名無しさん [sage] 2018/12/12(水) 09:43:38.09:F+70e5KM

ある。
デフォルトの名無しさん [sage] 2018/12/12(水) 09:44:36.67:F+70e5KM

まず、日本語の勉強をしような。
デフォルトの名無しさん [sage] 2018/12/12(水) 12:29:40.76:4PEjGm8G

どこから日本語とか出てくるんだろう?
日本語ができないという自覚はあるってことなのか? w
デフォルトの名無しさん [sage] 2018/12/12(水) 19:01:00.09:pifCGzoS
グラフ作成マクロ作ったんだけど結構面倒くさくない?慣れの問題?
特に細かなフォーマットとか云々がめんどい
それに出力シートのセルいじられて(1行目削除)出力セルがズレたせいでフォーマット崩れたとか言われて頭痛いんだけどどう対処するのが良いのこれ
デフォルトの名無しさん [] 2018/12/12(水) 20:01:12.49:K6Ng+wlm
使用方法まとめたドキュメント作ってないなら作成者が悪い。
作ってるなら碌に読まないで文句いってる使用者が悪い。
作り方次第で解決するとは思うが。
デフォルトの名無しさん [sage] 2018/12/12(水) 20:02:06.59:aZC5ZPlw
ルーチンにはルールが必要やで
デフォルトの名無しさん [sage] 2018/12/12(水) 22:32:28.50:3KU1fzXl

逃げる。
いや、マジで。
フォーマットを壊す人ような人の依頼を受けると碌なことない。
どうしてもやらなきゃダメなら、
ちょっとでも崩れたら、エラーメッセージが出るようにする。
あなた壊しましたね。直さないと出力できませんよ的な。
デフォルトの名無しさん [sage] 2018/12/12(水) 23:25:41.76:YxATkhEB
シートとブックを保護する
デフォルトの名無しさん [sage] 2018/12/13(木) 09:08:24.41:UfF+3F/y
出来たグラフをPDFにしてそれを渡す
デフォルトの名無しさん [sage] 2018/12/13(木) 09:12:33.11:LhgdcJ19

人の話が理解出来てないから、日本語という言葉が出て来るんじゃないの。
デフォルトの名無しさん [sage] 2018/12/13(木) 12:28:02.78:yiVhwKQv

> 人の話が理解出来てないから
既にガイジかよって指摘されてるだろ w

そもそも配列に取り込むという要件明記されてるのにオートフィルターなら1行で書けるとか頓珍漢にも程がある
デフォルトの名無しさん [sage] 2018/12/13(木) 21:18:33.38:WIhtQMzU

シーブックがなんだって?
デフォルトの名無しさん [sage] 2018/12/13(木) 22:36:46.58:X2R1LlWK
CreateObject("Excel.Application").ExecuteExcel4Macro("CALL(DLL, 名前, ""JJ"", variant型の配列)")

これにvariant型の配列を渡す場合はどうすればいい?
OとかKとか入れてもダメなんですけど。
普通に呼べとか言わないで。
デフォルトの名無しさん [sage] 2018/12/14(金) 01:30:05.29:dZAIZmaz

あのぉ…
デフォルトの名無しさん [sage] 2018/12/14(金) 07:22:07.04:CUJ1nMvt

不可能
1セルずつしか処理できないのが特徴だし
デフォルトの名無しさん [sage] 2018/12/14(金) 09:13:11.97:GTuXeJsU

想像した通りだ。
日本語勉強しような。

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

1行で書けるというのは、その直前のオートフィルタをかけるという部分を受けてのものとも読み取れるのが日本語の解釈だ。
もちろん、君の要件に対してのものというのを全面的に否定するものでもない。
どっちにも受け取れるのが日本語の曖昧さだ。
デフォルトの名無しさん [sage] 2018/12/14(金) 12:34:42.08:8Omm9ucp

> には全く賛同出来ないが、かといっては君の要件に対して1行で書けると言っているとは限らないと読み取れると言っている。
別に俺が出した要件じゃねーけどな
敵は1人に見える病気かな? w
フィルター云々はいいとして要件にそぐわない事書いて意味あるんか?
って話な
フィルター掛けときゃすげー楽になると言うならまだしもとか恥の上塗りにしかなってないだろ
ここまで説明しないとダメなの?
デフォルトの名無しさん [sage] 2018/12/14(金) 19:29:44.65:GTuXeJsU

>別に俺が出した要件じゃねーけどな
全く、馬鹿らしいがそんなことは想定済みだ。
こういう場合、要件出したのが君だろうが違かろうが「君の要件」と書いておけば通じるという想定だ。
それまでの君の発言を見て要件出した奴かどうかなんて調べるのがめんどうということだ。

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

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

>ここまで説明しないとダメなの?

ちなみに、君のその説明、一番最初から分かってるから。
その君の主張が甘いんじゃねということを言ってるのが最初からの俺の主張だぞ。
デフォルトの名無しさん [sage] 2018/12/14(金) 19:36:43.15:GTuXeJsU

アンカー間違えた。
へのレスな。
デフォルトの名無しさん [sage] 2018/12/14(金) 20:29:48.28:8Omm9ucp

> つまり、君の言う「まだしも」の可能性が残っている。
なら早く出せよ w
出せない時点で中身のない長文乙
にしかならんよ
デフォルトの名無しさん [sage] 2018/12/14(金) 21:50:27.31:GTuXeJsU

???
出すのはであって俺では無いし、それにこの議論が始まるまでの話だから今さら出す、出さない関係無くのの時点で1行が要件に対してと決めつけたのは間違いなんだが。
デフォルトの名無しさん [sage] 2018/12/14(金) 22:24:25.69:OczD5cRe

セルじゃなくてvariant型の配列。
デフォルトの名無しさん [sage] 2018/12/14(金) 22:48:04.67:yDEitqc6

お前に出せないのはわかってるよ w
出せないのに
> つまり、君の言う「まだしも」の可能性が残っている。
とかアホでしょ?
って話な

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

???
まだ分かって無いのか?

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

出す必要なんて最初からないんだよ。
デフォルトの名無しさん [sage] 2018/12/14(金) 23:13:37.60:GTuXeJsU

>そもそもどころかの時点で
> フィルタ掛けた結果を一気に配列に読み込むってできたっけ?
がおかしいことを指摘してる

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

つまり、お前の指摘は間違っていることになる。
がおかしいというのなら正しい可能性が残らないように指摘しなければならない。
デフォルトの名無しさん [sage] 2018/12/14(金) 23:48:38.10:yDEitqc6

で?
役に立たない長文書いてもなんの解決にもならんよ
恥の上塗り重ねてるだけ w
デフォルトの名無しさん [sage] 2018/12/15(土) 03:21:06.31:WK8Eb1ay

なんだ、反論できんのか?
だったら何も言うことは無い。

まともに日本語が理解出来ないのは哀れだねえ。
デフォルトの名無しさん [sage] 2018/12/15(土) 07:16:14.22:lJT07BrA

> が正しい可能性が残っていると言っている。
バカなの?
の内容が間違ってるとか言う話じゃなくて「頓珍漢」だと言ってるの
まあはさらに頓珍漢だけどな

> まともに日本語が理解出来ないのは哀れだねえ。
ブーメラン過ぎる w
デフォルトの名無しさん [sage] 2018/12/15(土) 08:17:58.44:B6remLfl
いつになったら場違いだと気付くのだろうか。。。
デフォルトの名無しさん [sage] 2018/12/15(土) 09:04:38.64:U64Nbokg
でさ、ここ質問スレ

乱闘なら他でやれ、クズ共
デフォルトの名無しさん [sage] 2018/12/15(土) 10:21:31.76:WK8Eb1ay

アホ。
頓珍漢ではない可能性が残っている。
お前が勝手に決めつけているだけだ。
デフォルトの名無しさん [sage] 2018/12/15(土) 10:31:11.19:WK8Eb1ay
だいたい、俺の意見はお前と近いんだよ。
お前みたいな甘さが無いだけで。
だから「そこからどうするんだ」という発言が出てる。
頓珍漢だろうとは思ってるの。
確定してないから決めつけてないだけで。

だいいち、頓珍漢だとしてもお前の決めつけが間違ってるのは変わらないだろう。
頓珍漢だなんてのは反論になってないな。
だから日本語を勉強しようなという話になる。
デフォルトの名無しさん [sage] 2018/12/15(土) 10:57:25.02:0SCAvoVT

頓珍漢の根拠まで書いてあるのに何を言ってるんだこのアホは w

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

じゃ、ひとつ

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

.NETアプリやAccessのようにappconfigや仕舞えるテーブルが無いので、皆どうしているのかね?
デフォルトの名無しさん [sage] 2018/12/15(土) 15:53:11.37:mgmsvi+C

そんなものをVBAで作らない
もしどうしても必要があるなら外部のコンソールアプリを呼び出す形にする
デフォルトの名無しさん [sage] 2018/12/15(土) 16:03:58.72:VvS+qBfB
VBAで何をやろうとしてるんだよ
何のためにそんな実装するのか詳しく
デフォルトの名無しさん [sage] 2018/12/15(土) 16:17:18.77:U8VjJ+lV
app.configとかテーブルとかが安全だと思ってるなら、
セルに書いといて保存でもテキストファイル書き出しでも好きにすればいいんじゃね
デフォルトの名無しさん [sage] 2018/12/15(土) 16:44:01.14:2qRdp2bE

> appconfigや仕舞えるテーブル
そんなのでいいなら適当なファイルとかブックのドキュメントプロパティに入れときゃいいんじゃね?
デフォルトの名無しさん [sage] 2018/12/15(土) 16:57:49.47:WK8Eb1ay

バーカ
の書き方ではフィルタだけとは限らない。
だけで終わりとは限らない書き方だろうが。
あの書き方では、その後に何かあるか、それとも後は察しろという風にも読み取れる。
だから俺は「そこからどうするんだ」という発言になる。
たぶん頓珍漢だろうけど、そこからどうするか聞いてからじゃないと確定出来ないからだ。

それに頓珍漢で逃げたいかもしれんが、頓珍漢かどうかは反論にならない。
頓珍漢だとしても1行が要件全体にかかってると決めつけたお前の解釈が甘いことには変わりが無い。
デフォルトの名無しさん [sage] 2018/12/15(土) 18:04:57.01:lJT07BrA
お前がどう思うかなんてどうでもいい
の要件を満たしてない頓珍漢なレスであることに変わりない
まあ、続きのつもりかどうかは知らんがみたいな斜め上のレスをするアホもいるけどな w
デフォルトの名無しさん [sage] 2018/12/15(土) 18:13:07.03:zDjD9XpS

結局、お前らがここで、くだらない議論してる間抜けを招いてる元凶ってにはよくわかったよ。

まともな回答もできん、技術力ないアホってのもなwww
デフォルトの名無しさん [sage] 2018/12/15(土) 18:28:50.08:lJT07BrA
> 元凶ってにはよくわかったよ。
煽ろうとしてカミカミとか恥ずかしすぎるww
デフォルトの名無しさん [sage] 2018/12/15(土) 18:33:30.22:WK8Eb1ay

つまりお前の日本語解釈能力の低いことが確定ということだ。

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

因みに俺はじゃないんで別にが頓珍漢でも全くかまわん。
デフォルトの名無しさん [sage] 2018/12/15(土) 18:45:26.64:lJT07BrA

> つまりお前の日本語解釈能力の低いことが確定ということだ。
根拠のない勝利宣言 w
低能にありがちな行動
デフォルトの名無しさん [sage] 2018/12/15(土) 20:16:24.25:VvS+qBfB
なんだこいつ病気か
デフォルトの名無しさん [] 2018/12/15(土) 20:42:55.07:NkuNHsZU
病気の人に失礼だろそれは
デフォルトの名無しさん [sage] 2018/12/15(土) 22:10:19.68:WK8Eb1ay

根拠?
既に何度も示してお前が反論出来なくなっているわけだが。

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

頓珍漢かどうかは関係ない。
が頓珍漢でもお前は間違ってる。
デフォルトの名無しさん [sage] 2018/12/15(土) 22:12:08.06:WK8Eb1ay
何故、お前が間違った決めつけをしたのか?
それはおまえの日本語解釈能力が低いからだ。
デフォルトの名無しさん [sage] 2018/12/15(土) 22:33:13.95:7RBFgqMT
お客さんが多いなあ
デフォルトの名無しさん [sage] 2018/12/15(土) 23:20:05.72:lJT07BrA

> は要件全てではなくオートフィルタのみについて1行と言っていた
それが頓珍漢だって言ってるのに w
続きがあるかもしれないから頓珍漢じゃない可能性があるとかバカかよ
そんなこと言い出したらなんとでも言えるわ
デフォルトの名無しさん [sage] 2018/12/16(日) 07:19:47.75:48kCZeZq
単なる罵り合いを見せつけられるくらいなら過疎ってるほうがよっぽど良い
デフォルトの名無しさん [sage] 2018/12/16(日) 15:01:54.86:wWzCJETE

バカ?
頓珍漢でもお前の間違いは変わらんと言ってる。
反論出来ないからといって見当違いばかりだな。
デフォルトの名無しさん [] 2018/12/16(日) 15:15:50.29:Waa1ZwFh
この罵り合いって一人で自演やってるの?
それとも馬鹿が2人もいるの?
デフォルトの名無しさん [sage] 2018/12/16(日) 15:21:47.19:7UXd2BE0
もう言ってることが無茶苦茶
> 反論出来ないからといって見当違いばかりだな。
またブーメランかよ w
デフォルトの名無しさん [sage] 2018/12/16(日) 15:31:07.45:wWzCJETE

頓珍漢でもお前は間違ってるのは認めるのかい?
デフォルトの名無しさん [sage] 2018/12/16(日) 15:34:57.02:wWzCJETE

はオートフィルタのみについて1行と言った可能性があるのに要件全てに対してだと決めつけたのは間違いであり、が頓珍漢かどうかに関係なくの発言は思慮が浅いと思うんだが、それについては反論出来ないということでOK?
デフォルトの名無しさん [sage] 2018/12/16(日) 15:38:49.65:wWzCJETE
見当違いなのは、頓珍漢かどうかに関係なく間違いだと言ってるのに、いつまでたっても頓珍漢で押し通そうとしてるからなんだが。
デフォルトの名無しさん [sage] 2018/12/16(日) 15:47:14.35:7UXd2BE0

もしかして
> そんなこと言い出したらなんとでも言えるわ
っていう意味すら理解できないガイジ? w
デフォルトの名無しさん [sage] 2018/12/16(日) 16:18:10.73:wWzCJETE

そんなことは無い。
日本語には2通りの解釈が出来る場合があって、は明確にその場合だ。
どんな場合でも複数の解釈が出来るとは限らんし、普通に複数の解釈が出来る場合に決めつけをすることは無い。

で、お前は間違えを認めるのか?
デフォルトの名無しさん [sage] 2018/12/16(日) 16:23:40.16:7UXd2BE0

2通りの解釈?
後付していいなら2通りどころかなんとでも解釈できるように書けるぞ

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

ってか? w
デフォルトの名無しさん [sage] 2018/12/16(日) 18:04:23.80:wWzCJETE

???
本当に日本語ダメなんだな。
後付けなんてしてない。
のみで2通りに解釈できるんだが。
それを理解出来ずに見当違いの言い訳するから「日本語勉強しような」と言われるんだ。
デフォルトの名無しさん [sage] 2018/12/16(日) 18:20:18.12:7UXd2BE0

お前が誰か知らんけど
> だけで終わりとは限らない書き方だろうが。
とか書いてたアホがいたっけな w
デフォルトの名無しさん [sage] 2018/12/16(日) 18:55:56.11:wWzCJETE

また、見当違いか。

だけで2通りの解釈ができ、それをお前が理解出来なかったのは認めるのかい?
デフォルトの名無しさん [sage] 2018/12/16(日) 19:12:31.97:7UXd2BE0

> だけで終わりとは限らない書き方だろうが。
とか書いてたアホとは他人なの?
なら黙っててね
それとも恥ずかしくてごまかそうと必死なのかな? ww
デフォルトの名無しさん [sage] 2018/12/16(日) 19:15:43.10:wWzCJETE

まず、お前が間違ってたのを認めるかどうかが先だ。
お前の間違いは1つだけでは無いので話を変えて逃げようとしても無駄だ。

後付け云々についてはその後だ。
デフォルトの名無しさん [sage] 2018/12/16(日) 19:18:42.74:wWzCJETE
悔しいのは分からんでも無いが、客観的に見て自分に間違いがあるなら認めような。
間違いが無いなら別の話に持ってこうとせずに真正面から反論すべきだな。
デフォルトの名無しさん [sage] 2018/12/16(日) 19:29:40.20:7UXd2BE0

ごまかそうと必死すぎて笑える
まずは
> だけで終わりとは限らない書き方だろうが。
> とか書いてたアホとは他人なの?
に、答えなよ
デフォルトの名無しさん [sage] 2018/12/16(日) 20:08:06.24:iM0z/gpL

誤魔化そうとしてるのはお前。
一番最初の話はの解釈をお前が間違ったのかどうかだろ。
の時点の話だ。
デフォルトの名無しさん [sage] 2018/12/16(日) 22:36:05.00:7UXd2BE0
お前がどう言おうと単体ではの要件を満たさない頓珍漢なレスである事実は変わらんよ
残念だったな w
デフォルトの名無しさん [sage] 2018/12/16(日) 23:06:44.08:jPkme8um

バー力。
頓珍漢でもお前は間違ってると言ってるだろ。
つまりお前はまだ何一つ反論をしていない。
お前が間違っているという俺の指摘に何ーつ反論していない。

このまま間違いを認めるのかねw
デフォルトの名無しさん [sage] 2018/12/16(日) 23:17:12.24:7UXd2BE0

> 頓珍漢でもお前は間違ってると言ってるだろ。
お前は何を言ってるんだよ、が頓珍漢なら俺が正しいことになるんだが…
マジでバカすぎる w
デフォルトの名無しさん [sage] 2018/12/17(月) 03:10:52.43:Lv/9aVPQ

ならないんだが。
何度も言ってるのに無視かよ。
よっぽど頭が悪いんだな。

はオートフィルタのみについて1行と言っている可能性がある以上、配列に読み込む部分を含めて1行と決めつけて解釈したお前は間違い。
それは頓珍漢なこととは別の問題だ。
デフォルトの名無しさん [sage] 2018/12/17(月) 03:13:56.86:Lv/9aVPQ
物事をきちんと分けて考えられないのもこのバカの特徴だな。
デフォルトの名無しさん [sage] 2018/12/17(月) 07:18:53.33:QtVZQcqx

> はオートフィルタのみについて1行と言っている可能性がある
だからそれが頓珍漢だって言ってるのに…
人の話を無視して論破されてる話を何度も繰り返すのは低能にありがちな行動だけどな w

> 物事をきちんと分けて考えられないのもこのバカの特徴だな。
ブーメラン乙
デフォルトの名無しさん [sage] 2018/12/17(月) 07:34:27.78:KD4HX3We
まだやってんのw
デフォルトの名無しさん [sage] 2018/12/17(月) 07:54:15.41:QtVZQcqx
2018/12/17(月) 03:10:52.43 ID:Lv/9aVPQ
夜中の3時とかよほど悔しかったみたいよ w
デフォルトの名無しさん [sage] 2018/12/17(月) 09:21:28.94:Lv/9aVPQ
頓珍漢でもお前は間違ってるんだよ。
全く反論になってないと言ってるだろうに。

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

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

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

日本語ワカリマスカ?
デフォルトの名無しさん [sage] 2018/12/17(月) 09:26:32.36:Lv/9aVPQ

冷静に見ればよっぽど悔しく見えるのは両方だ。
劣勢だからって同意を求めようとするな。
デフォルトの名無しさん [] 2018/12/17(月) 12:18:18.33:5M+6Ly1a
どっちも劣勢なんやからいい加減諦めろやw
デフォルトの名無しさん [sage] 2018/12/17(月) 12:22:59.36:QtVZQcqx

> が頓珍漢な場合
> →お前は間違ってる
一体どういう思考回路なんだろ?
ガイジを装ってウヤムヤにしようと思ってるのかな?
そんなことしなくても既にガイジ並の思考能力しかないことはバレてますよ w


ごめんな、流石に俺は夜中の3時にレスするほど悔しくはないんだよ… w
デフォルトの名無しさん [sage] 2018/12/17(月) 12:32:00.75:Lv/9aVPQ

俺が物事をきちんと分けて考えられないというなら、何を分けて考えられなかったかを示す必要がある。
俺はお前が何を分けて考えられていなかったか示してるぞ。

適当にブ―メランなどと言っても根拠0じゃ何の説得力も無い。
デフォルトの名無しさん [sage] 2018/12/17(月) 12:35:07.44:Lv/9aVPQ

バーカ
頓珍漢だとしてもお前は2通りの解釈が出来なかっただろうが。

オートフィルタのみ1行(の可能性がある)なのにお前は要件全てだと勘違いして決めつけた。
デフォルトの名無しさん [sage] 2018/12/17(月) 12:38:15.60:Lv/9aVPQ

プッ。
この期に及んで悔しくないなどと言っても笑われるだけだぞ。
誰もそんな話信用しないわ。
デフォルトの名無しさん [sage] 2018/12/17(月) 19:29:53.15:QtVZQcqx

もうアホには何度言っても無駄なんだろうな w
2通りの解釈どころかその後に付け加えるなら何でもありあり
付け加えないならの要件を満たさない頓珍漢なレス
で、世間では普通は書いてもない事を付け加えて解釈なんてしない
(まあ一時話題になった忖度とかはあるけどな)
要するに単体では頓珍漢なレスで確定なんだよ
オートフィルターが1行とか言われても、はあ?それがどうしたって話になるだけ


うんうん、君が夜中の3時にレスしてると言う「事実」があるだけだね w
デフォルトの名無しさん [sage] 2018/12/17(月) 20:17:28.92:Lv/9aVPQ

頓珍漢でもお前は間違ってると何度言っても、頓珍漢で押し通そうとするのが笑える。
単体で2通りの解釈が出来ると言っても後付けすればなどと見当違いなことを言う。

この期に及んでも何ーつ反論していないバカ。
デフォルトの名無しさん [sage] 2018/12/17(月) 20:52:45.62:QtVZQcqx

> 頓珍漢でもお前は間違ってる
根拠も示せずに何度もほざかれても困るし

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

> この期に及んでも何ーつ反論していないバカ。
またブーメランかよ…
好きだねー w
デフォルトの名無しさん [sage] 2018/12/17(月) 21:32:44.47:aWnNi0b/
まだいるのかよ…
デフォルトの名無しさん [sage] 2018/12/17(月) 21:34:11.65:Lv/9aVPQ

何度も書いてる。
1行はオ―トフィルタを掛けるコードが1行と解釈できる。

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

ハンバーグステーキを作ろうとしてる奴に「付け合わせのマッシュポテトはじゃかりこにお湯を注げば。
1分でできるぞ。」
と言った時、こいつの脳内ではハンバーグステーキが1分でできることになってしまうのだ。
デフォルトの名無しさん [sage] 2018/12/17(月) 22:41:30.96:yChZzMqc

> 1行はオ―トフィルタを掛けるコードが1行と解釈できる。
それがなんの意味もない頓珍漢なレスだ
って何度も書かれてるのに w

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

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

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

救いようがない程のバカw
デフォルトの名無しさん [sage] 2018/12/17(月) 23:25:29.19:Lv/9aVPQ

そりゃ日本語が理解出来ないんだから意味不明だろうなw
デフォルトの名無しさん [sage] 2018/12/17(月) 23:57:53.98:yChZzMqc

> バカは何度でもループする。
自覚はあるんだ w

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

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

 バカ vs バカ

ファイッ!!!!!!!!
デフォルトの名無しさん [sage] 2018/12/18(火) 08:11:45.42:C3RGy1+P

2通りに解釈できるものをお前は理解出来なかったのが根拠と何度も書いているが。

とお前の両方が頓珍漢ということは普通にあり得る。
したがってが頓珍漢だというお前の主張はお前が頓珍漢であることの反論にはならない。
デフォルトの名無しさん [sage] 2018/12/18(火) 08:17:07.32:C3RGy1+P

マッシュポテトはハンバーグの付け合わせだから元々作ることになっている。
ハンバーグの部分であるマッシュポテトの時短への言及であり、1分とはその部分にかかる時間である可能性がある。
全体にかかる時間ではないかもしれないと考えるのがまともな日本人だ。

お前は日本人じゃ無さそうだから理解出来んかもしれんが。
デフォルトの名無しさん [sage] 2018/12/18(火) 08:34:19.90:/UA4EEmu
ハンバーグの付け合せにマッシュポテトしか思いつかないとかどんだけ発想が貧しいんだよ w
知識も知能もスッカスカやん
デフォルトの名無しさん [sage] 2018/12/18(火) 09:04:54.27:C3RGy1+P

話をすり替えようとしても無駄だねえ。
単なる例に何言ってんの?
デフォルトの名無しさん [sage] 2018/12/18(火) 10:39:29.20:o0ORzhLh
二人のやりとりでここまで日を跨いで続くのってあまり見ない気がするけど、やっぱりム板住人気質ってことなんだろうな。
頭はあまり良くないのにその自覚が乏しく、細かいことに異常に拘る。自分も少なからずそういう傾向があるから、気をつけないとな……。
デフォルトの名無しさん [sage] 2018/12/18(火) 11:37:31.53:qVCHqInm
すごく昔っぽい
デフォルトの名無しさん [sage] 2018/12/18(火) 12:16:58.67:/UA4EEmu
頓珍漢な例を出してごめんなさい
だろ? w
デフォルトの名無しさん [sage] 2018/12/18(火) 19:13:23.83:3O+U276/
今日も元気やな〜。俺は風引いて寝込んでるからそのパワーが羨ましいよ w
デフォルトの名無しさん [sage] 2018/12/18(火) 20:17:01.94:C3RGy1+P

また新たに日本語を理解出来ない事象が発生かよ。

発想が貧しいなどと今までの話とは関係ない方向へ持ってこうとしたことに対して単なる例と言ったのであって、例としては全くもって的確だ。
デフォルトの名無しさん [] 2018/12/18(火) 20:17:38.62:mQMHvFDr
バカ共もさすがに恥を知ったんかなw
デフォルトの名無しさん [] 2018/12/18(火) 20:18:08.69:mQMHvFDr
と思たらまだ続いとったwナイスバカw
デフォルトの名無しさん [sage] 2018/12/18(火) 22:18:11.50:ncFc1flt

まだやるの?
> 決めつけたのは間違いなんだが。
とか言う奴が
> マッシュポテトはハンバーグの付け合わせだから元々作ることになっている。
とかどの口で言ってるんだよ w

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

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

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

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

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

Select Case かElseIf使えって話か?
デフォルトの名無しさん [sage] 2018/12/19(水) 02:27:25.69: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
デフォルトの名無しさん [] 2018/12/19(水) 02:40:37.42:DnYaqc+Z

まず今のコード晒せよ
みんなエスパーじゃないんだから
デフォルトの名無しさん [sage] 2018/12/19(水) 06:44:44.72:sYwMlaDi
さん
そのような処理が行いたいです。

cではそのような処理は可能でした。
ruby ではない、rubyが動く環境ではないので
デフォルトの名無しさん [sage] 2018/12/19(水) 07:34:58.43:BIch1OKH
コードがわからない限りどうしようもない
デフォルトの名無しさん [] 2018/12/19(水) 08:02:19.27:+DSMRKxP
if文のthen で
処理複数行実行できますか?というだけのつもりでしたが。
コード準備してまた質問します。
ありがとうございました。
デフォルトの名無しさん [sage] 2018/12/19(水) 08:10:35.82:meuITI5l

???
例だと言ってるのにw
例を挙げたのは俺だから決めつけも糞もない。
日本語の問題なのか悔しくて冷静な判断もできないのか分からんが相変わらず頓珍漢な所に絡んでくるねw

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

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

従ってが頓珍漢かどうかに関係なくお前が頓珍漢なのが確定なんだよ。
デフォルトの名無しさん [sage] 2018/12/19(水) 08:15:13.01:6uBXCGRB

ThenからEnd Ifまでは処理をいくつ書いてもすべて実行される
If 条件 Then
 処理1
 処理2
 処理3
End If
デフォルトの名無しさん [sage] 2018/12/19(水) 08:19:00.70:rGeO8V+1

> ハンバーグを作るという要件に対してはマッシュポテトを元々作るということになっていると思った。
何度書いても頓珍漢なものは頓珍漢なままだよ

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

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

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

頓珍漢であってもお前は「じゃがりこにお湯を注いだくらいでハンバーグが1分で出来るの?」と発言した状態になっている。

この発言が正しいのか?
デフォルトの名無しさん [sage] 2018/12/19(水) 12:22:13.52:wuMW/q40
なんでプログラム板住民は機械言語じゃなくて自然言語の言葉尻を捉えて追求したがるの?
デフォルトの名無しさん [sage] 2018/12/19(水) 12:31:57.08:rGeO8V+1

> 普通の人間は相手が何かを言った時、それはどういう意味か理解しようとする。
だから
> フィルタ掛けた結果を一気に配列に読み込むってできたっけ?
って確認してる
それに対してみたいな頓珍漢なレスが来たんだが w

はマジで意味不明だから無視するね
デフォルトの名無しさん [sage] 2018/12/19(水) 12:56:12.77:meuITI5l

相変わらずのバカっぷり。

お前ので「(要件を満たすのに)VBAで1行で書けるぞ
って方法があるみたいなことを書いてるので聞いただけ」という発言に対して俺は「の発言の1行とは(オートフィルタを掛けるのに)VBAで1行で書けるぞ」という意味なのでは?聞いたんだが。
デフォルトの名無しさん [sage] 2018/12/19(水) 17:12:30.63:rGeO8V+1

> (オートフィルタを掛けるのに)VBAで1行で書けるぞ
だからその回答になんの意味があるんだよ?
って何度も書いてあるんだが
意味があるというならその意味を書いてみなよ
デフォルトの名無しさん [sage] 2018/12/19(水) 17:42:15.83:kLNFuq6V
相変わらず何の臆面もてらいもなくRubyを持ち出すヴァカ w
デフォルトの名無しさん [sage] 2018/12/19(水) 18:26:58.94:meuITI5l

意味が有ろうが無かろうがお前の解釈が間違いだと言ってる。

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

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

どっちがガイジだよ
デフォルトの名無しさん [sage] 2018/12/19(水) 18:41:10.55:GtWYIo2s
vbaでcsv出力するとしたら色々やり方あるけど何が良いんだろう
fso?
デフォルトの名無しさん [sage] 2018/12/19(水) 19:02:08.13:rGeO8V+1

> 意味が有ろうが無かろうがお前の解釈が間違いだと言ってる。
> 意味が無かったらお前の間違いは無くなるのか?
> 無くならねえよ。
根拠出さないと何度繰り返してもそれこそ「意味ないぞ」w


誰も自然かどうかなんて聞いてないからな
ガイジかもしれないと思うのは当たり前のこと
デフォルトの名無しさん [] 2018/12/19(水) 20:15:44.96:As82n4u7

くだらない言い争いの元ってこれなのか?
:で区切れば1行で書けるだろ。

お前ら馬鹿か?
デフォルトの名無しさん [sage] 2018/12/19(水) 21:21:27.33:38k2t73z

Thenのあとに続けて同じ行に命令書いてないか?
Thenで改行したら、End If(かElse)まで条件判定で実行されるぞ
デフォルトの名無しさん [sage] 2018/12/19(水) 22:17:38.71:uZ99WTE6

あれは確かに糞仕様といっていいね
デフォルトの名無しさん [sage] 2018/12/19(水) 22:22:43.60:meuITI5l

根拠は何度も出している。
日本語が不自由なお前が理解出来て無いだけ。

そりゃお前は自然かどうかは聞いてないさ。
お前が聞いたこと以外を言うとガイジになるなら皆がガイジはお前と言うだろう。
デフォルトの名無しさん [sage] 2018/12/19(水) 22:34:20.70:Ra+okmqw
シートは回転できないでしょうか?
マリオカートの地面みたいな感じで。
デフォルトの名無しさん [sage] 2018/12/19(水) 23:00:26.30:6uBXCGRB

Excel単独ではできない
デフォルトの名無しさん [] 2018/12/19(水) 23:22:19.99:DnYaqc+Z
カメラ機能で貼り付けて回転させればワンチャン
デフォルトの名無しさん [sage] 2018/12/19(水) 23:48:46.06:v1yTSLob

outputもあるよ
デフォルトの名無しさん [] 2018/12/20(木) 00:16:14.50:JEb4hZ4L
バカとバカの死闘もう決着ついたんか?バカ勝った?
デフォルトの名無しさん [sage] 2018/12/20(木) 06:48:12.04:As7dWUw1

> 根拠は何度も出している。
> 日本語が不自由なお前が理解出来て無いだけ。
ん?
2通りの解釈ガーってやつのこと?
どう解釈しても頓珍漢なことに変わりないと何度も書いてるし、そもそもその2通りの解釈すら具体的に提示されてない

> そりゃお前は自然かどうかは聞いてないさ。
> お前が聞いたこと以外を言うとガイジになるなら皆がガイジはお前と言うだろう。
会話の中でいきなり聞いてもないことを喋りだす?
お前がコミュ障であることはわかったよ w
デフォルトの名無しさん [sage] 2018/12/20(木) 08:04:34.66:5qyubQfm

どうしょうも無いバカ。
頓珍漢でもお前は間違いと言ってるだろ。
その根拠も既に何度も書いてる。
2通りの解釈も何度も書いてる。

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

日本語か通じないバカ。
デフォルトの名無しさん [sage] 2018/12/20(木) 08:05:15.91:5qyubQfm
で提示してるわ。

アンカー多すぎて怒られる程提示してる。
デフォルトの名無しさん [sage] 2018/12/20(木) 08:11:10.39:5qyubQfm

会話のやり取りとして関係有るなら聞かれたこと以外を話すのは全くおかしくない。
少なくとものやり取りをおかしいというならガイジはお前だろう。
デフォルトの名無しさん [sage] 2018/12/20(木) 08:32:01.59:As7dWUw1

> オ―トフィルタを掛ける処理のみを1行と解釈
要件を満たさない頓珍漢な回答

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

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

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

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

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

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

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

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

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

とにかく笑えます。
デフォルトの名無しさん [sage] 2018/12/20(木) 12:23:32.88:As7dWUw1

> お前がが頓珍漢かどうかを判定するところでお前はもう間違っている。
根拠のない妄想乙

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

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

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

> に対して「空白行を詰める処理を入れれば」の文言を理解出来ずに、配列に空白行が残るなとどしてお前の案を頓珍漢と断じることに問題は無いのか?
バカなの?
書いてあって理解できないことと、書いてもないことは全然違う話
そんな理解力もないから
> これと同じでお前のを頓珍漢だとする根拠が間違ってる。
なんて頓珍漢な結論で玉砕するんだよ w
デフォルトの名無しさん [sage] 2018/12/20(木) 12:50:33.53:5qyubQfm

根拠は既に何度も書いているのに理解出来ないバカ。
反論出来ないからもうそれでやり過ごそうとする意図がミエミエ。
もうお前の根拠無いは通じない。
根拠はあると言ってるし、場所も言っている。
その根拠がおかしいというならわかるが無いじゃ話にならん。

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

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

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

2通りの解釈ができなかったお前がを頓珍漢と断じてもダメということだ。
デフォルトの名無しさん [] 2018/12/20(木) 16:14:40.53:bktnWAv8
馬鹿の馬鹿による馬鹿同士の罵り合い
デフォルトの名無しさん [sage] 2018/12/20(木) 17:25:31.33:g4q3VPrO
これ何日連続でやってんの?
デフォルトの名無しさん [sage] 2018/12/20(木) 17:43:06.63:XT76bUiU
からなら10日間かな。
は(このレスを含まないで)コメント数44件になっているw
デフォルトの名無しさん [] 2018/12/20(木) 17:56:31.30:2i7dcD7b
(このレスを含まないで)のアスペ感w
デフォルトの名無しさん [sage] 2018/12/20(木) 18:37:50.96:As7dWUw1

> 2通りの解釈ができなかったお前が
まだ言ってるの?
お前はわざと無視してるけどそんな可能性はで確認してる
が回答すれば良かったものをガイジのがしゃしゃり出てきて頓珍漢なレスしただけだろ w
デフォルトの名無しさん [sage] 2018/12/20(木) 18:42:03.57:dp1AZAWh

このスレをこれで埋め尽くすまでじゃね? w
デフォルトの名無しさん [] 2018/12/20(木) 20:10:52.84:2i7dcD7b

もう相当飽きとるでおまえみたいなバカがおもろいんは一時的なもんやし
デフォルトの名無しさん [] 2018/12/20(木) 22:31:27.95:/FsMMWOI
VBAエンジニアって宣言するのって恥ずかしいことなのかな?
ツイッターのWEB屋達からは苦笑されるし、現場でもVBAは簡単的な扱いで
あまりいい意味で捉えられないように感じる

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

てかVBA叩いとるのこのスレにおるプロさんゆうバカな連中だけやぞw
デフォルトの名無しさん [sage] 2018/12/20(木) 23:05:37.29:rQxzM92i
ロックマン作れるレベルなら、バカにされないんじゃないの?
デフォルトの名無しさん [sage] 2018/12/20(木) 23:13:35.65:7HwS24Ld

恥ずかしいんじゃなくて、根本的に間違ってるんだよ

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

まあVBAで作られた社内アプリもあちこちで見た事あるけど、とにかく結果さえ出ればいいって感じでひどいもんだった
体裁の整ったアプリも作れないことはないけど、それこそVBAでは無駄に手間がかかるだけで、ようするに言語(道具)の選び方が適切じゃない
デフォルトの名無しさん [sage] 2018/12/20(木) 23:17:37.85:7HwS24Ld

趣味ならいいけど一般的に商品はVBAで作るわけにいかない
同じ物がVB.netならもっと少ない手間で作れるんだから、開発コストの無駄遣いになる
デフォルトの名無しさん [sage] 2018/12/20(木) 23:19:19.18:7HwS24Ld
「趣味でシステムエンジニアやってます」というのは成立しないと思うのは俺だけか?
趣味の一つとして認知されてるんなら、ここまで俺が書いたことは完全にひっくり返ってしまう
デフォルトの名無しさん [sage] 2018/12/20(木) 23:22:10.52:7HwS24Ld
別に国家資格が必要なわけじゃないから「俺は(VBA)エンジニアだ」と名乗るのは自由
聞いた人がどう思うか、どう思われるかはわからない
デフォルトの名無しさん [sage] 2018/12/21(金) 00:33:22.33:ykBrDntQ


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

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

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

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

バ−カ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行"の場合、戻り値は"頓珍漢"とならない。
デフォルトの名無しさん [sage] 2018/12/21(金) 03:18:22.04: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")
デフォルトの名無しさん [sage] 2018/12/21(金) 05:00:28.02:PkTs+Gix

夜中まで必死に考えたんだろうな… w
デフォルトの名無しさん [sage] 2018/12/21(金) 07:57:42.03:zXpLrdoZ

他の言語と比べて微妙だから
vbaでも出来るけど他の言語ならもっと楽 なんで使わないの言語使えないの?て思考する人が一定数いるから
デフォルトの名無しさん [sage] 2018/12/21(金) 08:20:20.78:j+w4FFhE

普段から寝るのはあんなもんだ。


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

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

そもそもこういう場合でよくよくやりたいことの詳細を聞くと配列に取り込む必要が無かったりする場合も多い。
デフォルトの名無しさん [sage] 2018/12/21(金) 08:22:45.52:j+w4FFhE

あと、コードの量を減らすのはあまり意味が無い。
速度のためにコードの量はかなり増えることがある。
デフォルトの名無しさん [sage] 2018/12/21(金) 08:32:12.60:choQhZIj
誰でも知ってるようなことでドヤ顔ww
デフォルトの名無しさん [sage] 2018/12/21(金) 15:58:03.36:HaYV4Ucy
突っ込みが幼稚
デフォルトの名無しさん [sage] 2018/12/21(金) 20:47:54.84:GEdmC2dK
VBとVBAを間違えてるやつがいるよな
デフォルトの名無しさん [sage] 2018/12/21(金) 22:54:11.09:PkTs+Gix

デフォルトの名無しさん [sage] 2018/12/22(土) 04:42:53.90:LntJy5xX
アンカーを重ねて煽るのは幼稚
デフォルトの名無しさん [sage] 2018/12/22(土) 06:45:30.74:FmWZGIo3

デフォルトの名無しさん [sage] 2018/12/22(土) 21:23:35.57:P36khfsB
アンカーだけで煽った気になるのは幼稚
デフォルトの名無しさん [sage] 2018/12/23(日) 00:54:04.25:9AXglOVX

デフォルトの名無しさん [sage] 2018/12/23(日) 09:47:19.69:qHW9w8NX

デフォルトの名無しさん [sage] 2018/12/23(日) 10:45:49.13:lGbB3Xz8

デフォルトの名無しさん [] 2018/12/23(日) 14:14:36.79:52OagQlj
バカvsバカはまだ静かに継続中かw
デフォルトの名無しさん [sage] 2018/12/23(日) 15:09:00.33:O7Ty6bBB
listviewでマルチセレクトから通常にもどすさいに再描画してるんですが、そのさい行がずれるんですが listboxのtopindexみたいなものはないのでしょうか? どうすればずれないようにできますか?
デフォルトの名無しさん [sage] 2018/12/23(日) 19:45:55.65:M7vXJwnP
チェックボックス有効無効をきりかえるため再描画してます。その際行がずれます。 すみませんでした。
デフォルトの名無しさん [sage] 2018/12/24(月) 22:13:09.28:USpopZY5
Excel VBAにlistviewなんてあったか?
デフォルトの名無しさん [sage] 2018/12/24(月) 22:49:04.51:+FgUdfMA
あるよぉ
デフォルトの名無しさん [sage] 2018/12/24(月) 23:02:54.97:kr6Bf1Pl
参照設定でね。
デフォルトの名無しさん [sage] 2018/12/24(月) 23:56:46.20:USpopZY5
それはVBAじゃないし
何を参照設定したかちゃんと書けよ
デフォルトの名無しさん [sage] 2018/12/25(火) 00:16:00.70:su/K5Fi6
参照設定もVBAの機能の一つだろ
デフォルトでもいくつか入ってるし、ファイル操作する時はFSOを追加するし、Outlookの操作も定番のテクニックだし
デフォルトの名無しさん [sage] 2018/12/25(火) 01:26:51.15:fCRLWXqM
ListViewはライセンス的に微妙なんだよな。
配る場合はダメだった気がする。

恐ろしく面倒な方法で実装すればライセンス的にも問題無いけどそこまでやれる人は殆どいないと思う。
デフォルトの名無しさん [sage] 2018/12/25(火) 01:55:29.77:fCRLWXqM
あとツールボックス右クリックでその他のコントロールを参照設定とは呼びたくないな。
デフォルトの名無しさん [sage] 2018/12/25(火) 07:15:44.70:wRBkGyE7

設置すると勝手に参照設定されますから、同じことです
デフォルトの名無しさん [sage] 2018/12/25(火) 08:33:21.08:gnAfBdjP
お前が呼びたいとか呼びたくないとか、お前の気分なんぞ知ったことではない
デフォルトの名無しさん [sage] 2018/12/25(火) 18:45:28.39:Is6QTt21
Excel に入ってるんじゃないの?
デフォルトの名無しさん [] 2018/12/25(火) 23:18:20.70:wH59ARy4
入っとるね
デフォルトの名無しさん [sage] 2018/12/26(水) 01:42:12.21:BN5rbpb6
いまのExcel VBAに標準でListViewあるのか?
デフォルトの名無しさん [sage] 2018/12/26(水) 05:15:51.11:43KasKaO
標準の意味とは

VBA可の環境ならコントロールの追加は誰でもできるが
デフォルトの名無しさん [sage] 2018/12/26(水) 13:12:31.75:RgV9orAX
シートのコピーでafter:=worksheets.countしても最後尾に追加されないことがあるんだけど何これ
通常なら問題無い 非表示シートだか同名シートだかが混ざると不穏な動きする
デフォルトの名無しさん [sage] 2018/12/26(水) 17:11:11.31:43KasKaO

思い込みで書いててて仕様を正確に理解してない
コード晒してみ
デフォルトの名無しさん [sage] 2018/12/26(水) 17:49:40.48:Le9KM/M7

afterに入れるのはシートオブジェクトやで?
デフォルトの名無しさん [sage] 2018/12/26(水) 21:16:35.59:Y8+MwfS4

ttp://https://sugoikaizen.com/excelvba/worksheets_sheets/
デフォルトの名無しさん [sage] 2018/12/27(木) 18:50:28.99:0mQlyYIj
Worksheets.Countだけ指定して最後尾にシート追加することもできるんだな。初めて知ったわ。
デフォルトの名無しさん [sage] 2018/12/28(金) 00:28:35.21:M7adF/cl

解決してるけど状況だけ説明
Thisworkbook.Worksheets("雛形").Copy After:=Thisworkbook.Worksheets(Worksheets.Count)
普通に実行出来て追加される けど末尾に追加されない
雛形シートは非表示で他にブック開いてないのが前提
原因は他の非表示シートが末尾にあったから?ぽい見えるシートの末尾に追加されてた
原因があってるのかは不明だけどコピーの前に全シート表示させる処理書いたら想定どおりに末尾に追加されたから解決としてそれ以上調べてない
デフォルトの名無しさん [sage] 2018/12/28(金) 08:07:29.84:7PkHI2ZE

これで解決は酷いなあ。
このコードじゃダメだろ。
初心者が一番ハマるのに引っ掛かってる。

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

まあ、これが原因かどうかは分からんけど。
デフォルトの名無しさん [sage] 2018/12/31(月) 13:34:36.98:P9+LicCn
コピーしたシートも非表示に設定されてるからじゃね?
デフォルトの名無しさん [sage] 2019/01/03(木) 20:12:26.04:m9d94GZ9
すみません、一般論として教えてください

一つのプロージャ内に複数のForNext文を使う場合
カウンタ変数はそれぞれ用意したほうがいいんでしょうか?
それとも全部「i」とかで固定したほうがいいんでしょうか?
デフォルトの名無しさん [sage] 2019/01/03(木) 20:38:50.80:rHu6ErP8
単純にカウンタとしてしか意味が無くて充分に短いループなら全部iでいいよ
デフォルトの名無しさん [sage] 2019/01/03(木) 20:52:55.74:m9d94GZ9

ありがとう
これまで全部「i」で統一してて他で使いたいときは違う変数に明け渡したり…ってしてたんだけど
この前業者の人が書いたコードを見たらそれぞれに変数を与えてたので…
デバッグの時に有利?とか何かプログラム業界の常識みたいなのがあるのかな?と気になって
デフォルトの名無しさん [] 2019/01/03(木) 21:24:04.00:3ahyrkeA

自分の頭使えよ
デフォルトの名無しさん [sage] 2019/01/03(木) 21:38:30.48:BKcPgeWW

他で使いたいときに明け渡すなら最初からそれぞれ違う名前にした方がいいんじゃね
デフォルトの名無しさん [sage] 2019/01/03(木) 22:08:38.04:/hb1raIC

ここ質問スレだからそういう幼稚な発言はやめようね。
色んなレベルの人がいるから。
デフォルトの名無しさん [sage] 2019/01/03(木) 22:16:13.64:rzUuzEne

そもそもプロは1つのメソッドに複数のループを書かない
デフォルトの名無しさん [sage] 2019/01/03(木) 22:45:11.18:9E4VKJOH

「プロシージャ」な
procedure
デフォルトの名無しさん [] 2019/01/03(木) 22:57:49.15:YFBXiFl7

ループがネストする場合にi,j,kとしたりするのは
FORTRAN由来でコンピュータ黎明期からある
ttp://https://qiita.com/yaju/items/38f63900491d4ac51af7
座標だとx,yとかで回したりもするがあまり長い名前は使わない方が良いかと
デフォルトの名無しさん [sage] 2019/01/03(木) 23:18:24.27:rHu6ErP8
i,j,kは慣習だけど、それ以外はループ変数といえど意味のある変数名を使うほうがいいぞ
長い名前使うなとか、インタプリタ時代の悪習でしかない

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

今までは使うなら「i」、構造的にかぶるなら「j」あたりを使ってましたが
その都度意味のある変数を使う方が多いんでしょうか
その他の変数も基本一文字が多いんですけどこれもあまり誉められたことでは無いのかな
デフォルトの名無しさん [] 2019/01/04(金) 00:39:25.54:T+XMZC4N

馬鹿は頭を使うことができんの?
デフォルトの名無しさん [sage] 2019/01/04(金) 02:10:11.62:+nkelZ7z

そんな予約語っぽいの、使いたくない。
デフォルトの名無しさん [sage] 2019/01/04(金) 02:40:32.55:MgMPlhfY
俺は row col idx i i2 i3 をよく使う
デフォルトの名無しさん [sage] 2019/01/04(金) 07:27:59.80:M3G9sl2d
シート上の特定Rangeを表してるときならrowとcolumnもありだけど、一般にはiとjかな
それ自体が検索対象になることもまずないし
デフォルトの名無しさん [sage] 2019/01/04(金) 08:41:36.91:zy8oD3uq
ローカルのカウンタ変数をiで使いまわしてるけどi2とか分けたほうが良いの?
好み?
デフォルトの名無しさん [sage] 2019/01/04(金) 09:27:17.18:+4+fWqKR

誤読の可能性があるなら、分けた方がいいと思う。

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

3ヶ月後の自分は他人


おれならそう書いてあったら、i1とi2になにかしら特別な意図があるのかと思う
それならちゃんと分かりやすい変数名をつけるべき
デフォルトの名無しさん [] 2019/01/04(金) 12:16:24.95:YvLbWmko
べきとかええねん
好きなようにしろや
デフォルトの名無しさん [sage] 2019/01/04(金) 12:17:38.62:M3G9sl2d
integer使う意味が分からんぞ
ループカウンタに限らず
デフォルトの名無しさん [sage] 2019/01/04(金) 12:55:43.45:aVQoc2JA
VBAは16ビットの時代から生き残ってるからなぁ
デフォルトの名無しさん [sage] 2019/01/04(金) 14:22:56.70:dyujBTAs
C++試食版みたいな
デフォルトの名無しさん [sage] 2019/01/04(金) 15:06:28.56:FLK7qEcT
文字コードでInteger使うよ
デフォルトの名無しさん [sage] 2019/01/04(金) 17:11:54.33:JnujQIz6
個人プログラムのときは Jは大文字にしてる
ijだとぱっと見差がないから
それから、行と列はc、r変数にしてる
◆QZaw55cn4c [sage] 2019/01/04(金) 18:43:57.47:ry6hJENG

列・行では?
デフォルトの名無しさん [sage] 2019/01/04(金) 22:12:41.23:ZmFghfmj
officeのパッチにやられた
デフォルトの名無しさん [sage] 2019/01/04(金) 22:26:40.57:zvNc5eXN
i,j,kきらい
indexとかcountとかすき
rowIndexとかcolumnCountとかもっとすき
デフォルトの名無しさん [sage] 2019/01/04(金) 22:35:43.15:8kQ9PR43
好き嫌いはチラシの裏に
デフォルトの名無しさん [sage] 2019/01/05(土) 01:06:17.29:oO8mkqZ6
何が書いてあるのか、未来の自分がわかり、他人もわかるのが理想
昔ながらのルール(慣習)は理由なく破るべきではない
デフォルトの名無しさん [sage] 2019/01/05(土) 03:31:35.86:7TsgmPMW
意味のある変数なら意味のある名前をつけてくれよ
デフォルトの名無しさん [sage] 2019/01/05(土) 07:37:32.77:1YbtJ0wD
i j kは使い捨てのループカウンターとして世界中に広く認知されてるし入力のコストも低い
いちいち For TemporaryLoopCounter = 1 To 5 とか書きたい人は自由にすればいいけど、それこそ自己満足の世界だと思う
デフォルトの名無しさん [sage] 2019/01/05(土) 08:45:01.70:ORiRzU3d
長く使うプログラムほど扱う対象が汎用的で、変数が具体的に何を指すとか
限定できないため i, j, k になりがち。
逆に具体的対象を扱うプログラムだと変数名も具体的にした方が良いだろうが
汎用的に長く使うものではない。
何が言いたいかというと別に何でもありません。
デフォルトの名無しさん [sage] 2019/01/05(土) 09:11:07.61:xejHmutN
かなり乱暴だが
> 変数名の長さはスコープの広さに比例させるべし
デフォルトの名無しさん [sage] 2019/01/05(土) 09:12:48.40:tCoREms1
に同意
一般論でいうと、メンテナンス性に優れたプログラムを書くには次の点を意識するとよい
・変数の生存範囲はできるだけ狭く
・変数の生存期間はできるだけ短く
で、これを意識したプログラムの変数名は自然に短くなる
極論すれば、サブルーチンが適切に分割されていてサブルーチン名だけで何やってるか明らかなら、
その中の一時変数名なんか全部一文字でもいい
デフォルトの名無しさん [sage] 2019/01/05(土) 14:06:52.83:eDAGI3vR
そもそもループ回すのにループカウンタ使うのが時代遅れ
for each使え
デフォルトの名無しさん [sage] 2019/01/05(土) 14:09:46.21:tCoREms1
時代遅れとか言い出したらVBA自体が使えなくなる
ナンセンス
デフォルトの名無しさん [sage] 2019/01/05(土) 14:28:05.44:c7wm3fbX
For Each とループカウンタ使うのとどちらも一長一短あるのを知らない人は早く初心者を脱出してね。
デフォルトの名無しさん [sage] 2019/01/05(土) 15:07:14.98:ORiRzU3d
一長一短ていうか For Each はワンパターンな使い方しか出来ないからドヤ顔するようなもんじゃないな
デフォルトの名無しさん [sage] 2019/01/05(土) 15:49:59.34:xejHmutN

配列Aと配列Bの要素同士を足して配列Cに入れる
って言うのを
For a, b, c in A, B, C
c = a + b
Next
みたいに書けるならいいんだけどなぁ
デフォルトの名無しさん [sage] 2019/01/05(土) 16:01:26.52:oO8mkqZ6
C = A + B
って書けた方がいいな
デフォルトの名無しさん [sage] 2019/01/05(土) 16:09:26.86:ORiRzU3d

・そういう構文がない
・c に代入することが実はできない
の二つの意味でダメなんだよね
デフォルトの名無しさん [sage] 2019/01/05(土) 16:17:56.11:xejHmutN

それ自由度が低い
For a, b, c in A, B, C
If b <> 0 Then c = a / b Else c = 0
Next
みたいなことを書きたくなるとかありそうだし
デフォルトの名無しさん [sage] 2019/01/05(土) 16:57:08.01:BR5BglFG
linq for vba
デフォルトの名無しさん [sage] 2019/01/05(土) 20:12:44.53:FzRtN9wJ

しかしvbaにはプロシジャより狭いスコープがないんだよ
デフォルトの名無しさん [sage] 2019/01/05(土) 20:30:12.97:xejHmutN

だから何?
最近のモダンな言語と比べてもブロックスコープが無いくらいじゃないの?
デフォルトの名無しさん [sage] 2019/01/05(土) 20:53:20.75:tCoREms1

まともなプログラマならブロックスコープが欲しくなるような大きなプロシージャは書きません
デフォルトの名無しさん [sage] 2019/01/05(土) 20:57:58.68:FzRtN9wJ
実際使い捨てならそれで問題になる事はないんだが
使い捨てのループ変数がループ内でスコープが閉じないのがなぁ
あと宣言位置の問題もあるけど
デフォルトの名無しさん [sage] 2019/01/06(日) 01:37:57.50:ckNCIF8F
わかる方がいれば教えてください
ユーザーフォームに配置したラベルに、選択中のセルの値を表示したいです
他のセルをアクティブにしたらラベルの内容も次々と変わるようなものを作りたいです

初心者なりに考えたのですが、
セルの選択をダブルクリックにしてシートモジュールの
Private Sub Worksheet_BeforeDoubleClick(〜)
みたいなものを使うパターン、
ユーザーフォーム側にアクティブセルの値を表示するためのボタンをつけるパターン、
それくらいしかラベルに表示する方法が思いつきません
思っていた上に書いたような動きのものが作れません
そもそもそんなものは不可能でしょうか
セルをアクティブにするだけでそんな動きをするものは作れたとしても重くて(?)実用的じゃないでしょうか
デフォルトの名無しさん [sage] 2019/01/06(日) 01:43:01.14:ckNCIF8F
ユーザーフォームが出ている時だけワークシートイベントを発生させることってできますか?
デフォルトの名無しさん [sage] 2019/01/06(日) 01:56:18.52:wuHdfDnO

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
UserForm1.Label1.Caption = ActiveCell.Value
End Sub
デフォルトの名無しさん [sage] 2019/01/06(日) 02:17:03.95:GQx3m9rS

発想が根本的に間違っている
イベントは自然に発生するものであり、それを制御しようなどと考えてはいけない
ユーザーフォームが出ていないときはイベントを無視すればよい
デフォルトの名無しさん [sage] 2019/01/06(日) 06:33:59.75:VjyciGNt
自分もVBA初心者だけど書いてみます


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

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

もしくはWithEvents(これを付けて宣言した変数のイベントを受け取れる)でシートのイベントを受け取るクラスモジュールを用意して、
それにフォームのラベルを操作させる方法もある
余程シートに依存した目的でない限り、個人的にはこちらの方が自然だと思う
デフォルトの名無しさん [] 2019/01/06(日) 11:55:51.09:RBr8Qah/
Excel2010の人は1月3日版のアプデを入れないように

【Win】 WindowsUpdateで入れなくても良いKBリスト。2018年12月12日まで分
ttp://http://blog.livedoor.jp/nichepcgamer/archives/1039785182.html
デフォルトの名無しさん [] 2019/01/06(日) 13:03:05.58:BkO4LwOx

こんな初心者おる?
391-392 [sage] 2019/01/06(日) 13:13:13.46:ckNCIF8F
さんが言ってることが全く分からないというか一度も触れた事がないので
これを機会に勉強してみます
謎のクラスモジュールを使ってみたいと思っていたので良かったです
みなさんありがとうございました
デフォルトの名無しさん [sage] 2019/01/06(日) 13:25:33.73:kaEteaA+

ググれば出てくることなんだから、初心者でも答えれるやろ。
まあ人によっては初心者は卒業したって判断しそうなくらいのレベルはありそうだが。
デフォルトの名無しさん [sage] 2019/01/06(日) 14:02:55.44:L4UGmOY3

新人研修の半ばぐらいかな
デフォルトの名無しさん [sage] 2019/01/06(日) 15:46:11.59:BcE7MgiE

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
デフォルトの名無しさん [sage] 2019/01/07(月) 02:40:02.74:pgy1rNuG

プログラミング経験無いまま前任者から引き継いでしまったので、ここで色々教えて貰ってました
最近は調べ方も大体わかってきたので余り来ていませんでしたが、
アドバイス側に回ってもいいかなと思って書いてみました


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


ヘルプにクラスのみと書かれていたので、フォームでは使えないと思ってました・・・
デフォルトの名無しさん [] 2019/01/07(月) 05:30:38.59:fq4DjYiu
IntegerよりLongだ
デフォルトの名無しさん [] 2019/01/07(月) 06:49:25.01:fq4DjYiu
デフォルトの名無しさん [sage] 2019/01/07(月) 18:19:40.41:/LhWJ7aL
Dim tinko as Long
デフォルトの名無しさん [sage] 2019/01/07(月) 21:52:39.53:QrgUIT/b
俺しか見ることないだろうから、
Dim chinko&, unko$
デフォルトの名無しさん [sage] 2019/01/07(月) 22:53:42.33:pgy1rNuG
中学生か・・・
デフォルトの名無しさん [sage] 2019/01/07(月) 23:07:15.99:93Abj8CI
セルにindirectを入力しないでプルダウンを連動させる方法はありませんか?

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

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

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

2008年 12808万人 + 5万 △△△△△
2009年 12803万人 − 5万 ▼▼▼▼▼
2010年 12806万人 + 3万 △△△
2011年 12780万人 −26万 ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
2012年 12752万人 −28万 ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
2013年 12730万人 −22万 ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
2014年 12709万人 −21万 ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
ttp://lavender.5ch.net/test/read.cgi/asaloon/1546600138/l50
【モンサント、アマルガム】 厚労省、危険物を安心て、ふざけんな、国いらん。オノ・ヨーコ「来るな」
ttp://rosie.5ch.net/test/read.cgi/liveplus/1547000522/l50
デフォルトの名無しさん [] 2019/01/09(水) 18:41:39.05:B8oaeAR+
「ぼくが政権にいる間は影響無いことにしておきます」(のんのん)
デフォルトの名無しさん [sage] 2019/01/09(水) 22:29:26.70:60CROlND
安倍の犬うぜー
デフォルトの名無しさん [sage] 2019/01/10(木) 00:17:06.97:RQUJx46Y
VBAのフォームのツールボックスにコントロールを追加したいのですが、右クリックで「その他のコントロール」を追加してもコントロールの追加ダイアログが表示されず無反応のまま終わってしまいます。
WIN7(64) OFFICEは2010(32) 2013(32) 2016(32)を入れ替えましたが全て同じでした。
C:\Windows\System32 C:\Windows\SysWOW64 どちらにもFM20.DLLは入っています。
オフィスのクリーンアンインストールも試しました。ツールの参照設定で参照しなおしてもNGです。
OSに問題があるかもしれませんが、何かチェック事項はありますか?
よろしくお願いします。
デフォルトの名無しさん [sage] 2019/01/10(木) 00:28:18.54:RQUJx46Y
です
参考までに、これと同じ状態です
ttp://https://answers.microsoft.com/ja-jp/msoffice/forum/all/excel/15087c63-48d1-48b8-84ba-4c6a693bc6e8
デフォルトの名無しさん [sage] 2019/01/10(木) 13:01:25.04:xPJRPdGO
fm20.dllで使えるコントロールってなんだ?
デフォルトの名無しさん [sage] 2019/01/10(木) 15:17:22.62:sOvEngqx

追加前の標準フォームのコントロール群です。
フォームを挿入するとエクセルのツールのメニューの方で自動的に有効になります。
ActiveXとかツールボックスのコントロールとか関係あるでしょうか?
デフォルトの名無しさん [sage] 2019/01/10(木) 20:21:39.50:MwVMQTRa
プログラム初心者ですがVBA勉強するのに優しく解説してくれてるサイト教えてください
デフォルトの名無しさん [sage] 2019/01/10(木) 21:44:24.98:RQUJx46Y
です
C:\Documents and Settings\ユーザ名\Application Data\Microsoft\Forms
の中を見たところEXCEL.boxのみでしたが、他何か入っていますか?
デフォルトの名無しさん [sage] 2019/01/10(木) 21:59:37.39:tfDJlaMd

自動的に有効になるならそのまま使えばいいじゃん
デフォルトの名無しさん [sage] 2019/01/10(木) 22:06:22.42:X3kdRf9X

ここ
デフォルトの名無しさん [sage] 2019/01/10(木) 22:08:24.35:MwVMQTRa
なんだお前きも
デフォルトの名無しさん [sage] 2019/01/10(木) 23:01:57.46:RQUJx46Y

有効になるのは「標準のコントロール」のみだけです。
使いたいのはWebBrowserコントロールなのですが、それはデフォで表示されていないので追加をする必要があります。
他のPCでは問題なく出来ていますが、1台だけ同じ手順で追加できないPCがあるので困っています。
ttp://image.itmedia.co.jp/ait/articles/1502/06/ExcelVBA9TipsForm_02.png
このイメージでいうとツールボックスに地球のアイコンがありますよね。これを追加するために
イメージ右半分のコントロールの追加のダイアログを出したいのですが出ないという意味です。
デフォルトの名無しさん [sage] 2019/01/11(金) 02:46:48.54:OnlOg3zM

同じ手順でできるPCとできないPCがあるならPC個別の問題かな
うちの環境では MicrosoftWebBrowser なら ieframe.dll を使っているようだけど
デフォルトの名無しさん [sage] 2019/01/11(金) 03:33:50.23:OnlOg3zM
フォームが表示されている画面で 表示→ツールボックス 
でツールボックスを表示してないと「その他コントロール」の項目が選択できないってやつかな?
デフォルトの名無しさん [sage] 2019/01/11(金) 08:37:10.61:sIbnloi9
いやいや、これは何かが壊れているわけで、当然PC個別の問題だし、ツールボックスが表示されている状態でその他のコントロールを選択すると普通は表示される筈のダイアログが表示されないという問題。

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

多分、レジストリに登録されているActiveX情報を見に行っているだけで実際のdllは見に行っていないと思う。
dllを見に行くのはダイアログ上でチェックした時じゃないかな。

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

WordとかAccessでも同じ状況なのかな?
他にOffice以外でActiveXのリストを表示できるアプリがあれば、そこでは問題無いかなど。
デフォルトの名無しさん [sage] 2019/01/11(金) 13:24:28.67:UHhRfKCF


有用な情報ありがとうございます!
ここら辺も重点的に調べてみます!!
デフォルトの名無しさん [sage] 2019/01/11(金) 18:28:05.98:s+JlNqnO
オフィスを少し古いバージョンにロールバックさせてみれば?
2010とか2003にしろって言ってるわけではなくて
2016のパッチの適用状態を最新から4世代くらい前に戻してみてはどうかって言う話ね
デフォルトの名無しさん [] 2019/01/12(土) 11:49:00.24:uvKv7UXV
まだエクセルωなんて使ってるのかωω
デフォルトの名無しさん [sage] 2019/01/12(土) 12:31:34.63:e9xF8Gpo
・客とのデータ交換フォーマットのデファクトスタンダード
・文字列、表、図形を混合したセマンティックレスな文書作成ツールとして優秀
・インストール監査がかからない

この条件を満たすツールは今のところエクセルしかないのでエクセルは必要
でもVBAの存在意義には正直なところ懐疑的かな
デフォルトの名無しさん [] 2019/01/12(土) 12:35:57.04:02ysTAL5
【奇跡のリンゴ】 オノ・ヨーコ「来るな殺される」
ttp://rio2016.5ch.net/test/read.cgi/beatles/1547022582/l50
デフォルトの名無しさん [sage] 2019/01/12(土) 13:57:32.57:Sk8d17OT
エクセルωって何?
デフォルトの名無しさん [] 2019/01/12(土) 16:04:54.69:+r4m8XcO
おちんちん
デフォルトの名無しさん [sage] 2019/01/12(土) 20:42:36.47:WuY9EGhJ

すごい早口で言ってそう
デフォルトの名無しさん [sage] 2019/01/13(日) 00:05:22.07:hjY5Ys6w
割り当てたショートカットキーが競合した際の優先順位ってどうなっているのでしょう。
複数ブックでマクロオプションが競合した場合は、先勝ちのような気がします。
OnKeyはそれよりも強い?
自ブックに割り当てたショートカットを優先させる手段はありますか?
デフォルトの名無しさん [sage] 2019/01/13(日) 04:14:15.34:WBvXKiKr
フォーカス順じゃないのか?
デフォルトの名無しさん [sage] 2019/01/13(日) 06:56:01.77:SAPxjsPr

えーと、同じキーアサインを持っているブック、A→Bの順に開いて、Bにフォーカスが当たっている状態で、Aのキー割付が反応しました。
先に読み込まれた方が居座るのかと、、
フォーカス順ってどういう状態?
デフォルトの名無しさん [sage] 2019/01/13(日) 07:17:03.79:m/N1o858

アクティブなブックかと思ってた
デフォルトの名無しさん [sage] 2019/01/13(日) 07:37:12.12:SAPxjsPr

そうだと嬉しいんだけど
デフォルトの名無しさん [] 2019/01/13(日) 20:14:37.35:9xnKbe6r
こんにちはです。
更新の削除(ロールバック)も試してみたのですが改善しなくて結局もうお手上げ状態でした。
他のofficeアプリでも呼べなかったのでとりあえずドライブごとバックアップ取ってシステム入れ直すことにしました。
パスワードがないとか、アクティベーションができないとか、インストールしていたプログラムの原本がないとかどうなってんだよこの会社は程度には散々な目に合いました。
今どうにかこうにか復旧できて明日の業務には間に合いそうです。
ID・PWを統合管理する何かを作らないとダメかも・・・
もうしんどいのでおうち帰りますT−T
アドバイスくださったかたどうもありがとうございました。
なんかおいしいものたべたい……
デフォルトの名無しさん [sage] 2019/01/13(日) 22:13:52.77:4kwCYp6o
お疲れ様としか言いようがない
デフォルトの名無しさん [sage] 2019/01/13(日) 23:14:49.60:W6yQzIWL
黴の生えた産廃に固執し先へ進む努力をしてこなかった人間と組織の末路
デフォルトの名無しさん [sage] 2019/01/13(日) 23:49:20.57:mzAlUYGr
かわいそうに
くだらないトラブルで連休が潰れるなんてな
最初から.NETにしてたらゆっくり休めたかもなぁ
デフォルトの名無しさん [sage] 2019/01/13(日) 23:56:50.10:LesaGnrm
会社がシステム更新の費用をケチって社員に残業や休出を強いるのはブラック判定丸です
デフォルトの名無しさん [sage] 2019/01/14(月) 01:11:47.03:HbfNSvAf
.netってvbaと比べて難易度高い?
デフォルトの名無しさん [sage] 2019/01/14(月) 01:27:46.11:p535EsUF
.NETは簡単すぎて驚くほど
デフォルトの名無しさん [] 2019/01/14(月) 06:51:38.95:ztoWl03f
じゃjavascriptってvbaと比べて難易度高い?
デフォルトの名無しさん [sage] 2019/01/14(月) 09:16:46.39:Kw7zClor

重度になると、ExcelをCalcに入れ替えられます。
デフォルトの名無しさん [sage] 2019/01/14(月) 09:44:43.02:p535EsUF
Calcのほうがマシでは?
機能面でも上だし無料でライセンスやインストールでのトラブルなどないからね
デフォルトの名無しさん [sage] 2019/01/14(月) 09:53:44.76:/nPFdxzS

VBA(というかVBシリーズ一般)ユーザーは他のものを覚えようとしないから未だにVBAユーザーなのだから、
VBAではないものは何であろうと極めて難しいよ
デフォルトの名無しさん [sage] 2019/01/14(月) 10:04:01.93:p535EsUF
高い金を払ってるのだから問題をサポートに投げなきゃ損だよ
連休を使って自力解決するぐらいなら最初から無料・サポート無しのOSSツールを使うのが正解
デフォルトの名無しさん [sage] 2019/01/14(月) 10:21:32.96:Gjhb4oYZ
Calc使ったこと無いだろ…
動作が安定しないしよくわからない独自仕様があるから困るわ
絶対パス使って別ファイルのデータを参照しにいったら、内部的に相対パスに変換されてるらしくて、
ファイルの位置を変えたらリンクを張り直さないと動かないとかだし
デフォルトの名無しさん [sage] 2019/01/14(月) 10:27:00.01:p535EsUF
エクセルだって
動作安定しない(ちょくちょく落ちる、ファイル壊れる、操作が失敗する)
へんな独自仕様の塊(そもそも表計算の標準仕様とは?)
ファイル移動したらリンク切れる(当たり前)

もしかしてなんか違うツールの話してる?
デフォルトの名無しさん [] 2019/01/14(月) 10:49:16.77:rhE9Hj5A
calcってwindowsの電卓のことじゃなかったのか?
デフォルトの名無しさん [] 2019/01/14(月) 10:53:17.36:rhE9Hj5A
プロのプログラマならショートカット使うから
Winキー + E + calc + ENTERキー
でいつも瞬時に電卓立ち上げてるからな
その間0.1秒
デフォルトの名無しさん [sage] 2019/01/14(月) 11:22:28.62:/xEWvTMC
電卓で計算してExcelに入力するおじさん見たことある
デフォルトの名無しさん [sage] 2019/01/14(月) 11:55:28.16:9Cudnq1q
無料の、Libre Office を使えば?
デフォルトの名無しさん [] 2019/01/14(月) 12:42:47.66:aPj/koI6

おまえが壊したんだろどうみても
デフォルトの名無しさん [sage] 2019/01/14(月) 12:50:29.27:w9DNi3U5
電卓ボタンがあるのに
デフォルトの名無しさん [sage] 2019/01/14(月) 15:17:38.41:frEC6XsU

典型的なステレオタイプ
デフォルトの名無しさん [] 2019/01/14(月) 15:19:29.30:kL0Onkfi

馬鹿は新しいものが良いものだと思ってるバージョンすぐ上げるからそうなる
デフォルトの名無しさん [sage] 2019/01/14(月) 16:17:48.40:p535EsUF
と思ってる人がセキュリティ事故や上の方でやらかしたようなトラブルにハマっっちゃうんだよな
何事も枯れてるほうがいいなんてのはとうの昔の話で、今は素早いアップデート(とテスト)が大切なんだよ
デフォルトの名無しさん [] 2019/01/14(月) 17:26:03.90:YUjplXjc
ID:p535EsUF

本日の死んだ方がいい大馬鹿
デフォルトの名無しさん [] 2019/01/14(月) 17:36:28.59:Kh7Ilxpb
でもVBAなんて未来ないじゃん
今から覚える意味ないのは間違いない
デフォルトの名無しさん [sage] 2019/01/14(月) 19:11:25.88:p535EsUF
ロジカルに意見できなくなって暴言を吐くしかできなくなった人ってたまに居るけどなんかかわいそう
デフォルトの名無しさん [sage] 2019/01/14(月) 19:11:30.68:6UwZJ038
未来は無くても現在はあるから
デフォルトの名無しさん [sage] 2019/01/14(月) 19:15:17.29:p535EsUF
過去の負債は沢山ありそうだ
デフォルトの名無しさん [sage] 2019/01/14(月) 19:21:43.79:qRVrYCla
いい加減、マクロの実行だけはできるけどVBEは別途開発者ライセンスの購入が必要、くらいの弾圧はしていいと思う
さすがにいつまでも甘やかしすぎ
デフォルトの名無しさん [sage] 2019/01/14(月) 19:23:33.71:Kw7zClor

意外と普通にいるんだわ。
デフォルトの名無しさん [sage] 2019/01/14(月) 20:35:40.54:Cz3RFHYj
ろくに組めない奴がマウント取りたがってる構図だな。

実際、俺の回りにいるできる奴はVBAを駄目だとか言う奴はいない。
デフォルトの名無しさん [sage] 2019/01/14(月) 20:43:07.10:qRVrYCla

実際、できる奴なら必ず他の選択肢を持っているからね
VBAに縛られていないから悪く言う必要もないだけであり、彼らが積極的にVBAを選択することはないよ
デフォルトの名無しさん [sage] 2019/01/14(月) 20:51:06.32:Cz3RFHYj

まあ、できる奴はC#も使わんけどね。
C++使うわな。
デフォルトの名無しさん [sage] 2019/01/14(月) 21:02:23.95:qRVrYCla

無意味な拘りで3倍の工数をかける奴は「できる奴」とは言わない
ただの迷惑で無能なオタクだな
デフォルトの名無しさん [sage] 2019/01/14(月) 21:57:12.74:fMQSLe21
C#やC++のスレでは自慢できないからここでマウントしたがる…というわけですね
デフォルトの名無しさん [sage] 2019/01/14(月) 22:21:10.88:HbfNSvAf
vbaのいいところってエクセル持ってれば無料で使えて大体のクライアントpcにエクセル入ってるって事なんだからあんまりあーでもないこーでもない言ってやるなよ
デフォルトの名無しさん [] 2019/01/14(月) 22:26:43.78:HmGTNO3E
エクセルのVBAってシート=変数の一覧みたいなものだし
素人にはやりやすいだからエクセルは好きですよ。
そんな感じでプロの人と棲み分けできていると思う。
デフォルトの名無しさん [sage] 2019/01/14(月) 22:26:54.46:87eYPPUj
Officeが入ってなくてもWindowsパソコンには必ず入ってるJavaScriptやC#の立場は
デフォルトの名無しさん [] 2019/01/14(月) 22:34:56.07:HmGTNO3E
JavaScriptっていますごく人気あるんじゃないの?
デフォルトの名無しさん [sage] 2019/01/14(月) 23:07:34.41:Cz3RFHYj
結局、出来ない奴ってのはオラが世界だけなんだよな。

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

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

まともな奴ならそういう都合が分かってるからマウントなんて取らないものなんだが。
デフォルトの名無しさん [] 2019/01/14(月) 23:28:28.98:HmGTNO3E

あなたのいう出来る出来ないっていうのは何を指しているのかは解りませんが私にとっては何の価値も意味もないです。
それともあなたは自分が出来る奴っていう自慢をしたいんですか?
あなたが本当に凄いならあなたのいう下らないレベルの言語のスレではなく、もっと凄い人が沢山いるスレが相応しいと思います。
デフォルトの名無しさん [sage] 2019/01/14(月) 23:36:15.26:6n/s2HAk

キミ面白いね
デフォルトの名無しさん [] 2019/01/15(火) 01:46:38.96:yHGEgwFF

働いたこともない無職か
デフォルトの名無しさん [sage] 2019/01/15(火) 08:47:01.01:2H7V8WUe

出来る奴ってのはどんな言語にもいるけど言語の優劣を語るような奴は出来ない奴の典型。

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

そんなことも分からないからマウント取ろうと頑張るんだね。
自分のバカさ加減を喧伝するようなもんだ。
デフォルトの名無しさん [] 2019/01/15(火) 09:14:01.41:S3yO0kW1

自己紹介乙
デフォルトの名無しさん [sage] 2019/01/15(火) 13:10:33.30:4ICOKV5/
相手するなよ…
デフォルトの名無しさん [] 2019/01/15(火) 15:44:09.85:+MTMyzJj
アプデしたらExcelうごかんくなった
たすけてえろいひと
デフォルトの名無しさん [sage] 2019/01/15(火) 17:14:50.09:bs6RyUw7
まず服を服を脱ぎます
デフォルトの名無しさん [] 2019/01/15(火) 17:49:29.10:yHGEgwFF

ID:p535EsUFに聞け
デフォルトの名無しさん [sage] 2019/01/15(火) 17:53:44.09:LAAyKIEn

できる奴ほど言語のメリットデメリットを正確に理解してるから優劣を語る
出来ない人はそもそも語るほどの知識がない
デフォルトの名無しさん [sage] 2019/01/15(火) 20:59:40.68:2H7V8WUe

メリット、デメリットを把握してたら優劣つかないんだが。

そうだな、このスレで何度となく言われてることだが、Excelのみで完結できるというメリットを挙げると、別ファイルが有っても大きな問題じゃないとかくだらない言い訳を始めるんだよ。
今まで、どんな場合でもVBAは駄目とか言ってたくせに。
デフォルトの名無しさん [sage] 2019/01/15(火) 21:49:29.77:LAAyKIEn
もうそれしか拠り所がない感じなのかな
デフォルトの名無しさん [sage] 2019/01/15(火) 23:55:27.89:7/bomr1d
出たな単一ファイル老人
デフォルトの名無しさん [sage] 2019/01/16(水) 12:53:07.07:dguj1mvw
どんな場合でもと言ってたのが破綻したわけだ。
それに、この点は全てに係る重要な点だ。

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

けどこのスレはVBAが前提なんでね。
C#やPowerShell禁止はデメリットになるけどVBA禁止はデメリットにならないという前提を理解出来ない奴は結構来るけど。
デフォルトの名無しさん [] 2019/01/17(木) 13:09:47.45:gy8QMGRk
VBA禁止の本当の意味は、
馬鹿が作ったVBA禁止
デフォルトの名無しさん [sage] 2019/01/17(木) 13:42:50.54:K8cT5dis
IEをオブジェクトにしてフォームに入力、実行まではできます。
実行後、更新されたHTMLを取得するにはどうすればよいのでしょうか?
デフォルトの名無しさん [] 2019/01/17(木) 13:45:27.52:Vm2XnGVD

わかるわ。うちもシンクライアントでガチガチにOS固められてるから必然的にVBAとJavascript覚えた。
デフォルトの名無しさん [sage] 2019/01/17(木) 14:38:35.71:m9vUe5gc

VBAでやることではありません
RPAでも購入してください
デフォルトの名無しさん [sage] 2019/01/17(木) 16:39:21.64:yJSDrWu9

C#やPowershell のスレでやるべきである
デフォルトの名無しさん [] 2019/01/17(木) 16:39:45.91:Vm2XnGVD

objIE.Document.Body.innerHTML で読めないの?
デフォルトの名無しさん [] 2019/01/17(木) 16:44:36.37:YCcy3q+Y

ここはVBAのスレ。文字読めないヴァカ?
C#やPowershell自慢やりたいんならそのスレに逝けアホンダラ
デフォルトの名無しさん [] 2019/01/17(木) 16:47:10.66:6nl0xXGy

何で自慢になるんだ?
馬鹿なのか?
デフォルトの名無しさん [] 2019/01/17(木) 17:43:02.84:8rj4oJ0j
馬鹿には無理
デフォルトの名無しさん [sage] 2019/01/17(木) 18:08:51.74:yJSDrWu9
自慢じゃなくて荒らしだな
デフォルトの名無しさん [sage] 2019/01/17(木) 19:42:56.03:buYHz7fQ

普通は、Ruby, Selenium WebDriver, Nokogiri で、スクレイピングするけど、

ピラフ大王は、5ch のスレを、PowerShell でスクレイピングしていた、強者!
デフォルトの名無しさん [] 2019/01/17(木) 19:57:04.61:Vm2XnGVD

あ、俺Seleniumでスクレイピングしてるわ
IE面倒なんだもんw
デフォルトの名無しさん [sage] 2019/01/17(木) 20:39:11.18:JYUOuN3I
IEオブジェクトはHTMLコード内の改行も1つのノードとして扱ってる点が特殊だな。
MSXML2.XMLHTTPとかhtmlfileでやる場合はそんなこと無いけど。
デフォルトの名無しさん [sage] 2019/01/17(木) 20:51:55.46:/w6CmWBz
スクレイピングをわざわざVBAでやろうという発想がどこから出てくるのか不思議だな
個人なら裁量があるのにあえてVBAを使う選択はありえないし、
会社だとするとスクレイピングをやろうと考える程度にリテラシーがありコンプライアンス意識が低く、
かつ他のツールを使えない程度には厳格なちゃんとした企業なのにRPAを買う金はない?
デフォルトの名無しさん [sage] 2019/01/17(木) 21:30:07.38:Vm2XnGVD

どうしてって、うーん、ただPCにOFFICEが入ってたから使ってるw
javascriptもPerlとかも無料だし、大体どこでも使えるし何か買うほどやる気ないし……
あなたの思っていることは理にかなっていると思うよ、多分色々なことを知っててそれが出来れば視野も広がるって親切心なんだろう。
でも、なんつーか個人で使うだけだから脱線しててもやりたいことが短時間で出来ればいいっていう視点もまぁ理解して欲しい。困ったら聞くかもしんないけどお手柔らかに頼みますw
あとありがとう。
デフォルトの名無しさん [sage] 2019/01/17(木) 21:48:09.40:3qXsUeDf
IEが消えりゃVBAでスクレイピングなんてのも消えるし
そう遠い未来じゃない
デフォルトの名無しさん [sage] 2019/01/17(木) 23:47:45.37:1381LMvg

俺もそんな理由でVBS使ってるわ。
本当は専用の開発ソフト欲しいけど、
やろうと思えばメモ帳だけで出来なくもない、ってのが曲者。
デフォルトの名無しさん [sage] 2019/01/18(金) 00:09:50.30:3Aai6ayN
うーんどうやら開発ツールを申請できない/入れてもらえない会社が無視できないくらい存在する、
というのはデタラメじゃなかったんだな
デフォルトの名無しさん [sage] 2019/01/18(金) 00:58:32.59:ld1N2+LD
無視できないくらいってどのくらいだよw
デフォルトの名無しさん [] 2019/01/18(金) 04:56:39.52:iqHxmsyd
馬鹿には入れさせないだけ
デフォルトの名無しさん [sage] 2019/01/18(金) 08:20:26.64:FdTpqa5z

別にわざわざでは無いけどね。
一瞬で出来るんだわ。
それ用のツールを昔、作ったんでね。


それは仕事の規模によるだろ。
それに、こっちも入れる迄もないと思ってるから申請なぞせんぞ。
VBAだとどうにもならない仕事が継続的に続くなら申請するんだろうが。
デフォルトの名無しさん [sage] 2019/01/18(金) 08:59:50.59:HmTdANXo
まずOS標準のPowershellでできることをやる
規模が大きくなって型安全性などが欲しくなったら.net CLIとVSCodeを入れる
VBAは本当にVBAが必要で他に選択肢がない場合にしょうがなく使う
デフォルトの名無しさん [sage] 2019/01/18(金) 09:13:15.26:FdTpqa5z
なんでExcel標準のVBAを使わないのかねw
バカじゃないの?
デフォルトの名無しさん [sage] 2019/01/18(金) 09:58:22.02:Xg90leRQ
VBAは公式には「レガシー」で「非推奨」な機能だよ
デフォルトの名無しさん [sage] 2019/01/18(金) 10:27:15.84:02H4sO2V
うちは無料ならツール申請すれば通常通るし、理由もそんなに掘り下げて詮索されることはない。
有料だととたんにハードルが上がるけど。
んでVisual Studioやらなんやら入れた後もVBAはがんがん使ってるな。
C++/C#と比較してもアドバンテージはあると思うよ。
ちなみにPowershellは起動できないようになってる。権限の問題だから単なるインストール申請よりハードル上がるとおもう。
デフォルトの名無しさん [sage] 2019/01/18(金) 12:01:36.56:dGgLcYHd

C# を禁止せずに PowerShell 禁止とか意味わからん
まあよくわかってない情シスとかが決めてたりするんだろうな
デフォルトの名無しさん [sage] 2019/01/18(金) 12:06:44.97:Xg90leRQ

そりゃ情シスなんかちょっとだけ意識高いPCユーザーに過ぎないんだから、その辺の層の人にとってexeは怖いでしょ
PowerShellなんか所詮テキストファイルだから安心
デフォルトの名無しさん [sage] 2019/01/18(金) 12:54:22.16:FdTpqa5z
PowerShellはデフォルトで実行出来ないでしょ。
で、実行できるようにして良いかが問題となる。
デフォルトの名無しさん [sage] 2019/01/18(金) 13:32:03.41:ld1N2+LD
うちは共有pcだと社員の個人情報とか社外秘のデータも扱っているから
情報漏洩やコンプライアンスはうるさいんだよね
そういうの適当な会社がうらやましいよ
デフォルトの名無しさん [sage] 2019/01/18(金) 13:46:56.62:dGgLcYHd

???
禁止してるのはテキストファイル(PowerShell)の方だよ?
デフォルトの名無しさん [sage] 2019/01/18(金) 13:52:14.57:dGgLcYHd

> PowerShellはデフォルトで実行出来ないでしょ。
できるよ
powershell -ExecutionPolicy RemoteSigned xxxx.ps1
ってやるだけ
デフォルトの名無しさん [sage] 2019/01/18(金) 15:05:03.66:u9bkOu0s
PowerShellデフォルトでスクリプト実行できないのは致命的。
「え?デフォルトからセキュリティ弛めるの?大丈夫なの?」ってなる。
デフォルトの名無しさん [sage] 2019/01/18(金) 15:58:31.39:N2j3ka14

デフォルトの名無しさん [sage] 2019/01/18(金) 18:10:43.98:u9bkOu0s

ウザっ
デフォルトの名無しさん [sage] 2019/01/18(金) 18:21:14.18:FdTpqa5z

それをどこでやるの?
当然ダブルクリック1発でできるんだよね。

もしかしてそのためにバッチファイルも作るとか言わんよな。
デフォルトの名無しさん [sage] 2019/01/18(金) 18:36:02.88:dGgLcYHd

やれる/やれないの話な
後出しでダブルクリックガーとか恥ずかしすぎるだろ w
ちなみに若干トリッキーだがバッチファイルにPowerShellのソースを入れちゃうこともできる
デフォルトの名無しさん [sage] 2019/01/18(金) 19:50:38.17:BPWAMvDw
ExecutionPolicyはCurrentUserスコープなら権限不要で変更可能

この情報はプロならみんな知ってるけどアマチュアは知らない人が多いね
デフォルトの名無しさん [sage] 2019/01/18(金) 20:36:05.00:3Aai6ayN
実行の話じゃないでしょ
デフォルトの名無しさん [sage] 2019/01/18(金) 20:43:46.91:FdTpqa5z

???
今まで何の話をしてたんだ?
PowerShellの方がVBAより有利だと言いたかったんじゃないの?

君の発言を聞いてるとPowerShellはますます使いものにならないように感じるんだが、もしかして君は実はVBAの方が有利だと言いたかったのか?
デフォルトの名無しさん [sage] 2019/01/18(金) 21:06:07.91:dGgLcYHd

> 今まで何の話をしてたんだ?
> PowerShellはデフォルトで実行出来ないでしょ。
とか言う情弱がいたって話 w
デフォルトの名無しさん [sage] 2019/01/18(金) 21:45:43.94:WMbv0rpV
あれ? ExcelってVBAをデフォルトで実行できたっけ?
デフォルトの名無しさん [sage] 2019/01/18(金) 22:19:33.59:dGgLcYHd

まあ設定いるんだけど管理者権限は要らない
PowerShell もが言うように管理者権限不要だけどはSet-ExecutionPolicyの-scopeを知らなかったんだろうな
デフォルトの名無しさん [sage] 2019/01/18(金) 23:37:19.13:c34mocfv
設定を変えなければ動かないことをデフォルトでは動かないというんじゃないかね
設定を変えるのが簡単かどうかは別問題だろ
デフォルトの名無しさん [sage] 2019/01/18(金) 23:49:44.04:LGpZNaP9
右クリックするだけだろ
デフォルトの名無しさん [sage] 2019/01/19(土) 00:13:36.27:Fjsb0QYM
既定では
右クリック→管理者として実行
右クリック→やWindowsPowerShellで実行

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

もまちがい
既定状態のPCでも
powershell -executionpolicy remotesigned -file 'hoge.ps1'
などと打てば自動的にプロセススコープで自作のスクリプトなどを実行可能
デフォルトの名無しさん [sage] 2019/01/19(土) 02:49:20.82:S0ghMGDC
PowerShell -Part 3
ttps://mevius.5ch.net/test/read.cgi/tech/1539074808/
デフォルトの名無しさん [sage] 2019/01/19(土) 05:10:03.36:+IqL7b8U

だからそんなこと言い出したらVBAだってディフォルトでは動かないって話
逆にPowerShellはオプションつければ設定変更なしに実行可能
要するにが情弱っていう事実は変わらない


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

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

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

それに比べたらパワーシェルは実行までの手間は殆ど無視できるほど小さい
シェルでたったの1行コマンドレットを打つだけでOK
しかも無料なので嬉しいね
デフォルトの名無しさん [sage] 2019/01/19(土) 11:47:30.68:gJfblIQ2
OSのデフォルト状態で出来ることが前提
拡張子が.ps1の場合右クリックのメニューにremotesingedを表示させるとか?
デフォルトの名無しさん [sage] 2019/01/19(土) 11:51:02.97:8CGfSDeG
もうその話はpowershellのスレに移動してやってください
デフォルトの名無しさん [sage] 2019/01/19(土) 11:51:52.41:1cEunHBW

> 実行するファイルとは別に呼び出す仕組みを用意する必要がある
はあ?
情弱自慢かよww
デフォルトの名無しさん [sage] 2019/01/19(土) 12:11:34.94:lm8WiCyM
現実社会では話ができない寂しい「プロ」」のプログラマどもが何やらくだらん
雑談をしてスレを潰してるけど質問者の皆さんはそんなヨタ話に付き合う必要
はありませんので、遠慮なく質問をどぞ〜
デフォルトの名無しさん [] 2019/01/19(土) 12:14:32.41:oaSrkPrl
ところでホンマにブロなん?プロさんて?なんかあやしいんですけどw
デフォルトの名無しさん [sage] 2019/01/19(土) 12:25:03.26:4FsWRGgY
Officeインストールするしないがオプションなんて事業所あるの?
デフォルトの名無しさん [sage] 2019/01/19(土) 12:40:58.29:wkXfpZQC
厳密な定義や資格があるわけじゃないんで「プロ」を名乗るのは自由です
デフォルトの名無しさん [sage] 2019/01/19(土) 13:14:50.16:fPDnzLoP

そりゃもちろんあるよ
禁止してる事業所だってある
そもそもOS違いで使えないこともある
デフォルトの名無しさん [sage] 2019/01/19(土) 13:21:53.40:+IqL7b8U

うちの会社は開発専用機にはインストールしないけどそういう機器は自分でセットアップするからなぁ
の言うプロジェクトの度に準備とかはよくわからんな
デフォルトの名無しさん [sage] 2019/01/19(土) 13:26:53.56:4FsWRGgY
CADなんかの専用ソフトしか動かさんとか開発機とかそういうのならわかるけど、
このスレで話題にする以上関係ないというか対象外でしょ
デフォルトの名無しさん [sage] 2019/01/19(土) 13:35:07.44:Fjsb0QYM
普通はイメージで展開して、個別はライセンス認証だけっしょ一台数分
デフォルトの名無しさん [] 2019/01/19(土) 14:06:33.45:/+FUwnIm

へえ、ExcelってOSのデフォルト状態で使えるんだ?
デフォルトの名無しさん [] 2019/01/19(土) 14:46:59.67:Qiw5pxsO
WSHだろ常考
デフォルトの名無しさん [sage] 2019/01/19(土) 15:22:25.47:wiNfQeeu

例えば、クリップボードでも、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で十分!
デフォルトの名無しさん [sage] 2019/01/19(土) 15:49:39.46:BW5TF7JU

VSCodeは個別にライセンスのある膨大な数のオープンソースソフトウェアの塊であり、
PowerShellを禁止しているような糞組織のPCにインストールすることは不可能
RubyもライセンスにGPLの文字を見つけた途端に情シスが卒倒するレベルで全くもって論外
デフォルトの名無しさん [] 2019/01/19(土) 21:28:25.59:AuMD8hxP
プロさんてバカしかおらんの?
デフォルトの名無しさん [sage] 2019/01/19(土) 21:35:07.05:+IqL7b8U
所詮自称プロだしw
デフォルトの名無しさん [] 2019/01/19(土) 21:40:37.46:AuMD8hxP

開きなおるなバカ
デフォルトの名無しさん [sage] 2019/01/19(土) 22:05:47.19:+IqL7b8U

開き直り?
嘲笑って意味わかる? w
デフォルトの名無しさん [sage] 2019/01/19(土) 22:06:05.61:ARTGttMK
excelってVBAからpythonに変わるっていってなかったっけ?
◆QZaw55cn4c [sage] 2019/01/19(土) 22:08:25.92:KpXpzNLK

いってるだけ、今のところは
デフォルトの名無しさん [sage] 2019/01/20(日) 00:48:58.52:QFn18v7i
dictionaryに格納してるItemを検索して、存在してればKeyを返却する方法が知りたいのだけど、ループさせてヒットしたら値を出す方法以外でfind的な一発でポンと返す記述の仕方はない?
◆QZaw55cn4c [sage] 2019/01/20(日) 01:04:30.85:yiNhGfDQ

Item 間に順序関係があればそれを利用して二分探索を適用できる、無論、記述はループチェックに比べて量が多くなる
デフォルトの名無しさん [sage] 2019/01/20(日) 03:54:11.74:IAu7YphR

一行で書きたいということなら、文字列ならワークシート関数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

個人的には普通に関数作った方が使いやすいと思います。
デフォルトの名無しさん [sage] 2019/01/20(日) 08:04:01.23:cWi8furK

Excel.Application.Onkey で最優先ショートカットキーにできる
次いで.macroOptionsの古いほうが動くよ
デフォルトの名無しさん [sage] 2019/01/20(日) 08:25:03.17:KJwN8fo6
配列とかコレクションに対してSQLが使えればいいんだけどな。
matchやvlookupより速いんだけど、いちいちシートとかcsvに書き出さなきゃならん。
デフォルトの名無しさん [sage] 2019/01/20(日) 09:17:44.39:OfXqqqKI
そこまで行くとAccessのお仕事を食っちまう
デフォルトの名無しさん [sage] 2019/01/20(日) 09:22:18.21:1t0h4eLG
Access VBAでやればいいじゃん
デフォルトの名無しさん [sage] 2019/01/20(日) 09:32:11.24:brNktcWU

おっと、回答いただけるとは。
onkeyだと、activeworkbookだろうが、thisworkbookだろうが、後定義したほうが上書き、後勝ちしません?
active側に定義されたショートカットがそれぞれ反応してくれると嬉しいのですが。
デフォルトの名無しさん [sage] 2019/01/20(日) 10:54:01.49:mVpLWWyp

MSにExcelでC#使えるようにしてくれ〜
って要望をガンガン出せばお前の望みが叶うかも知れない
デフォルトの名無しさん [sage] 2019/01/20(日) 13:02:37.66:QFn18v7i
,581
ありがとう
Itemには順序関係ないから二分探索は出きなさそう
worksheet関数は完全に意識無かったので見た瞬間にあぁ!その手があったか!と目からウロコでした
デフォルトの名無しさん [sage] 2019/01/20(日) 13:13:34.11:k7Xn9dKz
C#スクリプトってOSSで軌道に乗っちゃってるからExcelの処理系として採用されることはないと思うぞ
同じものをClosedで再発明するってのも馬鹿馬鹿しいしな

強力な言語を使いたいならその言語を主としてExcelをコントロールすればいい
それで十分だ
わざわざExcelに乗っける必要性は薄い
デフォルトの名無しさん [sage] 2019/01/20(日) 13:31:13.08:mVpLWWyp
再発明とか意味わからん w
デフォルトの名無しさん [] 2019/01/20(日) 16:43:57.95:tNp2z70l
この場合の再発明と言われれば車輪の再発明を連想出来ないのはかなり緩いんだろう
デフォルトの名無しさん [sage] 2019/01/20(日) 17:26:38.62:GHMQXw/N
文脈的には再発明と言うより再実装かな
デフォルトの名無しさん [sage] 2019/01/20(日) 17:32:05.81:mVpLWWyp
いや、車輪の再発明はいいとして何を再発明するんだよって話
C#処理系のソースライセンス見てないけどMSが自社製品に使えなくなるようなライセンスにはなってないだろうし(なってたらVisual Studioの有償版とか売れなくなる)
普通にExcelに組み入れるだけだろ
デフォルトの名無しさん [sage] 2019/01/20(日) 17:45:17.54:TQeakhfS

メンテナンスのコストを甘く見すぎ
Excelに入れるなら最低でも以後10年は完全な互換性を維持し続けなきゃいけないわけ
今メインストリームのC#環境を入れるなら.NET Coreを組み込むことになるだろうけど、
.NET Coreって完全なサイドバイサイドを前提にガンガン破壊的変更をぶっ込んでいくスタイルだから、
Excelのバージョンアップのときに単純に.NET Coreのバージョンを上げるわけにはいかなくて、
Excel専用のブランチを作って継続的にメンテしていかざるを得ないの
それは実質的には新たに.NETの兄弟分を作って独立して育てていくことに他ならず、多大なメンテナンスコストを生じる上、
.NET エコシステムの分断を生むことになる
そんな馬鹿げたことをするくらいなら普通に.NET Coreを直接使わせた方が遥かにマシだろう
デフォルトの名無しさん [sage] 2019/01/20(日) 17:59:54.91:mVpLWWyp

> Excelに入れるなら最低でも以後10年は完全な互換性を維持し続けなきゃいけないわけ
それVBAの開発担当者にも言ってくれよ w
デフォルトの名無しさん [sage] 2019/01/20(日) 18:07:02.56:TQeakhfS

煽りはいいから直近10年でVBAに対して行われた破壊的変更を具体的に挙げてくれよ
当たり前だが不具合の話はしてないぞ?
デフォルトの名無しさん [sage] 2019/01/20(日) 18:28:52.57:mVpLWWyp

いや破壊的かどうかは別にしてもVBAも色々機能追加とかされてるだろ
VBAの機能追加をやめてそのリソースをC# for Officeに割くだけだよ
そもそもMac版はともかくWindows版のOfficeなら.NET Coreじゃなくて.NET Framework上に構築するだろうしな
デフォルトの名無しさん [] 2019/01/20(日) 18:31:24.08:wKV5+GB/
みっともないからいいかげん止めや似非プロさんの一人語り
そもそも出鱈目やってバレバレのプロ風の話して誰に対してマウント取りたいねんw
デフォルトの名無しさん [sage] 2019/01/20(日) 18:46:13.28:TQeakhfS

Full .NET はメンテナンスモードに入ったよ
4.8を最後に、今後大きな機能追加はない
残念ながら、今入れても新たに時代遅れのゴミが増えるだけだ
デフォルトの名無しさん [sage] 2019/01/20(日) 20:02:31.83:mVpLWWyp

逆に都合がいいじゃん
.NETFrameworkは簡単に廃止できないから君が大事にしてる互換性も保ちやすいしね
デフォルトの名無しさん [sage] 2019/01/20(日) 22:44:30.32:aU4dkoPo
A4用紙に上から4件ずつ異なるデータを入力して、
印刷したいのですが、どうすればいいか教えて下さい。
データ数は日によって異なり、30件〜50件程度あります。
1ページ目に1〜4、2ページ目に5〜8・・・という感じです。
うまく説明出来なくてすいません。
4つデータを入力して印刷したら次、っていう感じの
ループ処理のコードのサンプルなどありましたら教えてください。
デフォルトの名無しさん [sage] 2019/01/20(日) 22:48:25.28:GTDVzsz1

改ページを設定すればいいだけじゃね?
ttp://https://kosapi.com/post-3244/
デフォルトの名無しさん [sage] 2019/01/20(日) 22:55:12.40:aU4dkoPo

ありがとうございます。
デフォルトの名無しさん [sage] 2019/01/21(月) 09:00:45.75:MgnF8xe3
このループw
他言語を推奨してる奴らには馬鹿しかいない。

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

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

64bit対応くらいじゃ無いか?
デフォルトの名無しさん [sage] 2019/01/21(月) 16:29:48.24:0Hj4ohcs
LongPtr型とPtrSafe宣言くらいか
デフォルトの名無しさん [sage] 2019/01/21(月) 20:06:20.50:mtdQDW0I

ただパッチいれたら動かなくなったことはあった
デフォルトの名無しさん [sage] 2019/01/21(月) 20:57:18.88:MgnF8xe3
2007の時、グラフ周りが軒並み動かなくなったことはあったな。
デフォルトの名無しさん [sage] 2019/01/21(月) 22:36:48.74:+ZXh/xZN
改ページ位置の誤検出がヒドイ。
一旦、改ページプレビューにしてから戻せば大丈夫ですとか、何だよそれ。
デフォルトの名無しさん [sage] 2019/01/21(月) 23:15:39.37:liT1rB8S
64bitはスクリプトオブジェクトがないとかは?
デフォルトの名無しさん [] 2019/01/22(火) 00:07:05.98: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」ではなく、ちゃんと名指しする方法ってないでしょうか?
◆QZaw55cn4c [sage] 2019/01/22(火) 00:33:28.43:zFHfz07h
いろいろな事情があって、ExcelVBA に専心することになりそうです…Excel VBA から任意の win32api を呼び出すことは可能ですか?
デフォルトの名無しさん [sage] 2019/01/22(火) 00:44:54.38:KMNb7p7Q

処理中いじるなと表示させたフォームをモーダルにして処理終わるまで×ボタン消しとくとかは?
デフォルトの名無しさん [sage] 2019/01/22(火) 02:38:45.16:WVGq8ekA
activeじゃなくてもsaveできるだろ
デフォルトの名無しさん [sage] 2019/01/22(火) 05:03:39.16:1xYsQegz

方法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 だけで自動的に保存されます。
デフォルトの名無しさん [sage] 2019/01/22(火) 05:11:20.49:1xYsQegz
Worksheets("集計表").copy
↓修正
ThisWorkbook.Worksheets("集計表").Copy 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
デフォルトの名無しさん [sage] 2019/01/22(火) 08:07:57.46:rTM/luD7

トリッキーな技が技があるかもだけど「任意の」となると単独では無理と思った方がいい
デフォルトの名無しさん [sage] 2019/01/22(火) 08:14:29.14:J7GVb3Rk

任意ってのはどういう意味?
動的に呼び出したいってこと?

それだったらかなり高度になる。
デフォルトの名無しさん [sage] 2019/01/22(火) 12:45:48.79:/p6ZcYuK
declareで追加するだけでしょ
ぐぐればサンプル大量に出てくるし
高度でもない
デフォルトの名無しさん [] 2019/01/22(火) 13:00:35.87:/wbMKv3O
厚生省の中の人がプログラムで不正するように描いてたのってExcel?
デフォルトの名無しさん [sage] 2019/01/22(火) 14:06:11.20:Hs2/RF8Y
あれはファイルの更新日をいじっただけだったはず(開いて上書き保存かもしれんが)
デフォルトの名無しさん [sage] 2019/01/22(火) 16:11:53.74:twW7M/a9
関数間違えたって報道されてなかったっけ
デフォルトの名無しさん [sage] 2019/01/22(火) 20:39:31.87:J7GVb3Rk

それは静的に呼び出すということ。

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

昔、調べまくってサンプル作ったことあるけど、何でも自由に動かせるものじゃなかった。
というより殆どのAPIは動かなかった記憶が。
デフォルトの名無しさん [sage] 2019/01/22(火) 20:52:29.66:nExxZ55X
LongPtr型とPtrSafe宣言ってそれぞれどういうときに使うんですか?
デフォルトの名無しさん [sage] 2019/01/22(火) 20:59:55.76:IR20P2NM

どっちも64bitでAPI呼ぶ時に使うけど、ほかの使い方は知らん
デフォルトの名無しさん [sage] 2019/01/22(火) 22:38:47.81:CihaJZ6+
Excelはどのくらいポリゴン表示出来るの?

1. PS並み
2. PS2並み
3. PS3並み
4. PS4並み
デフォルトの名無しさん [] 2019/01/23(水) 00:32:34.72:glGBkXdT
5. PS5並み
デフォルトの名無しさん [sage] 2019/01/23(水) 00:54:57.75:26O4EHUh
今のPCならオートシェイプで3DレンダリングしてもPS1には楽勝だろう
デフォルトの名無しさん [sage] 2019/01/23(水) 01:22:36.39:xNUzgFQe

ありがとうございました!
デフォルトの名無しさん [sage] 2019/01/23(水) 03:00:22.02:aTlBVQjl
ttp://http://blog.livedoor.jp/genkimaru1/archives/2095759.html
デフォルトの名無しさん [sage] 2019/01/23(水) 13:19:24.15:dfxLcevf
闘神伝のエリスのシースルーは再現可能ということですね。
デフォルトの名無しさん [] 2019/01/23(水) 13:59:08.25:b9b+73n9

馬鹿には無理
デフォルトの名無しさん [sage] 2019/01/23(水) 15:57:45.44:uebkOjvn
もともと「任意の」APIだったのが途中から動的に呼び出す話になってる
デフォルトの名無しさん [sage] 2019/01/23(水) 16:19:34.41:CpZRwgZL
回答者の連中が勝手に条件を考えて話をややこしくするのも
質問者がそれを修正しようとしないのもこのスレのお約束
デフォルトの名無しさん [sage] 2019/01/23(水) 17:37:28.67:uebkOjvn
だいたいDeclareなしに呼び出さなきゃいけない要件なんてあるか?
候補となるAPIの範囲なんてどう考えても限られてるだろう。
ジグネチャ情報ごと外部からもらうのか?
デフォルトの名無しさん [sage] 2019/01/23(水) 21:06:47.46:e5qX8jhS

プラグインdllを呼び出すような要件だな。
プラグインdllを指定のフォルダに入れてもらうようにしておいて、呼び出し方はこちらで決めておく。
指定フォルダからdllファイルを列挙して、ファイル名と、決められた通りの呼び出し方で呼び出すやり方になるからDeclareは使えない。

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


「任意」の意味がよく分からん。
動かしている最中に「任意」のAPIを呼び出したいという意味かと思った。
それともcdecl呼び出しのAPIは基本的に出来ないっていうような話をすれば良かった?
まあ、DispCallFuncでゴニョゴニョで出来るんだけども。
デフォルトの名無しさん [sage] 2019/01/23(水) 22:47:22.53:9/VHRHNs
VBAでは(トリッキーなことしないと)作れない引数型のAPIのこととかじゃね?
デフォルトの名無しさん [] 2019/01/24(木) 09:54:58.66: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

のようになっています

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

どうぞよろしくお願い致します。
デフォルトの名無しさん [] 2019/01/24(木) 12:17:49.04:6DEMoFXg

おまえは頭が悪くて他人にものを教えられる様な人間やない
ちゅう事をそろそろ思い知った方が幸せになれるで
デフォルトの名無しさん [sage] 2019/01/24(木) 12:27:34.76:kIY0kOtD

問題を分割して考えよう

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

で、どこがわからないの?
デフォルトの名無しさん [] 2019/01/24(木) 12:37:36.92:6BCdjRMd
調べるだけで頭を使っていないのだからわかるわけない
ゆとり教育世代にありがち
デフォルトの名無しさん [sage] 2019/01/24(木) 12:38:49.74:FgOMH45t

自分が頭が良いということを全く証明もせずに絡んで来られても困るんだがw

こういう絡み方で頭悪そうだとは思うけどね。
デフォルトの名無しさん [] 2019/01/24(木) 12:55:51.34:6DEMoFXg
実にバカらしい困り方やね
デフォルトの名無しさん [] 2019/01/24(木) 13:12:21.15:Ay2CLdQj

マウント取りたいだけの老害
なんの生産性もないからやめた方がいいよ
デフォルトの名無しさん [] 2019/01/24(木) 13:13:31.30:+O0AGYtG
hoge.dll だけあるときに hoge.def を作りたいんだけどどうすればいい?
デフォルトの名無しさん [] 2019/01/24(木) 13:38:55.05:pEQDGUsa

悔しかったか、ゆとり世代
デフォルトの名無しさん [] 2019/01/24(木) 14:52:02.40:DfMDGTcZ

おっしゃる通り1つずつこなしていきたいと思います。

最大値を取得する所まではなんとかなりましたが、最大値が入っているセルの左からoffsetによって値の取得をしようとしています。しかしエラーが出てしまい(91エラー)詰まっています。
デフォルトの名無しさん [sage] 2019/01/24(木) 14:57:02.89:xR9TqB96

defファイルってビルドの時に使うもんだけど?
デフォルトの名無しさん [] 2019/01/24(木) 15:26:49.03:ou4FYlNm

馬鹿過ぎだろ
もっと悩んでから来い、ゆとり
デフォルトの名無しさん [sage] 2019/01/24(木) 15:36:46.38:xR9TqB96
罵倒芸術?
デフォルトの名無しさん [] 2019/01/24(木) 15:53:26.03:DfMDGTcZ

そうします
ありがとうございます
デフォルトの名無しさん [sage] 2019/01/24(木) 16:52:58.88:90ICJGKL

お前なにしにきてんだここに。
最低だな、人として。
デフォルトの名無しさん [sage] 2019/01/24(木) 17:31:43.23:uc3iE4iQ
で答えを教えてもらっても理解できないような頭の悪さが問題だろう。こんな頭の悪い奴はプログラムするなと俺は思う。
デフォルトの名無しさん [] 2019/01/24(木) 17:52:28.54:Ay2CLdQj
ほー
くらいの天才になると最初からプログラム完璧に理解できたらしいな
凄い凄い


めげずに頑張ってくれよ
だれでも最初は初心者だ
デフォルトの名無しさん [sage] 2019/01/24(木) 18:00:27.00:A3Pe4Ldy
VB6で作ったADOを使ってデータベースからエクセルシート名をComboBoxに入れるソフトがあって、それをwindows10で動かすとエラーで止まるんだけど原因分かりますか?
シート名が一文字の時だけエラーが出るのは分かったけど何か理由だと思いますか?
デフォルトの名無しさん [] 2019/01/24(木) 18:15:16.93:pEQDGUsa

ここが何のスレだかわかってるか、馬鹿
デフォルトの名無しさん [sage] 2019/01/24(木) 18:58:14.37:5lzQ1hz1

その日付でアドバンスフィルタ。
検索する側の日付と、検索される側の日付は、
何型でもいいから統一する。
LeftやMidと"/"を組み合わせとか、
Format(日付, "yyyy/mm/dd")とか適当に。
デフォルトの名無しさん [sage] 2019/01/24(木) 19:06:26.31:5lzQ1hz1
アドバンスフィルタが何なのかわからなかったら、
フィルタオプションの設定の使い方を覚えて、
マクロの自動記録をするといい。

ちなみに、ループより激速だから。
デフォルトの名無しさん [sage] 2019/01/24(木) 19:32:10.91:fZR3dOZW

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 ] }
デフォルトの名無しさん [sage] 2019/01/24(木) 21:13:39.94:52bEuJTy

ここが何のスレだかわかってるか、馬鹿
661 [sage] 2019/01/24(木) 21:19:22.76:fZR3dOZW

修正

# 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つだけを求めるから、速い
デフォルトの名無しさん [sage] 2019/01/24(木) 22:01:17.17:KN/tNrgV

ボクタンンRubyが出来るんだぞぉおエライんだ。ボクタンンを褒めろぉぉお
Rubyのスレでは褒める奴が居ないからここでエラぶりたいんだよぉお
なウスラバカ
デフォルトの名無しさん [sage] 2019/01/25(金) 09:26:57.52:VDjD4/gW
他言語質問スレの質問をRubyで解答するスレでもたてれば?
デフォルトの名無しさん [sage] 2019/01/25(金) 10:27:26.03:OaoSScvY
Rubyスレで相手にされず、ここならドヤ顔できるだろと思って来たのかw
デフォルトの名無しさん [] 2019/01/25(金) 12:18:15.80:aKVOVgYE
プロさん荒ぶりまくっとってワロタw
デフォルトの名無しさん [sage] 2019/01/25(金) 12:37:49.55:kDiuvRrn
Ruby信者くんどこのスレでもKYだよね
デフォルトの名無しさん [] 2019/01/25(金) 12:52:29.05:EnRgcOgq
dumpbin /exports hoge.dll

lib /def:hoge.def
でいけるな
デフォルトの名無しさん [sage] 2019/01/25(金) 19:43:02.79:EKURiA+R
DispCallFuncって最近また流行ってるの?
デフォルトの名無しさん [sage] 2019/01/26(土) 07:48:55.80:SzhvFgNa
Private Function getIE(arg_title As String) As InternetExplorer

こういう書き型ってどういう意味になるんですか?
普通に関数を作るなら
private fanction 関数名(ByVal 引数名 as 引数の型)
みたいな形になると思うんですが
上記にあげた例でとくに引数を()で閉じた後のas InternetExplorerの部分がよくわかりません
デフォルトの名無しさん [sage] 2019/01/26(土) 08:30:57.60:0//Vwm17

"as 引数の型"の意味が理解できるなら
"as InternetExplorer"は簡単に想像つくだろ
デフォルトの名無しさん [sage] 2019/01/26(土) 09:22:53.54:xtvWXKE/
Private Sub 関数名(引数名 As 引数の型)
Private Function 関数名(引数名 As 引数のデータ型) As 戻り値のデータ型
デフォルトの名無しさん [] 2019/01/26(土) 09:34:59.74:HSTKeB2g
VBAやってるなんて恥ずかしくて言えないだろ?
デフォルトの名無しさん [sage] 2019/01/26(土) 09:38:00.59:+NbQI97A

中の処理を見ないとわからんけど、
そういう書き方をする場合、普通に考えたら、
getIEにInternetExplorerのオブジェクトがセットされて返ってくる。
デフォルトの名無しさん [sage] 2019/01/26(土) 09:49:01.06:/P2VC+Mr
タイトルバーの文字列からウィンドウを検索する関数だろ
IE操作のサンプルとして、ネットでも本でも色んな所で見かけるやつ
デフォルトの名無しさん [sage] 2019/01/26(土) 09:59:33.30:0//Vwm17

あらたまって「俺VBAできます」なんて言うことは無いけど
問題の解決にVBAが最善なら偏見持たずに採用するよ
デフォルトの名無しさん [sage] 2019/01/26(土) 10:13:39.98:54XYYYdu
初心者に優しくなろうぜ
デフォルトの名無しさん [sage] 2019/01/26(土) 10:33:16.30:MaEquCGy
どうしても使わなきゃならない場合にはVBAを使う
なにも理由がなければこんなもの使わない方が精神的に健全
デフォルトの名無しさん [] 2019/01/26(土) 10:56:55.38:z7S/RMkn
Windows10のアップデート1809を適用したらcreateobject("InternetExplorer.application")でオートメーションエラー(実行時エラー -2125463506)が発生するようになりました。

これを回避する方法があれは教示ください。
デフォルトの名無しさん [sage] 2019/01/26(土) 11:00:34.08:MaEquCGy

他の言語とSeleniumを使う
デフォルトの名無しさん [sage] 2019/01/26(土) 11:08:46.81:+NbQI97A

参照設定もInternetExplorerMediumもダメ?
デフォルトの名無しさん [] 2019/01/26(土) 11:09:00.46:z7S/RMkn

会社の方針でOffice以外のアプリや言語は使えません。そのため、VBAのみとさせてください。
デフォルトの名無しさん [sage] 2019/01/26(土) 11:13:02.00:MaEquCGy

ではIEも使えないのですね?
デフォルトの名無しさん [] 2019/01/26(土) 11:17:13.78:z7S/RMkn

参照設定はInternetcontrolsとHTML object libraryを設定しています。これは適用前と変わりません。

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

1809適用前の他PCでは正常に動きます。
デフォルトの名無しさん [] 2019/01/26(土) 11:18:26.43:z7S/RMkn

すみません、クロームやエッジは使えませんが、IEは可能です。
デフォルトの名無しさん [sage] 2019/01/26(土) 11:32:26.37:MaEquCGy
なるほど状況はわかりました

問題の検証にはまず最初に他の言語が必要です
パワーシェルの使用許可を取ってください
デフォルトの名無しさん [sage] 2019/01/26(土) 12:31:44.07:WRAGgpBx

マジメな話、本当にダメなのかは思い込みの部分が多いんじゃないかと思うぞ
デフォルトの名無しさん [sage] 2019/01/26(土) 12:33:07.15:SzhvFgNa



ありがとうございます。VBAは戻り値の型も指定できるんですね。
というか、思い出しました、C言語でも頭にstringとかintとかつけましたね。
あれが末尾に来てこういう書き方になると。
ありがとうございました。
デフォルトの名無しさん [sage] 2019/01/27(日) 07:11:52.32:KwlBhw9C
しかしVBAは良くて他がダメっておかしな話だな
使い勝手が違うだけで、大概の事出来ちゃうだろ
デフォルトの名無しさん [sage] 2019/01/27(日) 07:15:14.02:MJttX1my

VBAの利用を推奨していないのは他でもないMSだ
デフォルトの名無しさん [sage] 2019/01/27(日) 07:25:44.98:v6cey9sT
逆に、C#にできてVBA+APIでできないことって何がある?
デフォルトの名無しさん [sage] 2019/01/27(日) 07:37:49.03:94l2cllZ
ソフトウェアが端末毎に異なると動作検証の障害になるケース
デフォルトの名無しさん [sage] 2019/01/27(日) 07:53:57.32:e7HDIdYV
もうよそいけよ
デフォルトの名無しさん [] 2019/01/27(日) 08:13:04.45:/fU4frLP
IE参照とか終わっとる
デフォルトの名無しさん [sage] 2019/01/27(日) 08:29:08.12:MJttX1my

そらWebアプリとかスマホアプリとかMac/Linuxとかゲームとか科学技術計算とかいくらでもある
VBA(API, COMなし)で無理なく可能、かつExcelワークシート操作が必要な場合に態々C#を使うのはそれこそ馬鹿の一つ覚えだと思うけどね
デフォルトの名無しさん [sage] 2019/01/27(日) 08:59:08.57:DsJJt6N4
希に、変数が定義されてませんみたいなエラーが出るんだけど、何だろう?
しかも変な位置で。

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

Excelを再起動しても治らないんだけど、
3行目と4行目を入れ替えて、また戻すと治る。
わけわからん。
デフォルトの名無しさん [sage] 2019/01/27(日) 09:48:02.97:UZak3JEV

参照設定を確認かな…
デフォルトの名無しさん [sage] 2019/01/27(日) 11:10:55.75:RJ6yXKbG

当方、excel2010の新しいブックでテストしても何の問題もなし
デフォルトの名無しさん [sage] 2019/01/27(日) 12:04:29.48:5DHtGtFO

> MsgBox a
で値は表示されてるのか?
表示されてるなら値はどうなっているのか?
デフォルトの名無しさん [sage] 2019/01/27(日) 12:48:15.98:TaAzn7Fo

全角空白とか混ざってない?
マルチステートメントもやめよう
デフォルトの名無しさん [sage] 2019/01/27(日) 14:13:43.46:eEXpRKk5
マルチステートメント推進
デフォルトの名無しさん [sage] 2019/01/27(日) 15:18:35.61:g3iq6aIo
まじ?
デフォルトの名無しさん [sage] 2019/01/27(日) 16:30:18.65:DsJJt6N4

特殊なものはつかってないけど・・。


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


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

Constは1行で書けるのに、Dimが2行になるのが嫌なので、宣言は1行にしてる。
デフォルトの名無しさん [sage] 2019/01/27(日) 16:33:56.14:DsJJt6N4

こっちは2013。
普通は問題ないんだよ。行を入れ替えて戻せば治るから、
構文的におかしいことも無いだろうし。
デフォルトの名無しさん [sage] 2019/01/27(日) 18:01:05.46:OBIAkwM2
コードのコピペをミスったとかじゃないかな
どこか編集すると大文字小文字や空白が自動的に修正されて直るとか
デフォルトの名無しさん [sage] 2019/01/27(日) 18:29:58.57:k4Sj+hy8

たぶんデバッグ中に宣言書いたりしたんやろ?
そう言うことするとバグる。

一旦コードコピーして、モジュール作り直せばいいよ
デフォルトの名無しさん [sage] 2019/01/27(日) 18:33:24.52:qv2Aznbx
そもそも1列目にはどんな数字が羅列されてるの
デフォルトの名無しさん [sage] 2019/01/28(月) 20:10:52.48: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)を参照させていきたいんですが
どういう風に書けばいいんでしょうか?
デフォルトの名無しさん [sage] 2019/01/28(月) 20:41:36.83:9NcZtM+2
Cells(m, 2).Formula = "=MID(" & Cells(m, 1) & ", 15, 5)"

Cells(m, 2).FormulaR1C1 = "=MID(RC[-1], 15, 5)"
デフォルトの名無しさん [sage] 2019/01/28(月) 20:42:27.70:9NcZtM+2
みすった
Cells(m, 2).Formula = "=MID(" & Cells(m, 1).Address & ", 15, 5)"
デフォルトの名無しさん [sage] 2019/01/28(月) 20:47:12.92:i9xb9DBB
ありがとうございます、いけました!
デフォルトの名無しさん [sage] 2019/01/29(火) 18:20:14.94:uYHQBjCX
1から30の乱数字を5回ループした合計を出したい。
同一数字が出ることをよしとした場合のコードってどんなですか?
デフォルトの名無しさん [sage] 2019/01/29(火) 18:28:48.64:ywRkqTQf

For i = 1 To 5
  s = s + Int(Rnd()*30+1)
Next

細かいことを言うと、「同じ数字が出てはいけない」などの条件を付けた時点で、それは乱数じゃなくなる
デフォルトの名無しさん [sage] 2019/01/29(火) 19:08:34.73:+icPBYbY

> 細かいことを言うと、「同じ数字が出てはいけない」などの条件を付けた時点で、それは乱数じゃなくなる
べつに乱数が欲しいとは言ってないようだが?
デフォルトの名無しさん [sage] 2019/01/29(火) 19:40:09.62:dBY1qrqG
「乱数字」ってなんだ?初めて聞く言葉だゾ
デフォルトの名無しさん [sage] 2019/01/29(火) 19:42:57.71:LpX7EYli
日本語だと乱数、乱数字は中国語で同じ意味
デフォルトの名無しさん [sage] 2019/01/29(火) 20:05:34.32:KErsf3wp
つまり は中国の方ということね
デフォルトの名無しさん [sage] 2019/01/29(火) 20:10:45.02:aCb5tvGW
randbetween(1,30)は?
デフォルトの名無しさん [sage] 2019/01/29(火) 21:04:31.66:t1GGJDgX
WorksheetFunction.RandBetween
長いな
デフォルトの名無しさん [sage] 2019/01/29(火) 21:09:20.18:ZMlTx8zG
3D6+5とかをループ使わず一発で計算したいって質問なんじゃね?
デフォルトの名無しさん [] 2019/01/29(火) 22:06:13.32:5yOKK0P6
int(rnd()*146)+5
デフォルトの名無しさん [] 2019/01/29(火) 22:13:12.12:TIeo+FQH
←これが世間でバグと言われるものです
デフォルトの名無しさん [] 2019/01/29(火) 22:19:46.43:5yOKK0P6

どこがバグ?
デフォルトの名無しさん [] 2019/01/29(火) 22:22:56.72:TIeo+FQH

それぐらい自分で考えろやプロさんw
脳ミソついとらんかプロさんの頭にはw
デフォルトの名無しさん [sage] 2019/01/29(火) 22:40:58.72:2ngnqyHd

お前が馬鹿
デフォルトの名無しさん [sage] 2019/01/29(火) 22:57:33.37:ywRkqTQf

もっと簡単な例で考えれば分かる
1〜6のサイコロ2個と、2〜12のサイコロ1個で合計7の出る確率は、前者は6/36=1/6、後者は1/11
結果(確率)がまったく違うから、同じプログラムとは言えない
デフォルトの名無しさん [] 2019/01/29(火) 23:02:31.19:TIeo+FQH
ワイはの恥ずかしさをもっと掘りさげたいんやw
デフォルトの名無しさん [sage] 2019/01/29(火) 23:06:27.72:kf38Yh2H
いつも思うんだが、どういう状況で使うんだよ。
Excelでゲームでも作るの?
デフォルトの名無しさん [] 2019/01/29(火) 23:13:55.62:TIeo+FQH
話をそらさずにもっとの恥ずかしさを語り明かそうやw
デフォルトの名無しさん [sage] 2019/01/30(水) 00:12:38.41:7kXOqwqB
数学の確率は人間の直感を裏切ることがけっこうあるから、慎重に扱わないと痛い目を見る
デフォルトの名無しさん [sage] 2019/01/30(水) 00:15:46.22:mmfL+KpI
乱数が欲しいんて書いてないし
デフォルトの名無しさん [sage] 2019/01/30(水) 00:18:07.14:yYgJ37mP
確率が直感に合わないのはほとんどの場合解釈を間違えてるだけ
デフォルトの名無しさん [sage] 2019/01/30(水) 00:21:14.29:Q4JlCs68
バグと確率の問題をすり替えて逃げてる馬鹿がいる。どこにバグがあるか指摘してみろや。
VBAしかしらない馬鹿どもが。
デフォルトの名無しさん [sage] 2019/01/30(水) 00:26:30.71:4G8qGWeY
「乱数字」という言葉の意味がわからない限り、誰も何も回答できないわけだが
回答者が勝手に問題を作って議論を始めるいつものパターンになってるな
デフォルトの名無しさん [sage] 2019/01/30(水) 00:34:51.85:3ZvsJrgT
結果が意図と違っていたらバグ
たとえば乱数でサイコロをシミュレーションするプログラムで、どれだけ試行しても確率が1/6に収束しようとしなかったらバグがある
デフォルトの名無しさん [sage] 2019/01/30(水) 00:36:43.73:ILSDuF01
よっぽど悔しかったんだな。。。
デフォルトの名無しさん [] 2019/01/30(水) 07:02:27.20:3/CBrgdG
←バグの意味を知らんプロさんwwww
ええでもっと恥ずかしがってもwww
デフォルトの名無しさん [] 2019/01/30(水) 12:54:53.35:X+zaqEGo
よろしくお願いします。

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

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

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

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

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

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

計算の都合で商を求める演算「\」を使ったところ、10^12 \ 2^22 あたりの計算でオーバーフローとなりました
(実際には、2^22のところはそのオーダーの定数)
「\」の計算は64bitに非対応なのでしょうか?
デフォルトの名無しさん [sage] 2019/01/30(水) 21:02:23.30:E37rjQ75
それこそPowerShell呼んでBigInteger使えよ
デフォルトの名無しさん [sage] 2019/01/30(水) 22:56:12.99:dsQEAAmt

基準日をどうするかにもよるけど、
一番簡単なのは、If 今日の日付 = 2019/2/28 Then Exit Sub 的なやつ。
デフォルトの名無しさん [sage] 2019/01/30(水) 22:59:06.78:dsQEAAmt
あ、コピーされた日か。
じゃあFileSystemObject使うとか。
デフォルトの名無しさん [sage] 2019/01/31(木) 07:12:05.16:Z5McOm4q
コピーされた日なんてどこにも記録されてないんだから取得のしようもないだろ
デフォルトの名無しさん [sage] 2019/01/31(木) 07:50:39.64:tKdk8GYp
起動時にあるセルが空白なら今の日付入れる。
空白でないのなら、セルの内容と今の日付を比べる。
セルは非表示のシートとかでよくね?
デフォルトの名無しさん [sage] 2019/01/31(木) 08:17:14.63:mZzaZtfh

別に作成されているマクロのコンポーネントになるので不採用ですね…。
デフォルトの名無しさん [sage] 2019/01/31(木) 10:24:09.90:ivIRiWY+
スルーされてるけどに日付取得のソースが丸々載ってますよ
余程変なことをしなければ、コピー日時はファイルの(≠エクセルのプロパティ)の作成日時です
適当なセルをパスワード保護して、ブックモジュールのOpenイベントに空白条件で日付を入れるコードを書けば初回起動で記録されます。


\演算子が良く分からないのですが、除算の結果から小数点以下を消すという意味なら
Int(10 ^ 12 / 2 ^ 22)
でどうでしょうか
デフォルトの名無しさん [sage] 2019/01/31(木) 12:39:08.81:xxTKFGAk

WScript.Shell で呼べばいい
VBAのソース内に書いたPowerShell実行できるぞ
デフォルトの名無しさん [sage] 2019/01/31(木) 12:43:51.49:B2lY3/DV

何でそういう面倒くさい方法にしなきゃならんの?
VBAじゃどうにもならんという結論か?
デフォルトの名無しさん [sage] 2019/01/31(木) 12:52:33.19:xxTKFGAk

VBAでやろうとすれば自前で多倍長整数演算を実装する必要があり、開発とテストで誇張抜きで工数数百倍かかるよ
デフォルトの名無しさん [] 2019/01/31(木) 16:39:19.38:aH0rCOCG
>LONGLONG

>100桁の整数

あほですか
デフォルトの名無しさん [sage] 2019/01/31(木) 19:07:59.37:B2lY3/DV

だからさ、まずお前の結論としてVBAじゃ無理というのがあって、それからだろPowerShell云々は。

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

On Error Resume Next
数字じゃないとエラーが起きるような処理
エラーが起きたら終了みたいな
On Error Goto 0
デフォルトの名無しさん [sage] 2019/01/31(木) 19:28:01.37:ivIRiWY+

>>IsNumeric関数を使おうかと思うのですが、上限は文字列として扱える上限まで行けるんでしょうか?

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

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

仮に2GBの判定が出来たとしても、その膨大な時間を使うよりは例外処理してしまった方が早いと思います。
デフォルトの名無しさん [sage] 2019/01/31(木) 19:28:54.99:kne0z8/A

よくそんな仕事請け負ったな、依頼者に騙されてないか?
デフォルトの名無しさん [sage] 2019/01/31(木) 19:31:09.20:ivIRiWY+
お話を聞いてる限り、恐らく元々の依頼内容も勘違いされている部分があると思うので、
差し支えない範囲で教えて貰えれば根本的な部分に回答が出来るかもしれません。
デフォルトの名無しさん [sage] 2019/01/31(木) 19:31:49.59:ivIRiWY+
みんな同じ様な事言っててワロタ
デフォルトの名無しさん [sage] 2019/01/31(木) 21:50:14.70:xxTKFGAk

別にPowerShellでなくてもいいけど、標準のWindowsだけで特に追加で何か入れることなく使えて
多倍長演算もサポートしててVBAから簡単に呼べるのなんて他にある?
デフォルトの名無しさん [] 2019/02/01(金) 01:19:40.80:UQQ7ub0a

そちらの質問は興味本位です。与えられた数値に見える文字列を信じるなら不要です
それと、LongLong型で済むなら配列はいりませんし

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


そちらは時間があれば勉強してみようかと
ただ、それで実装すると引き継ぐときに後の人が大変そうですが
デフォルトの名無しさん [sage] 2019/02/01(金) 02:51:10.44:Jdk/7rOF
100桁ぐらいなら、Ruby でも演算できる
デフォルトの名無しさん [sage] 2019/02/01(金) 03:10:10.30:HKJPuzL8

あまりに馬鹿過ぎて話しにならん
どうして馬鹿と言われるか理解できるか?
デフォルトの名無しさん [sage] 2019/02/01(金) 04:03:45.69:bJm3iiDn

初回起動で設定しても元のブックをコピーし直せば何度でも使える
何の条件で期間指定したいのかわからないけど
パソコン限定ならレジストリでも使うのかな
デフォルトの名無しさん [sage] 2019/02/01(金) 07:03:41.22:gp0X8o+d

言語の動作もわかっていないこんな奴に依頼するなんて。頼む方も頼む方。
デフォルトの名無しさん [sage] 2019/02/01(金) 07:18:07.26:76fUr+Yk
Excel VBAの質問スレだろ
質問も回答もする気無いならスルー出来んのか?
デフォルトの名無しさん [] 2019/02/01(金) 07:44:04.79:eMw5OSNU
答えられない質問はとりあえず馬鹿にして勢いで乗り切る方針のプロさんw
バカwww
デフォルトの名無しさん [sage] 2019/02/01(金) 08:37:10.62:UEAxmDKm
ComboBoxで↓を押して表示されるリストの行数は固定でしょうか?
表示行数を増やす方法がありましたら、ご教授ください

よろしくお願いします
デフォルトの名無しさん [sage] 2019/02/01(金) 08:51:37.94:76fUr+Yk

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


ゲラゲラゲラゲラゲラゲラ
デフォルトの名無しさん [sage] 2019/02/01(金) 10:50:03.45:3Ud/K8J0

計算するライブラリーが有るってことじゃないの
Rubyしらんが
デフォルトの名無しさん [sage] 2019/02/01(金) 10:54:24.80:rRNrmt+/

VBAはレガシー扱いだからMSのポリシー的に積極的な機能追加は不可
ちなみにVB.NETのWindowsフォームも既にレガシーで開発終了してる
デフォルトの名無しさん [sage] 2019/02/01(金) 10:55:12.36:3Ud/K8J0

計算できるライブラリーがあるだけじゃないの
どんな言語でも、4則演算程度なら作れるだろ
デフォルトの名無しさん [sage] 2019/02/01(金) 10:56:26.07:wTTD69jh
VBAだって超多倍長演算ライブラリぐらいネットに転がってんじゃない?
ちなLongLongで扱えるのは18桁まで、乗除算でオーバーフローを起こさないようにするなら半分以下の桁で使うのが無難
デフォルトの名無しさん [sage] 2019/02/01(金) 10:57:36.71:3Ud/K8J0
すまん、ダブって書き込みしても〜た
デフォルトの名無しさん [] 2019/02/01(金) 15:50:46.63:eD54qyaY
VBAなんて低級言語を真剣にやってるバカ
言い訳は色々あるんだろうけどそろそろちゃんとしたのを覚える時期だよ
デフォルトの名無しさん [sage] 2019/02/01(金) 16:15:57.80:9mJigrZN

心が病んでるな、かわいそうに。
デフォルトの名無しさん [sage] 2019/02/01(金) 17:19:33.59:oMFegD+z
低級言語・高級言語の意味すら分かってないのって
かわいいな
デフォルトの名無しさん [sage] 2019/02/01(金) 18:56:31.92:dMBA0PwK
もしレベル的な意味合いで貶すなら下級または低俗じゃないかな
低級だと金額的な意味合いだからオフィス製品みたいな安い言語使いやがって、という意味か
高い開発言語ってなんだろ
デフォルトの名無しさん [sage] 2019/02/01(金) 19:14:07.93:OpRhgdeW

お前の馬鹿頭ではアセンブラは何言語になっているんだ?
デフォルトの名無しさん [sage] 2019/02/01(金) 19:21:01.59:69So7CMb
どんな状況で100桁の計算が必要なんだよwwwwww
弾道計算でもするのかよwwwwww

どうしても必要だとして、
16777216を、256×256×256で表現するRGBみたいに、
分離して計算できないの?
デフォルトの名無しさん [sage] 2019/02/01(金) 19:48:56.75:oMFegD+z
桁数じゃあなくて精度の問題だろ
何桁精度が必要か
全部なら分けて計算するんだろ
整数限定かよ
デフォルトの名無しさん [sage] 2019/02/01(金) 20:43:56.48:ldeBmXAI

Mid関数がString型の限界である20 億文字(桁)まで対応出来るようなので、限界まで判定可能です。
実際に試そうと思ったのですが、1000万桁あたりからエラーは起きないものの処理が終わる気配がありませんでした。
また、311桁目から判定がFalseとなり正常に判定できませんので注意してください。
デフォルトの名無しさん [] 2019/02/01(金) 21:29:30.54:6BaLLxbK

腹筋イタイwww
デフォルトの名無しさん [sage] 2019/02/01(金) 21:35:52.61:yy1ts1sJ

>低級だと金額的な意味合いだから
は?????????
デフォルトの名無しさん [] 2019/02/01(金) 23:01:14.33:UXXgl86T

中学生かそれ以下の質問だな
デフォルトの名無しさん [] 2019/02/01(金) 23:02:01.30:UXXgl86T

64kbの壁でぐぐれ
デフォルトの名無しさん [sage] 2019/02/02(土) 02:17:14.50:nzR6xkI9

こんな馬鹿に人月とかで請求されたらブチ切れる
馬鹿だから時間を食うだけだろ
デフォルトの名無しさん [sage] 2019/02/02(土) 03:55:47.52:XBSRuYVd
機械よりか人間よりかで低いか高いか
デフォルトの名無しさん [sage] 2019/02/02(土) 06:09:03.94:jIzNjlQE
>743
何桁通るかは別として、IsNumericって例えば"1.2e3"とか"\30"とかでもTrue返すんだけど、それはいいの?
デフォルトの名無しさん [sage] 2019/02/02(土) 09:04:05.51:jIzNjlQE
あと"&hDEADBEEF"とか"&o77"とか
ついでに全角/半角が混在しててもTrueだし、文字列の前後にスペースタブ改行なんかが入っててもTrueだね
デフォルトの名無しさん [sage] 2019/02/02(土) 11:42:55.97:QW9QiURg
declareのシグニチャー間違えたらフリーズするんだけどdllから型情報取れないの?????
デフォルトの名無しさん [sage] 2019/02/02(土) 13:15:40.31:C6ef9W0S

調べりゃ出てくるんだからそんな面倒なことしなくてもよくね?
デフォルトの名無しさん [sage] 2019/02/02(土) 19:22:50.38:VsnxbMPu
そんなに桁数使うことあるの?
桁数ならアセンブラなら言語的な制限がないから
C++のインラインアセンブラで作ってDLL化しておけばいいんじゃない?
ま、あまり桁数が多い場合は外に出しても数字として扱えないだろうから
文字列として扱うしかないけど
デフォルトの名無しさん [sage] 2019/02/02(土) 20:08:24.01:mZCa7M9L

アホか
CPUがネイティブで扱える桁数は決まっている
デフォルトの名無しさん [sage] 2019/02/02(土) 21:45:51.31:l+0aiRcv
8bitCPUがネイティブで扱える電卓は決まっている
デフォルトの名無しさん [sage] 2019/02/02(土) 22:18:38.36:Ep74GMaU
昔々、256桁の四則演算ルーチン組んだことある。アセンブラで。
今なら VBAでも同じくらいの速度で動くんだろうな…
デフォルトの名無しさん [sage] 2019/02/02(土) 22:40:50.50:nzR6xkI9
このスレで質問する薄ら馬鹿に匹敵する馬鹿ばっか
Python3使えよというまともな提案が未だなし
デフォルトの名無しさん [sage] 2019/02/02(土) 22:57:11.62:IQGxMEya
801<カマッテー、カマッテー、ボクチャンヲ カマッテー
デフォルトの名無しさん [sage] 2019/02/02(土) 23:30:42.83:32vETS5N
シート1をアクティブにしてWEBクエリで取り込んだあとReplaceで置換したいのですが
うまくいきません。なぜかF8でステップ実行したらできるのですが、普通に実行すると置換されません。
何がいけないんでしょうか。
デフォルトの名無しさん [sage] 2019/02/03(日) 00:12:07.90:1X9tFGjy

アホか桁繰り上げ繰り下げのフラグを知らんのか?
むかーしのZ80や6502だってメモリの許す限り
際限なく計算出来るわ
デフォルトの名無しさん [sage] 2019/02/03(日) 00:35:40.02:1X9tFGjy
そもそもそう言った計算方法を
知らなかったとしても
8bitや16bitしか演算に扱えなかった時代に
テレビゲームとかで255や65535を超える
スコアが表示されていたことを思い出せば
普通は人をアホ呼ばわりすることを
書き込む前に気付きそうなもんだけどな
デフォルトの名無しさん [sage] 2019/02/03(日) 06:14:34.05:eVzJd4zP
そういう処理をアセンブラでしかできないと思ってるからアホだって言われるんだよ
デフォルトの名無しさん [sage] 2019/02/03(日) 06:43:05.61:Q6V8DKqV
多少非効率になるけどたいていの言語で多倍長演算はできる
なので
> 桁数ならアセンブラなら言語的な制限がないから
とか意味わからん、って話だろ
デフォルトの名無しさん [sage] 2019/02/03(日) 06:57:12.02:1X9tFGjy

いやはあからさまに
「CPUがネイティブで扱える桁数は決まっている」からって言ってるんだが?

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

もっとも、桁数制限のない計算を
もっと効率よくVBAで使用する方法が
あるのであればそれはそれで聞いてみたいけど
デフォルトの名無しさん [sage] 2019/02/03(日) 07:06:03.78:1X9tFGjy

効率を考えなければ別にC++の時点で出来るんだよ
なんでC++からインラインアセンブラを
使用するような話をしていると思う?
デフォルトの名無しさん [sage] 2019/02/03(日) 07:34:17.85:Q6V8DKqV

を見てからレスしなよ…
デフォルトの名無しさん [sage] 2019/02/03(日) 08:52:19.94:kk/DtOkp

まあ、単位が100点だと、後ろの00は飾りだと思うけどな。
デフォルトの名無しさん [sage] 2019/02/03(日) 09:10:44.36:eVzJd4zP

なに効率とか後付けしてんだアホ

あと「コンパイラのインストールをセキュリティポリシーで禁止されている」って書いてあるのを読めてないのもアホ
デフォルトの名無しさん [] 2019/02/03(日) 09:36:56.46:C7VVL/VH
ゼビウス1000万点超えは9999990で表示が止まるがゲーム続行
デフォルトの名無しさん [sage] 2019/02/03(日) 09:40:40.04:J1QLe6/n
足し算ならExcelでも実用レベルで作れるわ
デフォルトの名無しさん [sage] 2019/02/03(日) 10:00:11.19:tEc8TngX

> あと「コンパイラのインストールをセキュリティポリシーで禁止されている」って書いてあるのを読めてないのもアホ
今時C#とかVB.NETのコンパイラなんてインストールいらんぞ
情弱なのかXPでドヤってるのかは知らんけどw
デフォルトの名無しさん [sage] 2019/02/03(日) 10:19:47.32:vrXjtSxX

今のWindowsはインストールしなくてもC#コンパイラが最初から入ってる
デフォルトの名無しさん [sage] 2019/02/03(日) 10:39:36.74:eVzJd4zP
誰がC#とかVBの話してんだよアホども
デフォルトの名無しさん [sage] 2019/02/03(日) 11:12:27.82:tEc8TngX

コンパイラの話な
恥ずかしいからもう出てくんなw
デフォルトの名無しさん [] 2019/02/03(日) 11:42:00.66:o6ig8vkN
←恥を知らないプロさんwww
デフォルトの名無しさん [sage] 2019/02/03(日) 12:05:01.97:Q6V8DKqV
ダサw
デフォルトの名無しさん [sage] 2019/02/03(日) 15:02:23.40:kTgfWuu8

日本語に不自由か真性のバカ発見
デフォルトの名無しさん [sage] 2019/02/03(日) 15:51:29.62:xJhhUajw
html?のようなパラメーターのあるURLから ActiveSheet.QueryTables.Add を使って
WEBクエリで取り込むにはどうすればいいでしょうか?
一部変数を使うのですが文字列を結合するやり方ではうまくいきません。
デフォルトの名無しさん [sage] 2019/02/03(日) 16:02:39.05:vrXjtSxX

認証やクッキーが必要か、URLが間違ってるか、エンコードが必要か、原因は色々考えられる
デフォルトの名無しさん [] 2019/02/03(日) 22:56:23.72:xJhhUajw

エンコードが原因みたいです。
&や=は使えないのですね。
返信ありがとうございました。
デフォルトの名無しさん [] 2019/02/03(日) 23:53:48.67:OgrV47La
以下のアプリを作って欲しい

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

文字のデータベースは、同ブック内の別シートにて管理するものとする。
デフォルトの名無しさん [sage] 2019/02/03(日) 23:59:07.80:I0mCFuyH

死ね
デフォルトの名無しさん [] 2019/02/04(月) 03:07:11.70:ZoDPv0KA

ExcelとかVBAじゃなくていいなら作るけど
デフォルトの名無しさん [sage] 2019/02/04(月) 06:46:04.48:d8a/a/xM

作るのは他の要件が有るだろうから他の人に
Excelのシートから枠線を消して全画面表示
ランダムに出す文字はワードアートを挿入したり
消すだけでいいだろ
デフォルトの名無しさん [sage] 2019/02/04(月) 07:25:45.63:d8a/a/xM

>&や=は使えないのですね。
エンコードでは使えるだろ、デコードはデコードする
文字の法則があるけど
ちなみに、エンコードやデコードは必要なの?
デフォルトの名無しさん [sage] 2019/02/04(月) 07:29:54.23:d8a/a/xM
このスレもワッチョイ入れたら?
デフォルトの名無しさん [] 2019/02/04(月) 08:04:31.54:q/1gUcq+

じゃあ、Androidアプリでいいから、つくってフリーでGoogleストアにだせる?
デフォルトの名無しさん [sage] 2019/02/04(月) 08:24:31.69:zwEJkqhi
ルパン三世?
デフォルトの名無しさん [sage] 2019/02/04(月) 09:55:11.03:fGXzCPh9

Androidアプリ関係ないだろ
VB C#なんかでCVS形式などでパラメーターで受けて表示するプログラムなら簡単に作れるってことだろ
デフォルトの名無しさん [sage] 2019/02/04(月) 10:53:03.12:Kbv/gmVc
フラッシュ暗算みたいなやつか?
デフォルトの名無しさん [] 2019/02/04(月) 12:14:30.52:q/1gUcq+

イエス。言語を選ばないとやっぱり難しい?
デフォルトの名無しさん [sage] 2019/02/04(月) 12:40:18.01:OuHrukdw

別にVBAでも簡単だと思うけど作成依頼だったら費用が発生するのが普通だと思うんだが。

0.05秒ってのがどうかだね。
デフォルトの名無しさん [] 2019/02/04(月) 12:58:23.32:+5141PVg
費用が発生しとる作成依頼なんか見たことないわw
何を言っとるんやこのバカw
デフォルトの名無しさん [sage] 2019/02/04(月) 13:05:48.06:aEyGOWy8

死ねよ
デフォルトの名無しさん [sage] 2019/02/04(月) 14:32:52.57:d8a/a/xM

別に難しくない
0.05秒を気にしている人もいるが、正確な時間を取得することは出来る
ワードアートの作成・削除の時間を気にしているなら、表示・非表示の切り替えで
対応すればよいだけ
全画面表示・タイトルバー・スクロールバー・シートタブの非表示
ボーダーも0に設定すれば良いだけ
デフォルトの名無しさん [sage] 2019/02/04(月) 14:47:47.78:Mgc+6WQD
取得できても(人間の反応速度と比較して無視できる程度の誤差で)正確に表示するのはExcelでは厳しいでしょ
ちらつきまくるよ
デフォルトの名無しさん [sage] 2019/02/04(月) 15:08:11.96:d8a/a/xM
まあ、出来ない人間には出来ないだけ、書き込む必要もないのに
やり方なんていくらでもある
デフォルトの名無しさん [sage] 2019/02/04(月) 17:01:02.28:fGXzCPh9
細かいこといわなければパワポでVBAで十分だろ
デフォルトの名無しさん [sage] 2019/02/04(月) 18:26:41.76:OuHrukdw

やってから言ってんの?
俺はまだ、やってないから気にしただけなんだが。

ちなみに、俺はVBAのUserFormもシートも使うつもりは無い。
スピードも速いとは思うが、何ぶん計測したことは無いからね。
デフォルトの名無しさん [sage] 2019/02/04(月) 18:38:32.34:OuHrukdw

自分は何もせずに依頼すれば出てくるというのは虫が良いだろという意味なんだが。
デフォルトの名無しさん [sage] 2019/02/04(月) 18:51:55.31:VG0XR/Gw
でも結局誰も作ってなくて草
デフォルトの名無しさん [sage] 2019/02/04(月) 18:53:45.79:fefAq5Di
まあ 出来の悪い奴は文句も多いからな
デフォルトの名無しさん [sage] 2019/02/04(月) 19:28:29.36:iZ37iel0
CSS アニメで作れば?
デフォルトの名無しさん [] 2019/02/04(月) 19:59:53.09:q/1gUcq+

1に作成依頼受け付けますと書いてあったから期待して依頼したが、馬鹿を見たよ
デフォルトの名無しさん [sage] 2019/02/04(月) 20:02:20.97:aEyGOWy8

じゃあ、
「ExcelのVBAに関する質問スレです」も守れや。死ねよ。
デフォルトの名無しさん [] 2019/02/04(月) 20:08:32.00:5NG821Xc

分かったよ
受けるよ
デフォルトの名無しさん [sage] 2019/02/04(月) 20:19:41.54:R+dJYoTm
vbaやってるサラリーって何故かマッチョ多くね?
デフォルトの名無しさん [sage] 2019/02/04(月) 20:54:17.47:VG0XR/Gw

ttp://https://www.axfc.net/u/3957636
初学者が作ってやったぞwほらよw
まぁもっと良いのが作ってくれるやろw
デフォルトの名無しさん [sage] 2019/02/04(月) 22:43:34.77:lmibofpe
エディタは別のを使わずに備え付けのものを使いますか?
デフォルトの名無しさん [sage] 2019/02/04(月) 22:52:12.63:WAN0VVnl
高速でシートを切り替えるとか、
ふざけるのかと思ったら、結構真面目に作っててワロタ。
デフォルトの名無しさん [sage] 2019/02/05(火) 08:19:52.51:8bHFC9p3

後で見てみるけど、仕様になかったインターバルの時間とか可変で設定できる?
デフォルトの名無しさん [sage] 2019/02/05(火) 08:25:47.35:Bt9udYT0
フラッシュ暗算て何?
てっきりルパン三世だと思ったんだが
デフォルトの名無しさん [sage] 2019/02/05(火) 09:46:15.11:seWX9f2k

画面に数字が次々に出て暗算で合計を求めるやつ
ttp://https://www.youtube.com/watch?v=wTkVZne-i2g
デフォルトの名無しさん [sage] 2019/02/05(火) 10:20:39.56:Kjw5jSR6

まあ、これが評価できる最低限の仕様だな
デフォルトの名無しさん [sage] 2019/02/05(火) 10:22:40.38:Kjw5jSR6
ちゃんとしたのを、が作ってくれるやろ
ことを期待しよう
828 [sage] 2019/02/05(火) 11:08:12.53:Kjw5jSR6
 デフォルトの名無しさん2019/02/04(月) 06:46:04.48ID:d8a/a/xM

> 作るのは他の要件が有るだろうから他の人に
> Excelのシートから枠線を消して全画面表示
> ランダムに出す文字はワードアートを挿入したり
> 消すだけでいいだろ
最低限でもこの程度のことやれよっと、ワードアートの動作速度が問題なら全て作成してから
表示非表示を切り替えるだけだよっと
デフォルトの名無しさん [sage] 2019/02/05(火) 11:15:39.50:seWX9f2k
 
↑これで骨組みは十分だろ
デフォルトの名無しさん [sage] 2019/02/05(火) 11:22:46.31:Kjw5jSR6

こんなの客に提示するとすぐ帰っていくよ
イメージが違い過ぎる
デフォルトの名無しさん [sage] 2019/02/05(火) 11:25:28.34:Kjw5jSR6
行間を読めない奴はいつまでたってもろくなもの作れないんだよ
おれは、年取ったから行間いっぱいある奴は遠慮するけどな
デフォルトの名無しさん [sage] 2019/02/05(火) 11:53:42.93:Kjw5jSR6
ちゃんとしたのを、が作ってくれるやろ
ことを期待しよう。
デフォルトの名無しさん [] 2019/02/05(火) 12:15:44.59:jg7BNmXb
なんやバカ必死やなw
デフォルトの名無しさん [sage] 2019/02/05(火) 12:19:32.33:8bHFC9p3

面白いな何で草はえるの
デフォルトの名無しさん [sage] 2019/02/05(火) 12:32:36.37:Kjw5jSR6

ちみぐらいバカをからかうのって私の趣味ではありません
あわれ過ぎるから
デフォルトの名無しさん [] 2019/02/05(火) 12:53:49.77:jg7BNmXb
加速するバカw
852 [sage] 2019/02/05(火) 12:54:18.46:uJYvVabq
の要素を気持ち取り入れてみたよ
あとはもうシラネ
ttp://https://www.axfc.net/u/3957750
852 [sage] 2019/02/05(火) 13:02:38.95:uJYvVabq
間違えた。こっちで
ttp://https://www.axfc.net/u/3957753
デフォルトの名無しさん [sage] 2019/02/05(火) 13:05:08.57:Kjw5jSR6

知らねえと言われても

ファイルが見つかりません
既にファイルが削除されたか、期限切れになったか、ダウンロード上限数に達した、若しくは誤ったURLが指定されています。
再度ご確認下さいますようお願い致します。
デフォルトの名無しさん [sage] 2019/02/05(火) 15:50:53.68:Kjw5jSR6

今さっき起きた。
ソースを1分程度見たけど、毛が1本生えただけだろ
オリジナル性もない、引かれている部分もありで
評価はマイナスだな、マクロを動かす気にもならん
デフォルトの名無しさん [sage] 2019/02/05(火) 16:03:55.64:Kjw5jSR6

ホントなんだよ、この映像少なくとも全画面表示で
他の表示はテスト中いらないは
結果は、答え合わせでちゃんと出るようにな
問題作成だって、何の機能もないって考えてないだろ
指定した桁数で数字を作成しろよ・・・こんなの仕様の内の一寸な
デフォルトの名無しさん [sage] 2019/02/05(火) 16:18:43.72:Kjw5jSR6

テストしないのは申し訳ないと思ってもう一度20秒ぐらい見た
あまりにごみで、テストしてない
デフォルトの名無しさん [] 2019/02/05(火) 20:09:31.48:2313QgIt
必死すぎてアンタッチャブルのバカw
デフォルトの名無しさん [sage] 2019/02/05(火) 20:30:50.84:seWX9f2k
金もらえるならきちんと作るだろうけど金出さないんでしょ?
デフォルトの名無しさん [sage] 2019/02/05(火) 21:01:45.45:WLSIITfa
きちっとって このレベルを100倍してもくずはくずだな
デフォルトの名無しさん [sage] 2019/02/05(火) 21:13:23.45:seWX9f2k
ただでもらったものにケチつけるって人間としてクズだな
デフォルトの名無しさん [sage] 2019/02/05(火) 21:45:13.17:84y7DIGj
なんかつらいことがあったんでしょ
そっとしといてあげなさい
852 [sage] 2019/02/05(火) 23:50:58.70:uJYvVabq
ユーザーフォームに変えてみた
あと少し機能を足してみた
ttp://https://www.axfc.net/u/3957855
デフォルトの名無しさん [sage] 2019/02/06(水) 00:44:18.42:ZnA/X3oO
A B
1 あ
2 い
1 か
2 き
3 く
1 さ
1 た
2 ち

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

あい
かきく

たち

とするにはどうすればいいですか?
デフォルトの名無しさん [sage] 2019/02/06(水) 01:00:17.91:Piy/PJ2X

死ねばいいよ
デフォルトの名無しさん [sage] 2019/02/06(水) 05:43:02.95:DSThmZXP
死ねばいいよ
デフォルトの名無しさん [sage] 2019/02/06(水) 10:06:21.68:pkuTd0pW

関数で直接は難しいけどVBAでやるなら簡単だろ
ただそれもわからない人間に提示しても無駄だな
デフォルトの名無しさん [sage] 2019/02/06(水) 10:48:09.84:pkuTd0pW

マクロを実行してみた、君は自分で考えてるんで良いと思う
1.出力する問題は固定ではなく文字とか長い数字もいらない
  桁数(上限・下限)を指定してランダムに数値を発生すること
  フラッシュ暗算を考えると余分な機能はいらない
2.バックを全画面表示にすること
  もちろん、画面の中央に表示する、画面の大きさから割合で文字の大きさを指定する
3.タイミングをmsで指定指定しているが
  ディスプレーって最大解像度ではリフレッシュレート60hz(16.6msおき)程度なんだよ
  ディスプレーの反応速度も早くて5msかかる、10ms単位で十分だが、好みはある
4.答えの表示がチェックだが
  要するに終わった後、計算が合ってるかを確認するんだから
  終了後に特定のキーを押したら答えを出すでいいだろ
ざっくり、大きく気になった点だけ、やり方は分からなければ聞け
デフォルトの名無しさん [sage] 2019/02/06(水) 10:57:13.19:pkuTd0pW
全画面表示は数字表示部をユーザーフォーム(全画面)で表示文字をVBAで切り替えたほうが簡単だな
デフォルトの名無しさん [sage] 2019/02/06(水) 11:03:53.28:inxqkSwn
上司気取りの人が上から目線でダメだしし出したけどこの人どんだけ偉いの?
まさか感謝でもしてもらえるとか妄想してんのかな
デフォルトの名無しさん [sage] 2019/02/06(水) 11:26:06.43:pkuTd0pW

で、君にはどんなダメ出しが欲しいんだ?
デフォルトの名無しさん [sage] 2019/02/06(水) 11:34:27.39:pkuTd0pW
まあ、自分で作って「フラッシュ暗算」で面白いものを作ってみろよ
自分で満足できないものは、他人は評価しないよ
デフォルトの名無しさん [] 2019/02/06(水) 12:26:19.63:FGND1cQA
おいwこのバカ必死すぎてダメ出しとかしだしたでw
デフォルトの名無しさん [] 2019/02/06(水) 12:43:34.25:eyuAOAwV

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

答えやアドバイスをしないでマウントしてくるやつは結局何も出来ないやつと同じなので放置で。
デフォルトの名無しさん [] 2019/02/06(水) 12:45:00.03:eyuAOAwV
あ、質問の意味まちがえてたw
デフォルトの名無しさん [sage] 2019/02/06(水) 12:50:23.01:oteDmMe3

だよね
ひらがなのあ行か行…で括るっぽいし
2行目の2と4行目の2が紐づく1が違うから考えれば出来そうだけど面倒そう
デフォルトの名無しさん [sage] 2019/02/06(水) 12:56:44.95:pkuTd0pW

え、どんだけ
デフォルトの名無しさん [sage] 2019/02/06(水) 12:58:37.07:pkuTd0pW
バカって、すぐ熱くなるよな、面白いけど
デフォルトの名無しさん [] 2019/02/06(水) 13:07:21.25: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
デフォルトの名無しさん [sage] 2019/02/06(水) 13:15:51.19:pkuTd0pW

>これでどうや!w
何に対して言ってるのかな?。なんだろう?こんなの提示して?
よくわからんな
デフォルトの名無しさん [] 2019/02/06(水) 13:22:01.82:eyuAOAwV

ばっかだなぁ、881に対していってんだろw
つかお前マウントとることしかしないASDのザコという認識だから何も求めてない。レスいらない。
するならちゃんと自分で作ったものを提示してからだ。できたらあやまる。
デフォルトの名無しさん [sage] 2019/02/06(水) 13:25:32.81:pkuTd0pW
例えば
「Do While Range("A1").End(xlDown).Row >= i 」
こんなの"A1"と変数jとiが同期できていないことでプログラムじゃないよ
デフォルトの名無しさん [sage] 2019/02/06(水) 13:27:12.93:pkuTd0pW

うふ〜面白いな
デフォルトの名無しさん [sage] 2019/02/06(水) 13:30:48.46:pkuTd0pW

からかうしかないけど、って何か意味あるんか?
バカって面白いな
デフォルトの名無しさん [sage] 2019/02/06(水) 13:34:49.77:pkuTd0pW

頭悪いのに大変だな
デフォルトの名無しさん [] 2019/02/06(水) 13:37:03.76:eyuAOAwV

いや、そうじゃなくってよ。

俺はプロじゃないから変なことしてるかもしれない。いやあるだろう。
そいでお前は凄いのかもしれないけど結局何も作ってないわけだろ?
それって何も出来ないのと同じなんだから偉そうにするなって言いたいの。
お前さ、俺の言っている意味解ってる?
デフォルトの名無しさん [sage] 2019/02/06(水) 13:41:27.75:pkuTd0pW

無能が無能に教える意味あるか、無能が威張る意味あるか?
役に立つってなんだよ?
お前の満足は何だよ、作ったってことか?
デフォルトの名無しさん [] 2019/02/06(水) 13:43:57.13:eyuAOAwV

ん?お前無能なの?無能なのに威張ってるの?ダメじゃん。
役に立つって何?満足って何ってどういう意味?
俺はそんなこと書いてないけどそれはどこから出てきたんだ?
お前ののーみそか?
デフォルトの名無しさん [sage] 2019/02/06(水) 13:44:16.40:pkuTd0pW
おれがこのスレで作っても意味ないからな質問スレだ答えるだけ
デフォルトの名無しさん [] 2019/02/06(水) 13:53:46.56:eyuAOAwV
ああ、そういうことか。
質問には答えるけど代りにお前が作ることはないって意味でいいのか?
それがお前のポリシーなら俺はお前に口はさまないよ。
偉そうにされて終わるだけみたいだからお前には質問もしたくないけどな。

質問してるやつはいろいろ試して困ってるんだろ?
俺は動くもの見せて、あとは自分で工夫するなりなんなりした方が良いと思ってる。
だって、具体的なほうが解りやすいじゃん。
それに対してお前がどうこう言うことはないだろ?俺はお前に何も聞いてないんだから。
デフォルトの名無しさん [sage] 2019/02/06(水) 13:57:29.30:pkuTd0pW

まあ、補足すると具体的なものを使えるのは少し考えたやつ
考えない奴は応用できない、だから答えではなくヒントなんだがな
デフォルトの名無しさん [] 2019/02/06(水) 14:10:39.95:eyuAOAwV

うーん、辞書がわりに次々聞かれても結局俺が作ってるかいー!
みたいになりそうで確かに嫌だな。
ただお前凄そうなんだからそんくらいしてやってもバチあたらんべ。
あ、そこらへんは俺が口はさむことじゃないな、すまん。でももったいないわーほんまに。
俺は基本は自分で調べるから聞くことってほとんどないけど
本当に困っててもまともな返答来なさそうでここで聞けないからさらに困ることあるもん。
お前に言ってるわけじゃないけどライトユーザーからしたら雰囲気怖いよここ。
デフォルトの名無しさん [sage] 2019/02/06(水) 14:12:54.78:pkuTd0pW

お前、ちゃんと満足いくもの作ってみろ
やめるのは簡単だまんぞくできるレベルもお前しだい
おれは、ダメ出しはしてやるよ、ダメな点は数多いがプライオリティは下がっている
デフォルトの名無しさん [sage] 2019/02/06(水) 14:32:47.81:sQxfU38+
>おれがこのスレで作っても意味ない
も同様だな
デフォルトの名無しさん [sage] 2019/02/06(水) 14:35:44.06:pkuTd0pW

別にそれでいいが♡♡♡
デフォルトの名無しさん [sage] 2019/02/06(水) 14:38:23.25:sQxfU38+
次の質問どうぞ
デフォルトの名無しさん [sage] 2019/02/06(水) 14:45:26.84:Piy/PJ2X
頭が悪いのが丸わかりな次の質問どうぞ
デフォルトの名無しさん [sage] 2019/02/06(水) 14:48:20.14:54X0jJM7
マウントしたがりのバカしか居ないスレですけど、それでもよかったら質問をどうぞ
デフォルトの名無しさん [sage] 2019/02/06(水) 23:06:50.96:pkC1NeiE
パラパラ漫画作って、動画に撮って再生すればいいんじゃね?
852 [sage] 2019/02/06(水) 23:08:35.09:gXPhlUR0
作ってるうちに楽しくなってつい作りこんでしまいました
ttp://https://www.axfc.net/u/3958012
変更点
・ランダム表示
・乱数生成
・(ほぼ)フルスクリーンモード(1920x1080、1600x900、1280x720、800x600の4種類の画面に対応)
・ユーザーインターフェースの強化
・デバッグを少々

最初に作ってほしいといっていた人の要望にかなってるかが心配
デフォルトの名無しさん [sage] 2019/02/06(水) 23:27:15.81:pkC1NeiE
フルスクリーンならDirectXだろ、と思ったら、
Windows10だと色々面倒なのな。
852 [sage] 2019/02/06(水) 23:33:49.56:gXPhlUR0
いえ、知識がないだけです
デフォルトの名無しさん [sage] 2019/02/07(木) 00:04:38.13:o0PdMVgb
Excelの起動画面、ドラクエでエンカウントしたみたいな感じにできないかな。
緑画面に白文字でExcelって、ちょっと地味じゃない?
デフォルトの名無しさん [sage] 2019/02/07(木) 00:55:54.67:XTuXysWv
ID:pkuTd0pWだけど
やっぱり午前中はましだが午後は酒がだいぶ効いて
すまんな
まあ文字結合のお題はExcelの問題をコピペしたものだろう
これ関数とExcelの機能を使って解いた方が面白い
デフォルトの名無しさん [sage] 2019/02/07(木) 01:10:49.40:XTuXysWv

中身を見ていないが
ディスプレイの解像度を取得する(API)
ttp://https://www.moug.net/tech/acvba/0020006.html
デフォルトの名無しさん [sage] 2019/02/07(木) 01:15:55.77:XTuXysWv

cを作業列にして
結果をピボットテーブルを使って表示
デフォルトの名無しさん [sage] 2019/02/07(木) 06:41:43.06:C6bM/gU/
質問です

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

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

どのようなロジックを組めば宜しいでしょうか?
デフォルトの名無しさん [sage] 2019/02/07(木) 07:17:58.06:sLOxqlfO

まず動作仕様を決める
1,指定の仕方をどうするか クリック Or 別セルで指定
2,複数回線を引くのか 取り消しは同じ指定で取り消すのか
3,クロスしたセルの色は
4,線の色はどの様に指定するのか
5,全てクリアーする処理は必要か?
デフォルトの名無しさん [sage] 2019/02/07(木) 07:27:46.12:sLOxqlfO

セルの色の指定方法は、マクロの記録でセルの色を変えて、マクロの記録の終了で確認してください
デフォルトの名無しさん [sage] 2019/02/07(木) 08:42:01.81:94HRw/Ac

何に使うのかが謎だ。
絵でも描くのかな?
デフォルトの名無しさん [sage] 2019/02/07(木) 08:46:47.16:C6bM/gU/

返答ありがとうございます
特にトリガーは定めていませんし
複数回引くことも考慮しなくていいです
こちらとしては
「二つのセル間にセルで線を引くこと」の
実際にどのセルが着色対象となるのかが
求められるロジックが必要となっています


ありがとうございます
ただ、上記しました通り
着色自体が焦点ではなく
どのセルが着色対象となるのかを
求めることができればなぁと考えています
デフォルトの名無しさん [sage] 2019/02/07(木) 09:04:22.19:sLOxqlfO

セルの位置情報から列の差が大きいか行の差が大きいかでループする側を決定します
ループする側は1増えるいく
その数に小さい側を大きい側で割って少数側を四捨五入したものが小さい側の増分でいいでしょう
デフォルトの名無しさん [sage] 2019/02/07(木) 09:09:14.04:sLOxqlfO
追記 ループ変数は0から差分まで
列ぎょうとも 初期値に増分を足していく
デフォルトの名無しさん [sage] 2019/02/07(木) 09:45:06.58:aUTfkvT8
列幅、行幅ともにまちまちだと考えるとマジメに座表計算がいりそうだ
デフォルトの名無しさん [sage] 2019/02/07(木) 10:25:13.14:nA5U51xW

セル単位での指定だから、幅は関係ない
デフォルトの名無しさん [sage] 2019/02/07(木) 10:30:41.24:nA5U51xW

すまん、関係あるなそれをかんがえると確かに難しいが
実質的にその構造で線を引く意味あるのかな?
デフォルトの名無しさん [sage] 2019/02/07(木) 11:11:43.55:nA5U51xW

この感覚だと、遠いな
デフォルトの名無しさん [sage] 2019/02/07(木) 11:16:37.25:nA5U51xW

所詮線はシェイプで引けばいいだけだからな
セルの色を変えることにどんな意味があるかが問題
デフォルトの名無しさん [sage] 2019/02/07(木) 11:38:14.89:aUTfkvT8

セルにシェイプが掛かっているかはすぐ判定できるんだっけ?
できるならまあ簡単かな
デフォルトの名無しさん [sage] 2019/02/07(木) 11:59:06.94:nA5U51xW

セルの色を変える仕様が実質的に意味あるかが疑問なだけ
意味ないもの検討する必要ないからな
デフォルトの名無しさん [sage] 2019/02/07(木) 12:08:17.49:nA5U51xW
まあ、意味あることならいくらでも方法がある(各行列のプロパティから幅なんて取れるからな)けど
お題が意味ないこと検討する必要もない
デフォルトの名無しさん [sage] 2019/02/07(木) 13:37:49.53:JiT+m3d9
数学的な問題でVBA関係ないんじゃね
デフォルトの名無しさん [sage] 2019/02/07(木) 14:00:56.39:C6bM/gU/
皆さんありがとうございます
セルで線を引く質問をした者です

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

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

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

タイトル名で判定するのはスマートじゃないと思って
セルや変数の仕様を使って上手くできないでしょうか
デフォルトの名無しさん [sage] 2019/02/07(木) 17:12:43.16:suQqSSWO
セルの書式を1つずつチェックするのが確実
デフォルトの名無しさん [sage] 2019/02/07(木) 17:18:57.62:nA5U51xW

これはVBAの質問ですか?
機能はExcelの質問だよ
デフォルトの名無しさん [sage] 2019/02/07(木) 22:22:10.23:kH7/pekJ
数値カラムの空欄はそのまま空欄で
文字カラムの空欄を長さ0の文字列にしておけばセル参照で
デフォルトの名無しさん [sage] 2019/02/07(木) 23:16:40.13:o0PdMVgb

1が出てくる回数をそのまま行番号に使って、
1・2・3という数字を、そのまま列番号に使う。
デフォルトの名無しさん [sage] 2019/02/07(木) 23:30:09.71:nA5U51xW

それを式で表記すると?
デフォルトの名無しさん [sage] 2019/02/08(金) 00:39:13.26:nir6IlOg
質問です
C言語のFILEポインタをexternしているdllをvbaから呼び出すときにシグニチャーは何型ですか
デフォルトの名無しさん [sage] 2019/02/08(金) 00:50:45.35:WrxcLohJ

ごめん、勘違いしてた。
何とかできたけど、ものすごくダサい。

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で。
デフォルトの名無しさん [sage] 2019/02/08(金) 01:05:57.02:WrxcLohJ
↑ごめん、これもなんかおかしいわ。
デフォルトの名無しさん [] 2019/02/08(金) 04:25:07.76: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を書きたいです。
どうすればよいでしょうか?
デフォルトの名無しさん [sage] 2019/02/08(金) 05:17:51.52:0dQnaPPd

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
デフォルトの名無しさん [sage] 2019/02/08(金) 05:23:12.23:imEPOnT1

tmp = Split(Jusho, " ", 2)
デフォルトの名無しさん [] 2019/02/08(金) 06:20:13.15:Ec5y9MTZ

Instrは検索文字が文字列の左から何文字目にあるかを返すよ
Instr(“東京都 渋谷区 ほげほげ町”, “ ”) は4が返ってくるのでそれでSplitする
ちなみに右から調べるInstrRevもある
デフォルトの名無しさん [] 2019/02/08(金) 06:40:44.15:Ec5y9MTZ

あと検索文字がない場合は0を返すから条件式で使うなら
Instr(Jusyo, “ ”) <> 0 Then にしといた方がいいかも
他の人が見たとき「?」になる
デフォルトの名無しさん [sage] 2019/02/08(金) 07:17:52.94:SOh8GklL

やってみた
結果、E列

あ い 
か き く 
さ た ち 
た ち 

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

あい
かきく

たち
デフォルトの名無しさん [] 2019/02/08(金) 07:21:27.36:SOh8GklL

ここで、ヒントを出してるのに
作業列は1列で十分
デフォルトの名無しさん [sage] 2019/02/08(金) 07:26:35.12:ViZCNFeP
フラッシュ演算のやりとり見てて思ったけど
文字にして答えを文字結合すればアルツハイマーテストに使えるんじゃね?
デフォルトの名無しさん [sage] 2019/02/08(金) 08:20:58.27:SOh8GklL

すまん
無理にピボットテーブルや式でやらず
フィルターで列Aが1を表示でいいな
デフォルトの名無しさん [sage] 2019/02/08(金) 11:14:58.05:SOh8GklL

住所印刷なら、郵便番号が有るだろう
郵便番号の住所変換ルーチンはある
住所は郵便番号と比較すべきで比較してエラーを出すべき
郵便番号に合致する部分を1行目、それ以外を2行目が良いだろ
デフォルトの名無しさん [sage] 2019/02/08(金) 11:46:52.42:SOh8GklL

色々使えるだろうね
文字の表示位置を変えてタッチパネルでやるとか
応用範囲は広いがちゃんと全画面表示や文字の大きさ位
自動でできないとな、今時4Kモニターも出てるし・・・
デフォルトの名無しさん [sage] 2019/02/08(金) 12:00:58.70:CDEogeBV

limitオプションで回答は出てますが、実用的には長い住所の時は複数回改行も有り得るんではないでしょうか
またフォーマットが変わったときに全ての住所録の全角位置を調整するのが大変だと思われます
なので記入者には単純に単語毎にスペースを入れて貰って、適時自然な位置で改行するのはどうでしょうか
デフォルトの名無しさん [] 2019/02/08(金) 12:14:24.08:WyTY+E9f

運用でカバーできたら誰も苦労しないよね
デフォルトの名無しさん [] 2019/02/08(金) 12:19:37.60:jEYFKApV
自然な位置てなんやねん
デフォルトの名無しさん [sage] 2019/02/08(金) 12:29:29.52:CDEogeBV
一行の文字数を決めて、そこからInStrRevで最後のスペース位置を検索してLF挿入です
コード書いたんですが何故かブロックされます・・・
デフォルトの名無しさん [sage] 2019/02/08(金) 12:31:14.56:SOh8GklL
>郵便番号に合致する部分を1行目、それ以外を2行目が良いだろ
2行目があふれても、それは枠内で表示するだけで問題ないだろ
どうせ印刷はWordのあて名書きだろ2行目の表示エリアを広くしておけば問題ない
デフォルトの名無しさん [sage] 2019/02/08(金) 12:35:06.44:CDEogeBV
拙いですが折角書いたのでうpしました
ttp://https://ux.getuploader.com/dialogues_txt/download/129


エクセルだと思うし、表示エリアを広くで済むならそもそも改行不要なのでは・・・ 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
デフォルトの名無しさん [] 2019/02/08(金) 12:59:45.99:WyTY+E9f

普通は郵便番号と住所は別カラムだろ
というか質問者は郵便番号の話してないから
デフォルトの名無しさん [sage] 2019/02/08(金) 13:11:41.88:SOh8GklL

空想の世界で生きるのも人生
実態を考えるのも人生 好きにしてね
ちなみに、午後だからやばいかも
デフォルトの名無しさん [sage] 2019/02/08(金) 13:14:37.20:SOh8GklL

見栄えがあるよな、企業が出すなら
すまないが午後になったのでテストはしてない
デフォルトの名無しさん [] 2019/02/08(金) 13:19:24.26:WyTY+E9f

くっさ
デフォルトの名無しさん [sage] 2019/02/08(金) 15:18:18.79:ZcpxXTEs

うちのシステムだとテキストボックスが既に3つになってて一段目が市区町村まで、二段目が枝番まで、三段目が物件名と部屋番+様方、会社名とかって決まってる。
デフォルトの名無しさん [sage] 2019/02/08(金) 15:20:53.99:SOh8GklL
まあ、なんだな住所を2行にしたいなんてあて名書きだけだろ
それって、Wordのあて名書き印刷ぐらい
で、きれいに住所を分けるのは郵便番号に載っている住所で区切るんだよ
それ以外は長いマンション名あるけど適当に範囲内で打てばいいんだよ
今時郵便番号を管理しない住所録もないだろ
まあ、引きこもりにはわからないかもしれないが
デフォルトの名無しさん [sage] 2019/02/08(金) 15:21:19.17:ZcpxXTEs

追記、登録する人にはこれで宛名出るからって言ってある。
デフォルトの名無しさん [sage] 2019/02/08(金) 15:21:58.27:RRS+yeTf
市区町村の名前のDB作ればいいんじゃね
デフォルトの名無しさん [sage] 2019/02/08(金) 15:29:02.53:SOh8GklL

お前の所への質問じゃないな
あと、分けて入力するフォームも結構あるが
無視されることも多いだろ
気にしているところは、まず郵便番号を聞くな
デフォルトの名無しさん [sage] 2019/02/08(金) 16:46:02.55:QatAiOm8

「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

これでいけるはず
デフォルトの名無しさん [sage] 2019/02/08(金) 18:27:58.69:CDEogeBV

でいいですし、デリミタが潰れたままになってますよ
デフォルトの名無しさん [sage] 2019/02/08(金) 19:06:53.88:imEPOnT1

もし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, "")
ってやる手もあるな
デフォルトの名無しさん [sage] 2019/02/08(金) 20:28:18.13: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
は問題なくできます

つまり、タブで対象となるワークシート以外の他のワークシートを選択しているとき、
代入はできるのに、選択ができないのです
選択をできる方法ってありますか

勢い5万以上のスレをメールでお知らせするサービス、実施中!!
憧れボディをGETしたい!その夢、ボニックで!

新着レスの表示

2ch勢いランキング アーカイブ プログラム板ランキング

凡例:

レス番

100 (赤) → 2つ以上レスが付いている
100 (紫) → 1つ以上レスが付いている

名前

名無しさん (青) → sage のレス
名無しさん (緑) → age のレス

ID

ID:xxxxxxx (赤) → 発言が3つ以上のID
ID:xxxxxxx (青) → 発言が2つ以上のID

このページは2ch勢いランキングが作成したアーカイブです。削除についてはこちら