[過去ログ]
VBAなんでも質問スレ Part2 [転載禁止]©2ch.net (1002レス)
VBAなんでも質問スレ Part2 [転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1432173164/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
42: デフォルトの名無しさん [sage] 2015/07/07(火) 05:36:44.07 ID:PlDHyacp >>40 ああ、ごめん 「ありえない」じゃなくて「あまりない」だったか どっちにせよレアケースではないのでそこが重要とは思わんけど >>41 おれも「ひとつの手」だといってますよね? ということはそれが絶対ということではないですよ。 まぁ、全部直値で指定する場合の変更コストとOffsetで記述した場合の変更コストが それほど変わるとも思えませんが。 >>29のっぽい例で言えば 工事_A = "AO1" → 工事_A = "AO2" 工事_B = &qu
ot;AP1" → 工事_B = "AP2" 工事_C = "AQ1" → 工事_C = "AQ2" ・・・ というのが 工事_A = "AO1" → 工事_A = "AO2" 工事_B = Range(工事_A).Offset(0,1) → 工事_B = Range(工事_A).Offset(1,1) 工事_C = Range(工事_A).Offset(0,2) → 工事_C = Range(工事_A).Offset(1,2) ・・・ になる程度の話でしょ? んでもって、何もわからない誰かに保守を引き継ぐのであれば表のレイアウトについてはコメントに書いておくべき物じゃないですかね? 後任の人があらかじめ何の予備知識もないな
ら全部の要素を直接指定しているのかそうでないか自体、 少なくともコードを全部読まなきゃ判断できないわけで、それなら相対指定で書いてもおなじことです。 http://mevius.5ch.net/test/read.cgi/tech/1432173164/42
43: デフォルトの名無しさん [sage] 2015/07/07(火) 05:42:25.10 ID:PlDHyacp やべ、工事_AだけRangeで指定してなかったし、全体をずらすだけなら 工事_B以降には変更ないわ 工事_A = Range("AO1") → 工事_A = Range("AO2") 工事_B = Range(工事_A).Offset(0,1) → 工事_B = Range(工事_A).Offset(0,1) 工事_C = Range(工事_A).Offset(0,2) → 工事_C = Range(工事_A).Offset(0,2) ・・・ http://mevius.5ch.net/test/read.cgi/tech/1432173164/43
44: デフォルトの名無しさん [sage] 2015/07/07(火) 05:48:03.16 ID:PlDHyacp さらに間違ってた 工事_AがRange型ならそれ以降にRange(工事_A)なんて書く必要なかった まぁ、何も知らずにコードを読んで表のレイアウトを理解できるかどうかとか 表の変更にかかるコストとかには大して影響ない話だけど http://mevius.5ch.net/test/read.cgi/tech/1432173164/44
45: デフォルトの名無しさん [sage] 2015/07/07(火) 07:47:40.19 ID:yxtOW/kO >>42 > どっちにせよレアケースではない いや、レアケースかどうかじゃなくて > 仕様変更で項目順の変更とか途中に項目追加とか と比較しての話なんだが... ひょっとして論理的な思考ができない人なの? > 少なくともコードを全部読まなきゃ判断できないわけで、それなら相対指定で書いてもおなじことです。 セルアドレスなら一目でどこを指してるのかわかるけど、Offset( ) だとちょっと面倒でしょ? そもそも、自分で間違えてるようじゃ説得力 0 だ
しね w http://mevius.5ch.net/test/read.cgi/tech/1432173164/45
46: デフォルトの名無しさん [sage] 2015/07/07(火) 08:33:01.57 ID:PlDHyacp >>45 とにかく、コストがさほど変わらん以上、そういうことは重要ではないよね、 って言ってるんだけどそれが論理的に理解できない人なの? んで、Offsetで(R1C1形式で)書くのがいやなら RangeでA1形式で書けばいいじゃん そんなの瑣末なことでしょ あと、間違えたのは夜中にトイレで起きたときに書き込んだからで たぶんあのときだとどっちで書いても間違えてる (普段からR1C1形式で書くのでどっちかってーと俺はA1形式のほうが間違える) http://mevius.5ch
.net/test/read.cgi/tech/1432173164/46
47: デフォルトの名無しさん [sage] 2015/07/07(火) 08:34:48.94 ID:xJTxnmtV 相対座標がどうたらというのは>>31が言い出したことにすぎないし、"AY0"とかいう文字列で指定すること自体がけしからんという意見。 http://mevius.5ch.net/test/read.cgi/tech/1432173164/47
48: デフォルトの名無しさん [sage] 2015/07/07(火) 12:53:11.67 ID:yxtOW/kO >>46 > とにかく、コストがさほど変わらん以上、そういうことは重要ではないよね どう書いてもたいして変わらんから、ごちゃごちゃ言い出した >>29 とか >>31 がバカと言う主張なら納得 > RangeでA1形式で書けばいいじゃん そう言う問題じゃない Range("E3").Range("G4") ってどこ? ってすぐわからんでしょって話 まあ君にとってはどうでもいい話だったな w http://mevius.5ch.net/test/read.cgi/tech/1432173164/48
49: デフォルトの名無しさん [sage] 2015/07/07(火) 13:20:08.70 ID:PlDHyacp >>48 全体を動かす際のコストは明らかに相対参照のほうが上で、 レイアウト変更ならどっちもどっち、って話だよ。 俺個人としては表の各要素の絶対座標よりも表のレイアウト内での相対位置のほうが 重要だと思うんで可読性は相対表記のほうが上だと思う。 もちろん、range("E3").Range("G4")とは書かないよ だからこそのOffset表記なんであって 仮に書くなら 工事_A = Range("G4") 工事_B = 工事_A.Offset(0,1) みたいに書けば表の
中での位置関係が分りやすい(、と思うってだけなんだけどね) んでさ、一々相手の人格攻撃するのは止さないか? 反論するのは難しくないけどめんどくさいし 貴方にとっても内容を論理的に言うこと以外に自説の説得力を増す手法なんてないよ http://mevius.5ch.net/test/read.cgi/tech/1432173164/49
50: デフォルトの名無しさん [sage] 2015/07/07(火) 16:17:25.40 ID:yxtOW/kO >>49 > レイアウト変更ならどっちもどっち、って話だよ。 そんな思い込みを前提にされてもなぁ... > 重要だと思うんで可読性は相対表記のほうが上だと思う。 > だからこそのOffset表記なんであって 応用力ないの? > Range("E3").Range("G4") > ってどこ? って書いてあるんだから、レスする前に Range("E3").Offset(3,6) と Range("K6") のどっちが可読性が高いかとか考えないのか? > めんどく
さいし 君にはレスしないと言う自由があるよ 反論するのも苦労してるみたいだしね w http://mevius.5ch.net/test/read.cgi/tech/1432173164/50
51: デフォルトの名無しさん [sage] 2015/07/07(火) 16:28:56.71 ID:PlDHyacp >>50 >どっちが可読性が高いかとか考えないのか? うん、だからOffsetのほうが読みやすいよ >レスしないという自由 は確かにあるし 君にも好き勝手な方言を垂れ流す手段(自由や権利ではない)はあるんだけど、 こうやってきちんと反論しといたほうが良さそうなんで仕方ないからそうしてる http://mevius.5ch.net/test/read.cgi/tech/1432173164/51
52: デフォルトの名無しさん [sage] 2015/07/07(火) 16:29:56.64 ID:PlDHyacp 変換ミスしちゃった ×方言 ○放言 http://mevius.5ch.net/test/read.cgi/tech/1432173164/52
53: デフォルトの名無しさん [sage] 2015/07/07(火) 17:37:36.10 ID:yxtOW/kO >>51 > うん、だからOffsetのほうが読みやすいよ へー、そうなんだー、すごいねー(棒 基準の位置と Offset の値の二個読まないといけないだけでも直書きより不利なのに、読みやすいとか笑えるわ w あと方言とか意味不明 もう少し自分の書き込み見直した方がいいんじゃね? http://mevius.5ch.net/test/read.cgi/tech/1432173164/53
54: デフォルトの名無しさん [sage] 2015/07/07(火) 18:35:20.15 ID:PlDHyacp >>53 絶対アドレスが必要ならそうだけど 通常は表内部のレイアウトが問題なんだから 絶対アドレスは気にする必要ないよね? それともいちいち「何々の項目はF5だ」とか気にして作業してるの? 俺は「表の1列目は@@@の項目で、2列目は***の項目だ」みたいな捉え方はするけど 絶対アドレスが必要になったことなんてないよ 変換ミスについてはまぁ申し訳ない、だけどそれは議論の結果には影響ないと思う。 http://mevius.5ch.net/test/read.cgi/tech/1432173164/5
4
55: デフォルトの名無しさん [sage] 2015/07/08(水) 10:49:05.20 ID:U80w5CD7 >>54 > それともいちいち「何々の項目はF5だ」とか気にして作業してるの? いちいちそんなことをしたくないから定数で定義してるんだよ 意識するのは定数を定義するコードを書く時だけ > 絶対アドレスが必要になったことなんてないよ Offset( ) で書くにしても、基準のセルは絶対アドレスで指定するだろ http://mevius.5ch.net/test/read.cgi/tech/1432173164/55
56: デフォルトの名無しさん [sage] 2015/07/08(水) 11:43:46.03 ID:KchLLrX8 >>55 まだやるんかw いや、基準のセルは俺も絶対アドレスで指定してますよね。 それ以外の部分では表の中での位置関係(表の何行目であるとか何列目であるとか) についての情報のみが必要であって それは基準セル(通常は左上端)からの相対位置が分ればそれで事足りると言ってるのです。 むしろ個々の要素についてまで絶対位置指定などしても可読性が下がるだけです。 まぁ、これはあくまでも普段からR1C1形式を好んで使ってる人間(つまり俺)の意見です。
この判断の優劣・良否・正誤等々については個々人の好みも有るでしょうから どちらの考え方が優れているとかそういう視点での議論には決着がつかないと思いますけどね。 http://mevius.5ch.net/test/read.cgi/tech/1432173164/56
57: デフォルトの名無しさん [sage] 2015/07/08(水) 12:37:46.79 ID:U80w5CD7 >>56 > むしろ個々の要素についてまで絶対位置指定などしても可読性が下がるだけです。 根拠もなしに下がるとか言われてもなぁ とりあえず、 個人の感想です って書いといた方がいいんじゃないか w Excel マスターでない一般人は >> 基準の位置と Offset の値の二個読まないといけないだけでも直書きより不利なのに、読みやすいとか笑えるわ w だろ > どちらの考え方が優れているとかそういう視点での議論には決着がつかないと思いますけどね。
はい、ループいただきましたぁ w >>48 > どう書いてもたいして変わらんから、ごちゃごちゃ言い出した >>29 とか >>31 がバカと言う主張なら納得 http://mevius.5ch.net/test/read.cgi/tech/1432173164/57
58: デフォルトの名無しさん [sage] 2015/07/08(水) 12:51:28.44 ID:5jcTfYer ID導入されて、本当によかった http://mevius.5ch.net/test/read.cgi/tech/1432173164/58
59: デフォルトの名無しさん [sage] 2015/07/08(水) 13:02:19.06 ID:KchLLrX8 >>57 >個人の感想です >って書いといた方がいいんじゃないか ? 書いてますよね? R1C1を使い慣れてる人間の意見だって。 一般人の定義がわからないけど 俺は一般人こそ表の体裁(つまり相対位置による個々の要素の関連)には気を使うけれど その座標なんてものには関心を持たないと思いますよ。 俺自身一般人のつもりですし。 表の修正があったときに「L列から4列ずらす」ってのと 「12列目から4列ずらす」ってののどっちが分かり易いかなんて 俺に言わせ
りゃ一目瞭然で後者なんですけど、 あなたの言う一般人は前者を選ぶってんでしょ? それについての価値観云々を論じることに結論が出るのかって話です。 >どう書いても 云々についてはすでに論述済みですが 全体を動かす場合には 基準セル1ヶ所のみを絶対参照で指定するほうが明らかにすぐれていますし、 レイアウトの変更であっても Range表記で基準位置からの相対指定を用いるというのは あくまで表の体裁の中だけに問題を帰着できるという意味で レイアウトを記述するための手法として間違ってないと思います。 ところで、なんだか無理筋で反
論続けてるように見えるのですが大丈夫ですか? 一応、われわれの議論を第三者が読んでどう判断するか 冷静に考えたほうが良いと思いますよ。 http://mevius.5ch.net/test/read.cgi/tech/1432173164/59
60: デフォルトの名無しさん [sage] 2015/07/08(水) 14:00:10.16 ID:U80w5CD7 >>59 > 書いてますよね? > R1C1を使い慣れてる人間の意見だって。 皮肉も理解できないの? そもそもそれはその上の >> 根拠もなしに下がるとか言われてもなぁ にかかってるんだけど、そこはスルーなのな w > 表の修正があったときに「L列から4列ずらす」ってのと > 「12列目から4列ずらす」ってののどっちが分かり易いかなんて あのさあ、反論できずに悔しいのはわかるけど、「ずらす」なんて変更がどれだけあるんだ? って話に戻すの? 普
通は、>>13 の例だと 注文書番号 を少し左に寄せたいから AO1 から AN1 に移動させてくれって言われるんじゃね? 直書きならその部分のみを AO1 から AN1 に書き換えるだけ で、君の方法だとどうなるわけ? 可読性がすごくいいんでしょ? 示してみてよ。 > ところで、なんだか無理筋で反論続けてるように見えるのですが大丈夫ですか? > 一応、われわれの議論を第三者が読んでどう判断するか > 冷静に考えたほうが良いと思いますよ。 鏡見た方がいいと思うよ w http://mevius.5ch.net/test/read.cgi/tech/1432173164/60
61: デフォルトの名無しさん [60sage] 2015/07/08(水) 15:15:33.15 ID:KchLLrX8 >> http://mevius.5ch.net/test/read.cgi/tech/1432173164/61
62: デフォルトの名無しさん [sage] 2015/07/08(水) 15:39:00.14 ID:KchLLrX8 >>60 >根拠 ですから、>>59とかそれ以前の>>49とか>>54とか>>56とかは 全部根拠について書いてるんですが。 意図的なスルーですか? >普通は、>>13 の例だと 注文書番号 を少し左に寄せたいから AO1 から AN1 に移動させてくれって言われるんじゃね? >直書きならその部分のみを AO1 から AN1 に書き換えるだけ >で、君の方法だとどうなるわけ? いや、オフセット一個増やすだけでしょ ところで、注文書番号 のAOは一
番右端の列っぽいのであえてそこを選んでるんですか? たとえばB列の外注業者名がずれたら残り全部ずれると思うんですけど。 んでもってそういった場合(一番右端の要素以外の変更の場合)、 「どこどこに@@って項目を追加するから、表を**の項目から全部右にX個ずらして」 みたいな話になるんじゃないでしょうか。 どうみたってオフセットのほうが簡単じゃないですか。 >鏡見た方がいいと思うよ もちろん、俺は第三者を意識して書いてるので問題ないです。 貴方もそれで良いならこれ以上とくに言うべき事も有りません。 なお>>61は打ち間
違えて送信しちゃいました。 たびたびスマン http://mevius.5ch.net/test/read.cgi/tech/1432173164/62
63: デフォルトの名無しさん [sage] 2015/07/08(水) 19:21:57.08 ID:U80w5CD7 >>62 > ですから、>>59とかそれ以前の>>49とか>>54とか>>56とかは > 全部根拠について書いてるんですが。 レス番で書かれてもわからないので、該当の箇所を引用してみて > いや、オフセット一個増やすだけでしょ で、それが本当に AN1 を指してるのかどうやって確認するの? 可読性がいいんだから一目でわかるんだよね? 早く示してみてよ。 > ところで、注文書番号 のAOは一番右端の列っぽいのであえてそこを選んでるんで
すか? 一番最初の項目を選んだだけですよ > みたいな話になるんじゃないでしょうか。 またその話? >>37 > 仕様変更で項目順の変更とか途中に項目追加とかのほうが多いだろうけど。 って書かれてますよ。 > 貴方もそれで良いならこれ以上とくに言うべき事も有りません。 人のことをとやかく言う前に... > なお>>61は打ち間違えて送信しちゃいました。 落・ち・着・け・よ http://mevius.5ch.net/test/read.cgi/tech/1432173164/63
64: デフォルトの名無しさん [sage] 2015/07/08(水) 21:05:13.66 ID:G6HCaUBj それよりParamArrayが参照渡しできないのはなぜなんだせ? http://mevius.5ch.net/test/read.cgi/tech/1432173164/64
65: デフォルトの名無しさん [sage] 2015/07/08(水) 21:21:46.83 ID:KchLLrX8 >>63 >該当の箇所を引用してみて >>俺個人としては表の各要素の絶対座標よりも表のレイアウト内での相対位置のほうが重要だと思うんで 可読性は相対表記のほうが上だと思う。 >>絶対アドレスが必要ならそうだけど通常は表内部のレイアウトが問題なんだから絶対アドレスは気にする必要ないよね? >>表の中での位置関係(表の何行目であるとか何列目であるとか)についての情報のみが必要であって それは基準セル(通常は左上端)からの相対
位置が分ればそれで事足りると言ってるのです。 >>俺は一般人こそ表の体裁(つまり相対位置による個々の要素の関連)には気を使うけれど その座標なんてものには関心を持たないと思いますよ。 以上、大体全部同じことの繰り返しですが、この辺が俺の主張する可読性に関する意見の根拠です。 本文長すぎるんで続きます。 http://mevius.5ch.net/test/read.cgi/tech/1432173164/65
66: デフォルトの名無しさん [sage] 2015/07/08(水) 21:22:59.14 ID:KchLLrX8 >>65の続きです ただ、ここに来て根本的な部分の食い違いを実感してるのですが、 >それが本当に AN1 を指してるのかどうやって確認するの? >可読性がいいんだから一目でわかるんだよね? というあなたの指摘自体が俺の考えている可読性の概念とは食い違ってます。 あなたは結局シート内でのセルの絶対位置指定やその確認でしか可読性を考えていないようで 俺は逆にそんなものにはこだわらず表のレイアウト中での位置指定という視点で可読性を捉えているわ
けです。 あなたのやり方は確かにあなたの言うようなシチュエーションでは有効でしょうが、 逆にここまでで俺の主張したようなシチュエーションでは可読性やメンテナンス性が劣るということになります。 たとえばこれですけど > 仕様変更で項目順の変更とか途中に項目追加とかのほうが多いだろうけど。 途中に項目追加したらそこから先は全部ずれるでしょ? (よほどスカスカの表なら別ですが、それなりに埋まってる表の場合にはそうならざるを得ません。) そうするとセルアドレス全部直さなきゃならなくなります。 その場合には全部同じ変更(
当該変更箇所を一律にオフセットずらす処理) で対処できることってメンテナンスには大きなアドバンテージだと思いますよ。 まさか普通の業務ってのがスカスカの表でセル一個だけ変更する作業ばかりだなんて虫の良い事言わないですよね? 実際俺んとこじゃあこういう多数のセルを移動するような業務ばかりなんで俺にとってはそっちのほうが普通なんですよ。 >落・ち・着・け・よ まぁ、打ち間違いとか変換ミスは良くやっちまうんでスミマセンとしか良いようないけど 重要なのは主張の論旨であってそれは読み手側にある程度の知識があれば 変換ミ
ス程度は何がいいたいのか読解できるだろうからまぁ別にいいかなと思ってます。 http://mevius.5ch.net/test/read.cgi/tech/1432173164/66
67: デフォルトの名無しさん [sage] 2015/07/08(水) 21:45:49.65 ID:t0H2tWbI >>65 根拠頂戴って言ったら > >>俺個人としては表の各要素の絶対座標よりも表のレイアウト内での相対位置のほうが重要だと思うんで > 可読性は相対表記のほうが上だと思う。 〜と思うってどこが根拠なんだよ... w 単なる君の意見でしょ >>66 帳票って見たことないの? 結構スカスカだよ 例えばこんな奴 https://garage.plus.co.jp/guide/estimate/image/egd_itm_1.gif 表の部分は元々複数出力するので VBA でループ回すから位置を変える
のは問題ない ありがちなのは会社名とか見積もり番号の位置を変えたいとかで、他に影響することはあまりない http://mevius.5ch.net/test/read.cgi/tech/1432173164/67
68: デフォルトの名無しさん [sage] 2015/07/08(水) 22:44:42.67 ID:KchLLrX8 >>67 いや、それ言い出したらあなたの主張だって単なる個人の意見ですよ たとえば帳票はスカスカだってのがあなたの意見なわけですが そういうのじゃない表だってあるんですよ ウチは科学技術系の職種でして 縦に時系列、横に計測項目(たとえば気温だったり風速だったり)で 複数の計測データをズラズラと並べるんですが 計測するパラメータが増えたり減ったりするんで表のレイアウトが変わるわけです。 そうすると一気に複数個所いじるのが当たり前になるわけで
す。 これってこっちの業界じゃあ結構当たり前のことで、 そういう時に絶対セル指定なんて使いづらくてやってらんないですよ。 あなたの主張が普遍的意義を持ってるならともかく、 こういう明らかな反例がある以上、 俺の根拠のみを私的意見だと言い切る資格はあなたにはないです。 http://mevius.5ch.net/test/read.cgi/tech/1432173164/68
69: デフォルトの名無しさん [sage] 2015/07/08(水) 23:06:29.04 ID:u2i+4Vxj Word VBAで [Shift+Enter] を押したとき、「Chr(11)」が入るみたいだけど、これって何なんですか? アスキーコード一覧だとVertical Tabulation(垂直タブ)って書いてあるけど、 MSDNだと「タブ文字 (縦)。Microsoft Windows では使用できません。」って書かれててよく分からないんだけど、 Windows OSでは使わないけど、word(VBA)だと使ってる文字コードだよってこと? wordもwindows版だから、Windowsでは使用できませんってのがよく分からないんですが・・ MSDN ttps:
//msdn.microsoft.com/ja-jp/library/cc392241.aspx アスキーコード一覧 ttp://e-words.jp/p/r-ascii.html http://mevius.5ch.net/test/read.cgi/tech/1432173164/69
70: デフォルトの名無しさん [sage] 2015/07/08(水) 23:43:30.20 ID:t0H2tWbI >>68 > いや、それ言い出したらあなたの主張だって単なる個人の意見ですよ 残念ながら違う 例えば... > 基準の位置と Offset の値の二個読まないといけないだけでも直書きより不利 これには事実しか書いてない 俺の意見ではない また... > たとえば帳票はスカスカだってのがあなたの意見なわけですが のようにスカスカに感じるかどうかは個人差があるから、実際の例を出してる スカスカに思うかどうかは実物を見た人が決めればいい > そういうの
じゃない表だってあるんですよ それはあると思うが、>>13 の帳票が... > 計測するパラメータが増えたり減ったりするんで表のレイアウトが変わるわけです。 とは全然違うことぐらいはわかるだろ? また、どっちの帳票が世の中に多いかもわかるだろ? あと、時系列で入力するってことは複数の行を扱うんだろ? >>67 にも書いたけどそう言う奴は普通 VBA のループで処理するから、元々絶対アドレス云々の話じゃないと思うんだが http://mevius.5ch.net/test/read.cgi/tech/1432173164/70
71: デフォルトの名無しさん [sage] 2015/07/09(木) 00:51:54.46 ID:FZuq59n/ >>70 >これには事実しか書いてない それ以前の前提条件として絶対アドレスを取得する必要があるかどうか 絶対アドレスでの指定が有効かどうか といった論点が抜けてますよ。 あとわたしがスカスカに対比して問題にしてるのは つまり他の箇所を巻き込んで移動させる必要が 生じるかどうかを区別していってるのであって 見た目がどうこうの問題ではありません。 複数個所を同時に変更するかどうかです さすがにそのぐらいは前後の文脈から汲み取っていただかない
と困ります。 どうにもご自分の土俵のみで話を進めようとしてらっしゃるようですが どちらが多いかはともかくとして (実際のところ世の中に技術系の業種とそうでない業種がどれぐらいの割合で存在してるかなんて知りません) それにしたって>>36でいわれるような「滅多にないケース」というほどではないでしょうから それについての言及はあってしかるべきです。 念のため指摘しておきますが パラメータの増減は列方向ですしループ云々とは関係ないですよ http://mevius.5ch.net/test/read.cgi/tech/1432173164/71
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 931 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.018s