online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Bark vom 02.06.2022, 14:08 Options

Kleines Excel-Problem

Folgendes Problem.
Wie ihr vielleicht erkennt versuche ich mit Hilfe von VB Excel dazu zu bewegen Abkürzungen in volle Städtenamen zu wandeln.
Das ging auch ganz gut. Nur möchte ich jetzt -in meinem Grössenwahn - das nicht nur mit Zelle B12 machen, sondern das ganze von B12 bis B20.
Nur so wie ich es hier hingebastelt habe geht irgendwie nicht.

Die Problemstelle ist zur schnelleren auffindung mit (<----) markiert.

Wenn jemand mir da mal helfen könnte:(


Private Sub Worksheet_Change(ByVal Target As Range)
Dim B(50) As String
Dim j As Integer

Dim stadtk(50) As String
stadtk(1) = "QLB"
stadtk(2) = "HBS"

Dim stadtv(50) As String
stadtv(1) = "Quedlinburg"
stadtv(2) = "Halberstadt"

Dim i As Integer
For j = 12 To 20
For i = 1 To 2

If Range("B(j)").Value = stadtk(i) Then             <----
Range("B(j)").Select                                <----
ActiveCell.FormulaR1C1 = stadtv(i)

End If
Next i
Next j
End Sub


Antwort schreiben

Antwort 1 von Saarbauer vom 02.06.2022, 14:15 Options

Hallo,

mach es mal so

If Range("B"& j).Value = stadtk(i) Then Range("B" & j).Value = stadtv(i)

Anmerkung: ohne End If geht nur wenn eine Funktion auszuführen ist

Gruß

Helmut

Antwort 2 von Bark vom 02.06.2022, 15:38 Options

Toll. Da probiere ich stundenlang alle möglichen und unmöglichen Theorien aus und dann ist es das naheliegenste.

Danke, damit hast du mir sehr geholfen:)

Antwort 3 von nighty vom 03.06.2022, 11:32 Options

hi bark ^^

hier ein beispiel wie ich es viielleicht realisiert haette

tab 1 spalte b deine eingabe der kuerzel
tab 2 spalte a kuerzel,ab zeile 2/koennte ausgeblendet sein
tab 2 spalte b name,ab zeile 2/koennte ausgeblendet sein

einzufuegen
alt+f11/projektexplorer/deinetabelle

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    If Selection.Count < 2 Then
        If Target.Column = 2 Then
            Dim suche As Range
            Set suche = Worksheets(2).Range("A2:A" & Worksheets(2).Range("A" & Rows.Count).End(xlUp).Row).Find(Workbooks(1).Worksheets(1).Cells(Target.Row, 2))
            If Not suche Is Nothing Then
                 Worksheets(1).Cells(Target.Row, 2) = Worksheets(2).Cells(suche.Row, 2)
            End If
        End If
    End If
    Application.EnableEvents = True
End Sub  


gruss nighty

Antwort 4 von nighty vom 03.06.2022, 12:14 Options

hi bark ^^

wenn dich arrays interessieren,dann ein beispiel :-)

gruss nighty

Option Explicit  
Sub ArraySuche()
    Dim ZeilenIndex As Long
    Dim ArrQuelle As Variant
    With Worksheets(2)
        ArrQuelle = .Range("A2:B" & ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row)
    End With
    With Worksheets(1)
        For ZeilenIndex = LBound(ArrQuelle, 1) To UBound(ArrQuelle, 1)
            If ArrQuelle(ZeilenIndex, 1) = .Cells(1, 2) Then
                .Cells(1, 2) = ArrQuelle(ZeilenIndex, 2)
                Exit For
            End If
        Next ZeilenIndex
    End With
End Sub  

Antwort 5 von nighty vom 03.06.2022, 12:18 Options

hi bark ^^

beschreibung :-))

tab 1 spalte b zeile 1 deine eingabe des kuerzel
tab 2 spalte a kuerzel,ab zeile 2/koennte ausgeblendet sein
tab 2 spalte b name,ab zeile 2/koennte ausgeblendet sein

gruss nighty

Antwort 6 von nighty vom 03.06.2022, 12:25 Options

hi all ^^

ActiveSheet muss noch gelöscht werden

gruss nighty

Ähnliche Themen

Excel Problem mit Zahlen
AM69  24.03.2009 - 132 Hits - 1 Antwort

Excel Wenn dann Problem
Lukyduke1  30.05.2009 - 188 Hits - 4 Antworten

Problem bei Excel Formel
Anubis01  10.06.2009 - 212 Hits - 6 Antworten

Excel Problem bei Überstundenberechnung
kuefra  23.07.2009 - 465 Hits - 18 Antworten

Excel: Problem mit Summe
Soeren  13.10.2009 - 396 Hits - 7 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 11:26:25 2026