過去ログ

                                Page      80
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼Columns()を簡潔に記述するには  haru 02/8/29(木) 11:34
   ┣Re:Columns()を簡潔に記述するには  りん 02/8/29(木) 11:41
   ┃  ┗Re:Columns()を簡潔に記述するには  Jaka 02/8/29(木) 12:10
   ┃     ┗今後ともよろしくお願いします  谷 誠之 02/8/29(木) 15:08
   ┃        ┗こちらこそ、よろしくお願いします  Jaka 02/8/30(金) 13:33
   ┃           ┗Re:こちらこそ、よろしくお願いします  谷 誠之 02/8/30(金) 17:12
   ┣Re:Columns()を簡潔に記述するには  角田 02/8/29(木) 15:00
   ┃  ┗Re:Columns()を簡潔に記述するには  ゆと 02/8/29(木) 18:05
   ┃     ┗Re:Columns()を簡潔に記述するには  haru 02/8/29(木) 20:23
   ┗印刷タイトルのcolumnを簡単に設定するには  haru 02/9/14(土) 9:59
      ┗Re:印刷タイトルのcolumnを簡単に設定する...  つん 02/9/14(土) 10:38
         ┗Re:印刷タイトルのcolumnを簡単に設定する...  haru 02/9/14(土) 11:14

 ───────────────────────────────────────
 ■題名 : Columns()を簡潔に記述するには
 ■名前 : haru
 ■日付 : 02/8/29(木) 11:34
 -------------------------------------------------------------------------
    Columns("a:c")とするときに括弧内の値を数字で指定できればと、
思うのですが、簡潔に記述できません。
 1ならa、2ならb、・・・という風にしたいとき、どうされていま
すか?
 よろしくお願いします。
 いまは、chr、asc関数を使ってやっています。
 ───────────────────────────────────────  ■題名 : Re:Columns()を簡潔に記述するには  ■名前 : りん <rin_doggie@hotmail.com>  ■日付 : 02/8/29(木) 11:41  -------------------------------------------------------------------------
   haru さん、こんにちわ。

> Columns("a:c")とするときに括弧内の値を数字で指定できればと、
>思うのですが、簡潔に記述できません。
> 1ならa、2ならb、・・・という風にしたいとき、どうされていま
>すか?

たとえばこんな方法

Sub test()
  With ActiveSheet
   MsgBox .Range(.Columns(1), .Columns(3)).Address
  End With
End Sub
 ───────────────────────────────────────  ■題名 : Re:Columns()を簡潔に記述するには  ■名前 : Jaka  ■日付 : 02/8/29(木) 12:10  -------------------------------------------------------------------------
   > Columns("a:c")とするときに括弧内の値を数字で指定できればと、
>思うのですが、簡潔に記述できません。
> 1ならa、2ならb、・・・という風にしたいとき、どうされていま
>すか?

こんにちは。
こんなんじゃダメ?

a = 1
b = 2
Columns(a).Resize(, b - a + 1).Select


ゴミ
ここが、こんな風になっているとは、知りませんでした。
書き込みに何度も拒否されて「ちょぉっとー...。」てな気分でした。
 ───────────────────────────────────────  ■題名 : 今後ともよろしくお願いします  ■名前 : 谷 誠之 <tanitomo@vbalab.net>  ■日付 : 02/8/29(木) 15:08  ■Web : http://www.vbalab.net  -------------------------------------------------------------------------
   Jakaさん、
VBA質問箱主宰者の谷です。

>ゴミ
>ここが、こんな風になっているとは、知りませんでした。
>書き込みに何度も拒否されて「ちょぉっとー...。」てな気分でした。

おそれいりますが、なぜ、書き込みに何度も拒否されたのでしょうか。
もしよろしければ、教えてください。

質問箱 IV も始まったばかりで、まだいくつかの調整部分を残しております。
今後とも、どうぞよろしくお願いいたします。
 ───────────────────────────────────────  ■題名 : こちらこそ、よろしくお願いします  ■名前 : Jaka  ■日付 : 02/8/30(金) 13:33  -------------------------------------------------------------------------
   >おそれいりますが、なぜ、書き込みに何度も拒否されたのでしょうか。
>もしよろしければ、教えてください。
>質問箱 IV も始まったばかりで、まだいくつかの調整部分を残しております。
>今後とも、どうぞよろしくお願いいたします。


こんにちは。初めまして。[ハート]

谷さんとは、初めてですねぇ!
こちらこそ、よろしくお願いいたします。
いつも気分で、勝手に書きこみして、済みません。

で、原因なんですが、私が説明書を読まずに今まで道理の方法で返信しようとしたからです。
何度も「パスワードが必要です。」と出たため何でいちいちパスワード書くの?
と、思い適当に一文字入れたんです(覚えてない。)が、また、パスワードを要求されました。
イラつきながら、文章を書きなおして、ジャンルアイコン表示てのを見つけたんで、もしかしてこれかなと、回答を選んで送信したら送信されたと言う事です。

尚、「てな気分でした。」って、一度も送る事が出来てないのに過去形で書いてますね!
こんな奴なんです。私は....。[チョキ]
 ───────────────────────────────────────  ■題名 : Re:こちらこそ、よろしくお願いします  ■名前 : 谷 誠之 <tanitomo@vbalab.net>  ■日付 : 02/8/30(金) 17:12  ■Web : http://www.vbalab.net  -------------------------------------------------------------------------
   Jakaさん、谷です。

>こちらこそ、よろしくお願いいたします。
>いつも気分で、勝手に書きこみして、済みません。

いえいえ、こちらこそ、よろしくお願いいたします。

>で、原因なんですが、私が説明書を読まずに今まで道理の方法で返信しようとしたからです。
>何度も「パスワードが必要です。」と出たため何でいちいちパスワード書くの?
>と、思い適当に一文字入れたんです(覚えてない。)が、また、パスワードを要求されました。
>イラつきながら、文章を書きなおして、ジャンルアイコン表示てのを見つけたんで、もしかしてこれかなと、回答を選んで送信したら送信されたと言う事です。

いくつか機能を追加しましたからね。
エラーの場合は、エラーの原因が画面に表示されますので、まずはそれをお読みくださいね。(パスワードは、削除するためのパスワードです)
 ───────────────────────────────────────  ■題名 : Re:Columns()を簡潔に記述するには  ■名前 : 角田  ■日付 : 02/8/29(木) 15:00  ■Web : http://www.h3.dion.ne.jp/~sakatsu/index.htm  -------------------------------------------------------------------------
   こんにちは。
>いまは、chr、asc関数を使ってやっています。
それをユーザー定義関数にしておけば良いんじゃないですか?
そうすれば
 Columns(xxxx(1) & ":" & xxxx(3))
とか
 Columns(yyyy(1,3))
とかいう風にできますよ。

興に乗って作ってみました(kt関数アドインV2.60に収録します)。
双方向変換です(256→"IV" / "IV"→256)
[数値→文字]の場合だけ、第2prmで範囲指定できます( (2,3) → "B:C" )

Public Function ktColumnChar(ByVal Num_Char As Variant, _
               Optional ByVal Num2 As Variant) As Variant
Dim i As Integer
Dim j As Integer
Dim k As Integer
If IsNumeric(Num_Char) Then
  If (Num_Char >= 1) And (Num_Char <= 256) Then
    i = (Num_Char - 1) \ 26
    j = ((Num_Char - 1) Mod 26) + 1
    If (i = 0) Then
      ktColumnChar = Chr(j + 64)
    Else
      ktColumnChar = Chr(i + 64) & Chr(j + 64)
    End If
  Else
    ktColumnChar = CVErr(xlErrValue)
    Exit Function
  End If

  If Not IsMissing(Num2) Then
    If IsNumeric(Num2) Then
      If (Num2 >= 1) And (Num2 <= 256) Then
        If (Num_Char <= Num2) Then
          i = (Num2 - 1) \ 26
          j = ((Num2 - 1) Mod 26) + 1
          If (i = 0) Then
            ktColumnChar = ktColumnChar & ":" & Chr(j + 64)
          Else
            ktColumnChar = ktColumnChar & ":" & Chr(i + 64) & Chr(j + 64)
          End If
        Else
          ktColumnChar = CVErr(xlErrValue)
        End If
      Else
        ktColumnChar = CVErr(xlErrValue)
      End If
    End If
  End If
Else
  If (Len(Num_Char) = LenB(StrConv(Num_Char, vbFromUnicode))) Then
    Select Case Len(Num_Char)
     Case 1
      k = Asc(Num_Char)
      Select Case k
       Case 65 To 90: ktColumnChar = k - 64
       Case 97 To 122: ktColumnChar = k - 96
       Case Else: ktColumnChar = CVErr(xlErrValue)
      End Select
     Case 2
      k = Asc(Left(Num_Char, 1))
      Select Case k
       Case 65 To 90: i = k - 64
       Case 97 To 122: i = k - 96
       Case Else
        ktColumnChar = CVErr(xlErrValue)
        Exit Function
      End Select
      k = Asc(Right(Num_Char, 1))
      Select Case k
       Case 65 To 90: j = k - 64
       Case 97 To 122: j = k - 96
       Case Else
        ktColumnChar = CVErr(xlErrValue)
        Exit Function
      End Select
      ktColumnChar = (i * 26) + j
     Case Else
      ktColumnChar = CVErr(xlErrValue)
    End Select
  Else
    ktColumnChar = CVErr(xlErrValue)
  End If
End If
End Function
 ───────────────────────────────────────  ■題名 : Re:Columns()を簡潔に記述するには  ■名前 : ゆと  ■日付 : 02/8/29(木) 18:05  -------------------------------------------------------------------------
   こんにちは
とりあえず、すでに皆さんが答えておられるので、不要かとも思いますが。

Sub test()
Dim i%,j%
i% = 1
j% = 3

  Range(Columns(i%),Columns(j%)).Select

End Sub

という形でいかがでしょうか?
 ───────────────────────────────────────  ■題名 : Re:Columns()を簡潔に記述するには  ■名前 : haru  ■日付 : 02/8/29(木) 20:23  -------------------------------------------------------------------------
    みなさん、色々ありがとうございます。
 うまくいきました。
 重ねて、お礼申し上げます。
 ───────────────────────────────────────  ■題名 : 印刷タイトルのcolumnを簡単に設定するには  ■名前 : haru  ■日付 : 02/9/14(土) 9:59  -------------------------------------------------------------------------
    印刷時の見出し(印刷タイトル)をマクロで記録したら、

  With ActiveSheet.PageSetup
    .PrintTitleRows = "$1:$3"
    .PrintTitleColumns = "$A:$C"
  End With

 という風になりました。
 rowの方は、簡単に3の部分を変数にできるんですが、
 columnの方も1〜3を数字で指定できる方法はないでしょうか?
 今は、数字をchrで変換しています。
 よろしくお願いします。
 ───────────────────────────────────────  ■題名 : Re:印刷タイトルのcolumnを簡単に設定する...  ■名前 : つん <honey@sweetparty.ne.jp>  ■日付 : 02/9/14(土) 10:38  -------------------------------------------------------------------------
   おはようございます。

こんな感じ

Sub test()

  Dim C1 As Long
  Dim C2 As Long
  
  C1 = 2
  C2 = 3

  With ActiveSheet.PageSetup
    .PrintTitleColumns = ActiveSheet.Range(Columns(C1), Columns(C2)).Address
  End With

End Sub

PrintTitleColumnsのヘルプ(使用例)と、皆さんのこれまでの回答の合わせ技(?)で簡単に答えが出ましたよ♪
私もしたことなかったので、勉強になりました♪
 ───────────────────────────────────────  ■題名 : Re:印刷タイトルのcolumnを簡単に設定する...  ■名前 : haru  ■日付 : 02/9/14(土) 11:14  -------------------------------------------------------------------------
   ▼つん さん:
おはようございます。

>  With ActiveSheet.PageSetup
>    .PrintTitleColumns = ActiveSheet.Range(Columns(C1), Columns(C2)).Address
>  End With
 ありがとうございます。うまくいきました。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 80