Excel VBA質問箱 IV

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

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


10316 / 13646 ツリー ←次へ | 前へ→

【22516】列数を取得したいとき わだあつと 05/2/23(水) 11:22 質問[未読]
【22518】Re:列数を取得したいとき G-Luck 05/2/23(水) 11:27 回答[未読]
【22523】Re:列数を取得したいとき わだあつと 05/2/23(水) 13:19 質問[未読]
【22524】Re:列数を取得したいとき IROC 05/2/23(水) 13:23 回答[未読]
【22525】Re:列数を取得したいとき G-Luck 05/2/23(水) 13:48 回答[未読]
【22526】Re:列数を取得したいとき わだあつと 05/2/23(水) 13:59 お礼[未読]
【22527】Re:列数を取得したいとき MMX 05/2/23(水) 14:06 発言[未読]
【22528】Re:列数を取得したいとき わだあつと 05/2/23(水) 14:13 お礼[未読]

【22516】列数を取得したいとき
質問  わだあつと  - 05/2/23(水) 11:22 -

引用なし
パスワード
    こんにちは。

行数を取得したいときこう書きますよね。
 Dim n As Long
 n = ActiveSheet.Range("A65535").End(xlUp).Row

列数を取得したいときこう書けばいのでしょうか。
 Dim n As Long
 n = ActiveSheet.Range("IV1").End(xlRight).Column

どなたかご教授ください。

【22518】Re:列数を取得したいとき
回答  G-Luck  - 05/2/23(水) 11:27 -

引用なし
パスワード
   ▼わだあつと さん:
> こんにちは。
>
>行数を取得したいときこう書きますよね。
> Dim n As Long
> n = ActiveSheet.Range("A65535").End(xlUp).Row
>
>列数を取得したいときこう書けばいのでしょうか。
> Dim n As Long
> n = ActiveSheet.Range("IV1").End(xlRight).Column
>
>どなたかご教授ください。

いいと思いますよ。
一度、実行されてみて確認されたらいかがですか?

【22523】Re:列数を取得したいとき
質問  わだあつと  - 05/2/23(水) 13:19 -

引用なし
パスワード
   ▼G-Luck さん:

>一度、実行されてみて確認されたらいかがですか?
ためしているのですがエラーになってしまいます。
Columnを数える事はできないのでしょうか??

【22524】Re:列数を取得したいとき
回答  IROC  - 05/2/23(水) 13:23 -

引用なし
パスワード
   End(xlRight)
   ↑
   ?

【22525】Re:列数を取得したいとき
回答  G-Luck  - 05/2/23(水) 13:48 -

引用なし
パスワード
   失礼しました。
IROCさんのご指摘のとおり、
左右は、
End(xlToRight)
End(xlToLeft)
ですね。
Endのヘルプに載っていました。

【22526】Re:列数を取得したいとき
お礼  わだあつと  - 05/2/23(水) 13:59 -

引用なし
パスワード
   ▼G-Luck さん:
ありがとうございました。
  n = ActiveSheet.Range("A1").End(xlToRight).Column
で希望どおりになりました。

【22527】Re:列数を取得したいとき
発言  MMX  - 05/2/23(水) 14:06 -

引用なし
パスワード
   >「文字列のはいっている列の数」です。
>シートには、A1,B1,C1・・・・N1まで文字列が入っています。

横ヤリですいません(^^;
こんなのはいかがでしょうか?

'-----------------------------------------------------------
Sub AAA()
MsgBox "値のある列数は " & XXX & " 列あります"
End Sub
'-----------------------------------------------------------
Function XXX() As Integer
'-
Dim Ce As Integer 'Columnの最終端
Dim Ct As Integer '値のある列をカウント
'-
Ce = Range("IV1").End(xlToLeft).Column '列の最終端取得
Ct = 0
'-
Dim X As Integer '値の調査を行う列のcolumn
'-
For X = 1 To Ce '開始位置X=1は任意に
  If 1 <= Len(Cells(1, X).Value) Then '※値が必ず1行目にあると想定して Cells(1, X).value に
    Ct = Ct + 1 '値の長さが1以上あればCtに+1
  End If
Next
'-
XXX = Ct 'Sub AAAに結果を変えす
'-
End Function
'-----------------------------------------------------------

【22528】Re:列数を取得したいとき
お礼  わだあつと  - 05/2/23(水) 14:13 -

引用なし
パスワード
   ▼MMX さん:
ありがとうございます。
IV1をA1にしたら、解決しました。

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