!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ
ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ
※前スレ
Excel VBA 質問スレ Part69
https://mevius.5ch.net/test/read.cgi/tech/1607786543/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
Excel VBA 質問スレ Part70
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ b6da-6NWR)
2021/03/18(木) 22:08:43.71ID:jtngtgXU0585デフォルトの名無しさん (ラクッペペ MM8f-HlUj)
2021/05/01(土) 13:20:57.76ID:GvoaCTGBM >>582
互換、環境の違い……
互換、環境の違い……
586デフォルトの名無しさん (アウアウウー Saab-5hFs)
2021/05/01(土) 13:30:58.50ID:eT9ez6fta ピボットを設定して
たて列を月
よこ列を単価
合計は "値で合計"にする <はじめは個数で合計>になってる
いちばん間違えやすいところ
たて列を月
よこ列を単価
合計は "値で合計"にする <はじめは個数で合計>になってる
いちばん間違えやすいところ
587デフォルトの名無しさん (ワッチョイ dff0-Ew5U)
2021/05/01(土) 14:28:03.48ID:FxNutXRP0 >>573
> >>557
> sheet1モジュールに書く
> シート名はs1とs2にしてるのでテキトーに変えて
>
>
> Private Sub Worksheet_Change(ByVal Target As Range)
>
> If _
> Target.Address <> "$B$1" _
> Or Not (IsNumeric(Target)) _
> Then
> Exit Sub
> End If
>
> main = Cells(1, 2).Value
> main2 = Cells(1, 1).Value
>
> If (Int(main) - (main)) = 0 Then
> Sheets("s2").Cells(1, 3) = main
> Else
> Sheets("s2").Cells(1, 3) = Int(main2)
> End If
>
> End Sub
あらためて
ありがとうございます。
整数なら無視できるようになりました!
あとは Sheets("s2").Cells(1, 3) にSheets("s1").Cells(1, 2).Valueが整数じゃなければSheets("s1").Cells(1, 1).Valueが入れば完璧です
ちょっと自分でググってみます!もしできないようならまた質問させてください
> >>557
> sheet1モジュールに書く
> シート名はs1とs2にしてるのでテキトーに変えて
>
>
> Private Sub Worksheet_Change(ByVal Target As Range)
>
> If _
> Target.Address <> "$B$1" _
> Or Not (IsNumeric(Target)) _
> Then
> Exit Sub
> End If
>
> main = Cells(1, 2).Value
> main2 = Cells(1, 1).Value
>
> If (Int(main) - (main)) = 0 Then
> Sheets("s2").Cells(1, 3) = main
> Else
> Sheets("s2").Cells(1, 3) = Int(main2)
> End If
>
> End Sub
あらためて
ありがとうございます。
整数なら無視できるようになりました!
あとは Sheets("s2").Cells(1, 3) にSheets("s1").Cells(1, 2).Valueが整数じゃなければSheets("s1").Cells(1, 1).Valueが入れば完璧です
ちょっと自分でググってみます!もしできないようならまた質問させてください
588デフォルトの名無しさん (ワッチョイ dfda-PU2s)
2021/05/01(土) 15:00:22.43ID:FcpS+0KE0 >>584
誰か建ててくれると期待してはや数年。。。
誰か建ててくれると期待してはや数年。。。
589デフォルトの名無しさん (ワッチョイ 7fda-x7Q7)
2021/05/01(土) 15:05:23.71ID:+awRLs9V0 PowerQueryスレは建ったんだけど、
https://mevius.5ch.net/test/read.cgi/bsoft/1571540368/
ピボットスレ、建ててみる?
先日、総合相談スレでPowerPivot絡みの質問はあったが。
https://mevius.5ch.net/test/read.cgi/bsoft/1571540368/
ピボットスレ、建ててみる?
先日、総合相談スレでPowerPivot絡みの質問はあったが。
590デフォルトの名無しさん (ワッチョイ 0702-h3Dk)
2021/05/01(土) 15:15:39.62ID:v351dbwI0591デフォルトの名無しさん (アウアウウー Saab-5hFs)
2021/05/01(土) 16:16:38.30ID:eT9ez6fta あーそうかも
やはりピボットスレが立つまで待ちますか
やはりピボットスレが立つまで待ちますか
592デフォルトの名無しさん (ワッチョイ dfb3-3tTE)
2021/05/01(土) 16:42:05.48ID:AMC1YaHy0 >>581
それは、たとえば、元表にB1&countif(B$1:B1,B1)みたいな作業列を作って
飛ばしたい表に、iferror(index(D:D,match(作業列,コード&column()+1,0)),"")
みたいな数式を貼り付けるのではだめですか?
1つのセルに、数式として入っている必要性が、あるのですか?
それは、たとえば、元表にB1&countif(B$1:B1,B1)みたいな作業列を作って
飛ばしたい表に、iferror(index(D:D,match(作業列,コード&column()+1,0)),"")
みたいな数式を貼り付けるのではだめですか?
1つのセルに、数式として入っている必要性が、あるのですか?
593デフォルトの名無しさん (ワッチョイ dfb3-3tTE)
2021/05/01(土) 17:05:58.85ID:AMC1YaHy0 >>592修正、matchの書式も違うし
月も必要なので、B1&E1 を作業列Fに、count(F$1:F1,F1)を作業列Gに入れて
飛ばしたい表のA列はコード、B列は月、C列以降にiferror(index(元表!$D:$D,match($A1&$B1&column()-2,元表!$F:$F,0)),"")
こんな感じではだめですか?
月も必要なので、B1&E1 を作業列Fに、count(F$1:F1,F1)を作業列Gに入れて
飛ばしたい表のA列はコード、B列は月、C列以降にiferror(index(元表!$D:$D,match($A1&$B1&column()-2,元表!$F:$F,0)),"")
こんな感じではだめですか?
594デフォルトの名無しさん (ワッチョイ 0702-h3Dk)
2021/05/01(土) 17:25:51.43ID:v351dbwI0 >>592
合計なら楽なんですが、どうしても=+で数字を積み立てないとダメなんですよね、、
だから数式では解決できない気がします
vbaでやるなら配列に詰め込んで最後に結合させるのかなあとか思ってるんですがなかなかいいコードが思い浮かばない、、
合計なら楽なんですが、どうしても=+で数字を積み立てないとダメなんですよね、、
だから数式では解決できない気がします
vbaでやるなら配列に詰め込んで最後に結合させるのかなあとか思ってるんですがなかなかいいコードが思い浮かばない、、
595デフォルトの名無しさん (ワッチョイ 0702-h3Dk)
2021/05/01(土) 17:29:33.26ID:v351dbwI0 >>593
ちなみに飛ばしたい表のB列は月というか
月
コード 〜
みたいな形になってて、月は横軸の大項目としてしか存在してないんですよね
色々厄介な作りになってまして、、
ちなみに飛ばしたい表のB列は月というか
月
コード 〜
みたいな形になってて、月は横軸の大項目としてしか存在してないんですよね
色々厄介な作りになってまして、、
596デフォルトの名無しさん (ワッチョイ a78e-MiMN)
2021/05/01(土) 17:33:09.92ID:d9MtRRCh0 知能に障害がある人ばかり質問するようになった感じ
597デフォルトの名無しさん (ワッチョイ df79-2I0v)
2021/05/01(土) 17:49:10.58ID:MA8kI4AW0 コロナ自粛でGW中だから暇なんだよ
暇な人に相手して欲しいんだよ
暇な人に相手して欲しいんだよ
598デフォルトの名無しさん (ワッチョイ dfda-PU2s)
2021/05/01(土) 18:04:53.11ID:QtACG4Vk0 知恵袋でやれば良いと思う
599579 (テテンテンテン MM8f-m/Zw)
2021/05/01(土) 18:07:44.96ID:4GddeLjJM >>581
> みたいな感じで月が同じでコードが一致してる場合だけ積み立てていくことってできますか?
月が同じってどこと同じなの?
コードのようにどこかで指定するってこと?
とりあえずコードがA列、金額がB列、月がC列に入っているとして
Dim 元表 As Sheet: Set 元表 = Range("A1:C10")
Dim 金額() As String: ReDim 金額(元表.Row To 元表.Row + 元表.Rows.Count - 1)
Dim 書込行 As Long: 書込行 = LBound(金額)
Dim 行 As Long
For 行 = LBound(金額) To UBound(金額)
If Cells(行, "A").Value = コード And Cells(行, "C").Value = 月 Then
金額(書込行) = Cells(行, "B").Value
書込行 = 書込行 + 1
End If
Next
ReDim Preserve 金額(LBound(金額) To 書込行 - 1)
Range("D1").Formula = "=" & Join("+",
金額)
みたいな感じでいけると思う
>582
ごめん、テキトーにググって書いてるから間違えてるみたいやな
Application.WorksheetFunction.Transpose
にしといて
> みたいな感じで月が同じでコードが一致してる場合だけ積み立てていくことってできますか?
月が同じってどこと同じなの?
コードのようにどこかで指定するってこと?
とりあえずコードがA列、金額がB列、月がC列に入っているとして
Dim 元表 As Sheet: Set 元表 = Range("A1:C10")
Dim 金額() As String: ReDim 金額(元表.Row To 元表.Row + 元表.Rows.Count - 1)
Dim 書込行 As Long: 書込行 = LBound(金額)
Dim 行 As Long
For 行 = LBound(金額) To UBound(金額)
If Cells(行, "A").Value = コード And Cells(行, "C").Value = 月 Then
金額(書込行) = Cells(行, "B").Value
書込行 = 書込行 + 1
End If
Next
ReDim Preserve 金額(LBound(金額) To 書込行 - 1)
Range("D1").Formula = "=" & Join("+",
金額)
みたいな感じでいけると思う
>582
ごめん、テキトーにググって書いてるから間違えてるみたいやな
Application.WorksheetFunction.Transpose
にしといて
600デフォルトの名無しさん (ワッチョイ 075f-2Bcu)
2021/05/01(土) 18:46:01.00ID:z941MlAe0 >>599
最初の型はSheetじゃなくてRangeじゃね
あとこの人の言ってるのは普通に文字列としてValueプロパティに式を書き込めばいいような気がするけど
上で語ってる人ってあんま教えに来ないよな
最初の型はSheetじゃなくてRangeじゃね
あとこの人の言ってるのは普通に文字列としてValueプロパティに式を書き込めばいいような気がするけど
上で語ってる人ってあんま教えに来ないよな
601デフォルトの名無しさん (ワッチョイ 0702-h3Dk)
2021/05/01(土) 18:57:24.37ID:v351dbwI0 >>599
試しにやろうとしたら最終行が型不一致でエラーになりました・・
試しにやろうとしたら最終行が型不一致でエラーになりました・・
602579 (テテンテンテン MM8f-m/Zw)
2021/05/01(土) 19:57:34.66ID:jFabojDWM603デフォルトの名無しさん (ワッチョイ 0702-h3Dk)
2021/05/01(土) 20:06:26.75ID:v351dbwI0604デフォルトの名無しさん (ワントンキン MMbf-Pk3V)
2021/05/01(土) 22:02:09.39ID:ueS9oUA3M >>603
自分で考えることくらいしろや、ゆとり
自分で考えることくらいしろや、ゆとり
605デフォルトの名無しさん (ワッチョイ 8701-I0Kk)
2021/05/01(土) 22:18:52.25ID:T1b9C9NF0 dim hako() as variant
redim hako(ここはデータ数を格納)
for i = 0 to 回数
hako(i) = Worksheets("Sheet1").Range(Worksheets("Sheet1").Cells(1,1), Worksheets("Sheet1").Cells(1,1)).Value
next
こんな感じで配列の中にセルの文字入れて行こうとするとエラーになるんですが原因分かる人居たら教えてください
便宜上cellの位置は1,1にしてますけど実際は縦が動いていきます
redim hako(ここはデータ数を格納)
for i = 0 to 回数
hako(i) = Worksheets("Sheet1").Range(Worksheets("Sheet1").Cells(1,1), Worksheets("Sheet1").Cells(1,1)).Value
next
こんな感じで配列の中にセルの文字入れて行こうとするとエラーになるんですが原因分かる人居たら教えてください
便宜上cellの位置は1,1にしてますけど実際は縦が動いていきます
606デフォルトの名無しさん (ワッチョイ df8f-OedE)
2021/05/01(土) 22:41:00.37ID:/V6pM9G50 >>541
> これ、要するにString型変数の値は参照値って事?
> 察してはいたけどByval xxx$って嘘じゃん
逆にC知ってると、文字列がプリミティブってのにものすごい
違和感があるよ。「ああ、内部で変換してんだな。そういうものだと
思っておこう」と、自分を納得させる。
> これ、要するにString型変数の値は参照値って事?
> 察してはいたけどByval xxx$って嘘じゃん
逆にC知ってると、文字列がプリミティブってのにものすごい
違和感があるよ。「ああ、内部で変換してんだな。そういうものだと
思っておこう」と、自分を納得させる。
607579 (テテンテンテン MM8f-m/Zw)
2021/05/01(土) 22:45:28.00ID:4GddeLjJM >>603
条件に合うものがないと ReDim 金額(1 To 0) の様になってエラーになる
VBAではReDimで空の配列は作れないので条件に合うものがない場合を場合分けして処理するしかない
例えば条件に合うものがない場合はD1を空にするなら最後の2行を
Dim 式 As String
If LBound(金額) < 書込行 <= Then
ReDim Preserve 金額(LBound(金額) To 書込行 - 1)
式 = Join("+", 金額)
Else
式 = """"""
End If
Range("D1").Formula = "=" & 式
とかにすればいい
条件に合うものがないと ReDim 金額(1 To 0) の様になってエラーになる
VBAではReDimで空の配列は作れないので条件に合うものがない場合を場合分けして処理するしかない
例えば条件に合うものがない場合はD1を空にするなら最後の2行を
Dim 式 As String
If LBound(金額) < 書込行 <= Then
ReDim Preserve 金額(LBound(金額) To 書込行 - 1)
式 = Join("+", 金額)
Else
式 = """"""
End If
Range("D1").Formula = "=" & 式
とかにすればいい
608デフォルトの名無しさん (ワッチョイ df4f-U2UV)
2021/05/01(土) 22:53:14.11ID:1m8BqwmN0 >>605
>hako(i) = Worksheets("Sheet1").Range(Worksheets("Sheet1").Cells(1,1), Worksheets("Sheet1").Cells(1,1)).Value
の、
Worksheets("Sheet1").Cells(1,1)が指してる先が数字でないなんてオチはないよね?
>hako(i) = Worksheets("Sheet1").Range(Worksheets("Sheet1").Cells(1,1), Worksheets("Sheet1").Cells(1,1)).Value
の、
Worksheets("Sheet1").Cells(1,1)が指してる先が数字でないなんてオチはないよね?
609デフォルトの名無しさん (ワッチョイ 8701-I0Kk)
2021/05/01(土) 23:00:47.42ID:T1b9C9NF0610デフォルトの名無しさん (ワッチョイ 0702-h3Dk)
2021/05/01(土) 23:06:25.35ID:v351dbwI0 >>607
すごい!
ちょっと動くようになりました。
二行目のif文の<=って消していいですかね?
消さないとエラーになってしまったので
ただ、式=join("+",金額)のところで型が一致しないエラーになりました
すごい!
ちょっと動くようになりました。
二行目のif文の<=って消していいですかね?
消さないとエラーになってしまったので
ただ、式=join("+",金額)のところで型が一致しないエラーになりました
611デフォルトの名無しさん (ワッチョイ a78e-MiMN)
2021/05/01(土) 23:16:54.43ID:d9MtRRCh0 いつものあいつ確定
612579 (テテンテンテン MM8f-m/Zw)
2021/05/01(土) 23:44:05.17ID:ll+wAnFJM613デフォルトの名無しさん (ワッチョイ 0702-h3Dk)
2021/05/01(土) 23:54:50.36ID:v351dbwI0614デフォルトの名無しさん (ワッチョイ 7fda-x7Q7)
2021/05/02(日) 09:42:00.36ID:1V5M4ibt0 >>590
PowerPivotでDAX関数使えば出来るかも。
PowerPivotでDAX関数使えば出来るかも。
615デフォルトの名無しさん (ワッチョイ 7fda-x7Q7)
2021/05/02(日) 09:58:00.77ID:1V5M4ibt0616デフォルトの名無しさん (ワッチョイ 8768-YF1U)
2021/05/02(日) 10:03:52.79ID:uM4tl5TR0 いきなり宣伝てアンタ
617579 (テテンテンテン MM8f-m/Zw)
2021/05/02(日) 10:19:11.69ID:72ULtZJbM618デフォルトの名無しさん (ワッチョイ 8701-I0Kk)
2021/05/02(日) 10:26:38.41ID:GQme+tVN0 >>617
アプリケーション定義エラーまたはオブジェクトの定義エラーですってなります
アプリケーション定義エラーまたはオブジェクトの定義エラーですってなります
619デフォルトの名無しさん (ワッチョイ 7fda-x7Q7)
2021/05/02(日) 11:31:48.49ID:1V5M4ibt0 2スレ目に何か書いとこうと思って、
とりあえず考えついたのがこれくらいしかなかった。
スンマセン
とりあえず考えついたのがこれくらいしかなかった。
スンマセン
620デフォルトの名無しさん (テテンテンテン MM8f-m/Zw)
2021/05/02(日) 11:41:15.21ID:nZ1YzZjsM >>618
>>617で頓珍漢なこと書いてたわスマン、数値かどうかは関係ないわ
> hako(i) = Worksheets("Sheet1").Range(Worksheets("Sheet1").Cells(1,1), Worksheets("Sheet1").Cells(1,1)).Value
でエラーになるのか
> 実際は縦が動いていきます
の方でエラーになるのかどっち?
上でエラーになるなら1回目なのか何回かやったらエラーになるのかのどっち?
下でエラーになるならエラーになった時のセルの指定がおかしくないかを確認
あとシートの指定は変数に入れるかWithを使った方が楽だよ
With Worksheets("Sheet1")
For i = 0 to 回数
hako(i) = .Range(.Cells(1,1), .Cells(1,1)).Value
Next
End With
>>617で頓珍漢なこと書いてたわスマン、数値かどうかは関係ないわ
> hako(i) = Worksheets("Sheet1").Range(Worksheets("Sheet1").Cells(1,1), Worksheets("Sheet1").Cells(1,1)).Value
でエラーになるのか
> 実際は縦が動いていきます
の方でエラーになるのかどっち?
上でエラーになるなら1回目なのか何回かやったらエラーになるのかのどっち?
下でエラーになるならエラーになった時のセルの指定がおかしくないかを確認
あとシートの指定は変数に入れるかWithを使った方が楽だよ
With Worksheets("Sheet1")
For i = 0 to 回数
hako(i) = .Range(.Cells(1,1), .Cells(1,1)).Value
Next
End With
621デフォルトの名無しさん (ワッチョイ 8701-I0Kk)
2021/05/02(日) 12:12:35.89ID:GQme+tVN0 >>620
独学でやってたのでその辺の知識がなくてw
withで指定するといちいち書かなくて済むんですね
エラーになるのはもう1度目からです
> hako(i) = Worksheets("Sheet1").Range(Worksheets("Sheet1").Cells(1,1), Worksheets("Sheet1").Cells(1,1)).Value
ここの時点でエラーになります。
独学でやってたのでその辺の知識がなくてw
withで指定するといちいち書かなくて済むんですね
エラーになるのはもう1度目からです
> hako(i) = Worksheets("Sheet1").Range(Worksheets("Sheet1").Cells(1,1), Worksheets("Sheet1").Cells(1,1)).Value
ここの時点でエラーになります。
622デフォルトの名無しさん (テテンテンテン MM8f-m/Zw)
2021/05/02(日) 12:42:32.96ID:72ULtZJbM >>621
切り分けとしてエラーになった時にイミディエイトウィンドウで
hako(i) = Worksheets("Sheet1").Range("A1").Value
Debug.Print Worksheets("Sheet1").Range(Worksheets("Sheet1").Cells(1,1), Worksheets("Sheet1").Cells(1,1)).Value
Debug.Print Worksheets("Sheet1").Cells(1,1).Address
を実行してみて
切り分けとしてエラーになった時にイミディエイトウィンドウで
hako(i) = Worksheets("Sheet1").Range("A1").Value
Debug.Print Worksheets("Sheet1").Range(Worksheets("Sheet1").Cells(1,1), Worksheets("Sheet1").Cells(1,1)).Value
Debug.Print Worksheets("Sheet1").Cells(1,1).Address
を実行してみて
623デフォルトの名無しさん (ワッチョイ 8701-I0Kk)
2021/05/02(日) 13:21:44.18ID:GQme+tVN0624デフォルトの名無しさん (スプッッ Sd7f-odQU)
2021/05/02(日) 13:32:29.72ID:MDNwXGbEd エラーが出なくなったらよかった。
他に問題は?
解決?
他に問題は?
解決?
625デフォルトの名無しさん (ワッチョイ dfe6-HlUj)
2021/05/02(日) 18:51:27.95ID:U5GvC0it0 こういう人って文法は理解できないけど
自然言語みたいに丸暗記で覚えていくのかな?
自然言語みたいに丸暗記で覚えていくのかな?
626デフォルトの名無しさん (ワッチョイ 8768-YF1U)
2021/05/02(日) 19:13:05.11ID:uM4tl5TR0 〜10年後〜
「あ、ちゃんと覚えたほうが早かったんだ」
と、表面をなぞりまくる内に本質まで見えてきて最後に気づく人もいる
本業じゃないからね。仕方ないね。
「あ、ちゃんと覚えたほうが早かったんだ」
と、表面をなぞりまくる内に本質まで見えてきて最後に気づく人もいる
本業じゃないからね。仕方ないね。
627デフォルトの名無しさん (ワッチョイ a763-OedE)
2021/05/02(日) 19:18:03.74ID:o6kkyx/e0 類型から共通点を見出して次第にルールを覚えるのは自然界の学習形態に沿っている
628デフォルトの名無しさん (ワッチョイ dfe6-HlUj)
2021/05/02(日) 19:36:47.01ID:U5GvC0it0 古いBASICの構文が難しいからそこだけはしっかりと覚えたほうが早いんだけどね
629デフォルトの名無しさん (アウアウウー Saab-PU2s)
2021/05/03(月) 02:05:26.31ID:q65flA4Da 10年後もこんなことやってるとかw
630デフォルトの名無しさん (JP 0Hcb-OedE)
2021/05/03(月) 03:55:18.41ID:xnojJk7TH 一度普及した物は、減り続けても簡単にはなくならんよ
PC-9801だっていまだに現役で使ってる工場とかあるし
サポートがなくなって10年後でもVBAを使う職場は間違いなく世界中のどこかに残ってる
PC-9801だっていまだに現役で使ってる工場とかあるし
サポートがなくなって10年後でもVBAを使う職場は間違いなく世界中のどこかに残ってる
631デフォルトの名無しさん (アウアウウー Saab-PU2s)
2021/05/03(月) 04:12:16.92ID:mvyi8XcRa 10年たってもエラーが直んないとかやっているのかと言う意味だ
632デフォルトの名無しさん (アウアウウー Saab-5hFs)
2021/05/03(月) 07:31:09.68ID:o8xt4Q4Ca633デフォルトの名無しさん (ワッチョイ 8710-5cEd)
2021/05/03(月) 10:36:54.14ID:lox1tlFa0634デフォルトの名無しさん (ワッチョイ dfda-PU2s)
2021/05/03(月) 10:55:13.04ID:xPMfOD2I0 もはや社会人いないな
635デフォルトの名無しさん (テテンテンテン MM8f-m/Zw)
2021/05/03(月) 11:10:44.37ID:l6TI+yt9M636デフォルトの名無しさん (ワッチョイ 7fda-OedE)
2021/05/03(月) 12:03:06.50ID:DAKb1uRk0 0から始まるときは 回数-1 じゃね
637デフォルトの名無しさん (ワッチョイ 5fba-eh0L)
2021/05/03(月) 14:59:49.63ID:po5ohrNh0 ttps://pastebin.pl/view/3a98fdc0
サムネイル画像の1番をクリックして表示された画像を順々にダウンロードするクローラみたいなものを作ろうとしてるのですが、
どうやったらサムネイル画像の1番めをクリックして表示された画像のURLを取得できるでしょうか?
サムネイル画像の1番をクリックして表示された画像を順々にダウンロードするクローラみたいなものを作ろうとしてるのですが、
どうやったらサムネイル画像の1番めをクリックして表示された画像のURLを取得できるでしょうか?
638デフォルトの名無しさん (ワッチョイ a72c-zL94)
2021/05/03(月) 18:17:11.84ID:iRbOallH0 HTML の中には、サムネイル画像をクリックした時の、飛び先のリンクが書いてある。
(ただし、下には、@の文字を追加した)
最初の画像なら、
<a href="http@s://e-hentai.org/s/78a8543e34/1727798-1">
うまくスクレイピングすれば、このURL を抜き出せるのでは?
(ただし、下には、@の文字を追加した)
最初の画像なら、
<a href="http@s://e-hentai.org/s/78a8543e34/1727798-1">
うまくスクレイピングすれば、このURL を抜き出せるのでは?
639デフォルトの名無しさん (ワッチョイ c710-TNk6)
2021/05/03(月) 20:20:21.53ID:BZOTVT3k0 シート上の複数のリストボックスの選択済みをボタンを押すと
一括クリアしたいと思っています。
For i = 0 To ActiveSheet.OLEObjects("ListBox1").ListCount - 1
If ActiveSheet.OLEObjects("ListBox1").Selected(i) = True Then
ActiveSheet.OLEObjects("ListBox1").Selected(i) = False
End If
Next i
このコードではオブジェクトがないとエラーになります。
どなたかご教授ください。
一括クリアしたいと思っています。
For i = 0 To ActiveSheet.OLEObjects("ListBox1").ListCount - 1
If ActiveSheet.OLEObjects("ListBox1").Selected(i) = True Then
ActiveSheet.OLEObjects("ListBox1").Selected(i) = False
End If
Next i
このコードではオブジェクトがないとエラーになります。
どなたかご教授ください。
640デフォルトの名無しさん (ワッチョイ 7f8e-MiMN)
2021/05/03(月) 22:04:23.29ID:0Wb20ZWw0 いつものあいつ
641デフォルトの名無しさん (ワッチョイ df3d-qkI6)
2021/05/03(月) 22:25:43.32ID:iSjmevx80 そりゃオブジェクト指定してるのにオブジェクトなかったらエラーになる
642デフォルトの名無しさん (ワッチョイ 7f10-gUWx)
2021/05/03(月) 23:09:22.50ID:Z9IP11pi0 アクティブやセレクトの多用はエラー処理が面倒くさくなる場合が多い
根本的なトコロから考え直すヨロシ
根本的なトコロから考え直すヨロシ
643デフォルトの名無しさん (JP 0Hcb-sT2V)
2021/05/04(火) 00:04:08.03ID:ZMKTnAbRH >>639
ボックスが複数あるのか、選択肢が複数あるのか、どっち?
ボックスが複数あるのか、選択肢が複数あるのか、どっち?
644デフォルトの名無しさん (ワッチョイ 8710-5cEd)
2021/05/04(火) 00:21:07.48ID:YgbBuLel0 >>635
どっちもしてないじゃん
どっちもしてないじゃん
645デフォルトの名無しさん (アウアウウー Saab-5hFs)
2021/05/04(火) 19:03:55.38ID:19cryuYQa なるほど
"sheet1"が有りません的なエラーなんだ
これは勉強になった
"sheet1"が有りません的なエラーなんだ
これは勉強になった
646デフォルトの名無しさん (ワッチョイ df42-YF1U)
2021/05/04(火) 23:49:30.76ID:uwH+LPLT0 一生懸命マクロを組んだのに実は標準機能で実現できると知ったときのガッカリ感
647デフォルトの名無しさん (ドコグロ MMeb-c369)
2021/05/05(水) 00:05:02.26ID:6kHGIPV/M 何を作ったかは知らんけど付加価値を追加すればええやん
俺はカラーパレットと並び替えを付加価値を付けて作って使っているけどな
俺はカラーパレットと並び替えを付加価値を付けて作って使っているけどな
648デフォルトの名無しさん (ワッチョイ 8710-5cEd)
2021/05/05(水) 01:59:04.74ID:OXlCsy+h0 ショートカットキー押したらアクティブセルのフォントや背景の色番号が
クリップボードにコピーされるちょいマクロを作ってる
マクロ作るときに欲しい色番号をすぐ書けるので便利
クリップボードにコピーされるちょいマクロを作ってる
マクロ作るときに欲しい色番号をすぐ書けるので便利
649デフォルトの名無しさん (ブーイモ MMcb-DFSD)
2021/05/05(水) 09:07:35.23ID:LGgg24P3M >>648
VBA初学者の誰もが通る道だな
VBA初学者の誰もが通る道だな
650デフォルトの名無しさん (ワッチョイ 075f-2Bcu)
2021/05/05(水) 09:17:08.30ID:4t234ePa0 人の作ったデータベースでIDと商品名がひとつのセルに入力されてるから個別にクリップボードにコピーするマクロを作ったな
651デフォルトの名無しさん (ワッチョイ 8768-YF1U)
2021/05/05(水) 09:38:04.66ID:CaKZkb7J0 >>646
レベルアップしたよ。その経験は無駄にはなってないよ
レベルアップしたよ。その経験は無駄にはなってないよ
652デフォルトの名無しさん (ワッチョイ dff0-Ew5U)
2021/05/05(水) 10:04:42.11ID:nWfClEZV0 Private Sub Worksheet_Change(ByVal Target As Range)
If _
Target.Address <> "$C$2" _
Or (IsNumeric(Target)) _
Then
Exit Sub
End If
main = Cells(1, 3).Value
main2 = Cells(2, 3).Value
If (Int(main) - (main)) = 0 Then
Sheets("DB").Cells(2, 3) = main
Else
Sheets("DB").Cells(2, 3) = Int(main2)
End If
End Sub
If _
Target.Address <> "$C$2" _
Or (IsNumeric(Target)) _
Then
Exit Sub
End If
main = Cells(1, 3).Value
main2 = Cells(2, 3).Value
If (Int(main) - (main)) = 0 Then
Sheets("DB").Cells(2, 3) = main
Else
Sheets("DB").Cells(2, 3) = Int(main2)
End If
End Sub
653デフォルトの名無しさん (ワッチョイ dff0-Ew5U)
2021/05/05(水) 10:54:54.17ID:nWfClEZV0 Private Sub Worksheet_Change(ByVal Target As Range)
1つ目
If _
Target.Address <> "$C$2" _
Or (IsNumeric(Target)) _
Then
Exit Sub
End If
main = Cells(1, 3).Value
main2 = Cells(2, 3).Value
If (Int(main) - (main)) = 0 Then
Sheets("DB").Cells(2, 3) = main
Else
Sheets("DB").Cells(2, 3) = Int(main2)
End If
End Sub
2つ目
If Intersect(Target, Range("A1:C2")) Is Nothing Or Target.Cells.Count > 6 Then Exit Sub
Columns("d").ClearContents
Application.EnableEvents = False
日付1 = DateSerial(Range("A1"), Range("B1"), Range("C1"))
日付2 = DateSerial(Range("A2"), Range("B2"), Range("C2"))
For 日付 = 日付1 To 日付2
r = r + 1
Cells(r, "D") = 日付
Next
Application.EnableEvents = True
End Sub
一つ目と二つ目を合わせるにはどうしたらいいでしょうか?
前にも質問してググってみたのですが今の私のレベルでは手に負えなくて困ってます
ご教授ください
1つ目
If _
Target.Address <> "$C$2" _
Or (IsNumeric(Target)) _
Then
Exit Sub
End If
main = Cells(1, 3).Value
main2 = Cells(2, 3).Value
If (Int(main) - (main)) = 0 Then
Sheets("DB").Cells(2, 3) = main
Else
Sheets("DB").Cells(2, 3) = Int(main2)
End If
End Sub
2つ目
If Intersect(Target, Range("A1:C2")) Is Nothing Or Target.Cells.Count > 6 Then Exit Sub
Columns("d").ClearContents
Application.EnableEvents = False
日付1 = DateSerial(Range("A1"), Range("B1"), Range("C1"))
日付2 = DateSerial(Range("A2"), Range("B2"), Range("C2"))
For 日付 = 日付1 To 日付2
r = r + 1
Cells(r, "D") = 日付
Next
Application.EnableEvents = True
End Sub
一つ目と二つ目を合わせるにはどうしたらいいでしょうか?
前にも質問してググってみたのですが今の私のレベルでは手に負えなくて困ってます
ご教授ください
654デフォルトの名無しさん (ワッチョイ 8768-YF1U)
2021/05/05(水) 10:58:18.12ID:CaKZkb7J0655デフォルトの名無しさん (ワッチョイ 075f-2Bcu)
2021/05/05(水) 11:08:55.56ID:4t234ePa0 この人教えるには金貰わなきゃ割に合わないくらいめんどい
656デフォルトの名無しさん (ワッチョイ dff0-Ew5U)
2021/05/05(水) 11:10:46.24ID:nWfClEZV0 すみません!
A B C D
1 2021 1 1 1/1
2 2021 1 5 1/2
1/3
1/4
1/5
↑のようにDateが入った表で
1/1と1/5までの日付をD列に表示したいです
もし2/4から2/6なら
A B C D
1 2021 1 1 1/1
2 2021 1 5 1/2
1/3
1/4
1/5
↑のようにDateが入った表で
1/1と1/5までの日付をD列に表示したいです
もし2/4から2/6なら
657デフォルトの名無しさん (ワッチョイ dff0-Ew5U)
2021/05/05(水) 11:12:17.39ID:nWfClEZV0 すみません!
A B C D
1 2021 1 1 1/1
2 2021 1 5 1/2
1/3
1/4
1/5
↑のようにDateが入った表で
1/1と1/5までの日付をD列に表示したいです
もし2/4から2/6なら2/4、2/5、2/6を
A B C D
1 2021 1 1 1/1
2 2021 1 5 1/2
1/3
1/4
1/5
↑のようにDateが入った表で
1/1と1/5までの日付をD列に表示したいです
もし2/4から2/6なら2/4、2/5、2/6を
658デフォルトの名無しさん (ワッチョイ dff0-Ew5U)
2021/05/05(水) 11:15:04.54ID:nWfClEZV0 A B C D
1 2021 1 1 1/1
2 2021 1 5 1/2
1/3
1/4
1/5
↑のようにDateが入った表で
1/1と1/5までの日付をD列に表示したいです
もし2/4から2/6なら2/4、2/5、2/6をD列に表示したいです
もしC2に数字以外の文字等が入った場合はC1の数字をC2に来るように出来るでしょうか?
1 2021 1 1 1/1
2 2021 1 5 1/2
1/3
1/4
1/5
↑のようにDateが入った表で
1/1と1/5までの日付をD列に表示したいです
もし2/4から2/6なら2/4、2/5、2/6をD列に表示したいです
もしC2に数字以外の文字等が入った場合はC1の数字をC2に来るように出来るでしょうか?
659デフォルトの名無しさん (ワッチョイ dff0-Ew5U)
2021/05/05(水) 11:16:11.30ID:nWfClEZV0 間違えて
何回も連投してしまいました
すみません
何回も連投してしまいました
すみません
660デフォルトの名無しさん (ワッチョイ dff0-Ew5U)
2021/05/05(水) 11:31:02.17ID:nWfClEZV0661デフォルトの名無しさん (アウアウウー Saab-5hFs)
2021/05/05(水) 13:52:36.59ID:DQe3j4Yqa うむ
他人に説明するときは5w1hがきほん
だいぶよくなったよな
他人に説明するときは5w1hがきほん
だいぶよくなったよな
662デフォルトの名無しさん (JP 0Hcb-sT2V)
2021/05/05(水) 14:24:16.43ID:zgzGcqkdH 質問とソースの両方見ても判定条件がよくわからん
超エスパーすると、数字が5個か6個入ってたらスタートか?
超エスパーすると、数字が5個か6個入ってたらスタートか?
663デフォルトの名無しさん (ワッチョイ 8768-YF1U)
2021/05/05(水) 14:29:49.98ID:CaKZkb7J0 >>656
数式じゃダメなの?
数式だと3分で出来たけど
D1=DATE(A1,B1,C1)
D2=IF(DATE($A$2,$B$2,$C$2)<($D1+1),"",$D1+1)
D2を下にオートフィル
数式じゃダメなの?
数式だと3分で出来たけど
D1=DATE(A1,B1,C1)
D2=IF(DATE($A$2,$B$2,$C$2)<($D1+1),"",$D1+1)
D2を下にオートフィル
664デフォルトの名無しさん (ワッチョイ a72c-zL94)
2021/05/05(水) 14:33:33.57ID:Dw+PnwkB0 Ruby なら、
require 'csv'
require 'date'
input = <<"EOT"
year,month,day
2021,5,31
2021,6,2
EOT
options = { :headers => true } # ヘッダー有り
csv_ary = CSV.parse( input, options )
tmp_from = csv_ary[ 0 ]
tmp_to = csv_ary[ 1 ]
from_day = Date.new( tmp_from[ 0 ].to_i, tmp_from[ 1 ].to_i, tmp_from[ 2 ].to_i )
to_day = Date.new( tmp_to[ 0 ].to_i, tmp_to[ 1 ].to_i, tmp_to[ 2 ].to_i )
Range.new( from_day, to_day ).each{ |day| puts day }
出力
2021-05-31
2021-06-01
2021-06-02
require 'csv'
require 'date'
input = <<"EOT"
year,month,day
2021,5,31
2021,6,2
EOT
options = { :headers => true } # ヘッダー有り
csv_ary = CSV.parse( input, options )
tmp_from = csv_ary[ 0 ]
tmp_to = csv_ary[ 1 ]
from_day = Date.new( tmp_from[ 0 ].to_i, tmp_from[ 1 ].to_i, tmp_from[ 2 ].to_i )
to_day = Date.new( tmp_to[ 0 ].to_i, tmp_to[ 1 ].to_i, tmp_to[ 2 ].to_i )
Range.new( from_day, to_day ).each{ |day| puts day }
出力
2021-05-31
2021-06-01
2021-06-02
665デフォルトの名無しさん (ワッチョイ df3d-qkI6)
2021/05/05(水) 14:39:31.63ID:Peytj0fp0 >>664
スレ違い
スレ違い
666デフォルトの名無しさん (ワッチョイ 8768-YF1U)
2021/05/05(水) 14:45:18.78ID:CaKZkb7J0667デフォルトの名無しさん (ブーイモ MMcf-DFSD)
2021/05/05(水) 14:50:07.30ID:tepg5eqrM >>666
プログラム板に常駐してるキチガイ知らないの?
プログラム板に常駐してるキチガイ知らないの?
668デフォルトの名無しさん (ワッチョイ 8768-YF1U)
2021/05/05(水) 14:52:08.71ID:CaKZkb7J0669デフォルトの名無しさん (ワッチョイ 7f8e-MiMN)
2021/05/05(水) 15:01:03.66ID:CAyVZDxB0 そもそもいつものあいつだし
670デフォルトの名無しさん (ワッチョイ dff0-Ew5U)
2021/05/05(水) 16:38:09.75ID:nWfClEZV0 みなさんを混乱させてしまいまして
もうしわけありません
もうしわけありません
671デフォルトの名無しさん (ワッチョイ c72c-eh0L)
2021/05/05(水) 20:02:01.88ID:mEvPZJoP0 VB6やVB.NetでVBA用のDLLビルドしてるんだけど、
DLL側のクラスのメンバ構成に変更加えてリビルドしたら、それを参照しているVBAのプロジェクト側で、いちいちDLL参照解除→DLL再参照を手作業でやらんとアカンの?
面倒くさいんやけど。
って、これまでの流れ見たら、スレチな質問になるんかな。
DLL側のクラスのメンバ構成に変更加えてリビルドしたら、それを参照しているVBAのプロジェクト側で、いちいちDLL参照解除→DLL再参照を手作業でやらんとアカンの?
面倒くさいんやけど。
って、これまでの流れ見たら、スレチな質問になるんかな。
672デフォルトの名無しさん (ワッチョイ 7f10-gUWx)
2021/05/05(水) 22:06:37.83ID:XLRqwo1W0 DLLてデルルでいいの?
673デフォルトの名無しさん (ワッチョイ dfe6-HlUj)
2021/05/05(水) 22:10:12.24ID:TYeLzB6b0 ダリラ
674デフォルトの名無しさん (ワッチョイ 8768-YF1U)
2021/05/05(水) 22:14:38.02ID:CaKZkb7J0676デフォルトの名無しさん (ワッチョイ c72c-eh0L)
2021/05/05(水) 22:23:14.23ID:mEvPZJoP0 質問した俺が間違っていた。
677デフォルトの名無しさん (ワッチョイ 7f10-gUWx)
2021/05/05(水) 22:29:51.86ID:XLRqwo1W0 「質問した俺が間違っていた」
つまりこれをSOM、読み方はデルル
つまりこれをSOM、読み方はデルル
678デフォルトの名無しさん (ワッチョイ 672f-zL94)
2021/05/05(水) 23:07:25.23ID:gm6jmmXW0679デフォルトの名無しさん (ワッチョイ c72c-eh0L)
2021/05/06(木) 06:00:24.75ID:fowE0ZYM0 >>678
レジストリには間違いなく登録してる。
例えばVB.Netで実装するDLL側で、公開するクラスのメンバ関数を一つ増やしてリビルドすると、それを参照しているVBA(Excel)実行時にエラーが出る。VBAプロジェクトのコンパイルもできなくなる。
この時、DLL参照設定解除→DLL再参照をやると正常に読み込まれる。
なお上の例では、VB.Net実装のDLL側で増やしたクラスのメンバ関数を消去して元に戻した上で再リビルドすると、DLL参照設定解除→DLL再参照をしなくても、再びDLLが正常に読み込まれる模様w。
レジストリには間違いなく登録してる。
例えばVB.Netで実装するDLL側で、公開するクラスのメンバ関数を一つ増やしてリビルドすると、それを参照しているVBA(Excel)実行時にエラーが出る。VBAプロジェクトのコンパイルもできなくなる。
この時、DLL参照設定解除→DLL再参照をやると正常に読み込まれる。
なお上の例では、VB.Net実装のDLL側で増やしたクラスのメンバ関数を消去して元に戻した上で再リビルドすると、DLL参照設定解除→DLL再参照をしなくても、再びDLLが正常に読み込まれる模様w。
680デフォルトの名無しさん (アウアウウー Saab-FYM5)
2021/05/06(木) 12:12:28.40ID:EE3pjJQ7a681デフォルトの名無しさん (ワッチョイ df11-TNk6)
2021/05/06(木) 17:15:18.35ID:YSpOci5b0 質問です
下記のように重複している項目を除いて合計値を算出するコードを教えてください。
調べたところ連想配列?を使えば良いと書いておりましたが、難しくて使い方がよくわかりませんでした・・・
素人すぎて申し訳ないですが、宜しくお願いします。
https://i.imgur.com/xJ71PFz.png
下記のように重複している項目を除いて合計値を算出するコードを教えてください。
調べたところ連想配列?を使えば良いと書いておりましたが、難しくて使い方がよくわかりませんでした・・・
素人すぎて申し訳ないですが、宜しくお願いします。
https://i.imgur.com/xJ71PFz.png
682デフォルトの名無しさん (ワッチョイ 672f-zL94)
2021/05/06(木) 17:31:33.29ID:5qdpVrsh0683デフォルトの名無しさん (ブーイモ MM2b-5ohd)
2021/05/06(木) 18:29:38.21ID:jNBg/veuM >>681
SUMIFで良いじゃんと思ったけど重複は除くのか面倒くせぇな
配列にA〜Cのデータを代入するだろ?
4列目にりんごなら1、みかんなら2を頭に付けてCのデータを連結した上で数値化して放り込むだろ?
そしたら
For RowCnt = LBound(TgtAry, 1) to UBound(TgtAry, 1)
For RowCtR = Ubound(TgTAry, 1) to RowCnt
If TgtAry(RowCnt, UBound(TgtAry, 2)) > TgtAry(RowCtR, UBound(TgtAry, 2)) Then
SavAry([略]) = TgtAry(RowCnt, [略])
TgtAry(RowCnt, [略]) = TgtAry(RowCtR, [略])
TgtAry(RowCtR,[略]) = SavAry([略])
[省略]
End If
Next
Next
みたいな事をやって配列をソートしてやるだろ?
あとは上から順に見ていけば4列目を無視しても重複が弾けるんじゃねぇかな?
SUMIFで良いじゃんと思ったけど重複は除くのか面倒くせぇな
配列にA〜Cのデータを代入するだろ?
4列目にりんごなら1、みかんなら2を頭に付けてCのデータを連結した上で数値化して放り込むだろ?
そしたら
For RowCnt = LBound(TgtAry, 1) to UBound(TgtAry, 1)
For RowCtR = Ubound(TgTAry, 1) to RowCnt
If TgtAry(RowCnt, UBound(TgtAry, 2)) > TgtAry(RowCtR, UBound(TgtAry, 2)) Then
SavAry([略]) = TgtAry(RowCnt, [略])
TgtAry(RowCnt, [略]) = TgtAry(RowCtR, [略])
TgtAry(RowCtR,[略]) = SavAry([略])
[省略]
End If
Next
Next
みたいな事をやって配列をソートしてやるだろ?
あとは上から順に見ていけば4列目を無視しても重複が弾けるんじゃねぇかな?
684デフォルトの名無しさん (アウウィフ FFab-FYM5)
2021/05/06(木) 18:48:02.86ID:2oPZ0CXkF 連想配列だと練習問題みたいな課題やね
set ## = createobject("scripting.dictionary")
set @@ = createobject("scripting.dictionary")
for r = 2 to cells(rows.count, 1).end(xlup).row
if not ##.exists(cells(r, 1).value & cells(r, 2).value) then
##.add cells(r, 1).value & cells(r, 2).value
@@(cells(r, 1).value) = @@(cells(r, 1).value) + cells(r, 3).value
end if
next r
for each key in @@
rr = rr + 1
cells(rr + 1 , 5) = key
cells(rr + 1, 6) = @@(key)
next key
今スマホだから試せてないけど、こんな感じでどうだべ?
set ## = createobject("scripting.dictionary")
set @@ = createobject("scripting.dictionary")
for r = 2 to cells(rows.count, 1).end(xlup).row
if not ##.exists(cells(r, 1).value & cells(r, 2).value) then
##.add cells(r, 1).value & cells(r, 2).value
@@(cells(r, 1).value) = @@(cells(r, 1).value) + cells(r, 3).value
end if
next r
for each key in @@
rr = rr + 1
cells(rr + 1 , 5) = key
cells(rr + 1, 6) = @@(key)
next key
今スマホだから試せてないけど、こんな感じでどうだべ?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★3 [ぐれ★]
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
- 米シンクタンク「アメリカは台湾問題で"あいまい戦略"を取っている。高市早苗はこの方針から逸脱している」 [603416639]
- 【高市早苗】バス会社、中国からのキャンセルで12月で2000万円~3000万円の損失へ [115996789]
- かしこいワンコっていうVtuberの子知ってる?
- カレーライスぐちゃぐちゃに混ぜる奴🤣
- 岡田克也「軽々しく存立危機事態とか言うべきじゃない」高市早苗「台湾で武力攻撃が発生したらどう考えても日本の存立危機事態」 [931948549]
