工程管理票(一品一様)を自動作成(印刷込み)したいのですが、
複雑で困っていますので教えてください。

下記3点の情報を基にしたいと考えています。
動作のイメージは③の中に書いています。

①「工程表作成予定機種データ(受注データ)」
・機種名
・台数
・注文NO
・納期
上記情報が横軸で入力されているデータ。
縦軸は約100件ほど。
(この100件を100枚の工程管理票に出力したい)

②「機種の工程情報マトリックス表」
縦軸に、全工程(20項目)があり、
横軸に機種名。
機種によって、全行程中、5~10工程ある。
表の中の機種の該当工程の部分に「1」が記入されている。
(必要に応じて、縦軸と横軸は変更可能)

③「工程管理票フォーマット」
用紙の上部は、機種名、台数、注文NO、納期を自動で①の最上行から転記し、
下部は、上半分の「機種名」に対応する②の表から
該当する工程(「1」が入力されている工程)のみ抽出して、
行を積めて配置(転記)し、その機種のフォーマットが完成したら、印刷。
次は①の次の行の分を処理、以降はループし、
①の約100件全てが処理出来たら終了

以上、よろしくお願いいたします。

A 回答 (1件)

ここでは、回答は無理でしょう。

VBAを理解している人に直接聞きましょう。
    • good
    • 0
この回答へのお礼

そうですか・・・
同僚に個別の動きは教えてもらえたのですが、それを繋げて使用できるようになるまで
詳しくなかったので。
他の掲示板でも質問してみます。

お礼日時:2017/06/19 12:33

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

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

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

Qアンドロイドでメールが自動で受信されない

こんにちは。わたしはエクスペリアのso-02Eを使っており、契約は格安スマホなのでメールアドレスは割り当てられたプロバイダのメールアドレスを使用しています。
Eメールの設定は、通信会社の設定の仕方のページを何も間違うことなく忠実に設定し、実際、メールの送信はできるし、受信も一応できます。
ただ問題は、メールが自動で受信されないこと。通知音ももちろんなりません。Eメールの設定のときに、「15分おきにメールを確認する」に設定したのに、初めの頃、新着メールを一時間も気付かず(手動で更新するまで)放置していたのでびっくりしました。
今は、仕方が無いので定期的に手動で更新してメールをチェックしています。

「設定」画面で、アカウントのEメールの「同期」はもちろんしています。自動同期もオンにしているのに、それでも「最後の同期」時間を見ると、全然15分毎ではありません。最後に手動で同期させた時間なのです。
たまに、Eメールを開くと受信トレイではなく設定画面が出てくることがしばしばあり、その際、「Eメールは証明書を要求しました」と出ます。「証明書を選択」をおし、「インストール」を押しても、「SDカードに見つかりません」と出ます。SDカードは入れているのに。
それと、「設定」から手動で「同期」させたあと、Eメールを開くと「接続に失敗しました」と出ることがあります。でも、手動で「更新」すれば問題なくメールの受信ができるので、接続エラーではないと思うんです。

プロバイダのメールって、着信の通知って受けられないんでしょうか? じゃあ何のために「受信確認頻度」という設定があるのでしょう??
全く意味がわかりません。いちいち手動でチェックするのはうんざりです。会社に問い合わせているのですがちっとも回答が無いのでここでも質問させていただきました。

よろしくお願いします! ちなみにグーグルアカウントは全て同期をオフにしています。このせいでしょうか? Gメールも使わないし、ほかのサービスも関係なさそうなのでオフにしています。
あと、ドコモのガラケーへのメールが全て文字化けしちゃったのですが、その理由ももしわかったら教えて下さい。大文字などができる書式設定はオフにしてもダメでした。

こんにちは。わたしはエクスペリアのso-02Eを使っており、契約は格安スマホなのでメールアドレスは割り当てられたプロバイダのメールアドレスを使用しています。
Eメールの設定は、通信会社の設定の仕方のページを何も間違うことなく忠実に設定し、実際、メールの送信はできるし、受信も一応できます。
ただ問題は、メールが自動で受信されないこと。通知音ももちろんなりません。Eメールの設定のときに、「15分おきにメールを確認する」に設定したのに、初めの頃、新着メールを一時間も気付かず(手動で更新...続きを読む

Aベストアンサー

設定→データ使用 の画面でメニューを開き
「データの自動同期亅という項目にチェックが入っているか
確認してみて下さい。


これが自動同期のマスタースイッチで、OFFだと全ての同期が
手動になります。

Q工程表作成 Word

Wordで工程表を作成したいのですが、
工程の線がうまく書けません。。。
一項目に2本線を書きたいのですが、
幅がバラバラになってしまいます。
20項目位すべて同じ幅で線を書きたいのですが、
どうすればキレイにできますか???

Aベストアンサー

幅が同じならコピーしたほうが早いのでは?
後で位置を正しい位置に移動すればいいと思います。
微調整はCtrlキーを押しながら矢印キーで移動します。

既に引かれている場合はオブジェクトの選択(白い矢印)で
同じ幅にする線分をすべて囲って選択
右クリックで「オートシェープの書式設定」の「サイズ」タブで
「幅」のサイズを揃えてください。

Qフリックでなくタップで画面スクロールできないか?

Android(アンドロイド)のスマートフォンで、画面スクロールするのに、指を滑らせフリックするのが面倒です。画面上にボタンを配置し、それのタッチ(タップ)でスクロール可能にするアプリは無いですか?

Aベストアンサー

ブラウザでは「ガラパゴスブラウザ」が画面中央をタップすればスクロールする設定があったと思います。「Dolphin Browser Mini」は、横の音声+-ボタンで上下スクロールします。Twitterアプリのtwiccaもそうですね。

それぞれ、今使っているアプリの設定項目の中で出来るかどうかの確認。なければ他のアプリも試してみる。というところでしょうか?

QExcel2000でレーダーチャートの自動作成・Wordへの自動挿入は可能か

Excel2000、Word2000を使っています。
Excelで1行が1名のデータとなっています。列になっている10項目に対してレーダーチャートを作り、Wordに貼り付け、1人ごとに結果票を配りたいと思っています。
ただ、人数がおおいため、一人分ずつ(1行ずつ)レーダーチャートをつくり、貼り付けするのは避けたいと思っています。

Wordにテンプレートを作り、数値については差込しています。
レーダーチャートについてはリンクをかけるなど、差込印刷と同じようなニュアンスで作成することは出来ないのでしょうか。

Aベストアンサー

具体的になってきました。
Excelファイルのデータベース範囲はA~Wの23列で、1行目がヘッダ、2行目以下が1行ごとに1名のデータ、そして、その中のL~Uの10列がグラフチャートの範囲ということですね。
Word側に13列のテーブルがあるとします。行数は2で1行目はヘッダとし、Excelデータベースのヘッダとあわせます(A~K,V,W列)。
マクロは、A~K列がループでもいいのですが、Word側の12,13列目とExcel側のV,W列を対応させなければなりませんので、この部分はループからはずして、個別に記入します。また、Wordでのグラフの表示位置はShapesオブジェクトのTop,leftプロパティで操作します。
総合的に、次のようなマクロ例になります。

Sub Macro1()
Dim id As Integer
Set wkbObj = CreateObject("C:\My Documents\Book1.xls")
Set MySheet = wkbObj.Worksheets("Sheet1")
Set MyGpObj = MySheet.ChartObjects(1).Chart.SeriesCollection(1)
'On Error GoTo ERRHAND

With ActiveDocument
  id = .ScrollBar1.Value
  Application.ScreenUpdating = False
  For x = 1 To 11
   .Tables(1).Cell(2, x).Select
    Selection.TypeText Text:=MySheet.Cells(id, x).Value
  Next x
  .Tables(1).Cell(2, 12).Select
   Selection.TypeText Text:=MySheet.Cells(id, 22).Value
  .Tables(1).Cell(2, 13).Select
   Selection.TypeText Text:=MySheet.Cells(id, 23).Value
  .Shapes(2).Delete
MyGpObj.Values = "=Sheet1!R" & id & "C12:R" & id & "C21"
MySheet.ChartObjects(1).Copy
Selection.Paste
Selection.ShapeRange.LockAnchor = False
Selection.ShapeRange.WrapFormat.AllowOverlap = True
  With .Shapes(2)
    .WrapFormat.Side = wdWrapBoth
    .WrapFormat.Type = 3
    .ZOrder 5
    .Top = 50
    .Left = -180
  End With
Application.ScreenUpdating = True
Selection.MoveDown Unit:=wdLine, Count:=1
ERRHAND:
Set wkbObj = Nothing
Set MySheet = Nothing
Set MyGpObj = Nothing
End Sub

具体的になってきました。
Excelファイルのデータベース範囲はA~Wの23列で、1行目がヘッダ、2行目以下が1行ごとに1名のデータ、そして、その中のL~Uの10列がグラフチャートの範囲ということですね。
Word側に13列のテーブルがあるとします。行数は2で1行目はヘッダとし、Excelデータベースのヘッダとあわせます(A~K,V,W列)。
マクロは、A~K列がループでもいいのですが、Word側の12,13列目とExcel側のV,W列を対応させなければなりませんので、この部分はループからはずして、個別に記入します。また、Word...続きを読む

Qスマートフォン(アンドロイド)のアプリ、ベスト3を

使っているスマートフォン(アンドロイド)に入れているアプリのベスト3を教えてください。
出来ればホームアプリとタスク管理系以外でお願いします。

僕のは
BookmarkHome

HelloStatusBar。
指で上から下にスライドしなくてもショートカットをタップするだけでステータスバーを表示する。
片手で操作してるときに重宝する。

Quick Settings
各種設定の変更をするときに便利

です。

Aベストアンサー

一番良く使うのは、Googleの標準アプリだったりしますね。Googleマップとか、Google検索、Google音声検索、Google翻訳、そういったものです。これらがあるだけでAndroidを使う意味があるという感じです。特にマップのナビと音声検索は、一度使うと手放せないですね。

それ以外の、マーケットなどからダウンロードしていれてあるものだと。まず「Dropbox」。android、iphone、Windows、Macの間で簡単にファイル共有できるので、これはもう手放せないです。Evernoteでもいいんですが、こっちはデータ整理というニュアンスが強いですから。ネットワークボリュームとしてディスク感覚で使えるDropboxはとにかく使いやすい。

あとは、「Lookout」。バックアップ、ウイルスチェック、Androidの居場所検索などをまとめて提供してくれるアプリです。これは、とりあえずいれておけば安心という感じでしょうか。そんなに使いこなすようなものではないですが、Androidのウイルスなどもぼちぼち登場してきてますから、この種のセキュリティ関係は必須かと。

あとは、ちょっと特殊ですが「SL4A」。これはAndroidで動くスクリプトシェルです。Pythonというスクリプト言語でプログラムを書き、その場で実行できます。アンドロイド用に用意されたオブジェクトを利用することで入出力の簡単なGUIも使えるし、ちょっとした処理をスクリプトで書いて動かせるのはとにかく便利。iphoneじゃ絶対ありえないアプリですしね。

似たようなもので「BLOCCO」も楽しいですね。これもパーツを組み合わせて独自の処理を作れるアプリ。ただ、Android特有のインテント機能を利用して、非常に簡単にアプリどうしを関連付けて動かせます。「これこれしたら、自動的にこれこれする」的な処理を自分で作り登録しておけます。プラグインも色々出ているので、どんどんこれから拡張できそうで更に期待大。

一番良く使うのは、Googleの標準アプリだったりしますね。Googleマップとか、Google検索、Google音声検索、Google翻訳、そういったものです。これらがあるだけでAndroidを使う意味があるという感じです。特にマップのナビと音声検索は、一度使うと手放せないですね。

それ以外の、マーケットなどからダウンロードしていれてあるものだと。まず「Dropbox」。android、iphone、Windows、Macの間で簡単にファイル共有できるので、これはもう手放せないです。Evernoteでもいいんですが、こっちはデータ整理というニュ...続きを読む

Qピボットテーブルをマクロで作成したい

こんにちは。よろしくお願いします。
ピボットデーブルをマクロで作成したいのですが、条件がいくつかあり、それに沿ったものをどうすれば作成できるか教えていただきたいと思います。マクロは記録するものを使用する程度の初心者です。

<元データ>
A B C D E
1 生徒 科目 期末1 期末2 期末3・・・
2 花子 国語  20   30  50 ・・・
3 花子 英語  40   10  60 ・・・
4 花子 化学  10   20  50 ・・・
5 太郎 国語  10   20  50 ・・・
6 太郎 英語  40   30  50 ・・・
7 太郎 化学  50   70  80 ・・・
↓ ↓
<作成したいピボットテーブル>
     期末1    期末2   期末3・・・
    国語 英語 国語 英語 国語 英語・・・
 花子 20  40  30   10  50  60 ・・・
 太郎 10  40  20   30  50  50 ・・・

(1)既存の「結果」という名前のシートにピボットを作成したいです。
(2)期末1、期末2・・・のC列からのデータの列数は毎回違います。
(3)今回は国語、英語、化学のデータから国語と英語のデータを例にとりましたが、科目の種類も科目の数も毎回違います。生徒数も変わります。
別シート(シート名「結果」)のA列に、まとめる際に必要な科目名が入力されており、そことリンクさせてピボットを作成できたら、と思っています。(例 A1に国語 A2に英語と入力されていたら、上記の作成したいピボットテーブルのような形になる、というように)

どなたかお力を貸していただけますでしょうか。
よろしくお願いします。

こんにちは。よろしくお願いします。
ピボットデーブルをマクロで作成したいのですが、条件がいくつかあり、それに沿ったものをどうすれば作成できるか教えていただきたいと思います。マクロは記録するものを使用する程度の初心者です。

<元データ>
A B C D E
1 生徒 科目 期末1 期末2 期末3・・・
2 花子 国語  20   30  50 ・・・
3 花子 英語  40   10  60 ・・・
4 花子 化学  10   20  50 ・・・
5 太郎 国語  10   20  50 ・・・
6 ...続きを読む

Aベストアンサー

徒然なるままに作成してみました。シート名などご希望とは異なりますが、もし使ってみようという気になられたら、怪しげな英語で変数名をつけてありますので、参考にしていただき、ご自分で修正してください。
元データの変化への動的な対応がお望みなので、その分だけ分かりにくくなっているとは思います。
XL2000のコードですので、他の環境での動作は不明です。他の環境への対応、解説、メンテナンスはできません。
Sub test()
Dim columnIndex() As String
Dim targetRange As Range, destRange As Range, pivotRange As Range
Dim myRow As Range
Dim dataSheet As Worksheet, criteriaSheet As Worksheet
Dim tempSheet As Worksheet, pivotSheet As Worksheet
Dim i As Long, j As Long

With ThisWorkbook
'元データのシート、フィルタオプションの抽出条件のシート
Set dataSheet = .Sheets("Sheet1"): Set criteriaSheet = .Sheets("Sheet2")
'ピボット用に整形したデータのシート、ピボット出力用のシート
Set tempSheet = .Sheets("Sheet3"): Set pivotSheet = .Sheets("Sheet4")
End With
'フィルタオプションで、目的の科目のデータ以外を隠す
'抽出条件シートに A1 科目、A2 国語、A3 英語という様にいれておく。
Set targetRange = dataSheet.Range("a1").CurrentRegion
If dataSheet.FilterMode = True Then dataSheet.ShowAllData
targetRange.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
criteriaSheet.Range("A1").CurrentRegion, Unique:=False
'データベースのレコード形式のデータに整形
tempSheet.Cells.Clear
Set destRange = tempSheet.Range("a1")
ReDim columnIndex(1 To targetRange.Columns.Count - 2)
For i = 1 To targetRange.Columns.Count - 2
columnIndex(i) = targetRange.Cells(1).Offset(0, i + 1).Value
Next i
For j = 1 To targetRange.Rows.Count
Set myRow = targetRange.Rows(j)
If j = 1 Then
With destRange
.Value = myRow.Cells(1)
.Offset(0, 1).Value = myRow.Cells(2)
.Offset(0, 2).Value = "試験"
.Offset(0, 3).Value = "点数"
End With
Set destRange = destRange.Offset(1, 0)
Else
'隠されたデータは整形出力しない
If myRow.EntireRow.Hidden = False Then
For i = 1 To UBound(columnIndex)
With destRange
.Value = myRow.Cells(1)
.Offset(0, 1).Value = myRow.Cells(2)
.Offset(0, 2).Value = columnIndex(i)
.Offset(0, 3).Value = myRow.Cells(2 + i)
End With
Set destRange = destRange.Offset(1, 0)
Next i
End If
End If
Next j
Set pivotRange = tempSheet.Range("a1").CurrentRegion
Call makepivot(pivotRange, pivotSheet)
End Sub

Sub makepivot(dataRange As Range, destSheet As Worksheet)
Dim dataRangeAddress As String
Dim pivotTableName As String

pivotTableName = "ピボットテーブル1"
dataRangeAddress = dataRange.Parent.Name & "!" & dataRange.Address(ReferenceStyle:=xlR1C1)
destSheet.Activate
destSheet.Cells.Clear
destSheet.Parent.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
dataRangeAddress).CreatePivotTable TableDestination:=Range("A3"), _
TableName:=pivotTableName
With destSheet.PivotTables(pivotTableName)
.SmallGrid = False
.PivotFields("生徒").Orientation = xlRowField
.PivotFields("試験").Orientation = xlColumnField
.PivotFields("科目").Orientation = xlColumnField
.PivotFields("点数").Orientation = xlDataField
.ColumnGrand = False
.RowGrand = False
.PivotFields("試験").Subtotals = Array( _
False, False, False, False, False, False, False, False, False, False, False, False)
End With
End Sub
参考URL
http://pvttbl.blog23.fc2.com/

徒然なるままに作成してみました。シート名などご希望とは異なりますが、もし使ってみようという気になられたら、怪しげな英語で変数名をつけてありますので、参考にしていただき、ご自分で修正してください。
元データの変化への動的な対応がお望みなので、その分だけ分かりにくくなっているとは思います。
XL2000のコードですので、他の環境での動作は不明です。他の環境への対応、解説、メンテナンスはできません。
Sub test()
Dim columnIndex() As String
Dim targetRange As Range, destRange ...続きを読む

QPC連動タップを液晶テレビ周りの連動ON/OFF用途に使いたいのですが

PC連動タップを液晶テレビ周りの連動ON/OFF用途に使いたいのですが
テレビ周りのオーディオ・プレイヤーの自動電源ON/OFFにPC連動タップを使用して
自動ON/OFFと考えているんのですが、本来のPC用途とはかけ離れてますが
使用上問題はないでしょうか?

Aベストアンサー

問題はありません、構造上では普通のモノよりは性能が高いはずですから、
蛸足をしない限りは問題はありません。
自分もPCショップや量販店など、製造メーカーに問い合わせをした所では、
「問題は無い」との回答されました。

QWord2010 マクロでコメントを作成 へん!

Word2010 のマクロです。

コメントを作成するマクロを作りたかったので、Wordの編集中に
 「マクロの記録」 とした後でコメントを作成して、最後に 「記録終了」 を
クリックします。 (コメントとして入力したのは (10,20) という7文字です)
文字列の他の場所をマウスで選択して、いま作成したマクロを実行させると、
コメントボックスの中に

   { PAGE \# "ページ : '#'
  " }(10,20)

のように表示されてしまいます。
つまり、マクロを実行することでコメントは作成されたのですが、コメントとして
入力した内容の前に { PAGE ・・・ というじゃまな表示が入ってしまいます。

このじゃまな表示を(入力した内容ではない表示を)消すにはどうしたらいいのでしょうか。

ちなみに、上記の文字列を選択して 「コピー」 と 「貼り付け」 をしたら、
(10,20) だけしか貼り付けられませんでした。 
貼り付けられたのは実際に入力した分だけでした。 { PAGE ・・・ というじゃまな部分が
コピーされていなかったようでした。

さらにちなみに Word2003 で試してみたら、こちらは期待通り、 (10,20) とだけ表示され
ました、じゃまな部分は表示されませんでした。

よろしくお願いします。

Word2010 のマクロです。

コメントを作成するマクロを作りたかったので、Wordの編集中に
 「マクロの記録」 とした後でコメントを作成して、最後に 「記録終了」 を
クリックします。 (コメントとして入力したのは (10,20) という7文字です)
文字列の他の場所をマウスで選択して、いま作成したマクロを実行させると、
コメントボックスの中に

   { PAGE \# "ページ : '#'
  " }(10,20)

のように表示されてしまいます。
つまり、マクロを実行することでコメントは作成されたのですが、コメントと...続きを読む

Aベストアンサー

No.1の回答者です。

記録されたマクロは問題ないのですね。
私の環境はWord2010ではないので動作確認はできませんが、2010なら
コメント欄には、「コメント[頭文字+連番]:コメント文」で表示されて
いるはずですよね。
http://www.wanichan.com/pc/word/2010/07/18.html
コメント文の前の表示がおかしいようですね。

コメントを本文に表示するように切り替えても同じですか?
http://www.wanichan.com/pc/word/2010/07/21.html
この場合だと、「ユーザー名+日時」折り返して「コメントの追加:」の
ように表示されていると思います。

もしかしたら、このユーザー名および頭文字の取得に問題があるのかも。
オプションで再設定してマクロを実行してみてはいかが。
それでも問題があるなら、私には対処方法はわかりません。
マクロを使わなければ問題なくコメントが記載できるのなら、どこかに
問題があるのかもしれませんが、そこまで詳しくないのでわかりません。
他の回答者からのアドバイスを待つか、新規質問で具体的状況を説明し、
アドバイスを受けてみてください。

では、(-_=)/~~~

No.1の回答者です。

記録されたマクロは問題ないのですね。
私の環境はWord2010ではないので動作確認はできませんが、2010なら
コメント欄には、「コメント[頭文字+連番]:コメント文」で表示されて
いるはずですよね。
http://www.wanichan.com/pc/word/2010/07/18.html
コメント文の前の表示がおかしいようですね。

コメントを本文に表示するように切り替えても同じですか?
http://www.wanichan.com/pc/word/2010/07/21.html
この場合だと、「ユーザー名+日時」折り返して「コメントの追加:」の
ように表...続きを読む

Qタップに詳しい方 おおしえください。

自動機で下穴をあけた後タップをとうしました。バリが出たため ハンドドリルでタップをとうしたのですが、ネジ山が二重になったり、ハ゛リもでてしまいました、油を付けながら 逆回転させながら 慎重に入れ 軽く入ったつもりですが、だめです。どうしてですか、おしえてください。再、再、回答できる方おねがいします。

Aベストアンサー

acha51補足です

質問を読み返してみるとタップも自動機で切った後の事でしょうか。
出るバリは表面だったら先の回答のバリ取り
ねじ山のバリだったら、
・自動機のタップへたりの場合はタップを交換し新規にやり直しましょう
・制御プログラムの場合は回転数と送りの関係を見直しましょう。
・わずかな場合はsusなどの固い材料のボルトを2-3回通す
・多いバリだったら先の1-3番をタップハンドルで順に通す
  職人技ですのでトレーニングしてやります

いずれにしても材料と深さ、径くらいははっきり書いた方が良いでしょう

Qエクセルで自動入力をマクロで・・・(No.1798323の応用編)

応用が効かなくて申し訳ありません。
1798323で素敵なご回答をいただいたのですが、
状況が進展して変わってくるとVBAの書き換えがわからなくなりました。もう一度教えてください。

※変更点は、入力元がAI列、『入力先をQ~V列に限定』したい点です。

  Q    R    S    T   U V・・ AI
1 田中 鈴木 佐藤          山田
2 鈴木 山田              海岡
3 田中 佐藤              佐藤

というような表があり、T1に「山田」、S2「海岡」と、その行に関してAI列に新規の名前が入力されたときに自動入力することをVBAでどのように書けばよいのか、ご教授お願いいたします。
尚、3行目には「佐藤」さんがすでいるので入力不要です。
よろしくお願いします。

Aベストアンサー

No.11です。

> 重複チェック時のメッセージボックスが不要である場合、‥

単にメッセージを出さないようにする、っていうことですよね?
てっとり早いのは、

MsgBox myName & "さんは入力済ですよ!", vbInformation
  ↓
Exit Sub

に変えてください。
重複している場合は何もしないで処理を抜ける( Exit Sub ) ということです。
'----------------------
If WorksheetFunction.CountIf(Range(Cells(.Row, startCol), Cells(.Row, endCol)), myName) > 0 Then
  Exit Sub
'----------------------
★ ただし↑だけでは、
名前を上書きしようと思って 「3中田」 のように入力したけれど、中田さんはすでに入力済みの場合、入力元には 「3中田」 と数字が残ったままになります。
この数字を消して 「中田」 とだけにしたいなら、
'----------------------
If WorksheetFunction.CountIf(Range(Cells(.Row, startCol), Cells(.Row, endCol)), myName) > 0 Then
  If myChgFlag Then
    Application.EnableEvents = False
    .Value = myName
    Application.EnableEvents = True
  End If
'----------------------
としてください。この場合、Exit Sub は不要です。


ついでと言ってはナンですが‥
'---名前上書きのエラーチェック
の下に
myChgFlag = False
myErrFlag = False
の 2行がありますよね。

この 2行は不要といえば不要なんですが、入れるとしたらココではなく、
コードの 14行目
If Not IsNumeric(Left(.Value, 1)) Then
の前でした。
'----------------------
myChgFlag = False
myErrFlag = False
If Not IsNumeric(Left(.Value, 1)) Then
  myName = .Value
'----------------------
に変更してください。

No.11です。

> 重複チェック時のメッセージボックスが不要である場合、‥

単にメッセージを出さないようにする、っていうことですよね?
てっとり早いのは、

MsgBox myName & "さんは入力済ですよ!", vbInformation
  ↓
Exit Sub

に変えてください。
重複している場合は何もしないで処理を抜ける( Exit Sub ) ということです。
'----------------------
If WorksheetFunction.CountIf(Range(Cells(.Row, startCol), Cells(.Row, endCol)), myName) > 0 Then
  Exit Sub
'---------------...続きを読む


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

人気Q&Aランキング

おすすめ情報