10/07/16 19:06:29
>>37
ありがとうございます。
読んでみます。
40:名無しさん@そうだ選挙にいこう
10/07/16 20:52:48
>>27
合ってねーじゃんw
「"" を表示させるには」って書いてあるがな
つーか、お前は何が楽しくて生きてんの?
41:名無しさん@そうだ選挙にいこう
10/07/16 20:58:39
>>40
元の質問を最後まで読め
前後のクォートって意味で2つ並べてるだけだろ
例文のどこに「""」が出てくるんだよ
42:名無しさん@そうだ選挙にいこう
10/07/16 21:23:08
>40
だまされたと思って自分で試してみなよ。
顔真っ赤になるからw
43:名無しさん@そうだ選挙にいこう
10/07/16 22:06:31
【1 OSの種類 】 WindowsXP
【2 Excelのバージョン 】 Excel2002
四角い図形の中にある、名前と今日の日付を書き換えるマクロを
自動記録でやってみましたが、動作しません。
どこを直せばいいのか教えてください。
まず最初に構成から。
下記のような四角い図形があり、グループ化になっています。
URLリンク(upload.jpn.ph)
向かって左側のName1は"Rectangle 4"、右側のName2は"Rectangle 5"です。
図2のように、グループ化したままでも、手動ならシングルクリックで
書き換えることができるのに、マクロの自動記録ではできませんでした。
そこで、一度グループ化を解除して、中を書きかえてから
再グループ化したマクロをつくりました。
次に、Name1に当たるところをNAME1 = Range("B3").Value、
今日の日付をDATE1 = Format(Date, "dd/mmm/yy")にしました。
ところが、下記のマクロだと、ActiveSheet.Shapes("Group 9").Selectで
止まってしまい、実行時エラー'-2147024809 (80070057)':
指定した名前のアイテムが見つかりませんでした とメッセージが
出てしまいます。
Sub NAME1を記入()
Dim NAME1 As String, DATE1 As String
NAME1 = Range("B3").Value
DATE1 = Format(Date, "dd/mmm/yy")
ActiveSheet.Shapes("Group 9").Select
Selection.ShapeRange.Ungroup.Select
44:43
10/07/16 22:07:50
'43の続き
Range("B3").Select
ActiveSheet.Shapes("Rectangle 4").Select
Selection.Characters.Text = NAME1 & Chr(10) & DATE1
With Selection.Characters(Start:=1, Length:=14).Font
.Name = "MS ゴシック"
.FontStyle = "標準"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Range("A1").Select
ActiveSheet.Shapes("Rectangle 4").Select
ActiveSheet.Shapes.Range(Array("Rectangle 4", "Rectangle 5")).Select
ActiveSheet.Shapes.Range(Array("Rectangle 4", "Rectangle 5", "Rectangle 6")).Select
ActiveSheet.Shapes.Range(Array("Rectangle 4", "Rectangle 5", "Rectangle 6", "Rectangle 7")).Select
Selection.ShapeRange.Group.Select
Range("B3").Select
End Sub
よろしくお願いします(ペコッ
45:名無しさん@そうだ選挙にいこう
10/07/16 22:33:02
Sub t()
MsgBox ""
End Sub
46:名無しさん@そうだ選挙にいこう
10/07/16 22:49:12
>>43
グループ化解除→再グループ化 すると名前が変わると思うけどそれは確認した?
Nameプロパティで元の名前に戻すとかしないと
47:43
10/07/16 23:00:22
>>46
確認してます。
エラーの原因はそれなんですが、どこをどう弄ればいいのでしょうか?
48:46
10/07/16 23:19:47
>>47
ActiveSheet.Shapes("Group 9").Select
Selection.ShapeRange.Ungroup.Select
'<省略>
Selection.ShapeRange.Group.Select
Selection.Name = "Group 9"
とか
49:名無しさん@そうだ選挙にいこう
10/07/17 15:47:14
【1 OSの種類 】 WindowsXP
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか 】 はい
【4 VBAでの回答の可否】 可
フォーム(コントロールではなく)のコンボボックスで選択して表示ている値(テキスト)を
VBA内で使いたいのです。
ActiveSheet.Shapes(Application.Caller).ControlFormat.Value
で選択した行数を取得することはできました。
しかし、コンボボックスで選択して表示している値をダイレクトに取得する方法はないでしょうか。
よろしくお願いいたします。
(コントロールのコンボボックスについてはやり方をネット上で見つけましたが、
フォームのコンボボックスとは根本的に違うんですね。)
50:名無しさん@そうだ選挙にいこう
10/07/17 16:08:03
>>49
こんなでいいかな?
With ActiveSheet.Shapes(Application.Caller).ControlFormat
hoge = .List(.Value)
End With
51:名無しさん@そうだ選挙にいこう
10/07/17 16:14:52
>>50
出来ました。
サンキュー
11時から悩んでいたのが解決しました。
52:名無しさん@そうだ選挙にいこう
10/07/17 19:22:06
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel 2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 自動 能動 変更 indirect offset
URLリンク(2ch-ita.net)
他のシートの数字を、特定のセルに入力した数字で指定した先から拾ってくるような仕組みを作りたいです。
上の写真の自転車工場のラインの例では、
「最終工程」のシートの「生産」(オレンジ色)の数字を
「組立3」のシートの「払出」(緑色)に反映させたいのですが、
払出先が頻繁に変わるため、「組立3」シートの「次部品」の欄(青いD4,D5)に
「ママチャリ」などと払出先を入力することにより、自動的に「ママチャリ」という文字の横にある生産セルから
タイヤの払出セルに数字が反映されるようにしたいです。
稚拙な説明で恐縮ですが、どうかご教示お願いいたします。
53:名無しさん@そうだ選挙にいこう
10/07/17 19:26:58
【1 OSの種類 】 WindowsXP
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか 】 はい
【4 VBAでの回答の可否】 可
またまた質問させて頂きます。
フォーム(コントロールではなく)の入力すみのコンボボックスの名前を指定して初期化したい
(VBAで初期化したい)のですが、どうしたらいいのでしょう。
(自分でいろいろ調べましたがフォームのコンボボックスについては見つからません>< )
54:名無しさん@そうだ選挙にいこう
10/07/17 21:22:46
>52
index/match/offset
55:14
10/07/17 22:28:58
>>18
遅くなってすみません。
レスありがとうございます。
もし古い方をあとから入れてしまった場合どのようなことがおきますか?
すみませんが、よろしくお願いします。
56:名無しさん@そうだ選挙にいこう
10/07/17 22:40:34
>>53
自己レスですがわかりました。
「リンクするセル」に入っている値をクリアすれば良かったみたいです。
どうもお邪魔しました。
57:43
10/07/18 00:13:39
>>48
すみません、
ActiveSheet.Shapes("Group 9").Selectで止まってしまうんですが・・・ orz
58:52
10/07/18 01:52:16
ご回答ありがとうございます。
3時間ほど調べてみましたが、目的の数値を参照する方法などがよくわかりません。
「組立3」シートの「I4」セルに、「最終工程」シートの「I5」の数値を表示したい場合、
OFFSET関数については、基準となるのが「最終工程」シートの「ママチャリ」というセルのため、
ママチャリのセルから下に1、右に8離れているため、OFFSET(??,1,8,0)という数式がおぼろげながら分かりました。
MATCH関数は「C4」で指定の「最終工程」シートから「D4」で指定の「ママチャリ」という単語を探したい場合、
=MATCH(D4,INDIRECT("'"&C4&"'!検索範囲"),0)
という数式だと思われるのですが、正常に動作しません。
また、INDEXについてどこで使ってどう組み合わせてひとつの数式にするのがわかりません。
「I4」セルに入れる数式についてお手本を作っていただけませんでしょうか?
よろしくお願いいたします。
59:複乳
10/07/18 07:32:17
>>55
PCが爆発するよ
っていうのは嘘だけど
バージョンによって挙動も違うし、何も起こらないかもしれない。
ただ被害を抑えたければ正しい順番で再インストールした方がいいと思う
>>57
Selection.ShapeRange.Ungroup.Select 'グループ解除
'<省略>
Selection.ShapeRange.Group.Select 'グループ化
Selection.Name = "Group 9" '名前設定
だから、省略の内部で別の図形をselectしているとうまくいかない
下のように、グループ化直前にselectする
Selection.ShapeRange.Ungroup.Select 'グループ解除
'<省略>
ActiveSheet.Shapes.Range(Array("Rectangle 4", "Rectangle 5", "Rectangle 6", "Rectangle 7")).Select
Selection.ShapeRange.Group.Select 'グループ化
Selection.Name = "Group 9" '名前設定