20/12/10 20:13:35.89 tORGV15wa.net
>>932
一回しか行わないわけだし手でやるのが普通ですよ
それにセルのサイズ変えたらズレるし
全部のセルの罫線みるのにどんだけ掛かるかw
951:デフォルトの名無しさん
20/12/10 20:47:29.63 8uzpk1TB0.net
どんだけ掛かるんだ?
952:デフォルトの名無しさん
20/12/10 21:11:52.00 CqzKSDKw0.net
C列になし、0、文字列があって、
条件分岐で
C列が文字列であれば転記する文字列をそれに変更。転機列のD列には転記しない
C列がなしであれば同じ行のD列を見に行ってブランクであれば文字列を転記、文字が既にあれば転記しない
C列が0であれば次の文字列まで移動
上記のようなのは関数だと不可能だと思うので、マクロでどのように作ればいいでしょうか
953:デフォルトの名無しさん
20/12/10 21:12:58.79 DnhQvLL+0.net
その通り作ればいいですよ
954:デフォルトの名無しさん
20/12/10 21:21:26.02 gchHSEuY0.net
>>945
>C列がなしであれば同じ行のD列を見に行ってブランクであれば文字列を転記、文字が既にあれば転記しない
この意味が分からんのだけど誰か翻訳頼む。
955:デフォルトの名無しさん
20/12/10 21:43:23.69 kT+M3PHp0.net
ある程度自分で考えてそれでもわからない部分を聞くとかならともかく、丸投げ質問はスルーでおk
956:デフォルトの名無しさん
20/12/10 21:46:13.21 62ZBW9sZ0.net
>>947
自分はむしろ
「C列が文字列であれば転記する文字列をそれに変更」
の方が分からん
957:デフォルトの名無しさん
20/12/10 21:49:42.57 v6PrCrQZ0.net
この手のタイプは自分の見てるものが他人には見えてないってことがいつも抜け落ちてる
958:デフォルトの名無しさん
20/12/10 21:55:21.01 TqxHVWGz0.net
仮に転記文字列がEなら
Cが0(数値)
次のCまで移動
Cがなし
D列がブランクならEからDに転記
Cが文字列
EをCの文字列に変更、Dはそのまま
じゃないの?
でもなしとブランクが分かれてるのが謎
959:デフォルトの名無しさん
20/12/10 22:36:37.55 CqzKSDKw0.net
すいませんちょっと言葉が足りませんでした。
なしは単なる文字列のなしです
IFでなしという文字列があれば、現在設定している文字列をD列に書き出していく処理になります
C列 D列
りんご
なし
0
0
みかん
なし
↓
C D
りんご (ブランク)
なし りんご
0 (ブランク)
0 (ブランク)
みかん (ブランク)
なし みかん
上記のような処理を作りたいです。
960:デフォルトの名無しさん
20/12/10 22:48:25.04 56YuvF2X0.net
どうぞ作ってください。
961:デフォルトの名無しさん
20/12/10 22:56:25.81 CqzKSDKw0.net
条件分岐の所だけでもこういう感じで作ればいいというような回答を頂ければ助かります
かなり丸投げな質問になってすいません
962:デフォルトの名無しさん
20/12/10 22:57:22.97 YXjbRyJb0.net
四角投げくらいかな?
963:デフォルトの名無しさん
20/12/10 22:59:02.40 5Pf17kEC0.net
ちょっとみただけだけど関数でも頑張れば
作れそうに見えるがどうだろうか
964:デフォルトの名無しさん
20/12/10 23:05:18.21 DnhQvLL+0.net
回答しても助けになりそうも無い
965:デフォルトの名無しさん
20/12/10 23:06:01.55 5Pf17kEC0.net
別に頑張らなくても関数で出来た
頭硬すぎだろう
966:デフォルトの名無しさん
20/12/10 23:24:54.94 A+NuqwaS0.net
なしって入ったときに出てくるのがなしの1個上のセルの内容と決まってるなら関数でも書けるね
967:デフォルトの名無しさん
20/12/10 23:35:14.23 gchHSEuY0.net
このなぞなぞを思い出した
URLリンク(nazo2.myaasensei.com)
なしなら「梨」と表記するか
別の果物、ぶどうとかすればいいのに
紛らわしい
968:デフォルトの名無しさん
20/12/10 23:53:09.24 v6PrCrQZ0.net
>>952
その条件通りにそのまま書き起こせば実現できることじゃないのか、複雑な処理がいるわけでもなし
969:デフォルトの名無しさん
20/12/11 00:21:36.40 bQCq39tb0.net
関数で作れるならヒントでも頂けませんでしょうか
すいません。
970:デフォルトの名無しさん
20/12/11 00:36:40.44 2rJlNOe/0.net
=if(C1=″なし″,offset(C1,0,-1),″″)
こんな感じか
971:デフォルトの名無しさん
20/12/11 00:37:35.18 bQCq39tb0.net
スレッド眺めましたがまともに答えてる人ここはあまりいないんですね
失礼しました
972:デフォルトの名無しさん
20/12/11 00:41:08.86 Lka/LNP10.net
まともな質問をしましょう
973:デフォルトの名無しさん
20/12/11 00:44:14.37 6Y+QuIqT0.net
流と関係ないけどここの人ってVBAはもちろんだけど関数も糞詳しいんだよなあ
VBAが関数の上位互換みたいなとこあるから当然か
SQRTとかここで教わったりセルの書式設定の代わりにVBAとかめちゃくちゃ助けてもらったわ
974:デフォルトの名無しさん
20/12/11 00:46:54.57 RI9UvvOD0.net
上位互換じゃなくて全く同等。
lambda関数導入でチューリング完全になったからね。
975:デフォルトの名無しさん
20/12/11 01:01:39.09 bQCq39tb0.net
>>963
それだと、なしの横にりんごやみかんの文字列が表示されませんでした
976:デフォルトの名無しさん
20/12/11 01:47:52.19 sk80MZxp0.net
シート関数でもVBAでもどっちでもいいけど組むにあたってどの部分で詰まってるわけ?
977:デフォルトの名無しさん
20/12/11 02:06:21.43 vUB51gLL0.net
>>968
馬鹿は死ねば?
978:デフォルトの名無しさん
20/12/11 02:21:17.12 bQCq39tb0.net
>>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等で文字列を参照する事が出来そうなので)
979:デフォルトの名無しさん
20/12/11 02:26:17.07 egj/vl+4M.net
いつものあいつっぽい
980:デフォルトの名無しさん
20/12/11 02:32:32.38 t8ktWZN00.net
>>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列は空欄になる。
981:デフォルトの名無しさん
20/12/11 02:47:05.93 t8ktWZN00.net
>>971
それなら、C列を作業列として
A列にA2からデータ
B列はB2から =IF(A:A="",C2,"")
C列にC2から =IF(A:A="",C1,A2)
でB,C列をドラッグで、では?
982:デフォルトの名無しさん
20/12/11 07:09:43.08 pv/aap0P0.net
創作系は怠け者に厳しいから
こうやったけどうまくいかないってのは直してくれるが1から作ってってのはなあ
983:デフォルトの名無しさん
20/12/11 08:01:05.41 xHfuP7vB0.net
>>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
984:デフォルトの名無しさん
20/12/11 08:34:39.24 xHfuP7vB0.net
>>971
ワークシート関数で、条件付きで最後にある値を取るのは面倒だと思う
Filter関数とVlookup関数でできなくはないけど
985:デフォルトの名無しさん
20/12/11 12:26:50.51 A055qJ39d.net
ifのあとカッコで書けるのかしらなんだわ
986:デフォルトの名無しさん
20/12/11 13:05:38.72 wz04rSM4r.net
974さんのやり方にinblankを付け足して解決出来ました
ありがとうございました。
987:デフォルトの名無しさん
20/12/11 13:07:41.53 5MdaedDCM.net
>>978
単に 式をカッコで包んでるだけ
A = B + 1
を
A = (B + 1)
と書くのと同じ
988:デフォルトの名無しさん
20/12/11 14:46:49.15 UAef87jg0.net
カッコも式の一部だから書くのは自由だけど処理上はまったく意味がない
たとえばこれでも別にエラーにはならない
If (((((a)) = ((b))))) Then
989:デフォルトの名無しさん
20/12/11 14:57:01.16 7k+CWJkj0.net
zipファイルを解凍して別フォルダにコピー後にzipファイルと元の解凍ファイルをfso.deletefolderでまとめて削除するvba作ってるんだけどもなんでかzipファイルだけ削除できないんやがなんでや
990:デフォルトの名無しさん
20/12/11 15:00:25.68 g30meLDD0.net
解凍処理の方でまだ掴んでるとかは?
991:デフォルトの名無しさん
20/12/11 16:18:51.11 xfvmoUwoM.net
>>978
見やすくていいでしょ
おすすめ
992:デフォルトの名無しさん
20/12/11 17:17:16.62 A055qJ39d.net
おう、マネささて頂きますわ
993:デフォルトの名無しさん
20/12/11 18:12:09.99 f/nqGphBa.net
>>981
そんなにカッコつけるなよ
994:デフォルトの名無しさん
20/12/11 18:17:33.57 YQ4SKnSdM.net
囲えるくらいの甲斐性を見せろよ
995:デフォルトの名無しさん
20/12/11 19:03:37.76 RI9UvvOD0.net
FUCK (((((●)) = ((●))))) 凸 YOU
996:デフォルトの名無しさん
20/12/11 20:45:59.99 u1KAArwg0.net
ウンコ
997:デフォルトの名無しさん
20/12/12 12:26:43.87 D0KYkpwQ0.net
Office田中の人生きてるの?
突然Youtubeの更新が止まって数ヵ月過ぎた。
998:デフォルトの名無しさん
20/12/12 13:02:18.19 cNsXl+Rv0.net
Excel関数のHyperLinkの処理を置き換え(APIHookのような処理)はどうすればできますか?
目的としてはHyperLink関数では一部のURLの表示が遅い(Excel自体のタイムアウト待ち?)ので
直接「CreateObject("WScript.Shell").Run URL文字列」の処理をさせたいのです
関数名はHyperLinkのままにしたいのでAPIHookのような処理ができればいいのですが
999:デフォルトの名無しさん
20/12/12 14:44:07.78 goTAsgOP0.net
またおまんこ
1000:デフォルトの名無しさん
20/12/12 16:50:49.73 8ELulHCK0.net
>>990
普通にセミナー開いてたよ
つべは単に再生回数取れないから休止してるんでしょ
1001:デフォルトの名無しさん
20/12/12 17:03:16.57 EozP8xdo0.net
動画じゃコピペできないもの
1002:デフォルトの名無しさん
20/12/12 17:30:46.03 D0KYkpwQ0.net
>>993
そうか。
動画では💩上から目線で💩偉そうだったから生きてないのかと思った。
1003:デフォルトの名無しさん
20/12/12 17:59:55.44 XTq8+BP7M.net
この三年でこのスレの人に救われた事が多すぎて感謝の念しかない
VBAどころかエクセルすら使わない仕事に変わるけど本当にみんなありがとう
1004:デフォルトの名無しさん
20/12/12 18:37:52.11 wCNFFbhJ0.net
>>994
コメント欄に数式とかソース貼っとけばいいじゃん
1005:デフォルトの名無しさん
20/12/12 20:08:39.70 8ELulHCK0.net
>>995
まあまあ、あの方のひととなりは業界では知る人ぞ知るで有名だから。
実際にトップクラスのテクニックの持ち主には間違いないからしゃーない
1006:デフォルトの名無しさん
20/12/12 20:25:22.78 D0KYkpwQ0.net
>>998
いやプログラミングの業界で働いてたらあのくらいのスキルは低レベル。
それよりExcelのVBAごときで偉そうにしてるのは井の中の蛙。
あの人の周りには大量の低レベル社員が群がっているのだろう。
そんな低レベルの人が質問をしてきてそれに答えるばかりしているから自分が頭いいと勘違いしてるだけ。
もっと高レベルなプログラマーを目指してほしい。
こういう現象は高学歴な人が人生の早い段階でつまずき
予備校教師を目指す、というのにも見られる。
せっかく高学歴なんだからもっと自分のやりたいことに精力をそそげばいいのにね。
教育界で偉そうにすることしかできなくなった落ちこぼれ。
1007:デフォルトの名無しさん
20/12/12 20:52:45.95 FxA0JWZG0.net
自称高レベル君乙w
1008:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 104日 8時間 57分 19秒
1009:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています