No.4ベストアンサー
- 回答日時:
こんにちは。
私は、For Each ~ In を別の使い方を考えるのは、もう少し、勉強なさったほうがよいと思います。通常は、Cells(x,y) のx,y 値をそのまま行数・列数だけインクリメントするだけです。
Sub OrthodoxPrc()
Dim rng As Range
Dim x As Long '列
Dim y As Long '行
Dim a As Variant
Set rng = Range("A1:D10")
For y = 1 To rng.Columns.Count
For x = 1 To rng.Rows.Count
a = Cells(x, y).Value
'a = rng.Cells(x, y).Value ''こちらの方がベター
Next
Next
End Sub
ただし、かなりイレギュラーな使い方ですが、配列を使った以下のような方法があります。いくつかのテクニックは、全体の理解が上がってから使ったほうがよいと思います。
Sub TestArray()
Dim rngValue As Variant '配列の確保
Dim v As Variant
rngValue = Range("A1:D10").Value
For Each v In rngValue
'処理
Next
End Sub
>運用で誤って変更される可能はあるでしょうか。
ここでいう運用の意味がはっきりとは分りませんが、他の設定で影響されるかという意味だするなら、それは、ありません。そのようなオプションは存在しません。
No.3
- 回答日時:
こんばんは。
無理やり順番を変えるとしたらFor Eachをあとひとつ入れ子にして。
--------------------------------------------
Sub test()
Dim Cnt As Long
Dim Rng1 As Range
Dim Rng2 As Range
For Each Rng1 In Range("A1:D10").Columns
For Each Rng2 In Rng1.Cells
Cnt = Cnt + 1
Rng2.Value = Cnt
Next Rng2
Next Rng1
End Sub
-------------------------------------------
上記は実行してみれば分かると思いますが
読み込む順番は、A1->A10->B1->B10->C1->C10・・・となりセルA1:D10にその順番が入ります。
また質問のような場合でその読み込み順が関係あるときは、For Eachはちょと使いにくいので、も少しVBAに慣れてから使った方がいいかもしれません。
以上です。
No.2
- 回答日時:
For Each で処理されるのはセルのIndex値の順番と思います。
A1->B1->C1->・・・IV1
A2->b2->・・・
Sub test01()
For i = 1 To 300
Cells(i) = i
Next i
End Sub
これはエクセルの深いところの決め事だと思いますので、できないと思います。
やるならプログラムFor Eachにしないで
Cells(i,J)を使えばどのようにでもできます。
Sub test02()
x = Array(1, 3, 5)
y = Array(3, 2, 4)
For i = 0 To UBound(x)
Cells(x(i), y(i)) = i
Next i
End Sub
c1に0、B3に1、D5に2をこの順序でセットできます。Array の中を変えれば自由自在です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Excel(エクセル) エクセルで書式設定とフィルタの組み合わせでうまく行かないのですが 4 2022/10/07 10:02
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Excel(エクセル) vbaで列幅について 1 2022/11/15 08:31
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Excel(エクセル) vba アクティブシートのA1セルの値を基準に複数のシートコピー&シート名を 6 2023/04/12 18:36
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
厳秘と極秘 機密と秘密 それぞ...
-
4桁の自然数nの千の位、百の...
-
■「見ざる、聞かざる、言わざる...
-
建制順とはどんな意味なんでし...
-
言葉の違いを知りたい
-
ScanSnapで取り込んだ画像の順...
-
「大吉」の次はなんでしょうか?
-
最近彼女と別れました。 僕が振...
-
LINE以外のSNSをしていない人を...
-
インスタのストーリーとか上げ...
-
インスタで、バグにより勝手に...
-
夫がSNSの女の子の投稿で、 い...
-
皆さんはインスタのストーリー...
-
皆さんは別れた交際相手のスト...
-
女性の方に質問です。インスタ...
-
男性って自分から振った元カノ...
-
お相手は女性です。インスタで2...
-
あまりインスタに投稿やストー...
-
男性の方に質問です Instagram...
-
インスタのdm既読つけずに見る...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CDを焼いたら曲の順番バラバラ...
-
言葉の違いを知りたい
-
4桁の自然数nの千の位、百の...
-
サイン会の所要時間
-
■「見ざる、聞かざる、言わざる...
-
【ポケモンsv】エリアゼロの脱...
-
建制順とはどんな意味なんでし...
-
宇宙少女ってXとかインスタやっ...
-
ScanSnapで取り込んだ画像の順...
-
「大吉」の次はなんでしょうか?
-
男性の皆様 子持ちの方へ 仕事...
-
AVのオチ
-
手塚治虫先生の火の鳥を全巻そ...
-
エクセル2003 VBA 変数 使用順...
-
地球上の人・皆、オギャーと生...
-
オバQの家族
-
CD-Rにコピー後、写真の順番が...
-
寄生獣の通常版と完全版、どち...
-
《A,B,Cの順に少なくなる》だと...
-
漢文の読む順番について
おすすめ情報