X



Excel VBA 質問スレ Part52

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2018/01/27(土) 20:25:05.67ID:Xe+uGT7T
スレ立ての際は一行目に
!extend:checked:vvvvv:1000:512
と入れてスレ立てして下さい

ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK

※関連スレ
VBAなんでも質問スレ Part2
http://mevius.2ch.net/test/read.cgi/tech/1432173164/
Access VBA 質問スレ Part1
http://mevius.2ch.net/test/read.cgi/tech/1328536426/

※前スレ
Excel VBA 質問スレ Part51
http://mevius.2ch.net/test/read.cgi/tech/1510107990/
0586デフォルトの名無しさん
垢版 |
2018/03/30(金) 23:29:47.99ID:BIk3pBCX
既にfso使ってるならそのif分の中でGetBaseNameで取得すりゃいいのでわ
酔っ払ってんのか?
0587デフォルトの名無しさん
垢版 |
2018/03/30(金) 23:31:17.74ID:7HVZnQv9
>>585
Dir(ThisWorkbook.Path & "\*.xls")

のような感じでしょうか?

(ThisWorkbook.Pathのところに何となく違和感がありますが。)
0588デフォルトの名無しさん
垢版 |
2018/03/30(金) 23:34:41.59
>>584
If 〜 Then N = N + 1 を複数行にして

If 〜 Then
If N = 0 Then strFirstFileName = ff.Name
N = N + 1
End If

にすればいい
0589デフォルトの名無しさん
垢版 |
2018/03/30(金) 23:46:29.02ID:7HVZnQv9
>>586
("Scripting.FileSystemObject") の部分、ちゃんと理解できておりませんでした・・・。
うまく使えばGetBaseNameでファイル名が取得できるのですね。
ありがとうございました。

>>588
そのコードで今回はファイル名取得できました。

勉強始めたばっかりで、難しいですが面白いです!
ありがとうございました!
0590デフォルトの名無しさん
垢版 |
2018/03/31(土) 09:26:07.32ID:H7P83KyH
他のテキストエディタなどで書いたコードをvbeに貼り付けるのってダメなんでしょうか?
ダイアログを表示するのに文字列を直接指定している部分が引っかかっているらしくて
vbeの方で同じ文字列を再度打ち直すと正常に動作してくれるのですが
原因なにかわかりませんか?
0592デフォルトの名無しさん
垢版 |
2018/03/31(土) 16:00:53.86ID:H7P83KyH
ゴミvbにunicode非対応とかなんでこんなのが現代に君臨してんだろう
ありがとうございました
0595デフォルトの名無しさん
垢版 |
2018/04/01(日) 14:19:52.40ID:YzkMtc7h
>>594

というのも、例えばInteger型の変数iに代入しようとして、

i=テキストボックス名.LineCount

ってやると、

実行時エラー '2185':
LineCountプロパティの値を取得できません。このコントロールはフォーカスを持つ必要
があります。SetFocusメソッドによって、このプロパティまたはメソッドが参照されるま
えにフォーカスが移動しました。

ってエラーになったもので。
0596デフォルトの名無しさん
垢版 |
2018/04/01(日) 16:31:21.48ID:OrI5htLK
>>595
さあね、SetFocusとセットで使って問題ないシーンだったら使えばいいんじゃね?
なんでそういう作りになってるかはしらんけど、歴史的な理由ってやつじゃね?
LineCountは全部品共通で使い回してる内部変数を参照していて
フォーカスが当たってるときだけ値を保持してるとか
0597デフォルトの名無しさん
垢版 |
2018/04/02(月) 00:58:07.54ID:4AdYvMWY
Ruby で、Selenium WebDriver で、ブラウザの自動操作をすると、
入力コントロールに入力するには、フォーカスが必要だったかな?

フォーカスは、キーボードなどの入力装置を独占するから、
OS内で同時に、1つのアプリの、1つのコントロールしか持てない
0598デフォルトの名無しさん
垢版 |
2018/04/02(月) 12:20:32.51ID:7SJzoey2
それは単なるwebdriverの仕様あるいは方針にすぎん
0599デフォルトの名無しさん
垢版 |
2018/04/02(月) 13:41:52.74ID:zMeLik1V
誰か教えてください。いくら調べても分からなかった・・・

近似曲線を引くマクロを書いて、ボタンに登録してるのですが、この動作を行うと
1回目の曲線が変な形で残ってしまう。
1回目の曲線を消したいのですが、どうしても消し方がわからない。

Private Sub CommandButton1_Click()

Dim num As Integer

num = MovingAvgUF.TextBox1.Value

ActiveSheet.ChartObjects(1).Activate
ActiveChart.ChartArea.Select
ActiveChart.FullSeriesCollection(1).Trendlines.Add

ActiveChart.FullSeriesCollection(1).Trendlines(1).Select
With Selection
.Type = xlMovingAvg
.Period = num
End With

With Selection.Format.Line
.ForeColor.RGB = RGB(0, 0, 0)
.Weight = 1.5
End With

Unload MovingAvgUF

Range("A3").Select

End Sub
0600デフォルトの名無しさん
垢版 |
2018/04/02(月) 16:44:10.21ID:Ts/JiFXW
>>599
実行のたびにAddしているので、新しく追加されているからでしょう
たぶん移動平均の期間を可変にしたいのだろうから
ない場合だけAdd、すでにあれば既存のパラメーターを変更するようにする
あとActivateとかSelectionは無駄なのでやめる

Dim num As Integer
Dim graph
num = MovingAvgUF.TextBox1.Value
Set graph= Worksheets(1).ChartObjects(1).Chart.SeriesCollection(1)

If graph.Trendlines.Count = 0 Then
 With graph.Trendlines.Add
  .Type = xlMovingAvg
  .Period = num
  .Format.Line.ForeColor.RGB = RGB(100, 0, 0)
  .Format.Line.Weight = 1.5
 End With
Else
 graph.Trendlines(1).Period = num
End If

Unload MovingAvgUF

これでどうでしょう
グラフ指定(Set句のところ)はそっちの環境に合わせて書き換えてね
0601デフォルトの名無しさん
垢版 |
2018/04/02(月) 17:15:58.69ID:zMeLik1V
>>600
うわ出来ました。
マジでありがとうございます。
助かりました。
0602デフォルトの名無しさん
垢版 |
2018/04/03(火) 12:12:56.67ID:eJeJFdNC
VB6で計算ボタンをボタンを押すと各フォームのテキストボックスの値とか使っていろいろ自動で計算してフォームが勝手に閉じられるんですが、デバッグで1個ずつ追ってくと途中で止まってしまうのって仕方ないんですかね?
gotfocusやらclickとかで途中で無理やりやってるとは思うですけど、通る順序を追うにはどうしたらいいですか?
0604デフォルトの名無しさん
垢版 |
2018/04/03(火) 21:25:59.19ID:q0sRpwvy
A1とB1は空白C1からZ1まで日付型がはいっています。
3月分の最後
20180330と2018331がないので20180328を拾いたい。
4月分の初め
20180401と20180402が無いので20180403を拾いたい。
日付型------------------------------

空白   (A1)
空白   (B1)
20180325(C1)
20180326(D1)
20180328(E1)
20180403(F1)
20180405(G1)
20180406(H1)
  ・
  ・
  ・
20180505
------------------------------------------
Sub 日付
Dim 最小数 As long, 最大数 As long
 最小数= WotksheetFunction.Dmin(Rnge("1:1"),range("C1"),"200180401")
 最大数= WotksheetFunction.Dmin(Rnge("1:1"),range("C1"),"200180331")
End Sub
----------------------------------------
これだとうまくいかない・・・・。
何か間違っているのでしょか・・・?
0605デフォルトの名無しさん
垢版 |
2018/04/03(火) 21:46:25.59ID:UZjK1Wan
何がしたいのか説明を読んでもコードを見てもさっぱりわからん
わからんけどエスパーすると”201803”で検索して最後に見つかったセルと”201804”で検索して最初に見つかったセルでいいんじゃないの?
0606デフォルトの名無しさん
垢版 |
2018/04/04(水) 08:15:37.03ID:cLM6HPyb
>>604です。

>>605
説明が下手でごめんなさい。
20180401〜現在までのデータをダウンロード(システム仕様の為、細かい設定が出来ない)
■データのフォーマット■
土日祝はデータがない。
A2とB2からA○B○まで製品番号と製品名が入っている。

4月分、5月分、6月分、、、、、
分けるように作りたい。
※AとBは残す
月初と月末の日付が入ってないとずれてしまう。(セル取得が出来ない。)
0607デフォルトの名無しさん
垢版 |
2018/04/04(水) 11:56:03.28ID:k8docH3r
MID("20180325",5,2)で"03"が取り出せるから、それで判断すればいいんじゃないの。
色んな日付上の制約があるならLEFT(),MID(),RIGHT()使い分けで。
0608デフォルトの名無しさん
垢版 |
2018/04/04(水) 12:58:19.17ID:ZiMW+8i0
>>607
ありがとうございます。
その方法がありましたね・・・。
勉強になります。
------------------------------------------------------------

関数
{=MIN(IF(20180201<=1:1,1:1,""))}
{=MAX(IF(20180231>=1:1,1:1,""))}
これだとうまく行きますが、VBAだとどうやって作るのかなと思っていました。
0611デフォルトの名無しさん
垢版 |
2018/04/04(水) 13:36:26.96ID:p0Y8un4q
自動車業界で例えると
1、トヨタ、日産、ホンダ
2、1の下請け企業名
3、2の下請け企業名
4、3の下請け企業名
.
.
.

としたとき、2のAの企業名を入力したらそこからの下請け企業を抽出したいんですが、その場合のエクセルのシートの作り方をどのように作れば効率がいいですか?
0612デフォルトの名無しさん
垢版 |
2018/04/04(水) 16:08:01.72ID:v9gnJiNk
シートAAAにあるテーブル1の種目という項目のデータを
ComboBox1のリストに代入するのは下記マクロでできました

Private Sub UserForm_Initialize()
Dim KV As Range
Set KV = Sheets("AAA").Range("テーブル1[種目]")

With ComboBox1
For i = 1 To KV.Rows.Count
.AddItem KV(i)
Next i
End With

End Sub

さて、ここからが質問です
テーブル1にフィルターをかけた後に、フィルターで残った種目という項目のデータを
ComboBox1のリストに代入するのはどうしたら良いのでしょうか?

よろしくお願い致します
0613デフォルトの名無しさん
垢版 |
2018/04/04(水) 16:56:39.61ID:JVI42cK6
伝票番号 顧客名 商品名 数量 価格 金額

というデータがあり、同じ伝票番号に3〜6行の取引データがあります
(1枚の伝票に複数の商品の販売記録がある)
同じ伝票番号の行を、1行残して削除し、1伝票番号に1行というデータに作り替えたいと考えてます。

対象となる行数は50万行

今は、ある伝票番号の一番上の次の行と
その伝票番号の一番下の行を範囲で削除し、
この処理を繰り返しているのですが、とても時間がかかります

どういう方法なら早く処理できるでしょうか?
0614デフォルトの名無しさん
垢版 |
2018/04/04(水) 17:13:35.91ID:2HxBBF0q
>>611
ExcelよりAccessの仕事なのでAccessがあればそちらをオススメしたい
Excelでやるならワークシート関数がいいと思う
データが正規形になっていればあとからいかようにでもなるので
シートは1枚でもいけるんじゃないかな(たぶん)

>>612
フィルター後のセルだけをとってくるメソッドがあったはず
頻繁にフィルター条件を変えるなら、最初に全部配列につっこんで
あとは配列をフィルターしたほうがパフォーマンスが出せる
0617デフォルトの名無しさん
垢版 |
2018/04/08(日) 00:48:16.79ID:GhjqeU3J
質問です。

Dim Wb2 As Workbook

buf = Dir(ThisPass & "\" & strfirstfilename)
Do While Len(buf) > 0
If LCase(buf) Like "*.xls" Then

buf2 = Left(buf, InStrRev(buf, ".") - 1)
End If
buf = Dir()
Loop

Set Wb2 = Workbooks(strfirstfilename)  ←”インデックスが有効範囲にありません”
というエラーが発生します。

strfirstfilenameには”AAA_original-コピー.xls”が入っており、ここまではOKです。

なぜインデックスが有効範囲にないのか・・・。
どなたか教えてください。
よろしくお願いします。
0618デフォルトの名無しさん
垢版 |
2018/04/08(日) 01:24:05.18ID:bco3gmLh
>>617
ワークブックファイルを開いてないから
0621デフォルトの名無しさん
垢版 |
2018/04/08(日) 11:56:26.77ID:GhjqeU3J
>>618
開いてなかったですね・・・。
ありがとうございます
0622デフォルトの名無しさん
垢版 |
2018/04/08(日) 11:57:47.06ID:GhjqeU3J
>>619
pathですね。お恥ずかしい・・・。
ありがとうございました。
0623デフォルトの名無しさん
垢版 |
2018/04/08(日) 11:59:21.51ID:GhjqeU3J
>>620

このプログラムの直後に
Workbooks.Open (ThisPath & "\" & strfirstfilename)
があったので、それをsetの前に持ってきて成功しました。

ありがとうございました。
0624デフォルトの名無しさん
垢版 |
2018/04/08(日) 12:36:53.53ID:bco3gmLh
>>620だと昔のExcelじゃ動かなかった歴史的経緯がある
0625デフォルトの名無しさん
垢版 |
2018/04/08(日) 19:54:17.74ID:e7Arryer
ダイアログシートって使ってる人おる?
ちょっと前客先で初めて見てたまげたわ
0626デフォルトの名無しさん
垢版 |
2018/04/09(月) 01:50:27.33ID:HvlaoHdk
>>624
openだと開かない?って事??何故?
0627デフォルトの名無しさん
垢版 |
2018/04/09(月) 06:17:53.49ID:aBFApcbH
>>626
Openで開くけど、Workbookオブジェクトは返ってこなかったから
別途Workbooks(…)で取得する必要があった
0628デフォルトの名無しさん
垢版 |
2018/04/09(月) 08:06:45.50ID:+GOKj8c/
>>627
そんな事が...
だとすると、「その頃」であれば、>>623の対策が正解だったわけだw
0629デフォルトの名無しさん
垢版 |
2018/04/09(月) 09:59:01.14ID:4rd3h0yy
質問です。

ピボットテーブルのフィルターで特定の日付を絞りこみたいのですがどうしたら良いでしょうか?
マクロの記録を使用したり、「ピボットテーブル フィルター 日付」などで検索しましたが出来ませんでした。
関係があるかはわかりませんが既存の日付フィルターも選択出来ない状態になっています。

ご存知の方がいれば教えていただけないでしょうか?
よろしくお願いいたします。
0631デフォルトの名無しさん
垢版 |
2018/04/09(月) 12:37:19.47ID:VtsYOpX+
そーいうスレなので
0632デフォルトの名無しさん
垢版 |
2018/04/09(月) 19:03:54.95ID:L4YqDawe
>>629
それはもしかしてピボットテーブルを使わなくても出来る内容なんじゃないかと思えてならない
0633デフォルトの名無しさん
垢版 |
2018/04/09(月) 19:30:20.73ID:zGBk1vsP
>>632
返信ありがとうございます。
仕事で使用しているのですが別シートにデータを入力して、ピボットテーブルの行エリアに型式、列エリアに出荷日と納品先を指定していて、翌日出荷分などを抽出したい状態です。
0636デフォルトの名無しさん
垢版 |
2018/04/09(月) 20:53:05.38ID:xfuEg0jA
過疎るより良くね?
嫌ならスルーしてれば?
0637デフォルトの名無しさん
垢版 |
2018/04/09(月) 22:14:46.27ID:BolAIQzl
デバッグ停止した時をイベントとして動く仕掛けが欲しい
画面描画更新抑止解除とか書くの面倒
0639デフォルトの名無しさん
垢版 |
2018/04/10(火) 07:54:34.58ID:4h5TWJMH
>>633
フィルターだか、スライサーだかで普通に出来なかったっけ?
出来ないならなんか設定がおかしいと思う。
まずはデータピックアップして、小規模のデータで試してみたら。

あと、スレチな上に質問レベルも低いからその程度のことはもっと自分で調べるくせをつけた方がいい。
0640デフォルトの名無しさん
垢版 |
2018/04/10(火) 09:38:25.63ID:GHxbWUjO
ブックやシートの構成がどうなっていて、どうしたいのかさっぱり判らんから
テスト用のデータを付けたブックをうpしたほうが早い。
んで、自分は何処まで出来たのかをも付けて

そしたら、それに対して少しはレスが付くかもだなw
0644デフォルトの名無しさん
垢版 |
2018/04/10(火) 18:59:46.71ID:nvaLZrjf
>>639
ここで聞くこともネットで調べる事の一つ
0645デフォルトの名無しさん
垢版 |
2018/04/10(火) 19:03:28.83ID:v03YChI+
自分がログインした環境で開く全てのブックに右クリックメニューを追加する方法教えて
0646デフォルトの名無しさん
垢版 |
2018/04/10(火) 19:11:15.95ID:IhLaWa2X
googleはエスパーしてくれないからな。ここなら大体何をやりたいか汲んで答えてくれるだろうと。

オレなら、まずジュンク堂に行ってエクセル関連本を片っ端から立ち読みして自分の欲しているモノが書いてある
本を買うね。その結果、「なんだ、簡単じゃねえか本買って損した」となったとしてもそれが血になり肉となるって事だよな。
0647デフォルトの名無しさん
垢版 |
2018/04/10(火) 19:31:57.73ID:xK9q0OHZ
バカだからエクセル本を読むのかエクセル本を読んだからバカになったのか
それが問題だ
0648デフォルトの名無しさん
垢版 |
2018/04/10(火) 20:18:58.96ID:IhLaWa2X
>>647
字を読めない、本買う金がないトンスルジジイは書き込まないでww

トンスルランドへ帰ってウンコ酒醸造に勤しんでくれやキム
0649デフォルトの名無しさん
垢版 |
2018/04/10(火) 20:51:24.91ID:BQLlMX/b
>>646
その知識を惜しげもなく教えてあげるのもVBAの裾野を拡げる事になりみんなが感謝する
ありがとう
0650デフォルトの名無しさん
垢版 |
2018/04/10(火) 20:57:33.15ID:HFEk8tOo
そもそもVBAの質問じゃないし
VBAの意味すらわからん馬鹿か、無視して書き込んでくる奴なんだろ
0651デフォルトの名無しさん
垢版 |
2018/04/10(火) 22:56:03.73ID:xK9q0OHZ
>>647
今回は「バカだからエクセル本を読んだ」が正解の模様
0652
垢版 |
2018/04/11(水) 03:04:58.26ID:VWbEhKN2
貧乏バカチョンキムジジイ
0653デフォルトの名無しさん
垢版 |
2018/04/11(水) 07:57:48.69ID:Mg2+VUZu
ところで、VBAのPython対応っていつからの話なの?
0654デフォルトの名無しさん
垢版 |
2018/04/11(水) 08:03:17.65
>>653
2045年から
0655デフォルトの名無しさん
垢版 |
2018/04/11(水) 08:07:42.93ID:xXxwVMfw
機械学習でpython3やりまくってるワシは生き残れるのかのう?

ちなみに丙午です
0657デフォルトの名無しさん
垢版 |
2018/04/12(木) 01:31:14.47ID:fKA+nAAm
最近VBAを触り始めて、言語と言われてる理由がなんとなく分かったんだけど
これを習っていった時に、せけんて"難しい"と言われるのはどういう部分になるんだろう?
作業を
0660デフォルトの名無しさん
垢版 |
2018/04/12(木) 03:57:20.29ID:LcBy+9MJ
>>657
プログラミングが初めてなら、何もかも難しいと感じるだろうし、
他のプログラミング言語が1つだけ使える人にとっては、その言語とVBAの文法などの違いにいちいち驚く
複数の言語が使える人なら、Excel固有のオブジェクト階層あたりを面倒と感じるんじゃないかな
0661デフォルトの名無しさん
垢版 |
2018/04/12(木) 05:30:51.69ID:JtsPqpHF
>>659
自己紹介ですかBasic爺WW
0662デフォルトの名無しさん
垢版 |
2018/04/12(木) 07:02:33.85ID:UMpPjY/U
例えば一つのテキストファイルを扱う時のパス?アドレス?ってどうやって扱ってます?
2つ以上のモジュールで使う場合ってやっぱグローバル?
0663デフォルトの名無しさん
垢版 |
2018/04/12(木) 07:07:34.20
>>662
一回の実行で処理するなら関数の引数で受け渡し

複数回実行するなら非揮発領域(隠しシートやレジストリ等)で受け渡し
0664デフォルトの名無しさん
垢版 |
2018/04/12(木) 08:50:34.23ID:DGaLRDsY
>>662
ユーザー定義型(構造体)作る

そのメンバー変数にファイル名用を定義
ユーザー定義型のインスタンス作ってモジュールにはそのリファレンスを渡す
グローバル変数は極力使わない
0666デフォルトの名無しさん
垢版 |
2018/04/12(木) 13:54:18.13ID:MHmA0cf+
>>664
そのユーザー定義型のインスタンスはどこにどういう形で保持しておくの?
複数回使うという話だったから。
0667デフォルトの名無しさん
垢版 |
2018/04/12(木) 20:17:01.21ID:CCj06eku
質問です。

条件付き書式でやろうと思ってましたが、データが10,000行になったため、VBAを使いたいと思います。

例えば、
データ範囲をRange("A1:Z100")として、
A1に入力された数値が1だったらA1からZ1を赤色にする、
A1に入力された数値が2だったら黄色、
A1に入力された数値が3だったら青色、という風にするにはどうしたらよいでしょうか?

A列に入力される文字は1〜8の数値のみです。
コマンドボタンを押したときに一気に処理をしたいのですが、
A1が1ならA1からZ1の色を変える、というのがわかりません。

どなたかご教授いただけないでしょうか。
よろしくお願いします。
0669デフォルトの名無しさん
垢版 |
2018/04/12(木) 20:34:28.91ID:CCj06eku
>>668

i = Ws2.Range("A10").End(xlDown).Row

With Worksheets("Sheet1").Range(Cells(9, 1), Cells(i, 28))
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$A9=1"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.TintAndShade = 0.399945066682943
.Color = 13408767
End With

という条件付き書式のコードを考えましたが、これ以外の方法をさがしています。
A1が1ならA1からZ1の色を変える、というのが本当にわからないので、
ヒントだけでもいただけないかと・・・。
0670デフォルトの名無しさん
垢版 |
2018/04/12(木) 21:15:46.98ID:JtsPqpHF
>>669
よく、ネットや書籍で「マクロの記録で生成されたコードを基にほにゃららしよう」ってな記事を見かけるけど、
あんまり良くない方法な気がする。最初は退屈でも我慢してマトモな入門書を見ながら基礎をやった方がいい。
0671デフォルトの名無しさん
垢版 |
2018/04/12(木) 21:19:08.35ID:c/dN7gKJ
10万件以上のデータ処理にはアクセスを推奨

それぞれに得意分野があるのだから使い分けなさい

エクセルVBAがらアクセスデータを引っ張る

でデータをエクセル側で計算なり加工なり表なりをやるのが良い
0672デフォルトの名無しさん
垢版 |
2018/04/12(木) 21:36:24.97ID:CCj06eku
>>670
ありがとうございます。
基礎知識がないのにネットで見つけた色んなコードをつなぎ合わせて作っていたので
無理がきました。

>>671
ありがとうございます。
今回扱うデータは最大1万件くらいでしたので、エクセルでも出来るかと・・・。
あとアクセスがないパソコンで使用することがあるので、
多少遅いのを覚悟でエクセルで作成していました。

ありがとうございました。
勉強します。
0674デフォルトの名無しさん
垢版 |
2018/04/12(木) 23:53:14.20ID:J/s3hdBh
ごらん。てwww
ソープのキモ客かよwwww
0675デフォルトの名無しさん
垢版 |
2018/04/13(金) 00:00:04.74ID:5acpPh4/
メゾット君はソープとか行く上に嬢に対して「考えてごらん」とかリアルに言い出すのか。それはキモいな。
0676デフォルトの名無しさん
垢版 |
2018/04/13(金) 00:08:44.43ID:HKlJ1iBx
>>675←ごらんて言った覚えがあるソープ通www
0678デフォルトの名無しさん
垢版 |
2018/04/13(金) 01:12:37.40ID:yZAZeFsH
ごらんと言われたからというわけではないですが、作ってみました。

Dim iro As Long

Workbooks("test.xlsm").Worksheets("sheet1").Activate

For iro = 10 To i
If Cells(iro, 1) = 1 Then
Range(Cells(iro, 1), Cells(iro, 28)).Interior.ColorIndex = 33
ElseIf Cells(iro, 1) = 2 Then
Range(Cells(iro, 1), Cells(iro, 28)).Interior.ColorIndex = 34
ElseIf Cells(iro, 1) = 3 Then
Range(Cells(iro, 1), Cells(iro, 28)).Interior.ColorIndex = 35
ElseIf Cells(iro, 1) = 4 Then
Range(Cells(iro, 1), Cells(iro, 28)).Interior.ColorIndex = 36
ElseIf Cells(iro, 1) = 5 Then
Range(Cells(iro, 1), Cells(iro, 28)).Interior.ColorIndex = 37
ElseIf Cells(iro, 1) = 6 Then
Range(Cells(iro, 1), Cells(iro, 28)).Interior.ColorIndex = 38
ElseIf Cells(iro, 1) = 7 Then
Range(Cells(iro, 1), Cells(iro, 28)).Interior.ColorIndex = 39
ElseIf Cells(iro, 1) = 8 Then
Range(Cells(iro, 1), Cells(iro, 28)).Interior.ColorIndex = 40

End If

Next iro


なんだか長いコードになってしまいました・・・。
すっきり出来ると良いのですけど、今はこれが限界。
ありがとうございました。
0679デフォルトの名無しさん
垢版 |
2018/04/13(金) 02:00:10.76ID:0w2hy+Vf
>>666
メインモジュールとして起床した場所に保持すればいいよ
シートイベントにそれを渡したい場合もインスタンスを参照させればいい
0680デフォルトの名無しさん
垢版 |
2018/04/13(金) 06:43:49.41ID:YdugUaFV
ごらんってソープ用語なの?
0681デフォルトの名無しさん
垢版 |
2018/04/13(金) 07:43:37.15ID:bN+8cQpR
$('tr:first > td').css('background-color','orange');

JavaScript のjQuery なら、これで、
表の1行目(tr)のすべての列(td)の、背景色を変更できる
0684デフォルトの名無しさん
垢版 |
2018/04/13(金) 11:53:44.26
>>678
VBAなんてテクニックに凝らなくていいよ
他人の書いた「俺頭いいwww」っていうVBAを読み解くぐらいなら、長々とベタに書いてあった方がマシ
0685デフォルトの名無しさん
垢版 |
2018/04/13(金) 12:01:28.69ID:rA4jw6Vb
本当に初心者で困ってます。
画像みたいなマクロを組みたんですが、どなたかご教授お願い致します。

https://dotup.org/uploda/dotup.org1508286.png
■ このスレッドは過去ログ倉庫に格納されています

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