TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
Office2013/2016/2019アクティベーション総合スレッド part9
GnuCash - 個人・小企業向け財務会計ソフト part2
Officeを使い分けられないやつは池沼
Office2013/2016/2019アクティベーション総合スレッド part7
追記型システムバックアップ・ソフト
[日立の] 秘文 [セキュリティ]
JUST Suite総合スレッド
お勧め個人用データベースソフト
Office11来年発売予定・・・だが
Office XP developer版は何台でも認証が可能なの?
Excel総合相談所 137
- 1 :2019/10/08 〜 最終レス :2020/01/24
- 【1 OSの種類 .】 Windows**
【2 Excelのバージョン 】 Excel**
【3 VBAが使えるか .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
▼━関連スレ━━━━━━━━━━━━
前スレ
Excel総合相談所
https://find.2ch.sc/search?q=excel
Excel VBA 質問スレ
https://find.2ch.sc/search?q=excel+vba
【質問不可】Excel総合相談所スレの雑談・議論スレ
https://find.2ch.sc/search?q=excel+%E3%80%80%E7%9B%B8%E8%AB%87%E6%89%80
- 2 :
- 立ってなかったので立てました
どうぞ〜
- 3 :
- 新スレおめ☆(^▽^)
- 4 :
- iが飛び飛びになる理由を無理矢理考えると、
実はieのチェックボックスのIDが偶数しかなく、
On Error Resume Nextで飛ばしてるとか。
- 5 :
- >>4
一応要素は1個1個調べたんですが、0から綺麗に並んでいました・・
- 6 :
- STEPが2じゃないならForの中に原因があるんだからそこが見えなければこっちも何もわからん
- 7 :
- こんな感じだったと思います
Sub h()
Dim shl As Object
Set shl = CreateObject("Shell.Application")
Dim targetTitle As String
targetTitle = "url"
Dim win As Object, getFlag As Boolean
For Each win In shl.Windows
If TypeName(win.document) = "HTMLDocument" Then
If win.document.Title = targetTitle Then
Dim objIE As New InternetExplorer
Set objIE = win
getFlag = True
Exit For
End If
End If
Next
Dim htmlDoc As HTMLDocument
Set htmlDoc = objIE.document
Dim i As Long
For i = 1 To 20
Dim anchor As HTMLAnchorElement
For Each anchor In objIE.document.getElementsByTagName("select")
If InStr(anchor.ID, "○○○ & i - 1") > 0 Then
anchor.Click
Exit For
End If
Next
End Sub
- 8 :
- ごめんなさい肝心のfor内に忘れ物してました
Dim i As Long
Dim anchor As HTMLAnchorElement
For i = 1 To 20
If Not Range("A" & i).Value = "" Then
For Each anchor In objIE.document.getElementsByTagName("select")
If InStr(anchor.ID, "○○○ & i - 1") > 0 Then
anchor.Click
Exit For
End If
End If
Next
- 9 :
- 思いますじゃなくて確実なやつを頼む
- 10 :
- 急になんの話してんの?
- 11 :
- >>8で確実です
- 12 :
- >>11
差し支えなければチェックボックス部分のソースも
- 13 :
- あぁ、前スレから話が続いているのね…
- 14 :
- >>12
社内システムだからチェックボックス内のソースは公開難しいです、申し訳ないです
- 15 :
- >>12
社内システムだからチェックボックス内のソースは公開難しいです、申し訳ないです
>>13
うるさくてごめんね
- 16 :
- すいません 2016(2010もあります)win10なんですが
久々に月データを追加して作成途中なんですが
月データを追加するとグラフの右端が短く表示され
切れてしまうのですが色々試行錯誤しましたがダメです
どなたかお助けいただけないでしょうか(ノД`)
よろしくお願いいたします
旧
https://i.imgur.com/QmEgl4q.jpg
新 作成中
https://i.imgur.com/or36uoH.jpg
- 17 :
- セルAと数値とセルBの数値の大きいほうを選んでセルCで計算させる方法を教えてください。あとセルBが空白の時はセルAを優先。お願いします。
- 18 :
- >>17
=MAX(A1,B1)+計算ほにゃら(^▽^)
- 19 :
- >>18
ありがとうございます!
- 20 :
- >>8
見直してみましたがどうしても解決しません・・
前スレにあったforループ の中にi=i +1があるというのはどういうことでしょうか?
- 21 :
- >>20
instr内のダブルクォーテーションがおかしい
- 22 :
- >>20
解決に結びつくか知らんけど、いろいろと羅列するぞ
For i=1 to 20 : Debug.Print i; : i=i+1 : Next
If InStr(anchor.ID, "○○○" & i - 1) > 0 Then
For without Next
- 23 :
- >>22
1個目はfor処理が一つもされなくなる、
2個目はこちらの記載ミスでしたので直しました、
3個目は修正候補=と出て記載ができませんでした・・
- 24 :
- なんだこのうんこの塗りあいみたいなやりとり死んでくれねーかな
- 25 :
- うんこスレにようこそ
- 26 :
- iが飛び飛びになってるのはどう確認したの?
単に、1つおきにしかIfの条件に当てはまらなくて、飛ばされているのではなく?
- 27 :
- >For without Next
本当にそんな使い方があるのかと思ってしまった。
- 28 :
- >>26
該当するIDが
○○○0
○○○2
○○○4
しかクリックされないので、iに1.3.5…しか入ってないのかと。
- 29 :
- >>27
俺はエラーメッセージかと思たわ
- 30 :
- 想像で決めつけずに実際にどうなってるかちゃんと確かめてくれ
- 31 :
- うんこ!うんこ!言うな!みんな真面目に話してしてるんだ!!邪魔するな!!
- 32 :
- >>31
みんなうんこの話してるんだ!!邪魔するな!!
- 33 :
- バカが想像で質問してるのに答えられるわけねーだろ考えるだけ損だ
だいたいなんでVBAでチェックボックスにチェック入れてんだよRよ
- 34 :
- 何カリカリしてんの?肩の力抜けよ
- 35 :
- 分かる連中はバカに付き合いたくないから無視してるから
答えるのも手探りのバカばっかでうんこの塗りあいになってんだよ
勘弁してくれよ
- 36 :
- しかもhtml側の問題だろ
なんでExcelのスレでそんなもん面倒見なきゃなんねーんだよ
- 37 :
- >>30
確認したところ、debagprintでも1〜20と推移しましたし、ステップインでも正常に動作したのに本番環境だとうまくいきませんでした。
- 38 :
- >>37
exit forをやめてみる
- 39 :
- anchor.Click の位置に、debug.print anchor.ID を入れる
それで問題無ければ、 Click がうまくいかなかっただけと考え、Sleep とかを適所に差込む
使い方は調べて
でも、きれいに一つおきになったのは謎
チェックボックスなのにTagName("select")なのもあやしい
というより、セレクトボックスに連動してチェック入ってるだけでは?
そうなると、htmlの構造を調べろという事で、そこから先はスレチ
- 40 :
- ループ内でclickしてるのも終わってるな
- 41 :
- バカほどしつけーんだよな
頑張ってくれや
- 42 :
- いちいちあげんな
ゴミ同士まとめてR
- 43 :
- >>42
アンタこのスレに無理にとどまっている必要無いんだよ?
- 44 :
- >>37
じゃあIDが本当に合ってるか
- 45 :
- Excelって奥深いなぁ。素人だけどそう思うわ。
- 46 :
- Excelが、というよりVBAが使えるオフィス製品全部ね。
一見、オマケで付いてるように見えて、実はメイン部分より凄いっていう。
- 47 :
- 用途が違うから凄さ比較はおかしい
- 48 :
- Sub test()
With Workbooks("book1.xlsx").Worksheets("sheet1")
.Activate
.Range("A1").Select
.PasteSpecial Format:="HTML"
End With
End Sub
別のブックにHTMLファイルをペーストするコードですが、他にシンプルな書き方があれば教えてくだい
- 49 :
- ↓こういう、エクセルを説明する時の定番の表ってあるじゃないですか。
りんご 1個
みかん 2個
もも 12個
合計 15個
でも俺的には、↓こういうのをお勧めしたい。
ケナーパーカー 42点
ナーフフェンシング 21点
ナーフゴルフ 22点
合計 -6000点
- 50 :
- >>48
コピーもしないでどうやって貼り付けるのかと思ったわ。
- 51 :
- Sub スコーン()
Workbooks("book1.xlsx").Worksheets("sheet1").Range("A1")..PasteSpecial Format:="HTML"
End Sub
- 52 :
- >>50
すみません、コピーは手動なので省いています
- 53 :
- sub テスト()
dim i as integer
i=1
range("b3").select
for i = 1 to 20
activecell.value = i
i=i+1
activecell.offset(1.0).select
next
End sub
すいません、これを実行したら1.3.5.7.11.13.15.17.19といった奇数しか出ません。1から20までようにするにはどうしたらいいですか?よろしくお願いします。
- 54 :
- i=i+1いらなくね?
- 55 :
- >>51
動作確認しましたが、1004エラーになりました
- 56 :
- >>55
..ってそのまま打ったんじゃあるまいな
- 57 :
- >>56
構文エラーになるのでわかります
- 58 :
- LOOKUPでリストから情報を抽出、さらに数式
を多用しているシートをVBAで連続印刷したい
のですが、少し計算処理が遅い感じになって
ます。
数式を多用することで、VBAの連続印刷より計
算が遅れる現象ってあるのでしょうか。
- 59 :
- >>57
では何もコピーしてないんじゃないのか
- 60 :
- >>59
マクロ実行前に手動でコピーしてます
同じやり方で>>48は成功してます
もしかしたら、マクロ上でコピーするのであれば>>51は成功するのかな
- 61 :
- >>60
Workbooks("book1.xlsx").Worksheets("sheet1").PasteSpecial Format:="HTML"
- 62 :
- >>61
ありがとうございます
book1のペーストの位置がアクティブシートのセル位置なので、アクティブシートのセルを任意のセルにセレクトするコードは必要ですね
- 63 :
- 違う書き方を探してたのか、最初の質問見てなかったわ
- 64 :
- Workbooks("book1.xlsx").Sheets(1).Range("A1:A1").PasteSpecial "HTML"
sheet1がアクティブにならないのと、事前にHTMLをコピーしとかないと1004エラーになるよ
sheet1が左端にない場合は番号を変える
- 65 :
- 「移動」と「HTML貼り付け」がしたいならこんな感じじゃないの
'Move to the target book-sheet-cell
Application.Goto Workbooks("book1.xlsx").Worksheets("Sheet1").Range("A1")
'Paste clipboard contents
ActiveSheet.PasteSpecial Format:="HTML"
RangeオブジェクトのPatesSpecialには引数Formatは無いから、Worksheetオブジェクトの方を使わないと駄目
- 66 :
- >>65
話はその次の部分だぞ
- 67 :
- 小文字を大文字にしたいのですが↓の間違えている個所を教えてください<(_ _)>
i = Cells(Rows.Count, 1).End(xlUp).Row
Range("A2:A" & i).Value = Application.UCase(Range("A2:A" & i))
- 68 :
- >>67
Application.UCase(Range("A2:A" & i))
- 69 :
- >>67
ありがとうございます<(_ _)>
- 70 :
- >>67
ucaseはvba関数だからapplicationいらなくて、
配列は処理できないから個々のセルごとに処理しないと駄目
dim rng as range, i as long
i = cells(rows.count,1).end (xlup).row
for each rng in range("A2:A" & i)
rng.value = ucase(rng.value)
next
- 71 :
- Cells(1,"A")と書かず、判りにくいCells(1,1)と書くのはなぜ?
ネットの記述とか見ててもCells(1,"A")と書いてるの見たこと無い
- 72 :
- 一番の理由は速度が出るからだろうね
特に大量のセルが絡むループ処理内で文字列使うと遅くなる
1つとかなら好みでいいんじゃないの。それならRange使えばってなるけど
- 73 :
- >>71
慣れ
基本cellsはループ内で使うから文字列で書く理由がない
速度は気にしたことない
>>72の
>1つとかなら好みでいいんじゃないの。それならRange使えばってなるけど
には全面的に同意
何らかの理由(テンプレートの動的生成みたいな)ものならセル範囲をrabgeで指定することはある
- 74 :
- >>71
列番号で処理したい時にCellsが使われることが多いから
- 75 :
- 条件付き書式を書き込んだ行ををコピ-挿入すると同じルールが行毎にがどんどん増えていって困ってます。
同じルールで適用先の範囲が増えていくように設定するにはどうやったらいいんでしょうか?
- 76 :
- >>75
列を挿入してから形式を選択した貼り付けじゃだめ?
- 77 :
- >>76
ありがとうございます。
マクロ編集でなおりました。
どういう内容なのか忘れましたが、
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range(K11:K12), Type:=xlFillDefault
Range("K11:K12").Select
- 78 :
- 関数の質問はここでいいのでしょうか?
excel2013、windows7使用しております。
文字列の比較での質問です。
比較元の左端から1文字ずつ比較をし、最も文字数一致が
多かった比較先の行の別内容を表示させたいのですが、どうすればできるのでしょうか。
たとえば、
比較元「あいうえお」
比較先(固定リスト) data1「あいう」,data2「あいうえお」,data3「えお」
結果「data2」
と、極力計算用の列を追加させずに1つの関数で計算させたいです。
(比較したい元データが1200件程度あるので)
宜しくお願いいたします。
- 79 :
- 若干誤解を招く部分がありました。
1文字ずつ比較したいので、
比較元「あいうえお」
比較先のdata2を「abおえcあうdいe」とした場合でも、一致した文字数を"5"と
返すような計算をしたいです。
- 80 :
- 比較元の文字数は?
- 81 :
- >>80
日本語で20文字〜45文字程度とバラバラです。
補足ですが、比較先データのリストも1200件程度あります。
- 82 :
- >>81
VBA使わないと計算用の列増えそう
- 83 :
- 比較元「あいうえお」比較先「あああ」の一致数は1?3?
- 84 :
- >>83
3です。
計算用の列が増えても、最終的に無事表示することができれば大丈夫です、、、
現時点では、一致文字数を表示する関数自体はsumproduct,midで実現できており、その計算列に対しindex,match,maxで内容を表示することができていますが、それだと比較元1件ごとに列が必要となってしまうので、、、
(教えてもらった方法なので今いち仕組みがよくわかっていませんが、、、)
- 85 :
- >>84
比較元1文字ごとではなく1件ごと?
- 86 :
- 比較元は1つだと思ってたが違うのか?
- 87 :
- >>78
VBAで関数を作れば1つの関数でできる
VBAなしでは無理
- 88 :
- 説明がへたくそでごめんなさい。
比較したいデータが1000件以上あり、1件ずつかつそれぞれ1文字ごとに比較先リストと照らし合わせ、そのリストの中で一致文字数が最も多かったデータ行を返したい、という意味でした。
- 89 :
- 具体的に説明させていただきます。
相手会社名、摘要、科目などがデータとしてあります。
この時点では「果物費用」などとざっくりとしか分かれていないので、これらの情報を元に「A商店 バナナ費用」「B商店 りんご費用」のように細かく分けていきたいんです。。。
前年度データが比較先リストです。これについては既にバナナ費用等と細かく分かれています。(前任者が目視で確認しながら分けていったものです)
そして、今年度データが比較元です。まだバナナ費用等と分かれていないので、どうにか目視ではなく関数で分けたいなと思い質問いたしました。
相手先や摘要は複数名が入力しているデータのため統一性がありません。同じA商店でも、エー商店や商店エイとなっていたりしています。
そのため、前任者は目視でやっていたようです。
- 90 :
- どちらにしろVBA使わなきゃ作業列が増える気がする
それに先にやるべきは入力を統一させること…
- 91 :
- MOSのような説明書的なものではなく実務でのExcelの使い方の要領を知りたいんですが、みんな独学なんですか?
いい講座があれば知りたい…
- 92 :
- 実務自体が千差万別だからこれと言った講座はない
強いて言えば入社後の社内研修とかがこれに当たるかね
おとなしくMOS受けとくのが良い
- 93 :
- MOSってマニュアルレベルを精度高く覚えることなんじゃないの?
応用実践の力つくの?
- 94 :
- 365だからMOSの勉強できないんだが
- 95 :
- >応用実践の力つくの?
付かない、というかそんなもん実践でしか付かんよ
サイトでも本でもデータが整っている前提だけど、基本的に現場なんてデータはバラバラの状態で存在する
それを修正する所から始める
- 96 :
- MOS受かれば職場で重宝されるよ
「ググるよりXXさんに聞く方が早くて」
- 97 :
- 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
語群がSheet1のA列にあったとします。
Sheet2のA列に少し長めのテキストが並んでが入っていたとして、
語群のキーワードがいくつ含まれるかSheet2のB列にカウント表示させたいです。
どうすればできるでしょうか?
- 98 :
- >>97
こんな感じかねぇ
https://i.imgur.com/NjGHNmZ.png
B2=COUNTIF(C2:E2,TRUE)
C2=IFERROR(FIND(C$1,$A2),0)>0
Excelはどれかの文字列が入っているって処理はやや苦手
- 99 :
- >>91
講座や解説書ではこういうことができるんだなっていう理解はできるかもしれないが、実用技術を身に付けるのは難しい
やりたい処理をひたすら調べて実際に動かしてみるというのを積み重ねてるうちに身に付いてる
- 100 :
- >>98
条件を元にお願いします。
100〜のスレッドの続きを読む
DELLファイルって・・・
1台のパソコンで複数のOSを使うには
ワープロ!専用機→ソフトへどれがいい?
PCゲー ゼビウス
1台のパソコンで複数のOSを使うには
☆販売管理ソフト探してるんです☆
機密情報守ります!HDD完全消去ソフト!
●DB2とオラクル、どっちがどういい?●
Kacisについて語りませんか
スレたてるまでもない質問に答えるスレ
--------------------
有吉が千葉麗子井上敏樹山本太郎につけそうなあだ名
山本舞香
医療費の無駄 ここを直すべきだ2
【社会】京アニ労災認定、前向き 労働局、被害者申請に
【PS4/PSVITA】実況パワフルプロ野球2018 栄冠ナイン専用スレPart12
【迷女優】広瀬すずアンチスレ【いじめっ子】
【ベンチャー】株式会社マーキュリー【林正和】
ロリコンだけど人生マジで辛い
【新妹魔王の契約者】上栖綴人 Part7【はぐれ勇者】
青森の中学 その4
【じゃらん×HP】リクルートポイント14【ポンパレ】
【片岡人生】デッドマン・ワンダーランド part4【近藤一馬】
横浜ホワイトキー Part.2
モバイルロッド&パックロッド&コンパクトロッド 4本目
可憐演歌☆ 野路由紀子 ☆魅惑の高音
55歳以上の一人暮らしを語るスレ Part.2
【千客万来】実況総合スレpart1622【fromハン板】
DPヲタヲチスレ
疑似科学について語るスレ
【意見募集】じっくり相談/質問させて下さい156
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼