精华内容
下载资源
问答
  • Sub 重组跨页合并() '将跨页的合并单元格重新合并从而适应分页打印 Dim p, MerageAddress As String, PageCell As Range, MergeValue Application.ScreenUpdating = False ActiveWindow.View = ...

    1. 先ALT+F11

    2. 在打开的页面菜单中点击<插入>-<模块>,然后将下面的代码粘贴进去

    Sub 重组跨页合并() '将跨页的合并单元格重新合并从而适应分页打印
    
        Dim p, MerageAddress As String, PageCell As Range, MergeValue
    
        Application.ScreenUpdating = False
    
        ActiveWindow.View = xlPageBreakPreview '进入分页预览,才可以判断分页符位置
    
        For Each p In ActiveSheet.HPageBreaks  '逐页循环 hpagebreaks对象,打印区域内水平分页符的集合
    
            'hpagebreak.location属性,返回或设置定义分页符位置的单元格(range对象)
    
            Set PageCell = Cells(p.Location.Row - 1, ActiveCell.Column) '将每个分页最后一个单元格赋予变量
    
            '如果该页最后一个单元格具有合并属性,而且与下一页第一个单元格处于同一个合并区域
    
            If PageCell.MergeCells And Not Intersect(Cells(p.Location.Row, ActiveCell.Column), PageCell.MergeArea) Is Nothing Then
    
                MerageAddress = PageCell.MergeArea.Address '取得合并区域的地址
    
                MergeValue = PageCell.MergeArea(1).Value '取得合并区域的值
    
                PageCell.MergeArea.UnMerge '取消合并
    
                Range(Range(MerageAddress)(1), PageCell).Merge '将合并区域中处于本页的单元格合并
    
                Range(Range(MerageAddress)(1), PageCell).Borders.LineStyle = xlContinuous '添加边框
    
                With Range(PageCell.Offset(1, 0), Cells(Split(MerageAddress, "$")(4), ActiveCell.Column))
    
                    .Merge '再将合并区域中处于下一页的单元格合并
    
                    .Value = MergeValue '赋值
    
                    .HorizontalAlignment = xlCenter '左右居中
    
                    .VerticalAlignment = xlCenter '上下居中
    
                    .Borders.LineStyle = xlContinuous
    
                End With
    
            End If
    
        Next
    
        Application.ScreenUpdating = True
    
        ActiveWindow.View = xlNormalView '还原为常规视图
    
    End Sub
    
    

    3. 最后选中需要合并打印的列,然后执行代码

    展开全文
  • VBA合并单元格黏贴赋值

    千次阅读 2013-11-06 12:33:49
    由于EXCEL中通过剪切板给合并后的单元格赋值时候会出现如下错误 所以在vba中也一定不能了,其实可以通过一种...三、合并单元格 下面是具体的使用 Sub tttt()  Dim i, g  Dim objData As DataObject  

    由于EXCEL中通过剪切板给合并后的单元格赋值时候会出现如下错误


    所以在vba中也一定不能了,其实可以通过一种workaround的方式来间接实现这个需求,实现步骤如下

    一、拆分合并的单元格

    二、给第一个单元格赋值

    三、合并单元格


    下面是具体的使用

    Sub tttt()
        Dim i, g
        Dim objData As DataObject
        Dim sHTML As String
        Dim sSelAdd As String
        Const sTEMP As String = "||||"
        Application.EnableEvents = False
        g = ActiveSheet.UsedRange.Rows.Count
        For i = 9 To g
        
                    '拆分单元格
                Range("E" & (i) & ":V" & (i)).Select
                    'With Selection
                    '.HorizontalAlignment = xlCenter
                    '.VerticalAlignment = xlTop
                    '.WrapText = True
                    '.Orientation = 0
                   ' .AddIndent = False
                    '.IndentLevel = 0
                   ' .ShrinkToFit = False
                   ' .ReadingOrder = xlContext
                   ' .MergeCells = False
                   ' End With
                    Selection.UnMerge
        
        
        If True Then
            If LCase(Left(Range("E" & (i)).Value, 6)) = "<html>" Then
                Set objData = New DataObject
                sHTML = Range("E" & (i)).Value
                sHTML = Replace(sHTML, "<br />", sTEMP)
                objData.SetText sHTML
                objData.PutInClipboard


                ActiveSheet.Paste Destination:=Range("E" & (i))
                '合并单元格
                Range("E" & (i) & ":V" & (i)).Select
                   ' With Selection
                    '.HorizontalAlignment = xlCenter
                    '.VerticalAlignment = xlTop
                   ' .WrapText = True
                   ' .Orientation = 0
                   ' .AddIndent = False
                   ' .IndentLevel = 0
                   ' .ShrinkToFit = False
                  '  .ReadingOrder = xlContext
                   ' .MergeCells = False
                   ' End With
                    Selection.Merge
                
            End If
        End If
        Next
        Application.EnableEvents = True
    End Sub




    展开全文
  • '第1参数为要合并字符的单元格区域或字符串数组, '第2参数为可选参数:字符分隔符,将被添加不为空的字符串末尾,忽略时缺省为“,” p = "" For Each cel In rng If cel <> "" Then p = p & fg...
    Function HB(rng, Optional ByVal fgf As String = ",")
    '文本合并函数,有两个参数:
    '第1参数为要合并字符的单元格区域或字符串数组,
    '第2参数为可选参数:字符分隔符,将被添加到不为空的字符串末尾,忽略时缺省为“,”
    p = ""
    For Each cel In rng
    If cel <> "" Then p = p & fgf & cel
    Next
    HB = Mid(p, Len(fgf) + 1)
    End Function
    

    把以上代码复制后,在EXCEL中按Alt+F11组合键打开VBA编辑器,在编辑器菜单“插入”中点“模块”,然后把复制的代码粘贴到“代码窗口”中,关闭VBA编辑器。接下来,在工作表中输入以下公式即可:
    =HB(A1:N1," ")

    展开全文
  • Sub adjustpic() '根据合并单元格大小调整图片大小 Dim Pic As Shape For Each Pic In ActiveSheet.Shapes  If Pic.TopLeftCell.MergeCells = True Then  Set cc = Pic.TopLeftCell.MergeArea  Pic.LockAspec
    Sub adjustpic()  '根据合并单元格大小调整图片大小
    
    Dim Pic As Shape
    For Each Pic In ActiveSheet.Shapes
       If Pic.TopLeftCell.MergeCells = True Then
            Set cc = Pic.TopLeftCell.MergeArea
            Pic.LockAspectRatio = msoFalse
            Pic.Top = cc.Top + 5
            Pic.Left = cc.Left + 5
            Pic.Height = cc.Height - 10
            Pic.Width = cc.Width - 10
        End If
    Next
    End Sub
    展开全文
  • des = "D:\2\VBA\A3\Images\" & dt & "-" & s & ".jpg" fso.CopyFile souf, des 'Copy file from the path Souf$ to des$ MsgBox "Upload Success!" Set fso = Nothing Call ShowImages(des, c) End Sub 'show ...
  • 识别两种合并单元格的方法也很简单,辅助列使用公式读取一下单元格内容,如果合并单元格之隐藏单元格仍然有内容,那么这就是粘贴格式创建的合并单元格。 接下来要讲的合并单元格是用粘贴格式产生的,如果希望清空D...
  • 1、按下Alt+F8,给宏起名(比如copy),点击创建2、新创建的宏主体部分是空白的,在sub和end sub之间粘贴以下脚本Sub copy()'快捷键 Ctrl+rOn Error GoTo ErrorHandlerApplication.CutCopyMode = FalseSelection....
  • 取消合并单元格 在刷蓝的状态下 ctrl+G ——按条件选择—— 空值 这个时候有一个单元格会被选中 假如是A3 在刷蓝的状态下填写 =A2(就是被选中的上一个格) 别按回车,使用ctrl+回车 这种方法填充的内容是公式...
  • .PasteSpecial Paste:=xlPasteValues 报错 改为 .PasteSpecial Paste:=xlPasteValuesAndNumberFormats 即可 来源:excel - Error with copy paste due to merged column cells - Stack Overflow
  • 用vb代码复制比如一行两列的单元格区域, 如果代码复制的是比如这一行的左则一列, 即部分区域, 则合并单元格的内容会进入粘贴后的一列中, 而如果复制的是比如这一行的右侧一列部分区域, 那么相应的, 被粘贴后的一...
  • 今天要说的这段代码呢,同样是因为同事妹子有需求而写的。 做数据透视表的时候,经常有一个组里面出现几个分支都有数值的情况,老板要求把数据透视表贴成数值...就像下图这样,类似红框里这种情况都要去合并单元格
  • 要直接位置得到,则有俩种可能性第一种,合元格是格得来的假合并单元格,单元格都有内容,直接解除合并即可第二种,若确实是真实合并单元格,则需要VBA实现若原数据在A列,想在B列实现效果则可以在B1输入=LOOKUP("座...
  • 作用描述:Excel本身所带的跨越合并功能可以对区域数据按行进行合并,但没有提供按列进行合并的功能,借助于此宏脚本实现该功能1、按下Alt+F8...' 纵向合并单元格 On Error GoTo ErrorHandler Dim co, ro, hi, wi As...
  • Sub VBA小程序_对于选中的单元格进行取消合并_选择空值向上填充() Dim a As Range Set a = Selection '定义变量为最初选择的区域,不忘初心 Selection.UnMerge '取消合并 Selection.SpecialCells...
  • Excel VBA Range单元格操作实例

    千次阅读 2020-02-16 21:51:53
    四、Range操作 4.2取得最后一个非空单元格 xlDown/xlToRight/xlToLeft/xlUp Dim ERow as Long ...注意:使用PasteSpecial方法时指定xlPasteAll(粘贴全部),并不包括粘贴列宽 Sub CopyWithSameCol...
  • 原创:用VBA实现将鼠标选择的单元格按照指定格式合并并复制剪切板 一、主要实现以下功能:1、用鼠标选择单元格(可谓连续单元格,也可为不连续的)后,按照要求格式“证件号码:+选定内容+“,”+”选定内容...
  • 目录 示例: 实现代码: ...参数SkipBlanks表示是否跳过空白单元格,若为True,则表示不将剪贴板中的空白单元格复制目标区域。 参数Transpose表示是否转置,若为True,则表示转置。 示例: ..
  • $A2 详见附图示例excel在有合并单元格的表怎么只选一列?就是表格顶部有合并单元格的标题,标题下方就是一格格内容,在操作内容假设A1:F1已合并,想引用除C1的其他C列单元格,鼠标选中C2,按住ctrl+shift,再连敲几...
  • 输入以下代码:Private Sub CommandButton1_Click()Dim path, yuan_name '定义路径名,被合并表名称Dim wb As Workbookpath = ThisWorkbook.path '指定路径为合并新表所在路径yuan_name = Dir(path & "\" & ...
  • 只复制单元格的批注该怎么操作呢?代码如下:Public Sub 复制单元格批注() Dim range1 As range Dim range2 As range '清除G列 Columns("G:G").Clear Set range1 = range("A1:B4") '指定要复制的单元格区域 ...
  • 最近遇到一个小需求,如何将...传统的方法可以直接对班期列进行分列操作,再将分列所得数据一行行复制转置粘贴,步骤繁琐麻烦,这里用VBA处理,写好代码,一秒钟搞定,一劳永逸~话不多说,让我们看下处理效果:思路1...
  • '1、用VBA单元格中输入普通公式 Sub t1() Range("d2") = "=b2*c2" End Sub '2、用VBA单元格输入带引号的公式 Sub t3() Range("c16") = "=SUMIF(A2:A6,""b"",B2:B6)" '遇到单引号就把单引号加倍 ...
  • 很多同学想学习VBA,却没有勇气,下面是我VBA入门直播课程中的知识点,参加了培训的同学请自己对照下是否掌握了。其它有基础知识的同学也可以自检下。(报名培训班请加微信:527240310)第一讲:...
  • VBA单元格、工作表、工作簿

    千次阅读 2019-04-30 23:08:35
    详解VBA单元格、工作表、工作簿各种表示、方法,注意事项。
  • VBA合并单元格(tmpstr = tmpstr & " " & Cells(i, j))如果碰到#N/A就会报错,提示类型不匹配,如下图所示: 实际上,不仅仅是#N/A,其它的错误标识(如#VALUE!、#DIV/O!等等)也会报同样的错误。...
  • VBA常用技巧

    2014-12-21 16:39:28
    技巧8 仅复制数值到另一区域 12 8-1 使用选择性粘贴 12 8-2 直接赋值的方法 12 技巧9 单元格自动进入编辑状态 12 技巧10 禁用单元格拖放功能 12 技巧11 单元格格式操作 12 11-1 单元格字体格式设置 12 11-2 设置...
  • 1、单元格值 value 是获取相应的值,text取包含格式的内容,formula取格子里面的公式 excel 中公式注释用 '单引号 2、单元格地址 address(1,1)其中的两个参数是分别设置行列坐标是绝对还是相对值的 3、单元格行列...
  • 有时候,你需要将几十个工作簿中的内容,快速汇总至合并至一个工作簿,如果手动一个复制粘贴,那心里有苦说不出。。。今天将大家用VBA一键合并,只需要几秒种,为了测试这段代码,我们新建了4个工作簿在文件夹中,...
  • Excel技巧1,符合要求的多个单元格合并

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 976
精华内容 390
关键字:

vba粘贴值到合并单元格

友情链接: dsp.rar