advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 48828 for A�����������������������... (0.009 sec.)
[[20040116152123]]
#score: 1420
@digest: f69a967620bba5966a3947acfda8e68d
@id: 4784
@mdate: 2004-01-16T08:56:30Z
@size: 3532
@type: text/plain
#keywords: datacnt (64570), 納a (19899), sheetname (15271), 数da (9131), 数a (8995), 行do (8179), 制ap (6272), 納sh (5599), 白? (5159), 大デ (3997), 示/ (3043), 示() (3016), 間= (2467), hidden (2145), 変数 (2039), 録日 (1807), 行中 (1804), 列d (1639), 明記 (1626), loop (1601), 日: (1560), entirerow (1558), 格納 (1486), while (1462), 非表 (1395), を格 (1337), ト番 (1320), 目以 (1313), displayalerts (1303), 左端 (1106), ー名 (1095), 名: (1084)
『下のVBAの説明していただけませんか』(VBAしりたい)
Sub 非表示() ' ' Macro1 Macro ' マクロ記録日 : 2003/7/1 ユーザー名 : A. ' Dim a Dim DataCnt Dim SHEETNAME ' Application.ScreenUpdating = False Application.DisplayAlerts = False SHEETNAME = Sheets(1).Name a = 5 Do While Sheets(SHEETNAME).Cells(a, "B").Value <> "" a = a + 1 Loop DataCnt = a - 1 a = 5 Do While DataCnt + 1 > a If Cells(a, "C").Value = 0 And Cells(a, "D").Value = 0 Then Rows(a).Select Selection.EntireRow.Hidden = True End If a = a + 1 Loop End Sub Sub 表示() ' ' Macro1 Macro ' マクロ記録日 : 2003/7/1 ユーザー名 : A. ' Dim a Dim DataCnt Dim SHEETNAME ' Application.ScreenUpdating = False Application.DisplayAlerts = False SHEETNAME = Sheets(1).Name a = 5 Do While Sheets(SHEETNAME).Cells(a, "B").Value <> "" a = a + 1 Loop DataCnt = a - 1 a = 5 Do While DataCnt + 1 > a If Cells(a, "C").Value = 0 And Cells(a, "D").Value = 0 Then Rows(a).Select Selection.EntireRow.Hidden = False End If a = a + 1 Loop End Sub ---- 【共通部分】 変数宣言。Variant型 Dim a Dim DataCnt Dim SHEETNAME マクロ実行中画面を更新しない Application.ScreenUpdating = False マクロ実行中のメッセージダイアログ表示を抑制 Application.DisplayAlerts = False 変数SHEETNAMEにシート番号1の名前を格納 SHEETNAME = Sheets(1).Name 変数aに 5 を格納 a = 5 SHEETNAMEシートのセル B5 以降が空白でない間は 変数 a に +1 Do While Sheets(SHEETNAME).Cells(a, "B").Value <> "" a = a + 1 Loop 変数DataCntに a - 1 を格納 DataCnt = a - 1 【非表示】 変数aに 5 を格納 a = 5 変数DataCnt+ 1 が 変数a より大きい間はDo Loop間を実行 Do Loop間=C列D列の5行目以降がともに「0(または空白?)」の時は その列を非表示に(行番号は変数a にてカウント) Do While DataCnt + 1 > a If Cells(a, "C").Value = 0 And Cells(a, "D").Value = 0 Then Rows(a).Select Selection.EntireRow.Hidden = True End If a = a + 1 Loop 【表示】 変数aに 5 を格納 a = 5 変数DataCnt+ 1 が 変数a より大きい間はDo Loop間を実行 Do Loop間=C列D列の5行目以降がともに「0(または空白?)」の時は 該当行の非表示を解除 (行番号は変数a にてカウント) Do While DataCnt + 1 > a If Cells(a, "C").Value = 0 And Cells(a, "D").Value = 0 Then Rows(a).Select Selection.EntireRow.Hidden = False End If a = a + 1 Loop 「シートは一番左端である」 「何らかのデータが5行目以降に入力されている」 「B列で最大データ数を求めることができる」 上記の条件を満たすシートで処理をする行数を求め、 「アクティブなシートのC5:Dnの範囲でデータが入力されている」シートで 「アクティブなシートのC列 D列の5行目以下のデータがともに 0(または空白)の行の表示/非表示を切り替える」 のを意図したマクロであると分析しますが、 最初の Do〜Loop ではシートを明記しているのに あとの方の Do〜Loop ではシートが明記されていません。 シートが複数あるブックで左端ではないシートがアクティブの状態で このマクロを実行した場合はアクティブなシートのほうに表示/非表示の 動作がかかるのでそれを意図しているかどうかは不明です。 (KAMIYA) ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/200401/20040116152123.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97012 documents and 608126 words.

訪問者:カウンタValid HTML 4.01 Transitional