ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
1697
1697
EMPFEHLEN
-
Hi Leute,
Ich hab in Excel eine Tabelle erstellt die ab und zu verändert wird. Dazu wollte ich versuchen dass das Wort "Version" und die entsprechende Nummer dazu in der Spalte B vor einer Speicherung heruntergezählt wird. Leider bekomme ich nicht ganz hin das zu erstellen.
Es sollte ungefähr so aussehen:
in B2 steht: Version 1.0
in B3 dann: Version 1.1
und so weiter...
Hier erstmal der Code wie er im Moment aussieht:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) VersionÄnderung = InputBox("Für den verständlicheren Umgang mit der aktuellen Version geben Sie bitte eine kurze Erklärung ihrer Änderungen ein!") Version = "Version " Versionnummer = 1.0 AktuelleVersion = Version & Versionnummer Sprungmarke: If VersionÄnderung = "" Then MsgBox "Bitte Änderung eingeben!" VersionÄnderung = InputBox("Für den verständlicheren Umgang mit der aktuellen Version, geben Sie bitte eine kurze Erklärung ihrer Änderungen ein!") GoTo Sprungmarke Else MsgBox "Änderung erfolgt!" Versionnummer = Versionnummer + "0,1" Worksheets("Tabelle3").Range("B2") = AktuelleVersion Worksheets("Tabelle3").Range("C2") = Now() Worksheets("Tabelle3").Range("D2") = VersionÄnderung End If End Sub
Hoffe ihr könnt mir etwas helfen da ich vorher nicht oft mit Visual Basic programmiert habe..
mfg
PS: Das Sprungelement ist nur zum Test drinne. Wird später durch eine While-Schleife ersetzt...
-
Hi Audrey,
versuch mal Folgendes.
Der Zähler bei "A1" kannst Du ja Weiss einfärben, dann sieht man ihn auch nicht mehr. ;o)
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim VersionÄnderung As Variant Dim Version As String Dim Versionnummer As Double Dim AktuelleVersion As String Dim LastPos As Integer Dim TextDummy As String VersionÄnderung = InputBox("Für den verständlicheren Umgang mit der aktuellen Version geben Sie bitte eine kurze Erklärung ihrer Änderungen ein!") Version = "Version " LastPos = CInt(Worksheets("Tabelle3").Range("A1").Value) 'Ermittle wo der letzte Eintrag war. CInt wandelt den allfälligen Text in ein Integer um. If LastPos = 0 Then LastPos = 1 'Falls LastPos noch Leer ist beim ersten Eintrag TextDummy = Worksheets("Tabelle3").Range("B" & 1 + LastPos).Value ' lese den letzten Versionstext ein If TextDummy = "" Then Versionnummer = 0.9 Else TextDummy = Right(TextDummy, Len(TextDummy) - Len(Version)) 'Schneide von Links her alles weg was keine Zahl ist Versionnummer = CDbl(TextDummy) 'Wandle "1.1" in ein Double um. End If Sprungmarke: If VersionÄnderung = "" Then MsgBox "Bitte Änderung eingeben!" VersionÄnderung = InputBox("Für den verständlicheren Umgang mit der aktuellen Version, geben Sie bitte eine kurze Erklärung ihrer Änderungen ein!") GoTo Sprungmarke Else MsgBox "Änderung erfolgt!" LastPos = LastPos + 1 'Erhöht die Position um 1 Versionnummer = Versionnummer + 0.1 'Für Jeden Durchlauf wird 0.1 addiert (Var muss ein Double sein, sonst entsteht: 10,10,10,1) AktuelleVersion = Version & Format(Versionnummer, "0.0") 'Format mit "0.0" macht, dass nicht "Version 1" sondern "Version 1.0" steht Worksheets("Tabelle3").Range("B" & 1 + LastPos).Value = AktuelleVersion '"B" & 1+1 ergiebt "B" & 2 ergiebt "B2" Worksheets("Tabelle3").Range("C" & 1 + LastPos).Value = Now() 'Du könntest auch mit Cells(Zeile,Spalte) arbeiten 'Worksheets("Tabelle3").Cells(1 + LastPos, 3) = Now() ' Das 1+LastPos ergiebt 2 und die 3 entspricht "C" -> "C2" Worksheets("Tabelle3").Range("D" & 1 + LastPos).Value = VersionÄnderung Worksheets("Tabelle3").Range("A1").Value = LastPos 'Speichern der letzten Position End If End Sub
Gruss Diseli
Ähnliche Themen
-
Pixel zählen mit Visual Basic
Von dumme nuss im Forum Visual Basic 6.0Antworten: 3Letzter Beitrag: 19.04.08, 21:35 -
visual-basic .net mit excel 2003
Von Oolee_74 im Forum Microsoft WindowsAntworten: 0Letzter Beitrag: 25.04.07, 08:17 -
Excel/Visual Basic Frage!
Von kingmat5 im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 01.09.05, 15:30 -
Visual Basic mit Excel verknüpfen
Von redriver im Forum Visual Basic 6.0Antworten: 4Letzter Beitrag: 07.10.04, 17:52 -
Excel & Visual Basic
Von schiefju im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 23.09.03, 13:42





Zitieren
Login





