X



Excel総合相談所 135
レス数が1000を超えています。これ以上書き込みはできません。
0001名無しさん@そうだ選挙にいこう
垢版 |
2019/05/02(木) 08:46:03.35
【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
0902名無しさん@そうだ選挙にいこう
垢版 |
2019/07/23(火) 06:35:59.37
動的な対応が必要なくて結果が欲しいだけなら「重複の削除」ってコマンドがExcelのメニューの中にある
順番もちゃんと保持される
0903889
垢版 |
2019/07/23(火) 07:37:42.11
>>898
はい、会社ナンバーとかはふってないです。会社名がどんどん増えていき、さらに重複もA列に出てくる感じです。

>>899さんのやり方がいいのかなと思いました。
0904名無しさん@そうだ選挙にいこう
垢版 |
2019/07/23(火) 13:11:26.31
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 まあまあ
【4 VBAでの回答の可否】 可

ある列に、ひらがな、カタカナ、半角カタカナ のいずれかの文字列が
入っています。
これを全部半角カタカナに統一したいです。
  あいう→アイウ
  アイウ→アイウ
  アイウ→アイウ
こんな感じです。
VBAで命令することにはどうすればいいでしょうか?
0906名無しさん@そうだ選挙にいこう
垢版 |
2019/07/23(火) 17:15:13.37
計算式の=の後に@を入れた記憶がないのに、入っています。
同じファイルを別のPCで開くと入っていません。何か設定を変えてしまったのでしょうか?
0908名無しさん@そうだ選挙にいこう
垢版 |
2019/07/23(火) 19:05:05.04
【1 OSの種類         .】Windows10
【2 Excelのバージョン   】Excel2016
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】否

B2:B101の範囲にデータの入力規則(リスト)を設定したいです。
既存は空で、例えばB2に山田、B3に佐藤と入れたら
山田と佐藤がプルダウンのリストに表示されるようにしたいのですが
どうすればよいでしょうか?
誤入力防止のためのプルダウンではなく入力補助としてのプルダウンを作るのが目的です。
0909908
垢版 |
2019/07/23(火) 19:07:32.58
すみません。追記です。
同じ名前がでてきた場合はリストに重複して出ないようにお願いします。
0910名無しさん@そうだ選挙にいこう
垢版 |
2019/07/23(火) 19:14:06.12
>>906
違ってたらスマン
多分ロータス123かなんかだったはず
・「ツール」 → 「オプション」 → 「移行」タブを開く
・「□計算方式を変更する」にチェックする。
この辺と主う

>>907
全然違う
もう少し考えて回答してあげて

>>908
データ データの入力規則
リスト
範囲
=$B$2:$B$100
0912名無しさん@そうだ選挙にいこう
垢版 |
2019/07/23(火) 23:48:50.54
>>911
テキトーに言って当たればラッキーぐらいでいいだろって事を正直に言ってるだけだよ
今更ロータスの事なんて誰得
それすらわからない無能はもう少し勉強しよう
あと>>907はありえないと断定して良い
0913名無しさん@そうだ選挙にいこう
垢版 |
2019/07/24(水) 04:36:50.15
試したが環境では
「計算方式を変更する」では再現も治りもしない
なおO365版での設定位置は
ファイル→オプション→詳細説明→Lotusとの互換性設定の下
0915名無しさん@そうだ選挙にいこう
垢版 |
2019/07/24(水) 09:43:21.97
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 コピペだけできます

シート集計表のC列の2行目以降が「集計」で無い行は、行ごと削除したいので
下のコードを使っているのですが、3000行位までは実行されるのですが
10万行以上の件数があると「型が違います」というメッセージがでて、処理が実行できません。
件数が多い場合のコードを教えてください。


Sheets("集計表").Select
For r = Cells(Rows.Count, "C").End(xlUp).Row To 2 Step -1
If Cells(r, "C") <> "集計" Then Rows(r & ":" & r).Delete
Next
0917915
垢版 |
2019/07/24(水) 11:55:36.46
>>916

Dim r As Long
For r = Cells(Rows.Count, "C").End(xlUp).Row To 2 Step -1
If Cells(r, "C") <> "集計" Then Rows(r & ":" & r).Delete
Next

でも同じく「型が一致しません」になります。
0918名無しさん@そうだ選挙にいこう
垢版 |
2019/07/24(水) 12:41:42.45
エクセルを手軽に本とかで学びたいと考えてますが、オススメのノートパソコンってありますか??

予算は10万前後で出来るだけ軽いものがいいです。
0923915
垢版 |
2019/07/24(水) 20:17:10.37
>>919
ありがとうございます。できましたm(__)m
0925名無しさん@そうだ選挙にいこう
垢版 |
2019/07/25(木) 00:19:06.38
例えばセルA1に1:00:00と入力したらセルB1に1時間5秒後の時間が表示されるにはどのような式を書けばいいでしょうか?
0926925
垢版 |
2019/07/25(木) 02:10:42.16
やりたいことがちょっと複雑なのでvbaスレで聞いてみます
質問取り下げます
0929929
垢版 |
2019/07/27(土) 00:20:05.66
excel表↓
__|______A_______|___B____|___C____|___D____|___E____|___F____|___G____|___H____
1| | | | | | | |
2| | |夏季限定スイーツ売上一覧表| | |
3| | | | | | | |
4|品名 |単価 |6月 |7月 |8月 |売上金額 |売上比率 |備考
5|とろとろプリン | 300 | 120 | 155 | 140 | 124,500 | 18.4 |
6|抹茶あんみつ | 450 | 233 | 107 | 111 | 202,950 | 29.9 |○
7|メロンシュー | 320 | 94 | 88 | 90 | 87,040 | 12.8 |
8|フルーツアイス | 250 | 124 | 156 | 224 | 126,000 | 18.6 |
9|はちみつ金時 | 380 | 130 | 122 | 109 | 137,180 | 20.2 |○
10| |合計 | 701 | 628 | 674 | 677,670 | |
11| |平均 | 140 | 126 | 135 | 135,534 | |
12| | | | | | | |
13|最大個数 | 233 | | | | | |
0930929
垢版 |
2019/07/27(土) 00:25:12.40
セル番地(F10)について、次の問1から問3を解答しなさい。
問1 セル番地(F10)を複合参照で列を固定した答えを記入しなさい。
問2 セル番地(F10)を複合参照で行を固定した答えを記入しなさい。
問3 セル番地(F10)を絶対参照で列と行を固定した答えを記入しなさい。
という問題があったのですが

1,SUM($F5:$F9) 2,SUM(F$5:F$9) 3,SUM($F$5:$F$9)
と解答したら全て間違えてました; 全く答えが分からないので教えて下さい。

表ズレてますが左からA~Hです。
0932名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 00:49:00.35
>>931
教えてもらったのですが間違えた答えでしたので…(^^;
F10には売上金額677,670とあります。セル番地を絶対参照で固定して計算する際に合計の値がずれないようにします
と書いてあります
0935名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 08:32:39.27
>>933
バツとだけ書かれて返却されてたので分からないです…。
他の問題は全て正解でした。
完了期限はまだ先みたいなので大丈夫みたいです。
0937929
垢版 |
2019/07/27(土) 08:39:15.77
929の表がズレてたので・・・画像にしてあげますexcelの表はこちらで↓
https://gyazo.com/6bbc43b5a4346db69404d52e985b0244
処理条件は↓
https://gyazo.com/faf8012dcb22cdd442c687663f1e7524
問題は↓
セル番地(F10)について、次の問1から問3を解答しなさい。
問1 セル番地(F10)を複合参照で列を固定した答えを記入しなさい。
問2 セル番地(F10)を複合参照で行を固定した答えを記入しなさい。
問3 セル番地(F10)を絶対参照で列と行を固定した答えを記入しなさい。

なのですけど>>930に書いた解答は全て間違えてました・・・。
今度ははっきり見えるように画像を撮ってきたので何卒解答お願いいたしますm(_ _)m
0941名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 13:28:43.03
死ぬほど役に経つけどそもそも使えない会社やシステムが整っている大企業だと出番が無いこともあるからその辺りは気をつけないと行けない
0945名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 15:19:47.44
VBAでの質問です。よろしくお願いいたします。

あるシートに、cmdPrint1からcmdPrint50という名前のコマンドボタンが50個あります。
これをクリックしたときの動作はすべて同じプロシージャで、引数が違うだけなんです。

Private Sub myPrint( no as integer)
’略
end sub

各コマンドボタンは
Private Sub cmdPrint1_Click()
call myPrint(1)
End Sub

という感じなんですが、こういう場合、50個のコマンドボタンすべてについて、クリックイベントを
書かないとだめなんでしょうか?
何か、まとめて書いちゃう方法ってあるのでしょうか?
0946名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 15:20:26.28
>>943
日々、「自分の仕事をいかに減らせるか?」を考え続け、勉強を続けるが重要
そして、ダメと分かったら作りなおす度胸が必要
極めれば多少営業が無茶言ってきても対抗できるし、
毎日超暇になる

>>944
お前みたいな無能が何のために生まれてくるのか良く分からんが、
日本っていい国だな
0947名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 15:23:01.91
>>945
確か一ヶ月ぐらい前にvbaスレで似たような事をやってたな
・activeXボタンならボタンのcaptionを取れるから、それで分岐できる。ただしactiveXは時代錯誤な上に使えないPCもある
・フォームのボタンはcaptionを取れないから無理。this.captionが出来ない
0949名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 15:51:22.65
>>948
自分1人が頑張ることには限度がある
自分の能力が極まった上で、他者を育てる事で始めて有能となる
その効率は極まったお前の数倍となる

相手の素性も知らずに叩き潰す事しか考えないお前は間違いなく無能だ、断言する

一応フォローすると、お前自信が頑張ってる、能力がある事は伝わる
もう少しいたわりを持ち、他者を成長させる礎となれ
それは大変苦しみを伴う作業だが、歩んだ道は間違い無かったと、俺はそう思ったよ
0952名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 16:19:00.66
>>949
すごいね、たったこれだけのことで
相手の素性が分かっちゃうモノホンのエスパーさんだったとは…

俺も少しばかりそのエスパーの心得ってのがあったから
>>943をゴミカスクズ糞汚物扱いしてやったんだけど
これってお前が言ってることと何か違うの?


もしかしてとは思うけど…その…アナタ…


.....、......オクス..リ.、、、


........ とか..キメ.......たり....してませんよね?;


なんかね、少し...ちょっと.....思っただけ...なんですけど…^^;;;;;;



>>950
そうだったんですね
ま誰にも間違いはありますから
次スレ建ててから死んでくださいね
0953名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 16:26:23.67
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 コピペだけ
【4 VBAでの回答の可否】  可


https://dotup.org/uploda/dotup.org1906896.jpg.html

↑のような表があって、G列に担当者名が入っているのですが


https://dotup.org/uploda/dotup.org1906899.jpg.html

↑のように担当者名だけ各表のA列の先頭にコピペするコードを教えてください。
0954名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 16:32:35.66
>952
>相手の素性が分かっちゃうモノホンのエスパーさんだったとは…
>俺も少しばかりそのエスパーの心得ってのがあったから
ってかこのスレなら数文字で伝わるでしょ

>>943をゴミカスクズ糞汚物扱いしてやったんだけど
それに意味がない

>その・・ | .....オクス..リ.、、
三点リーダと半角読点、句読点、他諸々統一しないとダメ
自分に自信がなさすぎる。そんな事では
「あれ、この人こそ統一性のない人なのかな?」と思われるだけ
殺したいときはもっと殺意をもって発言、過ちが気になるだけなら端的にレス
0956名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 16:36:50.74
>>952
どうしても教えて欲しい事がある
>>943をゴミカスクズ糞汚物扱いしてやった
これはどういう感情なの?
俺も恐らく発達障害だから、君の気持ちが良くわからないんだ

「ゴミカスクズ糞汚物扱いしてやった」
ことで君は自分の承認欲求が満たされたり、
人間のランク的な物が上がったりするの?

まぁ別に答えなくてもいいよ、これはただの俺の知識の一つになるだけだ
0957名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 16:36:54.46
>>953
こういう質問は答えにくい。
やりたいことの一例が上がっているだけなので。

その3つの表だけでいいのか、沢山ある表を処理したいのか。同じ表の担当者は必ず同一なのか、そうでない場合があるのか。

VBA使わずに、A2に=G4 と入力して、それをA10と、A14にペーストすれば良いのでは?
0958名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 17:05:05.08
>>957

すみません説明不足でした

・画像では3例の表ですが、実際は300件以上あります。

・各表は必ず同一の担当者です。

・表と表の間の行数は一定ではありません

・毎日件数が多くなるためVBAで処理したいです
0959名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 17:28:45.39
>>953
>>958

Sub foo()
最終行 = Cells(Rows.Count(), 7).End(xlUp).Row
For i = 1 To 最終行
If Cells(i, 1).Value = "納品日" Then
Cells(i - 1, 1).Value = Cells(i + 1, 7).Value
End If
Next
End Sub

飲みながらだとこういう単純なのが意外とキツイなw
>>952君は回答ないけど、無理なのかな?
0961名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 17:33:39.09
>>959
こんな一瞬でできるようなのがキツいとか
こんなハゲとはいっしょに飲みに行きたくないな
0964名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 17:42:03.27
いつもならvbaのコード最適化しろやっていうとこだけどお前より俺の能力の方が高いからどうでもいいわ
マジであごひげなくならねぇ
乳毛も脇毛もなくなったけど肝心のあごひげなくならないんだよどうすりゃいんだよ
0965950
垢版 |
2019/07/27(土) 17:43:16.99
スレの立て方が分かりません。…

もっと有益な会話をしたいです!VBA初心者の方いませんか?
0968名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 17:51:39.13
>>965
いねーよ、ここは達人の集まりだ

vbaってのは要するにExcel作業の自動化

Excelで手作業を繰り返している会社なら英雄になる
「a1とb1をc1に自動的に出すだけ。それが100シート」

ただし、多大な損失が生じる可能性がある
「言い忘れたけど合計が偶数になると別ブックに転記する必要があるんだよね〜」

逆に、そもそもExcelを使わない大企業では意味がない
0970965
垢版 |
2019/07/27(土) 20:12:37.14
雑談スレいくわ。すまんかったね。

ありがとうございます!
0971名無しさん@そうだ選挙にいこう
垢版 |
2019/07/28(日) 16:17:31.33
あと30レス雑談してから消えろよw
0973965
垢版 |
2019/07/28(日) 17:35:47.51
>>971
消えないよ!
0974名無しさん@そうだ選挙にいこう
垢版 |
2019/07/28(日) 18:21:15.26
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 中級
【4 VBAでの回答の可否】 可

あるシートを新規別ブックにコピーしてそれにファイル名をつけて保存する、ということを
やりたくて試行錯誤しています。
一応、コピーして保存はできたのですが、元シート上にあるコマンドボタンまでコピーされて
しまいます。
コマンドボタンをコピーさせない方法ってないでしょうか?

今は
mySt.Copy
ActiveWorkbook.SaveAs ****
という単純なコードです。これを書き換えて、コマンドボタン以外だけをコピーとしたいです。

よろしくお願いいたします。
0975名無しさん@そうだ選挙にいこう
垢版 |
2019/07/28(日) 18:29:17.22
>>974
mySt.Copyの次の行にボタン削除を入れる
シートコピーと言うのはシート自体をコピーするんだからそこにあるものは当然全てコピーされる
0976名無しさん@そうだ選挙にいこう
垢版 |
2019/07/28(日) 19:49:22.01
>>975
具体的には
activesheet.Shapes.range("Button 1").delete


For Each eShape In ActiveSheet.Shapes
eShape.Delete
Next

を入れとく
0978名無しさん@そうだ選挙にいこう
垢版 |
2019/07/28(日) 20:08:29.47
そうだね
ボタン名がはっきりわかってピンポイントで消したいなら上で
なんでもいいからデータだけ残したいの!という場合は下
0980名無しさん@そうだ選挙にいこう
垢版 |
2019/07/28(日) 20:33:42.05
Forで回してShapeがボタンかの判定を入れたらもっといいね
初心者だとしたらコピー後のボタン名をちゃんと調べられるかなと思って下のも用意した
あれ?!俺はどうやって調べたんだっけ もう忘れたw
0984名無しさん@そうだ選挙にいこう
垢版 |
2019/07/30(火) 20:42:34.50
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 入門中
【4 VBAでの回答の可否】 不可

教えてください。

B列に日付、C列からH列まで、品目ごとの買物金額が入力されている100行くらいの表があるとします。

A1に日付を入力すると、A2に、その日の買物の合計金額が出るようにしたいです。
=SUMIF(B1:B100,A1,C1:H100)

これではダメみたいなんです。どうすればいいでしょうか?
0985名無しさん@そうだ選挙にいこう
垢版 |
2019/07/30(火) 21:03:06.77
>>984
マイクロソフトのサイトのSUMIF関数の解説のページ
https://support.office.com/ja-jp/article/sumif-%E9%96%A2%E6%95%B0-169b8c99-c05c-4483-a712-1697a653039b
を見てもらうとわかります。条件となるセル範囲がB1:B100、つまり1列×100行を指定した場合は、
合計範囲をC1:H100(つまり6列×100行)と設定しても、実際に合計の対象となるのは1列×100行となる
C1:C100だけになるはず。
よって、=SUMIF(B1:B100,A1,C1:C100)+SUMIF(B1:B100,A1,B1:B100)+ と、SUMIF関数を6個連ねるのが正解。
0986985
垢版 |
2019/07/30(火) 21:06:33.45
>>985の続き
もし、B列に日付の重複がないことが確実であるならば、日付の一致する行のC列〜H列の合計を
出すとして、SUMIF関数を使わず、SUM関数、OFFSET関数、RESIZE関数を組み合わせて
できそうだけど、ただいま試行錯誤中。
0988名無しさん@そうだ選挙にいこう
垢版 |
2019/07/30(火) 22:16:36.90
カンマがいらないと思うんだがバージョンが違ったらそれでも動くんか

しかしsumproductを使ったらsumifもcountifも無駄な知識だなと思ったが
この二つはワイルドカードが使えるというアドバンテージがあるんだな
0993985
垢版 |
2019/07/31(水) 07:24:09.53
SUMPRODUCTでこんなこともできるのね。
”正解”などと書いた自分が恥ずかしい orz
0995名無しさん@そうだ選挙にいこう
垢版 |
2019/07/31(水) 12:43:07.38
よろしくお願いします。

あるブックの2つのシートに、1つずつ表があります。

どちらの表にも同じ「会員番号」という列があるのですが、
これをもとに、
・AシートとBシートの両方に入っている人
・Aシートにしか入っていない人
を一目でわかるようにしたいです。
なにかいい方法はないでしょうか?
0997名無しさん@そうだ選挙にいこう
垢版 |
2019/07/31(水) 15:36:20.30
>>995
作業列を使うか、「会員番号」の列に対する条件付き書式でいけると思う。
どちらのシートも 会員番号の列はB列 と仮定して、

作業列を使う方法→Aシートの作業列をC列と仮定→AシートのC2セルに計算式
=COUNTIF(SheetB!$B:$B,B2)
と入力して、下方向に必要なセル範囲までドラッグコピーする。
シートBにも存在する会員番号があれば、その個数がC列に表示される。なければ0が表示される。

条件付き書式を使う方法(条件は上に同じ)シートBにも同じ会員番号があるとき、当該セルを黄色塗りつぶす場合
B2〜B列の最下行までのセル範囲を選択する→条件付き書式→新しいルール→数式を使用して〜
→数式の欄に =COUNTIF(SheetB!$B:$B,B2)>0 と入力→[書式]ボタンをクリック→
塗りつぶしのタブをクリック→黄色を選択→[OK]をクリック→[OK]をクリック→[適用]をクリック→[OK]をクリック
黄色になってないセルの会員番号はシートBには存在しないということを示します。

こんなのでいかが?ただし、この設定だけでは「Bシートにしか入ってない人」はわかりません。
0998名無しさん@そうだ選挙にいこう
垢版 |
2019/07/31(水) 15:55:51.14
うめ
0999名無しさん@そうだ選挙にいこう
垢版 |
2019/07/31(水) 15:55:56.51
うめ
1000名無しさん@そうだ選挙にいこう
垢版 |
2019/07/31(水) 15:56:04.80
うめ
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況