• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Nhờ người giúp chuyển đổi code từ VBA Excel sang VB.net

Nơi trao đổi về các vấn đề trong lập trình Windows Forms, Console dùng cú pháp ngôn ngữ Visual Basic .NET và C#

Moderators: tungblt, vuathongtin

dosown94
Posts: 3
Joined: Wed 26/08/2020 1:08 pm
Has thanked: 1 time

Nhờ người giúp chuyển đổi code từ VBA Excel sang VB.net

Postby dosown94 » Wed 26/08/2020 3:20 pm

Em chào anh chị
Sau đây là đoạn code em viết ở Excel nhưng khi đưa sang VB.net thì 1 số lệnh chỉ ở vba excel mới chạy được còn VB net không hiểu. nên em cần trợ giúp. rất mong nhận được góp ý từ các anh chị ạ.
  1. Sub LocD()
  2. dd = ActiveSheet.Cells(3, 1).Value
  3. dc = ActiveSheet.Cells(5, 1).Value - 1
  4.     With Application
  5.         ActiveSheet.Shapes("txtbox").Select
  6.         On Error Resume Next
  7.         If Selection.Characters.Text = "Analyze-Hide" Then
  8.             Selection.Characters.Text = "Analyze-Show"
  9.             rc1 = ActiveSheet.Cells(dd - 2, 2).End(xlDown).Row
  10.             ActiveSheet.Range("B" & rc1 + 1 & ":A" & dc).EntireRow.Hidden = True
  11.        Else
  12.             Selection.Characters.Text = "Analyze-Hide"
  13.             ActiveSheet.Range("B" & dd & ":B" & dc).EntireRow.Hidden = False
  14.         End If
  15.         rc2 = .Cells(dd - 3, 2).End(xlDown).Row
  16.  rc = Application.Max(rc2, dd)
  17.     ActiveSheet.Range("I" & dd & ":I" & rc).FormulaR1C1 = _
  18.         "=tinhlaiMomen(RC[-5],RC[-2],3)*RC[-2]/ABS(RC[-2])"
  19.      ActiveSheet.Range("I" & dd & ":I" & rc).Value = ActiveSheet.Range("I" & dd & ":I" & rc).Value
  20.     ActiveSheet.Range("J" & dd & ":J" & rc).FormulaR1C1 = _
  21.         "=tinhlaiMomen(RC[-6],RC[-2],2)*RC[-2]/ABS(RC[-2])"
  22.         ActiveSheet.Range("j" & dd & ":j" & rc).Value = ActiveSheet.Range("j" & dd & ":j" & rc).Value
  23.     ActiveSheet.Range("K" & dd & ":K" & rc).FormulaR1C1 = "=hsat(RC[-7],RC[-2],RC[-1])"
  24.     ActiveSheet.Range("k" & dd & ":k" & rc).Value = ActiveSheet.Range("k" & dd & ":k" & rc).Value
  25.     ActiveSheet.Range("L" & dd & ":L" & rc).FormulaR1C1 = "=IFERROR(hsatQ(RC[-7],RC[-6]),1)"
  26.     ActiveSheet.Range("l" & dd & ":l" & rc).Value = ActiveSheet.Range("l" & dd & ":l" & rc).Value
  27.     ActiveSheet.Range("b" & dd - 1 & ":I" & dd - 1).Copy
  28.    ActiveSheet.Range("b" & dd & ":I" & rc).PasteSpecial (xlPasteFormats)
  29.    ActiveSheet.Range("C" & dd - 3).Select
  30.      End With
  31. End Sub



User avatar
thuanfun
Thành viên tích cực
Thành viên tích cực
Posts: 153
Joined: Thu 06/11/2008 7:46 pm
Been thanked: 14 times

Re: Nhờ người giúp chuyển đổi code từ VBA Excel sang VB.net

Postby thuanfun » Wed 26/08/2020 9:18 pm

Bạn chuyển sang viết add-in bằng VB.NET phải không?
Nhận code VB.NET theo yêu cầu

dosown94
Posts: 3
Joined: Wed 26/08/2020 1:08 pm
Has thanked: 1 time

Re: Nhờ người giúp chuyển đổi code từ VBA Excel sang VB.net

Postby dosown94 » Thu 27/08/2020 8:03 am

Trả lời bác @Thuanfun: Dạ không ạ. EM muốn làm 1 thự viện liên kết chạy trong excel. Các nút lệnh và hàm tính nằm trong file .dll. Excel chỉ gọi lên và chạy

User avatar
thuanfun
Thành viên tích cực
Thành viên tích cực
Posts: 153
Joined: Thu 06/11/2008 7:46 pm
Been thanked: 14 times

Re: Nhờ người giúp chuyển đổi code từ VBA Excel sang VB.net

Postby thuanfun » Thu 27/08/2020 5:03 pm

Vậy bạn định làm thư viên COM dll rồi add vào VBA để gọi từ code VBA phải không?
Nhận code VB.NET theo yêu cầu

dosown94
Posts: 3
Joined: Wed 26/08/2020 1:08 pm
Has thanked: 1 time

Re: Nhờ người giúp chuyển đổi code từ VBA Excel sang VB.net

Postby dosown94 » Fri 28/08/2020 7:51 am

Trả lời bác @Thuanfun:dạ đúng rồi đó bác ạ. em muốn làm 1 thư viện độc lập excel để không bị virus ăn mất file của em hoặc không cho mở ra

User avatar
thuanfun
Thành viên tích cực
Thành viên tích cực
Posts: 153
Joined: Thu 06/11/2008 7:46 pm
Been thanked: 14 times

Re: Nhờ người giúp chuyển đổi code từ VBA Excel sang VB.net

Postby thuanfun » Fri 28/08/2020 10:54 am

Bạn chỉ rõ xem sau khi bạn convert sang VB.Net thì những đoạn code nào ko chạy đc nhé. Mình sẽ xem giúp.
Nhận code VB.NET theo yêu cầu


Return to “Visual Basic .NET và C# (VB.NET & C#)”

Who is online

Users browsing this forum: No registered users and 29 guests