G列に入っているデータの行までB列を範囲指定して
B列に1を入力したいのですが、
Range(B & "1" & ":" & B & IngKns).Selectでシート全てが指定され
シート全てに1が入力されてしまいます。
何がいけないのでしょうか?
例えばD列が1~30行目までデータが入っていればB1~B30まで1を入力
したいのですが。。。
Dim l_xlsSheet As Worksheet
Set l_xlsSheet = ThisWorkbook.Worksheets("Sheet1")
'
IngKns = WorksheetFunction.Count(l_xlsSheet.Cells.Range("G1:G65536"))
'
Range(B & "1" & ":" & B & IngKns).Select
Range(B & "1" & ":" & B & IngKns) = 1
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
#2の補足です。
>つまり、そのまま書けば、Long型に決まっているので、プレフィックスを入れる必要がありません。
少し解説しておくと、
32bit PCは、整数型の場合は、32bit 単位で格納されます。Integer 型の場合は、32bit に変換されてから格納されます。そのままにするので、32bitのほうが速いわけです。だから、通常、整数型なら、Long型に格納したほうがよいわけです。
No.2
- 回答日時:
#6086516を返事した後に書かれたものですから、一部、そちらに関連した内容になっています。
>結合したセルだとシート全てが反映されてしまうのでしょうか?
聞いたことがないですね。
Range(B & "1" & ":" & B & IngKns).Select
ただ、こうしたら、1行目から、lngKns 全体を選択します。
それに、WorksheetFunction.Count としたら、抜けていたら、少なくなってしまいます。
>例えばD列が1~30行目までデータが入っていればB1~B30まで1
4列目つまり、D列になりますから、.Cells(Rows.Count, 4) となります。
'//
Sub TestRange()
Dim Sh As Worksheet
Dim i As Long
With ThisWorkbook.Worksheets("Sheet1")
i = .Cells(Rows.Count, 7).End(xlUp).Row '7 = G列
.Range("B1:B" & CStr(i)).Value = 1
End With
End Sub
ところで、「l_xlsSheet」この変数名は、何かを参考にしたものですか?
ここの掲示板では、必ずしも、私のような書き方は推奨できるものではないのですが、ここは、文字列の制限があるので、短めにしています。ただ、個人的な経験から、アンダーバーを入れると、後からの修正に非常に手間を取られることがあります。また、l_ は、ローカルという意味だということは分かりますが、l_xls という書き方スタイルは、VBA系にはないような気がします。それは、クラス・インスタンスの時に、初めて、そうした概念的なものが必要になります。そうでなければ、その書き方はやめたほうが無難です。また、一般的に数値は、Long型とDouble型です。つまり、そのまま書けば、Long型に決まっているので、プレフィックスを入れる必要がありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 配列の勉強をしています。使用する変数の意味、検索条件の書き方が難しいです。 2 2022/09/15 14:06
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) エラーコード1004 6 2022/06/09 14:12
- Visual Basic(VBA) Sheet2からオートフィルターで売上日を抽出した件数をカウントし、その件数をSheet1のセルB1 2 2023/01/12 12:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
現在のブックを閉じないで、マ...
-
IEの通知バー制御ができなくなった
-
VB.net(VB)で、フォームにExcel...
-
VBA listBoxから
-
VBAで各列の"+"と"o"の合計数を...
-
VBA 複数条件の分岐処理の上手...
-
ExcelVBA シート名を複数セルか...
-
Excel VBA 定義されたプロージ...
-
VBA初心者 Ctrl+での操作、ボタ...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
Excel-VBAのmsgBox()の不思議
-
左右の表のキー位置を合わせたい
-
ExcelのVBAコードについて教え...
-
Excel マクロについての相談
-
CADシステムに図面番号を入力し...
-
VBAの質問になります 行の非表示
-
VBA 同じ名前のオブジェクトを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのコードを教えてください
-
【ExcelVBA】インデックスが有...
-
ExcelVBA シート名を複数セルか...
-
エクセルvbaについて
-
エクセルのマクロについて教え...
-
【VBA】マクロの入ったファイル...
-
VBA UserFormからの転記で
-
エクセルVBAの配列について
-
Excelで「Ctrl+c」、「Ctrl+v...
-
VBAコードについて教えてくださ...
-
ExcelのVBAコードについて教え...
-
Excel マクロについての相談
-
VBAで質問があります
-
VBAコードについて
-
【ExcelVBA】VBA実行でダイアロ...
-
Excel関数またはVBAでの質問に...
-
ExcelのVBAコードについて教え...
-
ExcelのVBAコードについて教え...
-
ExcelのVBAコードについて教え...
-
Outlookの「受信日時」「件名」...
おすすめ情報