[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 12/14 12:55 / Filesize : 253 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Excel VBA質問スレ Part5



1 名前:デフォルトの名無しさん [2007/12/12(水) 17:27:44 ]
ExcelのVBAに関する質問スレです

質問前に 【 >>2-3 】 あたりを良く読むこと

前スレ
pc11.2ch.net/test/read.cgi/tech/1189814602/

52 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 00:25:54 ]
>>51
そこだと変なクセがつかないか?
最近見てないけど、前みたときはあまりいい内容ではなかった。

53 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 10:42:55 ]
>>50
VBAエキスパートの参考書をやってから
あとはリファレンスとして上記のEXCELでお仕事を参照すればいいと思う

54 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 15:21:49 ]
稚拙なHPを読んで機会損失するコストを考えたら、3,4千円の書籍を購入する
コストは非常に安い。

55 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 15:40:30 ]
どの言語もそうだけど最終的に書籍はリファレンスだけしか要らなくなる

56 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 18:59:33 ]
あのサイトの人、VBAに関してはかなり下手だぞ?
VBAのリファレンスにはならねーな。

57 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 19:37:34 ]
ほとんどの人が代案を出せずに
一人の出した案を叩くばかりという状況にワロタ

まあ、ここの回答陣がVB(A)初心者だったのが
何年前かと考えると…
古すぎてもう売ってないとか
対応バージョンがExcel95とか、
当時はWebとかほとんど無かったとか
そもそも他言語から入ったとかだろうから
仕方ないだろうけど。

>>50
まあAmazonの書評でも見るか
(これもあてにはならないが、ここよりは…)

もしくは適当なVBA本の著者名でぐぐると
サイト持ってて入門編を公開している人もいたりする。

58 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 21:25:06 ]
田中亨おすすめ。
mougの人は嫌い。

59 名前:デフォルトの名無しさん [2007/12/17(月) 10:52:50 ]
>>49
replaceは名前としては一切使ってないのですが
(過去にそのプロシージャ内で使ったことがあるかも・・・)
なぜか、小文字です・・・。

あと、古いExcel97では、replace使えないんですね。ショック・・・
サブルーチンで誰か作ってないかな。

60 名前:デフォルトの名無しさん [2007/12/17(月) 10:59:20 ]
>>48
ありがとうございます



61 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 14:47:55 ]
>>59
Excel97でもOSが古すぎない限り(古くてもWSHをインストールすれば)
ツール→参照設定で
「Microsoft VBScript Regular Expressions 5.5」に参照設定して
RegExpオブジェクトの.Replaceを使えば

ただしReplace関数より機能は高いが
正規表現な分ハードルも高い。

62 名前:デフォルトの名無しさん [2007/12/17(月) 17:55:16 ]
>>61
ウホッ
確かに難しそうだ

63 名前:デフォルトの名無しさん [2007/12/17(月) 18:15:07 ]
>>59
横レスだが、折れも、ずいぶん前に、何ヶ月前ぐらいかな?
何かの時にrangeが1カ所だけRangeにならないことがあった。いろいろと試していたときだった。そこだけ、いろいろと書き直しても小文字のままだったので、
折れも同じように、気になって聞いたが、誰も答えようがなかったみたいだった。
チャンと動いておれば、気にしないでオケw


64 名前:デフォルトの名無しさん [2007/12/17(月) 19:04:02 ]
*.shapes(1).DrawingObject.Text = *.Cells.Value(1.1)

' ↑(Chart)              ↑(Sheet)

EXCEL2000だと正常に動作する上記のようなコードがあります。
EXCEL2007だと、
"指定したコレクションに対するインデックスが境界を超えています。"
というようなエラーが出てしまいます。
(上記コードをコメントアウトすると正常終了します)
普通のシートのセルの文字列を、グラフシートのラベルにコピーする
コードなのですが、2日ほどひたすら検索しましたが、
何が原因なのかがわからない状況です。仕事場からソースを持ち帰ること
ができないので、これだけでは解析不能かもしれませんが、
何かヒントでも頂けたら幸いです。よろしくお願いいたします。

65 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 19:58:17 ]
マクロを記録して味噌

66 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 20:16:50 ]
Range("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Select
Selection.Delete shift:=xlShiftUp

で「A列に何も入っていない行」を削除できますが、
「A列およびB列に何も入っていない行」は削除できませんでしょうか?

Range("A:B").〜とすると
「A列もしくはB列に何も入っていない行」になってしまいます。

結局for〜nextでCells(i,1).value&Cells(i,2).value=""かどうか調べて、みたいなので
動くことは動いたんだけどなにか簡単な方法はないかと。


67 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 22:04:20 ]
>>64
前後関係意味不明
上限がいいかげんなループの中でShape回してるんジャマイカ?

>>66
ない
Range("A:B")とやったところで内部的には1次元でしかないので

68 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 22:35:37 ]
ユーザーフォーム(モードレス)を残してワークシート最小化し
フォーム上のボタンを押してファイル選択ダイアログをだしているんですが
ファイル選択ダイアログがマウスクリックを受け付けてくれません
EXCEL 2000だと問題なく動くのですがEXCEL XPだとこの症状がでます
回避策ないでしょうか

69 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 22:42:18 ]
コードさらせアホが。二度手間じゃ

70 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 22:51:51 ]
こんな感じです
Private Sub Workbook_Open()
Dim oldState
oldState = Application.WindowState
Application.WindowState = xlMinimized
AppActivate "Microsoft Excel"
UserForm1.Show vbModeless
End Sub

Private Sub CommandButton1_Click()
Dim fname As String
fname = Application.GetOpenFilename(fileFilter:="txtファイル(*.txt),*.txt,txtファイル(*.txt),*.txt", Title:="txtファイルを選択")
If fname = "False" Then
Exit Sub
End If
End Sub



71 名前:デフォルトの名無しさん [2007/12/18(火) 12:32:52 ]
inputboxを、カイル君や冴子先生のようにするには?
とカイル君に聞いても教えてくれなかった。

72 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 12:56:20 ]
モードレスは対応するバージョンがあるぜ

73 名前:デフォルトの名無しさん [2007/12/18(火) 14:14:14 ]
inputboxの外観でググっても出ないな。

74 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 17:24:28 ]
>>68
何も確認せずにレスするんで恐縮だが、最小化じゃなくて、非表示(App~.Visible)とかじゃダメ?


75 名前:デフォルトの名無しさん [2007/12/18(火) 18:54:33 ]
>>65
>>67
ありがとうございました。
マクロの記録で確認しましたところ、shapes〜となるのですが、
そのコードで再度実行すると、やはりそこでエラーになってしまいました。
それからまたいろいろと調べていたところ、下記を参考にして解決いたしました。
やはり、EXCEL2007が原因だったようです。
www2.moug.net/bbs/exvba/20070920000006.htm

76 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 19:33:13 ]
コントロールを扱うための知識はコントロールそのものではなく、
実はコレクションってのがVBAの真理だったりする

77 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 22:55:28 ]
>>74
指摘のとおりに変えたらEXCEL XPで動きました ありがとうございます
明日EXCEL2000でも確認してみます

78 名前:デフォルトの名無しさん [2007/12/19(水) 05:50:53 ]
特定の範囲内でランダムに1つのセルの値(文字列)だけ残して他を消す(又は表示させない)
ようにしたいんですがなにか方法ないでしょうか。
ランダムに複数セルの値を取得する→消去 の流れでいいんでしょうか。
ご教授願います。すれ違いだったらすいません。

*例えばA1〜A5に文字列が入力されていて、マクロを実行したらA1のセルの値のみがのこって他を
消すようにできないかと思います。

79 名前:デフォルトの名無しさん [2007/12/19(水) 09:42:17 ]
マクロ歴三日の私が通りますよ

Sub rand()

Range("D" & 1).Formula = _
"=round(rand(),1)*10"

i = Range("D1").Value
Range("A" & i).Select

makura = MsgBox("are you sure to erase?", vbOKCancel)
If makura = vbOK Then Selection.ClearContents

End Sub


80 名前:デフォルトの名無しさん [2007/12/19(水) 09:46:00 ]
あ、残すのか・・・
英語とか・・・色々すまん煎ってくるわ



81 名前:デフォルトの名無しさん [2007/12/19(水) 10:06:52 ]
Sub rand()

yarinaosi:
Range("D" & 1).Formula = _
"=round(rand(),1)*10"

i = Range("D1").Value
If i = 0 Then GoTo yarinaosi

Range("A" & i).Select
Selection.Cut
Range("B" & i).Select
ActiveSheet.Paste
Range("A1:A10").Clear
Range("B" & i).Select
Selection.Cut
ActiveCell.Offset(0, -1).Select: ActiveSheet.Paste

End Sub

82 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 12:15:59 ]
>>81
その式だと10になる確率が低いんじゃねーのか?
9になるのはround(rand(),1)が8.5以上9.5未満の1の幅があるが
10になるのは9.5以上で半分の幅しかねーな。
ROUNDなんか使っちゃいかんよ。

Range("D1)..Value = Int(Rnd*10)+1
とすれば1〜10の確率はそれぞれ10パーセントだ。

83 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 12:20:56 ]
ちょっと書き直し
9になるのはrand()が0.85以上0.95未満の0.1の幅があるが
10になるのは0.95以上で半分の幅

84 名前:79,81 [2007/12/19(水) 14:14:48 ]
>>83
うーむ、なるほど。

85 名前:デフォルトの名無しさん [2007/12/19(水) 17:53:38 ]
絶対パス付きを取得し、変数filepathに、ファイル名をfilenameに入れて、ファイルを開こうとしています。
しかしフォルダ名に空白があると存在しませんとエラーがでます。
openfile filepath & filename
どのように書けばよいのでしょうか?

86 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 18:00:58 ]
openfileが悪さしてる

87 名前:デフォルトの名無しさん [2007/12/19(水) 18:06:15 ]
trimしてみては?

88 名前:デフォルトの名無しさん [2007/12/20(木) 05:13:01 ]
htmlの指定したタグの中身を取り出す関数(メソッド?)ってどういうものでしたっけ?
GetOuterHtmlみたいな感じの名前でしたが、手元にVBがなく、ググってもでてこない


89 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 07:41:31 ]
分かってないのに分かったような物言いをしたところで間抜けであることは変わらない

90 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 09:53:17 ]
>>88
スレ違い



91 名前:デフォルトの名無しさん [2007/12/20(木) 11:06:38 ]
以前質問させてもらった者ですが

1+2+3+4+……+100

この和を繰り返し文を使用して出せというのがいまだにわかりません。
この場合For文を使えばいいんでしょうか?
無知で申し訳ないです。

92 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 11:39:16 ]
>>91
スレ違い    For文でできる。 どうしても分からなければVBスレで。


93 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 12:07:29 ]
dim a(100) as integer

for i=1 to 100
a(i) = i
next

msgbox (a(1) + a(100))/2*100

94 名前:デフォルトの名無しさん [2007/12/20(木) 15:01:54 ]
>>90
以前エクセル付属のVBAで使った記憶があるのですが

95 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 15:13:37 ]
>>94
Microsoft HTML Object Libraryを参照設定して、F2でMSHTMLを眺めて、ググるなりしろ。
これ以上の質問はVBスレでやれ。

96 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 16:04:23 ]
>>93
ワロタw


97 名前:デフォルトの名無しさん [2007/12/20(木) 16:19:13 ]
Sub nnn()
Dim a As Variant
Dim i As Byte
Dim sentence As String
Dim sentence2 As String
''''''''''''''''''''''
Range("A1").Formula = "I am Japanese."

a = Array("I", "am", "Japanese", "living", "in", "USA", ".")
For i = 0 To 6

sentence = Range("A1").Value
sentence2 = Replace(sentence, a(i), "", 1)

Next i

MsgBox sentence2
End Sub


このプログラムで、sentenceをa配列全て使って、
置換したいのですが、
array中の最後の文字しか変換されません。
どうすればよいでしょうか...

98 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 16:32:06 ]
>>97
かろうじてExcel要素が混じってるが、基本はExcel関係ないぞ。

Forの行にブレークポイントを設定して、ステップ実行させながら、変数の中を見てみろ。

99 名前:デフォルトの名無しさん [2007/12/20(木) 17:03:25 ]
>>98
置換したはずの文字が、ふ、ふ、復活しているよっ!

100 名前:デフォルトの名無しさん [2007/12/20(木) 17:14:26 ]
あ、sentence2はsentenceでいいのか。
むずかしい



101 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 18:53:05 ]
とりあえずUSAには定冠詞のTheを付けるように

102 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 19:18:31 ]
>>91
学校の宿題だったっけ?
>>93のFor Nextで合格点もらえるよ。


103 名前:97 [2007/12/21(金) 09:11:06 ]
この文の位置か・・・
sentence = Range("A1").Value

104 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 19:29:12 ]
もしかしてVBAってMax(i1,i2,i3)みたいなのって無し?
セルの比較ならApplication.Maxとかでいいけど変数の最大値を取得したいときはどーすれば?


105 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 20:31:42 ]
セルに代入してapplication.max使えばいいんじゃね?

106 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 20:53:11 ]
ヘルプ見ろよ

107 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 21:47:26 ]
10分もありゃ汎用性の高い自作関数作れるだろ

108 名前:デフォルトの名無しさん [2007/12/22(土) 00:34:48 ]
汎用性の高い自作関数 例えば?


109 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 03:17:54 ]
型の範囲を意識しなくていい関数はかなり便利
integerの範囲以上の値入れていちいちエラートラップするのはうざいからな


110 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 08:44:23 ]
integerの範囲以上の値入れていちいちエラートラップする

・・
Variant・・・



111 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 13:51:20 ]
丸め誤差を極力減らしたいのですが、式を記載する上で注意しておきたいことを教えてください。

112 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 16:26:16 ]
>>111
整数で演算する

113 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 18:24:32 ]
除算を使わない

114 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 18:26:38 ]
計算をしない

115 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 19:43:29 ]
電卓で計算して、Excelに手作業で貼り付け


w

116 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 22:39:18 ]
極力ってことは・・・一気に計算したら?

117 名前:デフォルトの名無しさん [2007/12/23(日) 00:08:32 ]
>>116
よく本に掲載されているのは、ルートを有利化せずに分母においてるのがあるが、理由がよくわからなくて。

118 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 00:29:44 ]
EXCELで
人人人人人
2 3 1 4
  1 4 2 3

のように4人でゲームして順位を出す時に、
ちゃんと横の合計が10になるか計算したいのですが
こういう空欄はスルーして計算できませんでしょうか?

119 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 00:41:46 ]
何も考えずにセル関数Sum使えば終わりでね?

120 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 00:58:34 ]
>>119
その通りでした。どうもありがとうございます
実は例と少し違って合計0になるかだったので勘違いしてました



121 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 01:57:25 ]
麻雀かw


122 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 04:18:28 ]
>>117
コンピュータは分母が整数じゃなくても
それほど困らないからいいんじゃないの?


123 名前:デフォルトの名無しさん [2007/12/23(日) 10:51:16 ]
情報工学勉強すればわかる。

124 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 10:57:09 ]
VBA使うのにいちいち情報工学など勉強しれられっか

125 名前:デフォルトの名無しさん [2007/12/23(日) 11:07:39 ]
VBAに必要な知識は、
1.同じ機能を実現するために、いかに高速化する記述方法を知っているか。

言語に関わらず必要な知識は、
1.誤差伝幡をいかに少なくするか。
2.いかに高速なアルゴリズム(探索など)を知っているか。
3.その他多数〜

126 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 16:14:05 ]
> 1.同じ機能を実現するために、いかに高速化する記述方法を知っているか。

開発効率という観点が欠如しているっぽいあなたには、アセンブラをオススメいたします。

127 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 00:21:03 ]
>>111
桁に限界があるので技術計算には向かないが
固定小数点のCurrency型を使うとか。

128 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 02:05:32 ]
>>111
除算をしないか、ロジックで極力計算回数を減らす。関数の戻りの型に注意。あと、スレ違い。


129 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 01:14:14 ]
フォルダに0001〜9999jpg
セル2に000*と入力すると自動的にセル1に該当の000*jpg表示さすにはどうすればいいでしょうか?
よろしくお願いします

130 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 01:18:51 ]
>>129
セル2の入力を常に監視し、入力に変化があるたびにフォルダ内にその画像があるか調べ、あれば表示する。
4桁に制限したければそういうifを書けばいい。



131 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 00:02:45 ]
>>93の人ありがとうございました。

1^2+2^2+3^2+……+20^2

1^3+2^3+3^3+・・・・+20^3

ついでにこれのFor文を使った書き方も教えていただけるとありがたいです。

132 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 00:12:39 ]
宿題か?宿題なのか?

133 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 00:24:08 ]
そんなことより聞いてくれよ。
というか教えてください。
マクロ流してるとリソース不足とかメモリ不足とか言い出すんだけど、何で?
やっぱりファイルが大きすぎるのか?
1ファイルで60MBとか無理なのか?
ご存知の方いたら助けてください。

134 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 00:29:42 ]
>>133
うん、でかいw限界点とかはわからんが・・・
Win2000メモリ1Gの環境で、30MB程度のマクロ・数式・外部リンクつきのブック2個開くと危ういので・・・

135 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 00:55:12 ]
>>132
そうなんですよ。なんとかお助け願えないでしょうか?

136 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 01:06:14 ]
for i=1 to 100
a = i
next


137 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 01:07:09 ]
途中送信orz動作未確認
dim a as integer
for i=1 to 100
a = a + i * 2
next

3は2を変更で

138 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 01:21:16 ]
>>131

ちょっとまて
>>93を採用する気か?それはなー(略

139 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 01:22:34 ]
>>137
どいつもこいつも・・・ここはネタすれなのか?

140 名前:デフォルトの名無しさん [2007/12/26(水) 02:24:13 ]
>>138
え?あれじゃ駄目なんですか?人助けと思ってマジレスお願いします。



141 名前:137 mailto:sage [2007/12/26(水) 02:37:44 ]
すまん、俺は素だったんだw
汎用性もたせるなら累乗関数使うなり作るなりしてくれ。
dim a as integer
for i=1 to 100
a = a + i * i '2乗
'a = a + i * i * i '3乗
next

142 名前:137 mailto:sage [2007/12/26(水) 02:39:07 ]
>>140
ちゃんとみりゃわかる。
>>97はforが入ってるが結局は(1+100)/2*100だ。

dim sum as integer
for i=1 to 100
sum = sum + i
next

143 名前:137 mailto:sage [2007/12/26(水) 02:40:02 ]
はぁい、>>93の間違いねorz
スレ汚し失礼しました。

144 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 03:36:07 ]
志村ー
100じゃなくて20・・・・

145 名前:デフォルトの名無しさん [2007/12/26(水) 13:27:24 ]
>>141>>142
たびたびすいません。これらをメッセージボックスに表示するには
どうしたらいいんでしょうか?

146 名前:デフォルトの名無しさん [2007/12/26(水) 14:22:26 ]
Option Explicit
Sub sum()
Dim sum As Integer
Dim sumMsg As Integer
Dim i As Byte

For i = 1 To 100
sum = sum + i
Next i
sumMsg = MsgBox(sum, vbOKOnly + vbInformation)
If sumMsg = vbOK Then MsgBox "やったね"
End Sub


147 名前:デフォルトの名無しさん [2007/12/26(水) 14:23:38 ]
共有ファイルでVBAを編集するには?

148 名前:デフォルトの名無しさん [2007/12/26(水) 17:17:49 ]
inputboxをキャンセルしたときの挙動なのですが、
これじゃだめですよね・・・

Sub nicochuu()
niwango = InputBox("入力してね", "inputbox")
If niwango = "" Then MsgBox "入力無し": Exit Sub
Range("A1").Value = niwango
If niwango = vbCancel Then Range("A2").Value = "キャンセル"
End Sub


149 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 18:33:01 ]
横で開いてるIEを3行スクロールさせる方法教えてください。
excelは2000でIEは7です。

150 名前:デフォルトの名無しさん [2007/12/26(水) 19:14:15 ]
三流文系大に通う腐女子です。
以下のマクロ作成方法を教えてください。

プロシージャ「斜め移動」の作成
IncrementLeftとIncrementTopを組み合わせた「斜め移動」という名称のマクロ作成。

プロシージャ「四角移動」の作成
図形が四角形を描くように移動する(移動の軌跡が四角形になる)、
「四角移動」という名称のマクロ作成。For文は”1から1まで”とする。

☆――→
↑   |
|   |
|   ↓
 ←――


プロシージャ「三角移動」の作成
「斜め移動」と「四角移動」を応用した、「三角移動」という名称のマクロ作成。
ただし正三角形でなくてよい。



151 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 22:22:06 ]
>>133
どこかに不具合がある。例えば、暗黙的なセキュリティの問題に抵触してる。
ネットワーク上のファイルを開いての処理とか、クラスへのアクセスの仕方、等々。
エクセルは、何百MBのファイルでも、ページングしながらガリゴリ起動しようとしやがりますよ。


>>150
どう動かしたいかが良く伝わらない。
マクロを実行したら、画面上に既に設置してある部品を動かして元の位置まで戻したいの?
あと、移動の仕方に指定はないのか、部品は固定なのか、で、ここ重要、何が分からないの?


152 名前:デフォルトの名無しさん [2007/12/27(木) 02:33:46 ]
セルを複数選択できないようにする(単一セルのみ選択可能)にはどう記載すれば実現できますか?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<253KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef