Չորեքշաբթի, 29 Դեկտեմբեր 2021
  5 Գրառումներ
  8K այցելություններ
0
Քվեարկել
արձակել
Este Código VBA: Ցուցակեք այն որպես մշտական ​​​​առանց Excel-ի, ճշգրիտ ձևափոխելու համար, որը պետք է լինի «MsgBox» և «MsgBox» և «Eu ճշգրիտ» և «Seja» և «Uma» ընտրեք 1 սյունակ, ea quantidade de lice. possivel fazer a modificação no codigo.
Sai 'MsgBox «Շատ շատ փոխակերպումներ», vbInformation, «Kutools for Excel»' Que é somente digitável e não por seleção
Entra 'seleção de 1 coluna/linhas.
օրինակ
linhas selecionadas 12345678 permutar 5 das 8 continuando como esta no codigo.
começa 12345
Տերմինա em 87654.

'Sub
GetString()

'Updateby Extendoffice

    
Dim
xStr 
As
String

    
Dim
FRow 
As
Long

    
Dim
xScreen 
As
Boolean

    
xScreen = Application.ScreenUpdating

    
Application.ScreenUpdating = 
False

    
xStr = Application.InputBox(
"Enter text to permute:"
"Kutools for Excel"
, , , , , , 2)

    
If
Len(xStr) < 2 
Then
Exit
Sub

    
If
Len(xStr) >= 8 
Then

        
MsgBox 
"Too many permutations!"
, vbInformation, 
"Kutools for Excel"

        
Exit
Sub

    
Else

        
ActiveSheet.Columns(1).Clear

        
FRow = 1

        
Call
GetPermutation(
""
, xStr, FRow)

    
End
If

    
Application.ScreenUpdating = xScreen

End
Sub

Sub
GetPermutation(Str1 
As
String
, Str2 
As
String
ByRef
xRow 
As
Long
)

    
Dim
As
Integer
, xLen 
As
Integer

    
xLen = Len(Str2)

    
If
xLen < 2 
Then

        
Range(
"A"
& xRow) = Str1 & Str2

        
xRow = xRow + 1

    
Else

        
For
i = 1 
To
xLen

            
Call
GetPermutation(Str1 + Mid(Str2, i, 1), Left(Str2, i - 1) + Right(Str2, xLen - i), xRow)

        
Next

    
End
If

'End
Sub
2 տարի առաջ
·
#2419
0
Քվեարկել
արձակել
Բարև Անջելիտոն,

Ես տեսա քո կոդը, բայց ես քեզ այնքան էլ չեմ հասկանում: Կարող ես խոսել անգլերեն?

Amanda
2 տարի առաջ
·
#2420
0
Քվեարկել
արձակել
Այս VBA կոդը. Թվարկեք Excel-ում բոլոր հնարավոր փոխարկումները, ինձ անհրաժեշտ է փոփոխում դրա մեջ մուտքագրման տեսքով, որը գտնվում է «MsgBox»-ում և պետք է, որ այն լինի 1 սյունակի ընտրության մեջ, և տողի քանակը՝ ընտրվածի մեջ: տողեր, և հնարավոր է փոփոխություններ կատարել կոդի մեջ:
պատասխանի պատասխան
Դուրս է գալիս «MsgBox»-ից, «Չափազանց շատ փոխարկումներ», vbInformation, «Kutools for Excel»-ից», որը միայն թվայնացված է և ոչ ընտրովի:
Մուտքագրեք «1 սյունակ/տողերի ընտրություն:
օրինակ
Ընտրված 12345678 սյունակի տողերը 5-ից 8-ը շարունակվում են կոդով այսպես:
սկսվում է 12345 թ
ավարտվում է 87654. դիտարկման տվյալների մուտքագրումը սյունակում ընտրությամբ
2 տարի առաջ
·
#2421
0
Քվեարկել
արձակել
Բարև Անջելիտոն,

Շատ կներեք, որ չկարողացա ձեզ լիովին հասկանալ... Հուսով եմ, որ կարող եք վերակազմավորել խոսքը:

Thanks in advance.
Amanda
2 տարի առաջ
·
#2422
0
Քվեարկել
արձակել
Ողջույն, Ամանդա Լի, այս կոդը ունի մուտքային տվյալներ, որոնք պետք է փոխանակվեն / հնարավոր համակցություններ MsgBox-ում «Չափազանց շատ փոխարկումներ», vbInformation, «Kutools for Excel»-ում:
Ինձ անհրաժեշտ են մուտքային տվյալներ, որոնք պետք է փոխանակվեն/հնարավոր համակցություններ սյունակի ընտրության մեջ:
օրինակ
սյունակ 1
1 տող = սպիտակ
2 տող = սև
3 գիծ = կապույտ
4 տող = դեղին
5 տող = կանաչ
Այս տողերը կփոխանակվեն բոլոր հնարավոր համակցություններում, կոդը արդեն դա անում է, այնպես որ ես չեմ կարող ընտրել փոխակերպման տողերը, քանի որ մուտքագրումը MsgBox է, որը մուտքագրված է և ընտրված չէ:
ամբողջական կոդը այստեղ է՝ https://www.extendoffice.com/documents/excel/3657-excel-generate-all-permutations.html
,
2 տարի առաջ
·
#2423
0
Քվեարկել
արձակել
Բարև Անջելիտոն,

Կներեք ուշ պատասխանելու համար։

Խնդրում ենք փորձել ստորև բերված կոդը. (Նկատի ունեցեք, որ կոդը չի մշակում ավելի քան 8 նիշ ունեցող տող: Եթե ցանկանում եք թիվն ավելի մեծացնել, կարող եք փոխել «If Len(xStr) >= 8 Այնուհետեւ» թիվը 8-ում: կոդ ավելի մեծ թվերի համար: Այնուամենայնիվ, որքան մեծ է թիվը, այնքան դանդաղ կլինի ծրագիրը:)

Sub GetString()
'Updateby Extendoffice
Dim xStr As String
Dim FRow As Long
Dim xScreen As Boolean
Dim Rg, xRg As Range
xScreen = Application.ScreenUpdating
Application.ScreenUpdating = False
Set xRg = Application.InputBox("Enter text to permute:", "Kutools for Excel", , , , , , 8)
xStr = ""
For Each Rg In xRg
xStr = xStr + Rg.Text
Next
If Len(xStr) < 2 Then Exit Sub
If Len(xStr) >= 8 Then
MsgBox "Too many permutations!", vbInformation, "Kutools for Excel"
Exit Sub
Else
ActiveSheet.Columns(1).Clear
FRow = 1
Call GetPermutation("", xStr, FRow)
End If
Application.ScreenUpdating = xScreen
End Sub
Sub GetPermutation(Str1 As String, Str2 As String, ByRef xRow As Long)
Dim i As Integer, xLen As Integer
xLen = Len(Str2)
If xLen < 2 Then
Range("A" & xRow) = Str1 & Str2
xRow = xRow + 1
Else
For i = 1 To xLen
Call GetPermutation(Str1 + Mid(Str2, i, 1), Left(Str2, i - 1) + Right(Str2, xLen - i), xRow)
Next
End If
End Sub


Հուսով եմ, որ դա ձեզ համար է:

Amanda
  • էջ:
  • 1
Այս գրառման համար դեռևս պատասխաններ չեն տրվել: