Hirdetés

2024. április 20., szombat

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Visual Basic

Hozzászólások

(#3151) sztanozs válasza szkristof05 (#3149) üzenetére


sztanozs
veterán

Mivel a sávszélessség kevés (vsz szerver oldalon), így a nagyobb cache mérettel sem lehet megoldani a problémát. Csak annyi lenne az eremény, hogy nem 4 mp-ként "csatlakozna újra" 3 mp-ig, hanem pl 10 mp-enként 6 mp-ig nem lenne adás.

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#3152) tintoretto


tintoretto
csendes tag

Sziasztok.
Segítségre lenne szükségem Excel 2013-hoz.
Van egy 28*28-as (azaz 784 elemű) táblázatom, aminek minden
celláját át kellene szerkesztenem. Ilyesmit tartalmaz minden cella, hogy:
"=HA(ÉS(T!$AZ$4="";T!$BB$4="";T!$BA$4=":");(HOL.VAN($O$2;'S'!$B$5:$B$31;0)+1)/2;"")".
Természetesen mindegyik más cellahivatkozásokkal, egy részük kitölthető lenne, egy részük nem. Szóval az az út nem ezért sem járható, meg az abszolút hivatkozások miatt sem.
Az lenne a művelet, hogy minden cellatartalom függvényben az 1. és a 2. egyenlőségjelet <> jelekre szeretném átírni.Akár úgy is jó, hogy manuálisan pozicionálom a kurzort és makró futtatás, majd újra pozicionálom a kurzort, újra futtatás, és így tovább.
Arra gondoltam, hogy talán egy makróval meg lehetne oldani (de a VBA-t sajnos nem ismerem)
Tudna valaki segíteni?

(#3153) Fire/SOUL/CD válasza tintoretto (#3152) üzenetére


Fire/SOUL/CD
félisten

Sima Keresés és csere opcióval is kivitelezhető.
# CTRL+H
# Keresett szöveg: ="" (macskakörmök közt nincs szóköz)
# Csere erre: <>"" (macskakörmök közt nincs szóköz)
# Listába mind
# CTRL+A
# Az összes cseréje
Arra ügyelj, ha azon a 28*28 cellamátrixon kívül is vannak képletet tartalmazó cellák és azokban is megtalálható az ="", akkor azokban is le fog így cserélődni ez esetben. Ilyenkor annyit lehet tenni, hogy a Listába mind után a listaelemek közül kitörlöd azokat, amelyek nem a 28*28 tartományba esnek. Egy vagy több listaelemet is ki lehet jelölni és DEL-el kitörölni a listából. Ha ez megvan, csak ezt követően lehet az Összes cseréjére menni...

Mindez képben | Eredménye

A Te eredeti képleteden csak annyit módosítottam, hogy a külső táblahivatkozásokat kiszedtem belőle, ezért üresek azok a cellák, amikben amúgy a képletek találhatóak....

Ui: Legközelebb a Microsoft Excel topic-ban tegyél fel ilyen jellegű kérdést.
Segítőkész és jó koponyák vannak ott, ha szükséges, akkor a VBA kódban is kaphatsz segítséget. :K

[ Szerkesztve ]

Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)

(#3154) tintoretto


tintoretto
csendes tag

Köszönöm a segítséget!

(Egyszerű gyerekként :) azt hittem, jó helyen járok.)
Jó lesz ez makro nélkül is nekem! :DD

(#3155) sztanozs válasza tintoretto (#3154) üzenetére


sztanozs
veterán

Jó helyen jártál, csak ehhez nem kell makró.

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#3156) dettyjoe


dettyjoe
friss újonc

Sziasztok,
Mindenekelőtt valamennyiötöknek eredményekben gazdag, boldog újesztendőt kívánok.
Soha nem írtam még fórumra, de most elakadtam. Abban szeretnék segítséget kérni, hogy egy gombbal (Command Button) hogyan lehet egy ciklust leállítani, majd ugyanazzal a gombbal úfolytatni a ciklust. Mindezt Visual Basic-ban képzeltem el.
Ha valaki segítene, azt nagyon megköszönném.
Szervusztok,
JoePapa

(#3157) sztanozs válasza dettyjoe (#3156) üzenetére


sztanozs
veterán

VB6, VBA vagy VB.NET (esetleg vbscript)?

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#3158) Hege1234


Hege1234
addikt

Sziasztok! (windows 10)

egy .vbs fájlt szeretnék indítani a windows-al együtt amit egy paranccsal
be is tesz a startup mappába (a hibaüzenet ellenére a fájl ott van)
(trakts autostart enable létrehozza a .vbs fájlt)
trakt-scrobbler.vbs
CreateObject("Wscript.Shell").Run "trakts run", 0, False

ezt a hibaüzenetet kapom

Trakt Scrobbler github link

simán a trakts run-t beírva a cmd ablakba hibátlanul működik
de ugye ilyenkor háttérbe futtatja, gondolom mert semmire nem reagál csak villog a kurzor
és egy másik cmd ot futtatva látom, hogy aktív a státusz és ha indítok valamit akkor már szinkronizálja is a trakt-al

próbáltam azt is, hogy egy .bat fájlba beírom csak a "trakts run" -t és feladatütemezésnél hozzáadom, hogy rejtettként fusson minden bejelentkezésnél de az sem működött mert a trakts status -ra
The scrobbler is not running üzenet jött

lehet ez inkább windows-os hiba lesz
vagy a vbs-ben lévő sor hibás?

köszi előre is!

(#3159) lenkei83


lenkei83
tag

Sziasztok!

Mi lehet a kód mögötte? [link]

Ez részben működik:     Public Function rgb_colorincell(Red As Integer, Green As Integer, Blue As Integer) As Long
    
    ActiveCell.Interior.Color = rgb(Red, Green, Blue)
    
    End Function


Itt csak annyi a baj, hogy ha lehúzom a képletet több cellára, akkor viszont nem működik. Minden egyes cellába kézzel kell betolni a képletet.

Köszi
P.

(#3160) sztanozs válasza lenkei83 (#3159) üzenetére


sztanozs
veterán

Mert ez csak az 'activecell'-re működik (az a cella, ami ki van jelölve).
Ráadásul alapból egy UDF (User Defined Function) nem módosíthatja azt a cellát, ami meghívta, szóval csak trükközéssel működik.

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#3161) lenkei83 válasza sztanozs (#3160) üzenetére


lenkei83
tag

Szia!

Közben az Excel fórumban kitárgyaltuk, feltöltöttem ide a táblát: [https://1drv.ms/x/s!Ans3TmRiC9RGhaMx1z_INz4zg7X91Q?e=lSc26r]

(#3162) Diopapa


Diopapa
addikt

Sziasztok, egy kis segítség kellene... Van 2 formom, nevezzük az egyiket Egyesnek, a másikat Kettesnek. Az Egyes fő formon deklarálva van egy public változó. Erről a formról van meghívva egy backgroundworker. Ez a BGW a Kettes formon levő függvényt használ. Ezen a Kettes formon levő függvényben az Egyes formon levő public változó tartalmát "nothing"-nek látja. Ugyanezen függvény használata nem BGW-vel természetesen a változó valós értékét mutatja.

Mit rontok el? Válaszaitokat előre is köszönöm!

Citizen Diopapa / Commander Diopapa "SC csomag olyan, mint a barackfa, unokáidnak veszed - .tnm / De pálinkát nemlehet főzni belűle - *SkyS1gn"

(#3163) sztanozs válasza Diopapa (#3162) üzenetére


sztanozs
veterán

Nem adod át a kettes formnak az egyes form létrehozott objektumának a referenciáját.
Ha esetleg Static változó lenne, akkor erre nem lenne szükség, de ez nem egy szép megoldás.

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#3164) pmonitor válasza Diopapa (#3162) üzenetére


pmonitor
aktív tag

Ha egyik formból szeretnél hozzáférni egy másik form metódusához/változójához, az általában rossz program szerkezetre utal. Vb.Net-ben meg tudod oldani, hogy az ilyeneket modulban valósítod meg.

@sztanozs: Meg ha átadná, akkor sem fér hozzá egy control-hoz a DoWork()-ban. Csoda, hogy egyáltalán nem száll el a futásidőben.

http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php

(#3165) sztanozs válasza pmonitor (#3164) üzenetére


sztanozs
veterán

Nem egy kontrolhoz akar hozzáférni (amit amúgy kézzel lehet publikusnak is deklarálni, csak az IDE rakja alapból Private-ba) - ha elolvastad volna a kérdést -, hanem egy publikus változóhoz.

Amúgy tervezésileg tényleg katyvasz, hogy egy BGW egy másik formon levő függvényt használ, de egy változóhoz vagy függvényhez való hozzáférés nem gond.

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#3166) pmonitor válasza sztanozs (#3165) üzenetére


pmonitor
aktív tag

Miért? A Form nem Control?

szerk.:
Valahogy így lehet ezt megcsinálni:
Imports System.Threading
Public Class Form1

Public variable As Integer

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
BackgroundWorker1.RunWorkerAsync(Me)
Timer1.Start()
End Sub


Sub Update()
Text = variable
End Sub

Private Sub BackgroundWorker1_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
Dim frm As Form1 = e.Argument
For i = 1 To 100
If (frm.InvokeRequired) Then frm.Invoke(New MethodInvoker(AddressOf Update), Nothing)
Thread.Sleep(1000)
Next
End Sub

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
variable += 1
End Sub
End Class

[ Szerkesztve ]

http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php

(#3167) sztanozs válasza pmonitor (#3166) üzenetére


sztanozs
veterán

Igen, de a Formnak nem a UI Thread által piszkált részében akar bármit is csinálni.

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#3168) pmonitor válasza sztanozs (#3167) üzenetére


pmonitor
aktív tag

Igaz. De akkor meg kérdés, hogy BGW nélkül hogy olvassa ki? És még jól is működik Neki.

http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php

(#3169) sztanozs válasza pmonitor (#3168) üzenetére


sztanozs
veterán

Úgy működött gondolom, hogy a F2 függvénye vagy statikus volt, vagy magát az F2-t a BGW-ben példányosította (pl mint egy progress form).

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#3170) Diopapa


Diopapa
addikt

Köszi, hogy gondolkodtatok rajta, közben megoldottam. Public volt a változó, eddig ezzel nem volt gond ebben a formában csak most a BGW miatt. Most Public Shared lett és egyből átadta az egyik változó az értéket a másiknak.

Köszi mégegyszer.

Citizen Diopapa / Commander Diopapa "SC csomag olyan, mint a barackfa, unokáidnak veszed - .tnm / De pálinkát nemlehet főzni belűle - *SkyS1gn"

(#3171) sztanozs válasza Diopapa (#3170) üzenetére


sztanozs
veterán

Ez milyen VB egyébként? VBA (Office), VB6 vagy VB.NET?

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#3172) pmonitor válasza sztanozs (#3171) üzenetére


pmonitor
aktív tag

Tuti, hogy .Net.

http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php

(#3173) Vladek83


Vladek83
tag

Sziasztok!

a következő kód nem azt csinálja, amit szeretnék, 2 tizedesig kellene, hogy számoljon, de sajnos kerekít.:

TextBox1.Text = Format(Val(TextBox1.Text), "0.00")

Turtam a netet, de eddig semmi..?

Üdv,

(#3174) sztanozs válasza Vladek83 (#3173) üzenetére


sztanozs
veterán

Ez csak két tizedesre formálja a kiíratást, ténylegesen nem kerekíti két tizedesre.

Szerintem:
TextBox1.Text = Format(Int(100*Val(TextBox1.Text))/100, "0.00")

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#3175) Vladek83 válasza sztanozs (#3174) üzenetére


Vladek83
tag

Szia,

ezt találtam, ez most működik:

Dim aNumber As Double = TextBox1.Text
      TextBox1.Text = aNumber.ToString("n2")

[köszönöm] kipróbálom :R

(#3176) zakoss


zakoss
tag

Sziasztok,

Abban szeretnék segítséget kérni, hogy van-e valakinek olyan működő scriptje ami outlookban a kijelölt levelek mellékletek,csatolmányait (.docx, .pdf) kinyomtatja ha meghívom a makrót hozzá.

Találtam hozzá oldalakat amiken kis átalakítást kellett hozzátenni, hogy működő legyen, viszont az alapértelmezett nyomtatóra nem küldi ki pl: Print Attachments on Selected Messages

Előre is köszi a segítsgéget.

(#3177) bszilvagyi


bszilvagyi
csendes tag

Sziasztok!
Esetleg valaki foglalkozott már VB6 alatt webkamera kezeléssel? Elavult dolog, az egyszer biztos, de sajnos a célgép ennyit tesz lehetővé.

Jelenleg az avicap32-vel működik a dolog, viszont a 640x480-as limit elég kevés, a kamera HD-t is tud.
A program maga annyi, hogy egy gomb megnyomására az éppen látható képből elment egyet egy adott helyre.

Olvastam, hogy DirectShow-val is meg lehetne oldani a dolgot, ha bárki tud valami érdemi dolgot hozzáfűzni, megköszönném. :R

(#3178) sztanozs válasza bszilvagyi (#3177) üzenetére


sztanozs
veterán

https://www.vbforums.com/showthread.php?708081-VB6-DirectShow-WebCam-Minimal-Code

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#3179) Dian


Dian
friss újonc

Sziasztok,
Nem tudom tud e vki segíteni nekem. Lenne egy megoldandóm, viszont sem a VBA-hoz sem a makrokhoz nem értek, így csak reménykedni tudok, hogy lesz vkinek egy kész megoldása.
Köszönöm szépen előre

Egy több lapból álló excel egyik lapfüléből (legyen ez védett 1) folyamatosan gyűjteni kellene, egy másik lapra automatikusan, hogy mikor, kicsoda, mit, miről, mire módosított. És nyilván ne lehessen kitörölni ezt a fület.
A védett 1 lapfül, ahol módosítani lehet és ezt követni is szeretnénk, ott bizonyos oszlopokba csak bizonyos személyek írhatnak, de ezt egyszerű excel megoldással meg lehetett csinálni.

(#3180) sztanozs válasza Dian (#3179) üzenetére


sztanozs
veterán

A worksheet_change eseményre kell feliratkozni és ott felvinni az eseményt egy új lapra...

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#3181) Sátán44


Sátán44
addikt

Van egy excel táblázatom, amiben elhelyeztem egy Combox-ot. Amikor lenyitom a legördülő menüt üres a táblázat egészen addig, amíg egy karaktert nem írok be. Utána működik a találati lista szűrése.
Szeretném, ha a táblázat megnyitást követően a legördülő gombra kattintva látható legyen az AL oszlopban feltöltött szöveg listám, majd ezután gépelve szűkítse a találatokat. Ez hogy oldható meg?

Kód:

Option Explicit
Private Comb_Arrow As Boolean

Private Sub ComboBox1_Change()
Dim i As Long
        If Not Comb_Arrow Then
        With Me.ComboBox1
            .List = Worksheets("szerepkorok").Range("AL4", Worksheets("szerepkorok").Cells(Rows.Count, "AL").End(xlUp)).Value
            .ListRows = Application.WorksheetFunction.Min(6, .ListCount)
            .DropDown
               If Len(.Text) Then
                    For i = .ListCount - 1 To 0 Step -1
                       If InStr(1, .List(i), .Text, vbTextCompare) = 0 Then .RemoveItem i
                         Next
                          .DropDown
                           End If
         End With
         End If
 End Sub
 
 Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    Comb_Arrow = (KeyCode = vbKeyUp) Or (KeyCode = vbKeyDown)
    If KeyCode = vbKeyReturn Then Me.ComboBox1.List = Worksheets("szerepkorok").Range _
    ("AL4", Worksheets("szerepkorok").Cells(Rows.Count, "AL").End(xlUp)).Value
End Sub

Kis bohóccal is lehet nagy cirkuszt csinálni... :-)

(#3182) Postas99 válasza Sátán44 (#3181) üzenetére


Postas99
senior tag

Szia!

Csak egy combobox vagy FORM-on levő combobox?

(#3183) Postas99 válasza Postas99 (#3182) üzenetére


Postas99
senior tag

A gond azzal van, hogy nem az excel megnyitásra teszed be a combobox populate opciót, hanem a combobox.change opcióra.
Használd ezt:

Sub Workbook_Open()
'ide tedd a kododat
Dim i As Long
        If Not Comb_Arrow Then
        With Me.ComboBox1
            .List = Worksheets("szerepkorok").Range("AL4", Worksheets("szerepkorok").Cells(Rows.Count, "AL").End(xlUp)).Value
            .ListRows = Application.WorksheetFunction.Min(6, .ListCount)
            .DropDown
               If Len(.Text) Then
                    For i = .ListCount - 1 To 0 Step -1
                       If InStr(1, .List(i), .Text, vbTextCompare) = 0 Then .RemoveItem i
                         Next
                          .DropDown
                           End If
         End With
         End If

End Sub

(#3184) F1DO


F1DO
senior tag

Sziasztok!

Excel VB kód - annyit tesz hogy vár egy keresési értéket - ehhez megnyilik egy beviteli mező. A keresési érték beadásakor indul a keresés, annyi kellene, hogy jelenítsen meg egy üzenetet 2 másodpercre ha megtalálta és akkor is ha nem .

messagebox-al, popup-al próbálkoztam, de mindig ott az OK gomb és ameddig arra nem nyomok rá nem lép tovább a kód.

MsgBox "A keresett érték (" & SearchValue & ") nem található, üres sorba felvétele megtörtént.", vbExclamation + vbSystemModal, "Keresés eredménye"

+ itt az adott VB kódrészlet végén ez a késleltetés is szerepel
Application.Wait (Now + TimeValue("0:00:02"))

illetve:

CreateObject("WScript.Shell").PopUp "A keresett érték (" & SearchValue & ") nem található, üres sorba felvétele megtörtént.", 2

Megjelennek ezek révén az üzenetek, csak ott az OK gomb is ami nem kéne.

(#3185) Delila_1 válasza F1DO (#3184) üzenetére


Delila_1
veterán

Msgbox helyett egy alakzatot jeleníts meg szöveggel, majd 2 mp után töröld.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#3186) F1DO válasza Delila_1 (#3185) üzenetére


F1DO
senior tag

Beletettem ezt, de nem jelenik meg semmi, csak a várakozási idő

Set InfoShape = ws.Shapes.AddTextbox(Orientation:=1, Left:=100, Top:=100, Width:=200, Height:=50)
InfoShape.TextFrame.Characters.Text = "A keresett érték (" & SearchValue & ") megtalálva."

' Várakozás 2 másodpercig
Application.Wait (Now + TimeValue("0:00:02"))

' Alakzat törlése
InfoShape.Delete

(#3187) Postas99 válasza F1DO (#3186) üzenetére


Postas99
senior tag

A megoldás amit kerestél:

Sub MessageBoxTimer()
Dim AckTime As Integer, InfoBox As Object
Set InfoBox = CreateObject("WScript.Shell")
'Set the message box to close after 10 seconds
AckTime = 10
Select Case InfoBox.Popup("Click OK (this window closes automatically after 10 seconds).", _
AckTime, "This is your Message Box", 0)
Case 1, -1
Exit Sub
End Select
End Sub

(#3188) simongnxs


simongnxs
friss újonc

Sziasztok,
kérném a segítségeteket!
Írtam egy makrót, de nem működik.
Szeretnék egy olyan programot, ami:
megnyitja a kijelölt grafikon adattábláját
megnyitja az Adat1 szerkesztését
változtatja meg az adatok értékei képletét eggyel nagyobb sorszámúra például így: =adatok_havi!$J$7:$AS$7 - ból legyen =adatok_havi!$J$8:$AS$8
az oszlop értéke maradjon az eredeti, csak a sor értéke legyen eggyel nagyobb.
aztán beleklikkel a diagramm címébe
és ott is eggyel nagyobb számra cseréli a sor számát.

Sajnos, amit a makorrögzítéssel csinálok, az nem hozza az eredményt, illetve a chatgpt 3.5 is csupa olyan kódot generál, ami nem működik.
Tudom, hogy az Ember okosabb az AI-nél :)
Segítsetek, kérlek!



(#3189) Amiens válasza simongnxs (#3188) üzenetére


Amiens
tag

Szia!

Az adattartományt formázd táblázatba, gyorsabb és egyszerűbb; utána automatikus a grafikon vizualizációja is!

Jobban jársz!

iPhone 11 Pro / LG G6 / Lumia 950 / Nokia E72

(#3190) Vladek83


Vladek83
tag

Sziasztok,

vb.net-ben van egy alkalmazásom.
Webview2-ben nyílik meg egy Onedrive táblázat.
Amit szeretnék elérni:
A táblázat egyik cellájába klikkelek, akkor azt adja vissza egy TextBox-ba vagy még ami jobb lenne DataGridView-ben, ezekre nem találtam eddig megoldást..
Ha valakinek lenne ötlete/javaslata szívesen venném..

Üdv,

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Visual Basic
Copyright © 2000-2024 PROHARDVER Informatikai Kft.