以下でVBAでつくりたいのです。
もし、○○株式会社なら
納品書シートのK3のセルを選ぶ
その○○株式会社のなかでも○○センターの分なら
「NOなし」のメッセージと「○○セ)運賃出せ」のメッセージがでる
もし、NOが入っていなかったら、納品書をしたまま印刷
NOが入っていたら、印刷なしで、売上日報表のシートへ戻る
そこで私が手打ちでNOを消す作業をしたいと思います。
NOを手打ちで消したあと、手動で納品書シートに切り替えて納品書にある印刷ボタンをクリックして印刷(マクロボタンを納品書シートに作っています)
○○株式会社で○○センターの分でないなら、
NOが入っていたら、納品書の画面を表示したまま、印刷
NOが入っていなかったら、NO・確認のメッセージが出て、売上日報表シートへ戻る
そこで、私が売上日報表に手打ちでNOを入れる作業をしたいと思います。
NOが入ったら、納品書シートを私が手動でクリックするので、納品書シートにある印刷のマクロボタンをまた押すと印刷
○○株式会社でないなら、NOあるなしにかかわらず印刷
以上です。
○○センターの分はNOが入っていたら印刷、NOが入っていなかったら、メッセージが出て、売上日報表に戻り、印刷されないようになってしまいます。その逆になってほしいのですが、難しいです。
どうすれば、うまくいくのでしょうか?
手打ちの部分は構文は要りません。
下記は構文です。
Public Sub msgbox○○会社()
If Range("A5").Value = "○○会社" Then
Worksheets("納品書").Range("k3").Select
If Worksheets("納品書").Range("B17,B6") = "○○センター" Then
MsgBox "NOなし"
MsgBox "○○セ)運賃出せ"
If Worksheets("納品書").Range("k3").Value < 0 Then
'納品書画面を表示
Worksheets("納品書").Select
Else
Worksheets("納品書").Select
End If
Else
Worksheets("納品書").Select
End If
If Range("k3").Value > 0 Then
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True
Else
Worksheets("納品書").Select
msgBox "NO" & vbCrLf & "確認"
Worksheets("売上日報表").Select
End If
Else
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True
End If
End Sub
間違いはどこですか?
以下のようなSQL文を作成し、Oracle10gで実行したところ、正常に実行されていたのですが、同一のSQL文をOracle9iで実行したところ、
ORA-00905: キーワードがありません。
とエラーがでてしまいました。
merge文はOracle9iから追加された?ものだったと記憶しているですが、思い違いでしょうか?
それともOracle9i、Oracle10gで何か違いがあるのでしょうか?
Oracleのバージョンはそれぞれ以下の通りです。
Oracle10g:10.1.0.2.0
Oracle9i:9.0.1.1.1
よろしくお願い致します。
<やりたいこと>
A表のa列とb列が、B表のa列とb列と一致したものレコードのみ、B表のc列の内容にA表のc列をアップデートする。(インサートはしない)
merge into 表A A
using 表B B
on (A.a = B.a and A.b = B.b)
when matched then
update set A.c = B.c
/
はじめまして、いつもお世話になっています。
エクセルマクロ初心者です。
エクセルマクロで、ファイル(データ入力.xls)を開いた時に他のファイル(data.xls)を開く記述をしました。
エクセルの「ウィンドウ」では両方ともファイルが開いている状態になっていますが、パソコン画面下部のタスクバー(ツールバー?)にデータ入力ファイルしか表示されません。
dataファイルも表示させたいのですが、表示は可能ですか?
ちなみに、エクセルを起動させてから初めてファイルを開くと表示させず、エクスプローラやエクセルが起動している状態でファイルを開くと表示されます。
どう記述すれば確実に表示されますか?
どなたかご教授下さい。よろしくお願いします。
エクセル2003です。
--------標準モジュール----------------
Public myFile
Public myPath As String
Public myYNO(121795) As String
Public myYAD(121795) As String
Public myNO As String
Public myAD As String
Public KenData As String
--------This Workbook-----------------
Private Sub Workbook_Open()
Application.ScreenUpdating = False
myPath = ActiveWorkbook.Path
myFile = ActiveWorkbook.Name
Workbooks.Open Filename:=myPath & "\data.xls"
i = 0
KenData = myPath & "\ken_all.txt"
Open KenData For Input As #1
Do Until EOF(1)
i = i + 1
Input #1, myNO, myAD
myYNO(i) = myNO
myYAD(i) = myAD
Loop
Close #1
Workbooks(myFile).Activate
Sheets("menu").Select
Range("E2").Select
Application.ScreenUpdating = True
End Sub
はじめまして、いつもお世話になっています。
エクセルマクロ初心者です。
エクセルマクロで、ファイル(データ入力.xls)を開いた時に他のファイル(data.xls)を開く記述をしました。
エクセルの「ウィンドウ」では両方ともファイルが開いている状態になっていますが、パソコン画面下部のタスクバー(ツールバー?)にデータ入力ファイルしか表示されません。
dataファイルも表示させたいのですが、表示は可能ですか?
ちなみに、エクセルを起動させてから初めてファイルを開くと表示させず、エクスプローラやエクセルが起動している状態でファイルを開くと表示されます。
どう記述すれば確実に表示されますか?
どなたかご教授下さい。よろしくお願いします。
エクセル2003です。
--------標準モジュール----------------
Public myFile
Public myPath As String
Public myYNO(121795) As String
Public myYAD(121795) As String
Public myNO As String
Public myAD As String
Public KenData As String
--------This Workbook-----------------
Private Sub Workbook_Open()
Application.ScreenUpdating = False
myPath = ActiveWorkbook.Path
myFile = ActiveWorkbook.Name
Workbooks.Open Filename:=myPath & "\data.xls"
i = 0
KenData = myPath & "\ken_all.txt"
Open KenData For Input As #1
Do Until EOF(1)
i = i + 1
Input #1, myNO, myAD
myYNO(i) = myNO
myYAD(i) = myAD
Loop
Close #1
Workbooks(myFile).Activate
Sheets("menu").Select
Range("E2").Select
Application.ScreenUpdating = True
End Sub