1 名前:デフォルトの名無しさん [2007/05/27(日) 00:06:58 ] ・まじめにExcelの機能を追及してみようと思う奇特なひと ・スキルがないのに無理やりVBAの仕事を押し付けられた普通のひと ・VBAなんていまさらやりたくないのに業務で仕方なく使っているひと ・とにかく漏れにこんな仕事まわすなと怒っているひと そんなM$大好きなひとからアンチM$なひとたちまで幅広くカバーするスレです 前スレ pc11.2ch.net/test/read.cgi/tech/1168308855/
131 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 11:44:24 ] >>126 具体的には?
132 名前:ここでナット [2007/06/13(水) 11:59:54 ] >>131 ソースに不具合があったので、ソースだけ更新を行いたいです。 エディター画面を開いてソースを書き換える作業すれば良い事なのですが その作業を行える人がいないので、簡単にソースだけを書き換える方法を探してます。 例えば、別のExcelマクロを用意してその中に新しいソースを入れて、 ボタンを押して実行すると、変更先のExcelマクロのソースだけが更新するみたいな 事がやれたらいいなと思っています。
133 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 18:15:41 ] >>130 当該ブックのみ終了。再現しません
134 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 18:26:31 ] >>132  . . . 具体的には? ttp://dictionary.goo.ne.jp/search.php?kind=jn&MT=%B6%F1%C2%CE%C5%AA
135 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 19:08:08 ] >>132 エクスポートインポート
136 名前:デフォルトの名無しさん [2007/06/14(木) 01:29:13 ] 教えてください。 ボタンを押すと、C→File→にあるdata.csvを開いて処理開始なんですが、 データが無い場合にエラーメッセージを表示するよう仕組んでと言われまして。 ChDir "C:\File\data.Csv" Workbooks.Open Filename:= _ "C:\File\data.Csv" とこのあと、if then 文を書けばいいと思うのですが、 If Dir("C:\File\data.Csv") = "" Then MsgBox "DataBook.xlsは見つかりません" End If Exit Sub こんなん書いたんですが、勿論動きません。 IF文以下お教え願います。
137 名前:デフォルトの名無しさん [2007/06/14(木) 01:31:43 ] すみません、表記間違ってました。 MsgBox "DataBook.xlsは見つかりません" ↓ MsgBox "data.csvは見つかりません" の間違いです
138 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 01:35:16 ] あとじゃなくて先にしろ
139 名前:デフォルトの名無しさん [2007/06/14(木) 06:08:04 ] If Dir("C:\File\data.Csv") = "" Then MsgBox "data.csvは見つかりません" Exit Sub End If ファイルオープン処理 動かなければどこのコードで動かないのか確認してから考えた方が…。
140 名前:127 [2007/06/14(木) 10:54:26 ] >128 レスありがとうございます。それしかないですか^^;
141 名前:デフォルトの名無しさん [2007/06/14(木) 11:08:33 ] EXCEL2007のVBAで、複合グラフ(折れ線)を描いたのですが、 グラフの描画領域が、指定したセル範囲をオーバーして描かれます。 指定したセル範囲に収まるようにするには、どうすれば良いのでしょうか 列(縦)方向はぴったり合うのですが、 行(横)方向に幅がオーバーします(左端も少しセルの左端からズレます)。 <コード> Dim dataRg As Range, graphRg As Range Sheets("DATA1").Select Set dataRg = Sheets("DATA1").Range(Cells(data_row_from, data_col_from), Cells(data_row_to, data_col_to)) Set graphRg = ActiveSheet.Range(Cells(graph_row_from, graph_col_from), Cells(graph_row_to, graph_col_to)) Sheets("CHART").Select With ActiveSheet.ChartObjects.Add(graphRg.Left, graphRg.Top, graphRg.Width, graphRg.Height).Chart .SetSourceData Source:=dataRg, PlotBy:=xlColumns .ChartType = xlLine .HasTitle = False .Axes(xlCategory, xlPrimary).HasTitle = False .Axes(xlValue, xlPrimary).HasTitle = False .HasLegend = False .SeriesCollection(1).Border.ColorIndex = 41 .SeriesCollection(2).Border.ColorIndex = 53 .SeriesCollection(2).AxisGroup = xlSecondary End With
142 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 13:39:11 ] >>140 With ActiveChart.Axes(xlValue, xlSecondary) .MinimumScale = 0 .MaximumScale = 1 End With
143 名前:117 [2007/06/14(木) 13:52:30 ] >>133 そちらの環境では再現しませんでしたか。 情報ありがとうございます。 もう一台、2007をインストールしたPCを用意したのですが、 そちらでも100%再現しました。 マクロを直接実行した場合は問題なく当該ブックのみ終了するのですが、 そのマクロをシェイプに登録し、そのシェイプをクリックすると ブックが閉じたあとにExcelが異常終了してしまいます。 ブックを変更していた場合、保存を確認するダイアログがでますが、 「キャンセル」を選択した場合は問題なく、「はい」「いいえ」を 選択した場合は異常終了となります。 ただ、他のブックを開いている場合は当該ブックのみ終了し、 Excelの異常終了はありません。 前回質問時はUpdateしてませんでしたが、Updateした環境でも 同様でした。 とりあえず、他の掲示板などでも同じ質問をしてみてから マイクロソフトに問い合わせをしてみようと思います。 ありがとうございました。
144 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 15:20:06 ] >>132 VBE.CodeModuleのInsertLines(), DeleteLines(), ReplaceLine()あたり。 VBEを使うには、なにか制限なり手順なりがあったような気もする。 実行も、セキュリティレベルを下げる必要があるかも。 まぁ、そのような状況にならないように、アプリはアドインで作った方がいい。
145 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 15:33:12 ] >>143 他の環境でも再現するんだ 何か共通でインストールしてるものに影響されてるのかな?
146 名前:144 mailto:sage [2007/06/14(木) 15:37:08 ] ttp://sourceforge.jp/projects/vbaunit/から、vbaunitというのをダウンロードして、 新規Bookを開き、参照設定でVBAHelper.xlaと「Microsoft Visual Basic for Applications Extensibility 5.3」を参照する。 新規にモジュールを作成し(Module1)、次のコードを貼り付け実行すると、3行目が修正される。 Option Explicit Sub foo() Dim cm As CodeModule Set cm = VBAHelperModule.VBAHelperLookupCodeModule("Module1") cm.ReplaceLine 3, "Sub bar()" End Sub
147 名前:117 [2007/06/14(木) 18:15:07 ] >>145 こちらのテスト環境ですが、どちらも XP Pro SP2 で Office 2007 Enterprise です。 ただ、一方は Virtual PC 上の XP に Excel2007 のみをインストールした状態です。 今のところ考えられる条件は ・シェイプにマクロを割り付けてクリックで実行 ・現在のブックのウインドウが閉じられる ・他のブックのウインドウが開いていない thisworkbook.close 以外にも、これらのコードでもだめでした。 workbooks(1).close window(1).visible = false
148 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 19:01:36 ] >>147 なるほど、おそらく2007固有の現象ということですな 2007持ってないんで他の持ってる人に試してもらいたいね
149 名前:140 [2007/06/15(金) 09:13:16 ] >>142 レスありがとうございます
150 名前:デフォルトの名無しさん [2007/06/15(金) 16:13:53 ] Rangeの最初の位置を(左上)得たいのですが、どうするのが簡単なんでしょ。 ActiveSheet.Range("テーブル[列]").Offset(0, 0) Offsetでよいのかな?うまくいっているみたいですけど
151 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 16:19:45 ] ActiveSheet.Range("テーブル[列]")(1) など
152 名前:150 [2007/06/15(金) 16:26:32 ] Excel2007です。 >>151 サンクスです。 でじつは、Rangeオブジェクトを for で回そうと、 Dim StartCell As Range, LastCell As Range Set StartCell = ActiveSheet.Range("テーブル[列]").Offset(0, 0) Set LastCell = ActiveSheet.Range("テーブル[列]").End(xlDown) ' 資産に関連するもの更新 For i = StartCell.Row To LastCell.Row CalculateTable (ActiveSheet.Cells(i, 4)) Next i としていたのですが、もっと簡単な書き方はないでしょうか? Dim Cell As Range For Each Cell In ActiveSheet.Range("テーブル[列]") CalculateTable (Cell) Next とすると、 CalculateTable (Cell) で、オブジェクトが必要です、と怒られてしまいます。 orz
153 名前:150 [2007/06/15(金) 16:30:12 ] >>152 うああああ、 CalculateTable (Cell) じゃなくて、 CalculateTable Cell にしたら、エラーでなくなった orz マジVBAわかんねえええええ。 なんだこら
154 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 16:37:34 ] 関数単体で引数()でくくるとなりますね
155 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 21:01:14 ] たぶん配列とまぎらわしいからだろ
156 名前:初心者 [2007/06/17(日) 13:50:18 ] はじめまして、VBAをやり始めたばっかりで全然わからないので教えて下さい。 (1)1+2+3+…+10を計算する (2)1+3+5+…+19を計算する (3)1+4+9+…+100を計算する と言う問題で以下の空欄にあてはめるものを答える問題です。 Sub ex() Dim x As Integer, sum As Integer sum = 0 For x = 1 To 10 (空欄) Next x Msgbox "合計=" & sum End Sub 長々とすみません。よろしくお願いします。
157 名前:デフォルトの名無しさん [2007/06/17(日) 13:58:01 ] >>156 宿題だとばれると教えてもらえないから、もう少し、利き方変えた方がいいぞ あと「よろしくお願いします」って、お前他力本願スギ。 どこが、わからなくて、どこで詰まっているかを質問しよう。
158 名前:デフォルトの名無しさん [2007/06/17(日) 14:01:01 ] (1) sum = sum + x (2) sum = sum + (2*x -1) (3) は自分で考えろ馬鹿
159 名前:初心者 [2007/06/17(日) 15:52:53 ] すいません。(3)がわかりません
160 名前:デフォルトの名無しさん [2007/06/17(日) 16:36:26 ] sum = sum + (5*x -1)
161 名前:初心者 [2007/06/17(日) 17:02:14 ] なぜそうなるのでしょうか?
162 名前:デフォルトの名無しさん [2007/06/17(日) 17:12:23 ] >>160 ワロタ
163 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 17:48:13 ] >>161 悪いことは言わん。 算数からやり直せ。
164 名前:デフォルトの名無しさん [2007/06/17(日) 18:14:15 ] なんでまたVBAのスレに質問してくるの? VBAどころか、ただのアルゴリズム…いや、算数か。の問題だろ。 法則を考えろよ…。
165 名前:デフォルトの名無しさん [2007/06/17(日) 18:27:48 ] 言っておくけど160のは違うぞ。 ヒント。 sum=1+4+9+16+25+36+49+64+81+100 これで分からなければ終わってる。
166 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 18:41:58 ] 気がつかなかった俺オワタw
167 名前:デフォルトの名無しさん [2007/06/17(日) 18:46:23 ] わからない。答え教えてもらえないですか?
168 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 18:56:47 ] (3)は sum=sum+(x*x)
169 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 18:57:32 ] >>156 (2) For i = 1 To 19 Step 2: sum = sum + i: Next: Exit For (3) Select Case x Case 1: sum = sum + 1 Case 2: sum = sum + 4 Case 3: sum = sum + 9 Case 4: sum = sum + 16 Case 5: sum = sum + 25 Case 6: sum = sum + 36 Case 7: sum = sum + 49 Case 8: sum = sum + 64 Case 9: sum = sum + 81 Case 10: sum = sum + 100 End Select これでいーだろ まじめに(3)のヒントだすなら「^2」
170 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 19:06:07 ] コーディングより1+4+9+…+100が全くわからなかった。 オワテルwww
171 名前:デフォルトの名無しさん [2007/06/17(日) 19:30:52 ] をいをい…。 つうか>>156 、その問題は学校の問題か?職場の問題か?
172 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 20:30:10 ] >>169 ヒント:「For x = 1 To 10」部分は固定
173 名前:169 mailto:sage [2007/06/17(日) 21:01:49 ] >>172 ん? (2)のことならxでループさせてないんだけど? 試してないからわからんけど、ネストされたForで答えでない? 意味取り違えてたら堪忍
174 名前:初心者 [2007/06/17(日) 21:49:26 ] 2乗はどうあらわしたらいいのですか?
175 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 21:55:05 ] >>174 >>169
176 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 23:10:44 ] >>173 Sub ex() Dim x As Integer, sum As Integer sum = 0 For x = 1 To 10 (空欄) Next x Msgbox "合計=" & sum End Sub の中で変えて良いのは(空欄)の部分だけ 単に(1)(2)(3)の計算ルーチンを作れば良いだけではなく 1 To 10のxのループを使った上で解かなければならないという条件
177 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 00:10:28 ] 偉そうに答えてる人の方がネタに見える… (1) sum = x + sum (2) sum = x * 2 - 1 + sum (3) sum = x ^ 2 + sum
178 名前:デフォルトの名無しさん [2007/06/18(月) 00:55:34 ] >>177 ありがとうございました!独学なんで分からないところがたくさんですm(__)m
179 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 01:03:28 ] >>178 Excelより先に算数の勉強をし直した方が良いぞ。
180 名前:169 mailto:sage [2007/06/18(月) 01:14:50 ] >>176 あ〜ごめん xを必ずループさせろとは書いてなかったから ちなみに 俺が書いた(2)が空欄に入れるものだってわかってるよね? sum = 0 For x = 1 To 10 For i = 1 To 19 Step 2: sum = sum + i: Next: Exit For Next x Msgbox "合計=" & sum End Sub ってことね 答えが先にかかれてたからふざけてみたんだけど ふざけすぎたかw 普通なら当然>>177 だわなw
181 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 04:00:12 ] ネタなのはわかるがiはどこから出てきたんだw
182 名前:デフォルトの名無しさん [2007/06/18(月) 16:22:16 ] EXCEL2003です。 半角アルファベット文字列の先頭だけ大文字にしたいのですが、 適切なものが見つかりません。 ググってProperを見つけましたが、これは先頭を大文字にするだけでなく 先頭以外の大文字を小文字にしてしまいますよね。 helloWorld → HelloWorldとしたいのですが、適切な方法を 教えていただけますか?
183 名前:デフォルトの名無しさん [2007/06/18(月) 16:54:13 ] 最初の一文字を取り出して大文字にすれば?
184 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 17:31:56 ] s = "helloWorld" Mid$(s, 1, 1) = UCase$(Mid$(s, 1, 1))
185 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 21:59:57 ] Midステートメント使う人久しぶりに見た気がする Midステートメント自体は自分で使いまくってるからよく見てるが 公開されたソース見ても、こういうところの回答見ても 使ってる人殆ど居ないからなぁ ところで、Leftステートメントは無いから代入左辺はMidでいいが 右辺の関数はMidではなくLeftの方がいいのでは? つ Mid$(s, 1, 1) = UCase$(Left$(s, 1)) まあ実はMidもLeftも無くてもOKなんだけどね Midステートメント側で置換文字数指定していれば、何文字代入しようと指定文字数以外は置換されない つ Mid$(s, 1, 1) = UCase$(s) 逆に代入する文字数を指定しておけば、置換する文字数は指定しなくても問題なかったりする つ Mid$(s, 1) = UCase$(Left$(s, 1))
186 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 22:32:41 ] >>185 横レスだが、勉強になった
187 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 22:41:49 ] つかMidって参照だけかと思ってたw
188 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 23:11:52 ] MSbasicからの伝統で、mid$は関数版とステートメント版がある。
189 名前:デフォルトの名無しさん [2007/06/19(火) 12:08:51 ] エクセルソフトを持ってないので、フリーソフトのOPENOFFICEを使用 ダウンロードしてVBAは作成できるんでしょうか?
190 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 13:18:08 ] >>189 アレ使えばね 具体的な話はスレ違いなので伏せるけど
191 名前:デフォルトの名無しさん [2007/06/19(火) 14:45:55 ] 日本語で書け
192 名前:デフォルトの名無しさん [2007/06/19(火) 14:54:14 ] 全くだ 質問内容は察せるが、日本語じゃないよな
193 名前:デフォルトの名無しさん [2007/06/19(火) 21:26:28 ] みなさん、こんばんは。 とある事情により、エクセルのワークシート内に三角波のデータを埋め込みたくなりました。 サインカーブのデータだったら、sin関数でデータを作ったことはありますが、 三角波の場合、どうしたらいいですか? 私がエクセル上でやろうとすると、くどい if文のネストになりそうです。 どなたか、あっさりしたもの、できませんでしょうか?
194 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 21:46:07 ] 汎用アルゴリズムの話はスレ違い VBAどころかVBも関係ないし
195 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 21:58:39 ] ワークシート埋め尽くす方法ぐらい教えてあげたらw
196 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 22:13:28 ] フーリエ展開してしまえw
197 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 22:48:00 ] >>189 >エクセルソフトを持ってないので ちょwww、当たり前だwww エクセルソフト www.xlsoft.com/jp/
198 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 23:24:31 ] インテルのコンパイラ高いな
199 名前:使えない子 mailto:sage [2007/06/20(水) 14:59:47 ] 上司からいきなり「調べといて」 キタ───ヽ(´Д`;)ノ───!!! 既存ブックのシート構成は、 (シート1)・書類のテンプレ (シート2)・いろんな調査項目 という感じで、シート2を開いてマクロを実行すると、 いろんな調査項目が大分類ごとに分けて、 書類のテンプレに記入してそれぞれシートを作る、 ということをしています。 今度は、それらの作られる大分類ごとのシートを 新しいブックに作りたい、ということです。 手作業であれば、 [シートの移動またはコピー]のダイアログで、 [移動先ブック名]に「(新しいブック)」を指定し、 [コピーを作成する]にチェックを入れて[OK]ですが、 これをマクロでやりたい、というのです。 [新しいマクロの記録]をしても記録されないので、 困ってしまいました。 マクロやVBA等でやるには、どうしたらよいでしょうか。 どなたかお力添えください。m(_ _)m
200 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 15:33:41 ] >>199 やってみたら記録されたけど? Sheets("Sheet1").Copy
201 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 18:34:08 ] 記録を停止してない なんてオチだったりしてW
202 名前:デフォルトの名無しさん [2007/06/21(木) 00:02:18 ] 前任の作ったエクセルファイル+VBAを別ファイルで再構築しているのですが、 errors(0).description の部分でエラー「コレクションが存在しません」になります。 元のファイルでは正常に動いているのですが、 新しいファイルではどのようにしたら回避できるのでしょうか。
203 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 00:09:31 ] 参照設定
204 名前:202 [2007/06/21(木) 00:42:58 ] レスどもです。Excelは2000で、 Microsoft DAO 3.6 Object Libraryの参照設定はチェック済なのですが それでもエラーが出てしまいます。 他にも必要な参照があるのでしょうか。
205 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 00:46:51 ] エラーなければerrorsコレクションはないだろ まずファイルの問題か環境の問題かはっきりさせること
206 名前:202 mailto:sage [2007/06/21(木) 01:30:40 ] 確かにそうですね。 言われてみればそもそもここはエラートラップなので 他の部分に問題がある可能性大です。切り分けに挑戦して見ます。
207 名前:193 [2007/06/21(木) 02:00:10 ] >三角波のデータ 自分で作りました。 作ったのは関数です。(セルに直接記述するのでVBAとは関係ないですね...) 割とあっさりめの形になったと思います。 言わば、sin関数になぞらえるなら、三角波関数みたいなもんです。 ↓ 1/(2π)*arcsin(sin(t/T*2π))/(1/4) 自分で自分を褒めてやりたいです。
208 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 08:37:41 ] うわ、重そう。つーか、頭悪そう。
209 名前:デフォルトの名無しさん [2007/06/21(木) 14:47:30 ] お聞きしたいんですけど コンボボックスのプロパティのLinkedCellに値が入らないのですが どうやって入れるのか教えてください
210 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 20:48:44 ] 普通に=で代入するか、プロパティウィンドウに入力するかだよ 間違った値入れてなければそれでOK
211 名前:デフォルトの名無しさん [2007/06/22(金) 00:02:30 ] >>208 頭わるいやつに作れるわけねーだろ。 おめぇ、つくってみ? ってか、つくれる?
212 名前:デフォルトの名無しさん mailto:sage [2007/06/22(金) 00:04:35 ] >>211 本人乙。
213 名前:デフォルトの名無しさん mailto:sage [2007/06/22(金) 00:38:54 ] >>211 煽ったら作って貰えると思って必死だな。 今宵は枕が涙で濡れてるんぢゃねぇの?
214 名前:デフォルトの名無しさん [2007/06/22(金) 00:48:37 ] バイナリーファイル(テキスト形式でないファイル)を開いて、 nバイト目の数字を読み込むっていうプログラムを組みたいのですが、 VBAでできますか?
215 名前:デフォルトの名無しさん mailto:sage [2007/06/22(金) 00:56:55 ] よゆう
216 名前:214 [2007/06/22(金) 11:34:20 ] ちょっとしたヒントだけでも教えてつかわさい。
217 名前:デフォルトの名無しさん mailto:sage [2007/06/22(金) 12:47:31 ] open filename for random as #filenumber len=1 get #filenumber, n, buf
218 名前:214 [2007/06/22(金) 15:54:48 ] えっ、まじですか。 N88BASICとまったく同じぢゃ・・・
219 名前:デフォルトの名無しさん mailto:sage [2007/06/22(金) 15:56:42 ] そりゃぁ、MicrosoftBasicの派生だからねぇ。どっちも。
220 名前:214 [2007/06/22(金) 18:54:47 ] わしもスレに貢献しよう arcsin(sin(t/T*2π)) って t/T*2π と同じでしょうw つりか・・・まじか?
221 名前:デフォルトの名無しさん [2007/06/22(金) 23:32:39 ] 教えて頂きたいです。△にぶつかった後に円を描くようにしたいのですが・・・ 難しくて。ご教授下さい。 Sub seven() ' 弾けるボール ActiveCell.Offset(5, 0).Value = "手" ActiveCell.Offset(5, 1).Value = "○" ActiveCell.Offset(5, 7).Value = "▲" For i = 1 To 6 For J = 1 To 500 ActiveCell.Offset(5, i).Value = "○" ActiveCell.Offset(5, i).Value = "" ActiveCell.Offset(5, i + 1).Value = "" ActiveCell.Offset(5, i + 1).Value = "○" Next J ActiveCell.Offset(0, i + 1).Value = "" Next i ActiveCell.Offset(5, 7).Select.Value = "☆" For i = 1 To 3 A = ActiveCell ActiveCell = "" ActiveCell.Offset(-1, 1).Activate For J = 1 To 500 ActiveCell = A Next J Next i For i = 1 To 3 A = ActiveCell ActiveCell = "" ActiveCell.Offset(1, 1).Activate For J = 1 To 500 ActiveCell = A Next J Next i For i = 1 To 3 ActiveCell = "" ActiveCell.Offset(1, -1).Activate For J = 1 To 500 ActiveCell = A Next J Next i For i = 1 To 3 A = ActiveCell ActiveCell = "" ActiveCell.Offset(-1, 1).Activate For J = 1 To 1000 ActiveCell = A Next J Next i End Sub
222 名前:デフォルトの名無しさん mailto:sage [2007/06/22(金) 23:51:21 ] >>220 前者は周期関数になる。元レスは、それを使って三角波にできると悦に入っていたらしい。
223 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 08:35:42 ] >>221 スレ違い。>>16
224 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 13:52:35 ] >>223 スレ違いで拒否るのもいいが、いい加減過疎ってないか?このスレ あと質問に答えても質問者もほったらかし多いし・・・ 俺はわからんから答えんだけだが
225 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 15:11:42 ] > いい加減過疎ってないか?このスレ この板はこんなものだよ 一応ここは過疎板だから 当然、この板にもここより賑わってるスレはあるが このスレでも平均以上どころか勢い上位1割に入るほど もっと静かでもいいくらいだ
226 名前:デフォルトの名無しさん [2007/06/24(日) 08:44:32 ] あるRangeの一番左上のセルの情報を得たいのですが、 どうしたらよいでしょうか? Offsetだと、Range全体が取得されてしまいます。 左上のセルのRangeだけを得たいのですが・・・ ActiveSheet.Range("資産表[資産]").Offset(0, 0).Select
227 名前:デフォルトの名無しさん [2007/06/24(日) 08:47:10 ] >>226 自己解決しました。 ActiveSheet.Range("資産表[資産]").Cells(1, 1).Select Cellsでした。Rangeにないかと思ってました。
228 名前:デフォルトの名無しさん [2007/06/24(日) 09:49:10 ] すみません、質問です。 商品NO 値段 日付 〜 100 20 5/1 101 21 5/1 といったデータが600まである表があります。 修正や訂正をするため、月一で直さなければいけないんですが 一回別シートに抽出して,そこで変更をし、元あった行に上書きをする そのように作れと上司にいわれてしまいました。 抽出し、別シートに移すことは出来たのですが、それを元の所に 上書きするのには、どうしたらいいのでしょうか? 切実に困っています。教えていただけたら嬉しいです。
229 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 10:20:48 ] 抽出した行と元の行を関連づければいいでしょ 方法はいくらでもあるけど 一番簡単なのは別のシートの同じ行に抽出するやり方かな
230 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 12:15:43 ] >>228 商品Noをkeyにして.findメソッドで検索して コピーするVBAをつくる
231 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 12:16:46 ] 同じ行への抽出だとわざわざ抽出する意味がないと言われます 関連付けっていうのはどのようにやるのですか?