Excel総合相談所 130
■ このスレッドは過去ログ倉庫に格納されています
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類 .】 Windows**
【2 Excelのバージョン 】 Excel**
【3 VBAが使えるか .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
▼━関連スレ━━━━━━━━━━━━
前スレ
Excel総合相談所 129
https://find.5ch.net/search?q=excel
Excel VBA 質問スレ Part51
https://find.5ch.net/search?q=excel+vba
【質問不可】Excel総合相談所スレの雑談・議論スレ4
https://find.5ch.net/search?q=excel+%E3%80%80%E7%9B%B8%E8%AB%87%E6%89%80 >>729
こんなに早くありがとうございます
2倍以上が正しいです
本当にありがとうございます
早速試してみます >>730
2倍「以上」ならこうね
=IF(AND(A1=A2,B2>=B1*2),"OK","") >>731
できました!
ありがとうございます!!
このご恩は一生忘れません!!! >>725
出荷する荷物に貼る用紙を作成するためです
入力する番号は荷物の通し番号になります Accessがドストライクな案件だけに惜しいな
テーブルに番号の組み合わせを入れて(扱う番号の拡張性も高い)
レポートに欄を作って印刷するだけ 俺もシリアル番号の印刷とか片手間仕事でたまにやるわ
エーワンのラベル用紙に末尾を1から30まで変えながら印刷とか
以前はサインペンでせっせと書いてたらしい しょーもない仕事はクレバーに一瞬で解決できるのに、
しょーもない仕事が発生する場所にクレバーな人材はいない シート50枚作って、プリントは手作業で一括というのを
批判覚悟でPowerShellで書いてみたVBAよく知らないもので。
$excel=new-object -ComObject Excel.Application
$excel.Visible=$true
$wb=$excel.workbooks.add()
$ws=$wb.ActiveSheet();
for($i=0;$i -lt 50;$i++){
$n=$i*2+1
$left=$ws.Cells.Item(1,1)="$n"
$right=$ws.Cells.Item(1,2)="$($n+1)"
$ws=$wb.Sheets.Add()
}
$ws.Delete() その程度の処理をpowershellで書けてVBAで書けない上にVBAスレを見ていると言う謎 >>739
$left, $rightが意味不明
セルへの代入で文字列化する必要もないし
foreach($i in 0..49){
$ws.Cells.Item(1,1).value()=2*$i+1
$ws.Cells.Item(1,2).value()=2*$i+2
} perlが変数にいちいち$付けるの嫌だああってrubyでは無くしたのに、
また同じようなことしとる 中学生が頑張って書いてる姿を想像するとキュンと来る >>708
ごめん間違ってた。直しました。
activeprinterのところはプリンター名直すか、削ってもオーケーです。
最大値100じゃなくて4にしてます。
Sub test()
Const START_NUM As Integer = 1 '数値の開始値
Const FINISH_NUM As Integer = 4 '数値の終了値
Const PRINTER_NAME As String = "Microsoft Print to PDF" 'プリンター
Dim i As Integer
i = START_NUM
Do Until i = FINISH_NUM - 1
Cells(1, 1) = (i * 2) - 1
Cells(1, 2) = Cells(1, 1) + 1
ActiveSheet.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False, ActivePrinter:=PRINTER_NAME
i = i + 1
Loop
End Sub >>741
VBAスレッドじゃなくExcelスレッドなんでVBA関係なく参考になるから
(VBA使わないのはシートとプログラムは完全分離したい、中に埋め込みたく
ないという思考あるもので)。
>>742
あたまに0入れたいとかあるかな〜と思って
left,right は質問のかたが何やってるかわかりやすいかなと思った次第。 >>742
考えてみたら、
あたまの0、これは計算時に省かれちゃうな。
ってことは、私のこの部分意味なかったってことやな。あちゃ。 まだ間違ってるわ。
do loop until i > FINISH_NUM \ 2
に直してください。
細かいこと言えばまだいろいろあると思うけど。 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
pngファイルをwindowsフォトビューアーで開いた後、エクセルにコピーアンドペーストで貼り付けたいのですが、貼り付けることができません。
PowerPointには貼り付けれるのですが…
excelでは挿入機能を使うしかないのでしょうか。
いい方法があれば教えていただきたいです。よろしくお願いします。 Wordやパワポと違ってExcelは挿入からしかできませんね。 フォトビューアーのメニューにわざわざペイントあるんだから
それ使うんじゃまずい?
それ以外ならSnipping Toolではいかが? >>749
前提を覆して申し訳ないが、
フォトビューワーは使わない。何故なら、同じ用な点でめんどくさいから
常にペイントで開くようにしてみては・ >>753
フォトビューワーのメニューにペイントがあるから
直接でもフォトビューワー経由でもそれほど変わら
ないはずなんだけどね。 >>750-754
ありがとうございます。ペイントを経由して貼り付けようと思います。 順番が逆のような気がしないでもない
たぶん画像にデータを付加、またはデータに画像を添付したい
ってのが本来の目的な気がする 回り道して余計な仕事増やしているだけのような いや、ひとりごと 【1 OSの種類 .】 職場環境:Windows7 自宅環境:Windows10
【2 Excelのバージョン 】 職場環境:Excel2016 自宅環境:Excel2010
※質問用のエクセルファイルは自宅環境で作成しましたが、実際に使用するのは職場環境です
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
https://dotup.org/uploda/dotup.org1500173.xlsx
上記のように、エクセルにてパレード図を作成しようとしています。
ピボットテーブルにて件数ごと降順で並び替え、かつ件数が1件のものはグループ化しその他として一番下にしたいです。
しかし、降順でソートしたあと、その他を一番下に持っていこうとすると、
降順ソートが解除され、その他以外順番がばらばらになってしまいます。
全部手動で並び替えるのはかなり手間なので、ピボットテーブルの機能で並び替える方法があったら教えてください。
ピボットテーブルを値として貼り付け、普通の表にすれば並び替えられますが、
ブックがごちゃつくし、あとでデータを追記する際煩雑になるので、可能ならピボットテーブルのまま並び替えたいです。 みなさんフォントって何使ってますか?
最近だと遊ゴシック?
でも古い資料とかとの整合性とか考えると…セルの幅とか勝手に変わっちゃうし
でもMSPゴシックもなぁ… >>758
excel 2016
グループ化した後、列ラベル欄で手動並び替えにして自動並び替えを外す
件数の欄で降順に並び替え
その他ラベルで移動を選択して末尾へ移動 >>759
そのまま
古いファイル開いてコロコロ変わるのが一番ウザい >>759
游ゴシックは全く使わないようにしてるな
文字の高さがずれるのか見ててイライラする
エクセルだとひとつ前のメイリオUIにしてる
整合性は全く考えていないのでMS Pゴシックにはしていない >>762
メイリオの方が行間広くないです?
もうちょいまともな標準フォント用意して欲しい。
>>700
「もっと難しいのを」って書いてるから、多分冗談なんだろうけど。
この式、エラー出るよ。 >>763
なんで >>700 はわざわざあんなに難しくしたのかが
これが意味不明なんだわ〜〜〜
真面目に書けば
奇数の判断なんて mod(n,2) が1なら奇数0なら偶数ってだけの話なのに。
わざとなんだろな >>761
>>762
ありがとう
フォントだけ変わってくれればいいのに行間が変わるからめんどくさい
この辺の対策しないところをみると、メイリオ以降の行間が正常で旧フォントが行間が妙に狭いという形にしたいのかな
meiryoKeConsoleだとセル幅も変わらずフォントだけ変更できるんだけど他人に渡すとバグっちゃうのかな?
あと、明朝は遊明朝にするとセル内の表示高さがバグるというか逆になっちゃうんですね
何かとややこしいなぁ… 英語と日本語と混在だから、MeiryoUIくらいしか選択肢が無いんだよな
かなが正方形でなくなって、英字がちょっと広くなっちゃうけど
自分しか使わないファイルは、meiryoKeGothicにしてる >>766
meiryoKeGothicなんて今知った 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
Excelて各セル(行)の高さを表示する機能や関数はありますでしょうか?
表形式の文書を作っていて、各行の高さをセル内の行数にあわせて調整するものの、それを一目で見たいのです
例えば、A1セルには1行目の高さ、A2セルには2行目の高さ(以下繰り返し)のような感じで。 セルの表示形式で、例えば文字列の場合に赤字で表示するとき、
[赤]@
で出来るけど、この「赤」を英語にすることってできます?
要は、英語版のExcelだとどう設定すれば良いのか知りたいです。 >>773
ありがとうございます。
日本語版ではRedが使えないということは、英語版からカスタマイズされてて、Redは省かれてるですね。 フォントをms pごしっくにしない理由ってなんかあんの?デフォルトでよくね? 見苦しいのか
理系で論文書いてたら当たり前のフォントだから何の違和感もないけど >>775
非常識だからだよ
書体以外でも変なことしてるんじゃ? >>766
meiryoUIに1票
ke知らないから見てみるわ
でもたぶん使い分けめんどいから結局UIな気がする
>>775
MS Pゴシック
なんであんな汚いフォント使うのか、まったく理解に苦しむ meiryoUI >= MS P(UI) >>> 游UI
現行デフォルトの游ゴシックは、文字がかすれたり上下余白がおかしくなるからダメ メイリオから続く狂った行間は何を押し付けようとしてるんだろう MSPゴシックは解像度低くても読める事が優先のフォントだから高解像度だと煩すぎて駄目だな
逆に游ゴシックは高解像度特化だから低解像度だと読めん
メイリオはガキ臭くて仕事で使う気になれん
結局は游ゴシックにしてるわ 游ゴシックは、昔からの帳票類がどれもこれもレイアウト総崩れで論外 そおゆう四角四面でガチガチなガラパゴスビジネスリテラシーにうんざりしてんじゃね
「こうでなければならない」だの「これしかない」みたいなのをぶっ壊したいんだ
たかだか数十年の「当たり前」ってのはこれからの数十年もおんなじ
なんてのを否定しちまえばいいんだ 個人的な感想ですけど >>775
今はデフォルトが遊ゴシックだよ
>>780
keはメイリオ改みたいなもの
パッチで改造するものだから普及はしてないので
自分で使うくらいにしかならない
>>784
結局それなんだよね
新しい環境でやろうにもレイアウトが全部崩れるってのが
まぁ全言語共通行間?みたいに変更したいようだけど 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 否
=TODAY()を使用するとなぜか昨日の日付になってしまいます。
やろうとしていることはカレンダーを作成し当日のみ条件書式でハイライトすることです。
途中何度か関数を入れ直すと過去の日付をハイライトしたり変な挙動をしつつ最終的には昨日で止まっています。
ちなみに計算は自動にしてます。
真新しいファイルで作成しました。
どなたか御存知でしたら教えてください。 >>787
数式うp
そもそもワークシートに並んでるカレンダーの数字はどうやって入力した? >>792
now関数はどうなりますか?
あと、vbaで、date関数は? >>790
日付はctlr+で入力しオーフィルハンドルで下にひっぱっただけの極々単純な入力方法です
条件書式は=($A3=TODAY())
=$A3=TODAY()
両方試して変わりなかったので上を入れてあります >>793
nowは明日試します
vbaでdate関数、
そのカレンダーの日付をdateにしてみるという意味でしょうか?
vbaでやる意味を教えていただけると有り難いです ワークシート関数の戻り値と、vba関数(now、time、date)の戻り値が同じか試してみる。
通常は同じだろうけど、違えばそれが原因を探る手がかりになるでしょ。 >>796
解説有難うございます
試したらまた報告します >>795
更新は当然してますよね?
F9押すか、再計算するか。 >>798
>>787で最初に書いた通り自動計算です。
しかも手動で再計算も何度もしました。 時計がずれてるかロケールが変わっている
now()は多分9:00ずれていると思う >>800
>>791,>>792ご覧ください。
=nowも普段使ってますがずれていません。 まずシンプルにどこかのセルに
=todat()
だけ入れてみてください。
それでもおかしいですか? 失礼、today()です。
それがきちんと表示されるなら、「条件付き書式」の設定がおかしいか、「条件付き書式」の不具合があると考えられます。 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 はい・
【4 VBAでの回答の可否】 可
リネームして保存前にファイルサイズが400kb以上なら「ファイルサイズ超過」とメッセージボックスを出して、リネームをキャンセルする方法があればご教授願います。リネーム前にFilelenを使うとリネーム前のファイルサイズしか出ません。 >>805
保存する前にファイルサイズを測定するのは不可能 リネーム後にファイルサイズ400kb以上でファイル名先頭に「サイズオーバー」
を追加は可能でしょうか?
リネーム後のファイル名を取得できないので、先に進めません。
1.yyyymmdd_hhmm(”D3")で保存。
2.1で保存したときにファイルサイズをチェック。
3.ファイルサイズをチェックして400kb以上なら、ファイル名先頭に「サイズオーバー」
を追加。
ご指導いただきますよう、お願いします。
https://u3.getuploader.com/taka1024/download/99 >>805
素直に行ったほうがいいかもな
別名で保存
自分自身のファイルサイズを計測
サイズオーバーならメッセージ出して閉じるとか
というかどういう状況?フロッピーでも使ってるの? 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
あるセルの値が、常に、
空白/ひらがな文字列/全角カタカナ文字列/半角カタカナ文字列
のいずれかです。また、文字列にはスペースが混じっています。
これを、どんな場合でも、スペースなしの半角カタカナ(空白は空白のまま)に変更したいです。
どのようにVBAコードを書けばいいのか教えてください。
よろしくお願いします。 >>809
replace() で空白を削除
strconv()で変換
https://www.tipsfound.com/vba/05strconv
今日は眠いから寝る
明日出来てなかったらまた会おう >>809
ワークシート関数でできるのでは?
まず、phonetic関数で全角カタカナに変換、substitute関数でスペース削除、asc関数で半角に。 ありがとうございます。
ひとつではなく、複数の変換作業を通じて実現するんですね。
勉強になりました。 >>812
どちらの場合もネスト(入れ子)して一気にやるより、段階踏んでやる方が簡単だしあとで修正しやすいです。
ワークシート関数でやるなら、
A列に元の文字列、B列にphonetic(A1)、C列にsubstitute(B1,略)、D列にasc(略)
VBAでやるなら変数myStringなどにして、
myString=replace(cells(i,1), 略)
myString=strconv(myString, 16 + 8)
cells(i,2)=myString
なお、どちらの場合もスペースが半角と全角の両方あるなら、削除を2回する必要がある。 >>813
vbNarrow + vbKatakana を即値で書くのは感心しない そうですね、たしかに足し算みたいだし分かりにくいですね。 >>808
修理依頼票として使うのですが、メールフォルダが200MBしかないので、
PDFを添付されると、メールフォルダがいっぱいになってしまうのです。 >>817
googleフォームでも使ったら?
あれなら実質無限に耐えられるだろう >>786
あ、そうなんだ
excel2010だから知らないやmspゴシックとmsp明朝で困らないからいいけど >>816
昨日「nowは明日試します」って書いてたから
今職場じゃないの? ▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
セルにシート名を表示するシンプルな方法はないですか?
セルにシート名を表示させようと思ったんですが
ググるとCELL関数を使うものしか出て来なくて
そしてその方法がRIGHT関数とかLEN関数とかを組み合わせたりしてて
なんというか冗長に見えてしまうんです
もっとシンプルにシート名を取り出せないものでしょうか! >>821
諦めろ
そんな都合のよい方法があったら
冗長な方法が検索の上位に来るはずがないではないか 検索で見つかるのは確かに冗長で、もう少しましなのはある >>787です
結果ご報告です
=A7から下に向かってカレンダーを引っぱってました
条件書式は=$A7=TODAY()
しかしなぜか昨日の日付がハイライトされるのが困ってることでしたが、今日ファイルを開けてみると
条件書式が=$A8=TODAY()
になってました
結果的には条件書式が即時反映してなかったことが原因のようです
フォーマットを整えるなかでグループ化を沢山したり行挿入などをましたが、途中メモリ不足で一度強制終了しました
そういったなかで条件書式の表記は=A7~と見えるのに実際は=A8~で条件を取っていたという結果と思います
条件書式を=$A7=TODAY()にして解決
グループ化を沢山してExcelの挙動がおかしくなったのも初めてでした クソオペして何もしてないって言い張るウンコだったのか >>821
超単純なのでできた気がするんだけど、、いま手元にファイルないからわかんないや
そこだけvba使ったかな…
わかったら書くわ そんなに単純にはならんよ
なるほどねーという工夫はあるけど
そういう例題
今月は何日まであるか、最もエレガントに示せ ■ このスレッドは過去ログ倉庫に格納されています