Excel総合相談所 137 ..
[2ch|▼Menu]
2:名無しさん@そうだ選挙にいこう
19/10/08 20:06:36.31 .net
立ってなかったので立てました
どうぞ〜

3:ぴころ
19/10/08 21:16:03.30 .net
新スレおめ☆(^▽^)

4:名無しさん@そうだ選挙にいこう
19/10/08 21:22:23.73 .net
iが飛び飛びになる理由を無理矢理考えると、
実はieのチェックボックスのIDが偶数しかなく、
On Error Resume Nextで飛ばしてるとか。

5:名無しさん@そうだ選挙にいこう
19/10/08 21:46:53.00 .net
>>4
一応要素は1個1個調べたんですが、0から綺麗に並んでいました・・

6:名無しさん@そうだ選挙にいこう
19/10/08 21:46:53.35 .net
STEPが2じゃないならForの中に原因があるんだからそこが見えなければこっちも何もわからん

7:名無しさん@そうだ選挙にいこう
19/10/08 22:07:03.78 .net
こんな感じだったと思います
Sub h()
Dim shl As Object
Set shl = CreateObject("Shell.Application")
Dim targetTitle As String
targetTitle = "url"
Dim win As Object, getFlag As Boolean
For Each win In shl.Windows
If TypeName(win.document) = "HTMLDocument" Then
If win.document.Title = targetTitle Then
Dim objIE As New InternetExplorer
Set objIE = win
getFlag = True
Exit For
End If
End If
Next
Dim htmlDoc As HTMLDocument
Set htmlDoc = objIE.document
Dim i As Long
For i = 1 To 20
Dim anchor As HTMLAnchorElement
For Each anchor In objIE.document.getElementsByTagName("select")
If InStr(anchor.ID, "○○○ & i - 1") > 0 Then
anchor.Click
Exit For
End If
Next
End Sub

8:名無しさん@そうだ選挙にいこう
19/10/08 22:14:50.74 .net
ごめんなさい肝心のfor内に忘れ物してました
Dim i As Long
Dim anchor As HTMLAnchorElement
For i = 1 To 20
If Not Range("A" & i).Value = "" Then
For Each anchor In objIE.document.getElementsByTagName("select")
If InStr(anchor.ID, "○○○ & i - 1") > 0 Then
anchor.Click
Exit For
End If
End If
Next

9:名無しさん@そうだ選挙にいこう
19/10/08 22:18:49.49 .net
思いますじゃなくて確実なやつを頼む

10:名無しさん@そうだ選挙にいこう
19/10/08 22:20:41.85 .net
急になんの話してんの?

11:名無しさん@そうだ選挙にいこう
19/10/08 22:21:35.70 .net
>>8で確実です

12:名無しさん@そうだ選挙にいこう
19/10/08 22:23:51.12 .net
>>11
差し支えなければチェックボックス部分のソースも

13:名無しさん@そうだ選挙にいこう
19/10/08 22:27:00.60 .net
あぁ、前スレから話が続いているのね…

14:名無しさん@そうだ選挙にいこう
19/10/08 22:31:54.98 .net
>>12
社内システムだからチェックボックス内のソースは公開難しいです、申し訳ないです

15:名無しさん@そうだ選挙にいこう
19/10/08 22:32:04.52 .net
>>12
社内システムだからチェックボックス内のソースは公開難しいです、申し訳ないです
>>13
うるさくてごめんね

16:名無しさん@そうだ選挙にいこう
19/10/09 00:28:21.67 .net
すいません 2016(2010もあります)win10なんですが
久々に月データを追加して作成途中なんですが
月データを追加するとグラフの右端が短く表示され
切れてしまうのですが色々試行錯誤しましたがダメです
どなたかお助けいただけないでしょうか(ノД`)
よろしくお願いいたします

URLリンク(i.imgur.com)
新 作成中
URLリンク(i.imgur.com)

17:名無しさん@そうだ選挙にいこう
19/10/09 04:24:00.69 .net
セルAと数値とセルBの数値の大きいほうを選んでセルCで計算させる方法を教えてください。あとセルBが空白の時はセルAを優先。お願いします。

18:ぴころ
19/10/09 07:13:12.88 .net
>>17
=MAX(A1,B1)+計算ほにゃら(^▽^)

19:名無しさん@そうだ選挙にいこう
19/10/09 07:35:33.94 .net
>>18
ありがとうございます!

20:名無しさん@そうだ選挙にいこう
19/10/09 10:46:28.21 .net
>>8
見直してみましたがどうしても解決しません・・
前スレにあったforループ の中にi=i +1があるというのはどういうことでしょうか?

21:名無しさん@そうだ選挙にいこう
19/10/09 11:18:07.51 .net
>>20
instr内のダブルクォーテーションがおかしい

22:名無しさん@そうだ選挙にいこう
19/10/09 11:33:29.85 .net
>>20
解決に結びつくか知らんけど、いろいろと羅列するぞ
For i=1 to 20 : Debug.Print i; : i=i+1 : Next
If InStr(anchor.ID, "○○○" & i - 1) > 0 Then
For without Next

23:名無しさん@そうだ選挙にいこう
19/10/09 15:19:47.85 .net
>>22
1個目はfor処理が一つもされなくなる、
2個目はこちらの記載ミスでしたので直しました、
3個目は修正候補=と出て記載ができませんでした・・

24:名無しさん@そうだ選挙にいこう
19/10/09 16:24:26.66 .net
なんだこのうんこの塗りあいみたいなやりとり死んでくれねーかな

25:名無しさん@そうだ選挙にいこう
19/10/09 16:35:24.34 .net
うんこスレにようこそ

26:名無しさん@そうだ選挙にいこう
19/10/09 19:18:21.34 .net
iが飛び飛びになってるのはどう確認したの?
単に、1つおきにしかIfの条件に当てはまらなくて、飛ばされているのではなく?

27:名無しさん@そうだ選挙にいこう
19/10/09 19:22:53.84 .net
>For without Next
本当にそんな使い方があるのかと思ってしまった。

28:名無しさん@そうだ選挙にいこう
19/10/09 19:32:52.34 .net
>>26
該当するIDが
○○○0
○○○2
○○○4
しかクリックされないので、iに1.3.5…しか入ってないのかと。

29:名無しさん@そうだ選挙にいこう
19/10/09 19:49:27.10 .net
>>27
俺はエラーメッセージかと思たわ

30:名無しさん@そうだ選挙にいこう
19/10/09 19:57:28.36 .net
想像で決めつけずに実際にどうなってるかちゃんと確かめてくれ

31:名無しさん@そうだ選挙にいこう
19/10/09 20:49:25.72 .net
うんこ!うんこ!言うな!みんな真面目に話してしてるんだ!!邪魔するな!!

32:名無しさん@そうだ選挙にいこう
19/10/09 21:51:24.06 .net
>>31
みんなうんこの話してるんだ!!邪魔するな!!

33:名無しさん@そうだ選挙にいこう
19/10/09 22:18:20.19 .net
バカが想像で質問してるのに答えられるわけねーだろ考えるだけ損だ
だいたいなんでVBAでチェックボックスにチェック入れてんだよ死ねよ

34:名無しさん@そうだ選挙にいこう
19/10/09 22:34:48.85 .net
何カリカリしてんの?肩の力抜けよ

35:名無しさん@そうだ選挙にいこう
19/10/09 22:45:06.51 .net
分かる連中はバカに付き合いたくないから無視してるから
答えるのも手探りのバカばっかでうんこの塗りあいになってんだよ
勘弁してくれよ

36:名無しさん@そうだ選挙にいこう
19/10/09 22:49:29.76 .net
しかもhtml側の問題だろ
なんでExcelのスレでそんなもん面倒見なきゃなんねーんだよ

37:名無しさん@そうだ選挙にいこう
19/10/10 15:23:41.62 .net
>>30
確認したところ、debagprintでも1〜20と推移しましたし、ステップインでも正常に動作したのに本番環境だとうまくいきませんでした。

38:名無しさん@そうだ選挙にいこう
19/10/10 17:42:45.28 .net
>>37
exit forをやめてみる

39:名無しさん@そうだ選挙にいこう
19/10/10 18:11:01.25 .net
anchor.Click の位置に、debug.print anchor.ID を入れる
それで問題無ければ、 Click がうまくいかなかっただけと考え、Sleep とかを適所に差込む
使い方は調べて
でも、きれいに一つおきになったのは謎
チェックボックスなのにTagName("select")なのもあやしい
というより、セレクトボックスに連動してチェック入ってるだけでは?
そうなると、htmlの構造を調べろという事で、そこから先はスレチ

40:名無しさん@そうだ選挙にいこう
19/10/10 18:40:03.32 .net
ループ内でclickしてるのも終わってるな

41:名無しさん@そうだ選挙にいこう
19/10/10 18:40:31.85 .net
バカほどしつけーんだよな
頑張ってくれや

42:名無しさん@そうだ選挙にいこう
19/10/10 19:41:27.62 .net
いちいちあげんな
ゴミ同士まとめて死ね

43:名無しさん@そうだ選挙にいこう
19/10/10 19:44:52.93 .net
>>42
アンタこのスレに無理にとどまっている必要無いんだよ?

44:名無しさん@そうだ選挙にいこう
19/10/10 19:48:25.85 .net
>>37
じゃあIDが本当に合ってるか

45:名無しさん@そうだ選挙にいこう
19/10/10 20:16:27.32 .net
Excelって奥深いなぁ。素人だけどそう思うわ。

46:名無しさん@そうだ選挙にいこう
19/10/10 21:21:02.99 .net
Excelが、というよりVBAが使えるオフィス製品全部ね。
一見、オマケで付いてるように見えて、実はメイン部分より凄いっていう。

47:名無しさん@そうだ選挙にいこう
19/10/10 21:34:39.09 .net
用途が違うから凄さ比較はおかしい

48:名無しさん@そうだ選挙にいこう
19/10/10 22:00:20.60 .net
Sub test()
With Workbooks("book1.xlsx").Worksheets("sheet1")
.Activate
.Range("A1").Select
.PasteSpecial Format:="HTML"
End With
End Sub
別のブックにHTMLファイルをペーストするコードですが、他にシンプルな書き方があれば教えてくだい

49:名無しさん@そうだ選挙にいこう
19/10/10 22:02:43.45 .net
↓こういう、エクセルを説明する時の定番の表ってあるじゃないですか。
りんご  1個
みかん  2個
もも   12個
合計   15個
でも俺的には、↓こういうのをお勧めしたい。
ケナーパーカー    42点
ナーフフェンシング  21点
ナーフゴルフ      22点
合計         -6000点

50:名無しさん@そうだ選挙にいこう
19/10/10 22:06:46.96 .net
>>48
コピーもしないでどうやって貼り付けるのかと思ったわ。

51:名無しさん@そうだ選挙にいこう
19/10/10 22:08:42.50 .net
Sub スコーン()
 Workbooks("book1.xlsx").Worksheets("sheet1").Range("A1")..PasteSpecial Format:="HTML"
End Sub

52:名無しさん@そうだ選挙にいこう
19/10/10 22:08:50.77 .net
>>50
すみません、コピーは手動なので省いています

53:名無しさん@そうだ選挙にいこう
19/10/10 22:23:38.82 .net
sub テスト()
dim i as integer
i=1
range("b3").select
for i = 1 to 20
activecell.value = i
i=i+1
activecell.offset(1.0).select
next
End sub
すいません、これを実行したら1.3.5.7.11.13.15.17.19といった奇数しか出ません。1から20までようにするにはどうしたらいいですか?よろしくお願いします。

54:名無しさん@そうだ選挙にいこう
19/10/10 22:27:35.63 .net
i=i+1いらなくね?

55:名無しさん@そうだ選挙にいこう
19/10/10 22:39:07.95 .net
>>51
動作確認しましたが、1004エラーになりました

56:名無しさん@そうだ選挙にいこう
19/10/10 22:41:27.94 .net
>>55
..ってそのまま打ったんじゃあるまいな

57:名無しさん@そうだ選挙にいこう
19/10/10 22:42:17.21 .net
>>56
構文エラーになるのでわかります

58:名無しさん@そうだ選挙にいこう
19/10/10 22:51:40.57 .net
LOOKUPでリストから情報を抽出、さらに数式
を多用しているシートをVBAで連続印刷したい
のですが、少し計算処理が遅い感じになって
ます。
数式を多用することで、VBAの連続印刷より計
算が遅れる現象ってあるのでしょうか。

59:名無しさん@そうだ選挙にいこう
19/10/10 22:53:17.32 .net
>>57
では何もコピーしてないんじゃないのか

60:名無しさん@そうだ選挙にいこう
19/10/10 22:58:36.94 .net
>>59
マクロ実行前に手動でコピーしてます
同じやり方で>>48は成功してます
もしかしたら、マクロ上でコピーするのであれば>>51は成功するのかな

61:名無しさん@そうだ選挙にいこう
19/10/10 23:08:23.64 .net
>>60
Workbooks("book1.xlsx").Worksheets("sheet1").PasteSpecial Format:="HTML"

62:名無しさん@そうだ選挙にいこう
19/10/10 23:23:32.96 .net
>>61
ありがとうございます
book1のペーストの位置がアクティブシートのセル位置なので、アクティブシートのセルを任意のセルにセレクトするコードは必要ですね

63:名無しさん@そうだ選挙にいこう
19/10/10 23:31:04.57 .net
違う書き方を探してたのか、最初の質問見てなかったわ

64:名無しさん@そうだ選挙にいこう
19/10/11 13:07:37.31 .net
Workbooks("book1.xlsx").Sheets(1).Range("A1:A1").PasteSpecial "HTML"
sheet1がアクティブにならないのと、事前にHTMLをコピーしとかないと1004エラーになるよ
sheet1が左端にない場合は番号を変える

65:名無しさん@そうだ選挙にいこう
19/10/11 14:57:30.71 .net
「移動」と「HTML貼り付け」がしたいならこんな感じじゃないの
'Move to the target book-sheet-cell
Application.Goto Workbooks("book1.xlsx").Worksheets("Sheet1").Range("A1")
'Paste clipboard contents
ActiveSheet.PasteSpecial Format:="HTML"
RangeオブジェクトのPatesSpecialには引数Formatは無いから、Worksheetオブジェクトの方を使わないと駄目

66:名無しさん@そうだ選挙にいこう
19/10/11 19:15:39.54 .net
>>65
話はその次の部分だぞ

67:名無しさん@そうだ選挙にいこう
19/10/11 19:18:43.79 .net
小文字を大文字にしたいのですが↓の間違えている個所を教えてください<(_ _)>
i = Cells(Rows.Count, 1).End(xlUp).Row
Range("A2:A" & i).Value = Application.UCase(Range("A2:A" & i))

68:名無しさん@そうだ選挙にいこう
19/10/11 19:41:31.73 .net
>>67
Application.UCase(Range("A2:A" & i))

69:67
19/10/11 20:05:33.63 .net
>>67
ありがとうございます<(_ _)>

70:名無しさん@そうだ選挙にいこう
19/10/11 20:19:33.90 .net
>>67
ucaseはvba関数だからapplicationいらなくて、
配列は処理できないから個々のセルごとに処理しないと駄目
dim rng as range, i as long
i = cells(rows.count,1).end (xlup).row
for each rng in range("A2:A" & i)
  rng.value = ucase(rng.value)
next

71:名無しさん@そうだ選挙にいこう
19/10/11 20:25:22.65 .net
Cells(1,"A")と書かず、判りにくいCells(1,1)と書くのはなぜ?
ネットの記述とか見ててもCells(1,"A")と書いてるの見たこと無い

72:名無しさん@そうだ選挙にいこう
19/10/11 20:30:54.73 .net
一番の理由は速度が出るからだろうね
特に大量のセルが絡むループ処理内で文字列使うと遅くなる
1つとかなら好みでいいんじゃないの。それならRange使えばってなるけど

73:名無しさん@そうだ選挙にいこう
19/10/11 20:51:54.15 .net
>>71
慣れ
基本cellsはループ内で使うから文字列で書く理由がない
速度は気にしたことない
>>72
>1つとかなら好みでいいんじゃないの。それならRange使えばってなるけど
には全面的に同意
何らかの理由(テンプレートの動的生成みたいな)ものならセル範囲をrabgeで指定することはある

74:名無しさん@そうだ選挙にいこう
19/10/11 20:58:08.60 .net
>>71
列番号で処理したい時にCellsが使われることが多いから

75:名無しさん@そうだ選挙にいこう
19/10/12 05:56:18 .net
条件付き書式を書き込んだ行ををコピ-挿入すると同じルールが行毎にがどんどん増えていって困ってます。
同じルールで適用先の範囲が増えていくように設定するにはどうやったらいいんでしょうか?

76:
19/10/12 07:36:56 .net
>>75
列を挿入してから形式を選択した貼り付けじゃだめ?

77:名無しさん@そうだ選挙にいこう
19/10/12 10:39:47.97 .net
>>76
 ありがとうございます。
 マクロ編集でなおりました。
 どういう内容なのか忘れましたが、
  Application.CutCopyMode = False
Selection.AutoFill Destination:=Range(K11:K12), Type:=xlFillDefault
Range("K11:K12").Select

78:名無しさん@そうだ選挙にいこう
19/10/12 20:12:51.49 .net
関数の質問はここでいいのでしょうか?
excel2013、windows7使用しております。
文字列の比較での質問です。
比較元の左端から1文字ずつ比較をし、最も文字数一致が
多かった比較先の行の別内容を表示させたいのですが、どうすればできるのでしょうか。
たとえば、
比較元「あいうえお」
比較先(固定リスト) data1「あいう」,data2「あいうえお」,data3「えお」
結果「data2」
と、極力計算用の列を追加させずに1つの関数で計算させたいです。
(比較したい元データが1200件程度あるので)
宜しくお願いいたします。

79:78
19/10/12 20:16:05.25 .net
若干誤解を招く部分がありました。
1文字ずつ比較したいので、
比較元「あいうえお」
比較先のdata2を「abおえcあうdいe」とした場合でも、一致した文字数を"5"と
返すような計算をしたいです。

80:名無しさん@そうだ選挙にいこう
19/10/12 20:39:29.32 .net
比較元の文字数は?

81:78
19/10/12 20:47:47.63 .net
>>80
日本語で20文字〜45文字程度とバラバラです。
補足ですが、比較先データのリストも1200件程度あります。

82:名無しさん@そうだ選挙にいこう
19/10/12 21:35:20.64 .net
>>81
VBA使わないと計算用の列増えそう

83:名無しさん@そうだ選挙にいこう
19/10/12 21:43:49.79 .net
比較元「あいうえお」比較先「あああ」の一致数は1?3?

84:78
19/10/12 22:05:50.76 .net
>>83
3です。
計算用の列が増えても、最終的に無事表示することができれば大丈夫です、、、
現時点では、一致文字数を表示する関数自体はsumproduct,midで実現できており、その計算列に対しindex,match,maxで内容を表示することができていますが、それだと比較元1件ごとに列が必要となってしまうので、、、
(教えてもらった方法なので今いち仕組みがよくわかっていませんが、、、)

85:名無しさん@そうだ選挙にいこう
19/10/12 22:19:58.61 .net
>>84
比較元1文字ごとではなく1件ごと?

86:名無しさん@そうだ選挙にいこう
19/10/12 22:20:58.90 .net
比較元は1つだと思ってたが違うのか?

87:名無しさん@そうだ選挙にいこう
19/10/12 22:24:45.31 .net
>>78
VBAで関数を作れば1つの関数でできる
VBAなしでは無理

88:78
19/10/12 22:42:12.08 .net
説明がへたくそでごめんなさい。
比較したいデータが1000件以上あり、1件ずつかつそれぞれ1文字ごとに比較先リストと照らし合わせ、そのリストの中で一致文字数が最も多かったデータ行を返したい、という意味でした。

89:78
19/10/12 22:57:21.60 .net
具体的に説明させていただきます。
相手会社名、摘要、科目などがデータとしてあります。
この時点では「果物費用」などとざっくりとしか分かれていないので、これらの情報を元に「A商店 バナナ費用」「B商店 りんご費用」のように細かく分けていきたいんです。。。
前年度データが比較先リストです。これについては既にバナナ費用等と細かく分かれています。(前任者が目視で確認しながら分けていったものです)
そして、今年度データが比較元です。まだバナナ費用等と分かれていないので、どうにか目視ではなく関数で分けたいなと思い質問いたしました。
相手先や摘要は複数名が入力しているデータのため統一性がありません。同じA商店でも、エー商店や商店エイとなっていたりしています。
そのため、前任者は目視でやっていたようです。

90:名無しさん@そうだ選挙にいこう
19/10/12 23:52:59.67 .net
どちらにしろVBA使わなきゃ作業列が増える気がする
それに先にやるべきは入力を統一させること…

91:名無しさん@そうだ選挙にいこう
19/10/14 03:49:25.60 .net
MOSのような説明書的なものではなく実務でのExcelの使い方の要領を知りたいんですが、みんな独学なんですか?
いい講座があれば知りたい…

92:
19/10/14 06:35:40 .net
実務自体が千差万別だからこれと言った講座はない
強いて言えば入社後の社内研修とかがこれに当たるかね
おとなしくMOS受けとくのが良い

93:名無しさん@そうだ選挙にいこう
19/10/14 08:01:34.63 .net
MOSってマニュアルレベルを精度高く覚えることなんじゃないの?
応用実践の力つくの?

94:名無しさん@そうだ選挙にいこう
19/10/14 08:04:35.38 .net
365だからMOSの勉強できないんだが

95:名無しさん@そうだ選挙にいこう
19/10/14 08:49:26.12 .net
>応用実践の力つくの?
付かない、というかそんなもん実践でしか付かんよ
サイトでも本でもデータが整っている前提だけど、基本的に現場なんてデータはバラバラの状態で存在する
それを修正する所から始める

96:
19/10/14 10:52:48 .net
MOS受かれば職場で重宝されるよ
「ググるよりXXさんに聞く方が早くて」

97:名無しさん@そうだ選挙にいこう
19/10/14 11:21:24 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

語群がSheet1のA列にあったとします。
Sheet2のA列に少し長めのテキストが並んでが入っていたとして、
語群のキーワードがいくつ含まれるかSheet2のB列にカウント表示させたいです。
どうすればできるでしょうか?

98:名無しさん@そうだ選挙にいこう
19/10/14 11:40:39.31 .net
>>97
こんな感じかねぇ
URLリンク(i.imgur.com)
B2=COUNTIF(C2:E2,TRUE)
C2=IFERROR(FIND(C$1,$A2),0)>0
Excelはどれかの文字列が入っているって処理はやや苦手

99:名無しさん@そうだ選挙にいこう
19/10/14 13:21:24.56 .net
>>91
講座や解説書ではこういうことができるんだなっていう理解はできるかもしれないが、実用技術を身に付けるのは難しい
やりたい処理をひたすら調べて実際に動かしてみるというのを積み重ねてるうちに身に付いてる

100:97
19/10/14 14:12:06.21 .net
>>98
条件を元にお願いします。

101:名無しさん@そうだ選挙にいこう
19/10/14 14:53:23.41 .net
>>100
>語群がSheet1のA列にあったとします。
これを行列入れ替えでsheet2の1行目に貼り付けるだけだよ
その貼り付けが嫌というならvbaぐらいしか思い浮かばない

102:名無しさん@そうだ選挙にいこう
19/10/14 14:55:32.94 .net
>>100
Sheet1のリストの数だけ作業列がいると思う
だからリストを別シートにせずA列に調べる対象のテキスト、1行目にキーワードを並べる形式にした方がいいと思う

103:
19/10/14 16:45:38 .net
>>97
Sheet2!B1=SUMPRODUCT(--NOT(ISERROR(FIND(Sheet1!A1:INDEX(Sheet1!A:A,COUNTA(Sheet1!A:A)),Sheet2!A1))))

104:
19/10/14 16:49:59 .net
--NOTって何だ・・・

105:
19/10/14 18:15:23 .net
>>93
実戦ではまず使わないだろうってことを知ることが出来るのがMOS
私も独学だけどまずやることがあってそれをどうやったら実現できるかググって少しずつ出来ることが増えてく感じ
うちの職場には関数使えるのが1人だけいて初めその人に教わって
それからVBA使いはじめてそこからは独学
でももともとプログラマだったから全くの初心者からという感じではない

106:
19/10/14 18:32:46 .net
>>105
自分語りはブログあるいはチラシの裏に

107:
19/10/14 19:10:51 .net
独学ですか?っていう質問に答えてるだけだと思うんだが

108:名無しさん@そうだ選挙にいこう
19/10/14 19:27:51.94 .net
【1 OSの種類         .】 Mac 10.14.6
【2 Excelのバージョン   】 Excel for Mac 16.16.14
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
質問失礼します。
プルダウンリストにした元となる項目の変更方法。(名称など)
仕事で使っているのですが、シートをテーブルにして、プルダウンリストはシートの指定範囲を名前を定義して使っています。指定範囲には商材リストの商材名を入れてあるので、リストから選択をすると横に売価や原価が出るような形にしてあります。
プルダウンリストの元データとなる指定範囲の名称(商材名)を変えると、プルダウンで選択をしたセルでは変更が反映されません。元データの変更をプルダウン側にも反映させたいのです。
例)
変更前
リスト:魚 プルダウン:魚
※プルダウン選択時はリストと名称が一致しているので問題なし
変更後
リスト:魚A プルダウン:魚
※リストに修正を加えてもプルダウンで選択したものは反映されず、一致するデータがないという事なのかリストに紐付けた引用データなどは#N/Aとエラーが出る
このような場合、リストに修正を加えたものをプルダウンの選択にも反映させるにはどのようにすれば良いのでしょうか?
※うまく説明ができずにすみません。
ググってみてもリストの追加、削除に関しては生地が色々とあったのですが、リストそのものを編集に対する反映のさせ方が見つけられませんでした。
アドバイスよろしくお願いします。

109:名無しさん@そうだ選挙にいこう
19/10/14 19:46:18.16 .net
>>108
通し番号でもつけておくしか無いねぇ

110:名無しさん@そうだ選挙にいこう
19/10/14 20:09:44.56 .net
>>108
リストを変えたら手動で選択し直す必要があるよ
自動で変えたかったらVBA使うしかない

111:108
19/10/14 20:29:52 .net
>>109-110

レスありがとうございます。
アドバイスを参考に頑張ってみます。

112:
19/10/14 23:57:03 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Office365
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

画像のように一つのセルに表の数字を表示さたいです。

重複している数字を消して、昇順で並べ替え、数字の間に,を入れるということが可能でしょうか?

URLリンク(i.imgur.com)

113:名無しさん@そうだ選挙にいこう
19/10/15 03:14:45 .net
数字は1から9まででいいんですか?

114:名無しさん@そうだ選挙にいこう
19/10/15 04:02:13.08 .net
あ VBAつかえるんじゃん
別シートにコピーしてシート上で重複削除ソートして整形するのをマクロで処理するか
VBScriptか.NETのArrayListのソートでやるか
てっきり数式限定のパズル問題かと思ったよw

115:名無しさん@そうだ選挙にいこう
19/10/15 11:57:54.80 .net
>>112
@ VBA
A Office インサイダー
=TEXTJOIN(",",TRUE,SORT(UNIQUE(A1:A9)))

116:
19/10/15 12:21:32 .net
>>112
なんとか数式だけで頑張ったけど無理だった
=SMALL(A1:A9,1)&REPT(","&SMALL(A1:A9,1)+1,ROW(A9)-1)
+1の所をなんとか1ずつ増やせられればいけそうだけどわかんないです

117:名無しさん@そうだ選挙にいこう
19/10/15 14:01:04.99 .net
夏の悲劇

118:
19/10/15 20:48:45 .net
>>112
A1〜A9を連想配列に入れる(重複削除)→並べ替え→デリミタに,を指定して結合

119:
19/10/15 23:42:00 .net
>>113-118
皆様お力添えありがとうございます。
参考にして作成してみます。

120:
19/10/15 23:54:17 .net
>>119
出来たら教えてね

121:
19/10/16 19:20:57 .net
エクセルで作ったグラフを、拡張メタファイルなどでワードに貼り付けると結構綺麗なんですが、
同じくらいの綺麗さでエクセルにコピーする方法ありませんか?
エクセルに貼り付けると、何故だか若干ボヤけてしまいます。

122:
19/10/16 19:50:30 .net
貼り付ける時に、図としてとか、リンクとか、画像としてとか、いくつか選択肢があったと思うけど、
適当に選んでれば、そのうち正解にたどり着くのでは?

123:
19/10/16 19:52:59 .net
>何故だか若干ボヤけてしまいます。
眼鏡を替えたらいいと思うよ

124:
19/10/16 20:23:03 .net
>>121
画像サイズが縮小が拡大されてるとか

125:
19/10/16 20:23:28 .net
縮小が拡大→縮小か拡大

126:
19/10/16 21:56:30 .net
>>121
図として貼り付けるとダウンコンされて貼り付けられるから画質落ちるよ

127:
19/10/16 22:02:03 .net
メニューから貼り付けたら綺麗だったはず

128:
19/10/16 22:41:16 .net
>>127
挿入→図だとダウンコンされる
ドラッグアンドドロップだとそのまま貼り付けられるよ

129:
19/10/16 22:41:39 .net
ドラッグアンドドロップだったか忘れたけど

130:名無しさん@そうだ選挙にいこう
19/10/17 00:30:39.79 .net
すいません教えてください 家のPCで使用しています
Office365にバージョンアップ?する前のexcel使用しています
ネット上でやるけど月額払ってない奴です
これでfxボタン押してVlookupを選ぶと関数の引用のダイアログボックスが出ません
会社のPCはエクセル2016で上記のダイアログボックスが出ます
家で仕事しようとしましたがexcel2002しかなくこれでfxボタンを押すと何かをインストールしますでフリーズし止まります
仕方なくOfficeでネットのexcel使ったんですがfxボタンの後、関数を選んでも関数の引用ダイアログボックス出ません
どうしたら表示されますか?

131:名無しさん@そうだ選挙にいこう
19/10/17 01:12:18.45 .net
>>128
いや、形式を選択して貼り付けで

132:
19/10/17 01:16:25 .net
>>130
オンライン版Excelは機能限定版


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

1658日前に更新/33 KB
担当:undef