Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1144to1148
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Formeln in Zellen durch VBA ersetzen

Formeln in Zellen durch VBA ersetzen
Kuhlmey
Hallo, liebe Excel-Freunde ich habe folgendes Problem:
Mittels VBA setzte ich durch Doppelclick ein „X“ in bestimmte Zellen. Diese Zellen werden
ausgelesen und für nachfolgende Formel benötigt:
{=WENN(ZEILE()>ZÄHLENWENN(Tabelle1!A:A;"WAHR");"";INDEX(Tabelle1!B:B; KKLEINSTE(WENN(Tabelle1!A:A; ZEILE($1:$300));ZEILE()))) }
Diese Formel habe ich in insgesamt 300 Zellen einer Spalte kopiert. Das hat zur Folge, dass jetzt
offensichtlich die Rechenleistung so beansprucht wird, dass es bei jedem Doppelclick ca. 3 Sekunden dauert, bis das „X“ gesetzt ist.
Meine Frage nun: Kann man das mit VBA besser lösen, hilft es bei der Arbeitsgeschwindigkeit und wenn ja, wie lautet dann die VBA-Lösung ?
Vielen Dank schon jetzt
Gruss Mario
AW: Formeln in Zellen durch VBA ersetzen
13.03.2010 14:03:05
Josef

Hallo Mario,
da wäre eine Beispieldatei hilfreich.

Gruß Sepp

AW: Formeln in Zellen durch VBA ersetzen
13.03.2010 14:06:52
Kuhlmey
Hallo Sepp,
nun ja, ich weiss nicht, wie du das meinst. Ist eine Beispieldatei meine konkrete Arbeitsmappe?
Wenn ja, wie gelangt die zu dir?
AW: Formeln in Zellen durch VBA ersetzen
13.03.2010 14:10:01
Josef

Hallo Mario,
über dem Antwortfeld befindet sich rechts der Link Hier gehts zum File-Upload , Datei auswählen > [Datei zum Server] > Linktext kopieren > zurück zum Antwortfenster und den Link einfügen.

Gruß Sepp

Anzeige
AW: Formeln in Zellen durch VBA ersetzen
13.03.2010 14:16:46
Kuhlmey
tut mir leid, mir wird gemeldet, mein Dateiformat kann nicht geladen werden. Meine Datei ist aber ne Excel-Datei (*.xls)
AW: Formeln in Zellen durch VBA ersetzen
13.03.2010 14:17:58
Josef

Hallo Mario,
die Datei darf nur ungefähr 300 kb groß sein und der Pfad darf nicht zu tief sein und keine Leerzeichen enthalten.

Gruß Sepp

AW: Formeln in Zellen durch VBA ersetzen
13.03.2010 14:22:22
Dirk
und denk daran das er hier regestriert sein muss
Anzeige
AW: Formeln in Zellen durch VBA ersetzen
13.03.2010 14:25:57
Kuhlmey

Die Datei https://www.herber.de/bbs/user/68542.xls wurde aus Datenschutzgründen gelöscht


AW: Formeln in Zellen durch VBA ersetzen
13.03.2010 14:51:36
Josef

Hallo Mario,
ohne Formeln.
Nur über die Ausgabe war ich mir nicht ganz klar.
https://www.herber.de/bbs/user/68544.xls

Gruß Sepp

Anzeige
AW: Formeln in Zellen durch VBA ersetzen
13.03.2010 18:46:25
Kuhlmey
Hallo Sepp,
es ist erstaunlich, per VBA arbeitet der Rechner tatsächlich schnell weiter. Die Ausgabe soll als eine
Liste zum ausdrucken und abhacken gemacht werden. Also alles in einer Spalte. Ich versuche mal, es aus
deinem VBA-Code zu ändern. Viel verstehe ich nämlich von VBA nicht.
Ich danke dir aber für deine Mühe. Du hast mir sehr geholfen.
Viele Grüsse
Mario
AW: Formeln in Zellen durch VBA ersetzen
13.03.2010 19:00:55
Kuhlmey
Tut mir leid Sepp,
kannst du mir noch ein wenig helfen ? Ich kann kein VBA und daher nur vielleicht ein paar Zeichen ändern.
Kannst Du die Druckliste noch so ändern, dass alle mit dem X gekennzeichneten Daten in einer Spalte nach unten aufgelistet werden ? Jetzt sind es ja 5 Spalten und ein Wert bleibt in jeder Spalte immer stehen, obgleich kein X gesetzt ist.
Ich danke dir dafür.
Gruss Mario
Anzeige
AW: Formeln in Zellen durch VBA ersetzen
13.03.2010 20:53:58
Josef

Hallo Mario,
ersetze den Code durch den folgenden.

' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Dim vntValues As Variant, vntResult As Variant
  Dim lngIndex As Long, lngMax As Long, lngC As Long, lngNext As Long, lngCol As Long
  
  lngNext = 1
  
  With Target
    Select Case .Column
      Case 5, 10, 15, 20, 25, 30
        Cancel = True
        Sheets("Druckliste").Columns(2) = ""
        If .Value <> "" Then .Offset(0, 2) = IIf(LCase(Target.Offset(0, 2)) <> "x", "X", "")
        For lngCol = 5 To 30 Step 5
          vntValues = Range(Cells(3, lngCol), Cells(48, lngCol + 2))
          lngMax = Application.CountIf(Range(Cells(3, lngCol + 2), Cells(48, lngCol + 2)), "X")
          If lngMax > 0 Then
            Redim vntResult(1 To lngMax, 1 To 1)
            lngC = 0
            For lngIndex = 1 To UBound(vntValues, 1)
              If vntValues(lngIndex, 1) <> "" And vntValues(lngIndex, 3) = "X" Then
                lngC = lngC + 1
                vntResult(lngC, 1) = vntValues(lngIndex, 1)
              End If
            Next
            Sheets("Druckliste").Cells(lngNext, 2).Resize(lngMax, 1) = vntResult
            lngNext = lngNext + lngMax
          End If
        Next
      Case Else
    End Select
  End With
  
End Sub

Gruß Sepp

Anzeige
AW: Formeln in Zellen durch VBA ersetzen
14.03.2010 12:46:05
Kuhlmey
Hallo Sepp, vielen Dank dafür
jetzt klappt es wunderbar, du hast mir sehr geholfen.
Viele Grüsse
Mario
AW: Formeln in Zellen durch VBA ersetzen
14.03.2010 17:07:52
Kuhlmey
Hallo Sepp,
als Dankeschön möchte ich dir mal ein von mir erstelltes Arbeitsblatt "Lotto" senden. Die Datei ist allerdings 1,6 MB gross, daher geht das wohl nur per Mail. Ich brauche also deine Mail-Adresse dazu.
Das habe ich mal in meiner Freizeit gebastelt. Obwohl ich kein VBA-Kenner bin, kann man so etwas mit eurer Hilfe schaffen.
Würde mich freuen, wenn du mir mal dein Urteil dazu abgibst.
Bis dahin
Gruss Mario
AW: Formeln in Zellen durch VBA ersetzen
13.03.2010 14:08:53
Dirk
schon mal darüber nachgedacht einfach die automatische neuberechnugn von excel auszuschalten
alle häckchen zu setzten und dann excel erst neu rechnen zu lassen?
Anzeige
AW: Formeln in Zellen durch VBA ersetzen
13.03.2010 14:17:53
Kuhlmey
Hallo Dirk,
bestimmt ne gute Idee. Nur kurze Frage noch, wie schalte ich die aus ?
AW: Formeln in Zellen durch VBA ersetzen
13.03.2010 14:20:29
Dirk
Extas/Optionen
da auf den Reiter Berechnung und gewünschte einstellung vornehemen
AW: Formeln in Zellen durch VBA ersetzen
13.03.2010 14:21:10
Kuhlmey
Ich habs gefunden, klappt gut. Danke

388 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige