设置打印VBA的列宽

时间:2018-07-23 15:53:02

标签: excel vba excel-vba

我的excel电子表格中有一个展览编号,我希望将其完美打印在右边对齐的右边标头下。下面的代码将其关闭,但无法使标题和展览编号对齐。当我更改该表的刻度时,差异会变得更糟。 (在Excel中显示编号格式不是问题)请帮助:

Sub Isitthere()
Dim c As Long, LR As Long
Dim sh1 As Worksheet, sh2 As Worksheet, fn As Range
Set sh1 = Application.Sheets("Current") 'Edit sheet name
Set sh2 = Application.Sheets("MTD") 'Edit sheet name
LR = sh1.Range("A" & Rows.Count).End(xlUp).Row
For c = LR To 2 Step -1
    Set fn = sh2.Range("A:A").Find(sh1.Cells(c, 1).Value, , xlValues, xlWhole)
    If Not fn Is Nothing Then
            sh1.Cells(c.Row, Columns.Count).EntireRow.Delete
        End If
Next c
End Sub

enter image description here

2 个答案:

答案 0 :(得分:1)

我没有找到此问题的计算答案。因此,我建立了宏,以便为要与标题对齐的列宽添加少量增量。一旦该过程导致列跳至下一页,我减去了最后一个增量。宏感觉有些迟钝,但这不是问题。

答案 1 :(得分:0)

您正在尝试将包含精确小数的计算存储在Integer中-Integer将始终四舍五入,并截断小数位-如果需要精确的坐标,请将变量声明为改为Long,它将最多精确存储15位数字。

Dim i as Long, w as Long, colNum As Long

相关问题