[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/30 05:22 / Filesize : 296 KB / Number-of Response : 978
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Excel VBA 質問スレ Part23



1 名前:既定のプロパティさん mailto:sage [2012/01/29(日) 00:05:13.16 ]
01 pc11.2ch.net/test/read.cgi/tech/1054356121/
02 pc11.2ch.net/test/read.cgi/tech/1168308855/
03 pc11.2ch.net/test/read.cgi/tech/1180192018/
04 pc11.2ch.net/test/read.cgi/tech/1189814602/
05 pc11.2ch.net/test/read.cgi/tech/1197448064/
06 pc11.2ch.net/test/read.cgi/tech/1205231499/
07 pc11.2ch.net/test/read.cgi/tech/1212587819/
08 pc11.2ch.net/test/read.cgi/tech/1219673793/
09 pc11.2ch.net/test/read.cgi/tech/1228372971/
10 pc12.2ch.net/test/read.cgi/tech/1235332603/
11 pc12.2ch.net/test/read.cgi/tech/1241885130/
12 pc12.2ch.net/test/read.cgi/tech/1247566074/
13 pc12.2ch.net/test/read.cgi/tech/1254281104/
14 pc12.2ch.net/test/read.cgi/tech/1262748898/
15 pc12.2ch.net/test/read.cgi/tech/1271261239/
16 hibari.2ch.net/test/read.cgi/tech/1280045912/
17 hibari.2ch.net/test/read.cgi/tech/1289182437/
18 hibari.2ch.net/test/read.cgi/tech/1298240666/
19 hibari.2ch.net/test/read.cgi/tech/1305754555/
20 hibari.2ch.net/test/read.cgi/tech/1312435844/
21 hibari.2ch.net/test/read.cgi/tech/1316931607/

前スレ:
Excel VBA 質問スレ Part22
toro.2ch.net/test/read.cgi/tech/1322400978/


813 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 17:37:21.02 ]
>>807
こめんなさい。心当たりが沢山ありすぎてもう…

814 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 17:41:43.68 ]
>>810
コマンドライン文字列とはなんですか?

他にCSVファイルを2個作ってみたけどだめでした。


>>811
拡張子つけたけどだめでした。


>>812
XPでエクセル2007です


ソースをステップ実行させても
全部の行を実行してるのに
なんだろうこれは・・・

815 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 17:50:40.99 ]
Const CRFILE As String = """C:\My Documents\test2.csv"""

816 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 17:54:23.10 ]
> XPでエクセル2007です

そう来るかw


817 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 18:38:25.29 ]
>>814
>>2

818 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 19:20:45.41 ]
>>775
これで指定したレンジ範囲の数値を、小さい順に並べた場合の各々の差が、x以上であるとかx以下であるといった判定をするにはどう書けばよいですか!

819 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 20:30:24.96 ]
>>818
IsNumeric関数とIfステートメントを使う
詳細はヘルプを読めばわかる

820 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 22:05:47.67 ]
isnumericじゃできなくね?

821 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 22:08:14.94 ]
数値かどうかの判定に必要だと思ったんだけど、不必要だと思ったなら使わなくても何ら問題ない
強制力なんかないからね



822 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 22:55:40.15 ]
if a1>a2+x>a3+x thenが上手く動かないのだが、なぜか?

823 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 22:59:30.43 ]
>>822
if a1>a2+x and a2+x>a3+x then

824 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 23:02:42.68 ]
これがa3までじゃなくa100まである場合、どうすればいい?

825 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 23:04:33.81 ]
誤り if a1>a2+x>a3+x then
訂正 if a1>a2+x>a3+2x then

826 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 23:07:17.88 ]
そうか全組み合わせの差の絶対値の最小値がx以上ならいいわけか

しかしx以下の場合を求めたいときはどうすればいい?

827 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 23:08:16.93 ]
何だVBA力のおっさんか

828 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 23:13:47.11 ]
>>824
VBAを使うしかないだろうな

829 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 23:23:17.89 ]
>>824
アンダースコアを使えばステートメントを複数行に分けて記述することができる
例えばこんな感じ
If 条件式1 And _
条件式2 And _
条件式3 And _
条件式4 And _

既にスレチなので>>2をよく読んでくれ

830 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 02:53:38.96 ]
例えば処理したい「実行1」というプロシージャがありあまして。

call 実行1
で普通に処理されるのですが。

Dim moji As string

moji = "実行1"

call moji

は当然ですが実行されません。ですが、何かプロシージャそのものを変数化させて
状況に応じて呼び出せるようにする方法があるでしょうか?

ユーザーフォームのリストボックスに何十種類ものプロシージャがあるのですが、それらを
効率的に場合わけして処理するのに、それが出来ると便利なのですが。
方法はないのでしょうか?

831 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 03:35:34.73 ]
>>830
Application.Run ThisWorkbook.Name & "!" & moji

普通は Call ほにゃらら(moji) ってやって、ほにゃららの中でmojiによって分岐するようなプログラムを書くもんだけど



832 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 03:37:32.62 ]
ifとかselectでそれらを場分けしてcallする処理を1個用意すりゃ良いじゃん
つか普通そうする
プログラミングの手法とかそういう話だから後はそういうスレで聞いてくれ

833 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 03:38:56.85 ]
あ、リロードしないのが自分の悪いクセだな…

834 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 06:28:18.30 ]
>>831
ありがとうございます。

>>832
実はそのように、select で、分岐していたんですが、数が多くなりすぎて。
ただ、selectの分岐がいくら多くなっても、速度とかに影響するという
わけでもないので、良いといえば、良いのですが、スマートにできないかと
気になってしまいまして。

835 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 12:59:29.22 ]
for i=1 to n
if a(i-1) - a(i) <= x then y= false
next I


836 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 15:22:52.17 ]
a列とb列の相関を調べたい

837 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 15:31:17.78 ]
VBA使う必要ないけど

838 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 17:04:00.73 ]
複数のCSVファイルをひとつのXLSファイルへまとめるにはどのようにしたら効率がよいですか?
20120201.csv
20120202.csv
・・・
20120228.csv
というファイルを201202.xlsファイルにまとめたいと考えています。
(シート名を01,02,・・・,28にして、1bookに28シートが出来上がるイメージ)

839 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 18:13:25.03 ]
>>838
ご自身のコーディング速度と手作業での速度を比較してみればどちらが効率がよいか一目瞭然です
1回限りの作業であれば手作業でやるのが一番効率がよいでしょう
ExcelVBAに関係がない話題なのでこのへんで終了

840 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 19:06:52.20 ]
配布物にExcelを利用したいのですが
配布物の中の別のファイルの情報を取得する場合
ttp://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_140.html
で相対パスだと危険があるとあったのですが
ThisWorkbook.Path & "\..\date\ファイル名"
のようなやり方だと階層をまたいでも中をいじられない限り
どんな環境の人が使っても問題ないと思っていいのでしょうか

それと、相対パスで一つ上の階層に行くやり方で
Dim mPath As String
mPath = ThisWorkbook.Path
i = Len(mPath) - Len(Replace(mPath, "\", ""))
If i > 1 Then
mPath = Mid(mPath, 1, InStrRev(mPath, "\") - 1)
End If

というやり方が紹介されていたのですが
これは..に対して上に階層があるのか調べる機能が付いただけ
という認識でいいのでしょうか

841 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 19:18:37.85 ]
>>840
お前の認識間違えてるぞ
アホ
ちゃんと読め



842 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 19:18:46.91 ]
>>840
すべてにおいて見当違い
手始めに「相対パス」がなんなのか理解してきた方がいい

843 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 20:40:54.08 ]
>>839
一回限りの作業ではなく、毎月発生する作業です。

現在は

新しいブックに開く→シートの移動

を繰り返すコードにしてるのですが、
見るからに効率が悪くなっています。

844 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 20:51:07.07 ]
>>842
相対パスって基準から見た位置ですよね
URLのは基準を指定しないとカレントフォルダからになるから危なくて
ThisWorkbook.Pathで基準をブックのある位置を指定すれば問題ないのかなと思ったんですが

845 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 20:57:55.20 ]
>>843
検索すれば、参考になるコードいくらでも出てくるだろ。
Dir 関数使えばいいんじゃない。

846 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 21:37:10.43 ]
>>843
見るからに効率が悪いことに気づいてるんだったら改善すればいい

847 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 21:37:33.36 ]
>>844
「危ない」とか「問題」ってのは具体的にどういうことなの?
具体的に説明してくれないと誰もわからないよ

848 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 21:55:49.31 ]
>>843
QueryTables.Add使え

849 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 22:44:15.07 ]
>>847
「絶対的基準に基づいてないから危ない」とか言い出すぞw

850 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 22:54:44.01 ]
>>844
もう一回お前のリンク先読み直してから来いよ
音読な

851 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 01:01:30.47 ]
>>838,840
Excelどうこうよりも、まず日本語の読み書きを勉強した方がいいと思う
社会人になってから苦労するよ?



852 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 16:27:18.20 ]
EXCEL VBAは基本的にはオブジェクト指向言語。
だからJAVA, C++と同様にクラス間の継承もあるが、EXCELで予め定義された
既存のクラスのみでその関係があり、↓ここを見るとプログラマが定義する
マクロのクラスで、継承関係にあるものを作ることはできないみたい。
members3.jcom.home.ne.jp/daruma_kyo/aboutooa/vba_limit.html

既存のクラスの継承関係。例えば、collection WorkSheets,Chartsは、
collection Sheetsを継承している。

ActiveWorksheetでその時にカーソル(focus)を当てているものを示す、
property Selection。

その時にカーソルを何に当てているかによって、Selectionのクラスが、
Range, Shape, ChartAreaなどに変化しているみたい。

このproperty Selectionを定義しているクラスは、多分、あらゆるクラス
の継承元になっているclass "Object"でないかと思っていますが、
どうなんでしょうか。


853 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 16:48:39.95 ]
>>852
オブジェクトブラウザというものがある

854 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 17:19:20.10 ]
複数の行の挿入が面倒くさかったのでVBAを学んでみようと思ったのですが試しに作ったマクロが
Sub 行の挿入()
Dim i As Integer
i = 1
Rows("i:2").Insert Shift:=xlDown
End Sub

型が違うと出てきます
iの定義が間違ってるのかと思うのですが
LongやVariantなども試したもののだめで、整数値で型が違うといわれるのもなぜかわかりません
初歩的で申し訳ないですが教えてください


855 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 17:40:07.26 ]
>>854
“Rows”の上にカーソルを置いて[F1]キーでヘルプを開いて読め

856 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 17:58:53.56 ]
>>855
できました
ありがとうございます

857 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 21:51:31.61 ]
>>852
>EXCEL VBAは基本的にはオブジェクト指向言語。
VBAはもともとオブジェクト指向ではない言語をオブジェクト指向に拡張した言語(の派生)
オブジェクト指向言語だと言いきるには不備が多い

>既存のクラスの継承関係
基本的に継承関係は保障されているわけではない(と思う。保障されてるならソース教えてくれ)
つまり(Setによる代入で)キャスト出来るかどうかは実行してみないと解らない

>ActiveWorksheetでその時にカーソル(focus)を当てているものを示す、property Selection。
ActiveWorksheetなんてクラス(型)はない。WorksheetにはSelectionなんてプロパティはない

>Selectionのクラスが、(略)変化しているみたい。
Selectionなんていうクラスも無いのは理解できてるのか?
(Windowクラスの)Selectionの戻り値の型について、Object型で実際はいろんな型が戻されるんだぞ

>このproperty Selectionを定義しているクラスは、
Selectionなんてクラスはないし、Selectionプロパティを実装(定義)してるクラスはどんな型だろうと関係ない
問題はSelectionプロパティ(の戻り値)の型

>あらゆるクラスの継承元になっているclass "Object"でないかと思っています
VBAにはObjectという型はあるが、Objectクラスというクラスはない(はず)
Object型にはあらゆるクラスが格納できるが、それは全てのクラスがObjectから派生してることを意味しない
なぜならVBAは純粋なオブジェクト指向言語ではないから

858 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 11:52:43.27 ]
>>857
> 基本的に継承関係は保障されているわけではない(と思う。保障されてるならソース教えてくれ)
> つまり(Setによる代入で)キャスト出来るかどうかは実行してみないと解らない

できない例は?

859 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 14:59:45.96 ]
>>>857
class, object, collection, propertyの概念の区別がきっちりできていな
いです。

>>Selectionなんてクラスはないし、Selectionプロパティを実装(定義)してるクラスはどんな型だろうと関係ない
object browserで見ると、Selectionはobject Applicationとobject Windows
のmember(property)になっているみたいです。

これのヘルプを見る。
>>Property Selection As Object 読み取り専用
>>Selection プロパティ
>>Application オブジェクトでは、アクティブウィンドウで現在選択されて
>>いるオブジェクトを返します。
>>Windows オブジェクトでは、指定されたウィンドウで現在選択されている
>>オブジェクトを返します。

>>オブジェクト指向言語だと言いきるには不備が多い
↓参考
sites.google.com/site/compositiosystemae/home/vbaworld/upper/exp3/polymorphi

VBAのclass moduleでクラスを定義するとき
クラスの構築子(constructor)に当たるもの Class_Initialize()
クラスの消滅子(destructor)に当たるもの Class_Terminate()

構築子の引数はサポートされていない。


860 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 16:13:38.21 ]
>>859
> class, object, collection, propertyの概念の区別がきっちりできていな
> いです。

できてないのはお前だけじゃないの?

861 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 16:32:30.71 ]
なんかVBAがオブジェクト指向的に駄目だ駄目だって言う奴多いけど、
適切なところでclassモジュールを使って、VBAで使える範囲の機能を
使えばいいのにっていつも思う。

とか言うと、VBAじゃ適切なところなんてない的な話になりがちな気がするが。



862 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 16:36:41.16 ]
この手の話を質問スレでしないで欲しい
自分の中で答え持っててそれを主張するだけなんだから

863 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 16:57:49.74 ]
VBAスレはここだけしかないんだから、ここでいいだろ

864 名前:862 mailto:sage [2012/03/28(水) 17:07:48.32 ]
あ、これ質問だったのか
ごめんよく読んでなかったは

865 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 17:23:26.77 ]
ガキはすっこんでろ。

866 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 23:12:36.94 ]
>861

はげどう。
継承だって工夫すればできるし、
コンストラクタの引数がないのも特別不便ではない。



867 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 23:31:02.19 ]
オブジェクト指向厨は市ね。
VBAごときの小規模アプリに
オブジェクト指向など無用だ。

868 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 23:33:47.05 ]
工夫した継承はコード量が多く、結局オブジェクト不志向(データ志向っての?)に落ちついてしまう
って事があったなーと、ふと思い出したっす。

869 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 23:45:10.16 ]
ツールバー追加のマクロを組んだのですが、ブックを閉じるときに
ツールバーを削除しようとするとエラーが出ます。
原因をご教示下さい。
コードは長くなるので分けて書き込みます。


870 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 23:48:22.21 ]
Private Sub Auto_Open()
Dim xlAPP As Application
Dim objBar As CommandBar
Dim objCont As CommandBarControl
Dim objBtn As CommandBarButton
Dim vntCaption As Variant , vntTipText As Variant , vntOnAction As Variant
Dim IX As Integer
Dim blnTRUE As Boolean
Set xlAPP = Application
vntCaption = Array("登録(&A)", "更新(&U)", "削除(&X)")
vntTipText = Array("登録を行ないます", "更新を行ないます", "削除を行ないます")
vntOnAction = Array("BTN_TOUROKU", "BTN_KOUSHIN", "BTN_SAKUJO")
Set objBar = xlAPP.CommandBars.Add(Name:=g_cnsTITLE, Position:=msoBarTop)
blnTRUE = False
For IX = 0 To 2
Set objCont = objBar.Controls.Add(Type:=msoControlButton)
objCont.BeginGroup = blnTRUE
' CommandBarButtonオブジェクトの参照を取得
Set objBtn = objCont
objBtn.Style = msoButtonCaption
objBtn.Caption = vntCaption(IX)
objBtn.TooltipText = vntTipText(IX)
objBtn.OnAction = vntOnAction(IX)
blnTRUE = True
Next IX
objBar.Visible = True
objBar.Protection = msoBarNoChangeVisible
ActiveWindow.ScrollRow = 1
Set objBtn = Nothing
Set objCont = Nothing
Set objBar = Nothing
End Sub

871 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 23:50:44.42 ]

' 閉じる時の自動実行処理
Private Sub Auto_Close()
Dim xlAPP As Application
Dim objBar As CommandBar

Set xlAPP = Application
★Set objBar = xlAPP.CommandBars(g_cnsTITLE)
objBar.Delete
Set objBar = Nothing
End Sub

★の部分で
実行時エラー'5':
プロシージャの呼び出し、または引数が不正です。

となります。原因と対策をご教示下さい。




872 名前:デフォルトの名無しさん mailto:sage [2012/03/29(木) 00:07:11.46 ]
>>871
g_cnsTITLEに該当するツールバーがないんじゃない?

873 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/29(木) 00:17:48.05 ]
>872
直接ツールバー名を指定したら無事動きました。
ありがとうございました。


874 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/29(木) 10:35:16.91 ]
>>868
Strategy Patternとか超便利なんですけど。

875 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/02(月) 20:03:26.77 ]
動的に作成したCommandButtonにクリックイベントを
登録するにはどうすればいいの?


876 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/02(月) 20:29:50.48 ]
Outlookで仕事で毎日送ってるメールがあるんだけど
本文で日付以外は全部一緒。

Templateで、日付もその日のが自動入力、って設定する方法はどうやりますか?
マクロでもokです。

877 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 20:45:11.26 ]
date | Mail -s 今日のメール who@where.co.jp

Unix使えよオマエら

878 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 20:51:58.76 ]
>>876
OutlookのバージョンとExeclのバージョンを教えて

879 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/02(月) 21:14:12.72 ]
ともに2007です >>878

880 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/03(火) 01:39:29.67 ]
>>876
EXCELまったく関係ないのはスレ違いなんだが
outlook テンプレート 日付 でググって最初のページでも見てろ

881 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/03(火) 11:47:57.65 ]
どう考えてもこのスレに辿り着くより解法が載ってるサイトに辿り着く方が早いと思うんだけど
検索サイトを一体どんな風に利用しているんだろう?



882 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/03(火) 19:39:23.25 ]
>>875
WithEventsで宣言した変数に参照代入する

883 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/04(水) 17:49:54.34 ]
A3の範囲に入っている数字が読めるように
列幅を大きくするとOKで
列幅を小さくして数字が##のようにすると
Set C がNothing になってしまう、いい方法ありますか

A2 = "gg50": A3 = "gg11:gg45"
n = sh4.Range(A2)
Set C = sh4.Range(A3).Find(Val(n), LookIn:=xlValues)


884 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/04(水) 18:07:52.43 ]
>>883
検索するときに列幅を広げて
検索が終わったら列幅を元に戻す

885 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/04(水) 18:14:12.91 ]
わかりました、そーします
ありがとう


886 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/05(木) 08:36:11.39 ]
だれかSQLでdecodeに当たるような関数をVBAで教えてくれ
調べてもreplaceしか出てこないんだ
内部処理で文字列を違う文字列として扱ったりしたいんだ


887 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/05(木) 10:29:49.84 ]
>>886
IIf関数かIf...Then...Else ステートメント
ちなみに標準SQLにはDECODE関数なんて無い

888 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/05(木) 11:11:06.09 ]
>>886
Choose
officetanaka.net/excel/vba/function/Choose.htm

889 名前:886 mailto:sage [2012/04/05(木) 23:16:08.15 ]
>>887
>>888
さんくす!iPhoneからだと規制されてて書き込めなかった
今日、現場の作業で活用させて頂きました

890 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/06(金) 04:53:41.84 ]
オフィス田中はNGにしてほしい

891 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/06(金) 07:29:19.45 ]
>>890
なんで?



892 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/06(金) 07:32:09.99 ]
>>891
そんな有名なところだれでも知ってるから
すでに読んでる

893 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/06(金) 08:20:34.61 ]

自分が知ってることは他人も全部知ってるべきだと思ってる池沼

894 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/06(金) 10:04:50.92 ]
まぁ>>888みたいにリファレンスとして貼るならMSのサイトを貼れよとは思う

895 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/06(金) 19:27:40.21 ]
>>892
何が「誰でも知っている」だ。
俺はそんなサイト知らねえぞ。
お前のためにあるスレじゃねえから
自己厨レスはやめとけ。

896 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/06(金) 19:30:55.02 ]
>>894
マイクロソフトみたいな有名なところだれでも知ってるから
すでに読んでる

897 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 00:22:42.19 ]
セル範囲を飛び越えて選択したいのですが
Range("A1,B3")をRange(cells(1,1),cells(2,3))でやることってできますか?
試しにコンマ入れてみたけどできませんでした

898 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 00:36:09.97 ]
>>897
Application.Union(Cells(1, 1), Cells(2, 3))

899 名前:897 mailto:sage [2012/04/07(土) 00:47:26.65 ]
できました
ありがとうございます

900 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 03:29:15.39 ]
オフィス田中は何ググッても出てくるよな

901 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 05:29:02.44 ]
オフィス田中は数年前に行き着いたが間違い記事があり
それを2,3年経っても放置している上に、自分と大差ないレベルらしく
読んでても新たな発見とか嬉しい驚きとか全然無いんで全く行かなくなった



902 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 07:16:36.62 ]
MSDN一日中眺めてればいいよ

903 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 07:39:34.18 ]
20年くらい前はそれでも全体見廻せたが
いまそれやると一生無駄にすると思う

904 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 08:32:51.50 ]
>>892
>>>891
>そんな有名なところだれでも知ってるから
google検索なんか利用できないじゃん。有名なところしかヒットしない仕組みなんだもの。

905 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 17:05:07.95 ]
シート2のA1:A30のデータをシート1の
B2:B12,D2:D12、F2:F12
の用に3行に分けて張り付けたいときは
FOR ....next で繰り返しするしかないのでしょうか?

何か一発で行けるようなスマートなやり方はないでしょうか?


906 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 17:31:13.82 ]
>>905
B2:B12、D2:D12、F2:F12は3行じゃなくて11行だと思うけど?

一発じゃないけどループ使いたくないならこんなのとか
With Range("A1:A30")
Dim v As Variant
v = .Offset(0)
Range("B2:B12") = v
v = .Offset(10)
Range("D2:D12") = v
v = .Offset(20)
Range("F2:F12") = v
End With

907 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 17:49:21.59 ]
>>906
>>B2:B12、D2:D12、F2:F12は3行じゃなくて11行だと思うけど?
確かに・・・
B2:K2、B4:K4、B6:K6の間違いでした。

シート2のA1:A30には不連続のデータが入っていて、
それのA1:A10をB2:K2に
A11:A20をB4:K4に
A21:A30をB6:K6にコピーしたいのです。

>906を試してみると一行に全ておなじデータが入ってしまいました。


908 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 18:01:47.39 ]
>>907
コピペしたら?

Range("A1:A10").Copy
Range("B2").PasteSpecial Transpose:=True
Range("A11:A20").Copy
Range("B4").PasteSpecial Transpose:=True
Range("A21:A30").Copy
Range("B6").PasteSpecial Transpose:=True

909 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 19:47:57.72 ]
>>908
やはりそうするのが無難ですよね。

別件なのですが、Findで検索してヒットしたせるから
10行目までの範囲を指定したい場合はどうしたら
いいですかね?
Offsetを使って色々しているのですが上手くいきません。

910 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 19:52:21.42 ]
>>909
Resizeプロパティ

911 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 22:45:34.62 ]
>>910
サンクス




912 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/08(日) 13:54:16.86 ]
教えてください。

OS:XP EXCEL:2007
ユーザーフォームを起動させると、言語バーの輝度が落ちてしまい日本語入力ができなくなります。
F8ポチポチでは再現せず…適当なポイントで止めても再現せず…
一旦エクセル落として開き直せば復帰します。
ユーザーフォームはクラスを使ったカレンダーフォームです



913 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/08(日) 18:30:01.65 ]
Excel VBAは基本的なところ(セル・シート・ブック)は完ぺきにマスターしたのですが
苦手なのがサブルーチンをいっぱい作ってそれらを効果的に使う方法や、どうやって全体像を把握するのかや、
フォームを駆使して、それをどうやって標準モジュールと連携させるかとか、
変数についてローカル変数やグローバル変数をどう概念的に理解して使いこなすとか
そのへんでつまづいています。

基本的なところ(セル・シート・ブック)は、入門書やすこしレベルが上のものでも、本やサイトでいいのがいっぱいありますが、
「サブルーチン」「フォーム」「変数」とかについてに特化した入門向けから上級者向けの本やサイトがあれば教えてもらえますか?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<296KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef