Microsoft Excel

Herbers Excel/VBA-Archiv

Entschuldigung und Großen Dank

Betrifft: Entschuldigung und Großen Dank von: Lilli
Geschrieben am: 24.01.2020 11:10:01

Hallo Ihr lieben,


ich habe am 2019-09-26 einen Beitrag erstellt und habe auch daraufhin viele gute Antworten bekommen, worüber ich sehr dankbar bin.


Leider bin ich aus Krankheitsgründen viele Monate ausgefallen, dass ich weder das testen konnte noch mich bedanken konnte noch ein Feedback geben konnte.


Ich bitte alle, das sind MCO, Dieter Klemke und Werner, die mir geholfen haben um Entschuldigung, dass ich vorher nicht antworten konnte und kein Feedback geben konnte. Das will hiermit nachreichen.


Hier die Seite: https://www.herber.de/forum/cgi-bin/callthread.pl?index=1714906


Ich habe die Tage die Lösungen ausprobiert und das funktioniert auch sehr gut. An dieser Stelle vielen herzlichen Dank für Euer Hilfe und für die tollen Lösungen.

Bei der Lösung von Dieter finde ich sehr gut, dass es um eine Spalte handelt. Das werde ich auch in eine andere Tabelle nutzen. In meinem Momentanen Fall handelt es sich um den "Missbrauch" von Excel als Formularblatt. Deshalb habe ich momentan nur eine Zelle: AC24

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim rest As String
  Dim zf As String
  
  If Not Intersect(Target, Me.Columns("B")) Is Nothing Then
    Application.EnableEvents = False
    If Target.Cells.Count = 1 Then
      If IsNumeric(Target) Then
        If Len(Target) > 5 Then
          rest = Right$(Target, Len(Target) - 5)
          zf = ""
          Do Until rest = ""
            If Len(rest) > 4 Then
              zf = zf & " " & Left$(rest, 4)
              rest = Right$(rest, Len(rest) - 4)
            Else
             zf = zf & " " & rest
             rest = ""
            End If
          Loop
          Target = "+" & Left$(Target, 2) & " " & Mid$(Target, 3, 3) & " " & zf
        ElseIf Len(Target) > 2 Then
          Target = "+" & Left$(Target, 2) & " " & Right$(Target, Len(Target) - 2)
        Else
          Target = "'+" & Target
        End If
      End If
    End If
    Application.EnableEvents = True
    Exit Sub
  End If
  If Not Intersect(Target, Range("AC6")) Is Nothing Then
    Application.EnableEvents = False
    Target = UCase(Target)
    Application.EnableEvents = True
  End If
End Sub

kann man das vielleicht so ändern, dass man die Zelle AC24 statt die ganze Spalte B formatiert wird?


Vielen Dank für die Hilfe und Mühe im Voraus.


Viele liebe Grüße, Lilli :)

Betrifft: AW: Entschuldigung und Großen Dank
von: Werner
Geschrieben am: 24.01.2020 16:53:56

Hallo Lilli,

dann hoffe ich mal, dass gesundheitlich wieder alles im Lot ist.

Zu deinem "Problem":

Diese Codezeile:
 If Not Intersect(Target, Me.Columns("B")) Is Nothing Then

Durch diese hier ersetzen:
If Target.Address(0, 0) = "AC25" Then
Gruß Werner

Betrifft: AW: Entschuldigung und Großen Dank
von: Lilli
Geschrieben am: 27.01.2020 09:30:47

Hallo Werner,

vielen lieben Dank für Deine Hilfe.
Ich probieren heute Nachmittag aus und gebe Dir Bescheid. Aber ich habe kein Zweifel, dass es klappt.

Gesundheitlich noch nicht komplett durch, aber ich darf wieder arbeiten, worüber ich sehr dankbar bin.

Vielen herzlichen Dank noch mal.

liebe Grüße,
Lilli :)

Betrifft: AW: Entschuldigung und Großen Dank
von: Lilli
Geschrieben am: 29.01.2020 11:41:10

Hallo Werner,

aus dem Nachmittag ist leider heute geworden. Es tut mir Leid, dass es nicht früher geklappt hat.

ich wollte Dir mitteilen, dass es klasse funktioniert.

Vielen lieben Dank dafür.

Liebe Grüße, Lilli :)

Betrifft: Gerne u. Danke für die Rückmeldung. o.w.T.
von: Werner
Geschrieben am: 29.01.2020 15:19:03