X



Excel VBA 質問スレ Part66

レス数が1000を超えています。これ以上書き込みはできません。
0937デフォルトの名無しさん
垢版 |
2020/06/22(月) 02:30:48.70ID:6UseFZdn
>>936
え?
Excel vba を仕事にするのが会社の重要な業務である業界ってどこですか?
0938デフォルトの名無しさん
垢版 |
2020/06/22(月) 03:23:12.33ID:CPlWdThO
>>937
お前の会社は何の業界の会社だよw
例えば30代のバイトが梱包している作業のほうが会社にとって利益をもたらすんじゃないのか
0939デフォルトの名無しさん
垢版 |
2020/06/22(月) 08:49:37.60ID:no76adsC
ヨコレスだけど30代に梱包やらせる会社とか潰れちまえ
頭も体も回る年代なんだから大いに無駄な事やらせた方がいいと思うね
年食って手数よりも口数のほうが多くなってきたら梱包に回せ
0940デフォルトの名無しさん
垢版 |
2020/06/22(月) 10:07:31.70ID:lKh0OPb2
では無能な30代には何をやらせれば良いのだ?
0942デフォルトの名無しさん
垢版 |
2020/06/22(月) 10:44:00.06ID:i2ShoQV/
VBAスレなのにバイトの仕事がどうのって話になってて、さすがだなっておもいましたwww
0948デフォルトの名無しさん
垢版 |
2020/06/22(月) 12:26:25.71ID:qDFuj4q3
馬鹿ばっか
0949デフォルトの名無しさん
垢版 |
2020/06/22(月) 18:17:44.27ID:es1/qSoW
一年限定で異動してきた職場
噂に聞いてたけど想像を絶するところだった
エクセル使う業務がほとんどなのに
関数使える人が数人、まともな人は確かにいる

ふとみたおっさんはエクセルの表の合計を電卓で足してキーボードでそれを打ち込

ふとおばちゃん達は
「ここ選択してイコールの後にアルファベットと数値と同じ数値が反映される」
「えー!そうなの?」
と会話してる
マクロ以前の問題だった
0950デフォルトの名無しさん
垢版 |
2020/06/22(月) 18:44:26.90ID:CPlWdThO
管理者が無能だと会社がなくなる
管理者が有能なら無能な人材に高い給料は出さない
0955デフォルトの名無しさん
垢版 |
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で書けるのか、他にスマートな書き方があるのか見当がつきません

フォームでどのセルに入力するか選んで値を入れてボタンを押すと
全てのセルが埋まる、というのが理想です

アドバイスを頂けたらありがたいです
よろしくおねがいします
0956デフォルトの名無しさん
垢版 |
2020/06/23(火) 01:09:31.87ID:kv8byCI9
for r=1 to 5
if 入力されたセルじゃない場合
cells = 入力された数値かける定数
end if
next

みたいな感じでは?
0958デフォルトの名無しさん
垢版 |
2020/06/23(火) 01:53:19.74ID:bE26MwSl
>>955
ちょっとだけとか書くなよ
全くわかっていない馬鹿だろうが
0959デフォルトの名無しさん
垢版 |
2020/06/23(火) 02:25:19.01ID:akfNW9d5
入力セルによらず割合が一定なら100%の値を出してからそれをループで入れろバカか
0961デフォルトの名無しさん
垢版 |
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
0962デフォルトの名無しさん
垢版 |
2020/06/23(火) 07:50:59.28ID:xSXJEKQO
意図が伝わるようにユーザーフォームで入力させた方がいいように見えるな
visibleのtrue ,false切り替えでうまくやりたい
0963955
垢版 |
2020/06/23(火) 09:36:33.10ID:bSgedWTD
ご教示下さったみなさまありがとうございます

>>961
丁寧にありがとうございます
書いて頂いたのでなんとかなりそうです
0965961
垢版 |
2020/06/23(火) 12:34:05.64ID:5v5sJ6te
>>963
スマホで寝ながら打ったから
Win7のExcel2010にコピペして確認してみたらミスってた
訂正。大文字だったスマソ then>Then
https://i.imgur.com/LQvQjn9.png
0966デフォルトの名無しさん
垢版 |
2020/06/23(火) 13:08:23.25ID:AqGxlhQk
VBEが勝手に大文字に直してくれるから、ステートメントは全部小文字で入力してるわ
0967デフォルトの名無しさん
垢版 |
2020/06/23(火) 16:26:51.99ID:lLVW3adv
UsedRangeの使えなさに絶望しました
あれってなに目的で使えんの?

>>966
おれもそれチェック代わりに使ってるんで
変数はほぼ全て大文字スタートだわ
他言語だとやらないけどVBAはエディタがあれなんで
0970デフォルトの名無しさん
垢版 |
2020/06/23(火) 18:22:23.82ID:z7FZNG3t
usedrangeはファイルの中身を検査する時に使うな
個人情報が入ってないかとか
0971デフォルトの名無しさん
垢版 |
2020/06/23(火) 18:28:15.83ID:X4/0OZ1g
UsedRangeは普通に使うぞ。
寧ろ、一番使うかも。

Excelの固定じゃない範囲を取得する場合、これでOKというようなものが無い。
都度考えることになる。
0974デフォルトの名無しさん
垢版 |
2020/06/23(火) 22:16:19.70ID:zDUcrbEK
やっと念願の夢かなって生産現場に異動できそう
PCをあまり使わなくなる職場にいけるから
マクロ組んだりもほとんどしなくて済むから嬉しすぎる
そしてここで教えてくれた人たちへの恩も忘れられんよ
0975デフォルトの名無しさん
垢版 |
2020/06/23(火) 22:27:25.32ID:UicElvK7
ひでぇなぁ忘れられちゃうのかぁ残念
汗だくの梱包現場からエアコン効いた部屋に行きたいよ
0976デフォルトの名無しさん
垢版 |
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

何がだめ?
0981デフォルトの名無しさん
垢版 |
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
0984デフォルトの名無しさん
垢版 |
2020/06/24(水) 16:11:20.98ID:ec8khzg7
Set Target = Range("P:P").Find(What:="田中")

この田中を変数というか特定のセルの値にしたい場合どうしたらいい?
A1のセル内容を参照したいとする
0985デフォルトの名無しさん
垢版 |
2020/06/24(水) 16:18:53.01ID:ec8khzg7
あ、できた
ごめん自分は京都大学霊長類研究所のジェームズという7歳のチンパンジーだからVBAよくわからないんだ
皆さんありがとございまうす
0986デフォルトの名無しさん
垢版 |
2020/06/24(水) 16:21:57.07ID:4/s69xMY
>>985
解決内容を書けチンパンジー
0989デフォルトの名無しさん
垢版 |
2020/06/24(水) 19:26:45.24ID:aYj5R9EO
自分で使う分にはエラー終了でも正常終了でも変わらんし
0990デフォルトの名無しさん
垢版 |
2020/06/25(木) 14:24:07.38ID:UL1INOQI
In Range("R:R")
というのがあるとして
R列全体を選択するのはマストなんだけど
ホントはR7からソレ以下全部にしたい
In Range("R7:R")ではうまく行かないみたいだしこういう場合ってどうしたらいいんだろう
0991デフォルトの名無しさん
垢版 |
2020/06/25(木) 14:52:26.82ID:fOnLoXil
usedrangeじゃ駄目なんですか?
0996デフォルトの名無しさん
垢版 |
2020/06/25(木) 17:54:02.59ID:xz2BRr37
>>990
何故最終行までという指定を省こうとするのか?
先に真っ当な手順で実現できてないのに想像で勝手に省いてうまくいかないってどういうつもりなのか?
0998デフォルトの名無しさん
垢版 |
2020/06/25(木) 18:26:51.87ID:BKkovaqh
何そのダメ先生
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 46日 5時間 1分 20秒
レス数が1000を超えています。これ以上書き込みはできません。

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