Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


21308 / 76732 ←次へ | 前へ→

【60825】Re:[無題]
発言  kanabun  - 09/3/17(火) 9:43 -

引用なし
パスワード
   ▼新参者5 さん:

>>ファイルが4つあれば演算式の列は、D列、H列、L列、O列です。

ほんとにそうですか?
前に提示したCheckプログラムにちょっと追加したものです↓。
試してみてください。

Sub Test1b()
 Dim t As Long
 Dim w As Long
 Dim u As Long
 t = 4  'ファイル数
 u = 2
 For w = u To t * 4
   Debug.Print "w="; w, "u="; u, "(u+2)列="; AlphaCol(u + 2)
   u = u + 4
 Next
End Sub

Sub Test2b()
 Dim t As Long
 Dim w As Long
 Dim u As Long
 t = 4  'ファイル数
 For u = 2 To t * 4 Step 4
   Debug.Print "u="; u, "(u+2)列="; AlphaCol(u + 2)
 Next
End Sub

Function AlphaCol(i As Long) As String
 Dim n As Long, m As Long
 Dim ss As String
  n = (i - 1) \ 26       '上位 Alphabet
  m = (i - 1) Mod 26      '下位 Alphabet
  If n Then ss = Chr$(&H40 + n)
  AlphaCol = ss & Chr$(&H41 + m)
End Function

ファイルが4つのとき( t = 4のとき)
Sub Test1b() の結果は こうです。
w= 2     u= 2     (u+2)列=D
w= 3     u= 6     (u+2)列=H
w= 4     u= 10     (u+2)列=L
w= 5     u= 14     (u+2)列=P
w= 6     u= 18     (u+2)列=T
w= 7     u= 22     (u+2)列=X
w= 8     u= 26     (u+2)列=AB
w= 9     u= 30     (u+2)列=AF
w= 10     u= 34     (u+2)列=AJ
w= 11     u= 38     (u+2)列=AN
w= 12     u= 42     (u+2)列=AR
w= 13     u= 46     (u+2)列=AV
w= 14     u= 50     (u+2)列=AZ
w= 15     u= 54     (u+2)列=BD
w= 16     u= 58     (u+2)列=BH

(u+2)の 列は D,H,L,P ... と変化していますよ?
さらに、BH列までループしてますよ? ファイルは4つなのに??


>uの配列は貴殿がおっしゃる通りに組んだ場合、
>公式(演算式)を参照する列はズレないのですか?
ですから、正解の列番号の並びが D,H,L,P,X... であれば ズレは無いといえるし、
>>ファイルが4つあれば演算式の列は、D列、H列、L列、O列です。
であれば、 Step 4 のルールを途中で逸脱しているから、ズレは必ず生じると
いえます。
>
>まだ貴殿のマクロを実行していませんので何とも言えませんが・・・

>私が組んだVBAだと、U+2列の演算式の参照する列がズレる訳を
>できましたらお教え頂けないでしょうか。

何をどうやっているかについての説明が不十分ですので、「訳」はこちらでは
わかりません。
どうかステップ実行して 変数の変化と処理の流れをご自分でデバッグしてください

>
>更に質問させて頂きますと、
>Wは確かにいらない変数ですが、
>Wがあっても問題にならないのでは・・・

不要な変数は削除して、プログラムの可読性を高めるべきです。

可読性といえば、さんざん言われていることですが、
インデントをしっかりつけましょう。

0 hits

【60781】[無題] 新参者 09/3/14(土) 3:47 質問
【60782】Re:[無題] 横入り 09/3/14(土) 7:35 発言
【60807】Re:[無題] 新参者2 09/3/16(月) 14:42 発言
【60808】Re:[無題] kanabun 09/3/16(月) 16:36 発言
【60809】Re:[無題] 新参者3 09/3/16(月) 17:34 発言
【60811】Re:[無題] kanabun 09/3/16(月) 17:49 発言
【60813】Re:[無題] 新参者4 09/3/16(月) 18:04 発言
【60821】Re:[無題] 新参者5 09/3/17(火) 0:48 質問
【60825】Re:[無題] kanabun 09/3/17(火) 9:43 発言
【60829】Re:[無題] 新参者4 09/3/17(火) 13:47 お礼
【60830】Re:[無題] 新参者6 09/3/17(火) 14:08 発言
【60831】Re:全体の流れを確認しましょう kanabun 09/3/17(火) 14:24 発言
【60832】Re:全体の流れを確認しましょう kanabun 09/3/17(火) 15:00 発言
【60843】Re:全体の流れを確認しましょう 新参 09/3/17(火) 17:48 回答
【60844】Re:全体の流れを確認しましょう kanabun 09/3/17(火) 18:17 発言
【60810】Re:[無題] 新参者3 09/3/16(月) 17:39 発言

21308 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free