1 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 09:03:22 ] ExcelのVBAに関する質問スレです 質問前に 【 >>2-3 】 あたりを良く読むこと 前スレ pc11.2ch.net/test/read.cgi/tech/1180192018/
910 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 23:45:24 ] Public i as Long
911 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 23:57:06 ] >>910 おまえはすぐ上のレスも読めないのか
912 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 00:45:05 ] iなのにLong(笑)
913 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 09:12:32 ] >>912 910の案は間違っているからどうでもいいとして i は Integer でも int でもなく Index のことだから型は関係ねえぞ
914 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 09:56:54 ] もともとはintegerだし、Cとかでlong iとかやると変
915 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 11:06:42 ] >>914 なんつーかそこまでして変数名を1文字にする意味がないと思うのは気のせい?
916 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 11:40:17 ] 日本語でOK
917 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 11:50:03 ] >>915 気のせいじゃない というか、誰も変数を1文字にする必要があるとか意味があるとかなんてことは一言も言ってない 単に状況によっては1文字変数にも不都合はないというだけの話
918 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 13:14:55 ] そだね。For Nextのカウンターはiが普通 ハンガリアン狂いはリストでも聴いてなさい
919 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 13:17:59 ] てっきりFor Nextかと思ったらそうじゃなかったか
920 名前:デフォルトの名無しさん [2007/12/10(月) 15:21:31 ] すいません、ちょっと質問させていただきます。 ワークシート別に異なる編集処理を、同じ書式(同じメソッド名)で呼び出そうとしています。 現在、以下のように、Implementsを使用しようとしていますが、上手くいきません。 -ClassIF.cls- (PublicNotCreatable) Public Function GetTestString() As String End Function -Sheet1- Implements ClassIF Private Function ClassIF_GetTestString() As String ClassIF_GetTestString = "てすと" End Function -ThisWorkbook- Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Dim TestIF As ClassIF Set TestIF = Me.Worksheets.Item(1) MsgBox TestIF.GetTestString End Function
921 名前:920 [2007/12/10(月) 15:24:16 ] (920のつづき) 上記のコードだと、コンパイルは通りますが、実行時に 「型が一致しません」 とエラーとなるので、 > Dim TestSh As Sheet1 Dim TestIF As ClassIF > Set TestSh = Me.Worksheets.Item(1) Set TestIF = Me.Worksheets.Item(1) とすると、一旦エラーとなりますが、ステップ実行を継続すると以降は動くようになりました。 情けないのですが、何をどう間違えているのか、判断が付きません。 目的は、多数のシートの処理を同じ書式で呼ぶことです。 (シートが多く、今後メソッドも増加することが予想されるので保守性を高めるため。) また、試しに、CallByName(Me.Worksheets.Item(1), "OwnerStr", VbMethod) を試したところ、 「メモリが不足しています。」 となりダメでした。(Public Function OwnerStr() を追加。端末メモリは1G) 環境は、WinXP SP2 + Office2003 VBA:6.4.8869 です。 なお、開発環境の制約上、VBが使用できません。 何らかのアイデアを頂ければ幸いです。
922 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 16:31:58 ] 良くわからんけど、set testif=shとやったらちゃんと動いたぞ
923 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 17:55:51 ] >>922 ありがとうございます。こちらでも試してみたのですが、動いたり動かなかったりです。 こちらの環境では、初めは動いても、ファイルを保存して開きなおすと動かなくなります。 しかも、そうなると、再び動くようにするにはどうすれば良いか分からなくなってしまう状況です。 Set TestIF = Sh Sh.Range("A1:E5").Value = TestIF.GetTestArray ←例えば2次元配列を返す とか書ければスッキリするんですけど、そもそも確実には動かないので使い物になりません・・・
924 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 20:14:19 ] >>923 セキュリティの設定を変更しないとダメだが、一応これなら2007ではうまくいった 2003は持ってるけどインスコめんどいので試してないからやってみれ -ThisWorkbook- Private Sub Workbook_Open() On Error GoTo SECURITY_ERROR Dim p As Variant For Each p In ThisWorkbook.VBProject.VBComponents Debug.Print p.Properties("Name").Name Next p Exit Sub SECURITY_ERROR: 'support.microsoft.com/kb/282033/ja Call MsgBox("セキュリティ設定によりマクロからVBAプロジェクトへのアクセスが禁止されています。", vbCritical, "セキュリティ エラー") End Sub
925 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 20:29:36 ] >>923 「動かなかったり」って時は、VBAProjectがコンパイルされてない時とイコールだったりしない?
926 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 21:16:12 ] うーん、何かそのやり方違和感があるなぁ。 class Worksheet implements IFooじゃないところが。つまり、implementsを書かないworksheetが存在してもOKなところ。 じゃぁ、どうやればいいかって聞かれると、即答できない・・・
927 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 21:25:24 ] iの型は何にすればいいんですか?
928 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 21:33:46 ] >>927 整数型ならなんでもいいよ
929 名前:920 mailto:sage [2007/12/10(月) 21:33:47 ] >>924 動きました! ありがとうございます! 923みたいに、配列を返してセルをまとめて埋めちゃうような処理でもバッチリ動きました。 処理を目にしても、なおピンと来ませんが、前もって1度アクセスしとくって感じですかね。 凄いなー・・・ そんなの絶対に分からないです。俺ももっと精進します・・・ 応用を考えて、色々試して見ます。本当にありがとうございました。 >>925 コンパイルが通らないときは動きません。 通っても一旦終了するとダメだったりしてました・・・ >>926 そうなんですよね、”何となくダメっぽい” んですけど、どうすればいいかサッパリな事が多くて。
930 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 21:34:02 ] 相撲の世界では、雲龍型もしくは不知火型のどちらかだよね。
931 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 21:53:36 ] 今度からiは整数型にします><
932 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 22:23:26 ] >>929 アフォか 実体を取得してないのにインプリメントしただけで参照が通るわけネーダロ まあ、モジュール行ったり来たりの実用性に乏しいところを見ると、単なる実験だろうけど 以下のコードをSheet1の方に記述してから、このプロパティを呼び出してみ Public Property Get MyEntity() As ClassIF Set MyEntity = Me End Property それにしてもiはインデックスとか1文字変数野郎にはキチガイが多いな(~ε~;)
933 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 22:49:15 ] iは整数型なんですってば><
934 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 22:52:11 ] 932が見えない またキチガイが来てるのかw
935 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 23:01:11 ] >>926 ベストなやり方とは言えないが、これで現状の処理に合わせたまま対応できるな '参照設定 TypeLib Infomation Private Sub Workbook_NewSheet(ByVal Sh As Object) Dim m As CodeModule Dim c As ClassIF Dim t As TLIApplication Dim v As Variant Set t = New TLIApplication Set c = New ClassIF Set m = ThisWorkbook.VBProject.VBComponents(Sh.Name).CodeModule Call m.AddFromString("Implements ClassIF") For Each v In t.InterfaceInfoFromObject(c).Members Call m.CreateEventProc(v.Name, "ClassIF") Next v End Sub
936 名前:920 mailto:sage [2007/12/10(月) 23:08:18 ] >>932 機能を増やした時の保守性のため、ClassIF を抽象クラス的に使おうとしてます。 なので、できれば Sheet1 に外部からアクセス(Public定義)させたくないのです。 従って、ClassIFを返す意味がないのです。 それから、多分それだと動きません。(そもそも実行時に MyEntityを取得できない) 意図を読み違えていたらすいません・・・。
937 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 01:25:29 ] アクセルロッドのコンテストを学校の課題でしており、 Sub Dilemma_of_Prisoners() Dim TE1 As Boolean, TE2 As Boolean, preTE1 As Boolean, preTE2 As Boolean Dim I As Integer, N As Integer point1 = 0 point2 = 0 N = 5 ' 繰り返し回数 For I = 1 To N TE1 = Player1(I, preTE2) TE2 = Player2(I, preTE1) preTE1 = TE1 preTE2 = TE2 If TE1 Then If TE2 Then point1 = point1 + 3 point2 = point2 + 3
938 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 01:25:35 ] Else point1 = point1 + 0 point2 = point2 + 5 End If Else If TE2 Then point1 = point1 + 5 point2 = point2 + 0 Else point1 = point1 + 1 point2 = point2 + 1 End If End If Next I MsgBox "プレイヤー1=" & point1 & vbCrLf & "プレイヤー2=" & point2 Range("A1") = "プレイヤー1=": Range("C1") = point1 Range("A2") = "プレイヤー2=": Range("C2") = point2 End Sub
939 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 01:26:20 ] ↑判定ルーチン '人間がプレイする場合のルーチン Private Function Player2(kaisu As Integer, TE As Boolean) As Boolean ' プレイヤーが人間の場合 If kaisu = 1 Then Reply = MsgBox("協調しますか?", vbYesNo, "(" & kaisu & ")回目") Else If TE Then aite = "「協調」" Else aite = "「裏切り」" End If Reply = MsgBox("前回、相手は" & aite & "でした。" & vbCrLf & _ "協調しますか?", vbYesNo, "(" & kaisu & ")回目") End If If Reply = vbYes Then Player2 = True Else Player2 = False End If End Function
940 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 01:28:58 ] ↑人間が入力する際のルーチン コンピューター側の行動を書きに沿って作っているのですが、 1.しっぺ返し戦略 2.「裏切り」戦略 3.罰戦略 4.寛容戦略 5.でたらめ戦略 6.独自の戦略
941 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 01:29:30 ] 裏切り Private Function Player1(kaisu As Integer, TE As Boolean) As Boolean If kaisu = 1 Then Player1 = False End If End Function 寛容 Private Function Player1(kaisu As Integer, TE As Boolean) As Boolean If kaisu = 1 Then Player1 = else End If End Function
942 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 01:30:32 ] しかできず、他の方法に関して模索しております。 お知恵を頂けないでしょうか? お願いいたします。
943 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 06:40:31 ] ★4 とりあえず、Excelのインスタンスを作らずにVB6で出来ることは全てスレ違いだと思ってください。
944 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 11:52:41 ] >>920 moduleに、 Public Function GetTestString(ByRef w As Worksheet) as Hoge Select Case w.Name ・・・ End Select End Function とかやったほうが、何の問題もなく、すっきりしてる気がする。
945 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 12:57:52 ] >>944 これはひどいww これじゃプライベートなデータを全部公開しないと処理ができないじゃないかw
946 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 13:06:12 ] え、まさかシートのコードモジュールをメインでプログラミングしてたりするのか?
947 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 13:16:31 ] あー、違和感の原因がやっとわかった。 俺、アドインベースが基本だから、シートにコード書くこと今までほとんどなかった。
948 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 15:03:18 ] カプセル化が必要な場合は、俺ならメンバにワークシートを持つクラスを定義する。
949 名前:デフォルトの名無しさん [2007/12/11(火) 16:36:37 ] (コントロールツールボックスでは無い方の) コントロールのオブジェクト名と値をVBAで 参照することはできますか?
950 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 16:49:14 ] もっと具体的に
951 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 17:35:17 ] >>946 > え、まさかシートのコードモジュールをメインでプログラミングしてたりするのか? これをやると何か得するのですか?
952 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 17:41:36 ] 得しないよ? つか、何で俺にそれ聞くの?
953 名前:949 [2007/12/11(火) 17:45:13 ] >>950 フォームコントロールのオプションボタン1と2を ブックを開いたとき、クリア(押されてない状態)に したいのですが、コントロール名がないためやり方がわからなくて・・ 後出しですみません。
954 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 17:51:11 ] うーむ、UserForm1.OptionButton1.Value=0とは違うのか?
955 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 18:00:48 ] フォームツールボックスのオプションボタンをシートに配置して使ってます。 こいつのプロパティを開いてもコントロールの名前がないのです・・
956 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 18:06:52 ] >>953 Worksheets(1).Shapes(1) とかでアクセスできる 名前はないからリンクしているセルの番地で特定するとか つけてるラベル名でやるとか、最悪インデックスを直値でやる 以下はセルA1とリンクしているコントロールを見つけだす例 For Each v In Worksheets(1).Shapes If v.ControlFormat.LinkedCell = "$A$1" Then End If Next v
957 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 20:42:34 ] シートにコードを書くのってフォームを呼び出すときぐらいっしょ
958 名前:920 mailto:sage [2007/12/11(火) 21:08:22 ] みなさん、昨日はありがとうございました。 920のその後ですが、ゴリゴリ処理を追加して起動すると、再度エラーが起きるようになりました。 For Each p In ThisWorkbook.VBProject.VBComponents Debug.Print p.Properties("Name").Name Next p ここで、「'Properties'メソッドは失敗しました: '_VBComponent'オブジェクト」のエラーとなります。 しかも、確認のためステップ実行するとエラーは起きません。意味も分からず、試行錯誤の末、 For Each p In Me.VBProject.VBE.CodePanes s = p.CodeModule.Name Next p のように修正したところ、今のところ何故か動いてます。 理屈はまだまだサッパリです・・・。 一応、ご報告まで。
959 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 22:15:24 ] 他の人も言ってるけど、そのやり方止めたほうが良いと思うよ。 まぁ、将来にわたって自分ひとりしか使わないし、シートも追加しないしってことなら止めないが・・・。
960 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 22:19:00 ] >>955 或る程度、分かってる人みたいなので手抜き Set objSheet = Excel.Worksheets("ターゲットシート名とか") For Each objShape In objSheet.Shapes If objShape.Type = msoFormControl Then If objShape.FormControlType = xlOptionButton Then objShape.ControlFormat.Value = xlOff End If End If Next msoFormControlは結構、有名だと思ったけどそうでもないのね デタラメこいてクサレコードを教えるヤツも出るぐらいだし(~ε~;)
961 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 22:24:05 ] あ、あぼんされてる人だ
962 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 22:55:25 ] 草レコード?? と思ってググったことはワイヤード以外ではナイショ♥ d.hatena.ne.jp/tonotonotono/20060707
963 名前:デフォルトの名無しさん [2007/12/11(火) 23:41:06 ] r AS Range n AS Integer (rにはセル範囲が与えられているとして) n=r.Areas.Columns(1).Count←行数を取得したい どうすれば行数を取得できるでしょうか?
964 名前:920 mailto:sage [2007/12/11(火) 23:42:45 ] >>959 ありがとうございます。おかげさまで、考え方が良くないという認識は持てました。 ただ、どうも"何故"という興味が消えなくてw 不具合か、使い方か、追求してみたいです。 ご忠告どおり、個人レベルは超えないようにして、 948さんの考え方等も色々試してみようと思います。 みなさん、ありがとうございました。
965 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 00:02:00 ] >>963 Set r = Range("a2:d11") n = r.Rows.Count Range("a1") = n
966 名前:デフォルトの名無しさん [2007/12/12(水) 00:20:21 ] >>965 ありがとうございました。 d AS Variant n=300←(データ数。可変する) Redim d(n,2) (省略)←dにグラフの値を代入する Chart.add Activechart.setsource d←配列データをもとにグラフを作成するにはどうすればよいのでしょうか?
967 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 00:25:01 ] oshietekun shirabenai kara oshietekun
968 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 00:42:13 ] >>967 いや、一ヵ月前から調べたが解決できなかったのがたまたまこの2つだったのです。
969 名前:デフォルトの名無しさん [2007/12/12(水) 10:47:08 ] if thenで改行するのと、そのまま書き続けるのって ひょっとして全然違う?
970 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 10:58:04 ] >>960 とんでもないクサレコードだなおいw それじゃ手あたり次第に同種のコントロールを設定しちまうだろw
971 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 10:59:21 ] >>970 じゃあお前が教えてやれ
972 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 11:38:33 ] >>969 Excel総合相談所 62 pc11.2ch.net/test/read.cgi/bsoft/1195214565/522-524 ここら辺でやり取りされてたけど、一緒だと思う。
973 名前:デフォルトの名無しさん [2007/12/12(水) 11:57:42 ] >>972 ありがとうございます! もうひとつ、ついでによろしいでしょうか? 変数を使ったセルの選択で、結合されている場合の やりかたが分かりません。 Range("B & i : B & i+1").Select: triggerMsg = Selection.Value もしくは Range(""B" & i : "B" & i+1"").Select: triggerMsg = Selection.Value これだと、ダメなんですよね。
974 名前:973 [2007/12/12(水) 12:09:48 ] ひょっとして、これであってます? dim range1 as range Set range1 = Range("B" & i).MergeArea
975 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 12:57:10 ] >>973 くくってる範囲が違う Range("B" & i & ":B" & i+1")
976 名前:デフォルトの名無しさん [2007/12/12(水) 13:00:04 ] >>966 > d AS Variant > n=300←(データ数。可変する) > Redim d(n,2) > (省略)←dにグラフの値を代入する > > Chart.add > Activechart.setsource > d←配列データをもとにグラフを作成するにはどうすればよいのでしょうか? 配列データからグラフ作成、以外と難しいね
977 名前:デフォルトの名無しさん [2007/12/12(水) 13:03:16 ] msgboxのvbokcancelで、キャンセルを選んだ場合に返される 値って、「vbcancel」なのか「false」なのか、どっちですか?
978 名前:973=977orz [2007/12/12(水) 13:06:09 ] >>975 ありがとうございます! こう? Range("B" & i & ":B" & i + 1).Select
979 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 13:07:20 ] ExcelのChartではできません。あきらめましょう。
980 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 13:08:47 ] >>977 RTFM
981 名前:973 [2007/12/12(水) 13:18:44 ] Sub yoyoyo() Range("A" & 1 & ":A" & 2).Select: hoge = Selection.Value MsgBox hoge End Sub 型が違うって出てしまいます。 結合されたセルの値を取り出すには、 特別な作業が必要なんですかね。
982 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 13:43:20 ] >>981 VBAの本買ってこい
983 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 13:48:02 ] >>981 いつまでその調子で質問し続けるつもりだ?
984 名前:973 [2007/12/12(水) 13:50:13 ] すんません
985 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 13:53:00 ] >>981 一旦選択状態にする意味が分かんない。それすら分かってないレベルなら>>982 まとめて取得したいって意味なら、2次元配列で受け取る方法を考える。 つか、クイックウォッチを見ながらやってみ?
986 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 13:53:44 ] >>984 もし本を読んだ上で質問していると思うけど、複数冊参考になる本は用意しておくべきだよ。 その本ごとに強調する部分は違うからね。 とりあえず本屋へGo!
987 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 13:55:16 ] >もし本を読んだ上で質問していると思うけど 日本語でOK
988 名前:973 [2007/12/12(水) 15:55:32 ] ありがとうございます 色々やってたら出来ましたぁ
989 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 16:25:37 ] >>981 > Sub yoyoyo() hoge AS Range Set hoge = Range("A1:A2").Value > MsgBox hoge > End Sub
990 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 16:30:17 ] >>989 > >>981 修正。 Sub yoyoyo() Dim hoge AS variant Redim hoge(1,2)→行と列は忘れた。 Set hoge = Range("A1:A2").Value MsgBox hoge End Sub
991 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 16:34:05 ] >>979 > ExcelのChartではできません。あきらめましょう。 どおりで一ヵ月ネットで探してもでてこないわけですね・・ ありがとうございました
992 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 16:44:29 ] あきらめてシートに転記してグラフ化するがよろし
993 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 16:46:36 ] うわ、次スレの季節。 はよせんと落ちてしまう〜、誰かヨロ
994 名前:981 [2007/12/12(水) 16:56:31 ] >>990 助かります
995 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 17:08:28 ] >>981 hogeは2次元配列になっている Sub yoyoyo() Range("A" & 1 & ":A" & 2).Select: hoge = Selection.Value MsgBox hoge (1,1) & vbLf & hoge(2,1) End Sub としないと動かない。 だがちょっと待って欲しい。変数の宣言をした方が良いんではないだろうか。 Sub yoyoyo() Dim hoge As Variant hoge = Range("A1:A2").Value MsgBox hoge (1,1) & vbLf & hoge(2,1) End Sub とすればSelectしなくても良いのではないかという声が聞こえなくもない。
996 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 17:24:03 ] A1とA2は結合されてるのか。 だったら Sub yoyoyo() Dim hoge As Variant hoge = Range("A1").Value MsgBox hoge (1,1) End Sub
997 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 17:26:18 ] ひとりごとはチラ裏な
998 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 17:29:35 ] Excel VBA質問スレ Part5 pc11.2ch.net/test/read.cgi/tech/1197448064/
999 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 17:32:23 ] すまん間違いな Sub yoyoyo() Dim hoge As Variant hoge = Range("A1").Value MsgBox hoge End Sub MsgBox Range("A1").Value の1行でもいいぞ。
1000 名前:1000get [2007/12/12(水) 17:45:26 ] >>999 結合されていると、なぜかselect後の値取得が 使えないんです。 range("A1").select:hoge=selection.value はエラーになる。
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。