• 締切済み

エクセル cell

mar00の回答

  • mar00
  • ベストアンサー率36% (158/430)
回答No.2

選択しているセルの行・列の値を知りたいということでしょうか。 違っていたら無視して下さい。 Sub Macro1() myRow = ActiveCell.Row myCol = ActiveCell.Column MsgBox "Cells(" & myRow & "," & myCol & ")" End Sub のようにすればいいと思います。

関連するQ&A

  • Excel VBA Cells 絶対参照 書き方

    Excel VBAにてお尋ねいたします。 Excel VBAにてCellsを使用してセル範囲を指定させていただく際に、絶対参照($A$1:$E$10など)を使用する場合はどのように記述すればよろしいでしょうか? Cellsを使用するのは、セル範囲が毎回異なるため、範囲指定に変数を使用しているためです。 相対参照でしたら、Range(Cells(1,1),Cells(Rows<行番号の変数>,Cols<列番号の変数>))といった記述かと思いますが、絶対参照の場合はどのように記述すればよろしいでしょうか?

  • VBAの記述の仕方で

    エクセルのVBAで、A1に Range("B1").Select という文字列を入力させたいのですが、以下の記述だといずれもエラーになってしまいます。 Cells(1, 1).Value = Range("B1").Select   Cells(1, 1).Value = "Range("B1").Select"   どこをどう直せばいいのでしょう?

  • エクセル VBA 選択範囲書込?

    エクセルのVBAで Activesheet Range("A1:B2").Selectは Activesheet Cells(???????).Selectでは どのように書き込めば宜しいのでしょうか?

  • オブジェクトが定義されていません

    以下のコードを実行すると「オブジェクトが定義されていません」とエラー表示されます。 オフィス2003、エクセルVBAです。 Withの使い方がまちがっているのでしょうか? 分かる方教えてください。 お手数をおかけしますがよろしくお願いします。 intGyou = Int(intDeley(i) * 2) With ThisWorkbook.Sheets(\"default\") If intDeley(i) = 0 Then .Range(\"Y7:Y1446\").Copy _ .Range (\"Z7:Z1446\") Application.CutCopyMode = False Else .Range(.Cells(intGyou + 7, 25), .Cells(1446, 25)).Copy _ .Range (\"Z7\") .Range(.Cells(7, 25), .Cells(intGyou + 6, 25)).Copy _ ThisWorkbook.Sheets(\"default\").Range(.Cells(1447 - intGyou, 26), .Cells(1446, 26)) Application.CutCopyMode = False End If End With

  • エクセル VBA の行選択

    エクセルVBAで行を選択する場合 Rows(1,1).select Range(Cells(2,2),Cells(5, 5)).EntireRow.Select の方法があると知りました。 この数値の部分に変数を入れるとエラーがでてしまいました。 どうすれば変数で行を選択することができるのか教えてください。 2003を使用しております。

  • エクセルVBAで平均を求める

    こんにちわ。 エクセルVBA初心者です。 質問1 VBAで平均を求めているのですが、セルに関数が入ってしまいます。 これを入らずに計算できるようにするには、どのようにすればよい でしょうか。 質問2 また、現状10000行まで計算できるようにしておりますが、本当は、 エクセルの限界まで(確か6万・・・行だったと思いますが)したい のですが、どうすればよいでしょうか。 【補足】 P、Q列に夫々、F列の5つ平均(P)、25つ平均(25)を表示させるVBEで作成しています。 ただ、P,Q列を見ていただけるとAverage関数が入っています。 できれば、これを入らないようにしたいのです。 【対象となっているコード】 ※ Module2に記載しています。 Const AVHI1 As Integer = 5 '移動平均日数1 可変にしなければ Const AVHI2 As Integer = 25 '移動平均日数2 可変にしなければ Sub 移動平均() Dim endrh As Integer '最終セル Application.ScreenUpdating = False Worksheets("date").Select 'セル表示形式 Columns("P").Select Selection.NumberFormatLocal = "0.0_ " Columns("Q").Select Selection.NumberFormatLocal = "0.0_ " Range("G1").Select '最終セル Cells(10000, 1).End(xlUp).Select endrh = ActiveCell.Row Range("A2").Select 'データチェック If endrh - AVHI2 < 4 Then MsgBox "移動平均" & AVHI2 & "日分のデータ不足で計算できません" Exit Sub End If 'AVHI1(5日)の終値平均 ------------------------------------------ avhi = AVHI1 + 1 Range(Cells(2, 16), Cells(endrh - AVHI1, 16)).Formula = _ "=AVERAGE(F2:F" & avhi & ")" 'ここをVBAに調整 Range("G1").Select 'AVHI1(25日)の終値平均 ------------------------------------------ avhi = AVHI2 + 1 Range(Cells(2, 17), Cells(endrh - AVHI2, 17)).Formula = _ "=AVERAGE(F2:F" & avhi & ")" 'ここをVBAに調整 Range("G1").Select Cells(1, 16) = AVHI1 & "_SMA" Cells(1, 17) = AVHI2 & "_SMA" Range("G1").Select End Sub

  • エクセルSheetのTextBoxのTextを参照するには??

    エクセルSheetのTextBoxのTextを参照するには?? アクセス(v2010)のVBAで、エクセルファイルのSheet上の テキストボックスの文字列を設定・変更したいと思います。 Cellについては、objSheet.Range("M2").Value で できますが・・・・ ご教示ください。

  • エクセル cellから配列への取り込み

    お世話になります。 環境は、WindowsXpSp3、VB6sp6、MS-excel2003です。 処理内容は「エクセルのセル情報を元に条件判定を行い、結果を出力する」ものです。 現状、cellsオブジェクトの値と色からAND判定を行っています。 cells(r,c).value cells(r,c).Interior.ColorIndex 色々と調べたところ、配列にすると「劇的に速くなる」ということがわかりました。 想像してみて「確かに」と思い、試してみたところ、range().valueとvariant配列で試したところ約30倍の速度になりました。 (この時はvalueのみで試しました。) 「色情報もインデックスだから・・・」と思い、合わせて試してみました。 しかし、セルの色情報となると、これを配列にすることができません。 エクセルの仕様上どうにもならないものなのでしょうか。 もし「裏技」的なものがあればお願いします。 欲しい情報はcellのvalueとColorIndexが対応した配列です。 ソースは関連する部分だけ書きました。 -------------------------------------- Dim varValueRange As Variant Dim varColorRange As Variant varValueRange = Range(Cells(1, 1), Cells(10000,1)).Value varColorRange = Range(Cells(1,1),Cells(10000,1)).Interior.ColorIndex -------------------------------------- varValueRangeの方は問題なく配列になります。 varColorRangeがNullになってしまい、配列になりません。

  • エクセルの select case文

    Dim i For i = 1 To 5 Select Case Cells(i, "A") Case "午前" Range("w1").Select Selection.Copy  Cells(i, "C").Select ActiveSheet.Paste Case "午後" Range("x1").Select Selection.Copy Cells(i, "d").Select ActiveSheet.Paste  End Select Next i Dim j For j = 1 To 5 Select Case Cells(j, "A") Case "関東" Range("y1").Select Selection.Copy  Cells(j, "e").Select ActiveSheet.Paste Case "関西" Range("z1").Select Selection.Copy Cells(i, "F").Select ActiveSheet.Paste  End Select Next i 毎回皆様にはお世話になっています。 あるセルを参照してその入力結果により 違うセルを貼り付けるマクロを組みました。 参照するセルが複数個(この例だと2セル)あるので それぞれに変数を宣言してfor nextで まわしています。 この内容を変数ひとつだけで すっきりと記述することは可能でしょうか? 参照するセルや判別する内容が増えると 記述が膨大になって マクロが 見にくくなるので 良い方法がありましたら 御教授ねがいます。

  • ExcelのVBAでRangeとCellsをWSHから使いたいのですが・・

    エクセルに書き込むマクロのコードを書いていたのですが、 Exl.range(Cells(1, 1), Cells(3, 4)).Font.Bold = True のような部分が、VisualBasic や OFFICEのVBA上で 参照設定でExcelを指定していると、動くのですが、 同じコードが、WSHでは参照設定ができないせいなのか、 動きません。WSHの場合、どのようにしたらよいのでしょうか。 よろしくお願いします。