ラベル excel の投稿を表示しています。 すべての投稿を表示
ラベル excel の投稿を表示しています。 すべての投稿を表示

2012年2月20日月曜日

[VBA]新しくXLSファイルを作成/出力を行う


新しくファイルを作成し、内容をコピーする必要があったので。


Sub outDataFile(ByVal fileName As String, ByVal range As Integer)
  Dim row As Integer
  Dim inWks, outWks As Object
  
  Set inWks = ActiveWorkbook
  Set outWks = CreateObject("Excel.Sheet")
  
  For shIdx = 1 To inWks.Worksheets.count
    If shIdx <> 1 Then outWks.Worksheets.Add after:=outWks.Worksheets(shIdx - 1)
    outWks.Worksheets(shIdx).Name = inWks.Worksheets(shIdx).Name
    
    row = 1
    Do
      For col = 1 To range
        outWks.Worksheets(shIdx).Cells(row, col) = inWks.Worksheets(shIdx).Cells(row, col)
      Next col
      
      row = row + 1
    Loop While inWks.Worksheets(shIdx).Cells(row, 1) <> ""
  Next shIdx
  
  outWks.SaveAs fileName
End Sub


ちょっとベンチマークとります

2012年2月14日火曜日

[VBA]文字列<-->数値

Cstr(Integer) : String

Cint(String) : Integer

はい。
バレンタインデー

2012年1月20日金曜日

[VBA]シート上のグラフを全削除

シート上にある全てのグラフ(チャート)を削除したい。


Sub removeGraph()
  For Each sh In Worksheets
    sh.ChartObjects.Delete
  Next sh
End Sub


--追記--
上記では削除出来ていないような…
一見消えている様に見えるが、ChartObjectsのCountで見る限り消えるものと消えないものがあったりなかったり
[Excel2003]


とりあえず、これで凌ぐ
Sub removeGraph()
  For Each sh In Worksheets
    For Each chart In sh.ChartObjects
      chart.Delete
    Next chart
  Next sh
End Sub