Sub clear()
Dim wskyu As Worksheet
Dim wsData As Worksheet
Dim Y As Range
Const SH_KYUYO As String = "給与明細"
Const SH_DATA As String = "データ入力"
Set wskyu = Worksheets(SH_KYUYO)
Set wsData = Worksheets(SH_DATA)
With wsData
For Each Y In .Range("C3:G55")
If Y.Interior.ColorIndex <> xlNone Then
Y.ClearContents
End If
Next
End With
With wskyu
Range ("P7:AQ7"), .Range("D10:AQ10"), .Range("D13:AQ13"), _
.Range("D17:AQ17"), .Range("D20:AQ20"), .Range("D24:AQ24"), _
.Range("D29:AI29").Select
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.ClearContents
End With
MsgBox "個人番号を入力後、性別を選択しボタン(1)を押してください"
End Sub
値のみ削除しようと上のコードを書いたのですが
With wskyu
のあとの
Range~
でプロパティの使い方が不正です
と言われてしまいました(-_-;)
ヘルプボタンがあったので押しても空のページに飛んでしまい
どうすればよいのかわかりません、、、
どうかよろしくおねがいします!!
dim a as string
dim b as string
dim c as string
dim d as string
dim e as string
dim f as string
dim g as string
dim h as string
dim i as string
a = "○○"
b = "○○"
c = "○○"
d = "○○"
e = "○○"
f = "○○"
g = "○○"
h = "○○"
i = "○○"
上記のような形でたくさん宣言しているのですが、
実際はもっとあり、これだととても長いコードになってしまいます(・・;)
なんとか簡略化したいとは考えたのですがよい方法が見つからず
皆さんよろしくお願いいたします_(_^_)_
教えて下さい。
ファイルをバイト型配列に読み込んで、ある固定長に区切(改行)って出力したいです。
以下簡単にサンプルとして作っているのが以下です。
【読み込みファイル.txt】
----------------------------------------------------------------------------------
AB
----------------------------------------------------------------------------------
このテキストファイルの内容(byte型では、"41 42")を1バイトづつに改行で区切りたいです。
【VB.Net】
----------------------------------------------------------------------------------
Dim BUFSIZE As Integer = 1 ' 1バイトづつ処理
Dim buf(BUFSIZE) As Byte ' 読み込み用バッファ
Dim readSize As Integer ' Readメソッドで読み込んだバイト数
Dim srcName As String = "C:\Temp\読み込みファイル.txt" ' 読み込みファイル名
Dim dstName As String = "C:\Temp\書き込みファイル.txt" ' 書き込みファイル名
Using src As New FileStream(srcName, FileMode.Open, FileAccess.Read)
Using dest As New FileStream(dstName, FileMode.Create, FileAccess.Write)
While True
' 1バイト読み込み
readSize = src.Read(buf, 0, BUFSIZE)
' 読み込むものが無ければ終了
If readSize = 0 Then Exit While
' 改行いれたい部分(動かないけど、、、)
buf = (0D,0A)
' 書き込み
dest.Write(buf, 0, BUFSIZE)
End While
End Using
End Using
----------------------------------------------------------------------------------
↓ 理想の処理後
【書き込みファイル.txt】
----------------------------------------------------------------------------------
A
B
----------------------------------------------------------------------------------
重要なのはバイト型で処理を行いたいです。(文字列ではない)
すいませんがよろしくお願いします。
ExcelのVBAでGOM Playerを動かそうと思っています。
動画の途中から時間指定で再生しようと思っていますが、再生時間を指定するための画面を出す文字コード「G」をSendKeysで送るとなぜかShiftキー付の文字コードが送られてしまっているようです。
GOM Playerでは「G」を押すと「移動先の時間を指定」画面が出るのですが、VBAで「G」を送ると、「Shift+G」で表示される「オーディオキャプチャー設定」画面が出てきてしまいます。
VBAではなく手で「G」キーを押すと何の問題もなく表示されます。
具体的に書きますと
H列のセルを選ぶとH列に書いてある時間(「0:04」など)のところから再生が始まるプログラムになります。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set 指定セル範囲1 = Range("H2:H132")
Set 共有セル範囲1 = Intersect(ActiveCell, 指定セル範囲1)
If Not 共有セル範囲1 Is Nothing Then
Shell "C:\Program Files (x86)\GRETECH\GomPlayer\GOM.EXE", 1
SendKeys "G"
SendKeys "00:0" & Cells(Rows.Count, 8).Value
End If
End Sub
「Shell・・」の行はExcelがアクティブの状態からGOM Playerがアクティブの状態にするために入れてあります。
Wait時間を入れてみたり、CRを送ってからGを送ったり
下記のように別のコートで送ってもダメでした。
SendKeys ("G")
SendKeys vbKeyG
SendKeys 71
また「G」だけではなく「P」を送っても「Shift+P」が送られた動作になってしまいます。
すみませんが、お知恵を貸していただけませんでしょうか。
よろしくお願いします。
またまた困ってます、、
このコードを実行したとき
.Range("H" & i).Copy.wsDetail.Range ("D24")
ここでエラーが起きて
「オブジェクトが必要です」
と言われてしまいます(・・;)
だれかよろしくお願いします<m(__)m>
※シートの宣言は上でやってます
Private Sub 社会保険()
Dim i
Dim endrow As Long
Dim kihon As Long
Set wshoken = Worksheets("各種保険料表")
Set wsDetail = Worksheets("給与明細")
Set wsData = Worksheets("データ入力")
kihon = WorksheetFunction.Round(wsData.Range("C5"), -4)
endrow = Cells(Rows.Count, 3).End(xlUp).Row
With wshoken
For i = 2 To endrow
If kihon = .Range("C" & i) Then
.Range("H" & i).Copy.wsDetail.Range ("D24")
.Range("L" & i).Copy.wsDetail.Range ("H24")
.Range("N" & i).Copy.wsDetail.Range ("L24")
Application.CutCopyMode = False
End If
Next i
End With
End Sub
またまた困ってます、、
このコードを実行したとき
.Range("H" & i).Copy.wsDetail.Range ("D24")
ここでエラーが起きて
「オブジェクトが必要です」
と言われてしまいます(・・;)
だれかよろしくお願いします<m(__)m>
※シートの宣言は上でやってます
Private Sub 社会保険()
Dim i
Dim endrow As Long
Dim kihon As Long
Set wshoken = Worksheets("各種保険料表")
Set wsDetail = Worksheets("給与明細")
Set wsData = Worksheets("データ入力")
kihon = WorksheetFunction.Round(wsData.Range("C5"), -4)
endrow = Cells(Rows.Count, 3).End(xlUp).Row
With wshoken
For i = 2 To endrow
If kihon = .Range("C" & i) Then
.Range("H" & i).Copy.wsDetail.Range ("D24")
.Range("L" & i).Copy.wsDetail.Range ("H24")
.Range("N" & i).Copy.wsDetail.Range ("L24")
Application.CutCopyMode = False
End If
Next i
End With
End Sub
またまたエラーが起きてしまいました、、
D列にある数値の平均値を出すマクロを組みたいのですが
そのD列は今後増えていくので変数を使い指定したいのです
Option Explicit
Public Sub all()
Const SH_NAME As String = "VBA"
Dim i
Dim endrow As Long
Dim ws As Worksheet
Dim Result As Integer
Set ws = ThisWorkbook.Worksheets(SH_NAME)
With ws
endrow = .Cells(Rows.Count, 4).End(xlUp).Row
For i = 2 To endrow
Result = Application.WorksheetFunction.Average(.Range("D2:D&i"))
.Range("F39").Value = Result
.Range("F39").NumberFormatLocal = "0.00"
Next i
End With
End Sub
このコードだと
Result = Application.WorksheetFunction.Average(.Range("D2:D&i"))
のところでrangeメソッドは失敗しました
と言われてしまいます
どうかよろしくお願いします<m(__)m>
http://kana-soft.com/tech/sample_0012_3.htm#WebBrowser_Stop
このHPを参考にstop()メソッドを使おうとしたのですがSTOP()に下記のエラーが出ます。
'System.Windows.Forms.WebBrowser' に 'stop' の定義が含まれておらず、型'System.Windows.Forms.WebBrowser' の最初の引数を受け付ける拡張メソッドが見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。
VS2010を使用し、.NETは4なので問題なく使えると思うのですが原因不明です。
以下ソースです。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace busywait4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
webBrowser1.Navigate("http://yahoo.co.jp");//もう一度、アクセスしなおす。
}
int i;
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
webBrowser1.stop();
}