Excel VBAについて
レス数が1000を超えています。これ以上書き込みはできません。
0001りゅう
NGNGこんどVBAでプログラムくむことになったんだが・・・
注意しないといけないことあったら教えてくれ
0002りゅう
NGNG0003デフォルトの名無しさん
NGNGでなきゃ金払って講習会受けて来い。
0004デフォルトの名無しさん
NGNG師ね
0005デフォルトの名無しさん
NGNG( ´Д`) ) )
/ \ ノ
| | | \ (( ((
| | /⌒|⌒|ヽ二二つ ) ) 丿パチパチ
ヽ二二Ο./ \ (( ( ノノ
(_| |_| |_ \ ∴∵ ← >>1
.(__)__) //》||ヾミ\
0006デフォルトの名無しさん
NGNG0007りゅう
NGNGhttp://pc.2ch.net/test/read.cgi/prog/1023755531/
0008デフォルトの名無しさん
NGNG俺には母親と1つ違いの妹がいる。
残念ながら俺の父親は俺が小さいときに愛人を作り蒸発した。
俺は父親の顔は覚えていない。
しかし母親の小さい背中に支えられ、貧乏ながらも幸せな生活を送っていた。
しかし俺が小学校6年の時の誕生日の日に母親は暴走したトラックに惹かれて死んだ。
そして俺と妹は親戚の家に預けられた。
はじめは不安だったが、俺には厳しかった義理父だが、
妹にはやさしく接してくれ俺は本当に安心できた。
しかしそこの義理父が妹の誕生日の日に、俺の前で妹を犯した。
妹がまだ女になる前にだ。
俺は本当に怒りを覚えたが、義理父に逆らうと生活が出来ないため、
泣きじゃくる妹をただ見つめることしか出来なかった。
そして俺は中学生なのに、仕事もしない義理父の変わりに仕事に行かされろくに勉強もできなかった。
そして15歳の時に家を追い出された、このときは残された妹が本当に心配だった。
しかし、妹も1年後に家を逃げてきて、苦しい思いをしていたようだが
2人で笑顔で生活することが出来るようになった。
少年期は非常に苦労したが、それが今心の糧となって貧乏ながら一生懸命生きている。
以上、この話は嘘だ。
0009名無しさん@Emacs
NGNG(A列の値) * (B列の値)を C列に入れる場合、
for i=0 to 100
Range("C" & i).value = Range("A" & i).value * Range("B" & i).value
next i
ってやると、著しく遅いんですが、何か良い方法は無いでしょうか?
たぶん文字列の結合が余計な処理なんじゃないかとは思うのですが・・・
0010デフォルトの名無しさん
NGNGちょっとは早くなりそうな気はするけど。
For i = 1 To 101
Cells(i, 3).Value = Cells(i, 1).Value * Cells(i, 2).Value
Next i
実際>>9のと実際に比べてみたけど、>>9もそんなに遅くはなかったってのは付け加えときま。
0011デフォルトの名無しさん
NGNGマクロの記録って知ってる?
Sub Macro1()
'
' Macro1 Macro
' マクロ記録日 : 2002/7/2 ユーザー名 : ********
'
'
ActiveCell.FormulaR1C1 = "=RC[-2]*RC[-1]"
Range("C1").Select
Selection.AutoFill Destination:=Range("C1:C100"), Type:=xlFillDefault
Range("C1:C100").Select
End Sub
0012デフォルトの名無しさん
NGNGスマソ。式じゃなくて計算結果を代入しなければならないのね。
でも式の採用も検討しちくり。
0013デフォルトの名無しさん
NGNGまえにアホ元SE(COBOLER)が自慢してたんだけど。
60歳こえている頭がいかれた爺だからしかたないんだけど。
0014デフォルトの名無しさん
NGNG仕事でバリバリ使っている。俺の仕事は工学系で、結果をすぐにグラフ
にしてカット&トライしながらやっていくのだが、EXCEL VBAは超便利。
速度は遅いけどね。
00159
NGNGどーもです。10さんのアイデアをいただいて、早い処理をマクロ記録して、
それを改造してコードをくんだらだいぶ速くなりました。
ありがとうございました。
0016VBA暦7年
NGNGプログラムは基本的に
・読込
・計算
・出力
の3部構成にすべし。これ基本。
Application.ScreenUpdating=False
Dim dblX as Double, dblY as Double, dblZ as Double
'読込
dblX=Cells(1,1).Value
dblY=Cells(2,1).Value
'計算
dblZ=dblX*dblY
'出力
Cells(3,1).Value=dblZ
大量データ処理だとぜんぜん速度違うし、プログラムもスキーリ。
0017デフォルトの名無しさん
NGNG半人前のくせして本書くな。
0018VBA暦7年
NGNG0019デフォルトの名無しさん
NGNG大村あつしでもまだ不足だ。
Microsoft公式の上級者向けでないと。
0020デフォルトの名無しさん
NGNG0021デフォルトの名無しさん
NGNG大体がチャートオブジェクトでイベント拾いたいとかで
呪文みたいにサンプルリスト出してあるだけ。
0022VBA暦7年
NGNG読んだことなかったです。今度読んでみよっと。
0023デフォルトの名無しさん
NGNGもうむちゃくちゃ。
0024VBA暦7年
NGNG・Application.ScreenUpdating
・Application.Calculation
・Cellを極力参照しない
くらいかな。
0025デフォルトの名無しさん
NGNGどうせ金になるスキルじゃないんだから。
0026デフォルトの名無しさん
NGNG0027デフォルトの名無しさん
NGNGぽっと出の案件ばっかで継続性が無いのがアレだけど。
0028デフォルトの名無しさん
NGNGクリップボードを使うと速いよ
0029デフォルトの名無しさん
NGNG今はもう無いのかな。
あぁ、DDEの方が速いよ・・・ふぅ。
0030VBA暦7年
NGNG97と2000でドロップダウンコンボ(だったっけ?)コントロールの仕様がビミョーに異なっていたと思ふ。
ユーザーフォームの動作確認は厳重にしる。
あと、WorkSheetをMoveするとオブジェクト変数がオブジェクトを見失うというバグらしきものが2000にはあった。sp2あたりで治ったかな。
0031VBA暦7年
NGNGたしかに継続性がない。仕様書がない。予算がない。
Excelの仕事ってワークグループ向けで、エンタープライズ向けではないからお金にはならない。
ニッチなお仕事ね。
0032デフォルトの名無しさん
NGNG003332
NGNG知ってるような人はいないのかな?
(EXCEL2000はすでに知ってるから・・・2002の方法を教えて下さい)
0034デフォルト名無しさん
NGNGアクチュアリーの必需品。
0035
NGNG知ってるような人はいないのかな?
(EXCEL2000はすでに知ってるから・・・2002の方法を教えて下さい)
0037デフォルトの名無しさん
NGNGexcelのVBAからexe形式の他の実行ファイルを
呼び出す方法を教えてください。
0038デフォルトの名無しさん
NGNGShell関数をちぇけらっ
0039デフォルトの名無しさん
NGNGできれば、非同期でなく同期で、
アプリからの戻り値を取得したいのです。
0040デフォルトの名無しさん
NGNGAPI使ってもできるけど、VBAからwshを呼び出すという手もある
Set WShell = CreateObject("WScript.Shell")
rc = WShell.Run("notepad", , True) '第3引数がtrueなら同期
0041デフォルトの名無しさん
NGNGこのスレッドは40を超えました。
もう書けないけど、新しいスレッドは立てないでくださいです。。。
0042デフォルトの名無しさん
NGNGちょっと困ってます。誰か教えて。
0043デフォルトの名無しさん
NGNG0044デフォルトの名無しさん
NGNGPrivate Declare Sub vbMemMove1 Lib "kernel32" Alias "RtlMoveMemory" (dst As Any, ByVal src As Long, ByVal num As Long)
Private Declare Sub vbMemMove2 Lib "kernel32" Alias "RtlMoveMemory" (dst As Long, ByVal src As Long, ByVal num As Long)
Private Declare Function gethostname Lib "wsock32.dll" (ByVal Name As String, ByVal namelen As Long) As Long
Private Declare Function gethostbyname Lib "wsock32.dll" (ByVal Name As String) As Long
Private Declare Function WSAStartup Lib "wsock32.dll" (ByVal wVersionRequested As Integer, lpWSAData As Any) As Long
Private Declare Function WSACleanup Lib "wsock32.dll" () As Long
Private Declare Function WSAGetLastError Lib "wsock32.dll" () As Integer
' IPアドレスを取得
Public Function GetIpAddress() As String
Dim wsa As WSADATA
Dim sName As String * 65
Dim he As hostent
Dim p As Long
Dim b(3) As Byte
If WSAStartup(&H101, wsa) <> 0 Then Exit Function
If gethostname(sName, 64) = 0 Then
p = gethostbyname(sName)
If p <> 0 Then
vbMemMove1 he, p, 16
vbMemMove2 p, he.h_addr_list, 4
vbMemMove1 b(0), p, 4
GetIpAddress = b(0) & "." & b(1) & "." & b(2) & "." & b(3)
End If
End If
WSACleanup
End Function
0045デフォルトの名無しさん
NGNGEXCEL入ってればどこでも開発できるからツールとか、VBアプリのプロト
とか作るのに重宝する。
ただし、エンドユーザにリリースしちゃうのは、勝手にEXCELバージョン
アップされちゃったりするのでちょっと慎重になる。
>42
shell関数でipconfig.exe /batch temp.txtで出力するか
40みたいにWSH使って標準出力から拾って、その後IPアドレス
だけ切り出すがよろし。
0046bigpapa
NGNG■ 全国の愛すべき諸君へ 沖縄より愛を込めてbigpapaより
★ 2ちゃんねるの管理人に賠償と書き込みの削除を命令 東京地裁
------------------------------------------------------------
インターネット上の人気サイト「2ちゃんねる」の掲示板をめぐり、
東京都内の動物病院が「書き込みで中傷された」として東京地裁は26日、
400万円の支払いと書き込みの削除を命じた。
管理人は「不当な判決だ。賠償額についても不満があり、控訴する予定」
と話している。[毎日新聞6月26日
■ 東京地裁の判決の詳しい結果は下記のURLをご覧ください。
■ http://www1.ryucom.ne.jp/papa/newpage2chsaiban.htm
■ アスキーアート(AA)の定義JISアートの定義は下記URLへ
■ http://www1.ryucom.ne.jp/papa/asciiart.htm
0047デフォルトの名無しさん
NGNGエラー処理にひっかかったら Excel を落とすってことで、Application.Quit
を使ってるんですけど、Application.Quit 以下の文が実行されてしまいます。
Application.Quit って C で言う exit() みたいな使い方できないんですか?
0048デフォルトの名無しさん
NGNGがよくわからんが、
ビジネスsoft板逝ったほうがいいと思うぞ。
0049デフォルトの名無しさん
NGNGビジネスソフト板っすか。さんくすこ。
0050デフォルトの名無しさん
NGNG0051デフォルトの名無しさん
NGNG0052デフォルトの名無しさん
NGNG0053デフォルトの名無しさん
NGNG0054デフォルトの名無しさん
NGNGもう見てないとは思うが。
16よ、知ってたらちゃんと教えろよ。
Sub Sample1()
Dim a
Dim b() As Double
Dim i As Long
With Range("A1:A100")
a = .Resize(, 2).Value
ReDim b(1 To UBound(a), 0)
For i = 1 To UBound(a)
b(i, 0) = a(i, 1) * a(i, 2)
Next
.Offset(, 2).Value = b
End With
End Sub
Sub Sample2()
With Range("A1:A100")
.Copy Range("c1")
.Offset(, 1).Copy
.Offset(, 2).PasteSpecial Operation:=xlMultiply
End With
Application.CutCopyMode = False
End Sub
005554
NGNG005654
NGNGSub Sample2()
With Range("A1:A100")
.Copy .Offset(,2)
.Offset(, 1).Copy
.Offset(, 2).PasteSpecial Operation:=xlMultiply
End With
Application.CutCopyMode = False
End Sub
0057デフォルトの名無しさん
NGNG(^Д^)ギャハハ!!
0058初心者
NGNG例えばエクセルで、
ActiveWindow.SelectedSheets.Delete
とやってシートを削除するときに、
「もとに戻せないよ」って警告がでますよね?
これを無視したいのですが。
0059デフォルトの名無しさん
NGNGApplication.DisplayAlerts = False
0061デフォルトの名無しさん
NGNGこの座標系ってセルの罫線の太さによって微妙にセルの位置とずれますよね。
cellとshapeの位置をきっちり対応させる方法ってあるのでしょうか?
0062デフォルトの名無しさん
NGNGrangeで選んでheightでポイントをゲット
(すいません自己レスでした)
0063デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNGメモリの許す限り
0065蛇足
NGNGその後Trueにしときや。いちおー。
Application.DisplayAlerts = False
ActiveWindow.SelectedSheets.Delete
Application.DisplayAlerts = True
0066デフォルトの名無しさん
NGNGアクセルって何?
0067デフォルトの名無しさん
NGNGセルを左シングルクリックしたときだけイベントを起こすには、
どうしたらいいのでしょうか? ワークシート上での右クリックや
ダブルクリックのイベントはすぐ見つかりましたが、ただの
クリックとキーボードイベントだけが見当たらなくて、非常に
困っています。
0068デフォルトの名無しさん
NGNG006967
NGNGとある地学系観測データシート作成システムの構築です。お客さん
からは「左クリックで○を入れ、右クリックで消去」さらに「範囲
選択後、左クリックで選択範囲を全て○に、右クリックで全消去」
と申し渡されていますが、上記問題がボトルネックになって、
ちっとも作業が進まないんです・・・。
0070デフォルトの名無しさん
NGNGSelectionChangeとかじゃだめ?
0071
NGNG63が開発した有名なソフトだ。静かに見届けてやれ......。
0072デフォルトの名無しさん
NGNG007367
NGNGSelectionChangeをそのまま使うと、キーボードでカーソル移動
しただけで○が書き込まれてしまいます。というか、誤植の原因に
なるから何とかしてくれとお客さんにお叱りを受けました。
0074
NGNG0075デフォルトの名無しさん
NGNG0076デフォルトの名無しさん
NGNGそしたら、WinAPIロードして、マウスクリックイベント捕まえたら?
0077デフォルトの名無しさん
NGNGCommandBarに以下のようにして、
CommandBarComboBoxを追加しました。
Dim CB As CommandBar
Dim CBCtrl As CommandBarControl
Set CB = Application.CommandBars("Worksheet Menu Bar")
Set CBCtrl
= CB.Controls("挿入(I)").Controls("一括挿入").Controls.Add(Type:=msoCo
ntrolEdit)
With CBCtrl
.Caption = "挿入縦サイズの設定"
End With
このとき、Type:=msoControlEditですので、
記入欄に文字をかきこむことができます。
その文字をプログラムにうけわたすには?
また、記入欄に初期値をかきこんでおくには?
また、記入欄の文字を変更した場合、初期値をそれに変更するには?
どうかご教授ください。
0078デフォルトの名無しさん
NGNG0079デフォルトの名無しさん
NGNG−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
あちこちから悲鳴が聞こえる泣き叫ぶ子供。瓦礫と化した家に押しつぶされる日本人。
「助けて…」という声が絶え間なく聞こえている。しかし被災した神戸の住民は、放心
したように黙って座り込んでいるだけだ。あまりのショックに下敷きになっている人を
助けることさえ忘れているのだ。
「今助けるけん。まっとんしゃい!」
こう叫んだのは共に住民として神戸に住む在日韓国人達だった。自分も血を流し怪我を
しているにも関わらず救助活動を続けた。
「ぜったい助けるけん。がんばっとー!」こうして懸命な救助活動の末助け出された人
達は1万人以上にものぼる。助けられた中学生の女の子は「在日韓国人の人がいなかっ
たら間違いなく死んでいた」と涙を流した。村山首相を始め救助活動の遅れが多くの助
けられる人たちの命を奪った。「助けるのは当たり前けん! 私ら同じ住民やもん!」
オモニ達は目に涙を浮かべていた。
0080デフォルトの名無しさん
NGNGいい話しだなぁ〜
0081デフォルトの名無しさん
NGNG出す前に先立って調べに動いたのは在日韓国人だったと言う。
それも大半がヤクザと言われる人達であって、彼らは確かに日常的には
非難の目で見られているかもしれないが、しかしまた一番勇気のある人達
でもあったのである。
0082デフォルトの名無しさん
NGNGいきなりここはニュー速か極東にワープしたのれすか?
0083デフォルトの名無しさん
NGNG.Textじゃだめ?
0084デフォルトの名無しさん
NGNG具体的には、セルの参照後、元のフォームに戻っても、操作を受け
付けなくなります。RefEditが縮小されないようです。
MSのサポート情報(Excel97に似た現象があるらしいです。)やGoogle
で検索しても情報がなくて・・・
環境はWin2000SP3 Excel2002SP2です。ご指導お願いします。
0085デフォルトの名無しさん
NGNGある列を基準に集計したいのですが可能でしょうか?
たとえば
商品 金額 商品 金額
A 100 A 300
A 200 ⇒ B 700
B 300
B 400
のように。
よろしくお願いします。
0086デフォルトの名無しさん
NGNG簡単
0087デフォルトの名無しさん
NGNGプログラムレスに行うにはデータ→集計。
0088デフォルトの名無しさん
NGNGム板的には、あえてVBAプロシージャを組んでみせるとか。駄目?
0089デフォルトの名無しさん
NGNGSelection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(2), _
Replace:=True, PageBreaks:=False, SummaryBelowData:=True
とかね。それともCellsプロパティを使って配列のように計算するか。
0090デフォルトの名無しさん
NGNGグラフのデータのX軸を変更したいのですが
ActiveSeet.ChartObjects("グラフ 1").Activate
ActiveChart.SeriesCollection(1).XValues = "シート1!R2C1:R2C1"
でエラーが発生したりしなかったりします。
エラー内容は「SeriesクラスのXValuesプロパティを設定できません。」
です。
原因がわかりません。教えて下さい。
よろしくお願いします。
0091デフォルトの名無しさん
NGNG皆さんありがとうございます。
データ→集計をプロシージャで書くと(手動でも)
行の左にエクスプローラのツリーのようなものが出てしまいますよね。
できれば出したくないんですが、そうなると「おとなしくAccess使え」
って事になるんですよね・・・。
でも参考になりました。ありがとうございます。
0092デフォルトの名無しさん
NGNGhttp://eucaly.net/monazilla_uploader/1031668628_EX.png
この表の「複勝圏OK」、「複勝圏NO」に回数を返す関数を教えて
下さい。
「次走」「2走」「3走」の項目の下にある数字が着順です。
「○」昇級戦での順位、「▲」は降級戦での順位です。
*○や▲を取り除いてIF関数の後に<4と入れば済む事ですが
どうしてもそれもカウントしたいのです。
よろしくお願いします。
複勝圏=3着以内です
0093デフォルトの名無しさん
NGNGコマンドボタンを押すと、アクティブになっているセルの
場所(仮にA1)を返してテキストボックスに"A1"を表示するには
どうしたらいいでしょうか・・。
値の参照は簡単ですが、場所???壁にぶち当たり・・。
ご存知の方いらっしゃいましたらよろしくお願いします。
0094デフォルトの名無しさん
NGNGコントロールのボタンを貼り付け、TakeFocusOnClickプロパティをfalseに
設定する。
テキストボックスを一つ貼り付ける。
コードに次のようなものを記入する。(関数名、ワークシート名やテキスト
ボックス名は適宜変更の事)
Private Sub CommandButton1_Click()
Worksheets("Sheet1").TextBox1 = ActiveCell.Address
End Sub
デザインモードを抜け、ボタンを押すと、テキストボックスにアクティブセル
のアドレスが表示されるはずです。
009593
NGNG教えていただいてありがとうございました。
おかげさまでサクッと作業が進みました。
本当に助かりましたー!
0096デフォルトの名無しさん
NGNGVC6.0++&MFC、#importを使って作成したEXEによってシートを削除すると
Excel95が入った環境では確認ダイアログを消せません。
95VBAヘルプのDisplayAlertsの項では「外部から使った場合は効果がありません」
って書いているのですが、どうにかしてこのダイアログを消す方法はないでしょうか?
最悪、シートを削除するだけの関数を保存したExcelファイルを別に用意しておき
実行環境がExcel95だった場合に限りApplication.Runでそれを呼び出して
削除しようかと考えてます。(この方法ではダイアログが出ないことを確認しました)
0097Delフサギコ ◆VzDeLphI
NGNGミ,,゚Д゚彡
VBAで
Public Function AAA() as date
と関数を作ってDate型で
セル値を[=AAA]
として値を表示させているのですが
こうしたときに、時にはセルを空白にしたい時があります。
でも、AAAをnullでもどしたりすると
#Valueだかなんだかの値がセルに出てしまい
エラーっぽくなってしまっています。
これをどうにか消すようなことはできないでしょうか。
ヨロシコです。
0098デフォルトの名無しさん
NGNG=iif(AAA=Null,"",AAA)
とか。
0099Delフサギコ ◆VzDeLphI
NGNGミ,,゚Д゚彡
VBAのFunction上で消したいのです。
むりかしら。
0100デフォルトの名無しさん
NGNGところでDelスレ以外での発言はそのコテハン止めてくれない?
0101デフォルトの名無しさん
NGNGまぁ、そういわんでもいいんじゃない?
叩かれる可能性の高いコテハンで頑張ってる
奴の唯一の(?)特権が、以前に何か教えてもらった
奴がお礼に教えてくれるかもしれないわけだし。
>>ギコ
試したわけじゃないけど、値がNULLだったら、
Nothingに変えてしまうとどうなるかな?
0102Delフサギコ ◆VzDeLphI
NGNGl||l∧,,∧ / ̄ぢつは ̄ ̄ ̄ ̄ ̄ ̄ ̄
.ミ,, 彡 < ツっクを受けてたりしまつ....
∪ _ミ /  ̄ ̄ ̄/\___________
(ミ,,,|\ ./ L e t s/
'\/.======./
 ̄ ̄ ̄
0103デフォルトの名無しさん
NGNG印刷タイトルと同じように、
各ページの一番最後の行に金額の小計を出したいのですが、
何かいい方法があったら教えて頂けないでしょうか?
0104デフォルトの名無しさん
NGNGフッタに設定すれば?(毎ページごとに)
0105
NGNG複数のコントロールを順番に操作したりできないでしょうか?
0107デフォルトの名無しさん
NGNGマクロを組んだんだが、うまくいかない。
支店が全部で100あったとして、データシートに100の支店を
記入していたらどうってことないんだけど、
管理上データシートを複数に分けたい。
四国のデータシート、関東のデータシート・・・といった具合に。
データシートを複数設けて、ユーザーが電話番号を入れるだけでそれらの
データシートをまたがって検索するようには出来ないのでしょうか?
どういう記述が必要なのかがわかりません。
仕様上無理??
0108デフォルトの名無しさん
NGNG1.隠しシートに全部のデータをコピーしてから処理
2.ブックが別じゃないなら全てのシートオブジェクトからデータを取得
(VBA内で必要なシートだけにしてもいいけど)
3.ブックが別だったら面倒だからやめとけ
0109デフォルトの名無しさん
NGNGDATAsheet = SheetsALL
OUTsheet = "出力フォーム"
で出来ないのか?
試せる環境がないからわからんが。
これが出来ないというのは普通考えられないんだが、どうなんだろ
0110デフォルトの名無しさん
NGNGエクセルで全シートを参照しての検索マクロは過去にやったことあるけど無理っぽい。
あきらめて一つのデータシートにぶち込むしかないね
0111デフォルトの名無しさん
NGNGそうなの?
試してないけど、
シート1を検索して無かったら、
シート2を検索って出来ないのかな?
0112デフォルトの名無しさん
NGNGことも重要だぞ。無駄なVBAをしないためにも、本当にVBAを生かしきるためにもな。
オフィシャルマニュアルで学習するのがいいだろう。
0113デフォルトの名無しさん
NGNGFor Each 〜 In 〜
Next
を御存知か?
============================
SerchSheetName = "なんでJAVAにはunsignedがないんだ!!"
For Each Sheet In Worksheets
If SerchSheetName = Sheet.Name Then
' 検索対象シートがあった場合文字列をぶちこむ
Sheet.Cells.Item(1, 1) = "重すぎるぞJAVAは!"
End If
Next
============================
で全シートに対して検索なり破壊工作なりできますが。
0114
NGNG限界まで知らなくてもいいから
テキトーにプラグラムして ちゃんと動いて欲しいのが本音(w
0115デフォルトの名無しさん
NGNG>"なんでJAVAにはunsignedがないんだ!!"
スレ違いだけど俺もそれで苦しんだ・・・
C言語のライブラリをJavaに移行するとき。
0116
NGNGWith Selection.Interior
.ColorIndex = RGB(255,128,192)
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
これと
Sheet1.Range("A1").Select
With Selection.Interior
.ColorIndex = RGB(255,128,255)
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
これが 同じ色に表示されるんだけど、設定が変なんでしょうか?
0117
NGNGでも、色は同じみたいだが。
0118☆」
NGNG0119デフォルトの名無しさん
NGNG>>117の事もふまえて”RGB”からお勉強してください。
0120デフォルトの名無しさん
NGNG45行目の23列目の値を新ファイルの1行目に
45行目の27列目の値を新ファイルの2行目に
45行目の?列目の値を新ファイルの3行目に
45行目の?列目の値を新ファイルの4行目に
・
・
・
という作業をして、値を抽出した
レポートファイルを作りたいです。
エクセルに頼るのではなく、
シェルとawkでやりたい。
でも、ディレクトリのグロビング等が絡むと
perlでやった方がいいのでしょーか。
0121
NGNGRGBの何を勉強しろってんだ。
勉強する内容をココに書け!
そして、そのマクロを実行して、その結果、どうしてそうなるのか
述べてみろ。
0122デフォルトの名無しさん
NGNGエクセルもVBAも使わないなら、すれ違いでは?
0123120
NGNG先ほど、某スレから120にレスが付いていたawkのスクリプトを見かけたのですが、
さっぱり判りませんでしたので、excellのVBAではどのようにするのかな、
と思って、質問しようと思って間違ってカキコしてしまったようです。
私は上と似たような情況で、ディレクトリにCSVファイルが沢山あり、
それをxlsファイルの一つのシートに書き込んでいきたいと思っています。
例えば、20行10列のcsvファイルがディレクトリに沢山あって、VBAでグロビング
してどんどん開いていき、例えば3行5列の値なんかをシートにどんどん書き出していくには
どのようにすればいいでしょうか?
0124初心者
NGNGエクセルでフリーセルの番号の管理をしたいです。
解き終わった番号のセルを自動でチェックし、
新規ゲーム時に、未済の番号からランダムに出せるようにする。
解けない番号はパス(保留)して、また未解決の番号の中に戻す。
達成率をグラフで表せてもいいなと思ってます。
いわば「フリーセル32000本ノック」みたいなものを作りたいのです。
他のアプリが関わる場合でもVBAでマクロを組む事は可能でしょうか。
0125デフォルトの名無しさん
NGNG意味が違う。
0126
NGNG0127
NGNG0128デフォルトの名無しさん
NGNG言ってる意味がわからないので適当です。
Sub aaa()
Dim i As Long
Range("A1,C5,D7").Select
For i = 1 To Selection.Areas.Count
MsgBox "数" & i & Chr(13) & "アドレス" & Selection.Areas(i).Address
Next i
End Sub
0129デフォルトの名無しさん
NGNGとやると、DOSのコンソールに結果が出力されますが、この結果を
シート(セル)に読み込みたいのですが、どうしたら良いのでしょうか
0130デフォルトの名無しさん
NGNG0131129
NGNGえっ...そうなんですか、てっきり出来るもんだとばかり...
以外な結末にちょっと唖然としてます
0132デフォルトの名無しさん
NGNG教えてください。
0133デフォルトの名無しさん
NGNGいや、できるって。
とりあえず、糞みたいな方法だと、
Shell "ping **.**.**.** -n 1" > *****
ってやって
テキストにして読み込むなんてすればいいんでないの?
たぶん、他にも方法があると思うけど眠いから寝る。
0134133
NGNGSub ボタン1_Click()
Shell "command.com /c ping **.**.**.** > C:\@aaa.txt"
strFileName = "C:\@aaa.txt"
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objFile = objFileSystem.OpenTextFile(strFileName)
Do Until objFile.AtEndOfStream
strecBuff = objFile.ReadLine
i = i + 1
Cells(i, 1).Value = strecBuff
Loop
objFile.Close
End Sub
0135デフォルトの名無しさん
NGNG∩__∩
くまの( ´,_ゝ`)プッさん
0136129
NGNGresありがとうございます
私もリダイレクトしてファイルに落とすという方法は思いついたんですが
Shell "ping **.**.**.** > C:\@aaa.txt"
とすると、なぜかリダイレクトされなかったんですよ
"command.com /c"を付ければ良かったんですね..出来ました(^_^;)
0137デフォルトの名無しさん
NGNG0138笑ってください
NGNGRows("1:10").Select
ですが
1行めをX(変数)にしたい時はどうなるのか教えてください。
区切り方が分かりません。
どなたかお願いします。
0139デフォルトの名無しさん
NGNG0140笑ってください
NGNG動きました。
本当にありがとうございますm(__)m
0141129
NGNG可能でしょうか?
0142デフォルトの名無しさん
NGNGCommandButton1.Caption = "1行目" & vbCrLf & "2行目"
0143129
NGNGプロパティからは出来ないって事でしょうか?
0144129
NGNGで、変更したCaptionを見ると"1行目・・2行目"と表示されます
それで、試しに一度消して、"1行目・・2行目"と入れると...
駄目でした(*_*)
やっぱりVBAからでないと出来ないみたいですね
0145デフォルトの名無しさん
NGNG常に 表示させてる状態にするには どのようにしたらいいのでしょうか?
0146デフォルトの名無しさん
NGNG0147デフォルトの名無しさん
NGNGThisWorkbook.Saved = True
って やってるんだけど、保存しますか? ときいてきます。
右上の×で クローズさせる時に、 ThisWorkbook.Saved = True
ってのは できないんでしょうか?
0148デフォルトの名無しさん
NGNGブックが他に開いていた
ってオチじゃないの?
0149(´・ω・`)ショボーン
NGNG0150デフォルトの名無しさん
NGNGTabキーを押しても次のテキストボックス等に移動してくれません。
対処方法を教えて?
もうひとつ。
CommandButton1.Value = ""
・
・
CommandButton10.Value = ""
を変数iとFor文で記述することはできないのでしょうか?
0151デフォルトの名無しさん
NGNG0152デフォルトの名無しさん
NGNG話早くない?
0153デフォルトの名無しさん
NGNGコレクション使え。
0154デフォルトの名無しさん
NGNGBrowseForFolder関数でもAPIのSHBrowseForFolder関数でもいいのですが、
フォルダを参照するダイアログを出すマクロの話です。
フォルダの参照ダイアログが出ている間にESCキーを押すと
処理が中断してデバッグ画面(VBAエディタ)になってしまいます。
On Errorでは引っかかってくれないので、ダイアログを出す直前で
「Application.EnableCancelKey = xlDisabled」をしています。
しかしダイアログを出す前後は処理が中断しないのですが、
その後の処理(違うサブルーチン)で処理の中断になってしまうのです。
ttp://www.projecta.co.jp/mybooks/book05-3.htm
上のページの一番下から2番目が答えっぽいけど・・・
0155デフォルトの名無しさん
NGNGやっぱし ココか。
http://www.ae.wakwak.com/cgi-bin/sbox/~efc21/wwwlng.cgi
0156129
NGNGPINGのBATを生成して、それをshellで起動する事にしました
この場合、batが終了するまで5〜10秒位掛かります
しかし、shellでbatを起動すると、batが終わる前に次の命令が実行されてしまいます
次の命令は、batで生成されたはずのファイルを読み込む命令なので、batが終わるまで
待つ必要があります
今のところ(プロトタイプでは)20秒のweitを入れてうまく動いているんですが
今後、実用段階になった場合、いろいろな環境で使われる可能性があり、20秒では
十分でない可能性があります
そこで、質問なんですが、
shellで起動したプログラムが終了したかどうかをチェックする方法は無いでしょうか?
0157デフォルトの名無しさん
NGNGそんなこと Excel VBAでは できません(w
0158デフォルトの名無しさん
NGNGWin32APIを使えば可能
ttp://homepage2.nifty.com/housaka/excel/vbafaq11.html
0159デフォルトの名無しさん
NGNGWin32APIを使わなくても可能
CreateObject("WScript.Shell").Run "c:\path\hoge.bat", , True
0160129
NGNGありがとうございました、出来ました
ひとつ気になった事があるんですが、
Private Declare Function OpenProcess Lib "kernel32"......
は、たぶん"kernel32"というライブラリーを読み込んでいるんじゃないかと思われるんですが
たまたま私の環境(win-nt/excel2000)ではそのまま実行できたんですが、excel97等でも
実行できるんでしょうか?
0161デフォルトの名無しさん
NGNG0162129
NGNG158さんの方法を試している間に書き込んでいただいたようで、ありがとうございます
これでも出来ました、簡単でいいですね(^_^)
"WScript.Shell"って実行環境について制限は有りますか?
>>161
ありがとうございました
0163デフォルトの名無しさん
NGNG・Excelのバージョンが2000以降
・OSがWin98/2000以降
・IEのバージョンが5.0以降
・WSHを自分でインストールした環境
上の条件のうち、いずれか1つでも満たしている環境なら動くはず。
でも、環境を気にせず確実に動かしたいならAPIの方がおすすめ。
0164129
NGNG>・IEのバージョンが5.0以降
これでクリア出来そうです、私の知る限り IE5.01 以上が入っているはずなんで
ありがとうございました
0165デフォルトの名無しさん
NGNGそれをチェックする関数を作成したいのですが、
方法が思いつきません。
Asc()を駆使すればいけるような想像もしているのですが、
非常に効率が悪く思えます。
いい方法あれば教えていただけませんか?
よろしくお願いします。
0166デフォルトの名無しさん
NGNG半角 VBA 判断
ググレ
0167165
NGNGなるほど、StrConvで変換してみて
戻り値で元の文字列と比較してみて
変換されてたら半角文字列だったってことですね。
なるほど。
目的が変換じゃなくて「チェック」だったので
気付きませんでした。
ありがとうございました。
0168166
NGNG0169デフォルトの名無しさん
NGNG0170デフォルトの名無しさん
NGNG0171デフォルトの名無しさん
NGNG意味不明の自作自演
0172デフォルトの名無しさん
NGNG0173デフォルトの名無しさん
NGNGできるなら方法を教えてください。
0174デフォルトの名無しさん
NGNGWinAPIのLoadLibrary
(やったことないからしらんけど)
0175デフォルトの名無しさん
NGNGWinAPI自体がDLL
0176デフォルトの名無しさん
NGNGVBAのヘルプでDeclareステートメントを調べてみる
VB Declare でぐぐる
0177デフォルトの名無しさん
NGNGできればそのScriptと同じ場所に出力したい。
0178デフォルトの名無しさん
NGNGファイルを出力するなら
OPEN
WRITE #
PRINT #
CLOSE
この辺りだが、Scriptと同じ場所というのが理解出来ない。
Excelファイルの場所なら CurDir で取れるけど。
0179デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNG∩
| |
| |
∧_∧ | | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ;´Д`)// < 先生!素人以下の知識しかないプロが居まつ!
/ / \___________________
/ /| /
__| | .| |
\  ̄ ̄ ̄ ̄ ̄ ̄ ̄\
||\ \
||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
|| || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
.|| ||
0181デフォルトの名無しさん
NGNG0182デフォルトの名無しさん
NGNG∩
| |
| |
∧_∧ | | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ;´Д`)// < 先生!俺はC++のプロなんでVBAは素人なんです。
/ / \_____________________
/ /| /
__| | .| |
\  ̄ ̄ ̄ ̄ ̄ ̄ ̄\
||\ \
||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
|| || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
.|| ||
0183デフォルトの名無しさん
NGNGM$が作る限りVBAは無くならないと思われ。
0184デフォルトの名無しさん
NGNGVBAはでかいのを作ると動きが不安定になることかなー。
出力のみEXCELと割り切って入力とロジック(?)は別ので組んだほうがいいぞ。
0185ケン
NGNGsetfocus.textbox1と命令しているのに、フォーカスされません。
どうしてでしょうか?
’-------------------------------
Private Sub TextBox1_Change()
MsgBox (TextBox1)
TextBox1.SetFocus
End Sub
’------------------
文字がテキストボックスに入力されるたびに、Msgboxでそれを
表示し、またテキストボックスに入力していくというようにしたいのですが
これだと、フォーカスされないので、次の文字がにゅうりょくできないのです。
ちなみに、プロパティーは初期のままです。
0186デフォルトの名無しさん
NGNGMsgBox が表示されている間は、そのコードはMsgBox (TextBox1)の所で
止まっています。SetFocusまで実行されていません。
意図のことをしたい場合、MsgBoxでは無く、新しく別にフォームを作って
そのフォームをモードレスで表示する必要があります
Private Sub TextBox1_Change()
If UserForm2.Visible = False Then
UserForm2.Show vbModeless
End If
UserForm2.Label1 = TextBox1
End Sub
こんな感じ。
この場合、全てのフォームがモーダレスになっている必要がありますが。
#フォームのプロパティがShowModal=Flase
まぁ、あんまり良い設計じゃ無いですね。他の方法を考えた方が良いでしょう。
0187デフォルトの名無しさん
NGNGたとえばワークシートオブジェクトにはMouseMoveイベントがないので、
MouseMoveイベントを追加するとか。
0188デフォルトの名無しさん
NGNG0189ケン
NGNGありがとうございます。おかげで思い通りの処理を
させることができました。
0190デフォルトの名無しさん
NGNG0191デフォルトの名無しさん
NGNG.NETの時もそうだったんだが、MSの新しい戦略の発表って
いつも抽象的でよく理解できないんだよな。
最近は実例もいっぱい出てきたので、.NETが何を言いたいかやっと
わかってきた所なんだが・・・
俺が頭堅いからか?
でも、VBA=VSAというのは違うと思う・・・
0192VBAは好きだがVBは使わなくなった
NGNGaaa[LF]
bbb
などと2行書いてコピー、ExcelのA1セルをSelectして貼り付けすると、
A1とA2のセル(2行)にそれぞれ、aaaとbbbが入ります。
それをVBAのCodeでやろうとして、
dim S as String
S = "aaa" & chr(10) & "bbb"
とここまで書いて、ハタと困ってしまいました。
cells(1,1).Value = Sとすると、A1セルのみに書き込まれ、A2セルには何も
入りません。(Altキーを押して、1セル内強制改行状態)
クリップボードに、Sの内容を送ろうにも、直接文字列をクリップボードに
送るステートメントがわかりません。
メモ帳からのコピー&ペーストのように、VBAのコードだけで、
chr(10)で区切られた文字列を、貼り付け出来ないでしょうか?
(LFのコードを、いちいちサーチしていく外、無いでしょうか?)
0193U ◆CZtFsGiu0c
NGNGLFはセル内の改行コードだから当然そうなる。コードの詳細がわからないけど、
cells(1,1).Value = "aaa"
cells(2,1).Value = "bbb"
となるようにコーディングできない? でなきゃ、
S = "aaa" & vbCr & vbLF & "bbb"
でやってみたら?(試してないけど)
0194デフォルトの名無しさん
NGNGDim x() As String
Dim S As String
S = "aaa" & vbCrLf & "bbb"
x = Split(S, vbCrLf)
Cells(1).Resize(UBound(x)+1).Value = WorksheetFunction.Transpose(x)
あくまでクリップボードにこだわるなら
Dim xx As New MSForms.DataObject
xx.SetText S
xx.PutInClipboard
Set xx = Nothing
With Sheets("Sheet1")
.Paste .Cells(1)
End With
0195194
NGNGCells(1).PasteSpecial
でもよかったな。
0196VBAは好きだがVBは使わなくなった
NGNG駄目です。vb接頭辞の奴を使っても1セル内に全文字が行っちゃいます。
>>194
あっ!配列とは!!すばらしい。
ループで、1文字ずつ文字列の中からサーチなんて面倒なことを考えてました。
しかし、後半の奴は、ユーザ定義型が定義されていないって怒られました。
SetTextとかPutInClipboardなんてのも見慣れませんが…。
Delphiでいうところの、「Clipboard.AsText := 'aaa' + #10 + 'bbb'」
なんてのがVBAには無いようなので、Clipboard経由にしたい時に困っています。
とりあえず、前半のコードで2セルに書き込めましたので、これを利用させて
頂きます。m(_ _)m
0197デフォルトの名無しさん
NGNG> しかし、後半の奴は、ユーザ定義型が定義されていないって怒られました。
MSFormsを使う時は、「ツール」-「参照設定」の一覧で
Microsoft Forms 2.0 Object Library にチェックを入れないと。
または「挿入」-「ユーザーフォーム」で一旦フォームを
追加してからすぐ削除してもOK (自動的にチェックが入る)。
0198VBAは好きだがVBは使わなくなった
NGNG出来ました!
DesktopのPCをExcel2002にしてから、Formは一度も使っていなかったらしいです。
NotePCの方で作業する事が多いので…
ありがとうございました!!!
0199デフォルトの名無しさん
NGNGVBAで円形(oval)のShapeだけを抽出する事ってできるのでしょうか?
ovalだけデリートって作業をしたいのですが
SelectAllやるとどうしても、グラフまで選択してしまうんで・・・
どなたか良い方法を教えていただけないでしょうか?
0200デフォルトの名無しさん
NGNGDim x As Shape
For Each x In Sheets("Sheet1").Shapes
If x.AutoShapeType = msoShapeOval Then
x.Delete ' 削除
End If
Next
0201デフォルトの名無しさん
NGNGワークシート上で、例えば列Eのセルに書き込んでエンターキーを押せば、
必ず一つ下の行でC列のセルに移行するというプログラムを組んでるが
わからんち。。。
教えてけろ
0202デフォルトの名無しさん
NGNGマイク入力をwavで保存し、更に波形まで表示したいのですが、
どうすれば良いでしょうか。
Windows APIを使うらしいのですが、いまいち分かりません。
0203デフォルトの名無しさん
NGNG(´-`).。oO(どうすればいいんだろう?)
0204202
NGNGお願いします。
0205デフォルトの名無しさん
NGNG0206デフォルトの名無しさん
NGNGビデオラベルを印刷したいのですが、
Excel とビデオデッキのつなぎかたが分かりません。
キャプターでパタン認識するらしいのですが、
キャプターというのを買えば、ビデオとつなげますか?
0207202
NGNGDeclare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" _
(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Sub testsound()
sndPlaySound "C:\test.wav", 0
End Sub
0208デフォルトの名無しさん
NGNGActiveSheet.oval.Deleteで出来たと思う
0209デフォルトの名無しさん
NGNGttp://www.google.co.jp/search?hl=ja&ie=UTF-8&oe=UTF-8&q=%22Windows+API%22&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
0210デフォルトの名無しさん
NGNGユーザーフォームのテキストボックス内で、
半角と全角のスペースを削除したいのですが、
コードがわかりません。
お願いします。
0211あ
NGNGこちらでも?
マルチって意味?
それなら嫌われるからやめといた方がいいよ。
また、誤解を招く書き方も駄目。
端っこのスペースを省くなら
Trim
じゃない?
0212210
NGNGご丁寧にありがとうございます。
気をつけます。
氏名の入力で姓と名の間にスペースを入れないで処理したいと思っているのですが
が、入力時にスペースをいれて入力されてしまった場合に、
そのスペースを削除できれば、と思っています。
0213あ
NGNGVB使いじゃないからうまく説明できないけど、
InStrを使ってスペースの場所を検索して
str=Mid( ?????????(InStr(str,??? ) )
こんなイメージでいけると思う。
引数とかは思い出せない。。
まぁとにかく流れとしては、
InStrでスペースの場所を探す(無ければお終い)
渡す文字列(フルネーム??)は先にTrimかけておくといいと思う。
それで見つかったらMidを使ってスペースより前(苗字?)
を取り出す。
その後またMidを使ってスペースより後(名前?)を取り出して
先ほど取り出した苗字と結合する。
FullName=Myoji & Namae
見たいな感じになるのかな。
さぁ、間違ってたら他の人頼む。
0214デフォルトの名無しさん
NGNGL = Len(s)
t = ""
For i = 1 To L
c = Mid(s,i,1)
If c <> " " And c <> " " Then t = t & c
Next
textbox1 = t
0215210
NGNG解決しました。ありがとうございます。
レスが遅くなってすみません。
>>213
InStrですと、スペースの検索ができませんでした。
エラーになってしまって。
ご丁寧にありがとうございます。
>>214
ありがとうございます。
教えていただいたコードを少しいじらせていただいたらできました。
本当にありがとうございました。
0216デフォルトの名無しさん
NGNGグラフの出力をオブジェクトにしようか、グラフシートにしようか
悩んでいます。自分としてはグラフシートに出力したいのですが。
数十枚の枚数が要りそうで足りるかどうか心配なのですが
一つのファイルに作れるグラフシートの最大数。ご存知の方おられませんか?
0217216
NGNG0218デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNG適当なデータをグラフシートに出力するマクロを作って、for-nextで回してみました。
あまりループの回数を大きくすると応答なしになってしまうので、100刻みで取り敢えず
1000個まで作れる事を確認しました。
この場合のワークシートの大きさは3×3の要素の棒グラフで3Mバイトと大したことは
ありません。
これはあくまでも予想ですが、65535個ぐらいまでは作れそうな気がします。そこまで
行ったら非実用的ですが。
0220デフォルトの名無しさん
NGNG出力先を別のブックにするようにすれば無限に作っていけるんじゃない?
0221デフォルトの名無しさん
NGNG計算中は非表示にしたいんですが
効率のいい方法はなにかありますか?
0222216
NGNG0223デフォルトの名無しさん
NGNGトグルボタンとチェックボックスだけという区別方法は分からないけど、
次のプログラムはコントロールを計算中消してくれる。
Dim x As Shape
For Each x In Sheets("Sheet1").Shapes
If x.Type = msoOLEControlObject Then
x.Visible = False
End If
Next
Calculate
'計算処理を行う
For Each x In Sheets("Sheet1").Shapes
If x.Type = msoOLEControlObject Then
x.Visible = True
End If
Next
0224デフォルトの名無しさん
NGNGありゃ、俺、msoOLEControlObject チェックしてなかったような気がする。
問題無かったし・・・つか、フォームコントロールがはじかれるな。これ。
ま、本質じゃないし、msoFormControl とかも対象に入れればOKだ。
0225デフォルトの名無しさん
NGNGフォームコントロールも使うなら種類がチェックできますね。ActiveXコントロールの
種類を区別できる方法があったら知りたいです。
Dim x As Shape
For Each x In Sheets("Sheet1").Shapes
If x.Type = msoOLEControlObject Then
x.Visible = False
ElseIf x.Type = msoFormControl And (x.FormControlType = xlCheckBox Or x.FormControlType = xlOptionButton) Then
x.Visible = False
End If
Next
Calculate
'計算処理
For Each x In Sheets("Sheet1").Shapes
If x.Type = msoOLEControlObject Then
x.Visible = True
ElseIf x.Type = msoFormControl And (x.FormControlType = xlCheckBox Or x.FormControlType = xlOptionButton) Then
x.Visible = True
End If
Next
0226デフォルトの名無しさん
NGNGセルに記入された日付を参照して曜日をだしたいのですが、
(A1に年、A2に月、A3に日を入力してその値を参照)
Weekday(Range("A1") / Range("A2") / Range("A3"))
とやってみても、
変数に読み込んでみてもうまくいきません。
何かいい方法はありませんか?
0227デフォルトの名無しさん
NGNGWeekday(Format(Range("A1")) + "/" + Format(Range("A2")) + "/" + Format(Range("A3")))
0228デフォルトの名無しさん
NGNGFormat(Weekday(Format(Range("A1")) + "/" + Format(Range("A2")) + "/" + Format(Range("A3"))), "dddd")
まあこれはいらないと思うけど一応書いておくね。
0229デフォルトの名無しさん
NGNGありがとうございます、助かりました。
いつか質問に答える側を目指して精進いたします。
0230デフォルトの名無しさん
NGNG>hoge.exe とやるとうまく動くのですが、
Excelにコマンドボタンを配置し、以下のマクロを登録、実行すると
コマンドプロンプトの時と違う挙動を示します。
Sub Run()
CreateObject("WScript.Shell").Run ActiveWorkbook.Path & "hoge.exe", , True
End Sub
何が原因と考えられるでしょうか。
0231デフォルトの名無しさん
NGNG挙動が異なるとは具体的にどういう事を指すのかわかりかねますが、Runメソッドに
与えるコマンド文字列のパス中にスペースが入るとエラーになるようです。
CreateObject("WScript.Shell").Run Chr(34) + ActiveWorkbook.Path + "\hoge.exe" + Chr(34), , True
のようにしたら動きませんか。
0232230
NGNGレスありがとうございます。
挙動不審の原因が分かり、自力で解決できました。
原因は hoge.exe 中でファイル tako をオープンしていたのですが、
エクセルから実行させるときは、hoge.exe 中で
tako のパスを指定しなければならないというものした。
同じフォルダにあれば、パスはいらないと思っていたのですけどね。
0233デフォルトの名無しさん
NGNGそうでしたか。それはよかったです。
カレントディレクトリの意味がわかれば解決できますね。
0234デフォルトの名無しさん
NGNGこのときchartオブジェクトはgifファイルに変換されますよね。
この機能だけ単独で使いたいのですが何かよい方法はないでしょうか?
今はSaveAsメソッドにxlHtmlをオプションで渡し、
できあがったファイル群からgifファイルを抜き出すと言う手法を用いているのですが
いまいちスマートではないので、他に方法があったらおしえてください。
0235デフォルトの名無しさん
NGNG0236デフォルトの名無しさん
NGNGアドバイスありがとうございました。
chartオブジェクトにexportなんてメソッドがあるの知らなかった。
97からか?
今まで95ばかりだったので知らなかった。
0237デフォルトの名無しさん
NGNGActiveSheet.UsedRange.Address
で帰ってきた選択範囲
$G$10:$BA$571などを
をcells形式で所得したいのですが
どうすればいいでしょうか
0238デフォルトの名無しさん
NGNG所得すると税金がかかるぜよ。
ところでCells形式にして何に使うの?
目的がわからん。
ActiveSheet.UsedRange自体がRangeオブジェクトだから、そのまま
使えばいいんじゃないのか?
0239デフォルトの名無しさん
NGNG0240237
NGNGデータ範囲の上端、下端、右端、左端の位置が欲しかったのです。
しかたないので入門書と格闘しながら
Function kiridasi(x As String) As Integer
Dim a As Integer, b As Integer, c As String, x As String
'$D$5:$H$9のような範囲が与えられた時 初めの$Dを抜き出し4にする。
a = 2 '最初の$から
b = InStr(a, x, "$", 1) '次の$まで
c = Mid(x, a, b - a) '抜き出し。
x = Mid(x, b) '元の文字列から抜いた分を取り除く。Xは$5:$H$9になる
If IsNumeric(c) = "False" Then '文字なら数字に直して返し
If b - a = 1 Then
kiridasi = Asc(c) - 64
Else: kiridasi = Asc(Mid(c, 2) - 64) + Asc(Mid(c, 1, 1) - 64) * 24
End If
Else: kiridasi = Val(c) '数字ならそのままの値を返す
End If
End Function
というサブルーチンを作っていざ実行しようとすると
ByRef 引数の型が一致しません とでるので困っています。
x = Mid(x, b) の行のところが明らかにおかしくなるのですが、
一体どのような問題なのでしょうか?どなたか御指摘頂けませんか?
変数のスコープの問題のように思ったのですが良く分かりません。
0241デフォルトの名無しさん
NGNGByValにしたら
0242240
NGNG結局元の文字列変わらないので何回やっても最初のDしか変換できません,,,困った
0243デフォルトの名無しさん
NGNGPrivate Function LeftTopR(ByVal r As Range) As Range
Set LeftTopR = _
r.Parent.Cells(r.Row, r.Column)
End Function
'右下のセルを返す
Private Function RightBottomR(ByVal r As Range) As Range
Set RightBottomR = _
r.Parent.Cells(r.Row + r.Rows.Count - 1, r.Column + r.Columns.Count - 1)
End Function
0244デフォルトの名無しさん
NGNGDebug.Print .Item(1).Address
Debug.Print .Item(1, .Columns.Count).Address
Debug.Print .Item(.Rows.Count, 1).Address
Debug.Print .Item(.Count).Address
End With
でいいじゃん。
0245デフォルトの名無しさん
NGNG>データ範囲の上端、下端、右端、左端の位置が欲しかったのです。
その位置を何に使うのか書いてみれ。
大体余計な取得をするやつはヘタクソと相場が決まっているのだが。
繰り返すがActiveSheet.UsedRangeはRangeオブジェクトだよ。
そのまま使えばいいんじゃないのか?
0246245
NGNGもしかして行番号や列番号を使ってCells形式でループを回すのか?
For Each Nextを使えばそんなもの必要ないから違うだろうな。
0247デフォルトの名無しさん
NGNG0248240
NGNGデータの入力の限界を求めようとしたんですが...
ようやく解決しました。お手数かけてすみません。
まだVBA始めてたったの数週間の素人なもので
0249デフォルトの名無しさん
NGNG例えば
A = "ab" & vbCrLf & "xy"
B = s/$/z/g
で
B に "abz" & vbCrLf & "xyz" が入るようにしたい。
0250デフォルトの名無しさん
NGNG0251デフォルトの名無しさん
NGNGこの程度ならReplace関数でもできるだろ。
A = "ab" & vbCrLf & "xy"
B = "z"
MsgBox Replace(A, vbCrLf, B & vbCrLf) & B
0253デフォルトの名無しさん
NGNGエクセル2000でテキスト開いて
テキスト形式で保存する時
"があるとその前後に勝手に"がついてきて
困ってます。
どうするとなくなりますか?
0254254
NGNGNameプロパティを設定できません。名前を特定できません。と出て、
リネームできないんですがコントロール配列はVBだけでExcelVBAでは使えないんですか?
0255デフォルトの名無しさん
NGNGttp://www.moug.net/skillup/opm/opm08-01.htm
0256254
NGNG0257デフォルトの名無しさん
NGNGinputboxのdefaultに使いたいのですが、
その方法が良く分かりません。Clipboard.GetTextを使うような気がしますが
具体的にはどうすれば良いのでしょうか?
0258257
NGNG他の方にお伺いすることにします。失礼しました。
0259デフォルトの名無しさん
NGNGDim MyData as DataObject
Private Sub CommandButton1_Click()
Dim s As String
TextBox1.SelStart = 0
TextBox1.SelLength = TextBox1.TextLength
TextBox1.Copy
MyData.GetFromClipboard
s = InputBox("", "", MyData.GetText(1))
End Sub
0260デフォルトの名無しさん
NGNG例えばテキストボックスに貼り付けるだけなら
TextBox1.Value = ""
TextBox1.Paste
ではいかんの?
0261デフォルトの名無しさん
NGNGDim dat As DataObject
Set dat = New DataObject
dat.GetFromClipboard
TextBox1.Text = dat.GetText(1)
0263デフォルトの名無しさん
NGNGなにかおすすめの方法はありませんか
0264デフォルトの名無しさん
NGNGAPIのsleep関数を使う。
0265デフォルトの名無しさん
NGNG「10秒経ったらこのボタンをおしてください」
というボタンを置く
0267デフォルトの名無しさん
NGNGRND関数では、負の乱数を発生させることができません。標準分布抽出方の乱数をEXCEL上で使わねばならず、VBAでやることできず困っています。
詳しい方おながいします!
0268デフォルトの名無しさん
NGNG0269デフォルトの名無しさん
NGNGああー、早速のレスありがとう。ち、ち、違うんですー!
正戸負両方の乱数が欲しいんですー。
マイナスつけたら負の乱数だけになるー。
(ToT)
0270デフォルトの名無しさん
NGNG-5から5を発生させたかったら、0〜10の数をRNDで作って5を引く。
難しかったかな?
0271デフォルトの名無しさん
NGNG0274デフォルトの名無しさん
NGNGってなんか萌える。
0275デフォルトの名無しさん
NGNGそれって、挿入するときのこと想像しているでしょう?
0276デフォルトの名無しさん
NGNG0277デフォルトの名無しさん
NGNGtimeかtimer関数でも出来る(日付をまたぐとどうなるか知らん)
>273
272のツッコミを無視して大丈夫?
解ってスルーしてるなら良いけど
0278デフォルトの名無しさん
NGNG0279デフォルトの名無しさん
NGNGいくらまでなら許せる?
0280デフォルトの名無しさん
NGNGそれ使うといくら儲かる?
0281デフォルトの名無しさん
NGNG0282デフォルトの名無しさん
NGNG0283デフォルトの名無しさん
NGNGそれと俺には >>277の
> 272のツッコミを無視して大丈夫?
> 解ってスルーしてるなら良いけど
この意味がサッパリわからん。
>>282
OKですが、何か?
0284デフォルトの名無しさん
NGNGたびたびすみません!
ExcelのVBAからC++でビルドされたバイナリ呼び出す手法を急に勉強しないといけなくなりました!!!!!
推薦図書おながいします!!!!!
0285デフォルトの名無しさん
NGNGDLLならヘルプでDeclareステートメント見ろ。
0286デフォルトの名無しさん
NGNGVBA暦12時間・・・・・とほほ・・・・・
0288デフォルトの名無しさん
NGNGVB(.NETでなく旧VB)は持ってないの?
VBからDLLを呼び出すのと方法はまったく同じなので、
VBの方で調べてみた方が情報がたくさんあると思う。
0289282
NGNG入力というsheetとリストというシートを作りました。
リストのK1セルに「=COUNT(A:A)+1」という数式を入れときます。
入力シートのB1セルに書いた文字をリストのB2に
入力シートのB2セルに書いた文字をリストのC2に
入力シートのB3セルに書いた文字をリストのD2にそれぞれ貼って行きたい。
リストのA2には「2」が入るようにしたいのです。
そしてその次からは続くように
入力シートのB1セルに書いた文字をリストのB3に
入力シートのB2セルに書いた文字をリストのC3に
入力シートのB3セルに書いた文字をリストのD3にそれぞれ貼って行きたい。
リストのA2には「3」が入るようにしたいのです。
ちなみに書いたのは
Sub データ貼付()
'
' 入力シートからリストシートへデータ貼り付け
行番号 = Sheets("リスト").Range(K1)
Sheets("リスト").Range(K1) = Sheets("リスト").Cells(行番号, 1).Value
Sheets("入力").Range(b1).Value = Sheets("リスト").Cells(行番号, 2).Value
Sheets("入力").Range(b2).Value = Sheets("リスト").Cells(行番号, 3).Value
Sheets("入力").Range(b3).Value = Sheets("リスト").Cells(行番号, 4).Value
Sheets("入力").Range(b4).Value = Sheets("リスト").Cells(行番号, 5).Value
Sheets("入力").Range(b5).Value = Sheets("リスト").Cells(行番号, 6).Value
0290デフォルトの名無しさん
NGNGRND()は正規分布じゃなくて一様分布なのだが、そのまま使ったりしてないだろうなぁということ
267を見る限り不安だ(w
0291デフォルトの名無しさん
NGNGやっぱり・・・・・
しばらく使ってみてて、これってどうやら擬似標準正規分布じゃないな、と思いました。
だって、オプションの数値解がおかしかったんだもん。でも、デルタヘッジの有用性を
調べたいだけなので、現時点では問題ないと思う。とにかく、いろいろと親切にありが
とう。ここのスレの人たちイイ人。
0292デフォルトの名無しさん
NGNG入力シートは常に同じ場所に入力して、リストの方だけが増えていくということね?
説明の方はセルが3つでコードの方は5つあるけど、セルの数は決まってないの?
1回ずつコマンドボタンか何かで転記するの?
0293282
NGNG>入力シートは常に同じ場所に入力して、リストの方だけが増えていくということね?
全くその通りです
>説明の方はセルが3つでコードの方は5つあるけど、セルの数は決まってないの?
レスとして書くのは3つくらいがいいかと思って省略しちゃいました・・・
>1回ずつコマンドボタンか何かで転記するの?
はい。ボタンにマクロを登録します。入力したものはクリアーもする予定です。
0294282
NGNG○ リストのA2には「3」が入るようにしたいのです。
× リストのA3には「3」が入るようにしたいのです。
0295デフォルトの名無しさん
NGNGだから結局ここのところはどうなのよ?
仕様がわからんから 5個固定にしたよ。
あと、K1セルを作らなくても最終行を取得して追加すればいいと思うので、
勝手にそうした。
Dim wsList As Worksheet
Dim 行番号 As Long
Dim 入力数 As Long
入力数 = 5
Set wsList = Worksheets("リスト")
With wsList.Cells(wsList.Rows.Count, 1).End(xlUp)
行番号 = .Row + 1 + IsEmpty(.Value)
End With
With wsList.Cells(行番号, 1)
.Value = 行番号
.Offset(, 1).Resize(, 入力数).Value = _
WorksheetFunction.Transpose(Sheets("入力").Range("B1").Resize(入力数))
End With
0296282
NGNG自分のはどこが違ってたか、>>295の内容は分からないですが、ひとまず動きました。
もっとよく勉強して出直してきます。
遅い時間まで本当にありがとうでした。
0297295
NGNG代入の左辺と右辺が逆だし、k1とかb1とかはダブルクォーテーション記号
で括って文字列にする必要がある。
295のコードは
リストシートの1行目が空欄の場合も2行目から始めてよければ、
もうちょっとシンプルにできる。
Sub データ貼付()
Const 入力数 = 5
With Sheets("リスト").Range("A65536").End(xlUp).Offset(1)
.Value = .Row
.Offset(,1).Resize(,入力数).Value = _
WorksheetFunction.Transpose(Sheets("入力").Range("B1").Resize(入力数))
End With
End Sub
0298デフォルトの名無しさん
NGNG乱数12個足して6引く。
0300デフォルトの名無しさん
NGNG0301デフォルトの名無しさん
NGNG0302デフォルトの名無しさん
NGNG自分で背景理論的正当性がわかんないけど、やってみます。
0303デフォルトの名無しさん
NGNGご提案どおりHELP見たり検索したりしたんですけど、具体的な手法がわからないままなんです。
0304デフォルトの名無しさん
NGNG0305デフォルトの名無しさん
NGNGだとしたら全然Common Object Modelじゃないな。
0306デフォルトの名無しさん
NGNG0307デフォルトの名無しさん
NGNGお前もう、いいかげんしつこいし、全然わかってないよ。
COMのDLLを呼び出すもなにも、
VBAでオブジェクトを扱う=COMのEXEまたはDLLの呼び出し
なんだよ。
最初に参照設定をしとけば、あとはお前がVBA側で
それを意識する必要はない。
MsgBox Application.Path
これもCOMのオブジェクトの呼び出しなんだよ。
お前そんなこともわからないで本当にC++で
COMコンポーネントを作れるのか?
0308デフォルトの名無しさん
NGNGごめんなさい。ぼく低学歴で知能指数も低いんです。Rogersonの参考書の範囲で
しか知らないんです。ずっと検索したりヘルプから探してるんだけど、なぜかきっか
けすらつかめません。あなたはきっとぼくよりも高学歴で高給でスキルも持ってら
っしゃると思います。お情けと思って、参考書をご存知なら教えてくださいませんか?
0309デフォルトの名無しさん
NGNG0310デフォルトの名無しさん
NGNGこれはネタではありませんよ。ホントです。おながいします。
0311デフォルトの名無しさん
NGNG0312デフォルトの名無しさん
NGNGそうおっしゃらずに、バカを助けると思って・・・・・
ご存知の方、おながいします。
0313デフォルトの名無しさん
NGNGVBAの入門書をどれでもいいから買え。
VBAのステートメントを数個覚えるだけで自動的に呼び出せるのに
専用の書籍なんかあるかボケ。
0314デフォルトの名無しさん
NGNG「おながいします」って何だよ、ふざけるな。
0315デフォルトの名無しさん
NGNG0316デフォルトの名無しさん
NGNG0317デフォルトの名無しさん
NGNG参考書はちゃんと持っていますし、活用しています。
Inside COM, MSP, Rogerson
Excel 97 VBA辞典 翔泳社変
それにしてもこんなに検索もHELPも使えなかった事例はありません。とほほ・・・・・
0318デフォルトの名無しさん
NGNG0319デフォルトの名無しさん
NGNGInside COM を読破できる貴方様を助ける事が出来る香具師など
このスレには居りませんです。
0320殺すケ
NGNG0321デフォルトの名無しさん
NGNG0322デフォルトの名無しさん
NGNGATL使えば簡単にCOM(AxtiveX DLL)
くらい簡単に作成できるのだが...
あとは、対象のDLLに対して
Regsvr32.exe *.dllと登録し
ブビエディタのメニュー ツール 参照設定でチェックすれば
new宣言でクラスが使えるし。
dim cl as new * (補完リストに名前がでてくる)
参照設定しない場合は
クラスをobject型で宣言し
set cl = createobject("DLLプロジェクト名-普通拡張子を除いた名前
レジストリエディタで検索すればでてくる")
あとはそのクラス(cl)に対して操作をするだけ。
使い終わったら最後に
set cl = nothingをつけて解放させる。
それほどキーキー騒ぐほど難しい回答でもないのだが。
0323デフォルトの名無しさん
NGNG> ATL使えば簡単にCOM(AxtiveX DLL)
> くらい簡単に作成できるのだが...
コンパイラ=VC++ とは限らんのだが。
まあ、こんな厨が使えてるとすればATLだろうけどな。
何言ってもわからんアホは放置しとけ。
0324デフォルトの名無しさん
NGNGInside COMでは、VC++のなかだけで演習問題を淡々とやっていくだけなので、Excel VBA空何かをいろいろする、というような趣旨の具体的な内容は一切ありません。
>>320
COMの参考書にでてくるようなDLLをVC++で作って、それに実装される関数をExcel VBAから使いたい、ということです。
>>322
親切にありがとうございます。ご指摘の点は感覚的に理解できましたし、今VBAでちょ
っとやってみたら、なんとなくできそうです。やってみます。
ちなみに、COM的なDLLじゃなくて、一番単純で古典的なDLLでも、レジストリにのっち
ゃえば、参照できるんですよね?この線も自分でやって見ますけど。たしか、COMの
参考書にでてくるDLLの書き方には、カウンタとかがあって、初歩的なDLLの書き方
とちょっと違っていたような気がします。もう2年以上も前にやったことなのですが、思
い出しながらやってみます。
0325デフォルトの名無しさん
NGNG>番単純で古典的なDLLでも
Win32 DLLのことか?
そのDLLとActive X DLL とは全く別物だぞ。
Win32APIを呼ぶ方法(Declare宣言)
で使用しなければならない。
0326デフォルトの名無しさん
NGNGそう。InsideCOMにでてくるC++のDLLはIUnknownとかRefとかが出てくるし、どちらか
といえばややこしそうなので、古典的なDLLのほうが簡単そうだと、自分では思ってい
ます。でも、古典的なDLLも、VBAの『参照』からいろいろできるのでしょうか?なんか
ぱっと見、全然できそうにないように思います。ま、自分でコード書く手間はいといませ
んから、ツール系が使えなくてもいいのですが。レス感謝。バカでゴメン。
0327デフォルトの名無しさん
NGNG0328デフォルトの名無しさん
NGNG0329デフォルトの名無しさん
NGNGSheets("aaa").[_CodeName] = "bbb"
でできた気がする
0330デフォルトの名無しさん
NGNG0331デフォルトの名無しさん
NGNGそれじゃエラーになったよ。
Sheets("aaa").Name = "bbb"
で行けるよ。
0332デフォルトの名無しさん
NGNGあれ、訂正しようと思ったけど、できた?
今やってみたら、
Sheets("aaa").[_CodeName]
という記述ではダメだったわ。
一旦Worksheet型にキャストするか、または
モジュール名を直接指定すればできた。
Dim w As Worksheet
Set w = Sheets("aaa")
w.[_CodeName] = "bbb"
または
Sheet1.[_CodeName] = "bbb"
>>331
それはシート名だろ。質問はシートのモジュール名なんだが。
0333デフォルトの名無しさん
NGNG>>332
質問者じゃないが良い情報をありがとう。
ヘルプには
「実行時に、このプロパティの値をコードで変更することはできません。」
なんて書かれてますね。
0334丸血
NGNG1975213
1976172
1982149
198371
1984150
1985112253343
1986122151173
198754
19884
--------------------------------
という
--------------------------------
【西暦】 【コード1】 【コード2】
↑ここは、あれば3,4と続く
に並ぶファイルがあります。
0335丸血
NGNGこれを
経年的に見るために
--------------------------------
1975213
1976172
1977
1978
1979
1980
1981
1982149
198371
1984150
1985112253343
1986122151173
198754
19884
--------------------------------
という風に【西暦】を年が`続いていくよう'に
挿入していきたいのです。
アルゴリズムとして
どのように書けばスマートに書けるでしょうか?
0336丸血
NGNG213
172
149
71
150 ,
112 ,253 ,343
122 ,151 ,173
54
4
がコードで
1975
1976
1982
1983
1984
1985
1986
1987
1988
が【西暦】です。
0337デフォルトの名無しさん
NGNG0338デフォルトの名無しさん
NGNG西暦とコードを分けてシートに貼り付けて、西暦の優先順位を高くして並べ替え(Sort)
それか、全部のデータを文字列として並べ替え
0339デフォルトの名無しさん
NGNGVBAのHELPをいろいろ検索したり、ネットでVBAで累積標準正規分布積分を簡単に計算する方法を探し
たのですが、見つかりません。
ビルトイン関数として必ずあるはずだと思うのですが、ご存知の方、教えてくださいませんか?
0340デフォルトの名無しさん
NGNGApplication.NORMSDISTではだめだった?
0341デフォルトの名無しさん
NGNGご親切にありがとうございました。うまくいきました。現在、XLLに実装されている関数を呼び出せずに苦労しています。アドインにはちゃんと出るんですが・・・・・
0342デフォルトの名無しさん
NGNGアドインをVBAから呼び出すという事ですか?
0343デフォルトの名無しさん
NGNGそうです。でも、自分で今回は解決できました。
Runを使えばよかっただけの話です。(爆)
0344デフォルトの名無しさん
NGNG0345デフォルトの名無しさん
NGNGつぅか有言実行がルールだろ。
回線切って首つり自殺した奴なんて数えたらきりがないぞ。
>>343は爆死を選択か。まぁ、うまくいけば一瞬だな。
0346デフォルトの名無しさん
NGNG一番の違いはマクロセキュリティのデフォルト値でしょう。
故にブックのモジュールに書くのはやめた方がよい。イベントプロシージャではなく、オブジェクトにマクロ登録すべし。
0347デフォルトの名無しさん
NGNGセルから持ってくる場合がほとんどのようです。
ぼくは、VBAそのものにその選択肢となるものを埋め込んでしまいたいのですが、
やり方がわかりません。
で、いろいろ調べたのですが、シート上から持ってくる方法(つまりすでに知っている
方法)しか見つかりません。
C++のように、文字列の配列みたいなかんじでVBAの中に定義して、コンボボックス
のプルダウンメニューから選択できるようにしたいのです。おながいします。
0348デフォルトの名無しさん
NGNG0349デフォルトの名無しさん
NGNG>>347
単にStringな変数宣言して初期値放り込んでやればいいんでは?
0350デフォルトの名無しさん
NGNGまた徹底していじめられるかと思いましたが、マジレスが着たのでとてもうれしいです。
複数の選択肢をVBAのスクリプトの中で指定したいのです。ご指摘の方法だと、ひと
つしか指定できませんから、コンポボックスでプルダウンしても他になにも出てきませ
ん。Stringで複数の選択肢を配列のように指定して、プルダウンで選択できるように
することができますか?
0351デフォルトの名無しさん
NGNG>ひとつしか指定できませんから
必要な分その定数的な変数作るとか配列にするとか。手はいくらでもあると思われますが。
0352デフォルトの名無しさん
NGNGその辺はぼくもなんとなく想像できたのですが、具体的にどうコードを書けばいいか
わかりませんでした。セル範囲を指定する古典的な方法をなんとか応用して、配列
の線、複数の提携文字列の線、両方でアプローチしてみます。プロパティから指定
する方法があれば便利だな、と思ったのですが・・・・・コードも一発でわかるし。
0353デフォルトの名無しさん
NGNGシートにオプションボタンを15個くらいつけたら
起動時間がずいぶんかかるようになってしまいました。
これはどうにもならないのでしょうか?
0354352
NGNGListFillRangeを使ってセルの範囲を使う方法は使いたくないのです。
どなたかよいお知恵を・・・・・
0355デフォルトの名無しさん
NGNG(´∀` )エヘヘ VB初心者質問スレ Part19
http://pc3.2ch.net/test/read.cgi/tech/1039859691/530
死ねクソマルチ。
0356デフォルトの名無しさん
NGNGUserForms(フォーム名).Show
でうまくいきませんでした。
0357デフォルトの名無しさん
NGNG直接の方法は無いと思う。
何らかの工夫(例えば表示するコード自体を実行時に生成するとか)をしない限り。
>>350
学習能力ゼロの能無しは放置。
といきたいところだが、いいかげんマジで目障りだから二度と来んな
糞マルチ野郎。
0358デフォルトの名無しさん
NGNG0359デフォルトの名無しさん
NGNGそんな時にはAddItem メソッド使え
With ComboBox1
.AddItem "おまえ"
.AddItem "ちったー"
.AddItem "生きてるうちに"
.AddItem "頭使えよ"
End With
どうよ
0360デフォルトの名無しさん
NGNG実は『う〜、世にでているアプリはみんなできてるんだから絶対方法がある
はずだ〜。こうなったらプロパティーを一つ一つ調べてみるべ。』と思って地
道にやっていたら、UserForm_Initialize()のところでAddItemがあることがわ
かりました。で、ここで定義した値が他の関数からうまく参照ができることま
で確認して報告しようと思っていたんですけど、せっかくのご返答ですから、
お礼を兼ねてご報告します。ぼくは低学歴で、年収も低く、キャリアもかなり
しょぼいので、みなさんがまぶしいです。一生懸命検索するよりも、一番最
初の親部分からヘルプをなめるのも有効ですね。
>>359さん、ありがとう。マルチ、ごめんね。
0361デフォルトの名無しさん
NGNG0363デフォルトの名無しさん
NGNG>>630に抗議します。
0364デフォルトの名無しさん
NGNGファイルサイズが700Kでセーブが異様に遅くなってしまった。
で、どこがそんなにでかいのかと思って、
シートとかフォームとか消していったんだけど、
全部消しても300Kまでしか減らなかった。
新規のワークブックは30Kぐらいなのに。
これは何のデータですか?
0365デフォルトの名無しさん
NGNGなぜかしらんか、VBAで色々編集してるとサイズが大きくなるよね。
新規のブックに全部インポートすれば、かなり小さくなるはず。
0366デフォルトの名無しさん
NGNGEXCEL VBAでWorksheet_Changeを使っているんですが、
そのプロシージャ(?)の中でセルに値を入れると
またWorkSheet_Changeが呼び出されて無限ループになってしまうようです。
数値を扱うのでセルに値を入れるときは文字列型にしたり
パブリック変数でフラッグ立てる真似事したり、
他のワークシートを作ってフラッグ立てる真似事したり(もうメチャクチャ)
どうにもなりません。
プログラミングの経験はN88 BASICだけです。後はLOGO...
絶対何か見逃してるんと思うですけど、もう限界です。
0367デフォルトの名無しさん
NGNGメリークリスマス。。★彡
パートナーは見つかりました?(o^.^o)
http://abba.hp.infoseek.co.jp/1/
0368366
NGNG今の状態はこんな感じです。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer, j As Integer, k As Byte, h, flag01
Dim first_heat_min(10, 2) As Byte
flag01 = Target
If TypeName(flag01) = "String" Or _
TypeName(flag01) = "Single" Then GoTo Label01
flag01 = ""
h = Empty
For i = 0 To 10
For j = 0 To 2
k = k + 1
h = Cells(k, 6).Value
If TypeName(h) <> "String" Then first_heat_min(i, j) = Cells(k, 6).Value
Next j
Next i
k = 0
For i = 0 To 10
For j = 0 To 2
k = k + 1
If first_heat_min(i, j) <> 0 Then Cells(k, 11) = " " & (first_heat_min(i, j) + 0.0001)
Next j
Next i
Label01:
End Sub
お願いします、何かヒントを下さい
0369デフォルトの名無しさん
NGNG0370366
NGNG速レスありがとうございます。
フラッグの立て方も間違えてるんでしょうか?
僕は標準モジュール内でパブリック変数を宣言してセルに値を入れる前に
false、いれ終わったらtrueに戻して、
プロシージャ(?)始まったらすぐにfalseならExit Sub
としています。
もしかしたら何か大きな勘違いをしているんでしょうか?
0371デフォルトの名無しさん
NGNG0372366
NGNGあ、そうですね。
前はWorkSheets_Changeからcallで標準モジュール内のプロシージャ
を呼び出してたんですけど、そうしたら無限ループになってました。
今WorkSheets_Change内でやったら今度は371さんの言う通りに
動きませんでした。最初にフラッグをTrueにせんとあかんかと思って
Double_Clickイベントを先に作ってフラッグをTrueに設定してみたりしましたが
だめでした。
0373デフォルトの名無しさん
NGNGPrivate Sub Worksheet_Change(ByVal Target As Range)
Static ExcFlg As Boolean
'二重起動防止
If ExcFlg = True Then Exit Sub
ExcFlg = True
処理...
ExcFlg = False
End Sub
もっといいのあるかも知れんがとりあえずこれで。寝る。
0374366
NGNGWorkSheet_Changeイベントを一時的に無効にする
メソッド(?)って無いんでしょうか?
0375デフォルトの名無しさん
NGNG0377366
NGNG>Dim ステートメントの代わりに
>Static ステートメントを使用すると、宣言された変数は、
>モジュールの実行中、値を保持します。
「モジュール」の概念を理解していないので
混乱してしまいました。一晩かけて勉強させて頂きます。
>>369さん、373さん、夜分遅くありがとうございました。
(もしかして同じ方ですか?だったらごめんなさい)
メリークリスマス。
0378デフォルトの名無しさん
NGNGEnableEventsの事か?
でもこれはエラー処理をしっかりやらないと結構とリ扱いが難しいよ。
0379デフォルトの名無しさん
NGNGメリークリトリス!
0380366
NGNG詳細を教えていただけますか?
今ヘルプを参照した限りではそう難しく無さそうなんですが...
どういう場面でエラーが出やすいんでしょうか?
>>379
どもです......ん?
0381デフォルトの名無しさん
NGNG378ではないが、仮にEnableEventsをFalseにしている状態の時に
実行エラーが発生してプロシージャが中断すると、Falseのままに
なってしまうのでまずいということだと思う。
エラーをトラップしてEnableEventsを元に戻せるようにした方がいいと。
それにしても糞コードだな。
なんで Byte型使ってんの(小さい方がいいと思ってるの)?
なんで k しか使ってないのに i や j でループしてんの?
ループも1ヶ所にまとめられるだろ。↓のような感じで。
Dim h As Variant, i As Long, first_heat_min As Long
Select Case VarType(Target.Value)
Case vbString, vbSingle: Exit Sub
End Select
For i = 1 To 33
h = Cells(i, 6).Value
If VarType(h) <> vbString Then
first_heat_min = h
If first_heat_min <> 0 Then
Application.EnableEvents = False
Cells(i, 11).Value = " " & (first_heat_min + 0.0001)
Application.EnableEvents = True
End If
End If
Next i
0382381
NGNGDim r As Range, c As Range
Set r = Intersect(Cells(1,6).Resize(33), Target)
If r Is Nothing Then Exit Sub
For Each c In r
'ここでc.Valueを判定してから c.Offset(,5).Valueをセット
Next c
のような形にする。
0383366
NGNGありがとうございます。参考にさせて頂きます。
>なんで k しか使ってないのに i や j でループしてんの?
ご指摘もっともです。
まだWorksheet_Changeが動くか試してる状態だったんで
とりあえず適当にコードを継ぎ接ぎした結果がこれです。
でも>>382はすごく参考になりました。
ありがとうございます
0384デフォルトの名無しさん
NGNGまた、他Bookに置いてあるボタンをVBAのコードから「押す」という動作をさせる事は可能でしょうか?
0385デフォルトの名無しさん
NGNGWINと同じようにApplication.SendMail recipient:="あどれす", subject:="件名"
では無理なのでしょうか?知っておられればどうか教えてください。
0386デフォルトの名無しさん
NGNG開いてればね
0387デフォルトの名無しさん
NGNGSet obj = new MyClass
とかやったとき、必ず実行される C++, Java でいうところの
コンストラクタを探しているんですが、そーゆーのってないんでしょうか?
今は、 init ってサブルーチンを実行前に必ず動かして
お茶を濁していますが。
Set obj = new MyClass
obj.init ' ←コイツ
obj.XXX
0388デフォルトの名無しさん
NGNGvbだけど.netでコンストラクタが用意されたとかえばってたくらいだから。
initializeイベントをデフォルトコンストラクタとして使うんじゃなかったかしらん?
0389デフォルトの名無しさん
NGNGVBAにいおけるコンストラクタ:
Private Sub Class_Initialize()
デストラクタ:
Private Sub Class_Terminate()
0391387
NGNGありがとう!
おかげで AssociatedArray クラスを作れたよ。
Perl の連想配列もどきを実現できました。
これで年明けに来る仕事こなせます。
initialize イベントの発動タイミングがいまいちわからないけど、
こっちの方もいろいろいじってみます。ありがとー。
# なんでこんな大切なものがヘルプで見つからないんだ(ブツブツ
0392387
NGNGクラスモジュールを編集するテキストエディットコントロール(っていうの?
のすぐ上にある、 (General)を Class にして、その右にあるコンボボックスから
initialize を選べば自動でプロシージャが挿入されるんだね。
terminate も同様。すばらしい。
イベントの発動タイミングはデバッガで見ると、
Set obj = new AssociatedArray
だ。まさに、オブジェクトが作られたタイミングだね。すばらしい。
0393デフォルトの名無しさん
NGNG連想配列もどきなら、Dictionaryオブジェクトでいいんじゃないのか?
0394デフォルトの名無しさん
NGNG0395デフォルトの名無しさん
NGNGA,Bのブックがあり、それぞれデータを共有しながら単独で動きます。
一つどうしても共有化できなかったデータがありBで必要になったのでAをマクロ無効にしながら開いて参照したかったのですが
無効にする方法を見出せずにいます。
Openで開いても、GetObjectでインスタンスに乗せてもA側のWorkbook_Openイベントがfireされます。
マクロを無効にして他ブックを開きたいのですがどの様にしたら良いでしょうか?
0396デフォルトの名無しさん
NGNG0397395
NGNGレスありがとう。
分かりました。Aの変更時と同時に他のリソースに書くことにします。
0398デフォルトの名無しさん
NGNG文字列演算が多いので
MyString.create(str).func1.func2.func3.to_string
とかやりたいんですが。
0399デフォルトの名無しさん
NGNGMe ?
0400デフォルトの名無しさん
NGNG質問させてください。
A B C D E F
1. リストNo 数値1 数値2 数値3
2. 1 0326 3124 0001
3. 2 0327 3125 0002
4. 3 0328 3126 0003
5. 4 0329 3127 0004
6. 5 0330 3128 0005
上記のような表があるとして、セルに記入された数値と一致する
リストNoのはいったセルをアクティブにする方法を教えてください。
F1に"3"と入れるとA4がアクティブになるような。
0401398
NGNGMe ってうつと this ポインタになるのかと思った。
違うみたい。
...Me ってなんだ?
0402sn00pie
NGNGVBA はじめたばかりの sn00pie です。
シートは1枚と仮定。
ガンバレ。とりあえずリファレンス買え。
Sub SelectAllSameValues(value As String)
Dim cell As Range
Dim rangeString As String
rangeString = ""
For Each cell In ActiveSheet.UsedRange
If cell.value = value Then
rangeString = rangeString + cell.Address(False, False) + ","
End If
Next cell
rangeString = left(rangeString, Len(rangeString) - 1)
Range(rangeString).Select
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Address(False, False) = "F1" Then
SelectAllSameValues Target.value
End If
End Sub
0403398
NGNGクラスモジュールを追加して、
Option Explicit
Public Function returnMe() As Class1
returnMe = Me
End Function
Public Sub printMsg()
MsgBox "hell world"
End Sub
次に ThisWorkbook に
Sub testKeywordMe()
Set obj = New Class1
obj.returnMe.returnMe.returnMe.printMsg
End Sub
として実行できると思ったのに、できません。
ヘルプには Me が this である、という記述に見えるのに
どこが間違っているんでしょうか?
0404400
NGNGわぁ こんなに早くレスもらえるとはおもってませんでした。
さっそくためしてみます。
ありがとうございました。
0405398
NGNGよーするに、Me は Function の戻り値として使えないみたい。
引数として他の Sub, Function に Me を渡すことはできるみたい。
もし、obj.func1.func2.func3をしたい場合は、
各メソッドでインスタンスを作り直す必要がある、と。
簡単なバッチ処理を行う分には Excel/VBA でいいけど、
大規模になるとつらそうだな。この言語。
ヘルプは見にくいし、エラーメッセージが婉曲っつーかなんつーか。
ちょっとしたこともトリッキーな手法にならざる得ない気が。
# 私は日曜プログラマですが、プロプログラマは大変だろうな。
0406デフォルトの名無しさん
NGNG今回は、グラフを作成する際の参照元データの指定法です。
一般的には、Range等を用いて、セル上の数値を元にグラフを作成しますが、VBAのマクロ内で計算した数値を格納した配列を直接渡したいのです。
どうすればいいかわかりません。SourceやRangeの関連は全部調べましたし、持っている5冊の参考書内でもいろいろ探してみたのですが、一向に見つかりません。
おながいします。
0407デフォルトの名無しさん
NGNGPublic Function returnMe() As Class1
Set returnMe = Me
End Function
か?
0408398
NGNGそうかリファレンスの代入だったのか。
「実行時エラー '91': オブジェクト変数または With ブロック変数の設定がされていません。」
ってときは Set 抜けの可能性ありってことですか。
・・・なんてわかりにくいエラーメッセージなんだろう。
Option Explicit
Sub ExecuteDemo()
Dim myStr As MyStringClass
Set myStr = MyString.create("1234567890")
MsgBox myStr.leftString(8).rightString(4).getString ' ==> MsgBox "5678"
End Sub
あとはインスタンスを作るときに引数を指定して渡せれば
MyString って標準モジュール(function create のみのモジュール)も書かなくて
すむが、これで当初の目的は達成です。ありがとー!
0409406
NGNGグラフのデータを配列で直接渡す方法が見つかりません。どなた
か名案をご存知でしたら、どうかよろしくお願いします。現時点
では、一時的にシート別位置にデータを吐き出して、それでグラ
フを作っています。どうしても配列から直接渡したいのです。よ
ろしくお願いします。
0410デフォルトの名無しさん
NGNGVBAもVBA.NETになると思う?
0411デフォルトの名無しさん
NGNG0412398
NGNGなんでシートからグラフ作っちゃだめなんですか?
worksheet の visible で非表示でユーザに見えなくするとかは?
0413デフォルトの名無しさん
NGNG俺もあのエラーメッセージには泣いてる
0414406
NGNG解決できました。汚いコードですがこんな感じです。要するに、文字列をこんな具合に作ってあげて、投げてあげればできます。
Public Sub CommandButton2_Click()
Dim co As ChartObject
Dim Y As Variant
i = 1
Y = "={"
While i < 5
Y = Y & S(i) & ","
i = i + 1
Wend
Y = Y & S(5) & "}"
Set co = ActiveSheet.ChartObjects.Add(10, 10, 300, 200)
With co.Chart.SeriesCollection.NewSeries
.XValues = Worksheets("Sheet1").Range("A2:A6")
.Values = Y
End With
End Sub
0415391
NGNG>>393
> 連想配列もどきなら、Dictionaryオブジェクトでいいんじゃないのか?
自作とどっちがいいか検討しました。自作の方がよさそうです。
(1) CreateObject ってラストに Nothing 代入しないとだめなのがめんどい。
(2) CreateObject だと継承できないのが痛いです。
どっちも Directory じゃなくて CreateObject のせいですが。
0416デフォルトの名無しさん
NGNGはじめからできているグラフにデータを貼り付けてファイルを作成しているのですが、
if データ系列に近似曲線がなかったらthen
処理をしない
endif
という処理をしたいのです。
グラフ自体から”データ系列に近似曲線がなかったら”という風に値が
返ってくる方法はないでしょうか?
グラフの数が多すぎ&元データの場所もバラバラなので、グラフごとの元データを
チェックするより、グラフに線がなかったら?と認識したいのです。
または「グラフの元データの範囲」の値を取得する方法はないでしょうか?
よろしくお願いします。。。
0417デフォルトの名無しさん
NGNGSheets("Sheet1").ChartObjects("グラフ 1").Chart.SeriesCollection(1).Trendlines.Count
でいけるようです。
0419416
NGNG時にゼロの値が返ってきません。Trendlinesプロパティを取得できませんの
エラーが。。。今はカウントを変数に入れてゼロだったら?のif文に
しているのですが、これがいけないのでしょうか?もう全然わかりませぬ。
0420デフォルトの名無しさん
NGNGそうでしたか?一度近似曲線を作って消してからならOKのようです。
今ちょっと確かめてみます。
0421416
NGNG0422デフォルトの名無しさん
NGNGやってみました。近似曲線を作らなくても、系列番号をSeriesCollectionで
指定してやれば、Trendlines.Countはちゃんと0を返してくれました。
カウントを変数に入れてゼロだったら?の意味がよくわかりません。もう
少し詳しく教えていただけないでしょうか。
0423416
NGNGIf GG = 0 Then
GoTo n1
End If
↑こんな感じです。使い方が間違っているのでしょうか??
0424デフォルトの名無しさん
NGNG別に間違ってないですねえ。もしかしたら系列が一つもないグラフを参照する
事もあるのですか?
0425416
NGNGそうです、あります。。。場合によってはデータが空白の時もあるので、
そういう時はグラフには何も表示されないんです。
やっぱりグラフからっていうのは無理なんでしょうか?
0426デフォルトの名無しさん
NGNGActiveChartがNothingの時はSeriesCollection以降を参照しないように
変更してみたら?
0427デフォルトの名無しさん
NGNG違った、SeriesCollection.Countが0でない時のみTrandlinesを参照するように
したらいいと思います。
0428デフォルトの名無しさん
NGNGIf ChartObjects("グラフ 1").Chart.SeriesCollection.Count Then
Range("a1") = ChartObjects("グラフ 1").Chart.SeriesCollection(1).Trendlines.Count
End If
0429416
NGNG0430416
NGNGのエラーが出てきました。。。SeriesCollectionはオブジェクトを指定
しないと使えないものなのですか?
If ActiveChart.SeriesCollection.Trendlines.Count Then
だとこのエラーで、
If ActiveChart.SeriesCollection(1).Trendlines.Count Then
だと(1)の線がグラフにないので認識してくれません。
もう私のレベルでは対応できません。。。こんな私に親切に教えて頂けて
感謝感謝デス
0431デフォルトの名無しさん
NGNGもう少しですね。Trendlinesをいきなり参照してしまっているのでエラーに
なっているのだと思います。
1.SeriesCollection.Countの値をチェックする。
2.1.が0の時は何もしない。0以外の時に初めてTrendlines.Countを調べる。
のようにすればいいはずです。SeriesCollectionが0の時は、系列が一つも
ないわけですから、当然近似曲線もないはずですから。
0432デフォルトの名無しさん
NGNGIf ActiveChart.SeriesCollection.Trendlines.Count Then
はエラーになります。
If ActiveChart.SeriesCollection.Count Then
でまずチェックして下さい。
0433416
NGNGありがとうございます!今このように
GG = ActiveChart.SeriesCollection.Count
If GG = 1 Then
やってみました。成功したと思ったのですが、なぜか近似曲線の無いグラフ
にまで1が入ってきたので調べてみたところ、このグラフは元のデータを
データ範囲からでなく系列のXの値,Yの値に直接入れているようで、
これはデータが入っていなくても系列がある事になってしまうんでしょうか?
0434デフォルトの名無しさん
NGNGIf ActiveChart.SeriesCollection.Count Then
GG = ActiveChart.Chart.SeriesCollection(1).Trendlines.Count
If GG Then
近似曲線のある時の処理
End If
End If
のようにしてみて下さい。
0435416
NGNGすみません。なんとお礼を言っていいか。。。
If ActiveChart.SeriesCollection.Count Then
GG = ActiveChart.SeriesCollection(1).Trendlines.Count
If GG = 1 Then
近似曲線のある時の処理
End If
End If
でやってみた所、GG = の所で引っかかりました。
SeriesCollection(1)が認識できないようです。
ここまで教えて頂いたのに申し訳ありません。。。
0436デフォルトの名無しさん
NGNG>>434に間違いがあり、
GG = ActiveChart.Chart.SeriesCollection(1).Trendlines.Count
ではなくて
GG = ActiveChart.SeriesCollection(1).Trendlines.Count
でした。
私の所ではこれでうまく動いているのですが・・・・・・
0437416
NGNG系列のXの値,Yの値に直接入れているのは関係ないでしょうか?
こんなことでお手間をとらせてごめんなさい。。。
0438デフォルトの名無しさん
NGNGソースがRangeでも、配列定数でも関係はないと思います。
どこが違うのかなあ?グラフは確実にActivateされてますよね?
0439416
NGNGデータがちゃんとあるところは大丈夫なのですが、
ない所になるとひっかかってしまうんです。。。
0440416
NGNGあぁぁもうダメです。。。
0441デフォルトの名無しさん
NGNG唐突ですが、EXCELで3次元のモデルって、実現可能でしょうか?
ちなみにモデルの用途は熱解析です。(汎用ソフトがあるのは知ってます
が、事情がありまして。。。)
ご存知のかた、詳しい方、お願いします。
0442デフォルトの名無しさん
NGNGデータがない時に引っ掛からないように、SeriesCollection.Countが0でない
事をチェックしているんですがねえ。うーんおかしいなあ・・・・
0443きき
NGNG0444416
NGNGですよねぇ。。SeriesCollection.Countの値をSeriesCollection()の
()の中の引数にしてみたのですが、これもダメでした。SeriesCollection.Countは
データがあっても無くても1が入ってしまいます。でもTrendlines.Count
を実行しようとするとエラーに。。。ほかの方法を考えたほうがいいでしょうか?
長々考えていただいて申し訳ありません。
0445デフォルトの名無しさん
NGNGある文字列がアルファベットや数字、つまり"-"や"$"などの
記号を除いた半角英数字で構成されているかどうかを
確認するにはどうしたらよいのでしょうか?
0446sn00pie
NGNG文字列を一文字づつ調べれば?
0447デフォルトの名無しさん
NGNG秀丸で確認すりゃいいだろ!ボケ!
反論は認めんからな(秀丸で瞬時に確認出来るだろ。10Mのテキスト文字列でも
3分位で出来るぞ、バカ)。
0448デフォルトの名無しさん
NGNG回答ありがとうございます。
やっぱりそうするしかないんですね。
メールアカウントなどで記号が使えないものが多いから
既にそういうのを摘出する機能があると考えていたんですが。
まぁ、大した処理じゃないですけどね。
>>447
"Excel"でってことなんですけど。。。
質問の仕方が悪くてどうもすいませんでした。
0449IP記録実験
NGNGhttp://qb.2ch.net/test/read.cgi/accuse/1042013605/
1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?
38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。
73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
0450デフォルトの名無しさん
NGNGよいのでしょうか?
シート上で
=char(9008)と入力するとJISコード表から"0"が表示されます。
VBAでMsgBox chr(9008)とすると、"0"ではなくコードと全く関係の無い
文字列が表示されます。
なにか方法はありますでしょうか?
よろしくお願いします。
0451デフォルトの名無しさん
NGNG0452デフォルトの名無しさん
NGNG全レス?
0453デフォルトの名無しさん
NGNG正規表現使うとか、、
http://www.microsoft.com/japan/msdn/columns/scripting/scripting051099.asp
他にもFreeで正規表現を実現するコンポーネントもあるし
0454デフォルトの名無しさん
NGNG�dカツには何ソースですか?
何ソースですか?
0455デフォルトの名無しさん
NGNG0456デフォルトの名無しさん
NGNG立たなくなるのは大変危険かと思われ。
0457デフォルトの名無しさん
NGNG0458IP記録実験
NGNGhttp://qb.2ch.net/test/read.cgi/accuse/1042013605/
1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?
38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。
73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
0459デフォルトの名無しさん
NGNG0460デフォルトの名無しさん
NGNG0461デフォルトの名無しさん
NGNG厨にはいいブレーキだろ
0462デフォルトの名無しさん
NGNGで元データを指定したいのですが、最大16個の数値しか指定できないので
困っています。これって拡張できないのでしょうか?拡張できないなら一
度セルに吐き出して、といったかんじでグラフを作成することになってし
まいます。これは避けたいのです。
このようにしてX軸Y軸のデータを指定しています。Xは16個以上でも指定
できるのですが・・・・・名案がありましたらお願いします。
Set co = ActiveSheet.ChartObjects.Add(10, 10, 300, 200)
With co
.Chart.PlotBy = xlRows
.Chart.SeriesCollection().NewSeries.XValues = X
.Chart.SeriesCollection().NewSeries.Values = Y
.Chart.ChartType = xlLineMarkers
.Chart.SeriesCollection(1).Delete
End With
0463デフォルトの名無しさん
NGNG0464デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 138720人 発行日:2003/1/9
年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。
そんなわけで、年末に予告したIP記録ですが実験を開始しています。
「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0465デフォルトの名無しさん
NGNGしょうがないでしょう、このご時世。
0466sn00pie
NGNG>正規表現使うとか、、
>http://www.microsoft.com/japan/msdn/columns/scripting/scripting051099.asp
これなんですが、 Excel VBA で使えるんでしょうか?
このインターフェースなら是非使ってみたいんですけど・・。
>>445
もし正規表現ライブラリを使えるのならば、
ttp://www.din.or.jp/~ohzaki/perl.htm#Mail
これが使えます。
ただし、 Perl の正規表現ですので VBA の正規表現に書き換える必要が
あるはず。展開後の長ったらしい正規表現を再利用しようとせずに
自分でコードを組んで正規表現を生成しなおしたほうがいいよ。
0467デフォルトの名無しさん
NGNGExcel2000でだけど、Visual Basic Editorを立ち上げて、ツール->参照設定でMicrosoft VBScript Regular Expressions
を追加すると使えるようです。
0468デフォルトの名無しさん
NGNG素で選びましたが
な に
か?
0469デフォルトの名無しさん
NGNGその時点で削除しなきゃだめよ、ってことだね
>>25
0470デフォルトの名無しさん
NGNGその時点で削除しなきゃだめよ、ってことだね
>>25
0471デフォルトの名無しさん
NGNGその時点で削除しなきゃだめよ、ってことだね
>>25
0472デフォルトの名無しさん
NGNG名誉毀損の書きこみがあったと認識し、または認識しえたとき。= 内容証明が届いた時
でしょ? いいたい事があるならはっきりと仰って下さい。
0473デフォルトの名無しさん
NGNG少なくともその人はヤブ医者に感じたんだろうが。
それを開き直る根性が全く解せない。
0474デフォルトの名無しさん
NGNG0475デフォルトの名無しさん
NGNGリアル経済ならぬバーチャル経済しかり。
ITによる失業者の吸収しかり。
「これからは2ちゃんねるの時代だ」のごとき匿名幻想しかり。
IT社会はリアルワールドにおける
信頼と責任抜きにはありえないというだけの話だ。
http://www.miyadai.com/message/?msg_date=20020713
0476デフォルトの名無しさん
NGNG人を馬鹿にするな!
0477デフォルトの名無しさん
NGNG国語辞典
若干(じゃっかん)
名詞・副詞
いくらか。少し。少々。
0478デフォルトの名無しさん
NGNG歪曲北朝鮮放送局が恐喝食中毒すし屋を第3位に。
0479デフォルトの名無しさん
NGNG( ´_ゝ`)フーン
0480デフォルトの名無しさん
NGNG0481デフォルトの名無しさん
NGNGそれよかズボラな削除体制どーにかしろって感じだな
どさくさに紛れて都合の良い法律案を盛りこむ議会みたい
管理批判の多い板から記録してるっつーのもなんだかなあ
0482デフォルトの名無しさん
NGNG0483デフォルトの名無しさん
NGNGスレタイと内容合わせようや。
0484sn00pie
NGNG> Excel2000でだけど、Visual Basic Editorを立ち上げて、ツール->参照設定でMicrosoft VBScript Regular Expressions
を追加すると使えるようです。
あー。MS記事の中の参照がどうのこうのっていうのはそういう意味でしたか。
さっそく VBA で楽しい正規表現ライフを暮らそうと思います。ありがとー。
0485デフォルトの名無しさん
NGNG表記しなさいってのは聞き飽きたよ
0486デフォルトの名無しさん
NGNG>荒らしとか犯罪のためなの?
そす。
246 名前:心得をよく読みましょう[] 投稿日:03/01/08 17:52 ID:BH998yxV
>ひろゆき
俺のお気に入りのスレとか荒されてるんだがそういうのにも有効?
257 名前:ひろゆき ◆3SHRUNYAXA [] 投稿日:03/01/08 17:53 ID:rLfxQ17l
いずれは。
0487デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 139038人 発行日:2003/1/10
なにやら、連日メルマガだしてるひろゆきです。
そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。
重くなって落ちたりしてもご愛嬌ってことで。。。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0488デフォルトの名無しさん
NGNG0489デフォルトの名無しさん
NGNG↓
どこぞの団体が、管理人にスレ・レス作成IP教えろ
↓
管理人がIP教える
│
├─────┐
↓普通 ↓異常
裁判 VXガス
こうなるとオウムに個人情報を知らせ 大量殺人にまで発展した
TBSと同じになるな。 カルトは裁判を起こすことが目的ではなく
都合の悪い相手を特定して殺害することが
IPを得る真の狙いだから真実の書き込みができなくなる。
平和な日本の昼下がり、
創価学会脱税疑惑を追及した市議会議員が自宅の団地で家事をしている。
すると突然、自宅の窓から化け物のような歪んだ力で
あっという間に空へ丸投げされて落下死する。
団地の部屋はコンビニへ買い物に行っているかのように
台所も洗濯物も何もかもがそのままの状態だ。
地元警察は創価学会と数日前から綿密な口裏合わせがあったかのように
他殺を自殺と決め付けてろくな捜査も現場検証もせず引き上げる。
http://www.sokamondai.to/
ちなみにフランス内務省は最高危険度カルト教団として
日本の創価学会を公式に認定した。
フランス政府公認のカルト教団と正義のために
たった一人実名で全面対決した市議に黙祷( ‐人‐ )
2ちゃねらーはプロバイダー責任法案を
国会で通過する前に反対しておけばよかったのに。
私は反対したが力が足りなかった。
0490デフォルトの名無しさん
NGNG0491デフォルトの名無しさん
NGNG0492デフォルトの名無しさん
NGNGテキストファイルから読み込んで下記のような表を作らなければならないのです
文学部 工学部 理学部 法学部 医学部 合計
1.男性
2.女性
無記入
コードは 文学部:1 工学部:2 理学部:3 法学部:4 医学部:5
男性:1 女性:2 無記入:空白 です。
これの学部ごとの性別の人数と合計をだすプログラムの例を教えて欲しいです
文学部、男性等の文字は初めから入力されているので数字だけが出るプログラムを
希望します。
テキストには一行目が学部、二行目が性別のコードになっています
例 11
21
52
4
11
・
・
よろしくお願いします
0493492
NGNG最後の例はコードの並び方で
11
21
52
4
11
・
・
こういう風に並んでいるということです
0494デフォルトの名無しさん
NGNG俺はひろゆきにレスされたいんだよ!
0495デフォルトの名無しさん
NGNG0496デフォルトの名無しさん
NGNG【予告】小学生の登校を狙って・・・
http://live2.2ch.net/test/read.cgi/news/1042035002/
悪戯であることを祈る。
0497ケン
NGNGあるのであれば、教えてください。
たとえば、取り込んだ画像の、上から20ポイント左から20ポイント
の位置にある、ドットの色が黒であれば、1を返してくるような
プロパティーがあれば、教えてほしいのですが・・・
0498デフォルトの名無しさん
NGNG0499デフォルトの名無しさん
NGNGWin32APIのGetPixel
0500492
NGNG誰か助けてください・・
0501デフォルトの名無しさん
NGNG漏れだったらこんな事だったらVBA使わない。
テキストを貼り付けて区切り位置ウィザードで別フィールドに整形してから
DSUM関数で集計する。
0502デフォルトの名無しさん
NGNGDCOUNTだわ、スマソ。
0504デフォルトの名無しさん
NGNG0505デフォルトの名無しさん
NGNG0506デフォルトの名無しさん
NGNGほい出来たぞ。久しぶりにBASICなんか組んだよ。
Open "InputData.txt" For Input As #1
Do
If EOF(1) Then Exit Do
Input #1, i$
Row = Mid$("BCDEFG", Val(Left$(i$, 1)), 1)
If Len(i$) = 1 Then
Column = "4"
Else
Column = Format$(Val(Right$(i$, 1)) + 1)
End If
Range(Row + Column).Value = Range(Row + Column).Value + 1
Range("G" + Column).Value = Range("G" + Column).Value + 1
Loop
Close #1
0507デフォルトの名無しさん
NGNGそうそう、2chに書き込んであるデータは行末尾に空白が一個入るから、
データをコピペする場合空白は削除しておいてね。
0509デフォルトの名無しさん
NGNG努力しろや。留年したほうがまし。
個人的意見ですが。
0510デフォルトの名無しさん
NGNGうわー。こんな問題も分からんのか......
退学すれば?諸悪の根源だよ。
0511デフォルトの名無しさん
NGNG>If EOF(1) Then Exit Do
のEOFってどういうことなんですか?
どういうときに使うんですか?
0512デフォルトの名無しさん
NGNG0513デフォルトの名無しさん
NGNG入力するデータがなくなったら、DO...LOOPを抜けるために入れてあります。
0514511
NGNGありがとうございます。
0515デフォルトの名無しさん
NGNGDO Until EOF(1)
....
LOOP
とすればIf文を一個減らせます。
0516sn00pie
NGNGなんで Format$(Val(Str(XXX))) を使うんだろう。
Format って日付の形式指定ですよね?
ならば Str(XXX) のままでいいと思う。
# VBA って sprintf 系の関数がなくてめんどいと思う今日このごろ
0517デフォルトの名無しさん
NGNGStrを使うと、先頭に不要なスペースが一つ入ってしまうので都合悪いのです。
0518???
NGNGなぜ、SAS言語がくそと呼ばれるのですか?
結構金融機関で使用しているところがあるのですが、
ほかの言語とどう違うのですか?
具体的に教えてください。マジで。
0519デフォルトの名無しさん
NGNG★私とチャットしませんか?★
0520sn00pie
NGNG空白除去でしたら Trim がありますよん。
0521sn00pie
NGNGProperty Let item(key as String)
Property Set item(key as String)
を同一クラスに実装しようとしたらできなかった。
できないものらしい。気づくのに1時間近くかかった。はぁ〜。(タメイキ
0522デフォルトの名無しさん
NGNGデフォルト引数はなかった?
0523sn00pie
NGNG僕のコメントについての発言ですか?
デフォルト引数があるか・・・?どういう意味でしょうか?
0524デフォルトの名無しさん
NGNG0525デフォルトの名無しさん
NGNG0526sn00pie
NGNGさっきはなんでできなかったんだ。
.xls ファイルを再読み込みで変わるのか?ワカンネ
get, set, let 全部できました。ガセ流してごめん。
Sub PropertyDemo()
Dim obj As New Class1
Dim value As Variant
obj.item("abc") = obj
Set obj.item("abc") = obj
value = obj.item("abc")
End Sub
0527デフォルトの名無しさん
NGNG0528Win2k SP3, Excel2000
NGNGで文字化けしてしまいます。これってMSのバグ?
0529528
NGNG0530デフォルトの名無しさん
NGNGこれでしょうか?
ttp://support.microsoft.com/default.aspx?scid=kb;ja;JP416637
0531山崎渉
NGNG0532デフォルトの名無しさん
NGNG0534山崎渉
NGNG0535デフォルトの名無しさん
NGNG表示されているエクセルデータを書きたして行くにはどうしたらいいのでしょうか・・
よろしければどなたか・・
0536sn00pie
NGNG指定するテキストファイルの中のデータを読み込み専用で開いて、データを読み込んで、閉じて、
書き込み専用で開いて、データを書きこんで、エクセルデータを書き込んで、閉じる。
最短とか、最良を選ばなくていいなら、これで十分だよね。
データの読み方はこのスレで紹介済みだよ。書き方も似たようなものだと思う。
何で悩んでるの?
0537ゆみこ
NGNGSub Macro1()
'
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;D:\0115backup!\+00\u+00\-27u+00.txt", Destination:=Range("E2"))
.Name = "-27u+00"
.FieldNames = True .RowNumbers = False
.FillAdjacentFormulas = False .PreserveFormatting = True
.RefreshOnFileOpen = False .RefreshStyle = xlInsertDeleteCells
.SavePassword = False .SaveData = True
.AdjustColumnWidth = True .RefreshPeriod = 0
.TextFilePromptOnRefresh = False .TextFilePlatform = 932
.TextFileStartRow = 1 .TextFileParseType = xlFixedWidth
.TextFileTextQualifier = xlTextQualifierDoubleQuote .TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True .TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False .TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(9, 1) .TextFileFixedColumnWidths = Array(12)
.TextFileTrailingMinusNumbers = True .Refresh BackgroundQuery:=False
End With
End Sub
↑このマクロの中で"-27u+00.txt"のところの-27を(-30〜+30)に、E2を(B2〜BJ2)に選択ヶ所の番号をループ的に順番に選択させて,処理をループ処理にしたいのですが。。。 本当によろしくお願いしますm(_ _)m
0538さちえ
NGNGExcel2000で2つのブックを開いていて、どっちにも複数のシートがあって、
シート名は重複してません。で、今注目したいブックが下にきているとき
Function GetSendStatus() As Integer
GetSendStatus = Worksheets(sheet_setting).Range("B43").Value
End Function
みたいなコードのところで「エラー9・インデックスが有効範囲にありません」が
発生します。
今操作中のブックにsheet_settingというシートがないゆえだと思うんですが
ブック名まで指定しないとダメなんでしょうか?
0539デフォルトの名無しさん
NGNGもーちっと見やすく書けや。
0540U ◆CZtFsGiu0c
NGNGそのFunctionはどこに記述されているんですか?
対象のブック内に記述されているのであればThisWorkbookでそのブックを
指定できますが、そうでないとすると、対象となるブックを特定する情報
が必要になるでしょう。
0541さちえ
NGNG☆ゴン
|/
|( `Д´)ノ アイター!
|<( )へ
| >
そうだ、こんなときにこそ ThisWorkbook. を使えばよかったんですね!
バカだ・・・わたし・・・
いやいや、ありがとうございました!
0542デフォルトの名無しさん
NGNGPostgresのデータをExcelに落としたいのですが、
どうすればよいか、書いてある本をご存知の方
いないでしょうか。
ご存知でしたら教えてください。
お願いします。
0543デフォルトの名無しさん
NGNGMySqlに汁!
0544デフォルトの名無しさん
NGNGMySQLならできるのでしょうか。
0545デフォルトの名無しさん
NGNG適当にサンプル。Postgres使っていないから分からんが、こんなのでいけるんじゃないのか?
ODBCは配布してるサイトから拾ってくる事。
Private Sub Connection_Test()
Dim cnList As New ADODB.Connection
Dim cmList As New ADODB.Command
Dim rsList As New ADODB.Recordset
Dim sConnectionString As String
sConnectionString = "driver={PostgreSQL};server=(local);database=testdata;uid=saUser;pwd=;"
cnList.ConnectionString = sConnectionString
cnList.Open
cmList.ActiveConnection = cnList.ConnectionString
cmList.CommandText = "SELECT * FROM tblSample ORDER BY ID"
Set rsList = cmList.Execute()
Range("A2").CopyFromRecordset rsList
rsList.close
cmList.close
cnList.close
End Sub
0547デフォルトの名無しさん
NGNG'CommandButton1〜5を作成する関数
Public Sub t()
Dim i As Integer
ActiveSheet.OLEObjects.Delete
For i = 1 To 5
Call ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1")
Next i
End Sub
するとCommandButton1〜5が生成されます。それからもう一度実行すると、
CommandButton1,6,2,3,4が生成され、その次はCommandButton1,5,6,2,3が生成されます。
なぜこのような結果になるのか知りませんか?
想像では、オブジェクトの破棄している最中に生成しようとしたからだと思うんですが・・・
意図したとおりに生成される方法を教えてください、おながいします・・・
0548デフォルトの名無しさん
NGNG0549デフォルトの名無しさん
NGNG書くってのはどうかしてるな。
0550自称「脳内SE」
NGNGそれでC++ソースも生成してますが、何か?
0551デフォルトの名無しさん
NGNGデータベースに基づいてEXCEL上で数千本のLine描画は
厳しいんでしょうか?凄く遅くなりました。
0552sn00pie
NGNG高精度の変数使わない処理ならば良い。
VBA でひとつのテンプレシートから50枚のシートを自動生成しました。
必要なら高精度ライブラリ作れw
ネタニマジレス
0553デフォルトの名無しさん
NGNG0554デフォルトの名無しさん
NGNG0555世直し一揆
NGNGるな!)
●とにかく気が小さい(神経質、臆病、二言目には「世間」、了見が狭い)
●他人に異常に干渉する(しかも好戦的・ファイト満々でキモイ、自己中心)
●自尊心が異常に強く、自分が馬鹿にされると怒るくせに平気で他人を馬鹿にしようとす
る(ただし、相手を表面的・形式的にしか判断できず(早合点・誤解の名人)、実際には
たいてい、内面的・実質的に負けている)
●本音は、ものすごく幼稚で倫理意識が異常に低い(人にばれさえしなければOK)
●「常識、常識」と口うるさいが、実はA型の常識はピントがズレまくっている(日本
の常識は世界の非常識)
●権力、強者(警察、暴走族…etc)に弱く、弱者には威張り散らす(強い者に弱く
、弱い者には強い)
●あら探しだけは名人級(例え10の長所があってもほめることをせず、たった1つの短所を見つけてはけなす)
●基本的に悲観主義でマイナス思考に支配されているため性格がうっとうしい(根暗)
●一人では何もできない(群れでしか行動できないヘタレ)
●少数派の異質、異文化を排斥する(差別主義者、狭量)
●集団によるいじめのパイオニア&天才(陰湿&陰険)
●悪口、陰口が大好き(A型が3人寄れば他人の悪口、裏表が激しい)
●他人からどう見られているか、人の目を異常に気にする(「世間体命」、「〜みたい
」とよく言う)
●自分の感情をうまく表現できず、コミュニケーション能力に乏しい(同じことを何度
も言ってキモイ)
●表面上意気投合しているようでも、腹は各自バラバラで融通が利かず、頑固(本当は
個性・アク強い)
●人を信じられず、疑い深い(自分自身裏表が激しいため、他人に対してもそう思う)
●自ら好んでストイックな生活をし、ストレスを溜めておきながら、他人に猛烈に嫉妬
する(不合理な馬鹿)
●執念深く、粘着でしつこい(「一生恨みます」タイプ)
●自分に甘く他人に厳しい(自分のことは棚に上げてまず他人を責める。しかも冷酷)
●男は、女々しいあるいは女の腐ったみたいな考えのやつが多い(例:「俺のほうが男
前やのに、なんでや!(あいつの足を引っ張ってやる!!)」)
0556山崎渉
NGNG0557デフォルトの名無しさん
NGNGUserForm1にCommandButtonを5個作ってmacro1から呼び出す様にしたかったんですが
実行時エラー'424': オブジェクトが必要です。
と出ます。分かる方がいらっしゃいましたらアドバイスお願いします。
'UserForm1モジュール
Option Explicit
Option Base 1
Dim myClass1(5) As New Class1
Private Sub UserForm_Initialize()
Dim myCmdBtns As New Collection
Dim i As Integer
With myCmdBtns
.Add Item:=CommandButton1
.Add Item:=CommandButton2
.Add Item:=CommandButton3
.Add Item:=CommandButton4
.Add Item:=CommandButton5
End With
For i = 1 To 5
Set myClass1(i) = New Class1
With myClass1(i)
.Cmd = myCmdBtns(i)
.Index = i
End With
Next
End Sub
0558デフォルトの名無しさん
NGNG'Class1モジュール
Option Explicit
Private WithEvents myCmd As MSForms.CommandButton
Private m_intIndex As Integer
Public Property Get Cmd() As MSForms.CommandButton
Set Cmd = myCmd
End Property
Public Property Let Cmd(ByVal cmdNewValue As MSForms.CommandButton)
Set myCmd = cmdNewValue
End Property
Public Property Get Index() As Integer
Index = m_intIndex
End Property
Public Property Let Index(ByVal intNewValue As Integer)
m_intIndex = intNewValue
End Property
Private Sub myCmd_Click()
MsgBox "クリックしたボタンはCommandButton" & m_intIndex
End Sub
Sub macro1()
Show.UserForm1
End Sub
0559デフォルトの名無しさん
NGNG0560デフォルトの名無しさん
NGNG0561デフォルトの名無しさん
NGNGExcel2002で動かしたらちゃんと動きましたよ。
0562デフォルトの名無しさん
NGNGご回答、ありがとうございます。
動きますか・・・私のは何故動かないのだろう・・・。
Excel2000でも動きますよね?
0563デフォルトの名無しさん
NGNGした事は、macro1をSheet1に置き、UserForm1にコマンドボタンを5つ作成し、
UserForm1モジュールをUserForm1のマクロに置き、クラスモジュールを
作成してClass1をコピペ、macro1を実行しただけです。
0564デフォルトの名無しさん
NGNGSheet1と標準モジュールの違いはありますが、あとは同じ様にやっているんですけどね。
(試しにSheet1にmacro1を置いて実行しても、結果変わらずエラーでした)
動く事だけ分かっただけでも大きな収穫です。
もう一度やり直してみたりExcel2002上で試したりしてみます。
ありがとうございました。
0565デフォルトの名無しさん
NGNG2000と2002で何か違うのかな?
0567デフォルトの名無しさん
NGNGやり方ってありますか?例えば、なにかのアクションを起こした
ときに、自動で任意の大きさ、場所へコマンドボタン等が自動で
シート内へ貼り付けれるようなカンジで。
0568デフォルトの名無しさん
NGNGって方法ならありかと
0569デフォルトの名無しさん
NGNG(*~ー゜)ノ ・・・・・心温まるの〜
0570557
NGNGExcel2002でうまく動く事を確認しました。
というか試している過程で気づいたのですが、単なるコピペミスの可能性が大で
Excel2000でも動くような気がしました。どうもありがとうございました。
0571デフォルトの名無しさん
NGNG動いてよかったですね。
Excel2000でもこのプログラムを見る限りは動くような気がします。
0573デフォルトの名無しさん
NGNG0574デフォルトの名無しさん
NGNGシート ×
セル内の ○
でした。
0575デフォルトの名無しさん
NGNG「マクロの記録」をすれば一発で分かるけど
Range("A1").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="http://2ch.net/"
0576デフォルトの名無しさん
NGNGあ!できた。
どうもです〜。
0577デフォルトの名無しさん
NGNG0578テストで出た異常の話
NGNGRange.Find()が動かない。NT4のOfficeは97。
・・・・・2000でXPだと動くな。ただのバグか。
あと、VBAではないんだが=COUNTIF(A1:A500,"<>0") としていると、
途中のセルをClearContentsしても数が変わらない・・・
(※delキーでクリアしても確認できる)
2000+XPでも再現。<>は駄目なのか?
初回とかは成功するから性質が悪い。
=COUNTIF(A1:A500,">0")+COUNTIF(A1:A500,"<0")
に置き換えることにしたが、顧客側担当者と二人で頭抱えたよ・・・
数十もあるブックで、どれくらい気付かずに使ってるか知れたものでは
ないから。
0579デフォルトの名無しさん
NGNGどなたか教えてください
EXCELVBAで例えばユーザが引いた罫線が
メニューのセルの書式設定からひかれたものか、
罫線パレットからひかれたものか
判断するようなことってできませんか?
要はユーザの操作がしりたいんですが
できませんかね
0580デフォルトの名無しさん
NGNGマクロでどうやるんですか?
0581デフォルトの名無しさん
NGNGThisWorkbook.Path
ThisWorkbook.Name
0582デフォルトの名無しさん
NGNGありがとう!助かりました。感謝
0583デフォルトの名無しさん
NGNG詳しく書いてあるサイトか本があったら教えてもらえないでしょうか?
よろしくお願いします。
0584デフォルトの名無しさん
NGNGttp://www.microsoft.com/japan/msdn/xml/downloads/msxml4.asp
ttp://www.microsoft.com/japan/msdn/howto/howtoXML.asp
とか?
0585正規分布
NGNGたとえば、[-1,2]×[3,4]の場合を教えてください。
0586デフォルトの名無しさん
NGNGたとえば、列A1からA10まで値が入ってるとします。
そして、B1からB10にはA1からA10までの値を参照してるとします。
そこで、A11に値が新たに追加された場合、B11にも自動的にA11の値が
入るようにするには、どう書けばよろしいですか?
0587デフォルトの名無しさん
NGNG横着しない
0588デフォルトの名無しさん
NGNGPrivate Sub Worksheet_SelectionChange(ByVal Target As Range)
With ActiveCell
If .Column = 1 Then
.Offset(-1, 1) = .Offset(-1).Value
End If
End With
End Sub
0590南斗水鳥拳のレイ
NGNGの
>2変量標準正規分布の積分をマクロでするにはどうしたらいいのでしょうか?
>たとえば、[-1,2]×[3,4]の場合を教えてください。
を答えられる人いないの?
0591デフォルトの名無しさん
NGNGとか思った。けど、実は簡単だったりしたら恥ずかしいので黙ってた。
0592デフォルトの名無しさん
NGNG0593デフォルトの名無しさん
NGNG質問が漠然としすぎ。
これに(労せず)答えるには
1.2変量標準正規分布
2.excelの組み込み関数(に1関連のものがあるかどうか)
の両方を知っていないと逝けない。
585が何をどこまで知っているのか(知らないのか)
わからんのだから591のように様子見だろ。
例えば
/*
2変量標準正規分布の積分を求める方法を教えてください。
1変数の場合はNORMSDISTというワークシート関数があるのですが
2変数版が見つかりません。マクロを自分で組まなければいけないようですが
どうしたらいいでしょうか。
*/
くらい書いてあれば、もし関数があって詳しい人が居たら即答してくれるし、
なくて自作ということになれば「数値積分でググレ」くらいの答えは返ってくるよ。
とにかく585だけじゃVBA自体は触っていても数値積分のアルゴリズムが解らないのか、
マクロって何?なのか、そもそも正規分布からしてよく解らんのか、全然見当つかないもの。
0594南斗水鳥拳のレイ
NGNG2変量標準正規分布の積分を求める方法を教えてください。
1変数の場合はNORMSDISTというワークシート関数があるのですが
2変数版が見つかりません。マクロを自分で組まなければいけないようですが
どうしたらいいでしょうか。
0595デフォルトの名無しさん
NGNG0596デフォルトの名無しさん
NGNG0597南斗水鳥拳のレイ
NGNGどうやって?それを教えて。
0598デフォルトの名無しさん
NGNG>VBA自体は触っていても数値積分のアルゴリズムが解らないのか、
>マクロって何?なのか、そもそも正規分布からしてよく解らんのか、全然見当つかないもの。
小学生に説明するのと高校生に説明するのとじゃ教え方からして違うでしょ?
0599デフォルトの名無しさん
NGNGttp://www.google.com/intl/ja/
0600南斗水鳥拳のレイ
NGNGアルゴリズムは、わかりやす、マクロもわかりやす。
0601南斗水鳥拳のレイ
NGNGアルゴリズム、マクロもわかります。
あなたの精一杯の高度な説明求む。
0602デフォルトの名無しさん
NGNGそれって既に問題解決してないか?
0603南斗水鳥拳のレイ
NGNGマクロで書いてみてよ!
0604デフォルトの名無しさん
NGNG頑張って自分で書くか、誰か他の人に当たってください。
すまないねぇ、でかい口叩いておいて……(w
0605デフォルトの名無しさん
NGNGおおかた期末のレポート課題を丸投げしたんだろうけど、
出来る限りの努力をするという意志がまるで感じられん。
ソースを全部人に書かせてそのまま提出しようと必死ぽいところが笑えるな。
0606南斗水鳥拳のレイ
NGNGいいえ、とんでもありません。
誠意のあるコメントありがとうございました。
実は、SASでは2重積分していますが、エクセルでどうやってやるのかな
って思ったので・・・。
実際、周りの人は、エクセルしか使わないので、SASでプログラムしても
使ってもらえない→自分の所に、くだらない計算が回ってくる
ってな感じでして・・・。
いや、ほんと、ありがとう。
0607南斗水鳥拳のレイ
NGNG君に一歩遅れて、書き込んだんだけど、
あまりに的外れ!
それから厨房(中学生坊主)って言葉で片付けるのは
ちょっと安易なんじゃない?ふふ・・。
0609デフォルトの名無しさん
NGNGって思ったので・・・。
最初から書けやゴルァ(゚д゚)
0610南斗水鳥拳のレイ
NGNGまあまあ、落ち着いて!
許して ちょんまげ!
0611デフォルトの名無しさん
NGNGブラウザからエクセルにリンクを貼り、クリックするとエクセルを起動させます。
マクロは自動実行でCSVファイルをオープンし、処理して結果を画面に表示させる。
ということをやっているのですが、
ブラウザから起動したエクセルではCSVのオープン処理でエラーとなってしまいます。
ブラウザのウィンドウ内にエクセルとCSVの2画面を開けないためかと思われます。
CSVをオープンさせる方法、またはそれ以外の方法をしっていらっしゃる方がおられましたら
是非お教え下さい。宜しくお願い致します。
0612デフォルトの名無しさん
NGNGどうやったらできるのか解りません
(VB側のアプリは事前に起動している前提です)
ご存知の方、よろしくお願いします
0613デフォルトの名無しさん
NGNGDim obj As OtherApp
Set obj = CreateObject("OtherApp.exe")
obj.OtherAppSub
0614デフォルトの名無しさん
NGNG[SeqNumber.cls]
Option Explicit
Private Number As Long
Private Sub Class_Initialize()
Number = 0
End Sub
Public Property Get NextNumber() As Long
Number = Number + 1
NextNumber = Number
End Property
Public Property Get CurrentNumber() As Long
CurrentNumber = Number
End Property
とか作って、Excel側からは
Dim seq As New SeqNumber
というように使用すれば良いので CreateObject なんか使わなくて良い。
0615デフォルトの名無しさん
NGNG0616612
NGNG知識不足で、解らない単語が色々でてきたので、
参考にさせてもらいながら、がんばってみます
また、つまづいたら教えてください
0617デフォルトの名無しさん
NGNG今までexcel2002に市販アドインの体験版を入れて使用していたのですが、
それをアンインストールしたいと思っています。
このアドインは常にツールバー上に表示されています。
アドイン本体を削除すると、excelが立ち上がるたびにロードできないというエラーメッセージが出てきます。
excelの設定でアドインの読み込み情報はどこに記録されているのでしょうか?
レジストリを検索したりしてみたのですが見つかりません。
詳しい方教えてください。
0618なつみ
NGNGsheetAのB列に都道府県のフィールドがあります。
そこで、sheetAにデータを入力後、"東京都"だったら
その行を丸ごとsheetBへ、"埼玉県"だったらsheetCへと振り分け
たいのです。sheetAのデータをすべて都道府県別に振り分けて
いきたいんです。それをコマンドボタンを作ってVBを記述
したいのですが、どのような記述をすればよいですか?(TT)
ちなみにボタン一つおすだけで、データの振り分けをしたいので
すがなにかいい方法をご教授ください。
0619デフォルトの名無しさん
NGNGボタンの中の人に聞けよ。
0620名無しさん@そうだ選挙にいこう
NGNG何も考えずに教えろって書いてんだろ?
なつみ、風俗嬢にでも転職しな。
0621デフォルトの名無しさん
NGNG解らないからカッカしてるんでしょうか(w
0622デフォルトの名無しさん
NGNG47都道府県のシートが全て揃ってるの?
0623なつみ
NGNGすべてはそろっていませんが、半分ぐらいそろっている感じです!
0624デフォルトの名無しさん
NGNG「ツール(T)」メニューの「アドイン(I)...」は見たか?
0625デフォルトの名無しさん
NGNG無いシートは作成するの?
それとも、データが存在するシートは揃ってる?
0626なつみ
NGNGはい、データが存在するシートはすべてそろえてます。
0627デフォルトの名無しさん
NGNG掲示板作ってみますた
0628デフォルトの名無しさん
NGNG教えてください、よろしこ。
0629デフォルトの名無しさん
NGNGxl.Visible = True
xls.WorkBooks.Open "xxx.xls"
とVBScriptで書きました。
マクロ自動実行の Sub auto_open() が走りません。
どうすれば自動実行できるようになりますか?
0630629
NGNG0631Excel VBAに関する質問ていうか
NGNG最近Excelを終了しようとしたら落ちるようになりました。
Application.OnTime でタイマーを使うようになってからなのか他の事情か、
原因はわからないのですが、最近になってエラーが。
で、ついに今しがたファイルが開かなくなりました。
ファイルを開くと、開いた後に砂時計になり、エラーでExcelが異常終了します。
このファイルはもう開けないのでしょうか?(T_T)
マクロを無効にすればシート自体は開くので、VBAのコード部分が破損したのかなぁ・・・
0632Excel VBAに関する質問ていうか解決
NGNGマクロを無効にして開けばファイル自体は読み込めるようです。
読み込んだらVB Editor画面ですべてのモジュールをコピーしました。
別のシートをマクロ有効にして読み込もうとするととたんに落ちるので
結局、VBAの初期化に関する部分が腐ってしまったのかなぁ・・・という感じです。
0633デフォルトの名無しさん
NGNG使っていないならば関係無いが、こいつらは自動的に読み込まれるから、
壊れると何を開いてもエラーになるよ。
0634デフォルトの名無しさん
NGNGしかし、入力値は「コード」や「商品名」などの定まった値で変化の無い
場合があります。ここに間違えて入力するのを防ぐために各セル(行数は
入力データ量によって変化)にドロップダウンリストを表示させ、そこから
選択させたいのです(オートフィルタみたいに)。リストに無い場合は
手入力優先になる必要があります。
まったく対処方法がわかりません。ポインタだけでも教えてください。
お願い致します。
0635デフォルトの名無しさん
NGNGあっちにレスしといた。
http://pc2.2ch.net/test/read.cgi/bsoft/1008219498/976
0636Excel VBAに関する質問ていうか解決
NGNGご指摘ありがとです。XLStartには何も置いてません。
ひと世代前をタネにして、モジュールテキストをコピペして
難を逃れますた。
>>634
ドロップダウン(=リストボックス)を使いたいのであれば、リストボックスを
ベタベタ並べるとメンテナンス性が下がってしまうですよ。
入力のための行とデータが並んだ表をわける(入力ごとにVBAでコピペする)とか
してはいかが?
0637Excel VBAに関する質問ていうか解決
NGNGうわ、そのほうがはるかにシンプルだった・・・・
0638634
NGNG回答して頂き有難うございます。EXCEL2000と2002を使っています。
回答の指示に従いますと、参照セルのデータ以外が入力できません。
>リストに無い場合は手入力優先になる必要があります。
の条件が満たせません。
また、シート全体をクリアするとリストに何も表示されなくなります。
開くエクセルブックに手を加えないようアドインで実現したいのです。
実例とは言わないまでも、こうすればいいのでは?といった指南を
お願いいたします。
0639Excel VBAに関する質問ていうか解決
NGNGVBAは使わないの?
0640634
NGNGリストボックスではなくてコンボボックスでした。
0641639
NGNG俺のお気に入りの方法で言えば、
Application.OnKey("{ENTER}", 入力チェック関数名)
でEnterキーをフックする方法がいいです。
入力チェック関数名() では、セルに入力されたのが規定のコードかどうかチェックし、
規定外ならエラーを出すとかしてるよ。
0642634
NGNGんんん?
それだとエクセルブックに依存しますよね。それは駄目なので
アドインにする必要があるのです。選択する項目はINIファイルに登録して
GetPrivateProfileStringで読み込もうかと考えています。
要はそれをコンボボックスに表示させる方法について悩んでいます。
>Application.OnKey("{ENTER}", 入力チェック関数名)
>でEnterキーをフックする方法がいいです。
矢印キーでセル移動する場合も考えるのでその方法は採用できないのです。
すいませんが。
0643639
NGNGあぁ、なるほど。
では識者のコメントを待とう。
0644634(957)
NGNG正)要は入力候補のデータが格納されたコンボボックスを、データ入力
されるべきセルに表示させる方法について悩んでいます。
0645デフォルトの名無しさん
NGNG文字列を表示するのはどうしたらよいのでしょうか。
0646デフォルトの名無しさん
NGNG組み合わせで文字列を表示するのはどうしたらよいのでしょうか。
よろしくお願いします。
0647デフォルトの名無しさん
NGNG0648デフォルトの名無しさん
NGNG意味がよくわからん。
もっと具体的に説明してくれ。
0649デフォルトの名無しさん
NGNGレスありがとうございます。
ワークシート上のAの列に
hoge
excell
vba
とかくとBの列に
hogeexcellvba
hogevbaexcell
excellhogevba
.
.
.
等とすべての組み合わせを表示させたいです。
0650デフォルトの名無しさん
NGNGA列のデータ数は不規則なのか?
2個だったり100個だったりする?
0651デフォルトの名無しさん
NGNGはい、そのときによって個数はかわります。
0652デフォルトの名無しさん
NGNG問題は順列生成だな。総個数は Application.Fact で
求められるとして、順列か。うーん面倒くさい。
0653デフォルトの名無しさん
NGNG最小値が0、最大値に別のシートにあるセルの値を参照するにはどうすればいいのでしょうか?
0654デフォルトの名無しさん
NGNG一応作ってみたよ。エラーチェックは省いてあるから細かい所は手直ししてね。
Dim count As Integer
Private Sub Perm(i As Integer, n As Integer, p() As Integer)
Dim j As Integer, t As Integer
Dim str As String
If i < n Then
For j = i To n
t = p(i): p(i) = p(j): p(j) = t
Perm i + 1, n, p
t = p(i): p(i) = p(j): p(j) = t
Next
Else
str = ""
For j = 1 To n
str = str + Range("a" + Format(p(j)))
Next
Range("b" + Format(count)) = str
count = count + 1
End If
End Sub
0655デフォルトの名無しさん
NGNGPrivate Sub CommandButton1_Click()
Dim i As Integer, j As Integer, k As Integer
i = Application.CountA(Range("a1:a65535"))
j = Application.Fact(i)
ReDim p(j) As Integer
For k = 1 To i
p(k) = k
Next
count = 1
Perm 1, i, p
End Sub
0656デフォルトの名無しさん
NGNGPrivate Sub CommandButton1_Click()
Dim i As Integer, j As Integer
i = Application.CountA(Range("a1:a65535"))
ReDim p(i) As Integer
For j = 1 To i
p(j) = j
Next
count = 1
Perm 1, i, p
End Sub
0657デフォルトの名無しさん
NGNG(略)QueryTables.Add(Connection:="TEXT;c:\text.csv"(略)
上のような感じでやってみたのですが
文字化けしてしまって読むことが出来ません。
なにやらExcel2002ではテキストファイルを読ませると
デフォでWindowsANSIで読まれてしまうらしく、
文字コードの変換もわからず・・・
出来る方おりましたら教えてください
0658デフォルトの名無しさん
NGNGsFilePath = "c:\text.csv"
sDir = Left(sFilePath, InStrRev(sFilePath, "\") - 1)
sFileName = Mid(sFilePath, InStrRev(sFilePath, "\") + 1)
sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sDir & ";Extended Properties='text;HDR=NO;FMT=Delimited'"
ADO参照設定してこんな感じでやるんじゃないの?
SQLに使うテーブル名はsFileNameつかってよろしく。
0659デフォルトの名無しさん
NGNGOption Explicit
Sub CsvPaste(r As Range, FileName As String)
Workbooks.Open FileName:=FileName
Dim wb As Workbook
Set wb = ActiveWorkbook
wb.Worksheets(1).UsedRange.Copy
r.PasteSpecial _
Paste:=xlPasteValues, _
Operation:=xlNone, _
SkipBlanks:=False, _
Transpose:=False
wb.Close
End Sub
Sub test()
Dim r As Range
Set r = ThisWorkbook.Worksheets("Sheet1").Cells(1, 1)
CsvPaste r, "text.csv"
End Sub
0660デフォルトの名無しさん
NGNG返答ありがとうございます
ADOで行ってみているのですが、
CSVの中に1.12345678901234E-02というような指数が1としか表示されません・・・
ADOの文字列が悪いのでしょうか・・?
それ以前にVBAではなくVBでやりたいと思ってやってるのがいけないのかな・・
0661デフォルトの名無しさん
NGNGそれ以前にVBA,VB共に入門書すら読んでないのがいけない。
>CSVの中に1.12345678901234E-02というような指数が1としか表示されません・・・
これ......。中途半端な知識では何の言語を使っても同じ。
0662デフォルトの名無しさん
NGNG0663デフォルトの名無しさん
NGNGそういうソフトがあるからググって探せ
0664デフォルトの名無しさん
NGNGC言語のmemset関数みたいなのないでしょうか?
0665デフォルトの名無しさん
NGNG0666664
NGNGマジですか?
0668664
NGNGそうですか。仕方ないのでループさせます。
御回答ありがとうございました。
0669デフォルトの名無しさん
NGNGしょっちゅうループ書くのが面倒で見苦しくなるのなら、関数にしちゃえよ。
memsetなんか簡単だろ。
0670デフォルトの名無しさん
NGNGいちいち削除の確認をしてくるのだけど、このダイアログボックスを
出さずにするにはどーしたら良いのでしょうか?
おしえてちょーだい!
0671デフォルトの名無しさん
NGNGApplication.DisplayAlerts = False
(処理)
Application.DisplayAlerts = True
0672デフォルトの名無しさん
NGNG早速のレスありがとうございます。
うまくいきました。
2ちゃんで、親切受けるのはじめてです。うれじー!!!
0673デフォルトの名無しさん
NGNGAddLineやAddShapeにて描いたワークシート上の図形を
グループ化する良い方法は何でしょう?
SelectAllは関係ないほかの図形も選択してしまうので使いたくありません。
よろしくおねがいしまーす。
0674デフォルトの名無しさん
NGNGSet shps = ThisWorkbook.Worksheets("TEST").Shapes
Dim shp1 As Shape
Set shp1 = shps.AddLine(10, 10, 110, 110)
Dim shp2 As Shape
Set shp2 = shps.AddLine(10, 110, 110, 10)
Dim sr As ShapeRange
Set sr = shps.Range(Array(shp1.Name, shp2.Name))
sr.Group
こんな感じでやれば良いはず。
0675デフォルトの名無しさん
NGNGexportではGIFとJPEGのみ?
0676673
NGNGわかり易い例をありがとうございます。
なんとなく、わかりました。が、
いくつの図形が描かれるかは、前もってわかりません。
Arrayに動的に引数を与えることが出来るのでしょうか?
また、その方法は?
質問ばかりですいません。
0677デフォルトの名無しさん
NGNGヘルプで ReDim ステートメントを引くべし。
0678673
NGNG「アプリケーション定義またはオブジェクト定義のエラー」
となってしまいます。何故なのでしょう。
Dim MyArray() As Variant
Dim shps As Shapes
Set shps = ThisWorkbook.Worksheets("TEST").Shapes
Dim shp1 As Shape
Set shp1 = shps.AddLine(10, 10, 110, 110)
Dim shp2 As Shape
Set shp2 = shps.AddLine(10, 110, 110, 10)
ReDim MyArray(2)
MyArray(0) = shp1.Name
MyArray(1) = shp2.Name
Dim sr As ShapeRange
Set sr = shps.Range(MyArray)
sr.Group
なにとぞお助け下さい。
0679デフォルトの名無しさん
NGNG0680デフォルトの名無しさん
NGNG○ ReDim MyArray(1)
または
> ReDim MyArray(2)
> MyArray(0) = shp1.Name
> MyArray(1) = shp2.Name
この3行を次の1行で
MyArray = Array(shp1.Name, shp2.Name)
0681デフォルトの名無しさん
NGNG2回目に実行するとエラーになります。教えてください。
Set myBar = CommandBars _
.Add(Name:="ユーザー定", Position:=msoBarPopup, Temporary:=False)
With myBar
.Controls.Add Type:=msoControlButton, ID:=3
.Controls.Add Type:=msoControlComboBox
End With
myBar.ShowPopup
0682デフォルトの名無しさん
NGNGそもそも同じ名前で追加するのはOKなのか?
0683デフォルトの名無しさん
NGNG使うときにタイトル行を付ける事ができます(ColumnHeads=True)
が、シートがソースの時しか機能しません。
値をaddItemやListやColumnで設定したときにタイトル行を表示
するにはどうすればいいか教えてください。
0684デフォルトの名無しさん
NGNGというより、2回やる必要があるのか!
0685デフォルトの名無しさん
NGNGマクロを走らせた時にWACOMのPenPlusパーソナルを呼び出したいのですが。
0686デフォルトの名無しさん
NGNG>>37-40 あたり
0687デフォルトの名無しさん
NGNGフォームウィンドウを移動した時に、残存画面が
残ってしまうんですが、残らないようにする事は出きるのでしょうか?
0688デフォルトの名無しさん
NGNGディスプレイドライバがバグっているのではないか?
いっぺん再起動してみてくれ。
それでダメなら、次はディスプレイドライバのバージョンアップだな。
0689デフォルトの名無しさん
NGNGレスどうもです。
OSはWindows2000です。
もう一つ別のフォームは残らないのですが、
今のところそのフォームだけが、残ってしまいます。
再起動しても駄目でした。
ちなみにWin98の他のPCでも試しましたが同現象です。
ドライバの更新試して見ます。
0690デフォルトの名無しさん
NGNGTextBoxに整数を入力した後、Buttonを押して、イベント発生みたいなことをやってます。
んで、イベント部分で、
Dim s As String
Dim i As Integer
s = TextBox1.Text
i = ?
とか書いてsを変換してiにIntegerの値を入れたいのですが、
StringをIntegerに変換するにはどうやるのでしょうか?
i = CInt(s)では、データ型変換エラーみたいなのが出ました。
0691デフォルトの名無しさん
NGNGなぜ最初にStringに・・・
0692デフォルトの名無しさん
NGNG実行前に同じ名前のCommandBarをCommandBarsから削除する必要があります。
For Eachとか使って。
0693デフォルトの名無しさん
NGNG688のおっしゃるとおりドライバが怪しい。
ハードウエアアクセラレータを「なし」にしてみるもの手。
0694デフォルトの名無しさん
NGNGIsNumeric(s)で数値となりえるか確認して味噌。
0695デフォルトの名無しさん
NGNG100000もTrueだが?
0696VBA初心者。
NGNGフォームからファイルを開く操作をしたいのですが、
BVにあるファイルリストボックスみたいな動きをさせる方法はありますか?
うまくいきません。
良い方法があればお願いいたします。
0697デフォルトの名無しさん
NGNG0698VBA初心者。
NGNGFileSystemObjectで検索して見ましたが
今のところ良いヒントが見つかりません。
どなたかもう少し詳しくヒントをいただけませんか。
手持ちの書籍では載っていませんし、
ネットで検索しても自分がやりたいことの項目がありませんでした。
エクセルVBAのフォームからwinでのファイルを開くや
保存する時に出てくるドライブ選択窓やファイル選択窓を出したいのです。
よろしくお願いします。
0699デフォルトの名無しさん
NGNGなんかこれが一番答えに近そう。
http://www.mougb.net/cgi-bin/mdboard.cgi?acopr+ML2002100047
0700デフォルトの名無しさん
NGNG0701デフォルトの名無しさん
NGNGGetOpenFilename では何か都合が悪いのか?
0702VBA初心者。
NGNGありがとうございます。探してみます。
>>701
都合が悪いわけではないのですが、フォームから項目を入力して
セルにデーターを落としてシートのみを別名で保存するって言う方法で
見積書を作っているのですが、保存しているシートをフォームから
呼び出すのにファイルリストを出したいのです。
知識が乏しく思うような動きが出来ません。
GetOpenFilenameは何かアクション(ボタンを押すなど)で指定のファイルが
開くってことですよね?
どのファイルを開くかは特に決まっていません。
0703VBA初心者。
NGNGすみませんでした、GetOpenFilenameって知らなかったのですが
ファイルを開くダイアログボックスが出るのですね。
ありがとうございました。解決しそうです。
がんばります。
0704683
NGNG分からんので外側にラベルを貼り付けることにした。
0705デフォルトの名無しさん
NGNG開かれてなかったら開くという処理をしたいのですが,
はじめの調べるところのやりかたがわかりません。
どなたか教えてください。
0706デフォルトの名無しさん
NGNGWorkbooksコレクションをNameで比較すればいいんちゃう?
0707デフォルトの名無しさん
NGNGなるほどやってみます。
ありがとうございます。
0708デフォルトの名無しさん
NGNGエクセルでチェックボックスをクッリクすると文字が印字されて、
チェックを消すと文字が消えるマクロの組み方しりませんか?
0709デフォルトの名無しさん
NGNG式で作れ。
=IF(checkboxdata,"文字","")
0710デフォルトの名無しさん
NGNGシート上でshiftを押しながら右クリックしたときだけ、ある右クリックメニューを
だしたいのですが、shiftを押しているかどうかの判定はどのようにすればできるのでしょう?
よろしくお願いします。
0711デフォルトの名無しさん
NGNG案だけ
KeyDownイベントにシフトキーを判定して押されてたら
シフト=ON
KeyUpイベントにシフトキー判定して 離されてたら
シフト=OFF
BeforeRightClickのなかで
if シフト=ON then
・・・・
endif
変数シフトの定義に注意すれば いけそうだが。
0712デフォルトの名無しさん
NGNGはよ退職せーや。働かれると迷惑だ。
0713デフォルトの名無しさん
NGNGおまえが社長だったら、おまえの下で働かされている社員が不憫だ(w
0714デフォルトの名無しさん
NGNG0715デフォルトの名無しさん
NGNG>>711
シートには、KeyDown、KeyUpイベントがないようなのです。
それで、困っています。それとも、あるの?
>>712
答えられない無職ヤローはひきこもってろ。もとい、ひっこんでろ。
0716デフォルトの名無しさん
NGNGC++ でフック DLL を作れ。
0717デフォルトの名無しさん
NGNGというか、自分もわからないクセに偉そうだな。
0718デフォルトの名無しさん
NGNGネタにマジレスかっこ悪い。
0719デフォルトの名無しさん
NGNGあ・・・
シートには、keyup とか 無かったみたい・・ スマン
初めから、右クリックのメニューに、
SIFTキーを押したとき用のも表示されるようにしておく・・・
じゃ だめですよね
いい案 浮かばん・・・・
0720VBAでメールを送りたい
NGNGを書きたいのです。MAPIを使わずにできるでしょうか?いろいろ調
べたんですけど、さっぱりです。本も5冊持ってるんですけど、手が
かりをつかめません。ある程度の方向がわかれば自分で調べますので、
教えてくださいませんか?
0721デフォルトの名無しさん
NGNGはよ退職せーや。働かれると迷惑だ。
0722デフォルトの名無しさん
NGNGcmailっつーメールm送信専用のフリーソフトがあるから、
それ呼び出せばいい
0723デフォルトの名無しさん
NGNGsendkeyで手動手順を再現させれば出きるかも・・
ただ、メールソフトの起動のタイミングとか かなりむずいです
(フォーカスの移動が・・・)
>>722さんのフリーソフトは知りませんが、そういうのを起動させるだけ!の方が
現実的かと。
0724デフォルトの名無しさん
NGNGGetKeyState(nVirtKey)
GetAsyncKeyState(nVirtKey)
あたりのAPIあたりでうまくいくかも。
>>720
"mailto:(メールアドレス)"というアドレスをブラウザで開こうとすると、自動でメーラーが立ち上がる。
これを利用するとか。
0725デフォルト名無しさん
NGNG思って下記のように書いたのですが。
For i = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
' セルが空白だった場合上のセルを今のセルへコピー
If Cells(i, 1).Value = "" Then
Cells(i - 1, 1).Copy Cells(i, 1)
End If
Next
空白が1行の場合だと埋めてくれるのですが、2行以上空白が続くと
うまくいきません、どうすればうまくいくでしょうか?おながいします
0726デフォルトの名無しさん
NGNG下から走査すりゃそうなるのが当たり前だろう。
0727デフォルト名無しさん
NGNGなるほど、こりゃ下からって意味だったのか。for文の仕組みも
よくわからずに打ってたよ。サンクス
0728tantei
NGNG●浮気素行調査
彼氏、彼女、妻、夫の浮気を調査致します!!
●別れさせ工作
あらゆる手段を使ってターゲットを別れさせます!!
●盗聴器盗撮機発見
あなたの部屋に誰かが仕掛けているかも!!
●行方調査
行方不明になっている家族の消息を調査致します!!
●電話番号から住所割り出し
一般電話、携帯から住所を割り出し致します!!
その他人生相談からどんなお悩みでも解決いたします!!
直通 090−8505−3086
URL http://www.h5.dion.ne.jp/~grobal/
メール [email protected]
■グローバル探偵事務所
0729デフォルトの名無しさん
NGNGBASP21.DLLとかを使う手もあるでよ。
「VBAで」と言えるかどうか疑問だけど。
0730excel 290
NGNGx = 0
For Each obj In ActiveSheet.DrawingObjects
obj.text = cstr(x)
x = x + 1
Next
同じ名前の一つ目の図形しか、テキストが変わりません。
なぜでしょうか?
0731デフォルトの名無しさん
NGNGよくわからんが
こうやって、何回ループしてるか 試して
x = 0
For Each obj In ActiveSheet.DrawingObjects
obj.Text = CStr(x)
x = x + 1
Debug.Print x, CStr(x) 'ここに こうやって
Next
0732デフォルトの名無しさん
NGNGできたら 前後のコードも 見たい
0733デフォルトの名無しさん
NGNGループの回数はOK。なんかねー。VBでいう、同じ名前のボタンが配列みたいな状況なのよ。
ループ中は、
[T1] [T2] [T1] [T2] [T3] なんだけど。
==== この二つのテキストを書き換える方法が知りたい。
0734デフォルトの名無しさん
NGNGDrawingObjects
にカーソルおいてPF1のヘルプは?
コード全部晒してくれないと 試す気にjならんので ゴメソ
0735デフォルトの名無しさん
NGNG逆にほかの方法で、オートシェープのTextBoxにアクセスできればそれでも良いのですが…
コードはこれ以上晒す必要は無いはず。
ActiveSheets.DrawingObjets("T1").Text = "123456"
これで、T1という名前のTextBoxが複数あった場合、
すべてにアクセスする方法が知りたいのですが…
0736デフォルトの名無しさん
NGNGあんたのセリフ素人臭すぎ怪しすぎ。
VBAのヘルプにのってるでしょ?
それにVBのヘルプっていうのはMSDN。VCとかと共通。
0737デフォルトの名無しさん
NGNGアクセスさえ出来ればいいというならとりあえずこんな感じか。
Set obj = ActiveSheet.DrawingObjects
x = 0
For x = 1 To ActiveSheet.DrawingObjects.Count
obj(x).Text = CStr(x - 1)
Next
obj = ""
0738デフォルトの名無しさん
NGNGなんとなく
無理っぽい・・ けど わからん
メルくれたら 該当ありそうなとこの HELP抜粋送るが・・
同じ名前がつくの?
そのループ内で .NAMEプロパティを・・・ いや やっぱ わからん
0740tantei
NGNG●浮気素行調査
彼氏、彼女、妻、夫の浮気を調査致します!!
●別れさせ工作
あらゆる手段を使ってターゲットを別れさせます!!
●盗聴器盗撮機発見
あなたの部屋に誰かが仕掛けているかも!!
●行方調査
行方不明になっている家族の消息を調査致します!!
●電話番号から住所割り出し
一般電話、携帯から住所を割り出し致します!!
その他人生相談からどんなお悩みでも解決いたします!!
直通 090−8505−3086
URL http://www.h5.dion.ne.jp/~grobal/
メール [email protected]
■グローバル探偵事務所
0741金正日
NGNGr「l l h. / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| 、. !j |
ゝ .f _ |
| | ,r'⌒ ⌒ヽ、. │ http://freehost.kakiko.com/hiroyuki/
,」 L_ f ,,r' ̄ ̄ヾ. ヽ. │ こんなのあったニダ
ヾー‐' | ゞ‐=H:=‐fー)r、) |
| じ、 ゙iー'・・ー' i.トソ |
\ \. l ; r==i; ,; |' .人_
\ ノリ^ー->==__,..-‐ヘ___
\ ノ ハヽ |_/oヽ__/ /\
\ / / / |.
y' /o O ,l |
0742デフォルトの名無しさん
NGNGなんか取り違えているいる気がする。
ループ回数が合っているなら、
どのように(どのプロパティを)T1
と名付けているのか分からんが、
1回目のループのT1と次のループのT1は同じ
コントロール(オートシェイプ)を
参照しているから、1つしか変わらない
様に見えるのでは?
0743デフォルトの名無しさん
NGNGこれで、アクセスできるのなら、
>これで、T1という名前のTextBoxが複数あった場合
"T1"というインデックスのオブジェクト(DrawingObjet)
は複数作成することはできない。
0744デフォルトの名無しさん
NGNG論点が違うと思うのだが。作成出来てるから質問してきてるわけだし。
実際試してみたけど、DrawingObjetsコレクションのNameプロパティに
設定する値はユニークでなくても構わないみたいだよ。
つか手動で名前を付けた描画オブジェクトをコピペで複製すると、
みんな同じ名前になるから試してみなよ。
0745デフォルトの名無しさん
NGNGコピペで複製しても同じ名前にならなかった。
コード内で名前を同じにするとできるね。
でも、これは無理だろな。VBAはコントロール配列
はできない。インデックス名じゃなく、
上にもあるように、インデックス番号で逐一変えていく
しかないね。
0746デフォルトの名無しさん
NGNGT1, T2 を作成。
T1, T2 をShift+Ctrlで同時選択。
コピペ。
で作れます。
コントロール配列の場合、Objectが配列かどうかはどう調べますか?
0747excel 290
NGNGですから、インデックス番号で、3番目にアクセスしているのに、1番目が書き換わってしまうんです。
バグですかね?
0748excel 290
NGNGうまく動きません。TextBoxesが無いというメッセージが出ます。
どうすればうまく動きますか?
For y = 1 To st.GroupObjects.Count
For x = 1 To st.GroupObjects(y).TextBoxes.Count
Set shape = st.groupsobjects(y).TextBoxes(x)
Debug.Print "Shape " + TypeName(shape) + "/" + shape.Name + "/" + shape.Text
For i = 1 To UBound(DICTKEYS)
shape.Characters.Text = Replace(shape.Characters.Text, DICTKEYS(i), DICTVALS(i))
Next
Next
Next
For x = 1 To st.TextBoxes.Count
Set shape = st.TextBoxes(x)
Debug.Print "Shape " + TypeName(shape) + "/" + shape.Name + "/" + shape.Text
For i = 1 To UBound(DICTKEYS)
shape.Characters.Text = Replace(shape.Characters.Text, DICTKEYS(i), DICTVALS(i))
Next
Next
0749デフォルトの名無しさん
NGNGまともにやるならグループ化解除して、処理終了後に再度グループ化。
0750excel 290
NGNGグループ化を解除する方法を教えてください。
また再びグループ化する場合、
含まれていたオブジェクトがどれなのか調べる方法はありますか?
0751デフォルトの名無しさん
NGNGUngroup
> また再びグループ化する場合、
> 含まれていたオブジェクトがどれなのか調べる方法はありますか?
面倒なので、グループを別のシートにカット&ペーストしてから作業
すれば? 作業が終わったらまたカット&ペーストで、元のシートに
戻す。
0752デフォルトの名無しさん
NGNG0753山崎渉
NGNG0754山崎渉
NGNG( ^^ )< ぬるぽ(^^)
0755デフォルトの名無しさん
NGNGclass hoge にaddshape()でhoge1,hoge2,hoge3……と作った図形をメンバに持たせた上でgroup化しました。
(hoge3は四角形です)
debug.print hoge3.TextFrame.Characters.Text
で図形にカキコ済みのテキストを表示するのはできたんだけど、
hoge3.TextFrame.Characters.Text ="test"
とすると以下のエラーメッセージが出ます。
実行時エラー'1004'
Characters クラスの Text プロパティを設定できません。
textframeやcharactersをヘルプで見ると書き込みも出来るはずなのに……どうして?
0756デフォルトの名無しさん
NGNG---------------------標準モジュール------------------
Sub add_hoge()
Dim x As New choge
x.create_hoge '図形のグループを生成
x.c_text 'テキスト書き換え(エラー)
End Sub
---------------------クラスモジュール-----------------
Dim hoge0 As Object
Dim hoge1 As Object
Dim hoge2 As Object
Public Function create_hoge() '二つの図形hoge1とhoge2をグループ化
Dim mys As Object
Set mys = ActiveSheet.Shapes
Set hoge1 = mys.AddShape(msoShapeIsoscelesTriangle, 0, 0, 45, 45)
Set hoge2 = mys.AddShape(msoShapeRectangle, 0, 0, 45, 45)
hoge2.Select
Selection.Text = "test0"
Set hoge0 = mys.Range(Array(hoge1.name, hoge2.name)).Group
End Function
Public Sub c_text() 'hoge2のテキストを書き換え
Debug.Print hoge2.TextFrame.Characters.Text
hoge2.TextFrame.Characters.Text = "test1" '←ここでエラー
Debug.Print hoge2.TextFrame.Characters.Text
End Sub
0757デフォルトの名無しさん
NGNGぶっちゃけ無理なんじゃないの? 画面上からは確かに出来るけど、
マクロ記録中だと出来なくなるし、上の方の回答にも、バラしてから
やれなんてのがあったし。
調べてみたところによると、VISIOには階層化したオブジェクトの子階層
にアクセス出来る定数があるみたいだ。具体的には
Shapes(1).Shapes(1), visSubSelect←これ
こんな感じで下の階層のシェイプをマウントすると、単独のシェイプと
同じようにアクセス出来るらしい(使った事無いから自信は無いが)。
ご存知の通り、エクセルにはこれに相当するメソッドは無い。
0758デフォルトの名無しさん
NGNG手入力だと動き出さないけどコピペだと動き出すようなもの。
0759デフォルトの名無しさん
NGNG手動でも動き出す
動いたあとに、手動かコピーか判別できればいいが、
それも多分無理
0760デフォルトの名無しさん
NGNGそうですか。残念。
最低限、シートが書き換えられたかどうかは
Worksheet_Change(...)でやればいいんですよね?
0761755
NGNG駄目かぁ……情報TNX
結局グループ解除→書き換え→再グループ化で実装してみますた。
Public Property Let hogename(str As String)
hoge0.Ungroup
hoge2.Select
Selection.Characters.Text = str
Set hoge0 = Selection.ShapeRange.Regroup
End Property
そもそもバラした状況でも、一旦hoge2をselectしてからでないとtextを書き換えできなかった罠。
なんか激しく勘違いとかしてないだろうか不安……
0762デフォルトの名無しさん
NGNGですね
0763デフォルトの名無しさん
NGNG目的(やりたいこと)を書いてくれたら
もう少し、他の手段でも、誰か考えてくれるかも
0764デフォルトの名無しさん
NGNGいや、会社の事務作業なんですけどアンケートみたいなのやってて
エクセルのシートで入力フォームつくって配布しているんです。
各シートに固有な情報を隠しセルに埋め込んで、回収後に
マクロで集計しているんですけど、
人によっては他人の入力したシートをそのまま全コピー&全ペーストしちゃって
隠しセルの情報を壊してしまうわけです。
セルの保護機能も考えたけど、動くマシンとそうじゃないマシンがあるって話も聞いたことあるし
イベントマクロで保護できないかなと考えたわけです。
全コピー&全ペーストをブロックできればな、って考えてます。
0765デフォルトの名無しさん
NGNG情報を隠しセルに埋め込んだりせず、マクロ内に記述すればいいのでは?
シートの関数やデータなんてすぐに破壊されちまうからな。
0766デフォルトの名無しさん
NGNGええ、ただ、配布する各個人毎に入力フォームの内容が少しづつ違うんですよ。
マクロでマクロを書き込めれば話は別なのですが、
VBAの場合できないですよね?
隠しシートも考えたのですが、その情報を参照しているセルがコピペで破壊されたらと考えると
やっぱり「コピペ」自体を防止する方法がないかなと考えております。
0767デフォルトの名無しさん
NGNGファイルのプロパティとかは・・・
シート1がアンケートで、シート3が何気に隠し情報とか
0768765
NGNG情報を参照しているセルを含むシートを非表示にすればいい。
0769765
NGNG>>766
エクセルファイル名の末尾にシートを識別するフラグをつける等して
select case で別々のfunctionを呼べばいい。
0770765
NGNGそうだ、「貼り付け」をメニューから消せばいいじゃん。
マクロで。
0771デフォルトの名無しさん
NGNGアンケートシート自体が隠し情報を参照していて、
このシートを非表示にしてしまうとまずいのです…
って、そうかぁ!シートの数式で参照させるのじゃなくて
なにか入力があったら Worksheet_Change で内容を非表示シートに
転送すればよいのか!?
う、上手くいきそうです。ありがとうございます!
0772765
NGNGhttp://www.asahi-net.or.jp/~zn3y-ngi/YNxv203.html#5
0773766
NGNGえ、標準メニューもマクロから消せるのですか!?
0774765
NGNG0775766
NGNGまじですか!? カゲキ!!
うーん、ちょっと考えてみようかな…。
ただ、ユーザから「お前のファイル読み込んだら俺のエクセル壊れたんだけど
どうしてくれる!」ってクレーム殺到しそうで怖いなぁ。
0776デフォルトの名無しさん
NGNGメニューから消しても
右クリックでコピーとかされるんじゃないの?
0777765
NGNG右クリックメニューも消せばいい
0779デフォルトの名無しさん
NGNGExcelでしか使えなくなるけど。
0780アクセス素人
NGNGコマンドボタンとコマンドボタンを線でつなげたいのですが
そのやり方キボンヌ
というか教えてください おながいします
0781デフォルトの名無しさん
NGNGあまり興味がない題材なので具体例は省くが
0782デフォルトの名無しさん
NGNG0783アクセス素人
NGNG0784デフォルトの名無しさん
NGNG行はOffsetで取ってこれたんだけど。
0785デフォルトの名無しさん
NGNGなんのこっちゃ?>行はOffsetで
With ActiveCell
Debug.Print .Row
Debug.Print Left$(.Address(, False), IIf(.Column > 26, 2, 1))
End With
0786デフォルトの名無しさん
NGNGショットカットキー(Ctrl+C,Ctrl+V)は?
0787デフォルトの名無しさん
NGNGThisWorkbookに↓をきったんだけど
図形を変えたら動かなくなってしまった!
Shapesの()内の指定ってどうだっけ?
Option Explicit
Private Sub WorkBook_Open()
Dim PauseTime As Date, Start As Date
Dim i As Double
PauseTime = 0.01
For i = -90 To 0 Step 3
Start = Timer
Do While Timer < Start + PauseTime
DoEvents
Loop
ActiveSheet.Shapes(1).ThreeD.RotationX = i
Next i
End Sub
0789787
NGNG0790デフォルトの名無しさん
NGNGシート上にフォームを作るんじゃなくて、シート上にボタンを配置して、
ボタンを押すとアンケートのダイアログを表示するような形にすれば?
ダイアログなら、想定外の操作をされる可能性はかなり減る。
0791デフォルトの名無しさん
NGNGACCESSでやれよ。
0792デフォルトの名無しさん
NGNG0793デフォルトの名無しさん
NGNGから言ったって無駄無駄
0794デフォルトの名無しさん
NGNG0795デフォルトの名無しさん
NGNG構造体返す関数を作ったら
「ユーザ定義型はパブリックオブジェクトモジュールで宣言しないとだめぴょん!」
とエクセルに怒られたんだけど、これってクラス使ってオブジェクトで返せってこと?
確かエクセル95の時はOKだったような気がするんだけれどなあ。
いつ頃からこんなんなっちゃったの?
0796デフォルトの名無しさん
NGNG標準モジュールにpublicでユーザ定義書けばいいんでないかい?
0797デフォルトの名無しさん
NGNG環境:excel2000
あるクラスにオートシェープへの参照をメンバ(hoge as object)としてもたせています。
hogeが指す図をクリックしたらマクロを実行する、というのをやっててつまづいてしまいました。
下のようにonactionを使用すると、標準モジュールにあるマクロsub1は呼び出せたのですが、
そのクラス自身のメンバメソッドを呼び出す方法が不明です。これって呼び出せるものでしょうか?
駄目な場合、代替手段として標準モジュールのマクロに自分自身
(hogeを持っているクラスのインスタンス、thisポインタ)を渡す事は出来ますか?
class_initialize()
set hoge = addshape(適当な図形) '図の追加
hoge.onaction = "sub1" 'hogeをクリックするとサブルーチンsub1を呼び出す
'sub1をクラスのメンバにしたい
'又はsub1にthisを渡したい
0798Beginner's Lack
NGNG出来ますか?
貼り付け先のセルの指定を変数にしたいのですが・・・
0799766
NGNGレスサンクスです。
入力項目が300行x36列ありまして
フォームだとグリッドのocxかなにか使うことになってしまいます。
できればシートでいきたいです。
すんません。実はアンケートというよりも数値入力といったほうが
適当だったかもしれません。
0800デフォルトの名無しさん
NGNGこれでコピペ不可かよ。殴っていいか?
0801デフォルトの名無しさん
NGNGマクロ記録機能を使えば簡単にわかるけど、コンボボックスを追加するには、
「フォーム」なら
Sheet1.DropDowns.Add()
「コントロールツールボックス」なら
Sheet1.OLEObjects.Add();
位置は、セルに対してLeftとかTopプロパティを調べる。
でも、追加したいコンボボックスの数の上限がわかっているなら、
あらかじめ全部をシートに配置して、それの表示・非表示切り
替えたほうが簡単かな。
0802766
NGNGえ?
シートの全セルコピー&全ペーストされちゃってるんですが…
それで隠しセルの内容が破壊されちゃってるわけです。
0803766
NGNG失礼。入力者の労力を考えれば…、ということですね。
それはその通りなんです。殴られちゃってもしかたないです。
だから欲をいえば「シートの全セルコピー&ペースト」だけ防止したいんです。
マクロ的に書けば Worksheet.Cells.PasteSpecial のみ防止というか…
(余計殴られちゃうかな…、あうー)
0804質問させてくださいまし
NGNG�@シートごとにボタンと、それにリンクされたマクロがいくつかあります。
�Aシートごとにシート保護が設定されているものといないものがあります。
�Bメールの送受信を取り扱うため、タイマを使って自動運転をしています。
あるシートをコピペして、新しいシートを作り保護したところ、
シート全体が特定ボタンにリンクされてしまったようで、本来ならボタン上でのみ
指先に変わるはずのマウスカーソルが、シートのどこにあっても指先になってしまいました。
同じ体験&解決した方はいらっしゃいますか?
コピペしたバチがあたったのでしょうか?w
最後の手段として、シートをイチから作り直すことは考えていますが、
できれば回避策がないものかご教授いただけるなら、と書き込んでみました。
0805デフォルトの名無しさん
NGNG0806デフォルトの名無しさん
NGNGENTER, RETURN をフック、アクティブセルで判断する
0807デフォルトの名無しさん
NGNG普通にWorksheet_Changeに書けばいいじゃん
引数のTargetを見て特定セルかどうか見ればよろし
0808デフォルトの名無しさん
NGNGVBAでプロシージャは使えないだろ。
0809デフォルトの名無しさん
NGNGhttp://bpstore.nikkeibp.co.jp/msp/book/03359/03359.html
これのこと?
0810805
NGNGIf文で、TargetとRangeの中身の値を比較する方法ですね。
ありがとうございます。
0811デフォルトの名無しさん
NGNGプププププ
0812デフォルトの名無しさん
NGNG0814デフォルトの名無しさん
NGNGたまに「ページが開けません」みたいなメッセージボックスが出るんだけど、
これを無視する方法知りませんか?
DisplayAlerts使ってもやっぱり出てきます。
0815デフォルトの名無しさん
NGNG馬鹿発見(wwwww
0816デフォルトの名無しさん
NGNG簡単にできるのに、わざわざ複雑なことを教えるなよ。
0817809
NGNG0818デフォルトの名無しさん
NGNG0819デフォルトの名無しさん
NGNGhttp://www.hitachi-ia.co.jp/teacdetail.asp?forankcd=ZSYO11&teac=book2
右上に小さく「公式解説書」とあるみたい。
0820デフォルトの名無しさん
NGNG煽ることしかしらねーのか・・・もういいよ
0821美人OL
NGNGhttp://www.net-de-dvd.com/
0823デフォルトの名無しさん
NGNGwebクエリは使ったこと無いんだけど Connection の QueryTimeout プロパティ
は使えないのか?DAO経由ではないのか?
ヘタすると永遠に返ってこないんだが。
0824デフォルトの名無しさん
NGNG自分でタイムアウト処理すれ。
実はやったことは無いが、そういう機能はとりあえず実装されてる。
0825デフォルトの名無しさん
NGNG方法がいまいちわかりません。
Dim ProcID As Integer
' Run Calculator.
ProcID = Shell("C:\Documents and Settings\AAA\My Documents\sleipnir140fb\Sleipnir.exe", AppWinStyle.NormalFocus)
ここまでは分かるのですが、その先が全然わかりません。
たとえば、yahooにリンク飛ばすとしたら、どうしたらいいでしょうか?
0826デフォルトの名無しさん
NGNGSleipnir って知らんが
とりあえずコマンドライン引数としてぶち込んどけ
Shell """C:\...\Sleipnir.exe"" ""http://www.yahoo.co.jp/""", vbNormalFocus
0827デフォルトの名無しさん
NGNGうむ、やってみる。
ありが�d!
0829初心者です。
NGNG0830デフォルトの名無しさん
NGNGSheet1.Shapes(0).Left
Sheet1.Shapes(0).Top
Sheet1.Shapes(0).Height
Sheet1.Shapes(0).Width
0832質問させてくださいまし
NGNGにて質問したものです・・・わたしの疑問にどなたか答えてくださいまし・・・(;_;)
0833初心者です。
NGNGどうもありがとうございました。
早速試してみますね。
0834デフォルトの名無しさん
NGNGスマン 俺はそんな経験無いので・・・
とりあえずシート保護解除して
指先カーソルのまま右クリック→コントロールのプロパティ→サイズ
0835質問させてくださいまし
NGNGシートの保護を解除したら、指先は十字に戻ってしまうんですよねぇ。
で、保護中に画面全体がボタン化(どこにマウスカーソルをもっていっても指先のまま)
してるので、何のボタンにリンクされてるのかと思ったら、
コピペ元のシート(今は別ファイルになってる)のボタンになってました。
0836質問させてくださいまし
NGNG>>804 の問題はでなくなりました。
ユーザーさんの誤操作をさけるためにもシート保護を使いたかったもので。
というわけで、自己解決のご報告。
0837PPR
NGNGword本文の後ろに、マクロで指定したファイルの文書を追加する方法を教えてください。
よろしくお願いします。
0838デフォルトの名無しさん
NGNGVBA同士なら大丈夫なのですが…
誰かご存知の方教えてください。
0839デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1023755967/806
帰ってきてください、寂しいです。
0840806
NGNG0841デフォルトの名無しさん
NGNGあんたのレスがネタ(にしてもくだらんが)と判断できない低脳ばかりでしたね。
0842806
NGNGWorksheet_Changeを挙げなかったのはシマタ(・A・)と思ったけどねー。
やったことない人と叩きに走りたい人が盛り上がっちゃったんだねー。
0843デフォルトの名無しさん
NGNG関数なんぞ自作しろ
一応やり方は教えてやる
下はアークコサインのサンプルだ
参照設定で Microsoft Excel *.0 Object Library のチェックを忘れんな
Sub test()
Const x As Double = 0.5
Dim objApp As Excel.Application
Set objApp = CreateObject("Excel.Application")
With objApp.WorksheetFunction
Debug.Print "XL : " & .Acos(x) * 180 / .Pi
End With
Set objApp = Nothing
Debug.Print "VB : " & (Atn(-x / Sqr(-x * x + 1)) + 2 * Atn(1)) * 180 / 3.14159265358979
End Sub
0844デフォルトの名無しさん
NGNGやったことないヤツはすっこんでろよ。
実際できてんだから、煽る前に調べろっつーの。カスどもが。
0845838
NGNG回答はありがとうございます。
ですが、ちょっと意味が違うんです。
エクセルが数個立ち上がっている状態で、
VBから特定のエクセルだけを落とすといった事をしたかったんです。
それでその特定のエクセルは名前が統一されていないので、
ブックに書き込まれている関数を呼び出して落とせたらなと言う考えなんです。
CallByNameなど試したんですが無理でした。
0846名無しさん@そうだ選挙にいこう
NGNG常駐させて、起動したEXCEL.exeのプロセスIDを取得しておけばいい
0847デフォルトの名無しさん
NGNG0848デフォルトの名無しさん
NGNG0849デフォルトの名無しさん
NGNGConst conFunc = "Test" '呼び出したい関数名
Dim xl As Excel.Workbook
Set xl = GetObject("C:TEMP\TEST.XLS")
MsgBox xl.Application.Run("ThisWorkbook." & conFunc & ")
VBA同士なら大丈夫って意味が判らないのだが、 一応これで呼び出せる。
0850デフォルトの名無しさん
NGNGレスサンクス
VBA同士ならってのはCallByNameでは呼び出せたということです。
今日はもう寝るので明日試して見ます。
ありがとうございました。
0851デフォルトの名無しさん
NGNG今更DDEといった感じなのですが・・・・
0852VBA勉強中
NGNG例えば、ウイルスの潜伏期間とか。
0853デフォルトの名無しさん
NGNGTimer
0854VBA勉強中
NGNG0855デフォルトの名無しさん
NGNG0856VBA勉強中
NGNGVBにはあったのに・・・
0857デフォルトの名無しさん
NGNGあるけど、別のアプリにフォーカスが移動したら無効になったと思う。
最近のバージョンのOfficeなら、APIのタイマーが使えるかな。
0858VBA勉強中
NGNGけど、よく考えたらメリッサって即発病するから犯人がさっさと見つかったんだって事に気づいたんです。
俺は一体どうすれば?
お袋の誕生日に自動的にグリーティング・カードが出るようにしたいのに・・・
0859デフォルトの名無しさん
NGNG自宅のパソコン?
ならWindowsの「タスク」使えば。
0860VBA勉強中
NGNGけど、わがままだけど、俺はプログラムでやりたい・・・
家族共有だから、あんま設定変えたくない・・・
0861デフォルトの名無しさん
NGNG↓こういう手法が参考になると思われ。
http://wibo.m78.com/clip/img/4942.gif
0862VBA勉強中
NGNG俺は負け犬だあああああぁああああぁぁぁぁぁぁぁ!!!(ソリッド・スネーク風に)
0863デフォルトの名無しさん
NGNGなんかウザくなってきたぞ。
0864VBA勉強中
NGNG0865デフォルトの名無しさん
NGNGその日の起動時に表示させるなら、
プログラム冒頭で年月日を調べて、
現在年月日=指定年月日 なら表示。
それ以外なら何もせずに終了。
で、そのプログラムをスタートアップに
登録しておく。
0866デフォルトの名無しさん
NGNG>>861 のどこが不満なんだ?ちゃんとグリーティングカード出せるじゃん。
0868デフォルトの名無しさん
NGNG別アプリにフォーカスが移っても大丈夫。
ただし、Excelが終了したら当然ダメ。
0869デフォルトの名無しさん
NGNGシート1では動くのだが、シート2ではエラーが出る。
シート1用のマクロを作ってしまったみたいだが、
汎用化するにはどうすればいいのでつか?
0870デフォルトの名無しさん
NGNG動いてねーじゃねーか。悪りーyo!
0871デフォルトの名無しさん
NGNGシート1では動くんだYO。
入力として、シート1とシート2に同じデータを置いても、
シート2はエラー出ちゃうんだよぅ。
飽くまでシート1のマクロになってしまったようで。厨でスマソ
0872デフォルトの名無しさん
NGNGコード晒せ
0873デフォルトの名無しさん
NGNGSub OrgSort()
Dim hidari As Integer
Dim migi As Integer
Dim haba As Integer
Dim mokuteki As Integer
Dim mokutekiMei As String
Dim situmon As String
Dim taitoru As String
hidari = 1
migi = 1
situmon = "ソートしたい項目を正確に入力してください"
taitoru = "文字列入力"
mokutekiMei = Application.InputBox(Prompt:=situmon, title:=taitoru, Default:="新入会", Type:=2)
Do While Cells(1, hidari) <> ""
haba = 0
Cells(1, hidari).Select
・・・
このCellsで、シート2の場合、エラーが出ます。
0874デフォルトの名無しさん
NGNGhaba = 0
Debug.Print "現在のhidari=",hidari ’ここ追加
Cells(1, hidari).Select
この一行追加して結果教えれ
それと、コードはどこに書いているの?
0875デフォルトの名無しさん
NGNG漏れは、シート1でも、2でも動く・・・・
セルA1が空白でない場合
A1がセレクトされる
0876デフォルトの名無しさん
NGNG0877デフォルトの名無しさん
NGNG間に合ったか?
0878デフォルトの名無しさん
NGNGアフォなんて書いてねーで、ちゃんとレスつけてやれよ
0879デフォルトの名無しさん
NGNGすげー亀レスすまそ。別の外回り仕事行ってた。
追加して試したけど、何も変化無かったよ。
そうそう、コードはシート1に書いてる。
これが>>876の言うアフォなのかもしれないが
まあ、その通りなんだろうな・・・どうしたら汎用化できるんだYO!?
0880873
NGNGそういや何気なく使ってたDim。もしかして、
javaで言うprivate宣言みたいなもんなのか?
0881デフォルトの名無しさん
NGNG挿入
標準モジュール
で、そこに書く。
多分、全体をコピーすればいい。
そんで、シート1のは削除
0882873
NGNGありが�d
0883デフォルトの名無しさん
NGNG0884Seiroggn
NGNG途中で 『オブジェクト変数または With ブロック変数が設定されていません』 と表示されて
止まってしまいます。
何か根本的に間違っていると思うのですが正しい方法を教えてもらえないでしょうか?
宜しくお願いします。
UserForm1のコードに入力↓
-----------------------------------------------------
Sub clear2()
Dim TextBox(1 To 16) As Object
Dim i As Integer
TextBox(1) = TextBox1 '★ここで止まってしまう。
TextBox(2) = TextBox2
TextBox(3) = TextBox3
TextBox(4) = TextBox4
・
・
・
TextBox(16) = TextBox16
For i = 1 To 16
TextBox(i).Value = ""
Next
End Sub
-----------------------------------------------------
0885デフォルトの名無しさん
NGNGオブジェクト変数が設定されていないなら答えは一つだな
つかそのエラー(Error 91)のヘルプに思いっきり書いてあるわけだが
0886デフォルトの名無しさん
NGNG0888デフォルトの名無しさん
NGNGオブジェクトのコピー(ディープ/シャロー問わず)は出来ないよな。
だったら、Setで区別しても意味無いじゃないか。
それとも、俺が知らないだけで、コピーって可能なのか?
0889デフォルトの名無しさん
NGNG何でもやらせようとするおじさん達のおかげで、なぜかVBA組むことに…。
申し訳ないんですが、教えてください。
特定のセルなりなんなりにファイル名をいれて、ファイルサーバから
該当ファイルを呼び出してくるようなものって、どうすればいいんでしょう?
その後やりたいことはなんとなくできたんですが(でも汎用化しきれてない)
それがなんとなくできなくて…。
宜しくお願いします。
0890デフォルトの名無しさん
NGNG0891デフォルトの名無しさん
NGNG0892デフォルトの名無しさん
NGNG>>特定のセルなりなんなりにファイル名をいれて、ファイルサーバから
>>該当ファイルを呼び出してくるようなものって、どうすればいいんでしょう?
セルからファイル名を読み取る方法がわからないのか、それともファイルの呼び出し方がわからないのか、どっち?
あと、「呼び出してくる」というのは、どういう操作を指してるの?
0893デフォルトの名無しさん
NGNG>セルからファイル名を読み取る
セルの文字列を読み取る。の間違いだろ
0894デフォルトの名無しさん
NGNGわからないのはファイルの呼び出し方です。
呼び出してくるというのは、保存してあるファイルを探してきて
開く、という操作です。
文字列の読み取りはわかりました。
わかりにくい書き方してごめんなさい。
1回の処理件数が多い(100枚前後)ので、ファイルを開くのも
自動化したいと思いました。
よろしくお願いします。
0895デフォルトの名無しさん
NGNG0896デフォルトの名無しさん
NGNG0897デフォルトの名無しさん
NGNG1.目の前にウィンドウを開く
2.ファイルシステムオブジェクトでファイルストリームを開く
3.Worksheetオブジェクトに読み込む
普通は2か3だがあなたは1を指してないか?
0898デフォルトの名無しさん
NGNG0899
NGNG自分が何をしたいのか、どこで行き詰っているのかぐらいは整理してか
ら相談するようにしているぞ。
自分で「わかりにくい書き方してぼめんなさい」と言う前に整理したらどうYO?
0900デフォルトの名無しさん
NGNGそれに、自分で調べてやってみて、どうしてもうまくいかずに引っかかる
ところがあって質問、じゃなくて仕事丸投げだもんなぁ…
0901889
NGNG逝ってきます…。
0902デフォルトの名無しさん
NGNG「c:\test.doc」としておいて、以下のコードで文字列置換をしようと
すると、おだぶつ、で止まるんですが、なんかヘマしてますかね。
詳しい方、おねがいします。
Delphi4で同じことさせると、うまくいくんですけど・・・
Sub test()
Dim oW As New Word.Application
Dim oWD As Word.Document
oW.Documents.Open FileName:="c:\test.doc"
Set oWD = oW.ActiveDocument
With oWD.Content.Find
.ClearFormatting '<-おだぶつ
.Execute findtext:="グラハム", replacewith:="おいスティーブ", Replace:=wdReplaceAll
End With
oWD.SaveAs FileName:="c:\test2.doc" '別名で保存
oWD.Close
oW.Quit
Set oWD = Nothing
Set oW = Nothing
End Sub
0903デフォルトの名無しさん
NGNG0904902
NGNG直ってしまった。スレ汚し、スマソ。
0905デフォルトの名無しさん
NGNG例としてですが、以下のようにVBAを書いてみました。
-------------------------------------------
i = 1
For x = 0.1 To 0.7 Step 0.1
Cells(i, 1) = x
i = i + 1
Next
end sub
-------------------------------------------
xが0.7になるまで、A列に書き出せ、というような意味だと思います。
ですが、実際に動かしてみると、0.6までしか書き出しません。
試しに、0.7の部分を変えていくつかまわしてみたのですが、結果は以下の通りになりました。
0.5 → 0.4 まで書き出し
0.6 → 0.5 まで書き出し
0.7 → 0.6 まで書き出し
0.8 → 0.8 まで書き出し ←正常に終了?
0.9 → 0.9 まで書き出し
このようなことから、0.7以下の場合に何か起こってしまうのかと思ったのですが、
どこか間違い等があるのでしょうか。
よろしくお願い致します。
0906デフォルトの名無しさん
NGNGそれはDOSの大昔っから抱えてる、誤差のせいではなかろうか。
ていうか、x の型はなに?
0907デフォルトの名無しさん
NGNGDim x As Double
Dim i As Integer
としていました。
これは昔からある問題なんですか?
パソコンに疎いもので、ぜんぜん知らなかったです。
0908デフォルトの名無しさん
NGNGSingle,Doubleはデータを2進数で格納するので、小数点の扱いがニガテなの。
1は2の0乗、2は2の1乗、3は2は2の1乗+2の0乗、4は2の2乗・・・
でも0.1を正確にあらわせないので、近似値になってしまうの。
だから、0.1に0.1ずつ足せば0.1、0.2、0.3、0.4・・・
となりそうだけど、ちっちゃい誤差が溜まってなかしくなるです。
じゃあどうすればいいかっていうと、例で使われた程度の範囲なら、
Currencyは都合がいいです。小数点以下4桁までしか扱えませんが、
この桁の範囲で計算するぶんには誤差は生じません。
どうしてかっていうと、Currencyは実は見せ掛けの小数というか、
内部では10000倍して整数として扱っているの。
例えば0.0001は、パソコン内部では1として扱い、
小数点の位置だけをずらして最終的に小数にしてるから。
0909デフォルトの名無しさん
NGNG○・・・溜まっておかしくなるです
いい気になって書いてるうちにミスりました。
練炭で逝ってきます・・・
0910905,907
NGNGありがとうございます!
この程度の計算では、single,doubleは向いていないみたいですね。
Currencyにしたら計算できました。
これからもよろしくお願い致します。
0911デフォルトの名無しさん
NGNG・これからも、わからないことは調べずに貴方たちに任せます。
0912デフォルトの名無しさん
NGNGエクセルファイルが開けなくなってしまいました。
何か対処方法はありませんか?
こういう事って良くあるんでしょうか?
(XPです)
・作業過程と症状
1.AというエクセルファイルでVBAプログラムしていた。
2.その状態でBというエクセルファイルを開いたらフリーズしてしまった
3.エクセルを強制終了
4.次にAのファイルを開くと、シートの表示はされるが、カーソルが砂時計表示のまま固まってしまう。
(タスクマネージャでみると、エクセルがCPUの98%位を使用したまま)
ちなみに、AもBも20M位のファイルです
0913デフォルトの名無しさん
NGNGこの程度の計算に向いてないというよりは、昔っから体験してることの
延長線上みたいなもんだよ。
電卓で10÷3×3=とやっても10にならないのとほぼ同じ。
小数点以下に精度を要求する計算でも、下のほうの桁はアテにならないからね。
>>911
こーいうのは調べてもわかりにくいよ。
なんせ本人には理屈の見当がついてないわけだから。
0914デフォルトの名無しさん
NGNG俺も以前似たような質問をしたが放置された。
まずエクセルのセキュリティ設定を中か高に変える。
↓
マクロつきブックを開こうとすれば警告が出るのでマクロを無効にする。
↓
開いたらVBエディタを開いてマクロがクサッてないか確認
↓
別名で保存
0916デフォルトの名無しさん
NGNGバックグラウンドコンパイルに問題があるのではないかと、
保存する前には自分でコンパイルするようにしてみた。
あと、編集を続けてるとMSIME2000が「変換できなくなった」と言ってくることがある。
編集を続けますか?と聞いてくるので当然のように「はい」を選ぶと落ちる。
落ちたら、>>912になる確率が高い。
だから、「いいえ」を選ぶようにしてる。
いったいなんなんだか・・・
0917デフォルトの名無しさん
NGNG0918デフォルトの名無しさん
NGNGサッサとAccessに移行しろって感じ。
・・・そして、Accessでも謎の現象に見舞われる、と。
0919デフォルトの名無しさん
NGNG0920デフォルトの名無しさん
NGNGそう思うんだけど、止まったタメシがないんだよなぁ。
あと、何十MBにもなると、再計算に30分(@Athlon1GHz)以上かかったりして鬱。
スクリーンセーバーや壁紙チェンジャーとかのせいで再計算が発生したら
止めようがない(まれに止まってくれるけど)。ただひたすら待つのみ。
数MBになると思われる時点で、Accessを使うよう方針変更すべきなんだな。
0921山崎渉
NGNGピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0922デフォルトの名無しさん
NGNG0924デフォルトの名無しさん
NGNGって感じでシート管理するヴォケみたいな思い付きでを続けてたらあっという間にシート180枚超えました。
Accessと連携してなんとかならないものかと考えましたが、結局、レコードの詳細表示を
保持するのはExcelシートじゃないとダメなんです。詳細表示シートは図とか使ってますし。
何か良い方法ないでしょうか?このままでは来月中にシート開かなくなります。
0925デフォルトの名無しさん
NGNG0926デフォルトの名無しさん
NGNG詳細シートのそれぞれを別のブックにして、
コマンドボタンから該当のブックを呼び出せば?
ファイルの数が多くなるけど、
ばかでかいファイルを読み書きするより、
軽くなるのではないかと思います。
0927924
NGNG結果、これってカッコ悪くないですか?
0928デフォルトの名無しさん
NGNG0929デフォルトの名無しさん
NGNG次ぎスレ用にVBAに関するQ&A集のテンプレだれか作ってくれ
おながい
0930デフォルトの名無しさん
NGNG・質問する人は可能な限り具体的に書いてね。
・コード(プログラム)を晒すと、なおヨシ。
・質問を小出しにすると、大抵遠回りになります。
・Excelのバージョン、OSのバージョンも書くとレスが付きやすい。
・回答がなくてもキレないで。
・分かる人はできるだけ回答して下さいませ。
こんなんで、いいんじゃない?
Q&Aは、無理だろ・・・
0931デフォルトの名無しさん
NGNG> 次ぎスレ用に
「俺様用に」と言いたいんだろ?白々しく「次スレ用」なんて言わないでおくれ。
0932
NGNG後、
・書き込む前に推敲してわかりやすい文章に汁。
も追加しておいた方が。
0933デフォルトの名無しさん
NGNGデータをAccessに追い出して、毎回図を生成してはダメなのか?
あ、図=グラフとは限らんか・・・
詳細ボタンを押せばパッとひらく今(想像)よりはレスポンスは落ちるが、
ブックが開くのも速くなるしシート数も減ってスマートになると思うんだが・・・
0934デフォルトの名無しさん
NGNG・質問する人は可能な限り具体的に書いてね。
・コード(プログラム)を晒すと、なおヨシ。
・質問を小出しにすると、大抵遠回りになります。
・Excelのバージョン、OSのバージョンも書くとレスが付きやすい。
・回答がなくてもキレないで。
・分かる人はできるだけ回答して下さいませ。
・書き込む前に推敲して、回答する人にわかりやすい文章に汁。
0935デフォルトの名無しさん
NGNGOS:
EXCELのバージョン:
本文:
なんてのを2辺りに張っといて、使ってもらえば?
0936デフォルトの名無しさん
NGNG結構何でもできるし。
これ覚えたらアクセスなんていらなくなりそうだよ。
てか、アクセスの機能のうちでエクセルVBAで実現できないことってあるのか?
0937デフォルトの名無しさん
NGNGいろいろあるが、Excelは65535行までというのが一番いたい。
0938デフォルトの名無しさん
NGNG0939デフォルトの名無しさん
NGNGExcelとAccessじゃ、そもそも用途が違うからね。
VBAやってくうちにExcelの限界が見えてくると思うよ。
0940デフォルトの名無しさん
NGNG0941デフォルトの名無しさん
NGNG原則的に自動マクロを編集する方向でコーディング行うと、間違った方向で結果が出ることはないです。
作業効率UPの基本は「手順改善」「自動化」にあるので、「Excelでこれをやりたい!」と考えるよりも、
「今この手順でやっているが、これを自動で行う」とか考えた方がVBAとして良い結果が得られます。
ExcelVBAやってて助かることは出力を簡単に整形できること。こんなに使える「ツール」はないと思います。
なんでもできるExcelだけど、大量なドキュメントを作成/編集するときはWordのサブ文書等に頼りますが。
0942デフォルトの名無しさん
NGNGもう手遅れだって......
0943デフォルトの名無しさん
NGNG便利な世の中になったもんだ。
0944デフォルトの名無しさん
NGNGそんなことないぞ。
0945デフォルトの名無しさん
NGNGまた書き込んでくるであろう、疑問符をいっぱい抱えて。
Excelはね、たくさんコード書いてると、ヘンな動きをしだすんだよw
0946動画直リン
NGNG0947941
NGNGBookオープン時に取得しているのですがクリックすると描画がループします。
なぜでしょうか????????????????->->->->->->->>945
教えてください。
0948デフォルトの名無しさん
NGNGなんか違うと思う。
おれもlVBAをかじりたての時はそう思ったけど。
Excelで処理すべき作業なのか、他のアプリで処理すべき作業なのか、
その見極めができるようになったら理解できると思う。
おれも最初は「Excel+VBA」が魔法のツールと錯覚し、何でもExcelで
処理してたな・・・
0949デフォルトの名無しさん
NGNG俺のとこは管理者がまぬけなのか、放置されてます。
おかげでMSのバグ回避用のコードが汚すぎです(号泣
0950デフォルトの名無しさん
NGNG0951デフォルトの名無しさん
NGNG同じプロシージャを実行させるコードを以下のように書きました。
--------------------------------------------------------
Private Sub textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Call サブルーチン(1)
End Sub
Private Sub textbox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Call サブルーチン(2)
End Sub
(以下省略)
--------------------------------------------------------
コントロールの数だけイベントプロシージャを記述すれば一応動作
しますが、数が多すぎて(20個あるので)あまりに非効率のような
気がします。このようなコードを一つにすっきりさせることは
可能でしょうか?よろしくお願いします。
0952デフォルトの名無しさん
NGNGたしかVBAはコントロール配列を作れなかったから無理
0953951
NGNGやはりそうですか。
Controls("Textbox" & i) のような擬似コントロール配列も
このような場合には使えないし。どうしてVBと共通の仕様に
しないのやら・・・
0954デフォルトの名無しさん
NGNG0955デフォルトの名無しさん
NGNG文字通り、コントロールの配列です。
同じ属性を持つコントロールを配列で管理すれば、コーディングの時に何かと
便利です。
例えばコントロールが10個あった場合、VBAの場合10個全てにユニークな
名前を付ける必要がありますが、VBの場合はコントロールを配列にすることで、
一つの名前で扱うことができます。
これにより、本来10個分のコードを書く手間を省略する事が可能になり、コードの
メンテナンス性が向上します(使い方によっては逆になる場合もある。そのへんの
事情は配列変数と同様)。
同じ属性のコントロールを一元に扱えるということは、イベントもまた一元に扱える
という事で、例えばコントロール配列Aに定義したイベントは、その要素である
A(1)、A(2)…に対しても、同じように作用します。952の回答は、これがVBAでは
出来ないという事を意味しているのです。
0956デフォルトの名無しさん
NGNG0957デフォルトの名無しさん
NGNGへー、じゃぁどうやるの?ってすれ違いかな
0958デフォルトの名無しさん
NGNGhttp://www.microsoft.com/japan/msdn/vs/general/vbtchCreatingControlArraysInVisualBasicNETVisualCNET.asp
0959デフォルトの名無しさん
NGNG調べてみたところ、ユーザー定義クラスを利用すれば出来ないこともないらしい。
以下テキストボックスが5個の場合の例。
'UserFormのモジュールに書くコード
Option Explicit
Option Base 1
Dim myClass1(5) As New Class1
Private Sub UserForm_Initialize()
Dim myTextbox As New Collection
Dim i As Integer
With myTextbox
.Add Item:=TextBox1
.Add Item:=TextBox2
.Add Item:=TextBox3
.Add Item:=TextBox4
.Add Item:=TextBox5
End With
For i = 1 To 5
Set myClass1(i) = New Class1
With myClass1(i)
.txt = myTextbox(i)
.Index = i
End With
Next
End Sub
0960デフォルトの名無しさん
NGNGOption Explicit
Private WithEvents myTxt As MSForms.TextBox
Private idx As Integer
Public Property Get txt() As MSForms.TextBox
Set txt = myTxt
End Property
Public Property Let txt(ByVal txtNew As MSForms.TextBox)
Set myTxt = txtNew
End Property
Public Property Get Index() As Integer
Index = idx
End Property
Public Property Let Index(ByVal idxNew As Integer)
idx = idxNew
End Property
Private Sub myTxt_Change()
MsgBox "textbox(" & idx & ")を変更しました"
End Sub
このコードを使うと、テキストボックスを変更した際にChangeイベントが発生し、
メッセージボックスにテキストボックスコレクションのインデックス値が表示される。
ただ自分が試した限りでは、何故かExitイベントが発生しないのだが、原因は
私の力不足により不明です。申し訳ない。
0961デフォルトの名無しさん
NGNG中途半端だし。更に、VBAはCollection使わないと凝ったことは何一つできないという罠。
可変長配列の代替としてCollection使うのは良いことだ。可読性UPするしな。
0962預言者
NGNG0963951
NGNGおお、これなら確かにちゃんと動作しますね。
しかしなぜExitイベントだと動作しないのか・・・謎です。
今までクラスモジュールは触ったことがなかったのですが、
使いこなせれば色々と便利なことができそうですね。
959さん、どうもありがとうございました。
0964デフォルトの名無しさん
NGNGVB/VBAのクラスはオブジェクト指向のクラスとしては足りない機能がおおいけど、
むしろイベント制御用として割り切って使うこともいいんでは
0965デフォルトの名無しさん
NGNGヘルプを見ようと思って開いたら、すべての項目がなくなってました・・・
これは、再インストール以外に解決策はあるのでしょうか?
0966デフォルトの名無しさん
NGNG俺だったら真っ先に再インストールするね。
何か事情があるなら無理かも知れんけど。
0967デフォルトの名無しさん
NGNGExcel2000で印刷の用紙サイズをB4やB5に設定するとき
PageSetup.PageSize に xlPaperB4 または xlPaperB5 と設定しますが、
OKI ML2030N ではエラーが発生します。
マクロの記録で調べたところ、OKI ML2030N では
B4/B5の設定値が xlPaperB4 や xlPaperB5 ではなくて
122 と 127 になっていました。
この値はプログラムからはどのようにして調べるのでしょうか?
0968デフォルトの名無しさん
NGNG====================
Sub
A()
End Sub
--------------------
Function A
???
End Function
=======================
関数の???ところでエクセルを終了させずにマクロ全体から抜ける方法がわかりません。
今のところ、関数AからBool値をSubに戻して判別してるんですが、
何か便利な関数があるはずだと思うのです。
ヘルプ探したのですが、見つかりませんでした。
もしよろしければおしえていただけませんか?よろしくお願いします。
0969デフォルトの名無しさん
NGNGExit Function
ちゃんとヘルプ嫁
0970デフォルトの名無しさん
NGNGいやー、てっきりExit Functionでは関数から抜けるだけだと思ってました。
マクロからも抜けれるんですね。
早速試してみます。
0971デフォルトの名無しさん
NGNGやっぱだめでした。関数から抜けるだけでした。
探してるものは、いわばFunctionの中でつかえる、Exit Subなんですが。
0973デフォルトの名無しさん
NGNG思ったとおりにいけました。どうもありがとうございました。
0974デフォルトの名無しさん
NGNGなくて ActiveSheet の Range の位置の NumberFormatLocal が変わって
しまうというバグを見つけたんだが、こんなデカいバグがパッチ当てられて
いないほど DAO って使われてないのか?
0975一応テストコード
NGNGDim dbnam As String
dbnam = ThisWorkbook.FullName & ".dbo"
If Dir(dbnam) <> "" Then Kill dbnam
Dim db As Database
Set db = DBEngine.CreateDatabase(dbnam, dbLangGeneral)
Dim table As TableDef
Set table = db.CreateTableDef("data")
table.Fields.Append table.CreateField("date", dbDate)
db.TableDefs.Append table
db.Execute "insert into data values ('2003/06/01')"
db.Execute "insert into data values ('2003/06/02')"
db.Execute "insert into data values ('2003/06/03')"
Dim rs As Recordset
Set rs = db.OpenRecordset("select * from data")
Dim ws As Worksheet
Set ws = ActiveSheet
Dim wsData As Worksheet
Set wsData = ThisWorkbook.Worksheets.Add
ws.Activate
ws.Cells(1, 1).NumberFormatLocal = "G/標準"
ws.Cells(1, 2).NumberFormatLocal = "G/標準"
ws.Cells(1, 3).NumberFormatLocal = "G/標準"
wsData.Range("a1").CopyFromRecordset rs
Application.DisplayAlerts = False
wsData.Delete
Application.DisplayAlerts = True
Debug.Print ws.Cells(1, 1).NumberFormatLocal
Debug.Print ws.Cells(1, 1).NumberFormatLocal
Debug.Print ws.Cells(1, 1).NumberFormatLocal
End Sub
0976デフォルトの名無しさん
NGNG参った・・・一応、CopyFromRecordset の実行中だけ Activate でデータの
シートを ActiveSheet にしたら問題は回避できることは確認した。
でも、今まで気付かずに使いまくり・・・
0977デフォルトの名無しさん
NGNG仕様と言い張るにはちょっと苦しい動作ですね。
0978デフォルトの名無しさん
NGNGでね、俺もちょっとやってみようと思ったんだけどサンプルのソース通りにコーディングしたのにコンパイルできないんですよ
↓のソースってどこが間違ってるんですかねぇ〜
ちなみにエラーメッセージは"Sub または Functionが定義されていません"だって。何のことやら
0979デフォルトの名無しさん
NGNG0980デフォルトの名無しさん
NGNGPrivate Sub CommandButton1_Click()
Dim mt(12) As Integer
mt(1) = 31: mt(2) = 28: mt(3) = 31: mt(4) = 30
mt(5) = 31: mt(6) = 30: mt(7) = 31: mt(8) = 31
mt(9) = 30: mt(10) = 31: mt(11) = 30: mt(12) = 31
y = Val(TextBox1.Text)
m = Val(TextBox.Text)
d = Val(TextBox.Text)
If (y Mod 4) = 0 And (y Mod 100) <> 0 Or (y Mod 400) = o Then
mt(2) = 29
Else
mt(2) = 28
End If
zure = y + (y - 1) / 4 - (y - 1) / 100 + (y - 1) / 400
0981デフォルトの名無しさん
NGNGFor k = 1 To m - 1
days = days + mk(k)
Next k
week = (zure + days + d - 1) Mod 7
If week = 0 Then
TextBox4.Text = "Sunday"
ElseIf week = 1 Then
TextBox4.Text = "Monday"
ElseIf week = 2 Then
TextBox4.Text = "Tuesday"
ElseIf week = 3 Then
TextBox4.Text = "Wednesday"
ElseIf week = 4 Then
TextBox4.Text = "Thursday"
ElseIf week = 5 Then
TextBox4.Text = "Friday"
ElseIf week = 6 Then
TextBox4.Text = "Saturday"
Else
TextBox4.Text = "Error"
End If
End Sub
0982デフォルトの名無しさん
NGNGどこでエラーが出ているのかな
オレだったらこんなコードにする。
Private Sub CommandButton1_Click()
Dim strWeekday()
strWeekday = Array("", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat")
If IsDate(Me.TextBox1.Value) = False Then
MsgBox "日付が誤っています。"
Me.TextBox1.SetFocus
Exit Sub
End If
If (Me.TextBox1.Value <> Format(Me.TextBox1.Value, "yyyy/mm/dd")) And _
(Me.TextBox1.Value <> Format(Me.TextBox1.Value, "yyyy/m/d")) Then
MsgBox "日付が誤っています。"
Me.TextBox1.SetFocus
Exit Sub
End If
MsgBox strWeekday(Weekday(Me.TextBox1.Value))
End Sub
0983デフォルトの名無しさん
NGNG日本語のエラーメッセージもわからんのか?
0984↑
NGNG0985デフォルトの名無しさん
NGNG正論だろ
親切にmkという関数は定義されていませんよと反転付きで教えてくれてるのに
0986デフォルトの名無しさん
NGNGどこを直せばいいのかきちんと書け
そして死ね
0987デフォルトの名無しさん
NGNG0988デフォルトの名無しさん
NGNG死ねよ低脳
0989デフォルトの名無しさん
NGNGまず、先頭に以下のコードを追加してコンパイルしろ
Option Explicit
0990デフォルトの名無しさん
NGNGy Mod 400と変数oを比較したり、
突っ込みどころ満載だな、釣りですか?
0991
NGNGえっれーでかい態度 (w
0992デフォルトの名無しさん
NGNGコンパイルエラー 修正候補:ステートメントの最後だとよ、どういうことだ?
いい加減なことばっか教えてんじゃねぇよ、死ねよ
てかね、釣りも何も俺は見本通りにソース書いただけなんですよ
文句言うならそいつに言え
さぁ、引き続きサポートしろよ
0993デフォルトの名無しさん
NGNGじゃあヒントだけ教えてやろう。
"Sub または Functionが定義されていません"というメッセージはまあそのまんまの
意味なんだが、未定義のSubやFunctionを使った覚えがないのにこのエラーが
出るということは、単なるタイプミスの可能性が濃厚だ。
というわけで、上で宣言している配列変数あたりが疑わしい。つかそれだ。
0994デフォルトの名無しさん
NGNGいい加減なことばっか教えてんじゃねぇよ、死ねよ
0995デフォルトの名無しさん
NGNG何万回も確認したけど俺は間違ってないからな
てかプログラミング講座気取りのサイトでも間違ったソース載っけてるバカが結構多いからな
このソース乗せてる奴もその一人なんだろうな
死ねよ
0996デフォルトの名無しさん
NGNG貴様ら、こっちへ来い↓
http://pc2.2ch.net/test/read.cgi/tech/1055153917/
0997デフォルトの名無しさん
NGNG0998デフォルトの名無しさん
NGNG別にいいのに
0999デフォルトの名無しさん
NGNGとんだ過疎スレだな、死ねよ
1000デフォルトの名無しさん
NGNG死ねよ
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。