- ベストアンサー
vba シートの選択後列の選択
VBA初心者中の初心者です。 vbaでシート全体を選択後、全シート共通でI列全体を選択したいのですが、 Worksheets.Select Columns("i:i").Select と書くと、なぜかB列からI列全体が選択されてしまいます。 I列だけ(全シート共通)を選択したいのですが、どのようにすればよいのでしょうか? よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
関連するQ&A
- vbaで全シートのある列のスペースを消したい
vba修行中の初心者です。 シートをすべて選んだ状態である列(ここではI列)を選び、セルの中のスペースをすべて消すということをしたいのですが、 Worksheets.Columns("i:i").Select.Replace What:=" ", Replacement:="", Matchbyte:=False にすると、コンパイルエラーが出ます。 どのように書き直せばよいのでしょうか? どうぞお助けください。 よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- VBA 複数シート選択について
Sub test() Dim i As Integer i = ActiveWorkbook.Worksheets.Count Worksheets(Array(2, i)).Select End Sub シート2とシートi の選択ではなく、2~iまでの複数シート を選択するにはどのように書くのかご教示下さい。
- ベストアンサー
- オフィス系ソフト
- Excel VBAで2~4列目の3行目以下を選択
Excel VBAで2列~4目の3行目以下すべてを選択する方法は、ないでしょうか? 2列~4目すべてを選択というのは、比較的簡単で、たとえば Sub 2to4 () Worksheets("Sheet1").Activate Columns("B:D").Select End Sub とでも書けばよいのでしょうが。 http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_cell.html 要はこれから3行目までを除外する方法があればいいわけですが、 そういう方法があったら教えてください。 今は、cells(2,1)から、cells(4,5000)までを選択といったように 原始的な方法でやってますが、この方法だと数字を大きくしすぎると 2003以前のバージョンでトラブり、数字を小さくしすぎると、選択しきれなかったりと…。 いろいろ不都合が多いので…。
- ベストアンサー
- その他MS Office製品
- エクセルVBA 別シート間の列のコピー&ペースト
列のコピー&ペーストができません。 i, j は変数で、Integerで定義しており、省略はしていますが、期待通りの値がi, j には代入されています。 Sheet1のi列からj列をコピーし、Sheet2のC列(これは固定)に貼り付けたいのですが、うまくいきません。 私の書いたコードは下記の通り。 下記は改行されていますが、実際のVBAでは1行で書かれています。 Worksheets("Sheet1").Range(Columns(i), Columns(j)).Copy Worksheets("Sheet2").Range(Columns("C")) 貼り付け先(Destination)の記述がいけないのでしょうか? 行き詰っておりますので、どなたかお助けください!
- ベストアンサー
- その他(プログラミング・開発)
- Excelシートを複数選択するvbaについて
タイトルのvbaを作成していますが、インデックスエラーとなりうまく選択できません。 社員番号をシート名にしたシートが複数あります。 ここでは、2番目のシートから仮に060001~060100までとします。 (社員番号は6桁で整理しています。) 1番目のシートには、別途、条件に一致した社員番号リストを作成しています。 (シート名が6桁のため、セルの書式設定で"000000"をしています。) A1=060002 A2=060005 A3=060088 この社員番号リスト(A1、A2、A3)に一致するシートを別ブックにコピーするのが目的ですが、まずは、選択するところから始めたところ、インデックスエラーにより選択できません。 シート名と配列にしたリストの型がよくないと思い、文字列に直すなどを試してみましたがうまくいかず、結局どのように直していいのかわかりませんでした。 ご教示いただけないでしょうか? よろしくお願いいたします。 以下に、実行したプログラムを記載させていただきます。 Option Base 1 Sub Sample() Dim Sh As Worksheet Dim ArrShName() As String Dim i As Long ReDim ArrShName(1) For i = 1 To 3 ReDim Preserve ArrShName(i) ArrShName(i) = Cells(i, 1) Next i ' Worksheets(Array("060002", "060005", "060088")).Select Worksheets(ArrShName).Select End Sub
- ベストアンサー
- Excel(エクセル)
- エクセルVBAで列の選択
VBAで通常は、Columns("D").Select でD列が選択されるはずですが、途中にセルが結合している個所があると、選択範囲の列が、すべての行で広がってしまいます。 手動で列番号をクリックするとD列だけの選択ができるのにVBAではなぜ出来ないのでしょう? どうコードを変えればいいのでしょうか? エクセル2000です。
- ベストアンサー
- オフィス系ソフト
- エクセルのブックを開く度にシートの列幅を指定したいのですが・・・
稚拙な質問お許しください。 エクセルでブックを開いたときに、すでにシートの列幅が任意の幅になっているよう、VBAで「ThisWorkbook」というところに、 Private Sub Workbook_Open() Sheet1.Columns("a:a").Select Selection.ColumnWidth = 7 Sheet1.Columns("b:b").Select Selection.ColumnWidth = 8 Sheet1.Columns("c:c").Select Selection.ColumnWidth = 10 Sheet1.Columns("e:e").Select end sub といった感じで記述したのですが、「F8」キーで処理の過程をみながら追っていくとどうしても、Eの列を過ぎるとEの列だけでなくそれ以降の列も選択してしまい(シート上に表があるのですが、その表の1番最後の列までです。)、任意の幅に指定できないのですが、原因がよくわかりません。どなたか、お力添えください。
- ベストアンサー
- オフィス系ソフト
- エクセルVBAでエラーがでます。
エクセルで以下のようなVBAをつくりましたが Columns("B:C").Select でエラーがでます。 初歩的なことですが教えてください。 Sub Macro3() ' ' Macro3 Macro Worksheets(1).Copy before:=Worksheets(1) Worksheets(1).Activate Columns("B:C").Select Selection.Delete Shift:=xlToLeft Columns("C:L").Select Selection.Delete Shift:=xlToLeft Columns("H:H").Select Columns("L:AA").Select Selection.Delete Shift:=xlToLeft End Sub
- ベストアンサー
- オフィス系ソフト
- vba 離れた列を選択するには?
Range(Columns(5), Columns(10)).Select これだと5列目から10列目の全てが選択されてしまいます。 荘ではなく、5列目と10列目のみ選択状態にするにはどうすればいいでしょうか? 列はアルファベッドではなく数値で指定したいです。
- ベストアンサー
- Excel(エクセル)
お礼
n-jun様 ご回答ありがとうございました。 おっしゃるとおり、数枚の中の1枚のシートでセルが結合されているのが原因でした。 ありがとうございました。