Σελίδα 6 από 7
Re: Visual basic
Δημοσιεύτηκε: 27 Οκτ 2020, 19:35
από wooded glade
tinafto ;
Array 13 τέτοια πως κάνουμε ρώτησα, να σχηματίζονται τα 12 at runtime.
Αλλά δεν έχεις ιδέα.
Re: Visual basic
Δημοσιεύτηκε: 28 Οκτ 2020, 17:46
από klg
wooded glade έγραψε: 27 Οκτ 2020, 19:35
tinafto ;
Array 13 τέτοια πως κάνουμε ρώτησα, να σχηματίζονται τα 12 at runtime.
Αλλά δεν έχεις ιδέα.
Τι πώς ρε μαν;
Κώδικας: Επιλογή όλων
Dim controls As Array = Array.CreateInstance(GetType(TextBox), 13)
Dim i As Integer
For i = controls.GetLowerBound(0) To controls.GetUpperBound(0) - 1
controls(i) = New TextBox()
Next i
Re: Visual basic
Δημοσιεύτηκε: 23 Νοέμ 2020, 20:36
από bedouin024
wooded glade έγραψε: 14 Οκτ 2020, 10:33
Αλλά σε basic δεν υπάρχει κάτι να ξεφύγει κανείς από τον τσιπάκια ;
Προτείνω την
BlitzMax
Re: Visual basic
Δημοσιεύτηκε: 23 Νοέμ 2020, 20:47
από Δημοκρατικός
klg έγραψε: 28 Οκτ 2020, 17:46
wooded glade έγραψε: 27 Οκτ 2020, 19:35
tinafto ;
Array 13 τέτοια πως κάνουμε ρώτησα, να σχηματίζονται τα 12 at runtime.
Αλλά δεν έχεις ιδέα.
Τι πώς ρε μαν;
Κώδικας: Επιλογή όλων
Dim controls As Array = Array.CreateInstance(GetType(TextBox), 13)
Dim i As Integer
For i = controls.GetLowerBound(0) To controls.GetUpperBound(0) - 1
controls(i) = New TextBox()
Next i
Πονέσαν τα κεφάλια μας
Γράψτο μία σε C# να ξαναμπούν τα μυαλά στο κεφάλι

Re: Visual basic
Δημοσιεύτηκε: 24 Νοέμ 2020, 22:02
από klg
Δημοκρατικός έγραψε: 23 Νοέμ 2020, 20:47
klg έγραψε: 28 Οκτ 2020, 17:46
wooded glade έγραψε: 27 Οκτ 2020, 19:35
tinafto ;
Array 13 τέτοια πως κάνουμε ρώτησα, να σχηματίζονται τα 12 at runtime.
Αλλά δεν έχεις ιδέα.
Τι πώς ρε μαν;
Κώδικας: Επιλογή όλων
Dim controls As Array = Array.CreateInstance(GetType(TextBox), 13)
Dim i As Integer
For i = controls.GetLowerBound(0) To controls.GetUpperBound(0) - 1
controls(i) = New TextBox()
Next i
Πονέσαν τα κεφάλια μας
Γράψτο μία σε C# να ξαναμπούν τα μυαλά στο κεφάλι
Καλά, γενικά δεν χρειάζεται ποτέ να γράψεις κάτι τέτοιο (ούτε σε C#, ούτε σε VB), PoC για τον κάφτη τον wooden ήταν.
Re: Visual basic
Δημοσιεύτηκε: 26 Νοέμ 2020, 19:17
από Γιάννης
wooded glade έγραψε: 14 Οκτ 2020, 09:01
Η visual basic είναι καλούτσικη γλώσσα και γρήγορη.
Έχω την vb6 και τη χρησιμοποιώ για να φτιάχνω διάφορα apps και επίσης για υπολογισμούς.
Αλλά ξέρετε από πότε είναι ;
Από το ... 1998 είναι !
Φυσικά η Microsoft δεν την υποστηρίζει πιά και επίσης κάποια από τα βοηθητικά αρχεία dll της λείπουν εντελώς από τις νεώτερες εκδόσεις των windows (7.00 - 10.00).
Τι γίνεται ;
Υπάρχουν νεώτερες εκδόσεις - ίσαμε 10.
Έχω εγώ μία του 2006.
Αλλά από την vb6 και μετά είναι όλες οικτρά υποβαθμισμένες.
Έδοξε τω τσιπάκια να είναι οικτρά υποβαθμισμένες.
Δεν το λέω μόνο εγώ αυτό. Το λένε όλοι και μάλιστα υπάρχουν πολλά φόρουμ vb6 users στο διαδίκτυο όπου συζητιώνται διάφορα προγραμματιστικά θέματα, με βάση την vb6 του 1998 πάντα.
Κάποιο αντίστοιχο νεώτερο προϊόν υπάρχει λοιπόν ή θα μείνουμε με αυτό ;
+έλεοc+
Είμαστε στον 20ο αιώνα, μην ασχολείσαι με πτώματα νεκρών γλωσσών. Βάλε python να κάνεις τη δουλειά σου σαν άθρωπος.
Η έστω C# αν καίγεσαι περισσότερο για Windows apps.
Άκου VB... πού τη θυμήθηκες χριστιανέ μου...
Re: Visual basic
Δημοσιεύτηκε: 26 Νοέμ 2020, 19:27
από parafrwn
Γιάννης έγραψε: 26 Νοέμ 2020, 19:17
wooded glade έγραψε: 14 Οκτ 2020, 09:01
Η visual basic είναι καλούτσικη γλώσσα και γρήγορη.
Έχω την vb6 και τη χρησιμοποιώ για να φτιάχνω διάφορα apps και επίσης για υπολογισμούς.
Αλλά ξέρετε από πότε είναι ;
Από το ... 1998 είναι !
Φυσικά η Microsoft δεν την υποστηρίζει πιά και επίσης κάποια από τα βοηθητικά αρχεία dll της λείπουν εντελώς από τις νεώτερες εκδόσεις των windows (7.00 - 10.00).
Τι γίνεται ;
Υπάρχουν νεώτερες εκδόσεις - ίσαμε 10.
Έχω εγώ μία του 2006.
Αλλά από την vb6 και μετά είναι όλες οικτρά υποβαθμισμένες.
Έδοξε τω τσιπάκια να είναι οικτρά υποβαθμισμένες.
Δεν το λέω μόνο εγώ αυτό. Το λένε όλοι και μάλιστα υπάρχουν πολλά φόρουμ vb6 users στο διαδίκτυο όπου συζητιώνται διάφορα προγραμματιστικά θέματα, με βάση την vb6 του 1998 πάντα.
Κάποιο αντίστοιχο νεώτερο προϊόν υπάρχει λοιπόν ή θα μείνουμε με αυτό ;
+έλεοc+
Είμαστε στον 20ο αιώνα, μην ασχολείσαι με πτώματα νεκρών γλωσσών. Βάλε python να κάνεις τη δουλειά σου σαν άθρωπος.
Η έστω C# αν καίγεσαι περισσότερο για Windows apps.
Άκου VB... πού τη θυμήθηκες χριστιανέ μου...

Re: Visual basic
Δημοσιεύτηκε: 22 Νοέμ 2023, 15:19
από ΑΧΑΡΙΣΤΟΣ
Γνωριζει κανεις VB?
Κώδικας: Επιλογή όλων
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
Range("R4:R" & lastRow).Value = [INDEX((L4:L1000 +INDEX((O4:O1000),) + INDEX((Q4:Q1000),)),)]
Πως κανω το "L1000", "O1000" και "Q1000" να ειναι "lastRow" αντι για 1000? Δε θελω να τρεχω ολο το code μεχρι το χιλιοστο cell οταν εχω μονο 100 cells πχ.
Στο excel that is....

Re: Visual basic
Δημοσιεύτηκε: 24 Νοέμ 2023, 14:39
από Isildur
ΑΧΑΡΙΣΤΟΣ έγραψε: 22 Νοέμ 2023, 15:19
Γνωριζει κανεις VB?
Κώδικας: Επιλογή όλων
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
Range("R4:R" & lastRow).Value = [INDEX((L4:L1000 +INDEX((O4:O1000),) + INDEX((Q4:Q1000),)),)]
Πως κανω το "L1000", "O1000" και "Q1000" να ειναι "lastRow" αντι για 1000? Δε θελω να τρεχω ολο το code μεχρι το χιλιοστο cell οταν εχω μονο 100 cells πχ.
Στο excel that is....
Δεν είμαι σίγουρος, επειδή με excel σε vb έχω χρόνια να ασχοληθώ, αν όμως δώσεις όλο το range σαν variable δεν γίνεται; Κάτι τέτοιο, εννοώ:
Κώδικας: Επιλογή όλων
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
RangeL = Range("L4:L" & lastRow).Range
RangeO = Range("O4:O" & lastRow).Range
RangeQ = Range("Q4:Q" & lastRow).Range
Range("R4:R" & lastRow).Value = [INDEX((RangeL +INDEX((RangeO),) + INDEX((RangeQ),)),)]

Re: Visual basic
Δημοσιεύτηκε: 24 Νοέμ 2023, 16:52
από ΑΧΑΡΙΣΤΟΣ
Isildur έγραψε: 24 Νοέμ 2023, 14:39
ΑΧΑΡΙΣΤΟΣ έγραψε: 22 Νοέμ 2023, 15:19
Γνωριζει κανεις VB?
Κώδικας: Επιλογή όλων
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
Range("R4:R" & lastRow).Value = [INDEX((L4:L1000 +INDEX((O4:O1000),) + INDEX((Q4:Q1000),)),)]
Πως κανω το "L1000", "O1000" και "Q1000" να ειναι "lastRow" αντι για 1000? Δε θελω να τρεχω ολο το code μεχρι το χιλιοστο cell οταν εχω μονο 100 cells πχ.
Στο excel that is....
Δεν είμαι σίγουρος, επειδή με excel σε vb έχω χρόνια να ασχοληθώ, αν όμως δώσεις όλο το range σαν variable δεν γίνεται; Κάτι τέτοιο, εννοώ:
Κώδικας: Επιλογή όλων
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
RangeL = Range("L4:L" & lastRow).Range
RangeO = Range("O4:O" & lastRow).Range
RangeQ = Range("Q4:Q" & lastRow).Range
Range("R4:R" & lastRow).Value = [INDEX((RangeL +INDEX((RangeO),) + INDEX((RangeQ),)),)]
Ευχαριστω αλλα το εχω δοκιμασει και δε δουλευει. Πιο συγκεκριμενα μου δινει #NAME? sto column R. Εχω δοκιμασει διαφορους τροπους αλλα τιποτα. Ειμαι ψιλοασχετος με VB αλλα δε μπορω να καταλαβω γιατι μου δινει #NAME?
Κώδικας: Επιλογή όλων
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$K$2" Or Target.Address = "$N$2" Or Target.Address = "$X$2" Or Target.Address = "$Y$2" Or Target.Column = 17 Then
Dim lastRow As Long
Dim RangeL As Range
Dim RangeQ As Range
Dim RangeO As Range
Dim RangeR As Range
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
Set RangeL = Range("L4:L" & lastRow)
Set RangeO = Range("O4:O" & lastRow)
Set RangeQ = Range("Q4:Q" & lastRow)
Set RangeR = Range("R4:R" & lastRow)
RangeR = [INDEX((RangeL +INDEX((RangeO),) + INDEX((RangeQ),)),)]
Application.ScreenUpdating = True
End If
End Sub
Re: Visual basic
Δημοσιεύτηκε: 24 Νοέμ 2023, 18:43
από Isildur
ΑΧΑΡΙΣΤΟΣ έγραψε: 24 Νοέμ 2023, 16:52
Isildur έγραψε: 24 Νοέμ 2023, 14:39
ΑΧΑΡΙΣΤΟΣ έγραψε: 22 Νοέμ 2023, 15:19
Γνωριζει κανεις VB?
Κώδικας: Επιλογή όλων
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
Range("R4:R" & lastRow).Value = [INDEX((L4:L1000 +INDEX((O4:O1000),) + INDEX((Q4:Q1000),)),)]
Πως κανω το "L1000", "O1000" και "Q1000" να ειναι "lastRow" αντι για 1000? Δε θελω να τρεχω ολο το code μεχρι το χιλιοστο cell οταν εχω μονο 100 cells πχ.
Στο excel that is....
Δεν είμαι σίγουρος, επειδή με excel σε vb έχω χρόνια να ασχοληθώ, αν όμως δώσεις όλο το range σαν variable δεν γίνεται; Κάτι τέτοιο, εννοώ:
Κώδικας: Επιλογή όλων
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
RangeL = Range("L4:L" & lastRow).Range
RangeO = Range("O4:O" & lastRow).Range
RangeQ = Range("Q4:Q" & lastRow).Range
Range("R4:R" & lastRow).Value = [INDEX((RangeL +INDEX((RangeO),) + INDEX((RangeQ),)),)]
Ευχαριστω αλλα το εχω δοκιμασει και δε δουλευει. Πιο συγκεκριμενα μου δινει #NAME? sto column R. Εχω δοκιμασει διαφορους τροπους αλλα τιποτα. Ειμαι ψιλοασχετος με VB αλλα δε μπορω να καταλαβω γιατι μου δινει #NAME?
Κώδικας: Επιλογή όλων
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$K$2" Or Target.Address = "$N$2" Or Target.Address = "$X$2" Or Target.Address = "$Y$2" Or Target.Column = 17 Then
Dim lastRow As Long
Dim RangeL As Range
Dim RangeQ As Range
Dim RangeO As Range
Dim RangeR As Range
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
Set RangeL = Range("L4:L" & lastRow)
Set RangeO = Range("O4:O" & lastRow)
Set RangeQ = Range("Q4:Q" & lastRow)
Set RangeR = Range("R4:R" & lastRow)
RangeR = [INDEX((RangeL +INDEX((RangeO),) + INDEX((RangeQ),)),)]
Application.ScreenUpdating = True
End If
End Sub
Το
Κώδικας: Επιλογή όλων
RangeR = [INDEX((RangeL +INDEX((RangeO),) + INDEX((RangeQ),)),)]
είναι σωστό; Κάτι δεν μ' αρέσει στη σύνταξη, αλλά μπορεί να κάνω και λάθος. Εννοώ, εκείνο το " INDEX((RangeL +INDEX((RangeO),) " είναι εντάξει;
Επίσης, τα
Set RangeL = Range("L4:L" & lastRow) κλπ είναι σωστά;
Μήπως χρειάζεται η πλήρης σύνταξη
Set RangeL = Range("L4:L" & lastRow).Range;
Re: Visual basic
Δημοσιεύτηκε: 24 Νοέμ 2023, 18:57
από Yochanan
Κώδικας: Επιλογή όλων
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$K$2" Or Target.Address = "$N$2" Or Target.Address = "$X$2" Or Target.Address = "$Y$2" Or Target.Column = 17 Then
Dim lastRow As Long
Dim RangeL As Range
Dim RangeQ As Range
Dim RangeO As Range
Dim RangeR As Range
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
Set RangeL = Range("L4:L" & lastRow)
Set RangeO = Range("O4:O" & lastRow)
Set RangeQ = Range("Q4:Q" & lastRow)
Set RangeR = Range("R4:R" & lastRow)
RangeR.Value = Application.Index((RangeL.Value + RangeO.Value + RangeQ.Value), 0)
Application.ScreenUpdating = True
End If
End Sub
ChatGPT
Re: Visual basic
Δημοσιεύτηκε: 24 Νοέμ 2023, 19:00
από Isildur
Yochanan έγραψε: 24 Νοέμ 2023, 18:57
Κώδικας: Επιλογή όλων
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$K$2" Or Target.Address = "$N$2" Or Target.Address = "$X$2" Or Target.Address = "$Y$2" Or Target.Column = 17 Then
Dim lastRow As Long
Dim RangeL As Range
Dim RangeQ As Range
Dim RangeO As Range
Dim RangeR As Range
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
Set RangeL = Range("L4:L" & lastRow)
Set RangeO = Range("O4:O" & lastRow)
Set RangeQ = Range("Q4:Q" & lastRow)
Set RangeR = Range("R4:R" & lastRow)
RangeR.Value = Application.Index((RangeL.Value + RangeO.Value + RangeQ.Value), 0)
Application.ScreenUpdating = True
End If
End Sub
ChatGPT

Re: Visual basic
Δημοσιεύτηκε: 24 Νοέμ 2023, 19:09
από Dwarven Blacksmith
Το δοκίμασα κι εγώ

Re: Visual basic
Δημοσιεύτηκε: 24 Νοέμ 2023, 19:23
από ΑΧΑΡΙΣΤΟΣ
Yochanan έγραψε: 24 Νοέμ 2023, 18:57
Κώδικας: Επιλογή όλων
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$K$2" Or Target.Address = "$N$2" Or Target.Address = "$X$2" Or Target.Address = "$Y$2" Or Target.Column = 17 Then
Dim lastRow As Long
Dim RangeL As Range
Dim RangeQ As Range
Dim RangeO As Range
Dim RangeR As Range
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
Set RangeL = Range("L4:L" & lastRow)
Set RangeO = Range("O4:O" & lastRow)
Set RangeQ = Range("Q4:Q" & lastRow)
Set RangeR = Range("R4:R" & lastRow)
RangeR.Value = Application.Index((RangeL.Value + RangeO.Value + RangeQ.Value), 0)
Application.ScreenUpdating = True
End If
End Sub
ChatGPT
Run-time error '13':
Type mismatch
Chat G T P
Isildur έγραψε: 24 Νοέμ 2023, 18:43
Το
Κώδικας: Επιλογή όλων
RangeR = [INDEX((RangeL +INDEX((RangeO),) + INDEX((RangeQ),)),)]
είναι σωστό; Κάτι δεν μ' αρέσει στη σύνταξη, αλλά μπορεί να κάνω και λάθος. Εννοώ, εκείνο το " INDEX((RangeL +INDEX((RangeO),) " είναι εντάξει;
Επίσης, τα
Set RangeL = Range("L4:L" & lastRow) κλπ είναι σωστά;
Μήπως χρειάζεται η πλήρης σύνταξη
Set RangeL = Range("L4:L" & lastRow).Range;
Δε ξερω. το
Range("R4:R" & lastRow).Value = [INDEX((L4:L1000 +INDEX((O4:O1000),) + INDEX((Q4:Q1000),)),)] δουλευει μια χαρα.
Set RangeL = Range("L4:L" & lastRow).Range; Αν βαλω .Range μου γυριζει λαθος.
Θa ξανακοιταξω aργοτερα ή αυριο γιτι επιασα το hardware τωρα.