Excel VBA 質問スレ Part68

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん (ワッチョイ dbda-8BP0)2020/08/30(日) 11:55:27.33ID:Oy/VxFsh0
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付ける

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

※前スレ
Excel VBA 質問スレ Part67
https://mevius.5ch.net/test/read.cgi/tech/1593104489/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

0952デフォルトの名無しさん (ワッチョイ 7f10-YTVu)2020/12/10(木) 22:36:37.55ID:CqzKSDKw0
すいませんちょっと言葉が足りませんでした。
なしは単なる文字列のなしです
IFでなしという文字列があれば、現在設定している文字列をD列に書き出していく処理になります
C列   D列
りんご 
なし
0
0
みかん
なし

C D
りんご  (ブランク)
なし りんご
0 (ブランク)
0 (ブランク)
みかん (ブランク)
なし みかん


上記のような処理を作りたいです。

0953デフォルトの名無しさん (ワッチョイ 7f63-JIxf)2020/12/10(木) 22:48:25.04ID:56YuvF2X0
どうぞ作ってください。

0954デフォルトの名無しさん (ワッチョイ 7f10-YTVu)2020/12/10(木) 22:56:25.81ID:CqzKSDKw0
条件分岐の所だけでもこういう感じで作ればいいというような回答を頂ければ助かります
かなり丸投げな質問になってすいません

0955デフォルトの名無しさん (ワッチョイ 874e-pdMI)2020/12/10(木) 22:57:22.97ID:YXjbRyJb0
四角投げくらいかな?

0956デフォルトの名無しさん (ワッチョイ 67b0-orE1)2020/12/10(木) 22:59:02.40ID:5Pf17kEC0
ちょっとみただけだけど関数でも頑張れば
作れそうに見えるがどうだろうか

0957デフォルトの名無しさん (ワッチョイ df4b-JIxf)2020/12/10(木) 23:05:18.21ID:DnhQvLL+0
回答しても助けになりそうも無い

0958デフォルトの名無しさん (ワッチョイ 67b0-orE1)2020/12/10(木) 23:06:01.55ID:5Pf17kEC0
別に頑張らなくても関数で出来た
頭硬すぎだろう

0959デフォルトの名無しさん (ワッチョイ 7fbb-oPen)2020/12/10(木) 23:24:54.94ID:A+NuqwaS0
なしって入ったときに出てくるのがなしの1個上のセルの内容と決まってるなら関数でも書けるね

0960デフォルトの名無しさん (ワッチョイ 27e5-kNbH)2020/12/10(木) 23:35:14.23ID:gchHSEuY0
このなぞなぞを思い出した
http://nazo2.myaasensei.com/?eid=90

なしなら「梨」と表記するか
別の果物、ぶどうとかすればいいのに
紛らわしい

0961デフォルトの名無しさん (ワッチョイ 477c-YTVu)2020/12/10(木) 23:53:09.24ID:v6PrCrQZ0
>>952
その条件通りにそのまま書き起こせば実現できることじゃないのか、複雑な処理がいるわけでもなし

0962デフォルトの名無しさん (ワッチョイ 7f10-YTVu)2020/12/11(金) 00:21:36.40ID:bQCq39tb0
関数で作れるならヒントでも頂けませんでしょうか
すいません。

0963デフォルトの名無しさん (ワッチョイ 7fbb-oPen)2020/12/11(金) 00:36:40.44ID:2rJlNOe/0
=if(C1=″なし″,offset(C1,0,-1),″″)
こんな感じか

0964デフォルトの名無しさん (ワッチョイ 7f10-YTVu)2020/12/11(金) 00:37:35.18ID:bQCq39tb0
スレッド眺めましたがまともに答えてる人ここはあまりいないんですね
失礼しました

0965デフォルトの名無しさん (ワッチョイ df4b-JIxf)2020/12/11(金) 00:41:08.86ID:Lka/LNP10
まともな質問をしましょう

0966デフォルトの名無しさん (ワッチョイ dfb5-IxYp)2020/12/11(金) 00:44:14.37ID:6Y+QuIqT0
流と関係ないけどここの人ってVBAはもちろんだけど関数も糞詳しいんだよなあ
VBAが関数の上位互換みたいなとこあるから当然か
SQRTとかここで教わったりセルの書式設定の代わりにVBAとかめちゃくちゃ助けてもらったわ

0967デフォルトの名無しさん (ワッチョイ 874e-pdMI)2020/12/11(金) 00:46:54.57ID:RI9UvvOD0
上位互換じゃなくて全く同等。
lambda関数導入でチューリング完全になったからね。

0968デフォルトの名無しさん (ワッチョイ 7f10-YTVu)2020/12/11(金) 01:01:39.09ID:bQCq39tb0
>>963
それだと、なしの横にりんごやみかんの文字列が表示されませんでした

0969デフォルトの名無しさん (ワッチョイ 477c-YTVu)2020/12/11(金) 01:47:52.19ID:sk80MZxp0
シート関数でもVBAでもどっちでもいいけど組むにあたってどの部分で詰まってるわけ?

0970デフォルトの名無しさん (ワッチョイ 7f8e-EgOZ)2020/12/11(金) 02:06:21.43ID:vUB51gLL0
>>968
馬鹿は死ねば?

0971デフォルトの名無しさん (ワッチョイ 7f10-YTVu)2020/12/11(金) 02:21:17.12ID:bQCq39tb0
>>969
質問の仕方が下手ですいません
A列 B列
文字列A 空欄
空欄1 文字列A
空欄1 文字列A
文字列B 空欄
空欄2 文字列B
空欄2 文字列B
空欄2 文字列B



のようなシートがあって、IFでA列が空欄であれば文字列A、文字列Bのような転記を
機械的に行いたいのですが、関数を使ってIFの真偽判定で
文字列Aがヒットすれば、B列への転記内容を文字列A、文字列Bがヒットすれば文字列Bというような、
VBAのValueのような変数に文字列を格納しながら転記してく事が関数で可能か知りたかった内容です。
A列の文字列Aを空欄1にコピーして、文字列Bを空欄2にコピーするという操作もあればそっちも教えて頂きたい
(VLOOKUP等で文字列を参照する事が出来そうなので)

いつものあいつっぽい

0973デフォルトの名無しさん (ワッチョイ 27b3-h4dw)2020/12/11(金) 02:32:32.38ID:t8ktWZN00
>>945
D列がブランクかどうかを調べる必要があるので、転記列をE列、さらに作業列をF列として

C列はC2からデータ
D列はD2からデータ
E列はE2から =IF(C:C="なし",IF(D:D="",F:F,D:D),"")
F列はF2から =IF(AND(C:C<>"なし",C:C<>0),C:C,IF(INDEX(F:F,ROW()-1)="","",INDEX(F:F,ROW()-1)))

なし以外の文字列が最初にC列に出てくるまでは、とりあえずE列は空欄になる。

0974デフォルトの名無しさん (ワッチョイ 27b3-h4dw)2020/12/11(金) 02:47:05.93ID:t8ktWZN00
>>971

それなら、C列を作業列として
A列にA2からデータ
B列はB2から =IF(A:A="",C2,"")
C列にC2から =IF(A:A="",C1,A2)

でB,C列をドラッグで、では?

0975デフォルトの名無しさん (ワッチョイ df42-D4Qg)2020/12/11(金) 07:09:43.08ID:pv/aap0P0
創作系は怠け者に厳しいから
こうやったけどうまくいかないってのは直してくれるが1から作ってってのはなあ

0976デフォルトの名無しさん (ワッチョイ e701-1Ur4)2020/12/11(金) 08:01:05.41ID:xHfuP7vB0
>>952
0以外の数値も文字列に含めて、空白を停止フラグにした
これであってる?

Dim LastValue
LastValue = "未入力"

Dim Row As Range
For Each Row In Range("A:B").Rows 'A:B範囲を一行ずつ

Dim AColumn As Range, BColumn As Range
Set AColumn = Row.Columns(1) '処理中の行の一列目をAColumn
Set BColumn = Row.Columns(2) '処理中の行の二列目をBColumn

If (AColumn.Value = "") Then Exit For '空白で停止

If (AColumn.Value Like "なし") Then
If (BColumn = Empty) Then BColumn.Value = LastValue
ElseIf (AColumn.Value <> 0) Then
LastValue = AColumn.Value
End If

Next

0977デフォルトの名無しさん (ワッチョイ e701-1Ur4)2020/12/11(金) 08:34:39.24ID:xHfuP7vB0
>>971
ワークシート関数で、条件付きで最後にある値を取るのは面倒だと思う
Filter関数とVlookup関数でできなくはないけど

0978デフォルトの名無しさん (スププ Sdff-8+uZ)2020/12/11(金) 12:26:50.51ID:A055qJ39d
ifのあとカッコで書けるのかしらなんだわ

0979デフォルトの名無しさん (オッペケ Sr1b-m1m7)2020/12/11(金) 13:05:38.72ID:wz04rSM4r
974さんのやり方にinblankを付け足して解決出来ました
ありがとうございました。

0980デフォルトの名無しさん (ドコグロ MM9f-1sNk)2020/12/11(金) 13:07:41.53ID:5MdaedDCM
>>978
単に 式をカッコで包んでるだけ
A = B + 1

A = (B + 1)
と書くのと同じ

0981デフォルトの名無しさん (ワッチョイ 87ce-kNbH)2020/12/11(金) 14:46:49.15ID:UAef87jg0
カッコも式の一部だから書くのは自由だけど処理上はまったく意味がない
たとえばこれでも別にエラーにはならない
If (((((a)) = ((b))))) Then

0982デフォルトの名無しさん (ワッチョイ 7f1f-m9Es)2020/12/11(金) 14:57:01.16ID:7k+CWJkj0
zipファイルを解凍して別フォルダにコピー後にzipファイルと元の解凍ファイルをfso.deletefolderでまとめて削除するvba作ってるんだけどもなんでかzipファイルだけ削除できないんやがなんでや

0983デフォルトの名無しさん (ワッチョイ 7f68-kNbH)2020/12/11(金) 15:00:25.68ID:g30meLDD0
解凍処理の方でまだ掴んでるとかは?

>>978
見やすくていいでしょ
おすすめ

0985デフォルトの名無しさん (スププ Sdff-8+uZ)2020/12/11(金) 17:17:16.62ID:A055qJ39d
おう、マネささて頂きますわ

0986デフォルトの名無しさん (アウアウウー Sa6b-EtKx)2020/12/11(金) 18:12:09.99ID:f/nqGphBa
>>981
そんなにカッコつけるなよ

囲えるくらいの甲斐性を見せろよ

0988デフォルトの名無しさん (ワッチョイ 874e-pdMI)2020/12/11(金) 19:03:37.76ID:RI9UvvOD0
FUCK (((((●)) = ((●))))) 凸 YOU

0989デフォルトの名無しさん (ワッチョイ 7fda-EtKx)2020/12/11(金) 20:45:59.99ID:u1KAArwg0
ウンコ

0990デフォルトの名無しさん (ワッチョイ 67f1-k4Kn)2020/12/12(土) 12:26:43.87ID:D0KYkpwQ0
Office田中の人生きてるの?
突然Youtubeの更新が止まって数ヵ月過ぎた。

0991デフォルトの名無しさん (ワッチョイ 7f68-kNbH)2020/12/12(土) 13:02:18.19ID:cNsXl+Rv0
Excel関数のHyperLinkの処理を置き換え(APIHookのような処理)はどうすればできますか?

目的としてはHyperLink関数では一部のURLの表示が遅い(Excel自体のタイムアウト待ち?)ので
直接「CreateObject("WScript.Shell").Run URL文字列」の処理をさせたいのです
関数名はHyperLinkのままにしたいのでAPIHookのような処理ができればいいのですが

0992デフォルトの名無しさん (ワッチョイ 87da-orE1)2020/12/12(土) 14:44:07.78ID:goTAsgOP0
またおまんこ

0993デフォルトの名無しさん (ワッチョイ 7fda-EtKx)2020/12/12(土) 16:50:49.73ID:8ELulHCK0
>>990
普通にセミナー開いてたよ
つべは単に再生回数取れないから休止してるんでしょ

0994デフォルトの名無しさん (ワッチョイ bff7-QcLe)2020/12/12(土) 17:03:16.57ID:EozP8xdo0
動画じゃコピペできないもの

0995デフォルトの名無しさん (ワッチョイ 67f1-k4Kn)2020/12/12(土) 17:30:46.03ID:D0KYkpwQ0
>>993
そうか。
動画では💩上から目線で💩偉そうだったから生きてないのかと思った。

0996デフォルトの名無しさん (ブーイモ MMcf-IxYp)2020/12/12(土) 17:59:55.44ID:XTq8+BP7M
この三年でこのスレの人に救われた事が多すぎて感謝の念しかない
VBAどころかエクセルすら使わない仕事に変わるけど本当にみんなありがとう

0997デフォルトの名無しさん (ワッチョイ 87ce-kNbH)2020/12/12(土) 18:37:52.11ID:wCNFFbhJ0
>>994
コメント欄に数式とかソース貼っとけばいいじゃん

0998デフォルトの名無しさん (ワッチョイ 7fda-EtKx)2020/12/12(土) 20:08:39.70ID:8ELulHCK0
>>995
まあまあ、あの方のひととなりは業界では知る人ぞ知るで有名だから。
実際にトップクラスのテクニックの持ち主には間違いないからしゃーない

0999デフォルトの名無しさん (ワッチョイ 67f1-k4Kn)2020/12/12(土) 20:25:22.78ID:D0KYkpwQ0
>>998
いやプログラミングの業界で働いてたらあのくらいのスキルは低レベル。
それよりExcelのVBAごときで偉そうにしてるのは井の中の蛙。

あの人の周りには大量の低レベル社員が群がっているのだろう。
そんな低レベルの人が質問をしてきてそれに答えるばかりしているから自分が頭いいと勘違いしてるだけ。

もっと高レベルなプログラマーを目指してほしい。

こういう現象は高学歴な人が人生の早い段階でつまずき
予備校教師を目指す、というのにも見られる。
せっかく高学歴なんだからもっと自分のやりたいことに精力をそそげばいいのにね。
教育界で偉そうにすることしかできなくなった落ちこぼれ。

1000デフォルトの名無しさん (ワッチョイ df01-1sNk)2020/12/12(土) 20:52:45.95ID:FxA0JWZG0
自称高レベル君乙w

10011001Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 104日 8時間 57分 19秒

10021002Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php

レス数が1000を超えています。これ以上書き込みはできません。