Clever-Excel-Forum

Normale Version: Suchfeld mit Textfenster in eine Dynamische Tabelle erstellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4 5 6 7 8 9
Hallo Schauan

wie integriere ich das in diesen Code richtig


Code:
Private Sub CommandButton1_Click()
Dim xSuche, xAdresse, xErste As String
Dim y As Boolean
Dim arr() As Variant
Dim rng As Range
Dim iCounter, iRowU As Integer
ListBox1.Clear
xSuche = TextBox1.Value
If xSuche = "" Then
    MsgBox "Bitte erst einen Suchbegriff eingeben!", vbExclamation, "Achtung!"
    Exit Sub
End If
If ComboBox1.Value = "" And CheckBox2.Value = False Then
    MsgBox "Bitte geben Sie ein, wo der Begriff gesucht werden soll!", vbExclamation, "Achtung!"
    Exit Sub
End If
For iCounter = 1 To ThisWorkbook.Sheets.Count
    If CheckBox2.Value = True Or Worksheets(iCounter).Name = ComboBox1.Value Then
        Set rng = Worksheets(iCounter).Cells.Find _
            (xSuche, lookat:=Suchart, LookIn:=xlValues)
        If Not rng Is Nothing Then
            With Worksheets(iCounter)
                xErste = rng.Address(False, False)
                y = True
                Do Until xAdresse = xErste
                    ReDim Preserve arr(0 To 50, 0 To iRowU)
                    arr(0, iRowU) = .Name
                    arr(1, iRowU) = rng.Address(False, False)
                    arr(2, iRowU) = .Cells(rng.Row, 4)
                    arr(3, iRowU) = .Cells(rng.Row, 8)
                    arr(4, iRowU) = .Cells(rng.Row, 11)
                    arr(5, iRowU) = .Cells(rng.Row, 18)
                    arr(6, iRowU) = .Cells(rng.Row, 19)
                    arr(7, iRowU) = .Cells(rng.Row, 20)
                    arr(8, iRowU) = .Cells(rng.Row, 44)
                    arr(9, iRowU) = .Cells(rng.Row, 45)
                    arr(10, iRowU) = .Cells(rng.Row, 46)
                    arr(11, iRowU) = .Cells(rng.Row, 47)
                    arr(12, iRowU) = .Cells(rng.Row, 48)
                    arr(13, iRowU) = .Cells(rng.Row, 49)
                    arr(14, iRowU) = .Cells(rng.Row, 50)
                    iRowU = iRowU + 1
                    Set rng = .Cells.FindNext(after:=rng)
                    xAdresse = rng.Address(False, False)
                Loop
                xAdresse = ""
                xErste = ""
            End With
        End If
    End If
Next iCounter
If y = False Then
    MsgBox "Der Suchbegriff wurde nicht gefunden!"
Else
    ListBox1.Column = arr
End If
End Sub


und suche mus ich von in A bis AX

Danke vor ab.
Wo habe ich jetzt den Fehler?

Sub WerteSubtrahieren()
Dim singWert As Single
With Sheets("Tabelle1")
sngWert = .Range("S16:S100").Value
sngWert = sngWert - .Range("AW16:AW100").Value
.Range("S16:S100").Value = sngWert
End With
End Sub

Ich bekomme folgenden Fehler:

[
Bild bitte so als Datei hochladen: Klick mich!
]

ich möchte das einfach spalte S16-SpalteAW16 rechnet
Hallöchen,

du erzeugst ein Array mit den Werten eines Bereichs und ziehst dann einen Bereich ab. Ich denke, so geht das nicht.

Zeichne doch mal den code folgender Aktionen uf:

AW16:AW100 markieren
Kopieren
S16:S100 markieren
Inhalte einfügen
Subtrahieren
Hallo Schauan,

Vielen Dank, das Problem habe ich schon bereits selber gelöst.
Kannst du mir bitte beim anderen Thema helfen.

ich kann die Schleife nicht richtig in Program integrieren.

Vielen Dank vor ab
Hallöchen,

bei Deiner Suche sieht es dann so aus:

Code:
For iCnt = 1 To 4
        Set rng = Worksheets(iCounter).Rows(iCnt).Find _
            (xSuche, after:=Rows(iCnt).Cells(1, 1), lookat:=Suchart, LookIn:=xlValues)

und weiter unten dann das Next vor dem End If:

Code:
End With
        End If
      Next iCnt
    End If
Next iCounter

icnt musst Du natürlich noch dimensionieren, Dim iCnt% könnte reichen, und beim For die Zeilenzahlen anpassen.
Danke jetzt kommt aber Fehler Meldung "End if ohne if-Block"
Hallöchen,

zeig mal bitte den geänderten code.
hier:

Code:
Dim xSuche, xAdresse, xErste As String
Dim y As Boolean
Dim arr() As Variant
Dim rng As Range
Dim iCounter, iRowU As Integer
Dim iCnt%

ListBox1.Clear
xSuche = TextBox1.Value
If xSuche = "" Then
   MsgBox "Bitte erst einen Suchbegriff eingeben!", vbExclamation, "Achtung!"
   Exit Sub
End If
If ComboBox1.Value = "" And CheckBox2.Value = False Then
   MsgBox "Bitte geben Sie ein, wo der Begriff gesucht werden soll!", vbExclamation, "Achtung!"
   Exit Sub
End If
For iCnt = 1 To 51
       Set rng = Worksheets(iCounter).Rows(iCnt).Find _
           (xSuche, after:=Rows(iCnt).Cells(1, 25000), lookat:=Suchart, LookIn:=xlValues)
       If Not rng Is Nothing Then
           With Worksheets(iCounter)
               xErste = rng.Address(False, False)
               y = True
               Do Until xAdresse = xErste
                   ReDim Preserve arr(0 To 52, 0 To iRowU)
                   arr(0, iRowU) = .Name
                   arr(1, iRowU) = rng.Address(False, False)
                   arr(2, iRowU) = .Cells(rng.Row, 4)
                   arr(3, iRowU) = .Cells(rng.Row, 8)
                   arr(4, iRowU) = .Cells(rng.Row, 11)
                   arr(5, iRowU) = .Cells(rng.Row, 18)
                   arr(6, iRowU) = .Cells(rng.Row, 19)
                   arr(7, iRowU) = .Cells(rng.Row, 20)
                   arr(8, iRowU) = .Cells(rng.Row, 44)
                   arr(9, iRowU) = .Cells(rng.Row, 45)
                   arr(10, iRowU) = .Cells(rng.Row, 46)
                   arr(11, iRowU) = .Cells(rng.Row, 47)
                   arr(12, iRowU) = .Cells(rng.Row, 48)
                   arr(13, iRowU) = .Cells(rng.Row, 49)
                   arr(14, iRowU) = .Cells(rng.Row, 50)
                   arr(15, iRowU) = .Cells(rng.Row, 51)
                   iRowU = iRowU + 1
                   Set rng = .Cells.FindNext(after:=rng)
                   xAdresse = rng.Address(False, False)
               Loop
               xAdresse = ""
               xErste = ""
           End With
       End If
       Next iCnt
   End If
Next iCounter
If y = False Then
   MsgBox "Der Suchbegriff wurde nicht gefunden!"
Else
   ListBox1.Column = arr
End If
End Sub
Hallöchen,
Du hast 2 Zeilen von Dir rausgeschmissen, Dein For und das If danach. Mein For komm über die Zeile mit find und unter dein if
Seiten: 1 2 3 4 5 6 7 8 9