[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 07/02 04:32 / Filesize : 267 KB / Number-of Response : 1038
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Excel VBA 質問スレ Part66



1 名前:1000 [2020/05/10(日) 13:43:45 ID:Nkoph0aj.net]
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK

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

※デフォルト設定

402 名前:デフォルトの名無しさん [2020/05/30(土) 19:06:40 ID:RuztwjMU.net]
>>383
ユーザーフォームのボタンにあてがうと
有り難みが薄れるらしく
最近作るのを断ってるわ

403 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 19:52:23 ID:NW87G0lL.net]
どんだけ人間小さくて承認欲求高いんだよ…

404 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 20:13:00 ID:v+h7hopE.net]
>>367
マクロ記録でできるレベルじゃないから苛ついてんの?できるんなら言われても仕方ないだろ
ソフト屋じゃなけりゃ再利用とか考えるわけないし

405 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 20:39:02.93 ID:x6N4SK2n.net]
>>381

京都のアニメ制作会社に放火とかしそうだなw

406 名前:デフォルトの名無しさん [2020/05/30(土) 21:05:02 ID:n48qxrxQ.net]
>>372
逆に「VBAができるわたし」は
ExcelやWordの複雑な機能のことに異常に詳しいと思われてて
難解な作業を仕事で依頼される。
それをVBAで解決できるかできないかにかかわらず。

407 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 21:08:47.70 ID:A129boaw.net]
そういう事を防ぐために能鷹隠爪で

408 名前:デフォルトの名無しさん [2020/05/30(土) 21:10:58.46 ID:n48qxrxQ.net]
>>364
これはなにで動いているのですか?

409 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 21:14:47 ID:49ARh1d+.net]
>>388
仕事で依頼されたなら、仕事やれよ

410 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 21:45:04 ID:/9v+/+fv.net]
>>382

式が何をしようとしているのか不明。
・何でHJ1(1行目)で2行目の値を評価しているの?
・20日以降は次月として捉えているように見えるけどDT列には何が入るの?
 空じゃなければ更に月を進める?

Forの使い方という点にコメント
これだけじゃ cnt がどこまで回ればよいかわからんよね。たとえば、
 i = 30
For cnt 2 To i
とするか、
For cnt 2 To 30
とかす



411 名前:れば、Loopはする。

でも書き込むセルが Range("HJ1") に固定されてるから、これじゃ同じセルに
30回、延々と上書きするだけになる。

書き込み先を動的に変える場合は、範囲Objectは Range("番地")じゃなくて、
Cells(行番号、列番号)を使うといい。この中でcntを使えば。

EDATE関数にあたるVBA関数はDateAdd
TEXT関数はFormatでOK。
[]
[ここ壊れてます]

412 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 21:53:02 ID:IeNY1P6O.net]
>ExcelやWordの複雑な機能のことに異常に詳しいと思われてて

ありがちな誤解だよな。
プログラムがわかるから細かい機能を知らなくてもどうにか出来るわけで、

413 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 21:53:27 ID:IeNY1P6O.net]
Word、Excelの専門家じゃないってのに。

414 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 22:38:43.08 ID:I7l9umXM.net]
wordの複雑な機能って?

415 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 23:40:16 ID:JE+7y9de.net]
フィールドとか?

416 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 01:07:44 ID:0lS4xVrw.net]
WordVBAとか

417 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 01:47:47 ID:6kaO8G32.net]
初歩的ですみませんが、sub ()の()の中に文字列が入ることありますか?
買った教本の例題にこの中に文字列が書かれてるのが一つだけあるんですが、おそらくそのせいでマクロが動きません

418 名前:デフォルトの名無しさん [2020/05/31(日) 02:38:20 ID:2V+gQfrN.net]
>>398
理解できない奴には無理

419 名前:デフォルトの名無しさん [2020/05/31(日) 02:39:52 ID:86R8wtw/.net]
>>391
なんでわたしだけ仕事が増えるんだ
この馬鹿モンが!

420 名前:デフォルトの名無しさん [2020/05/31(日) 02:41:39.96 ID:86R8wtw/.net]
しかも周りに座ってるような同僚は
わたしより仕事スピードが1/2〜1/10の人たちばかりなのに。



421 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 02:50:27.87 ID:0yzq8zA/.net]
>>398
subプロシージャで調べてみ

422 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 02:50:46.87 ID:6kaO8G32.net]
>>399
理解できるように勉強してるので教えてください
図々しいと思いますが

423 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 02:51:03.70 ID:6kaO8G32.net]
>>402
調べてみます!

424 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 02:52:54 ID:wkpADETk.net]
>>401
じゃあ転職しろよw

425 名前:デフォルトの名無しさん [2020/05/31(日) 02:56:41.46 ID:2V+gQfrN.net]
>>403
この段階でわからないこと自体無理なんだよ
仕組みを理解しなければ無理
公式だけ暗記して終わりの馬鹿には無理なんだよ

426 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 03:25:44.77 ID:C8J9R7KI.net]
>>375
ありがとう
でもだめだったわ

427 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 03:27:49.96 ID:C8J9R7KI.net]
>>403
VBA 引数
 
でぐぐる

428 名前:蟻人間 ◆T6xkBnTXz7B0 mailto:sage [2020/05/31(日) 04:00:28 ID:KExNe49d.net]
エクセルにはリファレンスマニュアルが付属していて、追加でインストールするとF1ヘルプで言語仕様まで見られる。
マニュアルがパソコンに入ってなかったら、管理者からエクセルのシーディーを借りてね。

429 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 05:00:56.16 ID:pJwiV8F0.net]
>>398
sub() って文法的に作れないはず
マクロが動かないのは文字列のせいじゃないかもよ

430 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 08:40:31 ID:6kaO8G32.net]
ごめんなさい
sub test ()でした



431 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 08:57:53.05 ID:C8J9R7KI.net]
Sub Test0001()
 Dim i As Integer
 
 For i = 1 To 2
  Dim ary()
  
  MsgBox "ここにブレークポイント設定"
  
  ary = Sheet1.Range(Cells(1, i), Cells(5, i))
 Next i
End Sub


A列とB列にあるいずれも5行目までの値を配列に取得するだけのプログラム
For中の一回転目はA列、2回転目はB列

こうやってForの中でaryを宣言し直せば、aryは初期化されると思い込んでたんだけどダメなのな
2回目にMsgBoxで止まったときにaryみるとA列のデータがaryに残ってしまってる
これってメモリ上に残ってて同じ所を参照し直すからなのかな
Eraseすれば消えるからいいんだけど、気づくのに時間かかったわ
こんな初歩的なこと分かってないでよく今まで組んできた

432 名前:もんだ []
[ここ壊れてます]

433 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 09:44:52 ID:8XtoheO9.net]
すんません今時ブロックスコープない方がアレなんで

434 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 09:49:53 ID:4iioSPSZ.net]
>>398
それはLEFT()が動かないのと同じ理屈。
普通LEFT(A1,5)とか書くから。

435 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 10:44:01.62 ID:GCI/GpSg.net]
>>412
そういう動作を知るためのテストなんじゃね
残っていても上書きされるんだから問題ないし

436 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 10:47:02.74 ID:GCI/GpSg.net]
>>411
sub test("文字列")
ってことか?

437 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 11:53:35 ID:df9CBrpd.net]
>>398
呼び出し元とプロシージャそれぞれ一行ずつ書いてくれよ

438 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 12:34:25 ID:GcFwCYXw.net]
>>412
VBAのDimは書いた場所に関係なく、コード開始時に1回だけ実行される仕様
モジュールの最後に書いても結果は変わらない
Sub Test()
  Dim a()
  For i = 0 To 9
    Dim b()
  Next
  Dim c()
End Sub

439 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 12:42:20 ID:C8J9R7KI.net]
>>413
あーなるほど
そこを考えるんですか、勉強になりましたわ
ただ、改めて疑問に思ったのは、同じブロックスコープ内で再度宣言してもエラーでないのはどういうことなんだろーとか
Forの中での宣言だと繰り返しといっても宣言部分は無視されるってことかな
ま、同じ事しないようにちゃんとおぼえておこ・・・

>>415
このプログラムだとそうなんだけど
ary = Sheet1.Range(Cells(1, i), Cells(5, i))
この部分が、ある条件を満たした場合のみ代入するっていうコードだとします
んで、条件満たさなかった場合には代入されないため、A列のデータがaryに残っちゃっておかしな事になっちゃってたわけですよ
自分で実際に組んでるコードはも少し複雑なものなので

440 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 12:44:02 ID:C8J9R7KI.net]
>>418
ありがとうございます
全然知らなかったです
ちょい調べてみます



441 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 13:55:17.54 ID:W/GxV3g0.net]
>>401
お前は周りにない知識が多少あることに優越感持ってるだけで仕事できる人間の言い分に見えんのよなぁ

442 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 14:13:51 ID:GcFwCYXw.net]
仕事ができる人なら、コードを書くのに何人時かかりますっていう見積もりをざっくりでいいから依頼主にちゃんと提示する
それで依頼を取り下げるかどうかはクライアントの決めること
想定外のトラブルで納期が遅れそうならホウ・レン・ソウして迷惑をかけないようにする

難しいからって愚痴るのはまったく建設的じゃないし、なんの解決にもならない

443 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 15:00:37 ID:py7qoVDy.net]
なんでそんなにかかるの?
どこに時間かかる要素があるの?
やればいいだけでしょ?
○○さんはもっと早かったよ?
次の仕事があるんならそれでいいよ?

444 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 15:05:53 ID:ztYbO9r8.net]
報連相つらいよね…プログラムの難しさよりも報連相の方がつらい…

445 名前:デフォルトの名無しさん [2020/05/31(日) 16:55:11 ID:uJxLAScO.net]
すみませんド素人ですがご教授下さい。

「あるセルを選択して実行すると選択したセル行のA〜D列以外が全て1.1倍される」
というマクロを組みたいです。
ネットで調べて少し作ろうとしてみましたが
知識がありません。

Sub 倍掛け()
Dim SELU As Range '変数名の絶望的センス名
For Each SELU In Selection
SELU.Value = SELU.Value * 1.1
Next SELU
End Sub

Sub 選択したセルの行全選択()
ActiveCell.EntireRow.Select
End Sub

この2つのプロシージャが何となく使えるのかすらわからないのですが試行錯誤しています。
A〜D列を除外というやり方もわかりません。

すみませんが

446 名前:教えていただけないでしょうか。 []
[ここ壊れてます]

447 名前:蟻人間 ◆T6xkBnTXz7B0 mailto:sage [2020/05/31(日) 17:39:48 ID:w6MuXuh+.net]
>>425
Excel for Windows 95で動作確認。

Sub Record1()
Application.Worksheets(1).Select
For I = 5 To 20
For J = 1 To 20
Cells(J, I).Select
ActiveCell.FormulaR1C1 = Val(ActiveCell.FormulaR1C1) * 1.1
Next J
Next
End Sub

448 名前:蟻人間 ◆T6xkBnTXz7B0 mailto:sage [2020/05/31(日) 17:50:31 ID:w6MuXuh+.net]
>>426 「To 20」のところは適当に変更してね。

449 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 18:34:56.03 ID:Gn3uBA4V.net]
>>425
選択した範囲が処理の起点なので、、

  Dim r As Range
  For Each r In Selection
    If r.colunm < 5 Then GoTo nextLoop
    If r.Value = "" Then GoTo nextLoop

    r.Value = r.Value * 1.1
nextLoop:
  Next

こんな感じ?
行全体を対象にしたいみたいだけど、その時はFor文の前に

  Selection.EntireRow.Select

を差し込めばいい。
1万列処理されるけど、、、

450 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 18:39:34 ID:Gn3uBA4V.net]
>>428
綴りを間違っとった
    If r.Column < 5 Then GoTo nextLoop

文字列セルを避けたければ、、以下も追加
    If Not IsNumeric(r.Value) Then GoTo nextLoop



451 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 19:13:07.80 ID:4iioSPSZ.net]
>>424
ああつらい。
上司がメール読まないタイプだと特に。

452 名前:デフォルトの名無しさん [2020/05/31(日) 21:17:59.30 ID:yITbq02Q.net]
馬鹿に馬鹿が答えて滅茶苦茶
簡単な質問だとしゃしゃり出てくるからおかしくなる

453 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 22:48:28.20 ID:6kaO8G32.net]
>>416
そうです!!
カッコ内に文字列です!

454 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 22:49:04.73 ID:6kaO8G32.net]
>>417
呼び出し元…すみません、知識不足でした…

455 名前:デフォルトの名無しさん [2020/05/31(日) 23:06:33.42 ID:2V+gQfrN.net]
>>433
馬鹿には無理だと悟れよ、馬鹿

456 名前:デフォルトの名無しさん mailto:sage [2020/06/01(月) 18:21:12.15 ID:JWhdLJJl.net]
お前もだ

457 名前:デフォルトの名無しさん [2020/06/01(月) 18:38:31 ID:4Uk/Vywe.net]
異動した先輩が作ったマクロに少し追加しようと思って標準モジュール見てみたら
乱れ雪月花
地ずり残月
かすみ二段
パリィ
何これ???と思ったらゲームの技名なのか
見事なプロシージャだけど関連性が全くわからんかった…

458 名前:デフォルトの名無しさん mailto:sage [2020/06/01(月) 18:48:48 ID:jizMt7mj.net]
Sub 乱れ雪月花
  風雪即意付け
  月影の太刀
  三花仙
End Sub

459 名前:デフォルトの名無しさん mailto:sage [2020/06/01(月) 19:40:30 ID:o1fpUPSE.net]
取り敢えずマジックナンバーだらけのを保守しろとかいうのはやめてー
セル参照も起点ぐらいは定数宣言しといて欲しい

460 名前:デフォルトの名無しさん mailto:sage [2020/06/01(月) 19:48:00 ID:xzpno8fJ.net]
1列目の2行目から下にEXCELファイル名があります。(同一ファイル名あり)
それらを全て開く、処理、閉じるを繰り返すと時間がかかるので、同一ファイル名は一度だけ開いて閉じるをやりたいのですがどしたらいいですか?

1列目をソート
Do until 1列目
 ???
  処理

loop

ファイル名は数字(000001.xlsなどで桁数は同じ)
???の所で開くor閉じるをやりたいのですがどうしたらいいですか?



461 名前:デフォルトの名無しさん mailto:sage [2020/06/01(月) 20:00:55.95 ID:Ct20WAoS.net]
パリィは草

462 名前:デフォルトの名無しさん mailto:sage [2020/06/01(月) 20:10:21 ID:MDu2hpC8.net]
>>439
ひとつ上のセルが同じファイル名なら
なにもせず次へ

463 名前:デフォルトの名無しさん mailto:sage [2020/06/01(月) 20:42:10 ID:eRBcTATy.net]
重複禁止の処理は連想配列(VBAだとDictionaryオブジェクト)を使うと便利だよ。

既に連想配列に存在するなら何もしない、存在しないなら処理して連想配列に登録する。
Valueに結果を入れておいて、実行結果をシートに出力とかするとカッコイイよ。

464 名前:デフォルトの名無しさん mailto:sage [2020/06/01(月) 21:05:54 ID:Otvtnefa.net]
結果をシートに出すなら配列使わんと重複削除して

465 名前:ゥら開いた方が速くて楽じゃん []
[ここ壊れてます]

466 名前:デフォルトの名無しさん [2020/06/01(月) 23:34:24 ID:5NIHbXOS.net]
まだ22歳の学生社長が得た、23億円の「使い道」
あの橋本環奈をCMに使うバイトアプリの雄
https://toyokeizai.net/articles/-/319511
中学時代の車いす生活から、17歳で起業するまで
https://www.advertimes.com/20200130/article306925/
ミャンマー発 AIダイニングアプリ「Yathar」をしかける日本人起業家
https://roboteer-tokyo.com/archives/14840
自分の視野は「世の中の0.001%」と自覚せよ。ビジネスチャンスを掴む4つの習慣
https://headlines.yahoo.co.jp/hl?a=20200511-00010001-srnijugo-life
アプリの視聴率がわかる 高専卒起業家の独創力
https://www.nikkei.com/article/DGXMZO46695580Y9A620C1000000/
1万人の若者を支援!インターンが日本を変えるかも!? glowshipの若き創業者・足立卓也氏インタビュー
https://sogyotecho.jp/glowship-adachi-interview/
大学生起業家が設立1年で20億円調達! 単発バイトアプリに外食企業など出資【タイミー】
https://foodfun.jp/archives/3490

467 名前:デフォルトの名無しさん mailto:sage [2020/06/02(火) 00:29:20 ID:hEtyTtKQ.net]
俺ならこうかな。

Sub サンペイグッドカメラ()
 どっきりカメラのキシフォート
 カメラのドイ
End Sub

468 名前:デフォルトの名無しさん mailto:sage [2020/06/02(火) 00:35:26 ID:0adtr6kX.net]
VBAだしそういう名前面白いかもなw
簡単だけど保守したくないやつは、もう先輩や同僚の連絡先を名前にしようかな

469 名前:デフォルトの名無しさん [2020/06/02(火) 01:36:20.19 ID:rfJHDu9M.net]
Sub 馬鹿専用()
馬鹿には無理()
馬鹿は帰れ()
End Sub

470 名前:デフォルトの名無しさん mailto:sage [2020/06/02(火) 02:01:31.67 ID:cr7Q5ahz.net]
Sub 鱸()
鰯()
鰹()
鮪()
End Sub



471 名前:デフォルトの名無しさん mailto:sage [2020/06/02(火) 02:07:31.79 ID:SOkkDiQ6.net]
>>439
Ruby なら重複要素を許さない、集合を使って、

require 'set'

filenames = <<"EOT"
a/foo.txt
a/bar.txt
a/foo.txt
EOT

set = Set.new

filenames.each_line do |filename| # 1行ずつ処理する
filename.chomp! # 末尾の改行を削除する

# 同じ要素は追加できないので、追加できた時だけ、そのファイルを読み込む
p File.read( filename ) if set.add?( filename )
end

472 名前:デフォルトの名無しさん mailto:sage [2020/06/02(火) 02:24:02 ID:cr7Q5ahz.net]
>>439
[データ]→[重複の削除] って機能あるけど

473 名前:デフォルトの名無しさん mailto:sage [2020/06/02(火) 04:12:46 ID:xDFjMRpH.net]
>>439
ファイル名がリストアップされてる列があるなら
そこでまず回して重複排除したファイル名の配列 as Stringをつくればいいだけじゃ
てかその程度も思い浮かばないとなるとプログラミング向いてないような気がするわ

重複排除のプログラムって基礎の基礎でやるよ

便利な機能を使う前に順次・分岐・繰り返しでほぼほぼなんでも出来ちゃうことを学んだ方がいいわ
C言語の勉強するとそういうの鍛えられる感じする

474 名前:デフォルトの名無しさん mailto:sage [2020/06/02(火) 08:37:46 ID:ZejDuh3H.net]
>>364
Readme読む限り、ちょっとこれはと思う。
一定間隔はあまり良くないな。
出来ればWM_DRAWCLIPBOARD捕まえるのが常套手段。

475 名前:デフォルトの名無しさん mailto:sage [2020/06/02(火) 08:39:17 ID:ZejDuh3H.net]
>>386
まあ、プログラマ―としては糞コードの見本を強要されるわけだからねえ。

476 名前:デフォルトの名無しさん mailto:sage [2020/06/02(火) 08:41:06 ID:ZejDuh3H.net]
>>398
引数という言葉を調べてみよう。

477 名前:デフォルトの名無しさん mailto:sage [2020/06/02(火) 09:53:39.10 ID:DG4jD+ms.net]
い・・引数

478 名前:デフォルトの名無しさん mailto:sage [2020/06/02(火) 10:17:05 ID:ZKdkos41.net]
いんすう、なの?
勝手に、ひきすう、って読んでた。

479 名前:デフォルトの名無しさん mailto:sage [2020/06/02(火) 10:38:01.33 ID:HxakEXb6.net]
いんすうだと因数と間違えるから、わざとひきすうと読む慣習

480 名前:デフォルトの名無しさん [2020/06/02(火) 11:01:38 ID:P+GfDheU.net]
ソヒキスウブンカイとかあったよねー。



481 名前:デフォルトの名無しさん mailto:sage [2020/06/02(火) 11:28:56 ID:Bxw1Fg+T.net]
淫吸だとエロい言葉に聞こえるからひきすうと読む

482 名前:デフォルトの名無しさん [2020/06/02(火) 12:59:58 ID:86yzZ856.net]
Sub セル2行を結合して出力()
    Sheets("雛型").Select
    ActiveSheet.Copy
 
    Dim gg As Long, rr As Long
    For gg = Cells(Rows.Count, "E").End(xlUp).Row To 11 Step -1
        Rows(gg + 1).Insert
        For rr = 5 To 31
            Cells(gg, rr).Resize(2).Merge
        Next rr
    Next gg
    HorizontalAlignment = xlCenter
    VerticalAlignment = xlCenter
    Range("A1") = "2行を結合して出力"
 End Sub

すみません、ネットで調べまくってる相変わらずのど初心者です。
セルの行挿入と結合を範囲指定して
2行を結合するのは何とか調べてできたのですが、
「セルの列挿入と結合を繰り返して
2列1行のセルにしたい」
というのができず。。ご教示頂けませんか。

理想は
「セルを2列挿入と結合をして3列1行のセルにする」や
「2列と2行の挿入と結合繰り返して2列2行のセルにする」
など、色々パターンを作りたいのですが。
ネットと入門編の本だとやはり限界を感じます。。
どなかた何卒お願いします。

483 名前:デフォルトの名無しさん mailto:sage [2020/06/02(火) 13:09:54.31 ID:YHzZdfxN.net]
.resize(1,2).mergeとか
Range(rows(gg+1)rows(gg+2)).insertとか

484 名前:デフォルトの名無しさん mailto:sage [2020/06/02(火) 14:39:08.29 ID:cr7Q5ahz.net]
セルの結合をマクロでやる設計者ってセンスないね

485 名前:デフォルトの名無しさん mailto:sage [2020/06/02(火) 14:42:20 ID:cr7Q5ahz.net]
マクロとVBAな

486 名前:デフォルトの名無しさん mailto:sage [2020/06/02(火) 16:30:35 ID:wladzkcs.net]
セル結合はなあ

487 名前:デフォルトの名無しさん mailto:sage [2020/06/02(火) 17:14:02 ID:3pwUYc8f.net]
vlookupとセル結合をディスってはじめてexcel使い方として一人前

488 名前:デフォルトの名無しさん mailto:sage [2020/06/02(火) 17:30:35.84 ID:ZKdkos41.net]
セル結合は帳票イメージでの最終手段。

489 名前:デフォルトの名無しさん [2020/06/02(火) 17:36:37.19 ID:86yzZ856.net]
セルの結合をする理由は
取引先の提出フォームが客先ごとに
1セルの結合の構成が本当に様々で8種類くらいパターンがあり
元のマクロで出した値の貼り付けが出来ないのが現状です。

なので元のマクロの1行1列のセルの値を
セルの構成を客先のに合わせたシートに出力
そのシートから客先提出フォームに値の貼りつけ
というのをやろうとしています。

490 名前:デフォルトの名無しさん [2020/06/02(火) 17:42:54.46 ID:86yzZ856.net]
>>461
すみません、どこにどう弄ったらいいか
教えて頂きたいです。
すみません、、



491 名前:デフォルトの名無しさん [2020/06/02(火) 17:45:43.97 ID:lB7mMLW8.net]
>>468
自分で考えろ

492 名前:デフォルトの名無しさん mailto:sage [2020/06/02(火) 18:33:10 ID:0adtr6kX.net]
じゃあ8種類のテンプレでよくね

493 名前:デフォルトの名無しさん mailto:sage [2020/06/02(火) 18:40:35 ID:bGVvB1yX.net]
結合したりvlookupとかしたいから、わざわざエクセル使ってるんじゃないの?

494 名前:デフォルトの名無しさん mailto:sage [2020/06/02(火) 18:55:17 ID:R+Y1d9Tj.net]
セル結合された部分は別の結合とかできないから
その都度結合解除するとか
行の挿入や削除で表が壊れたり
見えなくなるプロパティがあったり
嫌な思い出しかない

495 名前:デフォルトの名無しさん mailto:sage [2020/06/02(火) 19:17:40.08 ID:xDFjMRpH.net]
Application.OnKey ってプロシージャに引数渡せないのが残念だなぁ
これってキーごとにプロシージャ作らないといけないかね

496 名前:デフォルトの名無しさん mailto:sage [2020/06/02(火) 19:20:48.48 ID:ZejDuh3H.net]
>>462
そんなこたぁねえだろ。
確かに問題多いけど、分かった上で使うことあるぜ。
ゴミのSendkeys使うよりはあるね。

497 名前:デフォルトの名無しさん [2020/06/02(火) 19:31:05.26 ID:0+iVbcJA.net]
Sub 列挿入()
ActiveSheet.Copy

Dim i As Long
For i = 32 To 8 Step -1
Columns(i).Insert
Next

End Sub
ここまでは何とか、、ってとこです。
後は指定したの行を全部何とか
2列1行のセルに
道のりが遠すぎる…

498 名前:デフォルトの名無しさん [2020/06/02(火) 19:38:40.44 ID:xX39KyXM.net]
データモデルに入れたデータからSQLを使ってシートに出力する方法を教えてください。

ネットになかなか情報がなくて
ListObjects.Add(SourceType:=4, Source:=ActiveWorkbook.Connections("クエリ - パワークエリ名"), Destination:=Range("$A$1")).TableObject
から
.WorkbookConnection.OLEDBConnection.CommandText = "テーブル名" にするとテーブルを出力

.CommandText = Array("EVALUATE CALCULATETABLE('テーブル名' , 'テーブル名'[項目名] =""検索語"" ) ")
.CommandType = xlCmdDAX
のようにするとDAX式で加工したテーブルを出力できるようになりましたが、SQLを使用する方法がわかりません。

499 名前:デフォルトの名無しさん mailto:sage [2020/06/03(水) 03:13:14.17 ID:4xNyRocT.net]
>>475
Sub 列挿入()
ActiveSheet.Copy

Dim i As Long, c As Long, r As Long 'カウント用
Const n As Long = 2 '列挿入, 列マージ数
Const sC As Long = 8, eC As Long = 32 '開始列, 終了列
Const sR As Long = 2, eR As Long = 10 '開始行, 終了行

With Excel.Application
.DisplayAlerts = False
.ScreenUpdating = False
End With

For c = eC To sC Step -1
For i = 1 To n - 1
Columns(c).Insert
Next i
Next c

For c = eC * n To sC Step -n
For r = sR To eR
Cells(r, c).Resize(1, n).Merge
Next r
Next

With Excel.Application
.DisplayAlerts = True
End With

End Sub

500 名前:デフォルトの名無しさん mailto:sage [2020/06/03(水) 03:29:44 ID:4xNyRocT.net]
あっ行別の列マージならRange.Merge Across:=Trueってのがあるのか初めて知ったわ



501 名前:デフォルトの名無しさん [2020/06/03(水) 17:16:57.27 ID:AwTWg+pQ.net]
すいません。関数を使って集計する方法を教えていただけないでしょうか。
index matchの組み合わせもしくは、sumifもしくはindex match sumifの複合で表示させたいです。

画像の出荷と書かれたセルに関数を入れて集計したいです。
集計は参照シートの黄色で書かれた「販売+その他出荷」の合計を表示したいです。
sumifでは縦の計算になってしまい、横の足し算が出来ない印象です。
上の数字はmatchを使った際の引用条件になると思い入れました。

説明わかりづらくてすいません。関数を教えていただけないでしょうか。
具体例のエクセルは簡単に書いてますが、実際に書くエクセルはデータが膨大なものです。
なぜかindexもうまく引用できていませんでした。


https://d.kuku.lu/ca513f39a8

502 名前:デフォルトの名無しさん [2020/06/03(水) 17:19:07.42 ID:bl/wSmIk.net]
>>479
死ねよ、ここは何のスレかわかっているか?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<267KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef