!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付ける
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part67
https://mevius.5ch.net/test/read.cgi/tech/1593104489/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
Excel VBA 質問スレ Part68
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ dbda-8BP0)
2020/08/30(日) 11:55:27.33ID:Oy/VxFsh0456デフォルトの名無しさん (ワッチョイ ffad-gZNM)
2020/10/02(金) 16:51:14.94ID:p6rjz1Jr0 >>453
配列のUpperが何を意味してるのかいまいち分からんがこんな感じで良いんか?
Line Input #1, TargetDate
BeforeArray(0, Ubound(BeforeArray, 2)) = ファイル名
For文[1〜190](BeforeArrayにSplit(TargetDate, ″,″)を放り込む)
ReDim Preserve BeforeArray(0 to 190, Ubound(BeforeArray, 2)+1)
Do Until EOF(1)
Line Input #1, TargetDate
For文[1〜190](BeforeArrayにSplit(TargetDate, ″,″)を放り込む)
ReDim Preserve BeforeArray(0 to 190, Ubound(BeforeArray, 2)+1)
Loop
配列のUpperが何を意味してるのかいまいち分からんがこんな感じで良いんか?
Line Input #1, TargetDate
BeforeArray(0, Ubound(BeforeArray, 2)) = ファイル名
For文[1〜190](BeforeArrayにSplit(TargetDate, ″,″)を放り込む)
ReDim Preserve BeforeArray(0 to 190, Ubound(BeforeArray, 2)+1)
Do Until EOF(1)
Line Input #1, TargetDate
For文[1〜190](BeforeArrayにSplit(TargetDate, ″,″)を放り込む)
ReDim Preserve BeforeArray(0 to 190, Ubound(BeforeArray, 2)+1)
Loop
457デフォルトの名無しさん (ワッチョイ d3da-Kk5w)
2020/10/02(金) 18:32:48.78ID:a296oIK60458デフォルトの名無しさん (ワッチョイ e3da-Kk5w)
2020/10/02(金) 22:17:00.26ID:MWdBgx4Q0459デフォルトの名無しさん (ワッチョイ d32c-G8Sl)
2020/10/02(金) 23:43:54.67ID:ooD45Zz30 CSV の規格では、各要素をクォート文字で囲めば、
各要素中に、列区切り文字も入れられる
"a,b", x
Ruby などのCSVライブラリを使わず、
自力で、列区切り文字で分割すると、バグるだけ
CSVの規格を知らない香具師が、よくやってる
各要素中に、列区切り文字も入れられる
"a,b", x
Ruby などのCSVライブラリを使わず、
自力で、列区切り文字で分割すると、バグるだけ
CSVの規格を知らない香具師が、よくやってる
460デフォルトの名無しさん (ワッチョイ 7f4b-3DJV)
2020/10/03(土) 00:18:46.98ID:DSTQ9BDR0 csvに規格ってあったんだ
461デフォルトの名無しさん (ワッチョイ f35f-MSJL)
2020/10/03(土) 07:11:14.79ID:umHauNXS0 ExcelでCSVをダブルクリックで開いて編集、上書きして事故る人が多いね
462デフォルトの名無しさん (ワッチョイ ff01-V07v)
2020/10/03(土) 07:17:22.78ID:NCQ7EVNV0463デフォルトの名無しさん (ワッチョイ 53ce-2+Dn)
2020/10/03(土) 08:43:50.77ID:2jz2H7gQ0 そのRFCって、たくさんあるローカルルールの1つを紹介してるだけだよな
強制力もなさそうだし、現時点ではあんまり意味がなさそう
強制力もなさそうだし、現時点ではあんまり意味がなさそう
464デフォルトの名無しさん (ワッチョイ f35f-67ZW)
2020/10/03(土) 11:51:59.59ID:ylT9+9xh0 >>459
マイクロソフトの製品はそれに沿っているものがあるが、クォーテーションがついたり、つかなかったりするのは、人間にとってもタチが悪く、完全に失敗した仕様と結論が出ている。
マイクロソフトの製品はそれに沿っているものがあるが、クォーテーションがついたり、つかなかったりするのは、人間にとってもタチが悪く、完全に失敗した仕様と結論が出ている。
465459 (ワッチョイ d32c-IT45)
2020/10/03(土) 13:01:37.98ID:/wA+nWqo0 列区切り文字は、必要なければ省略できる
つまり、x も、"x" も同じ。
全ての要素に、付けてもよい
ただし、"a,b" みたいに要素内に、
行区切り文字・列区切り文字・クォート文字を含む場合は、省略できない
つまり、x も、"x" も同じ。
全ての要素に、付けてもよい
ただし、"a,b" みたいに要素内に、
行区切り文字・列区切り文字・クォート文字を含む場合は、省略できない
466459 (ワッチョイ d32c-IT45)
2020/10/03(土) 13:03:38.87ID:/wA+nWqo0467デフォルトの名無しさん (ワッチョイ 7f4b-3DJV)
2020/10/03(土) 13:04:25.84ID:DSTQ9BDR0 できないって言われましても強制力無いですし
468デフォルトの名無しさん (ワッチョイ ff2f-G8Sl)
2020/10/03(土) 13:34:48.02ID:zZGrTJee0 まあそもそも多数の実装が出てからそれ集めて決めた仕様だからな
469デフォルトの名無しさん (ワッチョイ e3da-Kk5w)
2020/10/03(土) 19:43:36.45ID:WrZNWJut0 そういやあれ何だろうな。
QueryTableだとセル内改行でずれるのに、
ADOだとずれないとか。
QueryTableだとセル内改行でずれるのに、
ADOだとずれないとか。
470デフォルトの名無しさん (ワッチョイ 6309-gW4a)
2020/10/04(日) 19:09:07.88ID:mqiPq7lq0 配列を戻す自作関数を呼び出し先Subから複数回実行して、配列を結合したい
んだけど、どうすればできますか? redim preserveとUBoundを使うのかも
しれないけど、いい感じにまとまったコードが書けない。
例えば、下の関数を、別のSubから2回実行させて、
「Ary(3) ※中身:path1,path2,path1,path2」
の結果を得たいです。
Function TestFunc()
Dim testPath(1)
testPath(0) = "path1"
testPath(1) = "path2"
'return
TestFunc = testPath
End Function
んだけど、どうすればできますか? redim preserveとUBoundを使うのかも
しれないけど、いい感じにまとまったコードが書けない。
例えば、下の関数を、別のSubから2回実行させて、
「Ary(3) ※中身:path1,path2,path1,path2」
の結果を得たいです。
Function TestFunc()
Dim testPath(1)
testPath(0) = "path1"
testPath(1) = "path2"
'return
TestFunc = testPath
End Function
471デフォルトの名無しさん (ワッチョイ 6309-gW4a)
2020/10/04(日) 19:09:08.25ID:mqiPq7lq0 配列を戻す自作関数を呼び出し先Subから複数回実行して、配列を結合したい
んだけど、どうすればできますか? redim preserveとUBoundを使うのかも
しれないけど、いい感じにまとまったコードが書けない。
例えば、下の関数を、別のSubから2回実行させて、
「Ary(3) ※中身:path1,path2,path1,path2」
の結果を得たいです。
Function TestFunc()
Dim testPath(1)
testPath(0) = "path1"
testPath(1) = "path2"
'return
TestFunc = testPath
End Function
んだけど、どうすればできますか? redim preserveとUBoundを使うのかも
しれないけど、いい感じにまとまったコードが書けない。
例えば、下の関数を、別のSubから2回実行させて、
「Ary(3) ※中身:path1,path2,path1,path2」
の結果を得たいです。
Function TestFunc()
Dim testPath(1)
testPath(0) = "path1"
testPath(1) = "path2"
'return
TestFunc = testPath
End Function
472デフォルトの名無しさん (ワッチョイ 6309-gW4a)
2020/10/04(日) 19:09:56.24ID:mqiPq7lq0 連投すいません
473デフォルトの名無しさん (スッップ Sd1f-+ya4)
2020/10/04(日) 19:15:03.93ID:l1LxtJm7d 注意
ID:mqiPq7lq0
いつもの馬鹿です
ID:mqiPq7lq0
いつもの馬鹿です
474デフォルトの名無しさん (ワッチョイ d3da-Kk5w)
2020/10/04(日) 21:13:23.82ID:3bz1Ts/P0 >>471
検索したらいいんじゃね
検索したらいいんじゃね
475デフォルトの名無しさん (ワッチョイ b37c-Uy5C)
2020/10/04(日) 21:42:10.14ID:NRUY+ZF00 >>471
例えとかいい感じとかじゃなくて正確にコードを提示してどの部分をどうしたいのか明確に説明した方がいいよ
例えとかいい感じとかじゃなくて正確にコードを提示してどの部分をどうしたいのか明確に説明した方がいいよ
476デフォルトの名無しさん (スッップ Sd1f-EBv7)
2020/10/04(日) 21:43:28.32ID:hlbFeQNpd 後出し続けて全部作ってもらおうという魂胆の奴だぞ
477デフォルトの名無しさん (オッペケ Sr47-owA3)
2020/10/05(月) 01:21:09.51ID:Roj0MJiCr VBAからIEを操作して、タグを指定して.valueやselctedで自動化しているのですが、ヤフオクの商品説明だけどうしても値の挿入ができません。
Tabや近い要素をフォーカスしたりクリックし、SendkeyなどでShift +Tabからエンダーなど試していますが、一向に解決できません。
直接でか無くてもカーソルが点滅させれれば、クリップボード経由で貼り付けるような仕様にしようと考えています。
Tabや近い要素をフォーカスしたりクリックし、SendkeyなどでShift +Tabからエンダーなど試していますが、一向に解決できません。
直接でか無くてもカーソルが点滅させれれば、クリップボード経由で貼り付けるような仕様にしようと考えています。
478デフォルトの名無しさん (ワッチョイ d32c-IT45)
2020/10/05(月) 07:08:41.25ID:z7kgQPv30 漏れは、Ruby, Selenium Webdriver で、ブラウザを自動操作して、
send_key で、ユーザー名・パスワードを自動入力して、ヤフーにログインしてる
require "selenium-webdriver"
options = Selenium::WebDriver::Chrome::Options.new
options.add_option( :detach, true ) # ブラウザを切り離す
options.add_argument( '--start-maximized' ) # 画面最大
driver = Selenium::WebDriver.for :chrome, options: options
driver.manage.timeouts.implicit_wait = 10 # default timeout
driver.navigate.to "https://login.yahoo.co.jp/config/login_verify2?.src=ym"
element = driver.find_element(:id => "username")
element.send_key "ユーザー名"
driver.find_element(:id => "btnNext").click
element = driver.find_element(:id => "passwd")
element.send_key "パスワード"
driver.find_element(:id => "btnSubmit").click
send_key で、ユーザー名・パスワードを自動入力して、ヤフーにログインしてる
require "selenium-webdriver"
options = Selenium::WebDriver::Chrome::Options.new
options.add_option( :detach, true ) # ブラウザを切り離す
options.add_argument( '--start-maximized' ) # 画面最大
driver = Selenium::WebDriver.for :chrome, options: options
driver.manage.timeouts.implicit_wait = 10 # default timeout
driver.navigate.to "https://login.yahoo.co.jp/config/login_verify2?.src=ym"
element = driver.find_element(:id => "username")
element.send_key "ユーザー名"
driver.find_element(:id => "btnNext").click
element = driver.find_element(:id => "passwd")
element.send_key "パスワード"
driver.find_element(:id => "btnSubmit").click
479478 (ワッチョイ d32c-IT45)
2020/10/05(月) 07:11:02.53ID:z7kgQPv30 そもそも、IE なんか動くのか?
漏れは、Chrome
漏れは、Chrome
480デフォルトの名無しさん (バットンキン MMc7-7HYc)
2020/10/05(月) 12:57:11.88ID:BlyIycRMM >>475
すみません。
Sub test
Dim i,ary()
For i = 1 to 2
ary = TestFunc ※ary配列の要素の最後に呼び出した配列を追加していきたい
Next
End
すみません。
Sub test
Dim i,ary()
For i = 1 to 2
ary = TestFunc ※ary配列の要素の最後に呼び出した配列を追加していきたい
Next
End
481デフォルトの名無しさん (ワッチョイ d3da-Kk5w)
2020/10/05(月) 13:22:13.75ID:PJYbs+y10 配列に配列を追加するのを初心者がつくるなら
追加する2つの配列と結果を格納する配列の計3つを用意して順番に格納すればできないかな?
追加する2つの配列と結果を格納する配列の計3つを用意して順番に格納すればできないかな?
482デフォルトの名無しさん (ワントンキン MMe7-hUkp)
2020/10/05(月) 14:35:29.71ID:8f5Gi5TxM >>480
いい加減にしろや糞が
いい加減にしろや糞が
483デフォルトの名無しさん (ワッチョイ ff2f-IT45)
2020/10/05(月) 14:54:20.99ID:3En1oQ3G0484デフォルトの名無しさん (ワッチョイ d3da-y5MG)
2020/10/05(月) 15:05:07.42ID:PJYbs+y10 検索すればすむのにね
485デフォルトの名無しさん (バットンキン MMc7-7HYc)
2020/10/05(月) 17:50:38.43ID:BlyIycRMM486デフォルトの名無しさん (ブーイモ MMe7-k/5x)
2020/10/05(月) 17:58:27.13ID:FAPvswgpM 喧嘩腰だなあ
何しにきてんのさ
何しにきてんのさ
487デフォルトの名無しさん (アウアウウー Sa27-y5MG)
2020/10/05(月) 18:26:34.61ID:KW0b9HJla くれくれ君だからしょうがないだろ
488デフォルトの名無しさん (ラクッペペ MM7f-62ru)
2020/10/05(月) 19:48:49.79ID:UUAqkjmTM >>484
F1キー押す方が早くね?
F1キー押す方が早くね?
489デフォルトの名無しさん (ワッチョイ 53ce-2+Dn)
2020/10/05(月) 19:51:04.71ID:0f3oInSL0 >>488
押すだけならワンキーだけど、オンラインヘルプはそこからが長い
押すだけならワンキーだけど、オンラインヘルプはそこからが長い
490デフォルトの名無しさん (ワッチョイ d3da-Kk5w)
2020/10/06(火) 10:31:57.17ID:9/35+5mY0 大人の対応でうまく誘導してやろうぜ
491デフォルトの名無しさん (ワッチョイ 1b63-dHQN)
2020/10/07(水) 19:45:01.41ID:FTOZLATq0 下記のように特定の文字を削除して、改行をやめて1行文にしたいのですがコードのご教示いただけないでしょうか
やんやんつけ棒§
めちゃ美味い
ポテトチップス§
めちゃ美味い
↓
やんやんつけ棒めちゃ美味い
ポテトチップスめちゃ美味い
やんやんつけ棒§
めちゃ美味い
ポテトチップス§
めちゃ美味い
↓
やんやんつけ棒めちゃ美味い
ポテトチップスめちゃ美味い
492デフォルトの名無しさん (テテンテンテン MM86-J9E+)
2020/10/07(水) 20:04:32.74ID:7ZMz7DKjM まともなテキストエディタ(VSCodeとかサクラエディタとか)で開いて正規表現置換で§¥r¥を空に置換すればよい
493デフォルトの名無しさん (テテンテンテン MM86-J9E+)
2020/10/07(水) 20:05:03.03ID:7ZMz7DKjM 訂正
§¥r¥n
§¥r¥n
494デフォルトの名無しさん (ワッチョイ 1b63-dHQN)
2020/10/07(水) 20:27:15.03ID:FTOZLATq0 >>492
なるほど…めちゃ助かります。ありがとうございます。
なるほど…めちゃ助かります。ありがとうございます。
495デフォルトの名無しさん (ワッチョイ 8ae6-SfJD)
2020/10/07(水) 21:05:04.00ID:8t5FIA980 もっと面白い質問しろよ
496デフォルトの名無しさん (アウアウウー Sa2f-tQNK)
2020/10/07(水) 21:08:11.63ID:EPmDsevha やんやんつけ棒って何?
497デフォルトの名無しさん (ワッチョイ 1b63-dHQN)
2020/10/07(水) 21:08:37.26ID:FTOZLATq0 申し訳ありません、もう一点
A1:私は実は理学部出身
A2:の元々は地質学者です
A3:
A4:こうした南鳥島で
A5:
A6:レアアースの濃集が
A7:起こる
A8:
A9:というのは
A10:
A11:特徴的な層準に
↓
A1:私は実は理学部出身
の元々は地質学者です
A2:こうした南鳥島で
A3:レアアースの濃集が
起こる
A4:というのは
A5:特徴的な層準に
下の行に文字列 → 2行の文章として、改行を入れてExcelの1マスにまとめる
下の行が空白 → 1行の文書なのでそのまま
これをなんとかVBAで自動化したいのですが記述を教示願えますでしょうか
面白くない質問ですみません…
A1:私は実は理学部出身
A2:の元々は地質学者です
A3:
A4:こうした南鳥島で
A5:
A6:レアアースの濃集が
A7:起こる
A8:
A9:というのは
A10:
A11:特徴的な層準に
↓
A1:私は実は理学部出身
の元々は地質学者です
A2:こうした南鳥島で
A3:レアアースの濃集が
起こる
A4:というのは
A5:特徴的な層準に
下の行に文字列 → 2行の文章として、改行を入れてExcelの1マスにまとめる
下の行が空白 → 1行の文書なのでそのまま
これをなんとかVBAで自動化したいのですが記述を教示願えますでしょうか
面白くない質問ですみません…
498デフォルトの名無しさん (ワッチョイ 9f7c-eFyE)
2020/10/07(水) 21:11:26.09ID:JTTOzasI0 >>497
その条件2つそのままコードに直していけるよ
その条件2つそのままコードに直していけるよ
499デフォルトの名無しさん (ワッチョイ cbda-xYNh)
2020/10/07(水) 21:17:21.39ID:ueKkqa210 改行がLfなのかCrなのかCrLfなのか知らんが
Replace("改行入りの文字列", vbLf, "")
Replace("改行入りの文字列", vbLf, "")
500デフォルトの名無しさん (ワッチョイ 9f7c-eFyE)
2020/10/07(水) 21:58:27.94ID:JTTOzasI0 >>499
そんなことしたら改行しなくなるが…
そんなことしたら改行しなくなるが…
501デフォルトの名無しさん (ワッチョイ ca6d-zMau)
2020/10/07(水) 22:16:39.68ID:XaxSLEYL0 いつものクレクレ君かな
502デフォルトの名無しさん (ワントンキン MM3a-pCej)
2020/10/07(水) 22:51:28.53ID:7uT04k8fM ・コードを要求
・追加で教えて
いつもの人だね
・追加で教えて
いつもの人だね
503デフォルトの名無しさん (ワッチョイ 8ae6-KV+F)
2020/10/07(水) 22:54:48.87ID:8t5FIA980 普通に書けばできることを聞く意味が分からん
もしかして書けないの?
書けないならやめればいいのに
もしかして書けないの?
書けないならやめればいいのに
504デフォルトの名無しさん (ドコグロ MM02-dHQN)
2020/10/07(水) 22:56:25.93ID:Az9cGqg8M505デフォルトの名無しさん (ワッチョイ 67da-xYNh)
2020/10/08(木) 01:49:40.56ID:584FeZ4r0506デフォルトの名無しさん (アウアウウー Sa2f-J9E+)
2020/10/08(木) 09:04:33.67ID:BqKPxLQJa CSVとして保存
VSCode等のまともなエディタで開く
([^¥r]+)¥r¥n([^¥r]+)を”$1¥r¥n$2”に置換
¥r¥n¥r¥nを¥r¥nに置換
Excelにインポート
>>492同様にワンショットでいいならこんな感じでいけるんじゃね
VSCode等のまともなエディタで開く
([^¥r]+)¥r¥n([^¥r]+)を”$1¥r¥n$2”に置換
¥r¥n¥r¥nを¥r¥nに置換
Excelにインポート
>>492同様にワンショットでいいならこんな感じでいけるんじゃね
507デフォルトの名無しさん (ワッチョイ 67da-tQNK)
2020/10/08(木) 14:32:22.56ID:584FeZ4r0 それができないのが初心者
508デフォルトの名無しさん (ブーイモ MM76-HnI9)
2020/10/08(木) 15:37:32.47ID:d1cy1ieUM クレクレ君のより煽ってる奴のがうざいんだけどね
VBAだけが人並にできるからこのスレにいつも欠かさず覗きにきてる感じか?
いつものお前が邪魔ですよお
VBAだけが人並にできるからこのスレにいつも欠かさず覗きにきてる感じか?
いつものお前が邪魔ですよお
509デフォルトの名無しさん (ワッチョイ 0668-xYNh)
2020/10/08(木) 15:59:16.76ID:btiqMG+Y0510デフォルトの名無しさん (ワントンキン MM3a-R/IE)
2020/10/08(木) 17:05:05.08ID:+6fedHspM >>508
くれくれ君本人乙
くれくれ君本人乙
511デフォルトの名無しさん (ワッチョイ 9f7c-eFyE)
2020/10/08(木) 19:30:11.76ID:bwT1M8vM0512デフォルトの名無しさん (ワッチョイ 1b63-dHQN)
2020/10/08(木) 19:55:49.61ID:YPYO8uSI0 たしかにやろうとしないことが問題
てのは御指摘のとおりですね。すみません。
映像制作を生業としてますが普段tipsを聞くのりで聞いてしまいました。
てのは御指摘のとおりですね。すみません。
映像制作を生業としてますが普段tipsを聞くのりで聞いてしまいました。
513デフォルトの名無しさん (ワッチョイ ca4f-+ixC)
2020/10/08(木) 20:04:37.46ID:KjDVO4Tm0514デフォルトの名無しさん (スフッ Sdea-gn5F)
2020/10/08(木) 21:04:52.28ID:DcpygGCOd ただでさえ印象悪いのにどうでもいい言い訳まで付けてさらに印象悪くするよくあるパターン
515デフォルトの名無しさん (ワッチョイ 6bda-q18j)
2020/10/09(金) 00:24:11.53ID:t8qEIjmh0 Dim dw As Date
Dim i As Integer
Sub test()
'ランダムに並び替える
Randomize
'乱数を入れる
For i = 1 To 200
Cells(i, 2) = Rnd()
Next i
'乱数で昇順並び替え
Range("A1:B200").Sort _
Key1:=Range("B1"), Order1:=xlAscending, _
Header:=xlNo, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom, _
SortMethod:=xlPinYin
'乱数を削除
Range("B1:B200").Clear
dw = DateAdd("S", 5, Now)
Application.OnTime dw, "test"
End Sub
Dim i As Integer
Sub test()
'ランダムに並び替える
Randomize
'乱数を入れる
For i = 1 To 200
Cells(i, 2) = Rnd()
Next i
'乱数で昇順並び替え
Range("A1:B200").Sort _
Key1:=Range("B1"), Order1:=xlAscending, _
Header:=xlNo, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom, _
SortMethod:=xlPinYin
'乱数を削除
Range("B1:B200").Clear
dw = DateAdd("S", 5, Now)
Application.OnTime dw, "test"
End Sub
516デフォルトの名無しさん (ワッチョイ 6bda-q18j)
2020/10/09(金) 00:26:14.42ID:t8qEIjmh0 >>515
のdw = DateAdd("S", 5, Now)
Application.OnTime dw, "test"
を入れると、
「実行できません。このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。」
となってしまいます。
「マクロのセキュリティ」は「すべて有効」にしています。
どうすればいいでしょうか
のdw = DateAdd("S", 5, Now)
Application.OnTime dw, "test"
を入れると、
「実行できません。このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。」
となってしまいます。
「マクロのセキュリティ」は「すべて有効」にしています。
どうすればいいでしょうか
517デフォルトの名無しさん (ワッチョイ 4a2f-Dl/i)
2020/10/09(金) 00:56:17.14ID:8xBy2vBw0518デフォルトの名無しさん (ワッチョイ 6bda-q18j)
2020/10/09(金) 01:28:40.34ID:t8qEIjmh0519デフォルトの名無しさん (ワッチョイ 0f41-ICsZ)
2020/10/09(金) 16:14:30.36ID:SmS5zjtB0 1,1,2,2,3,4,4,4,5,6
を
1-1,1-2,2-1,2-2,3,4-1,4-2,4-3,5,6
に変換したいのですが、どういうコード書けばよいのでしょうか?
を
1-1,1-2,2-1,2-2,3,4-1,4-2,4-3,5,6
に変換したいのですが、どういうコード書けばよいのでしょうか?
520デフォルトの名無しさん (ワッチョイ 4aad-YPNF)
2020/10/09(金) 16:19:59.95ID:5DciVe+j0 連想配列使ってカウントするか(0 to 対象の値のMax)の配列を用意して、Array(対象の値)にカウントするかが1番頭使わなくて済むかな?
521デフォルトの名無しさん (ブーイモ MM76-HnI9)
2020/10/09(金) 16:55:39.01ID:9cfuJ5OLM かなり前だけどこのスレで教わったアドバイスが今やってることでピンときた
タブ増やして進めてくより
userformをhideとshowで工程進めてくみたいにしたほうがいいわ
ありがとうかなり前に教えてくれた人!
タブ増やして進めてくより
userformをhideとshowで工程進めてくみたいにしたほうがいいわ
ありがとうかなり前に教えてくれた人!
522デフォルトの名無しさん (アウアウウー Sa2f-5jeW)
2020/10/09(金) 17:52:44.19ID:OU1KT8YFa >>519
fori=1 to 要素数(※要素数はカンマで区切られた数)
数字=数字 & “-” & i
next i
みたいな感じで
前の数字と違ったら数字をリセット
(iが1ならこの処理はしない)
要素がひとつなら処理せず次のiに
fori=1 to 要素数(※要素数はカンマで区切られた数)
数字=数字 & “-” & i
next i
みたいな感じで
前の数字と違ったら数字をリセット
(iが1ならこの処理はしない)
要素がひとつなら処理せず次のiに
523デフォルトの名無しさん (ワッチョイ 2a4b-XTxo)
2020/10/09(金) 18:03:17.75ID:klvVBjUq0 next i って書く人嫌い
524デフォルトの名無しさん (ササクッテロ Sp03-+ixC)
2020/10/09(金) 18:15:01.53ID:FzRk+nqKp かなり前の話と言えば
昔Privateで書かれたプロパティを
外部から取得する方法を書いてた人がいたけど
あれどうやるんだったっけ
昔Privateで書かれたプロパティを
外部から取得する方法を書いてた人がいたけど
あれどうやるんだったっけ
525デフォルトの名無しさん (ワッチョイ 03e5-SfJD)
2020/10/09(金) 18:33:13.76ID:/2wG1kS20 内部から漏洩させるのが確実
526デフォルトの名無しさん (ワッチョイ 03e5-SfJD)
2020/10/09(金) 18:36:07.52ID:/2wG1kS20 >>523
それ以前にまったく要望を満たしていない
それ以前にまったく要望を満たしていない
527デフォルトの名無しさん (スプッッ Sd8a-Kms5)
2020/10/09(金) 21:13:45.01ID:hr48HmJ4d >>517
俺はブックも必ず指定するけどね。
俺はブックも必ず指定するけどね。
528デフォルトの名無しさん (スプッッ Sd8a-Kms5)
2020/10/09(金) 21:15:25.62ID:hr48HmJ4d >>519
どうしたいのかもう少し言葉で説明してくれる?
どうしたいのかもう少し言葉で説明してくれる?
529デフォルトの名無しさん (ワッチョイ cbda-xYNh)
2020/10/09(金) 21:41:09.60ID:KqgB0xuS0 >>519
普通にカウントアップして、1から2に、2から3に上がるときにカウンターリセット。
普通にカウントアップして、1から2に、2から3に上がるときにカウンターリセット。
530デフォルトの名無しさん (ワッチョイ 07ce-KV+F)
2020/10/09(金) 21:44:54.18ID:VcvC9Dp/0 1つしかなかった時に連番を付けない処理が一手間多くて面倒
データの先読みが必要になる
データの先読みが必要になる
531デフォルトの名無しさん (ワッチョイ 0668-xYNh)
2020/10/09(金) 21:49:11.48ID:5R2Ih+qA0 出力タイミングを次の数字を見てからにすれば楽
532デフォルトの名無しさん (ワッチョイ 9f7c-eFyE)
2020/10/09(金) 21:49:18.81ID:2P2kQgrz0 1個でも複数でも変わらない
おかしな考え方してるんだろう
おかしな考え方してるんだろう
533デフォルトの名無しさん (ワッチョイ 8ae6-SfJD)
2020/10/09(金) 21:49:40.29ID:hWEYACMU0534デフォルトの名無しさん (ワッチョイ 07ce-KV+F)
2020/10/09(金) 22:02:55.54ID:VcvC9Dp/0 次の数字を見るかどうかの所で配列の最後かどうかも判定する必要があって面倒
シンプルでうまい方法があるんなら言葉じゃなくてコードで答えてくれ
シンプルでうまい方法があるんなら言葉じゃなくてコードで答えてくれ
535デフォルトの名無しさん (ワッチョイ 0b3d-5jeW)
2020/10/09(金) 22:06:14.03ID:rNmj4HJx0 splitでカンマ区切りの配列化
instrで個数確認
かね?
instrで個数確認
かね?
536デフォルトの名無しさん (ワッチョイ 0b3d-5jeW)
2020/10/09(金) 22:07:17.45ID:rNmj4HJx0 >>534
Uboundで判定して抜ければいいじゃん
Uboundで判定して抜ければいいじゃん
537デフォルトの名無しさん (ワッチョイ 07ce-KV+F)
2020/10/09(金) 22:19:01.76ID:VcvC9Dp/0 >>536
ちゃんと動くコード書いてみて
ちゃんと動くコード書いてみて
538デフォルトの名無しさん (ワッチョイ 07ce-KV+F)
2020/10/09(金) 22:24:25.52ID:VcvC9Dp/0 Sub Macro1()
Dim a(), b()
a = Array(1, 1, 2, 2, 3, 4, 4, 4, 5, 6)
u = UBound(a)
ReDim Preserve a(u + 1)
ReDim b(u)
a(u + 1) = a(u) + 1
x = a(0) + 1
For i = 0 To u
If a(i) - x Then
c = 1
Else
c = c + 1
End If
If c = 1 Then
b(i) = a(i)
If a(i) = a(i + 1) And u - i Then b(i) = b(i) & "-1"
Else
b(i) = a(i) & "-" & c
End If
x = a(i)
Next
Debug.Print Join(b, ",")
End Sub
Dim a(), b()
a = Array(1, 1, 2, 2, 3, 4, 4, 4, 5, 6)
u = UBound(a)
ReDim Preserve a(u + 1)
ReDim b(u)
a(u + 1) = a(u) + 1
x = a(0) + 1
For i = 0 To u
If a(i) - x Then
c = 1
Else
c = c + 1
End If
If c = 1 Then
b(i) = a(i)
If a(i) = a(i + 1) And u - i Then b(i) = b(i) & "-1"
Else
b(i) = a(i) & "-" & c
End If
x = a(i)
Next
Debug.Print Join(b, ",")
End Sub
539デフォルトの名無しさん (ワッチョイ 07ce-KV+F)
2020/10/09(金) 22:47:08.38ID:VcvC9Dp/0 これよりシンプルにするのは俺には無理だった
Sub Macro1()
Dim a$(), b()
a = Split("1,1,2,2,3,4,4,4,5,6", ",")
u = UBound(a)
ReDim Preserve a(u + 1)
ReDim b(u)
a(u + 1) = a(u) + 1
x = a(0) + 1
For i = 0 To u
b(i) = a(i)
c = c + 1
If a(i) - x Then c = 1
If (c > 1) + (c = 1) * (a(i) = a(i + 1)) * (u - i) Then b(i) = b(i) & "-" & c
x = a(i)
Next
Debug.Print Join(b, ",")
End Sub
Sub Macro1()
Dim a$(), b()
a = Split("1,1,2,2,3,4,4,4,5,6", ",")
u = UBound(a)
ReDim Preserve a(u + 1)
ReDim b(u)
a(u + 1) = a(u) + 1
x = a(0) + 1
For i = 0 To u
b(i) = a(i)
c = c + 1
If a(i) - x Then c = 1
If (c > 1) + (c = 1) * (a(i) = a(i + 1)) * (u - i) Then b(i) = b(i) & "-" & c
x = a(i)
Next
Debug.Print Join(b, ",")
End Sub
540デフォルトの名無しさん (ワッチョイ 07ce-KV+F)
2020/10/09(金) 23:08:21.94ID:VcvC9Dp/0 b(i) = b(i) & "-" & c
↓
b(i) = b(i) & -c
↓
b(i) = b(i) & -c
541デフォルトの名無しさん (ワッチョイ 672c-Dl/i)
2020/10/09(金) 23:19:19.22ID:760t1BpC0 プログラミングのお題スレにも、たまにあるけど、
次の要素を先読みするのは面倒
スタックのpeek みたいに、要素を読み取るだけで、削除しない関数があればよい
次の要素を先読みするのは面倒
スタックのpeek みたいに、要素を読み取るだけで、削除しない関数があればよい
542デフォルトの名無しさん (ワッチョイ 672c-Dl/i)
2020/10/10(土) 06:22:18.37ID:BjcbKuib0 Ruby では、
# 一旦、整数の2次元配列にする。[[1, 1], [2, 2], [3], [4, 4, 4], [5], [6]]
result_ary = input_ary = "1,1,2,2,3,4,4,4,5,6".split( "," ).
chunk_while{ |prev, nxt| prev == nxt }.each_with_object( [ ] ) do |ary, acc| # 蓄積変数は配列
if ary.length == 1
acc.push( ary[ 0 ] )
else
ary.each_with_index do |num, idx|
acc.push( "#{ num }-#{ idx + 1 }" )
end
end
end
puts result_ary.to_a.join( "," ) # カンマ区切り
# 一旦、整数の2次元配列にする。[[1, 1], [2, 2], [3], [4, 4, 4], [5], [6]]
result_ary = input_ary = "1,1,2,2,3,4,4,4,5,6".split( "," ).
chunk_while{ |prev, nxt| prev == nxt }.each_with_object( [ ] ) do |ary, acc| # 蓄積変数は配列
if ary.length == 1
acc.push( ary[ 0 ] )
else
ary.each_with_index do |num, idx|
acc.push( "#{ num }-#{ idx + 1 }" )
end
end
end
puts result_ary.to_a.join( "," ) # カンマ区切り
543542 (ワッチョイ 672c-Dl/i)
2020/10/10(土) 06:24:55.49ID:BjcbKuib0544542 (ワッチョイ 672c-Dl/i)
2020/10/10(土) 06:29:37.77ID:BjcbKuib0 >>542
修正
>result_ary = input_ary = "1,1,2,2,3,4,4,4,5,6".split( "," ).
result_ary = "1,1,2,2,3,4,4,4,5,6".split( "," ).
修正
>result_ary = input_ary = "1,1,2,2,3,4,4,4,5,6".split( "," ).
result_ary = "1,1,2,2,3,4,4,4,5,6".split( "," ).
545デフォルトの名無しさん (ワッチョイ 07ce-KV+F)
2020/10/10(土) 06:39:31.44ID:WLqCacU70 データの種類が少なければ連想配列
546デフォルトの名無しさん (ワッチョイ 0668-xYNh)
2020/10/10(土) 09:37:35.06ID:ejDp+I1j0 先読みって考えるから面倒なのでは?
後出しって考えればいいのでは?
後出しって考えればいいのでは?
547デフォルトの名無しさん (ワッチョイ ca01-yf4V)
2020/10/10(土) 09:43:21.90ID:VjEh1Ow80 てかあの程度の仕様なら自分で書けよって思う
あれぐらいで書けないってのは根本的にプログラミングの基礎分かってないでしょ
forとifで一度自分で書いてみろと
あれぐらいで書けないってのは根本的にプログラミングの基礎分かってないでしょ
forとifで一度自分で書いてみろと
548デフォルトの名無しさん (ワッチョイ 9f7c-eFyE)
2020/10/10(土) 11:33:09.64ID:ZZ8h2+k60 書く気が無いからコードくれと言ってるんじゃないの
549デフォルトの名無しさん (ワントンキン MM3a-R/IE)
2020/10/10(土) 12:12:33.28ID:PwUkT7dUM いつものあいつでしょ
550デフォルトの名無しさん (ワッチョイ 0332-HnI9)
2020/10/10(土) 14:51:13.18ID:l6OboMxr0 書けない奴「いつもあいつでしょ」
551デフォルトの名無しさん (ワントンキン MM3a-R/IE)
2020/10/10(土) 15:12:08.20ID:PwUkT7dUM 煽って自演のいつもの馬鹿
552デフォルトの名無しさん (ワッチョイ 0332-HnI9)
2020/10/10(土) 15:36:01.73ID:l6OboMxr0 おじさん「煽ってなんちゃら」
553デフォルトの名無しさん (ラクッペペ MM86-SfJD)
2020/10/10(土) 15:38:43.61ID:VaQE37nUM バグってハニー
554デフォルトの名無しさん (ワントンキン MM3a-pCej)
2020/10/10(土) 17:43:29.69ID:aEE68DdLM いつものあいつ確定
555542 (ワッチョイ 672c-JAxH)
2020/10/10(土) 22:30:05.80ID:BjcbKuib0 データベース変換などは、Ruby のEnumerable のメソッドを見て、
シェル芸とか、プログラミングのお題スレの問題を解いた方がよい
VBA は可読性が悪すぎて、作っても再利用できない。
OSS で全会社共通で、RubyのEnumerable 相当のメソッドを作って公開するべき!
他言語ではたいてい、Rubyと等価のメソッドを作る
シェル芸とか、プログラミングのお題スレの問題を解いた方がよい
VBA は可読性が悪すぎて、作っても再利用できない。
OSS で全会社共通で、RubyのEnumerable 相当のメソッドを作って公開するべき!
他言語ではたいてい、Rubyと等価のメソッドを作る
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★4 [Hitzeschleier★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ [冬月記者★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 自民・麻生太郎副総裁 石破政権の1年は「どよーん」 高市政権発足で「何となく明るくなった」「世の中のことが決まり動いている」★2 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- ゆたぼん 二重手術を報告「めちゃくちゃ気に入っています」 [muffin★]
- コウメ太夫のネタ考えたから評価してくれ
- トランプ、G7に代わるcore 5を発表 [805596214]
- 【悲報】新米、全く売れなくて倉庫が満杯になってしまうwwwwwwwwwwwwwwwwwwww [802034645]
- 誰か♪アナルスティック♪舐めて♪
- 【悲報】日本共産党、ツイッター速報にブチギレ法的措置WWWWWWWWWWWWWWWWWWWWWWWWWWWW [935793931]
- 木曜日のんなっしょい❗(・o・🍬)仕放題スレ🏡
