- ベストアンサー
Excel VBAでDebug.Printしてセルの情報を取得する方法
- Excel VBAのDebug.Printを使用してセルの情報を取得する方法を教えてください。
- Debug.Printを使用することで、セルの行番号や列番号を取得することができます。
- また、マウスで選択したセル範囲の情報も取得することができます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
関連するQ&A
- SelectionChangeイベント 文字列エラ
エクセルvbaなのですが セルをクリックしたときに、該当する値ならメッセージを表示させる際に Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Value = 1Then MsgBox "" End If End Sub ならエラーにならずに動くのに Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Value = "運賃" Then MsgBox "" End If End Sub のように文字列にすると、型が一致しません。 と言うエラーになります。 If Target.Value = "運賃" Then の時でも、空白セルや数値が入ったセルをクリックした際はエラーになりません。 どのような型にすればいいのでしょうか? 実際、「運賃」と言う値が入ってるセルをクリックしても同じエラーが発生します。
- ベストアンサー
- オフィス系ソフト
- あるセルの値を別のセルを参照する際の行番号や列番号として使用したい
あるセルに入っている値を別のセルを参照する際の行番号や列番号として使用したいのですが、可能でしょうか? たとえば、A1に10、A2に20と入っていたら、10行目の20列目の値を取得するようなことがしたいです。 マクロを使えばできそうですが、マクロを使わずにできる方法があれば教えてください。
- ベストアンサー
- オフィス系ソフト
- VBA 指定値に最も近い値のセルの行番号は?
A列に数値が昇順で並んでます。指定の値に最も近い値が並んでるセルの行番号を知りたいのです。 WorksheetFunction.vlookupを使うと、値は分っても行番号はわからない筈です。 Cells.Find().Row を使うと、行番号はわかりますが「最も近い」値はわからない筈です。 マクロを組め!との御指摘があるかも知れませんが、便利な関数があるのならそれで済ませたいです。何かありませんか?無ければ諦めます。
- ベストアンサー
- Excel(エクセル)
- 行番号と列番号が見えない?
列番号や行番号の上をクリック(または 全セル選択)して列や行を選択すると「A,B,C・・・」「1,2,3」といった文字や数字が真っ白で見えなくなります。 特に不都合はないのですが、できれば元通りに反転した状態に戻したいのですが・・・。 よろしくお願いしま~す!
- 締切済み
- オフィス系ソフト
- AccessのDebug.Printで…
以下のようなことをしています。 condValue = "(Val(Mid(T_テーブル.値,9)) between " & Val(Me!Value_1) & " and " & Val(Me!Value_2) & ")" Debug.Print condValue (テーブルの「値」はテキスト形式) これで、イミディエイトウィンドウに表示されると、 (Val(Mid(T_テーブル.値,9)) between 1 and 9) のような感じです。 Me!Value_1とMe!Value_2のところは、ちゃんと数値に置き換わっているのに、テーブルのところがかわってませんよね。 やっぱりテーブルは値がたくさんあって、ひとつひとつ当てはめていくわけにいかないからこのような表記になるのでしょうか? ちょっと不安になってしまったもので。。。 また上記のcondValueの書き方はあっているでしょうか?
- ベストアンサー
- オフィス系ソフト
- 列番号をクリックすると、列番号が凹んで真っ白になる
Excel2000を使っています。 列番号や行番号をクリックすると、列番号が凹んだ状態になり、真っ白になります。中のセルはいつもどおりですが、列番号だけ、凹んで真っ白な状態です。 A列の列番号をクリックすると、Aという文字は消えて、列番号が凹んで真っ白です。 何か設定でも有るのでしょうか?
- 締切済み
- オフィス系ソフト
- 他のシートの任意の列に1行おきに表示する
よろしくお願いします。 下の構文ですと Worksheets("入力")の3列目5行目以降のデーターが Sheet2の同じ列(3列目)5行目以降に1行おきに表示されます。 これを Worksheets("入力")の3列目5行目以降のデーターを Sheet2の7列目5行目以降に1行おきに表示したいのですが どのように書き直せばよいでしょうか。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim i As Long, j As Long j = 5 With Worksheets("入力") For i = 5 To .Cells(Rows.Count, 3).End(xlUp).Row .Rows(i).Copy Worksheets("Sheet2").Cells(j, 1) j = j + 2 Next i End With End Sub
- ベストアンサー
- その他(プログラミング・開発)
- Debug.Writeで困っています(VB2008)
お世話になります。 VB2008ExpressEditionの勉強を始めました。 本を読みながら進めているのですが、 Debug.Write "テスト" でイミディエイトウインドウに"テスト"と表示されるはずですが なにも表示されません。実際のテストコードは以下です。 Private Sub BUTTON1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BUTTON1.Click Debug.Write("テストWrite") Debug.Write("") Debug.Print("Printテスト") MessageBox.Show("テスト") End Sub メッセージボックスは表示されますが、イミディウィトウインドウにはなにも表示されません。何か特別な設定が必要なのでしょうか? OSはVista HomePremium(64bit)です。 初歩的な質問で恥ずかしいのですがよろしくお願いいたします。
- ベストアンサー
- Visual Basic
- awkで項目番号ごとに行を列に並べる
[入力ファイル] a 10 1 b 10 2 c 10 3 d 10 4 a 20 5 b 20 6 c 20 7 d 20 8 a 30 9 b 30 0 c 30 1 d 30 2 を、2列目の項目番号を行、1列目の記号を列として (エクセルのピボットテーブルのようなイメージです) 以下のように並べ替えたいのです。 [出力ファイル] No. a b c d 10 1 2 3 4 20 5 6 7 8 30 9 0 1 2 これをawkスクリプトで書きたいのですが、 どのように書けばよいでしょうか? ※下記2点は希望ですが、難しければ非対応でも大丈夫です。 ・入力ファイルの1行目は一応abcdの順番にきれいに並んでいるものですが 順番がabdcなどとずれていても処理できるスクリプトにしたいです。 ・出力後のabcdの列順序は、スクリプトを修正することで 自由に変更できるとさらに助かります。 教えてください。 よろしくお願いいたします。
- 締切済み
- その他(プログラミング・開発)
- 特定の列が再計算された時に実行するマクロ
excelで、特定の列に計算式(SUM)が入っています。 その列が再計算され、結果が1より大きくなったら、そのセルと同じ行の、他の列の値を変更するマクロを作りたいと思っております。 Worksheet_Calculateだと、再計算されたセルを特定できないと伺いました。 なので、再計算されたセルと同じ行で、他の列の値を変更することができません。 Worksheet_Changeだと計算式による変化は扱えないようなので・・・。 このような場合、どうすればいいか教えていただけないでしょうか。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
お礼
ありがとうございます いつもマクロそのものを教えてもらっていては進歩しないので Debug.printで得られる値を見ながらIF文を書いてみようと思い 質問しました 確かに、必要なときに教えてもらったマクロを少し手直しするという 私のやり方では進歩しません 反省しています
補足
早速やってみました 目的の値がすべて取得出きています 貴重な時間に、長文で教えていただいて恐縮です 親切に教えていただきありがとうございました