Excel VBA 質問スレ Part33
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2013/10/17(木) 22:04:40.64___
___ /____ヽ ____
/____\ | |´・ω・`| | /___ヽ
.l |´・ω・`| ニX二 . ̄ ̄ ̄ 二X二 |´・ω・`| l 俺たちに任せろ
!、 ̄ ̄ ̄ ヽ | | /  ̄ ̄ ̄/
ヽ_/ヽ、 ヽ__) \__/\_/. /_/ ノヽ_/
 ̄  ̄ ̄
前スレ
Excel VBA 質問スレ Part32
http://toro.2ch.net/test/read.cgi/tech/1381151717/
このスレはコード書き込みOKです。
作成依頼もOKですが、作成依頼限定ではありません。
コードが嫌な人はこちらのスレへ
http://toro.2ch.net/test/read.cgi/tech/1381151995/l50
0233デフォルトの名無しさん
2014/01/26(日) 05:40:30.51君にはまだ早いみたいだから無理するな
0234デフォルトの名無しさん
2014/01/27(月) 20:41:31.77フォルダ内にある.CSVファイルの行数を一つずつ取得して、それを別のブック(開いていない)のC10とC12のセルに結果を貼り付けて
そのブックを新しい名前で特定のフォルダ内に保存したいです(保存ファイル名は行数を取得したファイルの名前&_assにしたい)
それをフォルダ内にある.csvファイル全てに連続して処理をさせたいのですが、さすがに3000ファイルもあるとこれをしないと詰みそうです
途中までの作業はぐぐって何とかやってきましたが、ちょっとどんづまってます
よろしくお願いします
0235デフォルトの名無しさん
2014/01/27(月) 21:20:37.26Excelマクロ4.0を使えばブックは開かなくても済むかもね。
あと、CSVの行数取得はここに載ってた。
http://www.moug.net/tech/exvba/0060083.html
0236デフォルトの名無しさん
2014/01/27(月) 21:20:39.30ここで質問するような形式のレスではないし、論外だと思います
0237デフォルトの名無しさん
2014/01/27(月) 22:17:46.82kannsuu1 = Worksheets("Sheet1").Cells(i, 1)
kannsuu2 = Worksheets("Sheet1").Cells(i + 1, 1)
Do Until kannsuu1 <> kannsuu2
i = i + 1
kannsuu1 = Worksheets("Sheet1").Cells(i, 1)
kannsuu2 = Worksheets("Sheet1").Cells(i + 1, 1)
Loop
上記のようであれば完走するのですが i = i + 1 の下2行を削除すると動かなくなってしまいます
マクロの動きとしては Do Until でkannsuu1,2を呼び出すだけではダメで、必要であるごとにkannsuu1 =
などと一度呼びだしてiの値を反映させなければいけないのでしょうか?
多分ものすごく馬鹿なことを聞いてるのだと思いますが、さしつかえなければヒントだけでもご教示ください
0238デフォルトの名無しさん
2014/01/27(月) 23:07:45.25そのプログラムが正しいとすると、kannsuu1もkannsuu2も関数じゃなくて変数
名前をkannsuuにしても関数にはならない
0239デフォルトの名無しさん
2014/01/28(火) 01:37:20.21>>238の言うとおり、kannsuu1やkannsuu2はセルの値を入れる「変数」。
変数っていうのはプログラマの意図に反して勝手に中身の値が変わられると困る
(そもそもある値を一時的に保持しておく目的で変数というものが存在する)ので、
プログラム的に指示がない限り、勝手に中身が書き換わることは普通はない。
なのでそのコードは、A列のi行目と(i+1)行目のセルの値が一致する箇所を発見するまで
A列を上から下へ走査するという目的のコードであるなら、
間違いではない(最善ではないかも知れない)。
むしろ6、7行目を消そうとする理由が知りたい。
0240デフォルトの名無しさん
2014/01/28(火) 01:54:30.04i = 1
k1 = 0
k2 = 0
while k1 = k2
..k1 = cells(i+0,1)
..k2 = cells(i+1,1)
..i + 1
loop
または
i = 1
while cells(i+0,1) = cells(i+1,1)
..i + 1
loop
debug.print cells(i+0,1), cells(i+1,1)
0241デフォルトの名無しさん
2014/02/04(火) 21:02:33.55配列の数を取得するにはどうすればいいんでしょうか
UBoundって入力しても補完で出てこないし、
オブジェクトブラウザーで調べてみても存在していないんですが
0242デフォルトの名無しさん
2014/02/04(火) 21:53:17.23HELP参照するか、ググルと沢山有る
0243デフォルトの名無しさん
2014/02/04(火) 22:49:10.29ググり力を鍛えなければなぁ
0244デフォルトの名無しさん
2014/02/05(水) 01:40:01.47でも、やっぱ俺の環境にはUBoundねーぞ
UCaseはあんのにどういうこっちゃ
0245デフォルトの名無しさん
2014/02/05(水) 03:55:50.64オブジェクトブラウザにもみつからない
でも普通に使えるしヘルプはF1で参照できる
WordやACCESSでも同じだったから、VBEの問題かもね
0246デフォルトの名無しさん
2014/02/05(水) 05:28:39.22けど気にせず入力しちゃえば普通に使える
0247デフォルトの名無しさん
2014/02/05(水) 20:25:50.87補完出ないとかありえなくないですかw?
0248デフォルトの名無しさん
2014/02/05(水) 20:37:29.17Javaでいうリスナーを動的に設定するには何かいい方法ありますか?
text_ChangeAfter みたいなところに記述するのは、
数が増えると大変なので
エクセルテーブルにコンポーネントとそれに対する処理方法を記載しておいて、
例えば、郵便番号textには郵便番号処理(4桁目に-を挿入)をやらせるとかしたいです
0249デフォルトの名無しさん
2014/02/05(水) 20:37:50.41まだ他にもあるんかな
0250デフォルトの名無しさん
2014/02/05(水) 20:57:01.65>>248
Excelでコードを半自動生成すると捗る。
Private Sub TextBox5_Change(): Call 処理8(TextBox5): End Sub
Private Sub TextBox6_Change(): Call 処理3(TextBox6): End Sub
0251デフォルトの名無しさん
2014/02/05(水) 21:16:07.29大変興味深いです
でも、それはやっぱり
TextBox5_Changeメソッドに記述するという方法になってしまいますか?
0252デフォルトの名無しさん
2014/02/05(水) 22:30:17.57(テキスト入力→ボタンを押す→検索される)
Sub ボタン1_Click()
On Error GoTo エラー処理 '検索文字が見つからなかったときはエラー処理へジャンプ
Cells.Find(What:=TextBox1.Value, LookAt:=xlPart).Activate'シート全体を対象に検索
TextBox1.Value = "" 'テキストボックスの入力文字を消去
Exit Sub '検索文字が発見できた場合はここで終了
エラー処理:
MsgBox "見つかりませんでした"
TextBox1.Value = ""
End Sub
この場合、同じ文字列が複数有る場合、2つめ以降が検索できません。
2つめ以降を検索できるようにするにはどうすれば良いでしょうか?
0253デフォルトの名無しさん
2014/02/05(水) 22:38:15.96「WithEventsを使用してコントロールのイベントを受け取って、
別オブジェクトのActionPerformedメソッド?を呼び出す」
クラスを作りまくる方法もある
0254デフォルトの名無しさん
2014/02/05(水) 23:04:34.06ありがとうございます
まさにそれらしい記事を発見いたしました
http://ateitexe.com/excelvba-control-change-event/
家にexcelがないのですが、会社で試してみたいと思います
それと、textboxのプロパティで郵便番号ならIMEを半角数字限定
住所なら全角ひらがなとか設定できたと思いますが
それをテンプレートとして保存するような機能はありますでしょうか?
プロパティのこことここを直して〜だと設定ミスが出るので、
テンプレから反映できたらなぁと
これもテーブルに定義してもいいのですが
0255デフォルトの名無しさん
2014/02/06(木) 00:21:03.25>Cells.Find(What:=TextBox1.Value, LookAt:=xlPart).Activate
どの位置から検索するかを引数に与えることができたはずだから、
変数を用意して位置情報を扱うように改造すれば、連続して検索出来るよ
その際、検索処理をWhile Loop内にするのが一般的だと思う
0256デフォルトの名無しさん
2014/02/06(木) 00:23:20.25VBAスレだから、その、作ればいいと思うよ
0257デフォルトの名無しさん
2014/02/06(木) 01:01:49.69すくなくとも、ヘルプにはUBound「関数」とかいてあるわけですが
入力補完はしないくせに、uboundと書くとちゃんとUBoundにしてくれるんだな
0258デフォルトの名無しさん
2014/02/06(木) 01:30:45.07msdnにもUBound Functionて書いてあるよ
http://msdn.microsoft.com/en-us/library/gg278658(v=office.14).aspx
0259デフォルトの名無しさん
2014/02/06(木) 01:31:48.95http://msdn.microsoft.com/en-us/library/gg278658%28v=office.14%29.aspx
0260デフォルトの名無しさん
2014/02/08(土) 01:24:05.94variantとかめっちゃ便利やった
0261デフォルトの名無しさん
2014/02/08(土) 01:36:34.71オブジェクト指向言語のいいとこ取りはしてるってこと
0262デフォルトの名無しさん
2014/02/09(日) 02:17:26.39継承出にないよりは出来た方が良いって話なら当然のことだけど
出来ないなら出来ないなりに使いこなせる奴が、「言語を使ってる」奴だ
0263デフォルトの名無しさん
2014/02/09(日) 05:10:14.13昔のアセンブラなんかは掛算や割算も自前でロジックを組まなければならない時も
あったけど、今そんなの嫌でしょ?
例えば配列の中の値をソートしたいとして、それが出来るメソッドが最初から有ったとき、
わざわざ自前で作る必要はないよね?
そのロジックの仕組みを知ってて使うのと、知らないで使うのも違うけど、
そのロジックの仕組みを知ってても、そう言った便利機能を使えるのと使えないのではやっぱり違うよ。
0264デフォルトの名無しさん
2014/02/09(日) 10:56:14.31> 継承とかできないとかクソとか言ってる奴
と
> 出来ないなら出来ないなりに使いこなせる奴
は、別に排他じゃないだろ。
バカなの?
0265デフォルトの名無しさん
2014/02/09(日) 10:58:13.72組込機能頼りってのも、良いことばかりではないけどね
例えば
数値の1〜3と、英大文字のA〜Cと、英小文字のa〜cをソートした場合、Excelの並べ替えだと
「1,2,3,a,A,b,B,c,C」だが、
「1,2,3,A,B,C,a,b,c」にしたい場合や
「A,B,C,a,b,c,1,2,3」にしたい場合や
「1,2,3,a,b,c,A,B,C」にしたい場合とかもある
また数値だと
「7,8,9,40,50,60,100,200,300」だが、文字列数字だと
「100,200,300,40,50,60,7,8,9」になるので、文字列でも数値への変換無しに、
数値と同じ並べ替えをしたい場合や、逆に数値を文字列数字の順にしたい場合もある
便利なモノほど利用者をバカにすると言われてるわけで、
もちろん便利じゃないものを使いこなせる能力を持った上で、
便利なものを有効活用して工数を減らすのは良いが
便利なものに頼りきりになってしまうのも、問題と言えば問題だな
0266デフォルトの名無しさん
2014/02/09(日) 13:59:41.61大体は同意だけど、
>便利なモノほど利用者をバカにすると言われてるわけで、
これは少し違うと思う。
便利なものが有った場合、今度はそれをいかに有効活用するかということと、
自分で考えて作った方がいいかの選択肢が出てくる。
上のような例の場合、本来の項目を変えずに別項目を作って、
そこに前0で埋めたり、大文字変換した値を用意してソートすれば事足りる。
それもダメだというならそう言うLinqとラムダ式で組めばいい。
視点が変わるのと、出来ることが増えることによって夢がひろがりんぐになるわけだ。
0267デフォルトの名無しさん
2014/02/09(日) 14:13:43.520268デフォルトの名無しさん
2014/02/09(日) 19:53:17.21理解しろ
0269デフォルトの名無しさん
2014/02/10(月) 00:39:22.03そう思うんなら中間言語使って頭鍛えなよ。
そんなのの成り立ち一々全部理解しなきゃいけないなら
VBAでだってまともに組めないよ。
0270デフォルトの名無しさん
2014/02/10(月) 10:47:10.65便利なものが人をバカにするんじゃなくて
便利なものに頼りきる人はもともとバカだっただけ
0271デフォルトの名無しさん
2014/02/10(月) 15:31:20.21それはExcelのソートのインターフェースが糞なだけ。
まともな言語ならラムダ式とかで比較を書ける。
クイックソートとかをいちいち真面目に実装するのは面倒だろ。
0272デフォルトの名無しさん
2014/02/10(月) 17:52:51.320273デフォルトの名無しさん
2014/02/10(月) 21:17:25.11Javaってラムダ式あったっけ?
0274デフォルトの名無しさん
2014/02/10(月) 22:12:34.15Java8で導入とか何とか。
0275デフォルトの名無しさん
2014/02/10(月) 22:59:24.35Basicと言う観点から見れば仕様が固まるなんてことはないよ。
時代に合わせてる常に仕様は変わる。
VBAがたまたまVB6.0辺りの仕様で停滞してるだけ。
もっと前のN-Basic辺りは
Console 0,25,0,1とかおまじないのようにみんな付けてたけど、
VBAから入った人にしてみれば何のこっちゃってことになる。
0276デフォルトの名無しさん
2014/02/11(火) 08:44:06.430277デフォルトの名無しさん
2014/02/11(火) 10:11:19.84古いシステムでも修正なしで動くように新しい機能をわざと使わないことならある
0278デフォルトの名無しさん
2014/02/11(火) 11:13:16.08もうバージョン違いに悩まないで良くなるのかなあ。
0279デフォルトの名無しさん
2014/02/11(火) 12:02:07.37これからもどんどん新機能が追加されてくに決まってる
0280デフォルトの名無しさん
2014/02/11(火) 14:29:28.140281デフォルトの名無しさん
2014/02/11(火) 23:00:10.06空欄のセルだけ非表示にできるようにはどうマクロを組めばよいのでしょうか。
数式が入っていなければ非表示にできるようには組めるのですが、
見た目上は空欄でもセルには数式が入力されているため上手くできません…。
どうかご教授ください。
0282デフォルトの名無しさん
2014/02/11(火) 23:05:27.59セルの非表示ってどうやってやってるの?
0283デフォルトの名無しさん
2014/02/11(火) 23:41:26.34セルではなく行の非表示でした。
例えばa1からa10に入力がない場合ですが、
If [Counta(a1:a10)] < 11 Then
Range("a1:a10").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End If
で処理をしています。
ですがこれだと関数で空欄になっていてもセルには数式が入っているので、
非表示にはならないので困っています。
0284デフォルトの名無しさん
2014/02/12(水) 07:33:54.19ちょっと思い出せないけどxlCellTypeBlanks以外に何かなかったっけ?
ないなら判定を自分で作ればいいかと
0285デフォルトの名無しさん
2014/02/12(水) 10:47:06.240286デフォルトの名無しさん
2014/02/12(水) 12:30:57.75For Each c In Range("a1:a10")
If c.Text = "" Then Rows(c.Row).Hidden = True
Next
0287デフォルトの名無しさん
2014/02/12(水) 14:37:20.000288デフォルトの名無しさん
2014/02/12(水) 14:40:01.25それだと1個でも空白セルがあったら非表示になるんじゃ
0289デフォルトの名無しさん
2014/02/12(水) 16:22:45.01For Each でA1:A10内の各セルを一個ずつ選んで
そのセルのテキストが""だったらセルの行全部を削除する
これは>>283の要求どおりの動作だと思う
0290289
2014/02/12(水) 16:25:01.52削除じゃなく非表示だった
0291デフォルトの名無しさん
2014/02/12(水) 17:49:50.09ああ、行単位でコントロールするのか
If [Counta(a1:a10)] < 11 Then しか見てなかったわ
0292デフォルトの名無しさん
2014/02/12(水) 19:19:18.291行も消さない場合のがよっぽど多くないと、このロジックだとむしろナノ秒単位で遅くなるだろ
0293283
2014/02/12(水) 19:43:37.89このマクロで思った通りの処理をしてくれました、ありがとうございます。
ですが思ったよりも処理に時間がかかってしまうようです...。
レスを下さった方々ありがとうございます!
0294デフォルトの名無しさん
2014/02/12(水) 19:47:46.74まとめて処理すればいいよ
もらったコードに手を加えちゃダメってわけじゃないんでしょ?
0295デフォルトの名無しさん
2014/02/12(水) 19:56:10.39えっ調べるのはA列だけでいいの?だとしたら>>283のコードはなんだったのか…
遅いと感じるならScreenUpdatingを入れればたぶん一瞬で終わるよ
0296283
2014/02/12(水) 20:26:25.50レスくださった方のものを参考にさせていただいて自分で再度考えてみます。
ご迷惑おかけしました、ROMに戻ります。
0297デフォルトの名無しさん
2014/02/14(金) 03:55:36.59ウェブの某サイトに自動ログインするマクロを作っています。
IDとパスワードはうまく入力させることができたのですが、
ログインができません。
ログインボタンが次のようなソースコードのサイトに
ログインするにはどうしたら良いでしょうか?
<input type="hidden" name="SsLoginPage" value="/members/" id="hidden1">
<input type="hidden" value=" ログイン " id="submit1" name="submit1">
<input type="image" src="../../ssl_img/login/btn_login.gif" alt="ログイン" tabindex="300" id=image1 name=image1>
0298デフォルトの名無しさん
2014/02/14(金) 19:01:26.24スレ違い
0299デフォルトの名無しさん
2014/02/14(金) 21:24:22.54できてるところまでソース貼って
0300デフォルトの名無しさん
2014/02/14(金) 22:46:45.67サイトは伏せさせてもらっていいでしょうか? ネットで調べて無理矢理作ったので洗練されてません。
Sub 自動ログイン()
Dim obj As Object
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate "https://《ログインしたいサイト》"
Do Until objIE.Busy = False
Do Until objIE.ReadyState = 4
Do Until objIE.Busy = False
DoEvents
Loop
Loop
Loop
CreateObject("WScript.Shell").AppActivate "《ログインしたいサイトのタイトル》"
Set objU = objIE.document.getElementsByName("SsLogonUser")
If objU.Length = 0 Then
MsgBox "ログインページが変わった?"
WScript.Quit
End If
objU(0).Value = "《ID番号はここ》"
Set objU = Nothing
objIE.document.getElementsByName("SsLogonPassword").Item(0).Value = "《パスワードはここ》"
Set objU = Nothing
'このあと、ログインできるようにしたいのですが…
End Sub
0301デフォルトの名無しさん
2014/02/15(土) 11:58:56.47ExcelシートにユーザフォームでDTPickerを貼り付けて、日付をこのカレンダーで
選択すると、フォームがある位置の陰になっているセルにこっそり日付格納して
マクロでその日付を使うように作成しました。
ところがこのカレンダーが動く人と動かない人がいて困っています。
(クリックしてもユーザフォームが固定された状態でカレンダーが表示されない)
環境はExcel2010で作成および表示
拡張子は会社の方針で互換重視のxls(関連会社とのファイル共有などのため)
どうもExcel2000でファイルを開くと動くというのも確認されていて、意味不明です。
インスコされている環境も社内標準環境なので、ランタイムが異なるなど無いはず
なんですが…
解決策の心当たりがあればよろしくお願いします。
0302デフォルトの名無しさん
2014/02/15(土) 13:34:19.94ここにアクセスがインストールされてないとどうたらとか
アクセスが無くてもVBランタイムが入ってれば動くけど
それをエクセルで使うのはライセンス違反がどうたらとか色々書いてある
http://www.h3.dion.ne.jp/~sakatsu/Excel_Tips06.htm
0303デフォルトの名無しさん
2014/02/15(土) NY:AN:NY.ANhttp://kojikoji75.hatenablog.com/entry/2013/08/17/175328
の Date and Time Picker Control を使っているのでライセンス等は大丈夫なはずです
よく見るとAxtiveXコントロールとあるので
http://www.ilovex.co.jp/blog/system/cat820/excelactivex.html
と同じ罠に引っかかってるかもです(症状が良く似ている印象)
とりあえず月曜会社で試してみますが、これで解決しなかったら本格的に分からないw
0304302
2014/02/15(土) 14:44:20.37その Date and Time Picker Control てのは2007から実装されたんでしょ?
それだと>>301で言ってた「2000で動く」ってのはおかしくない?
0305301
2014/02/15(土) 15:10:33.32言われてみると確かにおかしいですね
でも2kで「動いた」って目の前で見せられたので…
昨日発覚したばかりなので、月曜改めて周囲の状況も含め確認してきます。
0306デフォルトの名無しさん
2014/02/15(土) 17:36:08.310307デフォルトの名無しさん
2014/02/17(月) 21:49:42.74Sub 総計計算_送料()
Dim 行番号 As Currency
Dim 工場直送送料 As Currency
Dim 受注生産送料 As Currency
Dim 送料合計 As Currency
行番号 = 14
送料合計 = 0
工場直送送料 = 500
受注生産送料 = 800
Do Until Cells(行番号, 4) = ""
If Cells(行番号, 6) = "工場直送" Then
送料合計 = 送料合計 + 工場直送送料
ElseIf Cells(行番号, 6) = "受注生産" Then
送料合計 = 送料合計 + 受注生産送料
0308デフォルトの名無しさん
2014/02/17(月) 21:54:21.14例えば
送料合計 = 送料合計 + 工場直送送料は
0 = 0 + 500
と、工場直送送料は「500」として計算されると思うのですが
Do Until Cells(行番号, 4) や If Cells(行番号, 6)といった式の場合
なぜいきなり(14 , 4)セルや(14 , 6)セルといったセルに飛ばずに、
ちゃんと一行目のセルから計算されるのかわかりません。
本当に初心者でアホな質問だと思うのですが、答えて欲しいです。
0309デフォルトの名無しさん
2014/02/17(月) 22:18:32.410310デフォルトの名無しさん
2014/02/17(月) 22:26:13.83ステップ実行で1行ごとに各変数の値を確認してみたら?
0311デフォルトの名無しさん
2014/02/18(火) 03:36:11.850312デフォルトの名無しさん
2014/02/18(火) 07:28:15.080313デフォルトの名無しさん
2014/02/18(火) 11:22:50.430314デフォルトの名無しさん
2014/02/18(火) 14:32:12.07IntegerじゃないぞLong使えよ
0316デフォルトの名無しさん
2014/02/19(水) 12:30:10.58残念ながらわかりません
ごめんなさい
0317デフォルトの名無しさん
2014/02/19(水) 13:51:27.51ログインボタンのクリックは
objIE.document.all.btn01.Click
みたいに書く
ページ内にクリックできる場所が複数ある時はボタン番号を適切に変える
「戻る」「入力内容をクリア」「IDをクッキーに保存」とか色々と並んでる場合があるからね
ていうか検索ぐらいしろよ
「VBA IE操作 クリック」みたいなキーワードでサンプルがいくらでも出てくるぞ
0318デフォルトの名無しさん
2014/02/19(水) 21:09:16.21上記を代入したいんですがうまくいきません。
n1は任意の変数です。Vlookupのところではねられます。
Worksheets("データシート").Cells(n1, 6).Formula = "=IfError(Hyperlink(VLookup(Cells(" & n1 & ", 5), $Q$:$R$10, 2, True)), "")"
考えてやってみましたがこれではダメっぽいです。
ご教授いただけると助かります。
0319デフォルトの名無しさん
2014/02/19(水) 21:49:24.13Worksheets("データシート").Cells(n1, 6).Formula = "=IfError(Hyperlink(VLookup(Cells(" & n1 & ", 5), $Q$:$R$10, 2, True)), """")"
とりあえずこんな感じ?
0321デフォルトの名無しさん
2014/02/19(水) 21:58:31.80Worksheets("データシート").Cells(n1, 6).Formula = "=IfError(Hyperlink(VLookup(Cells(" & n1 & ", 5), $Q$2:$R$10, 2, True)), """")"
0322デフォルトの名無しさん
2014/02/20(木) 00:46:24.24それで番号をひと通り押してみたんですけど
どれもダメでした
>>297のソースコードでもボタン形式でいいのでしょうか?
>>316
丁寧にありがとうございます
0323デフォルトの名無しさん
2014/02/20(木) 01:24:13.28よくわからんけどinputタグにname=image1って書いてあるからクリックするのもimage1と違う?
0324デフォルトの名無しさん
2014/02/20(木) 01:55:37.89>>323
すげえええええええ
objIE.document.all.image1.Click
であっさり通りました
ありがとうございます
0325デフォルトの名無しさん
2014/02/20(木) 07:29:20.69解決してよかったね
でもスレチなんだから今後は余所に行ってやってね
0326デフォルトの名無しさん
2014/02/20(木) 09:03:39.96このスレでは問題ない
そういうことが気になるなら君が他所へ行きたまえ
0327デフォルトの名無しさん
2014/02/20(木) 10:28:54.40ですよね
0328デフォルトの名無しさん
2014/02/20(木) 19:00:31.77いるのですが、文字列、数値、計算式などが入っている普通のファイルなら
期待通り動くのですが、EXCELは多機能ですので、普段全く使ったことが無い
ような機能とか設定がシートやセルなどに追加されていると、自作プログラム
が予期しない動きをするのではないかと思っています。
そのテストの為には、自分でEXCELファイルにいろんな加工を行えば良いわけですが、
自分でも知らないような機能は使うことができません。例えばデータベースとか
テーブルとか、グラフ、フィルターなどなど、まだまだ沢山あります。
そこで質問なのですが、そういうEXCELの機能がてんこ盛りみたいにいろいろ
組み込まれているような何か良いテスト用のファイルって、どこかにありませんか?
0329デフォルトの名無しさん
2014/02/20(木) 19:21:36.25""が余計にいるとは知りませんでした。
おかげさまで解決・・・となればよかったんですが
なぜかVookupのあとがCellsだとうまく読み出ししてくれません。
ちゃんと =IFERROR(HYPERLINK(VLOOKUP(Cells(20, 5), $Q$2:$R$10, 2, TRUE)), "")とセルには入っています。
手動でCells(20,5)をE20にすると思った通りの動きになるんですが、なんででしょう?
0330デフォルトの名無しさん
2014/02/20(木) 21:17:27.35ワークシートでは
Cellsが使えないからエラーになるんじゃないか?
0331デフォルトの名無しさん
2014/02/20(木) 21:20:43.09そもそもワークシート関数にCellsなんて無いから
■ このスレッドは過去ログ倉庫に格納されています