Excel総合相談所 133
レス数が950を超えています。1000を超えると書き込みができなくなります。
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類 .】 Windows**
【2 Excelのバージョン 】 Excel**
【3 VBAが使えるか .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
▼━関連スレ━━━━━━━━━━━━
前スレ
Excel総合相談所 132
https://mevius.5ch.net/test/read.cgi/bsoft/1530415352/
Excel VBA 質問スレ Part57
https://mevius.5ch.net/test/read.cgi/tech/1536583359/
【質問不可】Excel総合相談所スレの雑談・議論スレ4
https://mevius.5ch.net/test/read.cgi/bsoft/1489108851/ 【1 OSの種類 .】 Windows 7
【2 Excelのバージョン 】 Excel 2007
【3 VBAが使えるか .】 超初心者
【4 VBAでの回答の可否】 是非
いまアクティブセルがある場所の表の
オートフィルターを実行、同時にアクティブセルの
場所の列の空白以外を表示させる、という風にしたいです
「 Range("A1").AutoFilter Field:=1, Criteria1:="<>"」
最初の場所(A1)、それとフィールドの場所を
アクティブセルで取得できるようにしたいのです
どのようにすればいいのかご教授お願いします >>852
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).AutoFilter Field:=1, Criteria1:="<>"
マクロの記録でctrl+shift+endで範囲のマクロを取得できるから、
ショートカットキーとか覚えたほうがいいかも
>>851
フローチャートなんて作りながらでok
コード書いてる内にフローチャートぐらいは書けるようになる 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2013
一度太字にするとその後太字を解除してもその列の文字がずっと太字で表示されるのですが、解除する方法はないのでしょうか? E1の値が
A1に◯であればB1、C1に◯であればD1
の計算式を教えてください
(A1、C1の両方同時に◯がつくこともつかないもなく、必ずどちらか一方に◯がつきます) >>855
>>(A1、C1の両方同時に◯がつくこともつかないもなく、必ずどちらか一方に◯がつきます)
=IF(A1="○",B1,D1) >>856
なるほど
そうやればいいのですね
どうもありがとうございます >>854
再現しないなぁ
条件付き書式では設定してないよね? この式がダメな理由教えてください
よければ直し方も。https://i.imgur.com/coUB9v4.jpg
コインを投げて表なら勝ち
裏なら負け
という式を作りたかったので、randで0.5より小さかったら表(勝ち)、大きかったら裏(負け)という式を作りたかったのですが >>859
=IF(RAND()<0.5,"win","lose") >>あーー!なるほど。括れば良いんですね。
ありがとうございます!! >>859
ちなみに、winの文字の色を赤にしたいときは、どんな条件を加えれば良いですか? >>863
Excelの勉強中なら、これからは「大きい、小さい」と「以上、以下」は正確に使い分けるように気を付けた方がいいよ
0.5より大きい、0.5より小さい、だとぴったり0.5だった時にどちらにも当てはまらなくなる
この場合は
勝ちの条件は0.5より小さい
負けの条件は0.5以上
と書くのが正解 >>865
たしかに、ジャスト0.5だったときに困りますね。
ありがとうございます! >>866
分んないところは、質問してみたらいいじゃん。
嫌がらせ質問以外なら、答えてくれるよ。 レベルにもよると思うが、ここで話してる内容がわかるようになるにはどれくらいかかる? エクセル使い始めて1ヶ月でマクロ組むまで行けるからそんくらいあれば 大昔は、vbaのプログラム目当てにエクセル始める人もいたんだ・・・ >>871
事務仕事してるなら一ヶ月もあれば大体はわかるようになるんじゃないか
学生が覚えるのは正直結構キツイと思う。実務がわからんと、色々とねぇ >>876
昔はプログラミングの環境が有料だったんだ
※無料もあったけど若干敷居が高かった。ネットも翻訳も今ほど整備されてなかった
だからメーカー製PCについてきたエクセルでプログラミングを始める人もぼちぼちいた
vbaもそんなに古い言語ではなかった
今はプログラミング環境が完全に有料な上、vbaは化石言語になった
エクセルvbaで始める人はもういないだろう >>877
その割にはSNS界隈見てると初心者異様に多いぞ? >>879
すまん、化石ではないな。「生きている化石」だな
vbaだけは20年ぐらいバージョンアップしていないので、今の言語にあって当然の機能が何一つない
こんな現役言語他に無い
エクセルのためのスクリプトと思えば問題はないけど、
vbaだけでゲームを作ったりするのはもう止めた方が良い
>>878
あんまSNS見ないからよく分からん エクセルでの印刷のズレ問題を本気で解決したいんだけどいい方法は無いもんか >>881
Google Spreadsheetにインポートしてから印刷
これならずれないけど、それなら最初からSpreadsheetで作ればいいかって書きながら思いました。 Spreadsheetじゃなければ予め印刷するPC・プリンタを決めておく
めんどくさすぎるけどこれぐらいしか・・・ そんな簡単なことで解決するわけが無い。
紙の無駄。インクの無駄。時間の無駄はエクセルではあきらめましょう。 フォームの印刷がずれるかどうかまでは知らんが・・・
もしずれないなら、
データをuserformに配置して
object.PrintForm
で印刷
しかし今度はformを微調整したり書式合わせたりで地獄が待っている
ははは・・・ >>880
何言ってるんだかよー判らん・・・
だいたいVBAってExcelにのみ実装されてるものじゃねーし VBA使わないが、言われてみれば
Accessや他のOffice製品で使えるんだな。 Outlook はちょっと使ってる
メールが来た時に中身見て定形的なものは特定のフォルダーに入れるとかやってる 文字列のリストがあって、名前が付けてある
別のシートにも文字列があって、リストから検索してその場所に飛ぶリンクを張りたい
リストは日々更新されるので、なるべく柔軟な方法がいい
リストの中で何番目かというのは既に判ってるので、
あとは名前の左端から相対指定でセルを指定する方法が判ればいいんだけど >>893
条件が本文中の複数の特定キーワードを見る必要があったので振り分けルールじゃ設定できなかった 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
AとBの2つの表で、AからBに差分を更新する方法を考えています。
2つ表は1列目がロットナンバー(とか日付みたいなもの)、2列目から分析値1、分析値2みたいな感じです。
単純なコピーができない理由は
・AにあるロットナンバーはBに追記しないといけない
・BにあるがAにあるロットナンバーは消さなくてもいい
・AからBに分析値の差分があれば文字を赤くしたい
だからです。
そのため、AのロットナンバーをBから探し(なければ追加)、そのロットナンバーの各分析値を1つ1つ比較していっていますが、量が膨大なため遅くなっています。
処理方法についてアドバイスをいただけないでしょうか?、よろしくお願いします。 >>896
・手順を変更する
要するにAにしたいわけなら、
・BにあるがAにあるロットナンバーを、まずは消す。countif()やmatch()を使えばすぐに出来る
・AにあるロットナンバーはBに追記する
これだけでいいんじゃないの?
・上記が無理なら計算速度を上げる
vlookup使ってると思うけど、index+matchで大幅に速度が上がる
こんな感じでどうだろうか
https://i.imgur.com/2sROgWP.png
あと、分析値が何列で何行ぐらいあるか教えて欲しい
数万行だとvba使わないとキツイかも >>897
早速の回答ありがとうございます。
分析値の列は200-300ぐらいで、ロットの行は1000〜2000です。
現在は、関数ではなくVBAで処理しています。
流れとしては
@AとBのロットナンバーを探し、BになければBの末尾に追加する
を最初に行い、AのロットナンバーがBにすべて盛り込まれている状況にします。
そして
AAのロットナンバーをBから探し、行を習得、その行のについて1列目から順に各列ごとにセルの値を比較
B値が同じなら何もしない
C値が異なるなら文字を赤くする、AからBに転機
をしています。
細かく言うと、Bは配列に入れているので、
@値の比較、更新は配列上
A文字の色の変更はセル上
B最後に配列の値をセルにまとめて書き込む
としています。 >>898
vbaで完成してるならそれでいいじゃん
vbaの高速化は以下参照
多分一瞬で終わるぞ
https://15g.jp/post-314/
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
'ここにコードを書く
Application.EnableEvents = True
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic >>898
1-4各処理の時間をdebug.printで調べて
遅い部分のコードを教えて ロットナンバーの検索追記の部分をforループしてて遅いなら、
作業シートにそれぞれを1列に貼り付けて重複の削除、残りが新規ロットなので赤文字にしてコピペ。 この程度の数で遅いとか考えられない
配列使ってるなら数秒で終わりそう
実はシートに何度も行ったり来たりしてるに違いない エクセルのデータ?そのままグーグルドキュメントのアレに変換できますか?
それで、ブラウザ上で扱えますか?
そのあと、エクセルそのものは、必要なくなりますか? >グーグルドキュメントのアレに変換できますか?
ごめん、言っている意味が分からない。
自分が使っている環境の人しかわからない話なもので。
たまに、Excelのデータスプレッドシートで使えますか?
というような話が出てくることもあるが、みんな一瞬ぽか〜んとする。
自社用語ジャン レスありがとうございます
エクセルのデータを? グーグルドライブ上におき グーグルスプレッドシートで開きたい
そんで、ブラウザ上でだけ、使いたいです
ウインドウズ使わないので!
くれぐれもよろしくお願いします!! >>904
表計算ソフト
>>907
できる
メニューの「ファイル」「インポート」
googleスプレッドシートにインポートする
とか言えるようになればカッコイイ データベースに入れた日にちを別に作成した表に記号として反映させるにはどのように?
例えば7月4日と9月18日が休日でも会社は出勤日なので
出勤日の記号である○を一括で入力したい
とかなら、どうやれば良いの?
分かりにくい質問だったら無視して下さい 出勤日のリストをつくっておいて、日付がその中にアレばVLOOKUPとか Excel 2019を購入しようとマイクロソフト公式サイトみても
購入できるとこが見つかりません
Excel単体の買い切り版て、公式サイトからのダウンロード販売はしてないのでしょうか? >913
多分してない
office(word込)で買わせようとしているね
amazonでいいと思う
https://www.amazon.co.jp/dp/B07LBNQXF6/ >>914
ありがとうございます!
amazonで買います〜 単品で15000ってクソ高いな。
普通にセットのやつ買った方がマシなのでは プロジェクターなどで投影して人に見せる際,通常のセルの数値が小さくて,拡大することがあります。
そうすると,行列番号も拡大してしまい,結果として通常セルの表示面積が小さくなってしまいます。
これを,行番号の横幅や列番号の縦幅を変えずに,通常のセルの範囲を拡大する方法はありませんか?
行番号の縦幅や列番号の横幅が拡大されるのは当然なので仕方がないのですが。
行列番号を非表示にすることも考えましたが,シートによっては,行や列を非表示・再表示することもあるので困っています。
よろしくお願いいたします。 できるわけないじゃん
フォント変えてプロジェクタでも見やすくするくらいじゃないの vba出来ないから、可能かどうか知らないけど、
行番号や列番号の表示&非表示を切り替えるマクロを作ってショートカットキー登録すればいいのでは?
・・・と無責任に発言してみる 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 はい・
【4 VBAでの回答の可否】 可・
A列に一貫番号、B(発生)、C(受付)、D(着工)、E(処置)、F(完了)に日付が入っています。
日付はアルファベット順に入力「されますが、G列で下記の式でステータスを確認していますが、
これを最下行をまでVBAにて入力もしくは計算させることは可能でしょうか?
=IF(C2="","",IF(AND(D2="",E2="",F2=""),"受付",IF(AND(D2="",E2=""),"着工",IF(F2="","処置済み","完了"))))
Dim maxRow As Long
maxRow = Rows.Count
r = maxRow
For r = 2 To r
Cells(r, 7) = (IF(C2="","",IF(AND(D2="",E2="",F2=""),"受付",IF(AND(D2="",E2=""),"着工",IF(F2="","処置済み","完了"))))
Next
End Sub
これだと構文エラーになります。どこがだめなのかわかりませんが、
あらかじめG列に式を入力してオートフィルで増やせばいいのかもしれませんが、実際にはAZ列まで入力されてます
ので可能な限りセルに式を入力するのを避けたいと思います。
お知恵を拝借したく。お願いします。
サンプル
http://gf8.work/Q2kd >>916
ありがとうございます
Office買うか悩みましたが、Excel以外を使う予定がないので
単品で買いましたけど少し心残りですが >>921
その関数だと着工が選択されるには受付日と完了日が入力されている場合だけじゃない?
C列がブランク以外、かつD,E,Fがブランクなら受付、
C,D列がブランク以外、かつE,Fがブランクなら着工、
C,D,E列がブランク以外、かつかつFがブランクなら処置済み、
C,D,E,F列がブランク以外なら完了
という処理じゃなくても良いんだろうか >>923
ご指摘の通りでございます。
会社で確認したら間違いでした。 どなたか助けてください
急にエクセルで名前をつけて保存が出来なくなりました
【1 OSの種類】 Windows10
【2 Excelのバージョン】 Excel2010
【3 VBAが使えるか】つかってません
名前をつけて保存を選ぶといきなり
「この場所にbook1という名前のファイルがすでにあります。置き換えますか?」
と表示され、名前をつけれず、どこのフォルダに保存されるかもわかりません。
どなたかわかるかたいらっしゃいますか? >>926
まじか!
インスコしなおしかー
会社のパソコンだしできるかな…
回答ありがとうございました VBAを独学したいがおすすめの書籍とかありますか? >>928
言語覚えるのって
対象業務があれば覚えは早いが、それがないと
下手するとたんなる時間の浪費になり得るから
注意ですね。
習得にかかる時間がスゲー変わってくる。 オレは抵抗のカラーコードの作成と解読をVBAでやってみた
表示もセルを使えば難しくなかった >>932
それ意外と難しいよな
フリーソフトやアプリでも色々あるがマトモなの見た事ない 単純に数字と色を変換し完成!
みたいの恥ずかしすぎる出来のがシェアウェアで売ってるねw 超初心者だった2005年に作ったヤツが見つかったw
https://www.axfc.net/u/3957929?key=colorcode
今見ると恥ずかしい出来だけど動作は確かだw 前回エクセルのアップデートバグで酷い目に遭ったから、
今回はこのスレで被害報告がないのを確認して、今Officeのアップデートした。 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
以下の100の職業で利用する数学という表をExcelで開きたいのですが
方法を教えていただけませんでしょうか?検索してもわかりませんでした。
tableauというツールで作ってあるようです。、 右下の「ダウンロード」「クロス集計」から行けそうだけど、出来ないな
なんでや・・・
パッケージをダウンロードすればGoogle スプレッドシートに変換できるので、そこからエクセルにもう一度変換できる
https://public.tableau.com/ja-jp/s/download/thanks 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 少しなら
【4 VBAでの回答の可否】 可
画像をgetopenfileで読み込んでB8サイズにしてあるセルに縦横比を無視してぴったり合わせ
リンク切れが起こらないように8枚貼り付けたいです
(B5サイズの用紙にB8サイズ×8枚のPOPが作れるものを作ってます)
VBA初心者のためlinkをFalseにするのと画像を最背面にするのと縦横比を無視するのを同時に指示することが出来ません
だいたいどれかが出来ないと言われてしまいます
shapeと出てくるといまいち概念がわかってないので変数の宣言とか代入とかも怪しいです
貼りたいセルはB2、C2、B3、C3、B4、C4、B5、C5です
よろしくお願いします >943
小売のITリテラシーはもうアフリカ人以下だからな
pdfで配るのはダメなのか
それか思い切ってhtml >>917です。
希望を満たす方法はないのですね。残念です。
他の方は同じような希望を感じたことはないのですかね?
>>919さんから指摘頂いた方法ぐらいのようですね。
ありがとうございました。 >>939
tableau側でExcelやほかの形式に出力出来るので、それしてもらえばどうでしょう。
tableauは、外部ソフトへのデータ渡しのためにCircle Systems, IncからStat/Transfer
というツールをOEM供給受けて組み込んでいるので、Excelに吐き出してもらうといい。 >>939
ちなみに、このデータは23年前の調査だけどいいの? 前スレの>>680辺りでこのシフト表の早い作り方を教わったけど
https://i.imgur.com/ume1DLM.jpg
関数の使い方はしっかり覚えたが
月に数回有る「土曜日出勤」を手動ではなく
関数で一括入力するにはどうやれば良いですか?ついでに「調」も同様に… ▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
エクセルを2010から2013に変えたところマクロが遅く困ってしまったのですが、マクロの速度比で考えると
一般的には2019と2013ではどちらが速いのでしょうか? レス数が950を超えています。1000を超えると書き込みができなくなります。