A2からV500にデータが入っています。
すべてにデータが入るわけではなくて、
B列が空白セルの行は、非表示にして印刷をかけたいのですが、可能ですか?
うーん…うまく説明できないー。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

下記マクロでB列のセルが未入力の行は非表示になります。



標準モジュールに貼り付けます。
Public Sub GyoHihyoji()
Dim rw As Integer
Application.ScreenUpdating = False
For rw = 2 To 500
If Range("B" & rw) = "" Then
Rows(rw).EntireRow.Hidden = True
End If
Next
Application.ScreenUpdating = True
End Sub
    • good
    • 1
この回答へのお礼

うまく動いてくれましたー。
感激。
ありがとうございました。

お礼日時:2001/07/31 11:18

詳しい状態がいまいちつかめませんが、


印刷用にもう一つワークシートを作りNull列を除いてコピー
って言うのはどうでしょう?

見当違いなこと言ってたらゴメンナサイ
    • good
    • 0

ごめんなさい、VBでしたね。


エクセルと勘違いしました。
すみません。。。
    • good
    • 0
この回答へのお礼

そうでした(^v^')
またいつか…

お礼日時:2001/07/20 14:53

「オートフィルタ」でB列が空白のセルを非表示にして印刷するのではダメなんですか?


セルは非表示にしたくないのなら、「条件付き書式」でB列が空白の時は行の文字を白にしてみては?
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qテーブルリンク エクセルの4行目を先頭行にしたい

エクセルのデータをアクセスにテーブルリンクしたいのですが
エクセルの先頭行が4行目から始まります。
なおかつA1に文字が入ります。
(画像参照)

このエクセルデータをアクセスの
「テーブルのリンク」→ファイルを選ぶ
→ワークシートリンクウィザードが表示され、次のページに進み、
「先頭行をフィールド名として使う」にチェックを入れたいのですが、先頭行は4行目です。

この場合、どうすればエクセルの4行目を
アクセスのテーブルリンクの先頭行にできるのでしょうか?

エクセルのA1の文字を消去すれば自動的に4行目がアクセスで先頭行になりますが
エクセルの方は決まったフォーマットなのでA1の文字を消去することはできません。

ご回答よろしくお願いします。

Aベストアンサー

#1です

Excel ファイル側に手を入れられるのなら、#2さんの方がお勧めです。

なお、範囲名部分が行方向に増えるのなら、(Excel側で範囲を再設定)
何もせずに Access 側から変更を含めて値を得ることが出来るようですが、
列方向に範囲が広がった場合、 リンクの更新(RefreshLink)が必要みたいです。

嘘を言ってるかも知れないので、裏取りはしっかりとしてください。

QVB データテーブルA列とB列があった時、B列の1行目から1stepずつデータを入力していきたい

AddDataTableRowメソッドにて
1月として、A列は日付で先に31日分の行が作成されます。その際にB行はNothingで生成しました。
私は、A列はそのままでB列の1行目から1つずつ書き込んでいくコーディングが知りたいです。
現在はAddDataTableRowのためA列の最後の行の次の行が追加され入力されてしまいます。

Aベストアンサー

whereで列BがNothingだけにして、列AのMinの値を取得
列A指定して、狙い打ちでUpdate

Qエクセルで、条件を指定した行数のカウントについて

エクセルにて、条件に合致する行数のカウントを行うことは出来ますでしょうか。

添付画像のようなエクセルファイルにて、各日毎に「AAA」を含む行は何行あり、「BBB」を含む行は何行あるかをカウントしたいです。

添付のエクセルであれば、A列が「10月1日」でB列に「AAA」を含む行は○行という条件でカントが出来れば実現可能とは思いますが、
こういったカウントの仕方がそもそもエクセルで出来るのかどうか知りたいです。

もし、エクセル以外の方法で可能なのであれば、その方法も教えていただけるとありがたいです。

Aベストアンサー

SUMPRODUCT関数などを使った場合にはデータ数が多くなった場合には計算が重くなります。
作業列を使った方法がよいでしょう。
お示しのデータがシート1に有るとしてC列を作業列としてC2セルには次の式を入力して下方にオートフィルドラッグします。

=IF(A1="","",IF(COUNTIF(B1,"AAA*"),A1&"AAA",IF(COUNTIF(B1,"BBB*"),A1&"BBB","")))

次にお望みの表を別のシートに表示させるとしたら別のpシートのB1セルにはAAAと入力しC1セルにはBBBと入力します。
A2セルから下方には例えば10月1日からの日付を入力します。
B2セルには次の式を入力してC2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。

=IF($A2="","",COUNTIF(Sheet1!$C:$C,$A2&B$1))

QA列にB列の空白セル以外のセルの数だけ1から番号をふりたい。

A列にB列の空白セル以外のセルの数だけ1から番号をふりたい。

WIN7 Excel2007でマクロ作成中です。A列にB列の番号の入っているセル(空白セル以外の)の数だけ番号を入力したいのですが、下記コードで、うまく出来ません。どうしたらよろしいでしょうか。

Sub 行番号を入れる2()
Dim i As Integer
Dim fCnt As Long

'シートが保護されていたら保護を解除
If ActiveSheet.ProtectContents = True Then
ActiveSheet.Unprotect
End If
fCnt = WorksheetFunction.CountA(Sheets("一覧").Columns(2)) 'COUNTA関数でB列の入力セル数を求める。
For i = 1 To fCnt
Worksheets("一覧").Cells(i + 3, 1).Value = i
Next i
End Sub

Aベストアンサー

見出し:1行目
データ:2行目~~

'-------------------------------------
Sub test()
 Dim R As Long
 Dim No As Long

 ActiveSheet.Unprotect

 For R = 2 To Cells(Rows.Count, "B").End(xlUp).Row
   If Cells(R, "B").Value <> "" Then
     No = No + 1
     Cells(R, "A").Value = No
   End If
 Next R

 ActiveSheet.Protect
End Sub
'---------------------------------------------

Protectの引数は省略。
以上です。
 

Qテキストファイルから必要な項目(行)をエクセルの行に移行させるには

テキストファイルから必要な項目(行)をエクセルの行に移行させる簡単な方法を教えて下さい。
1テキスト=エクセルの1行

Aベストアンサー

コピーアンドペーストでうまくいく気がします。
テキストファイルを、ノートパッドなどで開いて、全文をコピーし、エクセルに貼り付けるだけです。エクセルは、左上端のセル一つだけが選択された状態にしておきます。複数のセルを選択しているとサイズが合わないと文句を言われるかもしれません。

Q空白と空白じゃないセルを判断するには?

いつもお世話になっております。

条件により別のセルへ文字列を入力するという物を組みたいのですが、あてはめるべき表現の仕方がわからなくて困っております。
例で申しますと、
D列とE列に文字列が入っていたり空白だったりするセルが存在します。
条件は
「D列に何かしらの文字列が入っていて(特に決まった形が無い)、E列は空白の時だけ、F列へ「■」と入力し、G列は空白とする。」
「それ以外の条件はすべて、F列は空白、G列には「□」と入力する」
と、いうようにしたいのですが、空白は
Dim i As Long
For i = 3 To Range("B65536").End(xlUp).Row
If Range("D" & i).Value = "" Then
のように表現すればよいのかと思ったのですが、
「空白ではない」場合の条件をどのようにすればよいのかわかりません。(その為、全文を作る段階へ進めておりません。)
  |D|E|F|G
1|あ| |■|
2|あ|え| |□
3| |か| |□
4| | | |□

「空白ではない」と判断するコードの書き方をお教えいただきたく、よろしくお願いいたします。
環境はWindowsXP、Excel2003です。

いつもお世話になっております。

条件により別のセルへ文字列を入力するという物を組みたいのですが、あてはめるべき表現の仕方がわからなくて困っております。
例で申しますと、
D列とE列に文字列が入っていたり空白だったりするセルが存在します。
条件は
「D列に何かしらの文字列が入っていて(特に決まった形が無い)、E列は空白の時だけ、F列へ「■」と入力し、G列は空白とする。」
「それ以外の条件はすべて、F列は空白、G列には「□」と入力する」
と、いうようにしたいのですが、空白は
D...続きを読む

Aベストアンサー

D列:入力あり、かつ、E列:未入力、→ F列:■
それ以外 → G列:□

'-------------------------------------------
Sub test()
 Dim i As Long
 For i = 3 To Range("B65536").End(xlUp).Row
   If Cells(i, "D").Value <> "" And Cells(i, "E").Value = "" Then
     Cells(i, "F").Value = "■"
     Cells(i, "G").Value = ""
   Else
     Cells(i, "F").Value = ""
     Cells(i, "G").Value = "□"
   End If
 Next i
End Sub
'---------------------------------------------

提示の表ではデータが一行目から始まってますが、
提示のコードでは、データが3行目から始まっているようになってますよ。
で、コードの方を尊重して、3行目からにしました。
以上、ここまで。

 

D列:入力あり、かつ、E列:未入力、→ F列:■
それ以外 → G列:□

'-------------------------------------------
Sub test()
 Dim i As Long
 For i = 3 To Range("B65536").End(xlUp).Row
   If Cells(i, "D").Value <> "" And Cells(i, "E").Value = "" Then
     Cells(i, "F").Value = "■"
     Cells(i, "G").Value = ""
   Else
     Cells(i, "F").Value = ""
     Cells(i, "G").Value = "□"
   End If
 Next i
End Sub
'----------------------...続きを読む

Qエクセルの行の幅について

 エクセルの行幅を立ち上げ時点から太くしたいと思います。
 エクセルの行の幅は、立ち上げると12.75という高さになっているようです。しかし、これでは少々見づらいので15くらいにしたいと思います。
 もちろん、「行の高さ」で変更できるのは分かるのですが、毎回、修正するのが煩雑です。従って、立ち上げた初期段階から行の高さを変更することはできないでしょうか。

Aベストアンサー

う~ん。

確か、エクセルの初期設定で変更できるのは、
「シート数」「フォントの書体」「フォントの大きさ」
くらいだったと思います。
行の幅を、立ち上げ時から指定の幅にする事は出来なかったような…。

私自身、エクセルを結構利用するのですが、行の幅を変更するときは、
「全選択(画面左上の行(1)の上、と列(A)の左、の長方形の部分をクリック)」して、
行(1)と、行(2)の間にある線をドラッグして一気に全ての行の幅を変えています。

もし、それすらも煩雑と感じるほどにエクセルを新規で立ち上げているのであれば、
以下の方法はどうでしょうか?

1.行の幅を15に設定した「白紙のエクセル」をデスクトップに保存する。
2.新規で利用したい場合は、1で保存したエクセルをデスクトップ上でコピー(Ctrl + C)&ペースト(Ctrl + V)
3.ペーストしたエクセル(白紙で行幅15)を立ち上げる。

こうすれば、毎回行幅を変更する事なく、立ち上げ時から行幅15のエクセルが使用できますよ♪

ただ、全選択して一気に行幅を変える前者のやり方の方が簡単な気もしますが…。(汗

う~ん。

確か、エクセルの初期設定で変更できるのは、
「シート数」「フォントの書体」「フォントの大きさ」
くらいだったと思います。
行の幅を、立ち上げ時から指定の幅にする事は出来なかったような…。

私自身、エクセルを結構利用するのですが、行の幅を変更するときは、
「全選択(画面左上の行(1)の上、と列(A)の左、の長方形の部分をクリック)」して、
行(1)と、行(2)の間にある線をドラッグして一気に全ての行の幅を変えています。

もし、それすらも煩雑と感じるほどにエクセルを新規で立...続きを読む

Qエクセル A1の値と同じ値の入ったB列のC列の計

A1=10 D1=37
B C
10 15
11 10
10 12
12 1
10 10
A1と同じ値をB列から探し其の行のC列の値の合計をD1に表示したいのです
ご教授ください

Aベストアンサー

数式でやったほうが簡単ですが ・・・
=SUMIF(B1:B5,A1,C1:C5)
または
=SUMPRODUCT((B1:B5=A1)*1,C1:C5)

どうしてもVBAでというなら
標準モジュールに
Function mySum(rCnd as range, vSelect as variant, rSum as Range) as variant
  dim nCount as Long
  nCount = rCnd.rows.Count
  if nCount <> rSum.rows.Count then
    mySum = "---"
  else
    dim vC, vS
    dim n as Integer, value
    vC = rCnd.value
    vS = rSum.Value
    for n = 1 to nCount
      if vC(n,1) = vSelect then
        value = value + vS(n,1)
      end if
    next
    mySum = value
  end if
end Function
D1セルに =mySum(B1:B5, A1, C1:C5) といった数式を記述
といった具合です … 簡易なエラーチェックしかしていません

数式でやったほうが簡単ですが ・・・
=SUMIF(B1:B5,A1,C1:C5)
または
=SUMPRODUCT((B1:B5=A1)*1,C1:C5)

どうしてもVBAでというなら
標準モジュールに
Function mySum(rCnd as range, vSelect as variant, rSum as Range) as variant
  dim nCount as Long
  nCount = rCnd.rows.Count
  if nCount <> rSum.rows.Count then
    mySum = "---"
  else
    dim vC, vS
    dim n as Integer, value
    vC = rCnd.value
    vS = rSum.Value
    for n = 1 to n...続きを読む

Qエクセルの行の幅がずれる

エクセルで表を作っているのですが
行の高さを25にして確かめてみると
どうしても24.5というように25の幅になっていません。
どうすればきっちり自分の設定した行の高さになるのでしょうか教えてください。
エクセルは2000を使っています。

Aベストアンサー

セルの高さの単位はなんでしょう?
ポイントという単位なのですが、1ポイントは約0.35mmでポイントは文字の大きさの単位と同じです。エクセルでは11ポイントの場合標準の高さが13.5、14ポイントでは17.5と変化します。
エクセルの標準フォントの高さを基準にしています。(これはオプションで変更できます。)

ピクセルと言う基準があって、これをポイントと言う単位に直しているので、25と言う端数のない数値にならない事がある。

例えば、幅はどうでしょう、これは標準フォントの文字数を表しています。(規定があるのですが省略)

と言う事で、出来ません。
25の右にあるピクセルと言う単位を基本に使うようにしたらいかがでしょう。
例えば列幅とも100ピクセルを選択するとセルは正方形になります。(ピクセルは列幅とも同じ物です。)
この併記はエクセル2000から始まったようですが。(単位が違うので、合わせるためみたいです。)

QA列にある文字データで△△を含むセルの値をB列に□□にして置き換えしたい

A列に文字データが100行まであります。
   A           B  
1 ミカンを食べた     ZZ
2 イチゴを食べた     XX
3 西瓜を食べた      YY
4 ミカンを捨てた     ZZ
5 西瓜を拾った      YY
6 ミカンを無くした    ZZ
7 西瓜を貰った      YY
8 イチゴをあげた     XX

それを表のようにB列(任意の列)に置き換えたいです。
イチゴを含むセルはB列にXXをミカンはZZみたいな感じです。
A列のセルには同じ文字列は(今のところ)含みません。
文字の一部を置き換えて変換し、それを繰り返すところまではできましたが、上記のことがができません。
VBAを使って一発で変換したいのですが教えていただけますでしょうか?

Aベストアンサー

こんな感じでよい?

Sub test()
Dim a
Dim b
Dim i, j
a = Array("ミカン", "イチゴ", "西瓜")
b = Array("ZZ", "XX", "YY")
For i = 0 To UBound(a)
For j = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If InStr(Cells(j, 1).Value, a(i)) > 0 Then Cells(j, 2).Value = b(i)
Next j
Next i
End Sub

参考まで


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報