Excel VBA 質問スレ Part32
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2013/10/07(月) 22:19:55.86★1 質問テンプレ(雛形)は用意しませんが、OSとExcelのバージョンは必ず書きましょう。
★2 ExcelのVBA以外の部分に関する質問はNGです。
但し、VBA無しでも出来ることだが、あえてVBAでやりたいって物に関してはOK。
★3 ExcelのVBE(Visual Basic Editor)を使うとしても、VBAの分野以外に関してはスレ違いです。
VBAとは、『Visual Basic for Applications』の略で
Application
├Workbooks
|└Workbook
| ├Worksheets
| |└Worksheet
というApplication以下のオブジェクトを、VB言語で操作するものを指します。
例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。
★4 とりあえず、Excelのインスタンスを作らずにVB6で出来ることは全てスレ違いだと思ってください。
★5 レベルはどうあれ、ここはプログラマ用の板スレです。プログラマとは、自分でプログラムを組み、
コードを書く人の事なので、自分でやるきは全く無く、丸投げしようって人はお断りです。
ヒントを貰えばあとは自力でなんとかしますって人のみどうぞ。
★6 わからなければとりあえず「マクロの記録」(Alt, T, M, R)
前スレ:Excel VBA 質問スレ Part31
http://toro.2ch.net/test/read.cgi/tech/1376371376/
関連スレ:VBAなんでも質問スレ
http://toro.2ch.net/test/read.cgi/tech/1342087380/
0654デフォルトの名無しさん
2014/03/07(金) 08:25:53.28どハマりして結局関数を作った記憶があったようななかったような
とりあえず、G列はH列を参照するのならG列にエクセル関数を入れればいいよ
あとお節介だけど、プログラムが全く理解できてないみたいだけど、知識をつける必要がないのなら構わないけど、自分で調べた方がいいよ
0655デフォルトの名無しさん
2014/03/12(水) 01:22:26.84ID:x9JPMObJおせっかいウザイ。さっさと回答くれ。
0656デフォルトの名無しさん
2014/03/12(水) 01:45:28.79ID:ZXRx46eiてすてす
0658デフォルトの名無しさん
2014/03/12(水) 11:47:45.36ID:4Vi2bcOWコラ。にょろーんとするな。
0659デフォルトの名無しさん
2014/04/03(木) 10:09:06.33ID:Eig24VSKいまいちよくわからないのですが。
0660デフォルトの名無しさん
2014/04/03(木) 10:15:53.71ID:4gfcVwhuVBAからワークシートの数式を書き換えることができる
オートフィルでは思った通りに変化してくれないような時に、VBAを使って数式を自動生成する
0661デフォルトの名無しさん
2014/04/03(木) 10:29:44.67ID:Eig24VSKなるほどありがとうございます。
でもどう使いますか?
単に
Cells(r,c)="=IF(B1=C1,D1,E1)"
と書くのと
Cells(r,c).Formula="=IF(B1=C1,D1,E1)"
と書くのでは違うということでししょうか?
VBAでも自動でオートフィルしてくれますか?たとえばRange("A1:A100")="=B1*100"とすればA100セルは"=B100*100"になってる?
0662デフォルトの名無しさん
2014/04/03(木) 10:30:42.30ID:Eig24VSK0663デフォルトの名無しさん
2014/04/03(木) 11:19:42.03ID:Mk1UvHnqEXCEL2013を導入したのですが
わずかでも数式がある場合に、数行でもコピペで貼り付けすると
再計算(プロセッサ4個):N%などと、時間がかかるのですが、解決方法はありますか?
検索で調べてみても、過去情報ばかりでヒットできません。
環境の問題では無いと思ってるのですが、必要であれば指示してください。
0664デフォルトの名無しさん
2014/04/03(木) 11:23:35.99ID:Mk1UvHnqWorkbooks(".xlsm").Activateですが、SDIの影響でWorkbook_Openに記述してもうまく機能しません。
情報はいくつか検索できましたが、解決していないように見えます。
いい方法ありますか?
0665デフォルトの名無しさん
2014/04/03(木) 11:49:55.12ID:4gfcVwhuその例では混乱することは少ないだろうけど、数式が文字列変数に入っていた場合は
あとでコードを見返した時にセルに何を入れているのかわからなくなる可能性があるので
プロパティは省略すべきではない
また、逆にセルから数式を読み出したい時はプロパティを省略できない
0666デフォルトの名無しさん
2014/04/03(木) 12:42:08.56ID:Eig24VSKそれは
myVal=Cells(r,c).Formula="=IF(B1=C1,D1,E1)"
または
myVal=Cells(r,c).FormulaR1C1="=IF(B1=C1,D1,E1)"
で代入した場合には
変数の型は必ず文字列であり内容も文字列ということですか?
0667デフォルトの名無しさん
2014/04/03(木) 13:19:19.03ID:4gfcVwhu質問の意味が不明
それからコードがおかしい
それではmyValにBoolean型が代入されてしまう
正しくは
myVal = "=IF(B1=C1,D1,E1)"
Cells(r, c).Formula = myVal
など
myValはString型
0668デフォルトの名無しさん
2014/04/03(木) 14:10:31.38ID:Eig24VSKあ、式はたしかに=が2つあって間違ってました。
でも
------------------------------
Sub Unko()
myVal = "=IF(B1=C1,D1,E1)"
ActiveCell.Formula = myVal
Debug.Print ActiveCell.NumberFormat
End Sub
------------------------------
これで試してみると
文字書式はgeneralとでるよ。@じゃなくて。
0669デフォルトの名無しさん
2014/04/03(木) 15:59:16.02ID:4gfcVwhu根本的にわかってない
セルの書式と代入する値の型は無関係
それから下品な名前は使うな
俺はそういうのが嫌いだからもう教えない
0670デフォルトの名無しさん
2014/04/03(木) 16:16:33.02ID:Eig24VSK0671デフォルトの名無しさん
2014/04/05(土) 20:03:54.99ID:eYN2DOjDいる方は、何をお使いになってますか?
VBEで以下の不満があり、関数のアウトライン機能がないこと、列挙体変数をTabで選択せずそのまま入力するとその入力された変数名に変更されてしまうなどがあり、困ってます
0672デフォルトの名無しさん
2014/04/05(土) 20:52:49.41ID:vxn3S8/HVisualStudioのVBのエディターで書いてからコピペとかたまにやるけど常用はしてない
普段は普通のテキストエディター
0673デフォルトの名無しさん
2014/04/06(日) 00:14:11.80ID:6QPkQ4Uqなるほど、確かにVSのアウトライン機能は便利ですもんね…
でもアウトライン機能を常用出来るようなテキストエディタはやはりないんですかね
ありがとうございます。
0674デフォルトの名無しさん
2014/04/06(日) 20:31:36.34ID:SRPo3hu2なぜか途中で入力セルが勝手に変えられてしまいます
MSComm1.InputMode = comInputModeText
rdat = MSComm1.Input2
Sheet3.Cells(InputRow, 11) = rdat //シリアルデータをセルに入力
InputRow = InputRow + 1
1023,964
と入力されるべきところになぜか
1
23,964
とか
12
3964
になってしまいます
似たような方いらっしゃらないでしょうか
0675デフォルトの名無しさん
2014/04/06(日) 21:05:33.20ID:X8q2hYwdオーバーランしてるんじゃねーのか?
まずは、Debug.Print rdat して、読み取りがおかしいのか、セルが書き変わってるのか切り分けなよ。
0676デフォルトの名無しさん
2014/04/06(日) 21:38:35.38ID:SRPo3hu2イミディエイトには
511,476
511,476
5
11,476
となってるので読取がおかしくなっているようです
0677デフォルトの名無しさん
2014/04/07(月) 00:32:05.86ID:6QjlBT3Trdat = MSComm1.Input2
Debug.Print rdat
を実行した結果が↓のようになりました
510,475,442,413,392,379,337,325であるべきところが
510,
475,442,413,392,379,337,325
となってしまいます
いつも起きてるわけではなく9割ぐらいがこうなります
送られてくるデータは最大40文字の文字列なのでStringの容量からはみ出ることはないのですが・・・
rdatからReplaceを使ってvbCrやvbLfを置換しても文字列の改行はなくなりませんでした・・・
これはもうMSCommの仕様でしょうか
0678デフォルトの名無しさん
2014/04/07(月) 01:09:45.66ID:cIwL+5uVバイナリで改行コードをチェック
0679デフォルトの名無しさん
2014/04/07(月) 18:12:05.76ID:NRYmRN39テキストファイルで保存すると改行されています
0680デフォルトの名無しさん
2014/04/07(月) 19:44:01.79ID:cIwL+5uV文字列の先頭から文字コードを順番に表示させてみ
0681デフォルトの名無しさん
2014/04/09(水) 02:10:23.95ID:Zgg01Tu3dataが0だとエラーになります。回避するには大人しくIf elseにするくらいしかないですか?
0682デフォルトの名無しさん
2014/04/09(水) 02:48:42.35ID:rPGWVgOi回避する方法はほかにもある
たとえばOn Errorとか、IIfの入れ子とか
Ifで書く場合もElseは必須じゃないし
0683デフォルトの名無しさん
2014/04/09(水) 02:59:54.43ID:BMFTF5hJVBAはショートサーキットしないから、素直にIFネストしといたら良いんじゃね
セルに計算式埋め込んでIfErrorとかIsErrorとか使えば何とかなるかもしれんが
0684デフォルトの名無しさん
2014/04/09(水) 03:30:52.75ID:rPGWVgOi今回のIIfのエラーとショートサーキットは関係ない
IIfは単なる関数だから、呼び出し前にすべての引数が評価されるだけのこと
0685デフォルトの名無しさん
2014/04/09(水) 04:08:35.13ID:Zgg01Tu3IIFの入れ子だけでエラー回避出来るんですか?思いつかないです。ヒント下さい。
0686デフォルトの名無しさん
2014/04/09(水) 04:18:43.85ID:rPGWVgOiヒントは>>684
IIfは関数だってこと
まず機能限定でいいからIIf関数を自分で作ってみ
0687デフォルトの名無しさん
2014/04/09(水) 05:58:06.04ID:eVaBF0ya0除算の時どうしたいかによるけど、
1/dataの部分を、たとえば
dataが0なら0を返却する様な
関数をかませる方法もあるよ。
ただ、
処理の遅いiifをそこまでして使うほどのメリットを感じないけど。
0688デフォルトの名無しさん
2014/04/09(水) 17:55:19.77ID:rPGWVgOi元の質問>>681によると、data=0の時は結果も0にしたいようだ
俺も素直にIfで書いた方がいいと思うけどな
0689デフォルトの名無しさん
2014/04/11(金) 12:28:29.65ID:yZ8wKwaw0690デフォルトの名無しさん
2014/04/11(金) 14:48:21.85ID:z4/PIhu7Sheet1モジュールに Sub ボタン1_click() を書いてボタンに登録
Privateにしたければボタンに登録後に Private Sub ボタン1_click() と Private を追加しておく。
またはSheet1モジュールに Private Sub ボタン1_click() を書いてからボタンのマクロ名に「Sheet1.ボタン1_click」と手書きする
0691デフォルトの名無しさん
2014/04/15(火) 04:16:36.29ID:A/HjwMLtマクロが実行終了してもモジュールがリセットされない限り値が残っているので
強制的にモジュールをリセットしたいです。どうすれば良いですか?
0692デフォルトの名無しさん
2014/04/15(火) 06:26:32.57ID:rPikCPobExcelを再起動するか、変数を初期化するためのプロシージャを用意する
0693デフォルトの名無しさん
2014/04/15(火) 10:36:04.14ID:5oqUCn8pなんのために/どういうときに、使うんですか?
0694デフォルトの名無しさん
2014/04/15(火) 11:37:46.86ID:9lgaoMnAスコープはそのプロシジャでいいが、寿命がプロシジャと同じでは困る時
たとえばそのプロシジャが呼ばれた回数を数えるときとか便利
0695デフォルトの名無しさん
2014/04/15(火) 11:53:56.64ID:5oqUCn8pそれならstaticとか変な概念を1つ導入するなんてことはせず
モジュールレベルの変数を使ったら良くないですか?
マッチ1本火事のもと。
あたらしい概念の導入は混乱のもと。
0696デフォルトの名無しさん
2014/04/15(火) 12:47:45.68ID:rPikCPob新しい物に順応できないジジイは死ぬまでアセンブラだけ使っててくだちい
0697デフォルトの名無しさん
2014/04/15(火) 13:41:44.59ID:9lgaoMnAstatic変数はVBがオブジェクト指向になる以前からあるんだがな
0698デフォルトの名無しさん
2014/04/15(火) 14:08:55.72ID:s8o/Oo490699デフォルトの名無しさん
2014/04/15(火) 16:22:28.15ID:820VGCAb0700デフォルトの名無しさん
2014/04/15(火) 16:26:47.79ID:rPikCPob叩きたいだけだろ
0701デフォルトの名無しさん
2014/04/15(火) 23:40:57.35ID:Qecud56UC++にはあるけどJavaにもC#にも無いんだから
むしろ時代遅れの概念だろ。
0702デフォルトの名無しさん
2014/04/16(水) 04:06:05.87ID:LmxlsNa2「このアクションを実行するとプロジェクトがリセットされます。実行しますか ?」
このメッセージが出るようなコードを最初に強制的に行いたいのですが出来ませんかね。
>>693
再帰のときとかに使ってます。
0703デフォルトの名無しさん
2014/04/16(水) 08:30:53.84ID:C8nNiAQg> C++にはあるけどJavaにもC#にも無い
バカには使いこなせないということ (w
0704デフォルトの名無しさん
2014/04/16(水) 12:19:39.65ID:XF2c1vIXプロジェクトをリセットする方法は色々ある
基本的なことはここを参考に
http://www.moug.net/tech/exvba/0150116.html
0705デフォルトの名無しさん
2014/04/16(水) 23:01:53.26ID:2LoKKqcV>モジュールレベル変数の値が消えるとき
パブリック変数にしてた文字列が消えていたのはこのせいだったのかよーー
0706デフォルトの名無しさん
2014/04/17(木) 01:26:29.86ID:hQgHTHarStaticな変数ってクラスモジュールの
プロシージャで使ったらどんな動きするんだろ。
インスタンスごとに別々に用意されるのか、
それとも同じクラスで生成されたインスタンスのは参照先が同じになるのか。
後者だったら何か新たな使い道が生まれそうだけど、
それはそれでまた混乱の素になりそう。
0707デフォルトの名無しさん
2014/04/17(木) 01:55:46.12ID:oM/c/OYPそれはプライベットだぞ。
パブリックじゃないぞ。
というわけで、標準モジュールでの
プライベット変数とパブリック変数の
その使い方と使い分けや、注意すべきこと、どういうときにどれを使うかなど
その使用方法について詳しく教えていただけないでしょうか?
0708デフォルトの名無しさん
2014/04/17(木) 02:24:20.93ID:jEbNeAxo0709デフォルトの名無しさん
2014/04/17(木) 03:33:46.78ID:fX81VMtB>既存の標準モジュールやUserFormを解放(削除)すると、確認メッセージは表示されずにモジュールレベル変数の値がクリアされます。
そのページで手動ではない方法で実現出来そうなのは
実際には使わないダミーのモジュールをインポート後、すぐエクスポートしてプロジェクトをリセットするくらいですかね?
どうもありがとうございました。
0710デフォルトの名無しさん
2014/04/17(木) 03:43:12.52ID:fX81VMtB0711デフォルトの名無しさん
2014/04/17(木) 14:24:23.33ID:oM/c/OYPVBAで複雑なプログラミングをするときは
グローバル変数は使わずにどこかのセルに値を保存しておいたほうがよいということで
ファイナル認識でokか?
0712デフォルトの名無しさん
2014/04/17(木) 15:57:50.88ID:jEbNeAxo0713デフォルトの名無しさん
2014/04/17(木) 16:50:13.82ID:oM/c/OYP上記のことを総合判断するに
VBで複雑なプログラミングをするときは
グローバル変数はちゃんとリセットされずに値は保存されたまま使えるということで
ファイナル認識でokか?
0714デフォルトの名無しさん
2014/04/17(木) 18:10:20.16ID:f4TQPtNf0715デフォルトの名無しさん
2014/04/17(木) 19:03:25.75ID:GGrT4rnZ↑何これ?
0716デフォルトの名無しさん
2014/04/17(木) 23:11:26.77ID:K2VamZAF0717デフォルトの名無しさん
2014/04/18(金) 18:57:42.82ID:P9dU51g+0718デフォルトの名無しさん
2014/04/18(金) 20:27:06.81ID:pSxMtBxF0719デフォルトの名無しさん
2014/04/20(日) 10:29:25.89ID:LlR3PaQLコードを書いてるときや編集してるとき
画面が狭くモニターがあと縦横2倍、面積4倍くらい以上に大きくしてほしいとよく思います。
こんなとき役に立つツールみたいなのはないですか?
0720デフォルトの名無しさん
2014/04/20(日) 11:23:23.90ID:DYddObWG0721デフォルトの名無しさん
2014/04/20(日) 11:52:54.77ID:YSeiuWKu仮想デスクトップか。表示域そのものを広げたいなら、
モニタ買い替え又はどこかからモニタを調達してきて>>720。
VBAでどうこうできる問題ではないと思う。
0722デフォルトの名無しさん
2014/04/20(日) 13:42:35.59ID:kzevG+UG表示される行数、文字数を増やすには、画面を大きくするか字を小さくするしかない
どっちがお望み?
画面を大きくするにはモニターの買い換えか増設、ソフトでやるなら仮想デスクトップ
字を小さくするのは画面のプロパティをいじったり設定でモニターのdpiを上げたりVBEのフォントを変えたり
http://www.max.hi-ho.ne.jp/happy/YNxv1.html
テキストエディタを使ったり
0723デフォルトの名無しさん
2014/04/21(月) 00:23:00.62ID:+JF1MRhAつまり大元のSub Testの中を、
Test_Sub1、Test_Sub2、Test_Sub3、Test_Sub4、Test_Sub5くらいの5つの部分に分けるみたいな感じです。
しかしここで問題が。
Test_Sub1に分けても、大元のTestで宣言した変数がこのTest_Sub1の中でたくさん使われています。
改めてこのTest_Sub1内で変数を宣言すると
大元の変数とは全く関連のない新しい独立した変数とみなされますよね?
そうするとコードを分割して可読性・メンテナンス性を良くするのって不可能じゃないですか?
みなさんはこのへんはどうやってやってるんでしょうか?
0724デフォルトの名無しさん
2014/04/21(月) 00:36:42.27ID:UsKDZ0RZそれは元の設計とか分け方が悪い
Sub1、Sub2なんて名前の付け方からしておかしい
きちんと機能ごとに分けて、処理内容がわかるような名前を付ける
機能が限定されれば必要な変数も限られるから、最小限の変数だけをプロシージャの引数として渡すようにする
0725デフォルトの名無しさん
2014/04/21(月) 00:48:02.52ID:+JF1MRhA当然ほんものは役割にちなんだ名前になってるよ。
やっぱり「最小限の変数だけをプロシージャの引数として渡す」というのが回答なんですね。
そんな気がしてたんだわ。
でもいまから改造するとしたら
もうすでに人間の内臓と血管と骨のように
変数やらなんやらが複雑に入り組んでるので
なにかすこしでも改変しようとすると
人間のたとえでは大出血で死亡してしまうように
コードでエラーが出まくったり全く意図してない動きをしそうですわ。
こういうようにならないようにするためには
ふだんからどういうコードを書くように心がけたらいいですか?
0726デフォルトの名無しさん
2014/04/21(月) 01:01:29.41ID:UsKDZ0RZ普段からモジュールを小さく分けて変数のスコープも最小限にする
0727デフォルトの名無しさん
2014/04/21(月) 01:09:39.31ID:UsKDZ0RZコメントを入れたくなったら、その部分はプロシージャに分ける
っていうのは初心者にはわかりづらいかなあ
中級者になってくると「ここにはコメントを入れよう」って思うタイミングが必ず出てくるんだよね
経験上、コメントを入れておかないとあとで保守するのが大変になるぞ、って部分が
だんだんわかるようになってくる
そういう処理はプロシージャとして別にしておいた方が保守性が上がることが多い
0728デフォルトの名無しさん
2014/04/21(月) 08:41:09.76ID:Q9CWt8FHホントこれに尽きるよね。
0729デフォルトの名無しさん
2014/04/22(火) 01:28:33.70ID:DlZvN0RFプロパティだけのクラス作ってそれを引数で渡せば最小限の引数で済むけど、
そもそも最初にどうすれば使い回しがきいて
且つ修正する時に他に影響を与えることなく
出来るだけ手を入れないような組み方が出来るか考えながら組まないと。
たまにデザインパターンの本とか読んでおけば少しは役に立つかもよ。
0730デフォルトの名無しさん
2014/04/22(火) 09:49:30.62ID:xWC4qOoOデザインパターンの本とはどういう本ですか?
本当にプログラミングに関係する本ですか?
0731デフォルトの名無しさん
2014/04/22(火) 10:03:28.89ID:W0hXuU4Ohttp://e-words.jp/w/E38387E382B6E382A4E383B3E38391E382BFE383BCE383B3.html
デザインパターン 【 design pattern 】
プログラム設計時に起こる典型的な問題とそれに対する解決策を整理し、再利用できるようにまとめたもの。
1995年に出版された書籍「デザインパターン」の中で23のパターンが解説されたのをきっかけに広まった。
ソフトウェアを設計していると、多くのソフトウェアが共通して持っている機能や問題があることに気づくことがある。
それらの問題を解決するために毎回0から設計していては効率が悪いため、多くのプログラマは経験を積むうちに
「こういった問題を解決するには、こういう構造のプログラムを書けばいい」というノウハウを蓄えていくことになる。
それらのノウハウを他人が参照できるように明示的に整理したものがデザインパターンである。
問題と解決策とを一組として、「Stateパターン」などそれぞれに名前が付けられる。オブジェクト指向とパターン化との
相性がいいためか、オブジェクト指向プログラミングの分野で用いられることが多い。
0732デフォルトの名無しさん
2014/04/22(火) 10:03:51.12ID:o3KBIfuW何か一昔前の流行り言葉を並べただけの厨ニ病的発言に見えるけどマジオススメ。
でも、リファクタリングに関する本て無くなっちゃったよね。
0733デフォルトの名無しさん
2014/04/22(火) 11:41:19.93ID:z8WHMXPV0734デフォルトの名無しさん
2014/04/22(火) 11:48:32.57ID:Edo2b+/a所詮はOOP初心者へのお勉強向けのものなんだから、
丁度いいくらいなんでないの。
0735デフォルトの名無しさん
2014/04/22(火) 12:55:30.89ID:z8WHMXPV0736デフォルトの名無しさん
2014/04/22(火) 13:47:36.00ID:0UJjYfLYhttps://www.youtube.com/watch?v=wia_sFsAf6g
0737デフォルトの名無しさん
2014/04/22(火) 14:57:43.47ID:QveWaMVIとあるときに
引数 a に byval が付いてるときと付いてないときで動作は変わらないのですか?
あと関数そのものの戻り値にも byval とか byref とか書きたいのですが
どこに書けばよいのかわかりません ><
0738デフォルトの名無しさん
2014/04/22(火) 17:16:32.90ID:DwFEDI7c近代的なデザパタってあるの?
0739デフォルトの名無しさん
2014/04/22(火) 23:10:43.79ID:VyvjcPd+> 引数 a に byval が付いてるときと付いてないときで動作は変わらないのですか?
変わる。
> あと関数そのものの戻り値にも byval とか byref とか書きたいのですが
なんのために?
書くだけなら適当に戻り値の型名の前辺りに書けばいい
0740デフォルトの名無しさん
2014/04/23(水) 00:49:20.82ID:ZM+hJQpr0741デフォルトの名無しさん
2014/04/23(水) 07:39:11.68ID:gw4Yr7wD0742デフォルトの名無しさん
2014/04/23(水) 08:03:24.27ID:Ce2w8hBu単に変数のアドレスってだけだろ?
・概念が分かりづらい
・難易度が高い
・これで挫折した人多数
こんな評判ばかりが先行して覚悟して勉強し始めたけど
単に変数のアドレスってだけで全然難しくないじゃないか。
0743デフォルトの名無しさん
2014/04/23(水) 08:17:33.81ID:x9LZX8vX0744デフォルトの名無しさん
2014/04/23(水) 08:18:54.85ID:x9LZX8vX0745デフォルトの名無しさん
2014/04/23(水) 08:35:15.29ID:jWa014pDその「アドレス」がわからないやつがいるんだよ
CPUやメモリの仕組みなんて知らなくても、マクロの記録とコピペさえ覚えりゃなんとなく動く物ができちゃうし
独学で参考書を拾い読みしかしてないと2進数16進数も知らなかったりする
0746デフォルトの名無しさん
2014/04/23(水) 10:29:13.37ID:6DXUFUqF思い通り動かなかったときに「これはポインタ様の仕業じゃ!」と特定できる経験値があれば問題ない
0747デフォルトの名無しさん
2014/04/23(水) 12:39:28.71ID:+BZatqFA0748デフォルトの名無しさん
2014/04/23(水) 13:00:46.08ID:x9LZX8vX> ポインタってなにが難しいのよ?
使うのが難しい、と言うか面倒なんだよ。
ポインタ自体とそれが指す先の両方を意識しないといけないから。
まあ、C++ ならテンプレートライブラリでだいぶ改善されたけど。
0749デフォルトの名無しさん
2014/04/23(水) 13:09:46.59ID:6DXUFUqFその現実をはっきりくっきり突きつける役目をポインタが担っているというだけ
0750デフォルトの名無しさん
2014/04/23(水) 13:13:16.20ID:ZM+hJQpr0751デフォルトの名無しさん
2014/04/23(水) 23:58:36.04ID:jVwNMIQL0752デフォルトの名無しさん
2014/04/24(木) 14:00:15.27ID:ZALVHb/C500行以上の長文コードがあって
その中には当然のことながらCells( X , Y )のようにCellsプロパティでセルの場所を指定してる箇所が大量にあります。
でもシートの行なり列なりを丸ごと削除するとします。
すると当然Cells( X , Y )で指定してた箇所は影響される箇所はすべて変更しなきゃならないじゃないですか?
こういう作業はどうやってやります?
まさか1つ1つ手作業でやるわけにはいかないでしょう。
ツールやいい方法はありますか・
0753752
2014/04/24(木) 14:02:04.53ID:ZALVHb/C1行消したら影響されるところだけRow座標を-1にずらさないといけないし
1列消したら影響されるところだけColumn座標を-1にずらさないといけないし
という意味。
■ このスレッドは過去ログ倉庫に格納されています