unity3d 如何设置Excel,一个单元格两种格式。(目前用的是MyXls)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity3d 如何设置Excel,一个单元格两种格式。(目前用的是MyXls)相关的知识,希望对你有一定的参考价值。

unity3d 用代码创建了一个Excel,也写入数据。但是,我想改变单元格内,几个字符的单元格格式,怎么改?
现在用的是org.in2bits.MyXls.dll文件。
他提供的 cells.Add() ,只能将数据一次性加入格子里面,后面再想加入数据,就会覆盖前面的格子数据。
无法分批添加数据。也不能设置2种不同的格式。
现在想让前0-4个值,双下划线,后几个值为正常格式。怎么做???急求~~~Help
详细点~~

现在用的是org.in2bits.MyXls.dll文件。
他提供的 cells.Add() ,只能将数据一次性加入格子里面,后面再想加入数据,就会覆盖前面的格子数据。
无法分批添加数据。也不能设置2种不同的格式。
参考技术A 贾子龙偶然拾得点金石,得以与真生重逢。真生传授他口诀,贾子龙将圆桌点为纯金,全部用于资助重修慈云寺,真生这才放心而去。

随机选择目标单元格,但无法针对同一单元格两次

【中文标题】随机选择目标单元格,但无法针对同一单元格两次【英文标题】:Randomly select Target cells without being able to target a same cell twice 【发布时间】:2015-05-16 16:29:00 【问题描述】:

我尝试了多种方法,但仍然无法解决我的问题。

我可以在代码中添加什么以便不能在 Range("A5:G11") 中定位相同的值两次,并且只能在 Range("A5:G11 ") 当时?

这是我目前所拥有的。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim valeur As Range, c As Range, KeyRange As Range

If Target.Cells.Count > 1 Then
    Exit Sub

        ElseIf Not (Intersect(Target, Range("A5:G11")) Is Nothing) Then
            Target.Interior.ColorIndex = 3
        Else

    Exit Sub
End If

Set valeur = Range("C14:C19")

For Each c In valeur.Cells
    If c.value = "" Then
        c.value = Target.value
            Exit Sub
    End If
Next c

On Error Resume Next

Set KeyRange = Range("C14")
valeur.Sort Key1:=KeyRange, Order1:=xlAscending

结束子

【问题讨论】:

我可以添加什么以便不能在 Range("A5:G11") 中定位相同的值两次,并且一次最多只能定位 6 个值? 【参考方案1】:

试试这个:

**您需要先按住Ctrl键盘键选择单元格,然后运行此方法。

  Sub DoCopyBySelectionOrder()
    Const MAX_SELECTION As Integer = 6

    Dim oFirstTargetCell As Range
    Dim oTmpCell As Range
    Dim oCell As Range
    Dim sSrcRange As String
    ' r- for rows, c- for columns
    Dim r%
    Dim iCount As Integer

    r = 0
    iCount = 0

    sSrcRange = "A5:G11"

    Set oFirstTargetCell = ActiveSheet.Range("A14")

    For Each oCell In Selection
        If IsEmpty(oCell) = False Then
            If oCell.Text <> "" Then
                If Not (Intersect( _
                        oCell, ActiveSheet.Range(sSrcRange)) Is Nothing) Then
                    ' In the first pass the cell returned will be A14 because
                    ' r is 0 at that point.
                    Set oTmpCell = oFirstTargetCell.Offset(r, 0)
                    oTmpCell.Value = oCell.Value

                    iCount = iCount + 1
                    ' EXIT
                    If iCount >= MAX_SELECTION Then Exit Sub

                    r = r + 1
                End If
            End If
        End If
    Next

End Sub

【讨论】:

我可以添加什么以便不能在 Range("A5:G11") 中定位相同的值两次,并且一次最多只能定位 6 个值? 您可以将 MAX_SELECTION 值更改为您喜欢的任何最大值。我认为不可能两次选择相同的值。我相信要么选择了某些东西。【参考方案2】:

你有一个好的开始。我们可以通过使用“ElseIf”语句而不是将 If 嵌套在其他 If 中来稍微清理您的代码。然后,为了处理粘贴问题,我们将使用 For Each 循环。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim valeur As Range, C as Range


If Target.Cells.Count > 1 Then
    Exit Sub
ElseIf Not (Intersect(Target, Range("A5:G11")) Is Nothing) Then
    Target.Interior.ColorIndex = 3
Else
    Exit Sub  'No need for the last if statement
End If

set valuer=range("C14:C16")
For each C in valuer.cells
    if c.value="" then
        c.value=Target.value
        exit sub
    end if
Next c

'If get to this step, then the C14:C16 range is full, can put some error handling, reset, etc.

End Sub

您也可以使用 FOR NEXT 循环来完成最后一点,方法是:

For R=14 to 16 'should DIM R as Integer at the top
    if Cells(r,3)="" then
        Cells(r,3).value=Target.value
        exit sub
    end if
Next R

编辑:对问题进行了编辑,因此粘贴的结果应从 C14 开始,然后继续增长。

在这种情况下:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim R as Integer


If Target.Cells.Count > 1 Then
    Exit Sub
ElseIf Not (Intersect(Target, Range("A5:G11")) Is Nothing) Then
    Target.Interior.ColorIndex = 3
Else
    Exit Sub  'No need for the last if statement
End If

R=14
Do While Cells(R,3)<>""
    R=R+1
Loop
Cells(R,3)=Target.value

End Sub

【讨论】:

我可以添加什么以便不能在 Range("A5:G11") 中定位相同的值两次,并且一次最多只能定位 6 个值? 在您包含的代码中,您已经将单元格的颜色索引更改为“3”。为了防止同一个单元格被选中两次,只需添加: ElseIf Not (Intersect(Target, Range("A5:G11")) Is Nothing) 和 Target.interior.colorindex3 然后。要仅针对最多 6 个单元格,您可以返回到第一个解决方案(使用估值器范围),将该范围设置为 6 个单元格(C14:C19),然后在我对错误处理有评论的地方添加任何你如果所有地点都已满,则想做。

以上是关于unity3d 如何设置Excel,一个单元格两种格式。(目前用的是MyXls)的主要内容,如果未能解决你的问题,请参考以下文章

easyui怎么给某一单元格,点击保存前后颜色改变

随机选择目标单元格,但无法针对同一单元格两次

eXCEL如何设置小数点后输入多少个0就显示多少个零。

如何动态修改cxGrid当前单元格的颜色和字体

excel中怎样使表格数据显示为水平居中和垂直居中?

xls 单元格格式和公式不兼容