• ベストアンサー

列の最大値を求め1をたす。

おねがいします。 エクセルでオーダー表をつくりました。 メニューシート 入力シート 明細転記シート とつくり メニューシートで「入力」ボタンを押すと明細転記シートのE列(オーダー番号)の最大値を探し、その値に 1 を足し「入力シート」のオーダー番号セルに代入したいと思ってます。 私なりにやってみたのですが うまくないです。 どうすればいいのでっしょうか?

  • K-19
  • お礼率35% (55/157)

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

質問の意味が良くわからない。 何が(どの点が)わからないのでしょうか。 >メニューシートで「入力」ボタンを押すと ボタンを押すと「何々させる」のは、VBAのイベントの考え(この件ではクリックイベント)でやる必要があるが、知っていて経験あるのですか。 >明細転記シートのE列(オーダー番号)の最大値 =MAX(明細転記!E:E)+1 >入力シート」のオーダー番号セルに 入力シート」のオーダー番号セルに、上記関数式を入れる。 VBAで入れても良いが、関数でもできる。 関数式は参照セルの値の変更に対し、普通は、即反応・再計算する のでイベントと組み合わせ無くてよいが、メニューシートの入力」ボタンを押した瞬間の状態で、計算されたデータが採れるという意味にはなる。

K-19
質問者

お礼

ありがとうございます。 情報が足りない中 的確な回答ありがとうございます。

その他の回答 (2)

回答No.3

オーダー番号が単純に+1ずつ増加すると仮定してお話します。 セルのどこかにオーダー番号を保持しておけば、 明細転記シートのE列(オーダー番号)の最大値を探すという処理は 省略できるのはないでしょうか?

noname#176215
noname#176215
回答No.2

> 私なりにやってみたのですが うまくないです。 その「やってみたもの」を提示されてはいかがですか? どこまでやってみて どこでつまづいたのかが分かれば 的確なアドバイス が付くと思います。

関連するQ&A

  • 別シートの行を選択し対象列を転記するマクロ

    シート2のA~F列までデータがあります。 行数は10,000行です。(月ごとに100行くらい追加されます。) A列は項目がNO.で半角数字が連番で入力されてます。 セルA2→1 セルA3→2 セルA4→3 . . . セルA10000→9999 セルA10001→10000 という感じです。 シート1の セルI9に番号を入力すると シート2のその番号の行のB~F列の値を シート1のJ9~N9列に転記したいです。 例えば シート1のセルI9に100と入力したら、 シート2のA列が100と入力されているセルはA101ですから 101行目となります。101行目の各列の値を転記します。 ↓ シート1のセルJ9にシート2のセルB101の値を転記 シート1のセルK9にシート2のセルC101の値を転記 シート1のセルL9にシート2のセルD101の値を転記 シート1のセルM9にシート2のセルE101の値を転記 シート1のセルN9にシート2のセルF101の値を転記 シート1もシート2もセルの書式設定は標準。 B,E,F列は半角英数字の組み合わせで C,D列は半角数字のみです。 たまにF列に空白がある行があります。 B,F列は数字のみの場合もあります。 B,C,D,F列は数字のみの場合 「数値が文字列として入力されています」 となっています。 マクロで行いたいのですが記述そのものを教えてください。

  • 画像が元のデータで、日付がA列に金額と件数が

    画像が元のデータで、日付がA列に金額と件数が D列に二段にわたり入力されています。 画像の元のデータ表から別シートの転記表に値を それぞれ計算して、転記していきたいのですが、 B列の番号が普通の番号と「★」番号に分か れているため日付ごと及び番号の種類ごとに SUMIF関数等で条件ごとに集計したいのです。 例えば、1月1日なら、通常番号(1と2)の金額を合計 して、25,000円にして転記表のB2に、件数はC2に 代入したいです。 さらに★1と★2の金額を合計して、40,000円を B3に、件数をC3に代入したいです。 転記表のスタイルはA列に日付(1/1から1/31) が入っています。B列に料金、C列に件数、いずれも二段書きです。 上段に通常番号、下段に★番号合計です。 元のデータと転記表の日付の合わせ方が分からないのと 番号の種類ごとに合計するSUMIF関数を教えてほしいです。 ちなみに日付は1月1日から1月31日まで入力されています。 お願いします.

  • Excel2003での改列方法

    こんにちわ。 私はWindowsXPのExcel2003のVBAでテキストファイル のデータ(カンマ区切り)を指定したセル列に代入 したいと思っているのですが、途中でセル列を変えたら データの続きから代入したいのですが上手くいきません。 この説明だと分かりづらいと思うので下記の例を見てください。 例) テキストファイルの中身: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, 11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,      :      ・ 90,91,92,93,94,95,96,97,98,99,100 セル列(B1:B10)に1~10の値を代入し、他のセル列(E1:E10)に11~20の値を,またその他のセルに30~のデータを10ずつ区切って代入したい考えています。下記のコードを実行したところ、 Do Until EOF(intFF) Line Input #intFF, tmp buf = Split(tmp, ",") Worksheets("sheet1").Range("B1:B10,E1:E10,H1:H10") = buf Worksheets("sheet1").Range("B1:B10,E1:E10,H1:H10") = WorksheetFunction.Transpose(buf) Loop Close #intFF 最初のB列にはきちんと代入されるのですが、E列では全てのセルに1が、H列にはB列の値(1~10)が代入されてしまいます。どうしたら良いのかお教え願います。

  • エクセル2013 マクロの最大値

    エクセル初心者です。セルをダブルクリックしたときに、最大値に+1の値をセルに自動入力したいのですが・・・。まず、シート1のC列とシート2のC列から最大値を探し、その値+1の数字を入力したいです。現在の時点で3、4、5の列にデータが入力されているのでC6をダブルクリックしたときに、マクロ実行されるようにしたいです。データは、増えていくのでC6は固定ではありません。C列の未入力のセルをダブルクリックしたときに、自動入力されるということです。 おわかりの方がいらしたら、ご教示お願いいたします。

  • エクセルでセル参照後数値で張り付けて保存

    いつも大変お世話になっております。 以前より画像の添付がうまくいかないので「お絵かき添付」にしましたがうまく表示されるか自信が無いので、出来るだけ文字で表現(質問)させていただきます。 試験結果を入力するシートがあり行方向に色んな特性データが入力されていきます。 B列にLOT No、E列とF列には別シートの毎回同じセルを使用する計算表の計算結果のセルの値を引っ張てきたいのです。 B列のLOT Noと計算シートに入力されたLOT Noが同じなら入力表のE列の最下行(最新データのセル)に計算結果のセルの値を参照させたいのです。 そこで入力表のE列にLOTが同じなら「=計算表のC35」(違えば空白)として下にコピーを取って、保存前にマクロでシート全体をコピし数値で貼り付けたら、と思ったのですがシート全体を数値化するとE列の参照の式も空白に変わってしまう事に気付きました。 また、試しにやってみたら非常に時間がかかって使えないことが判明しました。 E列、F列に参照で入力された値は保存前に数値化しないと次のLOTの計算結果の時には空白になってしまいます。 当方の実力ではここまで。 分かりにくいかもしれませんが何とかよろしくお願い致します。 別シートのいくつかの計算結果の平均や最大値等を入力表に転記していて失敗したのでその再発防止対策です。

  • エクセルでK列の最終行のセル値を指定のセルに・・・

    いつもお世話になっております。 5月に下記のコードを教えてもらい、簡単な改良や条件を追加しながら複数のシートに展開中なのですが新しいパターンが出たのでHELPです。 K列の最終行の値を同じ表のH6のセルに転記してそれを使って出た計算結果(セルH7)の値をH列の最終行のセルに転記したいのですが。 (具体的な列とセルはシートで変わる可能性があります) 下記のコードは別のシート(計算表)の特定(結果)のセルの値を指定した列に転記するコードでこれで何とかしようとしましたが歯が立たず。 なにとぞよろしくお願いいたします。 Option Explicit Sub Sample3()   Dim MyRange As Range  With ThisWorkbook   Set MyRange = _    .Sheets("入力表").Cells(Rows.Count, 5).End(xlUp)   MyRange.Offset(1, 0).Value = .Sheets("計算表").Range("J15").Value   MyRange.Offset(1, 1).Value = .Sheets("計算表").Range("J20").Value  End With End Sub

  • 異なる列のなかで最大値に色をつける

    「A1:A10の列の中で最大値に色をつける」だけであれば 書式設定 → 「セルの値が」「次の値に等しい」 を選択し、 「=MAX($A$1:$A$10)」とすれば、最大値に指定した色を付ける 事が出来ました。 これが「A1:A10とC1:C10とE1:E10の異なる3つの列の中で 最大値にのみ色をつける」となるとうまくいかなくなってしまいます。 調べたところ、「異なる列をを参照する場合はコンマで区切る」と ネットで見たので選択範囲の部分を 「=MAX($A$1:$A$10,$C$1:$C$10,$E$1:$E$10)」としてみたのですが うまくいきませんでした。 宜しくお願いいたします。

  • セルの書式が標準なのに文字列にできるのはなぜ?

    会社のシステムで吐き出したデータですが セルの書式設定が標準なのに文字列となっています。 マクロを利用して、あるセルの値を別セルへ転記すると、 数字は数値に変換され、先頭の0は消え、桁数が多いと指数表示になってしまいます。 会社のシステムが吐き出したエクセルはセルの書式が標準なのに 中の数字が文字列でいられるのが疑問です。 会社のシステムの吐き出したデータは Microsoft Excel 2.1ワークシートで 全てのセルの書式設定は「標準」です。 で例えば 12345678901234 は 12345678901234 と表示されていて 「数値が文字列として保存されています」 となっています。(先頭に ' は入っていません) 0101という値のセルでも 表示は0101ですが 「数値が文字列として保存されています」 となっています。(先頭に ' は入っていません) それらのセルの値をマクロとかで別セルに転記すると 転記先では1.23457E+13 と表示されてしまいます。 (0101は101になります。) まっさらなエクセルに自分で手入力すると ・セルの書式設定が標準だと 12345678901234 ↓ 1.23457E+13になります。 ・セルの書式設定が数値だと 12345678901234 ↓ 12345678901234 ・セルの書式設定が文字列だと 12345678901234 ↓ 12345678901234 (ただし 数値が文字列と保存されています と注釈有) なのに会社のシステムの吐き出しデータは セルの書式設定が標準なのにもかかわらず 12345678901234 ↓ 12345678901234 (ただし 数値が文字列と保存されています と注釈有) となっています。 手入力で書式設定が標準の状態でセルに12345678901234 と表示させるには先頭に ' をつける方法しか知りませんが ' が無いのに表示されています。 でもこの該当セルをマクロで別セル(書式設定:標準)に転記すると 1.23457E+13 となります。 またシステムが吐き出したエクセルの同じシート内に 以下のマクロで転記すると ↓ Sub 転記() 行 = 2 Do If Cells(行, 6).Value = "" Then Exit Do If Cells(行, 6).Value >= 10 Then Cells(行, 7).Value = Range("A2") Else Cells(行, 7).Value = Range("A3") End If 行 = 行 + 1 Loop End Sub ↓ このマクロだと A列~F列が書式設定が標準なのに文字列として表示されているのですが 転記先のG列が書式設定が標準であっても 12345678901234 (数値が文字列と保存されています と注釈有) と同じ状態のまま転記できます。 新しいBOOKのシート2に 会社の吐き出しデータをシートコピーした後、 (セルの書式設定:標準だが文字列で表示されている) そのBOOKに登録されているマクロで シート2のセルからシート1のセル(書式設定:標準)に転記すると 数字は数値に変換され、先頭の0は消え、桁数が多いと指数表示 となってしまいます。 ちょっと混乱しています。 理屈等教えていただければと思います。お願いします。

  • エクセルでセル内容を変更したら指定セルが転記される

    いつもお世話になております。 添付のような月々の出納の集計表で、C3(当該月)セルの月が変わったら、集計行(45行目)のE列、H列、J列の値を集計シートの当該月の行に転記したいのですが。 月の合計はSUM()で入っていますので値で貼りつける必要があります。 尚、シートは手入力セル以外は保護がかかっています。(念のため)

  • 転記 マクロ VBA

    VBA初心者です。今シートが2つあり、一つは「明細」シート、もう一つは「入力」シートです。明細シートは3万行程あり、列はA~Sまであります。入力シートも全く同じ列並びでA~Sまであります。共にA列が伝票No.という項目になっており、今このA列にどんどん伝票No.を入力していき、最後に転記ボタンを押して残りのB~S列を明細シートから一発転記できるマクロができないかと考えております。どなたか詳しい方教えて頂けないでしょうか。宜しくお願い致します。

専門家に質問してみよう