No.3ベストアンサー
- 回答日時:
こんばんは。
私も、前々から、これに関しては疑問に感じていました。
それは、VBAのワークシートの引数の元のソース部分は、数値処理なのに、Columns は、文字によって入れることに成り立ちます。確かに、変数として扱うには、"A:C" は上手くないのは同感です。Columnsの引数は、index で、Rows との整合性がなくてはならないのに、その統一が取れていません。これは、設計上のミスかもしれません。
最初に、test1 の場合。
Sub test1()
With ActiveSheet
.Range(.Columns(1), .Columns(3)).Select
End With
End Sub
このような形は、一般的ではありません。それは、Rangeの内部の引数にオブジェクトを入れるということは、納まりがよくないからです。基本的に、親オブジェクトから、プロパティとして一続きなっていなければなりません。
Sub test2()
With ActiveSheet
.Cells(1, 1).Resize(, 3).EntireColumn.Select
'Cells(1, 1).Resize(, 3).ColumnWidth = 20 '列幅を20にする
End With
End Sub
そこで、数値処理する場合は、こういう形にするしかないのかなって思います。
No.2
- 回答日時:
やってみると
Columnsの複数列指定の場合A:Cのようにすべきで1:3はエラーです。
1つの列の場合は数字指定が出来ます。
Application.ReferenceStyle = xlR1C1が関係してないかと思って
やってみましたが、関係ないようです。
不統一な感じで、理由不明ですが、やむを得ません。
Sub test01()
Columns("A:C").ColumnWidth = 15
End Sub
Sub test02()
With Application
.ReferenceStyle = xlR1C1
End With
Columns(4).Select
Selection.ColumnWidth = 10
End Sub
Sub test03()
With Application
.ReferenceStyle = xlA1
End With
Columns(6).Select
Selection.ColumnWidth = 10
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
都道府県穴埋めゲーム
都道府県の名前を1人1つずつ投稿してください。全ての都道府県が出たら締め切ります!
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
-
4
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
5
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
6
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
7
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
8
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
9
split関数で区切り文字がない場合
Visual Basic(VBA)
-
10
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
11
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
12
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
13
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
14
IF関数で空欄(")の時、Nullにしたい
その他(Microsoft Office)
-
15
VBAで文字列を数値に変換したい
Excel(エクセル)
-
16
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
17
エクセル関数で日付かどうかの確認?
Excel(エクセル)
-
18
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
19
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
20
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
エクセルのVBAの標準モジュール...
-
実行時エラー 3265「要求された...
-
【VB】【エクセル操作】 SaveAs...
-
パワポでエクセルから画像ファ...
-
VBAで既に開いている別アプリケ...
-
CreateObjectとGetObjectの違い
-
VBで引数にDictionaryオブジェ...
-
Excelでフィルタをかけると警告...
-
オブジェクトが見つかりません
-
VBAからPDFファイルにパスワー...
-
エクセル/保護したシート上の埋...
-
[VBA]CDOメッセージ送信エラー
-
VBAで作成するメール(開封確認...
-
Word、VBAでの取り消し線文字の...
-
UserForm1.Showでエラーになり...
-
Exvel vba Range型変数格納時の...
-
エクセルVBAで2つの画像を比較...
-
INPUT type=file で出るダイア...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
エクセルのVBAの標準モジュール...
-
実行時エラー 3265「要求された...
-
VBAで既に開いている別アプリケ...
-
Excelでフィルタをかけると警告...
-
オブジェクトが見つかりません
-
EXCEL VBA オートシェイプナン...
-
VBAからPDFファイルにパスワー...
-
VBAで Set wb = Sheets(1).Cop...
-
ある文字列が全て数字であるか...
-
PowerPointVBAでスライドマスタ...
-
[VBA]CDOメッセージ送信エラー
-
AccessVBAで「dim dbs as datab...
-
VBAで作成するメール(開封確認...
-
VBからPDFファイル自動生成...
-
上下の位置揃えについて
-
ExcelVBAでのNZ関数について
-
テキストボックス中の文字列の...
-
エクセルマクロエラー「'Cells'...
おすすめ情報