ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part65
https://mevius.5ch.net/test/read.cgi/tech/1584430040/
※デフォルト設定
Excel VBA 質問スレ Part66
レス数が1000を超えています。これ以上書き込みはできません。
11000
2020/05/10(日) 13:43:45.00ID:Nkoph0aj952デフォルトの名無しさん
2020/06/22(月) 23:08:43.37ID:eYhHFxw6 VBAでイキるの面白すぎるからやめて
953デフォルトの名無しさん
2020/06/22(月) 23:16:11.85ID:R2BScS4S やめたら面白くないだろ
954デフォルトの名無しさん
2020/06/23(火) 00:55:19.86ID:TulROOqi 30代の梱包バイトのおばちゃんがVBAできないとか比較する方がおかしい
955デフォルトの名無しさん
2020/06/23(火) 01:00:04.26ID:bSgedWTD VBA素人です
というか、ちょっとだけPHPを書いたことがある程度のプログラム初心者です
セルA1:A5のどこか一箇所に値を入力すれば全てのセルが埋まるようにしたいのです
全てのセルには入力された値に対して決まったパーセンテージをかける
たとえばA1に100と入力されたらA2~5にはそれぞれA1*○%(○はA2~5とも異なる)
A2に100と入力されたらA1及びA3~5にそれぞれA2*○%
多分条件分岐でいうと
if A1が空白でないならA1には入力した値、A2*○%、A3*○%・・・
elseif A2が空白でないなら・・・
みたいな感じになるのかなと思うのですが冗長ですよね…
do Whileで書けるのか、他にスマートな書き方があるのか見当がつきません
フォームでどのセルに入力するか選んで値を入れてボタンを押すと
全てのセルが埋まる、というのが理想です
アドバイスを頂けたらありがたいです
よろしくおねがいします
というか、ちょっとだけPHPを書いたことがある程度のプログラム初心者です
セルA1:A5のどこか一箇所に値を入力すれば全てのセルが埋まるようにしたいのです
全てのセルには入力された値に対して決まったパーセンテージをかける
たとえばA1に100と入力されたらA2~5にはそれぞれA1*○%(○はA2~5とも異なる)
A2に100と入力されたらA1及びA3~5にそれぞれA2*○%
多分条件分岐でいうと
if A1が空白でないならA1には入力した値、A2*○%、A3*○%・・・
elseif A2が空白でないなら・・・
みたいな感じになるのかなと思うのですが冗長ですよね…
do Whileで書けるのか、他にスマートな書き方があるのか見当がつきません
フォームでどのセルに入力するか選んで値を入れてボタンを押すと
全てのセルが埋まる、というのが理想です
アドバイスを頂けたらありがたいです
よろしくおねがいします
956デフォルトの名無しさん
2020/06/23(火) 01:09:31.87ID:kv8byCI9 for r=1 to 5
if 入力されたセルじゃない場合
cells = 入力された数値かける定数
end if
next
みたいな感じでは?
if 入力されたセルじゃない場合
cells = 入力された数値かける定数
end if
next
みたいな感じでは?
957デフォルトの名無しさん
2020/06/23(火) 01:33:11.82ID:kv8byCI9 あー、これじゃダメみたい、すみません。
958デフォルトの名無しさん
2020/06/23(火) 01:53:19.74ID:bE26MwSl959デフォルトの名無しさん
2020/06/23(火) 02:25:19.01ID:akfNW9d5 入力セルによらず割合が一定なら100%の値を出してからそれをループで入れろバカか
960デフォルトの名無しさん
2020/06/23(火) 03:24:31.72ID:TulROOqi >>955
俺なら入力は1か所(A1)だけにして A2〜A5 は 入力させない or "=A1" にでもするかもな
俺なら入力は1か所(A1)だけにして A2〜A5 は 入力させない or "=A1" にでもするかもな
961デフォルトの名無しさん
2020/06/23(火) 05:39:38.41ID:BwhdgQkj >>955ユーザーフォームにリストボックスとテキストボックスとコマンドボタンを作成し以下
Dim val As Double
Private Sub UserForm_Initialize()
With ListBox1
.AddItem "A1"
.AddItem "A2"
End With
End Sub
Private Sub CommandButton1_Click()
If UserForm1.ListBox1.Value="A1" then
val = UserForm1.TextBox1.Value
A1
Else If UserForm1.ListBox1.Value="A2" then
val = UserForm1.TextBox1.Value
A2
End If
End Sub
Sub A1()
Range("A1").value=val
Range("A2").value=val*0.2
Range("A3").value=val*0.3
Range("A4").value=val*0.4
Range("A5").value=val*0.5
End Sub
Sub A2()
Range("A1").value=val*0.1
Range("A2").value=val
Range("A3").value=val*0.3
Range("A4").value=val*0.4
Range("A5").value=val*0.5
End Sub
Dim val As Double
Private Sub UserForm_Initialize()
With ListBox1
.AddItem "A1"
.AddItem "A2"
End With
End Sub
Private Sub CommandButton1_Click()
If UserForm1.ListBox1.Value="A1" then
val = UserForm1.TextBox1.Value
A1
Else If UserForm1.ListBox1.Value="A2" then
val = UserForm1.TextBox1.Value
A2
End If
End Sub
Sub A1()
Range("A1").value=val
Range("A2").value=val*0.2
Range("A3").value=val*0.3
Range("A4").value=val*0.4
Range("A5").value=val*0.5
End Sub
Sub A2()
Range("A1").value=val*0.1
Range("A2").value=val
Range("A3").value=val*0.3
Range("A4").value=val*0.4
Range("A5").value=val*0.5
End Sub
962デフォルトの名無しさん
2020/06/23(火) 07:50:59.28ID:xSXJEKQO 意図が伝わるようにユーザーフォームで入力させた方がいいように見えるな
visibleのtrue ,false切り替えでうまくやりたい
visibleのtrue ,false切り替えでうまくやりたい
963955
2020/06/23(火) 09:36:33.10ID:bSgedWTD964デフォルトの名無しさん
2020/06/23(火) 10:14:19.39ID:eVy5K5L9 コピペ
965961
2020/06/23(火) 12:34:05.64ID:5v5sJ6te >>963
スマホで寝ながら打ったから
Win7のExcel2010にコピペして確認してみたらミスってた
訂正。大文字だったスマソ then>Then
https://i.imgur.com/LQvQjn9.png
スマホで寝ながら打ったから
Win7のExcel2010にコピペして確認してみたらミスってた
訂正。大文字だったスマソ then>Then
https://i.imgur.com/LQvQjn9.png
966デフォルトの名無しさん
2020/06/23(火) 13:08:23.25ID:AqGxlhQk VBEが勝手に大文字に直してくれるから、ステートメントは全部小文字で入力してるわ
967デフォルトの名無しさん
2020/06/23(火) 16:26:51.99ID:lLVW3adv UsedRangeの使えなさに絶望しました
あれってなに目的で使えんの?
>>966
おれもそれチェック代わりに使ってるんで
変数はほぼ全て大文字スタートだわ
他言語だとやらないけどVBAはエディタがあれなんで
あれってなに目的で使えんの?
>>966
おれもそれチェック代わりに使ってるんで
変数はほぼ全て大文字スタートだわ
他言語だとやらないけどVBAはエディタがあれなんで
968デフォルトの名無しさん
2020/06/23(火) 17:18:02.36ID:JWFUfSAs >>967
間違った使い方してるだけじゃないのか
間違った使い方してるだけじゃないのか
969デフォルトの名無しさん
2020/06/23(火) 18:21:08.83ID:coVE1fyX >>967
グラフ自動生成するときとかに使ってる
グラフ自動生成するときとかに使ってる
970デフォルトの名無しさん
2020/06/23(火) 18:22:23.82ID:z7FZNG3t usedrangeはファイルの中身を検査する時に使うな
個人情報が入ってないかとか
個人情報が入ってないかとか
971デフォルトの名無しさん
2020/06/23(火) 18:28:15.83ID:X4/0OZ1g UsedRangeは普通に使うぞ。
寧ろ、一番使うかも。
Excelの固定じゃない範囲を取得する場合、これでOKというようなものが無い。
都度考えることになる。
寧ろ、一番使うかも。
Excelの固定じゃない範囲を取得する場合、これでOKというようなものが無い。
都度考えることになる。
972デフォルトの名無しさん
2020/06/23(火) 21:35:23.31ID:LvHFRgi0 値化とか
973デフォルトの名無しさん
2020/06/23(火) 21:40:15.53ID:LvHFRgi0 2次元の動的配列にバックデータを突っ込むときに使う
974デフォルトの名無しさん
2020/06/23(火) 22:16:19.70ID:zDUcrbEK やっと念願の夢かなって生産現場に異動できそう
PCをあまり使わなくなる職場にいけるから
マクロ組んだりもほとんどしなくて済むから嬉しすぎる
そしてここで教えてくれた人たちへの恩も忘れられんよ
PCをあまり使わなくなる職場にいけるから
マクロ組んだりもほとんどしなくて済むから嬉しすぎる
そしてここで教えてくれた人たちへの恩も忘れられんよ
975デフォルトの名無しさん
2020/06/23(火) 22:27:25.32ID:UicElvK7 ひでぇなぁ忘れられちゃうのかぁ残念
汗だくの梱包現場からエアコン効いた部屋に行きたいよ
汗だくの梱包現場からエアコン効いた部屋に行きたいよ
976デフォルトの名無しさん
2020/06/24(水) 10:22:12.41ID:XfIA0IcT Sub Sample1()
Dim Target As Range
Set Target = Range("P:P").FiVBA エラー 91
これで
オブジェクト変数または With ブロック変数が設定されていません。t.Offset(0, 1)
End Sub
何がだめ?
Dim Target As Range
Set Target = Range("P:P").FiVBA エラー 91
これで
オブジェクト変数または With ブロック変数が設定されていません。t.Offset(0, 1)
End Sub
何がだめ?
977デフォルトの名無しさん
2020/06/24(水) 10:26:15.72ID:7kmsZdqz FiVBAって命令あるの?
978デフォルトの名無しさん
2020/06/24(水) 13:23:42.08ID:hNjrAS7L tってなんだよ
宣言してないオブジェクト変数が動くわけないだろ
宣言してないオブジェクト変数が動くわけないだろ
979デフォルトの名無しさん
2020/06/24(水) 13:58:43.39ID:LpqCs0qI なにがだめって聞かれても全てがとしか
980デフォルトの名無しさん
2020/06/24(水) 14:29:06.16ID:jVCudKEf ちゃんと内容を確認しないのが駄目
981デフォルトの名無しさん
2020/06/24(水) 14:58:07.29ID:ec8khzg7 ごめん間違えた
これです
Sub Sample1()
Dim Target As Range
Set Target = Range("P:P").Find(What:="田中")
MsgBox Target.Offset(0, 1)
End Sub
これです
Sub Sample1()
Dim Target As Range
Set Target = Range("P:P").Find(What:="田中")
MsgBox Target.Offset(0, 1)
End Sub
982デフォルトの名無しさん
2020/06/24(水) 15:31:45.69ID:7kmsZdqz983デフォルトの名無しさん
2020/06/24(水) 16:03:07.42ID:A95Qwidx >>981
田中がないんだろどうせ
田中がないんだろどうせ
984デフォルトの名無しさん
2020/06/24(水) 16:11:20.98ID:ec8khzg7 Set Target = Range("P:P").Find(What:="田中")
この田中を変数というか特定のセルの値にしたい場合どうしたらいい?
A1のセル内容を参照したいとする
この田中を変数というか特定のセルの値にしたい場合どうしたらいい?
A1のセル内容を参照したいとする
985デフォルトの名無しさん
2020/06/24(水) 16:18:53.01ID:ec8khzg7 あ、できた
ごめん自分は京都大学霊長類研究所のジェームズという7歳のチンパンジーだからVBAよくわからないんだ
皆さんありがとございまうす
ごめん自分は京都大学霊長類研究所のジェームズという7歳のチンパンジーだからVBAよくわからないんだ
皆さんありがとございまうす
986デフォルトの名無しさん
2020/06/24(水) 16:21:57.07ID:4/s69xMY >>985
解決内容を書けチンパンジー
解決内容を書けチンパンジー
987デフォルトの名無しさん
2020/06/24(水) 17:53:24.17ID:A95Qwidx 自己紹介や自分語りはいらん
988デフォルトの名無しさん
2020/06/24(水) 19:08:49.57ID:Ra7WLueW >>984
Nothingのエラ―対処が出来て無いってのはみんなが通る道だ。
Nothingのエラ―対処が出来て無いってのはみんなが通る道だ。
989デフォルトの名無しさん
2020/06/24(水) 19:26:45.24ID:aYj5R9EO 自分で使う分にはエラー終了でも正常終了でも変わらんし
990デフォルトの名無しさん
2020/06/25(木) 14:24:07.38ID:UL1INOQI In Range("R:R")
というのがあるとして
R列全体を選択するのはマストなんだけど
ホントはR7からソレ以下全部にしたい
In Range("R7:R")ではうまく行かないみたいだしこういう場合ってどうしたらいいんだろう
というのがあるとして
R列全体を選択するのはマストなんだけど
ホントはR7からソレ以下全部にしたい
In Range("R7:R")ではうまく行かないみたいだしこういう場合ってどうしたらいいんだろう
991デフォルトの名無しさん
2020/06/25(木) 14:52:26.82ID:fOnLoXil usedrangeじゃ駄目なんですか?
992デフォルトの名無しさん
2020/06/25(木) 15:35:07.92ID:eDJAI9Nl テーブルにすれば?
993デフォルトの名無しさん
2020/06/25(木) 15:38:48.25ID:emOdy//g cellsでそこから最終行まで指定すればいいじゃない
994デフォルトの名無しさん
2020/06/25(木) 16:00:07.27ID:eepaDL1r colmns.countが最終桁番号だしApplication.Intersectで指定2範囲の重複部分だせるし
995デフォルトの名無しさん
2020/06/25(木) 16:24:03.44ID:oGWS7APt 直感的にやるならRange(Range("R7"),Range("R7").End(xlDown))でいいんじゃない
996デフォルトの名無しさん
2020/06/25(木) 17:54:02.59ID:xz2BRr37997デフォルトの名無しさん
2020/06/25(木) 17:54:59.62ID:orhJfehX きたこれ
VBA歴2ヶ月なのに俺は職場のPCの先生から神様扱い
VBA歴2ヶ月なのに俺は職場のPCの先生から神様扱い
998デフォルトの名無しさん
2020/06/25(木) 18:26:51.87ID:BKkovaqh 何そのダメ先生
999デフォルトの名無しさん
2020/06/25(木) 18:32:44.98ID:0L1EfJ/H おだてられて浮かれてるだけだなw
1000デフォルトの名無しさん
2020/06/25(木) 18:45:05.09ID:goJhPQKd うー
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 46日 5時間 1分 20秒
新しいスレッドを立ててください。
life time: 46日 5時間 1分 20秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★2 [Hitzeschleier★]
- 「暖房が使えない」「食費が高くて子どもの栄養が…」 物価高に苦しむ子育て世帯、政府に期待する支援は [蚤の市★]
- 【米国】「トランプ・ゴールドカード」の受付開始 1億5600万円でアメリカの永住権を獲得 ウェブサイトで申し込み [ぐれ★]
- 【東京】テレ朝本社から社外スタッフの男性が転落し死亡 テレビ朝日がコメント 通行人の男性巻き込まれ軽傷 六本木 [ぐれ★]
- パワフル女性世界3位に高市首相 米誌フォーブス選出 [蚤の市★]
- 高市首相、トランプ米大統領に「早期に会いたい」 日中関係悪化受け… ★5 [BFU★]
- 高市「野党はもう債権とか為替の話はしないで!よく分からないから答えない!」 [884040186]
- 日本人特有の「部活動の軍隊ごっこ」、ついに終わる… 中学生の部活が次々と地域クラブ化へ [452836546]
- エナジードリンク、危険だった。飲酒喫煙もせずランニングが趣味の54歳の若者が毎日たった8本飲むだけで脳卒中に [742348415]
- Twitter医師ら「死ぬほど勉強して博愛精神求められるとかそらみんな美容外科なるわ。嫌なら普通の医療も保険診療廃止しろ!」 [762037879]
- はるととかいうスマブラやってる不登校のガキしね
- ホロライブvtuberさん、ソシャゲに登場するも演技力で界隈に衝撃が走る [329329848]
