Excel総合相談所 137
レス数が1000を超えています。これ以上書き込みはできません。
【1 OSの種類 .】 Windows**
【2 Excelのバージョン 】 Excel**
【3 VBAが使えるか .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
▼━関連スレ━━━━━━━━━━━━
前スレ
Excel総合相談所
https://find.5ch.net/search?q=excel
Excel VBA 質問スレ
https://find.5ch.net/search?q=excel+vba
【質問不可】Excel総合相談所スレの雑談・議論スレ
https://find.5ch.net/search?q=excel+%E3%80%80%E7%9B%B8%E8%AB%87%E6%89%80 iが飛び飛びになる理由を無理矢理考えると、
実はieのチェックボックスのIDが偶数しかなく、
On Error Resume Nextで飛ばしてるとか。 >>4
一応要素は1個1個調べたんですが、0から綺麗に並んでいました・・ STEPが2じゃないならForの中に原因があるんだからそこが見えなければこっちも何もわからん こんな感じだったと思います
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 ごめんなさい肝心の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 >>11
差し支えなければチェックボックス部分のソースも >>12
社内システムだからチェックボックス内のソースは公開難しいです、申し訳ないです >>12
社内システムだからチェックボックス内のソースは公開難しいです、申し訳ないです
>>13
うるさくてごめんね すいません 2016(2010もあります)win10なんですが
久々に月データを追加して作成途中なんですが
月データを追加するとグラフの右端が短く表示され
切れてしまうのですが色々試行錯誤しましたがダメです
どなたかお助けいただけないでしょうか(ノД`)
よろしくお願いいたします
旧
https://i.imgur.com/QmEgl4q.jpg
新 作成中
https://i.imgur.com/or36uoH.jpg セルAと数値とセルBの数値の大きいほうを選んでセルCで計算させる方法を教えてください。あとセルBが空白の時はセルAを優先。お願いします。 >>17
=MAX(A1,B1)+計算ほにゃら(^▽^) >>8
見直してみましたがどうしても解決しません・・
前スレにあったforループ の中にi=i +1があるというのはどういうことでしょうか? >>20
instr内のダブルクォーテーションがおかしい >>20
解決に結びつくか知らんけど、いろいろと羅列するぞ
For i=1 to 20 : Debug.Print i; : i=i+1 : Next
If InStr(anchor.ID, "○○○" & i - 1) > 0 Then
For without Next >>22
1個目はfor処理が一つもされなくなる、
2個目はこちらの記載ミスでしたので直しました、
3個目は修正候補=と出て記載ができませんでした・・ なんだこのうんこの塗りあいみたいなやりとり死んでくれねーかな iが飛び飛びになってるのはどう確認したの?
単に、1つおきにしかIfの条件に当てはまらなくて、飛ばされているのではなく? >For without Next
本当にそんな使い方があるのかと思ってしまった。 >>26
該当するIDが
○○○0
○○○2
○○○4
しかクリックされないので、iに1.3.5…しか入ってないのかと。 想像で決めつけずに実際にどうなってるかちゃんと確かめてくれ うんこ!うんこ!言うな!みんな真面目に話してしてるんだ!!邪魔するな!! >>31
みんなうんこの話してるんだ!!邪魔するな!! バカが想像で質問してるのに答えられるわけねーだろ考えるだけ損だ
だいたいなんでVBAでチェックボックスにチェック入れてんだよ死ねよ 分かる連中はバカに付き合いたくないから無視してるから
答えるのも手探りのバカばっかでうんこの塗りあいになってんだよ
勘弁してくれよ しかもhtml側の問題だろ
なんでExcelのスレでそんなもん面倒見なきゃなんねーんだよ >>30
確認したところ、debagprintでも1〜20と推移しましたし、ステップインでも正常に動作したのに本番環境だとうまくいきませんでした。 anchor.Click の位置に、debug.print anchor.ID を入れる
それで問題無ければ、 Click がうまくいかなかっただけと考え、Sleep とかを適所に差込む
使い方は調べて
でも、きれいに一つおきになったのは謎
チェックボックスなのにTagName("select")なのもあやしい
というより、セレクトボックスに連動してチェック入ってるだけでは?
そうなると、htmlの構造を調べろという事で、そこから先はスレチ >>42
アンタこのスレに無理にとどまっている必要無いんだよ? Excelが、というよりVBAが使えるオフィス製品全部ね。
一見、オマケで付いてるように見えて、実はメイン部分より凄いっていう。 Sub test()
With Workbooks("book1.xlsx").Worksheets("sheet1")
.Activate
.Range("A1").Select
.PasteSpecial Format:="HTML"
End With
End Sub
別のブックにHTMLファイルをペーストするコードですが、他にシンプルな書き方があれば教えてくだい ↓こういう、エクセルを説明する時の定番の表ってあるじゃないですか。
りんご 1個
みかん 2個
もも 12個
合計 15個
でも俺的には、↓こういうのをお勧めしたい。
ケナーパーカー 42点
ナーフフェンシング 21点
ナーフゴルフ 22点
合計 -6000点 >>48
コピーもしないでどうやって貼り付けるのかと思ったわ。 Sub スコーン()
Workbooks("book1.xlsx").Worksheets("sheet1").Range("A1")..PasteSpecial Format:="HTML"
End Sub >>50
すみません、コピーは手動なので省いています 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までようにするにはどうしたらいいですか?よろしくお願いします。 >>51
動作確認しましたが、1004エラーになりました LOOKUPでリストから情報を抽出、さらに数式
を多用しているシートをVBAで連続印刷したい
のですが、少し計算処理が遅い感じになって
ます。
数式を多用することで、VBAの連続印刷より計
算が遅れる現象ってあるのでしょうか。 >>59
マクロ実行前に手動でコピーしてます
同じやり方で>>48は成功してます
もしかしたら、マクロ上でコピーするのであれば>>51は成功するのかな >>60
Workbooks("book1.xlsx").Worksheets("sheet1").PasteSpecial Format:="HTML" >>61
ありがとうございます
book1のペーストの位置がアクティブシートのセル位置なので、アクティブシートのセルを任意のセルにセレクトするコードは必要ですね 違う書き方を探してたのか、最初の質問見てなかったわ Workbooks("book1.xlsx").Sheets(1).Range("A1:A1").PasteSpecial "HTML"
sheet1がアクティブにならないのと、事前にHTMLをコピーしとかないと1004エラーになるよ
sheet1が左端にない場合は番号を変える 「移動」と「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オブジェクトの方を使わないと駄目 小文字を大文字にしたいのですが↓の間違えている個所を教えてください<(_ _)>
i = Cells(Rows.Count, 1).End(xlUp).Row
Range("A2:A" & i).Value = Application.UCase(Range("A2:A" & i)) >>67
Application.UCase(Range("A2:A" & i)) >>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 Cells(1,"A")と書かず、判りにくいCells(1,1)と書くのはなぜ?
ネットの記述とか見ててもCells(1,"A")と書いてるの見たこと無い 一番の理由は速度が出るからだろうね
特に大量のセルが絡むループ処理内で文字列使うと遅くなる
1つとかなら好みでいいんじゃないの。それならRange使えばってなるけど >>71
慣れ
基本cellsはループ内で使うから文字列で書く理由がない
速度は気にしたことない
>>72の
>1つとかなら好みでいいんじゃないの。それならRange使えばってなるけど
には全面的に同意
何らかの理由(テンプレートの動的生成みたいな)ものならセル範囲をrabgeで指定することはある >>71
列番号で処理したい時にCellsが使われることが多いから 条件付き書式を書き込んだ行ををコピ-挿入すると同じルールが行毎にがどんどん増えていって困ってます。
同じルールで適用先の範囲が増えていくように設定するにはどうやったらいいんでしょうか? >>75
列を挿入してから形式を選択した貼り付けじゃだめ? >>76
ありがとうございます。
マクロ編集でなおりました。
どういう内容なのか忘れましたが、
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range(K11:K12), Type:=xlFillDefault
Range("K11:K12").Select 関数の質問はここでいいのでしょうか?
excel2013、windows7使用しております。
文字列の比較での質問です。
比較元の左端から1文字ずつ比較をし、最も文字数一致が
多かった比較先の行の別内容を表示させたいのですが、どうすればできるのでしょうか。
たとえば、
比較元「あいうえお」
比較先(固定リスト) data1「あいう」,data2「あいうえお」,data3「えお」
結果「data2」
と、極力計算用の列を追加させずに1つの関数で計算させたいです。
(比較したい元データが1200件程度あるので)
宜しくお願いいたします。 若干誤解を招く部分がありました。
1文字ずつ比較したいので、
比較元「あいうえお」
比較先のdata2を「abおえcあうdいe」とした場合でも、一致した文字数を"5"と
返すような計算をしたいです。 >>80
日本語で20文字〜45文字程度とバラバラです。
補足ですが、比較先データのリストも1200件程度あります。 比較元「あいうえお」比較先「あああ」の一致数は1?3? >>83
3です。
計算用の列が増えても、最終的に無事表示することができれば大丈夫です、、、
現時点では、一致文字数を表示する関数自体はsumproduct,midで実現できており、その計算列に対しindex,match,maxで内容を表示することができていますが、それだと比較元1件ごとに列が必要となってしまうので、、、
(教えてもらった方法なので今いち仕組みがよくわかっていませんが、、、) >>78
VBAで関数を作れば1つの関数でできる
VBAなしでは無理 説明がへたくそでごめんなさい。
比較したいデータが1000件以上あり、1件ずつかつそれぞれ1文字ごとに比較先リストと照らし合わせ、そのリストの中で一致文字数が最も多かったデータ行を返したい、という意味でした。 具体的に説明させていただきます。
相手会社名、摘要、科目などがデータとしてあります。
この時点では「果物費用」などとざっくりとしか分かれていないので、これらの情報を元に「A商店 バナナ費用」「B商店 りんご費用」のように細かく分けていきたいんです。。。
前年度データが比較先リストです。これについては既にバナナ費用等と細かく分かれています。(前任者が目視で確認しながら分けていったものです)
そして、今年度データが比較元です。まだバナナ費用等と分かれていないので、どうにか目視ではなく関数で分けたいなと思い質問いたしました。
相手先や摘要は複数名が入力しているデータのため統一性がありません。同じA商店でも、エー商店や商店エイとなっていたりしています。
そのため、前任者は目視でやっていたようです。 どちらにしろVBA使わなきゃ作業列が増える気がする
それに先にやるべきは入力を統一させること… MOSのような説明書的なものではなく実務でのExcelの使い方の要領を知りたいんですが、みんな独学なんですか?
いい講座があれば知りたい… 実務自体が千差万別だからこれと言った講座はない
強いて言えば入社後の社内研修とかがこれに当たるかね
おとなしくMOS受けとくのが良い MOSってマニュアルレベルを精度高く覚えることなんじゃないの?
応用実践の力つくの? >応用実践の力つくの?
付かない、というかそんなもん実践でしか付かんよ
サイトでも本でもデータが整っている前提だけど、基本的に現場なんてデータはバラバラの状態で存在する
それを修正する所から始める MOS受かれば職場で重宝されるよ
「ググるよりXXさんに聞く方が早くて」 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
語群がSheet1のA列にあったとします。
Sheet2のA列に少し長めのテキストが並んでが入っていたとして、
語群のキーワードがいくつ含まれるかSheet2のB列にカウント表示させたいです。
どうすればできるでしょうか? >>97
こんな感じかねぇ
https://i.imgur.com/NjGHNmZ.png
B2=COUNTIF(C2:E2,TRUE)
C2=IFERROR(FIND(C$1,$A2),0)>0
Excelはどれかの文字列が入っているって処理はやや苦手 >>91
講座や解説書ではこういうことができるんだなっていう理解はできるかもしれないが、実用技術を身に付けるのは難しい
やりたい処理をひたすら調べて実際に動かしてみるというのを積み重ねてるうちに身に付いてる >>100
>語群がSheet1のA列にあったとします。
これを行列入れ替えでsheet2の1行目に貼り付けるだけだよ
その貼り付けが嫌というならvbaぐらいしか思い浮かばない >>100
Sheet1のリストの数だけ作業列がいると思う
だからリストを別シートにせずA列に調べる対象のテキスト、1行目にキーワードを並べる形式にした方がいいと思う >>97
Sheet2!B1=SUMPRODUCT(--NOT(ISERROR(FIND(Sheet1!A1:INDEX(Sheet1!A:A,COUNTA(Sheet1!A:A)),Sheet2!A1)))) >>93
実戦ではまず使わないだろうってことを知ることが出来るのがMOS
私も独学だけどまずやることがあってそれをどうやったら実現できるかググって少しずつ出来ることが増えてく感じ
うちの職場には関数使えるのが1人だけいて初めその人に教わって
それからVBA使いはじめてそこからは独学
でももともとプログラマだったから全くの初心者からという感じではない 独学ですか?っていう質問に答えてるだけだと思うんだが 【1 OSの種類 .】 Mac 10.14.6
【2 Excelのバージョン 】 Excel for Mac 16.16.14
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
質問失礼します。
プルダウンリストにした元となる項目の変更方法。(名称など)
仕事で使っているのですが、シートをテーブルにして、プルダウンリストはシートの指定範囲を名前を定義して使っています。指定範囲には商材リストの商材名を入れてあるので、リストから選択をすると横に売価や原価が出るような形にしてあります。
プルダウンリストの元データとなる指定範囲の名称(商材名)を変えると、プルダウンで選択をしたセルでは変更が反映されません。元データの変更をプルダウン側にも反映させたいのです。
例)
変更前
リスト:魚 プルダウン:魚
※プルダウン選択時はリストと名称が一致しているので問題なし
変更後
リスト:魚A プルダウン:魚
※リストに修正を加えてもプルダウンで選択したものは反映されず、一致するデータがないという事なのかリストに紐付けた引用データなどは#N/Aとエラーが出る
このような場合、リストに修正を加えたものをプルダウンの選択にも反映させるにはどのようにすれば良いのでしょうか?
※うまく説明ができずにすみません。
ググってみてもリストの追加、削除に関しては生地が色々とあったのですが、リストそのものを編集に対する反映のさせ方が見つけられませんでした。
アドバイスよろしくお願いします。 >>108
リストを変えたら手動で選択し直す必要があるよ
自動で変えたかったらVBA使うしかない >>109-110
レスありがとうございます。
アドバイスを参考に頑張ってみます。 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Office365
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
画像のように一つのセルに表の数字を表示さたいです。
重複している数字を消して、昇順で並べ替え、数字の間に,を入れるということが可能でしょうか?
https://i.imgur.com/cqPIdCZ.jpg あ VBAつかえるんじゃん
別シートにコピーしてシート上で重複削除ソートして整形するのをマクロで処理するか
VBScriptか.NETのArrayListのソートでやるか
てっきり数式限定のパズル問題かと思ったよw >>112
@ VBA
A Office インサイダー
=TEXTJOIN(",",TRUE,SORT(UNIQUE(A1:A9))) >>112
なんとか数式だけで頑張ったけど無理だった
=SMALL(A1:A9,1)&REPT(","&SMALL(A1:A9,1)+1,ROW(A9)-1)
+1の所をなんとか1ずつ増やせられればいけそうだけどわかんないです >>112
A1〜A9を連想配列に入れる(重複削除)→並べ替え→デリミタに,を指定して結合 >>113-118
皆様お力添えありがとうございます。
参考にして作成してみます。 エクセルで作ったグラフを、拡張メタファイルなどでワードに貼り付けると結構綺麗なんですが、
同じくらいの綺麗さでエクセルにコピーする方法ありませんか?
エクセルに貼り付けると、何故だか若干ボヤけてしまいます。 貼り付ける時に、図としてとか、リンクとか、画像としてとか、いくつか選択肢があったと思うけど、
適当に選んでれば、そのうち正解にたどり着くのでは? >何故だか若干ボヤけてしまいます。
眼鏡を替えたらいいと思うよ >>121
図として貼り付けるとダウンコンされて貼り付けられるから画質落ちるよ >>127
挿入→図だとダウンコンされる
ドラッグアンドドロップだとそのまま貼り付けられるよ すいません教えてください 家のPCで使用しています
Office365にバージョンアップ?する前のexcel使用しています
ネット上でやるけど月額払ってない奴です
これでfxボタン押してVlookupを選ぶと関数の引用のダイアログボックスが出ません
会社のPCはエクセル2016で上記のダイアログボックスが出ます
家で仕事しようとしましたがexcel2002しかなくこれでfxボタンを押すと何かをインストールしますでフリーズし止まります
仕方なくOfficeでネットのexcel使ったんですがfxボタンの後、関数を選んでも関数の引用ダイアログボックス出ません
どうしたら表示されますか? >>132 何度もすいません
だとすると月々1500円?払うOffice365でも昨日限定ですか?
関数の引用ダイアログボックス使うにはオンラインではなくソフトの方を買わないとダメですか?
いかんせんソフト一括払いは高いんでできたらOffice365で月払いにしたいです >>133
365なら全機能が使える
月に一度はネットに接続して再認証しないと使えなくなるだけ 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel365
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
共有ファイルをExcelonlineで図形挿入し四角を書いて長方形にしたりしたいんだけど
今までできてたはずなのに今日やってみるとできなくなってるんですけど
なぜなんだろう
文字の入力や図形の移動はできます >>135
出来た時からできなくなった時の間にした操作は? なあ。Excel365 バージョン 1909(ビルド 12026.20334)に上がったら
Range("A1").Value = "令和1年10月17日"
の結果が
"令和1年10月17日"
じゃなくて
2019/10/17(Value)
"令和1年10月17日"(Text)
になっちゃうようになっちゃったんだが。
これって仕様なの? バージョン上げて変わったってわかってるんなら仕様だろ
Range("A1").value = "'令和1年10月17日"にしとけ >>138
Excel2000とかからの仕様がこんな半端なタイミングで突然変わったりするものか?
という素朴な疑問。
>>139
和暦は問題の本質じゃない。
Range("A1").Value = "2019年10月17日"
でも起きる。 これは最近追加された仕様なのか?
特に困る場面は思い浮かばないからこれでもいいけど Dim anchor As HTMLAnchorElement
For Each anchor In objIE.document.getElementsByTagName(“select”)
If InStr(anchor.id, “○○○”) > 0 Then
debug.print anchor.id
anchor.select
Exit For
End If
Next
上記コードが動かず、debug.print anchor.idも
anchor.select機能しません
どこが間違ってますか? 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
ご教示願います。
2016,2017,2018....各年ごとにシートを作り、
データを記録しています。
シート名は あかさたな2016,あかさたな2017,....と
年の数字以外は統一してます
今年のシート名から年の数字を数値として抜き出し、
-1,-2、前年、前々年の数字を参考データとして
表示出来るようにしたいのですが、
あかさたな(数式で前年)として参照する
シート名に数式はどのように書けば良いでしょうか >>143
indirect("'あかさたな" & a1 & "'!a5")
a1に年度
a5が年度別シートの参照セル >>140
半端なタイミングって、、それは2003でも365と一緒だが
>>140 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 VBAの質問
mA は分を表す数値 それを文字列に変換してsmAに代入しています。
0 や 5 の値は "00" "05" に表示させようと思いスイッチ文を入れていますが
出力される値は 0 や 05 のままです。
どうすればよろしいでしょうか?
shA = Str(hA)
smA = Str(mA)
shA = Str(hA)
smA = Str(mA)
Select Case smA
Case 0
smA = "00"
Case 5
smA = "05"
End Select
Select Case smB
Case "0"
smB = "00"
Case "5"
smB = "05"
End Select
MsgBox smA ごめんなさい
出力される値は 0 や 05 のままです。
↓正しくは
出力される値は 0 や 5 のままです。 >>147
strって何かわかってるか?
それcase 0にも5にも引っ掛からなくね? こういうことですか?これでもダメです。。
Select Case smA
Case "0"
smA = "00"
Case "5"
smA = "05"
End Select >>150
なんで知らないのに調べもせず勘でやるんだよ…
" 0"と" 5"だろ… え。できた。ありがとう。
どういうこと?こういう型の挙動はVBA特有のものかしらん?
ほんとありがとう。 >>152
ヘルプをちゃんと読めばわかるがStr関数の仕様
符号の場所がプラスの時はスペースになって、マイナスの時と文字数が同じになるようにしてある
MS-BASIC全体で共通の仕様だから、VBAでもVB.netでもN88-BASIC(86)でも結果は同じ >>152
なんでVBAの挙動の話になるんだ
strが何をする関数か分かってないんじゃないのかと最初から言ってるのに、解答以外まともに見る気ないのかよ VBAのstr関数は、そんな挙動するとは思わんやん・・・の代表例
文字列にしたければStrConv関数
ってか、ゼロフィルならformat(foo,"00")でよくね 解決法が欲しいので、ここに質問しているわけで
調べろとかいうのは、むしろスレ違いでないですかね。
別にVBAをマスターしようとも思っているわけでもないし
みなそれぞれ、エクセルやVBAに対する求めているものが
違うわけなので。
皆が上級者になりたいわけでもない。
ちょっとした、わからないことを訊くってだけで、
何も間違ってないだろう。
マウンティング指向の上級者は、
何も答える必要なんてないから、ほっといてくれよ。
と、ちょっとだけ思った。 >>157
そうだよね。変だよね。Cかやってたら「なんやこれ」っていう感じ >>158
俺は15年Excel触り続けて来たし、多分君も同じ道を歩む事になる
早い内からヘルプを見る癖はつけたほうが良いのは間違いない
ってか、上級者になって・・お願い・・ >>157
スペース嫌ならCStr()使えばいい
> 0 や 5 の値は "00" "05" に表示させようと思い
ならFormat()使えと言うのは同意
それ以前に>>147はスレ違い >>161
どこらへんがスレ違いなのか、説明いただけますか?
>>160
エクセルが表計算の標準ソフトであり続ければ、VBAをきちんと学ぶ価値ありそうですね。
でも、かなりクセがあるので、、。 >>162
>>【4 VBAでの回答の可否】 VBAの質問
回答者がVBA使っていいかどうか
って欄に「VBAの質問です!」って返答で
会話の流れに違和感を抱かなかったなら
いったん脳を洗浄してきたほうがいいぞ
VBAの質問なのがわかってんなら
最初からVBA質問スレに来い
説明しなきゃスレ違いなのがわからんのかタコ助
正直な話、>>148->>158やり取りの流れで
君がクソなのはわかってるから
来てほしくもないんだけどさ >>158
>>152で理屈を聞いとるじゃないか、そのわりに貰ったレスをまともに見てなさそうな感じの ワッチョイは反対しない
他スレで見かけるタイプの荒らし書き込みも見かけるしなー >>162
VBAスレあったのね。それは失礼しました。このイカ野郎。 Format(値, 書式)での型変換が一番スマートでしたね。
教えてくれた人、くそありがとうございます! 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2010か2016か2019
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
クイックアクセスツールバーのカスタマイズで
印刷設定の拡大縮小設定での「シートを1ページに印刷」のボタンってないんでしょうか
いくら探しても見つかりません あるかどうかは知らんけど、VBAが使えるなら、自分でボタンを作るとか・・。 超初歩的な質問で申し訳ないのですが、
まず下のような表があります。
設計値 実測値 進捗率
項目1 10 10 100
項目2 15 7 46.7
項目3 20 11 55
この全体の進捗率の%を円グラフで表し、実測値を
いじった際には連動して動くようにしたいのです。
今回は進捗率67.2%(未成率32.8%)でしょうか。
「実測値/設計値*100の円グラフ」(「進捗率の
平均値の円グラフ」でも同じ?)の作成方法を
知りたいです。
円グラフは内訳を表すもので、棒グラフ等の方が
適切ではという観点もあるとは思いますが、自分の
業界では慣習的に円グラフが使用されているので、
それに習いたいと考えております。
また進捗率の方を必ず円の真上から始まり、時計
周りに表示させるようにしたいです。
アドバイスよろしくお願いします。 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
フィルタリング後、複数行を選択してフィルタリングしたまま別の列に貼り付けすることできますか?
例えばフィルタリングした結果が10行目、15行目、20行目の3行だったとします
A10、A15、A20を選択しコピーしてB10、B15、B20に貼り付けしたいですが(書式も含めて)
フィルタリングされたままB10を選択して貼り付けするとB10〜12行目に貼り付けられてしまいます
フィルタリングされたままB10、B15、B20を選択して貼り付けしようとしますと
「この操作は複数の選択範囲に対しては機能しません。」と表示され貼り付けできません >>178
飛び飛びのセルの貼り付けは、選択の方法に関係なくVBA使わないと無理 >>179
需要ありそうな作業だと思うのにまさかのVBAでないとできないとは
ありがとうございました 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016 (2019でも大丈夫です)
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
複数の行・列のセル(結合はされていません)にまたがった
左下がりの斜線を引きたいのですが、
例えばB2〜D5(縦4セルx横3セル)の四角形に斜線を引くとき、現在は
[挿入]→[図]→[図形]→(直線選ぶ)→
→[E2の右上を慎重に選ぶ]→[B5の左下を慎重に選ぶ]→
→選択時にちょいズレしているため、1-3ドットずれた斜線が完成(´д`)
といった感じで、神経も使うし再調整も必要で、
20〜50から複数の斜線を引く必要があるファイルの作成なので
操作量が多く大変です。
B2〜D5をマウスで範囲選択→
→[なんかボタンを押す([Ctrl+?]のようなショートカットならとても素敵)]→
→E2の右上からB5の左下までビシッと斜線が作成される
みたいな感じにできませんでしょうか? >>181
Altキーとかオプションでセル枠にフィットさせられる >>181
vbaならこんな感じ
Sub draw_line()
Dim BeginX As Single ''始点(左からの距離)
Dim BeginY As Single ''始点(上からの距離)
Dim EndX As Single ''終点(左からの距離)
Dim EndY As Single ''終点(上からの距離)
BeginX = Cells(Selection(1).Row, Selection(1).Column).Left
BeginY = Cells(Selection(1).Row, Selection(1).Column).Top
EndX = Cells(Selection(Selection.Count).Row + 1, Selection(Selection.Count).Column + 1).Left
EndY = Cells(Selection(Selection.Count).Row + 1, Selection(Selection.Count).Column + 1).Top
With ActiveSheet.Shapes.AddLine(BeginX, BeginY, EndX, EndY).Line
.ForeColor.RGB = vbBlack '線の色
.Weight = 1 '線の太さ
End With
End Sub >>183
ありがとうございます!
頂いたのが右下がり線を引く構文だったので、
これを参考になんとか内容を噛み砕きつつ、始点と終点の部分をちょっといじったら
希望の動作になりました!
ショートカット登録もExcel側の機能であったので
これで楽になれそうです。
>>182
Σ
これはこれで知らないと今後苦労しそうだったので助かります。
ありがとうございました。 縦5×横10のマス目に五十音を入れていこうと思いますが、例えば「お」が入るとoffset(-5,1)して「か」の入力箇所に飛ぶようにするにはどうしたらいいでしょうか? >>185
worksheet_change内でactivecellのrowを取得して表の5行目なら移動とか 横向きに入れたあと、縦向きにコピペ、は無理か
そう考えると、意外と面倒だな
とりあえずVBA使わないと無理だと思う 50文字並んだデータがあるなら
midで5文字づつとりだして
transposeで張り付け
を列をずらしながらやれば良い 自分で入力しなくても、ネットにいくらでも落ちてるのをインポートすればいい >>177
出来ました!こんな初歩的な質問に画像まで貼ってご丁寧に
説明して下さいましてありがとうございました! >>185
一般操作なら最初に5×10のセル選択しておいてEnterで入力してけばそういう動きになるけど、そういう事ではない? にわかでごめん
2010のExcelデータを2019で編集できる?
2019で編集したデータを2010に戻せる?
ちなみに住所録のマクロ組むのだが
教えてください! 可能だけど、2019にあって2010に無い機能や構文は使えない。 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2019
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可(コピペだけできます)
1つのワークブックのみ、開いた時に表示サイズを固定できますか?
それと、同じく1つのワークブックのみリボンを非表示にしたいのですができますか? >>294
表示サイズって何のこと?
ウィンドウサイズ?シートの拡大率?その他? 出来ると思うけど、固定はWindowsAPIだろうな。 Range("A1").Copy Range("C2")
Range("A1").Copy
Range("C2").PasteSpecial xlPasteValues
Range("C2") = Range("A1") A列の最終行からAS列の最終行の関数を、AQ2と同じ値から1引いた行数分オートフィルでコピーをしたいのですが
↓の5行目と6行目の書き方を教えてください
IF Range("AQ2") > 1 then
Dim s As String
i = Cells(Rows.Count, 1).End(xlUp).Row
s = Range("AQ2").Value + i -1
Range("A2:AN2").Select
Selection.AutoFill Destination:=Range("A2:AN" & s)
End If 型がおかしい気がする
Range("A2:AN" & s).formula =range("a2:an2").formula >>201
>>200
の5行目と6行目は2行目の関数になっておりますが、コピー元の関数は最終行になりますので
最終行の関数をオートフィルしたいです >>202
どの範囲にオートフィル
最終行から下方向? >>203
そうです。下に向かってオートフィルでおねがいします >>199
ウィンドウサイズの固定はVBAのWindowResizeイベント
リボン非表示は最小化ボタンの隣のボタン
>>200
最終行をコピーしたいのになんで2行目を指定してんの?
2 Dim s As long
5 Range("A" & i & ":AS" & i).Select
6 Selection.AutoFill Destination:=Range("A" & i & ":AS" & s) >>204
オートフィルの範囲は必須なのですがどこまで >>200
なぜ3行目だけインデント?
変数iを型宣言しない理由?
AQ2に特別な意味を持たせるのに名前付けないの? ↓列Aの最終行の一つ下に関数を入れて、その関数をAD列の最終行までオートフィルをしたいのですが
A列の最終行の一つ下に関数を入力
r = Cells(Rows.Count, 1).End(xlUp).Row + 1
Range("A" & r) = "=INDEX(AD:AD,ROW(),1)"
A列の最終行の関数をAD列の最終行と同じ行までまでオートフィル
s = Cells(Rows.Count, 1).End(xlUp).Row
i = Cells(Rows.Count, 30).End(xlUp).Row
Range("A" & s).Select
Selection.AutoFill Destination:=Range("A" & s :"A" & i)
これだと、最終行の構文が違うので正しい書き方を教えてください。 >>209
Range("A" & s & ":A" & i) 全く考える気が無いようだが文の見直しぐらい考えなくても自分で出来るだろう… >>210
いつもありがとうございます!勉強になります 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2012
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
2行目以降からA列の最後の行まで、A列の値が変化するごとに、A〜DE列を"青と黄色で交互に塗りつぶすコードをお願いします
例
A2・・あ・・・青
A3・・あ・・・青
A4・・あ・・・青
A5・・い・・・黄
A6・・う・・・青
A7・・え・・・黄
A8・・え・・・黄
A9・・お・・・青
A10・お・・・青 >>214
コードというのはVBAの中身のことだから、VBA不可の時はコードも存在しない
ワークシートの数式では塗りつぶすことはできないから、条件付き書式でやるしかない >>215
VBAの構文でおねがいします。こぴぺするくらいしかできません DF2へ↓を入れてオートフィル
IF(A1=A2,DF1,MAX(DF$1:DF1)+1)
【条件付き書式】
=ISODD($DF2)=TRUE 青背景に設定 適用先は$A:$DE
=ISODD($DF2)=FALSE 黄背景に設定 適用先は$A:$DE >>217
ありがとうございます
結果はA列が同じ値でも色が違ったり、違う値でも同じ色になってしまいます。
(A列はあらかじめ順番に並び替えてあります)
>>219
>>217 の方法にします この方が単純じゃね?
DF2 TRUE
DF3 =IF(A2=A3,DF2,NOT(DF2))
以下オートフィル
条件付書式は>>217のISODD($DF2)のとこを$DF2にする 関数みたいな表現が流行ってるけど、発祥はエクセル?
Excel()
笑()
ヒロシ() 違う
もともとは(笑)とか(ただしイケメンに限る)みたいな定型文があって、それを省略してるだけ
何を省略したかは文脈から読み取る ツイッターとかだとネットスラングの使い方もうむちゃくちゃ 俺も使ってみようかな。
何の脈略もなく、ROW()とか。 「カッコ付きの○○」は
「文字通りの○○ではない」
という意味だったと思うけど、
「○○()」のもともとは、
(笑)の笑がない
→ ○○に呆れた
みたいな意味だったかと。 >>228
>>223の言うように「ただし〜」とかが省略されてカッコだけになった >>225
> ↓これとか、何省略してんだよ。
お前、アホだろ() 文脈から読み取る練習。
お前、アホだろ()
↓
お前、アホだろ(天才) 少し違うな
「※ただしイケメンに限る」が※だけになり、
(白目)が()だけになった とりあえず文章とは逆の意味を込めて使われてたが、SNS見てると最近はなんでもかんでも付けてて最早意味がわからんな >>234
そうだ、それが流通している意味だった。
Webのどこかにそんなまとめがあった。 初心者的な質問だけどセルの右下の黒点をダブルクリックでオートフィルを使うとき
下のセルに文字や数字が入ってると機能しないタイプと文字が入ってても上書きしながらするタイプがあるけどこの切り替えってどうやるの?
A1に1、A2に1、A3に2と入れてA1の右下ダブルクリックだとオートフィル自体が動かないソフトと1,2,3と並ぶタイプのソフトと1,1,1と並ぶタイプのソフトの3種類に大別できるけど あるブックのあるシートのある列を、別ブックの別シートにコピーしたところ、
セルの背景色が変わってしまいました。
不気味なんですが、どんな理由が考えられるでしょうか? そういえばテーマを有効活用してる奴なんているのか?
一時凝って色々やってみたけど面倒なだけだった エクセルの拡大表示を80%くらいに設定して資料作るのってどういう意図があると思いますか
フォントが14で行が40とかになってるわりに小さく見えるなと思ったら縮小表示になってるんだ
見づらいなら100%から拡大すればいいと思うんだが、前の会社にもこういう作り方する人がいたから気になった >>245
作るときに資料全体のバランスとかを見たい >>245
おそらく意図はありません。
文字の大きさを考えずに、全体を作って
画面に表示し切れないから、縮小表示にしたという事です
馬鹿かと思われますか?
ええ馬鹿なんですよ 質問です、お願いします。
【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可否
データの統合なのですが、
ブック1:上半期(1月〜9月まで)
ブック2:下半期(10月〜12月まで)
ブック3:統合
統合すると、表示が下半期が最初になります。
10月 11月 12月 1月 2月〜〜〜
統合元の順番を変えればいける気もするのですが変えれません。
どうすれば上期から表示できますか? >>246-248
それによって何かが便利になるわけでもなさそうですね
自分にはちょっと理解できない使い方のようです… >>249
統合って集計でしょう?
それなのに各月が表示されるって
まさか、列の項目名が月なんですか?
行か列の項目名が同じのを集計するのが統合なので
それ間違った使い方ですよ
別の項目名だから別の列に並ぶという結果にはなりますが集計になっていません
それを月順にソートしたらどうでしょうか
ただし全角の数字ですと
1月 10月 11月 12月 2月...
という風に並びますので
半角の数字にしないといけませんが >>250
謎のでかフォント縮小表示は事務系部署あるある >>249
表示が下半期が最初になります
と言われても、シートの並びなのか、列の問題なのか行の問題なのかがわからないので回答は無理。
それよりも、「上半期」「下半期」と言いながら、片や9か月間、片や3か月間というのが気になる。 vbaでIE動かす時、ダブルクリックする方法ありますか? あるけど、ダブルクリックじゃないと発動しないようなものなんかあったっけ? >>257
それがあるんです
詳細ないとわからない感じですか? ブラウザゲーかな
それでもダブルクリックってあんまり聞いたことないけど >>258
シングルクリックだと、普通は getElementByName("ボタン")(0).click みたいな感じでやるんだけど、
ダブルだとそんなやり方じゃないよなぁ・・。
WindowsAPIのSetCursorPosとmouse_eventの組み合わせなら確実にいけると思うけど、
そもそもどうやってお目当ての座標を調べるのかっていう・・。 あ、ウインドウハンドルが取れるならSendMessageでいけるか。 >>245
A4横の資料作るのに大体75%くらいの表示で作ってる
率のとこクリックして7って打ってエンターで変わるから80より使いやすくて
100よりは全体が見えて作りやすいんだよね >>262
全体の見え方じゃなくてフォントサイズでかくして縮小印刷するという無意味な行為の話をしてるんだぞ >>>263
それが無意味とは限らないんだな
画面上では#####なのに印刷すると数字になったり、その逆になる現象を回避できる
こればかりは印刷プレビューでもわからないからやっかい >>264
シートが縮小される→見づらいからフォントサイズを上げる、という作り方してる人が世の中にはたくさんいるんだ >>263
縮小すると相対的に分解能が上がる
意図しない印刷結果にもなりにくい
罫線が細くきれいにかける
見やすい表になる 質問お願いいたします
【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel 2013
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 出来る限り無しでお願いします
【5 その他】 問題解決(ソート)のために別シートを作成するとかでも問題ありません
【質問内容】
オートフィルタをよく活用しているのですが
たまに「(上)S+、S、S-、A+、A、A-、B+、B、B-、…、D+、D、D-(下)」などでソートをかけたい場合があります
こういったカスタムなソートに対応できる方法があれば教えてください >>267に関連して後出しにならないようにもう一つ質問させといてください
例えば数値100を入力してデータとしてこの値を保ちつつ表示をS+とかに出来ますか?
ソート時には入力した100を参照するというのを前提にした質問です >>249
普通は1月から12月まで並べた表にデータ入れますよね
それが分かりやすいし、統合の必要も無いです
無理にブックを分ける意味は分かりません。
無意味と思います >>249
仮に各月毎の表が別途必要なら
その表を参照する年間表を作れ済む話ですね >>266
綺麗かどうかが重要な表なら
セルの罫線使うのは無理かと思います。
画面と印刷結果で線の太さが違うこともあるからです
そこまで追求したいなら、太さをポイントで指定出来るオートシェイプの罫線で
ALTキーを押しながら引けば、セル枠に吸着した罫線引けますから、縮小率がどうとかも悩まずに出来ますよ >>251,253,269
FOM?だったかな?の、問題集にこういう問題があるんです。
1月 2月 3月 ← 行 ですね。
シートは、最初が上半期、2つ目に下半期です。
きちんと6か月区切りでないのは私も不思議に思ったのですが、こういう問題だったので… >>271
そこまで厳密にやりたいわけじゃなくて、デフォルトの罫線が全体的に太すぎるから手間をかけずに細くしたいだけだろ
点線を細い罫線の代わりに使う裏技もあるけど、一部のプリンターとの相性もあるから >>273
”○月”という文字データで並べ替えをすれば一目瞭然です。
エクセルのシートに 1月 と入れて、下にフィルコピーで12月までデータをつくり、
並べ替えをしてみればわかります。
○の部分が全角数字、半角数字どちらも同じになりました。
○の部分を2桁に揃えれば、01,02,・・・09,10,11,12の順になるでしょう。
または、○の部分の数字だけ取り出して並べ替えをすれば1〜12できれいに並びます。 >>273
そのFOM?の問題文の作者が統合を誤解してます >>275
全角でも並びますか?
数値だけセルに入れて、書式に
#”月“を設定する方が確実かなと >>274
希望する太さを倍率変えて実現するのは、かえって面倒ではないですか?
しかも、それをしても印刷すると太さ変わります
それならオートシェイプ使うべきでしょう?
試しにセルの罫線とオートシェイプの線を引いてみて
印刷した場合の太さの変化を見てください 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
degree signを楽に挿入したいのですが、Alt+0176というショートカットはテンキーがないと使えないんですか?
テンキー無しでできるショートカットはないですか?
Times new roman で℃を楽に挿入したいです もしかして「ど」で変換して出てくる「°」がdegree signか?そうすれば辞書に「°C」を登録してどで変換できるようにしておけば楽に出せるのではないか
自決 質問です。仕事で発注書を元に請求書を作ってるんですど、発注書の数字のほとんどを手打ちで会社の作った請求書のテンプレに打つといった感じです。
数字が大部分占めるので見直しが大変で、そこでハンドスキャナのOCR機能を使って発注書の品名や数字をエクセルに一括コピーなんてことって出来ますか? >>272
ありがとうございます
こんな簡単な方法があったとは
大変助かりました >>279
280さん語られてるようにUnicodeに対応した日本語入力ソフト(IME)なら出来ますよ
自分はGoogle日本語入力を使っています
「ど」で変換して表示されるものは全角の「°」なのでネットでdegree signで検索して「 º」を見つけて辞書登録してみて 文字化けさせてしまいました
この板は非対応なのかな
もう一度だけ入力させてください
 º >>283-284 誠に失礼しました
この板はだめなんですね
スレ汚しすみませんでした >>277
全角は文字だから無理でしょう。"月"を含むセルデータから作業列に"月"を抜く計算式を設定し、
その計算式の中に数値化の関数を組み合わせれば、数値としての1〜12が得られるはず。
"月"を抜くのはLEFT(A1,LEN(A1)-1) A1に○月のデータがあると仮定
数値化するのはVALUE関数を利用するので、組み合わせれば =VALUE(LEFT(A1,LEN(A1)-1))
月を表す数値だけ入力し、セルの書式設定で○月と表示する方がいいです。
ただし、数字部分が以前の全角から半角に変わるので見た目は変わります。
プロポーショナルフォントを使うことで少し改善できるかも。 並べ替える時に数字を数値として扱うかどうかの選択が出来たはずだが vlookupについて質問です。
同じ行の値ではなく、一行下の値を返す方法をおしえてください。 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 初歩の初歩レベルです
【4 VBAでの回答の可否】 可
A1〜E5に1.2.3という数字がランダムに入力されているとして
シート内に作る【1】というボタンを押すと1が入力されたセルの背景色が変更される
もう1度押すと背景色が消える
というボタンを作りたいです
お知恵をお貸し頂ければと思います ボタン作るならVBA必須だけどボタン替わりにどこかのセルを色付き、無色とかリストボックスにしてもいいなら条件付き書式でいける >>295
ありがとうございます
よければどの様な条件付き書式か教えて下さい やり方が何通りかあるので、一番トリッキーな方法を提示したやつが優勝。
普通にやるなら、こうだろうな。
Range("A1:E5").Interior.Color = xlNone
For r = 1 To 5
For c = 1 To 5
If Mid(Me.CommandButton1.Caption, 2, 1) = Cells(r, c).Value Then Cells(r, c).Interior.Color = vbRed
Next
Next Valueじゃダメだわ。Textだ。
Range("A1:E5").Interior.Color = xlNone
For r = 1 To 5
For c = 1 To 5
If Mid(Me.CommandButton1.Caption, 2, 1) = Cells(r, c).Text Then Cells(r, c).Interior.Color = vbRed
Next
Next あ、もう1回押したら消すのか。
それは、そこだけ消すのか全部消すのかによる。 >>299
質問は簡略に書きましたが、実際は
S1:AJ13のセル内に
【1--】【1-2】【-02】【10-】【-0-】【--2】
という6種類の文字が入っていて
種類ごとにボタンを6個作りボタンを押すたびにセルに色を付ける〜消す
が出来ればなと思った次第です
イメージとしては
ttp://kanosora.main.jp/keirinapp/
右下の?を押した後に出てくる画面で数字を押すと該当のところに色が付く感じです トリッキーなんて自己満足なものを他人に出すとか迷惑でしかないわ >>300
読解力があまりないんで>>294の簡易版で
Sub test()
Dim rng As Range, i As Variant, frg As Long
Set rng = Range("A1:E5")
For Each i In rng
If i.Interior.Color = RGB(153, 204, 255) Then
frg = 1
End If
Next i
For Each i In rng
If frg = 1 Then
i.Interior.Pattern = xlNone
ElseIf i.Value = 1 Then
i.Interior.Color = RGB(153, 204, 255)
End If
Next i
End Sub >>302
ありがとうございます
内容を修正してちょっとやってみます 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 不可
何十個かある数字データの異常値を除いた平均値を求めたいです。
TRIMMEANを使おうと思ったのですが、連続したセルや範囲しかしていできず困っています。
飛び石の様になってる離れたセル(A2,A5,A12,A19など)を指定するにはどうしたらいいですか?
よろしくお願いします。 >>304
状況がよく分かりません
A列に数値データ以外が入っていても無視するから
飛び飛びを指定する意味は無いのでは
それとも何か余計な値が入っているのですか? >>309
一応
=TRIMMEAN((A2,A5,A12,A19),0.1)
とかにすれば良いかとはおもいますけど
範囲に余計な数値がある表ってきちんと作っていない気がします。 >>305
余計な数値が入っています。
A列にいくつかデータが入っていて、その中から数字を選びたいのです。 おまえら 何が異常なのかそれがわかんないとできないだろ
俺だったらフラグ立ててAVERAGEIFだな >>309
TRIMMEAN使うってことは平均から極端に離れた数値を除外したいってことだろ 余計な「数値」で良かったな。
中には、数値を入れる前提の表に、文字入れちゃうバカいるからな。
いちいちIsError、IsNumericでチェックするの面倒くさい。 別のブックに10×3の範囲をコピーするとき、
Workbooks(f).ActiveSheet.Range("a8").Offset(0, j - 1).Resize(10, 3).Value = _
Range(Cells(3, i), Cells(12, i + 2)).Value
これならうまくコピーできるけど、
Workbooks(f).ActiveSheet.Range(Cells(8, i + 3), Cells(17, i + 5)).Value = _
Range(Cells(3, i), Cells(12, i + 2)).Value
こう書くと実行時エラー1004 アプリケーション定義またはオブジェクト定義のエラーになる。
何故に? >>313
こんな感じのようなキモする
Workbooks(f).ActiveSheet.Range("a8").Offset(0, j - 1).Resize(10, 3).Value = _
Workbooks(f).ActiveSheet.Range(Cells(3, i), Cells(12, i + 2)).Value
Workbooks(f).ActiveSheet.Range(Cells(8, i + 3), Cells(17, i + 5)).Value = _
Workbooks(f).ActiveSheet.Range(Cells(3, i), Cells(12, i + 2)).Value
ただ、setした方が見やすい >>314
別のブックにコピーだから、両方にActiveSheetでは駄目だろう >>314
コピー元は今開いているActiveWorkBook
コピー先は裏に隠れてるWorkBook(f)なんだけど
異なるブック間ではコピー先はrange(cells(行,列),cells(行,列))での指定は出来ない?
それともCopyメソッド使わないとダメとか? >>315
見てなかった、スマン
こんな感じか
Workbooks(f).ActiveSheet.Range("a8").Offset(0, j - 1).Resize(10, 3).Value = _
Workbooks(g).Sheets(1).Range(Cells(3, i), Cells(12, i + 2)).Value
Workbooks(f).ActiveSheet.Range(Cells(8, i + 3), Cells(17, i + 5)).Value = _
Workbooks(g).Sheets(1).Range(Cells(3, i), Cells(12, i + 2)).Value
>>316
分からない。ってか、iとjに適当な数値いれて
以下でエラーにならなかった
Range(Cells(8, i + 3), Cells(17, i + 5)).Value = _
Range(Cells(3, i), Cells(12, i + 2)).Value
iかjの方がおかしいような気がする >>313
下はコピー先のCellsにどこのシートのCellsか指定が無いから Cellsの前にもWorkbooks(g).Sheets(1)を書いておかないと危ないよ。
でも実際書くと長くなるから、普通はWithかSetするんだけど。 >>319
その通りでした。お騒がせしました。
With wb.ActiveSheet
.Range(.Cells(8, j), .Cells(17, j + 2)).Value = _
Range(Cells(3, i), Cells(12, i + 2)).Value
End With >>319
コピー先のrangeの中のcellsもworkbooks(f).activesheet.cells(行、列)としなければならないのですね。 >>321
多分シートモジュールに書いてるんだと思うが、例えばSheet1のモジュールでシート指定を省略したらSheet1のセルという意味になる
その場合Activesheetが同じシートでないなら、違うシートのrangeの中に違うシートのcellsを指定してる状態だぞ こういう処理が多い時はCellsの指定を忘れがちなので
Function RangeEx(S As Worksheet, Top As Integer, Left As Variant, Bottom As Integer, Right As Variant) As Range
With S
Set RangeEx = .Range(.Cells(Top, Left), .Cells(Bottom , Right ))
End With
End Function
みたいな関数を作ってたな >>307
演算の対象の範囲に対象外の数値がある事が理解出来ません。
それを除外するために1セルずつ指定するのも変ですね
それが仮に異常値なら、それも含めて対象にするべきです
Trimmean関数の意味を理解されていますか? セルの数値に比例してセルの高さを自動で変更する事って出来ますか? みんなどんな時にそれ必要なの?
って言うような、考えもつかないような使い方してて、
勉強になります 逆だ
使い方を考え出してるのではなく必要になって使うはめになるんだ 俺だって知るか!
上司命令で、仕方なく変な仕様の表を作ってんだ!
ってことだと思うよ。 EXCELでセンスのない表を作らせる上司をどうにかするスレに変えてもいいんじゃないの。 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可・否
毎日売上表から売上数字を日付のついてる横並びのセルに記入するのですが
マクロ組んでボタンをつけて、ボタン押すと日付のついてるセルに数字が入るようにできないでしょうか?
日付は横並びの一行に表になっています。 >>333
売上表がエクセルで読み込みできるファイルなら簡単 >>334
売上表の下に横一行に一ヶ月分の日付入りのカレンダーをつくっています。
そのカレンダーに毎日売上表の数字を入れています。
>>335
すいません、数字の形式というのは? 売上表部分と、カレンダー部分が同じシートに上下に分かれてるってことかな
売上表部分は毎日違う数字を上書きするんだけど、
その日のデータを入れる前に、前日のデータはカレンダー部分にコピーしてるってこと? >>332
例えば文字配置はオール真ん中寄せの結合大好き、日付は何故か.区切り
数字の後に円とか単位を付けるのはいいけど、勿論書式設定ではなくそのまま文字列で集計するのに一手間も二手間も必要とかかな? >>336
何のファイルでどんな売上表でどういう風に入力されているのか >>337
そうです。支店の売上を会社が使ってるソフトからコピーして Excelの売上表に貼り付けてます。
その売上表の合計だけを横並びのカレンダーに毎日の売上をコピペしてるという感じです。 >>340
VBA使わないと無理かな
関数だけでできるのは、現時点で売上表に入力されている数値をカレンダー側の対応する場所に表示するまで
その値を確定するには関数の結果を「値としてコピー」するんだけど、そういうのは関数じゃ無理 >>336
新入りの従業員に>>333の仕事を説明するような感じで
仕様を説明しないと、誰も対応できないと思う。
関係するブックはひとつ?ふたつ?
シート名は?
転記する売り上げが記録されているセル位置は固定?それとも日付の右隣など可変?
転記する売り上げの数字は毎日1個?それとも内訳も?
いろいろありますよ。
別の考え方としては、入力したいブック(シート)を開いたら、当日の欄(セル)だけ入力可能で
他のセルはセルのロック+シートの保護設定なんてこともできます。 出来るかという質問にはもう>>341で答え出てるやん 余白を設定する機能があるのに、何故A列を余白にしたがりますか? >>347
俺もたまにやるけど隙間が欲しいからとしか言えない
目盛線を非表示にしてる時は少し余白があると見栄えがいい >>347
印刷時の余白とか関係なく画面上で左の罫線が見づらいのが自分の中でしっくりこない
ただそれだけ 少し処理の長いマクロの時は何もないA列に処理中と終了後の色付けをしてる A列はあける派
余白も簡単に調整できるし、端っこの罫線も見やすいし、マクロ入れてると後から行挿入したくない場合が多いけど、そんなときにも作業列にしたり、なにかと使える。 余白の調整はページ設定を使った方がセンチ単位で指定できて簡単だろ
セルの幅は単位が独特だしExcelのバージョンごとに初期値が違うから面倒 >>356
> 余白の調整はページ設定を使った方がセンチ単位で指定できて簡単だろ
俺もそう思うがA列空ける派の人はGUIでやりたいんでしょ
罫線といい見栄えにこだわる人なんだろうね 検索痴漢で「次を検索」を押下するときに検索結果がないときの「見つかりません」ポップアップ出ないのなんで >>356
画面だけの見栄えに拘るなら
シートじゃなくてフォームで作るべきじゃないか
そこを敢えてシートに拘る理由が有れば知りたい エクセルに早くレポート機能が実装されますように
シートでごまかすの辛すぎ 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
Excelのファイルを開く際に、毎回最後に開いたウィンドウのサイズ(最大化を除く)で
開かれてしまい困っています。
常に最大化で開きたいので、プロパティ→実行時の大きさ「最大化」としても反映されません。
https://answers.microsoft.com/ja-jp/msoffice/forum/msoffice_excel-mso_other/excel2010%e5%ae%9f%e8%a1%8c%e6%99%82%e3%81%ae/d68cf32d-0d0d-40a2-b37d-610560520e63
Googleで検索した結果、Microsoftコミュニティに同様の症状での質問(上記URL)があり、
それによるとC:\Users\<ユーザー>\AppData\Roaming\Microsoft\Excel\XLSTART の中にある
「PERSONAL.XLSB」というファイルを削除したところ改善されたとのことですが、自分のPC
には該当ファイルがありませんでした(隠しファイル含む)。
レジストリ情報の変更については、あまり慣れておらずまた一応会社のPCなので避けたいですが
それしか解決策がないのであれば試みてみようと思います。
アドバイスよろしくお願いします。 >>360
1個合致するセルがあって、1周回って同じセルがヒットしてんじゃないの >>364
会社のPCならレジストリ弄ったらだめだと思うよ 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
A列の文字列がD列に用意しておいたリスト内の文字列に部分一致で含まれるか検索して
見つかった場合にはそのリスト内の文字列を、見つからなかった場合には空白をB列に表示したいです
Aに書かれた文字列に余計な言葉が含まれるため端的に書かれたD列のリストの文字列を
Bに表示することでカテゴリのようなものを併記した表を作成したいのです
例えば、
A2=あいうABC123
A3=DEFあいう
A4=あいうえお
などと書かれていてD列には
D2=ABC
D3=DEF
D4=GHI ... とリストを作り、
B列にそれぞれ B2=ABC B3=DEF B4=空白 と返すにはどうすべきでしょうか
D列のリストには今後も文字列を追加する予定です >>368
1つの文字列がDの複数の文字列にマッチすることはない前提でいいのか? >>293
vlookupだとそういうの無理なんですね
vlookupってホント糞だわ >>370
そんな糞関数捨てた方がいいよ
xlookup使えるならいいけど >>369
ABCDEF123にように複数マッチする場合があります
Dの文字列の行数が若い方が表示されれば大丈夫です >>372
リストを列ではなく行に入れないと無理っぽいがそれは?
例えばD2〜D4に入れるのをやめてD1〜F1に入れる、又はどっか違う場所に作業列を作る すみません、グーグルスプレッドのスレを探したけど分からなくてここで質問させてください
何故か最近、セルの中でエンターを押すと行の幅が大きくなるようになりました
これの原因、ならないようにする方法はありますか?
例 A1に「合計」と書いてエンターを押すと自動でクイッと行の幅がデフォルトの2倍くらいになります >>373
まだ表を組んでいる段階なので作りやすい方を採れます
行に入れるというのはD以降の列で1行目にリストを組んでいき
該当する文字列が存在するかをD2、E2、F2...と判定してB2に表示するということでしょうか
作業列を作るのも問題ありませんので強いて言えば手入れをしやすい方が助かります
>>374
確認してきましたがB列に一度現れた文字列がそれ以降表示されませんでした
提示した例と表の説明が不十分でした、すみません
A2=あいうABC123
A3=DEFあいう
A4=あいうえお
A5=ABC12345
A6=あいうGHI
...
のようにA列には500行程度文字列が記入されています
その文字列から必要な文字列だけを抜き出したカテゴリのようなものをB列に表示してと考えています
ノートPC→PC
デスクトップPC→PC
モニター(24インチ)→モニター >>376
じゃあリストがD1〜F1にあるとして、
A2 =IFERROR(INDIRECT(ADDRESS(1,MIN(D2:F2))),"")
これを下へコピペ
D2 =IF(ISERROR(FIND(D$1,$A2)),"",COLUMN())
これをリストの範囲にコピペ 手入れしにくいか、、
D1が空欄じゃないとして
B2=IFERROR(INDEX(D:D,AGGREGATE(15,6,INDEX(ROW(D$2:INDEX(D:D,COUNTA(D:D)))/NOT(ISERROR(FIND(D$2:INDEX(D:D,COUNTA(D:D)),A2))),),1)),"") >>377 >>379
それぞれ確認してきました
無事に解決しました、ありがとうございました >>376
これだとPC用モニターを買った場合どうなるの? >>371
そんな使い辛いのに未だに大人気だからな
やっぱり素人さんには一つの関数で完結するのが丁度いいということか VLOOKUP→使える
INDEX MATCH→使わない!面倒くさい!VLOOKUP使え!
こういう馬鹿上司がいるとかいないとか >>384
えっ!スピル?そんな邪道な手段など使うな!ちゃんとコピペしろ!いや、一行ずつ手入力しろ!
こういうクソバカ老害も出てくるんだろうな >>382
そんな時はユーザー定義関数作って煙に巻く 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
AND関数とINDIRECT関数って同時に使えないんですか?
両方使って条件作ったのですが機能しません。 どなたか>>375これ分かる人がいればお願いします・・・ >>389
”ヤフー知恵袋”などの質問投稿サイトの方がいいような。 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 否
グラフの横軸の範囲を名前を用いて可変にしようと考えています。
今、グラフ範囲という名前に
INDIRECT("B"&MATCH(sheet1!$D$4,sheet1!B1:B10,0)&":B"&MATCH(sheet1!$D$5,sheet1!B1:B10,0))
という風にし、B列からD4とD5の値を探し、その間を横軸の範囲にしようとしていますが、うまくいきません。
どこが間違っているのでしょうか?
ご教示のほどよろしくお願いいたします。 >392
回答ありがとうございます。
修正を行ったのですが、解決には至りませんでした・・・・
ちなみに、適当なセルに関数を入力、数式のチェックを行うと、最終的には
『INDIRECT(sheet1!B10:B20)』のような形になるので・・・数式としては間違ってないのでは?と感じております。
名前を定義する際の方法が間違っているのでしょうか? >>389
うちの環境では特にそんな事にはならないよ >>391
後ろの検索範囲も10個しかないから最高B10にしかならん >392
回答ありがとうございます。
上記の関数をたとえばCUNTAなどで囲った場合は、臨んだ値が返されるのですが、名前として定義をすると何も返されない状態になるのです。
そのため名前の定義をするときはこの方法では無理なのか?と感じている状態です。
よろしくお願いいたします。 1100
1200
1400
1500
1700
100番ずつ上がるが、1300,1600などがわかるような関数式ない? >>396
=OFFSET(Sheet1!$B$1,MATCH(Sheet1!$D$4,Sheet1!$B$1:$B$10,0)-1,0,MATCH(Sheet1!$D$5,Sheet1!$B$1:$B$10,0)-1) >>391
>>392 に加えて
2ヶ所ともB1:B10 → $B$1:$B$10 >>393
sheet1!付けても駄目ならMATCHの結果が違うんでないの >>397
よくわからんけど、If 1300 Or 1600 Then うんこ 的なやつじゃダメなのか。 >>397
「抜け」を探したい、ってことですか?
開始値、終了値、増分で正しい値セットをフィルコピーで作っておいて、
隣の列に「対象のセル範囲に一致する値があるかないか」の計算式を
入れるのがわかりやすいと思う。 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 否
一部のセルのロックを解除して、シートを保護した状態(※1)にすると、
罫線の「格子」、「外枠」、「その他の罫線」が使えなくなってしまいます。
この状態でも「格子」、「外枠」、「その他の罫線」を使えるようにしたいのですが、
どうしたらよいのでしょうか?
(下罫線や右罫線などは使えるので、組み合わせで罫線引けるのですが、組み合わせは面倒です。)
(※1)
「このシートのすべてのユーザーに許可する操作」の設定
・ロックされていないセル範囲の選択
・セルの書式設定 >>397
1100がA1にあるとして
B2=IF(A2-A1=100,"",A1+100)
↑のオートフィルではダメ? 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
例えば、一つ上のセルと比較して10以上数字が大きい場合に、
そのセルの色を変えるって感じで条件を設定したいんですが、
A1+10<=A2と設定したとして、
なぜかA1の方の色が変わっちゃうんですがどうしたら良いんですか?
データ上、上が過去で下が現在って感じなので、現在ベースで色が付くと良いんですが >>408
A1に条件が設定されてるからじゃないのか >>407
「抜け」が連続したときにわからないと思う。
1100
1200
1500
1600
のときに、1300と1400を表示する必要がある。 >>408
選択範囲を仮に$A2:$A100として
=A2>=A1+10
でいいんじゃない? >>397
A1=1100
B1=TEXTJOIN(",",,INDEX(REPT(ROW(INDIRECT(A$1/100&":"&INDEX(A:A,COUNTA(A:A))/100))*100,--ISERROR(MATCH(ROW(INDIRECT(A$1/100&":"&INDEX(A:A,COUNTA(A:A))/100))*100,A:A,))),)) セルのコメントの枠について
位置を移動させたいんですけど出来ますか?
下の方のセルのコメントの枠が
表の下にはみ出てしまって見えないんです
スクロールすればもちろん見れますが
しかし表の上も同時に見たいので
それだといちいち上下しなければならず
なのでコメントの枠をもっと上に表示させられればなあと
コメント編集時の枠は移動できますけど
通常の閲覧時の枠の位置がセルから見て一定なので >>413
セルのコメントの位置が、最初にコメントを付けたときより下方向に異常にずれる不具合のことでしょうか?
Excel2003まではそんなトラブルと無縁でしたが、(2007は使ったことがない)2010以降
おかしくなってるような気がします。自分の回りには2013以降のPCはまだ少ないのでなんとも。
ということで、私の対策は「コメントを極力つけない」になってしまいました。
別のシート「メモor説明」に注意点を並べています。
私はマクロを起動するためのボタンもシート上に置くようにしていたのですが、
2010以降は大きさや位置が変わる(極端なときは高さが1ポイントとか、幅も一文字分など)
ことが頻発したので、シート上にはフォームを表示させるボタン1個だけとし、フォームの中に
従来並べていた各機能(マクロ)のボタンを配置するようにしました。
フォームを表示させるための唯一のボタンも大きさや位置が変わってしまうことがあるので、
シートがアクティブになったときに起動するマクロで当該ボタンの大きさ・位置を設定する
ようにしたものもあります。
ということで、直接の解決策としては<マクロ入りのブックであれば>シートを表示する
タイミングでセルコメントを付け直すのはいかが? 他の方法は思いつきません。 >>406
無理
罫線はセルじゃなくてシートの一部だから
シートが保護されれば変更不可
ただし、シートの保護のオプションで
オブジェクトの編集にチェック入れれば
保護中でもオートシェイプは入れられるから
ALTキー押しながらオートシェイプの線を引けば
罫線の代用にはなる >>411
条件式は
>=A1+10
で良いんじゃね? >>409
>>411
>>416
ありがとうございます。
選択範囲の方を変えるって方法勉強になりました。 選択範囲を変える方法じゃなくてそもそも設定の方法が間違ってるんやろ >>415
ありがとうございます。
無理なんであればVBA検討してみます。 プロテクトを何で制御しようが結局外さなきゃセル弄れないだろ >>423
unprotectしてから最後にprotectすればいい >>424
それ>>423と言ってること同じじゃん >>425
すまん。ウンコをする時はズボンとパンツを下ろせばできるのに、>>423がズボンとパンツを履いたままではウンコはできないと言ってたので すごく分かりやすいけど、パンツ履いたままウンコすることもある。 >>428
OOoやgoogleスプレッドシートを使えばプロテクトを無効化できるという意味か
・・・
うまい例えだな 条件付き書式で数式使う時どうしてる?
関数の予測変換も出てこないしカッコもタブキーで出来ないし
ポチポチ自力で打つしかない?
ものすごい今更だけど 自力で打つか、一旦セルに数式入力したやつコピーしてる >>426
脱ぐ必要があると言ってるのはどっちも同じやん
同じなのに何がそんなに気に食わないのか… >>367
遅くなりましてすみません。
ご紹介頂いたフリーソフトを導入してみました。
ありがとうございます。 >>431
なるほどなぁ
ちゃんと打ち込んでも何故か式がズレる時あるからなんかムカついてしまったわ
アクティブセルちゃんとしないとズレるのかな? マクロ初心者です。教えて下さい!
ネットで検索してマクロをまねして書いてみましたがうまくいきません
やりたいことはZドライブのファイルを10個オープンしてaaaというファイルのA2から
10行おきにコピペするというマクロなのです。
Zドライブのファイルは全てB2:J10にデータが書かれています。
作ったマクロはこれです。
Sub copipe()
Path As String, myBook As String
myPath = "Z:\"
myBook = Dir(myPath & "*.xlsx")
Do Until myBook = ""
Workbooks.Open myPath & myBook
Range("B2:J10").Select
Selection.Copy
Workbooks("aaa.xlsm").Activate
Sheets("sheet1").Select
Range("A2").Select
ActiveSheet.Paste
Range("A12").Select
ActiveSheet.Paste
以下繰り返しでA92までコピペ
Range("A92").Select
ActiveSheet.Paste
Workbooks(myBook).Close
myBook = Dir
Loop
End Sub >>435
1ファイル分をaaaのA2以下に10回貼り付ける作業を全ファイル分繰り返して上書きし続けている
どういう結果にしたいわけ?1ファイル目をA2に貼って2ファイル目をA12に貼って…という風にしたいのか? >>435
Sub copipe()
Dim mybook As Variant, rs As Long
mybook = Dir("Z:\*.xlsx")
Do Until mybook = ""
mybook = Dir
Workbooks.Open mybook
With Workbooks("aaa.xlsm").Worksheets("sheet1")
rs = .Cells(.Cells.Rows.Count, "A").End(xlUp).Offset(1).Row
.Cells(rs, 1) = Workbooks(mybook).Worksheets("sheet1").Range("B2;j10")
End With
Workbooks(mybook).Close
Loop
End Sub
実際に動かしてないからエラーが出るかも知れないが多分大丈夫と思う
開く方のシート名は何でもいいけど全て同じにする必要がある >>437
9行目訂正
.Range(.Cells(rs, 1), .Cells(rs + 8, 9)) = Workbooks(mybook).Worksheets("sheet1").Range("B2;j10") >>439
すまん、二度目の訂正
.Range(.Cells(rs, 1), .Cells(rs + 8, 9)).Value = Workbooks(mybook).Worksheets("sheet1").Range("B2;j10").Value A B C D
1
2
3
4
を
1 2 3 4
A
B
C
D
にしたいんだけど無理ですか? >>441
1行目を右に1個ずらす→表全体をコピー→形式を選択して貼り付けで行列入れ替えを選ぶ >>442
ありがとう。
データが90度回転状態になった!
枠を入れ替えたいんだわ
氏名1 氏名2 氏名3 氏名4
住所1 住所2 住所3 住所4
電話1 電話2 電話3 電話4
日付1 日付2 日付3 日付4
みたく >>435
Sub copipe()
Dim mybook As Variant, rs As Long, wb As Variant
mybook = Dir("Z:\*.xlsx")
Do Until mybook = ""
wb = mybook
mybook = Dir
Workbooks.Open ("Z:\" & wb)
With Workbooks("book1.xlsm").Worksheets("sheet1")
rs = .Cells(.Cells.Rows.Count, "A").End(xlUp).Offset(1).Row
.Range(.Cells(rs, 1), .Cells(rs + 8, 9)).Value = _
Workbooks(wb).Worksheets("sheet1").Range("B2:j10").Value
End With
Workbooks(wb).Close
Loop
End Sub
何回も訂正して悪い
エラーチェック済だからこれでいける >>443
枠?
1234をABCDにするの?
出来るけど、WindowsAPIを使って、やっとどうにかなるレベルじゃないの。 >>443
枠とは?
その4行の表の入れ替え前は? >>444
元のままでいい部分までややこしく変えなくてもいいんじゃないの… >>443
枠ってもしかして列名と行番号のことか
そんなの変える機能は無い
代替案としては自分で1行目とA列に好きな文字入れてそれを目安にする さらに本来の列と行番号の部分を非表示にすればそれっぽくなるぞ まあ、ディスプレイを90度回転させればいいだけなんだけどね。 >>447
追加しないと駄目な所だけ追加したけど、具体的にどこの部分?
簡単にできるのなら考えるけど >>451
MyPathを無くして"Z:¥"を直書きにしてる
wbなんて言う意味不明な変数は要らん
元のままでいいだろ >>436,444
早速RESありがとうございます。
444さんのマクロ試してみましたがうまくいかないようです。
私の説明がまずかったのだと思いますが、実際にやりたいことは以下のようなことです。
http://nanpre.adg5.com/xlsx_down.php
このページのナンプレを10問ダウンロードして問題の部分だけ(B2:J2)を
http://iup.2ch-library.com/i/i2024927-1573263001.jpg
このファイルのA2:I100まで10行ごとに1行開けてペーストしたいのですが
ご教授下さい。 >>454
Sub copipe()
Dim myPath As String, mybook As Variant, rs As Long
myPath = "Z:\"
mybook = Dir(myPath & "*.xlsx")
With Workbooks("aaa.xlsm").Worksheets("sheet1")
Do Until mybook = ""
Workbooks.Open (myPath & mybook)
rs = .Cells(.Cells.Rows.Count, "A").End(xlUp).Offset(2).Row
If rs = 3 Then
rs = 2
End If
.Cells(rs - 1, 1).Value = .Range("K1").Value
Workbooks(mybook).Worksheets("sheet1").Range("B2:j10").Copy .Cells(rs, 1)
Workbooks(mybook).Close
mybook = Dir()
Loop
.Range("A1:I100").ColumnWidth = ColumnWidth + 4
.Range("A1:I100").RowHeight = RowHeight + 28
End With
End Sub
1行開けのスペースの場所にある上級〜の文字はペーストするシートのK1に文字を入力したら同じ文字ばかりだけど入力される これでいいんじゃないの
sub copipe()
Dim Path As String, myBook As String
Dim rowNo as long
myPath = "Z:\"
myBook = Dir(myPath & "*.xlsx")
rowNo = 1
Do Until myBook = ""
Workbooks.Open myPath & myBook
Workbooks(myBook).Worksheets("Sheet1").Range("B2:J10").Copy Range("A" & rowNo + 1)
Workbooks(myBook).Close
rowNo = rowNo + 10
myBook = Dir
Loop
End Sub
aaa..xlsmのシートモジュールに書く
タイトルが欲しければループの1行目にRange("A" & rowNo).Value = myBookでも入れておけばいい >>455,456
速攻RESありがとうございました
早速やってみましたが、455さんのマクロの場合、"aaa.xlsmのsheet1に全くペーストできないです
マクロは動いているようなのですが、コピーペーストができないです。
456さんの場合オープンしたファイルに次々とペーストされていくようです。
また、Workbooks(myBook).Closeの記述があるのですがオープンしたファイルを保存するかどうか一つずつ聞いてきます。 >>457
Workbooks(myBook).Close(False)
に変えれば保存せずに閉じる
けど、ファイル変更してなきゃ聞いて来ないはずなんだがな… >>457
オープンしたファイルに、か
>>459は忘れてくれ
コードはaaa..xlsmの貼り付けたいシートのシートモジュールに書くんだ >>460
ありがとうございました!!!!!
シートモジュールに書いてなかったのでうまくいかなかったみたいです。
シートモジュールに書いたらバッチリ動きました。 >>448
人物の公開プロフィールやDVDのデータをデータベース化する場合や、
例えば、
http://www.helloproject.com/morningmusume/profile/mizuki_fukumura/
http://www.helloproject.com/morningmusume/profile/erina_ikuta/
https://www.a
mazon.co.jp/gp/product/B01BTGDP3M/
の1人や1作品の登録データをまるごと1回でコピーしてExcelに貼ってを繰り返してデータ化するには、横軸に数字で
縦軸の項目はせいぜい15個くらいの横長の表のほうがいい。 >>462
横に数字が並ぶイメージがつかないけど、1人に紐付く情報が縦方向に並ぶ表形式なのか
複数人数の情報を纏めるデータベースなら1人1行で横方向に情報が並ぶ方が処理しやすくないか スマホ版だとPC版で変更したフォント(フリーのダウンロードしたやつ)は反映させられないのだろうか? PC版でもPCに入れてないフォントは反映されないぞ >>465
スマホにも同じフォント入れたはずなんだよね 自分で作った色、例えばピンク RGB(255,204,255)は別のPCのExcelには初めから設定されていないので、その他の色、ユーザー設定でRGBを設定して新たに色を作らなければなりませんが、
それを自動で設定してリボンのフォント、最近使用した色のパレットに設定するマクロありますか?
指定した色の付いたセルで分岐させたいのですが >>467
マクロで色を付けても最近使用した色には反映されないから無理かと
ユーザーフォームを使ってオリジナルのカラーパレットを作るとかかな >>467
マクロ使わなくても、その他の色→OKで履歴に入るよ >>468
>>469
ありがとうございます。
後任の人にその他の色→OKを申し送っておきます。 ブックに掛かってるパスワード無視して内容読み込むって出来る?
暗号解読ソフト使うとかじゃなくてVBAで >>471
無視はできない
パスを解除することになる >>471
パスが分かってるのか分からないのかで対応が違う Microsoftにログインできなくなってしまった
なぜ… VBAに過度な期待してる人いるな
細かな制御が出来るだけで
なんでもありじゃないんだが
Excelのシステム的に無理なのは無理 >>267です
また質問をお願いします
【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel 2013
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 出来る限り無しでお願いします
【質問内容】
15列ほどの表をオートフィルタの機能を使って活用してるのですが
そのうち5列ばかりカスタム((上)S+、S、S-、A+、A、A-、B+、B、B-、…、D+、D、D-(下))な順序でソートをします
>>267さんに教えてもらった通りユーザ設定リストを登録して出来るようになりました
そこでこのカスタムソートを1クリック(なるべく素早く簡単に)で実行できる手段はないでしょうか?
普段隠れているボタンとか探してみたのですが自分では見つけられませんでした >>479
ありがとうございます
需要がありそうだから自分が探せないだけかと思ったら意外とないんですね 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
Rangeのセル範囲の中で最も右側のセルを取得するにあたって、スマートな方法を教えて下さい。
※End(xlToRight)を使うと、1セルのときにうまくいかないです。
例1
A B C D
1 ■■■■
Range:A1:D1
→セルD1が取得される
例2
A B C D
1 ■□□□
Range:A1
→セルA1が取得される >>482
ありがとうです。
また、>>482に追加で条件付けた場合でもお願いします。
選択範囲が空白スペースの場合でも同じ結果となるようにしたいです。 ▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
ALL_MAPというブックがあって、MAP01を開いてALL_MAPにコピペしてMAP01を閉じる。
MAP02を開いてALL_MAPにコピペと繰り返すマクロを作ったのですが、RangeをALL_MAP
の別シートにあるセルの値を変数にする方法をご教授いただきたく。
Workbooks.Open Filename:="C:\Users\XXXXXX\Documents\MAP01.xlsm"
Range("A1:S12").Select
Selection.Copy
Windows("ALL_MAP.xlsm").Activate
Range("A1").Select
ActiveSheet.Paste
Windows("MAP01.xlsm").Activate
ActiveWindow.Close
コピペするセルには値や数式はありません。オブジェクトだけです。CADの方がいいのですが、
fusion360などは一切ダメなのです。MAPファイルとALL_MAPのRangeは同じです。
よろしくお願いいたします。Excelは表計算ソフトであってドローイングソフトじゃないのですが。 >>485
自分の脳内設定が他人にも見えてる前提で語るのはやめよう
あまり理解していない単語で説明しようとするのも相手に混乱を招くのでやめよう
とりあえず主旨と思われる、
>RangeをALL_MAPの別シートにあるセルの値を変数にする
はそのコードのどの行でどういう動きをさせようとしてんの >>485
不明な点
なんで環境変数USERNAME使わないの?
不満言ってるって事は職場で仕方なくだろ
他人に引き継ぐとか考えないん?
別シートにあるセル参照したいならシート名添えるだけだろ?あるいは名前定義
そもそもMAPが画像ならその画像ファイルを貼り付けるればええやん?
わざわざマクロ付きエクセルデータファイルを弄る理由がわからない EXCEL今まで工事やりたい時とか物品購入してもらうために稟議書作ったり
テナントに○○日工事やるからヨロシク〜っみたいなお知らせしか作ったことなく
来月から現場じゃなく本社に行かされEXCELやるような事務方の仕事なりそうなんです
けど、本当素人からEXCELやるのにオススメのサイトとか参考書ってあるでしょうか?
自宅にはofficeないのでLibreOfficeで少しでも今から練習しようと思ってまして…。 >>488
https://www.becoolusers.com/excel/lesson-basic01.html
1ヶ月使える体験版で練習すればいいよ
それに、仕事に必要な知識は会社で教えてくれるのが普通
あと、Officeのバージョンが違うと画面構成があちこち変わるんで、そればかりはどうしようもない >>483
最終列番号 = 1
On Error Resume Next
最終列番号 = WorksheetFunction.Match(Null, Me.Rows(行番号), -1)
On Error Goto 0
MsgBox Me.Cells(行番号, 最終列番号).Value >>488
Libreは互換性はあるが多少勝手が違うからExcel知らないなら混乱の元だと思う >自宅にはofficeないので
投資だと思って買っちゃうとか・・。 >>489>>492>>493
なるへそ、フリーのだと全くの初心者は厳しいそうなんで1ヶ月無料のでやった方が
良さそうですね…。
https://www.becoolusers.com/excel/index.html
今の所毎日↑のサイトとLIBREで仕事終わった後四則演算とかグラフ作ったり何となく
やってるんですけど1ヶ月フリーOffice入れるとしてどんな本とかサイトでやってけば
少しは役に立ちそうでしょうか? ショートカットをマスターするのもいいかもな
車で例えるのなら道はさっぱりわからんけど運転技術は高いみたいな >>495>>496>>497
現場一筋だったんですけど資格勉強にはまり宅建とか簿記2等取ってしまったせいで
向こうも勝手にできるやつだと思ってるせいか内勤になる感じで本当EXCELとかは
サッパリでして…。
確かに内勤なって一から実際にやってみるのが良さそうですね…取り敢えずoffice1ヶ月
フリーので↑に載せたサイトみたいなの見ながら触ってはいようと思います!
レベル低すぎる質問にも関わらず色々教えていただきありがとうございました! >>498
とりあえず詳しくないことを伝えるのが先では… SUMが使えて、罫線が引けて、色を染められて、印刷が出来れば大丈夫だと思うよ。
周り全員がプログラマーとか、極端な状況でもない限り。 >>498
一番覚えた方がいい関数はSUMPRODUCT
これだけでいい >>501
SUMだよ
まずSUMPRODUCTとかただの自己満足 >>503
sumproduct関数解ってなさそう サムプロダクトって、式を1セルにまとめられるってだけでしょう? テーブルとINDEX(MATCH(),MATCH()) {INDEX(MATCH(A&B),MATCH())}
とかも。 中途半端な知識のやつほど無駄にややこしい式を作りたがる >>506
もっと勉強したほうがいいというのと
初心者も混じっているような多人数での仕事をした経験がない事はわかった SumproductはSumで代用出来るから
Sum関数を極める方が良い >>513
式をダブルクリックしちゃって「あれ?エラーでたよ!エラー!なんだよこれふざけんな!」
ってなりそうだからSUMの配列はSUMPRODUCTにしてる 配列数式って操作が難しいけど
それに名前つけてしまえば
Sumproduct使わないでもいける
初心者も迷わない かも ゼロで始まる数字を入れるとそのゼロが消えて困っておる。
だれか対策方法がわかる者はいないのか?
この馬鹿モンが! >>516
Excelのセルの表示形式がデフォルトの「標準」だと、
少数以外で、頭が0で始まる数字列は、数字ではないと認識するから。
頭 0 を表示させたいなら、
1. 入力するとき、頭に ' を入れて文字列認識させる
2. セルの表示形式を文字列にする
3. セルの表示形式をユーザー定義で、0000 (4桁の場合)とする
3.の場合は、表示は 0123 でも文字認識ではなく、
整数の 123 としてそのまま計算が可能だよ、
Excelの、というかスプレッドシートの基本中の
基本も知らない、調べようともしないトンマさん。 デフォルトの設定通りテキストアラインは、文字列は左寄せ、数値は右寄せが基本的には見栄えがいいのに誰も彼もどこもかしこもが真ん中寄せ大好きなのって何か理由があるのかね? >>518
真ん中にすると
罫線から離せて見易いからかのう
それならインデント付けるべきかと
特に数値は桁揃えしてないとみにくいし ただのう、エクセルのインデントはおおまか過ぎるとは思う
もっと細かく指定したい >>512
>もっと勉強したほうがいいというのと
不要。
SQLで集計するから。 0を消す機能はあっても良いけど、消えるのがデフォってのが面倒臭いんだよな。
このせいで、001とか入っているCSVを編集・保存する時は、
いちいちテキスト取り込み機能使うか、メモ帳で編集しなきゃならん。 3/4 → 3月4日 勝手に日付にすんなボケ! とか 国産じゃないからな。
日本人の考える親切とはズレてるんじゃないだろうか。 >>521
sumproductは集計だけに使うわけじゃないよ
そうか、集計だけにしか使ってないのなら
確かにsumで充分ってセリフも出てくるわなw ▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 無理
よろしくお願いします。A1:B20に入力済みの検索キー(10進法)。
A列は上限値、B列は下限値、AnとBnで一対です。
E1:F1000のE列に検索をかけ、検索キーごとに該当する複数行のEn*Fnの和を求めたい。
E列は整数のみ、F列は整数と小数10^-8の混合記載です。 >>527
検索キーとか言っといて範囲なのか…
=SUMPRODUCT(($E$1:$E$1000>=A1)*($E$1:$E$1000<=B1),$E$1:$E$1000*$F$1:$F$1000) >>519
1.何でもかんでも真ん中寄せ
2.セル結合大好き
3.表というものは縦横の罫線で囲まれているもののことをいう
4.そうだ!間に空白行を挟めば綺麗で見易い表の出来上がり!
奇数番はともかく、そこから更に分析が必要な資料に偶数番を施されて殺意を覚える方が現状では少数派なんだろうな 見てくればかりに時間使ってるのは、
日本の生産性が上がらない原因の一つ。
そんなことより、
ピボットテーブルだのPower Query覚えたら? 5.項目が被ってるものはいちいち書くより空欄にした方が見易いよね
6.そうだ!業者別に表を別々に作ろう!縦に列べるより横に並べた方が綺麗だな
7.日付はドットで区切るに限る(キリッ!)
8.何だここ?=ぶいるっくあっぷ何とかかんとかのファルセ?まあ、いいや!取り敢えずこのセルには100と入力と♪
もう全部自分でやるからあなた何もしなくていいよ
という思いを全く抱かないのは懐が深いか甘いか鈍いかのどれかだな 液晶の解像度がHDからFHDに変わった人結構いますよね?
以前より若干文字が太字に変わってしまったと思うんですけどそのまま使ってますか?
慣れるしかないのかな。 >>530
俺は君寄りの考えだよ
セル内の余白というかインデントというかが
細かく設定できないので1行、1列置きにデータ入れてるエクセルの表見ると
殺意さえ覚えるもん それもこれもエクセルにレポートの機能ないから
アクセスのようなレポートでも作れれば
かなりスッキリする アクセスの様なレポート作れたら
アクセス辞める人多いと思われ
イラストレーターの差し込み印刷となるデータ駆動グラフィックは
帳票作れんし >>524
表示形式というか中身そのものを変えてくるのがうざいわ
例えば1E00って入れたら勝手に1.00E+00にしてくるし 表計算することを目的としてるんだから数値として扱われたくなければ全て文字列書式に変えておけということ >>537
Excel用Markdownマクロ需要ありそう >>533
画面サイズは関係ないよ
パソコンを買い替えたんでしょ
Windowsはバージョンによって標準のフォントが違うんだよ >>539
正論ですね
アクセスとかはフィールド属性を適切にしとけば
変な変換一切なしで貼り付けられるし >>534
「Windows10フォントが汚いので一発変更!」
というツールおすすめ 最近エクスプローラーでエクセルに紐付けられたファイルを選択するとこんなエラー出るんだけど(多分プレビュー失敗?)
タスクバーのアイコン的もエクセルのものなのでエクセルのエラーなのは間違いない
解決法ってある?
心当たりとしては別々のアカウントに紐付けられた違うバージョンのofficeを複数インストールした事だけど(それから起きるようになったので)
もうアンインスコ済みで今入ってるの一つだけだしどうしたらいいのかわからん
https://i.imgur.com/FL91zHc.jpg >>544
今入れてるOfficeも再インストールしてみる >>545
後出しで申し訳ないがそれも試した
officeを全てアンインストールした上で再度一つのバージョンだけインストールしたけど駄目 >>546
解決するか分からないけど、参照設定でチェックマークの入ってるライブラリは何になっていますか?
なお、参照設定について不明なら
Excel 参照設定
でググって >>546
https://eijiman.com/office-uninstall/
>【超簡単】Microsoft Officeを完全にアンインストールする方法
通常のアンインストールだけだと、不完全なんですよ。
MS謹製のツールを使わないといけないんす。
アンインストーラのバグともいう 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
本日、PCを日常的に使ってるというだけでデジタル音痴の社長から
触ったことも無いエクセルで指定品番で素材の総数出力ができるデータベース作ってくれと命じられて困ってます
1時間ほど適当に触って見てとりあえず最低限のデータベース作りは解りましたがそこから数値の抽出をする段階でもはやちんぷんかんぷんになってしまいました
解説サイトを見てても痒いところに手が届かないというか私の目的に合致したものが見つけられず・・・
さすがに5chのレスで全部教えてもらえるもんじゃないのは解ってるので
「それを学べる本やサイトはこれだよ」っていうアドバイスもここで受けられますでしょうか?
そもそも「それエクセルじゃできねーよ」って可能性もあったりしないのかと困ってます。
具体的には
A品を作るには材料1-A,2,3が必要
B品を作るには材料1-Bが2個,2,4が必要
C品を作るには材料2,3,4が必要
(材料は200種ほどになるので入力はまだですがとりあえずここまでの票のベースはできました)
ここから
A品100個 B品100個 C品100個を入力すれば
材料1-Aが100,材料1-Bが200、材料2が300、材料3が200、材料4が100の結果が一覧表示され
もしできるならその一覧表示だけをプリントアウトしたい
これが学べるところってありますでしょうか? >>549
excelの講座サイトはたくさんあるから集計とか抽出で調べれば出るんじゃないかな >>549
indexとmatchの組み合わせだけ覚えれば出来る
sumproductならもう1段階上にいけるけど難しそうだね めっちゃ調べまくってました
>>551
この計算式や別シート参照とかどうすりゃいいんだ〜ってレベルで調べまくってました
本当にありがとうございます
これをベースにして作ってみます
自宅サビ残しなくてすみますw >>555
式をダブルクリックしちゃって「あれ?エラーでたよ!エラー!なんだよこれふざけんな!」
ってなりそうだからSUMの配列はSUMPRODUCTにしてる 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
質問です。
任意の入力済みのセルをクリックすると、入力内容は数式バーにも表示されます。
で、数式バーの入力内容の任意の場所で上方にドラッグ&ドロップすると先頭まで、
下方にドラッグ&ドロップすると末尾まで範囲指定できますよね?
それが急にできなくなったという現象です。
解決法をご教示いただきたし。 >>558
セルをダブルクリックしててセル内編集状態になってるとか
それとドラッグ&ドロップの使い方おかしいたぶん意味間違ってる >>559
マウスの方がはかどるんですよー、すみません。
>>560
セル内編集状態になっていなくてもです。
それから、「ドラッグして放す」が正しいですね、すみません。
引き続きよろしくお願い申し上げます。 キーボード操作駆使できるようになれば作業効率が数倍は変わってくるからキーボード操作に慣れたほうが良いよ >>562
キーボードに変えても現象の改善はしないぞ >>541
EXCELのフォントは同じ「MS P ゴシック 11」なんですが(´・ω・`) >>565
ClearTypeテキストチューナーはもう試した? >>562
今後、勉強したいと思います。
>>564
毎回です。
そもそも、この機能、活用している方も少ないようで、
長年慣れ親しんでいたのですが、
数か月前からパタッとつかえなくなったのです。 >>566
やってみたけどダメでした。
その設定は文字の滲み程度しか解消されません。 >>567
どこかのタイミングで数式バーが多段に伸ばせるようになったから、そこらへんで何か変わったのかもね。
キーボードでやるなら[Shift]+[Home]で前半選択で[Shift]+[End]で後半選択になるよ。 同列にある項目名「りんご」「青りんご」については全て「果物」とする、みたいなことをたくさん紐づける良い手はありますでしょうか?
現状はsubstituteで入れ子を重ねており、文字を変換させた列を追加しているのですが、64を超える種類があり適応できません。
また、「青りんご」が「青果物」になってしまい一部の変換がうまく行かず困っています。
何卒よろしくお願いします。。。 >>571
纏めたいリストが別にあるならCountifでもMatchでもして0以上なら果物という式にすればいい >>567
MSアカウント持ってるならMSのフォーラムで質問してみるとか >>572
別にリストがあるわけではないんですが、matchは知らなかったので調べてみます >>571
そのシートに
品目
りんご
青りんご
といった列があるなら
それをテーブルに変換し
さらに、次のようなテーブルを用意して(品目は主キー)
品目,種類
りんご,果物
青りんご、果物
大根、野菜
小松菜,野菜
その二つのテーブルを結合させれば良い。
テーブルの挿入方法や結合方法はググれば出てくる。
もし、Accessが使えるなら、そっちの方が楽に作れるけどExcelでも可能 2019ですがライセンスオーバーで使えない場合、インストール後は何日ぐらい使えますか?
またライセンスを削除したいPCが故障している場合はどういう流れになりますか? >>578
楽な方法は無いので大量じゃないなら考えてる間にさっさと手でコピペした方が速いと思う
データがA1から入ってる場合
C1 =INDIRECT("A"&ROW($A1)+9*(COLUMN(C1)-COLUMN($C1))) >>575
テーブルやその結合含め調べてやってみて、これVLOOKUPでいいじゃん!となって目が覚めました。
遅くなりましたがありがとうございました。 ある作業の期限を2020/10/10のように入力しました。
各月の作業回数を出したいので
=Countif(A1:A100,”2020/10/*”)
と数式を入力しましたがうまく数えてくれません。
なぜでしょうか。 >>582
日付は文字列ではなくてシリアル値になってるから >>582
日付を入力すると、エクセルはシリアル値にして記録します。
試しに、日付の入ったセルのどれかのセルの書式を”標準”にしてみてください。
5桁の数字が表れるはず。
一方、計算式の中に"2010/10/*"と指定したのは文字列の部分一致なのでうまく行きません。
計算式じゃないけど、一番簡単なのはフィルターを利用すること。抽出条件を年と月で設定でき、
○○レコード中、○○個が見つかりました と表示されます。 >>582
よくわからないのですが
1 A列のその範囲には日付が入っているのですか?
2 期限とやらは、どのセルに入れたのですか?
3 その式は2020年10月に該当する日付をカウントしようというものですか?日付を文字列にしてもそれしか得られませんが
それと作業回数とやらの関係は? >>584
countifで出た値をもとにした各月毎の作業回数グラフを作成したいのですがどうにかならないでしょうか? >>585
>>>582
>よくわからないのですが
>1 A列のその範囲には日付が入っているのですか
>2 期限とやらは、どのセルに入れたのですか?
>3 その式は2020年10月に該当する日付をカウントしようというものですか?日付を文字列にしてもそれしか得られませんが
>それと作業回数とやらの関係は?
1. A列には作業の実施期限が入力されています
2 A列に期限が入力されています
3 各月の作業回数を出すための数式のつもりです >>586
関数使うより、ピボットテーブル使う方がラクだし
知識としても今後覚えておいて損はない >>584
COUNTIFSでいけるんじゃないかな
=COUNTIFS(A1:A100,">=2010/10/1",A1:A100,"<=2010/10/31") >>586
=SUMPRODUCT(((YEAR(A1:A100)=2020)*(MONTH(A1:A100)=10))*1) >>463
HPからコピペしてデータベース化するので... HPにある表をクリップボードにコピーする
貼りつける用のシートと
そのシートの行列入れ替えたセルを参照する式を入れた別のシートをを用意しとく 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 不可
A1セルに(0.1.2.3)から1個の数字を選ぶ
A2セルに(0.1.2.3)から1個の数字を選ぶ
A3セルに(0.1.2.3)から1個の数字を選ぶ
A4セルに(0.1.2.3)から1個の数字を選ぶ
A5セルに(0.1.2.3)から1個の数字を選ぶ
A6セルに(0.1.2.3)から1個の数字を選ぶ
全部で4x4x4x4x4x4=4096通りになりますが、全ての組み合わせパターンを表示する方法はありますでしょうか? >>594
A1からA6セルにかけて云々は置いといて、6ケタの4進数をシートに表示するヒントです。
A列(10進数で例えれば10万の位)〜F列(10進数で例えれば1の位)に出力すると仮定します。
F1セルに=MOD((ROW()-1),4)と入れて下方向へフィルコピーしてください。
0,1,2,3,0,1,2,3・・・と繰り返すはずです。
E1セルに=MOD(INT((ROW()-1)/4),4)と入れて下方向へフィルコピーしてください。
0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,0,0,0,0,・・・と繰り返すはずです。後はわかりますね。 >>594
それぞれの組み合わせをA1,A2,A3のように縦に並べるより
A1,B1,C1のように横に並べた方がいいよ >>595
そこから先が分かりません。。
>>596
ですね
横に並べてみます >>597
A1からF4096まで、全部のセルにこの式を入れるだけでできるよ
=MOD(INT((ROW()-1)/(4^(COLUMN()-1))),4) >>597
595です。続きを書きます。
D1セルに =MOD(INT((ROW()-1)/(4^2)),4) と入れてフィルコピー、
C1セルに =MOD(INT((ROW()-1)/(4^3)),4) と入れてフィルコピー、
B1セルに =MOD(INT((ROW()-1)/(4^4)),4) と入れてフィルコピー、
A1セルに =MOD(INT((ROW()-1)/(4^5)),4) と入れてフィルコピーします。
0〜3の繰り返しの周期を右から(1の位から)左へ4,16,64,256・・と4の"べき乗"で増やします。
1行目は 000000
2行目は 000001
・・
4095行目は333332
4096行目は333333になります。
なお、>>598さんの計算式では割り算の分母の部分が私のやり方と逆になるので、
2行目は 100000
3行目は 200000 という風になります。
A1からF4096まで全部同じ計算式にしたいのであれば、
=MOD(INT((ROW()-1)/(4^(6-COLUMN()))),4) でいいです。 >>599 の下から2行目は、
595のやり方で計算式を全部同じにしたいのであれば
という意味です。 >>598-600
ありがとうございました
無事に出来ました 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
ピリオドを複数使ったプロダクトナンバーを表示させたい。
12345678W123と入力したら123.45.678W.123という風にしたいのだが
書式のユーザー定義にどう書けばいいですか? >>603
ウッ…そっか…orz
素直にMIDと&"."で関数書きます。あ〜〜〜めんどくせえええ…(><) よろしくお願いします。
【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2019
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
各A列とB列に4桁の数値(0以上の整数)が入っていて、C列でその多い方の記号を表示したいです。
A列が多ければC列に×、B列が多ければC列に○です。 >>605
「多い」って数値の大小のことを言ってるのか? >>606
はい、数値の大小です。A列2756とB列5335ならC列に○と出したいです。 =IFS(A1>B1,"×",A1=B1,"▲",A1<B1,"○") >>609
C1=IFS((A1-B1)>0,"×",(A1-B1)=0,"▲",(A1-B1)<0,"○")
または
C1=IF((A1-B1)>0,"×",IF((A1-B1)=0,"▲",IF((A1-B1)<0,"○"))) >>610-611
ありがとうございます。違いがわかりませんが使わせて頂きます。
カオモジにみえるのかわいいw 素直な版
C1: =If(B1 < A1, "×", If(A1 < B1, "⚪", "△"))
俺なら
C1: =Choose(Sign(A1-B1)+1, "⚪", "△", "×") =SWITCH(SIGN(A1-B1),-1,"○",1,"×",0,"▲") よろしくお願いします。
【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
A~Xまでの数で、それぞれの数を足して出せる全てのパターンを確認したいです。
例えば、1,5,9,15,24という数があった場合、小さい方から
6,10,14,15,16,21,24,25,29,30,33,34,38,39,40,44,45,48,49,53,54です。
数が多くなると人力で探すのは難しいので、なにか方法はありますか。 そういえばswitch関数ってExcelでも使えるようになったんだね
2013で止まってますわ >>616
A1からA32にこの式を入れると一覧ができる
あとは重複を除くだけ
=MID(DEC2BIN(ROW()-1,5),1,1)*24+MID(DEC2BIN(ROW()-1,5),2,1)*15+MID(DEC2BIN(ROW()-1,5),3,1)*9+MID(DEC2BIN(ROW()-1,5),4,1)*5+MID(DEC2BIN(ROW()-1,5),5,1) 1,5,6,9,10,14,15,16,20,21,24,25,29,30,33,34,38,39,40,44,45,48,49,53,54
じゃないの?
必ず2個以上足さないといけないって条件? >>618
ありがとうございます。
>>619
すいません、単純なミスです。 >>616
A B C D E
1,5,9,15,24
0,0,0,0,0
0,0,0,0,1
0,0,0,1,0
0,0,0,1,1
..
1,1,1,1,1
のマトリックス作って
F2に=$A$1*A2+$B$1*B2+$C$1*C2+$D$1*D2+$E$1*E2
入れて下にコピー
昇順にソートして、重複データ無しにフィルター
でもええと思う。
完全に力業やな =SUMPRODUCT({24,15,9,5,1}*MID(DEC2BIN(ROW(),5),{1,2,3,4,5},1))
>>618 >>625
こういう式ってどうやったら思いつくんだ?
途中の配列の使い方とかサッパリわからんわ 多分プログラマー。
Excelの関数に詳しい程度では思いつかない。 式の前に欲しい答えに辿り着くためのアルゴリズムを組み立てる VBAで書いた方が楽だけど、会社の偉い人たちも使うファイルだからマクロ使うわけにはいかんよなぁって時に、
無理矢理ワークシート関数に置き換えるとそんな感じになる。 SUMPRODUCTの中にMIDとかよく思いつくな
これならCHOOSEの代わりにも使えそう
ただし{1,2,3,4,5}よりは{5,4,3,2,1}のがいいんじゃないかな 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2019
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
日付を判定する関数を教えてください。
A2に年/月、D2に年、E2に月、F2に日が入っています
(A2は"19/11"のような形で入っています)
IF関数を使って↓の式を作りたいのですが
G2=IF(A2の月の前々月の21日〜前月の20までの間の年月日,"","")
H2=IF(A2の月の前月21日〜今月20日までの間の年月日,"","")
それぞれの論理式を教えてください。 >>631
=IF(AND(DATE(YEAR(EDATE(A2,-2)),MONTH(EDATE(A2,-2)),21)<=DATE(d2,E2,F2),DATE(YEAR(EDATE(A2,-1)),MONTH(EDATE(A2,-1)),20)>=DATE(D2,E2,F2)),"","")
=IF(AND(DATE(YEAR(EDATE(A2,-1)),MONTH(EDATE(A2,-1)),21)<=DATE(D2,E2,F2),DATE(YEAR(A2),MONTH(A2),20)>=DATE(D2,E2,F2)),"","") 【1 OSの種類 .】 Windows8
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
列Aに値が入っていて、C列に日付が入っています
列AにA2と同じ値がある行のC列の中で、最も新しい日付を返す式を教えてください。
(Excel2007なので=MAXIFS(C:C,A:A,A2)は使えません) >>633
日付でソートしといてA列にフィルタかける >>634
オートフィルで関数をコピーしたいのと、他のセルにソートすると困る値があるので、関数でお願いします
訂正
×日付
〇年月日
でした >>633
{=MAX(IF(A:A=A2,C:C))}
Ctrl + Shift + Enter を押して数式を確認する必要があります アスタリスクのみが入ったセルのアスタリスクを削除するにはどうしたらいいですか? アスタリスクがワイルドカードじゃないやつなら消せるんじゃないの。
SQLとか。 置換で「~*」を空白に置換でいいんじゃないの
Excelのエスケープ記号は「~」 >>642
Excelの「検索時の」エスケープ記号だ >>630
どう考えたって{1,2,3,4,5}のままでいいだろ 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel365
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
最近excel365使い始めたばかりですスピルの機能がよくわかりません
昨日sheet1のB2セルに=vlookup(A2,Sheet2!$A$2:$B$10,2,false)と入力したところ
B列の3行目以降最下行まで=vlookup(A2,Sheet2!$A$2:$B$10,2,false)とスピルされました
各行のA列でvlookupしたいんですけどA2固定なのは仕様ですか?
ただ今日全く同じことしたつもりですがスピル自体されませんでした
スピルの発動条件が判りません >>645
B2 =vlookup(A2:A5,Sheet2!A2:B10,2,false) >>645
ごめんなさい間違ってました
【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel365
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
最近excel365使い始めたばかりですスピルの機能がよくわかりません
昨日sheet1のB2セルに=countif($A$2:$A$10000,A2)と入力したところ
B列の3行目以降最下行まで=countif($A$2:$A$10000,A2)とスピルされました
各行のA列でcountifしたいんですけどA2固定なのは仕様ですか?
ただ今日全く同じことしたつもりですがスピル自体されませんでした
スピルの発動条件が判りません >>646
ごめんなさい
正しくは
>>647
です 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2019
【3 VBAが使えるか .】 超余裕
【4 VBAでの回答の可否】 可
EXCELを使い始めて20年になりますが、スピル機能を知りません。
それって何でしょうか? >>651
マジかwww
俺たちがズボンだと思っているものを、パンツとか言ってるんだと思ったわ。 スピルなんて聞いたのは、時空戦士スピルバン以来だろうか・・。 Excel for Office 365(バージョン:1910〜)
Excel Online 感覚的にはスピルでやるより各セルに数式書きたいけど、この感覚ってExcel信用出来ないから電卓で計算しろという老害と同じ感覚なんだろな
時代に取り残されないように新しいものを取り込んでいかなきゃな >>649
>>655
ありがとうございます
今excel365も該当のファイルも会社なので確認できていませんが
スピルについてくぐってみた限り=countif($A$2:$A$10000,A2:A10000)なら
スピルされて目的の結果が得られるのかな?と思うのですが
=countif($A$2:$A$10000,A2)でスピルされたりされなかったりというのが
よくわかりません
たまたま昨日ばぐってただけなんですかね? スピルが実用化されたら、ゴースト部分を無理矢理編集しようと無駄に格闘して時間潰す人達が続出しそうだな
ベタ打ちで式壊して焼け野原になるのは少しは減りそうか >>657
後者の場合されないはずなんだが…
あと絶対参照にする必要ない 関数?なにそれ?レベルの本当の初心者にオススメの参考書等あるでしょうか?
1冊買ってやってみようと思ってまして…。 >>661
ググって分かる程度のなら売ってる
逆に関数使って何をしたいのかと
なんとなくじゃ身に付かない 関数なんてググれば秒で終わるし、使う関数なんてたかが知れてるから参考書だと使いもしない関数色々紹介してそう 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
商品番号を打ち込むとvlookupで資材リストから商品名�K要資材名とその枚数が表示される表を10個作りました。
10商品分の必要資材一覧としてまとめて羅列した時に重複してる資材は1欄に纏めて合計値を表示させたいです。
統合を使うと商品切り替えた時に資材名まで反映されずに同じセルを参照し続けるせいで正しい必要数が追えません。
何かいい方法はありますか?
長文で失礼しましたが宜しくお願いします。 Excelのファイルの名前を日付だけ変えるように頼んでいるのですが
データのサイズが時々変わっています
これはデータの中身もいじっているってことでしょうか?
中身が同じでもサイズが変わるってありますか? スピルって
It is no use crying over spilt milk
のspillか >>665
どういう表から統合しようとしてるのか
統合元範囲はどう指定しているのか
を示さないからレスできんわ。 >>668
そうそれ、なんか溢れるっていうマイナスイメージ持ってしまうが >>667
ファイル名はファイルシステムの管理領域にあってファイルの実体とは直接関係ない
なのでファイル名の長さとかでサイズが変わることはない。
いじっているかどうかは比較してみればええやん。
どういうツールで比較できるかはスレ違いなのでググって >>671
わかりました
ファイルの量的に自分で探すのはきついのでツールあったら探してみます
ちなみに同じファイルでも保存すれば1000KBが1001KBや999KBになったりってありますかね?
データをダウンロードしたときに誤差で1KBずれるとかってあるのでしょうか? https://i.imgur.com/OjaoRtl.jpg
すいません、一応名前は仮にしてあります。
5ケタに数字打ち込むと別ファイルの資材リストから商品名なら資材やらが1〜10に表示されます。
商品ごとに資材の並びがバラバラ(同じ資材Aでも商品Aでは一番目で商品Bでは2番目など)です。
これで統合したあとに商品Aを商品Aに変えると、資材名とかは切り替わるのに統合のリンクは資材Aがあった一番上を見続けるという具合です。
5ケタを変えても同名の資材を合算表示したいんです 添付ファイル記載の表の左上から右下に向かって、-のセル以外の箇所に右の数字一覧を入れていくにはどういうマクロを組めばいいでしょうか?
https://dotup.org/uploda/dotup.org2008361.zip.html
イメージ
1 - ・・・
- 8
2 9
3 10
4 11
5 12
6 13
7 14 >>678
表の行位置が奇数か偶数で列番号の開始位置変わるようにして2ずつカウントアップすればいいんじゃね 横じゃなくて縦に入れていくのか、勘違いした
セルの値が"-"だったら飛ばせばいい 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
https://i.imgur.com/1cNE6Bk.jpg
こんな感じで名前がズラーっと並んでる列からリストの中の名前だけ抜いた数をカウントする方法を教えてください >>681
(1)counta関数で、A列の値があるセル数をカウントする。
(2)countif関数で、リストに該当があるセルの個数をカウントする。
(1)から(2)を引いたのが求める数 >>673
エクセル方眼紙か
そんなの使ってるから誤動作するんじゃね >>673
その統合元に対して上端行にチェックはおかしくない? >>672
ダウンロードするときに直接Excelで開いてるとか
セルに表示されている以外にもいろいろな内容がZIP圧縮されて保存されるから、Excelで保存する度に実際のファイル内容は変るよ
名前の変更もエクスプローラとかでやらないと、比較ツールのチェックも通らないよ >>673
まずエクセル方眼をやめて表の構造を単純にしたのち、ピボットテーブルを使う
各商品ごとの並びも横じゃなくて縦にすれば複数範囲にする必要もなくなるよ >>687
ピボットテーブル使ったら上手く行きました!ありがとうございました! >>683
それ間違えて書きこんだやつだから>>680をやれ >>674
Sub ボタン1_Click()
Dim i, j, k As Long
k = 3
For j = 2 To 7
For i = 3 To 10
If Cells(i, j).Value <> "-" Then
Cells(i, j).Value = Cells(k, 9)
k = k + 1
End If
Next i, j
End Sub
https://dotup.org/uploda/dotup.org2009064.jpg.html スピルでやっと表計算らしくなった気がする。
方眼紙とかに慣れてる連中は対応できずに慌てそう >>678
どんな用途に使おうとしてんだwwwww >>690
ありがとうございます
この場合、右下に42が入ったらそのまま次の表の左上に43から記入されるようにできないでしょうか? >>694
表の最後まで行ったらカウント戻せばいいだけでは 【1 OSの種類 .】 Windows 7
【2 Excelのバージョン 】 Excel 13
【3 VBAが使えるか .】 幼稚園児程度
【4 VBAでの回答の可否】 否
テーブルで ctrl+d したときに縞模様まで
コピーされる時と されない時がある。
されない方法を教えてください。
またテーブルですが 最終列に挿入すると
縞模様がちょっと違い、どうしても同じになりません。
テーブルの解除、再設定してもダメです。
教えてください。お願いします
【質問不可】で質問してしまった質問です。
よろしくお願いいたします。 >>697
幼稚園児からの質問じゃ、まともに答えなくて良いだろう >>695
すみませんよくわかりません・・
ちなみに記入の開始地点を任意のセルにすることはできますか? >>699
回答ろくに読んでないのか?iが行番号でjが列番号だろ… >>696
縞模様って何?
斜線の事か?
代替行の事なら奇数行と偶数行で交互にそうなるだけやん
手動で設定したいなら条件付き書式でやれば? そもそも代替行なんて行を罫線で区切る習慣の無いアメリカとかで上下の行の境を示すためだけのもん
だから行挿入で容易に背景色が変わるし
コピペの対象外となる
というかこんなまでコピペされたら鬱陶しいわ ちなみに条件付き書式ならともかく
手動で背景色を設定し
それに意味を持たせるのは
ある意味危険 >>697
二つ目の「最終列に挿入するとちょっと模様が違う」は
使用に問題ないし説明できる気がしないので
良いんですが、
下記が切実なのでおしえてほしいです。
同ブック内のAシートのテーブルでは上のセルをコピーしても
縞模様(背景色)はペーストされず、文字列、数値などはペーストされます。
これでOKなのですが
同ブック内で新規作成したBシートのテーブルでは
上のセルをコピーすると背景色までペーストされてしまい
見た目メチャクチャです。
なぜこうなるのでしょうか。 自分が見てる画面を他人も見てる前提の質問ほんと多いな… >>704
テーブルのデザインではなく元々そのセルの背景色が設定されてるからでないの >>707
「テーブルとして書式設定」をクリックして
選んだだけです
>>709
すごい手間です >>710
セルに背景色が設定されてるかどうかは確認した? >>708
エスパーさせといて余計なことは答えるなとか言われたりこっちは問題しか感じんわ A1に「りんご」と入力すると、
B2のハイパーリンクが「http://serch=りんご」
になるようにしたいのですが、B2にどのように記載すればいいですか? >>705
んなもん分かるか!
こういう情報小出しにする奴って大嫌い
勝手に悩んでおればええで >>710
その手間掛ければええやん。
俺ら全然損しないしなwwww >>713
=HYPERLINK("http://serch="&A1) >>713
B2 = HYPERLINK("http://serch="&A1)
じゃダメ? >>717
>>718
出来ました!
ありがとうございます! 同じような質問なのですが、A1に「りんご」と入力すると、
B2のハイパーリンクが「http://serch=りんご/abc.html」
にるようにするには、B2にどのように記載すればいいですか?
B2 = HYPERLINK("http://serch="&A1"/abc.html)
としても、なぜかうまくいきませんでした りんごをエンコードしないといけないんじゃなかったっけ >>720
HYPERINK("http://serch="&A1&"/abc.html")
>>721
エンコードって?
A1に文字列入ってるならこれでOKなハズだが
何か必要なの? >>720
HYPERINK("http://serch="&A1&"/abc.html")
>>721
エンコードって?
A1に文字列入ってるならこれでOKなハズだが
何か必要なの? >>720
&は文字列を結合する演算子
A1に文字列が入っていればそれを&で繋いだ文字列になる。
単純な話ですがな。
A1をわざわざindirect("A"&1)と書いても同じだが、意味は無い。 スピルが適用できる部分は
ベクトル化してる訳で
MSは将来的にはGPGPUによる演算高速化も
睨んでると思われ URLエンコードじゃね
今どきのブラウザなら文字列そのままURLにいれても勝手にエンコードしてくれるけど、古いブラウザだとURLと認めない場合もあったような >>726
Hyperlink関数をかませてあるんで問題ないかと
元々URLは只の文字列だしね >>726
んじゃ、エンコードすんのを
HYPERINK("http://serch="&ENCODEURL(A1)&"/abc.html") ちなみに、
千葉が台風15号でエラい目に遭ってたとき、
自治体の住所一覧
(例:千葉市緑区、千葉県南房総市安馬谷・・・等の列が入ったテーブル)
なんてテーブルの右側に
・Googleマップへのリンク
= HYPERLINK("https://www.google.co.jp/maps/place/"&[@地区所在地])
・Google検索へのリンク
=HYPERLINK("https://www.google.co.jp/search?num=50&q="&[@地区所在地])
で、エンコード不要でいけた。 HYPERINK(CONCATENATE("http://serch=",ENCODEURL(A1),"/abc.html"))
でもよいが、長すぎる >>699
https://dotup.org/uploda/dotup.org2011396.jpg
Sub 入力()
Dim i, j, k, l, c, r As Long
'アクティブセルの行と列を取得
c = ActiveCell.Column
r = ActiveCell.Row
'表の範囲内にあるか判定
If c < 2 Or 7 < c Or r < 3 Or 10 < r Then
MsgBox "範囲外です。", vbExclamation
Exit Sub
End If >>731
k = 3
For j = c To 7
For i = 3 To 10
'Cells(i, j).Select
'最初にFor Nextループに入った時、
'アクティブセルから入力開始するように、
'iの数値をアクティブセルの行にする。
If j = c And i = 3 Then
i = r
End If
'空白セルに表の右の数字を順番に入力
If Cells(i, j) <> "-" Then
Cells(i, j) = Cells(k, 9)
k = k + 1
End If
Next i, j >>732
For l = 0 To 1
For j = 2 To 7
For i = 13 + l * 10 To 20 + l * 10
Cells(i, j).Select
If Cells(i, j) <> "-" Then
Cells(i, j) = Cells(k, 9)
k = k + 1
End If
Next i, j, l
End Sub
Sub クリア()
Range("m3:r10").Copy
Range("b3").PasteSpecial
Range("b13").PasteSpecial
Range("b23").PasteSpecial
Range("b3").Select
Application.CutCopyMode = False
End Sub URLの日本語を16進にエンコードが必要かどうかはサイトごとに違う
エンコード不要だけどシフトJISは通らなくてユニコードに変換とか、色々あってけっこうめんどくさい もう
ユニコードに非対応の鯖もブラウザも使ってないだろうから
わざわざ%文字にエンコードしなくても良いかと思うんだが
どうなんだろう? 知らないなら何も書かなくていいから
回答以外興味なし >>736
お前が興味あるかどうかに
俺は興味ない 720です。皆様ありがとうございます。
多分私の例が良くなくて、うまく行かなかったので再度お助けいただきたく存じます。
やりたいこと
「A1」に「りんご」と入力すると、B2のハイパーリンクが↓のような、googleサイト内検索になる
https://www.google.com/search?&q=%E3%82%8A%E3%82%93%E3%81%94+site%3Ahttps%3A%2F%2Fkakaku.com
試したこと
>>723を参考に
=HYPERINK("https://www.google.com/search?&q="&A1&"+site%3Ahttps%3A%2F")
や
=HYPERINK("https://www.google.com/search?&q="&A1&"+site:https://kakaku.com")
>>728を参考に
=HYPERINK("https://www.google.com/search?&q="&ENCODEURL(A1)&"+site%3Ahttps%3A%2F")
や
=HYPERINK("https://www.google.com/search?&q="&ENCODEURL(A1)&"+site:https://kakaku.com")
>>730を参考に
=HYPERINK(CONCATENATE("https://www.google.com/search?&q=",ENCODEURL(A1),"+site%3Ahttps%3A%2F"))
や
=HYPERINK(CONCATENATE("https://www.google.com/search?&q=",ENCODEURL(A1),"+site:https://kakaku.com"))
これらすべてダメでした。
「+」が含まれていることが原因な気もしますが、どのように修正すべきかわかりません。 >>738
=HYPERLINK("https://www.google.com/search?&q="&A1&"+site:https:%2F%2Fkakaku.com") >>738
手入力で、価格ドットコムサイト限定で「りんご」をググるときは、
"site:"のアタマに"+"は要らなかった。
なので、" "(半角ブランク)にして、エンコード変換もせず、
B1 =HYPERLINK("https://www.google.com/search?&q="&$A1&" site:https://kakaku.com")
で行けたけど? 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
互換性チェックのメッセージが表示されるのを停止したい(保存時,キャンセル時)
旧バージョンExcelのExcelファイルを開いた後、保存または終了するとき「互換性チェック」のダイアログをアドインで出さない方法はありませんか?
↓が期待する方法と思われますが怖くてダウンロードできません
https://oshiete.goo.ne.jp/qa/6512314.html >>742
中身これだけだったな
setapp=〜の部分は良く分からなかったけど、単にイベントにかませるだけで行けるみたい
Option Explicit
Private WithEvents App As Application
Private Sub Workbook_Open()
Set App = Application
End Sub
Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, ByVal SaveAsUI As Boolean, Cancel As Boolean)
Wb.CheckCompatibility = False
End Sub 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
1つのエクセルファイルに複数のシート
[1][2][3]・・・・[49][50] (50ヶほどのシート)が
内包されているのですが、
これをそれぞれ別のエクセルファイル
1.xlsx (シート[1]の内容のみ入ってる)
2.xlsx (シート[2]の内容のみ入ってる)
3.xlsx (以下同上)
・
・
・
49.xlsx
50.xlsx
と分割して保存したいのですが
簡単な操作で可能でしょうか?
シートのタブを右クリック→移動またはコピー→移動先ブック名を(新しいブック)に→名前を付けて保存
と、1つ1つやるのが辛くなってきました >>746
もっとスマートな書き方があるとは思うけど。
Sub makebook()
Dim i As Long
Dim myShCnt As Long
Dim myDir As String
myDir = ThisWorkbook.Path
myShCnt = Worksheets.Count
For i = 1 To myShCnt
Sheets(i).Copy
ActiveWorkbook.SaveAs myDir & "\" & Sheets(1).Name
ActiveWorkbook.Close
Next i
End Sub >>746
ふぉぉぉ
日々のひと手間が楽になりそうです。
ありがとうございました。 INDEXはセル番地指定でoffsetは範囲指定だったような EXCEL2019でセルを複数選択するのに
コントロールキーとシフトキーの同時押しが効かないのですが
仕様が変わったのですか?
2010までは複数選択可能だったような気がするのですが。
ちなみにシフトキーだけで複数選択可能なのは知っています。 ctrl+shift+↓とかで連続した複数範囲の指定はするけど
最後をマウスで指定するならctrlは要らない
飛び飛びの複数セルを指定するならctrlだけでshiftは要らない
ctrl+shift+マウスを使う場面が分からない 同時に押しておけばシフトキーを離しただけで個別指定に移れるから。
実際2010までは出来たはず。 【1 OSの種類 .】 Windows 10
【2 Excelのバージョン 】 Excel 2010
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 否
E列に 「=A列*B列&" x "C列*D列」
という計算結果を表示させ
A列*B列の結果を赤字で表示
C列*D列の結果を青字で表示
という風にするにはどのようにしたら良いのでしょうか? E列に 「=A列*B列&" x "&C列*D列」
です。 抜けていました、すみません >>750
C14 =C2:G2
B15 =UNIQUE(B3:B12)
C15 =SUMIF(B3:B13,B15#,OFFSET(C3:C14,0,SEQUENCE(1,COLUMNS(C14#),0))) C15 =SUMIF(B3:B12,B15#,OFFSET(C3:C12,0,SEQUENCE(1,COLUMNS(C14#),0)) >>758
ごめん、14行目とB15:B19は入力規則で見たいデータだけ打ち込みたいのでuniqueは使えないんです
後からすみません 【1 OSの種類 .】 Windows 10
【2 Excelのバージョン 】 Excel 2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
列ごとに一気に降順で並べ替えをする方法を教えて下さい
行には各セルごとに1つずつ数字が入っています
行1 1234
行2 2546
行3 3457
これを
行1 3557
行2 2446
行3 1234
こうなるのが目標です >>761
VBA 使わないんじゃ無理
ソートするマクロ作って
列名だけ入れ替えてループだろうけど >>762-763
ありがとうございます
LARGE関数でやりたいことが出来ました
感謝します >>756
Excelには文字単位で色を変える機能なし
なので無理 >>756
セルの中の一部分だけ色を変えるのは自動では無理
手動でやるかVBAが必要
どうしても自動でやりたいなら
E列=A*B
F列=" x "
G列=C*D
みたいにセルを分けるしかない
VBAならこう
Sub Macro1()
x = Trim(Str(Range("A1") * Range("B1")))
y = Trim(Str(Range("C1") * Range("D1")))
Range("E1") = x & " x " & y
Range("E1").Characters(Start:=1, Length:=Len(x)).Font.Color = vbRed
Range("E1").Characters(Start:=Len(x) + 4, Length:=Len(y)).Font.Color = vbBlue
End Sub >>765-767
ご丁寧なレスありがとうございました。 マクロ入りの97-2003ワークシートを2010で開こうとするとvba コンバータが必要と言われマクロが機能しません
調べてみてもvba コンバータ自体がMicrosoftのページになかったりするのですが、解決策ないでしょうか? >>750
こんなに難しい式にするのはなぜ?
=sumif($B3:$B12,$B15,C$3:C$12)
をオートフィルじゃだめなの? >>770
何だそりゃwww
そんなの聞いたことないぞ。
内部的には全然違う意味のエラーなんじゃないか? >>772
要は古いバージョンで作ったマクロだから新しいバージョンでは動かないってことらしいですが、なんとかならないでしょうか、、 理想はマクロ含め完璧なファイルですが、マクロをコピーできるだけでもいいです マクロ自体は見れる?
・見れる:改修
・見れない:古い環境を再構築してなんとかして移植 開いたら即VBプロジェクトが失われだというメッセージが出てコードが全てなくなっており、全く読めないです・・ >>771
14行目は入力規則で変動にしたいです
あとその式だと右にオートフィル出来ないんで 特定の日付から本日まで何年何ヶ月経過したかを表示させたいですが、
表示を2桁にできなくて困っています。
「A1」に「2017/04/03」
「B1」に「=DATEDIF(A1,TODAY(),"y")&"年"&DATEDIF(A1,TODAY(),"ym")&"ヶ月"」
と入力すると、「2年8ヶ月」と表示されてしまいます。
この表示を「02年08ヶ月」にしたいのですが、どうすればよいでしょうか? セルの形をひし形にするにはどうしたらいいですか?
表の一番上をひし形にしたいです。 >>779
=TEXT(DATEDIF(A1,TODAY(),"y"),"00")&"年"&TEXT(DATEDIF(A1,TODAY(),"ym"),"00"&"ヶ月") >>780
セルそのものは長方形から変更できないから、オートシェイプで囲むとか画像を貼る WindowsAPIとか使って出来ないのかな。
メニューの文字を変えるくらいなら、それで出来るんだけど。 対象が複雑でここでは相談しにくいので、メールで相談に乗ってくれる神はいませんか
krmwel@じーめーる >>784
さすがに度が過ぎんだろ
パソコン教室にでも行って来い もう作ってもらった方が早いだろw
金払えば良いじゃんw 関数が入っていないのにfalseが入っているセルがあります
このセルに影響を与えるセル(要はなにが起こればtrueになるのか、ならないのか)を調べる方法はありますか? Excelを開くとExcelの中にExcelが開かれるのですが、これを独立した別のExcelとして別々に開くにはどうしたら良いですか?
((´aωa`)(´eωe`))ではなく((´aωa`))((´eωe`))こういう感じにしたいです MDIとSDIじゃないの
>>790
エクセルで何かファイル開いた後、エクセルのアイコンをダブルクリック Wordを開くとWordの中にWordが開かれるのですが、これを独立した別のWordとして別々に開くにはどうしたら良いですか?
((´・ω・`)(´・ω・`))ではなく((´・ω・`)((´・ω・`)))こういう感じにしたいです >>792
(´;ω;`)
>>793
ありがと明日会社でやってみる(`・ω・´)
>>794
ちょっとカッコ多いな。 質問する時は相手に伝える気持ちを持って質問してほしい 期間計算に当たり、年に満たない期間に閏年が含まれているか否かを判別するにはどうしたらいいでしょうか。
例えば、
平成3年8月2日〜平成5年8月15日(平年)について、
平成3年8月2日〜平成5年8月1日までで,2年間
平成5年8月2日〜平成5年8月15日(平年)までで,14日←この14日間に閏年は含まれていない
平成3年8月2日〜平成5年7月15日について、
平成3年8月2日〜平成4年8月1日までで,1年間
平成4年8月2日から(閏年で)〜平成4年12月31日まで,152日←この152日間に閏年は含まれている
平成5年1月1日から(平年で)〜平成5年7月15日までで,196日 A1 平成5年8月2日
B1 平成5年8月15日
C1 =OR(MONTH(DATE(ROW(INDIRECT(YEAR(A1)&":"&YEAR(B1))),2,29))=2) >>798
>>799
ありがとうございます。助かります。
追加で恐縮ですが、期間計算に関する ktDATEDIF関数の初日参入省きverについて、
下記の部分がどうしても理解できません。
解説いただけないでしょうか。
(ulrが貼れないので文章で失礼します)
'注)[DateDiff関数]自体は初日不算入で処理している
から
If (intDay_in_Year > 0) Then
intFracDays = DateAdd("yyyy", 1, wkDate) - wkDate '365 or 366
End If
End If
まで >>797,799
A1 平成3年8月2日
B1 平成5年8月15日
C1 =AND(DATEDIF($A1,$B1+1,"yd"),OR(MONTH(DATE(ROW(INDIRECT(YEAR(EDATE($A1,12*DATEDIF($A1,$B1+1,"y")))&":"&YEAR($B1))),2,29))=2)) >>784
EXCEL系youtuberに相談したら動画にしてくれそう 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
B2のセルに以下のように自動入力したいです。
A1のセルに ABC の文字列を含む時、〇を返し、それ以外は×を返す。さらに EDF の文字列を含む場合は△を返す。
IF文とCOUNTIFを使って、〇を返し、それ以外は×を返すまではできましたが、 EDFの文字列を...のとこがうまくいきませんでした。 >>797
単純に
=(DAY(DATE(YEAR(A1),2,29))+DAY(DATE(YEAR(B1),2,29)))>2 >>803
△の返し方が特定できないけど
=IF(ISERROR(FIND("EDF",A1)) , IF(ISERROR(FIND("ABC",A1)),"×","○") , "△") とか
=IF(ISERROR(FIND("ABC",A1)),"×","○") & IF(ISERROR(FIND("EDF",A1)),,"△") とか
=IF(ISERROR(FIND("ABC",A1)) ,IF(ISERROR(FIND("EDF",A1)),"×","×△") ,"○") とか
... >>805
ありがとうございます。
応用して、FINDの中身を"EDF"もしくは"GHI"の時、△を返すみたいにしたいのですが、
ORなどを使ってもうまくいきません。
この場合どうしたらよいでしょうか。 >>806
応用で出来るだろ
まあswitch関数使った方がスッキリするが >>808
switch関数が使えないのですが... >>806
=IF(OR(ISNUMBER(FIND("EDF",A1)),ISNUMBER(FIND("GHI",A1))),"△",IF(ISNUMBER(FIND("ABC",A1)),"○","×")) >>810
ありがとうございます。応用が利きそうなものができました。 >>812
それを分からなくてどう理解しようとしてたんだ… >>812
どこが分からないのか示してくれないと
レスも付かないよ
なお、ぜんぶ説明しろというのは甘え過ぎ
そもそも、どうしてその関数の動きを理解したいのか
分からない
一応見てみたが順を追って変数の変動を追えば
理解できるな
ひょっとしてユーザー定義関数の追加方法も知らないとかか sumproductがスピル出来なくて困ってます
配列関数は配列数式じゃないからダメだよとかそんな感じなんですかね?
この画像をスピルしたいです
http://imgur.com/qa6tB3n.png
ちなみにこれならスピル出来ました
http://imgur.com/m2ygqwJ.png >>819
出来なかった
>>820
もちろん外したけど出来なかったんです >>817
=SUMPRODUCT((B15:B20=B3:B12)*(C14:G14=C2:G2)*C3:G12)
↓
スピル 出来ダメ
=(B15:B20=B3:B12)*(C14:G14=C2:G2)*C3:G12 ← SUM >>822
???
出来ませんでした
やっぱSUMPRODUCTやSUMだけではスピル出来ないんですかね… =MMULT(MMULT(-(TRANSPOSE(B3:B12)=B15:B19),C3:G12),-(TRANSPOSE(C2:G2)=C14:G14)) >>825
中のMMULT(〜)をINDEX(MMULT(〜),)にしてもダメですか? 【1 OSの種類 .】 Windows 7
【2 Excelのバージョン 】 Excel 2000
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
A1のセルに「200」と入力して別のB列の「5つ」のセルには 「30%」「40%」「30%」「数値無し」「数値無し」
と入力してある状態で、200を比率の割合で分割してC列に表示するのですがその場合返ってくる
表示が「60」「80」「60」「#VAUE」「#VAUE」となってしまいます。C列のセルには「IF(A1="","",A1/B1)」
となっています。この「#VAUE」表示を無くすにはどうしたらいいのでしょうか?
IF条件の中にB列にも無入力の場合は計算しないとやればいいのはなんとなく分かるんですが
その具体的な書き方がわかりません。AND関数を入れてもエクセルに怒られます。
初心者ですみません。 >>827
=IF(B1="","",A$1*B1) >>828
ありがとうございます。早速つかってみたら上手くいきました。
びっくりしています。 >>829
ありがとうございます。知らない関数ですが調べてみたら色々
使えそうですね。これもちょこちょこつかわさせて頂きます。 >>828すらわかってないのにどれだけ関数を知ってるつもりでいたんだよ… 関数を知っているのと使いこなすのとは別だからね
たくさん関数を覚えても頭が悪いと応用が利かない >>833
>>827は応用云々レベルじゃないだろw 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 否
簡潔に質問文をまとめるのが難しくて、どうか乱文を解読していただきたいのですが…
具体例の方が少しでも分かりやすいかと思い具体的に書きます
グラフの作成方法についての質問です
2019年度の個人売上表があるとします。月毎に集計されている売上です
(A列:1月,2月,3月…)
スタッフは複数人。仮にAさんBさんCさんの3人とします
(B列:Aさん, Bさん…)
グラフに入れたい要素は、α案件数・β案件数・売上額の3要素とします
(C列:α案件数)(D列:β案件数)(E列:売上額)
ただ今、E列以外の要素でグラフが作成済みです
縦軸目盛りは案件数、横軸は各月毎に各担当名が記載されているグラフです
α案件数+β案件数で積み上げ棒グラフになっています
https://hamachan.info/win7/Excel/tumigraph.html
このサイトを参考に作成しました
このグラフに各スタッフの売上額をそれぞれ折れ線グラフで追加したいのですが、
https://support.microsoft.com/ja-jp/help/954219
https://www.randstad.co.jp/careerhub/skillup/excel/20170322.html
このやり方では、うまく各担当毎の折れ線グラフになってくれません
何か上手い方法は無いもんでしょうか? グラフの項目名が縦書きになっている場合、pdfでエクスポートすると横書きに戻ってしまいグチャグチャで読めません
こちらの対策も教えていただけると嬉しいです! ある列のセルでエンターを押したら指定しただけoffsetさせるにはどう書けばいいですか? シートチェンジイベントで
a = ActiveCell.Row
b = ActiveCell.Column
で、Enter押したら、
Cells(a + オフセットしたい値, b + オフセットしたい値).Select
とか。 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
excelvbaで accessクエリのフィールド名と関連付いてるテーブル名の取得の仕方を教えてください。
A
1 テーブル名.フイールド名 >>840
enter押したらって表現ありますか? >>840
シートチェンジイベントだと値に変更があった時しか動かないと思うんですが、空白セルでenter押した時も動くようにできないですか? 【1 OSの種類 .】 Windows10 64bit
【2 Excelのバージョン 】 Excel2019
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
データベース用の表1のデータ情報をもとに、表2のデータの数値を出しています。
例えば、表1に証券会社毎の貸株料、権利付日(+受渡日)、権利落日(+受渡日)、東証の営業日等を入力(厳密には入力のみならず、関数を駆使して様々なデータを表示)し、
表2では銘柄一覧が表示され、本日から権利落日までの証券会社毎の貸株料、必要費用などが自動で産出されるようにしており銘柄選びをしています。
ところが表1、表2はセルの幅等も全く異なっており、同じシートで下記のように斜めにズラして表示させても、挿入や入れ替えなどの編集を行ったときに常に互いに干渉しないかチェックする必要があり、面倒です。
■□
□■
※左上の■が表2、右下の■が表1
そこで表1、表2を別シートで管理して他シートからの引用で何とかしようとしてみたのですが、
例えば同じシート内であれば表1の場所を移動したり、行を挿入して追加したりしても、それに合わせて表2の関数も自動で変更され不具合がなかったのが、
別シートにしてしまうと表1の位置を動かしたりするだけで表2でエラーが出現してしまい、自由に編集ができません。
これは元のように同じシート内に表示させておくしかないでしょうか。
もっとスマートなやり方がありますか。 >>846
基本的に別シートでも移動に合わせて式の参照は変わる >>846
表1と表2を別シートで作って、更に別のシートにそれぞれをリンク貼り付け 初心者で全く分かりません
【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
別ファイルからシート名を取得することは出来ますか? >>850
返信ありがとうございます。
例えば計画書のファイルが利用者ごとにあり、計画した年月をシート名にしています。利用者が数十名あり、更新の確認を1シートで確認出来ればと思っています。 >>851
年月でシートを分ける理由が分かりません。
シートに年月の欄を付けるだけでは駄目なのでしょうか? シートだけ12ヶ月分作ってる人がいたら意味なくね。中身見るべきでは? >>853
シート名取得したいって話と関係ない上にシートの内容も知らないのにそこケチ付ける必要あるか? EXCEL2019で子丑寅卯辰巳午未申酉戌亥をドラッグしたときの
オートフィル機能を無効にしたいのですがどこで設定すればいいですか? >>856
右でドラッグしたらただのコピーできるぞ >>856
>>857か、ユーザ設定リストから削除する >>856
子
子
と入力して子を2つ選択
オートフィル >>854
先にシート作ってある方が簡単なような
入力あるとTRUE
ないならFALSE
になるようなセル設定してindirectで状況表示するシート作って
各ファイルのシート状況を一覧表示すれば良いわけだから 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 否
ピボットテーブルでカスタマイズしたカラムを追加するとき、
フィールド名に改行が入っている場合はどのように指定すればよいでしょうか?
そのままだとエラーになります
・売上/顧客数 で子客単価を求めたい
・「顧客
数」
と改行されたカラムがある
=売上/ '顧客
数'
とすると、入力した数式は正しくありません
と出ます
それとも、改行が入ってると数式には使えないのでしょうか? 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 否
ピボットテーブルでカスタマイズしたカラムを追加するとき、
フィールド名に改行が入っている場合はどのように指定すればよいでしょうか?
そのままだとエラーになります
・売上/顧客数 で子客単価を求めたい
・「顧客
数」
と改行されたカラムがある
=売上/ '顧客
数'
とすると、入力した数式は正しくありません
と出ます
それとも、改行が入ってると数式には使えないのでしょうか? 横書きで2桁しか表示できないセルに2桁+小数点以下の数字を入れると四捨五入されて2桁の表示になってしまいます
セル内の設定で折り返して表示にチェックを入れても変わりません
自動で改行されて、縦2行で表示されるようにはできませんか?
いろいろ試してみたのですが自分では何をしてもうまくいきませんでした >>866
まず折り返して表示にチェック
次に書式設定の表示形式のユーザー定義で0.00と入れる
この時、小数点の直前でCtrl+Jを1回押す
と、こうなる
https://i.imgur.com/9uUH9uy.png >>858
ユーザ設定リストの背景が灰色になってて編集できないのですが
何か方法あるのですか? >>868
デフォのやつは消せないから、代りに子から亥まで一文字ずつ入れると実質無効化できるよ
多用は勧めないけど >>869
ありがとう。
めんどくさいからコントロールキー使います。 >>867
回答ありがとうございます
見た目はそれをしたいのです
ですがそのやり方を何度も試したのですができませんでした
自分に必要なのは小数点以下1桁なので桁数を減らして0.0でやったりもしたけどできません
文字サイズを小さくすれば改行無しで表示されるので多分何かが足りないのかもしれないです
折り返しのチェックは四角で色付きの状態ではなく普通のチェックマークで正しいですか?
小数点の直前でctrl+jは全てを打ってからではなく、12を打ってからctrl+jを押して、そのまま続けて.34で合ってますか? >>873
小数点以下1桁の場合はまたコマンドが違ったりするのですか?
軽く調べてみたんですが自分じゃ辿り着けなかったので教えていただければ助かります >>874
書式の所に「0」「Ctrl+J」「小数点」「0」の順に入力するんだよ 散布図で縦軸と横軸が正方形を作るように作りたいんですが、どうやったらできますか
縦軸が2.00〜-2.50、横軸が-4.00〜2.00
それぞれ0.5刻みで、その0.5刻みごとに交わるようにしたいです >872
こちらでしたか、ありがとうございます!命が救われました >>876
だいたいでいいんならマウスでがんばって正方形にする
正確にやりたい時はマクロでPlotAreaのプロパティを設定する あれ何だろな。
縦横同じ数字にしても正方形にならないの。 >>880
マクロの記録を使うとPlotArea.Height、PlotArea.Widthを再設定するコードが出てくるので、ここで騙される人が多い
このプロパティは軸ラベルまで含んだ領域の寸法が設定されるので、ラベルの設定状態によって縦横比が変わってしまう
プロットエリアの内側のサイズはPlotArea.InsideHeight、PlotArea.InsideWidthで設定できるから、ここに同じ値を入れればちゃんと正方形になる 会社で全員パソコン変えた。
昔使ってたエクセルシートを新しいパソコンで開いてコピーすると色が変になる(´;ω;`)
いつもの色で使いたいんだけどどうしたら良いの? >>883
(´;ω;`)つIありがとう明日の会議に間に合いそう! >>885
マクロ(VBA)を使わないと無理
TRUEかFALSEかを別の数式で使うなら、その式を工夫した方が早い excel のvbaでaccessファイルのマクロを実行することってできますか?詳細plzです >>886
ありがとうございます。VBAは少しできますが、チェックを入れるマクロができなくて積みました。 エクセルにハイパーリンクで貼り付けた画像を
通常の埋め込み画像に変換したいのですが、方法が分かる方がいましたらご教授ください。 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel 2019
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
シート'説明資料'のB45に基準となる年
シート'説明資料'のC45に基準となる月
式を使うシートのA2に年、B2に月、C2に日が入力されています。
そこで、シート説明資料の基準となる年月を基準(当月)として、
A2〜C2の年月日が、前月21日〜当月20日であった場合に、同じシートの
DK2の値を返す式を教えてください
以前に作っていただいた式を改良した↓の式だと、A〜Cの値が該当しても
DK2の値がが返ってきませんでした。よろしくお願いします。
=IF(AND(DATE(YEAR(EDATE(説明資料!$B$45&"/"&説明資料!$C$45,-1))
,MONTH(EDATE(説明資料!$B$45&"/"&説明資料!$C$45,-1)),21)<=DATE(A2,B2,C2)
,DATE(YEAR(説明資料!$B$45&"/"&説明資料!$C$45)
,MONTH(説明資料!$B$45&"/"&説明資料!$C$45),20)>=DATE(A2,B2,C2)),DK2,"") >>891
書かれている式で普通に値返ってくるけど↓でも良いのでは?
=IF(AND(DATE(説明資料!B45,説明資料!C45-1,21)<=DATE(A2,B2,C2),DATE(A2,B2,C2)<=DATE(説明資料!B45,説明資料!C45,20)),DK2,"")
値が返ってこないのであれば説明が間違っている気がする >>892
ありがとうございます。解決しかしたm(__)m =sum(if(a1=1,b:b,c:c))
のように、ifで参照先だけ変えるって見づらいですか? 別に問題ないとは思うけど、
=if(a1=1,sum(b:b),sum(c:c))
の方が見やすくない? =countif(if(a1=1,b:b,c:c),if(a1=1,b2,c2))
みたいになって見辛くなるし意味ないなぁって考えたことはある
よほど長い式の途中なら意味があるかもしれないけど、通常はあんまり意味ない場面が多い気がする ◯◯××
××
という二つのセルがあります。
◯◯は固定の文字ですが××は事案によって異なります。
シートから「◯◯」を検索することによって「◯◯××」セルを探し、そこから「××」のセルを検索し、「××」のセルの記載を「△△××」にするマクロを教えてください。
同じ結果になれば過程にはこだわりません。 >>898
マクロの記録をかけて、
Ctrl+F → ○○ → Alt+F → 置換 → TAB → ×× → TAB → △△×× → Alt+F → Alt+R → マクロ終了
出来たマクロの最初に
mm="○○"
ss="△△"
真ん中辺に
xx=Mid(ActiveCell.String,Len(mm)+1)
とか追加して、
"○○" -> mm
"××"-> xx
"△△××" -> ss & xx
とか置換えると、だいたいできるぞ 6メガぐらいのexcelブックが開くけど、カーソル動かしたり操作ができず、なにもできない。
どうすればいい?ファイルはあきらめられない ・性能のいいPCで開く
・根気よく待つ
・計算方法を手動にしてみる >>902
操作が固まってるなか、計算方法手動にするには、エクセル以外で開けるのですか? 拡張子をzipに変えてxmlになってるデータを引っこ抜け >>904
それをメモ帳で開いて、どのタグ変更するの? >>903
一旦閉じて、新しいExcel開いて手動にしてから開く >>901
別pcで開いて、中のシートを適当にうつして保存
・スプレッドシートで開いてみる
・ネとカフェのエクセルを使ってみる うちも2週間ぐらい前に開けないファイルがあって困った
10カラム*24万行のCSVで、気長に待ってたらExcelが落ちた
PCはi7にメモリ16GBでスペック的には十分のはずなのに 24万行のCSVなんてPowerQueryで開いて加工した方がいいのに 【1 OSの種類 .】 Windows 8
【2 Excelのバージョン 】 Excel 2013
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
Dim i , j()
i = Range("A1:C5")
Redim j(UBound(i))
とした時、j に i の列数の5つの配列になるのですが
これを行の3つ分の配列が欲しい場合
どのように指定すればよいのでしょうか?
i.Rows.Countなどでもできませんでした すみません、行と列が逆でした
i = Range("A1:E3") に置換えさせてください 最終的にどうするの?
セルに貼り付けるのなら、範囲を狭めて貼ればいいけど。 >>910
UBound調べてないだろ
引数で次元を指定できるのに それとこれ
>i.Rows.Count
iに何を代入したか理解せず書いてるな 皆、excel使えてうらやましいなぁ・・・
まぁ超超初心者本買って勉強しようとは思ってはいるが・・・・・
俺なんて、フォーマット作れない、入力も一個一個、斜線で区切られているところの
上半分に入力とかできない(真ん中になっちゃう)など、で凄い大変な思いしてるのに・・・・orz
まじで = とか何?ってレベル >916
>斜線で区切られているところの上半分に入力とかできない(真ん中になっちゃう)な
これは使い方が間違っている
さっさと本買って勉強した方がいいよ >>916
斜線入れたセルには入力しないのが普通なんだがなあ
なお、オートシェイプの線なら自由に引ける 【1】 Windows10
【2】 Excel2019
【3】 いいえ
【4】 否
https://www.google.co.jp/amp/s/dekiru.net/article/16390/amp/
を参考にして、A列に権利付日をずらっと入力すれば、B列に権利落日(1営業日後)、C列に権利付の受渡日(2営業日後)、D列に権利落の受渡日(3営業日後)を表示するようにしています
しかし、祝祭日の一覧を移動させても、関数の中身が変わらず、祝祭日を同じ場所を参照してしまっています
祝祭日の一覧を移動させても大丈夫にするにはどうすればいいですか? >>919
移動させる意味は??
祝祭日用のシートを作って、そこを参照するのが一般的 ワードエクセルパワーポイント
短期間で学べる方法ってないかな? 私はVBAを学びたいが何からやればいいのか、どの参考書がいいのかわらかない RangeオブジェクトにFindメソッドを使ったところ、SubとFanctionで結果が異なるのですが原因が分かれば教えてください
画像汚くてすみません
Fanctionの方はiを戻り値にしています
https://i.imgur.com/hBj7xpl.jpg >>924
めんどくさがらずにFunctionの方も晒して >>925
プリントアウトしてみました
処理としてはmyRangeに祝日テーブル、keyWordに当日+2を入れて次の営業日を探しています
https://i.imgur.com/z8liT0L.jpg >>926
R2〜セルとK9セルは、ちゃんとDate型になってる? >>927
その辺りをlsDateで調べるとすべてTrue判定になります
これはSubとFanctionどちらも同じ結果になります Range("R2:R32") って実際にはどこなんだろう @>>888ですが、excelからaccessのマクロを実行しようとするとopencurrentdatebaseの箇所でメソッドまたはデータメンバーが見つかりませんというエラーが出ます、何がいけないのでしょうか。
Aあるieページにあるリンクの文字列(≠URL)のずらっと抜き出す方法はないでしょうか。 >>930
どういうコードを実行してそうなったか晒さずに、答えなど得られる訳もない >>930 (2)
ソースからAタグで囲まれた文字列を取り出せばいい >>930
× opencurrentdatebase
○ OpenCurrentDatabase
Access関連を参照設定に入れないで>>888やったら、1行目でエラーでてそこまでいかなかった
参照設定すれば、頭文字が小文字->大文字変換されるし入力候補にも出てくるから、そうならないなら打ち間違いを疑うべきだよ >>920
おっしゃる通りなんですが、作成時はExcelが自動で参照先を変更してくれるとばかり思い込んでおり、
祝祭日を変な場所に作ってしまったまま、他のも作成してしまったのです
権利日とか以外にも色々とそこを参照にしてしまってるセルが大量にあり、修正作業がヤバいことになります
もし>>919が無理なら質問を変えます
選択範囲のセル内の関数をすべて置き換えるような操作の仕方はありますか?
例えば、選択範囲のセル内関数の中で、「A1」を全て「B2」に置き換えるような操作です 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel不明
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可・否
https://i.imgur.com/7RvjGUP.jpg
残業の時間数をまとめる為の数式を教えてください。
赤で塗り潰した箇所のデータを参照して黄色の所に残業時間の合計を入れたいのですが、1つ1つ選択するのは大変なため赤色にデータを入れたら黄色に反映されるようにしたいです。
黄色にはどのような数式を入れたら良いですか? バージョン不明だとxlsxじゃなくてxls方式が無難か >>937
2行目に項目名入れて欄外にピボットテーブルがいいと思う 部署別で合計をしたい時にSAMIFを使うならB10に
=SAMIF(B2:B7,A10,E2:E7)で出来ますか? >>923
本屋でVBA関連の本めくってみて自分で良さそうだと思ったの買ってやってみるといいよ
触りがわかればあとはググりながら進んでいけると思う
やりたいことを詳しく説明してる本ってあんまりないから
ネットで探した方が似たようなことやりたがってる人が多い気がする 画面内のセルがある部分の内容を拡大したいのですが,「表示倍率」を用いると,ABC…や123…のバー(正式名称がわかりません)も拡大されてしまいます。
これでは画面内のセルのある部分が狭くなってしまいます。
ABC…や123…のバーの部分はそのままで,セルがある部分のみ拡大する方法があれば教えていただきたいです。
マクロでもかまいません。よろしくお願いいたします。 >>947
そのセルをコピーして「リンクされた図」で別の場所に貼付けて、
図をドラッグして拡大したら? >>947
方法1 拡大鏡を使う
お手軽だけど毎回操作面倒
方法2 フォームを使う
セルの位置や大きさは自由になるが作るの面倒 昨日からoutlookも消えて...........EXCELも消えた
と思ったら全部消えている
しかも再インスコできねーーーーーーーーーーーーーーーーーーーーーーよ
マイクソソフトのアカウントにログインもできねーーーーーーーーーーーーー
うぉーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 条件でフォントの種類やサイズや色を変えたりできるん? >>934
ありがとうございます、確認してみます
別件ですが、セルの書式設定以外で頭の「-」(マイナス)記号を文字列として認識させる方法はないでしょうか?
例えば「-30.1.1」と入力するとworksheetchangeとreplaceで「H30.1.1」と日付書式で表示したい次第です。 何でそんな不思議なことをしたいのか知らんけど、マイナスなら0未満かどうかを調べればいいのでは? >>946
SUMIFにしましたが0と表示されます。何故ですか? >>955
SUM(E2:E7)はいくつ?
どこかに、=A10=B2 と入れて、TRUEになる? >>954
テンキーだけで日付入力できると便利なんです
そして内容がよくわかりません・・マイナスかどうか調べるとはどういうことでしょうか >>957
ってかそもそも、
-30.1.1
エラーになって入力できない
予め文字列にでも設定する必要がある
で、イカのコード書いたら無限ループになってフリーズしたわ
https://i.imgur.com/96ENYjm.png
自動計算止める奴ってなんだっけな、あのコードいれたらイケる >>960
そういう時は自動計算じゃなくてイベントの発生を止めるんだよ
EnableEventsでぐぐれ >>958
和暦入力をテンキーだけでする方法ありますか?
>>959
−をH,+をRに割り当てると綺麗に行きそうなので挑戦してます
>>960
calculationmanualですか?これだとダメでした。
displayalertみたいにエラー表示を無視する方法あればいいんですが・・ >>962
1桁なら令和、2桁なら平成でいいじゃん
そもそも何のデータよ if target 範囲内
EnableEvents=true
replace
書式設定の変更
EnableEvents=false
こんな投げrやろな
今日は眠たいから寝るぜ >>963
それだと例えば10.1.1が令和10年なのか平成10年なのかの区別をつけてくれないんです。どちらもあり得るので・・
データとしては単純に和暦入力をずらっと書き連ねると思ってください。 >>965
本当にあり得るの?あんた8年後(令和10年)になっても同じ仕事を続けてるつもり?
そんなら平成はそのままで、令和は40を足して41から始めればいい 過去の日付を入力する仕事なら平成のが圧倒的に多いだろうから、平成はそのまま入れて、令和の時だけ*を付けるようにしたらいいと思うんだけど
別に逆でもいいけど、2種類あるのを区別できればいいんだから、片方だけマークすればいいのでは エスパー
後出しで西暦も昭和も入れたいとか言い出す >>966
恐らく伝票入力をする程度だと思うぞ
まぁ俺なら令和にピリオド付ける程度にするけど >>969
20年以上も前の伝票を入力する仕事なんてあるの?
文書の保管なんてたいがい7年間とかそんなもんでしょ いまだに平成や昭和が出てきて、それなりに数のある文書と言えば車検証なんかが思い浮かぶ >>971
んでそのネガティブ思考が何か自体wp進展させるの? >>972
公文書なら幾らでもある
ただ、手元のデータはできるだけ西暦にしておいたほうが良い
いつ天皇が死ぬかわからん どうせマクロで加工する前提なんでしょ
入力する時はセルの書式を文字列にしといて、記号を変換する時に書式もマクロで日付に変えればいいじゃん 請求書を作っているのですが、毎月請求したり入金があったりで動きがある場合に、1年間の内訳を表示して、毎月変動する請求額を頭に持っていくことってできますか?
今月請求額 ◯◯◯円
請求残額
1月分 1,000円 1,000円
2月分 1,500円 2,500円
入金 1,000円 1,500円
3月分 2,000円 3,500円
・
・
のように、1枚の請求書に1年分の内訳を表示した請求書を作りたいんですが、毎月の請求額を頭の方の1つのセル(仮にC3)にドンと大きく表示させたいのです。
C3に1月なら1,000円、2月なら2,500円…といった風にその月の請求残額がC3に飛んでいくようにすることってできるのでしょうか?
うまく説明できなくて分かりづらいですが、色々関数なんかを調べても見つかりませんでした。 >>962
エラー制御はON Error GoToだがエラーを無視する必要性がない
VBA使うなら単純に入力した文字列拾って好きなように加工すりゃいいじゃん >>978
その金額が入ってるセルをC3から参照するだけじゃないんか 「飛ぶ」という言葉は違和感あるんだよなー
「参照」で良いような >>981
多分、E列とH列が文字列になってる
数値になってないと、普通の方法じゃ計算できない
一旦E,H列だけ内容を消して、表示形式を標準にしてから、打直した方がいいよ
数値として入力できれば、表示が右揃えになるからそこで判断できるよ >>965
Excelの仕様に関する問題だから、表示形式 文字列 を使う気がないなら、
-と+にこだわらないで、*と . にする事を強く推奨(/ はオプションをいじる必要があるので外した)
個人的にはWorksheet_Changeイベなんて乱用するべきじゃないと思うから、作業列を使ったほうがいいくらいだと思う
スレチだけど、そういうことやりたければ、AutoHotKey使うのも手だぞ
細かい事気にしなければ
NumPadSub::H
NumPadAdd::R
だけでいける
でも、スレチだからフォローはしない >>978です
飛ばすではなく参照ですか。
すみません、全くのド素人でなんとなくで扱ってきたので専門用語がめちゃくちゃです…
A B C
1 1月分 1000円 1000円(=B1)
2 2月分 1500円 2500円(=C1+B2)
3 3月分 2000円 4500円(=C2+B3)
・
・
こんな感じで計算しているんですが、B2を入力した時点では2500円を、B3を入力した時点では4500円を、どこか他のセルに参照させることはできますか?
仮にE1に参照させたい場合、E1に=C2と入れればC2の2500円は表示されますが、B3を入力してももちろんE1はそのままになります。
それをB3に入力すると、C3に式をいれているとC3に参照されるので、その変化をE1に参照できるような方法はあるのか?あれば教えてもらいたいなと思いました。 >>988ありがとうございます!できました!こんなに簡単だとは…
>>987さんもありがとうございました。 >>986
=INDIRECT("C"&CELL("ROW")) >>990さん、もしかしたらこの算式が1番しっくりきそうな気がします!今Excelが開けないので、また後程試してみます!ありがとうございます。
>>988さんのだと、最大値を抜き出してくれる関数のようなので、入金があった場合にその月の残額が前月以前よりも少なくなるときに反映されなくなってしまいました。
金額のプラスしかないときには988さんの算式で事足りるので、ケース毎に使い分けます。 >>991
>>987が一番いい気がするのだが、、 >>991
他に条件が追加されなければ、>>987で決まりでしょう。
質問のような場合で、「ケースによって使い分ける」というのはあまり良くない。
どうしても共通化できない場合には仕方ないけど。 Office365 の新機能
XLOOKUP関数の最終行セル 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 いいえ
次のような表があり、
東京 拉麺 250円
千葉 拉麺 400円
大阪 そば 250円
埼玉 そば 250円
滋賀 そば 350円
佐賀 饂飩 800円
佐賀 饂飩 1000円
そばを売ってる中で最安な県(一番上の1県だけでOK)の表示
そばを売ってる中で最安なのは何件あるかの数値
を関数で表したいです。
「表の中で値段が一番安い県」ですと
=INDEX(A1:C6,MATCH(MIN(B1:B6),B1:B6,0),1)
で表せたのですが、さらに「B列がそばの中で」など、
表の中から抽出する条件の中での最安値を出すにはどのような表記になるでしょうか? おっちゃん難しいこたぁわかんねぇけんど、
安いそばが一番上にくるようにソートした方がはえぇと思うよ。 >>995
D1 =IF(B1="そば",C1,"")
・
・
=INDEX(A1:C7,MATCH(MIN(D1:D7),D1:D7,0),1) 【1 OSの種類 .】 Windows8
【2 Excelのバージョン 】 Excel2019
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 J このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 113日 4時間 34分 48秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。