Excel2000
Win2000です。
あるbook「A.xls」にある表「a」を「B.xls」にコピペ&行列反転するマクロを作っています。
A.xlsの表「a」のサイズが作成の都度変わるため、
B.xlsからサイズの取得をする為、
Workbooks.Open Filename:="A.XLS"
I1 = 1 ' 行数の取得
DO WHILE CELLS(I1,1).VALUE <> ""
I1 = I1 + 1
LOOP
I2 = 1 '列数の取得
DO WHILE CELLS(1,I2).VALUE <> ""
I2 = I2 + 1
LOOP
として、行と列の数を取得しています。
で、ここまで来てセルの範囲をどうやって指定していいのか分からなくなりました。
例えば、I2の値をExcelの列のアルファベット表記に変える等、
なにかいい方法はありませんか??
No.1ベストアンサー
- 回答日時:
う~ん。
列のアルファベットですか…。A~Zなのでchr関数で、数値を文字に変換すれば出来そうですね。
例えば、I2の値が1だったら(Aの値は65)CHR(64+I2)とすれば、”A”の文字が取得できます。
I2の値が26を超える場合は、数値を26で割って上位一桁と下位一桁で別々に文字を作る用にすれば、できるでしょう。
でも、range関数でこういう指定が出来ますが、こっちの方が簡単ですよ。
range(cells(1,1),cells(I1,I2)).・・・
で記述できますよ。
早速の返事ありがとうございます。
え゛っ!!
RangeってCellsが使えるんですか・・・
てっきりRange("A1:Z1")って言う使い方しかできないと
思っていました・・・
もう一度ヘルプをよく読んでみます。
どうも、ありがとうございました。
No.3
- 回答日時:
Sub hanten()
For m = 1 To 100
For n = 1 To 100
Sheet2.Cells(n, m) = Sheet1.Cells(m, n)
Next n
Next m
Sheet2.Activate
Cells.Select
Selection.Copy
Dim bookb As Excel.Application
Set bookb = New Excel.Application
bookb.Workbooks.Open ("c:\B.xls")
bookb.Visible = True
bookb.ActiveSheet.Paste
End Sub
見当違いかもしれないですが、・・・
範囲ぐらいは自分で考えてください。
もう少し手間かかります、それから
人それぞれですし。
ありがとうございます。
これだと、表のサイズが100x100で決まってしまいます。
又、シート全体のコピぺになってしまいますし、行列の反転をしている為、反転後の列の数が足らなくなってしまいます。
ただ、行が256迄しか使えない事に気が付きました。
No.2
- 回答日時:
下記が参考になれば。
(1)列指定
(2)行指定
(3)最下行、最右列がわかっているときのA1セルからの範囲指定
Sub test04()
i1 = 3: i2 = 4
Rows(1).Select
Columns(2).Select
Range(Cells(1, 1), Cells(i1, i2)).Select
End Sub
早速の返事ありがとうございます。
え゛っ!!
RangeってCellsが使えるんですか・・・
てっきりRange("A1:Z1")って言う使い方しかできないと
思っていました・・・
もう一度ヘルプをよく読んでみます。
どうも、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- Visual Basic(VBA) Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです 2 2023/03/05 02:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで、あるセルの値に応じて...
-
VBAを使って検索したセルをコピ...
-
B列の最終行までA列をオート...
-
Cellsのかっこの中はどっちが行...
-
エクセルVBAにて =A1=B1とすれ...
-
VBマクロ 色の付いたセルを...
-
エクセルVBA intersect colu...
-
Worksheets メソッドは失敗しま...
-
文字列の結合を空白行まで実行
-
エクセルVBA シートモジュール...
-
【補足欄が足りなかったため、...
-
VBA 値と一致した行の一部の列...
-
vba 2つの条件が一致したら...
-
マクロ 関数を使った抽出でエラ...
-
【VBA】2つのシートの値を比較...
-
C# dataGridViewの値だけクリア
-
エクセル VBA ユーザーフォー...
-
別シートから年齢別の件数をカ...
-
グリッドの列の最大値を求めたい。
-
VBAで条件から範囲を指定して色...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Worksheets メソッドは失敗しま...
-
Excelで、あるセルの値に応じて...
-
B列の最終行までA列をオート...
-
vba 2つの条件が一致したら...
-
Cellsのかっこの中はどっちが行...
-
VBAを使って検索したセルをコピ...
-
VBAのFind関数で結合セルを検索...
-
文字列の結合を空白行まで実行
-
IIF関数の使い方
-
【VBA】2つのシートの値を比較...
-
マクロ 最終列をコピーして最終...
-
Changeイベントでの複数セルの...
-
VBA 何かしら文字が入っていたら
-
URLのリンク切れをマクロを使っ...
-
エクセルVBAにて =A1=B1とすれ...
-
VBAでのリスト不一致抽出について
-
データグリッドビューの一番最...
-
マクロについて。S列の途中から...
-
VBA UserFormからの転記で
-
targetをA列のセルに限定するに...
おすすめ情報