Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Automatisch Anfangspalte ändern

Forumthread: Automatisch Anfangspalte ändern

Automatisch Anfangspalte ändern
29.11.2002 21:34:50
Stefanie
Hallo,

ich Benutze folgenden Code zum Umwandeln von Datum-Formate in Zahlenformate. Nun mein Problem die Anfangsspalte ändert häufig von 8 auf 9, oder mal wieder auf 7 etc. . Gibt es da Abhilfe daß der Code das selbstständig macht, weil wenn ich nicht Umstelle erhalte ich eine Fehlermeldung.

Danke Udo

Public Sub tabelle_reparieren()
Dim LastPlace, Z As Variant, X As Variant
Dim Hilf, Hilf2, HilfLänge, HilfKomma, Counter As Integer
Dim dZahl As Double
Dim lZahl1 As Long

Const AnfangsSpalte As Integer = 8
Const AnfangsZeile As Integer = 2
Const MaxWert As Integer = 80
Const markieren As Integer = 1 ' 0 für kein FETT-Schrift bei geänderten Feldern

Counter = 0 'fehlerzähler auf 0 initalisieren
LastPlace = ActiveCell.SpecialCells(xlLastCell).Address
ActiveSheet.Range(Cells(AnfangsZeile, AnfangsSpalte), LastPlace).Select
Z = Selection.Address 'Get the address
For Each X In ActiveSheet.Range(Z) 'Do while
If Len(X) > 0 Then 'Find cells with something
HilfKomma = InStr(X, ".")
If (IsNumeric(X) And (HilfKomma > 0)) Then
' ########## FEHLER 1) zahl mit "." gefunden
HilfLänge = Len(X)
Hilf = Mid(X, 1, HilfKomma - 1)
Hilf2 = Mid(X, HilfKomma + 1, HilfLänge - HilfKomma)
If Left(Hilf, 1) = "-" Then ' wenn Zahl vor Komma negativ, dann müssen die beiden Werte subtrahiert werden
dZahl = CDbl(Hilf) - (CDbl(Hilf2) / 10)
Else ' ansonsten müssen sie addiert werden
dZahl = CDbl(Hilf) + (CDbl(Hilf2) / 10)
End If
'ist zahl negativ? wenn ja, ausdruck negieren
'If Left(Hilf, 1) = "-" Then
' dZahl = -dZahl
'End If
X.NumberFormat = "##0.00"
X.Value = dZahl
Counter = Counter + 1
If markieren Then
X.Font.Bold = True ' geändertes markieren
End If
End If

If (CDbl(X) > MaxWert) Then
' ########## FEHLER 2) ungewolltes datumsfeld gefunden
Hilf = CStr(Day(X))
Hilf2 = CStr(Month(X))
dZahl = CDbl(Hilf) + (CDbl(Hilf2) / 10)
X.NumberFormat = "##0.00"
X.Value = dZahl
Counter = Counter + 1
If markieren Then
X.Font.Bold = True ' geändertes markieren
End If
End If

Else
' else -> Feld ist leer! also nix machen
End If
Next
MsgBox ("Anzahl der Fehler in dieser Tabelle: " + CStr(Counter))
End Sub

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Automatisch Anfangspalte ändern
29.11.2002 21:42:05
PeterW
Hallo Udo/Stefanie,

der einfachste Weg würde sein, per Inputbox die Anfangsspalte dem Code zu übergeben. Welche Möglichkeiten seht ihr, dass Excel den Anfang automatisch findet?

Gruß
Peter

Re: Automatisch Anfangspalte ändern
29.11.2002 23:12:01
Udo
Hallo Peter,

ich kann mit dem Begriff Input-Box nichts Anfangen. Kannst Du mir ein Beispiel geben/schreiben wie das Aussehen könnte.

Udo

Anzeige
Re: Automatisch Anfangspalte ändern
29.11.2002 23:22:44
PeterW
Hallo Udo,

mal ein Beispiel für eine Inputbox:

Mehr Infos gibt es in der VBA-Hilfe, wenn Du mit dem Cursor auf Inputbox im Code gehst und F1 drückst.

Gruß
Peter

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige