目安箱 IV

目安箱投稿のルールはこちらをごらんください。
ご意見は電子メールで承っています。
「目安箱」は質問禁止です。技術的な質問はそれぞれの質問箱へどうぞ。

迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。

  新規投稿 ┃ツリー表示 ┃一覧表示 ┃トピック表示 ┃検索 ┃設定 ┃ホーム  
3 / 14 ページ ←次へ | 前へ→

【257】オートフィルタについて
Excel  mm  - 10/1/8(金) 9:02 -

引用なし
パスワード
   どうしてもわからなくて投稿しました

オートフィルタを使用して、末尾が偶数のものだけを抽出する方法ってあるんでしょうか?

A列
12345-100
4568-205
42563-526
41223-100
45612-705
456789123

上記のようなリストの末尾が偶数のものを(又は奇数のみ)、フィルタで抽出したいと思ってます

どうか、アドバイスお願いします
・ツリー全体表示

【255】Re:良く解らないSpecialCells
Excel  ponpon  - 09/12/5(土) 22:17 -

引用なし
パスワード
   2003でも確認できました。ので報告します。
・ツリー全体表示

【253】良く解らないSpecialCells
Excel  Jaka  - 09/12/3(木) 11:03 -

引用なし
パスワード
   ht tp://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=43413;id=excel
ここで、SpecialCellsの限界について、問いただしてみましたが
それ以外にも不可解なことがあるので一応掲載してみます。


例えば、下記模擬データ作成でデータ作成後、良く解らないSpcelを実行してみると、
何でこうなるの?
と、思う所があります。
範囲が複雑だとうまく行かない。
って事で、落ち着きそうですが。

by 97 or 2000 or 2002
(現在97が無いので下記状態で試してませんが、97の時に解った不具合なので、97も含むとしています。)


Sub 模擬データ作成()
Range("A1").Value = 10
For i = 1 To 12
  Range("A" & i + 1).Formula = "=A" & i & "+10"
Next
Range("A14:A23").Value = 1
Range("A24:A26").Formula = "=2*2"
Range("B1:B6").Value = 60
Range("B7:B10").Formula = "=1+10"
Range("B11:E19").Value = 100
Range("B20:G21").Formula = "=1+4"
Range("B22:G23").Value = 77
Range("D24:G24").Value = 77
Range("A24:C24").Formula = "=2*2"
Range("A25:I25").Formula = "=2*2"
Range("A26:C26").Formula = "=ADDRESS(ROW(),COLUMN(),4)"
Range("A28:D29").Formula = "=ADDRESS(ROW(),COLUMN(),4)"
Range("A31:C31").Formula = "=ADDRESS(ROW(),COLUMN(),4)"
Range("C1:D10").Formula = "=45"
Range("E1:G10").Value = 80
Range("G1").Formula = "=8/2"
Range("F11:F17").Formula = "=2*3"
Range("F18:F19").Value = 100
Range("G11:G19").Value = 100
Range("H1:H5,H21:H24").Value = 5
Range("H6:H8,H12:H20").Value = "ff"
For i = 1 To 24
  Range("I" & i).Formula = "=SUM(F" & i & ":H" & i & ")"
Next
Range("A2:A13,B7:B10,C1:D10,G1,F11:F17,B20:G21,A24:C26,D25:I25,A28:D29,A31:C31" _
    ).Interior.ColorIndex = 6
End Sub

Sub 良く解らないSpcel()
With ActiveSheet.UsedRange.SpecialCells(xlCellTypeFormulas)
  .Value = .Value
End With
End Sub
・ツリー全体表示

【251】Re:郵便番号から住所を表示させたい
全般  Jaka  - 09/11/19(木) 12:50 -

引用なし
パスワード
   ここは質問する場所じゃないから、ここに書いても
ほとんど返答される事はありません。
質問箱の方で、質問してください。
・ツリー全体表示

【250】郵便番号から住所を表示させたい
Excel  NK  - 09/11/16(月) 10:46 -

引用なし
パスワード
   ExcelVBAのユーザーフォームフォームのtextbox1に郵便番号を入力して、郵便番号変換ウイザードを利用して、Textbox2に住所を表示させたいのですが、どのようなプログラムになるのでしょうか。お教え下さい。
・ツリー全体表示

【249】VBエディタ上でのコメント&コメントブロ...
Excel  Jaka  - 09/11/6(金) 14:28 -

引用なし
パスワード
   このネタは、OfficeTanakaさんのところで見たのか、
日経PCで見たのか覚えてませんが、便利なので...。(思いつきで記載)

表示 → ツールバー → ユーザー設定
で、ショートカット メニューにチェックして、ショートカット メニューのツールバーを表示。

ユーザー設定のコマンドタブを選択。
編集の中に「コメントブロック、非コメントブロック」のボタンがあるので、
つまんで、先ほど表示させたショートカットメニューバーの
コードウィンドウ → コードエディタウィンドウ と、たどって好きな位置にドロップダウン。

これで、VBエディタ上の右クリックで、
コメントブロック、非コメントブロックが楽にできるようになります。
・ツリー全体表示

【248】Re:ちょっと気になる現象5 シートモジュー...
Excel  ichinose  - 09/11/4(水) 8:18 -

引用なし
パスワード
   >'==============================================================
>Sub test2()
>  Dim ws As Worksheet
>  Set ws = Worksheets("sheet1")
>  'ws.変数 = "bbb"
>  'MsgBox ws.変数
>End Sub

Worksheetというクラスには、変数というメンバないので
コンパイルエラーが発生する。

又、Object型にすれば、メンバまでのチェックが出来ないの
コンパイルエラーにならない。

という道理はわかりますが、シートオブジェクトがカスタマイズ可能な仕様だと言うことは、念頭になかったのでしょうか?

そこでwsの変数の型をもっと詳細な型であるSheet1にすると、

Sub test4()
  Dim ws As Sheet1
  Set ws = Worksheets("sheet1")
  ws.変数 = "ddd"
  MsgBox ws.変数
End Sub

見事に作動し、これで道理も通ると納得したのですが・・・・。


似たようなことをThisworkbookでやってみると・・・・、

新規ブックにて

ThisWorkBookのモジュールに
Option Explicit

Public 変数 As String
とこれだけ


標準モジュール

'==============================================================
Option Explicit
'==================================
Sub test5()
  Dim nm As String
  nm = ThisWorkbook.Name
  Workbooks(nm).変数 = "aaa"
  MsgBox Workbooks(nm).変数
End Sub
'==================================
Sub test6()
  Dim nm As String
  Dim wb As Workbook
  nm = ThisWorkbook.Name
  Set wb = Workbooks(nm)
  wb.変数 = "bbb"
  MsgBox wb.変数
End Sub
'==================================
Sub test7()
  Dim nm As String
  Dim wb As Object
  nm = ThisWorkbook.Name
  Set wb = Workbooks(nm)
  wb.変数 = "bbb"
  MsgBox wb.変数
End Sub
'==================================
Sub test8()
  Dim nm As String
  Dim wb As ThisWorkbook
  nm = ThisWorkbook.Name
  Set wb = Workbooks(nm)
  wb.変数 = "bbb"
  MsgBox wb.変数
End Sub

今度は、test5〜test8まで全て正常にブックのプロパティを参照できてしまいます。

あれ、test6では、Workbookのメンバに変数はないからエラーになるはずじゃあ
なかったっけ?

どっちの仕様が正しいのかなあ・・・。

これは、コンパイラーのバグなのでしょうか?
対処法があるから、よいけど一貫性がないなあ
・ツリー全体表示

【247】ちょっと気になる現象5 シートモジュール...
Excel  ichinose  - 09/11/4(水) 7:54 -

引用なし
パスワード
   新規ブック(Sheet1というシートがある)にて、

Sheet1のモジュールに

'============================================================
Option Explicit
Public 変数 As String

'とこれだけ


標準モジュール

'==============================================================
Option Explicit
'==============================================================
Sub test1()
  Worksheets("sheet1").変数 = "aaa"
  MsgBox Worksheets("sheet1").変数
End Sub
'==============================================================
Sub test2()
  Dim ws As Worksheet
  Set ws = Worksheets("sheet1")
  'ws.変数 = "bbb"
  'MsgBox ws.変数
End Sub
'==============================================================
Sub test3()
  Dim ws As Object
  Set ws = Worksheets("sheet1")
  ws.変数 = "ccc"
  MsgBox ws.変数
End Sub


test1のように記述すると、正常に作動し、Sheet1のオブジェクトに追加した
変数 と言う名のプロパティの参照が出来ます。

ところが、Worksheets("sheet1") と何回も記述するのが面倒なので、
オブジェクト変数を介して、このプロパティを参照しようとして、

test2のように記述して実行すると(コメント化を外して実行)、

コンパイルエラー
メソッドまたはデータメンバが見つかりません。

というエラーメッセージが

ws.変数 = "bbb"

の箇所で表示されます。

対処方法は、test3のように変数の型をObjectに代えて実行すれば
(尚、test2のコメント化を外した箇所は、再度コメント化してから実行する)

正常に作動しますが・・・。

変数の型は、なるべく詳細に宣言するという記述を目にしますが、
それとは、矛盾する現象です。

不思議ではないですか?
・ツリー全体表示

【244】Unknown
全般  ellaelax-fi  - 09/4/28(火) 10:07 -

引用なし
パスワード
  
・ツリー全体表示

【243】日付を「2009/ 2/ 1」、「2009/12/31」のよ...
Excel  Jaka  - 09/1/21(水) 13:04 -

引用なし
パスワード
   どうしても日付を「2000/01/03」のように0を使ってでなく、
空白で「2000/ 1/ 2」のようにスペースで揃えたい場合、
表示形式の種類は、1種類ではすみませんです。
西暦が1〜3桁なんてのは、ほとんど使われないんじゃないかと、
勝手に想像しているので種類が1番少ないです。
(エクセルが認識できないし)

日付によっていちいち表示形式を変えるのが面倒だったら、
ループして1個1個マクロで設定するとか....。
これも面倒ですね。
年(和暦の場合)や月、日が1桁か2桁か判定して、それにあった文字をつなげて、
表示形式に反映させるだけなんだけど。

H 7. 2. 1 → g_0e._0m._0d
H 7. 2.20 → g_0e._0m.d
H 7.12. 1 → g_0e.m._0d
H 7.12.31 → g_0e.m.d
H22. 1. 7 → ge._0m._0d
H22. 1.10 → ge._0m.d
H22.12. 9 → ge.m._0d
H22.12.30 → ge.m.d

H 7/ 2/ 1 → g_0e/_0m/_0d
H 7/ 2/20 → g_0e/_0m/d
H 7/12/ 1 → g_0e/m/_0d
H 7/12/31 → g_0e/m/d
H22/ 1/ 7 → ge/_0m/_0d
H22/ 1/10 → ge/_0m/d
H22/12/ 9 → ge/m/_0d
H22/12/30 → ge/m/d

1995/ 2/ 1 → yyyy/_0m/_0d
1995/ 1/10 → yyyy/_0m/d
2008/12/ 9 → yyyy/m/_0d
2009/12/31 → yyyy/m/d

平成 7年 2月 1日 → ggg_0e"年"_0m"月"_0d"日"
平成 7年 1月30日 → ggg_0e"年"_0m"月"d"日"
平成 7年12月 9日 → ggg_0e"年"m"月"_0d"日"
平成 7年12月30日 → ggg_0e"年"m"月"d"日"
平成22年 1月 7日 → ggge"年"_0m"月"_0d"日"
平成22年 1月10日 → ggge"年"_0m"月"d"日"
平成22年12月 9日 → ggge"年"m"月"_0d"日"
平成22年12月31日 → ggge"年"m"月"d"日"
・ツリー全体表示

【242】Re:同一セル内で上書き計算
Excel  ponpon  - 08/9/28(日) 1:14 -

引用なし
パスワード
   質問はEXCEL質問箱の方へ
ht tp://www.vbalab.net/vbaqa/c-board.cgi?id=excel
・ツリー全体表示

【241】同一セル内で上書き計算
Excel  mj  - 08/9/19(金) 15:04 -

引用なし
パスワード
   たとえば
計算出力をA2にします
入力はA1にします。
そのときにA1に 3 と入力すれば
A2に 3 と出ますが
普通足し算だと別のセル使って
入力してそれぞれのセルを足し算すれば出ますが
それではなく
A1に上書きで 4 と打ち込めば
A2に 7 と出る方法ってないですか?お願いします!
・ツリー全体表示

【240】個々に選択されたセルの全体範囲
Excel  Jaka  - 08/7/19(土) 16:15 -

引用なし
パスワード
   Sub 個々に選択されたセルの全体範囲()
  Dim Rgst As String, i As Long
  Rgst = Selection.Areas(1).Address(0, 0)
  For i = 2 To Selection.Areas.Count
    Rgst = Rgst & ":" & Selection.Areas(i).Address(0, 0)
    Rgst = Range(Rgst).Address(0, 0)
  Next
  Range(Rgst).Select
  MsgBox Rgst
End Sub

尚、結合セルがあると選択したセルが自動で拡張され、
表示されたセル範囲と違う場合があります。
結合セルは無しと言う事でお願いします。
・ツリー全体表示

【239】Unknown
全般  kistov  - 08/6/12(木) 1:55 -

引用なし
パスワード
  
・ツリー全体表示

【238】Re:線をひく
Excel  tomo  - 08/6/6(金) 15:55 -

引用なし
パスワード
   jakaさん

すみませんっ、ありがとうございます。
・ツリー全体表示

【237】Re:R1C1方式
Excel  Jaka  - 08/6/6(金) 14:57 -

引用なし
パスワード
   ご質問は、エクセル質問箱の方にお願いします。
ht tp://www.vbalab.net/vbaqa/c-board.cgi?id=excel

で、R1C1方式って、
FormulaR1C1 プロパティ
RefersToR1C1 プロパティ
RefersToR1C1Local プロパティ
などで、主に書き込んだりする時に使うもの(多分)だから、
ご質問のような使い方は出来ないと思います。

"A1:I57"をR1C1方式で知りたいのなら、
MsgBox Range("A1:I57").Address(, , xlR1C1)
で、取れます。
・ツリー全体表示

【236】Re:線をひく
Excel  Jaka  - 08/6/6(金) 14:29 -

引用なし
パスワード
   ご質問は、エクセル質問箱の方にお願いします。
ht tp://www.vbalab.net/vbaqa/c-board.cgi?id=excel

で、
作る位置が同じなのは、
ActiveSheet.Shapes.AddLine(227.25, 1219.5, 314.25, 1259.25).Select
               ↑   ↑   ↑   ↑
で、固定しているからです。
上、右、高さ、幅、等は色々試して、どれがどこになるのかは色々試して
確認してください。
・ツリー全体表示

【234】R1C1方式
全般  やまね  - 08/6/5(木) 14:57 -

引用なし
パスワード
   Range("A1:I57").Select

R1C1方式であらわす時は
どうすればいいのでしょうか?
・ツリー全体表示

【233】線をひく
Excel  tomo  - 08/6/5(木) 13:11 -

引用なし
パスワード
   はじめまして。
Windows XPをつかっています。

まず、エクセルのマウスでクリックした位置にVBAで
線をひきたいのです。(斜線2本)

マクロで何本か線の開始位置を変えて試してみました。

Range("G" & sel & ":J" & (sel + 1)).Select
  行がかわるため、selという変数を使っています。

   
この文で、線を引き始める位置を指定していると思うのですが、

ちゃんとひきたい位置に線を描かず、マクロで試したセルにしか線を描きません。

クリックしたセルに斜線を2本ひいたあと、セル下に2重線をひく処理もしていますが、その2重線は、ちゃんとマウスでクリックしたセルにひかれます。

なぜでしょうか??
うまく書けませんが、どなたか指摘お願いします。
以下にソースを記載します。

  sel = ActiveCell.Row

  Range("G" & sel & ":J" & (sel + 1)).Select
  ActiveSheet.Shapes.AddLine(227.25, 1219.5, 314.25, 1259.25).Select
  Selection.ShapeRange.Flip msoFlipHorizontal
  ActiveSheet.Shapes.AddLine(265.5, 1197#, 275.25, 1204.5).Select
  Range("G" & sel & ":J" & (sel + 1)).Select
  Selection.Borders(xlDiagonalDown).LineStyle = xlNone
  Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  With Selection.Borders(xlEdgeLeft)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
  End With
  With Selection.Borders(xlEdgeTop)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
  End With
  With Selection.Borders(xlEdgeBottom)
    .LineStyle = xlDouble
    .Weight = xlThick
    .ColorIndex = xlAutomatic
  End With
  With Selection.Borders(xlEdgeRight)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
  End With
  Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
・ツリー全体表示

【232】Re:個人マクロブックについて
Excel  Jaka  - 08/3/27(木) 11:43 -

引用なし
パスワード
   質問は質問箱の方にお願いします。

個人用マクロブック(PERSONAL.XLS)をコピーして、別のPCの同じような場所に入れてやれば良いです。
別のPCにすでに同じ物がある場合は、独自のマクロが書かれている可能性があるので、コードだけコピペすれば良いです。
(注)これも同じプロシジャー名があるとまずいので確認すること。
尚、ツールバーとか使っていないとして。
使ってあるのならここに解り辛い文で少し
【57】ユーザー設定で作ったツールバーの添付について

Win2000の場合の場所
(フォルダオプションにて全てのファイルが見えるようになっていないと見えないと思う。)
C:\Documents and Settings\ログイン名\Application Data\Microsoft\Excel\XLSTART\PERSONAL.XLS
・ツリー全体表示

  新規投稿 ┃ツリー表示 ┃一覧表示 ┃トピック表示 ┃検索 ┃設定 ┃ホーム  
3 / 14 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:   
0
(SS)C-BOARD v3.8 is Free