Các câu hỏi về Form trong Excel VBA

Liên hệ QC

Tường_Vi

Thành viên tiêu biểu
Tham gia
19/4/10
Bài viết
482
Được thích
121
Nghề nghiệp
Luôn tìm kiếm một vị trí tốt hơn
Private Sub UserForm_Initialize()
.......................
.......................
.......................
End Sub


Em xin hỏi, sự kiện khí nào mình dùng sự kiện này Initialize

Cám ơn
 
file đây ạ, anh xem giúp em với

Bạn dùng solver.xlam nào đấy?

Vì vd. bạn gọi hàm

Mã:
SolverOk SetCell:="$P$14", MaxMinVal:=2, ValueOf:=0, ByChange:="$F$14,$K$14", _
        [B][COLOR=#ff0000]Engine[/COLOR][/B]:=1, [B][COLOR=#ff0000]EngineDesc[/COLOR][/B]:="GRG Nonlinear"

mà trong khi đó solver.xlam của Excel có

Mã:
Function SolverOk(Optional SetCell As Variant, Optional MaxMinVal As Variant, Optional ValueOf As Variant, Optional ByChange As Variant) As Variant

Tức hàm SolverOk làm gì có Engine và EngineDesc
 
Lần chỉnh sửa cuối:
Upvote 0
em chạy riêng cái solver và vẫn ra được kết quả đúng anh ạ, chỉ có điều khi gộp chung thành 1 super macro thì nó lại k chạy. anh có thể gợi ý cho em cách khắc phục được không ạ? em không rành phần này lắm.
 
Lần chỉnh sửa cuối:
Upvote 0
em chạy riêng cái solver và vẫn ra được kết quả đúng anh ạ, chỉ có điều khi gộp chung thành 1 super macro thì nó lại k chạy. anh có thể gợi ý cho em cách khắc phục được không ạ? em không rành phần này lắm.

Tôi chạy Macro1 thì thấy vẫn vào sub solver1, chỉ có điều không chạy tiếp được như tôi đã trình bầy nguyên nhân. Tôi chịu thôi. Bạn cứ thử đi từng bước xem sao: click bên "lề trái" của đòng đầu trong sub solver1 rồi sau đó khi tới chỗ đó thì cứ nhấn F8 để đi từng bước.
 
Upvote 0
các bác xem giúp em vòng lặp này e viết có gì chưa đúng mà nó không chạy:

Sub fifthmacro()
Sheets("interface").Select
Dim length As Integer
For length = 5 To 75
Range("f14").Value = length
Call optimize1
Call selectbeam
Call save
Next
End Sub
 
Upvote 0
xin cho hỏi các thành viên là làm sao tạo 1 form trong excel để nhập mà được dữ liệu chọn bằng cách kéo chuột như những form có sẳn trong EXCEL, xin chân thành cảm ơn
ví dụ như form này tạo như thế nào?
Picture1.jpg
 
Upvote 0
Lần chỉnh sửa cuối:
Upvote 0
do em mới tìm hiều về cái này nên còn hơi gà mờ, hic hic
bây giờ mới vận dụng được
ActiveCell.FormulaR1C1 = Application.WorksheetFunction.Sum(Range(RefEdit1))
cảm ơn anh ndu vì đã gợi ý, xin cảm ơn anh nhiều
 
Lần chỉnh sửa cuối:
Upvote 0
nhờ anh chị sửa giúp code sau tự đổi số thành chữ nguồn chứa số ô A2 , Kết quả là chữ ở ô A3

Mã:
Public Function VND(BaoNhieu)
If Val(BaoNhieu) = 0 Then
Ketqua = "Khoâng ñoàng"
Else
If Abs(BaoNhieu) > 1E+15 Then
Ketqua = "Soá quaù lôùn"
Else
If BaoNhieu < 0 Then Ketqua = "Tröø" & Space(1) Else Ketqua = Space(0)
SOTIEN = Format(Abs(BaoNhieu), "###############0.00") '18coät soá 2soá leû
SOTIEN = Right(Space(15) & SOTIEN, 18)
Hang = Array("None", "traêm", "möôi", "gì ñoù")
DONVI = Array("None", "ngaøn tyû", "tyû", "trieäu", "ngaøn", "ñoàng", "xu")
Dem = Array("None", "moât", "hai", "ba", "boán", "naêm", "saùu", "baûy", "taùm", "chín")
For N = 1 To 6
Nhom = Mid(SOTIEN, N * 3 - 2, 3)
If Nhom <> Space(3) Then
Select Case Nhom
Case "000"
If N = 5 Then
Chu = "ñoàng" & Space(1)
Else
Chu = Space(0)
End If
Case ".00", ",00"
Chu = "chaün"
Case Else
S1 = Left(Nhom, 1): S2 = Mid(Nhom, 2, 1): S3 = Right(Nhom, 1)
Chu = Space(0): Hang(3) = DONVI(N)
For K = 1 To 3
Dich = Space(0): S = Val(Mid(Nhom, K, 1))
If S > 0 Then
Dich = Dem(S) & Space(1) & Hang(K) & Space(1)
Else
If K = 1 And N > 1 And N < 6 And Val(Mid(SOTIEN, (N - 1) * 3 - 2, 3)) > 0 Then
Dich = "khoâng" & Space(1) & Hang(K) & Space(1)
End If
End If
Select Case K
Case 2 And S = 1
Dich = "möôøi" & Space(1)
Case 3 And S = 0 And Nhom <> Space(2) & "0"
Dich = Hang(K) & Space(1)
Case 3 And S = 5 And Val(S2) > 2
Dich = "l" & Mid(Dich, 2)
Case 2 And S = 0 And S3 <> "0"
If N > 1 And Val(Mid(SOTIEN, (N - 1) * 3 - 2, 3)) > 0 Or (Val(S1) > 0) Then
Dich = "leû" & Space(1)
End If
End Select
Chu = Chu & Dich
Next K
End Select
ViTri = InStr(1, Chu, "möôi moät")
If ViTri > 0 Then Mid(Chu, ViTri, 9) = "möôi moát"
Ketqua = Ketqua & Chu
End If
Next N
End If
End If
VND = UCase(Left(Ketqua, 1)) & Trim(Mid(Ketqua, 2))
End Function

mong được anh chị giúp đỡ.
Trân trọng cảm ơn anh chị.
 

File đính kèm

  • doi so thanh chu.doc
    25 KB · Đọc: 19
Upvote 0
cho em hỏi khi userForm đang Show thì không thể focus hay thao tác gì trên các file excel khác đang mở ?
làm cách nào khắc phục ? nếu câu hỏi này đã có trên diễn đàn xin cho em biết đường link đến đó . Cảm ơn
 
Upvote 0
Upvote 0
phần nhập như bạn hai lúa sữa cho mình bây giờ là quá ổn
giờ minh muồn lúc mình nhập dữ liệu từ sheet DSHS xong thì sẽ tự cập nhật sang các sheet khác như trong file mình gữi đính kèm là số liệu sẽ sang sheet1,sheet2 theo đúng yêu cầu của mình.tức là nó sẽ tự phân ra theo mã DT,(cái mà mình tô màu đỏ sẽ sang một sheet và màu xanh sẽ sang một sheet)
rât mong nhận được sự giúp đỡ của các bạn

Các bạn cho mình nhờ chút nhé:
Cái form trên được tạo cho 2 Mã để copy sang 2 sheet khác nhau. Bây giờ mình muốn sửa để có 4,5 mã và copy sang 4,5 sheet khác nhau
Cảm ơn các bạn ! Thân!
 
Upvote 0
Bạn Hai Lúa ơi xem giùm mình cái. Thanks
 
Upvote 0
Giải thích dùm mình đoạn code sau;
(cho mình cám ơn trước nha)
Sub nhap_dulieu()
Dim n1, n2, n3, n4, n5, n6, n7, Shift As Integer
Dim Op, Pro_date, Line As String


'kiem tra loi
n1 = Application.WorksheetFunction.CountBlank(Sheets("inputdata").Range("F4:F18"))
n2 = Application.WorksheetFunction.CountBlank(Sheets("inputdata").Range("G4:G18"))
n3 = Application.WorksheetFunction.CountBlank(Sheets("inputdata").Range("H4:H18"))
n4 = Application.WorksheetFunction.CountBlank(Sheets("inputdata").Range("I4:I18"))
n5 = Application.WorksheetFunction.CountBlank(Sheets("inputdata").Range("J4:J18"))
n6 = Application.WorksheetFunction.CountBlank(Sheets("inputdata").Range("K4:K18"))
n7 = Application.WorksheetFunction.CountBlank(Sheets("inputdata").Range("L4:L18"))


Pro_date = Sheets("inputdata").Range("B2").Value
Shift = Sheets("inputdata").Range("D2").Value
Line = Sheets("inputdata").Range("F2").Value
Op = Sheets("inputdata").Range("H2").Value
' check cell
If Pro_date = "" Then
MsgBox ("BAN CHUA NHAP: Ngay San Xuat")
Exit Sub
End If
If Shift = 0 Then
MsgBox ("BAN CHUA NHAP: Ca San Xuat")
Exit Sub
End If
If Line = "" Then
MsgBox ("BAN CHUA NHAP: Line San Xuat")
Exit Sub
End If
If Op = "" Then
MsgBox ("BAN CHUA NHAP: TEN VHM ")
Exit Sub
End If


If n1 = 15 And n2 = 15 And n3 = 15 Then
MsgBox "BAN CHUA NHAP DATA VAO COT: F, G, H !!!"
Exit Sub
End If
If n1 = n7 And n2 = n7 And n3 = n7 And n4 = n7 And n5 = n7 And n6 = n7 Then
UserForm1.Show
Else
MsgBox "BAN KIEM TRA LAI DATA "
End If
End Sub


Sub Add_BOM(Posi As Integer)
Dim i, n, Dem As Integer


'Call Unpro_Form
'Clear material label, BOM, financle coefficien
Range("A23:I35").ClearContents
Range("P23:p35").ClearContents
' Add label, BOM, Unit, financl coeffient
n = Application.WorksheetFunction.Subtotal(3, Sheets("Products").Range("L5:BH5"))
Dem = 23
For i = 12 To n + 11
If Sheets("Products").Cells(Posi, i).Value <> "" Then
Range("A" & Dem).Value = Sheets("Products").Cells(3, i).Value ' Add code
Range("B" & Dem).Value = Sheets("Products").Cells(5, i).Value ' Add Unit
Range("D" & Dem).Value = Sheets("Products").Cells(4, i).Value ' Add Unit
Range("E" & Dem).Value = Sheets("Products").Cells(Posi, i).Value ' Add BOM

Dem = Dem + 1
End If
Next
'Call Pro_Form
End Sub
 
Upvote 0
Các câu hỏi về Form nhiều nhưng hình như chưa có mấy câu hỏi về giao diện form như bảng tính cập nhật dữ liệu (với nhiều mặt hàng, số lượng,....) trên Form xuống thì còn ít thì phải!? Em cũng tìm để nghiên cứu thêm mà không thấy có mấy nữa! Hay có lẽ em không tìm thấy?
 
Upvote 0
Các câu hỏi về Form nhiều nhưng hình như chưa có mấy câu hỏi về giao diện form như bảng tính cập nhật dữ liệu (với nhiều mặt hàng, số lượng,....) trên Form xuống thì còn ít thì phải!? Em cũng tìm để nghiên cứu thêm mà không thấy có mấy nữa! Hay có lẽ em không tìm thấy?
nếu "chịu khó" vào GPE thường xuyên + đọc các bài liên quan --> chắc chắn sẽ có ... ,,,,,,,

bạn tham khảo Pic sau xem sao nhé !

pic01.jpg
 
Upvote 0
E có một bảng dữ liệu gồm 4 cột : Mã, Tên, địa chỉ, chức vụ
E đã tạo một form với 1 listbox và 4 textbox
Nút ghi dữ liệu e đã làm xong nhưng có vấn đề là nếu mã số đã có trong bảng thì ko cho ghi nữa . Đó là vấn đề đầu tiên
Vấn đề thứ 2 là e chọn từ listbox một mã đã ghi rồi, rồi sửa lại . Đang bí button thứ 2 này

E Xin cảm ơn - - - - - - - - - - - - - - -
 

File đính kèm

  • gpee.xls
    45.5 KB · Đọc: 29
Lần chỉnh sửa cuối:
Upvote 0
Mã:
For Each Ten In Range([c16], [c65536].End(3))           
 If Ten > 0 And Ten.Font.ColorIndex <> 3 Then  '
                Doc = .Documents.Open(ThisWorkbook.Path & "\" & [d1] & ".doc")
                .Selection.Find.Execute [c12], , , , , , , , , Ten, [COLOR=#ff0000]2[/COLOR]
Dạ cho em hỏi số 2 chữ màu đỏ có ý nghĩa gì ạ
 
Upvote 0
bác nào giúp em với. em muốn điền dữ liệu từ form "thông tin hợp đồng" sang "sheet 2" sau khi bấm cập nhật
em mới tập tành VBA rất mong các bác giúp đỡ


Untitled.jpg
 

File đính kèm

  • thongtinhopdong.xls
    54 KB · Đọc: 42
Lần chỉnh sửa cuối:
Upvote 0
Web KT
Back
Top Bottom