Excel VBA 質問スレ Part24
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2012/04/13(金) 17:19:08.43★1 質問テンプレ(雛形)は用意しませんが、OSとExcelのバージョンは必ず書きましょう。
★2 ExcelのVBA以外の部分に関する質問はNGです。
但し、VBA無しでも出来ることだが、あえてVBAでやりたいって物に関してはOK。
★3 ExcelのVBE(Visual Basic Editor)を使うとしても、VBAの分野以外に関してはスレ違いです。
VBAとは、『Visual Basic for Applications』の略で
Application
├Workbooks
|└Workbook
| ├Worksheets
| |└Worksheet
というApplication以下のオブジェクトを、VB言語で操作するものを指します。
例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。
★4 とりあえず、Excelのインスタンスを作らずにVB6で出来ることは全てスレ違いだと思ってください。
★5 レベルはどうあれ、ここはプログラマ用の板スレです。プログラマとは、自分でプログラムを組み、
コードを書く人の事なので、自分でやるきは全く無く、丸投げしようって人はお断りです。
ヒントを貰えばあとは自力でなんとかしますって人のみどうぞ。
★6 わからなければとりあえず「マクロの記録」(Alt, T, M, R)
前スレ:
Excel VBA 質問スレ Part23
http://toro.2ch.net/test/read.cgi/tech/1327763113/
0002デフォルトの名無しさん
2012/04/13(金) 17:55:43.86新すれなんで再投下
前>>1000
えっ
えっ
*やりたいこと*
シート内のセル設定情報をテキストで保存して、読み出し
→帳票のテキストデータ化
*必要なこと*
セルに設定された各種プロパティの保存
*知りたいこと*
プロパティがデフォルト以外に変更されたセルを発見する方法
*ばーじょん*
xp以降
excel2000以降
0003デフォルトの名無しさん
2012/04/13(金) 19:01:32.19質問内容がよくわからないけど
デフォルトのセルと比較する以外にないんじゃないの?
0004デフォルトの名無しさん
2012/04/13(金) 19:41:46.4830分くらいつこてなかったらログアウトされて
また自分のIDとPWを入力せんとあかんのが非常にうざい。
VBAを使ってこれを防ぐ自動にIDとPWを入力する方法はないですか?
会社PCではソフトインストールはもちろんダウンロードも禁止されてるので
URLに「&xx=xx&xx=xx」を追加する方法とか、htmlファイルを改造するとか、可能な方法で提案をお願い。
0005デフォルトの名無しさん
2012/04/13(金) 19:47:32.470006デフォルトの名無しさん
2012/04/13(金) 19:52:17.44>>1の★3以降をよく読め
0007デフォルトの名無しさん
2012/04/13(金) 19:54:19.7600084
2012/04/13(金) 20:02:21.280009デフォルトの名無しさん
2012/04/13(金) 20:07:53.65コマンド渡してネットアクセス
>>3
やっぱないのかなあ
全セルで全部のプロパティ参照して構造化するのか・・・
読み出し時はセル範囲指定すればまだマシだけど
00104
2012/04/13(金) 20:16:39.59なんのコマンド?
ネットアクセスとは?
さっぱりわからん
0011デフォルトの名無しさん
2012/04/13(金) 20:22:59.98VBAからコマンドプロンプトを経由してネットワークにアクセスできる。
とっても簡単。
ユーザー名、パスワード入れてエクセルからネットワークのパソコンを開けるわけだ。
コマンドプロンプトってのは、キーボードから「コマンド」を打ち込んで操作するソフトな。
例えばIPアドレスを調べたりするときに、ウインドウズのスタートからコマンドプロンプトを起動して、
「ipcomfig」とか入れてやれば出てくる。
ネットワークで繋がってるパソコンにアクセスしたりいたずらしたりできる。
あとはggr
00124
2012/04/13(金) 21:02:46.77とても興味があるのですが詳しく教えてくださらんじゃろか?
具体的にはどんな呪文を書けばいいの?
ネットワークとはインターネットのアドレスも含むんですかね?
ないかびっくりすることができそうだけど
具体的に教えてくださらんか?
質問の永久ログインのことに限らずいろいろと。
0013デフォルトの名無しさん
2012/04/13(金) 21:13:54.960014デフォルトの名無しさん
2012/04/14(土) 00:17:13.56いったんxmlで保存して適当にゴニョゴニョすればいいんじゃない
つか俺ならそのままエクセルで保存しとくか、その帳票とやらを作成するのに使った元データ保存しとくが
0015デフォルトの名無しさん
2012/04/14(土) 01:53:51.38それが例えば リンゴ・バナナ・ミカン・イチゴ・スイカ・メロンとあったとして、
チェックの入っている項目の1文字目を一つのセルに入力したいです。
(例) リ・ミ・イ
の様に。何かいい方法をご教示下さい。
0016デフォルトの名無しさん
2012/04/14(土) 02:47:17.56それだと別セッションになるから無理じゃない?
VBAからIEを起動するようにして業務はその起動されたIEでやって
離籍するときはマクロ実行ボタンかなんか作っといてF5アタックを
かけ続けるとかかなあ
http://billboardtop100.net/excel/vba-ie/
0017デフォルトの名無しさん
2012/04/14(土) 03:05:15.990018デフォルトの名無しさん
2012/04/14(土) 11:48:25.82Private Sub CommandButton1_Click()
Dim c As Control
Dim s As String
For Each c In UserForm1.Controls
If TypeName(c) = "CheckBox" Then
If c.Value Then
If s <> "" Then
s = s & "・"
End If
s = s & Left(c.Caption, 1)
End If
End If
Next
ActiveCell.Value = s
End Sub
0019デフォルトの名無しさん
2012/04/14(土) 12:15:27.58VBA実行する前後で数式が実行されるのでしょうか?
0020デフォルトの名無しさん
2012/04/14(土) 12:26:02.17ワークシートの数式は入力した瞬間に実行される
0021デフォルトの名無しさん
2012/04/14(土) 12:59:51.05http://support.microsoft.com/kb/214395/ja
0022デフォルトの名無しさん
2012/04/14(土) 15:49:34.34ありがとうございます。
でもユーザーフォームでなくてシート上の
フォームコントロールなんです。
その場合はどうしたらいいですか?
0023デフォルトの名無しさん
2012/04/14(土) 16:49:19.92Shapesで回してControlFormat.Valueみるとか
タイプの判別方法は解らんなぁControlFormatのプロパティいくつかたたいてエラーでるかどうかでみるぐらい?
0024デフォルトの名無しさん
2012/04/14(土) 16:50:20.05Dim cb As Excel.CheckBox
Dim s As String
s = ""
For Each cb In ActiveSheet.CheckBoxes
s = s & IIf(cb.Value = 1, IIf(s = "", "", "・") & Left(cb.Caption, 1), "")
Next
ActiveCell.Value = s
0025デフォルトの名無しさん
2012/04/14(土) 17:01:09.35ありがとうございます。完璧です!
散々苦労して出来なかったので思わずスゲーって声が出ました!
0026デフォルトの名無しさん
2012/04/15(日) 04:36:19.33こんなプロパティあったのか。知らんかった
つかオブジェクトブラウザで見たら、プロパティじゃなくて非表示なメソッドだな
なんで非公開なんだろうな
0027デフォルトの名無しさん
2012/04/16(月) 00:55:22.81使わずにSeriesCollection(1)を変数に入れて使い回し対のですが、
変数への入れ方を教えて下さい。
0028デフォルトの名無しさん
2012/04/16(月) 01:11:52.27SET
0029デフォルトの名無しさん
2012/04/16(月) 02:08:31.69n個隣のRangeオブジェクトはどうやって得ればいいでしょうか?
offsetでどう書けばいいか分かりません…
0030デフォルトの名無しさん
2012/04/16(月) 08:35:21.130031デフォルトの名無しさん
2012/04/16(月) 12:35:53.27n個右なら
Target.Offset(,n)
>>30
変なもの教えるなよ
003229
2012/04/16(月) 23:25:26.88おお、こんな簡単なのがあったとは
>>30みたいな感じでCellsプロパティから引っ張ってくるものばかりと
有難うございました
0033デフォルトの名無しさん
2012/04/16(月) 23:50:47.33つか質問者もoffsetのヘルプ見れば解りそうなもんだが
0034デフォルトの名無しさん
2012/04/16(月) 23:53:51.13ユーザーフォーム上のコマンドボタンの色の管理のために、現在はVal関数を
使っているのですが色が今一正確に再現出来ません。
宜しく御願いします。
0035デフォルトの名無しさん
2012/04/16(月) 23:59:47.22excel vba iniファイル
でググればヒントがたくさん見つかるよ
0036デフォルトの名無しさん
2012/04/17(火) 22:07:37.57動くようにするには、2010では2003の形式で保存するようにすればいいと思うんだけど、
この部分って2003でも通用しますか?
自分でテストすれば良いだけなのですが、調べなからじゃないと分からないので
考え方が正しいかどうか知りたいです。
宜しく御願いします。
0037デフォルトの名無しさん
2012/04/17(火) 22:17:36.18問題ありません
0038デフォルトの名無しさん
2012/04/18(水) 16:29:34.62標準モジュールに書いても無効でしょうか?
ブックのCloseイベントに書かないと駄目ですか?
0039デフォルトの名無しさん
2012/04/18(水) 16:51:10.050040デフォルトの名無しさん
2012/04/18(水) 17:05:25.980041デフォルトの名無しさん
2012/04/18(水) 18:08:27.98いつ実行されるかが重要なんだから
0042デフォルトの名無しさん
2012/04/18(水) 18:38:24.16それ以外の部分に記述すると、実行されtrueを維持している場合のみ、ブック終了時に有効。
実行していない場合はその限りではない。
0043デフォルトの名無しさん
2012/04/18(水) 20:45:13.71Excelの用にOnActionが使えないようで・・・。
自前チェックボックスのため、押すたびに□>■になるものを作っていまして、
ラベルコントロールで代用してたのですが、ラベルって50個も置くと重くて重くて・・・。
0044デフォルトの名無しさん
2012/04/18(水) 21:04:38.20Wordの質問スレに行ってみればいいんじゃない?
0045デフォルトの名無しさん
2012/04/19(木) 02:29:14.38ドロップダウンリストを作成しているのですが、
エクセル一行空白を設定しており、
エクセル立ち上げ時には空白状態にしておきたいのですが、
コードが解りません。
ちなみにテキストボックスは
TextBox1.Text = vbNullString
の様に記述しています。
解る方ご教示下さい。
0046デフォルトの名無しさん
2012/04/19(木) 12:14:39.441行目が空行なのであればこんな感じ?
Dim d As Excel.DropDown
For Each d In ActiveSheet.DropDowns
d.ListIndex = 1
Next
0047デフォルトの名無しさん
2012/04/20(金) 02:19:47.93ありがとうございます。
出来ました。
0048デフォルトの名無しさん
2012/04/21(土) 00:57:57.990049デフォルトの名無しさん
2012/04/21(土) 09:31:49.670050デフォルトの名無しさん
2012/04/21(土) 10:18:20.660051デフォルトの名無しさん
2012/04/21(土) 15:43:05.100052デフォルトの名無しさん
2012/04/22(日) 09:13:43.060053デフォルトの名無しさん
2012/04/22(日) 10:48:08.84右隣の行番号ってのが何のことかよくわからんが
グラフの左上端にあるセルの行番号ならこれで取得できる
Dim c As ChartObject
For Each c In ActiveSheet.ChartObjects
Debug.Print c.TopLeftCell.Row
Next
0054デフォルトの名無しさん
2012/04/22(日) 13:29:41.46OSはwindows7 professional SP1
Excellは2007です。
現在、小文字で500〜600文字程度ある文字列が500列あります。
その中に存在する特定の文字列、たとえばaggtcaを検索し、大文字にし色を変えるというマクロを組んでおります。
それが以下になります。
Sub Try1()
Dim c As Range
For Each c In Selection
RepChar c, "aggtca", 3 ' サブプロシージャ呼び出し
Next
End Sub
'c: 対象セル What:検索文字列 ColorIndex:Font色Index
Sub RepChar(ByVal c As Range, What As String, ColorIndex As Long)
Dim j As Long
Do
j = InStr(j + 1, c.Text, What)
If j = 0 Then Exit Do
With c.Characters(j, Len(What))
.Text = UCase$(What) ' 大文字にする
.Font.ColorIndex = ColorIndex ' Font色 変更
End With
Loop
End Sub
しかしながら、検索対象文字列が255文字までなら思う通りに動きますが、256文字以上になったら色が変わるだけになってしまいまいました。
なにかいい解決案を思い浮かぶ方がいたらご教授願います。
0055デフォルトの名無しさん
2012/04/22(日) 14:13:56.85一旦文字列変数に代入して大文字に変換したあとにセルに代入し直して文字色を変えるとか
0056デフォルトの名無しさん
2012/04/22(日) 14:33:00.84VBAの制限
セルから文字列を取り出す時に、Textプロパティを含むいくつかの命令では255文字以下しか扱うことができない
大文字への変換と色の変更は別々にやるしかない
Sub RepChar(ByVal c As Range, What As String, ColorIndex As Long)
Dim j As Long
Dim str As String, WhatU As String
WhatU = UCase$(What)
str = c.Text
j = 0
Do
j = InStr(j + 1, str, What)
If j = 0 Then Exit Do
Mid(str, j, Len(What)) = WhatU ' 大文字にする
Loop
c.Value = str
j = 0
Do
j = InStr(j + 1, str, WhatU)
If j = 0 Then Exit Do
c.Characters(j, Len(What)).Font.ColorIndex = ColorIndex ' Font色 変更
Loop
End Sub
0057デフォルトの名無しさん
2012/04/22(日) 18:40:27.33B3=VLOOKUP($A3,sheet2!$A:$J,6)
B4=VLOOKUP($A4,sheet2!$A:$J,6)
と、A列の検索値が空白になるまで続くのですが、
マクロで計算結果のみを表示する方法を教えて下さい。
宜しくお願いします。
0058デフォルトの名無しさん
2012/04/22(日) 18:51:25.44WorksheetFunctionプロパティを使えばいい
Range("B3").Value = Application.WorksheetFunction.VLookup(Range("$A3"), Worksheets("sheet2").Range("$A:$J"), 6)
0059デフォルトの名無しさん
2012/04/24(火) 13:08:16.78Do Until EOF(intFF)
' レコードを読み込む
Input #intFF, X(1), X(2), X(3), X(4), X(5), X(6), X(7), X(8)
:
:
Loop
CSVファイルのある1行に 2012/3/11,12:00:05,・・・とあると
2012/3/11が2012、12:00:05が12としか読み込まれません。
例えば 日付2012/3/11,時間12:00:05 等、何か文字がついていると
日付2012/3/11 と読み込まれます。
数字のみでも読み込むにはどうしたらいいですか?
宜しく御願いします。
0060デフォルトの名無しさん
2012/04/24(火) 13:27:13.17>>1
>★4 とりあえず、Excelのインスタンスを作らずにVB6で出来ることは全てスレ違いだと思ってください。
0061デフォルトの名無しさん
2012/04/24(火) 13:41:48.230062デフォルトの名無しさん
2012/04/24(火) 13:52:37.31Excelの機能でCSVファイルを読み込めばいいよ
0063デフォルトの名無しさん
2012/04/24(火) 18:05:20.05csv読み込みまでいかんと申すか!
0064デフォルトの名無しさん
2012/04/24(火) 18:25:33.59ずーーーーと前から何回か話題に出してるんだけど、このテンプレPart4で誰かが勝手に作った奴で、
それ以降★○だから駄目とかいう奴がうざいんだわ。同一人物かもな。
0065デフォルトの名無しさん
2012/04/24(火) 18:42:26.28そんな昔からの経緯を知ってるならお前が率先して見直せよ
何もせずに文句だけ言うやつが一番うざいわ
0066デフォルトの名無しさん
2012/04/24(火) 19:30:13.96やったことないからわからんけど、文字列に格納して自分で加工したら?
読み出しが出来ればだけど
0067デフォルトの名無しさん
2012/04/24(火) 20:16:19.92Cells(i, 2).Value = "Error"
と値を入れるのですが、そのセルはシートの保護が掛かっているいる為
エラーになります。
ループでまわし、かつその途中で人的操作が入る為
一番最初に保護の解除を行い、最後に保護をするのは避けたいです。
ただ、Cells(i, 2).Valueのループの回数分、保護/保護の解除のするのは、
無駄に処理が重くなりそうなので避けたいのですが。
なにか妙案はありませんか?
0068デフォルトの名無しさん
2012/04/24(火) 20:29:47.46On Error Resume Nextでスルーするのは駄目なのか?
嫌なら Err.Numberで判定すれば
0069デフォルトの名無しさん
2012/04/24(火) 20:51:03.76UserInterfaceOnly
0070デフォルトの名無しさん
2012/04/24(火) 20:59:56.10配列変数XをString型で宣言すればいい
Dim X(1 To 8) As String
0071デフォルトの名無しさん
2012/04/24(火) 21:59:42.33セルに入れるだけなら
仮シート作って最後に転写
配列に格納して最後に書き出し
のどちらか
俺なら後者だが
0073デフォルトの名無しさん
2012/04/24(火) 23:19:04.140074デフォルトの名無しさん
2012/04/25(水) 16:48:59.60>>62で答えてるじゃん。
コード書かないと回答とは思わなかったのかな。
0075デフォルトの名無しさん
2012/04/25(水) 19:39:53.89VBA初心者です
会社でVBAマクロを作っていたのですが、サーバーにあるファイルにたいしてWorkbooks.OpenやCloseしかしてなかったのですが、サーバー上のファイルが消えてしまいました
基本的に書き込みや削除などの操作は行っていないのですが、OpenやCloseのみでも参照先のファイルが消える可能性があるのでしょうか
ちなみにOPENには特にオプション指定はしていません
また、ローカルのファイル対するOpenでは現象が再現せず、再現しなかったファイルをそのままサーバーに置いて、それを参照すると消えました。
0076デフォルトの名無しさん
2012/04/25(水) 19:45:18.09ソースコードも見ずに第三者が答えられるわけがない
0077デフォルトの名無しさん
2012/04/25(水) 19:59:32.17失礼、ファイルの持ち出し不可能なのでソースをもってくることはできませんでした
聞きたかった事としてOpenやCloseによってはファイルが消える可能性があるかということを知りたかったのです
0078デフォルトの名無しさん
2012/04/25(水) 20:27:19.112010で使用する時にリボンを畳む方法を教えて下さい。
2010で使用する時のみマクロファイルを読み込まないといけない気がするのですが
やり方がわかりません。
0079デフォルトの名無しさん
2012/04/25(水) 20:52:07.30workbook.open,workbook.closeだけならないよ
他のコードなり操作なり見ないとわからんけど
vba側だけじゃなくて、サーバー上でどういう管理されてるかも含めんとね
ローカルなcloseは問題ないんだろ?
ネットワークを介さないサーバー上でのopen,closeの挙動も見ておいたら
0080デフォルトの名無しさん
2012/04/25(水) 20:56:59.03Application.VersionでExcelのバージョンを判定して処理を分けるとか?
0081デフォルトの名無しさん
2012/04/25(水) 21:05:53.16ありがとうございます
また明日コードみてみます
実はバグがあって 最初に読み込んだ(Openした)ファイル(参照ファイルA)の、あるセルに書き込まれてる「ファイル名(参照ファイルB)」を開きに行くんですが、セルに何も入力されていなくてもOpenするようになってました
(おそらくファイル名「""」をOpen。Closeは""でもパスが通るようになっていたか未確認)
ちなみに、この状態になるファイル(参照ファイルA)にアクセスした時に消えました。
この時、参照ファイルAは消えないのですが、同一フォルダにあるファイル(ファイルBの候補(?))が全て消えました(ローカルで試した場合は発生せず、サーバーは100%発生します)
008275
2012/04/25(水) 21:10:34.50サーバー上に(参照元となる)ファイルAと、ファイルAのセルから参照先が判断されるファイルB群があって、参照先を示すセルが空欄になってました
この時、異常処理が入ってなかったので、無理やりファイル名""で参照にいってると思われます
明日また調べてみます
0083デフォルトの名無しさん
2012/04/25(水) 21:11:13.89サーバ上のファイルを監視しながらステップ実行すれば
どのタイミングでファイルが消えるかわかると思うよ
0084デフォルトの名無しさん
2012/04/25(水) 22:41:12.91× そういうの嫌いじゃない
○ そういうの好き
素直になりなさい
0085デフォルトの名無しさん
2012/04/25(水) 23:46:40.74openに渡すときにパスがないとコンパイルエラー起こす気がするんだが・・・
0086デフォルトの名無しさん
2012/04/26(木) 09:59:25.61レス、有難うございます。
マクロの記録でリボンを畳むときの命令を見ようとしたのですが、マクロに記録されません。
と言うことは、VBAではできないということですよね?
0087デフォルトの名無しさん
2012/04/26(木) 10:37:45.26Excel4.0マクロを使うとできる。
リボン、非表示、Excel4.0マクロ、でググれ。携帯電話からなのでコードは書かない。
0088デフォルトの名無しさん
2012/04/26(木) 19:08:44.84質問させてください。
変数Aにセルのデータを配列として代入したいのですが、
|りんご,みかん,パイナップル|
|アボガド|
|きゅうり|
このようにカンマ区切りと、そうでないセルが混在しています。
A=りんご,みかん,パイナップル,アボガド,きゅうり
B=Split(A, ",")
このようにして最終的に別のセルに一つづつ抜き出したいのですが、
どのようにして上のようなデータを配列としてAに代入すればいいのでしょうか?
008975
2012/04/26(木) 19:18:54.25今日、会社で確認してきました
ステップ実行してOpenの際にファイルが消えます
新しくエクセルファイルを作って、最小構成(ファイルパスも直値)のマクロで確認してみたところ、以下のコードでも消えました
Sub Button_Click()
Workbooks.Open "Y:共有サーバー\問題のあったフォルダ\", ReadOnly:=True
End Sub
このマクロでエラーメッセージが発生後、「Y:共有サーバー\問題のあったフォルダ」内のファイルが全て消えました
ローカルで(パスは変えて)確認した場合は、やはりファイル消えてませんでした
0090デフォルトの名無しさん
2012/04/26(木) 19:27:20.88ローカルっていうか、サーバー上のシステムでネットワークを介さないで開けたってことでいいのか
サーバー側のシステムは?
Workbook.Open渡されてちゃんと開けるのが前提だぞ、win入っててもexcelか.netのライブラリないと
作業ディレクトリも気になる
0091デフォルトの名無しさん
2012/04/26(木) 19:28:12.93例えば、A1:E1セルに値をセットしたいならこんな感じでできる
A = "りんご,みかん,パイナップル,アボガド,きゅうり"
B = Split(A, ",")
Range("A1:E1").Value = B
0093デフォルトの名無しさん
2012/04/26(木) 19:35:18.290094デフォルトの名無しさん
2012/04/26(木) 19:50:25.08ホントにファイルが消えるならMSのサポートに言った方がいいよ
んで、できれば結果を報告してくれるとうれしい
0095デフォルトの名無しさん
2012/04/26(木) 20:02:00.86返信有り難うございます。
配列のデータをセルに書きだす方法はどうにかわかったのですが、
カンマ区切りのデータと、区切られてないデータを
変数Aに入れる方法がわからないんです。
例えばですが
Dim A As Variant
A = Range("A1:E1")
B = Split(A, ",")
Range("A1:E1").Value = B
このように指定するとデータの型が合いませんと出て困っています。
A = Range("A1:A1")と指定すれば問題なく出力されるんですが・・・
0096デフォルトの名無しさん
2012/04/26(木) 22:10:15.77こんな感じ?
Dim A As String
Dim r As Range
A = ""
For Each r In Range("A1:E1")
A = A & IIf(A = "", "", ",") & r.Text
Next
0097デフォルトの名無しさん
2012/04/26(木) 22:37:25.43ありがとうございます。動きました。まさに理想の動作です。
このコードがどんな意味かをじっくり勉強させてもらいます。
ありがとうございました!
0098デフォルトの名無しさん
2012/04/26(木) 23:49:30.15そもそも「Y:共有サーバー\問題のあったフォルダ」というパス指定があやしいが
ネットワークドライブとしてY:を割り当ててるのか?
共有サーバーの部分は、実際のサーバ名が入ってるのか?
Y:の後に\はないのか?
ネットワークドライブなら、割り当てたユーザとエクセルを実行しているユーザは同じか?
サーバとクライアントのOSやエクセルのバージョンとかもよくわからんが
まあエクセルの問題じゃない気がするな
0099デフォルトの名無しさん
2012/04/27(金) 00:00:20.24>ネットワークドライブとしてY:を割り当ててるのか
割り当ててます
>共有サーバーの部分は、実際のサーバ名が入ってるのか?
入ってます。実際のフォルダはもう2個くらい深いところにあります
会社のフォルダ構成をそのままネットにアップするのもどうかと思ったので、スレ説明用に簡略化しました
>Y:の後に\はないのか?
書き忘れてました。実際には入ってると思います
>ネットワークドライブなら、割り当てたユーザとエクセルを実行しているユーザは同じか?
同じです
0100デフォルトの名無しさん
2012/04/27(金) 00:11:44.71>>89のマクロを実行したらファイルが消えるんだからExcelの問題で間違いないでしょ
アホなレスは相手にしなくていいから早くマイクロソフトに問い合わせなさい
0101デフォルトの名無しさん
2012/04/27(金) 02:44:43.40サーバの共有ディスクから削除されてるってことなのか?
ほんとにこのマクロでファイルが削除されるなら、
恐ろしくてマクロでブック開くとかやってられんわ
0102デフォルトの名無しさん
2012/04/27(金) 05:16:56.92http://okwave.jp/qa/q2275192.html
共有フォルダってLinux製のNASとかかな
サーバ上の他のフォルダはセーフなのか?
0103デフォルトの名無しさん
2012/04/27(金) 09:36:30.33BのシートをAファイルにコピー、Bファイルを閉じるってのを
毎日タスクで実行してるけど問題は起きてないよ。
参考になるか解らないけど。
0104デフォルトの名無しさん
2012/04/27(金) 11:22:50.09どっちの方が内容が濃いんでしょうか?
0105デフォルトの名無しさん
2012/04/27(金) 11:27:08.49お金払ってまで講座を受ける理由がわからない
0106デフォルトの名無しさん
2012/04/27(金) 11:56:31.03Captionの文字色がボタンをクリックしないと切り替わらなかったので、ループ処理中にDoEventsとSleepを
入れてたりしているのですが、きちんと切り替わる命令ってないでしょうか?
0107デフォルトの名無しさん
2012/04/27(金) 14:06:08.510108デフォルトの名無しさん
2012/04/27(金) 14:19:19.330109デフォルトの名無しさん
2012/04/27(金) 17:02:48.50左端が-100、右端が100で目盛りの刻みは15毎だったり23毎だったりと条件によって変わるのですが、必ず0の目盛りを表示させることは可能ですか?
縦軸との交点を0にするのはせずに、目盛りして表示したいという事です。
0110デフォルトの名無しさん
2012/04/27(金) 17:38:36.05ヘルプでAxisのメンバを調べましょう
0111デフォルトの名無しさん
2012/04/27(金) 18:04:23.290112デフォルトの名無しさん
2012/04/27(金) 22:41:40.300113デフォルトの名無しさん
2012/04/27(金) 22:43:51.910114デフォルトの名無しさん
2012/04/27(金) 23:08:20.65ちなみにできんよ。
0115デフォルトの名無しさん
2012/04/29(日) 02:39:28.430116デフォルトの名無しさん
2012/04/29(日) 02:49:20.60この一覧を、シート上の別の場所、たとえば、H〜M列に張り付けようとしています。
これは、マクロの記録を使えばできることですが、ほかの人がオートフィルタを使って
条件を絞り込んで結果を出しているとき、その状態でVBAマクロを実行すると、
コピー先(H〜M列)に張り付ける位置がコピー元の行の位置があわず、ずれてしまいます。
これに対して自分が思いついた案では、マクロ実行開始時に表内にオートフィルタが設定されていれば
解除するようにしています。しかしこれをやると、解除するのに時間がかかるので使えるのか微妙です。
本題に入りますが、
フィルタが設定されている状態で、コピー元をコピー先へ、行をずらすことなく張り付けることは可能でしょうか。
0117デフォルトの名無しさん
2012/04/29(日) 09:28:40.39オートフィルタを解除するのに時間がかかるってのがよくわからない
0118デフォルトの名無しさん
2012/04/29(日) 23:22:09.01>フィルタが設定されている状態で、コピー元をコピー先へ、
>行をずらすことなく張り付ける
VBAでやる場合は、SpecialCellsで検索すると幸せになれる。
直接手作業する場合は、
(1)2007、2010
ホーム→検索と選択→ジャンプ→セル選択→可視セル
(2)2003
編集→ジャンプ→セル選択→可視セル
(3)2003、2007、2010共通のショートカット
F5押下→セル選択→可視セル
(1)〜(3)のお好きなものをどうぞ。
(3)が共通で作業手順が一番短い。
0119デフォルトの名無しさん
2012/04/30(月) 13:07:27.29自動的にクリップボードがクリアされてしまいます。
どうやったらクリップボードの内容を保持したままExcelを終了できますか?
以下、現在のコードです
Set TempObject = New MSForms.DataObject
With TempObject
.SetText "文字列"
.PutInClipboard
End With
0120デフォルトの名無しさん
2012/04/30(月) 13:35:26.32SetClipboardData vba でググれ
0121デフォルトの名無しさん
2012/05/01(火) 10:31:34.690122デフォルトの名無しさん
2012/05/01(火) 11:43:29.71できる
0123デフォルトの名無しさん
2012/05/01(火) 11:48:01.01死ね
どうするかと聞いておる
0124デフォルトの名無しさん
2012/05/01(火) 11:49:45.30そもそもExcelは同名ファイルを二重起動できないんだが
どうやって二重起動させてるのかVBAのコードを見せろカス
0125デフォルトの名無しさん
2012/05/01(火) 11:52:42.73ハゲは黙ってろ
0126デフォルトの名無しさん
2012/05/01(火) 11:54:39.17ここはExcelVBAのスレだ
VBSの質問はよそでやれ
0127デフォルトの名無しさん
2012/05/01(火) 11:59:46.07マナーがなってないと頭悪くみえますよ
0128デフォルトの名無しさん
2012/05/01(火) 12:50:41.240129デフォルトの名無しさん
2012/05/01(火) 12:52:17.480130デフォルトの名無しさん
2012/05/01(火) 12:58:27.010131デフォルトの名無しさん
2012/05/01(火) 22:49:35.06変わったかを把握したいのですが、どうすればいいですか?
環境はxp、excel2003です。
宜しく御願いします。
0132デフォルトの名無しさん
2012/05/01(火) 23:06:02.30意味がよく分からない
別名保存したのが第三者で、その人が付けたファイル名が知りたいの?
聞けばいいじゃない?
0133デフォルトの名無しさん
2012/05/01(火) 23:28:47.00モーダルレスでフォーム出しっ放しの状況なんだろ
昔悩んで諦めた
0134デフォルトの名無しさん
2012/05/01(火) 23:29:32.97代替案としては、ブック終了時もしくは定期的にファイル名を保存するとかかな
0135デフォルトの名無しさん
2012/05/01(火) 23:43:49.85Workbook.Nameでファイル名を取得できる
0136デフォルトの名無しさん
2012/05/01(火) 23:58:40.13Excel 2003 だと、WorkbookBeforeSave で、独自のダイアログ出して保存までコードでやる
ぐらいしか思いつかない。
0137デフォルトの名無しさん
2012/05/02(水) 00:25:58.49どういうこと?
0138デフォルトの名無しさん
2012/05/02(水) 00:30:30.03まぁ確実に押してくれる訳じゃないけどさ
0139デフォルトの名無しさん
2012/05/02(水) 00:36:19.41まず、なんでそんなことやる必要があるのか?だ
0140デフォルトの名無しさん
2012/05/02(水) 04:00:58.07VBA初学者です。
『最初から〜・・・VBAのプログラミングのツボとコツが・・・』を読み終えました。
次も既存の入門書を読んだほうがいいらしんですが、お薦めの本はありますか。
よくわかるExcel2007マクロ/VBA入門→実践編、と読んでみようと考えてますがどうでしょうか?
0141131
2012/05/02(水) 05:53:22.55その関係でフォームを出しっ放しにしています。
とある処理の時に新規にブックを追加するのですが、一旦その新規ブックの処理が終わっても、再度そのブックに追加で処理をする必要が出てきました。
新規追加した時はブック名は把握していますが、モーダルレスなのでオペレーターが途中で別名保存する可能性があるので質問させていただきました。
新規ブック追加はせずにフォームのブックで処理していくのがよさそうですね。
ついでになってしまうのですが、その場合メニューからの保存する際にユーザーフォームやマクロを外して保存する事は可能でしょうか?
長文で申し訳ないですが、よろしくお願いします。
0142デフォルトの名無しさん
2012/05/02(水) 07:58:06.34新規ブックを作成→必要なシートを新規ブックにコピー
→名前を付けて保存
じゃダメなの?
0143デフォルトの名無しさん
2012/05/02(水) 08:00:06.80新規ブックのブック名をテキストファイルに書き込んどけばいいんじゃね?
新規ブックを閉じたとしても、ファイル名は残ってるわけだから何とかなるだろ。
ブック名を書き込んだテキストファイルをいつ削除するかを検討する必要はあるけど。
0144デフォルトの名無しさん
2012/05/02(水) 09:16:06.75>>135がダメな理由がわからない
0145デフォルトの名無しさん
2012/05/02(水) 09:34:40.15読書なんて個人の好みなんだからあなたの好きにすればいい
0146デフォルトの名無しさん
2012/05/02(水) 12:42:17.930147デフォルトの名無しさん
2012/05/02(水) 13:42:14.14その程度の誤用が読みとれないようならこのスレに来る資格はないよ
もっとエスパー能力を上げてきてね
0148デフォルトの名無しさん
2012/05/02(水) 13:45:39.55アホ
0149デフォルトの名無しさん
2012/05/02(水) 13:45:46.52モーダルなのかモードレスなのかわからないのはアスペ。
0150デフォルトの名無しさん
2012/05/02(水) 13:46:41.65これ読んで、どっちかわからんとかありえない。
0151デフォルトの名無しさん
2012/05/02(水) 13:48:02.82間違いを指摘された本人が必死に弁護中
↓
0152デフォルトの名無しさん
2012/05/02(水) 13:49:56.520153デフォルトの名無しさん
2012/05/02(水) 14:12:31.980154デフォルトの名無しさん
2012/05/02(水) 14:36:57.110155デフォルトの名無しさん
2012/05/02(水) 18:48:42.35私はmySQLで動作するタイプのwebサイトの管理を任されて
csvを使う都合上、使うようになりました。
他にはどんな場面で使うものか興味があって
0156デフォルトの名無しさん
2012/05/02(水) 19:15:59.03投資家の中には、自分で抽出基準を作ってその判定をVBAで、、、
なんて奴もいるだろうし。。。
0157デフォルトの名無しさん
2012/05/02(水) 19:45:06.80何年かぶりの素人プログラムで用語が怪しいです。
0158デフォルトの名無しさん
2012/05/02(水) 21:22:03.10ともに「モーダルレス」なる誤用をしているのは
なんだか自演くさいのだが、
誰もそこに突っ込まないのは何らかの暗黙の了解があるのか?
0159デフォルトの名無しさん
2012/05/02(水) 21:28:48.22http://imgnews.naver.com/image/032/2012/05/02/l_2012050201000282300018161_0_20120502165204.jpg
,,fヽy
rヽ__)`~ i'" ・ ゚
* / ,,ノ *
. <'" ,ィ'~
` >∧__∧ヽ ウェー、ハッハッハ !!!
・ <ヽ`∀´>ヽ 世界中が ウリナラ から
~ヽ, ヽ, 孤立してるニダ !!!! *
. ・ < } 。
* ) 〉 ゚
〈 _,,,/
゚ ´‐'"~ . ・
。 *
_,..-‐''''""~´ ̄ ̄ ̄ ̄~"'''‐-,.、
. ,.-‐''" ──‐‐''",.、.:.:.:.:.:.:.:\、.:.:.:.:.:.:.:~"'‐-、
,.‐''"''''""~´::::::::::::::::::::::\\:::::::::::::::"'''''\"''--、.:.:.゙''‐.、
,.‐'":::::::::::::::::::::::::::::::::::::::::::::::::゙''‐、''l:::::__,....-‐'''" ''.:.:.:::゙'ヽ、
,.‐'"::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~"‐--‐‐, ''.:.:.:. \
/:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::/" .:.:.:. ヽ、
,."::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::/ .ヽ
0160デフォルトの名無しさん
2012/05/02(水) 23:03:52.99ここにいるのは俺とお前だけなんだよ、いわせんな
0161デフォルトの名無しさん
2012/05/03(木) 02:01:16.22というマクロを作ってみたのですが
Sub
'FormatConditions(1)
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
Formula1:=ActiveCell.Offset(0, -1).Value
Selection.FormatConditions(1).Font.ColorIndex = 3
End Sub
これだとセル1箇所選択の場合はOKなんだけど、複数セルを同時に選択すると
期待したようにならない。
複数セルを同時に選択、列ごと選択して、上記のように実行するにはどうすれば良いのか?
0162デフォルトの名無しさん
2012/05/03(木) 02:07:47.17まだ実験してないけど
sub
dim a as range
for each a in selection
if a.offset(0,-1)=a then
a.font.color=vbred
end if
next a
end sub
0163162
2012/05/03(木) 02:10:19.53しかし選択がA列を含んでるとエラーが出たな。
0164161
2012/05/03(木) 02:47:25.22でも列選択だと時間かかる
0165デフォルトの名無しさん
2012/05/03(木) 03:07:53.53if文でブランクセルをキャンセルしたら早くなりました
ありがとうです!
0166デフォルトの名無しさん
2012/05/03(木) 10:26:43.05あらかじめ設定してあるブックをVBAで複製しているのですが、複製元のブックを
触られてしまうことがあるので、新規にブックを作成するように変更したいのですが、
その際のイベントをどうするかが分からなくて変更に踏み切れません。
Excel2003です。
どなたか御願いします。
0167デフォルトの名無しさん
2012/05/03(木) 12:00:33.100168デフォルトの名無しさん
2012/05/03(木) 12:36:13.40複製元のブックを .xls のファイルではなく、テンプレート(.xlt)形式で用意しておくだけじゃダメなの?
テンプレートなら、ダブルクリックで開いても、新規文書の扱いになるので、
誤って元文書を編集してしまうことはなくなるはず
0169デフォルトの名無しさん
2012/05/03(木) 19:45:44.390170デフォルトの名無しさん
2012/05/03(木) 23:30:58.60前半部分がさっぱりわからん。
「あらかじめ設定してあるブック」って何が設定されてるのか?
「ブックをVBAで複製している」という処理はどこに実装されているのか?
0171デフォルトの名無しさん
2012/05/03(木) 23:36:54.51書いてあること分からないの?
引っ込んでろよ。
0172デフォルトの名無しさん
2012/05/04(金) 00:11:45.78わかるんだったら回答してやりゃあいいんじゃん。
ってかお前>>166かw
0173デフォルトの名無しさん
2012/05/04(金) 00:13:21.63複製元のブックに保護かけとけば触られないから安心だぞ
0174デフォルトの名無しさん
2012/05/04(金) 00:32:56.96日本語からして駄目だよな
0175デフォルトの名無しさん
2012/05/04(金) 10:03:07.48そうです、166です。
0176デフォルトの名無しさん
2012/05/04(金) 22:51:03.01そのbookに名前をつけたら怒られました(エラーが出ました)。
それってできないの?
仮にどこかに保存したらできるけど
ファイル名はそのbookが編集し終わったときにはじめて決定するから
仮に保存はしたくないんです。
いい方法はありますか?
0177デフォルトの名無しさん
2012/05/04(金) 23:12:57.65>ファイル名はそのbookが編集し終わったときにはじめて決定する
編集し終わって保存するときにファイル名をつけるんだからそれでいいんじゃないの?
0178デフォルトの名無しさん
2012/05/04(金) 23:24:00.150179デフォルトの名無しさん
2012/05/04(金) 23:24:15.02それ以前に
いろんなbookからデータをとってくるから
そのbookのnameを仮だとしても決めておきたいわけ。
0180デフォルトの名無しさん
2012/05/04(金) 23:25:10.17想像力がないな。
というよりVBAでちょっとでも複雑なものを作ったことがないのかな。
0181デフォルトの名無しさん
2012/05/04(金) 23:38:34.36一体どういう状況でファイル名が必要になるんだ?
もうちょっと具体的に説明できないの?
0182デフォルトの名無しさん
2012/05/04(金) 23:38:51.33作り方が悪いだけだろ
0183デフォルトの名無しさん
2012/05/04(金) 23:40:21.80>VBAの中でとりあえずbookを新規につくり
ここのソースを見せてみ
多分それが一般的じゃないんだと思う
0184デフォルトの名無しさん
2012/05/04(金) 23:41:54.39>>183
普通にテンプレートとなるシートからコピーしてる。
なので activesheet.copy
0185デフォルトの名無しさん
2012/05/04(金) 23:42:00.28■現状
・設定用のシートと、その設定をもとにいろいろと処理するVBAスクリプトを含むようなxlsファイル(a)が存在する
・セルをクリックしたらイベントが発生するような処理を仕込んであるxlsファイル(b)が存在する
・(a)で設定をしたうえでVBAを実行させると、(b)を複製して新しいファイル(c)を作成する
■問題点
・ユーザが(b)を変更できてしまうため、(c)が意図したものにならない
■改善案
・新規ブックの状態から必要な変更を(a)のVBAで行って(c)を作成することにより、
((a)のVBAが修正されない限り)同じものができるようにしたい。
■改善案を実施するための問題点
・VBAでセルにクリックイベント等を設定する方法がわからん。
ってことなんじゃ。
すでに出てるように、保護とか先に検討すべきことがあるような気もするけど。
----------
VBAの中では変数を使ってアクセスするんだから、ブック作成時にWorkbookオブジェクトを変数にセットしておけば全然困らないよな。
他のbookからデータ取るときに仮の名前が必要になるなら、仮の名前を渡してあげればいいだけだし。
データを持ってるワークブックに新しく作成したワークブックオブジェクトを渡して、
相手のワークブックが名前を読み取るとかいう仕組みってわけじゃないだろうしさ。
0186デフォルトの名無しさん
2012/05/04(金) 23:45:53.50>VBAの中でとりあえずbookを新規につくりそれにデータを入れたり編集したりしてるんだけど
既に、bookを新規に作ってデータを入れたり編集したりできてるんだよね?
釣りじゃないならこの部分のソースをちゃんと晒してみせて
じゃないとなぜファイル名が必要になるのかがわからない
0187デフォルトの名無しさん
2012/05/04(金) 23:49:35.89エスパーするにも程があるぞw
書いてないことが足されすぎだ
0188デフォルトの名無しさん
2012/05/04(金) 23:52:23.88正直に言うと、
オブジェクト変数でそのbookを変数にいれたいけど
そのコードを書くプロシージャがあるサブルーチン内なので
他のプロシージャから参照できない。
たぶんオブジェクト変数もローカル変数じゃなくグローバル変数にはできるだろうけど
「なるべく変数はローカルに」というポリシーを守りたいからしたくない。
0189デフォルトの名無しさん
2012/05/04(金) 23:54:27.750190デフォルトの名無しさん
2012/05/04(金) 23:57:13.71Type tmp
Book As Workbook
Name As String
End Type
こんな感じにbookと名前を仮にセットしとけばいいんじゃねーの
Sub aaa()
Dim WB(2) As tmp
With WB(0)
Set .Book = Workbooks.Add
.Name = "name1"
End With
End Sub
0191デフォルトの名無しさん
2012/05/05(土) 00:01:33.99そのサブルーチンに引数を作ればいいと思うけど
0192デフォルトの名無しさん
2012/05/05(土) 00:01:56.96お前の決めたポリシーに反したくないならそのポリシーとやらを全部列挙しろよ
じゃないと答えても無駄になるわ・・・
0193デフォルトの名無しさん
2012/05/05(土) 00:08:54.64なので、新規で作った時にワザと作業用のデレクトリーに名前を付けて保存する。
保存するとそのブックと縁が切れるまでファイル自体は削除できないから、マクロ起動時、
または終了時に作業用デレクトリー内のファイルを掃除するようにしとけばいいんじゃないの。
0194デフォルトの名無しさん
2012/05/05(土) 00:09:47.68それじゃそのプローシージャの中でしか使えないじゃん。
わたしはこれでも初心者だけど
「変数は原則ローカルで」というのはプログラミングの中級者以上の人でも、そんなに厳守しなくていいものなの?
0195デフォルトの名無しさん
2012/05/05(土) 00:11:53.25自分しか使わないのならいいけど
これは仕事で使ってるし、少なくとも10人以上が使うから
各PCの構成をあまり把握してない状況で
仮保存&あとで消去はあまり(というか絶対)使いたくないな。
0196デフォルトの名無しさん
2012/05/05(土) 00:16:29.16あなたが作ったポリシーを守るかどうかはあなた次第でしょ?
book.Activate しておけば
Application.ActiveWorkbook で参照できるでしょ
ダメかな?
0197デフォルトの名無しさん
2012/05/05(土) 00:20:28.31多数のbookを開いて処理してるんだ。
その状況で作業対象のbook(最終的に保存する)に名前を付けておきたいのよ。
そのactivateするためには、そのbookの名前が必要でしょ?
最初はworkbooks(workbooks.count)としてたけど、いろいろ問題があって辞めた。
0198デフォルトの名無しさん
2012/05/05(土) 00:22:55.02bookを大量に新規作成してるってこと?
0199デフォルトの名無しさん
2012/05/05(土) 00:33:09.35サブルーチンに引数で渡し、戻ってきた段階で保存処理を実行すれば
Sub aaa()
Dim WB(2) As tmp
Call コードを書くプロシージャがあるサブルーチン(WB(1))
For Each x In WB
If x.Name <> "" Then
x.Book.SaveAs x.Name
End If
Next x
End Sub
Sub コードを書くプロシージャがあるサブルーチン(ByRef WB As tmp)
Set WB.Book = Workbooks.Add
WB.Name = "name1"
End Sub
0200デフォルトの名無しさん
2012/05/05(土) 00:35:21.01わからんと答えづらい。
メインのプロシージャに関してはグローバル変数で
宣言してもいいと思うが。
0201デフォルトの名無しさん
2012/05/05(土) 00:35:47.57条件の後出しが多すぎ
0202デフォルトの名無しさん
2012/05/05(土) 00:41:26.35コードのバグを作り出してる感じだ
0203デフォルトの名無しさん
2012/05/05(土) 00:43:18.97→Applicationが持ってるWorkbooksコレクションを全部なめて、把握していない名前があればそれが新規作成されたWorkbookオブジェクト
新規作成するブックが複数ある
→作成した時に適当にWorksheetを追加して、それに管理用の名前つける
任意の作成したWorkbookオブジェクトを取得したいときは、Workbooksコレクションとその中のWorksheetsコレクションを調べる
とか。
Workbooksとかにビシバシとアクセスしてるなら、グローバル云々とかあんまり気にするなよって感じはするが。
0204デフォルトの名無しさん
2012/05/05(土) 00:43:46.84Sub aaa()
Dim WB(2) As tmp
Dim i
Call コードを書くプロシージャがあるサブルーチン(WB())
For i = 0 To 2
With WB(i)
If .Name <> "" Then
.Book.SaveAs .Name
End If
End With
Next i
End Sub
0205デフォルトの名無しさん
2012/05/05(土) 00:45:00.43Sub コードを書くプロシージャがあるサブルーチン(ByRef WB() As tmp)
Dim i
For i = 0 To 1
Set WB(i).Book = Workbooks.Add
WB(i).Name = "name" & i
Next i
End Sub
0206デフォルトの名無しさん
2012/05/05(土) 01:19:19.06StatusBarにブック名を待避しておくとか
Sub sp1()
Dim book As Workbook
Set book = Workbooks.Add
Application.StatusBar = book.Name
Call sp2
Application.StatusBar = False
End Sub
Sub sp2()
Workbooks(Application.StatusBar).Worksheets("Sheet1").Range("A1") = "wwwwwwwwwwwwwww"
End Sub
0207デフォルトの名無しさん
2012/05/05(土) 01:35:30.99シートに書きたくないならtempモジュールにコードを動的に追加すりゃいい
0208デフォルトの名無しさん
2012/05/05(土) 02:36:57.35シート追加するサブルーチンがあるなら、追加したシート戻せよ
Functionって知らないのかお前ら?
0209デフォルトの名無しさん
2012/05/05(土) 04:09:29.68クラスモジュールを使うって手があるな
オブジェクト指向のいいとこどり
0210デフォルトの名無しさん
2012/05/05(土) 04:40:52.69はげどう。
条件後出し多くて、回答しようと思っても振り回されてるだけだな。
エスパーしろよと言わんばかりの訳のわからん日本語並べられてもお互い疲れるだけだし。
>>176
さっさとソース晒せ。
ポイントとなる部分を抜き出して動作を再現できるコードで充分なんだけど。
0211デフォルトの名無しさん
2012/05/05(土) 05:33:01.440213デフォルトの名無しさん
2012/05/05(土) 12:22:19.49Worksheet関数にも機能が違うのがあるし
0214デフォルトの名無しさん
2012/05/05(土) 12:37:04.92>>176の釣りは私がしました!!
0215デフォルトの名無しさん
2012/05/05(土) 13:19:54.12どんなbookででも使えるようにする方法って、
ひょっとしてないの?
0216デフォルトの名無しさん
2012/05/05(土) 13:29:32.230217デフォルトの名無しさん
2012/05/05(土) 13:30:26.550218デフォルトの名無しさん
2012/05/05(土) 13:45:24.84しません
0219213
2012/05/05(土) 13:51:19.67してください。
そうじゃないと話が始まらない。
0220デフォルトの名無しさん
2012/05/05(土) 13:54:37.22つまらない質問はしないでください
0221デフォルトの名無しさん
2012/05/05(土) 17:04:12.31文字通りエクセルテンプレート形式なxlt使うのが普通じゃねーの
0222デフォルトの名無しさん
2012/05/05(土) 17:24:53.27Outlookを操作(テンプレート本文・件名があってその一部にExcelのセルがデータを入力したりetc. etc.)したり、したいです。
そのことに特化した本(中級・上級向けになると思います)ってないですか?
どうもVBAは初心者向けの本がほとんどで困っている。
そのほうが売れるのはわかるが。
0223デフォルトの名無しさん
2012/05/05(土) 17:36:33.35アドインてのが、それにあたる機能だと思う
0224デフォルトの名無しさん
2012/05/05(土) 18:42:41.41本買うまでもなくネットの情報で簡単に実現できそうな内容に思える
そもそも中級・上級向けどころか殆どExeclに関係がない
MSDNライブラリ見れば解決すると思うよ
0225デフォルトの名無しさん
2012/05/05(土) 18:51:36.89ってのがあったけど、222の期待に答えられるものかどうかは知らん
0226デフォルトの名無しさん
2012/05/05(土) 22:17:25.08それに手を出すレベルの人は(おそらく)すでに上級者。
参照設定できるものなら、参照設定してオブジェクトブラウザで
メソッド等にアタリをつけて検索and実験。
MSDNライブラリもチェック。
これで大抵は解決できる。
0227222
2012/05/05(土) 22:24:29.41夜寝る前にベッドで本を読みながら勉強したいし
本のほうがページを順番に1方向だけに進めるし気楽なのですじゃ。
ネットの情報は、いちいちどこをクリックしたかとか、
どこをまだ読んでないかとか、この順番だと先に理解してないといけないことがらをまだ読んでなかったとか、
いちいち気にしないといけないし。
>>225
その本はamazonで低評価だし、目次みてもなんかいまいち。
>>226
そうか、自分は上級者だったか(笑)。
言ってることがよくわからないけどとにかくすごいですね。
特にWebのページからボタンを押してクエリをおくって
それででてきたデータをExcelに貼り付ける、という操作がかなり頻繁に使うんだけど
そういうのはできる?
もちろんクエリとなるデータはExcelの複数のセルのデータを送る。
0228デフォルトの名無しさん
2012/05/05(土) 23:26:37.76やりたいことを実現するためにVBAを使う人じゃなくて
本を読んでVBAの勉強したい人だったのね
それならなおさらMSDNライブラリ読めばいい
紙がいいなら印刷すればいいしね
0229デフォルトの名無しさん
2012/05/06(日) 01:56:09.87勉強に良いサイトとか>>1にまとめてくれると嬉しいな。
0230デフォルトの名無しさん
2012/05/06(日) 04:18:22.14226も言っている通りその辺はIEやOutlookの
COMオブジェクトを参照設定で使い回すだけだから
VB6の本やサイトでいい。
0231デフォルトの名無しさん
2012/05/06(日) 09:35:11.23スレの趣旨が違う
0232デフォルトの名無しさん
2012/05/06(日) 19:05:41.23状況は、ループである条件を監視し続けているAマクロを実行中に、別のブックのBマクロ(これはループ処理とかはしていません。)
を実行したのち、エクセルを終了させるとプロセスだけが残ってしまいます。
漠然とした説明しかできませんが、何か注意点とかないでしょうか。
0233デフォルトの名無しさん
2012/05/06(日) 19:39:08.83漠然としない説明じゃなく、具体的な説明が出来るようになること
0234デフォルトの名無しさん
2012/05/06(日) 19:40:55.810235デフォルトの名無しさん
2012/05/06(日) 20:36:28.070236デフォルトの名無しさん
2012/05/06(日) 20:49:52.77勝手にやってくれ。
0237デフォルトの名無しさん
2012/05/06(日) 20:51:22.700238デフォルトの名無しさん
2012/05/06(日) 21:05:19.29肺活量の、小さい、私は、
どうやって、質問したら、いいのでしょう?
0239デフォルトの名無しさん
2012/05/06(日) 21:15:47.02あ、ほ、は、気、に、す、る、な。
0240デフォルトの名無しさん
2012/05/06(日) 21:25:26.78へ?か、っ、て、に、す、ね、て、ろ
0241デフォルトの名無しさん
2012/05/06(日) 23:41:23.610242デフォルトの名無しさん
2012/05/07(月) 00:23:45.670243226
2012/05/07(月) 01:05:50.77>特にWebのページからボタンを押してクエリをおくって
>それででてきたデータをExcelに貼り付ける
>クエリとなるデータはExcelの複数のセルのデータ
基本的にはできるよ。
ただ、IEの処理やスクリプト言語の処理と、VBAの処理を同期
させなきゃいけない問題とか難儀な部分もあるけど。
0244デフォルトの名無しさん
2012/05/08(火) 12:06:06.06ActiveSheet.ChartObjects(1).Activate
ActiveChart.SeriesCollection(1).Select
って、
ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).Select
と書き換えるとエラーになるんだけど、SeriesCollection(1)はChartの下じゃない?
ヘルプ見ても書いてない。
0245デフォルトの名無しさん
2012/05/08(火) 12:19:42.73ttp://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.chartclass_members.aspx
0246デフォルトの名無しさん
2012/05/08(火) 12:32:28.690247デフォルトの名無しさん
2012/05/08(火) 12:41:54.32ヘルプに載ってる
0248デフォルトの名無しさん
2012/05/08(火) 16:23:07.08ありがとう。
ヘルプに載ってる?
SeriesCollectionで見てみたんだけどなぁ。
もう一度よく見てみる。
0249デフォルトの名無しさん
2012/05/08(火) 17:07:24.25Chartで良かったです。
ヘルプに書いてある使用例を使って
Worksheets("sheet1").ChartObjects(1).Chart. _
SeriesCollection(1).Select
と、やってみた時にあらかじめグラフをアクティブにしておかないと
エラーになるのが分かっていなかったので、「親はChartじゃないのか?」
と、混乱してしまいました。
スレ汚しごめんなさい。
0250デフォルトの名無しさん
2012/05/09(水) 01:15:33.50セルをいっぱい選択してて
その範囲内で最初に出てくるセルだけに色を塗るにはどうすればいいですか?
例えば、
A B C A D
E C D A C
の2行5列の範囲を選択しててマクロを実行すると
[A][B][C]A[D]
[E] C D A C
の[]で囲った[A][B][C][D][E]の5つだけが色がかわるの。
0251デフォルトの名無しさん
2012/05/09(水) 01:26:12.21Private Sub UserForm_Initialize()
MyArray1 = Array("うさぎ", "かめ", "ねこ", "犬", "鳥")
ComboBox2.List = MyArray1()
End Sub
とすると"実行時エラー9"インデックスが有効範囲にありません
が出ます。どう修正したらいいでしょうか?
0252デフォルトの名無しさん
2012/05/09(水) 04:00:26.58なんかいい方法が思いつかないんで力業で
Sub a()
With Selection
For Each c In .Cells
Set f = .Find(c, after:=.Cells(.Count))
If c.Row = f.Row And c.Column = f.Column Then c.Interior.Color = vbGreen
Next
End With
End Sub
0253デフォルトの名無しさん
2012/05/09(水) 10:15:22.65ComboBox2.List = MyArray1
0254250
2012/05/09(水) 10:42:21.22素晴らしい。
できたじゃないか。
0255250
2012/05/09(水) 10:55:16.00Findのafter:=はどういう意味?
省略したら左上から検索するはずなのにしないね。
0256デフォルトの名無しさん
2012/05/09(水) 13:39:21.68Findメソッドの仕様で、検索開始セルは「最後にヒット」するから、左上のセルが最初にヒットして欲しい時は
最後(右下)のセルから検索をスタートしなきゃいけない
この手のプログラムを書く時、初心者が必ずひっかかるポイントの一つ
0257デフォルトの名無しさん
2012/05/09(水) 16:45:30.68もし、そうなら理由って何?
0258デフォルトの名無しさん
2012/05/09(水) 16:53:09.730259デフォルトの名無しさん
2012/05/09(水) 22:53:12.760260デフォルトの名無しさん
2012/05/10(木) 00:15:35.95逆順じゃない
最後まで行くと最初に戻る
検索範囲がABCDEだった場合、AからスタートにするとBCDEAの順にヒットする
Bからスタートにした場合はCDEABの順にヒットしていく
Eから始めればABCDEの順にヒットするようになる
0261デフォルトの名無しさん
2012/05/10(木) 00:44:53.910262デフォルトの名無しさん
2012/05/10(木) 10:28:53.462003です。
0263デフォルトの名無しさん
2012/05/10(木) 11:38:59.60多分Pictureプロパティのヘルプ読め載ってるはず
http://support.microsoft.com/kb/286460/ja
0264デフォルトの名無しさん
2012/05/10(木) 15:19:24.88できました、ありがとうございます。
Picture = LoadPicture(imagefile)
0265デフォルトの名無しさん
2012/05/11(金) 14:10:41.73行と列が少ないブック(列256、行65535)になるんだけど
最新の行と列がたくさんあるブックを開くにはどうすればいい?
0266デフォルトの名無しさん
2012/05/11(金) 14:43:00.17Excelのバージョンをあげる
0267デフォルトの名無しさん
2012/05/11(金) 15:11:24.43金がかかるのでいやです。
他に方法はありますか?
0268デフォルトの名無しさん
2012/05/11(金) 15:12:16.51なぜかVBAで開いたときに少ない形式で開きやがる。
0269デフォルトの名無しさん
2012/05/11(金) 15:20:48.25予め開いておけば?
0270デフォルトの名無しさん
2012/05/11(金) 15:23:00.24いやです。
ある条件のときしか開かないし、
そもそもそれ以上に別の理由で。
0271デフォルトの名無しさん
2012/05/11(金) 15:47:12.710272デフォルトの名無しさん
2012/05/11(金) 15:49:49.56古いDLL参照してんじゃね
入ってる最新のDLLを内部で参照してそっから開いくという手段を提示してみる
0273デフォルトの名無しさん
2012/05/11(金) 16:02:31.20kb/244167/ja
あとはレジストリ書き換えとか
0274デフォルトの名無しさん
2012/05/11(金) 16:38:09.57日本語でしゃぶれ
0275デフォルトの名無しさん
2012/05/11(金) 18:59:01.390276デフォルトの名無しさん
2012/05/11(金) 19:55:02.26http://msdn.microsoft.com/en-us/library/x80526fk(VS.80).aspx
旧フォーマットになる場合は、一時的に既定の保存形式を弄れってことらしいよ。
0277デフォルトの名無しさん
2012/05/12(土) 01:21:51.54以下のデータで今月誕生日の人がいるかを抽出したいです
※年月日の書式は「日付」です。
Aセル Bセル
Aさん 1234年5月6日
Bさん 1234年5月17日
Cさん 1234年7月5日
↓
Aさん 1234年5月6日
Bさん 1234年5月17日
0278uy
2012/05/12(土) 01:55:53.410279デフォルトの名無しさん
2012/05/12(土) 01:58:39.69答える気が無いやつは黙れks
消えろ
0280デフォルトの名無しさん
2012/05/12(土) 01:59:19.16悔しかったら答えてみろよクズがw
0282デフォルトの名無しさん
2012/05/12(土) 02:11:18.610283デフォルトの名無しさん
2012/05/12(土) 08:17:47.46=MONTH(B1)=MONTH(NOW())
0284デフォルトの名無しさん
2012/05/12(土) 09:46:36.43VBAでお願いします
0285デフォルトの名無しさん
2012/05/12(土) 11:03:50.760286デフォルトの名無しさん
2012/05/12(土) 11:29:13.82誕生日なので年は不要なんです
0287デフォルトの名無しさん
2012/05/12(土) 14:01:39.670288デフォルトの名無しさん
2012/05/12(土) 16:24:18.990289デフォルトの名無しさん
2012/05/12(土) 16:46:42.330290デフォルトの名無しさん
2012/05/12(土) 17:55:00.84とりあえず「マクロの記録」(Alt, T, M, R)
0291デフォルトの名無しさん
2012/05/12(土) 18:00:43.150292デフォルトの名無しさん
2012/05/12(土) 18:56:45.140293デフォルトの名無しさん
2012/05/12(土) 19:18:33.55ExcelのVBAという便利なものを聞いて、ひょっとしたらと思い質問です。
上のWebサイトで、
「Synopsisの段落(Wordの段落じゃなく一般の段落の意味)」と「タイトル(赤文字に水色背景の行)」だけを
Word等の文書にコピペしてはりつけたいんだけど
それはExcelのVBAの機能を使ってできたりしませんか?
写真やらヘッダ・フッタやSynopsisの上のこまごましたデータは全部いらないです。
0294デフォルトの名無しさん
2012/05/12(土) 19:21:16.84できなくはないけどExcelでやるべき作業じゃない
0295デフォルトの名無しさん
2012/05/12(土) 19:44:50.55Excelでやるべき作業じゃないかも知れないが、それはお前が判断することじゃない
>>293
出来る
ワードのVBAでエクセルを開いてコピーも出来る
エクセルのほうで必要な部分を選択→コピー
ワードで貼り付け
ワードへの貼り付けを自動化するにはVBAで連携する必要がある
0296デフォルトの名無しさん
2012/05/12(土) 20:02:27.66シリアル値で判定できなかったっけ?
0297デフォルトの名無しさん
2012/05/12(土) 20:38:02.75シリアル値は1900年を基準としてるので
1234年みたいな過去の日付は扱えないよ
0298293
2012/05/12(土) 20:56:09.19ありがとうございます
できるのですね!
どうやるか教えていただけないでしょうか?
0299デフォルトの名無しさん
2012/05/12(土) 20:59:56.49たまってくると最新情報を入力するために毎回延々とスクロールさせなければいけなくなるのですが
最新を上に入力して下へずれるとか逆にすることは出来ないのでしょうか?!
0300デフォルトの名無しさん
2012/05/12(土) 21:15:55.181行目に行を挿入→挿入した行に入力
0301デフォルトの名無しさん
2012/05/12(土) 21:23:32.31>>295のとおり
1.ワード連携のためインスタンスを実装
2.エクセルで、コピーに必要なところを選択
3.ワードに貼り付け
4.インスタンスの破棄
VBA ワード でググれ
>>299
一番上を空白にしておいて、入力が終了したら全部一段ずらして下にコピーする
入力時に一番下を表示するのが負担かからなくていいんじゃね
0302デフォルトの名無しさん
2012/05/12(土) 21:42:06.56VBAでやるまでもなく[Ctrl]+[End]を押せばいいと思うよ
0303デフォルトの名無しさん
2012/05/12(土) 22:11:16.37>>301
サンクス!
しかしながら、、表が5つ横並びにならんでいて
それぞれがランダムに増えていく感じでして、行で空白を挿入すると増えない表が
空白になってしまうのですが、やはりそれぞれの表をタブで分けるしかないか。、、それぞれ見比べたいのでスクロールは我慢か、、w
0304デフォルトの名無しさん
2012/05/12(土) 22:16:06.25Ctrl+↓で自動的に最後に飛ぶ
次の列でデータが少なくて現在位置より上に戻りたい時は、カーソルをその列に移動してからCtrl+↑
もっと下へ行きたい時はCtrl+↓
0306293
2012/05/12(土) 23:05:54.92ぅ〜ん
さっぱり分かりません(><)
0307デフォルトの名無しさん
2012/05/13(日) 00:56:07.83Enterを押すと下のセルにうつりますし、Tabを押すと右のセメにうつるので困ります。
かといってそのままにしておくと登録しておいたショートカットでそのセルに対してマクロが実行できません
0308デフォルトの名無しさん
2012/05/13(日) 00:59:01.450309デフォルトの名無しさん
2012/05/13(日) 00:59:10.92どんなマクロかしらんけど前のセルに戻す動作もマクロに入れればいいんじゃないの
もしくは
オプションで「入力後にセルを移動する」のチェックを外す
0310デフォルトの名無しさん
2012/05/13(日) 01:01:20.19上のセルをマクロ対象にしろと申すか?
入力してマクロを実行するパターンと
すでに入力されてるセルを選択してマクロを実行するパターンがあり
後者の場合はわざわざ対象セルの下のセルを選択しないといけなくなり
そりゃマヌケだろが?
あるいは
オプションを使うとか、本気で申してるのか?
その方法これまで30年もExcelをさわってきた無意識のセル入力感覚を破壊することになるぞ。
0311デフォルトの名無しさん
2012/05/13(日) 01:03:08.79やり方が間違ってる
間違ってるやり方を質問して出来るようになっても
タダの有害だ
0312デフォルトの名無しさん
2012/05/13(日) 01:13:37.02やり方が間違ってる
間違ってるやり方を質問して出来るようになっても
タダの有害だ
0313デフォルトの名無しさん
2012/05/13(日) 01:14:36.880314デフォルトの名無しさん
2012/05/13(日) 09:51:37.74効率の良い勉強の仕方を教えて下さい!
0315デフォルトの名無しさん
2012/05/13(日) 09:55:12.380316デフォルトの名無しさん
2012/05/13(日) 10:52:29.95VBAは目的じゃなくて手段
まず何をやりたいのかを書け
0317デフォルトの名無しさん
2012/05/13(日) 12:05:23.380318デフォルトの名無しさん
2012/05/13(日) 12:47:35.30リファレンスマニュアルを丸暗記すれば勉強終わり
0319デフォルトの名無しさん
2012/05/13(日) 19:49:06.61じゃあまずアセンブラか、それこそプリント基板からだな!
0320デフォルトの名無しさん
2012/05/13(日) 21:52:34.490321デフォルトの名無しさん
2012/05/14(月) 01:57:19.36でデータの入力されている最終行を取得して
その1行下にデータを入力しようとすると
何も入力されてない時にエラーになります。
なにかいい知恵はありませんか?
0322デフォルトの名無しさん
2012/05/14(月) 02:23:20.40バージョンの最終セルから上に行くようにすればいい
0323デフォルトの名無しさん
2012/05/14(月) 16:55:28.000324デフォルトの名無しさん
2012/05/14(月) 17:02:17.130325デフォルトの名無しさん
2012/05/14(月) 17:04:50.73誰もそんなこと聞いてない。
0326デフォルトの名無しさん
2012/05/14(月) 17:20:05.82分からないならしゃしゃり出て来るなカス!!
0327デフォルトの名無しさん
2012/05/14(月) 17:28:15.89動作条件とか記載するにきまってるだろ。
そのうえで聞いてるんだろ。
馬鹿は引っ込んでろ。
0328デフォルトの名無しさん
2012/05/14(月) 17:28:31.83答えは二通りしかないだろ
日本語も読めないカスは書き込むな!
0329デフォルトの名無しさん
2012/05/14(月) 17:33:41.492003でマクロ書いて、テストは2003と2010でやった。
それなら2007でも問題ないだろうと思って。
動作保証は、あくまでも2003と2010。
客先にもそれしかないから。
たまたま動かしたPCに2007が入っていて、動かなかったって連絡来たから聞いた。
0330デフォルトの名無しさん
2012/05/14(月) 17:36:07.46リボンとかそこらへんか?
0331デフォルトの名無しさん
2012/05/14(月) 17:54:01.420332デフォルトの名無しさん
2012/05/14(月) 20:48:49.86せっかく有益なスレなのに
0333デフォルトの名無しさん
2012/05/14(月) 21:52:02.46だから、聞いたのよ。
0334デフォルトの名無しさん
2012/05/14(月) 21:52:37.26馬鹿は出てこないでくれ
0335デフォルトの名無しさん
2012/05/14(月) 22:19:00.30んで、そんなこと聞いてどうするの?
実際の環境も操作方法も確認できなくて、2ちゃんでできるとかできないとか回答もらってどうするの?
いまいち質問の意図が読みとれない
0336デフォルトの名無しさん
2012/05/15(火) 00:30:32.23そんなもん99%は操作ミスかセキュリティ設定が悪くてマクロが動いてないだけ
まずは客先へ行ってちゃんと知識のあるやつが状況を把握してこい
0337デフォルトの名無しさん
2012/05/15(火) 00:33:00.36確認できないって書いてるの読めない?
0338デフォルトの名無しさん
2012/05/15(火) 00:38:19.48デバッグってのは結局のとろこ>>336に尽きるんだが、それをしないなら有意な質問にならないし、まともな回答も出来ないんだよ
0339デフォルトの名無しさん
2012/05/15(火) 01:24:01.740340デフォルトの名無しさん
2012/05/15(火) 01:46:55.880341デフォルトの名無しさん
2012/05/15(火) 02:26:50.55それだと受注もできんだろ
太陽系の外へ向かったロケットか何かなんだよ、きっと
0342デフォルトの名無しさん
2012/05/15(火) 03:20:17.30それっぽいものは見つけられんなぁ
環境に依存する何かを使ってるんじゃないかと
0343デフォルトの名無しさん
2012/05/15(火) 14:54:57.82>客先にもそれしかないから。
>たまたま動かしたPCに2007が入っていて
部外者が勝手に動かしたのか?恐ろしい職場だな
0344デフォルトの名無しさん
2012/05/15(火) 19:54:52.28ComboBoxで何も選択されていないことが想定され
その場合のエラー処理で困っています。
ユーザーフォームは表示したままでCommandButton
をクリックする前の状態に出来ないでしょうか?
0345デフォルトの名無しさん
2012/05/15(火) 20:07:07.920346デフォルトの名無しさん
2012/05/15(火) 21:10:08.88あら、そんなに単純だったんですね
ありがとうございます。
0347デフォルトの名無しさん
2012/05/15(火) 21:51:02.47inputboxで数値を入力させているのですが、
inputboxのキャンセルをクリックしたときに
inputbox以外の処理はカウント完了するまで続けたいのですが
できませんか?
また出来るなら方法をご教示下さい。
0348デフォルトの名無しさん
2012/05/15(火) 22:09:07.15For i = 1 To 5
a = InputBox("hoge")
If a = "" Then
MsgBox "キャンセルされたよ"
Else
MsgBox a
End If
b = b + 1
Next
MsgBox b & "回ループしたよ"
End Sub
0349デフォルトの名無しさん
2012/05/15(火) 22:13:05.89その位で確認してから質問しろ
0350デフォルトの名無しさん
2012/05/15(火) 22:38:17.64それだと毎回inputboxが出てくるので
一度キャンセルされるとそれ以降はinputboxを
とばして残りの処理をしたいのです。
0351デフォルトの名無しさん
2012/05/15(火) 22:46:01.100352デフォルトの名無しさん
2012/05/15(火) 22:49:35.84それだと残りのFor〜Next内の処理ができないです。
0353デフォルトの名無しさん
2012/05/15(火) 23:04:09.77Dim flag As Boolean
For i = 1 To 5
If Not flag Then a = InputBox("hoge")
If a = "" Then flag = True
b = b + 1
Next
MsgBox b & "回ループしたよ"
End Sub
0354デフォルトの名無しさん
2012/05/15(火) 23:17:15.40ありがとうございます。
完璧です!
0355デフォルトの名無しさん
2012/05/16(水) 03:21:47.17最小値だったり、最大値だったりを持つ数値の列数を算出していきたいんですが
とりあえず以下のようなやり方で出来るんですが
最小値 = WorksheetFunction.Min(Range(Cells(1, 1), Cells(1, 10)))
最小値をもつ列 = Range(Cells(1, 1), Cells(1, 10)).Find(最小値).Column
何か1行ぐらいのスッキリした文で求める方法ないでしょうか?
というのは、行の部分を変数化して、何千行、何万行と作業やっていくので
負担の無い早そうなスピードがのりそうな文があればそのほうがいいんですが
どなたがご存知でしょうか?
0356デフォルトの名無しさん
2012/05/16(水) 08:45:44.06見た目だけそうなればいいなら、サブモジュール作る
0357デフォルトの名無しさん
2012/05/16(水) 09:02:26.45ありがとうございます>>355でもあんまり速度は悪くなさそうですね。
これでやってみます。もしそういうのがあれば、知りたいなと思いました。
0358デフォルトの名無しさん
2012/05/16(水) 09:17:27.03Cで慣れすぎたせいで効率悪い
0359デフォルトの名無しさん
2012/05/16(水) 09:57:16.22単に大規模システムの構築に慣れてないか、
小規模なものを無理矢理小分けにして無意味にごっちゃにしてるかのどっちかじゃないの
0360デフォルトの名無しさん
2012/05/16(水) 10:31:06.74O10に=AK10/(SIN(RADIANS(N10)))という式が入力されていて
P10=O10のときのN10の値を求めたいんですがどういうコードを書けば
いいのかわかりません。
0361デフォルトの名無しさん
2012/05/16(水) 10:38:16.38Function GetN10()
If Range("P10") = Range("O10") Then
GetN10 = Range("N10")
Else
GetN10 = 0
End If
End Function
0362デフォルトの名無しさん
2012/05/16(水) 11:43:29.77ありがとうございます。
でもそれを使ってどうしていいのかわかりませんでした。
0363デフォルトの名無しさん
2012/05/16(水) 12:06:29.580364デフォルトの名無しさん
2012/05/16(水) 17:10:25.84今プログラムを作っていて、
ある列に数字をうっていてある条件を出していくようなプログラムを作っているのですが、(ここはあまり関係ない)
ActiveXコントロールを押すと、行のBの列の数字を。
そして次にまた押すと、行のCの列の数字を、、、というように
やっていきたいのですが、これをするためには、
例えば、iだとかjだとを一回格納する必要があります。
例えば、
Private Sub CommandButton1_Click()
dim i as integer
i=0
i=i+1
・
・
End Sub
プログラムが終了しても、このiを保存しておきたいのです。
どのようなやり方がありますか?
0365デフォルトの名無しさん
2012/05/16(水) 17:33:52.80外部ファイルに書く
ソースコードのコメントに書く
コントロールに書く
0366デフォルトの名無しさん
2012/05/16(水) 17:36:40.83見た目云々をいうなら白文字で代入とか。
ところで、例えがiを必ず初期化しているせいで、逆に分かりづらくなっている気がするんだが
0367デフォルトの名無しさん
2012/05/16(水) 17:40:35.920368デフォルトの名無しさん
2012/05/16(水) 20:39:35.86ゴールシークは使えないの?
0369デフォルトの名無しさん
2012/05/16(水) 20:44:24.26Subを抜けても保存されてるんだけで良いんじゃないのか?
それならSubの外で変数定義するか、Staticな変数使えばいいだけだが
0370デフォルトの名無しさん
2012/05/16(水) 20:55:08.710371デフォルトの名無しさん
2012/05/16(水) 22:24:58.52http://engawa.2ch.net/test/read.cgi/poverty/1337172543/
中国経済、予想を超える急減速か
世界第2位の経済大国の舵(かじ)取り役に来年就任する人物は、
中国の国内総生産(GDP)統計に対する疑念をうっかり漏らした。
中国の公式GDP統計は「人為的」で当てにならないと語ったのは李克強氏だ。
李氏の評価が正しければ、中国経済はGDP統計がこれまで示唆してきたよりもかなり厳しい苦境に陥っている。
電力や鉄道貨物、銀行融資をはじめ、ここ数日で発表された注目度の低い統計は、
いずれも経済活動の急激な落ち込みを示しており、政策立案者たちに不意打ちを食らわせたようだ。
最近の悲惨な統計を受け、中央銀行は12日、融資拡大を促すために市中銀行の預金準備率を引き下げた。
しかし、金融危機後の大規模な低利融資と政府支援による投資の結果、中国政府には今回、
限られた武器しか残っていない。一方で、インフレ再燃と国営銀行の不良債権への懸念が高まっている。
http://www.nikkei.com/biz/world/article/g=96958A9C9381959FE3E7E2E1848DE3E7E2E7E0E2E3E0E2E2E2E2E2E2;dg=1;df=2;p=9694E3E7E2E0E0E2E3E2E6E1E0E2
0372デフォルトの名無しさん
2012/05/16(水) 23:05:47.740373デフォルトの名無しさん
2012/05/19(土) 16:01:40.270374デフォルトの名無しさん
2012/05/19(土) 16:11:52.780375デフォルトの名無しさん
2012/05/19(土) 18:47:15.19最近会社で効率のため自分用VBAをいっぱいつくるようになってからの症状なので
VBAが原因なのは明らかです。
なにかメモリを解放しないといけないのですかな?
どうか対策のことでアドバイスをお願いできますでしょうか?
0376デフォルトの名無しさん
2012/05/19(土) 18:51:19.39まず、タスクマネージャでどのプロセスが CPU やメモリ食ってるかを見てみなよ。
0377デフォルトの名無しさん
2012/05/19(土) 18:55:17.890378デフォルトの名無しさん
2012/05/19(土) 18:58:16.27どんなコード書いてるのかわからないのでアドバイスしようがないと思うけど・・・?
PCが重いってのは何が重いの?ディスクI/O?CPU?メモリアクセス?
VBAが原因なのは明らかっていう根拠は何?
0379デフォルトの名無しさん
2012/05/19(土) 20:27:42.400380375
2012/05/19(土) 20:29:04.210381デフォルトの名無しさん
2012/05/19(土) 20:38:35.31じゃあVBAのロジックがクソなんだろw
0382375
2012/05/19(土) 20:51:45.020383デフォルトの名無しさん
2012/05/19(土) 20:55:33.26そのフィルタをする項目として、Selectionで囲ったセルを指定してます。
criteria1:=Array(Selection)
みたいな感じです。
しかしこのselection、1行の横長だとうまくいくんですが
1列の縦長だとエラーが出て「エラいこっちゃ」になります。
縦でselectionしたときも、複数行・列にわたってselecionしたときにその内部のセル全部でフィルターしたいときには
どういうコードを書けばいいですか?
0384デフォルトの名無しさん
2012/05/19(土) 21:11:24.37だから早くその糞コードを見せろよ
0385デフォルトの名無しさん
2012/05/19(土) 21:12:19.84わからなければとりあえず「マクロの記録」(Alt, T, M, R)
0386デフォルトの名無しさん
2012/05/19(土) 21:26:08.03重い処理を何回もループさせるとCPU使用率がヤバくなるよね。それじゃね?。sleep入れてみれば?。
0387デフォルトの名無しさん
2012/05/20(日) 03:39:29.77適当なタイミングでDoEventsかませ
0388デフォルトの名無しさん
2012/05/20(日) 11:03:41.98下のメッセージが出るんでこれを出さないようにする方法とかないですか?
クリップボードに大きな情報があります。この情報をほかのプログラムに貼り付けられるようにしますか?
0389デフォルトの名無しさん
2012/05/20(日) 11:10:30.81Application.CutCopyModeにFalseをセットする。
0390デフォルトの名無しさん
2012/05/20(日) 11:12:45.840391デフォルトの名無しさん
2012/05/20(日) 15:00:31.73For ii = 1 To 3
Set ws = Worksheets(sn(ii))
Set tmp = ws.Cells(Rows.Count, 1).End(xlUp).Rows
ws.Range(Cells(1, 1), Cells(tmp, 10)).Select
Next ii
とするとRangeのところで実行時エラー1004が出ます。
どうしたらいいでしょうか
0392デフォルトの名無しさん
2012/05/20(日) 15:14:26.21tmpには正しい(意図している)値が入ってるの?
0393デフォルトの名無しさん
2012/05/20(日) 15:27:12.60すこし修正して入っているのを確認しましたが、
今度はRangeクラスのSelectメソッドが失敗しました。
のエラーが出ました。
0394デフォルトの名無しさん
2012/05/20(日) 15:56:30.31CellsがActiveSheet見てるんじゃないかと予想
0395再質問です
2012/05/20(日) 16:00:22.22そのフィルタをする項目として、Selectionで囲ったセルを指定してます。
criteria1:=Array(Selection)
みたいな感じです。
しかしこのselection、1行の横長だとうまくいくんですが
1列の縦長だとエラーが出て「エラいこっちゃ」になります。
縦でselectionしたときも、複数行・列にわたってselecionしたときにその内部のセル全部でフィルターしたいときには
どういうコードを書けばいいですか?
0396デフォルトの名無しさん
2012/05/20(日) 16:04:09.76出たエラーとコードを晒せ
0397デフォルトの名無しさん
2012/05/20(日) 16:05:34.96thxですm(__)m
0398デフォルトの名無しさん
2012/05/20(日) 16:06:49.95正解でした。
しょうもないミスですんません・・
0399デフォルトの名無しさん
2012/05/20(日) 16:22:50.57ActiveSheet.Range("B1").AutoFilter Field:=1, Operator:=xlFilterValues, Criteria2:=Array(1, "31/05/2012")
0400395
2012/05/20(日) 16:25:19.61恥ずかしいゎ
0401デフォルトの名無しさん
2012/05/20(日) 17:28:16.42わからなければとりあえず「マクロの記録」(Alt, T, M, R)
0402デフォルトの名無しさん
2012/05/20(日) 18:36:04.74こんな感じかな
Sub test()
Dim V()
Dim c As Range
Dim n As Long
ReDim V(1 To Selection.Count)
For Each c In Selection
n = n + 1
V(n) = c.Value
Next
Range("A1").AutoFilter Field:=1, Criteria1:=Array(V), Operator:=xlFilterValues
End Sub
0403395
2012/05/20(日) 18:38:22.69すばらしい!
それこそわたしが探し求めてたものです。
ありがとうございます。
しかしマクロ記録を勧める人は何だったんだろ。ピントはずれ。
0404395
2012/05/20(日) 18:40:35.55使い方をまとめてくれてるサイトみたいなのない?
あとFilter機能で使ったように、Arrayの使い方も、
今後の活用のために、まとめサイトみたいなのない?
0405デフォルトの名無しさん
2012/05/20(日) 20:22:49.49Criteria1:=V でよっかた
0406デフォルトの名無しさん
2012/05/21(月) 11:01:11.02コードを見て質問の意味が理解できたw
あんたスゲーよ
0407デフォルトの名無しさん
2012/05/21(月) 11:44:27.030408デフォルトの名無しさん
2012/05/22(火) 08:38:38.53B:ブランクフォーム
と2つのシートがあるマクロがあります。マクロを実行すると
−Aシートの1行をBのブランクフォームに転記して、
−ブランクフォームを新しいシートにコピー
−そのシートを新しいファイルにして保存。 を繰り返しています。
ただ、100〜200くらいでメモリーか何かのエラーでマクロが止まります。
再開すればまた走るのですが、最初から最後まで連続で生かせる方法ありません?
0409デフォルトの名無しさん
2012/05/22(火) 08:54:21.37更に一回ごとにクリップボード空にしろ
かなあ
新規ブックのインスタンスって閉じた時点で解放されるのか?
0410デフォルトの名無しさん
2012/05/22(火) 09:36:18.16コードにバグがあるんだろうね
どっかにアップしてみたら誰かが見てくれるよ
0411デフォルトの名無しさん
2012/05/22(火) 09:46:48.28クローズしたら一回doevent入れてみそ
VBAからエクセルあるいは別のオートメーションを参照して、毎回解放するとかくらいかなあ
0412デフォルトの名無しさん
2012/05/22(火) 11:16:58.15本体ブック
作業ブック
にわける
本体ブックから作業ブックを呼び出し、作業ブックにある実際の作業モジュールを実行して、作業ブックを閉じる
クリエイトオブジェクトでエクセルアプリケーションをセット
セットしたオブジェクトから作業ブックを開く
作業ブックのモジュールを実行
作業ブックを閉じる
セットしたエクセルアプリケーションをクイット
エクセルアプリケーションの解放
これでフロセス上エクセルが二重起動して作業側が主メモリを食った後解放されるはず
本体メモリも若干ふえるけど、致命的にはならないんじゃないか
0413デフォルトの名無しさん
2012/05/22(火) 11:33:17.815月12日 15回目
5月15日 16回目
5月30日 17回目
上記の日付と「NN回目」は予め入力済みとする。
このとき、日付蘭が今日を過ぎている場合、
あるセルの書式を「水色背景、青文字」にするという書式設定をしている。
後日、「NN回目」の後にセンテンスを追加した場合(途中に半角文字があったりすると)
セルの書式(文字色)が途中から指定の青ではなく黒のままになってしまう。(背景色はOK)
単純にセルの切り取り&ペーストをしても変わらないので、
@「セルのセンテンスをコピーし、テキストデータとしてはり付けると既定の書式に修正される。」
この手順が手間なので、ボタン一つで@と同じ動作をさせたいのですが、マクロで出来ますか?
0414デフォルトの名無しさん
2012/05/22(火) 11:47:51.21「15回目」の後に「ぬるぽ」って追加すると「水色背景、黒文字」になってしまうということ?
0415デフォルトの名無しさん
2012/05/22(火) 13:20:18.11対象セルに「NN回目」って文字列が記入されてるならだが
1.正規表現
vbsのregexpをオブジェクト参照セット
パターン文字列に数字一回以上&回目
2.
頭から一文字づつ判定
連続した数字でかつ最後に回目だったら抜き出し
0416デフォルトの名無しさん
2012/05/22(火) 14:06:26.7215回目 (水色背景、青文字)
↓文字「ぬるぽ?ががが」追加
15回目 ぬるぽ?ががが (水色背景)
「ぽ」まで青文字
「?」以降が黒文字 ←?が半角
どうやら半角文字があると、その文字以降に文字色の書式が反映されないみたい
半角以外でも同様の現象が起きているけど、条件ははっきりしていない
0417デフォルトの名無しさん
2012/05/22(火) 15:08:17.31それに対応している「あるセル」に書式設定すればいいんでないの。
0418デフォルトの名無しさん
2012/05/23(水) 10:18:01.96マクロ、VBA、コード、プログラム、ソースの違いというか言葉の正しい使い分けを教えて下さい
0419デフォルトの名無しさん
2012/05/23(水) 10:48:04.64じっくり読んでください
http://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89
http://ja.wikipedia.org/wiki/Visual_Basic_for_Applications
http://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0_(%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF)
http://ja.wikipedia.org/wiki/%E3%83%9E%E3%82%AF%E3%83%AD_(%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E7%94%A8%E8%AA%9E)
http://ja.wikipedia.org/wiki/%E3%83%9E%E3%82%AF%E3%83%AD%E8%A8%80%E8%AA%9E
0420413
2012/05/23(水) 12:55:49.58あるセルを選択した状態で、マクロ「カットペースト」を実行
Sub カットペースト()
'選択セルの値をコピー
Selection.Copy
'左のセルに値を貼り付け
ActiveCell.Offset(0, -1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
'左セルの値をコピー
Selection.Copy
'選択セルに値を貼り付け
ActiveCell.Offset(0, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'左セルの値を空に
ActiveCell.Offset(0, -1).Select
Application.CutCopyMode = False
Selection.ClearContents
ActiveCell.Offset(0, 1).Select
End Sub
もっとシンプルに出来そうなんだけど・・・
0421デフォルトの名無しさん
2012/05/23(水) 13:00:52.080422デフォルトの名無しさん
2012/05/23(水) 13:02:59.110423デフォルトの名無しさん
2012/05/23(水) 13:39:28.640424デフォルトの名無しさん
2012/05/23(水) 15:22:46.42実行速度が遅すぎる
0425デフォルトの名無しさん
2012/05/23(水) 15:24:35.79無理です
0426デフォルトの名無しさん
2012/05/23(水) 15:28:18.29何でや
JavaScriptに出来てどうしてVBAで出来ん
0427デフォルトの名無しさん
2012/05/23(水) 18:59:31.410428デフォルトの名無しさん
2012/05/23(水) 19:02:17.800429デフォルトの名無しさん
2012/05/23(水) 19:06:47.07CSV形式にしてRUBYで処理すれば良いよ。
0431デフォルトの名無しさん
2012/05/23(水) 23:30:42.080432デフォルトの名無しさん
2012/05/23(水) 23:52:46.56書き直しとか死ねる
いざってために出来るようにいろいろ勉強してるけどまじ簡便
0433デフォルトの名無しさん
2012/05/24(木) 11:00:35.340434デフォルトの名無しさん
2012/05/25(金) 01:20:59.06dt_sheet.ListObjects.Add(SourceType:=xlSrcExternal, _
Source:=Array("SharePoint サイトの URL", ListName, ViewGUID), _
LinkSource:=True, _
XlListObjectHasHeaders:=xlYes, _
Destination:=Range("A3")).Name = tbllist
SharePointのリストデータを取得しエクセル上にデータ表示(これはできました)
ここから質問なんですが、以下手順
1.エクセル上でデータを修正
2.エクセル上に作成した〔更新〕ボタンを押下
3.SharePointのリストデータが更新される
これってVBAで可能なんですかね?
可能であればどういうコード書けばいいんですかね?
【ver】
Excel2007
SharePoint2007
0435デフォルトの名無しさん
2012/05/25(金) 08:27:32.47外部連携ならそっちの仕様による
0436デフォルトの名無しさん
2012/05/26(土) 17:04:52.52ボタンなしのモードレスバルーンでコールバックさせたいんだが、どうすればいいんだろか。
要は『処理中』みたいなバルーンを表示させたままコールバックプロシージャを実行させて、
終わったらクローズして、新しいバルーンで『終了』→OK、みたいに。
ユーザーフォームじゃなくて、『ろっきー君』にしゃべってもらいたいのだが・・・、
もちろんアニメは103な。
0437デフォルトの名無しさん
2012/05/26(土) 17:59:00.53こういうことか?
http://msdn.microsoft.com/ja-jp/library/cc376672
コールバックされるのはバルーンのボタンを押したときみたいだな
単に処理中を表示したいなら、
普通にモーダレスのバルーンを表示するだけの話じゃないのか?
つかオフィスアシスタントっていまのバージョンでも使えるんだろうか
0438デフォルトの名無しさん
2012/05/26(土) 18:48:28.460439デフォルトの名無しさん
2012/05/26(土) 18:49:45.75お願いするだけならあなたの勇気次第でしょうね
0440デフォルトの名無しさん
2012/05/26(土) 18:52:28.110441デフォルトの名無しさん
2012/05/26(土) 19:04:21.99excel2003だ。
そうなんだが、残念ながらモードレスバルーンはコールバック必須だろ?
ボタンつき(あるいは『ret=.show』で戻るタイプ)のバルーンでコールバックプロシージャがないと
えらーになる。ボタンなしだとエラーにはならないが、当然、何もおこらんし、バルーンは消す手段がないときたもんだ。
ボタンつけてもいいんだが、いちいち『OK』するのがめんどくさい。
バルーン表示すると、表示したまま即勝手にコールバックが動いてそこで
bln.close
With NewBalloon
-----
.show
End With
End Sub
みたいにしたいんだが...
0442デフォルトの名無しさん
2012/05/26(土) 19:20:36.51含まれています。VBAの知識がない人にも頼まないといけない状況で
本人も「やります。」と言われたので教えました。
すると、本人が「無理です。出来ません。」と言われました。
でも、上司が本人に実際やってみようと言っています。
0443デフォルトの名無しさん
2012/05/26(土) 19:20:38.22>普通にモーダレスのバルーンを表示するだけの話じゃないのか?
すまん、君の言うとおりだった。そのとおりだ。ボタンなしバルーンはコールバック必須じゃないんだな。
解決だ。ありが�d
0444デフォルトの名無しさん
2012/05/26(土) 19:25:19.27むしろ仕事が遅れると思うよ。長期的にみてどうかは、別かもしれんが。
0445デフォルトの名無しさん
2012/05/26(土) 19:27:34.25「出来ません」でやらなくていいぐらいの仕事かよw
ユルい会社でうらやましいな
0446デフォルトの名無しさん
2012/05/26(土) 19:34:17.900447>>442
2012/05/26(土) 19:35:56.59無理です。出来ません。担当している人(私)にしか出来ません。」ってことに
なってしまいました。
0448デフォルトの名無しさん
2012/05/26(土) 19:36:59.432ちゃん見る暇があるなら自分でやれよ
0449デフォルトの名無しさん
2012/05/26(土) 19:39:46.45そんな暇はありません。
一人で現在2つの仕事を抱えていて忙しいんです・・・
日本語読めないんですか?
0450デフォルトの名無しさん
2012/05/26(土) 19:45:11.240451デフォルトの名無しさん
2012/05/26(土) 19:50:32.750452デフォルトの名無しさん
2012/05/26(土) 20:06:31.852ちゃん見る暇があるなら自分でやれよ
0453デフォルトの名無しさん
2012/05/26(土) 20:23:52.43それ出来る出来ない以前の資質の問題だわww
興味がある仕事には一直線でバリバリだけどアラが目立ったり
興味がない仕事にはまったく見向きもしない
そういうタイプだろ?
上司はそいつにVBAをさせるのが目的じゃなくて、本人が気に入らない仕事でも一回やり遂げさせみようとしてるだけじゃね
というかVBAを何も知らないヤツにいきなり修正作業とか間違ってる
0454デフォルトの名無しさん
2012/05/26(土) 20:42:41.58応援ありがとうございます。
頑張ります。
<<451
残念ながら私のVBAのコードは上司からも非常に綺麗なコードだと高い評価を受けています。
そういうあなたこそ綺麗なコードが書けるんですか?
そういう批判はまずはあなたの綺麗だというコードを提示してからにしてもらえますか???
<<452
本当に日本語が読めないんですね・・・。
さすがの私もにかわいそうになってきました・・・。
0455デフォルトの名無しさん
2012/05/26(土) 20:54:09.620456デフォルトの名無しさん
2012/05/26(土) 20:54:52.940457デフォルトの名無しさん
2012/05/26(土) 21:01:37.58無理
0458デフォルトの名無しさん
2012/05/26(土) 21:02:56.82残業ならともかく、情報落としたりへんなコードひっかけたりしたらって考えると特に
0459デフォルトの名無しさん
2012/05/26(土) 21:05:45.49・・・。。。
病院紹介しましょうか?
>>457
無理だという根拠を教えてくいただけないでしょうか?
0460デフォルトの名無しさん
2012/05/26(土) 21:06:21.962ちゃんやる暇があるなら仕事しろ
小汚いコードを綺麗にしろ
0461デフォルトの名無しさん
2012/05/26(土) 21:06:39.93つまりは、そう言うことだろ。
スルー推奨。
0462デフォルトの名無しさん
2012/05/26(土) 21:11:47.76いや、みんな、そこはわかってて、ただの暇つぶしだろ。
0463デフォルトの名無しさん
2012/05/26(土) 21:13:27.190464デフォルトの名無しさん
2012/05/26(土) 21:14:30.92仕事しろって・・・
今日は土曜日なので休みですが???
先ほども書きましたけどコードは綺麗なんです。
日本語読めないんですか?
>>461
困っているから相談しているんです。
他に相談するところが見つからなかったんです・・・
0465デフォルトの名無しさん
2012/05/26(土) 21:15:50.54仕事遅いんだから仕事しろ
0466デフォルトの名無しさん
2012/05/26(土) 21:16:07.78機嫌を損ねてしまったのならば申し訳ありません。
本当に困っているんです。
このままでは週明けに2つの仕事を抱えていて忙しくてまずいです。
0467デフォルトの名無しさん
2012/05/26(土) 21:19:27.93今日は休みなんなら
考える仕事は月曜日にすればいい
休みなのに仕事するんなら2chなんかやらずさっさとコード書け
以上だ。スレチだからマ板いけ。もうくるな
0468デフォルトの名無しさん
2012/05/26(土) 21:19:45.43VBAでやればいいんじゃね?
0469デフォルトの名無しさん
2012/05/26(土) 21:23:46.11初めて有益なレス、まことにありがとうございます。
使えないレスばかりで間違ってヤフー知恵遅れに書き込んでしまったのか焦ってしまいました。
今日と明日はVBAのことは忘れてとりあえずゆっくり休みたいと思います。
月曜日にまたお邪魔するかもしれませんが、そのときはよろしくお願いしますm(_ _)m
>>468
はい。ソースの修正をVBAでやるというのは名案ですね。
月曜日に上司に相談した上で検討したいと思います。
0470デフォルトの名無しさん
2012/05/26(土) 21:25:19.30何をどうしたいのかも不明
そもそもVBAスレwww
回答をコード化すりゃいいのかね
0471デフォルトの名無しさん
2012/05/27(日) 00:22:02.720472デフォルトの名無しさん
2012/05/27(日) 02:26:57.34人にモノ教えるのが下手な>>469の二人を
なんとかしてあげたいと思ってるのかもしれん
0473デフォルトの名無しさん
2012/05/27(日) 09:42:06.57さすがにそれはないw
とはいえF#内蔵されたらめちゃくちゃ幸せだな
0474デフォルトの名無しさん
2012/05/27(日) 16:42:42.68VBAでプログラミング可能と書いてありましたが、自分は今MMOをやっているのですが、このソフトでbotなど作成することは可能なのでしょうか。
本当に無知な質問で申し訳ありません。
0475デフォルトの名無しさん
2012/05/27(日) 17:00:26.76「VBA 初心者」でいったんググってからもう一度ここに来ようか、ね。
0476デフォルトの名無しさん
2012/05/27(日) 17:38:42.060477デフォルトの名無しさん
2012/05/27(日) 17:42:49.32M ムカつく
O おまえら
0478デフォルトの名無しさん
2012/05/27(日) 17:43:27.87M まあ
O 落ち着いて
0479デフォルトの名無しさん
2012/05/27(日) 17:46:13.10ぐぐるべきはVBAじゃなくてMMOとかBOTとかだろ
0480デフォルトの名無しさん
2012/05/27(日) 17:56:30.270481デフォルトの名無しさん
2012/05/27(日) 17:58:24.18セルに「n」週の数字を打ち込んで
適当なセルに「a歳bヶ月c週」と表示させることは出来ますか?
例えば、n=51と置いて
1歳0ヶ月3週みたいにです
0482デフォルトの名無しさん
2012/05/27(日) 17:59:20.75はい次
0483デフォルトの名無しさん
2012/05/27(日) 18:10:09.94worksheet_change でググれ
0484デフォルトの名無しさん
2012/05/27(日) 18:17:36.810485デフォルトの名無しさん
2012/05/27(日) 18:19:15.660486デフォルトの名無しさん
2012/05/27(日) 18:25:26.77なんか独自の方程式があるんでしょ
そこは質問に関係ないとこだから突っ込んでやるな
0487デフォルトの名無しさん
2012/05/27(日) 18:27:28.45それVBA使う必要ないけど・・・
0488デフォルトの名無しさん
2012/05/27(日) 18:32:12.66排卵した日から数えるんだっけ
0489デフォルトの名無しさん
2012/05/27(日) 18:37:31.24生でInsertメソッドを使ったのか?
0490デフォルトの名無しさん
2012/05/27(日) 18:39:05.78Excel総合相談所 102
http://toro.2ch.net/test/read.cgi/bsoft/1334818676/
0491デフォルトの名無しさん
2012/05/27(日) 18:42:43.44Insertより前だ
0492デフォルトの名無しさん
2012/05/27(日) 19:23:45.81「VBA 初心者」でぐぐってここにたどり着きました。
0493デフォルトの名無しさん
2012/05/27(日) 19:24:30.29ということは1500円で買えるというのはかなりお買い得ということですね。
0494デフォルトの名無しさん
2012/05/27(日) 19:35:03.81「教えて君」でくぐってから出直そうか
0495デフォルトの名無しさん
2012/05/27(日) 19:44:41.38試しに「VBA 初心者」でググったけどこのスレは少なくとも1ページ目には出てこなかったし、もっと分かりやすいのがいっぱい出てきた訳だが、さてと(ビキビキ
0496デフォルトの名無しさん
2012/05/27(日) 19:45:05.50「猫に小判」でぐぐってから出直そうか
0497デフォルトの名無しさん
2012/05/27(日) 19:51:09.800498デフォルトの名無しさん
2012/05/27(日) 19:58:07.10私の環境だと上から2番目に出ますが?
ttps://www.google.co.jp/search?q=VBA+%E5%88%9D%E5%BF%83%E8%80%85+site%3A2ch.net
>>496
値打ちのわからない者には何の役にもたたないということ。
たしかに・・・使えない物に1500円は高いですね・・・。
0499デフォルトの名無しさん
2012/05/27(日) 20:01:19.182chがおまえの世界か!w
0500デフォルトの名無しさん
2012/05/27(日) 20:02:11.06はあ?環境?
2ちゃん内でググるバカがどこにいんだよ、人に聞くことを大前提に調べてんのか。くれくれ君の極みだな。しねよ。
0501デフォルトの名無しさん
2012/05/27(日) 20:08:03.610502デフォルトの名無しさん
2012/05/27(日) 21:01:31.84すみません。
ぐぐれと言われたので2チャンネルのスレッドを探せという意味にとらえてしまいました・・・。
しにたくないです。
0503デフォルトの名無しさん
2012/05/27(日) 21:06:28.040504デフォルトの名無しさん
2012/05/27(日) 21:09:19.92いえ、最初からぐぐってここにたどり着いたんです。
初心者用のスレッドがあるからぐぐれという意味かと。
なので>>492はぐぐってたどり着きました。という意味です。
0505デフォルトの名無しさん
2012/05/27(日) 21:12:31.41ぐぐらなくていいから教えてgooで聞けよカス
0506デフォルトの名無しさん
2012/05/27(日) 23:23:49.25大学でOfficeがめっちゃ安く買えるって
ボリュームライセンスのバラ売りしてんじゃない?
0507デフォルトの名無しさん
2012/05/28(月) 19:05:47.71Excel2002
ホストのプログラムが起点になって
ネットワークドライブからワークシートを手元にコピー
という処理を一連で行い使用しています
ですが
Sheets.Copyでコピーすると
ファイル名がBook1となってしまうので
これを固定名+年月日に変えたいです
調べて、SaveAsをつかえばファイル名を変えて保存できることがわかりましたが
保存する前、ファイルをコピーした時点で名前を変えることはできますか?
0508デフォルトの名無しさん
2012/05/28(月) 19:24:14.84FileSystemObjectのCopyFileメソッドを使う。
0509507
2012/05/28(月) 19:39:37.58手元にコピーというのが悪かったですね
そのメソッドだと結局保存されたのを開いて使っているイメージになりますよね?
そうではなく、新規でbookを開いた状態で名前をつけたい
ということがしたいのですが
0510デフォルトの名無しさん
2012/05/28(月) 19:45:48.92何故そうしたいのか?
0511507
2012/05/28(月) 20:17:15.06仕様です
0512デフォルトの名無しさん
2012/05/28(月) 20:36:29.09何故BooK1のままだとだめなのか?
0513507
2012/05/28(月) 20:40:38.36保存するならこれまで出てきたのでやればいいじゃないかと言われそうですが
保存場所は指定できないので、やはり保存せずに名前を変えられるとベストです
0514デフォルトの名無しさん
2012/05/28(月) 20:45:47.47・マクロを実行した時点では新たにファイルは作成したくない。
・でもブック名(ファイル名)は設定したい。
ということ?
0515507
2012/05/28(月) 20:49:38.180516デフォルトの名無しさん
2012/05/28(月) 20:55:21.89ファイル名=ブック名なのでファイルが存在しないのにファイル名を作ることはできない。
ので、%TEMP%の下などにファイル作るとかで回避するしかないかと。
0517507
2012/05/28(月) 21:10:50.63不可能なら仕方ありませんね
ではそのように説明してみます
長くなってしまいましたが付き合ってくれてありがとうございました
0518デフォルトの名無しさん
2012/05/28(月) 22:44:59.34まだ解決できてなかったのか
0519507
2012/05/28(月) 23:01:07.34私は初めてですよ
0520デフォルトの名無しさん
2012/05/28(月) 23:06:26.20一時的に保存しておいて、最後に削除するのでは何か問題あるの?
0521507
2012/05/28(月) 23:34:35.29その後一時的に保存したところのを削除するかどうか制御できるんですか?
あまり複雑なことは考えずに
できないと言うかc:\直下に保存するか選んでもらうことにしようと思います
0522デフォルトの名無しさん
2012/05/28(月) 23:37:06.69マクロの最後でKillすればいいじゃん
0523デフォルトの名無しさん
2012/05/28(月) 23:47:59.430524デフォルトの名無しさん
2012/05/29(火) 03:13:37.58テンプレートで保存したブックを開いたら
そのブック名はテンプレートのファイル名+数字になった気がする
0525デフォルトの名無しさん
2012/05/29(火) 13:18:21.54じゃん
0526デフォルトの名無しさん
2012/05/29(火) 23:40:15.58オートシェイプの円を表示させようとしたところ
一番左端のセルにだけ円が表示されてしまいます
番地指定ではなくアクティブセルを基準に、
セル内に余白を残しつつ4セル分の中心部にオートシェイプを表示したいのですが
どういったコードを使えばよろしいでしょうか?
0527デフォルトの名無しさん
2012/05/30(水) 00:06:33.110528デフォルトの名無しさん
2012/05/30(水) 08:08:19.744セルの状態がわからん
□□
□□
□□□□
長くなるから縦一列は省略
どれも4セルの結合
0529デフォルトの名無しさん
2012/05/30(水) 10:44:18.844つのセルの中心に1つだけ円を表示してみた
もし4つのセルに4つの円を表示したいって質問ならループを回せばいい
(For Each セル In Selection)
Dim セル As Range
Set セル = Selection
Dim 円 As Shape
Set 円 = ActiveSheet.Shapes(1)
Dim 余白 As Long
余白 = 20
Dim 円サイズ As Long
円サイズ = IIf(セル.Width > セル.Height, セル.Height, セル.Width) - (余白 * 2)
円.Width = 円サイズ
円.Height = 円サイズ
円.Top = セル.Top + ((セル.Height - 円サイズ) / 2)
円.Left = セル.Left + ((セル.Width - 円サイズ) / 2)
0530デフォルトの名無しさん
2012/05/30(水) 11:16:53.13□
□□□
□
□□□□
0531デフォルトの名無しさん
2012/05/30(水) 11:56:27.73要求されたことは、
While
int
四則演算
Application.InputBox
のみで2〜9進数を10進数に変換しなさい
って奴なんだ
とりあえず、Application.InputBoxで何進数か判別して、要求する値をまた入力って流れで組んだんだがそこからが分からないorz
WhileとIntと四則演算を組み合わせて解くのだと思うけど、俺の頭じゃさっぱりだ
どなたか助言お願いします
0532デフォルトの名無しさん
2012/05/30(水) 12:13:10.030533デフォルトの名無しさん
2012/05/30(水) 12:13:14.15こうなりました
□
□□
□
□□
□
□
□
0534デフォルトの名無しさん
2012/05/30(水) 12:17:57.09上に載ってる関数以外使っちゃダメって言われた
ググってもHEXとかを使うと良いとかで、この問題には使えなかったんだ…
0535デフォルトの名無しさん
2012/05/30(水) 12:25:05.50下手糞。
こうしろ。
□
□□□□
□□□□
0536デフォルトの名無しさん
2012/05/30(水) 12:39:35.19ただそれでどうやって最上位桁を判定するんだろ
0537デフォルトの名無しさん
2012/05/30(水) 14:41:51.89何進数かってのと対象の数値の2回入れるんだよな?
Modとか%もだめなのか
10で割ってIntで切り捨てた物をもとの数字から引くと下一桁が取り出せるから
それを基数の階乗に掛けるとかかかなあ
4進数の312の場合
2 * 3 ^ 0
+
1 * 4 ^ 1
+
3 * 4 ^ 2
で答えが54みたいな
あまりいい課題ではないな
0538デフォルトの名無しさん
2012/05/30(水) 14:42:56.87「10で割ってIntで切り捨てた物を再度10倍したもの」だった。
すまん
0539デフォルトの名無しさん
2012/05/30(水) 14:51:22.94Excel VBAの質問ではないなこれは
0540デフォルトの名無しさん
2012/05/30(水) 20:31:54.09設問から、
最上位の数値は、必ず10より小さい。
0541デフォルトの名無しさん
2012/05/30(水) 21:45:51.97やってみたが、違ってるかもしれん。
Sub test()
Dim n As Long, myNum As Long, cnt As Long
Dim tmp1 As Long, tmp2 As Long, tmp3 As Long, tmp4 As Long, tmp5 As Long
n = Application.InputBox("何進数ですか")
myNum = Application.InputBox("変換したい数字を入力してください")
cnt = myNum
tmp1 = 1
tmp5 = 1
While cnt > 0
cnt = Int(cnt / 10)
tmp1 = tmp1 * 10
tmp2 = (myNum - Int(myNum / tmp1) * tmp1 - tmp3) / tmp1 * 10
tmp3 = tmp3 + tmp2 * tmp1 / 10
tmp4 = tmp4 + tmp2 * tmp5
tmp5 = tmp5 * n
Wend
MsgBox n & "進数の" & myNum & "は、10進数で" & tmp4 & "です"
End Sub
0542デフォルトの名無しさん
2012/05/30(水) 22:28:41.60進数の違いで多過ぎた分を後から引いていく感じ。
筆算では合っているっぽいけど、自分でも実は良く解らん(おぃ
Dim src As Long, radix As Long
src = 53423
radix = 7
Dim v1 As Long, v2 As Long, v3 As Long
v1 = src
v2 = src
v3 = 10 - radix
While v2 > 0
v2 = Int(v2 / 10)
v1 = v1 - v2 * v3
v3 = v3 * radix
Wend
Debug.Print v1
0543デフォルトの名無しさん
2012/05/30(水) 22:39:02.30おおー、理屈はよくわからんが、すごいな。
0544デフォルトの名無しさん
2012/05/31(木) 16:49:59.55別のマクロを実行させたいのですが。
Sub FVB()
Application.OnTime TimeValue("16:42:00"), "mm"
End Sub
このように時間になったらmmマクロを呼び出して
Sub mm()
Range("H92").Select
End Sub
このように実行させたいのですが、
時間になると実行できませんとエラーがでます、
他のマクロは普通に実行できてるのですが、
どこか問題あるでしょうか?
0545544
2012/05/31(木) 19:57:39.14なぜか実行できました、
なんでうまくいったか分からないけどとりあえず自己解決。
0546デフォルトの名無しさん
2012/05/31(木) 20:02:52.98マクロ名が微妙に異なっているとか?
0547デフォルトの名無しさん
2012/05/31(木) 20:03:37.370548デフォルトの名無しさん
2012/05/31(木) 21:18:36.27マクロボタンをクリックすると、特定のシート(例えばSheet1)だけを
添付して送信することはできますか?
ついでにテンプレートとなる本文と件名と、とくていの部分(日付とか)だけはその日用に変えておくることはExcelVBAできますか?
メールはOutlookで下書きを書いて、送信ボタンを押す直前までが希望です。
0549デフォルトの名無しさん
2012/05/31(木) 21:23:30.05OutlookもVBAを使ってるから、送信までを行うならOutlook側で制御したほうがいいと思う
0550デフォルトの名無しさん
2012/05/31(木) 21:30:27.93Outlooknのヘルプにサンプルがあるから頑張れ。
添付ファイルを付けるときは
MailItemを作成してAttachmentをつけるとかコードが結構増える。
下書きまでは単純にmailto:のリンクを起動するだけでできるから
シート1だけコピーして新規ブックを作成してどこかに保存と
mailto起動だけやって添付は手動とかでもいいと思う
0551デフォルトの名無しさん
2012/06/01(金) 19:55:33.46どうやったらプログラマにまれますか?
プログラムーに、なりたい、です。
ので、誰か、教えてください。
0552デフォルトの名無しさん
2012/06/01(金) 20:05:19.01プログラム、組んでるなら、既に、プログラマ、じゃん
かっこいい、な
0553デフォルトの名無しさん
2012/06/01(金) 20:08:41.14C++やRubyの本を読んで挑戦すればいいじゃん
0554デフォルトの名無しさん
2012/06/01(金) 20:21:18.47かっこいいなど、そんなことは、ありません。
プログラマとは、仕事の、ことを、いってます。
ぼくは、まだ、家でしか、やったことが、ないです。
>>553
まずは、C++とか、Rubyというの、本を読んだ方が、いいんでしょうか?
ぼくはばかなので、友達にも、ばかだ、といわれています。
まだ、パソコンを、恥またばかりで、よく分からなくて、ごめんなさい。
0555デフォルトの名無しさん
2012/06/01(金) 20:26:33.99まず日本語勉強して会話できるようになれよ
0556デフォルトの名無しさん
2012/06/01(金) 20:28:12.800557デフォルトの名無しさん
2012/06/01(金) 20:37:20.31すいません、タイプングミスばかりして。
国語は、3です。
急いで打つと間違いやすい正確なんです。
0559デフォルトの名無しさん
2012/06/01(金) 21:01:04.25エスパー、ですか?
国語の、偏差値は、38です。
でも、数学の偏差値は60、くらいです。
プラグラマに、なるには、国語を、偏差値が、高くないと、無理でしょうか?
0560デフォルトの名無しさん
2012/06/01(金) 21:07:14.87プログラマだからこそ、国語ができないと。
お客の意思疎通ができずにとんでもないもん作っちまうぞ。w
0561デフォルトの名無しさん
2012/06/01(金) 21:14:26.39ぼくは、まだ、プログラマ入級者なので、よくわかっていないのですが、
システムエンジニアは、国語が、必要で、
プログラマーは、国語は、あまり重要じゃ無い、と考えていたのですが、
違うのでしょうか。
0562デフォルトの名無しさん
2012/06/01(金) 21:39:48.32どんなプログラム組んでるんだ?
VBAである程度なれてるなら、VSオヌヌメするが
0563デフォルトの名無しさん
2012/06/01(金) 22:11:52.01オブジェクト、メソッド、プロパティが何かわかる解説付きの一覧表とかあるのでしょうか?
0564デフォルトの名無しさん
2012/06/01(金) 22:19:47.53機能からイベントやら探すのも本ある
ネットでも探せるし、MSDN見るようにすればおk
0565デフォルトの名無しさん
2012/06/01(金) 22:53:44.71あんなクソ判りにくいもん読めっか
0566デフォルトの名無しさん
2012/06/01(金) 22:59:32.19まぁVBAでmsdnガン見する必要はないと思うけど。
とりあえずこれ如何?
http://home.att.ne.jp/zeta/gen/excel/c04p21.htm
0567デフォルトの名無しさん
2012/06/01(金) 23:03:16.620568566
2012/06/01(金) 23:10:07.35http://home.att.ne.jp/zeta/gen/excel/c03p09.htm
0569デフォルトの名無しさん
2012/06/02(土) 01:23:02.06なんでお前まだいるの?
0570デフォルトの名無しさん
2012/06/02(土) 06:13:20.080571デフォルトの名無しさん
2012/06/02(土) 07:33:23.63そうだよな。ところで、
レベル高いやつはこんなとこ来なくなるんだろ
なんでお前まだいるの?
0572デフォルトの名無しさん
2012/06/02(土) 10:39:30.90http://allabout.co.jp/gm/gc/297719/
0573デフォルトの名無しさん
2012/06/02(土) 20:53:31.78知りたいのは構成ではなく、個々のやつの意味が知りたいです。
たとえばプロパティは一杯ありますが、それの個々が何かを知りたいです。
0574デフォルトの名無しさん
2012/06/02(土) 21:10:24.63[F1]キーを押したらヘルプが開くでしょ?
0575デフォルトの名無しさん
2012/06/02(土) 21:25:25.060576デフォルトの名無しさん
2012/06/02(土) 21:34:43.56っていうかそんなPCうざいな・・・
0577デフォルトの名無しさん
2012/06/02(土) 21:39:32.77それはExcelのVBAに全く関係ないのでここで質問してもスルーされるよ
0578デフォルトの名無しさん
2012/06/03(日) 13:10:01.26http://www.relief.jp/itnote/archives/001208.php
0579デフォルトの名無しさん
2012/06/03(日) 20:08:49.99If ブロックに対応する End If がありません。」
なんで↑がでますか?
aaの一個目のEnd Subで抜けるとEnd Ifを通らないからですか?
----------------
Sub aa(x As Integer)
If x = 1 Then
MsgBox x
End Sub
End If
End Sub
----------------
----------------
Sub aaa()
Dim x As Integer
Call aa(x)
End Sub
----------------
0580デフォルトの名無しさん
2012/06/03(日) 20:12:21.75exit subにする
0581デフォルトの名無しさん
2012/06/03(日) 20:28:40.21おおお!ありがとうございます。
0582デフォルトの名無しさん
2012/06/03(日) 23:31:39.47If x = 1 Then MsgBox "ナマポ朝鮮人を排除しよう"
End Sub
0583デフォルトの名無しさん
2012/06/04(月) 12:01:34.93VBEの特殊性(?ないとは思いますが…)、も考えて
こちらでお聞きします。
(スレ違いとは思いますので誘導していただけたら助かります)
VBEで書いたコードを、備忘録としてブログに貼ると
インデントが全くなくなってしまいますが、
これを解決する方法はないでしょうか?
たしか、貼ったコードを実行する?ようなサイトがあって
それを利用すると、インデントが当初のままに
なるとかいう話は聞いたことがあるのですが、
探せませんでした。
上記のようなサイト利用に限らず、インデントを
崩さないで、ブログに貼る方法を教えて頂けませんか?
よろしくお願いします。
0584デフォルトの名無しさん
2012/06/04(月) 12:35:11.610585デフォルトの名無しさん
2012/06/04(月) 13:14:00.24その程度の知識の人のソースコードなんて誰も見たくないんだから
ブログになんて貼らないでもらいたいのですが
よろしくお願いします
0586デフォルトの名無しさん
2012/06/04(月) 13:49:22.920587デフォルトの名無しさん
2012/06/04(月) 14:56:34.06ソースコードをHTMLにコンバートするツールとかサービスとかググったらいっぱいヒットするけど
ホントに探せなかったんだよね?
VBA限定なら少ないかもしれないけどVBとかVBScriptなら結構見つかると思うよ
0588デフォルトの名無しさん
2012/06/04(月) 15:43:42.13全く知りませんでした。ありがとうございます。
>>585-586
すみませんでした。少しでもご迷惑にならないよう
パスワードはかけてあります。
>>587
キーワードが全然ダメでした。
お陰様で見つかりました、ありがとうございます。
スレ違いのところをレス頂いて感謝しております。
ありがとうございました。
0589デフォルトの名無しさん
2012/06/04(月) 21:19:55.91ピックアップして別のシートに貼り付けるというマクロを組みたいのですが、
この時の日付はシリアル値にしないとだめでしょうか?
0590デフォルトの名無しさん
2012/06/04(月) 21:24:21.93シリアル値じゃなくても変換すればいいし
0591デフォルトの名無しさん
2012/06/04(月) 21:39:17.63いまDATEVALUE関数を使ってみたのですが、A1に2012/6/4と入力して、
B1に=DATEVALUE(A1)と入れてみたのですが、#VALUE!のエラーが出ました。なぜでしょうか?
0592デフォルトの名無しさん
2012/06/04(月) 22:08:26.71A1セルの表示形式が「文字列」になってないとか?
まぁVBAに関係ない質問なら↓こっち行けって話だけど
http://toro.2ch.net/test/read.cgi/bsoft/1334818676/
0593デフォルトの名無しさん
2012/06/05(火) 22:14:51.73Do Until Cells(n + 1, 1).Value = ""
Cells(n + 1, 10).Value = Cells(n + 1, 1).Value
If Cells(n + 1, 1).Value > startdate Then
If Cells(n + 1, 1).Value < enddate Then
Cells(n + 1, 11).Value = Cells(n + 1, 2).Value
Rows(n + 1).Copy
Rows(n + 500).PasteSpecial ←ここまでは動いて、ちゃんとコピペした。
Worksheets("sheet3").Select
Do Until Cells(m + 1, 1).Value = ""
If Cells(m + 1, 1).Value = "" Then
Worksheets(1).Select
Rows(n + 1).Copy
Worksheets(3).Select
Rows(m + 1, 1).PasteSpecial ← ワークシート3にコピペしてくれない(´・д・`) どこが悪い?
End If
m = m + 1
Loop
End If
End If
n = n + 1
Worksheets(1).Select
Loop
0594デフォルトの名無しさん
2012/06/05(火) 22:21:20.690595デフォルトの名無しさん
2012/06/05(火) 22:27:29.670596デフォルトの名無しさん
2012/06/05(火) 22:36:53.690597デフォルトの名無しさん
2012/06/06(水) 06:30:49.380598デフォルトの名無しさん
2012/06/06(水) 06:35:06.010599デフォルトの名無しさん
2012/06/06(水) 07:43:09.070600デフォルトの名無しさん
2012/06/06(水) 07:48:58.93>Do Until Cells(m + 1, 1).Value = ""
0601デフォルトの名無しさん
2012/06/06(水) 19:21:39.64やりたいことは、こうじゃないの
With Worksheets(1)
Do Until .Cells(n + 1, 1).Value = ""
.Cells(n + 1, 10).Value = .Cells(n + 1, 1).Value
If .Cells(n + 1, 1).Value > startdate Then
If .Cells(n + 1, 1).Value < enddate Then
.Cells(n + 1, 11).Value = .Cells(n + 1, 2).Value
.Rows(n + 1).Copy .Rows(n + 500)
Do Until Worksheets("sheet3").Cells(m + 1, 1).Value = ""
m = m + 1
Loop
.Rows(n + 1).Copy Worksheets(3).Rows(m + 1)
End If
End If
n = n + 1
Loop
End With
0602デフォルトの名無しさん
2012/06/06(水) 23:03:47.490603デフォルトの名無しさん
2012/06/08(金) 19:54:23.76私の尻も快尻してほしいです。
0604デフォルトの名無しさん
2012/06/09(土) 02:02:21.960605デフォルトの名無しさん
2012/06/09(土) 12:25:52.47モジュール、Excel側のフォーマットとの連携、ブックの定義など、
設計、構造レベルの話を厚く書いている書籍はないでしょうか。
エクステンドで開発していた経緯が見え隠れし、
非常に保守しづらい状況です。
0606デフォルトの名無しさん
2012/06/09(土) 12:26:13.950607デフォルトの名無しさん
2012/06/09(土) 12:56:15.660608デフォルトの名無しさん
2012/06/09(土) 14:06:39.59まずはヘルプのオブジェクト構造図を眺めるかな
0609デフォルトの名無しさん
2012/06/09(土) 14:08:49.590610デフォルトの名無しさん
2012/06/09(土) 14:53:49.04コメントありがとうございます。チェックしてみます。
前任者が20くらいのマクロでシステムを作り上げていて。。。マクロ組めますレベルで大丈夫だよとは聞いてたけど。。。
ざっとシステムとソース舐めてみたところ、フォーマットと機能とデータががっかり結合しているのがシステム肥大化の原因みたいです。
将来的に運用回らないことも想定できるので、早めに提案したいのですが、VBAをシステムとして扱うとなると知識が不足していまして。。。
よろしくお願いします。
0611デフォルトの名無しさん
2012/06/09(土) 18:08:51.51手を付けてから出来ませんでしたじゃ余計迷惑だと思うよ。
システム設計とかそういうレベルの話だと
いまからなにかしても付け焼刃で何の役にも立たないはず。
0612デフォルトの名無しさん
2012/06/09(土) 18:25:16.51こんなところに質問してなんとかなる程度のシステムなんだろうよ
本人がやる気になってるんだからいいじゃない
0613デフォルトの名無しさん
2012/06/09(土) 20:20:44.29こんなところに質問してなんとかなる程度のシステムかどうかすら
判断できて無いんじゃないか?
アドバイスすることは不可能ではないけど、>>611の言う通り
付け焼き刃で弄っても害の方大きいだろうから、
向こうの説明不足&自分の能力不足を告げた方が良いと思う
事前にご説明いただいた内容であれば対応出来ると思っておりましたが
実際に要求されているのはもっと高いレベルであり、今の私にはそれをこなす能力はありません、と
0614デフォルトの名無しさん
2012/06/09(土) 20:36:18.50調査や習熟に時間がかかる可能性がある
その上で修正が可能かは今の段階でわからない
そのまま使用して問題なかったとしても、将来的にどういう形に出来るかわからない
みたいな形で報告をしておいて、どの程度なら許容範囲なのかを上司と相談してからタッチすべきだな
この三者に共通する特徴の一つは、繰り返しを好み、しかもその自覚(病識)がないこと。
0616デフォルトの名無しさん
2012/06/09(土) 23:14:50.33キーは3つ設定できるわけだけど
これをVBで4つ設定するようにすることはできない?
0617デフォルトの名無しさん
2012/06/09(土) 23:31:29.53というか、安定ソートの場合
第一優先:A列、第二優先:B列、第三優先:C列、第四優先:D列
でソートするのと
D列でソート、C列でソート、B列でソート、A列でソート
とするのは同じだぞ
というかExcelの3つのキーが指定できる並べ替え機能は、内部で、
第三優先キーでソート、第二優先キーでソート、第一優先キーでソート
をやってるだけだろうし
それを踏まえればVBAはもちろん、VBA使わなくても出来る
0618610
2012/06/09(土) 23:37:21.29×がっかり結合→がっつり結合
>>611-613
小手先でなんとかなってしまう程度なんですよねー、これが。
今々は小手先でなんとかしなきゃいけない背景もあり。。。
>>614さんを一旦の落とし所にさせていただきます。
0619デフォルトの名無しさん
2012/06/09(土) 23:42:44.75'
Selection.Sort _
Key1:=Range("A2"), Order1:=xlAscending, _
Key2:=Range("B2"), Order2:=xlAscending, _
Key3:=Range("C2"), Order3:=xlAscending, _
Key4:=Range("D2"), Order4:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, SortMethod:=xlPinYin, _
DataOption1:=xlSortNormal, _
DataOption2:=xlSortNormal, _
DataOption3:=xlSortNormal, _
DataOption4:=xlSortNormal
End Sub
マクロで、3つのキーでソートするサンプルを作って、上記のように単純にKey4を追加して
みたんだけど、エラーになる。何で?
0620デフォルトの名無しさん
2012/06/09(土) 23:50:02.37そりゃ三つまでの指定にしか対応していないからだろ。
というか、エラーの内容書けよ。
0621デフォルトの名無しさん
2012/06/09(土) 23:53:50.36ダイアログ
Microsoft Visual Basic
実行時エラー '1004':
アプリケーション定義またはオブジェクト定義のエラーです。
ヘルプ
アプリケーション定義またはオブジェク
ト定義のエラーです。
0622デフォルトの名無しさん
2012/06/09(土) 23:55:44.42あのさ、回答付いてるんだから読んだら?
それとも読んだ上でそういうことやらかすお馬鹿さんなの?
0623デフォルトの名無しさん
2012/06/10(日) 00:01:06.51理解できたトンクス
0624620
2012/06/10(日) 00:04:08.13JavaScript程じゃないが、VBAも大概意味不明なエラーメッセージ出すし。
0625デフォルトの名無しさん
2012/06/10(日) 00:06:26.33>>619のコードでエラーのメッセージを見ないと回答できないレベルならハナから黙ってろよ
0626デフォルトの名無しさん
2012/06/10(日) 02:04:20.44という文字列があったとします
"*"をヌル文字に置換すると結果はどうなるのですか?
0627デフォルトの名無しさん
2012/06/10(日) 03:29:08.24但し、ヌル文字ってもは可視文字ではなく制御文字なので
置換したものを表示させたときにどう表示されるか、
つまり置換の結果ではなく表示結果は表示先次第
というか、そのくらい自分の目で確かめたら良くね?
0628デフォルトの名無しさん
2012/06/10(日) 04:53:10.260629デフォルトの名無しさん
2012/06/10(日) 10:05:48.000630デフォルトの名無しさん
2012/06/10(日) 10:08:46.19バイバイ
0631デフォルトの名無しさん
2012/06/10(日) 10:26:45.60痴漢は良くしってます。
0632デフォルトの名無しさん
2012/06/10(日) 10:42:07.900633デフォルトの名無しさん
2012/06/10(日) 11:04:20.04置換だ編隊だ偏執者だと言われます
0634デフォルトの名無しさん
2012/06/10(日) 12:11:19.44"aabb*cddef"
という文字列があったとします
"*"をヌル文字に置換すると結果はどうなるのですか?
"aabbcddef"
0635デフォルトの名無しさん
2012/06/10(日) 13:14:11.54ヌルヌルになるよ
ぬるぽ
0636デフォルトの名無しさん
2012/06/10(日) 14:43:34.81スタートと出口をそれぞれ左上、右下にし、
必ず出口に行けるルートは一つだけで、
その他は壁をつくり、その壁は罫線で表したいです。
こういうプログラムをつくるにあたり、アルゴリズムはどうすればいいでしょうか?
できるだけくわしく教えてください
0637デフォルトの名無しさん
2012/06/10(日) 14:56:01.54「迷路 アルゴリズム」で検索
できるだけくわしくって...
労力考えろよ
0638デフォルトの名無しさん
2012/06/10(日) 15:56:37.53Excelの質問でもVBAの質問でもない
0639デフォルトの名無しさん
2012/06/10(日) 16:17:07.83まず二次元配列を作り中身は0が通路1が壁とします
次に左上から右下へ斜めの通路を通路を作ります
これは最短距離のルートですよね
これを初期値として通路をうねうねとうねらせます
それには乱数を使います
それは適当なところで止めて、次に騙し用の通路を付け足します
池田は、「ハッ、ハッ」と荒い息を吐き掛けながら、「下着は一枚だね」
と言って、私の下着の中に手を入れてきました。
ものすごい力で押さえつけられた上に、恐怖で声も出せないでいる私に、
池田は後ろからグッと突いてきたのです。
0640デフォルトの名無しさん
2012/06/10(日) 16:57:57.92import os, win32com.client
TITLE = u'迷路'
HEIGHT, WIDTH, OFFSET_ROW, OFFSET_COL = 10, 10, 2, 2
MAX_ROW, MAX_COL = OFFSET_ROW + HEIGHT - 1, OFFSET_COL + WIDTH - 1
xl = win32com.client.Dispatch('Excel.Application')
xl.Visible = True
book = xl.Workbooks.Add()
sheet = book.Worksheets(1)
sheet.Name = TITLE
sheet.Cells(1, 2).Value = TITLE
sheet.Rows('%d:%d' % (OFFSET_ROW, MAX_ROW)).Select()
xl.Selection.RowHeight = 8
sheet.Columns('%c:%c' % (chr(ord('@') + OFFSET_COL), chr(ord('@') + MAX_COL))).Select()
xl.Selection.ColumnWidth = 1
for r in xrange(HEIGHT):
for c in xrange(WIDTH):
sheet.Cells(OFFSET_ROW + r, OFFSET_COL + c).Interior.ColorIndex = 4
for d in xrange(4):
if (d == 0 and r == 0 and c >= 1): continue
if (d == 1 and r == 0 and c < WIDTH - 1): continue
if (d == 2 and r >= 1 and c == WIDTH - 1): continue
if (d == 3 and r < HEIGHT - 1 and c == WIDTH - 1): continue
sheet.Cells(OFFSET_ROW + r, OFFSET_COL + c).Borders(1 + d).Weight = 2
sheet.Cells(OFFSET_ROW, OFFSET_COL).Value = u'スタート'
sheet.Cells(MAX_ROW, MAX_COL).Value = u'出口'
book.SaveAs(os.path.abspath(u'./%s.xls' % TITLE))
xl.Workbooks.Close()
xl.Quit()
0641デフォルトの名無しさん
2012/06/10(日) 18:15:17.55まずヌル文字の定義をはっきりさせてから話しろよ
0642デフォルトの名無しさん
2012/06/10(日) 18:17:29.36VBAでヌル文字って言ったら長さゼロの文字列である「""」の事に決まってるだろ
0643デフォルトの名無しさん
2012/06/10(日) 18:30:21.72それは空文字だ禿。もしくはフサフサ。それかバーコード。
0644デフォルトの名無しさん
2012/06/10(日) 18:38:06.13ヌル文字列、っていうならその解釈で良いと思うがな
ヌル文字、って言うと、Chr(0)な文字か、vbNullStringなのかもしれん
0645デフォルトの名無しさん
2012/06/10(日) 19:41:23.90オブジェクト.text が "" だったとしてもそれはオブジェクトの説明にはならん
0646デフォルトの名無しさん
2012/06/10(日) 19:45:58.600647デフォルトの名無しさん
2012/06/10(日) 19:51:30.670648デフォルトの名無しさん
2012/06/10(日) 20:04:19.72エラーしかでんがな
0649デフォルトの名無しさん
2012/06/10(日) 23:36:41.430650デフォルトの名無しさん
2012/06/10(日) 23:53:57.840651デフォルトの名無しさん
2012/06/11(月) 00:33:27.520652デフォルトの名無しさん
2012/06/11(月) 00:34:55.67import使ってるのはVB
0653デフォルトの名無しさん
2012/06/11(月) 00:56:38.42俺の知ってる中だと、Python あたりだと思うが。
0654デフォルトの名無しさん
2012/06/11(月) 02:08:34.33まあ移植しろってつもりで貼ったんだろうな
0655デフォルトの名無しさん
2012/06/11(月) 02:14:06.27VbNullまたはChr(0)または""のどれでも良いです
>>626の予想される結果をお願いします
ま、これに答えられる人はこのスレにはいません
無理言ってごめんなさい
0656640
2012/06/11(月) 02:51:12.70とりあえず完成したので貼っときます
ttp://codepad.org/Cbvr8wyx
久しぶりに頭の体操になったよ
ありがとう
0657デフォルトの名無しさん
2012/06/11(月) 04:36:19.60VbNullは文字ではない
vbNullStringかchr(0)なら>>627
""なら>>634
どちらも答えもらってるんだが、何を煽る必要あるんだろうね
まあ、答えられる人がいないと思うなら二度と来るなよ
0658デフォルトの名無しさん
2012/06/11(月) 07:57:29.11http://engawa.2ch.net/test/read.cgi/poverty/1339342300/
ソウル大でまた幹細胞研究の論文捏造か―論文14本
韓国のソウル大教授が学術誌に投稿した幹細胞研究の論文14本に捏造(ねつぞう)の疑いが浮上し、
波紋を呼んでいる。教授は「単純ミス」と釈明している。
韓国では2005年、ノーベル賞も期待されていた別のソウル大教授が発表した胚性幹細胞(ES細胞)関連論文で
捏造が発覚、社会に衝撃を与えた。同じ大学で同分野の論文が問題となっていることから、韓国メディアは「悪夢の再来か」などと報じている。
教授が4本の論文を投稿した米学術誌は24時間以内の釈明を要求したが、教授は「(釈明のための)時間が十分でない」とした上で、論文を取り下げた。
以下詳細 日経 2012/6/3
http://www.nikkei.com/article/DGXNASGM0300G_T00C12A6FF2000/
0659デフォルトの名無しさん
2012/06/11(月) 11:51:47.33数ヶ所改良したバージョン
ttp://codepad.org/g5QwMAWF
※ 100 x 100 のときは maximum recursion depth exceeded に達するので limit 変更
入口(左上)から掘ると迷路が簡単になる傾向があるので出口(右下)から掘るように修正
罫線描画のタイミングを変更することで無駄を減らし高速化
0660デフォルトの名無しさん
2012/06/11(月) 12:34:31.57ついでに、その迷路を解くアルゴリズムはどうすればいいでしょうか?
できるだけくわしく教えてください。
おながいしまつ。
0661デフォルトの名無しさん
2012/06/11(月) 12:54:22.32アルゴリズムのスレに池よ
邪魔だよお前ら
0662デフォルトの名無しさん
2012/06/11(月) 16:35:30.53行数不定、列幅2の範囲の値をListboxに表示させたく
Private Sub UserForm_Initialize()
Set Ws = Worksheets("sheet1")
Dim n As Integer
Dim Data1()
n = Ws.Cells(31, 1).End(xlUp).Row
ReDim Data1(1 To n)
Dim Data2(1)
For i = 1 To n Step 1
Data2(0) = Ws.Cells(i, 2)
Data2(1) = Ws.Cells(i, 1)
Data1(i) = Data2
Next i
With ListBox1
.ColumnCount = 2
.ColumnWidths = "50;50"
.List = Data1
End With
End Sub
で試したところ、配列自体はできている(Data1(i)を適当にとってセルに書き込むと反映される)ようなのですが
ListBoxにはn個の空白行が表示されるだけで、Data1をセルに書き込んだ場合も値は反映されませんでした
配列には手を出し始めたばかりなのですが、そもそも配列の作り方からしておかしいのでしょうか?
0663デフォルトの名無しさん
2012/06/11(月) 17:00:06.38こういうこと?
ReDim Data1(1 To n,1)
dim i as Long
For i = 1 To n Step 1
Data1(i,0) = Ws.Cells(i, 2).text
Data1(i,1) = Ws.Cells(i, 1).text
Next i
0664デフォルトの名無しさん
2012/06/11(月) 17:51:54.44希望通りに表示できました、ありがとうございます
2次元配列でRedimを用いる場合行最後の次元しか変更できないと思い込んでData2なんて作ってしまいましたが
よくよくヘルプ読むとPreserveある場合の話だったのですね・・・orz
0665デフォルトの名無しさん
2012/06/11(月) 21:19:04.090666デフォルトの名無しさん
2012/06/11(月) 21:19:24.55ワードのVBAなんですが、セル内で位置指定で垂直方向はすぐ見つかったのですが
Selection.Cells.VerticalAlignment = wdCellAlignVerticalCenter
水平方向の指定の仕方を教えてくださいm(__)m
0668デフォルトの名無しさん
2012/06/12(火) 00:11:17.42ワードVBAのスレがあるかどうかに関係なく、
ここはExcelVBAのスレなのでスレチです
申し訳ないです。
マクロを記録して自己解決しました。
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
0670デフォルトの名無しさん
2012/06/12(火) 00:26:22.01いちいちウザイ
0671デフォルトの名無しさん
2012/06/12(火) 00:30:08.00じゃあNGに入れろよ
お前みたいな何の役にも立たないレスが一番うざいわ
0672デフォルトの名無しさん
2012/06/12(火) 00:34:21.62ID無しの板で、固有コテハン名乗ってるわけでもない奴をNGに入れろってのも
何の役にも立たないアドバイスな気が、、、
0673デフォルトの名無しさん
2012/06/12(火) 00:39:39.79ID無しの板で個人を特定してウザイなんて言うわけないじゃん
スレチってキーワードがうざいって事なんじゃないの?
0674デフォルトの名無しさん
2012/06/12(火) 01:00:06.190675デフォルトの名無しさん
2012/06/12(火) 02:44:18.43http://ikedanobuo.livedoor.biz/archives/51740658.html
きょうシアトルで、西和彦さんと一緒にビル・ゲイツにインタビューした。
彼は福島事故について驚くほどくわしく知っていて、
「合理的な日本人が非合理的な反応をしているのは残念だ」と言っていた。
特に原発や放射線のリスクについての科学的知識が政治家や一般国民に知られていないことが問題を必要以上に混乱させている、と語った。
印象的だったのは、中国がウェスティングハウスのAP1000を60基発注するという話だ。
中国は世界中からエンジニアを集め、国家プロジェクトとして原子力開発を進めている。
先月、第1号機が納品された。これは1基115万kWだから、合計6900万kW。
これだけで日本の原発の合計をはるかに上回る。設計はすべて同じだから、コストも非常に安い。
重要なのは安全性だが、AP1000のような第3世代の原子炉には、
炉心溶融を物理的に防ぐ受動的安全装置がついており、巨大地震が起きても大丈夫だ。
福島第一原発は古いマーク�Tで、30年前から技術者が危険だと警告していた。
日本も「脱原発か否か」といった不毛な論争ではなく、古い原発を新しい原発に代えて
安全性を高めることも必要ではないか。
エネルギー産業は、情報通信産業の次の大きなフロンティアだ。
古い地域独占の電力会社が残っているおかげで、イノベーションの余地は非常に大きい。
新興国は安くて効率的なエネルギーを求めている。環境問題を考えても、きわめて危険な
石炭を減らすために原子力は重要だ。風力エネルギーも有望だが、フィードインタリフは
イノベーションを殺してしまう。
大事なのは、かつての通信と同じく、電力を全面的に自由化して競争を促進することだ。
エネルギー産業でも、かつてマイクロソフトがIBMを倒したように、巨大な電力会社を倒す
ベンチャーが出てくる可能性がある。そのためには不合理な規制を徹底的に見直すことが必要だ。
アメリカにはシェールガスもクリーンコールも第4世代原子力技術もあり、イノベーターも多い。
足りないのは合理的な政府だけだ。
0676デフォルトの名無しさん
2012/06/12(火) 03:17:34.15スレチの指摘だって
何の役にも立ってないうえに
>>670みたいな書き込みの呼び水になるから
結局は一番迷惑
スレチも荒しも放置に限る
0677デフォルトの名無しさん
2012/06/12(火) 03:57:58.74バーチカルときたらホリゾンタルちゃうかー
0678デフォルトの名無しさん
2012/06/12(火) 11:12:41.21大して迷惑でもないだろ・・・
0679デフォルトの名無しさん
2012/06/12(火) 14:10:36.96わからないのでお願いします
0680デフォルトの名無しさん
2012/06/12(火) 15:35:56.710681デフォルトの名無しさん
2012/06/12(火) 21:33:07.30質問文をコピペするのではなく、横着してURLだけ貼って
回答者にわざわざリンク先の質問読みにいけと?
最悪なマルチの仕方だな
とりあえず3回くらい氏ねよ
0682デフォルトの名無しさん
2012/06/13(水) 16:30:32.22俺のレスは問題外
他人のレスは全部気違い
みんな概出痴的障碍
青貝馬鹿貝想定外
0683デフォルトの名無しさん
2012/06/13(水) 18:03:00.56ただし構ってもコミュニケーションは成立しない
頭がおかしいし、もう一生なおらない、一生な、絶対。病院に言っても無駄
まともなレスを一度も出来ずに死ぬ
0684デフォルトの名無しさん
2012/06/14(木) 10:36:23.07連鎖あぼーんできないじゃないか。
0685デフォルトの名無しさん
2012/06/14(木) 10:51:58.63早く卒業しなさい
0686デフォルトの名無しさん
2012/06/14(木) 11:02:02.780687デフォルトの名無しさん
2012/06/14(木) 12:01:06.060688デフォルトの名無しさん
2012/06/14(木) 12:44:58.200689デフォルトの名無しさん
2012/06/14(木) 13:02:58.24質問者が減っているのか、おまいらがオイダシテるのかわからんが
0690デフォルトの名無しさん
2012/06/14(木) 13:04:47.86質問が減るのはいいことだ
0691デフォルトの名無しさん
2012/06/14(木) 13:59:34.760692デフォルトの名無しさん
2012/06/14(木) 16:02:10.96素人だからググルポイントが解らないとか、結果を読んでも解らないとか
だからここで素人質問をする
オレもプロではないので全般的に理解できているわけじゃなくて
やりたいことを試してエラーが出て、大抵そのエラーの意味はつかみ所がない
ググって原因は解っても回避方法がわからないこともある
それで質問をすると、即答してくれる人が居て非常に助かる
(たまにバカにしたレスが付くけど)
回答するのがウザイならググルキーワードとかヒントだけ出せばいいと思う
過疎化しているのはオワコンだからなのかな?
Excel人口は多く、その何%かがVBAをかじるだろうからこのスレの存在は有りがたい
オマエラに感謝!
0693デフォルトの名無しさん
2012/06/14(木) 16:39:15.63初心者は質問もないのにわざわざこんなスレに来てこんなこと書かないよ
いつもごくろうさま
0694デフォルトの名無しさん
2012/06/14(木) 16:58:12.90お前邪魔
0695デフォルトの名無しさん
2012/06/15(金) 08:35:31.860696デフォルトの名無しさん
2012/06/16(土) 17:18:02.56For ii = 0 To 2
sn = Array("1月", "2月", "3月")
Set ws = Worksheets(sn(ii))
ws.Columns("A:A").Select ’�@
Selection.AutoFilter
.
.
Next ii
�@のところで
実行時エラー 1004
RangeクラスのSelectメソッドが失敗しました。
のエラーが出ます。
どう修正したらいいでしょうか?
0697デフォルトの名無しさん
2012/06/16(土) 17:24:27.10sn = Array("1月", "2月", "3月")
For ii = 0 To 2
Set ws = Worksheets(sn(ii))
ws.Columns("A").AutoFilter
0698デフォルトの名無しさん
2012/06/16(土) 18:37:57.91Sub テスト()
Dim Button_Name As String
'どのボタンが押されたか判断する
Button_Name = Application.Caller
MsgBox Button_Name
End Sub
このように記述すると
>Button_Name = Application.Caller
のところで
型が一致しないエラーがでるのですがどうすればいいのでしょうか
0699デフォルトの名無しさん
2012/06/16(土) 18:58:04.33型を確認してみたら?
Debug.Print TypeName(Application.Caller)
0700デフォルトの名無しさん
2012/06/16(土) 19:06:57.96フォームのボタンなら問題ないけど
0701デフォルトの名無しさん
2012/06/16(土) 19:23:18.25オブジェクトが必要ですと出ます
0702デフォルトの名無しさん
2012/06/16(土) 21:47:49.56「出る」ってのは具体的にどういう状態なのだ?
0703デフォルトの名無しさん
2012/06/16(土) 22:19:54.80それをString型で受けようとするから型が一致しないと出るのは当然
0704デフォルトの名無しさん
2012/06/16(土) 22:50:01.00それで、どうすればエラーがでなくなるの
0705デフォルトの名無しさん
2012/06/16(土) 22:57:09.25Application.Callerのヘルプ見たら答えが載ってるから見てみて
ヘルプ見て分からなければヘルプのどの部分が分からないのか質問し直して
0706デフォルトの名無しさん
2012/06/16(土) 23:05:53.77エラーなんてでないよ
0707デフォルトの名無しさん
2012/06/16(土) 23:55:05.420708デフォルトの名無しさん
2012/06/17(日) 00:56:38.28よく分かりませんが解決しました
0709デフォルトの名無しさん
2012/06/17(日) 05:15:01.80いや常にオブジェクト型だろ
VBAに戻り値のオーバーライドはないぞ
ただその実体が違うだけだ
0710デフォルトの名無しさん
2012/06/17(日) 08:37:57.82>VBAに戻り値のオーバーライドはないぞ
Variant って知ってる?
0711デフォルトの名無しさん
2012/06/17(日) 09:13:10.660712デフォルトの名無しさん
2012/06/17(日) 09:43:05.780713デフォルトの名無しさん
2012/06/17(日) 10:54:13.67Stringでした
0714デフォルトの名無しさん
2012/06/17(日) 11:24:34.45VBAは大差ないと思うけど2010の方が速い
0715デフォルトの名無しさん
2012/06/17(日) 13:47:11.41常時。
>>713
ホントに TypeName( ) から "String" が返ってきてるのに、String 型の変数に
代入するとエラーになるの?
スマン、俺の知識の範囲を超えてるわ。
0716デフォルトの名無しさん
2012/06/17(日) 14:32:47.38いや、stringなので、エラーはでない。
なので、>>703の意味がわからない。
0717デフォルトの名無しさん
2012/06/17(日) 14:47:21.280718デフォルトの名無しさん
2012/06/17(日) 16:46:29.32乗せてるCPU次第だけど
2010は64bitに対応している(VBA7.x)ので
そちらの方が良いかな?
あと、リボンUIって2010からだったっけ?
0719デフォルトの名無しさん
2012/06/17(日) 16:50:15.18>あと、リボンUIって2010からだったっけ?
2007 から。
0720デフォルトの名無しさん
2012/06/17(日) 16:52:50.25PCのスペックはBF3をヌルヌルできるくらい高スペックなので問題ないです。
VBAを勉強した買ったから、情報量が多い2007が良いと思ってたけど、2010の方がUIとかの評判良さげですね
2010にします
0721デフォルトの名無しさん
2012/06/17(日) 16:57:22.50こうやって、わからないところはネットだけで学んだ?
それとも最初は参考書に手をつけたりした?
もし初心者鉄板のVBA参考書とかあったら教えて下さいな
0722デフォルトの名無しさん
2012/06/17(日) 17:47:52.44ヘルプとMSDNライブラリがあれば事足りると思うよ
ヘルプとMSDNライブラリで事足りなく感じれば書籍に手を出せばいい
0723デフォルトの名無しさん
2012/06/17(日) 20:07:34.90↑がエラー起こすのはどうしてですか?selectもメソッドだからいけると思ったんだがいけない
0724デフォルトの名無しさん
2012/06/17(日) 20:25:00.61Sheet1がないとか、あってもアクチブでないとか
0725デフォルトの名無しさん
2012/06/17(日) 21:35:48.28http://www.asahi-net.or.jp/~zn3y-ngi/YNxv9d92.html
グラフなら、ここみたいにやり方を探せたんですがこれをグラフでなく画像で出来ますか?
2003です、お願いします
0726デフォルトの名無しさん
2012/06/17(日) 22:11:52.580727デフォルトの名無しさん
2012/06/17(日) 22:16:47.77シート上の画像をイメージコントロールに貼り付ける
でググれ
0728デフォルトの名無しさん
2012/06/17(日) 23:56:12.56だったら俺も見ないで適当に答えるけど
オブジェクトが複数あって、あるいは別マクロ経由しててApplication.Callerの対象オブジェクトが特定されてない
というかそのコードだと帰ってくる型はrangeかerrorになると思うんだがどっか省略かまちがってね
variantに格納して内部情報見てみたらいいんじゃね
0729デフォルトの名無しさん
2012/06/18(月) 00:00:37.450730デフォルトの名無しさん
2012/06/18(月) 00:03:27.98あ、電源入れろよ
0731デフォルトの名無しさん
2012/06/18(月) 00:08:57.00電源も入れた。
0732デフォルトの名無しさん
2012/06/18(月) 00:51:28.290733デフォルトの名無しさん
2012/06/18(月) 01:11:20.86エラーの内容くらい書けよ
0734デフォルトの名無しさん
2012/06/18(月) 07:55:15.46ボタンに↓を登録したんだが間違ってるの?
Sub テスト()
Debug.Print TypeName(Application.Caller)
End Sub
0735デフォルトの名無しさん
2012/06/18(月) 08:22:18.37それであってるよ
0736デフォルトの名無しさん
2012/06/18(月) 08:36:57.24>>698の書き方の時点でボタン特定出来てないだろ
その時はstring じゃないんじゃね
作ったコードと同じ状況で確認しろよ
0737デフォルトの名無しさん
2012/06/18(月) 09:00:14.85文字列返らないんだが
バージョンいくつでやってんだ、95か?
0738デフォルトの名無しさん
2012/06/18(月) 09:54:22.700739デフォルトの名無しさん
2012/06/18(月) 10:04:32.37アクティブシートになってなきゃ出来ないのでしたらシートを対象にした意味がない気がしますがそういう仕様でしょうか
>>766
RangeクラスのSelectメソッドが失敗しましたと表示されます
0740デフォルトの名無しさん
2012/06/18(月) 10:07:47.94>>766でなく>>733宛てです
0741デフォルトの名無しさん
2012/06/18(月) 10:08:57.17普通のstring と名前が戻って来るがなあ
0742デフォルトの名無しさん
2012/06/18(月) 10:10:55.83SheetsってActiveWorkbooksに対してじゃなかったか?
実行してる箇所(スコープ外)だとこけるぞ
完全参照でやるなら
Application.Worksbooks(n).Workshees(n).
とかだぞ
VBとかからCOMでアクセスしててても使えない
ちなみにSheetはチャートシート(使ってるのみたことないが)
込みだからWorksSheesのほうがいいぞ
0743デフォルトの名無しさん
2012/06/18(月) 10:21:15.19セルのSelectってのはアクティブシートのみに有効なメソッドだ
但し言語仕様としては、SelectメソッドをRangeオブジェクトのメンバにしなくてはならず
Rangeオブジェクトのメンバである以上、親がアクティブシートでも非アクティブシートでも
構文としては全てのRangeオブジェクトに対してSelectメソッドが有効になってしまうというだけ
0744デフォルトの名無しさん
2012/06/18(月) 12:31:01.45>結局どんなものが出てきても文句言ってるっていう気がする。
だよな。
もう、自分や自分の会社で文句でないの作れだよな
0745デフォルトの名無しさん
2012/06/18(月) 19:53:55.81セルをSelectするってことは、そのセルをアクティブにする事と同じだと思えばいい
Selectされているセル≒アクティブになってるいるセル
0746デフォルトの名無しさん
2012/06/18(月) 20:07:50.05セレクトセル:複数セルに有効な処理の対象となるセル
0747デフォルトの名無しさん
2012/06/19(火) 09:57:26.89シート1でボタンを配置してシート2のA10:D20範囲にあるオートシェイプを消したいのですが
↓のコードだと一度シート2をselectしてアクティブシートにしなければエラーになってしまいます
画面が切り替わらず(selectせず)にシート1からシート2のA10:D20範囲にあるオートシェイプを消すコードを教えてもらえないでしょうか?
Dim MyShape As Shape
Sheets("sheet2").Select
For Each MyShape In Sheets("sheet2").Shapes
If Not Intersect(Range("A10:D20"), MyShape.TopLeftCell) Is Nothing And _
Not Intersect(Range("A10:D20"), MyShape.BottomRightCell) Is Nothing Then
MyShape.Delete
End If
Next
0748デフォルトの名無しさん
2012/06/19(火) 11:18:02.89見た目上の切り替えを見えなくするってことなら可能
Sheets(2).Select
の前に
Application.ScreenUpdating = False
を入れて
Next
の後に
Sheets(1).Select
Application.ScreenUpdating = True
を入れると、
画面上は切り替わらない。(実際には切り替わってるけど画面の描画はされない)
0749748
2012/06/19(火) 11:21:25.54Sheets(2).Select
じゃなくて
Sheets("sheet2").Select
だったね
Sheets(1).Select
も同様に読み替えてください
0750デフォルトの名無しさん
2012/06/19(火) 11:46:08.91シートをSelectしなくても動いたよ?
Dim MyShape As Shape
For Each MyShape In Worksheets("sheet2").Shapes
If Not Intersect(Worksheets("sheet2").Range("A10:D20"), MyShape.TopLeftCell) Is Nothing And _
Not Intersect(Worksheets("sheet2").Range("A10:D20"), MyShape.BottomRightCell) Is Nothing Then
MyShape.Delete
End If
Next
0751デフォルトの名無しさん
2012/06/19(火) 15:20:50.460752747
2012/06/19(火) 15:26:43.75それはあなたがもともとシート2をアクティブにした状態でマクロを動かしてるからでしょ。
0753デフォルトの名無しさん
2012/06/19(火) 15:55:11.12誰だよお前w
0754デフォルトの名無しさん
2012/06/19(火) 16:03:29.74ド素人は黙っとけ
0755747
2012/06/19(火) 16:25:23.00オレのものはオレのもの。
キミのものもオレのもの。
ノモのものはノモのもの。
0756747
2012/06/19(火) 16:50:03.62誰だよお前
関係ないと思って書いてませんでしたがすみません
通常シート2は非表示にさせておりこのマクロを実行すると表示されるようにしていますので全文はこうなります↓
Dim MyShape As Shape
Worksheets(sheet2).Visible = True
For Each MyShape In Sheets(sheet2).Shapes
If Not Intersect(Range(A10:D20), MyShape.TopLeftCell) Is Nothing And _
Not Intersect(Range(A10:D20), MyShape.BottomRightCell) Is Nothing Then
MyShape.Delete
End If
Next
このコードでシート2が非表示の時に実行すると「Intersect'メソッドは失敗しました'_Global'オブジェクト」とエラーメッセージがでます
>>750さんの言うみたいに通常通り最初からシート2が表示されてる時はエラーメッセージが出ないことに気付きませんでした
0757デフォルトの名無しさん
2012/06/19(火) 17:16:25.65マジレスすると>>750のコードはSheet2を非表示にしたまま問題なく動くよ
0758デフォルトの名無しさん
2012/06/19(火) 17:22:26.68マジでお前うざいわ
もうExcel使うな
0760デフォルトの名無しさん
2012/06/19(火) 17:23:47.070762デフォルトの名無しさん
2012/06/19(火) 17:25:47.680764デフォルトの名無しさん
2012/06/19(火) 17:51:47.350765デフォルトの名無しさん
2012/06/19(火) 18:19:54.08スレ違いな質問です
自治スレ、もしくは運営関係の板で聞いてください
0766デフォルトの名無しさん
2012/06/19(火) 18:21:10.160767デフォルトの名無しさん
2012/06/19(火) 18:26:02.990768デフォルトの名無しさん
2012/06/19(火) 18:28:34.160769デフォルトの名無しさん
2012/06/19(火) 19:21:49.38自演出来なくなるわけじゃないじゃん
0770デフォルトの名無しさん
2012/06/20(水) 07:55:20.69最近の2chは特にひどい
0771デフォルトの名無しさん
2012/06/20(水) 13:44:15.470772デフォルトの名無しさん
2012/06/20(水) 13:56:47.68そうか?
2ch創設から見てきているが、どんどんマシになっていく一方に見えるけど
0773デフォルトの名無しさん
2012/06/20(水) 17:16:13.47殺されている。
日頃従順に人間に従っていた温和な牛たちも、順番を待って並ばされている時に
そこではじめて自分の運命に気付くのだろう、日頃聞かないような悲痛な甲高い
鳴き声を絶えず出し続けている。俺は今でもその鳴き声が耳を離れない。
人間は斯くも残酷な行為を毎日何千、何万という動物達に行っているのだ。
せめてその肉を頂く時には少しぐらい感謝の気持ちをもってもいいだろう。
【屠殺場の怖さは異常】
ttp://2.ldblog.jp/archives/1058482.html
0774デフォルトの名無しさん
2012/06/20(水) 17:59:57.10重金属や火薬なんかくわせんじゃねえよ
0775デフォルトの名無しさん
2012/06/21(木) 01:34:23.03それともEmpty?
0776デフォルトの名無しさん
2012/06/21(木) 01:47:49.350777デフォルトの名無しさん
2012/06/21(木) 01:57:29.44どうやって確かめたらいいんですか?
0778デフォルトの名無しさん
2012/06/21(木) 02:41:47.19VarType使えば、EmptyはvbEmptyが返り、vbNullStringはvbStringが返る
0779デフォルトの名無しさん
2012/06/21(木) 08:02:13.64ただvbNullStringじゃなく長さ0の文字列の""ということも考えられるから、そのときはStrPtrを使って調べればよい。
MsgBox StrPtr(TextBox1.Text)などとすれば"0"が返るから""じゃなくvbNullStringということになる。
ちなみにTextBoxにEmptyを代入しても""を代入しても中身はvbNullStringとなる。
TextBoxをクリアーするときは厳密にはvbNullStringをいれるのがベスト。
0780775
2012/06/21(木) 09:47:11.630781デフォルトの名無しさん
2012/06/21(木) 09:51:11.59775ってどういうこと?
0782デフォルトの名無しさん
2012/06/21(木) 09:53:01.670783デフォルトの名無しさん
2012/06/21(木) 22:01:51.25IEobjectの操作をしてクリック証券の発注を自動化しようと思っています
株価の入力や株数の入力は ソース内の株価の近くにある
<div class="torihiki_area"><input type="text" name="jyuchuuSuuryo" maxlength="11" size="14" tabindex="8" value="" id="jyuchuuSuuryo" class="torihiki"> 株 </div>
のid jyuchuuSuuryoに対して
bjIE.Document.forms(1).Item("jyuchuuSuuryo").Value = VOLUME '株数
のようにすればよかったのですが
注文確定をクリックしたい場合 注文確定の文字列はソース内には無く
<span id="orderButtonBlock" class="button_area_section">
<input type="image" name="" src="https://kabu.click-sec.com/sec1-6/images/orderpanel_3/order.gif" tabindex="19" id="orderButton">
</span>
近くに画像のリンクがあり
objIE.Document.forms(1).Item(”orderButton").Click
clickやcheckedをやってみたのですがエラーがかえってきてしまい躓いてしまいました
type=imageのクリックを実行する方法を教えていただけないでしょうか
submitで強引に注文できるかなと思ったのですが上の方に銘柄コード検索がありそちらの検索結果を実行してしまいました
0784デフォルトの名無しさん
2012/06/21(木) 22:27:15.80その質問は一切Excel関係ないよ
0785デフォルトの名無しさん
2012/06/21(木) 22:36:17.79そうなんですか
エクセルで実行しているので
EXCEL VBAでいいのかと思ってしまいました
申し訳ありません
0786デフォルトの名無しさん
2012/06/21(木) 22:55:48.81ググる時の検索キーワードから「Excel」を外した方がいいと思うよ
例えば「ie 自動化 画像 クリック」とか
0787デフォルトの名無しさん
2012/06/22(金) 04:38:56.27Excelでやっているとしても、それはExcelのVBAに汎用開発環境としての機能があるからVBAでも実現可能ってだけで
Excel固有の機能を必要としている訳じゃない限り、それはExcelVBAの質問ではなくスレ違い
0788デフォルトの名無しさん
2012/06/22(金) 04:42:43.20そのページをよく観察して、tabキーで目的の場所に移動できるかどうかを調べて見ませう
0789デフォルトの名無しさん
2012/06/22(金) 07:29:57.00但し、VBA無しでも出来ることだが、あえてVBAでやりたいって物に関してはOK。
あえてVBAでやりたいって物に関してはOK。
0790デフォルトの名無しさん
2012/06/22(金) 07:39:51.46VBA無しでExcelの機能で出来る条件付き書式や入力規則でも
柔軟性や拡張性からあえてVBAでやりたいというような場合はOKって話であって
Excelに関係ないものを許容するって話じゃないぞ
0791デフォルトの名無しさん
2012/06/22(金) 08:47:16.20破産フラグ確定
0792デフォルトの名無しさん
2012/06/22(金) 10:29:03.25ありがとうございます
目的のものが見つかりそうです
>>787
大変申し訳ないです
>>791
ご発注二関しては朝の寄付の注文をするだけなので
注文履歴の確認は目視で行っています
理論的には
ここ5年間手入力でやってきまて問題なく利益を出していたのですが
年齢が上がってきたせいか1日40銘柄の注文をぽちぽちキーボードとマウス操作するのがめんどくさくて、、、、、
0793デフォルトの名無しさん
2012/06/22(金) 11:26:59.75obj.BuiltinDocumentProperties('Author').Value = "hoge"
obj.Save()
obj.Close()
エクセルのファイルの場合、これで作成者は換わるのですが、
ワードのファイルの場合、
obj = GetObject("fuga.doc")
と変えても作成者が書き換わらないです。
どうしたらワードの方も換えられますか?
0794デフォルトの名無しさん
2012/06/22(金) 11:43:04.82obj.BuiltinDocumentProperties('Author').Value = "hoge"
を付け加えたまえ。
0795デフォルトの名無しさん
2012/06/22(金) 13:03:13.530796デフォルトの名無しさん
2012/06/23(土) 11:25:51.840797デフォルトの名無しさん
2012/06/23(土) 11:35:30.89フォームにマルチページを配置して、その中にフレームやボタンを配置しています。
さらにそのマルチページの下(外)にOKとキャンセルみたいなボタンを配置しています。
このときにタブを押していくと、マルチページ内のボタン>マルチページのタブの部分(Page1みたいなとこ)
>マルチページの外のボタン(OKとキャンセル)>マルチページ内のボタン>繰り返し
というようなタブオーダーになるんですが、このときにタブ部分に行かずに、
マルチページ内のボタン>マルチページの外のボタン>マルチページ内のボタン
というようなタブオーダーにしたいとおもっているんですが、現在はマルチページのタブのCycleを2にして
マルチページ内のボタンの最後のボタンでタブが押されたら、マルチページの外のボタンにフォーカスを
移動するようにしています。
ただ、個人的にこのやり方が正しいとは思えなくて、もっと普通のやり方があるような気がするんですが
どうかそのあたりを教えていただけないでしょうか。
よろしくお願いします。
0798デフォルトの名無しさん
2012/06/23(土) 17:41:53.22こんなのはどうかな
Private Sub マルチページ内のボタン_KeyDown(ByVal KeyCode As ****)
KeyCodeがTABならマルチページの外のボタン.SetFocus
0799デフォルトの名無しさん
2012/06/23(土) 17:55:27.56あんまり、良さを感じないんだけど。
0800デフォルトの名無しさん
2012/06/23(土) 19:22:41.38レスありがとうございます。
分かりにくくてすみません。
今はそういう風にしています。
0801デフォルトの名無しさん
2012/06/23(土) 19:37:04.23マルチページはそんな風に設計されてないっぽい
普通じゃない使いかたに「普通の方法」なんてないな
0802デフォルトの名無しさん
2012/06/23(土) 21:30:39.26中途半端だからねぇ。
よく知らないなら、今からわざわざ覚えるようなものではないと思うよ。
0803デフォルトの名無しさん
2012/06/23(土) 23:16:28.11レスありがとうございます。
たしかにおっしゃるとおり、マルチページの設計に沿っていない使い方でした。その点を理解しました。
そこで質問の内容を変えさせてください。
タブオーダーの順番を、マルチページ内のボタンを巡った後に、マルチページの外のボタン、
その後にマルチページのタブ、そしてマルチページ内のボタン、外のボタンという風に
コントロールすることは可能でしょうか。
現在は、マルチページ内のボタン>タブ>外のボタンという順番で移動してしまいます。
どうかよろしくお願いします。
0804デフォルトの名無しさん
2012/06/23(土) 23:17:47.02指定したメールアドレスに開いた人のIPアドレスとかを
送信するようなプログラムって作れるのですかね?
ちょっとわけありで、こんなのができるといいんですが…
0805デフォルトの名無しさん
2012/06/23(土) 23:37:56.02メール送信マクロが組み込まれたExcelファイルを開いたタイミングでメールを送信したいのか
常駐してファイルオープンを常に監視していてExcelファイルが開かれたタイミングでメールを送信したいのか
前者ならマクロを作るのは簡単だけど確実にマクロを実行させる手段がない
後者ならExcelVBAで作るべきものじゃない
0806デフォルトの名無しさん
2012/06/24(日) 00:06:22.55技術的には可能だけど
同意なしならめっちゃマルウェアやん
犯罪に加担しろと?
アンチウイルスソフトにブロックされてしまえ
0807デフォルトの名無しさん
2012/06/24(日) 00:46:14.54単に馬鹿な回答者がいればそれでいい。
0808デフォルトの名無しさん
2012/06/24(日) 02:51:59.24質問「作れるか?」
回答「作れる」
0809デフォルトの名無しさん
2012/06/24(日) 02:56:03.50ネットに接続されてなかった場合、外に出られなかった場合とかやり始めるときりがない
ログを保存しといて、ネットに接続されたらまとめて送信とかやりたいならVBA以外でやった方がいい
0810デフォルトの名無しさん
2012/06/24(日) 05:38:17.48それだけならVBSかバッチでも使ってろ
会社のPC全台調査しなくちゃいけなくなったとき、ファイル作って配布したなあ
0811デフォルトの名無しさん
2012/06/24(日) 06:52:50.55やっぱりそうですか!レスありがとう。
まあ、たまにはクラスの1つも作ってみます。
0812デフォルトの名無しさん
2012/06/24(日) 09:03:01.68データクラスにたいしてJavaでいうインターフェースで
メソッド実装を強制する使い方とかロジックの隠蔽とかもするけど
実はVB系だと↓のコントロールに共通処理させるのが多いと思う
http://www.excellenceweb.net/vba/class/text_filter.html
0813デフォルトの名無しさん
2012/06/24(日) 12:52:51.19疑問は
1、webから取り込んだ馬やレースなどにコメントなどつけて編集して、それを出力保存して、セル内に同じ馬名や日付とレース番号を入れたら、それを読込事みたいなことができるか?
2、例えばA1:J5の計50のセル内に色々な数値を表示しているが、ボタン一つでセルを結合して一つの表示を見せる。またボタンを押すと50の表示に戻るなんてことができるのか?
Excel VBAで上のような2つのような操作ができるのかアドバイスください
0814デフォルトの名無しさん
2012/06/24(日) 12:55:56.13できるよ
0815デフォルトの名無しさん
2012/06/24(日) 12:56:36.830816デフォルトの名無しさん
2012/06/24(日) 13:01:22.19うん。出来る。
どこのサイトから引っ張るのか知らないけど、まあ、素直に組んであれば、
どのタグで引っ張るか、多少悩めば桶。
何をアドバイスすれば、いいの?コード全部は、カンベン。
0817デフォルトの名無しさん
2012/06/24(日) 13:08:00.46出来るのね。ありがと
>>816
webクリエを駆使してwebから読み込むのは出来ている。
2の方法が悩み中。例えばこの画像の上のA1:F3には、Sheet2のA1:F3を表示しているとする。
んで、切り替えボタンを押すと、セルの結合してSheet2のA5を表示する。
んで、またボタンを押すと最初の表示に戻る。というのがやりたい場合はどうすればいいのか
http://iup.2ch-library.com/i/i0670448-1340510590.png
0818デフォルトの名無しさん
2012/06/24(日) 13:14:21.04セルの結合も解除もVBAで1行で書ける
あとは結合や解除するたびにデータをいちいちコピーするだけ
0819デフォルトの名無しさん
2012/06/24(日) 13:22:55.56競馬の出馬表で上の画像みたいなのが18列あるから、セル結合解除後のコピーもVBAでしたい
要するに、上をA、下をBとすると、Aを表示するAボタン、Bを表示するBボタンの二つを用意しないといけないってことかな?
0820デフォルトの名無しさん
2012/06/24(日) 13:31:08.76単に馬鹿な回答者がいればそれでいい。
0821デフォルトの名無しさん
2012/06/24(日) 13:34:13.35表の1〜8の行には各セルに色々なデーターを読み込ませてあるが、
ボタン一つでセルを結合して違う表示をさせる。んでまたボタンを押すと最初の各データの表示に戻る。
そういうのがやりたいんだ。VBAなら出来るかなと思って
http://iup.2ch-library.com/i/i0670464-1340512301.png
0822デフォルトの名無しさん
2012/06/24(日) 14:06:41.570823デフォルトの名無しさん
2012/06/24(日) 14:20:11.26「マクロの記録」でセルの結合や解除してコード吐き出させてみたら?
競馬のソフトって育成ゲームか?
0824デフォルトの名無しさん
2012/06/24(日) 16:50:54.89んやw予想ソフトw
0825デフォルトの名無しさん
2012/06/24(日) 17:23:44.56結合するくらいならシート単位で分割して、二画面表示にすればいいと思うが
0826デフォルトの名無しさん
2012/06/24(日) 17:49:02.90ナンチッテ
0827デフォルトの名無しさん
2012/06/24(日) 17:57:35.86プログラムの間違いと予想の外れの見分けはつくんだろうか
質問のレベルからちょっと思ったりした
0828デフォルトの名無しさん
2012/06/24(日) 23:46:47.61「これ出来ないとお金払いませんよ、
あなたの生活がどうなろうと私には関係有りませんし。」
と言うとみんなちゃんと新しい技術をマスターしてくる。
努力しないってっことは努力する必要が無いからなんだと思う。
追い詰められていないんだろうね。
幸せなんじゃないか?
どうでもいいけど。
0829デフォルトの名無しさん
2012/06/25(月) 00:05:16.06その内いいことがあるさ
負けずに頑張れよ
0830デフォルトの名無しさん
2012/06/25(月) 00:07:07.23若手や中堅がイノベーションを生み出す新しいアイデアを出す時
立ちはだかるのがジジイどもの支配する「会議」という壁だ
・ジジイどもに理解できる企画でなくてはならない
・ジジイどもの好みに合う企画でなければならない
・既に成功した事例がなくてはならない
・ジジイどもに気に入られている人物が提案者でなくてはならない
・ジジイどもに気に入れられていない人物が関わっていてはならない
・ジジイどもの支援が不要な企画でなくてはならない
・にもかかわらずジジイどもにも活躍の場を与えねばならない
・ジジイどもの気まぐれな口出しにいつでも応じなければならない
・失敗してもジジイどもが責任をとらなくてよい企画でなくてはならない
・成功したらジジイどもの業績になる企画でなくてはならない
若い頃は前世代のおかげで繁栄したくせに、自分らの時代には経済を衰退させ
そのツケを後世代に回す団塊ジジイ、バブルジジイどもが日本の病巣
0831デフォルトの名無しさん
2012/06/25(月) 16:32:43.67実行させた時に保存するのに
ActiveWorkbook.SaveAs Filename:="D:\仕切書PG\\kanriヘッダ挿入後ファイル.xls", FileFormat:=xlNormal
とした時にファイル名が"02B90000"とか"73D4B100"とかになり"kanriヘッダ挿入後ファイル"と保存出来ない場合があるのは何故でしょう。
ググってみたんですが出てこないので申し訳ありませんが教えて頂けませんか?
0832デフォルトの名無しさん
2012/06/25(月) 16:38:57.18ググったらこんなん出てきたけど関係ないかな?
http://esupport.trendmicro.co.jp/Pages/JP-2064267.aspx
あと、「\\」は「\」が正しいのでは?
0833デフォルトの名無しさん
2012/06/25(月) 16:52:20.44サーバー上とかネットワークドライブに対してやってると
Tempフォルダとか権限周りでそんなことがあったな
0834デフォルトの名無しさん
2012/06/25(月) 16:52:40.98\\ではなく\です。ごめんなさい。
出力されたファイルは不明なファイルの種類って出てまして、開くと一応内部は変わらず開けます。
駆除ソフトはウイルスバスターでは無かったです。
0835デフォルトの名無しさん
2012/06/25(月) 16:55:46.39ネットワークではなく個人のpcのみでDドライブ上のフォルダに保存させてます。
0836デフォルトの名無しさん
2012/06/25(月) 17:13:20.35excelのシートに貼り付けてあるpictureを、bmp形式の独立ファイルとして生成する方法が知りたいです
importメソッドはpictureオブジェクトには使えないし、dotNetのbitmapオブジェクトを使うのが楽かなあって思うんですが
いいアイデアありますか?
0837デフォルトの名無しさん
2012/06/25(月) 18:13:27.440838デフォルトの名無しさん
2012/06/25(月) 19:24:27.14想像できんな・・・
0839デフォルトの名無しさん
2012/06/25(月) 19:41:26.680840デフォルトの名無しさん
2012/06/25(月) 19:42:47.35Web形式で保存すれば画像データになるよ。
目的の物かは知らんけど一括で取り出したいだけなら便利
0841デフォルトの名無しさん
2012/06/25(月) 19:44:36.890842デフォルトの名無しさん
2012/06/25(月) 20:00:43.240843デフォルトの名無しさん
2012/06/25(月) 21:02:04.850844デフォルトの名無しさん
2012/06/26(火) 01:53:46.51VBAでスペース入力すると勝手に消去されてしまうor全角文字入力すると勝手に確定されてしまう。
原因:Visual studio 2012インスコして追加されるCOMアドインの「Visual Studio Tools for Office Design-Time Adaptor for Excel」
対処:上記のアドインを削除
すでにあったらごめんなさい
0845デフォルトの名無しさん
2012/06/26(火) 22:10:42.87サザエさん 全4巻
アンパンマン 全5巻
作品数が1000ぐらいあって処理に困っています。
上を下記のようにしたいのですが、どうすればいいですか?
よろしくおねがいします。
作品名 全巻数 巻数
サザエさん 全4巻 第1巻
サザエさん 全4巻 第2巻
サザエさん 全4巻 第3巻
サザエさん 全4巻 第4巻
アンパンマン 全5巻 第1巻
アンパンマン 全5巻 第2巻
アンパンマン 全5巻 第3巻
アンパンマン 全5巻 第4巻
アンパンマン 全5巻 第5巻
0846デフォルトの名無しさん
2012/06/26(火) 22:13:01.140847デフォルトの名無しさん
2012/06/26(火) 22:24:31.89ループ回すだけじゃないの?
具体的に何がわからないの?
0848デフォルトの名無しさん
2012/06/26(火) 22:25:53.67for文って知ってる?
VBAは使える?
0849デフォルトの名無しさん
2012/06/26(火) 22:43:57.68俺も何が解らないのかが解らない
まさか丸投げでコード書いてくれとか言わないよな?
まあその場合は>>1★5だが
0850845
2012/06/26(火) 23:39:51.270851デフォルトの名無しさん
2012/06/28(木) 09:49:45.560852デフォルトの名無しさん
2012/06/28(木) 16:47:49.640853デフォルトの名無しさん
2012/06/28(木) 17:37:37.850854デフォルトの名無しさん
2012/06/28(木) 19:27:08.73馬鹿の一つ覚えでスレ違いスレ違い言うから
スレの勢いもとまるし雰囲気も悪くなるってことでしょ
0855デフォルトの名無しさん
2012/06/28(木) 20:26:52.48スレ違いな質問するお馬鹿さんの自己厨な言い分でしょ
でも、社会に出ればわかると思うが、世の中それではまかり通らない
0856デフォルトの名無しさん
2012/06/28(木) 22:14:23.55続くだけだよ。VBAの質問に回答できるレベルの奴なら、
スレ違い質問に回答することの弊害くらい解ってるから、
スレ違い指摘が無くなったからと言って、スレ違いな質問に
回答が付くようになるわけではない。
0857デフォルトの名無しさん
2012/06/28(木) 22:29:06.77ちょうどつい最近もExcel総合質問スレでおかしな馬鹿が粘着して暴れたところだが、
ああいう連中は何言っても無駄だから結局スルーが一番ってことだと思う。
0858デフォルトの名無しさん
2012/06/29(金) 00:14:59.12ワークシート上に配置したチェックボックスの内容をOLEObjectプロパティで取得して集計するというマクロを組んだのですが、
チェックボックスの数が1200個を越えたところでオートメーションエラーが発生しマクロが動作しなくなりました。
チェックボックスの追加自体は可能なのですが、それらをVBAで操作することができません。
ワークシート上のコントロールの数には上限があるのでしょうか?
また、回避する手段はありますか?
0859デフォルトの名無しさん
2012/06/29(金) 00:26:34.49仕様に関することはMSに問い合わせないとわかんないと思うよ
他の人に試してもらいたいんだったらせめてブックをアップしないと
0860デフォルトの名無しさん
2012/06/29(金) 00:57:10.74わからんけど、分割してみたら?
0861デフォルトの名無しさん
2012/06/29(金) 00:57:38.36ファイルは会社なのでアップは出来ないです。
コントロールを1000個以上配置するような状況は見たことが無かったのでさすがに無理ですかね
やはり仕様ですか・・・
何か別の手段を考えてみます。
レスどうもでした。
0863デフォルトの名無しさん
2012/06/29(金) 02:46:39.852003で確認してみたけど、1208個以上になるとエラーになるね
でも他の人の指摘通り、別シートにすればまた1200個は作れるから
分散すればどうにでもなる
どうしても分散したくないなら、おそらく行単位でチェックボックス作ってるとかだろうから
Aに列挿入して、A列の書式を「"☑";;"□"」にして
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub
ActiveCell.Value = IIf(ActiveCell.Value = 0, 1, 0)
ActiveCell.Offset(, 1).Activate
End Sub
なんてコードを入れてやると、擬似的なチェックボックスみたいになる
仕様としては、A列に1(というか正数)が入力されると「☑」が表示され
0だと「□」、その「1 <-> 0」「☑ <-> □」をセルをクリックする度に上記マクロが
切り替えてくれる
あとは
For i = 1 To 5000
If Cells(i, 1).Value <> 0 Then '・・・・・
Next i
って感じで、チェック入ってる行の取得や操作ができる
0864デフォルトの名無しさん
2012/06/29(金) 18:13:53.18良く見ると「スレ違い」って言ってる奴は一人も居ない
その心は、皆単に「>>1嫁」って言ってるだけなんだよ
>>1にスレの趣旨とスレ違いの定義が書かれており、
それを読んでない奴に当然の指摘をしているだけで
個人の尺度で勝手にスレ違いを定義してスレ違いだ
なんだと言ってる奴は見あたらない
ついでに言うと、その当然の指摘がなされたことによって
勢いや雰囲気が害された感は全く無いね
見なよ、スレ違いじゃない質問への迅速で真摯な対応
0865デフォルトの名無しさん
2012/06/29(金) 22:12:13.820866デフォルトの名無しさん
2012/06/30(土) 06:50:06.870867デフォルトの名無しさん
2012/07/01(日) 04:29:13.72どんな嫌がらせだ
0868デフォルトの名無しさん
2012/07/01(日) 11:32:20.19誤動作で勝手にクリックされたことになってチェックされたり外れたりするよね
ヒューマンインターフェースとしては最悪な部類だと思う
0869デフォルトの名無しさん
2012/07/01(日) 11:43:58.14て言うか、そんな誤動作見たことないが。
0870デフォルトの名無しさん
2012/07/01(日) 12:18:46.570871デフォルトの名無しさん
2012/07/02(月) 15:04:09.91本当のチェックボックスじゃなくて、セルに>>863みたいなチェックマークのユニコード文字を文字列として入れとけば?
>>867
一度に1000個まとめてチェックするんじゃなくて、随時追加、変更なら有り得る
0872デフォルトの名無しさん
2012/07/02(月) 16:27:35.7150*30=1,500個必要だけどそれは無理だということか。
0873デフォルトの名無しさん
2012/07/02(月) 16:38:43.760874デフォルトの名無しさん
2012/07/02(月) 16:43:37.66何でも出来すぎる故に本質とは違う用途にも多々使われるが
本質とは違う用途での脆弱性を責めても仕方あるまい
0875デフォルトの名無しさん
2012/07/02(月) 17:22:23.240876デフォルトの名無しさん
2012/07/03(火) 02:40:06.88手の震えたおじさんがそんな誤操作してたな。
0877デフォルトの名無しさん
2012/07/03(火) 16:26:55.93リクエストされたアイテムが見つかりませんでした。『HTTP/1.0 404』
になって、デバッグ画面になるけど、これを回避する方法ない?
例えば間違った値を入力しても、メッセージBOXで「入力された値は存在しません」と出て、
正確なURL値を入力し直したら、しっかり取り込んでくれるようにしたいんだけど。
0878デフォルトの名無しさん
2012/07/03(火) 16:37:13.620879デフォルトの名無しさん
2012/07/03(火) 16:38:21.46Dim i As Integer
Range(H17).Activate
If ActiveCell.Value = "非" Then
ActiveCell.Offset(2, 0).Activate
ElseIf ActiveCell.Value = 0 Then
Range("B53").Activate
Range("B53").Value = i
Exit Sub
Else
ActiveCell.Offset(1, 0).Activate
i = i + ActiveCell.Value
ActiveCell.Offset(1, 0).Activate
End If
End Sub
このマクロを実行したら、赤丸に白い×で400という数字の出るエラーになります。
なぜなんでしょうか。
0880デフォルトの名無しさん
2012/07/03(火) 16:45:39.10ただのダブルコーテーション抜けでした。
これ、デバックに反応しないから皆様方も要注意ですよ。
0881デフォルトの名無しさん
2012/07/03(火) 16:51:15.45自分で書くならActivateする必要なんて全然無いよ。
0882デフォルトの名無しさん
2012/07/03(火) 16:51:32.56直す気はありませんのであしからず
0883デフォルトの名無しさん
2012/07/03(火) 16:54:14.38On Error ステートメント
0884デフォルトの名無しさん
2012/07/03(火) 17:02:50.79kwsk
0885デフォルトの名無しさん
2012/07/03(火) 17:29:51.93On Error ステートメントの何がわからないのかがわからない
0886デフォルトの名無しさん
2012/07/03(火) 17:36:48.73えwぐぐってみたけど、それらしいものだったよw
でも>>877の問題を解決するにはどう使ったらいいのかわからないw
0887デフォルトの名無しさん
2012/07/03(火) 17:37:54.59しかし、selectだけだとセルのvalueが計算されないと聞きました。
0888デフォルトの名無しさん
2012/07/03(火) 17:53:07.38頑張ってねお爺ちゃん
0889デフォルトの名無しさん
2012/07/03(火) 21:51:15.40計算するのに何故selectするの?
0890デフォルトの名無しさん
2012/07/03(火) 21:52:14.490891デフォルトの名無しさん
2012/07/03(火) 22:39:08.650892デフォルトの名無しさん
2012/07/03(火) 23:16:06.050893デフォルトの名無しさん
2012/07/03(火) 23:20:10.54それぞれモテ度の変数があって、
ランダムに動いて♂と♀のモテ度が大きいほどくっついて
部屋(罫線で囲った部分)に入ってセックスしてるけど
モテ度が低い人はうろうろしてても異性とくっつくことができずまたうろうろする
というマクロを誰か作ってくれませんか?
見てて面白そうだから。
0894デフォルトの名無しさん
2012/07/03(火) 23:24:54.58モテ度はランダム?
0895デフォルトの名無しさん
2012/07/03(火) 23:33:09.05そりゃそうだ。
人がたくさんいるんだから。
0896デフォルトの名無しさん
2012/07/03(火) 23:35:55.7520人ぐらいならキャラ登録のフォーマットを作って(名前、年齢、性格、趣味など)できるかなって思ってね
0897デフォルトの名無しさん
2012/07/04(水) 03:17:51.350898デフォルトの名無しさん
2012/07/04(水) 07:02:41.660899デフォルトの名無しさん
2012/07/04(水) 10:43:08.40Classでキャラデータ(性、座標、モテ度)作って、
それをランダムで作ってコレクションに入れ
ここから再帰関数で、
座標(上下左右)のランダム移動、描写変更
移動先上下左右の相手判定、条件一致でセックル
セックル終って元の位置に戻しては、また同組み合わせで
セックル始めるのでランダムな位置に戻す
まで作ってみたけど、♂、♀の表示だけだと
結局ヤリまくってる奴と、童貞でうろうろしてる奴の
区別が出来ないから見ていて面白くない
単に♂と♀のマークがうにょうにょ動いて、偶にセックルして
戻ってくるだけで、戻ってきて数秒したら、もうどいつが
さっきセックルしてた奴か解らない
表示をセル文字ではなくオートシェイプにして
性:(モテ度)
セックル回数
とかにして、セックルから数ターンは赤や青に色を変えて段々薄くしていくとか
逆にセックルしないターンが重なると、20ターン毎にグレーが濃くなるとかすれば
面白いかも知れないが、もう飽きた
0900デフォルトの名無しさん
2012/07/04(水) 17:37:22.41実現できないんでしょうか。
Sub トータル()
Dim i As Integer
Dim j As Integer
Range("H17").Activate
i = 0
j = 0
Do While j < 16
If ActiveCell.Value = "税" Then
ActiveCell.Offset(2, 0).Activate
Else
ActiveCell.Offset(1, 0).Activate
i = i + Val(ActiveCell.Value)
ActiveCell.Offset(1, 0).Activate
End If
j = j + 1
Loop
Range("H53").Activate
i = i * 0.05
Range("H53").Value = i
End Sub
0901デフォルトの名無しさん
2012/07/04(水) 17:52:56.20Activecellではなく、Range(i).valueにして、この場合のiに次々と新しいセルを代入するようにすれば、
といったところでしょうか。
0902デフォルトの名無しさん
2012/07/04(水) 18:07:11.35コードではなく日本語で説明しようよ
特に君は、まだコードだけで要求仕様を正しく伝えられるレベルにはないんだからさ
不適切なコード晒しても、正しい要望は伝わらないぞ
0903デフォルトの名無しさん
2012/07/04(水) 18:35:43.79問題なく実現できるよ
0904デフォルトの名無しさん
2012/07/04(水) 19:44:21.740905デフォルトの名無しさん
2012/07/04(水) 21:40:47.21煽るだけならお前も同類だよ
0906デフォルトの名無しさん
2012/07/04(水) 22:21:14.490907デフォルトの名無しさん
2012/07/04(水) 22:33:35.35関数は、いくつかの値を与えて、なんらかの値を返すもの
引数で与えてないセル情報を関数自ら取得しにいったり、値を返す以外のシート操作するとかは
本来「関数」としてあってはいけないこと
0908デフォルトの名無しさん
2012/07/04(水) 23:13:10.85Sub test()
Call total
End Sub
Function total()
Dim i As Integer
Dim j As Integer
i = 0
j = 0
Do While j < 16
If Sheet1.Cells(17 + j, 8).Value <> "税" Then
i = i + Val(Sheet1.Cells(17 + j + 1, 8).Value)
End If
j = j + 2
Loop
Sheet1.Cells(53, 8).Value = i * 0.05
End Function
これでおk?
0909デフォルトの名無しさん
2012/07/05(木) 12:20:18.92しかもSheet1.Cells(53, 8).Value = i * 0.05 て・・・
total = i * 0.05 の間違いだろ。
Subから呼び出さなきゃ動かないんでは関数じゃないし。
ウソマクロで初心者を騙すなよw
0910デフォルトの名無しさん
2012/07/05(木) 13:58:58.93何言ってんの???
0911デフォルトの名無しさん
2012/07/05(木) 14:41:39.590912デフォルトの名無しさん
2012/07/05(木) 23:53:02.86列数が変化する表で全列を対象にする重複行削除がしたいです。
ヘルプを読むとRemoveDuplicatesをパラメータなしで
実行すれば可能と読めたのですが実行しても変化なしでした。
Range(範囲).RemoveDuplicates
パラメータなしの方法か、Columnsパラメータに渡すArrayを
動的に変化させる方法はないでしょうか。
0913デフォルトの名無しさん
2012/07/06(金) 00:16:12.490914デフォルトの名無しさん
2012/07/06(金) 05:46:22.100915デフォルトの名無しさん
2012/07/06(金) 07:52:14.59大事なことみたいだから、もう2〜3回書いとけば?
0916デフォルトの名無しさん
2012/07/06(金) 09:16:43.150917デフォルトの名無しさん
2012/07/06(金) 09:19:38.79わたくしは、関数と全く同じに使えるユーザ定義関数が作りたいのです。
具体的には、マクロを実行しなくても自動的に税込合計が出る伝票を作りたいのです。
あれからいろいろ試しましたし、あなたのそれも試しましたが、そういうふうにはいきませんでした。
0918デフォルトの名無しさん
2012/07/06(金) 09:55:52.550919デフォルトの名無しさん
2012/07/06(金) 10:11:02.01普通に該当エリアのcolmun渡せばいいんじゃないか、適当だけど
0920デフォルトの名無しさん
2012/07/06(金) 10:29:10.24対象rangeしてから重複削除すんだから、そのメソッド内のパラメーターだけ変化させてどうすんだ
range範囲の方を動かせよと
あとこれ、2010以降もメソッド実装されてんの?
0921912
2012/07/06(金) 11:52:13.03A2からC10にデータを入れて↓を実行しても変化がありません。
ActiveSheet.Range("A2:C10").RemoveDuplicates パラメータなし
パラメータを指定する場合↓を渡せば動作するのですが
このArrayを動的に変化させる方法がわかりません。
Columns:=Array(1, 2, 3)
↓のようにパラメータを指定すると「プロシージャの呼出または引数が不正です」と出ます。
Dim V As Variant
V = Array(1, 2, 3)
ActiveSheet.Range("A2:C10").RemoveDuplicates Columns:=V, Header:=xlNo
0922デフォルトの名無しさん
2012/07/06(金) 14:49:09.920923デフォルトの名無しさん
2012/07/06(金) 15:42:16.44Columns:=(V)
Columns:=はVariant配列。ReDimなどで動的配列処理可能。
0924912
2012/07/06(金) 16:11:20.81できました!
(V)とする必要があったのですね。
Vの中身は用意できるので解決できそうです。
ありがとうございました。
0925デフォルトの名無しさん
2012/07/06(金) 23:29:31.69マクロって、動的なもんですよ。関数は静的。
どのみち、数値を変えたときにはF5が必要になるんでは。
0926デフォルトの名無しさん
2012/07/07(土) 00:24:50.55入力されたテキストからQRコードを作って、
正方形に配置したセルを白黒に塗り分ければ良いと思うのですが、
具体的にどこから手をつければ良いのかわかりません。
0927デフォルトの名無しさん
2012/07/07(土) 00:33:00.30手間を考えたらOCX買った方が安いとおもうぞ
0928ggrks
2012/07/07(土) 00:37:21.700929デフォルトの名無しさん
2012/07/07(土) 00:38:45.52QRコードの仕様書を読むところから始めればいいと思うよ
そんなに難しいもんじゃないから
0930デフォルトの名無しさん
2012/07/07(土) 00:39:35.81これフリーみたい
http://www.psytec.co.jp/freesoft/
0931ggrks
2012/07/07(土) 00:42:14.220932デフォルトの名無しさん
2012/07/07(土) 00:43:15.16セルの背景色を黒にする方法なら、あまりに初歩的なので
「ググれ」と言いたいところながらスレ違いではないから教えるけど、
QRコードマップを作成するところまでは
>>1★3,★4に該当するスレ違いなので、自分で調べてね
因みにOCXではなくDLLならフリーのもあるぞ
参照設定ではなくDeclare宣言して使うやつね
0933デフォルトの名無しさん
2012/07/07(土) 00:45:35.940934デフォルトの名無しさん
2012/07/07(土) 00:47:03.07みなさんありがとうございました。
0935デフォルトの名無しさん
2012/07/07(土) 00:56:00.16http://www.swetake.com/qr/
0936デフォルトの名無しさん
2012/07/07(土) 00:57:52.03ttp://www.downpanda.com/barcode-sakusei-downloads.html
0937デフォルトの名無しさん
2012/07/07(土) 01:15:49.79http://q.hatena.ne.jp/1152782355
0938デフォルトの名無しさん
2012/07/07(土) 11:22:50.380939デフォルトの名無しさん
2012/07/07(土) 11:42:01.43ここは、ム板なんだし。
0940デフォルトの名無しさん
2012/07/07(土) 15:27:42.600941デフォルトの名無しさん
2012/07/07(土) 15:33:25.15> でもブックの保護は思っていたよりへぼい・・。
でしょ、そう言うところも結構重要だったりするから、自分でやることは大切だと思う。
やってみてわからなかったら、やったことと出た現象をちゃんと書いて質問するといいよ。
0942デフォルトの名無しさん
2012/07/07(土) 16:32:36.700943デフォルトの名無しさん
2012/07/07(土) 17:06:13.920944デフォルトの名無しさん
2012/07/07(土) 17:23:50.790945デフォルトの名無しさん
2012/07/07(土) 17:25:04.910946デフォルトの名無しさん
2012/07/07(土) 17:26:28.88新しいことを覚えることも多いし
0947デフォルトの名無しさん
2012/07/07(土) 17:30:33.75読みづらいものは糞だと思えば良いし
読み易いものは参考にすれば良いだけ
0948デフォルトの名無しさん
2012/07/07(土) 17:50:03.30俺?・・・・うん、腐ったコードはたくさん書いたなぁ・・・・・。
0949デフォルトの名無しさん
2012/07/07(土) 17:57:51.330950デフォルトの名無しさん
2012/07/07(土) 18:09:31.94自分で見るのもはばかられるのに。
0951デフォルトの名無しさん
2012/07/07(土) 18:11:28.600952デフォルトの名無しさん
2012/07/07(土) 18:20:04.030953デフォルトの名無しさん
2012/07/07(土) 19:29:59.440954デフォルトの名無しさん
2012/07/08(日) 03:04:50.33インデントしてみたらかなりよく出来てたってのがあったなあ
頭の中で出来上がってたのかなあ
その人インデントなしでガシガシ書いてたからなあ
0955デフォルトの名無しさん
2012/07/08(日) 03:06:57.920956デフォルトの名無しさん
2012/07/08(日) 05:13:12.510957デフォルトの名無しさん
2012/07/08(日) 06:59:17.50COBOLER とか FORTRAN で育った人とか?
0958デフォルトの名無しさん
2012/07/08(日) 09:25:32.27読売新聞の4コママンガファンだが、呼んだ?
0959デフォルトの名無しさん
2012/07/08(日) 12:16:42.550960デフォルトの名無しさん
2012/07/08(日) 13:50:52.27http://toro.2ch.net/test/read.cgi/tech/1341722983/
0961デフォルトの名無しさん
2012/07/09(月) 05:57:36.67やりたいことはマクロ・VBAで
作業中のブック内のシートを、それぞれのシートのあるセルの内容で判別して非表示(表示)にすることです
例えば
Sheet1のセルB3に値なし
Sheet2のセルB3にAという文字
Sheet3のセルB3に1という数字
Sheet4のセルB3に値なし が入っている開いているブックがあって、マクロを実行すると
セルB3になにも値が入っていないシート(Sheet1とSheet4)が非表示になる‥というものです
(特に次のシートを選んで次々に処理主る‥というのが自分にはできません)
もうひとつ、非表示にしたあとにすべてのシートを非表示から表示にもどすマクロを教えてください
0962デフォルトの名無しさん
2012/07/09(月) 06:06:35.62組み合わせたまえ
http://support.microsoft.com/kb/142126/ja
http://officetanaka.net/excel/vba/sheet/sheet06.htm
Worksheetsコレクションからworksheetオブジェクトを指定
というやり方を覚えるとステップアップだぞ
さらにはブックの指定とか
自動記録を使ったせいで
対象がアクティブなことが前提のせいで
変な挙動をするのよくあるよなあ
0963デフォルトの名無しさん
2012/07/09(月) 07:02:57.53出勤しますので後にチェックさせていただきます
ありがとうございました
0964デフォルトの名無しさん
2012/07/09(月) 08:30:24.16http://www.youtube.com/watch?v=wSIWpFPkYrk
http://www.nicovideo.jp/watch/sm2856708
人間の目に入る心配はないのかな
0965デフォルトの名無しさん
2012/07/09(月) 16:35:49.17それお笑い番組の中で流れた嘘通販ビデオだし
0966デフォルトの名無しさん
2012/07/09(月) 19:22:05.920967デフォルトの名無しさん
2012/07/10(火) 07:37:23.64FileSystemObjectってあるじゃないですか
私はあれ結構多用するんですが、
複数のプロシージャで個別にローカルに宣言するのと
パブリックで宣言してコードの最初にインスタンス作るのと
どっちが良いかってあるのでしょうか?
ローカルに宣言するとプロシージャをコールするたびに
インスタンス作って、抜けたら破棄されて、またコールしたら作られて、…
てな具合で、なんか無駄というかもったいない印象を受けるんですけど、
その辺どうなのか分かる人います?
0968デフォルトの名無しさん
2012/07/10(火) 08:58:06.02その質問にFileSystemObjectは関係ない気がするけど・・・
グローバルに宣言する方法と、ローカルに宣言してパラメータで渡す方法と
両方試してみたらわかるんじゃないの?
0969967
2012/07/10(火) 09:13:07.97そうですね。
まぁFSOに限ったことじゃないんですけど、
とりあえず話しの取っ掛かりで汎用的なたとえとして思いついたのです。
本質的には何度も使うインスタンスをプロシージャ単位で作成したり破棄したり、
というやり方と、
プロジェクト全体で一個使いまわすのとではどのように違うのか、
どんなメリット・デメリットがあるのか、
あるいはオブジェクト指向の考え方なり構造化プログラミングの流儀なり、
とにかくなんと表現するのか分からないのですがそういうものでは
どのように捉えているのか、などというかなりざっくりした疑問なのです。
まぁ、スレの埋めネタなんでこれが分からないとどうしても困るってわけでもないですし。
で、両方試すって言うか、コーディング自体はどっちでも出来ますけど
それによってどんな風に違いが出るのかなんて判別する方法が思いつかないです。
今のPCの性能ではコーディングの多少の違いでは
リソース不足とか実行速度の低下とか、はては動作が不安定になるとか、
そういうのってほぼ起き得ないでしょうから
そういう明らかな違いでもないと私の知識では判別できないのです。
0970デフォルトの名無しさん
2012/07/10(火) 10:24:05.16今のマシンパワーなら実行時間も含めてリソース不足になることはあんまりないから
プロシージャの中でいちいち破棄した方が安全
0971デフォルトの名無しさん
2012/07/10(火) 10:29:20.500972デフォルトの名無しさん
2012/07/10(火) 11:03:17.97VBAに関係ないんだから他所でやってくれ
0973967
2012/07/10(火) 11:10:46.53あっさり片ついちゃったよ…
もっと話題を膨らまそうよ
いや、うそですごめんなさい
答えてくれてありがとう
>>971
ぐぐったらJavaとかPHPとかで出てくる話みたいですね
私はVBAしか知らないから他の言語知ってる人から見たら
馬鹿みたいなこと聞いてるんですよね、きっと。
やっぱりJavaとかCとか勉強しようかなぁ。
今んとこVBAだけで困ってないけど。
0974デフォルトの名無しさん
2012/07/10(火) 11:15:12.22いや、埋めネタなんでそんな怒んないでよ。
VBAに関係ないとかそんな四角張ったこというほどじゃないじゃん
もう残り30切ってんだしさっさと埋めて次スレいこうぜ
0975デフォルトの名無しさん
2012/07/10(火) 11:22:24.52下位オブジェクトはまだしも、インスタンス自体が設定的なものを持たない場合は
グローバル宣言とプロシージャ宣言の差は分かり辛いかもしれないが、
RegExpみたいにインスタンス自体が設定次第で動作を変えるものだと解りやすいと思う
例えばRegExpではIgnoreCase、Global、Multilineプロパティは既定では全てFalseなので
グローバル宣言したRegExpをプロシージャAで使い、その際MultilineをTrueにする
次に同じくグローバルのRegExpをプロシージャBで使い、こちらは規定値(全False)で良いので
Patternしか変更しなかったら、実はMultilineが既定のFalseではなく、プロシージャAで
変更したままのTrueになっていて誤動作する
まあ人為的ミスではあるけど、こういうことが起こりやすい
たから俺の場合、RegExp、ADODB.Stream、XMLDOMなんかは大抵モジュールレベルで宣言してる
まあクラスの場合はモジュールレベルで宣言することもあるけど、これは見た目は上部の宣言エリアで
宣言していてグローバル宣言に近く見えるかもしれないけど、実質的な用途上は
プロシージャ宣言の方に近い使い方してるし
0976967
2012/07/10(火) 11:30:24.92ありがとうです。
こういうのが聞きたかったのですよ。
大変勉強になりました。
(もちろん>>970とか>>971とかも参考になりましたよ。)
みんなありがとう
0977デフォルトの名無しさん
2012/07/10(火) 11:35:28.62グローバルに一個作って使い回せば良いよ。
0978967
2012/07/10(火) 11:46:58.63ありがとう
FSOに関してはグローバルでも問題ない(少ない)わけですね。
それにしても、最初にFSOを例に挙げたのはやはり不適切だったみたいですね
FSOならグローバルに宣言して使用しても問題ないけど、
他のものだと必ずしもそうではない、ということを>>975ではじめて知りました。
一般的事例と思って特殊な例を挙げていたとはお恥ずかしい限りです。
0979デフォルトの名無しさん
2012/07/10(火) 18:44:23.14■「仏国 食べ物」に関する他の記事 - サーチナ・ハイライト
筆者は、日本の食事では、デザートはついていないことがあるが、これは日本人は甘いものが好きで
はないということではないと説明。日本人は、伝統的には茶席で甘いものを食べる。この茶会はフォーマルな
場のため、和菓子も洗練された雰囲気を持っていると述べている。
和菓子の一番の特徴は、その外見だという。春なら桜、冬なら白いうさぎなど、季節感を打ち出した
形状や色使いなどで、移り行く時を表現していると説明。
味については、チョコレートなどフランスのお菓子と比較すると、かなり淡い味わいだとつづっている。
和菓子にはあずきから作られたあんこが使用されていることがあるが、フランス人にとってはこれも決
してしっかりした味わいではないと伝えている。
このため、和菓子はフランスのデザートや菓子とはまったく別の食べ物だと考えて味わうのが良い
と勧めている。少し苦味のある茶を飲みながら、心穏やかにゆっくりと味わうことで、和菓子の持つ
淡く繊細な味わいとともに、季節感のある形状や色など、視覚的にも楽しめるとつづっている。
記事では、フランスでは和菓子はまだ全国展開のスーパーには並んでいないが、徐々に人気が
高まりつつあると紹介されている。フランスの菓子と異なるコンセプトを持つ和菓子に、フランス人の
関心が寄せられている様子がうかがえる。
http://news.searchina.ne.jp/disp.cgi?y=2012&d=0710&f=national_0710_026.shtml
0980デフォルトの名無しさん
2012/07/10(火) 19:10:28.900981デフォルトの名無しさん
2012/07/11(水) 04:00:40.060982デフォルトの名無しさん
2012/07/11(水) 10:01:12.81雑談としてもそこらへんの質問や回答よりよっぽどいい
ウメネタっていうかtipsだね
質問がないときはこういうのもいいなあ。
0983デフォルトの名無しさん
2012/07/12(木) 09:02:39.980984デフォルトの名無しさん
2012/07/12(木) 11:50:30.24どうしたら回避出来ますか?
0985デフォルトの名無しさん
2012/07/12(木) 12:04:03.55コード書いてくれないと具体的な状況が分からない
ただ、他の事例で
大量のブックを開いて別のブックにコピーしてたらメモリ不足になったことがあるんだけど、
そのときはループの中に(ループ一回でブック一個処理するコードだった)
Doeventsを挿入したら改善されたことがあるよ。
根拠というか詳しい理由は分からないけど、
メモリ不足のエラーってPC自体の物理メモリ搭載量に関係なく
エクセル内部の処理で解放されないメモリ領域が溜まっていって発生するような感じだから、
Doeventsによってエクセルの内部でガベージコレクション的な操作が行われるんじゃないかな?
ダメ元ぐらいで試してみて。
0986デフォルトの名無しさん
2012/07/12(木) 12:06:47.96これ?バージョンは?
http://support.microsoft.com/kb/971594/ja
http://answers.microsoft.com/ja-jp/office/forum/office_2010-excel/excel2010%E3%81%AB%E3%81%A6%E3%83%A1%E3%83%A2/16c3bc85-972d-4d99-9c37-352a9ea4bdf7
2000とかだと回避方法なかった気がするなあ。
一旦保存して開き直すとか
0987デフォルトの名無しさん
2012/07/12(木) 13:54:35.630988デフォルトの名無しさん
2012/07/12(木) 14:59:08.21c.Value = xxx みたいなを何度も実行していたので GC 関係が原因っぽいです
cells(hoge, fuga).Value = xxx と書き換えたらすっかり治ったみたいです
何か理不尽ですけどそういうものだと思うことにします
本当にありがとうございました
0989デフォルトの名無しさん
2012/07/12(木) 15:50:45.350990デフォルトの名無しさん
2012/07/12(木) 15:53:31.450991デフォルトの名無しさん
2012/07/12(木) 16:15:32.840992デフォルトの名無しさん
2012/07/12(木) 16:28:00.08|_::;; ~"'ヽ
| //^''ヽ,,)
| i⌒"
| ∀`) < 誰もいない きのこるならいまのうち
|⊂
| ノ
_,,,......,,__
/_~ ,,...:::_::;; ~"'ヽ
(,, '"ヾヽ i|i //^''ヽ,,)
^ :'⌒i i⌒"
|( ´∀`) < きのこ のこーのこ げんきのこ ♪
|(ノ |つ
| |
⊂ _ ノ
""U
_,,,......,,__
/_~ ,,...:::_::;; ~"'ヽ
(,, '"ヾヽ i|i //^''ヽ,,)
^ :'⌒i i⌒"
(´∀` )| < エリンギ まいたけ ブナシメジ ♪
⊂| (ノ |
| |
ヽ _ ⊃
.U""
|
| ミ
| ミ サッ!
| ミ
|
0993デフォルトの名無しさん
2012/07/12(木) 20:16:08.920994デフォルトの名無しさん
2012/07/12(木) 20:20:36.260995デフォルトの名無しさん
2012/07/12(木) 20:42:32.370996デフォルトの名無しさん
2012/07/13(金) 03:59:10.080997デフォルトの名無しさん
2012/07/13(金) 06:01:39.84第一は自分自身に対する不全感。
自分は非力で、無知で、まだまだ多くのものが欠けている。
だからこの欠如を埋めなくてはならない、という飢餓感を持つこと。
第二は、その欠如を埋めてくれる「メンター(先達)」を探し当てられる能力です。
メンターは先生でもお母さんでも、ネットの中の無名の人でもいい。
生涯にわたる師ではなく、ただある場所から別の場所に案内してくれるだけの
「渡し守」のような人でもいいのです。
自分を一歩先に連れて行ってくれる人は全て大切なメンターです。
第三が、素直な気持ち。
メンターを「教える気にさせる」力です。オープンマインドと言ってもいいし、
もっと平たく「愛嬌(あいきょう)」と言ってもいい。
「学ぶ姿勢」のある人は、何よりも素直です。
つまらない先入観を持たないから、生半可なリアリズムで好奇心を閉ざさない。
素直な人に聞かれると、こちらもつい真剣になる。知っている限りのことを、
知らないことまでも、教えてあげたいという気分になる。そういうものです。
以上、この三つの条件をまとめると、
「学びたいことがあります。教えてください。お願いします」
という文になります。これが「マジックワード」です。
これをさらっと口に出せる人はどこまでも成長することができる。
この言葉を惜しむ人は学ぶことができないのです。
学ぶ力には年齢も社会的地位も関係がありません。
>>994さんも、早く学ぶ力を身に付けてください。
0998デフォルトの名無しさん
2012/07/13(金) 06:26:14.42結局テンプレどうとかで騒いでるやつって全員荒らしだよね
誰が荒らしなのかは人それぞれ見方が有るけど、
荒らしをスルー出来ない奴のせいでどんどんスレが流れていく。
結局スレのこととかテンプレとかどうでも良くて
自分が相手を言い負かしたいだけの連中しか書き込めない流れになっちゃった。
たかがテンプレ論議ごときでスレ全体を質問しづらい雰囲気にして
いったい誰が得するんだろ?
むしろ改変派の彼の思う壺じゃないか
0999デフォルトの名無しさん
2012/07/13(金) 06:51:11.48何一つとして彼の思惑通りにはいってない
彼は完全に翻弄されているだけ
今は荒れていてどっちつかずだが、しばらくして冷めれば
結局保守派の思惑通りの結果になってるのは目に見えてる
彼は目先の自己満足に拘って、完全に大局を見誤った
1000デフォルトの名無しさん
2012/07/13(金) 06:51:46.0110011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。