一回のループで次のオブジェクトの値も同時に取得するにはどのようなコードを書けばよいですか?
例えば、
ブックにシートが
Sheet1
Sheet2
Sheet3
あり、
Sub Sample1()
Dim s As Worksheet
For Each s In Worksheets
Debug.Print s.Name
Next
End Sub
のように、全てのシート名を取得する場合、
Sheet1とSheet2を1回のループで同時に取得する方法はありますか?
Sub Sample1()
Dim s As Worksheet
For Each s In Worksheets
Debug.Print s.Name
Debug.Print s+1.Name
Next
End Sub
みたいな方法があるのか知りたいです。
よろしくお願いします。
SelectionChangeイベントで
複数のセルを選択しているかを取得するプロパティってないのでしょうか?
今は、
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Len(Target.Address) > 5 Then
MsgBox "複数のセルが選択されています"
End If
End Sub
こうしていますが、行数が多くなると文字も多くなってしまうので、このコードでは対応できません。
Rangeオブジェクトに何個セルが入ってるかを知る方法はありますか?
ウォッチのTargetのcellsを見ても、どう見ればいいのかわかりません
教えてください。
下記にxのコードとyのコードとwのコードとを記載しました。
この内、
wのコード、xのコードでは(3)も含めノーエラーで終わるのですが、
yのコードでは(3)でエラーになってしまいます。
エラー内容は
「インデックスが有効範囲にありません。」
です。
どうしてでしょうか?
ご教示をお願い致します。
記
Sub w()
Dim B As Variant
ReDim B(1) '・・・(1)
ReDim B(5) '・・・(2)
ReDim B(10)
ReDim Preserve B(15) '・・・(3)
End Sub
Sub x()
Dim B As Variant
ReDim B(1)
B = Split("B4:C15,D4:E15,F4:G15,B4:G15", ",") '・・・(1)
ReDim Preserve B(5) '・・・(2)
ReDim B(10)
ReDim Preserve B(15) '・・・(3)
End Sub
Sub y()
Dim B As Variant
ReDim B(1) '・・・(1)
ReDim B(5) '・・・(2)
B = Evaluate("row(A1:A10)")
ReDim Preserve B(15) '・・・(3)
End Sub
以上
下記のコードの日付の2011の箇所を2010/6/01~2012/4/01といったように月単位での条件にしたいのですが
どこをどうやって変えればいいですか?お詳しい方よろしくお願いします。
Sub カウント2012()
Dim dic As Object
Dim lastRow As Long
Dim r As Long
Dim key As String
Set dic = CreateObject("Scripting.Dictionary")
lastRow = Range("A" & Rows.Count).End(xlUp).Row
For r = 2 To lastRow
If Year(Cells(r, "C").Value) = 2011 Then
key = Range("A" & r).Value & Chr(0) & Range("W" & r).Value
If Not dic.exists(key) Then 'キー値が無ければ
dic.Add key, 1 'キーを追加して、値(個数)を1に
Else '既にキー値があれば
dic(key) = dic(key) + 1 'そのキーの値(個数)+1
End If
End If '★追加
Next
'表示
For r = 2 To lastRow
key = Range("A" & r).Value & Chr(0) & "1" '探す値はA列注目行の値+"1"(間にchr(0))
Range("FV" & r).Value = dic(key)
Next
End Sub
教えてください。
下記にxのコードとyのコードとwのコードとを記載しました。
この内、
wのコード、xのコードでは(3)も含めノーエラーで終わるのですが、
yのコードでは(3)でエラーになってしまいます。
エラー内容は
「インデックスが有効範囲にありません。」
です。
どうしてでしょうか?
ご教示をお願い致します。
記
Sub w()
Dim B As Variant
ReDim B(1) '・・・(1)
ReDim B(5) '・・・(2)
ReDim B(10)
ReDim Preserve B(15) '・・・(3)
End Sub
Sub x()
Dim B As Variant
ReDim B(1)
B = Split("B4:C15,D4:E15,F4:G15,B4:G15", ",") '・・・(1)
ReDim Preserve B(5) '・・・(2)
ReDim B(10)
ReDim Preserve B(15) '・・・(3)
End Sub
Sub y()
Dim B As Variant
ReDim B(1) '・・・(1)
ReDim B(5) '・・・(2)
B = Evaluate("row(A1:A10)")
ReDim Preserve B(15) '・・・(3)
End Sub
以上
教えてください。
下記にxのコードとyのコードとwのコードとを記載しました。
この内、
wのコード、xのコードでは(3)も含めノーエラーで終わるのですが、
yのコードでは(3)でエラーになってしまいます。
エラー内容は
「インデックスが有効範囲にありません。」
です。
どうしてでしょうか?
ご教示をお願い致します。
記
Sub w()
Dim B As Variant
ReDim B(1) '・・・(1)
ReDim B(5) '・・・(2)
ReDim B(10)
ReDim Preserve B(15) '・・・(3)
End Sub
Sub x()
Dim B As Variant
ReDim B(1)
B = Split("B4:C15,D4:E15,F4:G15,B4:G15", ",") '・・・(1)
ReDim Preserve B(5) '・・・(2)
ReDim B(10)
ReDim Preserve B(15) '・・・(3)
End Sub
Sub y()
Dim B As Variant
ReDim B(1) '・・・(1)
ReDim B(5) '・・・(2)
B = Evaluate("row(A1:A10)")
ReDim Preserve B(15) '・・・(3)
End Sub
以上